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

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 (122) 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-CRkOpV4k.css +1 -0
  121. package/web-ui/build/static/{index-CR8edPA3.js → index-DzOU48ux.js} +98 -79
  122. package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
@@ -1 +1 @@
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
+ const a0_0x41529f=a0_0x2f97;function a0_0x2f97(_0x422b20,_0x32aef6){_0x422b20=_0x422b20-0x1e4;const _0x9dfb3=a0_0x9dfb();let _0x2f9776=_0x9dfb3[_0x422b20];if(a0_0x2f97['NBLDak']===undefined){var _0x22b9b9=function(_0x1b63f6){const _0xf9196c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d48a='',_0x1daa90='';for(let _0x1f5782=0x0,_0x485a8f,_0x35113a,_0x585960=0x0;_0x35113a=_0x1b63f6['charAt'](_0x585960++);~_0x35113a&&(_0x485a8f=_0x1f5782%0x4?_0x485a8f*0x40+_0x35113a:_0x35113a,_0x1f5782++%0x4)?_0x17d48a+=String['fromCharCode'](0xff&_0x485a8f>>(-0x2*_0x1f5782&0x6)):0x0){_0x35113a=_0xf9196c['indexOf'](_0x35113a);}for(let _0x88e70=0x0,_0x1b45da=_0x17d48a['length'];_0x88e70<_0x1b45da;_0x88e70++){_0x1daa90+='%'+('00'+_0x17d48a['charCodeAt'](_0x88e70)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1daa90);};a0_0x2f97['jfiUjA']=_0x22b9b9,a0_0x2f97['VGTkOy']={},a0_0x2f97['NBLDak']=!![];}const _0x4f2267=_0x9dfb3[0x0],_0x4f5d44=_0x422b20+_0x4f2267,_0x24d498=a0_0x2f97['VGTkOy'][_0x4f5d44];return!_0x24d498?(_0x2f9776=a0_0x2f97['jfiUjA'](_0x2f9776),a0_0x2f97['VGTkOy'][_0x4f5d44]=_0x2f9776):_0x2f9776=_0x24d498,_0x2f9776;}function a0_0x9dfb(){const _0x43d968=['BwfW','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','ic0G','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','x2LKzw50Awz5u2vNBwvUDhm','BwLKzgXL','BM93','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','zgvIDwC','BwvZC2fNzq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','mtaYotmXmgr1Bur0AW','y291BNruB2TLBNm','Aw5MBW','CMvWBgfJzq','mZi0mtHptLzKEey','zMXVB3i','x2DLBMvYyxrLu3vTBwfYEq','BwLKzgXLu3rHCNrjBMrLEa','nte4vM10y0fR','vfjvtKnbveLptG','Bg9Nz2vY','tufyx1nvtu1buLLFve9lru5t','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','yMvNAw5UAw5N','otuZmtyXnKfSsgnIDq','y29UDgvUDa','DxnLCG','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','quDhuKvtu0Lwrq','CM9Szq','ywDNCMvZC2L2zq','mteXotu3nLnWBxPvvW','mZyYntKYqwTRy3HP','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','C3vTBwfYEq','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','BwLKzgXLrw5Ksw5KzxG','C2vUze1LC3nHz2u','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','zxjYB3i','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','zw5K','ihvZzxiGBwvZC2fNzxmSia','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','y29TCgfJDenVBNzLCNnHDgLVBG','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','oteYmJC2zLbKreDp','yxnZAxn0yw50','C2vWyxjHDg9Y','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','qundvvjbveu','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','D2fYBG','Dg9gAxHLza','C3LZDgvT','u1vntufssvPbveLptG','ig1LC3nHz2vZ','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','C2XPy2u','E21PzgrSzv9ZzwDTzw50Fq','Dg9ju09tDhjPBMC','BgvUz3rO','B3jPz2LUywWGBwvZC2fNzxmG','q29TCgfJDgLVBIbMywLSzwq','ndmXntaWy0PVsLDM'];a0_0x9dfb=function(){return _0x43d968;};return a0_0x9dfb();}(function(_0x32691b,_0x1785ee){const _0x4bbcc1=a0_0x2f97,_0x14638e=_0x32691b();while(!![]){try{const _0x183112=-parseInt(_0x4bbcc1(0x22e))/0x1+parseInt(_0x4bbcc1(0x22d))/0x2+-parseInt(_0x4bbcc1(0x1f1))/0x3+-parseInt(_0x4bbcc1(0x209))/0x4+-parseInt(_0x4bbcc1(0x218))/0x5+-parseInt(_0x4bbcc1(0x21c))/0x6*(parseInt(_0x4bbcc1(0x220))/0x7)+parseInt(_0x4bbcc1(0x226))/0x8;if(_0x183112===_0x1785ee)break;else _0x14638e['push'](_0x14638e['shift']());}catch(_0xf7ceb3){_0x14638e['push'](_0x14638e['shift']());}}}(a0_0x9dfb,0x5a935));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x17d48a,_0x1daa90,_0x1f5782){const _0x41f0b2=a0_0x2f97;this[_0x41f0b2(0x1f8)]=_0x17d48a,this['aiService']=_0x1daa90,this[_0x41f0b2(0x222)]=_0x1f5782,this[_0x41f0b2(0x216)]=this[_0x41f0b2(0x201)]();}async[a0_0x41529f(0x1ef)](_0x485a8f,_0x35113a,_0x585960,_0x88e70={}){const _0x56be33=a0_0x41529f,_0x1b45da=Date[_0x56be33(0x212)]();try{if(!Array['isArray'](_0x485a8f)||_0x485a8f['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x485a8f['length']<COMPACTION_CONFIG[_0x56be33(0x20b)])return this[_0x56be33(0x222)]['warn']('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x485a8f[_0x56be33(0x206)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x485a8f,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x33b595=_0x35113a!==_0x585960,_0x3d8695=_0x88e70['isRetry']||![];let _0x372ef3;if(_0x33b595)_0x372ef3=COMPACTION_STRATEGIES[_0x56be33(0x221)];else _0x3d8695?_0x372ef3=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x372ef3=_0x88e70['strategy']||COMPACTION_STRATEGIES[_0x56be33(0x1ff)];this[_0x56be33(0x222)]['info'](_0x56be33(0x1f7),{'messageCount':_0x485a8f['length'],'currentModel':_0x35113a,'targetModel':_0x585960,'strategy':_0x372ef3,'isModelSwitch':_0x33b595,'isRetry':_0x3d8695});let _0x379c91;switch(_0x372ef3){case COMPACTION_STRATEGIES[_0x56be33(0x1ff)]:_0x379c91=await this['_compactWithSummarization'](_0x485a8f,_0x35113a,_0x88e70);break;case COMPACTION_STRATEGIES[_0x56be33(0x221)]:_0x379c91=await this[_0x56be33(0x1f4)](_0x485a8f,_0x585960,_0x88e70);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x379c91=await this[_0x56be33(0x1f5)](_0x485a8f,_0x35113a,_0x88e70);break;default:throw new Error(_0x56be33(0x1f0)+_0x372ef3);}const _0x22a0bd=Date[_0x56be33(0x212)]()-_0x1b45da;return _0x379c91['executionTime']=_0x22a0bd,_0x379c91['timestamp']=new Date()[_0x56be33(0x205)](),this['logger']['info']('Compaction\x20completed\x20successfully',{'strategy':_0x379c91['strategy'],'originalMessages':_0x485a8f[_0x56be33(0x206)],'compactedMessages':_0x379c91['compactedMessages']['length'],'originalTokens':_0x379c91['originalTokenCount'],'compactedTokens':_0x379c91['compactedTokenCount'],'reductionPercent':_0x379c91['reductionPercent'][_0x56be33(0x1fd)](0x2),'executionTime':_0x22a0bd+'ms'}),_0x379c91;}catch(_0x19ca70){const _0xaa2810=Date['now']()-_0x1b45da;this[_0x56be33(0x222)][_0x56be33(0x1ea)](_0x56be33(0x208),{'error':_0x19ca70['message'],'messageCount':_0x485a8f[_0x56be33(0x206)],'currentModel':_0x35113a,'targetModel':_0x585960,'executionTime':_0xaa2810+'ms'});throw _0x19ca70;}}async[a0_0x41529f(0x1e6)](_0x9ce158,_0x490e74,_0x4ad679){const _0x770598=a0_0x41529f,_0x38bd31=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x3531e2=await this['tokenCountingService']['estimateConversationTokens'](_0x9ce158,_0x490e74,TOKEN_COUNTING_MODES[_0x770598(0x1fa)]),_0x378abc=await this[_0x770598(0x210)](_0x9ce158,_0x490e74,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x770598(0x222)]['debug']('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x378abc[_0x770598(0x225)]['length'],'middleMessages':_0x378abc[_0x770598(0x211)]['length'],'endMessages':_0x378abc['end'][_0x770598(0x206)],'middleStartIndex':_0x378abc['middleStartIndex'],'middleEndIndex':_0x378abc[_0x770598(0x1e7)],'totalMessages':_0x9ce158['length']});const _0xa508ef=await this[_0x770598(0x21e)](_0x378abc['middle'],_0x490e74,{..._0x4ad679,'middleStartIndex':_0x378abc['middleStartIndex'],'middleEndIndex':_0x378abc['middleEndIndex']}),_0x5260e6=[..._0x378abc[_0x770598(0x225)],_0xa508ef,..._0x378abc['end']],_0x14a2e2=await this['tokenCountingService']['estimateConversationTokens'](_0x5260e6,_0x490e74,TOKEN_COUNTING_MODES[_0x770598(0x1fa)]),_0x47de6a=(_0x3531e2-_0x14a2e2)/_0x3531e2*0x64;return{'compactedMessages':_0x5260e6,'strategy':_0x38bd31,'originalTokenCount':_0x3531e2,'compactedTokenCount':_0x14a2e2,'reductionPercent':_0x47de6a,'segments':{'beginningCount':_0x378abc['beginning']['length'],'middleCount':_0x378abc['middle'][_0x770598(0x206)],'endCount':_0x378abc['end']['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x47fae7,_0x28c5e7,_0x1a576d){const _0x57d1f8=a0_0x41529f,_0x278c5b=COMPACTION_STRATEGIES['TRUNCATION'],_0x4ce6dc=this['tokenCountingService']['getModelContextWindow'](_0x28c5e7),_0x42fa74=Math['floor'](_0x4ce6dc*0.8),_0x12d785=await this['tokenCountingService'][_0x57d1f8(0x20c)](_0x47fae7,_0x28c5e7,TOKEN_COUNTING_MODES['ACCURATE']),_0x4dae22=await this['_identifySegments'](_0x47fae7,_0x28c5e7,COMPACTION_CONFIG[_0x57d1f8(0x1e4)],COMPACTION_CONFIG[_0x57d1f8(0x213)]);this[_0x57d1f8(0x222)]['debug']('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x4dae22[_0x57d1f8(0x225)]['length'],'middleMessages':_0x4dae22['middle']['length'],'endMessages':_0x4dae22[_0x57d1f8(0x1ec)][_0x57d1f8(0x206)],'targetTokenCount':_0x42fa74,'originalTokenCount':_0x12d785});const _0x3229c8={'role':_0x57d1f8(0x1fe),'content':COMPACTION_CONFIG[_0x57d1f8(0x1fb)],'type':_0x57d1f8(0x1f3),'timestamp':new Date()[_0x57d1f8(0x205)](),'metadata':{'truncatedMessages':_0x4dae22['middle']['length'],'reason':_0x57d1f8(0x229)}},_0x51b1a3=[..._0x4dae22['beginning'],_0x3229c8,..._0x4dae22['end']],_0x12a156=await this[_0x57d1f8(0x1f8)][_0x57d1f8(0x20c)](_0x51b1a3,_0x28c5e7,TOKEN_COUNTING_MODES['ACCURATE']),_0x463df8=(_0x12d785-_0x12a156)/_0x12d785*0x64;return{'compactedMessages':_0x51b1a3,'strategy':_0x278c5b,'originalTokenCount':_0x12d785,'compactedTokenCount':_0x12a156,'reductionPercent':_0x463df8,'segments':{'beginningCount':_0x4dae22[_0x57d1f8(0x225)][_0x57d1f8(0x206)],'middleCount':_0x4dae22[_0x57d1f8(0x211)][_0x57d1f8(0x206)],'endCount':_0x4dae22[_0x57d1f8(0x1ec)]['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x5f3549,_0x5994e5,_0x2d23aa){const _0x4cc4e5=a0_0x41529f,_0x15f6df=COMPACTION_STRATEGIES[_0x4cc4e5(0x22a)],_0x50d50e=await this['tokenCountingService'][_0x4cc4e5(0x20c)](_0x5f3549,_0x5994e5,TOKEN_COUNTING_MODES[_0x4cc4e5(0x1fa)]),_0x3ff48b=await this[_0x4cc4e5(0x210)](_0x5f3549,_0x5994e5,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger']['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x3ff48b[_0x4cc4e5(0x225)][_0x4cc4e5(0x206)],'middleMessages':_0x3ff48b['middle']['length'],'endMessages':_0x3ff48b['end'][_0x4cc4e5(0x206)],'middleStartIndex':_0x3ff48b['middleStartIndex'],'middleEndIndex':_0x3ff48b['middleEndIndex']});const _0x5d5514=await this['_generateSummary'](_0x3ff48b['middle'],_0x5994e5,{..._0x2d23aa,'aggressive':!![],'middleStartIndex':_0x3ff48b[_0x4cc4e5(0x21f)],'middleEndIndex':_0x3ff48b['middleEndIndex']}),_0x4e0ad2=[..._0x3ff48b['beginning'],_0x5d5514,..._0x3ff48b[_0x4cc4e5(0x1ec)]],_0x16b15d=await this['tokenCountingService'][_0x4cc4e5(0x20c)](_0x4e0ad2,_0x5994e5,TOKEN_COUNTING_MODES['ACCURATE']),_0x559e25=(_0x50d50e-_0x16b15d)/_0x50d50e*0x64;return{'compactedMessages':_0x4e0ad2,'strategy':_0x15f6df,'originalTokenCount':_0x50d50e,'compactedTokenCount':_0x16b15d,'reductionPercent':_0x559e25,'segments':{'beginningCount':_0x3ff48b[_0x4cc4e5(0x225)][_0x4cc4e5(0x206)],'middleCount':_0x3ff48b['middle']['length'],'endCount':_0x3ff48b['end']['length'],'summaryInserted':!![]}};}async['_identifySegments'](_0x7127e6,_0xf3201a,_0x2582e8,_0x1e9064){const _0x3a93c7=a0_0x41529f,_0xb4fc50=await this[_0x3a93c7(0x1f8)]['estimateConversationTokens'](_0x7127e6,_0xf3201a,TOKEN_COUNTING_MODES[_0x3a93c7(0x1fa)]),_0x208d59=Math[_0x3a93c7(0x21d)](_0xb4fc50*_0x2582e8),_0x5dd0e8=Math[_0x3a93c7(0x21d)](_0xb4fc50*_0x1e9064);let _0x523dd0=0x0,_0x1810bc=0x0;for(let _0x3923ec=0x0;_0x3923ec<_0x7127e6['length'];_0x3923ec++){const _0xec009e=await this[_0x3a93c7(0x1f8)]['countTokens'](_0x7127e6[_0x3923ec][_0x3a93c7(0x227)],_0xf3201a,TOKEN_COUNTING_MODES['CACHED']);if(_0x523dd0+_0xec009e>_0x208d59&&_0x3923ec>=0x2)break;_0x523dd0+=_0xec009e,_0x1810bc=_0x3923ec+0x1;}let _0x1a6840=0x0,_0xc78a12=_0x7127e6[_0x3a93c7(0x206)];for(let _0xa63c5d=_0x7127e6[_0x3a93c7(0x206)]-0x1;_0xa63c5d>=0x0;_0xa63c5d--){const _0x4d036e=await this[_0x3a93c7(0x1f8)][_0x3a93c7(0x219)](_0x7127e6[_0xa63c5d]['content'],_0xf3201a,TOKEN_COUNTING_MODES['CACHED']);if(_0x1a6840+_0x4d036e>_0x5dd0e8)break;_0x1a6840+=_0x4d036e,_0xc78a12=_0xa63c5d;}_0xc78a12<_0x1810bc&&(_0xc78a12=_0x1810bc);const _0x3f9098=_0x7127e6[_0x3a93c7(0x203)](0x0,_0x1810bc),_0x27a42a=_0x7127e6[_0x3a93c7(0x203)](_0x1810bc,_0xc78a12),_0x4dea46=_0x7127e6['slice'](_0xc78a12);return{'beginning':_0x3f9098,'middle':_0x27a42a,'end':_0x4dea46,'middleStartIndex':_0x1810bc,'middleEndIndex':_0xc78a12-0x1};}async['_generateSummary'](_0x5e1a4a,_0x46e44d,_0x22aeb8={}){const _0x4dddfb=a0_0x41529f;if(_0x5e1a4a[_0x4dddfb(0x206)]===0x0)return{'role':'system','content':COMPACTION_CONFIG[_0x4dddfb(0x1ee)]+_0x4dddfb(0x1e9),'type':_0x4dddfb(0x1e5),'timestamp':new Date()[_0x4dddfb(0x205)]()};const _0x1d8764=_0x5e1a4a[_0x4dddfb(0x20a)](_0x356ea0=>_0x356ea0['role']+':\x20'+_0x356ea0['content'])['join']('\x0a\x0a'),_0x406b4e=this[_0x4dddfb(0x216)][_0x4dddfb(0x21b)](_0x4dddfb(0x204),_0x1d8764)['replace']('{aggressive_instruction}',_0x22aeb8[_0x4dddfb(0x22c)]?_0x4dddfb(0x202):''),_0x4eaf93=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x4dddfb(0x1eb)]];let _0x4913d6=null;for(const _0x2cdd22 of _0x4eaf93){try{this[_0x4dddfb(0x222)][_0x4dddfb(0x214)]('Generating\x20summary',{'compactionModel':_0x2cdd22,'middleMessageCount':_0x5e1a4a[_0x4dddfb(0x206)],'middleContentLength':_0x1d8764['length'],'aggressive':_0x22aeb8[_0x4dddfb(0x22c)]});const _0x440fb0=await this['aiService'][_0x4dddfb(0x1e8)](_0x2cdd22,_0x406b4e,{'systemPrompt':_0x4dddfb(0x1f9),'maxTokens':COMPACTION_CONFIG[_0x4dddfb(0x223)],'temperature':0.3,'sessionId':_0x22aeb8['sessionId'],'platformProvided':!![]}),_0xe8a3a2=_0x440fb0['content']['trim'](),_0x21069c=_0x22aeb8['middleStartIndex']!==undefined&&_0x22aeb8['middleEndIndex']!==undefined?'original\x20messages\x20'+_0x22aeb8['middleStartIndex']+'-'+_0x22aeb8[_0x4dddfb(0x1e7)]:_0x5e1a4a['length']+_0x4dddfb(0x200);return this[_0x4dddfb(0x222)][_0x4dddfb(0x21a)](_0x4dddfb(0x217),{'compactionModel':_0x2cdd22,'originalLength':_0x1d8764[_0x4dddfb(0x206)],'summaryLength':_0xe8a3a2[_0x4dddfb(0x206)],'compressionRatio':(_0xe8a3a2['length']/_0x1d8764[_0x4dddfb(0x206)]*0x64)[_0x4dddfb(0x1fd)](0x2)+'%','indexRange':_0x21069c}),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x21069c+']\x0a\x0a'+_0xe8a3a2+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x4dddfb(0x1e5),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x5e1a4a['length'],'originalStartIndex':_0x22aeb8['middleStartIndex'],'originalEndIndex':_0x22aeb8['middleEndIndex'],'compactionModel':_0x2cdd22,'aggressive':_0x22aeb8['aggressive']||![]}};}catch(_0x4d5da4){_0x4913d6=_0x4d5da4,this[_0x4dddfb(0x222)][_0x4dddfb(0x1fc)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x2cdd22,'error':_0x4d5da4[_0x4dddfb(0x215)],'middleMessageCount':_0x5e1a4a['length']});}}this['logger'][_0x4dddfb(0x1ea)]('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x4eaf93[_0x4dddfb(0x206)],'lastError':_0x4913d6?.[_0x4dddfb(0x215)],'middleMessageCount':_0x5e1a4a[_0x4dddfb(0x206)]});const _0x361146=this[_0x4dddfb(0x20e)](_0x5e1a4a),_0x9df2a2=_0x22aeb8[_0x4dddfb(0x21f)]!==undefined&&_0x22aeb8[_0x4dddfb(0x1e7)]!==undefined?_0x4dddfb(0x207)+_0x22aeb8['middleStartIndex']+'-'+_0x22aeb8[_0x4dddfb(0x1e7)]:_0x5e1a4a['length']+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x4dddfb(0x20d)+_0x9df2a2+']\x0a\x0a'+_0x361146+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x4dddfb(0x1e5),'timestamp':new Date()[_0x4dddfb(0x205)](),'metadata':{'originalMessageCount':_0x5e1a4a['length'],'originalStartIndex':_0x22aeb8['middleStartIndex'],'originalEndIndex':_0x22aeb8[_0x4dddfb(0x1e7)],'fallback':!![],'error':_0x4913d6?.['message'],'modelsAttempted':_0x4eaf93}};}['_createFallbackSummary'](_0x405f91){const _0x1bc58a=a0_0x41529f,_0x2ba4cc=_0x405f91[_0x1bc58a(0x206)],_0x87f4d0=_0x405f91[_0x1bc58a(0x20a)](_0x39c28a=>_0x39c28a[_0x1bc58a(0x22b)]),_0x336b79=_0x87f4d0['filter'](_0x35cb3b=>_0x35cb3b===_0x1bc58a(0x228))[_0x1bc58a(0x206)],_0x299b21=_0x87f4d0['filter'](_0x495f3a=>_0x495f3a===_0x1bc58a(0x1f2))['length'];return'['+_0x2ba4cc+_0x1bc58a(0x1f6)+_0x336b79+_0x1bc58a(0x1ed)+_0x299b21+'\x20assistant\x20responses.\x20'+_0x1bc58a(0x20f);}[a0_0x41529f(0x201)](){const _0x4d7dee=a0_0x41529f;return _0x4d7dee(0x224);}}export default ConversationCompactionService;
@@ -1 +1 @@
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
+ const a0_0x1fab54=a0_0x465e;(function(_0x43d3dd,_0x2fb95f){const _0x153af4=a0_0x465e,_0x17d06b=_0x43d3dd();while(!![]){try{const _0x380144=parseInt(_0x153af4(0x104))/0x1*(parseInt(_0x153af4(0xd2))/0x2)+-parseInt(_0x153af4(0xd4))/0x3*(-parseInt(_0x153af4(0x122))/0x4)+-parseInt(_0x153af4(0x100))/0x5+parseInt(_0x153af4(0xde))/0x6+-parseInt(_0x153af4(0x11e))/0x7*(-parseInt(_0x153af4(0x110))/0x8)+-parseInt(_0x153af4(0x126))/0x9*(parseInt(_0x153af4(0xd3))/0xa)+parseInt(_0x153af4(0xdf))/0xb;if(_0x380144===_0x2fb95f)break;else _0x17d06b['push'](_0x17d06b['shift']());}catch(_0x4321d0){_0x17d06b['push'](_0x17d06b['shift']());}}}(a0_0x362e,0x42ae4));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x362e(){const _0x4397fb=['AgfUzgXLrxjYB3i','Dw5JyxvNAhrFzxHJzxb0Aw9U','t1bfuKfusu9ox1rjtuvpvvq','CgvYBwLZC2LVBL9YzwnVDMvYEq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','Aw5JCMvHC2vKx3rPBwvVDxq','Cg93','y29UDgv4Da','y3jPDgLJywW','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','AxnqCM9JzxnZAw5NuxvLDwu','vKfmsurbveLptL9fuLjpuG','ndK2nZKWzwriBLjZ','BwLU','rKLmrv9ot1rFrK9vtKq','C3vJy2vZCW','ntbPvvzvtuq','uKfurv9msu1jvf9fwenfrurfra','rxjYB3iGBg9Nz2LUzYbMywLSzwq','zgv0zxjTAw5LrxjYB3juExbL','zxjYB3i','zgf0yv9Zyw5PDgL6yxrPB24','zM9YrwfJAa','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','C2v0','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jtDgf0CW','mteWmJrPD3PcquO','vu5ltK9xtL9fuLjpuG','zNjVBuvUDhjPzxm','y29Kzq','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','zgvIDwC','Dg9VBeLK','y2XHC3nPzNLfCNjVCG','DhLWzq','AxnszwnVDMvYywjSzq','DxbKyxrLrxjYB3jtDgf0CW','zxjYB3jrDwv1zq','CMvJB3zLCNLbDhrLBxb0CW','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','ody4ExLmsfb1','DgLTzw91Da','y3jPDgLJywXfCNjVCNm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','mtmWmJuYtLvcq3Hq','B3bLCMf0Aw9Uswq','zxjYB3jZqNLuExbL','CMf0zv9SAw1PDf9YzwnVDMvYEq','mJCWnJnlywvnALO','BgvUz3rO','AgLNAa','C2HVDwXKuMv0CNK','Bwf4uMv0CMLLCW','yxr0zw1WDfjLy292zxj5','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','Aw5MBW','C3rHDhvZ','D2fYBG','BMfTzq','AgfUzgXLq3jPDgLJywXfCNjVCG','Aw52ywXPza','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','zgv0zxjTAw5Lu2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','ywDLBNrjza','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','qvvusevoveLdqvrjt05FrKfjteve','CMv0CNLdB3vUDa','zgvSzxrL','r2vUzxjPyYbJCML0AwnHBcbLCNjVCG','BM90Awz5u3vIC2nYAwjLCNm','CMvJB3zLCNLtDhjHDgvNAwvZ','C3vJy2vZC2z1BfjLy292zxjPzxm','AgfZ','z2vUzxjHDgvfCNjVCKLK','zw1PDa','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','ywrK','Aw5JBhvKzxm','q09orKLhvvjbveLptL9fuLjpuG','y3jPDgLJywXfCNjVCG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','z2v0rxjYB3jtDgf0CW','C2v0DxbfCNjVCLbYB2nLC3nPBMC','mte2nJziww5fz24','mtC4mgHhwuTjrq','nKzcDxHcrW','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Aw5WDxreyxrH','uevstuLtu0LptL9eru5jruq','zxjYB3jtDwjZy3jPyMvYCW','Dg90ywXfCNjVCNm','zMLSzv9VCgvYyxrPB24','Dg9ju09tDhjPBMC','z2v0twf4uMv0CMLLCW','zxjYB3jZqNLbz2vUDa','mJi1odK4mMzOwvrtyG','mZK0mtndBhzXteu','y2fSy3vSyxrLuMv0CNLezwXHEq','BwvKAxvT','Dw5JyxvNAhrfEgnLChrPB24','Dw5KzwzPBMvK','yxbPx3jLCxvLC3q','Bg9Nz2vY','y2XLyxjfCNjVCLn0yxrZ','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','vu5bvvrit1jjwKve','BwvZC2fNzq','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','CMvJB3zLCMfIBgu','z2v0','Dg9mB3DLCKnHC2u','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','q2fUBM90igfKANvZDcb0Aw1LB3v0','C2v2zxjPDhK','zgvSyxLFCMv0CNK'];a0_0x362e=function(){return _0x4397fb;};return a0_0x362e();}function a0_0x465e(_0x169a4a,_0x16d62c){_0x169a4a=_0x169a4a-0xc5;const _0x362eac=a0_0x362e();let _0x465e0f=_0x362eac[_0x169a4a];if(a0_0x465e['ivTRLo']===undefined){var _0x4ef1b7=function(_0x35873a){const _0x33da96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29191f='',_0x2f77bb='';for(let _0x50a747=0x0,_0x2530b1,_0xdae87b,_0x77470e=0x0;_0xdae87b=_0x35873a['charAt'](_0x77470e++);~_0xdae87b&&(_0x2530b1=_0x50a747%0x4?_0x2530b1*0x40+_0xdae87b:_0xdae87b,_0x50a747++%0x4)?_0x29191f+=String['fromCharCode'](0xff&_0x2530b1>>(-0x2*_0x50a747&0x6)):0x0){_0xdae87b=_0x33da96['indexOf'](_0xdae87b);}for(let _0x287c93=0x0,_0x12ec82=_0x29191f['length'];_0x287c93<_0x12ec82;_0x287c93++){_0x2f77bb+='%'+('00'+_0x29191f['charCodeAt'](_0x287c93)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f77bb);};a0_0x465e['NypcUT']=_0x4ef1b7,a0_0x465e['GitRTS']={},a0_0x465e['ivTRLo']=!![];}const _0x103d3e=_0x362eac[0x0],_0x40a1c8=_0x169a4a+_0x103d3e,_0x165a2d=a0_0x465e['GitRTS'][_0x40a1c8];return!_0x165a2d?(_0x465e0f=a0_0x465e['NypcUT'](_0x465e0f),a0_0x465e['GitRTS'][_0x40a1c8]=_0x465e0f):_0x465e0f=_0x165a2d,_0x465e0f;}export class ErrorHandler{constructor(_0x29191f,_0x2f77bb){const _0x894076=a0_0x465e;this['config']=_0x29191f||{},this['logger']=_0x2f77bb,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x894076(0xc5)]=new Map(),this['errorSubscribers']=new Set(),this[_0x894076(0x11b)]=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x894076(0xd1)]();}async[a0_0x1fab54(0xf2)](_0x50a747,_0x2530b1={}){const _0xd98f50=a0_0x1fab54;try{const _0xdae87b=this[_0xd98f50(0x117)](_0x50a747,_0x2530b1),_0x77470e=await this['processError'](_0xdae87b);return this[_0xd98f50(0x11a)](_0xdae87b),this[_0xd98f50(0x13c)](_0xdae87b,_0x77470e),_0x77470e;}catch(_0x287c93){return this[_0xd98f50(0xe5)]['error']('Error\x20handling\x20failed',{'originalError':_0x50a747['message'],'handlingError':_0x287c93[_0xd98f50(0xe9)]}),{'success':![],'error':_0x287c93,'recovery':null,'severity':_0xd98f50(0xfc)};}}[a0_0x1fab54(0x117)](_0x12ec82,_0x122d78={}){const _0x1411df=a0_0x1fab54,_0x1b49de={'id':this[_0x1411df(0xc8)](),'timestamp':new Date()[_0x1411df(0xdb)](),'message':_0x12ec82['message']||_0x12ec82['toString'](),'stack':_0x12ec82['stack']||null,'code':_0x12ec82[_0x1411df(0x113)]||null,'type':this['determineErrorType'](_0x12ec82,_0x122d78),'severity':this['determineSeverity'](_0x12ec82,_0x122d78),'context':{..._0x122d78},'recoverable':!![],'retryCount':_0x122d78[_0x1411df(0x139)]||0x0,'maxRetries':this['getMaxRetries'](_0x12ec82,_0x122d78)};return _0x122d78['agentId']&&(_0x1b49de[_0x1411df(0x136)]=_0x122d78['agentId']),_0x122d78[_0x1411df(0x116)]&&(_0x1b49de['toolId']=_0x122d78[_0x1411df(0x116)]),_0x122d78[_0x1411df(0x123)]&&(_0x1b49de[_0x1411df(0x123)]=_0x122d78[_0x1411df(0x123)]),_0x1b49de['recoverable']=this[_0x1411df(0x119)](_0x1b49de),_0x1b49de;}async['processError'](_0x1f5656){const _0x4f73ef=a0_0x1fab54;try{this['logger'][_0x4f73ef(0x108)]('Processing\x20error',{'errorId':_0x1f5656['id'],'type':_0x1f5656['type'],'severity':_0x1f5656['severity'],'agentId':_0x1f5656['agentId'],'message':_0x1f5656[_0x4f73ef(0xe9)]});_0x1f5656['severity']===_0x4f73ef(0xfc)&&await this[_0x4f73ef(0x131)](_0x1f5656);let _0x1cc52b=null;return _0x1f5656[_0x4f73ef(0xeb)]&&_0x1f5656['retryCount']<_0x1f5656['maxRetries']&&(_0x1cc52b=await this[_0x4f73ef(0x12b)](_0x1f5656)),await this['logError'](_0x1f5656,_0x1cc52b),{'success':_0x1cc52b?.['success']||![],'errorId':_0x1f5656['id'],'errorType':_0x1f5656[_0x4f73ef(0x118)],'severity':_0x1f5656['severity'],'recovery':_0x1cc52b,'shouldRetry':this[_0x4f73ef(0x129)](_0x1f5656,_0x1cc52b),'retryDelay':this['calculateRetryDelay'](_0x1f5656)};}catch(processingError){return this['logger'][_0x4f73ef(0x108)](_0x4f73ef(0xf6),{'errorId':_0x1f5656['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x1f5656['id'],'errorType':_0x1f5656['type'],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x1fab54(0x12b)](_0x3c527b){const _0x42925a=a0_0x1fab54;try{this[_0x42925a(0x10f)]['recoveryAttempts']++;const _0x4f626e=this['recoveryStrategies'][_0x42925a(0xec)](_0x3c527b['type'])||this[_0x42925a(0xc5)]['get']('default');if(!_0x4f626e)return this[_0x42925a(0xe5)][_0x42925a(0x12f)](_0x42925a(0x121),{'errorType':_0x3c527b['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x42925a(0xe5)]['info'](_0x42925a(0xca),{'errorId':_0x3c527b['id'],'errorType':_0x3c527b['type'],'strategy':_0x4f626e['name'],'retryCount':_0x3c527b['retryCount']});const _0x48ad5d=await _0x4f626e['recover'](_0x3c527b);return _0x48ad5d[_0x42925a(0x103)]?(this[_0x42925a(0x10f)][_0x42925a(0xc6)]++,this[_0x42925a(0xe5)][_0x42925a(0x12d)]('Error\x20recovery\x20successful',{'errorId':_0x3c527b['id'],'strategy':_0x4f626e[_0x42925a(0x130)]})):this['logger'][_0x42925a(0x12f)]('Error\x20recovery\x20failed',{'errorId':_0x3c527b['id'],'strategy':_0x4f626e['name'],'reason':_0x48ad5d['reason']}),_0x48ad5d;}catch(_0x141db1){return this[_0x42925a(0xe5)][_0x42925a(0x108)](_0x42925a(0x12c),{'errorId':_0x3c527b['id'],'recoveryError':_0x141db1['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x141db1[_0x42925a(0xe9)]};}}async[a0_0x1fab54(0x131)](_0x10007d){const _0x263dd1=a0_0x1fab54;try{this['errorStats']['criticalErrors']++,this['logger']['error'](_0x263dd1(0x135),{'errorId':_0x10007d['id'],'message':_0x10007d['message'],'context':_0x10007d['context']});typeof process!==_0x263dd1(0xe3)&&process[_0x263dd1(0xc9)]&&process[_0x263dd1(0xc9)](_0x263dd1(0xce),_0x10007d);switch(_0x10007d['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x263dd1(0x11d)](_0x10007d);break;case ERROR_TYPES[_0x263dd1(0x105)]:await this['handleRateLimitExceeded'](_0x10007d);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this[_0x263dd1(0xea)](_0x10007d);break;default:await this['handleGenericCriticalError'](_0x10007d);}}catch(_0xfb355a){this[_0x263dd1(0xe5)]['error'](_0x263dd1(0xfd),{'errorId':_0x10007d['id'],'handlingError':_0xfb355a['message']});}}['determineErrorType'](_0x45ba63,_0x573ed6){const _0x478856=a0_0x1fab54;if(_0x45ba63['code']==='ENOENT'||_0x45ba63['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x478856(0x102)];if(_0x45ba63['code']==='EACCES'||_0x45ba63[_0x478856(0x12e)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x478856(0xd7)];if(_0x45ba63[_0x478856(0x12e)]===HTTP_STATUS[_0x478856(0xe8)])return ERROR_TYPES[_0x478856(0x138)];if(_0x45ba63[_0x478856(0x12e)]===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x335a63=_0x45ba63[_0x478856(0xe9)]?.[_0x478856(0xed)]()||'';if(_0x335a63[_0x478856(0xcc)](_0x478856(0x11f))||_0x335a63['includes']('timed\x20out'))return ERROR_TYPES[_0x478856(0xf4)];if(_0x335a63['includes']('validation')||_0x335a63['includes'](_0x478856(0x132)))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x335a63['includes']('config')||_0x335a63['includes']('configuration'))return ERROR_TYPES[_0x478856(0xcd)];if(_0x573ed6['operation']===_0x478856(0xda))return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x573ed6['operation']===_0x478856(0xe4))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x478856(0x111)];}[a0_0x1fab54(0x134)](_0x3e7d58,_0x3f37c0){const _0x43b5b3=a0_0x1fab54,_0x52194b=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x43b5b3(0xcd)]],_0x165fdc=[ERROR_TYPES[_0x43b5b3(0x105)],ERROR_TYPES[_0x43b5b3(0xf4)],ERROR_TYPES['PERMISSION_DENIED']],_0x2591eb=this[_0x43b5b3(0x107)](_0x3e7d58,_0x3f37c0);if(_0x52194b[_0x43b5b3(0xcc)](_0x2591eb))return _0x43b5b3(0xfc);if(_0x165fdc[_0x43b5b3(0xcc)](_0x2591eb))return _0x43b5b3(0x128);const _0x34fa45=_0x3f37c0&&_0x3f37c0[_0x43b5b3(0x139)]||0x0;if(_0x34fa45>=0x3)return _0x43b5b3(0x128);if(_0x3f37c0&&_0x3f37c0['agentId']&&_0x3f37c0['operation']==='agent_communication')return _0x43b5b3(0xe1);return'low';}[a0_0x1fab54(0x119)](_0x2b8bf1){const _0x2f0c28=a0_0x1fab54,_0x31e2f7=[ERROR_TYPES[_0x2f0c28(0x138)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x31e2f7[_0x2f0c28(0xcc)](_0x2b8bf1[_0x2f0c28(0x118)]))return![];if(_0x2b8bf1[_0x2f0c28(0x139)]>=_0x2b8bf1[_0x2f0c28(0x12a)])return![];if(_0x2b8bf1[_0x2f0c28(0xf0)]==='critical')return![];return!![];}[a0_0x1fab54(0xdc)](_0x2e6fc1,_0xa31a96){const _0x30e8a6=a0_0x1fab54,_0x220933=this['determineErrorType'](_0x2e6fc1,_0xa31a96),_0x5577df={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0x30e8a6(0xf4)]]:0x3,[ERROR_TYPES[_0x30e8a6(0x102)]]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5577df[_0x220933]||0x3;}[a0_0x1fab54(0x129)](_0x310f26,_0x56f58b){const _0x5e036a=a0_0x1fab54;if(!_0x310f26['recoverable'])return![];if(_0x310f26[_0x5e036a(0x139)]>=_0x310f26['maxRetries'])return![];if(_0x56f58b&&_0x56f58b[_0x5e036a(0x103)])return![];return!![];}['calculateRetryDelay'](_0x51a501){const _0xb8ea52=a0_0x1fab54,_0x231c55=0x3e8,_0x1078d5=0x7530,_0x20037e=_0x231c55*Math[_0xb8ea52(0xfa)](0x2,_0x51a501[_0xb8ea52(0x139)]),_0x2b667a=Math['random']()*0x3e8;return Math['min'](_0x20037e+_0x2b667a,_0x1078d5);}[a0_0x1fab54(0xcf)](){const _0x10e25e=a0_0x1fab54;this[_0x10e25e(0xc5)]['set'](ERROR_TYPES[_0x10e25e(0x102)],{'name':'file_not_found_recovery','recover':async _0x2fabe3=>{const _0x135730=_0x10e25e;if(_0x2fabe3[_0x135730(0xfb)]['filePath'])return{'success':![],'reason':_0x135730(0xf8),'suggestion':_0x135730(0xe7)};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x10e25e(0xc5)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':_0x10e25e(0x125),'recover':async _0x57ceee=>{const _0x5ee387=_0x10e25e,_0x540026=this[_0x5ee387(0x10c)](_0x57ceee);return this[_0x5ee387(0xe5)]['info']('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0x540026}),await new Promise(_0x3056c8=>setTimeout(_0x3056c8,_0x540026)),{'success':!![],'action':_0x5ee387(0x133),'waitTime':_0x540026};}}),this[_0x10e25e(0xc5)][_0x10e25e(0x10d)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0xb70168=>{const _0x305851=_0x10e25e;if(_0xb70168[_0x305851(0xfb)]['timeout']){const _0x5c0e55=Math[_0x305851(0x101)](_0xb70168['context']['timeout']*1.5,0x493e0);return{'success':!![],'action':_0x305851(0xf9),'newTimeout':_0x5c0e55};}return{'success':![],'reason':_0x305851(0xef)};}}),this[_0x10e25e(0xc5)]['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':_0x10e25e(0xf5),'recover':async _0x16d65a=>{const _0x5d7149=_0x10e25e;return{'success':![],'reason':_0x5d7149(0x137),'suggestion':_0x5d7149(0x114)};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x10e25e(0xff)],{'name':'validation_recovery','recover':async _0x1c22e9=>{const _0x1bc7fa=_0x10e25e;if(_0x1c22e9['context'][_0x1bc7fa(0xd6)])return{'success':!![],'action':_0x1bc7fa(0x109),'suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this[_0x10e25e(0xc5)][_0x10e25e(0x10d)]('default',{'name':'default_recovery','recover':async _0x3f2895=>{const _0x5b4678=_0x10e25e,_0x1d4fff=this[_0x5b4678(0xe0)](_0x3f2895);return await new Promise(_0x506581=>setTimeout(_0x506581,_0x1d4fff)),{'success':!![],'action':_0x5b4678(0xf1),'delay':_0x1d4fff};}});}async[a0_0x1fab54(0x11d)](_0x528393){const _0x1dfb0a=a0_0x1fab54;this[_0x1dfb0a(0xe5)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x528393['id']});if(_0x528393[_0x1dfb0a(0x136)]){}}async['handleRateLimitExceeded'](_0x54aa86){const _0x4fb331=a0_0x1fab54,_0x2baf0f=this[_0x4fb331(0x10c)](_0x54aa86);this[_0x4fb331(0xe5)][_0x4fb331(0x12f)](_0x4fb331(0xee),{'errorId':_0x54aa86['id'],'waitTime':_0x2baf0f,'agentId':_0x54aa86[_0x4fb331(0x136)]});if(_0x54aa86[_0x4fb331(0x136)]){}}async[a0_0x1fab54(0xea)](_0x443fa8){const _0x349bbe=a0_0x1fab54;this['logger']['error']('Operation\x20timeout\x20detected',{'errorId':_0x443fa8['id'],'operation':_0x443fa8[_0x349bbe(0xfb)]['operation'],'timeout':_0x443fa8['context']['timeout']});}async['handleGenericCriticalError'](_0x418ca5){const _0x163f6d=a0_0x1fab54;this[_0x163f6d(0xe5)][_0x163f6d(0x108)](_0x163f6d(0x13b),{'errorId':_0x418ca5['id'],'type':_0x418ca5[_0x163f6d(0x118)],'message':_0x418ca5[_0x163f6d(0xe9)]}),_0x418ca5['agentId']&&this['logger'][_0x163f6d(0x12f)](_0x163f6d(0x10b),{'agentId':_0x418ca5['agentId']});}[a0_0x1fab54(0x10c)](_0x5716d6){const _0x3b3d9b=a0_0x1fab54,_0x21789f=0xea60,_0x1aab38=Math[_0x3b3d9b(0xfa)](0x2,_0x5716d6['retryCount']),_0x183b4c=0x493e0;return Math[_0x3b3d9b(0x101)](_0x21789f*_0x1aab38,_0x183b4c);}async['logError'](_0x382d5b,_0x516ad4){const _0x4d726e=a0_0x1fab54;try{const _0x20a239={'errorId':_0x382d5b['id'],'timestamp':_0x382d5b['timestamp'],'type':_0x382d5b[_0x4d726e(0x118)],'severity':_0x382d5b[_0x4d726e(0xf0)],'message':_0x382d5b[_0x4d726e(0xe9)],'agentId':_0x382d5b['agentId'],'toolId':_0x382d5b['toolId'],'operationId':_0x382d5b['operationId'],'retryCount':_0x382d5b[_0x4d726e(0x139)],'recoveryAttempted':!!_0x516ad4,'recoverySuccess':_0x516ad4?.[_0x4d726e(0x103)]||![],'recoveryAction':_0x516ad4?.['action']||null};this['errorQueue']['push'](_0x20a239),!this[_0x4d726e(0xfe)]&&this['processErrorQueue']();}catch(_0x2918f6){this[_0x4d726e(0xe5)][_0x4d726e(0x108)](_0x4d726e(0x106),{'errorId':_0x382d5b['id'],'loggingError':_0x2918f6[_0x4d726e(0xe9)]});}}async['processErrorQueue'](){const _0x552511=a0_0x1fab54;if(this['isProcessingQueue']||this[_0x552511(0x11b)][_0x552511(0x127)]===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue'][_0x552511(0x127)]>0x0){const _0x5c8719=this[_0x552511(0x11b)]['splice'](0x0,0xa);this[_0x552511(0xe5)][_0x552511(0x115)]('Processing\x20error\x20batch',{'batchSize':_0x5c8719['length']}),await new Promise(_0x548bd9=>setTimeout(_0x548bd9,0x64));}}catch(processingError){this['logger'][_0x552511(0x108)](_0x552511(0x10e),{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x535287=a0_0x1fab54;setInterval(()=>{const _0x1f31d4=a0_0x465e;this[_0x1f31d4(0x11b)][_0x1f31d4(0x127)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!==_0x535287(0xe3)&&(process['on'](_0x535287(0xe2),_0xbb922d=>{const _0x5282a2=_0x535287;this['handleError'](_0xbb922d,{'type':_0x5282a2(0xf3),'severity':_0x5282a2(0xfc)});}),process['on'](_0x535287(0xd5),(_0x401426,_0x8ef47f)=>{const _0x521eb8=_0x535287;this[_0x521eb8(0xf2)](new Error('Unhandled\x20Rejection:\x20'+_0x401426),{'type':_0x521eb8(0xf7),'severity':'high','promise':_0x8ef47f['toString']()});}));}[a0_0x1fab54(0x11a)](_0x193467){const _0x2b28f9=a0_0x1fab54;this[_0x2b28f9(0x10f)][_0x2b28f9(0xd9)]++,!this['errorStats'][_0x2b28f9(0x124)][_0x2b28f9(0xc7)](_0x193467[_0x2b28f9(0x118)])&&this['errorStats'][_0x2b28f9(0x124)]['set'](_0x193467['type'],0x0),this['errorStats']['errorsByType']['set'](_0x193467['type'],this['errorStats']['errorsByType']['get'](_0x193467['type'])+0x1),_0x193467[_0x2b28f9(0x136)]&&(!this['errorStats']['errorsByAgent']['has'](_0x193467['agentId'])&&this[_0x2b28f9(0x10f)][_0x2b28f9(0xdd)][_0x2b28f9(0x10d)](_0x193467[_0x2b28f9(0x136)],0x0),this['errorStats'][_0x2b28f9(0xdd)]['set'](_0x193467['agentId'],this[_0x2b28f9(0x10f)][_0x2b28f9(0xdd)][_0x2b28f9(0xec)](_0x193467['agentId'])+0x1));}['subscribe'](_0x3e9df5){const _0x360db9=a0_0x1fab54;return this[_0x360db9(0xd8)][_0x360db9(0xcb)](_0x3e9df5),()=>this[_0x360db9(0xd8)][_0x360db9(0x13a)](_0x3e9df5);}[a0_0x1fab54(0x13c)](_0x650c85,_0x4dce62){const _0x11fcc3=a0_0x1fab54;this[_0x11fcc3(0xd8)][_0x11fcc3(0x10a)](_0x10f001=>{const _0x49d9bd=_0x11fcc3;try{_0x10f001(_0x650c85,_0x4dce62);}catch(_0x499152){this[_0x49d9bd(0xe5)][_0x49d9bd(0x108)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x499152['message']});}});}[a0_0x1fab54(0xc8)](){return'err_'+Date['now']()+'_'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);}[a0_0x1fab54(0xd0)](){const _0x1134f1=a0_0x1fab54;return{'totalErrors':this['errorStats']['totalErrors'],'errorsByType':Object['fromEntries'](this[_0x1134f1(0x10f)][_0x1134f1(0x124)]),'errorsByAgent':Object[_0x1134f1(0x112)](this[_0x1134f1(0x10f)]['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this['errorStats'][_0x1134f1(0xc6)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this[_0x1134f1(0x10f)]['successfulRecoveries']/this[_0x1134f1(0x10f)][_0x1134f1(0x11c)]:0x0,'criticalErrors':this['errorStats'][_0x1134f1(0x120)],'queueLength':this[_0x1134f1(0x11b)][_0x1134f1(0x127)]};}[a0_0x1fab54(0xe6)](){const _0x152773=a0_0x1fab54;this[_0x152773(0x10f)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
@@ -1 +1 @@
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
+ function a0_0x2108(_0x3f3331,_0x1931ac){_0x3f3331=_0x3f3331-0x18d;const _0x14f6d5=a0_0x14f6();let _0x21085f=_0x14f6d5[_0x3f3331];if(a0_0x2108['dRaRDt']===undefined){var _0x117119=function(_0x579d3e){const _0x1c8294='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26464c='',_0x1abf81='';for(let _0x2c147b=0x0,_0x44ac62,_0x528d7c,_0x42ce6f=0x0;_0x528d7c=_0x579d3e['charAt'](_0x42ce6f++);~_0x528d7c&&(_0x44ac62=_0x2c147b%0x4?_0x44ac62*0x40+_0x528d7c:_0x528d7c,_0x2c147b++%0x4)?_0x26464c+=String['fromCharCode'](0xff&_0x44ac62>>(-0x2*_0x2c147b&0x6)):0x0){_0x528d7c=_0x1c8294['indexOf'](_0x528d7c);}for(let _0xa51f2d=0x0,_0x51267c=_0x26464c['length'];_0xa51f2d<_0x51267c;_0xa51f2d++){_0x1abf81+='%'+('00'+_0x26464c['charCodeAt'](_0xa51f2d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1abf81);};a0_0x2108['IToaOs']=_0x117119,a0_0x2108['NJREye']={},a0_0x2108['dRaRDt']=!![];}const _0x73efc0=_0x14f6d5[0x0],_0x160047=_0x3f3331+_0x73efc0,_0x32e691=a0_0x2108['NJREye'][_0x160047];return!_0x32e691?(_0x21085f=a0_0x2108['IToaOs'](_0x21085f),a0_0x2108['NJREye'][_0x160047]=_0x21085f):_0x21085f=_0x32e691,_0x21085f;}const a0_0x370030=a0_0x2108;(function(_0x526235,_0x397781){const _0x466ac4=a0_0x2108,_0xb9ef0b=_0x526235();while(!![]){try{const _0x15c945=parseInt(_0x466ac4(0x1a7))/0x1*(parseInt(_0x466ac4(0x1cf))/0x2)+parseInt(_0x466ac4(0x19f))/0x3+parseInt(_0x466ac4(0x1ad))/0x4+parseInt(_0x466ac4(0x1a2))/0x5+-parseInt(_0x466ac4(0x1b7))/0x6*(parseInt(_0x466ac4(0x197))/0x7)+parseInt(_0x466ac4(0x194))/0x8+-parseInt(_0x466ac4(0x1c3))/0x9*(parseInt(_0x466ac4(0x195))/0xa);if(_0x15c945===_0x397781)break;else _0xb9ef0b['push'](_0xb9ef0b['shift']());}catch(_0x11dcfc){_0xb9ef0b['push'](_0xb9ef0b['shift']());}}}(a0_0x14f6,0xaae63));import a0_0x26464c from'path';import{randomUUID}from'crypto';import a0_0x1abf81 from'../utilities/fileProcessor.js';import a0_0x2c147b from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x370030(0x1a9)],INDEX_FILE=a0_0x26464c[a0_0x370030(0x198)](ATTACHMENTS_DIR,a0_0x370030(0x1bf));class FileAttachmentService{constructor(_0x44ac62={},_0x528d7c=null){const _0x3248ff=a0_0x370030;this['config']=_0x44ac62,this[_0x3248ff(0x1d1)]=_0x528d7c,this[_0x3248ff(0x1c6)]=new a0_0x1abf81(_0x44ac62,_0x528d7c),this['validator']=new a0_0x2c147b(_0x44ac62,_0x528d7c),this['index']=null;}async[a0_0x370030(0x1d5)](){const _0x2f6fa8=a0_0x370030;try{await this[_0x2f6fa8(0x1c6)]['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this['logger']?.[_0x2f6fa8(0x1b0)](_0x2f6fa8(0x18e),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x42ce6f){this['logger']?.[_0x2f6fa8(0x1aa)](_0x2f6fa8(0x19b),{'error':_0x42ce6f['message']});throw _0x42ce6f;}}async[a0_0x370030(0x1d3)](){const _0x4b1e17=a0_0x370030;try{const _0xa51f2d=await this[_0x4b1e17(0x1c6)]['fileExists'](INDEX_FILE);if(!_0xa51f2d)this[_0x4b1e17(0x1ab)]={'attachments':{},'agentRefs':{}},await this[_0x4b1e17(0x19d)]();else{const _0x51267c=await this[_0x4b1e17(0x1c6)][_0x4b1e17(0x196)](INDEX_FILE,_0x4b1e17(0x1c7));this[_0x4b1e17(0x1ab)]=JSON[_0x4b1e17(0x1bd)](_0x51267c);}return this[_0x4b1e17(0x1ab)];}catch(_0x20105e){return this['logger']?.['error'](_0x4b1e17(0x1b8),{'error':_0x20105e[_0x4b1e17(0x1c9)]}),this['index']={'attachments':{},'agentRefs':{}},this[_0x4b1e17(0x1ab)];}}async['saveIndex'](){const _0x57a3e7=a0_0x370030;try{await this[_0x57a3e7(0x1c6)][_0x57a3e7(0x1cb)](INDEX_FILE,JSON[_0x57a3e7(0x1cd)](this[_0x57a3e7(0x1ab)],null,0x2),_0x57a3e7(0x1c7));}catch(_0x79166d){this[_0x57a3e7(0x1d1)]?.['error']('Error\x20saving\x20index',{'error':_0x79166d['message']});throw _0x79166d;}}async[a0_0x370030(0x1b9)]({agentId:_0x5f5c46,filePath:_0x56891c,mode:mode='content',fileName:fileName=null}){const _0xf19eea=a0_0x370030;!this[_0xf19eea(0x1ab)]&&await this['loadIndex']();try{const _0x1f46a6=await this[_0xf19eea(0x1c6)]['fileExists'](_0x56891c);if(!_0x1f46a6)throw new Error('File\x20not\x20found:\x20'+_0x56891c);const _0x355f73=await this[_0xf19eea(0x1c6)]['getFileStats'](_0x56891c),_0x41a3ac=fileName||a0_0x26464c['basename'](_0x56891c),_0x22b83a=a0_0x26464c['extname'](_0x41a3ac),_0x3f34dd=this[_0xf19eea(0x1bc)]['validate']({'fileName':_0x41a3ac,'size':_0x355f73['size'],'mode':mode,'path':mode===_0xf19eea(0x1c4)?_0x56891c:null});if(!_0x3f34dd['valid'])throw new Error('Validation\x20failed:\x20'+_0x3f34dd[_0xf19eea(0x1ce)]['join'](',\x20'));const _0x40dfbf=randomUUID(),_0x4bc66e=await this['fileProcessor']['calculateHash'](_0x56891c),_0x527e5f=this[_0xf19eea(0x1bc)]['getContentType'](_0x41a3ac),_0x27476c=a0_0x26464c[_0xf19eea(0x198)](ATTACHMENTS_DIR,_0x5f5c46,_0x40dfbf);await this['fileProcessor']['createDirectory'](_0x27476c);let _0x2110d9=0x0,_0x97824f=null;if(mode===_0xf19eea(0x19a)){const processResult=await this['fileProcessor']['processFile'](_0x56891c,_0x527e5f),_0x328477=processResult['content'];if(_0x527e5f==='text')_0x97824f=_0xf19eea(0x1ca);else{if(_0x527e5f===_0xf19eea(0x191))_0x97824f=_0xf19eea(0x1a8);else _0x527e5f==='pdf'&&(_0x97824f='content.txt');}const _0x5671e0=a0_0x26464c['join'](_0x27476c,_0x97824f);await this['fileProcessor']['writeFile'](_0x5671e0,_0x328477,'utf8'),_0x2110d9=this[_0xf19eea(0x1c6)][_0xf19eea(0x19e)](_0x328477);}const _0x64b32b={'fileId':_0x40dfbf,'agentId':_0x5f5c46,'fileName':_0x41a3ac,'originalPath':_0x56891c,'fileType':this[_0xf19eea(0x1bc)][_0xf19eea(0x19c)](_0x41a3ac),'fileExtension':_0x22b83a,'size':_0x355f73['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x355f73['modified'][_0xf19eea(0x1ba)](),'hash':_0x4bc66e,'tokenEstimate':_0x2110d9,'contentType':_0x527e5f,'contentFileName':_0x97824f,'warnings':_0x3f34dd[_0xf19eea(0x1c8)],'sizeLevel':_0x3f34dd['sizeLevel'],'importedFrom':null,'referencedBy':[_0x5f5c46]},_0x1c3cf3=a0_0x26464c['join'](_0x27476c,'metadata.json');return await this['fileProcessor'][_0xf19eea(0x1cb)](_0x1c3cf3,JSON[_0xf19eea(0x1cd)](_0x64b32b,null,0x2),'utf8'),this[_0xf19eea(0x1ab)][_0xf19eea(0x1a9)][_0x40dfbf]={'fileId':_0x40dfbf,'agentId':_0x5f5c46,'fileName':_0x41a3ac,'mode':mode,'active':_0x64b32b['active'],'referencedBy':_0x64b32b[_0xf19eea(0x1b4)]},!this[_0xf19eea(0x1ab)][_0xf19eea(0x1ae)][_0x5f5c46]&&(this[_0xf19eea(0x1ab)]['agentRefs'][_0x5f5c46]=[]),this['index']['agentRefs'][_0x5f5c46][_0xf19eea(0x193)](_0x40dfbf),await this['saveIndex'](),this['logger']?.['info']('File\x20uploaded',{'fileId':_0x40dfbf,'agentId':_0x5f5c46,'fileName':_0x41a3ac,'mode':mode}),_0x64b32b;}catch(_0x417684){this['logger']?.[_0xf19eea(0x1aa)]('Error\x20uploading\x20file',{'agentId':_0x5f5c46,'filePath':_0x56891c,'error':_0x417684[_0xf19eea(0x1c9)]});throw _0x417684;}}async[a0_0x370030(0x199)](_0x543be5,_0x3eb0e5={}){const _0x32d89d=a0_0x370030;!this['index']&&await this[_0x32d89d(0x1d3)]();try{const _0x1fb4a5=this[_0x32d89d(0x1ab)][_0x32d89d(0x1ae)][_0x543be5]||[],_0x36a5b7=[];for(const _0x444f7b of _0x1fb4a5){const _0x243b17=await this[_0x32d89d(0x1b1)](_0x444f7b);if(_0x243b17){if(_0x3eb0e5[_0x32d89d(0x1d0)]!==undefined&&_0x243b17[_0x32d89d(0x1d0)]!==_0x3eb0e5[_0x32d89d(0x1d0)])continue;if(_0x3eb0e5['mode']&&_0x243b17[_0x32d89d(0x18d)]!==_0x3eb0e5[_0x32d89d(0x18d)])continue;_0x36a5b7[_0x32d89d(0x193)](_0x243b17);}}return _0x36a5b7;}catch(_0x417032){this[_0x32d89d(0x1d1)]?.['error']('Error\x20getting\x20attachments',{'agentId':_0x543be5,'error':_0x417032['message']});throw _0x417032;}}async['getAttachment'](_0x337423){const _0x3197dd=a0_0x370030;!this['index']&&await this['loadIndex']();try{const _0x2eaa83=this[_0x3197dd(0x1ab)]['attachments'][_0x337423];if(!_0x2eaa83)return null;const _0x32a1fd=a0_0x26464c[_0x3197dd(0x198)](ATTACHMENTS_DIR,_0x2eaa83['agentId'],_0x337423,_0x3197dd(0x1b6)),_0x56c2d3=await this['fileProcessor']['fileExists'](_0x32a1fd);if(!_0x56c2d3)return this['logger']?.[_0x3197dd(0x1a3)]('Metadata\x20file\x20not\x20found',{'fileId':_0x337423}),null;const _0x4397f8=await this['fileProcessor']['readFile'](_0x32a1fd,'utf8');return JSON['parse'](_0x4397f8);}catch(_0x1c96c8){return this['logger']?.[_0x3197dd(0x1aa)]('Error\x20getting\x20attachment',{'fileId':_0x337423,'error':_0x1c96c8['message']}),null;}}async['getAttachmentContent'](_0x2c0811){const _0x15f853=a0_0x370030;try{const _0x374533=await this['getAttachment'](_0x2c0811);if(!_0x374533||_0x374533[_0x15f853(0x18d)]!==_0x15f853(0x19a))return null;const _0x58028e=a0_0x26464c['join'](ATTACHMENTS_DIR,_0x374533['agentId'],_0x2c0811,_0x374533['contentFileName']),_0x515f9e=await this[_0x15f853(0x1c6)]['fileExists'](_0x58028e);if(!_0x515f9e)return null;return await this[_0x15f853(0x1c6)][_0x15f853(0x196)](_0x58028e,'utf8');}catch(_0x497357){return this[_0x15f853(0x1d1)]?.['error'](_0x15f853(0x1b5),{'fileId':_0x2c0811,'error':_0x497357['message']}),null;}}async['toggleActive'](_0x46ef3b){const _0x1da6d6=a0_0x370030;try{const _0x433f49=await this[_0x1da6d6(0x1b1)](_0x46ef3b);if(!_0x433f49)throw new Error('Attachment\x20not\x20found:\x20'+_0x46ef3b);_0x433f49['active']=!_0x433f49[_0x1da6d6(0x1d0)],_0x433f49['lastModified']=new Date()['toISOString']();const _0x582688=a0_0x26464c['join'](ATTACHMENTS_DIR,_0x433f49['agentId'],_0x46ef3b,'metadata.json');return await this['fileProcessor']['writeFile'](_0x582688,JSON['stringify'](_0x433f49,null,0x2),'utf8'),this[_0x1da6d6(0x1ab)][_0x1da6d6(0x1a9)][_0x46ef3b]&&(this['index']['attachments'][_0x46ef3b][_0x1da6d6(0x1d0)]=_0x433f49[_0x1da6d6(0x1d0)],await this['saveIndex']()),this[_0x1da6d6(0x1d1)]?.[_0x1da6d6(0x1b0)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x46ef3b,'active':_0x433f49['active']}),_0x433f49;}catch(_0x9b54bf){this['logger']?.['error'](_0x1da6d6(0x1be),{'fileId':_0x46ef3b,'error':_0x9b54bf[_0x1da6d6(0x1c9)]});throw _0x9b54bf;}}async[a0_0x370030(0x1c0)](_0x454a75,_0x576f87){const _0x194ddd=a0_0x370030;try{const _0x54ce4a=await this[_0x194ddd(0x1b1)](_0x454a75);if(!_0x54ce4a)throw new Error(_0x194ddd(0x1c2)+_0x454a75);const _0x321da6=['fileName','active'];for(const _0x275d6c of _0x321da6){_0x576f87[_0x275d6c]!==undefined&&(_0x54ce4a[_0x275d6c]=_0x576f87[_0x275d6c]);}_0x54ce4a['lastModified']=new Date()[_0x194ddd(0x1ba)]();const _0x40adc6=a0_0x26464c['join'](ATTACHMENTS_DIR,_0x54ce4a['agentId'],_0x454a75,_0x194ddd(0x1b6));return await this['fileProcessor'][_0x194ddd(0x1cb)](_0x40adc6,JSON['stringify'](_0x54ce4a,null,0x2),_0x194ddd(0x1c7)),this['index'][_0x194ddd(0x1a9)][_0x454a75]&&(_0x576f87['fileName']&&(this['index']['attachments'][_0x454a75][_0x194ddd(0x190)]=_0x576f87['fileName']),_0x576f87['active']!==undefined&&(this[_0x194ddd(0x1ab)][_0x194ddd(0x1a9)][_0x454a75][_0x194ddd(0x1d0)]=_0x576f87[_0x194ddd(0x1d0)]),await this[_0x194ddd(0x19d)]()),this[_0x194ddd(0x1d1)]?.['info'](_0x194ddd(0x1b2),{'fileId':_0x454a75,'updates':_0x576f87}),_0x54ce4a;}catch(_0x507b33){this[_0x194ddd(0x1d1)]?.[_0x194ddd(0x1aa)](_0x194ddd(0x1b3),{'fileId':_0x454a75,'error':_0x507b33['message']});throw _0x507b33;}}async['deleteAttachment'](_0x29b99b,_0x45f5bb){const _0x3663d5=a0_0x370030;try{const _0xc95cbd=await this['getAttachment'](_0x29b99b);if(!_0xc95cbd)throw new Error('Attachment\x20not\x20found:\x20'+_0x29b99b);_0xc95cbd[_0x3663d5(0x1b4)]=_0xc95cbd['referencedBy']['filter'](_0x4802bc=>_0x4802bc!==_0x45f5bb);if(_0xc95cbd['referencedBy']['length']>0x0){const _0x4791ef=a0_0x26464c[_0x3663d5(0x198)](ATTACHMENTS_DIR,_0xc95cbd['agentId'],_0x29b99b,'metadata.json');return await this[_0x3663d5(0x1c6)][_0x3663d5(0x1cb)](_0x4791ef,JSON['stringify'](_0xc95cbd,null,0x2),_0x3663d5(0x1c7)),this['index'][_0x3663d5(0x1a9)][_0x29b99b]&&(this['index']['attachments'][_0x29b99b][_0x3663d5(0x1b4)]=_0xc95cbd['referencedBy']),this['index']['agentRefs'][_0x45f5bb]&&(this['index'][_0x3663d5(0x1ae)][_0x45f5bb]=this[_0x3663d5(0x1ab)]['agentRefs'][_0x45f5bb]['filter'](_0x47718b=>_0x47718b!==_0x29b99b)),await this[_0x3663d5(0x19d)](),this['logger']?.['info'](_0x3663d5(0x18f),{'fileId':_0x29b99b,'agentId':_0x45f5bb,'remainingRefs':_0xc95cbd[_0x3663d5(0x1b4)]['length']}),![];}const _0x46aa35=a0_0x26464c['join'](ATTACHMENTS_DIR,_0xc95cbd[_0x3663d5(0x1d2)],_0x29b99b);return await this[_0x3663d5(0x1c6)][_0x3663d5(0x1a6)](_0x46aa35),delete this['index'][_0x3663d5(0x1a9)][_0x29b99b],this[_0x3663d5(0x1ab)][_0x3663d5(0x1ae)][_0x45f5bb]&&(this['index']['agentRefs'][_0x45f5bb]=this[_0x3663d5(0x1ab)][_0x3663d5(0x1ae)][_0x45f5bb]['filter'](_0x8a8db0=>_0x8a8db0!==_0x29b99b)),await this[_0x3663d5(0x19d)](),this[_0x3663d5(0x1d1)]?.[_0x3663d5(0x1b0)](_0x3663d5(0x1a0),{'fileId':_0x29b99b,'agentId':_0x45f5bb}),!![];}catch(_0x8ae465){this[_0x3663d5(0x1d1)]?.['error'](_0x3663d5(0x1c1),{'fileId':_0x29b99b,'agentId':_0x45f5bb,'error':_0x8ae465['message']});throw _0x8ae465;}}async[a0_0x370030(0x1a1)](_0x445f1d){const _0x13e3c2=a0_0x370030;try{const _0x4e88c0=this[_0x13e3c2(0x1ab)][_0x13e3c2(0x1ae)][_0x445f1d]||[];let _0x76fa83=0x0,_0x3e4f21=0x0;for(const _0x1acbae of _0x4e88c0){const _0x17fe21=await this[_0x13e3c2(0x1af)](_0x1acbae,_0x445f1d);_0x17fe21?_0x76fa83++:_0x3e4f21++;}return this[_0x13e3c2(0x1d1)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x445f1d,'deleted':_0x76fa83,'dereferenced':_0x3e4f21}),{'deleted':_0x76fa83,'dereferenced':_0x3e4f21};}catch(_0x4fda5d){this['logger']?.['error'](_0x13e3c2(0x1cc),{'agentId':_0x445f1d,'error':_0x4fda5d['message']});throw _0x4fda5d;}}async[a0_0x370030(0x192)](_0x45b376,_0x169302){const _0x172866=a0_0x370030;try{const _0x3b2d76=await this['getAttachment'](_0x45b376);if(!_0x3b2d76)throw new Error(_0x172866(0x1d4)+_0x45b376);!_0x3b2d76['referencedBy']['includes'](_0x169302)&&_0x3b2d76['referencedBy'][_0x172866(0x193)](_0x169302);_0x3b2d76['lastModified']=new Date()[_0x172866(0x1ba)](),_0x3b2d76['importedFrom']=_0x3b2d76['agentId'];const _0x5c3feb=a0_0x26464c[_0x172866(0x198)](ATTACHMENTS_DIR,_0x3b2d76[_0x172866(0x1d2)],_0x45b376,_0x172866(0x1b6));return await this['fileProcessor']['writeFile'](_0x5c3feb,JSON['stringify'](_0x3b2d76,null,0x2),_0x172866(0x1c7)),this[_0x172866(0x1ab)]['attachments'][_0x45b376]&&(this['index'][_0x172866(0x1a9)][_0x45b376][_0x172866(0x1b4)]=_0x3b2d76[_0x172866(0x1b4)]),!this[_0x172866(0x1ab)]['agentRefs'][_0x169302]&&(this['index']['agentRefs'][_0x169302]=[]),!this[_0x172866(0x1ab)][_0x172866(0x1ae)][_0x169302][_0x172866(0x1a4)](_0x45b376)&&this['index']['agentRefs'][_0x169302][_0x172866(0x193)](_0x45b376),await this['saveIndex'](),this['logger']?.['info']('Attachment imported',{'sourceFileId':_0x45b376,'targetAgentId':_0x169302}),_0x3b2d76;}catch(_0x3cb1a7){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x45b376,'targetAgentId':_0x169302,'error':_0x3cb1a7[_0x172866(0x1c9)]});throw _0x3cb1a7;}}async['getActiveAttachments'](_0x104041){const _0x31f954=a0_0x370030;return await this[_0x31f954(0x199)](_0x104041,{'active':!![]});}async[a0_0x370030(0x1ac)](_0x56cdf0){const _0x4d82ab=a0_0x370030;try{const _0x1f66bd=await this['getAttachmentContent'](_0x56cdf0);if(!_0x1f66bd)return null;if(_0x1f66bd['startsWith']('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x1f66bd['length']>0x3e8?_0x1f66bd[_0x4d82ab(0x1a5)](0x0,0x3e8)+_0x4d82ab(0x1bb):_0x1f66bd;}catch(_0x28d34e){return this[_0x4d82ab(0x1d1)]?.[_0x4d82ab(0x1aa)](_0x4d82ab(0x1c5),{'fileId':_0x56cdf0,'error':_0x28d34e['message']}),null;}}}function a0_0x14f6(){const _0x23db54=['n3z1t0rVuq','AM9PBG','z2v0qxr0ywnOBwvUDhm','y29UDgvUDa','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','z2v0twLTzvr5Cgu','C2f2zuLUzgv4','zxn0Aw1HDgvuB2TLBNm','nZu3mda4tvzjAvLT','qxr0ywnOBwvUDcbKzwXLDgvK','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','nJeYnZu1nurSBMTmAW','D2fYBG','Aw5JBhvKzxm','C3vIC3rYAw5N','zgvSzxrLrgLYzwn0B3j5','mtm5nZrlqNHMExq','y29UDgvUDc5IyxnLnJq','yxr0ywnOBwvUDhm','zxjYB3i','Aw5KzxG','z2v0qxr0ywnOBwvUDfbYzxzPzxC','mZy2mJy0BhPRD2TR','ywDLBNrszwzZ','zgvSzxrLqxr0ywnOBwvUDa','Aw5MBW','z2v0qxr0ywnOBwvUDa','qxr0ywnOBwvUDcb1CgrHDgvK','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','CMvMzxjLBMnLzej5','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Bwv0ywrHDgeUANnVBG','mtCYodq4mhPUvurkta','rxjYB3iGBg9HzgLUzYbPBMrLEa','DxbSB2fKrMLSzq','Dg9ju09tDhjPBMC','lI4U','DMfSAwrHDg9Y','CgfYC2u','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','DxbKyxrLqxr0ywnOBwvUDa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mZi0wgDyr2z0','CMvMzxjLBMnL','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','zMLSzvbYB2nLC3nVCG','DxrMoa','D2fYBMLUz3m','BwvZC2fNzq','y29UDgvUDc50Ehq','D3jPDgvgAwXL','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','C3rYAw5NAwz5','zxjYB3jZ','otj3tgX1qxm','ywn0AxzL','Bg9Nz2vY','ywDLBNrjza','Bg9HzeLUzgv4','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','Aw5PDgLHBgL6zq','Bw9Kzq','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','zMLSzu5HBwu','Aw1Hz2u','Aw1WB3j0rNjVBufNzw50','ChvZAa','mtm1ntK4neHMsLHUBa','mZG3mtiWyK9VvgTV','CMvHzezPBgu'];a0_0x14f6=function(){return _0x23db54;};return a0_0x14f6();}export default FileAttachmentService;
@@ -1 +1 @@
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
+ const a0_0x4abc7f=a0_0x1786;(function(_0x157e72,_0x269bcb){const _0x4eddf5=a0_0x1786,_0x598916=_0x157e72();while(!![]){try{const _0x38bb42=parseInt(_0x4eddf5(0x214))/0x1+parseInt(_0x4eddf5(0x201))/0x2+-parseInt(_0x4eddf5(0x212))/0x3+-parseInt(_0x4eddf5(0x1f1))/0x4+-parseInt(_0x4eddf5(0x1ff))/0x5*(parseInt(_0x4eddf5(0x229))/0x6)+parseInt(_0x4eddf5(0x238))/0x7*(-parseInt(_0x4eddf5(0x20b))/0x8)+parseInt(_0x4eddf5(0x1f9))/0x9*(parseInt(_0x4eddf5(0x1fc))/0xa);if(_0x38bb42===_0x269bcb)break;else _0x598916['push'](_0x598916['shift']());}catch(_0x179b16){_0x598916['push'](_0x598916['shift']());}}}(a0_0x9cb9,0x2ec7d));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';function a0_0x9cb9(){const _0x3050cb=['x3bHCNnLuM91DgLUz1jLC3bVBNnL','zM9YrwfJAa','kIPdB250zxH0ifr5CgvZkIO6ia','BMfTzq','Aw5MBW','y29UDgvUDa','cI0GkIPnzxnZywDLienVDw50kIO6ia','uM91DgvYihrLC3qGy29TCgXLDgvK','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','mte3mZC4ofLkDu1JCa','DgLTzxn0yw1W','y29UDgv4Dfr5CgvZ','z2v0u3rHDhvZ','C2vUze1LC3nHz2u','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','BwvZC2fNzq','CM9Szq','mJe2ntrVD1zIvhy','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','zxjYB3i','mJC4mhb5wfv0uW','D2fYBG','y29UDgv4De1LC3nHz2vZq291BNq','mJv2AeXSz0S','BgvUz3rO','oti2mdjmserUEeS','x2fZA0zVCLjVDxrPBMC','y29UDgv4DfjLzMvYzw5Jzxm','zgvIDwC','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','BwvZC2fNzunVDw50','DxnLCG','yxbPs2v5','C3vTBwfYEq','yxzHAwXHyMXLtw9KzwXZ','mZGWmdi0Eef5t1jI','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','C2vZC2LVBKLK','mJe5nZm1Avrvv2TQ','y3vYCMvUDe1LC3nHz2u','mZCYmdGZwxzxCfjA','ywLtzxj2AwnL','zgvZy3jPChrPB24','tM9Uzq','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','Bw9KzwXZ','qu5usfjpueLdx1nptK5fva','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','Dg9Wtw9KzwXZ','x2zVCM1HDejLBMnOBwfYA0rHDge','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','x2nYzwf0zvjVDxrPBMDqCM9TChq','ihWGu3rYzw5NDgHZoIa','C3vIC3rYAw5N','Bg9Nz2vY','Dw5RBM93BG','DgvZDfjVDxrLCG','tM8GCMvHC29UAw5NihbYB3zPzgvK','C2XPy2u','nda2nZiYAvPnq1nr','BwfW','zMfJDg9YCW','DgfZA3m','CM91DgvYtw9KzwW','C3rYzw5NDgHZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','kIOGka','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','C2vSzwn0zwrnB2rLBa','CMvXDwvZDfrPBwvVDxq','yMvUy2HTyxjRu2vYDMLJzq','AM9PBG','tI9b','y29UzMLKzw5Jzq','mJHpswf6rKi'];a0_0x9cb9=function(){return _0x3050cb;};return a0_0x9cb9();}function a0_0x1786(_0x594ee0,_0x1d61b4){_0x594ee0=_0x594ee0-0x1eb;const _0x9cb98c=a0_0x9cb9();let _0x1786d5=_0x9cb98c[_0x594ee0];if(a0_0x1786['AHihTu']===undefined){var _0x441949=function(_0x234aa0){const _0x5db635='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x158ecf='',_0x6ddf62='';for(let _0x4737d9=0x0,_0x118bd0,_0x19da34,_0x1c5e63=0x0;_0x19da34=_0x234aa0['charAt'](_0x1c5e63++);~_0x19da34&&(_0x118bd0=_0x4737d9%0x4?_0x118bd0*0x40+_0x19da34:_0x19da34,_0x4737d9++%0x4)?_0x158ecf+=String['fromCharCode'](0xff&_0x118bd0>>(-0x2*_0x4737d9&0x6)):0x0){_0x19da34=_0x5db635['indexOf'](_0x19da34);}for(let _0x3676f0=0x0,_0x6692da=_0x158ecf['length'];_0x3676f0<_0x6692da;_0x3676f0++){_0x6ddf62+='%'+('00'+_0x158ecf['charCodeAt'](_0x3676f0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6ddf62);};a0_0x1786['kztvbG']=_0x441949,a0_0x1786['UGfEfN']={},a0_0x1786['AHihTu']=!![];}const _0x37e128=_0x9cb98c[0x0],_0x7290cd=_0x594ee0+_0x37e128,_0x31e7ef=a0_0x1786['UGfEfN'][_0x7290cd];return!_0x31e7ef?(_0x1786d5=a0_0x1786['kztvbG'](_0x1786d5),a0_0x1786['UGfEfN'][_0x7290cd]=_0x1786d5):_0x1786d5=_0x31e7ef,_0x1786d5;}class ModelRouterService{constructor(_0x158ecf,_0x6ddf62,_0x4737d9,_0x118bd0){const _0x35b056=a0_0x1786;this['config']=_0x158ecf,this['logger']=_0x6ddf62,this[_0x35b056(0x234)]=_0x4737d9,this['aiService']=_0x118bd0,this[_0x35b056(0x22d)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x35b056(0x1fe)]=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this['requestTimeout']=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x19da34,_0x1c5e63=[],_0x3676f0='',_0x6692da=[],_0x2c7f5d={}){const _0xeef4bc=a0_0x1786;try{this['logger'][_0xeef4bc(0x204)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x19da34[_0xeef4bc(0x1ec)]?.[_0xeef4bc(0x200)]||0x0,'recentMessagesCount':_0x1c5e63['length'],'currentModel':_0x3676f0,'availableModelsCount':_0x6692da['length']});const _0x407cf6=this['_buildRoutingContext'](_0x19da34,_0x1c5e63,_0x3676f0,_0x6692da),_0x44c1e4=this['benchmarkService']['getBenchmarkTable'](),_0x5999c8=this[_0xeef4bc(0x221)](_0x407cf6,_0x44c1e4),_0x23c49b=await this[_0xeef4bc(0x202)](_0x5999c8,_0x2c7f5d),_0x2f4aa0=this[_0xeef4bc(0x20e)](_0x23c49b,_0x6692da,_0x3676f0);return this['logger']['info'](_0xeef4bc(0x210),{'selectedModel':_0x2f4aa0,'previousModel':_0x3676f0,'changed':_0x2f4aa0!==_0x3676f0,'reasoning':_0x23c49b['reasoning']?.['substring'](0x0,0x64)||_0xeef4bc(0x227)}),{'selectedModel':_0x2f4aa0,'previousModel':_0x3676f0,'changed':_0x2f4aa0!==_0x3676f0,'reasoning':_0x23c49b['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x338088){this[_0xeef4bc(0x224)]['error']('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x338088[_0xeef4bc(0x1f7)],'currentModel':_0x3676f0});const _0x5b7f3f=_0x3676f0||_0x6692da[0x0]||MODELS[_0xeef4bc(0x21a)];return{'selectedModel':_0x5b7f3f,'previousModel':_0x3676f0,'changed':![],'reasoning':_0xeef4bc(0x1f6)};}}['_buildRoutingContext'](_0x3b14d3,_0x1658df,_0x12116d,_0x5e54cb){const _0x5a175f=a0_0x1786,_0x38fd8d=_0x1658df[_0x5a175f(0x228)](-this['contextMessagesCount'])['map'](_0x1c14c2=>({'role':_0x1c14c2['role'],'content':_0x1c14c2['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x1c14c2[_0x5a175f(0x1f2)]}));return{'currentMessage':{'content':_0x3b14d3['content']?.['substring'](0x0,0x3e8)||'','role':_0x3b14d3[_0x5a175f(0x1f8)]||_0x5a175f(0x207),'hasContextReferences':!!_0x3b14d3[_0x5a175f(0x203)]?.[_0x5a175f(0x200)],'contextTypes':_0x3b14d3[_0x5a175f(0x203)]?.[_0x5a175f(0x22a)](_0x13b3b7=>_0x13b3b7['type'])||[]},'recentMessages':_0x38fd8d,'currentModel':_0x12116d,'availableModels':_0x5e54cb[_0x5a175f(0x22a)](_0x35490c=>({'name':_0x35490c,'isCurrentModel':_0x35490c===_0x12116d})),'messageCount':_0x1658df['length']+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x223671,_0x6a1394){const _0x2b97c8=a0_0x1786;return _0x2b97c8(0x21e)+(_0x223671['currentModel']||_0x2b97c8(0x217))+_0x2b97c8(0x1ed)+_0x223671[_0x2b97c8(0x206)]+_0x2b97c8(0x1f0)+_0x223671[_0x2b97c8(0x20a)]['map'](_0x10f681=>_0x10f681['name'])['join'](',\x20')+_0x2b97c8(0x1fa)+this[_0x2b97c8(0x21b)](_0x223671['recentMessages'])+_0x2b97c8(0x205)+_0x223671['currentMessage']['role']+'\x0a**Content**:\x20'+_0x223671[_0x2b97c8(0x213)]['content']+_0x2b97c8(0x20c)+_0x223671[_0x2b97c8(0x213)]['hasContextReferences']+'\x0a'+(_0x223671[_0x2b97c8(0x213)]['contextTypes'][_0x2b97c8(0x200)]>0x0?_0x2b97c8(0x23b)+_0x223671[_0x2b97c8(0x213)][_0x2b97c8(0x1f3)]['join'](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this['_formatBenchmarkData'](_0x6a1394)+'\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'](_0x3041e1){const _0x41d6e9=a0_0x1786;if(!_0x3041e1[_0x41d6e9(0x200)])return _0x41d6e9(0x1ef);return _0x3041e1['map']((_0x53a11e,_0x2f2e75)=>_0x2f2e75+0x1+'.\x20**'+_0x53a11e[_0x41d6e9(0x1f8)]+'**:\x20'+_0x53a11e['content'])[_0x41d6e9(0x235)]('\x0a');}[a0_0x4abc7f(0x21d)](_0x950c84){const _0x15b70a=a0_0x4abc7f,_0x302231=_0x950c84[_0x15b70a(0x219)]||[],_0x56d927=_0x950c84[_0x15b70a(0x22c)]||{},_0xe06001=_0x950c84[_0x15b70a(0x209)]||{};let _0x313959=_0x15b70a(0x20f);return Object['entries'](_0x56d927)[_0x15b70a(0x23a)](([_0x20bfa9,_0x214da9])=>{const _0x2107cb=_0x15b70a;_0x313959+='**'+_0x20bfa9['toUpperCase']()+_0x2107cb(0x230)+_0x214da9[_0x2107cb(0x216)]+'):\x20'+(_0x214da9[_0x2107cb(0x21c)]?.[_0x2107cb(0x235)](',\x20')||'No\x20data')+'\x0a';}),_0x313959+='\x0a###\x20Model\x20Details\x0a',_0x302231['slice'](0x0,0x8)[_0x15b70a(0x23a)](_0x6b61b5=>{const _0x1bf0ab=_0x15b70a;_0x313959+='**'+_0x6b61b5[_0x1bf0ab(0x23c)]+'**:\x20';const _0x5ac17e=Object['entries'](_0x6b61b5[_0x1bf0ab(0x22c)]||{})[_0x1bf0ab(0x22a)](([_0x3bdf44,_0x2dda3a])=>_0x3bdf44+'('+_0x2dda3a['score']+')')['join'](',\x20');_0x313959+=_0x5ac17e+_0x1bf0ab(0x222)+(_0x6b61b5[_0x1bf0ab(0x22e)]?.['join'](',\x20')||_0x1bf0ab(0x236))+'\x0a';}),_0x313959;}async['_askForRouting'](_0x243241,_0x9b347e={}){const _0x593e4b=a0_0x4abc7f;try{const _0x201e09=await this[_0x593e4b(0x215)][_0x593e4b(0x1f5)](this[_0x593e4b(0x22d)],_0x243241,{'agentId':'model-router','systemPrompt':_0x593e4b(0x231),'temperature':0.3,'maxTokens':0x1f4,'timeout':this['requestTimeout'],'sessionId':_0x9b347e[_0x593e4b(0x211)],'apiKey':_0x9b347e[_0x593e4b(0x208)]||this['config'][_0x593e4b(0x208)],'customApiKeys':_0x9b347e['customApiKeys'],'platformProvided':!![]});if(!_0x201e09[_0x593e4b(0x1ec)])throw new Error('No response content from autopilot-model-router');const _0x4ba25c=this[_0x593e4b(0x239)](_0x201e09[_0x593e4b(0x1ec)]);return _0x4ba25c;}catch(_0x1ccb35){this['logger'][_0x593e4b(0x1fb)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x1ccb35['message'],'routerModel':this['routerModel']});throw _0x1ccb35;}}[a0_0x4abc7f(0x239)](_0x1f50ff){const _0x414c4a=a0_0x4abc7f;try{const _0x932e9c=_0x1f50ff['match'](/\{[\s\S]*\}/);if(!_0x932e9c)throw new Error(_0x414c4a(0x220));const _0x5679fd=JSON['parse'](_0x932e9c[0x0]);if(!_0x5679fd[_0x414c4a(0x232)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x5679fd['selectedModel'],'taskType':_0x5679fd['taskType']||'unknown','confidence':_0x5679fd[_0x414c4a(0x237)]||0.5,'reasoning':_0x5679fd['reasoning']||_0x414c4a(0x227),'factors':_0x5679fd[_0x414c4a(0x22b)]||[]};}catch(_0x5c0bbb){return this[_0x414c4a(0x224)][_0x414c4a(0x1fd)](_0x414c4a(0x20d),{'error':_0x5c0bbb[_0x414c4a(0x1f7)],'content':_0x1f50ff[_0x414c4a(0x223)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x414c4a(0x225),'confidence':0x0,'reasoning':_0x414c4a(0x218),'factors':['parsing-error']};}}['_validateModelSelection'](_0x2cf609,_0xedb2d,_0x18f8f0){const _0x2860dd=a0_0x4abc7f,{selectedModel:_0x3b14ce}=_0x2cf609;if(!_0x3b14ce)return this[_0x2860dd(0x224)]['debug'](_0x2860dd(0x22f)),_0x18f8f0;if(!_0xedb2d['includes'](_0x3b14ce))return this['logger'][_0x2860dd(0x1fd)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x3b14ce,'availableModels':_0xedb2d}),_0x18f8f0;return _0x3b14ce;}[a0_0x4abc7f(0x1f4)](){const _0x562122=a0_0x4abc7f;return{'routerModel':this[_0x562122(0x22d)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0x562122(0x233)],'benchmarkServiceStatus':this['benchmarkService'][_0x562122(0x1f4)](),'isAvailable':!![]};}async[a0_0x4abc7f(0x226)](){const _0x4f1208=a0_0x4abc7f;try{const _0x451f82={'content':_0x4f1208(0x21f),'role':'user'},_0xaa549b=await this['routeMessage'](_0x451f82,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS['ANTHROPIC_OPUS'],MODELS['GPT_4'],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this['logger'][_0x4f1208(0x1eb)](_0x4f1208(0x1ee),{'selectedModel':_0xaa549b}),{'success':!![],'selectedModel':_0xaa549b};}catch(_0x1d8889){return this['logger']['error']('Router\x20test\x20failed',{'error':_0x1d8889['message']}),{'success':![],'error':_0x1d8889['message']};}}}export default ModelRouterService;
@@ -1 +1 @@
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();}
1
+ const a0_0x494fcd=a0_0x4105;(function(_0x966dda,_0x528973){const _0x1893e2=a0_0x4105,_0x248c43=_0x966dda();while(!![]){try{const _0xc9c86a=-parseInt(_0x1893e2(0x145))/0x1*(parseInt(_0x1893e2(0x11a))/0x2)+-parseInt(_0x1893e2(0x11c))/0x3*(parseInt(_0x1893e2(0x11d))/0x4)+-parseInt(_0x1893e2(0x12e))/0x5*(parseInt(_0x1893e2(0x110))/0x6)+-parseInt(_0x1893e2(0x138))/0x7+-parseInt(_0x1893e2(0x115))/0x8*(parseInt(_0x1893e2(0x124))/0x9)+-parseInt(_0x1893e2(0x13d))/0xa*(-parseInt(_0x1893e2(0x10c))/0xb)+parseInt(_0x1893e2(0x10e))/0xc*(parseInt(_0x1893e2(0x13e))/0xd);if(_0xc9c86a===_0x528973)break;else _0x248c43['push'](_0x248c43['shift']());}catch(_0x3a1f38){_0x248c43['push'](_0x248c43['shift']());}}}(a0_0x30e8,0x36ca9));function a0_0x4105(_0x236eb7,_0x4656ce){_0x236eb7=_0x236eb7-0x10b;const _0x30e83a=a0_0x30e8();let _0x41054f=_0x30e83a[_0x236eb7];if(a0_0x4105['dkdeTD']===undefined){var _0x518aa4=function(_0x5ce02b){const _0x19bc80='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x486639='',_0x7294ae='';for(let _0x5de974=0x0,_0x183a92,_0x1a136b,_0x140319=0x0;_0x1a136b=_0x5ce02b['charAt'](_0x140319++);~_0x1a136b&&(_0x183a92=_0x5de974%0x4?_0x183a92*0x40+_0x1a136b:_0x1a136b,_0x5de974++%0x4)?_0x486639+=String['fromCharCode'](0xff&_0x183a92>>(-0x2*_0x5de974&0x6)):0x0){_0x1a136b=_0x19bc80['indexOf'](_0x1a136b);}for(let _0xf427ef=0x0,_0x342b84=_0x486639['length'];_0xf427ef<_0x342b84;_0xf427ef++){_0x7294ae+='%'+('00'+_0x486639['charCodeAt'](_0xf427ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7294ae);};a0_0x4105['lDOSTc']=_0x518aa4,a0_0x4105['xlLnTI']={},a0_0x4105['dkdeTD']=!![];}const _0xd21dc5=_0x30e83a[0x0],_0x472f1f=_0x236eb7+_0xd21dc5,_0x389405=a0_0x4105['xlLnTI'][_0x472f1f];return!_0x389405?(_0x41054f=a0_0x4105['lDOSTc'](_0x41054f),a0_0x4105['xlLnTI'][_0x472f1f]=_0x41054f):_0x41054f=_0x389405,_0x41054f;}class ModelsService{constructor(_0x486639,_0x7294ae){const _0x510905=a0_0x4105;this[_0x510905(0x12a)]=_0x486639,this['logger']=_0x7294ae,this[_0x510905(0x12c)]=null,this[_0x510905(0x126)]=null,this['isLoading']=![],this[_0x510905(0x129)]=0x5*0x3c*0x3e8,this[_0x510905(0x10d)]=_0x486639[_0x510905(0x10d)]||_0x510905(0x117),this['retryAttempts']=0x0,this[_0x510905(0x127)]=0x3,this[_0x510905(0x135)]=0x7d0,this[_0x510905(0x11b)]=null,this[_0x510905(0x13f)]=null,this['apiKeyManager']=null;}['setApiKeyManager'](_0x5de974){const _0x50127e=a0_0x4105;this[_0x50127e(0x10b)]=_0x5de974,this['logger']?.[_0x50127e(0x122)](_0x50127e(0x141),{'hasManager':!!_0x5de974});}async['initialize'](){const _0x51564c=a0_0x4105;try{await this[_0x51564c(0x136)](),this[_0x51564c(0x137)][_0x51564c(0x122)]('Models\x20service\x20initialized',{'modelCount':this[_0x51564c(0x12c)]?.[_0x51564c(0x133)]||0x0});}catch(_0x183a92){this[_0x51564c(0x13f)]=_0x183a92['message'],this['logger'][_0x51564c(0x116)](_0x51564c(0x13a),{'error':_0x183a92['message'],'endpoint':this[_0x51564c(0x10d)]+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x494fcd(0x113)](){const _0x3ac4df=a0_0x494fcd;if(!this['models']||this['models'][_0x3ac4df(0x133)]===0x0)return this['logger'][_0x3ac4df(0x116)](_0x3ac4df(0x143),{'lastError':this['lastError'],'endpoint':this[_0x3ac4df(0x10d)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x3ac4df(0x127)]}),[];return this[_0x3ac4df(0x12c)][_0x3ac4df(0x125)](_0x1a136b=>_0x1a136b[_0x3ac4df(0x140)]);}[a0_0x494fcd(0x114)](){const _0x339fb3=a0_0x494fcd;if(!this[_0x339fb3(0x12c)]||this['models'][_0x339fb3(0x133)]===0x0)return this[_0x339fb3(0x137)][_0x339fb3(0x116)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x339fb3(0x13f)],'endpoint':this[_0x339fb3(0x10d)]+_0x339fb3(0x128)}),[];return this[_0x339fb3(0x12c)];}async[a0_0x494fcd(0x136)](_0x140319=null){const _0x21413e=a0_0x494fcd;if(this[_0x21413e(0x118)]){this['logger'][_0x21413e(0x146)](_0x21413e(0x142));return;}this['isLoading']=!![];try{const _0xf427ef=this[_0x21413e(0x10d)]+_0x21413e(0x128);let _0x342b84=null;if(this['apiKeyManager']&&_0x140319&&_0x140319['sessionId']){const _0x38f0b1=this[_0x21413e(0x10b)]['getKeysForRequest'](_0x140319[_0x21413e(0x134)],{'platformProvided':!![],'vendor':null});_0x342b84=_0x38f0b1[_0x21413e(0x144)],this[_0x21413e(0x137)]?.[_0x21413e(0x122)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x140319['sessionId'],'hasLoxiaKey':!!_0x342b84});}if(!_0x342b84&&_0x140319&&_0x140319['apiKey'])_0x342b84=_0x140319['apiKey'];else{if(!_0x342b84&&this['config'][_0x21413e(0x12f)])_0x342b84=this['config']['apiKey'];else!_0x342b84&&process['env']['LOXIA_API_KEY']&&(_0x342b84=process[_0x21413e(0x139)]['LOXIA_API_KEY']);}const _0x5b6e5e={'method':_0x21413e(0x10f),'headers':{'Content-Type':_0x21413e(0x131),..._0x342b84&&{'Authorization':_0x21413e(0x13c)+_0x342b84}},'timeout':0x2710};this['logger'][_0x21413e(0x146)]('Fetching models from backend',{'url':_0xf427ef,'hasApiKey':!!_0x342b84,'apiKeySource':_0x140319?.['apiKey']?_0x21413e(0x123):this[_0x21413e(0x12a)]['apiKey']?_0x21413e(0x12a):process['env']['LOXIA_API_KEY']?_0x21413e(0x139):'none'});const _0x41f419=await fetch(_0xf427ef,_0x5b6e5e);if(!_0x41f419['ok'])throw new Error(_0x21413e(0x121)+_0x41f419['status']+':\x20'+_0x41f419[_0x21413e(0x120)]);const _0xecfe49=await _0x41f419['json']();if(_0xecfe49[_0x21413e(0x12c)]&&Array['isArray'](_0xecfe49['models']))this[_0x21413e(0x12c)]=_0xecfe49[_0x21413e(0x12c)],this[_0x21413e(0x126)]=new Date(),this[_0x21413e(0x132)]=![],this['logger'][_0x21413e(0x122)]('Models fetched from backend',{'modelCount':this[_0x21413e(0x12c)]['length'],'models':this[_0x21413e(0x12c)]['map'](_0x523a11=>_0x523a11[_0x21413e(0x140)])});else throw new Error('Invalid response format from models API');}catch(_0x3d8e63){this[_0x21413e(0x13f)]=_0x3d8e63[_0x21413e(0x130)],this['logger'][_0x21413e(0x116)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x3d8e63[_0x21413e(0x130)],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this[_0x21413e(0x127)]}),this[_0x21413e(0x12d)](_0x140319);if(!this[_0x21413e(0x12c)])throw _0x3d8e63;}finally{this['isLoading']=![];}}[a0_0x494fcd(0x132)](){const _0x59b93e=a0_0x494fcd;if(!this[_0x59b93e(0x126)])return!![];const _0x417267=Date['now']()-this['lastFetched'][_0x59b93e(0x119)]();return _0x417267>this[_0x59b93e(0x129)];}async['refresh'](_0x3b75df=null){const _0x352ab3=a0_0x494fcd;this[_0x352ab3(0x137)]['info'](_0x352ab3(0x11e)),await this[_0x352ab3(0x136)](_0x3b75df);}async['refreshWithContext'](_0x521389){const _0x475537=a0_0x494fcd;(this[_0x475537(0x132)]||!this['lastFetched'])&&(this['logger']['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x475537(0x136)](_0x521389));}[a0_0x494fcd(0x12d)](_0x38c6d9=null){const _0x3c6ae2=a0_0x494fcd;this[_0x3c6ae2(0x11b)]&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this['maxRetries']){this[_0x3c6ae2(0x137)]['error']('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this['retryAttempts'],'maxRetries':this[_0x3c6ae2(0x127)],'lastError':this['lastError']});return;}const _0x4ba714=this['retryDelay']*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger'][_0x3c6ae2(0x122)](_0x3c6ae2(0x111),{'attempt':this['retryAttempts'],'maxRetries':this[_0x3c6ae2(0x127)],'delayMs':_0x4ba714}),this[_0x3c6ae2(0x11b)]=setTimeout(async()=>{const _0x4a34d5=_0x3c6ae2;this[_0x4a34d5(0x137)][_0x4a34d5(0x122)](_0x4a34d5(0x112),{'attempt':this['retryAttempts']});try{await this[_0x4a34d5(0x136)](_0x38c6d9),this['retryAttempts']=0x0,this[_0x4a34d5(0x13f)]=null;}catch(_0x2b1a24){this[_0x4a34d5(0x137)][_0x4a34d5(0x11f)]('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x2b1a24[_0x4a34d5(0x130)]});}},_0x4ba714);}[a0_0x494fcd(0x13b)](){const _0xe9e27e=a0_0x494fcd;this[_0xe9e27e(0x11b)]&&(clearTimeout(this[_0xe9e27e(0x11b)]),this['retryTimer']=null,this[_0xe9e27e(0x137)][_0xe9e27e(0x146)](_0xe9e27e(0x12b)));}['getStatus'](){const _0x59483a=a0_0x494fcd;return{'initialized':!!this[_0x59483a(0x12c)],'lastFetched':this[_0x59483a(0x126)]?.['toISOString']()||null,'modelCount':this['models']?.[_0x59483a(0x133)]||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this[_0x59483a(0x13f)]||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this[_0x59483a(0x13f)]};}}export default ModelsService;function a0_0x30e8(){const _0x4cf334=['z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','z2v0tw9KzwXZ','mJK0mJa1nKj0EevQDa','zxjYB3i','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','AxnmB2fKAw5N','z2v0vgLTzq','mtrjrMvLsLK','CMv0CNLuAw1LCG','oti0odaXvMjdz09z','ng1uvKLXEq','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','D2fYBG','C3rHDhvZvgv4Da','sfruuca','Aw5MBW','y29UDgv4Da','oxHvv2vTqq','BwfW','BgfZDezLDgnOzwq','Bwf4uMv0CMLLCW','l2fWAs9SBg0VBw9KzwXZ','y2fJAgvfEhbPCNK','y29UzMLN','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','Bw9KzwXZ','x3nJAgvKDwXLuMv0CNK','mJm1mhfNz1bcuq','yxbPs2v5','BwvZC2fNzq','yxbWBgLJyxrPB24VANnVBG','BMvLzhnszwzYzxnO','BgvUz3rO','C2vZC2LVBKLK','CMv0CNLezwXHEq','zMv0y2HnB2rLBhm','Bg9Nz2vY','ndqXmdiXyu5zwwLn','zw52','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','x2nHBMnLBfjLDhj5','qMvHCMvYia','mtbkueL3zeW','mtnJzwTxCMu','BgfZDevYCM9Y','BMfTzq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','Bg94AwfbCgLlzxK','nJu0m3Dmvhn5rG','zgvIDwC','yxbPs2v5twfUywDLCG','mZuWotK5t3z4swTn','yMfJA2vUzfvYBa','mtq0mZuZmJHkzu1WDMS','r0vu','mJG4mgnMvuXkuW','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq'];a0_0x30e8=function(){return _0x4cf334;};return a0_0x30e8();}