@loxia-labs/loxia-autopilot-one 1.0.9 → 1.0.10

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 (120) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-BzXbDs8z.js → index-CoRE46V-.js} +28 -28
  119. package/web-ui/build/static/index-P281Rusr.css +1 -0
  120. package/web-ui/build/static/index-BmKxmRe3.css +0 -1
@@ -1 +1 @@
1
- const a0_0x5326e0=a0_0xf01b;(function(_0x2b1588,_0x8a0baa){const _0x285f78=a0_0xf01b,_0x34ec8c=_0x2b1588();while(!![]){try{const _0x148d49=-parseInt(_0x285f78(0x10a))/0x1*(-parseInt(_0x285f78(0xcf))/0x2)+parseInt(_0x285f78(0x107))/0x3*(-parseInt(_0x285f78(0xfe))/0x4)+parseInt(_0x285f78(0xef))/0x5+parseInt(_0x285f78(0xcc))/0x6+parseInt(_0x285f78(0xec))/0x7*(-parseInt(_0x285f78(0x123))/0x8)+-parseInt(_0x285f78(0x109))/0x9*(-parseInt(_0x285f78(0xe8))/0xa)+parseInt(_0x285f78(0xf0))/0xb*(-parseInt(_0x285f78(0xfd))/0xc);if(_0x148d49===_0x8a0baa)break;else _0x34ec8c['push'](_0x34ec8c['shift']());}catch(_0x1b4fbe){_0x34ec8c['push'](_0x34ec8c['shift']());}}}(a0_0x4c27,0x38e1e));function a0_0xf01b(_0x47a245,_0x1998da){_0x47a245=_0x47a245-0xcc;const _0x4c2713=a0_0x4c27();let _0xf01b25=_0x4c2713[_0x47a245];if(a0_0xf01b['nPsFjo']===undefined){var _0x2c16a2=function(_0x2e1e84){const _0x2440fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d4953='',_0x19485f='';for(let _0x380f38=0x0,_0x5e964b,_0x21af07,_0x2f0aa9=0x0;_0x21af07=_0x2e1e84['charAt'](_0x2f0aa9++);~_0x21af07&&(_0x5e964b=_0x380f38%0x4?_0x5e964b*0x40+_0x21af07:_0x21af07,_0x380f38++%0x4)?_0x3d4953+=String['fromCharCode'](0xff&_0x5e964b>>(-0x2*_0x380f38&0x6)):0x0){_0x21af07=_0x2440fe['indexOf'](_0x21af07);}for(let _0x1ddd8b=0x0,_0x14a606=_0x3d4953['length'];_0x1ddd8b<_0x14a606;_0x1ddd8b++){_0x19485f+='%'+('00'+_0x3d4953['charCodeAt'](_0x1ddd8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19485f);};a0_0xf01b['HtXzVr']=_0x2c16a2,a0_0xf01b['ajiztm']={},a0_0xf01b['nPsFjo']=!![];}const _0x1ee304=_0x4c2713[0x0],_0x56f61f=_0x47a245+_0x1ee304,_0x1aa5a1=a0_0xf01b['ajiztm'][_0x56f61f];return!_0x1aa5a1?(_0xf01b25=a0_0xf01b['HtXzVr'](_0xf01b25),a0_0xf01b['ajiztm'][_0x56f61f]=_0xf01b25):_0xf01b25=_0x1aa5a1,_0xf01b25;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x3d4953,_0x19485f,_0x380f38){const _0x3d0318=a0_0xf01b;this[_0x3d0318(0x10e)]=_0x3d4953,this[_0x3d0318(0xf2)]=_0x19485f,this[_0x3d0318(0x102)]=_0x380f38,this['summaryPromptTemplate']=this[_0x3d0318(0x11f)]();}async['compactConversation'](_0x5e964b,_0x21af07,_0x2f0aa9,_0x1ddd8b={}){const _0x57a144=a0_0xf01b,_0x14a606=Date[_0x57a144(0xd0)]();try{if(!Array['isArray'](_0x5e964b)||_0x5e964b['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x5e964b['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this['logger']['warn'](_0x57a144(0xff),{'messageCount':_0x5e964b['length'],'minimum':COMPACTION_CONFIG[_0x57a144(0x114)]}),{'compactedMessages':_0x5e964b,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x57a144(0x11d)};const _0x4fbdd3=_0x21af07!==_0x2f0aa9,_0x18e435=_0x1ddd8b['isRetry']||![];let _0x3e3a94;if(_0x4fbdd3)_0x3e3a94=COMPACTION_STRATEGIES[_0x57a144(0xd4)];else _0x18e435?_0x3e3a94=COMPACTION_STRATEGIES[_0x57a144(0x100)]:_0x3e3a94=_0x1ddd8b['strategy']||COMPACTION_STRATEGIES[_0x57a144(0xd6)];this['logger']['info'](_0x57a144(0xdd),{'messageCount':_0x5e964b['length'],'currentModel':_0x21af07,'targetModel':_0x2f0aa9,'strategy':_0x3e3a94,'isModelSwitch':_0x4fbdd3,'isRetry':_0x18e435});let _0x3b0f2f;switch(_0x3e3a94){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x3b0f2f=await this[_0x57a144(0xdc)](_0x5e964b,_0x21af07,_0x1ddd8b);break;case COMPACTION_STRATEGIES[_0x57a144(0xd4)]:_0x3b0f2f=await this[_0x57a144(0xde)](_0x5e964b,_0x2f0aa9,_0x1ddd8b);break;case COMPACTION_STRATEGIES[_0x57a144(0x100)]:_0x3b0f2f=await this['_compactWithAggressiveSummarization'](_0x5e964b,_0x21af07,_0x1ddd8b);break;default:throw new Error(_0x57a144(0x119)+_0x3e3a94);}const _0x4647e7=Date[_0x57a144(0xd0)]()-_0x14a606;return _0x3b0f2f['executionTime']=_0x4647e7,_0x3b0f2f[_0x57a144(0xce)]=new Date()[_0x57a144(0xdf)](),this[_0x57a144(0x102)][_0x57a144(0x106)](_0x57a144(0xf9),{'strategy':_0x3b0f2f[_0x57a144(0xfb)],'originalMessages':_0x5e964b[_0x57a144(0x120)],'compactedMessages':_0x3b0f2f[_0x57a144(0x105)][_0x57a144(0x120)],'originalTokens':_0x3b0f2f[_0x57a144(0xd2)],'compactedTokens':_0x3b0f2f[_0x57a144(0xea)],'reductionPercent':_0x3b0f2f['reductionPercent'][_0x57a144(0xe3)](0x2),'executionTime':_0x4647e7+'ms'}),_0x3b0f2f;}catch(_0x5ea1c0){const _0x2dcedc=Date['now']()-_0x14a606;this['logger']['error']('Compaction\x20failed',{'error':_0x5ea1c0[_0x57a144(0xfa)],'messageCount':_0x5e964b['length'],'currentModel':_0x21af07,'targetModel':_0x2f0aa9,'executionTime':_0x2dcedc+'ms'});throw _0x5ea1c0;}}async['_compactWithSummarization'](_0x2ba6f0,_0x19111b,_0x13ef79){const _0x15b49d=a0_0xf01b,_0x108710=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x252dfe=await this['tokenCountingService']['estimateConversationTokens'](_0x2ba6f0,_0x19111b,TOKEN_COUNTING_MODES[_0x15b49d(0xf7)]),_0x2e5e66=await this['_identifySegments'](_0x2ba6f0,_0x19111b,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x15b49d(0x102)][_0x15b49d(0xf1)](_0x15b49d(0x10b),{'beginningMessages':_0x2e5e66['beginning'][_0x15b49d(0x120)],'middleMessages':_0x2e5e66[_0x15b49d(0xda)][_0x15b49d(0x120)],'endMessages':_0x2e5e66['end'][_0x15b49d(0x120)],'middleStartIndex':_0x2e5e66['middleStartIndex'],'middleEndIndex':_0x2e5e66[_0x15b49d(0xe6)],'totalMessages':_0x2ba6f0[_0x15b49d(0x120)]});const _0x6255c2=await this['_generateSummary'](_0x2e5e66[_0x15b49d(0xda)],_0x19111b,{..._0x13ef79,'middleStartIndex':_0x2e5e66['middleStartIndex'],'middleEndIndex':_0x2e5e66[_0x15b49d(0xe6)]}),_0x37be0d=[..._0x2e5e66[_0x15b49d(0xe0)],_0x6255c2,..._0x2e5e66['end']],_0x16fc7a=await this[_0x15b49d(0x10e)][_0x15b49d(0xeb)](_0x37be0d,_0x19111b,TOKEN_COUNTING_MODES[_0x15b49d(0xf7)]),_0x384578=(_0x252dfe-_0x16fc7a)/_0x252dfe*0x64;return{'compactedMessages':_0x37be0d,'strategy':_0x108710,'originalTokenCount':_0x252dfe,'compactedTokenCount':_0x16fc7a,'reductionPercent':_0x384578,'segments':{'beginningCount':_0x2e5e66[_0x15b49d(0xe0)]['length'],'middleCount':_0x2e5e66[_0x15b49d(0xda)][_0x15b49d(0x120)],'endCount':_0x2e5e66['end']['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x4582b3,_0x24fd51,_0x28b819){const _0x16b0ea=a0_0xf01b,_0xfeef76=COMPACTION_STRATEGIES['TRUNCATION'],_0xaa7527=this['tokenCountingService'][_0x16b0ea(0x11b)](_0x24fd51),_0x4ed1e8=Math[_0x16b0ea(0x10f)](_0xaa7527*0.8),_0x3358c0=await this['tokenCountingService'][_0x16b0ea(0xeb)](_0x4582b3,_0x24fd51,TOKEN_COUNTING_MODES[_0x16b0ea(0xf7)]),_0x578245=await this[_0x16b0ea(0xcd)](_0x4582b3,_0x24fd51,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this[_0x16b0ea(0x102)]['debug'](_0x16b0ea(0xd7),{'beginningMessages':_0x578245['beginning'][_0x16b0ea(0x120)],'middleMessages':_0x578245[_0x16b0ea(0xda)]['length'],'endMessages':_0x578245[_0x16b0ea(0xd9)]['length'],'targetTokenCount':_0x4ed1e8,'originalTokenCount':_0x3358c0});const _0x29268b={'role':_0x16b0ea(0xf5),'content':COMPACTION_CONFIG[_0x16b0ea(0xd8)],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x578245[_0x16b0ea(0xda)][_0x16b0ea(0x120)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x5059c7=[..._0x578245[_0x16b0ea(0xe0)],_0x29268b,..._0x578245['end']],_0x54675b=await this[_0x16b0ea(0x10e)]['estimateConversationTokens'](_0x5059c7,_0x24fd51,TOKEN_COUNTING_MODES[_0x16b0ea(0xf7)]),_0x4c8bce=(_0x3358c0-_0x54675b)/_0x3358c0*0x64;return{'compactedMessages':_0x5059c7,'strategy':_0xfeef76,'originalTokenCount':_0x3358c0,'compactedTokenCount':_0x54675b,'reductionPercent':_0x4c8bce,'segments':{'beginningCount':_0x578245[_0x16b0ea(0xe0)][_0x16b0ea(0x120)],'middleCount':_0x578245['middle']['length'],'endCount':_0x578245[_0x16b0ea(0xd9)]['length'],'summaryInserted':![]}};}async[a0_0x5326e0(0xee)](_0x4a3dd2,_0x43deab,_0x59c768){const _0x4755e7=a0_0x5326e0,_0xc758c6=COMPACTION_STRATEGIES[_0x4755e7(0x100)],_0x394547=await this['tokenCountingService']['estimateConversationTokens'](_0x4a3dd2,_0x43deab,TOKEN_COUNTING_MODES['ACCURATE']),_0x255e4b=await this['_identifySegments'](_0x4a3dd2,_0x43deab,COMPACTION_CONFIG[_0x4755e7(0x103)],COMPACTION_CONFIG[_0x4755e7(0x118)]);this['logger']['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x255e4b[_0x4755e7(0xe0)]['length'],'middleMessages':_0x255e4b[_0x4755e7(0xda)][_0x4755e7(0x120)],'endMessages':_0x255e4b['end'][_0x4755e7(0x120)],'middleStartIndex':_0x255e4b['middleStartIndex'],'middleEndIndex':_0x255e4b['middleEndIndex']});const _0x6b8db0=await this[_0x4755e7(0xe5)](_0x255e4b['middle'],_0x43deab,{..._0x59c768,'aggressive':!![],'middleStartIndex':_0x255e4b['middleStartIndex'],'middleEndIndex':_0x255e4b['middleEndIndex']}),_0x3c3c00=[..._0x255e4b[_0x4755e7(0xe0)],_0x6b8db0,..._0x255e4b[_0x4755e7(0xd9)]],_0x2a9f5c=await this[_0x4755e7(0x10e)]['estimateConversationTokens'](_0x3c3c00,_0x43deab,TOKEN_COUNTING_MODES['ACCURATE']),_0x2c090e=(_0x394547-_0x2a9f5c)/_0x394547*0x64;return{'compactedMessages':_0x3c3c00,'strategy':_0xc758c6,'originalTokenCount':_0x394547,'compactedTokenCount':_0x2a9f5c,'reductionPercent':_0x2c090e,'segments':{'beginningCount':_0x255e4b[_0x4755e7(0xe0)][_0x4755e7(0x120)],'middleCount':_0x255e4b['middle']['length'],'endCount':_0x255e4b[_0x4755e7(0xd9)][_0x4755e7(0x120)],'summaryInserted':!![]}};}async['_identifySegments'](_0x24cdb4,_0x38194a,_0x5ab441,_0x54e347){const _0x3dedde=a0_0x5326e0,_0x1fb414=await this['tokenCountingService'][_0x3dedde(0xeb)](_0x24cdb4,_0x38194a,TOKEN_COUNTING_MODES['ACCURATE']),_0x5a8f9d=Math['floor'](_0x1fb414*_0x5ab441),_0x58f692=Math['floor'](_0x1fb414*_0x54e347);let _0x4d5939=0x0,_0x588c2c=0x0;for(let _0x188820=0x0;_0x188820<_0x24cdb4[_0x3dedde(0x120)];_0x188820++){const _0x4527de=await this[_0x3dedde(0x10e)]['countTokens'](_0x24cdb4[_0x188820][_0x3dedde(0xf6)],_0x38194a,TOKEN_COUNTING_MODES['CACHED']);if(_0x4d5939+_0x4527de>_0x5a8f9d&&_0x188820>=0x2)break;_0x4d5939+=_0x4527de,_0x588c2c=_0x188820+0x1;}let _0x8d8c2b=0x0,_0x94e05f=_0x24cdb4['length'];for(let _0x39151d=_0x24cdb4[_0x3dedde(0x120)]-0x1;_0x39151d>=0x0;_0x39151d--){const _0x196c57=await this['tokenCountingService']['countTokens'](_0x24cdb4[_0x39151d]['content'],_0x38194a,TOKEN_COUNTING_MODES[_0x3dedde(0xf3)]);if(_0x8d8c2b+_0x196c57>_0x58f692)break;_0x8d8c2b+=_0x196c57,_0x94e05f=_0x39151d;}_0x94e05f<_0x588c2c&&(_0x94e05f=_0x588c2c);const _0x349f2f=_0x24cdb4['slice'](0x0,_0x588c2c),_0x2ecd24=_0x24cdb4[_0x3dedde(0x11e)](_0x588c2c,_0x94e05f),_0x162c2d=_0x24cdb4[_0x3dedde(0x11e)](_0x94e05f);return{'beginning':_0x349f2f,'middle':_0x2ecd24,'end':_0x162c2d,'middleStartIndex':_0x588c2c,'middleEndIndex':_0x94e05f-0x1};}async[a0_0x5326e0(0xe5)](_0xef7f56,_0x302437,_0x4a0a85={}){const _0x3d733d=a0_0x5326e0;if(_0xef7f56['length']===0x0)return{'role':'system','content':COMPACTION_CONFIG[_0x3d733d(0xf8)]+_0x3d733d(0xe9),'type':_0x3d733d(0xf4),'timestamp':new Date()['toISOString']()};const _0x557ad4=_0xef7f56[_0x3d733d(0xe4)](_0x465437=>_0x465437['role']+':\x20'+_0x465437[_0x3d733d(0xf6)])[_0x3d733d(0x110)]('\x0a\x0a'),_0x112044=this[_0x3d733d(0x10d)][_0x3d733d(0xed)]('{middle_segment}',_0x557ad4)['replace']('{aggressive_instruction}',_0x4a0a85[_0x3d733d(0x112)]?_0x3d733d(0xd3):''),_0x5dfe16=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3d733d(0x115)]];let _0x5c0977=null;for(const _0x30f2d0 of _0x5dfe16){try{this['logger']['debug']('Generating\x20summary',{'compactionModel':_0x30f2d0,'middleMessageCount':_0xef7f56['length'],'middleContentLength':_0x557ad4['length'],'aggressive':_0x4a0a85[_0x3d733d(0x112)]});const _0x203e4f=await this['aiService'][_0x3d733d(0x117)](_0x30f2d0,_0x112044,{'systemPrompt':_0x3d733d(0xdb),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x4a0a85[_0x3d733d(0x101)],'platformProvided':!![]}),_0x47bcc4=_0x203e4f[_0x3d733d(0xf6)][_0x3d733d(0xfc)](),_0xfbcc6b=_0x4a0a85['middleStartIndex']!==undefined&&_0x4a0a85[_0x3d733d(0xe6)]!==undefined?_0x3d733d(0x116)+_0x4a0a85['middleStartIndex']+'-'+_0x4a0a85['middleEndIndex']:_0xef7f56['length']+'\x20messages';return this['logger'][_0x3d733d(0x106)]('Summary\x20generated\x20successfully',{'compactionModel':_0x30f2d0,'originalLength':_0x557ad4['length'],'summaryLength':_0x47bcc4['length'],'compressionRatio':(_0x47bcc4['length']/_0x557ad4[_0x3d733d(0x120)]*0x64)[_0x3d733d(0xe3)](0x2)+'%','indexRange':_0xfbcc6b}),{'role':_0x3d733d(0xf5),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0xfbcc6b+_0x3d733d(0x122)+_0x47bcc4+'\x0a\x0a'+COMPACTION_CONFIG[_0x3d733d(0x121)],'type':_0x3d733d(0xf4),'timestamp':new Date()[_0x3d733d(0xdf)](),'metadata':{'originalMessageCount':_0xef7f56[_0x3d733d(0x120)],'originalStartIndex':_0x4a0a85['middleStartIndex'],'originalEndIndex':_0x4a0a85[_0x3d733d(0xe6)],'compactionModel':_0x30f2d0,'aggressive':_0x4a0a85[_0x3d733d(0x112)]||![]}};}catch(_0x3d79cc){_0x5c0977=_0x3d79cc,this['logger']['warn'](_0x3d733d(0x111),{'compactionModel':_0x30f2d0,'error':_0x3d79cc[_0x3d733d(0xfa)],'middleMessageCount':_0xef7f56[_0x3d733d(0x120)]});}}this[_0x3d733d(0x102)][_0x3d733d(0x113)](_0x3d733d(0x10c),{'modelsAttempted':_0x5dfe16['length'],'lastError':_0x5c0977?.['message'],'middleMessageCount':_0xef7f56[_0x3d733d(0x120)]});const _0x53bce6=this['_createFallbackSummary'](_0xef7f56),_0x36c060=_0x4a0a85[_0x3d733d(0x104)]!==undefined&&_0x4a0a85[_0x3d733d(0xe6)]!==undefined?_0x3d733d(0x116)+_0x4a0a85['middleStartIndex']+'-'+_0x4a0a85['middleEndIndex']:_0xef7f56['length']+'\x20messages';return{'role':_0x3d733d(0xf5),'content':COMPACTION_CONFIG[_0x3d733d(0xf8)]+_0x3d733d(0xe2)+_0x36c060+']\x0a\x0a'+_0x53bce6+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x3d733d(0xdf)](),'metadata':{'originalMessageCount':_0xef7f56['length'],'originalStartIndex':_0x4a0a85['middleStartIndex'],'originalEndIndex':_0x4a0a85[_0x3d733d(0xe6)],'fallback':!![],'error':_0x5c0977?.[_0x3d733d(0xfa)],'modelsAttempted':_0x5dfe16}};}[a0_0x5326e0(0xd5)](_0x4ef07d){const _0x2ae9b7=a0_0x5326e0,_0x2c9a98=_0x4ef07d['length'],_0x41bd4c=_0x4ef07d['map'](_0x4df6ed=>_0x4df6ed[_0x2ae9b7(0x11a)]),_0xc7655e=_0x41bd4c[_0x2ae9b7(0x108)](_0x5161f6=>_0x5161f6==='user')['length'],_0x50e01f=_0x41bd4c[_0x2ae9b7(0x108)](_0x545b49=>_0x545b49===_0x2ae9b7(0xd1))['length'];return'['+_0x2c9a98+'\x20messages\x20summarized\x20-\x20'+_0xc7655e+_0x2ae9b7(0xe7)+_0x50e01f+_0x2ae9b7(0x11c)+_0x2ae9b7(0xe1);}[a0_0x5326e0(0x11f)](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}function a0_0x4c27(){const _0x168973=['zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','n1HwAgXkvq','CMvWBgfJzq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','nZq4ndi1EujWsfr5','ode3m1DtqKnHsa','zgvIDwC','ywLtzxj2AwnL','q0fdseve','C3vTBwfYEq','C3LZDgvT','y29UDgvUDa','qundvvjbveu','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','BwvZC2fNzq','C3rYyxrLz3K','DhjPBq','nZu2uLj0swfS','nJeWmdqWueLXC25Q','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','quDhuKvtu0Lwrq','C2vZC2LVBKLK','Bg9Nz2vY','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','y29TCgfJDgvKtwvZC2fNzxm','Aw5MBW','m1nTs0fwCW','zMLSDgvY','ouTLvMvqvq','own3vNrqta','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','qwXSihn1Bw1HCNKGz2vUzxjHDgLVBIbHDhrLBxb0CYbMywLSzwq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','zMXVB3i','AM9PBG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','ywDNCMvZC2L2zq','zxjYB3i','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','B3jPz2LUywWGBwvZC2fNzxmG','C2vUze1LC3nHz2u','quDhuKvtu0Lwrv9ftKrFuevsq0vovefhrq','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','CM9Szq','z2v0tw9KzwXdB250zxH0v2LUzg93','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','vg9VigzLDYbTzxnZywDLCW','C2XPy2u','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','BgvUz3rO','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','xqOk','ode0mdmYDgHqCM1p','mtq0oda1oerHChbtEG','x2LKzw50Awz5u2vNBwvUDhm','DgLTzxn0yw1W','nJiZnKPxuKvSqq','BM93','yxnZAxn0yw50','B3jPz2LUywXuB2TLBKnVDw50','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','vfjvtKnbveLptG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','u1vntufssvPbveLptG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','zw5K','BwLKzgXL','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','Dg9ju09tDhjPBMC','yMvNAw5UAw5N','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','ic0G','Dg9gAxHLza','BwfW','x2DLBMvYyxrLu3vTBwfYEq','BwLKzgXLrw5Ksw5KzxG','ihvZzxiGBwvZC2fNzxmSia','mte0otCZmgPPDLnesa','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','y29TCgfJDgvKvg9Rzw5dB3vUDa'];a0_0x4c27=function(){return _0x168973;};return a0_0x4c27();}export default ConversationCompactionService;
1
+ const a0_0x429d75=a0_0x2934;(function(_0x483bfe,_0x6dd757){const _0x36af96=a0_0x2934,_0x41b94b=_0x483bfe();while(!![]){try{const _0x2b83d6=-parseInt(_0x36af96(0x15f))/0x1+-parseInt(_0x36af96(0x175))/0x2+-parseInt(_0x36af96(0x182))/0x3*(-parseInt(_0x36af96(0x162))/0x4)+-parseInt(_0x36af96(0x167))/0x5*(-parseInt(_0x36af96(0x185))/0x6)+-parseInt(_0x36af96(0x190))/0x7*(-parseInt(_0x36af96(0x170))/0x8)+parseInt(_0x36af96(0x163))/0x9*(-parseInt(_0x36af96(0x16f))/0xa)+-parseInt(_0x36af96(0x1a4))/0xb*(-parseInt(_0x36af96(0x17b))/0xc);if(_0x2b83d6===_0x6dd757)break;else _0x41b94b['push'](_0x41b94b['shift']());}catch(_0x1cc169){_0x41b94b['push'](_0x41b94b['shift']());}}}(a0_0xe80e,0xb7f65));function a0_0x2934(_0x1bcb79,_0x21b6f9){_0x1bcb79=_0x1bcb79-0x15d;const _0xe80efa=a0_0xe80e();let _0x29345a=_0xe80efa[_0x1bcb79];if(a0_0x2934['aIgPJL']===undefined){var _0x3d9364=function(_0x932e54){const _0x122cf1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x388c5f='',_0x4dbe0b='';for(let _0x148c67=0x0,_0x2a8f0b,_0x19415d,_0x2bb938=0x0;_0x19415d=_0x932e54['charAt'](_0x2bb938++);~_0x19415d&&(_0x2a8f0b=_0x148c67%0x4?_0x2a8f0b*0x40+_0x19415d:_0x19415d,_0x148c67++%0x4)?_0x388c5f+=String['fromCharCode'](0xff&_0x2a8f0b>>(-0x2*_0x148c67&0x6)):0x0){_0x19415d=_0x122cf1['indexOf'](_0x19415d);}for(let _0x112344=0x0,_0x2edc3d=_0x388c5f['length'];_0x112344<_0x2edc3d;_0x112344++){_0x4dbe0b+='%'+('00'+_0x388c5f['charCodeAt'](_0x112344)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dbe0b);};a0_0x2934['tCeZWF']=_0x3d9364,a0_0x2934['IRxEiz']={},a0_0x2934['aIgPJL']=!![];}const _0x1f3566=_0xe80efa[0x0],_0x144907=_0x1bcb79+_0x1f3566,_0xa6f7e5=a0_0x2934['IRxEiz'][_0x144907];return!_0xa6f7e5?(_0x29345a=a0_0x2934['tCeZWF'](_0x29345a),a0_0x2934['IRxEiz'][_0x144907]=_0x29345a):_0x29345a=_0xa6f7e5,_0x29345a;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x388c5f,_0x4dbe0b,_0x148c67){const _0x4bc047=a0_0x2934;this[_0x4bc047(0x194)]=_0x388c5f,this[_0x4bc047(0x188)]=_0x4dbe0b,this['logger']=_0x148c67,this[_0x4bc047(0x1aa)]=this[_0x4bc047(0x1a6)]();}async['compactConversation'](_0x2a8f0b,_0x19415d,_0x2bb938,_0x112344={}){const _0x59e025=a0_0x2934,_0x2edc3d=Date[_0x59e025(0x174)]();try{if(!Array[_0x59e025(0x183)](_0x2a8f0b)||_0x2a8f0b['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x2a8f0b[_0x59e025(0x172)]<COMPACTION_CONFIG[_0x59e025(0x165)])return this['logger'][_0x59e025(0x15d)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x2a8f0b[_0x59e025(0x172)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x2a8f0b,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x34372c=_0x19415d!==_0x2bb938,_0x2fcf82=_0x112344['isRetry']||![];let _0x626993;if(_0x34372c)_0x626993=COMPACTION_STRATEGIES[_0x59e025(0x18b)];else _0x2fcf82?_0x626993=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x626993=_0x112344[_0x59e025(0x19d)]||COMPACTION_STRATEGIES['SUMMARIZATION'];this[_0x59e025(0x187)]['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x2a8f0b['length'],'currentModel':_0x19415d,'targetModel':_0x2bb938,'strategy':_0x626993,'isModelSwitch':_0x34372c,'isRetry':_0x2fcf82});let _0x54df23;switch(_0x626993){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x54df23=await this[_0x59e025(0x17a)](_0x2a8f0b,_0x19415d,_0x112344);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x54df23=await this[_0x59e025(0x1a7)](_0x2a8f0b,_0x2bb938,_0x112344);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x54df23=await this['_compactWithAggressiveSummarization'](_0x2a8f0b,_0x19415d,_0x112344);break;default:throw new Error(_0x59e025(0x16e)+_0x626993);}const _0x12a3b6=Date[_0x59e025(0x174)]()-_0x2edc3d;return _0x54df23[_0x59e025(0x15e)]=_0x12a3b6,_0x54df23[_0x59e025(0x17d)]=new Date()[_0x59e025(0x19b)](),this[_0x59e025(0x187)][_0x59e025(0x18a)](_0x59e025(0x18d),{'strategy':_0x54df23[_0x59e025(0x19d)],'originalMessages':_0x2a8f0b[_0x59e025(0x172)],'compactedMessages':_0x54df23['compactedMessages']['length'],'originalTokens':_0x54df23[_0x59e025(0x180)],'compactedTokens':_0x54df23[_0x59e025(0x1a0)],'reductionPercent':_0x54df23[_0x59e025(0x18f)][_0x59e025(0x181)](0x2),'executionTime':_0x12a3b6+'ms'}),_0x54df23;}catch(_0x87c36b){const _0x156428=Date[_0x59e025(0x174)]()-_0x2edc3d;this[_0x59e025(0x187)]['error'](_0x59e025(0x161),{'error':_0x87c36b[_0x59e025(0x1ab)],'messageCount':_0x2a8f0b[_0x59e025(0x172)],'currentModel':_0x19415d,'targetModel':_0x2bb938,'executionTime':_0x156428+'ms'});throw _0x87c36b;}}async['_compactWithSummarization'](_0x5318db,_0x1fd740,_0x48e927){const _0x30c70e=a0_0x2934,_0x29840d=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x34780c=await this[_0x30c70e(0x194)]['estimateConversationTokens'](_0x5318db,_0x1fd740,TOKEN_COUNTING_MODES[_0x30c70e(0x16d)]),_0x2b5cbb=await this[_0x30c70e(0x1b0)](_0x5318db,_0x1fd740,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x30c70e(0x187)][_0x30c70e(0x160)](_0x30c70e(0x173),{'beginningMessages':_0x2b5cbb[_0x30c70e(0x1af)]['length'],'middleMessages':_0x2b5cbb[_0x30c70e(0x18e)][_0x30c70e(0x172)],'endMessages':_0x2b5cbb[_0x30c70e(0x197)][_0x30c70e(0x172)],'middleStartIndex':_0x2b5cbb['middleStartIndex'],'middleEndIndex':_0x2b5cbb['middleEndIndex'],'totalMessages':_0x5318db['length']});const _0xdfca7c=await this[_0x30c70e(0x17c)](_0x2b5cbb['middle'],_0x1fd740,{..._0x48e927,'middleStartIndex':_0x2b5cbb['middleStartIndex'],'middleEndIndex':_0x2b5cbb[_0x30c70e(0x16c)]}),_0x4ca285=[..._0x2b5cbb[_0x30c70e(0x1af)],_0xdfca7c,..._0x2b5cbb['end']],_0x19477f=await this[_0x30c70e(0x194)]['estimateConversationTokens'](_0x4ca285,_0x1fd740,TOKEN_COUNTING_MODES[_0x30c70e(0x16d)]),_0x11d423=(_0x34780c-_0x19477f)/_0x34780c*0x64;return{'compactedMessages':_0x4ca285,'strategy':_0x29840d,'originalTokenCount':_0x34780c,'compactedTokenCount':_0x19477f,'reductionPercent':_0x11d423,'segments':{'beginningCount':_0x2b5cbb[_0x30c70e(0x1af)]['length'],'middleCount':_0x2b5cbb['middle']['length'],'endCount':_0x2b5cbb[_0x30c70e(0x197)]['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x1a1769,_0x58db7d,_0x3e23f1){const _0x29138d=a0_0x2934,_0x489681=COMPACTION_STRATEGIES['TRUNCATION'],_0x4f9e82=this['tokenCountingService'][_0x29138d(0x186)](_0x58db7d),_0x3df880=Math[_0x29138d(0x164)](_0x4f9e82*0.8),_0x2f9c4e=await this['tokenCountingService']['estimateConversationTokens'](_0x1a1769,_0x58db7d,TOKEN_COUNTING_MODES['ACCURATE']),_0x4ec23d=await this[_0x29138d(0x1b0)](_0x1a1769,_0x58db7d,COMPACTION_CONFIG[_0x29138d(0x1ae)],COMPACTION_CONFIG[_0x29138d(0x1ad)]);this[_0x29138d(0x187)][_0x29138d(0x160)]('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x4ec23d['beginning'][_0x29138d(0x172)],'middleMessages':_0x4ec23d['middle'][_0x29138d(0x172)],'endMessages':_0x4ec23d['end']['length'],'targetTokenCount':_0x3df880,'originalTokenCount':_0x2f9c4e});const _0x417b8d={'role':'system','content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':'separator','timestamp':new Date()[_0x29138d(0x19b)](),'metadata':{'truncatedMessages':_0x4ec23d['middle']['length'],'reason':_0x29138d(0x171)}},_0x10fa24=[..._0x4ec23d['beginning'],_0x417b8d,..._0x4ec23d['end']],_0x5b5fb1=await this[_0x29138d(0x194)][_0x29138d(0x198)](_0x10fa24,_0x58db7d,TOKEN_COUNTING_MODES[_0x29138d(0x16d)]),_0x503dc5=(_0x2f9c4e-_0x5b5fb1)/_0x2f9c4e*0x64;return{'compactedMessages':_0x10fa24,'strategy':_0x489681,'originalTokenCount':_0x2f9c4e,'compactedTokenCount':_0x5b5fb1,'reductionPercent':_0x503dc5,'segments':{'beginningCount':_0x4ec23d[_0x29138d(0x1af)]['length'],'middleCount':_0x4ec23d['middle']['length'],'endCount':_0x4ec23d[_0x29138d(0x197)][_0x29138d(0x172)],'summaryInserted':![]}};}async[a0_0x429d75(0x184)](_0x216795,_0x26412c,_0x497bac){const _0x44c43a=a0_0x429d75,_0x5d0767=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x2b565f=await this[_0x44c43a(0x194)][_0x44c43a(0x198)](_0x216795,_0x26412c,TOKEN_COUNTING_MODES['ACCURATE']),_0x1fdbff=await this['_identifySegments'](_0x216795,_0x26412c,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x44c43a(0x18c)]);this[_0x44c43a(0x187)]['debug'](_0x44c43a(0x17e),{'beginningMessages':_0x1fdbff[_0x44c43a(0x1af)][_0x44c43a(0x172)],'middleMessages':_0x1fdbff['middle']['length'],'endMessages':_0x1fdbff['end'][_0x44c43a(0x172)],'middleStartIndex':_0x1fdbff['middleStartIndex'],'middleEndIndex':_0x1fdbff['middleEndIndex']});const _0x65e772=await this['_generateSummary'](_0x1fdbff['middle'],_0x26412c,{..._0x497bac,'aggressive':!![],'middleStartIndex':_0x1fdbff['middleStartIndex'],'middleEndIndex':_0x1fdbff[_0x44c43a(0x16c)]}),_0x195994=[..._0x1fdbff['beginning'],_0x65e772,..._0x1fdbff[_0x44c43a(0x197)]],_0x542e5c=await this['tokenCountingService'][_0x44c43a(0x198)](_0x195994,_0x26412c,TOKEN_COUNTING_MODES[_0x44c43a(0x16d)]),_0x1627a8=(_0x2b565f-_0x542e5c)/_0x2b565f*0x64;return{'compactedMessages':_0x195994,'strategy':_0x5d0767,'originalTokenCount':_0x2b565f,'compactedTokenCount':_0x542e5c,'reductionPercent':_0x1627a8,'segments':{'beginningCount':_0x1fdbff[_0x44c43a(0x1af)]['length'],'middleCount':_0x1fdbff['middle']['length'],'endCount':_0x1fdbff[_0x44c43a(0x197)][_0x44c43a(0x172)],'summaryInserted':!![]}};}async['_identifySegments'](_0x1b4183,_0x5722c0,_0x2f4ed6,_0x201715){const _0x5775b6=a0_0x429d75,_0x230213=await this[_0x5775b6(0x194)][_0x5775b6(0x198)](_0x1b4183,_0x5722c0,TOKEN_COUNTING_MODES[_0x5775b6(0x16d)]),_0x41b0ed=Math['floor'](_0x230213*_0x2f4ed6),_0x328930=Math['floor'](_0x230213*_0x201715);let _0x5025ac=0x0,_0x3284c7=0x0;for(let _0xe76909=0x0;_0xe76909<_0x1b4183[_0x5775b6(0x172)];_0xe76909++){const _0xa03267=await this[_0x5775b6(0x194)][_0x5775b6(0x191)](_0x1b4183[_0xe76909][_0x5775b6(0x168)],_0x5722c0,TOKEN_COUNTING_MODES[_0x5775b6(0x19a)]);if(_0x5025ac+_0xa03267>_0x41b0ed&&_0xe76909>=0x2)break;_0x5025ac+=_0xa03267,_0x3284c7=_0xe76909+0x1;}let _0x5ebdae=0x0,_0x477d48=_0x1b4183['length'];for(let _0x403bf7=_0x1b4183['length']-0x1;_0x403bf7>=0x0;_0x403bf7--){const _0x8fe622=await this[_0x5775b6(0x194)][_0x5775b6(0x191)](_0x1b4183[_0x403bf7][_0x5775b6(0x168)],_0x5722c0,TOKEN_COUNTING_MODES[_0x5775b6(0x19a)]);if(_0x5ebdae+_0x8fe622>_0x328930)break;_0x5ebdae+=_0x8fe622,_0x477d48=_0x403bf7;}_0x477d48<_0x3284c7&&(_0x477d48=_0x3284c7);const _0x5db0d6=_0x1b4183[_0x5775b6(0x1a9)](0x0,_0x3284c7),_0x5049eb=_0x1b4183['slice'](_0x3284c7,_0x477d48),_0x1697e2=_0x1b4183[_0x5775b6(0x1a9)](_0x477d48);return{'beginning':_0x5db0d6,'middle':_0x5049eb,'end':_0x1697e2,'middleStartIndex':_0x3284c7,'middleEndIndex':_0x477d48-0x1};}async['_generateSummary'](_0xdfc380,_0x6edfde,_0x19f277={}){const _0x3f6236=a0_0x429d75;if(_0xdfc380['length']===0x0)return{'role':'system','content':COMPACTION_CONFIG[_0x3f6236(0x189)]+_0x3f6236(0x17f),'type':_0x3f6236(0x192),'timestamp':new Date()['toISOString']()};const _0x4e7160=_0xdfc380['map'](_0x268403=>_0x268403['role']+':\x20'+_0x268403[_0x3f6236(0x168)])[_0x3f6236(0x199)]('\x0a\x0a'),_0x32cd23=this['summaryPromptTemplate']['replace']('{middle_segment}',_0x4e7160)[_0x3f6236(0x176)]('{aggressive_instruction}',_0x19f277['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x3d4c64=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3f6236(0x19e)]];let _0x11740e=null;for(const _0xfd259e of _0x3d4c64){try{this['logger']['debug'](_0x3f6236(0x195),{'compactionModel':_0xfd259e,'middleMessageCount':_0xdfc380[_0x3f6236(0x172)],'middleContentLength':_0x4e7160['length'],'aggressive':_0x19f277[_0x3f6236(0x179)]});const _0x51bb67=await this['aiService']['sendMessage'](_0xfd259e,_0x32cd23,{'systemPrompt':_0x3f6236(0x169),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x19f277['sessionId'],'platformProvided':!![]}),_0x5e395e=_0x51bb67[_0x3f6236(0x168)][_0x3f6236(0x166)](),_0x1651c0=_0x19f277['middleStartIndex']!==undefined&&_0x19f277[_0x3f6236(0x16c)]!==undefined?_0x3f6236(0x19c)+_0x19f277[_0x3f6236(0x1a3)]+'-'+_0x19f277['middleEndIndex']:_0xdfc380[_0x3f6236(0x172)]+_0x3f6236(0x19f);return this[_0x3f6236(0x187)][_0x3f6236(0x18a)](_0x3f6236(0x1a8),{'compactionModel':_0xfd259e,'originalLength':_0x4e7160['length'],'summaryLength':_0x5e395e[_0x3f6236(0x172)],'compressionRatio':(_0x5e395e['length']/_0x4e7160['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0x1651c0}),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x1651c0+_0x3f6236(0x16a)+_0x5e395e+'\x0a\x0a'+COMPACTION_CONFIG[_0x3f6236(0x1a1)],'type':_0x3f6236(0x192),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0xdfc380['length'],'originalStartIndex':_0x19f277['middleStartIndex'],'originalEndIndex':_0x19f277[_0x3f6236(0x16c)],'compactionModel':_0xfd259e,'aggressive':_0x19f277['aggressive']||![]}};}catch(_0x1d58d6){_0x11740e=_0x1d58d6,this[_0x3f6236(0x187)][_0x3f6236(0x15d)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0xfd259e,'error':_0x1d58d6['message'],'middleMessageCount':_0xdfc380['length']});}}this['logger']['error'](_0x3f6236(0x178),{'modelsAttempted':_0x3d4c64[_0x3f6236(0x172)],'lastError':_0x11740e?.['message'],'middleMessageCount':_0xdfc380['length']});const _0x2ff99b=this[_0x3f6236(0x193)](_0xdfc380),_0x1baffc=_0x19f277[_0x3f6236(0x1a3)]!==undefined&&_0x19f277['middleEndIndex']!==undefined?'original\x20messages\x20'+_0x19f277[_0x3f6236(0x1a3)]+'-'+_0x19f277['middleEndIndex']:_0xdfc380['length']+'\x20messages';return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x1baffc+_0x3f6236(0x16a)+_0x2ff99b+'\x0a\x0a'+COMPACTION_CONFIG[_0x3f6236(0x1a1)],'type':'summary','timestamp':new Date()[_0x3f6236(0x19b)](),'metadata':{'originalMessageCount':_0xdfc380[_0x3f6236(0x172)],'originalStartIndex':_0x19f277[_0x3f6236(0x1a3)],'originalEndIndex':_0x19f277['middleEndIndex'],'fallback':!![],'error':_0x11740e?.[_0x3f6236(0x1ab)],'modelsAttempted':_0x3d4c64}};}['_createFallbackSummary'](_0x4f9cec){const _0x316d2a=a0_0x429d75,_0x2379d0=_0x4f9cec[_0x316d2a(0x172)],_0x34644e=_0x4f9cec[_0x316d2a(0x177)](_0xa9fe38=>_0xa9fe38['role']),_0x49afa3=_0x34644e[_0x316d2a(0x1ac)](_0x226800=>_0x226800==='user')['length'],_0x5ecf1d=_0x34644e['filter'](_0x3e522c=>_0x3e522c==='assistant')[_0x316d2a(0x172)];return'['+_0x2379d0+_0x316d2a(0x16b)+_0x49afa3+_0x316d2a(0x196)+_0x5ecf1d+_0x316d2a(0x1a2)+_0x316d2a(0x1a5);}[a0_0x429d75(0x1a6)](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}function a0_0xe80e(){const _0x5c92ff=['y291BNruB2TLBNm','C3vTBwfYEq','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','r2vUzxjHDgLUzYbZDw1Tyxj5','ihvZzxiGBwvZC2fNzxmSia','zw5K','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','AM9PBG','q0fdseve','Dg9ju09tDhjPBMC','B3jPz2LUywWGBwvZC2fNzxmG','C3rYyxrLz3K','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','ig1LC3nHz2vZ','y29TCgfJDgvKvg9Rzw5dB3vUDa','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','BwLKzgXLu3rHCNrjBMrLEa','mte1ndiZtKncrKLN','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','C2XPy2u','C3vTBwfYEvbYB21WDfrLBxbSyxrL','BwvZC2fNzq','zMLSDgvY','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','yMvNAw5UAw5N','x2LKzw50Awz5u2vNBwvUDhm','D2fYBG','zxHLy3v0Aw9UvgLTzq','mtmYnZe5mgHNsKvfyq','zgvIDwC','q29TCgfJDgLVBIbMywLSzwq','mZGWmZq0AKLPy1jx','ow5kyNHSEa','zMXVB3i','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','DhjPBq','nJuXndvHBwH4s20','y29UDgvUDa','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','xqOk','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','BwLKzgXLrw5Ksw5KzxG','qundvvjbveu','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','nta0mte1mejvAfPPuW','odm4mJaZmKvbsg16za','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','BgvUz3rO','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','BM93','mte0ota2mLvgBLbpwq','CMvWBgfJzq','BwfW','qwXSihn1Bw1HCNKGz2vUzxjHDgLVBIbHDhrLBxb0CYbMywLSzwq','ywDNCMvZC2L2zq','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','mtuYngfLwLnOyW','x2DLBMvYyxrLu3vTBwfYEq','DgLTzxn0yw1W','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','B3jPz2LUywXuB2TLBKnVDw50','Dg9gAxHLza','mtHIt0rYsuG','AxnbCNjHEq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','otzHtw1Xs1y','z2v0tw9KzwXdB250zxH0v2LUzg93','Bg9Nz2vY','ywLtzxj2AwnL','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','Aw5MBW','vfjvtKnbveLptG','quDhuKvtu0Lwrv9ftKrFuevsq0vovefhrq','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','BwLKzgXL','CMvKDwn0Aw9UugvYy2vUDa','n2H1EKf2sq'];a0_0xe80e=function(){return _0x5c92ff;};return a0_0xe80e();}export default ConversationCompactionService;
@@ -1 +1 @@
1
- function a0_0x6941(){const _0x5afb78=['CMvJB3zLCNLbDhrLBxb0CW','vu5bvvrit1jjwKve','zxjYB3jrDwv1zq','CMvJB3zLCNLtDhjHDgvNAwvZ','DgLTzxn0yw1W','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','CMv0CNLdB3vUDa','t1bfuKfusu9ox1rjtuvpvvq','C2v0DxbfCNjVCLbYB2nLC3nPBMC','AxnszwnVDMvYywjSzq','tM8GzMLSzsbWyxrOihbYB3zPzgvK','zxjYB3jZqNLbz2vUDa','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','D2fYBG','ywDLBNrFy29TBxvUAwnHDgLVBG','AxnqCM9JzxnZAw5NuxvLDwu','qvvusevoveLdqvrjt05FrKfjteve','mtu1mZG0muDhuwTqtq','C3rHDhvZ','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','zxjYB3i','rKLmrv9ot1rFrK9vtKq','mJrPBMnQvg4','mtK5mJq2odbUz2LhB0K','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','AgfUzgXLrxjYB3i','DgLTzw91Da','DxbKyxrLrxjYB3jtDgf0CW','mJG2CMv3B2jS','CMfUzg9T','rxjYB3iGAgfUzgXPBMCGzMfPBgvK','Dg9VBeLK','q2fUBM90igfKANvZDcb0Aw1LB3v0','Aw5JCMvHC2vKx3rPBwvVDxq','CMvJB3zLCMfIBgu','zgv0zxjTAw5LrxjYB3juExbL','uKfurv9msu1jvf9fwenfrurfra','ywn0Aw9U','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','uevstuLtu0LptL9eru5jruq','ywrK','C2v2zxjPDhK','C3vJy2vZCW','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','Bg93','Aw5MBW','y2fSy3vSyxrLuMv0CNLezwXHEq','y3jPDgLJywXfCNjVCNm','BwvZC2fNzq','DMfSAwrHDgLVBG','yxbPx3jLCxvLC3q','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','Cg93','AgLNAa','Dg9mB3DLCKnHC2u','mJHfDM1ywe8','zM9YrwfJAa','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','y29UDgv4Da','B3bLCMf0Aw9U','BwvKAxvT','qxv0AgvUDgLJyxrPB24GzMfPBhvYzsbKzxrLy3rLza','y29UzMLN','z2vUzxjHDgvfCNjVCKLK','CgvYBwLZC2LVBL9YzwnVDMvYEq','Dg9tDhjPBMC','nNHfuwPvBa','vu5ltK9xtL9fuLjpuG','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','mti5mJq4qLrpqvnc','zMLSzvbHDgG','AgfUzgXLq3jPDgLJywXfCNjVCG','y29Kzq','mJbRwKjky0i','CMvHC29U','C3vJy2vZC2z1BfjLy292zxjPzxm','z2v0twf4uMv0CMLLCW','BM93','mJu5odu0nNbWrNv3AG','y3jPDgLJywW','zw1PDa','Aw5JBhvKzxm','ywDLBNrjza','Bg9Nz2vY','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','Bg9NrxjYB3i','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jtDgf0CW','mtC0ntuZogzsv29SAa','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','ChjVy2vZC0vYCM9Y','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','Dw5JyxvNAhrFzxHJzxb0Aw9U','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','DhLWzq','B3bLCMf0Aw9Uswq','y29UzMLNDxjHDgLVBG','BwLU','C3vIC2nYAwjL','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','z2v0','r2vUzxjPyYbJCML0AwnHBcbLCNjVCG','zxjYB3jtDwjZy3jPyMvYCW','mJiYnZKWswHRs0rQ','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AgfZ','BgvUz3rO','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','rufdq0vt','C2v0','mty2nZy2z1vqCgzW'];a0_0x6941=function(){return _0x5afb78;};return a0_0x6941();}function a0_0x2c36(_0xb0dcaf,_0x5e75ea){_0xb0dcaf=_0xb0dcaf-0x7e;const _0x6941e9=a0_0x6941();let _0x2c360a=_0x6941e9[_0xb0dcaf];if(a0_0x2c36['HSDriV']===undefined){var _0x3209c2=function(_0x56ae60){const _0x39ca24='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2be7b8='',_0x442cb9='';for(let _0x8f4508=0x0,_0x439e69,_0x16421e,_0x43b513=0x0;_0x16421e=_0x56ae60['charAt'](_0x43b513++);~_0x16421e&&(_0x439e69=_0x8f4508%0x4?_0x439e69*0x40+_0x16421e:_0x16421e,_0x8f4508++%0x4)?_0x2be7b8+=String['fromCharCode'](0xff&_0x439e69>>(-0x2*_0x8f4508&0x6)):0x0){_0x16421e=_0x39ca24['indexOf'](_0x16421e);}for(let _0xc9f6e5=0x0,_0x3df218=_0x2be7b8['length'];_0xc9f6e5<_0x3df218;_0xc9f6e5++){_0x442cb9+='%'+('00'+_0x2be7b8['charCodeAt'](_0xc9f6e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x442cb9);};a0_0x2c36['HONRVb']=_0x3209c2,a0_0x2c36['iQQTGK']={},a0_0x2c36['HSDriV']=!![];}const _0x3c4181=_0x6941e9[0x0],_0x1d624f=_0xb0dcaf+_0x3c4181,_0x149f6d=a0_0x2c36['iQQTGK'][_0x1d624f];return!_0x149f6d?(_0x2c360a=a0_0x2c36['HONRVb'](_0x2c360a),a0_0x2c36['iQQTGK'][_0x1d624f]=_0x2c360a):_0x2c360a=_0x149f6d,_0x2c360a;}const a0_0xa49c72=a0_0x2c36;(function(_0x5c905,_0x4cb5b2){const _0x342948=a0_0x2c36,_0x2069ea=_0x5c905();while(!![]){try{const _0x47592e=-parseInt(_0x342948(0xa3))/0x1*(parseInt(_0x342948(0xcf))/0x2)+parseInt(_0x342948(0xaf))/0x3+-parseInt(_0x342948(0xa6))/0x4*(parseInt(_0x342948(0xaa))/0x5)+-parseInt(_0x342948(0xb9))/0x6*(parseInt(_0x342948(0x96))/0x7)+parseInt(_0x342948(0xe6))/0x8*(parseInt(_0x342948(0xe1))/0x9)+parseInt(_0x342948(0xc8))/0xa*(-parseInt(_0x342948(0xec))/0xb)+parseInt(_0x342948(0xe7))/0xc;if(_0x47592e===_0x4cb5b2)break;else _0x2069ea['push'](_0x2069ea['shift']());}catch(_0x363c57){_0x2069ea['push'](_0x2069ea['shift']());}}}(a0_0x6941,0xa411b));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x2be7b8,_0x442cb9){const _0x1befa0=a0_0x2c36;this[_0x1befa0(0x9f)]=_0x2be7b8||{},this['logger']=_0x442cb9,this[_0x1befa0(0xb8)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x1befa0(0xd3)]=new Map(),this[_0x1befa0(0xc7)]=new Set(),this[_0x1befa0(0xd2)]=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x1befa0(0xd8)]();}async['handleError'](_0x8f4508,_0x439e69={}){const _0x362359=a0_0x2c36;try{const _0x16421e=this['classifyError'](_0x8f4508,_0x439e69),_0x43b513=await this[_0x362359(0xbb)](_0x16421e);return this[_0x362359(0xeb)](_0x16421e),this['notifySubscribers'](_0x16421e,_0x43b513),_0x43b513;}catch(_0xc9f6e5){return this['logger']['error'](_0x362359(0xee),{'originalError':_0x8f4508[_0x362359(0x8f)],'handlingError':_0xc9f6e5['message']}),{'success':![],'error':_0xc9f6e5,'recovery':null,'severity':'critical'};}}['classifyError'](_0x3df218,_0x24f841={}){const _0x23c400=a0_0x2c36,_0x548cb7={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x3df218[_0x23c400(0x8f)]||_0x3df218[_0x23c400(0xa2)](),'stack':_0x3df218['stack']||null,'code':_0x3df218['code']||null,'type':this[_0x23c400(0x82)](_0x3df218,_0x24f841),'severity':this['determineSeverity'](_0x3df218,_0x24f841),'context':{..._0x24f841},'recoverable':!![],'retryCount':_0x24f841['retryCount']||0x0,'maxRetries':this['getMaxRetries'](_0x3df218,_0x24f841)};return _0x24f841[_0x23c400(0xb3)]&&(_0x548cb7['agentId']=_0x24f841['agentId']),_0x24f841['toolId']&&(_0x548cb7[_0x23c400(0x7e)]=_0x24f841['toolId']),_0x24f841[_0x23c400(0xc0)]&&(_0x548cb7[_0x23c400(0xc0)]=_0x24f841[_0x23c400(0xc0)]),_0x548cb7[_0x23c400(0x81)]=this['isRecoverable'](_0x548cb7),_0x548cb7;}async[a0_0xa49c72(0xbb)](_0x2f4ccb){const _0x93fdfb=a0_0xa49c72;try{this[_0x93fdfb(0xb4)][_0x93fdfb(0xe4)]('Processing\x20error',{'errorId':_0x2f4ccb['id'],'type':_0x2f4ccb['type'],'severity':_0x2f4ccb[_0x93fdfb(0x88)],'agentId':_0x2f4ccb['agentId'],'message':_0x2f4ccb[_0x93fdfb(0x8f)]});_0x2f4ccb[_0x93fdfb(0x88)]==='critical'&&await this[_0x93fdfb(0xa8)](_0x2f4ccb);let _0x29d6a1=null;return _0x2f4ccb[_0x93fdfb(0x81)]&&_0x2f4ccb['retryCount']<_0x2f4ccb['maxRetries']&&(_0x29d6a1=await this['attemptRecovery'](_0x2f4ccb)),await this[_0x93fdfb(0xb6)](_0x2f4ccb,_0x29d6a1),{'success':_0x29d6a1?.['success']||![],'errorId':_0x2f4ccb['id'],'errorType':_0x2f4ccb['type'],'severity':_0x2f4ccb[_0x93fdfb(0x88)],'recovery':_0x29d6a1,'shouldRetry':this['shouldRetry'](_0x2f4ccb,_0x29d6a1),'retryDelay':this['calculateRetryDelay'](_0x2f4ccb)};}catch(processingError){return this[_0x93fdfb(0xb4)]['error']('Error\x20processing\x20failed',{'errorId':_0x2f4ccb['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x2f4ccb['id'],'errorType':_0x2f4ccb[_0x93fdfb(0xbf)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x540d2c){const _0x342791=a0_0xa49c72;try{this['errorStats'][_0x342791(0xd0)]++;const _0x288600=this[_0x342791(0xd3)]['get'](_0x540d2c[_0x342791(0xbf)])||this[_0x342791(0xd3)]['get']('default');if(!_0x288600)return this['logger'][_0x342791(0xdd)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x540d2c[_0x342791(0xbf)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x342791(0xb4)][_0x342791(0x8c)]('Attempting\x20error\x20recovery',{'errorId':_0x540d2c['id'],'errorType':_0x540d2c[_0x342791(0xbf)],'strategy':_0x288600['name'],'retryCount':_0x540d2c['retryCount']});const _0x41d5a0=await _0x288600['recover'](_0x540d2c);return _0x41d5a0[_0x342791(0x89)]?(this[_0x342791(0xb8)][_0x342791(0xac)]++,this[_0x342791(0xb4)][_0x342791(0x8c)]('Error\x20recovery\x20successful',{'errorId':_0x540d2c['id'],'strategy':_0x288600['name']})):this[_0x342791(0xb4)][_0x342791(0xdd)](_0x342791(0xdc),{'errorId':_0x540d2c['id'],'strategy':_0x288600['name'],'reason':_0x41d5a0[_0x342791(0xab)]}),_0x41d5a0;}catch(_0x18434c){return this['logger'][_0x342791(0xe4)]('Recovery\x20attempt\x20failed',{'errorId':_0x540d2c['id'],'recoveryError':_0x18434c['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x18434c['message']};}}async[a0_0xa49c72(0xa8)](_0x4e0bdc){const _0x13d55e=a0_0xa49c72;try{this['errorStats']['criticalErrors']++,this['logger']['error'](_0x13d55e(0xe8),{'errorId':_0x4e0bdc['id'],'message':_0x4e0bdc['message'],'context':_0x4e0bdc['context']});typeof process!=='undefined'&&process[_0x13d55e(0xb1)]&&process['emit']('criticalError',_0x4e0bdc);switch(_0x4e0bdc[_0x13d55e(0xbf)]){case ERROR_TYPES[_0x13d55e(0xe0)]:await this[_0x13d55e(0xba)](_0x4e0bdc);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this[_0x13d55e(0x98)](_0x4e0bdc);break;case ERROR_TYPES[_0x13d55e(0xd7)]:await this['handleOperationTimeout'](_0x4e0bdc);break;default:await this['handleGenericCriticalError'](_0x4e0bdc);}}catch(_0x4090c5){this[_0x13d55e(0xb4)][_0x13d55e(0xe4)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x4e0bdc['id'],'handlingError':_0x4090c5['message']});}}['determineErrorType'](_0x1dd1f8,_0x5d0ec2){const _0x5b6bcf=a0_0xa49c72;if(_0x1dd1f8[_0x5b6bcf(0xa9)]==='ENOENT'||_0x1dd1f8['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x5b6bcf(0xe5)];if(_0x1dd1f8[_0x5b6bcf(0xa9)]===_0x5b6bcf(0xcd)||_0x1dd1f8[_0x5b6bcf(0xe2)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x5b6bcf(0x86)];if(_0x1dd1f8[_0x5b6bcf(0xe2)]===HTTP_STATUS[_0x5b6bcf(0xd1)])return ERROR_TYPES[_0x5b6bcf(0xe0)];if(_0x1dd1f8['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x5cf261=_0x1dd1f8[_0x5b6bcf(0x8f)]?.[_0x5b6bcf(0x95)]()||'';if(_0x5cf261['includes'](_0x5b6bcf(0xea))||_0x5cf261[_0x5b6bcf(0xb2)]('timed\x20out'))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x5cf261[_0x5b6bcf(0xb2)](_0x5b6bcf(0x90))||_0x5cf261['includes']('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x5cf261['includes']('config')||_0x5cf261['includes'](_0x5b6bcf(0xc1)))return ERROR_TYPES[_0x5b6bcf(0xb7)];if(_0x5d0ec2['operation']==='file_operation')return ERROR_TYPES[_0x5b6bcf(0xe5)];if(_0x5d0ec2[_0x5b6bcf(0x9c)]===_0x5b6bcf(0x91))return ERROR_TYPES[_0x5b6bcf(0x83)];return ERROR_TYPES[_0x5b6bcf(0xa4)];}['determineSeverity'](_0x5c9f22,_0x11580f){const _0x19fa2e=a0_0xa49c72,_0x43febb=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']],_0x764539=[ERROR_TYPES[_0x19fa2e(0x83)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x2bfe17=this['determineErrorType'](_0x5c9f22,_0x11580f);if(_0x43febb[_0x19fa2e(0xb2)](_0x2bfe17))return _0x19fa2e(0xb0);if(_0x764539['includes'](_0x2bfe17))return _0x19fa2e(0x94);const _0x3d7ced=_0x11580f&&_0x11580f['retryCount']||0x0;if(_0x3d7ced>=0x3)return'high';if(_0x11580f&&_0x11580f['agentId']&&_0x11580f[_0x19fa2e(0x9c)]===_0x19fa2e(0xde))return _0x19fa2e(0x9d);return _0x19fa2e(0x8b);}[a0_0xa49c72(0xd9)](_0x1e3d4e){const _0xc87745=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0xc87745['includes'](_0x1e3d4e['type']))return![];if(_0x1e3d4e['retryCount']>=_0x1e3d4e['maxRetries'])return![];if(_0x1e3d4e['severity']==='critical')return![];return!![];}[a0_0xa49c72(0xad)](_0x566bb0,_0x28aae5){const _0x216aec=a0_0xa49c72,_0x95ba5e=this['determineErrorType'](_0x566bb0,_0x28aae5),_0x57871f={[ERROR_TYPES[_0x216aec(0x83)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES[_0x216aec(0xe5)]]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x57871f[_0x95ba5e]||0x3;}['shouldRetry'](_0x11162e,_0x3c0d16){const _0x5bc369=a0_0xa49c72;if(!_0x11162e[_0x5bc369(0x81)])return![];if(_0x11162e['retryCount']>=_0x11162e['maxRetries'])return![];if(_0x3c0d16&&_0x3c0d16['success'])return![];return!![];}[a0_0xa49c72(0x8d)](_0x9a1b7e){const _0x3d79f4=a0_0xa49c72,_0x1c5e9f=0x3e8,_0x2e2b82=0x7530,_0x50cfe8=_0x1c5e9f*Math['pow'](0x2,_0x9a1b7e[_0x3d79f4(0xd6)]),_0x90276=Math['random']()*0x3e8;return Math[_0x3d79f4(0xc2)](_0x50cfe8+_0x90276,_0x2e2b82);}[a0_0xa49c72(0xbc)](){const _0xdcbf7e=a0_0xa49c72;this['recoveryStrategies']['set'](ERROR_TYPES[_0xdcbf7e(0xe5)],{'name':'file_not_found_recovery','recover':async _0x3393fa=>{const _0x3af785=_0xdcbf7e;if(_0x3393fa[_0x3af785(0x9b)][_0x3af785(0xa7)])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':_0x3af785(0x8a)};return{'success':![],'reason':_0x3af785(0xda)};}}),this['recoveryStrategies'][_0xdcbf7e(0xce)](ERROR_TYPES[_0xdcbf7e(0x83)],{'name':'rate_limit_recovery','recover':async _0x477a7f=>{const _0x2bd8db=_0xdcbf7e,_0x2c3872=this[_0x2bd8db(0x85)](_0x477a7f);return this[_0x2bd8db(0xb4)]['info']('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0x2c3872}),await new Promise(_0x2eaed2=>setTimeout(_0x2eaed2,_0x2c3872)),{'success':!![],'action':_0x2bd8db(0x9a),'waitTime':_0x2c3872};}}),this['recoveryStrategies'][_0xdcbf7e(0xce)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x229cc8=>{const _0x35b380=_0xdcbf7e;if(_0x229cc8[_0x35b380(0x9b)][_0x35b380(0xea)]){const _0x34c28e=Math['min'](_0x229cc8[_0x35b380(0x9b)][_0x35b380(0xea)]*1.5,0x493e0);return{'success':!![],'action':_0x35b380(0x80),'newTimeout':_0x34c28e};}return{'success':![],'reason':_0x35b380(0x7f)};}}),this[_0xdcbf7e(0xd3)][_0xdcbf7e(0xce)](ERROR_TYPES[_0xdcbf7e(0x86)],{'name':_0xdcbf7e(0xa1),'recover':async _0x52d53a=>{const _0xd9b5b5=_0xdcbf7e;return{'success':![],'reason':_0xd9b5b5(0xcc),'suggestion':_0xd9b5b5(0xbe)};}}),this['recoveryStrategies'][_0xdcbf7e(0xce)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x324984=>{const _0x597293=_0xdcbf7e;if(_0x324984['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x597293(0xa5)};return{'success':![],'reason':_0x597293(0xe3)};}}),this[_0xdcbf7e(0xd3)]['set']('default',{'name':'default_recovery','recover':async _0x404a88=>{const _0x163bbf=this['calculateRetryDelay'](_0x404a88);return await new Promise(_0x1f03d9=>setTimeout(_0x1f03d9,_0x163bbf)),{'success':!![],'action':'delay_retry','delay':_0x163bbf};}});}async[a0_0xa49c72(0xba)](_0x1a7d8c){const _0x51fcdb=a0_0xa49c72;this['logger'][_0x51fcdb(0xe4)](_0x51fcdb(0x9e),{'errorId':_0x1a7d8c['id']});if(_0x1a7d8c['agentId']){}}async[a0_0xa49c72(0x98)](_0x1e68fe){const _0x66ee87=a0_0xa49c72,_0x4e88c8=this['calculateRateLimitWait'](_0x1e68fe);this[_0x66ee87(0xb4)][_0x66ee87(0xdd)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x1e68fe['id'],'waitTime':_0x4e88c8,'agentId':_0x1e68fe['agentId']});if(_0x1e68fe[_0x66ee87(0xb3)]){}}async[a0_0xa49c72(0x99)](_0x107174){const _0x25f5d6=a0_0xa49c72;this[_0x25f5d6(0xb4)][_0x25f5d6(0xe4)](_0x25f5d6(0xd5),{'errorId':_0x107174['id'],'operation':_0x107174['context'][_0x25f5d6(0x9c)],'timeout':_0x107174['context'][_0x25f5d6(0xea)]});}async[a0_0xa49c72(0xb5)](_0x349702){const _0x34520b=a0_0xa49c72;this['logger'][_0x34520b(0xe4)](_0x34520b(0xc6),{'errorId':_0x349702['id'],'type':_0x349702[_0x34520b(0xbf)],'message':_0x349702[_0x34520b(0x8f)]}),_0x349702['agentId']&&this['logger']['warn']('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x349702['agentId']});}['calculateRateLimitWait'](_0x453017){const _0x2744ed=a0_0xa49c72,_0x2721e9=0xea60,_0xd23ef2=Math[_0x2744ed(0x93)](0x2,_0x453017[_0x2744ed(0xd6)]),_0x58fe15=0x493e0;return Math['min'](_0x2721e9*_0xd23ef2,_0x58fe15);}async[a0_0xa49c72(0xb6)](_0x19d7e5,_0x5f02c4){const _0x24d27c=a0_0xa49c72;try{const _0x429477={'errorId':_0x19d7e5['id'],'timestamp':_0x19d7e5[_0x24d27c(0xd4)],'type':_0x19d7e5['type'],'severity':_0x19d7e5['severity'],'message':_0x19d7e5['message'],'agentId':_0x19d7e5['agentId'],'toolId':_0x19d7e5['toolId'],'operationId':_0x19d7e5['operationId'],'retryCount':_0x19d7e5['retryCount'],'recoveryAttempted':!!_0x5f02c4,'recoverySuccess':_0x5f02c4?.['success']||![],'recoveryAction':_0x5f02c4?.[_0x24d27c(0x84)]||null};this[_0x24d27c(0xd2)]['push'](_0x429477),!this[_0x24d27c(0xdf)]&&this['processErrorQueue']();}catch(_0x31502a){this[_0x24d27c(0xb4)]['error']('Error\x20logging\x20failed',{'errorId':_0x19d7e5['id'],'loggingError':_0x31502a[_0x24d27c(0x8f)]});}}async['processErrorQueue'](){const _0x3fa100=a0_0xa49c72;if(this[_0x3fa100(0xdf)]||this['errorQueue']['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this[_0x3fa100(0xd2)]['length']>0x0){const _0x2c28f1=this['errorQueue']['splice'](0x0,0xa);this[_0x3fa100(0xb4)]['debug'](_0x3fa100(0x92),{'batchSize':_0x2c28f1[_0x3fa100(0xcb)]}),await new Promise(_0x4d150b=>setTimeout(_0x4d150b,0x64));}}catch(processingError){this['logger']['error']('Error\x20queue\x20processing\x20failed',{'error':processingError['message']});}finally{this[_0x3fa100(0xdf)]=![];}}[a0_0xa49c72(0xd8)](){const _0x31dc23=a0_0xa49c72;setInterval(()=>{this['errorQueue']['length']>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x5e1807=>{const _0x274987=a0_0x2c36;this['handleError'](_0x5e1807,{'type':_0x274987(0xbd),'severity':_0x274987(0xb0)});}),process['on'](_0x31dc23(0xc9),(_0x4dd5ed,_0x3f547b)=>{const _0x4e57b2=_0x31dc23;this[_0x4e57b2(0xe9)](new Error('Unhandled\x20Rejection:\x20'+_0x4dd5ed),{'type':_0x4e57b2(0xc4),'severity':_0x4e57b2(0x94),'promise':_0x3f547b['toString']()});}));}['updateErrorStats'](_0x30137d){const _0x5272f1=a0_0xa49c72;this[_0x5272f1(0xb8)]['totalErrors']++,!this[_0x5272f1(0xb8)]['errorsByType'][_0x5272f1(0xca)](_0x30137d[_0x5272f1(0xbf)])&&this[_0x5272f1(0xb8)]['errorsByType'][_0x5272f1(0xce)](_0x30137d[_0x5272f1(0xbf)],0x0),this['errorStats']['errorsByType']['set'](_0x30137d['type'],this[_0x5272f1(0xb8)]['errorsByType']['get'](_0x30137d[_0x5272f1(0xbf)])+0x1),_0x30137d[_0x5272f1(0xb3)]&&(!this[_0x5272f1(0xb8)][_0x5272f1(0xdb)][_0x5272f1(0xca)](_0x30137d[_0x5272f1(0xb3)])&&this[_0x5272f1(0xb8)]['errorsByAgent']['set'](_0x30137d['agentId'],0x0),this[_0x5272f1(0xb8)][_0x5272f1(0xdb)]['set'](_0x30137d[_0x5272f1(0xb3)],this[_0x5272f1(0xb8)]['errorsByAgent'][_0x5272f1(0xc5)](_0x30137d[_0x5272f1(0xb3)])+0x1));}[a0_0xa49c72(0xc3)](_0x553e76){const _0x47a91f=a0_0xa49c72;return this['errorSubscribers'][_0x47a91f(0x87)](_0x553e76),()=>this['errorSubscribers']['delete'](_0x553e76);}['notifySubscribers'](_0xd39315,_0x38377d){const _0x40b6a9=a0_0xa49c72;this['errorSubscribers'][_0x40b6a9(0x97)](_0x476224=>{const _0x35e600=_0x40b6a9;try{_0x476224(_0xd39315,_0x38377d);}catch(_0xd6cd12){this['logger'][_0x35e600(0xe4)]('Error\x20subscriber\x20callback\x20failed',{'error':_0xd6cd12[_0x35e600(0x8f)]});}});}[a0_0xa49c72(0xa0)](){const _0x5838a2=a0_0xa49c72;return'err_'+Date[_0x5838a2(0xae)]()+'_'+Math[_0x5838a2(0xed)]()['toString'](0x24)['substr'](0x2,0x9);}['getErrorStats'](){const _0x849fba=a0_0xa49c72;return{'totalErrors':this[_0x849fba(0xb8)]['totalErrors'],'errorsByType':Object['fromEntries'](this[_0x849fba(0xb8)]['errorsByType']),'errorsByAgent':Object['fromEntries'](this[_0x849fba(0xb8)]['errorsByAgent']),'recoveryAttempts':this['errorStats'][_0x849fba(0xd0)],'successfulRecoveries':this['errorStats'][_0x849fba(0xac)],'recoverySuccessRate':this['errorStats'][_0x849fba(0xd0)]>0x0?this[_0x849fba(0xb8)]['successfulRecoveries']/this['errorStats'][_0x849fba(0xd0)]:0x0,'criticalErrors':this['errorStats'][_0x849fba(0x8e)],'queueLength':this['errorQueue'][_0x849fba(0xcb)]};}['clearErrorStats'](){const _0x4cea2c=a0_0xa49c72;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x4cea2c(0xd2)]=[];}}export default ErrorHandler;
1
+ const a0_0x250e1e=a0_0xfc07;function a0_0xfc07(_0x1c74e6,_0x5d7401){_0x1c74e6=_0x1c74e6-0x16e;const _0x564f80=a0_0x564f();let _0xfc0754=_0x564f80[_0x1c74e6];if(a0_0xfc07['LXOePs']===undefined){var _0x168201=function(_0xbb63f3){const _0x5e127b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x349a93='',_0x2972d4='';for(let _0x528714=0x0,_0x8e7670,_0x5e6edd,_0x2f5d25=0x0;_0x5e6edd=_0xbb63f3['charAt'](_0x2f5d25++);~_0x5e6edd&&(_0x8e7670=_0x528714%0x4?_0x8e7670*0x40+_0x5e6edd:_0x5e6edd,_0x528714++%0x4)?_0x349a93+=String['fromCharCode'](0xff&_0x8e7670>>(-0x2*_0x528714&0x6)):0x0){_0x5e6edd=_0x5e127b['indexOf'](_0x5e6edd);}for(let _0x2ab747=0x0,_0x64296e=_0x349a93['length'];_0x2ab747<_0x64296e;_0x2ab747++){_0x2972d4+='%'+('00'+_0x349a93['charCodeAt'](_0x2ab747)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2972d4);};a0_0xfc07['ikVCDb']=_0x168201,a0_0xfc07['EOjIlN']={},a0_0xfc07['LXOePs']=!![];}const _0x6a8c57=_0x564f80[0x0],_0x2a288a=_0x1c74e6+_0x6a8c57,_0x51efb6=a0_0xfc07['EOjIlN'][_0x2a288a];return!_0x51efb6?(_0xfc0754=a0_0xfc07['ikVCDb'](_0xfc0754),a0_0xfc07['EOjIlN'][_0x2a288a]=_0xfc0754):_0xfc0754=_0x51efb6,_0xfc0754;}(function(_0x5f0d8f,_0x4bfdfb){const _0x33c427=a0_0xfc07,_0x5397cd=_0x5f0d8f();while(!![]){try{const _0x4ddb17=-parseInt(_0x33c427(0x1c9))/0x1+parseInt(_0x33c427(0x1c7))/0x2*(-parseInt(_0x33c427(0x171))/0x3)+-parseInt(_0x33c427(0x1b1))/0x4+-parseInt(_0x33c427(0x17a))/0x5*(-parseInt(_0x33c427(0x1ba))/0x6)+-parseInt(_0x33c427(0x1a2))/0x7+parseInt(_0x33c427(0x172))/0x8*(parseInt(_0x33c427(0x19e))/0x9)+parseInt(_0x33c427(0x17d))/0xa;if(_0x4ddb17===_0x4bfdfb)break;else _0x5397cd['push'](_0x5397cd['shift']());}catch(_0x336b0d){_0x5397cd['push'](_0x5397cd['shift']());}}}(a0_0x564f,0x511e6));function a0_0x564f(){const _0x42d85f=['CgvYBwLZC2LVBL9YzwnVDMvYEq','Dg9ju09tDhjPBMC','Aw5JCMvHC2vKx3rPBwvVDxq','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','nJvHvhvUs3a','y2fSy3vSyxrLuMv0CNLezwXHEq','C3vJy2vZCW','ota5mtCZmfv1wuPAzW','y29UDgv4Da','CMvJB3zLCNLtDhjHDgvNAwvZ','y3jPDgLJywXfCNjVCG','AgfZ','zxjYB3jrDwv1zq','BwvZC2fNzq','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','DMfSAwrHDgLVBL9YzwnVDMvYEq','rKLmrv9ot1rFrK9vtKq','yxbPx3jLCxvLC3q','zgv0zxjTAw5Lu2v2zxjPDhK','Bg9Nz2vY','B3bLCMf0Aw9U','DxbKyxrLrxjYB3jtDgf0CW','Dw5JyxvNAhrfEgnLChrPB24','zxjYB3jtDgf0CW','uKfurv9msu1jvf9fwenfrurfra','ChjVy2vZC0vYCM9Y','zxjYxW','CMvJB3zLCMfIBgu','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','vKfmsurbveLptL9fuLjpuG','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','CMv0CNLdB3vUDa','tM8GzMLSzsbWyxrOihbYB3zPzgvK','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','zxjYB3jtDwjZy3jPyMvYCW','Dg9VBeLK','Aw5WDxreyxrH','Cg93','q09orKLhvvjbveLptL9fuLjpuG','y3jPDgLJywXfCNjVCNm','ovDzqufZwq','Dg90ywXfCNjVCNm','zgvSzxrL','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','mZi4otyYoxrMshjwvW','BgvUz3rO','CMfUzg9T','C2HVDwXKuMv0CNK','C2v2zxjPDhK','C3vIC3rY','rxjYB3iGAgfUzgXPBMCGzMfPBgvK','y2XHC3nPzNLfCNjVCG','CMvJB3zLCNLbDhrLBxb0CW','ChvZAa','AgfUzgXLrxjYB3i','C3rHy2S','B3bLCMf0Aw9Uswq','zxjYB3jZqNLuExbL','C3vIC2nYAwjL','mtKXnZi4og93EhbeEa','ve9px01btLLFuKvrvuvtvfm','zw1PDa','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM93','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','C2v0','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','qvvusevoveLdqvrjt05FrKfjteve','mtG0ntqYAwnxtvD4','zxjYB3jZqNLbz2vUDa','Aw5JBhvKzxm','AgLNAa','y2XLyxjfCNjVCLn0yxrZ','zgvSyxLFCMv0CNK','C2v0DxbfCNjVCLbYB2nLC3nPBMC','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','C3bSAwnL','y3jPDgLJywW','Dg9mB3DLCKnHC2u','vu5ltK9xtL9fuLjpuG','zgv0zxjTAw5LrxjYB3juExbL','nJK4whHvEhDs','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','ndmXodiXq2TSu0zV','t1bfuKfusu9ox1rjtuvpvvq','DhLWzq','AxnszwnVDMvYywjSzq','zgvIDwC','BwLU','C3vJy2vZC2z1BfjLy292zxjPzxm','D2fYBG','rxjYB3iGBg9Nz2LUzYbMywLSzwq','ywDLBNrFy29TBxvUAwnHDgLVBG','C3rHDhvZ','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','ru5pru5u','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','z2v0','Bg9NrxjYB3i','DgLTzw91Da','uevstuLtu0LptL9eru5jruq','tK9ux0zpvu5e','ywDLBNrjza','zxjYB3i','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','DgLTzwqGB3v0','mtK0mvD5yKjewq','nta0mteYohPmq2TlBG','Dg9tDhjPBMC','AgfUzgXLq3jPDgLJywXfCNjVCG','Bwf4uMv0CMLLCW'];a0_0x564f=function(){return _0x42d85f;};return a0_0x564f();}import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x349a93,_0x2972d4){const _0x2cf61d=a0_0xfc07;this['config']=_0x349a93||{},this[_0x2cf61d(0x189)]=_0x2972d4,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x2cf61d(0x17f)]=new Map(),this[_0x2cf61d(0x198)]=new Set(),this['errorQueue']=[],this['isProcessingQueue']=![],this[_0x2cf61d(0x197)](),this[_0x2cf61d(0x1c0)]();}async[a0_0x250e1e(0x1ac)](_0x528714,_0x8e7670={}){const _0x23f78c=a0_0x250e1e;try{const _0x5e6edd=this['classifyError'](_0x528714,_0x8e7670),_0x2f5d25=await this[_0x23f78c(0x18f)](_0x5e6edd);return this[_0x23f78c(0x18b)](_0x5e6edd),this['notifySubscribers'](_0x5e6edd,_0x2f5d25),_0x2f5d25;}catch(_0x2ab747){return this['logger']['error'](_0x23f78c(0x1a8),{'originalError':_0x528714['message'],'handlingError':_0x2ab747['message']}),{'success':![],'error':_0x2ab747,'recovery':null,'severity':'critical'};}}[a0_0x250e1e(0x1a9)](_0x64296e,_0x48d393={}){const _0x155e2e=a0_0x250e1e,_0x58a43b={'id':this['generateErrorId'](),'timestamp':new Date()[_0x155e2e(0x177)](),'message':_0x64296e['message']||_0x64296e[_0x155e2e(0x173)](),'stack':_0x64296e[_0x155e2e(0x1ad)]||null,'code':_0x64296e['code']||null,'type':this['determineErrorType'](_0x64296e,_0x48d393),'severity':this[_0x155e2e(0x188)](_0x64296e,_0x48d393),'context':{..._0x48d393},'recoverable':!![],'retryCount':_0x48d393['retryCount']||0x0,'maxRetries':this['getMaxRetries'](_0x64296e,_0x48d393)};return _0x48d393[_0x155e2e(0x1dc)]&&(_0x58a43b['agentId']=_0x48d393['agentId']),_0x48d393['toolId']&&(_0x58a43b[_0x155e2e(0x199)]=_0x48d393['toolId']),_0x48d393['operationId']&&(_0x58a43b[_0x155e2e(0x1ae)]=_0x48d393['operationId']),_0x58a43b[_0x155e2e(0x191)]=this[_0x155e2e(0x1cc)](_0x58a43b),_0x58a43b;}async[a0_0x250e1e(0x18f)](_0x4758f3){const _0x1b16ad=a0_0x250e1e;try{this['logger'][_0x1b16ad(0x1dd)]('Processing\x20error',{'errorId':_0x4758f3['id'],'type':_0x4758f3['type'],'severity':_0x4758f3[_0x1b16ad(0x1a6)],'agentId':_0x4758f3[_0x1b16ad(0x1dc)],'message':_0x4758f3[_0x1b16ad(0x183)]});_0x4758f3[_0x1b16ad(0x1a6)]===_0x1b16ad(0x1c3)&&await this[_0x1b16ad(0x174)](_0x4758f3);let _0x530804=null;return _0x4758f3[_0x1b16ad(0x191)]&&_0x4758f3['retryCount']<_0x4758f3[_0x1b16ad(0x175)]&&(_0x530804=await this['attemptRecovery'](_0x4758f3)),await this[_0x1b16ad(0x1d8)](_0x4758f3,_0x530804),{'success':_0x530804?.['success']||![],'errorId':_0x4758f3['id'],'errorType':_0x4758f3[_0x1b16ad(0x1cb)],'severity':_0x4758f3[_0x1b16ad(0x1a6)],'recovery':_0x530804,'shouldRetry':this['shouldRetry'](_0x4758f3,_0x530804),'retryDelay':this['calculateRetryDelay'](_0x4758f3)};}catch(processingError){return this[_0x1b16ad(0x189)][_0x1b16ad(0x1dd)]('Error\x20processing\x20failed',{'errorId':_0x4758f3['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x4758f3['id'],'errorType':_0x4758f3['type'],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x27f44b){const _0x5341b7=a0_0x250e1e;try{this[_0x5341b7(0x18d)]['recoveryAttempts']++;const _0x4797b5=this[_0x5341b7(0x17f)]['get'](_0x27f44b['type'])||this[_0x5341b7(0x17f)]['get']('default');if(!_0x4797b5)return this['logger'][_0x5341b7(0x1d0)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x27f44b[_0x5341b7(0x1cb)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x5341b7(0x189)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x27f44b['id'],'errorType':_0x27f44b[_0x5341b7(0x1cb)],'strategy':_0x4797b5['name'],'retryCount':_0x27f44b[_0x5341b7(0x195)]});const _0x2e9db1=await _0x4797b5['recover'](_0x27f44b);return _0x2e9db1['success']?(this[_0x5341b7(0x18d)]['successfulRecoveries']++,this[_0x5341b7(0x189)]['info']('Error\x20recovery\x20successful',{'errorId':_0x27f44b['id'],'strategy':_0x4797b5['name']})):this[_0x5341b7(0x189)][_0x5341b7(0x1d0)](_0x5341b7(0x1a1),{'errorId':_0x27f44b['id'],'strategy':_0x4797b5['name'],'reason':_0x2e9db1['reason']}),_0x2e9db1;}catch(_0x5069e1){return this['logger'][_0x5341b7(0x1dd)]('Recovery\x20attempt\x20failed',{'errorId':_0x27f44b['id'],'recoveryError':_0x5069e1[_0x5341b7(0x183)]}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x5069e1['message']};}}async[a0_0x250e1e(0x174)](_0x2c3f84){const _0x17bc6d=a0_0x250e1e;try{this['errorStats'][_0x17bc6d(0x19d)]++,this['logger'][_0x17bc6d(0x1dd)](_0x17bc6d(0x1d4),{'errorId':_0x2c3f84['id'],'message':_0x2c3f84['message'],'context':_0x2c3f84[_0x17bc6d(0x17e)]});typeof process!=='undefined'&&process['emit']&&process[_0x17bc6d(0x1b3)](_0x17bc6d(0x180),_0x2c3f84);switch(_0x2c3f84[_0x17bc6d(0x1cb)]){case ERROR_TYPES[_0x17bc6d(0x1b9)]:await this[_0x17bc6d(0x179)](_0x2c3f84);break;case ERROR_TYPES[_0x17bc6d(0x18e)]:await this['handleRateLimitExceeded'](_0x2c3f84);break;case ERROR_TYPES[_0x17bc6d(0x1ca)]:await this[_0x17bc6d(0x16f)](_0x2c3f84);break;default:await this['handleGenericCriticalError'](_0x2c3f84);}}catch(_0x49966a){this[_0x17bc6d(0x189)][_0x17bc6d(0x1dd)](_0x17bc6d(0x1c1),{'errorId':_0x2c3f84['id'],'handlingError':_0x49966a[_0x17bc6d(0x183)]});}}[a0_0x250e1e(0x1c6)](_0x5454ad,_0x2a1888){const _0x585767=a0_0x250e1e;if(_0x5454ad['code']===_0x585767(0x1d5)||_0x5454ad[_0x585767(0x1d3)]===HTTP_STATUS[_0x585767(0x1db)])return ERROR_TYPES[_0x585767(0x186)];if(_0x5454ad['code']==='EACCES'||_0x5454ad[_0x585767(0x1d3)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x5454ad[_0x585767(0x1d3)]===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x5454ad['status']===HTTP_STATUS[_0x585767(0x1b2)])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x16180e=_0x5454ad['message']?.[_0x585767(0x1c4)]()||'';if(_0x16180e[_0x585767(0x1bc)](_0x585767(0x1d9))||_0x16180e[_0x585767(0x1bc)](_0x585767(0x170)))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x16180e['includes']('validation')||_0x16180e[_0x585767(0x1bc)]('invalid'))return ERROR_TYPES[_0x585767(0x193)];if(_0x16180e[_0x585767(0x1bc)]('config')||_0x16180e['includes']('configuration'))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x2a1888[_0x585767(0x18a)]==='file_operation')return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x2a1888['operation']===_0x585767(0x187))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x2e5d8a,_0x11fa50){const _0x5b50b5=a0_0x250e1e,_0x5b0fc2=[ERROR_TYPES[_0x5b50b5(0x1b9)],ERROR_TYPES[_0x5b50b5(0x19c)]],_0x34a3f7=[ERROR_TYPES[_0x5b50b5(0x18e)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x5b50b5(0x1da)]],_0x5c0c13=this[_0x5b50b5(0x1c6)](_0x2e5d8a,_0x11fa50);if(_0x5b0fc2[_0x5b50b5(0x1bc)](_0x5c0c13))return _0x5b50b5(0x1c3);if(_0x34a3f7['includes'](_0x5c0c13))return'high';const _0x3b2e4f=_0x11fa50&&_0x11fa50['retryCount']||0x0;if(_0x3b2e4f>=0x3)return _0x5b50b5(0x1bd);if(_0x11fa50&&_0x11fa50['agentId']&&_0x11fa50[_0x5b50b5(0x18a)]===_0x5b50b5(0x1d2))return'medium';return'low';}[a0_0x250e1e(0x1cc)](_0x910540){const _0x238bf0=a0_0x250e1e,_0xd830dc=[ERROR_TYPES[_0x238bf0(0x1b9)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0xd830dc['includes'](_0x910540[_0x238bf0(0x1cb)]))return![];if(_0x910540['retryCount']>=_0x910540[_0x238bf0(0x175)])return![];if(_0x910540[_0x238bf0(0x1a6)]==='critical')return![];return!![];}['getMaxRetries'](_0xfebc51,_0x3de2d9){const _0x58ec26=a0_0x250e1e,_0x47922f=this[_0x58ec26(0x1c6)](_0xfebc51,_0x3de2d9),_0x5e47d7={[ERROR_TYPES[_0x58ec26(0x18e)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES[_0x58ec26(0x186)]]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES[_0x58ec26(0x1c5)]]:0x3};return _0x5e47d7[_0x47922f]||0x3;}[a0_0x250e1e(0x1a5)](_0x5ec65c,_0x1694a1){const _0x23962c=a0_0x250e1e;if(!_0x5ec65c['recoverable'])return![];if(_0x5ec65c['retryCount']>=_0x5ec65c[_0x23962c(0x175)])return![];if(_0x1694a1&&_0x1694a1['success'])return![];return!![];}[a0_0x250e1e(0x17b)](_0x4994fe){const _0x594004=a0_0x250e1e,_0x192ca3=0x3e8,_0x568192=0x7530,_0x406dd0=_0x192ca3*Math[_0x594004(0x19b)](0x2,_0x4994fe['retryCount']),_0x52cefa=Math['random']()*0x3e8;return Math['min'](_0x406dd0+_0x52cefa,_0x568192);}['initializeRecoveryStrategies'](){const _0x1d1943=a0_0x250e1e;this['recoveryStrategies']['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5d12f2=>{const _0x282f8e=a0_0xfc07;if(_0x5d12f2[_0x282f8e(0x17e)]['filePath'])return{'success':![],'reason':_0x282f8e(0x1d6),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x282f8e(0x196)};}}),this['recoveryStrategies']['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':'rate_limit_recovery','recover':async _0x500a28=>{const _0xf4d4df=a0_0xfc07,_0x191e27=this['calculateRateLimitWait'](_0x500a28);return this['logger']['info'](_0xf4d4df(0x1b6),{'waitTime':_0x191e27}),await new Promise(_0x48226d=>setTimeout(_0x48226d,_0x191e27)),{'success':!![],'action':_0xf4d4df(0x1c8),'waitTime':_0x191e27};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x1d1943(0x1ca)],{'name':'timeout_recovery','recover':async _0x2ac699=>{const _0x1aab9b=_0x1d1943;if(_0x2ac699['context']['timeout']){const _0x3fd0cb=Math[_0x1aab9b(0x1ce)](_0x2ac699[_0x1aab9b(0x17e)]['timeout']*1.5,0x493e0);return{'success':!![],'action':_0x1aab9b(0x178),'newTimeout':_0x3fd0cb};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this['recoveryStrategies']['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':_0x1d1943(0x176),'recover':async _0x232032=>{const _0x4e9623=_0x1d1943;return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':_0x4e9623(0x16e)};}}),this['recoveryStrategies']['set'](ERROR_TYPES[_0x1d1943(0x193)],{'name':_0x1d1943(0x185),'recover':async _0x26b2a9=>{const _0x1291ce=_0x1d1943;if(_0x26b2a9['context'][_0x1291ce(0x19a)])return{'success':!![],'action':'data_sanitization','suggestion':_0x1291ce(0x194)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies'][_0x1d1943(0x1b7)]('default',{'name':'default_recovery','recover':async _0x2fa958=>{const _0x41ffc3=_0x1d1943,_0x3c3908=this[_0x41ffc3(0x17b)](_0x2fa958);return await new Promise(_0x32eb01=>setTimeout(_0x32eb01,_0x3c3908)),{'success':!![],'action':_0x41ffc3(0x1bf),'delay':_0x3c3908};}});}async[a0_0x250e1e(0x179)](_0x102911){const _0x26cd77=a0_0x250e1e;this[_0x26cd77(0x189)][_0x26cd77(0x1dd)]('Authentication\x20failure\x20detected',{'errorId':_0x102911['id']});if(_0x102911[_0x26cd77(0x1dc)]){}}async[a0_0x250e1e(0x192)](_0x16a555){const _0x5e5733=a0_0x250e1e,_0x17412d=this['calculateRateLimitWait'](_0x16a555);this['logger']['warn']('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x16a555['id'],'waitTime':_0x17412d,'agentId':_0x16a555[_0x5e5733(0x1dc)]});if(_0x16a555['agentId']){}}async[a0_0x250e1e(0x16f)](_0x32edfc){const _0xe23ad5=a0_0x250e1e;this['logger'][_0xe23ad5(0x1dd)]('Operation\x20timeout\x20detected',{'errorId':_0x32edfc['id'],'operation':_0x32edfc[_0xe23ad5(0x17e)]['operation'],'timeout':_0x32edfc['context'][_0xe23ad5(0x1d9)]});}async['handleGenericCriticalError'](_0x6143fd){const _0x5561f9=a0_0x250e1e;this[_0x5561f9(0x189)][_0x5561f9(0x1dd)]('Generic\x20critical\x20error',{'errorId':_0x6143fd['id'],'type':_0x6143fd['type'],'message':_0x6143fd['message']}),_0x6143fd[_0x5561f9(0x1dc)]&&this[_0x5561f9(0x189)]['warn']('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x6143fd['agentId']});}[a0_0x250e1e(0x184)](_0x52dfb0){const _0x1240d5=a0_0x250e1e,_0xfb290a=0xea60,_0x53fab6=Math['pow'](0x2,_0x52dfb0['retryCount']),_0x33c433=0x493e0;return Math[_0x1240d5(0x1ce)](_0xfb290a*_0x53fab6,_0x33c433);}async['logError'](_0x520c53,_0x543064){const _0x22496d=a0_0x250e1e;try{const _0x363437={'errorId':_0x520c53['id'],'timestamp':_0x520c53['timestamp'],'type':_0x520c53[_0x22496d(0x1cb)],'severity':_0x520c53[_0x22496d(0x1a6)],'message':_0x520c53['message'],'agentId':_0x520c53[_0x22496d(0x1dc)],'toolId':_0x520c53['toolId'],'operationId':_0x520c53[_0x22496d(0x1ae)],'retryCount':_0x520c53['retryCount'],'recoveryAttempted':!!_0x543064,'recoverySuccess':_0x543064?.[_0x22496d(0x17c)]||![],'recoveryAction':_0x543064?.['action']||null};this['errorQueue'][_0x22496d(0x1ab)](_0x363437),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x2c20bc){this[_0x22496d(0x189)][_0x22496d(0x1dd)](_0x22496d(0x1d1),{'errorId':_0x520c53['id'],'loggingError':_0x2c20bc[_0x22496d(0x183)]});}}async['processErrorQueue'](){const _0x219e51=a0_0x250e1e;if(this['isProcessingQueue']||this[_0x219e51(0x182)][_0x219e51(0x1a3)]===0x0)return;this['isProcessingQueue']=!![];try{while(this[_0x219e51(0x182)]['length']>0x0){const _0x2c7d94=this[_0x219e51(0x182)][_0x219e51(0x1c2)](0x0,0xa);this[_0x219e51(0x189)][_0x219e51(0x1cd)]('Processing\x20error\x20batch',{'batchSize':_0x2c7d94['length']}),await new Promise(_0x503509=>setTimeout(_0x503509,0x64));}}catch(processingError){this[_0x219e51(0x189)][_0x219e51(0x1dd)]('Error\x20queue\x20processing\x20failed',{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x577c36=a0_0x250e1e;setInterval(()=>{this['errorQueue']['length']>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on'](_0x577c36(0x18c),_0x11ab57=>{const _0x508b96=_0x577c36;this[_0x508b96(0x1ac)](_0x11ab57,{'type':'uncaught_exception','severity':_0x508b96(0x1c3)});}),process['on'](_0x577c36(0x1b4),(_0x204be5,_0x4eddba)=>{const _0x291d4c=_0x577c36;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x204be5),{'type':_0x291d4c(0x1b8),'severity':'high','promise':_0x4eddba['toString']()});}));}['updateErrorStats'](_0x442e80){const _0x4df2e1=a0_0x250e1e;this['errorStats'][_0x4df2e1(0x19f)]++,!this['errorStats']['errorsByType'][_0x4df2e1(0x181)](_0x442e80[_0x4df2e1(0x1cb)])&&this[_0x4df2e1(0x18d)][_0x4df2e1(0x1af)][_0x4df2e1(0x1b7)](_0x442e80['type'],0x0),this['errorStats']['errorsByType']['set'](_0x442e80[_0x4df2e1(0x1cb)],this[_0x4df2e1(0x18d)]['errorsByType'][_0x4df2e1(0x1d7)](_0x442e80[_0x4df2e1(0x1cb)])+0x1),_0x442e80['agentId']&&(!this['errorStats']['errorsByAgent']['has'](_0x442e80['agentId'])&&this['errorStats'][_0x4df2e1(0x1bb)][_0x4df2e1(0x1b7)](_0x442e80['agentId'],0x0),this['errorStats']['errorsByAgent'][_0x4df2e1(0x1b7)](_0x442e80[_0x4df2e1(0x1dc)],this[_0x4df2e1(0x18d)]['errorsByAgent']['get'](_0x442e80['agentId'])+0x1));}[a0_0x250e1e(0x1b0)](_0xa9f33f){const _0x5a32c7=a0_0x250e1e;return this[_0x5a32c7(0x198)]['add'](_0xa9f33f),()=>this['errorSubscribers'][_0x5a32c7(0x1a0)](_0xa9f33f);}['notifySubscribers'](_0x1e1ce7,_0x20a652){const _0x53643a=a0_0x250e1e;this[_0x53643a(0x198)]['forEach'](_0x3b6ba3=>{const _0x1f86b8=_0x53643a;try{_0x3b6ba3(_0x1e1ce7,_0x20a652);}catch(_0x3b8796){this[_0x1f86b8(0x189)][_0x1f86b8(0x1dd)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x3b8796['message']});}});}['generateErrorId'](){const _0x31dae0=a0_0x250e1e;return _0x31dae0(0x190)+Date[_0x31dae0(0x1b5)]()+'_'+Math[_0x31dae0(0x1a4)]()[_0x31dae0(0x173)](0x24)[_0x31dae0(0x1a7)](0x2,0x9);}['getErrorStats'](){const _0x5ec410=a0_0x250e1e;return{'totalErrors':this[_0x5ec410(0x18d)][_0x5ec410(0x19f)],'errorsByType':Object['fromEntries'](this['errorStats']['errorsByType']),'errorsByAgent':Object['fromEntries'](this[_0x5ec410(0x18d)]['errorsByAgent']),'recoveryAttempts':this[_0x5ec410(0x18d)][_0x5ec410(0x1aa)],'successfulRecoveries':this[_0x5ec410(0x18d)]['successfulRecoveries'],'recoverySuccessRate':this[_0x5ec410(0x18d)]['recoveryAttempts']>0x0?this[_0x5ec410(0x18d)][_0x5ec410(0x1cf)]/this[_0x5ec410(0x18d)]['recoveryAttempts']:0x0,'criticalErrors':this[_0x5ec410(0x18d)][_0x5ec410(0x19d)],'queueLength':this['errorQueue']['length']};}[a0_0x250e1e(0x1be)](){const _0x216eb5=a0_0x250e1e;this[_0x216eb5(0x18d)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- const a0_0x164eb3=a0_0x42cd;(function(_0x44d276,_0x38c018){const _0x5894c8=a0_0x42cd,_0x23ccc3=_0x44d276();while(!![]){try{const _0x5d9a43=-parseInt(_0x5894c8(0x148))/0x1*(parseInt(_0x5894c8(0x141))/0x2)+parseInt(_0x5894c8(0x143))/0x3*(-parseInt(_0x5894c8(0x14c))/0x4)+-parseInt(_0x5894c8(0x158))/0x5+parseInt(_0x5894c8(0x154))/0x6+parseInt(_0x5894c8(0x112))/0x7*(parseInt(_0x5894c8(0x10d))/0x8)+parseInt(_0x5894c8(0x152))/0x9*(parseInt(_0x5894c8(0x134))/0xa)+parseInt(_0x5894c8(0x131))/0xb;if(_0x5d9a43===_0x38c018)break;else _0x23ccc3['push'](_0x23ccc3['shift']());}catch(_0x1382ae){_0x23ccc3['push'](_0x23ccc3['shift']());}}}(a0_0x47b6,0x19da8));import a0_0x2f74f5 from'path';import{fileURLToPath}from'url';function a0_0x47b6(){const _0x5cd115=['BgvUz3rO','CMvMzxjLBMnLzej5','CMvMzxjLBMnL','ywn0AxzL','yMfZzw5HBwu','y29UzMLN','y29UDgvUDezPBgvoyw1L','ywDLBNrszwzZ','Bg94AweTC3rHDgu','yxr0ywnOBwvUDhm','ywDLBNrjza','C2L6zq','lI4U','CMvHzezPBgu','DMfSAwrHDgu','C2f2zuLUzgv4','C2L6zuXLDMvS','y3DK','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','Bw9Kzq','Dg9ju09tDhjPBMC','Dgv4Da','Aw1WB3j0rNjVBufNzw50','z2v0q29UDgvUDfr5Cgu','z2v0twLTzvr5Cgu','mJC4mtaWowrIENvbAW','Bg9Nz2vY','y29UDgvUDc50Ehq','mJbjBfP0v2u','zgf0ytPPBwfNzq','D3jPDgvgAwXL','DxbSB2fKrMLSzq','Bw9KAwzPzwq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Bg9HzeLUzgv4','Bwv0ywrHDgeUANnVBG','zxjYB3i','zMLSzvbYB2nLC3nVCG','DxrMoa','Aw5MBW','rxjYB3iGBg9HzgLUzYbPBMrLEa','nKfNvMzeuq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','m2n5vwHftq','rMLSzsbUB3qGzM91BMq6ia','BwvZC2fNzq','Aw5KzxG','Dg9Nz2XLqwn0AxzL','nJi5nZDVBxbcDKC','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','z2v0qxr0ywnOBwvUDenVBNrLBNq','zxn0Aw1HDgvuB2TLBNm','mZm0ndeYA0HVBgLZ','BgfZDe1VzgLMAwvK','zMLSzu5HBwu','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','zMLSzuv4Axn0CW','C3vIC3rYAw5N','ndKYnde3rMX5CvjH','z2v0qxr0ywnOBwvUDhm','mZq5mJCYCe1gwvPg','z2v0qxr0ywnOBwvUDa','AM9PBG','DMfSAwq','mZK0nteWB0XPu0fP','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','qxr0ywnOBwvUDcbKzwXLDgvK','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','zgLYBMfTzq','ntKWmdbrseP6q3O','ChvZAa','y29UDgvUDa','DMfSAwrHDg9Y','zMLSDgvY','mZvTqwTqzva','C3rYAw5NAwz5','y3jLyxrLrgLYzwn0B3j5'];a0_0x47b6=function(){return _0x5cd115;};return a0_0x47b6();}function a0_0x42cd(_0x203b66,_0x5a102c){_0x203b66=_0x203b66-0x109;const _0x47b6de=a0_0x47b6();let _0x42cd07=_0x47b6de[_0x203b66];if(a0_0x42cd['qYgvkh']===undefined){var _0x58426d=function(_0xa22d23){const _0x13be1e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f74f5='',_0x3cfbda='';for(let _0x159fb1=0x0,_0x38b380,_0x493c45,_0x42e39f=0x0;_0x493c45=_0xa22d23['charAt'](_0x42e39f++);~_0x493c45&&(_0x38b380=_0x159fb1%0x4?_0x38b380*0x40+_0x493c45:_0x493c45,_0x159fb1++%0x4)?_0x2f74f5+=String['fromCharCode'](0xff&_0x38b380>>(-0x2*_0x159fb1&0x6)):0x0){_0x493c45=_0x13be1e['indexOf'](_0x493c45);}for(let _0x4d4496=0x0,_0x32d432=_0x2f74f5['length'];_0x4d4496<_0x32d432;_0x4d4496++){_0x3cfbda+='%'+('00'+_0x2f74f5['charCodeAt'](_0x4d4496)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3cfbda);};a0_0x42cd['IZROkf']=_0x58426d,a0_0x42cd['ifZGaX']={},a0_0x42cd['qYgvkh']=!![];}const _0x50c95d=_0x47b6de[0x0],_0x96fd5f=_0x203b66+_0x50c95d,_0x36fc07=a0_0x42cd['ifZGaX'][_0x96fd5f];return!_0x36fc07?(_0x42cd07=a0_0x42cd['IZROkf'](_0x42cd07),a0_0x42cd['ifZGaX'][_0x96fd5f]=_0x42cd07):_0x42cd07=_0x36fc07,_0x42cd07;}import{randomUUID}from'crypto';import a0_0x3cfbda from'../utilities/fileProcessor.js';import a0_0x159fb1 from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x2f74f5[a0_0x164eb3(0x10c)](__filename),ATTACHMENTS_DIR=a0_0x2f74f5[a0_0x164eb3(0x156)](process[a0_0x164eb3(0x126)](),a0_0x164eb3(0x11d),a0_0x164eb3(0x11e)),INDEX_FILE=a0_0x2f74f5['join'](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x38b380={},_0x493c45=null){const _0x33c2fe=a0_0x164eb3;this[_0x33c2fe(0x11a)]=_0x38b380,this['logger']=_0x493c45,this['fileProcessor']=new a0_0x3cfbda(_0x38b380,_0x493c45),this[_0x33c2fe(0x110)]=new a0_0x159fb1(_0x38b380,_0x493c45),this['index']=null;}async['initialize'](){const _0x2869d4=a0_0x164eb3;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x2869d4(0x13a)](),this['logger']?.['info'](_0x2869d4(0x127),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x42e39f){this['logger']?.['error']('Error\x20initializing\x20FileAttachmentService',{'error':_0x42e39f['message']});throw _0x42e39f;}}async[a0_0x164eb3(0x13a)](){const _0xc23fc=a0_0x164eb3;try{const _0x4d4496=await this[_0xc23fc(0x13d)]['fileExists'](INDEX_FILE);if(!_0x4d4496)this[_0xc23fc(0x146)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x32d432=await this['fileProcessor']['readFile'](INDEX_FILE,_0xc23fc(0x13e));this[_0xc23fc(0x146)]=JSON['parse'](_0x32d432);}return this[_0xc23fc(0x146)];}catch(_0x21f548){return this[_0xc23fc(0x132)]?.[_0xc23fc(0x13c)](_0xc23fc(0x140),{'error':_0x21f548['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async[a0_0x164eb3(0x124)](){const _0x5b1c5c=a0_0x164eb3;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x96c3e){this[_0x5b1c5c(0x132)]?.[_0x5b1c5c(0x13c)]('Error\x20saving\x20index',{'error':_0x96c3e['message']});throw _0x96c3e;}}async[a0_0x164eb3(0x137)]({agentId:_0x1c9b2d,filePath:_0x15afe5,mode:mode='content',fileName:fileName=null}){const _0x2ada13=a0_0x164eb3;!this[_0x2ada13(0x146)]&&await this['loadIndex']();try{const _0x40a09b=await this[_0x2ada13(0x13d)]['fileExists'](_0x15afe5);if(!_0x40a09b)throw new Error(_0x2ada13(0x144)+_0x15afe5);const _0x145d1a=await this[_0x2ada13(0x13d)]['getFileStats'](_0x15afe5),_0x2826b4=fileName||a0_0x2f74f5[_0x2ada13(0x119)](_0x15afe5),_0x24cb1e=a0_0x2f74f5['extname'](_0x2826b4),_0x1b41bc=this['validator'][_0x2ada13(0x123)]({'fileName':_0x2826b4,'size':_0x145d1a['size'],'mode':mode,'path':mode===_0x2ada13(0x117)?_0x15afe5:null});if(!_0x1b41bc[_0x2ada13(0x157)])throw new Error('Validation\x20failed:\x20'+_0x1b41bc['errors']['join'](',\x20'));const _0x414988=randomUUID(),_0x1172f3=await this['fileProcessor']['calculateHash'](_0x15afe5),_0x517134=this['validator'][_0x2ada13(0x12f)](_0x2826b4),_0xf66d53=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x1c9b2d,_0x414988);await this[_0x2ada13(0x13d)][_0x2ada13(0x114)](_0xf66d53);let _0x42bfe4=0x0,_0x63c2c=null;if(mode===_0x2ada13(0x10f)){const processResult=await this[_0x2ada13(0x13d)]['processFile'](_0x15afe5,_0x517134),_0x7d850a=processResult[_0x2ada13(0x10f)];if(_0x517134===_0x2ada13(0x12d))_0x63c2c='content.txt';else{if(_0x517134==='image')_0x63c2c='content.base64';else _0x517134==='pdf'&&(_0x63c2c=_0x2ada13(0x133));}const _0x3338f3=a0_0x2f74f5[_0x2ada13(0x156)](_0xf66d53,_0x63c2c);await this[_0x2ada13(0x13d)]['writeFile'](_0x3338f3,_0x7d850a,'utf8'),_0x42bfe4=this['fileProcessor'][_0x2ada13(0x14b)](_0x7d850a);}const _0x270b29={'fileId':_0x414988,'agentId':_0x1c9b2d,'fileName':_0x2826b4,'originalPath':_0x15afe5,'fileType':this[_0x2ada13(0x110)][_0x2ada13(0x130)](_0x2826b4),'fileExtension':_0x24cb1e,'size':_0x145d1a[_0x2ada13(0x120)],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x145d1a[_0x2ada13(0x138)][_0x2ada13(0x12c)](),'hash':_0x1172f3,'tokenEstimate':_0x42bfe4,'contentType':_0x517134,'contentFileName':_0x63c2c,'warnings':_0x1b41bc['warnings'],'sizeLevel':_0x1b41bc[_0x2ada13(0x125)],'importedFrom':null,'referencedBy':[_0x1c9b2d]},_0x47f1be=a0_0x2f74f5[_0x2ada13(0x156)](_0xf66d53,_0x2ada13(0x13b));return await this['fileProcessor']['writeFile'](_0x47f1be,JSON[_0x2ada13(0x113)](_0x270b29,null,0x2),_0x2ada13(0x13e)),this[_0x2ada13(0x146)][_0x2ada13(0x11e)][_0x414988]={'fileId':_0x414988,'agentId':_0x1c9b2d,'fileName':_0x2826b4,'mode':mode,'active':_0x270b29['active'],'referencedBy':_0x270b29['referencedBy']},!this['index']['agentRefs'][_0x1c9b2d]&&(this['index']['agentRefs'][_0x1c9b2d]=[]),this[_0x2ada13(0x146)]['agentRefs'][_0x1c9b2d][_0x2ada13(0x10e)](_0x414988),await this[_0x2ada13(0x124)](),this[_0x2ada13(0x132)]?.['info']('File\x20uploaded',{'fileId':_0x414988,'agentId':_0x1c9b2d,'fileName':_0x2826b4,'mode':mode}),_0x270b29;}catch(_0x3dfa27){this[_0x2ada13(0x132)]?.['error']('Error\x20uploading\x20file',{'agentId':_0x1c9b2d,'filePath':_0x15afe5,'error':_0x3dfa27['message']});throw _0x3dfa27;}}async[a0_0x164eb3(0x153)](_0x2ec590,_0x1f1624={}){const _0x16f36b=a0_0x164eb3;!this[_0x16f36b(0x146)]&&await this['loadIndex']();try{const _0x4ca6b0=this[_0x16f36b(0x146)][_0x16f36b(0x11c)][_0x2ec590]||[],_0x58937b=[];for(const _0x12b28e of _0x4ca6b0){const _0xf19b88=await this[_0x16f36b(0x155)](_0x12b28e);if(_0xf19b88){if(_0x1f1624['active']!==undefined&&_0xf19b88[_0x16f36b(0x118)]!==_0x1f1624[_0x16f36b(0x118)])continue;if(_0x1f1624['mode']&&_0xf19b88[_0x16f36b(0x12b)]!==_0x1f1624['mode'])continue;_0x58937b[_0x16f36b(0x10e)](_0xf19b88);}}return _0x58937b;}catch(_0x91c6d5){this['logger']?.[_0x16f36b(0x13c)]('Error\x20getting\x20attachments',{'agentId':_0x2ec590,'error':_0x91c6d5[_0x16f36b(0x145)]});throw _0x91c6d5;}}async[a0_0x164eb3(0x155)](_0x4de850){const _0x3d1462=a0_0x164eb3;!this[_0x3d1462(0x146)]&&await this[_0x3d1462(0x13a)]();try{const _0x28b0a6=this['index']['attachments'][_0x4de850];if(!_0x28b0a6)return null;const _0x4cd62f=a0_0x2f74f5[_0x3d1462(0x156)](ATTACHMENTS_DIR,_0x28b0a6[_0x3d1462(0x11f)],_0x4de850,_0x3d1462(0x13b)),_0x2b7e17=await this[_0x3d1462(0x13d)][_0x3d1462(0x150)](_0x4cd62f);if(!_0x2b7e17)return this[_0x3d1462(0x132)]?.['warn'](_0x3d1462(0x14f),{'fileId':_0x4de850}),null;const _0x39df05=await this[_0x3d1462(0x13d)][_0x3d1462(0x122)](_0x4cd62f,'utf8');return JSON['parse'](_0x39df05);}catch(_0x13e16b){return this[_0x3d1462(0x132)]?.[_0x3d1462(0x13c)]('Error\x20getting\x20attachment',{'fileId':_0x4de850,'error':_0x13e16b['message']}),null;}}async['getAttachmentContent'](_0x476495){const _0x59d857=a0_0x164eb3;try{const _0x4fd0d5=await this['getAttachment'](_0x476495);if(!_0x4fd0d5||_0x4fd0d5[_0x59d857(0x12b)]!=='content')return null;const _0x1da283=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x4fd0d5['agentId'],_0x476495,_0x4fd0d5[_0x59d857(0x11b)]),_0x1945e1=await this[_0x59d857(0x13d)]['fileExists'](_0x1da283);if(!_0x1945e1)return null;return await this['fileProcessor']['readFile'](_0x1da283,_0x59d857(0x13e));}catch(_0x24deb5){return this['logger']?.['error'](_0x59d857(0x139),{'fileId':_0x476495,'error':_0x24deb5[_0x59d857(0x145)]}),null;}}async[a0_0x164eb3(0x147)](_0x58d045){const _0x122bc9=a0_0x164eb3;try{const _0x3fab99=await this[_0x122bc9(0x155)](_0x58d045);if(!_0x3fab99)throw new Error(_0x122bc9(0x149)+_0x58d045);_0x3fab99['active']=!_0x3fab99[_0x122bc9(0x118)],_0x3fab99[_0x122bc9(0x14d)]=new Date()['toISOString']();const _0x153649=a0_0x2f74f5[_0x122bc9(0x156)](ATTACHMENTS_DIR,_0x3fab99[_0x122bc9(0x11f)],_0x58d045,_0x122bc9(0x13b));return await this[_0x122bc9(0x13d)][_0x122bc9(0x136)](_0x153649,JSON['stringify'](_0x3fab99,null,0x2),_0x122bc9(0x13e)),this['index'][_0x122bc9(0x11e)][_0x58d045]&&(this['index']['attachments'][_0x58d045]['active']=_0x3fab99['active'],await this['saveIndex']()),this[_0x122bc9(0x132)]?.[_0x122bc9(0x13f)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x58d045,'active':_0x3fab99['active']}),_0x3fab99;}catch(_0x3cae16){this[_0x122bc9(0x132)]?.[_0x122bc9(0x13c)](_0x122bc9(0x142),{'fileId':_0x58d045,'error':_0x3cae16['message']});throw _0x3cae16;}}async['updateAttachment'](_0xb6be9a,_0x3e4046){const _0x5d8fa4=a0_0x164eb3;try{const _0x33f107=await this[_0x5d8fa4(0x155)](_0xb6be9a);if(!_0x33f107)throw new Error(_0x5d8fa4(0x149)+_0xb6be9a);const _0x46fd1e=[_0x5d8fa4(0x14e),'active'];for(const _0x46cb1a of _0x46fd1e){_0x3e4046[_0x46cb1a]!==undefined&&(_0x33f107[_0x46cb1a]=_0x3e4046[_0x46cb1a]);}_0x33f107['lastModified']=new Date()[_0x5d8fa4(0x12c)]();const _0x4fc7f1=a0_0x2f74f5[_0x5d8fa4(0x156)](ATTACHMENTS_DIR,_0x33f107[_0x5d8fa4(0x11f)],_0xb6be9a,'metadata.json');return await this[_0x5d8fa4(0x13d)]['writeFile'](_0x4fc7f1,JSON['stringify'](_0x33f107,null,0x2),'utf8'),this['index']['attachments'][_0xb6be9a]&&(_0x3e4046['fileName']&&(this[_0x5d8fa4(0x146)][_0x5d8fa4(0x11e)][_0xb6be9a][_0x5d8fa4(0x14e)]=_0x3e4046[_0x5d8fa4(0x14e)]),_0x3e4046['active']!==undefined&&(this[_0x5d8fa4(0x146)]['attachments'][_0xb6be9a][_0x5d8fa4(0x118)]=_0x3e4046['active']),await this['saveIndex']()),this['logger']?.[_0x5d8fa4(0x13f)]('Attachment\x20updated',{'fileId':_0xb6be9a,'updates':_0x3e4046}),_0x33f107;}catch(_0x1a99b1){this[_0x5d8fa4(0x132)]?.[_0x5d8fa4(0x13c)](_0x5d8fa4(0x128),{'fileId':_0xb6be9a,'error':_0x1a99b1['message']});throw _0x1a99b1;}}async['deleteAttachment'](_0x580aaf,_0x55289e){const _0x3db8b3=a0_0x164eb3;try{const _0x35995b=await this['getAttachment'](_0x580aaf);if(!_0x35995b)throw new Error('Attachment\x20not\x20found:\x20'+_0x580aaf);_0x35995b['referencedBy']=_0x35995b[_0x3db8b3(0x116)][_0x3db8b3(0x111)](_0x3496=>_0x3496!==_0x55289e);if(_0x35995b['referencedBy'][_0x3db8b3(0x115)]>0x0){const _0x2718c3=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x35995b[_0x3db8b3(0x11f)],_0x580aaf,_0x3db8b3(0x13b));return await this['fileProcessor']['writeFile'](_0x2718c3,JSON['stringify'](_0x35995b,null,0x2),'utf8'),this['index']['attachments'][_0x580aaf]&&(this['index']['attachments'][_0x580aaf]['referencedBy']=_0x35995b[_0x3db8b3(0x116)]),this['index'][_0x3db8b3(0x11c)][_0x55289e]&&(this[_0x3db8b3(0x146)]['agentRefs'][_0x55289e]=this[_0x3db8b3(0x146)][_0x3db8b3(0x11c)][_0x55289e]['filter'](_0x12e33b=>_0x12e33b!==_0x580aaf)),await this[_0x3db8b3(0x124)](),this['logger']?.['info']('Attachment\x20dereferenced',{'fileId':_0x580aaf,'agentId':_0x55289e,'remainingRefs':_0x35995b[_0x3db8b3(0x116)][_0x3db8b3(0x115)]}),![];}const _0x5e7280=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x35995b[_0x3db8b3(0x11f)],_0x580aaf);return await this['fileProcessor']['deleteDirectory'](_0x5e7280),delete this['index']['attachments'][_0x580aaf],this[_0x3db8b3(0x146)][_0x3db8b3(0x11c)][_0x55289e]&&(this['index']['agentRefs'][_0x55289e]=this['index'][_0x3db8b3(0x11c)][_0x55289e]['filter'](_0x5e1a47=>_0x5e1a47!==_0x580aaf)),await this['saveIndex'](),this['logger']?.['info'](_0x3db8b3(0x10a),{'fileId':_0x580aaf,'agentId':_0x55289e}),!![];}catch(_0x28c308){this['logger']?.['error'](_0x3db8b3(0x129),{'fileId':_0x580aaf,'agentId':_0x55289e,'error':_0x28c308[_0x3db8b3(0x145)]});throw _0x28c308;}}async['deleteAgentAttachments'](_0x34011d){const _0x43b4c1=a0_0x164eb3;try{const _0x1e3994=this['index']['agentRefs'][_0x34011d]||[];let _0x2d1b64=0x0,_0x1b04a7=0x0;for(const _0x5f2209 of _0x1e3994){const _0x4e6f49=await this['deleteAttachment'](_0x5f2209,_0x34011d);_0x4e6f49?_0x2d1b64++:_0x1b04a7++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x34011d,'deleted':_0x2d1b64,'dereferenced':_0x1b04a7}),{'deleted':_0x2d1b64,'dereferenced':_0x1b04a7};}catch(_0x58d75e){this[_0x43b4c1(0x132)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0x34011d,'error':_0x58d75e['message']});throw _0x58d75e;}}async[a0_0x164eb3(0x12e)](_0x4ca7b7,_0x1b745a){const _0x52fc72=a0_0x164eb3;try{const _0x24523e=await this[_0x52fc72(0x155)](_0x4ca7b7);if(!_0x24523e)throw new Error(_0x52fc72(0x12a)+_0x4ca7b7);!_0x24523e['referencedBy']['includes'](_0x1b745a)&&_0x24523e[_0x52fc72(0x116)]['push'](_0x1b745a);_0x24523e[_0x52fc72(0x14d)]=new Date()['toISOString'](),_0x24523e['importedFrom']=_0x24523e['agentId'];const _0x7cef60=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x24523e[_0x52fc72(0x11f)],_0x4ca7b7,_0x52fc72(0x13b));return await this[_0x52fc72(0x13d)]['writeFile'](_0x7cef60,JSON[_0x52fc72(0x113)](_0x24523e,null,0x2),_0x52fc72(0x13e)),this['index']['attachments'][_0x4ca7b7]&&(this[_0x52fc72(0x146)][_0x52fc72(0x11e)][_0x4ca7b7]['referencedBy']=_0x24523e[_0x52fc72(0x116)]),!this['index'][_0x52fc72(0x11c)][_0x1b745a]&&(this['index']['agentRefs'][_0x1b745a]=[]),!this['index'][_0x52fc72(0x11c)][_0x1b745a]['includes'](_0x4ca7b7)&&this['index']['agentRefs'][_0x1b745a]['push'](_0x4ca7b7),await this[_0x52fc72(0x124)](),this[_0x52fc72(0x132)]?.[_0x52fc72(0x13f)]('Attachment imported',{'sourceFileId':_0x4ca7b7,'targetAgentId':_0x1b745a}),_0x24523e;}catch(_0x215464){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x4ca7b7,'targetAgentId':_0x1b745a,'error':_0x215464[_0x52fc72(0x145)]});throw _0x215464;}}async['getActiveAttachments'](_0x502b68){return await this['getAttachments'](_0x502b68,{'active':!![]});}async['getAttachmentPreview'](_0x5c1604){const _0x4f1e73=a0_0x164eb3;try{const _0x2d67f5=await this[_0x4f1e73(0x14a)](_0x5c1604);if(!_0x2d67f5)return null;if(_0x2d67f5['startsWith'](_0x4f1e73(0x135)))return _0x4f1e73(0x10b);return _0x2d67f5[_0x4f1e73(0x115)]>0x3e8?_0x2d67f5[_0x4f1e73(0x151)](0x0,0x3e8)+_0x4f1e73(0x121):_0x2d67f5;}catch(_0xfddbe9){return this['logger']?.['error'](_0x4f1e73(0x109),{'fileId':_0x5c1604,'error':_0xfddbe9[_0x4f1e73(0x145)]}),null;}}}export default FileAttachmentService;
1
+ const a0_0x204029=a0_0x35ed;(function(_0x1f0084,_0x5db8b3){const _0x58865f=a0_0x35ed,_0x164442=_0x1f0084();while(!![]){try{const _0x240516=-parseInt(_0x58865f(0x87))/0x1+-parseInt(_0x58865f(0x84))/0x2*(-parseInt(_0x58865f(0xd8))/0x3)+parseInt(_0x58865f(0xa0))/0x4+-parseInt(_0x58865f(0x92))/0x5*(-parseInt(_0x58865f(0x99))/0x6)+-parseInt(_0x58865f(0x9f))/0x7*(parseInt(_0x58865f(0xc7))/0x8)+-parseInt(_0x58865f(0xae))/0x9*(parseInt(_0x58865f(0xab))/0xa)+-parseInt(_0x58865f(0xbe))/0xb;if(_0x240516===_0x5db8b3)break;else _0x164442['push'](_0x164442['shift']());}catch(_0x28cc57){_0x164442['push'](_0x164442['shift']());}}}(a0_0x2e97,0xca867));function a0_0x35ed(_0x30d496,_0x4b861f){_0x30d496=_0x30d496-0x81;const _0x2e97c6=a0_0x2e97();let _0x35eda8=_0x2e97c6[_0x30d496];if(a0_0x35ed['JihhQS']===undefined){var _0x101dda=function(_0x53dfb8){const _0x5a507c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3a4386='',_0xa3fc00='';for(let _0x53e56d=0x0,_0x1d01bd,_0x454d0f,_0x2be91d=0x0;_0x454d0f=_0x53dfb8['charAt'](_0x2be91d++);~_0x454d0f&&(_0x1d01bd=_0x53e56d%0x4?_0x1d01bd*0x40+_0x454d0f:_0x454d0f,_0x53e56d++%0x4)?_0x3a4386+=String['fromCharCode'](0xff&_0x1d01bd>>(-0x2*_0x53e56d&0x6)):0x0){_0x454d0f=_0x5a507c['indexOf'](_0x454d0f);}for(let _0x373828=0x0,_0x90f7b3=_0x3a4386['length'];_0x373828<_0x90f7b3;_0x373828++){_0xa3fc00+='%'+('00'+_0x3a4386['charCodeAt'](_0x373828)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa3fc00);};a0_0x35ed['FzVMrL']=_0x101dda,a0_0x35ed['XeOWtz']={},a0_0x35ed['JihhQS']=!![];}const _0x2a42b1=_0x2e97c6[0x0],_0x45c5af=_0x30d496+_0x2a42b1,_0x326db3=a0_0x35ed['XeOWtz'][_0x45c5af];return!_0x326db3?(_0x35eda8=a0_0x35ed['FzVMrL'](_0x35eda8),a0_0x35ed['XeOWtz'][_0x45c5af]=_0x35eda8):_0x35eda8=_0x326db3,_0x35eda8;}import a0_0x3a4386 from'path';import{fileURLToPath}from'url';import{randomUUID}from'crypto';import a0_0xa3fc00 from'../utilities/fileProcessor.js';function a0_0x2e97(){const _0x28eba7=['ywDLBNrjza','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','zMLSzu5HBwu','Dgv4Da','Bwv0ywrHDgeUANnVBG','mZKWrNHJCvv3','z2v0qwn0AxzLqxr0ywnOBwvUDhm','CMvMzxjLBMnLzej5','mtq5otmXDefuC3ru','qxr0ywnOBwvUDcb1CgrHDgvK','Bg9HzeLUzgv4','Bw9Kzq','y3DK','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','ChvZAa','Bg9Nz2vY','Aw5JBhvKzxm','D2fYBMLUz3m','z2v0qxr0ywnOBwvUDhm','Aw5MBW','zMLSzvbYB2nLC3nVCG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','D3jPDgvgAwXL','odq2mti2nNfMAfHeqG','Dg9ju09tDhjPBMC','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','z2v0twLTzvr5Cgu','CgrM','Aw1WB3j0rNjVBufNzw50','Dg9Nz2XLqwn0AxzL','y29UDgvUDc5IyxnLnJq','zMLSDgvY','mJGWmtuWne5vqu5PBq','ywDLBNrszwzZ','zgvSzxrLqxr0ywnOBwvUDa','DxbKyxrLqxr0ywnOBwvUDa','y2fSy3vSyxrLsgfZAa','BgvUz3rO','AM9PBG','C2L6zq','zgf0ytPPBwfNzq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','CMvMzxjLBMnL','rxjYB3iGC2f2Aw5NigLUzgv4','zxjYB3i','z2v0qxr0ywnOBwvUDa','zMLSzuv4Axn0CW','zxn0Aw1HDgvuB2TLBNm','BwvZC2fNzq','oteWmduZzwDvC0nQ','y29UDgvUDa','qwDLBNqGyxr0ywnOBwvUDhmGzgvSzxrLza','C3rYAw5NAwz5','qxr0ywnOBwvUDcbKzwXLDgvK','ohLzwKzvAG','yxr0ywnOBwvUDhm','ChjVy2vZC0zPBgu','otC4otG0tgHOvxHv','DMfSAwrHDg9Y','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','D2fYBG','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','BgfZDe1VzgLMAwvK','CgfYC2u','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','ywn0AxzL','vMfSAwrHDgLVBIbMywLSzwq6ia','C3vIC3rYAw5N','mtG1rLf4tNnu','DxrMoa','Aw5KzxG','Aw1Hz2u','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','y3jLyxrLrgLYzwn0B3j5','Aw5PDgLHBgL6zq','mJm5ndC4wfvRy3Ld','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','Bg94AweTC3rHDgu','DxbSB2fKrMLSzq','zgvSzxrLrgLYzwn0B3j5','CMvHzezPBgu','mJftrfDIs0S','nJm1mti1mNHrzhj5EG','DMfSAwrHDgu','rxjYB3iGDxbSB2fKAw5NigzPBgu','C2f2zuLUzgv4','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','rMLSzsb1CgXVywrLza'];a0_0x2e97=function(){return _0x28eba7;};return a0_0x2e97();}import a0_0x53e56d from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x3a4386['dirname'](__filename),ATTACHMENTS_DIR=a0_0x3a4386[a0_0x204029(0xcd)](process[a0_0x204029(0xb2)](),a0_0x204029(0x9b),'attachments'),INDEX_FILE=a0_0x3a4386[a0_0x204029(0xcd)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x1d01bd={},_0x454d0f=null){const _0x5536a1=a0_0x204029;this['config']=_0x1d01bd,this['logger']=_0x454d0f,this[_0x5536a1(0xbb)]=new a0_0xa3fc00(_0x1d01bd,_0x454d0f),this[_0x5536a1(0x88)]=new a0_0x53e56d(_0x1d01bd,_0x454d0f),this['index']=null;}async[a0_0x204029(0x98)](){const _0x382139=a0_0x204029;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x382139(0xb0)](),this[_0x382139(0xb6)]?.['info'](_0x382139(0x9a),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x2be91d){this[_0x382139(0xb6)]?.[_0x382139(0xd3)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x2be91d['message']});throw _0x2be91d;}}async[a0_0x204029(0xb0)](){const _0x1ea4b8=a0_0x204029;try{const _0x373828=await this[_0x1ea4b8(0xbb)][_0x1ea4b8(0xd5)](INDEX_FILE);if(!_0x373828)this[_0x1ea4b8(0x94)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x90f7b3=await this['fileProcessor'][_0x1ea4b8(0x9e)](INDEX_FILE,_0x1ea4b8(0x93));this[_0x1ea4b8(0x94)]=JSON['parse'](_0x90f7b3);}return this[_0x1ea4b8(0x94)];}catch(_0x5430bd){return this[_0x1ea4b8(0xb6)]?.[_0x1ea4b8(0xd3)]('Error\x20loading\x20index',{'error':_0x5430bd[_0x1ea4b8(0xd7)]}),this[_0x1ea4b8(0x94)]={'attachments':{},'agentRefs':{}},this['index'];}}async['saveIndex'](){const _0x4e17e1=a0_0x204029;try{await this['fileProcessor'][_0x4e17e1(0xbd)](INDEX_FILE,JSON['stringify'](this[_0x4e17e1(0x94)],null,0x2),'utf8');}catch(_0x48efb4){this['logger']?.['error'](_0x4e17e1(0xd2),{'error':_0x48efb4['message']});throw _0x48efb4;}}async[a0_0x204029(0x9c)]({agentId:_0x1593b4,filePath:_0x439e21,mode:mode='content',fileName:fileName=null}){const _0xaa58ff=a0_0x204029;!this['index']&&await this[_0xaa58ff(0xb0)]();try{const _0xba70d1=await this['fileProcessor']['fileExists'](_0x439e21);if(!_0xba70d1)throw new Error('File\x20not\x20found:\x20'+_0x439e21);const _0x4629cb=await this[_0xaa58ff(0xbb)]['getFileStats'](_0x439e21),_0x399bff=fileName||a0_0x3a4386['basename'](_0x439e21),_0x328274=a0_0x3a4386['extname'](_0x399bff),_0x454019=this[_0xaa58ff(0x88)][_0xaa58ff(0xa1)]({'fileName':_0x399bff,'size':_0x4629cb['size'],'mode':mode,'path':mode===_0xaa58ff(0xd1)?_0x439e21:null});if(!_0x454019['valid'])throw new Error(_0xaa58ff(0x90)+_0x454019['errors'][_0xaa58ff(0xcd)](',\x20'));const _0x3820a9=randomUUID(),_0xc4b1d5=await this['fileProcessor'][_0xaa58ff(0xcb)](_0x439e21),_0x4622db=this['validator']['getContentType'](_0x399bff),_0x5f5061=a0_0x3a4386[_0xaa58ff(0xcd)](ATTACHMENTS_DIR,_0x1593b4,_0x3820a9);await this['fileProcessor'][_0xaa58ff(0x97)](_0x5f5061);let _0x5d1dae=0x0,_0x237672=null;if(mode==='content'){const processResult=await this['fileProcessor'][_0xaa58ff(0x86)](_0x439e21,_0x4622db),_0x5f17d9=processResult[_0xaa58ff(0xd9)];if(_0x4622db===_0xaa58ff(0xa9))_0x237672='content.txt';else{if(_0x4622db===_0xaa58ff(0x95))_0x237672=_0xaa58ff(0xc5);else _0x4622db===_0xaa58ff(0xc2)&&(_0x237672='content.txt');}const _0x21392c=a0_0x3a4386[_0xaa58ff(0xcd)](_0x5f5061,_0x237672);await this['fileProcessor'][_0xaa58ff(0xbd)](_0x21392c,_0x5f17d9,_0xaa58ff(0x93)),_0x5d1dae=this[_0xaa58ff(0xbb)][_0xaa58ff(0xd6)](_0x5f17d9);}const _0x4ad717={'fileId':_0x3820a9,'agentId':_0x1593b4,'fileName':_0x399bff,'originalPath':_0x439e21,'fileType':this[_0xaa58ff(0x88)][_0xaa58ff(0xc1)](_0x399bff),'fileExtension':_0x328274,'size':_0x4629cb[_0xaa58ff(0xce)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0xaa58ff(0xbf)](),'lastModified':_0x4629cb['modified']['toISOString'](),'hash':_0xc4b1d5,'tokenEstimate':_0x5d1dae,'contentType':_0x4622db,'contentFileName':_0x237672,'warnings':_0x454019[_0xaa58ff(0xb8)],'sizeLevel':_0x454019['sizeLevel'],'importedFrom':null,'referencedBy':[_0x1593b4]},_0x5b6470=a0_0x3a4386['join'](_0x5f5061,_0xaa58ff(0xaa));return await this['fileProcessor'][_0xaa58ff(0xbd)](_0x5b6470,JSON['stringify'](_0x4ad717,null,0x2),_0xaa58ff(0x93)),this[_0xaa58ff(0x94)]['attachments'][_0x3820a9]={'fileId':_0x3820a9,'agentId':_0x1593b4,'fileName':_0x399bff,'mode':mode,'active':_0x4ad717['active'],'referencedBy':_0x4ad717['referencedBy']},!this[_0xaa58ff(0x94)]['agentRefs'][_0x1593b4]&&(this[_0xaa58ff(0x94)]['agentRefs'][_0x1593b4]=[]),this['index'][_0xaa58ff(0xc8)][_0x1593b4]['push'](_0x3820a9),await this[_0xaa58ff(0xa3)](),this[_0xaa58ff(0xb6)]?.[_0xaa58ff(0xba)](_0xaa58ff(0xa5),{'fileId':_0x3820a9,'agentId':_0x1593b4,'fileName':_0x399bff,'mode':mode}),_0x4ad717;}catch(_0x5a749c){this[_0xaa58ff(0xb6)]?.['error'](_0xaa58ff(0xa2),{'agentId':_0x1593b4,'filePath':_0x439e21,'error':_0x5a749c[_0xaa58ff(0xd7)]});throw _0x5a749c;}}async['getAttachments'](_0x5cef4d,_0x522cae={}){const _0x5ce515=a0_0x204029;!this[_0x5ce515(0x94)]&&await this['loadIndex']();try{const _0xd3bc8=this[_0x5ce515(0x94)][_0x5ce515(0xc8)][_0x5cef4d]||[],_0x11a49a=[];for(const _0x4c63aa of _0xd3bc8){const _0x289b9a=await this['getAttachment'](_0x4c63aa);if(_0x289b9a){if(_0x522cae[_0x5ce515(0x8f)]!==undefined&&_0x289b9a['active']!==_0x522cae[_0x5ce515(0x8f)])continue;if(_0x522cae['mode']&&_0x289b9a[_0x5ce515(0xb1)]!==_0x522cae['mode'])continue;_0x11a49a['push'](_0x289b9a);}}return _0x11a49a;}catch(_0x7fee62){this[_0x5ce515(0xb6)]?.['error'](_0x5ce515(0xbc),{'agentId':_0x5cef4d,'error':_0x7fee62[_0x5ce515(0xd7)]});throw _0x7fee62;}}async['getAttachment'](_0x1406bb){const _0x4f4440=a0_0x204029;!this[_0x4f4440(0x94)]&&await this[_0x4f4440(0xb0)]();try{const _0x19837e=this[_0x4f4440(0x94)]['attachments'][_0x1406bb];if(!_0x19837e)return null;const _0x348dba=a0_0x3a4386['join'](ATTACHMENTS_DIR,_0x19837e['agentId'],_0x1406bb,_0x4f4440(0xaa)),_0x4fb4bc=await this[_0x4f4440(0xbb)][_0x4f4440(0xd5)](_0x348dba);if(!_0x4fb4bc)return this['logger']?.[_0x4f4440(0x8a)](_0x4f4440(0xa4),{'fileId':_0x1406bb}),null;const _0x1ae0f9=await this[_0x4f4440(0xbb)]['readFile'](_0x348dba,_0x4f4440(0x93));return JSON[_0x4f4440(0x8d)](_0x1ae0f9);}catch(_0x1e1a28){return this['logger']?.[_0x4f4440(0xd3)]('Error\x20getting\x20attachment',{'fileId':_0x1406bb,'error':_0x1e1a28[_0x4f4440(0xd7)]}),null;}}async['getAttachmentContent'](_0x4b5537){const _0x45c13a=a0_0x204029;try{const _0x30d9b1=await this[_0x45c13a(0xd4)](_0x4b5537);if(!_0x30d9b1||_0x30d9b1[_0x45c13a(0xb1)]!=='content')return null;const _0x3b89d0=a0_0x3a4386[_0x45c13a(0xcd)](ATTACHMENTS_DIR,_0x30d9b1[_0x45c13a(0xa6)],_0x4b5537,_0x30d9b1['contentFileName']),_0x1a4e6e=await this['fileProcessor'][_0x45c13a(0xd5)](_0x3b89d0);if(!_0x1a4e6e)return null;return await this['fileProcessor'][_0x45c13a(0x9e)](_0x3b89d0,_0x45c13a(0x93));}catch(_0x453e99){return this[_0x45c13a(0xb6)]?.['error'](_0x45c13a(0xd0),{'fileId':_0x4b5537,'error':_0x453e99[_0x45c13a(0xd7)]}),null;}}async[a0_0x204029(0xc4)](_0x3edebe){const _0xea0b66=a0_0x204029;try{const _0x243f60=await this['getAttachment'](_0x3edebe);if(!_0x243f60)throw new Error('Attachment\x20not\x20found:\x20'+_0x3edebe);_0x243f60['active']=!_0x243f60[_0xea0b66(0x8f)],_0x243f60['lastModified']=new Date()[_0xea0b66(0xbf)]();const _0x11defd=a0_0x3a4386['join'](ATTACHMENTS_DIR,_0x243f60['agentId'],_0x3edebe,_0xea0b66(0xaa));return await this[_0xea0b66(0xbb)][_0xea0b66(0xbd)](_0x11defd,JSON[_0xea0b66(0x82)](_0x243f60,null,0x2),'utf8'),this['index'][_0xea0b66(0x85)][_0x3edebe]&&(this['index']['attachments'][_0x3edebe]['active']=_0x243f60['active'],await this['saveIndex']()),this[_0xea0b66(0xb6)]?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x3edebe,'active':_0x243f60['active']}),_0x243f60;}catch(_0x334f3d){this['logger']?.[_0xea0b66(0xd3)](_0xea0b66(0x96),{'fileId':_0x3edebe,'error':_0x334f3d['message']});throw _0x334f3d;}}async[a0_0x204029(0xca)](_0x5393fb,_0x2e16bc){const _0x22e7f3=a0_0x204029;try{const _0x117975=await this['getAttachment'](_0x5393fb);if(!_0x117975)throw new Error(_0x22e7f3(0xb3)+_0x5393fb);const _0x2ad8be=['fileName','active'];for(const _0x528f6d of _0x2ad8be){_0x2e16bc[_0x528f6d]!==undefined&&(_0x117975[_0x528f6d]=_0x2e16bc[_0x528f6d]);}_0x117975['lastModified']=new Date()[_0x22e7f3(0xbf)]();const _0x2d5ef9=a0_0x3a4386['join'](ATTACHMENTS_DIR,_0x117975['agentId'],_0x5393fb,_0x22e7f3(0xaa));return await this['fileProcessor'][_0x22e7f3(0xbd)](_0x2d5ef9,JSON['stringify'](_0x117975,null,0x2),'utf8'),this['index']['attachments'][_0x5393fb]&&(_0x2e16bc[_0x22e7f3(0xa8)]&&(this[_0x22e7f3(0x94)]['attachments'][_0x5393fb]['fileName']=_0x2e16bc['fileName']),_0x2e16bc['active']!==undefined&&(this[_0x22e7f3(0x94)]['attachments'][_0x5393fb]['active']=_0x2e16bc['active']),await this['saveIndex']()),this[_0x22e7f3(0xb6)]?.[_0x22e7f3(0xba)](_0x22e7f3(0xaf),{'fileId':_0x5393fb,'updates':_0x2e16bc}),_0x117975;}catch(_0x5500ef){this[_0x22e7f3(0xb6)]?.['error'](_0x22e7f3(0xb4),{'fileId':_0x5393fb,'error':_0x5500ef[_0x22e7f3(0xd7)]});throw _0x5500ef;}}async[a0_0x204029(0xc9)](_0x5a267a,_0x1b1834){const _0xa347d0=a0_0x204029;try{const _0x580913=await this['getAttachment'](_0x5a267a);if(!_0x580913)throw new Error('Attachment\x20not\x20found:\x20'+_0x5a267a);_0x580913['referencedBy']=_0x580913[_0xa347d0(0xad)]['filter'](_0x82ac86=>_0x82ac86!==_0x1b1834);if(_0x580913[_0xa347d0(0xad)][_0xa347d0(0xcc)]>0x0){const _0x220d55=a0_0x3a4386['join'](ATTACHMENTS_DIR,_0x580913[_0xa347d0(0xa6)],_0x5a267a,'metadata.json');return await this['fileProcessor']['writeFile'](_0x220d55,JSON['stringify'](_0x580913,null,0x2),_0xa347d0(0x93)),this[_0xa347d0(0x94)]['attachments'][_0x5a267a]&&(this['index']['attachments'][_0x5a267a]['referencedBy']=_0x580913[_0xa347d0(0xad)]),this['index']['agentRefs'][_0x1b1834]&&(this[_0xa347d0(0x94)]['agentRefs'][_0x1b1834]=this[_0xa347d0(0x94)]['agentRefs'][_0x1b1834][_0xa347d0(0xc6)](_0x495f2e=>_0x495f2e!==_0x5a267a)),await this[_0xa347d0(0xa3)](),this['logger']?.[_0xa347d0(0xba)](_0xa347d0(0x89),{'fileId':_0x5a267a,'agentId':_0x1b1834,'remainingRefs':_0x580913[_0xa347d0(0xad)]['length']}),![];}const _0x477193=a0_0x3a4386[_0xa347d0(0xcd)](ATTACHMENTS_DIR,_0x580913['agentId'],_0x5a267a);return await this[_0xa347d0(0xbb)][_0xa347d0(0x9d)](_0x477193),delete this[_0xa347d0(0x94)][_0xa347d0(0x85)][_0x5a267a],this[_0xa347d0(0x94)][_0xa347d0(0xc8)][_0x1b1834]&&(this[_0xa347d0(0x94)]['agentRefs'][_0x1b1834]=this[_0xa347d0(0x94)][_0xa347d0(0xc8)][_0x1b1834][_0xa347d0(0xc6)](_0x1f05f0=>_0x1f05f0!==_0x5a267a)),await this[_0xa347d0(0xa3)](),this['logger']?.[_0xa347d0(0xba)](_0xa347d0(0x83),{'fileId':_0x5a267a,'agentId':_0x1b1834}),!![];}catch(_0x5ca52d){this[_0xa347d0(0xb6)]?.[_0xa347d0(0xd3)](_0xa347d0(0x8b),{'fileId':_0x5a267a,'agentId':_0x1b1834,'error':_0x5ca52d[_0xa347d0(0xd7)]});throw _0x5ca52d;}}async['deleteAgentAttachments'](_0x3f2acb){const _0x3802f5=a0_0x204029;try{const _0x5acb33=this['index'][_0x3802f5(0xc8)][_0x3f2acb]||[];let _0x1d975a=0x0,_0x521460=0x0;for(const _0x2ba250 of _0x5acb33){const _0x66a59b=await this[_0x3802f5(0xc9)](_0x2ba250,_0x3f2acb);_0x66a59b?_0x1d975a++:_0x521460++;}return this['logger']?.[_0x3802f5(0xba)](_0x3802f5(0x81),{'agentId':_0x3f2acb,'deleted':_0x1d975a,'dereferenced':_0x521460}),{'deleted':_0x1d975a,'dereferenced':_0x521460};}catch(_0x1e31e2){this['logger']?.['error'](_0x3802f5(0xc0),{'agentId':_0x3f2acb,'error':_0x1e31e2[_0x3802f5(0xd7)]});throw _0x1e31e2;}}async[a0_0x204029(0xc3)](_0x4e52f5,_0xe45a07){const _0x363767=a0_0x204029;try{const _0x52e8f0=await this['getAttachment'](_0x4e52f5);if(!_0x52e8f0)throw new Error(_0x363767(0xa7)+_0x4e52f5);!_0x52e8f0['referencedBy'][_0x363767(0xb7)](_0xe45a07)&&_0x52e8f0[_0x363767(0xad)]['push'](_0xe45a07);_0x52e8f0[_0x363767(0x8c)]=new Date()[_0x363767(0xbf)](),_0x52e8f0['importedFrom']=_0x52e8f0[_0x363767(0xa6)];const _0x2fd332=a0_0x3a4386['join'](ATTACHMENTS_DIR,_0x52e8f0['agentId'],_0x4e52f5,'metadata.json');return await this[_0x363767(0xbb)]['writeFile'](_0x2fd332,JSON[_0x363767(0x82)](_0x52e8f0,null,0x2),_0x363767(0x93)),this['index'][_0x363767(0x85)][_0x4e52f5]&&(this[_0x363767(0x94)]['attachments'][_0x4e52f5][_0x363767(0xad)]=_0x52e8f0['referencedBy']),!this['index']['agentRefs'][_0xe45a07]&&(this['index'][_0x363767(0xc8)][_0xe45a07]=[]),!this[_0x363767(0x94)][_0x363767(0xc8)][_0xe45a07]['includes'](_0x4e52f5)&&this[_0x363767(0x94)][_0x363767(0xc8)][_0xe45a07][_0x363767(0xb5)](_0x4e52f5),await this['saveIndex'](),this[_0x363767(0xb6)]?.[_0x363767(0xba)]('Attachment imported',{'sourceFileId':_0x4e52f5,'targetAgentId':_0xe45a07}),_0x52e8f0;}catch(_0x25b1e2){this[_0x363767(0xb6)]?.['error']('Error importing attachment',{'sourceFileId':_0x4e52f5,'targetAgentId':_0xe45a07,'error':_0x25b1e2['message']});throw _0x25b1e2;}}async[a0_0x204029(0xac)](_0x355034){const _0x40e34b=a0_0x204029;return await this[_0x40e34b(0xb9)](_0x355034,{'active':!![]});}async['getAttachmentPreview'](_0x1a6a15){const _0x34358d=a0_0x204029;try{const _0x375e06=await this['getAttachmentContent'](_0x1a6a15);if(!_0x375e06)return null;if(_0x375e06['startsWith'](_0x34358d(0xcf)))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x375e06['length']>0x3e8?_0x375e06[_0x34358d(0x91)](0x0,0x3e8)+'...':_0x375e06;}catch(_0x235abc){return this[_0x34358d(0xb6)]?.[_0x34358d(0xd3)](_0x34358d(0x8e),{'fileId':_0x1a6a15,'error':_0x235abc['message']}),null;}}}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x3b5fa0=a0_0x3331;function a0_0x3331(_0x28f21a,_0xfc965f){_0x28f21a=_0x28f21a-0x1d7;const _0x570dd0=a0_0x570d();let _0x333139=_0x570dd0[_0x28f21a];if(a0_0x3331['mpSbvO']===undefined){var _0x5121c5=function(_0x2507c2){const _0x231880='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a261e='',_0x305642='';for(let _0x3def4f=0x0,_0x483e18,_0x2e84a9,_0x38a04d=0x0;_0x2e84a9=_0x2507c2['charAt'](_0x38a04d++);~_0x2e84a9&&(_0x483e18=_0x3def4f%0x4?_0x483e18*0x40+_0x2e84a9:_0x2e84a9,_0x3def4f++%0x4)?_0x2a261e+=String['fromCharCode'](0xff&_0x483e18>>(-0x2*_0x3def4f&0x6)):0x0){_0x2e84a9=_0x231880['indexOf'](_0x2e84a9);}for(let _0x2aba8b=0x0,_0x24b279=_0x2a261e['length'];_0x2aba8b<_0x24b279;_0x2aba8b++){_0x305642+='%'+('00'+_0x2a261e['charCodeAt'](_0x2aba8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x305642);};a0_0x3331['osHbgg']=_0x5121c5,a0_0x3331['CftjmN']={},a0_0x3331['mpSbvO']=!![];}const _0x4cadd9=_0x570dd0[0x0],_0x2b1c8e=_0x28f21a+_0x4cadd9,_0x4b6a8a=a0_0x3331['CftjmN'][_0x2b1c8e];return!_0x4b6a8a?(_0x333139=a0_0x3331['osHbgg'](_0x333139),a0_0x3331['CftjmN'][_0x2b1c8e]=_0x333139):_0x333139=_0x4b6a8a,_0x333139;}(function(_0xc4b05c,_0x18193b){const _0x40c726=a0_0x3331,_0x5840d6=_0xc4b05c();while(!![]){try{const _0x4c5eeb=parseInt(_0x40c726(0x1f5))/0x1+-parseInt(_0x40c726(0x1fe))/0x2*(-parseInt(_0x40c726(0x21e))/0x3)+parseInt(_0x40c726(0x1f7))/0x4*(parseInt(_0x40c726(0x1f6))/0x5)+-parseInt(_0x40c726(0x215))/0x6*(parseInt(_0x40c726(0x208))/0x7)+-parseInt(_0x40c726(0x206))/0x8*(-parseInt(_0x40c726(0x21d))/0x9)+parseInt(_0x40c726(0x205))/0xa*(parseInt(_0x40c726(0x218))/0xb)+-parseInt(_0x40c726(0x1ee))/0xc*(parseInt(_0x40c726(0x1df))/0xd);if(_0x4c5eeb===_0x18193b)break;else _0x5840d6['push'](_0x5840d6['shift']());}catch(_0x28af5e){_0x5840d6['push'](_0x5840d6['shift']());}}}(a0_0x570d,0x1a555));function a0_0x570d(){const _0x3b088a=['twLZC2LUzYbZzwXLy3rLze1VzgvSigLUigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCMvZCg9UC2u','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','DxnLCG','uK9vvevsx01prevm','C3vIC3rYAw5N','cImJiYbnB2rLBcbezxrHAwXZcG','mte5ndK3m3jfvxHvvW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgv4DfjLzMvYzw5Jzxm','CM9Szq','CMvJzw50twvZC2fNzxm','BMfTzq','ywLtzxj2AwnL','y29UDgvUDa','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','CgfYC2LUzY1LCNjVCG','uM91DgvYihrLC3qGzMfPBgvK','BgvUz3rO','x2fZA0zVCLjVDxrPBMC','CMvHC29UAw5N','CM91DgvnzxnZywDL','ndHzu0noyuu','Bwf0y2G','kIOGka','DgfZA1r5Cgu','zxjYB3i','kIPdB250zxH0ifr5CgvZkIO6ia','tM8Gzgf0yq','odC3ndnuBfLyvhO','ndKZmda1qKnsqxze','neHkswzqCG','Bg9Nz2vY','r1buxZq','y29UDgv4De1LC3nHz2vZq291BNq','ihWGu3rYzw5NDgHZoIa','DgLTzxn0yw1W','C2XPy2u','nJiXoezLC2n2BW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','Bw9KzwWTCM91DgvY','C2vUze1LC3nHz2u','tM8GCMvHC29UAw5NihbYB3zPzgvK','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','y3vYCMvUDe1LC3nHz2u','mty3nJmWr3Lxu0r3','nZm1mLf1s1bgBa','DgvZDfjVDxrLCG','n3vurhbgsW','y29UDgv4Dfr5CgvZ','BwvZC2fNzq','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','qu5usfjpueLdx09qvvm','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','q09ovevyvf9nrvntquDfu19dt1vova','kIO6ia','CgfYC2u','zgvZy3jPChrPB24','x3bHCNnLuM91DgLUz1jLC3bVBNnL','zMfJDg9YCW','mZi1ndGYDfHtC0DH','BwfW','Dg9Wtw9KzwXZ','otLkr3fwy1q','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','z2v0u3rHDhvZ','CMvXDwvZDfrPBwvVDxq','Dw5RBM93BG','nZi5wKHIB0T1','mte0BgHutKvU','CM91DgvYtw9KzwW','x2zVCM1HDejLBMnOBwfYA0rHDge','y29UzMLN','zgvIDwC','C2vSzwn0zwrnB2rLBa','yxbPs2v5','AM9PBG','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL'];a0_0x570d=function(){return _0x3b088a;};return a0_0x570d();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x2a261e,_0x305642,_0x3def4f,_0x483e18){const _0x5d211f=a0_0x3331;this[_0x5d211f(0x221)]=_0x2a261e,this[_0x5d211f(0x1f8)]=_0x305642,this['benchmarkService']=_0x3def4f,this['aiService']=_0x483e18,this['routerModel']=MODEL_ROUTER_CONFIG[_0x5d211f(0x1dc)],this[_0x5d211f(0x1fa)]=MODEL_ROUTER_CONFIG[_0x5d211f(0x20f)],this[_0x5d211f(0x21b)]=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async[a0_0x3b5fa0(0x1ed)](_0x2e84a9,_0x38a04d=[],_0x2aba8b='',_0x24b279=[],_0x146bb9={}){const _0x2015b0=a0_0x3b5fa0;try{this['logger']['debug']('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x2e84a9[_0x2015b0(0x1e6)]?.[_0x2015b0(0x1ea)]||0x0,'recentMessagesCount':_0x38a04d['length'],'currentModel':_0x2aba8b,'availableModelsCount':_0x24b279['length']});const _0x2bd6ae=this['_buildRoutingContext'](_0x2e84a9,_0x38a04d,_0x2aba8b,_0x24b279),_0x1867b0=this['benchmarkService']['getBenchmarkTable'](),_0x43f33a=this['_createRoutingPrompt'](_0x2bd6ae,_0x1867b0),_0x34850a=await this[_0x2015b0(0x1eb)](_0x43f33a,_0x146bb9),_0x28bad5=this[_0x2015b0(0x20e)](_0x34850a,_0x24b279,_0x2aba8b);return this[_0x2015b0(0x1f8)]['info']('Model\x20routing\x20completed',{'selectedModel':_0x28bad5,'previousModel':_0x2aba8b,'changed':_0x28bad5!==_0x2aba8b,'reasoning':_0x34850a[_0x2015b0(0x1ec)]?.[_0x2015b0(0x1dd)](0x0,0x64)||_0x2015b0(0x202)}),{'selectedModel':_0x28bad5,'previousModel':_0x2aba8b,'changed':_0x28bad5!==_0x2aba8b,'reasoning':_0x34850a['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x35b7f1){this['logger'][_0x2015b0(0x1f2)](_0x2015b0(0x1e7),{'error':_0x35b7f1['message'],'currentModel':_0x2aba8b});const _0x5dd4a6=_0x2aba8b||_0x24b279[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x5dd4a6,'previousModel':_0x2aba8b,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}['_buildRoutingContext'](_0x18761a,_0x19f3f0,_0x383b78,_0x3c4323){const _0x464554=a0_0x3b5fa0,_0x1fc21d=_0x19f3f0['slice'](-this[_0x464554(0x1fa)])['map'](_0xb0270c=>({'role':_0xb0270c[_0x464554(0x1e2)],'content':_0xb0270c['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0xb0270c[_0x464554(0x1fc)]}));return{'currentMessage':{'content':_0x18761a[_0x464554(0x1e6)]?.[_0x464554(0x1dd)](0x0,0x3e8)||'','role':_0x18761a['role']||'user','hasContextReferences':!!_0x18761a[_0x464554(0x1e1)]?.['length'],'contextTypes':_0x18761a['contextReferences']?.['map'](_0x4c12a1=>_0x4c12a1['type'])||[]},'recentMessages':_0x1fc21d,'currentModel':_0x383b78,'availableModels':_0x3c4323['map'](_0x20f28b=>({'name':_0x20f28b,'isCurrentModel':_0x20f28b===_0x383b78})),'messageCount':_0x19f3f0[_0x464554(0x1ea)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x531e44,_0x298945){const _0x1258d6=a0_0x3b5fa0;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x531e44['currentModel']||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x531e44['messageCount']+_0x1258d6(0x203)+_0x531e44['availableModels'][_0x1258d6(0x216)](_0xf743d0=>_0xf743d0[_0x1258d6(0x1e4)])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x531e44[_0x1258d6(0x1e3)])+_0x1258d6(0x1ff)+_0x531e44[_0x1258d6(0x204)]['role']+'\x0a**Content**:\x20'+_0x531e44[_0x1258d6(0x204)]['content']+_0x1258d6(0x219)+_0x531e44['currentMessage']['hasContextReferences']+'\x0a'+(_0x531e44['currentMessage']['contextTypes']['length']>0x0?_0x1258d6(0x1f3)+_0x531e44[_0x1258d6(0x204)][_0x1258d6(0x209)]['join'](',\x20'):'')+_0x1258d6(0x1da)+this['_formatBenchmarkData'](_0x298945)+'\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_0x3b5fa0(0x1e0)](_0x53940c){const _0x39e8c3=a0_0x3b5fa0;if(!_0x53940c[_0x39e8c3(0x1ea)])return'No\x20recent\x20messages\x20available.';return _0x53940c['map']((_0x24fe03,_0x1d35e5)=>_0x1d35e5+0x1+'.\x20**'+_0x24fe03['role']+_0x39e8c3(0x210)+_0x24fe03[_0x39e8c3(0x1e6)])[_0x39e8c3(0x1d7)]('\x0a');}[a0_0x3b5fa0(0x220)](_0x518490){const _0x564a26=a0_0x3b5fa0,_0x2ca4ab=_0x518490['models']||[],_0x25d31a=_0x518490['tasks']||{},_0x24bc4c=_0x518490['summary']||{};let _0x12cedf=_0x564a26(0x20c);return Object['entries'](_0x25d31a)['forEach'](([_0x2f5204,_0x4bb2d0])=>{const _0x4c5600=_0x564a26;_0x12cedf+='**'+_0x2f5204['toUpperCase']()+_0x4c5600(0x1f0)+_0x4bb2d0[_0x4c5600(0x212)]+'):\x20'+(_0x4bb2d0[_0x4c5600(0x217)]?.[_0x4c5600(0x1d7)](',\x20')||_0x4c5600(0x1f4))+'\x0a';}),_0x12cedf+=_0x564a26(0x1de),_0x2ca4ab[_0x564a26(0x1fd)](0x0,0x8)['forEach'](_0x5d9432=>{const _0x8b6f68=_0x564a26;_0x12cedf+='**'+_0x5d9432[_0x8b6f68(0x1e4)]+_0x8b6f68(0x210);const _0x521e40=Object['entries'](_0x5d9432['tasks']||{})['map'](([_0x23f412,_0x10286e])=>_0x23f412+'('+_0x10286e['score']+')')[_0x8b6f68(0x1d7)](',\x20');_0x12cedf+=_0x521e40+_0x8b6f68(0x1fb)+(_0x5d9432['strengths']?.[_0x8b6f68(0x1d7)](',\x20')||'N/A')+'\x0a';}),_0x12cedf;}async[a0_0x3b5fa0(0x1eb)](_0x58d231,_0x137467={}){const _0x355f32=a0_0x3b5fa0;try{const _0xab4737=await this[_0x355f32(0x1e5)][_0x355f32(0x201)](this[_0x355f32(0x21f)],_0x58d231,{'agentId':_0x355f32(0x200),'systemPrompt':'You\x20are\x20a\x20model\x20routing\x20expert.\x20Analyze\x20conversations\x20and\x20select\x20optimal\x20AI\x20models.\x20Always\x20respond\x20with\x20valid\x20JSON\x20only.','temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x355f32(0x21b)],'sessionId':_0x137467['sessionId'],'apiKey':_0x137467[_0x355f32(0x224)]||this['config']['apiKey'],'customApiKeys':_0x137467['customApiKeys'],'platformProvided':!![]});if(!_0xab4737[_0x355f32(0x1e6)])throw new Error('No response content from autopilot-model-router');const _0xf61334=this[_0x355f32(0x213)](_0xab4737['content']);return _0xf61334;}catch(_0x4f1767){this['logger'][_0x355f32(0x1f2)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x4f1767[_0x355f32(0x20a)],'routerModel':this[_0x355f32(0x21f)]});throw _0x4f1767;}}[a0_0x3b5fa0(0x213)](_0x4d2374){const _0x1145d3=a0_0x3b5fa0;try{const _0x5939a1=_0x4d2374[_0x1145d3(0x1ef)](/\{[\s\S]*\}/);if(!_0x5939a1)throw new Error(_0x1145d3(0x1d8));const _0xab14b3=JSON[_0x1145d3(0x211)](_0x5939a1[0x0]);if(!_0xab14b3['selectedModel'])throw new Error(_0x1145d3(0x1d9));return{'selectedModel':_0xab14b3[_0x1145d3(0x223)],'taskType':_0xab14b3[_0x1145d3(0x1f1)]||_0x1145d3(0x21c),'confidence':_0xab14b3['confidence']||0.5,'reasoning':_0xab14b3['reasoning']||'No\x20reasoning\x20provided','factors':_0xab14b3[_0x1145d3(0x214)]||[]};}catch(_0x22058e){return this[_0x1145d3(0x1f8)]['warn']('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x22058e[_0x1145d3(0x20a)],'content':_0x4d2374['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x1145d3(0x1e8)]};}}['_validateModelSelection'](_0x34ba3d,_0x36ae50,_0x2f2917){const _0x2406e8=a0_0x3b5fa0,{selectedModel:_0x4efb4f}=_0x34ba3d;if(!_0x4efb4f)return this['logger'][_0x2406e8(0x222)](_0x2406e8(0x20b)),_0x2f2917;if(!_0x36ae50['includes'](_0x4efb4f))return this['logger']['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x4efb4f,'availableModels':_0x36ae50}),_0x2f2917;return _0x4efb4f;}[a0_0x3b5fa0(0x21a)](){const _0x2990ed=a0_0x3b5fa0;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x2990ed(0x1fa)],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this['benchmarkService'][_0x2990ed(0x21a)](),'isAvailable':!![]};}async[a0_0x3b5fa0(0x207)](){const _0x4f4b5c=a0_0x3b5fa0;try{const _0x566a97={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x4f4b5c(0x1db)},_0x2ac9b2=await this[_0x4f4b5c(0x1ed)](_0x566a97,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x4f4b5c(0x20d)],MODELS[_0x4f4b5c(0x1f9)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x4f4b5c(0x1f8)]['info']('Router\x20test\x20completed',{'selectedModel':_0x2ac9b2}),{'success':!![],'selectedModel':_0x2ac9b2};}catch(_0x2a43c4){return this[_0x4f4b5c(0x1f8)][_0x4f4b5c(0x1f2)](_0x4f4b5c(0x1e9),{'error':_0x2a43c4[_0x4f4b5c(0x20a)]}),{'success':![],'error':_0x2a43c4['message']};}}}export default ModelRouterService;
1
+ const a0_0x5d87dc=a0_0x366f;function a0_0x366f(_0x4185ff,_0x21eaf4){_0x4185ff=_0x4185ff-0x90;const _0x475bc4=a0_0x475b();let _0x366f19=_0x475bc4[_0x4185ff];if(a0_0x366f['RnQSdO']===undefined){var _0x32f995=function(_0x4e918f){const _0x3c7858='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15b769='',_0x2c68fe='';for(let _0x557aae=0x0,_0xf5e172,_0x539109,_0x10bf4b=0x0;_0x539109=_0x4e918f['charAt'](_0x10bf4b++);~_0x539109&&(_0xf5e172=_0x557aae%0x4?_0xf5e172*0x40+_0x539109:_0x539109,_0x557aae++%0x4)?_0x15b769+=String['fromCharCode'](0xff&_0xf5e172>>(-0x2*_0x557aae&0x6)):0x0){_0x539109=_0x3c7858['indexOf'](_0x539109);}for(let _0x518234=0x0,_0x128fa4=_0x15b769['length'];_0x518234<_0x128fa4;_0x518234++){_0x2c68fe+='%'+('00'+_0x15b769['charCodeAt'](_0x518234)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c68fe);};a0_0x366f['lQKuFO']=_0x32f995,a0_0x366f['DXqIIA']={},a0_0x366f['RnQSdO']=!![];}const _0x541821=_0x475bc4[0x0],_0x5cbae5=_0x4185ff+_0x541821,_0x2c0e46=a0_0x366f['DXqIIA'][_0x5cbae5];return!_0x2c0e46?(_0x366f19=a0_0x366f['lQKuFO'](_0x366f19),a0_0x366f['DXqIIA'][_0x5cbae5]=_0x366f19):_0x366f19=_0x2c0e46,_0x366f19;}function a0_0x475b(){const _0x20f919=['mJi4mtC0sgf5CLjS','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','tM8Gzgf0yq','DgLTzxn0yw1W','uM91DgvYihnLBgvJDgvKihvUyxzHAwXHyMXLig1VzgvSlcb1C2LUzYbJDxjYzw50ig1VzgvS','x2nYzwf0zvjVDxrPBMDqCM9TChq','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','D2fYBG','yxbPs2v5','y29UDgv4Dfr5CgvZ','mtqWshr3AwvK','DgfZA3m','C2vSzwn0zwrnB2rLBa','AM9PBG','BwfW','ywLtzxj2AwnL','z2v0qMvUy2HTyxjRvgfIBgu','yMvUy2HTyxjRu2vYDMLJzq','mJiYnJG4zvvhCKnc','mteWodvYC2nzCxC','C3vTBwfYEq','DxnLCG','CgfYC2LUzY1LCNjVCG','Bg9Nz2vY','CM91DgvnzxnZywDL','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','CMvXDwvZDfrPBwvVDxq','x2fZA0zVCLjVDxrPBMC','BwvZC2fNzunVDw50','kIO6ia','z2v0u3rHDhvZ','DgvZDc1RzxK','BgvUz3rO','y29UDgv4DfjLzMvYzw5Jzxm','zgvIDwC','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','BMfTzq','CM91DgvYtw9KzwW','BwvZC2fNzq','ndeZndnlwLD5DhC','y29UzMLN','tM8GCMvHC29UAw5NihbYB3zPzgvK','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','y29UDgvUDa','DgvZDfjVDxrLCG','ktOG','zM9YrwfJAa','lIaQkG','cI0GkIPnzxnZywDLienVDw50kIO6ia','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','ihWGu3rYzw5NDgHZoIa','mtqWA1bHuuzI','Dw5RBM93BG','zxjYB3i','Bw9KzwXZ','y29UDgv4De1LC3nHz2vZq291BNq','uM91DgvYihrLC3qGzMfPBgvK','CM9Szq','y3vYCMvUDe1LC3nHz2u','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','revfufnfruTFuJe','C3rYzw5NDgHZ','mteYodm2yu1urMX5','nNL0u1HjBG','Bwf0y2G','yxzHAwXHyMXLtw9KzwXZ','uKvrvuvtvf9usu1ft1vu','C3vIC3rYAw5N','mtmZndCWzeLTBuje','x3bHCNnLuM91DgLUz1jLC3bVBNnL','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','C2vZC2LVBKLK','x2zVCM1HDejLBMnOBwfYA0rHDge','zgvZy3jPChrPB24','Aw5MBW','x2j1AwXKuM91DgLUz0nVBNrLEhq','uM91DgvYihrLC3qGy29TCgXLDgvK','nJi3mdrOsNzwzLq','zMfJDg9YCW','CMvHC29UAw5N','Bw9KzwWTCM91DgvY','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0'];a0_0x475b=function(){return _0x20f919;};return a0_0x475b();}(function(_0x3a3f02,_0x5c6e3c){const _0x3f5dcd=a0_0x366f,_0x19146d=_0x3a3f02();while(!![]){try{const _0x28deff=-parseInt(_0x3f5dcd(0xdc))/0x1+parseInt(_0x3f5dcd(0xb4))/0x2+parseInt(_0x3f5dcd(0xa0))/0x3+-parseInt(_0x3f5dcd(0xc6))/0x4+parseInt(_0x3f5dcd(0xc7))/0x5*(-parseInt(_0x3f5dcd(0xa1))/0x6)+-parseInt(_0x3f5dcd(0xbe))/0x7*(parseInt(_0x3f5dcd(0xaf))/0x8)+parseInt(_0x3f5dcd(0xa6))/0x9*(parseInt(_0x3f5dcd(0x94))/0xa);if(_0x28deff===_0x5c6e3c)break;else _0x19146d['push'](_0x19146d['shift']());}catch(_0xcf5ffe){_0x19146d['push'](_0x19146d['shift']());}}}(a0_0x475b,0x1939f));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x15b769,_0x2c68fe,_0x557aae,_0xf5e172){const _0x5d1af7=a0_0x366f;this['config']=_0x15b769,this[_0x5d1af7(0xcb)]=_0x2c68fe,this['benchmarkService']=_0x557aae,this['aiService']=_0xf5e172,this[_0x5d1af7(0xda)]=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this['contextMessagesCount']=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this[_0x5d1af7(0xcf)]=MODEL_ROUTER_CONFIG[_0x5d1af7(0xa4)];}async[a0_0x5d87dc(0xcc)](_0x539109,_0x10bf4b=[],_0x518234='',_0x128fa4=[],_0x1693b8={}){const _0x1bf354=a0_0x5d87dc;try{this[_0x1bf354(0xcb)][_0x1bf354(0xd7)](_0x1bf354(0xe0),{'messageLength':_0x539109['content']?.[_0x1bf354(0xd5)]||0x0,'recentMessagesCount':_0x10bf4b['length'],'currentModel':_0x518234,'availableModelsCount':_0x128fa4[_0x1bf354(0xd5)]});const _0x53934a=this[_0x1bf354(0xad)](_0x539109,_0x10bf4b,_0x518234,_0x128fa4),_0x104f72=this[_0x1bf354(0xc5)][_0x1bf354(0xc4)](),_0x383462=this[_0x1bf354(0xb9)](_0x53934a,_0x104f72),_0x348941=await this['_askForRouting'](_0x383462,_0x1693b8),_0x53e430=this[_0x1bf354(0xcd)](_0x348941,_0x128fa4,_0x518234);return this[_0x1bf354(0xcb)]['info'](_0x1bf354(0xdf),{'selectedModel':_0x53e430,'previousModel':_0x518234,'changed':_0x53e430!==_0x518234,'reasoning':_0x348941['reasoning']?.[_0x1bf354(0xa5)](0x0,0x64)||_0x1bf354(0xde)}),{'selectedModel':_0x53e430,'previousModel':_0x518234,'changed':_0x53e430!==_0x518234,'reasoning':_0x348941[_0x1bf354(0xb1)]||'No\x20reasoning\x20provided'};}catch(_0x4ca6ff){this['logger']['error']('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x4ca6ff[_0x1bf354(0xdb)],'currentModel':_0x518234});const _0x27355f=_0x518234||_0x128fa4[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x27355f,'previousModel':_0x518234,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x5d87dc(0xad)](_0x14e37f,_0x380c3b,_0x3964a1,_0x327207){const _0x547868=a0_0x5d87dc,_0x4ebab9=_0x380c3b['slice'](-this['contextMessagesCount'])['map'](_0x23bbc4=>({'role':_0x23bbc4[_0x547868(0x9a)],'content':_0x23bbc4[_0x547868(0xe1)]?.[_0x547868(0xa5)](0x0,0x1f4)||'','timestamp':_0x23bbc4[_0x547868(0xb7)]}));return{'currentMessage':{'content':_0x14e37f[_0x547868(0xe1)]?.[_0x547868(0xa5)](0x0,0x3e8)||'','role':_0x14e37f[_0x547868(0x9a)]||_0x547868(0xc9),'hasContextReferences':!!_0x14e37f['contextReferences']?.[_0x547868(0xd5)],'contextTypes':_0x14e37f[_0x547868(0xd6)]?.['map'](_0x15aa3d=>_0x15aa3d['type'])||[]},'recentMessages':_0x4ebab9,'currentModel':_0x3964a1,'availableModels':_0x327207[_0x547868(0xc2)](_0xdeb3c4=>({'name':_0xdeb3c4,'isCurrentModel':_0xdeb3c4===_0x3964a1})),'messageCount':_0x380c3b['length']+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x278c24,_0x122a46){const _0xe7f348=a0_0x5d87dc;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x278c24['currentModel']||'None')+_0xe7f348(0x91)+_0x278c24[_0xe7f348(0xd1)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x278c24[_0xe7f348(0xa3)]['map'](_0x450834=>_0x450834[_0xe7f348(0xd9)])['join'](',\x20')+_0xe7f348(0x9d)+this['_formatRecentMessages'](_0x278c24['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x278c24[_0xe7f348(0x9b)][_0xe7f348(0x9a)]+'\x0a**Content**:\x20'+_0x278c24[_0xe7f348(0x9b)][_0xe7f348(0xe1)]+_0xe7f348(0x9c)+_0x278c24[_0xe7f348(0x9b)]['hasContextReferences']+'\x0a'+(_0x278c24[_0xe7f348(0x9b)][_0xe7f348(0xbd)]['length']>0x0?'**Context\x20Types**:\x20'+_0x278c24['currentMessage']['contextTypes']['join'](',\x20'):'')+_0xe7f348(0xce)+this[_0xe7f348(0xaa)](_0x122a46)+_0xe7f348(0xb3);}['_formatRecentMessages'](_0x1a6b24){const _0x2a74a2=a0_0x5d87dc;if(!_0x1a6b24[_0x2a74a2(0xd5)])return'No\x20recent\x20messages\x20available.';return _0x1a6b24['map']((_0x25425e,_0x5c22b2)=>_0x5c22b2+0x1+_0x2a74a2(0x90)+_0x25425e['role']+'**:\x20'+_0x25425e[_0x2a74a2(0xe1)])[_0x2a74a2(0xc1)]('\x0a');}['_formatBenchmarkData'](_0x46593a){const _0x2e2a71=a0_0x5d87dc,_0x790acc=_0x46593a[_0x2e2a71(0x97)]||[],_0x28e4dc=_0x46593a[_0x2e2a71(0xbf)]||{},_0x5d3c3c=_0x46593a[_0x2e2a71(0xc8)]||{};let _0x3622f6='###\x20Model\x20Performance\x20Summary\x0a';return Object['entries'](_0x28e4dc)[_0x2e2a71(0xe4)](([_0x20e89b,_0x5af624])=>{const _0xda8446=_0x2e2a71;_0x3622f6+='**'+_0x20e89b['toUpperCase']()+'**\x20('+_0x5af624[_0xda8446(0xab)]+_0xda8446(0xe3)+(_0x5af624['topModels']?.['join'](',\x20')||_0xda8446(0xb6))+'\x0a';}),_0x3622f6+='\x0a###\x20Model\x20Details\x0a',_0x790acc['slice'](0x0,0x8)[_0x2e2a71(0xe4)](_0x441cec=>{const _0x2669f2=_0x2e2a71;_0x3622f6+='**'+_0x441cec[_0x2669f2(0xd9)]+_0x2669f2(0xd2);const _0x260cb7=Object['entries'](_0x441cec['tasks']||{})['map'](([_0x1ffc90,_0x4ccb39])=>_0x1ffc90+'('+_0x4ccb39['score']+')')[_0x2669f2(0xc1)](',\x20');_0x3622f6+=_0x260cb7+_0x2669f2(0x93)+(_0x441cec[_0x2669f2(0x9f)]?.['join'](',\x20')||'N/A')+'\x0a';}),_0x3622f6;}async[a0_0x5d87dc(0xd0)](_0x1f9b08,_0x16ce78={}){const _0x214be4=a0_0x5d87dc;try{const _0x3b8127=await this[_0x214be4(0xc3)]['sendMessage'](this[_0x214be4(0xda)],_0x1f9b08,{'agentId':_0x214be4(0xb2),'systemPrompt':_0x214be4(0xd8),'temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x214be4(0xcf)],'sessionId':_0x16ce78[_0x214be4(0xa9)],'apiKey':_0x16ce78[_0x214be4(0xbc)]||this[_0x214be4(0xdd)][_0x214be4(0xbc)],'customApiKeys':_0x16ce78['customApiKeys'],'platformProvided':!![]});if(!_0x3b8127[_0x214be4(0xe1)])throw new Error('No response content from autopilot-model-router');const _0x3ac394=this['_parseRoutingResponse'](_0x3b8127[_0x214be4(0xe1)]);return _0x3ac394;}catch(_0x586b89){this['logger'][_0x214be4(0x96)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x586b89[_0x214be4(0xdb)],'routerModel':this[_0x214be4(0xda)]});throw _0x586b89;}}[a0_0x5d87dc(0xa7)](_0x18504f){const _0x57a167=a0_0x5d87dc;try{const _0x3df901=_0x18504f[_0x57a167(0xa2)](/\{[\s\S]*\}/);if(!_0x3df901)throw new Error(_0x57a167(0xa8));const _0x2c667b=JSON['parse'](_0x3df901[0x0]);if(!_0x2c667b[_0x57a167(0xc0)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x2c667b[_0x57a167(0xc0)],'taskType':_0x2c667b['taskType']||_0x57a167(0x95),'confidence':_0x2c667b['confidence']||0.5,'reasoning':_0x2c667b[_0x57a167(0xb1)]||'No\x20reasoning\x20provided','factors':_0x2c667b[_0x57a167(0xb0)]||[]};}catch(_0x47b88a){return this[_0x57a167(0xcb)]['warn'](_0x57a167(0xba),{'error':_0x47b88a[_0x57a167(0xdb)],'content':_0x18504f['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x57a167(0x95),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x57a167(0xca)]};}}['_validateModelSelection'](_0x1282f6,_0xe6820f,_0x898a2b){const _0x22fcd6=a0_0x5d87dc,{selectedModel:_0x30ccb1}=_0x1282f6;if(!_0x30ccb1)return this[_0x22fcd6(0xcb)]['debug'](_0x22fcd6(0x92)),_0x898a2b;if(!_0xe6820f['includes'](_0x30ccb1))return this[_0x22fcd6(0xcb)][_0x22fcd6(0xbb)](_0x22fcd6(0xb8),{'selectedModel':_0x30ccb1,'availableModels':_0xe6820f}),_0x898a2b;return _0x30ccb1;}[a0_0x5d87dc(0xd3)](){const _0x3e5c36=a0_0x5d87dc;return{'routerModel':this[_0x3e5c36(0xda)],'contextMessagesCount':this[_0x3e5c36(0x98)],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this['benchmarkService'][_0x3e5c36(0xd3)](),'isAvailable':!![]};}async[a0_0x5d87dc(0xe2)](){const _0x3af23c=a0_0x5d87dc;try{const _0x189ce2={'content':_0x3af23c(0xb5),'role':_0x3af23c(0xc9)},_0x368d01=await this['routeMessage'](_0x189ce2,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS['ANTHROPIC_OPUS'],MODELS['GPT_4'],MODELS[_0x3af23c(0x9e)]],{'apiKey':_0x3af23c(0xd4)});return this[_0x3af23c(0xcb)][_0x3af23c(0xac)](_0x3af23c(0xae),{'selectedModel':_0x368d01}),{'success':!![],'selectedModel':_0x368d01};}catch(_0x3e097e){return this['logger']['error'](_0x3af23c(0x99),{'error':_0x3e097e[_0x3af23c(0xdb)]}),{'success':![],'error':_0x3e097e[_0x3af23c(0xdb)]};}}}export default ModelRouterService;
@@ -1 +1 @@
1
- const a0_0x374c59=a0_0x1964;function a0_0x47c5(){const _0x2543ad=['Bw9KzwXZ','mZK5mgzUzMHHCa','BM93','yxbWBgLJyxrPB24VANnVBG','mtG0mK1MAxPryG','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','zw52','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','Cg93','te9ysufFqvbjx0Tfwq','C3rHDhvZ','AxnmB2fKAw5N','y29UzMLN','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','x3nJAgvKDwXLuMv0CNK','zxjYB3i','uMv0CNKGyxr0zw1WDcbMywLSzwq','CMv0CNLbDhrLBxb0CW','y2fJAgvfEhbPCNK','mta0mJG3D2HrAvvA','yMfJA2vUzfvYBa','Bwf4uMv0CMLLCW','zMv0y2HnB2rLBhm','z2v0s2v5C0zVCLjLCxvLC3q','CMv0CNLezwXHEq','Aw5PDgLHBgL6zq','CMvMCMvZAfDPDgHdB250zxH0','BgfZDezLDgnOzwq','zgvIDwC','yxbPs2v5twfUywDLCG','z2v0tw9KzwXZ','yxbPs2v5','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','Aw5MBW','sfruuca','ntqYotiYBu1HyxHv','mtHhqxrACeC','BwfW','ANnVBG','z2v0vgLTzq','CMv0CNLuAw1LCG','ng90wNjgAW','ntKZmZKYwhPmtwHM','BwvZC2fNzq','C3rHDhvZvgv4Da','BgvUz3rO','nZy5nda0C3zjCKDP','BgfZDevYCM9Y','mtaXnJu0mtb1q0fLtgi','AxnbCNjHEq','l2fWAs9SBg0VBw9KzwXZ','x2nHBMnLBfjLDhj5','Bg94AwfbCgLlzxK','Bg9Nz2vY','mJa3nJi0mgLMA1HzDG'];a0_0x47c5=function(){return _0x2543ad;};return a0_0x47c5();}(function(_0x384564,_0x71bf49){const _0x100c99=a0_0x1964,_0x55fff1=_0x384564();while(!![]){try{const _0x3c5c5b=-parseInt(_0x100c99(0x1a5))/0x1+parseInt(_0x100c99(0x188))/0x2+-parseInt(_0x100c99(0x1b5))/0x3+parseInt(_0x100c99(0x1bb))/0x4*(-parseInt(_0x100c99(0x190))/0x5)+parseInt(_0x100c99(0x195))/0x6*(-parseInt(_0x100c99(0x192))/0x7)+-parseInt(_0x100c99(0x1bc))/0x8*(parseInt(_0x100c99(0x1b6))/0x9)+parseInt(_0x100c99(0x18a))/0xa;if(_0x3c5c5b===_0x71bf49)break;else _0x55fff1['push'](_0x55fff1['shift']());}catch(_0x40d8fe){_0x55fff1['push'](_0x55fff1['shift']());}}}(a0_0x47c5,0x5c234));class ModelsService{constructor(_0x507fc5,_0x5c5ebd){const _0x6ac17f=a0_0x1964;this['config']=_0x507fc5,this[_0x6ac17f(0x18f)]=_0x5c5ebd,this[_0x6ac17f(0x191)]=null,this[_0x6ac17f(0x1ad)]=null,this['isLoading']=![],this[_0x6ac17f(0x1a4)]=0x5*0x3c*0x3e8,this['backendUrl']=_0x507fc5['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this[_0x6ac17f(0x1a7)]=0x3,this[_0x6ac17f(0x1aa)]=0x7d0,this['retryTimer']=null,this['lastError']=null,this[_0x6ac17f(0x1af)]=null;}['setApiKeyManager'](_0x39c4e7){const _0x3b41e2=a0_0x1964;this['apiKeyManager']=_0x39c4e7,this['logger']?.[_0x3b41e2(0x1b3)](_0x3b41e2(0x199),{'hasManager':!!_0x39c4e7});}async[a0_0x374c59(0x1ab)](){const _0x519aa4=a0_0x374c59;try{await this['fetchModels'](),this[_0x519aa4(0x18f)][_0x519aa4(0x1b3)](_0x519aa4(0x198),{'modelCount':this['models']?.['length']||0x0});}catch(_0x5c3434){this['lastError']=_0x5c3434['message'],this[_0x519aa4(0x18f)][_0x519aa4(0x1a1)](_0x519aa4(0x1b2),{'error':_0x5c3434[_0x519aa4(0x1bd)],'endpoint':this[_0x519aa4(0x1a6)]+_0x519aa4(0x18c),'willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x374c59(0x19f)](){const _0x388727=a0_0x374c59;if(!this[_0x388727(0x191)]||this['models'][_0x388727(0x187)]===0x0)return this['logger'][_0x388727(0x1a1)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x388727(0x189)],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this[_0x388727(0x1a3)],'maxRetries':this[_0x388727(0x1a7)]}),[];return this['models'][_0x388727(0x1b7)](_0x41db4d=>_0x41db4d['name']);}[a0_0x374c59(0x1b0)](){const _0x19078a=a0_0x374c59;if(!this[_0x19078a(0x191)]||this[_0x19078a(0x191)]['length']===0x0)return this['logger'][_0x19078a(0x1a1)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0x19078a(0x18c)}),[];return this[_0x19078a(0x191)];}async['fetchModels'](_0x471e02=null){const _0x206bff=a0_0x374c59;if(this['isLoading']){this[_0x206bff(0x18f)][_0x206bff(0x1ae)]('Models\x20fetch\x20already\x20in\x20progress');return;}this[_0x206bff(0x19d)]=!![];try{const _0x3f65b6=this[_0x206bff(0x1a6)]+_0x206bff(0x18c);let _0x47a186=null;if(this['apiKeyManager']&&_0x471e02&&_0x471e02['sessionId']){const _0xaedb87=this['apiKeyManager'][_0x206bff(0x1a9)](_0x471e02['sessionId'],{'platformProvided':!![],'vendor':null});_0x47a186=_0xaedb87[_0x206bff(0x18e)],this['logger']?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x471e02['sessionId'],'hasLoxiaKey':!!_0x47a186});}if(!_0x47a186&&_0x471e02&&_0x471e02['apiKey'])_0x47a186=_0x471e02[_0x206bff(0x1b1)];else{if(!_0x47a186&&this['config'][_0x206bff(0x1b1)])_0x47a186=this['config']['apiKey'];else!_0x47a186&&process['env'][_0x206bff(0x19b)]&&(_0x47a186=process['env'][_0x206bff(0x19b)]);}const _0x3f1204={'method':'GET','headers':{'Content-Type':_0x206bff(0x194),..._0x47a186&&{'Authorization':'Bearer\x20'+_0x47a186}},'timeout':0x2710};this['logger']['debug']('Fetching models from backend',{'url':_0x3f65b6,'hasApiKey':!!_0x47a186,'apiKeySource':_0x471e02?.['apiKey']?'context':this[_0x206bff(0x19e)][_0x206bff(0x1b1)]?_0x206bff(0x19e):process[_0x206bff(0x197)][_0x206bff(0x19b)]?_0x206bff(0x197):'none'});const _0x1446bb=await fetch(_0x3f65b6,_0x3f1204);if(!_0x1446bb['ok'])throw new Error(_0x206bff(0x1b4)+_0x1446bb[_0x206bff(0x19c)]+':\x20'+_0x1446bb[_0x206bff(0x1be)]);const _0x1fccbb=await _0x1446bb[_0x206bff(0x1b8)]();if(_0x1fccbb[_0x206bff(0x191)]&&Array[_0x206bff(0x18b)](_0x1fccbb[_0x206bff(0x191)]))this[_0x206bff(0x191)]=_0x1fccbb[_0x206bff(0x191)],this['lastFetched']=new Date(),this['needsRefresh']=![],this[_0x206bff(0x18f)][_0x206bff(0x1b3)]('Models fetched from backend',{'modelCount':this[_0x206bff(0x191)]['length'],'models':this['models'][_0x206bff(0x1b7)](_0x234597=>_0x234597['name'])});else throw new Error('Invalid response format from models API');}catch(_0x1e9671){this[_0x206bff(0x189)]=_0x1e9671['message'],this[_0x206bff(0x18f)][_0x206bff(0x1a1)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x1e9671['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this[_0x206bff(0x1a7)]}),this['_scheduleRetry'](_0x471e02);if(!this[_0x206bff(0x191)])throw _0x1e9671;}finally{this['isLoading']=![];}}['needsRefresh'](){const _0x2f12f7=a0_0x374c59;if(!this['lastFetched'])return!![];const _0x3631a3=Date[_0x2f12f7(0x193)]()-this['lastFetched'][_0x2f12f7(0x1b9)]();return _0x3631a3>this['cacheExpiry'];}async['refresh'](_0x1e9b17=null){const _0x586667=a0_0x374c59;this['logger'][_0x586667(0x1b3)]('Force\x20refreshing\x20models'),await this[_0x586667(0x1a8)](_0x1e9b17);}async[a0_0x374c59(0x1ac)](_0x3b91cd){const _0x2d48ee=a0_0x374c59;(this['needsRefresh']||!this['lastFetched'])&&(this['logger']['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x2d48ee(0x1a8)](_0x3b91cd));}[a0_0x374c59(0x1a0)](_0x2595aa=null){const _0x248c54=a0_0x374c59;this[_0x248c54(0x1ba)]&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this[_0x248c54(0x1a3)]>=this[_0x248c54(0x1a7)]){this[_0x248c54(0x18f)]['error']('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x20d514=this['retryDelay']*Math[_0x248c54(0x19a)](0x2,this[_0x248c54(0x1a3)]);this['retryAttempts']++,this[_0x248c54(0x18f)]['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x248c54(0x1a3)],'maxRetries':this[_0x248c54(0x1a7)],'delayMs':_0x20d514}),this['retryTimer']=setTimeout(async()=>{const _0x991111=_0x248c54;this['logger']['info'](_0x991111(0x196),{'attempt':this['retryAttempts']});try{await this[_0x991111(0x1a8)](_0x2595aa),this['retryAttempts']=0x0,this['lastError']=null;}catch(_0x2d1bc7){this['logger']['warn'](_0x991111(0x1a2),{'attempt':this['retryAttempts'],'error':_0x2d1bc7[_0x991111(0x1bd)]});}},_0x20d514);}[a0_0x374c59(0x18d)](){const _0x4a1413=a0_0x374c59;this[_0x4a1413(0x1ba)]&&(clearTimeout(this['retryTimer']),this[_0x4a1413(0x1ba)]=null,this['logger'][_0x4a1413(0x1ae)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}['getStatus'](){const _0x104f91=a0_0x374c59;return{'initialized':!!this[_0x104f91(0x191)],'lastFetched':this[_0x104f91(0x1ad)]?.['toISOString']()||null,'modelCount':this['models']?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this['lastError']||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this[_0x104f91(0x189)]};}}function a0_0x1964(_0x23d366,_0x149d3b){_0x23d366=_0x23d366-0x187;const _0x47c55e=a0_0x47c5();let _0x1964d3=_0x47c55e[_0x23d366];if(a0_0x1964['OVUaxP']===undefined){var _0x1ee1a8=function(_0x231ffd){const _0x4e0bf4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x507fc5='',_0x5c5ebd='';for(let _0x39c4e7=0x0,_0x5c3434,_0x41db4d,_0x471e02=0x0;_0x41db4d=_0x231ffd['charAt'](_0x471e02++);~_0x41db4d&&(_0x5c3434=_0x39c4e7%0x4?_0x5c3434*0x40+_0x41db4d:_0x41db4d,_0x39c4e7++%0x4)?_0x507fc5+=String['fromCharCode'](0xff&_0x5c3434>>(-0x2*_0x39c4e7&0x6)):0x0){_0x41db4d=_0x4e0bf4['indexOf'](_0x41db4d);}for(let _0x3f65b6=0x0,_0x47a186=_0x507fc5['length'];_0x3f65b6<_0x47a186;_0x3f65b6++){_0x5c5ebd+='%'+('00'+_0x507fc5['charCodeAt'](_0x3f65b6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c5ebd);};a0_0x1964['VQSefS']=_0x1ee1a8,a0_0x1964['aCKPEB']={},a0_0x1964['OVUaxP']=!![];}const _0x2470e8=_0x47c55e[0x0],_0x414b5c=_0x23d366+_0x2470e8,_0x14eb79=a0_0x1964['aCKPEB'][_0x414b5c];return!_0x14eb79?(_0x1964d3=a0_0x1964['VQSefS'](_0x1964d3),a0_0x1964['aCKPEB'][_0x414b5c]=_0x1964d3):_0x1964d3=_0x14eb79,_0x1964d3;}export default ModelsService;
1
+ const a0_0x200f43=a0_0x24d4;(function(_0xe0a444,_0x31f85e){const _0x3640a3=a0_0x24d4,_0x375f53=_0xe0a444();while(!![]){try{const _0x106600=parseInt(_0x3640a3(0xa6))/0x1+parseInt(_0x3640a3(0xbe))/0x2*(-parseInt(_0x3640a3(0xa9))/0x3)+parseInt(_0x3640a3(0x9c))/0x4*(parseInt(_0x3640a3(0x99))/0x5)+-parseInt(_0x3640a3(0xb1))/0x6*(parseInt(_0x3640a3(0x96))/0x7)+-parseInt(_0x3640a3(0xa5))/0x8*(-parseInt(_0x3640a3(0x92))/0x9)+-parseInt(_0x3640a3(0xc5))/0xa*(parseInt(_0x3640a3(0xa1))/0xb)+-parseInt(_0x3640a3(0xb6))/0xc*(-parseInt(_0x3640a3(0xb7))/0xd);if(_0x106600===_0x31f85e)break;else _0x375f53['push'](_0x375f53['shift']());}catch(_0x449928){_0x375f53['push'](_0x375f53['shift']());}}}(a0_0x2506,0x6ab21));function a0_0x24d4(_0x370934,_0x239450){_0x370934=_0x370934-0x8e;const _0x2506b5=a0_0x2506();let _0x24d413=_0x2506b5[_0x370934];if(a0_0x24d4['xpYjKu']===undefined){var _0x3bcd23=function(_0x449ecc){const _0x4b3ce8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d25bc='',_0xf22659='';for(let _0x4469b1=0x0,_0x57a67c,_0x598344,_0x522389=0x0;_0x598344=_0x449ecc['charAt'](_0x522389++);~_0x598344&&(_0x57a67c=_0x4469b1%0x4?_0x57a67c*0x40+_0x598344:_0x598344,_0x4469b1++%0x4)?_0x4d25bc+=String['fromCharCode'](0xff&_0x57a67c>>(-0x2*_0x4469b1&0x6)):0x0){_0x598344=_0x4b3ce8['indexOf'](_0x598344);}for(let _0x328b2d=0x0,_0x29a09a=_0x4d25bc['length'];_0x328b2d<_0x29a09a;_0x328b2d++){_0xf22659+='%'+('00'+_0x4d25bc['charCodeAt'](_0x328b2d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf22659);};a0_0x24d4['zCIQyH']=_0x3bcd23,a0_0x24d4['zcNkrW']={},a0_0x24d4['xpYjKu']=!![];}const _0x8f761c=_0x2506b5[0x0],_0x3167b1=_0x370934+_0x8f761c,_0x245fb7=a0_0x24d4['zcNkrW'][_0x3167b1];return!_0x245fb7?(_0x24d413=a0_0x24d4['zCIQyH'](_0x24d413),a0_0x24d4['zcNkrW'][_0x3167b1]=_0x24d413):_0x24d413=_0x245fb7,_0x24d413;}class ModelsService{constructor(_0x4d25bc,_0xf22659){const _0x193adf=a0_0x24d4;this['config']=_0x4d25bc,this[_0x193adf(0xc0)]=_0xf22659,this['models']=null,this['lastFetched']=null,this['isLoading']=![],this[_0x193adf(0xad)]=0x5*0x3c*0x3e8,this[_0x193adf(0xae)]=_0x4d25bc['backendUrl']||_0x193adf(0xb2),this[_0x193adf(0x94)]=0x0,this['maxRetries']=0x3,this[_0x193adf(0x95)]=0x7d0,this['retryTimer']=null,this[_0x193adf(0x98)]=null,this['apiKeyManager']=null;}['setApiKeyManager'](_0x4469b1){const _0x459eed=a0_0x24d4;this[_0x459eed(0x90)]=_0x4469b1,this['logger']?.[_0x459eed(0xc3)](_0x459eed(0xba),{'hasManager':!!_0x4469b1});}async['initialize'](){const _0xad1fe4=a0_0x24d4;try{await this['fetchModels'](),this['logger'][_0xad1fe4(0xc3)](_0xad1fe4(0xc2),{'modelCount':this['models']?.[_0xad1fe4(0xc6)]||0x0});}catch(_0x57a67c){this['lastError']=_0x57a67c['message'],this['logger'][_0xad1fe4(0xac)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x57a67c['message'],'endpoint':this['backendUrl']+_0xad1fe4(0xb4),'willRetry':!![]}),this[_0xad1fe4(0xab)]();}}[a0_0x200f43(0x9f)](){const _0x459ad2=a0_0x200f43;if(!this[_0x459ad2(0xb8)]||this['models']['length']===0x0)return this[_0x459ad2(0xc0)]['error'](_0x459ad2(0x9d),{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0x459ad2(0xb4),'retryAttempt':this['retryAttempts'],'maxRetries':this[_0x459ad2(0xb3)]}),[];return this['models']['map'](_0x598344=>_0x598344[_0x459ad2(0xbc)]);}[a0_0x200f43(0xa3)](){const _0x49a9d0=a0_0x200f43;if(!this['models']||this[_0x49a9d0(0xb8)]['length']===0x0)return this['logger']['error'](_0x49a9d0(0x9d),{'lastError':this[_0x49a9d0(0x98)],'endpoint':this[_0x49a9d0(0xae)]+'/api/llm/models'}),[];return this['models'];}async['fetchModels'](_0x522389=null){const _0x2a5097=a0_0x200f43;if(this['isLoading']){this['logger'][_0x2a5097(0xc4)]('Models\x20fetch\x20already\x20in\x20progress');return;}this[_0x2a5097(0xc1)]=!![];try{const _0x328b2d=this['backendUrl']+_0x2a5097(0xb4);let _0x29a09a=null;if(this[_0x2a5097(0x90)]&&_0x522389&&_0x522389['sessionId']){const _0x5beef1=this[_0x2a5097(0x90)]['getKeysForRequest'](_0x522389['sessionId'],{'platformProvided':!![],'vendor':null});_0x29a09a=_0x5beef1[_0x2a5097(0x9e)],this['logger']?.[_0x2a5097(0xc3)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x522389['sessionId'],'hasLoxiaKey':!!_0x29a09a});}if(!_0x29a09a&&_0x522389&&_0x522389['apiKey'])_0x29a09a=_0x522389['apiKey'];else{if(!_0x29a09a&&this[_0x2a5097(0x97)]['apiKey'])_0x29a09a=this[_0x2a5097(0x97)]['apiKey'];else!_0x29a09a&&process['env']['LOXIA_API_KEY']&&(_0x29a09a=process[_0x2a5097(0x9b)][_0x2a5097(0xbf)]);}const _0x21ad3b={'method':_0x2a5097(0xb0),'headers':{'Content-Type':'application/json',..._0x29a09a&&{'Authorization':_0x2a5097(0xb9)+_0x29a09a}},'timeout':0x2710};this[_0x2a5097(0xc0)][_0x2a5097(0xc4)]('Fetching models from backend',{'url':_0x328b2d,'hasApiKey':!!_0x29a09a,'apiKeySource':_0x522389?.['apiKey']?_0x2a5097(0xbd):this['config']['apiKey']?'config':process[_0x2a5097(0x9b)][_0x2a5097(0xbf)]?'env':_0x2a5097(0xa8)});const _0x429c26=await fetch(_0x328b2d,_0x21ad3b);if(!_0x429c26['ok'])throw new Error('HTTP\x20'+_0x429c26[_0x2a5097(0xa2)]+':\x20'+_0x429c26['statusText']);const _0x22e7a0=await _0x429c26['json']();if(_0x22e7a0['models']&&Array[_0x2a5097(0xbb)](_0x22e7a0['models']))this['models']=_0x22e7a0['models'],this['lastFetched']=new Date(),this[_0x2a5097(0x9a)]=![],this[_0x2a5097(0xc0)][_0x2a5097(0xc3)]('Models fetched from backend',{'modelCount':this['models'][_0x2a5097(0xc6)],'models':this['models'][_0x2a5097(0x93)](_0x3326fb=>_0x3326fb['name'])});else throw new Error('Invalid response format from models API');}catch(_0x5d1c3f){this[_0x2a5097(0x98)]=_0x5d1c3f[_0x2a5097(0x8e)],this['logger'][_0x2a5097(0xac)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x5d1c3f['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),this['_scheduleRetry'](_0x522389);if(!this[_0x2a5097(0xb8)])throw _0x5d1c3f;}finally{this[_0x2a5097(0xc1)]=![];}}['needsRefresh'](){const _0x203b81=a0_0x200f43;if(!this[_0x203b81(0xb5)])return!![];const _0x33b5a7=Date[_0x203b81(0xa0)]()-this['lastFetched']['getTime']();return _0x33b5a7>this[_0x203b81(0xad)];}async['refresh'](_0x33adce=null){const _0x8b9bc2=a0_0x200f43;this[_0x8b9bc2(0xc0)]['info']('Force\x20refreshing\x20models'),await this[_0x8b9bc2(0xa7)](_0x33adce);}async['refreshWithContext'](_0xa793f9){const _0x2615f9=a0_0x200f43;(this['needsRefresh']||!this['lastFetched'])&&(this['logger'][_0x2615f9(0xc4)](_0x2615f9(0xa4)),await this[_0x2615f9(0xa7)](_0xa793f9));}['_scheduleRetry'](_0x488dee=null){const _0x4b3cc3=a0_0x200f43;this[_0x4b3cc3(0xaa)]&&(clearTimeout(this['retryTimer']),this[_0x4b3cc3(0xaa)]=null);if(this[_0x4b3cc3(0x94)]>=this[_0x4b3cc3(0xb3)]){this['logger']['error'](_0x4b3cc3(0x91),{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this[_0x4b3cc3(0x98)]});return;}const _0x3d93f3=this[_0x4b3cc3(0x95)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger']['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x4b3cc3(0x94)],'maxRetries':this[_0x4b3cc3(0xb3)],'delayMs':_0x3d93f3}),this['retryTimer']=setTimeout(async()=>{const _0x3e5516=_0x4b3cc3;this[_0x3e5516(0xc0)]['info']('Executing\x20scheduled\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x488dee),this[_0x3e5516(0x94)]=0x0,this[_0x3e5516(0x98)]=null;}catch(_0x1260af){this[_0x3e5516(0xc0)]['warn']('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x1260af['message']});}},_0x3d93f3);}[a0_0x200f43(0xaf)](){const _0x3a2afe=a0_0x200f43;this['retryTimer']&&(clearTimeout(this[_0x3a2afe(0xaa)]),this[_0x3a2afe(0xaa)]=null,this[_0x3a2afe(0xc0)][_0x3a2afe(0xc4)](_0x3a2afe(0x8f)));}['getStatus'](){const _0x772be2=a0_0x200f43;return{'initialized':!!this[_0x772be2(0xb8)],'lastFetched':this['lastFetched']?.['toISOString']()||null,'modelCount':this[_0x772be2(0xb8)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this[_0x772be2(0x98)]||null,'retryAttempts':this[_0x772be2(0x94)],'maxRetries':this[_0x772be2(0xb3)],'hasError':!!this[_0x772be2(0x98)]};}}export default ModelsService;function a0_0x2506(){const _0x41bf69=['ndKWnZu2mLzMDKLVEG','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','Bwf4uMv0CMLLCW','l2fWAs9SBg0VBw9KzwXZ','BgfZDezLDgnOzwq','mtjUBNbTAfy','mtu3nde1mtHquKDuEvm','Bw9KzwXZ','qMvHCMvYia','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','AxnbCNjHEq','BMfTzq','y29UDgv4Da','ntbPs1LzEfu','te9ysufFqvbjx0Tfwq','Bg9Nz2vY','AxnmB2fKAw5N','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','Aw5MBW','zgvIDwC','mJeZodmWz3vnA3D3','BgvUz3rO','BwvZC2fNzq','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','yxbPs2v5twfUywDLCG','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','mti1nJK0qxrYtgXW','BwfW','CMv0CNLbDhrLBxb0CW','CMv0CNLezwXHEq','n1nzse9iEa','y29UzMLN','BgfZDevYCM9Y','mJqXnJvfzfr1zwe','BMvLzhnszwzYzxnO','zw52','mJrPzgLeqLq','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','Bg94AwfbCgLlzxK','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','BM93','mZnuC3PArgO','C3rHDhvZ','z2v0tw9KzwXZ','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','ndq4wwvWtunm','mtuYmJK2CLDZzK5M','zMv0y2HnB2rLBhm','BM9Uzq','mtaYnJiXC2fiA1jL','CMv0CNLuAw1LCG','x3nJAgvKDwXLuMv0CNK','zxjYB3i','y2fJAgvfEhbPCNK','yMfJA2vUzfvYBa','x2nHBMnLBfjLDhj5','r0vu'];a0_0x2506=function(){return _0x41bf69;};return a0_0x2506();}