@loxia-labs/loxia-autopilot-one 1.0.4 → 1.0.5

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.
Files changed (116) hide show
  1. package/README.md +1 -1
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
@@ -1 +1 @@
1
- const a0_0x371d2d=a0_0x2938;(function(_0x1d6b3a,_0x303a05){const _0x47953c=a0_0x2938,_0x488ef7=_0x1d6b3a();while(!![]){try{const _0x1c22bf=-parseInt(_0x47953c(0x74))/0x1*(parseInt(_0x47953c(0x8f))/0x2)+-parseInt(_0x47953c(0x8e))/0x3+parseInt(_0x47953c(0x96))/0x4*(-parseInt(_0x47953c(0xbd))/0x5)+-parseInt(_0x47953c(0xa0))/0x6+-parseInt(_0x47953c(0x76))/0x7+parseInt(_0x47953c(0x86))/0x8*(parseInt(_0x47953c(0x7e))/0x9)+parseInt(_0x47953c(0x8b))/0xa;if(_0x1c22bf===_0x303a05)break;else _0x488ef7['push'](_0x488ef7['shift']());}catch(_0x5098fb){_0x488ef7['push'](_0x488ef7['shift']());}}}(a0_0x3302,0xc68c4));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x2f7bf5,_0x7126ff,_0x4c9224){const _0x5325c6=a0_0x2938;this['tokenCountingService']=_0x2f7bf5,this[_0x5325c6(0x8d)]=_0x7126ff,this[_0x5325c6(0x94)]=_0x4c9224,this[_0x5325c6(0x75)]=this['_createSummaryPromptTemplate']();}async['compactConversation'](_0xe2c78,_0x5b0f2f,_0x3da8b9,_0x340450={}){const _0x1c5777=a0_0x2938,_0x316f43=Date['now']();try{if(!Array['isArray'](_0xe2c78)||_0xe2c78[_0x1c5777(0x91)]===0x0)throw new Error(_0x1c5777(0x81));if(_0xe2c78['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this['logger'][_0x1c5777(0xa7)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0xe2c78['length'],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0xe2c78,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x499e49=_0x5b0f2f!==_0x3da8b9,_0xd7b683=_0x340450[_0x1c5777(0x87)]||![];let _0x5dcf6d;if(_0x499e49)_0x5dcf6d=COMPACTION_STRATEGIES[_0x1c5777(0xa6)];else _0xd7b683?_0x5dcf6d=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x5dcf6d=_0x340450['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this[_0x1c5777(0x94)][_0x1c5777(0x98)](_0x1c5777(0x95),{'messageCount':_0xe2c78['length'],'currentModel':_0x5b0f2f,'targetModel':_0x3da8b9,'strategy':_0x5dcf6d,'isModelSwitch':_0x499e49,'isRetry':_0xd7b683});let _0x12c158;switch(_0x5dcf6d){case COMPACTION_STRATEGIES[_0x1c5777(0x82)]:_0x12c158=await this['_compactWithSummarization'](_0xe2c78,_0x5b0f2f,_0x340450);break;case COMPACTION_STRATEGIES[_0x1c5777(0xa6)]:_0x12c158=await this[_0x1c5777(0x89)](_0xe2c78,_0x3da8b9,_0x340450);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x12c158=await this[_0x1c5777(0x93)](_0xe2c78,_0x5b0f2f,_0x340450);break;default:throw new Error(_0x1c5777(0xb4)+_0x5dcf6d);}const _0x4e4248=Date['now']()-_0x316f43;return _0x12c158['executionTime']=_0x4e4248,_0x12c158['timestamp']=new Date()[_0x1c5777(0xa2)](),this['logger'][_0x1c5777(0x98)]('Compaction\x20completed\x20successfully',{'strategy':_0x12c158['strategy'],'originalMessages':_0xe2c78['length'],'compactedMessages':_0x12c158[_0x1c5777(0x9d)][_0x1c5777(0x91)],'originalTokens':_0x12c158['originalTokenCount'],'compactedTokens':_0x12c158[_0x1c5777(0xa8)],'reductionPercent':_0x12c158['reductionPercent']['toFixed'](0x2),'executionTime':_0x4e4248+'ms'}),_0x12c158;}catch(_0x27ba60){const _0x2973a1=Date[_0x1c5777(0xa3)]()-_0x316f43;this['logger'][_0x1c5777(0x9f)]('Compaction\x20failed',{'error':_0x27ba60[_0x1c5777(0xa4)],'messageCount':_0xe2c78['length'],'currentModel':_0x5b0f2f,'targetModel':_0x3da8b9,'executionTime':_0x2973a1+'ms'});throw _0x27ba60;}}async['_compactWithSummarization'](_0x538d35,_0xce3c01,_0x598072){const _0x529615=a0_0x2938,_0x190859=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x53cd88=await this[_0x529615(0xad)][_0x529615(0x79)](_0x538d35,_0xce3c01,TOKEN_COUNTING_MODES[_0x529615(0x84)]),_0x1bf936=await this[_0x529615(0xb1)](_0x538d35,_0xce3c01,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG[_0x529615(0x99)]);this[_0x529615(0x94)]['debug'](_0x529615(0x7d),{'beginningMessages':_0x1bf936['beginning'][_0x529615(0x91)],'middleMessages':_0x1bf936['middle']['length'],'endMessages':_0x1bf936['end'][_0x529615(0x91)],'middleStartIndex':_0x1bf936['middleStartIndex'],'middleEndIndex':_0x1bf936[_0x529615(0x8a)],'totalMessages':_0x538d35[_0x529615(0x91)]});const _0x1bd187=await this['_generateSummary'](_0x1bf936[_0x529615(0xac)],_0xce3c01,{..._0x598072,'middleStartIndex':_0x1bf936[_0x529615(0x9a)],'middleEndIndex':_0x1bf936[_0x529615(0x8a)]}),_0x2f7299=[..._0x1bf936[_0x529615(0xab)],_0x1bd187,..._0x1bf936['end']],_0x2620f4=await this['tokenCountingService'][_0x529615(0x79)](_0x2f7299,_0xce3c01,TOKEN_COUNTING_MODES['ACCURATE']),_0x53b1c2=(_0x53cd88-_0x2620f4)/_0x53cd88*0x64;return{'compactedMessages':_0x2f7299,'strategy':_0x190859,'originalTokenCount':_0x53cd88,'compactedTokenCount':_0x2620f4,'reductionPercent':_0x53b1c2,'segments':{'beginningCount':_0x1bf936[_0x529615(0xab)][_0x529615(0x91)],'middleCount':_0x1bf936[_0x529615(0xac)]['length'],'endCount':_0x1bf936['end']['length'],'summaryInserted':!![]}};}async[a0_0x371d2d(0x89)](_0x48b2f2,_0x388bbb,_0x4e8966){const _0x6053eb=a0_0x371d2d,_0x431e42=COMPACTION_STRATEGIES['TRUNCATION'],_0x351751=this['tokenCountingService']['getModelContextWindow'](_0x388bbb),_0x5dd284=Math[_0x6053eb(0xaa)](_0x351751*0.8),_0x3c436b=await this[_0x6053eb(0xad)][_0x6053eb(0x79)](_0x48b2f2,_0x388bbb,TOKEN_COUNTING_MODES['ACCURATE']),_0x29bd21=await this[_0x6053eb(0xb1)](_0x48b2f2,_0x388bbb,COMPACTION_CONFIG[_0x6053eb(0x90)],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this[_0x6053eb(0x94)][_0x6053eb(0xba)]('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x29bd21[_0x6053eb(0xab)][_0x6053eb(0x91)],'middleMessages':_0x29bd21['middle'][_0x6053eb(0x91)],'endMessages':_0x29bd21['end']['length'],'targetTokenCount':_0x5dd284,'originalTokenCount':_0x3c436b});const _0x4dc6b7={'role':'system','content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0x6053eb(0xb5),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x29bd21[_0x6053eb(0xac)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x56a65a=[..._0x29bd21[_0x6053eb(0xab)],_0x4dc6b7,..._0x29bd21['end']],_0x2ef4c7=await this[_0x6053eb(0xad)][_0x6053eb(0x79)](_0x56a65a,_0x388bbb,TOKEN_COUNTING_MODES['ACCURATE']),_0x30159f=(_0x3c436b-_0x2ef4c7)/_0x3c436b*0x64;return{'compactedMessages':_0x56a65a,'strategy':_0x431e42,'originalTokenCount':_0x3c436b,'compactedTokenCount':_0x2ef4c7,'reductionPercent':_0x30159f,'segments':{'beginningCount':_0x29bd21['beginning']['length'],'middleCount':_0x29bd21[_0x6053eb(0xac)]['length'],'endCount':_0x29bd21['end']['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0xc7fcf2,_0x5c38a3,_0x19972a){const _0x42960a=a0_0x371d2d,_0x11001d=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x4b9d7f=await this['tokenCountingService']['estimateConversationTokens'](_0xc7fcf2,_0x5c38a3,TOKEN_COUNTING_MODES['ACCURATE']),_0x19a5b9=await this[_0x42960a(0xb1)](_0xc7fcf2,_0x5c38a3,COMPACTION_CONFIG[_0x42960a(0x88)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x42960a(0x94)][_0x42960a(0xba)](_0x42960a(0xb0),{'beginningMessages':_0x19a5b9['beginning'][_0x42960a(0x91)],'middleMessages':_0x19a5b9[_0x42960a(0xac)][_0x42960a(0x91)],'endMessages':_0x19a5b9['end'][_0x42960a(0x91)],'middleStartIndex':_0x19a5b9['middleStartIndex'],'middleEndIndex':_0x19a5b9['middleEndIndex']});const _0x27b442=await this['_generateSummary'](_0x19a5b9['middle'],_0x5c38a3,{..._0x19972a,'aggressive':!![],'middleStartIndex':_0x19a5b9['middleStartIndex'],'middleEndIndex':_0x19a5b9[_0x42960a(0x8a)]}),_0x216054=[..._0x19a5b9[_0x42960a(0xab)],_0x27b442,..._0x19a5b9[_0x42960a(0x80)]],_0x45c2b5=await this[_0x42960a(0xad)]['estimateConversationTokens'](_0x216054,_0x5c38a3,TOKEN_COUNTING_MODES['ACCURATE']),_0x244af9=(_0x4b9d7f-_0x45c2b5)/_0x4b9d7f*0x64;return{'compactedMessages':_0x216054,'strategy':_0x11001d,'originalTokenCount':_0x4b9d7f,'compactedTokenCount':_0x45c2b5,'reductionPercent':_0x244af9,'segments':{'beginningCount':_0x19a5b9[_0x42960a(0xab)]['length'],'middleCount':_0x19a5b9['middle'][_0x42960a(0x91)],'endCount':_0x19a5b9['end'][_0x42960a(0x91)],'summaryInserted':!![]}};}async[a0_0x371d2d(0xb1)](_0x691cb3,_0x3ff1e8,_0x3bbb09,_0x48ebb9){const _0xd53e8b=a0_0x371d2d,_0x5b32ef=await this['tokenCountingService'][_0xd53e8b(0x79)](_0x691cb3,_0x3ff1e8,TOKEN_COUNTING_MODES['ACCURATE']),_0xd42894=Math[_0xd53e8b(0xaa)](_0x5b32ef*_0x3bbb09),_0x5329fa=Math[_0xd53e8b(0xaa)](_0x5b32ef*_0x48ebb9);let _0x32616e=0x0,_0x42dcf2=0x0;for(let _0x17a227=0x0;_0x17a227<_0x691cb3[_0xd53e8b(0x91)];_0x17a227++){const _0x1733ff=await this['tokenCountingService'][_0xd53e8b(0x78)](_0x691cb3[_0x17a227][_0xd53e8b(0x77)],_0x3ff1e8,TOKEN_COUNTING_MODES[_0xd53e8b(0xaf)]);if(_0x32616e+_0x1733ff>_0xd42894&&_0x17a227>=0x2)break;_0x32616e+=_0x1733ff,_0x42dcf2=_0x17a227+0x1;}let _0x47d342=0x0,_0x19fbf6=_0x691cb3[_0xd53e8b(0x91)];for(let _0x1b84c8=_0x691cb3[_0xd53e8b(0x91)]-0x1;_0x1b84c8>=0x0;_0x1b84c8--){const _0x22cc40=await this[_0xd53e8b(0xad)][_0xd53e8b(0x78)](_0x691cb3[_0x1b84c8][_0xd53e8b(0x77)],_0x3ff1e8,TOKEN_COUNTING_MODES[_0xd53e8b(0xaf)]);if(_0x47d342+_0x22cc40>_0x5329fa)break;_0x47d342+=_0x22cc40,_0x19fbf6=_0x1b84c8;}_0x19fbf6<_0x42dcf2&&(_0x19fbf6=_0x42dcf2);const _0x2b9cca=_0x691cb3['slice'](0x0,_0x42dcf2),_0xaf9d5d=_0x691cb3[_0xd53e8b(0x97)](_0x42dcf2,_0x19fbf6),_0xac2585=_0x691cb3['slice'](_0x19fbf6);return{'beginning':_0x2b9cca,'middle':_0xaf9d5d,'end':_0xac2585,'middleStartIndex':_0x42dcf2,'middleEndIndex':_0x19fbf6-0x1};}async[a0_0x371d2d(0x9b)](_0x458f6c,_0xeaae8b,_0xde0d54={}){const _0x1630ca=a0_0x371d2d;if(_0x458f6c['length']===0x0)return{'role':'system','content':COMPACTION_CONFIG[_0x1630ca(0x8c)]+_0x1630ca(0xb9),'type':_0x1630ca(0xb6),'timestamp':new Date()[_0x1630ca(0xa2)]()};const _0x1e8611=_0x458f6c['map'](_0x40a1ba=>_0x40a1ba[_0x1630ca(0xb3)]+':\x20'+_0x40a1ba[_0x1630ca(0x77)])[_0x1630ca(0x9c)]('\x0a\x0a'),_0x364cad=this[_0x1630ca(0x75)]['replace']('{middle_segment}',_0x1e8611)[_0x1630ca(0x7b)]('{aggressive_instruction}',_0xde0d54['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x3f3cd5=[COMPACTION_CONFIG[_0x1630ca(0xa9)],...COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACKS']];let _0x2cbfca=null;for(const _0x3806a3 of _0x3f3cd5){try{this[_0x1630ca(0x94)][_0x1630ca(0xba)]('Generating\x20summary',{'compactionModel':_0x3806a3,'middleMessageCount':_0x458f6c['length'],'middleContentLength':_0x1e8611[_0x1630ca(0x91)],'aggressive':_0xde0d54[_0x1630ca(0x73)]});const _0x446789=await this['aiService'][_0x1630ca(0xa5)](_0x3806a3,_0x364cad,{'systemPrompt':_0x1630ca(0x7f),'maxTokens':COMPACTION_CONFIG[_0x1630ca(0xb2)],'temperature':0.3,'sessionId':_0xde0d54['sessionId'],'platformProvided':!![]}),_0x461d7e=_0x446789[_0x1630ca(0x77)]['trim'](),_0x313463=_0xde0d54['middleStartIndex']!==undefined&&_0xde0d54[_0x1630ca(0x8a)]!==undefined?'original\x20messages\x20'+_0xde0d54['middleStartIndex']+'-'+_0xde0d54[_0x1630ca(0x8a)]:_0x458f6c[_0x1630ca(0x91)]+_0x1630ca(0xb7);return this['logger']['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x3806a3,'originalLength':_0x1e8611['length'],'summaryLength':_0x461d7e['length'],'compressionRatio':(_0x461d7e[_0x1630ca(0x91)]/_0x1e8611[_0x1630ca(0x91)]*0x64)[_0x1630ca(0x92)](0x2)+'%','indexRange':_0x313463}),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x1630ca(0xa1)+_0x313463+_0x1630ca(0xae)+_0x461d7e+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x1630ca(0xb6),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x458f6c['length'],'originalStartIndex':_0xde0d54['middleStartIndex'],'originalEndIndex':_0xde0d54['middleEndIndex'],'compactionModel':_0x3806a3,'aggressive':_0xde0d54[_0x1630ca(0x73)]||![]}};}catch(_0x34088f){_0x2cbfca=_0x34088f,this['logger'][_0x1630ca(0xa7)](_0x1630ca(0xb8),{'compactionModel':_0x3806a3,'error':_0x34088f[_0x1630ca(0xa4)],'middleMessageCount':_0x458f6c[_0x1630ca(0x91)]});}}this[_0x1630ca(0x94)][_0x1630ca(0x9f)]('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x3f3cd5['length'],'lastError':_0x2cbfca?.[_0x1630ca(0xa4)],'middleMessageCount':_0x458f6c[_0x1630ca(0x91)]});const _0x200e0a=this[_0x1630ca(0xbc)](_0x458f6c),_0x3fa424=_0xde0d54[_0x1630ca(0x9a)]!==undefined&&_0xde0d54['middleEndIndex']!==undefined?_0x1630ca(0x83)+_0xde0d54[_0x1630ca(0x9a)]+'-'+_0xde0d54['middleEndIndex']:_0x458f6c[_0x1630ca(0x91)]+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG[_0x1630ca(0x8c)]+_0x1630ca(0xa1)+_0x3fa424+_0x1630ca(0xae)+_0x200e0a+'\x0a\x0a'+COMPACTION_CONFIG[_0x1630ca(0xbb)],'type':'summary','timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x458f6c['length'],'originalStartIndex':_0xde0d54['middleStartIndex'],'originalEndIndex':_0xde0d54['middleEndIndex'],'fallback':!![],'error':_0x2cbfca?.['message'],'modelsAttempted':_0x3f3cd5}};}['_createFallbackSummary'](_0x204410){const _0x3ba736=a0_0x371d2d,_0x47da49=_0x204410['length'],_0x394b3c=_0x204410['map'](_0x5341e4=>_0x5341e4['role']),_0x57ac67=_0x394b3c[_0x3ba736(0x85)](_0x1e42f9=>_0x1e42f9===_0x3ba736(0x9e))[_0x3ba736(0x91)],_0x4721b4=_0x394b3c['filter'](_0x1090d4=>_0x1090d4==='assistant')[_0x3ba736(0x91)];return'['+_0x47da49+_0x3ba736(0x7a)+_0x57ac67+'\x20user\x20messages,\x20'+_0x4721b4+'\x20assistant\x20responses.\x20'+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x6bde3e=a0_0x371d2d;return _0x6bde3e(0x7c);}}function a0_0x3302(){const _0x19936f=['mZiZndu1ohLkv05Zva','ic0G','Dg9ju09tDhjPBMC','BM93','BwvZC2fNzq','C2vUze1LC3nHz2u','vfjvtKnbveLptG','D2fYBG','y29TCgfJDgvKvg9Rzw5dB3vUDa','q09nuefdveLptL9nt0rfta','zMXVB3i','yMvNAw5UAw5N','BwLKzgXL','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','xqOk','q0fdseve','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','x2LKzw50Awz5u2vNBwvUDhm','tufyx1nvtu1buLLFve9lru5t','CM9Szq','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','C2vWyxjHDg9Y','C3vTBwfYEq','ig1LC3nHz2vZ','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','zgvIDwC','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','ndqWnxHKCKjUra','ywDNCMvZC2L2zq','mZDJAhHgq08','C3vTBwfYEvbYB21WDfrLBxbSyxrL','nZeYmZm0ENLlBwru','y29UDgvUDa','y291BNruB2TLBNm','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','CMvWBgfJzq','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','ota1ngPtyKLQBW','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','zw5K','twvZC2fNzxmGyxjYyxKGAxmGCMvXDwLYzwqGyw5KignHBM5VDcbIzsbLBxb0Eq','u1vntufssvPbveLptG','B3jPz2LUywWGBwvZC2fNzxmG','qundvvjbveu','zMLSDgvY','otm1mNHcwuTuAa','AxnszxrYEq','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','BwLKzgXLrw5Ksw5KzxG','mZq0mda3ndbYC3fSuKe','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','ywLtzxj2AwnL','mZa1mZK4nuHSv1bRza','odC4ndj1u3nqtKO','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','BgvUz3rO','Dg9gAxHLza','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','Bg9Nz2vY','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','mJm1nNzVv0L2Ba','C2XPy2u','Aw5MBW','ru5ex1nfr01ftLrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','x2DLBMvYyxrLu3vTBwfYEq','AM9PBG','y29TCgfJDgvKtwvZC2fNzxm','DxnLCG','zxjYB3i'];a0_0x3302=function(){return _0x19936f;};return a0_0x3302();}function a0_0x2938(_0x3d12e0,_0x3a9e93){_0x3d12e0=_0x3d12e0-0x73;const _0x330299=a0_0x3302();let _0x2938ad=_0x330299[_0x3d12e0];if(a0_0x2938['CytnJE']===undefined){var _0x5e8406=function(_0x20ac03){const _0x1b6071='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f7bf5='',_0x7126ff='';for(let _0x4c9224=0x0,_0xe2c78,_0x5b0f2f,_0x3da8b9=0x0;_0x5b0f2f=_0x20ac03['charAt'](_0x3da8b9++);~_0x5b0f2f&&(_0xe2c78=_0x4c9224%0x4?_0xe2c78*0x40+_0x5b0f2f:_0x5b0f2f,_0x4c9224++%0x4)?_0x2f7bf5+=String['fromCharCode'](0xff&_0xe2c78>>(-0x2*_0x4c9224&0x6)):0x0){_0x5b0f2f=_0x1b6071['indexOf'](_0x5b0f2f);}for(let _0x340450=0x0,_0x316f43=_0x2f7bf5['length'];_0x340450<_0x316f43;_0x340450++){_0x7126ff+='%'+('00'+_0x2f7bf5['charCodeAt'](_0x340450)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7126ff);};a0_0x2938['QuYTAk']=_0x5e8406,a0_0x2938['jBWvtO']={},a0_0x2938['CytnJE']=!![];}const _0x390c95=_0x330299[0x0],_0x327cdb=_0x3d12e0+_0x390c95,_0x57db10=a0_0x2938['jBWvtO'][_0x327cdb];return!_0x57db10?(_0x2938ad=a0_0x2938['QuYTAk'](_0x2938ad),a0_0x2938['jBWvtO'][_0x327cdb]=_0x2938ad):_0x2938ad=_0x57db10,_0x2938ad;}export default ConversationCompactionService;
1
+ const a0_0x6e354e=a0_0x158a;function a0_0x5b7f(){const _0x388b55=['vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','mtmYndq3mdzNrKP2yMy','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','BwLKzgXLrw5Ksw5KzxG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','CMvWBgfJzq','BM93','C2XPy2u','y29UDgvUDa','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','ndGXmJG0mhrhzxvlAW','ndmXmZaZmuHRsgrRra','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','xqOk','qwXSihn1Bw1HCNKGz2vUzxjHDgLVBIbHDhrLBxb0CYbMywLSzwq','CM9Szq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','C2vWyxjHDg9Y','zMLSDgvY','CMvKDwn0Aw9UugvYy2vUDa','y29TCgfJDgvKtwvZC2fNzxm','q0fdseve','Dg9ju09tDhjPBMC','C3vTBwfYEvbYB21WDfrLBxbSyxrL','zMXVB3i','AxnbCNjHEq','x2LKzw50Awz5u2vNBwvUDhm','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','BgvUz3rO','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','ic0G','nvHoAxnZDa','BM9Uzq','ota3mZiWEM5WwfDo','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','zxjYB3i','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','BwvZC2fNzq','Aw5MBW','vfjvtKnbveLptG','BwLKzgXLu3rHCNrjBMrLEa','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','DxnLCG','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','vg9VigzLDYbTzxnZywDLCW','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','z2v0tw9KzwXdB250zxH0v2LUzg93','yMvNAw5UAw5N','zxHLy3v0Aw9UvgLTzq','Bg9Nz2vY','zgvIDwC','ntmWmdjpDLPdquy','y29TCgfJDgvKvg9Rzw5dB3vUDa','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','ywDNCMvZC2L2zq','zw5K','nJCZnZi5B0HyBvPo','C3LZDgvT','ywLtzxj2AwnL','x2DLBMvYyxrLu3vTBwfYEq','AxnszxrYEq','B3jPz2LUywWGBwvZC2fNzxmG','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','mZztv1DUzfm','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','mJaXoty4nfffEKzlyG','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','ru5ex1nfr01ftLrFuevsq0vovefhrq','ig1LC3nHz2vZ','B3jPz2LUywXuB2TLBKnVDw50','u1vntufssvPbveLptG','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','r2vUzxjHDgLUzYbZDw1Tyxj5','ihvZzxiGBwvZC2fNzxmSia','BwLKzgXL','qundvvjbveu'];a0_0x5b7f=function(){return _0x388b55;};return a0_0x5b7f();}(function(_0x1df61c,_0x178391){const _0x41af27=a0_0x158a,_0x1afcad=_0x1df61c();while(!![]){try{const _0x11eff5=parseInt(_0x41af27(0x1d7))/0x1*(-parseInt(_0x41af27(0x19a))/0x2)+-parseInt(_0x41af27(0x1c2))/0x3+parseInt(_0x41af27(0x1a8))/0x4+-parseInt(_0x41af27(0x1d9))/0x5*(-parseInt(_0x41af27(0x1a6))/0x6)+-parseInt(_0x41af27(0x19f))/0x7+-parseInt(_0x41af27(0x1c1))/0x8+parseInt(_0x41af27(0x1b6))/0x9;if(_0x11eff5===_0x178391)break;else _0x1afcad['push'](_0x1afcad['shift']());}catch(_0x532447){_0x1afcad['push'](_0x1afcad['shift']());}}}(a0_0x5b7f,0xc2a79));function a0_0x158a(_0x1c2629,_0x5890cb){_0x1c2629=_0x1c2629-0x18b;const _0x5b7f89=a0_0x5b7f();let _0x158ab3=_0x5b7f89[_0x1c2629];if(a0_0x158a['TdrcXt']===undefined){var _0x30eee6=function(_0x347507){const _0x386692='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c02bb='',_0x110694='';for(let _0x147f7f=0x0,_0x13bab1,_0x24f18e,_0x17230d=0x0;_0x24f18e=_0x347507['charAt'](_0x17230d++);~_0x24f18e&&(_0x13bab1=_0x147f7f%0x4?_0x13bab1*0x40+_0x24f18e:_0x24f18e,_0x147f7f++%0x4)?_0x2c02bb+=String['fromCharCode'](0xff&_0x13bab1>>(-0x2*_0x147f7f&0x6)):0x0){_0x24f18e=_0x386692['indexOf'](_0x24f18e);}for(let _0x5dc7f4=0x0,_0x3a23c3=_0x2c02bb['length'];_0x5dc7f4<_0x3a23c3;_0x5dc7f4++){_0x110694+='%'+('00'+_0x2c02bb['charCodeAt'](_0x5dc7f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x110694);};a0_0x158a['zuVbJn']=_0x30eee6,a0_0x158a['uLdsmZ']={},a0_0x158a['TdrcXt']=!![];}const _0x2be814=_0x5b7f89[0x0],_0x56dedb=_0x1c2629+_0x2be814,_0x2d6847=a0_0x158a['uLdsmZ'][_0x56dedb];return!_0x2d6847?(_0x158ab3=a0_0x158a['zuVbJn'](_0x158ab3),a0_0x158a['uLdsmZ'][_0x56dedb]=_0x158ab3):_0x158ab3=_0x2d6847,_0x158ab3;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x2c02bb,_0x110694,_0x147f7f){const _0x12e985=a0_0x158a;this[_0x12e985(0x1a5)]=_0x2c02bb,this[_0x12e985(0x1a1)]=_0x110694,this['logger']=_0x147f7f,this[_0x12e985(0x1cf)]=this['_createSummaryPromptTemplate']();}async['compactConversation'](_0x13bab1,_0x24f18e,_0x17230d,_0x5dc7f4={}){const _0x1e8471=a0_0x158a,_0x3a23c3=Date['now']();try{if(!Array[_0x1e8471(0x1d1)](_0x13bab1)||_0x13bab1[_0x1e8471(0x1d4)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x13bab1['length']<COMPACTION_CONFIG[_0x1e8471(0x1b5)])return this[_0x1e8471(0x198)]['warn'](_0x1e8471(0x194),{'messageCount':_0x13bab1['length'],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x13bab1,'strategy':_0x1e8471(0x1d8),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x1e8471(0x193)};const _0x12229a=_0x24f18e!==_0x17230d,_0x56728c=_0x5dc7f4[_0x1e8471(0x1a3)]||![];let _0x33c0a8;if(_0x12229a)_0x33c0a8=COMPACTION_STRATEGIES[_0x1e8471(0x18e)];else _0x56728c?_0x33c0a8=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x33c0a8=_0x5dc7f4['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info'](_0x1e8471(0x1d5),{'messageCount':_0x13bab1[_0x1e8471(0x1d4)],'currentModel':_0x24f18e,'targetModel':_0x17230d,'strategy':_0x33c0a8,'isModelSwitch':_0x12229a,'isRetry':_0x56728c});let _0x5c45d9;switch(_0x33c0a8){case COMPACTION_STRATEGIES[_0x1e8471(0x1ad)]:_0x5c45d9=await this[_0x1e8471(0x1b7)](_0x13bab1,_0x24f18e,_0x5dc7f4);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x5c45d9=await this['_compactWithTruncation'](_0x13bab1,_0x17230d,_0x5dc7f4);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x5c45d9=await this[_0x1e8471(0x1af)](_0x13bab1,_0x24f18e,_0x5dc7f4);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x33c0a8);}const _0x156944=Date['now']()-_0x3a23c3;return _0x5c45d9[_0x1e8471(0x197)]=_0x156944,_0x5c45d9['timestamp']=new Date()['toISOString'](),this[_0x1e8471(0x198)][_0x1e8471(0x18d)](_0x1e8471(0x192),{'strategy':_0x5c45d9['strategy'],'originalMessages':_0x13bab1[_0x1e8471(0x1d4)],'compactedMessages':_0x5c45d9[_0x1e8471(0x1cc)][_0x1e8471(0x1d4)],'originalTokens':_0x5c45d9[_0x1e8471(0x1ac)],'compactedTokens':_0x5c45d9[_0x1e8471(0x19b)],'reductionPercent':_0x5c45d9[_0x1e8471(0x1cb)]['toFixed'](0x2),'executionTime':_0x156944+'ms'}),_0x5c45d9;}catch(_0x50c9d0){const _0x3a05e1=Date[_0x1e8471(0x1bd)]()-_0x3a23c3;this[_0x1e8471(0x198)][_0x1e8471(0x1db)]('Compaction\x20failed',{'error':_0x50c9d0[_0x1e8471(0x18c)],'messageCount':_0x13bab1[_0x1e8471(0x1d4)],'currentModel':_0x24f18e,'targetModel':_0x17230d,'executionTime':_0x3a05e1+'ms'});throw _0x50c9d0;}}async[a0_0x6e354e(0x1b7)](_0x7e4788,_0x571811,_0x4c0565){const _0x1bce02=a0_0x6e354e,_0x25d3f7=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x3c465d=await this[_0x1bce02(0x1a5)]['estimateConversationTokens'](_0x7e4788,_0x571811,TOKEN_COUNTING_MODES['ACCURATE']),_0x30d4bc=await this['_identifySegments'](_0x7e4788,_0x571811,COMPACTION_CONFIG[_0x1bce02(0x1da)],COMPACTION_CONFIG[_0x1bce02(0x1aa)]);this[_0x1bce02(0x198)]['debug'](_0x1bce02(0x1a7),{'beginningMessages':_0x30d4bc['beginning']['length'],'middleMessages':_0x30d4bc[_0x1bce02(0x1b2)]['length'],'endMessages':_0x30d4bc['end'][_0x1bce02(0x1d4)],'middleStartIndex':_0x30d4bc[_0x1bce02(0x18f)],'middleEndIndex':_0x30d4bc['middleEndIndex'],'totalMessages':_0x7e4788['length']});const _0x1bd834=await this['_generateSummary'](_0x30d4bc['middle'],_0x571811,{..._0x4c0565,'middleStartIndex':_0x30d4bc[_0x1bce02(0x18f)],'middleEndIndex':_0x30d4bc[_0x1bce02(0x1b9)]}),_0x2123fd=[..._0x30d4bc[_0x1bce02(0x196)],_0x1bd834,..._0x30d4bc['end']],_0x4bc32d=await this[_0x1bce02(0x1a5)]['estimateConversationTokens'](_0x2123fd,_0x571811,TOKEN_COUNTING_MODES['ACCURATE']),_0x1b6e09=(_0x3c465d-_0x4bc32d)/_0x3c465d*0x64;return{'compactedMessages':_0x2123fd,'strategy':_0x25d3f7,'originalTokenCount':_0x3c465d,'compactedTokenCount':_0x4bc32d,'reductionPercent':_0x1b6e09,'segments':{'beginningCount':_0x30d4bc[_0x1bce02(0x196)][_0x1bce02(0x1d4)],'middleCount':_0x30d4bc[_0x1bce02(0x1b2)]['length'],'endCount':_0x30d4bc[_0x1bce02(0x19e)]['length'],'summaryInserted':!![]}};}async[a0_0x6e354e(0x190)](_0x5856c3,_0x33099c,_0x119577){const _0x5eff6d=a0_0x6e354e,_0x515f56=COMPACTION_STRATEGIES['TRUNCATION'],_0x518521=this['tokenCountingService'][_0x5eff6d(0x195)](_0x33099c),_0x249fe0=Math['floor'](_0x518521*0.8),_0x170baa=await this[_0x5eff6d(0x1a5)][_0x5eff6d(0x1c4)](_0x5856c3,_0x33099c,TOKEN_COUNTING_MODES['ACCURATE']),_0x35aa29=await this[_0x5eff6d(0x1d2)](_0x5856c3,_0x33099c,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x5eff6d(0x1b4)]);this['logger'][_0x5eff6d(0x199)](_0x5eff6d(0x18b),{'beginningMessages':_0x35aa29['beginning']['length'],'middleMessages':_0x35aa29[_0x5eff6d(0x1b2)][_0x5eff6d(0x1d4)],'endMessages':_0x35aa29['end'][_0x5eff6d(0x1d4)],'targetTokenCount':_0x249fe0,'originalTokenCount':_0x170baa});const _0x51c1d4={'role':_0x5eff6d(0x1a0),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0x5eff6d(0x1c9),'timestamp':new Date()[_0x5eff6d(0x1ce)](),'metadata':{'truncatedMessages':_0x35aa29['middle']['length'],'reason':_0x5eff6d(0x1a9)}},_0x5abe7d=[..._0x35aa29[_0x5eff6d(0x196)],_0x51c1d4,..._0x35aa29[_0x5eff6d(0x19e)]],_0x2690d0=await this[_0x5eff6d(0x1a5)][_0x5eff6d(0x1c4)](_0x5abe7d,_0x33099c,TOKEN_COUNTING_MODES['ACCURATE']),_0x3a4479=(_0x170baa-_0x2690d0)/_0x170baa*0x64;return{'compactedMessages':_0x5abe7d,'strategy':_0x515f56,'originalTokenCount':_0x170baa,'compactedTokenCount':_0x2690d0,'reductionPercent':_0x3a4479,'segments':{'beginningCount':_0x35aa29[_0x5eff6d(0x196)]['length'],'middleCount':_0x35aa29[_0x5eff6d(0x1b2)]['length'],'endCount':_0x35aa29['end'][_0x5eff6d(0x1d4)],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x22261e,_0x5c0bea,_0x46ffc4){const _0x3c05ba=a0_0x6e354e,_0x4c0c49=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x30c8d2=await this['tokenCountingService']['estimateConversationTokens'](_0x22261e,_0x5c0bea,TOKEN_COUNTING_MODES[_0x3c05ba(0x1b3)]),_0x4b4a77=await this['_identifySegments'](_0x22261e,_0x5c0bea,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x3c05ba(0x198)]['debug'](_0x3c05ba(0x1ba),{'beginningMessages':_0x4b4a77['beginning'][_0x3c05ba(0x1d4)],'middleMessages':_0x4b4a77[_0x3c05ba(0x1b2)][_0x3c05ba(0x1d4)],'endMessages':_0x4b4a77['end'][_0x3c05ba(0x1d4)],'middleStartIndex':_0x4b4a77['middleStartIndex'],'middleEndIndex':_0x4b4a77['middleEndIndex']});const _0x1d5b81=await this[_0x3c05ba(0x1a2)](_0x4b4a77[_0x3c05ba(0x1b2)],_0x5c0bea,{..._0x46ffc4,'aggressive':!![],'middleStartIndex':_0x4b4a77['middleStartIndex'],'middleEndIndex':_0x4b4a77['middleEndIndex']}),_0x3f61a7=[..._0x4b4a77['beginning'],_0x1d5b81,..._0x4b4a77[_0x3c05ba(0x19e)]],_0x4bc120=await this['tokenCountingService'][_0x3c05ba(0x1c4)](_0x3f61a7,_0x5c0bea,TOKEN_COUNTING_MODES[_0x3c05ba(0x1b3)]),_0x4c10c4=(_0x30c8d2-_0x4bc120)/_0x30c8d2*0x64;return{'compactedMessages':_0x3f61a7,'strategy':_0x4c0c49,'originalTokenCount':_0x30c8d2,'compactedTokenCount':_0x4bc120,'reductionPercent':_0x4c10c4,'segments':{'beginningCount':_0x4b4a77['beginning'][_0x3c05ba(0x1d4)],'middleCount':_0x4b4a77[_0x3c05ba(0x1b2)]['length'],'endCount':_0x4b4a77[_0x3c05ba(0x19e)][_0x3c05ba(0x1d4)],'summaryInserted':!![]}};}async[a0_0x6e354e(0x1d2)](_0x14c0e0,_0x2b5538,_0x755ef6,_0xfa18e7){const _0x4f2ed4=a0_0x6e354e,_0x25b2ec=await this['tokenCountingService']['estimateConversationTokens'](_0x14c0e0,_0x2b5538,TOKEN_COUNTING_MODES['ACCURATE']),_0x550a6f=Math[_0x4f2ed4(0x1d0)](_0x25b2ec*_0x755ef6),_0x32afb0=Math['floor'](_0x25b2ec*_0xfa18e7);let _0x47fb90=0x0,_0x586d25=0x0;for(let _0x4c1e1a=0x0;_0x4c1e1a<_0x14c0e0[_0x4f2ed4(0x1d4)];_0x4c1e1a++){const _0x7a779e=await this[_0x4f2ed4(0x1a5)]['countTokens'](_0x14c0e0[_0x4c1e1a]['content'],_0x2b5538,TOKEN_COUNTING_MODES['CACHED']);if(_0x47fb90+_0x7a779e>_0x550a6f&&_0x4c1e1a>=0x2)break;_0x47fb90+=_0x7a779e,_0x586d25=_0x4c1e1a+0x1;}let _0x16abc7=0x0,_0x5892c3=_0x14c0e0[_0x4f2ed4(0x1d4)];for(let _0x8f0bcf=_0x14c0e0['length']-0x1;_0x8f0bcf>=0x0;_0x8f0bcf--){const _0x54bd63=await this[_0x4f2ed4(0x1a5)]['countTokens'](_0x14c0e0[_0x8f0bcf]['content'],_0x2b5538,TOKEN_COUNTING_MODES[_0x4f2ed4(0x1cd)]);if(_0x16abc7+_0x54bd63>_0x32afb0)break;_0x16abc7+=_0x54bd63,_0x5892c3=_0x8f0bcf;}_0x5892c3<_0x586d25&&(_0x5892c3=_0x586d25);const _0x5f0b55=_0x14c0e0[_0x4f2ed4(0x1be)](0x0,_0x586d25),_0x8bf64c=_0x14c0e0['slice'](_0x586d25,_0x5892c3),_0x169c0f=_0x14c0e0['slice'](_0x5892c3);return{'beginning':_0x5f0b55,'middle':_0x8bf64c,'end':_0x169c0f,'middleStartIndex':_0x586d25,'middleEndIndex':_0x5892c3-0x1};}async[a0_0x6e354e(0x1a2)](_0x10413f,_0xe5bde8,_0x32f58f={}){const _0x6bc246=a0_0x6e354e;if(_0x10413f['length']===0x0)return{'role':_0x6bc246(0x1a0),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':'summary','timestamp':new Date()['toISOString']()};const _0x21984c=_0x10413f['map'](_0x4a212f=>_0x4a212f['role']+':\x20'+_0x4a212f[_0x6bc246(0x1bf)])['join']('\x0a\x0a'),_0x397ea0=this['summaryPromptTemplate'][_0x6bc246(0x1bc)]('{middle_segment}',_0x21984c)['replace']('{aggressive_instruction}',_0x32f58f[_0x6bc246(0x19d)]?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x1bdccd=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACKS']];let _0x12930f=null;for(const _0x1e8afd of _0x1bdccd){try{this[_0x6bc246(0x198)]['debug'](_0x6bc246(0x1b0),{'compactionModel':_0x1e8afd,'middleMessageCount':_0x10413f[_0x6bc246(0x1d4)],'middleContentLength':_0x21984c[_0x6bc246(0x1d4)],'aggressive':_0x32f58f['aggressive']});const _0x1f2663=await this[_0x6bc246(0x1a1)]['sendMessage'](_0x1e8afd,_0x397ea0,{'systemPrompt':_0x6bc246(0x1c3),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x32f58f['sessionId'],'platformProvided':!![]}),_0x2bf911=_0x1f2663[_0x6bc246(0x1bf)]['trim'](),_0x556f33=_0x32f58f[_0x6bc246(0x18f)]!==undefined&&_0x32f58f[_0x6bc246(0x1b9)]!==undefined?'original\x20messages\x20'+_0x32f58f[_0x6bc246(0x18f)]+'-'+_0x32f58f['middleEndIndex']:_0x10413f[_0x6bc246(0x1d4)]+_0x6bc246(0x1ab);return this['logger']['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x1e8afd,'originalLength':_0x21984c[_0x6bc246(0x1d4)],'summaryLength':_0x2bf911[_0x6bc246(0x1d4)],'compressionRatio':(_0x2bf911[_0x6bc246(0x1d4)]/_0x21984c['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0x556f33}),{'role':_0x6bc246(0x1a0),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x6bc246(0x1d6)+_0x556f33+']\x0a\x0a'+_0x2bf911+'\x0a\x0a'+COMPACTION_CONFIG[_0x6bc246(0x19c)],'type':'summary','timestamp':new Date()[_0x6bc246(0x1ce)](),'metadata':{'originalMessageCount':_0x10413f['length'],'originalStartIndex':_0x32f58f[_0x6bc246(0x18f)],'originalEndIndex':_0x32f58f['middleEndIndex'],'compactionModel':_0x1e8afd,'aggressive':_0x32f58f['aggressive']||![]}};}catch(_0x105923){_0x12930f=_0x105923,this['logger']['warn']('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x1e8afd,'error':_0x105923[_0x6bc246(0x18c)],'middleMessageCount':_0x10413f['length']});}}this['logger'][_0x6bc246(0x1db)](_0x6bc246(0x1c6),{'modelsAttempted':_0x1bdccd['length'],'lastError':_0x12930f?.[_0x6bc246(0x18c)],'middleMessageCount':_0x10413f[_0x6bc246(0x1d4)]});const _0x26d158=this[_0x6bc246(0x1b8)](_0x10413f),_0x587857=_0x32f58f['middleStartIndex']!==undefined&&_0x32f58f['middleEndIndex']!==undefined?_0x6bc246(0x1a4)+_0x32f58f[_0x6bc246(0x18f)]+'-'+_0x32f58f['middleEndIndex']:_0x10413f['length']+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG[_0x6bc246(0x1c8)]+_0x6bc246(0x1d6)+_0x587857+_0x6bc246(0x1c5)+_0x26d158+'\x0a\x0a'+COMPACTION_CONFIG[_0x6bc246(0x19c)],'type':'summary','timestamp':new Date()[_0x6bc246(0x1ce)](),'metadata':{'originalMessageCount':_0x10413f['length'],'originalStartIndex':_0x32f58f['middleStartIndex'],'originalEndIndex':_0x32f58f[_0x6bc246(0x1b9)],'fallback':!![],'error':_0x12930f?.[_0x6bc246(0x18c)],'modelsAttempted':_0x1bdccd}};}['_createFallbackSummary'](_0x67edae){const _0x1ed1f2=a0_0x6e354e,_0x9e0904=_0x67edae['length'],_0x28d9d9=_0x67edae['map'](_0x2b3020=>_0x2b3020[_0x1ed1f2(0x1c7)]),_0x1c2aeb=_0x28d9d9['filter'](_0x8553c8=>_0x8553c8===_0x1ed1f2(0x191))[_0x1ed1f2(0x1d4)],_0x17558e=_0x28d9d9[_0x1ed1f2(0x1ca)](_0x281bd1=>_0x281bd1==='assistant')[_0x1ed1f2(0x1d4)];return'['+_0x9e0904+_0x1ed1f2(0x1d3)+_0x1c2aeb+_0x1ed1f2(0x1b1)+_0x17558e+_0x1ed1f2(0x1ae)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}[a0_0x6e354e(0x1c0)](){const _0x467d02=a0_0x6e354e;return _0x467d02(0x1bb);}}export default ConversationCompactionService;
@@ -1 +1 @@
1
- function a0_0x1651(_0x4e4ed6,_0x398249){_0x4e4ed6=_0x4e4ed6-0x1c6;const _0x10bef7=a0_0x10be();let _0x165177=_0x10bef7[_0x4e4ed6];if(a0_0x1651['hMyRCD']===undefined){var _0x4d44ca=function(_0x4869a2){const _0x5189df='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5ace9e='',_0x4a702d='';for(let _0x49b217=0x0,_0x22e167,_0x50981d,_0xbea1c1=0x0;_0x50981d=_0x4869a2['charAt'](_0xbea1c1++);~_0x50981d&&(_0x22e167=_0x49b217%0x4?_0x22e167*0x40+_0x50981d:_0x50981d,_0x49b217++%0x4)?_0x5ace9e+=String['fromCharCode'](0xff&_0x22e167>>(-0x2*_0x49b217&0x6)):0x0){_0x50981d=_0x5189df['indexOf'](_0x50981d);}for(let _0x157593=0x0,_0x39f712=_0x5ace9e['length'];_0x157593<_0x39f712;_0x157593++){_0x4a702d+='%'+('00'+_0x5ace9e['charCodeAt'](_0x157593)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a702d);};a0_0x1651['gnVUtx']=_0x4d44ca,a0_0x1651['uIiqvV']={},a0_0x1651['hMyRCD']=!![];}const _0x34d6f0=_0x10bef7[0x0],_0x2fcae2=_0x4e4ed6+_0x34d6f0,_0x5cca63=a0_0x1651['uIiqvV'][_0x2fcae2];return!_0x5cca63?(_0x165177=a0_0x1651['gnVUtx'](_0x165177),a0_0x1651['uIiqvV'][_0x2fcae2]=_0x165177):_0x165177=_0x5cca63,_0x165177;}function a0_0x10be(){const _0x3830bb=['BMfTzq','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','CMf0zv9SAw1PDf9YzwnVDMvYEq','zxjYB3jZqNLbz2vUDa','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','B3bLCMf0Aw9U','Dw5KzwzPBMvK','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','Cg93','Dg9VBeLK','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','C2v0','ntGXmZG0qLvUq0zj','tM8GCMvJB3zLCNKGC3rYyxrLz3KGyxzHAwXHyMXL','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','zgvIDwC','Dg90ywXfCNjVCNm','vu5ltK9xtL9fuLjpuG','y29UzMLN','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','mJqXmdiYCKTMBejR','ChjVy2vZC0vYCM9YuxvLDwu','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','zxjYB3i','BwvKAxvT','B3bLCMf0Aw9Uswq','uKfurv9msu1jvf9fwenfrurfra','qxv0AgvUDgLJyxrPB24GzMfPBhvYzsbKzxrLy3rLza','BgvUz3rO','vKfmsurbveLptL9fuLjpuG','mZqWmKLVBMP4sa','nNDlsLvODG','zgf0yv9Zyw5PDgL6yxrPB24','zxjYB3jtDwjZy3jPyMvYCW','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','Dg9tDhjPBMC','y2XHC3nPzNLfCNjVCG','AgfZ','Aw5JCMvHC2vKx3rPBwvVDxq','Aw5JBhvKzxm','ywDLBNrjza','mti1odvLwuXtzK4','zgv0zxjTAw5Lu2v2zxjPDhK','zNjVBuvUDhjPzxm','BwvZC2fNzq','nJK5odC2mevbsvf6qW','Bg9NrxjYB3i','C2v0DxbfCNjVCLbYB2nLC3nPBMC','q09orKLhvvjbveLptL9fuLjpuG','C3rHDhvZ','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','CMv0CNLdB3vUDa','z2vUzxjHDgvfCNjVCKLK','DxbKyxrLrxjYB3jtDgf0CW','Aw5MBW','uevstuLtu0LptL9eru5jruq','zgvSzxrL','zgvSyxLFCMv0CNK','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','D2fYBG','zxjYB3jrDwv1zq','BM90Awz5u3vIC2nYAwjLCNm','odm3odiYmfLJyNntDG','AxnszwnVDMvYywjSzq','y2XLyxjfCNjVCLn0yxrZ','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','mty5mtC5mLfVz2rbuW','t1bfuKfusu9ox1rjtuvpvvq','AgfUzgXLq3jPDgLJywXfCNjVCG','CMvJB3zLCNLbDhrLBxb0CW','ywrK','CMfUzg9T','ru5pru5u','rK9sqKLerevo','Dw5JyxvNAhrFzxHJzxb0Aw9U','DgLTzw91Da','ChjVy2vZC0vYCM9Y','y29UDgv4Da','DgLTzxn0yw1W','DhLWzq','y3jPDgLJywW','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','y29UzMLNDxjHDgLVBG','zxjYxW','Dw5JyxvNAhrfEgnLChrPB24','uhjVy2vZC2LUzYbLCNjVCG','zgv0zxjTAw5LrxjYB3juExbL','CMvJB3zLCNLtDhjHDgvNAwvZ','C3vIC2nYAwjL','rufdq0vt','y29Kzq','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','qvvusevoveLdqvrjt05FrKfjteve','DMfSAwrHDgLVBL9YzwnVDMvYEq','AgLNAa','mJHMsuTVtwC','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','AxnqCM9JzxnZAw5NuxvLDwu','zxjYB3jtDgf0CW','BwLU','y2fSy3vSyxrLuMv0CNLezwXHEq','Bg9Nz2vY','z2v0','ywDLBNrFy29TBxvUAwnHDgLVBG','zMLSzvbHDgG','C3vJy2vZCW','Bwf4uMv0CMLLCW','DgLTzwqGB3v0','rKLmrv9ot1rFrK9vtKq','zxjYB3jZqNLuExbL','C2HVDwXKuMv0CNK','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','y3jPDgLJywXfCNjVCG','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','nwLKrwfJAW','ntG4odmZm3vWu3nSvW','z2v0rxjYB3jtDgf0CW','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','C3vJy2vZC2z1BfjLy292zxjPzxm','yxr0zw1WDfjLy292zxj5','C2v2zxjPDhK','mZz2DMfdBum'];a0_0x10be=function(){return _0x3830bb;};return a0_0x10be();}const a0_0x55125b=a0_0x1651;(function(_0x47a5ba,_0x42bd7b){const _0x401b6a=a0_0x1651,_0x13537c=_0x47a5ba();while(!![]){try{const _0x1fc723=-parseInt(_0x401b6a(0x1c9))/0x1*(-parseInt(_0x401b6a(0x1e7))/0x2)+parseInt(_0x401b6a(0x1f2))/0x3*(-parseInt(_0x401b6a(0x215))/0x4)+-parseInt(_0x401b6a(0x1fc))/0x5*(-parseInt(_0x401b6a(0x1f1))/0x6)+parseInt(_0x401b6a(0x232))/0x7*(-parseInt(_0x401b6a(0x1de))/0x8)+parseInt(_0x401b6a(0x200))/0x9+parseInt(_0x401b6a(0x211))/0xa+-parseInt(_0x401b6a(0x1ca))/0xb*(parseInt(_0x401b6a(0x1d0))/0xc);if(_0x1fc723===_0x42bd7b)break;else _0x13537c['push'](_0x13537c['shift']());}catch(_0x2bac86){_0x13537c['push'](_0x13537c['shift']());}}}(a0_0x10be,0xdc603));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x5ace9e,_0x4a702d){const _0x6c4376=a0_0x1651;this[_0x6c4376(0x1e4)]=_0x5ace9e||{},this['logger']=_0x4a702d,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x6c4376(0x22a)]=new Map(),this['errorSubscribers']=new Set(),this[_0x6c4376(0x20f)]=[],this[_0x6c4376(0x234)]=![],this['initializeRecoveryStrategies'](),this[_0x6c4376(0x202)]();}async['handleError'](_0x49b217,_0x22e167={}){const _0x31f185=a0_0x1651;try{const _0x50981d=this[_0x31f185(0x1f7)](_0x49b217,_0x22e167),_0xbea1c1=await this[_0x31f185(0x21f)](_0x50981d);return this[_0x31f185(0x208)](_0x50981d),this['notifySubscribers'](_0x50981d,_0xbea1c1),_0xbea1c1;}catch(_0x157593){return this[_0x31f185(0x238)][_0x31f185(0x1ea)]('Error\x20handling\x20failed',{'originalError':_0x49b217[_0x31f185(0x1ff)],'handlingError':_0x157593['message']}),{'success':![],'error':_0x157593,'recovery':null,'severity':'critical'};}}['classifyError'](_0x39f712,_0xbbc7e8={}){const _0x59d9c8=a0_0x1651,_0x5a15d8={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x39f712[_0x59d9c8(0x1ff)]||_0x39f712[_0x59d9c8(0x1f6)](),'stack':_0x39f712['stack']||null,'code':_0x39f712['code']||null,'type':this[_0x59d9c8(0x229)](_0x39f712,_0xbbc7e8),'severity':this[_0x59d9c8(0x1fd)](_0x39f712,_0xbbc7e8),'context':{..._0xbbc7e8},'recoverable':!![],'retryCount':_0xbbc7e8['retryCount']||0x0,'maxRetries':this['getMaxRetries'](_0x39f712,_0xbbc7e8)};return _0xbbc7e8['agentId']&&(_0x5a15d8['agentId']=_0xbbc7e8[_0x59d9c8(0x1fb)]),_0xbbc7e8['toolId']&&(_0x5a15d8['toolId']=_0xbbc7e8['toolId']),_0xbbc7e8['operationId']&&(_0x5a15d8['operationId']=_0xbbc7e8[_0x59d9c8(0x1ec)]),_0x5a15d8['recoverable']=this[_0x59d9c8(0x212)](_0x5a15d8),_0x5a15d8;}async['processError'](_0x16a272){const _0xd14a94=a0_0x1651;try{this['logger'][_0xd14a94(0x1ea)](_0xd14a94(0x228),{'errorId':_0x16a272['id'],'type':_0x16a272['type'],'severity':_0x16a272['severity'],'agentId':_0x16a272['agentId'],'message':_0x16a272[_0xd14a94(0x1ff)]});_0x16a272['severity']===_0xd14a94(0x223)&&await this['handleCriticalError'](_0x16a272);let _0x3c4ef9=null;return _0x16a272['recoverable']&&_0x16a272[_0xd14a94(0x206)]<_0x16a272['maxRetries']&&(_0x3c4ef9=await this[_0xd14a94(0x1ce)](_0x16a272)),await this[_0xd14a94(0x201)](_0x16a272,_0x3c4ef9),{'success':_0x3c4ef9?.[_0xd14a94(0x23c)]||![],'errorId':_0x16a272['id'],'errorType':_0x16a272[_0xd14a94(0x222)],'severity':_0x16a272[_0xd14a94(0x1cf)],'recovery':_0x3c4ef9,'shouldRetry':this[_0xd14a94(0x241)](_0x16a272,_0x3c4ef9),'retryDelay':this[_0xd14a94(0x237)](_0x16a272)};}catch(processingError){return this[_0xd14a94(0x238)][_0xd14a94(0x1ea)](_0xd14a94(0x1c8),{'errorId':_0x16a272['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x16a272['id'],'errorType':_0x16a272[_0xd14a94(0x222)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x55125b(0x1ce)](_0x3b665e){const _0x4a3d74=a0_0x55125b;try{this[_0x4a3d74(0x235)][_0x4a3d74(0x218)]++;const _0x3bde8c=this[_0x4a3d74(0x22a)][_0x4a3d74(0x239)](_0x3b665e[_0x4a3d74(0x222)])||this[_0x4a3d74(0x22a)]['get']('default');if(!_0x3bde8c)return this[_0x4a3d74(0x238)]['warn'](_0x4a3d74(0x1e0),{'errorType':_0x3b665e['type']}),{'success':![],'reason':_0x4a3d74(0x1df)};this[_0x4a3d74(0x238)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x3b665e['id'],'errorType':_0x3b665e['type'],'strategy':_0x3bde8c['name'],'retryCount':_0x3b665e[_0x4a3d74(0x206)]});const _0x2bd124=await _0x3bde8c['recover'](_0x3b665e);return _0x2bd124['success']?(this[_0x4a3d74(0x235)][_0x4a3d74(0x1cd)]++,this[_0x4a3d74(0x238)][_0x4a3d74(0x209)](_0x4a3d74(0x1cc),{'errorId':_0x3b665e['id'],'strategy':_0x3bde8c[_0x4a3d74(0x1d1)]})):this[_0x4a3d74(0x238)]['warn']('Error\x20recovery\x20failed',{'errorId':_0x3b665e['id'],'strategy':_0x3bde8c[_0x4a3d74(0x1d1)],'reason':_0x2bd124['reason']}),_0x2bd124;}catch(_0xa36480){return this[_0x4a3d74(0x238)]['error']('Recovery\x20attempt\x20failed',{'errorId':_0x3b665e['id'],'recoveryError':_0xa36480['message']}),{'success':![],'reason':_0x4a3d74(0x20d)+_0xa36480[_0x4a3d74(0x1ff)]};}}async[a0_0x55125b(0x217)](_0x290eca){const _0x2223b5=a0_0x55125b;try{this[_0x2223b5(0x235)]['criticalErrors']++,this[_0x2223b5(0x238)]['error'](_0x2223b5(0x214),{'errorId':_0x290eca['id'],'message':_0x290eca['message'],'context':_0x290eca['context']});typeof process!=='undefined'&&process['emit']&&process['emit'](_0x2223b5(0x1c7),_0x290eca);switch(_0x290eca['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x2223b5(0x1e6)](_0x290eca);break;case ERROR_TYPES[_0x2223b5(0x1ed)]:await this['handleRateLimitExceeded'](_0x290eca);break;case ERROR_TYPES[_0x2223b5(0x216)]:await this['handleOperationTimeout'](_0x290eca);break;default:await this[_0x2223b5(0x1d6)](_0x290eca);}}catch(_0x2aaa71){this['logger'][_0x2223b5(0x1ea)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x290eca['id'],'handlingError':_0x2aaa71[_0x2223b5(0x1ff)]});}}[a0_0x55125b(0x229)](_0x33de1b,_0x2ff497){const _0x3dadb8=a0_0x55125b;if(_0x33de1b['code']===_0x3dadb8(0x21b)||_0x33de1b['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x3dadb8(0x23f)];if(_0x33de1b[_0x3dadb8(0x22d)]===_0x3dadb8(0x22c)||_0x33de1b['status']===HTTP_STATUS[_0x3dadb8(0x21c)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x33de1b[_0x3dadb8(0x204)]===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x33de1b['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x3d2532=_0x33de1b['message']?.['toLowerCase']()||'';if(_0x3d2532[_0x3dadb8(0x1fa)](_0x3dadb8(0x21e))||_0x3d2532[_0x3dadb8(0x1fa)](_0x3dadb8(0x23e)))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x3d2532[_0x3dadb8(0x1fa)]('validation')||_0x3d2532[_0x3dadb8(0x1fa)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x3d2532[_0x3dadb8(0x1fa)]('config')||_0x3d2532['includes'](_0x3dadb8(0x225)))return ERROR_TYPES[_0x3dadb8(0x203)];if(_0x2ff497['operation']==='file_operation')return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x2ff497[_0x3dadb8(0x1d7)]==='api_request')return ERROR_TYPES[_0x3dadb8(0x1ed)];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x76d6e9,_0x26edf5){const _0x34b711=a0_0x55125b,_0x4e78de=[ERROR_TYPES[_0x34b711(0x22f)],ERROR_TYPES[_0x34b711(0x203)]],_0x350fac=[ERROR_TYPES[_0x34b711(0x1ed)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x41b7b9=this[_0x34b711(0x229)](_0x76d6e9,_0x26edf5);if(_0x4e78de[_0x34b711(0x1fa)](_0x41b7b9))return'critical';if(_0x350fac['includes'](_0x41b7b9))return _0x34b711(0x231);const _0x10e561=_0x26edf5&&_0x26edf5[_0x34b711(0x206)]||0x0;if(_0x10e561>=0x3)return _0x34b711(0x231);if(_0x26edf5&&_0x26edf5['agentId']&&_0x26edf5['operation']===_0x34b711(0x23a))return _0x34b711(0x1eb);return'low';}['isRecoverable'](_0x33479c){const _0x13296d=a0_0x55125b,_0x4ca117=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x4ca117['includes'](_0x33479c['type']))return![];if(_0x33479c[_0x13296d(0x206)]>=_0x33479c[_0x13296d(0x23d)])return![];if(_0x33479c[_0x13296d(0x1cf)]==='critical')return![];return!![];}['getMaxRetries'](_0x1e6d61,_0x3feec7){const _0x38a496=a0_0x55125b,_0x3f9ee8=this['determineErrorType'](_0x1e6d61,_0x3feec7),_0x279fd1={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0x38a496(0x216)]]:0x3,[ERROR_TYPES[_0x38a496(0x23f)]]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES[_0x38a496(0x1f0)]]:0x2,[ERROR_TYPES[_0x38a496(0x1e3)]]:0x3};return _0x279fd1[_0x3f9ee8]||0x3;}[a0_0x55125b(0x241)](_0x341fa9,_0x36ebbb){const _0x474d1e=a0_0x55125b;if(!_0x341fa9['recoverable'])return![];if(_0x341fa9[_0x474d1e(0x206)]>=_0x341fa9['maxRetries'])return![];if(_0x36ebbb&&_0x36ebbb[_0x474d1e(0x23c)])return![];return!![];}['calculateRetryDelay'](_0x329826){const _0x219677=a0_0x55125b,_0x3b5e65=0x3e8,_0x5a7544=0x7530,_0xaf8074=_0x3b5e65*Math[_0x219677(0x1da)](0x2,_0x329826['retryCount']),_0x3a9e0a=Math[_0x219677(0x21a)]()*0x3e8;return Math['min'](_0xaf8074+_0x3a9e0a,_0x5a7544);}['initializeRecoveryStrategies'](){const _0x49d959=a0_0x55125b;this['recoveryStrategies']['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':_0x49d959(0x22e),'recover':async _0x3104f1=>{const _0x3c5975=_0x49d959;if(_0x3104f1[_0x3c5975(0x220)][_0x3c5975(0x23b)])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':_0x3c5975(0x233)};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x49d959(0x22a)][_0x49d959(0x1dd)](ERROR_TYPES[_0x49d959(0x1ed)],{'name':_0x49d959(0x1d4),'recover':async _0x804db8=>{const _0x23ad3f=_0x49d959,_0xdb73b0=this['calculateRateLimitWait'](_0x804db8);return this['logger']['info'](_0x23ad3f(0x1c6),{'waitTime':_0xdb73b0}),await new Promise(_0x49c549=>setTimeout(_0x49c549,_0xdb73b0)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0xdb73b0};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x49d959(0x216)],{'name':'timeout_recovery','recover':async _0x4a3f16=>{const _0x2a3f95=_0x49d959;if(_0x4a3f16[_0x2a3f95(0x220)]['timeout']){const _0x284c58=Math[_0x2a3f95(0x236)](_0x4a3f16[_0x2a3f95(0x220)][_0x2a3f95(0x21e)]*1.5,0x493e0);return{'success':!![],'action':_0x2a3f95(0x1f9),'newTimeout':_0x284c58};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x49d959(0x22a)][_0x49d959(0x1dd)](ERROR_TYPES[_0x49d959(0x20a)],{'name':'permission_recovery','recover':async _0x464dac=>{const _0x1a7092=_0x49d959;return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':_0x1a7092(0x224)};}}),this[_0x49d959(0x22a)]['set'](ERROR_TYPES['VALIDATION_ERROR'],{'name':_0x49d959(0x230),'recover':async _0x111961=>{const _0x356995=_0x49d959;if(_0x111961['context']['inputData'])return{'success':!![],'action':_0x356995(0x1f3),'suggestion':_0x356995(0x205)};return{'success':![],'reason':_0x356995(0x1dc)};}}),this[_0x49d959(0x22a)][_0x49d959(0x1dd)]('default',{'name':'default_recovery','recover':async _0x158c31=>{const _0xcc4c57=_0x49d959,_0x366361=this[_0xcc4c57(0x237)](_0x158c31);return await new Promise(_0x26dd3b=>setTimeout(_0x26dd3b,_0x366361)),{'success':!![],'action':_0xcc4c57(0x20c),'delay':_0x366361};}});}async['handleAuthenticationFailure'](_0x10c06d){const _0x2f48d8=a0_0x55125b;this['logger'][_0x2f48d8(0x1ea)](_0x2f48d8(0x1ee),{'errorId':_0x10c06d['id']});if(_0x10c06d['agentId']){}}async['handleRateLimitExceeded'](_0x4908cc){const _0x52463d=a0_0x55125b,_0x51e84d=this[_0x52463d(0x1f5)](_0x4908cc);this[_0x52463d(0x238)][_0x52463d(0x20e)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4908cc['id'],'waitTime':_0x51e84d,'agentId':_0x4908cc['agentId']});if(_0x4908cc[_0x52463d(0x1fb)]){}}async[a0_0x55125b(0x1e5)](_0x1bb8e6){const _0x5d7ae2=a0_0x55125b;this['logger']['error'](_0x5d7ae2(0x1d2),{'errorId':_0x1bb8e6['id'],'operation':_0x1bb8e6['context']['operation'],'timeout':_0x1bb8e6[_0x5d7ae2(0x220)][_0x5d7ae2(0x21e)]});}async[a0_0x55125b(0x1d6)](_0x183528){const _0x804f6f=a0_0x55125b;this[_0x804f6f(0x238)][_0x804f6f(0x1ea)]('Generic\x20critical\x20error',{'errorId':_0x183528['id'],'type':_0x183528[_0x804f6f(0x222)],'message':_0x183528['message']}),_0x183528[_0x804f6f(0x1fb)]&&this['logger'][_0x804f6f(0x20e)](_0x804f6f(0x1d9),{'agentId':_0x183528['agentId']});}['calculateRateLimitWait'](_0x57d402){const _0x2681e1=a0_0x55125b,_0xf62bed=0xea60,_0x8a9ef5=Math[_0x2681e1(0x1da)](0x2,_0x57d402[_0x2681e1(0x206)]),_0x4c9cd4=0x493e0;return Math[_0x2681e1(0x236)](_0xf62bed*_0x8a9ef5,_0x4c9cd4);}async[a0_0x55125b(0x201)](_0x580fd4,_0x5b2e8d){const _0x49c2cc=a0_0x55125b;try{const _0x3cc9d8={'errorId':_0x580fd4['id'],'timestamp':_0x580fd4[_0x49c2cc(0x221)],'type':_0x580fd4['type'],'severity':_0x580fd4[_0x49c2cc(0x1cf)],'message':_0x580fd4[_0x49c2cc(0x1ff)],'agentId':_0x580fd4[_0x49c2cc(0x1fb)],'toolId':_0x580fd4[_0x49c2cc(0x1db)],'operationId':_0x580fd4[_0x49c2cc(0x1ec)],'retryCount':_0x580fd4[_0x49c2cc(0x206)],'recoveryAttempted':!!_0x5b2e8d,'recoverySuccess':_0x5b2e8d?.[_0x49c2cc(0x23c)]||![],'recoveryAction':_0x5b2e8d?.['action']||null};this[_0x49c2cc(0x20f)]['push'](_0x3cc9d8),!this['isProcessingQueue']&&this[_0x49c2cc(0x1e8)]();}catch(_0x1fd31c){this['logger'][_0x49c2cc(0x1ea)]('Error\x20logging\x20failed',{'errorId':_0x580fd4['id'],'loggingError':_0x1fd31c['message']});}}async[a0_0x55125b(0x1e8)](){const _0x4a726b=a0_0x55125b;if(this[_0x4a726b(0x234)]||this[_0x4a726b(0x20f)]['length']===0x0)return;this[_0x4a726b(0x234)]=!![];try{while(this['errorQueue'][_0x4a726b(0x1ef)]>0x0){const _0xedd82c=this[_0x4a726b(0x20f)]['splice'](0x0,0xa);this[_0x4a726b(0x238)][_0x4a726b(0x1e1)](_0x4a726b(0x1d3),{'batchSize':_0xedd82c['length']}),await new Promise(_0x3d258f=>setTimeout(_0x3d258f,0x64));}}catch(processingError){this[_0x4a726b(0x238)]['error']('Error\x20queue\x20processing\x20failed',{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x1630e7=a0_0x55125b;setInterval(()=>{const _0x1be9fd=a0_0x1651;this[_0x1be9fd(0x20f)]['length']>0x0&&this['processErrorQueue']();},0x1388),typeof process!==_0x1630e7(0x1d8)&&(process['on'](_0x1630e7(0x227),_0x36901d=>{const _0x1b45d2=_0x1630e7;this['handleError'](_0x36901d,{'type':_0x1b45d2(0x21d),'severity':'critical'});}),process['on']('unhandledRejection',(_0x185313,_0x2672bd)=>{const _0x4656d2=_0x1630e7;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x185313),{'type':_0x4656d2(0x1e9),'severity':'high','promise':_0x2672bd['toString']()});}));}['updateErrorStats'](_0x2d6e46){const _0x554b64=a0_0x55125b;this[_0x554b64(0x235)][_0x554b64(0x1e2)]++,!this[_0x554b64(0x235)]['errorsByType'][_0x554b64(0x1f8)](_0x2d6e46[_0x554b64(0x222)])&&this['errorStats'][_0x554b64(0x240)][_0x554b64(0x1dd)](_0x2d6e46[_0x554b64(0x222)],0x0),this['errorStats']['errorsByType'][_0x554b64(0x1dd)](_0x2d6e46['type'],this['errorStats'][_0x554b64(0x240)]['get'](_0x2d6e46['type'])+0x1),_0x2d6e46[_0x554b64(0x1fb)]&&(!this['errorStats']['errorsByAgent'][_0x554b64(0x1f8)](_0x2d6e46['agentId'])&&this[_0x554b64(0x235)][_0x554b64(0x1d5)][_0x554b64(0x1dd)](_0x2d6e46['agentId'],0x0),this['errorStats']['errorsByAgent'][_0x554b64(0x1dd)](_0x2d6e46[_0x554b64(0x1fb)],this['errorStats']['errorsByAgent']['get'](_0x2d6e46['agentId'])+0x1));}[a0_0x55125b(0x22b)](_0x581209){const _0x49cecd=a0_0x55125b;return this['errorSubscribers'][_0x49cecd(0x219)](_0x581209),()=>this['errorSubscribers'][_0x49cecd(0x20b)](_0x581209);}[a0_0x55125b(0x210)](_0x3f80cf,_0x23891b){const _0x5b9526=a0_0x55125b;this[_0x5b9526(0x1f4)]['forEach'](_0x57ebf0=>{try{_0x57ebf0(_0x3f80cf,_0x23891b);}catch(_0x771c24){this['logger']['error']('Error\x20subscriber\x20callback\x20failed',{'error':_0x771c24['message']});}});}[a0_0x55125b(0x207)](){const _0x4a8c04=a0_0x55125b;return _0x4a8c04(0x226)+Date['now']()+'_'+Math[_0x4a8c04(0x21a)]()[_0x4a8c04(0x1f6)](0x24)['substr'](0x2,0x9);}[a0_0x55125b(0x1cb)](){const _0x19ccc9=a0_0x55125b;return{'totalErrors':this['errorStats'][_0x19ccc9(0x1e2)],'errorsByType':Object[_0x19ccc9(0x1fe)](this[_0x19ccc9(0x235)]['errorsByType']),'errorsByAgent':Object[_0x19ccc9(0x1fe)](this['errorStats'][_0x19ccc9(0x1d5)]),'recoveryAttempts':this[_0x19ccc9(0x235)]['recoveryAttempts'],'successfulRecoveries':this[_0x19ccc9(0x235)][_0x19ccc9(0x1cd)],'recoverySuccessRate':this['errorStats'][_0x19ccc9(0x218)]>0x0?this[_0x19ccc9(0x235)][_0x19ccc9(0x1cd)]/this['errorStats'][_0x19ccc9(0x218)]:0x0,'criticalErrors':this[_0x19ccc9(0x235)]['criticalErrors'],'queueLength':this[_0x19ccc9(0x20f)][_0x19ccc9(0x1ef)]};}[a0_0x55125b(0x213)](){this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
1
+ const a0_0x40094b=a0_0x1123;function a0_0x1123(_0x191a45,_0x496afd){_0x191a45=_0x191a45-0x8b;const _0x1d748b=a0_0x1d74();let _0x112351=_0x1d748b[_0x191a45];if(a0_0x1123['YsHUSO']===undefined){var _0x3b5bf3=function(_0xa866fd){const _0x4d7ad5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1bd2ac='',_0x25a678='';for(let _0x3a30ed=0x0,_0x3fb6c4,_0x3b19c4,_0xca5bfd=0x0;_0x3b19c4=_0xa866fd['charAt'](_0xca5bfd++);~_0x3b19c4&&(_0x3fb6c4=_0x3a30ed%0x4?_0x3fb6c4*0x40+_0x3b19c4:_0x3b19c4,_0x3a30ed++%0x4)?_0x1bd2ac+=String['fromCharCode'](0xff&_0x3fb6c4>>(-0x2*_0x3a30ed&0x6)):0x0){_0x3b19c4=_0x4d7ad5['indexOf'](_0x3b19c4);}for(let _0x41ec6b=0x0,_0x264962=_0x1bd2ac['length'];_0x41ec6b<_0x264962;_0x41ec6b++){_0x25a678+='%'+('00'+_0x1bd2ac['charCodeAt'](_0x41ec6b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25a678);};a0_0x1123['HzGqGR']=_0x3b5bf3,a0_0x1123['DWImlu']={},a0_0x1123['YsHUSO']=!![];}const _0x3c59aa=_0x1d748b[0x0],_0x27d529=_0x191a45+_0x3c59aa,_0x289230=a0_0x1123['DWImlu'][_0x27d529];return!_0x289230?(_0x112351=a0_0x1123['HzGqGR'](_0x112351),a0_0x1123['DWImlu'][_0x27d529]=_0x112351):_0x112351=_0x289230,_0x112351;}(function(_0x1fd026,_0x2fb230){const _0x5c5c31=a0_0x1123,_0xeb1d15=_0x1fd026();while(!![]){try{const _0x2fe551=parseInt(_0x5c5c31(0xa0))/0x1+-parseInt(_0x5c5c31(0xae))/0x2+parseInt(_0x5c5c31(0xf6))/0x3+parseInt(_0x5c5c31(0xce))/0x4*(-parseInt(_0x5c5c31(0x90))/0x5)+-parseInt(_0x5c5c31(0xac))/0x6*(parseInt(_0x5c5c31(0x8e))/0x7)+-parseInt(_0x5c5c31(0xd0))/0x8+parseInt(_0x5c5c31(0x99))/0x9;if(_0x2fe551===_0x2fb230)break;else _0xeb1d15['push'](_0xeb1d15['shift']());}catch(_0x554116){_0xeb1d15['push'](_0xeb1d15['shift']());}}}(a0_0x1d74,0xe2bf4));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x1d74(){const _0x49c330=['vu5ltK9xtL9fuLjpuG','zgv0zxjTAw5Lu2v2zxjPDhK','zxjYB3i','Dw5KzwzPBMvK','DgLTzw91Da','mJqXnJu0nwDzDfrLwq','tK9ux0zpvu5e','ywDLBNrjza','AxnszwnVDMvYywjSzq','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','ntmYn1LsrMzTDW','Cg93','nvLjyM50wq','ChvZAa','qvvusevoveLdqvrjt05FrKfjteve','C2v0','C3rHy2S','y29Kzq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','tM8GCMvJB3zLCNKGC3rYyxrLz3KGyxzHAwXHyMXL','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','nta4otK0mtbLEeLnBxy','y2XLyxjfCNjVCLn0yxrZ','Aw52ywXPza','zxjYB3jrDwv1zq','Dg9VBeLK','C3vJy2vZCW','BwvZC2fNzq','mte4mde3thjIuuni','D2fYBG','zxjYxW','C3bSAwnL','ChjVy2vZC0vYCM9YuxvLDwu','zxjYB3jtDwjZy3jPyMvYCW','q09orKLhvvjbveLptL9fuLjpuG','zNjVBuvUDhjPzxm','zw1PDa','BMfTzq','BwLU','tM8GzMLSzsbWyxrOihbYB3zPzgvK','ntaYmMXxrxjyAq','C3rHDhvZ','mZy4mtaXnePusML0CW','rKLmrv9ot1rFrK9vtKq','C3vIC3rY','zxjYB3jtDgf0CW','CMvJB3zLCNLtDhjHDgvNAwvZ','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','CMvJB3zLCNLbDhrLBxb0CW','C3vIC2nYAwjL','y3jPDgLJywW','CMvJB3zLCMfIBgu','C2v0DxbfCNjVCLbYB2nLC3nPBMC','B3bLCMf0Aw9U','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','zgvIDwC','y2XHC3nPzNLfCNjVCG','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jZqNLbz2vUDa','CMf0zv9SAw1PDf9YzwnVDMvYEq','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','rxjYB3iGBg9Nz2LUzYbMywLSzwq','zgvSzxrL','Dg9mB3DLCKnHC2u','rK9sqKLerevo','zgv0zxjTAw5LrxjYB3juExbL','AgLNAa','y29UDgv4Da','yxbPx3jLCxvLC3q','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','uevstuLtu0LptL9eru5jruq','zxjYB3jZqNLuExbL','z2vUzxjHDgvfCNjVCKLK','ntC1odq1nK9hAvjTra','Dw5JyxvNAhrfEgnLChrPB24','mtm4nJu1mdrAChLiANO','AgfUzgXLrxjYB3i','Aw5MBW','AxnqCM9JzxnZAw5NuxvLDwu','vKfmsurbveLptL9fuLjpuG','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','ru5pru5u','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','DxbKyxrLrxjYB3jtDgf0CW','C2v2zxjPDhK','Aw5JBhvKzxm','DgLTzwqGB3v0','Dg9tDhjPBMC','uhjVy2vZC2LUzYbLCNjVCG','CMv0CNLdB3vUDa','BgvUz3rO','B3bLCMf0Aw9Uswq','yxr0zw1WDfjLy292zxj5','zgf0yv9Zyw5PDgL6yxrPB24','y2fSy3vSyxrLuMv0CNLezwXHEq','uKfurv9msu1jvf9fwenfrurfra','DhLWzq','AgfUzgXLq3jPDgLJywXfCNjVCG','CMvJB3zLCG','AgfZ','C3vJy2vZC2z1BfjLy292zxjPzxm','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','Bg9Nz2vY','rxjYB3iGC3vIC2nYAwjLCIbJywXSyMfJAYbMywLSzwq','C2HVDwXKuMv0CNK','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','z2v0'];a0_0x1d74=function(){return _0x49c330;};return a0_0x1d74();}export class ErrorHandler{constructor(_0x1bd2ac,_0x25a678){const _0x33727d=a0_0x1123;this['config']=_0x1bd2ac||{},this[_0x33727d(0xec)]=_0x25a678,this[_0x33727d(0xb1)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['recoveryStrategies']=new Map(),this[_0x33727d(0xa5)]=new Set(),this['errorQueue']=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x33727d(0xb8)]();}async[a0_0x40094b(0xd1)](_0x3a30ed,_0x3fb6c4={}){const _0x1740f2=a0_0x40094b;try{const _0x3b19c4=this[_0x1740f2(0xbc)](_0x3a30ed,_0x3fb6c4),_0xca5bfd=await this['processError'](_0x3b19c4);return this[_0x1740f2(0xd8)](_0x3b19c4),this['notifySubscribers'](_0x3b19c4,_0xca5bfd),_0xca5bfd;}catch(_0x41ec6b){return this['logger'][_0x1740f2(0xf3)]('Error\x20handling\x20failed',{'originalError':_0x3a30ed['message'],'handlingError':_0x41ec6b[_0x1740f2(0x9f)]}),{'success':![],'error':_0x41ec6b,'recovery':null,'severity':_0x1740f2(0xb6)};}}[a0_0x40094b(0xbc)](_0x264962,_0x109c79={}){const _0x48bf1b=a0_0x40094b,_0x166c85={'id':this[_0x48bf1b(0xcd)](),'timestamp':new Date()['toISOString'](),'message':_0x264962['message']||_0x264962['toString'](),'stack':_0x264962[_0x48bf1b(0x94)]||null,'code':_0x264962[_0x48bf1b(0x95)]||null,'type':this[_0x48bf1b(0xc6)](_0x264962,_0x109c79),'severity':this[_0x48bf1b(0xf2)](_0x264962,_0x109c79),'context':{..._0x109c79},'recoverable':!![],'retryCount':_0x109c79['retryCount']||0x0,'maxRetries':this['getMaxRetries'](_0x264962,_0x109c79)};return _0x109c79['agentId']&&(_0x166c85[_0x48bf1b(0x8b)]=_0x109c79[_0x48bf1b(0x8b)]),_0x109c79[_0x48bf1b(0x9d)]&&(_0x166c85[_0x48bf1b(0x9d)]=_0x109c79[_0x48bf1b(0x9d)]),_0x109c79['operationId']&&(_0x166c85['operationId']=_0x109c79[_0x48bf1b(0xe0)]),_0x166c85[_0x48bf1b(0xb7)]=this[_0x48bf1b(0x8c)](_0x166c85),_0x166c85;}async['processError'](_0x1f0099){const _0x5d4063=a0_0x40094b;try{this['logger']['error'](_0x5d4063(0xdd),{'errorId':_0x1f0099['id'],'type':_0x1f0099[_0x5d4063(0xe5)],'severity':_0x1f0099['severity'],'agentId':_0x1f0099['agentId'],'message':_0x1f0099['message']});_0x1f0099[_0x5d4063(0xd9)]===_0x5d4063(0xb6)&&await this[_0x5d4063(0xe6)](_0x1f0099);let _0xb93a23=null;return _0x1f0099[_0x5d4063(0xb7)]&&_0x1f0099['retryCount']<_0x1f0099['maxRetries']&&(_0xb93a23=await this[_0x5d4063(0xe1)](_0x1f0099)),await this['logError'](_0x1f0099,_0xb93a23),{'success':_0xb93a23?.[_0x5d4063(0x9e)]||![],'errorId':_0x1f0099['id'],'errorType':_0x1f0099['type'],'severity':_0x1f0099['severity'],'recovery':_0xb93a23,'shouldRetry':this[_0x5d4063(0xee)](_0x1f0099,_0xb93a23),'retryDelay':this[_0x5d4063(0xe3)](_0x1f0099)};}catch(processingError){return this['logger'][_0x5d4063(0xf3)]('Error\x20processing\x20failed',{'errorId':_0x1f0099['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x1f0099['id'],'errorType':_0x1f0099[_0x5d4063(0xe5)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x40094b(0xe1)](_0x2bbb93){const _0x5e63cd=a0_0x40094b;try{this['errorStats']['recoveryAttempts']++;const _0x28f7bc=this[_0x5e63cd(0xb2)][_0x5e63cd(0xf0)](_0x2bbb93[_0x5e63cd(0xe5)])||this[_0x5e63cd(0xb2)][_0x5e63cd(0xf0)]('default');if(!_0x28f7bc)return this[_0x5e63cd(0xec)][_0x5e63cd(0xa1)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x2bbb93['type']}),{'success':![],'reason':_0x5e63cd(0x97)};this['logger'][_0x5e63cd(0xd2)](_0x5e63cd(0xb3),{'errorId':_0x2bbb93['id'],'errorType':_0x2bbb93['type'],'strategy':_0x28f7bc[_0x5e63cd(0xa9)],'retryCount':_0x2bbb93['retryCount']});const _0x540d7c=await _0x28f7bc[_0x5e63cd(0xe7)](_0x2bbb93);return _0x540d7c[_0x5e63cd(0x9e)]?(this['errorStats'][_0x5e63cd(0xe9)]++,this['logger'][_0x5e63cd(0xd2)]('Error\x20recovery\x20successful',{'errorId':_0x2bbb93['id'],'strategy':_0x28f7bc[_0x5e63cd(0xa9)]})):this[_0x5e63cd(0xec)][_0x5e63cd(0xa1)]('Error\x20recovery\x20failed',{'errorId':_0x2bbb93['id'],'strategy':_0x28f7bc[_0x5e63cd(0xa9)],'reason':_0x540d7c['reason']}),_0x540d7c;}catch(_0x1e3eb4){return this['logger'][_0x5e63cd(0xf3)]('Recovery\x20attempt\x20failed',{'errorId':_0x2bbb93['id'],'recoveryError':_0x1e3eb4['message']}),{'success':![],'reason':_0x5e63cd(0x96)+_0x1e3eb4[_0x5e63cd(0x9f)]};}}async['handleCriticalError'](_0x497788){const _0x326632=a0_0x40094b;try{this[_0x326632(0xb1)]['criticalErrors']++,this['logger']['error']('Critical\x20error\x20detected',{'errorId':_0x497788['id'],'message':_0x497788[_0x326632(0x9f)],'context':_0x497788[_0x326632(0xc8)]});typeof process!==_0x326632(0xf4)&&process[_0x326632(0xa8)]&&process['emit']('criticalError',_0x497788);switch(_0x497788['type']){case ERROR_TYPES[_0x326632(0x92)]:await this[_0x326632(0xbd)](_0x497788);break;case ERROR_TYPES[_0x326632(0xe4)]:await this[_0x326632(0xd7)](_0x497788);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this['handleOperationTimeout'](_0x497788);break;default:await this['handleGenericCriticalError'](_0x497788);}}catch(_0x1c2855){this[_0x326632(0xec)][_0x326632(0xf3)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x497788['id'],'handlingError':_0x1c2855['message']});}}[a0_0x40094b(0xc6)](_0xc2ad7a,_0x304501){const _0xe43ce2=a0_0x40094b;if(_0xc2ad7a['code']===_0xe43ce2(0xd6)||_0xc2ad7a['status']===HTTP_STATUS[_0xe43ce2(0xf7)])return ERROR_TYPES[_0xe43ce2(0xaf)];if(_0xc2ad7a['code']==='EACCES'||_0xc2ad7a[_0xe43ce2(0xad)]===HTTP_STATUS[_0xe43ce2(0xc5)])return ERROR_TYPES[_0xe43ce2(0xcb)];if(_0xc2ad7a['status']===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES[_0xe43ce2(0x92)];if(_0xc2ad7a['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0xe43ce2(0xe4)];const _0x5b4ffa=_0xc2ad7a['message']?.[_0xe43ce2(0xc4)]()||'';if(_0x5b4ffa[_0xe43ce2(0xda)]('timeout')||_0x5b4ffa[_0xe43ce2(0xda)](_0xe43ce2(0xdb)))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x5b4ffa[_0xe43ce2(0xda)]('validation')||_0x5b4ffa['includes'](_0xe43ce2(0x9b)))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x5b4ffa['includes']('config')||_0x5b4ffa['includes']('configuration'))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x304501[_0xe43ce2(0xb9)]==='file_operation')return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x304501['operation']===_0xe43ce2(0xc9))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0xe43ce2(0xf1)];}[a0_0x40094b(0xf2)](_0xcab89e,_0x5c493a){const _0x3de4d2=a0_0x40094b,_0x578866=[ERROR_TYPES[_0x3de4d2(0x92)],ERROR_TYPES['CONFIGURATION_ERROR']],_0x1b5f16=[ERROR_TYPES[_0x3de4d2(0xe4)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x2ca097=this['determineErrorType'](_0xcab89e,_0x5c493a);if(_0x578866['includes'](_0x2ca097))return _0x3de4d2(0xb6);if(_0x1b5f16['includes'](_0x2ca097))return'high';const _0x3a97ee=_0x5c493a&&_0x5c493a['retryCount']||0x0;if(_0x3a97ee>=0x3)return _0x3de4d2(0xc7);if(_0x5c493a&&_0x5c493a['agentId']&&_0x5c493a['operation']==='agent_communication')return'medium';return'low';}['isRecoverable'](_0x587088){const _0x3403cc=a0_0x40094b,_0x593303=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x3403cc(0xa6)]];if(_0x593303['includes'](_0x587088[_0x3403cc(0xe5)]))return![];if(_0x587088['retryCount']>=_0x587088['maxRetries'])return![];if(_0x587088[_0x3403cc(0xd9)]==='critical')return![];return!![];}['getMaxRetries'](_0x5101f6,_0x1af5a6){const _0x26c022=a0_0x40094b,_0x5f24d6=this['determineErrorType'](_0x5101f6,_0x1af5a6),_0x57f73b={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES[_0x26c022(0xcb)]]:0x1,[ERROR_TYPES[_0x26c022(0xd4)]]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x57f73b[_0x5f24d6]||0x3;}[a0_0x40094b(0xee)](_0x5d2658,_0x178ffc){if(!_0x5d2658['recoverable'])return![];if(_0x5d2658['retryCount']>=_0x5d2658['maxRetries'])return![];if(_0x178ffc&&_0x178ffc['success'])return![];return!![];}['calculateRetryDelay'](_0xc4d385){const _0x16a613=a0_0x40094b,_0x41d2aa=0x3e8,_0x4fed13=0x7530,_0x3f779c=_0x41d2aa*Math['pow'](0x2,_0xc4d385[_0x16a613(0xde)]),_0xfc3b14=Math['random']()*0x3e8;return Math[_0x16a613(0xaa)](_0x3f779c+_0xfc3b14,_0x4fed13);}[a0_0x40094b(0x8d)](){const _0x5777c6=a0_0x40094b;this[_0x5777c6(0xb2)]['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':_0x5777c6(0xef),'recover':async _0x33f0e7=>{const _0x114c50=_0x5777c6;if(_0x33f0e7[_0x114c50(0xc8)]['filePath'])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x114c50(0xab)};}}),this['recoveryStrategies'][_0x5777c6(0x93)](ERROR_TYPES[_0x5777c6(0xe4)],{'name':_0x5777c6(0xc0),'recover':async _0x203abf=>{const _0x30e104=_0x5777c6,_0xff9bd9=this[_0x30e104(0x98)](_0x203abf);return this[_0x30e104(0xec)]['info'](_0x30e104(0xba),{'waitTime':_0xff9bd9}),await new Promise(_0x1c0ba6=>setTimeout(_0x1c0ba6,_0xff9bd9)),{'success':!![],'action':_0x30e104(0xd5),'waitTime':_0xff9bd9};}}),this['recoveryStrategies']['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x5a7830=>{const _0x5cfc68=_0x5777c6;if(_0x5a7830[_0x5cfc68(0xc8)]['timeout']){const _0x5d8b81=Math['min'](_0x5a7830[_0x5cfc68(0xc8)]['timeout']*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x5d8b81};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies']['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':'permission_recovery','recover':async _0x12404a=>{const _0x1a1c98=_0x5777c6;return{'success':![],'reason':_0x1a1c98(0xea),'suggestion':'Check\x20file/directory\x20permissions'};}}),this['recoveryStrategies'][_0x5777c6(0x93)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x4f733e=>{const _0x312509=_0x5777c6;if(_0x4f733e['context']['inputData'])return{'success':!![],'action':_0x312509(0xe2),'suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this[_0x5777c6(0xb2)]['set']('default',{'name':'default_recovery','recover':async _0x14802c=>{const _0xd33f59=_0x5777c6,_0xa55424=this[_0xd33f59(0xe3)](_0x14802c);return await new Promise(_0x1e823f=>setTimeout(_0x1e823f,_0xa55424)),{'success':!![],'action':'delay_retry','delay':_0xa55424};}});}async['handleAuthenticationFailure'](_0x4b1163){const _0xb4e351=a0_0x40094b;this[_0xb4e351(0xec)][_0xb4e351(0xf3)]('Authentication\x20failure\x20detected',{'errorId':_0x4b1163['id']});if(_0x4b1163[_0xb4e351(0x8b)]){}}async[a0_0x40094b(0xd7)](_0x3f2b24){const _0x1ce16f=a0_0x40094b,_0x2d79a5=this['calculateRateLimitWait'](_0x3f2b24);this[_0x1ce16f(0xec)]['warn'](_0x1ce16f(0xeb),{'errorId':_0x3f2b24['id'],'waitTime':_0x2d79a5,'agentId':_0x3f2b24['agentId']});if(_0x3f2b24[_0x1ce16f(0x8b)]){}}async[a0_0x40094b(0xca)](_0x4b5f8c){const _0x2d706d=a0_0x40094b;this[_0x2d706d(0xec)][_0x2d706d(0xf3)]('Operation\x20timeout\x20detected',{'errorId':_0x4b5f8c['id'],'operation':_0x4b5f8c['context']['operation'],'timeout':_0x4b5f8c[_0x2d706d(0xc8)][_0x2d706d(0xf5)]});}async['handleGenericCriticalError'](_0x1eada1){const _0x2a81b5=a0_0x40094b;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x1eada1['id'],'type':_0x1eada1['type'],'message':_0x1eada1['message']}),_0x1eada1[_0x2a81b5(0x8b)]&&this['logger']['warn']('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x1eada1[_0x2a81b5(0x8b)]});}[a0_0x40094b(0x98)](_0x23c2d1){const _0x48d310=a0_0x40094b,_0x24df2f=0xea60,_0x3b2541=Math[_0x48d310(0x8f)](0x2,_0x23c2d1['retryCount']),_0x1aa2d3=0x493e0;return Math['min'](_0x24df2f*_0x3b2541,_0x1aa2d3);}async['logError'](_0xa0111d,_0x5b61e6){const _0x4d6fe7=a0_0x40094b;try{const _0x1619bd={'errorId':_0xa0111d['id'],'timestamp':_0xa0111d['timestamp'],'type':_0xa0111d['type'],'severity':_0xa0111d['severity'],'message':_0xa0111d[_0x4d6fe7(0x9f)],'agentId':_0xa0111d[_0x4d6fe7(0x8b)],'toolId':_0xa0111d['toolId'],'operationId':_0xa0111d[_0x4d6fe7(0xe0)],'retryCount':_0xa0111d['retryCount'],'recoveryAttempted':!!_0x5b61e6,'recoverySuccess':_0x5b61e6?.['success']||![],'recoveryAction':_0x5b61e6?.['action']||null};this[_0x4d6fe7(0x9c)][_0x4d6fe7(0x91)](_0x1619bd),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x5ccf4e){this['logger'][_0x4d6fe7(0xf3)](_0x4d6fe7(0xc2),{'errorId':_0xa0111d['id'],'loggingError':_0x5ccf4e[_0x4d6fe7(0x9f)]});}}async[a0_0x40094b(0xa4)](){const _0x974625=a0_0x40094b;if(this['isProcessingQueue']||this['errorQueue'][_0x974625(0xdf)]===0x0)return;this[_0x974625(0xd3)]=!![];try{while(this[_0x974625(0x9c)]['length']>0x0){const _0xb0382d=this['errorQueue'][_0x974625(0xa3)](0x0,0xa);this['logger'][_0x974625(0xbb)](_0x974625(0xc1),{'batchSize':_0xb0382d[_0x974625(0xdf)]}),await new Promise(_0x279516=>setTimeout(_0x279516,0x64));}}catch(processingError){this['logger'][_0x974625(0xf3)](_0x974625(0xbe),{'error':processingError[_0x974625(0x9f)]});}finally{this['isProcessingQueue']=![];}}[a0_0x40094b(0xb8)](){const _0x3e232c=a0_0x40094b;setInterval(()=>{const _0x101946=a0_0x1123;this[_0x101946(0x9c)]['length']>0x0&&this[_0x101946(0xa4)]();},0x1388),typeof process!=='undefined'&&(process['on'](_0x3e232c(0xcf),_0xbb4835=>{const _0x38bf0a=_0x3e232c;this[_0x38bf0a(0xd1)](_0xbb4835,{'type':'uncaught_exception','severity':_0x38bf0a(0xb6)});}),process['on']('unhandledRejection',(_0x4c044d,_0x593878)=>{const _0x194e95=_0x3e232c;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x4c044d),{'type':'unhandled_rejection','severity':'high','promise':_0x593878[_0x194e95(0xdc)]()});}));}[a0_0x40094b(0xd8)](_0x51a54d){const _0x4515ed=a0_0x40094b;this[_0x4515ed(0xb1)]['totalErrors']++,!this['errorStats'][_0x4515ed(0xcc)][_0x4515ed(0xe8)](_0x51a54d['type'])&&this['errorStats'][_0x4515ed(0xcc)][_0x4515ed(0x93)](_0x51a54d[_0x4515ed(0xe5)],0x0),this['errorStats']['errorsByType']['set'](_0x51a54d[_0x4515ed(0xe5)],this[_0x4515ed(0xb1)][_0x4515ed(0xcc)]['get'](_0x51a54d['type'])+0x1),_0x51a54d[_0x4515ed(0x8b)]&&(!this[_0x4515ed(0xb1)]['errorsByAgent'][_0x4515ed(0xe8)](_0x51a54d[_0x4515ed(0x8b)])&&this['errorStats']['errorsByAgent']['set'](_0x51a54d['agentId'],0x0),this['errorStats']['errorsByAgent'][_0x4515ed(0x93)](_0x51a54d['agentId'],this['errorStats']['errorsByAgent'][_0x4515ed(0xf0)](_0x51a54d[_0x4515ed(0x8b)])+0x1));}[a0_0x40094b(0xb5)](_0x3c96ec){const _0x58c7ad=a0_0x40094b;return this['errorSubscribers']['add'](_0x3c96ec),()=>this['errorSubscribers'][_0x58c7ad(0xc3)](_0x3c96ec);}['notifySubscribers'](_0x17ddf8,_0x57d3ce){this['errorSubscribers']['forEach'](_0x475164=>{const _0x2f7e7f=a0_0x1123;try{_0x475164(_0x17ddf8,_0x57d3ce);}catch(_0x3e5d88){this[_0x2f7e7f(0xec)][_0x2f7e7f(0xf3)](_0x2f7e7f(0xed),{'error':_0x3e5d88[_0x2f7e7f(0x9f)]});}});}[a0_0x40094b(0xcd)](){const _0x14cccc=a0_0x40094b;return _0x14cccc(0xa2)+Date['now']()+'_'+Math['random']()[_0x14cccc(0xdc)](0x24)[_0x14cccc(0xb0)](0x2,0x9);}['getErrorStats'](){const _0x209597=a0_0x40094b;return{'totalErrors':this[_0x209597(0xb1)]['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats']['errorsByType']),'errorsByAgent':Object[_0x209597(0xa7)](this['errorStats'][_0x209597(0xbf)]),'recoveryAttempts':this[_0x209597(0xb1)][_0x209597(0xb4)],'successfulRecoveries':this['errorStats']['successfulRecoveries'],'recoverySuccessRate':this[_0x209597(0xb1)]['recoveryAttempts']>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this['errorStats']['criticalErrors'],'queueLength':this['errorQueue'][_0x209597(0xdf)]};}[a0_0x40094b(0x9a)](){this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- const a0_0x31774b=a0_0x4173;(function(_0x462c90,_0x12a14){const _0x3faf3b=a0_0x4173,_0x5d8b8b=_0x462c90();while(!![]){try{const _0x24f6f5=parseInt(_0x3faf3b(0x1ba))/0x1+parseInt(_0x3faf3b(0x1f7))/0x2*(parseInt(_0x3faf3b(0x1e2))/0x3)+parseInt(_0x3faf3b(0x1b9))/0x4+parseInt(_0x3faf3b(0x1bb))/0x5+-parseInt(_0x3faf3b(0x1fb))/0x6+parseInt(_0x3faf3b(0x1e6))/0x7*(-parseInt(_0x3faf3b(0x1c1))/0x8)+parseInt(_0x3faf3b(0x1f5))/0x9*(-parseInt(_0x3faf3b(0x1ea))/0xa);if(_0x24f6f5===_0x12a14)break;else _0x5d8b8b['push'](_0x5d8b8b['shift']());}catch(_0x32630f){_0x5d8b8b['push'](_0x5d8b8b['shift']());}}}(a0_0x5e1d,0xa9705));function a0_0x4173(_0x17dc47,_0x3fe104){_0x17dc47=_0x17dc47-0x1b9;const _0x5e1da6=a0_0x5e1d();let _0x417397=_0x5e1da6[_0x17dc47];if(a0_0x4173['oQhRgW']===undefined){var _0x4f2cef=function(_0x10c29d){const _0x381eee='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c1fed='',_0x53e444='';for(let _0x16474b=0x0,_0x1bfe09,_0x271c52,_0xb0a00d=0x0;_0x271c52=_0x10c29d['charAt'](_0xb0a00d++);~_0x271c52&&(_0x1bfe09=_0x16474b%0x4?_0x1bfe09*0x40+_0x271c52:_0x271c52,_0x16474b++%0x4)?_0x5c1fed+=String['fromCharCode'](0xff&_0x1bfe09>>(-0x2*_0x16474b&0x6)):0x0){_0x271c52=_0x381eee['indexOf'](_0x271c52);}for(let _0x125e2a=0x0,_0x2fdbbc=_0x5c1fed['length'];_0x125e2a<_0x2fdbbc;_0x125e2a++){_0x53e444+='%'+('00'+_0x5c1fed['charCodeAt'](_0x125e2a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53e444);};a0_0x4173['MXPjph']=_0x4f2cef,a0_0x4173['AkYyxC']={},a0_0x4173['oQhRgW']=!![];}const _0x486dbd=_0x5e1da6[0x0],_0x5a71fe=_0x17dc47+_0x486dbd,_0x140ef6=a0_0x4173['AkYyxC'][_0x5a71fe];return!_0x140ef6?(_0x417397=a0_0x4173['MXPjph'](_0x417397),a0_0x4173['AkYyxC'][_0x5a71fe]=_0x417397):_0x417397=_0x140ef6,_0x417397;}import a0_0x5c1fed from'path';import{fileURLToPath}from'url';import{randomUUID}from'crypto';import a0_0x53e444 from'../utilities/fileProcessor.js';function a0_0x5e1d(){const _0x33e301=['yxr0ywnOBwvUDhm','ywDLBNrjza','C3vIC3rYAw5N','Aw5KzxG','y29UDgvUDa','DMfSAwrHDg9Y','C3rYAw5NAwz5','Bg9HzeLUzgv4','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','CMvMzxjLBMnLzej5','Bg9Nz2vY','zMLSzuv4Axn0CW','Aw1Hz2u','mtjjEM5Mzfy','z2v0rMLSzvn0yxrZ','rxjYB3iGDxbSB2fKAw5NigzPBgu','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','nZu2n2zryvn3qG','zxH0BMfTzq','ChvZAa','qxr0ywnOBwvUDcb1CgrHDgvK','mJyZmZiZmhHvu2ThvG','rxjYB3iGBg9HzgLUzYbPBMrLEa','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGC2f2Aw5NigLUzgv4','C2f2zuLUzgv4','zgvSzxrLqxr0ywnOBwvUDa','Dg9ju09tDhjPBMC','z2v0qxr0ywnOBwvUDfbYzxzPzxC','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','Aw5MBW','y2fSy3vSyxrLsgfZAa','owDOthvwrW','DxrMoa','nJa0mZm2rMHhrKHH','z2v0qxr0ywnOBwvUDhm','BwvZC2fNzq','Bw9KAwzPzwq','nZG2nZq3mgriuMPJCG','z2v0q29UDgvUDfr5Cgu','ywDLBNrszwzZ','Bw9Kzq','vMfSAwrHDgLVBIbMywLSzwq6ia','BgvUz3rO','y29UDgvUDc50Ehq','y29UzMLN','C2L6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mta2nZKWnenrCuXMuG','mtaZmJe1ngfetfDMtq','ndC3nJq2mgndELzKCq','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','CgrM','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','z2v0qxr0ywnOBwvUDa','y3jLyxrLrgLYzwn0B3j5','odG0mefSEKrKra','BgfZDe1VzgLMAwvK','D2fYBMLUz3m','lI4U','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','y3DK','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','ywn0AxzL','rMLSzsbUB3qGzM91BMq6ia','DxbKyxrLqxr0ywnOBwvUDa','C3rHCNrZv2L0Aa','AM9PBG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','CMvMzxjLBMnL','zxjYB3i','Bwv0ywrHDgeUANnVBG','rMLSzsb1CgXVywrLza','zMLSzvbYB2nLC3nVCG','zMLSDgvY','D3jPDgvgAwXL'];a0_0x5e1d=function(){return _0x33e301;};return a0_0x5e1d();}import a0_0x16474b from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x5c1fed['dirname'](__filename),ATTACHMENTS_DIR=a0_0x5c1fed['join'](process[a0_0x31774b(0x1c6)](),'loxia-state',a0_0x31774b(0x1d5)),INDEX_FILE=a0_0x5c1fed[a0_0x31774b(0x1cc)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x1bfe09={},_0x271c52=null){const _0x121171=a0_0x31774b;this[_0x121171(0x202)]=_0x1bfe09,this['logger']=_0x271c52,this[_0x121171(0x1d2)]=new a0_0x53e444(_0x1bfe09,_0x271c52),this[_0x121171(0x1da)]=new a0_0x16474b(_0x1bfe09,_0x271c52),this[_0x121171(0x1d8)]=null;}async['initialize'](){const _0x15bc7e=a0_0x31774b;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x15bc7e(0x1dc)](),this['logger']?.['info']('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0xb0a00d){this[_0x15bc7e(0x1df)]?.['error']('Error\x20initializing\x20FileAttachmentService',{'error':_0xb0a00d['message']});throw _0xb0a00d;}}async[a0_0x31774b(0x1dc)](){const _0x36f9be=a0_0x31774b;try{const _0x125e2a=await this[_0x36f9be(0x1d2)][_0x36f9be(0x1e0)](INDEX_FILE);if(!_0x125e2a)this['index']={'attachments':{},'agentRefs':{}},await this[_0x36f9be(0x1ee)]();else{const _0x2fdbbc=await this[_0x36f9be(0x1d2)]['readFile'](INDEX_FILE,_0x36f9be(0x1f6));this['index']=JSON['parse'](_0x2fdbbc);}return this['index'];}catch(_0x458d0e){return this['logger']?.['error'](_0x36f9be(0x1eb),{'error':_0x458d0e[_0x36f9be(0x1f9)]}),this['index']={'attachments':{},'agentRefs':{}},this[_0x36f9be(0x1d8)];}}async[a0_0x31774b(0x1ee)](){const _0x454559=a0_0x31774b;try{await this[_0x454559(0x1d2)][_0x454559(0x1d4)](INDEX_FILE,JSON[_0x454559(0x1db)](this[_0x454559(0x1d8)],null,0x2),_0x454559(0x1f6));}catch(_0x74cf9){this[_0x454559(0x1df)]?.['error'](_0x454559(0x1ed),{'error':_0x74cf9[_0x454559(0x1f9)]});throw _0x74cf9;}}async['uploadFile']({agentId:_0x52aa03,filePath:_0x87542a,mode:mode=a0_0x31774b(0x1d9),fileName:fileName=null}){const _0x3194c6=a0_0x31774b;!this[_0x3194c6(0x1d8)]&&await this[_0x3194c6(0x1dc)]();try{const _0x4d0f17=await this['fileProcessor']['fileExists'](_0x87542a);if(!_0x4d0f17)throw new Error(_0x3194c6(0x1c9)+_0x87542a);const _0x792adb=await this['fileProcessor'][_0x3194c6(0x1e3)](_0x87542a),_0x5c9258=fileName||a0_0x5c1fed['basename'](_0x87542a),_0x2a2c47=a0_0x5c1fed[_0x3194c6(0x1e7)](_0x5c9258),_0xbe28=this[_0x3194c6(0x1da)]['validate']({'fileName':_0x5c9258,'size':_0x792adb['size'],'mode':mode,'path':mode===_0x3194c6(0x1ce)?_0x87542a:null});if(!_0xbe28['valid'])throw new Error(_0x3194c6(0x1ff)+_0xbe28['errors'][_0x3194c6(0x1cc)](',\x20'));const _0x20e843=randomUUID(),_0x181f4f=await this['fileProcessor'][_0x3194c6(0x1f4)](_0x87542a),_0x46f7b9=this['validator'][_0x3194c6(0x1fc)](_0x5c9258),_0x5a1e26=a0_0x5c1fed[_0x3194c6(0x1cc)](ATTACHMENTS_DIR,_0x52aa03,_0x20e843);await this['fileProcessor'][_0x3194c6(0x1c0)](_0x5a1e26);let _0x10c1fc=0x0,_0x13a5b0=null;if(mode==='content'){const processResult=await this['fileProcessor']['processFile'](_0x87542a,_0x46f7b9),_0x353659=processResult['content'];if(_0x46f7b9==='text')_0x13a5b0=_0x3194c6(0x201);else{if(_0x46f7b9===_0x3194c6(0x1e1))_0x13a5b0='content.base64';else _0x46f7b9===_0x3194c6(0x1bd)&&(_0x13a5b0=_0x3194c6(0x201));}const _0x370710=a0_0x5c1fed['join'](_0x5a1e26,_0x13a5b0);await this['fileProcessor'][_0x3194c6(0x1d4)](_0x370710,_0x353659,_0x3194c6(0x1f6)),_0x10c1fc=this['fileProcessor']['estimateTokens'](_0x353659);}const _0x4f81ae={'fileId':_0x20e843,'agentId':_0x52aa03,'fileName':_0x5c9258,'originalPath':_0x87542a,'fileType':this['validator']['getMimeType'](_0x5c9258),'fileExtension':_0x2a2c47,'size':_0x792adb[_0x3194c6(0x203)],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x792adb[_0x3194c6(0x1fa)]['toISOString'](),'hash':_0x181f4f,'tokenEstimate':_0x10c1fc,'contentType':_0x46f7b9,'contentFileName':_0x13a5b0,'warnings':_0xbe28[_0x3194c6(0x1c3)],'sizeLevel':_0xbe28['sizeLevel'],'importedFrom':null,'referencedBy':[_0x52aa03]},_0x34083a=a0_0x5c1fed[_0x3194c6(0x1cc)](_0x5a1e26,_0x3194c6(0x1d0));return await this[_0x3194c6(0x1d2)]['writeFile'](_0x34083a,JSON['stringify'](_0x4f81ae,null,0x2),'utf8'),this[_0x3194c6(0x1d8)][_0x3194c6(0x1d5)][_0x20e843]={'fileId':_0x20e843,'agentId':_0x52aa03,'fileName':_0x5c9258,'mode':mode,'active':_0x4f81ae['active'],'referencedBy':_0x4f81ae[_0x3194c6(0x1de)]},!this[_0x3194c6(0x1d8)]['agentRefs'][_0x52aa03]&&(this['index'][_0x3194c6(0x1fd)][_0x52aa03]=[]),this['index'][_0x3194c6(0x1fd)][_0x52aa03]['push'](_0x20e843),await this[_0x3194c6(0x1ee)](),this[_0x3194c6(0x1df)]?.[_0x3194c6(0x1f3)](_0x3194c6(0x1d1),{'fileId':_0x20e843,'agentId':_0x52aa03,'fileName':_0x5c9258,'mode':mode}),_0x4f81ae;}catch(_0x37fdb2){this[_0x3194c6(0x1df)]?.['error'](_0x3194c6(0x1e4),{'agentId':_0x52aa03,'filePath':_0x87542a,'error':_0x37fdb2[_0x3194c6(0x1f9)]});throw _0x37fdb2;}}async[a0_0x31774b(0x1f8)](_0x3ea19b,_0xba6611={}){const _0x11b1fb=a0_0x31774b;!this[_0x11b1fb(0x1d8)]&&await this['loadIndex']();try{const _0x3490a6=this[_0x11b1fb(0x1d8)][_0x11b1fb(0x1fd)][_0x3ea19b]||[],_0x1b8e2b=[];for(const _0x3cf02c of _0x3490a6){const _0x5aa304=await this[_0x11b1fb(0x1bf)](_0x3cf02c);if(_0x5aa304){if(_0xba6611['active']!==undefined&&_0x5aa304['active']!==_0xba6611[_0x11b1fb(0x1c8)])continue;if(_0xba6611[_0x11b1fb(0x1fe)]&&_0x5aa304['mode']!==_0xba6611['mode'])continue;_0x1b8e2b[_0x11b1fb(0x1e8)](_0x5aa304);}}return _0x1b8e2b;}catch(_0x3264cf){this[_0x11b1fb(0x1df)]?.['error']('Error\x20getting\x20attachments',{'agentId':_0x3ea19b,'error':_0x3264cf[_0x11b1fb(0x1f9)]});throw _0x3264cf;}}async['getAttachment'](_0x5a0cd8){const _0x3f83e4=a0_0x31774b;!this['index']&&await this[_0x3f83e4(0x1dc)]();try{const _0x5c3025=this['index']['attachments'][_0x5a0cd8];if(!_0x5c3025)return null;const _0x23961c=a0_0x5c1fed[_0x3f83e4(0x1cc)](ATTACHMENTS_DIR,_0x5c3025[_0x3f83e4(0x1d6)],_0x5a0cd8,'metadata.json'),_0x3db806=await this['fileProcessor'][_0x3f83e4(0x1e0)](_0x23961c);if(!_0x3db806)return this[_0x3f83e4(0x1df)]?.['warn'](_0x3f83e4(0x1be),{'fileId':_0x5a0cd8}),null;const _0x39aed2=await this['fileProcessor']['readFile'](_0x23961c,_0x3f83e4(0x1f6));return JSON['parse'](_0x39aed2);}catch(_0x937317){return this['logger']?.[_0x3f83e4(0x1cf)]('Error\x20getting\x20attachment',{'fileId':_0x5a0cd8,'error':_0x937317[_0x3f83e4(0x1f9)]}),null;}}async['getAttachmentContent'](_0xcc7f86){const _0x3bf9a1=a0_0x31774b;try{const _0x40c515=await this[_0x3bf9a1(0x1bf)](_0xcc7f86);if(!_0x40c515||_0x40c515['mode']!=='content')return null;const _0x2e5101=a0_0x5c1fed[_0x3bf9a1(0x1cc)](ATTACHMENTS_DIR,_0x40c515['agentId'],_0xcc7f86,_0x40c515['contentFileName']),_0x1a79d1=await this['fileProcessor']['fileExists'](_0x2e5101);if(!_0x1a79d1)return null;return await this['fileProcessor']['readFile'](_0x2e5101,'utf8');}catch(_0x254dab){return this[_0x3bf9a1(0x1df)]?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0xcc7f86,'error':_0x254dab['message']}),null;}}async['toggleActive'](_0x45550e){const _0x3286b2=a0_0x31774b;try{const _0x501776=await this[_0x3286b2(0x1bf)](_0x45550e);if(!_0x501776)throw new Error('Attachment\x20not\x20found:\x20'+_0x45550e);_0x501776['active']=!_0x501776['active'],_0x501776[_0x3286b2(0x1c2)]=new Date()[_0x3286b2(0x1f0)]();const _0xa3efc5=a0_0x5c1fed[_0x3286b2(0x1cc)](ATTACHMENTS_DIR,_0x501776[_0x3286b2(0x1d6)],_0x45550e,'metadata.json');return await this['fileProcessor']['writeFile'](_0xa3efc5,JSON[_0x3286b2(0x1db)](_0x501776,null,0x2),'utf8'),this['index']['attachments'][_0x45550e]&&(this[_0x3286b2(0x1d8)][_0x3286b2(0x1d5)][_0x45550e][_0x3286b2(0x1c8)]=_0x501776['active'],await this['saveIndex']()),this['logger']?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x45550e,'active':_0x501776['active']}),_0x501776;}catch(_0x37f951){this[_0x3286b2(0x1df)]?.[_0x3286b2(0x1cf)](_0x3286b2(0x1c5),{'fileId':_0x45550e,'error':_0x37f951['message']});throw _0x37f951;}}async[a0_0x31774b(0x1ca)](_0x21290a,_0x300362){const _0x430570=a0_0x31774b;try{const _0x3bc55e=await this[_0x430570(0x1bf)](_0x21290a);if(!_0x3bc55e)throw new Error(_0x430570(0x204)+_0x21290a);const _0x153b2f=['fileName','active'];for(const _0x13495e of _0x153b2f){_0x300362[_0x13495e]!==undefined&&(_0x3bc55e[_0x13495e]=_0x300362[_0x13495e]);}_0x3bc55e['lastModified']=new Date()['toISOString']();const _0x3890e3=a0_0x5c1fed['join'](ATTACHMENTS_DIR,_0x3bc55e[_0x430570(0x1d6)],_0x21290a,'metadata.json');return await this[_0x430570(0x1d2)][_0x430570(0x1d4)](_0x3890e3,JSON[_0x430570(0x1db)](_0x3bc55e,null,0x2),_0x430570(0x1f6)),this[_0x430570(0x1d8)][_0x430570(0x1d5)][_0x21290a]&&(_0x300362['fileName']&&(this['index']['attachments'][_0x21290a]['fileName']=_0x300362['fileName']),_0x300362['active']!==undefined&&(this[_0x430570(0x1d8)][_0x430570(0x1d5)][_0x21290a][_0x430570(0x1c8)]=_0x300362[_0x430570(0x1c8)]),await this[_0x430570(0x1ee)]()),this[_0x430570(0x1df)]?.[_0x430570(0x1f3)](_0x430570(0x1e9),{'fileId':_0x21290a,'updates':_0x300362}),_0x3bc55e;}catch(_0x2ca493){this['logger']?.['error'](_0x430570(0x1ec),{'fileId':_0x21290a,'error':_0x2ca493[_0x430570(0x1f9)]});throw _0x2ca493;}}async['deleteAttachment'](_0x56dc97,_0x4aefbe){const _0x2f4d91=a0_0x31774b;try{const _0xb2b144=await this[_0x2f4d91(0x1bf)](_0x56dc97);if(!_0xb2b144)throw new Error(_0x2f4d91(0x204)+_0x56dc97);_0xb2b144[_0x2f4d91(0x1de)]=_0xb2b144[_0x2f4d91(0x1de)][_0x2f4d91(0x1d3)](_0x14c9ca=>_0x14c9ca!==_0x4aefbe);if(_0xb2b144['referencedBy']['length']>0x0){const _0x41a595=a0_0x5c1fed[_0x2f4d91(0x1cc)](ATTACHMENTS_DIR,_0xb2b144[_0x2f4d91(0x1d6)],_0x56dc97,_0x2f4d91(0x1d0));return await this[_0x2f4d91(0x1d2)][_0x2f4d91(0x1d4)](_0x41a595,JSON[_0x2f4d91(0x1db)](_0xb2b144,null,0x2),_0x2f4d91(0x1f6)),this[_0x2f4d91(0x1d8)]['attachments'][_0x56dc97]&&(this[_0x2f4d91(0x1d8)][_0x2f4d91(0x1d5)][_0x56dc97][_0x2f4d91(0x1de)]=_0xb2b144['referencedBy']),this[_0x2f4d91(0x1d8)][_0x2f4d91(0x1fd)][_0x4aefbe]&&(this['index'][_0x2f4d91(0x1fd)][_0x4aefbe]=this['index'][_0x2f4d91(0x1fd)][_0x4aefbe]['filter'](_0x7521d3=>_0x7521d3!==_0x56dc97)),await this[_0x2f4d91(0x1ee)](),this['logger']?.[_0x2f4d91(0x1f3)]('Attachment\x20dereferenced',{'fileId':_0x56dc97,'agentId':_0x4aefbe,'remainingRefs':_0xb2b144[_0x2f4d91(0x1de)][_0x2f4d91(0x200)]}),![];}const _0x11cb30=a0_0x5c1fed[_0x2f4d91(0x1cc)](ATTACHMENTS_DIR,_0xb2b144[_0x2f4d91(0x1d6)],_0x56dc97);return await this[_0x2f4d91(0x1d2)]['deleteDirectory'](_0x11cb30),delete this['index'][_0x2f4d91(0x1d5)][_0x56dc97],this[_0x2f4d91(0x1d8)]['agentRefs'][_0x4aefbe]&&(this['index'][_0x2f4d91(0x1fd)][_0x4aefbe]=this['index']['agentRefs'][_0x4aefbe]['filter'](_0xb0fa00=>_0xb0fa00!==_0x56dc97)),await this['saveIndex'](),this[_0x2f4d91(0x1df)]?.[_0x2f4d91(0x1f3)]('Attachment\x20deleted',{'fileId':_0x56dc97,'agentId':_0x4aefbe}),!![];}catch(_0x153455){this['logger']?.[_0x2f4d91(0x1cf)](_0x2f4d91(0x1f2),{'fileId':_0x56dc97,'agentId':_0x4aefbe,'error':_0x153455[_0x2f4d91(0x1f9)]});throw _0x153455;}}async[a0_0x31774b(0x1dd)](_0x1d0904){const _0x57289b=a0_0x31774b;try{const _0x232887=this[_0x57289b(0x1d8)][_0x57289b(0x1fd)][_0x1d0904]||[];let _0x19b28e=0x0,_0x2c6b99=0x0;for(const _0x1800e7 of _0x232887){const _0xa746bc=await this[_0x57289b(0x1ef)](_0x1800e7,_0x1d0904);_0xa746bc?_0x19b28e++:_0x2c6b99++;}return this[_0x57289b(0x1df)]?.[_0x57289b(0x1f3)]('Agent\x20attachments\x20deleted',{'agentId':_0x1d0904,'deleted':_0x19b28e,'dereferenced':_0x2c6b99}),{'deleted':_0x19b28e,'dereferenced':_0x2c6b99};}catch(_0x48ffbc){this[_0x57289b(0x1df)]?.[_0x57289b(0x1cf)](_0x57289b(0x1e5),{'agentId':_0x1d0904,'error':_0x48ffbc[_0x57289b(0x1f9)]});throw _0x48ffbc;}}async['importFromAgent'](_0x2daa83,_0x18b58c){const _0x122c55=a0_0x31774b;try{const _0x44328d=await this[_0x122c55(0x1bf)](_0x2daa83);if(!_0x44328d)throw new Error(_0x122c55(0x1bc)+_0x2daa83);!_0x44328d['referencedBy']['includes'](_0x18b58c)&&_0x44328d[_0x122c55(0x1de)][_0x122c55(0x1e8)](_0x18b58c);_0x44328d['lastModified']=new Date()[_0x122c55(0x1f0)](),_0x44328d['importedFrom']=_0x44328d['agentId'];const _0x5b7b9d=a0_0x5c1fed[_0x122c55(0x1cc)](ATTACHMENTS_DIR,_0x44328d[_0x122c55(0x1d6)],_0x2daa83,_0x122c55(0x1d0));return await this[_0x122c55(0x1d2)]['writeFile'](_0x5b7b9d,JSON[_0x122c55(0x1db)](_0x44328d,null,0x2),'utf8'),this[_0x122c55(0x1d8)]['attachments'][_0x2daa83]&&(this['index'][_0x122c55(0x1d5)][_0x2daa83][_0x122c55(0x1de)]=_0x44328d[_0x122c55(0x1de)]),!this['index'][_0x122c55(0x1fd)][_0x18b58c]&&(this[_0x122c55(0x1d8)][_0x122c55(0x1fd)][_0x18b58c]=[]),!this['index'][_0x122c55(0x1fd)][_0x18b58c]['includes'](_0x2daa83)&&this[_0x122c55(0x1d8)][_0x122c55(0x1fd)][_0x18b58c]['push'](_0x2daa83),await this['saveIndex'](),this[_0x122c55(0x1df)]?.['info']('Attachment imported',{'sourceFileId':_0x2daa83,'targetAgentId':_0x18b58c}),_0x44328d;}catch(_0x467b3a){this[_0x122c55(0x1df)]?.[_0x122c55(0x1cf)]('Error importing attachment',{'sourceFileId':_0x2daa83,'targetAgentId':_0x18b58c,'error':_0x467b3a[_0x122c55(0x1f9)]});throw _0x467b3a;}}async['getActiveAttachments'](_0x5e43a4){const _0x5ab3a5=a0_0x31774b;return await this[_0x5ab3a5(0x1f8)](_0x5e43a4,{'active':!![]});}async[a0_0x31774b(0x1f1)](_0x16f686){const _0xe11fec=a0_0x31774b;try{const _0x3396f4=await this['getAttachmentContent'](_0x16f686);if(!_0x3396f4)return null;if(_0x3396f4[_0xe11fec(0x1cb)]('data:image'))return _0xe11fec(0x1c7);return _0x3396f4['length']>0x3e8?_0x3396f4[_0xe11fec(0x1d7)](0x0,0x3e8)+_0xe11fec(0x1c4):_0x3396f4;}catch(_0x32d47f){return this['logger']?.[_0xe11fec(0x1cf)](_0xe11fec(0x1cd),{'fileId':_0x16f686,'error':_0x32d47f[_0xe11fec(0x1f9)]}),null;}}}export default FileAttachmentService;
1
+ const a0_0x285477=a0_0x881e;(function(_0x2f069,_0x440a05){const _0x2cb3d0=a0_0x881e,_0x5d29b5=_0x2f069();while(!![]){try{const _0x5949c4=-parseInt(_0x2cb3d0(0xa7))/0x1+-parseInt(_0x2cb3d0(0x8b))/0x2+-parseInt(_0x2cb3d0(0xaa))/0x3+parseInt(_0x2cb3d0(0x99))/0x4+parseInt(_0x2cb3d0(0x82))/0x5+-parseInt(_0x2cb3d0(0x81))/0x6*(parseInt(_0x2cb3d0(0x8e))/0x7)+parseInt(_0x2cb3d0(0xae))/0x8*(parseInt(_0x2cb3d0(0x72))/0x9);if(_0x5949c4===_0x440a05)break;else _0x5d29b5['push'](_0x5d29b5['shift']());}catch(_0x3081f0){_0x5d29b5['push'](_0x5d29b5['shift']());}}}(a0_0x2a3e,0x3143d));import a0_0x49a6d4 from'path';import{fileURLToPath}from'url';function a0_0x2a3e(){const _0x9720dc=['u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','mJmXodG1y25byMH6','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','ywDLBNrszwzZ','Aw5KzxG','Dg9ju09tDhjPBMC','zxjYB3i','CMvMzxjLBMnLzej5','zgvSzxrLqxr0ywnOBwvUDa','DxrMoa','z2v0qxr0ywnOBwvUDenVBNrLBNq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','rxjYB3iGC2f2Aw5NigLUzgv4','rMLSzsbUB3qGzM91BMq6ia','DMfSAwq','zMLSzvbYB2nLC3nVCG','ndC4mJzsyvDyCgm','mtu0ntG1mgPpDw1oyG','Bg9HzeLUzgv4','D3jPDgvgAwXL','vMfSAwrHDgLVBIbMywLSzwq6ia','y29UzMLN','Bw9Kzq','C3rHCNrZv2L0Aa','CMvHzezPBgu','Bwv0ywrHDgeUANnVBG','nJuYmZq0rKDnquHW','z2v0qxr0ywnOBwvUDhm','Bg94AweTC3rHDgu','mte5vg9iz3nc','zxjYB3jZ','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','z2v0qxr0ywnOBwvUDa','C2f2zuLUzgv4','yxr0ywnOBwvUDhm','D2fYBMLUz3m','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','y29UDgvUDc5IyxnLnJq','BgvUz3rO','Aw5PDgLHBgL6zq','mtu1ntKZnKjpCevSwq','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','C3rYAw5NAwz5','y3DK','zMLSzuv4Axn0CW','Aw1Hz2u','BgfZDe1VzgLMAwvK','BwvZC2fNzq','zxH0BMfTzq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50','Bg9Nz2vY','z2v0twLTzvr5Cgu','y3jLyxrLrgLYzwn0B3j5','y29UDgvUDc50Ehq','ndy2mJztBLLRqNy','ywn0AxzL','zMLSDgvY','mtK2mdy1zgzkCgLZ','ywDLBNrjza','C2L6zq','lI4U','mJrJAfHcrui','AM9PBG','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','DMfSAwrHDg9Y','zMLSzu5HBwu','z2v0q29UDgvUDfr5Cgu','Aw5MBW','y29UDgvUDa'];a0_0x2a3e=function(){return _0x9720dc;};return a0_0x2a3e();}import{randomUUID}from'crypto';import a0_0x24b8e7 from'../utilities/fileProcessor.js';import a0_0x1e1b9a from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x49a6d4['dirname'](__filename),ATTACHMENTS_DIR=a0_0x49a6d4['join'](process[a0_0x285477(0x9c)](),a0_0x285477(0x8d),a0_0x285477(0x93)),INDEX_FILE=a0_0x49a6d4[a0_0x285477(0xaf)](ATTACHMENTS_DIR,a0_0x285477(0x95));function a0_0x881e(_0x235ffb,_0x20d8b7){_0x235ffb=_0x235ffb-0x6f;const _0x2a3ec4=a0_0x2a3e();let _0x881e3e=_0x2a3ec4[_0x235ffb];if(a0_0x881e['fbmRcp']===undefined){var _0xaaed=function(_0x48e57c){const _0x1114a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49a6d4='',_0x24b8e7='';for(let _0x1e1b9a=0x0,_0x4e6ae3,_0x377d58,_0x29d3ce=0x0;_0x377d58=_0x48e57c['charAt'](_0x29d3ce++);~_0x377d58&&(_0x4e6ae3=_0x1e1b9a%0x4?_0x4e6ae3*0x40+_0x377d58:_0x377d58,_0x1e1b9a++%0x4)?_0x49a6d4+=String['fromCharCode'](0xff&_0x4e6ae3>>(-0x2*_0x1e1b9a&0x6)):0x0){_0x377d58=_0x1114a5['indexOf'](_0x377d58);}for(let _0x5dfd57=0x0,_0x5a86e9=_0x49a6d4['length'];_0x5dfd57<_0x5a86e9;_0x5dfd57++){_0x24b8e7+='%'+('00'+_0x49a6d4['charCodeAt'](_0x5dfd57)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x24b8e7);};a0_0x881e['ayqGVF']=_0xaaed,a0_0x881e['ymuQEh']={},a0_0x881e['fbmRcp']=!![];}const _0x3ea5e0=_0x2a3ec4[0x0],_0xa82c3f=_0x235ffb+_0x3ea5e0,_0x442673=a0_0x881e['ymuQEh'][_0xa82c3f];return!_0x442673?(_0x881e3e=a0_0x881e['ayqGVF'](_0x881e3e),a0_0x881e['ymuQEh'][_0xa82c3f]=_0x881e3e):_0x881e3e=_0x442673,_0x881e3e;}class FileAttachmentService{constructor(_0x4e6ae3={},_0x377d58=null){const _0x263b9a=a0_0x285477;this[_0x263b9a(0x86)]=_0x4e6ae3,this['logger']=_0x377d58,this['fileProcessor']=new a0_0x24b8e7(_0x4e6ae3,_0x377d58),this['validator']=new a0_0x1e1b9a(_0x4e6ae3,_0x377d58),this['index']=null;}async[a0_0x285477(0x98)](){const _0x5c486c=a0_0x285477;try{await this[_0x5c486c(0x80)]['createDirectory'](ATTACHMENTS_DIR),await this[_0x5c486c(0x83)](),this[_0x5c486c(0xa3)]?.['info']('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x29d3ce){this['logger']?.[_0x5c486c(0x77)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x29d3ce['message']});throw _0x29d3ce;}}async[a0_0x285477(0x83)](){const _0x479098=a0_0x285477;try{const _0x5dfd57=await this['fileProcessor'][_0x479098(0x9d)](INDEX_FILE);if(!_0x5dfd57)this['index']={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x5a86e9=await this[_0x479098(0x80)]['readFile'](INDEX_FILE,'utf8');this['index']=JSON['parse'](_0x5a86e9);}return this[_0x479098(0x75)];}catch(_0x31f309){return this[_0x479098(0xa3)]?.[_0x479098(0x77)]('Error\x20loading\x20index',{'error':_0x31f309['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async[a0_0x285477(0x92)](){const _0x9c5779=a0_0x285477;try{await this['fileProcessor'][_0x9c5779(0x84)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x30971c){this[_0x9c5779(0xa3)]?.[_0x9c5779(0x77)](_0x9c5779(0x7d),{'error':_0x30971c['message']});throw _0x30971c;}}async['uploadFile']({agentId:_0x45a190,filePath:_0x5b248a,mode:mode='content',fileName:fileName=null}){const _0x29b2ab=a0_0x285477;!this[_0x29b2ab(0x75)]&&await this['loadIndex']();try{const _0x224a8b=await this[_0x29b2ab(0x80)][_0x29b2ab(0x9d)](_0x5b248a);if(!_0x224a8b)throw new Error(_0x29b2ab(0x7e)+_0x5b248a);const _0x119f0d=await this[_0x29b2ab(0x80)]['getFileStats'](_0x5b248a),_0x1ef288=fileName||a0_0x49a6d4['basename'](_0x5b248a),_0x2069ae=a0_0x49a6d4[_0x29b2ab(0xa1)](_0x1ef288),_0x38c15f=this['validator']['validate']({'fileName':_0x1ef288,'size':_0x119f0d[_0x29b2ab(0xac)],'mode':mode,'path':mode==='reference'?_0x5b248a:null});if(!_0x38c15f[_0x29b2ab(0x7f)])throw new Error(_0x29b2ab(0x85)+_0x38c15f[_0x29b2ab(0x8f)]['join'](',\x20'));const _0x532552=randomUUID(),_0x1a3ddc=await this['fileProcessor']['calculateHash'](_0x5b248a),_0x2c60b6=this[_0x29b2ab(0xb1)][_0x29b2ab(0xb3)](_0x1ef288),_0x22acc1=a0_0x49a6d4[_0x29b2ab(0xaf)](ATTACHMENTS_DIR,_0x45a190,_0x532552);await this[_0x29b2ab(0x80)][_0x29b2ab(0xa5)](_0x22acc1);let _0x2b0abe=0x0,_0x3902ad=null;if(mode==='content'){const processResult=await this[_0x29b2ab(0x80)]['processFile'](_0x5b248a,_0x2c60b6),_0x4adbaa=processResult[_0x29b2ab(0x70)];if(_0x2c60b6==='text')_0x3902ad=_0x29b2ab(0xa6);else{if(_0x2c60b6===_0x29b2ab(0x9e))_0x3902ad=_0x29b2ab(0x96);else _0x2c60b6==='pdf'&&(_0x3902ad='content.txt');}const _0x5a7e0c=a0_0x49a6d4['join'](_0x22acc1,_0x3902ad);await this['fileProcessor']['writeFile'](_0x5a7e0c,_0x4adbaa,_0x29b2ab(0x7a)),_0x2b0abe=this['fileProcessor']['estimateTokens'](_0x4adbaa);}const _0xa3551={'fileId':_0x532552,'agentId':_0x45a190,'fileName':_0x1ef288,'originalPath':_0x5b248a,'fileType':this[_0x29b2ab(0xb1)][_0x29b2ab(0xa4)](_0x1ef288),'fileExtension':_0x2069ae,'size':_0x119f0d['size'],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x29b2ab(0x76)](),'lastModified':_0x119f0d['modified'][_0x29b2ab(0x76)](),'hash':_0x1a3ddc,'tokenEstimate':_0x2b0abe,'contentType':_0x2c60b6,'contentFileName':_0x3902ad,'warnings':_0x38c15f[_0x29b2ab(0x94)],'sizeLevel':_0x38c15f['sizeLevel'],'importedFrom':null,'referencedBy':[_0x45a190]},_0xac67ef=a0_0x49a6d4[_0x29b2ab(0xaf)](_0x22acc1,'metadata.json');return await this[_0x29b2ab(0x80)][_0x29b2ab(0x84)](_0xac67ef,JSON[_0x29b2ab(0x9b)](_0xa3551,null,0x2),'utf8'),this['index']['attachments'][_0x532552]={'fileId':_0x532552,'agentId':_0x45a190,'fileName':_0x1ef288,'mode':mode,'active':_0xa3551['active'],'referencedBy':_0xa3551['referencedBy']},!this['index']['agentRefs'][_0x45a190]&&(this[_0x29b2ab(0x75)][_0x29b2ab(0x74)][_0x45a190]=[]),this['index'][_0x29b2ab(0x74)][_0x45a190]['push'](_0x532552),await this['saveIndex'](),this['logger']?.[_0x29b2ab(0x6f)]('File\x20uploaded',{'fileId':_0x532552,'agentId':_0x45a190,'fileName':_0x1ef288,'mode':mode}),_0xa3551;}catch(_0x106cf4){this[_0x29b2ab(0xa3)]?.[_0x29b2ab(0x77)]('Error\x20uploading\x20file',{'agentId':_0x45a190,'filePath':_0x5b248a,'error':_0x106cf4['message']});throw _0x106cf4;}}async[a0_0x285477(0x8c)](_0x59bf77,_0x4682f4={}){const _0x304058=a0_0x285477;!this['index']&&await this[_0x304058(0x83)]();try{const _0x427567=this[_0x304058(0x75)]['agentRefs'][_0x59bf77]||[],_0x428999=[];for(const _0x45df39 of _0x427567){const _0x430ed5=await this[_0x304058(0x91)](_0x45df39);if(_0x430ed5){if(_0x4682f4[_0x304058(0xa8)]!==undefined&&_0x430ed5[_0x304058(0xa8)]!==_0x4682f4['active'])continue;if(_0x4682f4[_0x304058(0x87)]&&_0x430ed5['mode']!==_0x4682f4['mode'])continue;_0x428999['push'](_0x430ed5);}}return _0x428999;}catch(_0x5e1f69){this['logger']?.['error']('Error\x20getting\x20attachments',{'agentId':_0x59bf77,'error':_0x5e1f69[_0x304058(0xa0)]});throw _0x5e1f69;}}async[a0_0x285477(0x91)](_0x3ad935){const _0x31d9fb=a0_0x285477;!this[_0x31d9fb(0x75)]&&await this['loadIndex']();try{const _0x226aaa=this[_0x31d9fb(0x75)][_0x31d9fb(0x93)][_0x3ad935];if(!_0x226aaa)return null;const _0xca6ccf=a0_0x49a6d4[_0x31d9fb(0xaf)](ATTACHMENTS_DIR,_0x226aaa[_0x31d9fb(0xab)],_0x3ad935,_0x31d9fb(0x8a)),_0x2e36ab=await this[_0x31d9fb(0x80)][_0x31d9fb(0x9d)](_0xca6ccf);if(!_0x2e36ab)return this[_0x31d9fb(0xa3)]?.['warn'](_0x31d9fb(0x9a),{'fileId':_0x3ad935}),null;const _0x3e3535=await this['fileProcessor'][_0x31d9fb(0x89)](_0xca6ccf,'utf8');return JSON['parse'](_0x3e3535);}catch(_0x10e5e3){return this['logger']?.['error'](_0x31d9fb(0xa2),{'fileId':_0x3ad935,'error':_0x10e5e3['message']}),null;}}async['getAttachmentContent'](_0x45da6e){const _0x19f140=a0_0x285477;try{const _0x3bb890=await this['getAttachment'](_0x45da6e);if(!_0x3bb890||_0x3bb890['mode']!==_0x19f140(0x70))return null;const _0x5e3623=a0_0x49a6d4['join'](ATTACHMENTS_DIR,_0x3bb890[_0x19f140(0xab)],_0x45da6e,_0x3bb890['contentFileName']),_0x19635c=await this[_0x19f140(0x80)][_0x19f140(0x9d)](_0x5e3623);if(!_0x19635c)return null;return await this[_0x19f140(0x80)][_0x19f140(0x89)](_0x5e3623,_0x19f140(0x7a));}catch(_0x198eec){return this['logger']?.[_0x19f140(0x77)](_0x19f140(0x7c),{'fileId':_0x45da6e,'error':_0x198eec[_0x19f140(0xa0)]}),null;}}async['toggleActive'](_0x5dfdcf){const _0x2972dc=a0_0x285477;try{const _0x36c79f=await this[_0x2972dc(0x91)](_0x5dfdcf);if(!_0x36c79f)throw new Error('Attachment\x20not\x20found:\x20'+_0x5dfdcf);_0x36c79f['active']=!_0x36c79f['active'],_0x36c79f[_0x2972dc(0x9f)]=new Date()['toISOString']();const _0x2d3d32=a0_0x49a6d4['join'](ATTACHMENTS_DIR,_0x36c79f['agentId'],_0x5dfdcf,'metadata.json');return await this[_0x2972dc(0x80)]['writeFile'](_0x2d3d32,JSON['stringify'](_0x36c79f,null,0x2),'utf8'),this[_0x2972dc(0x75)]['attachments'][_0x5dfdcf]&&(this[_0x2972dc(0x75)]['attachments'][_0x5dfdcf]['active']=_0x36c79f[_0x2972dc(0xa8)],await this['saveIndex']()),this['logger']?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x5dfdcf,'active':_0x36c79f[_0x2972dc(0xa8)]}),_0x36c79f;}catch(_0x17c14b){this['logger']?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x5dfdcf,'error':_0x17c14b[_0x2972dc(0xa0)]});throw _0x17c14b;}}async['updateAttachment'](_0x1ca40d,_0x167353){const _0x49bf66=a0_0x285477;try{const _0x1609af=await this['getAttachment'](_0x1ca40d);if(!_0x1609af)throw new Error('Attachment\x20not\x20found:\x20'+_0x1ca40d);const _0x14fa51=[_0x49bf66(0xb2),'active'];for(const _0x20ce01 of _0x14fa51){_0x167353[_0x20ce01]!==undefined&&(_0x1609af[_0x20ce01]=_0x167353[_0x20ce01]);}_0x1609af['lastModified']=new Date()[_0x49bf66(0x76)]();const _0x221104=a0_0x49a6d4[_0x49bf66(0xaf)](ATTACHMENTS_DIR,_0x1609af[_0x49bf66(0xab)],_0x1ca40d,'metadata.json');return await this[_0x49bf66(0x80)]['writeFile'](_0x221104,JSON[_0x49bf66(0x9b)](_0x1609af,null,0x2),'utf8'),this[_0x49bf66(0x75)]['attachments'][_0x1ca40d]&&(_0x167353['fileName']&&(this['index']['attachments'][_0x1ca40d][_0x49bf66(0xb2)]=_0x167353[_0x49bf66(0xb2)]),_0x167353[_0x49bf66(0xa8)]!==undefined&&(this['index']['attachments'][_0x1ca40d][_0x49bf66(0xa8)]=_0x167353[_0x49bf66(0xa8)]),await this[_0x49bf66(0x92)]()),this['logger']?.['info']('Attachment\x20updated',{'fileId':_0x1ca40d,'updates':_0x167353}),_0x1609af;}catch(_0x234c3d){this[_0x49bf66(0xa3)]?.[_0x49bf66(0x77)](_0x49bf66(0x90),{'fileId':_0x1ca40d,'error':_0x234c3d['message']});throw _0x234c3d;}}async[a0_0x285477(0x79)](_0x3e0102,_0xf3a523){const _0x46aaab=a0_0x285477;try{const _0x3b6320=await this[_0x46aaab(0x91)](_0x3e0102);if(!_0x3b6320)throw new Error(_0x46aaab(0xb0)+_0x3e0102);_0x3b6320[_0x46aaab(0x78)]=_0x3b6320[_0x46aaab(0x78)]['filter'](_0x4aafa5=>_0x4aafa5!==_0xf3a523);if(_0x3b6320['referencedBy'][_0x46aaab(0x97)]>0x0){const _0x284c61=a0_0x49a6d4[_0x46aaab(0xaf)](ATTACHMENTS_DIR,_0x3b6320[_0x46aaab(0xab)],_0x3e0102,_0x46aaab(0x8a));return await this['fileProcessor'][_0x46aaab(0x84)](_0x284c61,JSON[_0x46aaab(0x9b)](_0x3b6320,null,0x2),_0x46aaab(0x7a)),this[_0x46aaab(0x75)][_0x46aaab(0x93)][_0x3e0102]&&(this[_0x46aaab(0x75)]['attachments'][_0x3e0102][_0x46aaab(0x78)]=_0x3b6320['referencedBy']),this[_0x46aaab(0x75)][_0x46aaab(0x74)][_0xf3a523]&&(this['index'][_0x46aaab(0x74)][_0xf3a523]=this['index']['agentRefs'][_0xf3a523][_0x46aaab(0xa9)](_0x538dba=>_0x538dba!==_0x3e0102)),await this[_0x46aaab(0x92)](),this[_0x46aaab(0xa3)]?.['info']('Attachment\x20dereferenced',{'fileId':_0x3e0102,'agentId':_0xf3a523,'remainingRefs':_0x3b6320[_0x46aaab(0x78)][_0x46aaab(0x97)]}),![];}const _0x4141ae=a0_0x49a6d4[_0x46aaab(0xaf)](ATTACHMENTS_DIR,_0x3b6320[_0x46aaab(0xab)],_0x3e0102);return await this['fileProcessor']['deleteDirectory'](_0x4141ae),delete this['index'][_0x46aaab(0x93)][_0x3e0102],this[_0x46aaab(0x75)]['agentRefs'][_0xf3a523]&&(this[_0x46aaab(0x75)]['agentRefs'][_0xf3a523]=this[_0x46aaab(0x75)]['agentRefs'][_0xf3a523]['filter'](_0x2bdef2=>_0x2bdef2!==_0x3e0102)),await this[_0x46aaab(0x92)](),this[_0x46aaab(0xa3)]?.['info']('Attachment\x20deleted',{'fileId':_0x3e0102,'agentId':_0xf3a523}),!![];}catch(_0x323a3a){this[_0x46aaab(0xa3)]?.['error']('Error\x20deleting\x20attachment',{'fileId':_0x3e0102,'agentId':_0xf3a523,'error':_0x323a3a[_0x46aaab(0xa0)]});throw _0x323a3a;}}async['deleteAgentAttachments'](_0x266e4a){const _0x43b92a=a0_0x285477;try{const _0x5f34a0=this[_0x43b92a(0x75)]['agentRefs'][_0x266e4a]||[];let _0x220ad4=0x0,_0x4f088d=0x0;for(const _0x6b0dfb of _0x5f34a0){const _0x1c3a56=await this['deleteAttachment'](_0x6b0dfb,_0x266e4a);_0x1c3a56?_0x220ad4++:_0x4f088d++;}return this[_0x43b92a(0xa3)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x266e4a,'deleted':_0x220ad4,'dereferenced':_0x4f088d}),{'deleted':_0x220ad4,'dereferenced':_0x4f088d};}catch(_0x28a9a6){this[_0x43b92a(0xa3)]?.[_0x43b92a(0x77)](_0x43b92a(0x73),{'agentId':_0x266e4a,'error':_0x28a9a6['message']});throw _0x28a9a6;}}async['importFromAgent'](_0x4e6867,_0x5a243c){const _0x579245=a0_0x285477;try{const _0x170a8c=await this['getAttachment'](_0x4e6867);if(!_0x170a8c)throw new Error(_0x579245(0x71)+_0x4e6867);!_0x170a8c[_0x579245(0x78)]['includes'](_0x5a243c)&&_0x170a8c[_0x579245(0x78)]['push'](_0x5a243c);_0x170a8c[_0x579245(0x9f)]=new Date()[_0x579245(0x76)](),_0x170a8c['importedFrom']=_0x170a8c[_0x579245(0xab)];const _0x3c3dfe=a0_0x49a6d4[_0x579245(0xaf)](ATTACHMENTS_DIR,_0x170a8c['agentId'],_0x4e6867,_0x579245(0x8a));return await this['fileProcessor'][_0x579245(0x84)](_0x3c3dfe,JSON[_0x579245(0x9b)](_0x170a8c,null,0x2),_0x579245(0x7a)),this[_0x579245(0x75)]['attachments'][_0x4e6867]&&(this[_0x579245(0x75)]['attachments'][_0x4e6867]['referencedBy']=_0x170a8c[_0x579245(0x78)]),!this['index'][_0x579245(0x74)][_0x5a243c]&&(this['index']['agentRefs'][_0x5a243c]=[]),!this['index'][_0x579245(0x74)][_0x5a243c]['includes'](_0x4e6867)&&this[_0x579245(0x75)][_0x579245(0x74)][_0x5a243c]['push'](_0x4e6867),await this[_0x579245(0x92)](),this['logger']?.['info']('Attachment imported',{'sourceFileId':_0x4e6867,'targetAgentId':_0x5a243c}),_0x170a8c;}catch(_0xfea89){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x4e6867,'targetAgentId':_0x5a243c,'error':_0xfea89[_0x579245(0xa0)]});throw _0xfea89;}}async['getActiveAttachments'](_0x31da20){return await this['getAttachments'](_0x31da20,{'active':!![]});}async['getAttachmentPreview'](_0x3ac4bc){const _0x16f912=a0_0x285477;try{const _0x2696dd=await this[_0x16f912(0x7b)](_0x3ac4bc);if(!_0x2696dd)return null;if(_0x2696dd[_0x16f912(0x88)]('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x2696dd[_0x16f912(0x97)]>0x3e8?_0x2696dd['substring'](0x0,0x3e8)+_0x16f912(0xad):_0x2696dd;}catch(_0x40aba1){return this['logger']?.[_0x16f912(0x77)]('Error\x20getting\x20attachment\x20preview',{'fileId':_0x3ac4bc,'error':_0x40aba1['message']}),null;}}}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x17a711=a0_0x2a19;(function(_0x753418,_0xaeb4a0){const _0x1dc841=a0_0x2a19,_0x58f3ad=_0x753418();while(!![]){try{const _0x1942a8=-parseInt(_0x1dc841(0x1f8))/0x1+-parseInt(_0x1dc841(0x221))/0x2+parseInt(_0x1dc841(0x21d))/0x3+-parseInt(_0x1dc841(0x1f3))/0x4*(-parseInt(_0x1dc841(0x1ee))/0x5)+parseInt(_0x1dc841(0x1e1))/0x6*(-parseInt(_0x1dc841(0x1fe))/0x7)+parseInt(_0x1dc841(0x212))/0x8+parseInt(_0x1dc841(0x1ea))/0x9*(-parseInt(_0x1dc841(0x1e6))/0xa);if(_0x1942a8===_0xaeb4a0)break;else _0x58f3ad['push'](_0x58f3ad['shift']());}catch(_0x1fac5a){_0x58f3ad['push'](_0x58f3ad['shift']());}}}(a0_0x5a81,0x2c419));function a0_0x2a19(_0x4537a7,_0x1d9f00){_0x4537a7=_0x4537a7-0x1e1;const _0x5a81ab=a0_0x5a81();let _0x2a196a=_0x5a81ab[_0x4537a7];if(a0_0x2a19['DXvxDq']===undefined){var _0x423a8b=function(_0x1ea9a2){const _0x39e3b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x575109='',_0x485728='';for(let _0x4c5688=0x0,_0x3dec92,_0x2ff9c2,_0x495e4d=0x0;_0x2ff9c2=_0x1ea9a2['charAt'](_0x495e4d++);~_0x2ff9c2&&(_0x3dec92=_0x4c5688%0x4?_0x3dec92*0x40+_0x2ff9c2:_0x2ff9c2,_0x4c5688++%0x4)?_0x575109+=String['fromCharCode'](0xff&_0x3dec92>>(-0x2*_0x4c5688&0x6)):0x0){_0x2ff9c2=_0x39e3b2['indexOf'](_0x2ff9c2);}for(let _0x23cc7f=0x0,_0x801b3a=_0x575109['length'];_0x23cc7f<_0x801b3a;_0x23cc7f++){_0x485728+='%'+('00'+_0x575109['charCodeAt'](_0x23cc7f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x485728);};a0_0x2a19['YXuRkn']=_0x423a8b,a0_0x2a19['SDyLpM']={},a0_0x2a19['DXvxDq']=!![];}const _0x32597e=_0x5a81ab[0x0],_0x1d1bca=_0x4537a7+_0x32597e,_0x223fb3=a0_0x2a19['SDyLpM'][_0x1d1bca];return!_0x223fb3?(_0x2a196a=a0_0x2a19['YXuRkn'](_0x2a196a),a0_0x2a19['SDyLpM'][_0x1d1bca]=_0x2a196a):_0x2a196a=_0x223fb3,_0x2a196a;}function a0_0x5a81(){const _0x192612=['uKvrvuvtvf9usu1ft1vu','ywLtzxj2AwnL','qu5usfjpueLdx09qvvm','ndu1ntbUu3HlB1e','yMvUy2HTyxjRu2vYDMLJzq','Dw5RBM93BG','C3vTBwfYEq','z2v0u3rHDhvZ','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','n3rSBLLwsW','CMvXDwvZDfrPBwvVDxq','yxzHAwXHyMXLtw9KzwXZ','ktOG','BgvUz3rO','AM9PBG','tM8GCMvHC29UAw5NihbYB3zPzgvK','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgvUDa','y3vYCMvUDe1VzgvS','lIaQkG','zgvIDwC','y3vYCMvUDe1LC3nHz2u','CM9Szq','CMvHC29UAw5N','revfufnfruTFuJe','C2vSzwn0zwrnB2rLBa','C2vUze1LC3nHz2u','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','mJa0mJy0mg1gDNfXuW','x3bHCNnLuM91DgLUz1jLC3bVBNnL','kIPdB250zxH0ifr5CgvZkIO6ia','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','x2fZA0zVCLjVDxrPBMC','zMfJDg9YCW','Aw5MBW','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','C3vIC3rYAw5N','DxnLCG','DgfZA3m','nZC5ntK4u25Jr2Tb','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','y29UDgv4De1LC3nHz2vZq291BNq','Dg9Wtw9KzwXZ','ntK3mZa2vevnuuLA','uM91DgvYihnLBgvJDgvKihvUyxzHAwXHyMXLig1VzgvSlcb1C2LUzYbJDxjYzw50ig1VzgvS','ihWGu3rYzw5NDgHZoIa','tM8Gzgf0yq','BwvZC2fNzq','CM91DgvYtw9KzwW','BwvZC2fNzunVDw50','tI9b','uM91DgvYihrLC3qGzMfPBgvK','Bw9KzwWTCM91DgvY','CgfYC2LUzY1LCNjVCG','x2j1AwXKuM91DgLUz0nVBNrLEhq','r1buxZq','mZy2nZm4wKnby0Pz','BwfW','AgfZq29UDgv4DfjLzMvYzw5Jzxm','y29UzMLN','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','mJaWu0PnAfn0','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','Dg9vChbLCKnHC2u','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','ote2mtfrCgzgv1C','x2nYzwf0zvjVDxrPBMDqCM9TChq','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','BMfTzq','mtm3ndKXnxLPCgrrCW','y29UzMLKzw5Jzq','Bg9Nz2vY','yxbPs2v5','kIO6ia','ne5oB3nntG','tM9Uzq'];a0_0x5a81=function(){return _0x192612;};return a0_0x5a81();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x575109,_0x485728,_0x4c5688,_0x3dec92){const _0x5c016d=a0_0x2a19;this[_0x5c016d(0x1e4)]=_0x575109,this['logger']=_0x485728,this[_0x5c016d(0x1f9)]=_0x4c5688,this[_0x5c016d(0x1f6)]=_0x3dec92,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x5c016d(0x21f)]=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x5c016d(0x1f5)];}async['routeMessage'](_0x2ff9c2,_0x495e4d=[],_0x23cc7f='',_0x801b3a=[],_0x4ab6e9={}){const _0x5e2494=a0_0x2a19;try{this[_0x5e2494(0x1f0)][_0x5e2494(0x209)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x2ff9c2[_0x5e2494(0x206)]?.['length']||0x0,'recentMessagesCount':_0x495e4d[_0x5e2494(0x202)],'currentModel':_0x23cc7f,'availableModelsCount':_0x801b3a[_0x5e2494(0x202)]});const _0x457fb5=this[_0x5e2494(0x22c)](_0x2ff9c2,_0x495e4d,_0x23cc7f,_0x801b3a),_0x425441=this[_0x5e2494(0x1f9)]['getBenchmarkTable'](),_0x502dfd=this[_0x5e2494(0x1eb)](_0x457fb5,_0x425441),_0x792009=await this[_0x5e2494(0x216)](_0x502dfd,_0x4ab6e9),_0x8a9ac7=this[_0x5e2494(0x211)](_0x792009,_0x801b3a,_0x23cc7f);return this['logger'][_0x5e2494(0x218)](_0x5e2494(0x1e9),{'selectedModel':_0x8a9ac7,'previousModel':_0x23cc7f,'changed':_0x8a9ac7!==_0x23cc7f,'reasoning':_0x792009[_0x5e2494(0x20c)]?.['substring'](0x0,0x64)||_0x5e2494(0x204)}),{'selectedModel':_0x8a9ac7,'previousModel':_0x23cc7f,'changed':_0x8a9ac7!==_0x23cc7f,'reasoning':_0x792009['reasoning']||_0x5e2494(0x204)};}catch(_0x49825e){this[_0x5e2494(0x1f0)]['error'](_0x5e2494(0x210),{'error':_0x49825e['message'],'currentModel':_0x23cc7f});const _0x50b989=_0x23cc7f||_0x801b3a[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x50b989,'previousModel':_0x23cc7f,'changed':![],'reasoning':_0x5e2494(0x215)};}}[a0_0x17a711(0x22c)](_0x453fcb,_0x56eca2,_0x54647f,_0x5c058d){const _0x269c1f=a0_0x17a711,_0x157996=_0x56eca2['slice'](-this['contextMessagesCount'])[_0x269c1f(0x1e2)](_0x3fd6a5=>({'role':_0x3fd6a5['role'],'content':_0x3fd6a5['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x3fd6a5['timestamp']}));return{'currentMessage':{'content':_0x453fcb[_0x269c1f(0x206)]?.[_0x269c1f(0x21a)](0x0,0x3e8)||'','role':_0x453fcb[_0x269c1f(0x20b)]||'user','hasContextReferences':!!_0x453fcb['contextReferences']?.[_0x269c1f(0x202)],'contextTypes':_0x453fcb['contextReferences']?.[_0x269c1f(0x1e2)](_0x5279c0=>_0x5279c0['type'])||[]},'recentMessages':_0x157996,'currentModel':_0x54647f,'availableModels':_0x5c058d[_0x269c1f(0x1e2)](_0x1602de=>({'name':_0x1602de,'isCurrentModel':_0x1602de===_0x54647f})),'messageCount':_0x56eca2[_0x269c1f(0x202)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x1986f5,_0x3ccfcb){const _0x232a16=a0_0x17a711;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'+(_0x1986f5[_0x232a16(0x207)]||_0x232a16(0x1f4))+'\x0a-\x20**Message\x20Count**:\x20'+_0x1986f5[_0x232a16(0x227)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x1986f5[_0x232a16(0x200)]['map'](_0x3f9cf1=>_0x3f9cf1['name'])[_0x232a16(0x203)](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x1986f5['recentMessages'])+_0x232a16(0x21e)+_0x1986f5[_0x232a16(0x20a)]['role']+'\x0a**Content**:\x20'+_0x1986f5[_0x232a16(0x20a)][_0x232a16(0x206)]+'\x0a**Has\x20Context\x20References**:\x20'+_0x1986f5[_0x232a16(0x20a)][_0x232a16(0x1e3)]+'\x0a'+(_0x1986f5['currentMessage']['contextTypes'][_0x232a16(0x202)]>0x0?_0x232a16(0x214)+_0x1986f5['currentMessage']['contextTypes']['join'](',\x20'):'')+_0x232a16(0x1e5)+this['_formatBenchmarkData'](_0x3ccfcb)+'\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_0x17a711(0x205)](_0xeeace1){const _0x25213b=a0_0x17a711;if(!_0xeeace1['length'])return'No\x20recent\x20messages\x20available.';return _0xeeace1['map']((_0x44d900,_0x4a200c)=>_0x4a200c+0x1+_0x25213b(0x208)+_0x44d900['role']+_0x25213b(0x1f2)+_0x44d900[_0x25213b(0x206)])[_0x25213b(0x203)]('\x0a');}['_formatBenchmarkData'](_0x383bdf){const _0x51a468=a0_0x17a711,_0x520513=_0x383bdf['models']||[],_0x30dbdd=_0x383bdf['tasks']||{},_0x4e4c96=_0x383bdf[_0x51a468(0x1fb)]||{};let _0x1d2326='###\x20Model\x20Performance\x20Summary\x0a';return Object['entries'](_0x30dbdd)['forEach'](([_0x3a6222,_0x1b06f7])=>{const _0x444dba=_0x51a468;_0x1d2326+='**'+_0x3a6222[_0x444dba(0x1e8)]()+'**\x20('+_0x1b06f7['description']+_0x444dba(0x201)+(_0x1b06f7[_0x444dba(0x220)]?.['join'](',\x20')||_0x444dba(0x224))+'\x0a';}),_0x1d2326+='\x0a###\x20Model\x20Details\x0a',_0x520513['slice'](0x0,0x8)['forEach'](_0x18632e=>{const _0x5a1344=_0x51a468;_0x1d2326+='**'+_0x18632e[_0x5a1344(0x1ed)]+_0x5a1344(0x1f2);const _0x4d718d=Object['entries'](_0x18632e[_0x5a1344(0x21c)]||{})[_0x5a1344(0x1e2)](([_0x2f93fd,_0x2c95de])=>_0x2f93fd+'('+_0x2c95de['score']+')')[_0x5a1344(0x203)](',\x20');_0x1d2326+=_0x4d718d+_0x5a1344(0x223)+(_0x18632e['strengths']?.[_0x5a1344(0x203)](',\x20')||_0x5a1344(0x228))+'\x0a';}),_0x1d2326;}async['_askForRouting'](_0x282540,_0x4db012={}){const _0x489c25=a0_0x17a711;try{const _0x534052=await this[_0x489c25(0x1f6)][_0x489c25(0x20f)](this['routerModel'],_0x282540,{'agentId':_0x489c25(0x22a),'systemPrompt':_0x489c25(0x1ec),'temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x489c25(0x1ff)],'sessionId':_0x4db012['sessionId'],'apiKey':_0x4db012['apiKey']||this[_0x489c25(0x1e4)][_0x489c25(0x1f1)],'customApiKeys':_0x4db012['customApiKeys'],'platformProvided':!![]});if(!_0x534052['content'])throw new Error('No response content from autopilot-model-router');const _0x51904f=this['_parseRoutingResponse'](_0x534052['content']);return _0x51904f;}catch(_0x4aec91){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x4aec91[_0x489c25(0x225)],'routerModel':this[_0x489c25(0x226)]});throw _0x4aec91;}}[a0_0x17a711(0x213)](_0x2c14ac){const _0xf77ad5=a0_0x17a711;try{const _0x2fd341=_0x2c14ac['match'](/\{[\s\S]*\}/);if(!_0x2fd341)throw new Error(_0xf77ad5(0x1fd));const _0xeb460=JSON['parse'](_0x2fd341[0x0]);if(!_0xeb460[_0xf77ad5(0x20e)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0xeb460[_0xf77ad5(0x20e)],'taskType':_0xeb460['taskType']||_0xf77ad5(0x1fa),'confidence':_0xeb460[_0xf77ad5(0x1ef)]||0.5,'reasoning':_0xeb460[_0xf77ad5(0x20c)]||_0xf77ad5(0x204),'factors':_0xeb460[_0xf77ad5(0x217)]||[]};}catch(_0x45daf6){return this[_0xf77ad5(0x1f0)]['warn'](_0xf77ad5(0x219),{'error':_0x45daf6[_0xf77ad5(0x225)],'content':_0x2c14ac['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':_0xf77ad5(0x1fa),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0xf77ad5(0x22b)]};}}['_validateModelSelection'](_0xb27b49,_0x4c9b67,_0x3d89f4){const _0xf9a727=a0_0x17a711,{selectedModel:_0x3769dd}=_0xb27b49;if(!_0x3769dd)return this['logger'][_0xf9a727(0x209)]('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0x3d89f4;if(!_0x4c9b67['includes'](_0x3769dd))return this['logger']['warn'](_0xf9a727(0x222),{'selectedModel':_0x3769dd,'availableModels':_0x4c9b67}),_0x3d89f4;return _0x3769dd;}[a0_0x17a711(0x1fc)](){const _0xf32871=a0_0x17a711;return{'routerModel':this[_0xf32871(0x226)],'contextMessagesCount':this[_0xf32871(0x21f)],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this[_0xf32871(0x1f9)]['getStatus'](),'isAvailable':!![]};}async['testRouter'](){const _0x66f66e=a0_0x17a711;try{const _0x54024d={'content':_0x66f66e(0x1e7),'role':_0x66f66e(0x21b)},_0x1711a4=await this['routeMessage'](_0x54024d,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x66f66e(0x1f7)],MODELS[_0x66f66e(0x22d)],MODELS[_0x66f66e(0x20d)]],{'apiKey':'test-key'});return this['logger']['info']('Router\x20test\x20completed',{'selectedModel':_0x1711a4}),{'success':!![],'selectedModel':_0x1711a4};}catch(_0x1ebfe3){return this[_0x66f66e(0x1f0)]['error'](_0x66f66e(0x229),{'error':_0x1ebfe3[_0x66f66e(0x225)]}),{'success':![],'error':_0x1ebfe3[_0x66f66e(0x225)]};}}}export default ModelRouterService;
1
+ function a0_0x58f8(){const _0x37f7d1=['CM91DgvnzxnZywDL','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','BwvZC2fNzq','ndmXntHcu0ThB0K','ody3mZjRzwTuvM0','zw50CMLLCW','C3vIC3rYAw5N','nJK2AgXkvLDP','DgfZA1r5Cgu','zxjYB3i','mZe5Cg9ozfn4','y29UDgvUDa','qu5usfjpueLdx1nptK5fva','C2vSzwn0zwrnB2rLBa','cI0GkIPnzxnZywDLienVDw50kIO6ia','zMfJDg9YCW','zgvZy3jPChrPB24','mte3ndC5mtzYs1fks2i','tI9b','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','CMvXDwvZDfrPBwvVDxq','y29UzMLKzw5Jzq','x3bHCNnLuM91DgLUz1jLC3bVBNnL','mJu0odG0nwjzEgXfqW','C3rYzw5NDgHZ','odeWCuDnufnd','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','y29UDgv4DfjLzMvYzw5Jzxm','C2vUze1LC3nHz2u','y29UDgv4De1LC3nHz2vZq291BNq','y29UDgv4Dfr5CgvZ','AM9PBG','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','y3vYCMvUDe1LC3nHz2u','BgvUz3rO','ntuXmtHKB1PvCNC','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','CgfYC2LUzY1LCNjVCG','kIPdB250zxH0ifr5CgvZkIO6ia','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','CM9Szq','Dw5RBM93BG','q09ovevyvf9nrvntquDfu19dt1vova','uKvrvuvtvf9usu1ft1vu','CM91DgvYtw9KzwW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','Bg9Nz2vY','DgfZA3m','CMvJzw50twvZC2fNzxm','zM9YrwfJAa','DgLTzxn0yw1W','z2v0u3rHDhvZ','yMvUy2HTyxjRu2vYDMLJzq','tM8GCMvHC29UAw5NihbYB3zPzgvK','ywLtzxj2AwnL','y29UzMLN','uM91DgvYihrLC3qGzMfPBgvK','C3vTBwfYEq','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','Dg9ju09tDhjPBMC','DxnLCG','r1buxZq','nZb3yKfewgO','C2XPy2u','mJC2mdjjCfDXEfe','yxzHAwXHyMXLtw9KzwXZ','tM9Uzq','revfufnfruTFuJe','mtq4mde0mfbAuvPZvq','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','x2nYzwf0zvjVDxrPBMDqCM9TChq','Aw5JBhvKzxm','BwvZC2fNzunVDw50','D2fYBG','x2zVCM1HDejLBMnOBwfYA0rHDge','BwfW'];a0_0x58f8=function(){return _0x37f7d1;};return a0_0x58f8();}const a0_0x3ba4f8=a0_0x5dcd;(function(_0x219538,_0x52c206){const _0x5ae2a0=a0_0x5dcd,_0x150c01=_0x219538();while(!![]){try{const _0x153410=-parseInt(_0x5ae2a0(0x1c4))/0x1*(parseInt(_0x5ae2a0(0x1c6))/0x2)+-parseInt(_0x5ae2a0(0x1e9))/0x3+-parseInt(_0x5ae2a0(0x1d6))/0x4+-parseInt(_0x5ae2a0(0x1eb))/0x5*(parseInt(_0x5ae2a0(0x1d5))/0x6)+parseInt(_0x5ae2a0(0x1f5))/0x7*(parseInt(_0x5ae2a0(0x1d9))/0x8)+-parseInt(_0x5ae2a0(0x1e3))/0x9+parseInt(_0x5ae2a0(0x1ca))/0xa*(parseInt(_0x5ae2a0(0x1dc))/0xb);if(_0x153410===_0x52c206)break;else _0x150c01['push'](_0x150c01['shift']());}catch(_0x525779){_0x150c01['push'](_0x150c01['shift']());}}}(a0_0x58f8,0xa372e));function a0_0x5dcd(_0x2aa7b7,_0x1a36f8){_0x2aa7b7=_0x2aa7b7-0x1bc;const _0x58f8be=a0_0x58f8();let _0x5dcd51=_0x58f8be[_0x2aa7b7];if(a0_0x5dcd['dtpHXW']===undefined){var _0x31f209=function(_0x27e48a){const _0x1fea1a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x119290='',_0x5d6aba='';for(let _0xfd4384=0x0,_0x176e43,_0x47b5c4,_0x54d13a=0x0;_0x47b5c4=_0x27e48a['charAt'](_0x54d13a++);~_0x47b5c4&&(_0x176e43=_0xfd4384%0x4?_0x176e43*0x40+_0x47b5c4:_0x47b5c4,_0xfd4384++%0x4)?_0x119290+=String['fromCharCode'](0xff&_0x176e43>>(-0x2*_0xfd4384&0x6)):0x0){_0x47b5c4=_0x1fea1a['indexOf'](_0x47b5c4);}for(let _0x1de320=0x0,_0x16741e=_0x119290['length'];_0x1de320<_0x16741e;_0x1de320++){_0x5d6aba+='%'+('00'+_0x119290['charCodeAt'](_0x1de320)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d6aba);};a0_0x5dcd['AouzJk']=_0x31f209,a0_0x5dcd['ICNFmq']={},a0_0x5dcd['dtpHXW']=!![];}const _0x406ce2=_0x58f8be[0x0],_0x520916=_0x2aa7b7+_0x406ce2,_0x1054bd=a0_0x5dcd['ICNFmq'][_0x520916];return!_0x1054bd?(_0x5dcd51=a0_0x5dcd['AouzJk'](_0x5dcd51),a0_0x5dcd['ICNFmq'][_0x520916]=_0x5dcd51):_0x5dcd51=_0x1054bd,_0x5dcd51;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x119290,_0x5d6aba,_0xfd4384,_0x176e43){const _0x21e146=a0_0x5dcd;this['config']=_0x119290,this[_0x21e146(0x201)]=_0x5d6aba,this['benchmarkService']=_0xfd4384,this[_0x21e146(0x1bc)]=_0x176e43,this[_0x21e146(0x1ff)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x21e146(0x1ef)]=MODEL_ROUTER_CONFIG[_0x21e146(0x1fd)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x21e146(0x1fe)];}async[a0_0x3ba4f8(0x1d2)](_0x47b5c4,_0x54d13a=[],_0x1de320='',_0x16741e=[],_0x2cb7f2={}){const _0x525eca=a0_0x3ba4f8;try{this[_0x525eca(0x201)]['debug']('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x47b5c4[_0x525eca(0x1dd)]?.['length']||0x0,'recentMessagesCount':_0x54d13a['length'],'currentModel':_0x1de320,'availableModelsCount':_0x16741e[_0x525eca(0x1f4)]});const _0x43ed2f=this['_buildRoutingContext'](_0x47b5c4,_0x54d13a,_0x1de320,_0x16741e),_0xe60a50=this[_0x525eca(0x207)]['getBenchmarkTable'](),_0x206b6f=this[_0x525eca(0x1cc)](_0x43ed2f,_0xe60a50),_0x23a478=await this['_askForRouting'](_0x206b6f,_0x2cb7f2),_0x43704e=this['_validateModelSelection'](_0x23a478,_0x16741e,_0x1de320);return this[_0x525eca(0x201)]['info'](_0x525eca(0x1fa),{'selectedModel':_0x43704e,'previousModel':_0x1de320,'changed':_0x43704e!==_0x1de320,'reasoning':_0x23a478['reasoning']?.[_0x525eca(0x1d8)](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x43704e,'previousModel':_0x1de320,'changed':_0x43704e!==_0x1de320,'reasoning':_0x23a478['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x16e955){this['logger'][_0x525eca(0x1db)]('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x16e955[_0x525eca(0x1d4)],'currentModel':_0x1de320});const _0x48e16b=_0x1de320||_0x16741e[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x48e16b,'previousModel':_0x1de320,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}['_buildRoutingContext'](_0xb6cab3,_0x52ec46,_0x492d12,_0xd1e2a7){const _0x2eea17=a0_0x3ba4f8,_0x3ca086=_0x52ec46['slice'](-this['contextMessagesCount'])[_0x2eea17(0x1d1)](_0x105506=>({'role':_0x105506[_0x2eea17(0x1fb)],'content':_0x105506['content']?.[_0x2eea17(0x1d8)](0x0,0x1f4)||'','timestamp':_0x105506[_0x2eea17(0x205)]}));return{'currentMessage':{'content':_0xb6cab3['content']?.['substring'](0x0,0x3e8)||'','role':_0xb6cab3['role']||_0x2eea17(0x1c2),'hasContextReferences':!!_0xb6cab3[_0x2eea17(0x1ed)]?.['length'],'contextTypes':_0xb6cab3[_0x2eea17(0x1ed)]?.['map'](_0x5416d5=>_0x5416d5['type'])||[]},'recentMessages':_0x3ca086,'currentModel':_0x492d12,'availableModels':_0xd1e2a7[_0x2eea17(0x1d1)](_0x5f33fa=>({'name':_0x5f33fa,'isCurrentModel':_0x5f33fa===_0x492d12})),'messageCount':_0x52ec46['length']+0x1,'timestamp':new Date()[_0x2eea17(0x1c1)]()};}['_createRoutingPrompt'](_0x52cf0b,_0x1a7a00){const _0x8c3cf4=a0_0x3ba4f8;return _0x8c3cf4(0x1e5)+(_0x52cf0b['currentModel']||_0x8c3cf4(0x1c8))+_0x8c3cf4(0x1e0)+_0x52cf0b[_0x8c3cf4(0x1ce)]+_0x8c3cf4(0x1ec)+_0x52cf0b[_0x8c3cf4(0x1c7)][_0x8c3cf4(0x1d1)](_0x2b8025=>_0x2b8025['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x52cf0b[_0x8c3cf4(0x203)])+_0x8c3cf4(0x200)+_0x52cf0b['currentMessage']['role']+'\x0a**Content**:\x20'+_0x52cf0b['currentMessage']['content']+_0x8c3cf4(0x1f6)+_0x52cf0b[_0x8c3cf4(0x1f3)]['hasContextReferences']+'\x0a'+(_0x52cf0b['currentMessage'][_0x8c3cf4(0x1f0)][_0x8c3cf4(0x1f4)]>0x0?_0x8c3cf4(0x1f9)+_0x52cf0b['currentMessage']['contextTypes'][_0x8c3cf4(0x1f1)](',\x20'):'')+_0x8c3cf4(0x1d3)+this['_formatBenchmarkData'](_0x1a7a00)+_0x8c3cf4(0x1cb);}[a0_0x3ba4f8(0x1f7)](_0x38a526){const _0x3b4b76=a0_0x3ba4f8;if(!_0x38a526[_0x3b4b76(0x1f4)])return'No\x20recent\x20messages\x20available.';return _0x38a526['map']((_0x17adf0,_0x49b230)=>_0x49b230+0x1+'.\x20**'+_0x17adf0[_0x3b4b76(0x1fb)]+'**:\x20'+_0x17adf0['content'])[_0x3b4b76(0x1f1)]('\x0a');}[a0_0x3ba4f8(0x1d0)](_0x4eb4b7){const _0x18a680=a0_0x3ba4f8,_0x50c117=_0x4eb4b7['models']||[],_0x3a4988=_0x4eb4b7[_0x18a680(0x202)]||{},_0x2e1e61=_0x4eb4b7[_0x18a680(0x1bf)]||{};let _0x2e942e='###\x20Model\x20Performance\x20Summary\x0a';return Object[_0x18a680(0x1d7)](_0x3a4988)[_0x18a680(0x204)](([_0x23abe1,_0x5e12ca])=>{const _0x2175bc=_0x18a680;_0x2e942e+='**'+_0x23abe1['toUpperCase']()+'**\x20('+_0x5e12ca[_0x2175bc(0x1e2)]+'):\x20'+(_0x5e12ca['topModels']?.[_0x2175bc(0x1f1)](',\x20')||'No\x20data')+'\x0a';}),_0x2e942e+='\x0a###\x20Model\x20Details\x0a',_0x50c117[_0x18a680(0x1c5)](0x0,0x8)[_0x18a680(0x204)](_0x15fa19=>{const _0x4239f7=_0x18a680;_0x2e942e+='**'+_0x15fa19['name']+'**:\x20';const _0x51e7b8=Object['entries'](_0x15fa19['tasks']||{})[_0x4239f7(0x1d1)](([_0x43a83b,_0x306b93])=>_0x43a83b+'('+_0x306b93['score']+')')[_0x4239f7(0x1f1)](',\x20');_0x2e942e+=_0x51e7b8+'\x20|\x20Strengths:\x20'+(_0x15fa19[_0x4239f7(0x1ea)]?.['join'](',\x20')||_0x4239f7(0x1e4))+'\x0a';}),_0x2e942e;}async['_askForRouting'](_0x5c1ecd,_0x41d78d={}){const _0x5c3565=a0_0x3ba4f8;try{const _0x7d70a5=await this['aiService'][_0x5c3565(0x1ee)](this['routerModel'],_0x5c1ecd,{'agentId':'model-router','systemPrompt':'You\x20are\x20a\x20model\x20routing\x20expert.\x20Analyze\x20conversations\x20and\x20select\x20optimal\x20AI\x20models.\x20Always\x20respond\x20with\x20valid\x20JSON\x20only.','temperature':0.3,'maxTokens':0x1f4,'timeout':this['requestTimeout'],'sessionId':_0x41d78d['sessionId'],'apiKey':_0x41d78d['apiKey']||this[_0x5c3565(0x1bd)]['apiKey'],'customApiKeys':_0x41d78d['customApiKeys'],'platformProvided':!![]});if(!_0x7d70a5['content'])throw new Error('No response content from autopilot-model-router');const _0x36bd0c=this[_0x5c3565(0x1e8)](_0x7d70a5[_0x5c3565(0x1dd)]);return _0x36bd0c;}catch(_0x54b573){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x54b573[_0x5c3565(0x1d4)],'routerModel':this['routerModel']});throw _0x54b573;}}[a0_0x3ba4f8(0x1e8)](_0x1f2501){const _0x38c471=a0_0x3ba4f8;try{const _0x3de0c4=_0x1f2501['match'](/\{[\s\S]*\}/);if(!_0x3de0c4)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x29d1ce=JSON['parse'](_0x3de0c4[0x0]);if(!_0x29d1ce['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x29d1ce[_0x38c471(0x1df)],'taskType':_0x29d1ce[_0x38c471(0x1da)]||_0x38c471(0x1fc),'confidence':_0x29d1ce[_0x38c471(0x1e7)]||0.5,'reasoning':_0x29d1ce['reasoning']||_0x38c471(0x208),'factors':_0x29d1ce[_0x38c471(0x1e1)]||[]};}catch(_0x29eb91){return this[_0x38c471(0x201)][_0x38c471(0x1cf)](_0x38c471(0x1f2),{'error':_0x29eb91['message'],'content':_0x1f2501['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x38c471(0x1f8)]};}}['_validateModelSelection'](_0x37fdad,_0x126657,_0x3c9a7e){const _0x327fea=a0_0x3ba4f8,{selectedModel:_0x1e53c9}=_0x37fdad;if(!_0x1e53c9)return this['logger']['debug']('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0x3c9a7e;if(!_0x126657[_0x327fea(0x1cd)](_0x1e53c9))return this['logger'][_0x327fea(0x1cf)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x1e53c9,'availableModels':_0x126657}),_0x3c9a7e;return _0x1e53c9;}['getStatus'](){const _0x317fd3=a0_0x3ba4f8;return{'routerModel':this[_0x317fd3(0x1ff)],'contextMessagesCount':this[_0x317fd3(0x1ef)],'requestTimeout':this[_0x317fd3(0x1e6)],'benchmarkServiceStatus':this['benchmarkService'][_0x317fd3(0x206)](),'isAvailable':!![]};}async['testRouter'](){const _0x3f3010=a0_0x3ba4f8;try{const _0x59009d={'content':_0x3f3010(0x1c0),'role':'user'},_0x1ab09e=await this[_0x3f3010(0x1d2)](_0x59009d,[],MODELS['ANTHROPIC_SONNET'],[MODELS[_0x3f3010(0x1de)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x3f3010(0x1c3)],MODELS[_0x3f3010(0x1c9)]],{'apiKey':'test-key'});return this[_0x3f3010(0x201)]['info']('Router\x20test\x20completed',{'selectedModel':_0x1ab09e}),{'success':!![],'selectedModel':_0x1ab09e};}catch(_0x55b83b){return this['logger'][_0x3f3010(0x1db)](_0x3f3010(0x1be),{'error':_0x55b83b[_0x3f3010(0x1d4)]}),{'success':![],'error':_0x55b83b['message']};}}}export default ModelRouterService;
@@ -1 +1 @@
1
- const a0_0x2f8032=a0_0x3592;function a0_0x211d(){const _0x49c0c1=['mte5nJK2n1jizK5rvq','y29UDgv4Da','l2fWAs9SBg0VBw9KzwXZ','D2fYBG','sfruuca','mJG5nJC4ovLgwhLlrq','x3nJAgvKDwXLuMv0CNK','y29UzMLN','yMfJA2vUzfvYBa','BMfTzq','BgvUz3rO','ofzItfLXEG','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','Dg9ju09tDhjPBMC','mtaXmZm1oevfCNriwq','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','yxbPs2v5twfUywDLCG','BgfZDevYCM9Y','x2nHBMnLBfjLDhj5','z2v0vgLTzq','zxjYB3i','CMv0CNLbDhrLBxb0CW','BMvLzhnszwzYzxnO','AxnbCNjHEq','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','BwfW','CMvMCMvZAfDPDgHdB250zxH0','BgfZDezLDgnOzwq','uMv0CNKGyxr0zw1WDcbMywLSzwq','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','Bw9KzwXZ','Bwf4uMv0CMLLCW','zw52','y2fJAgvfEhbPCNK','BwvZC2fNzq','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','ntq4ndy5mfrdv2rxqW','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','C2vZC2LVBKLK','AxnmB2fKAw5N','yxbPs2v5','z2v0u3rHDhvZ','mJe3nJK3nZzmuKTVz2m','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','zgvIDwC','Aw5MBW','ofH5Ce9nvq','CMv0CNLuAw1LCG','zMv0y2HnB2rLBhm','nZqXndq2D1r1v0nV','Bg9Nz2vY','mtaZnJqXoeXRAw5Uta','te9ysufFqvbjx0Tfwq','Cg93','Bg94AwfbCgLlzxK'];a0_0x211d=function(){return _0x49c0c1;};return a0_0x211d();}function a0_0x3592(_0x57ca20,_0x18b3c8){_0x57ca20=_0x57ca20-0xbe;const _0x211d17=a0_0x211d();let _0x3592fa=_0x211d17[_0x57ca20];if(a0_0x3592['AgEGbk']===undefined){var _0x52c20d=function(_0x676a7){const _0x563855='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e9339='',_0x574980='';for(let _0x222e08=0x0,_0x43de57,_0x54aba9,_0x2c3860=0x0;_0x54aba9=_0x676a7['charAt'](_0x2c3860++);~_0x54aba9&&(_0x43de57=_0x222e08%0x4?_0x43de57*0x40+_0x54aba9:_0x54aba9,_0x222e08++%0x4)?_0x5e9339+=String['fromCharCode'](0xff&_0x43de57>>(-0x2*_0x222e08&0x6)):0x0){_0x54aba9=_0x563855['indexOf'](_0x54aba9);}for(let _0x26e8f1=0x0,_0x289e71=_0x5e9339['length'];_0x26e8f1<_0x289e71;_0x26e8f1++){_0x574980+='%'+('00'+_0x5e9339['charCodeAt'](_0x26e8f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x574980);};a0_0x3592['lBWVpw']=_0x52c20d,a0_0x3592['PcHPqY']={},a0_0x3592['AgEGbk']=!![];}const _0x39a70d=_0x211d17[0x0],_0x24b563=_0x57ca20+_0x39a70d,_0x21b196=a0_0x3592['PcHPqY'][_0x24b563];return!_0x21b196?(_0x3592fa=a0_0x3592['lBWVpw'](_0x3592fa),a0_0x3592['PcHPqY'][_0x24b563]=_0x3592fa):_0x3592fa=_0x21b196,_0x3592fa;}(function(_0x28b7b3,_0xa2d502){const _0x15d007=a0_0x3592,_0x26bec0=_0x28b7b3();while(!![]){try{const _0x272af5=-parseInt(_0x15d007(0xdf))/0x1+-parseInt(_0x15d007(0xe1))/0x2+parseInt(_0x15d007(0xe5))/0x3*(parseInt(_0x15d007(0xf0))/0x4)+-parseInt(_0x15d007(0xd2))/0x5+parseInt(_0x15d007(0xf3))/0x6+parseInt(_0x15d007(0xea))/0x7*(-parseInt(_0x15d007(0xdc))/0x8)+parseInt(_0x15d007(0xd8))/0x9;if(_0x272af5===_0xa2d502)break;else _0x26bec0['push'](_0x26bec0['shift']());}catch(_0x3e8f6d){_0x26bec0['push'](_0x26bec0['shift']());}}}(a0_0x211d,0x96393));class ModelsService{constructor(_0x5e9339,_0x574980){const _0x31bc92=a0_0x3592;this['config']=_0x5e9339,this[_0x31bc92(0xe0)]=_0x574980,this['models']=null,this[_0x31bc92(0xc9)]=null,this[_0x31bc92(0xd5)]=![],this[_0x31bc92(0xcf)]=0x5*0x3c*0x3e8,this['backendUrl']=_0x5e9339[_0x31bc92(0xed)]||_0x31bc92(0xd9),this['retryAttempts']=0x0,this['maxRetries']=0x3,this['retryDelay']=0x7d0,this[_0x31bc92(0xdd)]=null,this[_0x31bc92(0xbf)]=null,this['apiKeyManager']=null;}['setApiKeyManager'](_0x222e08){const _0x2b0906=a0_0x3592;this[_0x2b0906(0xbe)]=_0x222e08,this['logger']?.[_0x2b0906(0xdb)](_0x2b0906(0xf1),{'hasManager':!!_0x222e08});}async['initialize'](){const _0x4a3f8e=a0_0x3592;try{await this['fetchModels'](),this[_0x4a3f8e(0xe0)][_0x4a3f8e(0xdb)](_0x4a3f8e(0xd3),{'modelCount':this['models']?.[_0x4a3f8e(0xef)]||0x0});}catch(_0x43de57){this['lastError']=_0x43de57[_0x4a3f8e(0xd0)],this[_0x4a3f8e(0xe0)]['error']('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x43de57['message'],'endpoint':this['backendUrl']+_0x4a3f8e(0xe7),'willRetry':!![]}),this[_0x4a3f8e(0xeb)]();}}[a0_0x2f8032(0xc6)](){const _0x103c74=a0_0x2f8032;if(!this['models']||this['models'][_0x103c74(0xef)]===0x0)return this[_0x103c74(0xe0)]['error'](_0x103c74(0xf4),{'lastError':this[_0x103c74(0xbf)],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this[_0x103c74(0xc3)],'maxRetries':this[_0x103c74(0xcd)]}),[];return this[_0x103c74(0xcc)][_0x103c74(0xc7)](_0x54aba9=>_0x54aba9['name']);}['getModels'](){const _0x1169fb=a0_0x2f8032;if(!this[_0x1169fb(0xcc)]||this[_0x1169fb(0xcc)][_0x1169fb(0xef)]===0x0)return this[_0x1169fb(0xe0)][_0x1169fb(0xc2)](_0x1169fb(0xf4),{'lastError':this[_0x1169fb(0xbf)],'endpoint':this[_0x1169fb(0xed)]+_0x1169fb(0xe7)}),[];return this[_0x1169fb(0xcc)];}async[a0_0x2f8032(0xde)](_0x2c3860=null){const _0x282b19=a0_0x2f8032;if(this[_0x282b19(0xd5)]){this['logger'][_0x282b19(0xda)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x26e8f1=this[_0x282b19(0xed)]+'/api/llm/models';let _0x289e71=null;if(this['apiKeyManager']&&_0x2c3860&&_0x2c3860['sessionId']){const _0x4269b7=this['apiKeyManager']['getKeysForRequest'](_0x2c3860[_0x282b19(0xd4)],{'platformProvided':!![],'vendor':null});_0x289e71=_0x4269b7[_0x282b19(0xe4)],this['logger']?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x2c3860[_0x282b19(0xd4)],'hasLoxiaKey':!!_0x289e71});}if(!_0x289e71&&_0x2c3860&&_0x2c3860[_0x282b19(0xd6)])_0x289e71=_0x2c3860[_0x282b19(0xd6)];else{if(!_0x289e71&&this['config'][_0x282b19(0xd6)])_0x289e71=this[_0x282b19(0xec)]['apiKey'];else!_0x289e71&&process['env']['LOXIA_API_KEY']&&(_0x289e71=process['env'][_0x282b19(0xe2)]);}const _0x17988e={'method':'GET','headers':{'Content-Type':'application/json',..._0x289e71&&{'Authorization':'Bearer\x20'+_0x289e71}},'timeout':0x2710};this['logger']['debug']('Fetching models from backend',{'url':_0x26e8f1,'hasApiKey':!!_0x289e71,'apiKeySource':_0x2c3860?.[_0x282b19(0xd6)]?_0x282b19(0xe6):this[_0x282b19(0xec)][_0x282b19(0xd6)]?'config':process['env']['LOXIA_API_KEY']?_0x282b19(0xce):'none'});const _0x2dce73=await fetch(_0x26e8f1,_0x17988e);if(!_0x2dce73['ok'])throw new Error(_0x282b19(0xe9)+_0x2dce73['status']+':\x20'+_0x2dce73['statusText']);const _0x4bef77=await _0x2dce73['json']();if(_0x4bef77[_0x282b19(0xcc)]&&Array[_0x282b19(0xc5)](_0x4bef77[_0x282b19(0xcc)]))this[_0x282b19(0xcc)]=_0x4bef77['models'],this['lastFetched']=new Date(),this['needsRefresh']=![],this[_0x282b19(0xe0)][_0x282b19(0xdb)]('Models fetched from backend',{'modelCount':this[_0x282b19(0xcc)][_0x282b19(0xef)],'models':this['models'][_0x282b19(0xc7)](_0xec495=>_0xec495[_0x282b19(0xee)])});else throw new Error('Invalid response format from models API');}catch(_0x2274df){this['lastError']=_0x2274df[_0x282b19(0xd0)],this[_0x282b19(0xe0)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x2274df['message'],'endpoint':url,'retryAttempt':this[_0x282b19(0xc3)],'maxRetries':this[_0x282b19(0xcd)]}),this[_0x282b19(0xeb)](_0x2c3860);if(!this['models'])throw _0x2274df;}finally{this['isLoading']=![];}}[a0_0x2f8032(0xc4)](){const _0x5eb053=a0_0x2f8032;if(!this[_0x5eb053(0xc9)])return!![];const _0x183390=Date['now']()-this[_0x5eb053(0xc9)][_0x5eb053(0xc1)]();return _0x183390>this[_0x5eb053(0xcf)];}async['refresh'](_0x26eab3=null){const _0x5361f2=a0_0x2f8032;this['logger'][_0x5361f2(0xdb)]('Force\x20refreshing\x20models'),await this['fetchModels'](_0x26eab3);}async[a0_0x2f8032(0xc8)](_0xdc1053){const _0x4232bb=a0_0x2f8032;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x4232bb(0xe0)][_0x4232bb(0xda)]('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x4232bb(0xde)](_0xdc1053));}[a0_0x2f8032(0xeb)](_0x1590cb=null){const _0x5410b2=a0_0x2f8032;this['retryTimer']&&(clearTimeout(this[_0x5410b2(0xdd)]),this[_0x5410b2(0xdd)]=null);if(this['retryAttempts']>=this[_0x5410b2(0xcd)]){this['logger'][_0x5410b2(0xc2)](_0x5410b2(0xcb),{'attempts':this['retryAttempts'],'maxRetries':this[_0x5410b2(0xcd)],'lastError':this['lastError']});return;}const _0x505a2a=this['retryDelay']*Math[_0x5410b2(0xe3)](0x2,this[_0x5410b2(0xc3)]);this[_0x5410b2(0xc3)]++,this['logger'][_0x5410b2(0xdb)]('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x5410b2(0xc3)],'maxRetries':this['maxRetries'],'delayMs':_0x505a2a}),this['retryTimer']=setTimeout(async()=>{const _0x16e28f=_0x5410b2;this[_0x16e28f(0xe0)][_0x16e28f(0xdb)]('Executing\x20scheduled\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts']});try{await this[_0x16e28f(0xde)](_0x1590cb),this[_0x16e28f(0xc3)]=0x0,this[_0x16e28f(0xbf)]=null;}catch(_0x372b2c){this['logger'][_0x16e28f(0xe8)](_0x16e28f(0xca),{'attempt':this[_0x16e28f(0xc3)],'error':_0x372b2c[_0x16e28f(0xd0)]});}},_0x505a2a);}[a0_0x2f8032(0xc0)](){const _0x184e89=a0_0x2f8032;this[_0x184e89(0xdd)]&&(clearTimeout(this['retryTimer']),this[_0x184e89(0xdd)]=null,this['logger']['debug'](_0x184e89(0xd1)));}[a0_0x2f8032(0xd7)](){const _0x47ec4f=a0_0x2f8032;return{'initialized':!!this['models'],'lastFetched':this[_0x47ec4f(0xc9)]?.[_0x47ec4f(0xf2)]()||null,'modelCount':this['models']?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this[_0x47ec4f(0xc4)](),'error':this[_0x47ec4f(0xbf)]||null,'retryAttempts':this['retryAttempts'],'maxRetries':this[_0x47ec4f(0xcd)],'hasError':!!this[_0x47ec4f(0xbf)]};}}export default ModelsService;
1
+ const a0_0x35e377=a0_0x2d74;function a0_0xc0b6(){const _0x3bc032=['x2nHBMnLBfjLDhj5','BgfZDevYCM9Y','Cg93','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','x3nJAgvKDwXLuMv0CNK','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','te9ysufFqvbjx0Tfwq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','mJmWnJeWvNzfqw5k','CMv0CNLezwXHEq','yxbPs2v5twfUywDLCG','BwfW','ng1evefYDG','C3rHDhvZ','mtG5mZeZnKP5q2zuAq','C2vZC2LVBKLK','BgfZDezLDgnOzwq','z2v0s2v5C0zVCLjLCxvLC3q','nZmXmJfWy0fiuxu','y29UzMLN','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','Aw5MBW','mZyZnZyYrg9pBuH3','yxbPs2v5','BM93','BwvZC2fNzq','mti1mtK0nJbVwwnQrgu','AxnmB2fKAw5N','zxjYB3i','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','Bw9KzwXZ','CMv0CNLbDhrLBxb0CW','zMv0y2HnB2rLBhm','Bg9Nz2vY','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','CMvMCMvZAfDPDgHdB250zxH0','mJvprvn0Chi','BgvUz3rO','ANnVBG','ofnwDgDkDW','sfruuca','C2v0qxbPs2v5twfUywDLCG','zw52','mJy2mJKXmwP3sg93Ea','zgvIDwC','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','CMv0CNLuAw1LCG','BM9Uzq','yMfJA2vUzfvYBa','l2fWAs9SBg0VBw9KzwXZ','Bwf4uMv0CMLLCW','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','ntaYnJa0oxzwuMnvuG','y2fJAgvfEhbPCNK'];a0_0xc0b6=function(){return _0x3bc032;};return a0_0xc0b6();}(function(_0x3be470,_0x49b875){const _0x358544=a0_0x2d74,_0x2e19c7=_0x3be470();while(!![]){try{const _0x4f9a56=-parseInt(_0x358544(0x1a5))/0x1*(parseInt(_0x358544(0x19f))/0x2)+parseInt(_0x358544(0x188))/0x3+parseInt(_0x358544(0x1a1))/0x4+parseInt(_0x358544(0x181))/0x5*(-parseInt(_0x358544(0x19b))/0x6)+-parseInt(_0x358544(0x191))/0x7*(-parseInt(_0x358544(0x184))/0x8)+-parseInt(_0x358544(0x172))/0x9+-parseInt(_0x358544(0x176))/0xa;if(_0x4f9a56===_0x49b875)break;else _0x2e19c7['push'](_0x2e19c7['shift']());}catch(_0x267f04){_0x2e19c7['push'](_0x2e19c7['shift']());}}}(a0_0xc0b6,0x6d693));function a0_0x2d74(_0x2b53c2,_0x352217){_0x2b53c2=_0x2b53c2-0x16f;const _0xc0b6f0=a0_0xc0b6();let _0x2d74f9=_0xc0b6f0[_0x2b53c2];if(a0_0x2d74['wuQasO']===undefined){var _0x4e896b=function(_0x4512ac){const _0x4a0396='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47733a='',_0x397193='';for(let _0x57d11f=0x0,_0x5c80ea,_0x24b7b9,_0x5ec87a=0x0;_0x24b7b9=_0x4512ac['charAt'](_0x5ec87a++);~_0x24b7b9&&(_0x5c80ea=_0x57d11f%0x4?_0x5c80ea*0x40+_0x24b7b9:_0x24b7b9,_0x57d11f++%0x4)?_0x47733a+=String['fromCharCode'](0xff&_0x5c80ea>>(-0x2*_0x57d11f&0x6)):0x0){_0x24b7b9=_0x4a0396['indexOf'](_0x24b7b9);}for(let _0x234aa2=0x0,_0x1087d3=_0x47733a['length'];_0x234aa2<_0x1087d3;_0x234aa2++){_0x397193+='%'+('00'+_0x47733a['charCodeAt'](_0x234aa2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x397193);};a0_0x2d74['RxsdOe']=_0x4e896b,a0_0x2d74['vmwkyd']={},a0_0x2d74['wuQasO']=!![];}const _0x47d16b=_0xc0b6f0[0x0],_0x4d5eb9=_0x2b53c2+_0x47d16b,_0x1e86f9=a0_0x2d74['vmwkyd'][_0x4d5eb9];return!_0x1e86f9?(_0x2d74f9=a0_0x2d74['RxsdOe'](_0x2d74f9),a0_0x2d74['vmwkyd'][_0x4d5eb9]=_0x2d74f9):_0x2d74f9=_0x1e86f9,_0x2d74f9;}class ModelsService{constructor(_0x47733a,_0x397193){const _0x4b35ed=a0_0x2d74;this['config']=_0x47733a,this['logger']=_0x397193,this['models']=null,this['lastFetched']=null,this[_0x4b35ed(0x177)]=![],this[_0x4b35ed(0x192)]=0x5*0x3c*0x3e8,this['backendUrl']=_0x47733a['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this['maxRetries']=0x3,this['retryDelay']=0x7d0,this['retryTimer']=null,this[_0x4b35ed(0x194)]=null,this[_0x4b35ed(0x19d)]=null;}[a0_0x35e377(0x186)](_0x57d11f){const _0x223718=a0_0x35e377;this[_0x223718(0x19d)]=_0x57d11f,this['logger']?.[_0x223718(0x171)](_0x223718(0x19a),{'hasManager':!!_0x57d11f});}async['initialize'](){const _0xced054=a0_0x35e377;try{await this[_0xced054(0x17d)](),this['logger'][_0xced054(0x171)]('Models\x20service\x20initialized',{'modelCount':this[_0xced054(0x17b)]?.['length']||0x0});}catch(_0x5c80ea){this['lastError']=_0x5c80ea['message'],this[_0xced054(0x17e)]['error']('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x5c80ea['message'],'endpoint':this['backendUrl']+'/api/llm/models','willRetry':!![]}),this[_0xced054(0x197)]();}}[a0_0x35e377(0x17f)](){const _0x5d113e=a0_0x35e377;if(!this['models']||this['models']['length']===0x0)return this[_0x5d113e(0x17e)]['error']('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x5d113e(0x194)],'endpoint':this[_0x5d113e(0x18d)]+_0x5d113e(0x18e),'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),[];return this[_0x5d113e(0x17b)]['map'](_0x24b7b9=>_0x24b7b9['name']);}['getModels'](){const _0x148d12=a0_0x35e377;if(!this['models']||this['models'][_0x148d12(0x182)]===0x0)return this['logger'][_0x148d12(0x178)](_0x148d12(0x179),{'lastError':this[_0x148d12(0x194)],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this[_0x148d12(0x17b)];}async['fetchModels'](_0x5ec87a=null){const _0x119bdd=a0_0x35e377;if(this['isLoading']){this[_0x119bdd(0x17e)][_0x119bdd(0x189)](_0x119bdd(0x198));return;}this[_0x119bdd(0x177)]=!![];try{const _0x234aa2=this[_0x119bdd(0x18d)]+'/api/llm/models';let _0x1087d3=null;if(this['apiKeyManager']&&_0x5ec87a&&_0x5ec87a['sessionId']){const _0x97dfd=this[_0x119bdd(0x19d)][_0x119bdd(0x1a4)](_0x5ec87a['sessionId'],{'platformProvided':!![],'vendor':null});_0x1087d3=_0x97dfd['loxiaApiKey'],this[_0x119bdd(0x17e)]?.[_0x119bdd(0x171)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x5ec87a[_0x119bdd(0x1a2)],'hasLoxiaKey':!!_0x1087d3});}if(!_0x1087d3&&_0x5ec87a&&_0x5ec87a['apiKey'])_0x1087d3=_0x5ec87a[_0x119bdd(0x173)];else{if(!_0x1087d3&&this['config']['apiKey'])_0x1087d3=this[_0x119bdd(0x16f)][_0x119bdd(0x173)];else!_0x1087d3&&process['env'][_0x119bdd(0x199)]&&(_0x1087d3=process[_0x119bdd(0x187)]['LOXIA_API_KEY']);}const _0x366721={'method':'GET','headers':{'Content-Type':'application/json',..._0x1087d3&&{'Authorization':'Bearer\x20'+_0x1087d3}},'timeout':0x2710};this['logger'][_0x119bdd(0x189)]('Fetching models from backend',{'url':_0x234aa2,'hasApiKey':!!_0x1087d3,'apiKeySource':_0x5ec87a?.['apiKey']?'context':this['config'][_0x119bdd(0x173)]?'config':process[_0x119bdd(0x187)][_0x119bdd(0x199)]?_0x119bdd(0x187):_0x119bdd(0x18c)});const _0x45b712=await fetch(_0x234aa2,_0x366721);if(!_0x45b712['ok'])throw new Error(_0x119bdd(0x185)+_0x45b712[_0x119bdd(0x1a0)]+':\x20'+_0x45b712['statusText']);const _0x511389=await _0x45b712[_0x119bdd(0x183)]();if(_0x511389['models']&&Array['isArray'](_0x511389[_0x119bdd(0x17b)]))this['models']=_0x511389[_0x119bdd(0x17b)],this[_0x119bdd(0x1a3)]=new Date(),this['needsRefresh']=![],this[_0x119bdd(0x17e)][_0x119bdd(0x171)]('Models fetched from backend',{'modelCount':this['models']['length'],'models':this[_0x119bdd(0x17b)][_0x119bdd(0x19e)](_0x4c5711=>_0x4c5711['name'])});else throw new Error('Invalid response format from models API');}catch(_0xbb8183){this['lastError']=_0xbb8183[_0x119bdd(0x175)],this['logger'][_0x119bdd(0x178)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0xbb8183['message'],'endpoint':url,'retryAttempt':this[_0x119bdd(0x17c)],'maxRetries':this['maxRetries']}),this['_scheduleRetry'](_0x5ec87a);if(!this['models'])throw _0xbb8183;}finally{this['isLoading']=![];}}['needsRefresh'](){const _0xff4ac6=a0_0x35e377;if(!this[_0xff4ac6(0x1a3)])return!![];const _0xec4778=Date[_0xff4ac6(0x174)]()-this[_0xff4ac6(0x1a3)]['getTime']();return _0xec4778>this[_0xff4ac6(0x192)];}async['refresh'](_0x211e8b=null){const _0x5cf666=a0_0x35e377;this['logger']['info'](_0x5cf666(0x17a)),await this['fetchModels'](_0x211e8b);}async[a0_0x35e377(0x180)](_0x37517c){const _0x196601=a0_0x35e377;(this['needsRefresh']||!this[_0x196601(0x1a3)])&&(this[_0x196601(0x17e)][_0x196601(0x189)](_0x196601(0x190)),await this[_0x196601(0x17d)](_0x37517c));}[a0_0x35e377(0x197)](_0x5491b1=null){const _0xb9b4d=a0_0x35e377;this[_0xb9b4d(0x18b)]&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this[_0xb9b4d(0x17c)]>=this['maxRetries']){this[_0xb9b4d(0x17e)]['error']('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this[_0xb9b4d(0x17c)],'maxRetries':this[_0xb9b4d(0x18f)],'lastError':this[_0xb9b4d(0x194)]});return;}const _0x13e5b1=this[_0xb9b4d(0x19c)]*Math[_0xb9b4d(0x195)](0x2,this['retryAttempts']);this[_0xb9b4d(0x17c)]++,this['logger'][_0xb9b4d(0x171)](_0xb9b4d(0x170),{'attempt':this[_0xb9b4d(0x17c)],'maxRetries':this['maxRetries'],'delayMs':_0x13e5b1}),this['retryTimer']=setTimeout(async()=>{const _0x46a319=_0xb9b4d;this['logger'][_0x46a319(0x171)](_0x46a319(0x18a),{'attempt':this[_0x46a319(0x17c)]});try{await this['fetchModels'](_0x5491b1),this['retryAttempts']=0x0,this['lastError']=null;}catch(_0x2681a1){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this[_0x46a319(0x17c)],'error':_0x2681a1['message']});}},_0x13e5b1);}[a0_0x35e377(0x193)](){const _0x1523b8=a0_0x35e377;this[_0x1523b8(0x18b)]&&(clearTimeout(this[_0x1523b8(0x18b)]),this['retryTimer']=null,this['logger']['debug'](_0x1523b8(0x196)));}['getStatus'](){const _0x41c127=a0_0x35e377;return{'initialized':!!this[_0x41c127(0x17b)],'lastFetched':this['lastFetched']?.['toISOString']()||null,'modelCount':this[_0x41c127(0x17b)]?.['length']||0x0,'isLoading':this[_0x41c127(0x177)],'needsRefresh':this['needsRefresh'](),'error':this[_0x41c127(0x194)]||null,'retryAttempts':this[_0x41c127(0x17c)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;