@loxia-labs/loxia-autopilot-one 1.0.5 → 1.0.6
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-lCBai6dX.js → index-CX8ZfpGw.js} +113 -60
- package/web-ui/build/static/index-Dwg_JrlO.css +1 -0
- 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_0xfb0883=a0_0x409b;function a0_0x409b(_0x5cdf59,_0x1c97fb){_0x5cdf59=_0x5cdf59-0x1d7;const _0x48f3fc=a0_0x48f3();let _0x409b97=_0x48f3fc[_0x5cdf59];if(a0_0x409b['SYIHJp']===undefined){var _0xb03372=function(_0x141a9a){const _0x589d5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19277e='',_0xbbdbeb='';for(let _0x1694c8=0x0,_0x56b861,_0x415b6e,_0x24957c=0x0;_0x415b6e=_0x141a9a['charAt'](_0x24957c++);~_0x415b6e&&(_0x56b861=_0x1694c8%0x4?_0x56b861*0x40+_0x415b6e:_0x415b6e,_0x1694c8++%0x4)?_0x19277e+=String['fromCharCode'](0xff&_0x56b861>>(-0x2*_0x1694c8&0x6)):0x0){_0x415b6e=_0x589d5d['indexOf'](_0x415b6e);}for(let _0x3b41de=0x0,_0x4ad81b=_0x19277e['length'];_0x3b41de<_0x4ad81b;_0x3b41de++){_0xbbdbeb+='%'+('00'+_0x19277e['charCodeAt'](_0x3b41de)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xbbdbeb);};a0_0x409b['vXmBVO']=_0xb03372,a0_0x409b['TtWHSj']={},a0_0x409b['SYIHJp']=!![];}const _0x253f1b=_0x48f3fc[0x0],_0x4ab62b=_0x5cdf59+_0x253f1b,_0x34875c=a0_0x409b['TtWHSj'][_0x4ab62b];return!_0x34875c?(_0x409b97=a0_0x409b['vXmBVO'](_0x409b97),a0_0x409b['TtWHSj'][_0x4ab62b]=_0x409b97):_0x409b97=_0x34875c,_0x409b97;}(function(_0x59e1c0,_0x50f6ef){const _0x1b5729=a0_0x409b,_0x18d2f7=_0x59e1c0();while(!![]){try{const _0x5a32d0=-parseInt(_0x1b5729(0x1d7))/0x1*(parseInt(_0x1b5729(0x1f8))/0x2)+-parseInt(_0x1b5729(0x1f1))/0x3+-parseInt(_0x1b5729(0x1e6))/0x4+parseInt(_0x1b5729(0x1df))/0x5*(-parseInt(_0x1b5729(0x1ec))/0x6)+parseInt(_0x1b5729(0x21e))/0x7+-parseInt(_0x1b5729(0x1f6))/0x8*(parseInt(_0x1b5729(0x22c))/0x9)+parseInt(_0x1b5729(0x227))/0xa;if(_0x5a32d0===_0x50f6ef)break;else _0x18d2f7['push'](_0x18d2f7['shift']());}catch(_0x2f7a26){_0x18d2f7['push'](_0x18d2f7['shift']());}}}(a0_0x48f3,0x20a00));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x19277e,_0xbbdbeb,_0x1694c8){const _0x2d38ec=a0_0x409b;this['tokenCountingService']=_0x19277e,this['aiService']=_0xbbdbeb,this['logger']=_0x1694c8,this[_0x2d38ec(0x223)]=this[_0x2d38ec(0x201)]();}async['compactConversation'](_0x56b861,_0x415b6e,_0x24957c,_0x3b41de={}){const _0x4e7213=a0_0x409b,_0x4ad81b=Date['now']();try{if(!Array[_0x4e7213(0x224)](_0x56b861)||_0x56b861[_0x4e7213(0x200)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x56b861[_0x4e7213(0x200)]<COMPACTION_CONFIG[_0x4e7213(0x1f5)])return this['logger'][_0x4e7213(0x229)](_0x4e7213(0x22a),{'messageCount':_0x56b861[_0x4e7213(0x200)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x56b861,'strategy':_0x4e7213(0x21a),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x4e7213(0x20e)};const _0x3e6697=_0x415b6e!==_0x24957c,_0x2c003c=_0x3b41de[_0x4e7213(0x1fb)]||![];let _0x2a4933;if(_0x3e6697)_0x2a4933=COMPACTION_STRATEGIES[_0x4e7213(0x1e3)];else _0x2c003c?_0x2a4933=COMPACTION_STRATEGIES[_0x4e7213(0x1f3)]:_0x2a4933=_0x3b41de['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info'](_0x4e7213(0x1ea),{'messageCount':_0x56b861[_0x4e7213(0x200)],'currentModel':_0x415b6e,'targetModel':_0x24957c,'strategy':_0x2a4933,'isModelSwitch':_0x3e6697,'isRetry':_0x2c003c});let _0x1c6bc6;switch(_0x2a4933){case COMPACTION_STRATEGIES[_0x4e7213(0x215)]:_0x1c6bc6=await this['_compactWithSummarization'](_0x56b861,_0x415b6e,_0x3b41de);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x1c6bc6=await this[_0x4e7213(0x228)](_0x56b861,_0x24957c,_0x3b41de);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x1c6bc6=await this[_0x4e7213(0x1db)](_0x56b861,_0x415b6e,_0x3b41de);break;default:throw new Error(_0x4e7213(0x1f7)+_0x2a4933);}const _0x17dcf3=Date[_0x4e7213(0x1eb)]()-_0x4ad81b;return _0x1c6bc6[_0x4e7213(0x1fc)]=_0x17dcf3,_0x1c6bc6[_0x4e7213(0x208)]=new Date()['toISOString'](),this['logger'][_0x4e7213(0x220)]('Compaction\x20completed\x20successfully',{'strategy':_0x1c6bc6['strategy'],'originalMessages':_0x56b861[_0x4e7213(0x200)],'compactedMessages':_0x1c6bc6[_0x4e7213(0x1e7)][_0x4e7213(0x200)],'originalTokens':_0x1c6bc6[_0x4e7213(0x226)],'compactedTokens':_0x1c6bc6[_0x4e7213(0x1ff)],'reductionPercent':_0x1c6bc6[_0x4e7213(0x214)][_0x4e7213(0x1d8)](0x2),'executionTime':_0x17dcf3+'ms'}),_0x1c6bc6;}catch(_0x60a821){const _0x581386=Date['now']()-_0x4ad81b;this['logger']['error']('Compaction\x20failed',{'error':_0x60a821['message'],'messageCount':_0x56b861[_0x4e7213(0x200)],'currentModel':_0x415b6e,'targetModel':_0x24957c,'executionTime':_0x581386+'ms'});throw _0x60a821;}}async['_compactWithSummarization'](_0x15eb3d,_0x3ff3be,_0x5340eb){const _0x45f607=a0_0x409b,_0x2a5201=COMPACTION_STRATEGIES[_0x45f607(0x215)],_0x169d78=await this[_0x45f607(0x20d)]['estimateConversationTokens'](_0x15eb3d,_0x3ff3be,TOKEN_COUNTING_MODES[_0x45f607(0x1e4)]),_0x119874=await this[_0x45f607(0x1ed)](_0x15eb3d,_0x3ff3be,COMPACTION_CONFIG[_0x45f607(0x1e8)],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x45f607(0x21b)][_0x45f607(0x1e1)](_0x45f607(0x20c),{'beginningMessages':_0x119874[_0x45f607(0x209)]['length'],'middleMessages':_0x119874[_0x45f607(0x217)][_0x45f607(0x200)],'endMessages':_0x119874['end'][_0x45f607(0x200)],'middleStartIndex':_0x119874[_0x45f607(0x1e9)],'middleEndIndex':_0x119874['middleEndIndex'],'totalMessages':_0x15eb3d[_0x45f607(0x200)]});const _0x2b54d4=await this['_generateSummary'](_0x119874['middle'],_0x3ff3be,{..._0x5340eb,'middleStartIndex':_0x119874[_0x45f607(0x1e9)],'middleEndIndex':_0x119874['middleEndIndex']}),_0x15e6da=[..._0x119874[_0x45f607(0x209)],_0x2b54d4,..._0x119874[_0x45f607(0x20b)]],_0x2334d2=await this['tokenCountingService'][_0x45f607(0x1e5)](_0x15e6da,_0x3ff3be,TOKEN_COUNTING_MODES[_0x45f607(0x1e4)]),_0xad80b9=(_0x169d78-_0x2334d2)/_0x169d78*0x64;return{'compactedMessages':_0x15e6da,'strategy':_0x2a5201,'originalTokenCount':_0x169d78,'compactedTokenCount':_0x2334d2,'reductionPercent':_0xad80b9,'segments':{'beginningCount':_0x119874[_0x45f607(0x209)][_0x45f607(0x200)],'middleCount':_0x119874['middle']['length'],'endCount':_0x119874[_0x45f607(0x20b)]['length'],'summaryInserted':!![]}};}async[a0_0xfb0883(0x228)](_0x5654ce,_0x577268,_0x394227){const _0x5c5c26=a0_0xfb0883,_0xfeee5a=COMPACTION_STRATEGIES[_0x5c5c26(0x1e3)],_0x2b5bfa=this[_0x5c5c26(0x20d)][_0x5c5c26(0x212)](_0x577268),_0x1bfd23=Math[_0x5c5c26(0x210)](_0x2b5bfa*0.8),_0x5c2b02=await this[_0x5c5c26(0x20d)]['estimateConversationTokens'](_0x5654ce,_0x577268,TOKEN_COUNTING_MODES['ACCURATE']),_0x11131e=await this['_identifySegments'](_0x5654ce,_0x577268,COMPACTION_CONFIG[_0x5c5c26(0x21c)],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this['logger'][_0x5c5c26(0x1e1)](_0x5c5c26(0x1da),{'beginningMessages':_0x11131e[_0x5c5c26(0x209)]['length'],'middleMessages':_0x11131e[_0x5c5c26(0x217)]['length'],'endMessages':_0x11131e['end']['length'],'targetTokenCount':_0x1bfd23,'originalTokenCount':_0x5c2b02});const _0x23823f={'role':_0x5c5c26(0x211),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':'separator','timestamp':new Date()[_0x5c5c26(0x21f)](),'metadata':{'truncatedMessages':_0x11131e[_0x5c5c26(0x217)][_0x5c5c26(0x200)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x319dae=[..._0x11131e['beginning'],_0x23823f,..._0x11131e[_0x5c5c26(0x20b)]],_0x1ceba7=await this['tokenCountingService'][_0x5c5c26(0x1e5)](_0x319dae,_0x577268,TOKEN_COUNTING_MODES[_0x5c5c26(0x1e4)]),_0x150379=(_0x5c2b02-_0x1ceba7)/_0x5c2b02*0x64;return{'compactedMessages':_0x319dae,'strategy':_0xfeee5a,'originalTokenCount':_0x5c2b02,'compactedTokenCount':_0x1ceba7,'reductionPercent':_0x150379,'segments':{'beginningCount':_0x11131e['beginning']['length'],'middleCount':_0x11131e['middle']['length'],'endCount':_0x11131e['end'][_0x5c5c26(0x200)],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x17f46c,_0x56e81d,_0x46cb84){const _0x3aeaf4=a0_0xfb0883,_0x25a4cf=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x9238bc=await this['tokenCountingService']['estimateConversationTokens'](_0x17f46c,_0x56e81d,TOKEN_COUNTING_MODES['ACCURATE']),_0x413db5=await this[_0x3aeaf4(0x1ed)](_0x17f46c,_0x56e81d,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x3aeaf4(0x204)]);this[_0x3aeaf4(0x21b)]['debug'](_0x3aeaf4(0x1fd),{'beginningMessages':_0x413db5['beginning'][_0x3aeaf4(0x200)],'middleMessages':_0x413db5[_0x3aeaf4(0x217)]['length'],'endMessages':_0x413db5[_0x3aeaf4(0x20b)]['length'],'middleStartIndex':_0x413db5['middleStartIndex'],'middleEndIndex':_0x413db5[_0x3aeaf4(0x203)]});const _0x3970fe=await this[_0x3aeaf4(0x1e2)](_0x413db5[_0x3aeaf4(0x217)],_0x56e81d,{..._0x46cb84,'aggressive':!![],'middleStartIndex':_0x413db5['middleStartIndex'],'middleEndIndex':_0x413db5[_0x3aeaf4(0x203)]}),_0x41a8d8=[..._0x413db5['beginning'],_0x3970fe,..._0x413db5[_0x3aeaf4(0x20b)]],_0x127a8b=await this['tokenCountingService']['estimateConversationTokens'](_0x41a8d8,_0x56e81d,TOKEN_COUNTING_MODES['ACCURATE']),_0x4310ac=(_0x9238bc-_0x127a8b)/_0x9238bc*0x64;return{'compactedMessages':_0x41a8d8,'strategy':_0x25a4cf,'originalTokenCount':_0x9238bc,'compactedTokenCount':_0x127a8b,'reductionPercent':_0x4310ac,'segments':{'beginningCount':_0x413db5[_0x3aeaf4(0x209)]['length'],'middleCount':_0x413db5['middle']['length'],'endCount':_0x413db5[_0x3aeaf4(0x20b)][_0x3aeaf4(0x200)],'summaryInserted':!![]}};}async['_identifySegments'](_0x6d6d0e,_0xb04538,_0x5b5422,_0x409863){const _0x2f78d1=a0_0xfb0883,_0x3801e6=await this['tokenCountingService'][_0x2f78d1(0x1e5)](_0x6d6d0e,_0xb04538,TOKEN_COUNTING_MODES['ACCURATE']),_0x52c83e=Math['floor'](_0x3801e6*_0x5b5422),_0x37b4cb=Math['floor'](_0x3801e6*_0x409863);let _0x15710f=0x0,_0x48465f=0x0;for(let _0x2f2650=0x0;_0x2f2650<_0x6d6d0e['length'];_0x2f2650++){const _0x293c4b=await this[_0x2f78d1(0x20d)][_0x2f78d1(0x1d9)](_0x6d6d0e[_0x2f2650]['content'],_0xb04538,TOKEN_COUNTING_MODES['CACHED']);if(_0x15710f+_0x293c4b>_0x52c83e&&_0x2f2650>=0x2)break;_0x15710f+=_0x293c4b,_0x48465f=_0x2f2650+0x1;}let _0x3f6afc=0x0,_0x4c2c98=_0x6d6d0e['length'];for(let _0x37b845=_0x6d6d0e['length']-0x1;_0x37b845>=0x0;_0x37b845--){const _0x1f5d33=await this[_0x2f78d1(0x20d)]['countTokens'](_0x6d6d0e[_0x37b845]['content'],_0xb04538,TOKEN_COUNTING_MODES[_0x2f78d1(0x206)]);if(_0x3f6afc+_0x1f5d33>_0x37b4cb)break;_0x3f6afc+=_0x1f5d33,_0x4c2c98=_0x37b845;}_0x4c2c98<_0x48465f&&(_0x4c2c98=_0x48465f);const _0xa5bab7=_0x6d6d0e[_0x2f78d1(0x1fa)](0x0,_0x48465f),_0x5704ba=_0x6d6d0e[_0x2f78d1(0x1fa)](_0x48465f,_0x4c2c98),_0x207e5a=_0x6d6d0e['slice'](_0x4c2c98);return{'beginning':_0xa5bab7,'middle':_0x5704ba,'end':_0x207e5a,'middleStartIndex':_0x48465f,'middleEndIndex':_0x4c2c98-0x1};}async[a0_0xfb0883(0x1e2)](_0x4c8595,_0x5025c4,_0x9303d6={}){const _0x36a52e=a0_0xfb0883;if(_0x4c8595['length']===0x0)return{'role':_0x36a52e(0x211),'content':COMPACTION_CONFIG[_0x36a52e(0x1f9)]+'\x20No\x20messages\x20to\x20summarize.','type':_0x36a52e(0x1f0),'timestamp':new Date()[_0x36a52e(0x21f)]()};const _0x32b6a7=_0x4c8595[_0x36a52e(0x20f)](_0x5d2327=>_0x5d2327[_0x36a52e(0x225)]+':\x20'+_0x5d2327['content'])[_0x36a52e(0x213)]('\x0a\x0a'),_0x282db9=this['summaryPromptTemplate'][_0x36a52e(0x222)]('{middle_segment}',_0x32b6a7)['replace'](_0x36a52e(0x22d),_0x9303d6[_0x36a52e(0x1ee)]?_0x36a52e(0x1f4):''),_0x519ef3=[COMPACTION_CONFIG[_0x36a52e(0x1de)],...COMPACTION_CONFIG[_0x36a52e(0x1e0)]];let _0x533bc7=null;for(const _0x5474ee of _0x519ef3){try{this[_0x36a52e(0x21b)]['debug']('Generating\x20summary',{'compactionModel':_0x5474ee,'middleMessageCount':_0x4c8595['length'],'middleContentLength':_0x32b6a7[_0x36a52e(0x200)],'aggressive':_0x9303d6[_0x36a52e(0x1ee)]});const _0x30c04b=await this['aiService']['sendMessage'](_0x5474ee,_0x282db9,{'systemPrompt':_0x36a52e(0x1f2),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x9303d6[_0x36a52e(0x21d)],'platformProvided':!![]}),_0x312fe4=_0x30c04b[_0x36a52e(0x1dd)]['trim'](),_0x4c1995=_0x9303d6['middleStartIndex']!==undefined&&_0x9303d6['middleEndIndex']!==undefined?_0x36a52e(0x218)+_0x9303d6['middleStartIndex']+'-'+_0x9303d6[_0x36a52e(0x203)]:_0x4c8595[_0x36a52e(0x200)]+_0x36a52e(0x216);return this['logger'][_0x36a52e(0x220)](_0x36a52e(0x205),{'compactionModel':_0x5474ee,'originalLength':_0x32b6a7[_0x36a52e(0x200)],'summaryLength':_0x312fe4['length'],'compressionRatio':(_0x312fe4['length']/_0x32b6a7['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0x4c1995}),{'role':_0x36a52e(0x211),'content':COMPACTION_CONFIG[_0x36a52e(0x1f9)]+_0x36a52e(0x1fe)+_0x4c1995+_0x36a52e(0x20a)+_0x312fe4+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x36a52e(0x1f0),'timestamp':new Date()[_0x36a52e(0x21f)](),'metadata':{'originalMessageCount':_0x4c8595[_0x36a52e(0x200)],'originalStartIndex':_0x9303d6['middleStartIndex'],'originalEndIndex':_0x9303d6[_0x36a52e(0x203)],'compactionModel':_0x5474ee,'aggressive':_0x9303d6['aggressive']||![]}};}catch(_0x36513a){_0x533bc7=_0x36513a,this['logger'][_0x36a52e(0x229)](_0x36a52e(0x202),{'compactionModel':_0x5474ee,'error':_0x36513a['message'],'middleMessageCount':_0x4c8595['length']});}}this['logger']['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x519ef3['length'],'lastError':_0x533bc7?.['message'],'middleMessageCount':_0x4c8595['length']});const _0x9d1a83=this['_createFallbackSummary'](_0x4c8595),_0x39203f=_0x9303d6[_0x36a52e(0x1e9)]!==undefined&&_0x9303d6['middleEndIndex']!==undefined?_0x36a52e(0x218)+_0x9303d6['middleStartIndex']+'-'+_0x9303d6['middleEndIndex']:_0x4c8595[_0x36a52e(0x200)]+_0x36a52e(0x216);return{'role':_0x36a52e(0x211),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x39203f+_0x36a52e(0x20a)+_0x9d1a83+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x36a52e(0x1f0),'timestamp':new Date()[_0x36a52e(0x21f)](),'metadata':{'originalMessageCount':_0x4c8595['length'],'originalStartIndex':_0x9303d6[_0x36a52e(0x1e9)],'originalEndIndex':_0x9303d6[_0x36a52e(0x203)],'fallback':!![],'error':_0x533bc7?.[_0x36a52e(0x221)],'modelsAttempted':_0x519ef3}};}[a0_0xfb0883(0x22b)](_0x10b9b3){const _0x4cc9cf=a0_0xfb0883,_0x324dcd=_0x10b9b3[_0x4cc9cf(0x200)],_0xb8f3c0=_0x10b9b3[_0x4cc9cf(0x20f)](_0xc8f91e=>_0xc8f91e[_0x4cc9cf(0x225)]),_0x5be169=_0xb8f3c0['filter'](_0x20066f=>_0x20066f===_0x4cc9cf(0x1dc))[_0x4cc9cf(0x200)],_0x310879=_0xb8f3c0[_0x4cc9cf(0x219)](_0x4e1d0c=>_0x4e1d0c==='assistant')[_0x4cc9cf(0x200)];return'['+_0x324dcd+'\x20messages\x20summarized\x20-\x20'+_0x5be169+'\x20user\x20messages,\x20'+_0x310879+_0x4cc9cf(0x1ef)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}[a0_0xfb0883(0x201)](){const _0x271025=a0_0xfb0883;return _0x271025(0x207);}}export default ConversationCompactionService;function a0_0x48f3(){const _0x3a28cf=['yMvNAw5UAw5N','xqOk','zw5K','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','vg9VigzLDYbTzxnZywDLCW','BwfW','zMXVB3i','C3LZDgvT','z2v0tw9KzwXdB250zxH0v2LUzg93','AM9PBG','CMvKDwn0Aw9UugvYy2vUDa','u1vntufssvPbveLptG','ig1LC3nHz2vZ','BwLKzgXL','B3jPz2LUywWGBwvZC2fNzxmG','zMLSDgvY','BM9Uzq','Bg9Nz2vY','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','C2vZC2LVBKLK','mtaWodm0m0zmsfDmAG','Dg9ju09tDhjPBMC','Aw5MBW','BwvZC2fNzq','CMvWBgfJzq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','AxnbCNjHEq','CM9Szq','B3jPz2LUywXuB2TLBKnVDw50','ote3mte5mfLIwgfKAW','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','D2fYBG','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','ou9NqKPTCG','E2fNz3jLC3nPDMvFAw5ZDhj1y3rPB259','mJiZChjMCMvL','Dg9gAxHLza','y291BNruB2TLBNm','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','DxnLCG','y29UDgvUDa','q09nuefdveLptL9nt0rfta','mteWqK1rzwX3','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','zgvIDwC','x2DLBMvYyxrLu3vTBwfYEq','vfjvtKnbveLptG','qundvvjbveu','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','ntuYmta0yureB1fq','y29TCgfJDgvKtwvZC2fNzxm','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','BM93','mJq0nZrKqu1ps3e','x2LKzw50Awz5u2vNBwvUDhm','ywDNCMvZC2L2zq','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','C3vTBwfYEq','nJGYmtG4wujpzwj3','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','quDhuKvtu0Lwrq','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','mtG2ndC3nLnZDMDuuG','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','mJe0nNzTDwzrBW','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','C2XPy2u','AxnszxrYEq','zxHLy3v0Aw9UvgLTzq','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','ic0G','y29TCgfJDgvKvg9Rzw5dB3vUDa','BgvUz3rO','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','BwLKzgXLrw5Ksw5KzxG','quDhuKvtu0Lwrv9ftKrFuevsq0vovefhrq','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','q0fdseve','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','DgLTzxn0yw1W'];a0_0x48f3=function(){return _0x3a28cf;};return a0_0x48f3();}
|
|
@@ -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
|
+
function a0_0x40f3(){const _0x3b3105=['r2vUzxjPyYbJCML0AwnHBcbLCNjVCG','DgLTzwqGB3v0','BwLU','ChvZAa','BwvKAxvT','DgLTzw91Da','B3bLCMf0Aw9U','Dg9VBeLK','uevstuLtu0LptL9eru5jruq','BwvZC2fNzq','tM8GzMLSzsbWyxrOihbYB3zPzgvK','y2fSy3vSyxrLuMv0CNLezwXHEq','ve9px01btLLFuKvrvuvtvfm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGyxzHAwXHyMXL','Bg9Nz2vY','y29UDgv4Da','Dg9tDhjPBMC','y3jPDgLJywXfCNjVCNm','tK9ux0zpvu5e','y29UzMLNDxjHDgLVBG','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','y29Kzq','yxr0zw1WDfjLy292zxj5','q09orKLhvvjbveLptL9fuLjpuG','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','ywrK','DxbKyxrLrxjYB3jtDgf0CW','z2v0','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','odmXnJi4oe96CKL5uq','mtmYmdC4mMngC0fIwG','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','mteWnZmWmKnnDenYvG','C3vIC2nYAwjL','CMvHC29U','BM90Awz5u3vIC2nYAwjLCNm','zw1PDa','z2v0twf4uMv0CMLLCW','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','zNjVBuvUDhjPzxm','BgvUz3rO','mZyWmde2oe5zq0j3Ca','D2fYBG','DgLTzxn0yw1W','zxjYB3jrDwv1zq','Dg9mB3DLCKnHC2u','Dw5JyxvNAhrfEgnLChrPB24','zgvIDwC','ywDLBNrjza','C3vJy2vZCW','CMfUzg9T','C2HVDwXKuMv0CNK','zxjYB3jtDgf0CW','Aw52ywXPza','zgv0zxjTAw5LrxjYB3juExbL','DgLTzw91Df9YzwnVDMvYEq','Cg93','y3jPDgLJywXfCNjVCG','rKLmrv9ot1rFrK9vtKq','zgf0yv9Zyw5PDgL6yxrPB24','CMf0zv9SAw1PDf9YzwnVDMvYEq','Aw5JBhvKzxm','mtvOrhrSsvO','Dw5JyxvNAhrFzxHJzxb0Aw9U','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','AgfZ','C3vIC3rY','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','zxjYB3jtDwjZy3jPyMvYCW','ChjVy2vZC0vYCM9YuxvLDwu','DhLWzq','Bwf4uMv0CMLLCW','Bg93','BMfTzq','yxbPx3jLCxvLC3q','mtG0nde2nNbfDhzZsq','mJa4mtu2mMLPu3foBa','B3bLCMf0Aw9Uswq','AxnqCM9JzxnZAw5NuxvLDwu','qvvusevoveLdqvrjt05FrKfjteve','C2v2zxjPDhK','y3jPDgLJywW','C2v0','C2v0DxbfCNjVCLbYB2nLC3nPBMC','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','CMv0CNLdB3vUDa','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','Bg9NrxjYB3i','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','Dg90ywXfCNjVCNm','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','zxjYB3jZqNLuExbL','zxjYB3jZqNLbz2vUDa','z2v0rxjYB3jtDgf0CW','y2XHC3nPzNLfCNjVCG','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ntu1mdC5EgXxqwre','uKfurv9msu1jvf9fwenfrurfra','AgfUzgXLq3jPDgLJywXfCNjVCG','AxnszwnVDMvYywjSzq','C3rHDhvZ','Dw5KzwzPBMvK','CMvJB3zLCMfIBgu','t1bfuKfusu9ox1rjtuvpvvq','zxjYB3i','rK9sqKLerevo','CMvJB3zLCNLtDhjHDgvNAwvZ','CMvJB3zLCNLbDhrLBxb0CW','ru5pru5u','DMfSAwrHDgLVBG','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','vKfmsurbveLptL9fuLjpuG','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','Aw5MBW','C3vJy2vZC2z1BfjLy292zxjPzxm','Aw5WDxreyxrH','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK'];a0_0x40f3=function(){return _0x3b3105;};return a0_0x40f3();}const a0_0x4c39a3=a0_0x4e3b;(function(_0x4407c3,_0x317ed5){const _0x31912c=a0_0x4e3b,_0xe1a019=_0x4407c3();while(!![]){try{const _0x1b8306=parseInt(_0x31912c(0x1a0))/0x1+-parseInt(_0x31912c(0x19e))/0x2+-parseInt(_0x31912c(0x1cc))/0x3+parseInt(_0x31912c(0x1a9))/0x4+-parseInt(_0x31912c(0x1be))/0x5*(-parseInt(_0x31912c(0x1cb))/0x6)+parseInt(_0x31912c(0x16a))/0x7+-parseInt(_0x31912c(0x19d))/0x8;if(_0x1b8306===_0x317ed5)break;else _0xe1a019['push'](_0xe1a019['shift']());}catch(_0x3ff6ae){_0xe1a019['push'](_0xe1a019['shift']());}}}(a0_0x40f3,0x9621f));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x4e3b(_0x4a34b8,_0x233f14){_0x4a34b8=_0x4a34b8-0x15c;const _0x40f38b=a0_0x40f3();let _0x4e3b22=_0x40f38b[_0x4a34b8];if(a0_0x4e3b['pAAtzm']===undefined){var _0x208e79=function(_0x25c366){const _0x4dafba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43e490='',_0x35911b='';for(let _0x340aef=0x0,_0x4e5092,_0x589ea4,_0x3be8ea=0x0;_0x589ea4=_0x25c366['charAt'](_0x3be8ea++);~_0x589ea4&&(_0x4e5092=_0x340aef%0x4?_0x4e5092*0x40+_0x589ea4:_0x589ea4,_0x340aef++%0x4)?_0x43e490+=String['fromCharCode'](0xff&_0x4e5092>>(-0x2*_0x340aef&0x6)):0x0){_0x589ea4=_0x4dafba['indexOf'](_0x589ea4);}for(let _0x3651d4=0x0,_0x3b7b2b=_0x43e490['length'];_0x3651d4<_0x3b7b2b;_0x3651d4++){_0x35911b+='%'+('00'+_0x43e490['charCodeAt'](_0x3651d4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35911b);};a0_0x4e3b['pHgzvr']=_0x208e79,a0_0x4e3b['mGpjtj']={},a0_0x4e3b['pAAtzm']=!![];}const _0x5da9af=_0x40f38b[0x0],_0x1aa24c=_0x4a34b8+_0x5da9af,_0x330530=a0_0x4e3b['mGpjtj'][_0x1aa24c];return!_0x330530?(_0x4e3b22=a0_0x4e3b['pHgzvr'](_0x4e3b22),a0_0x4e3b['mGpjtj'][_0x1aa24c]=_0x4e3b22):_0x4e3b22=_0x330530,_0x4e3b22;}export class ErrorHandler{constructor(_0x43e490,_0x35911b){const _0x2e32ad=a0_0x4e3b;this['config']=_0x43e490||{},this['logger']=_0x35911b,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['recoveryStrategies']=new Map(),this[_0x2e32ad(0x1c4)]=new Set(),this[_0x2e32ad(0x1ac)]=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x2e32ad(0x15d)]();}async['handleError'](_0x340aef,_0x4e5092={}){const _0x19a1f1=a0_0x4e3b;try{const _0x589ea4=this['classifyError'](_0x340aef,_0x4e5092),_0x3be8ea=await this['processError'](_0x589ea4);return this[_0x19a1f1(0x199)](_0x589ea4),this[_0x19a1f1(0x1a3)](_0x589ea4,_0x3be8ea),_0x3be8ea;}catch(_0x3651d4){return this['logger']['error']('Error\x20handling\x20failed',{'originalError':_0x340aef[_0x19a1f1(0x188)],'handlingError':_0x3651d4[_0x19a1f1(0x188)]}),{'success':![],'error':_0x3651d4,'recovery':null,'severity':_0x19a1f1(0x1d1)};}}[a0_0x4c39a3(0x168)](_0x3b7b2b,_0x27aef2={}){const _0x178c53=a0_0x4c39a3,_0x462acd={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x3b7b2b[_0x178c53(0x188)]||_0x3b7b2b['toString'](),'stack':_0x3b7b2b['stack']||null,'code':_0x3b7b2b[_0x178c53(0x194)]||null,'type':this['determineErrorType'](_0x3b7b2b,_0x27aef2),'severity':this['determineSeverity'](_0x3b7b2b,_0x27aef2),'context':{..._0x27aef2},'recoverable':!![],'retryCount':_0x27aef2[_0x178c53(0x15f)]||0x0,'maxRetries':this['getMaxRetries'](_0x3b7b2b,_0x27aef2)};return _0x27aef2[_0x178c53(0x1b0)]&&(_0x462acd['agentId']=_0x27aef2['agentId']),_0x27aef2[_0x178c53(0x186)]&&(_0x462acd[_0x178c53(0x186)]=_0x27aef2['toolId']),_0x27aef2['operationId']&&(_0x462acd[_0x178c53(0x1cd)]=_0x27aef2['operationId']),_0x462acd['recoverable']=this[_0x178c53(0x16d)](_0x462acd),_0x462acd;}async['processError'](_0x5623a3){const _0x449910=a0_0x4c39a3;try{this[_0x449910(0x18d)][_0x449910(0x172)]('Processing\x20error',{'errorId':_0x5623a3['id'],'type':_0x5623a3[_0x449910(0x1c6)],'severity':_0x5623a3[_0x449910(0x1d0)],'agentId':_0x5623a3[_0x449910(0x1b0)],'message':_0x5623a3['message']});_0x5623a3[_0x449910(0x1d0)]==='critical'&&await this[_0x449910(0x16c)](_0x5623a3);let _0x2abdcf=null;return _0x5623a3[_0x449910(0x170)]&&_0x5623a3['retryCount']<_0x5623a3[_0x449910(0x1c7)]&&(_0x2abdcf=await this[_0x449910(0x195)](_0x5623a3)),await this['logError'](_0x5623a3,_0x2abdcf),{'success':_0x2abdcf?.[_0x449910(0x1b1)]||![],'errorId':_0x5623a3['id'],'errorType':_0x5623a3[_0x449910(0x1c6)],'severity':_0x5623a3[_0x449910(0x1d0)],'recovery':_0x2abdcf,'shouldRetry':this[_0x449910(0x1b3)](_0x5623a3,_0x2abdcf),'retryDelay':this[_0x449910(0x18a)](_0x5623a3)};}catch(processingError){return this['logger'][_0x449910(0x172)]('Error\x20processing\x20failed',{'errorId':_0x5623a3['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x5623a3['id'],'errorType':_0x5623a3[_0x449910(0x1c6)],'severity':_0x449910(0x1d1),'recovery':null,'shouldRetry':![]};}}async[a0_0x4c39a3(0x195)](_0x571c43){const _0x586900=a0_0x4c39a3;try{this['errorStats']['recoveryAttempts']++;const _0x3c8ca2=this[_0x586900(0x174)][_0x586900(0x19a)](_0x571c43[_0x586900(0x1c6)])||this[_0x586900(0x174)][_0x586900(0x19a)]('default');if(!_0x3c8ca2)return this[_0x586900(0x18d)]['warn']('No\x20recovery\x20strategy\x20found',{'errorType':_0x571c43['type']}),{'success':![],'reason':_0x586900(0x18c)};this[_0x586900(0x18d)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x571c43['id'],'errorType':_0x571c43[_0x586900(0x1c6)],'strategy':_0x3c8ca2[_0x586900(0x1c9)],'retryCount':_0x571c43[_0x586900(0x15f)]});const _0x4e1a60=await _0x3c8ca2['recover'](_0x571c43);return _0x4e1a60['success']?(this['errorStats'][_0x586900(0x17c)]++,this[_0x586900(0x18d)][_0x586900(0x17b)](_0x586900(0x197),{'errorId':_0x571c43['id'],'strategy':_0x3c8ca2[_0x586900(0x1c9)]})):this[_0x586900(0x18d)][_0x586900(0x1aa)]('Error\x20recovery\x20failed',{'errorId':_0x571c43['id'],'strategy':_0x3c8ca2[_0x586900(0x1c9)],'reason':_0x4e1a60[_0x586900(0x1a2)]}),_0x4e1a60;}catch(_0x58d825){return this['logger'][_0x586900(0x172)]('Recovery\x20attempt\x20failed',{'errorId':_0x571c43['id'],'recoveryError':_0x58d825[_0x586900(0x188)]}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x58d825['message']};}}async['handleCriticalError'](_0x64af8f){const _0x534c17=a0_0x4c39a3;try{this['errorStats'][_0x534c17(0x190)]++,this['logger'][_0x534c17(0x172)]('Critical\x20error\x20detected',{'errorId':_0x64af8f['id'],'message':_0x64af8f[_0x534c17(0x188)],'context':_0x64af8f['context']});typeof process!==_0x534c17(0x16f)&&process[_0x534c17(0x1a4)]&&process['emit'](_0x534c17(0x1b9),_0x64af8f);switch(_0x64af8f['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this['handleAuthenticationFailure'](_0x64af8f);break;case ERROR_TYPES[_0x534c17(0x16b)]:await this['handleRateLimitExceeded'](_0x64af8f);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this['handleOperationTimeout'](_0x64af8f);break;default:await this[_0x534c17(0x162)](_0x64af8f);}}catch(_0x143712){this[_0x534c17(0x18d)]['error']('Critical\x20error\x20handling\x20failed',{'errorId':_0x64af8f['id'],'handlingError':_0x143712[_0x534c17(0x188)]});}}[a0_0x4c39a3(0x1b6)](_0x59d49f,_0x35c3ec){const _0x5004ec=a0_0x4c39a3;if(_0x59d49f[_0x5004ec(0x194)]===_0x5004ec(0x176)||_0x59d49f['status']===HTTP_STATUS[_0x5004ec(0x191)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x59d49f['code']==='EACCES'||_0x59d49f[_0x5004ec(0x16e)]===HTTP_STATUS[_0x5004ec(0x173)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x59d49f['status']===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES[_0x5004ec(0x1cf)];if(_0x59d49f['status']===HTTP_STATUS[_0x5004ec(0x18b)])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x346de4=_0x59d49f['message']?.[_0x5004ec(0x1ad)]()||'';if(_0x346de4[_0x5004ec(0x1bd)](_0x5004ec(0x184))||_0x346de4[_0x5004ec(0x1bd)](_0x5004ec(0x180)))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x346de4[_0x5004ec(0x1bd)](_0x5004ec(0x177))||_0x346de4['includes'](_0x5004ec(0x1b5)))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x346de4['includes']('config')||_0x346de4['includes'](_0x5004ec(0x192)))return ERROR_TYPES[_0x5004ec(0x196)];if(_0x35c3ec[_0x5004ec(0x185)]==='file_operation')return ERROR_TYPES[_0x5004ec(0x1ba)];if(_0x35c3ec['operation']===_0x5004ec(0x1ca))return ERROR_TYPES[_0x5004ec(0x16b)];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0xd69ed9,_0x4229c2){const _0x5d0352=a0_0x4c39a3,_0x29dd76=[ERROR_TYPES[_0x5d0352(0x1cf)],ERROR_TYPES[_0x5d0352(0x196)]],_0x532ef4=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x17b19e=this['determineErrorType'](_0xd69ed9,_0x4229c2);if(_0x29dd76['includes'](_0x17b19e))return'critical';if(_0x532ef4['includes'](_0x17b19e))return'high';const _0x190bbb=_0x4229c2&&_0x4229c2[_0x5d0352(0x15f)]||0x0;if(_0x190bbb>=0x3)return'high';if(_0x4229c2&&_0x4229c2['agentId']&&_0x4229c2[_0x5d0352(0x185)]==='agent_communication')return _0x5d0352(0x183);return _0x5d0352(0x1c8);}[a0_0x4c39a3(0x16d)](_0x132c11){const _0x335f75=a0_0x4c39a3,_0x2fbfc0=[ERROR_TYPES[_0x335f75(0x1cf)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x2fbfc0['includes'](_0x132c11[_0x335f75(0x1c6)]))return![];if(_0x132c11['retryCount']>=_0x132c11[_0x335f75(0x1c7)])return![];if(_0x132c11['severity']==='critical')return![];return!![];}[a0_0x4c39a3(0x1a5)](_0x3454b4,_0x5647b4){const _0x3ee7dd=a0_0x4c39a3,_0x3a7f0c=this['determineErrorType'](_0x3454b4,_0x5647b4),_0x42326a={[ERROR_TYPES[_0x3ee7dd(0x16b)]]:0x5,[ERROR_TYPES[_0x3ee7dd(0x171)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES[_0x3ee7dd(0x187)]]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x42326a[_0x3a7f0c]||0x3;}[a0_0x4c39a3(0x1b3)](_0x3df9ee,_0x473f25){const _0x412806=a0_0x4c39a3;if(!_0x3df9ee[_0x412806(0x170)])return![];if(_0x3df9ee[_0x412806(0x15f)]>=_0x3df9ee[_0x412806(0x1c7)])return![];if(_0x473f25&&_0x473f25['success'])return![];return!![];}[a0_0x4c39a3(0x18a)](_0x1ff90a){const _0x84ee09=a0_0x4c39a3,_0x28adf0=0x3e8,_0xd96646=0x7530,_0x27ad84=_0x28adf0*Math[_0x84ee09(0x1b8)](0x2,_0x1ff90a['retryCount']),_0x35913c=Math[_0x84ee09(0x1b2)]()*0x3e8;return Math[_0x84ee09(0x181)](_0x27ad84+_0x35913c,_0xd96646);}[a0_0x4c39a3(0x15e)](){const _0x458607=a0_0x4c39a3;this[_0x458607(0x174)][_0x458607(0x15c)](ERROR_TYPES[_0x458607(0x1ba)],{'name':_0x458607(0x17e),'recover':async _0x1ae7d0=>{const _0x4d5521=_0x458607;if(_0x1ae7d0['context']['filePath'])return{'success':![],'reason':_0x4d5521(0x160),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x4d5521(0x189)};}}),this[_0x458607(0x174)][_0x458607(0x15c)](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':_0x458607(0x1bc),'recover':async _0x1bdd87=>{const _0x49575c=_0x458607,_0x10f577=this['calculateRateLimitWait'](_0x1bdd87);return this['logger']['info']('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0x10f577}),await new Promise(_0x52abf1=>setTimeout(_0x52abf1,_0x10f577)),{'success':!![],'action':_0x49575c(0x1c0),'waitTime':_0x10f577};}}),this['recoveryStrategies'][_0x458607(0x15c)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':_0x458607(0x1b7),'recover':async _0xf5d7a4=>{const _0xf08bba=_0x458607;if(_0xf5d7a4[_0xf08bba(0x18e)]['timeout']){const _0x98d26f=Math['min'](_0xf5d7a4['context'][_0xf08bba(0x184)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x98d26f};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x458607(0x174)]['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':'permission_recovery','recover':async _0x404295=>{const _0x4fb43a=_0x458607;return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':_0x4fb43a(0x19c)};}}),this['recoveryStrategies'][_0x458607(0x15c)](ERROR_TYPES[_0x458607(0x179)],{'name':'validation_recovery','recover':async _0x329e9b=>{const _0x506f4e=_0x458607;if(_0x329e9b[_0x506f4e(0x18e)][_0x506f4e(0x17d)])return{'success':!![],'action':_0x506f4e(0x1bb),'suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':_0x506f4e(0x178)};}}),this['recoveryStrategies']['set']('default',{'name':'default_recovery','recover':async _0x366c80=>{const _0x5c8aec=this['calculateRetryDelay'](_0x366c80);return await new Promise(_0xc80ebf=>setTimeout(_0xc80ebf,_0x5c8aec)),{'success':!![],'action':'delay_retry','delay':_0x5c8aec};}});}async['handleAuthenticationFailure'](_0x1429ff){const _0x1b675b=a0_0x4c39a3;this[_0x1b675b(0x18d)][_0x1b675b(0x172)]('Authentication\x20failure\x20detected',{'errorId':_0x1429ff['id']});if(_0x1429ff['agentId']){}}async[a0_0x4c39a3(0x193)](_0x45ca17){const _0x39a071=a0_0x4c39a3,_0x3a70f9=this[_0x39a071(0x17a)](_0x45ca17);this[_0x39a071(0x18d)]['warn'](_0x39a071(0x19b),{'errorId':_0x45ca17['id'],'waitTime':_0x3a70f9,'agentId':_0x45ca17['agentId']});if(_0x45ca17[_0x39a071(0x1b0)]){}}async['handleOperationTimeout'](_0xbe59db){const _0x4a8300=a0_0x4c39a3;this['logger'][_0x4a8300(0x172)](_0x4a8300(0x19f),{'errorId':_0xbe59db['id'],'operation':_0xbe59db[_0x4a8300(0x18e)]['operation'],'timeout':_0xbe59db['context']['timeout']});}async[a0_0x4c39a3(0x162)](_0x28ee77){const _0x280ab4=a0_0x4c39a3;this['logger'][_0x280ab4(0x172)](_0x280ab4(0x17f),{'errorId':_0x28ee77['id'],'type':_0x28ee77[_0x280ab4(0x1c6)],'message':_0x28ee77[_0x280ab4(0x188)]}),_0x28ee77[_0x280ab4(0x1b0)]&&this['logger']['warn'](_0x280ab4(0x1c3),{'agentId':_0x28ee77[_0x280ab4(0x1b0)]});}['calculateRateLimitWait'](_0x303f66){const _0x1b4b50=a0_0x4c39a3,_0x73d8b0=0xea60,_0x20c160=Math[_0x1b4b50(0x1b8)](0x2,_0x303f66[_0x1b4b50(0x15f)]),_0x32b39a=0x493e0;return Math['min'](_0x73d8b0*_0x20c160,_0x32b39a);}async[a0_0x4c39a3(0x161)](_0x129f58,_0x1a18c8){const _0x232494=a0_0x4c39a3;try{const _0x57df6={'errorId':_0x129f58['id'],'timestamp':_0x129f58[_0x232494(0x1ab)],'type':_0x129f58['type'],'severity':_0x129f58[_0x232494(0x1d0)],'message':_0x129f58[_0x232494(0x188)],'agentId':_0x129f58['agentId'],'toolId':_0x129f58['toolId'],'operationId':_0x129f58['operationId'],'retryCount':_0x129f58['retryCount'],'recoveryAttempted':!!_0x1a18c8,'recoverySuccess':_0x1a18c8?.['success']||![],'recoveryAction':_0x1a18c8?.['action']||null};this[_0x232494(0x1ac)][_0x232494(0x182)](_0x57df6),!this[_0x232494(0x1ce)]&&this['processErrorQueue']();}catch(_0x5e2114){this[_0x232494(0x18d)][_0x232494(0x172)]('Error\x20logging\x20failed',{'errorId':_0x129f58['id'],'loggingError':_0x5e2114['message']});}}async['processErrorQueue'](){const _0x349abd=a0_0x4c39a3;if(this['isProcessingQueue']||this['errorQueue'][_0x349abd(0x1a8)]===0x0)return;this['isProcessingQueue']=!![];try{while(this[_0x349abd(0x1ac)]['length']>0x0){const _0x53e46a=this['errorQueue']['splice'](0x0,0xa);this[_0x349abd(0x18d)][_0x349abd(0x1af)](_0x349abd(0x169),{'batchSize':_0x53e46a[_0x349abd(0x1a8)]}),await new Promise(_0x15e4c4=>setTimeout(_0x15e4c4,0x64));}}catch(processingError){this[_0x349abd(0x18d)]['error'](_0x349abd(0x1a6),{'error':processingError['message']});}finally{this[_0x349abd(0x1ce)]=![];}}['setupErrorProcessing'](){const _0x4477af=a0_0x4c39a3;setInterval(()=>{const _0x178f24=a0_0x4e3b;this[_0x178f24(0x1ac)]['length']>0x0&&this[_0x178f24(0x1c5)]();},0x1388),typeof process!==_0x4477af(0x16f)&&(process['on'](_0x4477af(0x1ae),_0x12af97=>{const _0x3a2be3=_0x4477af;this['handleError'](_0x12af97,{'type':_0x3a2be3(0x1bf),'severity':_0x3a2be3(0x1d1)});}),process['on']('unhandledRejection',(_0x18f919,_0x33004c)=>{const _0x1c9299=_0x4477af;this['handleError'](new Error(_0x1c9299(0x164)+_0x18f919),{'type':'unhandled_rejection','severity':'high','promise':_0x33004c[_0x1c9299(0x18f)]()});}));}['updateErrorStats'](_0x1374c7){const _0xe9dae0=a0_0x4c39a3;this[_0xe9dae0(0x1b4)][_0xe9dae0(0x163)]++,!this[_0xe9dae0(0x1b4)]['errorsByType'][_0xe9dae0(0x1c1)](_0x1374c7['type'])&&this[_0xe9dae0(0x1b4)]['errorsByType'][_0xe9dae0(0x15c)](_0x1374c7['type'],0x0),this['errorStats'][_0xe9dae0(0x165)][_0xe9dae0(0x15c)](_0x1374c7[_0xe9dae0(0x1c6)],this['errorStats']['errorsByType'][_0xe9dae0(0x19a)](_0x1374c7['type'])+0x1),_0x1374c7['agentId']&&(!this['errorStats'][_0xe9dae0(0x166)][_0xe9dae0(0x1c1)](_0x1374c7[_0xe9dae0(0x1b0)])&&this['errorStats']['errorsByAgent'][_0xe9dae0(0x15c)](_0x1374c7['agentId'],0x0),this['errorStats']['errorsByAgent'][_0xe9dae0(0x15c)](_0x1374c7['agentId'],this['errorStats'][_0xe9dae0(0x166)][_0xe9dae0(0x19a)](_0x1374c7['agentId'])+0x1));}[a0_0x4c39a3(0x1a1)](_0x574a36){const _0x4b561d=a0_0x4c39a3;return this[_0x4b561d(0x1c4)][_0x4b561d(0x198)](_0x574a36),()=>this['errorSubscribers']['delete'](_0x574a36);}[a0_0x4c39a3(0x1a3)](_0x4b93c7,_0x34c085){const _0x5d68be=a0_0x4c39a3;this[_0x5d68be(0x1c4)]['forEach'](_0x15a11b=>{const _0x1b4d3b=_0x5d68be;try{_0x15a11b(_0x4b93c7,_0x34c085);}catch(_0x969e08){this[_0x1b4d3b(0x18d)][_0x1b4d3b(0x172)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x969e08['message']});}});}['generateErrorId'](){const _0x519300=a0_0x4c39a3;return'err_'+Date['now']()+'_'+Math['random']()['toString'](0x24)[_0x519300(0x1c2)](0x2,0x9);}[a0_0x4c39a3(0x167)](){const _0x35c985=a0_0x4c39a3;return{'totalErrors':this[_0x35c985(0x1b4)][_0x35c985(0x163)],'errorsByType':Object[_0x35c985(0x1a7)](this['errorStats'][_0x35c985(0x165)]),'errorsByAgent':Object[_0x35c985(0x1a7)](this[_0x35c985(0x1b4)]['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x35c985(0x1b4)]['successfulRecoveries'],'recoverySuccessRate':this[_0x35c985(0x1b4)][_0x35c985(0x175)]>0x0?this[_0x35c985(0x1b4)][_0x35c985(0x17c)]/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x35c985(0x1b4)]['criticalErrors'],'queueLength':this['errorQueue'][_0x35c985(0x1a8)]};}['clearErrorStats'](){const _0x2521c8=a0_0x4c39a3;this[_0x2521c8(0x1b4)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
|
|
@@ -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
|
+
function a0_0x33c5(){const _0x50d9ed=['ndv4D0Hfsxa','ywDLBNrszwzZ','ntqZmdbSEgXxzLy','rxjYB3iGC2f2Aw5NigLUzgv4','mJuYnZj2ugfMExu','CMvMzxjLBMnLzej5','ChvZAa','mte2ndiXmMz1AxHQvW','Bg9Nz2vY','C2L6zuXLDMvS','CMvHzezPBgu','ntiXmujAsef4uG','qxr0ywnOBwvUDcb1CgrHDgvK','yxr0ywnOBwvUDhm','DMfSAwq','Aw5PDgLHBgL6zq','Bg9HzeLUzgv4','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','CgfYC2u','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','DxrMoa','zxjYB3jZ','nJqWofjHAxnMsq','D3jPDgvgAwXL','Aw1WB3j0rNjVBufNzw50','nJG4odeXy1nxqNrh','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','yMfZzw5HBwu','rMLSzsbUB3qGzM91BMq6ia','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','ywDLBNrjza','C2f2zuLUzgv4','vMfSAwrHDgLVBIbMywLSzwq6ia','zxH0BMfTzq','y29UzMLN','ntmXmdq4EwLrAKz0','DMfSAwrHDg9Y','ywn0AxzL','CgrM','BgvUz3rO','zMLSzu5HBwu','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','z2v0qxr0ywnOBwvUDhm','y29UDgvUDa','lI4U','zMLSzvbYB2nLC3nVCG','zxjYB3i','BwvZC2fNzq','y29UDgvUDc5IyxnLnJq','zMLSDgvY','C3rHCNrZv2L0Aa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','C3rYAw5NAwz5','zgvSzxrLqxr0ywnOBwvUDa','y29UDgvUDc50Ehq','Bw9Kzq','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','zxn0Aw1HDgvuB2TLBNm','zMLSzuv4Axn0CW','Dg9ju09tDhjPBMC','z2v0q29UDgvUDfr5Cgu','mJq4mJy5mhPpCwnOsW','Aw5MBW','Aw5KzxG','DxbSB2fKrMLSzq','y3DK','Bwv0ywrHDgeUANnVBG','qxr0ywnOBwvUDcbKzwXLDgvK','DMfSAwrHDgu','Aw1WB3j0zwrgCM9T','z2v0qxr0ywnOBwvUDa','AM9PBG','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa'];a0_0x33c5=function(){return _0x50d9ed;};return a0_0x33c5();}const a0_0x146eb8=a0_0x54f9;(function(_0x1cbe11,_0x387001){const _0x43ae06=a0_0x54f9,_0xf57581=_0x1cbe11();while(!![]){try{const _0x5bc50b=parseInt(_0x43ae06(0x1f6))/0x1+parseInt(_0x43ae06(0x1e4))/0x2+-parseInt(_0x43ae06(0x201))/0x3+-parseInt(_0x43ae06(0x1e1))/0x4+-parseInt(_0x43ae06(0x1dd))/0x5*(-parseInt(_0x43ae06(0x1df))/0x6)+-parseInt(_0x43ae06(0x1d1))/0x7+parseInt(_0x43ae06(0x1f3))/0x8*(-parseInt(_0x43ae06(0x1e8))/0x9);if(_0x5bc50b===_0x387001)break;else _0xf57581['push'](_0xf57581['shift']());}catch(_0x5211fe){_0xf57581['push'](_0xf57581['shift']());}}}(a0_0x33c5,0x55978));import a0_0x3116f4 from'path';import{fileURLToPath}from'url';import{randomUUID}from'crypto';import a0_0x536ee0 from'../utilities/fileProcessor.js';import a0_0x180eda from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x3116f4['dirname'](__filename),ATTACHMENTS_DIR=a0_0x3116f4['join'](process[a0_0x146eb8(0x1d5)](),'loxia-state','attachments'),INDEX_FILE=a0_0x3116f4['join'](ATTACHMENTS_DIR,a0_0x146eb8(0x207));class FileAttachmentService{constructor(_0x46eff9={},_0x2b3622=null){const _0x3d1d4c=a0_0x146eb8;this[_0x3d1d4c(0x200)]=_0x46eff9,this[_0x3d1d4c(0x1e5)]=_0x2b3622,this['fileProcessor']=new a0_0x536ee0(_0x46eff9,_0x2b3622),this['validator']=new a0_0x180eda(_0x46eff9,_0x2b3622),this[_0x3d1d4c(0x1d3)]=null;}async[a0_0x146eb8(0x1ec)](){const _0x2c688e=a0_0x146eb8;try{await this[_0x2c688e(0x20b)]['createDirectory'](ATTACHMENTS_DIR),await this[_0x2c688e(0x1ed)](),this[_0x2c688e(0x1e5)]?.['info'](_0x2c688e(0x1cc),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x33cad6){this[_0x2c688e(0x1e5)]?.[_0x2c688e(0x20c)](_0x2c688e(0x1f0),{'error':_0x33cad6['message']});throw _0x33cad6;}}async[a0_0x146eb8(0x1ed)](){const _0x556ae3=a0_0x146eb8;try{const _0x5332f=await this['fileProcessor']['fileExists'](INDEX_FILE);if(!_0x5332f)this[_0x556ae3(0x1d3)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x5ea0a4=await this['fileProcessor']['readFile'](INDEX_FILE,'utf8');this['index']=JSON[_0x556ae3(0x1ef)](_0x5ea0a4);}return this[_0x556ae3(0x1d3)];}catch(_0x5a7299){return this['logger']?.['error']('Error\x20loading\x20index',{'error':_0x5a7299['message']}),this[_0x556ae3(0x1d3)]={'attachments':{},'agentRefs':{}},this[_0x556ae3(0x1d3)];}}async['saveIndex'](){const _0x3685c1=a0_0x146eb8;try{await this[_0x3685c1(0x20b)][_0x3685c1(0x1f4)](INDEX_FILE,JSON['stringify'](this[_0x3685c1(0x1d3)],null,0x2),'utf8');}catch(_0x528eab){this[_0x3685c1(0x1e5)]?.[_0x3685c1(0x20c)](_0x3685c1(0x1e0),{'error':_0x528eab[_0x3685c1(0x20d)]});throw _0x528eab;}}async[a0_0x146eb8(0x1d4)]({agentId:_0xe0faa6,filePath:_0x5ca5e3,mode:mode='content',fileName:fileName=null}){const _0xe73018=a0_0x146eb8;!this[_0xe73018(0x1d3)]&&await this['loadIndex']();try{const _0x23732d=await this['fileProcessor']['fileExists'](_0x5ca5e3);if(!_0x23732d)throw new Error(_0xe73018(0x1f9)+_0x5ca5e3);const _0x192bcf=await this['fileProcessor']['getFileStats'](_0x5ca5e3),_0x11862e=fileName||a0_0x3116f4[_0xe73018(0x1f8)](_0x5ca5e3),_0x2814ba=a0_0x3116f4[_0xe73018(0x1ff)](_0x11862e),_0x3c76ee=this[_0xe73018(0x202)][_0xe73018(0x1d8)]({'fileName':_0x11862e,'size':_0x192bcf['size'],'mode':mode,'path':mode==='reference'?_0x5ca5e3:null});if(!_0x3c76ee[_0xe73018(0x1eb)])throw new Error(_0xe73018(0x1fe)+_0x3c76ee[_0xe73018(0x1f2)][_0xe73018(0x1db)](',\x20'));const _0x405bcd=randomUUID(),_0x3a7b86=await this['fileProcessor']['calculateHash'](_0x5ca5e3),_0x33c7c1=this[_0xe73018(0x202)][_0xe73018(0x1d0)](_0x11862e),_0x411075=a0_0x3116f4[_0xe73018(0x1db)](ATTACHMENTS_DIR,_0xe0faa6,_0x405bcd);await this['fileProcessor']['createDirectory'](_0x411075);let _0x426994=0x0,_0xe3faaa=null;if(mode==='content'){const processResult=await this['fileProcessor']['processFile'](_0x5ca5e3,_0x33c7c1),_0x3356f1=processResult[_0xe73018(0x209)];if(_0x33c7c1==='text')_0xe3faaa=_0xe73018(0x214);else{if(_0x33c7c1==='image')_0xe3faaa=_0xe73018(0x20e);else _0x33c7c1===_0xe73018(0x204)&&(_0xe3faaa='content.txt');}const _0x4f07f4=a0_0x3116f4[_0xe73018(0x1db)](_0x411075,_0xe3faaa);await this['fileProcessor']['writeFile'](_0x4f07f4,_0x3356f1,_0xe73018(0x1f1)),_0x426994=this['fileProcessor'][_0xe73018(0x1cd)](_0x3356f1);}const _0x40e199={'fileId':_0x405bcd,'agentId':_0xe0faa6,'fileName':_0x11862e,'originalPath':_0x5ca5e3,'fileType':this[_0xe73018(0x202)]['getMimeType'](_0x11862e),'fileExtension':_0x2814ba,'size':_0x192bcf['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x192bcf['modified']['toISOString'](),'hash':_0x3a7b86,'tokenEstimate':_0x426994,'contentType':_0x33c7c1,'contentFileName':_0xe3faaa,'warnings':_0x3c76ee['warnings'],'sizeLevel':_0x3c76ee[_0xe73018(0x1e6)],'importedFrom':null,'referencedBy':[_0xe0faa6]},_0x55d1ba=a0_0x3116f4['join'](_0x411075,'metadata.json');return await this['fileProcessor']['writeFile'](_0x55d1ba,JSON['stringify'](_0x40e199,null,0x2),_0xe73018(0x1f1)),this['index'][_0xe73018(0x1ea)][_0x405bcd]={'fileId':_0x405bcd,'agentId':_0xe0faa6,'fileName':_0x11862e,'mode':mode,'active':_0x40e199[_0xe73018(0x203)],'referencedBy':_0x40e199[_0xe73018(0x1e2)]},!this['index'][_0xe73018(0x1de)][_0xe0faa6]&&(this[_0xe73018(0x1d3)][_0xe73018(0x1de)][_0xe0faa6]=[]),this[_0xe73018(0x1d3)]['agentRefs'][_0xe0faa6]['push'](_0x405bcd),await this['saveIndex'](),this['logger']?.['info']('File\x20uploaded',{'fileId':_0x405bcd,'agentId':_0xe0faa6,'fileName':_0x11862e,'mode':mode}),_0x40e199;}catch(_0x545007){this[_0xe73018(0x1e5)]?.['error']('Error\x20uploading\x20file',{'agentId':_0xe0faa6,'filePath':_0x5ca5e3,'error':_0x545007[_0xe73018(0x20d)]});throw _0x545007;}}async[a0_0x146eb8(0x208)](_0x5d00aa,_0x1077ac={}){const _0x5b98a9=a0_0x146eb8;!this['index']&&await this[_0x5b98a9(0x1ed)]();try{const _0x8fd791=this[_0x5b98a9(0x1d3)]['agentRefs'][_0x5d00aa]||[],_0x6b2144=[];for(const _0x20c315 of _0x8fd791){const _0x4016a8=await this['getAttachment'](_0x20c315);if(_0x4016a8){if(_0x1077ac['active']!==undefined&&_0x4016a8[_0x5b98a9(0x203)]!==_0x1077ac['active'])continue;if(_0x1077ac['mode']&&_0x4016a8[_0x5b98a9(0x215)]!==_0x1077ac['mode'])continue;_0x6b2144[_0x5b98a9(0x1e3)](_0x4016a8);}}return _0x6b2144;}catch(_0x5af001){this[_0x5b98a9(0x1e5)]?.[_0x5b98a9(0x20c)]('Error\x20getting\x20attachments',{'agentId':_0x5d00aa,'error':_0x5af001[_0x5b98a9(0x20d)]});throw _0x5af001;}}async['getAttachment'](_0x3ce7be){const _0x45ee69=a0_0x146eb8;!this[_0x45ee69(0x1d3)]&&await this[_0x45ee69(0x1ed)]();try{const _0x39056e=this['index']['attachments'][_0x3ce7be];if(!_0x39056e)return null;const _0x4113c7=a0_0x3116f4[_0x45ee69(0x1db)](ATTACHMENTS_DIR,_0x39056e[_0x45ee69(0x1fc)],_0x3ce7be,_0x45ee69(0x1d6)),_0x49b03a=await this[_0x45ee69(0x20b)]['fileExists'](_0x4113c7);if(!_0x49b03a)return this['logger']?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x3ce7be}),null;const _0x1680d4=await this['fileProcessor'][_0x45ee69(0x1e7)](_0x4113c7,'utf8');return JSON[_0x45ee69(0x1ef)](_0x1680d4);}catch(_0x299a36){return this[_0x45ee69(0x1e5)]?.[_0x45ee69(0x20c)]('Error\x20getting\x20attachment',{'fileId':_0x3ce7be,'error':_0x299a36['message']}),null;}}async['getAttachmentContent'](_0x3bf4c9){const _0x502069=a0_0x146eb8;try{const _0x2268d7=await this['getAttachment'](_0x3bf4c9);if(!_0x2268d7||_0x2268d7[_0x502069(0x215)]!==_0x502069(0x209))return null;const _0x3273ef=a0_0x3116f4[_0x502069(0x1db)](ATTACHMENTS_DIR,_0x2268d7['agentId'],_0x3bf4c9,_0x2268d7['contentFileName']),_0x4815b3=await this[_0x502069(0x20b)][_0x502069(0x1ce)](_0x3273ef);if(!_0x4815b3)return null;return await this[_0x502069(0x20b)][_0x502069(0x1e7)](_0x3273ef,_0x502069(0x1f1));}catch(_0x3d933f){return this['logger']?.[_0x502069(0x20c)]('Error\x20getting\x20attachment\x20content',{'fileId':_0x3bf4c9,'error':_0x3d933f['message']}),null;}}async['toggleActive'](_0xe4947a){const _0x3e7e85=a0_0x146eb8;try{const _0x232e27=await this[_0x3e7e85(0x1da)](_0xe4947a);if(!_0x232e27)throw new Error(_0x3e7e85(0x1f7)+_0xe4947a);_0x232e27[_0x3e7e85(0x203)]=!_0x232e27[_0x3e7e85(0x203)],_0x232e27['lastModified']=new Date()['toISOString']();const _0x10af67=a0_0x3116f4[_0x3e7e85(0x1db)](ATTACHMENTS_DIR,_0x232e27['agentId'],_0xe4947a,'metadata.json');return await this['fileProcessor']['writeFile'](_0x10af67,JSON[_0x3e7e85(0x212)](_0x232e27,null,0x2),'utf8'),this[_0x3e7e85(0x1d3)][_0x3e7e85(0x1ea)][_0xe4947a]&&(this['index']['attachments'][_0xe4947a][_0x3e7e85(0x203)]=_0x232e27['active'],await this[_0x3e7e85(0x1fd)]()),this[_0x3e7e85(0x1e5)]?.[_0x3e7e85(0x1d2)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0xe4947a,'active':_0x232e27['active']}),_0x232e27;}catch(_0x4f75a1){this['logger']?.[_0x3e7e85(0x20c)](_0x3e7e85(0x1dc),{'fileId':_0xe4947a,'error':_0x4f75a1[_0x3e7e85(0x20d)]});throw _0x4f75a1;}}async['updateAttachment'](_0x493a69,_0x1029b0){const _0x419701=a0_0x146eb8;try{const _0x44b447=await this['getAttachment'](_0x493a69);if(!_0x44b447)throw new Error('Attachment\x20not\x20found:\x20'+_0x493a69);const _0x1686f7=['fileName','active'];for(const _0xde1c77 of _0x1686f7){_0x1029b0[_0xde1c77]!==undefined&&(_0x44b447[_0xde1c77]=_0x1029b0[_0xde1c77]);}_0x44b447['lastModified']=new Date()['toISOString']();const _0x19f7a5=a0_0x3116f4['join'](ATTACHMENTS_DIR,_0x44b447[_0x419701(0x1fc)],_0x493a69,_0x419701(0x1d6));return await this['fileProcessor']['writeFile'](_0x19f7a5,JSON['stringify'](_0x44b447,null,0x2),_0x419701(0x1f1)),this['index']['attachments'][_0x493a69]&&(_0x1029b0[_0x419701(0x206)]&&(this[_0x419701(0x1d3)][_0x419701(0x1ea)][_0x493a69][_0x419701(0x206)]=_0x1029b0[_0x419701(0x206)]),_0x1029b0[_0x419701(0x203)]!==undefined&&(this[_0x419701(0x1d3)][_0x419701(0x1ea)][_0x493a69]['active']=_0x1029b0[_0x419701(0x203)]),await this[_0x419701(0x1fd)]()),this[_0x419701(0x1e5)]?.[_0x419701(0x1d2)](_0x419701(0x1e9),{'fileId':_0x493a69,'updates':_0x1029b0}),_0x44b447;}catch(_0x444cea){this[_0x419701(0x1e5)]?.[_0x419701(0x20c)]('Error\x20updating\x20attachment',{'fileId':_0x493a69,'error':_0x444cea[_0x419701(0x20d)]});throw _0x444cea;}}async[a0_0x146eb8(0x213)](_0xda29c1,_0x22636e){const _0x260322=a0_0x146eb8;try{const _0x2056d2=await this['getAttachment'](_0xda29c1);if(!_0x2056d2)throw new Error('Attachment\x20not\x20found:\x20'+_0xda29c1);_0x2056d2['referencedBy']=_0x2056d2['referencedBy'][_0x260322(0x20f)](_0x513ed7=>_0x513ed7!==_0x22636e);if(_0x2056d2['referencedBy'][_0x260322(0x205)]>0x0){const _0x17aaf3=a0_0x3116f4['join'](ATTACHMENTS_DIR,_0x2056d2[_0x260322(0x1fc)],_0xda29c1,'metadata.json');return await this[_0x260322(0x20b)][_0x260322(0x1f4)](_0x17aaf3,JSON['stringify'](_0x2056d2,null,0x2),_0x260322(0x1f1)),this[_0x260322(0x1d3)][_0x260322(0x1ea)][_0xda29c1]&&(this[_0x260322(0x1d3)][_0x260322(0x1ea)][_0xda29c1][_0x260322(0x1e2)]=_0x2056d2[_0x260322(0x1e2)]),this[_0x260322(0x1d3)]['agentRefs'][_0x22636e]&&(this[_0x260322(0x1d3)]['agentRefs'][_0x22636e]=this[_0x260322(0x1d3)]['agentRefs'][_0x22636e]['filter'](_0x32ae67=>_0x32ae67!==_0xda29c1)),await this['saveIndex'](),this['logger']?.[_0x260322(0x1d2)](_0x260322(0x1ee),{'fileId':_0xda29c1,'agentId':_0x22636e,'remainingRefs':_0x2056d2['referencedBy'][_0x260322(0x205)]}),![];}const _0x77cd2d=a0_0x3116f4['join'](ATTACHMENTS_DIR,_0x2056d2[_0x260322(0x1fc)],_0xda29c1);return await this[_0x260322(0x20b)]['deleteDirectory'](_0x77cd2d),delete this['index']['attachments'][_0xda29c1],this['index'][_0x260322(0x1de)][_0x22636e]&&(this[_0x260322(0x1d3)][_0x260322(0x1de)][_0x22636e]=this[_0x260322(0x1d3)][_0x260322(0x1de)][_0x22636e]['filter'](_0x20d3b6=>_0x20d3b6!==_0xda29c1)),await this['saveIndex'](),this['logger']?.['info'](_0x260322(0x1d7),{'fileId':_0xda29c1,'agentId':_0x22636e}),!![];}catch(_0x587262){this['logger']?.[_0x260322(0x20c)](_0x260322(0x211),{'fileId':_0xda29c1,'agentId':_0x22636e,'error':_0x587262[_0x260322(0x20d)]});throw _0x587262;}}async['deleteAgentAttachments'](_0x5c460f){const _0x5158e2=a0_0x146eb8;try{const _0x472a40=this['index']['agentRefs'][_0x5c460f]||[];let _0x364364=0x0,_0x2b774d=0x0;for(const _0x32c5fb of _0x472a40){const _0x34def4=await this[_0x5158e2(0x213)](_0x32c5fb,_0x5c460f);_0x34def4?_0x364364++:_0x2b774d++;}return this[_0x5158e2(0x1e5)]?.[_0x5158e2(0x1d2)]('Agent\x20attachments\x20deleted',{'agentId':_0x5c460f,'deleted':_0x364364,'dereferenced':_0x2b774d}),{'deleted':_0x364364,'dereferenced':_0x2b774d};}catch(_0x371834){this['logger']?.[_0x5158e2(0x20c)](_0x5158e2(0x1fb),{'agentId':_0x5c460f,'error':_0x371834['message']});throw _0x371834;}}async[a0_0x146eb8(0x1f5)](_0x546666,_0x51c817){const _0x2eb00a=a0_0x146eb8;try{const _0x3b36d3=await this['getAttachment'](_0x546666);if(!_0x3b36d3)throw new Error(_0x2eb00a(0x1fa)+_0x546666);!_0x3b36d3['referencedBy']['includes'](_0x51c817)&&_0x3b36d3[_0x2eb00a(0x1e2)][_0x2eb00a(0x1e3)](_0x51c817);_0x3b36d3['lastModified']=new Date()[_0x2eb00a(0x1cf)](),_0x3b36d3[_0x2eb00a(0x1d9)]=_0x3b36d3[_0x2eb00a(0x1fc)];const _0xbe88ea=a0_0x3116f4['join'](ATTACHMENTS_DIR,_0x3b36d3['agentId'],_0x546666,'metadata.json');return await this['fileProcessor'][_0x2eb00a(0x1f4)](_0xbe88ea,JSON[_0x2eb00a(0x212)](_0x3b36d3,null,0x2),'utf8'),this['index']['attachments'][_0x546666]&&(this[_0x2eb00a(0x1d3)]['attachments'][_0x546666]['referencedBy']=_0x3b36d3[_0x2eb00a(0x1e2)]),!this[_0x2eb00a(0x1d3)][_0x2eb00a(0x1de)][_0x51c817]&&(this['index'][_0x2eb00a(0x1de)][_0x51c817]=[]),!this['index'][_0x2eb00a(0x1de)][_0x51c817]['includes'](_0x546666)&&this[_0x2eb00a(0x1d3)][_0x2eb00a(0x1de)][_0x51c817]['push'](_0x546666),await this[_0x2eb00a(0x1fd)](),this[_0x2eb00a(0x1e5)]?.[_0x2eb00a(0x1d2)]('Attachment imported',{'sourceFileId':_0x546666,'targetAgentId':_0x51c817}),_0x3b36d3;}catch(_0x574e48){this['logger']?.[_0x2eb00a(0x20c)]('Error importing attachment',{'sourceFileId':_0x546666,'targetAgentId':_0x51c817,'error':_0x574e48['message']});throw _0x574e48;}}async['getActiveAttachments'](_0x37ee9a){const _0x11dd85=a0_0x146eb8;return await this[_0x11dd85(0x208)](_0x37ee9a,{'active':!![]});}async['getAttachmentPreview'](_0x152d14){const _0x510205=a0_0x146eb8;try{const _0x56fbb1=await this['getAttachmentContent'](_0x152d14);if(!_0x56fbb1)return null;if(_0x56fbb1[_0x510205(0x210)]('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x56fbb1['length']>0x3e8?_0x56fbb1['substring'](0x0,0x3e8)+_0x510205(0x20a):_0x56fbb1;}catch(_0x153c00){return this['logger']?.[_0x510205(0x20c)]('Error\x20getting\x20attachment\x20preview',{'fileId':_0x152d14,'error':_0x153c00['message']}),null;}}}function a0_0x54f9(_0x4b911c,_0x5b899d){_0x4b911c=_0x4b911c-0x1cc;const _0x33c5c9=a0_0x33c5();let _0x54f914=_0x33c5c9[_0x4b911c];if(a0_0x54f9['AoXovZ']===undefined){var _0x3e52d9=function(_0x2ec0d8){const _0x19f95a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3116f4='',_0x536ee0='';for(let _0x180eda=0x0,_0x46eff9,_0x2b3622,_0x33cad6=0x0;_0x2b3622=_0x2ec0d8['charAt'](_0x33cad6++);~_0x2b3622&&(_0x46eff9=_0x180eda%0x4?_0x46eff9*0x40+_0x2b3622:_0x2b3622,_0x180eda++%0x4)?_0x3116f4+=String['fromCharCode'](0xff&_0x46eff9>>(-0x2*_0x180eda&0x6)):0x0){_0x2b3622=_0x19f95a['indexOf'](_0x2b3622);}for(let _0x5332f=0x0,_0x5ea0a4=_0x3116f4['length'];_0x5332f<_0x5ea0a4;_0x5332f++){_0x536ee0+='%'+('00'+_0x3116f4['charCodeAt'](_0x5332f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x536ee0);};a0_0x54f9['aBUHEl']=_0x3e52d9,a0_0x54f9['otOgmb']={},a0_0x54f9['AoXovZ']=!![];}const _0x4a0e95=_0x33c5c9[0x0],_0xf144e=_0x4b911c+_0x4a0e95,_0x511095=a0_0x54f9['otOgmb'][_0xf144e];return!_0x511095?(_0x54f914=a0_0x54f9['aBUHEl'](_0x54f914),a0_0x54f9['otOgmb'][_0xf144e]=_0x54f914):_0x54f914=_0x511095,_0x54f914;}export default FileAttachmentService;
|
|
@@ -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_0x3282bf=a0_0x165f;function a0_0x165f(_0x108b52,_0x4a8ba3){_0x108b52=_0x108b52-0x1ce;const _0x31cb2b=a0_0x31cb();let _0x165f95=_0x31cb2b[_0x108b52];if(a0_0x165f['QNrVPX']===undefined){var _0x6bafcf=function(_0x126e6d){const _0xf45364='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48f381='',_0x3e1164='';for(let _0x384ee4=0x0,_0x30f922,_0x59d3cd,_0x5e6648=0x0;_0x59d3cd=_0x126e6d['charAt'](_0x5e6648++);~_0x59d3cd&&(_0x30f922=_0x384ee4%0x4?_0x30f922*0x40+_0x59d3cd:_0x59d3cd,_0x384ee4++%0x4)?_0x48f381+=String['fromCharCode'](0xff&_0x30f922>>(-0x2*_0x384ee4&0x6)):0x0){_0x59d3cd=_0xf45364['indexOf'](_0x59d3cd);}for(let _0x4d50cb=0x0,_0x2c070b=_0x48f381['length'];_0x4d50cb<_0x2c070b;_0x4d50cb++){_0x3e1164+='%'+('00'+_0x48f381['charCodeAt'](_0x4d50cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e1164);};a0_0x165f['jyOHBe']=_0x6bafcf,a0_0x165f['AxEMpV']={},a0_0x165f['QNrVPX']=!![];}const _0x683493=_0x31cb2b[0x0],_0x30d9ee=_0x108b52+_0x683493,_0x158fff=a0_0x165f['AxEMpV'][_0x30d9ee];return!_0x158fff?(_0x165f95=a0_0x165f['jyOHBe'](_0x165f95),a0_0x165f['AxEMpV'][_0x30d9ee]=_0x165f95):_0x165f95=_0x158fff,_0x165f95;}function a0_0x31cb(){const _0x5e29e0=['qu5usfjpueLdx09qvvm','y29UzMLKzw5Jzq','mJrgEuHvDgy','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','lIaQkG','y29UDgvUDa','DgfZA3m','DhLWzq','ktOG','CMvXDwvZDfrPBwvVDxq','zw50CMLLCW','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','CMvJzw50twvZC2fNzxm','uM91DgvYihnLBgvJDgvKihvUyxzHAwXHyMXLig1VzgvSlcb1C2LUzYbJDxjYzw50ig1VzgvS','Dg9vChbLCKnHC2u','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','DgvZDc1RzxK','CM91DgvnzxnZywDL','ntm5oduYnfjUtMjdEa','tM8Gzgf0yq','mJK5ntuWnxPwC0LQAG','BwvZC2fNzunVDw50','cImJiYbnB2rLBcbezxrHAwXZcG','Dg9Wtw9KzwXZ','C2vSzwn0zwrnB2rLBa','kIO6ia','zxjYB3i','Bw9KzwWTCM91DgvY','DgvZDfjVDxrLCG','AM9PBG','D2fYBG','tM8GCMvHC29UAw5NihbYB3zPzgvK','BwvZC2fNzq','zM9YrwfJAa','mZHIB2nQquu','CM9Szq','kIPdB250zxH0ifr5CgvZkIO6ia','Bg9Nz2vY','C3rYzw5NDgHZ','C2vUze1LC3nHz2u','mtHhugv6vxe','ndG0ndq5t21UDNL3','BMfTzq','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UzMLN','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','yMvUy2HTyxjRu2vYDMLJzq','mZnOzLHvELe','q09ovevyvf9nrvntquDfu19dt1vova','nKXRyu92DW','Bwf0y2G','mZyYnZnlA2vdAw4','Dg9ju09tDhjPBMC','Aw5MBW','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','CM91DgvYtw9KzwW','mte4nZK3v2HTqMvJ','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','BwfW','tM9Uzq','x2nYzwf0zvjVDxrPBMDqCM9TChq','uM91DgvYihrLC3qGzMfPBgvK','BgvUz3rO','y29UDgv4De1LC3nHz2vZq291BNq','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','y3vYCMvUDe1LC3nHz2u','C3vTBwfYEq','DgLTzxn0yw1W','y3vYCMvUDe1VzgvS','uM91DgvYihrLC3qGy29TCgXLDgvK','kIOGka','Aw5JBhvKzxm','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','x2zVCM1HDejLBMnOBwfYA0rHDge','C3vIC3rYAw5N','ihWGu3rYzw5NDgHZoIa','yxzHAwXHyMXLtw9KzwXZ','C2XPy2u','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','mtGXmZeZnNvjEhfPCa','nJm4ndGWDfLrt2fj','CMvHC29UAw5N','zgvIDwC','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u'];a0_0x31cb=function(){return _0x5e29e0;};return a0_0x31cb();}(function(_0x5aeaf5,_0xcacd27){const _0x37827e=a0_0x165f,_0x46f1de=_0x5aeaf5();while(!![]){try{const _0x2ebaf8=parseInt(_0x37827e(0x220))/0x1+parseInt(_0x37827e(0x219))/0x2*(-parseInt(_0x37827e(0x1d4))/0x3)+-parseInt(_0x37827e(0x1f0))/0x4+parseInt(_0x37827e(0x20b))/0x5*(-parseInt(_0x37827e(0x1d2))/0x6)+-parseInt(_0x37827e(0x1d9))/0x7*(parseInt(_0x37827e(0x1f7))/0x8)+parseInt(_0x37827e(0x21f))/0x9*(parseInt(_0x37827e(0x1f1))/0xa)+-parseInt(_0x37827e(0x1d0))/0xb*(-parseInt(_0x37827e(0x209))/0xc);if(_0x2ebaf8===_0xcacd27)break;else _0x46f1de['push'](_0x46f1de['shift']());}catch(_0x3977c6){_0x46f1de['push'](_0x46f1de['shift']());}}}(a0_0x31cb,0x9980d));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x48f381,_0x3e1164,_0x384ee4,_0x30f922){const _0x2612aa=a0_0x165f;this[_0x2612aa(0x223)]=_0x48f381,this[_0x2612aa(0x21c)]=_0x3e1164,this[_0x2612aa(0x1cf)]=_0x384ee4,this['aiService']=_0x30f922,this[_0x2612aa(0x1d8)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x2612aa(0x1e0)]=MODEL_ROUTER_CONFIG[_0x2612aa(0x1d1)],this['requestTimeout']=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x59d3cd,_0x5e6648=[],_0x4d50cb='',_0x2c070b=[],_0x4c4d79={}){const _0x4dccc5=a0_0x165f;try{this[_0x4dccc5(0x21c)][_0x4dccc5(0x1f3)](_0x4dccc5(0x1ce),{'messageLength':_0x59d3cd['content']?.['length']||0x0,'recentMessagesCount':_0x5e6648[_0x4dccc5(0x1df)],'currentModel':_0x4d50cb,'availableModelsCount':_0x2c070b['length']});const _0x44115f=this['_buildRoutingContext'](_0x59d3cd,_0x5e6648,_0x4d50cb,_0x2c070b),_0x440bbc=this[_0x4dccc5(0x1cf)]['getBenchmarkTable'](),_0x2f0815=this[_0x4dccc5(0x1dd)](_0x44115f,_0x440bbc),_0x594413=await this['_askForRouting'](_0x2f0815,_0x4c4d79),_0x2f9bc2=this['_validateModelSelection'](_0x594413,_0x2c070b,_0x4d50cb);return this['logger']['info'](_0x4dccc5(0x1ef),{'selectedModel':_0x2f9bc2,'previousModel':_0x4d50cb,'changed':_0x2f9bc2!==_0x4d50cb,'reasoning':_0x594413[_0x4dccc5(0x1f2)]?.['substring'](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x2f9bc2,'previousModel':_0x4d50cb,'changed':_0x2f9bc2!==_0x4d50cb,'reasoning':_0x594413[_0x4dccc5(0x1f2)]||'No\x20reasoning\x20provided'};}catch(_0x4c3943){this[_0x4dccc5(0x21c)][_0x4dccc5(0x211)](_0x4dccc5(0x1d7),{'error':_0x4c3943['message'],'currentModel':_0x4d50cb});const _0x699cf5=_0x4d50cb||_0x2c070b[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x699cf5,'previousModel':_0x4d50cb,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}['_buildRoutingContext'](_0x1620ce,_0x561b2f,_0x3dac0e,_0x1003a6){const _0xc442c2=a0_0x165f,_0x5f15ba=_0x561b2f['slice'](-this[_0xc442c2(0x1e0)])['map'](_0x48e32a=>({'role':_0x48e32a['role'],'content':_0x48e32a['content']?.[_0xc442c2(0x1eb)](0x0,0x1f4)||'','timestamp':_0x48e32a[_0xc442c2(0x1e4)]}));return{'currentMessage':{'content':_0x1620ce['content']?.['substring'](0x0,0x3e8)||'','role':_0x1620ce[_0xc442c2(0x21a)]||'user','hasContextReferences':!!_0x1620ce['contextReferences']?.[_0xc442c2(0x1df)],'contextTypes':_0x1620ce['contextReferences']?.[_0xc442c2(0x1db)](_0x516680=>_0x516680[_0xc442c2(0x1fc)])||[]},'recentMessages':_0x5f15ba,'currentModel':_0x3dac0e,'availableModels':_0x1003a6['map'](_0x10ec47=>({'name':_0x10ec47,'isCurrentModel':_0x10ec47===_0x3dac0e})),'messageCount':_0x561b2f['length']+0x1,'timestamp':new Date()[_0xc442c2(0x1d5)]()};}[a0_0x3282bf(0x1dd)](_0xe6b5e,_0x2bb737){const _0x4a9f0d=a0_0x3282bf;return _0x4a9f0d(0x1da)+(_0xe6b5e[_0x4a9f0d(0x1e5)]||_0x4a9f0d(0x1dc))+'\x0a-\x20**Message\x20Count**:\x20'+_0xe6b5e[_0x4a9f0d(0x20c)]+'\x0a-\x20**Available\x20Models**:\x20'+_0xe6b5e[_0x4a9f0d(0x1ed)]['map'](_0x4a6ce1=>_0x4a6ce1['name'])[_0x4a9f0d(0x214)](',\x20')+_0x4a9f0d(0x1f8)+this[_0x4a9f0d(0x222)](_0xe6b5e[_0x4a9f0d(0x203)])+_0x4a9f0d(0x1e1)+_0xe6b5e[_0x4a9f0d(0x1e2)][_0x4a9f0d(0x21a)]+'\x0a**Content**:\x20'+_0xe6b5e[_0x4a9f0d(0x1e2)]['content']+_0x4a9f0d(0x201)+_0xe6b5e[_0x4a9f0d(0x1e2)]['hasContextReferences']+'\x0a'+(_0xe6b5e['currentMessage']['contextTypes'][_0x4a9f0d(0x1df)]>0x0?_0x4a9f0d(0x21b)+_0xe6b5e['currentMessage']['contextTypes']['join'](',\x20'):'')+_0x4a9f0d(0x200)+this['_formatBenchmarkData'](_0x2bb737)+_0x4a9f0d(0x1e9);}['_formatRecentMessages'](_0x438946){const _0xcfea74=a0_0x3282bf;if(!_0x438946['length'])return'No\x20recent\x20messages\x20available.';return _0x438946[_0xcfea74(0x1db)]((_0x14a249,_0xd452da)=>_0xd452da+0x1+_0xcfea74(0x1f9)+_0x14a249[_0xcfea74(0x21a)]+'**:\x20'+_0x14a249[_0xcfea74(0x1fa)])['join']('\x0a');}[a0_0x3282bf(0x1ea)](_0x19cd1e){const _0x226891=a0_0x3282bf,_0x24828f=_0x19cd1e['models']||[],_0x1d0809=_0x19cd1e[_0x226891(0x1fb)]||{},_0x5b7ff7=_0x19cd1e[_0x226891(0x1e3)]||{};let _0x2cbbc8='###\x20Model\x20Performance\x20Summary\x0a';return Object[_0x226891(0x1ff)](_0x1d0809)['forEach'](([_0x26a465,_0x35f8ed])=>{const _0x54f78b=_0x226891;_0x2cbbc8+='**'+_0x26a465[_0x54f78b(0x205)]()+_0x54f78b(0x1e7)+_0x35f8ed['description']+_0x54f78b(0x1fd)+(_0x35f8ed[_0x54f78b(0x20e)]?.[_0x54f78b(0x214)](',\x20')||_0x54f78b(0x20a))+'\x0a';}),_0x2cbbc8+=_0x226891(0x20d),_0x24828f[_0x226891(0x1ee)](0x0,0x8)[_0x226891(0x218)](_0x3cf99f=>{const _0x5605b6=_0x226891;_0x2cbbc8+='**'+_0x3cf99f[_0x5605b6(0x221)]+_0x5605b6(0x210);const _0x2ec582=Object[_0x5605b6(0x1ff)](_0x3cf99f[_0x5605b6(0x1fb)]||{})[_0x5605b6(0x1db)](([_0x4f1496,_0xf5c215])=>_0x4f1496+'('+_0xf5c215['score']+')')[_0x5605b6(0x214)](',\x20');_0x2cbbc8+=_0x2ec582+_0x5605b6(0x1ec)+(_0x3cf99f[_0x5605b6(0x21d)]?.['join'](',\x20')||'N/A')+'\x0a';}),_0x2cbbc8;}async['_askForRouting'](_0x134f45,_0x2d2356={}){const _0x516926=a0_0x3282bf;try{const _0x236ad1=await this['aiService'][_0x516926(0x21e)](this[_0x516926(0x1d8)],_0x134f45,{'agentId':_0x516926(0x212),'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[_0x516926(0x1fe)],'sessionId':_0x2d2356['sessionId'],'apiKey':_0x2d2356['apiKey']||this[_0x516926(0x223)]['apiKey'],'customApiKeys':_0x2d2356['customApiKeys'],'platformProvided':!![]});if(!_0x236ad1['content'])throw new Error('No response content from autopilot-model-router');const _0x46d20d=this['_parseRoutingResponse'](_0x236ad1[_0x516926(0x1fa)]);return _0x46d20d;}catch(_0x1c415a){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x1c415a[_0x516926(0x217)],'routerModel':this[_0x516926(0x1d8)]});throw _0x1c415a;}}['_parseRoutingResponse'](_0x3eb983){const _0xb74723=a0_0x3282bf;try{const _0x57714b=_0x3eb983[_0xb74723(0x1d3)](/\{[\s\S]*\}/);if(!_0x57714b)throw new Error(_0xb74723(0x206));const _0x9b49d8=JSON['parse'](_0x57714b[0x0]);if(!_0x9b49d8[_0xb74723(0x20f)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x9b49d8['selectedModel'],'taskType':_0x9b49d8['taskType']||'unknown','confidence':_0x9b49d8[_0xb74723(0x1f6)]||0.5,'reasoning':_0x9b49d8[_0xb74723(0x1f2)]||_0xb74723(0x216),'factors':_0x9b49d8['factors']||[]};}catch(_0x46f9a5){return this['logger'][_0xb74723(0x215)]('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x46f9a5[_0xb74723(0x217)],'content':_0x3eb983['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':_0xb74723(0x1f4),'factors':['parsing-error']};}}['_validateModelSelection'](_0x30f450,_0x576cb4,_0x43d577){const _0x2be549=a0_0x3282bf,{selectedModel:_0x227548}=_0x30f450;if(!_0x227548)return this[_0x2be549(0x21c)]['debug'](_0x2be549(0x202)),_0x43d577;if(!_0x576cb4[_0x2be549(0x1e8)](_0x227548))return this[_0x2be549(0x21c)]['warn'](_0x2be549(0x204),{'selectedModel':_0x227548,'availableModels':_0x576cb4}),_0x43d577;return _0x227548;}['getStatus'](){return{'routerModel':this['routerModel'],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this['benchmarkService']['getStatus'](),'isAvailable':!![]};}async[a0_0x3282bf(0x213)](){const _0x36e1d9=a0_0x3282bf;try{const _0x5ee05f={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':'user'},_0x3348da=await this[_0x36e1d9(0x208)](_0x5ee05f,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x36e1d9(0x1f5)],MODELS['GPT_4'],MODELS['DEEPSEEK_R1']],{'apiKey':_0x36e1d9(0x207)});return this[_0x36e1d9(0x21c)][_0x36e1d9(0x1d6)](_0x36e1d9(0x1e6),{'selectedModel':_0x3348da}),{'success':!![],'selectedModel':_0x3348da};}catch(_0x5b4b57){return this['logger']['error'](_0x36e1d9(0x1de),{'error':_0x5b4b57['message']}),{'success':![],'error':_0x5b4b57[_0x36e1d9(0x217)]};}}}export default ModelRouterService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3a1393=a0_0x272d;(function(_0x2d4c88,_0x3dfd01){const _0x27c339=a0_0x272d,_0x46a4c0=_0x2d4c88();while(!![]){try{const _0x4b526c=-parseInt(_0x27c339(0x1b3))/0x1*(parseInt(_0x27c339(0x1bc))/0x2)+-parseInt(_0x27c339(0x1ac))/0x3*(-parseInt(_0x27c339(0x1a4))/0x4)+-parseInt(_0x27c339(0x18d))/0x5*(-parseInt(_0x27c339(0x195))/0x6)+parseInt(_0x27c339(0x1c1))/0x7*(parseInt(_0x27c339(0x19e))/0x8)+-parseInt(_0x27c339(0x1b4))/0x9+parseInt(_0x27c339(0x196))/0xa*(parseInt(_0x27c339(0x193))/0xb)+parseInt(_0x27c339(0x1ab))/0xc*(-parseInt(_0x27c339(0x1ae))/0xd);if(_0x4b526c===_0x3dfd01)break;else _0x46a4c0['push'](_0x46a4c0['shift']());}catch(_0x1b7240){_0x46a4c0['push'](_0x46a4c0['shift']());}}}(a0_0x276f,0xd41af));function a0_0x272d(_0x39f1d3,_0x16000d){_0x39f1d3=_0x39f1d3-0x18b;const _0x276f31=a0_0x276f();let _0x272dde=_0x276f31[_0x39f1d3];if(a0_0x272d['fNOZQU']===undefined){var _0x29ffce=function(_0x159187){const _0x305983='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b03c9='',_0x13c9be='';for(let _0x466fe5=0x0,_0x3b7d00,_0x555610,_0x2ccf35=0x0;_0x555610=_0x159187['charAt'](_0x2ccf35++);~_0x555610&&(_0x3b7d00=_0x466fe5%0x4?_0x3b7d00*0x40+_0x555610:_0x555610,_0x466fe5++%0x4)?_0x1b03c9+=String['fromCharCode'](0xff&_0x3b7d00>>(-0x2*_0x466fe5&0x6)):0x0){_0x555610=_0x305983['indexOf'](_0x555610);}for(let _0x2edc64=0x0,_0x578efc=_0x1b03c9['length'];_0x2edc64<_0x578efc;_0x2edc64++){_0x13c9be+='%'+('00'+_0x1b03c9['charCodeAt'](_0x2edc64)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13c9be);};a0_0x272d['aUnykx']=_0x29ffce,a0_0x272d['fROczU']={},a0_0x272d['fNOZQU']=!![];}const _0x215e7a=_0x276f31[0x0],_0x69b8bf=_0x39f1d3+_0x215e7a,_0x7ef059=a0_0x272d['fROczU'][_0x69b8bf];return!_0x7ef059?(_0x272dde=a0_0x272d['aUnykx'](_0x272dde),a0_0x272d['fROczU'][_0x69b8bf]=_0x272dde):_0x272dde=_0x7ef059,_0x272dde;}class ModelsService{constructor(_0x1b03c9,_0x13c9be){const _0x58ff1d=a0_0x272d;this[_0x58ff1d(0x18c)]=_0x1b03c9,this[_0x58ff1d(0x1b8)]=_0x13c9be,this['models']=null,this[_0x58ff1d(0x18f)]=null,this[_0x58ff1d(0x1a5)]=![],this[_0x58ff1d(0x1b0)]=0x5*0x3c*0x3e8,this[_0x58ff1d(0x198)]=_0x1b03c9[_0x58ff1d(0x198)]||'http://localhost:8080',this[_0x58ff1d(0x19b)]=0x0,this['maxRetries']=0x3,this['retryDelay']=0x7d0,this[_0x58ff1d(0x1ad)]=null,this[_0x58ff1d(0x19a)]=null,this[_0x58ff1d(0x19f)]=null;}['setApiKeyManager'](_0x466fe5){const _0x3bec20=a0_0x272d;this[_0x3bec20(0x19f)]=_0x466fe5,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20models\x20service',{'hasManager':!!_0x466fe5});}async['initialize'](){const _0x29e67b=a0_0x272d;try{await this['fetchModels'](),this[_0x29e67b(0x1b8)][_0x29e67b(0x1bd)]('Models\x20service\x20initialized',{'modelCount':this['models']?.[_0x29e67b(0x199)]||0x0});}catch(_0x3b7d00){this['lastError']=_0x3b7d00['message'],this['logger'][_0x29e67b(0x18b)](_0x29e67b(0x19c),{'error':_0x3b7d00[_0x29e67b(0x190)],'endpoint':this[_0x29e67b(0x198)]+_0x29e67b(0x194),'willRetry':!![]}),this[_0x29e67b(0x1c6)]();}}['getAvailableModelNames'](){const _0x3d61a0=a0_0x272d;if(!this[_0x3d61a0(0x1b5)]||this[_0x3d61a0(0x1b5)]['length']===0x0)return this['logger'][_0x3d61a0(0x18b)](_0x3d61a0(0x1aa),{'lastError':this[_0x3d61a0(0x19a)],'endpoint':this[_0x3d61a0(0x198)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x3d61a0(0x1b9)]}),[];return this[_0x3d61a0(0x1b5)]['map'](_0x555610=>_0x555610[_0x3d61a0(0x1c4)]);}['getModels'](){const _0x4769c7=a0_0x272d;if(!this[_0x4769c7(0x1b5)]||this[_0x4769c7(0x1b5)][_0x4769c7(0x199)]===0x0)return this[_0x4769c7(0x1b8)][_0x4769c7(0x18b)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x4769c7(0x19a)],'endpoint':this[_0x4769c7(0x198)]+_0x4769c7(0x194)}),[];return this['models'];}async[a0_0x3a1393(0x1af)](_0x2ccf35=null){const _0x47c47c=a0_0x3a1393;if(this['isLoading']){this['logger'][_0x47c47c(0x1bb)](_0x47c47c(0x1c3));return;}this[_0x47c47c(0x1a5)]=!![];try{const _0x2edc64=this[_0x47c47c(0x198)]+_0x47c47c(0x194);let _0x578efc=null;if(this[_0x47c47c(0x19f)]&&_0x2ccf35&&_0x2ccf35[_0x47c47c(0x1a2)]){const _0x367598=this[_0x47c47c(0x19f)]['getKeysForRequest'](_0x2ccf35[_0x47c47c(0x1a2)],{'platformProvided':!![],'vendor':null});_0x578efc=_0x367598[_0x47c47c(0x1b2)],this[_0x47c47c(0x1b8)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x2ccf35[_0x47c47c(0x1a2)],'hasLoxiaKey':!!_0x578efc});}if(!_0x578efc&&_0x2ccf35&&_0x2ccf35['apiKey'])_0x578efc=_0x2ccf35[_0x47c47c(0x1c0)];else{if(!_0x578efc&&this['config'][_0x47c47c(0x1c0)])_0x578efc=this['config']['apiKey'];else!_0x578efc&&process[_0x47c47c(0x197)][_0x47c47c(0x1a1)]&&(_0x578efc=process['env']['LOXIA_API_KEY']);}const _0x336e95={'method':'GET','headers':{'Content-Type':'application/json',..._0x578efc&&{'Authorization':'Bearer\x20'+_0x578efc}},'timeout':0x2710};this[_0x47c47c(0x1b8)][_0x47c47c(0x1bb)]('Fetching models from backend',{'url':_0x2edc64,'hasApiKey':!!_0x578efc,'apiKeySource':_0x2ccf35?.[_0x47c47c(0x1c0)]?_0x47c47c(0x1c5):this['config'][_0x47c47c(0x1c0)]?'config':process['env']['LOXIA_API_KEY']?'env':'none'});const _0x43709a=await fetch(_0x2edc64,_0x336e95);if(!_0x43709a['ok'])throw new Error(_0x47c47c(0x1a0)+_0x43709a[_0x47c47c(0x191)]+':\x20'+_0x43709a['statusText']);const _0xc1717f=await _0x43709a[_0x47c47c(0x19d)]();if(_0xc1717f[_0x47c47c(0x1b5)]&&Array[_0x47c47c(0x1c2)](_0xc1717f[_0x47c47c(0x1b5)]))this['models']=_0xc1717f['models'],this[_0x47c47c(0x18f)]=new Date(),this[_0x47c47c(0x1be)]=![],this['logger'][_0x47c47c(0x1bd)]('Models fetched from backend',{'modelCount':this['models'][_0x47c47c(0x199)],'models':this['models']['map'](_0x590068=>_0x590068['name'])});else throw new Error('Invalid response format from models API');}catch(_0x3b3854){this['lastError']=_0x3b3854['message'],this[_0x47c47c(0x1b8)][_0x47c47c(0x18b)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x3b3854[_0x47c47c(0x190)],'endpoint':url,'retryAttempt':this[_0x47c47c(0x19b)],'maxRetries':this[_0x47c47c(0x1b9)]}),this[_0x47c47c(0x1c6)](_0x2ccf35);if(!this['models'])throw _0x3b3854;}finally{this['isLoading']=![];}}[a0_0x3a1393(0x1be)](){const _0xe8b193=a0_0x3a1393;if(!this['lastFetched'])return!![];const _0x392be5=Date[_0xe8b193(0x1b6)]()-this['lastFetched'][_0xe8b193(0x1a8)]();return _0x392be5>this[_0xe8b193(0x1b0)];}async[a0_0x3a1393(0x1a6)](_0x25d3b=null){const _0x1f58ad=a0_0x3a1393;this['logger']['info'](_0x1f58ad(0x1a3)),await this[_0x1f58ad(0x1af)](_0x25d3b);}async[a0_0x3a1393(0x192)](_0x55d14a){const _0x344bb5=a0_0x3a1393;(this[_0x344bb5(0x1be)]||!this['lastFetched'])&&(this[_0x344bb5(0x1b8)]['debug'](_0x344bb5(0x1a7)),await this[_0x344bb5(0x1af)](_0x55d14a));}[a0_0x3a1393(0x1c6)](_0x58d1b5=null){const _0x11c77c=a0_0x3a1393;this[_0x11c77c(0x1ad)]&&(clearTimeout(this[_0x11c77c(0x1ad)]),this[_0x11c77c(0x1ad)]=null);if(this[_0x11c77c(0x19b)]>=this['maxRetries']){this['logger']['error'](_0x11c77c(0x1b1),{'attempts':this[_0x11c77c(0x19b)],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x4d3b46=this['retryDelay']*Math[_0x11c77c(0x18e)](0x2,this[_0x11c77c(0x19b)]);this['retryAttempts']++,this['logger'][_0x11c77c(0x1bd)]('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x11c77c(0x19b)],'maxRetries':this[_0x11c77c(0x1b9)],'delayMs':_0x4d3b46}),this['retryTimer']=setTimeout(async()=>{const _0xe77736=_0x11c77c;this[_0xe77736(0x1b8)]['info'](_0xe77736(0x1a9),{'attempt':this[_0xe77736(0x19b)]});try{await this['fetchModels'](_0x58d1b5),this[_0xe77736(0x19b)]=0x0,this['lastError']=null;}catch(_0x3eeeaf){this[_0xe77736(0x1b8)][_0xe77736(0x1ba)](_0xe77736(0x1b7),{'attempt':this[_0xe77736(0x19b)],'error':_0x3eeeaf[_0xe77736(0x190)]});}},_0x4d3b46);}['_cancelRetry'](){this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null,this['logger']['debug']('Cancelled\x20pending\x20model\x20fetch\x20retry'));}['getStatus'](){const _0x57c831=a0_0x3a1393;return{'initialized':!!this[_0x57c831(0x1b5)],'lastFetched':this[_0x57c831(0x18f)]?.[_0x57c831(0x1bf)]()||null,'modelCount':this['models']?.['length']||0x0,'isLoading':this[_0x57c831(0x1a5)],'needsRefresh':this['needsRefresh'](),'error':this[_0x57c831(0x19a)]||null,'retryAttempts':this[_0x57c831(0x19b)],'maxRetries':this['maxRetries'],'hasError':!!this[_0x57c831(0x19a)]};}}function a0_0x276f(){const _0x4397e4=['D2fYBG','zgvIDwC','mNHACNHSDW','Aw5MBW','BMvLzhnszwzYzxnO','Dg9ju09tDhjPBMC','yxbPs2v5','nZm1nZu3nejhyNjctq','AxnbCNjHEq','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','BMfTzq','y29UDgv4Da','x3nJAgvKDwXLuMv0CNK','zxjYB3i','y29UzMLN','nZaZmtK1s0jny2Te','Cg93','BgfZDezLDgnOzwq','BwvZC2fNzq','C3rHDhvZ','CMvMCMvZAfDPDgHdB250zxH0','odiWmZC0nxH3AgTTyq','l2fWAs9SBg0VBw9KzwXZ','mZzOvvLosw4','mtbsq1rjAwi','zw52','yMfJA2vUzfvYBa','BgvUz3rO','BgfZDevYCM9Y','CMv0CNLbDhrLBxb0CW','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','ANnVBG','ohnjDhLqvG','yxbPs2v5twfUywDLCG','sfruuca','te9ysufFqvbjx0Tfwq','C2vZC2LVBKLK','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','nffqBM5WDG','AxnmB2fKAw5N','CMvMCMvZAa','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','z2v0vgLTzq','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','mtjhwunYB3m','mte0mdK5oxbtBwXdva','CMv0CNLuAw1LCG','mZuXndCWnM5pwerXAG','zMv0y2HnB2rLBhm','y2fJAgvfEhbPCNK','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','Bg94AwfbCgLlzxK','ntCWntq3thvYr3jr','mte4mdiXnJHKDfvYsui','Bw9KzwXZ','BM93','uMv0CNKGyxr0zw1WDcbMywLSzwq','Bg9Nz2vY','Bwf4uMv0CMLLCW'];a0_0x276f=function(){return _0x4397e4;};return a0_0x276f();}export default ModelsService;
|