@loxia-labs/loxia-autopilot-one 1.0.5 → 1.0.7
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 +1 -1
- 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/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/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-BVF_10a5.css +1 -0
- package/web-ui/build/static/{index-lCBai6dX.js → index-DE5VFS1q.js} +121 -68
- package/web-ui/build/static/index-CClD1090.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x6e354e=a0_0x158a;function a0_0x5b7f(){const _0x388b55=['vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','mtmYndq3mdzNrKP2yMy','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','BwLKzgXLrw5Ksw5KzxG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','CMvWBgfJzq','BM93','C2XPy2u','y29UDgvUDa','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','ndGXmJG0mhrhzxvlAW','ndmXmZaZmuHRsgrRra','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','xqOk','qwXSihn1Bw1HCNKGz2vUzxjHDgLVBIbHDhrLBxb0CYbMywLSzwq','CM9Szq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','C2vWyxjHDg9Y','zMLSDgvY','CMvKDwn0Aw9UugvYy2vUDa','y29TCgfJDgvKtwvZC2fNzxm','q0fdseve','Dg9ju09tDhjPBMC','C3vTBwfYEvbYB21WDfrLBxbSyxrL','zMXVB3i','AxnbCNjHEq','x2LKzw50Awz5u2vNBwvUDhm','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','BgvUz3rO','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','ic0G','nvHoAxnZDa','BM9Uzq','ota3mZiWEM5WwfDo','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','zxjYB3i','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','BwvZC2fNzq','Aw5MBW','vfjvtKnbveLptG','BwLKzgXLu3rHCNrjBMrLEa','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','DxnLCG','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','vg9VigzLDYbTzxnZywDLCW','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','z2v0tw9KzwXdB250zxH0v2LUzg93','yMvNAw5UAw5N','zxHLy3v0Aw9UvgLTzq','Bg9Nz2vY','zgvIDwC','ntmWmdjpDLPdquy','y29TCgfJDgvKvg9Rzw5dB3vUDa','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','ywDNCMvZC2L2zq','zw5K','nJCZnZi5B0HyBvPo','C3LZDgvT','ywLtzxj2AwnL','x2DLBMvYyxrLu3vTBwfYEq','AxnszxrYEq','B3jPz2LUywWGBwvZC2fNzxmG','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','mZztv1DUzfm','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','mJaXoty4nfffEKzlyG','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','ru5ex1nfr01ftLrFuevsq0vovefhrq','ig1LC3nHz2vZ','B3jPz2LUywXuB2TLBKnVDw50','u1vntufssvPbveLptG','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','r2vUzxjHDgLUzYbZDw1Tyxj5','ihvZzxiGBwvZC2fNzxmSia','BwLKzgXL','qundvvjbveu'];a0_0x5b7f=function(){return _0x388b55;};return a0_0x5b7f();}(function(_0x1df61c,_0x178391){const _0x41af27=a0_0x158a,_0x1afcad=_0x1df61c();while(!![]){try{const _0x11eff5=parseInt(_0x41af27(0x1d7))/0x1*(-parseInt(_0x41af27(0x19a))/0x2)+-parseInt(_0x41af27(0x1c2))/0x3+parseInt(_0x41af27(0x1a8))/0x4+-parseInt(_0x41af27(0x1d9))/0x5*(-parseInt(_0x41af27(0x1a6))/0x6)+-parseInt(_0x41af27(0x19f))/0x7+-parseInt(_0x41af27(0x1c1))/0x8+parseInt(_0x41af27(0x1b6))/0x9;if(_0x11eff5===_0x178391)break;else _0x1afcad['push'](_0x1afcad['shift']());}catch(_0x532447){_0x1afcad['push'](_0x1afcad['shift']());}}}(a0_0x5b7f,0xc2a79));function a0_0x158a(_0x1c2629,_0x5890cb){_0x1c2629=_0x1c2629-0x18b;const _0x5b7f89=a0_0x5b7f();let _0x158ab3=_0x5b7f89[_0x1c2629];if(a0_0x158a['TdrcXt']===undefined){var _0x30eee6=function(_0x347507){const _0x386692='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c02bb='',_0x110694='';for(let _0x147f7f=0x0,_0x13bab1,_0x24f18e,_0x17230d=0x0;_0x24f18e=_0x347507['charAt'](_0x17230d++);~_0x24f18e&&(_0x13bab1=_0x147f7f%0x4?_0x13bab1*0x40+_0x24f18e:_0x24f18e,_0x147f7f++%0x4)?_0x2c02bb+=String['fromCharCode'](0xff&_0x13bab1>>(-0x2*_0x147f7f&0x6)):0x0){_0x24f18e=_0x386692['indexOf'](_0x24f18e);}for(let _0x5dc7f4=0x0,_0x3a23c3=_0x2c02bb['length'];_0x5dc7f4<_0x3a23c3;_0x5dc7f4++){_0x110694+='%'+('00'+_0x2c02bb['charCodeAt'](_0x5dc7f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x110694);};a0_0x158a['zuVbJn']=_0x30eee6,a0_0x158a['uLdsmZ']={},a0_0x158a['TdrcXt']=!![];}const _0x2be814=_0x5b7f89[0x0],_0x56dedb=_0x1c2629+_0x2be814,_0x2d6847=a0_0x158a['uLdsmZ'][_0x56dedb];return!_0x2d6847?(_0x158ab3=a0_0x158a['zuVbJn'](_0x158ab3),a0_0x158a['uLdsmZ'][_0x56dedb]=_0x158ab3):_0x158ab3=_0x2d6847,_0x158ab3;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x2c02bb,_0x110694,_0x147f7f){const _0x12e985=a0_0x158a;this[_0x12e985(0x1a5)]=_0x2c02bb,this[_0x12e985(0x1a1)]=_0x110694,this['logger']=_0x147f7f,this[_0x12e985(0x1cf)]=this['_createSummaryPromptTemplate']();}async['compactConversation'](_0x13bab1,_0x24f18e,_0x17230d,_0x5dc7f4={}){const _0x1e8471=a0_0x158a,_0x3a23c3=Date['now']();try{if(!Array[_0x1e8471(0x1d1)](_0x13bab1)||_0x13bab1[_0x1e8471(0x1d4)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x13bab1['length']<COMPACTION_CONFIG[_0x1e8471(0x1b5)])return this[_0x1e8471(0x198)]['warn'](_0x1e8471(0x194),{'messageCount':_0x13bab1['length'],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x13bab1,'strategy':_0x1e8471(0x1d8),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x1e8471(0x193)};const _0x12229a=_0x24f18e!==_0x17230d,_0x56728c=_0x5dc7f4[_0x1e8471(0x1a3)]||![];let _0x33c0a8;if(_0x12229a)_0x33c0a8=COMPACTION_STRATEGIES[_0x1e8471(0x18e)];else _0x56728c?_0x33c0a8=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x33c0a8=_0x5dc7f4['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info'](_0x1e8471(0x1d5),{'messageCount':_0x13bab1[_0x1e8471(0x1d4)],'currentModel':_0x24f18e,'targetModel':_0x17230d,'strategy':_0x33c0a8,'isModelSwitch':_0x12229a,'isRetry':_0x56728c});let _0x5c45d9;switch(_0x33c0a8){case COMPACTION_STRATEGIES[_0x1e8471(0x1ad)]:_0x5c45d9=await this[_0x1e8471(0x1b7)](_0x13bab1,_0x24f18e,_0x5dc7f4);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x5c45d9=await this['_compactWithTruncation'](_0x13bab1,_0x17230d,_0x5dc7f4);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x5c45d9=await this[_0x1e8471(0x1af)](_0x13bab1,_0x24f18e,_0x5dc7f4);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x33c0a8);}const _0x156944=Date['now']()-_0x3a23c3;return _0x5c45d9[_0x1e8471(0x197)]=_0x156944,_0x5c45d9['timestamp']=new Date()['toISOString'](),this[_0x1e8471(0x198)][_0x1e8471(0x18d)](_0x1e8471(0x192),{'strategy':_0x5c45d9['strategy'],'originalMessages':_0x13bab1[_0x1e8471(0x1d4)],'compactedMessages':_0x5c45d9[_0x1e8471(0x1cc)][_0x1e8471(0x1d4)],'originalTokens':_0x5c45d9[_0x1e8471(0x1ac)],'compactedTokens':_0x5c45d9[_0x1e8471(0x19b)],'reductionPercent':_0x5c45d9[_0x1e8471(0x1cb)]['toFixed'](0x2),'executionTime':_0x156944+'ms'}),_0x5c45d9;}catch(_0x50c9d0){const _0x3a05e1=Date[_0x1e8471(0x1bd)]()-_0x3a23c3;this[_0x1e8471(0x198)][_0x1e8471(0x1db)]('Compaction\x20failed',{'error':_0x50c9d0[_0x1e8471(0x18c)],'messageCount':_0x13bab1[_0x1e8471(0x1d4)],'currentModel':_0x24f18e,'targetModel':_0x17230d,'executionTime':_0x3a05e1+'ms'});throw _0x50c9d0;}}async[a0_0x6e354e(0x1b7)](_0x7e4788,_0x571811,_0x4c0565){const _0x1bce02=a0_0x6e354e,_0x25d3f7=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x3c465d=await this[_0x1bce02(0x1a5)]['estimateConversationTokens'](_0x7e4788,_0x571811,TOKEN_COUNTING_MODES['ACCURATE']),_0x30d4bc=await this['_identifySegments'](_0x7e4788,_0x571811,COMPACTION_CONFIG[_0x1bce02(0x1da)],COMPACTION_CONFIG[_0x1bce02(0x1aa)]);this[_0x1bce02(0x198)]['debug'](_0x1bce02(0x1a7),{'beginningMessages':_0x30d4bc['beginning']['length'],'middleMessages':_0x30d4bc[_0x1bce02(0x1b2)]['length'],'endMessages':_0x30d4bc['end'][_0x1bce02(0x1d4)],'middleStartIndex':_0x30d4bc[_0x1bce02(0x18f)],'middleEndIndex':_0x30d4bc['middleEndIndex'],'totalMessages':_0x7e4788['length']});const _0x1bd834=await this['_generateSummary'](_0x30d4bc['middle'],_0x571811,{..._0x4c0565,'middleStartIndex':_0x30d4bc[_0x1bce02(0x18f)],'middleEndIndex':_0x30d4bc[_0x1bce02(0x1b9)]}),_0x2123fd=[..._0x30d4bc[_0x1bce02(0x196)],_0x1bd834,..._0x30d4bc['end']],_0x4bc32d=await this[_0x1bce02(0x1a5)]['estimateConversationTokens'](_0x2123fd,_0x571811,TOKEN_COUNTING_MODES['ACCURATE']),_0x1b6e09=(_0x3c465d-_0x4bc32d)/_0x3c465d*0x64;return{'compactedMessages':_0x2123fd,'strategy':_0x25d3f7,'originalTokenCount':_0x3c465d,'compactedTokenCount':_0x4bc32d,'reductionPercent':_0x1b6e09,'segments':{'beginningCount':_0x30d4bc[_0x1bce02(0x196)][_0x1bce02(0x1d4)],'middleCount':_0x30d4bc[_0x1bce02(0x1b2)]['length'],'endCount':_0x30d4bc[_0x1bce02(0x19e)]['length'],'summaryInserted':!![]}};}async[a0_0x6e354e(0x190)](_0x5856c3,_0x33099c,_0x119577){const _0x5eff6d=a0_0x6e354e,_0x515f56=COMPACTION_STRATEGIES['TRUNCATION'],_0x518521=this['tokenCountingService'][_0x5eff6d(0x195)](_0x33099c),_0x249fe0=Math['floor'](_0x518521*0.8),_0x170baa=await this[_0x5eff6d(0x1a5)][_0x5eff6d(0x1c4)](_0x5856c3,_0x33099c,TOKEN_COUNTING_MODES['ACCURATE']),_0x35aa29=await this[_0x5eff6d(0x1d2)](_0x5856c3,_0x33099c,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x5eff6d(0x1b4)]);this['logger'][_0x5eff6d(0x199)](_0x5eff6d(0x18b),{'beginningMessages':_0x35aa29['beginning']['length'],'middleMessages':_0x35aa29[_0x5eff6d(0x1b2)][_0x5eff6d(0x1d4)],'endMessages':_0x35aa29['end'][_0x5eff6d(0x1d4)],'targetTokenCount':_0x249fe0,'originalTokenCount':_0x170baa});const _0x51c1d4={'role':_0x5eff6d(0x1a0),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0x5eff6d(0x1c9),'timestamp':new Date()[_0x5eff6d(0x1ce)](),'metadata':{'truncatedMessages':_0x35aa29['middle']['length'],'reason':_0x5eff6d(0x1a9)}},_0x5abe7d=[..._0x35aa29[_0x5eff6d(0x196)],_0x51c1d4,..._0x35aa29[_0x5eff6d(0x19e)]],_0x2690d0=await this[_0x5eff6d(0x1a5)][_0x5eff6d(0x1c4)](_0x5abe7d,_0x33099c,TOKEN_COUNTING_MODES['ACCURATE']),_0x3a4479=(_0x170baa-_0x2690d0)/_0x170baa*0x64;return{'compactedMessages':_0x5abe7d,'strategy':_0x515f56,'originalTokenCount':_0x170baa,'compactedTokenCount':_0x2690d0,'reductionPercent':_0x3a4479,'segments':{'beginningCount':_0x35aa29[_0x5eff6d(0x196)]['length'],'middleCount':_0x35aa29[_0x5eff6d(0x1b2)]['length'],'endCount':_0x35aa29['end'][_0x5eff6d(0x1d4)],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x22261e,_0x5c0bea,_0x46ffc4){const _0x3c05ba=a0_0x6e354e,_0x4c0c49=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x30c8d2=await this['tokenCountingService']['estimateConversationTokens'](_0x22261e,_0x5c0bea,TOKEN_COUNTING_MODES[_0x3c05ba(0x1b3)]),_0x4b4a77=await this['_identifySegments'](_0x22261e,_0x5c0bea,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x3c05ba(0x198)]['debug'](_0x3c05ba(0x1ba),{'beginningMessages':_0x4b4a77['beginning'][_0x3c05ba(0x1d4)],'middleMessages':_0x4b4a77[_0x3c05ba(0x1b2)][_0x3c05ba(0x1d4)],'endMessages':_0x4b4a77['end'][_0x3c05ba(0x1d4)],'middleStartIndex':_0x4b4a77['middleStartIndex'],'middleEndIndex':_0x4b4a77['middleEndIndex']});const _0x1d5b81=await this[_0x3c05ba(0x1a2)](_0x4b4a77[_0x3c05ba(0x1b2)],_0x5c0bea,{..._0x46ffc4,'aggressive':!![],'middleStartIndex':_0x4b4a77['middleStartIndex'],'middleEndIndex':_0x4b4a77['middleEndIndex']}),_0x3f61a7=[..._0x4b4a77['beginning'],_0x1d5b81,..._0x4b4a77[_0x3c05ba(0x19e)]],_0x4bc120=await this['tokenCountingService'][_0x3c05ba(0x1c4)](_0x3f61a7,_0x5c0bea,TOKEN_COUNTING_MODES[_0x3c05ba(0x1b3)]),_0x4c10c4=(_0x30c8d2-_0x4bc120)/_0x30c8d2*0x64;return{'compactedMessages':_0x3f61a7,'strategy':_0x4c0c49,'originalTokenCount':_0x30c8d2,'compactedTokenCount':_0x4bc120,'reductionPercent':_0x4c10c4,'segments':{'beginningCount':_0x4b4a77['beginning'][_0x3c05ba(0x1d4)],'middleCount':_0x4b4a77[_0x3c05ba(0x1b2)]['length'],'endCount':_0x4b4a77[_0x3c05ba(0x19e)][_0x3c05ba(0x1d4)],'summaryInserted':!![]}};}async[a0_0x6e354e(0x1d2)](_0x14c0e0,_0x2b5538,_0x755ef6,_0xfa18e7){const _0x4f2ed4=a0_0x6e354e,_0x25b2ec=await this['tokenCountingService']['estimateConversationTokens'](_0x14c0e0,_0x2b5538,TOKEN_COUNTING_MODES['ACCURATE']),_0x550a6f=Math[_0x4f2ed4(0x1d0)](_0x25b2ec*_0x755ef6),_0x32afb0=Math['floor'](_0x25b2ec*_0xfa18e7);let _0x47fb90=0x0,_0x586d25=0x0;for(let _0x4c1e1a=0x0;_0x4c1e1a<_0x14c0e0[_0x4f2ed4(0x1d4)];_0x4c1e1a++){const _0x7a779e=await this[_0x4f2ed4(0x1a5)]['countTokens'](_0x14c0e0[_0x4c1e1a]['content'],_0x2b5538,TOKEN_COUNTING_MODES['CACHED']);if(_0x47fb90+_0x7a779e>_0x550a6f&&_0x4c1e1a>=0x2)break;_0x47fb90+=_0x7a779e,_0x586d25=_0x4c1e1a+0x1;}let _0x16abc7=0x0,_0x5892c3=_0x14c0e0[_0x4f2ed4(0x1d4)];for(let _0x8f0bcf=_0x14c0e0['length']-0x1;_0x8f0bcf>=0x0;_0x8f0bcf--){const _0x54bd63=await this[_0x4f2ed4(0x1a5)]['countTokens'](_0x14c0e0[_0x8f0bcf]['content'],_0x2b5538,TOKEN_COUNTING_MODES[_0x4f2ed4(0x1cd)]);if(_0x16abc7+_0x54bd63>_0x32afb0)break;_0x16abc7+=_0x54bd63,_0x5892c3=_0x8f0bcf;}_0x5892c3<_0x586d25&&(_0x5892c3=_0x586d25);const _0x5f0b55=_0x14c0e0[_0x4f2ed4(0x1be)](0x0,_0x586d25),_0x8bf64c=_0x14c0e0['slice'](_0x586d25,_0x5892c3),_0x169c0f=_0x14c0e0['slice'](_0x5892c3);return{'beginning':_0x5f0b55,'middle':_0x8bf64c,'end':_0x169c0f,'middleStartIndex':_0x586d25,'middleEndIndex':_0x5892c3-0x1};}async[a0_0x6e354e(0x1a2)](_0x10413f,_0xe5bde8,_0x32f58f={}){const _0x6bc246=a0_0x6e354e;if(_0x10413f['length']===0x0)return{'role':_0x6bc246(0x1a0),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':'summary','timestamp':new Date()['toISOString']()};const _0x21984c=_0x10413f['map'](_0x4a212f=>_0x4a212f['role']+':\x20'+_0x4a212f[_0x6bc246(0x1bf)])['join']('\x0a\x0a'),_0x397ea0=this['summaryPromptTemplate'][_0x6bc246(0x1bc)]('{middle_segment}',_0x21984c)['replace']('{aggressive_instruction}',_0x32f58f[_0x6bc246(0x19d)]?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x1bdccd=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACKS']];let _0x12930f=null;for(const _0x1e8afd of _0x1bdccd){try{this[_0x6bc246(0x198)]['debug'](_0x6bc246(0x1b0),{'compactionModel':_0x1e8afd,'middleMessageCount':_0x10413f[_0x6bc246(0x1d4)],'middleContentLength':_0x21984c[_0x6bc246(0x1d4)],'aggressive':_0x32f58f['aggressive']});const _0x1f2663=await this[_0x6bc246(0x1a1)]['sendMessage'](_0x1e8afd,_0x397ea0,{'systemPrompt':_0x6bc246(0x1c3),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x32f58f['sessionId'],'platformProvided':!![]}),_0x2bf911=_0x1f2663[_0x6bc246(0x1bf)]['trim'](),_0x556f33=_0x32f58f[_0x6bc246(0x18f)]!==undefined&&_0x32f58f[_0x6bc246(0x1b9)]!==undefined?'original\x20messages\x20'+_0x32f58f[_0x6bc246(0x18f)]+'-'+_0x32f58f['middleEndIndex']:_0x10413f[_0x6bc246(0x1d4)]+_0x6bc246(0x1ab);return this['logger']['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x1e8afd,'originalLength':_0x21984c[_0x6bc246(0x1d4)],'summaryLength':_0x2bf911[_0x6bc246(0x1d4)],'compressionRatio':(_0x2bf911[_0x6bc246(0x1d4)]/_0x21984c['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0x556f33}),{'role':_0x6bc246(0x1a0),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x6bc246(0x1d6)+_0x556f33+']\x0a\x0a'+_0x2bf911+'\x0a\x0a'+COMPACTION_CONFIG[_0x6bc246(0x19c)],'type':'summary','timestamp':new Date()[_0x6bc246(0x1ce)](),'metadata':{'originalMessageCount':_0x10413f['length'],'originalStartIndex':_0x32f58f[_0x6bc246(0x18f)],'originalEndIndex':_0x32f58f['middleEndIndex'],'compactionModel':_0x1e8afd,'aggressive':_0x32f58f['aggressive']||![]}};}catch(_0x105923){_0x12930f=_0x105923,this['logger']['warn']('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x1e8afd,'error':_0x105923[_0x6bc246(0x18c)],'middleMessageCount':_0x10413f['length']});}}this['logger'][_0x6bc246(0x1db)](_0x6bc246(0x1c6),{'modelsAttempted':_0x1bdccd['length'],'lastError':_0x12930f?.[_0x6bc246(0x18c)],'middleMessageCount':_0x10413f[_0x6bc246(0x1d4)]});const _0x26d158=this[_0x6bc246(0x1b8)](_0x10413f),_0x587857=_0x32f58f['middleStartIndex']!==undefined&&_0x32f58f['middleEndIndex']!==undefined?_0x6bc246(0x1a4)+_0x32f58f[_0x6bc246(0x18f)]+'-'+_0x32f58f['middleEndIndex']:_0x10413f['length']+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG[_0x6bc246(0x1c8)]+_0x6bc246(0x1d6)+_0x587857+_0x6bc246(0x1c5)+_0x26d158+'\x0a\x0a'+COMPACTION_CONFIG[_0x6bc246(0x19c)],'type':'summary','timestamp':new Date()[_0x6bc246(0x1ce)](),'metadata':{'originalMessageCount':_0x10413f['length'],'originalStartIndex':_0x32f58f['middleStartIndex'],'originalEndIndex':_0x32f58f[_0x6bc246(0x1b9)],'fallback':!![],'error':_0x12930f?.[_0x6bc246(0x18c)],'modelsAttempted':_0x1bdccd}};}['_createFallbackSummary'](_0x67edae){const _0x1ed1f2=a0_0x6e354e,_0x9e0904=_0x67edae['length'],_0x28d9d9=_0x67edae['map'](_0x2b3020=>_0x2b3020[_0x1ed1f2(0x1c7)]),_0x1c2aeb=_0x28d9d9['filter'](_0x8553c8=>_0x8553c8===_0x1ed1f2(0x191))[_0x1ed1f2(0x1d4)],_0x17558e=_0x28d9d9[_0x1ed1f2(0x1ca)](_0x281bd1=>_0x281bd1==='assistant')[_0x1ed1f2(0x1d4)];return'['+_0x9e0904+_0x1ed1f2(0x1d3)+_0x1c2aeb+_0x1ed1f2(0x1b1)+_0x17558e+_0x1ed1f2(0x1ae)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}[a0_0x6e354e(0x1c0)](){const _0x467d02=a0_0x6e354e;return _0x467d02(0x1bb);}}export default ConversationCompactionService;
|
|
1
|
+
const a0_0x590722=a0_0x1d36;(function(_0x4f0ea1,_0x51c952){const _0x21ee22=a0_0x1d36,_0x1e9166=_0x4f0ea1();while(!![]){try{const _0xcab726=parseInt(_0x21ee22(0x237))/0x1+parseInt(_0x21ee22(0x223))/0x2*(parseInt(_0x21ee22(0x1fe))/0x3)+parseInt(_0x21ee22(0x224))/0x4+parseInt(_0x21ee22(0x226))/0x5*(parseInt(_0x21ee22(0x20a))/0x6)+-parseInt(_0x21ee22(0x1f2))/0x7+-parseInt(_0x21ee22(0x1f7))/0x8*(parseInt(_0x21ee22(0x1f4))/0x9)+-parseInt(_0x21ee22(0x21c))/0xa;if(_0xcab726===_0x51c952)break;else _0x1e9166['push'](_0x1e9166['shift']());}catch(_0x68ff9a){_0x1e9166['push'](_0x1e9166['shift']());}}}(a0_0x1fd2,0xb60a1));function a0_0x1d36(_0x1c383b,_0x10e5d2){_0x1c383b=_0x1c383b-0x1e6;const _0x1fd24c=a0_0x1fd2();let _0x1d368b=_0x1fd24c[_0x1c383b];if(a0_0x1d36['XKMZqb']===undefined){var _0x534447=function(_0x2f1790){const _0x128088='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x553831='',_0x320c91='';for(let _0x5035d8=0x0,_0xd890a8,_0x1fb9bb,_0x8f223d=0x0;_0x1fb9bb=_0x2f1790['charAt'](_0x8f223d++);~_0x1fb9bb&&(_0xd890a8=_0x5035d8%0x4?_0xd890a8*0x40+_0x1fb9bb:_0x1fb9bb,_0x5035d8++%0x4)?_0x553831+=String['fromCharCode'](0xff&_0xd890a8>>(-0x2*_0x5035d8&0x6)):0x0){_0x1fb9bb=_0x128088['indexOf'](_0x1fb9bb);}for(let _0x5982c9=0x0,_0x160d18=_0x553831['length'];_0x5982c9<_0x160d18;_0x5982c9++){_0x320c91+='%'+('00'+_0x553831['charCodeAt'](_0x5982c9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x320c91);};a0_0x1d36['VNFtpo']=_0x534447,a0_0x1d36['LOQDNv']={},a0_0x1d36['XKMZqb']=!![];}const _0x2519bb=_0x1fd24c[0x0],_0x5241d4=_0x1c383b+_0x2519bb,_0x4ecb7e=a0_0x1d36['LOQDNv'][_0x5241d4];return!_0x4ecb7e?(_0x1d368b=a0_0x1d36['VNFtpo'](_0x1d368b),a0_0x1d36['LOQDNv'][_0x5241d4]=_0x1d368b):_0x1d368b=_0x4ecb7e,_0x1d368b;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x553831,_0x320c91,_0x5035d8){const _0x39c89c=a0_0x1d36;this['tokenCountingService']=_0x553831,this[_0x39c89c(0x228)]=_0x320c91,this[_0x39c89c(0x1fc)]=_0x5035d8,this['summaryPromptTemplate']=this['_createSummaryPromptTemplate']();}async[a0_0x590722(0x1fb)](_0xd890a8,_0x1fb9bb,_0x8f223d,_0x5982c9={}){const _0x43860c=a0_0x590722,_0x160d18=Date['now']();try{if(!Array[_0x43860c(0x1f8)](_0xd890a8)||_0xd890a8['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0xd890a8['length']<COMPACTION_CONFIG[_0x43860c(0x1f6)])return this[_0x43860c(0x1fc)][_0x43860c(0x213)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0xd890a8[_0x43860c(0x20c)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0xd890a8,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x43860c(0x201)};const _0x4ae2fc=_0x1fb9bb!==_0x8f223d,_0x514c76=_0x5982c9['isRetry']||![];let _0x180e13;if(_0x4ae2fc)_0x180e13=COMPACTION_STRATEGIES[_0x43860c(0x239)];else _0x514c76?_0x180e13=COMPACTION_STRATEGIES[_0x43860c(0x21f)]:_0x180e13=_0x5982c9['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info'](_0x43860c(0x235),{'messageCount':_0xd890a8[_0x43860c(0x20c)],'currentModel':_0x1fb9bb,'targetModel':_0x8f223d,'strategy':_0x180e13,'isModelSwitch':_0x4ae2fc,'isRetry':_0x514c76});let _0x33777f;switch(_0x180e13){case COMPACTION_STRATEGIES[_0x43860c(0x205)]:_0x33777f=await this['_compactWithSummarization'](_0xd890a8,_0x1fb9bb,_0x5982c9);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x33777f=await this['_compactWithTruncation'](_0xd890a8,_0x8f223d,_0x5982c9);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x33777f=await this[_0x43860c(0x21e)](_0xd890a8,_0x1fb9bb,_0x5982c9);break;default:throw new Error(_0x43860c(0x236)+_0x180e13);}const _0x16bbc3=Date['now']()-_0x160d18;return _0x33777f[_0x43860c(0x1f1)]=_0x16bbc3,_0x33777f[_0x43860c(0x1e7)]=new Date()[_0x43860c(0x1ef)](),this['logger'][_0x43860c(0x217)]('Compaction\x20completed\x20successfully',{'strategy':_0x33777f['strategy'],'originalMessages':_0xd890a8[_0x43860c(0x20c)],'compactedMessages':_0x33777f['compactedMessages'][_0x43860c(0x20c)],'originalTokens':_0x33777f[_0x43860c(0x218)],'compactedTokens':_0x33777f[_0x43860c(0x219)],'reductionPercent':_0x33777f[_0x43860c(0x233)]['toFixed'](0x2),'executionTime':_0x16bbc3+'ms'}),_0x33777f;}catch(_0x30e126){const _0x6191d=Date[_0x43860c(0x207)]()-_0x160d18;this[_0x43860c(0x1fc)][_0x43860c(0x22a)]('Compaction\x20failed',{'error':_0x30e126[_0x43860c(0x1f5)],'messageCount':_0xd890a8['length'],'currentModel':_0x1fb9bb,'targetModel':_0x8f223d,'executionTime':_0x6191d+'ms'});throw _0x30e126;}}async['_compactWithSummarization'](_0x8b826d,_0xc52d56,_0xc2e57f){const _0x1bcc8a=a0_0x590722,_0x43a3b4=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x1d84c3=await this[_0x1bcc8a(0x1ff)]['estimateConversationTokens'](_0x8b826d,_0xc52d56,TOKEN_COUNTING_MODES[_0x1bcc8a(0x1eb)]),_0x1473a9=await this[_0x1bcc8a(0x200)](_0x8b826d,_0xc52d56,COMPACTION_CONFIG[_0x1bcc8a(0x209)],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x1bcc8a(0x1fc)][_0x1bcc8a(0x214)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x1473a9[_0x1bcc8a(0x21a)]['length'],'middleMessages':_0x1473a9[_0x1bcc8a(0x234)]['length'],'endMessages':_0x1473a9['end'][_0x1bcc8a(0x20c)],'middleStartIndex':_0x1473a9['middleStartIndex'],'middleEndIndex':_0x1473a9['middleEndIndex'],'totalMessages':_0x8b826d[_0x1bcc8a(0x20c)]});const _0x2c2ca4=await this['_generateSummary'](_0x1473a9['middle'],_0xc52d56,{..._0xc2e57f,'middleStartIndex':_0x1473a9[_0x1bcc8a(0x204)],'middleEndIndex':_0x1473a9[_0x1bcc8a(0x20f)]}),_0x400f5b=[..._0x1473a9[_0x1bcc8a(0x21a)],_0x2c2ca4,..._0x1473a9[_0x1bcc8a(0x1f9)]],_0x3793ca=await this['tokenCountingService'][_0x1bcc8a(0x22f)](_0x400f5b,_0xc52d56,TOKEN_COUNTING_MODES[_0x1bcc8a(0x1eb)]),_0x3fd706=(_0x1d84c3-_0x3793ca)/_0x1d84c3*0x64;return{'compactedMessages':_0x400f5b,'strategy':_0x43a3b4,'originalTokenCount':_0x1d84c3,'compactedTokenCount':_0x3793ca,'reductionPercent':_0x3fd706,'segments':{'beginningCount':_0x1473a9[_0x1bcc8a(0x21a)]['length'],'middleCount':_0x1473a9[_0x1bcc8a(0x234)][_0x1bcc8a(0x20c)],'endCount':_0x1473a9['end']['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x532c48,_0x344afe,_0x3ee61d){const _0x3b5ab5=a0_0x590722,_0x136873=COMPACTION_STRATEGIES['TRUNCATION'],_0x4bb235=this[_0x3b5ab5(0x1ff)][_0x3b5ab5(0x1e9)](_0x344afe),_0x184f6e=Math[_0x3b5ab5(0x1ea)](_0x4bb235*0.8),_0xe837cd=await this[_0x3b5ab5(0x1ff)]['estimateConversationTokens'](_0x532c48,_0x344afe,TOKEN_COUNTING_MODES[_0x3b5ab5(0x1eb)]),_0x5f16bf=await this['_identifySegments'](_0x532c48,_0x344afe,COMPACTION_CONFIG[_0x3b5ab5(0x20e)],COMPACTION_CONFIG[_0x3b5ab5(0x203)]);this[_0x3b5ab5(0x1fc)][_0x3b5ab5(0x214)]('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x5f16bf['beginning']['length'],'middleMessages':_0x5f16bf['middle']['length'],'endMessages':_0x5f16bf['end'][_0x3b5ab5(0x20c)],'targetTokenCount':_0x184f6e,'originalTokenCount':_0xe837cd});const _0xb76d6c={'role':_0x3b5ab5(0x1e8),'content':COMPACTION_CONFIG[_0x3b5ab5(0x210)],'type':_0x3b5ab5(0x230),'timestamp':new Date()[_0x3b5ab5(0x1ef)](),'metadata':{'truncatedMessages':_0x5f16bf['middle'][_0x3b5ab5(0x20c)],'reason':_0x3b5ab5(0x227)}},_0x4ac881=[..._0x5f16bf['beginning'],_0xb76d6c,..._0x5f16bf['end']],_0x3d58e7=await this['tokenCountingService'][_0x3b5ab5(0x22f)](_0x4ac881,_0x344afe,TOKEN_COUNTING_MODES[_0x3b5ab5(0x1eb)]),_0x455a6c=(_0xe837cd-_0x3d58e7)/_0xe837cd*0x64;return{'compactedMessages':_0x4ac881,'strategy':_0x136873,'originalTokenCount':_0xe837cd,'compactedTokenCount':_0x3d58e7,'reductionPercent':_0x455a6c,'segments':{'beginningCount':_0x5f16bf['beginning']['length'],'middleCount':_0x5f16bf[_0x3b5ab5(0x234)][_0x3b5ab5(0x20c)],'endCount':_0x5f16bf[_0x3b5ab5(0x1f9)][_0x3b5ab5(0x20c)],'summaryInserted':![]}};}async[a0_0x590722(0x21e)](_0x1a94ac,_0x1e43a8,_0x5156d6){const _0x1f80fc=a0_0x590722,_0x3735f9=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x3f0721=await this['tokenCountingService'][_0x1f80fc(0x22f)](_0x1a94ac,_0x1e43a8,TOKEN_COUNTING_MODES[_0x1f80fc(0x1eb)]),_0x4edce2=await this[_0x1f80fc(0x200)](_0x1a94ac,_0x1e43a8,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x1f80fc(0x1fc)]['debug'](_0x1f80fc(0x225),{'beginningMessages':_0x4edce2['beginning'][_0x1f80fc(0x20c)],'middleMessages':_0x4edce2['middle'][_0x1f80fc(0x20c)],'endMessages':_0x4edce2[_0x1f80fc(0x1f9)][_0x1f80fc(0x20c)],'middleStartIndex':_0x4edce2['middleStartIndex'],'middleEndIndex':_0x4edce2['middleEndIndex']});const _0x1096c0=await this[_0x1f80fc(0x1f0)](_0x4edce2['middle'],_0x1e43a8,{..._0x5156d6,'aggressive':!![],'middleStartIndex':_0x4edce2['middleStartIndex'],'middleEndIndex':_0x4edce2[_0x1f80fc(0x20f)]}),_0x29e09b=[..._0x4edce2[_0x1f80fc(0x21a)],_0x1096c0,..._0x4edce2['end']],_0x29f6b9=await this[_0x1f80fc(0x1ff)]['estimateConversationTokens'](_0x29e09b,_0x1e43a8,TOKEN_COUNTING_MODES[_0x1f80fc(0x1eb)]),_0x79695f=(_0x3f0721-_0x29f6b9)/_0x3f0721*0x64;return{'compactedMessages':_0x29e09b,'strategy':_0x3735f9,'originalTokenCount':_0x3f0721,'compactedTokenCount':_0x29f6b9,'reductionPercent':_0x79695f,'segments':{'beginningCount':_0x4edce2[_0x1f80fc(0x21a)]['length'],'middleCount':_0x4edce2[_0x1f80fc(0x234)][_0x1f80fc(0x20c)],'endCount':_0x4edce2[_0x1f80fc(0x1f9)][_0x1f80fc(0x20c)],'summaryInserted':!![]}};}async[a0_0x590722(0x200)](_0x3761c2,_0x145b27,_0x33f46f,_0x3ce20e){const _0x3a1e6d=a0_0x590722,_0x2d7c05=await this['tokenCountingService'][_0x3a1e6d(0x22f)](_0x3761c2,_0x145b27,TOKEN_COUNTING_MODES[_0x3a1e6d(0x1eb)]),_0x5aa99b=Math['floor'](_0x2d7c05*_0x33f46f),_0x3d2223=Math['floor'](_0x2d7c05*_0x3ce20e);let _0x102a45=0x0,_0x1af26a=0x0;for(let _0x33adff=0x0;_0x33adff<_0x3761c2['length'];_0x33adff++){const _0x34cbd1=await this[_0x3a1e6d(0x1ff)]['countTokens'](_0x3761c2[_0x33adff]['content'],_0x145b27,TOKEN_COUNTING_MODES[_0x3a1e6d(0x221)]);if(_0x102a45+_0x34cbd1>_0x5aa99b&&_0x33adff>=0x2)break;_0x102a45+=_0x34cbd1,_0x1af26a=_0x33adff+0x1;}let _0x1bf3c4=0x0,_0x2bab34=_0x3761c2['length'];for(let _0x54141f=_0x3761c2['length']-0x1;_0x54141f>=0x0;_0x54141f--){const _0x21affa=await this[_0x3a1e6d(0x1ff)]['countTokens'](_0x3761c2[_0x54141f][_0x3a1e6d(0x1ec)],_0x145b27,TOKEN_COUNTING_MODES['CACHED']);if(_0x1bf3c4+_0x21affa>_0x3d2223)break;_0x1bf3c4+=_0x21affa,_0x2bab34=_0x54141f;}_0x2bab34<_0x1af26a&&(_0x2bab34=_0x1af26a);const _0x9cde0f=_0x3761c2[_0x3a1e6d(0x238)](0x0,_0x1af26a),_0x4efb7e=_0x3761c2[_0x3a1e6d(0x238)](_0x1af26a,_0x2bab34),_0x4d03f4=_0x3761c2['slice'](_0x2bab34);return{'beginning':_0x9cde0f,'middle':_0x4efb7e,'end':_0x4d03f4,'middleStartIndex':_0x1af26a,'middleEndIndex':_0x2bab34-0x1};}async['_generateSummary'](_0x2cea40,_0x4d9da1,_0x3b337b={}){const _0x3eba4f=a0_0x590722;if(_0x2cea40['length']===0x0)return{'role':_0x3eba4f(0x1e8),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3eba4f(0x212),'type':'summary','timestamp':new Date()[_0x3eba4f(0x1ef)]()};const _0x227fda=_0x2cea40[_0x3eba4f(0x1e6)](_0x526bf9=>_0x526bf9[_0x3eba4f(0x22d)]+':\x20'+_0x526bf9['content'])[_0x3eba4f(0x1ed)]('\x0a\x0a'),_0x181ac9=this[_0x3eba4f(0x211)][_0x3eba4f(0x215)](_0x3eba4f(0x1fa),_0x227fda)[_0x3eba4f(0x215)]('{aggressive_instruction}',_0x3b337b[_0x3eba4f(0x206)]?_0x3eba4f(0x208):''),_0x177205=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3eba4f(0x232)]];let _0x192ef5=null;for(const _0x1236f2 of _0x177205){try{this[_0x3eba4f(0x1fc)]['debug'](_0x3eba4f(0x1fd),{'compactionModel':_0x1236f2,'middleMessageCount':_0x2cea40[_0x3eba4f(0x20c)],'middleContentLength':_0x227fda[_0x3eba4f(0x20c)],'aggressive':_0x3b337b[_0x3eba4f(0x206)]});const _0x5152dd=await this['aiService']['sendMessage'](_0x1236f2,_0x181ac9,{'systemPrompt':_0x3eba4f(0x21d),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x3b337b['sessionId'],'platformProvided':!![]}),_0x361c79=_0x5152dd[_0x3eba4f(0x1ec)][_0x3eba4f(0x21b)](),_0x3e5a72=_0x3b337b[_0x3eba4f(0x204)]!==undefined&&_0x3b337b['middleEndIndex']!==undefined?'original\x20messages\x20'+_0x3b337b[_0x3eba4f(0x204)]+'-'+_0x3b337b['middleEndIndex']:_0x2cea40['length']+'\x20messages';return this[_0x3eba4f(0x1fc)][_0x3eba4f(0x217)](_0x3eba4f(0x216),{'compactionModel':_0x1236f2,'originalLength':_0x227fda[_0x3eba4f(0x20c)],'summaryLength':_0x361c79['length'],'compressionRatio':(_0x361c79['length']/_0x227fda['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0x3e5a72}),{'role':'system','content':COMPACTION_CONFIG[_0x3eba4f(0x22e)]+_0x3eba4f(0x22c)+_0x3e5a72+_0x3eba4f(0x1f3)+_0x361c79+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x3eba4f(0x1ef)](),'metadata':{'originalMessageCount':_0x2cea40[_0x3eba4f(0x20c)],'originalStartIndex':_0x3b337b[_0x3eba4f(0x204)],'originalEndIndex':_0x3b337b[_0x3eba4f(0x20f)],'compactionModel':_0x1236f2,'aggressive':_0x3b337b['aggressive']||![]}};}catch(_0x3384bf){_0x192ef5=_0x3384bf,this[_0x3eba4f(0x1fc)]['warn']('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x1236f2,'error':_0x3384bf[_0x3eba4f(0x1f5)],'middleMessageCount':_0x2cea40['length']});}}this[_0x3eba4f(0x1fc)]['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x177205['length'],'lastError':_0x192ef5?.['message'],'middleMessageCount':_0x2cea40[_0x3eba4f(0x20c)]});const _0x2aa2e5=this['_createFallbackSummary'](_0x2cea40),_0x11fe87=_0x3b337b['middleStartIndex']!==undefined&&_0x3b337b['middleEndIndex']!==undefined?_0x3eba4f(0x229)+_0x3b337b['middleStartIndex']+'-'+_0x3b337b['middleEndIndex']:_0x2cea40['length']+_0x3eba4f(0x231);return{'role':'system','content':COMPACTION_CONFIG[_0x3eba4f(0x22e)]+_0x3eba4f(0x22c)+_0x11fe87+']\x0a\x0a'+_0x2aa2e5+'\x0a\x0a'+COMPACTION_CONFIG[_0x3eba4f(0x20d)],'type':_0x3eba4f(0x222),'timestamp':new Date()[_0x3eba4f(0x1ef)](),'metadata':{'originalMessageCount':_0x2cea40[_0x3eba4f(0x20c)],'originalStartIndex':_0x3b337b['middleStartIndex'],'originalEndIndex':_0x3b337b[_0x3eba4f(0x20f)],'fallback':!![],'error':_0x192ef5?.['message'],'modelsAttempted':_0x177205}};}['_createFallbackSummary'](_0x5c1aa8){const _0x241aa3=a0_0x590722,_0x2b969=_0x5c1aa8['length'],_0x41a747=_0x5c1aa8[_0x241aa3(0x1e6)](_0x11af6e=>_0x11af6e[_0x241aa3(0x22d)]),_0x4cde99=_0x41a747[_0x241aa3(0x220)](_0x3e02b2=>_0x3e02b2==='user')['length'],_0x34bf79=_0x41a747['filter'](_0x1a76ff=>_0x1a76ff===_0x241aa3(0x22b))['length'];return'['+_0x2b969+_0x241aa3(0x20b)+_0x4cde99+_0x241aa3(0x1ee)+_0x34bf79+_0x241aa3(0x202)+_0x241aa3(0x23a);}['_createSummaryPromptTemplate'](){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.';}}function a0_0x1fd2(){const _0x541c9b=['D2fYBG','zgvIDwC','CMvWBgfJzq','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','Aw5MBW','B3jPz2LUywXuB2TLBKnVDw50','y29TCgfJDgvKvg9Rzw5dB3vUDa','yMvNAw5UAw5N','DhjPBq','mtyZnZC0mgvlB1DlCq','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','quDhuKvtu0Lwrq','zMLSDgvY','q0fdseve','C3vTBwfYEq','ohrfvLntvW','mtu0ntKYofnltvflsa','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','mJa1s2juB25i','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','ywLtzxj2AwnL','B3jPz2LUywWGBwvZC2fNzxmG','zxjYB3i','yxnZAxn0yw50','ic0G','CM9Szq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','C2vWyxjHDg9Y','ig1LC3nHz2vZ','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','CMvKDwn0Aw9UugvYy2vUDa','BwLKzgXL','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','mJGZmdy1CgnnBvD2','C2XPy2u','vfjvtKnbveLptG','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','BwfW','DgLTzxn0yw1W','C3LZDgvT','z2v0tw9KzwXdB250zxH0v2LUzg93','zMXVB3i','qundvvjbveu','y29UDgvUDa','AM9PBG','ihvZzxiGBwvZC2fNzxmSia','Dg9ju09tDhjPBMC','x2DLBMvYyxrLu3vTBwfYEq','zxHLy3v0Aw9UvgLTzq','mtq4ntK2tKPozefe','xqOk','mti4nJfPDLLbExC','BwvZC2fNzq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','nJu2CfjiAMHd','AxnbCNjHEq','zw5K','E21PzgrSzv9ZzwDTzw50Fq','y29TCgfJDenVBNzLCNnHDgLVBG','Bg9Nz2vY','r2vUzxjHDgLUzYbZDw1Tyxj5','nZiZmJrPqu9nruG','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','x2LKzw50Awz5u2vNBwvUDhm','vg9VigzLDYbTzxnZywDLCW','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','u1vntufssvPbveLptG','ywDNCMvZC2L2zq','BM93','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','ndeYndrQvNLTAui','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','BgvUz3rO','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','BwLKzgXLrw5Ksw5KzxG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4'];a0_0x1fd2=function(){return _0x541c9b;};return a0_0x1fd2();}export default ConversationCompactionService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x40094b=a0_0x1123;function a0_0x1123(_0x191a45,_0x496afd){_0x191a45=_0x191a45-0x8b;const _0x1d748b=a0_0x1d74();let _0x112351=_0x1d748b[_0x191a45];if(a0_0x1123['YsHUSO']===undefined){var _0x3b5bf3=function(_0xa866fd){const _0x4d7ad5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1bd2ac='',_0x25a678='';for(let _0x3a30ed=0x0,_0x3fb6c4,_0x3b19c4,_0xca5bfd=0x0;_0x3b19c4=_0xa866fd['charAt'](_0xca5bfd++);~_0x3b19c4&&(_0x3fb6c4=_0x3a30ed%0x4?_0x3fb6c4*0x40+_0x3b19c4:_0x3b19c4,_0x3a30ed++%0x4)?_0x1bd2ac+=String['fromCharCode'](0xff&_0x3fb6c4>>(-0x2*_0x3a30ed&0x6)):0x0){_0x3b19c4=_0x4d7ad5['indexOf'](_0x3b19c4);}for(let _0x41ec6b=0x0,_0x264962=_0x1bd2ac['length'];_0x41ec6b<_0x264962;_0x41ec6b++){_0x25a678+='%'+('00'+_0x1bd2ac['charCodeAt'](_0x41ec6b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25a678);};a0_0x1123['HzGqGR']=_0x3b5bf3,a0_0x1123['DWImlu']={},a0_0x1123['YsHUSO']=!![];}const _0x3c59aa=_0x1d748b[0x0],_0x27d529=_0x191a45+_0x3c59aa,_0x289230=a0_0x1123['DWImlu'][_0x27d529];return!_0x289230?(_0x112351=a0_0x1123['HzGqGR'](_0x112351),a0_0x1123['DWImlu'][_0x27d529]=_0x112351):_0x112351=_0x289230,_0x112351;}(function(_0x1fd026,_0x2fb230){const _0x5c5c31=a0_0x1123,_0xeb1d15=_0x1fd026();while(!![]){try{const _0x2fe551=parseInt(_0x5c5c31(0xa0))/0x1+-parseInt(_0x5c5c31(0xae))/0x2+parseInt(_0x5c5c31(0xf6))/0x3+parseInt(_0x5c5c31(0xce))/0x4*(-parseInt(_0x5c5c31(0x90))/0x5)+-parseInt(_0x5c5c31(0xac))/0x6*(parseInt(_0x5c5c31(0x8e))/0x7)+-parseInt(_0x5c5c31(0xd0))/0x8+parseInt(_0x5c5c31(0x99))/0x9;if(_0x2fe551===_0x2fb230)break;else _0xeb1d15['push'](_0xeb1d15['shift']());}catch(_0x554116){_0xeb1d15['push'](_0xeb1d15['shift']());}}}(a0_0x1d74,0xe2bf4));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x1d74(){const _0x49c330=['vu5ltK9xtL9fuLjpuG','zgv0zxjTAw5Lu2v2zxjPDhK','zxjYB3i','Dw5KzwzPBMvK','DgLTzw91Da','mJqXnJu0nwDzDfrLwq','tK9ux0zpvu5e','ywDLBNrjza','AxnszwnVDMvYywjSzq','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','ntmYn1LsrMzTDW','Cg93','nvLjyM50wq','ChvZAa','qvvusevoveLdqvrjt05FrKfjteve','C2v0','C3rHy2S','y29Kzq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','tM8GCMvJB3zLCNKGC3rYyxrLz3KGyxzHAwXHyMXL','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','nta4otK0mtbLEeLnBxy','y2XLyxjfCNjVCLn0yxrZ','Aw52ywXPza','zxjYB3jrDwv1zq','Dg9VBeLK','C3vJy2vZCW','BwvZC2fNzq','mte4mde3thjIuuni','D2fYBG','zxjYxW','C3bSAwnL','ChjVy2vZC0vYCM9YuxvLDwu','zxjYB3jtDwjZy3jPyMvYCW','q09orKLhvvjbveLptL9fuLjpuG','zNjVBuvUDhjPzxm','zw1PDa','BMfTzq','BwLU','tM8GzMLSzsbWyxrOihbYB3zPzgvK','ntaYmMXxrxjyAq','C3rHDhvZ','mZy4mtaXnePusML0CW','rKLmrv9ot1rFrK9vtKq','C3vIC3rY','zxjYB3jtDgf0CW','CMvJB3zLCNLtDhjHDgvNAwvZ','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','CMvJB3zLCNLbDhrLBxb0CW','C3vIC2nYAwjL','y3jPDgLJywW','CMvJB3zLCMfIBgu','C2v0DxbfCNjVCLbYB2nLC3nPBMC','B3bLCMf0Aw9U','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','zgvIDwC','y2XHC3nPzNLfCNjVCG','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jZqNLbz2vUDa','CMf0zv9SAw1PDf9YzwnVDMvYEq','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','rxjYB3iGBg9Nz2LUzYbMywLSzwq','zgvSzxrL','Dg9mB3DLCKnHC2u','rK9sqKLerevo','zgv0zxjTAw5LrxjYB3juExbL','AgLNAa','y29UDgv4Da','yxbPx3jLCxvLC3q','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','uevstuLtu0LptL9eru5jruq','zxjYB3jZqNLuExbL','z2vUzxjHDgvfCNjVCKLK','ntC1odq1nK9hAvjTra','Dw5JyxvNAhrfEgnLChrPB24','mtm4nJu1mdrAChLiANO','AgfUzgXLrxjYB3i','Aw5MBW','AxnqCM9JzxnZAw5NuxvLDwu','vKfmsurbveLptL9fuLjpuG','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','ru5pru5u','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','DxbKyxrLrxjYB3jtDgf0CW','C2v2zxjPDhK','Aw5JBhvKzxm','DgLTzwqGB3v0','Dg9tDhjPBMC','uhjVy2vZC2LUzYbLCNjVCG','CMv0CNLdB3vUDa','BgvUz3rO','B3bLCMf0Aw9Uswq','yxr0zw1WDfjLy292zxj5','zgf0yv9Zyw5PDgL6yxrPB24','y2fSy3vSyxrLuMv0CNLezwXHEq','uKfurv9msu1jvf9fwenfrurfra','DhLWzq','AgfUzgXLq3jPDgLJywXfCNjVCG','CMvJB3zLCG','AgfZ','C3vJy2vZC2z1BfjLy292zxjPzxm','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','Bg9Nz2vY','rxjYB3iGC3vIC2nYAwjLCIbJywXSyMfJAYbMywLSzwq','C2HVDwXKuMv0CNK','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','z2v0'];a0_0x1d74=function(){return _0x49c330;};return a0_0x1d74();}export class ErrorHandler{constructor(_0x1bd2ac,_0x25a678){const _0x33727d=a0_0x1123;this['config']=_0x1bd2ac||{},this[_0x33727d(0xec)]=_0x25a678,this[_0x33727d(0xb1)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['recoveryStrategies']=new Map(),this[_0x33727d(0xa5)]=new Set(),this['errorQueue']=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x33727d(0xb8)]();}async[a0_0x40094b(0xd1)](_0x3a30ed,_0x3fb6c4={}){const _0x1740f2=a0_0x40094b;try{const _0x3b19c4=this[_0x1740f2(0xbc)](_0x3a30ed,_0x3fb6c4),_0xca5bfd=await this['processError'](_0x3b19c4);return this[_0x1740f2(0xd8)](_0x3b19c4),this['notifySubscribers'](_0x3b19c4,_0xca5bfd),_0xca5bfd;}catch(_0x41ec6b){return this['logger'][_0x1740f2(0xf3)]('Error\x20handling\x20failed',{'originalError':_0x3a30ed['message'],'handlingError':_0x41ec6b[_0x1740f2(0x9f)]}),{'success':![],'error':_0x41ec6b,'recovery':null,'severity':_0x1740f2(0xb6)};}}[a0_0x40094b(0xbc)](_0x264962,_0x109c79={}){const _0x48bf1b=a0_0x40094b,_0x166c85={'id':this[_0x48bf1b(0xcd)](),'timestamp':new Date()['toISOString'](),'message':_0x264962['message']||_0x264962['toString'](),'stack':_0x264962[_0x48bf1b(0x94)]||null,'code':_0x264962[_0x48bf1b(0x95)]||null,'type':this[_0x48bf1b(0xc6)](_0x264962,_0x109c79),'severity':this[_0x48bf1b(0xf2)](_0x264962,_0x109c79),'context':{..._0x109c79},'recoverable':!![],'retryCount':_0x109c79['retryCount']||0x0,'maxRetries':this['getMaxRetries'](_0x264962,_0x109c79)};return _0x109c79['agentId']&&(_0x166c85[_0x48bf1b(0x8b)]=_0x109c79[_0x48bf1b(0x8b)]),_0x109c79[_0x48bf1b(0x9d)]&&(_0x166c85[_0x48bf1b(0x9d)]=_0x109c79[_0x48bf1b(0x9d)]),_0x109c79['operationId']&&(_0x166c85['operationId']=_0x109c79[_0x48bf1b(0xe0)]),_0x166c85[_0x48bf1b(0xb7)]=this[_0x48bf1b(0x8c)](_0x166c85),_0x166c85;}async['processError'](_0x1f0099){const _0x5d4063=a0_0x40094b;try{this['logger']['error'](_0x5d4063(0xdd),{'errorId':_0x1f0099['id'],'type':_0x1f0099[_0x5d4063(0xe5)],'severity':_0x1f0099['severity'],'agentId':_0x1f0099['agentId'],'message':_0x1f0099['message']});_0x1f0099[_0x5d4063(0xd9)]===_0x5d4063(0xb6)&&await this[_0x5d4063(0xe6)](_0x1f0099);let _0xb93a23=null;return _0x1f0099[_0x5d4063(0xb7)]&&_0x1f0099['retryCount']<_0x1f0099['maxRetries']&&(_0xb93a23=await this[_0x5d4063(0xe1)](_0x1f0099)),await this['logError'](_0x1f0099,_0xb93a23),{'success':_0xb93a23?.[_0x5d4063(0x9e)]||![],'errorId':_0x1f0099['id'],'errorType':_0x1f0099['type'],'severity':_0x1f0099['severity'],'recovery':_0xb93a23,'shouldRetry':this[_0x5d4063(0xee)](_0x1f0099,_0xb93a23),'retryDelay':this[_0x5d4063(0xe3)](_0x1f0099)};}catch(processingError){return this['logger'][_0x5d4063(0xf3)]('Error\x20processing\x20failed',{'errorId':_0x1f0099['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x1f0099['id'],'errorType':_0x1f0099[_0x5d4063(0xe5)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x40094b(0xe1)](_0x2bbb93){const _0x5e63cd=a0_0x40094b;try{this['errorStats']['recoveryAttempts']++;const _0x28f7bc=this[_0x5e63cd(0xb2)][_0x5e63cd(0xf0)](_0x2bbb93[_0x5e63cd(0xe5)])||this[_0x5e63cd(0xb2)][_0x5e63cd(0xf0)]('default');if(!_0x28f7bc)return this[_0x5e63cd(0xec)][_0x5e63cd(0xa1)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x2bbb93['type']}),{'success':![],'reason':_0x5e63cd(0x97)};this['logger'][_0x5e63cd(0xd2)](_0x5e63cd(0xb3),{'errorId':_0x2bbb93['id'],'errorType':_0x2bbb93['type'],'strategy':_0x28f7bc[_0x5e63cd(0xa9)],'retryCount':_0x2bbb93['retryCount']});const _0x540d7c=await _0x28f7bc[_0x5e63cd(0xe7)](_0x2bbb93);return _0x540d7c[_0x5e63cd(0x9e)]?(this['errorStats'][_0x5e63cd(0xe9)]++,this['logger'][_0x5e63cd(0xd2)]('Error\x20recovery\x20successful',{'errorId':_0x2bbb93['id'],'strategy':_0x28f7bc[_0x5e63cd(0xa9)]})):this[_0x5e63cd(0xec)][_0x5e63cd(0xa1)]('Error\x20recovery\x20failed',{'errorId':_0x2bbb93['id'],'strategy':_0x28f7bc[_0x5e63cd(0xa9)],'reason':_0x540d7c['reason']}),_0x540d7c;}catch(_0x1e3eb4){return this['logger'][_0x5e63cd(0xf3)]('Recovery\x20attempt\x20failed',{'errorId':_0x2bbb93['id'],'recoveryError':_0x1e3eb4['message']}),{'success':![],'reason':_0x5e63cd(0x96)+_0x1e3eb4[_0x5e63cd(0x9f)]};}}async['handleCriticalError'](_0x497788){const _0x326632=a0_0x40094b;try{this[_0x326632(0xb1)]['criticalErrors']++,this['logger']['error']('Critical\x20error\x20detected',{'errorId':_0x497788['id'],'message':_0x497788[_0x326632(0x9f)],'context':_0x497788[_0x326632(0xc8)]});typeof process!==_0x326632(0xf4)&&process[_0x326632(0xa8)]&&process['emit']('criticalError',_0x497788);switch(_0x497788['type']){case ERROR_TYPES[_0x326632(0x92)]:await this[_0x326632(0xbd)](_0x497788);break;case ERROR_TYPES[_0x326632(0xe4)]:await this[_0x326632(0xd7)](_0x497788);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this['handleOperationTimeout'](_0x497788);break;default:await this['handleGenericCriticalError'](_0x497788);}}catch(_0x1c2855){this[_0x326632(0xec)][_0x326632(0xf3)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x497788['id'],'handlingError':_0x1c2855['message']});}}[a0_0x40094b(0xc6)](_0xc2ad7a,_0x304501){const _0xe43ce2=a0_0x40094b;if(_0xc2ad7a['code']===_0xe43ce2(0xd6)||_0xc2ad7a['status']===HTTP_STATUS[_0xe43ce2(0xf7)])return ERROR_TYPES[_0xe43ce2(0xaf)];if(_0xc2ad7a['code']==='EACCES'||_0xc2ad7a[_0xe43ce2(0xad)]===HTTP_STATUS[_0xe43ce2(0xc5)])return ERROR_TYPES[_0xe43ce2(0xcb)];if(_0xc2ad7a['status']===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES[_0xe43ce2(0x92)];if(_0xc2ad7a['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0xe43ce2(0xe4)];const _0x5b4ffa=_0xc2ad7a['message']?.[_0xe43ce2(0xc4)]()||'';if(_0x5b4ffa[_0xe43ce2(0xda)]('timeout')||_0x5b4ffa[_0xe43ce2(0xda)](_0xe43ce2(0xdb)))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x5b4ffa[_0xe43ce2(0xda)]('validation')||_0x5b4ffa['includes'](_0xe43ce2(0x9b)))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x5b4ffa['includes']('config')||_0x5b4ffa['includes']('configuration'))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x304501[_0xe43ce2(0xb9)]==='file_operation')return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x304501['operation']===_0xe43ce2(0xc9))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0xe43ce2(0xf1)];}[a0_0x40094b(0xf2)](_0xcab89e,_0x5c493a){const _0x3de4d2=a0_0x40094b,_0x578866=[ERROR_TYPES[_0x3de4d2(0x92)],ERROR_TYPES['CONFIGURATION_ERROR']],_0x1b5f16=[ERROR_TYPES[_0x3de4d2(0xe4)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x2ca097=this['determineErrorType'](_0xcab89e,_0x5c493a);if(_0x578866['includes'](_0x2ca097))return _0x3de4d2(0xb6);if(_0x1b5f16['includes'](_0x2ca097))return'high';const _0x3a97ee=_0x5c493a&&_0x5c493a['retryCount']||0x0;if(_0x3a97ee>=0x3)return _0x3de4d2(0xc7);if(_0x5c493a&&_0x5c493a['agentId']&&_0x5c493a['operation']==='agent_communication')return'medium';return'low';}['isRecoverable'](_0x587088){const _0x3403cc=a0_0x40094b,_0x593303=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x3403cc(0xa6)]];if(_0x593303['includes'](_0x587088[_0x3403cc(0xe5)]))return![];if(_0x587088['retryCount']>=_0x587088['maxRetries'])return![];if(_0x587088[_0x3403cc(0xd9)]==='critical')return![];return!![];}['getMaxRetries'](_0x5101f6,_0x1af5a6){const _0x26c022=a0_0x40094b,_0x5f24d6=this['determineErrorType'](_0x5101f6,_0x1af5a6),_0x57f73b={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES[_0x26c022(0xcb)]]:0x1,[ERROR_TYPES[_0x26c022(0xd4)]]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x57f73b[_0x5f24d6]||0x3;}[a0_0x40094b(0xee)](_0x5d2658,_0x178ffc){if(!_0x5d2658['recoverable'])return![];if(_0x5d2658['retryCount']>=_0x5d2658['maxRetries'])return![];if(_0x178ffc&&_0x178ffc['success'])return![];return!![];}['calculateRetryDelay'](_0xc4d385){const _0x16a613=a0_0x40094b,_0x41d2aa=0x3e8,_0x4fed13=0x7530,_0x3f779c=_0x41d2aa*Math['pow'](0x2,_0xc4d385[_0x16a613(0xde)]),_0xfc3b14=Math['random']()*0x3e8;return Math[_0x16a613(0xaa)](_0x3f779c+_0xfc3b14,_0x4fed13);}[a0_0x40094b(0x8d)](){const _0x5777c6=a0_0x40094b;this[_0x5777c6(0xb2)]['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':_0x5777c6(0xef),'recover':async _0x33f0e7=>{const _0x114c50=_0x5777c6;if(_0x33f0e7[_0x114c50(0xc8)]['filePath'])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x114c50(0xab)};}}),this['recoveryStrategies'][_0x5777c6(0x93)](ERROR_TYPES[_0x5777c6(0xe4)],{'name':_0x5777c6(0xc0),'recover':async _0x203abf=>{const _0x30e104=_0x5777c6,_0xff9bd9=this[_0x30e104(0x98)](_0x203abf);return this[_0x30e104(0xec)]['info'](_0x30e104(0xba),{'waitTime':_0xff9bd9}),await new Promise(_0x1c0ba6=>setTimeout(_0x1c0ba6,_0xff9bd9)),{'success':!![],'action':_0x30e104(0xd5),'waitTime':_0xff9bd9};}}),this['recoveryStrategies']['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x5a7830=>{const _0x5cfc68=_0x5777c6;if(_0x5a7830[_0x5cfc68(0xc8)]['timeout']){const _0x5d8b81=Math['min'](_0x5a7830[_0x5cfc68(0xc8)]['timeout']*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x5d8b81};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies']['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':'permission_recovery','recover':async _0x12404a=>{const _0x1a1c98=_0x5777c6;return{'success':![],'reason':_0x1a1c98(0xea),'suggestion':'Check\x20file/directory\x20permissions'};}}),this['recoveryStrategies'][_0x5777c6(0x93)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x4f733e=>{const _0x312509=_0x5777c6;if(_0x4f733e['context']['inputData'])return{'success':!![],'action':_0x312509(0xe2),'suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this[_0x5777c6(0xb2)]['set']('default',{'name':'default_recovery','recover':async _0x14802c=>{const _0xd33f59=_0x5777c6,_0xa55424=this[_0xd33f59(0xe3)](_0x14802c);return await new Promise(_0x1e823f=>setTimeout(_0x1e823f,_0xa55424)),{'success':!![],'action':'delay_retry','delay':_0xa55424};}});}async['handleAuthenticationFailure'](_0x4b1163){const _0xb4e351=a0_0x40094b;this[_0xb4e351(0xec)][_0xb4e351(0xf3)]('Authentication\x20failure\x20detected',{'errorId':_0x4b1163['id']});if(_0x4b1163[_0xb4e351(0x8b)]){}}async[a0_0x40094b(0xd7)](_0x3f2b24){const _0x1ce16f=a0_0x40094b,_0x2d79a5=this['calculateRateLimitWait'](_0x3f2b24);this[_0x1ce16f(0xec)]['warn'](_0x1ce16f(0xeb),{'errorId':_0x3f2b24['id'],'waitTime':_0x2d79a5,'agentId':_0x3f2b24['agentId']});if(_0x3f2b24[_0x1ce16f(0x8b)]){}}async[a0_0x40094b(0xca)](_0x4b5f8c){const _0x2d706d=a0_0x40094b;this[_0x2d706d(0xec)][_0x2d706d(0xf3)]('Operation\x20timeout\x20detected',{'errorId':_0x4b5f8c['id'],'operation':_0x4b5f8c['context']['operation'],'timeout':_0x4b5f8c[_0x2d706d(0xc8)][_0x2d706d(0xf5)]});}async['handleGenericCriticalError'](_0x1eada1){const _0x2a81b5=a0_0x40094b;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x1eada1['id'],'type':_0x1eada1['type'],'message':_0x1eada1['message']}),_0x1eada1[_0x2a81b5(0x8b)]&&this['logger']['warn']('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x1eada1[_0x2a81b5(0x8b)]});}[a0_0x40094b(0x98)](_0x23c2d1){const _0x48d310=a0_0x40094b,_0x24df2f=0xea60,_0x3b2541=Math[_0x48d310(0x8f)](0x2,_0x23c2d1['retryCount']),_0x1aa2d3=0x493e0;return Math['min'](_0x24df2f*_0x3b2541,_0x1aa2d3);}async['logError'](_0xa0111d,_0x5b61e6){const _0x4d6fe7=a0_0x40094b;try{const _0x1619bd={'errorId':_0xa0111d['id'],'timestamp':_0xa0111d['timestamp'],'type':_0xa0111d['type'],'severity':_0xa0111d['severity'],'message':_0xa0111d[_0x4d6fe7(0x9f)],'agentId':_0xa0111d[_0x4d6fe7(0x8b)],'toolId':_0xa0111d['toolId'],'operationId':_0xa0111d[_0x4d6fe7(0xe0)],'retryCount':_0xa0111d['retryCount'],'recoveryAttempted':!!_0x5b61e6,'recoverySuccess':_0x5b61e6?.['success']||![],'recoveryAction':_0x5b61e6?.['action']||null};this[_0x4d6fe7(0x9c)][_0x4d6fe7(0x91)](_0x1619bd),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x5ccf4e){this['logger'][_0x4d6fe7(0xf3)](_0x4d6fe7(0xc2),{'errorId':_0xa0111d['id'],'loggingError':_0x5ccf4e[_0x4d6fe7(0x9f)]});}}async[a0_0x40094b(0xa4)](){const _0x974625=a0_0x40094b;if(this['isProcessingQueue']||this['errorQueue'][_0x974625(0xdf)]===0x0)return;this[_0x974625(0xd3)]=!![];try{while(this[_0x974625(0x9c)]['length']>0x0){const _0xb0382d=this['errorQueue'][_0x974625(0xa3)](0x0,0xa);this['logger'][_0x974625(0xbb)](_0x974625(0xc1),{'batchSize':_0xb0382d[_0x974625(0xdf)]}),await new Promise(_0x279516=>setTimeout(_0x279516,0x64));}}catch(processingError){this['logger'][_0x974625(0xf3)](_0x974625(0xbe),{'error':processingError[_0x974625(0x9f)]});}finally{this['isProcessingQueue']=![];}}[a0_0x40094b(0xb8)](){const _0x3e232c=a0_0x40094b;setInterval(()=>{const _0x101946=a0_0x1123;this[_0x101946(0x9c)]['length']>0x0&&this[_0x101946(0xa4)]();},0x1388),typeof process!=='undefined'&&(process['on'](_0x3e232c(0xcf),_0xbb4835=>{const _0x38bf0a=_0x3e232c;this[_0x38bf0a(0xd1)](_0xbb4835,{'type':'uncaught_exception','severity':_0x38bf0a(0xb6)});}),process['on']('unhandledRejection',(_0x4c044d,_0x593878)=>{const _0x194e95=_0x3e232c;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x4c044d),{'type':'unhandled_rejection','severity':'high','promise':_0x593878[_0x194e95(0xdc)]()});}));}[a0_0x40094b(0xd8)](_0x51a54d){const _0x4515ed=a0_0x40094b;this[_0x4515ed(0xb1)]['totalErrors']++,!this['errorStats'][_0x4515ed(0xcc)][_0x4515ed(0xe8)](_0x51a54d['type'])&&this['errorStats'][_0x4515ed(0xcc)][_0x4515ed(0x93)](_0x51a54d[_0x4515ed(0xe5)],0x0),this['errorStats']['errorsByType']['set'](_0x51a54d[_0x4515ed(0xe5)],this[_0x4515ed(0xb1)][_0x4515ed(0xcc)]['get'](_0x51a54d['type'])+0x1),_0x51a54d[_0x4515ed(0x8b)]&&(!this[_0x4515ed(0xb1)]['errorsByAgent'][_0x4515ed(0xe8)](_0x51a54d[_0x4515ed(0x8b)])&&this['errorStats']['errorsByAgent']['set'](_0x51a54d['agentId'],0x0),this['errorStats']['errorsByAgent'][_0x4515ed(0x93)](_0x51a54d['agentId'],this['errorStats']['errorsByAgent'][_0x4515ed(0xf0)](_0x51a54d[_0x4515ed(0x8b)])+0x1));}[a0_0x40094b(0xb5)](_0x3c96ec){const _0x58c7ad=a0_0x40094b;return this['errorSubscribers']['add'](_0x3c96ec),()=>this['errorSubscribers'][_0x58c7ad(0xc3)](_0x3c96ec);}['notifySubscribers'](_0x17ddf8,_0x57d3ce){this['errorSubscribers']['forEach'](_0x475164=>{const _0x2f7e7f=a0_0x1123;try{_0x475164(_0x17ddf8,_0x57d3ce);}catch(_0x3e5d88){this[_0x2f7e7f(0xec)][_0x2f7e7f(0xf3)](_0x2f7e7f(0xed),{'error':_0x3e5d88[_0x2f7e7f(0x9f)]});}});}[a0_0x40094b(0xcd)](){const _0x14cccc=a0_0x40094b;return _0x14cccc(0xa2)+Date['now']()+'_'+Math['random']()[_0x14cccc(0xdc)](0x24)[_0x14cccc(0xb0)](0x2,0x9);}['getErrorStats'](){const _0x209597=a0_0x40094b;return{'totalErrors':this[_0x209597(0xb1)]['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats']['errorsByType']),'errorsByAgent':Object[_0x209597(0xa7)](this['errorStats'][_0x209597(0xbf)]),'recoveryAttempts':this[_0x209597(0xb1)][_0x209597(0xb4)],'successfulRecoveries':this['errorStats']['successfulRecoveries'],'recoverySuccessRate':this[_0x209597(0xb1)]['recoveryAttempts']>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this['errorStats']['criticalErrors'],'queueLength':this['errorQueue'][_0x209597(0xdf)]};}[a0_0x40094b(0x9a)](){this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
|
|
1
|
+
const a0_0x5a53d0=a0_0x13fb;(function(_0x123d37,_0x8d84af){const _0xa35cb2=a0_0x13fb,_0x370903=_0x123d37();while(!![]){try{const _0x25e52f=-parseInt(_0xa35cb2(0x1ee))/0x1+parseInt(_0xa35cb2(0x220))/0x2*(-parseInt(_0xa35cb2(0x22d))/0x3)+parseInt(_0xa35cb2(0x1dc))/0x4+parseInt(_0xa35cb2(0x230))/0x5*(parseInt(_0xa35cb2(0x222))/0x6)+parseInt(_0xa35cb2(0x20f))/0x7+-parseInt(_0xa35cb2(0x22c))/0x8+-parseInt(_0xa35cb2(0x20d))/0x9*(-parseInt(_0xa35cb2(0x1e0))/0xa);if(_0x25e52f===_0x8d84af)break;else _0x370903['push'](_0x370903['shift']());}catch(_0x1a96d9){_0x370903['push'](_0x370903['shift']());}}}(a0_0x1820,0xf2338));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x13fb(_0x3397fb,_0x4b20fd){_0x3397fb=_0x3397fb-0x1ca;const _0x1820bc=a0_0x1820();let _0x13fbd7=_0x1820bc[_0x3397fb];if(a0_0x13fb['DyFLgc']===undefined){var _0x4dd03d=function(_0x377e4a){const _0x295106='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33affc='',_0x246e73='';for(let _0x12a6d3=0x0,_0x827d37,_0x434a,_0x5ad091=0x0;_0x434a=_0x377e4a['charAt'](_0x5ad091++);~_0x434a&&(_0x827d37=_0x12a6d3%0x4?_0x827d37*0x40+_0x434a:_0x434a,_0x12a6d3++%0x4)?_0x33affc+=String['fromCharCode'](0xff&_0x827d37>>(-0x2*_0x12a6d3&0x6)):0x0){_0x434a=_0x295106['indexOf'](_0x434a);}for(let _0x175bec=0x0,_0x5853a5=_0x33affc['length'];_0x175bec<_0x5853a5;_0x175bec++){_0x246e73+='%'+('00'+_0x33affc['charCodeAt'](_0x175bec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x246e73);};a0_0x13fb['MMtAXK']=_0x4dd03d,a0_0x13fb['BiTsLE']={},a0_0x13fb['DyFLgc']=!![];}const _0x2ac8ba=_0x1820bc[0x0],_0x5dd6da=_0x3397fb+_0x2ac8ba,_0x5b650c=a0_0x13fb['BiTsLE'][_0x5dd6da];return!_0x5b650c?(_0x13fbd7=a0_0x13fb['MMtAXK'](_0x13fbd7),a0_0x13fb['BiTsLE'][_0x5dd6da]=_0x13fbd7):_0x13fbd7=_0x5b650c,_0x13fbd7;}export class ErrorHandler{constructor(_0x33affc,_0x246e73){const _0x4306cb=a0_0x13fb;this[_0x4306cb(0x20c)]=_0x33affc||{},this['logger']=_0x246e73,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['recoveryStrategies']=new Map(),this[_0x4306cb(0x23c)]=new Set(),this[_0x4306cb(0x1d1)]=[],this['isProcessingQueue']=![],this[_0x4306cb(0x1fe)](),this[_0x4306cb(0x1f4)]();}async['handleError'](_0x12a6d3,_0x827d37={}){const _0x20c257=a0_0x13fb;try{const _0x434a=this[_0x20c257(0x1f9)](_0x12a6d3,_0x827d37),_0x5ad091=await this[_0x20c257(0x232)](_0x434a);return this[_0x20c257(0x1ff)](_0x434a),this[_0x20c257(0x225)](_0x434a,_0x5ad091),_0x5ad091;}catch(_0x175bec){return this['logger'][_0x20c257(0x23d)]('Error\x20handling\x20failed',{'originalError':_0x12a6d3[_0x20c257(0x228)],'handlingError':_0x175bec['message']}),{'success':![],'error':_0x175bec,'recovery':null,'severity':'critical'};}}[a0_0x5a53d0(0x1f9)](_0x5853a5,_0x5a7f39={}){const _0xa7dc06=a0_0x5a53d0,_0xf87b8f={'id':this[_0xa7dc06(0x21c)](),'timestamp':new Date()['toISOString'](),'message':_0x5853a5[_0xa7dc06(0x228)]||_0x5853a5[_0xa7dc06(0x21d)](),'stack':_0x5853a5[_0xa7dc06(0x238)]||null,'code':_0x5853a5[_0xa7dc06(0x21a)]||null,'type':this[_0xa7dc06(0x231)](_0x5853a5,_0x5a7f39),'severity':this[_0xa7dc06(0x227)](_0x5853a5,_0x5a7f39),'context':{..._0x5a7f39},'recoverable':!![],'retryCount':_0x5a7f39['retryCount']||0x0,'maxRetries':this[_0xa7dc06(0x1ed)](_0x5853a5,_0x5a7f39)};return _0x5a7f39[_0xa7dc06(0x226)]&&(_0xf87b8f[_0xa7dc06(0x226)]=_0x5a7f39['agentId']),_0x5a7f39[_0xa7dc06(0x1ca)]&&(_0xf87b8f['toolId']=_0x5a7f39[_0xa7dc06(0x1ca)]),_0x5a7f39[_0xa7dc06(0x234)]&&(_0xf87b8f['operationId']=_0x5a7f39[_0xa7dc06(0x234)]),_0xf87b8f[_0xa7dc06(0x1ea)]=this['isRecoverable'](_0xf87b8f),_0xf87b8f;}async['processError'](_0x1e4abf){const _0x99482=a0_0x5a53d0;try{this['logger']['error']('Processing\x20error',{'errorId':_0x1e4abf['id'],'type':_0x1e4abf['type'],'severity':_0x1e4abf[_0x99482(0x206)],'agentId':_0x1e4abf[_0x99482(0x226)],'message':_0x1e4abf['message']});_0x1e4abf[_0x99482(0x206)]==='critical'&&await this['handleCriticalError'](_0x1e4abf);let _0x403169=null;return _0x1e4abf['recoverable']&&_0x1e4abf['retryCount']<_0x1e4abf[_0x99482(0x240)]&&(_0x403169=await this[_0x99482(0x23e)](_0x1e4abf)),await this[_0x99482(0x213)](_0x1e4abf,_0x403169),{'success':_0x403169?.[_0x99482(0x209)]||![],'errorId':_0x1e4abf['id'],'errorType':_0x1e4abf[_0x99482(0x210)],'severity':_0x1e4abf['severity'],'recovery':_0x403169,'shouldRetry':this['shouldRetry'](_0x1e4abf,_0x403169),'retryDelay':this[_0x99482(0x218)](_0x1e4abf)};}catch(processingError){return this[_0x99482(0x20e)][_0x99482(0x23d)](_0x99482(0x233),{'errorId':_0x1e4abf['id'],'processingError':processingError[_0x99482(0x228)]}),{'success':![],'errorId':_0x1e4abf['id'],'errorType':_0x1e4abf['type'],'severity':_0x99482(0x223),'recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x3d9cfe){const _0xefb947=a0_0x5a53d0;try{this[_0xefb947(0x216)][_0xefb947(0x1e7)]++;const _0x3f8fbd=this['recoveryStrategies'][_0xefb947(0x229)](_0x3d9cfe['type'])||this[_0xefb947(0x20b)]['get']('default');if(!_0x3f8fbd)return this['logger'][_0xefb947(0x1fd)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x3d9cfe['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0xefb947(0x20e)]['info'](_0xefb947(0x20a),{'errorId':_0x3d9cfe['id'],'errorType':_0x3d9cfe[_0xefb947(0x210)],'strategy':_0x3f8fbd['name'],'retryCount':_0x3d9cfe['retryCount']});const _0x289c68=await _0x3f8fbd[_0xefb947(0x21f)](_0x3d9cfe);return _0x289c68['success']?(this['errorStats'][_0xefb947(0x23f)]++,this['logger'][_0xefb947(0x207)](_0xefb947(0x1de),{'errorId':_0x3d9cfe['id'],'strategy':_0x3f8fbd[_0xefb947(0x1e8)]})):this[_0xefb947(0x20e)][_0xefb947(0x1fd)]('Error\x20recovery\x20failed',{'errorId':_0x3d9cfe['id'],'strategy':_0x3f8fbd['name'],'reason':_0x289c68['reason']}),_0x289c68;}catch(_0x1730a3){return this[_0xefb947(0x20e)]['error'](_0xefb947(0x211),{'errorId':_0x3d9cfe['id'],'recoveryError':_0x1730a3[_0xefb947(0x228)]}),{'success':![],'reason':_0xefb947(0x1e4)+_0x1730a3[_0xefb947(0x228)]};}}async[a0_0x5a53d0(0x1fb)](_0xeefe06){const _0x21b2d7=a0_0x5a53d0;try{this[_0x21b2d7(0x216)][_0x21b2d7(0x1e1)]++,this[_0x21b2d7(0x20e)][_0x21b2d7(0x23d)](_0x21b2d7(0x21e),{'errorId':_0xeefe06['id'],'message':_0xeefe06['message'],'context':_0xeefe06['context']});typeof process!==_0x21b2d7(0x212)&&process['emit']&&process[_0x21b2d7(0x1cc)]('criticalError',_0xeefe06);switch(_0xeefe06[_0x21b2d7(0x210)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this['handleAuthenticationFailure'](_0xeefe06);break;case ERROR_TYPES[_0x21b2d7(0x1db)]:await this['handleRateLimitExceeded'](_0xeefe06);break;case ERROR_TYPES[_0x21b2d7(0x1e2)]:await this[_0x21b2d7(0x1f1)](_0xeefe06);break;default:await this['handleGenericCriticalError'](_0xeefe06);}}catch(_0x26741f){this['logger'][_0x21b2d7(0x23d)](_0x21b2d7(0x1da),{'errorId':_0xeefe06['id'],'handlingError':_0x26741f['message']});}}['determineErrorType'](_0x1c9778,_0x217100){const _0x503d74=a0_0x5a53d0;if(_0x1c9778['code']===_0x503d74(0x219)||_0x1c9778[_0x503d74(0x22a)]===HTTP_STATUS[_0x503d74(0x200)])return ERROR_TYPES[_0x503d74(0x224)];if(_0x1c9778['code']==='EACCES'||_0x1c9778[_0x503d74(0x22a)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x1c9778['status']===HTTP_STATUS[_0x503d74(0x1fa)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x1c9778[_0x503d74(0x22a)]===HTTP_STATUS[_0x503d74(0x23b)])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x1bf0a2=_0x1c9778['message']?.[_0x503d74(0x1fc)]()||'';if(_0x1bf0a2['includes'](_0x503d74(0x1d4))||_0x1bf0a2[_0x503d74(0x1cd)](_0x503d74(0x239)))return ERROR_TYPES[_0x503d74(0x1e2)];if(_0x1bf0a2[_0x503d74(0x1cd)]('validation')||_0x1bf0a2['includes']('invalid'))return ERROR_TYPES[_0x503d74(0x205)];if(_0x1bf0a2[_0x503d74(0x1cd)](_0x503d74(0x20c))||_0x1bf0a2[_0x503d74(0x1cd)](_0x503d74(0x241)))return ERROR_TYPES[_0x503d74(0x1f0)];if(_0x217100[_0x503d74(0x1df)]==='file_operation')return ERROR_TYPES[_0x503d74(0x224)];if(_0x217100[_0x503d74(0x1df)]==='api_request')return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x57940f,_0x33d7f2){const _0x278dab=a0_0x5a53d0,_0x907fcd=[ERROR_TYPES[_0x278dab(0x1d8)],ERROR_TYPES[_0x278dab(0x1f0)]],_0x5deffd=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES[_0x278dab(0x1e2)],ERROR_TYPES[_0x278dab(0x204)]],_0x4cf2ed=this[_0x278dab(0x231)](_0x57940f,_0x33d7f2);if(_0x907fcd['includes'](_0x4cf2ed))return _0x278dab(0x223);if(_0x5deffd[_0x278dab(0x1cd)](_0x4cf2ed))return _0x278dab(0x236);const _0x3d3f23=_0x33d7f2&&_0x33d7f2['retryCount']||0x0;if(_0x3d3f23>=0x3)return'high';if(_0x33d7f2&&_0x33d7f2['agentId']&&_0x33d7f2['operation']==='agent_communication')return _0x278dab(0x1f2);return _0x278dab(0x1cb);}['isRecoverable'](_0x5bbfc5){const _0x5e55b6=a0_0x5a53d0,_0x49ce0e=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x49ce0e[_0x5e55b6(0x1cd)](_0x5bbfc5[_0x5e55b6(0x210)]))return![];if(_0x5bbfc5[_0x5e55b6(0x208)]>=_0x5bbfc5['maxRetries'])return![];if(_0x5bbfc5['severity']===_0x5e55b6(0x223))return![];return!![];}['getMaxRetries'](_0xd5370b,_0x38f2dd){const _0x163975=a0_0x5a53d0,_0x427f90=this[_0x163975(0x231)](_0xd5370b,_0x38f2dd),_0x19e644={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0x163975(0x1e2)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x19e644[_0x427f90]||0x3;}['shouldRetry'](_0x1a46be,_0x4c7757){const _0x575bb9=a0_0x5a53d0;if(!_0x1a46be[_0x575bb9(0x1ea)])return![];if(_0x1a46be['retryCount']>=_0x1a46be['maxRetries'])return![];if(_0x4c7757&&_0x4c7757[_0x575bb9(0x209)])return![];return!![];}['calculateRetryDelay'](_0x374e70){const _0x57cf11=a0_0x5a53d0,_0x233859=0x3e8,_0x4e9e13=0x7530,_0x11ff5=_0x233859*Math['pow'](0x2,_0x374e70['retryCount']),_0x5399af=Math['random']()*0x3e8;return Math[_0x57cf11(0x1d7)](_0x11ff5+_0x5399af,_0x4e9e13);}[a0_0x5a53d0(0x1fe)](){const _0x3383fc=a0_0x5a53d0;this[_0x3383fc(0x20b)]['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0xfc5090=>{const _0x2885d1=_0x3383fc;if(_0xfc5090['context']['filePath'])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x2885d1(0x242)};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':'rate_limit_recovery','recover':async _0x405398=>{const _0x37d292=_0x3383fc,_0x518c46=this[_0x37d292(0x1d2)](_0x405398);return this['logger']['info'](_0x37d292(0x221),{'waitTime':_0x518c46}),await new Promise(_0x20f6dc=>setTimeout(_0x20f6dc,_0x518c46)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x518c46};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x40295f=>{const _0x4815cb=_0x3383fc;if(_0x40295f[_0x4815cb(0x1e9)]['timeout']){const _0x187cb3=Math['min'](_0x40295f['context'][_0x4815cb(0x1d4)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x187cb3};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES[_0x3383fc(0x204)],{'name':_0x3383fc(0x1f6),'recover':async _0x4a73d9=>{const _0xd445f9=_0x3383fc;return{'success':![],'reason':_0xd445f9(0x22b),'suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x18fa75=>{const _0x16b3d6=_0x3383fc;if(_0x18fa75['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x16b3d6(0x1d5)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)]('default',{'name':'default_recovery','recover':async _0x2911b9=>{const _0x4c84c6=_0x3383fc,_0x535a35=this['calculateRetryDelay'](_0x2911b9);return await new Promise(_0x359273=>setTimeout(_0x359273,_0x535a35)),{'success':!![],'action':_0x4c84c6(0x1eb),'delay':_0x535a35};}});}async['handleAuthenticationFailure'](_0xb7d813){const _0x5c2c9e=a0_0x5a53d0;this[_0x5c2c9e(0x20e)]['error'](_0x5c2c9e(0x1f3),{'errorId':_0xb7d813['id']});if(_0xb7d813['agentId']){}}async[a0_0x5a53d0(0x1ef)](_0x44f447){const _0x452f74=a0_0x5a53d0,_0x27b905=this[_0x452f74(0x1d2)](_0x44f447);this[_0x452f74(0x20e)][_0x452f74(0x1fd)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x44f447['id'],'waitTime':_0x27b905,'agentId':_0x44f447['agentId']});if(_0x44f447['agentId']){}}async[a0_0x5a53d0(0x1f1)](_0x46b37d){const _0x3a03bf=a0_0x5a53d0;this['logger']['error']('Operation\x20timeout\x20detected',{'errorId':_0x46b37d['id'],'operation':_0x46b37d[_0x3a03bf(0x1e9)]['operation'],'timeout':_0x46b37d[_0x3a03bf(0x1e9)][_0x3a03bf(0x1d4)]});}async[a0_0x5a53d0(0x1d3)](_0x353233){const _0x28bec4=a0_0x5a53d0;this[_0x28bec4(0x20e)][_0x28bec4(0x23d)]('Generic\x20critical\x20error',{'errorId':_0x353233['id'],'type':_0x353233['type'],'message':_0x353233['message']}),_0x353233['agentId']&&this[_0x28bec4(0x20e)]['warn'](_0x28bec4(0x1e3),{'agentId':_0x353233['agentId']});}['calculateRateLimitWait'](_0x133328){const _0x20d337=a0_0x5a53d0,_0x54f0b6=0xea60,_0x5d60c2=Math[_0x20d337(0x22e)](0x2,_0x133328['retryCount']),_0x2b775c=0x493e0;return Math['min'](_0x54f0b6*_0x5d60c2,_0x2b775c);}async[a0_0x5a53d0(0x213)](_0x34e043,_0x4995d8){const _0x57ecc5=a0_0x5a53d0;try{const _0x393566={'errorId':_0x34e043['id'],'timestamp':_0x34e043['timestamp'],'type':_0x34e043[_0x57ecc5(0x210)],'severity':_0x34e043[_0x57ecc5(0x206)],'message':_0x34e043['message'],'agentId':_0x34e043['agentId'],'toolId':_0x34e043[_0x57ecc5(0x1ca)],'operationId':_0x34e043['operationId'],'retryCount':_0x34e043['retryCount'],'recoveryAttempted':!!_0x4995d8,'recoverySuccess':_0x4995d8?.[_0x57ecc5(0x209)]||![],'recoveryAction':_0x4995d8?.[_0x57ecc5(0x1e6)]||null};this[_0x57ecc5(0x1d1)]['push'](_0x393566),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x17c356){this[_0x57ecc5(0x20e)][_0x57ecc5(0x23d)](_0x57ecc5(0x1d0),{'errorId':_0x34e043['id'],'loggingError':_0x17c356['message']});}}async[a0_0x5a53d0(0x22f)](){const _0x5fb71b=a0_0x5a53d0;if(this['isProcessingQueue']||this[_0x5fb71b(0x1d1)]['length']===0x0)return;this[_0x5fb71b(0x1e5)]=!![];try{while(this[_0x5fb71b(0x1d1)][_0x5fb71b(0x202)]>0x0){const _0x3f2531=this[_0x5fb71b(0x1d1)][_0x5fb71b(0x237)](0x0,0xa);this[_0x5fb71b(0x20e)]['debug']('Processing\x20error\x20batch',{'batchSize':_0x3f2531[_0x5fb71b(0x202)]}),await new Promise(_0xbadfbc=>setTimeout(_0xbadfbc,0x64));}}catch(processingError){this[_0x5fb71b(0x20e)][_0x5fb71b(0x23d)]('Error\x20queue\x20processing\x20failed',{'error':processingError[_0x5fb71b(0x228)]});}finally{this['isProcessingQueue']=![];}}[a0_0x5a53d0(0x1f4)](){const _0x29cc7b=a0_0x5a53d0;setInterval(()=>{const _0x558226=a0_0x13fb;this['errorQueue']['length']>0x0&&this[_0x558226(0x22f)]();},0x1388),typeof process!=='undefined'&&(process['on'](_0x29cc7b(0x217),_0x50cc94=>{const _0xe1c541=_0x29cc7b;this[_0xe1c541(0x215)](_0x50cc94,{'type':'uncaught_exception','severity':_0xe1c541(0x223)});}),process['on']('unhandledRejection',(_0x505282,_0x376afd)=>{const _0x6cf453=_0x29cc7b;this['handleError'](new Error(_0x6cf453(0x201)+_0x505282),{'type':'unhandled_rejection','severity':_0x6cf453(0x236),'promise':_0x376afd[_0x6cf453(0x21d)]()});}));}[a0_0x5a53d0(0x1ff)](_0x519ac6){const _0x5abd60=a0_0x5a53d0;this[_0x5abd60(0x216)][_0x5abd60(0x1d9)]++,!this[_0x5abd60(0x216)]['errorsByType']['has'](_0x519ac6['type'])&&this[_0x5abd60(0x216)]['errorsByType']['set'](_0x519ac6[_0x5abd60(0x210)],0x0),this[_0x5abd60(0x216)][_0x5abd60(0x235)]['set'](_0x519ac6[_0x5abd60(0x210)],this['errorStats']['errorsByType']['get'](_0x519ac6[_0x5abd60(0x210)])+0x1),_0x519ac6['agentId']&&(!this['errorStats'][_0x5abd60(0x21b)]['has'](_0x519ac6[_0x5abd60(0x226)])&&this[_0x5abd60(0x216)]['errorsByAgent'][_0x5abd60(0x1ce)](_0x519ac6[_0x5abd60(0x226)],0x0),this[_0x5abd60(0x216)][_0x5abd60(0x21b)][_0x5abd60(0x1ce)](_0x519ac6[_0x5abd60(0x226)],this['errorStats'][_0x5abd60(0x21b)]['get'](_0x519ac6[_0x5abd60(0x226)])+0x1));}['subscribe'](_0x5107a1){const _0xb104a2=a0_0x5a53d0;return this[_0xb104a2(0x23c)][_0xb104a2(0x1f8)](_0x5107a1),()=>this[_0xb104a2(0x23c)][_0xb104a2(0x1ec)](_0x5107a1);}['notifySubscribers'](_0x17ac17,_0x4038a5){const _0x168ce8=a0_0x5a53d0;this['errorSubscribers'][_0x168ce8(0x1dd)](_0x3c708b=>{const _0x1a7492=_0x168ce8;try{_0x3c708b(_0x17ac17,_0x4038a5);}catch(_0x384db9){this['logger'][_0x1a7492(0x23d)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x384db9['message']});}});}[a0_0x5a53d0(0x21c)](){const _0x376044=a0_0x5a53d0;return _0x376044(0x1cf)+Date[_0x376044(0x203)]()+'_'+Math[_0x376044(0x214)]()[_0x376044(0x21d)](0x24)[_0x376044(0x1f5)](0x2,0x9);}[a0_0x5a53d0(0x23a)](){const _0x579292=a0_0x5a53d0;return{'totalErrors':this['errorStats']['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats']['errorsByType']),'errorsByAgent':Object[_0x579292(0x1f7)](this['errorStats'][_0x579292(0x21b)]),'recoveryAttempts':this['errorStats'][_0x579292(0x1e7)],'successfulRecoveries':this[_0x579292(0x216)][_0x579292(0x23f)],'recoverySuccessRate':this['errorStats'][_0x579292(0x1e7)]>0x0?this[_0x579292(0x216)]['successfulRecoveries']/this['errorStats'][_0x579292(0x1e7)]:0x0,'criticalErrors':this[_0x579292(0x216)]['criticalErrors'],'queueLength':this['errorQueue'][_0x579292(0x202)]};}[a0_0x5a53d0(0x1d6)](){const _0x29703f=a0_0x5a53d0;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x29703f(0x1d1)]=[];}}export default ErrorHandler;function a0_0x1820(){const _0x310ca6=['BM93','uevstuLtu0LptL9eru5jruq','vKfmsurbveLptL9fuLjpuG','C2v2zxjPDhK','Aw5MBW','CMv0CNLdB3vUDa','C3vJy2vZCW','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','CMvJB3zLCNLtDhjHDgvNAwvZ','y29UzMLN','mJyXvfjisefx','Bg9Nz2vY','ndi4mtjiq3LwzxO','DhLWzq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','Dw5KzwzPBMvK','Bg9NrxjYB3i','CMfUzg9T','AgfUzgXLrxjYB3i','zxjYB3jtDgf0CW','Dw5JyxvNAhrfEgnLChrPB24','y2fSy3vSyxrLuMv0CNLezwXHEq','ru5pru5u','y29Kzq','zxjYB3jZqNLbz2vUDa','z2vUzxjHDgvfCNjVCKLK','Dg9tDhjPBMC','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','CMvJB3zLCG','mJy4nti2neXvy1znAW','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','nda0otrAB0D5wMK','y3jPDgLJywW','rKLmrv9ot1rFrK9vtKq','BM90Awz5u3vIC2nYAwjLCNm','ywDLBNrjza','zgv0zxjTAw5Lu2v2zxjPDhK','BwvZC2fNzq','z2v0','C3rHDhvZ','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','otCXmZK1mLvvrwrkEq','m1fSwvvOqq','Cg93','ChjVy2vZC0vYCM9YuxvLDwu','mti0nxLkCKf4sW','zgv0zxjTAw5LrxjYB3juExbL','ChjVy2vZC0vYCM9Y','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','B3bLCMf0Aw9Uswq','zxjYB3jZqNLuExbL','AgLNAa','C3bSAwnL','C3rHy2S','DgLTzwqGB3v0','z2v0rxjYB3jtDgf0CW','ve9px01btLLFuKvrvuvtvfm','zxjYB3jtDwjZy3jPyMvYCW','zxjYB3i','yxr0zw1WDfjLy292zxj5','C3vJy2vZC2z1BfjLy292zxjPzxm','Bwf4uMv0CMLLCW','y29UzMLNDxjHDgLVBG','tM8GzMLSzsbWyxrOihbYB3zPzgvK','Dg9VBeLK','Bg93','zw1PDa','Aw5JBhvKzxm','C2v0','zxjYxW','rxjYB3iGBg9Nz2LUzYbMywLSzwq','zxjYB3jrDwv1zq','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','DgLTzw91Da','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','y2XLyxjfCNjVCLn0yxrZ','BwLU','qvvusevoveLdqvrjt05FrKfjteve','Dg90ywXfCNjVCNm','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','uKfurv9msu1jvf9fwenfrurfra','nti0mJa1nM5LquHlqW','zM9YrwfJAa','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','B3bLCMf0Aw9U','nti5ntCWBMn6wNvk','y3jPDgLJywXfCNjVCNm','t1bfuKfusu9ox1rjtuvpvvq','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','AxnqCM9JzxnZAw5NuxvLDwu','ywn0Aw9U','CMvJB3zLCNLbDhrLBxb0CW','BMfTzq','y29UDgv4Da','CMvJB3zLCMfIBgu','zgvSyxLFCMv0CNK','zgvSzxrL','z2v0twf4uMv0CMLLCW','otGZotuYEgTrExHH','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','q09orKLhvvjbveLptL9fuLjpuG','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','BwvKAxvT','qxv0AgvUDgLJyxrPB24GzMfPBhvYzsbKzxrLy3rLza','C2v0DxbfCNjVCLbYB2nLC3nPBMC','C3vIC3rY','CgvYBwLZC2LVBL9YzwnVDMvYEq','zNjVBuvUDhjPzxm','ywrK','y2XHC3nPzNLfCNjVCG','vu5bvvrit1jjwKve','AgfUzgXLq3jPDgLJywXfCNjVCG','Dg9mB3DLCKnHC2u','D2fYBG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','DxbKyxrLrxjYB3jtDgf0CW','tK9ux0zpvu5e','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','BgvUz3rO'];a0_0x1820=function(){return _0x310ca6;};return a0_0x1820();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x285477=a0_0x881e;(function(_0x2f069,_0x440a05){const _0x2cb3d0=a0_0x881e,_0x5d29b5=_0x2f069();while(!![]){try{const _0x5949c4=-parseInt(_0x2cb3d0(0xa7))/0x1+-parseInt(_0x2cb3d0(0x8b))/0x2+-parseInt(_0x2cb3d0(0xaa))/0x3+parseInt(_0x2cb3d0(0x99))/0x4+parseInt(_0x2cb3d0(0x82))/0x5+-parseInt(_0x2cb3d0(0x81))/0x6*(parseInt(_0x2cb3d0(0x8e))/0x7)+parseInt(_0x2cb3d0(0xae))/0x8*(parseInt(_0x2cb3d0(0x72))/0x9);if(_0x5949c4===_0x440a05)break;else _0x5d29b5['push'](_0x5d29b5['shift']());}catch(_0x3081f0){_0x5d29b5['push'](_0x5d29b5['shift']());}}}(a0_0x2a3e,0x3143d));import a0_0x49a6d4 from'path';import{fileURLToPath}from'url';function a0_0x2a3e(){const _0x9720dc=['u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','mJmXodG1y25byMH6','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','ywDLBNrszwzZ','Aw5KzxG','Dg9ju09tDhjPBMC','zxjYB3i','CMvMzxjLBMnLzej5','zgvSzxrLqxr0ywnOBwvUDa','DxrMoa','z2v0qxr0ywnOBwvUDenVBNrLBNq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','rxjYB3iGC2f2Aw5NigLUzgv4','rMLSzsbUB3qGzM91BMq6ia','DMfSAwq','zMLSzvbYB2nLC3nVCG','ndC4mJzsyvDyCgm','mtu0ntG1mgPpDw1oyG','Bg9HzeLUzgv4','D3jPDgvgAwXL','vMfSAwrHDgLVBIbMywLSzwq6ia','y29UzMLN','Bw9Kzq','C3rHCNrZv2L0Aa','CMvHzezPBgu','Bwv0ywrHDgeUANnVBG','nJuYmZq0rKDnquHW','z2v0qxr0ywnOBwvUDhm','Bg94AweTC3rHDgu','mte5vg9iz3nc','zxjYB3jZ','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','z2v0qxr0ywnOBwvUDa','C2f2zuLUzgv4','yxr0ywnOBwvUDhm','D2fYBMLUz3m','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','y29UDgvUDc5IyxnLnJq','BgvUz3rO','Aw5PDgLHBgL6zq','mtu1ntKZnKjpCevSwq','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','C3rYAw5NAwz5','y3DK','zMLSzuv4Axn0CW','Aw1Hz2u','BgfZDe1VzgLMAwvK','BwvZC2fNzq','zxH0BMfTzq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50','Bg9Nz2vY','z2v0twLTzvr5Cgu','y3jLyxrLrgLYzwn0B3j5','y29UDgvUDc50Ehq','ndy2mJztBLLRqNy','ywn0AxzL','zMLSDgvY','mtK2mdy1zgzkCgLZ','ywDLBNrjza','C2L6zq','lI4U','mJrJAfHcrui','AM9PBG','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','DMfSAwrHDg9Y','zMLSzu5HBwu','z2v0q29UDgvUDfr5Cgu','Aw5MBW','y29UDgvUDa'];a0_0x2a3e=function(){return _0x9720dc;};return a0_0x2a3e();}import{randomUUID}from'crypto';import a0_0x24b8e7 from'../utilities/fileProcessor.js';import a0_0x1e1b9a from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x49a6d4['dirname'](__filename),ATTACHMENTS_DIR=a0_0x49a6d4['join'](process[a0_0x285477(0x9c)](),a0_0x285477(0x8d),a0_0x285477(0x93)),INDEX_FILE=a0_0x49a6d4[a0_0x285477(0xaf)](ATTACHMENTS_DIR,a0_0x285477(0x95));function a0_0x881e(_0x235ffb,_0x20d8b7){_0x235ffb=_0x235ffb-0x6f;const _0x2a3ec4=a0_0x2a3e();let _0x881e3e=_0x2a3ec4[_0x235ffb];if(a0_0x881e['fbmRcp']===undefined){var _0xaaed=function(_0x48e57c){const _0x1114a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49a6d4='',_0x24b8e7='';for(let _0x1e1b9a=0x0,_0x4e6ae3,_0x377d58,_0x29d3ce=0x0;_0x377d58=_0x48e57c['charAt'](_0x29d3ce++);~_0x377d58&&(_0x4e6ae3=_0x1e1b9a%0x4?_0x4e6ae3*0x40+_0x377d58:_0x377d58,_0x1e1b9a++%0x4)?_0x49a6d4+=String['fromCharCode'](0xff&_0x4e6ae3>>(-0x2*_0x1e1b9a&0x6)):0x0){_0x377d58=_0x1114a5['indexOf'](_0x377d58);}for(let _0x5dfd57=0x0,_0x5a86e9=_0x49a6d4['length'];_0x5dfd57<_0x5a86e9;_0x5dfd57++){_0x24b8e7+='%'+('00'+_0x49a6d4['charCodeAt'](_0x5dfd57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24b8e7);};a0_0x881e['ayqGVF']=_0xaaed,a0_0x881e['ymuQEh']={},a0_0x881e['fbmRcp']=!![];}const _0x3ea5e0=_0x2a3ec4[0x0],_0xa82c3f=_0x235ffb+_0x3ea5e0,_0x442673=a0_0x881e['ymuQEh'][_0xa82c3f];return!_0x442673?(_0x881e3e=a0_0x881e['ayqGVF'](_0x881e3e),a0_0x881e['ymuQEh'][_0xa82c3f]=_0x881e3e):_0x881e3e=_0x442673,_0x881e3e;}class FileAttachmentService{constructor(_0x4e6ae3={},_0x377d58=null){const _0x263b9a=a0_0x285477;this[_0x263b9a(0x86)]=_0x4e6ae3,this['logger']=_0x377d58,this['fileProcessor']=new a0_0x24b8e7(_0x4e6ae3,_0x377d58),this['validator']=new a0_0x1e1b9a(_0x4e6ae3,_0x377d58),this['index']=null;}async[a0_0x285477(0x98)](){const _0x5c486c=a0_0x285477;try{await this[_0x5c486c(0x80)]['createDirectory'](ATTACHMENTS_DIR),await this[_0x5c486c(0x83)](),this[_0x5c486c(0xa3)]?.['info']('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x29d3ce){this['logger']?.[_0x5c486c(0x77)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x29d3ce['message']});throw _0x29d3ce;}}async[a0_0x285477(0x83)](){const _0x479098=a0_0x285477;try{const _0x5dfd57=await this['fileProcessor'][_0x479098(0x9d)](INDEX_FILE);if(!_0x5dfd57)this['index']={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x5a86e9=await this[_0x479098(0x80)]['readFile'](INDEX_FILE,'utf8');this['index']=JSON['parse'](_0x5a86e9);}return this[_0x479098(0x75)];}catch(_0x31f309){return this[_0x479098(0xa3)]?.[_0x479098(0x77)]('Error\x20loading\x20index',{'error':_0x31f309['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async[a0_0x285477(0x92)](){const _0x9c5779=a0_0x285477;try{await this['fileProcessor'][_0x9c5779(0x84)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x30971c){this[_0x9c5779(0xa3)]?.[_0x9c5779(0x77)](_0x9c5779(0x7d),{'error':_0x30971c['message']});throw _0x30971c;}}async['uploadFile']({agentId:_0x45a190,filePath:_0x5b248a,mode:mode='content',fileName:fileName=null}){const _0x29b2ab=a0_0x285477;!this[_0x29b2ab(0x75)]&&await this['loadIndex']();try{const _0x224a8b=await this[_0x29b2ab(0x80)][_0x29b2ab(0x9d)](_0x5b248a);if(!_0x224a8b)throw new Error(_0x29b2ab(0x7e)+_0x5b248a);const _0x119f0d=await this[_0x29b2ab(0x80)]['getFileStats'](_0x5b248a),_0x1ef288=fileName||a0_0x49a6d4['basename'](_0x5b248a),_0x2069ae=a0_0x49a6d4[_0x29b2ab(0xa1)](_0x1ef288),_0x38c15f=this['validator']['validate']({'fileName':_0x1ef288,'size':_0x119f0d[_0x29b2ab(0xac)],'mode':mode,'path':mode==='reference'?_0x5b248a:null});if(!_0x38c15f[_0x29b2ab(0x7f)])throw new Error(_0x29b2ab(0x85)+_0x38c15f[_0x29b2ab(0x8f)]['join'](',\x20'));const _0x532552=randomUUID(),_0x1a3ddc=await this['fileProcessor']['calculateHash'](_0x5b248a),_0x2c60b6=this[_0x29b2ab(0xb1)][_0x29b2ab(0xb3)](_0x1ef288),_0x22acc1=a0_0x49a6d4[_0x29b2ab(0xaf)](ATTACHMENTS_DIR,_0x45a190,_0x532552);await this[_0x29b2ab(0x80)][_0x29b2ab(0xa5)](_0x22acc1);let _0x2b0abe=0x0,_0x3902ad=null;if(mode==='content'){const processResult=await this[_0x29b2ab(0x80)]['processFile'](_0x5b248a,_0x2c60b6),_0x4adbaa=processResult[_0x29b2ab(0x70)];if(_0x2c60b6==='text')_0x3902ad=_0x29b2ab(0xa6);else{if(_0x2c60b6===_0x29b2ab(0x9e))_0x3902ad=_0x29b2ab(0x96);else _0x2c60b6==='pdf'&&(_0x3902ad='content.txt');}const _0x5a7e0c=a0_0x49a6d4['join'](_0x22acc1,_0x3902ad);await this['fileProcessor']['writeFile'](_0x5a7e0c,_0x4adbaa,_0x29b2ab(0x7a)),_0x2b0abe=this['fileProcessor']['estimateTokens'](_0x4adbaa);}const _0xa3551={'fileId':_0x532552,'agentId':_0x45a190,'fileName':_0x1ef288,'originalPath':_0x5b248a,'fileType':this[_0x29b2ab(0xb1)][_0x29b2ab(0xa4)](_0x1ef288),'fileExtension':_0x2069ae,'size':_0x119f0d['size'],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x29b2ab(0x76)](),'lastModified':_0x119f0d['modified'][_0x29b2ab(0x76)](),'hash':_0x1a3ddc,'tokenEstimate':_0x2b0abe,'contentType':_0x2c60b6,'contentFileName':_0x3902ad,'warnings':_0x38c15f[_0x29b2ab(0x94)],'sizeLevel':_0x38c15f['sizeLevel'],'importedFrom':null,'referencedBy':[_0x45a190]},_0xac67ef=a0_0x49a6d4[_0x29b2ab(0xaf)](_0x22acc1,'metadata.json');return await this[_0x29b2ab(0x80)][_0x29b2ab(0x84)](_0xac67ef,JSON[_0x29b2ab(0x9b)](_0xa3551,null,0x2),'utf8'),this['index']['attachments'][_0x532552]={'fileId':_0x532552,'agentId':_0x45a190,'fileName':_0x1ef288,'mode':mode,'active':_0xa3551['active'],'referencedBy':_0xa3551['referencedBy']},!this['index']['agentRefs'][_0x45a190]&&(this[_0x29b2ab(0x75)][_0x29b2ab(0x74)][_0x45a190]=[]),this['index'][_0x29b2ab(0x74)][_0x45a190]['push'](_0x532552),await this['saveIndex'](),this['logger']?.[_0x29b2ab(0x6f)]('File\x20uploaded',{'fileId':_0x532552,'agentId':_0x45a190,'fileName':_0x1ef288,'mode':mode}),_0xa3551;}catch(_0x106cf4){this[_0x29b2ab(0xa3)]?.[_0x29b2ab(0x77)]('Error\x20uploading\x20file',{'agentId':_0x45a190,'filePath':_0x5b248a,'error':_0x106cf4['message']});throw _0x106cf4;}}async[a0_0x285477(0x8c)](_0x59bf77,_0x4682f4={}){const _0x304058=a0_0x285477;!this['index']&&await this[_0x304058(0x83)]();try{const _0x427567=this[_0x304058(0x75)]['agentRefs'][_0x59bf77]||[],_0x428999=[];for(const _0x45df39 of _0x427567){const _0x430ed5=await this[_0x304058(0x91)](_0x45df39);if(_0x430ed5){if(_0x4682f4[_0x304058(0xa8)]!==undefined&&_0x430ed5[_0x304058(0xa8)]!==_0x4682f4['active'])continue;if(_0x4682f4[_0x304058(0x87)]&&_0x430ed5['mode']!==_0x4682f4['mode'])continue;_0x428999['push'](_0x430ed5);}}return _0x428999;}catch(_0x5e1f69){this['logger']?.['error']('Error\x20getting\x20attachments',{'agentId':_0x59bf77,'error':_0x5e1f69[_0x304058(0xa0)]});throw _0x5e1f69;}}async[a0_0x285477(0x91)](_0x3ad935){const _0x31d9fb=a0_0x285477;!this[_0x31d9fb(0x75)]&&await this['loadIndex']();try{const _0x226aaa=this[_0x31d9fb(0x75)][_0x31d9fb(0x93)][_0x3ad935];if(!_0x226aaa)return null;const _0xca6ccf=a0_0x49a6d4[_0x31d9fb(0xaf)](ATTACHMENTS_DIR,_0x226aaa[_0x31d9fb(0xab)],_0x3ad935,_0x31d9fb(0x8a)),_0x2e36ab=await this[_0x31d9fb(0x80)][_0x31d9fb(0x9d)](_0xca6ccf);if(!_0x2e36ab)return this[_0x31d9fb(0xa3)]?.['warn'](_0x31d9fb(0x9a),{'fileId':_0x3ad935}),null;const _0x3e3535=await this['fileProcessor'][_0x31d9fb(0x89)](_0xca6ccf,'utf8');return JSON['parse'](_0x3e3535);}catch(_0x10e5e3){return this['logger']?.['error'](_0x31d9fb(0xa2),{'fileId':_0x3ad935,'error':_0x10e5e3['message']}),null;}}async['getAttachmentContent'](_0x45da6e){const _0x19f140=a0_0x285477;try{const _0x3bb890=await this['getAttachment'](_0x45da6e);if(!_0x3bb890||_0x3bb890['mode']!==_0x19f140(0x70))return null;const _0x5e3623=a0_0x49a6d4['join'](ATTACHMENTS_DIR,_0x3bb890[_0x19f140(0xab)],_0x45da6e,_0x3bb890['contentFileName']),_0x19635c=await this[_0x19f140(0x80)][_0x19f140(0x9d)](_0x5e3623);if(!_0x19635c)return null;return await this[_0x19f140(0x80)][_0x19f140(0x89)](_0x5e3623,_0x19f140(0x7a));}catch(_0x198eec){return this['logger']?.[_0x19f140(0x77)](_0x19f140(0x7c),{'fileId':_0x45da6e,'error':_0x198eec[_0x19f140(0xa0)]}),null;}}async['toggleActive'](_0x5dfdcf){const _0x2972dc=a0_0x285477;try{const _0x36c79f=await this[_0x2972dc(0x91)](_0x5dfdcf);if(!_0x36c79f)throw new Error('Attachment\x20not\x20found:\x20'+_0x5dfdcf);_0x36c79f['active']=!_0x36c79f['active'],_0x36c79f[_0x2972dc(0x9f)]=new Date()['toISOString']();const _0x2d3d32=a0_0x49a6d4['join'](ATTACHMENTS_DIR,_0x36c79f['agentId'],_0x5dfdcf,'metadata.json');return await this[_0x2972dc(0x80)]['writeFile'](_0x2d3d32,JSON['stringify'](_0x36c79f,null,0x2),'utf8'),this[_0x2972dc(0x75)]['attachments'][_0x5dfdcf]&&(this[_0x2972dc(0x75)]['attachments'][_0x5dfdcf]['active']=_0x36c79f[_0x2972dc(0xa8)],await this['saveIndex']()),this['logger']?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x5dfdcf,'active':_0x36c79f[_0x2972dc(0xa8)]}),_0x36c79f;}catch(_0x17c14b){this['logger']?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x5dfdcf,'error':_0x17c14b[_0x2972dc(0xa0)]});throw _0x17c14b;}}async['updateAttachment'](_0x1ca40d,_0x167353){const _0x49bf66=a0_0x285477;try{const _0x1609af=await this['getAttachment'](_0x1ca40d);if(!_0x1609af)throw new Error('Attachment\x20not\x20found:\x20'+_0x1ca40d);const _0x14fa51=[_0x49bf66(0xb2),'active'];for(const _0x20ce01 of _0x14fa51){_0x167353[_0x20ce01]!==undefined&&(_0x1609af[_0x20ce01]=_0x167353[_0x20ce01]);}_0x1609af['lastModified']=new Date()[_0x49bf66(0x76)]();const _0x221104=a0_0x49a6d4[_0x49bf66(0xaf)](ATTACHMENTS_DIR,_0x1609af[_0x49bf66(0xab)],_0x1ca40d,'metadata.json');return await this[_0x49bf66(0x80)]['writeFile'](_0x221104,JSON[_0x49bf66(0x9b)](_0x1609af,null,0x2),'utf8'),this[_0x49bf66(0x75)]['attachments'][_0x1ca40d]&&(_0x167353['fileName']&&(this['index']['attachments'][_0x1ca40d][_0x49bf66(0xb2)]=_0x167353[_0x49bf66(0xb2)]),_0x167353[_0x49bf66(0xa8)]!==undefined&&(this['index']['attachments'][_0x1ca40d][_0x49bf66(0xa8)]=_0x167353[_0x49bf66(0xa8)]),await this[_0x49bf66(0x92)]()),this['logger']?.['info']('Attachment\x20updated',{'fileId':_0x1ca40d,'updates':_0x167353}),_0x1609af;}catch(_0x234c3d){this[_0x49bf66(0xa3)]?.[_0x49bf66(0x77)](_0x49bf66(0x90),{'fileId':_0x1ca40d,'error':_0x234c3d['message']});throw _0x234c3d;}}async[a0_0x285477(0x79)](_0x3e0102,_0xf3a523){const _0x46aaab=a0_0x285477;try{const _0x3b6320=await this[_0x46aaab(0x91)](_0x3e0102);if(!_0x3b6320)throw new Error(_0x46aaab(0xb0)+_0x3e0102);_0x3b6320[_0x46aaab(0x78)]=_0x3b6320[_0x46aaab(0x78)]['filter'](_0x4aafa5=>_0x4aafa5!==_0xf3a523);if(_0x3b6320['referencedBy'][_0x46aaab(0x97)]>0x0){const _0x284c61=a0_0x49a6d4[_0x46aaab(0xaf)](ATTACHMENTS_DIR,_0x3b6320[_0x46aaab(0xab)],_0x3e0102,_0x46aaab(0x8a));return await this['fileProcessor'][_0x46aaab(0x84)](_0x284c61,JSON[_0x46aaab(0x9b)](_0x3b6320,null,0x2),_0x46aaab(0x7a)),this[_0x46aaab(0x75)][_0x46aaab(0x93)][_0x3e0102]&&(this[_0x46aaab(0x75)]['attachments'][_0x3e0102][_0x46aaab(0x78)]=_0x3b6320['referencedBy']),this[_0x46aaab(0x75)][_0x46aaab(0x74)][_0xf3a523]&&(this['index'][_0x46aaab(0x74)][_0xf3a523]=this['index']['agentRefs'][_0xf3a523][_0x46aaab(0xa9)](_0x538dba=>_0x538dba!==_0x3e0102)),await this[_0x46aaab(0x92)](),this[_0x46aaab(0xa3)]?.['info']('Attachment\x20dereferenced',{'fileId':_0x3e0102,'agentId':_0xf3a523,'remainingRefs':_0x3b6320[_0x46aaab(0x78)][_0x46aaab(0x97)]}),![];}const _0x4141ae=a0_0x49a6d4[_0x46aaab(0xaf)](ATTACHMENTS_DIR,_0x3b6320[_0x46aaab(0xab)],_0x3e0102);return await this['fileProcessor']['deleteDirectory'](_0x4141ae),delete this['index'][_0x46aaab(0x93)][_0x3e0102],this[_0x46aaab(0x75)]['agentRefs'][_0xf3a523]&&(this[_0x46aaab(0x75)]['agentRefs'][_0xf3a523]=this[_0x46aaab(0x75)]['agentRefs'][_0xf3a523]['filter'](_0x2bdef2=>_0x2bdef2!==_0x3e0102)),await this[_0x46aaab(0x92)](),this[_0x46aaab(0xa3)]?.['info']('Attachment\x20deleted',{'fileId':_0x3e0102,'agentId':_0xf3a523}),!![];}catch(_0x323a3a){this[_0x46aaab(0xa3)]?.['error']('Error\x20deleting\x20attachment',{'fileId':_0x3e0102,'agentId':_0xf3a523,'error':_0x323a3a[_0x46aaab(0xa0)]});throw _0x323a3a;}}async['deleteAgentAttachments'](_0x266e4a){const _0x43b92a=a0_0x285477;try{const _0x5f34a0=this[_0x43b92a(0x75)]['agentRefs'][_0x266e4a]||[];let _0x220ad4=0x0,_0x4f088d=0x0;for(const _0x6b0dfb of _0x5f34a0){const _0x1c3a56=await this['deleteAttachment'](_0x6b0dfb,_0x266e4a);_0x1c3a56?_0x220ad4++:_0x4f088d++;}return this[_0x43b92a(0xa3)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x266e4a,'deleted':_0x220ad4,'dereferenced':_0x4f088d}),{'deleted':_0x220ad4,'dereferenced':_0x4f088d};}catch(_0x28a9a6){this[_0x43b92a(0xa3)]?.[_0x43b92a(0x77)](_0x43b92a(0x73),{'agentId':_0x266e4a,'error':_0x28a9a6['message']});throw _0x28a9a6;}}async['importFromAgent'](_0x4e6867,_0x5a243c){const _0x579245=a0_0x285477;try{const _0x170a8c=await this['getAttachment'](_0x4e6867);if(!_0x170a8c)throw new Error(_0x579245(0x71)+_0x4e6867);!_0x170a8c[_0x579245(0x78)]['includes'](_0x5a243c)&&_0x170a8c[_0x579245(0x78)]['push'](_0x5a243c);_0x170a8c[_0x579245(0x9f)]=new Date()[_0x579245(0x76)](),_0x170a8c['importedFrom']=_0x170a8c[_0x579245(0xab)];const _0x3c3dfe=a0_0x49a6d4[_0x579245(0xaf)](ATTACHMENTS_DIR,_0x170a8c['agentId'],_0x4e6867,_0x579245(0x8a));return await this['fileProcessor'][_0x579245(0x84)](_0x3c3dfe,JSON[_0x579245(0x9b)](_0x170a8c,null,0x2),_0x579245(0x7a)),this[_0x579245(0x75)]['attachments'][_0x4e6867]&&(this[_0x579245(0x75)]['attachments'][_0x4e6867]['referencedBy']=_0x170a8c[_0x579245(0x78)]),!this['index'][_0x579245(0x74)][_0x5a243c]&&(this['index']['agentRefs'][_0x5a243c]=[]),!this['index'][_0x579245(0x74)][_0x5a243c]['includes'](_0x4e6867)&&this[_0x579245(0x75)][_0x579245(0x74)][_0x5a243c]['push'](_0x4e6867),await this[_0x579245(0x92)](),this['logger']?.['info']('Attachment imported',{'sourceFileId':_0x4e6867,'targetAgentId':_0x5a243c}),_0x170a8c;}catch(_0xfea89){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x4e6867,'targetAgentId':_0x5a243c,'error':_0xfea89[_0x579245(0xa0)]});throw _0xfea89;}}async['getActiveAttachments'](_0x31da20){return await this['getAttachments'](_0x31da20,{'active':!![]});}async['getAttachmentPreview'](_0x3ac4bc){const _0x16f912=a0_0x285477;try{const _0x2696dd=await this[_0x16f912(0x7b)](_0x3ac4bc);if(!_0x2696dd)return null;if(_0x2696dd[_0x16f912(0x88)]('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x2696dd[_0x16f912(0x97)]>0x3e8?_0x2696dd['substring'](0x0,0x3e8)+_0x16f912(0xad):_0x2696dd;}catch(_0x40aba1){return this['logger']?.[_0x16f912(0x77)]('Error\x20getting\x20attachment\x20preview',{'fileId':_0x3ac4bc,'error':_0x40aba1['message']}),null;}}}export default FileAttachmentService;
|
|
1
|
+
const a0_0x1e278a=a0_0x5d5b;(function(_0x33f575,_0x3daea7){const _0x2cbd9c=a0_0x5d5b,_0x7fa046=_0x33f575();while(!![]){try{const _0x552e94=-parseInt(_0x2cbd9c(0x1d7))/0x1+parseInt(_0x2cbd9c(0x1cb))/0x2+-parseInt(_0x2cbd9c(0x1bf))/0x3*(-parseInt(_0x2cbd9c(0x1c1))/0x4)+parseInt(_0x2cbd9c(0x1a7))/0x5+parseInt(_0x2cbd9c(0x19f))/0x6+-parseInt(_0x2cbd9c(0x1b3))/0x7*(-parseInt(_0x2cbd9c(0x1d8))/0x8)+parseInt(_0x2cbd9c(0x1d6))/0x9*(-parseInt(_0x2cbd9c(0x1aa))/0xa);if(_0x552e94===_0x3daea7)break;else _0x7fa046['push'](_0x7fa046['shift']());}catch(_0x3f525d){_0x7fa046['push'](_0x7fa046['shift']());}}}(a0_0x54cc,0x76ba5));import a0_0x74f4c from'path';import{fileURLToPath}from'url';import{randomUUID}from'crypto';import a0_0x490647 from'../utilities/fileProcessor.js';function a0_0x5d5b(_0x41f18f,_0x573e7e){_0x41f18f=_0x41f18f-0x18f;const _0x54cc34=a0_0x54cc();let _0x5d5be0=_0x54cc34[_0x41f18f];if(a0_0x5d5b['azMnZa']===undefined){var _0x1f45be=function(_0x54daff){const _0x3598aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x74f4c='',_0x490647='';for(let _0x38ccdd=0x0,_0x25ba10,_0x234ac1,_0x4233d9=0x0;_0x234ac1=_0x54daff['charAt'](_0x4233d9++);~_0x234ac1&&(_0x25ba10=_0x38ccdd%0x4?_0x25ba10*0x40+_0x234ac1:_0x234ac1,_0x38ccdd++%0x4)?_0x74f4c+=String['fromCharCode'](0xff&_0x25ba10>>(-0x2*_0x38ccdd&0x6)):0x0){_0x234ac1=_0x3598aa['indexOf'](_0x234ac1);}for(let _0x686998=0x0,_0x18d945=_0x74f4c['length'];_0x686998<_0x18d945;_0x686998++){_0x490647+='%'+('00'+_0x74f4c['charCodeAt'](_0x686998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x490647);};a0_0x5d5b['HlWKwA']=_0x1f45be,a0_0x5d5b['BeeERf']={},a0_0x5d5b['azMnZa']=!![];}const _0x310962=_0x54cc34[0x0],_0x229bcc=_0x41f18f+_0x310962,_0x3a19e2=a0_0x5d5b['BeeERf'][_0x229bcc];return!_0x3a19e2?(_0x5d5be0=a0_0x5d5b['HlWKwA'](_0x5d5be0),a0_0x5d5b['BeeERf'][_0x229bcc]=_0x5d5be0):_0x5d5be0=_0x3a19e2,_0x5d5be0;}import a0_0x38ccdd from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x74f4c[a0_0x1e278a(0x1c8)](__filename),ATTACHMENTS_DIR=a0_0x74f4c[a0_0x1e278a(0x1d2)](process['cwd'](),'loxia-state',a0_0x1e278a(0x1d0)),INDEX_FILE=a0_0x74f4c[a0_0x1e278a(0x1d2)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x25ba10={},_0x234ac1=null){const _0x3e9e7b=a0_0x1e278a;this[_0x3e9e7b(0x1b2)]=_0x25ba10,this['logger']=_0x234ac1,this['fileProcessor']=new a0_0x490647(_0x25ba10,_0x234ac1),this['validator']=new a0_0x38ccdd(_0x25ba10,_0x234ac1),this[_0x3e9e7b(0x1be)]=null;}async['initialize'](){const _0x3744a5=a0_0x1e278a;try{await this[_0x3744a5(0x1dc)]['createDirectory'](ATTACHMENTS_DIR),await this[_0x3744a5(0x1cf)](),this[_0x3744a5(0x1a4)]?.[_0x3744a5(0x1c7)]('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x4233d9){this['logger']?.[_0x3744a5(0x1c2)](_0x3744a5(0x196),{'error':_0x4233d9[_0x3744a5(0x1ba)]});throw _0x4233d9;}}async['loadIndex'](){const _0xc5da42=a0_0x1e278a;try{const _0x686998=await this[_0xc5da42(0x1dc)][_0xc5da42(0x1bc)](INDEX_FILE);if(!_0x686998)this[_0xc5da42(0x1be)]={'attachments':{},'agentRefs':{}},await this[_0xc5da42(0x1b9)]();else{const _0x18d945=await this['fileProcessor']['readFile'](INDEX_FILE,_0xc5da42(0x1da));this['index']=JSON[_0xc5da42(0x195)](_0x18d945);}return this['index'];}catch(_0x359ef5){return this[_0xc5da42(0x1a4)]?.['error']('Error\x20loading\x20index',{'error':_0x359ef5['message']}),this['index']={'attachments':{},'agentRefs':{}},this[_0xc5da42(0x1be)];}}async[a0_0x1e278a(0x1b9)](){const _0x10f9a3=a0_0x1e278a;try{await this['fileProcessor'][_0x10f9a3(0x192)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x3ea8d2){this[_0x10f9a3(0x1a4)]?.['error']('Error\x20saving\x20index',{'error':_0x3ea8d2['message']});throw _0x3ea8d2;}}async[a0_0x1e278a(0x1d5)]({agentId:_0x957711,filePath:_0x8a6c9f,mode:mode=a0_0x1e278a(0x1d9),fileName:fileName=null}){const _0x2c8b64=a0_0x1e278a;!this[_0x2c8b64(0x1be)]&&await this[_0x2c8b64(0x1cf)]();try{const _0x4d62b4=await this[_0x2c8b64(0x1dc)][_0x2c8b64(0x1bc)](_0x8a6c9f);if(!_0x4d62b4)throw new Error('File\x20not\x20found:\x20'+_0x8a6c9f);const _0x51e61f=await this[_0x2c8b64(0x1dc)][_0x2c8b64(0x19a)](_0x8a6c9f),_0x2332d3=fileName||a0_0x74f4c['basename'](_0x8a6c9f),_0x34d504=a0_0x74f4c[_0x2c8b64(0x1cd)](_0x2332d3),_0x25b7a2=this[_0x2c8b64(0x1b6)]['validate']({'fileName':_0x2332d3,'size':_0x51e61f['size'],'mode':mode,'path':mode===_0x2c8b64(0x1c4)?_0x8a6c9f:null});if(!_0x25b7a2['valid'])throw new Error('Validation\x20failed:\x20'+_0x25b7a2[_0x2c8b64(0x19b)]['join'](',\x20'));const _0x276ed3=randomUUID(),_0x16a10a=await this['fileProcessor']['calculateHash'](_0x8a6c9f),_0x1ac6a2=this[_0x2c8b64(0x1b6)][_0x2c8b64(0x1b8)](_0x2332d3),_0xc3ff4d=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0x957711,_0x276ed3);await this['fileProcessor'][_0x2c8b64(0x1a1)](_0xc3ff4d);let _0x620b3e=0x0,_0x4566de=null;if(mode==='content'){const processResult=await this['fileProcessor'][_0x2c8b64(0x1de)](_0x8a6c9f,_0x1ac6a2),_0x2d5b98=processResult[_0x2c8b64(0x1d9)];if(_0x1ac6a2==='text')_0x4566de='content.txt';else{if(_0x1ac6a2===_0x2c8b64(0x1a8))_0x4566de=_0x2c8b64(0x1d4);else _0x1ac6a2===_0x2c8b64(0x197)&&(_0x4566de='content.txt');}const _0x37305e=a0_0x74f4c[_0x2c8b64(0x1d2)](_0xc3ff4d,_0x4566de);await this['fileProcessor'][_0x2c8b64(0x192)](_0x37305e,_0x2d5b98,_0x2c8b64(0x1da)),_0x620b3e=this['fileProcessor'][_0x2c8b64(0x1b5)](_0x2d5b98);}const _0x133f00={'fileId':_0x276ed3,'agentId':_0x957711,'fileName':_0x2332d3,'originalPath':_0x8a6c9f,'fileType':this['validator']['getMimeType'](_0x2332d3),'fileExtension':_0x34d504,'size':_0x51e61f[_0x2c8b64(0x1bb)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x2c8b64(0x1db)](),'lastModified':_0x51e61f['modified']['toISOString'](),'hash':_0x16a10a,'tokenEstimate':_0x620b3e,'contentType':_0x1ac6a2,'contentFileName':_0x4566de,'warnings':_0x25b7a2[_0x2c8b64(0x1cc)],'sizeLevel':_0x25b7a2[_0x2c8b64(0x1af)],'importedFrom':null,'referencedBy':[_0x957711]},_0x34aa9b=a0_0x74f4c['join'](_0xc3ff4d,'metadata.json');return await this[_0x2c8b64(0x1dc)]['writeFile'](_0x34aa9b,JSON[_0x2c8b64(0x1ca)](_0x133f00,null,0x2),_0x2c8b64(0x1da)),this[_0x2c8b64(0x1be)]['attachments'][_0x276ed3]={'fileId':_0x276ed3,'agentId':_0x957711,'fileName':_0x2332d3,'mode':mode,'active':_0x133f00[_0x2c8b64(0x1ae)],'referencedBy':_0x133f00[_0x2c8b64(0x1b0)]},!this[_0x2c8b64(0x1be)][_0x2c8b64(0x1c0)][_0x957711]&&(this[_0x2c8b64(0x1be)]['agentRefs'][_0x957711]=[]),this[_0x2c8b64(0x1be)]['agentRefs'][_0x957711]['push'](_0x276ed3),await this[_0x2c8b64(0x1b9)](),this['logger']?.[_0x2c8b64(0x1c7)]('File\x20uploaded',{'fileId':_0x276ed3,'agentId':_0x957711,'fileName':_0x2332d3,'mode':mode}),_0x133f00;}catch(_0x207cb9){this['logger']?.['error'](_0x2c8b64(0x19c),{'agentId':_0x957711,'filePath':_0x8a6c9f,'error':_0x207cb9['message']});throw _0x207cb9;}}async['getAttachments'](_0x1b8966,_0x573072={}){const _0x859fc6=a0_0x1e278a;!this[_0x859fc6(0x1be)]&&await this['loadIndex']();try{const _0x2c21e1=this['index'][_0x859fc6(0x1c0)][_0x1b8966]||[],_0xaeb293=[];for(const _0x3e1df0 of _0x2c21e1){const _0x1bf292=await this[_0x859fc6(0x190)](_0x3e1df0);if(_0x1bf292){if(_0x573072[_0x859fc6(0x1ae)]!==undefined&&_0x1bf292['active']!==_0x573072['active'])continue;if(_0x573072[_0x859fc6(0x1bd)]&&_0x1bf292['mode']!==_0x573072['mode'])continue;_0xaeb293[_0x859fc6(0x18f)](_0x1bf292);}}return _0xaeb293;}catch(_0x44d0bd){this[_0x859fc6(0x1a4)]?.['error'](_0x859fc6(0x1c6),{'agentId':_0x1b8966,'error':_0x44d0bd[_0x859fc6(0x1ba)]});throw _0x44d0bd;}}async['getAttachment'](_0xd0ab07){const _0xf90e76=a0_0x1e278a;!this[_0xf90e76(0x1be)]&&await this[_0xf90e76(0x1cf)]();try{const _0xc35016=this[_0xf90e76(0x1be)]['attachments'][_0xd0ab07];if(!_0xc35016)return null;const _0x4cfde7=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0xc35016[_0xf90e76(0x1b1)],_0xd0ab07,_0xf90e76(0x1a9)),_0xca536c=await this[_0xf90e76(0x1dc)]['fileExists'](_0x4cfde7);if(!_0xca536c)return this[_0xf90e76(0x1a4)]?.['warn'](_0xf90e76(0x1ac),{'fileId':_0xd0ab07}),null;const _0x368978=await this[_0xf90e76(0x1dc)]['readFile'](_0x4cfde7,'utf8');return JSON['parse'](_0x368978);}catch(_0x59fdd2){return this[_0xf90e76(0x1a4)]?.['error']('Error\x20getting\x20attachment',{'fileId':_0xd0ab07,'error':_0x59fdd2[_0xf90e76(0x1ba)]}),null;}}async[a0_0x1e278a(0x194)](_0x2d3aee){const _0x45bae9=a0_0x1e278a;try{const _0x5964fe=await this[_0x45bae9(0x190)](_0x2d3aee);if(!_0x5964fe||_0x5964fe['mode']!==_0x45bae9(0x1d9))return null;const _0x40cf0a=a0_0x74f4c[_0x45bae9(0x1d2)](ATTACHMENTS_DIR,_0x5964fe['agentId'],_0x2d3aee,_0x5964fe[_0x45bae9(0x19d)]),_0x5a351b=await this[_0x45bae9(0x1dc)]['fileExists'](_0x40cf0a);if(!_0x5a351b)return null;return await this[_0x45bae9(0x1dc)][_0x45bae9(0x19e)](_0x40cf0a,_0x45bae9(0x1da));}catch(_0x3df4b4){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0x2d3aee,'error':_0x3df4b4['message']}),null;}}async['toggleActive'](_0x34ffd2){const _0x2ef363=a0_0x1e278a;try{const _0x4b2925=await this['getAttachment'](_0x34ffd2);if(!_0x4b2925)throw new Error(_0x2ef363(0x1a6)+_0x34ffd2);_0x4b2925[_0x2ef363(0x1ae)]=!_0x4b2925['active'],_0x4b2925[_0x2ef363(0x1d1)]=new Date()['toISOString']();const _0x20c141=a0_0x74f4c[_0x2ef363(0x1d2)](ATTACHMENTS_DIR,_0x4b2925['agentId'],_0x34ffd2,'metadata.json');return await this['fileProcessor'][_0x2ef363(0x192)](_0x20c141,JSON['stringify'](_0x4b2925,null,0x2),'utf8'),this[_0x2ef363(0x1be)]['attachments'][_0x34ffd2]&&(this['index']['attachments'][_0x34ffd2][_0x2ef363(0x1ae)]=_0x4b2925[_0x2ef363(0x1ae)],await this[_0x2ef363(0x1b9)]()),this[_0x2ef363(0x1a4)]?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x34ffd2,'active':_0x4b2925['active']}),_0x4b2925;}catch(_0x43e565){this[_0x2ef363(0x1a4)]?.['error'](_0x2ef363(0x1c9),{'fileId':_0x34ffd2,'error':_0x43e565['message']});throw _0x43e565;}}async[a0_0x1e278a(0x1a3)](_0x4aa1c3,_0x39e6c9){const _0x33c934=a0_0x1e278a;try{const _0x4998b6=await this['getAttachment'](_0x4aa1c3);if(!_0x4998b6)throw new Error(_0x33c934(0x1a6)+_0x4aa1c3);const _0x36c308=[_0x33c934(0x198),'active'];for(const _0x46ad40 of _0x36c308){_0x39e6c9[_0x46ad40]!==undefined&&(_0x4998b6[_0x46ad40]=_0x39e6c9[_0x46ad40]);}_0x4998b6[_0x33c934(0x1d1)]=new Date()['toISOString']();const _0x39829a=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0x4998b6[_0x33c934(0x1b1)],_0x4aa1c3,'metadata.json');return await this[_0x33c934(0x1dc)][_0x33c934(0x192)](_0x39829a,JSON['stringify'](_0x4998b6,null,0x2),'utf8'),this['index'][_0x33c934(0x1d0)][_0x4aa1c3]&&(_0x39e6c9['fileName']&&(this[_0x33c934(0x1be)][_0x33c934(0x1d0)][_0x4aa1c3][_0x33c934(0x198)]=_0x39e6c9[_0x33c934(0x198)]),_0x39e6c9[_0x33c934(0x1ae)]!==undefined&&(this[_0x33c934(0x1be)]['attachments'][_0x4aa1c3]['active']=_0x39e6c9['active']),await this['saveIndex']()),this[_0x33c934(0x1a4)]?.['info']('Attachment\x20updated',{'fileId':_0x4aa1c3,'updates':_0x39e6c9}),_0x4998b6;}catch(_0x677fca){this[_0x33c934(0x1a4)]?.['error']('Error\x20updating\x20attachment',{'fileId':_0x4aa1c3,'error':_0x677fca['message']});throw _0x677fca;}}async['deleteAttachment'](_0x54bcba,_0x37373d){const _0x39f0fc=a0_0x1e278a;try{const _0x439661=await this['getAttachment'](_0x54bcba);if(!_0x439661)throw new Error(_0x39f0fc(0x1a6)+_0x54bcba);_0x439661[_0x39f0fc(0x1b0)]=_0x439661[_0x39f0fc(0x1b0)]['filter'](_0xf07026=>_0xf07026!==_0x37373d);if(_0x439661['referencedBy']['length']>0x0){const _0x3bf556=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0x439661['agentId'],_0x54bcba,_0x39f0fc(0x1a9));return await this[_0x39f0fc(0x1dc)][_0x39f0fc(0x192)](_0x3bf556,JSON['stringify'](_0x439661,null,0x2),_0x39f0fc(0x1da)),this['index']['attachments'][_0x54bcba]&&(this[_0x39f0fc(0x1be)][_0x39f0fc(0x1d0)][_0x54bcba][_0x39f0fc(0x1b0)]=_0x439661[_0x39f0fc(0x1b0)]),this[_0x39f0fc(0x1be)][_0x39f0fc(0x1c0)][_0x37373d]&&(this[_0x39f0fc(0x1be)][_0x39f0fc(0x1c0)][_0x37373d]=this[_0x39f0fc(0x1be)][_0x39f0fc(0x1c0)][_0x37373d][_0x39f0fc(0x1c5)](_0x2df935=>_0x2df935!==_0x54bcba)),await this[_0x39f0fc(0x1b9)](),this[_0x39f0fc(0x1a4)]?.[_0x39f0fc(0x1c7)](_0x39f0fc(0x1ab),{'fileId':_0x54bcba,'agentId':_0x37373d,'remainingRefs':_0x439661[_0x39f0fc(0x1b0)][_0x39f0fc(0x193)]}),![];}const _0x48db54=a0_0x74f4c[_0x39f0fc(0x1d2)](ATTACHMENTS_DIR,_0x439661['agentId'],_0x54bcba);return await this[_0x39f0fc(0x1dc)][_0x39f0fc(0x1ce)](_0x48db54),delete this['index']['attachments'][_0x54bcba],this['index'][_0x39f0fc(0x1c0)][_0x37373d]&&(this['index']['agentRefs'][_0x37373d]=this['index']['agentRefs'][_0x37373d][_0x39f0fc(0x1c5)](_0x48ca10=>_0x48ca10!==_0x54bcba)),await this['saveIndex'](),this['logger']?.['info'](_0x39f0fc(0x1d3),{'fileId':_0x54bcba,'agentId':_0x37373d}),!![];}catch(_0x485f6f){this['logger']?.[_0x39f0fc(0x1c2)]('Error\x20deleting\x20attachment',{'fileId':_0x54bcba,'agentId':_0x37373d,'error':_0x485f6f['message']});throw _0x485f6f;}}async['deleteAgentAttachments'](_0x15be48){const _0x5e756f=a0_0x1e278a;try{const _0x40f412=this[_0x5e756f(0x1be)][_0x5e756f(0x1c0)][_0x15be48]||[];let _0x2749ae=0x0,_0x290644=0x0;for(const _0x3f47d0 of _0x40f412){const _0x5cf7df=await this[_0x5e756f(0x1dd)](_0x3f47d0,_0x15be48);_0x5cf7df?_0x2749ae++:_0x290644++;}return this['logger']?.[_0x5e756f(0x1c7)]('Agent\x20attachments\x20deleted',{'agentId':_0x15be48,'deleted':_0x2749ae,'dereferenced':_0x290644}),{'deleted':_0x2749ae,'dereferenced':_0x290644};}catch(_0x223fd6){this[_0x5e756f(0x1a4)]?.[_0x5e756f(0x1c2)](_0x5e756f(0x1c3),{'agentId':_0x15be48,'error':_0x223fd6['message']});throw _0x223fd6;}}async['importFromAgent'](_0x2ed1f5,_0x55336b){const _0x17fe08=a0_0x1e278a;try{const _0x530b11=await this[_0x17fe08(0x190)](_0x2ed1f5);if(!_0x530b11)throw new Error(_0x17fe08(0x1b4)+_0x2ed1f5);!_0x530b11['referencedBy']['includes'](_0x55336b)&&_0x530b11[_0x17fe08(0x1b0)][_0x17fe08(0x18f)](_0x55336b);_0x530b11[_0x17fe08(0x1d1)]=new Date()['toISOString'](),_0x530b11[_0x17fe08(0x1a5)]=_0x530b11['agentId'];const _0x351835=a0_0x74f4c[_0x17fe08(0x1d2)](ATTACHMENTS_DIR,_0x530b11['agentId'],_0x2ed1f5,_0x17fe08(0x1a9));return await this['fileProcessor']['writeFile'](_0x351835,JSON['stringify'](_0x530b11,null,0x2),'utf8'),this[_0x17fe08(0x1be)]['attachments'][_0x2ed1f5]&&(this[_0x17fe08(0x1be)][_0x17fe08(0x1d0)][_0x2ed1f5]['referencedBy']=_0x530b11[_0x17fe08(0x1b0)]),!this['index']['agentRefs'][_0x55336b]&&(this[_0x17fe08(0x1be)]['agentRefs'][_0x55336b]=[]),!this[_0x17fe08(0x1be)][_0x17fe08(0x1c0)][_0x55336b][_0x17fe08(0x1a2)](_0x2ed1f5)&&this['index']['agentRefs'][_0x55336b][_0x17fe08(0x18f)](_0x2ed1f5),await this[_0x17fe08(0x1b9)](),this['logger']?.['info']('Attachment imported',{'sourceFileId':_0x2ed1f5,'targetAgentId':_0x55336b}),_0x530b11;}catch(_0x198b4f){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x2ed1f5,'targetAgentId':_0x55336b,'error':_0x198b4f[_0x17fe08(0x1ba)]});throw _0x198b4f;}}async[a0_0x1e278a(0x199)](_0x22a284){const _0x5434cf=a0_0x1e278a;return await this[_0x5434cf(0x1a0)](_0x22a284,{'active':!![]});}async[a0_0x1e278a(0x1b7)](_0x54e9cb){const _0xf6d004=a0_0x1e278a;try{const _0x17ebbe=await this['getAttachmentContent'](_0x54e9cb);if(!_0x17ebbe)return null;if(_0x17ebbe[_0xf6d004(0x191)]('data:image'))return _0xf6d004(0x1ad);return _0x17ebbe[_0xf6d004(0x193)]>0x3e8?_0x17ebbe['substring'](0x0,0x3e8)+'...':_0x17ebbe;}catch(_0x2ec61b){return this['logger']?.['error']('Error\x20getting\x20attachment\x20preview',{'fileId':_0x54e9cb,'error':_0x2ec61b['message']}),null;}}}export default FileAttachmentService;function a0_0x54cc(){const _0x468348=['z2v0qxr0ywnOBwvUDa','C3rHCNrZv2L0Aa','D3jPDgvgAwXL','BgvUz3rO','z2v0qxr0ywnOBwvUDenVBNrLBNq','CgfYC2u','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','CgrM','zMLSzu5HBwu','z2v0qwn0AxzLqxr0ywnOBwvUDhm','z2v0rMLSzvn0yxrZ','zxjYB3jZ','rxjYB3iGDxbSB2fKAw5NigzPBgu','y29UDgvUDezPBgvoyw1L','CMvHzezPBgu','nZKXotrZC1Hov0i','z2v0qxr0ywnOBwvUDhm','y3jLyxrLrgLYzwn0B3j5','Aw5JBhvKzxm','DxbKyxrLqxr0ywnOBwvUDa','Bg9Nz2vY','Aw1WB3j0zwrgCM9T','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mJm4odG2nujywxLRtG','Aw1Hz2u','Bwv0ywrHDgeUANnVBG','mtbIt0Peq3y','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','ywn0AxzL','C2L6zuXLDMvS','CMvMzxjLBMnLzej5','ywDLBNrjza','y29UzMLN','mJG3uwPNB2vR','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','zxn0Aw1HDgvuB2TLBNm','DMfSAwrHDg9Y','z2v0qxr0ywnOBwvUDfbYzxzPzxC','z2v0q29UDgvUDfr5Cgu','C2f2zuLUzgv4','BwvZC2fNzq','C2L6zq','zMLSzuv4Axn0CW','Bw9Kzq','Aw5KzxG','mtiYnZLbuMHgtvC','ywDLBNrszwzZ','odb0AxzYt2K','zxjYB3i','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','CMvMzxjLBMnL','zMLSDgvY','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','Aw5MBW','zgLYBMfTzq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','C3rYAw5NAwz5','ndGXnZGYzeHzD0Lc','D2fYBMLUz3m','zxH0BMfTzq','zgvSzxrLrgLYzwn0B3j5','Bg9HzeLUzgv4','yxr0ywnOBwvUDhm','BgfZDe1VzgLMAwvK','AM9PBG','qxr0ywnOBwvUDcbKzwXLDgvK','y29UDgvUDc5IyxnLnJq','DxbSB2fKrMLSzq','mZK4mJGZm2vQDurXwa','nti1mdeWwLvYDw52','mti0ota0sufuvgn1','y29UDgvUDa','DxrMoa','Dg9ju09tDhjPBMC','zMLSzvbYB2nLC3nVCG','zgvSzxrLqxr0ywnOBwvUDa','ChjVy2vZC0zPBgu','ChvZAa'];a0_0x54cc=function(){return _0x468348;};return a0_0x54cc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x58f8(){const _0x37f7d1=['CM91DgvnzxnZywDL','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','BwvZC2fNzq','ndmXntHcu0ThB0K','ody3mZjRzwTuvM0','zw50CMLLCW','C3vIC3rYAw5N','nJK2AgXkvLDP','DgfZA1r5Cgu','zxjYB3i','mZe5Cg9ozfn4','y29UDgvUDa','qu5usfjpueLdx1nptK5fva','C2vSzwn0zwrnB2rLBa','cI0GkIPnzxnZywDLienVDw50kIO6ia','zMfJDg9YCW','zgvZy3jPChrPB24','mte3ndC5mtzYs1fks2i','tI9b','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','CMvXDwvZDfrPBwvVDxq','y29UzMLKzw5Jzq','x3bHCNnLuM91DgLUz1jLC3bVBNnL','mJu0odG0nwjzEgXfqW','C3rYzw5NDgHZ','odeWCuDnufnd','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','y29UDgv4DfjLzMvYzw5Jzxm','C2vUze1LC3nHz2u','y29UDgv4De1LC3nHz2vZq291BNq','y29UDgv4Dfr5CgvZ','AM9PBG','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','y3vYCMvUDe1LC3nHz2u','BgvUz3rO','ntuXmtHKB1PvCNC','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','CgfYC2LUzY1LCNjVCG','kIPdB250zxH0ifr5CgvZkIO6ia','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','CM9Szq','Dw5RBM93BG','q09ovevyvf9nrvntquDfu19dt1vova','uKvrvuvtvf9usu1ft1vu','CM91DgvYtw9KzwW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','Bg9Nz2vY','DgfZA3m','CMvJzw50twvZC2fNzxm','zM9YrwfJAa','DgLTzxn0yw1W','z2v0u3rHDhvZ','yMvUy2HTyxjRu2vYDMLJzq','tM8GCMvHC29UAw5NihbYB3zPzgvK','ywLtzxj2AwnL','y29UzMLN','uM91DgvYihrLC3qGzMfPBgvK','C3vTBwfYEq','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','Dg9ju09tDhjPBMC','DxnLCG','r1buxZq','nZb3yKfewgO','C2XPy2u','mJC2mdjjCfDXEfe','yxzHAwXHyMXLtw9KzwXZ','tM9Uzq','revfufnfruTFuJe','mtq4mde0mfbAuvPZvq','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','x2nYzwf0zvjVDxrPBMDqCM9TChq','Aw5JBhvKzxm','BwvZC2fNzunVDw50','D2fYBG','x2zVCM1HDejLBMnOBwfYA0rHDge','BwfW'];a0_0x58f8=function(){return _0x37f7d1;};return a0_0x58f8();}const a0_0x3ba4f8=a0_0x5dcd;(function(_0x219538,_0x52c206){const _0x5ae2a0=a0_0x5dcd,_0x150c01=_0x219538();while(!![]){try{const _0x153410=-parseInt(_0x5ae2a0(0x1c4))/0x1*(parseInt(_0x5ae2a0(0x1c6))/0x2)+-parseInt(_0x5ae2a0(0x1e9))/0x3+-parseInt(_0x5ae2a0(0x1d6))/0x4+-parseInt(_0x5ae2a0(0x1eb))/0x5*(parseInt(_0x5ae2a0(0x1d5))/0x6)+parseInt(_0x5ae2a0(0x1f5))/0x7*(parseInt(_0x5ae2a0(0x1d9))/0x8)+-parseInt(_0x5ae2a0(0x1e3))/0x9+parseInt(_0x5ae2a0(0x1ca))/0xa*(parseInt(_0x5ae2a0(0x1dc))/0xb);if(_0x153410===_0x52c206)break;else _0x150c01['push'](_0x150c01['shift']());}catch(_0x525779){_0x150c01['push'](_0x150c01['shift']());}}}(a0_0x58f8,0xa372e));function a0_0x5dcd(_0x2aa7b7,_0x1a36f8){_0x2aa7b7=_0x2aa7b7-0x1bc;const _0x58f8be=a0_0x58f8();let _0x5dcd51=_0x58f8be[_0x2aa7b7];if(a0_0x5dcd['dtpHXW']===undefined){var _0x31f209=function(_0x27e48a){const _0x1fea1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x119290='',_0x5d6aba='';for(let _0xfd4384=0x0,_0x176e43,_0x47b5c4,_0x54d13a=0x0;_0x47b5c4=_0x27e48a['charAt'](_0x54d13a++);~_0x47b5c4&&(_0x176e43=_0xfd4384%0x4?_0x176e43*0x40+_0x47b5c4:_0x47b5c4,_0xfd4384++%0x4)?_0x119290+=String['fromCharCode'](0xff&_0x176e43>>(-0x2*_0xfd4384&0x6)):0x0){_0x47b5c4=_0x1fea1a['indexOf'](_0x47b5c4);}for(let _0x1de320=0x0,_0x16741e=_0x119290['length'];_0x1de320<_0x16741e;_0x1de320++){_0x5d6aba+='%'+('00'+_0x119290['charCodeAt'](_0x1de320)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d6aba);};a0_0x5dcd['AouzJk']=_0x31f209,a0_0x5dcd['ICNFmq']={},a0_0x5dcd['dtpHXW']=!![];}const _0x406ce2=_0x58f8be[0x0],_0x520916=_0x2aa7b7+_0x406ce2,_0x1054bd=a0_0x5dcd['ICNFmq'][_0x520916];return!_0x1054bd?(_0x5dcd51=a0_0x5dcd['AouzJk'](_0x5dcd51),a0_0x5dcd['ICNFmq'][_0x520916]=_0x5dcd51):_0x5dcd51=_0x1054bd,_0x5dcd51;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x119290,_0x5d6aba,_0xfd4384,_0x176e43){const _0x21e146=a0_0x5dcd;this['config']=_0x119290,this[_0x21e146(0x201)]=_0x5d6aba,this['benchmarkService']=_0xfd4384,this[_0x21e146(0x1bc)]=_0x176e43,this[_0x21e146(0x1ff)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x21e146(0x1ef)]=MODEL_ROUTER_CONFIG[_0x21e146(0x1fd)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x21e146(0x1fe)];}async[a0_0x3ba4f8(0x1d2)](_0x47b5c4,_0x54d13a=[],_0x1de320='',_0x16741e=[],_0x2cb7f2={}){const _0x525eca=a0_0x3ba4f8;try{this[_0x525eca(0x201)]['debug']('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x47b5c4[_0x525eca(0x1dd)]?.['length']||0x0,'recentMessagesCount':_0x54d13a['length'],'currentModel':_0x1de320,'availableModelsCount':_0x16741e[_0x525eca(0x1f4)]});const _0x43ed2f=this['_buildRoutingContext'](_0x47b5c4,_0x54d13a,_0x1de320,_0x16741e),_0xe60a50=this[_0x525eca(0x207)]['getBenchmarkTable'](),_0x206b6f=this[_0x525eca(0x1cc)](_0x43ed2f,_0xe60a50),_0x23a478=await this['_askForRouting'](_0x206b6f,_0x2cb7f2),_0x43704e=this['_validateModelSelection'](_0x23a478,_0x16741e,_0x1de320);return this[_0x525eca(0x201)]['info'](_0x525eca(0x1fa),{'selectedModel':_0x43704e,'previousModel':_0x1de320,'changed':_0x43704e!==_0x1de320,'reasoning':_0x23a478['reasoning']?.[_0x525eca(0x1d8)](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x43704e,'previousModel':_0x1de320,'changed':_0x43704e!==_0x1de320,'reasoning':_0x23a478['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x16e955){this['logger'][_0x525eca(0x1db)]('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x16e955[_0x525eca(0x1d4)],'currentModel':_0x1de320});const _0x48e16b=_0x1de320||_0x16741e[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x48e16b,'previousModel':_0x1de320,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}['_buildRoutingContext'](_0xb6cab3,_0x52ec46,_0x492d12,_0xd1e2a7){const _0x2eea17=a0_0x3ba4f8,_0x3ca086=_0x52ec46['slice'](-this['contextMessagesCount'])[_0x2eea17(0x1d1)](_0x105506=>({'role':_0x105506[_0x2eea17(0x1fb)],'content':_0x105506['content']?.[_0x2eea17(0x1d8)](0x0,0x1f4)||'','timestamp':_0x105506[_0x2eea17(0x205)]}));return{'currentMessage':{'content':_0xb6cab3['content']?.['substring'](0x0,0x3e8)||'','role':_0xb6cab3['role']||_0x2eea17(0x1c2),'hasContextReferences':!!_0xb6cab3[_0x2eea17(0x1ed)]?.['length'],'contextTypes':_0xb6cab3[_0x2eea17(0x1ed)]?.['map'](_0x5416d5=>_0x5416d5['type'])||[]},'recentMessages':_0x3ca086,'currentModel':_0x492d12,'availableModels':_0xd1e2a7[_0x2eea17(0x1d1)](_0x5f33fa=>({'name':_0x5f33fa,'isCurrentModel':_0x5f33fa===_0x492d12})),'messageCount':_0x52ec46['length']+0x1,'timestamp':new Date()[_0x2eea17(0x1c1)]()};}['_createRoutingPrompt'](_0x52cf0b,_0x1a7a00){const _0x8c3cf4=a0_0x3ba4f8;return _0x8c3cf4(0x1e5)+(_0x52cf0b['currentModel']||_0x8c3cf4(0x1c8))+_0x8c3cf4(0x1e0)+_0x52cf0b[_0x8c3cf4(0x1ce)]+_0x8c3cf4(0x1ec)+_0x52cf0b[_0x8c3cf4(0x1c7)][_0x8c3cf4(0x1d1)](_0x2b8025=>_0x2b8025['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x52cf0b[_0x8c3cf4(0x203)])+_0x8c3cf4(0x200)+_0x52cf0b['currentMessage']['role']+'\x0a**Content**:\x20'+_0x52cf0b['currentMessage']['content']+_0x8c3cf4(0x1f6)+_0x52cf0b[_0x8c3cf4(0x1f3)]['hasContextReferences']+'\x0a'+(_0x52cf0b['currentMessage'][_0x8c3cf4(0x1f0)][_0x8c3cf4(0x1f4)]>0x0?_0x8c3cf4(0x1f9)+_0x52cf0b['currentMessage']['contextTypes'][_0x8c3cf4(0x1f1)](',\x20'):'')+_0x8c3cf4(0x1d3)+this['_formatBenchmarkData'](_0x1a7a00)+_0x8c3cf4(0x1cb);}[a0_0x3ba4f8(0x1f7)](_0x38a526){const _0x3b4b76=a0_0x3ba4f8;if(!_0x38a526[_0x3b4b76(0x1f4)])return'No\x20recent\x20messages\x20available.';return _0x38a526['map']((_0x17adf0,_0x49b230)=>_0x49b230+0x1+'.\x20**'+_0x17adf0[_0x3b4b76(0x1fb)]+'**:\x20'+_0x17adf0['content'])[_0x3b4b76(0x1f1)]('\x0a');}[a0_0x3ba4f8(0x1d0)](_0x4eb4b7){const _0x18a680=a0_0x3ba4f8,_0x50c117=_0x4eb4b7['models']||[],_0x3a4988=_0x4eb4b7[_0x18a680(0x202)]||{},_0x2e1e61=_0x4eb4b7[_0x18a680(0x1bf)]||{};let _0x2e942e='###\x20Model\x20Performance\x20Summary\x0a';return Object[_0x18a680(0x1d7)](_0x3a4988)[_0x18a680(0x204)](([_0x23abe1,_0x5e12ca])=>{const _0x2175bc=_0x18a680;_0x2e942e+='**'+_0x23abe1['toUpperCase']()+'**\x20('+_0x5e12ca[_0x2175bc(0x1e2)]+'):\x20'+(_0x5e12ca['topModels']?.[_0x2175bc(0x1f1)](',\x20')||'No\x20data')+'\x0a';}),_0x2e942e+='\x0a###\x20Model\x20Details\x0a',_0x50c117[_0x18a680(0x1c5)](0x0,0x8)[_0x18a680(0x204)](_0x15fa19=>{const _0x4239f7=_0x18a680;_0x2e942e+='**'+_0x15fa19['name']+'**:\x20';const _0x51e7b8=Object['entries'](_0x15fa19['tasks']||{})[_0x4239f7(0x1d1)](([_0x43a83b,_0x306b93])=>_0x43a83b+'('+_0x306b93['score']+')')[_0x4239f7(0x1f1)](',\x20');_0x2e942e+=_0x51e7b8+'\x20|\x20Strengths:\x20'+(_0x15fa19[_0x4239f7(0x1ea)]?.['join'](',\x20')||_0x4239f7(0x1e4))+'\x0a';}),_0x2e942e;}async['_askForRouting'](_0x5c1ecd,_0x41d78d={}){const _0x5c3565=a0_0x3ba4f8;try{const _0x7d70a5=await this['aiService'][_0x5c3565(0x1ee)](this['routerModel'],_0x5c1ecd,{'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['requestTimeout'],'sessionId':_0x41d78d['sessionId'],'apiKey':_0x41d78d['apiKey']||this[_0x5c3565(0x1bd)]['apiKey'],'customApiKeys':_0x41d78d['customApiKeys'],'platformProvided':!![]});if(!_0x7d70a5['content'])throw new Error('No response content from autopilot-model-router');const _0x36bd0c=this[_0x5c3565(0x1e8)](_0x7d70a5[_0x5c3565(0x1dd)]);return _0x36bd0c;}catch(_0x54b573){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x54b573[_0x5c3565(0x1d4)],'routerModel':this['routerModel']});throw _0x54b573;}}[a0_0x3ba4f8(0x1e8)](_0x1f2501){const _0x38c471=a0_0x3ba4f8;try{const _0x3de0c4=_0x1f2501['match'](/\{[\s\S]*\}/);if(!_0x3de0c4)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x29d1ce=JSON['parse'](_0x3de0c4[0x0]);if(!_0x29d1ce['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x29d1ce[_0x38c471(0x1df)],'taskType':_0x29d1ce[_0x38c471(0x1da)]||_0x38c471(0x1fc),'confidence':_0x29d1ce[_0x38c471(0x1e7)]||0.5,'reasoning':_0x29d1ce['reasoning']||_0x38c471(0x208),'factors':_0x29d1ce[_0x38c471(0x1e1)]||[]};}catch(_0x29eb91){return this[_0x38c471(0x201)][_0x38c471(0x1cf)](_0x38c471(0x1f2),{'error':_0x29eb91['message'],'content':_0x1f2501['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x38c471(0x1f8)]};}}['_validateModelSelection'](_0x37fdad,_0x126657,_0x3c9a7e){const _0x327fea=a0_0x3ba4f8,{selectedModel:_0x1e53c9}=_0x37fdad;if(!_0x1e53c9)return this['logger']['debug']('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0x3c9a7e;if(!_0x126657[_0x327fea(0x1cd)](_0x1e53c9))return this['logger'][_0x327fea(0x1cf)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x1e53c9,'availableModels':_0x126657}),_0x3c9a7e;return _0x1e53c9;}['getStatus'](){const _0x317fd3=a0_0x3ba4f8;return{'routerModel':this[_0x317fd3(0x1ff)],'contextMessagesCount':this[_0x317fd3(0x1ef)],'requestTimeout':this[_0x317fd3(0x1e6)],'benchmarkServiceStatus':this['benchmarkService'][_0x317fd3(0x206)](),'isAvailable':!![]};}async['testRouter'](){const _0x3f3010=a0_0x3ba4f8;try{const _0x59009d={'content':_0x3f3010(0x1c0),'role':'user'},_0x1ab09e=await this[_0x3f3010(0x1d2)](_0x59009d,[],MODELS['ANTHROPIC_SONNET'],[MODELS[_0x3f3010(0x1de)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x3f3010(0x1c3)],MODELS[_0x3f3010(0x1c9)]],{'apiKey':'test-key'});return this[_0x3f3010(0x201)]['info']('Router\x20test\x20completed',{'selectedModel':_0x1ab09e}),{'success':!![],'selectedModel':_0x1ab09e};}catch(_0x55b83b){return this['logger'][_0x3f3010(0x1db)](_0x3f3010(0x1be),{'error':_0x55b83b[_0x3f3010(0x1d4)]}),{'success':![],'error':_0x55b83b['message']};}}}export default ModelRouterService;
|
|
1
|
+
const a0_0x5e215d=a0_0x331b;(function(_0x1679dd,_0x337fda){const _0x391df7=a0_0x331b,_0x2de694=_0x1679dd();while(!![]){try{const _0x22de46=-parseInt(_0x391df7(0x15c))/0x1+parseInt(_0x391df7(0x11a))/0x2*(parseInt(_0x391df7(0x11f))/0x3)+-parseInt(_0x391df7(0x149))/0x4*(parseInt(_0x391df7(0x131))/0x5)+-parseInt(_0x391df7(0x118))/0x6*(-parseInt(_0x391df7(0x15a))/0x7)+parseInt(_0x391df7(0x119))/0x8+-parseInt(_0x391df7(0x14f))/0x9*(-parseInt(_0x391df7(0x141))/0xa)+parseInt(_0x391df7(0x13e))/0xb*(-parseInt(_0x391df7(0x153))/0xc);if(_0x22de46===_0x337fda)break;else _0x2de694['push'](_0x2de694['shift']());}catch(_0x41f660){_0x2de694['push'](_0x2de694['shift']());}}}(a0_0x47e1,0x70e31));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x1800c1,_0x56345d,_0x114f27,_0x4ad0c5){const _0x164c08=a0_0x331b;this[_0x164c08(0x116)]=_0x1800c1,this['logger']=_0x56345d,this['benchmarkService']=_0x114f27,this[_0x164c08(0x15f)]=_0x4ad0c5,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x164c08(0x14d)],this[_0x164c08(0x154)]=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x49bf28,_0x8dbbc8=[],_0x58ee8d='',_0xcd84cb=[],_0x2e6ad3={}){const _0x368adb=a0_0x331b;try{this['logger'][_0x368adb(0x15b)](_0x368adb(0x155),{'messageLength':_0x49bf28[_0x368adb(0x136)]?.[_0x368adb(0x12d)]||0x0,'recentMessagesCount':_0x8dbbc8['length'],'currentModel':_0x58ee8d,'availableModelsCount':_0xcd84cb['length']});const _0xf4f94d=this['_buildRoutingContext'](_0x49bf28,_0x8dbbc8,_0x58ee8d,_0xcd84cb),_0x472192=this[_0x368adb(0x133)]['getBenchmarkTable'](),_0x1edb82=this[_0x368adb(0x126)](_0xf4f94d,_0x472192),_0x5b2b10=await this['_askForRouting'](_0x1edb82,_0x2e6ad3),_0x404f9e=this[_0x368adb(0x113)](_0x5b2b10,_0xcd84cb,_0x58ee8d);return this['logger']['info'](_0x368adb(0x151),{'selectedModel':_0x404f9e,'previousModel':_0x58ee8d,'changed':_0x404f9e!==_0x58ee8d,'reasoning':_0x5b2b10[_0x368adb(0x15e)]?.['substring'](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x404f9e,'previousModel':_0x58ee8d,'changed':_0x404f9e!==_0x58ee8d,'reasoning':_0x5b2b10['reasoning']||_0x368adb(0x157)};}catch(_0x47492a){this[_0x368adb(0x129)][_0x368adb(0x120)](_0x368adb(0x161),{'error':_0x47492a['message'],'currentModel':_0x58ee8d});const _0x21fd0b=_0x58ee8d||_0xcd84cb[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x21fd0b,'previousModel':_0x58ee8d,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x5e215d(0x11c)](_0x3ca0ee,_0x16be83,_0x3bbf99,_0x538cac){const _0xc7865f=a0_0x5e215d,_0x401918=_0x16be83[_0xc7865f(0x122)](-this[_0xc7865f(0x11b)])['map'](_0x3e7091=>({'role':_0x3e7091['role'],'content':_0x3e7091['content']?.[_0xc7865f(0x139)](0x0,0x1f4)||'','timestamp':_0x3e7091['timestamp']}));return{'currentMessage':{'content':_0x3ca0ee['content']?.[_0xc7865f(0x139)](0x0,0x3e8)||'','role':_0x3ca0ee[_0xc7865f(0x123)]||_0xc7865f(0x115),'hasContextReferences':!!_0x3ca0ee['contextReferences']?.['length'],'contextTypes':_0x3ca0ee['contextReferences']?.['map'](_0x2015bd=>_0x2015bd['type'])||[]},'recentMessages':_0x401918,'currentModel':_0x3bbf99,'availableModels':_0x538cac[_0xc7865f(0x117)](_0x3979d6=>({'name':_0x3979d6,'isCurrentModel':_0x3979d6===_0x3bbf99})),'messageCount':_0x16be83['length']+0x1,'timestamp':new Date()[_0xc7865f(0x134)]()};}[a0_0x5e215d(0x126)](_0x1c3702,_0x1b6572){const _0x3a086e=a0_0x5e215d;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'+(_0x1c3702['currentModel']||_0x3a086e(0x12c))+_0x3a086e(0x137)+_0x1c3702['messageCount']+_0x3a086e(0x121)+_0x1c3702[_0x3a086e(0x13d)][_0x3a086e(0x117)](_0x1badbe=>_0x1badbe[_0x3a086e(0x14c)])[_0x3a086e(0x159)](',\x20')+_0x3a086e(0x132)+this['_formatRecentMessages'](_0x1c3702[_0x3a086e(0x13c)])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x1c3702[_0x3a086e(0x143)][_0x3a086e(0x123)]+_0x3a086e(0x14e)+_0x1c3702['currentMessage'][_0x3a086e(0x136)]+_0x3a086e(0x12b)+_0x1c3702['currentMessage'][_0x3a086e(0x12f)]+'\x0a'+(_0x1c3702[_0x3a086e(0x143)]['contextTypes']['length']>0x0?'**Context\x20Types**:\x20'+_0x1c3702['currentMessage']['contextTypes'][_0x3a086e(0x159)](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this['_formatBenchmarkData'](_0x1b6572)+'\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_0x5e215d(0x147)](_0x216eae){const _0xf23728=a0_0x5e215d;if(!_0x216eae['length'])return _0xf23728(0x150);return _0x216eae[_0xf23728(0x117)]((_0x15836f,_0xb05ecc)=>_0xb05ecc+0x1+_0xf23728(0x15d)+_0x15836f['role']+'**:\x20'+_0x15836f[_0xf23728(0x136)])['join']('\x0a');}['_formatBenchmarkData'](_0x39ceea){const _0x9bd41=a0_0x5e215d,_0x4e2af6=_0x39ceea['models']||[],_0x31f85a=_0x39ceea[_0x9bd41(0x145)]||{},_0x33b46b=_0x39ceea['summary']||{};let _0x25ba4a=_0x9bd41(0x13f);return Object[_0x9bd41(0x158)](_0x31f85a)['forEach'](([_0x546b68,_0xce7672])=>{const _0x2affbc=_0x9bd41;_0x25ba4a+='**'+_0x546b68['toUpperCase']()+_0x2affbc(0x142)+_0xce7672['description']+'):\x20'+(_0xce7672['topModels']?.['join'](',\x20')||'No\x20data')+'\x0a';}),_0x25ba4a+='\x0a###\x20Model\x20Details\x0a',_0x4e2af6['slice'](0x0,0x8)[_0x9bd41(0x135)](_0x2df655=>{const _0x4d915f=_0x9bd41;_0x25ba4a+='**'+_0x2df655[_0x4d915f(0x14c)]+'**:\x20';const _0x4b8215=Object['entries'](_0x2df655['tasks']||{})[_0x4d915f(0x117)](([_0x57369f,_0x194e7c])=>_0x57369f+'('+_0x194e7c['score']+')')['join'](',\x20');_0x25ba4a+=_0x4b8215+'\x20|\x20Strengths:\x20'+(_0x2df655[_0x4d915f(0x11e)]?.[_0x4d915f(0x159)](',\x20')||_0x4d915f(0x130))+'\x0a';}),_0x25ba4a;}async[a0_0x5e215d(0x11d)](_0x545f84,_0x5e6e34={}){const _0x4201d3=a0_0x5e215d;try{const _0x2556a1=await this['aiService']['sendMessage'](this[_0x4201d3(0x12a)],_0x545f84,{'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['requestTimeout'],'sessionId':_0x5e6e34['sessionId'],'apiKey':_0x5e6e34[_0x4201d3(0x140)]||this['config']['apiKey'],'customApiKeys':_0x5e6e34['customApiKeys'],'platformProvided':!![]});if(!_0x2556a1['content'])throw new Error('No response content from autopilot-model-router');const _0x517815=this[_0x4201d3(0x138)](_0x2556a1[_0x4201d3(0x136)]);return _0x517815;}catch(_0x77e732){this[_0x4201d3(0x129)]['error'](_0x4201d3(0x152),{'error':_0x77e732[_0x4201d3(0x124)],'routerModel':this[_0x4201d3(0x12a)]});throw _0x77e732;}}[a0_0x5e215d(0x138)](_0x221ba6){const _0x222dc2=a0_0x5e215d;try{const _0x280dac=_0x221ba6['match'](/\{[\s\S]*\}/);if(!_0x280dac)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x4cddb3=JSON[_0x222dc2(0x160)](_0x280dac[0x0]);if(!_0x4cddb3['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x4cddb3['selectedModel'],'taskType':_0x4cddb3[_0x222dc2(0x13b)]||'unknown','confidence':_0x4cddb3[_0x222dc2(0x13a)]||0.5,'reasoning':_0x4cddb3['reasoning']||'No\x20reasoning\x20provided','factors':_0x4cddb3[_0x222dc2(0x146)]||[]};}catch(_0x19e605){return this[_0x222dc2(0x129)]['warn'](_0x222dc2(0x114),{'error':_0x19e605[_0x222dc2(0x124)],'content':_0x221ba6[_0x222dc2(0x139)](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':_0x222dc2(0x144),'factors':['parsing-error']};}}['_validateModelSelection'](_0x3572ee,_0x22ca79,_0x3412dd){const _0xda382=a0_0x5e215d,{selectedModel:_0x4d8a16}=_0x3572ee;if(!_0x4d8a16)return this['logger'][_0xda382(0x15b)](_0xda382(0x148)),_0x3412dd;if(!_0x22ca79['includes'](_0x4d8a16))return this[_0xda382(0x129)]['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x4d8a16,'availableModels':_0x22ca79}),_0x3412dd;return _0x4d8a16;}[a0_0x5e215d(0x128)](){const _0x29d6af=a0_0x5e215d;return{'routerModel':this[_0x29d6af(0x12a)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this['benchmarkService']['getStatus'](),'isAvailable':!![]};}async[a0_0x5e215d(0x156)](){const _0x8f7116=a0_0x5e215d;try{const _0x552c46={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x8f7116(0x115)},_0xde44f=await this['routeMessage'](_0x552c46,[],MODELS[_0x8f7116(0x125)],[MODELS['ANTHROPIC_SONNET'],MODELS['ANTHROPIC_OPUS'],MODELS[_0x8f7116(0x14a)],MODELS[_0x8f7116(0x12e)]],{'apiKey':_0x8f7116(0x127)});return this['logger']['info'](_0x8f7116(0x14b),{'selectedModel':_0xde44f}),{'success':!![],'selectedModel':_0xde44f};}catch(_0x2e47a8){return this['logger'][_0x8f7116(0x120)]('Router\x20test\x20failed',{'error':_0x2e47a8[_0x8f7116(0x124)]}),{'success':![],'error':_0x2e47a8[_0x8f7116(0x124)]};}}}export default ModelRouterService;function a0_0x331b(_0x43c346,_0x2c0825){_0x43c346=_0x43c346-0x113;const _0x47e193=a0_0x47e1();let _0x331b62=_0x47e193[_0x43c346];if(a0_0x331b['zzuIyO']===undefined){var _0x1a5bbc=function(_0x52068f){const _0xc6649a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1800c1='',_0x56345d='';for(let _0x114f27=0x0,_0x4ad0c5,_0x49bf28,_0x8dbbc8=0x0;_0x49bf28=_0x52068f['charAt'](_0x8dbbc8++);~_0x49bf28&&(_0x4ad0c5=_0x114f27%0x4?_0x4ad0c5*0x40+_0x49bf28:_0x49bf28,_0x114f27++%0x4)?_0x1800c1+=String['fromCharCode'](0xff&_0x4ad0c5>>(-0x2*_0x114f27&0x6)):0x0){_0x49bf28=_0xc6649a['indexOf'](_0x49bf28);}for(let _0x58ee8d=0x0,_0xcd84cb=_0x1800c1['length'];_0x58ee8d<_0xcd84cb;_0x58ee8d++){_0x56345d+='%'+('00'+_0x1800c1['charCodeAt'](_0x58ee8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56345d);};a0_0x331b['OiIGbV']=_0x1a5bbc,a0_0x331b['rynyEG']={},a0_0x331b['zzuIyO']=!![];}const _0x11e410=_0x47e193[0x0],_0x2da993=_0x43c346+_0x11e410,_0x55753d=a0_0x331b['rynyEG'][_0x2da993];return!_0x55753d?(_0x331b62=a0_0x331b['OiIGbV'](_0x331b62),a0_0x331b['rynyEG'][_0x2da993]=_0x331b62):_0x331b62=_0x55753d,_0x331b62;}function a0_0x47e1(){const _0x18aa53=['mJy0vK5luNnl','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','yxbPs2v5','nZb5BxLKCLq','kIOGka','y3vYCMvUDe1LC3nHz2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','DgfZA3m','zMfJDg9YCW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','nhz5yxDitG','r1buxZq','uM91DgvYihrLC3qGy29TCgXLDgvK','BMfTzq','q09ovevyvf9nrvntquDfu19dt1vova','cIOQq29UDgvUDcOQoIa','mtK0ntyYDNjitePt','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','yxv0B3bPBg90lw1VzgvSlxjVDxrLCIbYB3v0Aw5NihjLCxvLC3qGzMfPBgvK','mte3mtu2CMv6t1Lw','CMvXDwvZDfrPBwvVDxq','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','DgvZDfjVDxrLCG','tM8GCMvHC29UAw5NihbYB3zPzgvK','zw50CMLLCW','AM9PBG','mti2Efj4y1vi','zgvIDwC','mJKZndK0AuXevwvz','lIaQkG','CMvHC29UAw5N','ywLtzxj2AwnL','CgfYC2u','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','DxnLCG','y29UzMLN','BwfW','otC0mZrqr1bVuMi','nJa0ndq4mfDHs0n2qG','mZe5nM9qqKzhqW','y29UDgv4De1LC3nHz2vZq291BNq','x2j1AwXKuM91DgLUz0nVBNrLEhq','x2fZA0zVCLjVDxrPBMC','C3rYzw5NDgHZ','mtmYovvXvuvkra','zxjYB3i','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','C2XPy2u','CM9Szq','BwvZC2fNzq','qu5usfjpueLdx1nptK5fva','x2nYzwf0zvjVDxrPBMDqCM9TChq','DgvZDc1RzxK','z2v0u3rHDhvZ','Bg9Nz2vY','CM91DgvYtw9KzwW','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','tM9Uzq','BgvUz3rO','revfufnfruTFuJe','AgfZq29UDgv4DfjLzMvYzw5Jzxm','tI9b','ndu4ndu1nuDnvM5PBG','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','yMvUy2HTyxjRu2vYDMLJzq','Dg9ju09tDhjPBMC','zM9YrwfJAa','y29UDgvUDa','cI0GkIPnzxnZywDLienVDw50kIO6ia','x3bHCNnLuM91DgLUz1jLC3bVBNnL','C3vIC3rYAw5N','y29UzMLKzw5Jzq','DgfZA1r5Cgu','CMvJzw50twvZC2fNzxm','yxzHAwXHyMXLtw9KzwXZ'];a0_0x47e1=function(){return _0x18aa53;};return a0_0x47e1();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x23dbe4=a0_0x7c28;function a0_0x7c28(_0x54aaa3,_0x5bd891){_0x54aaa3=_0x54aaa3-0xc1;const _0xe68542=a0_0xe685();let _0x7c28de=_0xe68542[_0x54aaa3];if(a0_0x7c28['frqibT']===undefined){var _0x137a07=function(_0x1fca43){const _0x3088eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49a822='',_0x487d29='';for(let _0x5a9f71=0x0,_0x707f21,_0x59e599,_0x209fd1=0x0;_0x59e599=_0x1fca43['charAt'](_0x209fd1++);~_0x59e599&&(_0x707f21=_0x5a9f71%0x4?_0x707f21*0x40+_0x59e599:_0x59e599,_0x5a9f71++%0x4)?_0x49a822+=String['fromCharCode'](0xff&_0x707f21>>(-0x2*_0x5a9f71&0x6)):0x0){_0x59e599=_0x3088eb['indexOf'](_0x59e599);}for(let _0x3a18d0=0x0,_0x514597=_0x49a822['length'];_0x3a18d0<_0x514597;_0x3a18d0++){_0x487d29+='%'+('00'+_0x49a822['charCodeAt'](_0x3a18d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x487d29);};a0_0x7c28['jMYGsQ']=_0x137a07,a0_0x7c28['SUUSRj']={},a0_0x7c28['frqibT']=!![];}const _0x179dfc=_0xe68542[0x0],_0x206183=_0x54aaa3+_0x179dfc,_0x19df4d=a0_0x7c28['SUUSRj'][_0x206183];return!_0x19df4d?(_0x7c28de=a0_0x7c28['jMYGsQ'](_0x7c28de),a0_0x7c28['SUUSRj'][_0x206183]=_0x7c28de):_0x7c28de=_0x19df4d,_0x7c28de;}function a0_0xe685(){const _0x5e0fd0=['BwfW','CMvMCMvZAfDPDgHdB250zxH0','nZqZmJHnuNvcDhi','qMvHCMvYia','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','zw52','zxjYB3i','BMfTzq','z2v0tw9KzwXZ','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','zgvIDwC','BMvLzhnszwzYzxnO','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','BgfZDevYCM9Y','Dg9ju09tDhjPBMC','mtu0ndu4ENPJD0Lw','zMv0y2HnB2rLBhm','te9ysufFqvbjx0Tfwq','l2fWAs9SBg0VBw9KzwXZ','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','mJrpuMPPrgu','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','mta3mdyWmu1nv3Ljzq','CMv0CNLbDhrLBxb0CW','x3nJAgvKDwXLuMv0CNK','yxbPs2v5twfUywDLCG','mtmWmdiZnuH5D3rgtW','Aw5MBW','y2fJAgvfEhbPCNK','mJe2oty2Eg5by05z','CMv0CNLezwXHEq','x2nHBMnLBfjLDhj5','BwvZC2fNzq','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','AxnmB2fKAw5N','Bw9KzwXZ','ANnVBG','mNb0DvjKBa','y29UzMLN','C2vZC2LVBKLK','Bwf4uMv0CMLLCW','mJqXodbwyLzItwe','CMv0CNLuAw1LCG','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','C3rHDhvZvgv4Da','yxbPs2v5','r0vu','Aw5PDgLHBgL6zq','Bg9Nz2vY','BM93','BgvUz3rO','nteWmuXXrMHpyW','yMfJA2vUzfvYBa','z2v0u3rHDhvZ','BgfZDezLDgnOzwq','yxbWBgLJyxrPB24VANnVBG'];a0_0xe685=function(){return _0x5e0fd0;};return a0_0xe685();}(function(_0x4bf191,_0x406520){const _0x1e44e0=a0_0x7c28,_0x5c0744=_0x4bf191();while(!![]){try{const _0x3b196f=parseInt(_0x1e44e0(0xe0))/0x1*(-parseInt(_0x1e44e0(0xd2))/0x2)+parseInt(_0x1e44e0(0xca))/0x3+parseInt(_0x1e44e0(0xd6))/0x4+parseInt(_0x1e44e0(0xc7))/0x5+parseInt(_0x1e44e0(0xe7))/0x6+-parseInt(_0x1e44e0(0xc3))/0x7+-parseInt(_0x1e44e0(0xc1))/0x8*(parseInt(_0x1e44e0(0xf4))/0x9);if(_0x3b196f===_0x406520)break;else _0x5c0744['push'](_0x5c0744['shift']());}catch(_0x50beda){_0x5c0744['push'](_0x5c0744['shift']());}}}(a0_0xe685,0x227d8));class ModelsService{constructor(_0x49a822,_0x487d29){const _0x8bd734=a0_0x7c28;this[_0x8bd734(0xd3)]=_0x49a822,this[_0x8bd734(0xdd)]=_0x487d29,this[_0x8bd734(0xd0)]=null,this[_0x8bd734(0xe3)]=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x8bd734(0xe1)]=_0x49a822[_0x8bd734(0xe1)]||'http://localhost:8080',this['retryAttempts']=0x0,this[_0x8bd734(0xd5)]=0x3,this[_0x8bd734(0xcb)]=0x7d0,this['retryTimer']=null,this[_0x8bd734(0xf2)]=null,this[_0x8bd734(0xc6)]=null;}['setApiKeyManager'](_0x5a9f71){const _0x59c6be=a0_0x7c28;this['apiKeyManager']=_0x5a9f71,this['logger']?.['info'](_0x59c6be(0xf1),{'hasManager':!!_0x5a9f71});}async[a0_0x23dbe4(0xdc)](){const _0x1efd32=a0_0x23dbe4;try{await this['fetchModels'](),this['logger'][_0x1efd32(0xc8)](_0x1efd32(0xf8),{'modelCount':this['models']?.[_0x1efd32(0xdf)]||0x0});}catch(_0x707f21){this['lastError']=_0x707f21[_0x1efd32(0xcd)],this['logger']['error']('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x707f21[_0x1efd32(0xcd)],'endpoint':this[_0x1efd32(0xe1)]+_0x1efd32(0xf7),'willRetry':!![]}),this['_scheduleRetry']();}}['getAvailableModelNames'](){const _0x56a9aa=a0_0x23dbe4;if(!this['models']||this['models']['length']===0x0)return this['logger'][_0x56a9aa(0xeb)](_0x56a9aa(0xd8),{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0x56a9aa(0xf7),'retryAttempt':this[_0x56a9aa(0xc4)],'maxRetries':this['maxRetries']}),[];return this[_0x56a9aa(0xd0)][_0x56a9aa(0xe5)](_0x59e599=>_0x59e599[_0x56a9aa(0xec)]);}[a0_0x23dbe4(0xed)](){const _0x4ddd79=a0_0x23dbe4;if(!this['models']||this['models']['length']===0x0)return this['logger']['error'](_0x4ddd79(0xd8),{'lastError':this[_0x4ddd79(0xf2)],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this[_0x4ddd79(0xd0)];}async['fetchModels'](_0x209fd1=null){const _0x13a90f=a0_0x23dbe4;if(this[_0x13a90f(0xcf)]){this['logger']['debug'](_0x13a90f(0xe9));return;}this['isLoading']=!![];try{const _0x3a18d0=this[_0x13a90f(0xe1)]+'/api/llm/models';let _0x514597=null;if(this['apiKeyManager']&&_0x209fd1&&_0x209fd1['sessionId']){const _0x253a3a=this['apiKeyManager']['getKeysForRequest'](_0x209fd1['sessionId'],{'platformProvided':!![],'vendor':null});_0x514597=_0x253a3a['loxiaApiKey'],this[_0x13a90f(0xdd)]?.[_0x13a90f(0xc8)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x209fd1[_0x13a90f(0xd4)],'hasLoxiaKey':!!_0x514597});}if(!_0x514597&&_0x209fd1&&_0x209fd1[_0x13a90f(0xda)])_0x514597=_0x209fd1[_0x13a90f(0xda)];else{if(!_0x514597&&this[_0x13a90f(0xd3)][_0x13a90f(0xda)])_0x514597=this[_0x13a90f(0xd3)]['apiKey'];else!_0x514597&&process[_0x13a90f(0xea)][_0x13a90f(0xf6)]&&(_0x514597=process['env'][_0x13a90f(0xf6)]);}const _0xe5b206={'method':_0x13a90f(0xdb),'headers':{'Content-Type':_0x13a90f(0xe4),..._0x514597&&{'Authorization':_0x13a90f(0xe8)+_0x514597}},'timeout':0x2710};this[_0x13a90f(0xdd)]['debug']('Fetching models from backend',{'url':_0x3a18d0,'hasApiKey':!!_0x514597,'apiKeySource':_0x209fd1?.['apiKey']?'context':this[_0x13a90f(0xd3)][_0x13a90f(0xda)]?_0x13a90f(0xd3):process[_0x13a90f(0xea)][_0x13a90f(0xf6)]?_0x13a90f(0xea):'none'});const _0x16683b=await fetch(_0x3a18d0,_0xe5b206);if(!_0x16683b['ok'])throw new Error('HTTP\x20'+_0x16683b['status']+':\x20'+_0x16683b[_0x13a90f(0xd9)]);const _0x15c79f=await _0x16683b[_0x13a90f(0xd1)]();if(_0x15c79f['models']&&Array['isArray'](_0x15c79f['models']))this['models']=_0x15c79f['models'],this['lastFetched']=new Date(),this[_0x13a90f(0xf0)]=![],this[_0x13a90f(0xdd)][_0x13a90f(0xc8)]('Models fetched from backend',{'modelCount':this[_0x13a90f(0xd0)]['length'],'models':this['models']['map'](_0x2d13c5=>_0x2d13c5['name'])});else throw new Error('Invalid response format from models API');}catch(_0x2f61b9){this['lastError']=_0x2f61b9[_0x13a90f(0xcd)],this['logger'][_0x13a90f(0xeb)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x2f61b9['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),this[_0x13a90f(0xc5)](_0x209fd1);if(!this[_0x13a90f(0xd0)])throw _0x2f61b9;}finally{this[_0x13a90f(0xcf)]=![];}}[a0_0x23dbe4(0xf0)](){const _0x1e5e5a=a0_0x23dbe4;if(!this['lastFetched'])return!![];const _0x43eca7=Date[_0x1e5e5a(0xde)]()-this['lastFetched']['getTime']();return _0x43eca7>this[_0x1e5e5a(0xc9)];}async['refresh'](_0x54c7d7=null){const _0x4b014a=a0_0x23dbe4;this['logger'][_0x4b014a(0xc8)]('Force\x20refreshing\x20models'),await this[_0x4b014a(0xf5)](_0x54c7d7);}async[a0_0x23dbe4(0xe6)](_0x3916d7){const _0xc9c5f0=a0_0x23dbe4;(this[_0xc9c5f0(0xf0)]||!this[_0xc9c5f0(0xe3)])&&(this['logger'][_0xc9c5f0(0xef)](_0xc9c5f0(0xee)),await this['fetchModels'](_0x3916d7));}[a0_0x23dbe4(0xc5)](_0x161979=null){const _0x5d801f=a0_0x23dbe4;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this[_0x5d801f(0xc4)]>=this[_0x5d801f(0xd5)]){this['logger'][_0x5d801f(0xeb)](_0x5d801f(0xc2),{'attempts':this[_0x5d801f(0xc4)],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x2e75eb=this[_0x5d801f(0xcb)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger']['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x5d801f(0xc4)],'maxRetries':this['maxRetries'],'delayMs':_0x2e75eb}),this['retryTimer']=setTimeout(async()=>{const _0x14c8d4=_0x5d801f;this[_0x14c8d4(0xdd)][_0x14c8d4(0xc8)](_0x14c8d4(0xce),{'attempt':this[_0x14c8d4(0xc4)]});try{await this[_0x14c8d4(0xf5)](_0x161979),this['retryAttempts']=0x0,this[_0x14c8d4(0xf2)]=null;}catch(_0xdc436){this[_0x14c8d4(0xdd)]['warn']('Retry\x20attempt\x20failed',{'attempt':this[_0x14c8d4(0xc4)],'error':_0xdc436[_0x14c8d4(0xcd)]});}},_0x2e75eb);}[a0_0x23dbe4(0xcc)](){const _0xab1c74=a0_0x23dbe4;this[_0xab1c74(0xd7)]&&(clearTimeout(this['retryTimer']),this[_0xab1c74(0xd7)]=null,this[_0xab1c74(0xdd)]['debug']('Cancelled\x20pending\x20model\x20fetch\x20retry'));}[a0_0x23dbe4(0xe2)](){const _0x549c06=a0_0x23dbe4;return{'initialized':!!this['models'],'lastFetched':this[_0x549c06(0xe3)]?.[_0x549c06(0xf3)]()||null,'modelCount':this[_0x549c06(0xd0)]?.['length']||0x0,'isLoading':this[_0x549c06(0xcf)],'needsRefresh':this[_0x549c06(0xf0)](),'error':this[_0x549c06(0xf2)]||null,'retryAttempts':this[_0x549c06(0xc4)],'maxRetries':this[_0x549c06(0xd5)],'hasError':!!this[_0x549c06(0xf2)]};}}export default ModelsService;
|