@loxia-labs/loxia-autopilot-one 1.0.14 → 1.0.15

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 (123) 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/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CR8edPA3.js +348 -0
  121. package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
  122. package/web-ui/build/static/index-DXN850Y2.js +0 -400
  123. package/web-ui/build/static/index-an-YRzUX.css +0 -1
@@ -1 +1 @@
1
- const a0_0x4615ed=a0_0xb485;function a0_0xb2fc(){const _0x6d4af4=['C3vTBwfYEvbYB21WDfrLBxbSyxrL','DxnLCG','AM9PBG','mtG1ndm1nK9Rt1jIwG','y29TCgfJDgvKvg9Rzw5dB3vUDa','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','C2XPy2u','u1vntufssvPbveLptG','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','mJGXmdeYmNn6rNvlCG','x2LKzw50Awz5u2vNBwvUDhm','C3rYyxrLz3K','D2fYBG','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','quDhuKvtu0Lwrq','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','y29TCgfJDgvKtwvZC2fNzxm','ywLtzxj2AwnL','Dg9gAxHLza','mZaWnteWnLjKqw1eCq','CM9Szq','C3LZDgvT','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','zgvIDwC','AxnszxrYEq','ru5ex1nfr01ftLrFuevsq0vovefhrq','Aw5MBW','mteXota4otDqDvvgDxq','C3vTBwfYEq','yMvNAw5UAw5N','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','DhjPBq','zw5K','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','BwLKzgXLu3rHCNrjBMrLEa','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','BwLKzgXL','zMLSDgvY','CMvKDwn0Aw9UugvYy2vUDa','mtjoBvnXrhu','ihvZzxiGBwvZC2fNzxmSia','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','nJu4mZaXnMHXvezfEG','E21PzgrSzv9ZzwDTzw50Fq','C2vWyxjHDg9Y','BM93','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','Bg9Nz2vY','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','AxnbCNjHEq','DgLTzxn0yw1W','qundvvjbveu','x2DLBMvYyxrLu3vTBwfYEq','tufyx1nvtu1buLLFve9lru5t','quDhuKvtu0Lwrv9ftKrFuevsq0vovefhrq','Dg9ju09tDhjPBMC','mtaWnwH4B1vQEq','y29UDgvUDa','ig1LC3nHz2vZ','yxnZAxn0yw50','B3jPz2LUywWGBwvZC2fNzxmG','C2vZC2LVBKLK','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','BwvZC2fNzq','BwLKzgXLrw5Ksw5KzxG','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','mta1otKXmNHgwKfsEG','BgvUz3rO','B3jPz2LUywXuB2TLBKnVDw50','CMvWBgfJzq','zxHLy3v0Aw9UvgLTzq','zMXVB3i','nZe4mfrjEhLjDq','q09nuefdveLptL9nt0rfta','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','qwXSihn1Bw1HCNKGz2vUzxjHDgLVBIbHDhrLBxb0CYbMywLSzwq'];a0_0xb2fc=function(){return _0x6d4af4;};return a0_0xb2fc();}(function(_0x45240c,_0x4951e2){const _0x527d48=a0_0xb485,_0x1a6fdd=_0x45240c();while(!![]){try{const _0xc340b7=parseInt(_0x527d48(0x208))/0x1+-parseInt(_0x527d48(0x1c4))/0x2+-parseInt(_0x527d48(0x1d5))/0x3+parseInt(_0x527d48(0x20e))/0x4*(parseInt(_0x527d48(0x1fe))/0x5)+parseInt(_0x527d48(0x1ed))/0x6*(-parseInt(_0x527d48(0x1cb))/0x7)+parseInt(_0x527d48(0x1f0))/0x8+parseInt(_0x527d48(0x1e0))/0x9;if(_0xc340b7===_0x4951e2)break;else _0x1a6fdd['push'](_0x1a6fdd['shift']());}catch(_0x54b893){_0x1a6fdd['push'](_0x1a6fdd['shift']());}}}(a0_0xb2fc,0xb862d));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';function a0_0xb485(_0x5378d8,_0x360daa){_0x5378d8=_0x5378d8-0x1c3;const _0xb2fc87=a0_0xb2fc();let _0xb485cc=_0xb2fc87[_0x5378d8];if(a0_0xb485['EGBOxk']===undefined){var _0x4875de=function(_0x161516){const _0x214d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b29f0='',_0x17aa7f='';for(let _0xda129b=0x0,_0x492e04,_0x5b6852,_0x1a1da3=0x0;_0x5b6852=_0x161516['charAt'](_0x1a1da3++);~_0x5b6852&&(_0x492e04=_0xda129b%0x4?_0x492e04*0x40+_0x5b6852:_0x5b6852,_0xda129b++%0x4)?_0x5b29f0+=String['fromCharCode'](0xff&_0x492e04>>(-0x2*_0xda129b&0x6)):0x0){_0x5b6852=_0x214d73['indexOf'](_0x5b6852);}for(let _0x1ee9ee=0x0,_0x3220e6=_0x5b29f0['length'];_0x1ee9ee<_0x3220e6;_0x1ee9ee++){_0x17aa7f+='%'+('00'+_0x5b29f0['charCodeAt'](_0x1ee9ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17aa7f);};a0_0xb485['uGfWLi']=_0x4875de,a0_0xb485['Usapjz']={},a0_0xb485['EGBOxk']=!![];}const _0x4d2c4e=_0xb2fc87[0x0],_0x4b456a=_0x5378d8+_0x4d2c4e,_0x22107e=a0_0xb485['Usapjz'][_0x4b456a];return!_0x22107e?(_0xb485cc=a0_0xb485['uGfWLi'](_0xb485cc),a0_0xb485['Usapjz'][_0x4b456a]=_0xb485cc):_0xb485cc=_0x22107e,_0xb485cc;}class ConversationCompactionService{constructor(_0x5b29f0,_0x17aa7f,_0xda129b){const _0x383ec1=a0_0xb485;this['tokenCountingService']=_0x5b29f0,this['aiService']=_0x17aa7f,this[_0x383ec1(0x1f5)]=_0xda129b,this['summaryPromptTemplate']=this['_createSummaryPromptTemplate']();}async['compactConversation'](_0x492e04,_0x5b6852,_0x1a1da3,_0x1ee9ee={}){const _0x9256da=a0_0xb485,_0x3220e6=Date['now']();try{if(!Array[_0x9256da(0x1f7)](_0x492e04)||_0x492e04['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x492e04['length']<COMPACTION_CONFIG[_0x9256da(0x207)])return this[_0x9256da(0x1f5)][_0x9256da(0x1ce)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x492e04[_0x9256da(0x209)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x492e04,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x3f3a99=_0x5b6852!==_0x1a1da3,_0x1c50a1=_0x1ee9ee[_0x9256da(0x1dd)]||![];let _0x274396;if(_0x3f3a99)_0x274396=COMPACTION_STRATEGIES['TRUNCATION'];else _0x1c50a1?_0x274396=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x274396=_0x1ee9ee[_0x9256da(0x1cd)]||COMPACTION_STRATEGIES[_0x9256da(0x1c9)];this['logger']['info'](_0x9256da(0x1f4),{'messageCount':_0x492e04['length'],'currentModel':_0x5b6852,'targetModel':_0x1a1da3,'strategy':_0x274396,'isModelSwitch':_0x3f3a99,'isRetry':_0x1c50a1});let _0xba43fb;switch(_0x274396){case COMPACTION_STRATEGIES[_0x9256da(0x1c9)]:_0xba43fb=await this[_0x9256da(0x1e7)](_0x492e04,_0x5b6852,_0x1ee9ee);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0xba43fb=await this['_compactWithTruncation'](_0x492e04,_0x1a1da3,_0x1ee9ee);break;case COMPACTION_STRATEGIES[_0x9256da(0x1d0)]:_0xba43fb=await this[_0x9256da(0x1c7)](_0x492e04,_0x5b6852,_0x1ee9ee);break;default:throw new Error(_0x9256da(0x1cf)+_0x274396);}const _0x26881e=Date[_0x9256da(0x1f3)]()-_0x3220e6;return _0xba43fb[_0x9256da(0x20c)]=_0x26881e,_0xba43fb[_0x9256da(0x1f8)]=new Date()[_0x9256da(0x1fd)](),this['logger'][_0x9256da(0x1df)]('Compaction\x20completed\x20successfully',{'strategy':_0xba43fb['strategy'],'originalMessages':_0x492e04['length'],'compactedMessages':_0xba43fb[_0x9256da(0x1d2)][_0x9256da(0x209)],'originalTokens':_0xba43fb[_0x9256da(0x20a)],'compactedTokens':_0xba43fb[_0x9256da(0x1c5)],'reductionPercent':_0xba43fb[_0x9256da(0x1ec)][_0x9256da(0x1d4)](0x2),'executionTime':_0x26881e+'ms'}),_0xba43fb;}catch(_0x500dd1){const _0xef015d=Date['now']()-_0x3220e6;this['logger']['error']('Compaction\x20failed',{'error':_0x500dd1[_0x9256da(0x205)],'messageCount':_0x492e04[_0x9256da(0x209)],'currentModel':_0x5b6852,'targetModel':_0x1a1da3,'executionTime':_0xef015d+'ms'});throw _0x500dd1;}}async[a0_0x4615ed(0x1e7)](_0x446f87,_0x2fa8af,_0x1c3179){const _0x24dac2=a0_0x4615ed,_0x3e6de2=COMPACTION_STRATEGIES[_0x24dac2(0x1c9)],_0x4d8705=await this[_0x24dac2(0x1e4)]['estimateConversationTokens'](_0x446f87,_0x2fa8af,TOKEN_COUNTING_MODES['ACCURATE']),_0x1b3381=await this['_identifySegments'](_0x446f87,_0x2fa8af,COMPACTION_CONFIG[_0x24dac2(0x1db)],COMPACTION_CONFIG[_0x24dac2(0x1de)]);this[_0x24dac2(0x1f5)][_0x24dac2(0x1dc)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x1b3381['beginning'][_0x24dac2(0x209)],'middleMessages':_0x1b3381['middle'][_0x24dac2(0x209)],'endMessages':_0x1b3381['end']['length'],'middleStartIndex':_0x1b3381[_0x24dac2(0x1e8)],'middleEndIndex':_0x1b3381['middleEndIndex'],'totalMessages':_0x446f87[_0x24dac2(0x209)]});const _0x10fb09=await this[_0x24dac2(0x1fa)](_0x1b3381[_0x24dac2(0x1ea)],_0x2fa8af,{..._0x1c3179,'middleStartIndex':_0x1b3381[_0x24dac2(0x1e8)],'middleEndIndex':_0x1b3381[_0x24dac2(0x206)]}),_0x3c2724=[..._0x1b3381['beginning'],_0x10fb09,..._0x1b3381[_0x24dac2(0x1e6)]],_0x3799de=await this['tokenCountingService'][_0x24dac2(0x1da)](_0x3c2724,_0x2fa8af,TOKEN_COUNTING_MODES[_0x24dac2(0x1f9)]),_0x2c22aa=(_0x4d8705-_0x3799de)/_0x4d8705*0x64;return{'compactedMessages':_0x3c2724,'strategy':_0x3e6de2,'originalTokenCount':_0x4d8705,'compactedTokenCount':_0x3799de,'reductionPercent':_0x2c22aa,'segments':{'beginningCount':_0x1b3381['beginning'][_0x24dac2(0x209)],'middleCount':_0x1b3381[_0x24dac2(0x1ea)]['length'],'endCount':_0x1b3381[_0x24dac2(0x1e6)]['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x1eeb81,_0x433e80,_0x2b5241){const _0xcb0ffa=a0_0x4615ed,_0x252fbb=COMPACTION_STRATEGIES['TRUNCATION'],_0x3b59a1=this['tokenCountingService']['getModelContextWindow'](_0x433e80),_0xa2fdee=Math['floor'](_0x3b59a1*0.8),_0x5c424d=await this['tokenCountingService'][_0xcb0ffa(0x1da)](_0x1eeb81,_0x433e80,TOKEN_COUNTING_MODES['ACCURATE']),_0x23133c=await this['_identifySegments'](_0x1eeb81,_0x433e80,COMPACTION_CONFIG[_0xcb0ffa(0x204)],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this[_0xcb0ffa(0x1f5)][_0xcb0ffa(0x1dc)]('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x23133c['beginning'][_0xcb0ffa(0x209)],'middleMessages':_0x23133c[_0xcb0ffa(0x1ea)][_0xcb0ffa(0x209)],'endMessages':_0x23133c['end'][_0xcb0ffa(0x209)],'targetTokenCount':_0xa2fdee,'originalTokenCount':_0x5c424d});const _0x552a6d={'role':'system','content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0xcb0ffa(0x1f2),'timestamp':new Date()[_0xcb0ffa(0x1fd)](),'metadata':{'truncatedMessages':_0x23133c[_0xcb0ffa(0x1ea)][_0xcb0ffa(0x209)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x1ac1c3=[..._0x23133c['beginning'],_0x552a6d,..._0x23133c['end']],_0x21a308=await this['tokenCountingService'][_0xcb0ffa(0x1da)](_0x1ac1c3,_0x433e80,TOKEN_COUNTING_MODES[_0xcb0ffa(0x1f9)]),_0x2fc7d8=(_0x5c424d-_0x21a308)/_0x5c424d*0x64;return{'compactedMessages':_0x1ac1c3,'strategy':_0x252fbb,'originalTokenCount':_0x5c424d,'compactedTokenCount':_0x21a308,'reductionPercent':_0x2fc7d8,'segments':{'beginningCount':_0x23133c['beginning'][_0xcb0ffa(0x209)],'middleCount':_0x23133c['middle'][_0xcb0ffa(0x209)],'endCount':_0x23133c[_0xcb0ffa(0x1e6)]['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x4c9bc4,_0x242b38,_0x215209){const _0xdbc021=a0_0x4615ed,_0x1f7795=COMPACTION_STRATEGIES[_0xdbc021(0x1d0)],_0xfe9ef0=await this[_0xdbc021(0x1e4)]['estimateConversationTokens'](_0x4c9bc4,_0x242b38,TOKEN_COUNTING_MODES['ACCURATE']),_0x30180e=await this['_identifySegments'](_0x4c9bc4,_0x242b38,COMPACTION_CONFIG[_0xdbc021(0x1d1)],COMPACTION_CONFIG[_0xdbc021(0x1fc)]);this['logger'][_0xdbc021(0x1dc)]('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x30180e[_0xdbc021(0x1e2)]['length'],'middleMessages':_0x30180e[_0xdbc021(0x1ea)]['length'],'endMessages':_0x30180e['end']['length'],'middleStartIndex':_0x30180e[_0xdbc021(0x1e8)],'middleEndIndex':_0x30180e[_0xdbc021(0x206)]});const _0x74f6b3=await this['_generateSummary'](_0x30180e['middle'],_0x242b38,{..._0x215209,'aggressive':!![],'middleStartIndex':_0x30180e['middleStartIndex'],'middleEndIndex':_0x30180e['middleEndIndex']}),_0x486dee=[..._0x30180e['beginning'],_0x74f6b3,..._0x30180e[_0xdbc021(0x1e6)]],_0x2e7915=await this['tokenCountingService'][_0xdbc021(0x1da)](_0x486dee,_0x242b38,TOKEN_COUNTING_MODES['ACCURATE']),_0x321154=(_0xfe9ef0-_0x2e7915)/_0xfe9ef0*0x64;return{'compactedMessages':_0x486dee,'strategy':_0x1f7795,'originalTokenCount':_0xfe9ef0,'compactedTokenCount':_0x2e7915,'reductionPercent':_0x321154,'segments':{'beginningCount':_0x30180e['beginning'][_0xdbc021(0x209)],'middleCount':_0x30180e[_0xdbc021(0x1ea)]['length'],'endCount':_0x30180e['end'][_0xdbc021(0x209)],'summaryInserted':!![]}};}async[a0_0x4615ed(0x1cc)](_0x1cd866,_0x1bba72,_0x29c211,_0x300b27){const _0x73d75e=a0_0x4615ed,_0x168b6a=await this[_0x73d75e(0x1e4)]['estimateConversationTokens'](_0x1cd866,_0x1bba72,TOKEN_COUNTING_MODES['ACCURATE']),_0x93cc10=Math['floor'](_0x168b6a*_0x29c211),_0x99a0b4=Math[_0x73d75e(0x20d)](_0x168b6a*_0x300b27);let _0x5a077b=0x0,_0x34807c=0x0;for(let _0x1ae5cb=0x0;_0x1ae5cb<_0x1cd866[_0x73d75e(0x209)];_0x1ae5cb++){const _0x21a12a=await this[_0x73d75e(0x1e4)]['countTokens'](_0x1cd866[_0x1ae5cb][_0x73d75e(0x1ff)],_0x1bba72,TOKEN_COUNTING_MODES['CACHED']);if(_0x5a077b+_0x21a12a>_0x93cc10&&_0x1ae5cb>=0x2)break;_0x5a077b+=_0x21a12a,_0x34807c=_0x1ae5cb+0x1;}let _0x1d80e7=0x0,_0x4eda80=_0x1cd866['length'];for(let _0x3770ef=_0x1cd866['length']-0x1;_0x3770ef>=0x0;_0x3770ef--){const _0x24100c=await this['tokenCountingService']['countTokens'](_0x1cd866[_0x3770ef][_0x73d75e(0x1ff)],_0x1bba72,TOKEN_COUNTING_MODES['CACHED']);if(_0x1d80e7+_0x24100c>_0x99a0b4)break;_0x1d80e7+=_0x24100c,_0x4eda80=_0x3770ef;}_0x4eda80<_0x34807c&&(_0x4eda80=_0x34807c);const _0x2cb169=_0x1cd866[_0x73d75e(0x1c8)](0x0,_0x34807c),_0x3e99c4=_0x1cd866['slice'](_0x34807c,_0x4eda80),_0x46075f=_0x1cd866[_0x73d75e(0x1c8)](_0x4eda80);return{'beginning':_0x2cb169,'middle':_0x3e99c4,'end':_0x46075f,'middleStartIndex':_0x34807c,'middleEndIndex':_0x4eda80-0x1};}async['_generateSummary'](_0x268cec,_0x560196,_0x40ac0c={}){const _0x3505dc=a0_0x4615ed;if(_0x268cec[_0x3505dc(0x209)]===0x0)return{'role':_0x3505dc(0x1d7),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':_0x3505dc(0x1e1),'timestamp':new Date()['toISOString']()};const _0x4628eb=_0x268cec['map'](_0x333240=>_0x333240[_0x3505dc(0x1d6)]+':\x20'+_0x333240[_0x3505dc(0x1ff)])[_0x3505dc(0x1c3)]('\x0a\x0a'),_0x23f995=this[_0x3505dc(0x212)][_0x3505dc(0x20b)](_0x3505dc(0x1f1),_0x4628eb)['replace']('{aggressive_instruction}',_0x40ac0c['aggressive']?_0x3505dc(0x1ca):''),_0x46f898=[COMPACTION_CONFIG[_0x3505dc(0x20f)],...COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACKS']];let _0x53cb95=null;for(const _0x4c1cb8 of _0x46f898){try{this[_0x3505dc(0x1f5)][_0x3505dc(0x1dc)]('Generating\x20summary',{'compactionModel':_0x4c1cb8,'middleMessageCount':_0x268cec[_0x3505dc(0x209)],'middleContentLength':_0x4628eb['length'],'aggressive':_0x40ac0c['aggressive']});const _0x4f8b52=await this[_0x3505dc(0x1d3)]['sendMessage'](_0x4c1cb8,_0x23f995,{'systemPrompt':_0x3505dc(0x1e9),'maxTokens':COMPACTION_CONFIG[_0x3505dc(0x1fb)],'temperature':0.3,'sessionId':_0x40ac0c[_0x3505dc(0x203)],'platformProvided':!![]}),_0x16ecc9=_0x4f8b52[_0x3505dc(0x1ff)][_0x3505dc(0x1e5)](),_0x1988fe=_0x40ac0c['middleStartIndex']!==undefined&&_0x40ac0c['middleEndIndex']!==undefined?'original\x20messages\x20'+_0x40ac0c[_0x3505dc(0x1e8)]+'-'+_0x40ac0c['middleEndIndex']:_0x268cec[_0x3505dc(0x209)]+_0x3505dc(0x200);return this['logger']['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x4c1cb8,'originalLength':_0x4628eb['length'],'summaryLength':_0x16ecc9[_0x3505dc(0x209)],'compressionRatio':(_0x16ecc9['length']/_0x4628eb[_0x3505dc(0x209)]*0x64)['toFixed'](0x2)+'%','indexRange':_0x1988fe}),{'role':_0x3505dc(0x1d7),'content':COMPACTION_CONFIG[_0x3505dc(0x210)]+'\x20-\x20'+_0x1988fe+']\x0a\x0a'+_0x16ecc9+'\x0a\x0a'+COMPACTION_CONFIG[_0x3505dc(0x1f6)],'type':_0x3505dc(0x1e1),'timestamp':new Date()[_0x3505dc(0x1fd)](),'metadata':{'originalMessageCount':_0x268cec[_0x3505dc(0x209)],'originalStartIndex':_0x40ac0c[_0x3505dc(0x1e8)],'originalEndIndex':_0x40ac0c[_0x3505dc(0x206)],'compactionModel':_0x4c1cb8,'aggressive':_0x40ac0c['aggressive']||![]}};}catch(_0x11023f){_0x53cb95=_0x11023f,this[_0x3505dc(0x1f5)]['warn']('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x4c1cb8,'error':_0x11023f['message'],'middleMessageCount':_0x268cec['length']});}}this[_0x3505dc(0x1f5)]['error'](_0x3505dc(0x211),{'modelsAttempted':_0x46f898['length'],'lastError':_0x53cb95?.['message'],'middleMessageCount':_0x268cec[_0x3505dc(0x209)]});const _0x5e641e=this[_0x3505dc(0x1d8)](_0x268cec),_0x1b5273=_0x40ac0c['middleStartIndex']!==undefined&&_0x40ac0c['middleEndIndex']!==undefined?_0x3505dc(0x202)+_0x40ac0c['middleStartIndex']+'-'+_0x40ac0c[_0x3505dc(0x206)]:_0x268cec['length']+_0x3505dc(0x200);return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x1b5273+']\x0a\x0a'+_0x5e641e+'\x0a\x0a'+COMPACTION_CONFIG[_0x3505dc(0x1f6)],'type':_0x3505dc(0x1e1),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x268cec[_0x3505dc(0x209)],'originalStartIndex':_0x40ac0c['middleStartIndex'],'originalEndIndex':_0x40ac0c[_0x3505dc(0x206)],'fallback':!![],'error':_0x53cb95?.['message'],'modelsAttempted':_0x46f898}};}[a0_0x4615ed(0x1d8)](_0x5f3af4){const _0x166399=a0_0x4615ed,_0x57df2b=_0x5f3af4[_0x166399(0x209)],_0x29c763=_0x5f3af4['map'](_0x2f326b=>_0x2f326b['role']),_0x318a72=_0x29c763[_0x166399(0x1eb)](_0x4b4536=>_0x4b4536===_0x166399(0x213))['length'],_0x5d9646=_0x29c763['filter'](_0x15e30d=>_0x15e30d===_0x166399(0x201))[_0x166399(0x209)];return'['+_0x57df2b+_0x166399(0x1d9)+_0x318a72+_0x166399(0x1ee)+_0x5d9646+_0x166399(0x1e3)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}[a0_0x4615ed(0x1ef)](){const _0x48afd3=a0_0x4615ed;return _0x48afd3(0x1c6);}}export default ConversationCompactionService;
1
+ function a0_0x5cf4(){const _0x1adeb1=['yxnZAxn0yw50','vfjvtKnbveLptG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','zgvIDwC','Bg9Nz2vY','vg9VigzLDYbTzxnZywDLCW','mZaYntaXnLf6EMzcrW','r2vUzxjHDgLUzYbZDw1Tyxj5','C2vUze1LC3nHz2u','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','C3vTBwfYEvbYB21WDfrLBxbSyxrL','ywLtzxj2AwnL','ntK4mtK0DMPMBxvM','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','BwLKzgXL','tufyx1nvtu1buLLFve9lru5t','C2vWyxjHDg9Y','BM93','zw5K','C3LZDgvT','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','mte2ota2ofztyvvvra','y29TCgfJDgvKtwvZC2fNzxm','ru5ex1nfr01ftLrFuevsq0vovefhrq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','twvZC2fNzxmGyxjYyxKGAxmGCMvXDwLYzwqGyw5KignHBM5VDcbIzsbLBxb0Eq','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','ywDNCMvZC2L2zq','mtHHDxbTEwW','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','C2vZC2LVBKLK','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','y29UDgvUDa','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','mtaXnta1mJvqzuTyALO','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','AxnszxrYEq','BwvZC2fNzq','ig1LC3nHz2vZ','DxnLCG','x2DLBMvYyxrLu3vTBwfYEq','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','BwfW','DgLTzxn0yw1W','C2XPy2u','B3jPz2LUywWGBwvZC2fNzxmG','z2v0tw9KzwXdB250zxH0v2LUzg93','BM9Uzq','mtK4ody3uvfcBvnK','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','mtGWode2nJzyDKznEem','AM9PBG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','yMvNAw5UAw5N','ic0G','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','y291BNruB2TLBNm','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','ody1mZCXnKfyreDJBq','CMvWBgfJzq','zMXVB3i','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','CM9Szq','quDhuKvtu0Lwrq','D2fYBG','nvbwB3rOBW','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','y29TCgfJDenVBNzLCNnHDgLVBG','BgvUz3rO','BwLKzgXLrw5Ksw5KzxG','C3vTBwfYEq','qundvvjbveu','E21PzgrSzv9ZzwDTzw50Fq'];a0_0x5cf4=function(){return _0x1adeb1;};return a0_0x5cf4();}function a0_0xea83(_0x2f81ad,_0x1507e9){_0x2f81ad=_0x2f81ad-0x1ef;const _0x5cf46e=a0_0x5cf4();let _0xea8365=_0x5cf46e[_0x2f81ad];if(a0_0xea83['eoExbj']===undefined){var _0x1aac6c=function(_0x2d31b3){const _0x50b36c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f370a='',_0x432016='';for(let _0x5fa8e5=0x0,_0x286359,_0x250516,_0x1eb8ea=0x0;_0x250516=_0x2d31b3['charAt'](_0x1eb8ea++);~_0x250516&&(_0x286359=_0x5fa8e5%0x4?_0x286359*0x40+_0x250516:_0x250516,_0x5fa8e5++%0x4)?_0x5f370a+=String['fromCharCode'](0xff&_0x286359>>(-0x2*_0x5fa8e5&0x6)):0x0){_0x250516=_0x50b36c['indexOf'](_0x250516);}for(let _0xabc851=0x0,_0x187f06=_0x5f370a['length'];_0xabc851<_0x187f06;_0xabc851++){_0x432016+='%'+('00'+_0x5f370a['charCodeAt'](_0xabc851)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x432016);};a0_0xea83['CKkUec']=_0x1aac6c,a0_0xea83['ZQmBGM']={},a0_0xea83['eoExbj']=!![];}const _0x44b1eb=_0x5cf46e[0x0],_0x5a1ef1=_0x2f81ad+_0x44b1eb,_0x3836e5=a0_0xea83['ZQmBGM'][_0x5a1ef1];return!_0x3836e5?(_0xea8365=a0_0xea83['CKkUec'](_0xea8365),a0_0xea83['ZQmBGM'][_0x5a1ef1]=_0xea8365):_0xea8365=_0x3836e5,_0xea8365;}const a0_0x34a858=a0_0xea83;(function(_0x364bd9,_0x3418fa){const _0x24cd41=a0_0xea83,_0x19976b=_0x364bd9();while(!![]){try{const _0xc9076b=-parseInt(_0x24cd41(0x20f))/0x1+-parseInt(_0x24cd41(0x21f))/0x2*(-parseInt(_0x24cd41(0x238))/0x3)+-parseInt(_0x24cd41(0x218))/0x4*(-parseInt(_0x24cd41(0x1fa))/0x5)+parseInt(_0x24cd41(0x1f3))/0x6+parseInt(_0x24cd41(0x229))/0x7+-parseInt(_0x24cd41(0x209))/0x8+-parseInt(_0x24cd41(0x23a))/0x9;if(_0xc9076b===_0x3418fa)break;else _0x19976b['push'](_0x19976b['shift']());}catch(_0x4cee60){_0x19976b['push'](_0x19976b['shift']());}}}(a0_0x5cf4,0xc24ba));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x5f370a,_0x432016,_0x5fa8e5){const _0x14bebd=a0_0xea83;this[_0x14bebd(0x22b)]=_0x5f370a,this['aiService']=_0x432016,this['logger']=_0x5fa8e5,this[_0x14bebd(0x20d)]=this['_createSummaryPromptTemplate']();}async[a0_0x34a858(0x1fc)](_0x286359,_0x250516,_0x1eb8ea,_0xabc851={}){const _0x1165d3=a0_0x34a858,_0x187f06=Date[_0x1165d3(0x214)]();try{if(!Array['isArray'](_0x286359)||_0x286359['length']===0x0)throw new Error(_0x1165d3(0x21c));if(_0x286359['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0x1165d3(0x207)][_0x1165d3(0x1f9)](_0x1165d3(0x205),{'messageCount':_0x286359[_0x1165d3(0x1fd)],'minimum':COMPACTION_CONFIG[_0x1165d3(0x21b)]}),{'compactedMessages':_0x286359,'strategy':_0x1165d3(0x237),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x1165d3(0x208)};const _0x23c80c=_0x250516!==_0x1eb8ea,_0x320b0e=_0xabc851[_0x1165d3(0x22c)]||![];let _0x1f8b5a;if(_0x23c80c)_0x1f8b5a=COMPACTION_STRATEGIES[_0x1165d3(0x203)];else _0x320b0e?_0x1f8b5a=COMPACTION_STRATEGIES[_0x1165d3(0x1f8)]:_0x1f8b5a=_0xabc851['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x286359[_0x1165d3(0x1fd)],'currentModel':_0x250516,'targetModel':_0x1eb8ea,'strategy':_0x1f8b5a,'isModelSwitch':_0x23c80c,'isRetry':_0x320b0e});let _0x219642;switch(_0x1f8b5a){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x219642=await this[_0x1165d3(0x222)](_0x286359,_0x250516,_0xabc851);break;case COMPACTION_STRATEGIES[_0x1165d3(0x203)]:_0x219642=await this[_0x1165d3(0x227)](_0x286359,_0x1eb8ea,_0xabc851);break;case COMPACTION_STRATEGIES[_0x1165d3(0x1f8)]:_0x219642=await this['_compactWithAggressiveSummarization'](_0x286359,_0x250516,_0xabc851);break;default:throw new Error(_0x1165d3(0x1f6)+_0x1f8b5a);}const _0x28dc4f=Date[_0x1165d3(0x214)]()-_0x187f06;return _0x219642['executionTime']=_0x28dc4f,_0x219642[_0x1165d3(0x233)]=new Date()['toISOString'](),this['logger']['info']('Compaction\x20completed\x20successfully',{'strategy':_0x219642['strategy'],'originalMessages':_0x286359['length'],'compactedMessages':_0x219642[_0x1165d3(0x219)][_0x1165d3(0x1fd)],'originalTokens':_0x219642['originalTokenCount'],'compactedTokens':_0x219642['compactedTokenCount'],'reductionPercent':_0x219642['reductionPercent']['toFixed'](0x2),'executionTime':_0x28dc4f+'ms'}),_0x219642;}catch(_0x1c6511){const _0x423ce9=Date[_0x1165d3(0x214)]()-_0x187f06;this[_0x1165d3(0x207)]['error']('Compaction\x20failed',{'error':_0x1c6511[_0x1165d3(0x22d)],'messageCount':_0x286359['length'],'currentModel':_0x250516,'targetModel':_0x1eb8ea,'executionTime':_0x423ce9+'ms'});throw _0x1c6511;}}async[a0_0x34a858(0x222)](_0x27c740,_0xe2e6,_0x4b94b6){const _0x16560a=a0_0x34a858,_0xd24611=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x53623a=await this['tokenCountingService'][_0x16560a(0x23d)](_0x27c740,_0xe2e6,TOKEN_COUNTING_MODES[_0x16560a(0x200)]),_0x579710=await this['_identifySegments'](_0x27c740,_0xe2e6,COMPACTION_CONFIG[_0x16560a(0x22a)],COMPACTION_CONFIG[_0x16560a(0x21a)]);this[_0x16560a(0x207)][_0x16560a(0x206)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x579710[_0x16560a(0x23f)]['length'],'middleMessages':_0x579710['middle'][_0x16560a(0x1fd)],'endMessages':_0x579710['end'][_0x16560a(0x1fd)],'middleStartIndex':_0x579710[_0x16560a(0x221)],'middleEndIndex':_0x579710[_0x16560a(0x1fe)],'totalMessages':_0x27c740[_0x16560a(0x1fd)]});const _0x58ecfc=await this['_generateSummary'](_0x579710[_0x16560a(0x211)],_0xe2e6,{..._0x4b94b6,'middleStartIndex':_0x579710['middleStartIndex'],'middleEndIndex':_0x579710[_0x16560a(0x1fe)]}),_0x4e3928=[..._0x579710[_0x16560a(0x23f)],_0x58ecfc,..._0x579710['end']],_0xf05f6c=await this[_0x16560a(0x22b)][_0x16560a(0x23d)](_0x4e3928,_0xe2e6,TOKEN_COUNTING_MODES['ACCURATE']),_0x30b982=(_0x53623a-_0xf05f6c)/_0x53623a*0x64;return{'compactedMessages':_0x4e3928,'strategy':_0xd24611,'originalTokenCount':_0x53623a,'compactedTokenCount':_0xf05f6c,'reductionPercent':_0x30b982,'segments':{'beginningCount':_0x579710[_0x16560a(0x23f)]['length'],'middleCount':_0x579710[_0x16560a(0x211)][_0x16560a(0x1fd)],'endCount':_0x579710['end'][_0x16560a(0x1fd)],'summaryInserted':!![]}};}async[a0_0x34a858(0x227)](_0x1f51f2,_0x1504e0,_0x144629){const _0xe9e9a7=a0_0x34a858,_0x2533c0=COMPACTION_STRATEGIES[_0xe9e9a7(0x203)],_0x18dd90=this[_0xe9e9a7(0x22b)][_0xe9e9a7(0x236)](_0x1504e0),_0x446067=Math[_0xe9e9a7(0x1f5)](_0x18dd90*0.8),_0x352d8c=await this['tokenCountingService'][_0xe9e9a7(0x23d)](_0x1f51f2,_0x1504e0,TOKEN_COUNTING_MODES[_0xe9e9a7(0x200)]),_0x1f00e6=await this['_identifySegments'](_0x1f51f2,_0x1504e0,COMPACTION_CONFIG[_0xe9e9a7(0x228)],COMPACTION_CONFIG[_0xe9e9a7(0x220)]);this[_0xe9e9a7(0x207)]['debug'](_0xe9e9a7(0x23c),{'beginningMessages':_0x1f00e6['beginning']['length'],'middleMessages':_0x1f00e6['middle']['length'],'endMessages':_0x1f00e6['end']['length'],'targetTokenCount':_0x446067,'originalTokenCount':_0x352d8c});const _0x3fe1c6={'role':_0xe9e9a7(0x216),'content':COMPACTION_CONFIG[_0xe9e9a7(0x204)],'type':_0xe9e9a7(0x213),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x1f00e6[_0xe9e9a7(0x211)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x528957=[..._0x1f00e6[_0xe9e9a7(0x23f)],_0x3fe1c6,..._0x1f00e6[_0xe9e9a7(0x215)]],_0x324161=await this['tokenCountingService'][_0xe9e9a7(0x23d)](_0x528957,_0x1504e0,TOKEN_COUNTING_MODES[_0xe9e9a7(0x200)]),_0x47002c=(_0x352d8c-_0x324161)/_0x352d8c*0x64;return{'compactedMessages':_0x528957,'strategy':_0x2533c0,'originalTokenCount':_0x352d8c,'compactedTokenCount':_0x324161,'reductionPercent':_0x47002c,'segments':{'beginningCount':_0x1f00e6['beginning'][_0xe9e9a7(0x1fd)],'middleCount':_0x1f00e6[_0xe9e9a7(0x211)][_0xe9e9a7(0x1fd)],'endCount':_0x1f00e6['end']['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x3dad25,_0x4a79b3,_0x562f48){const _0x45925e=a0_0x34a858,_0x4d64a3=COMPACTION_STRATEGIES[_0x45925e(0x1f8)],_0x5864a6=await this[_0x45925e(0x22b)]['estimateConversationTokens'](_0x3dad25,_0x4a79b3,TOKEN_COUNTING_MODES['ACCURATE']),_0x148bdc=await this['_identifySegments'](_0x3dad25,_0x4a79b3,COMPACTION_CONFIG[_0x45925e(0x231)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x45925e(0x207)]['debug'](_0x45925e(0x225),{'beginningMessages':_0x148bdc[_0x45925e(0x23f)]['length'],'middleMessages':_0x148bdc[_0x45925e(0x211)]['length'],'endMessages':_0x148bdc[_0x45925e(0x215)][_0x45925e(0x1fd)],'middleStartIndex':_0x148bdc[_0x45925e(0x221)],'middleEndIndex':_0x148bdc[_0x45925e(0x1fe)]});const _0x2a9fc2=await this[_0x45925e(0x230)](_0x148bdc['middle'],_0x4a79b3,{..._0x562f48,'aggressive':!![],'middleStartIndex':_0x148bdc[_0x45925e(0x221)],'middleEndIndex':_0x148bdc[_0x45925e(0x1fe)]}),_0x1d4521=[..._0x148bdc[_0x45925e(0x23f)],_0x2a9fc2,..._0x148bdc['end']],_0x282654=await this[_0x45925e(0x22b)][_0x45925e(0x23d)](_0x1d4521,_0x4a79b3,TOKEN_COUNTING_MODES[_0x45925e(0x200)]),_0x3ca8b8=(_0x5864a6-_0x282654)/_0x5864a6*0x64;return{'compactedMessages':_0x1d4521,'strategy':_0x4d64a3,'originalTokenCount':_0x5864a6,'compactedTokenCount':_0x282654,'reductionPercent':_0x3ca8b8,'segments':{'beginningCount':_0x148bdc[_0x45925e(0x23f)]['length'],'middleCount':_0x148bdc[_0x45925e(0x211)]['length'],'endCount':_0x148bdc[_0x45925e(0x215)][_0x45925e(0x1fd)],'summaryInserted':!![]}};}async['_identifySegments'](_0x4dae04,_0x580f60,_0x4fb384,_0x41ffa4){const _0x30d227=a0_0x34a858,_0x58d231=await this['tokenCountingService'][_0x30d227(0x23d)](_0x4dae04,_0x580f60,TOKEN_COUNTING_MODES[_0x30d227(0x200)]),_0x2c6bbd=Math[_0x30d227(0x1f5)](_0x58d231*_0x4fb384),_0x53aa83=Math['floor'](_0x58d231*_0x41ffa4);let _0x33343a=0x0,_0x3f18ef=0x0;for(let _0x795c30=0x0;_0x795c30<_0x4dae04['length'];_0x795c30++){const _0x2731b1=await this[_0x30d227(0x22b)][_0x30d227(0x1f1)](_0x4dae04[_0x795c30][_0x30d227(0x226)],_0x580f60,TOKEN_COUNTING_MODES['CACHED']);if(_0x33343a+_0x2731b1>_0x2c6bbd&&_0x795c30>=0x2)break;_0x33343a+=_0x2731b1,_0x3f18ef=_0x795c30+0x1;}let _0x45e51e=0x0,_0x21cdc7=_0x4dae04[_0x30d227(0x1fd)];for(let _0x2e3374=_0x4dae04[_0x30d227(0x1fd)]-0x1;_0x2e3374>=0x0;_0x2e3374--){const _0x3eac22=await this['tokenCountingService'][_0x30d227(0x1f1)](_0x4dae04[_0x2e3374][_0x30d227(0x226)],_0x580f60,TOKEN_COUNTING_MODES['CACHED']);if(_0x45e51e+_0x3eac22>_0x53aa83)break;_0x45e51e+=_0x3eac22,_0x21cdc7=_0x2e3374;}_0x21cdc7<_0x3f18ef&&(_0x21cdc7=_0x3f18ef);const _0x13fa99=_0x4dae04[_0x30d227(0x234)](0x0,_0x3f18ef),_0x2c9936=_0x4dae04[_0x30d227(0x234)](_0x3f18ef,_0x21cdc7),_0x48954b=_0x4dae04['slice'](_0x21cdc7);return{'beginning':_0x13fa99,'middle':_0x2c9936,'end':_0x48954b,'middleStartIndex':_0x3f18ef,'middleEndIndex':_0x21cdc7-0x1};}async['_generateSummary'](_0x2d37ec,_0x4d02d6,_0x5d425d={}){const _0x3cbc60=a0_0x34a858;if(_0x2d37ec['length']===0x0)return{'role':_0x3cbc60(0x216),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3cbc60(0x239),'type':_0x3cbc60(0x1ff),'timestamp':new Date()['toISOString']()};const _0x4dec06=_0x2d37ec[_0x3cbc60(0x232)](_0x2c62dc=>_0x2c62dc[_0x3cbc60(0x1f7)]+':\x20'+_0x2c62dc[_0x3cbc60(0x226)])[_0x3cbc60(0x23b)]('\x0a\x0a'),_0x306bd2=this[_0x3cbc60(0x20d)]['replace'](_0x3cbc60(0x201),_0x4dec06)[_0x3cbc60(0x1f4)]('{aggressive_instruction}',_0x5d425d[_0x3cbc60(0x21e)]?_0x3cbc60(0x1f0):''),_0x2ac262=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3cbc60(0x217)]];let _0x1f3c51=null;for(const _0x50c4ff of _0x2ac262){try{this['logger']['debug'](_0x3cbc60(0x20a),{'compactionModel':_0x50c4ff,'middleMessageCount':_0x2d37ec['length'],'middleContentLength':_0x4dec06[_0x3cbc60(0x1fd)],'aggressive':_0x5d425d[_0x3cbc60(0x21e)]});const _0x175267=await this[_0x3cbc60(0x20e)][_0x3cbc60(0x20b)](_0x50c4ff,_0x306bd2,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG[_0x3cbc60(0x212)],'temperature':0.3,'sessionId':_0x5d425d[_0x3cbc60(0x224)],'platformProvided':!![]}),_0x49b09a=_0x175267['content']['trim'](),_0xbbc99e=_0x5d425d['middleStartIndex']!==undefined&&_0x5d425d[_0x3cbc60(0x1fe)]!==undefined?_0x3cbc60(0x235)+_0x5d425d[_0x3cbc60(0x221)]+'-'+_0x5d425d[_0x3cbc60(0x1fe)]:_0x2d37ec['length']+'\x20messages';return this[_0x3cbc60(0x207)]['info'](_0x3cbc60(0x20c),{'compactionModel':_0x50c4ff,'originalLength':_0x4dec06[_0x3cbc60(0x1fd)],'summaryLength':_0x49b09a[_0x3cbc60(0x1fd)],'compressionRatio':(_0x49b09a[_0x3cbc60(0x1fd)]/_0x4dec06['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0xbbc99e}),{'role':'system','content':COMPACTION_CONFIG[_0x3cbc60(0x23e)]+_0x3cbc60(0x1ef)+_0xbbc99e+']\x0a\x0a'+_0x49b09a+'\x0a\x0a'+COMPACTION_CONFIG[_0x3cbc60(0x21d)],'type':_0x3cbc60(0x1ff),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2d37ec['length'],'originalStartIndex':_0x5d425d[_0x3cbc60(0x221)],'originalEndIndex':_0x5d425d['middleEndIndex'],'compactionModel':_0x50c4ff,'aggressive':_0x5d425d[_0x3cbc60(0x21e)]||![]}};}catch(_0x485810){_0x1f3c51=_0x485810,this['logger'][_0x3cbc60(0x1f9)](_0x3cbc60(0x1f2),{'compactionModel':_0x50c4ff,'error':_0x485810[_0x3cbc60(0x22d)],'middleMessageCount':_0x2d37ec['length']});}}this['logger']['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x2ac262[_0x3cbc60(0x1fd)],'lastError':_0x1f3c51?.['message'],'middleMessageCount':_0x2d37ec['length']});const _0xe5d932=this[_0x3cbc60(0x223)](_0x2d37ec),_0x303f17=_0x5d425d['middleStartIndex']!==undefined&&_0x5d425d[_0x3cbc60(0x1fe)]!==undefined?'original\x20messages\x20'+_0x5d425d[_0x3cbc60(0x221)]+'-'+_0x5d425d[_0x3cbc60(0x1fe)]:_0x2d37ec['length']+_0x3cbc60(0x22e);return{'role':_0x3cbc60(0x216),'content':COMPACTION_CONFIG[_0x3cbc60(0x23e)]+_0x3cbc60(0x1ef)+_0x303f17+']\x0a\x0a'+_0xe5d932+'\x0a\x0a'+COMPACTION_CONFIG[_0x3cbc60(0x21d)],'type':'summary','timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2d37ec[_0x3cbc60(0x1fd)],'originalStartIndex':_0x5d425d['middleStartIndex'],'originalEndIndex':_0x5d425d['middleEndIndex'],'fallback':!![],'error':_0x1f3c51?.['message'],'modelsAttempted':_0x2ac262}};}[a0_0x34a858(0x223)](_0x1ad97e){const _0x4ae063=a0_0x34a858,_0x491350=_0x1ad97e['length'],_0x3ad023=_0x1ad97e[_0x4ae063(0x232)](_0x48d7e4=>_0x48d7e4['role']),_0x5a6c52=_0x3ad023['filter'](_0x1ee027=>_0x1ee027===_0x4ae063(0x22f))['length'],_0x220733=_0x3ad023['filter'](_0x1c3115=>_0x1c3115===_0x4ae063(0x202))[_0x4ae063(0x1fd)];return'['+_0x491350+'\x20messages\x20summarized\x20-\x20'+_0x5a6c52+'\x20user\x20messages,\x20'+_0x220733+_0x4ae063(0x210)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x13d2e2=a0_0x34a858;return _0x13d2e2(0x1fb);}}export default ConversationCompactionService;
@@ -1 +1 @@
1
- const a0_0x458d1f=a0_0x25b5;function a0_0x24b9(){const _0xb5bf9a=['B3bLCMf0Aw9U','zgvSzxrL','C3vJy2vZC2z1BfjLy292zxjPzxm','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','BwLU','Bg9NrxjYB3i','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','B3bLCMf0Aw9Uswq','qvvusevoveLdqvrjt05FrKfjteve','mtu4ohbmv1fzsW','C3rHDhvZ','rKLmrv9ot1rFrK9vtKq','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','mZe2otaYEg1Mwxv2','C3vIC3rY','ChvZAa','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','mteZndu2tvHxuxrf','Aw5JCMvHC2vKx3rPBwvVDxq','y3jPDgLJywXfCNjVCNm','rK9sqKLerevo','uevstuLtu0LptL9eru5jruq','z2v0','Bg93','zxjYB3i','D2fYBG','y29UDgv4Da','z2vUzxjHDgvfCNjVCKLK','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','zxjYxW','C2v0DxbfCNjVCLbYB2nLC3nPBMC','CMvJB3zLCNLtDhjHDgvNAwvZ','ve9px01btLLFuKvrvuvtvfm','Dg9mB3DLCKnHC2u','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','AgfUzgXLrxjYB3i','zxjYB3jtDgf0CW','y29UzMLNDxjHDgLVBG','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','DgLTzw91Da','zxjYB3jrDwv1zq','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','yxbPx3jLCxvLC3q','ywDLBNrjza','Aw5JBhvKzxm','BwvZC2fNzq','DhLWzq','uhjVy2vZC2LUzYbLCNjVCG','zgv0zxjTAw5Lu2v2zxjPDhK','AxnqCM9JzxnZAw5NuxvLDwu','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','C2v0','Dg90ywXfCNjVCNm','zM9YrwfJAa','qxv0AgvUDgLJyxrPB24GzMfPBhvYzsbKzxrLy3rLza','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','DgLTzw91Df9YzwnVDMvYEq','Aw52ywXPza','y3jPDgLJywW','mJa3odG1wwP5y29M','zxjYB3jZqNLuExbL','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','ywDLBNrFy29TBxvUAwnHDgLVBG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','zw1PDa','CMv0CNLdB3vUDa','nJG3ndK3DKv2uxvi','y29Kzq','BM90Awz5u3vIC2nYAwjLCNm','Aw5MBW','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','y2XLyxjfCNjVCLn0yxrZ','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','zMLSzv9VCgvYyxrPB24','odq4mtm3ngrlwuDsrG','mNL1zNrLCW','y2fSy3vSyxrLuMv0CNLezwXHEq','AgLNAa','rxjYB3iGBg9Nz2LUzYbMywLSzwq','ChjVy2vZC0vYCM9Y','CMvJB3zLCMfIBgu','Dg9VBeLK','C3vJy2vZCW','zxjYB3jZqNLbz2vUDa','uKfurv9msu1jvf9fwenfrurfra','mJq5zKXxALjR','Bg9Nz2vY','ndu5odGWBNfkv2Dz','otLYzwHUBgy','zxjYB3jtDwjZy3jPyMvYCW','AgfZ','AxnszwnVDMvYywjSzq','mteYy1DwtffT','rufdq0vt','vKfmsurbveLptL9fuLjpuG','AgfUzgXLq3jPDgLJywXfCNjVCG','r2vUzxjPyYbJCML0AwnHBcbLCNjVCG','zgv0zxjTAw5LrxjYB3juExbL','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','t1bfuKfusu9ox1rjtuvpvvq','Bwf4uMv0CMLLCW','CMfUzg9T','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','DxbKyxrLrxjYB3jtDgf0CW','z2v0twf4uMv0CMLLCW','y3jPDgLJywXfCNjVCG','BMfTzq','ChjVy2vZC0vYCM9YuxvLDwu','Dw5Oyw5KBgvKuMvQzwn0Aw9U','CMvJB3zLCNLbDhrLBxb0CW','C2v2zxjPDhK'];a0_0x24b9=function(){return _0xb5bf9a;};return a0_0x24b9();}function a0_0x25b5(_0x4793c4,_0x113d35){_0x4793c4=_0x4793c4-0x1c6;const _0x24b990=a0_0x24b9();let _0x25b598=_0x24b990[_0x4793c4];if(a0_0x25b5['yAXdYY']===undefined){var _0x42f906=function(_0x1a7765){const _0x2d91d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x292dc1='',_0x1ebcb0='';for(let _0x458832=0x0,_0x349e58,_0x1e9ac1,_0x43e526=0x0;_0x1e9ac1=_0x1a7765['charAt'](_0x43e526++);~_0x1e9ac1&&(_0x349e58=_0x458832%0x4?_0x349e58*0x40+_0x1e9ac1:_0x1e9ac1,_0x458832++%0x4)?_0x292dc1+=String['fromCharCode'](0xff&_0x349e58>>(-0x2*_0x458832&0x6)):0x0){_0x1e9ac1=_0x2d91d4['indexOf'](_0x1e9ac1);}for(let _0x763007=0x0,_0x1c93e4=_0x292dc1['length'];_0x763007<_0x1c93e4;_0x763007++){_0x1ebcb0+='%'+('00'+_0x292dc1['charCodeAt'](_0x763007)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ebcb0);};a0_0x25b5['bQFAyK']=_0x42f906,a0_0x25b5['hDEHcD']={},a0_0x25b5['yAXdYY']=!![];}const _0x2cc12a=_0x24b990[0x0],_0x527080=_0x4793c4+_0x2cc12a,_0x25fb4b=a0_0x25b5['hDEHcD'][_0x527080];return!_0x25fb4b?(_0x25b598=a0_0x25b5['bQFAyK'](_0x25b598),a0_0x25b5['hDEHcD'][_0x527080]=_0x25b598):_0x25b598=_0x25fb4b,_0x25b598;}(function(_0x3a7ab6,_0x36f289){const _0x50311f=a0_0x25b5,_0x455e04=_0x3a7ab6();while(!![]){try{const _0x4385f1=parseInt(_0x50311f(0x20a))/0x1*(parseInt(_0x50311f(0x215))/0x2)+parseInt(_0x50311f(0x21f))/0x3*(-parseInt(_0x50311f(0x1cf))/0x4)+parseInt(_0x50311f(0x202))/0x5+parseInt(_0x50311f(0x1d3))/0x6*(-parseInt(_0x50311f(0x226))/0x7)+-parseInt(_0x50311f(0x1d8))/0x8*(parseInt(_0x50311f(0x222))/0x9)+parseInt(_0x50311f(0x221))/0xa+parseInt(_0x50311f(0x214))/0xb;if(_0x4385f1===_0x36f289)break;else _0x455e04['push'](_0x455e04['shift']());}catch(_0x3e555a){_0x455e04['push'](_0x455e04['shift']());}}}(a0_0x24b9,0x7d047));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x292dc1,_0x1ebcb0){const _0x19566a=a0_0x25b5;this['config']=_0x292dc1||{},this['logger']=_0x1ebcb0,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['recoveryStrategies']=new Map(),this[_0x19566a(0x223)]=new Set(),this['errorQueue']=[],this[_0x19566a(0x1f8)]=![],this[_0x19566a(0x206)](),this['setupErrorProcessing']();}async[a0_0x458d1f(0x1ea)](_0x458832,_0x349e58={}){const _0x43c70c=a0_0x458d1f;try{const _0x1e9ac1=this['classifyError'](_0x458832,_0x349e58),_0x43e526=await this[_0x43c70c(0x219)](_0x1e9ac1);return this['updateErrorStats'](_0x1e9ac1),this[_0x43c70c(0x20c)](_0x1e9ac1,_0x43e526),_0x43e526;}catch(_0x763007){return this[_0x43c70c(0x220)][_0x43c70c(0x1df)]('Error\x20handling\x20failed',{'originalError':_0x458832['message'],'handlingError':_0x763007['message']}),{'success':![],'error':_0x763007,'recovery':null,'severity':_0x43c70c(0x201)};}}['classifyError'](_0x1c93e4,_0xca3cbe={}){const _0x3b2864=a0_0x458d1f,_0xd5edfb={'id':this[_0x3b2864(0x1e2)](),'timestamp':new Date()['toISOString'](),'message':_0x1c93e4['message']||_0x1c93e4['toString'](),'stack':_0x1c93e4['stack']||null,'code':_0x1c93e4[_0x3b2864(0x20b)]||null,'type':this[_0x3b2864(0x22b)](_0x1c93e4,_0xca3cbe),'severity':this[_0x3b2864(0x1f7)](_0x1c93e4,_0xca3cbe),'context':{..._0xca3cbe},'recoverable':!![],'retryCount':_0xca3cbe[_0x3b2864(0x209)]||0x0,'maxRetries':this[_0x3b2864(0x232)](_0x1c93e4,_0xca3cbe)};return _0xca3cbe['agentId']&&(_0xd5edfb[_0x3b2864(0x1f2)]=_0xca3cbe['agentId']),_0xca3cbe[_0x3b2864(0x21b)]&&(_0xd5edfb[_0x3b2864(0x21b)]=_0xca3cbe[_0x3b2864(0x21b)]),_0xca3cbe['operationId']&&(_0xd5edfb['operationId']=_0xca3cbe[_0x3b2864(0x1cd)]),_0xd5edfb[_0x3b2864(0x21a)]=this[_0x3b2864(0x225)](_0xd5edfb),_0xd5edfb;}async[a0_0x458d1f(0x219)](_0x3870dd){const _0x34d1cc=a0_0x458d1f;try{this['logger'][_0x34d1cc(0x1df)](_0x34d1cc(0x1f6),{'errorId':_0x3870dd['id'],'type':_0x3870dd[_0x34d1cc(0x1f5)],'severity':_0x3870dd['severity'],'agentId':_0x3870dd['agentId'],'message':_0x3870dd['message']});_0x3870dd[_0x34d1cc(0x238)]===_0x34d1cc(0x201)&&await this['handleCriticalError'](_0x3870dd);let _0x28433a=null;return _0x3870dd['recoverable']&&_0x3870dd['retryCount']<_0x3870dd[_0x34d1cc(0x22e)]&&(_0x28433a=await this['attemptRecovery'](_0x3870dd)),await this[_0x34d1cc(0x1cb)](_0x3870dd,_0x28433a),{'success':_0x28433a?.[_0x34d1cc(0x21c)]||![],'errorId':_0x3870dd['id'],'errorType':_0x3870dd['type'],'severity':_0x3870dd[_0x34d1cc(0x238)],'recovery':_0x28433a,'shouldRetry':this['shouldRetry'](_0x3870dd,_0x28433a),'retryDelay':this[_0x34d1cc(0x216)](_0x3870dd)};}catch(processingError){return this['logger'][_0x34d1cc(0x1df)](_0x34d1cc(0x20e),{'errorId':_0x3870dd['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x3870dd['id'],'errorType':_0x3870dd[_0x34d1cc(0x1f5)],'severity':_0x34d1cc(0x201),'recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x1e9238){const _0x41e5ee=a0_0x458d1f;try{this[_0x41e5ee(0x1eb)]['recoveryAttempts']++;const _0x4d07f7=this['recoveryStrategies'][_0x41e5ee(0x1dd)](_0x1e9238['type'])||this['recoveryStrategies']['get']('default');if(!_0x4d07f7)return this[_0x41e5ee(0x220)][_0x41e5ee(0x1e0)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x1e9238['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this['logger'][_0x41e5ee(0x20d)]('Attempting\x20error\x20recovery',{'errorId':_0x1e9238['id'],'errorType':_0x1e9238[_0x41e5ee(0x1f5)],'strategy':_0x4d07f7['name'],'retryCount':_0x1e9238[_0x41e5ee(0x209)]});const _0x3787aa=await _0x4d07f7['recover'](_0x1e9238);return _0x3787aa['success']?(this['errorStats'][_0x41e5ee(0x1c8)]++,this['logger'][_0x41e5ee(0x20d)]('Error\x20recovery\x20successful',{'errorId':_0x1e9238['id'],'strategy':_0x4d07f7[_0x41e5ee(0x234)]})):this['logger']['warn'](_0x41e5ee(0x1d7),{'errorId':_0x1e9238['id'],'strategy':_0x4d07f7[_0x41e5ee(0x234)],'reason':_0x3787aa['reason']}),_0x3787aa;}catch(_0x448415){return this['logger']['error']('Recovery\x20attempt\x20failed',{'errorId':_0x1e9238['id'],'recoveryError':_0x448415[_0x41e5ee(0x1f4)]}),{'success':![],'reason':_0x41e5ee(0x212)+_0x448415[_0x41e5ee(0x1f4)]};}}async[a0_0x458d1f(0x229)](_0x257bbe){const _0xf0a5a8=a0_0x458d1f;try{this[_0xf0a5a8(0x1eb)]['criticalErrors']++,this['logger']['error'](_0xf0a5a8(0x20f),{'errorId':_0x257bbe['id'],'message':_0x257bbe[_0xf0a5a8(0x1f4)],'context':_0x257bbe['context']});typeof process!=='undefined'&&process[_0xf0a5a8(0x208)]&&process['emit'](_0xf0a5a8(0x233),_0x257bbe);switch(_0x257bbe[_0xf0a5a8(0x1f5)]){case ERROR_TYPES[_0xf0a5a8(0x1ce)]:await this['handleAuthenticationFailure'](_0x257bbe);break;case ERROR_TYPES[_0xf0a5a8(0x21e)]:await this[_0xf0a5a8(0x1cc)](_0x257bbe);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this['handleOperationTimeout'](_0x257bbe);break;default:await this[_0xf0a5a8(0x207)](_0x257bbe);}}catch(_0xa1e5af){this['logger'][_0xf0a5a8(0x1df)](_0xf0a5a8(0x230),{'errorId':_0x257bbe['id'],'handlingError':_0xa1e5af[_0xf0a5a8(0x1f4)]});}}['determineErrorType'](_0x38b258,_0x5f0121){const _0x1d9bec=a0_0x458d1f;if(_0x38b258[_0x1d9bec(0x20b)]==='ENOENT'||_0x38b258['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x38b258[_0x1d9bec(0x20b)]===_0x1d9bec(0x227)||_0x38b258['status']===HTTP_STATUS[_0x1d9bec(0x1db)])return ERROR_TYPES[_0x1d9bec(0x1dc)];if(_0x38b258['status']===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x38b258[_0x1d9bec(0x1d0)]===HTTP_STATUS[_0x1d9bec(0x1e7)])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0xc74665=_0x38b258['message']?.[_0x1d9bec(0x1e8)]()||'';if(_0xc74665[_0x1d9bec(0x1f3)](_0x1d9bec(0x1ee))||_0xc74665['includes']('timed\x20out'))return ERROR_TYPES[_0x1d9bec(0x22d)];if(_0xc74665['includes']('validation')||_0xc74665[_0x1d9bec(0x1f3)](_0x1d9bec(0x200)))return ERROR_TYPES['VALIDATION_ERROR'];if(_0xc74665['includes']('config')||_0xc74665['includes'](_0x1d9bec(0x1ec)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x5f0121['operation']===_0x1d9bec(0x213))return ERROR_TYPES[_0x1d9bec(0x1d1)];if(_0x5f0121[_0x1d9bec(0x1c6)]===_0x1d9bec(0x1f1))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x121dc7,_0x1cf5b1){const _0x317dca=a0_0x458d1f,_0x9d046b=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']],_0x3fdf40=[ERROR_TYPES[_0x317dca(0x21e)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x317dca(0x1dc)]],_0x2d89c0=this[_0x317dca(0x22b)](_0x121dc7,_0x1cf5b1);if(_0x9d046b['includes'](_0x2d89c0))return'critical';if(_0x3fdf40['includes'](_0x2d89c0))return _0x317dca(0x217);const _0x44b7db=_0x1cf5b1&&_0x1cf5b1['retryCount']||0x0;if(_0x44b7db>=0x3)return _0x317dca(0x217);if(_0x1cf5b1&&_0x1cf5b1['agentId']&&_0x1cf5b1[_0x317dca(0x1c6)]===_0x317dca(0x205))return'medium';return _0x317dca(0x1de);}['isRecoverable'](_0xbfcf93){const _0x143ccb=a0_0x458d1f,_0x23be57=[ERROR_TYPES[_0x143ccb(0x1ce)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x23be57[_0x143ccb(0x1f3)](_0xbfcf93[_0x143ccb(0x1f5)]))return![];if(_0xbfcf93[_0x143ccb(0x209)]>=_0xbfcf93['maxRetries'])return![];if(_0xbfcf93[_0x143ccb(0x238)]==='critical')return![];return!![];}['getMaxRetries'](_0xb2dd14,_0x592c62){const _0x3de2e5=a0_0x458d1f,_0x302cd3=this[_0x3de2e5(0x22b)](_0xb2dd14,_0x592c62),_0x5955de={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0x3de2e5(0x22d)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES[_0x3de2e5(0x228)]]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5955de[_0x302cd3]||0x3;}['shouldRetry'](_0x369062,_0x4b9b4f){const _0x1d5ac3=a0_0x458d1f;if(!_0x369062['recoverable'])return![];if(_0x369062['retryCount']>=_0x369062['maxRetries'])return![];if(_0x4b9b4f&&_0x4b9b4f[_0x1d5ac3(0x21c)])return![];return!![];}['calculateRetryDelay'](_0x3bdd29){const _0x13595d=a0_0x458d1f,_0xb553fb=0x3e8,_0x585cc1=0x7530,_0x1d039c=_0xb553fb*Math['pow'](0x2,_0x3bdd29['retryCount']),_0x9609b1=Math[_0x13595d(0x22f)]()*0x3e8;return Math['min'](_0x1d039c+_0x9609b1,_0x585cc1);}[a0_0x458d1f(0x206)](){const _0xa57de8=a0_0x458d1f;this['recoveryStrategies']['set'](ERROR_TYPES[_0xa57de8(0x1d1)],{'name':'file_not_found_recovery','recover':async _0x2fa3a7=>{const _0x16cdee=_0xa57de8;if(_0x2fa3a7['context']['filePath'])return{'success':![],'reason':_0x16cdee(0x1ed),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0xa57de8(0x1e6)]['set'](ERROR_TYPES[_0xa57de8(0x21e)],{'name':'rate_limit_recovery','recover':async _0x101d60=>{const _0x172ecf=_0xa57de8,_0x5e8be5=this[_0x172ecf(0x1f0)](_0x101d60);return this[_0x172ecf(0x220)][_0x172ecf(0x20d)](_0x172ecf(0x1e3),{'waitTime':_0x5e8be5}),await new Promise(_0x4dae0b=>setTimeout(_0x4dae0b,_0x5e8be5)),{'success':!![],'action':_0x172ecf(0x1fe),'waitTime':_0x5e8be5};}}),this['recoveryStrategies'][_0xa57de8(0x1fa)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':_0xa57de8(0x1ff),'recover':async _0x539869=>{const _0x2125d8=_0xa57de8;if(_0x539869[_0x2125d8(0x1e1)][_0x2125d8(0x1ee)]){const _0x334931=Math[_0x2125d8(0x1ca)](_0x539869['context']['timeout']*1.5,0x493e0);return{'success':!![],'action':_0x2125d8(0x1d9),'newTimeout':_0x334931};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies'][_0xa57de8(0x1fa)](ERROR_TYPES[_0xa57de8(0x1dc)],{'name':'permission_recovery','recover':async _0x3fd972=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0xa57de8(0x1e6)][_0xa57de8(0x1fa)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x33c1fe=>{const _0x2f5631=_0xa57de8;if(_0x33c1fe['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':_0x2f5631(0x22c)};}}),this[_0xa57de8(0x1e6)]['set']('default',{'name':'default_recovery','recover':async _0x17e9b8=>{const _0x3532f3=_0xa57de8,_0x5aa297=this[_0x3532f3(0x216)](_0x17e9b8);return await new Promise(_0x5b584f=>setTimeout(_0x5b584f,_0x5aa297)),{'success':!![],'action':'delay_retry','delay':_0x5aa297};}});}async[a0_0x458d1f(0x204)](_0x3e3837){const _0x2ffa55=a0_0x458d1f;this['logger']['error'](_0x2ffa55(0x1fd),{'errorId':_0x3e3837['id']});if(_0x3e3837['agentId']){}}async['handleRateLimitExceeded'](_0x3500e3){const _0x6a7e81=a0_0x458d1f,_0x12a82f=this['calculateRateLimitWait'](_0x3500e3);this[_0x6a7e81(0x220)]['warn'](_0x6a7e81(0x1e9),{'errorId':_0x3500e3['id'],'waitTime':_0x12a82f,'agentId':_0x3500e3['agentId']});if(_0x3500e3[_0x6a7e81(0x1f2)]){}}async['handleOperationTimeout'](_0x2a5228){const _0x228667=a0_0x458d1f;this[_0x228667(0x220)][_0x228667(0x1df)]('Operation\x20timeout\x20detected',{'errorId':_0x2a5228['id'],'operation':_0x2a5228['context']['operation'],'timeout':_0x2a5228[_0x228667(0x1e1)]['timeout']});}async[a0_0x458d1f(0x207)](_0x2317b8){const _0x2d21cd=a0_0x458d1f;this['logger']['error'](_0x2d21cd(0x22a),{'errorId':_0x2317b8['id'],'type':_0x2317b8[_0x2d21cd(0x1f5)],'message':_0x2317b8['message']}),_0x2317b8['agentId']&&this['logger']['warn'](_0x2d21cd(0x1c9),{'agentId':_0x2317b8[_0x2d21cd(0x1f2)]});}['calculateRateLimitWait'](_0x51bf60){const _0x2323e3=a0_0x458d1f,_0x23817c=0xea60,_0x35dd8c=Math['pow'](0x2,_0x51bf60[_0x2323e3(0x209)]),_0x336751=0x493e0;return Math[_0x2323e3(0x1ca)](_0x23817c*_0x35dd8c,_0x336751);}async[a0_0x458d1f(0x1cb)](_0x5a537a,_0x43089c){const _0x35a307=a0_0x458d1f;try{const _0xeea843={'errorId':_0x5a537a['id'],'timestamp':_0x5a537a['timestamp'],'type':_0x5a537a[_0x35a307(0x1f5)],'severity':_0x5a537a['severity'],'message':_0x5a537a[_0x35a307(0x1f4)],'agentId':_0x5a537a['agentId'],'toolId':_0x5a537a[_0x35a307(0x21b)],'operationId':_0x5a537a[_0x35a307(0x1cd)],'retryCount':_0x5a537a['retryCount'],'recoveryAttempted':!!_0x43089c,'recoverySuccess':_0x43089c?.['success']||![],'recoveryAction':_0x43089c?.['action']||null};this['errorQueue'][_0x35a307(0x1d5)](_0xeea843),!this[_0x35a307(0x1f8)]&&this['processErrorQueue']();}catch(_0x13be0b){this['logger']['error'](_0x35a307(0x218),{'errorId':_0x5a537a['id'],'loggingError':_0x13be0b[_0x35a307(0x1f4)]});}}async[a0_0x458d1f(0x235)](){const _0x3d6c7c=a0_0x458d1f;if(this['isProcessingQueue']||this[_0x3d6c7c(0x1ef)]['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue']['length']>0x0){const _0x47aef0=this['errorQueue']['splice'](0x0,0xa);this[_0x3d6c7c(0x220)]['debug'](_0x3d6c7c(0x1d6),{'batchSize':_0x47aef0['length']}),await new Promise(_0x3644bc=>setTimeout(_0x3644bc,0x64));}}catch(processingError){this['logger']['error'](_0x3d6c7c(0x211),{'error':processingError['message']});}finally{this[_0x3d6c7c(0x1f8)]=![];}}[a0_0x458d1f(0x1e5)](){const _0x7e2c60=a0_0x458d1f;setInterval(()=>{this['errorQueue']['length']>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x562f24=>{const _0x1adde2=a0_0x25b5;this[_0x1adde2(0x1ea)](_0x562f24,{'type':'uncaught_exception','severity':_0x1adde2(0x201)});}),process['on'](_0x7e2c60(0x236),(_0x8e8bfa,_0x597db6)=>{const _0x50fcd1=_0x7e2c60;this[_0x50fcd1(0x1ea)](new Error(_0x50fcd1(0x1d2)+_0x8e8bfa),{'type':_0x50fcd1(0x1f9),'severity':_0x50fcd1(0x217),'promise':_0x597db6['toString']()});}));}[a0_0x458d1f(0x231)](_0x461140){const _0x4a0560=a0_0x458d1f;this[_0x4a0560(0x1eb)][_0x4a0560(0x1fb)]++,!this['errorStats'][_0x4a0560(0x203)][_0x4a0560(0x224)](_0x461140['type'])&&this['errorStats']['errorsByType']['set'](_0x461140[_0x4a0560(0x1f5)],0x0),this['errorStats'][_0x4a0560(0x203)][_0x4a0560(0x1fa)](_0x461140[_0x4a0560(0x1f5)],this[_0x4a0560(0x1eb)]['errorsByType'][_0x4a0560(0x1dd)](_0x461140['type'])+0x1),_0x461140['agentId']&&(!this[_0x4a0560(0x1eb)]['errorsByAgent']['has'](_0x461140[_0x4a0560(0x1f2)])&&this[_0x4a0560(0x1eb)]['errorsByAgent']['set'](_0x461140['agentId'],0x0),this['errorStats']['errorsByAgent'][_0x4a0560(0x1fa)](_0x461140[_0x4a0560(0x1f2)],this['errorStats']['errorsByAgent']['get'](_0x461140['agentId'])+0x1));}['subscribe'](_0x17a5d1){const _0x548e18=a0_0x458d1f;return this[_0x548e18(0x223)]['add'](_0x17a5d1),()=>this['errorSubscribers'][_0x548e18(0x1c7)](_0x17a5d1);}['notifySubscribers'](_0xe3aef0,_0x51ab12){const _0xa05e47=a0_0x458d1f;this[_0xa05e47(0x223)][_0xa05e47(0x1fc)](_0x2b51a4=>{const _0x478f8b=_0xa05e47;try{_0x2b51a4(_0xe3aef0,_0x51ab12);}catch(_0x2db8ae){this['logger'][_0x478f8b(0x1df)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x2db8ae['message']});}});}['generateErrorId'](){const _0x2735dd=a0_0x458d1f;return _0x2735dd(0x1e4)+Date['now']()+'_'+Math[_0x2735dd(0x22f)]()['toString'](0x24)[_0x2735dd(0x1d4)](0x2,0x9);}['getErrorStats'](){const _0x519a3b=a0_0x458d1f;return{'totalErrors':this[_0x519a3b(0x1eb)]['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats']['errorsByType']),'errorsByAgent':Object['fromEntries'](this['errorStats'][_0x519a3b(0x21d)]),'recoveryAttempts':this['errorStats'][_0x519a3b(0x237)],'successfulRecoveries':this[_0x519a3b(0x1eb)][_0x519a3b(0x1c8)],'recoverySuccessRate':this[_0x519a3b(0x1eb)]['recoveryAttempts']>0x0?this['errorStats']['successfulRecoveries']/this['errorStats'][_0x519a3b(0x237)]:0x0,'criticalErrors':this[_0x519a3b(0x1eb)][_0x519a3b(0x1da)],'queueLength':this['errorQueue']['length']};}[a0_0x458d1f(0x210)](){const _0x2af60b=a0_0x458d1f;this[_0x2af60b(0x1eb)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x2af60b(0x1ef)]=[];}}export default ErrorHandler;
1
+ const a0_0x2070e1=a0_0x362c;function a0_0x362c(_0x315844,_0x2c43ef){_0x315844=_0x315844-0x1b0;const _0x50ef7b=a0_0x50ef();let _0x362c7c=_0x50ef7b[_0x315844];if(a0_0x362c['fwjOZh']===undefined){var _0x1bf8aa=function(_0x3e585e){const _0x3755a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x368922='',_0x2035fa='';for(let _0x59c871=0x0,_0x29b1b9,_0x2b13a7,_0x5001ce=0x0;_0x2b13a7=_0x3e585e['charAt'](_0x5001ce++);~_0x2b13a7&&(_0x29b1b9=_0x59c871%0x4?_0x29b1b9*0x40+_0x2b13a7:_0x2b13a7,_0x59c871++%0x4)?_0x368922+=String['fromCharCode'](0xff&_0x29b1b9>>(-0x2*_0x59c871&0x6)):0x0){_0x2b13a7=_0x3755a9['indexOf'](_0x2b13a7);}for(let _0x78c447=0x0,_0x240b92=_0x368922['length'];_0x78c447<_0x240b92;_0x78c447++){_0x2035fa+='%'+('00'+_0x368922['charCodeAt'](_0x78c447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2035fa);};a0_0x362c['ZnJXVg']=_0x1bf8aa,a0_0x362c['DHVtxr']={},a0_0x362c['fwjOZh']=!![];}const _0x5ff42a=_0x50ef7b[0x0],_0x2863bf=_0x315844+_0x5ff42a,_0x42b833=a0_0x362c['DHVtxr'][_0x2863bf];return!_0x42b833?(_0x362c7c=a0_0x362c['ZnJXVg'](_0x362c7c),a0_0x362c['DHVtxr'][_0x2863bf]=_0x362c7c):_0x362c7c=_0x42b833,_0x362c7c;}(function(_0x4e070b,_0x21cc8c){const _0x4f0df5=a0_0x362c,_0xa22ff5=_0x4e070b();while(!![]){try{const _0xdae7ee=-parseInt(_0x4f0df5(0x1e9))/0x1+parseInt(_0x4f0df5(0x1e4))/0x2*(-parseInt(_0x4f0df5(0x1c8))/0x3)+parseInt(_0x4f0df5(0x204))/0x4+parseInt(_0x4f0df5(0x1e7))/0x5+parseInt(_0x4f0df5(0x1dc))/0x6+parseInt(_0x4f0df5(0x1b6))/0x7+-parseInt(_0x4f0df5(0x1c5))/0x8;if(_0xdae7ee===_0x21cc8c)break;else _0xa22ff5['push'](_0xa22ff5['shift']());}catch(_0x172d76){_0xa22ff5['push'](_0xa22ff5['shift']());}}}(a0_0x50ef,0xac815));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x50ef(){const _0x4060e6=['t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','Aw5WDxreyxrH','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM90Awz5u3vIC2nYAwjLCNm','t1bfuKfusu9ox1rjtuvpvvq','zgvSzxrL','BwvKAxvT','Dg9mB3DLCKnHC2u','mJmZmJGYnfvZq3nvAG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','DgLTzwqGB3v0','zxjYB3jZqNLbz2vUDa','uKfurv9msu1jvf9fwenfrurfra','Aw52ywXPza','AgfZ','vu5ltK9xtL9fuLjpuG','ChjVy2vZC0vYCM9YuxvLDwu','AgLNAa','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','Dg90ywXfCNjVCNm','Aw5JCMvHC2vKx3rPBwvVDxq','Bg9NrxjYB3i','zxjYB3jZqNLuExbL','B3bLCMf0Aw9Uswq','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','z2v0','y3jPDgLJywXfCNjVCNm','Aw5MBW','ywDLBNrjza','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','DgLTzw91Da','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','ywn0Aw9U','C3vIC3rY','ChjVy2vZC0vYCM9Y','zgv0zxjTAw5LrxjYB3juExbL','uhjVy2vZC2LUzYbLCNjVCG','y29Kzq','DhLWzq','Dg9VBeLK','zw1PDa','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','y29UzMLN','y3jPDgLJywW','CMfUzg9T','odu2nJC3nvbLCxHuBq','C2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','vu5bvvrit1jjwKve','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','zgv0zxjTAw5Lu2v2zxjPDhK','z2vUzxjHDgvfCNjVCKLK','Bg9Nz2vY','Dg9tDhjPBMC','Aw5JBhvKzxm','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jtDwjZy3jPyMvYCW','CMv0CNLdB3vUDa','zMLSzvbHDgG','CMvJB3zLCNLtDhjHDgvNAwvZ','mtCZodC4ndHKzu9evLG','zxjYB3i','C2v0','mtqXshfUtLzd','zNjVBuvUDhjPzxm','y2fSy3vSyxrLuMv0CNLezwXHEq','z2v0twf4uMv0CMLLCW','yxbPx3jLCxvLC3q','AgfUzgXLrxjYB3i','zM9YrwfJAa','CMvJB3zLCNLbDhrLBxb0CW','rKLmrv9ot1rFrK9vtKq','uevstuLtu0LptL9eru5jruq','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jtDgf0CW','B3bLCMf0Aw9U','CgvYBwLZC2LVBL9YzwnVDMvYEq','rK9sqKLerevo','ywrK','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','C3bSAwnL','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','zxjYB3jrDwv1zq','mZC5mdyZmK5cCLPzBq','CMvJB3zLCG','AxnqCM9JzxnZAw5NuxvLDwu','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','CMvJB3zLCMfIBgu','z2v0rxjYB3jtDgf0CW','Dw5KzwzPBMvK','Bwf4uMv0CMLLCW','mJq5ngLmwxLrCG','zgvIDwC','AxnszwnVDMvYywjSzq','mZG0nZC4mhvpDuvVAG','vKfmsurbveLptL9fuLjpuG','mJy5nJG4A09fse1Y','BgvUz3rO','BMfTzq','D2fYBG','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','zxjYxW','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','AgfUzgXLq3jPDgLJywXfCNjVCG','C3vJy2vZC2z1BfjLy292zxjPzxm','y29UzMLNDxjHDgLVBG','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','DxbKyxrLrxjYB3jtDgf0CW','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ywDLBNrFy29TBxvUAwnHDgLVBG','rxjYB3iGBg9Nz2LUzYbMywLSzwq','C3vJy2vZCW','tK9ux0zpvu5e','BwvZC2fNzq','C3rHDhvZ'];a0_0x50ef=function(){return _0x4060e6;};return a0_0x50ef();}export class ErrorHandler{constructor(_0x368922,_0x2035fa){const _0x26a784=a0_0x362c;this[_0x26a784(0x1b3)]=_0x368922||{},this['logger']=_0x2035fa,this[_0x26a784(0x1d3)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x26a784(0x1c4)]=new Map(),this['errorSubscribers']=new Set(),this['errorQueue']=[],this['isProcessingQueue']=![],this[_0x26a784(0x205)](),this['setupErrorProcessing']();}async[a0_0x2070e1(0x1cd)](_0x59c871,_0x29b1b9={}){const _0x3c2600=a0_0x2070e1;try{const _0x2b13a7=this['classifyError'](_0x59c871,_0x29b1b9),_0x5001ce=await this[_0x3c2600(0x21f)](_0x2b13a7);return this[_0x3c2600(0x1f4)](_0x2b13a7),this[_0x3c2600(0x1ff)](_0x2b13a7,_0x5001ce),_0x5001ce;}catch(_0x78c447){return this['logger'][_0x3c2600(0x1c6)]('Error\x20handling\x20failed',{'originalError':_0x59c871[_0x3c2600(0x1fa)],'handlingError':_0x78c447[_0x3c2600(0x1fa)]}),{'success':![],'error':_0x78c447,'recovery':null,'severity':'critical'};}}['classifyError'](_0x240b92,_0x2aa2bf={}){const _0x2e2d94=a0_0x2070e1,_0x3f7416={'id':this[_0x2e2d94(0x1bc)](),'timestamp':new Date()['toISOString'](),'message':_0x240b92['message']||_0x240b92['toString'](),'stack':_0x240b92['stack']||null,'code':_0x240b92[_0x2e2d94(0x222)]||null,'type':this['determineErrorType'](_0x240b92,_0x2aa2bf),'severity':this[_0x2e2d94(0x1bb)](_0x240b92,_0x2aa2bf),'context':{..._0x2aa2bf},'recoverable':!![],'retryCount':_0x2aa2bf['retryCount']||0x0,'maxRetries':this[_0x2e2d94(0x1cb)](_0x240b92,_0x2aa2bf)};return _0x2aa2bf['agentId']&&(_0x3f7416[_0x2e2d94(0x219)]=_0x2aa2bf[_0x2e2d94(0x219)]),_0x2aa2bf['toolId']&&(_0x3f7416[_0x2e2d94(0x1b0)]=_0x2aa2bf[_0x2e2d94(0x1b0)]),_0x2aa2bf[_0x2e2d94(0x214)]&&(_0x3f7416[_0x2e2d94(0x214)]=_0x2aa2bf[_0x2e2d94(0x214)]),_0x3f7416[_0x2e2d94(0x1e0)]=this['isRecoverable'](_0x3f7416),_0x3f7416;}async['processError'](_0x32f56f){const _0x2cc667=a0_0x2070e1;try{this['logger'][_0x2cc667(0x1c6)](_0x2cc667(0x221),{'errorId':_0x32f56f['id'],'type':_0x32f56f['type'],'severity':_0x32f56f[_0x2cc667(0x1b7)],'agentId':_0x32f56f['agentId'],'message':_0x32f56f[_0x2cc667(0x1fa)]});_0x32f56f['severity']==='critical'&&await this[_0x2cc667(0x1f0)](_0x32f56f);let _0x56c7c2=null;return _0x32f56f['recoverable']&&_0x32f56f['retryCount']<_0x32f56f[_0x2cc667(0x1e3)]&&(_0x56c7c2=await this['attemptRecovery'](_0x32f56f)),await this[_0x2cc667(0x212)](_0x32f56f,_0x56c7c2),{'success':_0x56c7c2?.['success']||![],'errorId':_0x32f56f['id'],'errorType':_0x32f56f[_0x2cc667(0x223)],'severity':_0x32f56f[_0x2cc667(0x1b7)],'recovery':_0x56c7c2,'shouldRetry':this['shouldRetry'](_0x32f56f,_0x56c7c2),'retryDelay':this[_0x2cc667(0x1ca)](_0x32f56f)};}catch(processingError){return this['logger'][_0x2cc667(0x1c6)](_0x2cc667(0x1c0),{'errorId':_0x32f56f['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x32f56f['id'],'errorType':_0x32f56f[_0x2cc667(0x223)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0xb54b2e){const _0x656ff5=a0_0x2070e1;try{this[_0x656ff5(0x1d3)]['recoveryAttempts']++;const _0x4835e1=this['recoveryStrategies']['get'](_0xb54b2e[_0x656ff5(0x223)])||this['recoveryStrategies']['get']('default');if(!_0x4835e1)return this[_0x656ff5(0x1bd)]['warn']('No\x20recovery\x20strategy\x20found',{'errorType':_0xb54b2e[_0x656ff5(0x223)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x656ff5(0x1bd)]['info']('Attempting\x20error\x20recovery',{'errorId':_0xb54b2e['id'],'errorType':_0xb54b2e['type'],'strategy':_0x4835e1[_0x656ff5(0x1eb)],'retryCount':_0xb54b2e[_0x656ff5(0x1c2)]});const _0x1b7806=await _0x4835e1[_0x656ff5(0x1dd)](_0xb54b2e);return _0x1b7806[_0x656ff5(0x1f8)]?(this['errorStats'][_0x656ff5(0x1f1)]++,this['logger']['info'](_0x656ff5(0x20f),{'errorId':_0xb54b2e['id'],'strategy':_0x4835e1['name']})):this['logger'][_0x656ff5(0x1ec)](_0x656ff5(0x206),{'errorId':_0xb54b2e['id'],'strategy':_0x4835e1['name'],'reason':_0x1b7806['reason']}),_0x1b7806;}catch(_0x3b86bf){return this['logger'][_0x656ff5(0x1c6)]('Recovery\x20attempt\x20failed',{'errorId':_0xb54b2e['id'],'recoveryError':_0x3b86bf['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x3b86bf[_0x656ff5(0x1fa)]};}}async['handleCriticalError'](_0x498532){const _0x4f605f=a0_0x2070e1;try{this[_0x4f605f(0x1d3)][_0x4f605f(0x217)]++,this[_0x4f605f(0x1bd)]['error'](_0x4f605f(0x1b8),{'errorId':_0x498532['id'],'message':_0x498532[_0x4f605f(0x1fa)],'context':_0x498532['context']});typeof process!=='undefined'&&process[_0x4f605f(0x1b1)]&&process['emit']('criticalError',_0x498532);switch(_0x498532[_0x4f605f(0x223)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x4f605f(0x1ed)](_0x498532);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this['handleRateLimitExceeded'](_0x498532);break;case ERROR_TYPES[_0x4f605f(0x200)]:await this[_0x4f605f(0x1ba)](_0x498532);break;default:await this['handleGenericCriticalError'](_0x498532);}}catch(_0x4f06f6){this[_0x4f605f(0x1bd)]['error']('Critical\x20error\x20handling\x20failed',{'errorId':_0x498532['id'],'handlingError':_0x4f06f6[_0x4f605f(0x1fa)]});}}[a0_0x2070e1(0x220)](_0x81357f,_0x4d7a88){const _0x52869c=a0_0x2070e1;if(_0x81357f[_0x52869c(0x222)]==='ENOENT'||_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1f9)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x81357f['code']==='EACCES'||_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1d6)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1b9)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x52869c(0x209)];const _0x5df298=_0x81357f['message']?.[_0x52869c(0x203)]()||'';if(_0x5df298[_0x52869c(0x1bf)](_0x52869c(0x21b))||_0x5df298[_0x52869c(0x1bf)](_0x52869c(0x207)))return ERROR_TYPES[_0x52869c(0x200)];if(_0x5df298[_0x52869c(0x1bf)]('validation')||_0x5df298['includes'](_0x52869c(0x20a)))return ERROR_TYPES[_0x52869c(0x1e8)];if(_0x5df298[_0x52869c(0x1bf)]('config')||_0x5df298['includes'](_0x52869c(0x1f2)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x4d7a88[_0x52869c(0x1d4)]==='file_operation')return ERROR_TYPES[_0x52869c(0x1d0)];if(_0x4d7a88['operation']===_0x52869c(0x1cc))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x52869c(0x20c)];}[a0_0x2070e1(0x1bb)](_0x128cdf,_0x314749){const _0x307984=a0_0x2070e1,_0x229492=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x307984(0x1d2)]],_0x322c43=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES[_0x307984(0x200)],ERROR_TYPES['PERMISSION_DENIED']],_0x5d6d19=this[_0x307984(0x220)](_0x128cdf,_0x314749);if(_0x229492[_0x307984(0x1bf)](_0x5d6d19))return _0x307984(0x1b4);if(_0x322c43['includes'](_0x5d6d19))return _0x307984(0x20e);const _0x506300=_0x314749&&_0x314749[_0x307984(0x1c2)]||0x0;if(_0x506300>=0x3)return _0x307984(0x20e);if(_0x314749&&_0x314749[_0x307984(0x219)]&&_0x314749[_0x307984(0x1d4)]===_0x307984(0x1f6))return _0x307984(0x202);return'low';}[a0_0x2070e1(0x1e6)](_0x180535){const _0x51c7c8=a0_0x2070e1,_0x33f36a=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x33f36a['includes'](_0x180535[_0x51c7c8(0x223)]))return![];if(_0x180535[_0x51c7c8(0x1c2)]>=_0x180535[_0x51c7c8(0x1e3)])return![];if(_0x180535['severity']==='critical')return![];return!![];}['getMaxRetries'](_0x475bfe,_0x2fc450){const _0x4dcff0=a0_0x2070e1,_0x315aa5=this['determineErrorType'](_0x475bfe,_0x2fc450),_0x5b008e={[ERROR_TYPES[_0x4dcff0(0x209)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5b008e[_0x315aa5]||0x3;}['shouldRetry'](_0x537990,_0x5d298d){const _0x898a18=a0_0x2070e1;if(!_0x537990[_0x898a18(0x1e0)])return![];if(_0x537990[_0x898a18(0x1c2)]>=_0x537990[_0x898a18(0x1e3)])return![];if(_0x5d298d&&_0x5d298d['success'])return![];return!![];}[a0_0x2070e1(0x1ca)](_0x343760){const _0xec3ba4=a0_0x2070e1,_0x39774e=0x3e8,_0x1386cc=0x7530,_0x5379d6=_0x39774e*Math['pow'](0x2,_0x343760['retryCount']),_0x12ea36=Math[_0xec3ba4(0x1b5)]()*0x3e8;return Math['min'](_0x5379d6+_0x12ea36,_0x1386cc);}['initializeRecoveryStrategies'](){const _0x18c18a=a0_0x2070e1;this['recoveryStrategies']['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':_0x18c18a(0x215),'recover':async _0x5ceca8=>{const _0x58431c=_0x18c18a;if(_0x5ceca8['context'][_0x58431c(0x1c3)])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':_0x58431c(0x1df)};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x18c18a(0x1c4)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':'rate_limit_recovery','recover':async _0x5c9322=>{const _0x1d7bcf=_0x18c18a,_0x437c06=this[_0x1d7bcf(0x1d8)](_0x5c9322);return this[_0x1d7bcf(0x1bd)][_0x1d7bcf(0x218)](_0x1d7bcf(0x1f3),{'waitTime':_0x437c06}),await new Promise(_0x3d037=>setTimeout(_0x3d037,_0x437c06)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x437c06};}}),this[_0x18c18a(0x1c4)]['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x106617=>{const _0x481dd5=_0x18c18a;if(_0x106617['context']['timeout']){const _0x358833=Math['min'](_0x106617['context'][_0x481dd5(0x21b)]*1.5,0x493e0);return{'success':!![],'action':_0x481dd5(0x211),'newTimeout':_0x358833};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)](ERROR_TYPES[_0x18c18a(0x1d1)],{'name':_0x18c18a(0x1d5),'recover':async _0x2e75e=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x5e005d=>{const _0x2c236c=_0x18c18a;if(_0x5e005d['context'][_0x2c236c(0x1fd)])return{'success':!![],'action':'data_sanitization','suggestion':_0x2c236c(0x21a)};return{'success':![],'reason':_0x2c236c(0x21c)};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)]('default',{'name':'default_recovery','recover':async _0x459c8e=>{const _0x1b99ad=_0x18c18a,_0x321159=this[_0x1b99ad(0x1ca)](_0x459c8e);return await new Promise(_0x28140b=>setTimeout(_0x28140b,_0x321159)),{'success':!![],'action':'delay_retry','delay':_0x321159};}});}async['handleAuthenticationFailure'](_0x492f25){const _0x1e919c=a0_0x2070e1;this[_0x1e919c(0x1bd)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x492f25['id']});if(_0x492f25[_0x1e919c(0x219)]){}}async[a0_0x2070e1(0x1da)](_0x4c1aaf){const _0xe61daa=a0_0x2070e1,_0x7abcc3=this['calculateRateLimitWait'](_0x4c1aaf);this[_0xe61daa(0x1bd)][_0xe61daa(0x1ec)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4c1aaf['id'],'waitTime':_0x7abcc3,'agentId':_0x4c1aaf['agentId']});if(_0x4c1aaf['agentId']){}}async['handleOperationTimeout'](_0x188f4e){const _0x456c86=a0_0x2070e1;this['logger'][_0x456c86(0x1c6)](_0x456c86(0x1fc),{'errorId':_0x188f4e['id'],'operation':_0x188f4e['context'][_0x456c86(0x1d4)],'timeout':_0x188f4e['context']['timeout']});}async['handleGenericCriticalError'](_0x46bc73){const _0x518a1a=a0_0x2070e1;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x46bc73['id'],'type':_0x46bc73[_0x518a1a(0x223)],'message':_0x46bc73[_0x518a1a(0x1fa)]}),_0x46bc73[_0x518a1a(0x219)]&&this['logger'][_0x518a1a(0x1ec)]('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x46bc73['agentId']});}['calculateRateLimitWait'](_0x47aa5){const _0x1ceb8d=0xea60,_0x6b9231=Math['pow'](0x2,_0x47aa5['retryCount']),_0x264976=0x493e0;return Math['min'](_0x1ceb8d*_0x6b9231,_0x264976);}async['logError'](_0x568db8,_0x332c7d){const _0x7b2b9b=a0_0x2070e1;try{const _0x39bfbf={'errorId':_0x568db8['id'],'timestamp':_0x568db8['timestamp'],'type':_0x568db8['type'],'severity':_0x568db8['severity'],'message':_0x568db8[_0x7b2b9b(0x1fa)],'agentId':_0x568db8['agentId'],'toolId':_0x568db8['toolId'],'operationId':_0x568db8[_0x7b2b9b(0x214)],'retryCount':_0x568db8[_0x7b2b9b(0x1c2)],'recoveryAttempted':!!_0x332c7d,'recoverySuccess':_0x332c7d?.[_0x7b2b9b(0x1f8)]||![],'recoveryAction':_0x332c7d?.[_0x7b2b9b(0x21d)]||null};this['errorQueue']['push'](_0x39bfbf),!this['isProcessingQueue']&&this[_0x7b2b9b(0x20d)]();}catch(_0x47b361){this[_0x7b2b9b(0x1bd)]['error'](_0x7b2b9b(0x1f7),{'errorId':_0x568db8['id'],'loggingError':_0x47b361['message']});}}async['processErrorQueue'](){const _0xf1c300=a0_0x2070e1;if(this[_0xf1c300(0x1de)]||this[_0xf1c300(0x1db)][_0xf1c300(0x1ea)]===0x0)return;this[_0xf1c300(0x1de)]=!![];try{while(this['errorQueue']['length']>0x0){const _0x1e4736=this['errorQueue'][_0xf1c300(0x1d9)](0x0,0xa);this[_0xf1c300(0x1bd)][_0xf1c300(0x1e5)](_0xf1c300(0x1f5),{'batchSize':_0x1e4736[_0xf1c300(0x1ea)]}),await new Promise(_0x4f8963=>setTimeout(_0x4f8963,0x64));}}catch(processingError){this[_0xf1c300(0x1bd)][_0xf1c300(0x1c6)]('Error\x20queue\x20processing\x20failed',{'error':processingError[_0xf1c300(0x1fa)]});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x1ba0c0=a0_0x2070e1;setInterval(()=>{const _0x3dbb62=a0_0x362c;this[_0x3dbb62(0x1db)]['length']>0x0&&this[_0x3dbb62(0x20d)]();},0x1388),typeof process!==_0x1ba0c0(0x1e2)&&(process['on']('uncaughtException',_0x38b257=>{const _0x54bf07=_0x1ba0c0;this[_0x54bf07(0x1cd)](_0x38b257,{'type':'uncaught_exception','severity':_0x54bf07(0x1b4)});}),process['on'](_0x1ba0c0(0x1fe),(_0x593fa2,_0x45dcc4)=>{const _0x3df5cb=_0x1ba0c0;this[_0x3df5cb(0x1cd)](new Error(_0x3df5cb(0x1ef)+_0x593fa2),{'type':_0x3df5cb(0x1b2),'severity':_0x3df5cb(0x20e),'promise':_0x45dcc4[_0x3df5cb(0x1be)]()});}));}['updateErrorStats'](_0x209096){const _0x404aed=a0_0x2070e1;this['errorStats']['totalErrors']++,!this[_0x404aed(0x1d3)][_0x404aed(0x213)]['has'](_0x209096[_0x404aed(0x223)])&&this['errorStats']['errorsByType']['set'](_0x209096['type'],0x0),this['errorStats']['errorsByType'][_0x404aed(0x1c7)](_0x209096['type'],this[_0x404aed(0x1d3)]['errorsByType'][_0x404aed(0x216)](_0x209096['type'])+0x1),_0x209096[_0x404aed(0x219)]&&(!this['errorStats']['errorsByAgent'][_0x404aed(0x20b)](_0x209096[_0x404aed(0x219)])&&this['errorStats'][_0x404aed(0x208)]['set'](_0x209096['agentId'],0x0),this['errorStats']['errorsByAgent']['set'](_0x209096['agentId'],this[_0x404aed(0x1d3)][_0x404aed(0x208)]['get'](_0x209096[_0x404aed(0x219)])+0x1));}['subscribe'](_0x16139a){const _0x59b5a1=a0_0x2070e1;return this['errorSubscribers'][_0x59b5a1(0x1d7)](_0x16139a),()=>this['errorSubscribers'][_0x59b5a1(0x201)](_0x16139a);}['notifySubscribers'](_0x1a5e10,_0x1a9dea){const _0x4d121d=a0_0x2070e1;this[_0x4d121d(0x1c1)][_0x4d121d(0x1ce)](_0x2a12a5=>{const _0x525b53=_0x4d121d;try{_0x2a12a5(_0x1a5e10,_0x1a9dea);}catch(_0x36359e){this[_0x525b53(0x1bd)]['error']('Error\x20subscriber\x20callback\x20failed',{'error':_0x36359e[_0x525b53(0x1fa)]});}});}['generateErrorId'](){const _0x40146b=a0_0x2070e1;return _0x40146b(0x1ee)+Date['now']()+'_'+Math[_0x40146b(0x1b5)]()[_0x40146b(0x1be)](0x24)[_0x40146b(0x21e)](0x2,0x9);}[a0_0x2070e1(0x1e1)](){const _0x47451d=a0_0x2070e1;return{'totalErrors':this[_0x47451d(0x1d3)][_0x47451d(0x210)],'errorsByType':Object[_0x47451d(0x1c9)](this[_0x47451d(0x1d3)][_0x47451d(0x213)]),'errorsByAgent':Object['fromEntries'](this[_0x47451d(0x1d3)][_0x47451d(0x208)]),'recoveryAttempts':this['errorStats'][_0x47451d(0x1cf)],'successfulRecoveries':this[_0x47451d(0x1d3)][_0x47451d(0x1f1)],'recoverySuccessRate':this['errorStats'][_0x47451d(0x1cf)]>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x47451d(0x1d3)][_0x47451d(0x217)],'queueLength':this['errorQueue']['length']};}['clearErrorStats'](){const _0x3b2466=a0_0x2070e1;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x3b2466(0x1db)]=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- const a0_0x4621b2=a0_0x5463;(function(_0x16a5a7,_0x1837ba){const _0x2005cb=a0_0x5463,_0x329183=_0x16a5a7();while(!![]){try{const _0x32dd54=-parseInt(_0x2005cb(0x1bc))/0x1*(parseInt(_0x2005cb(0x1c4))/0x2)+parseInt(_0x2005cb(0x1e5))/0x3*(parseInt(_0x2005cb(0x1ee))/0x4)+parseInt(_0x2005cb(0x1c2))/0x5*(-parseInt(_0x2005cb(0x1c8))/0x6)+parseInt(_0x2005cb(0x1b7))/0x7*(parseInt(_0x2005cb(0x1e1))/0x8)+-parseInt(_0x2005cb(0x1e4))/0x9+parseInt(_0x2005cb(0x1df))/0xa*(-parseInt(_0x2005cb(0x1f1))/0xb)+-parseInt(_0x2005cb(0x1ea))/0xc*(-parseInt(_0x2005cb(0x1b4))/0xd);if(_0x32dd54===_0x1837ba)break;else _0x329183['push'](_0x329183['shift']());}catch(_0x1d86a5){_0x329183['push'](_0x329183['shift']());}}}(a0_0x5445,0x500f1));import a0_0x41a857 from'path';import{randomUUID}from'crypto';import a0_0x498a8d from'../utilities/fileProcessor.js';import a0_0x4433ed from'../utilities/attachmentValidator.js';function a0_0x5463(_0x1167fe,_0x485147){_0x1167fe=_0x1167fe-0x1aa;const _0x544565=a0_0x5445();let _0x5463ab=_0x544565[_0x1167fe];if(a0_0x5463['fYuSgS']===undefined){var _0x544941=function(_0x387f6e){const _0x4ea7fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41a857='',_0x498a8d='';for(let _0x4433ed=0x0,_0x31db09,_0xe29e02,_0x53d5b4=0x0;_0xe29e02=_0x387f6e['charAt'](_0x53d5b4++);~_0xe29e02&&(_0x31db09=_0x4433ed%0x4?_0x31db09*0x40+_0xe29e02:_0xe29e02,_0x4433ed++%0x4)?_0x41a857+=String['fromCharCode'](0xff&_0x31db09>>(-0x2*_0x4433ed&0x6)):0x0){_0xe29e02=_0x4ea7fe['indexOf'](_0xe29e02);}for(let _0x48af84=0x0,_0x1f4c59=_0x41a857['length'];_0x48af84<_0x1f4c59;_0x48af84++){_0x498a8d+='%'+('00'+_0x41a857['charCodeAt'](_0x48af84)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x498a8d);};a0_0x5463['DEcjqp']=_0x544941,a0_0x5463['kJZNZq']={},a0_0x5463['fYuSgS']=!![];}const _0x120c3b=_0x544565[0x0],_0x3b2258=_0x1167fe+_0x120c3b,_0x5b1be8=a0_0x5463['kJZNZq'][_0x3b2258];return!_0x5b1be8?(_0x5463ab=a0_0x5463['DEcjqp'](_0x5463ab),a0_0x5463['kJZNZq'][_0x3b2258]=_0x5463ab):_0x5463ab=_0x5b1be8,_0x5463ab;}function a0_0x5445(){const _0x57ada0=['qxr0ywnOBwvUDcbHy3rPDMuGC3rHDguGDg9Nz2XLza','mZq3mtKYDLPTC0j5','zxjYB3jZ','zxjYB3i','mZe0ntG3ogzACxDkCa','mJKXswLyDMfn','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','y29UDgvUDc5IyxnLnJq','qxr0ywnOBwvUDcbKzwXLDgvK','z2v0qwn0AxzLqxr0ywnOBwvUDhm','odaYmdq0ENnptMfO','Bg9Nz2vY','D3jPDgvgAwXL','Aw5KzxG','ntCYDe52y0Ht','z2v0qxr0ywnOBwvUDhm','rMLSzsbUB3qGzM91BMq6ia','ndrtzurXy20','z2v0twLTzvr5Cgu','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Dg9ju09tDhjPBMC','yxr0ywnOBwvUDhm','Dgv4Da','y2fSy3vSyxrLsgfZAa','Dg9Nz2XLqwn0AxzL','DxbSB2fKrMLSzq','y29UDgvUDa','C2L6zuXLDMvS','y3jLyxrLrgLYzwn0B3j5','ChjVy2vZC0zPBgu','AM9PBG','BgfZDe1VzgLMAwvK','zMLSDgvY','CMvMzxjLBMnL','BwvZC2fNzq','z2v0qxr0ywnOBwvUDenVBNrLBNq','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','mJiXC0PAB0T6','y29UDgvUDc50Ehq','z2v0q29UDgvUDfr5Cgu','otflyMfeBKC','Bw9Kzq','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','CMvHzezPBgu','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','mti1mdaZvMDbC2P0','C2f2zuLUzgv4','Aw5MBW','lI4U','z2v0qxr0ywnOBwvUDa','zgvSzxrLqxr0ywnOBwvUDa','nJaWode1s3bHwK1s','zgvSzxrLrgLYzwn0B3j5','mMn1Ehvbsa','zMLSzu5HBwu','DMfSAwq','C3rYAw5NAwz5','mtHkCLfoq3u','Bg9HzeLUzgv4','DMfSAwrHDg9Y','Bwv0ywrHDgeUANnVBG','rxjYB3iGC2f2Aw5NigLUzgv4','z2v0qxr0ywnOBwvUDfbYzxzPzxC','yMfZzw5HBwu','C3vIC3rYAw5N','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','zMLSzvbYB2nLC3nVCG','rMLSzsb1CgXVywrLza','ywDLBNrszwzZ','Aw1Hz2u','zgf0ytPPBwfNzq','rxjYB3iGDxbSB2fKAw5NigzPBgu','ywDLBNrjza','vMfSAwrHDgLVBIbMywLSzwq6ia','ywn0AxzL','DxrMoa','z2v0rMLSzvn0yxrZ','BgvUz3rO','CMvMzxjLBMnLzej5','zMLSzuv4Axn0CW','mtm3odmZmfbSAvzJCG'];a0_0x5445=function(){return _0x57ada0;};return a0_0x5445();}import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x41a857['join'](ATTACHMENTS_DIR,a0_0x4621b2(0x1b3));class FileAttachmentService{constructor(_0x31db09={},_0xe29e02=null){const _0x33e12e=a0_0x4621b2;this['config']=_0x31db09,this['logger']=_0xe29e02,this['fileProcessor']=new a0_0x498a8d(_0x31db09,_0xe29e02),this['validator']=new a0_0x4433ed(_0x31db09,_0xe29e02),this[_0x33e12e(0x1ed)]=null;}async['initialize'](){const _0x1e3e12=a0_0x4621b2;try{await this['fileProcessor'][_0x1e3e12(0x1aa)](ATTACHMENTS_DIR),await this['loadIndex'](),this[_0x1e3e12(0x1eb)]?.[_0x1e3e12(0x1be)]('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x53d5b4){this['logger']?.[_0x1e3e12(0x1e3)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x53d5b4[_0x1e3e12(0x1b0)]});throw _0x53d5b4;}}async['loadIndex'](){const _0xa7c1e8=a0_0x4621b2;try{const _0x48af84=await this[_0xa7c1e8(0x1d1)]['fileExists'](INDEX_FILE);if(!_0x48af84)this['index']={'attachments':{},'agentRefs':{}},await this[_0xa7c1e8(0x1bd)]();else{const _0x1f4c59=await this['fileProcessor'][_0xa7c1e8(0x1ba)](INDEX_FILE,_0xa7c1e8(0x1da));this['index']=JSON['parse'](_0x1f4c59);}return this[_0xa7c1e8(0x1ed)];}catch(_0x33b1fe){return this[_0xa7c1e8(0x1eb)]?.[_0xa7c1e8(0x1e3)]('Error\x20loading\x20index',{'error':_0x33b1fe[_0xa7c1e8(0x1b0)]}),this[_0xa7c1e8(0x1ed)]={'attachments':{},'agentRefs':{}},this['index'];}}async[a0_0x4621b2(0x1bd)](){const _0x5a90fb=a0_0x4621b2;try{await this['fileProcessor'][_0x5a90fb(0x1ec)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),_0x5a90fb(0x1da));}catch(_0x448324){this['logger']?.['error'](_0x5a90fb(0x1cc),{'error':_0x448324['message']});throw _0x448324;}}async[a0_0x4621b2(0x1f9)]({agentId:_0x1ce9e9,filePath:_0x4e8cd0,mode:mode='content',fileName:fileName=null}){const _0x1c2ad4=a0_0x4621b2;!this['index']&&await this['loadIndex']();try{const _0x523ea5=await this['fileProcessor']['fileExists'](_0x4e8cd0);if(!_0x523ea5)throw new Error(_0x1c2ad4(0x1f0)+_0x4e8cd0);const _0x258a22=await this['fileProcessor'][_0x1c2ad4(0x1db)](_0x4e8cd0),_0x3fbea6=fileName||a0_0x41a857[_0x1c2ad4(0x1ce)](_0x4e8cd0),_0x545e42=a0_0x41a857['extname'](_0x3fbea6),_0x33aeef=this[_0x1c2ad4(0x1ca)]['validate']({'fileName':_0x3fbea6,'size':_0x258a22['size'],'mode':mode,'path':mode===_0x1c2ad4(0x1af)?_0x4e8cd0:null});if(!_0x33aeef[_0x1c2ad4(0x1c6)])throw new Error(_0x1c2ad4(0x1d8)+_0x33aeef[_0x1c2ad4(0x1e2)][_0x1c2ad4(0x1ac)](',\x20'));const _0x2bf938=randomUUID(),_0x41b0fb=await this[_0x1c2ad4(0x1d1)][_0x1c2ad4(0x1f7)](_0x4e8cd0),_0x551b41=this[_0x1c2ad4(0x1ca)][_0x1c2ad4(0x1b6)](_0x3fbea6),_0x286da1=a0_0x41a857['join'](ATTACHMENTS_DIR,_0x1ce9e9,_0x2bf938);await this[_0x1c2ad4(0x1d1)]['createDirectory'](_0x286da1);let _0x36fcd4=0x0,_0x17318e=null;if(mode===_0x1c2ad4(0x1fa)){const processResult=await this[_0x1c2ad4(0x1d1)][_0x1c2ad4(0x1ab)](_0x4e8cd0,_0x551b41),_0x11c367=processResult['content'];if(_0x551b41===_0x1c2ad4(0x1f6))_0x17318e=_0x1c2ad4(0x1b5);else{if(_0x551b41===_0x1c2ad4(0x1d4))_0x17318e=_0x1c2ad4(0x1e7);else _0x551b41==='pdf'&&(_0x17318e=_0x1c2ad4(0x1b5));}const _0x2df0b4=a0_0x41a857[_0x1c2ad4(0x1ac)](_0x286da1,_0x17318e);await this[_0x1c2ad4(0x1d1)]['writeFile'](_0x2df0b4,_0x11c367,_0x1c2ad4(0x1da)),_0x36fcd4=this[_0x1c2ad4(0x1d1)]['estimateTokens'](_0x11c367);}const _0x3aa201={'fileId':_0x2bf938,'agentId':_0x1ce9e9,'fileName':_0x3fbea6,'originalPath':_0x4e8cd0,'fileType':this[_0x1c2ad4(0x1ca)][_0x1c2ad4(0x1f2)](_0x3fbea6),'fileExtension':_0x545e42,'size':_0x258a22['size'],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x1c2ad4(0x1f4)](),'lastModified':_0x258a22['modified']['toISOString'](),'hash':_0x41b0fb,'tokenEstimate':_0x36fcd4,'contentType':_0x551b41,'contentFileName':_0x17318e,'warnings':_0x33aeef['warnings'],'sizeLevel':_0x33aeef[_0x1c2ad4(0x1fb)],'importedFrom':null,'referencedBy':[_0x1ce9e9]},_0xd78134=a0_0x41a857[_0x1c2ad4(0x1ac)](_0x286da1,_0x1c2ad4(0x1cb));return await this['fileProcessor']['writeFile'](_0xd78134,JSON['stringify'](_0x3aa201,null,0x2),'utf8'),this['index']['attachments'][_0x2bf938]={'fileId':_0x2bf938,'agentId':_0x1ce9e9,'fileName':_0x3fbea6,'mode':mode,'active':_0x3aa201['active'],'referencedBy':_0x3aa201[_0x1c2ad4(0x1dd)]},!this[_0x1c2ad4(0x1ed)][_0x1c2ad4(0x1d3)][_0x1ce9e9]&&(this[_0x1c2ad4(0x1ed)][_0x1c2ad4(0x1d3)][_0x1ce9e9]=[]),this[_0x1c2ad4(0x1ed)][_0x1c2ad4(0x1d3)][_0x1ce9e9]['push'](_0x2bf938),await this['saveIndex'](),this['logger']?.[_0x1c2ad4(0x1be)](_0x1c2ad4(0x1d2),{'fileId':_0x2bf938,'agentId':_0x1ce9e9,'fileName':_0x3fbea6,'mode':mode}),_0x3aa201;}catch(_0x58bfd1){this[_0x1c2ad4(0x1eb)]?.['error'](_0x1c2ad4(0x1d6),{'agentId':_0x1ce9e9,'filePath':_0x4e8cd0,'error':_0x58bfd1['message']});throw _0x58bfd1;}}async[a0_0x4621b2(0x1ef)](_0x16842a,_0x3d83cd={}){const _0x1d6a31=a0_0x4621b2;!this['index']&&await this[_0x1d6a31(0x1c9)]();try{const _0x584309=this['index'][_0x1d6a31(0x1d3)][_0x16842a]||[],_0x4651ad=[];for(const _0x738b9c of _0x584309){const _0x42d5e1=await this['getAttachment'](_0x738b9c);if(_0x42d5e1){if(_0x3d83cd['active']!==undefined&&_0x42d5e1[_0x1d6a31(0x1d9)]!==_0x3d83cd['active'])continue;if(_0x3d83cd[_0x1d6a31(0x1b8)]&&_0x42d5e1[_0x1d6a31(0x1b8)]!==_0x3d83cd['mode'])continue;_0x4651ad['push'](_0x42d5e1);}}return _0x4651ad;}catch(_0x375970){this[_0x1d6a31(0x1eb)]?.[_0x1d6a31(0x1e3)]('Error\x20getting\x20attachments',{'agentId':_0x16842a,'error':_0x375970[_0x1d6a31(0x1b0)]});throw _0x375970;}}async['getAttachment'](_0x1b28a5){const _0x4d59db=a0_0x4621b2;!this[_0x4d59db(0x1ed)]&&await this[_0x4d59db(0x1c9)]();try{const _0x3a00a2=this[_0x4d59db(0x1ed)]['attachments'][_0x1b28a5];if(!_0x3a00a2)return null;const _0x3a738b=a0_0x41a857[_0x4d59db(0x1ac)](ATTACHMENTS_DIR,_0x3a00a2['agentId'],_0x1b28a5,_0x4d59db(0x1cb)),_0x20b1cd=await this['fileProcessor'][_0x4d59db(0x1de)](_0x3a738b);if(!_0x20b1cd)return this[_0x4d59db(0x1eb)]?.['warn'](_0x4d59db(0x1b2),{'fileId':_0x1b28a5}),null;const _0x39d510=await this['fileProcessor']['readFile'](_0x3a738b,'utf8');return JSON['parse'](_0x39d510);}catch(_0x575b18){return this[_0x4d59db(0x1eb)]?.[_0x4d59db(0x1e3)]('Error\x20getting\x20attachment',{'fileId':_0x1b28a5,'error':_0x575b18['message']}),null;}}async[a0_0x4621b2(0x1b1)](_0x2d10f7){const _0x4a4762=a0_0x4621b2;try{const _0x4ee28b=await this['getAttachment'](_0x2d10f7);if(!_0x4ee28b||_0x4ee28b['mode']!=='content')return null;const _0x1e8a74=a0_0x41a857[_0x4a4762(0x1ac)](ATTACHMENTS_DIR,_0x4ee28b['agentId'],_0x2d10f7,_0x4ee28b['contentFileName']),_0x313722=await this['fileProcessor'][_0x4a4762(0x1de)](_0x1e8a74);if(!_0x313722)return null;return await this[_0x4a4762(0x1d1)][_0x4a4762(0x1ba)](_0x1e8a74,_0x4a4762(0x1da));}catch(_0x315fe1){return this['logger']?.['error'](_0x4a4762(0x1f3),{'fileId':_0x2d10f7,'error':_0x315fe1['message']}),null;}}async[a0_0x4621b2(0x1f8)](_0x5f0213){const _0x5e82a5=a0_0x4621b2;try{const _0x2bc515=await this[_0x5e82a5(0x1c0)](_0x5f0213);if(!_0x2bc515)throw new Error('Attachment\x20not\x20found:\x20'+_0x5f0213);_0x2bc515['active']=!_0x2bc515['active'],_0x2bc515[_0x5e82a5(0x1ad)]=new Date()[_0x5e82a5(0x1f4)]();const _0x43b223=a0_0x41a857[_0x5e82a5(0x1ac)](ATTACHMENTS_DIR,_0x2bc515['agentId'],_0x5f0213,'metadata.json');return await this[_0x5e82a5(0x1d1)][_0x5e82a5(0x1ec)](_0x43b223,JSON[_0x5e82a5(0x1c7)](_0x2bc515,null,0x2),_0x5e82a5(0x1da)),this['index']['attachments'][_0x5f0213]&&(this['index']['attachments'][_0x5f0213]['active']=_0x2bc515['active'],await this[_0x5e82a5(0x1bd)]()),this[_0x5e82a5(0x1eb)]?.[_0x5e82a5(0x1be)](_0x5e82a5(0x1e0),{'fileId':_0x5f0213,'active':_0x2bc515[_0x5e82a5(0x1d9)]}),_0x2bc515;}catch(_0x2bd05b){this['logger']?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x5f0213,'error':_0x2bd05b[_0x5e82a5(0x1b0)]});throw _0x2bd05b;}}async['updateAttachment'](_0x538867,_0xb2704){const _0x5322de=a0_0x4621b2;try{const _0x51bffb=await this[_0x5322de(0x1c0)](_0x538867);if(!_0x51bffb)throw new Error(_0x5322de(0x1e6)+_0x538867);const _0x5246dc=['fileName',_0x5322de(0x1d9)];for(const _0x227411 of _0x5246dc){_0xb2704[_0x227411]!==undefined&&(_0x51bffb[_0x227411]=_0xb2704[_0x227411]);}_0x51bffb['lastModified']=new Date()['toISOString']();const _0x22f6b7=a0_0x41a857[_0x5322de(0x1ac)](ATTACHMENTS_DIR,_0x51bffb[_0x5322de(0x1d7)],_0x538867,_0x5322de(0x1cb));return await this[_0x5322de(0x1d1)][_0x5322de(0x1ec)](_0x22f6b7,JSON['stringify'](_0x51bffb,null,0x2),_0x5322de(0x1da)),this['index'][_0x5322de(0x1f5)][_0x538867]&&(_0xb2704[_0x5322de(0x1c5)]&&(this[_0x5322de(0x1ed)]['attachments'][_0x538867][_0x5322de(0x1c5)]=_0xb2704['fileName']),_0xb2704[_0x5322de(0x1d9)]!==undefined&&(this['index'][_0x5322de(0x1f5)][_0x538867][_0x5322de(0x1d9)]=_0xb2704[_0x5322de(0x1d9)]),await this['saveIndex']()),this[_0x5322de(0x1eb)]?.['info']('Attachment\x20updated',{'fileId':_0x538867,'updates':_0xb2704}),_0x51bffb;}catch(_0x265e91){this[_0x5322de(0x1eb)]?.[_0x5322de(0x1e3)]('Error\x20updating\x20attachment',{'fileId':_0x538867,'error':_0x265e91['message']});throw _0x265e91;}}async[a0_0x4621b2(0x1c1)](_0x48756c,_0x4c7605){const _0x538bf1=a0_0x4621b2;try{const _0x15f630=await this['getAttachment'](_0x48756c);if(!_0x15f630)throw new Error(_0x538bf1(0x1e6)+_0x48756c);_0x15f630[_0x538bf1(0x1dd)]=_0x15f630['referencedBy'][_0x538bf1(0x1ae)](_0x5e7f19=>_0x5e7f19!==_0x4c7605);if(_0x15f630['referencedBy'][_0x538bf1(0x1dc)]>0x0){const _0x40864f=a0_0x41a857['join'](ATTACHMENTS_DIR,_0x15f630[_0x538bf1(0x1d7)],_0x48756c,'metadata.json');return await this[_0x538bf1(0x1d1)]['writeFile'](_0x40864f,JSON[_0x538bf1(0x1c7)](_0x15f630,null,0x2),_0x538bf1(0x1da)),this['index'][_0x538bf1(0x1f5)][_0x48756c]&&(this[_0x538bf1(0x1ed)][_0x538bf1(0x1f5)][_0x48756c]['referencedBy']=_0x15f630['referencedBy']),this[_0x538bf1(0x1ed)][_0x538bf1(0x1d3)][_0x4c7605]&&(this['index'][_0x538bf1(0x1d3)][_0x4c7605]=this['index'][_0x538bf1(0x1d3)][_0x4c7605][_0x538bf1(0x1ae)](_0x5806b9=>_0x5806b9!==_0x48756c)),await this['saveIndex'](),this[_0x538bf1(0x1eb)]?.['info'](_0x538bf1(0x1d0),{'fileId':_0x48756c,'agentId':_0x4c7605,'remainingRefs':_0x15f630[_0x538bf1(0x1dd)][_0x538bf1(0x1dc)]}),![];}const _0x139b29=a0_0x41a857['join'](ATTACHMENTS_DIR,_0x15f630['agentId'],_0x48756c);return await this['fileProcessor'][_0x538bf1(0x1c3)](_0x139b29),delete this[_0x538bf1(0x1ed)]['attachments'][_0x48756c],this[_0x538bf1(0x1ed)]['agentRefs'][_0x4c7605]&&(this['index']['agentRefs'][_0x4c7605]=this['index']['agentRefs'][_0x4c7605][_0x538bf1(0x1ae)](_0x34a4a1=>_0x34a4a1!==_0x48756c)),await this['saveIndex'](),this[_0x538bf1(0x1eb)]?.[_0x538bf1(0x1be)](_0x538bf1(0x1e8),{'fileId':_0x48756c,'agentId':_0x4c7605}),!![];}catch(_0x305584){this[_0x538bf1(0x1eb)]?.[_0x538bf1(0x1e3)](_0x538bf1(0x1bb),{'fileId':_0x48756c,'agentId':_0x4c7605,'error':_0x305584['message']});throw _0x305584;}}async['deleteAgentAttachments'](_0x1d2b73){const _0x2c5572=a0_0x4621b2;try{const _0x4aa799=this[_0x2c5572(0x1ed)]['agentRefs'][_0x1d2b73]||[];let _0x10c277=0x0,_0x22c2ca=0x0;for(const _0x589344 of _0x4aa799){const _0x3a2c13=await this['deleteAttachment'](_0x589344,_0x1d2b73);_0x3a2c13?_0x10c277++:_0x22c2ca++;}return this[_0x2c5572(0x1eb)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x1d2b73,'deleted':_0x10c277,'dereferenced':_0x22c2ca}),{'deleted':_0x10c277,'dereferenced':_0x22c2ca};}catch(_0x1d5365){this[_0x2c5572(0x1eb)]?.[_0x2c5572(0x1e3)]('Error\x20deleting\x20agent\x20attachments',{'agentId':_0x1d2b73,'error':_0x1d5365['message']});throw _0x1d5365;}}async['importFromAgent'](_0x2931d5,_0x3d2148){const _0x42016a=a0_0x4621b2;try{const _0x52b9d0=await this['getAttachment'](_0x2931d5);if(!_0x52b9d0)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x2931d5);!_0x52b9d0['referencedBy']['includes'](_0x3d2148)&&_0x52b9d0[_0x42016a(0x1dd)]['push'](_0x3d2148);_0x52b9d0['lastModified']=new Date()['toISOString'](),_0x52b9d0['importedFrom']=_0x52b9d0[_0x42016a(0x1d7)];const _0x555f2c=a0_0x41a857[_0x42016a(0x1ac)](ATTACHMENTS_DIR,_0x52b9d0[_0x42016a(0x1d7)],_0x2931d5,'metadata.json');return await this[_0x42016a(0x1d1)]['writeFile'](_0x555f2c,JSON['stringify'](_0x52b9d0,null,0x2),_0x42016a(0x1da)),this[_0x42016a(0x1ed)][_0x42016a(0x1f5)][_0x2931d5]&&(this[_0x42016a(0x1ed)][_0x42016a(0x1f5)][_0x2931d5]['referencedBy']=_0x52b9d0[_0x42016a(0x1dd)]),!this[_0x42016a(0x1ed)][_0x42016a(0x1d3)][_0x3d2148]&&(this[_0x42016a(0x1ed)][_0x42016a(0x1d3)][_0x3d2148]=[]),!this['index']['agentRefs'][_0x3d2148]['includes'](_0x2931d5)&&this[_0x42016a(0x1ed)]['agentRefs'][_0x3d2148]['push'](_0x2931d5),await this['saveIndex'](),this[_0x42016a(0x1eb)]?.['info']('Attachment imported',{'sourceFileId':_0x2931d5,'targetAgentId':_0x3d2148}),_0x52b9d0;}catch(_0x41bc5d){this['logger']?.[_0x42016a(0x1e3)]('Error importing attachment',{'sourceFileId':_0x2931d5,'targetAgentId':_0x3d2148,'error':_0x41bc5d['message']});throw _0x41bc5d;}}async[a0_0x4621b2(0x1e9)](_0x38b426){const _0x52fa1b=a0_0x4621b2;return await this[_0x52fa1b(0x1ef)](_0x38b426,{'active':!![]});}async[a0_0x4621b2(0x1cd)](_0x1eeef4){const _0x58a88e=a0_0x4621b2;try{const _0x424da2=await this[_0x58a88e(0x1b1)](_0x1eeef4);if(!_0x424da2)return null;if(_0x424da2['startsWith'](_0x58a88e(0x1d5)))return _0x58a88e(0x1b9);return _0x424da2['length']>0x3e8?_0x424da2[_0x58a88e(0x1cf)](0x0,0x3e8)+_0x58a88e(0x1bf):_0x424da2;}catch(_0x1ab261){return this['logger']?.[_0x58a88e(0x1e3)]('Error\x20getting\x20attachment\x20preview',{'fileId':_0x1eeef4,'error':_0x1ab261[_0x58a88e(0x1b0)]}),null;}}}export default FileAttachmentService;
1
+ function a0_0x5d55(_0x5270cb,_0x540f16){_0x5270cb=_0x5270cb-0x16d;const _0x17fb6c=a0_0x17fb();let _0x5d551f=_0x17fb6c[_0x5270cb];if(a0_0x5d55['RXlfsa']===undefined){var _0x2b61c4=function(_0x413979){const _0x429e65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185671='',_0x42cbaf='';for(let _0x45dcf7=0x0,_0x4e1070,_0x3e4faf,_0x1e5f29=0x0;_0x3e4faf=_0x413979['charAt'](_0x1e5f29++);~_0x3e4faf&&(_0x4e1070=_0x45dcf7%0x4?_0x4e1070*0x40+_0x3e4faf:_0x3e4faf,_0x45dcf7++%0x4)?_0x185671+=String['fromCharCode'](0xff&_0x4e1070>>(-0x2*_0x45dcf7&0x6)):0x0){_0x3e4faf=_0x429e65['indexOf'](_0x3e4faf);}for(let _0x497e01=0x0,_0x399363=_0x185671['length'];_0x497e01<_0x399363;_0x497e01++){_0x42cbaf+='%'+('00'+_0x185671['charCodeAt'](_0x497e01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42cbaf);};a0_0x5d55['rCxAUE']=_0x2b61c4,a0_0x5d55['jvxgAu']={},a0_0x5d55['RXlfsa']=!![];}const _0x27bff9=_0x17fb6c[0x0],_0x13fffa=_0x5270cb+_0x27bff9,_0x250b5f=a0_0x5d55['jvxgAu'][_0x13fffa];return!_0x250b5f?(_0x5d551f=a0_0x5d55['rCxAUE'](_0x5d551f),a0_0x5d55['jvxgAu'][_0x13fffa]=_0x5d551f):_0x5d551f=_0x250b5f,_0x5d551f;}const a0_0x34ad67=a0_0x5d55;(function(_0x1a0d1e,_0x558a66){const _0x263d99=a0_0x5d55,_0x12ccbe=_0x1a0d1e();while(!![]){try{const _0x1b1737=-parseInt(_0x263d99(0x17a))/0x1+-parseInt(_0x263d99(0x19a))/0x2*(-parseInt(_0x263d99(0x186))/0x3)+-parseInt(_0x263d99(0x1a9))/0x4+-parseInt(_0x263d99(0x1a0))/0x5+-parseInt(_0x263d99(0x1b1))/0x6*(-parseInt(_0x263d99(0x177))/0x7)+-parseInt(_0x263d99(0x1b7))/0x8+-parseInt(_0x263d99(0x1b8))/0x9*(-parseInt(_0x263d99(0x171))/0xa);if(_0x1b1737===_0x558a66)break;else _0x12ccbe['push'](_0x12ccbe['shift']());}catch(_0x181d2e){_0x12ccbe['push'](_0x12ccbe['shift']());}}}(a0_0x17fb,0xbcc37));import a0_0x185671 from'path';import{randomUUID}from'crypto';function a0_0x17fb(){const _0x1cf75d=['mtiYotq1nLbUtxjPtG','ndq4ndi1wLHVs2Lx','BwvZC2fNzq','ywDLBNrszwzZ','ChjVy2vZC0zPBgu','Dg9Nz2XLqwn0AxzL','Dg9ju09tDhjPBMC','ndyWvvzkvfjN','z2v0twLTzvr5Cgu','D2fYBMLUz3m','rMLSzsb1CgXVywrLza','zMLSDgvY','CMvMzxjLBMnLzej5','otmWodq2svnAwefL','y3jLyxrLrgLYzwn0B3j5','Aw5KzxG','nJq4mdH5rNHXs0y','CgrM','ywDLBNrjza','zMLSzuv4Axn0CW','Aw1WB3j0rNjVBufNzw50','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','Aw5MBW','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','yxr0ywnOBwvUDhm','lI4U','qxr0ywnOBwvUDcbKzwXLDgvK','C2f2zuLUzgv4','mtvhr2DYze0','zgvSzxrLrgLYzwn0B3j5','C2L6zuXLDMvS','Aw1Hz2u','DMfSAwrHDgu','Aw1WB3j0zwrgCM9T','zxjYB3i','ywn0AxzL','z2v0qxr0ywnOBwvUDenVBNrLBNq','Bwv0ywrHDgeUANnVBG','CMvMzxjLBMnL','DxbSB2fKrMLSzq','ChvZAa','DxrMoa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','y29UzMLN','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','Bw9Kzq','mJG5mJeYuhjTqxbm','zMLSzvbYB2nLC3nVCG','DMfSAwrHDg9Y','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','Aw5PDgLHBgL6zq','Dgv4Da','nJG5ntu3nxjfyNHxva','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','BgfZDe1VzgLMAwvK','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','rxjYB3iGBg9HzgLUzYbPBMrLEa','zgvSzxrLqxr0ywnOBwvUDa','Bg9Nz2vY','z2v0qwn0AxzLqxr0ywnOBwvUDhm','vMfSAwrHDgLVBIbMywLSzwq6ia','mZy0mdyYnhLTsK50rG','AM9PBG','C2L6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','Bg9HzeLUzgv4','Bw9KAwzPzwq','y29UDgvUDc50Ehq','BgvUz3rO','mtjHruTfvve','z2v0qxr0ywnOBwvUDa','CgfYC2u','C3rYAw5NAwz5','D3jPDgvgAwXL','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa'];a0_0x17fb=function(){return _0x1cf75d;};return a0_0x17fb();}import a0_0x42cbaf from'../utilities/fileProcessor.js';import a0_0x45dcf7 from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x34ad67(0x182)],INDEX_FILE=a0_0x185671['join'](ATTACHMENTS_DIR,a0_0x34ad67(0x197));class FileAttachmentService{constructor(_0x4e1070={},_0x3e4faf=null){const _0x353194=a0_0x34ad67;this[_0x353194(0x195)]=_0x4e1070,this['logger']=_0x3e4faf,this[_0x353194(0x19b)]=new a0_0x42cbaf(_0x4e1070,_0x3e4faf),this['validator']=new a0_0x45dcf7(_0x4e1070,_0x3e4faf),this[_0x353194(0x179)]=null;}async[a0_0x34ad67(0x19e)](){const _0x4d7ddd=a0_0x34ad67;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x4d7ddd(0x1ad)](),this[_0x4d7ddd(0x1a6)]?.['info']('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x1e5f29){this['logger']?.[_0x4d7ddd(0x18c)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x1e5f29['message']});throw _0x1e5f29;}}async['loadIndex'](){const _0x541763=a0_0x34ad67;try{const _0x497e01=await this['fileProcessor']['fileExists'](INDEX_FILE);if(!_0x497e01)this[_0x541763(0x179)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x399363=await this[_0x541763(0x19b)]['readFile'](INDEX_FILE,'utf8');this[_0x541763(0x179)]=JSON[_0x541763(0x1b3)](_0x399363);}return this['index'];}catch(_0x3df1d0){return this['logger']?.['error'](_0x541763(0x1a4),{'error':_0x3df1d0[_0x541763(0x1b9)]}),this[_0x541763(0x179)]={'attachments':{},'agentRefs':{}},this[_0x541763(0x179)];}}async[a0_0x34ad67(0x185)](){const _0x5491eb=a0_0x34ad67;try{await this[_0x5491eb(0x19b)][_0x5491eb(0x1b5)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x2072eb){this[_0x5491eb(0x1a6)]?.[_0x5491eb(0x18c)]('Error\x20saving\x20index',{'error':_0x2072eb['message']});throw _0x2072eb;}}async[a0_0x34ad67(0x191)]({agentId:_0x3b16cb,filePath:_0x5a2187,mode:mode='content',fileName:fileName=null}){const _0x568db3=a0_0x34ad67;!this['index']&&await this[_0x568db3(0x1ad)]();try{const _0x2a7c8b=await this['fileProcessor'][_0x568db3(0x17d)](_0x5a2187);if(!_0x2a7c8b)throw new Error('File\x20not\x20found:\x20'+_0x5a2187);const _0x88280a=await this[_0x568db3(0x19b)]['getFileStats'](_0x5a2187),_0xf947ce=fileName||a0_0x185671['basename'](_0x5a2187),_0x2ffef2=a0_0x185671['extname'](_0xf947ce),_0x367ba7=this[_0x568db3(0x19c)][_0x568db3(0x18a)]({'fileName':_0xf947ce,'size':_0x88280a['size'],'mode':mode,'path':mode===_0x568db3(0x190)?_0x5a2187:null});if(!_0x367ba7['valid'])throw new Error(_0x568db3(0x1a8)+_0x367ba7['errors']['join'](',\x20'));const _0x5de107=randomUUID(),_0x596a6d=await this[_0x568db3(0x19b)]['calculateHash'](_0x5a2187),_0x3747fc=this[_0x568db3(0x19c)]['getContentType'](_0xf947ce),_0x4cda05=a0_0x185671[_0x568db3(0x1aa)](ATTACHMENTS_DIR,_0x3b16cb,_0x5de107);await this['fileProcessor'][_0x568db3(0x178)](_0x4cda05);let _0x11fede=0x0,_0x5e0318=null;if(mode==='content'){const processResult=await this['fileProcessor'][_0x568db3(0x16e)](_0x5a2187,_0x3747fc),_0x9ad59d=processResult['content'];if(_0x3747fc===_0x568db3(0x19f))_0x5e0318='content.txt';else{if(_0x3747fc===_0x568db3(0x189))_0x5e0318='content.base64';else _0x3747fc===_0x568db3(0x17b)&&(_0x5e0318=_0x568db3(0x1af));}const _0x37da96=a0_0x185671['join'](_0x4cda05,_0x5e0318);await this[_0x568db3(0x19b)][_0x568db3(0x1b5)](_0x37da96,_0x9ad59d,'utf8'),_0x11fede=this['fileProcessor']['estimateTokens'](_0x9ad59d);}const _0x491e1b={'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'originalPath':_0x5a2187,'fileType':this[_0x568db3(0x19c)][_0x568db3(0x172)](_0xf947ce),'fileExtension':_0x2ffef2,'size':_0x88280a[_0x568db3(0x1ab)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x568db3(0x170)](),'lastModified':_0x88280a[_0x568db3(0x1ae)][_0x568db3(0x170)](),'hash':_0x596a6d,'tokenEstimate':_0x11fede,'contentType':_0x3747fc,'contentFileName':_0x5e0318,'warnings':_0x367ba7[_0x568db3(0x173)],'sizeLevel':_0x367ba7[_0x568db3(0x188)],'importedFrom':null,'referencedBy':[_0x3b16cb]},_0x2d8d39=a0_0x185671[_0x568db3(0x1aa)](_0x4cda05,_0x568db3(0x18f));return await this['fileProcessor'][_0x568db3(0x1b5)](_0x2d8d39,JSON[_0x568db3(0x1b4)](_0x491e1b,null,0x2),'utf8'),this[_0x568db3(0x179)][_0x568db3(0x182)][_0x5de107]={'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'mode':mode,'active':_0x491e1b[_0x568db3(0x18d)],'referencedBy':_0x491e1b[_0x568db3(0x176)]},!this['index'][_0x568db3(0x16d)][_0x3b16cb]&&(this[_0x568db3(0x179)][_0x568db3(0x16d)][_0x3b16cb]=[]),this[_0x568db3(0x179)][_0x568db3(0x16d)][_0x3b16cb][_0x568db3(0x192)](_0x5de107),await this['saveIndex'](),this['logger']?.[_0x568db3(0x180)](_0x568db3(0x174),{'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'mode':mode}),_0x491e1b;}catch(_0x40df01){this[_0x568db3(0x1a6)]?.['error']('Error\x20uploading\x20file',{'agentId':_0x3b16cb,'filePath':_0x5a2187,'error':_0x40df01[_0x568db3(0x1b9)]});throw _0x40df01;}}async['getAttachments'](_0x3e97ec,_0xb405b9={}){const _0x3c749e=a0_0x34ad67;!this['index']&&await this['loadIndex']();try{const _0x2678b3=this['index']['agentRefs'][_0x3e97ec]||[],_0xca0a7=[];for(const _0x1efc1d of _0x2678b3){const _0x51c2d2=await this[_0x3c749e(0x1b2)](_0x1efc1d);if(_0x51c2d2){if(_0xb405b9[_0x3c749e(0x18d)]!==undefined&&_0x51c2d2['active']!==_0xb405b9[_0x3c749e(0x18d)])continue;if(_0xb405b9['mode']&&_0x51c2d2[_0x3c749e(0x199)]!==_0xb405b9['mode'])continue;_0xca0a7[_0x3c749e(0x192)](_0x51c2d2);}}return _0xca0a7;}catch(_0x3151f4){this[_0x3c749e(0x1a6)]?.[_0x3c749e(0x18c)](_0x3c749e(0x196),{'agentId':_0x3e97ec,'error':_0x3151f4['message']});throw _0x3151f4;}}async[a0_0x34ad67(0x1b2)](_0x13b297){const _0x109205=a0_0x34ad67;!this['index']&&await this['loadIndex']();try{const _0x1de7ab=this['index'][_0x109205(0x182)][_0x13b297];if(!_0x1de7ab)return null;const _0x3f47f2=a0_0x185671['join'](ATTACHMENTS_DIR,_0x1de7ab[_0x109205(0x17c)],_0x13b297,'metadata.json'),_0x285d25=await this[_0x109205(0x19b)][_0x109205(0x17d)](_0x3f47f2);if(!_0x285d25)return this['logger']?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x13b297}),null;const _0x36453f=await this['fileProcessor']['readFile'](_0x3f47f2,_0x109205(0x193));return JSON['parse'](_0x36453f);}catch(_0xee4379){return this[_0x109205(0x1a6)]?.['error']('Error\x20getting\x20attachment',{'fileId':_0x13b297,'error':_0xee4379[_0x109205(0x1b9)]}),null;}}async['getAttachmentContent'](_0xeed23a){const _0xfae2e0=a0_0x34ad67;try{const _0x1738af=await this[_0xfae2e0(0x1b2)](_0xeed23a);if(!_0x1738af||_0x1738af['mode']!=='content')return null;const _0x4ede9e=a0_0x185671[_0xfae2e0(0x1aa)](ATTACHMENTS_DIR,_0x1738af['agentId'],_0xeed23a,_0x1738af['contentFileName']),_0x2b9481=await this['fileProcessor']['fileExists'](_0x4ede9e);if(!_0x2b9481)return null;return await this['fileProcessor']['readFile'](_0x4ede9e,'utf8');}catch(_0xe571a3){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0xeed23a,'error':_0xe571a3['message']}),null;}}async[a0_0x34ad67(0x16f)](_0x44feff){const _0x326eff=a0_0x34ad67;try{const _0xa23b72=await this['getAttachment'](_0x44feff);if(!_0xa23b72)throw new Error(_0x326eff(0x1ac)+_0x44feff);_0xa23b72[_0x326eff(0x18d)]=!_0xa23b72[_0x326eff(0x18d)],_0xa23b72[_0x326eff(0x1a2)]=new Date()['toISOString']();const _0x344f69=a0_0x185671['join'](ATTACHMENTS_DIR,_0xa23b72[_0x326eff(0x17c)],_0x44feff,_0x326eff(0x18f));return await this['fileProcessor'][_0x326eff(0x1b5)](_0x344f69,JSON['stringify'](_0xa23b72,null,0x2),_0x326eff(0x193)),this[_0x326eff(0x179)]['attachments'][_0x44feff]&&(this[_0x326eff(0x179)][_0x326eff(0x182)][_0x44feff]['active']=_0xa23b72['active'],await this[_0x326eff(0x185)]()),this[_0x326eff(0x1a6)]?.[_0x326eff(0x180)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x44feff,'active':_0xa23b72['active']}),_0xa23b72;}catch(_0x395dbf){this['logger']?.['error'](_0x326eff(0x17f),{'fileId':_0x44feff,'error':_0x395dbf[_0x326eff(0x1b9)]});throw _0x395dbf;}}async['updateAttachment'](_0x44b2ba,_0x453f97){const _0x22758f=a0_0x34ad67;try{const _0x4a5870=await this[_0x22758f(0x1b2)](_0x44b2ba);if(!_0x4a5870)throw new Error('Attachment\x20not\x20found:\x20'+_0x44b2ba);const _0x324a6d=['fileName','active'];for(const _0x56d133 of _0x324a6d){_0x453f97[_0x56d133]!==undefined&&(_0x4a5870[_0x56d133]=_0x453f97[_0x56d133]);}_0x4a5870['lastModified']=new Date()['toISOString']();const _0x52fcd0=a0_0x185671[_0x22758f(0x1aa)](ATTACHMENTS_DIR,_0x4a5870['agentId'],_0x44b2ba,'metadata.json');return await this['fileProcessor'][_0x22758f(0x1b5)](_0x52fcd0,JSON[_0x22758f(0x1b4)](_0x4a5870,null,0x2),'utf8'),this['index']['attachments'][_0x44b2ba]&&(_0x453f97['fileName']&&(this[_0x22758f(0x179)]['attachments'][_0x44b2ba]['fileName']=_0x453f97['fileName']),_0x453f97[_0x22758f(0x18d)]!==undefined&&(this[_0x22758f(0x179)]['attachments'][_0x44b2ba]['active']=_0x453f97['active']),await this[_0x22758f(0x185)]()),this[_0x22758f(0x1a6)]?.[_0x22758f(0x180)]('Attachment\x20updated',{'fileId':_0x44b2ba,'updates':_0x453f97}),_0x4a5870;}catch(_0x516626){this[_0x22758f(0x1a6)]?.['error'](_0x22758f(0x181),{'fileId':_0x44b2ba,'error':_0x516626['message']});throw _0x516626;}}async['deleteAttachment'](_0x2fbdda,_0x382144){const _0x468831=a0_0x34ad67;try{const _0xa42aeb=await this['getAttachment'](_0x2fbdda);if(!_0xa42aeb)throw new Error('Attachment\x20not\x20found:\x20'+_0x2fbdda);_0xa42aeb[_0x468831(0x176)]=_0xa42aeb[_0x468831(0x176)][_0x468831(0x175)](_0x93e97b=>_0x93e97b!==_0x382144);if(_0xa42aeb[_0x468831(0x176)]['length']>0x0){const _0x5aa02f=a0_0x185671['join'](ATTACHMENTS_DIR,_0xa42aeb[_0x468831(0x17c)],_0x2fbdda,'metadata.json');return await this['fileProcessor']['writeFile'](_0x5aa02f,JSON['stringify'](_0xa42aeb,null,0x2),'utf8'),this['index']['attachments'][_0x2fbdda]&&(this[_0x468831(0x179)]['attachments'][_0x2fbdda][_0x468831(0x176)]=_0xa42aeb[_0x468831(0x176)]),this['index']['agentRefs'][_0x382144]&&(this[_0x468831(0x179)]['agentRefs'][_0x382144]=this[_0x468831(0x179)]['agentRefs'][_0x382144][_0x468831(0x175)](_0x16b5f5=>_0x16b5f5!==_0x2fbdda)),await this['saveIndex'](),this['logger']?.[_0x468831(0x180)](_0x468831(0x19d),{'fileId':_0x2fbdda,'agentId':_0x382144,'remainingRefs':_0xa42aeb['referencedBy'][_0x468831(0x1b0)]}),![];}const _0x403f99=a0_0x185671[_0x468831(0x1aa)](ATTACHMENTS_DIR,_0xa42aeb['agentId'],_0x2fbdda);return await this['fileProcessor'][_0x468831(0x187)](_0x403f99),delete this['index'][_0x468831(0x182)][_0x2fbdda],this[_0x468831(0x179)]['agentRefs'][_0x382144]&&(this[_0x468831(0x179)][_0x468831(0x16d)][_0x382144]=this[_0x468831(0x179)][_0x468831(0x16d)][_0x382144][_0x468831(0x175)](_0x18a6b9=>_0x18a6b9!==_0x2fbdda)),await this['saveIndex'](),this['logger']?.['info'](_0x468831(0x184),{'fileId':_0x2fbdda,'agentId':_0x382144}),!![];}catch(_0x375fff){this['logger']?.[_0x468831(0x18c)](_0x468831(0x194),{'fileId':_0x2fbdda,'agentId':_0x382144,'error':_0x375fff['message']});throw _0x375fff;}}async[a0_0x34ad67(0x198)](_0x438919){const _0x2d9859=a0_0x34ad67;try{const _0x1f175c=this[_0x2d9859(0x179)]['agentRefs'][_0x438919]||[];let _0x30cef9=0x0,_0x7fae22=0x0;for(const _0x3a00d9 of _0x1f175c){const _0x5abf07=await this[_0x2d9859(0x1a5)](_0x3a00d9,_0x438919);_0x5abf07?_0x30cef9++:_0x7fae22++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x438919,'deleted':_0x30cef9,'dereferenced':_0x7fae22}),{'deleted':_0x30cef9,'dereferenced':_0x7fae22};}catch(_0x6b8f67){this['logger']?.['error'](_0x2d9859(0x1a3),{'agentId':_0x438919,'error':_0x6b8f67['message']});throw _0x6b8f67;}}async[a0_0x34ad67(0x17e)](_0x160d29,_0x449917){const _0x2e6fc1=a0_0x34ad67;try{const _0x3176e6=await this['getAttachment'](_0x160d29);if(!_0x3176e6)throw new Error(_0x2e6fc1(0x1b6)+_0x160d29);!_0x3176e6[_0x2e6fc1(0x176)]['includes'](_0x449917)&&_0x3176e6[_0x2e6fc1(0x176)][_0x2e6fc1(0x192)](_0x449917);_0x3176e6[_0x2e6fc1(0x1a2)]=new Date()[_0x2e6fc1(0x170)](),_0x3176e6[_0x2e6fc1(0x18b)]=_0x3176e6['agentId'];const _0xab4532=a0_0x185671[_0x2e6fc1(0x1aa)](ATTACHMENTS_DIR,_0x3176e6['agentId'],_0x160d29,_0x2e6fc1(0x18f));return await this['fileProcessor']['writeFile'](_0xab4532,JSON['stringify'](_0x3176e6,null,0x2),_0x2e6fc1(0x193)),this['index']['attachments'][_0x160d29]&&(this[_0x2e6fc1(0x179)][_0x2e6fc1(0x182)][_0x160d29]['referencedBy']=_0x3176e6['referencedBy']),!this[_0x2e6fc1(0x179)]['agentRefs'][_0x449917]&&(this[_0x2e6fc1(0x179)][_0x2e6fc1(0x16d)][_0x449917]=[]),!this[_0x2e6fc1(0x179)][_0x2e6fc1(0x16d)][_0x449917]['includes'](_0x160d29)&&this['index'][_0x2e6fc1(0x16d)][_0x449917]['push'](_0x160d29),await this['saveIndex'](),this[_0x2e6fc1(0x1a6)]?.['info']('Attachment imported',{'sourceFileId':_0x160d29,'targetAgentId':_0x449917}),_0x3176e6;}catch(_0x299e15){this['logger']?.[_0x2e6fc1(0x18c)]('Error importing attachment',{'sourceFileId':_0x160d29,'targetAgentId':_0x449917,'error':_0x299e15['message']});throw _0x299e15;}}async[a0_0x34ad67(0x1a7)](_0x4b4670){return await this['getAttachments'](_0x4b4670,{'active':!![]});}async['getAttachmentPreview'](_0x8ef979){const _0x30af15=a0_0x34ad67;try{const _0x20b1f9=await this[_0x30af15(0x18e)](_0x8ef979);if(!_0x20b1f9)return null;if(_0x20b1f9['startsWith']('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x20b1f9[_0x30af15(0x1b0)]>0x3e8?_0x20b1f9['substring'](0x0,0x3e8)+_0x30af15(0x183):_0x20b1f9;}catch(_0x193063){return this[_0x30af15(0x1a6)]?.[_0x30af15(0x18c)](_0x30af15(0x1a1),{'fileId':_0x8ef979,'error':_0x193063[_0x30af15(0x1b9)]}),null;}}}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x126bf8=a0_0x1e1f;(function(_0x4626d9,_0x5898cf){const _0x34ce54=a0_0x1e1f,_0x4c3229=_0x4626d9();while(!![]){try{const _0xea4205=-parseInt(_0x34ce54(0x1f4))/0x1+-parseInt(_0x34ce54(0x1d4))/0x2*(parseInt(_0x34ce54(0x1eb))/0x3)+parseInt(_0x34ce54(0x1dd))/0x4+parseInt(_0x34ce54(0x1f6))/0x5+-parseInt(_0x34ce54(0x212))/0x6+-parseInt(_0x34ce54(0x1e7))/0x7+-parseInt(_0x34ce54(0x1ee))/0x8*(-parseInt(_0x34ce54(0x204))/0x9);if(_0xea4205===_0x5898cf)break;else _0x4c3229['push'](_0x4c3229['shift']());}catch(_0x23103d){_0x4c3229['push'](_0x4c3229['shift']());}}}(a0_0x5408,0x55c5a));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x48cb80,_0x2a8f73,_0x153db2,_0x5a11b4){const _0x44f8b5=a0_0x1e1f;this[_0x44f8b5(0x1d6)]=_0x48cb80,this[_0x44f8b5(0x20f)]=_0x2a8f73,this['benchmarkService']=_0x153db2,this['aiService']=_0x5a11b4,this[_0x44f8b5(0x20b)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this['contextMessagesCount']=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x44f8b5(0x216)];}async['routeMessage'](_0x4dad39,_0x18a56c=[],_0x358374='',_0x50be30=[],_0xa1dd8f={}){const _0x5eb2ca=a0_0x1e1f;try{this[_0x5eb2ca(0x20f)][_0x5eb2ca(0x1f3)](_0x5eb2ca(0x1f7),{'messageLength':_0x4dad39['content']?.[_0x5eb2ca(0x217)]||0x0,'recentMessagesCount':_0x18a56c['length'],'currentModel':_0x358374,'availableModelsCount':_0x50be30['length']});const _0xc5ce2d=this['_buildRoutingContext'](_0x4dad39,_0x18a56c,_0x358374,_0x50be30),_0x47a6db=this['benchmarkService']['getBenchmarkTable'](),_0x4a2a25=this[_0x5eb2ca(0x1d5)](_0xc5ce2d,_0x47a6db),_0x47fc82=await this['_askForRouting'](_0x4a2a25,_0xa1dd8f),_0xb1ada=this[_0x5eb2ca(0x1ec)](_0x47fc82,_0x50be30,_0x358374);return this['logger']['info'](_0x5eb2ca(0x1e4),{'selectedModel':_0xb1ada,'previousModel':_0x358374,'changed':_0xb1ada!==_0x358374,'reasoning':_0x47fc82['reasoning']?.[_0x5eb2ca(0x205)](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0xb1ada,'previousModel':_0x358374,'changed':_0xb1ada!==_0x358374,'reasoning':_0x47fc82['reasoning']||_0x5eb2ca(0x20d)};}catch(_0x527a66){this['logger']['error'](_0x5eb2ca(0x1ef),{'error':_0x527a66['message'],'currentModel':_0x358374});const _0x222ce8=_0x358374||_0x50be30[0x0]||MODELS[_0x5eb2ca(0x1ea)];return{'selectedModel':_0x222ce8,'previousModel':_0x358374,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}['_buildRoutingContext'](_0x2c69c1,_0x471774,_0x568f3f,_0x379e67){const _0x1a154e=a0_0x1e1f,_0x1a55a4=_0x471774['slice'](-this['contextMessagesCount'])[_0x1a154e(0x210)](_0x50be33=>({'role':_0x50be33['role'],'content':_0x50be33['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x50be33['timestamp']}));return{'currentMessage':{'content':_0x2c69c1['content']?.['substring'](0x0,0x3e8)||'','role':_0x2c69c1['role']||'user','hasContextReferences':!!_0x2c69c1['contextReferences']?.['length'],'contextTypes':_0x2c69c1['contextReferences']?.['map'](_0x49a520=>_0x49a520[_0x1a154e(0x1d3)])||[]},'recentMessages':_0x1a55a4,'currentModel':_0x568f3f,'availableModels':_0x379e67['map'](_0x14319c=>({'name':_0x14319c,'isCurrentModel':_0x14319c===_0x568f3f})),'messageCount':_0x471774['length']+0x1,'timestamp':new Date()[_0x1a154e(0x1f9)]()};}['_createRoutingPrompt'](_0x374275,_0x53e2a7){const _0x2d24ef=a0_0x1e1f;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x374275[_0x2d24ef(0x1f0)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x374275['messageCount']+_0x2d24ef(0x1d8)+_0x374275['availableModels'][_0x2d24ef(0x210)](_0x17cc5c=>_0x17cc5c['name'])['join'](',\x20')+_0x2d24ef(0x1f2)+this[_0x2d24ef(0x1fd)](_0x374275[_0x2d24ef(0x1fe)])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x374275[_0x2d24ef(0x200)]['role']+'\x0a**Content**:\x20'+_0x374275['currentMessage']['content']+_0x2d24ef(0x1d0)+_0x374275[_0x2d24ef(0x200)][_0x2d24ef(0x1e6)]+'\x0a'+(_0x374275[_0x2d24ef(0x200)][_0x2d24ef(0x1e1)]['length']>0x0?'**Context\x20Types**:\x20'+_0x374275['currentMessage'][_0x2d24ef(0x1e1)]['join'](',\x20'):'')+_0x2d24ef(0x208)+this['_formatBenchmarkData'](_0x53e2a7)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}['_formatRecentMessages'](_0x2da378){const _0x404549=a0_0x1e1f;if(!_0x2da378[_0x404549(0x217)])return _0x404549(0x1e5);return _0x2da378['map']((_0x46464e,_0x40cb8a)=>_0x40cb8a+0x1+_0x404549(0x1e0)+_0x46464e[_0x404549(0x1da)]+'**:\x20'+_0x46464e['content'])['join']('\x0a');}[a0_0x126bf8(0x20a)](_0x4addc5){const _0x3decf8=a0_0x126bf8,_0x1947f6=_0x4addc5['models']||[],_0x5a5612=_0x4addc5[_0x3decf8(0x1fc)]||{},_0x37f030=_0x4addc5[_0x3decf8(0x1f5)]||{};let _0x32c6e9=_0x3decf8(0x203);return Object['entries'](_0x5a5612)['forEach'](([_0x84e371,_0x3bdbcf])=>{const _0x1531a2=_0x3decf8;_0x32c6e9+='**'+_0x84e371[_0x1531a2(0x1db)]()+'**\x20('+_0x3bdbcf['description']+_0x1531a2(0x214)+(_0x3bdbcf[_0x1531a2(0x1d7)]?.['join'](',\x20')||'No\x20data')+'\x0a';}),_0x32c6e9+='\x0a###\x20Model\x20Details\x0a',_0x1947f6['slice'](0x0,0x8)[_0x3decf8(0x211)](_0x4de6d1=>{const _0x531fd2=_0x3decf8;_0x32c6e9+='**'+_0x4de6d1['name']+_0x531fd2(0x202);const _0x758d22=Object['entries'](_0x4de6d1[_0x531fd2(0x1fc)]||{})['map'](([_0x43be93,_0x485c69])=>_0x43be93+'('+_0x485c69['score']+')')[_0x531fd2(0x213)](',\x20');_0x32c6e9+=_0x758d22+_0x531fd2(0x207)+(_0x4de6d1['strengths']?.['join'](',\x20')||_0x531fd2(0x215))+'\x0a';}),_0x32c6e9;}async[a0_0x126bf8(0x1ff)](_0x50bcd0,_0x782c4a={}){const _0x5efd6b=a0_0x126bf8;try{const _0x9fd6c1=await this[_0x5efd6b(0x201)][_0x5efd6b(0x1f1)](this[_0x5efd6b(0x20b)],_0x50bcd0,{'agentId':_0x5efd6b(0x218),'systemPrompt':_0x5efd6b(0x1d2),'temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x5efd6b(0x20e)],'sessionId':_0x782c4a['sessionId'],'apiKey':_0x782c4a['apiKey']||this[_0x5efd6b(0x1d6)][_0x5efd6b(0x1f8)],'customApiKeys':_0x782c4a['customApiKeys'],'platformProvided':!![]});if(!_0x9fd6c1[_0x5efd6b(0x1cb)])throw new Error('No response content from autopilot-model-router');const _0x466424=this['_parseRoutingResponse'](_0x9fd6c1['content']);return _0x466424;}catch(_0x23640f){this['logger'][_0x5efd6b(0x1ed)](_0x5efd6b(0x1e2),{'error':_0x23640f[_0x5efd6b(0x1e3)],'routerModel':this[_0x5efd6b(0x20b)]});throw _0x23640f;}}['_parseRoutingResponse'](_0x164b3b){const _0x3deb0a=a0_0x126bf8;try{const _0x566fb9=_0x164b3b['match'](/\{[\s\S]*\}/);if(!_0x566fb9)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x1de9a5=JSON['parse'](_0x566fb9[0x0]);if(!_0x1de9a5['selectedModel'])throw new Error(_0x3deb0a(0x206));return{'selectedModel':_0x1de9a5[_0x3deb0a(0x1de)],'taskType':_0x1de9a5[_0x3deb0a(0x209)]||'unknown','confidence':_0x1de9a5[_0x3deb0a(0x1df)]||0.5,'reasoning':_0x1de9a5[_0x3deb0a(0x1e8)]||'No\x20reasoning\x20provided','factors':_0x1de9a5[_0x3deb0a(0x1ce)]||[]};}catch(_0x23c62f){return this[_0x3deb0a(0x20f)]['warn']('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x23c62f[_0x3deb0a(0x1e3)],'content':_0x164b3b[_0x3deb0a(0x205)](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x3deb0a(0x1d9)]};}}[a0_0x126bf8(0x1ec)](_0x91ffdb,_0x6989e8,_0xa71c4d){const _0x553996=a0_0x126bf8,{selectedModel:_0x67c0b9}=_0x91ffdb;if(!_0x67c0b9)return this['logger'][_0x553996(0x1f3)]('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0xa71c4d;if(!_0x6989e8[_0x553996(0x1dc)](_0x67c0b9))return this[_0x553996(0x20f)]['warn'](_0x553996(0x1e9),{'selectedModel':_0x67c0b9,'availableModels':_0x6989e8}),_0xa71c4d;return _0x67c0b9;}['getStatus'](){const _0x38a006=a0_0x126bf8;return{'routerModel':this[_0x38a006(0x20b)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this[_0x38a006(0x20c)]['getStatus'](),'isAvailable':!![]};}async[a0_0x126bf8(0x1d1)](){const _0x5d4594=a0_0x126bf8;try{const _0xe7eb2d={'content':_0x5d4594(0x1fa),'role':'user'},_0x2b2321=await this['routeMessage'](_0xe7eb2d,[],MODELS['ANTHROPIC_SONNET'],[MODELS[_0x5d4594(0x1ea)],MODELS[_0x5d4594(0x1fb)],MODELS[_0x5d4594(0x1cd)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x5d4594(0x20f)][_0x5d4594(0x1cc)](_0x5d4594(0x1cf),{'selectedModel':_0x2b2321}),{'success':!![],'selectedModel':_0x2b2321};}catch(_0x353915){return this[_0x5d4594(0x20f)][_0x5d4594(0x1ed)]('Router\x20test\x20failed',{'error':_0x353915['message']}),{'success':![],'error':_0x353915['message']};}}}function a0_0x1e1f(_0x3ebb84,_0x93189b){_0x3ebb84=_0x3ebb84-0x1cb;const _0x5408d0=a0_0x5408();let _0x1e1f04=_0x5408d0[_0x3ebb84];if(a0_0x1e1f['BxhoJu']===undefined){var _0x2408c7=function(_0x41ad84){const _0x229879='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48cb80='',_0x2a8f73='';for(let _0x153db2=0x0,_0x5a11b4,_0x4dad39,_0x18a56c=0x0;_0x4dad39=_0x41ad84['charAt'](_0x18a56c++);~_0x4dad39&&(_0x5a11b4=_0x153db2%0x4?_0x5a11b4*0x40+_0x4dad39:_0x4dad39,_0x153db2++%0x4)?_0x48cb80+=String['fromCharCode'](0xff&_0x5a11b4>>(-0x2*_0x153db2&0x6)):0x0){_0x4dad39=_0x229879['indexOf'](_0x4dad39);}for(let _0x358374=0x0,_0x50be30=_0x48cb80['length'];_0x358374<_0x50be30;_0x358374++){_0x2a8f73+='%'+('00'+_0x48cb80['charCodeAt'](_0x358374)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a8f73);};a0_0x1e1f['cIHuPI']=_0x2408c7,a0_0x1e1f['CxKWKv']={},a0_0x1e1f['BxhoJu']=!![];}const _0x1d5fba=_0x5408d0[0x0],_0x49b260=_0x3ebb84+_0x1d5fba,_0x3621ed=a0_0x1e1f['CxKWKv'][_0x49b260];return!_0x3621ed?(_0x1e1f04=a0_0x1e1f['cIHuPI'](_0x1e1f04),a0_0x1e1f['CxKWKv'][_0x49b260]=_0x1e1f04):_0x1e1f04=_0x3621ed,_0x1e1f04;}function a0_0x5408(){const _0x2b1360=['yxv0B3bPBg90lw1VzgvSlxjVDxrLCIbYB3v0Aw5NihjLCxvLC3qGzMfPBgvK','BwvZC2fNzq','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','AgfZq29UDgv4DfjLzMvYzw5Jzxm','nZu1nJiYzhLNBfnA','CMvHC29UAw5N','uM91DgvYihnLBgvJDgvKihvUyxzHAwXHyMXLig1VzgvSlcb1C2LUzYbJDxjYzw50ig1VzgvS','qu5usfjpueLdx1nptK5fva','mtCYmZC1og1TzvjxCG','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','zxjYB3i','ndbTEKfWsMS','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','y3vYCMvUDe1VzgvS','C2vUze1LC3nHz2u','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','zgvIDwC','mZm2ntm5whjYu1Pn','C3vTBwfYEq','mtiYnty3mgHwsMHWvq','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','yxbPs2v5','Dg9ju09tDhjPBMC','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','qu5usfjpueLdx09qvvm','DgfZA3m','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','CMvJzw50twvZC2fNzxm','x2fZA0zVCLjVDxrPBMC','y3vYCMvUDe1LC3nHz2u','ywLtzxj2AwnL','kIO6ia','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','mtG1mZK3m1rcv0foyG','C3vIC3rYAw5N','twLZC2LUzYbZzwXLy3rLze1VzgvSigLUigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCMvZCg9UC2u','ihWGu3rYzw5NDgHZoIa','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','DgfZA1r5Cgu','x2zVCM1HDejLBMnOBwfYA0rHDge','CM91DgvYtw9KzwW','yMvUy2HTyxjRu2vYDMLJzq','tM8GCMvHC29UAw5NihbYB3zPzgvK','CMvXDwvZDfrPBwvVDxq','Bg9Nz2vY','BwfW','zM9YrwfJAa','mZqYmZuWnenNDgLVCa','AM9PBG','ktOG','tI9b','uKvrvuvtvf9usu1ft1vu','BgvUz3rO','Bw9KzwWTCM91DgvY','y29UDgvUDa','Aw5MBW','r1buxZq','zMfJDg9YCW','uM91DgvYihrLC3qGy29TCgXLDgvK','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','DgvZDfjVDxrLCG','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','DhLWzq','mKv1DKvSBW','x2nYzwf0zvjVDxrPBMDqCM9TChq','y29UzMLN','Dg9Wtw9KzwXZ','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','CgfYC2LUzY1LCNjVCG','CM9Szq','Dg9vChbLCKnHC2u','Aw5JBhvKzxm','mJy2mZqZmMD1CvnXCG','C2vSzwn0zwrnB2rLBa','y29UzMLKzw5Jzq','lIaQkG','y29UDgv4Dfr5CgvZ'];a0_0x5408=function(){return _0x2b1360;};return a0_0x5408();}export default ModelRouterService;
1
+ function a0_0x21cf(_0x3e1860,_0x32bfa4){_0x3e1860=_0x3e1860-0x6b;const _0x381f97=a0_0x381f();let _0x21cf9d=_0x381f97[_0x3e1860];if(a0_0x21cf['dAgizy']===undefined){var _0x1902a8=function(_0x51f344){const _0x24a874='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x192757='',_0xa07733='';for(let _0x4fda58=0x0,_0x369c0a,_0x48504a,_0x422883=0x0;_0x48504a=_0x51f344['charAt'](_0x422883++);~_0x48504a&&(_0x369c0a=_0x4fda58%0x4?_0x369c0a*0x40+_0x48504a:_0x48504a,_0x4fda58++%0x4)?_0x192757+=String['fromCharCode'](0xff&_0x369c0a>>(-0x2*_0x4fda58&0x6)):0x0){_0x48504a=_0x24a874['indexOf'](_0x48504a);}for(let _0x409e98=0x0,_0x5cd877=_0x192757['length'];_0x409e98<_0x5cd877;_0x409e98++){_0xa07733+='%'+('00'+_0x192757['charCodeAt'](_0x409e98)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa07733);};a0_0x21cf['oxnGJS']=_0x1902a8,a0_0x21cf['cynklA']={},a0_0x21cf['dAgizy']=!![];}const _0x4b9da6=_0x381f97[0x0],_0x27bc9f=_0x3e1860+_0x4b9da6,_0x23ef4b=a0_0x21cf['cynklA'][_0x27bc9f];return!_0x23ef4b?(_0x21cf9d=a0_0x21cf['oxnGJS'](_0x21cf9d),a0_0x21cf['cynklA'][_0x27bc9f]=_0x21cf9d):_0x21cf9d=_0x23ef4b,_0x21cf9d;}const a0_0x55bfee=a0_0x21cf;(function(_0x259164,_0x2d0b3f){const _0x2d4111=a0_0x21cf,_0x41d7ee=_0x259164();while(!![]){try{const _0x1907ea=-parseInt(_0x2d4111(0x73))/0x1*(-parseInt(_0x2d4111(0x84))/0x2)+parseInt(_0x2d4111(0x99))/0x3*(parseInt(_0x2d4111(0xb6))/0x4)+parseInt(_0x2d4111(0x8b))/0x5+parseInt(_0x2d4111(0x7e))/0x6+-parseInt(_0x2d4111(0x9d))/0x7*(-parseInt(_0x2d4111(0x7f))/0x8)+parseInt(_0x2d4111(0x8d))/0x9+parseInt(_0x2d4111(0x95))/0xa*(-parseInt(_0x2d4111(0x70))/0xb);if(_0x1907ea===_0x2d0b3f)break;else _0x41d7ee['push'](_0x41d7ee['shift']());}catch(_0x39776a){_0x41d7ee['push'](_0x41d7ee['shift']());}}}(a0_0x381f,0xabd16));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x192757,_0xa07733,_0x4fda58,_0x369c0a){const _0x4fcc1d=a0_0x21cf;this['config']=_0x192757,this[_0x4fcc1d(0xab)]=_0xa07733,this[_0x4fcc1d(0x96)]=_0x4fda58,this[_0x4fcc1d(0xbe)]=_0x369c0a,this[_0x4fcc1d(0x89)]=MODEL_ROUTER_CONFIG[_0x4fcc1d(0xb0)],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x4fcc1d(0x77)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x4fcc1d(0x91)];}async[a0_0x55bfee(0x6c)](_0x48504a,_0x422883=[],_0x409e98='',_0x5cd877=[],_0xef6803={}){const _0xfe86fa=a0_0x55bfee;try{this['logger'][_0xfe86fa(0xaa)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x48504a[_0xfe86fa(0x87)]?.['length']||0x0,'recentMessagesCount':_0x422883['length'],'currentModel':_0x409e98,'availableModelsCount':_0x5cd877['length']});const _0x108073=this['_buildRoutingContext'](_0x48504a,_0x422883,_0x409e98,_0x5cd877),_0x45f506=this['benchmarkService'][_0xfe86fa(0xbc)](),_0x29181=this[_0xfe86fa(0x6f)](_0x108073,_0x45f506),_0x565acb=await this[_0xfe86fa(0xbb)](_0x29181,_0xef6803),_0x8465f1=this[_0xfe86fa(0xbd)](_0x565acb,_0x5cd877,_0x409e98);return this[_0xfe86fa(0xab)][_0xfe86fa(0xb7)](_0xfe86fa(0x74),{'selectedModel':_0x8465f1,'previousModel':_0x409e98,'changed':_0x8465f1!==_0x409e98,'reasoning':_0x565acb[_0xfe86fa(0xad)]?.['substring'](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x8465f1,'previousModel':_0x409e98,'changed':_0x8465f1!==_0x409e98,'reasoning':_0x565acb[_0xfe86fa(0xad)]||'No\x20reasoning\x20provided'};}catch(_0x185fdf){this[_0xfe86fa(0xab)]['error'](_0xfe86fa(0x85),{'error':_0x185fdf['message'],'currentModel':_0x409e98});const _0x30c30f=_0x409e98||_0x5cd877[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x30c30f,'previousModel':_0x409e98,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x55bfee(0xa1)](_0x4693c1,_0x48b56d,_0x4c339c,_0x1fe351){const _0x518656=a0_0x55bfee,_0x24e899=_0x48b56d[_0x518656(0x83)](-this['contextMessagesCount'])['map'](_0x4b8dac=>({'role':_0x4b8dac[_0x518656(0x9e)],'content':_0x4b8dac['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x4b8dac[_0x518656(0x72)]}));return{'currentMessage':{'content':_0x4693c1[_0x518656(0x87)]?.[_0x518656(0x75)](0x0,0x3e8)||'','role':_0x4693c1['role']||_0x518656(0x8f),'hasContextReferences':!!_0x4693c1[_0x518656(0x7b)]?.[_0x518656(0x9a)],'contextTypes':_0x4693c1[_0x518656(0x7b)]?.[_0x518656(0xc0)](_0x136f8f=>_0x136f8f['type'])||[]},'recentMessages':_0x24e899,'currentModel':_0x4c339c,'availableModels':_0x1fe351['map'](_0x330a0e=>({'name':_0x330a0e,'isCurrentModel':_0x330a0e===_0x4c339c})),'messageCount':_0x48b56d[_0x518656(0x9a)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x44f711,_0x570e44){const _0x37603e=a0_0x55bfee;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x44f711[_0x37603e(0x98)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x44f711[_0x37603e(0x71)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x44f711['availableModels'][_0x37603e(0xc0)](_0x50f972=>_0x50f972['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x44f711['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x44f711['currentMessage']['role']+_0x37603e(0x93)+_0x44f711[_0x37603e(0xaf)]['content']+_0x37603e(0x6d)+_0x44f711['currentMessage']['hasContextReferences']+'\x0a'+(_0x44f711['currentMessage'][_0x37603e(0x90)][_0x37603e(0x9a)]>0x0?_0x37603e(0x88)+_0x44f711['currentMessage']['contextTypes'][_0x37603e(0x8a)](',\x20'):'')+_0x37603e(0x86)+this[_0x37603e(0xa2)](_0x570e44)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}[a0_0x55bfee(0x81)](_0x3a8fec){const _0x113895=a0_0x55bfee;if(!_0x3a8fec[_0x113895(0x9a)])return _0x113895(0xa6);return _0x3a8fec[_0x113895(0xc0)]((_0x5e731b,_0x1c3662)=>_0x1c3662+0x1+_0x113895(0x8e)+_0x5e731b['role']+'**:\x20'+_0x5e731b['content'])[_0x113895(0x8a)]('\x0a');}[a0_0x55bfee(0xa2)](_0x20c260){const _0x2eeb4a=a0_0x55bfee,_0x25c9e4=_0x20c260['models']||[],_0x4cf494=_0x20c260[_0x2eeb4a(0x9b)]||{},_0x2def7a=_0x20c260[_0x2eeb4a(0xa7)]||{};let _0x4f8a28=_0x2eeb4a(0x6e);return Object['entries'](_0x4cf494)['forEach'](([_0x17c6f1,_0x143542])=>{const _0xdabdef=_0x2eeb4a;_0x4f8a28+='**'+_0x17c6f1['toUpperCase']()+_0xdabdef(0x80)+_0x143542[_0xdabdef(0xb5)]+_0xdabdef(0x94)+(_0x143542[_0xdabdef(0xb4)]?.['join'](',\x20')||_0xdabdef(0xb1))+'\x0a';}),_0x4f8a28+='\x0a###\x20Model\x20Details\x0a',_0x25c9e4[_0x2eeb4a(0x83)](0x0,0x8)[_0x2eeb4a(0x76)](_0x6e9d08=>{const _0x52fad7=_0x2eeb4a;_0x4f8a28+='**'+_0x6e9d08[_0x52fad7(0xa3)]+_0x52fad7(0xa0);const _0x4de0de=Object['entries'](_0x6e9d08['tasks']||{})['map'](([_0x31767f,_0x496538])=>_0x31767f+'('+_0x496538[_0x52fad7(0x8c)]+')')['join'](',\x20');_0x4f8a28+=_0x4de0de+_0x52fad7(0xa8)+(_0x6e9d08['strengths']?.[_0x52fad7(0x8a)](',\x20')||'N/A')+'\x0a';}),_0x4f8a28;}async['_askForRouting'](_0x22e947,_0x278e35={}){const _0x35ed7c=a0_0x55bfee;try{const _0xbc621f=await this['aiService']['sendMessage'](this['routerModel'],_0x22e947,{'agentId':'model-router','systemPrompt':'You\x20are\x20a\x20model\x20routing\x20expert.\x20Analyze\x20conversations\x20and\x20select\x20optimal\x20AI\x20models.\x20Always\x20respond\x20with\x20valid\x20JSON\x20only.','temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x35ed7c(0xb2)],'sessionId':_0x278e35['sessionId'],'apiKey':_0x278e35[_0x35ed7c(0x79)]||this['config']['apiKey'],'customApiKeys':_0x278e35[_0x35ed7c(0xae)],'platformProvided':!![]});if(!_0xbc621f['content'])throw new Error('No response content from autopilot-model-router');const _0x10508e=this[_0x35ed7c(0x7a)](_0xbc621f[_0x35ed7c(0x87)]);return _0x10508e;}catch(_0x5b3c45){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x5b3c45['message'],'routerModel':this[_0x35ed7c(0x89)]});throw _0x5b3c45;}}['_parseRoutingResponse'](_0x5799fa){const _0x42fd31=a0_0x55bfee;try{const _0x19ac5b=_0x5799fa['match'](/\{[\s\S]*\}/);if(!_0x19ac5b)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x19fea0=JSON[_0x42fd31(0xb8)](_0x19ac5b[0x0]);if(!_0x19fea0[_0x42fd31(0xbf)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x19fea0['selectedModel'],'taskType':_0x19fea0['taskType']||_0x42fd31(0x82),'confidence':_0x19fea0[_0x42fd31(0x7c)]||0.5,'reasoning':_0x19fea0[_0x42fd31(0xad)]||_0x42fd31(0xac),'factors':_0x19fea0['factors']||[]};}catch(_0x5d4ab8){return this[_0x42fd31(0xab)]['warn'](_0x42fd31(0xb3),{'error':_0x5d4ab8[_0x42fd31(0xa9)],'content':_0x5799fa['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x42fd31(0x82),'confidence':0x0,'reasoning':_0x42fd31(0xb9),'factors':[_0x42fd31(0x97)]};}}[a0_0x55bfee(0xbd)](_0x16da84,_0x3e2993,_0x550517){const _0x12a4e4=a0_0x55bfee,{selectedModel:_0x1f4b2b}=_0x16da84;if(!_0x1f4b2b)return this['logger'][_0x12a4e4(0xaa)](_0x12a4e4(0xa5)),_0x550517;if(!_0x3e2993[_0x12a4e4(0x7d)](_0x1f4b2b))return this[_0x12a4e4(0xab)][_0x12a4e4(0x78)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x1f4b2b,'availableModels':_0x3e2993}),_0x550517;return _0x1f4b2b;}['getStatus'](){const _0x174740=a0_0x55bfee;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x174740(0x9c)],'requestTimeout':this[_0x174740(0xb2)],'benchmarkServiceStatus':this[_0x174740(0x96)][_0x174740(0xa4)](),'isAvailable':!![]};}async['testRouter'](){const _0x3cf453=a0_0x55bfee;try{const _0x2c3ba2={'content':_0x3cf453(0x92),'role':_0x3cf453(0x8f)},_0x429095=await this[_0x3cf453(0x6c)](_0x2c3ba2,[],MODELS[_0x3cf453(0x6b)],[MODELS[_0x3cf453(0x6b)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x3cf453(0x9f)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this['logger'][_0x3cf453(0xb7)]('Router\x20test\x20completed',{'selectedModel':_0x429095}),{'success':!![],'selectedModel':_0x429095};}catch(_0x22ae1c){return this['logger']['error'](_0x3cf453(0xba),{'error':_0x22ae1c['message']}),{'success':![],'error':_0x22ae1c[_0x3cf453(0xa9)]};}}}function a0_0x381f(){const _0x192295=['AM9PBG','mtG0nZe5nvLpre5nAW','C2nVCMu','mtiWmJuZmtrJD1LsANi','lIaQkG','DxnLCG','y29UDgv4Dfr5CgvZ','uKvrvuvtvf9usu1ft1vu','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','cIOQq29UDgvUDcOQoIa','ktOG','mtbRyxv3Cfe','yMvUy2HTyxjRu2vYDMLJzq','CgfYC2LUzY1LCNjVCG','y3vYCMvUDe1VzgvS','mtuWndqXnLPcC1zRDG','BgvUz3rO','DgfZA3m','y29UDgv4De1LC3nHz2vZq291BNq','mtrjuLjnrei','CM9Szq','r1buxZq','kIO6ia','x2j1AwXKuM91DgLUz0nVBNrLEhq','x2zVCM1HDejLBMnOBwfYA0rHDge','BMfTzq','z2v0u3rHDhvZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','C3vTBwfYEq','ihWGu3rYzw5NDgHZoIa','BwvZC2fNzq','zgvIDwC','Bg9Nz2vY','tM8GCMvHC29UAw5NihbYB3zPzgvK','CMvHC29UAw5N','y3vZDg9TqxbPs2v5CW','y3vYCMvUDe1LC3nHz2u','uK9vvevsx01prevm','tM8Gzgf0yq','CMvXDwvZDfrPBwvVDxq','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','Dg9Wtw9KzwXZ','zgvZy3jPChrPB24','ng1HwePUwa','Aw5MBW','CgfYC2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','uM91DgvYihrLC3qGzMfPBgvK','x2fZA0zVCLjVDxrPBMC','z2v0qMvUy2HTyxjRvgfIBgu','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','ywLtzxj2AwnL','C2vSzwn0zwrnB2rLBa','BwfW','qu5usfjpueLdx1nptK5fva','CM91DgvnzxnZywDL','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','x2nYzwf0zvjVDxrPBMDqCM9TChq','mZKYndaXntDxtKfUDuq','BwvZC2fNzunVDw50','DgLTzxn0yw1W','nfrer3HNCq','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','C3vIC3rYAw5N','zM9YrwfJAa','q09ovevyvf9nrvntquDfu19dt1vova','D2fYBG','yxbPs2v5','x3bHCNnLuM91DgLUz1jLC3bVBNnL','y29UDgv4DfjLzMvYzw5Jzxm','y29UzMLKzw5Jzq','Aw5JBhvKzxm','mZiYotmYmhLLtgvKuG','ndK5mty5nML0rMnRyW','kIOGka','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','Dw5RBM93BG','C2XPy2u','mtm4oti2ve5fDvbO','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','y29UDgvUDa','kIPdB250zxH0ifr5CgvZkIO6ia','CM91DgvYtw9KzwW'];a0_0x381f=function(){return _0x192295;};return a0_0x381f();}export default ModelRouterService;
@@ -1 +1 @@
1
- function a0_0xe6cb(){const _0x561710=['zw52','z2v0s2v5C0zVCLjLCxvLC3q','C3rHDhvZvgv4Da','CMv0CNLbDhrLBxb0CW','BwvZC2fNzq','l2fWAs9SBg0VBw9KzwXZ','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','BgfZDevYCM9Y','z2v0vgLTzq','mJC1nJiXnMHeBMjPzW','zxjYB3i','CMv0CNLuAw1LCG','D2fYBG','BgfZDezLDgnOzwq','zMv0y2HnB2rLBhm','BwfW','Aw5MBW','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','nZC1otyYmfbXy1noBW','Aw5PDgLHBgL6zq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','Bg9Nz2vY','x3nJAgvKDwXLuMv0CNK','CMvMCMvZAfDPDgHdB250zxH0','nhvgCKzIza','y29UzMLN','yMfJA2vUzfvYBa','BMvLzhnszwzYzxnO','BgvUz3rO','Bwf4uMv0CMLLCW','mJmYvxzNBxPW','mZm5nJyXtunSvLbx','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','ndK2mZyYmdbbs1nduNC','uMv0CNKGyxr0zw1WDcbMywLSzwq','zgvIDwC','CMvMCMvZAa','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','mti0mtG0n2jSz2L5ta','odeWntqXv0vnv1PP','C2vZC2LVBKLK','Bw9KzwXZ','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','CMv0CNLezwXHEq','z2v0u3rHDhvZ','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','yxbPs2v5twfUywDLCG','yxbPs2v5','y2fJAgvfEhbPCNK','te9ysufFqvbjx0Tfwq','mtaYmfvYCw53AW','AxnmB2fKAw5N','mJK1ndrMsLjwEK8','Cg93'];a0_0xe6cb=function(){return _0x561710;};return a0_0xe6cb();}const a0_0x3c8d8f=a0_0x32ca;(function(_0x4c47f7,_0x3abb33){const _0x3b50f4=a0_0x32ca,_0x2e16d4=_0x4c47f7();while(!![]){try{const _0x1c5148=parseInt(_0x3b50f4(0x1d4))/0x1+-parseInt(_0x3b50f4(0x1ec))/0x2+-parseInt(_0x3b50f4(0x1d3))/0x3*(parseInt(_0x3b50f4(0x1c5))/0x4)+parseInt(_0x3b50f4(0x1df))/0x5*(-parseInt(_0x3b50f4(0x1e1))/0x6)+-parseInt(_0x3b50f4(0x1cc))/0x7*(parseInt(_0x3b50f4(0x1cb))/0x8)+-parseInt(_0x3b50f4(0x1bf))/0x9+parseInt(_0x3b50f4(0x1ce))/0xa;if(_0x1c5148===_0x3abb33)break;else _0x2e16d4['push'](_0x2e16d4['shift']());}catch(_0x455bb6){_0x2e16d4['push'](_0x2e16d4['shift']());}}}(a0_0xe6cb,0xacea5));class ModelsService{constructor(_0xcedad7,_0x40b3d6){const _0x5704bf=a0_0x32ca;this[_0x5704bf(0x1c6)]=_0xcedad7,this[_0x5704bf(0x1c2)]=_0x40b3d6,this[_0x5704bf(0x1d6)]=null,this[_0x5704bf(0x1f0)]=null,this['isLoading']=![],this[_0x5704bf(0x1dd)]=0x5*0x3c*0x3e8,this[_0x5704bf(0x1c7)]=_0xcedad7['backendUrl']||_0x5704bf(0x1be),this[_0x5704bf(0x1e6)]=0x0,this['maxRetries']=0x3,this[_0x5704bf(0x1d8)]=0x7d0,this[_0x5704bf(0x1ee)]=null,this['lastError']=null,this[_0x5704bf(0x1db)]=null;}['setApiKeyManager'](_0x13c1b8){const _0x2947ee=a0_0x32ca;this['apiKeyManager']=_0x13c1b8,this['logger']?.[_0x2947ee(0x1f3)](_0x2947ee(0x1c1),{'hasManager':!!_0x13c1b8});}async[a0_0x3c8d8f(0x1c0)](){const _0x25cc8c=a0_0x3c8d8f;try{await this[_0x25cc8c(0x1f1)](),this[_0x25cc8c(0x1c2)]['info']('Models\x20service\x20initialized',{'modelCount':this['models']?.[_0x25cc8c(0x1c9)]||0x0});}catch(_0x379b94){this[_0x25cc8c(0x1ea)]=_0x379b94[_0x25cc8c(0x1e7)],this['logger'][_0x25cc8c(0x1ed)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x379b94[_0x25cc8c(0x1e7)],'endpoint':this['backendUrl']+_0x25cc8c(0x1e8),'willRetry':!![]}),this[_0x25cc8c(0x1c3)]();}}['getAvailableModelNames'](){const _0x5917f9=a0_0x3c8d8f;if(!this['models']||this['models'][_0x5917f9(0x1c9)]===0x0)return this['logger']['error'](_0x5917f9(0x1da),{'lastError':this['lastError'],'endpoint':this[_0x5917f9(0x1c7)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x5917f9(0x1ca)]}),[];return this[_0x5917f9(0x1d6)][_0x5917f9(0x1f2)](_0x58eb48=>_0x58eb48['name']);}['getModels'](){const _0x6cd93e=a0_0x3c8d8f;if(!this['models']||this[_0x6cd93e(0x1d6)][_0x6cd93e(0x1c9)]===0x0)return this['logger']['error'](_0x6cd93e(0x1da),{'lastError':this[_0x6cd93e(0x1ea)],'endpoint':this[_0x6cd93e(0x1c7)]+_0x6cd93e(0x1e8)}),[];return this['models'];}async[a0_0x3c8d8f(0x1f1)](_0x2de631=null){const _0x57eb1d=a0_0x3c8d8f;if(this[_0x57eb1d(0x1e0)]){this['logger'][_0x57eb1d(0x1d0)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x34c3ea=this['backendUrl']+_0x57eb1d(0x1e8);let _0x4d2d52=null;if(this['apiKeyManager']&&_0x2de631&&_0x2de631[_0x57eb1d(0x1d5)]){const _0xdff3c=this[_0x57eb1d(0x1db)][_0x57eb1d(0x1e4)](_0x2de631['sessionId'],{'platformProvided':!![],'vendor':null});_0x4d2d52=_0xdff3c['loxiaApiKey'],this['logger']?.[_0x57eb1d(0x1f3)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x2de631[_0x57eb1d(0x1d5)],'hasLoxiaKey':!!_0x4d2d52});}if(!_0x4d2d52&&_0x2de631&&_0x2de631['apiKey'])_0x4d2d52=_0x2de631['apiKey'];else{if(!_0x4d2d52&&this[_0x57eb1d(0x1c6)]['apiKey'])_0x4d2d52=this['config'][_0x57eb1d(0x1dc)];else!_0x4d2d52&&process['env']['LOXIA_API_KEY']&&(_0x4d2d52=process['env'][_0x57eb1d(0x1de)]);}const _0x2dc0ad={'method':'GET','headers':{'Content-Type':'application/json',..._0x4d2d52&&{'Authorization':'Bearer\x20'+_0x4d2d52}},'timeout':0x2710};this[_0x57eb1d(0x1c2)]['debug']('Fetching models from backend',{'url':_0x34c3ea,'hasApiKey':!!_0x4d2d52,'apiKeySource':_0x2de631?.[_0x57eb1d(0x1dc)]?'context':this['config'][_0x57eb1d(0x1dc)]?'config':process['env'][_0x57eb1d(0x1de)]?_0x57eb1d(0x1e3):'none'});const _0x2907ed=await fetch(_0x34c3ea,_0x2dc0ad);if(!_0x2907ed['ok'])throw new Error('HTTP\x20'+_0x2907ed['status']+':\x20'+_0x2907ed[_0x57eb1d(0x1e5)]);const _0x3b2710=await _0x2907ed['json']();if(_0x3b2710['models']&&Array['isArray'](_0x3b2710[_0x57eb1d(0x1d6)]))this['models']=_0x3b2710[_0x57eb1d(0x1d6)],this['lastFetched']=new Date(),this['needsRefresh']=![],this[_0x57eb1d(0x1c2)][_0x57eb1d(0x1f3)]('Models fetched from backend',{'modelCount':this['models'][_0x57eb1d(0x1c9)],'models':this[_0x57eb1d(0x1d6)]['map'](_0x1198ec=>_0x1198ec['name'])});else throw new Error('Invalid response format from models API');}catch(_0x286070){this['lastError']=_0x286070[_0x57eb1d(0x1e7)],this[_0x57eb1d(0x1c2)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x286070[_0x57eb1d(0x1e7)],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),this['_scheduleRetry'](_0x2de631);if(!this[_0x57eb1d(0x1d6)])throw _0x286070;}finally{this[_0x57eb1d(0x1e0)]=![];}}['needsRefresh'](){const _0x128d50=a0_0x3c8d8f;if(!this[_0x128d50(0x1f0)])return!![];const _0x283cd7=Date['now']()-this['lastFetched'][_0x128d50(0x1eb)]();return _0x283cd7>this[_0x128d50(0x1dd)];}async[a0_0x3c8d8f(0x1d1)](_0x7c2a50=null){const _0x47b5ae=a0_0x3c8d8f;this['logger'][_0x47b5ae(0x1f3)]('Force\x20refreshing\x20models'),await this['fetchModels'](_0x7c2a50);}async[a0_0x3c8d8f(0x1c4)](_0x362aec){const _0x949f0e=a0_0x3c8d8f;(this['needsRefresh']||!this['lastFetched'])&&(this['logger'][_0x949f0e(0x1d0)]('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this['fetchModels'](_0x362aec));}[a0_0x3c8d8f(0x1c3)](_0xe6bd1a=null){const _0x53f24b=a0_0x3c8d8f;this['retryTimer']&&(clearTimeout(this[_0x53f24b(0x1ee)]),this[_0x53f24b(0x1ee)]=null);if(this['retryAttempts']>=this[_0x53f24b(0x1ca)]){this[_0x53f24b(0x1c2)]['error'](_0x53f24b(0x1e9),{'attempts':this[_0x53f24b(0x1e6)],'maxRetries':this[_0x53f24b(0x1ca)],'lastError':this['lastError']});return;}const _0x13b099=this[_0x53f24b(0x1d8)]*Math[_0x53f24b(0x1e2)](0x2,this[_0x53f24b(0x1e6)]);this[_0x53f24b(0x1e6)]++,this['logger'][_0x53f24b(0x1f3)](_0x53f24b(0x1d7),{'attempt':this['retryAttempts'],'maxRetries':this['maxRetries'],'delayMs':_0x13b099}),this['retryTimer']=setTimeout(async()=>{const _0xd8df31=_0x53f24b;this['logger']['info'](_0xd8df31(0x1cd),{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0xe6bd1a),this['retryAttempts']=0x0,this['lastError']=null;}catch(_0x3c61d0){this[_0xd8df31(0x1c2)][_0xd8df31(0x1ef)](_0xd8df31(0x1cf),{'attempt':this['retryAttempts'],'error':_0x3c61d0['message']});}},_0x13b099);}['_cancelRetry'](){const _0x16c753=a0_0x3c8d8f;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null,this[_0x16c753(0x1c2)]['debug'](_0x16c753(0x1d2)));}[a0_0x3c8d8f(0x1d9)](){const _0x29274e=a0_0x3c8d8f;return{'initialized':!!this['models'],'lastFetched':this[_0x29274e(0x1f0)]?.['toISOString']()||null,'modelCount':this[_0x29274e(0x1d6)]?.[_0x29274e(0x1c9)]||0x0,'isLoading':this['isLoading'],'needsRefresh':this[_0x29274e(0x1c8)](),'error':this['lastError']||null,'retryAttempts':this[_0x29274e(0x1e6)],'maxRetries':this[_0x29274e(0x1ca)],'hasError':!!this['lastError']};}}function a0_0x32ca(_0x2b829a,_0xd9ff0d){_0x2b829a=_0x2b829a-0x1be;const _0xe6cbe0=a0_0xe6cb();let _0x32ca97=_0xe6cbe0[_0x2b829a];if(a0_0x32ca['PWGiMr']===undefined){var _0x16fe13=function(_0x62cf4a){const _0x5307be='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcedad7='',_0x40b3d6='';for(let _0x13c1b8=0x0,_0x379b94,_0x58eb48,_0x2de631=0x0;_0x58eb48=_0x62cf4a['charAt'](_0x2de631++);~_0x58eb48&&(_0x379b94=_0x13c1b8%0x4?_0x379b94*0x40+_0x58eb48:_0x58eb48,_0x13c1b8++%0x4)?_0xcedad7+=String['fromCharCode'](0xff&_0x379b94>>(-0x2*_0x13c1b8&0x6)):0x0){_0x58eb48=_0x5307be['indexOf'](_0x58eb48);}for(let _0x34c3ea=0x0,_0x4d2d52=_0xcedad7['length'];_0x34c3ea<_0x4d2d52;_0x34c3ea++){_0x40b3d6+='%'+('00'+_0xcedad7['charCodeAt'](_0x34c3ea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40b3d6);};a0_0x32ca['zhtJol']=_0x16fe13,a0_0x32ca['OOnRaM']={},a0_0x32ca['PWGiMr']=!![];}const _0x473a50=_0xe6cbe0[0x0],_0x4737a6=_0x2b829a+_0x473a50,_0x429e0b=a0_0x32ca['OOnRaM'][_0x4737a6];return!_0x429e0b?(_0x32ca97=a0_0x32ca['zhtJol'](_0x32ca97),a0_0x32ca['OOnRaM'][_0x4737a6]=_0x32ca97):_0x32ca97=_0x429e0b,_0x32ca97;}export default ModelsService;
1
+ function a0_0x32ea(_0x5ca875,_0x1730b6){_0x5ca875=_0x5ca875-0x10f;const _0x3eba70=a0_0x3eba();let _0x32eaab=_0x3eba70[_0x5ca875];if(a0_0x32ea['VSxUcn']===undefined){var _0x11d06e=function(_0x2e6ee2){const _0x210e56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fc58b='',_0x5f3cb1='';for(let _0x320b0f=0x0,_0x503427,_0x1369ff,_0x50002=0x0;_0x1369ff=_0x2e6ee2['charAt'](_0x50002++);~_0x1369ff&&(_0x503427=_0x320b0f%0x4?_0x503427*0x40+_0x1369ff:_0x1369ff,_0x320b0f++%0x4)?_0x2fc58b+=String['fromCharCode'](0xff&_0x503427>>(-0x2*_0x320b0f&0x6)):0x0){_0x1369ff=_0x210e56['indexOf'](_0x1369ff);}for(let _0x111d54=0x0,_0x3bd0b1=_0x2fc58b['length'];_0x111d54<_0x3bd0b1;_0x111d54++){_0x5f3cb1+='%'+('00'+_0x2fc58b['charCodeAt'](_0x111d54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5f3cb1);};a0_0x32ea['SyJfWe']=_0x11d06e,a0_0x32ea['kQhlde']={},a0_0x32ea['VSxUcn']=!![];}const _0x32aae3=_0x3eba70[0x0],_0x115176=_0x5ca875+_0x32aae3,_0x47216a=a0_0x32ea['kQhlde'][_0x115176];return!_0x47216a?(_0x32eaab=a0_0x32ea['SyJfWe'](_0x32eaab),a0_0x32ea['kQhlde'][_0x115176]=_0x32eaab):_0x32eaab=_0x47216a,_0x32eaab;}const a0_0x2f1c7f=a0_0x32ea;(function(_0x2528be,_0x5a684d){const _0x1afb7c=a0_0x32ea,_0x469a5b=_0x2528be();while(!![]){try{const _0x152370=-parseInt(_0x1afb7c(0x124))/0x1*(parseInt(_0x1afb7c(0x121))/0x2)+-parseInt(_0x1afb7c(0x111))/0x3*(parseInt(_0x1afb7c(0x144))/0x4)+-parseInt(_0x1afb7c(0x129))/0x5+-parseInt(_0x1afb7c(0x137))/0x6+-parseInt(_0x1afb7c(0x11c))/0x7*(parseInt(_0x1afb7c(0x12f))/0x8)+parseInt(_0x1afb7c(0x117))/0x9+-parseInt(_0x1afb7c(0x126))/0xa*(-parseInt(_0x1afb7c(0x145))/0xb);if(_0x152370===_0x5a684d)break;else _0x469a5b['push'](_0x469a5b['shift']());}catch(_0x3676b7){_0x469a5b['push'](_0x469a5b['shift']());}}}(a0_0x3eba,0x1a1da));class ModelsService{constructor(_0x2fc58b,_0x5f3cb1){const _0x5d7c99=a0_0x32ea;this['config']=_0x2fc58b,this[_0x5d7c99(0x131)]=_0x5f3cb1,this['models']=null,this[_0x5d7c99(0x130)]=null,this[_0x5d7c99(0x141)]=![],this[_0x5d7c99(0x135)]=0x5*0x3c*0x3e8,this['backendUrl']=_0x2fc58b['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this['maxRetries']=0x3,this[_0x5d7c99(0x11b)]=0x7d0,this['retryTimer']=null,this['lastError']=null,this[_0x5d7c99(0x12d)]=null;}[a0_0x2f1c7f(0x13a)](_0x320b0f){const _0x2317c6=a0_0x2f1c7f;this[_0x2317c6(0x12d)]=_0x320b0f,this['logger']?.[_0x2317c6(0x14b)](_0x2317c6(0x13f),{'hasManager':!!_0x320b0f});}async[a0_0x2f1c7f(0x136)](){const _0x22cc35=a0_0x2f1c7f;try{await this['fetchModels'](),this['logger'][_0x22cc35(0x14b)]('Models\x20service\x20initialized',{'modelCount':this['models']?.['length']||0x0});}catch(_0x503427){this[_0x22cc35(0x127)]=_0x503427[_0x22cc35(0x110)],this[_0x22cc35(0x131)][_0x22cc35(0x143)](_0x22cc35(0x114),{'error':_0x503427[_0x22cc35(0x110)],'endpoint':this['backendUrl']+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x2f1c7f(0x11d)](){const _0xad9e9=a0_0x2f1c7f;if(!this[_0xad9e9(0x14c)]||this[_0xad9e9(0x14c)]['length']===0x0)return this[_0xad9e9(0x131)][_0xad9e9(0x143)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0xad9e9(0x138),'retryAttempt':this[_0xad9e9(0x113)],'maxRetries':this['maxRetries']}),[];return this['models'][_0xad9e9(0x122)](_0x1369ff=>_0x1369ff['name']);}[a0_0x2f1c7f(0x13b)](){const _0x34cb6e=a0_0x2f1c7f;if(!this['models']||this['models'][_0x34cb6e(0x133)]===0x0)return this['logger']['error'](_0x34cb6e(0x118),{'lastError':this['lastError'],'endpoint':this[_0x34cb6e(0x11e)]+'/api/llm/models'}),[];return this[_0x34cb6e(0x14c)];}async['fetchModels'](_0x50002=null){const _0x3a5fe2=a0_0x2f1c7f;if(this['isLoading']){this['logger']['debug'](_0x3a5fe2(0x128));return;}this['isLoading']=!![];try{const _0x111d54=this['backendUrl']+'/api/llm/models';let _0x3bd0b1=null;if(this['apiKeyManager']&&_0x50002&&_0x50002['sessionId']){const _0x5a7d87=this['apiKeyManager'][_0x3a5fe2(0x134)](_0x50002[_0x3a5fe2(0x146)],{'platformProvided':!![],'vendor':null});_0x3bd0b1=_0x5a7d87[_0x3a5fe2(0x12a)],this[_0x3a5fe2(0x131)]?.[_0x3a5fe2(0x14b)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x50002['sessionId'],'hasLoxiaKey':!!_0x3bd0b1});}if(!_0x3bd0b1&&_0x50002&&_0x50002[_0x3a5fe2(0x12e)])_0x3bd0b1=_0x50002[_0x3a5fe2(0x12e)];else{if(!_0x3bd0b1&&this[_0x3a5fe2(0x119)]['apiKey'])_0x3bd0b1=this[_0x3a5fe2(0x119)]['apiKey'];else!_0x3bd0b1&&process[_0x3a5fe2(0x10f)][_0x3a5fe2(0x12c)]&&(_0x3bd0b1=process['env']['LOXIA_API_KEY']);}const _0x2776a3={'method':'GET','headers':{'Content-Type':_0x3a5fe2(0x11f),..._0x3bd0b1&&{'Authorization':'Bearer\x20'+_0x3bd0b1}},'timeout':0x2710};this[_0x3a5fe2(0x131)]['debug']('Fetching models from backend',{'url':_0x111d54,'hasApiKey':!!_0x3bd0b1,'apiKeySource':_0x50002?.[_0x3a5fe2(0x12e)]?'context':this['config']['apiKey']?_0x3a5fe2(0x119):process['env'][_0x3a5fe2(0x12c)]?'env':'none'});const _0xb3f799=await fetch(_0x111d54,_0x2776a3);if(!_0xb3f799['ok'])throw new Error('HTTP\x20'+_0xb3f799[_0x3a5fe2(0x14a)]+':\x20'+_0xb3f799[_0x3a5fe2(0x147)]);const _0xf66081=await _0xb3f799['json']();if(_0xf66081[_0x3a5fe2(0x14c)]&&Array['isArray'](_0xf66081[_0x3a5fe2(0x14c)]))this[_0x3a5fe2(0x14c)]=_0xf66081['models'],this['lastFetched']=new Date(),this[_0x3a5fe2(0x112)]=![],this['logger']['info']('Models fetched from backend',{'modelCount':this[_0x3a5fe2(0x14c)]['length'],'models':this[_0x3a5fe2(0x14c)][_0x3a5fe2(0x122)](_0x151c9c=>_0x151c9c[_0x3a5fe2(0x116)])});else throw new Error('Invalid response format from models API');}catch(_0x5b380d){this[_0x3a5fe2(0x127)]=_0x5b380d[_0x3a5fe2(0x110)],this[_0x3a5fe2(0x131)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x5b380d['message'],'endpoint':url,'retryAttempt':this[_0x3a5fe2(0x113)],'maxRetries':this[_0x3a5fe2(0x13e)]}),this['_scheduleRetry'](_0x50002);if(!this['models'])throw _0x5b380d;}finally{this[_0x3a5fe2(0x141)]=![];}}[a0_0x2f1c7f(0x112)](){const _0x38bd3e=a0_0x2f1c7f;if(!this[_0x38bd3e(0x130)])return!![];const _0x329222=Date[_0x38bd3e(0x115)]()-this[_0x38bd3e(0x130)]['getTime']();return _0x329222>this['cacheExpiry'];}async[a0_0x2f1c7f(0x13c)](_0x9ab2d3=null){const _0x182ad4=a0_0x2f1c7f;this[_0x182ad4(0x131)]['info'](_0x182ad4(0x12b)),await this['fetchModels'](_0x9ab2d3);}async['refreshWithContext'](_0x6eb368){const _0x22392d=a0_0x2f1c7f;(this[_0x22392d(0x112)]||!this[_0x22392d(0x130)])&&(this['logger'][_0x22392d(0x120)](_0x22392d(0x123)),await this['fetchModels'](_0x6eb368));}[a0_0x2f1c7f(0x13d)](_0x5b4001=null){const _0x22140d=a0_0x2f1c7f;this[_0x22140d(0x139)]&&(clearTimeout(this['retryTimer']),this[_0x22140d(0x139)]=null);if(this[_0x22140d(0x113)]>=this['maxRetries']){this[_0x22140d(0x131)][_0x22140d(0x143)](_0x22140d(0x132),{'attempts':this[_0x22140d(0x113)],'maxRetries':this['maxRetries'],'lastError':this[_0x22140d(0x127)]});return;}const _0x2c2a06=this[_0x22140d(0x11b)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger'][_0x22140d(0x14b)](_0x22140d(0x149),{'attempt':this[_0x22140d(0x113)],'maxRetries':this[_0x22140d(0x13e)],'delayMs':_0x2c2a06}),this[_0x22140d(0x139)]=setTimeout(async()=>{const _0x586eae=_0x22140d;this['logger']['info'](_0x586eae(0x140),{'attempt':this[_0x586eae(0x113)]});try{await this[_0x586eae(0x11a)](_0x5b4001),this[_0x586eae(0x113)]=0x0,this['lastError']=null;}catch(_0x1baffe){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x1baffe[_0x586eae(0x110)]});}},_0x2c2a06);}[a0_0x2f1c7f(0x125)](){const _0xadbd12=a0_0x2f1c7f;this[_0xadbd12(0x139)]&&(clearTimeout(this[_0xadbd12(0x139)]),this['retryTimer']=null,this['logger']['debug'](_0xadbd12(0x142)));}[a0_0x2f1c7f(0x148)](){const _0x1dcc75=a0_0x2f1c7f;return{'initialized':!!this[_0x1dcc75(0x14c)],'lastFetched':this[_0x1dcc75(0x130)]?.['toISOString']()||null,'modelCount':this['models']?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this['lastError']||null,'retryAttempts':this[_0x1dcc75(0x113)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;function a0_0x3eba(){const _0xa9e914=['mta2mti5ofHOufbuAq','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','y29UzMLN','zMv0y2HnB2rLBhm','CMv0CNLezwXHEq','n0TqEhzuCq','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','yMfJA2vUzfvYBa','yxbWBgLJyxrPB24VANnVBG','zgvIDwC','mtiZngThDMnnEa','BwfW','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','mtyZs3jor2ro','x2nHBMnLBfjLDhj5','mtyZndeWDND1y2HL','BgfZDevYCM9Y','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','mZa4mJy1wvHUsvvO','Bg94AwfbCgLlzxK','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','te9ysufFqvbjx0Tfwq','yxbPs2v5twfUywDLCG','yxbPs2v5','mtaWmtG5nKj5rKXOua','BgfZDezLDgnOzwq','Bg9Nz2vY','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','BgvUz3rO','z2v0s2v5C0zVCLjLCxvLC3q','y2fJAgvfEhbPCNK','Aw5PDgLHBgL6zq','ndy5nJy4rej2tfDh','l2fWAs9SBg0VBw9KzwXZ','CMv0CNLuAw1LCG','C2v0qxbPs2v5twfUywDLCG','z2v0tw9KzwXZ','CMvMCMvZAa','x3nJAgvKDwXLuMv0CNK','Bwf4uMv0CMLLCW','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','AxnmB2fKAw5N','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','zxjYB3i','mZC2Du9Owvzm','mJuZvwTJugHL','C2vZC2LVBKLK','C3rHDhvZvgv4Da','z2v0u3rHDhvZ','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','C3rHDhvZ','Aw5MBW','Bw9KzwXZ','zw52','BwvZC2fNzq','nJCYAwvVvLDQ','BMvLzhnszwzYzxnO','CMv0CNLbDhrLBxb0CW','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','BM93','BMfTzq'];a0_0x3eba=function(){return _0xa9e914;};return a0_0x3eba();}