@loxia-labs/loxia-autopilot-one 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
- package/web-ui/build/static/{index-DzOU48ux.js → index-CcwO7jS4.js} +72 -72
- package/web-ui/build/static/index-CRkOpV4k.css +0 -1
|
@@ -1 +1 @@
|
|
|
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
|
+
const a0_0xa2529=a0_0x161b;function a0_0x161b(_0x1dba06,_0x49c091){_0x1dba06=_0x1dba06-0x1c9;const _0x5212da=a0_0x5212();let _0x161b03=_0x5212da[_0x1dba06];if(a0_0x161b['OarpYk']===undefined){var _0x4a5f4c=function(_0x5eee5c){const _0x380e19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x481cc4='',_0x358040='';for(let _0x3ac6eb=0x0,_0x5165c1,_0x313374,_0x27c8b1=0x0;_0x313374=_0x5eee5c['charAt'](_0x27c8b1++);~_0x313374&&(_0x5165c1=_0x3ac6eb%0x4?_0x5165c1*0x40+_0x313374:_0x313374,_0x3ac6eb++%0x4)?_0x481cc4+=String['fromCharCode'](0xff&_0x5165c1>>(-0x2*_0x3ac6eb&0x6)):0x0){_0x313374=_0x380e19['indexOf'](_0x313374);}for(let _0x484f3e=0x0,_0x387a00=_0x481cc4['length'];_0x484f3e<_0x387a00;_0x484f3e++){_0x358040+='%'+('00'+_0x481cc4['charCodeAt'](_0x484f3e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x358040);};a0_0x161b['QRJKkQ']=_0x4a5f4c,a0_0x161b['jPUixF']={},a0_0x161b['OarpYk']=!![];}const _0x19ab41=_0x5212da[0x0],_0xc2261f=_0x1dba06+_0x19ab41,_0x286939=a0_0x161b['jPUixF'][_0xc2261f];return!_0x286939?(_0x161b03=a0_0x161b['QRJKkQ'](_0x161b03),a0_0x161b['jPUixF'][_0xc2261f]=_0x161b03):_0x161b03=_0x286939,_0x161b03;}function a0_0x5212(){const _0xc4fd65=['q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','zMLSDgvY','tM8Gy29TCgfJDgLVBIbTB2rLBhmGy29UzMLNDxjLza','nxfQB3fYvW','x2DLDe5LEhrdB21Wywn0Aw9Utw9KzwW','Aw5MBW','nfLzz2nrCG','ywLtzxj2AwnL','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','C2XPy2u','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','xqOk','yMvNAw5UAw5N','BwfW','Bg9Nz2vY','BwvZC2fNzq','B25bBgXnB2rLBhnfEgHHDxn0zwq','zgvIDwC','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','otCYrKTUELLs','z2v0tw9KzwXdB250zxH0v2LUzg93','mJe4mZm0uLvhsxvy','mJeZndb5rwntzeW','quDhuKvtu0Lwrq','mti0ntyYofDszeXqCG','vfjvtKnbveLptG','AxnszxrYEq','BwLKzgXLu3rHCNrjBMrLEa','Dg9ju09tDhjPBMC','C3LZDgvT','C3vTBwfYEvbYB21WDfrLBxbSyxrL','BM9Uzq','y29TCgfJDenVBNzLCNnHDgLVBG','nJy0mtqXoeH2AhvStG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcWGDhj5Aw5Nig5LEhqGBw9KzwWGAw4GCM90yxrPB24','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','BwLKzgXL','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','x2LKzw50Awz5u2vNBwvUDhm','u1vntufssvPbveLptG','y29TCgfJDgvKtwvZC2fNzxm','D2fYBG','C3vTBwfYEq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','AM9PBG','q29UDMvYC2f0Aw9UignVBxbHy3rPB24GzMfPBgvKoIbbBgWG','x2DLBMvYyxrLu3vTBwfYEq','uMf0zsbSAw1PDhmGBwf5igjLigLUigvMzMvJDc4','y29TCgfJDgvKvg9Rzw5dB3vUDa','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','Dg9gAxHLza','zw5K','y29UDgvUDa','mtq0ntuWmtzKsNrxCu0','ic0G','AxnsyxrLtgLTAxrjC3n1zq','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','C3rYyxrLz3K','r2vUzxjHDgLUzYbZDw1Tyxj5icHYB3vUzc1YB2jPBIK','zMXVB3i','mty4nda2m2fosffMvG','B3jPz2LUywWGBwvZC2fNzxmG','y29TCgfJDgLVBK1VzgvSsw5KzxG','Aw5JBhvKzxm','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','mJyXotyZoeThvff3Ba','AxnbCNjHEq','ChvZAa','ig1LC3nHz2vZ','E21PzgrSzv9ZzwDTzw50Fq','DgLTzxn0yw1W','yxnZAxn0yw50','q0fdseve','ru5ex1nfr01ftLrFuevsq0vovefhrq','q09nuefdveLptL9nt0rftfm','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','y29TCgfJDgLVBL9TB2rLBhnFzxHOyxvZDgvK','CMvKDwn0Aw9UugvYy2vUDa','BgvUz3rO','BwLKzgXLrw5Ksw5KzxG','qundvvjbveu'];a0_0x5212=function(){return _0xc4fd65;};return a0_0x5212();}(function(_0x66f3c6,_0x4aeb4b){const _0x7019b2=a0_0x161b,_0x2c1951=_0x66f3c6();while(!![]){try{const _0x14c47b=-parseInt(_0x7019b2(0x1dc))/0x1+parseInt(_0x7019b2(0x1f8))/0x2*(parseInt(_0x7019b2(0x20b))/0x3)+-parseInt(_0x7019b2(0x20e))/0x4+parseInt(_0x7019b2(0x1f5))/0x5*(parseInt(_0x7019b2(0x217))/0x6)+-parseInt(_0x7019b2(0x1e2))/0x7+parseInt(_0x7019b2(0x1d5))/0x8+parseInt(_0x7019b2(0x209))/0x9*(parseInt(_0x7019b2(0x20c))/0xa);if(_0x14c47b===_0x4aeb4b)break;else _0x2c1951['push'](_0x2c1951['shift']());}catch(_0x3d1321){_0x2c1951['push'](_0x2c1951['shift']());}}}(a0_0x5212,0xe0a28));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x481cc4,_0x358040,_0x3ac6eb){const _0x403e59=a0_0x161b;this['tokenCountingService']=_0x481cc4,this[_0x403e59(0x1f9)]=_0x358040,this['logger']=_0x3ac6eb,this['compactionModelIndex']=0x0,this[_0x403e59(0x214)]=this['_createSummaryPromptTemplate']();}[a0_0xa2529(0x1f6)](_0x5165c1=0x0){const _0x582452=a0_0xa2529,_0x313374=COMPACTION_CONFIG['COMPACTION_MODELS']||[];if(_0x313374[_0x582452(0x1ef)]===0x0)throw new Error(_0x582452(0x1f4));const _0x27c8b1=(this['compactionModelIndex']+_0x5165c1)%_0x313374['length'];return _0x313374[_0x27c8b1];}['_advanceCompactionModelIndex'](){const _0x4a932d=a0_0xa2529,_0x484f3e=COMPACTION_CONFIG[_0x4a932d(0x1eb)]||[];this[_0x4a932d(0x1de)]=(this[_0x4a932d(0x1de)]+0x1)%_0x484f3e['length'];}async[a0_0xa2529(0x216)](_0x387a00,_0x1bcd9a,_0x420a55,_0x430be3={}){const _0xd2bb72=a0_0xa2529,_0x517d48=Date['now']();try{if(!Array[_0xd2bb72(0x1e3)](_0x387a00)||_0x387a00[_0xd2bb72(0x1ef)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x387a00[_0xd2bb72(0x1ef)]<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0xd2bb72(0x203)][_0xd2bb72(0x1c9)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x387a00[_0xd2bb72(0x1ef)],'minimum':COMPACTION_CONFIG[_0xd2bb72(0x207)]}),{'compactedMessages':_0x387a00,'strategy':_0xd2bb72(0x215),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x1efe4c=_0x1bcd9a!==_0x420a55,_0x2006fb=_0x430be3[_0xd2bb72(0x210)]||![];let _0x3d9051;if(_0x1efe4c)_0x3d9051=COMPACTION_STRATEGIES['TRUNCATION'];else _0x2006fb?_0x3d9051=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x3d9051=_0x430be3[_0xd2bb72(0x1d9)]||COMPACTION_STRATEGIES[_0xd2bb72(0x21d)];this['logger'][_0xd2bb72(0x1f7)](_0xd2bb72(0x1e0),{'messageCount':_0x387a00['length'],'currentModel':_0x1bcd9a,'targetModel':_0x420a55,'strategy':_0x3d9051,'isModelSwitch':_0x1efe4c,'isRetry':_0x2006fb});let _0x227bc5;switch(_0x3d9051){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x227bc5=await this['_compactWithSummarization'](_0x387a00,_0x1bcd9a,_0x430be3);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x227bc5=await this[_0xd2bb72(0x21b)](_0x387a00,_0x420a55,_0x430be3);break;case COMPACTION_STRATEGIES[_0xd2bb72(0x20d)]:_0x227bc5=await this[_0xd2bb72(0x1cb)](_0x387a00,_0x1bcd9a,_0x430be3);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x3d9051);}const _0x1b9fc2=Date['now']()-_0x517d48;return _0x227bc5['executionTime']=_0x1b9fc2,_0x227bc5[_0xd2bb72(0x1e7)]=new Date()[_0xd2bb72(0x212)](),this[_0xd2bb72(0x203)][_0xd2bb72(0x1f7)]('Compaction\x20completed\x20successfully',{'strategy':_0x227bc5[_0xd2bb72(0x1d9)],'originalMessages':_0x387a00[_0xd2bb72(0x1ef)],'compactedMessages':_0x227bc5[_0xd2bb72(0x21e)]['length'],'originalTokens':_0x227bc5['originalTokenCount'],'compactedTokens':_0x227bc5[_0xd2bb72(0x1d0)],'reductionPercent':_0x227bc5[_0xd2bb72(0x1ee)][_0xd2bb72(0x1d2)](0x2),'executionTime':_0x1b9fc2+'ms'}),_0x227bc5;}catch(_0x4bc63c){const _0x1a399f=Date['now']()-_0x517d48;this['logger']['error']('Compaction\x20failed',{'error':_0x4bc63c['message'],'messageCount':_0x387a00['length'],'currentModel':_0x1bcd9a,'targetModel':_0x420a55,'executionTime':_0x1a399f+'ms'});throw _0x4bc63c;}}async['_compactWithSummarization'](_0x4b7e65,_0xa7f645,_0x1bb534){const _0x5770fb=a0_0xa2529,_0x2c8c85=COMPACTION_STRATEGIES[_0x5770fb(0x21d)],_0x14ae38=await this[_0x5770fb(0x1d8)][_0x5770fb(0x1ff)](_0x4b7e65,_0xa7f645,TOKEN_COUNTING_MODES[_0x5770fb(0x1f1)]),_0x1304d9=await this[_0x5770fb(0x21c)](_0x4b7e65,_0xa7f645,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG[_0x5770fb(0x1ea)]);this[_0x5770fb(0x203)][_0x5770fb(0x206)](_0x5770fb(0x1e1),{'beginningMessages':_0x1304d9[_0x5770fb(0x201)][_0x5770fb(0x1ef)],'middleMessages':_0x1304d9[_0x5770fb(0x21a)][_0x5770fb(0x1ef)],'endMessages':_0x1304d9['end'][_0x5770fb(0x1ef)],'middleStartIndex':_0x1304d9['middleStartIndex'],'middleEndIndex':_0x1304d9['middleEndIndex'],'totalMessages':_0x4b7e65['length']});const _0x2eb354=await this['_generateSummary'](_0x1304d9['middle'],_0xa7f645,{..._0x1bb534,'middleStartIndex':_0x1304d9[_0x5770fb(0x211)],'middleEndIndex':_0x1304d9[_0x5770fb(0x1f0)]}),_0x40e715=[..._0x1304d9[_0x5770fb(0x201)],_0x2eb354,..._0x1304d9['end']],_0x1dfdb4=await this['tokenCountingService']['estimateConversationTokens'](_0x40e715,_0xa7f645,TOKEN_COUNTING_MODES[_0x5770fb(0x1f1)]),_0x5593e8=(_0x14ae38-_0x1dfdb4)/_0x14ae38*0x64;return{'compactedMessages':_0x40e715,'strategy':_0x2c8c85,'originalTokenCount':_0x14ae38,'compactedTokenCount':_0x1dfdb4,'reductionPercent':_0x5593e8,'segments':{'beginningCount':_0x1304d9['beginning']['length'],'middleCount':_0x1304d9[_0x5770fb(0x21a)][_0x5770fb(0x1ef)],'endCount':_0x1304d9['end']['length'],'summaryInserted':!![]}};}async[a0_0xa2529(0x21b)](_0x43fde7,_0x3fdbd2,_0x14a28b){const _0x2f9d19=a0_0xa2529,_0x2525a6=COMPACTION_STRATEGIES[_0x2f9d19(0x20f)],_0x354184=this['tokenCountingService'][_0x2f9d19(0x20a)](_0x3fdbd2),_0x459443=Math['floor'](_0x354184*0.8),_0x851b6b=await this[_0x2f9d19(0x1d8)][_0x2f9d19(0x1ff)](_0x43fde7,_0x3fdbd2,TOKEN_COUNTING_MODES[_0x2f9d19(0x1f1)]),_0x2dbc5d=await this[_0x2f9d19(0x21c)](_0x43fde7,_0x3fdbd2,COMPACTION_CONFIG[_0x2f9d19(0x1fd)],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this[_0x2f9d19(0x203)][_0x2f9d19(0x206)](_0x2f9d19(0x1d1),{'beginningMessages':_0x2dbc5d[_0x2f9d19(0x201)][_0x2f9d19(0x1ef)],'middleMessages':_0x2dbc5d[_0x2f9d19(0x21a)][_0x2f9d19(0x1ef)],'endMessages':_0x2dbc5d[_0x2f9d19(0x1d3)]['length'],'targetTokenCount':_0x459443,'originalTokenCount':_0x851b6b});const _0x41e8c8={'role':_0x2f9d19(0x213),'content':COMPACTION_CONFIG[_0x2f9d19(0x1f2)],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x2dbc5d['middle']['length'],'reason':_0x2f9d19(0x1fe)}},_0x3810ac=[..._0x2dbc5d['beginning'],_0x41e8c8,..._0x2dbc5d['end']],_0x528d63=await this['tokenCountingService']['estimateConversationTokens'](_0x3810ac,_0x3fdbd2,TOKEN_COUNTING_MODES['ACCURATE']),_0x543c18=(_0x851b6b-_0x528d63)/_0x851b6b*0x64;return{'compactedMessages':_0x3810ac,'strategy':_0x2525a6,'originalTokenCount':_0x851b6b,'compactedTokenCount':_0x528d63,'reductionPercent':_0x543c18,'segments':{'beginningCount':_0x2dbc5d[_0x2f9d19(0x201)][_0x2f9d19(0x1ef)],'middleCount':_0x2dbc5d['middle']['length'],'endCount':_0x2dbc5d[_0x2f9d19(0x1d3)]['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x1acc15,_0x530021,_0x387a25){const _0x5542d0=a0_0xa2529,_0x2f4e7c=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x35cd58=await this[_0x5542d0(0x1d8)][_0x5542d0(0x1ff)](_0x1acc15,_0x530021,TOKEN_COUNTING_MODES['ACCURATE']),_0x506b41=await this['_identifySegments'](_0x1acc15,_0x530021,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger'][_0x5542d0(0x206)]('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x506b41[_0x5542d0(0x201)]['length'],'middleMessages':_0x506b41['middle']['length'],'endMessages':_0x506b41[_0x5542d0(0x1d3)]['length'],'middleStartIndex':_0x506b41['middleStartIndex'],'middleEndIndex':_0x506b41[_0x5542d0(0x1f0)]});const _0x4bbc53=await this[_0x5542d0(0x1ce)](_0x506b41[_0x5542d0(0x21a)],_0x530021,{..._0x387a25,'aggressive':!![],'middleStartIndex':_0x506b41[_0x5542d0(0x211)],'middleEndIndex':_0x506b41['middleEndIndex']}),_0x4fc486=[..._0x506b41[_0x5542d0(0x201)],_0x4bbc53,..._0x506b41['end']],_0x1802b7=await this['tokenCountingService']['estimateConversationTokens'](_0x4fc486,_0x530021,TOKEN_COUNTING_MODES[_0x5542d0(0x1f1)]),_0x24b9ca=(_0x35cd58-_0x1802b7)/_0x35cd58*0x64;return{'compactedMessages':_0x4fc486,'strategy':_0x2f4e7c,'originalTokenCount':_0x35cd58,'compactedTokenCount':_0x1802b7,'reductionPercent':_0x24b9ca,'segments':{'beginningCount':_0x506b41[_0x5542d0(0x201)]['length'],'middleCount':_0x506b41[_0x5542d0(0x21a)]['length'],'endCount':_0x506b41['end'][_0x5542d0(0x1ef)],'summaryInserted':!![]}};}async[a0_0xa2529(0x21c)](_0x1f850f,_0x2048bb,_0x311e91,_0x17a75b){const _0x3050e0=a0_0xa2529,_0x49ef72=await this[_0x3050e0(0x1d8)][_0x3050e0(0x1ff)](_0x1f850f,_0x2048bb,TOKEN_COUNTING_MODES['ACCURATE']),_0x3eda91=Math[_0x3050e0(0x1db)](_0x49ef72*_0x311e91),_0x590d21=Math[_0x3050e0(0x1db)](_0x49ef72*_0x17a75b);let _0x511d1d=0x0,_0x226284=0x0;for(let _0x40d230=0x0;_0x40d230<_0x1f850f[_0x3050e0(0x1ef)];_0x40d230++){const _0x4d4a7f=await this[_0x3050e0(0x1d8)]['countTokens'](_0x1f850f[_0x40d230][_0x3050e0(0x1d4)],_0x2048bb,TOKEN_COUNTING_MODES[_0x3050e0(0x1e9)]);if(_0x511d1d+_0x4d4a7f>_0x3eda91&&_0x40d230>=0x2)break;_0x511d1d+=_0x4d4a7f,_0x226284=_0x40d230+0x1;}let _0x45ac9e=0x0,_0x974132=_0x1f850f['length'];for(let _0x434f8d=_0x1f850f[_0x3050e0(0x1ef)]-0x1;_0x434f8d>=0x0;_0x434f8d--){const _0x525083=await this['tokenCountingService']['countTokens'](_0x1f850f[_0x434f8d]['content'],_0x2048bb,TOKEN_COUNTING_MODES[_0x3050e0(0x1e9)]);if(_0x45ac9e+_0x525083>_0x590d21)break;_0x45ac9e+=_0x525083,_0x974132=_0x434f8d;}_0x974132<_0x226284&&(_0x974132=_0x226284);const _0xf002=_0x1f850f[_0x3050e0(0x1fb)](0x0,_0x226284),_0x44907c=_0x1f850f['slice'](_0x226284,_0x974132),_0x3af713=_0x1f850f['slice'](_0x974132);return{'beginning':_0xf002,'middle':_0x44907c,'end':_0x3af713,'middleStartIndex':_0x226284,'middleEndIndex':_0x974132-0x1};}async[a0_0xa2529(0x1ce)](_0x2ef20e,_0x2f24f0,_0x4f09c2={}){const _0x3ae340=a0_0xa2529;if(_0x2ef20e[_0x3ae340(0x1ef)]===0x0)return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':_0x3ae340(0x1ca),'timestamp':new Date()['toISOString']()};const _0x353b4e=_0x2ef20e['map'](_0x3bc197=>_0x3bc197['role']+':\x20'+_0x3bc197[_0x3ae340(0x1d4)])[_0x3ae340(0x1cc)]('\x0a\x0a'),_0x42729b=this[_0x3ae340(0x214)]['replace'](_0x3ae340(0x1e6),_0x353b4e)['replace']('{aggressive_instruction}',_0x4f09c2['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x39e8e0=COMPACTION_CONFIG['COMPACTION_MODELS']||[],_0x53798d=[];let _0x516a2e=null;for(let _0x218534=0x0;_0x218534<_0x39e8e0[_0x3ae340(0x1ef)];_0x218534++){const _0x16db49=this['_getNextCompactionModel'](_0x218534);_0x53798d[_0x3ae340(0x1e4)](_0x16db49);try{this[_0x3ae340(0x203)]['debug'](_0x3ae340(0x1da),{'compactionModel':_0x16db49,'attempt':_0x218534+0x1,'totalModels':_0x39e8e0[_0x3ae340(0x1ef)],'middleMessageCount':_0x2ef20e[_0x3ae340(0x1ef)],'middleContentLength':_0x353b4e['length'],'aggressive':_0x4f09c2['aggressive']});const _0x4fd19f=await this[_0x3ae340(0x1f9)]['sendMessage'](_0x16db49,_0x42729b,{'systemPrompt':_0x3ae340(0x208),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x4f09c2['sessionId'],'platformProvided':!![]}),_0x33a689=_0x4fd19f['content']['trim'](),_0x29ab84=_0x4f09c2[_0x3ae340(0x211)]!==undefined&&_0x4f09c2[_0x3ae340(0x1f0)]!==undefined?_0x3ae340(0x1dd)+_0x4f09c2[_0x3ae340(0x211)]+'-'+_0x4f09c2['middleEndIndex']:_0x2ef20e['length']+'\x20messages';return this['logger']['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x16db49,'attempt':_0x218534+0x1,'originalLength':_0x353b4e[_0x3ae340(0x1ef)],'summaryLength':_0x33a689['length'],'compressionRatio':(_0x33a689['length']/_0x353b4e[_0x3ae340(0x1ef)]*0x64)['toFixed'](0x2)+'%','indexRange':_0x29ab84}),this['_advanceCompactionModelIndex'](),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3ae340(0x1d6)+_0x29ab84+_0x3ae340(0x200)+_0x33a689+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x3ae340(0x1ca),'timestamp':new Date()[_0x3ae340(0x212)](),'metadata':{'originalMessageCount':_0x2ef20e[_0x3ae340(0x1ef)],'originalStartIndex':_0x4f09c2['middleStartIndex'],'originalEndIndex':_0x4f09c2['middleEndIndex'],'compactionModel':_0x16db49,'aggressive':_0x4f09c2['aggressive']||![]}};}catch(_0x5b64d1){_0x516a2e=_0x5b64d1;const _0x1760fc=_0x5b64d1[_0x3ae340(0x204)]?.[_0x3ae340(0x1df)]('429')||_0x5b64d1[_0x3ae340(0x204)]?.[_0x3ae340(0x1df)]('rate\x20limit');this[_0x3ae340(0x203)]['warn'](_0x3ae340(0x218),{'compactionModel':_0x16db49,'attempt':_0x218534+0x1,'remainingModels':_0x39e8e0['length']-_0x218534-0x1,'isRateLimit':_0x1760fc,'error':_0x5b64d1['message'],'middleMessageCount':_0x2ef20e['length']});}}const _0x4ac0d5={'modelsAttempted':_0x53798d,'lastError':_0x516a2e?.[_0x3ae340(0x204)],'middleMessageCount':_0x2ef20e['length'],'isRateLimitIssue':_0x516a2e?.['message']?.[_0x3ae340(0x1df)]('429')||_0x516a2e?.['message']?.[_0x3ae340(0x1df)]('rate\x20limit')};this['logger']['error']('All\x20compaction\x20models\x20exhausted',_0x4ac0d5);_0x4f09c2[_0x3ae340(0x205)]&&_0x4f09c2['onAllModelsExhausted']({'type':_0x3ae340(0x1ed),'message':_0x3ae340(0x1cd)+_0x39e8e0[_0x3ae340(0x1ef)]+'\x20models\x20are\x20currently\x20unavailable.\x20'+(_0x4ac0d5[_0x3ae340(0x1d7)]?_0x3ae340(0x1cf):'')+'\x20Using\x20simplified\x20compaction.','models':_0x53798d,'error':_0x516a2e?.[_0x3ae340(0x204)]});this['_advanceCompactionModelIndex']();const _0x284a2b=this[_0x3ae340(0x219)](_0x2ef20e),_0x4f5c80=_0x4f09c2[_0x3ae340(0x211)]!==undefined&&_0x4f09c2['middleEndIndex']!==undefined?_0x3ae340(0x1dd)+_0x4f09c2['middleStartIndex']+'-'+_0x4f09c2[_0x3ae340(0x1f0)]:_0x2ef20e['length']+_0x3ae340(0x1e5);return{'role':_0x3ae340(0x213),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x4f5c80+_0x3ae340(0x200)+_0x284a2b+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x3ae340(0x1ca),'timestamp':new Date()[_0x3ae340(0x212)](),'metadata':{'originalMessageCount':_0x2ef20e['length'],'originalStartIndex':_0x4f09c2[_0x3ae340(0x211)],'originalEndIndex':_0x4f09c2['middleEndIndex'],'fallback':!![],'error':_0x516a2e?.['message'],'modelsAttempted':_0x53798d,'allModelsExhausted':!![]}};}['_createFallbackSummary'](_0x414282){const _0x1a7fcd=a0_0xa2529,_0x438de7=_0x414282[_0x1a7fcd(0x1ef)],_0x41d8f6=_0x414282[_0x1a7fcd(0x202)](_0xb2fefb=>_0xb2fefb['role']),_0x5b1df1=_0x41d8f6[_0x1a7fcd(0x1f3)](_0x1c7d6f=>_0x1c7d6f==='user')[_0x1a7fcd(0x1ef)],_0x499062=_0x41d8f6[_0x1a7fcd(0x1f3)](_0x3746ed=>_0x3746ed===_0x1a7fcd(0x1e8))['length'];return'['+_0x438de7+'\x20messages\x20summarized\x20-\x20'+_0x5b1df1+'\x20user\x20messages,\x20'+_0x499062+'\x20assistant\x20responses.\x20'+_0x1a7fcd(0x1ec);}[a0_0xa2529(0x1fc)](){const _0x41a947=a0_0xa2529;return _0x41a947(0x1fa);}}export default ConversationCompactionService;
|
|
@@ -1 +1 @@
|
|
|
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
|
+
function a0_0x2603(_0xa3465e,_0x54da8c){_0xa3465e=_0xa3465e-0x90;const _0x3c78f9=a0_0x3c78();let _0x26031e=_0x3c78f9[_0xa3465e];if(a0_0x2603['RdIEEq']===undefined){var _0x2b02cb=function(_0x45e9c6){const _0x1f1651='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5558b1='',_0x1b9638='';for(let _0x2ae84d=0x0,_0x4106b0,_0x43132a,_0x185b5a=0x0;_0x43132a=_0x45e9c6['charAt'](_0x185b5a++);~_0x43132a&&(_0x4106b0=_0x2ae84d%0x4?_0x4106b0*0x40+_0x43132a:_0x43132a,_0x2ae84d++%0x4)?_0x5558b1+=String['fromCharCode'](0xff&_0x4106b0>>(-0x2*_0x2ae84d&0x6)):0x0){_0x43132a=_0x1f1651['indexOf'](_0x43132a);}for(let _0x57902b=0x0,_0x5895b3=_0x5558b1['length'];_0x57902b<_0x5895b3;_0x57902b++){_0x1b9638+='%'+('00'+_0x5558b1['charCodeAt'](_0x57902b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9638);};a0_0x2603['HQjfhD']=_0x2b02cb,a0_0x2603['RXmvpX']={},a0_0x2603['RdIEEq']=!![];}const _0x29d232=_0x3c78f9[0x0],_0x266eaa=_0xa3465e+_0x29d232,_0x428ba3=a0_0x2603['RXmvpX'][_0x266eaa];return!_0x428ba3?(_0x26031e=a0_0x2603['HQjfhD'](_0x26031e),a0_0x2603['RXmvpX'][_0x266eaa]=_0x26031e):_0x26031e=_0x428ba3,_0x26031e;}function a0_0x3c78(){const _0x38278c=['q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jZqNLuExbL','zgv0zxjTAw5LrxjYB3juExbL','y29UzMLN','nJbcBgj0vKy','ote2otn2sLzQD1C','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','Aw5JBhvKzxm','CMv0CNLdB3vUDa','BgvUz3rO','AxnqCM9JzxnZAw5NuxvLDwu','Dg9mB3DLCKnHC2u','Cg93','Aw5MBW','C3vJy2vZC2z1BfjLy292zxjPzxm','Bg9Nz2vY','ChvZAa','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','ywDLBNrFy29TBxvUAwnHDgLVBG','AgfUzgXLrxjYB3i','y29Kzq','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','Dg9ju09tDhjPBMC','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','zMLSzvbHDgG','nJGYmdyWme5gy0PNEq','rxjYB3iGBg9Nz2LUzYbMywLSzwq','DhLWzq','AgfZ','otG0mtm2s2HyBLnM','ChjVy2vZC0vYCM9YuxvLDwu','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','C3vJy2vZCW','ChjVy2vZC0vYCM9Y','zgvIDwC','Bwf4uMv0CMLLCW','BM93','AgfUzgXLq3jPDgLJywXfCNjVCG','z2v0','CgvYBwLZC2LVBL9YzwnVDMvYEq','z2vUzxjHDgvfCNjVCKLK','zxjYB3jtDgf0CW','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','ru5pru5u','BwLU','zNjVBuvUDhjPzxm','CMvJB3zLCNLbDhrLBxb0CW','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','uhjVy2vZC2LUzYbLCNjVCG','CMvHC29U','y2XLyxjfCNjVCLn0yxrZ','t1bfuKfusu9ox1rjtuvpvvq','n2zTELrfzG','vKfmsurbveLptL9fuLjpuG','y2XHC3nPzNLfCNjVCG','CMvJB3zLCNLtDhjHDgvNAwvZ','tM8GzMLSzsbWyxrOihbYB3zPzgvK','B3bLCMf0Aw9Uswq','zgv0zxjTAw5Lu2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','uKfurv9msu1jvf9fwenfrurfra','C2v2zxjPDhK','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','y2fSy3vSyxrLuMv0CNLezwXHEq','B3bLCMf0Aw9U','C2v0','DxbKyxrLrxjYB3jtDgf0CW','ywrK','CMf0zv9SAw1PDf9YzwnVDMvYEq','mJGYndy3mMPoCw1QrW','mZK1mdG5mK1fq3bosG','yxr0zw1WDfjLy292zxj5','BwvKAxvT','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','CMfUzg9T','Dg9VBeLK','y3jPDgLJywXfCNjVCG','zgvSzxrL','ywDLBNrjza','y29UDgv4Da','zM9YrwfJAa','mZeXmdCYs1D4tfrl','Dg9tDhjPBMC','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','CMvJB3zLCMfIBgu','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','rK9sqKLerevo','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','mZuYnta0ofzUEerxAG','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','DgLTzw91Da','vu5ltK9xtL9fuLjpuG','BMfTzq','zxjYB3jrDwv1zq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','uevstuLtu0LptL9eru5jruq','owv6zvLXAG','zxjYB3jZqNLbz2vUDa','C3bSAwnL','qvvusevoveLdqvrjt05FrKfjteve','zxjYB3jtDwjZy3jPyMvYCW','Bg93','Aw5WDxreyxrH','y29UzMLNDxjHDgLVBG','y3jPDgLJywW','C2HVDwXKuMv0CNK','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','D2fYBG','C2v0DxbfCNjVCLbYB2nLC3nPBMC','y3jPDgLJywXfCNjVCNm','BM90Awz5u3vIC2nYAwjLCNm','BwvZC2fNzq','zxjYB3i','zxjYxW'];a0_0x3c78=function(){return _0x38278c;};return a0_0x3c78();}const a0_0x357947=a0_0x2603;(function(_0x496323,_0x59fc8a){const _0x3f0e51=a0_0x2603,_0x89b178=_0x496323();while(!![]){try{const _0x5e24b3=-parseInt(_0x3f0e51(0x9b))/0x1+parseInt(_0x3f0e51(0xdd))/0x2+-parseInt(_0x3f0e51(0xde))/0x3+parseInt(_0x3f0e51(0xe9))/0x4*(parseInt(_0x3f0e51(0x9a))/0x5)+parseInt(_0x3f0e51(0xf0))/0x6+-parseInt(_0x3f0e51(0xcb))/0x7*(parseInt(_0x3f0e51(0xb3))/0x8)+parseInt(_0x3f0e51(0xf8))/0x9*(-parseInt(_0x3f0e51(0xaf))/0xa);if(_0x5e24b3===_0x59fc8a)break;else _0x89b178['push'](_0x89b178['shift']());}catch(_0x3d3daa){_0x89b178['push'](_0x89b178['shift']());}}}(a0_0x3c78,0xaf9de));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x5558b1,_0x1b9638){const _0x4d6012=a0_0x2603;this[_0x4d6012(0x99)]=_0x5558b1||{},this['logger']=_0x1b9638,this[_0x4d6012(0xbf)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x4d6012(0xce)]=new Map(),this['errorSubscribers']=new Set(),this['errorQueue']=[],this[_0x4d6012(0xa0)]=![],this['initializeRecoveryStrategies'](),this['setupErrorProcessing']();}async[a0_0x357947(0xa9)](_0x2ae84d,_0x4106b0={}){const _0x55b6ad=a0_0x357947;try{const _0x43132a=this[_0x55b6ad(0xcd)](_0x2ae84d,_0x4106b0),_0x185b5a=await this[_0x55b6ad(0xb7)](_0x43132a);return this[_0x55b6ad(0xda)](_0x43132a),this[_0x55b6ad(0x92)](_0x43132a,_0x185b5a),_0x185b5a;}catch(_0x57902b){return this[_0x55b6ad(0xa5)]['error']('Error\x20handling\x20failed',{'originalError':_0x2ae84d['message'],'handlingError':_0x57902b[_0x55b6ad(0x93)]}),{'success':![],'error':_0x57902b,'recovery':null,'severity':'critical'};}}[a0_0x357947(0xcd)](_0x5895b3,_0x363f33={}){const _0xe5fef1=a0_0x357947,_0x2ae2dd={'id':this[_0xe5fef1(0xbe)](),'timestamp':new Date()[_0xe5fef1(0xac)](),'message':_0x5895b3['message']||_0x5895b3['toString'](),'stack':_0x5895b3['stack']||null,'code':_0x5895b3['code']||null,'type':this[_0xe5fef1(0x98)](_0x5895b3,_0x363f33),'severity':this['determineSeverity'](_0x5895b3,_0x363f33),'context':{..._0x363f33},'recoverable':!![],'retryCount':_0x363f33[_0xe5fef1(0x9e)]||0x0,'maxRetries':this['getMaxRetries'](_0x5895b3,_0x363f33)};return _0x363f33['agentId']&&(_0x2ae2dd['agentId']=_0x363f33['agentId']),_0x363f33['toolId']&&(_0x2ae2dd[_0xe5fef1(0xe3)]=_0x363f33[_0xe5fef1(0xe3)]),_0x363f33[_0xe5fef1(0xd0)]&&(_0x2ae2dd[_0xe5fef1(0xd0)]=_0x363f33['operationId']),_0x2ae2dd[_0xe5fef1(0xec)]=this['isRecoverable'](_0x2ae2dd),_0x2ae2dd;}async['processError'](_0x3fa17d){const _0x3dd1d6=a0_0x357947;try{this['logger']['error'](_0x3dd1d6(0xc7),{'errorId':_0x3fa17d['id'],'type':_0x3fa17d['type'],'severity':_0x3fa17d[_0x3dd1d6(0xd5)],'agentId':_0x3fa17d['agentId'],'message':_0x3fa17d['message']});_0x3fa17d['severity']==='critical'&&await this[_0x3dd1d6(0xbb)](_0x3fa17d);let _0x4f9030=null;return _0x3fa17d['recoverable']&&_0x3fa17d['retryCount']<_0x3fa17d[_0x3dd1d6(0xb9)]&&(_0x4f9030=await this[_0x3dd1d6(0xdf)](_0x3fa17d)),await this['logError'](_0x3fa17d,_0x4f9030),{'success':_0x4f9030?.['success']||![],'errorId':_0x3fa17d['id'],'errorType':_0x3fa17d[_0x3dd1d6(0xb1)],'severity':_0x3fa17d[_0x3dd1d6(0xd5)],'recovery':_0x4f9030,'shouldRetry':this['shouldRetry'](_0x3fa17d,_0x4f9030),'retryDelay':this[_0x3dd1d6(0xd7)](_0x3fa17d)};}catch(processingError){return this[_0x3dd1d6(0xa5)][_0x3dd1d6(0x94)](_0x3dd1d6(0xeb),{'errorId':_0x3fa17d['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x3fa17d['id'],'errorType':_0x3fa17d[_0x3dd1d6(0xb1)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x357947(0xdf)](_0x319453){const _0x2d30cc=a0_0x357947;try{this[_0x2d30cc(0xbf)]['recoveryAttempts']++;const _0x547ebd=this['recoveryStrategies']['get'](_0x319453['type'])||this['recoveryStrategies'][_0x2d30cc(0xbc)]('default');if(!_0x547ebd)return this[_0x2d30cc(0xa5)]['warn']('No\x20recovery\x20strategy\x20found',{'errorType':_0x319453[_0x2d30cc(0xb1)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x2d30cc(0xa5)]['info'](_0x2d30cc(0x9c),{'errorId':_0x319453['id'],'errorType':_0x319453[_0x2d30cc(0xb1)],'strategy':_0x547ebd[_0x2d30cc(0xf4)],'retryCount':_0x319453[_0x2d30cc(0x9e)]});const _0x54c5d1=await _0x547ebd['recover'](_0x319453);return _0x54c5d1[_0x2d30cc(0xb6)]?(this[_0x2d30cc(0xbf)][_0x2d30cc(0xa4)]++,this[_0x2d30cc(0xa5)]['info']('Error\x20recovery\x20successful',{'errorId':_0x319453['id'],'strategy':_0x547ebd['name']})):this['logger'][_0x2d30cc(0x103)]('Error\x20recovery\x20failed',{'errorId':_0x319453['id'],'strategy':_0x547ebd[_0x2d30cc(0xf4)],'reason':_0x54c5d1[_0x2d30cc(0xc8)]}),_0x54c5d1;}catch(_0x17a15a){return this['logger']['error']('Recovery\x20attempt\x20failed',{'errorId':_0x319453['id'],'recoveryError':_0x17a15a[_0x2d30cc(0x93)]}),{'success':![],'reason':_0x2d30cc(0xf6)+_0x17a15a['message']};}}async['handleCriticalError'](_0x53e6f7){const _0x24ded6=a0_0x357947;try{this[_0x24ded6(0xbf)]['criticalErrors']++,this['logger']['error'](_0x24ded6(0xef),{'errorId':_0x53e6f7['id'],'message':_0x53e6f7['message'],'context':_0x53e6f7[_0x24ded6(0xe7)]});typeof process!=='undefined'&&process['emit']&&process['emit'](_0x24ded6(0xe4),_0x53e6f7);switch(_0x53e6f7[_0x24ded6(0xb1)]){case ERROR_TYPES[_0x24ded6(0xfb)]:await this['handleAuthenticationFailure'](_0x53e6f7);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this[_0x24ded6(0xab)](_0x53e6f7);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this['handleOperationTimeout'](_0x53e6f7);break;default:await this['handleGenericCriticalError'](_0x53e6f7);}}catch(_0x4bf74a){this['logger']['error'](_0x24ded6(0xd2),{'errorId':_0x53e6f7['id'],'handlingError':_0x4bf74a[_0x24ded6(0x93)]});}}[a0_0x357947(0x98)](_0xa6d3bb,_0x2836f4){const _0x1a9f8f=a0_0x357947;if(_0xa6d3bb['code']===_0x1a9f8f(0xc2)||_0xa6d3bb['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0xa6d3bb[_0x1a9f8f(0xaa)]==='EACCES'||_0xa6d3bb['status']===HTTP_STATUS[_0x1a9f8f(0xee)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0xa6d3bb['status']===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0xa6d3bb['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x1a9f8f(0xd4)];const _0x428bc1=_0xa6d3bb['message']?.[_0x1a9f8f(0xa1)]()||'';if(_0x428bc1[_0x1a9f8f(0x9d)](_0x1a9f8f(0xf2))||_0x428bc1['includes']('timed\x20out'))return ERROR_TYPES[_0x1a9f8f(0xca)];if(_0x428bc1[_0x1a9f8f(0x9d)]('validation')||_0x428bc1[_0x1a9f8f(0x9d)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x428bc1[_0x1a9f8f(0x9d)](_0x1a9f8f(0x99))||_0x428bc1['includes'](_0x1a9f8f(0xff)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x2836f4['operation']==='file_operation')return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x2836f4[_0x1a9f8f(0xd8)]==='api_request')return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}[a0_0x357947(0xd1)](_0x260c92,_0xdf45f6){const _0x167c63=a0_0x357947,_0x195088=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x167c63(0x96)]],_0x3a48e0=[ERROR_TYPES[_0x167c63(0xd4)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x167c63(0xf7)]],_0x41eb69=this['determineErrorType'](_0x260c92,_0xdf45f6);if(_0x195088[_0x167c63(0x9d)](_0x41eb69))return _0x167c63(0x100);if(_0x3a48e0['includes'](_0x41eb69))return'high';const _0x1e0275=_0xdf45f6&&_0xdf45f6[_0x167c63(0x9e)]||0x0;if(_0x1e0275>=0x3)return'high';if(_0xdf45f6&&_0xdf45f6[_0x167c63(0xe6)]&&_0xdf45f6['operation']===_0x167c63(0xa8))return _0x167c63(0xe0);return _0x167c63(0xfd);}['isRecoverable'](_0x167b48){const _0x51a4f8=a0_0x357947,_0x7f36db=[ERROR_TYPES[_0x51a4f8(0xfb)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x7f36db[_0x51a4f8(0x9d)](_0x167b48['type']))return![];if(_0x167b48['retryCount']>=_0x167b48['maxRetries'])return![];if(_0x167b48['severity']===_0x51a4f8(0x100))return![];return!![];}['getMaxRetries'](_0x471c65,_0x3d465b){const _0x3b90b1=a0_0x357947,_0x4cf4db=this[_0x3b90b1(0x98)](_0x471c65,_0x3d465b),_0x4eb97e={[ERROR_TYPES[_0x3b90b1(0xd4)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES[_0x3b90b1(0xf3)]]:0x3};return _0x4eb97e[_0x4cf4db]||0x3;}[a0_0x357947(0x101)](_0x50a28c,_0x2b5515){const _0x46a7e6=a0_0x357947;if(!_0x50a28c[_0x46a7e6(0xec)])return![];if(_0x50a28c['retryCount']>=_0x50a28c['maxRetries'])return![];if(_0x2b5515&&_0x2b5515[_0x46a7e6(0xb6)])return![];return!![];}[a0_0x357947(0xd7)](_0x385789){const _0x2aea2e=a0_0x357947,_0x49c603=0x3e8,_0x42386d=0x7530,_0x592829=_0x49c603*Math[_0x2aea2e(0xa2)](0x2,_0x385789['retryCount']),_0x273237=Math[_0x2aea2e(0xe2)]()*0x3e8;return Math[_0x2aea2e(0xc3)](_0x592829+_0x273237,_0x42386d);}['initializeRecoveryStrategies'](){const _0x42803a=a0_0x357947;this['recoveryStrategies'][_0x42803a(0xd9)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x10d7c2=>{const _0x3d90d0=_0x42803a;if(_0x10d7c2[_0x3d90d0(0xe7)][_0x3d90d0(0xae)])return{'success':![],'reason':_0x3d90d0(0x102),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x3d90d0(0xcf)};}}),this[_0x42803a(0xce)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':_0x42803a(0xdc),'recover':async _0x5311d0=>{const _0x55f1ef=_0x42803a,_0x3df12b=this[_0x55f1ef(0xad)](_0x5311d0);return this[_0x55f1ef(0xa5)][_0x55f1ef(0xa3)](_0x55f1ef(0xe1),{'waitTime':_0x3df12b}),await new Promise(_0xa350d4=>setTimeout(_0xa350d4,_0x3df12b)),{'success':!![],'action':_0x55f1ef(0xa7),'waitTime':_0x3df12b};}}),this['recoveryStrategies'][_0x42803a(0xd9)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0xce357f=>{const _0x2f4245=_0x42803a;if(_0xce357f[_0x2f4245(0xe7)][_0x2f4245(0xf2)]){const _0x19bbf0=Math['min'](_0xce357f[_0x2f4245(0xe7)][_0x2f4245(0xf2)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x19bbf0};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x42803a(0xce)]['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':_0x42803a(0xbd),'recover':async _0x240f77=>{const _0x51b1e1=_0x42803a;return{'success':![],'reason':_0x51b1e1(0xc6),'suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x42803a(0xce)][_0x42803a(0xd9)](ERROR_TYPES[_0x42803a(0xcc)],{'name':'validation_recovery','recover':async _0x6351c1=>{const _0x213082=_0x42803a;if(_0x6351c1[_0x213082(0xe7)][_0x213082(0xfe)])return{'success':!![],'action':'data_sanitization','suggestion':_0x213082(0xb5)};return{'success':![],'reason':_0x213082(0xed)};}}),this['recoveryStrategies'][_0x42803a(0xd9)]('default',{'name':'default_recovery','recover':async _0x4a2666=>{const _0x4db50a=this['calculateRetryDelay'](_0x4a2666);return await new Promise(_0x265170=>setTimeout(_0x265170,_0x4db50a)),{'success':!![],'action':'delay_retry','delay':_0x4db50a};}});}async[a0_0x357947(0xd6)](_0x4a892b){const _0x104e2a=a0_0x357947;this[_0x104e2a(0xa5)][_0x104e2a(0x94)]('Authentication\x20failure\x20detected',{'errorId':_0x4a892b['id']});if(_0x4a892b[_0x104e2a(0xe6)]){}}async[a0_0x357947(0xab)](_0x180a63){const _0x180933=a0_0x357947,_0x6f6445=this[_0x180933(0xad)](_0x180a63);this['logger']['warn'](_0x180933(0xf1),{'errorId':_0x180a63['id'],'waitTime':_0x6f6445,'agentId':_0x180a63['agentId']});if(_0x180a63[_0x180933(0xe6)]){}}async['handleOperationTimeout'](_0x426b12){const _0x1020ab=a0_0x357947;this['logger'][_0x1020ab(0x94)]('Operation\x20timeout\x20detected',{'errorId':_0x426b12['id'],'operation':_0x426b12['context'][_0x1020ab(0xd8)],'timeout':_0x426b12['context']['timeout']});}async[a0_0x357947(0xc1)](_0x1e1b31){const _0x20d2ea=a0_0x357947;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x1e1b31['id'],'type':_0x1e1b31[_0x20d2ea(0xb1)],'message':_0x1e1b31[_0x20d2ea(0x93)]}),_0x1e1b31['agentId']&&this['logger']['warn'](_0x20d2ea(0xc0),{'agentId':_0x1e1b31[_0x20d2ea(0xe6)]});}['calculateRateLimitWait'](_0xf85338){const _0x2ac151=a0_0x357947,_0x3f870d=0xea60,_0x810caf=Math['pow'](0x2,_0xf85338[_0x2ac151(0x9e)]),_0x58cf20=0x493e0;return Math['min'](_0x3f870d*_0x810caf,_0x58cf20);}async['logError'](_0x24b63d,_0x30f1e7){const _0x255094=a0_0x357947;try{const _0x4b0fb7={'errorId':_0x24b63d['id'],'timestamp':_0x24b63d['timestamp'],'type':_0x24b63d[_0x255094(0xb1)],'severity':_0x24b63d[_0x255094(0xd5)],'message':_0x24b63d[_0x255094(0x93)],'agentId':_0x24b63d['agentId'],'toolId':_0x24b63d[_0x255094(0xe3)],'operationId':_0x24b63d[_0x255094(0xd0)],'retryCount':_0x24b63d['retryCount'],'recoveryAttempted':!!_0x30f1e7,'recoverySuccess':_0x30f1e7?.['success']||![],'recoveryAction':_0x30f1e7?.['action']||null};this['errorQueue'][_0x255094(0xa6)](_0x4b0fb7),!this['isProcessingQueue']&&this[_0x255094(0xb4)]();}catch(_0x2f497d){this[_0x255094(0xa5)][_0x255094(0x94)](_0x255094(0xb0),{'errorId':_0x24b63d['id'],'loggingError':_0x2f497d[_0x255094(0x93)]});}}async[a0_0x357947(0xb4)](){const _0x2e0529=a0_0x357947;if(this['isProcessingQueue']||this['errorQueue'][_0x2e0529(0x9f)]===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue']['length']>0x0){const _0x154201=this['errorQueue'][_0x2e0529(0xfa)](0x0,0xa);this[_0x2e0529(0xa5)][_0x2e0529(0xb8)]('Processing\x20error\x20batch',{'batchSize':_0x154201[_0x2e0529(0x9f)]}),await new Promise(_0x4b4825=>setTimeout(_0x4b4825,0x64));}}catch(processingError){this[_0x2e0529(0xa5)]['error'](_0x2e0529(0xd3),{'error':processingError[_0x2e0529(0x93)]});}finally{this[_0x2e0529(0xa0)]=![];}}[a0_0x357947(0x90)](){setInterval(()=>{const _0x4cf386=a0_0x2603;this[_0x4cf386(0xf5)][_0x4cf386(0x9f)]>0x0&&this[_0x4cf386(0xb4)]();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x188591=>{const _0x2ac4d8=a0_0x2603;this[_0x2ac4d8(0xa9)](_0x188591,{'type':'uncaught_exception','severity':'critical'});}),process['on']('unhandledRejection',(_0x15dd23,_0xf82048)=>{const _0x28c96c=a0_0x2603;this[_0x28c96c(0xa9)](new Error('Unhandled\x20Rejection:\x20'+_0x15dd23),{'type':'unhandled_rejection','severity':'high','promise':_0xf82048[_0x28c96c(0xea)]()});}));}[a0_0x357947(0xda)](_0x836ae1){const _0x2523b7=a0_0x357947;this[_0x2523b7(0xbf)]['totalErrors']++,!this[_0x2523b7(0xbf)]['errorsByType'][_0x2523b7(0xb2)](_0x836ae1['type'])&&this['errorStats'][_0x2523b7(0x97)]['set'](_0x836ae1[_0x2523b7(0xb1)],0x0),this['errorStats'][_0x2523b7(0x97)]['set'](_0x836ae1['type'],this[_0x2523b7(0xbf)]['errorsByType']['get'](_0x836ae1[_0x2523b7(0xb1)])+0x1),_0x836ae1['agentId']&&(!this[_0x2523b7(0xbf)]['errorsByAgent']['has'](_0x836ae1['agentId'])&&this[_0x2523b7(0xbf)][_0x2523b7(0xf9)][_0x2523b7(0xd9)](_0x836ae1[_0x2523b7(0xe6)],0x0),this[_0x2523b7(0xbf)]['errorsByAgent']['set'](_0x836ae1['agentId'],this['errorStats'][_0x2523b7(0xf9)][_0x2523b7(0xbc)](_0x836ae1[_0x2523b7(0xe6)])+0x1));}['subscribe'](_0x4eeb21){const _0x2aa987=a0_0x357947;return this['errorSubscribers'][_0x2aa987(0xdb)](_0x4eeb21),()=>this['errorSubscribers'][_0x2aa987(0xe5)](_0x4eeb21);}['notifySubscribers'](_0x59a170,_0x29c9e5){const _0x12547a=a0_0x357947;this[_0x12547a(0xfc)][_0x12547a(0xe8)](_0x93006c=>{const _0x44e95d=_0x12547a;try{_0x93006c(_0x59a170,_0x29c9e5);}catch(_0x28ebee){this['logger']['error']('Error\x20subscriber\x20callback\x20failed',{'error':_0x28ebee[_0x44e95d(0x93)]});}});}[a0_0x357947(0xbe)](){const _0x28a98c=a0_0x357947;return _0x28a98c(0x95)+Date[_0x28a98c(0xba)]()+'_'+Math['random']()[_0x28a98c(0xea)](0x24)['substr'](0x2,0x9);}['getErrorStats'](){const _0x171364=a0_0x357947;return{'totalErrors':this['errorStats']['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats'][_0x171364(0x97)]),'errorsByAgent':Object[_0x171364(0xc4)](this[_0x171364(0xbf)]['errorsByAgent']),'recoveryAttempts':this[_0x171364(0xbf)][_0x171364(0xc5)],'successfulRecoveries':this['errorStats'][_0x171364(0xa4)],'recoverySuccessRate':this['errorStats'][_0x171364(0xc5)]>0x0?this['errorStats']['successfulRecoveries']/this[_0x171364(0xbf)][_0x171364(0xc5)]:0x0,'criticalErrors':this['errorStats'][_0x171364(0x91)],'queueLength':this[_0x171364(0xf5)][_0x171364(0x9f)]};}[a0_0x357947(0xc9)](){const _0x282f5a=a0_0x357947;this[_0x282f5a(0xbf)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a0_0x55e363=a0_0x51b2;(function(_0x525ec2,_0x1b0931){const _0x253060=a0_0x51b2,_0x3a8131=_0x525ec2();while(!![]){try{const _0x4e279a=parseInt(_0x253060(0xe0))/0x1+-parseInt(_0x253060(0xdf))/0x2*(parseInt(_0x253060(0xba))/0x3)+parseInt(_0x253060(0xfd))/0x4+parseInt(_0x253060(0xc4))/0x5*(-parseInt(_0x253060(0xfb))/0x6)+parseInt(_0x253060(0xef))/0x7*(parseInt(_0x253060(0xd6))/0x8)+parseInt(_0x253060(0xf2))/0x9*(parseInt(_0x253060(0xbe))/0xa)+parseInt(_0x253060(0xb9))/0xb*(-parseInt(_0x253060(0xbd))/0xc);if(_0x4e279a===_0x1b0931)break;else _0x3a8131['push'](_0x3a8131['shift']());}catch(_0x30bc51){_0x3a8131['push'](_0x3a8131['shift']());}}}(a0_0x5c01,0x9d8f9));import a0_0x1c0b27 from'path';import{randomUUID}from'crypto';import a0_0xe9e833 from'../utilities/fileProcessor.js';import a0_0x26a168 from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x1c0b27[a0_0x55e363(0xd4)](ATTACHMENTS_DIR,a0_0x55e363(0xc0));function a0_0x51b2(_0x1a6407,_0x5e54f0){_0x1a6407=_0x1a6407-0xb3;const _0x5c016d=a0_0x5c01();let _0x51b209=_0x5c016d[_0x1a6407];if(a0_0x51b2['pnxsEC']===undefined){var _0x11f9c8=function(_0x4ab456){const _0x1af8a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c0b27='',_0xe9e833='';for(let _0x26a168=0x0,_0x4d8be7,_0x43e964,_0x41e70d=0x0;_0x43e964=_0x4ab456['charAt'](_0x41e70d++);~_0x43e964&&(_0x4d8be7=_0x26a168%0x4?_0x4d8be7*0x40+_0x43e964:_0x43e964,_0x26a168++%0x4)?_0x1c0b27+=String['fromCharCode'](0xff&_0x4d8be7>>(-0x2*_0x26a168&0x6)):0x0){_0x43e964=_0x1af8a9['indexOf'](_0x43e964);}for(let _0x10014e=0x0,_0x216dc2=_0x1c0b27['length'];_0x10014e<_0x216dc2;_0x10014e++){_0xe9e833+='%'+('00'+_0x1c0b27['charCodeAt'](_0x10014e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe9e833);};a0_0x51b2['qAZgoQ']=_0x11f9c8,a0_0x51b2['jIXoCC']={},a0_0x51b2['pnxsEC']=!![];}const _0x2e4db3=_0x5c016d[0x0],_0x216354=_0x1a6407+_0x2e4db3,_0x5f5345=a0_0x51b2['jIXoCC'][_0x216354];return!_0x5f5345?(_0x51b209=a0_0x51b2['qAZgoQ'](_0x51b209),a0_0x51b2['jIXoCC'][_0x216354]=_0x51b209):_0x51b209=_0x5f5345,_0x51b209;}function a0_0x5c01(){const _0x248cca=['yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','DxrMoa','zMLSDgvY','Bwv0ywrHDgeUANnVBG','oda2nvzPCvDQuG','yxr0ywnOBwvUDhm','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50','CMvHzezPBgu','zMLSzvbYB2nLC3nVCG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','ywDLBNrjza','z2v0rMLSzvn0yxrZ','zMLSzuv4Axn0CW','Aw5JBhvKzxm','ChvZAa','Dg9ju09tDhjPBMC','BwvZC2fNzq','Bw9KAwzPzwq','BgfZDe1VzgLMAwvK','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','AM9PBG','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','oePPtMrxsa','zgf0ytPPBwfNzq','C3vIC3rYAw5N','DxbKyxrLqxr0ywnOBwvUDa','z2v0q29UDgvUDfr5Cgu','zxH0BMfTzq','C3rYAw5NAwz5','y3jLyxrLrgLYzwn0B3j5','ywn0AxzL','otm5ndK2yLvsC2vp','mtaWmJKYnwf3wxzSrW','C2L6zq','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','ChjVy2vZC0zPBgu','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','y29UDgvUDa','CMvMzxjLBMnL','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGDxbSB2fKAw5NigzPBgu','z2v0qxr0ywnOBwvUDa','rxjYB3iGBg9HzgLUzYbPBMrLEa','DMfSAwrHDgu','ywDLBNrszwzZ','CgfYC2u','z2v0twLTzvr5Cgu','oduWmJq0nxfWB2HvqW','BgvUz3rO','z2v0qwn0AxzLqxr0ywnOBwvUDhm','otGXt3PhqKzb','rMLSzsbUB3qGzM91BMq6ia','C2f2zuLUzgv4','Aw5MBW','zMLSzu5HBwu','DMfSAwrHDg9Y','Aw5PDgLHBgL6zq','zgvSzxrLqxr0ywnOBwvUDa','Aw1WB3j0zwrgCM9T','ndmYDxnyEePP','Aw5KzxG','mtCXote1mMjXvgPSqq','Bg9HzeLUzgv4','Bg9Nz2vY','Bw9Kzq','zxjYB3i','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','yMfZzw5HBwu','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','ndrJCLPNAuu','nKvfyvD4EG','D3jPDgvgAwXL','CMvMzxjLBMnLzej5','ndy4mZy0ohDNyNfhqW','nty0mtbkyvD0A2y','y29UDgvUDc50Ehq'];a0_0x5c01=function(){return _0x248cca;};return a0_0x5c01();}class FileAttachmentService{constructor(_0x4d8be7={},_0x43e964=null){const _0x19f0c7=a0_0x55e363;this['config']=_0x4d8be7,this[_0x19f0c7(0xff)]=_0x43e964,this[_0x19f0c7(0xc8)]=new a0_0xe9e833(_0x4d8be7,_0x43e964),this['validator']=new a0_0x26a168(_0x4d8be7,_0x43e964),this['index']=null;}async[a0_0x55e363(0xf8)](){const _0x586efd=a0_0x55e363;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this[_0x586efd(0xff)]?.[_0x586efd(0xf5)](_0x586efd(0xb8),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x41e70d){this['logger']?.[_0x586efd(0xb4)](_0x586efd(0xd5),{'error':_0x41e70d['message']});throw _0x41e70d;}}async[a0_0x55e363(0xfe)](){const _0x3046ca=a0_0x55e363;try{const _0x10014e=await this['fileProcessor']['fileExists'](INDEX_FILE);if(!_0x10014e)this['index']={'attachments':{},'agentRefs':{}},await this[_0x3046ca(0xf4)]();else{const _0x216dc2=await this[_0x3046ca(0xc8)][_0x3046ca(0xc7)](INDEX_FILE,_0x3046ca(0xc1));this['index']=JSON[_0x3046ca(0xed)](_0x216dc2);}return this['index'];}catch(_0x2f934e){return this['logger']?.[_0x3046ca(0xb4)](_0x3046ca(0xea),{'error':_0x2f934e[_0x3046ca(0xd0)]}),this[_0x3046ca(0xfc)]={'attachments':{},'agentRefs':{}},this[_0x3046ca(0xfc)];}}async['saveIndex'](){const _0x23e72a=a0_0x55e363;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON[_0x23e72a(0xdc)](this['index'],null,0x2),'utf8');}catch(_0x153028){this['logger']?.[_0x23e72a(0xb4)]('Error\x20saving\x20index',{'error':_0x153028[_0x23e72a(0xd0)]});throw _0x153028;}}async['uploadFile']({agentId:_0x19d24a,filePath:_0x32c78b,mode:mode=a0_0x55e363(0xe5),fileName:fileName=null}){const _0x2dbc54=a0_0x55e363;!this[_0x2dbc54(0xfc)]&&await this['loadIndex']();try{const _0x4a71a6=await this[_0x2dbc54(0xc8)]['fileExists'](_0x32c78b);if(!_0x4a71a6)throw new Error(_0x2dbc54(0xf3)+_0x32c78b);const _0x45927a=await this[_0x2dbc54(0xc8)][_0x2dbc54(0xcb)](_0x32c78b),_0x479c2a=fileName||a0_0x1c0b27[_0x2dbc54(0xb6)](_0x32c78b),_0x2c7bb1=a0_0x1c0b27[_0x2dbc54(0xdb)](_0x479c2a),_0xb3587f=this[_0x2dbc54(0xf7)][_0x2dbc54(0xeb)]({'fileName':_0x479c2a,'size':_0x45927a[_0x2dbc54(0xe1)],'mode':mode,'path':mode===_0x2dbc54(0xe6)?_0x32c78b:null});if(!_0xb3587f['valid'])throw new Error('Validation\x20failed:\x20'+_0xb3587f['errors'][_0x2dbc54(0xd4)](',\x20'));const _0x56c468=randomUUID(),_0x4ad2ac=await this[_0x2dbc54(0xc8)]['calculateHash'](_0x32c78b),_0x4ba526=this['validator'][_0x2dbc54(0xda)](_0x479c2a),_0x188823=a0_0x1c0b27[_0x2dbc54(0xd4)](ATTACHMENTS_DIR,_0x19d24a,_0x56c468);await this['fileProcessor'][_0x2dbc54(0xdd)](_0x188823);let _0x2d81c1=0x0,_0x5b9220=null;if(mode==='content'){const processResult=await this[_0x2dbc54(0xc8)][_0x2dbc54(0xe3)](_0x32c78b,_0x4ba526),_0x3c9216=processResult['content'];if(_0x4ba526==='text')_0x5b9220=_0x2dbc54(0xbf);else{if(_0x4ba526==='image')_0x5b9220='content.base64';else _0x4ba526==='pdf'&&(_0x5b9220=_0x2dbc54(0xbf));}const _0x22399f=a0_0x1c0b27['join'](_0x188823,_0x5b9220);await this[_0x2dbc54(0xc8)]['writeFile'](_0x22399f,_0x3c9216,_0x2dbc54(0xc1)),_0x2d81c1=this['fileProcessor']['estimateTokens'](_0x3c9216);}const _0x1ef9c3={'fileId':_0x56c468,'agentId':_0x19d24a,'fileName':_0x479c2a,'originalPath':_0x32c78b,'fileType':this[_0x2dbc54(0xf7)][_0x2dbc54(0xee)](_0x479c2a),'fileExtension':_0x2c7bb1,'size':_0x45927a['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x45927a[_0x2dbc54(0xd1)][_0x2dbc54(0xcf)](),'hash':_0x4ad2ac,'tokenEstimate':_0x2d81c1,'contentType':_0x4ba526,'contentFileName':_0x5b9220,'warnings':_0xb3587f['warnings'],'sizeLevel':_0xb3587f['sizeLevel'],'importedFrom':null,'referencedBy':[_0x19d24a]},_0x4a7b85=a0_0x1c0b27['join'](_0x188823,_0x2dbc54(0xc3));return await this[_0x2dbc54(0xc8)]['writeFile'](_0x4a7b85,JSON['stringify'](_0x1ef9c3,null,0x2),'utf8'),this[_0x2dbc54(0xfc)][_0x2dbc54(0xc5)][_0x56c468]={'fileId':_0x56c468,'agentId':_0x19d24a,'fileName':_0x479c2a,'mode':mode,'active':_0x1ef9c3[_0x2dbc54(0xde)],'referencedBy':_0x1ef9c3['referencedBy']},!this[_0x2dbc54(0xfc)][_0x2dbc54(0xec)][_0x19d24a]&&(this['index']['agentRefs'][_0x19d24a]=[]),this[_0x2dbc54(0xfc)]['agentRefs'][_0x19d24a]['push'](_0x56c468),await this[_0x2dbc54(0xf4)](),this['logger']?.[_0x2dbc54(0xf5)]('File\x20uploaded',{'fileId':_0x56c468,'agentId':_0x19d24a,'fileName':_0x479c2a,'mode':mode}),_0x1ef9c3;}catch(_0x33d934){this['logger']?.['error'](_0x2dbc54(0xe8),{'agentId':_0x19d24a,'filePath':_0x32c78b,'error':_0x33d934[_0x2dbc54(0xd0)]});throw _0x33d934;}}async['getAttachments'](_0x4f46b1,_0x379b91={}){const _0x41822d=a0_0x55e363;!this['index']&&await this['loadIndex']();try{const _0x1a34e2=this[_0x41822d(0xfc)][_0x41822d(0xec)][_0x4f46b1]||[],_0x12e5ab=[];for(const _0x21d688 of _0x1a34e2){const _0x3d5529=await this[_0x41822d(0xe9)](_0x21d688);if(_0x3d5529){if(_0x379b91['active']!==undefined&&_0x3d5529[_0x41822d(0xde)]!==_0x379b91['active'])continue;if(_0x379b91[_0x41822d(0xb3)]&&_0x3d5529[_0x41822d(0xb3)]!==_0x379b91[_0x41822d(0xb3)])continue;_0x12e5ab['push'](_0x3d5529);}}return _0x12e5ab;}catch(_0x5723e7){this['logger']?.[_0x41822d(0xb4)](_0x41822d(0xb5),{'agentId':_0x4f46b1,'error':_0x5723e7[_0x41822d(0xd0)]});throw _0x5723e7;}}async['getAttachment'](_0x492c3d){const _0x37222d=a0_0x55e363;!this[_0x37222d(0xfc)]&&await this[_0x37222d(0xfe)]();try{const _0x21531d=this[_0x37222d(0xfc)][_0x37222d(0xc5)][_0x492c3d];if(!_0x21531d)return null;const _0x380819=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0x21531d[_0x37222d(0xca)],_0x492c3d,_0x37222d(0xc3)),_0x250dca=await this['fileProcessor'][_0x37222d(0xcc)](_0x380819);if(!_0x250dca)return this[_0x37222d(0xff)]?.['warn'](_0x37222d(0xe4),{'fileId':_0x492c3d}),null;const _0x420474=await this[_0x37222d(0xc8)][_0x37222d(0xc7)](_0x380819,_0x37222d(0xc1));return JSON[_0x37222d(0xed)](_0x420474);}catch(_0x440e99){return this['logger']?.[_0x37222d(0xb4)](_0x37222d(0xc6),{'fileId':_0x492c3d,'error':_0x440e99[_0x37222d(0xd0)]}),null;}}async['getAttachmentContent'](_0x21cacc){const _0x1636d8=a0_0x55e363;try{const _0x59484b=await this[_0x1636d8(0xe9)](_0x21cacc);if(!_0x59484b||_0x59484b['mode']!==_0x1636d8(0xe5))return null;const _0x4f4e9e=a0_0x1c0b27[_0x1636d8(0xd4)](ATTACHMENTS_DIR,_0x59484b['agentId'],_0x21cacc,_0x59484b['contentFileName']),_0x472a83=await this[_0x1636d8(0xc8)][_0x1636d8(0xcc)](_0x4f4e9e);if(!_0x472a83)return null;return await this[_0x1636d8(0xc8)]['readFile'](_0x4f4e9e,'utf8');}catch(_0x4f6201){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0x21cacc,'error':_0x4f6201['message']}),null;}}async['toggleActive'](_0x442910){const _0x490019=a0_0x55e363;try{const _0x253e5a=await this['getAttachment'](_0x442910);if(!_0x253e5a)throw new Error('Attachment\x20not\x20found:\x20'+_0x442910);_0x253e5a['active']=!_0x253e5a['active'],_0x253e5a['lastModified']=new Date()['toISOString']();const _0x41865e=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0x253e5a['agentId'],_0x442910,_0x490019(0xc3));return await this['fileProcessor']['writeFile'](_0x41865e,JSON['stringify'](_0x253e5a,null,0x2),_0x490019(0xc1)),this[_0x490019(0xfc)][_0x490019(0xc5)][_0x442910]&&(this[_0x490019(0xfc)]['attachments'][_0x442910]['active']=_0x253e5a['active'],await this[_0x490019(0xf4)]()),this[_0x490019(0xff)]?.[_0x490019(0xf5)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x442910,'active':_0x253e5a[_0x490019(0xde)]}),_0x253e5a;}catch(_0x3ff2dd){this[_0x490019(0xff)]?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x442910,'error':_0x3ff2dd[_0x490019(0xd0)]});throw _0x3ff2dd;}}async[a0_0x55e363(0xd9)](_0xab8992,_0x36cb39){const _0x32ffe6=a0_0x55e363;try{const _0x37183d=await this[_0x32ffe6(0xe9)](_0xab8992);if(!_0x37183d)throw new Error(_0x32ffe6(0xd3)+_0xab8992);const _0x39ec76=[_0x32ffe6(0xf6),_0x32ffe6(0xde)];for(const _0x177302 of _0x39ec76){_0x36cb39[_0x177302]!==undefined&&(_0x37183d[_0x177302]=_0x36cb39[_0x177302]);}_0x37183d['lastModified']=new Date()['toISOString']();const _0x37be25=a0_0x1c0b27[_0x32ffe6(0xd4)](ATTACHMENTS_DIR,_0x37183d[_0x32ffe6(0xca)],_0xab8992,'metadata.json');return await this[_0x32ffe6(0xc8)]['writeFile'](_0x37be25,JSON['stringify'](_0x37183d,null,0x2),'utf8'),this[_0x32ffe6(0xfc)][_0x32ffe6(0xc5)][_0xab8992]&&(_0x36cb39['fileName']&&(this['index']['attachments'][_0xab8992][_0x32ffe6(0xf6)]=_0x36cb39[_0x32ffe6(0xf6)]),_0x36cb39['active']!==undefined&&(this[_0x32ffe6(0xfc)][_0x32ffe6(0xc5)][_0xab8992]['active']=_0x36cb39['active']),await this['saveIndex']()),this['logger']?.['info']('Attachment\x20updated',{'fileId':_0xab8992,'updates':_0x36cb39}),_0x37183d;}catch(_0x298794){this[_0x32ffe6(0xff)]?.[_0x32ffe6(0xb4)](_0x32ffe6(0xe7),{'fileId':_0xab8992,'error':_0x298794[_0x32ffe6(0xd0)]});throw _0x298794;}}async['deleteAttachment'](_0x1fee66,_0x25b4c0){const _0x513f1e=a0_0x55e363;try{const _0x238b06=await this[_0x513f1e(0xe9)](_0x1fee66);if(!_0x238b06)throw new Error('Attachment\x20not\x20found:\x20'+_0x1fee66);_0x238b06['referencedBy']=_0x238b06[_0x513f1e(0xbc)]['filter'](_0xf4051e=>_0xf4051e!==_0x25b4c0);if(_0x238b06[_0x513f1e(0xbc)][_0x513f1e(0xf0)]>0x0){const _0x27f6f7=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0x238b06['agentId'],_0x1fee66,'metadata.json');return await this['fileProcessor'][_0x513f1e(0xbb)](_0x27f6f7,JSON[_0x513f1e(0xdc)](_0x238b06,null,0x2),'utf8'),this[_0x513f1e(0xfc)]['attachments'][_0x1fee66]&&(this['index'][_0x513f1e(0xc5)][_0x1fee66]['referencedBy']=_0x238b06['referencedBy']),this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]&&(this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]=this['index'][_0x513f1e(0xec)][_0x25b4c0][_0x513f1e(0xc2)](_0x27851f=>_0x27851f!==_0x1fee66)),await this['saveIndex'](),this['logger']?.[_0x513f1e(0xf5)](_0x513f1e(0xe2),{'fileId':_0x1fee66,'agentId':_0x25b4c0,'remainingRefs':_0x238b06['referencedBy'][_0x513f1e(0xf0)]}),![];}const _0x17323a=a0_0x1c0b27[_0x513f1e(0xd4)](ATTACHMENTS_DIR,_0x238b06[_0x513f1e(0xca)],_0x1fee66);return await this[_0x513f1e(0xc8)]['deleteDirectory'](_0x17323a),delete this['index']['attachments'][_0x1fee66],this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]&&(this[_0x513f1e(0xfc)][_0x513f1e(0xec)][_0x25b4c0]=this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]['filter'](_0x30937a=>_0x30937a!==_0x1fee66)),await this[_0x513f1e(0xf4)](),this['logger']?.['info']('Attachment\x20deleted',{'fileId':_0x1fee66,'agentId':_0x25b4c0}),!![];}catch(_0x5470ae){this['logger']?.['error']('Error\x20deleting\x20attachment',{'fileId':_0x1fee66,'agentId':_0x25b4c0,'error':_0x5470ae['message']});throw _0x5470ae;}}async[a0_0x55e363(0xb7)](_0x1a43c4){const _0x1c3bd3=a0_0x55e363;try{const _0x4a8838=this['index']['agentRefs'][_0x1a43c4]||[];let _0x5e05a2=0x0,_0x5216bd=0x0;for(const _0x3d4b07 of _0x4a8838){const _0x1d4b83=await this[_0x1c3bd3(0xf9)](_0x3d4b07,_0x1a43c4);_0x1d4b83?_0x5e05a2++:_0x5216bd++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x1a43c4,'deleted':_0x5e05a2,'dereferenced':_0x5216bd}),{'deleted':_0x5e05a2,'dereferenced':_0x5216bd};}catch(_0x2ed612){this[_0x1c3bd3(0xff)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0x1a43c4,'error':_0x2ed612[_0x1c3bd3(0xd0)]});throw _0x2ed612;}}async['importFromAgent'](_0x4d4103,_0x50a3ef){const _0xe9c555=a0_0x55e363;try{const _0xaa5757=await this['getAttachment'](_0x4d4103);if(!_0xaa5757)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x4d4103);!_0xaa5757[_0xe9c555(0xbc)][_0xe9c555(0xcd)](_0x50a3ef)&&_0xaa5757['referencedBy'][_0xe9c555(0xce)](_0x50a3ef);_0xaa5757[_0xe9c555(0xd2)]=new Date()[_0xe9c555(0xcf)](),_0xaa5757[_0xe9c555(0xfa)]=_0xaa5757['agentId'];const _0x121aa0=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0xaa5757[_0xe9c555(0xca)],_0x4d4103,'metadata.json');return await this['fileProcessor'][_0xe9c555(0xbb)](_0x121aa0,JSON['stringify'](_0xaa5757,null,0x2),'utf8'),this[_0xe9c555(0xfc)][_0xe9c555(0xc5)][_0x4d4103]&&(this['index'][_0xe9c555(0xc5)][_0x4d4103][_0xe9c555(0xbc)]=_0xaa5757['referencedBy']),!this[_0xe9c555(0xfc)][_0xe9c555(0xec)][_0x50a3ef]&&(this[_0xe9c555(0xfc)]['agentRefs'][_0x50a3ef]=[]),!this[_0xe9c555(0xfc)]['agentRefs'][_0x50a3ef]['includes'](_0x4d4103)&&this[_0xe9c555(0xfc)][_0xe9c555(0xec)][_0x50a3ef][_0xe9c555(0xce)](_0x4d4103),await this['saveIndex'](),this['logger']?.[_0xe9c555(0xf5)]('Attachment imported',{'sourceFileId':_0x4d4103,'targetAgentId':_0x50a3ef}),_0xaa5757;}catch(_0x14a6bc){this[_0xe9c555(0xff)]?.['error']('Error importing attachment',{'sourceFileId':_0x4d4103,'targetAgentId':_0x50a3ef,'error':_0x14a6bc[_0xe9c555(0xd0)]});throw _0x14a6bc;}}async[a0_0x55e363(0xf1)](_0x3289e8){return await this['getAttachments'](_0x3289e8,{'active':!![]});}async['getAttachmentPreview'](_0x2c23cb){const _0x32f6aa=a0_0x55e363;try{const _0x36f62f=await this['getAttachmentContent'](_0x2c23cb);if(!_0x36f62f)return null;if(_0x36f62f['startsWith'](_0x32f6aa(0xd7)))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x36f62f['length']>0x3e8?_0x36f62f[_0x32f6aa(0xd8)](0x0,0x3e8)+'...':_0x36f62f;}catch(_0x4e2ce7){return this[_0x32f6aa(0xff)]?.[_0x32f6aa(0xb4)](_0x32f6aa(0xc9),{'fileId':_0x2c23cb,'error':_0x4e2ce7['message']}),null;}}}export default FileAttachmentService;
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a0_0x5e7866=a0_0x422a;(function(_0x32208f,_0x409363){const _0x16eadf=a0_0x422a,_0x56de91=_0x32208f();while(!![]){try{const _0x3bc34d=-parseInt(_0x16eadf(0x1dd))/0x1+-parseInt(_0x16eadf(0x1a0))/0x2*(-parseInt(_0x16eadf(0x1db))/0x3)+parseInt(_0x16eadf(0x19d))/0x4+-parseInt(_0x16eadf(0x192))/0x5*(-parseInt(_0x16eadf(0x1b5))/0x6)+parseInt(_0x16eadf(0x1a7))/0x7*(parseInt(_0x16eadf(0x1cf))/0x8)+parseInt(_0x16eadf(0x1ac))/0x9+-parseInt(_0x16eadf(0x1c9))/0xa;if(_0x3bc34d===_0x409363)break;else _0x56de91['push'](_0x56de91['shift']());}catch(_0x3071b6){_0x56de91['push'](_0x56de91['shift']());}}}(a0_0x23c1,0xcb491));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x4c5e24,_0xb102da,_0x26cbc9,_0x1e2fbd){const _0x547e7d=a0_0x422a;this['config']=_0x4c5e24,this[_0x547e7d(0x1de)]=_0xb102da,this['benchmarkService']=_0x26cbc9,this['aiService']=_0x1e2fbd,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this['contextMessagesCount']=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this[_0x547e7d(0x1e1)]=MODEL_ROUTER_CONFIG[_0x547e7d(0x19f)];}async[a0_0x5e7866(0x1a3)](_0x12445f,_0x2dbf6c=[],_0x390492='',_0x3cc8bd=[],_0x2a72a1={}){const _0x544c8b=a0_0x5e7866;try{this['logger']['debug']('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x12445f['content']?.[_0x544c8b(0x1c8)]||0x0,'recentMessagesCount':_0x2dbf6c[_0x544c8b(0x1c8)],'currentModel':_0x390492,'availableModelsCount':_0x3cc8bd[_0x544c8b(0x1c8)]});const _0x158361=this['_buildRoutingContext'](_0x12445f,_0x2dbf6c,_0x390492,_0x3cc8bd),_0x58edad=this[_0x544c8b(0x1b9)]['getBenchmarkTable'](),_0x1d8e61=this[_0x544c8b(0x1a5)](_0x158361,_0x58edad),_0x53de4d=await this['_askForRouting'](_0x1d8e61,_0x2a72a1),_0x36171d=this[_0x544c8b(0x1bc)](_0x53de4d,_0x3cc8bd,_0x390492);return this['logger'][_0x544c8b(0x193)]('Model\x20routing\x20completed',{'selectedModel':_0x36171d,'previousModel':_0x390492,'changed':_0x36171d!==_0x390492,'reasoning':_0x53de4d[_0x544c8b(0x1bb)]?.[_0x544c8b(0x199)](0x0,0x64)||_0x544c8b(0x1ce)}),{'selectedModel':_0x36171d,'previousModel':_0x390492,'changed':_0x36171d!==_0x390492,'reasoning':_0x53de4d['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x20aebf){this['logger'][_0x544c8b(0x1e0)](_0x544c8b(0x1ab),{'error':_0x20aebf[_0x544c8b(0x1a6)],'currentModel':_0x390492});const _0x224cc8=_0x390492||_0x3cc8bd[0x0]||MODELS[_0x544c8b(0x1d2)];return{'selectedModel':_0x224cc8,'previousModel':_0x390492,'changed':![],'reasoning':_0x544c8b(0x194)};}}['_buildRoutingContext'](_0x5cbafe,_0x3311d2,_0xf1b32a,_0x185e02){const _0x314ed8=a0_0x5e7866,_0x1b2ca2=_0x3311d2['slice'](-this[_0x314ed8(0x1b4)])['map'](_0x2429c4=>({'role':_0x2429c4['role'],'content':_0x2429c4[_0x314ed8(0x196)]?.['substring'](0x0,0x1f4)||'','timestamp':_0x2429c4['timestamp']}));return{'currentMessage':{'content':_0x5cbafe['content']?.['substring'](0x0,0x3e8)||'','role':_0x5cbafe[_0x314ed8(0x1d9)]||'user','hasContextReferences':!!_0x5cbafe[_0x314ed8(0x197)]?.['length'],'contextTypes':_0x5cbafe[_0x314ed8(0x197)]?.['map'](_0x4dea92=>_0x4dea92[_0x314ed8(0x1aa)])||[]},'recentMessages':_0x1b2ca2,'currentModel':_0xf1b32a,'availableModels':_0x185e02['map'](_0x268b23=>({'name':_0x268b23,'isCurrentModel':_0x268b23===_0xf1b32a})),'messageCount':_0x3311d2[_0x314ed8(0x1c8)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0xa27f9e,_0x2e846a){const _0x3573af=a0_0x5e7866;return _0x3573af(0x1c4)+(_0xa27f9e[_0x3573af(0x1dc)]||'None')+_0x3573af(0x1a2)+_0xa27f9e[_0x3573af(0x1ae)]+'\x0a-\x20**Available\x20Models**:\x20'+_0xa27f9e['availableModels'][_0x3573af(0x1a9)](_0x639a3f=>_0x639a3f[_0x3573af(0x1e2)])['join'](',\x20')+_0x3573af(0x19a)+this['_formatRecentMessages'](_0xa27f9e['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0xa27f9e[_0x3573af(0x1df)][_0x3573af(0x1d9)]+'\x0a**Content**:\x20'+_0xa27f9e[_0x3573af(0x1df)]['content']+_0x3573af(0x1c5)+_0xa27f9e['currentMessage'][_0x3573af(0x1d8)]+'\x0a'+(_0xa27f9e[_0x3573af(0x1df)][_0x3573af(0x19e)][_0x3573af(0x1c8)]>0x0?'**Context\x20Types**:\x20'+_0xa27f9e['currentMessage']['contextTypes']['join'](',\x20'):'')+_0x3573af(0x191)+this['_formatBenchmarkData'](_0x2e846a)+'\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'](_0x5abbc1){const _0x2096d6=a0_0x5e7866;if(!_0x5abbc1['length'])return _0x2096d6(0x1a4);return _0x5abbc1['map']((_0x3c990a,_0x56a826)=>_0x56a826+0x1+'.\x20**'+_0x3c990a[_0x2096d6(0x1d9)]+_0x2096d6(0x1c3)+_0x3c990a['content'])['join']('\x0a');}['_formatBenchmarkData'](_0x40da54){const _0x8c8e1a=a0_0x5e7866,_0x349db5=_0x40da54[_0x8c8e1a(0x1da)]||[],_0xe5cd8e=_0x40da54['tasks']||{},_0xb75406=_0x40da54['summary']||{};let _0x391720=_0x8c8e1a(0x198);return Object[_0x8c8e1a(0x1c7)](_0xe5cd8e)[_0x8c8e1a(0x1a8)](([_0xfad0a8,_0x464667])=>{const _0x47f21e=_0x8c8e1a;_0x391720+='**'+_0xfad0a8[_0x47f21e(0x1bf)]()+_0x47f21e(0x1cc)+_0x464667[_0x47f21e(0x1b6)]+'):\x20'+(_0x464667[_0x47f21e(0x1a1)]?.[_0x47f21e(0x1b3)](',\x20')||'No\x20data')+'\x0a';}),_0x391720+='\x0a###\x20Model\x20Details\x0a',_0x349db5['slice'](0x0,0x8)['forEach'](_0x620678=>{const _0x59fd02=_0x8c8e1a;_0x391720+='**'+_0x620678['name']+_0x59fd02(0x1c3);const _0x14041f=Object[_0x59fd02(0x1c7)](_0x620678[_0x59fd02(0x1b8)]||{})['map'](([_0x527097,_0x43bdd5])=>_0x527097+'('+_0x43bdd5['score']+')')[_0x59fd02(0x1b3)](',\x20');_0x391720+=_0x14041f+'\x20|\x20Strengths:\x20'+(_0x620678[_0x59fd02(0x190)]?.[_0x59fd02(0x1b3)](',\x20')||'N/A')+'\x0a';}),_0x391720;}async[a0_0x5e7866(0x1d5)](_0x50e1a3,_0x4c9466={}){const _0x2a2d24=a0_0x5e7866;try{const _0x4895c4=await this[_0x2a2d24(0x195)][_0x2a2d24(0x1d6)](this['routerModel'],_0x50e1a3,{'agentId':_0x2a2d24(0x1cd),'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[_0x2a2d24(0x1e1)],'sessionId':_0x4c9466[_0x2a2d24(0x1d0)],'apiKey':_0x4c9466['apiKey']||this[_0x2a2d24(0x1c6)][_0x2a2d24(0x1af)],'customApiKeys':_0x4c9466['customApiKeys'],'platformProvided':!![]});if(!_0x4895c4[_0x2a2d24(0x196)])throw new Error('No response content from autopilot-model-router');const _0x5346ad=this[_0x2a2d24(0x1b2)](_0x4895c4[_0x2a2d24(0x196)]);return _0x5346ad;}catch(_0x386417){this['logger'][_0x2a2d24(0x1e0)](_0x2a2d24(0x1ad),{'error':_0x386417['message'],'routerModel':this['routerModel']});throw _0x386417;}}[a0_0x5e7866(0x1b2)](_0xeafabb){const _0x8d4ece=a0_0x5e7866;try{const _0x2ae2c5=_0xeafabb[_0x8d4ece(0x1c2)](/\{[\s\S]*\}/);if(!_0x2ae2c5)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x130571=JSON[_0x8d4ece(0x19c)](_0x2ae2c5[0x0]);if(!_0x130571[_0x8d4ece(0x1d3)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x130571['selectedModel'],'taskType':_0x130571[_0x8d4ece(0x1e3)]||'unknown','confidence':_0x130571['confidence']||0.5,'reasoning':_0x130571[_0x8d4ece(0x1bb)]||_0x8d4ece(0x1ce),'factors':_0x130571[_0x8d4ece(0x1d4)]||[]};}catch(_0x38065c){return this['logger'][_0x8d4ece(0x1b1)](_0x8d4ece(0x1c0),{'error':_0x38065c[_0x8d4ece(0x1a6)],'content':_0xeafabb[_0x8d4ece(0x199)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x8d4ece(0x1c1),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x8d4ece(0x1be)]};}}['_validateModelSelection'](_0x4e211b,_0x35f3ab,_0x996c91){const _0x38a52d=a0_0x5e7866,{selectedModel:_0x4edd65}=_0x4e211b;if(!_0x4edd65)return this['logger'][_0x38a52d(0x1b0)](_0x38a52d(0x1bd)),_0x996c91;if(!_0x35f3ab[_0x38a52d(0x1ba)](_0x4edd65))return this[_0x38a52d(0x1de)]['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x4edd65,'availableModels':_0x35f3ab}),_0x996c91;return _0x4edd65;}[a0_0x5e7866(0x19b)](){const _0x282cda=a0_0x5e7866;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x282cda(0x1b4)],'requestTimeout':this[_0x282cda(0x1e1)],'benchmarkServiceStatus':this['benchmarkService'][_0x282cda(0x19b)](),'isAvailable':!![]};}async[a0_0x5e7866(0x1b7)](){const _0xeda8bb=a0_0x5e7866;try{const _0x44465d={'content':_0xeda8bb(0x1d1),'role':'user'},_0x43d8a6=await this[_0xeda8bb(0x1a3)](_0x44465d,[],MODELS['ANTHROPIC_SONNET'],[MODELS[_0xeda8bb(0x1d2)],MODELS['ANTHROPIC_OPUS'],MODELS['GPT_4'],MODELS[_0xeda8bb(0x1cb)]],{'apiKey':_0xeda8bb(0x1ca)});return this[_0xeda8bb(0x1de)]['info'](_0xeda8bb(0x1d7),{'selectedModel':_0x43d8a6}),{'success':!![],'selectedModel':_0x43d8a6};}catch(_0x2b17b2){return this['logger'][_0xeda8bb(0x1e0)]('Router\x20test\x20failed',{'error':_0x2b17b2[_0xeda8bb(0x1a6)]}),{'success':![],'error':_0x2b17b2[_0xeda8bb(0x1a6)]};}}}function a0_0x422a(_0x305022,_0x16d4d6){_0x305022=_0x305022-0x190;const _0x23c129=a0_0x23c1();let _0x422af8=_0x23c129[_0x305022];if(a0_0x422a['TlKNRG']===undefined){var _0x37dcf1=function(_0x5961b9){const _0x196b45='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c5e24='',_0xb102da='';for(let _0x26cbc9=0x0,_0x1e2fbd,_0x12445f,_0x2dbf6c=0x0;_0x12445f=_0x5961b9['charAt'](_0x2dbf6c++);~_0x12445f&&(_0x1e2fbd=_0x26cbc9%0x4?_0x1e2fbd*0x40+_0x12445f:_0x12445f,_0x26cbc9++%0x4)?_0x4c5e24+=String['fromCharCode'](0xff&_0x1e2fbd>>(-0x2*_0x26cbc9&0x6)):0x0){_0x12445f=_0x196b45['indexOf'](_0x12445f);}for(let _0x390492=0x0,_0x3cc8bd=_0x4c5e24['length'];_0x390492<_0x3cc8bd;_0x390492++){_0xb102da+='%'+('00'+_0x4c5e24['charCodeAt'](_0x390492)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb102da);};a0_0x422a['tZIsoS']=_0x37dcf1,a0_0x422a['hZWSSa']={},a0_0x422a['TlKNRG']=!![];}const _0x4ed189=_0x23c129[0x0],_0x4e06f9=_0x305022+_0x4ed189,_0x2b9284=a0_0x422a['hZWSSa'][_0x4e06f9];return!_0x2b9284?(_0x422af8=a0_0x422a['tZIsoS'](_0x422af8),a0_0x422a['hZWSSa'][_0x4e06f9]=_0x422af8):_0x422af8=_0x2b9284,_0x422af8;}function a0_0x23c1(){const _0xc96036=['zw50CMLLCW','BgvUz3rO','mZKXnZu4ntbkrMXtqxC','DgvZDc1RzxK','revfufnfruTFuJe','kIOGka','Bw9KzwWTCM91DgvY','tM8GCMvHC29UAw5NihbYB3zPzgvK','mti1mdi1ndrXzLzmqxO','C2vZC2LVBKLK','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','qu5usfjpueLdx1nptK5fva','C2vSzwn0zwrnB2rLBa','zMfJDg9YCW','x2fZA0zVCLjVDxrPBMC','C2vUze1LC3nHz2u','uM91DgvYihrLC3qGy29TCgXLDgvK','AgfZq29UDgv4DfjLzMvYzw5Jzxm','CM9Szq','Bw9KzwXZ','mJq5nJm2qMj0BMfi','y3vYCMvUDe1VzgvS','mta5mdq4mMjuB0r0EG','Bg9Nz2vY','y3vYCMvUDe1LC3nHz2u','zxjYB3i','CMvXDwvZDfrPBwvVDxq','BMfTzq','DgfZA1r5Cgu','C3rYzw5NDgHZ','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','mJy1ndmYmfrwzKrqrW','Aw5MBW','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','ywLtzxj2AwnL','y29UDgvUDa','y29UDgv4DfjLzMvYzw5Jzxm','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','C3vIC3rYAw5N','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','z2v0u3rHDhvZ','CgfYC2u','ntiZmZC3mMndvurPzG','y29UDgv4Dfr5CgvZ','uKvrvuvtvf9usu1ft1vu','mJzLtNHVCfq','Dg9Wtw9KzwXZ','cI0GkIPnzxnZywDLienVDw50kIO6ia','CM91DgvnzxnZywDL','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','x2nYzwf0zvjVDxrPBMDqCM9TChq','BwvZC2fNzq','n0T2B0LSwq','zM9YrwfJAa','BwfW','DhLWzq','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','mtiYmte1odDereD4r0K','yxv0B3bPBg90lw1VzgvSlxjVDxrLCIbYB3v0Aw5NihjLCxvLC3qGzMfPBgvK','BwvZC2fNzunVDw50','yxbPs2v5','zgvIDwC','D2fYBG','x3bHCNnLuM91DgLUz1jLC3bVBNnL','AM9PBG','y29UDgv4De1LC3nHz2vZq291BNq','nLvyue9SBq','zgvZy3jPChrPB24','DgvZDfjVDxrLCG','DgfZA3m','yMvUy2HTyxjRu2vYDMLJzq','Aw5JBhvKzxm','CMvHC29UAw5N','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','CgfYC2LUzY1LCNjVCG','Dg9vChbLCKnHC2u','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','Dw5RBM93BG','Bwf0y2G','kIO6ia','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','y29UzMLN'];a0_0x23c1=function(){return _0xc96036;};return a0_0x23c1();}export default ModelRouterService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5bfa33=a0_0x262f;(function(_0x387212,_0xdf6be1){const _0x511d4f=a0_0x262f,_0x466157=_0x387212();while(!![]){try{const _0x57e579=-parseInt(_0x511d4f(0x14a))/0x1+-parseInt(_0x511d4f(0x158))/0x2+-parseInt(_0x511d4f(0x155))/0x3+-parseInt(_0x511d4f(0x15c))/0x4*(parseInt(_0x511d4f(0x149))/0x5)+-parseInt(_0x511d4f(0x16e))/0x6+parseInt(_0x511d4f(0x15e))/0x7*(parseInt(_0x511d4f(0x168))/0x8)+parseInt(_0x511d4f(0x14b))/0x9;if(_0x57e579===_0xdf6be1)break;else _0x466157['push'](_0x466157['shift']());}catch(_0x365dda){_0x466157['push'](_0x466157['shift']());}}}(a0_0x516d,0x50209));class ModelsService{constructor(_0x1874e3,_0x19fc90){const _0x14f6bb=a0_0x262f;this['config']=_0x1874e3,this['logger']=_0x19fc90,this[_0x14f6bb(0x15b)]=null,this[_0x14f6bb(0x164)]=null,this[_0x14f6bb(0x16d)]=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x14f6bb(0x166)]=_0x1874e3[_0x14f6bb(0x166)]||'http://localhost:8080',this['retryAttempts']=0x0,this[_0x14f6bb(0x146)]=0x3,this[_0x14f6bb(0x156)]=0x7d0,this[_0x14f6bb(0x151)]=null,this['lastError']=null,this[_0x14f6bb(0x163)]=null;}[a0_0x5bfa33(0x160)](_0xdcb54f){const _0x312040=a0_0x5bfa33;this[_0x312040(0x163)]=_0xdcb54f,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20models\x20service',{'hasManager':!!_0xdcb54f});}async['initialize'](){const _0x1da698=a0_0x5bfa33;try{await this['fetchModels'](),this[_0x1da698(0x167)]['info'](_0x1da698(0x14d),{'modelCount':this[_0x1da698(0x15b)]?.[_0x1da698(0x147)]||0x0});}catch(_0x3a9639){this['lastError']=_0x3a9639['message'],this['logger'][_0x1da698(0x159)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x3a9639[_0x1da698(0x16c)],'endpoint':this[_0x1da698(0x166)]+_0x1da698(0x148),'willRetry':!![]}),this[_0x1da698(0x15a)]();}}[a0_0x5bfa33(0x144)](){const _0x488846=a0_0x5bfa33;if(!this[_0x488846(0x15b)]||this[_0x488846(0x15b)]['length']===0x0)return this[_0x488846(0x167)]['error']('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),[];return this[_0x488846(0x15b)][_0x488846(0x165)](_0x2f1fd2=>_0x2f1fd2['name']);}[a0_0x5bfa33(0x174)](){const _0x3b5cac=a0_0x5bfa33;if(!this[_0x3b5cac(0x15b)]||this['models']['length']===0x0)return this[_0x3b5cac(0x167)]['error'](_0x3b5cac(0x169),{'lastError':this['lastError'],'endpoint':this[_0x3b5cac(0x166)]+_0x3b5cac(0x148)}),[];return this['models'];}async[a0_0x5bfa33(0x15d)](_0x49117b=null){const _0x5728c5=a0_0x5bfa33;if(this[_0x5728c5(0x16d)]){this['logger'][_0x5728c5(0x145)](_0x5728c5(0x152));return;}this['isLoading']=!![];try{const _0x39c56f=this[_0x5728c5(0x166)]+_0x5728c5(0x148);let _0x2f13fc=null;if(this['apiKeyManager']&&_0x49117b&&_0x49117b['sessionId']){const _0x1c41d6=this[_0x5728c5(0x163)][_0x5728c5(0x161)](_0x49117b['sessionId'],{'platformProvided':!![],'vendor':null});_0x2f13fc=_0x1c41d6['loxiaApiKey'],this[_0x5728c5(0x167)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x49117b['sessionId'],'hasLoxiaKey':!!_0x2f13fc});}if(!_0x2f13fc&&_0x49117b&&_0x49117b['apiKey'])_0x2f13fc=_0x49117b['apiKey'];else{if(!_0x2f13fc&&this['config']['apiKey'])_0x2f13fc=this['config'][_0x5728c5(0x153)];else!_0x2f13fc&&process[_0x5728c5(0x16b)]['LOXIA_API_KEY']&&(_0x2f13fc=process['env']['LOXIA_API_KEY']);}const _0x53220a={'method':'GET','headers':{'Content-Type':_0x5728c5(0x172),..._0x2f13fc&&{'Authorization':'Bearer\x20'+_0x2f13fc}},'timeout':0x2710};this['logger'][_0x5728c5(0x145)]('Fetching models from backend',{'url':_0x39c56f,'hasApiKey':!!_0x2f13fc,'apiKeySource':_0x49117b?.['apiKey']?'context':this['config']['apiKey']?_0x5728c5(0x14c):process[_0x5728c5(0x16b)]['LOXIA_API_KEY']?'env':_0x5728c5(0x14f)});const _0x541d55=await fetch(_0x39c56f,_0x53220a);if(!_0x541d55['ok'])throw new Error('HTTP\x20'+_0x541d55['status']+':\x20'+_0x541d55[_0x5728c5(0x14e)]);const _0x176e3e=await _0x541d55[_0x5728c5(0x162)]();if(_0x176e3e['models']&&Array['isArray'](_0x176e3e['models']))this['models']=_0x176e3e[_0x5728c5(0x15b)],this['lastFetched']=new Date(),this['needsRefresh']=![],this[_0x5728c5(0x167)][_0x5728c5(0x154)]('Models fetched from backend',{'modelCount':this['models'][_0x5728c5(0x147)],'models':this['models'][_0x5728c5(0x165)](_0x4f0557=>_0x4f0557[_0x5728c5(0x16f)])});else throw new Error('Invalid response format from models API');}catch(_0x4007c7){this[_0x5728c5(0x171)]=_0x4007c7['message'],this['logger'][_0x5728c5(0x159)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x4007c7['message'],'endpoint':url,'retryAttempt':this[_0x5728c5(0x173)],'maxRetries':this['maxRetries']}),this['_scheduleRetry'](_0x49117b);if(!this['models'])throw _0x4007c7;}finally{this['isLoading']=![];}}['needsRefresh'](){const _0x2c35a7=a0_0x5bfa33;if(!this['lastFetched'])return!![];const _0x3cc637=Date[_0x2c35a7(0x170)]()-this['lastFetched']['getTime']();return _0x3cc637>this['cacheExpiry'];}async[a0_0x5bfa33(0x150)](_0x52ae96=null){const _0x501559=a0_0x5bfa33;this['logger']['info']('Force\x20refreshing\x20models'),await this[_0x501559(0x15d)](_0x52ae96);}async['refreshWithContext'](_0x273506){const _0x494b12=a0_0x5bfa33;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x494b12(0x167)]['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this['fetchModels'](_0x273506));}[a0_0x5bfa33(0x15a)](_0x12c0da=null){const _0x583a89=a0_0x5bfa33;this[_0x583a89(0x151)]&&(clearTimeout(this['retryTimer']),this[_0x583a89(0x151)]=null);if(this['retryAttempts']>=this[_0x583a89(0x146)]){this[_0x583a89(0x167)][_0x583a89(0x159)]('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this[_0x583a89(0x171)]});return;}const _0x54bf43=this[_0x583a89(0x156)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this[_0x583a89(0x167)][_0x583a89(0x154)]('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0x583a89(0x146)],'delayMs':_0x54bf43}),this[_0x583a89(0x151)]=setTimeout(async()=>{const _0x22b293=_0x583a89;this[_0x22b293(0x167)]['info']('Executing\x20scheduled\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x12c0da),this['retryAttempts']=0x0,this[_0x22b293(0x171)]=null;}catch(_0x4d33f5){this['logger'][_0x22b293(0x157)](_0x22b293(0x143),{'attempt':this['retryAttempts'],'error':_0x4d33f5['message']});}},_0x54bf43);}['_cancelRetry'](){const _0x1a99c9=a0_0x5bfa33;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null,this['logger'][_0x1a99c9(0x145)](_0x1a99c9(0x15f)));}['getStatus'](){const _0x4a4892=a0_0x5bfa33;return{'initialized':!!this['models'],'lastFetched':this['lastFetched']?.['toISOString']()||null,'modelCount':this[_0x4a4892(0x15b)]?.['length']||0x0,'isLoading':this[_0x4a4892(0x16d)],'needsRefresh':this[_0x4a4892(0x16a)](),'error':this[_0x4a4892(0x171)]||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}function a0_0x516d(){const _0x3d2af3=['ANnVBG','yxbPs2v5twfUywDLCG','BgfZDezLDgnOzwq','BwfW','yMfJA2vUzfvYBa','Bg9Nz2vY','mZjeDKn4Aue','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','BMvLzhnszwzYzxnO','zw52','BwvZC2fNzq','AxnmB2fKAw5N','mJm4mJeYnMPqEvjhAG','BMfTzq','BM93','BgfZDevYCM9Y','yxbWBgLJyxrPB24VANnVBG','CMv0CNLbDhrLBxb0CW','z2v0tw9KzwXZ','uMv0CNKGyxr0zw1WDcbMywLSzwq','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','zgvIDwC','Bwf4uMv0CMLLCW','BgvUz3rO','l2fWAs9SBg0VBw9KzwXZ','mJbbD1jHvw8','mtKXmJiZtKv2yMTf','nZy4otCZnxHKsM1luW','y29UzMLN','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','C3rHDhvZvgv4Da','BM9Uzq','CMvMCMvZAa','CMv0CNLuAw1LCG','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','yxbPs2v5','Aw5MBW','ndiZndj1rhvZB2q','CMv0CNLezwXHEq','D2fYBG','nZG2ndy0svn4ALLj','zxjYB3i','x3nJAgvKDwXLuMv0CNK','Bw9KzwXZ','mtuYmJq4r3byvvz3','zMv0y2HnB2rLBhm','mta4nZG0mMXdyNvnCq','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','C2v0qxbPs2v5twfUywDLCG','z2v0s2v5C0zVCLjLCxvLC3q'];a0_0x516d=function(){return _0x3d2af3;};return a0_0x516d();}function a0_0x262f(_0x5592f3,_0x435e92){_0x5592f3=_0x5592f3-0x143;const _0x516d9f=a0_0x516d();let _0x262f9b=_0x516d9f[_0x5592f3];if(a0_0x262f['HmrDGA']===undefined){var _0x28add8=function(_0x29d191){const _0x5c5653='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1874e3='',_0x19fc90='';for(let _0xdcb54f=0x0,_0x3a9639,_0x2f1fd2,_0x49117b=0x0;_0x2f1fd2=_0x29d191['charAt'](_0x49117b++);~_0x2f1fd2&&(_0x3a9639=_0xdcb54f%0x4?_0x3a9639*0x40+_0x2f1fd2:_0x2f1fd2,_0xdcb54f++%0x4)?_0x1874e3+=String['fromCharCode'](0xff&_0x3a9639>>(-0x2*_0xdcb54f&0x6)):0x0){_0x2f1fd2=_0x5c5653['indexOf'](_0x2f1fd2);}for(let _0x39c56f=0x0,_0x2f13fc=_0x1874e3['length'];_0x39c56f<_0x2f13fc;_0x39c56f++){_0x19fc90+='%'+('00'+_0x1874e3['charCodeAt'](_0x39c56f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19fc90);};a0_0x262f['kUJjTk']=_0x28add8,a0_0x262f['oKKISD']={},a0_0x262f['HmrDGA']=!![];}const _0x570200=_0x516d9f[0x0],_0x21cfde=_0x5592f3+_0x570200,_0x51a98c=a0_0x262f['oKKISD'][_0x21cfde];return!_0x51a98c?(_0x262f9b=a0_0x262f['kUJjTk'](_0x262f9b),a0_0x262f['oKKISD'][_0x21cfde]=_0x262f9b):_0x262f9b=_0x51a98c,_0x262f9b;}export default ModelsService;
|