@loxia-labs/loxia-autopilot-one 1.0.15 → 1.0.16
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 +2 -2
- 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-DFmFvOoy.css +1 -0
- package/web-ui/build/static/{index-CR8edPA3.js → index-DOk0l6Kf.js} +73 -73
- package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5cf4(){const _0x1adeb1=['yxnZAxn0yw50','vfjvtKnbveLptG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','zgvIDwC','Bg9Nz2vY','vg9VigzLDYbTzxnZywDLCW','mZaYntaXnLf6EMzcrW','r2vUzxjHDgLUzYbZDw1Tyxj5','C2vUze1LC3nHz2u','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','C3vTBwfYEvbYB21WDfrLBxbSyxrL','ywLtzxj2AwnL','ntK4mtK0DMPMBxvM','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','BwLKzgXL','tufyx1nvtu1buLLFve9lru5t','C2vWyxjHDg9Y','BM93','zw5K','C3LZDgvT','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','mte2ota2ofztyvvvra','y29TCgfJDgvKtwvZC2fNzxm','ru5ex1nfr01ftLrFuevsq0vovefhrq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','twvZC2fNzxmGyxjYyxKGAxmGCMvXDwLYzwqGyw5KignHBM5VDcbIzsbLBxb0Eq','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','ywDNCMvZC2L2zq','mtHHDxbTEwW','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','C2vZC2LVBKLK','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','y29UDgvUDa','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','mtaXnta1mJvqzuTyALO','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','AxnszxrYEq','BwvZC2fNzq','ig1LC3nHz2vZ','DxnLCG','x2DLBMvYyxrLu3vTBwfYEq','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','BwfW','DgLTzxn0yw1W','C2XPy2u','B3jPz2LUywWGBwvZC2fNzxmG','z2v0tw9KzwXdB250zxH0v2LUzg93','BM9Uzq','mtK4ody3uvfcBvnK','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','mtGWode2nJzyDKznEem','AM9PBG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','yMvNAw5UAw5N','ic0G','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','y291BNruB2TLBNm','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','ody1mZCXnKfyreDJBq','CMvWBgfJzq','zMXVB3i','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','CM9Szq','quDhuKvtu0Lwrq','D2fYBG','nvbwB3rOBW','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','y29TCgfJDenVBNzLCNnHDgLVBG','BgvUz3rO','BwLKzgXLrw5Ksw5KzxG','C3vTBwfYEq','qundvvjbveu','E21PzgrSzv9ZzwDTzw50Fq'];a0_0x5cf4=function(){return _0x1adeb1;};return a0_0x5cf4();}function a0_0xea83(_0x2f81ad,_0x1507e9){_0x2f81ad=_0x2f81ad-0x1ef;const _0x5cf46e=a0_0x5cf4();let _0xea8365=_0x5cf46e[_0x2f81ad];if(a0_0xea83['eoExbj']===undefined){var _0x1aac6c=function(_0x2d31b3){const _0x50b36c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f370a='',_0x432016='';for(let _0x5fa8e5=0x0,_0x286359,_0x250516,_0x1eb8ea=0x0;_0x250516=_0x2d31b3['charAt'](_0x1eb8ea++);~_0x250516&&(_0x286359=_0x5fa8e5%0x4?_0x286359*0x40+_0x250516:_0x250516,_0x5fa8e5++%0x4)?_0x5f370a+=String['fromCharCode'](0xff&_0x286359>>(-0x2*_0x5fa8e5&0x6)):0x0){_0x250516=_0x50b36c['indexOf'](_0x250516);}for(let _0xabc851=0x0,_0x187f06=_0x5f370a['length'];_0xabc851<_0x187f06;_0xabc851++){_0x432016+='%'+('00'+_0x5f370a['charCodeAt'](_0xabc851)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x432016);};a0_0xea83['CKkUec']=_0x1aac6c,a0_0xea83['ZQmBGM']={},a0_0xea83['eoExbj']=!![];}const _0x44b1eb=_0x5cf46e[0x0],_0x5a1ef1=_0x2f81ad+_0x44b1eb,_0x3836e5=a0_0xea83['ZQmBGM'][_0x5a1ef1];return!_0x3836e5?(_0xea8365=a0_0xea83['CKkUec'](_0xea8365),a0_0xea83['ZQmBGM'][_0x5a1ef1]=_0xea8365):_0xea8365=_0x3836e5,_0xea8365;}const a0_0x34a858=a0_0xea83;(function(_0x364bd9,_0x3418fa){const _0x24cd41=a0_0xea83,_0x19976b=_0x364bd9();while(!![]){try{const _0xc9076b=-parseInt(_0x24cd41(0x20f))/0x1+-parseInt(_0x24cd41(0x21f))/0x2*(-parseInt(_0x24cd41(0x238))/0x3)+-parseInt(_0x24cd41(0x218))/0x4*(-parseInt(_0x24cd41(0x1fa))/0x5)+parseInt(_0x24cd41(0x1f3))/0x6+parseInt(_0x24cd41(0x229))/0x7+-parseInt(_0x24cd41(0x209))/0x8+-parseInt(_0x24cd41(0x23a))/0x9;if(_0xc9076b===_0x3418fa)break;else _0x19976b['push'](_0x19976b['shift']());}catch(_0x4cee60){_0x19976b['push'](_0x19976b['shift']());}}}(a0_0x5cf4,0xc24ba));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x5f370a,_0x432016,_0x5fa8e5){const _0x14bebd=a0_0xea83;this[_0x14bebd(0x22b)]=_0x5f370a,this['aiService']=_0x432016,this['logger']=_0x5fa8e5,this[_0x14bebd(0x20d)]=this['_createSummaryPromptTemplate']();}async[a0_0x34a858(0x1fc)](_0x286359,_0x250516,_0x1eb8ea,_0xabc851={}){const _0x1165d3=a0_0x34a858,_0x187f06=Date[_0x1165d3(0x214)]();try{if(!Array['isArray'](_0x286359)||_0x286359['length']===0x0)throw new Error(_0x1165d3(0x21c));if(_0x286359['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0x1165d3(0x207)][_0x1165d3(0x1f9)](_0x1165d3(0x205),{'messageCount':_0x286359[_0x1165d3(0x1fd)],'minimum':COMPACTION_CONFIG[_0x1165d3(0x21b)]}),{'compactedMessages':_0x286359,'strategy':_0x1165d3(0x237),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x1165d3(0x208)};const _0x23c80c=_0x250516!==_0x1eb8ea,_0x320b0e=_0xabc851[_0x1165d3(0x22c)]||![];let _0x1f8b5a;if(_0x23c80c)_0x1f8b5a=COMPACTION_STRATEGIES[_0x1165d3(0x203)];else _0x320b0e?_0x1f8b5a=COMPACTION_STRATEGIES[_0x1165d3(0x1f8)]:_0x1f8b5a=_0xabc851['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x286359[_0x1165d3(0x1fd)],'currentModel':_0x250516,'targetModel':_0x1eb8ea,'strategy':_0x1f8b5a,'isModelSwitch':_0x23c80c,'isRetry':_0x320b0e});let _0x219642;switch(_0x1f8b5a){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x219642=await this[_0x1165d3(0x222)](_0x286359,_0x250516,_0xabc851);break;case COMPACTION_STRATEGIES[_0x1165d3(0x203)]:_0x219642=await this[_0x1165d3(0x227)](_0x286359,_0x1eb8ea,_0xabc851);break;case COMPACTION_STRATEGIES[_0x1165d3(0x1f8)]:_0x219642=await this['_compactWithAggressiveSummarization'](_0x286359,_0x250516,_0xabc851);break;default:throw new Error(_0x1165d3(0x1f6)+_0x1f8b5a);}const _0x28dc4f=Date[_0x1165d3(0x214)]()-_0x187f06;return _0x219642['executionTime']=_0x28dc4f,_0x219642[_0x1165d3(0x233)]=new Date()['toISOString'](),this['logger']['info']('Compaction\x20completed\x20successfully',{'strategy':_0x219642['strategy'],'originalMessages':_0x286359['length'],'compactedMessages':_0x219642[_0x1165d3(0x219)][_0x1165d3(0x1fd)],'originalTokens':_0x219642['originalTokenCount'],'compactedTokens':_0x219642['compactedTokenCount'],'reductionPercent':_0x219642['reductionPercent']['toFixed'](0x2),'executionTime':_0x28dc4f+'ms'}),_0x219642;}catch(_0x1c6511){const _0x423ce9=Date[_0x1165d3(0x214)]()-_0x187f06;this[_0x1165d3(0x207)]['error']('Compaction\x20failed',{'error':_0x1c6511[_0x1165d3(0x22d)],'messageCount':_0x286359['length'],'currentModel':_0x250516,'targetModel':_0x1eb8ea,'executionTime':_0x423ce9+'ms'});throw _0x1c6511;}}async[a0_0x34a858(0x222)](_0x27c740,_0xe2e6,_0x4b94b6){const _0x16560a=a0_0x34a858,_0xd24611=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x53623a=await this['tokenCountingService'][_0x16560a(0x23d)](_0x27c740,_0xe2e6,TOKEN_COUNTING_MODES[_0x16560a(0x200)]),_0x579710=await this['_identifySegments'](_0x27c740,_0xe2e6,COMPACTION_CONFIG[_0x16560a(0x22a)],COMPACTION_CONFIG[_0x16560a(0x21a)]);this[_0x16560a(0x207)][_0x16560a(0x206)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x579710[_0x16560a(0x23f)]['length'],'middleMessages':_0x579710['middle'][_0x16560a(0x1fd)],'endMessages':_0x579710['end'][_0x16560a(0x1fd)],'middleStartIndex':_0x579710[_0x16560a(0x221)],'middleEndIndex':_0x579710[_0x16560a(0x1fe)],'totalMessages':_0x27c740[_0x16560a(0x1fd)]});const _0x58ecfc=await this['_generateSummary'](_0x579710[_0x16560a(0x211)],_0xe2e6,{..._0x4b94b6,'middleStartIndex':_0x579710['middleStartIndex'],'middleEndIndex':_0x579710[_0x16560a(0x1fe)]}),_0x4e3928=[..._0x579710[_0x16560a(0x23f)],_0x58ecfc,..._0x579710['end']],_0xf05f6c=await this[_0x16560a(0x22b)][_0x16560a(0x23d)](_0x4e3928,_0xe2e6,TOKEN_COUNTING_MODES['ACCURATE']),_0x30b982=(_0x53623a-_0xf05f6c)/_0x53623a*0x64;return{'compactedMessages':_0x4e3928,'strategy':_0xd24611,'originalTokenCount':_0x53623a,'compactedTokenCount':_0xf05f6c,'reductionPercent':_0x30b982,'segments':{'beginningCount':_0x579710[_0x16560a(0x23f)]['length'],'middleCount':_0x579710[_0x16560a(0x211)][_0x16560a(0x1fd)],'endCount':_0x579710['end'][_0x16560a(0x1fd)],'summaryInserted':!![]}};}async[a0_0x34a858(0x227)](_0x1f51f2,_0x1504e0,_0x144629){const _0xe9e9a7=a0_0x34a858,_0x2533c0=COMPACTION_STRATEGIES[_0xe9e9a7(0x203)],_0x18dd90=this[_0xe9e9a7(0x22b)][_0xe9e9a7(0x236)](_0x1504e0),_0x446067=Math[_0xe9e9a7(0x1f5)](_0x18dd90*0.8),_0x352d8c=await this['tokenCountingService'][_0xe9e9a7(0x23d)](_0x1f51f2,_0x1504e0,TOKEN_COUNTING_MODES[_0xe9e9a7(0x200)]),_0x1f00e6=await this['_identifySegments'](_0x1f51f2,_0x1504e0,COMPACTION_CONFIG[_0xe9e9a7(0x228)],COMPACTION_CONFIG[_0xe9e9a7(0x220)]);this[_0xe9e9a7(0x207)]['debug'](_0xe9e9a7(0x23c),{'beginningMessages':_0x1f00e6['beginning']['length'],'middleMessages':_0x1f00e6['middle']['length'],'endMessages':_0x1f00e6['end']['length'],'targetTokenCount':_0x446067,'originalTokenCount':_0x352d8c});const _0x3fe1c6={'role':_0xe9e9a7(0x216),'content':COMPACTION_CONFIG[_0xe9e9a7(0x204)],'type':_0xe9e9a7(0x213),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x1f00e6[_0xe9e9a7(0x211)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x528957=[..._0x1f00e6[_0xe9e9a7(0x23f)],_0x3fe1c6,..._0x1f00e6[_0xe9e9a7(0x215)]],_0x324161=await this['tokenCountingService'][_0xe9e9a7(0x23d)](_0x528957,_0x1504e0,TOKEN_COUNTING_MODES[_0xe9e9a7(0x200)]),_0x47002c=(_0x352d8c-_0x324161)/_0x352d8c*0x64;return{'compactedMessages':_0x528957,'strategy':_0x2533c0,'originalTokenCount':_0x352d8c,'compactedTokenCount':_0x324161,'reductionPercent':_0x47002c,'segments':{'beginningCount':_0x1f00e6['beginning'][_0xe9e9a7(0x1fd)],'middleCount':_0x1f00e6[_0xe9e9a7(0x211)][_0xe9e9a7(0x1fd)],'endCount':_0x1f00e6['end']['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x3dad25,_0x4a79b3,_0x562f48){const _0x45925e=a0_0x34a858,_0x4d64a3=COMPACTION_STRATEGIES[_0x45925e(0x1f8)],_0x5864a6=await this[_0x45925e(0x22b)]['estimateConversationTokens'](_0x3dad25,_0x4a79b3,TOKEN_COUNTING_MODES['ACCURATE']),_0x148bdc=await this['_identifySegments'](_0x3dad25,_0x4a79b3,COMPACTION_CONFIG[_0x45925e(0x231)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x45925e(0x207)]['debug'](_0x45925e(0x225),{'beginningMessages':_0x148bdc[_0x45925e(0x23f)]['length'],'middleMessages':_0x148bdc[_0x45925e(0x211)]['length'],'endMessages':_0x148bdc[_0x45925e(0x215)][_0x45925e(0x1fd)],'middleStartIndex':_0x148bdc[_0x45925e(0x221)],'middleEndIndex':_0x148bdc[_0x45925e(0x1fe)]});const _0x2a9fc2=await this[_0x45925e(0x230)](_0x148bdc['middle'],_0x4a79b3,{..._0x562f48,'aggressive':!![],'middleStartIndex':_0x148bdc[_0x45925e(0x221)],'middleEndIndex':_0x148bdc[_0x45925e(0x1fe)]}),_0x1d4521=[..._0x148bdc[_0x45925e(0x23f)],_0x2a9fc2,..._0x148bdc['end']],_0x282654=await this[_0x45925e(0x22b)][_0x45925e(0x23d)](_0x1d4521,_0x4a79b3,TOKEN_COUNTING_MODES[_0x45925e(0x200)]),_0x3ca8b8=(_0x5864a6-_0x282654)/_0x5864a6*0x64;return{'compactedMessages':_0x1d4521,'strategy':_0x4d64a3,'originalTokenCount':_0x5864a6,'compactedTokenCount':_0x282654,'reductionPercent':_0x3ca8b8,'segments':{'beginningCount':_0x148bdc[_0x45925e(0x23f)]['length'],'middleCount':_0x148bdc[_0x45925e(0x211)]['length'],'endCount':_0x148bdc[_0x45925e(0x215)][_0x45925e(0x1fd)],'summaryInserted':!![]}};}async['_identifySegments'](_0x4dae04,_0x580f60,_0x4fb384,_0x41ffa4){const _0x30d227=a0_0x34a858,_0x58d231=await this['tokenCountingService'][_0x30d227(0x23d)](_0x4dae04,_0x580f60,TOKEN_COUNTING_MODES[_0x30d227(0x200)]),_0x2c6bbd=Math[_0x30d227(0x1f5)](_0x58d231*_0x4fb384),_0x53aa83=Math['floor'](_0x58d231*_0x41ffa4);let _0x33343a=0x0,_0x3f18ef=0x0;for(let _0x795c30=0x0;_0x795c30<_0x4dae04['length'];_0x795c30++){const _0x2731b1=await this[_0x30d227(0x22b)][_0x30d227(0x1f1)](_0x4dae04[_0x795c30][_0x30d227(0x226)],_0x580f60,TOKEN_COUNTING_MODES['CACHED']);if(_0x33343a+_0x2731b1>_0x2c6bbd&&_0x795c30>=0x2)break;_0x33343a+=_0x2731b1,_0x3f18ef=_0x795c30+0x1;}let _0x45e51e=0x0,_0x21cdc7=_0x4dae04[_0x30d227(0x1fd)];for(let _0x2e3374=_0x4dae04[_0x30d227(0x1fd)]-0x1;_0x2e3374>=0x0;_0x2e3374--){const _0x3eac22=await this['tokenCountingService'][_0x30d227(0x1f1)](_0x4dae04[_0x2e3374][_0x30d227(0x226)],_0x580f60,TOKEN_COUNTING_MODES['CACHED']);if(_0x45e51e+_0x3eac22>_0x53aa83)break;_0x45e51e+=_0x3eac22,_0x21cdc7=_0x2e3374;}_0x21cdc7<_0x3f18ef&&(_0x21cdc7=_0x3f18ef);const _0x13fa99=_0x4dae04[_0x30d227(0x234)](0x0,_0x3f18ef),_0x2c9936=_0x4dae04[_0x30d227(0x234)](_0x3f18ef,_0x21cdc7),_0x48954b=_0x4dae04['slice'](_0x21cdc7);return{'beginning':_0x13fa99,'middle':_0x2c9936,'end':_0x48954b,'middleStartIndex':_0x3f18ef,'middleEndIndex':_0x21cdc7-0x1};}async['_generateSummary'](_0x2d37ec,_0x4d02d6,_0x5d425d={}){const _0x3cbc60=a0_0x34a858;if(_0x2d37ec['length']===0x0)return{'role':_0x3cbc60(0x216),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3cbc60(0x239),'type':_0x3cbc60(0x1ff),'timestamp':new Date()['toISOString']()};const _0x4dec06=_0x2d37ec[_0x3cbc60(0x232)](_0x2c62dc=>_0x2c62dc[_0x3cbc60(0x1f7)]+':\x20'+_0x2c62dc[_0x3cbc60(0x226)])[_0x3cbc60(0x23b)]('\x0a\x0a'),_0x306bd2=this[_0x3cbc60(0x20d)]['replace'](_0x3cbc60(0x201),_0x4dec06)[_0x3cbc60(0x1f4)]('{aggressive_instruction}',_0x5d425d[_0x3cbc60(0x21e)]?_0x3cbc60(0x1f0):''),_0x2ac262=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3cbc60(0x217)]];let _0x1f3c51=null;for(const _0x50c4ff of _0x2ac262){try{this['logger']['debug'](_0x3cbc60(0x20a),{'compactionModel':_0x50c4ff,'middleMessageCount':_0x2d37ec['length'],'middleContentLength':_0x4dec06[_0x3cbc60(0x1fd)],'aggressive':_0x5d425d[_0x3cbc60(0x21e)]});const _0x175267=await this[_0x3cbc60(0x20e)][_0x3cbc60(0x20b)](_0x50c4ff,_0x306bd2,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG[_0x3cbc60(0x212)],'temperature':0.3,'sessionId':_0x5d425d[_0x3cbc60(0x224)],'platformProvided':!![]}),_0x49b09a=_0x175267['content']['trim'](),_0xbbc99e=_0x5d425d['middleStartIndex']!==undefined&&_0x5d425d[_0x3cbc60(0x1fe)]!==undefined?_0x3cbc60(0x235)+_0x5d425d[_0x3cbc60(0x221)]+'-'+_0x5d425d[_0x3cbc60(0x1fe)]:_0x2d37ec['length']+'\x20messages';return this[_0x3cbc60(0x207)]['info'](_0x3cbc60(0x20c),{'compactionModel':_0x50c4ff,'originalLength':_0x4dec06[_0x3cbc60(0x1fd)],'summaryLength':_0x49b09a[_0x3cbc60(0x1fd)],'compressionRatio':(_0x49b09a[_0x3cbc60(0x1fd)]/_0x4dec06['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0xbbc99e}),{'role':'system','content':COMPACTION_CONFIG[_0x3cbc60(0x23e)]+_0x3cbc60(0x1ef)+_0xbbc99e+']\x0a\x0a'+_0x49b09a+'\x0a\x0a'+COMPACTION_CONFIG[_0x3cbc60(0x21d)],'type':_0x3cbc60(0x1ff),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2d37ec['length'],'originalStartIndex':_0x5d425d[_0x3cbc60(0x221)],'originalEndIndex':_0x5d425d['middleEndIndex'],'compactionModel':_0x50c4ff,'aggressive':_0x5d425d[_0x3cbc60(0x21e)]||![]}};}catch(_0x485810){_0x1f3c51=_0x485810,this['logger'][_0x3cbc60(0x1f9)](_0x3cbc60(0x1f2),{'compactionModel':_0x50c4ff,'error':_0x485810[_0x3cbc60(0x22d)],'middleMessageCount':_0x2d37ec['length']});}}this['logger']['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x2ac262[_0x3cbc60(0x1fd)],'lastError':_0x1f3c51?.['message'],'middleMessageCount':_0x2d37ec['length']});const _0xe5d932=this[_0x3cbc60(0x223)](_0x2d37ec),_0x303f17=_0x5d425d['middleStartIndex']!==undefined&&_0x5d425d[_0x3cbc60(0x1fe)]!==undefined?'original\x20messages\x20'+_0x5d425d[_0x3cbc60(0x221)]+'-'+_0x5d425d[_0x3cbc60(0x1fe)]:_0x2d37ec['length']+_0x3cbc60(0x22e);return{'role':_0x3cbc60(0x216),'content':COMPACTION_CONFIG[_0x3cbc60(0x23e)]+_0x3cbc60(0x1ef)+_0x303f17+']\x0a\x0a'+_0xe5d932+'\x0a\x0a'+COMPACTION_CONFIG[_0x3cbc60(0x21d)],'type':'summary','timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2d37ec[_0x3cbc60(0x1fd)],'originalStartIndex':_0x5d425d['middleStartIndex'],'originalEndIndex':_0x5d425d['middleEndIndex'],'fallback':!![],'error':_0x1f3c51?.['message'],'modelsAttempted':_0x2ac262}};}[a0_0x34a858(0x223)](_0x1ad97e){const _0x4ae063=a0_0x34a858,_0x491350=_0x1ad97e['length'],_0x3ad023=_0x1ad97e[_0x4ae063(0x232)](_0x48d7e4=>_0x48d7e4['role']),_0x5a6c52=_0x3ad023['filter'](_0x1ee027=>_0x1ee027===_0x4ae063(0x22f))['length'],_0x220733=_0x3ad023['filter'](_0x1c3115=>_0x1c3115===_0x4ae063(0x202))[_0x4ae063(0x1fd)];return'['+_0x491350+'\x20messages\x20summarized\x20-\x20'+_0x5a6c52+'\x20user\x20messages,\x20'+_0x220733+_0x4ae063(0x210)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x13d2e2=a0_0x34a858;return _0x13d2e2(0x1fb);}}export default ConversationCompactionService;
|
|
1
|
+
function a0_0xc7c1(_0x2c8833,_0x491621){_0x2c8833=_0x2c8833-0x1c3;const _0x124e07=a0_0x124e();let _0xc7c1e7=_0x124e07[_0x2c8833];if(a0_0xc7c1['DMNfux']===undefined){var _0x2e6957=function(_0x598463){const _0x3f4d9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x134e45='',_0x39c734='';for(let _0x4ce316=0x0,_0x58a321,_0x569d8f,_0x47eb05=0x0;_0x569d8f=_0x598463['charAt'](_0x47eb05++);~_0x569d8f&&(_0x58a321=_0x4ce316%0x4?_0x58a321*0x40+_0x569d8f:_0x569d8f,_0x4ce316++%0x4)?_0x134e45+=String['fromCharCode'](0xff&_0x58a321>>(-0x2*_0x4ce316&0x6)):0x0){_0x569d8f=_0x3f4d9d['indexOf'](_0x569d8f);}for(let _0x27bcbc=0x0,_0x8a4b24=_0x134e45['length'];_0x27bcbc<_0x8a4b24;_0x27bcbc++){_0x39c734+='%'+('00'+_0x134e45['charCodeAt'](_0x27bcbc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39c734);};a0_0xc7c1['zUvWcP']=_0x2e6957,a0_0xc7c1['lbJXVj']={},a0_0xc7c1['DMNfux']=!![];}const _0x13b903=_0x124e07[0x0],_0xb30227=_0x2c8833+_0x13b903,_0xc4c796=a0_0xc7c1['lbJXVj'][_0xb30227];return!_0xc4c796?(_0xc7c1e7=a0_0xc7c1['zUvWcP'](_0xc7c1e7),a0_0xc7c1['lbJXVj'][_0xb30227]=_0xc7c1e7):_0xc7c1e7=_0xc4c796,_0xc7c1e7;}const a0_0x31094b=a0_0xc7c1;(function(_0x5c35ec,_0x11f17e){const _0xa1004=a0_0xc7c1,_0x230ae7=_0x5c35ec();while(!![]){try{const _0x42aff6=-parseInt(_0xa1004(0x1e1))/0x1+-parseInt(_0xa1004(0x1de))/0x2+-parseInt(_0xa1004(0x1ca))/0x3*(-parseInt(_0xa1004(0x212))/0x4)+parseInt(_0xa1004(0x1f2))/0x5*(-parseInt(_0xa1004(0x207))/0x6)+parseInt(_0xa1004(0x1d3))/0x7+-parseInt(_0xa1004(0x208))/0x8+parseInt(_0xa1004(0x20d))/0x9;if(_0x42aff6===_0x11f17e)break;else _0x230ae7['push'](_0x230ae7['shift']());}catch(_0x5ee349){_0x230ae7['push'](_0x230ae7['shift']());}}}(a0_0x124e,0x2d63c));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x134e45,_0x39c734,_0x4ce316){const _0x3d1ecc=a0_0xc7c1;this[_0x3d1ecc(0x1f3)]=_0x134e45,this[_0x3d1ecc(0x203)]=_0x39c734,this['logger']=_0x4ce316,this['summaryPromptTemplate']=this[_0x3d1ecc(0x1e3)]();}async['compactConversation'](_0x58a321,_0x569d8f,_0x47eb05,_0x27bcbc={}){const _0x20a76a=a0_0xc7c1,_0x8a4b24=Date[_0x20a76a(0x1d4)]();try{if(!Array['isArray'](_0x58a321)||_0x58a321['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x58a321['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this['logger']['warn'](_0x20a76a(0x1ee),{'messageCount':_0x58a321[_0x20a76a(0x1c8)],'minimum':COMPACTION_CONFIG[_0x20a76a(0x1e5)]}),{'compactedMessages':_0x58a321,'strategy':_0x20a76a(0x1fd),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x476a81=_0x569d8f!==_0x47eb05,_0x4b83f2=_0x27bcbc[_0x20a76a(0x1d2)]||![];let _0x265165;if(_0x476a81)_0x265165=COMPACTION_STRATEGIES['TRUNCATION'];else _0x4b83f2?_0x265165=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x265165=_0x27bcbc[_0x20a76a(0x1ff)]||COMPACTION_STRATEGIES[_0x20a76a(0x201)];this['logger'][_0x20a76a(0x1ea)]('Starting\x20conversation\x20compaction',{'messageCount':_0x58a321[_0x20a76a(0x1c8)],'currentModel':_0x569d8f,'targetModel':_0x47eb05,'strategy':_0x265165,'isModelSwitch':_0x476a81,'isRetry':_0x4b83f2});let _0x32882c;switch(_0x265165){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x32882c=await this['_compactWithSummarization'](_0x58a321,_0x569d8f,_0x27bcbc);break;case COMPACTION_STRATEGIES[_0x20a76a(0x1f5)]:_0x32882c=await this[_0x20a76a(0x1d7)](_0x58a321,_0x47eb05,_0x27bcbc);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x32882c=await this[_0x20a76a(0x211)](_0x58a321,_0x569d8f,_0x27bcbc);break;default:throw new Error(_0x20a76a(0x20e)+_0x265165);}const _0x2f9e20=Date[_0x20a76a(0x1d4)]()-_0x8a4b24;return _0x32882c[_0x20a76a(0x1e2)]=_0x2f9e20,_0x32882c['timestamp']=new Date()[_0x20a76a(0x209)](),this['logger']['info'](_0x20a76a(0x1ef),{'strategy':_0x32882c['strategy'],'originalMessages':_0x58a321[_0x20a76a(0x1c8)],'compactedMessages':_0x32882c['compactedMessages']['length'],'originalTokens':_0x32882c[_0x20a76a(0x1f9)],'compactedTokens':_0x32882c['compactedTokenCount'],'reductionPercent':_0x32882c['reductionPercent']['toFixed'](0x2),'executionTime':_0x2f9e20+'ms'}),_0x32882c;}catch(_0x39ca67){const _0x31073c=Date[_0x20a76a(0x1d4)]()-_0x8a4b24;this['logger']['error'](_0x20a76a(0x1c7),{'error':_0x39ca67[_0x20a76a(0x1ed)],'messageCount':_0x58a321['length'],'currentModel':_0x569d8f,'targetModel':_0x47eb05,'executionTime':_0x31073c+'ms'});throw _0x39ca67;}}async[a0_0x31094b(0x1da)](_0x28d196,_0x3cd7af,_0x2bf07f){const _0x577b2b=a0_0x31094b,_0x2c97dc=COMPACTION_STRATEGIES[_0x577b2b(0x201)],_0x414c34=await this['tokenCountingService']['estimateConversationTokens'](_0x28d196,_0x3cd7af,TOKEN_COUNTING_MODES[_0x577b2b(0x1d8)]),_0x4100d4=await this['_identifySegments'](_0x28d196,_0x3cd7af,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this['logger'][_0x577b2b(0x1fc)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x4100d4['beginning']['length'],'middleMessages':_0x4100d4[_0x577b2b(0x1fa)][_0x577b2b(0x1c8)],'endMessages':_0x4100d4[_0x577b2b(0x205)]['length'],'middleStartIndex':_0x4100d4[_0x577b2b(0x1d0)],'middleEndIndex':_0x4100d4[_0x577b2b(0x20c)],'totalMessages':_0x28d196['length']});const _0x55afc6=await this[_0x577b2b(0x1f8)](_0x4100d4['middle'],_0x3cd7af,{..._0x2bf07f,'middleStartIndex':_0x4100d4[_0x577b2b(0x1d0)],'middleEndIndex':_0x4100d4[_0x577b2b(0x20c)]}),_0x250cad=[..._0x4100d4[_0x577b2b(0x20b)],_0x55afc6,..._0x4100d4[_0x577b2b(0x205)]],_0x4cd9b8=await this['tokenCountingService']['estimateConversationTokens'](_0x250cad,_0x3cd7af,TOKEN_COUNTING_MODES['ACCURATE']),_0x4c400c=(_0x414c34-_0x4cd9b8)/_0x414c34*0x64;return{'compactedMessages':_0x250cad,'strategy':_0x2c97dc,'originalTokenCount':_0x414c34,'compactedTokenCount':_0x4cd9b8,'reductionPercent':_0x4c400c,'segments':{'beginningCount':_0x4100d4['beginning'][_0x577b2b(0x1c8)],'middleCount':_0x4100d4['middle'][_0x577b2b(0x1c8)],'endCount':_0x4100d4[_0x577b2b(0x205)][_0x577b2b(0x1c8)],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x5a59a3,_0x4b1b6e,_0x4cfd98){const _0x4e3fba=a0_0x31094b,_0x276949=COMPACTION_STRATEGIES['TRUNCATION'],_0x508f15=this[_0x4e3fba(0x1f3)][_0x4e3fba(0x1f6)](_0x4b1b6e),_0x543cd4=Math['floor'](_0x508f15*0.8),_0x31c1bd=await this['tokenCountingService']['estimateConversationTokens'](_0x5a59a3,_0x4b1b6e,TOKEN_COUNTING_MODES['ACCURATE']),_0x3639bf=await this['_identifySegments'](_0x5a59a3,_0x4b1b6e,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x4e3fba(0x1cf)]);this['logger'][_0x4e3fba(0x1fc)](_0x4e3fba(0x1c6),{'beginningMessages':_0x3639bf['beginning']['length'],'middleMessages':_0x3639bf['middle'][_0x4e3fba(0x1c8)],'endMessages':_0x3639bf['end'][_0x4e3fba(0x1c8)],'targetTokenCount':_0x543cd4,'originalTokenCount':_0x31c1bd});const _0x4568bf={'role':_0x4e3fba(0x1d5),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0x4e3fba(0x1dc),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x3639bf[_0x4e3fba(0x1fa)][_0x4e3fba(0x1c8)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0xa244cb=[..._0x3639bf['beginning'],_0x4568bf,..._0x3639bf[_0x4e3fba(0x205)]],_0x3627da=await this['tokenCountingService'][_0x4e3fba(0x1e7)](_0xa244cb,_0x4b1b6e,TOKEN_COUNTING_MODES[_0x4e3fba(0x1d8)]),_0x1b42f8=(_0x31c1bd-_0x3627da)/_0x31c1bd*0x64;return{'compactedMessages':_0xa244cb,'strategy':_0x276949,'originalTokenCount':_0x31c1bd,'compactedTokenCount':_0x3627da,'reductionPercent':_0x1b42f8,'segments':{'beginningCount':_0x3639bf['beginning'][_0x4e3fba(0x1c8)],'middleCount':_0x3639bf[_0x4e3fba(0x1fa)]['length'],'endCount':_0x3639bf['end'][_0x4e3fba(0x1c8)],'summaryInserted':![]}};}async[a0_0x31094b(0x211)](_0x3ebe1b,_0x3d309c,_0x449a47){const _0x2f7aba=a0_0x31094b,_0x3a1cee=COMPACTION_STRATEGIES['AGGRESSIVE'],_0xa1ffb0=await this[_0x2f7aba(0x1f3)][_0x2f7aba(0x1e7)](_0x3ebe1b,_0x3d309c,TOKEN_COUNTING_MODES[_0x2f7aba(0x1d8)]),_0x1515a6=await this[_0x2f7aba(0x1eb)](_0x3ebe1b,_0x3d309c,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger'][_0x2f7aba(0x1fc)](_0x2f7aba(0x1ec),{'beginningMessages':_0x1515a6['beginning'][_0x2f7aba(0x1c8)],'middleMessages':_0x1515a6['middle'][_0x2f7aba(0x1c8)],'endMessages':_0x1515a6[_0x2f7aba(0x205)][_0x2f7aba(0x1c8)],'middleStartIndex':_0x1515a6['middleStartIndex'],'middleEndIndex':_0x1515a6['middleEndIndex']});const _0x145b98=await this[_0x2f7aba(0x1f8)](_0x1515a6[_0x2f7aba(0x1fa)],_0x3d309c,{..._0x449a47,'aggressive':!![],'middleStartIndex':_0x1515a6[_0x2f7aba(0x1d0)],'middleEndIndex':_0x1515a6[_0x2f7aba(0x20c)]}),_0x429e35=[..._0x1515a6['beginning'],_0x145b98,..._0x1515a6[_0x2f7aba(0x205)]],_0x27b033=await this[_0x2f7aba(0x1f3)][_0x2f7aba(0x1e7)](_0x429e35,_0x3d309c,TOKEN_COUNTING_MODES[_0x2f7aba(0x1d8)]),_0x20e8de=(_0xa1ffb0-_0x27b033)/_0xa1ffb0*0x64;return{'compactedMessages':_0x429e35,'strategy':_0x3a1cee,'originalTokenCount':_0xa1ffb0,'compactedTokenCount':_0x27b033,'reductionPercent':_0x20e8de,'segments':{'beginningCount':_0x1515a6['beginning'][_0x2f7aba(0x1c8)],'middleCount':_0x1515a6[_0x2f7aba(0x1fa)][_0x2f7aba(0x1c8)],'endCount':_0x1515a6[_0x2f7aba(0x205)]['length'],'summaryInserted':!![]}};}async[a0_0x31094b(0x1eb)](_0x38a9b5,_0x5a6cb6,_0x550e97,_0x7ba2f2){const _0x28eb8c=a0_0x31094b,_0x2937b2=await this['tokenCountingService'][_0x28eb8c(0x1e7)](_0x38a9b5,_0x5a6cb6,TOKEN_COUNTING_MODES['ACCURATE']),_0x321f76=Math['floor'](_0x2937b2*_0x550e97),_0x16273c=Math[_0x28eb8c(0x1db)](_0x2937b2*_0x7ba2f2);let _0x1c1514=0x0,_0x2caeba=0x0;for(let _0x20759e=0x0;_0x20759e<_0x38a9b5['length'];_0x20759e++){const _0x346a6f=await this['tokenCountingService']['countTokens'](_0x38a9b5[_0x20759e]['content'],_0x5a6cb6,TOKEN_COUNTING_MODES[_0x28eb8c(0x206)]);if(_0x1c1514+_0x346a6f>_0x321f76&&_0x20759e>=0x2)break;_0x1c1514+=_0x346a6f,_0x2caeba=_0x20759e+0x1;}let _0x81afcb=0x0,_0x5e1870=_0x38a9b5[_0x28eb8c(0x1c8)];for(let _0x2eea87=_0x38a9b5['length']-0x1;_0x2eea87>=0x0;_0x2eea87--){const _0x1e8381=await this[_0x28eb8c(0x1f3)][_0x28eb8c(0x1e4)](_0x38a9b5[_0x2eea87][_0x28eb8c(0x20a)],_0x5a6cb6,TOKEN_COUNTING_MODES['CACHED']);if(_0x81afcb+_0x1e8381>_0x16273c)break;_0x81afcb+=_0x1e8381,_0x5e1870=_0x2eea87;}_0x5e1870<_0x2caeba&&(_0x5e1870=_0x2caeba);const _0x16d6d9=_0x38a9b5[_0x28eb8c(0x1cc)](0x0,_0x2caeba),_0x5308a7=_0x38a9b5[_0x28eb8c(0x1cc)](_0x2caeba,_0x5e1870),_0x331ef9=_0x38a9b5['slice'](_0x5e1870);return{'beginning':_0x16d6d9,'middle':_0x5308a7,'end':_0x331ef9,'middleStartIndex':_0x2caeba,'middleEndIndex':_0x5e1870-0x1};}async[a0_0x31094b(0x1f8)](_0x5f45b3,_0x20a4cc,_0x2adde4={}){const _0x14377c=a0_0x31094b;if(_0x5f45b3['length']===0x0)return{'role':_0x14377c(0x1d5),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':'summary','timestamp':new Date()['toISOString']()};const _0x76ebb0=_0x5f45b3[_0x14377c(0x1f7)](_0x5c5839=>_0x5c5839[_0x14377c(0x200)]+':\x20'+_0x5c5839[_0x14377c(0x20a)])['join']('\x0a\x0a'),_0x308e0a=this[_0x14377c(0x1fb)]['replace'](_0x14377c(0x1f0),_0x76ebb0)[_0x14377c(0x1c9)](_0x14377c(0x1df),_0x2adde4['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x62bb3d=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x14377c(0x213)]];let _0x48a538=null;for(const _0x4ec749 of _0x62bb3d){try{this['logger'][_0x14377c(0x1fc)](_0x14377c(0x1f1),{'compactionModel':_0x4ec749,'middleMessageCount':_0x5f45b3['length'],'middleContentLength':_0x76ebb0['length'],'aggressive':_0x2adde4[_0x14377c(0x1e9)]});const _0x33787e=await this[_0x14377c(0x203)][_0x14377c(0x1cb)](_0x4ec749,_0x308e0a,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG[_0x14377c(0x1c3)],'temperature':0.3,'sessionId':_0x2adde4['sessionId'],'platformProvided':!![]}),_0x236649=_0x33787e[_0x14377c(0x20a)][_0x14377c(0x204)](),_0x59ae0a=_0x2adde4[_0x14377c(0x1d0)]!==undefined&&_0x2adde4['middleEndIndex']!==undefined?_0x14377c(0x1e0)+_0x2adde4[_0x14377c(0x1d0)]+'-'+_0x2adde4[_0x14377c(0x20c)]:_0x5f45b3[_0x14377c(0x1c8)]+_0x14377c(0x1c4);return this['logger'][_0x14377c(0x1ea)](_0x14377c(0x1e6),{'compactionModel':_0x4ec749,'originalLength':_0x76ebb0[_0x14377c(0x1c8)],'summaryLength':_0x236649['length'],'compressionRatio':(_0x236649['length']/_0x76ebb0['length']*0x64)[_0x14377c(0x1fe)](0x2)+'%','indexRange':_0x59ae0a}),{'role':'system','content':COMPACTION_CONFIG[_0x14377c(0x210)]+_0x14377c(0x1ce)+_0x59ae0a+']\x0a\x0a'+_0x236649+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x14377c(0x20f),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x5f45b3['length'],'originalStartIndex':_0x2adde4[_0x14377c(0x1d0)],'originalEndIndex':_0x2adde4[_0x14377c(0x20c)],'compactionModel':_0x4ec749,'aggressive':_0x2adde4['aggressive']||![]}};}catch(_0x27e492){_0x48a538=_0x27e492,this[_0x14377c(0x202)][_0x14377c(0x1f4)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x4ec749,'error':_0x27e492['message'],'middleMessageCount':_0x5f45b3[_0x14377c(0x1c8)]});}}this['logger'][_0x14377c(0x1cd)]('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x62bb3d[_0x14377c(0x1c8)],'lastError':_0x48a538?.['message'],'middleMessageCount':_0x5f45b3['length']});const _0x416e7a=this[_0x14377c(0x1d6)](_0x5f45b3),_0x5e1148=_0x2adde4['middleStartIndex']!==undefined&&_0x2adde4[_0x14377c(0x20c)]!==undefined?_0x14377c(0x1e0)+_0x2adde4['middleStartIndex']+'-'+_0x2adde4['middleEndIndex']:_0x5f45b3[_0x14377c(0x1c8)]+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG[_0x14377c(0x210)]+_0x14377c(0x1ce)+_0x5e1148+_0x14377c(0x1c5)+_0x416e7a+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x14377c(0x209)](),'metadata':{'originalMessageCount':_0x5f45b3[_0x14377c(0x1c8)],'originalStartIndex':_0x2adde4[_0x14377c(0x1d0)],'originalEndIndex':_0x2adde4[_0x14377c(0x20c)],'fallback':!![],'error':_0x48a538?.['message'],'modelsAttempted':_0x62bb3d}};}['_createFallbackSummary'](_0x210110){const _0x4ce3cc=a0_0x31094b,_0x323e27=_0x210110['length'],_0x6a78c7=_0x210110['map'](_0x5c5b7b=>_0x5c5b7b[_0x4ce3cc(0x200)]),_0x3eed32=_0x6a78c7[_0x4ce3cc(0x1d1)](_0x1ffb35=>_0x1ffb35===_0x4ce3cc(0x1e8))[_0x4ce3cc(0x1c8)],_0x48f876=_0x6a78c7[_0x4ce3cc(0x1d1)](_0x4098c3=>_0x4098c3==='assistant')[_0x4ce3cc(0x1c8)];return'['+_0x323e27+'\x20messages\x20summarized\x20-\x20'+_0x3eed32+_0x4ce3cc(0x1dd)+_0x48f876+'\x20assistant\x20responses.\x20'+_0x4ce3cc(0x1d9);}[a0_0x31094b(0x1e3)](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}export default ConversationCompactionService;function a0_0x124e(){const _0x4049b1=['r2vUzxjHDgLUzYbZDw1Tyxj5','mtvRCeLjBwy','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','D2fYBG','vfjvtKnbveLptG','z2v0tw9KzwXdB250zxH0v2LUzg93','BwfW','x2DLBMvYyxrLu3vTBwfYEq','B3jPz2LUywXuB2TLBKnVDw50','BwLKzgXL','C3vTBwfYEvbYB21WDfrLBxbSyxrL','zgvIDwC','BM9Uzq','Dg9gAxHLza','C3rYyxrLz3K','CM9Szq','u1vntufssvPbveLptG','Bg9Nz2vY','ywLtzxj2AwnL','DhjPBq','zw5K','q0fdseve','ndqWodyYqun1C0T0','nZG2ndy0uLjPuhHv','Dg9ju09tDhjPBMC','y29UDgvUDa','yMvNAw5UAw5N','BwLKzgXLrw5Ksw5KzxG','ndeYmZKXn1b1swLyva','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','C3vTBwfYEq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','mtzozKXkwxG','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','tufyx1nvtu1buLLFve9lru5t','ig1LC3nHz2vZ','xqOk','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','q29TCgfJDgLVBIbMywLSzwq','BgvUz3rO','CMvWBgfJzq','mtK3mdyXv3zJBNPo','C2vUze1LC3nHz2u','C2XPy2u','zxjYB3i','ic0G','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','zMLSDgvY','AxnszxrYEq','ndmYotm2veLSter0','BM93','C3LZDgvT','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','qundvvjbveu','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','zMXVB3i','C2vWyxjHDg9Y','ihvZzxiGBwvZC2fNzxmSia','nda2mtiWsM1XqKDL','E2fNz3jLC3nPDMvFAw5ZDhj1y3rPB259','B3jPz2LUywWGBwvZC2fNzxmG','nZuWotrPwvjzq28','zxHLy3v0Aw9UvgLTzq','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','y291BNruB2TLBNm','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','DxnLCG','ywDNCMvZC2L2zq','Aw5MBW','x2LKzw50Awz5u2vNBwvUDhm','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','BwvZC2fNzq','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','E21PzgrSzv9ZzwDTzw50Fq'];a0_0x124e=function(){return _0x4049b1;};return a0_0x124e();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2070e1=a0_0x362c;function a0_0x362c(_0x315844,_0x2c43ef){_0x315844=_0x315844-0x1b0;const _0x50ef7b=a0_0x50ef();let _0x362c7c=_0x50ef7b[_0x315844];if(a0_0x362c['fwjOZh']===undefined){var _0x1bf8aa=function(_0x3e585e){const _0x3755a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x368922='',_0x2035fa='';for(let _0x59c871=0x0,_0x29b1b9,_0x2b13a7,_0x5001ce=0x0;_0x2b13a7=_0x3e585e['charAt'](_0x5001ce++);~_0x2b13a7&&(_0x29b1b9=_0x59c871%0x4?_0x29b1b9*0x40+_0x2b13a7:_0x2b13a7,_0x59c871++%0x4)?_0x368922+=String['fromCharCode'](0xff&_0x29b1b9>>(-0x2*_0x59c871&0x6)):0x0){_0x2b13a7=_0x3755a9['indexOf'](_0x2b13a7);}for(let _0x78c447=0x0,_0x240b92=_0x368922['length'];_0x78c447<_0x240b92;_0x78c447++){_0x2035fa+='%'+('00'+_0x368922['charCodeAt'](_0x78c447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2035fa);};a0_0x362c['ZnJXVg']=_0x1bf8aa,a0_0x362c['DHVtxr']={},a0_0x362c['fwjOZh']=!![];}const _0x5ff42a=_0x50ef7b[0x0],_0x2863bf=_0x315844+_0x5ff42a,_0x42b833=a0_0x362c['DHVtxr'][_0x2863bf];return!_0x42b833?(_0x362c7c=a0_0x362c['ZnJXVg'](_0x362c7c),a0_0x362c['DHVtxr'][_0x2863bf]=_0x362c7c):_0x362c7c=_0x42b833,_0x362c7c;}(function(_0x4e070b,_0x21cc8c){const _0x4f0df5=a0_0x362c,_0xa22ff5=_0x4e070b();while(!![]){try{const _0xdae7ee=-parseInt(_0x4f0df5(0x1e9))/0x1+parseInt(_0x4f0df5(0x1e4))/0x2*(-parseInt(_0x4f0df5(0x1c8))/0x3)+parseInt(_0x4f0df5(0x204))/0x4+parseInt(_0x4f0df5(0x1e7))/0x5+parseInt(_0x4f0df5(0x1dc))/0x6+parseInt(_0x4f0df5(0x1b6))/0x7+-parseInt(_0x4f0df5(0x1c5))/0x8;if(_0xdae7ee===_0x21cc8c)break;else _0xa22ff5['push'](_0xa22ff5['shift']());}catch(_0x172d76){_0xa22ff5['push'](_0xa22ff5['shift']());}}}(a0_0x50ef,0xac815));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x50ef(){const _0x4060e6=['t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','Aw5WDxreyxrH','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM90Awz5u3vIC2nYAwjLCNm','t1bfuKfusu9ox1rjtuvpvvq','zgvSzxrL','BwvKAxvT','Dg9mB3DLCKnHC2u','mJmZmJGYnfvZq3nvAG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','DgLTzwqGB3v0','zxjYB3jZqNLbz2vUDa','uKfurv9msu1jvf9fwenfrurfra','Aw52ywXPza','AgfZ','vu5ltK9xtL9fuLjpuG','ChjVy2vZC0vYCM9YuxvLDwu','AgLNAa','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','Dg90ywXfCNjVCNm','Aw5JCMvHC2vKx3rPBwvVDxq','Bg9NrxjYB3i','zxjYB3jZqNLuExbL','B3bLCMf0Aw9Uswq','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','z2v0','y3jPDgLJywXfCNjVCNm','Aw5MBW','ywDLBNrjza','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','DgLTzw91Da','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','ywn0Aw9U','C3vIC3rY','ChjVy2vZC0vYCM9Y','zgv0zxjTAw5LrxjYB3juExbL','uhjVy2vZC2LUzYbLCNjVCG','y29Kzq','DhLWzq','Dg9VBeLK','zw1PDa','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','y29UzMLN','y3jPDgLJywW','CMfUzg9T','odu2nJC3nvbLCxHuBq','C2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','vu5bvvrit1jjwKve','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','zgv0zxjTAw5Lu2v2zxjPDhK','z2vUzxjHDgvfCNjVCKLK','Bg9Nz2vY','Dg9tDhjPBMC','Aw5JBhvKzxm','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jtDwjZy3jPyMvYCW','CMv0CNLdB3vUDa','zMLSzvbHDgG','CMvJB3zLCNLtDhjHDgvNAwvZ','mtCZodC4ndHKzu9evLG','zxjYB3i','C2v0','mtqXshfUtLzd','zNjVBuvUDhjPzxm','y2fSy3vSyxrLuMv0CNLezwXHEq','z2v0twf4uMv0CMLLCW','yxbPx3jLCxvLC3q','AgfUzgXLrxjYB3i','zM9YrwfJAa','CMvJB3zLCNLbDhrLBxb0CW','rKLmrv9ot1rFrK9vtKq','uevstuLtu0LptL9eru5jruq','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jtDgf0CW','B3bLCMf0Aw9U','CgvYBwLZC2LVBL9YzwnVDMvYEq','rK9sqKLerevo','ywrK','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','C3bSAwnL','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','zxjYB3jrDwv1zq','mZC5mdyZmK5cCLPzBq','CMvJB3zLCG','AxnqCM9JzxnZAw5NuxvLDwu','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','CMvJB3zLCMfIBgu','z2v0rxjYB3jtDgf0CW','Dw5KzwzPBMvK','Bwf4uMv0CMLLCW','mJq5ngLmwxLrCG','zgvIDwC','AxnszwnVDMvYywjSzq','mZG0nZC4mhvpDuvVAG','vKfmsurbveLptL9fuLjpuG','mJy5nJG4A09fse1Y','BgvUz3rO','BMfTzq','D2fYBG','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','zxjYxW','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','AgfUzgXLq3jPDgLJywXfCNjVCG','C3vJy2vZC2z1BfjLy292zxjPzxm','y29UzMLNDxjHDgLVBG','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','DxbKyxrLrxjYB3jtDgf0CW','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ywDLBNrFy29TBxvUAwnHDgLVBG','rxjYB3iGBg9Nz2LUzYbMywLSzwq','C3vJy2vZCW','tK9ux0zpvu5e','BwvZC2fNzq','C3rHDhvZ'];a0_0x50ef=function(){return _0x4060e6;};return a0_0x50ef();}export class ErrorHandler{constructor(_0x368922,_0x2035fa){const _0x26a784=a0_0x362c;this[_0x26a784(0x1b3)]=_0x368922||{},this['logger']=_0x2035fa,this[_0x26a784(0x1d3)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x26a784(0x1c4)]=new Map(),this['errorSubscribers']=new Set(),this['errorQueue']=[],this['isProcessingQueue']=![],this[_0x26a784(0x205)](),this['setupErrorProcessing']();}async[a0_0x2070e1(0x1cd)](_0x59c871,_0x29b1b9={}){const _0x3c2600=a0_0x2070e1;try{const _0x2b13a7=this['classifyError'](_0x59c871,_0x29b1b9),_0x5001ce=await this[_0x3c2600(0x21f)](_0x2b13a7);return this[_0x3c2600(0x1f4)](_0x2b13a7),this[_0x3c2600(0x1ff)](_0x2b13a7,_0x5001ce),_0x5001ce;}catch(_0x78c447){return this['logger'][_0x3c2600(0x1c6)]('Error\x20handling\x20failed',{'originalError':_0x59c871[_0x3c2600(0x1fa)],'handlingError':_0x78c447[_0x3c2600(0x1fa)]}),{'success':![],'error':_0x78c447,'recovery':null,'severity':'critical'};}}['classifyError'](_0x240b92,_0x2aa2bf={}){const _0x2e2d94=a0_0x2070e1,_0x3f7416={'id':this[_0x2e2d94(0x1bc)](),'timestamp':new Date()['toISOString'](),'message':_0x240b92['message']||_0x240b92['toString'](),'stack':_0x240b92['stack']||null,'code':_0x240b92[_0x2e2d94(0x222)]||null,'type':this['determineErrorType'](_0x240b92,_0x2aa2bf),'severity':this[_0x2e2d94(0x1bb)](_0x240b92,_0x2aa2bf),'context':{..._0x2aa2bf},'recoverable':!![],'retryCount':_0x2aa2bf['retryCount']||0x0,'maxRetries':this[_0x2e2d94(0x1cb)](_0x240b92,_0x2aa2bf)};return _0x2aa2bf['agentId']&&(_0x3f7416[_0x2e2d94(0x219)]=_0x2aa2bf[_0x2e2d94(0x219)]),_0x2aa2bf['toolId']&&(_0x3f7416[_0x2e2d94(0x1b0)]=_0x2aa2bf[_0x2e2d94(0x1b0)]),_0x2aa2bf[_0x2e2d94(0x214)]&&(_0x3f7416[_0x2e2d94(0x214)]=_0x2aa2bf[_0x2e2d94(0x214)]),_0x3f7416[_0x2e2d94(0x1e0)]=this['isRecoverable'](_0x3f7416),_0x3f7416;}async['processError'](_0x32f56f){const _0x2cc667=a0_0x2070e1;try{this['logger'][_0x2cc667(0x1c6)](_0x2cc667(0x221),{'errorId':_0x32f56f['id'],'type':_0x32f56f['type'],'severity':_0x32f56f[_0x2cc667(0x1b7)],'agentId':_0x32f56f['agentId'],'message':_0x32f56f[_0x2cc667(0x1fa)]});_0x32f56f['severity']==='critical'&&await this[_0x2cc667(0x1f0)](_0x32f56f);let _0x56c7c2=null;return _0x32f56f['recoverable']&&_0x32f56f['retryCount']<_0x32f56f[_0x2cc667(0x1e3)]&&(_0x56c7c2=await this['attemptRecovery'](_0x32f56f)),await this[_0x2cc667(0x212)](_0x32f56f,_0x56c7c2),{'success':_0x56c7c2?.['success']||![],'errorId':_0x32f56f['id'],'errorType':_0x32f56f[_0x2cc667(0x223)],'severity':_0x32f56f[_0x2cc667(0x1b7)],'recovery':_0x56c7c2,'shouldRetry':this['shouldRetry'](_0x32f56f,_0x56c7c2),'retryDelay':this[_0x2cc667(0x1ca)](_0x32f56f)};}catch(processingError){return this['logger'][_0x2cc667(0x1c6)](_0x2cc667(0x1c0),{'errorId':_0x32f56f['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x32f56f['id'],'errorType':_0x32f56f[_0x2cc667(0x223)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0xb54b2e){const _0x656ff5=a0_0x2070e1;try{this[_0x656ff5(0x1d3)]['recoveryAttempts']++;const _0x4835e1=this['recoveryStrategies']['get'](_0xb54b2e[_0x656ff5(0x223)])||this['recoveryStrategies']['get']('default');if(!_0x4835e1)return this[_0x656ff5(0x1bd)]['warn']('No\x20recovery\x20strategy\x20found',{'errorType':_0xb54b2e[_0x656ff5(0x223)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x656ff5(0x1bd)]['info']('Attempting\x20error\x20recovery',{'errorId':_0xb54b2e['id'],'errorType':_0xb54b2e['type'],'strategy':_0x4835e1[_0x656ff5(0x1eb)],'retryCount':_0xb54b2e[_0x656ff5(0x1c2)]});const _0x1b7806=await _0x4835e1[_0x656ff5(0x1dd)](_0xb54b2e);return _0x1b7806[_0x656ff5(0x1f8)]?(this['errorStats'][_0x656ff5(0x1f1)]++,this['logger']['info'](_0x656ff5(0x20f),{'errorId':_0xb54b2e['id'],'strategy':_0x4835e1['name']})):this['logger'][_0x656ff5(0x1ec)](_0x656ff5(0x206),{'errorId':_0xb54b2e['id'],'strategy':_0x4835e1['name'],'reason':_0x1b7806['reason']}),_0x1b7806;}catch(_0x3b86bf){return this['logger'][_0x656ff5(0x1c6)]('Recovery\x20attempt\x20failed',{'errorId':_0xb54b2e['id'],'recoveryError':_0x3b86bf['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x3b86bf[_0x656ff5(0x1fa)]};}}async['handleCriticalError'](_0x498532){const _0x4f605f=a0_0x2070e1;try{this[_0x4f605f(0x1d3)][_0x4f605f(0x217)]++,this[_0x4f605f(0x1bd)]['error'](_0x4f605f(0x1b8),{'errorId':_0x498532['id'],'message':_0x498532[_0x4f605f(0x1fa)],'context':_0x498532['context']});typeof process!=='undefined'&&process[_0x4f605f(0x1b1)]&&process['emit']('criticalError',_0x498532);switch(_0x498532[_0x4f605f(0x223)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x4f605f(0x1ed)](_0x498532);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this['handleRateLimitExceeded'](_0x498532);break;case ERROR_TYPES[_0x4f605f(0x200)]:await this[_0x4f605f(0x1ba)](_0x498532);break;default:await this['handleGenericCriticalError'](_0x498532);}}catch(_0x4f06f6){this[_0x4f605f(0x1bd)]['error']('Critical\x20error\x20handling\x20failed',{'errorId':_0x498532['id'],'handlingError':_0x4f06f6[_0x4f605f(0x1fa)]});}}[a0_0x2070e1(0x220)](_0x81357f,_0x4d7a88){const _0x52869c=a0_0x2070e1;if(_0x81357f[_0x52869c(0x222)]==='ENOENT'||_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1f9)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x81357f['code']==='EACCES'||_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1d6)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1b9)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x52869c(0x209)];const _0x5df298=_0x81357f['message']?.[_0x52869c(0x203)]()||'';if(_0x5df298[_0x52869c(0x1bf)](_0x52869c(0x21b))||_0x5df298[_0x52869c(0x1bf)](_0x52869c(0x207)))return ERROR_TYPES[_0x52869c(0x200)];if(_0x5df298[_0x52869c(0x1bf)]('validation')||_0x5df298['includes'](_0x52869c(0x20a)))return ERROR_TYPES[_0x52869c(0x1e8)];if(_0x5df298[_0x52869c(0x1bf)]('config')||_0x5df298['includes'](_0x52869c(0x1f2)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x4d7a88[_0x52869c(0x1d4)]==='file_operation')return ERROR_TYPES[_0x52869c(0x1d0)];if(_0x4d7a88['operation']===_0x52869c(0x1cc))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x52869c(0x20c)];}[a0_0x2070e1(0x1bb)](_0x128cdf,_0x314749){const _0x307984=a0_0x2070e1,_0x229492=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x307984(0x1d2)]],_0x322c43=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES[_0x307984(0x200)],ERROR_TYPES['PERMISSION_DENIED']],_0x5d6d19=this[_0x307984(0x220)](_0x128cdf,_0x314749);if(_0x229492[_0x307984(0x1bf)](_0x5d6d19))return _0x307984(0x1b4);if(_0x322c43['includes'](_0x5d6d19))return _0x307984(0x20e);const _0x506300=_0x314749&&_0x314749[_0x307984(0x1c2)]||0x0;if(_0x506300>=0x3)return _0x307984(0x20e);if(_0x314749&&_0x314749[_0x307984(0x219)]&&_0x314749[_0x307984(0x1d4)]===_0x307984(0x1f6))return _0x307984(0x202);return'low';}[a0_0x2070e1(0x1e6)](_0x180535){const _0x51c7c8=a0_0x2070e1,_0x33f36a=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x33f36a['includes'](_0x180535[_0x51c7c8(0x223)]))return![];if(_0x180535[_0x51c7c8(0x1c2)]>=_0x180535[_0x51c7c8(0x1e3)])return![];if(_0x180535['severity']==='critical')return![];return!![];}['getMaxRetries'](_0x475bfe,_0x2fc450){const _0x4dcff0=a0_0x2070e1,_0x315aa5=this['determineErrorType'](_0x475bfe,_0x2fc450),_0x5b008e={[ERROR_TYPES[_0x4dcff0(0x209)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5b008e[_0x315aa5]||0x3;}['shouldRetry'](_0x537990,_0x5d298d){const _0x898a18=a0_0x2070e1;if(!_0x537990[_0x898a18(0x1e0)])return![];if(_0x537990[_0x898a18(0x1c2)]>=_0x537990[_0x898a18(0x1e3)])return![];if(_0x5d298d&&_0x5d298d['success'])return![];return!![];}[a0_0x2070e1(0x1ca)](_0x343760){const _0xec3ba4=a0_0x2070e1,_0x39774e=0x3e8,_0x1386cc=0x7530,_0x5379d6=_0x39774e*Math['pow'](0x2,_0x343760['retryCount']),_0x12ea36=Math[_0xec3ba4(0x1b5)]()*0x3e8;return Math['min'](_0x5379d6+_0x12ea36,_0x1386cc);}['initializeRecoveryStrategies'](){const _0x18c18a=a0_0x2070e1;this['recoveryStrategies']['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':_0x18c18a(0x215),'recover':async _0x5ceca8=>{const _0x58431c=_0x18c18a;if(_0x5ceca8['context'][_0x58431c(0x1c3)])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':_0x58431c(0x1df)};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x18c18a(0x1c4)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':'rate_limit_recovery','recover':async _0x5c9322=>{const _0x1d7bcf=_0x18c18a,_0x437c06=this[_0x1d7bcf(0x1d8)](_0x5c9322);return this[_0x1d7bcf(0x1bd)][_0x1d7bcf(0x218)](_0x1d7bcf(0x1f3),{'waitTime':_0x437c06}),await new Promise(_0x3d037=>setTimeout(_0x3d037,_0x437c06)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x437c06};}}),this[_0x18c18a(0x1c4)]['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x106617=>{const _0x481dd5=_0x18c18a;if(_0x106617['context']['timeout']){const _0x358833=Math['min'](_0x106617['context'][_0x481dd5(0x21b)]*1.5,0x493e0);return{'success':!![],'action':_0x481dd5(0x211),'newTimeout':_0x358833};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)](ERROR_TYPES[_0x18c18a(0x1d1)],{'name':_0x18c18a(0x1d5),'recover':async _0x2e75e=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x5e005d=>{const _0x2c236c=_0x18c18a;if(_0x5e005d['context'][_0x2c236c(0x1fd)])return{'success':!![],'action':'data_sanitization','suggestion':_0x2c236c(0x21a)};return{'success':![],'reason':_0x2c236c(0x21c)};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)]('default',{'name':'default_recovery','recover':async _0x459c8e=>{const _0x1b99ad=_0x18c18a,_0x321159=this[_0x1b99ad(0x1ca)](_0x459c8e);return await new Promise(_0x28140b=>setTimeout(_0x28140b,_0x321159)),{'success':!![],'action':'delay_retry','delay':_0x321159};}});}async['handleAuthenticationFailure'](_0x492f25){const _0x1e919c=a0_0x2070e1;this[_0x1e919c(0x1bd)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x492f25['id']});if(_0x492f25[_0x1e919c(0x219)]){}}async[a0_0x2070e1(0x1da)](_0x4c1aaf){const _0xe61daa=a0_0x2070e1,_0x7abcc3=this['calculateRateLimitWait'](_0x4c1aaf);this[_0xe61daa(0x1bd)][_0xe61daa(0x1ec)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4c1aaf['id'],'waitTime':_0x7abcc3,'agentId':_0x4c1aaf['agentId']});if(_0x4c1aaf['agentId']){}}async['handleOperationTimeout'](_0x188f4e){const _0x456c86=a0_0x2070e1;this['logger'][_0x456c86(0x1c6)](_0x456c86(0x1fc),{'errorId':_0x188f4e['id'],'operation':_0x188f4e['context'][_0x456c86(0x1d4)],'timeout':_0x188f4e['context']['timeout']});}async['handleGenericCriticalError'](_0x46bc73){const _0x518a1a=a0_0x2070e1;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x46bc73['id'],'type':_0x46bc73[_0x518a1a(0x223)],'message':_0x46bc73[_0x518a1a(0x1fa)]}),_0x46bc73[_0x518a1a(0x219)]&&this['logger'][_0x518a1a(0x1ec)]('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x46bc73['agentId']});}['calculateRateLimitWait'](_0x47aa5){const _0x1ceb8d=0xea60,_0x6b9231=Math['pow'](0x2,_0x47aa5['retryCount']),_0x264976=0x493e0;return Math['min'](_0x1ceb8d*_0x6b9231,_0x264976);}async['logError'](_0x568db8,_0x332c7d){const _0x7b2b9b=a0_0x2070e1;try{const _0x39bfbf={'errorId':_0x568db8['id'],'timestamp':_0x568db8['timestamp'],'type':_0x568db8['type'],'severity':_0x568db8['severity'],'message':_0x568db8[_0x7b2b9b(0x1fa)],'agentId':_0x568db8['agentId'],'toolId':_0x568db8['toolId'],'operationId':_0x568db8[_0x7b2b9b(0x214)],'retryCount':_0x568db8[_0x7b2b9b(0x1c2)],'recoveryAttempted':!!_0x332c7d,'recoverySuccess':_0x332c7d?.[_0x7b2b9b(0x1f8)]||![],'recoveryAction':_0x332c7d?.[_0x7b2b9b(0x21d)]||null};this['errorQueue']['push'](_0x39bfbf),!this['isProcessingQueue']&&this[_0x7b2b9b(0x20d)]();}catch(_0x47b361){this[_0x7b2b9b(0x1bd)]['error'](_0x7b2b9b(0x1f7),{'errorId':_0x568db8['id'],'loggingError':_0x47b361['message']});}}async['processErrorQueue'](){const _0xf1c300=a0_0x2070e1;if(this[_0xf1c300(0x1de)]||this[_0xf1c300(0x1db)][_0xf1c300(0x1ea)]===0x0)return;this[_0xf1c300(0x1de)]=!![];try{while(this['errorQueue']['length']>0x0){const _0x1e4736=this['errorQueue'][_0xf1c300(0x1d9)](0x0,0xa);this[_0xf1c300(0x1bd)][_0xf1c300(0x1e5)](_0xf1c300(0x1f5),{'batchSize':_0x1e4736[_0xf1c300(0x1ea)]}),await new Promise(_0x4f8963=>setTimeout(_0x4f8963,0x64));}}catch(processingError){this[_0xf1c300(0x1bd)][_0xf1c300(0x1c6)]('Error\x20queue\x20processing\x20failed',{'error':processingError[_0xf1c300(0x1fa)]});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x1ba0c0=a0_0x2070e1;setInterval(()=>{const _0x3dbb62=a0_0x362c;this[_0x3dbb62(0x1db)]['length']>0x0&&this[_0x3dbb62(0x20d)]();},0x1388),typeof process!==_0x1ba0c0(0x1e2)&&(process['on']('uncaughtException',_0x38b257=>{const _0x54bf07=_0x1ba0c0;this[_0x54bf07(0x1cd)](_0x38b257,{'type':'uncaught_exception','severity':_0x54bf07(0x1b4)});}),process['on'](_0x1ba0c0(0x1fe),(_0x593fa2,_0x45dcc4)=>{const _0x3df5cb=_0x1ba0c0;this[_0x3df5cb(0x1cd)](new Error(_0x3df5cb(0x1ef)+_0x593fa2),{'type':_0x3df5cb(0x1b2),'severity':_0x3df5cb(0x20e),'promise':_0x45dcc4[_0x3df5cb(0x1be)]()});}));}['updateErrorStats'](_0x209096){const _0x404aed=a0_0x2070e1;this['errorStats']['totalErrors']++,!this[_0x404aed(0x1d3)][_0x404aed(0x213)]['has'](_0x209096[_0x404aed(0x223)])&&this['errorStats']['errorsByType']['set'](_0x209096['type'],0x0),this['errorStats']['errorsByType'][_0x404aed(0x1c7)](_0x209096['type'],this[_0x404aed(0x1d3)]['errorsByType'][_0x404aed(0x216)](_0x209096['type'])+0x1),_0x209096[_0x404aed(0x219)]&&(!this['errorStats']['errorsByAgent'][_0x404aed(0x20b)](_0x209096[_0x404aed(0x219)])&&this['errorStats'][_0x404aed(0x208)]['set'](_0x209096['agentId'],0x0),this['errorStats']['errorsByAgent']['set'](_0x209096['agentId'],this[_0x404aed(0x1d3)][_0x404aed(0x208)]['get'](_0x209096[_0x404aed(0x219)])+0x1));}['subscribe'](_0x16139a){const _0x59b5a1=a0_0x2070e1;return this['errorSubscribers'][_0x59b5a1(0x1d7)](_0x16139a),()=>this['errorSubscribers'][_0x59b5a1(0x201)](_0x16139a);}['notifySubscribers'](_0x1a5e10,_0x1a9dea){const _0x4d121d=a0_0x2070e1;this[_0x4d121d(0x1c1)][_0x4d121d(0x1ce)](_0x2a12a5=>{const _0x525b53=_0x4d121d;try{_0x2a12a5(_0x1a5e10,_0x1a9dea);}catch(_0x36359e){this[_0x525b53(0x1bd)]['error']('Error\x20subscriber\x20callback\x20failed',{'error':_0x36359e[_0x525b53(0x1fa)]});}});}['generateErrorId'](){const _0x40146b=a0_0x2070e1;return _0x40146b(0x1ee)+Date['now']()+'_'+Math[_0x40146b(0x1b5)]()[_0x40146b(0x1be)](0x24)[_0x40146b(0x21e)](0x2,0x9);}[a0_0x2070e1(0x1e1)](){const _0x47451d=a0_0x2070e1;return{'totalErrors':this[_0x47451d(0x1d3)][_0x47451d(0x210)],'errorsByType':Object[_0x47451d(0x1c9)](this[_0x47451d(0x1d3)][_0x47451d(0x213)]),'errorsByAgent':Object['fromEntries'](this[_0x47451d(0x1d3)][_0x47451d(0x208)]),'recoveryAttempts':this['errorStats'][_0x47451d(0x1cf)],'successfulRecoveries':this[_0x47451d(0x1d3)][_0x47451d(0x1f1)],'recoverySuccessRate':this['errorStats'][_0x47451d(0x1cf)]>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x47451d(0x1d3)][_0x47451d(0x217)],'queueLength':this['errorQueue']['length']};}['clearErrorStats'](){const _0x3b2466=a0_0x2070e1;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x3b2466(0x1db)]=[];}}export default ErrorHandler;
|
|
1
|
+
const a0_0x151b8f=a0_0x1aae;function a0_0x1d84(){const _0x2ed082=['Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHDhvZ','vKfmsurbveLptL9fuLjpuG','zxjYB3jtDwjZy3jPyMvYCW','zgv0zxjTAw5LrxjYB3juExbL','D2fYBG','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','Bg93','nJbgEMPhA2q','AxnszwnVDMvYywjSzq','BgvUz3rO','mtC5ote5uK5vBurM','vu5bvvrit1jjwKve','zw1PDa','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','y29UDgv4Da','mJq2nZHQwNbwzgC','nJu4mZK5mgvdyvHLrG','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','Aw5JCMvHC2vKx3rPBwvVDxq','Bg9Nz2vY','Bg9NrxjYB3i','AxnqCM9JzxnZAw5NuxvLDwu','ywrK','rKLmrv9ot1rFrK9vtKq','B3bLCMf0Aw9Uswq','BwLU','DgLTzxn0yw1W','Dg9tDhjPBMC','zgvSzxrL','zxjYB3i','nfzNvKXuCq','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','uKfurv9msu1jvf9fwenfrurfra','zxjYB3jZqNLuExbL','yxbPx3jLCxvLC3q','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','BMfTzq','Dg9mB3DLCKnHC2u','nJqXmZK3DezjvuDW','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','C3vJy2vZC2z1BfjLy292zxjPzxm','BwvKAxvT','Bwf4uMv0CMLLCW','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','DgLTzw91Df9YzwnVDMvYEq','C2v0','C3vIC3rY','vu5ltK9xtL9fuLjpuG','CMvJB3zLCMfIBgu','DhLWzq','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','AgfUzgXLrxjYB3i','BwvZC2fNzq','tM8GzMLSzsbWyxrOihbYB3zPzgvK','C2v2zxjPDhK','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','yxr0zw1WDfjLy292zxj5','zMLSzv9VCgvYyxrPB24','B3bLCMf0Aw9U','ywDLBNrjza','y2fSy3vSyxrLuMv0CNLezwXHEq','zMLSzvbHDgG','q09orKLhvvjbveLptL9fuLjpuG','zgvSyxLFCMv0CNK','C2HVDwXKuMv0CNK','y29Kzq','C3vJy2vZCW','CMf0zv9SAw1PDf9YzwnVDMvYEq','ve9px01btLLFuKvrvuvtvfm','Dg9VBeLK','zxjYB3jtDgf0CW','DgLTzw91Da','t1bfuKfusu9ox1rjtuvpvvq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','CMvJB3zLCNLtDhjHDgvNAwvZ','ndi2nJC1mhvMtgnMzW','C3rHy2S','uevstuLtu0LptL9eru5jruq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','Aw5MBW','nZK2mdmYEMrHDgnh','zNjVBuvUDhjPzxm','CMfUzg9T','CMvJB3zLCG','DxbKyxrLrxjYB3jtDgf0CW','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','ntK5otu5nuPHAxbPyG','zgv0zxjTAw5Lu2v2zxjPDhK','C3bSAwnL','y2XHC3nPzNLfCNjVCG','DgLTzwqGB3v0','z2v0','tK9ux0zpvu5e','zxjYB3jrDwv1zq','y3jPDgLJywXfCNjVCNm','z2v0twf4uMv0CMLLCW','mJmYohjVDMLYBq','CMv0CNLdB3vUDa','Cg93','Aw5JBhvKzxm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','Dw5JyxvNAhrFzxHJzxb0Aw9U','Dw5KzwzPBMvK','z2vUzxjHDgvfCNjVCKLK','ChvZAa','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ChjVy2vZC0vYCM9YuxvLDwu','y3jPDgLJywW'];a0_0x1d84=function(){return _0x2ed082;};return a0_0x1d84();}function a0_0x1aae(_0x1c7877,_0x252456){_0x1c7877=_0x1c7877-0x1c9;const _0x1d842d=a0_0x1d84();let _0x1aaed3=_0x1d842d[_0x1c7877];if(a0_0x1aae['vYVqXr']===undefined){var _0x168cc8=function(_0x308655){const _0xf60f4d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fbf2d='',_0x42b18d='';for(let _0x3d31c6=0x0,_0x895e4c,_0x4fa0f3,_0x1bd926=0x0;_0x4fa0f3=_0x308655['charAt'](_0x1bd926++);~_0x4fa0f3&&(_0x895e4c=_0x3d31c6%0x4?_0x895e4c*0x40+_0x4fa0f3:_0x4fa0f3,_0x3d31c6++%0x4)?_0x1fbf2d+=String['fromCharCode'](0xff&_0x895e4c>>(-0x2*_0x3d31c6&0x6)):0x0){_0x4fa0f3=_0xf60f4d['indexOf'](_0x4fa0f3);}for(let _0x5550a9=0x0,_0x36bf92=_0x1fbf2d['length'];_0x5550a9<_0x36bf92;_0x5550a9++){_0x42b18d+='%'+('00'+_0x1fbf2d['charCodeAt'](_0x5550a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42b18d);};a0_0x1aae['flOYsn']=_0x168cc8,a0_0x1aae['BYFdxw']={},a0_0x1aae['vYVqXr']=!![];}const _0x44dbf8=_0x1d842d[0x0],_0x4db537=_0x1c7877+_0x44dbf8,_0x5a74ae=a0_0x1aae['BYFdxw'][_0x4db537];return!_0x5a74ae?(_0x1aaed3=a0_0x1aae['flOYsn'](_0x1aaed3),a0_0x1aae['BYFdxw'][_0x4db537]=_0x1aaed3):_0x1aaed3=_0x5a74ae,_0x1aaed3;}(function(_0x21b1e2,_0x9ecb95){const _0x2499b5=a0_0x1aae,_0x4f3e18=_0x21b1e2();while(!![]){try{const _0x1b66a0=-parseInt(_0x2499b5(0x219))/0x1*(parseInt(_0x2499b5(0x211))/0x2)+-parseInt(_0x2499b5(0x1fd))/0x3*(-parseInt(_0x2499b5(0x1fa))/0x4)+-parseInt(_0x2499b5(0x1db))/0x5+parseInt(_0x2499b5(0x1d4))/0x6+parseInt(_0x2499b5(0x203))/0x7+-parseInt(_0x2499b5(0x1e5))/0x8*(-parseInt(_0x2499b5(0x202))/0x9)+parseInt(_0x2499b5(0x1ce))/0xa;if(_0x1b66a0===_0x9ecb95)break;else _0x4f3e18['push'](_0x4f3e18['shift']());}catch(_0x57ca6c){_0x4f3e18['push'](_0x4f3e18['shift']());}}}(a0_0x1d84,0xae7e1));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x1fbf2d,_0x42b18d){const _0x26b79e=a0_0x1aae;this['config']=_0x1fbf2d||{},this['logger']=_0x42b18d,this[_0x26b79e(0x1c9)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x26b79e(0x1cd)]=new Map(),this['errorSubscribers']=new Set(),this[_0x26b79e(0x1e2)]=[],this[_0x26b79e(0x208)]=![],this['initializeRecoveryStrategies'](),this['setupErrorProcessing']();}async[a0_0x151b8f(0x226)](_0x3d31c6,_0x895e4c={}){const _0x33e17a=a0_0x151b8f;try{const _0x4fa0f3=this[_0x33e17a(0x1de)](_0x3d31c6,_0x895e4c),_0x1bd926=await this['processError'](_0x4fa0f3);return this[_0x33e17a(0x1d8)](_0x4fa0f3),this['notifySubscribers'](_0x4fa0f3,_0x1bd926),_0x1bd926;}catch(_0x5550a9){return this[_0x33e17a(0x206)][_0x33e17a(0x210)]('Error\x20handling\x20failed',{'originalError':_0x3d31c6['message'],'handlingError':_0x5550a9['message']}),{'success':![],'error':_0x5550a9,'recovery':null,'severity':_0x33e17a(0x1f1)};}}['classifyError'](_0x36bf92,_0x1519c8={}){const _0x115e4b=a0_0x151b8f,_0x3309be={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x36bf92['message']||_0x36bf92['toString'](),'stack':_0x36bf92[_0x115e4b(0x1cf)]||null,'code':_0x36bf92['code']||null,'type':this[_0x115e4b(0x1f6)](_0x36bf92,_0x1519c8),'severity':this['determineSeverity'](_0x36bf92,_0x1519c8),'context':{..._0x1519c8},'recoverable':!![],'retryCount':_0x1519c8[_0x115e4b(0x1e6)]||0x0,'maxRetries':this[_0x115e4b(0x1e4)](_0x36bf92,_0x1519c8)};return _0x1519c8['agentId']&&(_0x3309be['agentId']=_0x1519c8['agentId']),_0x1519c8[_0x115e4b(0x238)]&&(_0x3309be[_0x115e4b(0x238)]=_0x1519c8[_0x115e4b(0x238)]),_0x1519c8[_0x115e4b(0x20b)]&&(_0x3309be['operationId']=_0x1519c8[_0x115e4b(0x20b)]),_0x3309be[_0x115e4b(0x223)]=this[_0x115e4b(0x1fb)](_0x3309be),_0x3309be;}async['processError'](_0x308b3b){const _0x4be8be=a0_0x151b8f;try{this[_0x4be8be(0x206)]['error']('Processing\x20error',{'errorId':_0x308b3b['id'],'type':_0x308b3b['type'],'severity':_0x308b3b['severity'],'agentId':_0x308b3b[_0x4be8be(0x22e)],'message':_0x308b3b[_0x4be8be(0x227)]});_0x308b3b[_0x4be8be(0x229)]==='critical'&&await this['handleCriticalError'](_0x308b3b);let _0x55248c=null;return _0x308b3b[_0x4be8be(0x223)]&&_0x308b3b['retryCount']<_0x308b3b[_0x4be8be(0x21d)]&&(_0x55248c=await this[_0x4be8be(0x22b)](_0x308b3b)),await this[_0x4be8be(0x207)](_0x308b3b,_0x55248c),{'success':_0x55248c?.['success']||![],'errorId':_0x308b3b['id'],'errorType':_0x308b3b[_0x4be8be(0x224)],'severity':_0x308b3b['severity'],'recovery':_0x55248c,'shouldRetry':this['shouldRetry'](_0x308b3b,_0x55248c),'retryDelay':this['calculateRetryDelay'](_0x308b3b)};}catch(processingError){return this['logger']['error'](_0x4be8be(0x1cc),{'errorId':_0x308b3b['id'],'processingError':processingError[_0x4be8be(0x227)]}),{'success':![],'errorId':_0x308b3b['id'],'errorType':_0x308b3b['type'],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x4ec738){const _0x4eb038=a0_0x151b8f;try{this['errorStats']['recoveryAttempts']++;const _0x38ad5a=this['recoveryStrategies'][_0x4eb038(0x1e0)](_0x4ec738[_0x4eb038(0x224)])||this['recoveryStrategies']['get']('default');if(!_0x38ad5a)return this['logger'][_0x4eb038(0x1f7)](_0x4eb038(0x1e9),{'errorType':_0x4ec738['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this['logger']['info'](_0x4eb038(0x1ea),{'errorId':_0x4ec738['id'],'errorType':_0x4ec738['type'],'strategy':_0x38ad5a['name'],'retryCount':_0x4ec738[_0x4eb038(0x1e6)]});const _0x48eadd=await _0x38ad5a[_0x4eb038(0x1d7)](_0x4ec738);return _0x48eadd[_0x4eb038(0x235)]?(this[_0x4eb038(0x1c9)][_0x4eb038(0x21b)]++,this[_0x4eb038(0x206)]['info'](_0x4eb038(0x1da),{'errorId':_0x4ec738['id'],'strategy':_0x38ad5a['name']})):this[_0x4eb038(0x206)][_0x4eb038(0x1f7)](_0x4eb038(0x22a),{'errorId':_0x4ec738['id'],'strategy':_0x38ad5a[_0x4eb038(0x217)],'reason':_0x48eadd['reason']}),_0x48eadd;}catch(_0xdfb45e){return this['logger'][_0x4eb038(0x210)](_0x4eb038(0x1d1),{'errorId':_0x4ec738['id'],'recoveryError':_0xdfb45e[_0x4eb038(0x227)]}),{'success':![],'reason':_0x4eb038(0x1f8)+_0xdfb45e['message']};}}async['handleCriticalError'](_0x492980){const _0x10994f=a0_0x151b8f;try{this[_0x10994f(0x1c9)]['criticalErrors']++,this[_0x10994f(0x206)]['error'](_0x10994f(0x21e),{'errorId':_0x492980['id'],'message':_0x492980[_0x10994f(0x227)],'context':_0x492980['context']});typeof process!==_0x10994f(0x1ec)&&process[_0x10994f(0x1ff)]&&process['emit']('criticalError',_0x492980);switch(_0x492980['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this['handleAuthenticationFailure'](_0x492980);break;case ERROR_TYPES[_0x10994f(0x213)]:await this[_0x10994f(0x212)](_0x492980);break;case ERROR_TYPES[_0x10994f(0x1cb)]:await this['handleOperationTimeout'](_0x492980);break;default:await this['handleGenericCriticalError'](_0x492980);}}catch(_0x57e145){this[_0x10994f(0x206)][_0x10994f(0x210)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x492980['id'],'handlingError':_0x57e145[_0x10994f(0x227)]});}}['determineErrorType'](_0x165050,_0x31f907){const _0x1aa129=a0_0x151b8f;if(_0x165050[_0x1aa129(0x234)]==='ENOENT'||_0x165050['status']===HTTP_STATUS[_0x1aa129(0x1e1)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x165050[_0x1aa129(0x234)]==='EACCES'||_0x165050[_0x1aa129(0x1f3)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x1aa129(0x1d0)];if(_0x165050['status']===HTTP_STATUS[_0x1aa129(0x1fe)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x165050[_0x1aa129(0x1f3)]===HTTP_STATUS[_0x1aa129(0x237)])return ERROR_TYPES[_0x1aa129(0x213)];const _0x501af2=_0x165050[_0x1aa129(0x227)]?.[_0x1aa129(0x218)]()||'';if(_0x501af2[_0x1aa129(0x1e8)](_0x1aa129(0x1ca))||_0x501af2[_0x1aa129(0x1e8)](_0x1aa129(0x1df)))return ERROR_TYPES[_0x1aa129(0x1cb)];if(_0x501af2['includes']('validation')||_0x501af2[_0x1aa129(0x1e8)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x501af2['includes']('config')||_0x501af2[_0x1aa129(0x1e8)]('configuration'))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x31f907[_0x1aa129(0x22d)]===_0x1aa129(0x22c))return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x31f907['operation']===_0x1aa129(0x215))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x1aa129(0x222)];}[a0_0x151b8f(0x1dc)](_0x33af78,_0x2c3309){const _0x310d30=a0_0x151b8f,_0x4eb9ab=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']],_0xb7162=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x310d30(0x1d0)]],_0x1c30e7=this['determineErrorType'](_0x33af78,_0x2c3309);if(_0x4eb9ab['includes'](_0x1c30e7))return _0x310d30(0x1f1);if(_0xb7162[_0x310d30(0x1e8)](_0x1c30e7))return'high';const _0x94f102=_0x2c3309&&_0x2c3309['retryCount']||0x0;if(_0x94f102>=0x3)return'high';if(_0x2c3309&&_0x2c3309['agentId']&&_0x2c3309['operation']==='agent_communication')return _0x310d30(0x21c);return _0x310d30(0x1f9);}['isRecoverable'](_0x357966){const _0xd2f0d7=a0_0x151b8f,_0x376c76=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0xd2f0d7(0x231)]];if(_0x376c76[_0xd2f0d7(0x1e8)](_0x357966[_0xd2f0d7(0x224)]))return![];if(_0x357966['retryCount']>=_0x357966['maxRetries'])return![];if(_0x357966[_0xd2f0d7(0x229)]==='critical')return![];return!![];}[a0_0x151b8f(0x1e4)](_0x4de8a3,_0x129e53){const _0x253450=a0_0x151b8f,_0x3440fe=this['determineErrorType'](_0x4de8a3,_0x129e53),_0x5c07cb={[ERROR_TYPES[_0x253450(0x213)]]:0x5,[ERROR_TYPES[_0x253450(0x1cb)]]:0x3,[ERROR_TYPES[_0x253450(0x20a)]]:0x2,[ERROR_TYPES[_0x253450(0x1d0)]]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5c07cb[_0x3440fe]||0x3;}[a0_0x151b8f(0x233)](_0xf86fb7,_0x19a48d){const _0x51caaa=a0_0x151b8f;if(!_0xf86fb7['recoverable'])return![];if(_0xf86fb7[_0x51caaa(0x1e6)]>=_0xf86fb7['maxRetries'])return![];if(_0x19a48d&&_0x19a48d['success'])return![];return!![];}[a0_0x151b8f(0x22f)](_0x48e4f8){const _0x5aae40=a0_0x151b8f,_0x15e2de=0x3e8,_0x36ff35=0x7530,_0x38e628=_0x15e2de*Math[_0x5aae40(0x1e7)](0x2,_0x48e4f8[_0x5aae40(0x1e6)]),_0x4a33b4=Math[_0x5aae40(0x1d6)]()*0x3e8;return Math['min'](_0x38e628+_0x4a33b4,_0x36ff35);}[a0_0x151b8f(0x200)](){const _0x4972c6=a0_0x151b8f;this[_0x4972c6(0x1cd)][_0x4972c6(0x220)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5f72d5=>{const _0x24a30f=_0x4972c6;if(_0x5f72d5['context'][_0x24a30f(0x230)])return{'success':![],'reason':_0x24a30f(0x225),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x24a30f(0x228)};}}),this[_0x4972c6(0x1cd)]['set'](ERROR_TYPES[_0x4972c6(0x213)],{'name':_0x4972c6(0x236),'recover':async _0x3d38b9=>{const _0x41b29c=_0x4972c6,_0xf92cda=this['calculateRateLimitWait'](_0x3d38b9);return this[_0x41b29c(0x206)][_0x41b29c(0x1d3)]('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0xf92cda}),await new Promise(_0x498a25=>setTimeout(_0x498a25,_0xf92cda)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0xf92cda};}}),this['recoveryStrategies']['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':_0x4972c6(0x21f),'recover':async _0x4ab6e5=>{const _0x5282d9=_0x4972c6;if(_0x4ab6e5[_0x5282d9(0x201)][_0x5282d9(0x1ca)]){const _0x5048ff=Math[_0x5282d9(0x20c)](_0x4ab6e5['context'][_0x5282d9(0x1ca)]*1.5,0x493e0);return{'success':!![],'action':_0x5282d9(0x205),'newTimeout':_0x5048ff};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x4972c6(0x1d0)],{'name':'permission_recovery','recover':async _0x53f83e=>{const _0xaf01a7=_0x4972c6;return{'success':![],'reason':_0xaf01a7(0x1d2),'suggestion':'Check\x20file/directory\x20permissions'};}}),this['recoveryStrategies'][_0x4972c6(0x220)](ERROR_TYPES[_0x4972c6(0x1f4)],{'name':'validation_recovery','recover':async _0x14d4c7=>{const _0x32ff75=_0x4972c6;if(_0x14d4c7['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x32ff75(0x1d9)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies']['set']('default',{'name':'default_recovery','recover':async _0xe5ada5=>{const _0xa39811=_0x4972c6,_0x1f4d10=this['calculateRetryDelay'](_0xe5ada5);return await new Promise(_0x274077=>setTimeout(_0x274077,_0x1f4d10)),{'success':!![],'action':_0xa39811(0x232),'delay':_0x1f4d10};}});}async[a0_0x151b8f(0x21a)](_0x2cd074){const _0x1e62dc=a0_0x151b8f;this[_0x1e62dc(0x206)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x2cd074['id']});if(_0x2cd074['agentId']){}}async['handleRateLimitExceeded'](_0x4020c3){const _0x12e69b=a0_0x151b8f,_0x5d873e=this[_0x12e69b(0x204)](_0x4020c3);this[_0x12e69b(0x206)][_0x12e69b(0x1f7)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4020c3['id'],'waitTime':_0x5d873e,'agentId':_0x4020c3['agentId']});if(_0x4020c3['agentId']){}}async['handleOperationTimeout'](_0x24816c){const _0x3e113b=a0_0x151b8f;this['logger'][_0x3e113b(0x210)](_0x3e113b(0x216),{'errorId':_0x24816c['id'],'operation':_0x24816c['context'][_0x3e113b(0x22d)],'timeout':_0x24816c[_0x3e113b(0x201)]['timeout']});}async['handleGenericCriticalError'](_0x43eb74){const _0x2ab53c=a0_0x151b8f;this[_0x2ab53c(0x206)][_0x2ab53c(0x210)]('Generic\x20critical\x20error',{'errorId':_0x43eb74['id'],'type':_0x43eb74['type'],'message':_0x43eb74['message']}),_0x43eb74['agentId']&&this[_0x2ab53c(0x206)][_0x2ab53c(0x1f7)]('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x43eb74[_0x2ab53c(0x22e)]});}[a0_0x151b8f(0x204)](_0xe03ee7){const _0x4f1fa2=a0_0x151b8f,_0x5cd2f3=0xea60,_0x2e2c59=Math['pow'](0x2,_0xe03ee7['retryCount']),_0x1f4eb7=0x493e0;return Math[_0x4f1fa2(0x20c)](_0x5cd2f3*_0x2e2c59,_0x1f4eb7);}async['logError'](_0x129be3,_0x313770){const _0x39814d=a0_0x151b8f;try{const _0xe29005={'errorId':_0x129be3['id'],'timestamp':_0x129be3[_0x39814d(0x20d)],'type':_0x129be3[_0x39814d(0x224)],'severity':_0x129be3['severity'],'message':_0x129be3['message'],'agentId':_0x129be3[_0x39814d(0x22e)],'toolId':_0x129be3[_0x39814d(0x238)],'operationId':_0x129be3['operationId'],'retryCount':_0x129be3['retryCount'],'recoveryAttempted':!!_0x313770,'recoverySuccess':_0x313770?.[_0x39814d(0x235)]||![],'recoveryAction':_0x313770?.['action']||null};this['errorQueue'][_0x39814d(0x1ee)](_0xe29005),!this['isProcessingQueue']&&this[_0x39814d(0x1f0)]();}catch(_0x324072){this['logger'][_0x39814d(0x210)]('Error\x20logging\x20failed',{'errorId':_0x129be3['id'],'loggingError':_0x324072[_0x39814d(0x227)]});}}async[a0_0x151b8f(0x1f0)](){const _0x3edc7e=a0_0x151b8f;if(this['isProcessingQueue']||this[_0x3edc7e(0x1e2)]['length']===0x0)return;this[_0x3edc7e(0x208)]=!![];try{while(this['errorQueue']['length']>0x0){const _0x11402a=this['errorQueue'][_0x3edc7e(0x1dd)](0x0,0xa);this['logger']['debug'](_0x3edc7e(0x1ef),{'batchSize':_0x11402a['length']}),await new Promise(_0x4ca8ce=>setTimeout(_0x4ca8ce,0x64));}}catch(processingError){this['logger']['error']('Error\x20queue\x20processing\x20failed',{'error':processingError[_0x3edc7e(0x227)]});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0xf18bab=a0_0x151b8f;setInterval(()=>{const _0x3d0d70=a0_0x1aae;this[_0x3d0d70(0x1e2)][_0x3d0d70(0x1fc)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x43e588=>{const _0x29eef=a0_0x1aae;this['handleError'](_0x43e588,{'type':_0x29eef(0x1eb),'severity':'critical'});}),process['on'](_0xf18bab(0x1f2),(_0x351219,_0x2e81bc)=>{const _0x503cf0=_0xf18bab;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x351219),{'type':'unhandled_rejection','severity':'high','promise':_0x2e81bc[_0x503cf0(0x20e)]()});}));}['updateErrorStats'](_0x27b814){const _0x363f87=a0_0x151b8f;this['errorStats']['totalErrors']++,!this['errorStats'][_0x363f87(0x214)]['has'](_0x27b814['type'])&&this['errorStats'][_0x363f87(0x214)]['set'](_0x27b814['type'],0x0),this['errorStats']['errorsByType'][_0x363f87(0x220)](_0x27b814[_0x363f87(0x224)],this[_0x363f87(0x1c9)][_0x363f87(0x214)]['get'](_0x27b814[_0x363f87(0x224)])+0x1),_0x27b814['agentId']&&(!this[_0x363f87(0x1c9)]['errorsByAgent']['has'](_0x27b814['agentId'])&&this[_0x363f87(0x1c9)]['errorsByAgent'][_0x363f87(0x220)](_0x27b814['agentId'],0x0),this[_0x363f87(0x1c9)]['errorsByAgent']['set'](_0x27b814['agentId'],this['errorStats']['errorsByAgent']['get'](_0x27b814[_0x363f87(0x22e)])+0x1));}['subscribe'](_0x53622e){const _0x57b8e3=a0_0x151b8f;return this[_0x57b8e3(0x1f5)][_0x57b8e3(0x209)](_0x53622e),()=>this['errorSubscribers'][_0x57b8e3(0x20f)](_0x53622e);}['notifySubscribers'](_0x4f9b2c,_0x56d94d){this['errorSubscribers']['forEach'](_0x35c735=>{const _0x7d1c7a=a0_0x1aae;try{_0x35c735(_0x4f9b2c,_0x56d94d);}catch(_0x3cd28e){this['logger'][_0x7d1c7a(0x210)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x3cd28e['message']});}});}[a0_0x151b8f(0x1ed)](){const _0x24d8bc=a0_0x151b8f;return'err_'+Date['now']()+'_'+Math[_0x24d8bc(0x1d6)]()['toString'](0x24)[_0x24d8bc(0x221)](0x2,0x9);}['getErrorStats'](){const _0x2c570f=a0_0x151b8f;return{'totalErrors':this[_0x2c570f(0x1c9)]['totalErrors'],'errorsByType':Object[_0x2c570f(0x1d5)](this['errorStats'][_0x2c570f(0x214)]),'errorsByAgent':Object[_0x2c570f(0x1d5)](this['errorStats']['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x2c570f(0x1c9)][_0x2c570f(0x21b)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this['errorStats'][_0x2c570f(0x1e3)],'queueLength':this[_0x2c570f(0x1e2)][_0x2c570f(0x1fc)]};}['clearErrorStats'](){const _0x33a183=a0_0x151b8f;this[_0x33a183(0x1c9)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x33a183(0x1e2)]=[];}}export default ErrorHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5d55(_0x5270cb,_0x540f16){_0x5270cb=_0x5270cb-0x16d;const _0x17fb6c=a0_0x17fb();let _0x5d551f=_0x17fb6c[_0x5270cb];if(a0_0x5d55['RXlfsa']===undefined){var _0x2b61c4=function(_0x413979){const _0x429e65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185671='',_0x42cbaf='';for(let _0x45dcf7=0x0,_0x4e1070,_0x3e4faf,_0x1e5f29=0x0;_0x3e4faf=_0x413979['charAt'](_0x1e5f29++);~_0x3e4faf&&(_0x4e1070=_0x45dcf7%0x4?_0x4e1070*0x40+_0x3e4faf:_0x3e4faf,_0x45dcf7++%0x4)?_0x185671+=String['fromCharCode'](0xff&_0x4e1070>>(-0x2*_0x45dcf7&0x6)):0x0){_0x3e4faf=_0x429e65['indexOf'](_0x3e4faf);}for(let _0x497e01=0x0,_0x399363=_0x185671['length'];_0x497e01<_0x399363;_0x497e01++){_0x42cbaf+='%'+('00'+_0x185671['charCodeAt'](_0x497e01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42cbaf);};a0_0x5d55['rCxAUE']=_0x2b61c4,a0_0x5d55['jvxgAu']={},a0_0x5d55['RXlfsa']=!![];}const _0x27bff9=_0x17fb6c[0x0],_0x13fffa=_0x5270cb+_0x27bff9,_0x250b5f=a0_0x5d55['jvxgAu'][_0x13fffa];return!_0x250b5f?(_0x5d551f=a0_0x5d55['rCxAUE'](_0x5d551f),a0_0x5d55['jvxgAu'][_0x13fffa]=_0x5d551f):_0x5d551f=_0x250b5f,_0x5d551f;}const a0_0x34ad67=a0_0x5d55;(function(_0x1a0d1e,_0x558a66){const _0x263d99=a0_0x5d55,_0x12ccbe=_0x1a0d1e();while(!![]){try{const _0x1b1737=-parseInt(_0x263d99(0x17a))/0x1+-parseInt(_0x263d99(0x19a))/0x2*(-parseInt(_0x263d99(0x186))/0x3)+-parseInt(_0x263d99(0x1a9))/0x4+-parseInt(_0x263d99(0x1a0))/0x5+-parseInt(_0x263d99(0x1b1))/0x6*(-parseInt(_0x263d99(0x177))/0x7)+-parseInt(_0x263d99(0x1b7))/0x8+-parseInt(_0x263d99(0x1b8))/0x9*(-parseInt(_0x263d99(0x171))/0xa);if(_0x1b1737===_0x558a66)break;else _0x12ccbe['push'](_0x12ccbe['shift']());}catch(_0x181d2e){_0x12ccbe['push'](_0x12ccbe['shift']());}}}(a0_0x17fb,0xbcc37));import a0_0x185671 from'path';import{randomUUID}from'crypto';function a0_0x17fb(){const _0x1cf75d=['mtiYotq1nLbUtxjPtG','ndq4ndi1wLHVs2Lx','BwvZC2fNzq','ywDLBNrszwzZ','ChjVy2vZC0zPBgu','Dg9Nz2XLqwn0AxzL','Dg9ju09tDhjPBMC','ndyWvvzkvfjN','z2v0twLTzvr5Cgu','D2fYBMLUz3m','rMLSzsb1CgXVywrLza','zMLSDgvY','CMvMzxjLBMnLzej5','otmWodq2svnAwefL','y3jLyxrLrgLYzwn0B3j5','Aw5KzxG','nJq4mdH5rNHXs0y','CgrM','ywDLBNrjza','zMLSzuv4Axn0CW','Aw1WB3j0rNjVBufNzw50','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','Aw5MBW','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','yxr0ywnOBwvUDhm','lI4U','qxr0ywnOBwvUDcbKzwXLDgvK','C2f2zuLUzgv4','mtvhr2DYze0','zgvSzxrLrgLYzwn0B3j5','C2L6zuXLDMvS','Aw1Hz2u','DMfSAwrHDgu','Aw1WB3j0zwrgCM9T','zxjYB3i','ywn0AxzL','z2v0qxr0ywnOBwvUDenVBNrLBNq','Bwv0ywrHDgeUANnVBG','CMvMzxjLBMnL','DxbSB2fKrMLSzq','ChvZAa','DxrMoa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','y29UzMLN','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','Bw9Kzq','mJG5mJeYuhjTqxbm','zMLSzvbYB2nLC3nVCG','DMfSAwrHDg9Y','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','Aw5PDgLHBgL6zq','Dgv4Da','nJG5ntu3nxjfyNHxva','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','BgfZDe1VzgLMAwvK','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','rxjYB3iGBg9HzgLUzYbPBMrLEa','zgvSzxrLqxr0ywnOBwvUDa','Bg9Nz2vY','z2v0qwn0AxzLqxr0ywnOBwvUDhm','vMfSAwrHDgLVBIbMywLSzwq6ia','mZy0mdyYnhLTsK50rG','AM9PBG','C2L6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','Bg9HzeLUzgv4','Bw9KAwzPzwq','y29UDgvUDc50Ehq','BgvUz3rO','mtjHruTfvve','z2v0qxr0ywnOBwvUDa','CgfYC2u','C3rYAw5NAwz5','D3jPDgvgAwXL','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa'];a0_0x17fb=function(){return _0x1cf75d;};return a0_0x17fb();}import a0_0x42cbaf from'../utilities/fileProcessor.js';import a0_0x45dcf7 from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x34ad67(0x182)],INDEX_FILE=a0_0x185671['join'](ATTACHMENTS_DIR,a0_0x34ad67(0x197));class FileAttachmentService{constructor(_0x4e1070={},_0x3e4faf=null){const _0x353194=a0_0x34ad67;this[_0x353194(0x195)]=_0x4e1070,this['logger']=_0x3e4faf,this[_0x353194(0x19b)]=new a0_0x42cbaf(_0x4e1070,_0x3e4faf),this['validator']=new a0_0x45dcf7(_0x4e1070,_0x3e4faf),this[_0x353194(0x179)]=null;}async[a0_0x34ad67(0x19e)](){const _0x4d7ddd=a0_0x34ad67;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x4d7ddd(0x1ad)](),this[_0x4d7ddd(0x1a6)]?.['info']('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x1e5f29){this['logger']?.[_0x4d7ddd(0x18c)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x1e5f29['message']});throw _0x1e5f29;}}async['loadIndex'](){const _0x541763=a0_0x34ad67;try{const _0x497e01=await this['fileProcessor']['fileExists'](INDEX_FILE);if(!_0x497e01)this[_0x541763(0x179)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x399363=await this[_0x541763(0x19b)]['readFile'](INDEX_FILE,'utf8');this[_0x541763(0x179)]=JSON[_0x541763(0x1b3)](_0x399363);}return this['index'];}catch(_0x3df1d0){return this['logger']?.['error'](_0x541763(0x1a4),{'error':_0x3df1d0[_0x541763(0x1b9)]}),this[_0x541763(0x179)]={'attachments':{},'agentRefs':{}},this[_0x541763(0x179)];}}async[a0_0x34ad67(0x185)](){const _0x5491eb=a0_0x34ad67;try{await this[_0x5491eb(0x19b)][_0x5491eb(0x1b5)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x2072eb){this[_0x5491eb(0x1a6)]?.[_0x5491eb(0x18c)]('Error\x20saving\x20index',{'error':_0x2072eb['message']});throw _0x2072eb;}}async[a0_0x34ad67(0x191)]({agentId:_0x3b16cb,filePath:_0x5a2187,mode:mode='content',fileName:fileName=null}){const _0x568db3=a0_0x34ad67;!this['index']&&await this[_0x568db3(0x1ad)]();try{const _0x2a7c8b=await this['fileProcessor'][_0x568db3(0x17d)](_0x5a2187);if(!_0x2a7c8b)throw new Error('File\x20not\x20found:\x20'+_0x5a2187);const _0x88280a=await this[_0x568db3(0x19b)]['getFileStats'](_0x5a2187),_0xf947ce=fileName||a0_0x185671['basename'](_0x5a2187),_0x2ffef2=a0_0x185671['extname'](_0xf947ce),_0x367ba7=this[_0x568db3(0x19c)][_0x568db3(0x18a)]({'fileName':_0xf947ce,'size':_0x88280a['size'],'mode':mode,'path':mode===_0x568db3(0x190)?_0x5a2187:null});if(!_0x367ba7['valid'])throw new Error(_0x568db3(0x1a8)+_0x367ba7['errors']['join'](',\x20'));const _0x5de107=randomUUID(),_0x596a6d=await this[_0x568db3(0x19b)]['calculateHash'](_0x5a2187),_0x3747fc=this[_0x568db3(0x19c)]['getContentType'](_0xf947ce),_0x4cda05=a0_0x185671[_0x568db3(0x1aa)](ATTACHMENTS_DIR,_0x3b16cb,_0x5de107);await this['fileProcessor'][_0x568db3(0x178)](_0x4cda05);let _0x11fede=0x0,_0x5e0318=null;if(mode==='content'){const processResult=await this['fileProcessor'][_0x568db3(0x16e)](_0x5a2187,_0x3747fc),_0x9ad59d=processResult['content'];if(_0x3747fc===_0x568db3(0x19f))_0x5e0318='content.txt';else{if(_0x3747fc===_0x568db3(0x189))_0x5e0318='content.base64';else _0x3747fc===_0x568db3(0x17b)&&(_0x5e0318=_0x568db3(0x1af));}const _0x37da96=a0_0x185671['join'](_0x4cda05,_0x5e0318);await this[_0x568db3(0x19b)][_0x568db3(0x1b5)](_0x37da96,_0x9ad59d,'utf8'),_0x11fede=this['fileProcessor']['estimateTokens'](_0x9ad59d);}const _0x491e1b={'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'originalPath':_0x5a2187,'fileType':this[_0x568db3(0x19c)][_0x568db3(0x172)](_0xf947ce),'fileExtension':_0x2ffef2,'size':_0x88280a[_0x568db3(0x1ab)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x568db3(0x170)](),'lastModified':_0x88280a[_0x568db3(0x1ae)][_0x568db3(0x170)](),'hash':_0x596a6d,'tokenEstimate':_0x11fede,'contentType':_0x3747fc,'contentFileName':_0x5e0318,'warnings':_0x367ba7[_0x568db3(0x173)],'sizeLevel':_0x367ba7[_0x568db3(0x188)],'importedFrom':null,'referencedBy':[_0x3b16cb]},_0x2d8d39=a0_0x185671[_0x568db3(0x1aa)](_0x4cda05,_0x568db3(0x18f));return await this['fileProcessor'][_0x568db3(0x1b5)](_0x2d8d39,JSON[_0x568db3(0x1b4)](_0x491e1b,null,0x2),'utf8'),this[_0x568db3(0x179)][_0x568db3(0x182)][_0x5de107]={'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'mode':mode,'active':_0x491e1b[_0x568db3(0x18d)],'referencedBy':_0x491e1b[_0x568db3(0x176)]},!this['index'][_0x568db3(0x16d)][_0x3b16cb]&&(this[_0x568db3(0x179)][_0x568db3(0x16d)][_0x3b16cb]=[]),this[_0x568db3(0x179)][_0x568db3(0x16d)][_0x3b16cb][_0x568db3(0x192)](_0x5de107),await this['saveIndex'](),this['logger']?.[_0x568db3(0x180)](_0x568db3(0x174),{'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'mode':mode}),_0x491e1b;}catch(_0x40df01){this[_0x568db3(0x1a6)]?.['error']('Error\x20uploading\x20file',{'agentId':_0x3b16cb,'filePath':_0x5a2187,'error':_0x40df01[_0x568db3(0x1b9)]});throw _0x40df01;}}async['getAttachments'](_0x3e97ec,_0xb405b9={}){const _0x3c749e=a0_0x34ad67;!this['index']&&await this['loadIndex']();try{const _0x2678b3=this['index']['agentRefs'][_0x3e97ec]||[],_0xca0a7=[];for(const _0x1efc1d of _0x2678b3){const _0x51c2d2=await this[_0x3c749e(0x1b2)](_0x1efc1d);if(_0x51c2d2){if(_0xb405b9[_0x3c749e(0x18d)]!==undefined&&_0x51c2d2['active']!==_0xb405b9[_0x3c749e(0x18d)])continue;if(_0xb405b9['mode']&&_0x51c2d2[_0x3c749e(0x199)]!==_0xb405b9['mode'])continue;_0xca0a7[_0x3c749e(0x192)](_0x51c2d2);}}return _0xca0a7;}catch(_0x3151f4){this[_0x3c749e(0x1a6)]?.[_0x3c749e(0x18c)](_0x3c749e(0x196),{'agentId':_0x3e97ec,'error':_0x3151f4['message']});throw _0x3151f4;}}async[a0_0x34ad67(0x1b2)](_0x13b297){const _0x109205=a0_0x34ad67;!this['index']&&await this['loadIndex']();try{const _0x1de7ab=this['index'][_0x109205(0x182)][_0x13b297];if(!_0x1de7ab)return null;const _0x3f47f2=a0_0x185671['join'](ATTACHMENTS_DIR,_0x1de7ab[_0x109205(0x17c)],_0x13b297,'metadata.json'),_0x285d25=await this[_0x109205(0x19b)][_0x109205(0x17d)](_0x3f47f2);if(!_0x285d25)return this['logger']?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x13b297}),null;const _0x36453f=await this['fileProcessor']['readFile'](_0x3f47f2,_0x109205(0x193));return JSON['parse'](_0x36453f);}catch(_0xee4379){return this[_0x109205(0x1a6)]?.['error']('Error\x20getting\x20attachment',{'fileId':_0x13b297,'error':_0xee4379[_0x109205(0x1b9)]}),null;}}async['getAttachmentContent'](_0xeed23a){const _0xfae2e0=a0_0x34ad67;try{const _0x1738af=await this[_0xfae2e0(0x1b2)](_0xeed23a);if(!_0x1738af||_0x1738af['mode']!=='content')return null;const _0x4ede9e=a0_0x185671[_0xfae2e0(0x1aa)](ATTACHMENTS_DIR,_0x1738af['agentId'],_0xeed23a,_0x1738af['contentFileName']),_0x2b9481=await this['fileProcessor']['fileExists'](_0x4ede9e);if(!_0x2b9481)return null;return await this['fileProcessor']['readFile'](_0x4ede9e,'utf8');}catch(_0xe571a3){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0xeed23a,'error':_0xe571a3['message']}),null;}}async[a0_0x34ad67(0x16f)](_0x44feff){const _0x326eff=a0_0x34ad67;try{const _0xa23b72=await this['getAttachment'](_0x44feff);if(!_0xa23b72)throw new Error(_0x326eff(0x1ac)+_0x44feff);_0xa23b72[_0x326eff(0x18d)]=!_0xa23b72[_0x326eff(0x18d)],_0xa23b72[_0x326eff(0x1a2)]=new Date()['toISOString']();const _0x344f69=a0_0x185671['join'](ATTACHMENTS_DIR,_0xa23b72[_0x326eff(0x17c)],_0x44feff,_0x326eff(0x18f));return await this['fileProcessor'][_0x326eff(0x1b5)](_0x344f69,JSON['stringify'](_0xa23b72,null,0x2),_0x326eff(0x193)),this[_0x326eff(0x179)]['attachments'][_0x44feff]&&(this[_0x326eff(0x179)][_0x326eff(0x182)][_0x44feff]['active']=_0xa23b72['active'],await this[_0x326eff(0x185)]()),this[_0x326eff(0x1a6)]?.[_0x326eff(0x180)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x44feff,'active':_0xa23b72['active']}),_0xa23b72;}catch(_0x395dbf){this['logger']?.['error'](_0x326eff(0x17f),{'fileId':_0x44feff,'error':_0x395dbf[_0x326eff(0x1b9)]});throw _0x395dbf;}}async['updateAttachment'](_0x44b2ba,_0x453f97){const _0x22758f=a0_0x34ad67;try{const _0x4a5870=await this[_0x22758f(0x1b2)](_0x44b2ba);if(!_0x4a5870)throw new Error('Attachment\x20not\x20found:\x20'+_0x44b2ba);const _0x324a6d=['fileName','active'];for(const _0x56d133 of _0x324a6d){_0x453f97[_0x56d133]!==undefined&&(_0x4a5870[_0x56d133]=_0x453f97[_0x56d133]);}_0x4a5870['lastModified']=new Date()['toISOString']();const _0x52fcd0=a0_0x185671[_0x22758f(0x1aa)](ATTACHMENTS_DIR,_0x4a5870['agentId'],_0x44b2ba,'metadata.json');return await this['fileProcessor'][_0x22758f(0x1b5)](_0x52fcd0,JSON[_0x22758f(0x1b4)](_0x4a5870,null,0x2),'utf8'),this['index']['attachments'][_0x44b2ba]&&(_0x453f97['fileName']&&(this[_0x22758f(0x179)]['attachments'][_0x44b2ba]['fileName']=_0x453f97['fileName']),_0x453f97[_0x22758f(0x18d)]!==undefined&&(this[_0x22758f(0x179)]['attachments'][_0x44b2ba]['active']=_0x453f97['active']),await this[_0x22758f(0x185)]()),this[_0x22758f(0x1a6)]?.[_0x22758f(0x180)]('Attachment\x20updated',{'fileId':_0x44b2ba,'updates':_0x453f97}),_0x4a5870;}catch(_0x516626){this[_0x22758f(0x1a6)]?.['error'](_0x22758f(0x181),{'fileId':_0x44b2ba,'error':_0x516626['message']});throw _0x516626;}}async['deleteAttachment'](_0x2fbdda,_0x382144){const _0x468831=a0_0x34ad67;try{const _0xa42aeb=await this['getAttachment'](_0x2fbdda);if(!_0xa42aeb)throw new Error('Attachment\x20not\x20found:\x20'+_0x2fbdda);_0xa42aeb[_0x468831(0x176)]=_0xa42aeb[_0x468831(0x176)][_0x468831(0x175)](_0x93e97b=>_0x93e97b!==_0x382144);if(_0xa42aeb[_0x468831(0x176)]['length']>0x0){const _0x5aa02f=a0_0x185671['join'](ATTACHMENTS_DIR,_0xa42aeb[_0x468831(0x17c)],_0x2fbdda,'metadata.json');return await this['fileProcessor']['writeFile'](_0x5aa02f,JSON['stringify'](_0xa42aeb,null,0x2),'utf8'),this['index']['attachments'][_0x2fbdda]&&(this[_0x468831(0x179)]['attachments'][_0x2fbdda][_0x468831(0x176)]=_0xa42aeb[_0x468831(0x176)]),this['index']['agentRefs'][_0x382144]&&(this[_0x468831(0x179)]['agentRefs'][_0x382144]=this[_0x468831(0x179)]['agentRefs'][_0x382144][_0x468831(0x175)](_0x16b5f5=>_0x16b5f5!==_0x2fbdda)),await this['saveIndex'](),this['logger']?.[_0x468831(0x180)](_0x468831(0x19d),{'fileId':_0x2fbdda,'agentId':_0x382144,'remainingRefs':_0xa42aeb['referencedBy'][_0x468831(0x1b0)]}),![];}const _0x403f99=a0_0x185671[_0x468831(0x1aa)](ATTACHMENTS_DIR,_0xa42aeb['agentId'],_0x2fbdda);return await this['fileProcessor'][_0x468831(0x187)](_0x403f99),delete this['index'][_0x468831(0x182)][_0x2fbdda],this[_0x468831(0x179)]['agentRefs'][_0x382144]&&(this[_0x468831(0x179)][_0x468831(0x16d)][_0x382144]=this[_0x468831(0x179)][_0x468831(0x16d)][_0x382144][_0x468831(0x175)](_0x18a6b9=>_0x18a6b9!==_0x2fbdda)),await this['saveIndex'](),this['logger']?.['info'](_0x468831(0x184),{'fileId':_0x2fbdda,'agentId':_0x382144}),!![];}catch(_0x375fff){this['logger']?.[_0x468831(0x18c)](_0x468831(0x194),{'fileId':_0x2fbdda,'agentId':_0x382144,'error':_0x375fff['message']});throw _0x375fff;}}async[a0_0x34ad67(0x198)](_0x438919){const _0x2d9859=a0_0x34ad67;try{const _0x1f175c=this[_0x2d9859(0x179)]['agentRefs'][_0x438919]||[];let _0x30cef9=0x0,_0x7fae22=0x0;for(const _0x3a00d9 of _0x1f175c){const _0x5abf07=await this[_0x2d9859(0x1a5)](_0x3a00d9,_0x438919);_0x5abf07?_0x30cef9++:_0x7fae22++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x438919,'deleted':_0x30cef9,'dereferenced':_0x7fae22}),{'deleted':_0x30cef9,'dereferenced':_0x7fae22};}catch(_0x6b8f67){this['logger']?.['error'](_0x2d9859(0x1a3),{'agentId':_0x438919,'error':_0x6b8f67['message']});throw _0x6b8f67;}}async[a0_0x34ad67(0x17e)](_0x160d29,_0x449917){const _0x2e6fc1=a0_0x34ad67;try{const _0x3176e6=await this['getAttachment'](_0x160d29);if(!_0x3176e6)throw new Error(_0x2e6fc1(0x1b6)+_0x160d29);!_0x3176e6[_0x2e6fc1(0x176)]['includes'](_0x449917)&&_0x3176e6[_0x2e6fc1(0x176)][_0x2e6fc1(0x192)](_0x449917);_0x3176e6[_0x2e6fc1(0x1a2)]=new Date()[_0x2e6fc1(0x170)](),_0x3176e6[_0x2e6fc1(0x18b)]=_0x3176e6['agentId'];const _0xab4532=a0_0x185671[_0x2e6fc1(0x1aa)](ATTACHMENTS_DIR,_0x3176e6['agentId'],_0x160d29,_0x2e6fc1(0x18f));return await this['fileProcessor']['writeFile'](_0xab4532,JSON['stringify'](_0x3176e6,null,0x2),_0x2e6fc1(0x193)),this['index']['attachments'][_0x160d29]&&(this[_0x2e6fc1(0x179)][_0x2e6fc1(0x182)][_0x160d29]['referencedBy']=_0x3176e6['referencedBy']),!this[_0x2e6fc1(0x179)]['agentRefs'][_0x449917]&&(this[_0x2e6fc1(0x179)][_0x2e6fc1(0x16d)][_0x449917]=[]),!this[_0x2e6fc1(0x179)][_0x2e6fc1(0x16d)][_0x449917]['includes'](_0x160d29)&&this['index'][_0x2e6fc1(0x16d)][_0x449917]['push'](_0x160d29),await this['saveIndex'](),this[_0x2e6fc1(0x1a6)]?.['info']('Attachment imported',{'sourceFileId':_0x160d29,'targetAgentId':_0x449917}),_0x3176e6;}catch(_0x299e15){this['logger']?.[_0x2e6fc1(0x18c)]('Error importing attachment',{'sourceFileId':_0x160d29,'targetAgentId':_0x449917,'error':_0x299e15['message']});throw _0x299e15;}}async[a0_0x34ad67(0x1a7)](_0x4b4670){return await this['getAttachments'](_0x4b4670,{'active':!![]});}async['getAttachmentPreview'](_0x8ef979){const _0x30af15=a0_0x34ad67;try{const _0x20b1f9=await this[_0x30af15(0x18e)](_0x8ef979);if(!_0x20b1f9)return null;if(_0x20b1f9['startsWith']('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x20b1f9[_0x30af15(0x1b0)]>0x3e8?_0x20b1f9['substring'](0x0,0x3e8)+_0x30af15(0x183):_0x20b1f9;}catch(_0x193063){return this[_0x30af15(0x1a6)]?.[_0x30af15(0x18c)](_0x30af15(0x1a1),{'fileId':_0x8ef979,'error':_0x193063[_0x30af15(0x1b9)]}),null;}}}export default FileAttachmentService;
|
|
1
|
+
function a0_0x5071(){const _0x5218ce=['ywDLBNrjza','z2v0qxr0ywnOBwvUDa','rMLSzsb1CgXVywrLza','DxrMoa','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','qxr0ywnOBwvUDcbKzwXLDgvK','zMLSDgvY','AM9PBG','Aw1WB3j0zwrgCM9T','nZDst2r3t3u','y29UDgvUDa','nZq3nZiXmJzSvhLRqNu','D2fYBG','Bw9Kzq','zxjYB3i','C3rHCNrZv2L0Aa','BgvUz3rO','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','DMfSAwrHDgu','CMvMzxjLBMnLzej5','Aw5JBhvKzxm','mtHywNHwvuu','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGC2f2Aw5NigLUzgv4','Aw5KzxG','yxr0ywnOBwvUDhm','D3jPDgvgAwXL','zMLSzvbYB2nLC3nVCG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Dg9Nz2XLqwn0AxzL','BwvZC2fNzq','ChvZAa','ywn0AxzL','nJe4mZLbCev0rhi','Aw5MBW','CgfYC2u','C2L6zq','zxjYB3jZ','C2L6zuXLDMvS','qxr0ywnOBwvUDcb1CgrHDgvK','zMLSzu5HBwu','BgfZDe1VzgLMAwvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','y2fSy3vSyxrLsgfZAa','rxjYB3iGBg9HzgLUzYbPBMrLEa','z2v0qxr0ywnOBwvUDenVBNrLBNq','mJGXmdu2BevqvNvL','Bg9HzeLUzgv4','ywDLBNrszwzZ','zgf0ytPPBwfNzq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ChjVy2vZC0zPBgu','C3rYAw5NAwz5','rMLSzsbUB3qGzM91BMq6ia','z2v0qxr0ywnOBwvUDhm','C2f2zuLUzgv4','nJe3ndqYq3PfrxL3','mJKWmdi0wuPHsvP2','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDguGDg9Nz2XLza','mtCYmhzYte1QDW','mty3oty1mJbct1vxEKS','Bwv0ywrHDgeUANnVBG','CMvHzezPBgu','zMLSzuv4Axn0CW','Dg9ju09tDhjPBMC','z2v0rMLSzvn0yxrZ','mtjHEMPpsvK','DMfSAwrHDg9Y','nty4nJi2ALPPtuTl','DxbKyxrLqxr0ywnOBwvUDa','zgvSzxrLqxr0ywnOBwvUDa','vMfSAwrHDgLVBIbMywLSzwq6ia','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','mtbvBM9Nt3u','Aw5PDgLHBgL6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','Bg9Nz2vY','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq'];a0_0x5071=function(){return _0x5218ce;};return a0_0x5071();}const a0_0x4ec636=a0_0x30b3;(function(_0x5a1ece,_0x5da650){const _0x3359d3=a0_0x30b3,_0x18b4cf=_0x5a1ece();while(!![]){try{const _0x1d44ba=parseInt(_0x3359d3(0x1c6))/0x1+parseInt(_0x3359d3(0x1fb))/0x2*(-parseInt(_0x3359d3(0x1dc))/0x3)+-parseInt(_0x3359d3(0x1d1))/0x4*(parseInt(_0x3359d3(0x1e1))/0x5)+-parseInt(_0x3359d3(0x1d0))/0x6*(parseInt(_0x3359d3(0x1ef))/0x7)+-parseInt(_0x3359d3(0x1d3))/0x8*(parseInt(_0x3359d3(0x207))/0x9)+-parseInt(_0x3359d3(0x1d4))/0xa+parseInt(_0x3359d3(0x1f1))/0xb*(parseInt(_0x3359d3(0x1da))/0xc);if(_0x1d44ba===_0x5da650)break;else _0x18b4cf['push'](_0x18b4cf['shift']());}catch(_0x5430c0){_0x18b4cf['push'](_0x18b4cf['shift']());}}}(a0_0x5071,0xe52f2));import a0_0x280d10 from'path';function a0_0x30b3(_0x16211a,_0x4597ee){_0x16211a=_0x16211a-0x1bd;const _0x50711b=a0_0x5071();let _0x30b32f=_0x50711b[_0x16211a];if(a0_0x30b3['flTHrQ']===undefined){var _0x12f99b=function(_0x101391){const _0x40b2bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x280d10='',_0x4abf66='';for(let _0x55ed9c=0x0,_0x394310,_0x4a6b0e,_0x3f1c1f=0x0;_0x4a6b0e=_0x101391['charAt'](_0x3f1c1f++);~_0x4a6b0e&&(_0x394310=_0x55ed9c%0x4?_0x394310*0x40+_0x4a6b0e:_0x4a6b0e,_0x55ed9c++%0x4)?_0x280d10+=String['fromCharCode'](0xff&_0x394310>>(-0x2*_0x55ed9c&0x6)):0x0){_0x4a6b0e=_0x40b2bc['indexOf'](_0x4a6b0e);}for(let _0x337f9d=0x0,_0x5457c6=_0x280d10['length'];_0x337f9d<_0x5457c6;_0x337f9d++){_0x4abf66+='%'+('00'+_0x280d10['charCodeAt'](_0x337f9d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4abf66);};a0_0x30b3['hPKqPN']=_0x12f99b,a0_0x30b3['PFlXCX']={},a0_0x30b3['flTHrQ']=!![];}const _0x5cb0a1=_0x50711b[0x0],_0x132361=_0x16211a+_0x5cb0a1,_0x514dd6=a0_0x30b3['PFlXCX'][_0x132361];return!_0x514dd6?(_0x30b32f=a0_0x30b3['hPKqPN'](_0x30b32f),a0_0x30b3['PFlXCX'][_0x132361]=_0x30b32f):_0x30b32f=_0x514dd6,_0x30b32f;}import{randomUUID}from'crypto';import a0_0x4abf66 from'../utilities/fileProcessor.js';import a0_0x55ed9c from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x280d10[a0_0x4ec636(0x1ed)](ATTACHMENTS_DIR,a0_0x4ec636(0x1e0));class FileAttachmentService{constructor(_0x394310={},_0x4a6b0e=null){const _0x42af42=a0_0x4ec636;this['config']=_0x394310,this[_0x42af42(0x1e4)]=_0x4a6b0e,this['fileProcessor']=new a0_0x4abf66(_0x394310,_0x4a6b0e),this['validator']=new a0_0x55ed9c(_0x394310,_0x4a6b0e),this[_0x42af42(0x1fe)]=null;}async[a0_0x4ec636(0x1e2)](){const _0x4a8468=a0_0x4ec636;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this['logger']?.[_0x4a8468(0x208)]('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x3f1c1f){this[_0x4a8468(0x1e4)]?.['error'](_0x4a8468(0x1e5),{'error':_0x3f1c1f['message']});throw _0x3f1c1f;}}async['loadIndex'](){const _0xe76f03=a0_0x4ec636;try{const _0x337f9d=await this[_0xe76f03(0x201)]['fileExists'](INDEX_FILE);if(!_0x337f9d)this[_0xe76f03(0x1fe)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x5457c6=await this[_0xe76f03(0x201)][_0xe76f03(0x1d6)](INDEX_FILE,_0xe76f03(0x1e9));this['index']=JSON[_0xe76f03(0x209)](_0x5457c6);}return this[_0xe76f03(0x1fe)];}catch(_0x2f30f5){return this[_0xe76f03(0x1e4)]?.[_0xe76f03(0x1f4)](_0xe76f03(0x1c4),{'error':_0x2f30f5[_0xe76f03(0x204)]}),this[_0xe76f03(0x1fe)]={'attachments':{},'agentRefs':{}},this[_0xe76f03(0x1fe)];}}async['saveIndex'](){const _0x512ad8=a0_0x4ec636;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON[_0x512ad8(0x1cc)](this[_0x512ad8(0x1fe)],null,0x2),'utf8');}catch(_0x5dc4a4){this[_0x512ad8(0x1e4)]?.['error'](_0x512ad8(0x1fd),{'error':_0x5dc4a4['message']});throw _0x5dc4a4;}}async['uploadFile']({agentId:_0x5ce95a,filePath:_0x379a0b,mode:mode=a0_0x4ec636(0x1f0),fileName:fileName=null}){const _0x2dbbf3=a0_0x4ec636;!this[_0x2dbbf3(0x1fe)]&&await this[_0x2dbbf3(0x1c7)]();try{const _0xdb581d=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1d7)](_0x379a0b);if(!_0xdb581d)throw new Error(_0x2dbbf3(0x1cd)+_0x379a0b);const _0x18005e=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1d9)](_0x379a0b),_0x59eafd=fileName||a0_0x280d10['basename'](_0x379a0b),_0x3c65aa=a0_0x280d10['extname'](_0x59eafd),_0x56a144=this[_0x2dbbf3(0x1db)][_0x2dbbf3(0x1f8)]({'fileName':_0x59eafd,'size':_0x18005e['size'],'mode':mode,'path':mode==='reference'?_0x379a0b:null});if(!_0x56a144['valid'])throw new Error(_0x2dbbf3(0x1df)+_0x56a144[_0x2dbbf3(0x1bd)]['join'](',\x20'));const _0x4f7868=randomUUID(),_0x3b9b09=await this['fileProcessor'][_0x2dbbf3(0x1c3)](_0x379a0b),_0x4a3d54=this['validator']['getContentType'](_0x59eafd),_0x4158a6=a0_0x280d10[_0x2dbbf3(0x1ed)](ATTACHMENTS_DIR,_0x5ce95a,_0x4f7868);await this['fileProcessor']['createDirectory'](_0x4158a6);let _0x1de00a=0x0,_0x47fc2d=null;if(mode===_0x2dbbf3(0x1f0)){const processResult=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1cb)](_0x379a0b,_0x4a3d54),_0x27a9b6=processResult[_0x2dbbf3(0x1f0)];if(_0x4a3d54==='text')_0x47fc2d='content.txt';else{if(_0x4a3d54==='image')_0x47fc2d='content.base64';else _0x4a3d54==='pdf'&&(_0x47fc2d='content.txt');}const _0x3dab99=a0_0x280d10[_0x2dbbf3(0x1ed)](_0x4158a6,_0x47fc2d);await this['fileProcessor'][_0x2dbbf3(0x200)](_0x3dab99,_0x27a9b6,'utf8'),_0x1de00a=this[_0x2dbbf3(0x201)]['estimateTokens'](_0x27a9b6);}const _0x230b49={'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'originalPath':_0x379a0b,'fileType':this['validator']['getMimeType'](_0x59eafd),'fileExtension':_0x3c65aa,'size':_0x18005e[_0x2dbbf3(0x20a)],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x18005e['modified']['toISOString'](),'hash':_0x3b9b09,'tokenEstimate':_0x1de00a,'contentType':_0x4a3d54,'contentFileName':_0x47fc2d,'warnings':_0x56a144['warnings'],'sizeLevel':_0x56a144[_0x2dbbf3(0x1be)],'importedFrom':null,'referencedBy':[_0x5ce95a]},_0x25344f=a0_0x280d10['join'](_0x4158a6,_0x2dbbf3(0x1d5));return await this[_0x2dbbf3(0x201)]['writeFile'](_0x25344f,JSON['stringify'](_0x230b49,null,0x2),'utf8'),this['index'][_0x2dbbf3(0x1ff)][_0x4f7868]={'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'mode':mode,'active':_0x230b49['active'],'referencedBy':_0x230b49['referencedBy']},!this[_0x2dbbf3(0x1fe)][_0x2dbbf3(0x1c8)][_0x5ce95a]&&(this['index'][_0x2dbbf3(0x1c8)][_0x5ce95a]=[]),this['index'][_0x2dbbf3(0x1c8)][_0x5ce95a][_0x2dbbf3(0x205)](_0x4f7868),await this['saveIndex'](),this['logger']?.['info'](_0x2dbbf3(0x1e8),{'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'mode':mode}),_0x230b49;}catch(_0x334035){this[_0x2dbbf3(0x1e4)]?.[_0x2dbbf3(0x1f4)]('Error\x20uploading\x20file',{'agentId':_0x5ce95a,'filePath':_0x379a0b,'error':_0x334035[_0x2dbbf3(0x204)]});throw _0x334035;}}async[a0_0x4ec636(0x1ce)](_0x3c214f,_0x385cbe={}){const _0x5d8322=a0_0x4ec636;!this[_0x5d8322(0x1fe)]&&await this['loadIndex']();try{const _0x5297d7=this['index']['agentRefs'][_0x3c214f]||[],_0x4c1998=[];for(const _0x982589 of _0x5297d7){const _0x1c6bdf=await this['getAttachment'](_0x982589);if(_0x1c6bdf){if(_0x385cbe[_0x5d8322(0x206)]!==undefined&&_0x1c6bdf['active']!==_0x385cbe[_0x5d8322(0x206)])continue;if(_0x385cbe['mode']&&_0x1c6bdf[_0x5d8322(0x1f3)]!==_0x385cbe['mode'])continue;_0x4c1998['push'](_0x1c6bdf);}}return _0x4c1998;}catch(_0xac9e82){this[_0x5d8322(0x1e4)]?.['error'](_0x5d8322(0x1c2),{'agentId':_0x3c214f,'error':_0xac9e82['message']});throw _0xac9e82;}}async['getAttachment'](_0x30c7ff){const _0xd8e03b=a0_0x4ec636;!this[_0xd8e03b(0x1fe)]&&await this['loadIndex']();try{const _0x36575f=this[_0xd8e03b(0x1fe)][_0xd8e03b(0x1ff)][_0x30c7ff];if(!_0x36575f)return null;const _0x5c261e=a0_0x280d10[_0xd8e03b(0x1ed)](ATTACHMENTS_DIR,_0x36575f[_0xd8e03b(0x1e6)],_0x30c7ff,'metadata.json'),_0x26d40c=await this[_0xd8e03b(0x201)][_0xd8e03b(0x1d7)](_0x5c261e);if(!_0x26d40c)return this['logger']?.[_0xd8e03b(0x1f2)]('Metadata\x20file\x20not\x20found',{'fileId':_0x30c7ff}),null;const _0xdea830=await this['fileProcessor']['readFile'](_0x5c261e,_0xd8e03b(0x1e9));return JSON['parse'](_0xdea830);}catch(_0x1de72d){return this['logger']?.[_0xd8e03b(0x1f4)]('Error\x20getting\x20attachment',{'fileId':_0x30c7ff,'error':_0x1de72d['message']}),null;}}async[a0_0x4ec636(0x1c5)](_0x40f2e4){const _0x26e58f=a0_0x4ec636;try{const _0x429a6f=await this[_0x26e58f(0x1e7)](_0x40f2e4);if(!_0x429a6f||_0x429a6f[_0x26e58f(0x1f3)]!==_0x26e58f(0x1f0))return null;const _0x5eaffd=a0_0x280d10[_0x26e58f(0x1ed)](ATTACHMENTS_DIR,_0x429a6f['agentId'],_0x40f2e4,_0x429a6f['contentFileName']),_0x526aa0=await this['fileProcessor'][_0x26e58f(0x1d7)](_0x5eaffd);if(!_0x526aa0)return null;return await this[_0x26e58f(0x201)]['readFile'](_0x5eaffd,_0x26e58f(0x1e9));}catch(_0x3c1ede){return this[_0x26e58f(0x1e4)]?.['error'](_0x26e58f(0x202),{'fileId':_0x40f2e4,'error':_0x3c1ede[_0x26e58f(0x204)]}),null;}}async[a0_0x4ec636(0x203)](_0x5426c3){const _0x7c9d6b=a0_0x4ec636;try{const _0x334f84=await this[_0x7c9d6b(0x1e7)](_0x5426c3);if(!_0x334f84)throw new Error(_0x7c9d6b(0x1e3)+_0x5426c3);_0x334f84[_0x7c9d6b(0x206)]=!_0x334f84[_0x7c9d6b(0x206)],_0x334f84['lastModified']=new Date()[_0x7c9d6b(0x1d8)]();const _0x55e1dc=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x334f84[_0x7c9d6b(0x1e6)],_0x5426c3,'metadata.json');return await this[_0x7c9d6b(0x201)]['writeFile'](_0x55e1dc,JSON[_0x7c9d6b(0x1cc)](_0x334f84,null,0x2),_0x7c9d6b(0x1e9)),this['index']['attachments'][_0x5426c3]&&(this[_0x7c9d6b(0x1fe)]['attachments'][_0x5426c3]['active']=_0x334f84['active'],await this['saveIndex']()),this['logger']?.['info'](_0x7c9d6b(0x1d2),{'fileId':_0x5426c3,'active':_0x334f84['active']}),_0x334f84;}catch(_0x2e35a9){this[_0x7c9d6b(0x1e4)]?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x5426c3,'error':_0x2e35a9['message']});throw _0x2e35a9;}}async[a0_0x4ec636(0x1dd)](_0xa7fff3,_0x1df1d8){const _0x69987d=a0_0x4ec636;try{const _0x385639=await this['getAttachment'](_0xa7fff3);if(!_0x385639)throw new Error('Attachment\x20not\x20found:\x20'+_0xa7fff3);const _0x695fd4=['fileName',_0x69987d(0x206)];for(const _0x30e33f of _0x695fd4){_0x1df1d8[_0x30e33f]!==undefined&&(_0x385639[_0x30e33f]=_0x1df1d8[_0x30e33f]);}_0x385639['lastModified']=new Date()['toISOString']();const _0x50a24c=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x385639[_0x69987d(0x1e6)],_0xa7fff3,'metadata.json');return await this[_0x69987d(0x201)]['writeFile'](_0x50a24c,JSON[_0x69987d(0x1cc)](_0x385639,null,0x2),'utf8'),this['index'][_0x69987d(0x1ff)][_0xa7fff3]&&(_0x1df1d8['fileName']&&(this['index'][_0x69987d(0x1ff)][_0xa7fff3][_0x69987d(0x1c0)]=_0x1df1d8[_0x69987d(0x1c0)]),_0x1df1d8['active']!==undefined&&(this['index'][_0x69987d(0x1ff)][_0xa7fff3]['active']=_0x1df1d8[_0x69987d(0x206)]),await this[_0x69987d(0x1cf)]()),this['logger']?.[_0x69987d(0x208)](_0x69987d(0x1bf),{'fileId':_0xa7fff3,'updates':_0x1df1d8}),_0x385639;}catch(_0x404690){this[_0x69987d(0x1e4)]?.[_0x69987d(0x1f4)]('Error\x20updating\x20attachment',{'fileId':_0xa7fff3,'error':_0x404690[_0x69987d(0x204)]});throw _0x404690;}}async['deleteAttachment'](_0x491d5f,_0x51c487){const _0x44daf5=a0_0x4ec636;try{const _0x57c0c9=await this[_0x44daf5(0x1e7)](_0x491d5f);if(!_0x57c0c9)throw new Error(_0x44daf5(0x1e3)+_0x491d5f);_0x57c0c9[_0x44daf5(0x1f9)]=_0x57c0c9['referencedBy']['filter'](_0x5f47bf=>_0x5f47bf!==_0x51c487);if(_0x57c0c9[_0x44daf5(0x1f9)]['length']>0x0){const _0x285ed0=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x57c0c9['agentId'],_0x491d5f,_0x44daf5(0x1d5));return await this['fileProcessor'][_0x44daf5(0x200)](_0x285ed0,JSON['stringify'](_0x57c0c9,null,0x2),_0x44daf5(0x1e9)),this['index']['attachments'][_0x491d5f]&&(this[_0x44daf5(0x1fe)][_0x44daf5(0x1ff)][_0x491d5f][_0x44daf5(0x1f9)]=_0x57c0c9['referencedBy']),this[_0x44daf5(0x1fe)][_0x44daf5(0x1c8)][_0x51c487]&&(this['index'][_0x44daf5(0x1c8)][_0x51c487]=this['index'][_0x44daf5(0x1c8)][_0x51c487][_0x44daf5(0x1ec)](_0x4e9f29=>_0x4e9f29!==_0x491d5f)),await this['saveIndex'](),this['logger']?.[_0x44daf5(0x208)]('Attachment\x20dereferenced',{'fileId':_0x491d5f,'agentId':_0x51c487,'remainingRefs':_0x57c0c9[_0x44daf5(0x1f9)]['length']}),![];}const _0x4fd172=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x57c0c9[_0x44daf5(0x1e6)],_0x491d5f);return await this[_0x44daf5(0x201)]['deleteDirectory'](_0x4fd172),delete this['index'][_0x44daf5(0x1ff)][_0x491d5f],this['index']['agentRefs'][_0x51c487]&&(this[_0x44daf5(0x1fe)][_0x44daf5(0x1c8)][_0x51c487]=this['index']['agentRefs'][_0x51c487]['filter'](_0x302ad1=>_0x302ad1!==_0x491d5f)),await this[_0x44daf5(0x1cf)](),this[_0x44daf5(0x1e4)]?.['info'](_0x44daf5(0x1eb),{'fileId':_0x491d5f,'agentId':_0x51c487}),!![];}catch(_0x4d2559){this['logger']?.[_0x44daf5(0x1f4)](_0x44daf5(0x1fc),{'fileId':_0x491d5f,'agentId':_0x51c487,'error':_0x4d2559['message']});throw _0x4d2559;}}async['deleteAgentAttachments'](_0xa6636d){const _0x2893e8=a0_0x4ec636;try{const _0x41d68a=this['index'][_0x2893e8(0x1c8)][_0xa6636d]||[];let _0x38c4f9=0x0,_0x4c9527=0x0;for(const _0x49b74e of _0x41d68a){const _0xec7931=await this[_0x2893e8(0x1de)](_0x49b74e,_0xa6636d);_0xec7931?_0x38c4f9++:_0x4c9527++;}return this[_0x2893e8(0x1e4)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0xa6636d,'deleted':_0x38c4f9,'dereferenced':_0x4c9527}),{'deleted':_0x38c4f9,'dereferenced':_0x4c9527};}catch(_0x108648){this[_0x2893e8(0x1e4)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0xa6636d,'error':_0x108648['message']});throw _0x108648;}}async['importFromAgent'](_0x2aa886,_0xa76984){const _0x2a888a=a0_0x4ec636;try{const _0x588316=await this['getAttachment'](_0x2aa886);if(!_0x588316)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x2aa886);!_0x588316['referencedBy']['includes'](_0xa76984)&&_0x588316[_0x2a888a(0x1f9)][_0x2a888a(0x205)](_0xa76984);_0x588316[_0x2a888a(0x1c1)]=new Date()['toISOString'](),_0x588316[_0x2a888a(0x1ee)]=_0x588316['agentId'];const _0x331516=a0_0x280d10[_0x2a888a(0x1ed)](ATTACHMENTS_DIR,_0x588316[_0x2a888a(0x1e6)],_0x2aa886,'metadata.json');return await this['fileProcessor'][_0x2a888a(0x200)](_0x331516,JSON['stringify'](_0x588316,null,0x2),'utf8'),this[_0x2a888a(0x1fe)]['attachments'][_0x2aa886]&&(this[_0x2a888a(0x1fe)]['attachments'][_0x2aa886][_0x2a888a(0x1f9)]=_0x588316['referencedBy']),!this['index']['agentRefs'][_0xa76984]&&(this['index'][_0x2a888a(0x1c8)][_0xa76984]=[]),!this[_0x2a888a(0x1fe)][_0x2a888a(0x1c8)][_0xa76984][_0x2a888a(0x1fa)](_0x2aa886)&&this[_0x2a888a(0x1fe)][_0x2a888a(0x1c8)][_0xa76984]['push'](_0x2aa886),await this[_0x2a888a(0x1cf)](),this[_0x2a888a(0x1e4)]?.['info']('Attachment imported',{'sourceFileId':_0x2aa886,'targetAgentId':_0xa76984}),_0x588316;}catch(_0x347ed4){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x2aa886,'targetAgentId':_0xa76984,'error':_0x347ed4['message']});throw _0x347ed4;}}async['getActiveAttachments'](_0xab9c17){const _0x2d8e9b=a0_0x4ec636;return await this[_0x2d8e9b(0x1ce)](_0xab9c17,{'active':!![]});}async[a0_0x4ec636(0x1ca)](_0x21344b){const _0x240f2a=a0_0x4ec636;try{const _0x370497=await this['getAttachmentContent'](_0x21344b);if(!_0x370497)return null;if(_0x370497[_0x240f2a(0x1f5)](_0x240f2a(0x1c9)))return _0x240f2a(0x1f7);return _0x370497[_0x240f2a(0x1f6)]>0x3e8?_0x370497['substring'](0x0,0x3e8)+'...':_0x370497;}catch(_0x2f50c4){return this[_0x240f2a(0x1e4)]?.[_0x240f2a(0x1f4)](_0x240f2a(0x1ea),{'fileId':_0x21344b,'error':_0x2f50c4['message']}),null;}}}export default FileAttachmentService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x21cf(_0x3e1860,_0x32bfa4){_0x3e1860=_0x3e1860-0x6b;const _0x381f97=a0_0x381f();let _0x21cf9d=_0x381f97[_0x3e1860];if(a0_0x21cf['dAgizy']===undefined){var _0x1902a8=function(_0x51f344){const _0x24a874='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x192757='',_0xa07733='';for(let _0x4fda58=0x0,_0x369c0a,_0x48504a,_0x422883=0x0;_0x48504a=_0x51f344['charAt'](_0x422883++);~_0x48504a&&(_0x369c0a=_0x4fda58%0x4?_0x369c0a*0x40+_0x48504a:_0x48504a,_0x4fda58++%0x4)?_0x192757+=String['fromCharCode'](0xff&_0x369c0a>>(-0x2*_0x4fda58&0x6)):0x0){_0x48504a=_0x24a874['indexOf'](_0x48504a);}for(let _0x409e98=0x0,_0x5cd877=_0x192757['length'];_0x409e98<_0x5cd877;_0x409e98++){_0xa07733+='%'+('00'+_0x192757['charCodeAt'](_0x409e98)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa07733);};a0_0x21cf['oxnGJS']=_0x1902a8,a0_0x21cf['cynklA']={},a0_0x21cf['dAgizy']=!![];}const _0x4b9da6=_0x381f97[0x0],_0x27bc9f=_0x3e1860+_0x4b9da6,_0x23ef4b=a0_0x21cf['cynklA'][_0x27bc9f];return!_0x23ef4b?(_0x21cf9d=a0_0x21cf['oxnGJS'](_0x21cf9d),a0_0x21cf['cynklA'][_0x27bc9f]=_0x21cf9d):_0x21cf9d=_0x23ef4b,_0x21cf9d;}const a0_0x55bfee=a0_0x21cf;(function(_0x259164,_0x2d0b3f){const _0x2d4111=a0_0x21cf,_0x41d7ee=_0x259164();while(!![]){try{const _0x1907ea=-parseInt(_0x2d4111(0x73))/0x1*(-parseInt(_0x2d4111(0x84))/0x2)+parseInt(_0x2d4111(0x99))/0x3*(parseInt(_0x2d4111(0xb6))/0x4)+parseInt(_0x2d4111(0x8b))/0x5+parseInt(_0x2d4111(0x7e))/0x6+-parseInt(_0x2d4111(0x9d))/0x7*(-parseInt(_0x2d4111(0x7f))/0x8)+parseInt(_0x2d4111(0x8d))/0x9+parseInt(_0x2d4111(0x95))/0xa*(-parseInt(_0x2d4111(0x70))/0xb);if(_0x1907ea===_0x2d0b3f)break;else _0x41d7ee['push'](_0x41d7ee['shift']());}catch(_0x39776a){_0x41d7ee['push'](_0x41d7ee['shift']());}}}(a0_0x381f,0xabd16));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x192757,_0xa07733,_0x4fda58,_0x369c0a){const _0x4fcc1d=a0_0x21cf;this['config']=_0x192757,this[_0x4fcc1d(0xab)]=_0xa07733,this[_0x4fcc1d(0x96)]=_0x4fda58,this[_0x4fcc1d(0xbe)]=_0x369c0a,this[_0x4fcc1d(0x89)]=MODEL_ROUTER_CONFIG[_0x4fcc1d(0xb0)],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x4fcc1d(0x77)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x4fcc1d(0x91)];}async[a0_0x55bfee(0x6c)](_0x48504a,_0x422883=[],_0x409e98='',_0x5cd877=[],_0xef6803={}){const _0xfe86fa=a0_0x55bfee;try{this['logger'][_0xfe86fa(0xaa)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x48504a[_0xfe86fa(0x87)]?.['length']||0x0,'recentMessagesCount':_0x422883['length'],'currentModel':_0x409e98,'availableModelsCount':_0x5cd877['length']});const _0x108073=this['_buildRoutingContext'](_0x48504a,_0x422883,_0x409e98,_0x5cd877),_0x45f506=this['benchmarkService'][_0xfe86fa(0xbc)](),_0x29181=this[_0xfe86fa(0x6f)](_0x108073,_0x45f506),_0x565acb=await this[_0xfe86fa(0xbb)](_0x29181,_0xef6803),_0x8465f1=this[_0xfe86fa(0xbd)](_0x565acb,_0x5cd877,_0x409e98);return this[_0xfe86fa(0xab)][_0xfe86fa(0xb7)](_0xfe86fa(0x74),{'selectedModel':_0x8465f1,'previousModel':_0x409e98,'changed':_0x8465f1!==_0x409e98,'reasoning':_0x565acb[_0xfe86fa(0xad)]?.['substring'](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x8465f1,'previousModel':_0x409e98,'changed':_0x8465f1!==_0x409e98,'reasoning':_0x565acb[_0xfe86fa(0xad)]||'No\x20reasoning\x20provided'};}catch(_0x185fdf){this[_0xfe86fa(0xab)]['error'](_0xfe86fa(0x85),{'error':_0x185fdf['message'],'currentModel':_0x409e98});const _0x30c30f=_0x409e98||_0x5cd877[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x30c30f,'previousModel':_0x409e98,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x55bfee(0xa1)](_0x4693c1,_0x48b56d,_0x4c339c,_0x1fe351){const _0x518656=a0_0x55bfee,_0x24e899=_0x48b56d[_0x518656(0x83)](-this['contextMessagesCount'])['map'](_0x4b8dac=>({'role':_0x4b8dac[_0x518656(0x9e)],'content':_0x4b8dac['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x4b8dac[_0x518656(0x72)]}));return{'currentMessage':{'content':_0x4693c1[_0x518656(0x87)]?.[_0x518656(0x75)](0x0,0x3e8)||'','role':_0x4693c1['role']||_0x518656(0x8f),'hasContextReferences':!!_0x4693c1[_0x518656(0x7b)]?.[_0x518656(0x9a)],'contextTypes':_0x4693c1[_0x518656(0x7b)]?.[_0x518656(0xc0)](_0x136f8f=>_0x136f8f['type'])||[]},'recentMessages':_0x24e899,'currentModel':_0x4c339c,'availableModels':_0x1fe351['map'](_0x330a0e=>({'name':_0x330a0e,'isCurrentModel':_0x330a0e===_0x4c339c})),'messageCount':_0x48b56d[_0x518656(0x9a)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x44f711,_0x570e44){const _0x37603e=a0_0x55bfee;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x44f711[_0x37603e(0x98)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x44f711[_0x37603e(0x71)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x44f711['availableModels'][_0x37603e(0xc0)](_0x50f972=>_0x50f972['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x44f711['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x44f711['currentMessage']['role']+_0x37603e(0x93)+_0x44f711[_0x37603e(0xaf)]['content']+_0x37603e(0x6d)+_0x44f711['currentMessage']['hasContextReferences']+'\x0a'+(_0x44f711['currentMessage'][_0x37603e(0x90)][_0x37603e(0x9a)]>0x0?_0x37603e(0x88)+_0x44f711['currentMessage']['contextTypes'][_0x37603e(0x8a)](',\x20'):'')+_0x37603e(0x86)+this[_0x37603e(0xa2)](_0x570e44)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}[a0_0x55bfee(0x81)](_0x3a8fec){const _0x113895=a0_0x55bfee;if(!_0x3a8fec[_0x113895(0x9a)])return _0x113895(0xa6);return _0x3a8fec[_0x113895(0xc0)]((_0x5e731b,_0x1c3662)=>_0x1c3662+0x1+_0x113895(0x8e)+_0x5e731b['role']+'**:\x20'+_0x5e731b['content'])[_0x113895(0x8a)]('\x0a');}[a0_0x55bfee(0xa2)](_0x20c260){const _0x2eeb4a=a0_0x55bfee,_0x25c9e4=_0x20c260['models']||[],_0x4cf494=_0x20c260[_0x2eeb4a(0x9b)]||{},_0x2def7a=_0x20c260[_0x2eeb4a(0xa7)]||{};let _0x4f8a28=_0x2eeb4a(0x6e);return Object['entries'](_0x4cf494)['forEach'](([_0x17c6f1,_0x143542])=>{const _0xdabdef=_0x2eeb4a;_0x4f8a28+='**'+_0x17c6f1['toUpperCase']()+_0xdabdef(0x80)+_0x143542[_0xdabdef(0xb5)]+_0xdabdef(0x94)+(_0x143542[_0xdabdef(0xb4)]?.['join'](',\x20')||_0xdabdef(0xb1))+'\x0a';}),_0x4f8a28+='\x0a###\x20Model\x20Details\x0a',_0x25c9e4[_0x2eeb4a(0x83)](0x0,0x8)[_0x2eeb4a(0x76)](_0x6e9d08=>{const _0x52fad7=_0x2eeb4a;_0x4f8a28+='**'+_0x6e9d08[_0x52fad7(0xa3)]+_0x52fad7(0xa0);const _0x4de0de=Object['entries'](_0x6e9d08['tasks']||{})['map'](([_0x31767f,_0x496538])=>_0x31767f+'('+_0x496538[_0x52fad7(0x8c)]+')')['join'](',\x20');_0x4f8a28+=_0x4de0de+_0x52fad7(0xa8)+(_0x6e9d08['strengths']?.[_0x52fad7(0x8a)](',\x20')||'N/A')+'\x0a';}),_0x4f8a28;}async['_askForRouting'](_0x22e947,_0x278e35={}){const _0x35ed7c=a0_0x55bfee;try{const _0xbc621f=await this['aiService']['sendMessage'](this['routerModel'],_0x22e947,{'agentId':'model-router','systemPrompt':'You\x20are\x20a\x20model\x20routing\x20expert.\x20Analyze\x20conversations\x20and\x20select\x20optimal\x20AI\x20models.\x20Always\x20respond\x20with\x20valid\x20JSON\x20only.','temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x35ed7c(0xb2)],'sessionId':_0x278e35['sessionId'],'apiKey':_0x278e35[_0x35ed7c(0x79)]||this['config']['apiKey'],'customApiKeys':_0x278e35[_0x35ed7c(0xae)],'platformProvided':!![]});if(!_0xbc621f['content'])throw new Error('No response content from autopilot-model-router');const _0x10508e=this[_0x35ed7c(0x7a)](_0xbc621f[_0x35ed7c(0x87)]);return _0x10508e;}catch(_0x5b3c45){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x5b3c45['message'],'routerModel':this[_0x35ed7c(0x89)]});throw _0x5b3c45;}}['_parseRoutingResponse'](_0x5799fa){const _0x42fd31=a0_0x55bfee;try{const _0x19ac5b=_0x5799fa['match'](/\{[\s\S]*\}/);if(!_0x19ac5b)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x19fea0=JSON[_0x42fd31(0xb8)](_0x19ac5b[0x0]);if(!_0x19fea0[_0x42fd31(0xbf)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x19fea0['selectedModel'],'taskType':_0x19fea0['taskType']||_0x42fd31(0x82),'confidence':_0x19fea0[_0x42fd31(0x7c)]||0.5,'reasoning':_0x19fea0[_0x42fd31(0xad)]||_0x42fd31(0xac),'factors':_0x19fea0['factors']||[]};}catch(_0x5d4ab8){return this[_0x42fd31(0xab)]['warn'](_0x42fd31(0xb3),{'error':_0x5d4ab8[_0x42fd31(0xa9)],'content':_0x5799fa['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x42fd31(0x82),'confidence':0x0,'reasoning':_0x42fd31(0xb9),'factors':[_0x42fd31(0x97)]};}}[a0_0x55bfee(0xbd)](_0x16da84,_0x3e2993,_0x550517){const _0x12a4e4=a0_0x55bfee,{selectedModel:_0x1f4b2b}=_0x16da84;if(!_0x1f4b2b)return this['logger'][_0x12a4e4(0xaa)](_0x12a4e4(0xa5)),_0x550517;if(!_0x3e2993[_0x12a4e4(0x7d)](_0x1f4b2b))return this[_0x12a4e4(0xab)][_0x12a4e4(0x78)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x1f4b2b,'availableModels':_0x3e2993}),_0x550517;return _0x1f4b2b;}['getStatus'](){const _0x174740=a0_0x55bfee;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x174740(0x9c)],'requestTimeout':this[_0x174740(0xb2)],'benchmarkServiceStatus':this[_0x174740(0x96)][_0x174740(0xa4)](),'isAvailable':!![]};}async['testRouter'](){const _0x3cf453=a0_0x55bfee;try{const _0x2c3ba2={'content':_0x3cf453(0x92),'role':_0x3cf453(0x8f)},_0x429095=await this[_0x3cf453(0x6c)](_0x2c3ba2,[],MODELS[_0x3cf453(0x6b)],[MODELS[_0x3cf453(0x6b)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x3cf453(0x9f)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this['logger'][_0x3cf453(0xb7)]('Router\x20test\x20completed',{'selectedModel':_0x429095}),{'success':!![],'selectedModel':_0x429095};}catch(_0x22ae1c){return this['logger']['error'](_0x3cf453(0xba),{'error':_0x22ae1c['message']}),{'success':![],'error':_0x22ae1c[_0x3cf453(0xa9)]};}}}function a0_0x381f(){const _0x192295=['AM9PBG','mtG0nZe5nvLpre5nAW','C2nVCMu','mtiWmJuZmtrJD1LsANi','lIaQkG','DxnLCG','y29UDgv4Dfr5CgvZ','uKvrvuvtvf9usu1ft1vu','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','cIOQq29UDgvUDcOQoIa','ktOG','mtbRyxv3Cfe','yMvUy2HTyxjRu2vYDMLJzq','CgfYC2LUzY1LCNjVCG','y3vYCMvUDe1VzgvS','mtuWndqXnLPcC1zRDG','BgvUz3rO','DgfZA3m','y29UDgv4De1LC3nHz2vZq291BNq','mtrjuLjnrei','CM9Szq','r1buxZq','kIO6ia','x2j1AwXKuM91DgLUz0nVBNrLEhq','x2zVCM1HDejLBMnOBwfYA0rHDge','BMfTzq','z2v0u3rHDhvZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','C3vTBwfYEq','ihWGu3rYzw5NDgHZoIa','BwvZC2fNzq','zgvIDwC','Bg9Nz2vY','tM8GCMvHC29UAw5NihbYB3zPzgvK','CMvHC29UAw5N','y3vZDg9TqxbPs2v5CW','y3vYCMvUDe1LC3nHz2u','uK9vvevsx01prevm','tM8Gzgf0yq','CMvXDwvZDfrPBwvVDxq','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','Dg9Wtw9KzwXZ','zgvZy3jPChrPB24','ng1HwePUwa','Aw5MBW','CgfYC2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','uM91DgvYihrLC3qGzMfPBgvK','x2fZA0zVCLjVDxrPBMC','z2v0qMvUy2HTyxjRvgfIBgu','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','ywLtzxj2AwnL','C2vSzwn0zwrnB2rLBa','BwfW','qu5usfjpueLdx1nptK5fva','CM91DgvnzxnZywDL','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','x2nYzwf0zvjVDxrPBMDqCM9TChq','mZKYndaXntDxtKfUDuq','BwvZC2fNzunVDw50','DgLTzxn0yw1W','nfrer3HNCq','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','C3vIC3rYAw5N','zM9YrwfJAa','q09ovevyvf9nrvntquDfu19dt1vova','D2fYBG','yxbPs2v5','x3bHCNnLuM91DgLUz1jLC3bVBNnL','y29UDgv4DfjLzMvYzw5Jzxm','y29UzMLKzw5Jzq','Aw5JBhvKzxm','mZiYotmYmhLLtgvKuG','ndK5mty5nML0rMnRyW','kIOGka','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','Dw5RBM93BG','C2XPy2u','mtm4oti2ve5fDvbO','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','y29UDgvUDa','kIPdB250zxH0ifr5CgvZkIO6ia','CM91DgvYtw9KzwW'];a0_0x381f=function(){return _0x192295;};return a0_0x381f();}export default ModelRouterService;
|
|
1
|
+
const a0_0x179793=a0_0x5361;function a0_0x5361(_0x46abdd,_0x589956){_0x46abdd=_0x46abdd-0x7d;const _0x46a633=a0_0x46a6();let _0x5361f9=_0x46a633[_0x46abdd];if(a0_0x5361['PwLtXa']===undefined){var _0x1d9c6f=function(_0x570732){const _0x5ae8ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x191f86='',_0x375097='';for(let _0x3f54cd=0x0,_0x4c761d,_0x5f09c5,_0x23335f=0x0;_0x5f09c5=_0x570732['charAt'](_0x23335f++);~_0x5f09c5&&(_0x4c761d=_0x3f54cd%0x4?_0x4c761d*0x40+_0x5f09c5:_0x5f09c5,_0x3f54cd++%0x4)?_0x191f86+=String['fromCharCode'](0xff&_0x4c761d>>(-0x2*_0x3f54cd&0x6)):0x0){_0x5f09c5=_0x5ae8ab['indexOf'](_0x5f09c5);}for(let _0x17694f=0x0,_0x4f1a77=_0x191f86['length'];_0x17694f<_0x4f1a77;_0x17694f++){_0x375097+='%'+('00'+_0x191f86['charCodeAt'](_0x17694f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x375097);};a0_0x5361['IvVeTJ']=_0x1d9c6f,a0_0x5361['XTPkBF']={},a0_0x5361['PwLtXa']=!![];}const _0xc76d88=_0x46a633[0x0],_0x26fe10=_0x46abdd+_0xc76d88,_0x27fb94=a0_0x5361['XTPkBF'][_0x26fe10];return!_0x27fb94?(_0x5361f9=a0_0x5361['IvVeTJ'](_0x5361f9),a0_0x5361['XTPkBF'][_0x26fe10]=_0x5361f9):_0x5361f9=_0x27fb94,_0x5361f9;}(function(_0x4d1f16,_0x439da4){const _0xdd0657=a0_0x5361,_0x21562f=_0x4d1f16();while(!![]){try{const _0x60c3e6=parseInt(_0xdd0657(0x85))/0x1+parseInt(_0xdd0657(0xc3))/0x2*(-parseInt(_0xdd0657(0xc4))/0x3)+parseInt(_0xdd0657(0xb9))/0x4*(-parseInt(_0xdd0657(0x8b))/0x5)+-parseInt(_0xdd0657(0xb0))/0x6+parseInt(_0xdd0657(0xa3))/0x7*(-parseInt(_0xdd0657(0xa4))/0x8)+-parseInt(_0xdd0657(0xb2))/0x9+-parseInt(_0xdd0657(0xa0))/0xa*(-parseInt(_0xdd0657(0x93))/0xb);if(_0x60c3e6===_0x439da4)break;else _0x21562f['push'](_0x21562f['shift']());}catch(_0x4da31c){_0x21562f['push'](_0x21562f['shift']());}}}(a0_0x46a6,0xa2fc2));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x191f86,_0x375097,_0x3f54cd,_0x4c761d){const _0x1f6abf=a0_0x5361;this[_0x1f6abf(0x9b)]=_0x191f86,this['logger']=_0x375097,this['benchmarkService']=_0x3f54cd,this['aiService']=_0x4c761d,this[_0x1f6abf(0x99)]=MODEL_ROUTER_CONFIG[_0x1f6abf(0xaa)],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x1f6abf(0xab)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x1f6abf(0x9e)];}async['routeMessage'](_0x5f09c5,_0x23335f=[],_0x17694f='',_0x4f1a77=[],_0x55cd09={}){const _0x2c3172=a0_0x5361;try{this['logger'][_0x2c3172(0xb4)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x5f09c5['content']?.['length']||0x0,'recentMessagesCount':_0x23335f['length'],'currentModel':_0x17694f,'availableModelsCount':_0x4f1a77[_0x2c3172(0xa6)]});const _0x3ffe0b=this['_buildRoutingContext'](_0x5f09c5,_0x23335f,_0x17694f,_0x4f1a77),_0x17528b=this['benchmarkService'][_0x2c3172(0xa2)](),_0xd35337=this[_0x2c3172(0x80)](_0x3ffe0b,_0x17528b),_0x46dce5=await this[_0x2c3172(0xbe)](_0xd35337,_0x55cd09),_0x1098ce=this[_0x2c3172(0x87)](_0x46dce5,_0x4f1a77,_0x17694f);return this[_0x2c3172(0x7e)][_0x2c3172(0x89)]('Model\x20routing\x20completed',{'selectedModel':_0x1098ce,'previousModel':_0x17694f,'changed':_0x1098ce!==_0x17694f,'reasoning':_0x46dce5['reasoning']?.[_0x2c3172(0xb5)](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x1098ce,'previousModel':_0x17694f,'changed':_0x1098ce!==_0x17694f,'reasoning':_0x46dce5[_0x2c3172(0x82)]||'No\x20reasoning\x20provided'};}catch(_0x424bda){this[_0x2c3172(0x7e)]['error']('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x424bda[_0x2c3172(0x92)],'currentModel':_0x17694f});const _0x162f82=_0x17694f||_0x4f1a77[0x0]||MODELS[_0x2c3172(0xbf)];return{'selectedModel':_0x162f82,'previousModel':_0x17694f,'changed':![],'reasoning':_0x2c3172(0x8f)};}}['_buildRoutingContext'](_0x37e45b,_0xf54e8e,_0x1b7317,_0xda15df){const _0x1da982=a0_0x5361,_0x55ef2f=_0xf54e8e[_0x1da982(0xc7)](-this['contextMessagesCount'])['map'](_0x2d7005=>({'role':_0x2d7005[_0x1da982(0x7d)],'content':_0x2d7005['content']?.[_0x1da982(0xb5)](0x0,0x1f4)||'','timestamp':_0x2d7005['timestamp']}));return{'currentMessage':{'content':_0x37e45b[_0x1da982(0x9c)]?.['substring'](0x0,0x3e8)||'','role':_0x37e45b[_0x1da982(0x7d)]||_0x1da982(0x9f),'hasContextReferences':!!_0x37e45b['contextReferences']?.['length'],'contextTypes':_0x37e45b[_0x1da982(0xb1)]?.[_0x1da982(0xc5)](_0x329e7e=>_0x329e7e[_0x1da982(0x97)])||[]},'recentMessages':_0x55ef2f,'currentModel':_0x1b7317,'availableModels':_0xda15df[_0x1da982(0xc5)](_0x1e635f=>({'name':_0x1e635f,'isCurrentModel':_0x1e635f===_0x1b7317})),'messageCount':_0xf54e8e[_0x1da982(0xa6)]+0x1,'timestamp':new Date()['toISOString']()};}[a0_0x179793(0x80)](_0x53dda1,_0x2f9706){const _0x54cff6=a0_0x179793;return _0x54cff6(0x81)+(_0x53dda1[_0x54cff6(0x98)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x53dda1[_0x54cff6(0xbb)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x53dda1['availableModels']['map'](_0x1332b2=>_0x1332b2['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x53dda1[_0x54cff6(0xb6)])+_0x54cff6(0xc6)+_0x53dda1['currentMessage']['role']+'\x0a**Content**:\x20'+_0x53dda1['currentMessage']['content']+'\x0a**Has\x20Context\x20References**:\x20'+_0x53dda1['currentMessage'][_0x54cff6(0x8c)]+'\x0a'+(_0x53dda1['currentMessage'][_0x54cff6(0x95)][_0x54cff6(0xa6)]>0x0?_0x54cff6(0x94)+_0x53dda1[_0x54cff6(0xae)]['contextTypes']['join'](',\x20'):'')+_0x54cff6(0xbc)+this['_formatBenchmarkData'](_0x2f9706)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}[a0_0x179793(0xba)](_0x3d891c){const _0x5e4e27=a0_0x179793;if(!_0x3d891c[_0x5e4e27(0xa6)])return'No\x20recent\x20messages\x20available.';return _0x3d891c[_0x5e4e27(0xc5)]((_0x443e4f,_0x229149)=>_0x229149+0x1+'.\x20**'+_0x443e4f[_0x5e4e27(0x7d)]+'**:\x20'+_0x443e4f['content'])['join']('\x0a');}[a0_0x179793(0xb3)](_0x744787){const _0x3a1cda=a0_0x179793,_0xeb060f=_0x744787[_0x3a1cda(0x9d)]||[],_0x5ed068=_0x744787['tasks']||{},_0x26371e=_0x744787['summary']||{};let _0x573638=_0x3a1cda(0x88);return Object[_0x3a1cda(0x9a)](_0x5ed068)['forEach'](([_0xbdbd3,_0x2fe3bd])=>{const _0x34b74e=_0x3a1cda;_0x573638+='**'+_0xbdbd3[_0x34b74e(0x86)]()+_0x34b74e(0x84)+_0x2fe3bd['description']+'):\x20'+(_0x2fe3bd['topModels']?.['join'](',\x20')||'No\x20data')+'\x0a';}),_0x573638+=_0x3a1cda(0xa1),_0xeb060f[_0x3a1cda(0xc7)](0x0,0x8)['forEach'](_0x8f478e=>{const _0x55e21a=_0x3a1cda;_0x573638+='**'+_0x8f478e['name']+_0x55e21a(0xb7);const _0x460a6f=Object['entries'](_0x8f478e['tasks']||{})['map'](([_0x4f4a3b,_0x40ffed])=>_0x4f4a3b+'('+_0x40ffed['score']+')')[_0x55e21a(0x90)](',\x20');_0x573638+=_0x460a6f+_0x55e21a(0x96)+(_0x8f478e['strengths']?.['join'](',\x20')||'N/A')+'\x0a';}),_0x573638;}async['_askForRouting'](_0xf2540a,_0xf556fd={}){const _0x226b90=a0_0x179793;try{const _0x2b459a=await this['aiService']['sendMessage'](this[_0x226b90(0x99)],_0xf2540a,{'agentId':'model-router','systemPrompt':_0x226b90(0x8a),'temperature':0.3,'maxTokens':0x1f4,'timeout':this['requestTimeout'],'sessionId':_0xf556fd['sessionId'],'apiKey':_0xf556fd[_0x226b90(0x91)]||this['config'][_0x226b90(0x91)],'customApiKeys':_0xf556fd['customApiKeys'],'platformProvided':!![]});if(!_0x2b459a[_0x226b90(0x9c)])throw new Error('No response content from autopilot-model-router');const _0x594db3=this[_0x226b90(0x83)](_0x2b459a['content']);return _0x594db3;}catch(_0x15a7eb){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x15a7eb['message'],'routerModel':this['routerModel']});throw _0x15a7eb;}}[a0_0x179793(0x83)](_0x4ec56b){const _0x4e8f7d=a0_0x179793;try{const _0x358f79=_0x4ec56b[_0x4e8f7d(0xac)](/\{[\s\S]*\}/);if(!_0x358f79)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x4c436c=JSON['parse'](_0x358f79[0x0]);if(!_0x4c436c['selectedModel'])throw new Error(_0x4e8f7d(0xa7));return{'selectedModel':_0x4c436c[_0x4e8f7d(0xa9)],'taskType':_0x4c436c[_0x4e8f7d(0x8e)]||'unknown','confidence':_0x4c436c[_0x4e8f7d(0xa5)]||0.5,'reasoning':_0x4c436c['reasoning']||'No\x20reasoning\x20provided','factors':_0x4c436c['factors']||[]};}catch(_0x20a50a){return this[_0x4e8f7d(0x7e)][_0x4e8f7d(0x8d)]('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x20a50a[_0x4e8f7d(0x92)],'content':_0x4ec56b[_0x4e8f7d(0xb5)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x4e8f7d(0xad),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':['parsing-error']};}}[a0_0x179793(0x87)](_0x4b2151,_0x5e901c,_0x41a292){const _0x267edb=a0_0x179793,{selectedModel:_0x2d72cc}=_0x4b2151;if(!_0x2d72cc)return this['logger'][_0x267edb(0xb4)](_0x267edb(0xb8)),_0x41a292;if(!_0x5e901c[_0x267edb(0xaf)](_0x2d72cc))return this['logger']['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x2d72cc,'availableModels':_0x5e901c}),_0x41a292;return _0x2d72cc;}[a0_0x179793(0xc2)](){const _0xe70d92=a0_0x179793;return{'routerModel':this[_0xe70d92(0x99)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0xe70d92(0xbd)],'benchmarkServiceStatus':this['benchmarkService'][_0xe70d92(0xc2)](),'isAvailable':!![]};}async['testRouter'](){const _0x38e478=a0_0x179793;try{const _0x40e7cc={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x38e478(0x9f)},_0x296416=await this[_0x38e478(0x7f)](_0x40e7cc,[],MODELS[_0x38e478(0xbf)],[MODELS[_0x38e478(0xbf)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x38e478(0xa8)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x38e478(0x7e)][_0x38e478(0x89)](_0x38e478(0xc1),{'selectedModel':_0x296416}),{'success':!![],'selectedModel':_0x296416};}catch(_0xd8b79d){return this[_0x38e478(0x7e)]['error'](_0x38e478(0xc0),{'error':_0xd8b79d[_0x38e478(0x92)]}),{'success':![],'error':_0xd8b79d[_0x38e478(0x92)]};}}}export default ModelRouterService;function a0_0x46a6(){const _0x1dd398=['y29UDgv4Dfr5CgvZ','ihWGu3rYzw5NDgHZoIa','DhLWzq','y3vYCMvUDe1VzgvS','CM91DgvYtw9KzwW','zw50CMLLCW','y29UzMLN','y29UDgvUDa','Bw9KzwXZ','uKvrvuvtvf9usu1ft1vu','DxnLCG','mZbTwMrhAw0','cImJiYbnB2rLBcbezxrHAwXZcG','z2v0qMvUy2HTyxjRvgfIBgu','odi4otmZEgXzvLHm','oejUALjRuW','y29UzMLKzw5Jzq','BgvUz3rO','twLZC2LUzYbZzwXLy3rLze1VzgvSigLUigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCMvZCg9UC2u','r1buxZq','C2vSzwn0zwrnB2rLBa','uK9vvevsx01prevm','q09ovevyvf9nrvntquDfu19dt1vova','Bwf0y2G','Dw5RBM93BG','y3vYCMvUDe1LC3nHz2u','Aw5JBhvKzxm','ndi5nty4oerpsvHTvW','y29UDgv4DfjLzMvYzw5Jzxm','mZCWotm0muzsBhrTsa','x2zVCM1HDejLBMnOBwfYA0rHDge','zgvIDwC','C3vIC3rYAw5N','CMvJzw50twvZC2fNzxm','kIO6ia','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','nde5otG0oez5EK1lrW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','BwvZC2fNzunVDw50','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','CMvXDwvZDfrPBwvVDxq','x2fZA0zVCLjVDxrPBMC','qu5usfjpueLdx1nptK5fva','uM91DgvYihrLC3qGzMfPBgvK','uM91DgvYihrLC3qGy29TCgXLDgvK','z2v0u3rHDhvZ','ne9iyxjouW','ndGWmJf6yLbAyMq','BwfW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','C2XPy2u','CM9Szq','Bg9Nz2vY','CM91DgvnzxnZywDL','x2nYzwf0zvjVDxrPBMDqCM9TChq','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','CMvHC29UAw5N','x3bHCNnLuM91DgLUz1jLC3bVBNnL','kIOGka','oti5mJyXEM93wgTL','Dg9vChbLCKnHC2u','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','Aw5MBW','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','nvjYwKvLCa','AgfZq29UDgv4DfjLzMvYzw5Jzxm','D2fYBG','DgfZA1r5Cgu','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','AM9PBG','yxbPs2v5','BwvZC2fNzq','nZu3odmYovjpzfD4CW','kIPdB250zxH0ifr5CgvZkIO6ia'];a0_0x46a6=function(){return _0x1dd398;};return a0_0x46a6();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x1b4083=a0_0x362a;function a0_0x362a(_0x5080e4,_0x2fb49c){_0x5080e4=_0x5080e4-0x135;const _0x1b1dea=a0_0x1b1d();let _0x362a62=_0x1b1dea[_0x5080e4];if(a0_0x362a['DKfGSz']===undefined){var _0x996733=function(_0x16a03e){const _0x305e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20803d='',_0x5255e5='';for(let _0x1791fa=0x0,_0x269eca,_0x202b2b,_0x53f9ca=0x0;_0x202b2b=_0x16a03e['charAt'](_0x53f9ca++);~_0x202b2b&&(_0x269eca=_0x1791fa%0x4?_0x269eca*0x40+_0x202b2b:_0x202b2b,_0x1791fa++%0x4)?_0x20803d+=String['fromCharCode'](0xff&_0x269eca>>(-0x2*_0x1791fa&0x6)):0x0){_0x202b2b=_0x305e91['indexOf'](_0x202b2b);}for(let _0x45a7a1=0x0,_0x4ae821=_0x20803d['length'];_0x45a7a1<_0x4ae821;_0x45a7a1++){_0x5255e5+='%'+('00'+_0x20803d['charCodeAt'](_0x45a7a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5255e5);};a0_0x362a['FgAxEh']=_0x996733,a0_0x362a['lqxblF']={},a0_0x362a['DKfGSz']=!![];}const _0x42de33=_0x1b1dea[0x0],_0x5f11da=_0x5080e4+_0x42de33,_0x291490=a0_0x362a['lqxblF'][_0x5f11da];return!_0x291490?(_0x362a62=a0_0x362a['FgAxEh'](_0x362a62),a0_0x362a['lqxblF'][_0x5f11da]=_0x362a62):_0x362a62=_0x291490,_0x362a62;}function a0_0x1b1d(){const _0x4202a0=['mLPiBMLvtG','mta0nZmZnNjksK5pqq','C2v0qxbPs2v5twfUywDLCG','BgfZDevYCM9Y','yxbPs2v5','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','D2fYBG','oxjzyKTcqq','y29UzMLN','BgvUz3rO','sfruuca','te9ysufFqvbjx0Tfwq','Aw5MBW','mtuWntqXmNrlzKXLCW','l2fWAs9SBg0VBw9KzwXZ','zgvIDwC','Cg93','yxbPs2v5twfUywDLCG','ANnVBG','ntKYrM9Zwvvh','BgfZDezLDgnOzwq','Bwf4uMv0CMLLCW','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','BwfW','z2v0tw9KzwXZ','BMfTzq','Bw9KzwXZ','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','nLzhwhLzwG','ndaYmtbOyK56vvK','yxbWBgLJyxrPB24VANnVBG','y2fJAgvfEhbPCNK','zxjYB3i','Bg9Nz2vY','odyYnZziEKTqsMy','CMv0CNLezwXHEq','nJK0nw96wfnbua','Bg94AwfbCgLlzxK','AxnbCNjHEq','zMv0y2HnB2rLBhm','mJK0mtmYm2HQvKjKCa','CMv0CNLbDhrLBxb0CW','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','Aw5PDgLHBgL6zq','CMv0CNLuAw1LCG','nta1ntG1qKLkD1Dh','zw52','AxnmB2fKAw5N','CMvMCMvZAa','BMvLzhnszwzYzxnO','x3nJAgvKDwXLuMv0CNK','mZe5sKv0DNnJ','yMfJA2vUzfvYBa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u'];a0_0x1b1d=function(){return _0x4202a0;};return a0_0x1b1d();}(function(_0x4c22f1,_0x1804f0){const _0x42094d=a0_0x362a,_0x3fe7bd=_0x4c22f1();while(!![]){try{const _0xf94137=parseInt(_0x42094d(0x148))/0x1*(-parseInt(_0x42094d(0x15c))/0x2)+parseInt(_0x42094d(0x14a))/0x3*(parseInt(_0x42094d(0x138))/0x4)+-parseInt(_0x42094d(0x153))/0x5*(-parseInt(_0x42094d(0x142))/0x6)+-parseInt(_0x42094d(0x14e))/0x7+parseInt(_0x42094d(0x15d))/0x8*(parseInt(_0x42094d(0x164))/0x9)+parseInt(_0x42094d(0x143))/0xa*(parseInt(_0x42094d(0x159))/0xb)+parseInt(_0x42094d(0x16a))/0xc;if(_0xf94137===_0x1804f0)break;else _0x3fe7bd['push'](_0x3fe7bd['shift']());}catch(_0x28b280){_0x3fe7bd['push'](_0x3fe7bd['shift']());}}}(a0_0x1b1d,0x4bbe9));class ModelsService{constructor(_0x20803d,_0x5255e5){const _0x361f56=a0_0x362a;this['config']=_0x20803d,this[_0x361f56(0x147)]=_0x5255e5,this[_0x361f56(0x140)]=null,this['lastFetched']=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this['backendUrl']=_0x20803d['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this['maxRetries']=0x3,this[_0x361f56(0x149)]=0x7d0,this['retryTimer']=null,this['lastError']=null,this['apiKeyManager']=null;}[a0_0x1b4083(0x15e)](_0x1791fa){const _0x11f933=a0_0x1b4083;this[_0x11f933(0x136)]=_0x1791fa,this['logger']?.['info'](_0x11f933(0x15b),{'hasManager':!!_0x1791fa});}async[a0_0x1b4083(0x151)](){const _0x1719cd=a0_0x1b4083;try{await this['fetchModels'](),this['logger']['info']('Models\x20service\x20initialized',{'modelCount':this[_0x1719cd(0x140)]?.['length']||0x0});}catch(_0x269eca){this['lastError']=_0x269eca['message'],this[_0x1719cd(0x147)][_0x1719cd(0x146)](_0x1719cd(0x150),{'error':_0x269eca['message'],'endpoint':this['backendUrl']+_0x1719cd(0x16b),'willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x1b4083(0x13b)](){const _0x3da0bf=a0_0x1b4083;if(!this[_0x3da0bf(0x140)]||this[_0x3da0bf(0x140)][_0x3da0bf(0x166)]===0x0)return this[_0x3da0bf(0x147)]['error']('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this[_0x3da0bf(0x14f)],'maxRetries':this[_0x3da0bf(0x13a)]}),[];return this['models'][_0x3da0bf(0x13d)](_0x202b2b=>_0x202b2b[_0x3da0bf(0x13f)]);}[a0_0x1b4083(0x13e)](){const _0x1150ed=a0_0x1b4083;if(!this['models']||this[_0x1150ed(0x140)][_0x1150ed(0x166)]===0x0)return this[_0x1150ed(0x147)]['error'](_0x1150ed(0x162),{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this['models'];}async['fetchModels'](_0x53f9ca=null){const _0x412510=a0_0x1b4083;if(this[_0x412510(0x155)]){this['logger'][_0x412510(0x16c)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x45a7a1=this[_0x412510(0x15a)]+_0x412510(0x16b);let _0x4ae821=null;if(this['apiKeyManager']&&_0x53f9ca&&_0x53f9ca['sessionId']){const _0x24af1=this[_0x412510(0x136)]['getKeysForRequest'](_0x53f9ca['sessionId'],{'platformProvided':!![],'vendor':null});_0x4ae821=_0x24af1[_0x412510(0x14b)],this[_0x412510(0x147)]?.[_0x412510(0x169)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x53f9ca['sessionId'],'hasLoxiaKey':!!_0x4ae821});}if(!_0x4ae821&&_0x53f9ca&&_0x53f9ca[_0x412510(0x160)])_0x4ae821=_0x53f9ca[_0x412510(0x160)];else{if(!_0x4ae821&&this['config'][_0x412510(0x160)])_0x4ae821=this[_0x412510(0x165)]['apiKey'];else!_0x4ae821&&process[_0x412510(0x154)]['LOXIA_API_KEY']&&(_0x4ae821=process['env']['LOXIA_API_KEY']);}const _0x32793a={'method':'GET','headers':{'Content-Type':_0x412510(0x144),..._0x4ae821&&{'Authorization':'Bearer\x20'+_0x4ae821}},'timeout':0x2710};this['logger'][_0x412510(0x16c)]('Fetching models from backend',{'url':_0x45a7a1,'hasApiKey':!!_0x4ae821,'apiKeySource':_0x53f9ca?.[_0x412510(0x160)]?'context':this[_0x412510(0x165)][_0x412510(0x160)]?'config':process[_0x412510(0x154)][_0x412510(0x168)]?'env':'none'});const _0x416c73=await fetch(_0x45a7a1,_0x32793a);if(!_0x416c73['ok'])throw new Error(_0x412510(0x167)+_0x416c73['status']+':\x20'+_0x416c73['statusText']);const _0x2e71af=await _0x416c73[_0x412510(0x137)]();if(_0x2e71af['models']&&Array[_0x412510(0x14c)](_0x2e71af[_0x412510(0x140)]))this['models']=_0x2e71af['models'],this['lastFetched']=new Date(),this[_0x412510(0x157)]=![],this[_0x412510(0x147)]['info']('Models fetched from backend',{'modelCount':this['models'][_0x412510(0x166)],'models':this['models']['map'](_0x28d229=>_0x28d229[_0x412510(0x13f)])});else throw new Error('Invalid response format from models API');}catch(_0x20e7a6){this[_0x412510(0x15f)]=_0x20e7a6['message'],this[_0x412510(0x147)][_0x412510(0x146)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x20e7a6['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),this[_0x412510(0x158)](_0x53f9ca);if(!this[_0x412510(0x140)])throw _0x20e7a6;}finally{this['isLoading']=![];}}[a0_0x1b4083(0x157)](){const _0x4eea56=a0_0x1b4083;if(!this[_0x4eea56(0x139)])return!![];const _0x542c19=Date['now']()-this[_0x4eea56(0x139)]['getTime']();return _0x542c19>this[_0x4eea56(0x145)];}async[a0_0x1b4083(0x156)](_0x55d002=null){const _0xf9d3b0=a0_0x1b4083;this['logger'][_0xf9d3b0(0x169)](_0xf9d3b0(0x161)),await this['fetchModels'](_0x55d002);}async['refreshWithContext'](_0x492b07){const _0x589c0c=a0_0x1b4083;(this['needsRefresh']||!this[_0x589c0c(0x139)])&&(this['logger']['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x589c0c(0x14d)](_0x492b07));}['_scheduleRetry'](_0x5a2eec=null){const _0xe745bc=a0_0x1b4083;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this[_0xe745bc(0x13a)]){this[_0xe745bc(0x147)][_0xe745bc(0x146)](_0xe745bc(0x13c),{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x323e2e=this['retryDelay']*Math[_0xe745bc(0x135)](0x2,this[_0xe745bc(0x14f)]);this['retryAttempts']++,this[_0xe745bc(0x147)][_0xe745bc(0x169)]('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0xe745bc(0x13a)],'delayMs':_0x323e2e}),this[_0xe745bc(0x152)]=setTimeout(async()=>{const _0x1b16c9=_0xe745bc;this[_0x1b16c9(0x147)]['info'](_0x1b16c9(0x141),{'attempt':this[_0x1b16c9(0x14f)]});try{await this[_0x1b16c9(0x14d)](_0x5a2eec),this[_0x1b16c9(0x14f)]=0x0,this['lastError']=null;}catch(_0x4c04ba){this['logger'][_0x1b16c9(0x163)]('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x4c04ba['message']});}},_0x323e2e);}['_cancelRetry'](){const _0x211272=a0_0x1b4083;this['retryTimer']&&(clearTimeout(this[_0x211272(0x152)]),this[_0x211272(0x152)]=null,this['logger'][_0x211272(0x16c)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}['getStatus'](){const _0x115788=a0_0x1b4083;return{'initialized':!!this[_0x115788(0x140)],'lastFetched':this[_0x115788(0x139)]?.['toISOString']()||null,'modelCount':this[_0x115788(0x140)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this['lastError']||null,'retryAttempts':this[_0x115788(0x14f)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;
|