@loxia-labs/loxia-autopilot-one 1.0.16 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
- package/web-ui/build/static/index-DL2-PyNX.js +367 -0
- package/web-ui/build/static/index-DFmFvOoy.css +0 -1
- package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xc7c1(_0x2c8833,_0x491621){_0x2c8833=_0x2c8833-0x1c3;const _0x124e07=a0_0x124e();let _0xc7c1e7=_0x124e07[_0x2c8833];if(a0_0xc7c1['DMNfux']===undefined){var _0x2e6957=function(_0x598463){const _0x3f4d9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x134e45='',_0x39c734='';for(let _0x4ce316=0x0,_0x58a321,_0x569d8f,_0x47eb05=0x0;_0x569d8f=_0x598463['charAt'](_0x47eb05++);~_0x569d8f&&(_0x58a321=_0x4ce316%0x4?_0x58a321*0x40+_0x569d8f:_0x569d8f,_0x4ce316++%0x4)?_0x134e45+=String['fromCharCode'](0xff&_0x58a321>>(-0x2*_0x4ce316&0x6)):0x0){_0x569d8f=_0x3f4d9d['indexOf'](_0x569d8f);}for(let _0x27bcbc=0x0,_0x8a4b24=_0x134e45['length'];_0x27bcbc<_0x8a4b24;_0x27bcbc++){_0x39c734+='%'+('00'+_0x134e45['charCodeAt'](_0x27bcbc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39c734);};a0_0xc7c1['zUvWcP']=_0x2e6957,a0_0xc7c1['lbJXVj']={},a0_0xc7c1['DMNfux']=!![];}const _0x13b903=_0x124e07[0x0],_0xb30227=_0x2c8833+_0x13b903,_0xc4c796=a0_0xc7c1['lbJXVj'][_0xb30227];return!_0xc4c796?(_0xc7c1e7=a0_0xc7c1['zUvWcP'](_0xc7c1e7),a0_0xc7c1['lbJXVj'][_0xb30227]=_0xc7c1e7):_0xc7c1e7=_0xc4c796,_0xc7c1e7;}const a0_0x31094b=a0_0xc7c1;(function(_0x5c35ec,_0x11f17e){const _0xa1004=a0_0xc7c1,_0x230ae7=_0x5c35ec();while(!![]){try{const _0x42aff6=-parseInt(_0xa1004(0x1e1))/0x1+-parseInt(_0xa1004(0x1de))/0x2+-parseInt(_0xa1004(0x1ca))/0x3*(-parseInt(_0xa1004(0x212))/0x4)+parseInt(_0xa1004(0x1f2))/0x5*(-parseInt(_0xa1004(0x207))/0x6)+parseInt(_0xa1004(0x1d3))/0x7+-parseInt(_0xa1004(0x208))/0x8+parseInt(_0xa1004(0x20d))/0x9;if(_0x42aff6===_0x11f17e)break;else _0x230ae7['push'](_0x230ae7['shift']());}catch(_0x5ee349){_0x230ae7['push'](_0x230ae7['shift']());}}}(a0_0x124e,0x2d63c));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x134e45,_0x39c734,_0x4ce316){const _0x3d1ecc=a0_0xc7c1;this[_0x3d1ecc(0x1f3)]=_0x134e45,this[_0x3d1ecc(0x203)]=_0x39c734,this['logger']=_0x4ce316,this['summaryPromptTemplate']=this[_0x3d1ecc(0x1e3)]();}async['compactConversation'](_0x58a321,_0x569d8f,_0x47eb05,_0x27bcbc={}){const _0x20a76a=a0_0xc7c1,_0x8a4b24=Date[_0x20a76a(0x1d4)]();try{if(!Array['isArray'](_0x58a321)||_0x58a321['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x58a321['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this['logger']['warn'](_0x20a76a(0x1ee),{'messageCount':_0x58a321[_0x20a76a(0x1c8)],'minimum':COMPACTION_CONFIG[_0x20a76a(0x1e5)]}),{'compactedMessages':_0x58a321,'strategy':_0x20a76a(0x1fd),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x476a81=_0x569d8f!==_0x47eb05,_0x4b83f2=_0x27bcbc[_0x20a76a(0x1d2)]||![];let _0x265165;if(_0x476a81)_0x265165=COMPACTION_STRATEGIES['TRUNCATION'];else _0x4b83f2?_0x265165=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x265165=_0x27bcbc[_0x20a76a(0x1ff)]||COMPACTION_STRATEGIES[_0x20a76a(0x201)];this['logger'][_0x20a76a(0x1ea)]('Starting\x20conversation\x20compaction',{'messageCount':_0x58a321[_0x20a76a(0x1c8)],'currentModel':_0x569d8f,'targetModel':_0x47eb05,'strategy':_0x265165,'isModelSwitch':_0x476a81,'isRetry':_0x4b83f2});let _0x32882c;switch(_0x265165){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x32882c=await this['_compactWithSummarization'](_0x58a321,_0x569d8f,_0x27bcbc);break;case COMPACTION_STRATEGIES[_0x20a76a(0x1f5)]:_0x32882c=await this[_0x20a76a(0x1d7)](_0x58a321,_0x47eb05,_0x27bcbc);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x32882c=await this[_0x20a76a(0x211)](_0x58a321,_0x569d8f,_0x27bcbc);break;default:throw new Error(_0x20a76a(0x20e)+_0x265165);}const _0x2f9e20=Date[_0x20a76a(0x1d4)]()-_0x8a4b24;return _0x32882c[_0x20a76a(0x1e2)]=_0x2f9e20,_0x32882c['timestamp']=new Date()[_0x20a76a(0x209)](),this['logger']['info'](_0x20a76a(0x1ef),{'strategy':_0x32882c['strategy'],'originalMessages':_0x58a321[_0x20a76a(0x1c8)],'compactedMessages':_0x32882c['compactedMessages']['length'],'originalTokens':_0x32882c[_0x20a76a(0x1f9)],'compactedTokens':_0x32882c['compactedTokenCount'],'reductionPercent':_0x32882c['reductionPercent']['toFixed'](0x2),'executionTime':_0x2f9e20+'ms'}),_0x32882c;}catch(_0x39ca67){const _0x31073c=Date[_0x20a76a(0x1d4)]()-_0x8a4b24;this['logger']['error'](_0x20a76a(0x1c7),{'error':_0x39ca67[_0x20a76a(0x1ed)],'messageCount':_0x58a321['length'],'currentModel':_0x569d8f,'targetModel':_0x47eb05,'executionTime':_0x31073c+'ms'});throw _0x39ca67;}}async[a0_0x31094b(0x1da)](_0x28d196,_0x3cd7af,_0x2bf07f){const _0x577b2b=a0_0x31094b,_0x2c97dc=COMPACTION_STRATEGIES[_0x577b2b(0x201)],_0x414c34=await this['tokenCountingService']['estimateConversationTokens'](_0x28d196,_0x3cd7af,TOKEN_COUNTING_MODES[_0x577b2b(0x1d8)]),_0x4100d4=await this['_identifySegments'](_0x28d196,_0x3cd7af,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this['logger'][_0x577b2b(0x1fc)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x4100d4['beginning']['length'],'middleMessages':_0x4100d4[_0x577b2b(0x1fa)][_0x577b2b(0x1c8)],'endMessages':_0x4100d4[_0x577b2b(0x205)]['length'],'middleStartIndex':_0x4100d4[_0x577b2b(0x1d0)],'middleEndIndex':_0x4100d4[_0x577b2b(0x20c)],'totalMessages':_0x28d196['length']});const _0x55afc6=await this[_0x577b2b(0x1f8)](_0x4100d4['middle'],_0x3cd7af,{..._0x2bf07f,'middleStartIndex':_0x4100d4[_0x577b2b(0x1d0)],'middleEndIndex':_0x4100d4[_0x577b2b(0x20c)]}),_0x250cad=[..._0x4100d4[_0x577b2b(0x20b)],_0x55afc6,..._0x4100d4[_0x577b2b(0x205)]],_0x4cd9b8=await this['tokenCountingService']['estimateConversationTokens'](_0x250cad,_0x3cd7af,TOKEN_COUNTING_MODES['ACCURATE']),_0x4c400c=(_0x414c34-_0x4cd9b8)/_0x414c34*0x64;return{'compactedMessages':_0x250cad,'strategy':_0x2c97dc,'originalTokenCount':_0x414c34,'compactedTokenCount':_0x4cd9b8,'reductionPercent':_0x4c400c,'segments':{'beginningCount':_0x4100d4['beginning'][_0x577b2b(0x1c8)],'middleCount':_0x4100d4['middle'][_0x577b2b(0x1c8)],'endCount':_0x4100d4[_0x577b2b(0x205)][_0x577b2b(0x1c8)],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x5a59a3,_0x4b1b6e,_0x4cfd98){const _0x4e3fba=a0_0x31094b,_0x276949=COMPACTION_STRATEGIES['TRUNCATION'],_0x508f15=this[_0x4e3fba(0x1f3)][_0x4e3fba(0x1f6)](_0x4b1b6e),_0x543cd4=Math['floor'](_0x508f15*0.8),_0x31c1bd=await this['tokenCountingService']['estimateConversationTokens'](_0x5a59a3,_0x4b1b6e,TOKEN_COUNTING_MODES['ACCURATE']),_0x3639bf=await this['_identifySegments'](_0x5a59a3,_0x4b1b6e,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x4e3fba(0x1cf)]);this['logger'][_0x4e3fba(0x1fc)](_0x4e3fba(0x1c6),{'beginningMessages':_0x3639bf['beginning']['length'],'middleMessages':_0x3639bf['middle'][_0x4e3fba(0x1c8)],'endMessages':_0x3639bf['end'][_0x4e3fba(0x1c8)],'targetTokenCount':_0x543cd4,'originalTokenCount':_0x31c1bd});const _0x4568bf={'role':_0x4e3fba(0x1d5),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0x4e3fba(0x1dc),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x3639bf[_0x4e3fba(0x1fa)][_0x4e3fba(0x1c8)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0xa244cb=[..._0x3639bf['beginning'],_0x4568bf,..._0x3639bf[_0x4e3fba(0x205)]],_0x3627da=await this['tokenCountingService'][_0x4e3fba(0x1e7)](_0xa244cb,_0x4b1b6e,TOKEN_COUNTING_MODES[_0x4e3fba(0x1d8)]),_0x1b42f8=(_0x31c1bd-_0x3627da)/_0x31c1bd*0x64;return{'compactedMessages':_0xa244cb,'strategy':_0x276949,'originalTokenCount':_0x31c1bd,'compactedTokenCount':_0x3627da,'reductionPercent':_0x1b42f8,'segments':{'beginningCount':_0x3639bf['beginning'][_0x4e3fba(0x1c8)],'middleCount':_0x3639bf[_0x4e3fba(0x1fa)]['length'],'endCount':_0x3639bf['end'][_0x4e3fba(0x1c8)],'summaryInserted':![]}};}async[a0_0x31094b(0x211)](_0x3ebe1b,_0x3d309c,_0x449a47){const _0x2f7aba=a0_0x31094b,_0x3a1cee=COMPACTION_STRATEGIES['AGGRESSIVE'],_0xa1ffb0=await this[_0x2f7aba(0x1f3)][_0x2f7aba(0x1e7)](_0x3ebe1b,_0x3d309c,TOKEN_COUNTING_MODES[_0x2f7aba(0x1d8)]),_0x1515a6=await this[_0x2f7aba(0x1eb)](_0x3ebe1b,_0x3d309c,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger'][_0x2f7aba(0x1fc)](_0x2f7aba(0x1ec),{'beginningMessages':_0x1515a6['beginning'][_0x2f7aba(0x1c8)],'middleMessages':_0x1515a6['middle'][_0x2f7aba(0x1c8)],'endMessages':_0x1515a6[_0x2f7aba(0x205)][_0x2f7aba(0x1c8)],'middleStartIndex':_0x1515a6['middleStartIndex'],'middleEndIndex':_0x1515a6['middleEndIndex']});const _0x145b98=await this[_0x2f7aba(0x1f8)](_0x1515a6[_0x2f7aba(0x1fa)],_0x3d309c,{..._0x449a47,'aggressive':!![],'middleStartIndex':_0x1515a6[_0x2f7aba(0x1d0)],'middleEndIndex':_0x1515a6[_0x2f7aba(0x20c)]}),_0x429e35=[..._0x1515a6['beginning'],_0x145b98,..._0x1515a6[_0x2f7aba(0x205)]],_0x27b033=await this[_0x2f7aba(0x1f3)][_0x2f7aba(0x1e7)](_0x429e35,_0x3d309c,TOKEN_COUNTING_MODES[_0x2f7aba(0x1d8)]),_0x20e8de=(_0xa1ffb0-_0x27b033)/_0xa1ffb0*0x64;return{'compactedMessages':_0x429e35,'strategy':_0x3a1cee,'originalTokenCount':_0xa1ffb0,'compactedTokenCount':_0x27b033,'reductionPercent':_0x20e8de,'segments':{'beginningCount':_0x1515a6['beginning'][_0x2f7aba(0x1c8)],'middleCount':_0x1515a6[_0x2f7aba(0x1fa)][_0x2f7aba(0x1c8)],'endCount':_0x1515a6[_0x2f7aba(0x205)]['length'],'summaryInserted':!![]}};}async[a0_0x31094b(0x1eb)](_0x38a9b5,_0x5a6cb6,_0x550e97,_0x7ba2f2){const _0x28eb8c=a0_0x31094b,_0x2937b2=await this['tokenCountingService'][_0x28eb8c(0x1e7)](_0x38a9b5,_0x5a6cb6,TOKEN_COUNTING_MODES['ACCURATE']),_0x321f76=Math['floor'](_0x2937b2*_0x550e97),_0x16273c=Math[_0x28eb8c(0x1db)](_0x2937b2*_0x7ba2f2);let _0x1c1514=0x0,_0x2caeba=0x0;for(let _0x20759e=0x0;_0x20759e<_0x38a9b5['length'];_0x20759e++){const _0x346a6f=await this['tokenCountingService']['countTokens'](_0x38a9b5[_0x20759e]['content'],_0x5a6cb6,TOKEN_COUNTING_MODES[_0x28eb8c(0x206)]);if(_0x1c1514+_0x346a6f>_0x321f76&&_0x20759e>=0x2)break;_0x1c1514+=_0x346a6f,_0x2caeba=_0x20759e+0x1;}let _0x81afcb=0x0,_0x5e1870=_0x38a9b5[_0x28eb8c(0x1c8)];for(let _0x2eea87=_0x38a9b5['length']-0x1;_0x2eea87>=0x0;_0x2eea87--){const _0x1e8381=await this[_0x28eb8c(0x1f3)][_0x28eb8c(0x1e4)](_0x38a9b5[_0x2eea87][_0x28eb8c(0x20a)],_0x5a6cb6,TOKEN_COUNTING_MODES['CACHED']);if(_0x81afcb+_0x1e8381>_0x16273c)break;_0x81afcb+=_0x1e8381,_0x5e1870=_0x2eea87;}_0x5e1870<_0x2caeba&&(_0x5e1870=_0x2caeba);const _0x16d6d9=_0x38a9b5[_0x28eb8c(0x1cc)](0x0,_0x2caeba),_0x5308a7=_0x38a9b5[_0x28eb8c(0x1cc)](_0x2caeba,_0x5e1870),_0x331ef9=_0x38a9b5['slice'](_0x5e1870);return{'beginning':_0x16d6d9,'middle':_0x5308a7,'end':_0x331ef9,'middleStartIndex':_0x2caeba,'middleEndIndex':_0x5e1870-0x1};}async[a0_0x31094b(0x1f8)](_0x5f45b3,_0x20a4cc,_0x2adde4={}){const _0x14377c=a0_0x31094b;if(_0x5f45b3['length']===0x0)return{'role':_0x14377c(0x1d5),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':'summary','timestamp':new Date()['toISOString']()};const _0x76ebb0=_0x5f45b3[_0x14377c(0x1f7)](_0x5c5839=>_0x5c5839[_0x14377c(0x200)]+':\x20'+_0x5c5839[_0x14377c(0x20a)])['join']('\x0a\x0a'),_0x308e0a=this[_0x14377c(0x1fb)]['replace'](_0x14377c(0x1f0),_0x76ebb0)[_0x14377c(0x1c9)](_0x14377c(0x1df),_0x2adde4['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x62bb3d=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x14377c(0x213)]];let _0x48a538=null;for(const _0x4ec749 of _0x62bb3d){try{this['logger'][_0x14377c(0x1fc)](_0x14377c(0x1f1),{'compactionModel':_0x4ec749,'middleMessageCount':_0x5f45b3['length'],'middleContentLength':_0x76ebb0['length'],'aggressive':_0x2adde4[_0x14377c(0x1e9)]});const _0x33787e=await this[_0x14377c(0x203)][_0x14377c(0x1cb)](_0x4ec749,_0x308e0a,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG[_0x14377c(0x1c3)],'temperature':0.3,'sessionId':_0x2adde4['sessionId'],'platformProvided':!![]}),_0x236649=_0x33787e[_0x14377c(0x20a)][_0x14377c(0x204)](),_0x59ae0a=_0x2adde4[_0x14377c(0x1d0)]!==undefined&&_0x2adde4['middleEndIndex']!==undefined?_0x14377c(0x1e0)+_0x2adde4[_0x14377c(0x1d0)]+'-'+_0x2adde4[_0x14377c(0x20c)]:_0x5f45b3[_0x14377c(0x1c8)]+_0x14377c(0x1c4);return this['logger'][_0x14377c(0x1ea)](_0x14377c(0x1e6),{'compactionModel':_0x4ec749,'originalLength':_0x76ebb0[_0x14377c(0x1c8)],'summaryLength':_0x236649['length'],'compressionRatio':(_0x236649['length']/_0x76ebb0['length']*0x64)[_0x14377c(0x1fe)](0x2)+'%','indexRange':_0x59ae0a}),{'role':'system','content':COMPACTION_CONFIG[_0x14377c(0x210)]+_0x14377c(0x1ce)+_0x59ae0a+']\x0a\x0a'+_0x236649+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x14377c(0x20f),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x5f45b3['length'],'originalStartIndex':_0x2adde4[_0x14377c(0x1d0)],'originalEndIndex':_0x2adde4[_0x14377c(0x20c)],'compactionModel':_0x4ec749,'aggressive':_0x2adde4['aggressive']||![]}};}catch(_0x27e492){_0x48a538=_0x27e492,this[_0x14377c(0x202)][_0x14377c(0x1f4)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x4ec749,'error':_0x27e492['message'],'middleMessageCount':_0x5f45b3[_0x14377c(0x1c8)]});}}this['logger'][_0x14377c(0x1cd)]('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x62bb3d[_0x14377c(0x1c8)],'lastError':_0x48a538?.['message'],'middleMessageCount':_0x5f45b3['length']});const _0x416e7a=this[_0x14377c(0x1d6)](_0x5f45b3),_0x5e1148=_0x2adde4['middleStartIndex']!==undefined&&_0x2adde4[_0x14377c(0x20c)]!==undefined?_0x14377c(0x1e0)+_0x2adde4['middleStartIndex']+'-'+_0x2adde4['middleEndIndex']:_0x5f45b3[_0x14377c(0x1c8)]+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG[_0x14377c(0x210)]+_0x14377c(0x1ce)+_0x5e1148+_0x14377c(0x1c5)+_0x416e7a+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x14377c(0x209)](),'metadata':{'originalMessageCount':_0x5f45b3[_0x14377c(0x1c8)],'originalStartIndex':_0x2adde4[_0x14377c(0x1d0)],'originalEndIndex':_0x2adde4[_0x14377c(0x20c)],'fallback':!![],'error':_0x48a538?.['message'],'modelsAttempted':_0x62bb3d}};}['_createFallbackSummary'](_0x210110){const _0x4ce3cc=a0_0x31094b,_0x323e27=_0x210110['length'],_0x6a78c7=_0x210110['map'](_0x5c5b7b=>_0x5c5b7b[_0x4ce3cc(0x200)]),_0x3eed32=_0x6a78c7[_0x4ce3cc(0x1d1)](_0x1ffb35=>_0x1ffb35===_0x4ce3cc(0x1e8))[_0x4ce3cc(0x1c8)],_0x48f876=_0x6a78c7[_0x4ce3cc(0x1d1)](_0x4098c3=>_0x4098c3==='assistant')[_0x4ce3cc(0x1c8)];return'['+_0x323e27+'\x20messages\x20summarized\x20-\x20'+_0x3eed32+_0x4ce3cc(0x1dd)+_0x48f876+'\x20assistant\x20responses.\x20'+_0x4ce3cc(0x1d9);}[a0_0x31094b(0x1e3)](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}export default ConversationCompactionService;function a0_0x124e(){const _0x4049b1=['r2vUzxjHDgLUzYbZDw1Tyxj5','mtvRCeLjBwy','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','D2fYBG','vfjvtKnbveLptG','z2v0tw9KzwXdB250zxH0v2LUzg93','BwfW','x2DLBMvYyxrLu3vTBwfYEq','B3jPz2LUywXuB2TLBKnVDw50','BwLKzgXL','C3vTBwfYEvbYB21WDfrLBxbSyxrL','zgvIDwC','BM9Uzq','Dg9gAxHLza','C3rYyxrLz3K','CM9Szq','u1vntufssvPbveLptG','Bg9Nz2vY','ywLtzxj2AwnL','DhjPBq','zw5K','q0fdseve','ndqWodyYqun1C0T0','nZG2ndy0uLjPuhHv','Dg9ju09tDhjPBMC','y29UDgvUDa','yMvNAw5UAw5N','BwLKzgXLrw5Ksw5KzxG','ndeYmZKXn1b1swLyva','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','C3vTBwfYEq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','mtzozKXkwxG','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','tufyx1nvtu1buLLFve9lru5t','ig1LC3nHz2vZ','xqOk','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','q29TCgfJDgLVBIbMywLSzwq','BgvUz3rO','CMvWBgfJzq','mtK3mdyXv3zJBNPo','C2vUze1LC3nHz2u','C2XPy2u','zxjYB3i','ic0G','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','zMLSDgvY','AxnszxrYEq','ndmYotm2veLSter0','BM93','C3LZDgvT','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','qundvvjbveu','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','zMXVB3i','C2vWyxjHDg9Y','ihvZzxiGBwvZC2fNzxmSia','nda2mtiWsM1XqKDL','E2fNz3jLC3nPDMvFAw5ZDhj1y3rPB259','B3jPz2LUywWGBwvZC2fNzxmG','nZuWotrPwvjzq28','zxHLy3v0Aw9UvgLTzq','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','y291BNruB2TLBNm','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','DxnLCG','ywDNCMvZC2L2zq','Aw5MBW','x2LKzw50Awz5u2vNBwvUDhm','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','BwvZC2fNzq','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','E21PzgrSzv9ZzwDTzw50Fq'];a0_0x124e=function(){return _0x4049b1;};return a0_0x124e();}
|
|
1
|
+
const a0_0x2fe454=a0_0x3b8d;function a0_0x3b8d(_0x364a5c,_0x245f35){_0x364a5c=_0x364a5c-0x9d;const _0x56ba5c=a0_0x56ba();let _0x3b8dcd=_0x56ba5c[_0x364a5c];if(a0_0x3b8d['KHfmKT']===undefined){var _0x5c32f9=function(_0x4c30b9){const _0x488a78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53143c='',_0x3036f2='';for(let _0x533c32=0x0,_0x2377d8,_0x2c9ea1,_0x3e1030=0x0;_0x2c9ea1=_0x4c30b9['charAt'](_0x3e1030++);~_0x2c9ea1&&(_0x2377d8=_0x533c32%0x4?_0x2377d8*0x40+_0x2c9ea1:_0x2c9ea1,_0x533c32++%0x4)?_0x53143c+=String['fromCharCode'](0xff&_0x2377d8>>(-0x2*_0x533c32&0x6)):0x0){_0x2c9ea1=_0x488a78['indexOf'](_0x2c9ea1);}for(let _0x48ee82=0x0,_0x596227=_0x53143c['length'];_0x48ee82<_0x596227;_0x48ee82++){_0x3036f2+='%'+('00'+_0x53143c['charCodeAt'](_0x48ee82)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3036f2);};a0_0x3b8d['jdkQJf']=_0x5c32f9,a0_0x3b8d['LFOyhs']={},a0_0x3b8d['KHfmKT']=!![];}const _0x4804eb=_0x56ba5c[0x0],_0x2a2fe0=_0x364a5c+_0x4804eb,_0x1ce840=a0_0x3b8d['LFOyhs'][_0x2a2fe0];return!_0x1ce840?(_0x3b8dcd=a0_0x3b8d['jdkQJf'](_0x3b8dcd),a0_0x3b8d['LFOyhs'][_0x2a2fe0]=_0x3b8dcd):_0x3b8dcd=_0x1ce840,_0x3b8dcd;}(function(_0x270748,_0x233f02){const _0x5bda45=a0_0x3b8d,_0x1bc226=_0x270748();while(!![]){try{const _0x36dd95=parseInt(_0x5bda45(0xd5))/0x1+-parseInt(_0x5bda45(0xe2))/0x2*(-parseInt(_0x5bda45(0xb6))/0x3)+parseInt(_0x5bda45(0xc1))/0x4+parseInt(_0x5bda45(0xc9))/0x5+-parseInt(_0x5bda45(0xc5))/0x6*(-parseInt(_0x5bda45(0xab))/0x7)+parseInt(_0x5bda45(0xc4))/0x8+-parseInt(_0x5bda45(0xc8))/0x9;if(_0x36dd95===_0x233f02)break;else _0x1bc226['push'](_0x1bc226['shift']());}catch(_0x5e4196){_0x1bc226['push'](_0x1bc226['shift']());}}}(a0_0x56ba,0xc4822));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';function a0_0x56ba(){const _0x10736a=['y29TCgfJDgLVBK1VzgvSsw5KzxG','u1vntufssvPbveLptG','ywLtzxj2AwnL','nda4mJmWmgPQzwjguG','zw5K','C3rYyxrLz3K','nZmWotGXnKTqCerUCq','ntrhuxjdzuK','xqOk','DhjPBq','mtK0ody1mJfctxn4y0y','oteYnZu1quLszhbe','D2fYBG','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','ywDNCMvZC2L2zq','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','Bg9Nz2vY','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','BgvUz3rO','nZmWndr2EvbQD0q','q09nuefdveLptL9nt0rftfm','Aw5JBhvKzxm','C2vZC2LVBKLK','B25bBgXnB2rLBhnfEgHHDxn0zwq','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','BwLKzgXLrw5Ksw5KzxG','AM9PBG','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcWGDhj5Aw5Nig5LEhqGBw9KzwWGAw4GCM90yxrPB24','z2v0tw9KzwXdB250zxH0v2LUzg93','yxnZAxn0yw50','Dg9gAxHLza','mJK2mK55uxDZuq','C2XPy2u','BwvZC2fNzq','yMvNAw5UAw5N','CMf0zsbSAw1PDa','B3jPz2LUywXuB2TLBKnVDw50','vg9VigzLDYbTzxnZywDLCW','DxnLCG','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','Dg9ju09tDhjPBMC','C3vTBwfYEq','x2LKzw50Awz5u2vNBwvUDhm','x2DLBMvYyxrLu3vTBwfYEq','qwXSignVBxbHy3rPB24GBw9KzwXZigv4Agf1C3rLza','CMvWBgfJzq','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','ig1LC3nHz2vZ','B3jPz2LUywWGBwvZC2fNzxmG','y29TCgfJDgvKvg9Rzw5dB3vUDa','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','CM9Szq','y29TCgfJDenVBNzLCNnHDgLVBG','BwLKzgXLu3rHCNrjBMrLEa','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','q0fdseve','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','ChvZAa','x2fKDMfUy2vdB21Wywn0Aw9Utw9KzwXjBMrLEa','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','DgLTzxn0yw1W','ndyWnta5CuPvu2jH','C3LZDgvT','qundvvjbveu','y29UDgvUDa','zMLSDgvY','AxnsyxrLtgLTAxrjC3n1zq','zMXVB3i','x2DLDe5LEhrdB21Wywn0Aw9Utw9KzwW','q29UDMvYC2f0Aw9UignVBxbHy3rPB24GzMfPBgvKoIbbBgWG','AxnszxrYEq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','mZGXEgTIrMjR','q29TCgfJDgLVBIbMywLSzwq','AxnbCNjHEq','ihvZzxiGBwvZC2fNzxmSia','ru5ex1nfr01ftLrFuevsq0vovefhrq','BwLKzgXL','BM93','y291BNruB2TLBNm'];a0_0x56ba=function(){return _0x10736a;};return a0_0x56ba();}class ConversationCompactionService{constructor(_0x53143c,_0x3036f2,_0x533c32){const _0xbe4420=a0_0x3b8d;this['tokenCountingService']=_0x53143c,this[_0xbe4420(0xc0)]=_0x3036f2,this[_0xbe4420(0xce)]=_0x533c32,this[_0xbe4420(0xbe)]=0x0,this['summaryPromptTemplate']=this[_0xbe4420(0xd1)]();}['_getNextCompactionModel'](_0x2377d8=0x0){const _0x5207cc=a0_0x3b8d,_0x2c9ea1=COMPACTION_CONFIG[_0x5207cc(0xd6)]||[];if(_0x2c9ea1[_0x5207cc(0xd4)]===0x0)throw new Error('No\x20compaction\x20models\x20configured');const _0x3e1030=(this['compactionModelIndex']+_0x2377d8)%_0x2c9ea1[_0x5207cc(0xd4)];return _0x2c9ea1[_0x3e1030];}[a0_0x2fe454(0xa8)](){const _0x3f7f51=a0_0x2fe454,_0x48ee82=COMPACTION_CONFIG['COMPACTION_MODELS']||[];this[_0x3f7f51(0xbe)]=(this['compactionModelIndex']+0x1)%_0x48ee82[_0x3f7f51(0xd4)];}async[a0_0x2fe454(0xa2)](_0x596227,_0x1b008b,_0x29ed2f,_0x33a321={}){const _0x391744=a0_0x2fe454,_0x477af6=Date['now']();try{if(!Array[_0x391744(0xb8)](_0x596227)||_0x596227[_0x391744(0xd4)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x596227[_0x391744(0xd4)]<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0x391744(0xce)]['warn']('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x596227[_0x391744(0xd4)],'minimum':COMPACTION_CONFIG[_0x391744(0xa4)]}),{'compactedMessages':_0x596227,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x391744(0xe8)};const _0x3e916d=_0x1b008b!==_0x29ed2f,_0x3f7179=_0x33a321[_0x391744(0xb4)]||![];let _0x2e4398;if(_0x3e916d)_0x2e4398=COMPACTION_STRATEGIES['TRUNCATION'];else _0x3f7179?_0x2e4398=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x2e4398=_0x33a321['strategy']||COMPACTION_STRATEGIES[_0x391744(0xbf)];this[_0x391744(0xce)]['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x596227[_0x391744(0xd4)],'currentModel':_0x1b008b,'targetModel':_0x29ed2f,'strategy':_0x2e4398,'isModelSwitch':_0x3e916d,'isRetry':_0x3f7179});let _0x6dd591;switch(_0x2e4398){case COMPACTION_STRATEGIES[_0x391744(0xbf)]:_0x6dd591=await this[_0x391744(0xea)](_0x596227,_0x1b008b,_0x33a321);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x6dd591=await this['_compactWithTruncation'](_0x596227,_0x29ed2f,_0x33a321);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x6dd591=await this[_0x391744(0xb5)](_0x596227,_0x1b008b,_0x33a321);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x2e4398);}const _0x4f0519=Date['now']()-_0x477af6;return _0x6dd591['executionTime']=_0x4f0519,_0x6dd591[_0x391744(0xaa)]=new Date()[_0x391744(0xeb)](),this['logger']['info'](_0x391744(0xcf),{'strategy':_0x6dd591[_0x391744(0xc3)],'originalMessages':_0x596227['length'],'compactedMessages':_0x6dd591['compactedMessages']['length'],'originalTokens':_0x6dd591[_0x391744(0xe7)],'compactedTokens':_0x6dd591[_0x391744(0x9f)],'reductionPercent':_0x6dd591['reductionPercent']['toFixed'](0x2),'executionTime':_0x4f0519+'ms'}),_0x6dd591;}catch(_0x188365){const _0x44789d=Date[_0x391744(0xbc)]()-_0x477af6;this[_0x391744(0xce)]['error'](_0x391744(0xb7),{'error':_0x188365['message'],'messageCount':_0x596227[_0x391744(0xd4)],'currentModel':_0x1b008b,'targetModel':_0x29ed2f,'executionTime':_0x44789d+'ms'});throw _0x188365;}}async['_compactWithSummarization'](_0x3c6316,_0x23efb4,_0x4e5ad1){const _0x360eda=a0_0x2fe454,_0x3f3a4a=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x414bc4=await this[_0x360eda(0xa0)]['estimateConversationTokens'](_0x3c6316,_0x23efb4,TOKEN_COUNTING_MODES[_0x360eda(0xad)]),_0xcf8d5b=await this[_0x360eda(0xed)](_0x3c6316,_0x23efb4,COMPACTION_CONFIG[_0x360eda(0xda)],COMPACTION_CONFIG[_0x360eda(0xba)]);this[_0x360eda(0xce)]['debug']('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0xcf8d5b[_0x360eda(0xe5)][_0x360eda(0xd4)],'middleMessages':_0xcf8d5b['middle'][_0x360eda(0xd4)],'endMessages':_0xcf8d5b['end']['length'],'middleStartIndex':_0xcf8d5b['middleStartIndex'],'middleEndIndex':_0xcf8d5b['middleEndIndex'],'totalMessages':_0x3c6316['length']});const _0x49de48=await this['_generateSummary'](_0xcf8d5b['middle'],_0x23efb4,{..._0x4e5ad1,'middleStartIndex':_0xcf8d5b['middleStartIndex'],'middleEndIndex':_0xcf8d5b['middleEndIndex']}),_0x2102cf=[..._0xcf8d5b['beginning'],_0x49de48,..._0xcf8d5b['end']],_0x21d280=await this['tokenCountingService'][_0x360eda(0xa9)](_0x2102cf,_0x23efb4,TOKEN_COUNTING_MODES['ACCURATE']),_0x5913a6=(_0x414bc4-_0x21d280)/_0x414bc4*0x64;return{'compactedMessages':_0x2102cf,'strategy':_0x3f3a4a,'originalTokenCount':_0x414bc4,'compactedTokenCount':_0x21d280,'reductionPercent':_0x5913a6,'segments':{'beginningCount':_0xcf8d5b['beginning'][_0x360eda(0xd4)],'middleCount':_0xcf8d5b[_0x360eda(0xbb)][_0x360eda(0xd4)],'endCount':_0xcf8d5b[_0x360eda(0xc2)]['length'],'summaryInserted':!![]}};}async[a0_0x2fe454(0xcb)](_0x1c726e,_0x5ef34f,_0xe410bc){const _0x52985a=a0_0x2fe454,_0x597605=COMPACTION_STRATEGIES['TRUNCATION'],_0xd23856=this['tokenCountingService'][_0x52985a(0xdf)](_0x5ef34f),_0x3b01bc=Math[_0x52985a(0xb1)](_0xd23856*0.8),_0x3ddcf0=await this['tokenCountingService'][_0x52985a(0xa9)](_0x1c726e,_0x5ef34f,TOKEN_COUNTING_MODES['ACCURATE']),_0x585e93=await this['_identifySegments'](_0x1c726e,_0x5ef34f,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x52985a(0xd2)]);this[_0x52985a(0xce)]['debug'](_0x52985a(0xa6),{'beginningMessages':_0x585e93['beginning']['length'],'middleMessages':_0x585e93['middle'][_0x52985a(0xd4)],'endMessages':_0x585e93['end'][_0x52985a(0xd4)],'targetTokenCount':_0x3b01bc,'originalTokenCount':_0x3ddcf0});const _0x37d582={'role':'system','content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x585e93[_0x52985a(0xbb)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x491adc=[..._0x585e93[_0x52985a(0xe5)],_0x37d582,..._0x585e93['end']],_0x935392=await this['tokenCountingService'][_0x52985a(0xa9)](_0x491adc,_0x5ef34f,TOKEN_COUNTING_MODES['ACCURATE']),_0x22f447=(_0x3ddcf0-_0x935392)/_0x3ddcf0*0x64;return{'compactedMessages':_0x491adc,'strategy':_0x597605,'originalTokenCount':_0x3ddcf0,'compactedTokenCount':_0x935392,'reductionPercent':_0x22f447,'segments':{'beginningCount':_0x585e93['beginning']['length'],'middleCount':_0x585e93[_0x52985a(0xbb)]['length'],'endCount':_0x585e93['end']['length'],'summaryInserted':![]}};}async[a0_0x2fe454(0xb5)](_0x5cb010,_0x12a823,_0x2b8cde){const _0x3067cd=a0_0x2fe454,_0x934186=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x9b5c23=await this[_0x3067cd(0xa0)]['estimateConversationTokens'](_0x5cb010,_0x12a823,TOKEN_COUNTING_MODES['ACCURATE']),_0x49fd99=await this[_0x3067cd(0xed)](_0x5cb010,_0x12a823,COMPACTION_CONFIG[_0x3067cd(0xf2)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x3067cd(0xce)]['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x49fd99['beginning'][_0x3067cd(0xd4)],'middleMessages':_0x49fd99['middle']['length'],'endMessages':_0x49fd99['end']['length'],'middleStartIndex':_0x49fd99[_0x3067cd(0xa3)],'middleEndIndex':_0x49fd99['middleEndIndex']});const _0x3ff3bb=await this[_0x3067cd(0xee)](_0x49fd99[_0x3067cd(0xbb)],_0x12a823,{..._0x2b8cde,'aggressive':!![],'middleStartIndex':_0x49fd99['middleStartIndex'],'middleEndIndex':_0x49fd99['middleEndIndex']}),_0x1992ee=[..._0x49fd99['beginning'],_0x3ff3bb,..._0x49fd99['end']],_0x504c4e=await this['tokenCountingService'][_0x3067cd(0xa9)](_0x1992ee,_0x12a823,TOKEN_COUNTING_MODES[_0x3067cd(0xad)]),_0x316814=(_0x9b5c23-_0x504c4e)/_0x9b5c23*0x64;return{'compactedMessages':_0x1992ee,'strategy':_0x934186,'originalTokenCount':_0x9b5c23,'compactedTokenCount':_0x504c4e,'reductionPercent':_0x316814,'segments':{'beginningCount':_0x49fd99[_0x3067cd(0xe5)]['length'],'middleCount':_0x49fd99['middle']['length'],'endCount':_0x49fd99[_0x3067cd(0xc2)][_0x3067cd(0xd4)],'summaryInserted':!![]}};}async['_identifySegments'](_0x484ec5,_0x2232c7,_0x5ec096,_0x4edbda){const _0x5ccd36=a0_0x2fe454,_0x3f5e13=await this[_0x5ccd36(0xa0)]['estimateConversationTokens'](_0x484ec5,_0x2232c7,TOKEN_COUNTING_MODES['ACCURATE']),_0x2e217f=Math[_0x5ccd36(0xb1)](_0x3f5e13*_0x5ec096),_0x20c031=Math['floor'](_0x3f5e13*_0x4edbda);let _0x3a6846=0x0,_0x1e6c67=0x0;for(let _0x48cf83=0x0;_0x48cf83<_0x484ec5['length'];_0x48cf83++){const _0x53271e=await this[_0x5ccd36(0xa0)][_0x5ccd36(0xbd)](_0x484ec5[_0x48cf83][_0x5ccd36(0xae)],_0x2232c7,TOKEN_COUNTING_MODES['CACHED']);if(_0x3a6846+_0x53271e>_0x2e217f&&_0x48cf83>=0x2)break;_0x3a6846+=_0x53271e,_0x1e6c67=_0x48cf83+0x1;}let _0x4e881a=0x0,_0x4fc56b=_0x484ec5['length'];for(let _0x762b1c=_0x484ec5['length']-0x1;_0x762b1c>=0x0;_0x762b1c--){const _0x5416e2=await this['tokenCountingService'][_0x5ccd36(0xbd)](_0x484ec5[_0x762b1c][_0x5ccd36(0xae)],_0x2232c7,TOKEN_COUNTING_MODES[_0x5ccd36(0xa5)]);if(_0x4e881a+_0x5416e2>_0x20c031)break;_0x4e881a+=_0x5416e2,_0x4fc56b=_0x762b1c;}_0x4fc56b<_0x1e6c67&&(_0x4fc56b=_0x1e6c67);const _0x186386=_0x484ec5[_0x5ccd36(0xe3)](0x0,_0x1e6c67),_0x1b433a=_0x484ec5['slice'](_0x1e6c67,_0x4fc56b),_0xac7cfa=_0x484ec5['slice'](_0x4fc56b);return{'beginning':_0x186386,'middle':_0x1b433a,'end':_0xac7cfa,'middleStartIndex':_0x1e6c67,'middleEndIndex':_0x4fc56b-0x1};}async[a0_0x2fe454(0xee)](_0x2960d8,_0x2a3a4d,_0x1631b6={}){const _0x639be9=a0_0x2fe454;if(_0x2960d8[_0x639be9(0xd4)]===0x0)return{'role':_0x639be9(0xac),'content':COMPACTION_CONFIG[_0x639be9(0xd0)]+_0x639be9(0xd3),'type':_0x639be9(0xec),'timestamp':new Date()['toISOString']()};const _0x31132e=_0x2960d8['map'](_0x4688b5=>_0x4688b5['role']+':\x20'+_0x4688b5['content'])[_0x639be9(0xdc)]('\x0a\x0a'),_0x48ed7f=this['summaryPromptTemplate'][_0x639be9(0xf0)]('{middle_segment}',_0x31132e)[_0x639be9(0xf0)]('{aggressive_instruction}',_0x1631b6['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x1deb63=COMPACTION_CONFIG['COMPACTION_MODELS']||[],_0x409737=[];let _0x3cbe4d=null;for(let _0x407efa=0x0;_0x407efa<_0x1deb63['length'];_0x407efa++){const _0x3a3045=this[_0x639be9(0xb2)](_0x407efa);_0x409737[_0x639be9(0xa7)](_0x3a3045);try{this[_0x639be9(0xce)]['debug']('Generating\x20summary\x20(round-robin)',{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'totalModels':_0x1deb63['length'],'middleMessageCount':_0x2960d8[_0x639be9(0xd4)],'middleContentLength':_0x31132e['length'],'aggressive':_0x1631b6[_0x639be9(0xcc)]});const _0x166a14=await this['aiService']['sendMessage'](_0x3a3045,_0x48ed7f,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x1631b6[_0x639be9(0xd8)],'platformProvided':!![]}),_0x47bf24=_0x166a14['content'][_0x639be9(0xc7)](),_0x115316=_0x1631b6['middleStartIndex']!==undefined&&_0x1631b6[_0x639be9(0xdb)]!==undefined?'original\x20messages\x20'+_0x1631b6['middleStartIndex']+'-'+_0x1631b6[_0x639be9(0xdb)]:_0x2960d8['length']+'\x20messages';return this[_0x639be9(0xce)]['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'originalLength':_0x31132e[_0x639be9(0xd4)],'summaryLength':_0x47bf24[_0x639be9(0xd4)],'compressionRatio':(_0x47bf24[_0x639be9(0xd4)]/_0x31132e['length']*0x64)[_0x639be9(0xe1)](0x2)+'%','indexRange':_0x115316}),this[_0x639be9(0xa8)](),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x115316+']\x0a\x0a'+_0x47bf24+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x639be9(0xec),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2960d8[_0x639be9(0xd4)],'originalStartIndex':_0x1631b6[_0x639be9(0xa3)],'originalEndIndex':_0x1631b6[_0x639be9(0xdb)],'compactionModel':_0x3a3045,'aggressive':_0x1631b6[_0x639be9(0xcc)]||![]}};}catch(_0x39ec08){_0x3cbe4d=_0x39ec08;const _0x24e987=_0x39ec08[_0x639be9(0xe4)]?.['includes']('429')||_0x39ec08['message']?.[_0x639be9(0xd7)](_0x639be9(0xe6));this[_0x639be9(0xce)][_0x639be9(0xca)](_0x639be9(0xde),{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'remainingModels':_0x1deb63[_0x639be9(0xd4)]-_0x407efa-0x1,'isRateLimit':_0x24e987,'error':_0x39ec08['message'],'middleMessageCount':_0x2960d8['length']});}}const _0x4e0a4e={'modelsAttempted':_0x409737,'lastError':_0x3cbe4d?.['message'],'middleMessageCount':_0x2960d8[_0x639be9(0xd4)],'isRateLimitIssue':_0x3cbe4d?.[_0x639be9(0xe4)]?.['includes']('429')||_0x3cbe4d?.[_0x639be9(0xe4)]?.[_0x639be9(0xd7)](_0x639be9(0xe6))};this[_0x639be9(0xce)]['error'](_0x639be9(0xef),_0x4e0a4e);_0x1631b6['onAllModelsExhausted']&&_0x1631b6[_0x639be9(0xd9)]({'type':'compaction_models_exhausted','message':_0x639be9(0xb3)+_0x1deb63['length']+'\x20models\x20are\x20currently\x20unavailable.\x20'+(_0x4e0a4e[_0x639be9(0xb0)]?'Rate\x20limits\x20may\x20be\x20in\x20effect.':'')+'\x20Using\x20simplified\x20compaction.','models':_0x409737,'error':_0x3cbe4d?.[_0x639be9(0xe4)]});this[_0x639be9(0xa8)]();const _0x3a5576=this['_createFallbackSummary'](_0x2960d8),_0x32de0d=_0x1631b6['middleStartIndex']!==undefined&&_0x1631b6[_0x639be9(0xdb)]!==undefined?_0x639be9(0x9e)+_0x1631b6['middleStartIndex']+'-'+_0x1631b6['middleEndIndex']:_0x2960d8[_0x639be9(0xd4)]+_0x639be9(0x9d);return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x32de0d+_0x639be9(0xc6)+_0x3a5576+'\x0a\x0a'+COMPACTION_CONFIG[_0x639be9(0xf1)],'type':'summary','timestamp':new Date()[_0x639be9(0xeb)](),'metadata':{'originalMessageCount':_0x2960d8[_0x639be9(0xd4)],'originalStartIndex':_0x1631b6['middleStartIndex'],'originalEndIndex':_0x1631b6[_0x639be9(0xdb)],'fallback':!![],'error':_0x3cbe4d?.[_0x639be9(0xe4)],'modelsAttempted':_0x409737,'allModelsExhausted':!![]}};}[a0_0x2fe454(0xcd)](_0x1812a7){const _0x817ab9=a0_0x2fe454,_0x1cb4d0=_0x1812a7['length'],_0x2b4afd=_0x1812a7['map'](_0x24d255=>_0x24d255[_0x817ab9(0xa1)]),_0x34f3c9=_0x2b4afd[_0x817ab9(0xaf)](_0x599dbb=>_0x599dbb===_0x817ab9(0xe9))['length'],_0x2136b6=_0x2b4afd[_0x817ab9(0xaf)](_0xe3fb7d=>_0xe3fb7d===_0x817ab9(0xe0))[_0x817ab9(0xd4)];return'['+_0x1cb4d0+'\x20messages\x20summarized\x20-\x20'+_0x34f3c9+_0x817ab9(0xb9)+_0x2136b6+'\x20assistant\x20responses.\x20'+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x466107=a0_0x2fe454;return _0x466107(0xdd);}}export default ConversationCompactionService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x151b8f=a0_0x1aae;function a0_0x1d84(){const _0x2ed082=['Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHDhvZ','vKfmsurbveLptL9fuLjpuG','zxjYB3jtDwjZy3jPyMvYCW','zgv0zxjTAw5LrxjYB3juExbL','D2fYBG','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','Bg93','nJbgEMPhA2q','AxnszwnVDMvYywjSzq','BgvUz3rO','mtC5ote5uK5vBurM','vu5bvvrit1jjwKve','zw1PDa','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','y29UDgv4Da','mJq2nZHQwNbwzgC','nJu4mZK5mgvdyvHLrG','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','Aw5JCMvHC2vKx3rPBwvVDxq','Bg9Nz2vY','Bg9NrxjYB3i','AxnqCM9JzxnZAw5NuxvLDwu','ywrK','rKLmrv9ot1rFrK9vtKq','B3bLCMf0Aw9Uswq','BwLU','DgLTzxn0yw1W','Dg9tDhjPBMC','zgvSzxrL','zxjYB3i','nfzNvKXuCq','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','uKfurv9msu1jvf9fwenfrurfra','zxjYB3jZqNLuExbL','yxbPx3jLCxvLC3q','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','BMfTzq','Dg9mB3DLCKnHC2u','nJqXmZK3DezjvuDW','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','C3vJy2vZC2z1BfjLy292zxjPzxm','BwvKAxvT','Bwf4uMv0CMLLCW','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','DgLTzw91Df9YzwnVDMvYEq','C2v0','C3vIC3rY','vu5ltK9xtL9fuLjpuG','CMvJB3zLCMfIBgu','DhLWzq','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','AgfUzgXLrxjYB3i','BwvZC2fNzq','tM8GzMLSzsbWyxrOihbYB3zPzgvK','C2v2zxjPDhK','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','yxr0zw1WDfjLy292zxj5','zMLSzv9VCgvYyxrPB24','B3bLCMf0Aw9U','ywDLBNrjza','y2fSy3vSyxrLuMv0CNLezwXHEq','zMLSzvbHDgG','q09orKLhvvjbveLptL9fuLjpuG','zgvSyxLFCMv0CNK','C2HVDwXKuMv0CNK','y29Kzq','C3vJy2vZCW','CMf0zv9SAw1PDf9YzwnVDMvYEq','ve9px01btLLFuKvrvuvtvfm','Dg9VBeLK','zxjYB3jtDgf0CW','DgLTzw91Da','t1bfuKfusu9ox1rjtuvpvvq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','CMvJB3zLCNLtDhjHDgvNAwvZ','ndi2nJC1mhvMtgnMzW','C3rHy2S','uevstuLtu0LptL9eru5jruq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','Aw5MBW','nZK2mdmYEMrHDgnh','zNjVBuvUDhjPzxm','CMfUzg9T','CMvJB3zLCG','DxbKyxrLrxjYB3jtDgf0CW','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','ntK5otu5nuPHAxbPyG','zgv0zxjTAw5Lu2v2zxjPDhK','C3bSAwnL','y2XHC3nPzNLfCNjVCG','DgLTzwqGB3v0','z2v0','tK9ux0zpvu5e','zxjYB3jrDwv1zq','y3jPDgLJywXfCNjVCNm','z2v0twf4uMv0CMLLCW','mJmYohjVDMLYBq','CMv0CNLdB3vUDa','Cg93','Aw5JBhvKzxm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','Dw5JyxvNAhrFzxHJzxb0Aw9U','Dw5KzwzPBMvK','z2vUzxjHDgvfCNjVCKLK','ChvZAa','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ChjVy2vZC0vYCM9YuxvLDwu','y3jPDgLJywW'];a0_0x1d84=function(){return _0x2ed082;};return a0_0x1d84();}function a0_0x1aae(_0x1c7877,_0x252456){_0x1c7877=_0x1c7877-0x1c9;const _0x1d842d=a0_0x1d84();let _0x1aaed3=_0x1d842d[_0x1c7877];if(a0_0x1aae['vYVqXr']===undefined){var _0x168cc8=function(_0x308655){const _0xf60f4d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fbf2d='',_0x42b18d='';for(let _0x3d31c6=0x0,_0x895e4c,_0x4fa0f3,_0x1bd926=0x0;_0x4fa0f3=_0x308655['charAt'](_0x1bd926++);~_0x4fa0f3&&(_0x895e4c=_0x3d31c6%0x4?_0x895e4c*0x40+_0x4fa0f3:_0x4fa0f3,_0x3d31c6++%0x4)?_0x1fbf2d+=String['fromCharCode'](0xff&_0x895e4c>>(-0x2*_0x3d31c6&0x6)):0x0){_0x4fa0f3=_0xf60f4d['indexOf'](_0x4fa0f3);}for(let _0x5550a9=0x0,_0x36bf92=_0x1fbf2d['length'];_0x5550a9<_0x36bf92;_0x5550a9++){_0x42b18d+='%'+('00'+_0x1fbf2d['charCodeAt'](_0x5550a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42b18d);};a0_0x1aae['flOYsn']=_0x168cc8,a0_0x1aae['BYFdxw']={},a0_0x1aae['vYVqXr']=!![];}const _0x44dbf8=_0x1d842d[0x0],_0x4db537=_0x1c7877+_0x44dbf8,_0x5a74ae=a0_0x1aae['BYFdxw'][_0x4db537];return!_0x5a74ae?(_0x1aaed3=a0_0x1aae['flOYsn'](_0x1aaed3),a0_0x1aae['BYFdxw'][_0x4db537]=_0x1aaed3):_0x1aaed3=_0x5a74ae,_0x1aaed3;}(function(_0x21b1e2,_0x9ecb95){const _0x2499b5=a0_0x1aae,_0x4f3e18=_0x21b1e2();while(!![]){try{const _0x1b66a0=-parseInt(_0x2499b5(0x219))/0x1*(parseInt(_0x2499b5(0x211))/0x2)+-parseInt(_0x2499b5(0x1fd))/0x3*(-parseInt(_0x2499b5(0x1fa))/0x4)+-parseInt(_0x2499b5(0x1db))/0x5+parseInt(_0x2499b5(0x1d4))/0x6+parseInt(_0x2499b5(0x203))/0x7+-parseInt(_0x2499b5(0x1e5))/0x8*(-parseInt(_0x2499b5(0x202))/0x9)+parseInt(_0x2499b5(0x1ce))/0xa;if(_0x1b66a0===_0x9ecb95)break;else _0x4f3e18['push'](_0x4f3e18['shift']());}catch(_0x57ca6c){_0x4f3e18['push'](_0x4f3e18['shift']());}}}(a0_0x1d84,0xae7e1));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x1fbf2d,_0x42b18d){const _0x26b79e=a0_0x1aae;this['config']=_0x1fbf2d||{},this['logger']=_0x42b18d,this[_0x26b79e(0x1c9)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x26b79e(0x1cd)]=new Map(),this['errorSubscribers']=new Set(),this[_0x26b79e(0x1e2)]=[],this[_0x26b79e(0x208)]=![],this['initializeRecoveryStrategies'](),this['setupErrorProcessing']();}async[a0_0x151b8f(0x226)](_0x3d31c6,_0x895e4c={}){const _0x33e17a=a0_0x151b8f;try{const _0x4fa0f3=this[_0x33e17a(0x1de)](_0x3d31c6,_0x895e4c),_0x1bd926=await this['processError'](_0x4fa0f3);return this[_0x33e17a(0x1d8)](_0x4fa0f3),this['notifySubscribers'](_0x4fa0f3,_0x1bd926),_0x1bd926;}catch(_0x5550a9){return this[_0x33e17a(0x206)][_0x33e17a(0x210)]('Error\x20handling\x20failed',{'originalError':_0x3d31c6['message'],'handlingError':_0x5550a9['message']}),{'success':![],'error':_0x5550a9,'recovery':null,'severity':_0x33e17a(0x1f1)};}}['classifyError'](_0x36bf92,_0x1519c8={}){const _0x115e4b=a0_0x151b8f,_0x3309be={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x36bf92['message']||_0x36bf92['toString'](),'stack':_0x36bf92[_0x115e4b(0x1cf)]||null,'code':_0x36bf92['code']||null,'type':this[_0x115e4b(0x1f6)](_0x36bf92,_0x1519c8),'severity':this['determineSeverity'](_0x36bf92,_0x1519c8),'context':{..._0x1519c8},'recoverable':!![],'retryCount':_0x1519c8[_0x115e4b(0x1e6)]||0x0,'maxRetries':this[_0x115e4b(0x1e4)](_0x36bf92,_0x1519c8)};return _0x1519c8['agentId']&&(_0x3309be['agentId']=_0x1519c8['agentId']),_0x1519c8[_0x115e4b(0x238)]&&(_0x3309be[_0x115e4b(0x238)]=_0x1519c8[_0x115e4b(0x238)]),_0x1519c8[_0x115e4b(0x20b)]&&(_0x3309be['operationId']=_0x1519c8[_0x115e4b(0x20b)]),_0x3309be[_0x115e4b(0x223)]=this[_0x115e4b(0x1fb)](_0x3309be),_0x3309be;}async['processError'](_0x308b3b){const _0x4be8be=a0_0x151b8f;try{this[_0x4be8be(0x206)]['error']('Processing\x20error',{'errorId':_0x308b3b['id'],'type':_0x308b3b['type'],'severity':_0x308b3b['severity'],'agentId':_0x308b3b[_0x4be8be(0x22e)],'message':_0x308b3b[_0x4be8be(0x227)]});_0x308b3b[_0x4be8be(0x229)]==='critical'&&await this['handleCriticalError'](_0x308b3b);let _0x55248c=null;return _0x308b3b[_0x4be8be(0x223)]&&_0x308b3b['retryCount']<_0x308b3b[_0x4be8be(0x21d)]&&(_0x55248c=await this[_0x4be8be(0x22b)](_0x308b3b)),await this[_0x4be8be(0x207)](_0x308b3b,_0x55248c),{'success':_0x55248c?.['success']||![],'errorId':_0x308b3b['id'],'errorType':_0x308b3b[_0x4be8be(0x224)],'severity':_0x308b3b['severity'],'recovery':_0x55248c,'shouldRetry':this['shouldRetry'](_0x308b3b,_0x55248c),'retryDelay':this['calculateRetryDelay'](_0x308b3b)};}catch(processingError){return this['logger']['error'](_0x4be8be(0x1cc),{'errorId':_0x308b3b['id'],'processingError':processingError[_0x4be8be(0x227)]}),{'success':![],'errorId':_0x308b3b['id'],'errorType':_0x308b3b['type'],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x4ec738){const _0x4eb038=a0_0x151b8f;try{this['errorStats']['recoveryAttempts']++;const _0x38ad5a=this['recoveryStrategies'][_0x4eb038(0x1e0)](_0x4ec738[_0x4eb038(0x224)])||this['recoveryStrategies']['get']('default');if(!_0x38ad5a)return this['logger'][_0x4eb038(0x1f7)](_0x4eb038(0x1e9),{'errorType':_0x4ec738['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this['logger']['info'](_0x4eb038(0x1ea),{'errorId':_0x4ec738['id'],'errorType':_0x4ec738['type'],'strategy':_0x38ad5a['name'],'retryCount':_0x4ec738[_0x4eb038(0x1e6)]});const _0x48eadd=await _0x38ad5a[_0x4eb038(0x1d7)](_0x4ec738);return _0x48eadd[_0x4eb038(0x235)]?(this[_0x4eb038(0x1c9)][_0x4eb038(0x21b)]++,this[_0x4eb038(0x206)]['info'](_0x4eb038(0x1da),{'errorId':_0x4ec738['id'],'strategy':_0x38ad5a['name']})):this[_0x4eb038(0x206)][_0x4eb038(0x1f7)](_0x4eb038(0x22a),{'errorId':_0x4ec738['id'],'strategy':_0x38ad5a[_0x4eb038(0x217)],'reason':_0x48eadd['reason']}),_0x48eadd;}catch(_0xdfb45e){return this['logger'][_0x4eb038(0x210)](_0x4eb038(0x1d1),{'errorId':_0x4ec738['id'],'recoveryError':_0xdfb45e[_0x4eb038(0x227)]}),{'success':![],'reason':_0x4eb038(0x1f8)+_0xdfb45e['message']};}}async['handleCriticalError'](_0x492980){const _0x10994f=a0_0x151b8f;try{this[_0x10994f(0x1c9)]['criticalErrors']++,this[_0x10994f(0x206)]['error'](_0x10994f(0x21e),{'errorId':_0x492980['id'],'message':_0x492980[_0x10994f(0x227)],'context':_0x492980['context']});typeof process!==_0x10994f(0x1ec)&&process[_0x10994f(0x1ff)]&&process['emit']('criticalError',_0x492980);switch(_0x492980['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this['handleAuthenticationFailure'](_0x492980);break;case ERROR_TYPES[_0x10994f(0x213)]:await this[_0x10994f(0x212)](_0x492980);break;case ERROR_TYPES[_0x10994f(0x1cb)]:await this['handleOperationTimeout'](_0x492980);break;default:await this['handleGenericCriticalError'](_0x492980);}}catch(_0x57e145){this[_0x10994f(0x206)][_0x10994f(0x210)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x492980['id'],'handlingError':_0x57e145[_0x10994f(0x227)]});}}['determineErrorType'](_0x165050,_0x31f907){const _0x1aa129=a0_0x151b8f;if(_0x165050[_0x1aa129(0x234)]==='ENOENT'||_0x165050['status']===HTTP_STATUS[_0x1aa129(0x1e1)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x165050[_0x1aa129(0x234)]==='EACCES'||_0x165050[_0x1aa129(0x1f3)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x1aa129(0x1d0)];if(_0x165050['status']===HTTP_STATUS[_0x1aa129(0x1fe)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x165050[_0x1aa129(0x1f3)]===HTTP_STATUS[_0x1aa129(0x237)])return ERROR_TYPES[_0x1aa129(0x213)];const _0x501af2=_0x165050[_0x1aa129(0x227)]?.[_0x1aa129(0x218)]()||'';if(_0x501af2[_0x1aa129(0x1e8)](_0x1aa129(0x1ca))||_0x501af2[_0x1aa129(0x1e8)](_0x1aa129(0x1df)))return ERROR_TYPES[_0x1aa129(0x1cb)];if(_0x501af2['includes']('validation')||_0x501af2[_0x1aa129(0x1e8)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x501af2['includes']('config')||_0x501af2[_0x1aa129(0x1e8)]('configuration'))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x31f907[_0x1aa129(0x22d)]===_0x1aa129(0x22c))return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x31f907['operation']===_0x1aa129(0x215))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x1aa129(0x222)];}[a0_0x151b8f(0x1dc)](_0x33af78,_0x2c3309){const _0x310d30=a0_0x151b8f,_0x4eb9ab=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']],_0xb7162=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x310d30(0x1d0)]],_0x1c30e7=this['determineErrorType'](_0x33af78,_0x2c3309);if(_0x4eb9ab['includes'](_0x1c30e7))return _0x310d30(0x1f1);if(_0xb7162[_0x310d30(0x1e8)](_0x1c30e7))return'high';const _0x94f102=_0x2c3309&&_0x2c3309['retryCount']||0x0;if(_0x94f102>=0x3)return'high';if(_0x2c3309&&_0x2c3309['agentId']&&_0x2c3309['operation']==='agent_communication')return _0x310d30(0x21c);return _0x310d30(0x1f9);}['isRecoverable'](_0x357966){const _0xd2f0d7=a0_0x151b8f,_0x376c76=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0xd2f0d7(0x231)]];if(_0x376c76[_0xd2f0d7(0x1e8)](_0x357966[_0xd2f0d7(0x224)]))return![];if(_0x357966['retryCount']>=_0x357966['maxRetries'])return![];if(_0x357966[_0xd2f0d7(0x229)]==='critical')return![];return!![];}[a0_0x151b8f(0x1e4)](_0x4de8a3,_0x129e53){const _0x253450=a0_0x151b8f,_0x3440fe=this['determineErrorType'](_0x4de8a3,_0x129e53),_0x5c07cb={[ERROR_TYPES[_0x253450(0x213)]]:0x5,[ERROR_TYPES[_0x253450(0x1cb)]]:0x3,[ERROR_TYPES[_0x253450(0x20a)]]:0x2,[ERROR_TYPES[_0x253450(0x1d0)]]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5c07cb[_0x3440fe]||0x3;}[a0_0x151b8f(0x233)](_0xf86fb7,_0x19a48d){const _0x51caaa=a0_0x151b8f;if(!_0xf86fb7['recoverable'])return![];if(_0xf86fb7[_0x51caaa(0x1e6)]>=_0xf86fb7['maxRetries'])return![];if(_0x19a48d&&_0x19a48d['success'])return![];return!![];}[a0_0x151b8f(0x22f)](_0x48e4f8){const _0x5aae40=a0_0x151b8f,_0x15e2de=0x3e8,_0x36ff35=0x7530,_0x38e628=_0x15e2de*Math[_0x5aae40(0x1e7)](0x2,_0x48e4f8[_0x5aae40(0x1e6)]),_0x4a33b4=Math[_0x5aae40(0x1d6)]()*0x3e8;return Math['min'](_0x38e628+_0x4a33b4,_0x36ff35);}[a0_0x151b8f(0x200)](){const _0x4972c6=a0_0x151b8f;this[_0x4972c6(0x1cd)][_0x4972c6(0x220)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5f72d5=>{const _0x24a30f=_0x4972c6;if(_0x5f72d5['context'][_0x24a30f(0x230)])return{'success':![],'reason':_0x24a30f(0x225),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x24a30f(0x228)};}}),this[_0x4972c6(0x1cd)]['set'](ERROR_TYPES[_0x4972c6(0x213)],{'name':_0x4972c6(0x236),'recover':async _0x3d38b9=>{const _0x41b29c=_0x4972c6,_0xf92cda=this['calculateRateLimitWait'](_0x3d38b9);return this[_0x41b29c(0x206)][_0x41b29c(0x1d3)]('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0xf92cda}),await new Promise(_0x498a25=>setTimeout(_0x498a25,_0xf92cda)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0xf92cda};}}),this['recoveryStrategies']['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':_0x4972c6(0x21f),'recover':async _0x4ab6e5=>{const _0x5282d9=_0x4972c6;if(_0x4ab6e5[_0x5282d9(0x201)][_0x5282d9(0x1ca)]){const _0x5048ff=Math[_0x5282d9(0x20c)](_0x4ab6e5['context'][_0x5282d9(0x1ca)]*1.5,0x493e0);return{'success':!![],'action':_0x5282d9(0x205),'newTimeout':_0x5048ff};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x4972c6(0x1d0)],{'name':'permission_recovery','recover':async _0x53f83e=>{const _0xaf01a7=_0x4972c6;return{'success':![],'reason':_0xaf01a7(0x1d2),'suggestion':'Check\x20file/directory\x20permissions'};}}),this['recoveryStrategies'][_0x4972c6(0x220)](ERROR_TYPES[_0x4972c6(0x1f4)],{'name':'validation_recovery','recover':async _0x14d4c7=>{const _0x32ff75=_0x4972c6;if(_0x14d4c7['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x32ff75(0x1d9)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies']['set']('default',{'name':'default_recovery','recover':async _0xe5ada5=>{const _0xa39811=_0x4972c6,_0x1f4d10=this['calculateRetryDelay'](_0xe5ada5);return await new Promise(_0x274077=>setTimeout(_0x274077,_0x1f4d10)),{'success':!![],'action':_0xa39811(0x232),'delay':_0x1f4d10};}});}async[a0_0x151b8f(0x21a)](_0x2cd074){const _0x1e62dc=a0_0x151b8f;this[_0x1e62dc(0x206)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x2cd074['id']});if(_0x2cd074['agentId']){}}async['handleRateLimitExceeded'](_0x4020c3){const _0x12e69b=a0_0x151b8f,_0x5d873e=this[_0x12e69b(0x204)](_0x4020c3);this[_0x12e69b(0x206)][_0x12e69b(0x1f7)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4020c3['id'],'waitTime':_0x5d873e,'agentId':_0x4020c3['agentId']});if(_0x4020c3['agentId']){}}async['handleOperationTimeout'](_0x24816c){const _0x3e113b=a0_0x151b8f;this['logger'][_0x3e113b(0x210)](_0x3e113b(0x216),{'errorId':_0x24816c['id'],'operation':_0x24816c['context'][_0x3e113b(0x22d)],'timeout':_0x24816c[_0x3e113b(0x201)]['timeout']});}async['handleGenericCriticalError'](_0x43eb74){const _0x2ab53c=a0_0x151b8f;this[_0x2ab53c(0x206)][_0x2ab53c(0x210)]('Generic\x20critical\x20error',{'errorId':_0x43eb74['id'],'type':_0x43eb74['type'],'message':_0x43eb74['message']}),_0x43eb74['agentId']&&this[_0x2ab53c(0x206)][_0x2ab53c(0x1f7)]('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x43eb74[_0x2ab53c(0x22e)]});}[a0_0x151b8f(0x204)](_0xe03ee7){const _0x4f1fa2=a0_0x151b8f,_0x5cd2f3=0xea60,_0x2e2c59=Math['pow'](0x2,_0xe03ee7['retryCount']),_0x1f4eb7=0x493e0;return Math[_0x4f1fa2(0x20c)](_0x5cd2f3*_0x2e2c59,_0x1f4eb7);}async['logError'](_0x129be3,_0x313770){const _0x39814d=a0_0x151b8f;try{const _0xe29005={'errorId':_0x129be3['id'],'timestamp':_0x129be3[_0x39814d(0x20d)],'type':_0x129be3[_0x39814d(0x224)],'severity':_0x129be3['severity'],'message':_0x129be3['message'],'agentId':_0x129be3[_0x39814d(0x22e)],'toolId':_0x129be3[_0x39814d(0x238)],'operationId':_0x129be3['operationId'],'retryCount':_0x129be3['retryCount'],'recoveryAttempted':!!_0x313770,'recoverySuccess':_0x313770?.[_0x39814d(0x235)]||![],'recoveryAction':_0x313770?.['action']||null};this['errorQueue'][_0x39814d(0x1ee)](_0xe29005),!this['isProcessingQueue']&&this[_0x39814d(0x1f0)]();}catch(_0x324072){this['logger'][_0x39814d(0x210)]('Error\x20logging\x20failed',{'errorId':_0x129be3['id'],'loggingError':_0x324072[_0x39814d(0x227)]});}}async[a0_0x151b8f(0x1f0)](){const _0x3edc7e=a0_0x151b8f;if(this['isProcessingQueue']||this[_0x3edc7e(0x1e2)]['length']===0x0)return;this[_0x3edc7e(0x208)]=!![];try{while(this['errorQueue']['length']>0x0){const _0x11402a=this['errorQueue'][_0x3edc7e(0x1dd)](0x0,0xa);this['logger']['debug'](_0x3edc7e(0x1ef),{'batchSize':_0x11402a['length']}),await new Promise(_0x4ca8ce=>setTimeout(_0x4ca8ce,0x64));}}catch(processingError){this['logger']['error']('Error\x20queue\x20processing\x20failed',{'error':processingError[_0x3edc7e(0x227)]});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0xf18bab=a0_0x151b8f;setInterval(()=>{const _0x3d0d70=a0_0x1aae;this[_0x3d0d70(0x1e2)][_0x3d0d70(0x1fc)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x43e588=>{const _0x29eef=a0_0x1aae;this['handleError'](_0x43e588,{'type':_0x29eef(0x1eb),'severity':'critical'});}),process['on'](_0xf18bab(0x1f2),(_0x351219,_0x2e81bc)=>{const _0x503cf0=_0xf18bab;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x351219),{'type':'unhandled_rejection','severity':'high','promise':_0x2e81bc[_0x503cf0(0x20e)]()});}));}['updateErrorStats'](_0x27b814){const _0x363f87=a0_0x151b8f;this['errorStats']['totalErrors']++,!this['errorStats'][_0x363f87(0x214)]['has'](_0x27b814['type'])&&this['errorStats'][_0x363f87(0x214)]['set'](_0x27b814['type'],0x0),this['errorStats']['errorsByType'][_0x363f87(0x220)](_0x27b814[_0x363f87(0x224)],this[_0x363f87(0x1c9)][_0x363f87(0x214)]['get'](_0x27b814[_0x363f87(0x224)])+0x1),_0x27b814['agentId']&&(!this[_0x363f87(0x1c9)]['errorsByAgent']['has'](_0x27b814['agentId'])&&this[_0x363f87(0x1c9)]['errorsByAgent'][_0x363f87(0x220)](_0x27b814['agentId'],0x0),this[_0x363f87(0x1c9)]['errorsByAgent']['set'](_0x27b814['agentId'],this['errorStats']['errorsByAgent']['get'](_0x27b814[_0x363f87(0x22e)])+0x1));}['subscribe'](_0x53622e){const _0x57b8e3=a0_0x151b8f;return this[_0x57b8e3(0x1f5)][_0x57b8e3(0x209)](_0x53622e),()=>this['errorSubscribers'][_0x57b8e3(0x20f)](_0x53622e);}['notifySubscribers'](_0x4f9b2c,_0x56d94d){this['errorSubscribers']['forEach'](_0x35c735=>{const _0x7d1c7a=a0_0x1aae;try{_0x35c735(_0x4f9b2c,_0x56d94d);}catch(_0x3cd28e){this['logger'][_0x7d1c7a(0x210)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x3cd28e['message']});}});}[a0_0x151b8f(0x1ed)](){const _0x24d8bc=a0_0x151b8f;return'err_'+Date['now']()+'_'+Math[_0x24d8bc(0x1d6)]()['toString'](0x24)[_0x24d8bc(0x221)](0x2,0x9);}['getErrorStats'](){const _0x2c570f=a0_0x151b8f;return{'totalErrors':this[_0x2c570f(0x1c9)]['totalErrors'],'errorsByType':Object[_0x2c570f(0x1d5)](this['errorStats'][_0x2c570f(0x214)]),'errorsByAgent':Object[_0x2c570f(0x1d5)](this['errorStats']['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x2c570f(0x1c9)][_0x2c570f(0x21b)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this['errorStats'][_0x2c570f(0x1e3)],'queueLength':this[_0x2c570f(0x1e2)][_0x2c570f(0x1fc)]};}['clearErrorStats'](){const _0x33a183=a0_0x151b8f;this[_0x33a183(0x1c9)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x33a183(0x1e2)]=[];}}export default ErrorHandler;
|
|
1
|
+
function a0_0xd951(_0x429480,_0x6bf13d){_0x429480=_0x429480-0x1f4;const _0x5cd83b=a0_0x5cd8();let _0xd95180=_0x5cd83b[_0x429480];if(a0_0xd951['ZQkqSb']===undefined){var _0x52e7c5=function(_0x1ea555){const _0x326281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbcdd6e='',_0x563cef='';for(let _0x5b15ce=0x0,_0x84c93d,_0x41faae,_0x8d3ed3=0x0;_0x41faae=_0x1ea555['charAt'](_0x8d3ed3++);~_0x41faae&&(_0x84c93d=_0x5b15ce%0x4?_0x84c93d*0x40+_0x41faae:_0x41faae,_0x5b15ce++%0x4)?_0xbcdd6e+=String['fromCharCode'](0xff&_0x84c93d>>(-0x2*_0x5b15ce&0x6)):0x0){_0x41faae=_0x326281['indexOf'](_0x41faae);}for(let _0x15f52c=0x0,_0x12d807=_0xbcdd6e['length'];_0x15f52c<_0x12d807;_0x15f52c++){_0x563cef+='%'+('00'+_0xbcdd6e['charCodeAt'](_0x15f52c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563cef);};a0_0xd951['epKmAQ']=_0x52e7c5,a0_0xd951['lccpJX']={},a0_0xd951['ZQkqSb']=!![];}const _0x24e432=_0x5cd83b[0x0],_0x3fd0e0=_0x429480+_0x24e432,_0x2197fe=a0_0xd951['lccpJX'][_0x3fd0e0];return!_0x2197fe?(_0xd95180=a0_0xd951['epKmAQ'](_0xd95180),a0_0xd951['lccpJX'][_0x3fd0e0]=_0xd95180):_0xd95180=_0x2197fe,_0xd95180;}function a0_0x5cd8(){const _0x2dc68b=['mtCZotG0BfLwsejr','yxr0zw1WDfjLy292zxj5','zMLSzvbHDgG','B3bLCMf0Aw9U','AgfUzgXLq3jPDgLJywXfCNjVCG','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','DMfSAwrHDgLVBG','zw1PDa','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','oxP2CuzWEG','Dg9VBeLK','z2v0rxjYB3jtDgf0CW','zxjYB3jZqNLuExbL','y2fSy3vSyxrLuMv0CNLezwXHEq','mZiYnJC4nxbttNncvq','C3vJy2vZCW','qvvusevoveLdqvrjt05FrKfjteve','BMfTzq','C3vIC3rY','y3jPDgLJywXfCNjVCNm','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jrDwv1zq','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','Dg90ywXfCNjVCNm','DxbKyxrLrxjYB3jtDgf0CW','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','uKfurv9msu1jvf9fwenfrurfra','uevstuLtu0LptL9eru5jruq','zxjYB3jZqNLbz2vUDa','AxnszwnVDMvYywjSzq','DgLTzxn0yw1W','zMLSzv9VCgvYyxrPB24','nNLhtwX4sa','C3bSAwnL','Bg9Nz2vY','rxjYB3iGAgfUzgXPBMCGzMfPBgvK','ChjVy2vZC0vYCM9YuxvLDwu','Dg9ju09tDhjPBMC','z2v0','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','ota0mdGWuhbqy21J','C2v2zxjPDhK','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','rK9sqKLerevo','zxjYB3jtDgf0CW','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','y2XHC3nPzNLfCNjVCG','vKfmsurbveLptL9fuLjpuG','CMvJB3zLCMfIBgu','B3bLCMf0Aw9Uswq','y29UzMLNDxjHDgLVBG','z2v0twf4uMv0CMLLCW','t1bfuKfusu9ox1rjtuvpvvq','C2v0','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','nti5muXesfnzDq','y29Kzq','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','AgLNAa','zgvIDwC','AxnqCM9JzxnZAw5NuxvLDwu','rxjYB3iGC3vIC2nYAwjLCIbJywXSyMfJAYbMywLSzwq','DMfSAwrHDgLVBL9YzwnVDMvYEq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','C2HVDwXKuMv0CNK','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','AgfUzgXLrxjYB3i','zM9YrwfJAa','nJqXntq4nMvPCvPTrW','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','C2v0DxbfCNjVCLbYB2nLC3nPBMC','CMv0CNLdB3vUDa','Dg9tDhjPBMC','zxjYB3i','ndK4mtbMCNL4teK','Cg93','zxjYB3jtDwjZy3jPyMvYCW','mJvNqxbtAg4','ywrK','C3vIC2nYAwjL','BM90Awz5u3vIC2nYAwjLCNm','rufdq0vt','vu5bvvrit1jjwKve','yxbPx3jLCxvLC3q','y3jPDgLJywXfCNjVCG','DgLTzw91Da','nZm3nJG5z21Jy09w','z2vUzxjHDgvfCNjVCKLK','ChjVy2vZC0vYCM9Y','DhLWzq','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','ywn0Aw9U','DgLTzw91Df9YzwnVDMvYEq','BwvZC2fNzq','zgv0zxjTAw5LrxjYB3juExbL','y29UDgv4Da','Dg9mB3DLCKnHC2u','BgvUz3rO','Aw5MBW','zgv0zxjTAw5Lu2v2zxjPDhK','Aw5JBhvKzxm','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','CMvHC29U','y3jPDgLJywW','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','rKLmrv9ot1rFrK9vtKq','D2fYBG','C3vJy2vZC2z1BfjLy292zxjPzxm','ywDLBNrjza','ChvZAa','CMvJB3zLCNLtDhjHDgvNAwvZ','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM93','BwLU','nty0ndCWyMniDLzv','zNjVBuvUDhjPzxm'];a0_0x5cd8=function(){return _0x2dc68b;};return a0_0x5cd8();}const a0_0x179f98=a0_0xd951;(function(_0x13d391,_0x4c1b93){const _0x8f758d=a0_0xd951,_0x447c45=_0x13d391();while(!![]){try{const _0x27794d=-parseInt(_0x8f758d(0x1f7))/0x1+parseInt(_0x8f758d(0x213))/0x2+-parseInt(_0x8f758d(0x224))/0x3+-parseInt(_0x8f758d(0x23e))/0x4*(parseInt(_0x8f758d(0x264))/0x5)+parseInt(_0x8f758d(0x236))/0x6*(parseInt(_0x8f758d(0x25a))/0x7)+-parseInt(_0x8f758d(0x215))/0x8*(parseInt(_0x8f758d(0x21f))/0x9)+-parseInt(_0x8f758d(0x261))/0xa*(-parseInt(_0x8f758d(0x24d))/0xb);if(_0x27794d===_0x4c1b93)break;else _0x447c45['push'](_0x447c45['shift']());}catch(_0x90f3d5){_0x447c45['push'](_0x447c45['shift']());}}}(a0_0x5cd8,0x99ad6));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0xbcdd6e,_0x563cef){const _0x284e4f=a0_0xd951;this['config']=_0xbcdd6e||{},this['logger']=_0x563cef,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x284e4f(0x20f)]=new Map(),this[_0x284e4f(0x263)]=new Set(),this[_0x284e4f(0x22b)]=[],this[_0x284e4f(0x252)]=![],this['initializeRecoveryStrategies'](),this[_0x284e4f(0x25d)]();}async[a0_0x179f98(0x258)](_0x5b15ce,_0x84c93d={}){const _0x518e88=a0_0x179f98;try{const _0x41faae=this[_0x518e88(0x244)](_0x5b15ce,_0x84c93d),_0x8d3ed3=await this['processError'](_0x41faae);return this[_0x518e88(0x22e)](_0x41faae),this[_0x518e88(0x267)](_0x41faae,_0x8d3ed3),_0x8d3ed3;}catch(_0x15f52c){return this[_0x518e88(0x238)]['error'](_0x518e88(0x239),{'originalError':_0x5b15ce[_0x518e88(0x1fe)],'handlingError':_0x15f52c[_0x518e88(0x1fe)]}),{'success':![],'error':_0x15f52c,'recovery':null,'severity':_0x518e88(0x208)};}}['classifyError'](_0x12d807,_0x40575e={}){const _0x547070=a0_0x179f98,_0x5635e1={'id':this['generateErrorId'](),'timestamp':new Date()[_0x547070(0x23b)](),'message':_0x12d807['message']||_0x12d807[_0x547070(0x25f)](),'stack':_0x12d807['stack']||null,'code':_0x12d807[_0x547070(0x24e)]||null,'type':this[_0x547070(0x1ff)](_0x12d807,_0x40575e),'severity':this[_0x547070(0x204)](_0x12d807,_0x40575e),'context':{..._0x40575e},'recoverable':!![],'retryCount':_0x40575e['retryCount']||0x0,'maxRetries':this[_0x547070(0x249)](_0x12d807,_0x40575e)};return _0x40575e[_0x547070(0x20d)]&&(_0x5635e1[_0x547070(0x20d)]=_0x40575e['agentId']),_0x40575e['toolId']&&(_0x5635e1[_0x547070(0x220)]=_0x40575e[_0x547070(0x220)]),_0x40575e[_0x547070(0x247)]&&(_0x5635e1['operationId']=_0x40575e[_0x547070(0x247)]),_0x5635e1[_0x547070(0x246)]=this[_0x547070(0x233)](_0x5635e1),_0x5635e1;}async[a0_0x179f98(0x1f9)](_0x206562){const _0x53e8c9=a0_0x179f98;try{this[_0x53e8c9(0x238)][_0x53e8c9(0x260)]('Processing\x20error',{'errorId':_0x206562['id'],'type':_0x206562['type'],'severity':_0x206562[_0x53e8c9(0x23f)],'agentId':_0x206562['agentId'],'message':_0x206562[_0x53e8c9(0x1fe)]});_0x206562[_0x53e8c9(0x23f)]===_0x53e8c9(0x208)&&await this[_0x53e8c9(0x219)](_0x206562);let _0x1ac2a9=null;return _0x206562[_0x53e8c9(0x246)]&&_0x206562['retryCount']<_0x206562['maxRetries']&&(_0x1ac2a9=await this['attemptRecovery'](_0x206562)),await this['logError'](_0x206562,_0x1ac2a9),{'success':_0x1ac2a9?.['success']||![],'errorId':_0x206562['id'],'errorType':_0x206562[_0x53e8c9(0x1fa)],'severity':_0x206562[_0x53e8c9(0x23f)],'recovery':_0x1ac2a9,'shouldRetry':this[_0x53e8c9(0x256)](_0x206562,_0x1ac2a9),'retryDelay':this['calculateRetryDelay'](_0x206562)};}catch(processingError){return this['logger']['error'](_0x53e8c9(0x255),{'errorId':_0x206562['id'],'processingError':processingError[_0x53e8c9(0x1fe)]}),{'success':![],'errorId':_0x206562['id'],'errorType':_0x206562['type'],'severity':_0x53e8c9(0x208),'recovery':null,'shouldRetry':![]};}}async[a0_0x179f98(0x216)](_0x12e811){const _0x1ae1e4=a0_0x179f98;try{this[_0x1ae1e4(0x242)]['recoveryAttempts']++;const _0x57e780=this['recoveryStrategies'][_0x1ae1e4(0x23c)](_0x12e811['type'])||this['recoveryStrategies'][_0x1ae1e4(0x23c)]('default');if(!_0x57e780)return this['logger']['warn'](_0x1ae1e4(0x243),{'errorType':_0x12e811['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x1ae1e4(0x238)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x12e811['id'],'errorType':_0x12e811[_0x1ae1e4(0x1fa)],'strategy':_0x57e780[_0x1ae1e4(0x227)],'retryCount':_0x12e811['retryCount']});const _0x1b8e3e=await _0x57e780['recover'](_0x12e811);return _0x1b8e3e[_0x1ae1e4(0x225)]?(this[_0x1ae1e4(0x242)]['successfulRecoveries']++,this['logger'][_0x1ae1e4(0x203)]('Error\x20recovery\x20successful',{'errorId':_0x12e811['id'],'strategy':_0x57e780[_0x1ae1e4(0x227)]})):this[_0x1ae1e4(0x238)][_0x1ae1e4(0x20b)]('Error\x20recovery\x20failed',{'errorId':_0x12e811['id'],'strategy':_0x57e780[_0x1ae1e4(0x227)],'reason':_0x1b8e3e[_0x1ae1e4(0x207)]}),_0x1b8e3e;}catch(_0x3f867b){return this[_0x1ae1e4(0x238)]['error'](_0x1ae1e4(0x206),{'errorId':_0x12e811['id'],'recoveryError':_0x3f867b[_0x1ae1e4(0x1fe)]}),{'success':![],'reason':_0x1ae1e4(0x25b)+_0x3f867b[_0x1ae1e4(0x1fe)]};}}async['handleCriticalError'](_0x4f7fb9){const _0x362d8a=a0_0x179f98;try{this[_0x362d8a(0x242)][_0x362d8a(0x229)]++,this['logger'][_0x362d8a(0x260)]('Critical\x20error\x20detected',{'errorId':_0x4f7fb9['id'],'message':_0x4f7fb9[_0x362d8a(0x1fe)],'context':_0x4f7fb9['context']});typeof process!=='undefined'&&process[_0x362d8a(0x21d)]&&process['emit'](_0x362d8a(0x1f5),_0x4f7fb9);switch(_0x4f7fb9[_0x362d8a(0x1fa)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x362d8a(0x22c)](_0x4f7fb9);break;case ERROR_TYPES[_0x362d8a(0x230)]:await this[_0x362d8a(0x257)](_0x4f7fb9);break;case ERROR_TYPES[_0x362d8a(0x24a)]:await this['handleOperationTimeout'](_0x4f7fb9);break;default:await this[_0x362d8a(0x24c)](_0x4f7fb9);}}catch(_0x4be845){this['logger']['error'](_0x362d8a(0x21a),{'errorId':_0x4f7fb9['id'],'handlingError':_0x4be845['message']});}}[a0_0x179f98(0x1ff)](_0x5a5380,_0x543e51){const _0x228395=a0_0x179f98;if(_0x5a5380['code']==='ENOENT'||_0x5a5380['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x228395(0x20a)];if(_0x5a5380['code']===_0x228395(0x268)||_0x5a5380['status']===HTTP_STATUS[_0x228395(0x241)])return ERROR_TYPES[_0x228395(0x231)];if(_0x5a5380['status']===HTTP_STATUS[_0x228395(0x269)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x5a5380['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x228395(0x230)];const _0x273b3b=_0x5a5380[_0x228395(0x1fe)]?.[_0x228395(0x201)]()||'';if(_0x273b3b[_0x228395(0x205)](_0x228395(0x1f6))||_0x273b3b['includes']('timed\x20out'))return ERROR_TYPES[_0x228395(0x24a)];if(_0x273b3b['includes'](_0x228395(0x21c))||_0x273b3b[_0x228395(0x205)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x273b3b['includes']('config')||_0x273b3b['includes'](_0x228395(0x248)))return ERROR_TYPES[_0x228395(0x22a)];if(_0x543e51[_0x228395(0x218)]===_0x228395(0x235))return ERROR_TYPES[_0x228395(0x20a)];if(_0x543e51['operation']===_0x228395(0x1f4))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x388f4c,_0xebda17){const _0x3a1217=a0_0x179f98,_0x3978a3=[ERROR_TYPES[_0x3a1217(0x226)],ERROR_TYPES[_0x3a1217(0x22a)]],_0x3a5f1d=[ERROR_TYPES[_0x3a1217(0x230)],ERROR_TYPES[_0x3a1217(0x24a)],ERROR_TYPES['PERMISSION_DENIED']],_0x121da4=this['determineErrorType'](_0x388f4c,_0xebda17);if(_0x3978a3[_0x3a1217(0x205)](_0x121da4))return'critical';if(_0x3a5f1d[_0x3a1217(0x205)](_0x121da4))return'high';const _0x7379f=_0xebda17&&_0xebda17[_0x3a1217(0x25e)]||0x0;if(_0x7379f>=0x3)return'high';if(_0xebda17&&_0xebda17[_0x3a1217(0x20d)]&&_0xebda17['operation']==='agent_communication')return'medium';return'low';}[a0_0x179f98(0x233)](_0x519a0d){const _0x5f4025=a0_0x179f98,_0x4122e8=[ERROR_TYPES[_0x5f4025(0x226)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x4122e8['includes'](_0x519a0d[_0x5f4025(0x1fa)]))return![];if(_0x519a0d['retryCount']>=_0x519a0d['maxRetries'])return![];if(_0x519a0d['severity']===_0x5f4025(0x208))return![];return!![];}[a0_0x179f98(0x249)](_0x42c64,_0x3a7aea){const _0xa695fc=a0_0x179f98,_0x56055e=this['determineErrorType'](_0x42c64,_0x3a7aea),_0x18b2a3={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0xa695fc(0x24a)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES[_0xa695fc(0x245)]]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x18b2a3[_0x56055e]||0x3;}['shouldRetry'](_0x3ac138,_0x35fd65){const _0x9b1369=a0_0x179f98;if(!_0x3ac138[_0x9b1369(0x246)])return![];if(_0x3ac138['retryCount']>=_0x3ac138['maxRetries'])return![];if(_0x35fd65&&_0x35fd65['success'])return![];return!![];}[a0_0x179f98(0x223)](_0x47c277){const _0x2e5ec4=a0_0x179f98,_0x2994e2=0x3e8,_0x1dd074=0x7530,_0x7b7bf9=_0x2994e2*Math['pow'](0x2,_0x47c277['retryCount']),_0x437dae=Math['random']()*0x3e8;return Math[_0x2e5ec4(0x212)](_0x7b7bf9+_0x437dae,_0x1dd074);}[a0_0x179f98(0x1fb)](){const _0x42beeb=a0_0x179f98;this[_0x42beeb(0x20f)][_0x42beeb(0x24b)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5c712e=>{const _0x331ca6=_0x42beeb;if(_0x5c712e['context'][_0x331ca6(0x217)])return{'success':![],'reason':_0x331ca6(0x23d),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this['recoveryStrategies'][_0x42beeb(0x24b)](ERROR_TYPES[_0x42beeb(0x230)],{'name':'rate_limit_recovery','recover':async _0x24d4aa=>{const _0x246bcb=_0x42beeb,_0x424af3=this[_0x246bcb(0x22f)](_0x24d4aa);return this['logger'][_0x246bcb(0x203)](_0x246bcb(0x24f),{'waitTime':_0x424af3}),await new Promise(_0xc53198=>setTimeout(_0xc53198,_0x424af3)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x424af3};}}),this[_0x42beeb(0x20f)]['set'](ERROR_TYPES[_0x42beeb(0x24a)],{'name':_0x42beeb(0x1fd),'recover':async _0x22f6fc=>{const _0x2495fa=_0x42beeb;if(_0x22f6fc['context']['timeout']){const _0x15ee4c=Math['min'](_0x22f6fc[_0x2495fa(0x200)][_0x2495fa(0x1f6)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x15ee4c};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x42beeb(0x20f)][_0x42beeb(0x24b)](ERROR_TYPES[_0x42beeb(0x231)],{'name':'permission_recovery','recover':async _0x4cec81=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x42beeb(0x20f)]['set'](ERROR_TYPES['VALIDATION_ERROR'],{'name':_0x42beeb(0x254),'recover':async _0x554a5c=>{if(_0x554a5c['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies'][_0x42beeb(0x24b)]('default',{'name':'default_recovery','recover':async _0x3466e6=>{const _0x19ad65=_0x42beeb,_0x2ec27d=this[_0x19ad65(0x223)](_0x3466e6);return await new Promise(_0x2ca1cb=>setTimeout(_0x2ca1cb,_0x2ec27d)),{'success':!![],'action':'delay_retry','delay':_0x2ec27d};}});}async[a0_0x179f98(0x22c)](_0x45f28f){const _0x24aee7=a0_0x179f98;this[_0x24aee7(0x238)][_0x24aee7(0x260)]('Authentication\x20failure\x20detected',{'errorId':_0x45f28f['id']});if(_0x45f28f[_0x24aee7(0x20d)]){}}async['handleRateLimitExceeded'](_0x4f7438){const _0x4be8de=a0_0x179f98,_0x45b1ef=this['calculateRateLimitWait'](_0x4f7438);this[_0x4be8de(0x238)]['warn']('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4f7438['id'],'waitTime':_0x45b1ef,'agentId':_0x4f7438[_0x4be8de(0x20d)]});if(_0x4f7438[_0x4be8de(0x20d)]){}}async[a0_0x179f98(0x21b)](_0x4b8da7){const _0xbf5450=a0_0x179f98;this[_0xbf5450(0x238)][_0xbf5450(0x260)](_0xbf5450(0x25c),{'errorId':_0x4b8da7['id'],'operation':_0x4b8da7[_0xbf5450(0x200)][_0xbf5450(0x218)],'timeout':_0x4b8da7['context']['timeout']});}async['handleGenericCriticalError'](_0x21facb){const _0x5dc678=a0_0x179f98;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x21facb['id'],'type':_0x21facb[_0x5dc678(0x1fa)],'message':_0x21facb['message']}),_0x21facb['agentId']&&this['logger'][_0x5dc678(0x20b)](_0x5dc678(0x21e),{'agentId':_0x21facb[_0x5dc678(0x20d)]});}['calculateRateLimitWait'](_0x5d8164){const _0x953ae4=a0_0x179f98,_0x31fe5b=0xea60,_0x2b8f4e=Math[_0x953ae4(0x262)](0x2,_0x5d8164['retryCount']),_0x34611f=0x493e0;return Math['min'](_0x31fe5b*_0x2b8f4e,_0x34611f);}async['logError'](_0x15a284,_0x40ba2d){const _0x43439a=a0_0x179f98;try{const _0x12e0f5={'errorId':_0x15a284['id'],'timestamp':_0x15a284[_0x43439a(0x234)],'type':_0x15a284[_0x43439a(0x1fa)],'severity':_0x15a284[_0x43439a(0x23f)],'message':_0x15a284['message'],'agentId':_0x15a284['agentId'],'toolId':_0x15a284[_0x43439a(0x220)],'operationId':_0x15a284['operationId'],'retryCount':_0x15a284[_0x43439a(0x25e)],'recoveryAttempted':!!_0x40ba2d,'recoverySuccess':_0x40ba2d?.[_0x43439a(0x225)]||![],'recoveryAction':_0x40ba2d?.[_0x43439a(0x1fc)]||null};this[_0x43439a(0x22b)][_0x43439a(0x20e)](_0x12e0f5),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x1719f2){this[_0x43439a(0x238)][_0x43439a(0x260)]('Error\x20logging\x20failed',{'errorId':_0x15a284['id'],'loggingError':_0x1719f2[_0x43439a(0x1fe)]});}}async[a0_0x179f98(0x23a)](){const _0xe66589=a0_0x179f98;if(this['isProcessingQueue']||this[_0xe66589(0x22b)]['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue'][_0xe66589(0x202)]>0x0){const _0x1448a9=this['errorQueue'][_0xe66589(0x237)](0x0,0xa);this[_0xe66589(0x238)][_0xe66589(0x251)]('Processing\x20error\x20batch',{'batchSize':_0x1448a9[_0xe66589(0x202)]}),await new Promise(_0x1a56e1=>setTimeout(_0x1a56e1,0x64));}}catch(processingError){this[_0xe66589(0x238)][_0xe66589(0x260)](_0xe66589(0x240),{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}[a0_0x179f98(0x25d)](){const _0x2fcaec=a0_0x179f98;setInterval(()=>{const _0x5cb9b1=a0_0xd951;this['errorQueue'][_0x5cb9b1(0x202)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x37fddf=>{this['handleError'](_0x37fddf,{'type':'uncaught_exception','severity':'critical'});}),process['on'](_0x2fcaec(0x210),(_0x39c9cf,_0x4ad5ff)=>{const _0x5efaa7=_0x2fcaec;this[_0x5efaa7(0x258)](new Error('Unhandled\x20Rejection:\x20'+_0x39c9cf),{'type':_0x5efaa7(0x209),'severity':_0x5efaa7(0x250),'promise':_0x4ad5ff[_0x5efaa7(0x25f)]()});}));}['updateErrorStats'](_0x3538d2){const _0x86ca0=a0_0x179f98;this[_0x86ca0(0x242)][_0x86ca0(0x22d)]++,!this['errorStats']['errorsByType']['has'](_0x3538d2['type'])&&this[_0x86ca0(0x242)][_0x86ca0(0x222)]['set'](_0x3538d2[_0x86ca0(0x1fa)],0x0),this[_0x86ca0(0x242)]['errorsByType'][_0x86ca0(0x24b)](_0x3538d2['type'],this[_0x86ca0(0x242)][_0x86ca0(0x222)]['get'](_0x3538d2['type'])+0x1),_0x3538d2[_0x86ca0(0x20d)]&&(!this['errorStats'][_0x86ca0(0x232)]['has'](_0x3538d2['agentId'])&&this['errorStats']['errorsByAgent'][_0x86ca0(0x24b)](_0x3538d2[_0x86ca0(0x20d)],0x0),this['errorStats'][_0x86ca0(0x232)]['set'](_0x3538d2[_0x86ca0(0x20d)],this[_0x86ca0(0x242)]['errorsByAgent'][_0x86ca0(0x23c)](_0x3538d2['agentId'])+0x1));}[a0_0x179f98(0x266)](_0x1b7e5d){const _0x2a4b7d=a0_0x179f98;return this['errorSubscribers'][_0x2a4b7d(0x265)](_0x1b7e5d),()=>this[_0x2a4b7d(0x263)]['delete'](_0x1b7e5d);}[a0_0x179f98(0x267)](_0x42b3ed,_0x1b3f10){const _0x54d08e=a0_0x179f98;this[_0x54d08e(0x263)][_0x54d08e(0x259)](_0x5abf97=>{const _0x10c277=_0x54d08e;try{_0x5abf97(_0x42b3ed,_0x1b3f10);}catch(_0x2c6242){this['logger']['error'](_0x10c277(0x253),{'error':_0x2c6242['message']});}});}[a0_0x179f98(0x1f8)](){const _0x12a375=a0_0x179f98;return'err_'+Date[_0x12a375(0x211)]()+'_'+Math['random']()[_0x12a375(0x25f)](0x24)[_0x12a375(0x228)](0x2,0x9);}[a0_0x179f98(0x221)](){const _0x3173f4=a0_0x179f98;return{'totalErrors':this[_0x3173f4(0x242)]['totalErrors'],'errorsByType':Object[_0x3173f4(0x214)](this['errorStats']['errorsByType']),'errorsByAgent':Object['fromEntries'](this[_0x3173f4(0x242)]['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x3173f4(0x242)][_0x3173f4(0x20c)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this['errorStats'][_0x3173f4(0x20c)]/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x3173f4(0x242)][_0x3173f4(0x229)],'queueLength':this['errorQueue'][_0x3173f4(0x202)]};}['clearErrorStats'](){this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5071(){const _0x5218ce=['ywDLBNrjza','z2v0qxr0ywnOBwvUDa','rMLSzsb1CgXVywrLza','DxrMoa','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','qxr0ywnOBwvUDcbKzwXLDgvK','zMLSDgvY','AM9PBG','Aw1WB3j0zwrgCM9T','nZDst2r3t3u','y29UDgvUDa','nZq3nZiXmJzSvhLRqNu','D2fYBG','Bw9Kzq','zxjYB3i','C3rHCNrZv2L0Aa','BgvUz3rO','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','DMfSAwrHDgu','CMvMzxjLBMnLzej5','Aw5JBhvKzxm','mtHywNHwvuu','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGC2f2Aw5NigLUzgv4','Aw5KzxG','yxr0ywnOBwvUDhm','D3jPDgvgAwXL','zMLSzvbYB2nLC3nVCG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Dg9Nz2XLqwn0AxzL','BwvZC2fNzq','ChvZAa','ywn0AxzL','nJe4mZLbCev0rhi','Aw5MBW','CgfYC2u','C2L6zq','zxjYB3jZ','C2L6zuXLDMvS','qxr0ywnOBwvUDcb1CgrHDgvK','zMLSzu5HBwu','BgfZDe1VzgLMAwvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','y2fSy3vSyxrLsgfZAa','rxjYB3iGBg9HzgLUzYbPBMrLEa','z2v0qxr0ywnOBwvUDenVBNrLBNq','mJGXmdu2BevqvNvL','Bg9HzeLUzgv4','ywDLBNrszwzZ','zgf0ytPPBwfNzq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ChjVy2vZC0zPBgu','C3rYAw5NAwz5','rMLSzsbUB3qGzM91BMq6ia','z2v0qxr0ywnOBwvUDhm','C2f2zuLUzgv4','nJe3ndqYq3PfrxL3','mJKWmdi0wuPHsvP2','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDguGDg9Nz2XLza','mtCYmhzYte1QDW','mty3oty1mJbct1vxEKS','Bwv0ywrHDgeUANnVBG','CMvHzezPBgu','zMLSzuv4Axn0CW','Dg9ju09tDhjPBMC','z2v0rMLSzvn0yxrZ','mtjHEMPpsvK','DMfSAwrHDg9Y','nty4nJi2ALPPtuTl','DxbKyxrLqxr0ywnOBwvUDa','zgvSzxrLqxr0ywnOBwvUDa','vMfSAwrHDgLVBIbMywLSzwq6ia','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','mtbvBM9Nt3u','Aw5PDgLHBgL6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','Bg9Nz2vY','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq'];a0_0x5071=function(){return _0x5218ce;};return a0_0x5071();}const a0_0x4ec636=a0_0x30b3;(function(_0x5a1ece,_0x5da650){const _0x3359d3=a0_0x30b3,_0x18b4cf=_0x5a1ece();while(!![]){try{const _0x1d44ba=parseInt(_0x3359d3(0x1c6))/0x1+parseInt(_0x3359d3(0x1fb))/0x2*(-parseInt(_0x3359d3(0x1dc))/0x3)+-parseInt(_0x3359d3(0x1d1))/0x4*(parseInt(_0x3359d3(0x1e1))/0x5)+-parseInt(_0x3359d3(0x1d0))/0x6*(parseInt(_0x3359d3(0x1ef))/0x7)+-parseInt(_0x3359d3(0x1d3))/0x8*(parseInt(_0x3359d3(0x207))/0x9)+-parseInt(_0x3359d3(0x1d4))/0xa+parseInt(_0x3359d3(0x1f1))/0xb*(parseInt(_0x3359d3(0x1da))/0xc);if(_0x1d44ba===_0x5da650)break;else _0x18b4cf['push'](_0x18b4cf['shift']());}catch(_0x5430c0){_0x18b4cf['push'](_0x18b4cf['shift']());}}}(a0_0x5071,0xe52f2));import a0_0x280d10 from'path';function a0_0x30b3(_0x16211a,_0x4597ee){_0x16211a=_0x16211a-0x1bd;const _0x50711b=a0_0x5071();let _0x30b32f=_0x50711b[_0x16211a];if(a0_0x30b3['flTHrQ']===undefined){var _0x12f99b=function(_0x101391){const _0x40b2bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x280d10='',_0x4abf66='';for(let _0x55ed9c=0x0,_0x394310,_0x4a6b0e,_0x3f1c1f=0x0;_0x4a6b0e=_0x101391['charAt'](_0x3f1c1f++);~_0x4a6b0e&&(_0x394310=_0x55ed9c%0x4?_0x394310*0x40+_0x4a6b0e:_0x4a6b0e,_0x55ed9c++%0x4)?_0x280d10+=String['fromCharCode'](0xff&_0x394310>>(-0x2*_0x55ed9c&0x6)):0x0){_0x4a6b0e=_0x40b2bc['indexOf'](_0x4a6b0e);}for(let _0x337f9d=0x0,_0x5457c6=_0x280d10['length'];_0x337f9d<_0x5457c6;_0x337f9d++){_0x4abf66+='%'+('00'+_0x280d10['charCodeAt'](_0x337f9d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4abf66);};a0_0x30b3['hPKqPN']=_0x12f99b,a0_0x30b3['PFlXCX']={},a0_0x30b3['flTHrQ']=!![];}const _0x5cb0a1=_0x50711b[0x0],_0x132361=_0x16211a+_0x5cb0a1,_0x514dd6=a0_0x30b3['PFlXCX'][_0x132361];return!_0x514dd6?(_0x30b32f=a0_0x30b3['hPKqPN'](_0x30b32f),a0_0x30b3['PFlXCX'][_0x132361]=_0x30b32f):_0x30b32f=_0x514dd6,_0x30b32f;}import{randomUUID}from'crypto';import a0_0x4abf66 from'../utilities/fileProcessor.js';import a0_0x55ed9c from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x280d10[a0_0x4ec636(0x1ed)](ATTACHMENTS_DIR,a0_0x4ec636(0x1e0));class FileAttachmentService{constructor(_0x394310={},_0x4a6b0e=null){const _0x42af42=a0_0x4ec636;this['config']=_0x394310,this[_0x42af42(0x1e4)]=_0x4a6b0e,this['fileProcessor']=new a0_0x4abf66(_0x394310,_0x4a6b0e),this['validator']=new a0_0x55ed9c(_0x394310,_0x4a6b0e),this[_0x42af42(0x1fe)]=null;}async[a0_0x4ec636(0x1e2)](){const _0x4a8468=a0_0x4ec636;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this['logger']?.[_0x4a8468(0x208)]('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x3f1c1f){this[_0x4a8468(0x1e4)]?.['error'](_0x4a8468(0x1e5),{'error':_0x3f1c1f['message']});throw _0x3f1c1f;}}async['loadIndex'](){const _0xe76f03=a0_0x4ec636;try{const _0x337f9d=await this[_0xe76f03(0x201)]['fileExists'](INDEX_FILE);if(!_0x337f9d)this[_0xe76f03(0x1fe)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x5457c6=await this[_0xe76f03(0x201)][_0xe76f03(0x1d6)](INDEX_FILE,_0xe76f03(0x1e9));this['index']=JSON[_0xe76f03(0x209)](_0x5457c6);}return this[_0xe76f03(0x1fe)];}catch(_0x2f30f5){return this[_0xe76f03(0x1e4)]?.[_0xe76f03(0x1f4)](_0xe76f03(0x1c4),{'error':_0x2f30f5[_0xe76f03(0x204)]}),this[_0xe76f03(0x1fe)]={'attachments':{},'agentRefs':{}},this[_0xe76f03(0x1fe)];}}async['saveIndex'](){const _0x512ad8=a0_0x4ec636;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON[_0x512ad8(0x1cc)](this[_0x512ad8(0x1fe)],null,0x2),'utf8');}catch(_0x5dc4a4){this[_0x512ad8(0x1e4)]?.['error'](_0x512ad8(0x1fd),{'error':_0x5dc4a4['message']});throw _0x5dc4a4;}}async['uploadFile']({agentId:_0x5ce95a,filePath:_0x379a0b,mode:mode=a0_0x4ec636(0x1f0),fileName:fileName=null}){const _0x2dbbf3=a0_0x4ec636;!this[_0x2dbbf3(0x1fe)]&&await this[_0x2dbbf3(0x1c7)]();try{const _0xdb581d=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1d7)](_0x379a0b);if(!_0xdb581d)throw new Error(_0x2dbbf3(0x1cd)+_0x379a0b);const _0x18005e=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1d9)](_0x379a0b),_0x59eafd=fileName||a0_0x280d10['basename'](_0x379a0b),_0x3c65aa=a0_0x280d10['extname'](_0x59eafd),_0x56a144=this[_0x2dbbf3(0x1db)][_0x2dbbf3(0x1f8)]({'fileName':_0x59eafd,'size':_0x18005e['size'],'mode':mode,'path':mode==='reference'?_0x379a0b:null});if(!_0x56a144['valid'])throw new Error(_0x2dbbf3(0x1df)+_0x56a144[_0x2dbbf3(0x1bd)]['join'](',\x20'));const _0x4f7868=randomUUID(),_0x3b9b09=await this['fileProcessor'][_0x2dbbf3(0x1c3)](_0x379a0b),_0x4a3d54=this['validator']['getContentType'](_0x59eafd),_0x4158a6=a0_0x280d10[_0x2dbbf3(0x1ed)](ATTACHMENTS_DIR,_0x5ce95a,_0x4f7868);await this['fileProcessor']['createDirectory'](_0x4158a6);let _0x1de00a=0x0,_0x47fc2d=null;if(mode===_0x2dbbf3(0x1f0)){const processResult=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1cb)](_0x379a0b,_0x4a3d54),_0x27a9b6=processResult[_0x2dbbf3(0x1f0)];if(_0x4a3d54==='text')_0x47fc2d='content.txt';else{if(_0x4a3d54==='image')_0x47fc2d='content.base64';else _0x4a3d54==='pdf'&&(_0x47fc2d='content.txt');}const _0x3dab99=a0_0x280d10[_0x2dbbf3(0x1ed)](_0x4158a6,_0x47fc2d);await this['fileProcessor'][_0x2dbbf3(0x200)](_0x3dab99,_0x27a9b6,'utf8'),_0x1de00a=this[_0x2dbbf3(0x201)]['estimateTokens'](_0x27a9b6);}const _0x230b49={'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'originalPath':_0x379a0b,'fileType':this['validator']['getMimeType'](_0x59eafd),'fileExtension':_0x3c65aa,'size':_0x18005e[_0x2dbbf3(0x20a)],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x18005e['modified']['toISOString'](),'hash':_0x3b9b09,'tokenEstimate':_0x1de00a,'contentType':_0x4a3d54,'contentFileName':_0x47fc2d,'warnings':_0x56a144['warnings'],'sizeLevel':_0x56a144[_0x2dbbf3(0x1be)],'importedFrom':null,'referencedBy':[_0x5ce95a]},_0x25344f=a0_0x280d10['join'](_0x4158a6,_0x2dbbf3(0x1d5));return await this[_0x2dbbf3(0x201)]['writeFile'](_0x25344f,JSON['stringify'](_0x230b49,null,0x2),'utf8'),this['index'][_0x2dbbf3(0x1ff)][_0x4f7868]={'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'mode':mode,'active':_0x230b49['active'],'referencedBy':_0x230b49['referencedBy']},!this[_0x2dbbf3(0x1fe)][_0x2dbbf3(0x1c8)][_0x5ce95a]&&(this['index'][_0x2dbbf3(0x1c8)][_0x5ce95a]=[]),this['index'][_0x2dbbf3(0x1c8)][_0x5ce95a][_0x2dbbf3(0x205)](_0x4f7868),await this['saveIndex'](),this['logger']?.['info'](_0x2dbbf3(0x1e8),{'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'mode':mode}),_0x230b49;}catch(_0x334035){this[_0x2dbbf3(0x1e4)]?.[_0x2dbbf3(0x1f4)]('Error\x20uploading\x20file',{'agentId':_0x5ce95a,'filePath':_0x379a0b,'error':_0x334035[_0x2dbbf3(0x204)]});throw _0x334035;}}async[a0_0x4ec636(0x1ce)](_0x3c214f,_0x385cbe={}){const _0x5d8322=a0_0x4ec636;!this[_0x5d8322(0x1fe)]&&await this['loadIndex']();try{const _0x5297d7=this['index']['agentRefs'][_0x3c214f]||[],_0x4c1998=[];for(const _0x982589 of _0x5297d7){const _0x1c6bdf=await this['getAttachment'](_0x982589);if(_0x1c6bdf){if(_0x385cbe[_0x5d8322(0x206)]!==undefined&&_0x1c6bdf['active']!==_0x385cbe[_0x5d8322(0x206)])continue;if(_0x385cbe['mode']&&_0x1c6bdf[_0x5d8322(0x1f3)]!==_0x385cbe['mode'])continue;_0x4c1998['push'](_0x1c6bdf);}}return _0x4c1998;}catch(_0xac9e82){this[_0x5d8322(0x1e4)]?.['error'](_0x5d8322(0x1c2),{'agentId':_0x3c214f,'error':_0xac9e82['message']});throw _0xac9e82;}}async['getAttachment'](_0x30c7ff){const _0xd8e03b=a0_0x4ec636;!this[_0xd8e03b(0x1fe)]&&await this['loadIndex']();try{const _0x36575f=this[_0xd8e03b(0x1fe)][_0xd8e03b(0x1ff)][_0x30c7ff];if(!_0x36575f)return null;const _0x5c261e=a0_0x280d10[_0xd8e03b(0x1ed)](ATTACHMENTS_DIR,_0x36575f[_0xd8e03b(0x1e6)],_0x30c7ff,'metadata.json'),_0x26d40c=await this[_0xd8e03b(0x201)][_0xd8e03b(0x1d7)](_0x5c261e);if(!_0x26d40c)return this['logger']?.[_0xd8e03b(0x1f2)]('Metadata\x20file\x20not\x20found',{'fileId':_0x30c7ff}),null;const _0xdea830=await this['fileProcessor']['readFile'](_0x5c261e,_0xd8e03b(0x1e9));return JSON['parse'](_0xdea830);}catch(_0x1de72d){return this['logger']?.[_0xd8e03b(0x1f4)]('Error\x20getting\x20attachment',{'fileId':_0x30c7ff,'error':_0x1de72d['message']}),null;}}async[a0_0x4ec636(0x1c5)](_0x40f2e4){const _0x26e58f=a0_0x4ec636;try{const _0x429a6f=await this[_0x26e58f(0x1e7)](_0x40f2e4);if(!_0x429a6f||_0x429a6f[_0x26e58f(0x1f3)]!==_0x26e58f(0x1f0))return null;const _0x5eaffd=a0_0x280d10[_0x26e58f(0x1ed)](ATTACHMENTS_DIR,_0x429a6f['agentId'],_0x40f2e4,_0x429a6f['contentFileName']),_0x526aa0=await this['fileProcessor'][_0x26e58f(0x1d7)](_0x5eaffd);if(!_0x526aa0)return null;return await this[_0x26e58f(0x201)]['readFile'](_0x5eaffd,_0x26e58f(0x1e9));}catch(_0x3c1ede){return this[_0x26e58f(0x1e4)]?.['error'](_0x26e58f(0x202),{'fileId':_0x40f2e4,'error':_0x3c1ede[_0x26e58f(0x204)]}),null;}}async[a0_0x4ec636(0x203)](_0x5426c3){const _0x7c9d6b=a0_0x4ec636;try{const _0x334f84=await this[_0x7c9d6b(0x1e7)](_0x5426c3);if(!_0x334f84)throw new Error(_0x7c9d6b(0x1e3)+_0x5426c3);_0x334f84[_0x7c9d6b(0x206)]=!_0x334f84[_0x7c9d6b(0x206)],_0x334f84['lastModified']=new Date()[_0x7c9d6b(0x1d8)]();const _0x55e1dc=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x334f84[_0x7c9d6b(0x1e6)],_0x5426c3,'metadata.json');return await this[_0x7c9d6b(0x201)]['writeFile'](_0x55e1dc,JSON[_0x7c9d6b(0x1cc)](_0x334f84,null,0x2),_0x7c9d6b(0x1e9)),this['index']['attachments'][_0x5426c3]&&(this[_0x7c9d6b(0x1fe)]['attachments'][_0x5426c3]['active']=_0x334f84['active'],await this['saveIndex']()),this['logger']?.['info'](_0x7c9d6b(0x1d2),{'fileId':_0x5426c3,'active':_0x334f84['active']}),_0x334f84;}catch(_0x2e35a9){this[_0x7c9d6b(0x1e4)]?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x5426c3,'error':_0x2e35a9['message']});throw _0x2e35a9;}}async[a0_0x4ec636(0x1dd)](_0xa7fff3,_0x1df1d8){const _0x69987d=a0_0x4ec636;try{const _0x385639=await this['getAttachment'](_0xa7fff3);if(!_0x385639)throw new Error('Attachment\x20not\x20found:\x20'+_0xa7fff3);const _0x695fd4=['fileName',_0x69987d(0x206)];for(const _0x30e33f of _0x695fd4){_0x1df1d8[_0x30e33f]!==undefined&&(_0x385639[_0x30e33f]=_0x1df1d8[_0x30e33f]);}_0x385639['lastModified']=new Date()['toISOString']();const _0x50a24c=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x385639[_0x69987d(0x1e6)],_0xa7fff3,'metadata.json');return await this[_0x69987d(0x201)]['writeFile'](_0x50a24c,JSON[_0x69987d(0x1cc)](_0x385639,null,0x2),'utf8'),this['index'][_0x69987d(0x1ff)][_0xa7fff3]&&(_0x1df1d8['fileName']&&(this['index'][_0x69987d(0x1ff)][_0xa7fff3][_0x69987d(0x1c0)]=_0x1df1d8[_0x69987d(0x1c0)]),_0x1df1d8['active']!==undefined&&(this['index'][_0x69987d(0x1ff)][_0xa7fff3]['active']=_0x1df1d8[_0x69987d(0x206)]),await this[_0x69987d(0x1cf)]()),this['logger']?.[_0x69987d(0x208)](_0x69987d(0x1bf),{'fileId':_0xa7fff3,'updates':_0x1df1d8}),_0x385639;}catch(_0x404690){this[_0x69987d(0x1e4)]?.[_0x69987d(0x1f4)]('Error\x20updating\x20attachment',{'fileId':_0xa7fff3,'error':_0x404690[_0x69987d(0x204)]});throw _0x404690;}}async['deleteAttachment'](_0x491d5f,_0x51c487){const _0x44daf5=a0_0x4ec636;try{const _0x57c0c9=await this[_0x44daf5(0x1e7)](_0x491d5f);if(!_0x57c0c9)throw new Error(_0x44daf5(0x1e3)+_0x491d5f);_0x57c0c9[_0x44daf5(0x1f9)]=_0x57c0c9['referencedBy']['filter'](_0x5f47bf=>_0x5f47bf!==_0x51c487);if(_0x57c0c9[_0x44daf5(0x1f9)]['length']>0x0){const _0x285ed0=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x57c0c9['agentId'],_0x491d5f,_0x44daf5(0x1d5));return await this['fileProcessor'][_0x44daf5(0x200)](_0x285ed0,JSON['stringify'](_0x57c0c9,null,0x2),_0x44daf5(0x1e9)),this['index']['attachments'][_0x491d5f]&&(this[_0x44daf5(0x1fe)][_0x44daf5(0x1ff)][_0x491d5f][_0x44daf5(0x1f9)]=_0x57c0c9['referencedBy']),this[_0x44daf5(0x1fe)][_0x44daf5(0x1c8)][_0x51c487]&&(this['index'][_0x44daf5(0x1c8)][_0x51c487]=this['index'][_0x44daf5(0x1c8)][_0x51c487][_0x44daf5(0x1ec)](_0x4e9f29=>_0x4e9f29!==_0x491d5f)),await this['saveIndex'](),this['logger']?.[_0x44daf5(0x208)]('Attachment\x20dereferenced',{'fileId':_0x491d5f,'agentId':_0x51c487,'remainingRefs':_0x57c0c9[_0x44daf5(0x1f9)]['length']}),![];}const _0x4fd172=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x57c0c9[_0x44daf5(0x1e6)],_0x491d5f);return await this[_0x44daf5(0x201)]['deleteDirectory'](_0x4fd172),delete this['index'][_0x44daf5(0x1ff)][_0x491d5f],this['index']['agentRefs'][_0x51c487]&&(this[_0x44daf5(0x1fe)][_0x44daf5(0x1c8)][_0x51c487]=this['index']['agentRefs'][_0x51c487]['filter'](_0x302ad1=>_0x302ad1!==_0x491d5f)),await this[_0x44daf5(0x1cf)](),this[_0x44daf5(0x1e4)]?.['info'](_0x44daf5(0x1eb),{'fileId':_0x491d5f,'agentId':_0x51c487}),!![];}catch(_0x4d2559){this['logger']?.[_0x44daf5(0x1f4)](_0x44daf5(0x1fc),{'fileId':_0x491d5f,'agentId':_0x51c487,'error':_0x4d2559['message']});throw _0x4d2559;}}async['deleteAgentAttachments'](_0xa6636d){const _0x2893e8=a0_0x4ec636;try{const _0x41d68a=this['index'][_0x2893e8(0x1c8)][_0xa6636d]||[];let _0x38c4f9=0x0,_0x4c9527=0x0;for(const _0x49b74e of _0x41d68a){const _0xec7931=await this[_0x2893e8(0x1de)](_0x49b74e,_0xa6636d);_0xec7931?_0x38c4f9++:_0x4c9527++;}return this[_0x2893e8(0x1e4)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0xa6636d,'deleted':_0x38c4f9,'dereferenced':_0x4c9527}),{'deleted':_0x38c4f9,'dereferenced':_0x4c9527};}catch(_0x108648){this[_0x2893e8(0x1e4)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0xa6636d,'error':_0x108648['message']});throw _0x108648;}}async['importFromAgent'](_0x2aa886,_0xa76984){const _0x2a888a=a0_0x4ec636;try{const _0x588316=await this['getAttachment'](_0x2aa886);if(!_0x588316)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x2aa886);!_0x588316['referencedBy']['includes'](_0xa76984)&&_0x588316[_0x2a888a(0x1f9)][_0x2a888a(0x205)](_0xa76984);_0x588316[_0x2a888a(0x1c1)]=new Date()['toISOString'](),_0x588316[_0x2a888a(0x1ee)]=_0x588316['agentId'];const _0x331516=a0_0x280d10[_0x2a888a(0x1ed)](ATTACHMENTS_DIR,_0x588316[_0x2a888a(0x1e6)],_0x2aa886,'metadata.json');return await this['fileProcessor'][_0x2a888a(0x200)](_0x331516,JSON['stringify'](_0x588316,null,0x2),'utf8'),this[_0x2a888a(0x1fe)]['attachments'][_0x2aa886]&&(this[_0x2a888a(0x1fe)]['attachments'][_0x2aa886][_0x2a888a(0x1f9)]=_0x588316['referencedBy']),!this['index']['agentRefs'][_0xa76984]&&(this['index'][_0x2a888a(0x1c8)][_0xa76984]=[]),!this[_0x2a888a(0x1fe)][_0x2a888a(0x1c8)][_0xa76984][_0x2a888a(0x1fa)](_0x2aa886)&&this[_0x2a888a(0x1fe)][_0x2a888a(0x1c8)][_0xa76984]['push'](_0x2aa886),await this[_0x2a888a(0x1cf)](),this[_0x2a888a(0x1e4)]?.['info']('Attachment imported',{'sourceFileId':_0x2aa886,'targetAgentId':_0xa76984}),_0x588316;}catch(_0x347ed4){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x2aa886,'targetAgentId':_0xa76984,'error':_0x347ed4['message']});throw _0x347ed4;}}async['getActiveAttachments'](_0xab9c17){const _0x2d8e9b=a0_0x4ec636;return await this[_0x2d8e9b(0x1ce)](_0xab9c17,{'active':!![]});}async[a0_0x4ec636(0x1ca)](_0x21344b){const _0x240f2a=a0_0x4ec636;try{const _0x370497=await this['getAttachmentContent'](_0x21344b);if(!_0x370497)return null;if(_0x370497[_0x240f2a(0x1f5)](_0x240f2a(0x1c9)))return _0x240f2a(0x1f7);return _0x370497[_0x240f2a(0x1f6)]>0x3e8?_0x370497['substring'](0x0,0x3e8)+'...':_0x370497;}catch(_0x2f50c4){return this[_0x240f2a(0x1e4)]?.[_0x240f2a(0x1f4)](_0x240f2a(0x1ea),{'fileId':_0x21344b,'error':_0x2f50c4['message']}),null;}}}export default FileAttachmentService;
|
|
1
|
+
const a0_0x228ef8=a0_0xbb24;(function(_0x37e609,_0x1b8411){const _0xf3cf6b=a0_0xbb24,_0x47a8bf=_0x37e609();while(!![]){try{const _0x2609d7=parseInt(_0xf3cf6b(0xbe))/0x1*(-parseInt(_0xf3cf6b(0xd9))/0x2)+parseInt(_0xf3cf6b(0xcc))/0x3+-parseInt(_0xf3cf6b(0xe5))/0x4+-parseInt(_0xf3cf6b(0x104))/0x5*(-parseInt(_0xf3cf6b(0xfb))/0x6)+parseInt(_0xf3cf6b(0xc1))/0x7*(-parseInt(_0xf3cf6b(0xdd))/0x8)+-parseInt(_0xf3cf6b(0xed))/0x9+-parseInt(_0xf3cf6b(0xdc))/0xa*(-parseInt(_0xf3cf6b(0x113))/0xb);if(_0x2609d7===_0x1b8411)break;else _0x47a8bf['push'](_0x47a8bf['shift']());}catch(_0x337d4e){_0x47a8bf['push'](_0x47a8bf['shift']());}}}(a0_0x4932,0xda9da));import a0_0x24e506 from'path';import{randomUUID}from'crypto';import a0_0x32bcf1 from'../utilities/fileProcessor.js';function a0_0x4932(){const _0x59d2ae=['mtq0nJC1rNHXtfPd','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','z2v0rMLSzvn0yxrZ','DMfSAwrHDg9Y','Dgv4Da','C2f2zuLUzgv4','vMfSAwrHDgLVBIbMywLSzwq6ia','zMLSDgvY','Bw9Kzq','CMvMzxjLBMnLzej5','Aw5PDgLHBgL6zq','Aw1Hz2u','Aw5JBhvKzxm','odC2ntq5mfHdCuTIEG','DMfSAwq','zMLSzuv4Axn0CW','zxjYB3jZ','C3vIC3rYAw5N','Aw5KzxG','z2v0qxr0ywnOBwvUDenVBNrLBNq','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','Aw1WB3j0zwrgCM9T','nw52uuL6yq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','y29UDgvUDc5IyxnLnJq','CMvMzxjLBMnL','rxjYB3iGDxbSB2fKAw5NigzPBgu','z2v0qxr0ywnOBwvUDa','C2L6zq','qxr0ywnOBwvUDcbKzwXLDgvK','DMfSAwrHDgu','qxr0ywnOBwvUDcb1CgrHDgvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','y29UDgvUDezPBgvoyw1L','CgrM','z2v0qxr0ywnOBwvUDfbYzxzPzxC','BgfZDe1VzgLMAwvK','mZG4m0z0Cg9Oqq','Bg9HzeLUzgv4','mJK4mdmXqwDJre1M','BwvZC2fNzq','ywDLBNrjza','mte5svDYENjP','CMvHzezPBgu','ChvZAa','y3jLyxrLrgLYzwn0B3j5','DxbSB2fKrMLSzq','CgfYC2u','Aw5MBW','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','zxH0BMfTzq','zxn0Aw1HDgvuB2TLBNm','C3rHCNrZv2L0Aa','mJy3odCZowLItuLSsa','zMLSzvbYB2nLC3nVCG','yxr0ywnOBwvUDhm','zMLSzu5HBwu','C3rYAw5NAwz5','Dg9ju09tDhjPBMC','Bg9Nz2vY','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','z2v0twLTzvr5Cgu','zgvSzxrLqxr0ywnOBwvUDa','zgvSzxrLrgLYzwn0B3j5','y29UDgvUDc50Ehq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mtbHEwXLEu8','z2v0qxr0ywnOBwvUDhm','D3jPDgvgAwXL','mtKWmtb0rKjPCLG','mtK5nJGWD2Lpzg5Z','DxrMoa','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','zxjYB3i','AM9PBG','D2fYBMLUz3m','ywDLBNrszwzZ','zgf0ytPPBwfNzq','nZK1nti0qvfjt09O','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','Bwv0ywrHDgeUANnVBG','qwDLBNqGyxr0ywnOBwvUDhmGzgvSzxrLza','BgvUz3rO','ywn0AxzL','y2fSy3vSyxrLsgfZAa','y29UDgvUDa'];a0_0x4932=function(){return _0x59d2ae;};return a0_0x4932();}import a0_0x56293c from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x228ef8(0xce)],INDEX_FILE=a0_0x24e506[a0_0x228ef8(0xe1)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x19bdd1={},_0x59b2d0=null){const _0x17d3ed=a0_0x228ef8;this['config']=_0x19bdd1,this[_0x17d3ed(0xd2)]=_0x59b2d0,this[_0x17d3ed(0xcd)]=new a0_0x32bcf1(_0x19bdd1,_0x59b2d0),this['validator']=new a0_0x56293c(_0x19bdd1,_0x59b2d0),this['index']=null;}async[a0_0x228ef8(0xf8)](){const _0x44b38e=a0_0x228ef8;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this[_0x44b38e(0xd2)]?.[_0x44b38e(0xc7)](_0x44b38e(0xd3),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x31f828){this[_0x44b38e(0xd2)]?.[_0x44b38e(0xe0)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x31f828[_0x44b38e(0xbf)]});throw _0x31f828;}}async['loadIndex'](){const _0x581d7e=a0_0x228ef8;try{const _0x34f873=await this[_0x581d7e(0xcd)][_0x581d7e(0xfd)](INDEX_FILE);if(!_0x34f873)this['index']={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x3b8400=await this[_0x581d7e(0xcd)][_0x581d7e(0xc2)](INDEX_FILE,_0x581d7e(0xde));this['index']=JSON[_0x581d7e(0xc6)](_0x3b8400);}return this[_0x581d7e(0x100)];}catch(_0x4b6bd9){return this['logger']?.['error']('Error\x20loading\x20index',{'error':_0x4b6bd9['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async['saveIndex'](){const _0x34222b=a0_0x228ef8;try{await this[_0x34222b(0xcd)]['writeFile'](INDEX_FILE,JSON[_0x34222b(0xd0)](this['index'],null,0x2),'utf8');}catch(_0x1a4a95){this[_0x34222b(0xd2)]?.[_0x34222b(0xe0)]('Error\x20saving\x20index',{'error':_0x1a4a95['message']});throw _0x1a4a95;}}async[a0_0x228ef8(0xc5)]({agentId:_0x316a05,filePath:_0x59a0bd,mode:mode=a0_0x228ef8(0xec),fileName:fileName=null}){const _0x23cd6e=a0_0x228ef8;!this[_0x23cd6e(0x100)]&&await this['loadIndex']();try{const _0x4e7817=await this[_0x23cd6e(0xcd)]['fileExists'](_0x59a0bd);if(!_0x4e7817)throw new Error('File\x20not\x20found:\x20'+_0x59a0bd);const _0x283519=await this[_0x23cd6e(0xcd)][_0x23cd6e(0xf0)](_0x59a0bd),_0xfc208e=fileName||a0_0x24e506['basename'](_0x59a0bd),_0xb74b34=a0_0x24e506[_0x23cd6e(0xc9)](_0xfc208e),_0xb805f8=this['validator'][_0x23cd6e(0x10c)]({'fileName':_0xfc208e,'size':_0x283519[_0x23cd6e(0x10a)],'mode':mode,'path':mode===_0x23cd6e(0x107)?_0x59a0bd:null});if(!_0xb805f8[_0x23cd6e(0xfc)])throw new Error(_0x23cd6e(0xf4)+_0xb805f8[_0x23cd6e(0xfe)][_0x23cd6e(0xe1)](',\x20'));const _0x5b3cbf=randomUUID(),_0x1a7c41=await this['fileProcessor'][_0x23cd6e(0xeb)](_0x59a0bd),_0xdde125=this['validator']['getContentType'](_0xfc208e),_0x74079d=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x316a05,_0x5b3cbf);await this[_0x23cd6e(0xcd)][_0x23cd6e(0xc4)](_0x74079d);let _0x520844=0x0,_0x4b866b=null;if(mode==='content'){const processResult=await this[_0x23cd6e(0xcd)]['processFile'](_0x59a0bd,_0xdde125),_0x4bf58a=processResult['content'];if(_0xdde125===_0x23cd6e(0xf2))_0x4b866b=_0x23cd6e(0xd7);else{if(_0xdde125===_0x23cd6e(0xf9))_0x4b866b=_0x23cd6e(0x106);else _0xdde125===_0x23cd6e(0x110)&&(_0x4b866b='content.txt');}const _0xc02026=a0_0x24e506['join'](_0x74079d,_0x4b866b);await this[_0x23cd6e(0xcd)]['writeFile'](_0xc02026,_0x4bf58a,_0x23cd6e(0xde)),_0x520844=this[_0x23cd6e(0xcd)][_0x23cd6e(0xca)](_0x4bf58a);}const _0xdec129={'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'originalPath':_0x59a0bd,'fileType':this[_0x23cd6e(0xf1)][_0x23cd6e(0xd4)](_0xfc208e),'fileExtension':_0xb74b34,'size':_0x283519['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x283519['modified'][_0x23cd6e(0xd1)](),'hash':_0x1a7c41,'tokenEstimate':_0x520844,'contentType':_0xdde125,'contentFileName':_0x4b866b,'warnings':_0xb805f8[_0x23cd6e(0xe2)],'sizeLevel':_0xb805f8['sizeLevel'],'importedFrom':null,'referencedBy':[_0x316a05]},_0x1b09f8=a0_0x24e506['join'](_0x74079d,'metadata.json');return await this[_0x23cd6e(0xcd)]['writeFile'](_0x1b09f8,JSON['stringify'](_0xdec129,null,0x2),'utf8'),this[_0x23cd6e(0x100)][_0x23cd6e(0xce)][_0x5b3cbf]={'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'mode':mode,'active':_0xdec129[_0x23cd6e(0xea)],'referencedBy':_0xdec129[_0x23cd6e(0xf7)]},!this[_0x23cd6e(0x100)][_0x23cd6e(0xe3)][_0x316a05]&&(this['index']['agentRefs'][_0x316a05]=[]),this['index'][_0x23cd6e(0xe3)][_0x316a05]['push'](_0x5b3cbf),await this[_0x23cd6e(0xf3)](),this['logger']?.['info']('File\x20uploaded',{'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'mode':mode}),_0xdec129;}catch(_0x2c503c){this['logger']?.[_0x23cd6e(0xe0)](_0x23cd6e(0x108),{'agentId':_0x316a05,'filePath':_0x59a0bd,'error':_0x2c503c[_0x23cd6e(0xbf)]});throw _0x2c503c;}}async[a0_0x228ef8(0xda)](_0x5ca878,_0x1eef12={}){const _0x140db1=a0_0x228ef8;!this['index']&&await this[_0x140db1(0x114)]();try{const _0x915594=this[_0x140db1(0x100)][_0x140db1(0xe3)][_0x5ca878]||[],_0x4e9e31=[];for(const _0x1b26da of _0x915594){const _0x1e7ccc=await this['getAttachment'](_0x1b26da);if(_0x1e7ccc){if(_0x1eef12[_0x140db1(0xea)]!==undefined&&_0x1e7ccc['active']!==_0x1eef12[_0x140db1(0xea)])continue;if(_0x1eef12['mode']&&_0x1e7ccc['mode']!==_0x1eef12['mode'])continue;_0x4e9e31['push'](_0x1e7ccc);}}return _0x4e9e31;}catch(_0x168baa){this[_0x140db1(0xd2)]?.['error']('Error\x20getting\x20attachments',{'agentId':_0x5ca878,'error':_0x168baa['message']});throw _0x168baa;}}async['getAttachment'](_0x2e05c3){const _0x4cb415=a0_0x228ef8;!this[_0x4cb415(0x100)]&&await this['loadIndex']();try{const _0x39411e=this['index'][_0x4cb415(0xce)][_0x2e05c3];if(!_0x39411e)return null;const _0x3d753b=a0_0x24e506[_0x4cb415(0xe1)](ATTACHMENTS_DIR,_0x39411e[_0x4cb415(0xc0)],_0x2e05c3,_0x4cb415(0xe7)),_0x114a70=await this[_0x4cb415(0xcd)]['fileExists'](_0x3d753b);if(!_0x114a70)return this[_0x4cb415(0xd2)]?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x2e05c3}),null;const _0x43622e=await this[_0x4cb415(0xcd)][_0x4cb415(0xc2)](_0x3d753b,'utf8');return JSON[_0x4cb415(0xc6)](_0x43622e);}catch(_0x4b1cf8){return this[_0x4cb415(0xd2)]?.[_0x4cb415(0xe0)]('Error\x20getting\x20attachment',{'fileId':_0x2e05c3,'error':_0x4b1cf8[_0x4cb415(0xbf)]}),null;}}async[a0_0x228ef8(0x101)](_0x30220c){const _0x36f298=a0_0x228ef8;try{const _0x21f7ee=await this['getAttachment'](_0x30220c);if(!_0x21f7ee||_0x21f7ee[_0x36f298(0xf6)]!==_0x36f298(0xec))return null;const _0x1b7739=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x21f7ee['agentId'],_0x30220c,_0x21f7ee[_0x36f298(0x10f)]),_0x2b04e0=await this['fileProcessor']['fileExists'](_0x1b7739);if(!_0x2b04e0)return null;return await this[_0x36f298(0xcd)]['readFile'](_0x1b7739,_0x36f298(0xde));}catch(_0x39c658){return this['logger']?.[_0x36f298(0xe0)](_0x36f298(0x10e),{'fileId':_0x30220c,'error':_0x39c658['message']}),null;}}async['toggleActive'](_0x1db8fb){const _0x1d5265=a0_0x228ef8;try{const _0x4d702d=await this[_0x1d5265(0x109)](_0x1db8fb);if(!_0x4d702d)throw new Error(_0x1d5265(0xd8)+_0x1db8fb);_0x4d702d[_0x1d5265(0xea)]=!_0x4d702d['active'],_0x4d702d['lastModified']=new Date()[_0x1d5265(0xd1)]();const _0x19bf7f=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x4d702d[_0x1d5265(0xc0)],_0x1db8fb,_0x1d5265(0xe7));return await this['fileProcessor']['writeFile'](_0x19bf7f,JSON[_0x1d5265(0xd0)](_0x4d702d,null,0x2),'utf8'),this[_0x1d5265(0x100)][_0x1d5265(0xce)][_0x1db8fb]&&(this['index']['attachments'][_0x1db8fb]['active']=_0x4d702d[_0x1d5265(0xea)],await this['saveIndex']()),this[_0x1d5265(0xd2)]?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x1db8fb,'active':_0x4d702d['active']}),_0x4d702d;}catch(_0x1ce0b3){this[_0x1d5265(0xd2)]?.['error'](_0x1d5265(0x105),{'fileId':_0x1db8fb,'error':_0x1ce0b3[_0x1d5265(0xbf)]});throw _0x1ce0b3;}}async['updateAttachment'](_0x421351,_0x291fe4){const _0x3bbdd5=a0_0x228ef8;try{const _0x5206b8=await this[_0x3bbdd5(0x109)](_0x421351);if(!_0x5206b8)throw new Error(_0x3bbdd5(0xd8)+_0x421351);const _0x510f43=[_0x3bbdd5(0xcf),_0x3bbdd5(0xea)];for(const _0x43b4c9 of _0x510f43){_0x291fe4[_0x43b4c9]!==undefined&&(_0x5206b8[_0x43b4c9]=_0x291fe4[_0x43b4c9]);}_0x5206b8[_0x3bbdd5(0x112)]=new Date()[_0x3bbdd5(0xd1)]();const _0x10729f=a0_0x24e506[_0x3bbdd5(0xe1)](ATTACHMENTS_DIR,_0x5206b8['agentId'],_0x421351,'metadata.json');return await this[_0x3bbdd5(0xcd)]['writeFile'](_0x10729f,JSON[_0x3bbdd5(0xd0)](_0x5206b8,null,0x2),_0x3bbdd5(0xde)),this['index'][_0x3bbdd5(0xce)][_0x421351]&&(_0x291fe4[_0x3bbdd5(0xcf)]&&(this[_0x3bbdd5(0x100)][_0x3bbdd5(0xce)][_0x421351][_0x3bbdd5(0xcf)]=_0x291fe4['fileName']),_0x291fe4[_0x3bbdd5(0xea)]!==undefined&&(this['index']['attachments'][_0x421351]['active']=_0x291fe4[_0x3bbdd5(0xea)]),await this['saveIndex']()),this['logger']?.['info'](_0x3bbdd5(0x10d),{'fileId':_0x421351,'updates':_0x291fe4}),_0x5206b8;}catch(_0x175a9c){this['logger']?.[_0x3bbdd5(0xe0)]('Error\x20updating\x20attachment',{'fileId':_0x421351,'error':_0x175a9c['message']});throw _0x175a9c;}}async[a0_0x228ef8(0xd5)](_0x232d8a,_0x29b55b){const _0x36a2e4=a0_0x228ef8;try{const _0x3f2810=await this[_0x36a2e4(0x109)](_0x232d8a);if(!_0x3f2810)throw new Error('Attachment\x20not\x20found:\x20'+_0x232d8a);_0x3f2810['referencedBy']=_0x3f2810['referencedBy'][_0x36a2e4(0xf5)](_0x56f029=>_0x56f029!==_0x29b55b);if(_0x3f2810['referencedBy']['length']>0x0){const _0x5c9bbc=a0_0x24e506[_0x36a2e4(0xe1)](ATTACHMENTS_DIR,_0x3f2810['agentId'],_0x232d8a,'metadata.json');return await this[_0x36a2e4(0xcd)]['writeFile'](_0x5c9bbc,JSON[_0x36a2e4(0xd0)](_0x3f2810,null,0x2),_0x36a2e4(0xde)),this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a]&&(this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a]['referencedBy']=_0x3f2810[_0x36a2e4(0xf7)]),this['index']['agentRefs'][_0x29b55b]&&(this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]=this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]['filter'](_0x4a7ee4=>_0x4a7ee4!==_0x232d8a)),await this['saveIndex'](),this[_0x36a2e4(0xd2)]?.['info'](_0x36a2e4(0xdf),{'fileId':_0x232d8a,'agentId':_0x29b55b,'remainingRefs':_0x3f2810[_0x36a2e4(0xf7)][_0x36a2e4(0xe9)]}),![];}const _0x12b619=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x3f2810['agentId'],_0x232d8a);return await this['fileProcessor'][_0x36a2e4(0xd6)](_0x12b619),delete this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a],this[_0x36a2e4(0x100)][_0x36a2e4(0xe3)][_0x29b55b]&&(this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]=this['index'][_0x36a2e4(0xe3)][_0x29b55b]['filter'](_0x3ce8c2=>_0x3ce8c2!==_0x232d8a)),await this[_0x36a2e4(0xf3)](),this['logger']?.['info'](_0x36a2e4(0x10b),{'fileId':_0x232d8a,'agentId':_0x29b55b}),!![];}catch(_0x320a8a){this['logger']?.[_0x36a2e4(0xe0)](_0x36a2e4(0xef),{'fileId':_0x232d8a,'agentId':_0x29b55b,'error':_0x320a8a[_0x36a2e4(0xbf)]});throw _0x320a8a;}}async[a0_0x228ef8(0x102)](_0x4794ed){const _0x57d15=a0_0x228ef8;try{const _0x472a26=this[_0x57d15(0x100)][_0x57d15(0xe3)][_0x4794ed]||[];let _0x206d21=0x0,_0x3b45bc=0x0;for(const _0x51f7d8 of _0x472a26){const _0x5f053c=await this['deleteAttachment'](_0x51f7d8,_0x4794ed);_0x5f053c?_0x206d21++:_0x3b45bc++;}return this[_0x57d15(0xd2)]?.[_0x57d15(0xc7)](_0x57d15(0xe8),{'agentId':_0x4794ed,'deleted':_0x206d21,'dereferenced':_0x3b45bc}),{'deleted':_0x206d21,'dereferenced':_0x3b45bc};}catch(_0x564b04){this['logger']?.['error'](_0x57d15(0xe6),{'agentId':_0x4794ed,'error':_0x564b04[_0x57d15(0xbf)]});throw _0x564b04;}}async['importFromAgent'](_0x3d0502,_0x2f2632){const _0x40d9e3=a0_0x228ef8;try{const _0x4fb505=await this[_0x40d9e3(0x109)](_0x3d0502);if(!_0x4fb505)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x3d0502);!_0x4fb505[_0x40d9e3(0xf7)]['includes'](_0x2f2632)&&_0x4fb505[_0x40d9e3(0xf7)][_0x40d9e3(0xc3)](_0x2f2632);_0x4fb505[_0x40d9e3(0x112)]=new Date()[_0x40d9e3(0xd1)](),_0x4fb505[_0x40d9e3(0x103)]=_0x4fb505['agentId'];const _0x3b6b77=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x4fb505['agentId'],_0x3d0502,_0x40d9e3(0xe7));return await this[_0x40d9e3(0xcd)][_0x40d9e3(0xdb)](_0x3b6b77,JSON[_0x40d9e3(0xd0)](_0x4fb505,null,0x2),'utf8'),this[_0x40d9e3(0x100)]['attachments'][_0x3d0502]&&(this[_0x40d9e3(0x100)]['attachments'][_0x3d0502]['referencedBy']=_0x4fb505[_0x40d9e3(0xf7)]),!this['index'][_0x40d9e3(0xe3)][_0x2f2632]&&(this[_0x40d9e3(0x100)]['agentRefs'][_0x2f2632]=[]),!this['index']['agentRefs'][_0x2f2632][_0x40d9e3(0xfa)](_0x3d0502)&&this[_0x40d9e3(0x100)][_0x40d9e3(0xe3)][_0x2f2632]['push'](_0x3d0502),await this['saveIndex'](),this[_0x40d9e3(0xd2)]?.['info']('Attachment imported',{'sourceFileId':_0x3d0502,'targetAgentId':_0x2f2632}),_0x4fb505;}catch(_0x2fa7fb){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x3d0502,'targetAgentId':_0x2f2632,'error':_0x2fa7fb[_0x40d9e3(0xbf)]});throw _0x2fa7fb;}}async['getActiveAttachments'](_0x3f2a83){const _0x1eb94e=a0_0x228ef8;return await this[_0x1eb94e(0xda)](_0x3f2a83,{'active':!![]});}async[a0_0x228ef8(0x111)](_0x1d3f2c){const _0x589e06=a0_0x228ef8;try{const _0x375cd9=await this[_0x589e06(0x101)](_0x1d3f2c);if(!_0x375cd9)return null;if(_0x375cd9[_0x589e06(0xcb)](_0x589e06(0xe4)))return _0x589e06(0xc8);return _0x375cd9[_0x589e06(0xe9)]>0x3e8?_0x375cd9[_0x589e06(0xff)](0x0,0x3e8)+'...':_0x375cd9;}catch(_0xb7688f){return this['logger']?.[_0x589e06(0xe0)](_0x589e06(0xee),{'fileId':_0x1d3f2c,'error':_0xb7688f[_0x589e06(0xbf)]}),null;}}}function a0_0xbb24(_0x6aabc1,_0x41c7a9){_0x6aabc1=_0x6aabc1-0xbe;const _0x493291=a0_0x4932();let _0xbb246a=_0x493291[_0x6aabc1];if(a0_0xbb24['dWxkxa']===undefined){var _0x515f5b=function(_0x38e5f4){const _0x159997='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24e506='',_0x32bcf1='';for(let _0x56293c=0x0,_0x19bdd1,_0x59b2d0,_0x31f828=0x0;_0x59b2d0=_0x38e5f4['charAt'](_0x31f828++);~_0x59b2d0&&(_0x19bdd1=_0x56293c%0x4?_0x19bdd1*0x40+_0x59b2d0:_0x59b2d0,_0x56293c++%0x4)?_0x24e506+=String['fromCharCode'](0xff&_0x19bdd1>>(-0x2*_0x56293c&0x6)):0x0){_0x59b2d0=_0x159997['indexOf'](_0x59b2d0);}for(let _0x34f873=0x0,_0x3b8400=_0x24e506['length'];_0x34f873<_0x3b8400;_0x34f873++){_0x32bcf1+='%'+('00'+_0x24e506['charCodeAt'](_0x34f873)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32bcf1);};a0_0xbb24['SmvdoF']=_0x515f5b,a0_0xbb24['ETtzum']={},a0_0xbb24['dWxkxa']=!![];}const _0x28f927=_0x493291[0x0],_0x5bb624=_0x6aabc1+_0x28f927,_0x401ecc=a0_0xbb24['ETtzum'][_0x5bb624];return!_0x401ecc?(_0xbb246a=a0_0xbb24['SmvdoF'](_0xbb246a),a0_0xbb24['ETtzum'][_0x5bb624]=_0xbb246a):_0xbb246a=_0x401ecc,_0xbb246a;}export default FileAttachmentService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x179793=a0_0x5361;function a0_0x5361(_0x46abdd,_0x589956){_0x46abdd=_0x46abdd-0x7d;const _0x46a633=a0_0x46a6();let _0x5361f9=_0x46a633[_0x46abdd];if(a0_0x5361['PwLtXa']===undefined){var _0x1d9c6f=function(_0x570732){const _0x5ae8ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x191f86='',_0x375097='';for(let _0x3f54cd=0x0,_0x4c761d,_0x5f09c5,_0x23335f=0x0;_0x5f09c5=_0x570732['charAt'](_0x23335f++);~_0x5f09c5&&(_0x4c761d=_0x3f54cd%0x4?_0x4c761d*0x40+_0x5f09c5:_0x5f09c5,_0x3f54cd++%0x4)?_0x191f86+=String['fromCharCode'](0xff&_0x4c761d>>(-0x2*_0x3f54cd&0x6)):0x0){_0x5f09c5=_0x5ae8ab['indexOf'](_0x5f09c5);}for(let _0x17694f=0x0,_0x4f1a77=_0x191f86['length'];_0x17694f<_0x4f1a77;_0x17694f++){_0x375097+='%'+('00'+_0x191f86['charCodeAt'](_0x17694f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x375097);};a0_0x5361['IvVeTJ']=_0x1d9c6f,a0_0x5361['XTPkBF']={},a0_0x5361['PwLtXa']=!![];}const _0xc76d88=_0x46a633[0x0],_0x26fe10=_0x46abdd+_0xc76d88,_0x27fb94=a0_0x5361['XTPkBF'][_0x26fe10];return!_0x27fb94?(_0x5361f9=a0_0x5361['IvVeTJ'](_0x5361f9),a0_0x5361['XTPkBF'][_0x26fe10]=_0x5361f9):_0x5361f9=_0x27fb94,_0x5361f9;}(function(_0x4d1f16,_0x439da4){const _0xdd0657=a0_0x5361,_0x21562f=_0x4d1f16();while(!![]){try{const _0x60c3e6=parseInt(_0xdd0657(0x85))/0x1+parseInt(_0xdd0657(0xc3))/0x2*(-parseInt(_0xdd0657(0xc4))/0x3)+parseInt(_0xdd0657(0xb9))/0x4*(-parseInt(_0xdd0657(0x8b))/0x5)+-parseInt(_0xdd0657(0xb0))/0x6+parseInt(_0xdd0657(0xa3))/0x7*(-parseInt(_0xdd0657(0xa4))/0x8)+-parseInt(_0xdd0657(0xb2))/0x9+-parseInt(_0xdd0657(0xa0))/0xa*(-parseInt(_0xdd0657(0x93))/0xb);if(_0x60c3e6===_0x439da4)break;else _0x21562f['push'](_0x21562f['shift']());}catch(_0x4da31c){_0x21562f['push'](_0x21562f['shift']());}}}(a0_0x46a6,0xa2fc2));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x191f86,_0x375097,_0x3f54cd,_0x4c761d){const _0x1f6abf=a0_0x5361;this[_0x1f6abf(0x9b)]=_0x191f86,this['logger']=_0x375097,this['benchmarkService']=_0x3f54cd,this['aiService']=_0x4c761d,this[_0x1f6abf(0x99)]=MODEL_ROUTER_CONFIG[_0x1f6abf(0xaa)],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x1f6abf(0xab)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x1f6abf(0x9e)];}async['routeMessage'](_0x5f09c5,_0x23335f=[],_0x17694f='',_0x4f1a77=[],_0x55cd09={}){const _0x2c3172=a0_0x5361;try{this['logger'][_0x2c3172(0xb4)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x5f09c5['content']?.['length']||0x0,'recentMessagesCount':_0x23335f['length'],'currentModel':_0x17694f,'availableModelsCount':_0x4f1a77[_0x2c3172(0xa6)]});const _0x3ffe0b=this['_buildRoutingContext'](_0x5f09c5,_0x23335f,_0x17694f,_0x4f1a77),_0x17528b=this['benchmarkService'][_0x2c3172(0xa2)](),_0xd35337=this[_0x2c3172(0x80)](_0x3ffe0b,_0x17528b),_0x46dce5=await this[_0x2c3172(0xbe)](_0xd35337,_0x55cd09),_0x1098ce=this[_0x2c3172(0x87)](_0x46dce5,_0x4f1a77,_0x17694f);return this[_0x2c3172(0x7e)][_0x2c3172(0x89)]('Model\x20routing\x20completed',{'selectedModel':_0x1098ce,'previousModel':_0x17694f,'changed':_0x1098ce!==_0x17694f,'reasoning':_0x46dce5['reasoning']?.[_0x2c3172(0xb5)](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x1098ce,'previousModel':_0x17694f,'changed':_0x1098ce!==_0x17694f,'reasoning':_0x46dce5[_0x2c3172(0x82)]||'No\x20reasoning\x20provided'};}catch(_0x424bda){this[_0x2c3172(0x7e)]['error']('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x424bda[_0x2c3172(0x92)],'currentModel':_0x17694f});const _0x162f82=_0x17694f||_0x4f1a77[0x0]||MODELS[_0x2c3172(0xbf)];return{'selectedModel':_0x162f82,'previousModel':_0x17694f,'changed':![],'reasoning':_0x2c3172(0x8f)};}}['_buildRoutingContext'](_0x37e45b,_0xf54e8e,_0x1b7317,_0xda15df){const _0x1da982=a0_0x5361,_0x55ef2f=_0xf54e8e[_0x1da982(0xc7)](-this['contextMessagesCount'])['map'](_0x2d7005=>({'role':_0x2d7005[_0x1da982(0x7d)],'content':_0x2d7005['content']?.[_0x1da982(0xb5)](0x0,0x1f4)||'','timestamp':_0x2d7005['timestamp']}));return{'currentMessage':{'content':_0x37e45b[_0x1da982(0x9c)]?.['substring'](0x0,0x3e8)||'','role':_0x37e45b[_0x1da982(0x7d)]||_0x1da982(0x9f),'hasContextReferences':!!_0x37e45b['contextReferences']?.['length'],'contextTypes':_0x37e45b[_0x1da982(0xb1)]?.[_0x1da982(0xc5)](_0x329e7e=>_0x329e7e[_0x1da982(0x97)])||[]},'recentMessages':_0x55ef2f,'currentModel':_0x1b7317,'availableModels':_0xda15df[_0x1da982(0xc5)](_0x1e635f=>({'name':_0x1e635f,'isCurrentModel':_0x1e635f===_0x1b7317})),'messageCount':_0xf54e8e[_0x1da982(0xa6)]+0x1,'timestamp':new Date()['toISOString']()};}[a0_0x179793(0x80)](_0x53dda1,_0x2f9706){const _0x54cff6=a0_0x179793;return _0x54cff6(0x81)+(_0x53dda1[_0x54cff6(0x98)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x53dda1[_0x54cff6(0xbb)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x53dda1['availableModels']['map'](_0x1332b2=>_0x1332b2['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x53dda1[_0x54cff6(0xb6)])+_0x54cff6(0xc6)+_0x53dda1['currentMessage']['role']+'\x0a**Content**:\x20'+_0x53dda1['currentMessage']['content']+'\x0a**Has\x20Context\x20References**:\x20'+_0x53dda1['currentMessage'][_0x54cff6(0x8c)]+'\x0a'+(_0x53dda1['currentMessage'][_0x54cff6(0x95)][_0x54cff6(0xa6)]>0x0?_0x54cff6(0x94)+_0x53dda1[_0x54cff6(0xae)]['contextTypes']['join'](',\x20'):'')+_0x54cff6(0xbc)+this['_formatBenchmarkData'](_0x2f9706)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}[a0_0x179793(0xba)](_0x3d891c){const _0x5e4e27=a0_0x179793;if(!_0x3d891c[_0x5e4e27(0xa6)])return'No\x20recent\x20messages\x20available.';return _0x3d891c[_0x5e4e27(0xc5)]((_0x443e4f,_0x229149)=>_0x229149+0x1+'.\x20**'+_0x443e4f[_0x5e4e27(0x7d)]+'**:\x20'+_0x443e4f['content'])['join']('\x0a');}[a0_0x179793(0xb3)](_0x744787){const _0x3a1cda=a0_0x179793,_0xeb060f=_0x744787[_0x3a1cda(0x9d)]||[],_0x5ed068=_0x744787['tasks']||{},_0x26371e=_0x744787['summary']||{};let _0x573638=_0x3a1cda(0x88);return Object[_0x3a1cda(0x9a)](_0x5ed068)['forEach'](([_0xbdbd3,_0x2fe3bd])=>{const _0x34b74e=_0x3a1cda;_0x573638+='**'+_0xbdbd3[_0x34b74e(0x86)]()+_0x34b74e(0x84)+_0x2fe3bd['description']+'):\x20'+(_0x2fe3bd['topModels']?.['join'](',\x20')||'No\x20data')+'\x0a';}),_0x573638+=_0x3a1cda(0xa1),_0xeb060f[_0x3a1cda(0xc7)](0x0,0x8)['forEach'](_0x8f478e=>{const _0x55e21a=_0x3a1cda;_0x573638+='**'+_0x8f478e['name']+_0x55e21a(0xb7);const _0x460a6f=Object['entries'](_0x8f478e['tasks']||{})['map'](([_0x4f4a3b,_0x40ffed])=>_0x4f4a3b+'('+_0x40ffed['score']+')')[_0x55e21a(0x90)](',\x20');_0x573638+=_0x460a6f+_0x55e21a(0x96)+(_0x8f478e['strengths']?.['join'](',\x20')||'N/A')+'\x0a';}),_0x573638;}async['_askForRouting'](_0xf2540a,_0xf556fd={}){const _0x226b90=a0_0x179793;try{const _0x2b459a=await this['aiService']['sendMessage'](this[_0x226b90(0x99)],_0xf2540a,{'agentId':'model-router','systemPrompt':_0x226b90(0x8a),'temperature':0.3,'maxTokens':0x1f4,'timeout':this['requestTimeout'],'sessionId':_0xf556fd['sessionId'],'apiKey':_0xf556fd[_0x226b90(0x91)]||this['config'][_0x226b90(0x91)],'customApiKeys':_0xf556fd['customApiKeys'],'platformProvided':!![]});if(!_0x2b459a[_0x226b90(0x9c)])throw new Error('No response content from autopilot-model-router');const _0x594db3=this[_0x226b90(0x83)](_0x2b459a['content']);return _0x594db3;}catch(_0x15a7eb){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x15a7eb['message'],'routerModel':this['routerModel']});throw _0x15a7eb;}}[a0_0x179793(0x83)](_0x4ec56b){const _0x4e8f7d=a0_0x179793;try{const _0x358f79=_0x4ec56b[_0x4e8f7d(0xac)](/\{[\s\S]*\}/);if(!_0x358f79)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x4c436c=JSON['parse'](_0x358f79[0x0]);if(!_0x4c436c['selectedModel'])throw new Error(_0x4e8f7d(0xa7));return{'selectedModel':_0x4c436c[_0x4e8f7d(0xa9)],'taskType':_0x4c436c[_0x4e8f7d(0x8e)]||'unknown','confidence':_0x4c436c[_0x4e8f7d(0xa5)]||0.5,'reasoning':_0x4c436c['reasoning']||'No\x20reasoning\x20provided','factors':_0x4c436c['factors']||[]};}catch(_0x20a50a){return this[_0x4e8f7d(0x7e)][_0x4e8f7d(0x8d)]('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x20a50a[_0x4e8f7d(0x92)],'content':_0x4ec56b[_0x4e8f7d(0xb5)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x4e8f7d(0xad),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':['parsing-error']};}}[a0_0x179793(0x87)](_0x4b2151,_0x5e901c,_0x41a292){const _0x267edb=a0_0x179793,{selectedModel:_0x2d72cc}=_0x4b2151;if(!_0x2d72cc)return this['logger'][_0x267edb(0xb4)](_0x267edb(0xb8)),_0x41a292;if(!_0x5e901c[_0x267edb(0xaf)](_0x2d72cc))return this['logger']['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x2d72cc,'availableModels':_0x5e901c}),_0x41a292;return _0x2d72cc;}[a0_0x179793(0xc2)](){const _0xe70d92=a0_0x179793;return{'routerModel':this[_0xe70d92(0x99)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0xe70d92(0xbd)],'benchmarkServiceStatus':this['benchmarkService'][_0xe70d92(0xc2)](),'isAvailable':!![]};}async['testRouter'](){const _0x38e478=a0_0x179793;try{const _0x40e7cc={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x38e478(0x9f)},_0x296416=await this[_0x38e478(0x7f)](_0x40e7cc,[],MODELS[_0x38e478(0xbf)],[MODELS[_0x38e478(0xbf)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x38e478(0xa8)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x38e478(0x7e)][_0x38e478(0x89)](_0x38e478(0xc1),{'selectedModel':_0x296416}),{'success':!![],'selectedModel':_0x296416};}catch(_0xd8b79d){return this[_0x38e478(0x7e)]['error'](_0x38e478(0xc0),{'error':_0xd8b79d[_0x38e478(0x92)]}),{'success':![],'error':_0xd8b79d[_0x38e478(0x92)]};}}}export default ModelRouterService;function a0_0x46a6(){const _0x1dd398=['y29UDgv4Dfr5CgvZ','ihWGu3rYzw5NDgHZoIa','DhLWzq','y3vYCMvUDe1VzgvS','CM91DgvYtw9KzwW','zw50CMLLCW','y29UzMLN','y29UDgvUDa','Bw9KzwXZ','uKvrvuvtvf9usu1ft1vu','DxnLCG','mZbTwMrhAw0','cImJiYbnB2rLBcbezxrHAwXZcG','z2v0qMvUy2HTyxjRvgfIBgu','odi4otmZEgXzvLHm','oejUALjRuW','y29UzMLKzw5Jzq','BgvUz3rO','twLZC2LUzYbZzwXLy3rLze1VzgvSigLUigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCMvZCg9UC2u','r1buxZq','C2vSzwn0zwrnB2rLBa','uK9vvevsx01prevm','q09ovevyvf9nrvntquDfu19dt1vova','Bwf0y2G','Dw5RBM93BG','y3vYCMvUDe1LC3nHz2u','Aw5JBhvKzxm','ndi5nty4oerpsvHTvW','y29UDgv4DfjLzMvYzw5Jzxm','mZCWotm0muzsBhrTsa','x2zVCM1HDejLBMnOBwfYA0rHDge','zgvIDwC','C3vIC3rYAw5N','CMvJzw50twvZC2fNzxm','kIO6ia','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','nde5otG0oez5EK1lrW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','BwvZC2fNzunVDw50','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','CMvXDwvZDfrPBwvVDxq','x2fZA0zVCLjVDxrPBMC','qu5usfjpueLdx1nptK5fva','uM91DgvYihrLC3qGzMfPBgvK','uM91DgvYihrLC3qGy29TCgXLDgvK','z2v0u3rHDhvZ','ne9iyxjouW','ndGWmJf6yLbAyMq','BwfW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','C2XPy2u','CM9Szq','Bg9Nz2vY','CM91DgvnzxnZywDL','x2nYzwf0zvjVDxrPBMDqCM9TChq','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','CMvHC29UAw5N','x3bHCNnLuM91DgLUz1jLC3bVBNnL','kIOGka','oti5mJyXEM93wgTL','Dg9vChbLCKnHC2u','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','Aw5MBW','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','nvjYwKvLCa','AgfZq29UDgv4DfjLzMvYzw5Jzxm','D2fYBG','DgfZA1r5Cgu','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','AM9PBG','yxbPs2v5','BwvZC2fNzq','nZu3odmYovjpzfD4CW','kIPdB250zxH0ifr5CgvZkIO6ia'];a0_0x46a6=function(){return _0x1dd398;};return a0_0x46a6();}
|
|
1
|
+
const a0_0x4933c3=a0_0x4523;(function(_0x31a911,_0x57e5a2){const _0x4d85f4=a0_0x4523,_0x108497=_0x31a911();while(!![]){try{const _0x160d48=-parseInt(_0x4d85f4(0x15a))/0x1+-parseInt(_0x4d85f4(0x15d))/0x2+parseInt(_0x4d85f4(0x156))/0x3+parseInt(_0x4d85f4(0x168))/0x4+-parseInt(_0x4d85f4(0x17a))/0x5*(-parseInt(_0x4d85f4(0x173))/0x6)+parseInt(_0x4d85f4(0x18e))/0x7*(parseInt(_0x4d85f4(0x161))/0x8)+-parseInt(_0x4d85f4(0x18c))/0x9;if(_0x160d48===_0x57e5a2)break;else _0x108497['push'](_0x108497['shift']());}catch(_0x3d0470){_0x108497['push'](_0x108497['shift']());}}}(a0_0x3f02,0x56fc3));function a0_0x3f02(){const _0x5e3399=['lIaQkG','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','nJvuCeDgz3i','zxjYB3i','Dg9ju09tDhjPBMC','BwfW','yMvUy2HTyxjRu2vYDMLJzq','CgfYC2LUzY1LCNjVCG','Dg9Wtw9KzwXZ','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','qu5usfjpueLdx09qvvm','revfufnfruTFuJe','BMfTzq','cIOQq29UDgvUDcOQoIa','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','CMvHC29UAw5N','y3vYCMvUDe1LC3nHz2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','ktOG','CMvXDwvZDfrPBwvVDxq','mtm2nZKXovLcC1HUqW','tM8Gzgf0yq','mteYotq3mwX3swTxDG','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','q09ovevyvf9nrvntquDfu19dt1vova','tM8GCMvHC29UAw5NihbYB3zPzgvK','DgfZA1r5Cgu','uM91DgvYihrLC3qGzMfPBgvK','DgfZA3m','y29UDgvUDa','CM9Szq','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','y29UzMLN','ywLtzxj2AwnL','x2fZA0zVCLjVDxrPBMC','D2fYBG','Bg9Nz2vY','z2v0u3rHDhvZ','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgv4Dfr5CgvZ','mJa5mJCXnMXwvwn3rG','DxnLCG','BgvUz3rO','z2v0qMvUy2HTyxjRvgfIBgu','mZy2mdm0qLbdDfrr','yxbPs2v5','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','nZyWmZaYs0rtsLPR','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','BwvZC2fNzq','C2vSzwn0zwrnB2rLBa','ogj1wNHWCa','C2nVCMu','C3rYzw5NDgHZ','C3vIC3rYAw5N','Aw5MBW','CM91DgvYtw9KzwW','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','mZC1nJeYsKvete5r','x2j1AwXKuM91DgLUz0nVBNrLEhq','zgvIDwC','x3bHCNnLuM91DgLUz1jLC3bVBNnL','y29UDgv4De1LC3nHz2vZq291BNq','DgLTzxn0yw1W','Bw9KzwWTCM91DgvY','cImJiYbnB2rLBcbezxrHAwXZcG','C2XPy2u','zM9YrwfJAa','kIO6ia','mtm5mJe4ugjQuwTS','x2zVCM1HDejLBMnOBwfYA0rHDge','C3vTBwfYEq','r1buxZq','AM9PBG'];a0_0x3f02=function(){return _0x5e3399;};return a0_0x3f02();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';function a0_0x4523(_0x386bbd,_0x51be4d){_0x386bbd=_0x386bbd-0x14b;const _0x3f02c8=a0_0x3f02();let _0x4523bf=_0x3f02c8[_0x386bbd];if(a0_0x4523['AAfhSD']===undefined){var _0x4aba0f=function(_0x2e438f){const _0x1b8731='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43b47c='',_0x445754='';for(let _0x3092dc=0x0,_0x43af32,_0x1d3eb2,_0x5a8d11=0x0;_0x1d3eb2=_0x2e438f['charAt'](_0x5a8d11++);~_0x1d3eb2&&(_0x43af32=_0x3092dc%0x4?_0x43af32*0x40+_0x1d3eb2:_0x1d3eb2,_0x3092dc++%0x4)?_0x43b47c+=String['fromCharCode'](0xff&_0x43af32>>(-0x2*_0x3092dc&0x6)):0x0){_0x1d3eb2=_0x1b8731['indexOf'](_0x1d3eb2);}for(let _0x52623c=0x0,_0x8d77ef=_0x43b47c['length'];_0x52623c<_0x8d77ef;_0x52623c++){_0x445754+='%'+('00'+_0x43b47c['charCodeAt'](_0x52623c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445754);};a0_0x4523['SmipJU']=_0x4aba0f,a0_0x4523['Bwqape']={},a0_0x4523['AAfhSD']=!![];}const _0x3e3871=_0x3f02c8[0x0],_0x2ae7c0=_0x386bbd+_0x3e3871,_0x57a53c=a0_0x4523['Bwqape'][_0x2ae7c0];return!_0x57a53c?(_0x4523bf=a0_0x4523['SmipJU'](_0x4523bf),a0_0x4523['Bwqape'][_0x2ae7c0]=_0x4523bf):_0x4523bf=_0x57a53c,_0x4523bf;}class ModelRouterService{constructor(_0x43b47c,_0x445754,_0x3092dc,_0x43af32){const _0x81566b=a0_0x4523;this[_0x81566b(0x14e)]=_0x43b47c,this[_0x81566b(0x152)]=_0x445754,this[_0x81566b(0x17e)]=_0x3092dc,this['aiService']=_0x43af32,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x81566b(0x16c)]=MODEL_ROUTER_CONFIG[_0x81566b(0x190)],this['requestTimeout']=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x1d3eb2,_0x5a8d11=[],_0x52623c='',_0x8d77ef=[],_0x2e5cf5={}){const _0x303d82=a0_0x4523;try{this[_0x303d82(0x152)][_0x303d82(0x16a)](_0x303d82(0x15e),{'messageLength':_0x1d3eb2[_0x303d82(0x14b)]?.['length']||0x0,'recentMessagesCount':_0x5a8d11[_0x303d82(0x158)],'currentModel':_0x52623c,'availableModelsCount':_0x8d77ef['length']});const _0x56a38c=this['_buildRoutingContext'](_0x1d3eb2,_0x5a8d11,_0x52623c,_0x8d77ef),_0xa5e970=this[_0x303d82(0x17e)][_0x303d82(0x159)](),_0x4198d5=this['_createRoutingPrompt'](_0x56a38c,_0xa5e970),_0x5150e8=await this[_0x303d82(0x150)](_0x4198d5,_0x2e5cf5),_0x5330e6=this['_validateModelSelection'](_0x5150e8,_0x8d77ef,_0x52623c);return this['logger']['info'](_0x303d82(0x15c),{'selectedModel':_0x5330e6,'previousModel':_0x52623c,'changed':_0x5330e6!==_0x52623c,'reasoning':_0x5150e8['reasoning']?.['substring'](0x0,0x64)||_0x303d82(0x191)}),{'selectedModel':_0x5330e6,'previousModel':_0x52623c,'changed':_0x5330e6!==_0x52623c,'reasoning':_0x5150e8[_0x303d82(0x187)]||_0x303d82(0x191)};}catch(_0x51e6e2){this[_0x303d82(0x152)][_0x303d82(0x17b)]('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x51e6e2['message'],'currentModel':_0x52623c});const _0x3c5e86=_0x52623c||_0x8d77ef[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x3c5e86,'previousModel':_0x52623c,'changed':![],'reasoning':_0x303d82(0x18f)};}}[a0_0x4933c3(0x169)](_0x33d6a7,_0x107ea3,_0x33701b,_0x5a34b0){const _0x92c50f=a0_0x4933c3,_0x4a9c4d=_0x107ea3[_0x92c50f(0x170)](-this[_0x92c50f(0x16c)])['map'](_0x277603=>({'role':_0x277603[_0x92c50f(0x14c)],'content':_0x277603['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x277603[_0x92c50f(0x16d)]}));return{'currentMessage':{'content':_0x33d6a7[_0x92c50f(0x14b)]?.[_0x92c50f(0x164)](0x0,0x3e8)||'','role':_0x33d6a7['role']||_0x92c50f(0x157),'hasContextReferences':!!_0x33d6a7['contextReferences']?.[_0x92c50f(0x158)],'contextTypes':_0x33d6a7['contextReferences']?.['map'](_0x1635cd=>_0x1635cd['type'])||[]},'recentMessages':_0x4a9c4d,'currentModel':_0x33701b,'availableModels':_0x5a34b0['map'](_0x2be982=>({'name':_0x2be982,'isCurrentModel':_0x2be982===_0x33701b})),'messageCount':_0x107ea3[_0x92c50f(0x158)]+0x1,'timestamp':new Date()[_0x92c50f(0x17c)]()};}['_createRoutingPrompt'](_0x1ea672,_0x33c90f){const _0x1f4ebd=a0_0x4933c3;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x1ea672['currentModel']||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x1ea672['messageCount']+'\x0a-\x20**Available\x20Models**:\x20'+_0x1ea672['availableModels'][_0x1f4ebd(0x17d)](_0x4db882=>_0x4db882['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this[_0x1f4ebd(0x154)](_0x1ea672['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x1ea672[_0x1f4ebd(0x188)]['role']+_0x1f4ebd(0x185)+_0x1ea672['currentMessage'][_0x1f4ebd(0x14b)]+_0x1f4ebd(0x186)+_0x1ea672[_0x1f4ebd(0x188)]['hasContextReferences']+'\x0a'+(_0x1ea672[_0x1f4ebd(0x188)][_0x1f4ebd(0x155)][_0x1f4ebd(0x158)]>0x0?'**Context\x20Types**:\x20'+_0x1ea672[_0x1f4ebd(0x188)]['contextTypes'][_0x1f4ebd(0x177)](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this[_0x1f4ebd(0x174)](_0x33c90f)+_0x1f4ebd(0x179);}[a0_0x4933c3(0x154)](_0x263808){const _0x1d1981=a0_0x4933c3;if(!_0x263808[_0x1d1981(0x158)])return'No\x20recent\x20messages\x20available.';return _0x263808['map']((_0x5babb8,_0x5c836f)=>_0x5c836f+0x1+_0x1d1981(0x178)+_0x5babb8[_0x1d1981(0x14c)]+'**:\x20'+_0x5babb8['content'])[_0x1d1981(0x177)]('\x0a');}['_formatBenchmarkData'](_0x160558){const _0x225eda=a0_0x4933c3,_0x14910d=_0x160558['models']||[],_0x23deb4=_0x160558[_0x225eda(0x194)]||{},_0x3861d8=_0x160558[_0x225eda(0x175)]||{};let _0x5e4fbb='###\x20Model\x20Performance\x20Summary\x0a';return Object['entries'](_0x23deb4)[_0x225eda(0x171)](([_0x1d5e6b,_0x2a659d])=>{const _0x64a546=_0x225eda;_0x5e4fbb+='**'+_0x1d5e6b['toUpperCase']()+'**\x20('+_0x2a659d['description']+_0x64a546(0x18a)+(_0x2a659d[_0x64a546(0x180)]?.[_0x64a546(0x177)](',\x20')||_0x64a546(0x18d))+'\x0a';}),_0x5e4fbb+=_0x225eda(0x16f),_0x14910d['slice'](0x0,0x8)['forEach'](_0x2eefb6=>{const _0x19567b=_0x225eda;_0x5e4fbb+='**'+_0x2eefb6[_0x19567b(0x184)]+_0x19567b(0x172);const _0x29b1db=Object['entries'](_0x2eefb6[_0x19567b(0x194)]||{})[_0x19567b(0x17d)](([_0x440869,_0x54d218])=>_0x440869+'('+_0x54d218[_0x19567b(0x162)]+')')[_0x19567b(0x177)](',\x20');_0x5e4fbb+=_0x29b1db+'\x20|\x20Strengths:\x20'+(_0x2eefb6[_0x19567b(0x163)]?.[_0x19567b(0x177)](',\x20')||'N/A')+'\x0a';}),_0x5e4fbb;}async[a0_0x4933c3(0x150)](_0x3c73a8,_0x35b1ca={}){const _0x2739d6=a0_0x4933c3;try{const _0x1d5eca=await this[_0x2739d6(0x14f)]['sendMessage'](this[_0x2739d6(0x166)],_0x3c73a8,{'agentId':_0x2739d6(0x16e),'systemPrompt':_0x2739d6(0x167),'temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x2739d6(0x18b)],'sessionId':_0x35b1ca['sessionId'],'apiKey':_0x35b1ca['apiKey']||this[_0x2739d6(0x14e)][_0x2739d6(0x15b)],'customApiKeys':_0x35b1ca['customApiKeys'],'platformProvided':!![]});if(!_0x1d5eca[_0x2739d6(0x14b)])throw new Error('No response content from autopilot-model-router');const _0x19b176=this[_0x2739d6(0x16b)](_0x1d5eca['content']);return _0x19b176;}catch(_0xa2c7b7){this[_0x2739d6(0x152)][_0x2739d6(0x17b)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0xa2c7b7[_0x2739d6(0x15f)],'routerModel':this[_0x2739d6(0x166)]});throw _0xa2c7b7;}}[a0_0x4933c3(0x16b)](_0x1837c0){const _0x516c5f=a0_0x4933c3;try{const _0x2758e8=_0x1837c0['match'](/\{[\s\S]*\}/);if(!_0x2758e8)throw new Error(_0x516c5f(0x14d));const _0x167433=JSON['parse'](_0x2758e8[0x0]);if(!_0x167433['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x167433[_0x516c5f(0x160)],'taskType':_0x167433[_0x516c5f(0x192)]||'unknown','confidence':_0x167433['confidence']||0.5,'reasoning':_0x167433[_0x516c5f(0x187)]||'No\x20reasoning\x20provided','factors':_0x167433['factors']||[]};}catch(_0x2dbab1){return this['logger']['warn']('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x2dbab1['message'],'content':_0x1837c0['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':_0x516c5f(0x189),'factors':[_0x516c5f(0x17f)]};}}['_validateModelSelection'](_0x2dc2fe,_0x31792c,_0x3e1c36){const _0x158aea=a0_0x4933c3,{selectedModel:_0x308e3f}=_0x2dc2fe;if(!_0x308e3f)return this[_0x158aea(0x152)]['debug']('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0x3e1c36;if(!_0x31792c['includes'](_0x308e3f))return this[_0x158aea(0x152)][_0x158aea(0x151)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x308e3f,'availableModels':_0x31792c}),_0x3e1c36;return _0x308e3f;}[a0_0x4933c3(0x153)](){const _0xdc90ca=a0_0x4933c3;return{'routerModel':this['routerModel'],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0xdc90ca(0x18b)],'benchmarkServiceStatus':this['benchmarkService'][_0xdc90ca(0x153)](),'isAvailable':!![]};}async['testRouter'](){const _0x22ccf0=a0_0x4933c3;try{const _0x9957c7={'content':_0x22ccf0(0x181),'role':'user'},_0x53b265=await this['routeMessage'](_0x9957c7,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x22ccf0(0x182)],MODELS[_0x22ccf0(0x176)],MODELS[_0x22ccf0(0x183)]],{'apiKey':'test-key'});return this[_0x22ccf0(0x152)][_0x22ccf0(0x165)]('Router\x20test\x20completed',{'selectedModel':_0x53b265}),{'success':!![],'selectedModel':_0x53b265};}catch(_0x44289a){return this[_0x22ccf0(0x152)][_0x22ccf0(0x17b)](_0x22ccf0(0x193),{'error':_0x44289a['message']}),{'success':![],'error':_0x44289a[_0x22ccf0(0x15f)]};}}}export default ModelRouterService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x429685=a0_0x1fc3;function a0_0x1fc3(_0x492c1f,_0x3ce700){_0x492c1f=_0x492c1f-0x1b7;const _0x193679=a0_0x1936();let _0x1fc36c=_0x193679[_0x492c1f];if(a0_0x1fc3['pXEWmj']===undefined){var _0xe6e6b4=function(_0x1b5b45){const _0x2628e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bb39e='',_0x54a63e='';for(let _0x43b218=0x0,_0x51aa2e,_0x5d2dcc,_0x37780c=0x0;_0x5d2dcc=_0x1b5b45['charAt'](_0x37780c++);~_0x5d2dcc&&(_0x51aa2e=_0x43b218%0x4?_0x51aa2e*0x40+_0x5d2dcc:_0x5d2dcc,_0x43b218++%0x4)?_0x5bb39e+=String['fromCharCode'](0xff&_0x51aa2e>>(-0x2*_0x43b218&0x6)):0x0){_0x5d2dcc=_0x2628e2['indexOf'](_0x5d2dcc);}for(let _0x5dccf0=0x0,_0x10c962=_0x5bb39e['length'];_0x5dccf0<_0x10c962;_0x5dccf0++){_0x54a63e+='%'+('00'+_0x5bb39e['charCodeAt'](_0x5dccf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54a63e);};a0_0x1fc3['FnTMdU']=_0xe6e6b4,a0_0x1fc3['rPJNxR']={},a0_0x1fc3['pXEWmj']=!![];}const _0x3272c4=_0x193679[0x0],_0x108b4a=_0x492c1f+_0x3272c4,_0x53fd0a=a0_0x1fc3['rPJNxR'][_0x108b4a];return!_0x53fd0a?(_0x1fc36c=a0_0x1fc3['FnTMdU'](_0x1fc36c),a0_0x1fc3['rPJNxR'][_0x108b4a]=_0x1fc36c):_0x1fc36c=_0x53fd0a,_0x1fc36c;}(function(_0x4803dd,_0x204ef1){const _0x5afebb=a0_0x1fc3,_0x3de3bc=_0x4803dd();while(!![]){try{const _0x234e64=parseInt(_0x5afebb(0x1e0))/0x1+-parseInt(_0x5afebb(0x1ce))/0x2*(-parseInt(_0x5afebb(0x1c9))/0x3)+-parseInt(_0x5afebb(0x1c2))/0x4+parseInt(_0x5afebb(0x1ea))/0x5*(parseInt(_0x5afebb(0x1da))/0x6)+parseInt(_0x5afebb(0x1e8))/0x7+-parseInt(_0x5afebb(0x1d3))/0x8+-parseInt(_0x5afebb(0x1d5))/0x9;if(_0x234e64===_0x204ef1)break;else _0x3de3bc['push'](_0x3de3bc['shift']());}catch(_0x19dd1b){_0x3de3bc['push'](_0x3de3bc['shift']());}}}(a0_0x1936,0x3b20e));class ModelsService{constructor(_0x5bb39e,_0x54a63e){const _0x4ee49e=a0_0x1fc3;this[_0x4ee49e(0x1db)]=_0x5bb39e,this['logger']=_0x54a63e,this[_0x4ee49e(0x1d0)]=null,this[_0x4ee49e(0x1e1)]=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x4ee49e(0x1cf)]=_0x5bb39e[_0x4ee49e(0x1cf)]||_0x4ee49e(0x1b7),this[_0x4ee49e(0x1e9)]=0x0,this['maxRetries']=0x3,this[_0x4ee49e(0x1ca)]=0x7d0,this[_0x4ee49e(0x1de)]=null,this[_0x4ee49e(0x1bf)]=null,this['apiKeyManager']=null;}[a0_0x429685(0x1dd)](_0x43b218){const _0x1f8ed9=a0_0x429685;this[_0x1f8ed9(0x1d1)]=_0x43b218,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20models\x20service',{'hasManager':!!_0x43b218});}async['initialize'](){const _0x8ee1d4=a0_0x429685;try{await this[_0x8ee1d4(0x1b9)](),this[_0x8ee1d4(0x1d6)]['info'](_0x8ee1d4(0x1e5),{'modelCount':this['models']?.['length']||0x0});}catch(_0x51aa2e){this[_0x8ee1d4(0x1bf)]=_0x51aa2e['message'],this['logger'][_0x8ee1d4(0x1d9)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x51aa2e[_0x8ee1d4(0x1d7)],'endpoint':this[_0x8ee1d4(0x1cf)]+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}['getAvailableModelNames'](){const _0x44d8b2=a0_0x429685;if(!this[_0x44d8b2(0x1d0)]||this['models']['length']===0x0)return this['logger'][_0x44d8b2(0x1d9)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x44d8b2(0x1bf)],'endpoint':this[_0x44d8b2(0x1cf)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x44d8b2(0x1cd)]}),[];return this[_0x44d8b2(0x1d0)]['map'](_0x5d2dcc=>_0x5d2dcc['name']);}['getModels'](){const _0x3cce2d=a0_0x429685;if(!this[_0x3cce2d(0x1d0)]||this[_0x3cce2d(0x1d0)][_0x3cce2d(0x1bd)]===0x0)return this['logger'][_0x3cce2d(0x1d9)](_0x3cce2d(0x1c1),{'lastError':this[_0x3cce2d(0x1bf)],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this['models'];}async['fetchModels'](_0x37780c=null){const _0x4ce107=a0_0x429685;if(this['isLoading']){this['logger'][_0x4ce107(0x1c5)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x5dccf0=this[_0x4ce107(0x1cf)]+_0x4ce107(0x1e4);let _0x10c962=null;if(this['apiKeyManager']&&_0x37780c&&_0x37780c['sessionId']){const _0x48c1f0=this[_0x4ce107(0x1d1)][_0x4ce107(0x1e7)](_0x37780c['sessionId'],{'platformProvided':!![],'vendor':null});_0x10c962=_0x48c1f0[_0x4ce107(0x1e2)],this[_0x4ce107(0x1d6)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x37780c[_0x4ce107(0x1c6)],'hasLoxiaKey':!!_0x10c962});}if(!_0x10c962&&_0x37780c&&_0x37780c[_0x4ce107(0x1d8)])_0x10c962=_0x37780c['apiKey'];else{if(!_0x10c962&&this['config']['apiKey'])_0x10c962=this['config']['apiKey'];else!_0x10c962&&process['env'][_0x4ce107(0x1df)]&&(_0x10c962=process[_0x4ce107(0x1bc)][_0x4ce107(0x1df)]);}const _0x4d8694={'method':'GET','headers':{'Content-Type':'application/json',..._0x10c962&&{'Authorization':_0x4ce107(0x1be)+_0x10c962}},'timeout':0x2710};this[_0x4ce107(0x1d6)]['debug']('Fetching models from backend',{'url':_0x5dccf0,'hasApiKey':!!_0x10c962,'apiKeySource':_0x37780c?.[_0x4ce107(0x1d8)]?'context':this['config']['apiKey']?_0x4ce107(0x1db):process[_0x4ce107(0x1bc)]['LOXIA_API_KEY']?'env':'none'});const _0x255d96=await fetch(_0x5dccf0,_0x4d8694);if(!_0x255d96['ok'])throw new Error(_0x4ce107(0x1d4)+_0x255d96['status']+':\x20'+_0x255d96[_0x4ce107(0x1cb)]);const _0x5309a2=await _0x255d96[_0x4ce107(0x1c4)]();if(_0x5309a2['models']&&Array['isArray'](_0x5309a2[_0x4ce107(0x1d0)]))this['models']=_0x5309a2[_0x4ce107(0x1d0)],this[_0x4ce107(0x1e1)]=new Date(),this[_0x4ce107(0x1bb)]=![],this['logger']['info']('Models fetched from backend',{'modelCount':this[_0x4ce107(0x1d0)][_0x4ce107(0x1bd)],'models':this[_0x4ce107(0x1d0)]['map'](_0x4eadfd=>_0x4eadfd[_0x4ce107(0x1c3)])});else throw new Error('Invalid response format from models API');}catch(_0x5d87ef){this['lastError']=_0x5d87ef['message'],this[_0x4ce107(0x1d6)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x5d87ef['message'],'endpoint':url,'retryAttempt':this[_0x4ce107(0x1e9)],'maxRetries':this['maxRetries']}),this[_0x4ce107(0x1dc)](_0x37780c);if(!this['models'])throw _0x5d87ef;}finally{this[_0x4ce107(0x1c7)]=![];}}[a0_0x429685(0x1bb)](){const _0x1b38ad=a0_0x429685;if(!this['lastFetched'])return!![];const _0x3ef48e=Date['now']()-this['lastFetched'][_0x1b38ad(0x1ba)]();return _0x3ef48e>this[_0x1b38ad(0x1e3)];}async['refresh'](_0x3118df=null){const _0x4e3e7f=a0_0x429685;this['logger']['info']('Force\x20refreshing\x20models'),await this[_0x4e3e7f(0x1b9)](_0x3118df);}async[a0_0x429685(0x1e6)](_0xfbd76){const _0x858ac9=a0_0x429685;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x858ac9(0x1d6)]['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x858ac9(0x1b9)](_0xfbd76));}[a0_0x429685(0x1dc)](_0x2c93d7=null){const _0x52534a=a0_0x429685;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this['maxRetries']){this['logger'][_0x52534a(0x1d9)]('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this[_0x52534a(0x1e9)],'maxRetries':this['maxRetries'],'lastError':this[_0x52534a(0x1bf)]});return;}const _0x4ebed9=this['retryDelay']*Math['pow'](0x2,this[_0x52534a(0x1e9)]);this['retryAttempts']++,this['logger']['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0x52534a(0x1cd)],'delayMs':_0x4ebed9}),this[_0x52534a(0x1de)]=setTimeout(async()=>{const _0x226a2e=_0x52534a;this['logger'][_0x226a2e(0x1b8)](_0x226a2e(0x1c8),{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x2c93d7),this[_0x226a2e(0x1e9)]=0x0,this['lastError']=null;}catch(_0x520684){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this[_0x226a2e(0x1e9)],'error':_0x520684['message']});}},_0x4ebed9);}[a0_0x429685(0x1d2)](){const _0x3861aa=a0_0x429685;this[_0x3861aa(0x1de)]&&(clearTimeout(this[_0x3861aa(0x1de)]),this['retryTimer']=null,this[_0x3861aa(0x1d6)][_0x3861aa(0x1c5)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}[a0_0x429685(0x1c0)](){const _0x1c60c5=a0_0x429685;return{'initialized':!!this[_0x1c60c5(0x1d0)],'lastFetched':this[_0x1c60c5(0x1e1)]?.[_0x1c60c5(0x1cc)]()||null,'modelCount':this[_0x1c60c5(0x1d0)]?.[_0x1c60c5(0x1bd)]||0x0,'isLoading':this[_0x1c60c5(0x1c7)],'needsRefresh':this[_0x1c60c5(0x1bb)](),'error':this['lastError']||null,'retryAttempts':this[_0x1c60c5(0x1e9)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;function a0_0x1936(){const _0x2e504b=['mtK4mtuYA3fwrhnQ','BgfZDezLDgnOzwq','Bg94AwfbCgLlzxK','y2fJAgvfEhbPCNK','l2fWAs9SBg0VBw9KzwXZ','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','CMvMCMvZAfDPDgHdB250zxH0','z2v0s2v5C0zVCLjLCxvLC3q','mZi1ndu4mg1uz0vZDG','CMv0CNLbDhrLBxb0CW','nuL4uKjIua','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','Aw5MBW','zMv0y2HnB2rLBhm','z2v0vgLTzq','BMvLzhnszwzYzxnO','zw52','BgvUz3rO','qMvHCMvYia','BgfZDevYCM9Y','z2v0u3rHDhvZ','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','ndKXndi0tgXUruf2','BMfTzq','ANnVBG','zgvIDwC','C2vZC2LVBKLK','AxnmB2fKAw5N','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','m2viuefIAa','CMv0CNLezwXHEq','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','Bwf4uMv0CMLLCW','otq2nZuWDhPnrgL0','yMfJA2vUzfvYBa','Bw9KzwXZ','yxbPs2v5twfUywDLCG','x2nHBMnLBfjLDhj5','mtGYntKXmMfXyxnqAW','sfruuca','ote3mZq5m1HmquzZBW','Bg9Nz2vY','BwvZC2fNzq','yxbPs2v5','zxjYB3i','mJG1nJu3mhzjDKHgAa','y29UzMLN','x3nJAgvKDwXLuMv0CNK','C2v0qxbPs2v5twfUywDLCG','CMv0CNLuAw1LCG','te9ysufFqvbjx0Tfwq'];a0_0x1936=function(){return _0x2e504b;};return a0_0x1936();}
|