@loxia-labs/loxia-autopilot-one 1.0.16 → 1.0.17

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 (122) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -1
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/agentActivityService.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
  117. package/src/utilities/userDataDir.js +1 -1
  118. package/web-ui/build/index.html +2 -2
  119. package/web-ui/build/static/index-CRkOpV4k.css +1 -0
  120. package/web-ui/build/static/index-DzOU48ux.js +367 -0
  121. package/web-ui/build/static/index-DFmFvOoy.css +0 -1
  122. package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
@@ -1 +1 @@
1
- function a0_0xc7c1(_0x2c8833,_0x491621){_0x2c8833=_0x2c8833-0x1c3;const _0x124e07=a0_0x124e();let _0xc7c1e7=_0x124e07[_0x2c8833];if(a0_0xc7c1['DMNfux']===undefined){var _0x2e6957=function(_0x598463){const _0x3f4d9d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x134e45='',_0x39c734='';for(let _0x4ce316=0x0,_0x58a321,_0x569d8f,_0x47eb05=0x0;_0x569d8f=_0x598463['charAt'](_0x47eb05++);~_0x569d8f&&(_0x58a321=_0x4ce316%0x4?_0x58a321*0x40+_0x569d8f:_0x569d8f,_0x4ce316++%0x4)?_0x134e45+=String['fromCharCode'](0xff&_0x58a321>>(-0x2*_0x4ce316&0x6)):0x0){_0x569d8f=_0x3f4d9d['indexOf'](_0x569d8f);}for(let _0x27bcbc=0x0,_0x8a4b24=_0x134e45['length'];_0x27bcbc<_0x8a4b24;_0x27bcbc++){_0x39c734+='%'+('00'+_0x134e45['charCodeAt'](_0x27bcbc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39c734);};a0_0xc7c1['zUvWcP']=_0x2e6957,a0_0xc7c1['lbJXVj']={},a0_0xc7c1['DMNfux']=!![];}const _0x13b903=_0x124e07[0x0],_0xb30227=_0x2c8833+_0x13b903,_0xc4c796=a0_0xc7c1['lbJXVj'][_0xb30227];return!_0xc4c796?(_0xc7c1e7=a0_0xc7c1['zUvWcP'](_0xc7c1e7),a0_0xc7c1['lbJXVj'][_0xb30227]=_0xc7c1e7):_0xc7c1e7=_0xc4c796,_0xc7c1e7;}const a0_0x31094b=a0_0xc7c1;(function(_0x5c35ec,_0x11f17e){const _0xa1004=a0_0xc7c1,_0x230ae7=_0x5c35ec();while(!![]){try{const _0x42aff6=-parseInt(_0xa1004(0x1e1))/0x1+-parseInt(_0xa1004(0x1de))/0x2+-parseInt(_0xa1004(0x1ca))/0x3*(-parseInt(_0xa1004(0x212))/0x4)+parseInt(_0xa1004(0x1f2))/0x5*(-parseInt(_0xa1004(0x207))/0x6)+parseInt(_0xa1004(0x1d3))/0x7+-parseInt(_0xa1004(0x208))/0x8+parseInt(_0xa1004(0x20d))/0x9;if(_0x42aff6===_0x11f17e)break;else _0x230ae7['push'](_0x230ae7['shift']());}catch(_0x5ee349){_0x230ae7['push'](_0x230ae7['shift']());}}}(a0_0x124e,0x2d63c));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x134e45,_0x39c734,_0x4ce316){const _0x3d1ecc=a0_0xc7c1;this[_0x3d1ecc(0x1f3)]=_0x134e45,this[_0x3d1ecc(0x203)]=_0x39c734,this['logger']=_0x4ce316,this['summaryPromptTemplate']=this[_0x3d1ecc(0x1e3)]();}async['compactConversation'](_0x58a321,_0x569d8f,_0x47eb05,_0x27bcbc={}){const _0x20a76a=a0_0xc7c1,_0x8a4b24=Date[_0x20a76a(0x1d4)]();try{if(!Array['isArray'](_0x58a321)||_0x58a321['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x58a321['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this['logger']['warn'](_0x20a76a(0x1ee),{'messageCount':_0x58a321[_0x20a76a(0x1c8)],'minimum':COMPACTION_CONFIG[_0x20a76a(0x1e5)]}),{'compactedMessages':_0x58a321,'strategy':_0x20a76a(0x1fd),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x476a81=_0x569d8f!==_0x47eb05,_0x4b83f2=_0x27bcbc[_0x20a76a(0x1d2)]||![];let _0x265165;if(_0x476a81)_0x265165=COMPACTION_STRATEGIES['TRUNCATION'];else _0x4b83f2?_0x265165=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x265165=_0x27bcbc[_0x20a76a(0x1ff)]||COMPACTION_STRATEGIES[_0x20a76a(0x201)];this['logger'][_0x20a76a(0x1ea)]('Starting\x20conversation\x20compaction',{'messageCount':_0x58a321[_0x20a76a(0x1c8)],'currentModel':_0x569d8f,'targetModel':_0x47eb05,'strategy':_0x265165,'isModelSwitch':_0x476a81,'isRetry':_0x4b83f2});let _0x32882c;switch(_0x265165){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x32882c=await this['_compactWithSummarization'](_0x58a321,_0x569d8f,_0x27bcbc);break;case COMPACTION_STRATEGIES[_0x20a76a(0x1f5)]:_0x32882c=await this[_0x20a76a(0x1d7)](_0x58a321,_0x47eb05,_0x27bcbc);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x32882c=await this[_0x20a76a(0x211)](_0x58a321,_0x569d8f,_0x27bcbc);break;default:throw new Error(_0x20a76a(0x20e)+_0x265165);}const _0x2f9e20=Date[_0x20a76a(0x1d4)]()-_0x8a4b24;return _0x32882c[_0x20a76a(0x1e2)]=_0x2f9e20,_0x32882c['timestamp']=new Date()[_0x20a76a(0x209)](),this['logger']['info'](_0x20a76a(0x1ef),{'strategy':_0x32882c['strategy'],'originalMessages':_0x58a321[_0x20a76a(0x1c8)],'compactedMessages':_0x32882c['compactedMessages']['length'],'originalTokens':_0x32882c[_0x20a76a(0x1f9)],'compactedTokens':_0x32882c['compactedTokenCount'],'reductionPercent':_0x32882c['reductionPercent']['toFixed'](0x2),'executionTime':_0x2f9e20+'ms'}),_0x32882c;}catch(_0x39ca67){const _0x31073c=Date[_0x20a76a(0x1d4)]()-_0x8a4b24;this['logger']['error'](_0x20a76a(0x1c7),{'error':_0x39ca67[_0x20a76a(0x1ed)],'messageCount':_0x58a321['length'],'currentModel':_0x569d8f,'targetModel':_0x47eb05,'executionTime':_0x31073c+'ms'});throw _0x39ca67;}}async[a0_0x31094b(0x1da)](_0x28d196,_0x3cd7af,_0x2bf07f){const _0x577b2b=a0_0x31094b,_0x2c97dc=COMPACTION_STRATEGIES[_0x577b2b(0x201)],_0x414c34=await this['tokenCountingService']['estimateConversationTokens'](_0x28d196,_0x3cd7af,TOKEN_COUNTING_MODES[_0x577b2b(0x1d8)]),_0x4100d4=await this['_identifySegments'](_0x28d196,_0x3cd7af,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this['logger'][_0x577b2b(0x1fc)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x4100d4['beginning']['length'],'middleMessages':_0x4100d4[_0x577b2b(0x1fa)][_0x577b2b(0x1c8)],'endMessages':_0x4100d4[_0x577b2b(0x205)]['length'],'middleStartIndex':_0x4100d4[_0x577b2b(0x1d0)],'middleEndIndex':_0x4100d4[_0x577b2b(0x20c)],'totalMessages':_0x28d196['length']});const _0x55afc6=await this[_0x577b2b(0x1f8)](_0x4100d4['middle'],_0x3cd7af,{..._0x2bf07f,'middleStartIndex':_0x4100d4[_0x577b2b(0x1d0)],'middleEndIndex':_0x4100d4[_0x577b2b(0x20c)]}),_0x250cad=[..._0x4100d4[_0x577b2b(0x20b)],_0x55afc6,..._0x4100d4[_0x577b2b(0x205)]],_0x4cd9b8=await this['tokenCountingService']['estimateConversationTokens'](_0x250cad,_0x3cd7af,TOKEN_COUNTING_MODES['ACCURATE']),_0x4c400c=(_0x414c34-_0x4cd9b8)/_0x414c34*0x64;return{'compactedMessages':_0x250cad,'strategy':_0x2c97dc,'originalTokenCount':_0x414c34,'compactedTokenCount':_0x4cd9b8,'reductionPercent':_0x4c400c,'segments':{'beginningCount':_0x4100d4['beginning'][_0x577b2b(0x1c8)],'middleCount':_0x4100d4['middle'][_0x577b2b(0x1c8)],'endCount':_0x4100d4[_0x577b2b(0x205)][_0x577b2b(0x1c8)],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x5a59a3,_0x4b1b6e,_0x4cfd98){const _0x4e3fba=a0_0x31094b,_0x276949=COMPACTION_STRATEGIES['TRUNCATION'],_0x508f15=this[_0x4e3fba(0x1f3)][_0x4e3fba(0x1f6)](_0x4b1b6e),_0x543cd4=Math['floor'](_0x508f15*0.8),_0x31c1bd=await this['tokenCountingService']['estimateConversationTokens'](_0x5a59a3,_0x4b1b6e,TOKEN_COUNTING_MODES['ACCURATE']),_0x3639bf=await this['_identifySegments'](_0x5a59a3,_0x4b1b6e,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x4e3fba(0x1cf)]);this['logger'][_0x4e3fba(0x1fc)](_0x4e3fba(0x1c6),{'beginningMessages':_0x3639bf['beginning']['length'],'middleMessages':_0x3639bf['middle'][_0x4e3fba(0x1c8)],'endMessages':_0x3639bf['end'][_0x4e3fba(0x1c8)],'targetTokenCount':_0x543cd4,'originalTokenCount':_0x31c1bd});const _0x4568bf={'role':_0x4e3fba(0x1d5),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':_0x4e3fba(0x1dc),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x3639bf[_0x4e3fba(0x1fa)][_0x4e3fba(0x1c8)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0xa244cb=[..._0x3639bf['beginning'],_0x4568bf,..._0x3639bf[_0x4e3fba(0x205)]],_0x3627da=await this['tokenCountingService'][_0x4e3fba(0x1e7)](_0xa244cb,_0x4b1b6e,TOKEN_COUNTING_MODES[_0x4e3fba(0x1d8)]),_0x1b42f8=(_0x31c1bd-_0x3627da)/_0x31c1bd*0x64;return{'compactedMessages':_0xa244cb,'strategy':_0x276949,'originalTokenCount':_0x31c1bd,'compactedTokenCount':_0x3627da,'reductionPercent':_0x1b42f8,'segments':{'beginningCount':_0x3639bf['beginning'][_0x4e3fba(0x1c8)],'middleCount':_0x3639bf[_0x4e3fba(0x1fa)]['length'],'endCount':_0x3639bf['end'][_0x4e3fba(0x1c8)],'summaryInserted':![]}};}async[a0_0x31094b(0x211)](_0x3ebe1b,_0x3d309c,_0x449a47){const _0x2f7aba=a0_0x31094b,_0x3a1cee=COMPACTION_STRATEGIES['AGGRESSIVE'],_0xa1ffb0=await this[_0x2f7aba(0x1f3)][_0x2f7aba(0x1e7)](_0x3ebe1b,_0x3d309c,TOKEN_COUNTING_MODES[_0x2f7aba(0x1d8)]),_0x1515a6=await this[_0x2f7aba(0x1eb)](_0x3ebe1b,_0x3d309c,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger'][_0x2f7aba(0x1fc)](_0x2f7aba(0x1ec),{'beginningMessages':_0x1515a6['beginning'][_0x2f7aba(0x1c8)],'middleMessages':_0x1515a6['middle'][_0x2f7aba(0x1c8)],'endMessages':_0x1515a6[_0x2f7aba(0x205)][_0x2f7aba(0x1c8)],'middleStartIndex':_0x1515a6['middleStartIndex'],'middleEndIndex':_0x1515a6['middleEndIndex']});const _0x145b98=await this[_0x2f7aba(0x1f8)](_0x1515a6[_0x2f7aba(0x1fa)],_0x3d309c,{..._0x449a47,'aggressive':!![],'middleStartIndex':_0x1515a6[_0x2f7aba(0x1d0)],'middleEndIndex':_0x1515a6[_0x2f7aba(0x20c)]}),_0x429e35=[..._0x1515a6['beginning'],_0x145b98,..._0x1515a6[_0x2f7aba(0x205)]],_0x27b033=await this[_0x2f7aba(0x1f3)][_0x2f7aba(0x1e7)](_0x429e35,_0x3d309c,TOKEN_COUNTING_MODES[_0x2f7aba(0x1d8)]),_0x20e8de=(_0xa1ffb0-_0x27b033)/_0xa1ffb0*0x64;return{'compactedMessages':_0x429e35,'strategy':_0x3a1cee,'originalTokenCount':_0xa1ffb0,'compactedTokenCount':_0x27b033,'reductionPercent':_0x20e8de,'segments':{'beginningCount':_0x1515a6['beginning'][_0x2f7aba(0x1c8)],'middleCount':_0x1515a6[_0x2f7aba(0x1fa)][_0x2f7aba(0x1c8)],'endCount':_0x1515a6[_0x2f7aba(0x205)]['length'],'summaryInserted':!![]}};}async[a0_0x31094b(0x1eb)](_0x38a9b5,_0x5a6cb6,_0x550e97,_0x7ba2f2){const _0x28eb8c=a0_0x31094b,_0x2937b2=await this['tokenCountingService'][_0x28eb8c(0x1e7)](_0x38a9b5,_0x5a6cb6,TOKEN_COUNTING_MODES['ACCURATE']),_0x321f76=Math['floor'](_0x2937b2*_0x550e97),_0x16273c=Math[_0x28eb8c(0x1db)](_0x2937b2*_0x7ba2f2);let _0x1c1514=0x0,_0x2caeba=0x0;for(let _0x20759e=0x0;_0x20759e<_0x38a9b5['length'];_0x20759e++){const _0x346a6f=await this['tokenCountingService']['countTokens'](_0x38a9b5[_0x20759e]['content'],_0x5a6cb6,TOKEN_COUNTING_MODES[_0x28eb8c(0x206)]);if(_0x1c1514+_0x346a6f>_0x321f76&&_0x20759e>=0x2)break;_0x1c1514+=_0x346a6f,_0x2caeba=_0x20759e+0x1;}let _0x81afcb=0x0,_0x5e1870=_0x38a9b5[_0x28eb8c(0x1c8)];for(let _0x2eea87=_0x38a9b5['length']-0x1;_0x2eea87>=0x0;_0x2eea87--){const _0x1e8381=await this[_0x28eb8c(0x1f3)][_0x28eb8c(0x1e4)](_0x38a9b5[_0x2eea87][_0x28eb8c(0x20a)],_0x5a6cb6,TOKEN_COUNTING_MODES['CACHED']);if(_0x81afcb+_0x1e8381>_0x16273c)break;_0x81afcb+=_0x1e8381,_0x5e1870=_0x2eea87;}_0x5e1870<_0x2caeba&&(_0x5e1870=_0x2caeba);const _0x16d6d9=_0x38a9b5[_0x28eb8c(0x1cc)](0x0,_0x2caeba),_0x5308a7=_0x38a9b5[_0x28eb8c(0x1cc)](_0x2caeba,_0x5e1870),_0x331ef9=_0x38a9b5['slice'](_0x5e1870);return{'beginning':_0x16d6d9,'middle':_0x5308a7,'end':_0x331ef9,'middleStartIndex':_0x2caeba,'middleEndIndex':_0x5e1870-0x1};}async[a0_0x31094b(0x1f8)](_0x5f45b3,_0x20a4cc,_0x2adde4={}){const _0x14377c=a0_0x31094b;if(_0x5f45b3['length']===0x0)return{'role':_0x14377c(0x1d5),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':'summary','timestamp':new Date()['toISOString']()};const _0x76ebb0=_0x5f45b3[_0x14377c(0x1f7)](_0x5c5839=>_0x5c5839[_0x14377c(0x200)]+':\x20'+_0x5c5839[_0x14377c(0x20a)])['join']('\x0a\x0a'),_0x308e0a=this[_0x14377c(0x1fb)]['replace'](_0x14377c(0x1f0),_0x76ebb0)[_0x14377c(0x1c9)](_0x14377c(0x1df),_0x2adde4['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x62bb3d=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x14377c(0x213)]];let _0x48a538=null;for(const _0x4ec749 of _0x62bb3d){try{this['logger'][_0x14377c(0x1fc)](_0x14377c(0x1f1),{'compactionModel':_0x4ec749,'middleMessageCount':_0x5f45b3['length'],'middleContentLength':_0x76ebb0['length'],'aggressive':_0x2adde4[_0x14377c(0x1e9)]});const _0x33787e=await this[_0x14377c(0x203)][_0x14377c(0x1cb)](_0x4ec749,_0x308e0a,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG[_0x14377c(0x1c3)],'temperature':0.3,'sessionId':_0x2adde4['sessionId'],'platformProvided':!![]}),_0x236649=_0x33787e[_0x14377c(0x20a)][_0x14377c(0x204)](),_0x59ae0a=_0x2adde4[_0x14377c(0x1d0)]!==undefined&&_0x2adde4['middleEndIndex']!==undefined?_0x14377c(0x1e0)+_0x2adde4[_0x14377c(0x1d0)]+'-'+_0x2adde4[_0x14377c(0x20c)]:_0x5f45b3[_0x14377c(0x1c8)]+_0x14377c(0x1c4);return this['logger'][_0x14377c(0x1ea)](_0x14377c(0x1e6),{'compactionModel':_0x4ec749,'originalLength':_0x76ebb0[_0x14377c(0x1c8)],'summaryLength':_0x236649['length'],'compressionRatio':(_0x236649['length']/_0x76ebb0['length']*0x64)[_0x14377c(0x1fe)](0x2)+'%','indexRange':_0x59ae0a}),{'role':'system','content':COMPACTION_CONFIG[_0x14377c(0x210)]+_0x14377c(0x1ce)+_0x59ae0a+']\x0a\x0a'+_0x236649+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x14377c(0x20f),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x5f45b3['length'],'originalStartIndex':_0x2adde4[_0x14377c(0x1d0)],'originalEndIndex':_0x2adde4[_0x14377c(0x20c)],'compactionModel':_0x4ec749,'aggressive':_0x2adde4['aggressive']||![]}};}catch(_0x27e492){_0x48a538=_0x27e492,this[_0x14377c(0x202)][_0x14377c(0x1f4)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x4ec749,'error':_0x27e492['message'],'middleMessageCount':_0x5f45b3[_0x14377c(0x1c8)]});}}this['logger'][_0x14377c(0x1cd)]('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x62bb3d[_0x14377c(0x1c8)],'lastError':_0x48a538?.['message'],'middleMessageCount':_0x5f45b3['length']});const _0x416e7a=this[_0x14377c(0x1d6)](_0x5f45b3),_0x5e1148=_0x2adde4['middleStartIndex']!==undefined&&_0x2adde4[_0x14377c(0x20c)]!==undefined?_0x14377c(0x1e0)+_0x2adde4['middleStartIndex']+'-'+_0x2adde4['middleEndIndex']:_0x5f45b3[_0x14377c(0x1c8)]+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG[_0x14377c(0x210)]+_0x14377c(0x1ce)+_0x5e1148+_0x14377c(0x1c5)+_0x416e7a+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x14377c(0x209)](),'metadata':{'originalMessageCount':_0x5f45b3[_0x14377c(0x1c8)],'originalStartIndex':_0x2adde4[_0x14377c(0x1d0)],'originalEndIndex':_0x2adde4[_0x14377c(0x20c)],'fallback':!![],'error':_0x48a538?.['message'],'modelsAttempted':_0x62bb3d}};}['_createFallbackSummary'](_0x210110){const _0x4ce3cc=a0_0x31094b,_0x323e27=_0x210110['length'],_0x6a78c7=_0x210110['map'](_0x5c5b7b=>_0x5c5b7b[_0x4ce3cc(0x200)]),_0x3eed32=_0x6a78c7[_0x4ce3cc(0x1d1)](_0x1ffb35=>_0x1ffb35===_0x4ce3cc(0x1e8))[_0x4ce3cc(0x1c8)],_0x48f876=_0x6a78c7[_0x4ce3cc(0x1d1)](_0x4098c3=>_0x4098c3==='assistant')[_0x4ce3cc(0x1c8)];return'['+_0x323e27+'\x20messages\x20summarized\x20-\x20'+_0x3eed32+_0x4ce3cc(0x1dd)+_0x48f876+'\x20assistant\x20responses.\x20'+_0x4ce3cc(0x1d9);}[a0_0x31094b(0x1e3)](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}export default ConversationCompactionService;function a0_0x124e(){const _0x4049b1=['r2vUzxjHDgLUzYbZDw1Tyxj5','mtvRCeLjBwy','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','D2fYBG','vfjvtKnbveLptG','z2v0tw9KzwXdB250zxH0v2LUzg93','BwfW','x2DLBMvYyxrLu3vTBwfYEq','B3jPz2LUywXuB2TLBKnVDw50','BwLKzgXL','C3vTBwfYEvbYB21WDfrLBxbSyxrL','zgvIDwC','BM9Uzq','Dg9gAxHLza','C3rYyxrLz3K','CM9Szq','u1vntufssvPbveLptG','Bg9Nz2vY','ywLtzxj2AwnL','DhjPBq','zw5K','q0fdseve','ndqWodyYqun1C0T0','nZG2ndy0uLjPuhHv','Dg9ju09tDhjPBMC','y29UDgvUDa','yMvNAw5UAw5N','BwLKzgXLrw5Ksw5KzxG','ndeYmZKXn1b1swLyva','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','C3vTBwfYEq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','mtzozKXkwxG','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','tufyx1nvtu1buLLFve9lru5t','ig1LC3nHz2vZ','xqOk','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','q29TCgfJDgLVBIbMywLSzwq','BgvUz3rO','CMvWBgfJzq','mtK3mdyXv3zJBNPo','C2vUze1LC3nHz2u','C2XPy2u','zxjYB3i','ic0G','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','zMLSDgvY','AxnszxrYEq','ndmYotm2veLSter0','BM93','C3LZDgvT','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','qundvvjbveu','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','zMXVB3i','C2vWyxjHDg9Y','ihvZzxiGBwvZC2fNzxmSia','nda2mtiWsM1XqKDL','E2fNz3jLC3nPDMvFAw5ZDhj1y3rPB259','B3jPz2LUywWGBwvZC2fNzxmG','nZuWotrPwvjzq28','zxHLy3v0Aw9UvgLTzq','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','y291BNruB2TLBNm','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','DxnLCG','ywDNCMvZC2L2zq','Aw5MBW','x2LKzw50Awz5u2vNBwvUDhm','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','BwvZC2fNzq','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','E21PzgrSzv9ZzwDTzw50Fq'];a0_0x124e=function(){return _0x4049b1;};return a0_0x124e();}
1
+ const a0_0x41529f=a0_0x2f97;function a0_0x2f97(_0x422b20,_0x32aef6){_0x422b20=_0x422b20-0x1e4;const _0x9dfb3=a0_0x9dfb();let _0x2f9776=_0x9dfb3[_0x422b20];if(a0_0x2f97['NBLDak']===undefined){var _0x22b9b9=function(_0x1b63f6){const _0xf9196c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d48a='',_0x1daa90='';for(let _0x1f5782=0x0,_0x485a8f,_0x35113a,_0x585960=0x0;_0x35113a=_0x1b63f6['charAt'](_0x585960++);~_0x35113a&&(_0x485a8f=_0x1f5782%0x4?_0x485a8f*0x40+_0x35113a:_0x35113a,_0x1f5782++%0x4)?_0x17d48a+=String['fromCharCode'](0xff&_0x485a8f>>(-0x2*_0x1f5782&0x6)):0x0){_0x35113a=_0xf9196c['indexOf'](_0x35113a);}for(let _0x88e70=0x0,_0x1b45da=_0x17d48a['length'];_0x88e70<_0x1b45da;_0x88e70++){_0x1daa90+='%'+('00'+_0x17d48a['charCodeAt'](_0x88e70)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1daa90);};a0_0x2f97['jfiUjA']=_0x22b9b9,a0_0x2f97['VGTkOy']={},a0_0x2f97['NBLDak']=!![];}const _0x4f2267=_0x9dfb3[0x0],_0x4f5d44=_0x422b20+_0x4f2267,_0x24d498=a0_0x2f97['VGTkOy'][_0x4f5d44];return!_0x24d498?(_0x2f9776=a0_0x2f97['jfiUjA'](_0x2f9776),a0_0x2f97['VGTkOy'][_0x4f5d44]=_0x2f9776):_0x2f9776=_0x24d498,_0x2f9776;}function a0_0x9dfb(){const _0x43d968=['BwfW','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','ic0G','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','x2LKzw50Awz5u2vNBwvUDhm','BwLKzgXL','BM93','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','zgvIDwC','BwvZC2fNzq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','mtaYotmXmgr1Bur0AW','y291BNruB2TLBNm','Aw5MBW','CMvWBgfJzq','mZi0mtHptLzKEey','zMXVB3i','x2DLBMvYyxrLu3vTBwfYEq','BwLKzgXLu3rHCNrjBMrLEa','nte4vM10y0fR','vfjvtKnbveLptG','Bg9Nz2vY','tufyx1nvtu1buLLFve9lru5t','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','yMvNAw5UAw5N','otuZmtyXnKfSsgnIDq','y29UDgvUDa','DxnLCG','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','quDhuKvtu0Lwrq','CM9Szq','ywDNCMvZC2L2zq','mteXotu3nLnWBxPvvW','mZyYntKYqwTRy3HP','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','C3vTBwfYEq','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','BwLKzgXLrw5Ksw5KzxG','C2vUze1LC3nHz2u','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','zxjYB3i','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','zw5K','ihvZzxiGBwvZC2fNzxmSia','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','y29TCgfJDenVBNzLCNnHDgLVBG','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','oteYmJC2zLbKreDp','yxnZAxn0yw50','C2vWyxjHDg9Y','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','qundvvjbveu','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','D2fYBG','Dg9gAxHLza','C3LZDgvT','u1vntufssvPbveLptG','ig1LC3nHz2vZ','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','C2XPy2u','E21PzgrSzv9ZzwDTzw50Fq','Dg9ju09tDhjPBMC','BgvUz3rO','B3jPz2LUywWGBwvZC2fNzxmG','q29TCgfJDgLVBIbMywLSzwq','ndmXntaWy0PVsLDM'];a0_0x9dfb=function(){return _0x43d968;};return a0_0x9dfb();}(function(_0x32691b,_0x1785ee){const _0x4bbcc1=a0_0x2f97,_0x14638e=_0x32691b();while(!![]){try{const _0x183112=-parseInt(_0x4bbcc1(0x22e))/0x1+parseInt(_0x4bbcc1(0x22d))/0x2+-parseInt(_0x4bbcc1(0x1f1))/0x3+-parseInt(_0x4bbcc1(0x209))/0x4+-parseInt(_0x4bbcc1(0x218))/0x5+-parseInt(_0x4bbcc1(0x21c))/0x6*(parseInt(_0x4bbcc1(0x220))/0x7)+parseInt(_0x4bbcc1(0x226))/0x8;if(_0x183112===_0x1785ee)break;else _0x14638e['push'](_0x14638e['shift']());}catch(_0xf7ceb3){_0x14638e['push'](_0x14638e['shift']());}}}(a0_0x9dfb,0x5a935));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x17d48a,_0x1daa90,_0x1f5782){const _0x41f0b2=a0_0x2f97;this[_0x41f0b2(0x1f8)]=_0x17d48a,this['aiService']=_0x1daa90,this[_0x41f0b2(0x222)]=_0x1f5782,this[_0x41f0b2(0x216)]=this[_0x41f0b2(0x201)]();}async[a0_0x41529f(0x1ef)](_0x485a8f,_0x35113a,_0x585960,_0x88e70={}){const _0x56be33=a0_0x41529f,_0x1b45da=Date[_0x56be33(0x212)]();try{if(!Array['isArray'](_0x485a8f)||_0x485a8f['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x485a8f['length']<COMPACTION_CONFIG[_0x56be33(0x20b)])return this[_0x56be33(0x222)]['warn']('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x485a8f[_0x56be33(0x206)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x485a8f,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x33b595=_0x35113a!==_0x585960,_0x3d8695=_0x88e70['isRetry']||![];let _0x372ef3;if(_0x33b595)_0x372ef3=COMPACTION_STRATEGIES[_0x56be33(0x221)];else _0x3d8695?_0x372ef3=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x372ef3=_0x88e70['strategy']||COMPACTION_STRATEGIES[_0x56be33(0x1ff)];this[_0x56be33(0x222)]['info'](_0x56be33(0x1f7),{'messageCount':_0x485a8f['length'],'currentModel':_0x35113a,'targetModel':_0x585960,'strategy':_0x372ef3,'isModelSwitch':_0x33b595,'isRetry':_0x3d8695});let _0x379c91;switch(_0x372ef3){case COMPACTION_STRATEGIES[_0x56be33(0x1ff)]:_0x379c91=await this['_compactWithSummarization'](_0x485a8f,_0x35113a,_0x88e70);break;case COMPACTION_STRATEGIES[_0x56be33(0x221)]:_0x379c91=await this[_0x56be33(0x1f4)](_0x485a8f,_0x585960,_0x88e70);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x379c91=await this[_0x56be33(0x1f5)](_0x485a8f,_0x35113a,_0x88e70);break;default:throw new Error(_0x56be33(0x1f0)+_0x372ef3);}const _0x22a0bd=Date[_0x56be33(0x212)]()-_0x1b45da;return _0x379c91['executionTime']=_0x22a0bd,_0x379c91['timestamp']=new Date()[_0x56be33(0x205)](),this['logger']['info']('Compaction\x20completed\x20successfully',{'strategy':_0x379c91['strategy'],'originalMessages':_0x485a8f[_0x56be33(0x206)],'compactedMessages':_0x379c91['compactedMessages']['length'],'originalTokens':_0x379c91['originalTokenCount'],'compactedTokens':_0x379c91['compactedTokenCount'],'reductionPercent':_0x379c91['reductionPercent'][_0x56be33(0x1fd)](0x2),'executionTime':_0x22a0bd+'ms'}),_0x379c91;}catch(_0x19ca70){const _0xaa2810=Date['now']()-_0x1b45da;this[_0x56be33(0x222)][_0x56be33(0x1ea)](_0x56be33(0x208),{'error':_0x19ca70['message'],'messageCount':_0x485a8f[_0x56be33(0x206)],'currentModel':_0x35113a,'targetModel':_0x585960,'executionTime':_0xaa2810+'ms'});throw _0x19ca70;}}async[a0_0x41529f(0x1e6)](_0x9ce158,_0x490e74,_0x4ad679){const _0x770598=a0_0x41529f,_0x38bd31=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x3531e2=await this['tokenCountingService']['estimateConversationTokens'](_0x9ce158,_0x490e74,TOKEN_COUNTING_MODES[_0x770598(0x1fa)]),_0x378abc=await this[_0x770598(0x210)](_0x9ce158,_0x490e74,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x770598(0x222)]['debug']('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x378abc[_0x770598(0x225)]['length'],'middleMessages':_0x378abc[_0x770598(0x211)]['length'],'endMessages':_0x378abc['end'][_0x770598(0x206)],'middleStartIndex':_0x378abc['middleStartIndex'],'middleEndIndex':_0x378abc[_0x770598(0x1e7)],'totalMessages':_0x9ce158['length']});const _0xa508ef=await this[_0x770598(0x21e)](_0x378abc['middle'],_0x490e74,{..._0x4ad679,'middleStartIndex':_0x378abc['middleStartIndex'],'middleEndIndex':_0x378abc['middleEndIndex']}),_0x5260e6=[..._0x378abc[_0x770598(0x225)],_0xa508ef,..._0x378abc['end']],_0x14a2e2=await this['tokenCountingService']['estimateConversationTokens'](_0x5260e6,_0x490e74,TOKEN_COUNTING_MODES[_0x770598(0x1fa)]),_0x47de6a=(_0x3531e2-_0x14a2e2)/_0x3531e2*0x64;return{'compactedMessages':_0x5260e6,'strategy':_0x38bd31,'originalTokenCount':_0x3531e2,'compactedTokenCount':_0x14a2e2,'reductionPercent':_0x47de6a,'segments':{'beginningCount':_0x378abc['beginning']['length'],'middleCount':_0x378abc['middle'][_0x770598(0x206)],'endCount':_0x378abc['end']['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x47fae7,_0x28c5e7,_0x1a576d){const _0x57d1f8=a0_0x41529f,_0x278c5b=COMPACTION_STRATEGIES['TRUNCATION'],_0x4ce6dc=this['tokenCountingService']['getModelContextWindow'](_0x28c5e7),_0x42fa74=Math['floor'](_0x4ce6dc*0.8),_0x12d785=await this['tokenCountingService'][_0x57d1f8(0x20c)](_0x47fae7,_0x28c5e7,TOKEN_COUNTING_MODES['ACCURATE']),_0x4dae22=await this['_identifySegments'](_0x47fae7,_0x28c5e7,COMPACTION_CONFIG[_0x57d1f8(0x1e4)],COMPACTION_CONFIG[_0x57d1f8(0x213)]);this[_0x57d1f8(0x222)]['debug']('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x4dae22[_0x57d1f8(0x225)]['length'],'middleMessages':_0x4dae22['middle']['length'],'endMessages':_0x4dae22[_0x57d1f8(0x1ec)][_0x57d1f8(0x206)],'targetTokenCount':_0x42fa74,'originalTokenCount':_0x12d785});const _0x3229c8={'role':_0x57d1f8(0x1fe),'content':COMPACTION_CONFIG[_0x57d1f8(0x1fb)],'type':_0x57d1f8(0x1f3),'timestamp':new Date()[_0x57d1f8(0x205)](),'metadata':{'truncatedMessages':_0x4dae22['middle']['length'],'reason':_0x57d1f8(0x229)}},_0x51b1a3=[..._0x4dae22['beginning'],_0x3229c8,..._0x4dae22['end']],_0x12a156=await this[_0x57d1f8(0x1f8)][_0x57d1f8(0x20c)](_0x51b1a3,_0x28c5e7,TOKEN_COUNTING_MODES['ACCURATE']),_0x463df8=(_0x12d785-_0x12a156)/_0x12d785*0x64;return{'compactedMessages':_0x51b1a3,'strategy':_0x278c5b,'originalTokenCount':_0x12d785,'compactedTokenCount':_0x12a156,'reductionPercent':_0x463df8,'segments':{'beginningCount':_0x4dae22[_0x57d1f8(0x225)][_0x57d1f8(0x206)],'middleCount':_0x4dae22[_0x57d1f8(0x211)][_0x57d1f8(0x206)],'endCount':_0x4dae22[_0x57d1f8(0x1ec)]['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x5f3549,_0x5994e5,_0x2d23aa){const _0x4cc4e5=a0_0x41529f,_0x15f6df=COMPACTION_STRATEGIES[_0x4cc4e5(0x22a)],_0x50d50e=await this['tokenCountingService'][_0x4cc4e5(0x20c)](_0x5f3549,_0x5994e5,TOKEN_COUNTING_MODES[_0x4cc4e5(0x1fa)]),_0x3ff48b=await this[_0x4cc4e5(0x210)](_0x5f3549,_0x5994e5,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger']['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x3ff48b[_0x4cc4e5(0x225)][_0x4cc4e5(0x206)],'middleMessages':_0x3ff48b['middle']['length'],'endMessages':_0x3ff48b['end'][_0x4cc4e5(0x206)],'middleStartIndex':_0x3ff48b['middleStartIndex'],'middleEndIndex':_0x3ff48b['middleEndIndex']});const _0x5d5514=await this['_generateSummary'](_0x3ff48b['middle'],_0x5994e5,{..._0x2d23aa,'aggressive':!![],'middleStartIndex':_0x3ff48b[_0x4cc4e5(0x21f)],'middleEndIndex':_0x3ff48b['middleEndIndex']}),_0x4e0ad2=[..._0x3ff48b['beginning'],_0x5d5514,..._0x3ff48b[_0x4cc4e5(0x1ec)]],_0x16b15d=await this['tokenCountingService'][_0x4cc4e5(0x20c)](_0x4e0ad2,_0x5994e5,TOKEN_COUNTING_MODES['ACCURATE']),_0x559e25=(_0x50d50e-_0x16b15d)/_0x50d50e*0x64;return{'compactedMessages':_0x4e0ad2,'strategy':_0x15f6df,'originalTokenCount':_0x50d50e,'compactedTokenCount':_0x16b15d,'reductionPercent':_0x559e25,'segments':{'beginningCount':_0x3ff48b[_0x4cc4e5(0x225)][_0x4cc4e5(0x206)],'middleCount':_0x3ff48b['middle']['length'],'endCount':_0x3ff48b['end']['length'],'summaryInserted':!![]}};}async['_identifySegments'](_0x7127e6,_0xf3201a,_0x2582e8,_0x1e9064){const _0x3a93c7=a0_0x41529f,_0xb4fc50=await this[_0x3a93c7(0x1f8)]['estimateConversationTokens'](_0x7127e6,_0xf3201a,TOKEN_COUNTING_MODES[_0x3a93c7(0x1fa)]),_0x208d59=Math[_0x3a93c7(0x21d)](_0xb4fc50*_0x2582e8),_0x5dd0e8=Math[_0x3a93c7(0x21d)](_0xb4fc50*_0x1e9064);let _0x523dd0=0x0,_0x1810bc=0x0;for(let _0x3923ec=0x0;_0x3923ec<_0x7127e6['length'];_0x3923ec++){const _0xec009e=await this[_0x3a93c7(0x1f8)]['countTokens'](_0x7127e6[_0x3923ec][_0x3a93c7(0x227)],_0xf3201a,TOKEN_COUNTING_MODES['CACHED']);if(_0x523dd0+_0xec009e>_0x208d59&&_0x3923ec>=0x2)break;_0x523dd0+=_0xec009e,_0x1810bc=_0x3923ec+0x1;}let _0x1a6840=0x0,_0xc78a12=_0x7127e6[_0x3a93c7(0x206)];for(let _0xa63c5d=_0x7127e6[_0x3a93c7(0x206)]-0x1;_0xa63c5d>=0x0;_0xa63c5d--){const _0x4d036e=await this[_0x3a93c7(0x1f8)][_0x3a93c7(0x219)](_0x7127e6[_0xa63c5d]['content'],_0xf3201a,TOKEN_COUNTING_MODES['CACHED']);if(_0x1a6840+_0x4d036e>_0x5dd0e8)break;_0x1a6840+=_0x4d036e,_0xc78a12=_0xa63c5d;}_0xc78a12<_0x1810bc&&(_0xc78a12=_0x1810bc);const _0x3f9098=_0x7127e6[_0x3a93c7(0x203)](0x0,_0x1810bc),_0x27a42a=_0x7127e6[_0x3a93c7(0x203)](_0x1810bc,_0xc78a12),_0x4dea46=_0x7127e6['slice'](_0xc78a12);return{'beginning':_0x3f9098,'middle':_0x27a42a,'end':_0x4dea46,'middleStartIndex':_0x1810bc,'middleEndIndex':_0xc78a12-0x1};}async['_generateSummary'](_0x5e1a4a,_0x46e44d,_0x22aeb8={}){const _0x4dddfb=a0_0x41529f;if(_0x5e1a4a[_0x4dddfb(0x206)]===0x0)return{'role':'system','content':COMPACTION_CONFIG[_0x4dddfb(0x1ee)]+_0x4dddfb(0x1e9),'type':_0x4dddfb(0x1e5),'timestamp':new Date()[_0x4dddfb(0x205)]()};const _0x1d8764=_0x5e1a4a[_0x4dddfb(0x20a)](_0x356ea0=>_0x356ea0['role']+':\x20'+_0x356ea0['content'])['join']('\x0a\x0a'),_0x406b4e=this[_0x4dddfb(0x216)][_0x4dddfb(0x21b)](_0x4dddfb(0x204),_0x1d8764)['replace']('{aggressive_instruction}',_0x22aeb8[_0x4dddfb(0x22c)]?_0x4dddfb(0x202):''),_0x4eaf93=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x4dddfb(0x1eb)]];let _0x4913d6=null;for(const _0x2cdd22 of _0x4eaf93){try{this[_0x4dddfb(0x222)][_0x4dddfb(0x214)]('Generating\x20summary',{'compactionModel':_0x2cdd22,'middleMessageCount':_0x5e1a4a[_0x4dddfb(0x206)],'middleContentLength':_0x1d8764['length'],'aggressive':_0x22aeb8[_0x4dddfb(0x22c)]});const _0x440fb0=await this['aiService'][_0x4dddfb(0x1e8)](_0x2cdd22,_0x406b4e,{'systemPrompt':_0x4dddfb(0x1f9),'maxTokens':COMPACTION_CONFIG[_0x4dddfb(0x223)],'temperature':0.3,'sessionId':_0x22aeb8['sessionId'],'platformProvided':!![]}),_0xe8a3a2=_0x440fb0['content']['trim'](),_0x21069c=_0x22aeb8['middleStartIndex']!==undefined&&_0x22aeb8['middleEndIndex']!==undefined?'original\x20messages\x20'+_0x22aeb8['middleStartIndex']+'-'+_0x22aeb8[_0x4dddfb(0x1e7)]:_0x5e1a4a['length']+_0x4dddfb(0x200);return this[_0x4dddfb(0x222)][_0x4dddfb(0x21a)](_0x4dddfb(0x217),{'compactionModel':_0x2cdd22,'originalLength':_0x1d8764[_0x4dddfb(0x206)],'summaryLength':_0xe8a3a2[_0x4dddfb(0x206)],'compressionRatio':(_0xe8a3a2['length']/_0x1d8764[_0x4dddfb(0x206)]*0x64)[_0x4dddfb(0x1fd)](0x2)+'%','indexRange':_0x21069c}),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x21069c+']\x0a\x0a'+_0xe8a3a2+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x4dddfb(0x1e5),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x5e1a4a['length'],'originalStartIndex':_0x22aeb8['middleStartIndex'],'originalEndIndex':_0x22aeb8['middleEndIndex'],'compactionModel':_0x2cdd22,'aggressive':_0x22aeb8['aggressive']||![]}};}catch(_0x4d5da4){_0x4913d6=_0x4d5da4,this[_0x4dddfb(0x222)][_0x4dddfb(0x1fc)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x2cdd22,'error':_0x4d5da4[_0x4dddfb(0x215)],'middleMessageCount':_0x5e1a4a['length']});}}this['logger'][_0x4dddfb(0x1ea)]('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x4eaf93[_0x4dddfb(0x206)],'lastError':_0x4913d6?.[_0x4dddfb(0x215)],'middleMessageCount':_0x5e1a4a[_0x4dddfb(0x206)]});const _0x361146=this[_0x4dddfb(0x20e)](_0x5e1a4a),_0x9df2a2=_0x22aeb8[_0x4dddfb(0x21f)]!==undefined&&_0x22aeb8[_0x4dddfb(0x1e7)]!==undefined?_0x4dddfb(0x207)+_0x22aeb8['middleStartIndex']+'-'+_0x22aeb8[_0x4dddfb(0x1e7)]:_0x5e1a4a['length']+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x4dddfb(0x20d)+_0x9df2a2+']\x0a\x0a'+_0x361146+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x4dddfb(0x1e5),'timestamp':new Date()[_0x4dddfb(0x205)](),'metadata':{'originalMessageCount':_0x5e1a4a['length'],'originalStartIndex':_0x22aeb8['middleStartIndex'],'originalEndIndex':_0x22aeb8[_0x4dddfb(0x1e7)],'fallback':!![],'error':_0x4913d6?.['message'],'modelsAttempted':_0x4eaf93}};}['_createFallbackSummary'](_0x405f91){const _0x1bc58a=a0_0x41529f,_0x2ba4cc=_0x405f91[_0x1bc58a(0x206)],_0x87f4d0=_0x405f91[_0x1bc58a(0x20a)](_0x39c28a=>_0x39c28a[_0x1bc58a(0x22b)]),_0x336b79=_0x87f4d0['filter'](_0x35cb3b=>_0x35cb3b===_0x1bc58a(0x228))[_0x1bc58a(0x206)],_0x299b21=_0x87f4d0['filter'](_0x495f3a=>_0x495f3a===_0x1bc58a(0x1f2))['length'];return'['+_0x2ba4cc+_0x1bc58a(0x1f6)+_0x336b79+_0x1bc58a(0x1ed)+_0x299b21+'\x20assistant\x20responses.\x20'+_0x1bc58a(0x20f);}[a0_0x41529f(0x201)](){const _0x4d7dee=a0_0x41529f;return _0x4d7dee(0x224);}}export default ConversationCompactionService;
@@ -1 +1 @@
1
- const a0_0x151b8f=a0_0x1aae;function a0_0x1d84(){const _0x2ed082=['Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHDhvZ','vKfmsurbveLptL9fuLjpuG','zxjYB3jtDwjZy3jPyMvYCW','zgv0zxjTAw5LrxjYB3juExbL','D2fYBG','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','Bg93','nJbgEMPhA2q','AxnszwnVDMvYywjSzq','BgvUz3rO','mtC5ote5uK5vBurM','vu5bvvrit1jjwKve','zw1PDa','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','y29UDgv4Da','mJq2nZHQwNbwzgC','nJu4mZK5mgvdyvHLrG','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','Aw5JCMvHC2vKx3rPBwvVDxq','Bg9Nz2vY','Bg9NrxjYB3i','AxnqCM9JzxnZAw5NuxvLDwu','ywrK','rKLmrv9ot1rFrK9vtKq','B3bLCMf0Aw9Uswq','BwLU','DgLTzxn0yw1W','Dg9tDhjPBMC','zgvSzxrL','zxjYB3i','nfzNvKXuCq','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','uKfurv9msu1jvf9fwenfrurfra','zxjYB3jZqNLuExbL','yxbPx3jLCxvLC3q','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','BMfTzq','Dg9mB3DLCKnHC2u','nJqXmZK3DezjvuDW','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','C3vJy2vZC2z1BfjLy292zxjPzxm','BwvKAxvT','Bwf4uMv0CMLLCW','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','DgLTzw91Df9YzwnVDMvYEq','C2v0','C3vIC3rY','vu5ltK9xtL9fuLjpuG','CMvJB3zLCMfIBgu','DhLWzq','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','AgfUzgXLrxjYB3i','BwvZC2fNzq','tM8GzMLSzsbWyxrOihbYB3zPzgvK','C2v2zxjPDhK','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','yxr0zw1WDfjLy292zxj5','zMLSzv9VCgvYyxrPB24','B3bLCMf0Aw9U','ywDLBNrjza','y2fSy3vSyxrLuMv0CNLezwXHEq','zMLSzvbHDgG','q09orKLhvvjbveLptL9fuLjpuG','zgvSyxLFCMv0CNK','C2HVDwXKuMv0CNK','y29Kzq','C3vJy2vZCW','CMf0zv9SAw1PDf9YzwnVDMvYEq','ve9px01btLLFuKvrvuvtvfm','Dg9VBeLK','zxjYB3jtDgf0CW','DgLTzw91Da','t1bfuKfusu9ox1rjtuvpvvq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','CMvJB3zLCNLtDhjHDgvNAwvZ','ndi2nJC1mhvMtgnMzW','C3rHy2S','uevstuLtu0LptL9eru5jruq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','Aw5MBW','nZK2mdmYEMrHDgnh','zNjVBuvUDhjPzxm','CMfUzg9T','CMvJB3zLCG','DxbKyxrLrxjYB3jtDgf0CW','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','ntK5otu5nuPHAxbPyG','zgv0zxjTAw5Lu2v2zxjPDhK','C3bSAwnL','y2XHC3nPzNLfCNjVCG','DgLTzwqGB3v0','z2v0','tK9ux0zpvu5e','zxjYB3jrDwv1zq','y3jPDgLJywXfCNjVCNm','z2v0twf4uMv0CMLLCW','mJmYohjVDMLYBq','CMv0CNLdB3vUDa','Cg93','Aw5JBhvKzxm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','Dw5JyxvNAhrFzxHJzxb0Aw9U','Dw5KzwzPBMvK','z2vUzxjHDgvfCNjVCKLK','ChvZAa','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ChjVy2vZC0vYCM9YuxvLDwu','y3jPDgLJywW'];a0_0x1d84=function(){return _0x2ed082;};return a0_0x1d84();}function a0_0x1aae(_0x1c7877,_0x252456){_0x1c7877=_0x1c7877-0x1c9;const _0x1d842d=a0_0x1d84();let _0x1aaed3=_0x1d842d[_0x1c7877];if(a0_0x1aae['vYVqXr']===undefined){var _0x168cc8=function(_0x308655){const _0xf60f4d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fbf2d='',_0x42b18d='';for(let _0x3d31c6=0x0,_0x895e4c,_0x4fa0f3,_0x1bd926=0x0;_0x4fa0f3=_0x308655['charAt'](_0x1bd926++);~_0x4fa0f3&&(_0x895e4c=_0x3d31c6%0x4?_0x895e4c*0x40+_0x4fa0f3:_0x4fa0f3,_0x3d31c6++%0x4)?_0x1fbf2d+=String['fromCharCode'](0xff&_0x895e4c>>(-0x2*_0x3d31c6&0x6)):0x0){_0x4fa0f3=_0xf60f4d['indexOf'](_0x4fa0f3);}for(let _0x5550a9=0x0,_0x36bf92=_0x1fbf2d['length'];_0x5550a9<_0x36bf92;_0x5550a9++){_0x42b18d+='%'+('00'+_0x1fbf2d['charCodeAt'](_0x5550a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42b18d);};a0_0x1aae['flOYsn']=_0x168cc8,a0_0x1aae['BYFdxw']={},a0_0x1aae['vYVqXr']=!![];}const _0x44dbf8=_0x1d842d[0x0],_0x4db537=_0x1c7877+_0x44dbf8,_0x5a74ae=a0_0x1aae['BYFdxw'][_0x4db537];return!_0x5a74ae?(_0x1aaed3=a0_0x1aae['flOYsn'](_0x1aaed3),a0_0x1aae['BYFdxw'][_0x4db537]=_0x1aaed3):_0x1aaed3=_0x5a74ae,_0x1aaed3;}(function(_0x21b1e2,_0x9ecb95){const _0x2499b5=a0_0x1aae,_0x4f3e18=_0x21b1e2();while(!![]){try{const _0x1b66a0=-parseInt(_0x2499b5(0x219))/0x1*(parseInt(_0x2499b5(0x211))/0x2)+-parseInt(_0x2499b5(0x1fd))/0x3*(-parseInt(_0x2499b5(0x1fa))/0x4)+-parseInt(_0x2499b5(0x1db))/0x5+parseInt(_0x2499b5(0x1d4))/0x6+parseInt(_0x2499b5(0x203))/0x7+-parseInt(_0x2499b5(0x1e5))/0x8*(-parseInt(_0x2499b5(0x202))/0x9)+parseInt(_0x2499b5(0x1ce))/0xa;if(_0x1b66a0===_0x9ecb95)break;else _0x4f3e18['push'](_0x4f3e18['shift']());}catch(_0x57ca6c){_0x4f3e18['push'](_0x4f3e18['shift']());}}}(a0_0x1d84,0xae7e1));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x1fbf2d,_0x42b18d){const _0x26b79e=a0_0x1aae;this['config']=_0x1fbf2d||{},this['logger']=_0x42b18d,this[_0x26b79e(0x1c9)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x26b79e(0x1cd)]=new Map(),this['errorSubscribers']=new Set(),this[_0x26b79e(0x1e2)]=[],this[_0x26b79e(0x208)]=![],this['initializeRecoveryStrategies'](),this['setupErrorProcessing']();}async[a0_0x151b8f(0x226)](_0x3d31c6,_0x895e4c={}){const _0x33e17a=a0_0x151b8f;try{const _0x4fa0f3=this[_0x33e17a(0x1de)](_0x3d31c6,_0x895e4c),_0x1bd926=await this['processError'](_0x4fa0f3);return this[_0x33e17a(0x1d8)](_0x4fa0f3),this['notifySubscribers'](_0x4fa0f3,_0x1bd926),_0x1bd926;}catch(_0x5550a9){return this[_0x33e17a(0x206)][_0x33e17a(0x210)]('Error\x20handling\x20failed',{'originalError':_0x3d31c6['message'],'handlingError':_0x5550a9['message']}),{'success':![],'error':_0x5550a9,'recovery':null,'severity':_0x33e17a(0x1f1)};}}['classifyError'](_0x36bf92,_0x1519c8={}){const _0x115e4b=a0_0x151b8f,_0x3309be={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x36bf92['message']||_0x36bf92['toString'](),'stack':_0x36bf92[_0x115e4b(0x1cf)]||null,'code':_0x36bf92['code']||null,'type':this[_0x115e4b(0x1f6)](_0x36bf92,_0x1519c8),'severity':this['determineSeverity'](_0x36bf92,_0x1519c8),'context':{..._0x1519c8},'recoverable':!![],'retryCount':_0x1519c8[_0x115e4b(0x1e6)]||0x0,'maxRetries':this[_0x115e4b(0x1e4)](_0x36bf92,_0x1519c8)};return _0x1519c8['agentId']&&(_0x3309be['agentId']=_0x1519c8['agentId']),_0x1519c8[_0x115e4b(0x238)]&&(_0x3309be[_0x115e4b(0x238)]=_0x1519c8[_0x115e4b(0x238)]),_0x1519c8[_0x115e4b(0x20b)]&&(_0x3309be['operationId']=_0x1519c8[_0x115e4b(0x20b)]),_0x3309be[_0x115e4b(0x223)]=this[_0x115e4b(0x1fb)](_0x3309be),_0x3309be;}async['processError'](_0x308b3b){const _0x4be8be=a0_0x151b8f;try{this[_0x4be8be(0x206)]['error']('Processing\x20error',{'errorId':_0x308b3b['id'],'type':_0x308b3b['type'],'severity':_0x308b3b['severity'],'agentId':_0x308b3b[_0x4be8be(0x22e)],'message':_0x308b3b[_0x4be8be(0x227)]});_0x308b3b[_0x4be8be(0x229)]==='critical'&&await this['handleCriticalError'](_0x308b3b);let _0x55248c=null;return _0x308b3b[_0x4be8be(0x223)]&&_0x308b3b['retryCount']<_0x308b3b[_0x4be8be(0x21d)]&&(_0x55248c=await this[_0x4be8be(0x22b)](_0x308b3b)),await this[_0x4be8be(0x207)](_0x308b3b,_0x55248c),{'success':_0x55248c?.['success']||![],'errorId':_0x308b3b['id'],'errorType':_0x308b3b[_0x4be8be(0x224)],'severity':_0x308b3b['severity'],'recovery':_0x55248c,'shouldRetry':this['shouldRetry'](_0x308b3b,_0x55248c),'retryDelay':this['calculateRetryDelay'](_0x308b3b)};}catch(processingError){return this['logger']['error'](_0x4be8be(0x1cc),{'errorId':_0x308b3b['id'],'processingError':processingError[_0x4be8be(0x227)]}),{'success':![],'errorId':_0x308b3b['id'],'errorType':_0x308b3b['type'],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x4ec738){const _0x4eb038=a0_0x151b8f;try{this['errorStats']['recoveryAttempts']++;const _0x38ad5a=this['recoveryStrategies'][_0x4eb038(0x1e0)](_0x4ec738[_0x4eb038(0x224)])||this['recoveryStrategies']['get']('default');if(!_0x38ad5a)return this['logger'][_0x4eb038(0x1f7)](_0x4eb038(0x1e9),{'errorType':_0x4ec738['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this['logger']['info'](_0x4eb038(0x1ea),{'errorId':_0x4ec738['id'],'errorType':_0x4ec738['type'],'strategy':_0x38ad5a['name'],'retryCount':_0x4ec738[_0x4eb038(0x1e6)]});const _0x48eadd=await _0x38ad5a[_0x4eb038(0x1d7)](_0x4ec738);return _0x48eadd[_0x4eb038(0x235)]?(this[_0x4eb038(0x1c9)][_0x4eb038(0x21b)]++,this[_0x4eb038(0x206)]['info'](_0x4eb038(0x1da),{'errorId':_0x4ec738['id'],'strategy':_0x38ad5a['name']})):this[_0x4eb038(0x206)][_0x4eb038(0x1f7)](_0x4eb038(0x22a),{'errorId':_0x4ec738['id'],'strategy':_0x38ad5a[_0x4eb038(0x217)],'reason':_0x48eadd['reason']}),_0x48eadd;}catch(_0xdfb45e){return this['logger'][_0x4eb038(0x210)](_0x4eb038(0x1d1),{'errorId':_0x4ec738['id'],'recoveryError':_0xdfb45e[_0x4eb038(0x227)]}),{'success':![],'reason':_0x4eb038(0x1f8)+_0xdfb45e['message']};}}async['handleCriticalError'](_0x492980){const _0x10994f=a0_0x151b8f;try{this[_0x10994f(0x1c9)]['criticalErrors']++,this[_0x10994f(0x206)]['error'](_0x10994f(0x21e),{'errorId':_0x492980['id'],'message':_0x492980[_0x10994f(0x227)],'context':_0x492980['context']});typeof process!==_0x10994f(0x1ec)&&process[_0x10994f(0x1ff)]&&process['emit']('criticalError',_0x492980);switch(_0x492980['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this['handleAuthenticationFailure'](_0x492980);break;case ERROR_TYPES[_0x10994f(0x213)]:await this[_0x10994f(0x212)](_0x492980);break;case ERROR_TYPES[_0x10994f(0x1cb)]:await this['handleOperationTimeout'](_0x492980);break;default:await this['handleGenericCriticalError'](_0x492980);}}catch(_0x57e145){this[_0x10994f(0x206)][_0x10994f(0x210)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x492980['id'],'handlingError':_0x57e145[_0x10994f(0x227)]});}}['determineErrorType'](_0x165050,_0x31f907){const _0x1aa129=a0_0x151b8f;if(_0x165050[_0x1aa129(0x234)]==='ENOENT'||_0x165050['status']===HTTP_STATUS[_0x1aa129(0x1e1)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x165050[_0x1aa129(0x234)]==='EACCES'||_0x165050[_0x1aa129(0x1f3)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x1aa129(0x1d0)];if(_0x165050['status']===HTTP_STATUS[_0x1aa129(0x1fe)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x165050[_0x1aa129(0x1f3)]===HTTP_STATUS[_0x1aa129(0x237)])return ERROR_TYPES[_0x1aa129(0x213)];const _0x501af2=_0x165050[_0x1aa129(0x227)]?.[_0x1aa129(0x218)]()||'';if(_0x501af2[_0x1aa129(0x1e8)](_0x1aa129(0x1ca))||_0x501af2[_0x1aa129(0x1e8)](_0x1aa129(0x1df)))return ERROR_TYPES[_0x1aa129(0x1cb)];if(_0x501af2['includes']('validation')||_0x501af2[_0x1aa129(0x1e8)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x501af2['includes']('config')||_0x501af2[_0x1aa129(0x1e8)]('configuration'))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x31f907[_0x1aa129(0x22d)]===_0x1aa129(0x22c))return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x31f907['operation']===_0x1aa129(0x215))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x1aa129(0x222)];}[a0_0x151b8f(0x1dc)](_0x33af78,_0x2c3309){const _0x310d30=a0_0x151b8f,_0x4eb9ab=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']],_0xb7162=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x310d30(0x1d0)]],_0x1c30e7=this['determineErrorType'](_0x33af78,_0x2c3309);if(_0x4eb9ab['includes'](_0x1c30e7))return _0x310d30(0x1f1);if(_0xb7162[_0x310d30(0x1e8)](_0x1c30e7))return'high';const _0x94f102=_0x2c3309&&_0x2c3309['retryCount']||0x0;if(_0x94f102>=0x3)return'high';if(_0x2c3309&&_0x2c3309['agentId']&&_0x2c3309['operation']==='agent_communication')return _0x310d30(0x21c);return _0x310d30(0x1f9);}['isRecoverable'](_0x357966){const _0xd2f0d7=a0_0x151b8f,_0x376c76=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0xd2f0d7(0x231)]];if(_0x376c76[_0xd2f0d7(0x1e8)](_0x357966[_0xd2f0d7(0x224)]))return![];if(_0x357966['retryCount']>=_0x357966['maxRetries'])return![];if(_0x357966[_0xd2f0d7(0x229)]==='critical')return![];return!![];}[a0_0x151b8f(0x1e4)](_0x4de8a3,_0x129e53){const _0x253450=a0_0x151b8f,_0x3440fe=this['determineErrorType'](_0x4de8a3,_0x129e53),_0x5c07cb={[ERROR_TYPES[_0x253450(0x213)]]:0x5,[ERROR_TYPES[_0x253450(0x1cb)]]:0x3,[ERROR_TYPES[_0x253450(0x20a)]]:0x2,[ERROR_TYPES[_0x253450(0x1d0)]]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5c07cb[_0x3440fe]||0x3;}[a0_0x151b8f(0x233)](_0xf86fb7,_0x19a48d){const _0x51caaa=a0_0x151b8f;if(!_0xf86fb7['recoverable'])return![];if(_0xf86fb7[_0x51caaa(0x1e6)]>=_0xf86fb7['maxRetries'])return![];if(_0x19a48d&&_0x19a48d['success'])return![];return!![];}[a0_0x151b8f(0x22f)](_0x48e4f8){const _0x5aae40=a0_0x151b8f,_0x15e2de=0x3e8,_0x36ff35=0x7530,_0x38e628=_0x15e2de*Math[_0x5aae40(0x1e7)](0x2,_0x48e4f8[_0x5aae40(0x1e6)]),_0x4a33b4=Math[_0x5aae40(0x1d6)]()*0x3e8;return Math['min'](_0x38e628+_0x4a33b4,_0x36ff35);}[a0_0x151b8f(0x200)](){const _0x4972c6=a0_0x151b8f;this[_0x4972c6(0x1cd)][_0x4972c6(0x220)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5f72d5=>{const _0x24a30f=_0x4972c6;if(_0x5f72d5['context'][_0x24a30f(0x230)])return{'success':![],'reason':_0x24a30f(0x225),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x24a30f(0x228)};}}),this[_0x4972c6(0x1cd)]['set'](ERROR_TYPES[_0x4972c6(0x213)],{'name':_0x4972c6(0x236),'recover':async _0x3d38b9=>{const _0x41b29c=_0x4972c6,_0xf92cda=this['calculateRateLimitWait'](_0x3d38b9);return this[_0x41b29c(0x206)][_0x41b29c(0x1d3)]('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0xf92cda}),await new Promise(_0x498a25=>setTimeout(_0x498a25,_0xf92cda)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0xf92cda};}}),this['recoveryStrategies']['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':_0x4972c6(0x21f),'recover':async _0x4ab6e5=>{const _0x5282d9=_0x4972c6;if(_0x4ab6e5[_0x5282d9(0x201)][_0x5282d9(0x1ca)]){const _0x5048ff=Math[_0x5282d9(0x20c)](_0x4ab6e5['context'][_0x5282d9(0x1ca)]*1.5,0x493e0);return{'success':!![],'action':_0x5282d9(0x205),'newTimeout':_0x5048ff};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x4972c6(0x1d0)],{'name':'permission_recovery','recover':async _0x53f83e=>{const _0xaf01a7=_0x4972c6;return{'success':![],'reason':_0xaf01a7(0x1d2),'suggestion':'Check\x20file/directory\x20permissions'};}}),this['recoveryStrategies'][_0x4972c6(0x220)](ERROR_TYPES[_0x4972c6(0x1f4)],{'name':'validation_recovery','recover':async _0x14d4c7=>{const _0x32ff75=_0x4972c6;if(_0x14d4c7['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x32ff75(0x1d9)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies']['set']('default',{'name':'default_recovery','recover':async _0xe5ada5=>{const _0xa39811=_0x4972c6,_0x1f4d10=this['calculateRetryDelay'](_0xe5ada5);return await new Promise(_0x274077=>setTimeout(_0x274077,_0x1f4d10)),{'success':!![],'action':_0xa39811(0x232),'delay':_0x1f4d10};}});}async[a0_0x151b8f(0x21a)](_0x2cd074){const _0x1e62dc=a0_0x151b8f;this[_0x1e62dc(0x206)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x2cd074['id']});if(_0x2cd074['agentId']){}}async['handleRateLimitExceeded'](_0x4020c3){const _0x12e69b=a0_0x151b8f,_0x5d873e=this[_0x12e69b(0x204)](_0x4020c3);this[_0x12e69b(0x206)][_0x12e69b(0x1f7)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4020c3['id'],'waitTime':_0x5d873e,'agentId':_0x4020c3['agentId']});if(_0x4020c3['agentId']){}}async['handleOperationTimeout'](_0x24816c){const _0x3e113b=a0_0x151b8f;this['logger'][_0x3e113b(0x210)](_0x3e113b(0x216),{'errorId':_0x24816c['id'],'operation':_0x24816c['context'][_0x3e113b(0x22d)],'timeout':_0x24816c[_0x3e113b(0x201)]['timeout']});}async['handleGenericCriticalError'](_0x43eb74){const _0x2ab53c=a0_0x151b8f;this[_0x2ab53c(0x206)][_0x2ab53c(0x210)]('Generic\x20critical\x20error',{'errorId':_0x43eb74['id'],'type':_0x43eb74['type'],'message':_0x43eb74['message']}),_0x43eb74['agentId']&&this[_0x2ab53c(0x206)][_0x2ab53c(0x1f7)]('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x43eb74[_0x2ab53c(0x22e)]});}[a0_0x151b8f(0x204)](_0xe03ee7){const _0x4f1fa2=a0_0x151b8f,_0x5cd2f3=0xea60,_0x2e2c59=Math['pow'](0x2,_0xe03ee7['retryCount']),_0x1f4eb7=0x493e0;return Math[_0x4f1fa2(0x20c)](_0x5cd2f3*_0x2e2c59,_0x1f4eb7);}async['logError'](_0x129be3,_0x313770){const _0x39814d=a0_0x151b8f;try{const _0xe29005={'errorId':_0x129be3['id'],'timestamp':_0x129be3[_0x39814d(0x20d)],'type':_0x129be3[_0x39814d(0x224)],'severity':_0x129be3['severity'],'message':_0x129be3['message'],'agentId':_0x129be3[_0x39814d(0x22e)],'toolId':_0x129be3[_0x39814d(0x238)],'operationId':_0x129be3['operationId'],'retryCount':_0x129be3['retryCount'],'recoveryAttempted':!!_0x313770,'recoverySuccess':_0x313770?.[_0x39814d(0x235)]||![],'recoveryAction':_0x313770?.['action']||null};this['errorQueue'][_0x39814d(0x1ee)](_0xe29005),!this['isProcessingQueue']&&this[_0x39814d(0x1f0)]();}catch(_0x324072){this['logger'][_0x39814d(0x210)]('Error\x20logging\x20failed',{'errorId':_0x129be3['id'],'loggingError':_0x324072[_0x39814d(0x227)]});}}async[a0_0x151b8f(0x1f0)](){const _0x3edc7e=a0_0x151b8f;if(this['isProcessingQueue']||this[_0x3edc7e(0x1e2)]['length']===0x0)return;this[_0x3edc7e(0x208)]=!![];try{while(this['errorQueue']['length']>0x0){const _0x11402a=this['errorQueue'][_0x3edc7e(0x1dd)](0x0,0xa);this['logger']['debug'](_0x3edc7e(0x1ef),{'batchSize':_0x11402a['length']}),await new Promise(_0x4ca8ce=>setTimeout(_0x4ca8ce,0x64));}}catch(processingError){this['logger']['error']('Error\x20queue\x20processing\x20failed',{'error':processingError[_0x3edc7e(0x227)]});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0xf18bab=a0_0x151b8f;setInterval(()=>{const _0x3d0d70=a0_0x1aae;this[_0x3d0d70(0x1e2)][_0x3d0d70(0x1fc)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x43e588=>{const _0x29eef=a0_0x1aae;this['handleError'](_0x43e588,{'type':_0x29eef(0x1eb),'severity':'critical'});}),process['on'](_0xf18bab(0x1f2),(_0x351219,_0x2e81bc)=>{const _0x503cf0=_0xf18bab;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x351219),{'type':'unhandled_rejection','severity':'high','promise':_0x2e81bc[_0x503cf0(0x20e)]()});}));}['updateErrorStats'](_0x27b814){const _0x363f87=a0_0x151b8f;this['errorStats']['totalErrors']++,!this['errorStats'][_0x363f87(0x214)]['has'](_0x27b814['type'])&&this['errorStats'][_0x363f87(0x214)]['set'](_0x27b814['type'],0x0),this['errorStats']['errorsByType'][_0x363f87(0x220)](_0x27b814[_0x363f87(0x224)],this[_0x363f87(0x1c9)][_0x363f87(0x214)]['get'](_0x27b814[_0x363f87(0x224)])+0x1),_0x27b814['agentId']&&(!this[_0x363f87(0x1c9)]['errorsByAgent']['has'](_0x27b814['agentId'])&&this[_0x363f87(0x1c9)]['errorsByAgent'][_0x363f87(0x220)](_0x27b814['agentId'],0x0),this[_0x363f87(0x1c9)]['errorsByAgent']['set'](_0x27b814['agentId'],this['errorStats']['errorsByAgent']['get'](_0x27b814[_0x363f87(0x22e)])+0x1));}['subscribe'](_0x53622e){const _0x57b8e3=a0_0x151b8f;return this[_0x57b8e3(0x1f5)][_0x57b8e3(0x209)](_0x53622e),()=>this['errorSubscribers'][_0x57b8e3(0x20f)](_0x53622e);}['notifySubscribers'](_0x4f9b2c,_0x56d94d){this['errorSubscribers']['forEach'](_0x35c735=>{const _0x7d1c7a=a0_0x1aae;try{_0x35c735(_0x4f9b2c,_0x56d94d);}catch(_0x3cd28e){this['logger'][_0x7d1c7a(0x210)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x3cd28e['message']});}});}[a0_0x151b8f(0x1ed)](){const _0x24d8bc=a0_0x151b8f;return'err_'+Date['now']()+'_'+Math[_0x24d8bc(0x1d6)]()['toString'](0x24)[_0x24d8bc(0x221)](0x2,0x9);}['getErrorStats'](){const _0x2c570f=a0_0x151b8f;return{'totalErrors':this[_0x2c570f(0x1c9)]['totalErrors'],'errorsByType':Object[_0x2c570f(0x1d5)](this['errorStats'][_0x2c570f(0x214)]),'errorsByAgent':Object[_0x2c570f(0x1d5)](this['errorStats']['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x2c570f(0x1c9)][_0x2c570f(0x21b)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this['errorStats'][_0x2c570f(0x1e3)],'queueLength':this[_0x2c570f(0x1e2)][_0x2c570f(0x1fc)]};}['clearErrorStats'](){const _0x33a183=a0_0x151b8f;this[_0x33a183(0x1c9)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x33a183(0x1e2)]=[];}}export default ErrorHandler;
1
+ const a0_0x1fab54=a0_0x465e;(function(_0x43d3dd,_0x2fb95f){const _0x153af4=a0_0x465e,_0x17d06b=_0x43d3dd();while(!![]){try{const _0x380144=parseInt(_0x153af4(0x104))/0x1*(parseInt(_0x153af4(0xd2))/0x2)+-parseInt(_0x153af4(0xd4))/0x3*(-parseInt(_0x153af4(0x122))/0x4)+-parseInt(_0x153af4(0x100))/0x5+parseInt(_0x153af4(0xde))/0x6+-parseInt(_0x153af4(0x11e))/0x7*(-parseInt(_0x153af4(0x110))/0x8)+-parseInt(_0x153af4(0x126))/0x9*(parseInt(_0x153af4(0xd3))/0xa)+parseInt(_0x153af4(0xdf))/0xb;if(_0x380144===_0x2fb95f)break;else _0x17d06b['push'](_0x17d06b['shift']());}catch(_0x4321d0){_0x17d06b['push'](_0x17d06b['shift']());}}}(a0_0x362e,0x42ae4));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x362e(){const _0x4397fb=['AgfUzgXLrxjYB3i','Dw5JyxvNAhrFzxHJzxb0Aw9U','t1bfuKfusu9ox1rjtuvpvvq','CgvYBwLZC2LVBL9YzwnVDMvYEq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','Aw5JCMvHC2vKx3rPBwvVDxq','Cg93','y29UDgv4Da','y3jPDgLJywW','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','AxnqCM9JzxnZAw5NuxvLDwu','vKfmsurbveLptL9fuLjpuG','ndK2nZKWzwriBLjZ','BwLU','rKLmrv9ot1rFrK9vtKq','C3vJy2vZCW','ntbPvvzvtuq','uKfurv9msu1jvf9fwenfrurfra','rxjYB3iGBg9Nz2LUzYbMywLSzwq','zgv0zxjTAw5LrxjYB3juExbL','zxjYB3i','zgf0yv9Zyw5PDgL6yxrPB24','zM9YrwfJAa','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','C2v0','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jtDgf0CW','mteWmJrPD3PcquO','vu5ltK9xtL9fuLjpuG','zNjVBuvUDhjPzxm','y29Kzq','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','zgvIDwC','Dg9VBeLK','y2XHC3nPzNLfCNjVCG','DhLWzq','AxnszwnVDMvYywjSzq','DxbKyxrLrxjYB3jtDgf0CW','zxjYB3jrDwv1zq','CMvJB3zLCNLbDhrLBxb0CW','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','ody4ExLmsfb1','DgLTzw91Da','y3jPDgLJywXfCNjVCNm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','mtmWmJuYtLvcq3Hq','B3bLCMf0Aw9Uswq','zxjYB3jZqNLuExbL','CMf0zv9SAw1PDf9YzwnVDMvYEq','mJCWnJnlywvnALO','BgvUz3rO','AgLNAa','C2HVDwXKuMv0CNK','Bwf4uMv0CMLLCW','yxr0zw1WDfjLy292zxj5','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','Aw5MBW','C3rHDhvZ','D2fYBG','BMfTzq','AgfUzgXLq3jPDgLJywXfCNjVCG','Aw52ywXPza','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','zgv0zxjTAw5Lu2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','ywDLBNrjza','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','qvvusevoveLdqvrjt05FrKfjteve','CMv0CNLdB3vUDa','zgvSzxrL','r2vUzxjPyYbJCML0AwnHBcbLCNjVCG','BM90Awz5u3vIC2nYAwjLCNm','CMvJB3zLCNLtDhjHDgvNAwvZ','C3vJy2vZC2z1BfjLy292zxjPzxm','AgfZ','z2vUzxjHDgvfCNjVCKLK','zw1PDa','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','ywrK','Aw5JBhvKzxm','q09orKLhvvjbveLptL9fuLjpuG','y3jPDgLJywXfCNjVCG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','z2v0rxjYB3jtDgf0CW','C2v0DxbfCNjVCLbYB2nLC3nPBMC','mte2nJziww5fz24','mtC4mgHhwuTjrq','nKzcDxHcrW','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Aw5WDxreyxrH','uevstuLtu0LptL9eru5jruq','zxjYB3jtDwjZy3jPyMvYCW','Dg90ywXfCNjVCNm','zMLSzv9VCgvYyxrPB24','Dg9ju09tDhjPBMC','z2v0twf4uMv0CMLLCW','zxjYB3jZqNLbz2vUDa','mJi1odK4mMzOwvrtyG','mZK0mtndBhzXteu','y2fSy3vSyxrLuMv0CNLezwXHEq','BwvKAxvT','Dw5JyxvNAhrfEgnLChrPB24','Dw5KzwzPBMvK','yxbPx3jLCxvLC3q','Bg9Nz2vY','y2XLyxjfCNjVCLn0yxrZ','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','vu5bvvrit1jjwKve','BwvZC2fNzq','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','CMvJB3zLCMfIBgu','z2v0','Dg9mB3DLCKnHC2u','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','q2fUBM90igfKANvZDcb0Aw1LB3v0','C2v2zxjPDhK','zgvSyxLFCMv0CNK'];a0_0x362e=function(){return _0x4397fb;};return a0_0x362e();}function a0_0x465e(_0x169a4a,_0x16d62c){_0x169a4a=_0x169a4a-0xc5;const _0x362eac=a0_0x362e();let _0x465e0f=_0x362eac[_0x169a4a];if(a0_0x465e['ivTRLo']===undefined){var _0x4ef1b7=function(_0x35873a){const _0x33da96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29191f='',_0x2f77bb='';for(let _0x50a747=0x0,_0x2530b1,_0xdae87b,_0x77470e=0x0;_0xdae87b=_0x35873a['charAt'](_0x77470e++);~_0xdae87b&&(_0x2530b1=_0x50a747%0x4?_0x2530b1*0x40+_0xdae87b:_0xdae87b,_0x50a747++%0x4)?_0x29191f+=String['fromCharCode'](0xff&_0x2530b1>>(-0x2*_0x50a747&0x6)):0x0){_0xdae87b=_0x33da96['indexOf'](_0xdae87b);}for(let _0x287c93=0x0,_0x12ec82=_0x29191f['length'];_0x287c93<_0x12ec82;_0x287c93++){_0x2f77bb+='%'+('00'+_0x29191f['charCodeAt'](_0x287c93)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f77bb);};a0_0x465e['NypcUT']=_0x4ef1b7,a0_0x465e['GitRTS']={},a0_0x465e['ivTRLo']=!![];}const _0x103d3e=_0x362eac[0x0],_0x40a1c8=_0x169a4a+_0x103d3e,_0x165a2d=a0_0x465e['GitRTS'][_0x40a1c8];return!_0x165a2d?(_0x465e0f=a0_0x465e['NypcUT'](_0x465e0f),a0_0x465e['GitRTS'][_0x40a1c8]=_0x465e0f):_0x465e0f=_0x165a2d,_0x465e0f;}export class ErrorHandler{constructor(_0x29191f,_0x2f77bb){const _0x894076=a0_0x465e;this['config']=_0x29191f||{},this['logger']=_0x2f77bb,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x894076(0xc5)]=new Map(),this['errorSubscribers']=new Set(),this[_0x894076(0x11b)]=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x894076(0xd1)]();}async[a0_0x1fab54(0xf2)](_0x50a747,_0x2530b1={}){const _0xd98f50=a0_0x1fab54;try{const _0xdae87b=this[_0xd98f50(0x117)](_0x50a747,_0x2530b1),_0x77470e=await this['processError'](_0xdae87b);return this[_0xd98f50(0x11a)](_0xdae87b),this[_0xd98f50(0x13c)](_0xdae87b,_0x77470e),_0x77470e;}catch(_0x287c93){return this[_0xd98f50(0xe5)]['error']('Error\x20handling\x20failed',{'originalError':_0x50a747['message'],'handlingError':_0x287c93[_0xd98f50(0xe9)]}),{'success':![],'error':_0x287c93,'recovery':null,'severity':_0xd98f50(0xfc)};}}[a0_0x1fab54(0x117)](_0x12ec82,_0x122d78={}){const _0x1411df=a0_0x1fab54,_0x1b49de={'id':this[_0x1411df(0xc8)](),'timestamp':new Date()[_0x1411df(0xdb)](),'message':_0x12ec82['message']||_0x12ec82['toString'](),'stack':_0x12ec82['stack']||null,'code':_0x12ec82[_0x1411df(0x113)]||null,'type':this['determineErrorType'](_0x12ec82,_0x122d78),'severity':this['determineSeverity'](_0x12ec82,_0x122d78),'context':{..._0x122d78},'recoverable':!![],'retryCount':_0x122d78[_0x1411df(0x139)]||0x0,'maxRetries':this['getMaxRetries'](_0x12ec82,_0x122d78)};return _0x122d78['agentId']&&(_0x1b49de[_0x1411df(0x136)]=_0x122d78['agentId']),_0x122d78[_0x1411df(0x116)]&&(_0x1b49de['toolId']=_0x122d78[_0x1411df(0x116)]),_0x122d78[_0x1411df(0x123)]&&(_0x1b49de[_0x1411df(0x123)]=_0x122d78[_0x1411df(0x123)]),_0x1b49de['recoverable']=this[_0x1411df(0x119)](_0x1b49de),_0x1b49de;}async['processError'](_0x1f5656){const _0x4f73ef=a0_0x1fab54;try{this['logger'][_0x4f73ef(0x108)]('Processing\x20error',{'errorId':_0x1f5656['id'],'type':_0x1f5656['type'],'severity':_0x1f5656['severity'],'agentId':_0x1f5656['agentId'],'message':_0x1f5656[_0x4f73ef(0xe9)]});_0x1f5656['severity']===_0x4f73ef(0xfc)&&await this[_0x4f73ef(0x131)](_0x1f5656);let _0x1cc52b=null;return _0x1f5656[_0x4f73ef(0xeb)]&&_0x1f5656['retryCount']<_0x1f5656['maxRetries']&&(_0x1cc52b=await this[_0x4f73ef(0x12b)](_0x1f5656)),await this['logError'](_0x1f5656,_0x1cc52b),{'success':_0x1cc52b?.['success']||![],'errorId':_0x1f5656['id'],'errorType':_0x1f5656[_0x4f73ef(0x118)],'severity':_0x1f5656['severity'],'recovery':_0x1cc52b,'shouldRetry':this[_0x4f73ef(0x129)](_0x1f5656,_0x1cc52b),'retryDelay':this['calculateRetryDelay'](_0x1f5656)};}catch(processingError){return this['logger'][_0x4f73ef(0x108)](_0x4f73ef(0xf6),{'errorId':_0x1f5656['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x1f5656['id'],'errorType':_0x1f5656['type'],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x1fab54(0x12b)](_0x3c527b){const _0x42925a=a0_0x1fab54;try{this[_0x42925a(0x10f)]['recoveryAttempts']++;const _0x4f626e=this['recoveryStrategies'][_0x42925a(0xec)](_0x3c527b['type'])||this[_0x42925a(0xc5)]['get']('default');if(!_0x4f626e)return this[_0x42925a(0xe5)][_0x42925a(0x12f)](_0x42925a(0x121),{'errorType':_0x3c527b['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x42925a(0xe5)]['info'](_0x42925a(0xca),{'errorId':_0x3c527b['id'],'errorType':_0x3c527b['type'],'strategy':_0x4f626e['name'],'retryCount':_0x3c527b['retryCount']});const _0x48ad5d=await _0x4f626e['recover'](_0x3c527b);return _0x48ad5d[_0x42925a(0x103)]?(this[_0x42925a(0x10f)][_0x42925a(0xc6)]++,this[_0x42925a(0xe5)][_0x42925a(0x12d)]('Error\x20recovery\x20successful',{'errorId':_0x3c527b['id'],'strategy':_0x4f626e[_0x42925a(0x130)]})):this['logger'][_0x42925a(0x12f)]('Error\x20recovery\x20failed',{'errorId':_0x3c527b['id'],'strategy':_0x4f626e['name'],'reason':_0x48ad5d['reason']}),_0x48ad5d;}catch(_0x141db1){return this[_0x42925a(0xe5)][_0x42925a(0x108)](_0x42925a(0x12c),{'errorId':_0x3c527b['id'],'recoveryError':_0x141db1['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x141db1[_0x42925a(0xe9)]};}}async[a0_0x1fab54(0x131)](_0x10007d){const _0x263dd1=a0_0x1fab54;try{this['errorStats']['criticalErrors']++,this['logger']['error'](_0x263dd1(0x135),{'errorId':_0x10007d['id'],'message':_0x10007d['message'],'context':_0x10007d['context']});typeof process!==_0x263dd1(0xe3)&&process[_0x263dd1(0xc9)]&&process[_0x263dd1(0xc9)](_0x263dd1(0xce),_0x10007d);switch(_0x10007d['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x263dd1(0x11d)](_0x10007d);break;case ERROR_TYPES[_0x263dd1(0x105)]:await this['handleRateLimitExceeded'](_0x10007d);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this[_0x263dd1(0xea)](_0x10007d);break;default:await this['handleGenericCriticalError'](_0x10007d);}}catch(_0xfb355a){this[_0x263dd1(0xe5)]['error'](_0x263dd1(0xfd),{'errorId':_0x10007d['id'],'handlingError':_0xfb355a['message']});}}['determineErrorType'](_0x45ba63,_0x573ed6){const _0x478856=a0_0x1fab54;if(_0x45ba63['code']==='ENOENT'||_0x45ba63['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x478856(0x102)];if(_0x45ba63['code']==='EACCES'||_0x45ba63[_0x478856(0x12e)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x478856(0xd7)];if(_0x45ba63[_0x478856(0x12e)]===HTTP_STATUS[_0x478856(0xe8)])return ERROR_TYPES[_0x478856(0x138)];if(_0x45ba63[_0x478856(0x12e)]===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x335a63=_0x45ba63[_0x478856(0xe9)]?.[_0x478856(0xed)]()||'';if(_0x335a63[_0x478856(0xcc)](_0x478856(0x11f))||_0x335a63['includes']('timed\x20out'))return ERROR_TYPES[_0x478856(0xf4)];if(_0x335a63['includes']('validation')||_0x335a63['includes'](_0x478856(0x132)))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x335a63['includes']('config')||_0x335a63['includes']('configuration'))return ERROR_TYPES[_0x478856(0xcd)];if(_0x573ed6['operation']===_0x478856(0xda))return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x573ed6['operation']===_0x478856(0xe4))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x478856(0x111)];}[a0_0x1fab54(0x134)](_0x3e7d58,_0x3f37c0){const _0x43b5b3=a0_0x1fab54,_0x52194b=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x43b5b3(0xcd)]],_0x165fdc=[ERROR_TYPES[_0x43b5b3(0x105)],ERROR_TYPES[_0x43b5b3(0xf4)],ERROR_TYPES['PERMISSION_DENIED']],_0x2591eb=this[_0x43b5b3(0x107)](_0x3e7d58,_0x3f37c0);if(_0x52194b[_0x43b5b3(0xcc)](_0x2591eb))return _0x43b5b3(0xfc);if(_0x165fdc[_0x43b5b3(0xcc)](_0x2591eb))return _0x43b5b3(0x128);const _0x34fa45=_0x3f37c0&&_0x3f37c0[_0x43b5b3(0x139)]||0x0;if(_0x34fa45>=0x3)return _0x43b5b3(0x128);if(_0x3f37c0&&_0x3f37c0['agentId']&&_0x3f37c0['operation']==='agent_communication')return _0x43b5b3(0xe1);return'low';}[a0_0x1fab54(0x119)](_0x2b8bf1){const _0x2f0c28=a0_0x1fab54,_0x31e2f7=[ERROR_TYPES[_0x2f0c28(0x138)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x31e2f7[_0x2f0c28(0xcc)](_0x2b8bf1[_0x2f0c28(0x118)]))return![];if(_0x2b8bf1[_0x2f0c28(0x139)]>=_0x2b8bf1[_0x2f0c28(0x12a)])return![];if(_0x2b8bf1[_0x2f0c28(0xf0)]==='critical')return![];return!![];}[a0_0x1fab54(0xdc)](_0x2e6fc1,_0xa31a96){const _0x30e8a6=a0_0x1fab54,_0x220933=this['determineErrorType'](_0x2e6fc1,_0xa31a96),_0x5577df={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0x30e8a6(0xf4)]]:0x3,[ERROR_TYPES[_0x30e8a6(0x102)]]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5577df[_0x220933]||0x3;}[a0_0x1fab54(0x129)](_0x310f26,_0x56f58b){const _0x5e036a=a0_0x1fab54;if(!_0x310f26['recoverable'])return![];if(_0x310f26[_0x5e036a(0x139)]>=_0x310f26['maxRetries'])return![];if(_0x56f58b&&_0x56f58b[_0x5e036a(0x103)])return![];return!![];}['calculateRetryDelay'](_0x51a501){const _0xb8ea52=a0_0x1fab54,_0x231c55=0x3e8,_0x1078d5=0x7530,_0x20037e=_0x231c55*Math[_0xb8ea52(0xfa)](0x2,_0x51a501[_0xb8ea52(0x139)]),_0x2b667a=Math['random']()*0x3e8;return Math['min'](_0x20037e+_0x2b667a,_0x1078d5);}[a0_0x1fab54(0xcf)](){const _0x10e25e=a0_0x1fab54;this[_0x10e25e(0xc5)]['set'](ERROR_TYPES[_0x10e25e(0x102)],{'name':'file_not_found_recovery','recover':async _0x2fabe3=>{const _0x135730=_0x10e25e;if(_0x2fabe3[_0x135730(0xfb)]['filePath'])return{'success':![],'reason':_0x135730(0xf8),'suggestion':_0x135730(0xe7)};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x10e25e(0xc5)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':_0x10e25e(0x125),'recover':async _0x57ceee=>{const _0x5ee387=_0x10e25e,_0x540026=this[_0x5ee387(0x10c)](_0x57ceee);return this[_0x5ee387(0xe5)]['info']('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0x540026}),await new Promise(_0x3056c8=>setTimeout(_0x3056c8,_0x540026)),{'success':!![],'action':_0x5ee387(0x133),'waitTime':_0x540026};}}),this[_0x10e25e(0xc5)][_0x10e25e(0x10d)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0xb70168=>{const _0x305851=_0x10e25e;if(_0xb70168[_0x305851(0xfb)]['timeout']){const _0x5c0e55=Math[_0x305851(0x101)](_0xb70168['context']['timeout']*1.5,0x493e0);return{'success':!![],'action':_0x305851(0xf9),'newTimeout':_0x5c0e55};}return{'success':![],'reason':_0x305851(0xef)};}}),this[_0x10e25e(0xc5)]['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':_0x10e25e(0xf5),'recover':async _0x16d65a=>{const _0x5d7149=_0x10e25e;return{'success':![],'reason':_0x5d7149(0x137),'suggestion':_0x5d7149(0x114)};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x10e25e(0xff)],{'name':'validation_recovery','recover':async _0x1c22e9=>{const _0x1bc7fa=_0x10e25e;if(_0x1c22e9['context'][_0x1bc7fa(0xd6)])return{'success':!![],'action':_0x1bc7fa(0x109),'suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this[_0x10e25e(0xc5)][_0x10e25e(0x10d)]('default',{'name':'default_recovery','recover':async _0x3f2895=>{const _0x5b4678=_0x10e25e,_0x1d4fff=this[_0x5b4678(0xe0)](_0x3f2895);return await new Promise(_0x506581=>setTimeout(_0x506581,_0x1d4fff)),{'success':!![],'action':_0x5b4678(0xf1),'delay':_0x1d4fff};}});}async[a0_0x1fab54(0x11d)](_0x528393){const _0x1dfb0a=a0_0x1fab54;this[_0x1dfb0a(0xe5)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x528393['id']});if(_0x528393[_0x1dfb0a(0x136)]){}}async['handleRateLimitExceeded'](_0x54aa86){const _0x4fb331=a0_0x1fab54,_0x2baf0f=this[_0x4fb331(0x10c)](_0x54aa86);this[_0x4fb331(0xe5)][_0x4fb331(0x12f)](_0x4fb331(0xee),{'errorId':_0x54aa86['id'],'waitTime':_0x2baf0f,'agentId':_0x54aa86[_0x4fb331(0x136)]});if(_0x54aa86[_0x4fb331(0x136)]){}}async[a0_0x1fab54(0xea)](_0x443fa8){const _0x349bbe=a0_0x1fab54;this['logger']['error']('Operation\x20timeout\x20detected',{'errorId':_0x443fa8['id'],'operation':_0x443fa8[_0x349bbe(0xfb)]['operation'],'timeout':_0x443fa8['context']['timeout']});}async['handleGenericCriticalError'](_0x418ca5){const _0x163f6d=a0_0x1fab54;this[_0x163f6d(0xe5)][_0x163f6d(0x108)](_0x163f6d(0x13b),{'errorId':_0x418ca5['id'],'type':_0x418ca5[_0x163f6d(0x118)],'message':_0x418ca5[_0x163f6d(0xe9)]}),_0x418ca5['agentId']&&this['logger'][_0x163f6d(0x12f)](_0x163f6d(0x10b),{'agentId':_0x418ca5['agentId']});}[a0_0x1fab54(0x10c)](_0x5716d6){const _0x3b3d9b=a0_0x1fab54,_0x21789f=0xea60,_0x1aab38=Math[_0x3b3d9b(0xfa)](0x2,_0x5716d6['retryCount']),_0x183b4c=0x493e0;return Math[_0x3b3d9b(0x101)](_0x21789f*_0x1aab38,_0x183b4c);}async['logError'](_0x382d5b,_0x516ad4){const _0x4d726e=a0_0x1fab54;try{const _0x20a239={'errorId':_0x382d5b['id'],'timestamp':_0x382d5b['timestamp'],'type':_0x382d5b[_0x4d726e(0x118)],'severity':_0x382d5b[_0x4d726e(0xf0)],'message':_0x382d5b[_0x4d726e(0xe9)],'agentId':_0x382d5b['agentId'],'toolId':_0x382d5b['toolId'],'operationId':_0x382d5b['operationId'],'retryCount':_0x382d5b[_0x4d726e(0x139)],'recoveryAttempted':!!_0x516ad4,'recoverySuccess':_0x516ad4?.[_0x4d726e(0x103)]||![],'recoveryAction':_0x516ad4?.['action']||null};this['errorQueue']['push'](_0x20a239),!this[_0x4d726e(0xfe)]&&this['processErrorQueue']();}catch(_0x2918f6){this[_0x4d726e(0xe5)][_0x4d726e(0x108)](_0x4d726e(0x106),{'errorId':_0x382d5b['id'],'loggingError':_0x2918f6[_0x4d726e(0xe9)]});}}async['processErrorQueue'](){const _0x552511=a0_0x1fab54;if(this['isProcessingQueue']||this[_0x552511(0x11b)][_0x552511(0x127)]===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue'][_0x552511(0x127)]>0x0){const _0x5c8719=this[_0x552511(0x11b)]['splice'](0x0,0xa);this[_0x552511(0xe5)][_0x552511(0x115)]('Processing\x20error\x20batch',{'batchSize':_0x5c8719['length']}),await new Promise(_0x548bd9=>setTimeout(_0x548bd9,0x64));}}catch(processingError){this['logger'][_0x552511(0x108)](_0x552511(0x10e),{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x535287=a0_0x1fab54;setInterval(()=>{const _0x1f31d4=a0_0x465e;this[_0x1f31d4(0x11b)][_0x1f31d4(0x127)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!==_0x535287(0xe3)&&(process['on'](_0x535287(0xe2),_0xbb922d=>{const _0x5282a2=_0x535287;this['handleError'](_0xbb922d,{'type':_0x5282a2(0xf3),'severity':_0x5282a2(0xfc)});}),process['on'](_0x535287(0xd5),(_0x401426,_0x8ef47f)=>{const _0x521eb8=_0x535287;this[_0x521eb8(0xf2)](new Error('Unhandled\x20Rejection:\x20'+_0x401426),{'type':_0x521eb8(0xf7),'severity':'high','promise':_0x8ef47f['toString']()});}));}[a0_0x1fab54(0x11a)](_0x193467){const _0x2b28f9=a0_0x1fab54;this[_0x2b28f9(0x10f)][_0x2b28f9(0xd9)]++,!this['errorStats'][_0x2b28f9(0x124)][_0x2b28f9(0xc7)](_0x193467[_0x2b28f9(0x118)])&&this['errorStats'][_0x2b28f9(0x124)]['set'](_0x193467['type'],0x0),this['errorStats']['errorsByType']['set'](_0x193467['type'],this['errorStats']['errorsByType']['get'](_0x193467['type'])+0x1),_0x193467[_0x2b28f9(0x136)]&&(!this['errorStats']['errorsByAgent']['has'](_0x193467['agentId'])&&this[_0x2b28f9(0x10f)][_0x2b28f9(0xdd)][_0x2b28f9(0x10d)](_0x193467[_0x2b28f9(0x136)],0x0),this['errorStats'][_0x2b28f9(0xdd)]['set'](_0x193467['agentId'],this[_0x2b28f9(0x10f)][_0x2b28f9(0xdd)][_0x2b28f9(0xec)](_0x193467['agentId'])+0x1));}['subscribe'](_0x3e9df5){const _0x360db9=a0_0x1fab54;return this[_0x360db9(0xd8)][_0x360db9(0xcb)](_0x3e9df5),()=>this[_0x360db9(0xd8)][_0x360db9(0x13a)](_0x3e9df5);}[a0_0x1fab54(0x13c)](_0x650c85,_0x4dce62){const _0x11fcc3=a0_0x1fab54;this[_0x11fcc3(0xd8)][_0x11fcc3(0x10a)](_0x10f001=>{const _0x49d9bd=_0x11fcc3;try{_0x10f001(_0x650c85,_0x4dce62);}catch(_0x499152){this[_0x49d9bd(0xe5)][_0x49d9bd(0x108)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x499152['message']});}});}[a0_0x1fab54(0xc8)](){return'err_'+Date['now']()+'_'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);}[a0_0x1fab54(0xd0)](){const _0x1134f1=a0_0x1fab54;return{'totalErrors':this['errorStats']['totalErrors'],'errorsByType':Object['fromEntries'](this[_0x1134f1(0x10f)][_0x1134f1(0x124)]),'errorsByAgent':Object[_0x1134f1(0x112)](this[_0x1134f1(0x10f)]['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this['errorStats'][_0x1134f1(0xc6)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this[_0x1134f1(0x10f)]['successfulRecoveries']/this[_0x1134f1(0x10f)][_0x1134f1(0x11c)]:0x0,'criticalErrors':this['errorStats'][_0x1134f1(0x120)],'queueLength':this[_0x1134f1(0x11b)][_0x1134f1(0x127)]};}[a0_0x1fab54(0xe6)](){const _0x152773=a0_0x1fab54;this[_0x152773(0x10f)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- function a0_0x5071(){const _0x5218ce=['ywDLBNrjza','z2v0qxr0ywnOBwvUDa','rMLSzsb1CgXVywrLza','DxrMoa','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','qxr0ywnOBwvUDcbKzwXLDgvK','zMLSDgvY','AM9PBG','Aw1WB3j0zwrgCM9T','nZDst2r3t3u','y29UDgvUDa','nZq3nZiXmJzSvhLRqNu','D2fYBG','Bw9Kzq','zxjYB3i','C3rHCNrZv2L0Aa','BgvUz3rO','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','DMfSAwrHDgu','CMvMzxjLBMnLzej5','Aw5JBhvKzxm','mtHywNHwvuu','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGC2f2Aw5NigLUzgv4','Aw5KzxG','yxr0ywnOBwvUDhm','D3jPDgvgAwXL','zMLSzvbYB2nLC3nVCG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Dg9Nz2XLqwn0AxzL','BwvZC2fNzq','ChvZAa','ywn0AxzL','nJe4mZLbCev0rhi','Aw5MBW','CgfYC2u','C2L6zq','zxjYB3jZ','C2L6zuXLDMvS','qxr0ywnOBwvUDcb1CgrHDgvK','zMLSzu5HBwu','BgfZDe1VzgLMAwvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','y2fSy3vSyxrLsgfZAa','rxjYB3iGBg9HzgLUzYbPBMrLEa','z2v0qxr0ywnOBwvUDenVBNrLBNq','mJGXmdu2BevqvNvL','Bg9HzeLUzgv4','ywDLBNrszwzZ','zgf0ytPPBwfNzq','z2v0qxr0ywnOBwvUDfbYzxzPzxC','ChjVy2vZC0zPBgu','C3rYAw5NAwz5','rMLSzsbUB3qGzM91BMq6ia','z2v0qxr0ywnOBwvUDhm','C2f2zuLUzgv4','nJe3ndqYq3PfrxL3','mJKWmdi0wuPHsvP2','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDguGDg9Nz2XLza','mtCYmhzYte1QDW','mty3oty1mJbct1vxEKS','Bwv0ywrHDgeUANnVBG','CMvHzezPBgu','zMLSzuv4Axn0CW','Dg9ju09tDhjPBMC','z2v0rMLSzvn0yxrZ','mtjHEMPpsvK','DMfSAwrHDg9Y','nty4nJi2ALPPtuTl','DxbKyxrLqxr0ywnOBwvUDa','zgvSzxrLqxr0ywnOBwvUDa','vMfSAwrHDgLVBIbMywLSzwq6ia','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','mtbvBM9Nt3u','Aw5PDgLHBgL6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','Bg9Nz2vY','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq'];a0_0x5071=function(){return _0x5218ce;};return a0_0x5071();}const a0_0x4ec636=a0_0x30b3;(function(_0x5a1ece,_0x5da650){const _0x3359d3=a0_0x30b3,_0x18b4cf=_0x5a1ece();while(!![]){try{const _0x1d44ba=parseInt(_0x3359d3(0x1c6))/0x1+parseInt(_0x3359d3(0x1fb))/0x2*(-parseInt(_0x3359d3(0x1dc))/0x3)+-parseInt(_0x3359d3(0x1d1))/0x4*(parseInt(_0x3359d3(0x1e1))/0x5)+-parseInt(_0x3359d3(0x1d0))/0x6*(parseInt(_0x3359d3(0x1ef))/0x7)+-parseInt(_0x3359d3(0x1d3))/0x8*(parseInt(_0x3359d3(0x207))/0x9)+-parseInt(_0x3359d3(0x1d4))/0xa+parseInt(_0x3359d3(0x1f1))/0xb*(parseInt(_0x3359d3(0x1da))/0xc);if(_0x1d44ba===_0x5da650)break;else _0x18b4cf['push'](_0x18b4cf['shift']());}catch(_0x5430c0){_0x18b4cf['push'](_0x18b4cf['shift']());}}}(a0_0x5071,0xe52f2));import a0_0x280d10 from'path';function a0_0x30b3(_0x16211a,_0x4597ee){_0x16211a=_0x16211a-0x1bd;const _0x50711b=a0_0x5071();let _0x30b32f=_0x50711b[_0x16211a];if(a0_0x30b3['flTHrQ']===undefined){var _0x12f99b=function(_0x101391){const _0x40b2bc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x280d10='',_0x4abf66='';for(let _0x55ed9c=0x0,_0x394310,_0x4a6b0e,_0x3f1c1f=0x0;_0x4a6b0e=_0x101391['charAt'](_0x3f1c1f++);~_0x4a6b0e&&(_0x394310=_0x55ed9c%0x4?_0x394310*0x40+_0x4a6b0e:_0x4a6b0e,_0x55ed9c++%0x4)?_0x280d10+=String['fromCharCode'](0xff&_0x394310>>(-0x2*_0x55ed9c&0x6)):0x0){_0x4a6b0e=_0x40b2bc['indexOf'](_0x4a6b0e);}for(let _0x337f9d=0x0,_0x5457c6=_0x280d10['length'];_0x337f9d<_0x5457c6;_0x337f9d++){_0x4abf66+='%'+('00'+_0x280d10['charCodeAt'](_0x337f9d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4abf66);};a0_0x30b3['hPKqPN']=_0x12f99b,a0_0x30b3['PFlXCX']={},a0_0x30b3['flTHrQ']=!![];}const _0x5cb0a1=_0x50711b[0x0],_0x132361=_0x16211a+_0x5cb0a1,_0x514dd6=a0_0x30b3['PFlXCX'][_0x132361];return!_0x514dd6?(_0x30b32f=a0_0x30b3['hPKqPN'](_0x30b32f),a0_0x30b3['PFlXCX'][_0x132361]=_0x30b32f):_0x30b32f=_0x514dd6,_0x30b32f;}import{randomUUID}from'crypto';import a0_0x4abf66 from'../utilities/fileProcessor.js';import a0_0x55ed9c from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x280d10[a0_0x4ec636(0x1ed)](ATTACHMENTS_DIR,a0_0x4ec636(0x1e0));class FileAttachmentService{constructor(_0x394310={},_0x4a6b0e=null){const _0x42af42=a0_0x4ec636;this['config']=_0x394310,this[_0x42af42(0x1e4)]=_0x4a6b0e,this['fileProcessor']=new a0_0x4abf66(_0x394310,_0x4a6b0e),this['validator']=new a0_0x55ed9c(_0x394310,_0x4a6b0e),this[_0x42af42(0x1fe)]=null;}async[a0_0x4ec636(0x1e2)](){const _0x4a8468=a0_0x4ec636;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this['logger']?.[_0x4a8468(0x208)]('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x3f1c1f){this[_0x4a8468(0x1e4)]?.['error'](_0x4a8468(0x1e5),{'error':_0x3f1c1f['message']});throw _0x3f1c1f;}}async['loadIndex'](){const _0xe76f03=a0_0x4ec636;try{const _0x337f9d=await this[_0xe76f03(0x201)]['fileExists'](INDEX_FILE);if(!_0x337f9d)this[_0xe76f03(0x1fe)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x5457c6=await this[_0xe76f03(0x201)][_0xe76f03(0x1d6)](INDEX_FILE,_0xe76f03(0x1e9));this['index']=JSON[_0xe76f03(0x209)](_0x5457c6);}return this[_0xe76f03(0x1fe)];}catch(_0x2f30f5){return this[_0xe76f03(0x1e4)]?.[_0xe76f03(0x1f4)](_0xe76f03(0x1c4),{'error':_0x2f30f5[_0xe76f03(0x204)]}),this[_0xe76f03(0x1fe)]={'attachments':{},'agentRefs':{}},this[_0xe76f03(0x1fe)];}}async['saveIndex'](){const _0x512ad8=a0_0x4ec636;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON[_0x512ad8(0x1cc)](this[_0x512ad8(0x1fe)],null,0x2),'utf8');}catch(_0x5dc4a4){this[_0x512ad8(0x1e4)]?.['error'](_0x512ad8(0x1fd),{'error':_0x5dc4a4['message']});throw _0x5dc4a4;}}async['uploadFile']({agentId:_0x5ce95a,filePath:_0x379a0b,mode:mode=a0_0x4ec636(0x1f0),fileName:fileName=null}){const _0x2dbbf3=a0_0x4ec636;!this[_0x2dbbf3(0x1fe)]&&await this[_0x2dbbf3(0x1c7)]();try{const _0xdb581d=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1d7)](_0x379a0b);if(!_0xdb581d)throw new Error(_0x2dbbf3(0x1cd)+_0x379a0b);const _0x18005e=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1d9)](_0x379a0b),_0x59eafd=fileName||a0_0x280d10['basename'](_0x379a0b),_0x3c65aa=a0_0x280d10['extname'](_0x59eafd),_0x56a144=this[_0x2dbbf3(0x1db)][_0x2dbbf3(0x1f8)]({'fileName':_0x59eafd,'size':_0x18005e['size'],'mode':mode,'path':mode==='reference'?_0x379a0b:null});if(!_0x56a144['valid'])throw new Error(_0x2dbbf3(0x1df)+_0x56a144[_0x2dbbf3(0x1bd)]['join'](',\x20'));const _0x4f7868=randomUUID(),_0x3b9b09=await this['fileProcessor'][_0x2dbbf3(0x1c3)](_0x379a0b),_0x4a3d54=this['validator']['getContentType'](_0x59eafd),_0x4158a6=a0_0x280d10[_0x2dbbf3(0x1ed)](ATTACHMENTS_DIR,_0x5ce95a,_0x4f7868);await this['fileProcessor']['createDirectory'](_0x4158a6);let _0x1de00a=0x0,_0x47fc2d=null;if(mode===_0x2dbbf3(0x1f0)){const processResult=await this[_0x2dbbf3(0x201)][_0x2dbbf3(0x1cb)](_0x379a0b,_0x4a3d54),_0x27a9b6=processResult[_0x2dbbf3(0x1f0)];if(_0x4a3d54==='text')_0x47fc2d='content.txt';else{if(_0x4a3d54==='image')_0x47fc2d='content.base64';else _0x4a3d54==='pdf'&&(_0x47fc2d='content.txt');}const _0x3dab99=a0_0x280d10[_0x2dbbf3(0x1ed)](_0x4158a6,_0x47fc2d);await this['fileProcessor'][_0x2dbbf3(0x200)](_0x3dab99,_0x27a9b6,'utf8'),_0x1de00a=this[_0x2dbbf3(0x201)]['estimateTokens'](_0x27a9b6);}const _0x230b49={'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'originalPath':_0x379a0b,'fileType':this['validator']['getMimeType'](_0x59eafd),'fileExtension':_0x3c65aa,'size':_0x18005e[_0x2dbbf3(0x20a)],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x18005e['modified']['toISOString'](),'hash':_0x3b9b09,'tokenEstimate':_0x1de00a,'contentType':_0x4a3d54,'contentFileName':_0x47fc2d,'warnings':_0x56a144['warnings'],'sizeLevel':_0x56a144[_0x2dbbf3(0x1be)],'importedFrom':null,'referencedBy':[_0x5ce95a]},_0x25344f=a0_0x280d10['join'](_0x4158a6,_0x2dbbf3(0x1d5));return await this[_0x2dbbf3(0x201)]['writeFile'](_0x25344f,JSON['stringify'](_0x230b49,null,0x2),'utf8'),this['index'][_0x2dbbf3(0x1ff)][_0x4f7868]={'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'mode':mode,'active':_0x230b49['active'],'referencedBy':_0x230b49['referencedBy']},!this[_0x2dbbf3(0x1fe)][_0x2dbbf3(0x1c8)][_0x5ce95a]&&(this['index'][_0x2dbbf3(0x1c8)][_0x5ce95a]=[]),this['index'][_0x2dbbf3(0x1c8)][_0x5ce95a][_0x2dbbf3(0x205)](_0x4f7868),await this['saveIndex'](),this['logger']?.['info'](_0x2dbbf3(0x1e8),{'fileId':_0x4f7868,'agentId':_0x5ce95a,'fileName':_0x59eafd,'mode':mode}),_0x230b49;}catch(_0x334035){this[_0x2dbbf3(0x1e4)]?.[_0x2dbbf3(0x1f4)]('Error\x20uploading\x20file',{'agentId':_0x5ce95a,'filePath':_0x379a0b,'error':_0x334035[_0x2dbbf3(0x204)]});throw _0x334035;}}async[a0_0x4ec636(0x1ce)](_0x3c214f,_0x385cbe={}){const _0x5d8322=a0_0x4ec636;!this[_0x5d8322(0x1fe)]&&await this['loadIndex']();try{const _0x5297d7=this['index']['agentRefs'][_0x3c214f]||[],_0x4c1998=[];for(const _0x982589 of _0x5297d7){const _0x1c6bdf=await this['getAttachment'](_0x982589);if(_0x1c6bdf){if(_0x385cbe[_0x5d8322(0x206)]!==undefined&&_0x1c6bdf['active']!==_0x385cbe[_0x5d8322(0x206)])continue;if(_0x385cbe['mode']&&_0x1c6bdf[_0x5d8322(0x1f3)]!==_0x385cbe['mode'])continue;_0x4c1998['push'](_0x1c6bdf);}}return _0x4c1998;}catch(_0xac9e82){this[_0x5d8322(0x1e4)]?.['error'](_0x5d8322(0x1c2),{'agentId':_0x3c214f,'error':_0xac9e82['message']});throw _0xac9e82;}}async['getAttachment'](_0x30c7ff){const _0xd8e03b=a0_0x4ec636;!this[_0xd8e03b(0x1fe)]&&await this['loadIndex']();try{const _0x36575f=this[_0xd8e03b(0x1fe)][_0xd8e03b(0x1ff)][_0x30c7ff];if(!_0x36575f)return null;const _0x5c261e=a0_0x280d10[_0xd8e03b(0x1ed)](ATTACHMENTS_DIR,_0x36575f[_0xd8e03b(0x1e6)],_0x30c7ff,'metadata.json'),_0x26d40c=await this[_0xd8e03b(0x201)][_0xd8e03b(0x1d7)](_0x5c261e);if(!_0x26d40c)return this['logger']?.[_0xd8e03b(0x1f2)]('Metadata\x20file\x20not\x20found',{'fileId':_0x30c7ff}),null;const _0xdea830=await this['fileProcessor']['readFile'](_0x5c261e,_0xd8e03b(0x1e9));return JSON['parse'](_0xdea830);}catch(_0x1de72d){return this['logger']?.[_0xd8e03b(0x1f4)]('Error\x20getting\x20attachment',{'fileId':_0x30c7ff,'error':_0x1de72d['message']}),null;}}async[a0_0x4ec636(0x1c5)](_0x40f2e4){const _0x26e58f=a0_0x4ec636;try{const _0x429a6f=await this[_0x26e58f(0x1e7)](_0x40f2e4);if(!_0x429a6f||_0x429a6f[_0x26e58f(0x1f3)]!==_0x26e58f(0x1f0))return null;const _0x5eaffd=a0_0x280d10[_0x26e58f(0x1ed)](ATTACHMENTS_DIR,_0x429a6f['agentId'],_0x40f2e4,_0x429a6f['contentFileName']),_0x526aa0=await this['fileProcessor'][_0x26e58f(0x1d7)](_0x5eaffd);if(!_0x526aa0)return null;return await this[_0x26e58f(0x201)]['readFile'](_0x5eaffd,_0x26e58f(0x1e9));}catch(_0x3c1ede){return this[_0x26e58f(0x1e4)]?.['error'](_0x26e58f(0x202),{'fileId':_0x40f2e4,'error':_0x3c1ede[_0x26e58f(0x204)]}),null;}}async[a0_0x4ec636(0x203)](_0x5426c3){const _0x7c9d6b=a0_0x4ec636;try{const _0x334f84=await this[_0x7c9d6b(0x1e7)](_0x5426c3);if(!_0x334f84)throw new Error(_0x7c9d6b(0x1e3)+_0x5426c3);_0x334f84[_0x7c9d6b(0x206)]=!_0x334f84[_0x7c9d6b(0x206)],_0x334f84['lastModified']=new Date()[_0x7c9d6b(0x1d8)]();const _0x55e1dc=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x334f84[_0x7c9d6b(0x1e6)],_0x5426c3,'metadata.json');return await this[_0x7c9d6b(0x201)]['writeFile'](_0x55e1dc,JSON[_0x7c9d6b(0x1cc)](_0x334f84,null,0x2),_0x7c9d6b(0x1e9)),this['index']['attachments'][_0x5426c3]&&(this[_0x7c9d6b(0x1fe)]['attachments'][_0x5426c3]['active']=_0x334f84['active'],await this['saveIndex']()),this['logger']?.['info'](_0x7c9d6b(0x1d2),{'fileId':_0x5426c3,'active':_0x334f84['active']}),_0x334f84;}catch(_0x2e35a9){this[_0x7c9d6b(0x1e4)]?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x5426c3,'error':_0x2e35a9['message']});throw _0x2e35a9;}}async[a0_0x4ec636(0x1dd)](_0xa7fff3,_0x1df1d8){const _0x69987d=a0_0x4ec636;try{const _0x385639=await this['getAttachment'](_0xa7fff3);if(!_0x385639)throw new Error('Attachment\x20not\x20found:\x20'+_0xa7fff3);const _0x695fd4=['fileName',_0x69987d(0x206)];for(const _0x30e33f of _0x695fd4){_0x1df1d8[_0x30e33f]!==undefined&&(_0x385639[_0x30e33f]=_0x1df1d8[_0x30e33f]);}_0x385639['lastModified']=new Date()['toISOString']();const _0x50a24c=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x385639[_0x69987d(0x1e6)],_0xa7fff3,'metadata.json');return await this[_0x69987d(0x201)]['writeFile'](_0x50a24c,JSON[_0x69987d(0x1cc)](_0x385639,null,0x2),'utf8'),this['index'][_0x69987d(0x1ff)][_0xa7fff3]&&(_0x1df1d8['fileName']&&(this['index'][_0x69987d(0x1ff)][_0xa7fff3][_0x69987d(0x1c0)]=_0x1df1d8[_0x69987d(0x1c0)]),_0x1df1d8['active']!==undefined&&(this['index'][_0x69987d(0x1ff)][_0xa7fff3]['active']=_0x1df1d8[_0x69987d(0x206)]),await this[_0x69987d(0x1cf)]()),this['logger']?.[_0x69987d(0x208)](_0x69987d(0x1bf),{'fileId':_0xa7fff3,'updates':_0x1df1d8}),_0x385639;}catch(_0x404690){this[_0x69987d(0x1e4)]?.[_0x69987d(0x1f4)]('Error\x20updating\x20attachment',{'fileId':_0xa7fff3,'error':_0x404690[_0x69987d(0x204)]});throw _0x404690;}}async['deleteAttachment'](_0x491d5f,_0x51c487){const _0x44daf5=a0_0x4ec636;try{const _0x57c0c9=await this[_0x44daf5(0x1e7)](_0x491d5f);if(!_0x57c0c9)throw new Error(_0x44daf5(0x1e3)+_0x491d5f);_0x57c0c9[_0x44daf5(0x1f9)]=_0x57c0c9['referencedBy']['filter'](_0x5f47bf=>_0x5f47bf!==_0x51c487);if(_0x57c0c9[_0x44daf5(0x1f9)]['length']>0x0){const _0x285ed0=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x57c0c9['agentId'],_0x491d5f,_0x44daf5(0x1d5));return await this['fileProcessor'][_0x44daf5(0x200)](_0x285ed0,JSON['stringify'](_0x57c0c9,null,0x2),_0x44daf5(0x1e9)),this['index']['attachments'][_0x491d5f]&&(this[_0x44daf5(0x1fe)][_0x44daf5(0x1ff)][_0x491d5f][_0x44daf5(0x1f9)]=_0x57c0c9['referencedBy']),this[_0x44daf5(0x1fe)][_0x44daf5(0x1c8)][_0x51c487]&&(this['index'][_0x44daf5(0x1c8)][_0x51c487]=this['index'][_0x44daf5(0x1c8)][_0x51c487][_0x44daf5(0x1ec)](_0x4e9f29=>_0x4e9f29!==_0x491d5f)),await this['saveIndex'](),this['logger']?.[_0x44daf5(0x208)]('Attachment\x20dereferenced',{'fileId':_0x491d5f,'agentId':_0x51c487,'remainingRefs':_0x57c0c9[_0x44daf5(0x1f9)]['length']}),![];}const _0x4fd172=a0_0x280d10['join'](ATTACHMENTS_DIR,_0x57c0c9[_0x44daf5(0x1e6)],_0x491d5f);return await this[_0x44daf5(0x201)]['deleteDirectory'](_0x4fd172),delete this['index'][_0x44daf5(0x1ff)][_0x491d5f],this['index']['agentRefs'][_0x51c487]&&(this[_0x44daf5(0x1fe)][_0x44daf5(0x1c8)][_0x51c487]=this['index']['agentRefs'][_0x51c487]['filter'](_0x302ad1=>_0x302ad1!==_0x491d5f)),await this[_0x44daf5(0x1cf)](),this[_0x44daf5(0x1e4)]?.['info'](_0x44daf5(0x1eb),{'fileId':_0x491d5f,'agentId':_0x51c487}),!![];}catch(_0x4d2559){this['logger']?.[_0x44daf5(0x1f4)](_0x44daf5(0x1fc),{'fileId':_0x491d5f,'agentId':_0x51c487,'error':_0x4d2559['message']});throw _0x4d2559;}}async['deleteAgentAttachments'](_0xa6636d){const _0x2893e8=a0_0x4ec636;try{const _0x41d68a=this['index'][_0x2893e8(0x1c8)][_0xa6636d]||[];let _0x38c4f9=0x0,_0x4c9527=0x0;for(const _0x49b74e of _0x41d68a){const _0xec7931=await this[_0x2893e8(0x1de)](_0x49b74e,_0xa6636d);_0xec7931?_0x38c4f9++:_0x4c9527++;}return this[_0x2893e8(0x1e4)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0xa6636d,'deleted':_0x38c4f9,'dereferenced':_0x4c9527}),{'deleted':_0x38c4f9,'dereferenced':_0x4c9527};}catch(_0x108648){this[_0x2893e8(0x1e4)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0xa6636d,'error':_0x108648['message']});throw _0x108648;}}async['importFromAgent'](_0x2aa886,_0xa76984){const _0x2a888a=a0_0x4ec636;try{const _0x588316=await this['getAttachment'](_0x2aa886);if(!_0x588316)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x2aa886);!_0x588316['referencedBy']['includes'](_0xa76984)&&_0x588316[_0x2a888a(0x1f9)][_0x2a888a(0x205)](_0xa76984);_0x588316[_0x2a888a(0x1c1)]=new Date()['toISOString'](),_0x588316[_0x2a888a(0x1ee)]=_0x588316['agentId'];const _0x331516=a0_0x280d10[_0x2a888a(0x1ed)](ATTACHMENTS_DIR,_0x588316[_0x2a888a(0x1e6)],_0x2aa886,'metadata.json');return await this['fileProcessor'][_0x2a888a(0x200)](_0x331516,JSON['stringify'](_0x588316,null,0x2),'utf8'),this[_0x2a888a(0x1fe)]['attachments'][_0x2aa886]&&(this[_0x2a888a(0x1fe)]['attachments'][_0x2aa886][_0x2a888a(0x1f9)]=_0x588316['referencedBy']),!this['index']['agentRefs'][_0xa76984]&&(this['index'][_0x2a888a(0x1c8)][_0xa76984]=[]),!this[_0x2a888a(0x1fe)][_0x2a888a(0x1c8)][_0xa76984][_0x2a888a(0x1fa)](_0x2aa886)&&this[_0x2a888a(0x1fe)][_0x2a888a(0x1c8)][_0xa76984]['push'](_0x2aa886),await this[_0x2a888a(0x1cf)](),this[_0x2a888a(0x1e4)]?.['info']('Attachment imported',{'sourceFileId':_0x2aa886,'targetAgentId':_0xa76984}),_0x588316;}catch(_0x347ed4){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x2aa886,'targetAgentId':_0xa76984,'error':_0x347ed4['message']});throw _0x347ed4;}}async['getActiveAttachments'](_0xab9c17){const _0x2d8e9b=a0_0x4ec636;return await this[_0x2d8e9b(0x1ce)](_0xab9c17,{'active':!![]});}async[a0_0x4ec636(0x1ca)](_0x21344b){const _0x240f2a=a0_0x4ec636;try{const _0x370497=await this['getAttachmentContent'](_0x21344b);if(!_0x370497)return null;if(_0x370497[_0x240f2a(0x1f5)](_0x240f2a(0x1c9)))return _0x240f2a(0x1f7);return _0x370497[_0x240f2a(0x1f6)]>0x3e8?_0x370497['substring'](0x0,0x3e8)+'...':_0x370497;}catch(_0x2f50c4){return this[_0x240f2a(0x1e4)]?.[_0x240f2a(0x1f4)](_0x240f2a(0x1ea),{'fileId':_0x21344b,'error':_0x2f50c4['message']}),null;}}}export default FileAttachmentService;
1
+ function a0_0x2108(_0x3f3331,_0x1931ac){_0x3f3331=_0x3f3331-0x18d;const _0x14f6d5=a0_0x14f6();let _0x21085f=_0x14f6d5[_0x3f3331];if(a0_0x2108['dRaRDt']===undefined){var _0x117119=function(_0x579d3e){const _0x1c8294='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26464c='',_0x1abf81='';for(let _0x2c147b=0x0,_0x44ac62,_0x528d7c,_0x42ce6f=0x0;_0x528d7c=_0x579d3e['charAt'](_0x42ce6f++);~_0x528d7c&&(_0x44ac62=_0x2c147b%0x4?_0x44ac62*0x40+_0x528d7c:_0x528d7c,_0x2c147b++%0x4)?_0x26464c+=String['fromCharCode'](0xff&_0x44ac62>>(-0x2*_0x2c147b&0x6)):0x0){_0x528d7c=_0x1c8294['indexOf'](_0x528d7c);}for(let _0xa51f2d=0x0,_0x51267c=_0x26464c['length'];_0xa51f2d<_0x51267c;_0xa51f2d++){_0x1abf81+='%'+('00'+_0x26464c['charCodeAt'](_0xa51f2d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1abf81);};a0_0x2108['IToaOs']=_0x117119,a0_0x2108['NJREye']={},a0_0x2108['dRaRDt']=!![];}const _0x73efc0=_0x14f6d5[0x0],_0x160047=_0x3f3331+_0x73efc0,_0x32e691=a0_0x2108['NJREye'][_0x160047];return!_0x32e691?(_0x21085f=a0_0x2108['IToaOs'](_0x21085f),a0_0x2108['NJREye'][_0x160047]=_0x21085f):_0x21085f=_0x32e691,_0x21085f;}const a0_0x370030=a0_0x2108;(function(_0x526235,_0x397781){const _0x466ac4=a0_0x2108,_0xb9ef0b=_0x526235();while(!![]){try{const _0x15c945=parseInt(_0x466ac4(0x1a7))/0x1*(parseInt(_0x466ac4(0x1cf))/0x2)+parseInt(_0x466ac4(0x19f))/0x3+parseInt(_0x466ac4(0x1ad))/0x4+parseInt(_0x466ac4(0x1a2))/0x5+-parseInt(_0x466ac4(0x1b7))/0x6*(parseInt(_0x466ac4(0x197))/0x7)+parseInt(_0x466ac4(0x194))/0x8+-parseInt(_0x466ac4(0x1c3))/0x9*(parseInt(_0x466ac4(0x195))/0xa);if(_0x15c945===_0x397781)break;else _0xb9ef0b['push'](_0xb9ef0b['shift']());}catch(_0x11dcfc){_0xb9ef0b['push'](_0xb9ef0b['shift']());}}}(a0_0x14f6,0xaae63));import a0_0x26464c from'path';import{randomUUID}from'crypto';import a0_0x1abf81 from'../utilities/fileProcessor.js';import a0_0x2c147b from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x370030(0x1a9)],INDEX_FILE=a0_0x26464c[a0_0x370030(0x198)](ATTACHMENTS_DIR,a0_0x370030(0x1bf));class FileAttachmentService{constructor(_0x44ac62={},_0x528d7c=null){const _0x3248ff=a0_0x370030;this['config']=_0x44ac62,this[_0x3248ff(0x1d1)]=_0x528d7c,this[_0x3248ff(0x1c6)]=new a0_0x1abf81(_0x44ac62,_0x528d7c),this['validator']=new a0_0x2c147b(_0x44ac62,_0x528d7c),this['index']=null;}async[a0_0x370030(0x1d5)](){const _0x2f6fa8=a0_0x370030;try{await this[_0x2f6fa8(0x1c6)]['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this['logger']?.[_0x2f6fa8(0x1b0)](_0x2f6fa8(0x18e),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x42ce6f){this['logger']?.[_0x2f6fa8(0x1aa)](_0x2f6fa8(0x19b),{'error':_0x42ce6f['message']});throw _0x42ce6f;}}async[a0_0x370030(0x1d3)](){const _0x4b1e17=a0_0x370030;try{const _0xa51f2d=await this[_0x4b1e17(0x1c6)]['fileExists'](INDEX_FILE);if(!_0xa51f2d)this[_0x4b1e17(0x1ab)]={'attachments':{},'agentRefs':{}},await this[_0x4b1e17(0x19d)]();else{const _0x51267c=await this[_0x4b1e17(0x1c6)][_0x4b1e17(0x196)](INDEX_FILE,_0x4b1e17(0x1c7));this[_0x4b1e17(0x1ab)]=JSON[_0x4b1e17(0x1bd)](_0x51267c);}return this[_0x4b1e17(0x1ab)];}catch(_0x20105e){return this['logger']?.['error'](_0x4b1e17(0x1b8),{'error':_0x20105e[_0x4b1e17(0x1c9)]}),this['index']={'attachments':{},'agentRefs':{}},this[_0x4b1e17(0x1ab)];}}async['saveIndex'](){const _0x57a3e7=a0_0x370030;try{await this[_0x57a3e7(0x1c6)][_0x57a3e7(0x1cb)](INDEX_FILE,JSON[_0x57a3e7(0x1cd)](this[_0x57a3e7(0x1ab)],null,0x2),_0x57a3e7(0x1c7));}catch(_0x79166d){this[_0x57a3e7(0x1d1)]?.['error']('Error\x20saving\x20index',{'error':_0x79166d['message']});throw _0x79166d;}}async[a0_0x370030(0x1b9)]({agentId:_0x5f5c46,filePath:_0x56891c,mode:mode='content',fileName:fileName=null}){const _0xf19eea=a0_0x370030;!this[_0xf19eea(0x1ab)]&&await this['loadIndex']();try{const _0x1f46a6=await this[_0xf19eea(0x1c6)]['fileExists'](_0x56891c);if(!_0x1f46a6)throw new Error('File\x20not\x20found:\x20'+_0x56891c);const _0x355f73=await this[_0xf19eea(0x1c6)]['getFileStats'](_0x56891c),_0x41a3ac=fileName||a0_0x26464c['basename'](_0x56891c),_0x22b83a=a0_0x26464c['extname'](_0x41a3ac),_0x3f34dd=this[_0xf19eea(0x1bc)]['validate']({'fileName':_0x41a3ac,'size':_0x355f73['size'],'mode':mode,'path':mode===_0xf19eea(0x1c4)?_0x56891c:null});if(!_0x3f34dd['valid'])throw new Error('Validation\x20failed:\x20'+_0x3f34dd[_0xf19eea(0x1ce)]['join'](',\x20'));const _0x40dfbf=randomUUID(),_0x4bc66e=await this['fileProcessor']['calculateHash'](_0x56891c),_0x527e5f=this[_0xf19eea(0x1bc)]['getContentType'](_0x41a3ac),_0x27476c=a0_0x26464c[_0xf19eea(0x198)](ATTACHMENTS_DIR,_0x5f5c46,_0x40dfbf);await this['fileProcessor']['createDirectory'](_0x27476c);let _0x2110d9=0x0,_0x97824f=null;if(mode===_0xf19eea(0x19a)){const processResult=await this['fileProcessor']['processFile'](_0x56891c,_0x527e5f),_0x328477=processResult['content'];if(_0x527e5f==='text')_0x97824f=_0xf19eea(0x1ca);else{if(_0x527e5f===_0xf19eea(0x191))_0x97824f=_0xf19eea(0x1a8);else _0x527e5f==='pdf'&&(_0x97824f='content.txt');}const _0x5671e0=a0_0x26464c['join'](_0x27476c,_0x97824f);await this['fileProcessor']['writeFile'](_0x5671e0,_0x328477,'utf8'),_0x2110d9=this[_0xf19eea(0x1c6)][_0xf19eea(0x19e)](_0x328477);}const _0x64b32b={'fileId':_0x40dfbf,'agentId':_0x5f5c46,'fileName':_0x41a3ac,'originalPath':_0x56891c,'fileType':this[_0xf19eea(0x1bc)][_0xf19eea(0x19c)](_0x41a3ac),'fileExtension':_0x22b83a,'size':_0x355f73['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x355f73['modified'][_0xf19eea(0x1ba)](),'hash':_0x4bc66e,'tokenEstimate':_0x2110d9,'contentType':_0x527e5f,'contentFileName':_0x97824f,'warnings':_0x3f34dd[_0xf19eea(0x1c8)],'sizeLevel':_0x3f34dd['sizeLevel'],'importedFrom':null,'referencedBy':[_0x5f5c46]},_0x1c3cf3=a0_0x26464c['join'](_0x27476c,'metadata.json');return await this['fileProcessor'][_0xf19eea(0x1cb)](_0x1c3cf3,JSON[_0xf19eea(0x1cd)](_0x64b32b,null,0x2),'utf8'),this[_0xf19eea(0x1ab)][_0xf19eea(0x1a9)][_0x40dfbf]={'fileId':_0x40dfbf,'agentId':_0x5f5c46,'fileName':_0x41a3ac,'mode':mode,'active':_0x64b32b['active'],'referencedBy':_0x64b32b[_0xf19eea(0x1b4)]},!this[_0xf19eea(0x1ab)][_0xf19eea(0x1ae)][_0x5f5c46]&&(this[_0xf19eea(0x1ab)]['agentRefs'][_0x5f5c46]=[]),this['index']['agentRefs'][_0x5f5c46][_0xf19eea(0x193)](_0x40dfbf),await this['saveIndex'](),this['logger']?.['info']('File\x20uploaded',{'fileId':_0x40dfbf,'agentId':_0x5f5c46,'fileName':_0x41a3ac,'mode':mode}),_0x64b32b;}catch(_0x417684){this['logger']?.[_0xf19eea(0x1aa)]('Error\x20uploading\x20file',{'agentId':_0x5f5c46,'filePath':_0x56891c,'error':_0x417684[_0xf19eea(0x1c9)]});throw _0x417684;}}async[a0_0x370030(0x199)](_0x543be5,_0x3eb0e5={}){const _0x32d89d=a0_0x370030;!this['index']&&await this[_0x32d89d(0x1d3)]();try{const _0x1fb4a5=this[_0x32d89d(0x1ab)][_0x32d89d(0x1ae)][_0x543be5]||[],_0x36a5b7=[];for(const _0x444f7b of _0x1fb4a5){const _0x243b17=await this[_0x32d89d(0x1b1)](_0x444f7b);if(_0x243b17){if(_0x3eb0e5[_0x32d89d(0x1d0)]!==undefined&&_0x243b17[_0x32d89d(0x1d0)]!==_0x3eb0e5[_0x32d89d(0x1d0)])continue;if(_0x3eb0e5['mode']&&_0x243b17[_0x32d89d(0x18d)]!==_0x3eb0e5[_0x32d89d(0x18d)])continue;_0x36a5b7[_0x32d89d(0x193)](_0x243b17);}}return _0x36a5b7;}catch(_0x417032){this[_0x32d89d(0x1d1)]?.['error']('Error\x20getting\x20attachments',{'agentId':_0x543be5,'error':_0x417032['message']});throw _0x417032;}}async['getAttachment'](_0x337423){const _0x3197dd=a0_0x370030;!this['index']&&await this['loadIndex']();try{const _0x2eaa83=this[_0x3197dd(0x1ab)]['attachments'][_0x337423];if(!_0x2eaa83)return null;const _0x32a1fd=a0_0x26464c[_0x3197dd(0x198)](ATTACHMENTS_DIR,_0x2eaa83['agentId'],_0x337423,_0x3197dd(0x1b6)),_0x56c2d3=await this['fileProcessor']['fileExists'](_0x32a1fd);if(!_0x56c2d3)return this['logger']?.[_0x3197dd(0x1a3)]('Metadata\x20file\x20not\x20found',{'fileId':_0x337423}),null;const _0x4397f8=await this['fileProcessor']['readFile'](_0x32a1fd,'utf8');return JSON['parse'](_0x4397f8);}catch(_0x1c96c8){return this['logger']?.[_0x3197dd(0x1aa)]('Error\x20getting\x20attachment',{'fileId':_0x337423,'error':_0x1c96c8['message']}),null;}}async['getAttachmentContent'](_0x2c0811){const _0x15f853=a0_0x370030;try{const _0x374533=await this['getAttachment'](_0x2c0811);if(!_0x374533||_0x374533[_0x15f853(0x18d)]!==_0x15f853(0x19a))return null;const _0x58028e=a0_0x26464c['join'](ATTACHMENTS_DIR,_0x374533['agentId'],_0x2c0811,_0x374533['contentFileName']),_0x515f9e=await this[_0x15f853(0x1c6)]['fileExists'](_0x58028e);if(!_0x515f9e)return null;return await this[_0x15f853(0x1c6)][_0x15f853(0x196)](_0x58028e,'utf8');}catch(_0x497357){return this[_0x15f853(0x1d1)]?.['error'](_0x15f853(0x1b5),{'fileId':_0x2c0811,'error':_0x497357['message']}),null;}}async['toggleActive'](_0x46ef3b){const _0x1da6d6=a0_0x370030;try{const _0x433f49=await this[_0x1da6d6(0x1b1)](_0x46ef3b);if(!_0x433f49)throw new Error('Attachment\x20not\x20found:\x20'+_0x46ef3b);_0x433f49['active']=!_0x433f49[_0x1da6d6(0x1d0)],_0x433f49['lastModified']=new Date()['toISOString']();const _0x582688=a0_0x26464c['join'](ATTACHMENTS_DIR,_0x433f49['agentId'],_0x46ef3b,'metadata.json');return await this['fileProcessor']['writeFile'](_0x582688,JSON['stringify'](_0x433f49,null,0x2),'utf8'),this[_0x1da6d6(0x1ab)][_0x1da6d6(0x1a9)][_0x46ef3b]&&(this['index']['attachments'][_0x46ef3b][_0x1da6d6(0x1d0)]=_0x433f49[_0x1da6d6(0x1d0)],await this['saveIndex']()),this[_0x1da6d6(0x1d1)]?.[_0x1da6d6(0x1b0)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x46ef3b,'active':_0x433f49['active']}),_0x433f49;}catch(_0x9b54bf){this['logger']?.['error'](_0x1da6d6(0x1be),{'fileId':_0x46ef3b,'error':_0x9b54bf[_0x1da6d6(0x1c9)]});throw _0x9b54bf;}}async[a0_0x370030(0x1c0)](_0x454a75,_0x576f87){const _0x194ddd=a0_0x370030;try{const _0x54ce4a=await this[_0x194ddd(0x1b1)](_0x454a75);if(!_0x54ce4a)throw new Error(_0x194ddd(0x1c2)+_0x454a75);const _0x321da6=['fileName','active'];for(const _0x275d6c of _0x321da6){_0x576f87[_0x275d6c]!==undefined&&(_0x54ce4a[_0x275d6c]=_0x576f87[_0x275d6c]);}_0x54ce4a['lastModified']=new Date()[_0x194ddd(0x1ba)]();const _0x40adc6=a0_0x26464c['join'](ATTACHMENTS_DIR,_0x54ce4a['agentId'],_0x454a75,_0x194ddd(0x1b6));return await this['fileProcessor'][_0x194ddd(0x1cb)](_0x40adc6,JSON['stringify'](_0x54ce4a,null,0x2),_0x194ddd(0x1c7)),this['index'][_0x194ddd(0x1a9)][_0x454a75]&&(_0x576f87['fileName']&&(this['index']['attachments'][_0x454a75][_0x194ddd(0x190)]=_0x576f87['fileName']),_0x576f87['active']!==undefined&&(this[_0x194ddd(0x1ab)][_0x194ddd(0x1a9)][_0x454a75][_0x194ddd(0x1d0)]=_0x576f87[_0x194ddd(0x1d0)]),await this[_0x194ddd(0x19d)]()),this[_0x194ddd(0x1d1)]?.['info'](_0x194ddd(0x1b2),{'fileId':_0x454a75,'updates':_0x576f87}),_0x54ce4a;}catch(_0x507b33){this[_0x194ddd(0x1d1)]?.[_0x194ddd(0x1aa)](_0x194ddd(0x1b3),{'fileId':_0x454a75,'error':_0x507b33['message']});throw _0x507b33;}}async['deleteAttachment'](_0x29b99b,_0x45f5bb){const _0x3663d5=a0_0x370030;try{const _0xc95cbd=await this['getAttachment'](_0x29b99b);if(!_0xc95cbd)throw new Error('Attachment\x20not\x20found:\x20'+_0x29b99b);_0xc95cbd[_0x3663d5(0x1b4)]=_0xc95cbd['referencedBy']['filter'](_0x4802bc=>_0x4802bc!==_0x45f5bb);if(_0xc95cbd['referencedBy']['length']>0x0){const _0x4791ef=a0_0x26464c[_0x3663d5(0x198)](ATTACHMENTS_DIR,_0xc95cbd['agentId'],_0x29b99b,'metadata.json');return await this[_0x3663d5(0x1c6)][_0x3663d5(0x1cb)](_0x4791ef,JSON['stringify'](_0xc95cbd,null,0x2),_0x3663d5(0x1c7)),this['index'][_0x3663d5(0x1a9)][_0x29b99b]&&(this['index']['attachments'][_0x29b99b][_0x3663d5(0x1b4)]=_0xc95cbd['referencedBy']),this['index']['agentRefs'][_0x45f5bb]&&(this['index'][_0x3663d5(0x1ae)][_0x45f5bb]=this[_0x3663d5(0x1ab)]['agentRefs'][_0x45f5bb]['filter'](_0x47718b=>_0x47718b!==_0x29b99b)),await this[_0x3663d5(0x19d)](),this['logger']?.['info'](_0x3663d5(0x18f),{'fileId':_0x29b99b,'agentId':_0x45f5bb,'remainingRefs':_0xc95cbd[_0x3663d5(0x1b4)]['length']}),![];}const _0x46aa35=a0_0x26464c['join'](ATTACHMENTS_DIR,_0xc95cbd[_0x3663d5(0x1d2)],_0x29b99b);return await this[_0x3663d5(0x1c6)][_0x3663d5(0x1a6)](_0x46aa35),delete this['index'][_0x3663d5(0x1a9)][_0x29b99b],this[_0x3663d5(0x1ab)][_0x3663d5(0x1ae)][_0x45f5bb]&&(this['index']['agentRefs'][_0x45f5bb]=this[_0x3663d5(0x1ab)][_0x3663d5(0x1ae)][_0x45f5bb]['filter'](_0x8a8db0=>_0x8a8db0!==_0x29b99b)),await this[_0x3663d5(0x19d)](),this[_0x3663d5(0x1d1)]?.[_0x3663d5(0x1b0)](_0x3663d5(0x1a0),{'fileId':_0x29b99b,'agentId':_0x45f5bb}),!![];}catch(_0x8ae465){this[_0x3663d5(0x1d1)]?.['error'](_0x3663d5(0x1c1),{'fileId':_0x29b99b,'agentId':_0x45f5bb,'error':_0x8ae465['message']});throw _0x8ae465;}}async[a0_0x370030(0x1a1)](_0x445f1d){const _0x13e3c2=a0_0x370030;try{const _0x4e88c0=this[_0x13e3c2(0x1ab)][_0x13e3c2(0x1ae)][_0x445f1d]||[];let _0x76fa83=0x0,_0x3e4f21=0x0;for(const _0x1acbae of _0x4e88c0){const _0x17fe21=await this[_0x13e3c2(0x1af)](_0x1acbae,_0x445f1d);_0x17fe21?_0x76fa83++:_0x3e4f21++;}return this[_0x13e3c2(0x1d1)]?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x445f1d,'deleted':_0x76fa83,'dereferenced':_0x3e4f21}),{'deleted':_0x76fa83,'dereferenced':_0x3e4f21};}catch(_0x4fda5d){this['logger']?.['error'](_0x13e3c2(0x1cc),{'agentId':_0x445f1d,'error':_0x4fda5d['message']});throw _0x4fda5d;}}async[a0_0x370030(0x192)](_0x45b376,_0x169302){const _0x172866=a0_0x370030;try{const _0x3b2d76=await this['getAttachment'](_0x45b376);if(!_0x3b2d76)throw new Error(_0x172866(0x1d4)+_0x45b376);!_0x3b2d76['referencedBy']['includes'](_0x169302)&&_0x3b2d76['referencedBy'][_0x172866(0x193)](_0x169302);_0x3b2d76['lastModified']=new Date()[_0x172866(0x1ba)](),_0x3b2d76['importedFrom']=_0x3b2d76['agentId'];const _0x5c3feb=a0_0x26464c[_0x172866(0x198)](ATTACHMENTS_DIR,_0x3b2d76[_0x172866(0x1d2)],_0x45b376,_0x172866(0x1b6));return await this['fileProcessor']['writeFile'](_0x5c3feb,JSON['stringify'](_0x3b2d76,null,0x2),_0x172866(0x1c7)),this[_0x172866(0x1ab)]['attachments'][_0x45b376]&&(this['index'][_0x172866(0x1a9)][_0x45b376][_0x172866(0x1b4)]=_0x3b2d76[_0x172866(0x1b4)]),!this[_0x172866(0x1ab)]['agentRefs'][_0x169302]&&(this['index']['agentRefs'][_0x169302]=[]),!this[_0x172866(0x1ab)][_0x172866(0x1ae)][_0x169302][_0x172866(0x1a4)](_0x45b376)&&this['index']['agentRefs'][_0x169302][_0x172866(0x193)](_0x45b376),await this['saveIndex'](),this['logger']?.['info']('Attachment imported',{'sourceFileId':_0x45b376,'targetAgentId':_0x169302}),_0x3b2d76;}catch(_0x3cb1a7){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x45b376,'targetAgentId':_0x169302,'error':_0x3cb1a7[_0x172866(0x1c9)]});throw _0x3cb1a7;}}async['getActiveAttachments'](_0x104041){const _0x31f954=a0_0x370030;return await this[_0x31f954(0x199)](_0x104041,{'active':!![]});}async[a0_0x370030(0x1ac)](_0x56cdf0){const _0x4d82ab=a0_0x370030;try{const _0x1f66bd=await this['getAttachmentContent'](_0x56cdf0);if(!_0x1f66bd)return null;if(_0x1f66bd['startsWith']('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x1f66bd['length']>0x3e8?_0x1f66bd[_0x4d82ab(0x1a5)](0x0,0x3e8)+_0x4d82ab(0x1bb):_0x1f66bd;}catch(_0x28d34e){return this[_0x4d82ab(0x1d1)]?.[_0x4d82ab(0x1aa)](_0x4d82ab(0x1c5),{'fileId':_0x56cdf0,'error':_0x28d34e['message']}),null;}}}function a0_0x14f6(){const _0x23db54=['n3z1t0rVuq','AM9PBG','z2v0qxr0ywnOBwvUDhm','y29UDgvUDa','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','z2v0twLTzvr5Cgu','C2f2zuLUzgv4','zxn0Aw1HDgvuB2TLBNm','nZu3mda4tvzjAvLT','qxr0ywnOBwvUDcbKzwXLDgvK','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','nJeYnZu1nurSBMTmAW','D2fYBG','Aw5JBhvKzxm','C3vIC3rYAw5N','zgvSzxrLrgLYzwn0B3j5','mtm5nZrlqNHMExq','y29UDgvUDc5IyxnLnJq','yxr0ywnOBwvUDhm','zxjYB3i','Aw5KzxG','z2v0qxr0ywnOBwvUDfbYzxzPzxC','mZy2mJy0BhPRD2TR','ywDLBNrszwzZ','zgvSzxrLqxr0ywnOBwvUDa','Aw5MBW','z2v0qxr0ywnOBwvUDa','qxr0ywnOBwvUDcb1CgrHDgvK','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','CMvMzxjLBMnLzej5','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Bwv0ywrHDgeUANnVBG','mtCYodq4mhPUvurkta','rxjYB3iGBg9HzgLUzYbPBMrLEa','DxbSB2fKrMLSzq','Dg9ju09tDhjPBMC','lI4U','DMfSAwrHDg9Y','CgfYC2u','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','DxbKyxrLqxr0ywnOBwvUDa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mZi0wgDyr2z0','CMvMzxjLBMnL','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','zMLSzvbYB2nLC3nVCG','DxrMoa','D2fYBMLUz3m','BwvZC2fNzq','y29UDgvUDc50Ehq','D3jPDgvgAwXL','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','C3rYAw5NAwz5','zxjYB3jZ','otj3tgX1qxm','ywn0AxzL','Bg9Nz2vY','ywDLBNrjza','Bg9HzeLUzgv4','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','Aw5PDgLHBgL6zq','Bw9Kzq','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','zMLSzu5HBwu','Aw1Hz2u','Aw1WB3j0rNjVBufNzw50','ChvZAa','mtm1ntK4neHMsLHUBa','mZG3mtiWyK9VvgTV','CMvHzezPBgu'];a0_0x14f6=function(){return _0x23db54;};return a0_0x14f6();}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x179793=a0_0x5361;function a0_0x5361(_0x46abdd,_0x589956){_0x46abdd=_0x46abdd-0x7d;const _0x46a633=a0_0x46a6();let _0x5361f9=_0x46a633[_0x46abdd];if(a0_0x5361['PwLtXa']===undefined){var _0x1d9c6f=function(_0x570732){const _0x5ae8ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x191f86='',_0x375097='';for(let _0x3f54cd=0x0,_0x4c761d,_0x5f09c5,_0x23335f=0x0;_0x5f09c5=_0x570732['charAt'](_0x23335f++);~_0x5f09c5&&(_0x4c761d=_0x3f54cd%0x4?_0x4c761d*0x40+_0x5f09c5:_0x5f09c5,_0x3f54cd++%0x4)?_0x191f86+=String['fromCharCode'](0xff&_0x4c761d>>(-0x2*_0x3f54cd&0x6)):0x0){_0x5f09c5=_0x5ae8ab['indexOf'](_0x5f09c5);}for(let _0x17694f=0x0,_0x4f1a77=_0x191f86['length'];_0x17694f<_0x4f1a77;_0x17694f++){_0x375097+='%'+('00'+_0x191f86['charCodeAt'](_0x17694f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x375097);};a0_0x5361['IvVeTJ']=_0x1d9c6f,a0_0x5361['XTPkBF']={},a0_0x5361['PwLtXa']=!![];}const _0xc76d88=_0x46a633[0x0],_0x26fe10=_0x46abdd+_0xc76d88,_0x27fb94=a0_0x5361['XTPkBF'][_0x26fe10];return!_0x27fb94?(_0x5361f9=a0_0x5361['IvVeTJ'](_0x5361f9),a0_0x5361['XTPkBF'][_0x26fe10]=_0x5361f9):_0x5361f9=_0x27fb94,_0x5361f9;}(function(_0x4d1f16,_0x439da4){const _0xdd0657=a0_0x5361,_0x21562f=_0x4d1f16();while(!![]){try{const _0x60c3e6=parseInt(_0xdd0657(0x85))/0x1+parseInt(_0xdd0657(0xc3))/0x2*(-parseInt(_0xdd0657(0xc4))/0x3)+parseInt(_0xdd0657(0xb9))/0x4*(-parseInt(_0xdd0657(0x8b))/0x5)+-parseInt(_0xdd0657(0xb0))/0x6+parseInt(_0xdd0657(0xa3))/0x7*(-parseInt(_0xdd0657(0xa4))/0x8)+-parseInt(_0xdd0657(0xb2))/0x9+-parseInt(_0xdd0657(0xa0))/0xa*(-parseInt(_0xdd0657(0x93))/0xb);if(_0x60c3e6===_0x439da4)break;else _0x21562f['push'](_0x21562f['shift']());}catch(_0x4da31c){_0x21562f['push'](_0x21562f['shift']());}}}(a0_0x46a6,0xa2fc2));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x191f86,_0x375097,_0x3f54cd,_0x4c761d){const _0x1f6abf=a0_0x5361;this[_0x1f6abf(0x9b)]=_0x191f86,this['logger']=_0x375097,this['benchmarkService']=_0x3f54cd,this['aiService']=_0x4c761d,this[_0x1f6abf(0x99)]=MODEL_ROUTER_CONFIG[_0x1f6abf(0xaa)],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x1f6abf(0xab)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x1f6abf(0x9e)];}async['routeMessage'](_0x5f09c5,_0x23335f=[],_0x17694f='',_0x4f1a77=[],_0x55cd09={}){const _0x2c3172=a0_0x5361;try{this['logger'][_0x2c3172(0xb4)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x5f09c5['content']?.['length']||0x0,'recentMessagesCount':_0x23335f['length'],'currentModel':_0x17694f,'availableModelsCount':_0x4f1a77[_0x2c3172(0xa6)]});const _0x3ffe0b=this['_buildRoutingContext'](_0x5f09c5,_0x23335f,_0x17694f,_0x4f1a77),_0x17528b=this['benchmarkService'][_0x2c3172(0xa2)](),_0xd35337=this[_0x2c3172(0x80)](_0x3ffe0b,_0x17528b),_0x46dce5=await this[_0x2c3172(0xbe)](_0xd35337,_0x55cd09),_0x1098ce=this[_0x2c3172(0x87)](_0x46dce5,_0x4f1a77,_0x17694f);return this[_0x2c3172(0x7e)][_0x2c3172(0x89)]('Model\x20routing\x20completed',{'selectedModel':_0x1098ce,'previousModel':_0x17694f,'changed':_0x1098ce!==_0x17694f,'reasoning':_0x46dce5['reasoning']?.[_0x2c3172(0xb5)](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x1098ce,'previousModel':_0x17694f,'changed':_0x1098ce!==_0x17694f,'reasoning':_0x46dce5[_0x2c3172(0x82)]||'No\x20reasoning\x20provided'};}catch(_0x424bda){this[_0x2c3172(0x7e)]['error']('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x424bda[_0x2c3172(0x92)],'currentModel':_0x17694f});const _0x162f82=_0x17694f||_0x4f1a77[0x0]||MODELS[_0x2c3172(0xbf)];return{'selectedModel':_0x162f82,'previousModel':_0x17694f,'changed':![],'reasoning':_0x2c3172(0x8f)};}}['_buildRoutingContext'](_0x37e45b,_0xf54e8e,_0x1b7317,_0xda15df){const _0x1da982=a0_0x5361,_0x55ef2f=_0xf54e8e[_0x1da982(0xc7)](-this['contextMessagesCount'])['map'](_0x2d7005=>({'role':_0x2d7005[_0x1da982(0x7d)],'content':_0x2d7005['content']?.[_0x1da982(0xb5)](0x0,0x1f4)||'','timestamp':_0x2d7005['timestamp']}));return{'currentMessage':{'content':_0x37e45b[_0x1da982(0x9c)]?.['substring'](0x0,0x3e8)||'','role':_0x37e45b[_0x1da982(0x7d)]||_0x1da982(0x9f),'hasContextReferences':!!_0x37e45b['contextReferences']?.['length'],'contextTypes':_0x37e45b[_0x1da982(0xb1)]?.[_0x1da982(0xc5)](_0x329e7e=>_0x329e7e[_0x1da982(0x97)])||[]},'recentMessages':_0x55ef2f,'currentModel':_0x1b7317,'availableModels':_0xda15df[_0x1da982(0xc5)](_0x1e635f=>({'name':_0x1e635f,'isCurrentModel':_0x1e635f===_0x1b7317})),'messageCount':_0xf54e8e[_0x1da982(0xa6)]+0x1,'timestamp':new Date()['toISOString']()};}[a0_0x179793(0x80)](_0x53dda1,_0x2f9706){const _0x54cff6=a0_0x179793;return _0x54cff6(0x81)+(_0x53dda1[_0x54cff6(0x98)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x53dda1[_0x54cff6(0xbb)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x53dda1['availableModels']['map'](_0x1332b2=>_0x1332b2['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x53dda1[_0x54cff6(0xb6)])+_0x54cff6(0xc6)+_0x53dda1['currentMessage']['role']+'\x0a**Content**:\x20'+_0x53dda1['currentMessage']['content']+'\x0a**Has\x20Context\x20References**:\x20'+_0x53dda1['currentMessage'][_0x54cff6(0x8c)]+'\x0a'+(_0x53dda1['currentMessage'][_0x54cff6(0x95)][_0x54cff6(0xa6)]>0x0?_0x54cff6(0x94)+_0x53dda1[_0x54cff6(0xae)]['contextTypes']['join'](',\x20'):'')+_0x54cff6(0xbc)+this['_formatBenchmarkData'](_0x2f9706)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}[a0_0x179793(0xba)](_0x3d891c){const _0x5e4e27=a0_0x179793;if(!_0x3d891c[_0x5e4e27(0xa6)])return'No\x20recent\x20messages\x20available.';return _0x3d891c[_0x5e4e27(0xc5)]((_0x443e4f,_0x229149)=>_0x229149+0x1+'.\x20**'+_0x443e4f[_0x5e4e27(0x7d)]+'**:\x20'+_0x443e4f['content'])['join']('\x0a');}[a0_0x179793(0xb3)](_0x744787){const _0x3a1cda=a0_0x179793,_0xeb060f=_0x744787[_0x3a1cda(0x9d)]||[],_0x5ed068=_0x744787['tasks']||{},_0x26371e=_0x744787['summary']||{};let _0x573638=_0x3a1cda(0x88);return Object[_0x3a1cda(0x9a)](_0x5ed068)['forEach'](([_0xbdbd3,_0x2fe3bd])=>{const _0x34b74e=_0x3a1cda;_0x573638+='**'+_0xbdbd3[_0x34b74e(0x86)]()+_0x34b74e(0x84)+_0x2fe3bd['description']+'):\x20'+(_0x2fe3bd['topModels']?.['join'](',\x20')||'No\x20data')+'\x0a';}),_0x573638+=_0x3a1cda(0xa1),_0xeb060f[_0x3a1cda(0xc7)](0x0,0x8)['forEach'](_0x8f478e=>{const _0x55e21a=_0x3a1cda;_0x573638+='**'+_0x8f478e['name']+_0x55e21a(0xb7);const _0x460a6f=Object['entries'](_0x8f478e['tasks']||{})['map'](([_0x4f4a3b,_0x40ffed])=>_0x4f4a3b+'('+_0x40ffed['score']+')')[_0x55e21a(0x90)](',\x20');_0x573638+=_0x460a6f+_0x55e21a(0x96)+(_0x8f478e['strengths']?.['join'](',\x20')||'N/A')+'\x0a';}),_0x573638;}async['_askForRouting'](_0xf2540a,_0xf556fd={}){const _0x226b90=a0_0x179793;try{const _0x2b459a=await this['aiService']['sendMessage'](this[_0x226b90(0x99)],_0xf2540a,{'agentId':'model-router','systemPrompt':_0x226b90(0x8a),'temperature':0.3,'maxTokens':0x1f4,'timeout':this['requestTimeout'],'sessionId':_0xf556fd['sessionId'],'apiKey':_0xf556fd[_0x226b90(0x91)]||this['config'][_0x226b90(0x91)],'customApiKeys':_0xf556fd['customApiKeys'],'platformProvided':!![]});if(!_0x2b459a[_0x226b90(0x9c)])throw new Error('No response content from autopilot-model-router');const _0x594db3=this[_0x226b90(0x83)](_0x2b459a['content']);return _0x594db3;}catch(_0x15a7eb){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x15a7eb['message'],'routerModel':this['routerModel']});throw _0x15a7eb;}}[a0_0x179793(0x83)](_0x4ec56b){const _0x4e8f7d=a0_0x179793;try{const _0x358f79=_0x4ec56b[_0x4e8f7d(0xac)](/\{[\s\S]*\}/);if(!_0x358f79)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x4c436c=JSON['parse'](_0x358f79[0x0]);if(!_0x4c436c['selectedModel'])throw new Error(_0x4e8f7d(0xa7));return{'selectedModel':_0x4c436c[_0x4e8f7d(0xa9)],'taskType':_0x4c436c[_0x4e8f7d(0x8e)]||'unknown','confidence':_0x4c436c[_0x4e8f7d(0xa5)]||0.5,'reasoning':_0x4c436c['reasoning']||'No\x20reasoning\x20provided','factors':_0x4c436c['factors']||[]};}catch(_0x20a50a){return this[_0x4e8f7d(0x7e)][_0x4e8f7d(0x8d)]('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x20a50a[_0x4e8f7d(0x92)],'content':_0x4ec56b[_0x4e8f7d(0xb5)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x4e8f7d(0xad),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':['parsing-error']};}}[a0_0x179793(0x87)](_0x4b2151,_0x5e901c,_0x41a292){const _0x267edb=a0_0x179793,{selectedModel:_0x2d72cc}=_0x4b2151;if(!_0x2d72cc)return this['logger'][_0x267edb(0xb4)](_0x267edb(0xb8)),_0x41a292;if(!_0x5e901c[_0x267edb(0xaf)](_0x2d72cc))return this['logger']['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x2d72cc,'availableModels':_0x5e901c}),_0x41a292;return _0x2d72cc;}[a0_0x179793(0xc2)](){const _0xe70d92=a0_0x179793;return{'routerModel':this[_0xe70d92(0x99)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0xe70d92(0xbd)],'benchmarkServiceStatus':this['benchmarkService'][_0xe70d92(0xc2)](),'isAvailable':!![]};}async['testRouter'](){const _0x38e478=a0_0x179793;try{const _0x40e7cc={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x38e478(0x9f)},_0x296416=await this[_0x38e478(0x7f)](_0x40e7cc,[],MODELS[_0x38e478(0xbf)],[MODELS[_0x38e478(0xbf)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x38e478(0xa8)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x38e478(0x7e)][_0x38e478(0x89)](_0x38e478(0xc1),{'selectedModel':_0x296416}),{'success':!![],'selectedModel':_0x296416};}catch(_0xd8b79d){return this[_0x38e478(0x7e)]['error'](_0x38e478(0xc0),{'error':_0xd8b79d[_0x38e478(0x92)]}),{'success':![],'error':_0xd8b79d[_0x38e478(0x92)]};}}}export default ModelRouterService;function a0_0x46a6(){const _0x1dd398=['y29UDgv4Dfr5CgvZ','ihWGu3rYzw5NDgHZoIa','DhLWzq','y3vYCMvUDe1VzgvS','CM91DgvYtw9KzwW','zw50CMLLCW','y29UzMLN','y29UDgvUDa','Bw9KzwXZ','uKvrvuvtvf9usu1ft1vu','DxnLCG','mZbTwMrhAw0','cImJiYbnB2rLBcbezxrHAwXZcG','z2v0qMvUy2HTyxjRvgfIBgu','odi4otmZEgXzvLHm','oejUALjRuW','y29UzMLKzw5Jzq','BgvUz3rO','twLZC2LUzYbZzwXLy3rLze1VzgvSigLUigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCMvZCg9UC2u','r1buxZq','C2vSzwn0zwrnB2rLBa','uK9vvevsx01prevm','q09ovevyvf9nrvntquDfu19dt1vova','Bwf0y2G','Dw5RBM93BG','y3vYCMvUDe1LC3nHz2u','Aw5JBhvKzxm','ndi5nty4oerpsvHTvW','y29UDgv4DfjLzMvYzw5Jzxm','mZCWotm0muzsBhrTsa','x2zVCM1HDejLBMnOBwfYA0rHDge','zgvIDwC','C3vIC3rYAw5N','CMvJzw50twvZC2fNzxm','kIO6ia','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','nde5otG0oez5EK1lrW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','BwvZC2fNzunVDw50','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','CMvXDwvZDfrPBwvVDxq','x2fZA0zVCLjVDxrPBMC','qu5usfjpueLdx1nptK5fva','uM91DgvYihrLC3qGzMfPBgvK','uM91DgvYihrLC3qGy29TCgXLDgvK','z2v0u3rHDhvZ','ne9iyxjouW','ndGWmJf6yLbAyMq','BwfW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','C2XPy2u','CM9Szq','Bg9Nz2vY','CM91DgvnzxnZywDL','x2nYzwf0zvjVDxrPBMDqCM9TChq','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','CMvHC29UAw5N','x3bHCNnLuM91DgLUz1jLC3bVBNnL','kIOGka','oti5mJyXEM93wgTL','Dg9vChbLCKnHC2u','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','Aw5MBW','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','nvjYwKvLCa','AgfZq29UDgv4DfjLzMvYzw5Jzxm','D2fYBG','DgfZA1r5Cgu','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','AM9PBG','yxbPs2v5','BwvZC2fNzq','nZu3odmYovjpzfD4CW','kIPdB250zxH0ifr5CgvZkIO6ia'];a0_0x46a6=function(){return _0x1dd398;};return a0_0x46a6();}
1
+ const a0_0x4abc7f=a0_0x1786;(function(_0x157e72,_0x269bcb){const _0x4eddf5=a0_0x1786,_0x598916=_0x157e72();while(!![]){try{const _0x38bb42=parseInt(_0x4eddf5(0x214))/0x1+parseInt(_0x4eddf5(0x201))/0x2+-parseInt(_0x4eddf5(0x212))/0x3+-parseInt(_0x4eddf5(0x1f1))/0x4+-parseInt(_0x4eddf5(0x1ff))/0x5*(parseInt(_0x4eddf5(0x229))/0x6)+parseInt(_0x4eddf5(0x238))/0x7*(-parseInt(_0x4eddf5(0x20b))/0x8)+parseInt(_0x4eddf5(0x1f9))/0x9*(parseInt(_0x4eddf5(0x1fc))/0xa);if(_0x38bb42===_0x269bcb)break;else _0x598916['push'](_0x598916['shift']());}catch(_0x179b16){_0x598916['push'](_0x598916['shift']());}}}(a0_0x9cb9,0x2ec7d));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';function a0_0x9cb9(){const _0x3050cb=['x3bHCNnLuM91DgLUz1jLC3bVBNnL','zM9YrwfJAa','kIPdB250zxH0ifr5CgvZkIO6ia','BMfTzq','Aw5MBW','y29UDgvUDa','cI0GkIPnzxnZywDLienVDw50kIO6ia','uM91DgvYihrLC3qGy29TCgXLDgvK','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','mte3mZC4ofLkDu1JCa','DgLTzxn0yw1W','y29UDgv4Dfr5CgvZ','z2v0u3rHDhvZ','C2vUze1LC3nHz2u','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','BwvZC2fNzq','CM9Szq','mJe2ntrVD1zIvhy','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','zxjYB3i','mJC4mhb5wfv0uW','D2fYBG','y29UDgv4De1LC3nHz2vZq291BNq','mJv2AeXSz0S','BgvUz3rO','oti2mdjmserUEeS','x2fZA0zVCLjVDxrPBMC','y29UDgv4DfjLzMvYzw5Jzxm','zgvIDwC','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','BwvZC2fNzunVDw50','DxnLCG','yxbPs2v5','C3vTBwfYEq','yxzHAwXHyMXLtw9KzwXZ','mZGWmdi0Eef5t1jI','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','C2vZC2LVBKLK','mJe5nZm1Avrvv2TQ','y3vYCMvUDe1LC3nHz2u','mZCYmdGZwxzxCfjA','ywLtzxj2AwnL','zgvZy3jPChrPB24','tM9Uzq','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','Bw9KzwXZ','qu5usfjpueLdx1nptK5fva','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','Dg9Wtw9KzwXZ','x2zVCM1HDejLBMnOBwfYA0rHDge','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','x2nYzwf0zvjVDxrPBMDqCM9TChq','ihWGu3rYzw5NDgHZoIa','C3vIC3rYAw5N','Bg9Nz2vY','Dw5RBM93BG','DgvZDfjVDxrLCG','tM8GCMvHC29UAw5NihbYB3zPzgvK','C2XPy2u','nda2nZiYAvPnq1nr','BwfW','zMfJDg9YCW','DgfZA3m','CM91DgvYtw9KzwW','C3rYzw5NDgHZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','kIOGka','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','C2vSzwn0zwrnB2rLBa','CMvXDwvZDfrPBwvVDxq','yMvUy2HTyxjRu2vYDMLJzq','AM9PBG','tI9b','y29UzMLKzw5Jzq','mJHpswf6rKi'];a0_0x9cb9=function(){return _0x3050cb;};return a0_0x9cb9();}function a0_0x1786(_0x594ee0,_0x1d61b4){_0x594ee0=_0x594ee0-0x1eb;const _0x9cb98c=a0_0x9cb9();let _0x1786d5=_0x9cb98c[_0x594ee0];if(a0_0x1786['AHihTu']===undefined){var _0x441949=function(_0x234aa0){const _0x5db635='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x158ecf='',_0x6ddf62='';for(let _0x4737d9=0x0,_0x118bd0,_0x19da34,_0x1c5e63=0x0;_0x19da34=_0x234aa0['charAt'](_0x1c5e63++);~_0x19da34&&(_0x118bd0=_0x4737d9%0x4?_0x118bd0*0x40+_0x19da34:_0x19da34,_0x4737d9++%0x4)?_0x158ecf+=String['fromCharCode'](0xff&_0x118bd0>>(-0x2*_0x4737d9&0x6)):0x0){_0x19da34=_0x5db635['indexOf'](_0x19da34);}for(let _0x3676f0=0x0,_0x6692da=_0x158ecf['length'];_0x3676f0<_0x6692da;_0x3676f0++){_0x6ddf62+='%'+('00'+_0x158ecf['charCodeAt'](_0x3676f0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6ddf62);};a0_0x1786['kztvbG']=_0x441949,a0_0x1786['UGfEfN']={},a0_0x1786['AHihTu']=!![];}const _0x37e128=_0x9cb98c[0x0],_0x7290cd=_0x594ee0+_0x37e128,_0x31e7ef=a0_0x1786['UGfEfN'][_0x7290cd];return!_0x31e7ef?(_0x1786d5=a0_0x1786['kztvbG'](_0x1786d5),a0_0x1786['UGfEfN'][_0x7290cd]=_0x1786d5):_0x1786d5=_0x31e7ef,_0x1786d5;}class ModelRouterService{constructor(_0x158ecf,_0x6ddf62,_0x4737d9,_0x118bd0){const _0x35b056=a0_0x1786;this['config']=_0x158ecf,this['logger']=_0x6ddf62,this[_0x35b056(0x234)]=_0x4737d9,this['aiService']=_0x118bd0,this[_0x35b056(0x22d)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x35b056(0x1fe)]=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this['requestTimeout']=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x19da34,_0x1c5e63=[],_0x3676f0='',_0x6692da=[],_0x2c7f5d={}){const _0xeef4bc=a0_0x1786;try{this['logger'][_0xeef4bc(0x204)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x19da34[_0xeef4bc(0x1ec)]?.[_0xeef4bc(0x200)]||0x0,'recentMessagesCount':_0x1c5e63['length'],'currentModel':_0x3676f0,'availableModelsCount':_0x6692da['length']});const _0x407cf6=this['_buildRoutingContext'](_0x19da34,_0x1c5e63,_0x3676f0,_0x6692da),_0x44c1e4=this['benchmarkService']['getBenchmarkTable'](),_0x5999c8=this[_0xeef4bc(0x221)](_0x407cf6,_0x44c1e4),_0x23c49b=await this[_0xeef4bc(0x202)](_0x5999c8,_0x2c7f5d),_0x2f4aa0=this[_0xeef4bc(0x20e)](_0x23c49b,_0x6692da,_0x3676f0);return this['logger']['info'](_0xeef4bc(0x210),{'selectedModel':_0x2f4aa0,'previousModel':_0x3676f0,'changed':_0x2f4aa0!==_0x3676f0,'reasoning':_0x23c49b['reasoning']?.['substring'](0x0,0x64)||_0xeef4bc(0x227)}),{'selectedModel':_0x2f4aa0,'previousModel':_0x3676f0,'changed':_0x2f4aa0!==_0x3676f0,'reasoning':_0x23c49b['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x338088){this[_0xeef4bc(0x224)]['error']('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x338088[_0xeef4bc(0x1f7)],'currentModel':_0x3676f0});const _0x5b7f3f=_0x3676f0||_0x6692da[0x0]||MODELS[_0xeef4bc(0x21a)];return{'selectedModel':_0x5b7f3f,'previousModel':_0x3676f0,'changed':![],'reasoning':_0xeef4bc(0x1f6)};}}['_buildRoutingContext'](_0x3b14d3,_0x1658df,_0x12116d,_0x5e54cb){const _0x5a175f=a0_0x1786,_0x38fd8d=_0x1658df[_0x5a175f(0x228)](-this['contextMessagesCount'])['map'](_0x1c14c2=>({'role':_0x1c14c2['role'],'content':_0x1c14c2['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x1c14c2[_0x5a175f(0x1f2)]}));return{'currentMessage':{'content':_0x3b14d3['content']?.['substring'](0x0,0x3e8)||'','role':_0x3b14d3[_0x5a175f(0x1f8)]||_0x5a175f(0x207),'hasContextReferences':!!_0x3b14d3[_0x5a175f(0x203)]?.[_0x5a175f(0x200)],'contextTypes':_0x3b14d3[_0x5a175f(0x203)]?.[_0x5a175f(0x22a)](_0x13b3b7=>_0x13b3b7['type'])||[]},'recentMessages':_0x38fd8d,'currentModel':_0x12116d,'availableModels':_0x5e54cb[_0x5a175f(0x22a)](_0x35490c=>({'name':_0x35490c,'isCurrentModel':_0x35490c===_0x12116d})),'messageCount':_0x1658df['length']+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x223671,_0x6a1394){const _0x2b97c8=a0_0x1786;return _0x2b97c8(0x21e)+(_0x223671['currentModel']||_0x2b97c8(0x217))+_0x2b97c8(0x1ed)+_0x223671[_0x2b97c8(0x206)]+_0x2b97c8(0x1f0)+_0x223671[_0x2b97c8(0x20a)]['map'](_0x10f681=>_0x10f681['name'])['join'](',\x20')+_0x2b97c8(0x1fa)+this[_0x2b97c8(0x21b)](_0x223671['recentMessages'])+_0x2b97c8(0x205)+_0x223671['currentMessage']['role']+'\x0a**Content**:\x20'+_0x223671[_0x2b97c8(0x213)]['content']+_0x2b97c8(0x20c)+_0x223671[_0x2b97c8(0x213)]['hasContextReferences']+'\x0a'+(_0x223671[_0x2b97c8(0x213)]['contextTypes'][_0x2b97c8(0x200)]>0x0?_0x2b97c8(0x23b)+_0x223671[_0x2b97c8(0x213)][_0x2b97c8(0x1f3)]['join'](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this['_formatBenchmarkData'](_0x6a1394)+'\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}';}['_formatRecentMessages'](_0x3041e1){const _0x41d6e9=a0_0x1786;if(!_0x3041e1[_0x41d6e9(0x200)])return _0x41d6e9(0x1ef);return _0x3041e1['map']((_0x53a11e,_0x2f2e75)=>_0x2f2e75+0x1+'.\x20**'+_0x53a11e[_0x41d6e9(0x1f8)]+'**:\x20'+_0x53a11e['content'])[_0x41d6e9(0x235)]('\x0a');}[a0_0x4abc7f(0x21d)](_0x950c84){const _0x15b70a=a0_0x4abc7f,_0x302231=_0x950c84[_0x15b70a(0x219)]||[],_0x56d927=_0x950c84[_0x15b70a(0x22c)]||{},_0xe06001=_0x950c84[_0x15b70a(0x209)]||{};let _0x313959=_0x15b70a(0x20f);return Object['entries'](_0x56d927)[_0x15b70a(0x23a)](([_0x20bfa9,_0x214da9])=>{const _0x2107cb=_0x15b70a;_0x313959+='**'+_0x20bfa9['toUpperCase']()+_0x2107cb(0x230)+_0x214da9[_0x2107cb(0x216)]+'):\x20'+(_0x214da9[_0x2107cb(0x21c)]?.[_0x2107cb(0x235)](',\x20')||'No\x20data')+'\x0a';}),_0x313959+='\x0a###\x20Model\x20Details\x0a',_0x302231['slice'](0x0,0x8)[_0x15b70a(0x23a)](_0x6b61b5=>{const _0x1bf0ab=_0x15b70a;_0x313959+='**'+_0x6b61b5[_0x1bf0ab(0x23c)]+'**:\x20';const _0x5ac17e=Object['entries'](_0x6b61b5[_0x1bf0ab(0x22c)]||{})[_0x1bf0ab(0x22a)](([_0x3bdf44,_0x2dda3a])=>_0x3bdf44+'('+_0x2dda3a['score']+')')['join'](',\x20');_0x313959+=_0x5ac17e+_0x1bf0ab(0x222)+(_0x6b61b5[_0x1bf0ab(0x22e)]?.['join'](',\x20')||_0x1bf0ab(0x236))+'\x0a';}),_0x313959;}async['_askForRouting'](_0x243241,_0x9b347e={}){const _0x593e4b=a0_0x4abc7f;try{const _0x201e09=await this[_0x593e4b(0x215)][_0x593e4b(0x1f5)](this[_0x593e4b(0x22d)],_0x243241,{'agentId':'model-router','systemPrompt':_0x593e4b(0x231),'temperature':0.3,'maxTokens':0x1f4,'timeout':this['requestTimeout'],'sessionId':_0x9b347e[_0x593e4b(0x211)],'apiKey':_0x9b347e[_0x593e4b(0x208)]||this['config'][_0x593e4b(0x208)],'customApiKeys':_0x9b347e['customApiKeys'],'platformProvided':!![]});if(!_0x201e09[_0x593e4b(0x1ec)])throw new Error('No response content from autopilot-model-router');const _0x4ba25c=this[_0x593e4b(0x239)](_0x201e09[_0x593e4b(0x1ec)]);return _0x4ba25c;}catch(_0x1ccb35){this['logger'][_0x593e4b(0x1fb)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x1ccb35['message'],'routerModel':this['routerModel']});throw _0x1ccb35;}}[a0_0x4abc7f(0x239)](_0x1f50ff){const _0x414c4a=a0_0x4abc7f;try{const _0x932e9c=_0x1f50ff['match'](/\{[\s\S]*\}/);if(!_0x932e9c)throw new Error(_0x414c4a(0x220));const _0x5679fd=JSON['parse'](_0x932e9c[0x0]);if(!_0x5679fd[_0x414c4a(0x232)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x5679fd['selectedModel'],'taskType':_0x5679fd['taskType']||'unknown','confidence':_0x5679fd[_0x414c4a(0x237)]||0.5,'reasoning':_0x5679fd['reasoning']||_0x414c4a(0x227),'factors':_0x5679fd[_0x414c4a(0x22b)]||[]};}catch(_0x5c0bbb){return this[_0x414c4a(0x224)][_0x414c4a(0x1fd)](_0x414c4a(0x20d),{'error':_0x5c0bbb[_0x414c4a(0x1f7)],'content':_0x1f50ff[_0x414c4a(0x223)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x414c4a(0x225),'confidence':0x0,'reasoning':_0x414c4a(0x218),'factors':['parsing-error']};}}['_validateModelSelection'](_0x2cf609,_0xedb2d,_0x18f8f0){const _0x2860dd=a0_0x4abc7f,{selectedModel:_0x3b14ce}=_0x2cf609;if(!_0x3b14ce)return this[_0x2860dd(0x224)]['debug'](_0x2860dd(0x22f)),_0x18f8f0;if(!_0xedb2d['includes'](_0x3b14ce))return this['logger'][_0x2860dd(0x1fd)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x3b14ce,'availableModels':_0xedb2d}),_0x18f8f0;return _0x3b14ce;}[a0_0x4abc7f(0x1f4)](){const _0x562122=a0_0x4abc7f;return{'routerModel':this[_0x562122(0x22d)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0x562122(0x233)],'benchmarkServiceStatus':this['benchmarkService'][_0x562122(0x1f4)](),'isAvailable':!![]};}async[a0_0x4abc7f(0x226)](){const _0x4f1208=a0_0x4abc7f;try{const _0x451f82={'content':_0x4f1208(0x21f),'role':'user'},_0xaa549b=await this['routeMessage'](_0x451f82,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS['ANTHROPIC_OPUS'],MODELS['GPT_4'],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this['logger'][_0x4f1208(0x1eb)](_0x4f1208(0x1ee),{'selectedModel':_0xaa549b}),{'success':!![],'selectedModel':_0xaa549b};}catch(_0x1d8889){return this['logger']['error']('Router\x20test\x20failed',{'error':_0x1d8889['message']}),{'success':![],'error':_0x1d8889['message']};}}}export default ModelRouterService;
@@ -1 +1 @@
1
- const a0_0x1b4083=a0_0x362a;function a0_0x362a(_0x5080e4,_0x2fb49c){_0x5080e4=_0x5080e4-0x135;const _0x1b1dea=a0_0x1b1d();let _0x362a62=_0x1b1dea[_0x5080e4];if(a0_0x362a['DKfGSz']===undefined){var _0x996733=function(_0x16a03e){const _0x305e91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20803d='',_0x5255e5='';for(let _0x1791fa=0x0,_0x269eca,_0x202b2b,_0x53f9ca=0x0;_0x202b2b=_0x16a03e['charAt'](_0x53f9ca++);~_0x202b2b&&(_0x269eca=_0x1791fa%0x4?_0x269eca*0x40+_0x202b2b:_0x202b2b,_0x1791fa++%0x4)?_0x20803d+=String['fromCharCode'](0xff&_0x269eca>>(-0x2*_0x1791fa&0x6)):0x0){_0x202b2b=_0x305e91['indexOf'](_0x202b2b);}for(let _0x45a7a1=0x0,_0x4ae821=_0x20803d['length'];_0x45a7a1<_0x4ae821;_0x45a7a1++){_0x5255e5+='%'+('00'+_0x20803d['charCodeAt'](_0x45a7a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5255e5);};a0_0x362a['FgAxEh']=_0x996733,a0_0x362a['lqxblF']={},a0_0x362a['DKfGSz']=!![];}const _0x42de33=_0x1b1dea[0x0],_0x5f11da=_0x5080e4+_0x42de33,_0x291490=a0_0x362a['lqxblF'][_0x5f11da];return!_0x291490?(_0x362a62=a0_0x362a['FgAxEh'](_0x362a62),a0_0x362a['lqxblF'][_0x5f11da]=_0x362a62):_0x362a62=_0x291490,_0x362a62;}function a0_0x1b1d(){const _0x4202a0=['mLPiBMLvtG','mta0nZmZnNjksK5pqq','C2v0qxbPs2v5twfUywDLCG','BgfZDevYCM9Y','yxbPs2v5','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','D2fYBG','oxjzyKTcqq','y29UzMLN','BgvUz3rO','sfruuca','te9ysufFqvbjx0Tfwq','Aw5MBW','mtuWntqXmNrlzKXLCW','l2fWAs9SBg0VBw9KzwXZ','zgvIDwC','Cg93','yxbPs2v5twfUywDLCG','ANnVBG','ntKYrM9Zwvvh','BgfZDezLDgnOzwq','Bwf4uMv0CMLLCW','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','BwfW','z2v0tw9KzwXZ','BMfTzq','Bw9KzwXZ','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','nLzhwhLzwG','ndaYmtbOyK56vvK','yxbWBgLJyxrPB24VANnVBG','y2fJAgvfEhbPCNK','zxjYB3i','Bg9Nz2vY','odyYnZziEKTqsMy','CMv0CNLezwXHEq','nJK0nw96wfnbua','Bg94AwfbCgLlzxK','AxnbCNjHEq','zMv0y2HnB2rLBhm','mJK0mtmYm2HQvKjKCa','CMv0CNLbDhrLBxb0CW','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','Aw5PDgLHBgL6zq','CMv0CNLuAw1LCG','nta1ntG1qKLkD1Dh','zw52','AxnmB2fKAw5N','CMvMCMvZAa','BMvLzhnszwzYzxnO','x3nJAgvKDwXLuMv0CNK','mZe5sKv0DNnJ','yMfJA2vUzfvYBa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u'];a0_0x1b1d=function(){return _0x4202a0;};return a0_0x1b1d();}(function(_0x4c22f1,_0x1804f0){const _0x42094d=a0_0x362a,_0x3fe7bd=_0x4c22f1();while(!![]){try{const _0xf94137=parseInt(_0x42094d(0x148))/0x1*(-parseInt(_0x42094d(0x15c))/0x2)+parseInt(_0x42094d(0x14a))/0x3*(parseInt(_0x42094d(0x138))/0x4)+-parseInt(_0x42094d(0x153))/0x5*(-parseInt(_0x42094d(0x142))/0x6)+-parseInt(_0x42094d(0x14e))/0x7+parseInt(_0x42094d(0x15d))/0x8*(parseInt(_0x42094d(0x164))/0x9)+parseInt(_0x42094d(0x143))/0xa*(parseInt(_0x42094d(0x159))/0xb)+parseInt(_0x42094d(0x16a))/0xc;if(_0xf94137===_0x1804f0)break;else _0x3fe7bd['push'](_0x3fe7bd['shift']());}catch(_0x28b280){_0x3fe7bd['push'](_0x3fe7bd['shift']());}}}(a0_0x1b1d,0x4bbe9));class ModelsService{constructor(_0x20803d,_0x5255e5){const _0x361f56=a0_0x362a;this['config']=_0x20803d,this[_0x361f56(0x147)]=_0x5255e5,this[_0x361f56(0x140)]=null,this['lastFetched']=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this['backendUrl']=_0x20803d['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this['maxRetries']=0x3,this[_0x361f56(0x149)]=0x7d0,this['retryTimer']=null,this['lastError']=null,this['apiKeyManager']=null;}[a0_0x1b4083(0x15e)](_0x1791fa){const _0x11f933=a0_0x1b4083;this[_0x11f933(0x136)]=_0x1791fa,this['logger']?.['info'](_0x11f933(0x15b),{'hasManager':!!_0x1791fa});}async[a0_0x1b4083(0x151)](){const _0x1719cd=a0_0x1b4083;try{await this['fetchModels'](),this['logger']['info']('Models\x20service\x20initialized',{'modelCount':this[_0x1719cd(0x140)]?.['length']||0x0});}catch(_0x269eca){this['lastError']=_0x269eca['message'],this[_0x1719cd(0x147)][_0x1719cd(0x146)](_0x1719cd(0x150),{'error':_0x269eca['message'],'endpoint':this['backendUrl']+_0x1719cd(0x16b),'willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x1b4083(0x13b)](){const _0x3da0bf=a0_0x1b4083;if(!this[_0x3da0bf(0x140)]||this[_0x3da0bf(0x140)][_0x3da0bf(0x166)]===0x0)return this[_0x3da0bf(0x147)]['error']('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this[_0x3da0bf(0x14f)],'maxRetries':this[_0x3da0bf(0x13a)]}),[];return this['models'][_0x3da0bf(0x13d)](_0x202b2b=>_0x202b2b[_0x3da0bf(0x13f)]);}[a0_0x1b4083(0x13e)](){const _0x1150ed=a0_0x1b4083;if(!this['models']||this[_0x1150ed(0x140)][_0x1150ed(0x166)]===0x0)return this[_0x1150ed(0x147)]['error'](_0x1150ed(0x162),{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this['models'];}async['fetchModels'](_0x53f9ca=null){const _0x412510=a0_0x1b4083;if(this[_0x412510(0x155)]){this['logger'][_0x412510(0x16c)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x45a7a1=this[_0x412510(0x15a)]+_0x412510(0x16b);let _0x4ae821=null;if(this['apiKeyManager']&&_0x53f9ca&&_0x53f9ca['sessionId']){const _0x24af1=this[_0x412510(0x136)]['getKeysForRequest'](_0x53f9ca['sessionId'],{'platformProvided':!![],'vendor':null});_0x4ae821=_0x24af1[_0x412510(0x14b)],this[_0x412510(0x147)]?.[_0x412510(0x169)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x53f9ca['sessionId'],'hasLoxiaKey':!!_0x4ae821});}if(!_0x4ae821&&_0x53f9ca&&_0x53f9ca[_0x412510(0x160)])_0x4ae821=_0x53f9ca[_0x412510(0x160)];else{if(!_0x4ae821&&this['config'][_0x412510(0x160)])_0x4ae821=this[_0x412510(0x165)]['apiKey'];else!_0x4ae821&&process[_0x412510(0x154)]['LOXIA_API_KEY']&&(_0x4ae821=process['env']['LOXIA_API_KEY']);}const _0x32793a={'method':'GET','headers':{'Content-Type':_0x412510(0x144),..._0x4ae821&&{'Authorization':'Bearer\x20'+_0x4ae821}},'timeout':0x2710};this['logger'][_0x412510(0x16c)]('Fetching models from backend',{'url':_0x45a7a1,'hasApiKey':!!_0x4ae821,'apiKeySource':_0x53f9ca?.[_0x412510(0x160)]?'context':this[_0x412510(0x165)][_0x412510(0x160)]?'config':process[_0x412510(0x154)][_0x412510(0x168)]?'env':'none'});const _0x416c73=await fetch(_0x45a7a1,_0x32793a);if(!_0x416c73['ok'])throw new Error(_0x412510(0x167)+_0x416c73['status']+':\x20'+_0x416c73['statusText']);const _0x2e71af=await _0x416c73[_0x412510(0x137)]();if(_0x2e71af['models']&&Array[_0x412510(0x14c)](_0x2e71af[_0x412510(0x140)]))this['models']=_0x2e71af['models'],this['lastFetched']=new Date(),this[_0x412510(0x157)]=![],this[_0x412510(0x147)]['info']('Models fetched from backend',{'modelCount':this['models'][_0x412510(0x166)],'models':this['models']['map'](_0x28d229=>_0x28d229[_0x412510(0x13f)])});else throw new Error('Invalid response format from models API');}catch(_0x20e7a6){this[_0x412510(0x15f)]=_0x20e7a6['message'],this[_0x412510(0x147)][_0x412510(0x146)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x20e7a6['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),this[_0x412510(0x158)](_0x53f9ca);if(!this[_0x412510(0x140)])throw _0x20e7a6;}finally{this['isLoading']=![];}}[a0_0x1b4083(0x157)](){const _0x4eea56=a0_0x1b4083;if(!this[_0x4eea56(0x139)])return!![];const _0x542c19=Date['now']()-this[_0x4eea56(0x139)]['getTime']();return _0x542c19>this[_0x4eea56(0x145)];}async[a0_0x1b4083(0x156)](_0x55d002=null){const _0xf9d3b0=a0_0x1b4083;this['logger'][_0xf9d3b0(0x169)](_0xf9d3b0(0x161)),await this['fetchModels'](_0x55d002);}async['refreshWithContext'](_0x492b07){const _0x589c0c=a0_0x1b4083;(this['needsRefresh']||!this[_0x589c0c(0x139)])&&(this['logger']['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x589c0c(0x14d)](_0x492b07));}['_scheduleRetry'](_0x5a2eec=null){const _0xe745bc=a0_0x1b4083;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this[_0xe745bc(0x13a)]){this[_0xe745bc(0x147)][_0xe745bc(0x146)](_0xe745bc(0x13c),{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x323e2e=this['retryDelay']*Math[_0xe745bc(0x135)](0x2,this[_0xe745bc(0x14f)]);this['retryAttempts']++,this[_0xe745bc(0x147)][_0xe745bc(0x169)]('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0xe745bc(0x13a)],'delayMs':_0x323e2e}),this[_0xe745bc(0x152)]=setTimeout(async()=>{const _0x1b16c9=_0xe745bc;this[_0x1b16c9(0x147)]['info'](_0x1b16c9(0x141),{'attempt':this[_0x1b16c9(0x14f)]});try{await this[_0x1b16c9(0x14d)](_0x5a2eec),this[_0x1b16c9(0x14f)]=0x0,this['lastError']=null;}catch(_0x4c04ba){this['logger'][_0x1b16c9(0x163)]('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x4c04ba['message']});}},_0x323e2e);}['_cancelRetry'](){const _0x211272=a0_0x1b4083;this['retryTimer']&&(clearTimeout(this[_0x211272(0x152)]),this[_0x211272(0x152)]=null,this['logger'][_0x211272(0x16c)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}['getStatus'](){const _0x115788=a0_0x1b4083;return{'initialized':!!this[_0x115788(0x140)],'lastFetched':this[_0x115788(0x139)]?.['toISOString']()||null,'modelCount':this[_0x115788(0x140)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this['lastError']||null,'retryAttempts':this[_0x115788(0x14f)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;
1
+ const a0_0x494fcd=a0_0x4105;(function(_0x966dda,_0x528973){const _0x1893e2=a0_0x4105,_0x248c43=_0x966dda();while(!![]){try{const _0xc9c86a=-parseInt(_0x1893e2(0x145))/0x1*(parseInt(_0x1893e2(0x11a))/0x2)+-parseInt(_0x1893e2(0x11c))/0x3*(parseInt(_0x1893e2(0x11d))/0x4)+-parseInt(_0x1893e2(0x12e))/0x5*(parseInt(_0x1893e2(0x110))/0x6)+-parseInt(_0x1893e2(0x138))/0x7+-parseInt(_0x1893e2(0x115))/0x8*(parseInt(_0x1893e2(0x124))/0x9)+-parseInt(_0x1893e2(0x13d))/0xa*(-parseInt(_0x1893e2(0x10c))/0xb)+parseInt(_0x1893e2(0x10e))/0xc*(parseInt(_0x1893e2(0x13e))/0xd);if(_0xc9c86a===_0x528973)break;else _0x248c43['push'](_0x248c43['shift']());}catch(_0x3a1f38){_0x248c43['push'](_0x248c43['shift']());}}}(a0_0x30e8,0x36ca9));function a0_0x4105(_0x236eb7,_0x4656ce){_0x236eb7=_0x236eb7-0x10b;const _0x30e83a=a0_0x30e8();let _0x41054f=_0x30e83a[_0x236eb7];if(a0_0x4105['dkdeTD']===undefined){var _0x518aa4=function(_0x5ce02b){const _0x19bc80='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x486639='',_0x7294ae='';for(let _0x5de974=0x0,_0x183a92,_0x1a136b,_0x140319=0x0;_0x1a136b=_0x5ce02b['charAt'](_0x140319++);~_0x1a136b&&(_0x183a92=_0x5de974%0x4?_0x183a92*0x40+_0x1a136b:_0x1a136b,_0x5de974++%0x4)?_0x486639+=String['fromCharCode'](0xff&_0x183a92>>(-0x2*_0x5de974&0x6)):0x0){_0x1a136b=_0x19bc80['indexOf'](_0x1a136b);}for(let _0xf427ef=0x0,_0x342b84=_0x486639['length'];_0xf427ef<_0x342b84;_0xf427ef++){_0x7294ae+='%'+('00'+_0x486639['charCodeAt'](_0xf427ef)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7294ae);};a0_0x4105['lDOSTc']=_0x518aa4,a0_0x4105['xlLnTI']={},a0_0x4105['dkdeTD']=!![];}const _0xd21dc5=_0x30e83a[0x0],_0x472f1f=_0x236eb7+_0xd21dc5,_0x389405=a0_0x4105['xlLnTI'][_0x472f1f];return!_0x389405?(_0x41054f=a0_0x4105['lDOSTc'](_0x41054f),a0_0x4105['xlLnTI'][_0x472f1f]=_0x41054f):_0x41054f=_0x389405,_0x41054f;}class ModelsService{constructor(_0x486639,_0x7294ae){const _0x510905=a0_0x4105;this[_0x510905(0x12a)]=_0x486639,this['logger']=_0x7294ae,this[_0x510905(0x12c)]=null,this[_0x510905(0x126)]=null,this['isLoading']=![],this[_0x510905(0x129)]=0x5*0x3c*0x3e8,this[_0x510905(0x10d)]=_0x486639[_0x510905(0x10d)]||_0x510905(0x117),this['retryAttempts']=0x0,this[_0x510905(0x127)]=0x3,this[_0x510905(0x135)]=0x7d0,this[_0x510905(0x11b)]=null,this[_0x510905(0x13f)]=null,this['apiKeyManager']=null;}['setApiKeyManager'](_0x5de974){const _0x50127e=a0_0x4105;this[_0x50127e(0x10b)]=_0x5de974,this['logger']?.[_0x50127e(0x122)](_0x50127e(0x141),{'hasManager':!!_0x5de974});}async['initialize'](){const _0x51564c=a0_0x4105;try{await this[_0x51564c(0x136)](),this[_0x51564c(0x137)][_0x51564c(0x122)]('Models\x20service\x20initialized',{'modelCount':this[_0x51564c(0x12c)]?.[_0x51564c(0x133)]||0x0});}catch(_0x183a92){this[_0x51564c(0x13f)]=_0x183a92['message'],this['logger'][_0x51564c(0x116)](_0x51564c(0x13a),{'error':_0x183a92['message'],'endpoint':this[_0x51564c(0x10d)]+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x494fcd(0x113)](){const _0x3ac4df=a0_0x494fcd;if(!this['models']||this['models'][_0x3ac4df(0x133)]===0x0)return this['logger'][_0x3ac4df(0x116)](_0x3ac4df(0x143),{'lastError':this['lastError'],'endpoint':this[_0x3ac4df(0x10d)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x3ac4df(0x127)]}),[];return this[_0x3ac4df(0x12c)][_0x3ac4df(0x125)](_0x1a136b=>_0x1a136b[_0x3ac4df(0x140)]);}[a0_0x494fcd(0x114)](){const _0x339fb3=a0_0x494fcd;if(!this[_0x339fb3(0x12c)]||this['models'][_0x339fb3(0x133)]===0x0)return this[_0x339fb3(0x137)][_0x339fb3(0x116)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x339fb3(0x13f)],'endpoint':this[_0x339fb3(0x10d)]+_0x339fb3(0x128)}),[];return this[_0x339fb3(0x12c)];}async[a0_0x494fcd(0x136)](_0x140319=null){const _0x21413e=a0_0x494fcd;if(this[_0x21413e(0x118)]){this['logger'][_0x21413e(0x146)](_0x21413e(0x142));return;}this['isLoading']=!![];try{const _0xf427ef=this[_0x21413e(0x10d)]+_0x21413e(0x128);let _0x342b84=null;if(this['apiKeyManager']&&_0x140319&&_0x140319['sessionId']){const _0x38f0b1=this[_0x21413e(0x10b)]['getKeysForRequest'](_0x140319[_0x21413e(0x134)],{'platformProvided':!![],'vendor':null});_0x342b84=_0x38f0b1[_0x21413e(0x144)],this[_0x21413e(0x137)]?.[_0x21413e(0x122)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x140319['sessionId'],'hasLoxiaKey':!!_0x342b84});}if(!_0x342b84&&_0x140319&&_0x140319['apiKey'])_0x342b84=_0x140319['apiKey'];else{if(!_0x342b84&&this['config'][_0x21413e(0x12f)])_0x342b84=this['config']['apiKey'];else!_0x342b84&&process['env']['LOXIA_API_KEY']&&(_0x342b84=process[_0x21413e(0x139)]['LOXIA_API_KEY']);}const _0x5b6e5e={'method':_0x21413e(0x10f),'headers':{'Content-Type':_0x21413e(0x131),..._0x342b84&&{'Authorization':_0x21413e(0x13c)+_0x342b84}},'timeout':0x2710};this['logger'][_0x21413e(0x146)]('Fetching models from backend',{'url':_0xf427ef,'hasApiKey':!!_0x342b84,'apiKeySource':_0x140319?.['apiKey']?_0x21413e(0x123):this[_0x21413e(0x12a)]['apiKey']?_0x21413e(0x12a):process['env']['LOXIA_API_KEY']?_0x21413e(0x139):'none'});const _0x41f419=await fetch(_0xf427ef,_0x5b6e5e);if(!_0x41f419['ok'])throw new Error(_0x21413e(0x121)+_0x41f419['status']+':\x20'+_0x41f419[_0x21413e(0x120)]);const _0xecfe49=await _0x41f419['json']();if(_0xecfe49[_0x21413e(0x12c)]&&Array['isArray'](_0xecfe49['models']))this[_0x21413e(0x12c)]=_0xecfe49[_0x21413e(0x12c)],this[_0x21413e(0x126)]=new Date(),this[_0x21413e(0x132)]=![],this['logger'][_0x21413e(0x122)]('Models fetched from backend',{'modelCount':this[_0x21413e(0x12c)]['length'],'models':this[_0x21413e(0x12c)]['map'](_0x523a11=>_0x523a11[_0x21413e(0x140)])});else throw new Error('Invalid response format from models API');}catch(_0x3d8e63){this[_0x21413e(0x13f)]=_0x3d8e63[_0x21413e(0x130)],this['logger'][_0x21413e(0x116)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x3d8e63[_0x21413e(0x130)],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this[_0x21413e(0x127)]}),this[_0x21413e(0x12d)](_0x140319);if(!this[_0x21413e(0x12c)])throw _0x3d8e63;}finally{this['isLoading']=![];}}[a0_0x494fcd(0x132)](){const _0x59b93e=a0_0x494fcd;if(!this[_0x59b93e(0x126)])return!![];const _0x417267=Date['now']()-this['lastFetched'][_0x59b93e(0x119)]();return _0x417267>this[_0x59b93e(0x129)];}async['refresh'](_0x3b75df=null){const _0x352ab3=a0_0x494fcd;this[_0x352ab3(0x137)]['info'](_0x352ab3(0x11e)),await this[_0x352ab3(0x136)](_0x3b75df);}async['refreshWithContext'](_0x521389){const _0x475537=a0_0x494fcd;(this[_0x475537(0x132)]||!this['lastFetched'])&&(this['logger']['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x475537(0x136)](_0x521389));}[a0_0x494fcd(0x12d)](_0x38c6d9=null){const _0x3c6ae2=a0_0x494fcd;this[_0x3c6ae2(0x11b)]&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this['maxRetries']){this[_0x3c6ae2(0x137)]['error']('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this['retryAttempts'],'maxRetries':this[_0x3c6ae2(0x127)],'lastError':this['lastError']});return;}const _0x4ba714=this['retryDelay']*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger'][_0x3c6ae2(0x122)](_0x3c6ae2(0x111),{'attempt':this['retryAttempts'],'maxRetries':this[_0x3c6ae2(0x127)],'delayMs':_0x4ba714}),this[_0x3c6ae2(0x11b)]=setTimeout(async()=>{const _0x4a34d5=_0x3c6ae2;this[_0x4a34d5(0x137)][_0x4a34d5(0x122)](_0x4a34d5(0x112),{'attempt':this['retryAttempts']});try{await this[_0x4a34d5(0x136)](_0x38c6d9),this['retryAttempts']=0x0,this[_0x4a34d5(0x13f)]=null;}catch(_0x2b1a24){this[_0x4a34d5(0x137)][_0x4a34d5(0x11f)]('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x2b1a24[_0x4a34d5(0x130)]});}},_0x4ba714);}[a0_0x494fcd(0x13b)](){const _0xe9e27e=a0_0x494fcd;this[_0xe9e27e(0x11b)]&&(clearTimeout(this[_0xe9e27e(0x11b)]),this['retryTimer']=null,this[_0xe9e27e(0x137)][_0xe9e27e(0x146)](_0xe9e27e(0x12b)));}['getStatus'](){const _0x59483a=a0_0x494fcd;return{'initialized':!!this[_0x59483a(0x12c)],'lastFetched':this[_0x59483a(0x126)]?.['toISOString']()||null,'modelCount':this['models']?.[_0x59483a(0x133)]||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this[_0x59483a(0x13f)]||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this[_0x59483a(0x13f)]};}}export default ModelsService;function a0_0x30e8(){const _0x4cf334=['z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','z2v0tw9KzwXZ','mJK0mJa1nKj0EevQDa','zxjYB3i','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','AxnmB2fKAw5N','z2v0vgLTzq','mtrjrMvLsLK','CMv0CNLuAw1LCG','oti0odaXvMjdz09z','ng1uvKLXEq','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','D2fYBG','C3rHDhvZvgv4Da','sfruuca','Aw5MBW','y29UDgv4Da','oxHvv2vTqq','BwfW','BgfZDezLDgnOzwq','Bwf4uMv0CMLLCW','l2fWAs9SBg0VBw9KzwXZ','y2fJAgvfEhbPCNK','y29UzMLN','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','Bw9KzwXZ','x3nJAgvKDwXLuMv0CNK','mJm1mhfNz1bcuq','yxbPs2v5','BwvZC2fNzq','yxbWBgLJyxrPB24VANnVBG','BMvLzhnszwzYzxnO','BgvUz3rO','C2vZC2LVBKLK','CMv0CNLezwXHEq','zMv0y2HnB2rLBhm','Bg9Nz2vY','ndqXmdiXyu5zwwLn','zw52','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','x2nHBMnLBfjLDhj5','qMvHCMvYia','mtbkueL3zeW','mtnJzwTxCMu','BgfZDevYCM9Y','BMfTzq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','Bg94AwfbCgLlzxK','nJu0m3Dmvhn5rG','zgvIDwC','yxbPs2v5twfUywDLCG','mZuWotK5t3z4swTn','yMfJA2vUzfvYBa','mtq0mZuZmJHkzu1WDMS','r0vu','mJG4mgnMvuXkuW','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq'];a0_0x30e8=function(){return _0x4cf334;};return a0_0x30e8();}