@loxia-labs/loxia-autopilot-one 1.0.17 → 1.0.18
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-DL2-PyNX.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_0x2fe454=a0_0x3b8d;function a0_0x3b8d(_0x364a5c,_0x245f35){_0x364a5c=_0x364a5c-0x9d;const _0x56ba5c=a0_0x56ba();let _0x3b8dcd=_0x56ba5c[_0x364a5c];if(a0_0x3b8d['KHfmKT']===undefined){var _0x5c32f9=function(_0x4c30b9){const _0x488a78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53143c='',_0x3036f2='';for(let _0x533c32=0x0,_0x2377d8,_0x2c9ea1,_0x3e1030=0x0;_0x2c9ea1=_0x4c30b9['charAt'](_0x3e1030++);~_0x2c9ea1&&(_0x2377d8=_0x533c32%0x4?_0x2377d8*0x40+_0x2c9ea1:_0x2c9ea1,_0x533c32++%0x4)?_0x53143c+=String['fromCharCode'](0xff&_0x2377d8>>(-0x2*_0x533c32&0x6)):0x0){_0x2c9ea1=_0x488a78['indexOf'](_0x2c9ea1);}for(let _0x48ee82=0x0,_0x596227=_0x53143c['length'];_0x48ee82<_0x596227;_0x48ee82++){_0x3036f2+='%'+('00'+_0x53143c['charCodeAt'](_0x48ee82)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3036f2);};a0_0x3b8d['jdkQJf']=_0x5c32f9,a0_0x3b8d['LFOyhs']={},a0_0x3b8d['KHfmKT']=!![];}const _0x4804eb=_0x56ba5c[0x0],_0x2a2fe0=_0x364a5c+_0x4804eb,_0x1ce840=a0_0x3b8d['LFOyhs'][_0x2a2fe0];return!_0x1ce840?(_0x3b8dcd=a0_0x3b8d['jdkQJf'](_0x3b8dcd),a0_0x3b8d['LFOyhs'][_0x2a2fe0]=_0x3b8dcd):_0x3b8dcd=_0x1ce840,_0x3b8dcd;}(function(_0x270748,_0x233f02){const _0x5bda45=a0_0x3b8d,_0x1bc226=_0x270748();while(!![]){try{const _0x36dd95=parseInt(_0x5bda45(0xd5))/0x1+-parseInt(_0x5bda45(0xe2))/0x2*(-parseInt(_0x5bda45(0xb6))/0x3)+parseInt(_0x5bda45(0xc1))/0x4+parseInt(_0x5bda45(0xc9))/0x5+-parseInt(_0x5bda45(0xc5))/0x6*(-parseInt(_0x5bda45(0xab))/0x7)+parseInt(_0x5bda45(0xc4))/0x8+-parseInt(_0x5bda45(0xc8))/0x9;if(_0x36dd95===_0x233f02)break;else _0x1bc226['push'](_0x1bc226['shift']());}catch(_0x5e4196){_0x1bc226['push'](_0x1bc226['shift']());}}}(a0_0x56ba,0xc4822));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';function a0_0x56ba(){const _0x10736a=['y29TCgfJDgLVBK1VzgvSsw5KzxG','u1vntufssvPbveLptG','ywLtzxj2AwnL','nda4mJmWmgPQzwjguG','zw5K','C3rYyxrLz3K','nZmWotGXnKTqCerUCq','ntrhuxjdzuK','xqOk','DhjPBq','mtK0ody1mJfctxn4y0y','oteYnZu1quLszhbe','D2fYBG','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','ywDNCMvZC2L2zq','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','Bg9Nz2vY','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','BgvUz3rO','nZmWndr2EvbQD0q','q09nuefdveLptL9nt0rftfm','Aw5JBhvKzxm','C2vZC2LVBKLK','B25bBgXnB2rLBhnfEgHHDxn0zwq','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','BwLKzgXLrw5Ksw5KzxG','AM9PBG','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcWGDhj5Aw5Nig5LEhqGBw9KzwWGAw4GCM90yxrPB24','z2v0tw9KzwXdB250zxH0v2LUzg93','yxnZAxn0yw50','Dg9gAxHLza','mJK2mK55uxDZuq','C2XPy2u','BwvZC2fNzq','yMvNAw5UAw5N','CMf0zsbSAw1PDa','B3jPz2LUywXuB2TLBKnVDw50','vg9VigzLDYbTzxnZywDLCW','DxnLCG','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','Dg9ju09tDhjPBMC','C3vTBwfYEq','x2LKzw50Awz5u2vNBwvUDhm','x2DLBMvYyxrLu3vTBwfYEq','qwXSignVBxbHy3rPB24GBw9KzwXZigv4Agf1C3rLza','CMvWBgfJzq','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','ig1LC3nHz2vZ','B3jPz2LUywWGBwvZC2fNzxmG','y29TCgfJDgvKvg9Rzw5dB3vUDa','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','CM9Szq','y29TCgfJDenVBNzLCNnHDgLVBG','BwLKzgXLu3rHCNrjBMrLEa','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','q0fdseve','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','ChvZAa','x2fKDMfUy2vdB21Wywn0Aw9Utw9KzwXjBMrLEa','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','DgLTzxn0yw1W','ndyWnta5CuPvu2jH','C3LZDgvT','qundvvjbveu','y29UDgvUDa','zMLSDgvY','AxnsyxrLtgLTAxrjC3n1zq','zMXVB3i','x2DLDe5LEhrdB21Wywn0Aw9Utw9KzwW','q29UDMvYC2f0Aw9UignVBxbHy3rPB24GzMfPBgvKoIbbBgWG','AxnszxrYEq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','mZGXEgTIrMjR','q29TCgfJDgLVBIbMywLSzwq','AxnbCNjHEq','ihvZzxiGBwvZC2fNzxmSia','ru5ex1nfr01ftLrFuevsq0vovefhrq','BwLKzgXL','BM93','y291BNruB2TLBNm'];a0_0x56ba=function(){return _0x10736a;};return a0_0x56ba();}class ConversationCompactionService{constructor(_0x53143c,_0x3036f2,_0x533c32){const _0xbe4420=a0_0x3b8d;this['tokenCountingService']=_0x53143c,this[_0xbe4420(0xc0)]=_0x3036f2,this[_0xbe4420(0xce)]=_0x533c32,this[_0xbe4420(0xbe)]=0x0,this['summaryPromptTemplate']=this[_0xbe4420(0xd1)]();}['_getNextCompactionModel'](_0x2377d8=0x0){const _0x5207cc=a0_0x3b8d,_0x2c9ea1=COMPACTION_CONFIG[_0x5207cc(0xd6)]||[];if(_0x2c9ea1[_0x5207cc(0xd4)]===0x0)throw new Error('No\x20compaction\x20models\x20configured');const _0x3e1030=(this['compactionModelIndex']+_0x2377d8)%_0x2c9ea1[_0x5207cc(0xd4)];return _0x2c9ea1[_0x3e1030];}[a0_0x2fe454(0xa8)](){const _0x3f7f51=a0_0x2fe454,_0x48ee82=COMPACTION_CONFIG['COMPACTION_MODELS']||[];this[_0x3f7f51(0xbe)]=(this['compactionModelIndex']+0x1)%_0x48ee82[_0x3f7f51(0xd4)];}async[a0_0x2fe454(0xa2)](_0x596227,_0x1b008b,_0x29ed2f,_0x33a321={}){const _0x391744=a0_0x2fe454,_0x477af6=Date['now']();try{if(!Array[_0x391744(0xb8)](_0x596227)||_0x596227[_0x391744(0xd4)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x596227[_0x391744(0xd4)]<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0x391744(0xce)]['warn']('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x596227[_0x391744(0xd4)],'minimum':COMPACTION_CONFIG[_0x391744(0xa4)]}),{'compactedMessages':_0x596227,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x391744(0xe8)};const _0x3e916d=_0x1b008b!==_0x29ed2f,_0x3f7179=_0x33a321[_0x391744(0xb4)]||![];let _0x2e4398;if(_0x3e916d)_0x2e4398=COMPACTION_STRATEGIES['TRUNCATION'];else _0x3f7179?_0x2e4398=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x2e4398=_0x33a321['strategy']||COMPACTION_STRATEGIES[_0x391744(0xbf)];this[_0x391744(0xce)]['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x596227[_0x391744(0xd4)],'currentModel':_0x1b008b,'targetModel':_0x29ed2f,'strategy':_0x2e4398,'isModelSwitch':_0x3e916d,'isRetry':_0x3f7179});let _0x6dd591;switch(_0x2e4398){case COMPACTION_STRATEGIES[_0x391744(0xbf)]:_0x6dd591=await this[_0x391744(0xea)](_0x596227,_0x1b008b,_0x33a321);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x6dd591=await this['_compactWithTruncation'](_0x596227,_0x29ed2f,_0x33a321);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x6dd591=await this[_0x391744(0xb5)](_0x596227,_0x1b008b,_0x33a321);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x2e4398);}const _0x4f0519=Date['now']()-_0x477af6;return _0x6dd591['executionTime']=_0x4f0519,_0x6dd591[_0x391744(0xaa)]=new Date()[_0x391744(0xeb)](),this['logger']['info'](_0x391744(0xcf),{'strategy':_0x6dd591[_0x391744(0xc3)],'originalMessages':_0x596227['length'],'compactedMessages':_0x6dd591['compactedMessages']['length'],'originalTokens':_0x6dd591[_0x391744(0xe7)],'compactedTokens':_0x6dd591[_0x391744(0x9f)],'reductionPercent':_0x6dd591['reductionPercent']['toFixed'](0x2),'executionTime':_0x4f0519+'ms'}),_0x6dd591;}catch(_0x188365){const _0x44789d=Date[_0x391744(0xbc)]()-_0x477af6;this[_0x391744(0xce)]['error'](_0x391744(0xb7),{'error':_0x188365['message'],'messageCount':_0x596227[_0x391744(0xd4)],'currentModel':_0x1b008b,'targetModel':_0x29ed2f,'executionTime':_0x44789d+'ms'});throw _0x188365;}}async['_compactWithSummarization'](_0x3c6316,_0x23efb4,_0x4e5ad1){const _0x360eda=a0_0x2fe454,_0x3f3a4a=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x414bc4=await this[_0x360eda(0xa0)]['estimateConversationTokens'](_0x3c6316,_0x23efb4,TOKEN_COUNTING_MODES[_0x360eda(0xad)]),_0xcf8d5b=await this[_0x360eda(0xed)](_0x3c6316,_0x23efb4,COMPACTION_CONFIG[_0x360eda(0xda)],COMPACTION_CONFIG[_0x360eda(0xba)]);this[_0x360eda(0xce)]['debug']('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0xcf8d5b[_0x360eda(0xe5)][_0x360eda(0xd4)],'middleMessages':_0xcf8d5b['middle'][_0x360eda(0xd4)],'endMessages':_0xcf8d5b['end']['length'],'middleStartIndex':_0xcf8d5b['middleStartIndex'],'middleEndIndex':_0xcf8d5b['middleEndIndex'],'totalMessages':_0x3c6316['length']});const _0x49de48=await this['_generateSummary'](_0xcf8d5b['middle'],_0x23efb4,{..._0x4e5ad1,'middleStartIndex':_0xcf8d5b['middleStartIndex'],'middleEndIndex':_0xcf8d5b['middleEndIndex']}),_0x2102cf=[..._0xcf8d5b['beginning'],_0x49de48,..._0xcf8d5b['end']],_0x21d280=await this['tokenCountingService'][_0x360eda(0xa9)](_0x2102cf,_0x23efb4,TOKEN_COUNTING_MODES['ACCURATE']),_0x5913a6=(_0x414bc4-_0x21d280)/_0x414bc4*0x64;return{'compactedMessages':_0x2102cf,'strategy':_0x3f3a4a,'originalTokenCount':_0x414bc4,'compactedTokenCount':_0x21d280,'reductionPercent':_0x5913a6,'segments':{'beginningCount':_0xcf8d5b['beginning'][_0x360eda(0xd4)],'middleCount':_0xcf8d5b[_0x360eda(0xbb)][_0x360eda(0xd4)],'endCount':_0xcf8d5b[_0x360eda(0xc2)]['length'],'summaryInserted':!![]}};}async[a0_0x2fe454(0xcb)](_0x1c726e,_0x5ef34f,_0xe410bc){const _0x52985a=a0_0x2fe454,_0x597605=COMPACTION_STRATEGIES['TRUNCATION'],_0xd23856=this['tokenCountingService'][_0x52985a(0xdf)](_0x5ef34f),_0x3b01bc=Math[_0x52985a(0xb1)](_0xd23856*0.8),_0x3ddcf0=await this['tokenCountingService'][_0x52985a(0xa9)](_0x1c726e,_0x5ef34f,TOKEN_COUNTING_MODES['ACCURATE']),_0x585e93=await this['_identifySegments'](_0x1c726e,_0x5ef34f,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x52985a(0xd2)]);this[_0x52985a(0xce)]['debug'](_0x52985a(0xa6),{'beginningMessages':_0x585e93['beginning']['length'],'middleMessages':_0x585e93['middle'][_0x52985a(0xd4)],'endMessages':_0x585e93['end'][_0x52985a(0xd4)],'targetTokenCount':_0x3b01bc,'originalTokenCount':_0x3ddcf0});const _0x37d582={'role':'system','content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x585e93[_0x52985a(0xbb)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x491adc=[..._0x585e93[_0x52985a(0xe5)],_0x37d582,..._0x585e93['end']],_0x935392=await this['tokenCountingService'][_0x52985a(0xa9)](_0x491adc,_0x5ef34f,TOKEN_COUNTING_MODES['ACCURATE']),_0x22f447=(_0x3ddcf0-_0x935392)/_0x3ddcf0*0x64;return{'compactedMessages':_0x491adc,'strategy':_0x597605,'originalTokenCount':_0x3ddcf0,'compactedTokenCount':_0x935392,'reductionPercent':_0x22f447,'segments':{'beginningCount':_0x585e93['beginning']['length'],'middleCount':_0x585e93[_0x52985a(0xbb)]['length'],'endCount':_0x585e93['end']['length'],'summaryInserted':![]}};}async[a0_0x2fe454(0xb5)](_0x5cb010,_0x12a823,_0x2b8cde){const _0x3067cd=a0_0x2fe454,_0x934186=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x9b5c23=await this[_0x3067cd(0xa0)]['estimateConversationTokens'](_0x5cb010,_0x12a823,TOKEN_COUNTING_MODES['ACCURATE']),_0x49fd99=await this[_0x3067cd(0xed)](_0x5cb010,_0x12a823,COMPACTION_CONFIG[_0x3067cd(0xf2)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x3067cd(0xce)]['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x49fd99['beginning'][_0x3067cd(0xd4)],'middleMessages':_0x49fd99['middle']['length'],'endMessages':_0x49fd99['end']['length'],'middleStartIndex':_0x49fd99[_0x3067cd(0xa3)],'middleEndIndex':_0x49fd99['middleEndIndex']});const _0x3ff3bb=await this[_0x3067cd(0xee)](_0x49fd99[_0x3067cd(0xbb)],_0x12a823,{..._0x2b8cde,'aggressive':!![],'middleStartIndex':_0x49fd99['middleStartIndex'],'middleEndIndex':_0x49fd99['middleEndIndex']}),_0x1992ee=[..._0x49fd99['beginning'],_0x3ff3bb,..._0x49fd99['end']],_0x504c4e=await this['tokenCountingService'][_0x3067cd(0xa9)](_0x1992ee,_0x12a823,TOKEN_COUNTING_MODES[_0x3067cd(0xad)]),_0x316814=(_0x9b5c23-_0x504c4e)/_0x9b5c23*0x64;return{'compactedMessages':_0x1992ee,'strategy':_0x934186,'originalTokenCount':_0x9b5c23,'compactedTokenCount':_0x504c4e,'reductionPercent':_0x316814,'segments':{'beginningCount':_0x49fd99[_0x3067cd(0xe5)]['length'],'middleCount':_0x49fd99['middle']['length'],'endCount':_0x49fd99[_0x3067cd(0xc2)][_0x3067cd(0xd4)],'summaryInserted':!![]}};}async['_identifySegments'](_0x484ec5,_0x2232c7,_0x5ec096,_0x4edbda){const _0x5ccd36=a0_0x2fe454,_0x3f5e13=await this[_0x5ccd36(0xa0)]['estimateConversationTokens'](_0x484ec5,_0x2232c7,TOKEN_COUNTING_MODES['ACCURATE']),_0x2e217f=Math[_0x5ccd36(0xb1)](_0x3f5e13*_0x5ec096),_0x20c031=Math['floor'](_0x3f5e13*_0x4edbda);let _0x3a6846=0x0,_0x1e6c67=0x0;for(let _0x48cf83=0x0;_0x48cf83<_0x484ec5['length'];_0x48cf83++){const _0x53271e=await this[_0x5ccd36(0xa0)][_0x5ccd36(0xbd)](_0x484ec5[_0x48cf83][_0x5ccd36(0xae)],_0x2232c7,TOKEN_COUNTING_MODES['CACHED']);if(_0x3a6846+_0x53271e>_0x2e217f&&_0x48cf83>=0x2)break;_0x3a6846+=_0x53271e,_0x1e6c67=_0x48cf83+0x1;}let _0x4e881a=0x0,_0x4fc56b=_0x484ec5['length'];for(let _0x762b1c=_0x484ec5['length']-0x1;_0x762b1c>=0x0;_0x762b1c--){const _0x5416e2=await this['tokenCountingService'][_0x5ccd36(0xbd)](_0x484ec5[_0x762b1c][_0x5ccd36(0xae)],_0x2232c7,TOKEN_COUNTING_MODES[_0x5ccd36(0xa5)]);if(_0x4e881a+_0x5416e2>_0x20c031)break;_0x4e881a+=_0x5416e2,_0x4fc56b=_0x762b1c;}_0x4fc56b<_0x1e6c67&&(_0x4fc56b=_0x1e6c67);const _0x186386=_0x484ec5[_0x5ccd36(0xe3)](0x0,_0x1e6c67),_0x1b433a=_0x484ec5['slice'](_0x1e6c67,_0x4fc56b),_0xac7cfa=_0x484ec5['slice'](_0x4fc56b);return{'beginning':_0x186386,'middle':_0x1b433a,'end':_0xac7cfa,'middleStartIndex':_0x1e6c67,'middleEndIndex':_0x4fc56b-0x1};}async[a0_0x2fe454(0xee)](_0x2960d8,_0x2a3a4d,_0x1631b6={}){const _0x639be9=a0_0x2fe454;if(_0x2960d8[_0x639be9(0xd4)]===0x0)return{'role':_0x639be9(0xac),'content':COMPACTION_CONFIG[_0x639be9(0xd0)]+_0x639be9(0xd3),'type':_0x639be9(0xec),'timestamp':new Date()['toISOString']()};const _0x31132e=_0x2960d8['map'](_0x4688b5=>_0x4688b5['role']+':\x20'+_0x4688b5['content'])[_0x639be9(0xdc)]('\x0a\x0a'),_0x48ed7f=this['summaryPromptTemplate'][_0x639be9(0xf0)]('{middle_segment}',_0x31132e)[_0x639be9(0xf0)]('{aggressive_instruction}',_0x1631b6['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x1deb63=COMPACTION_CONFIG['COMPACTION_MODELS']||[],_0x409737=[];let _0x3cbe4d=null;for(let _0x407efa=0x0;_0x407efa<_0x1deb63['length'];_0x407efa++){const _0x3a3045=this[_0x639be9(0xb2)](_0x407efa);_0x409737[_0x639be9(0xa7)](_0x3a3045);try{this[_0x639be9(0xce)]['debug']('Generating\x20summary\x20(round-robin)',{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'totalModels':_0x1deb63['length'],'middleMessageCount':_0x2960d8[_0x639be9(0xd4)],'middleContentLength':_0x31132e['length'],'aggressive':_0x1631b6[_0x639be9(0xcc)]});const _0x166a14=await this['aiService']['sendMessage'](_0x3a3045,_0x48ed7f,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x1631b6[_0x639be9(0xd8)],'platformProvided':!![]}),_0x47bf24=_0x166a14['content'][_0x639be9(0xc7)](),_0x115316=_0x1631b6['middleStartIndex']!==undefined&&_0x1631b6[_0x639be9(0xdb)]!==undefined?'original\x20messages\x20'+_0x1631b6['middleStartIndex']+'-'+_0x1631b6[_0x639be9(0xdb)]:_0x2960d8['length']+'\x20messages';return this[_0x639be9(0xce)]['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'originalLength':_0x31132e[_0x639be9(0xd4)],'summaryLength':_0x47bf24[_0x639be9(0xd4)],'compressionRatio':(_0x47bf24[_0x639be9(0xd4)]/_0x31132e['length']*0x64)[_0x639be9(0xe1)](0x2)+'%','indexRange':_0x115316}),this[_0x639be9(0xa8)](),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x115316+']\x0a\x0a'+_0x47bf24+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x639be9(0xec),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2960d8[_0x639be9(0xd4)],'originalStartIndex':_0x1631b6[_0x639be9(0xa3)],'originalEndIndex':_0x1631b6[_0x639be9(0xdb)],'compactionModel':_0x3a3045,'aggressive':_0x1631b6[_0x639be9(0xcc)]||![]}};}catch(_0x39ec08){_0x3cbe4d=_0x39ec08;const _0x24e987=_0x39ec08[_0x639be9(0xe4)]?.['includes']('429')||_0x39ec08['message']?.[_0x639be9(0xd7)](_0x639be9(0xe6));this[_0x639be9(0xce)][_0x639be9(0xca)](_0x639be9(0xde),{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'remainingModels':_0x1deb63[_0x639be9(0xd4)]-_0x407efa-0x1,'isRateLimit':_0x24e987,'error':_0x39ec08['message'],'middleMessageCount':_0x2960d8['length']});}}const _0x4e0a4e={'modelsAttempted':_0x409737,'lastError':_0x3cbe4d?.['message'],'middleMessageCount':_0x2960d8[_0x639be9(0xd4)],'isRateLimitIssue':_0x3cbe4d?.[_0x639be9(0xe4)]?.['includes']('429')||_0x3cbe4d?.[_0x639be9(0xe4)]?.[_0x639be9(0xd7)](_0x639be9(0xe6))};this[_0x639be9(0xce)]['error'](_0x639be9(0xef),_0x4e0a4e);_0x1631b6['onAllModelsExhausted']&&_0x1631b6[_0x639be9(0xd9)]({'type':'compaction_models_exhausted','message':_0x639be9(0xb3)+_0x1deb63['length']+'\x20models\x20are\x20currently\x20unavailable.\x20'+(_0x4e0a4e[_0x639be9(0xb0)]?'Rate\x20limits\x20may\x20be\x20in\x20effect.':'')+'\x20Using\x20simplified\x20compaction.','models':_0x409737,'error':_0x3cbe4d?.[_0x639be9(0xe4)]});this[_0x639be9(0xa8)]();const _0x3a5576=this['_createFallbackSummary'](_0x2960d8),_0x32de0d=_0x1631b6['middleStartIndex']!==undefined&&_0x1631b6[_0x639be9(0xdb)]!==undefined?_0x639be9(0x9e)+_0x1631b6['middleStartIndex']+'-'+_0x1631b6['middleEndIndex']:_0x2960d8[_0x639be9(0xd4)]+_0x639be9(0x9d);return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x32de0d+_0x639be9(0xc6)+_0x3a5576+'\x0a\x0a'+COMPACTION_CONFIG[_0x639be9(0xf1)],'type':'summary','timestamp':new Date()[_0x639be9(0xeb)](),'metadata':{'originalMessageCount':_0x2960d8[_0x639be9(0xd4)],'originalStartIndex':_0x1631b6['middleStartIndex'],'originalEndIndex':_0x1631b6[_0x639be9(0xdb)],'fallback':!![],'error':_0x3cbe4d?.[_0x639be9(0xe4)],'modelsAttempted':_0x409737,'allModelsExhausted':!![]}};}[a0_0x2fe454(0xcd)](_0x1812a7){const _0x817ab9=a0_0x2fe454,_0x1cb4d0=_0x1812a7['length'],_0x2b4afd=_0x1812a7['map'](_0x24d255=>_0x24d255[_0x817ab9(0xa1)]),_0x34f3c9=_0x2b4afd[_0x817ab9(0xaf)](_0x599dbb=>_0x599dbb===_0x817ab9(0xe9))['length'],_0x2136b6=_0x2b4afd[_0x817ab9(0xaf)](_0xe3fb7d=>_0xe3fb7d===_0x817ab9(0xe0))[_0x817ab9(0xd4)];return'['+_0x1cb4d0+'\x20messages\x20summarized\x20-\x20'+_0x34f3c9+_0x817ab9(0xb9)+_0x2136b6+'\x20assistant\x20responses.\x20'+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x466107=a0_0x2fe454;return _0x466107(0xdd);}}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_0xd951(_0x429480,_0x6bf13d){_0x429480=_0x429480-0x1f4;const _0x5cd83b=a0_0x5cd8();let _0xd95180=_0x5cd83b[_0x429480];if(a0_0xd951['ZQkqSb']===undefined){var _0x52e7c5=function(_0x1ea555){const _0x326281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbcdd6e='',_0x563cef='';for(let _0x5b15ce=0x0,_0x84c93d,_0x41faae,_0x8d3ed3=0x0;_0x41faae=_0x1ea555['charAt'](_0x8d3ed3++);~_0x41faae&&(_0x84c93d=_0x5b15ce%0x4?_0x84c93d*0x40+_0x41faae:_0x41faae,_0x5b15ce++%0x4)?_0xbcdd6e+=String['fromCharCode'](0xff&_0x84c93d>>(-0x2*_0x5b15ce&0x6)):0x0){_0x41faae=_0x326281['indexOf'](_0x41faae);}for(let _0x15f52c=0x0,_0x12d807=_0xbcdd6e['length'];_0x15f52c<_0x12d807;_0x15f52c++){_0x563cef+='%'+('00'+_0xbcdd6e['charCodeAt'](_0x15f52c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563cef);};a0_0xd951['epKmAQ']=_0x52e7c5,a0_0xd951['lccpJX']={},a0_0xd951['ZQkqSb']=!![];}const _0x24e432=_0x5cd83b[0x0],_0x3fd0e0=_0x429480+_0x24e432,_0x2197fe=a0_0xd951['lccpJX'][_0x3fd0e0];return!_0x2197fe?(_0xd95180=a0_0xd951['epKmAQ'](_0xd95180),a0_0xd951['lccpJX'][_0x3fd0e0]=_0xd95180):_0xd95180=_0x2197fe,_0xd95180;}function a0_0x5cd8(){const _0x2dc68b=['mtCZotG0BfLwsejr','yxr0zw1WDfjLy292zxj5','zMLSzvbHDgG','B3bLCMf0Aw9U','AgfUzgXLq3jPDgLJywXfCNjVCG','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','DMfSAwrHDgLVBG','zw1PDa','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','oxP2CuzWEG','Dg9VBeLK','z2v0rxjYB3jtDgf0CW','zxjYB3jZqNLuExbL','y2fSy3vSyxrLuMv0CNLezwXHEq','mZiYnJC4nxbttNncvq','C3vJy2vZCW','qvvusevoveLdqvrjt05FrKfjteve','BMfTzq','C3vIC3rY','y3jPDgLJywXfCNjVCNm','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jrDwv1zq','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','Dg90ywXfCNjVCNm','DxbKyxrLrxjYB3jtDgf0CW','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','uKfurv9msu1jvf9fwenfrurfra','uevstuLtu0LptL9eru5jruq','zxjYB3jZqNLbz2vUDa','AxnszwnVDMvYywjSzq','DgLTzxn0yw1W','zMLSzv9VCgvYyxrPB24','nNLhtwX4sa','C3bSAwnL','Bg9Nz2vY','rxjYB3iGAgfUzgXPBMCGzMfPBgvK','ChjVy2vZC0vYCM9YuxvLDwu','Dg9ju09tDhjPBMC','z2v0','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','ota0mdGWuhbqy21J','C2v2zxjPDhK','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','rK9sqKLerevo','zxjYB3jtDgf0CW','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','y2XHC3nPzNLfCNjVCG','vKfmsurbveLptL9fuLjpuG','CMvJB3zLCMfIBgu','B3bLCMf0Aw9Uswq','y29UzMLNDxjHDgLVBG','z2v0twf4uMv0CMLLCW','t1bfuKfusu9ox1rjtuvpvvq','C2v0','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','nti5muXesfnzDq','y29Kzq','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','AgLNAa','zgvIDwC','AxnqCM9JzxnZAw5NuxvLDwu','rxjYB3iGC3vIC2nYAwjLCIbJywXSyMfJAYbMywLSzwq','DMfSAwrHDgLVBL9YzwnVDMvYEq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','C2HVDwXKuMv0CNK','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','AgfUzgXLrxjYB3i','zM9YrwfJAa','nJqXntq4nMvPCvPTrW','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','C2v0DxbfCNjVCLbYB2nLC3nPBMC','CMv0CNLdB3vUDa','Dg9tDhjPBMC','zxjYB3i','ndK4mtbMCNL4teK','Cg93','zxjYB3jtDwjZy3jPyMvYCW','mJvNqxbtAg4','ywrK','C3vIC2nYAwjL','BM90Awz5u3vIC2nYAwjLCNm','rufdq0vt','vu5bvvrit1jjwKve','yxbPx3jLCxvLC3q','y3jPDgLJywXfCNjVCG','DgLTzw91Da','nZm3nJG5z21Jy09w','z2vUzxjHDgvfCNjVCKLK','ChjVy2vZC0vYCM9Y','DhLWzq','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','ywn0Aw9U','DgLTzw91Df9YzwnVDMvYEq','BwvZC2fNzq','zgv0zxjTAw5LrxjYB3juExbL','y29UDgv4Da','Dg9mB3DLCKnHC2u','BgvUz3rO','Aw5MBW','zgv0zxjTAw5Lu2v2zxjPDhK','Aw5JBhvKzxm','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','CMvHC29U','y3jPDgLJywW','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','rKLmrv9ot1rFrK9vtKq','D2fYBG','C3vJy2vZC2z1BfjLy292zxjPzxm','ywDLBNrjza','ChvZAa','CMvJB3zLCNLtDhjHDgvNAwvZ','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM93','BwLU','nty0ndCWyMniDLzv','zNjVBuvUDhjPzxm'];a0_0x5cd8=function(){return _0x2dc68b;};return a0_0x5cd8();}const a0_0x179f98=a0_0xd951;(function(_0x13d391,_0x4c1b93){const _0x8f758d=a0_0xd951,_0x447c45=_0x13d391();while(!![]){try{const _0x27794d=-parseInt(_0x8f758d(0x1f7))/0x1+parseInt(_0x8f758d(0x213))/0x2+-parseInt(_0x8f758d(0x224))/0x3+-parseInt(_0x8f758d(0x23e))/0x4*(parseInt(_0x8f758d(0x264))/0x5)+parseInt(_0x8f758d(0x236))/0x6*(parseInt(_0x8f758d(0x25a))/0x7)+-parseInt(_0x8f758d(0x215))/0x8*(parseInt(_0x8f758d(0x21f))/0x9)+-parseInt(_0x8f758d(0x261))/0xa*(-parseInt(_0x8f758d(0x24d))/0xb);if(_0x27794d===_0x4c1b93)break;else _0x447c45['push'](_0x447c45['shift']());}catch(_0x90f3d5){_0x447c45['push'](_0x447c45['shift']());}}}(a0_0x5cd8,0x99ad6));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0xbcdd6e,_0x563cef){const _0x284e4f=a0_0xd951;this['config']=_0xbcdd6e||{},this['logger']=_0x563cef,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x284e4f(0x20f)]=new Map(),this[_0x284e4f(0x263)]=new Set(),this[_0x284e4f(0x22b)]=[],this[_0x284e4f(0x252)]=![],this['initializeRecoveryStrategies'](),this[_0x284e4f(0x25d)]();}async[a0_0x179f98(0x258)](_0x5b15ce,_0x84c93d={}){const _0x518e88=a0_0x179f98;try{const _0x41faae=this[_0x518e88(0x244)](_0x5b15ce,_0x84c93d),_0x8d3ed3=await this['processError'](_0x41faae);return this[_0x518e88(0x22e)](_0x41faae),this[_0x518e88(0x267)](_0x41faae,_0x8d3ed3),_0x8d3ed3;}catch(_0x15f52c){return this[_0x518e88(0x238)]['error'](_0x518e88(0x239),{'originalError':_0x5b15ce[_0x518e88(0x1fe)],'handlingError':_0x15f52c[_0x518e88(0x1fe)]}),{'success':![],'error':_0x15f52c,'recovery':null,'severity':_0x518e88(0x208)};}}['classifyError'](_0x12d807,_0x40575e={}){const _0x547070=a0_0x179f98,_0x5635e1={'id':this['generateErrorId'](),'timestamp':new Date()[_0x547070(0x23b)](),'message':_0x12d807['message']||_0x12d807[_0x547070(0x25f)](),'stack':_0x12d807['stack']||null,'code':_0x12d807[_0x547070(0x24e)]||null,'type':this[_0x547070(0x1ff)](_0x12d807,_0x40575e),'severity':this[_0x547070(0x204)](_0x12d807,_0x40575e),'context':{..._0x40575e},'recoverable':!![],'retryCount':_0x40575e['retryCount']||0x0,'maxRetries':this[_0x547070(0x249)](_0x12d807,_0x40575e)};return _0x40575e[_0x547070(0x20d)]&&(_0x5635e1[_0x547070(0x20d)]=_0x40575e['agentId']),_0x40575e['toolId']&&(_0x5635e1[_0x547070(0x220)]=_0x40575e[_0x547070(0x220)]),_0x40575e[_0x547070(0x247)]&&(_0x5635e1['operationId']=_0x40575e[_0x547070(0x247)]),_0x5635e1[_0x547070(0x246)]=this[_0x547070(0x233)](_0x5635e1),_0x5635e1;}async[a0_0x179f98(0x1f9)](_0x206562){const _0x53e8c9=a0_0x179f98;try{this[_0x53e8c9(0x238)][_0x53e8c9(0x260)]('Processing\x20error',{'errorId':_0x206562['id'],'type':_0x206562['type'],'severity':_0x206562[_0x53e8c9(0x23f)],'agentId':_0x206562['agentId'],'message':_0x206562[_0x53e8c9(0x1fe)]});_0x206562[_0x53e8c9(0x23f)]===_0x53e8c9(0x208)&&await this[_0x53e8c9(0x219)](_0x206562);let _0x1ac2a9=null;return _0x206562[_0x53e8c9(0x246)]&&_0x206562['retryCount']<_0x206562['maxRetries']&&(_0x1ac2a9=await this['attemptRecovery'](_0x206562)),await this['logError'](_0x206562,_0x1ac2a9),{'success':_0x1ac2a9?.['success']||![],'errorId':_0x206562['id'],'errorType':_0x206562[_0x53e8c9(0x1fa)],'severity':_0x206562[_0x53e8c9(0x23f)],'recovery':_0x1ac2a9,'shouldRetry':this[_0x53e8c9(0x256)](_0x206562,_0x1ac2a9),'retryDelay':this['calculateRetryDelay'](_0x206562)};}catch(processingError){return this['logger']['error'](_0x53e8c9(0x255),{'errorId':_0x206562['id'],'processingError':processingError[_0x53e8c9(0x1fe)]}),{'success':![],'errorId':_0x206562['id'],'errorType':_0x206562['type'],'severity':_0x53e8c9(0x208),'recovery':null,'shouldRetry':![]};}}async[a0_0x179f98(0x216)](_0x12e811){const _0x1ae1e4=a0_0x179f98;try{this[_0x1ae1e4(0x242)]['recoveryAttempts']++;const _0x57e780=this['recoveryStrategies'][_0x1ae1e4(0x23c)](_0x12e811['type'])||this['recoveryStrategies'][_0x1ae1e4(0x23c)]('default');if(!_0x57e780)return this['logger']['warn'](_0x1ae1e4(0x243),{'errorType':_0x12e811['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x1ae1e4(0x238)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x12e811['id'],'errorType':_0x12e811[_0x1ae1e4(0x1fa)],'strategy':_0x57e780[_0x1ae1e4(0x227)],'retryCount':_0x12e811['retryCount']});const _0x1b8e3e=await _0x57e780['recover'](_0x12e811);return _0x1b8e3e[_0x1ae1e4(0x225)]?(this[_0x1ae1e4(0x242)]['successfulRecoveries']++,this['logger'][_0x1ae1e4(0x203)]('Error\x20recovery\x20successful',{'errorId':_0x12e811['id'],'strategy':_0x57e780[_0x1ae1e4(0x227)]})):this[_0x1ae1e4(0x238)][_0x1ae1e4(0x20b)]('Error\x20recovery\x20failed',{'errorId':_0x12e811['id'],'strategy':_0x57e780[_0x1ae1e4(0x227)],'reason':_0x1b8e3e[_0x1ae1e4(0x207)]}),_0x1b8e3e;}catch(_0x3f867b){return this[_0x1ae1e4(0x238)]['error'](_0x1ae1e4(0x206),{'errorId':_0x12e811['id'],'recoveryError':_0x3f867b[_0x1ae1e4(0x1fe)]}),{'success':![],'reason':_0x1ae1e4(0x25b)+_0x3f867b[_0x1ae1e4(0x1fe)]};}}async['handleCriticalError'](_0x4f7fb9){const _0x362d8a=a0_0x179f98;try{this[_0x362d8a(0x242)][_0x362d8a(0x229)]++,this['logger'][_0x362d8a(0x260)]('Critical\x20error\x20detected',{'errorId':_0x4f7fb9['id'],'message':_0x4f7fb9[_0x362d8a(0x1fe)],'context':_0x4f7fb9['context']});typeof process!=='undefined'&&process[_0x362d8a(0x21d)]&&process['emit'](_0x362d8a(0x1f5),_0x4f7fb9);switch(_0x4f7fb9[_0x362d8a(0x1fa)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x362d8a(0x22c)](_0x4f7fb9);break;case ERROR_TYPES[_0x362d8a(0x230)]:await this[_0x362d8a(0x257)](_0x4f7fb9);break;case ERROR_TYPES[_0x362d8a(0x24a)]:await this['handleOperationTimeout'](_0x4f7fb9);break;default:await this[_0x362d8a(0x24c)](_0x4f7fb9);}}catch(_0x4be845){this['logger']['error'](_0x362d8a(0x21a),{'errorId':_0x4f7fb9['id'],'handlingError':_0x4be845['message']});}}[a0_0x179f98(0x1ff)](_0x5a5380,_0x543e51){const _0x228395=a0_0x179f98;if(_0x5a5380['code']==='ENOENT'||_0x5a5380['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x228395(0x20a)];if(_0x5a5380['code']===_0x228395(0x268)||_0x5a5380['status']===HTTP_STATUS[_0x228395(0x241)])return ERROR_TYPES[_0x228395(0x231)];if(_0x5a5380['status']===HTTP_STATUS[_0x228395(0x269)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x5a5380['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x228395(0x230)];const _0x273b3b=_0x5a5380[_0x228395(0x1fe)]?.[_0x228395(0x201)]()||'';if(_0x273b3b[_0x228395(0x205)](_0x228395(0x1f6))||_0x273b3b['includes']('timed\x20out'))return ERROR_TYPES[_0x228395(0x24a)];if(_0x273b3b['includes'](_0x228395(0x21c))||_0x273b3b[_0x228395(0x205)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x273b3b['includes']('config')||_0x273b3b['includes'](_0x228395(0x248)))return ERROR_TYPES[_0x228395(0x22a)];if(_0x543e51[_0x228395(0x218)]===_0x228395(0x235))return ERROR_TYPES[_0x228395(0x20a)];if(_0x543e51['operation']===_0x228395(0x1f4))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x388f4c,_0xebda17){const _0x3a1217=a0_0x179f98,_0x3978a3=[ERROR_TYPES[_0x3a1217(0x226)],ERROR_TYPES[_0x3a1217(0x22a)]],_0x3a5f1d=[ERROR_TYPES[_0x3a1217(0x230)],ERROR_TYPES[_0x3a1217(0x24a)],ERROR_TYPES['PERMISSION_DENIED']],_0x121da4=this['determineErrorType'](_0x388f4c,_0xebda17);if(_0x3978a3[_0x3a1217(0x205)](_0x121da4))return'critical';if(_0x3a5f1d[_0x3a1217(0x205)](_0x121da4))return'high';const _0x7379f=_0xebda17&&_0xebda17[_0x3a1217(0x25e)]||0x0;if(_0x7379f>=0x3)return'high';if(_0xebda17&&_0xebda17[_0x3a1217(0x20d)]&&_0xebda17['operation']==='agent_communication')return'medium';return'low';}[a0_0x179f98(0x233)](_0x519a0d){const _0x5f4025=a0_0x179f98,_0x4122e8=[ERROR_TYPES[_0x5f4025(0x226)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x4122e8['includes'](_0x519a0d[_0x5f4025(0x1fa)]))return![];if(_0x519a0d['retryCount']>=_0x519a0d['maxRetries'])return![];if(_0x519a0d['severity']===_0x5f4025(0x208))return![];return!![];}[a0_0x179f98(0x249)](_0x42c64,_0x3a7aea){const _0xa695fc=a0_0x179f98,_0x56055e=this['determineErrorType'](_0x42c64,_0x3a7aea),_0x18b2a3={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0xa695fc(0x24a)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES[_0xa695fc(0x245)]]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x18b2a3[_0x56055e]||0x3;}['shouldRetry'](_0x3ac138,_0x35fd65){const _0x9b1369=a0_0x179f98;if(!_0x3ac138[_0x9b1369(0x246)])return![];if(_0x3ac138['retryCount']>=_0x3ac138['maxRetries'])return![];if(_0x35fd65&&_0x35fd65['success'])return![];return!![];}[a0_0x179f98(0x223)](_0x47c277){const _0x2e5ec4=a0_0x179f98,_0x2994e2=0x3e8,_0x1dd074=0x7530,_0x7b7bf9=_0x2994e2*Math['pow'](0x2,_0x47c277['retryCount']),_0x437dae=Math['random']()*0x3e8;return Math[_0x2e5ec4(0x212)](_0x7b7bf9+_0x437dae,_0x1dd074);}[a0_0x179f98(0x1fb)](){const _0x42beeb=a0_0x179f98;this[_0x42beeb(0x20f)][_0x42beeb(0x24b)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5c712e=>{const _0x331ca6=_0x42beeb;if(_0x5c712e['context'][_0x331ca6(0x217)])return{'success':![],'reason':_0x331ca6(0x23d),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this['recoveryStrategies'][_0x42beeb(0x24b)](ERROR_TYPES[_0x42beeb(0x230)],{'name':'rate_limit_recovery','recover':async _0x24d4aa=>{const _0x246bcb=_0x42beeb,_0x424af3=this[_0x246bcb(0x22f)](_0x24d4aa);return this['logger'][_0x246bcb(0x203)](_0x246bcb(0x24f),{'waitTime':_0x424af3}),await new Promise(_0xc53198=>setTimeout(_0xc53198,_0x424af3)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x424af3};}}),this[_0x42beeb(0x20f)]['set'](ERROR_TYPES[_0x42beeb(0x24a)],{'name':_0x42beeb(0x1fd),'recover':async _0x22f6fc=>{const _0x2495fa=_0x42beeb;if(_0x22f6fc['context']['timeout']){const _0x15ee4c=Math['min'](_0x22f6fc[_0x2495fa(0x200)][_0x2495fa(0x1f6)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x15ee4c};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x42beeb(0x20f)][_0x42beeb(0x24b)](ERROR_TYPES[_0x42beeb(0x231)],{'name':'permission_recovery','recover':async _0x4cec81=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x42beeb(0x20f)]['set'](ERROR_TYPES['VALIDATION_ERROR'],{'name':_0x42beeb(0x254),'recover':async _0x554a5c=>{if(_0x554a5c['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies'][_0x42beeb(0x24b)]('default',{'name':'default_recovery','recover':async _0x3466e6=>{const _0x19ad65=_0x42beeb,_0x2ec27d=this[_0x19ad65(0x223)](_0x3466e6);return await new Promise(_0x2ca1cb=>setTimeout(_0x2ca1cb,_0x2ec27d)),{'success':!![],'action':'delay_retry','delay':_0x2ec27d};}});}async[a0_0x179f98(0x22c)](_0x45f28f){const _0x24aee7=a0_0x179f98;this[_0x24aee7(0x238)][_0x24aee7(0x260)]('Authentication\x20failure\x20detected',{'errorId':_0x45f28f['id']});if(_0x45f28f[_0x24aee7(0x20d)]){}}async['handleRateLimitExceeded'](_0x4f7438){const _0x4be8de=a0_0x179f98,_0x45b1ef=this['calculateRateLimitWait'](_0x4f7438);this[_0x4be8de(0x238)]['warn']('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4f7438['id'],'waitTime':_0x45b1ef,'agentId':_0x4f7438[_0x4be8de(0x20d)]});if(_0x4f7438[_0x4be8de(0x20d)]){}}async[a0_0x179f98(0x21b)](_0x4b8da7){const _0xbf5450=a0_0x179f98;this[_0xbf5450(0x238)][_0xbf5450(0x260)](_0xbf5450(0x25c),{'errorId':_0x4b8da7['id'],'operation':_0x4b8da7[_0xbf5450(0x200)][_0xbf5450(0x218)],'timeout':_0x4b8da7['context']['timeout']});}async['handleGenericCriticalError'](_0x21facb){const _0x5dc678=a0_0x179f98;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x21facb['id'],'type':_0x21facb[_0x5dc678(0x1fa)],'message':_0x21facb['message']}),_0x21facb['agentId']&&this['logger'][_0x5dc678(0x20b)](_0x5dc678(0x21e),{'agentId':_0x21facb[_0x5dc678(0x20d)]});}['calculateRateLimitWait'](_0x5d8164){const _0x953ae4=a0_0x179f98,_0x31fe5b=0xea60,_0x2b8f4e=Math[_0x953ae4(0x262)](0x2,_0x5d8164['retryCount']),_0x34611f=0x493e0;return Math['min'](_0x31fe5b*_0x2b8f4e,_0x34611f);}async['logError'](_0x15a284,_0x40ba2d){const _0x43439a=a0_0x179f98;try{const _0x12e0f5={'errorId':_0x15a284['id'],'timestamp':_0x15a284[_0x43439a(0x234)],'type':_0x15a284[_0x43439a(0x1fa)],'severity':_0x15a284[_0x43439a(0x23f)],'message':_0x15a284['message'],'agentId':_0x15a284['agentId'],'toolId':_0x15a284[_0x43439a(0x220)],'operationId':_0x15a284['operationId'],'retryCount':_0x15a284[_0x43439a(0x25e)],'recoveryAttempted':!!_0x40ba2d,'recoverySuccess':_0x40ba2d?.[_0x43439a(0x225)]||![],'recoveryAction':_0x40ba2d?.[_0x43439a(0x1fc)]||null};this[_0x43439a(0x22b)][_0x43439a(0x20e)](_0x12e0f5),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x1719f2){this[_0x43439a(0x238)][_0x43439a(0x260)]('Error\x20logging\x20failed',{'errorId':_0x15a284['id'],'loggingError':_0x1719f2[_0x43439a(0x1fe)]});}}async[a0_0x179f98(0x23a)](){const _0xe66589=a0_0x179f98;if(this['isProcessingQueue']||this[_0xe66589(0x22b)]['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue'][_0xe66589(0x202)]>0x0){const _0x1448a9=this['errorQueue'][_0xe66589(0x237)](0x0,0xa);this[_0xe66589(0x238)][_0xe66589(0x251)]('Processing\x20error\x20batch',{'batchSize':_0x1448a9[_0xe66589(0x202)]}),await new Promise(_0x1a56e1=>setTimeout(_0x1a56e1,0x64));}}catch(processingError){this[_0xe66589(0x238)][_0xe66589(0x260)](_0xe66589(0x240),{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}[a0_0x179f98(0x25d)](){const _0x2fcaec=a0_0x179f98;setInterval(()=>{const _0x5cb9b1=a0_0xd951;this['errorQueue'][_0x5cb9b1(0x202)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x37fddf=>{this['handleError'](_0x37fddf,{'type':'uncaught_exception','severity':'critical'});}),process['on'](_0x2fcaec(0x210),(_0x39c9cf,_0x4ad5ff)=>{const _0x5efaa7=_0x2fcaec;this[_0x5efaa7(0x258)](new Error('Unhandled\x20Rejection:\x20'+_0x39c9cf),{'type':_0x5efaa7(0x209),'severity':_0x5efaa7(0x250),'promise':_0x4ad5ff[_0x5efaa7(0x25f)]()});}));}['updateErrorStats'](_0x3538d2){const _0x86ca0=a0_0x179f98;this[_0x86ca0(0x242)][_0x86ca0(0x22d)]++,!this['errorStats']['errorsByType']['has'](_0x3538d2['type'])&&this[_0x86ca0(0x242)][_0x86ca0(0x222)]['set'](_0x3538d2[_0x86ca0(0x1fa)],0x0),this[_0x86ca0(0x242)]['errorsByType'][_0x86ca0(0x24b)](_0x3538d2['type'],this[_0x86ca0(0x242)][_0x86ca0(0x222)]['get'](_0x3538d2['type'])+0x1),_0x3538d2[_0x86ca0(0x20d)]&&(!this['errorStats'][_0x86ca0(0x232)]['has'](_0x3538d2['agentId'])&&this['errorStats']['errorsByAgent'][_0x86ca0(0x24b)](_0x3538d2[_0x86ca0(0x20d)],0x0),this['errorStats'][_0x86ca0(0x232)]['set'](_0x3538d2[_0x86ca0(0x20d)],this[_0x86ca0(0x242)]['errorsByAgent'][_0x86ca0(0x23c)](_0x3538d2['agentId'])+0x1));}[a0_0x179f98(0x266)](_0x1b7e5d){const _0x2a4b7d=a0_0x179f98;return this['errorSubscribers'][_0x2a4b7d(0x265)](_0x1b7e5d),()=>this[_0x2a4b7d(0x263)]['delete'](_0x1b7e5d);}[a0_0x179f98(0x267)](_0x42b3ed,_0x1b3f10){const _0x54d08e=a0_0x179f98;this[_0x54d08e(0x263)][_0x54d08e(0x259)](_0x5abf97=>{const _0x10c277=_0x54d08e;try{_0x5abf97(_0x42b3ed,_0x1b3f10);}catch(_0x2c6242){this['logger']['error'](_0x10c277(0x253),{'error':_0x2c6242['message']});}});}[a0_0x179f98(0x1f8)](){const _0x12a375=a0_0x179f98;return'err_'+Date[_0x12a375(0x211)]()+'_'+Math['random']()[_0x12a375(0x25f)](0x24)[_0x12a375(0x228)](0x2,0x9);}[a0_0x179f98(0x221)](){const _0x3173f4=a0_0x179f98;return{'totalErrors':this[_0x3173f4(0x242)]['totalErrors'],'errorsByType':Object[_0x3173f4(0x214)](this['errorStats']['errorsByType']),'errorsByAgent':Object['fromEntries'](this[_0x3173f4(0x242)]['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x3173f4(0x242)][_0x3173f4(0x20c)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this['errorStats'][_0x3173f4(0x20c)]/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x3173f4(0x242)][_0x3173f4(0x229)],'queueLength':this['errorQueue'][_0x3173f4(0x202)]};}['clearErrorStats'](){this['errorStats']={'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_0x228ef8=a0_0xbb24;(function(_0x37e609,_0x1b8411){const _0xf3cf6b=a0_0xbb24,_0x47a8bf=_0x37e609();while(!![]){try{const _0x2609d7=parseInt(_0xf3cf6b(0xbe))/0x1*(-parseInt(_0xf3cf6b(0xd9))/0x2)+parseInt(_0xf3cf6b(0xcc))/0x3+-parseInt(_0xf3cf6b(0xe5))/0x4+-parseInt(_0xf3cf6b(0x104))/0x5*(-parseInt(_0xf3cf6b(0xfb))/0x6)+parseInt(_0xf3cf6b(0xc1))/0x7*(-parseInt(_0xf3cf6b(0xdd))/0x8)+-parseInt(_0xf3cf6b(0xed))/0x9+-parseInt(_0xf3cf6b(0xdc))/0xa*(-parseInt(_0xf3cf6b(0x113))/0xb);if(_0x2609d7===_0x1b8411)break;else _0x47a8bf['push'](_0x47a8bf['shift']());}catch(_0x337d4e){_0x47a8bf['push'](_0x47a8bf['shift']());}}}(a0_0x4932,0xda9da));import a0_0x24e506 from'path';import{randomUUID}from'crypto';import a0_0x32bcf1 from'../utilities/fileProcessor.js';function a0_0x4932(){const _0x59d2ae=['mtq0nJC1rNHXtfPd','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','z2v0rMLSzvn0yxrZ','DMfSAwrHDg9Y','Dgv4Da','C2f2zuLUzgv4','vMfSAwrHDgLVBIbMywLSzwq6ia','zMLSDgvY','Bw9Kzq','CMvMzxjLBMnLzej5','Aw5PDgLHBgL6zq','Aw1Hz2u','Aw5JBhvKzxm','odC2ntq5mfHdCuTIEG','DMfSAwq','zMLSzuv4Axn0CW','zxjYB3jZ','C3vIC3rYAw5N','Aw5KzxG','z2v0qxr0ywnOBwvUDenVBNrLBNq','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','Aw1WB3j0zwrgCM9T','nw52uuL6yq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','y29UDgvUDc5IyxnLnJq','CMvMzxjLBMnL','rxjYB3iGDxbSB2fKAw5NigzPBgu','z2v0qxr0ywnOBwvUDa','C2L6zq','qxr0ywnOBwvUDcbKzwXLDgvK','DMfSAwrHDgu','qxr0ywnOBwvUDcb1CgrHDgvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','y29UDgvUDezPBgvoyw1L','CgrM','z2v0qxr0ywnOBwvUDfbYzxzPzxC','BgfZDe1VzgLMAwvK','mZG4m0z0Cg9Oqq','Bg9HzeLUzgv4','mJK4mdmXqwDJre1M','BwvZC2fNzq','ywDLBNrjza','mte5svDYENjP','CMvHzezPBgu','ChvZAa','y3jLyxrLrgLYzwn0B3j5','DxbSB2fKrMLSzq','CgfYC2u','Aw5MBW','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','zxH0BMfTzq','zxn0Aw1HDgvuB2TLBNm','C3rHCNrZv2L0Aa','mJy3odCZowLItuLSsa','zMLSzvbYB2nLC3nVCG','yxr0ywnOBwvUDhm','zMLSzu5HBwu','C3rYAw5NAwz5','Dg9ju09tDhjPBMC','Bg9Nz2vY','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','z2v0twLTzvr5Cgu','zgvSzxrLqxr0ywnOBwvUDa','zgvSzxrLrgLYzwn0B3j5','y29UDgvUDc50Ehq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mtbHEwXLEu8','z2v0qxr0ywnOBwvUDhm','D3jPDgvgAwXL','mtKWmtb0rKjPCLG','mtK5nJGWD2Lpzg5Z','DxrMoa','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','zxjYB3i','AM9PBG','D2fYBMLUz3m','ywDLBNrszwzZ','zgf0ytPPBwfNzq','nZK1nti0qvfjt09O','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','Bwv0ywrHDgeUANnVBG','qwDLBNqGyxr0ywnOBwvUDhmGzgvSzxrLza','BgvUz3rO','ywn0AxzL','y2fSy3vSyxrLsgfZAa','y29UDgvUDa'];a0_0x4932=function(){return _0x59d2ae;};return a0_0x4932();}import a0_0x56293c from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x228ef8(0xce)],INDEX_FILE=a0_0x24e506[a0_0x228ef8(0xe1)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x19bdd1={},_0x59b2d0=null){const _0x17d3ed=a0_0x228ef8;this['config']=_0x19bdd1,this[_0x17d3ed(0xd2)]=_0x59b2d0,this[_0x17d3ed(0xcd)]=new a0_0x32bcf1(_0x19bdd1,_0x59b2d0),this['validator']=new a0_0x56293c(_0x19bdd1,_0x59b2d0),this['index']=null;}async[a0_0x228ef8(0xf8)](){const _0x44b38e=a0_0x228ef8;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this[_0x44b38e(0xd2)]?.[_0x44b38e(0xc7)](_0x44b38e(0xd3),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x31f828){this[_0x44b38e(0xd2)]?.[_0x44b38e(0xe0)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x31f828[_0x44b38e(0xbf)]});throw _0x31f828;}}async['loadIndex'](){const _0x581d7e=a0_0x228ef8;try{const _0x34f873=await this[_0x581d7e(0xcd)][_0x581d7e(0xfd)](INDEX_FILE);if(!_0x34f873)this['index']={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x3b8400=await this[_0x581d7e(0xcd)][_0x581d7e(0xc2)](INDEX_FILE,_0x581d7e(0xde));this['index']=JSON[_0x581d7e(0xc6)](_0x3b8400);}return this[_0x581d7e(0x100)];}catch(_0x4b6bd9){return this['logger']?.['error']('Error\x20loading\x20index',{'error':_0x4b6bd9['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async['saveIndex'](){const _0x34222b=a0_0x228ef8;try{await this[_0x34222b(0xcd)]['writeFile'](INDEX_FILE,JSON[_0x34222b(0xd0)](this['index'],null,0x2),'utf8');}catch(_0x1a4a95){this[_0x34222b(0xd2)]?.[_0x34222b(0xe0)]('Error\x20saving\x20index',{'error':_0x1a4a95['message']});throw _0x1a4a95;}}async[a0_0x228ef8(0xc5)]({agentId:_0x316a05,filePath:_0x59a0bd,mode:mode=a0_0x228ef8(0xec),fileName:fileName=null}){const _0x23cd6e=a0_0x228ef8;!this[_0x23cd6e(0x100)]&&await this['loadIndex']();try{const _0x4e7817=await this[_0x23cd6e(0xcd)]['fileExists'](_0x59a0bd);if(!_0x4e7817)throw new Error('File\x20not\x20found:\x20'+_0x59a0bd);const _0x283519=await this[_0x23cd6e(0xcd)][_0x23cd6e(0xf0)](_0x59a0bd),_0xfc208e=fileName||a0_0x24e506['basename'](_0x59a0bd),_0xb74b34=a0_0x24e506[_0x23cd6e(0xc9)](_0xfc208e),_0xb805f8=this['validator'][_0x23cd6e(0x10c)]({'fileName':_0xfc208e,'size':_0x283519[_0x23cd6e(0x10a)],'mode':mode,'path':mode===_0x23cd6e(0x107)?_0x59a0bd:null});if(!_0xb805f8[_0x23cd6e(0xfc)])throw new Error(_0x23cd6e(0xf4)+_0xb805f8[_0x23cd6e(0xfe)][_0x23cd6e(0xe1)](',\x20'));const _0x5b3cbf=randomUUID(),_0x1a7c41=await this['fileProcessor'][_0x23cd6e(0xeb)](_0x59a0bd),_0xdde125=this['validator']['getContentType'](_0xfc208e),_0x74079d=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x316a05,_0x5b3cbf);await this[_0x23cd6e(0xcd)][_0x23cd6e(0xc4)](_0x74079d);let _0x520844=0x0,_0x4b866b=null;if(mode==='content'){const processResult=await this[_0x23cd6e(0xcd)]['processFile'](_0x59a0bd,_0xdde125),_0x4bf58a=processResult['content'];if(_0xdde125===_0x23cd6e(0xf2))_0x4b866b=_0x23cd6e(0xd7);else{if(_0xdde125===_0x23cd6e(0xf9))_0x4b866b=_0x23cd6e(0x106);else _0xdde125===_0x23cd6e(0x110)&&(_0x4b866b='content.txt');}const _0xc02026=a0_0x24e506['join'](_0x74079d,_0x4b866b);await this[_0x23cd6e(0xcd)]['writeFile'](_0xc02026,_0x4bf58a,_0x23cd6e(0xde)),_0x520844=this[_0x23cd6e(0xcd)][_0x23cd6e(0xca)](_0x4bf58a);}const _0xdec129={'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'originalPath':_0x59a0bd,'fileType':this[_0x23cd6e(0xf1)][_0x23cd6e(0xd4)](_0xfc208e),'fileExtension':_0xb74b34,'size':_0x283519['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x283519['modified'][_0x23cd6e(0xd1)](),'hash':_0x1a7c41,'tokenEstimate':_0x520844,'contentType':_0xdde125,'contentFileName':_0x4b866b,'warnings':_0xb805f8[_0x23cd6e(0xe2)],'sizeLevel':_0xb805f8['sizeLevel'],'importedFrom':null,'referencedBy':[_0x316a05]},_0x1b09f8=a0_0x24e506['join'](_0x74079d,'metadata.json');return await this[_0x23cd6e(0xcd)]['writeFile'](_0x1b09f8,JSON['stringify'](_0xdec129,null,0x2),'utf8'),this[_0x23cd6e(0x100)][_0x23cd6e(0xce)][_0x5b3cbf]={'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'mode':mode,'active':_0xdec129[_0x23cd6e(0xea)],'referencedBy':_0xdec129[_0x23cd6e(0xf7)]},!this[_0x23cd6e(0x100)][_0x23cd6e(0xe3)][_0x316a05]&&(this['index']['agentRefs'][_0x316a05]=[]),this['index'][_0x23cd6e(0xe3)][_0x316a05]['push'](_0x5b3cbf),await this[_0x23cd6e(0xf3)](),this['logger']?.['info']('File\x20uploaded',{'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'mode':mode}),_0xdec129;}catch(_0x2c503c){this['logger']?.[_0x23cd6e(0xe0)](_0x23cd6e(0x108),{'agentId':_0x316a05,'filePath':_0x59a0bd,'error':_0x2c503c[_0x23cd6e(0xbf)]});throw _0x2c503c;}}async[a0_0x228ef8(0xda)](_0x5ca878,_0x1eef12={}){const _0x140db1=a0_0x228ef8;!this['index']&&await this[_0x140db1(0x114)]();try{const _0x915594=this[_0x140db1(0x100)][_0x140db1(0xe3)][_0x5ca878]||[],_0x4e9e31=[];for(const _0x1b26da of _0x915594){const _0x1e7ccc=await this['getAttachment'](_0x1b26da);if(_0x1e7ccc){if(_0x1eef12[_0x140db1(0xea)]!==undefined&&_0x1e7ccc['active']!==_0x1eef12[_0x140db1(0xea)])continue;if(_0x1eef12['mode']&&_0x1e7ccc['mode']!==_0x1eef12['mode'])continue;_0x4e9e31['push'](_0x1e7ccc);}}return _0x4e9e31;}catch(_0x168baa){this[_0x140db1(0xd2)]?.['error']('Error\x20getting\x20attachments',{'agentId':_0x5ca878,'error':_0x168baa['message']});throw _0x168baa;}}async['getAttachment'](_0x2e05c3){const _0x4cb415=a0_0x228ef8;!this[_0x4cb415(0x100)]&&await this['loadIndex']();try{const _0x39411e=this['index'][_0x4cb415(0xce)][_0x2e05c3];if(!_0x39411e)return null;const _0x3d753b=a0_0x24e506[_0x4cb415(0xe1)](ATTACHMENTS_DIR,_0x39411e[_0x4cb415(0xc0)],_0x2e05c3,_0x4cb415(0xe7)),_0x114a70=await this[_0x4cb415(0xcd)]['fileExists'](_0x3d753b);if(!_0x114a70)return this[_0x4cb415(0xd2)]?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x2e05c3}),null;const _0x43622e=await this[_0x4cb415(0xcd)][_0x4cb415(0xc2)](_0x3d753b,'utf8');return JSON[_0x4cb415(0xc6)](_0x43622e);}catch(_0x4b1cf8){return this[_0x4cb415(0xd2)]?.[_0x4cb415(0xe0)]('Error\x20getting\x20attachment',{'fileId':_0x2e05c3,'error':_0x4b1cf8[_0x4cb415(0xbf)]}),null;}}async[a0_0x228ef8(0x101)](_0x30220c){const _0x36f298=a0_0x228ef8;try{const _0x21f7ee=await this['getAttachment'](_0x30220c);if(!_0x21f7ee||_0x21f7ee[_0x36f298(0xf6)]!==_0x36f298(0xec))return null;const _0x1b7739=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x21f7ee['agentId'],_0x30220c,_0x21f7ee[_0x36f298(0x10f)]),_0x2b04e0=await this['fileProcessor']['fileExists'](_0x1b7739);if(!_0x2b04e0)return null;return await this[_0x36f298(0xcd)]['readFile'](_0x1b7739,_0x36f298(0xde));}catch(_0x39c658){return this['logger']?.[_0x36f298(0xe0)](_0x36f298(0x10e),{'fileId':_0x30220c,'error':_0x39c658['message']}),null;}}async['toggleActive'](_0x1db8fb){const _0x1d5265=a0_0x228ef8;try{const _0x4d702d=await this[_0x1d5265(0x109)](_0x1db8fb);if(!_0x4d702d)throw new Error(_0x1d5265(0xd8)+_0x1db8fb);_0x4d702d[_0x1d5265(0xea)]=!_0x4d702d['active'],_0x4d702d['lastModified']=new Date()[_0x1d5265(0xd1)]();const _0x19bf7f=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x4d702d[_0x1d5265(0xc0)],_0x1db8fb,_0x1d5265(0xe7));return await this['fileProcessor']['writeFile'](_0x19bf7f,JSON[_0x1d5265(0xd0)](_0x4d702d,null,0x2),'utf8'),this[_0x1d5265(0x100)][_0x1d5265(0xce)][_0x1db8fb]&&(this['index']['attachments'][_0x1db8fb]['active']=_0x4d702d[_0x1d5265(0xea)],await this['saveIndex']()),this[_0x1d5265(0xd2)]?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x1db8fb,'active':_0x4d702d['active']}),_0x4d702d;}catch(_0x1ce0b3){this[_0x1d5265(0xd2)]?.['error'](_0x1d5265(0x105),{'fileId':_0x1db8fb,'error':_0x1ce0b3[_0x1d5265(0xbf)]});throw _0x1ce0b3;}}async['updateAttachment'](_0x421351,_0x291fe4){const _0x3bbdd5=a0_0x228ef8;try{const _0x5206b8=await this[_0x3bbdd5(0x109)](_0x421351);if(!_0x5206b8)throw new Error(_0x3bbdd5(0xd8)+_0x421351);const _0x510f43=[_0x3bbdd5(0xcf),_0x3bbdd5(0xea)];for(const _0x43b4c9 of _0x510f43){_0x291fe4[_0x43b4c9]!==undefined&&(_0x5206b8[_0x43b4c9]=_0x291fe4[_0x43b4c9]);}_0x5206b8[_0x3bbdd5(0x112)]=new Date()[_0x3bbdd5(0xd1)]();const _0x10729f=a0_0x24e506[_0x3bbdd5(0xe1)](ATTACHMENTS_DIR,_0x5206b8['agentId'],_0x421351,'metadata.json');return await this[_0x3bbdd5(0xcd)]['writeFile'](_0x10729f,JSON[_0x3bbdd5(0xd0)](_0x5206b8,null,0x2),_0x3bbdd5(0xde)),this['index'][_0x3bbdd5(0xce)][_0x421351]&&(_0x291fe4[_0x3bbdd5(0xcf)]&&(this[_0x3bbdd5(0x100)][_0x3bbdd5(0xce)][_0x421351][_0x3bbdd5(0xcf)]=_0x291fe4['fileName']),_0x291fe4[_0x3bbdd5(0xea)]!==undefined&&(this['index']['attachments'][_0x421351]['active']=_0x291fe4[_0x3bbdd5(0xea)]),await this['saveIndex']()),this['logger']?.['info'](_0x3bbdd5(0x10d),{'fileId':_0x421351,'updates':_0x291fe4}),_0x5206b8;}catch(_0x175a9c){this['logger']?.[_0x3bbdd5(0xe0)]('Error\x20updating\x20attachment',{'fileId':_0x421351,'error':_0x175a9c['message']});throw _0x175a9c;}}async[a0_0x228ef8(0xd5)](_0x232d8a,_0x29b55b){const _0x36a2e4=a0_0x228ef8;try{const _0x3f2810=await this[_0x36a2e4(0x109)](_0x232d8a);if(!_0x3f2810)throw new Error('Attachment\x20not\x20found:\x20'+_0x232d8a);_0x3f2810['referencedBy']=_0x3f2810['referencedBy'][_0x36a2e4(0xf5)](_0x56f029=>_0x56f029!==_0x29b55b);if(_0x3f2810['referencedBy']['length']>0x0){const _0x5c9bbc=a0_0x24e506[_0x36a2e4(0xe1)](ATTACHMENTS_DIR,_0x3f2810['agentId'],_0x232d8a,'metadata.json');return await this[_0x36a2e4(0xcd)]['writeFile'](_0x5c9bbc,JSON[_0x36a2e4(0xd0)](_0x3f2810,null,0x2),_0x36a2e4(0xde)),this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a]&&(this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a]['referencedBy']=_0x3f2810[_0x36a2e4(0xf7)]),this['index']['agentRefs'][_0x29b55b]&&(this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]=this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]['filter'](_0x4a7ee4=>_0x4a7ee4!==_0x232d8a)),await this['saveIndex'](),this[_0x36a2e4(0xd2)]?.['info'](_0x36a2e4(0xdf),{'fileId':_0x232d8a,'agentId':_0x29b55b,'remainingRefs':_0x3f2810[_0x36a2e4(0xf7)][_0x36a2e4(0xe9)]}),![];}const _0x12b619=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x3f2810['agentId'],_0x232d8a);return await this['fileProcessor'][_0x36a2e4(0xd6)](_0x12b619),delete this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a],this[_0x36a2e4(0x100)][_0x36a2e4(0xe3)][_0x29b55b]&&(this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]=this['index'][_0x36a2e4(0xe3)][_0x29b55b]['filter'](_0x3ce8c2=>_0x3ce8c2!==_0x232d8a)),await this[_0x36a2e4(0xf3)](),this['logger']?.['info'](_0x36a2e4(0x10b),{'fileId':_0x232d8a,'agentId':_0x29b55b}),!![];}catch(_0x320a8a){this['logger']?.[_0x36a2e4(0xe0)](_0x36a2e4(0xef),{'fileId':_0x232d8a,'agentId':_0x29b55b,'error':_0x320a8a[_0x36a2e4(0xbf)]});throw _0x320a8a;}}async[a0_0x228ef8(0x102)](_0x4794ed){const _0x57d15=a0_0x228ef8;try{const _0x472a26=this[_0x57d15(0x100)][_0x57d15(0xe3)][_0x4794ed]||[];let _0x206d21=0x0,_0x3b45bc=0x0;for(const _0x51f7d8 of _0x472a26){const _0x5f053c=await this['deleteAttachment'](_0x51f7d8,_0x4794ed);_0x5f053c?_0x206d21++:_0x3b45bc++;}return this[_0x57d15(0xd2)]?.[_0x57d15(0xc7)](_0x57d15(0xe8),{'agentId':_0x4794ed,'deleted':_0x206d21,'dereferenced':_0x3b45bc}),{'deleted':_0x206d21,'dereferenced':_0x3b45bc};}catch(_0x564b04){this['logger']?.['error'](_0x57d15(0xe6),{'agentId':_0x4794ed,'error':_0x564b04[_0x57d15(0xbf)]});throw _0x564b04;}}async['importFromAgent'](_0x3d0502,_0x2f2632){const _0x40d9e3=a0_0x228ef8;try{const _0x4fb505=await this[_0x40d9e3(0x109)](_0x3d0502);if(!_0x4fb505)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x3d0502);!_0x4fb505[_0x40d9e3(0xf7)]['includes'](_0x2f2632)&&_0x4fb505[_0x40d9e3(0xf7)][_0x40d9e3(0xc3)](_0x2f2632);_0x4fb505[_0x40d9e3(0x112)]=new Date()[_0x40d9e3(0xd1)](),_0x4fb505[_0x40d9e3(0x103)]=_0x4fb505['agentId'];const _0x3b6b77=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x4fb505['agentId'],_0x3d0502,_0x40d9e3(0xe7));return await this[_0x40d9e3(0xcd)][_0x40d9e3(0xdb)](_0x3b6b77,JSON[_0x40d9e3(0xd0)](_0x4fb505,null,0x2),'utf8'),this[_0x40d9e3(0x100)]['attachments'][_0x3d0502]&&(this[_0x40d9e3(0x100)]['attachments'][_0x3d0502]['referencedBy']=_0x4fb505[_0x40d9e3(0xf7)]),!this['index'][_0x40d9e3(0xe3)][_0x2f2632]&&(this[_0x40d9e3(0x100)]['agentRefs'][_0x2f2632]=[]),!this['index']['agentRefs'][_0x2f2632][_0x40d9e3(0xfa)](_0x3d0502)&&this[_0x40d9e3(0x100)][_0x40d9e3(0xe3)][_0x2f2632]['push'](_0x3d0502),await this['saveIndex'](),this[_0x40d9e3(0xd2)]?.['info']('Attachment imported',{'sourceFileId':_0x3d0502,'targetAgentId':_0x2f2632}),_0x4fb505;}catch(_0x2fa7fb){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x3d0502,'targetAgentId':_0x2f2632,'error':_0x2fa7fb[_0x40d9e3(0xbf)]});throw _0x2fa7fb;}}async['getActiveAttachments'](_0x3f2a83){const _0x1eb94e=a0_0x228ef8;return await this[_0x1eb94e(0xda)](_0x3f2a83,{'active':!![]});}async[a0_0x228ef8(0x111)](_0x1d3f2c){const _0x589e06=a0_0x228ef8;try{const _0x375cd9=await this[_0x589e06(0x101)](_0x1d3f2c);if(!_0x375cd9)return null;if(_0x375cd9[_0x589e06(0xcb)](_0x589e06(0xe4)))return _0x589e06(0xc8);return _0x375cd9[_0x589e06(0xe9)]>0x3e8?_0x375cd9[_0x589e06(0xff)](0x0,0x3e8)+'...':_0x375cd9;}catch(_0xb7688f){return this['logger']?.[_0x589e06(0xe0)](_0x589e06(0xee),{'fileId':_0x1d3f2c,'error':_0xb7688f[_0x589e06(0xbf)]}),null;}}}function a0_0xbb24(_0x6aabc1,_0x41c7a9){_0x6aabc1=_0x6aabc1-0xbe;const _0x493291=a0_0x4932();let _0xbb246a=_0x493291[_0x6aabc1];if(a0_0xbb24['dWxkxa']===undefined){var _0x515f5b=function(_0x38e5f4){const _0x159997='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24e506='',_0x32bcf1='';for(let _0x56293c=0x0,_0x19bdd1,_0x59b2d0,_0x31f828=0x0;_0x59b2d0=_0x38e5f4['charAt'](_0x31f828++);~_0x59b2d0&&(_0x19bdd1=_0x56293c%0x4?_0x19bdd1*0x40+_0x59b2d0:_0x59b2d0,_0x56293c++%0x4)?_0x24e506+=String['fromCharCode'](0xff&_0x19bdd1>>(-0x2*_0x56293c&0x6)):0x0){_0x59b2d0=_0x159997['indexOf'](_0x59b2d0);}for(let _0x34f873=0x0,_0x3b8400=_0x24e506['length'];_0x34f873<_0x3b8400;_0x34f873++){_0x32bcf1+='%'+('00'+_0x24e506['charCodeAt'](_0x34f873)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32bcf1);};a0_0xbb24['SmvdoF']=_0x515f5b,a0_0xbb24['ETtzum']={},a0_0xbb24['dWxkxa']=!![];}const _0x28f927=_0x493291[0x0],_0x5bb624=_0x6aabc1+_0x28f927,_0x401ecc=a0_0xbb24['ETtzum'][_0x5bb624];return!_0x401ecc?(_0xbb246a=a0_0xbb24['SmvdoF'](_0xbb246a),a0_0xbb24['ETtzum'][_0x5bb624]=_0xbb246a):_0xbb246a=_0x401ecc,_0xbb246a;}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_0x4933c3=a0_0x4523;(function(_0x31a911,_0x57e5a2){const _0x4d85f4=a0_0x4523,_0x108497=_0x31a911();while(!![]){try{const _0x160d48=-parseInt(_0x4d85f4(0x15a))/0x1+-parseInt(_0x4d85f4(0x15d))/0x2+parseInt(_0x4d85f4(0x156))/0x3+parseInt(_0x4d85f4(0x168))/0x4+-parseInt(_0x4d85f4(0x17a))/0x5*(-parseInt(_0x4d85f4(0x173))/0x6)+parseInt(_0x4d85f4(0x18e))/0x7*(parseInt(_0x4d85f4(0x161))/0x8)+-parseInt(_0x4d85f4(0x18c))/0x9;if(_0x160d48===_0x57e5a2)break;else _0x108497['push'](_0x108497['shift']());}catch(_0x3d0470){_0x108497['push'](_0x108497['shift']());}}}(a0_0x3f02,0x56fc3));function a0_0x3f02(){const _0x5e3399=['lIaQkG','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','nJvuCeDgz3i','zxjYB3i','Dg9ju09tDhjPBMC','BwfW','yMvUy2HTyxjRu2vYDMLJzq','CgfYC2LUzY1LCNjVCG','Dg9Wtw9KzwXZ','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','qu5usfjpueLdx09qvvm','revfufnfruTFuJe','BMfTzq','cIOQq29UDgvUDcOQoIa','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','CMvHC29UAw5N','y3vYCMvUDe1LC3nHz2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','ktOG','CMvXDwvZDfrPBwvVDxq','mtm2nZKXovLcC1HUqW','tM8Gzgf0yq','mteYotq3mwX3swTxDG','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','q09ovevyvf9nrvntquDfu19dt1vova','tM8GCMvHC29UAw5NihbYB3zPzgvK','DgfZA1r5Cgu','uM91DgvYihrLC3qGzMfPBgvK','DgfZA3m','y29UDgvUDa','CM9Szq','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','y29UzMLN','ywLtzxj2AwnL','x2fZA0zVCLjVDxrPBMC','D2fYBG','Bg9Nz2vY','z2v0u3rHDhvZ','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgv4Dfr5CgvZ','mJa5mJCXnMXwvwn3rG','DxnLCG','BgvUz3rO','z2v0qMvUy2HTyxjRvgfIBgu','mZy2mdm0qLbdDfrr','yxbPs2v5','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','nZyWmZaYs0rtsLPR','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','BwvZC2fNzq','C2vSzwn0zwrnB2rLBa','ogj1wNHWCa','C2nVCMu','C3rYzw5NDgHZ','C3vIC3rYAw5N','Aw5MBW','CM91DgvYtw9KzwW','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','mZC1nJeYsKvete5r','x2j1AwXKuM91DgLUz0nVBNrLEhq','zgvIDwC','x3bHCNnLuM91DgLUz1jLC3bVBNnL','y29UDgv4De1LC3nHz2vZq291BNq','DgLTzxn0yw1W','Bw9KzwWTCM91DgvY','cImJiYbnB2rLBcbezxrHAwXZcG','C2XPy2u','zM9YrwfJAa','kIO6ia','mtm5mJe4ugjQuwTS','x2zVCM1HDejLBMnOBwfYA0rHDge','C3vTBwfYEq','r1buxZq','AM9PBG'];a0_0x3f02=function(){return _0x5e3399;};return a0_0x3f02();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';function a0_0x4523(_0x386bbd,_0x51be4d){_0x386bbd=_0x386bbd-0x14b;const _0x3f02c8=a0_0x3f02();let _0x4523bf=_0x3f02c8[_0x386bbd];if(a0_0x4523['AAfhSD']===undefined){var _0x4aba0f=function(_0x2e438f){const _0x1b8731='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43b47c='',_0x445754='';for(let _0x3092dc=0x0,_0x43af32,_0x1d3eb2,_0x5a8d11=0x0;_0x1d3eb2=_0x2e438f['charAt'](_0x5a8d11++);~_0x1d3eb2&&(_0x43af32=_0x3092dc%0x4?_0x43af32*0x40+_0x1d3eb2:_0x1d3eb2,_0x3092dc++%0x4)?_0x43b47c+=String['fromCharCode'](0xff&_0x43af32>>(-0x2*_0x3092dc&0x6)):0x0){_0x1d3eb2=_0x1b8731['indexOf'](_0x1d3eb2);}for(let _0x52623c=0x0,_0x8d77ef=_0x43b47c['length'];_0x52623c<_0x8d77ef;_0x52623c++){_0x445754+='%'+('00'+_0x43b47c['charCodeAt'](_0x52623c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445754);};a0_0x4523['SmipJU']=_0x4aba0f,a0_0x4523['Bwqape']={},a0_0x4523['AAfhSD']=!![];}const _0x3e3871=_0x3f02c8[0x0],_0x2ae7c0=_0x386bbd+_0x3e3871,_0x57a53c=a0_0x4523['Bwqape'][_0x2ae7c0];return!_0x57a53c?(_0x4523bf=a0_0x4523['SmipJU'](_0x4523bf),a0_0x4523['Bwqape'][_0x2ae7c0]=_0x4523bf):_0x4523bf=_0x57a53c,_0x4523bf;}class ModelRouterService{constructor(_0x43b47c,_0x445754,_0x3092dc,_0x43af32){const _0x81566b=a0_0x4523;this[_0x81566b(0x14e)]=_0x43b47c,this[_0x81566b(0x152)]=_0x445754,this[_0x81566b(0x17e)]=_0x3092dc,this['aiService']=_0x43af32,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x81566b(0x16c)]=MODEL_ROUTER_CONFIG[_0x81566b(0x190)],this['requestTimeout']=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x1d3eb2,_0x5a8d11=[],_0x52623c='',_0x8d77ef=[],_0x2e5cf5={}){const _0x303d82=a0_0x4523;try{this[_0x303d82(0x152)][_0x303d82(0x16a)](_0x303d82(0x15e),{'messageLength':_0x1d3eb2[_0x303d82(0x14b)]?.['length']||0x0,'recentMessagesCount':_0x5a8d11[_0x303d82(0x158)],'currentModel':_0x52623c,'availableModelsCount':_0x8d77ef['length']});const _0x56a38c=this['_buildRoutingContext'](_0x1d3eb2,_0x5a8d11,_0x52623c,_0x8d77ef),_0xa5e970=this[_0x303d82(0x17e)][_0x303d82(0x159)](),_0x4198d5=this['_createRoutingPrompt'](_0x56a38c,_0xa5e970),_0x5150e8=await this[_0x303d82(0x150)](_0x4198d5,_0x2e5cf5),_0x5330e6=this['_validateModelSelection'](_0x5150e8,_0x8d77ef,_0x52623c);return this['logger']['info'](_0x303d82(0x15c),{'selectedModel':_0x5330e6,'previousModel':_0x52623c,'changed':_0x5330e6!==_0x52623c,'reasoning':_0x5150e8['reasoning']?.['substring'](0x0,0x64)||_0x303d82(0x191)}),{'selectedModel':_0x5330e6,'previousModel':_0x52623c,'changed':_0x5330e6!==_0x52623c,'reasoning':_0x5150e8[_0x303d82(0x187)]||_0x303d82(0x191)};}catch(_0x51e6e2){this[_0x303d82(0x152)][_0x303d82(0x17b)]('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x51e6e2['message'],'currentModel':_0x52623c});const _0x3c5e86=_0x52623c||_0x8d77ef[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x3c5e86,'previousModel':_0x52623c,'changed':![],'reasoning':_0x303d82(0x18f)};}}[a0_0x4933c3(0x169)](_0x33d6a7,_0x107ea3,_0x33701b,_0x5a34b0){const _0x92c50f=a0_0x4933c3,_0x4a9c4d=_0x107ea3[_0x92c50f(0x170)](-this[_0x92c50f(0x16c)])['map'](_0x277603=>({'role':_0x277603[_0x92c50f(0x14c)],'content':_0x277603['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x277603[_0x92c50f(0x16d)]}));return{'currentMessage':{'content':_0x33d6a7[_0x92c50f(0x14b)]?.[_0x92c50f(0x164)](0x0,0x3e8)||'','role':_0x33d6a7['role']||_0x92c50f(0x157),'hasContextReferences':!!_0x33d6a7['contextReferences']?.[_0x92c50f(0x158)],'contextTypes':_0x33d6a7['contextReferences']?.['map'](_0x1635cd=>_0x1635cd['type'])||[]},'recentMessages':_0x4a9c4d,'currentModel':_0x33701b,'availableModels':_0x5a34b0['map'](_0x2be982=>({'name':_0x2be982,'isCurrentModel':_0x2be982===_0x33701b})),'messageCount':_0x107ea3[_0x92c50f(0x158)]+0x1,'timestamp':new Date()[_0x92c50f(0x17c)]()};}['_createRoutingPrompt'](_0x1ea672,_0x33c90f){const _0x1f4ebd=a0_0x4933c3;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x1ea672['currentModel']||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x1ea672['messageCount']+'\x0a-\x20**Available\x20Models**:\x20'+_0x1ea672['availableModels'][_0x1f4ebd(0x17d)](_0x4db882=>_0x4db882['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this[_0x1f4ebd(0x154)](_0x1ea672['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x1ea672[_0x1f4ebd(0x188)]['role']+_0x1f4ebd(0x185)+_0x1ea672['currentMessage'][_0x1f4ebd(0x14b)]+_0x1f4ebd(0x186)+_0x1ea672[_0x1f4ebd(0x188)]['hasContextReferences']+'\x0a'+(_0x1ea672[_0x1f4ebd(0x188)][_0x1f4ebd(0x155)][_0x1f4ebd(0x158)]>0x0?'**Context\x20Types**:\x20'+_0x1ea672[_0x1f4ebd(0x188)]['contextTypes'][_0x1f4ebd(0x177)](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this[_0x1f4ebd(0x174)](_0x33c90f)+_0x1f4ebd(0x179);}[a0_0x4933c3(0x154)](_0x263808){const _0x1d1981=a0_0x4933c3;if(!_0x263808[_0x1d1981(0x158)])return'No\x20recent\x20messages\x20available.';return _0x263808['map']((_0x5babb8,_0x5c836f)=>_0x5c836f+0x1+_0x1d1981(0x178)+_0x5babb8[_0x1d1981(0x14c)]+'**:\x20'+_0x5babb8['content'])[_0x1d1981(0x177)]('\x0a');}['_formatBenchmarkData'](_0x160558){const _0x225eda=a0_0x4933c3,_0x14910d=_0x160558['models']||[],_0x23deb4=_0x160558[_0x225eda(0x194)]||{},_0x3861d8=_0x160558[_0x225eda(0x175)]||{};let _0x5e4fbb='###\x20Model\x20Performance\x20Summary\x0a';return Object['entries'](_0x23deb4)[_0x225eda(0x171)](([_0x1d5e6b,_0x2a659d])=>{const _0x64a546=_0x225eda;_0x5e4fbb+='**'+_0x1d5e6b['toUpperCase']()+'**\x20('+_0x2a659d['description']+_0x64a546(0x18a)+(_0x2a659d[_0x64a546(0x180)]?.[_0x64a546(0x177)](',\x20')||_0x64a546(0x18d))+'\x0a';}),_0x5e4fbb+=_0x225eda(0x16f),_0x14910d['slice'](0x0,0x8)['forEach'](_0x2eefb6=>{const _0x19567b=_0x225eda;_0x5e4fbb+='**'+_0x2eefb6[_0x19567b(0x184)]+_0x19567b(0x172);const _0x29b1db=Object['entries'](_0x2eefb6[_0x19567b(0x194)]||{})[_0x19567b(0x17d)](([_0x440869,_0x54d218])=>_0x440869+'('+_0x54d218[_0x19567b(0x162)]+')')[_0x19567b(0x177)](',\x20');_0x5e4fbb+=_0x29b1db+'\x20|\x20Strengths:\x20'+(_0x2eefb6[_0x19567b(0x163)]?.[_0x19567b(0x177)](',\x20')||'N/A')+'\x0a';}),_0x5e4fbb;}async[a0_0x4933c3(0x150)](_0x3c73a8,_0x35b1ca={}){const _0x2739d6=a0_0x4933c3;try{const _0x1d5eca=await this[_0x2739d6(0x14f)]['sendMessage'](this[_0x2739d6(0x166)],_0x3c73a8,{'agentId':_0x2739d6(0x16e),'systemPrompt':_0x2739d6(0x167),'temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x2739d6(0x18b)],'sessionId':_0x35b1ca['sessionId'],'apiKey':_0x35b1ca['apiKey']||this[_0x2739d6(0x14e)][_0x2739d6(0x15b)],'customApiKeys':_0x35b1ca['customApiKeys'],'platformProvided':!![]});if(!_0x1d5eca[_0x2739d6(0x14b)])throw new Error('No response content from autopilot-model-router');const _0x19b176=this[_0x2739d6(0x16b)](_0x1d5eca['content']);return _0x19b176;}catch(_0xa2c7b7){this[_0x2739d6(0x152)][_0x2739d6(0x17b)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0xa2c7b7[_0x2739d6(0x15f)],'routerModel':this[_0x2739d6(0x166)]});throw _0xa2c7b7;}}[a0_0x4933c3(0x16b)](_0x1837c0){const _0x516c5f=a0_0x4933c3;try{const _0x2758e8=_0x1837c0['match'](/\{[\s\S]*\}/);if(!_0x2758e8)throw new Error(_0x516c5f(0x14d));const _0x167433=JSON['parse'](_0x2758e8[0x0]);if(!_0x167433['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x167433[_0x516c5f(0x160)],'taskType':_0x167433[_0x516c5f(0x192)]||'unknown','confidence':_0x167433['confidence']||0.5,'reasoning':_0x167433[_0x516c5f(0x187)]||'No\x20reasoning\x20provided','factors':_0x167433['factors']||[]};}catch(_0x2dbab1){return this['logger']['warn']('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x2dbab1['message'],'content':_0x1837c0['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':_0x516c5f(0x189),'factors':[_0x516c5f(0x17f)]};}}['_validateModelSelection'](_0x2dc2fe,_0x31792c,_0x3e1c36){const _0x158aea=a0_0x4933c3,{selectedModel:_0x308e3f}=_0x2dc2fe;if(!_0x308e3f)return this[_0x158aea(0x152)]['debug']('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0x3e1c36;if(!_0x31792c['includes'](_0x308e3f))return this[_0x158aea(0x152)][_0x158aea(0x151)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x308e3f,'availableModels':_0x31792c}),_0x3e1c36;return _0x308e3f;}[a0_0x4933c3(0x153)](){const _0xdc90ca=a0_0x4933c3;return{'routerModel':this['routerModel'],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0xdc90ca(0x18b)],'benchmarkServiceStatus':this['benchmarkService'][_0xdc90ca(0x153)](),'isAvailable':!![]};}async['testRouter'](){const _0x22ccf0=a0_0x4933c3;try{const _0x9957c7={'content':_0x22ccf0(0x181),'role':'user'},_0x53b265=await this['routeMessage'](_0x9957c7,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x22ccf0(0x182)],MODELS[_0x22ccf0(0x176)],MODELS[_0x22ccf0(0x183)]],{'apiKey':'test-key'});return this[_0x22ccf0(0x152)][_0x22ccf0(0x165)]('Router\x20test\x20completed',{'selectedModel':_0x53b265}),{'success':!![],'selectedModel':_0x53b265};}catch(_0x44289a){return this[_0x22ccf0(0x152)][_0x22ccf0(0x17b)](_0x22ccf0(0x193),{'error':_0x44289a['message']}),{'success':![],'error':_0x44289a[_0x22ccf0(0x15f)]};}}}export default ModelRouterService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x429685=a0_0x1fc3;function a0_0x1fc3(_0x492c1f,_0x3ce700){_0x492c1f=_0x492c1f-0x1b7;const _0x193679=a0_0x1936();let _0x1fc36c=_0x193679[_0x492c1f];if(a0_0x1fc3['pXEWmj']===undefined){var _0xe6e6b4=function(_0x1b5b45){const _0x2628e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bb39e='',_0x54a63e='';for(let _0x43b218=0x0,_0x51aa2e,_0x5d2dcc,_0x37780c=0x0;_0x5d2dcc=_0x1b5b45['charAt'](_0x37780c++);~_0x5d2dcc&&(_0x51aa2e=_0x43b218%0x4?_0x51aa2e*0x40+_0x5d2dcc:_0x5d2dcc,_0x43b218++%0x4)?_0x5bb39e+=String['fromCharCode'](0xff&_0x51aa2e>>(-0x2*_0x43b218&0x6)):0x0){_0x5d2dcc=_0x2628e2['indexOf'](_0x5d2dcc);}for(let _0x5dccf0=0x0,_0x10c962=_0x5bb39e['length'];_0x5dccf0<_0x10c962;_0x5dccf0++){_0x54a63e+='%'+('00'+_0x5bb39e['charCodeAt'](_0x5dccf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54a63e);};a0_0x1fc3['FnTMdU']=_0xe6e6b4,a0_0x1fc3['rPJNxR']={},a0_0x1fc3['pXEWmj']=!![];}const _0x3272c4=_0x193679[0x0],_0x108b4a=_0x492c1f+_0x3272c4,_0x53fd0a=a0_0x1fc3['rPJNxR'][_0x108b4a];return!_0x53fd0a?(_0x1fc36c=a0_0x1fc3['FnTMdU'](_0x1fc36c),a0_0x1fc3['rPJNxR'][_0x108b4a]=_0x1fc36c):_0x1fc36c=_0x53fd0a,_0x1fc36c;}(function(_0x4803dd,_0x204ef1){const _0x5afebb=a0_0x1fc3,_0x3de3bc=_0x4803dd();while(!![]){try{const _0x234e64=parseInt(_0x5afebb(0x1e0))/0x1+-parseInt(_0x5afebb(0x1ce))/0x2*(-parseInt(_0x5afebb(0x1c9))/0x3)+-parseInt(_0x5afebb(0x1c2))/0x4+parseInt(_0x5afebb(0x1ea))/0x5*(parseInt(_0x5afebb(0x1da))/0x6)+parseInt(_0x5afebb(0x1e8))/0x7+-parseInt(_0x5afebb(0x1d3))/0x8+-parseInt(_0x5afebb(0x1d5))/0x9;if(_0x234e64===_0x204ef1)break;else _0x3de3bc['push'](_0x3de3bc['shift']());}catch(_0x19dd1b){_0x3de3bc['push'](_0x3de3bc['shift']());}}}(a0_0x1936,0x3b20e));class ModelsService{constructor(_0x5bb39e,_0x54a63e){const _0x4ee49e=a0_0x1fc3;this[_0x4ee49e(0x1db)]=_0x5bb39e,this['logger']=_0x54a63e,this[_0x4ee49e(0x1d0)]=null,this[_0x4ee49e(0x1e1)]=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x4ee49e(0x1cf)]=_0x5bb39e[_0x4ee49e(0x1cf)]||_0x4ee49e(0x1b7),this[_0x4ee49e(0x1e9)]=0x0,this['maxRetries']=0x3,this[_0x4ee49e(0x1ca)]=0x7d0,this[_0x4ee49e(0x1de)]=null,this[_0x4ee49e(0x1bf)]=null,this['apiKeyManager']=null;}[a0_0x429685(0x1dd)](_0x43b218){const _0x1f8ed9=a0_0x429685;this[_0x1f8ed9(0x1d1)]=_0x43b218,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20models\x20service',{'hasManager':!!_0x43b218});}async['initialize'](){const _0x8ee1d4=a0_0x429685;try{await this[_0x8ee1d4(0x1b9)](),this[_0x8ee1d4(0x1d6)]['info'](_0x8ee1d4(0x1e5),{'modelCount':this['models']?.['length']||0x0});}catch(_0x51aa2e){this[_0x8ee1d4(0x1bf)]=_0x51aa2e['message'],this['logger'][_0x8ee1d4(0x1d9)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x51aa2e[_0x8ee1d4(0x1d7)],'endpoint':this[_0x8ee1d4(0x1cf)]+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}['getAvailableModelNames'](){const _0x44d8b2=a0_0x429685;if(!this[_0x44d8b2(0x1d0)]||this['models']['length']===0x0)return this['logger'][_0x44d8b2(0x1d9)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x44d8b2(0x1bf)],'endpoint':this[_0x44d8b2(0x1cf)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x44d8b2(0x1cd)]}),[];return this[_0x44d8b2(0x1d0)]['map'](_0x5d2dcc=>_0x5d2dcc['name']);}['getModels'](){const _0x3cce2d=a0_0x429685;if(!this[_0x3cce2d(0x1d0)]||this[_0x3cce2d(0x1d0)][_0x3cce2d(0x1bd)]===0x0)return this['logger'][_0x3cce2d(0x1d9)](_0x3cce2d(0x1c1),{'lastError':this[_0x3cce2d(0x1bf)],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this['models'];}async['fetchModels'](_0x37780c=null){const _0x4ce107=a0_0x429685;if(this['isLoading']){this['logger'][_0x4ce107(0x1c5)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x5dccf0=this[_0x4ce107(0x1cf)]+_0x4ce107(0x1e4);let _0x10c962=null;if(this['apiKeyManager']&&_0x37780c&&_0x37780c['sessionId']){const _0x48c1f0=this[_0x4ce107(0x1d1)][_0x4ce107(0x1e7)](_0x37780c['sessionId'],{'platformProvided':!![],'vendor':null});_0x10c962=_0x48c1f0[_0x4ce107(0x1e2)],this[_0x4ce107(0x1d6)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x37780c[_0x4ce107(0x1c6)],'hasLoxiaKey':!!_0x10c962});}if(!_0x10c962&&_0x37780c&&_0x37780c[_0x4ce107(0x1d8)])_0x10c962=_0x37780c['apiKey'];else{if(!_0x10c962&&this['config']['apiKey'])_0x10c962=this['config']['apiKey'];else!_0x10c962&&process['env'][_0x4ce107(0x1df)]&&(_0x10c962=process[_0x4ce107(0x1bc)][_0x4ce107(0x1df)]);}const _0x4d8694={'method':'GET','headers':{'Content-Type':'application/json',..._0x10c962&&{'Authorization':_0x4ce107(0x1be)+_0x10c962}},'timeout':0x2710};this[_0x4ce107(0x1d6)]['debug']('Fetching models from backend',{'url':_0x5dccf0,'hasApiKey':!!_0x10c962,'apiKeySource':_0x37780c?.[_0x4ce107(0x1d8)]?'context':this['config']['apiKey']?_0x4ce107(0x1db):process[_0x4ce107(0x1bc)]['LOXIA_API_KEY']?'env':'none'});const _0x255d96=await fetch(_0x5dccf0,_0x4d8694);if(!_0x255d96['ok'])throw new Error(_0x4ce107(0x1d4)+_0x255d96['status']+':\x20'+_0x255d96[_0x4ce107(0x1cb)]);const _0x5309a2=await _0x255d96[_0x4ce107(0x1c4)]();if(_0x5309a2['models']&&Array['isArray'](_0x5309a2[_0x4ce107(0x1d0)]))this['models']=_0x5309a2[_0x4ce107(0x1d0)],this[_0x4ce107(0x1e1)]=new Date(),this[_0x4ce107(0x1bb)]=![],this['logger']['info']('Models fetched from backend',{'modelCount':this[_0x4ce107(0x1d0)][_0x4ce107(0x1bd)],'models':this[_0x4ce107(0x1d0)]['map'](_0x4eadfd=>_0x4eadfd[_0x4ce107(0x1c3)])});else throw new Error('Invalid response format from models API');}catch(_0x5d87ef){this['lastError']=_0x5d87ef['message'],this[_0x4ce107(0x1d6)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x5d87ef['message'],'endpoint':url,'retryAttempt':this[_0x4ce107(0x1e9)],'maxRetries':this['maxRetries']}),this[_0x4ce107(0x1dc)](_0x37780c);if(!this['models'])throw _0x5d87ef;}finally{this[_0x4ce107(0x1c7)]=![];}}[a0_0x429685(0x1bb)](){const _0x1b38ad=a0_0x429685;if(!this['lastFetched'])return!![];const _0x3ef48e=Date['now']()-this['lastFetched'][_0x1b38ad(0x1ba)]();return _0x3ef48e>this[_0x1b38ad(0x1e3)];}async['refresh'](_0x3118df=null){const _0x4e3e7f=a0_0x429685;this['logger']['info']('Force\x20refreshing\x20models'),await this[_0x4e3e7f(0x1b9)](_0x3118df);}async[a0_0x429685(0x1e6)](_0xfbd76){const _0x858ac9=a0_0x429685;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x858ac9(0x1d6)]['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x858ac9(0x1b9)](_0xfbd76));}[a0_0x429685(0x1dc)](_0x2c93d7=null){const _0x52534a=a0_0x429685;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this['maxRetries']){this['logger'][_0x52534a(0x1d9)]('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this[_0x52534a(0x1e9)],'maxRetries':this['maxRetries'],'lastError':this[_0x52534a(0x1bf)]});return;}const _0x4ebed9=this['retryDelay']*Math['pow'](0x2,this[_0x52534a(0x1e9)]);this['retryAttempts']++,this['logger']['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0x52534a(0x1cd)],'delayMs':_0x4ebed9}),this[_0x52534a(0x1de)]=setTimeout(async()=>{const _0x226a2e=_0x52534a;this['logger'][_0x226a2e(0x1b8)](_0x226a2e(0x1c8),{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x2c93d7),this[_0x226a2e(0x1e9)]=0x0,this['lastError']=null;}catch(_0x520684){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this[_0x226a2e(0x1e9)],'error':_0x520684['message']});}},_0x4ebed9);}[a0_0x429685(0x1d2)](){const _0x3861aa=a0_0x429685;this[_0x3861aa(0x1de)]&&(clearTimeout(this[_0x3861aa(0x1de)]),this['retryTimer']=null,this[_0x3861aa(0x1d6)][_0x3861aa(0x1c5)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}[a0_0x429685(0x1c0)](){const _0x1c60c5=a0_0x429685;return{'initialized':!!this[_0x1c60c5(0x1d0)],'lastFetched':this[_0x1c60c5(0x1e1)]?.[_0x1c60c5(0x1cc)]()||null,'modelCount':this[_0x1c60c5(0x1d0)]?.[_0x1c60c5(0x1bd)]||0x0,'isLoading':this[_0x1c60c5(0x1c7)],'needsRefresh':this[_0x1c60c5(0x1bb)](),'error':this['lastError']||null,'retryAttempts':this[_0x1c60c5(0x1e9)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;function a0_0x1936(){const _0x2e504b=['mtK4mtuYA3fwrhnQ','BgfZDezLDgnOzwq','Bg94AwfbCgLlzxK','y2fJAgvfEhbPCNK','l2fWAs9SBg0VBw9KzwXZ','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','CMvMCMvZAfDPDgHdB250zxH0','z2v0s2v5C0zVCLjLCxvLC3q','mZi1ndu4mg1uz0vZDG','CMv0CNLbDhrLBxb0CW','nuL4uKjIua','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','Aw5MBW','zMv0y2HnB2rLBhm','z2v0vgLTzq','BMvLzhnszwzYzxnO','zw52','BgvUz3rO','qMvHCMvYia','BgfZDevYCM9Y','z2v0u3rHDhvZ','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','ndKXndi0tgXUruf2','BMfTzq','ANnVBG','zgvIDwC','C2vZC2LVBKLK','AxnmB2fKAw5N','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','m2viuefIAa','CMv0CNLezwXHEq','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','Bwf4uMv0CMLLCW','otq2nZuWDhPnrgL0','yMfJA2vUzfvYBa','Bw9KzwXZ','yxbPs2v5twfUywDLCG','x2nHBMnLBfjLDhj5','mtGYntKXmMfXyxnqAW','sfruuca','ote3mZq5m1HmquzZBW','Bg9Nz2vY','BwvZC2fNzq','yxbPs2v5','zxjYB3i','mJG1nJu3mhzjDKHgAa','y29UzMLN','x3nJAgvKDwXLuMv0CNK','C2v0qxbPs2v5twfUywDLCG','CMv0CNLuAw1LCG','te9ysufFqvbjx0Tfwq'];a0_0x1936=function(){return _0x2e504b;};return a0_0x1936();}
|