@loxia-labs/loxia-autopilot-one 1.0.8 → 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_0x4c22d6=a0_0xa457;(function(_0x2fb4a2,_0x3296ee){const _0xa0e36c=a0_0xa457,_0xbf114b=_0x2fb4a2();while(!![]){try{const _0x33afff=-parseInt(_0xa0e36c(0x1b7))/0x1*(-parseInt(_0xa0e36c(0x1c5))/0x2)+-parseInt(_0xa0e36c(0x1aa))/0x3+-parseInt(_0xa0e36c(0x181))/0x4+-parseInt(_0xa0e36c(0x202))/0x5*(parseInt(_0xa0e36c(0x219))/0x6)+parseInt(_0xa0e36c(0x1e6))/0x7+parseInt(_0xa0e36c(0x196))/0x8*(parseInt(_0xa0e36c(0x205))/0x9)+parseInt(_0xa0e36c(0x200))/0xa;if(_0x33afff===_0x3296ee)break;else _0xbf114b['push'](_0xbf114b['shift']());}catch(_0x210b59){_0xbf114b['push'](_0xbf114b['shift']());}}}(a0_0x1bf8,0x43400));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x29c8a4,_0x451f6d,_0x4e9209,_0x1bcdf1){const _0x98222c=a0_0xa457;this['config']=_0x29c8a4,this['logger']=_0x451f6d,this[_0x98222c(0x1ab)]=_0x4e9209,this['errorHandler']=_0x1bcdf1,this[_0x98222c(0x193)]=_0x29c8a4[_0x98222c(0x19f)]?.[_0x98222c(0x193)]||_0x98222c(0x21d),this['timeout']=_0x29c8a4['backend']?.['timeout']||0xea60,this['retryAttempts']=_0x29c8a4[_0x98222c(0x19f)]?.['retryAttempts']||0x3,this[_0x98222c(0x209)]=new Map(),this[_0x98222c(0x1ca)]=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this['_initializeModelSpecs'](),this[_0x98222c(0x217)]=new Map(),this['apiKeyManager']=null,this['agentPool']=null;}async[a0_0x4c22d6(0x19a)](_0x36186f,_0x3c0e73,_0x1ace94={}){const _0x231450=a0_0x4c22d6,_0x1c1ce9='req-'+Date[_0x231450(0x1a4)]()+'-'+Math['random']()[_0x231450(0x182)](0x24)['substr'](0x2,0x9);try{if(this[_0x231450(0x1d3)]())throw new Error(_0x231450(0x1ef));await this[_0x231450(0x189)](_0x36186f);const _0x4425d0=this[_0x231450(0x1be)](_0x3c0e73,_0x36186f,_0x1ace94),_0x151c08={'model':_0x36186f,'messages':_0x4425d0,'options':{'max_tokens':this[_0x231450(0x203)][_0x36186f]?.['maxTokens']||0xfa0,'temperature':_0x1ace94[_0x231450(0x1c4)]||0.7,'stream':_0x1ace94[_0x231450(0x191)]||![]},'metadata':{'requestId':_0x1c1ce9,'agentId':_0x1ace94['agentId'],'timestamp':new Date()['toISOString']()}};_0x1ace94['systemPrompt']&&(_0x151c08['system']=_0x1ace94['systemPrompt']);this['logger'][_0x231450(0x183)]('Sending\x20message\x20to\x20model:\x20'+_0x36186f,{'requestId':_0x1c1ce9,'agentId':_0x1ace94[_0x231450(0x1b2)],'messageCount':Array['isArray'](_0x3c0e73)?_0x3c0e73['length']:0x1,'maxTokens':_0x151c08['max_tokens']});const _0x17725e=await this['_makeAPIRequest']('/chat/completions',_0x151c08,_0x1c1ce9,{..._0x1ace94,'sessionId':_0x1ace94['sessionId'],'platformProvided':_0x1ace94[_0x231450(0x194)]||![]});return _0x17725e['usage']&&await this[_0x231450(0x187)](_0x1ace94['agentId'],_0x36186f,{'prompt_tokens':_0x17725e['usage']['prompt_tokens']||0x0,'completion_tokens':_0x17725e[_0x231450(0x1ec)]['completion_tokens']||0x0,'total_tokens':_0x17725e[_0x231450(0x1ec)][_0x231450(0x1a5)]||0x0}),this[_0x231450(0x1e1)](),{'content':_0x17725e['choices'][0x0]?.['message']?.[_0x231450(0x20c)]||'','model':_0x17725e[_0x231450(0x1bc)],'tokenUsage':_0x17725e[_0x231450(0x1ec)],'requestId':_0x1c1ce9,'finishReason':_0x17725e[_0x231450(0x204)][0x0]?.['finish_reason']};}catch(_0x2453bd){this['_recordFailure'](),this[_0x231450(0x18a)][_0x231450(0x1ee)](_0x231450(0x1a8)+_0x2453bd[_0x231450(0x1d4)],{'requestId':_0x1c1ce9,'model':_0x36186f,'agentId':_0x1ace94['agentId'],'error':_0x2453bd[_0x231450(0x1d5)]}),await this[_0x231450(0x1f3)](_0x2453bd,{'requestId':_0x1c1ce9,'model':_0x36186f,'agentId':_0x1ace94[_0x231450(0x1b2)]});throw _0x2453bd;}}async[a0_0x4c22d6(0x17b)](_0xe76ff6,_0x15ec10={}){const _0x3f24b4=a0_0x4c22d6;try{const _0x1e97b4=MODEL_ROUTING[_0xe76ff6[_0x3f24b4(0x1e0)]()]||MODEL_ROUTING[_0x3f24b4(0x1c1)],_0x7e43bb=[];for(const _0x3f2438 of _0x1e97b4){const _0x551825=await this[_0x3f24b4(0x17d)](_0x3f2438);_0x551825&&_0x7e43bb['push'](_0x3f2438);}if(_0x7e43bb['length']===0x0)return this['logger']['warn'](_0x3f24b4(0x195)+_0xe76ff6+_0x3f24b4(0x1d7)),MODEL_ROUTING[_0x3f24b4(0x1c1)][0x0];let _0x377e4c=_0x7e43bb[0x0];if(_0x15ec10['preferredModel']&&_0x7e43bb['includes'](_0x15ec10['preferredModel']))_0x377e4c=_0x15ec10[_0x3f24b4(0x1cd)];else{if(_0x15ec10[_0x3f24b4(0x1c7)]===_0x3f24b4(0x1d0)&&_0x7e43bb['includes'](MODELS['ANTHROPIC_OPUS']))_0x377e4c=MODELS['ANTHROPIC_OPUS'];else _0x15ec10['speed']==='fast'&&_0x7e43bb['includes'](MODELS[_0x3f24b4(0x1e4)])&&(_0x377e4c=MODELS['ANTHROPIC_HAIKU']);}return this['logger']['info']('Model\x20routed\x20for\x20task:\x20'+_0xe76ff6,{'selectedModel':_0x377e4c,'availableModels':_0x7e43bb['length'],'context':_0x15ec10}),_0x377e4c;}catch(_0x5a12a9){return this['logger']['error']('Model\x20routing\x20failed:\x20'+_0x5a12a9['message'],{'task':_0xe76ff6,'context':_0x15ec10}),MODEL_ROUTING['FALLBACK'][0x0];}}async[a0_0x4c22d6(0x1af)](_0x1ed3da,_0x2cc762){const _0x42c5aa=a0_0x4c22d6,_0x45bbce=this['modelSpecs'][_0x2cc762];if(!_0x45bbce)throw new Error('Unknown\x20model:\x20'+_0x2cc762);const _0x559cf5=_0x45bbce[_0x42c5aa(0x210)]*0.8;let _0x121f12=0x0;const _0x56256e=[],_0x1a47a0=await Promise[_0x42c5aa(0x1e3)](_0x1ed3da[_0x42c5aa(0x212)](async _0x2cde7c=>({..._0x2cde7c,'estimatedTokens':await this[_0x42c5aa(0x1bb)](_0x2cde7c[_0x42c5aa(0x20c)],_0x2cc762)}))),_0x458317=[..._0x1a47a0][_0x42c5aa(0x1de)]();for(const _0x41f2e3 of _0x458317){if(_0x121f12+_0x41f2e3[_0x42c5aa(0x1b3)]>_0x559cf5){if(_0x56256e['length']===0x0){const _0x20c607=await this['_truncateMessage'](_0x41f2e3['content'],_0x559cf5);_0x56256e['unshift']({..._0x41f2e3,'content':_0x20c607,'estimatedTokens':_0x559cf5});}break;}_0x56256e['unshift'](_0x41f2e3),_0x121f12+=_0x41f2e3[_0x42c5aa(0x1b3)];}const _0x5d999e=_0x1a47a0['slice'](0x0,-_0x56256e[_0x42c5aa(0x1dc)]);if(_0x5d999e['length']>0x0){const _0x4488f3=await this['_summarizeMessages'](_0x5d999e,_0x2cc762);_0x56256e['unshift']({'role':_0x42c5aa(0x1eb),'content':'Previous\x20conversation\x20summary:\x20'+_0x4488f3,'timestamp':_0x5d999e[0x0]['timestamp'],'type':'summary','estimatedTokens':await this[_0x42c5aa(0x1bb)](_0x4488f3,_0x2cc762)});}return this['logger'][_0x42c5aa(0x183)]('Conversation\x20compactized\x20for\x20model:\x20'+_0x2cc762,{'originalMessages':_0x1ed3da['length'],'compactizedMessages':_0x56256e['length'],'estimatedTokens':_0x121f12,'maxTokens':_0x559cf5}),_0x56256e;}async[a0_0x4c22d6(0x187)](_0x2a085c,_0x3ec304,_0x348b07,_0x4ede6d){const _0x55cd70=a0_0x4c22d6;try{this['budgetService']&&this[_0x55cd70(0x1ab)]['trackUsage'](_0x2a085c,_0x3ec304,_0x348b07);}catch(_0x6724ea){this['logger']['error'](_0x55cd70(0x19e)+_0x6724ea[_0x55cd70(0x1d4)]);}}async[a0_0x4c22d6(0x1f3)](_0x362f27,_0x2b4f4b){const _0x1aaaeb=a0_0x4c22d6,_0x18fc7b=this[_0x1aaaeb(0x1a2)]?.[_0x1aaaeb(0x1c9)]?.(_0x362f27,_0x2b4f4b);switch(_0x362f27['status']||_0x362f27[_0x1aaaeb(0x18e)]){case HTTP_STATUS['BAD_REQUEST']:this['logger'][_0x1aaaeb(0x1ee)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x2b4f4b,'error':_0x362f27['message']});throw new Error(_0x1aaaeb(0x18f)+_0x362f27[_0x1aaaeb(0x1d4)]);case HTTP_STATUS[_0x1aaaeb(0x1fe)]:this['logger'][_0x1aaaeb(0x1ee)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x2b4f4b});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this[_0x1aaaeb(0x18a)]['error'](_0x1aaaeb(0x1f8),{'context':_0x2b4f4b});throw new Error(_0x1aaaeb(0x1b5));case HTTP_STATUS[_0x1aaaeb(0x179)]:this[_0x1aaaeb(0x18a)]['error']('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x2b4f4b});throw new Error(_0x1aaaeb(0x1a3));case HTTP_STATUS[_0x1aaaeb(0x21a)]:this[_0x1aaaeb(0x18a)][_0x1aaaeb(0x1b0)]('Rate\x20limit\x20exceeded',{'context':_0x2b4f4b}),await this['_handleRateLimit'](_0x2b4f4b);throw new Error('Rate\x20limit\x20exceeded\x20-\x20request\x20queued\x20for\x20retry');case HTTP_STATUS[_0x1aaaeb(0x21b)]:case HTTP_STATUS['BAD_GATEWAY']:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS[_0x1aaaeb(0x198)]:this['logger']['error'](_0x1aaaeb(0x1e9),{'context':_0x2b4f4b,'status':_0x362f27[_0x1aaaeb(0x192)]}),await this['_handleServiceUnavailable'](_0x2b4f4b);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this['logger'][_0x1aaaeb(0x1ee)]('Unknown\x20AI\x20service\x20error',{'context':_0x2b4f4b,'error':_0x362f27['message']});throw new Error('AI\x20service\x20error:\x20'+_0x362f27[_0x1aaaeb(0x1d4)]);}}['setApiKeyManager'](_0x18e299){const _0x455558=a0_0x4c22d6;this[_0x455558(0x1d6)]=_0x18e299,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x18e299});}[a0_0x4c22d6(0x1c3)](_0x3aef81){const _0x3e3b26=a0_0x4c22d6;this[_0x3e3b26(0x18d)]=_0x3aef81,this['logger']?.['info']('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x3aef81});}async[a0_0x4c22d6(0x213)](_0x542e08,_0x57e17d={}){const _0x599a58=a0_0x4c22d6,_0x44f4c6='img-'+Date[_0x599a58(0x1a4)]()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x542e08||typeof _0x542e08!=='string'||_0x542e08[_0x599a58(0x214)]()[_0x599a58(0x1dc)]===0x0)throw new Error(_0x599a58(0x20f));const _0x416600=_0x57e17d[_0x599a58(0x1bc)]||_0x599a58(0x20e),_0x3f1389=_0x57e17d[_0x599a58(0x1c0)]||_0x599a58(0x1cf),_0x17053a=_0x57e17d['quality']||'standard',_0x2156e2=_0x57e17d[_0x599a58(0x1fa)]||'url';this[_0x599a58(0x18a)]['info'](_0x599a58(0x1ff)+_0x416600,{'requestId':_0x44f4c6,'model':_0x416600,'size':_0x3f1389,'quality':_0x17053a,'promptLength':_0x542e08['length']});const _0xbb889e={'prompt':_0x542e08,'model':_0x416600,'size':_0x3f1389,'quality':_0x17053a,'response_format':_0x2156e2,'n':0x1,'metadata':{'requestId':_0x44f4c6,'timestamp':new Date()['toISOString']()}},_0x5b65c1=await this[_0x599a58(0x1bf)](_0xbb889e,_0x44f4c6,{'sessionId':_0x57e17d['sessionId'],'platformProvided':_0x57e17d[_0x599a58(0x194)]||![]});return this[_0x599a58(0x1e1)](),{'url':_0x5b65c1[_0x599a58(0x208)]?.[0x0]?.[_0x599a58(0x21c)]||null,'b64_json':_0x5b65c1['data']?.[0x0]?.[_0x599a58(0x1a0)]||null,'model':_0x5b65c1['model']||_0x416600,'requestId':_0x44f4c6,'revisedPrompt':_0x5b65c1['data']?.[0x0]?.[_0x599a58(0x1f6)]||_0x542e08};}catch(_0x263ca8){this['_recordFailure'](),this['logger'][_0x599a58(0x1ee)]('Image\x20generation\x20failed:\x20'+_0x263ca8['message'],{'requestId':_0x44f4c6,'model':_0x57e17d['model'],'error':_0x263ca8[_0x599a58(0x1d5)]});throw _0x263ca8;}}async[a0_0x4c22d6(0x19c)](){const _0x2ed4b7=a0_0x4c22d6;try{const _0x41b794=await this[_0x2ed4b7(0x1d1)](_0x2ed4b7(0x1df),{},'health-check');return _0x41b794[_0x2ed4b7(0x192)]==='healthy';}catch(_0x12c10c){return![];}}async['switchAgentModel'](_0x3c6d56,_0x32c9b8){const _0x44b508=a0_0x4c22d6;try{if(!this['_isValidModel'](_0x32c9b8))throw new Error(_0x44b508(0x1db)+_0x32c9b8);let _0x17f5ee=this['conversationManagers']['get'](_0x3c6d56);!_0x17f5ee&&(_0x17f5ee=new ConversationManager(_0x3c6d56,this['logger']),this[_0x44b508(0x217)]['set'](_0x3c6d56,_0x17f5ee));const _0x36f745=await _0x17f5ee['switchModel'](_0x32c9b8),_0x100c47=await this[_0x44b508(0x18d)]?.['getAgent'](_0x3c6d56);return _0x100c47&&(_0x100c47[_0x44b508(0x207)]=_0x32c9b8,await this['agentPool']['persistAgentState'](_0x3c6d56)),this[_0x44b508(0x18a)][_0x44b508(0x183)](_0x44b508(0x17f)+_0x3c6d56,{'newModel':_0x32c9b8,'messageCount':_0x36f745['messages']['length']}),{'success':!![],'agentId':_0x3c6d56,'newModel':_0x32c9b8,'conversation':_0x36f745};}catch(_0x205f6f){this[_0x44b508(0x18a)]['error'](_0x44b508(0x19d)+_0x205f6f['message'],{'agentId':_0x3c6d56,'newModel':_0x32c9b8});throw _0x205f6f;}}['_initializeModelSpecs'](){const _0x154fe1=a0_0x4c22d6,_0x4e048c={[MODELS['ANTHROPIC_SONNET']]:{'provider':MODEL_PROVIDERS[_0x154fe1(0x185)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x154fe1(0x1fc)]]:{'provider':MODEL_PROVIDERS[_0x154fe1(0x185)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x154fe1(0x185)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS[_0x154fe1(0x1da)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS[_0x154fe1(0x1da)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x154fe1(0x1f1)]]:{'provider':MODEL_PROVIDERS[_0x154fe1(0x1d8)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS['PHI_4']]:{'provider':MODEL_PROVIDERS['PHI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':_0x154fe1(0x1bd),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':_0x154fe1(0x1bd),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':_0x154fe1(0x1bd),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x154fe1(0x1bd),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x4e048c;}[a0_0x4c22d6(0x1be)](_0x54deec,_0x258f5d,_0x53168e){const _0x2ea61a=a0_0x4c22d6,_0xa76cef=this['modelSpecs'][_0x258f5d]||{'provider':'AZURE'};let _0x49e53a;typeof _0x54deec===_0x2ea61a(0x1cc)?_0x49e53a=[{'role':_0x2ea61a(0x1b1),'content':_0x54deec}]:_0x49e53a=_0x54deec[_0x2ea61a(0x212)](_0x27c0e2=>this[_0x2ea61a(0x1c6)](_0x27c0e2,_0x258f5d));switch(_0xa76cef[_0x2ea61a(0x186)]){case MODEL_PROVIDERS['ANTHROPIC']:return this['_formatForAnthropic'](_0x49e53a);case MODEL_PROVIDERS['OPENAI']:return this[_0x2ea61a(0x1f2)](_0x49e53a);case MODEL_PROVIDERS[_0x2ea61a(0x1bd)]:return this['_formatForAzure'](_0x49e53a);default:return _0x49e53a;}}['_formatSingleMessage'](_0x280d00,_0x3ba1f6){const _0x5ee02a=a0_0x4c22d6;return{'role':_0x280d00['role']||_0x5ee02a(0x1b1),'content':_0x280d00['content'],'timestamp':_0x280d00['timestamp']};}['_formatForAnthropic'](_0x1d164b){return _0x1d164b['map'](_0x4fcbb3=>{const _0x23701e=a0_0xa457;if(_0x4fcbb3['role']===_0x23701e(0x1eb))return{'role':_0x23701e(0x1b1),'content':'System:\x20'+_0x4fcbb3[_0x23701e(0x20c)]};return _0x4fcbb3;});}[a0_0x4c22d6(0x1f2)](_0x482f22){return _0x482f22;}['_formatForAzure'](_0x25997b){const _0x5b6afb=a0_0x4c22d6;return _0x25997b['map'](_0x4513dd=>({..._0x4513dd,'content':typeof _0x4513dd[_0x5b6afb(0x20c)]==='string'?_0x4513dd['content']:JSON['stringify'](_0x4513dd[_0x5b6afb(0x20c)])}));}[a0_0x4c22d6(0x1b6)](_0x1a03fc){const _0x1ff307=a0_0x4c22d6;this['logger'][_0x1ff307(0x19b)]('Validating\x20model',{'model':_0x1a03fc,'modelType':typeof _0x1a03fc});if(this[_0x1ff307(0x203)][_0x1a03fc]!==undefined)return!![];return this['logger'][_0x1ff307(0x1b0)](_0x1ff307(0x188),{'model':_0x1a03fc,'availableModels':Object['keys'](this[_0x1ff307(0x203)])}),![];}async[a0_0x4c22d6(0x17d)](_0x973ba9){return!![];}async[a0_0x4c22d6(0x1bb)](_0x535a12,_0x433001){return Math['ceil'](_0x535a12['length']/0x4);}async[a0_0x4c22d6(0x1ce)](_0x17f4e0,_0x3f2486){const _0x4c5bd1=a0_0x4c22d6,_0x491278=_0x3f2486*0x4;if(_0x17f4e0['length']<=_0x491278)return _0x17f4e0;return _0x17f4e0['substring'](0x0,_0x491278-0x14)+_0x4c5bd1(0x206);}async['_summarizeMessages'](_0x16e3b1,_0x55de4f){const _0x3d4430=a0_0x4c22d6,_0x1369e5=_0x16e3b1[_0x3d4430(0x212)](_0x41feb1=>_0x41feb1['role']+':\x20'+_0x41feb1[_0x3d4430(0x20c)])['join']('\x0a'),_0x4f5b46=0x1f4;if(_0x1369e5[_0x3d4430(0x1dc)]<=_0x4f5b46)return _0x1369e5;return _0x1369e5['substring'](0x0,_0x4f5b46)+'...\x20[conversation\x20summary\x20truncated]';}async['_makeAPIRequest'](_0x3e6882,_0x433b70,_0x3ee6a1,_0x1167e4={}){const _0x211093=a0_0x4c22d6,_0x3a625f='https://autopilot-api.azurewebsites.net/llm/chat';let _0x2f5417,_0x18d63b=null,_0x598512=null;this[_0x211093(0x18a)]?.['info'](_0x211093(0x1e8),{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x1167e4[_0x211093(0x1d9)],'hasSessionId':!!_0x1167e4['sessionId'],'optionsKeys':Object['keys'](_0x1167e4),'model':_0x433b70['model']});if(this[_0x211093(0x1d6)]&&_0x1167e4['sessionId']){const _0xe37fce=this[_0x211093(0x1d6)][_0x211093(0x1f4)](_0x1167e4[_0x211093(0x1d9)],{'platformProvided':_0x1167e4['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0x433b70[_0x211093(0x1bc)])});_0x18d63b=_0xe37fce[_0x211093(0x1cb)],_0x598512=_0xe37fce['vendorApiKey'],this['logger']?.[_0x211093(0x19b)]('Retrieved API keys from session manager',{'sessionId':_0x1167e4['sessionId'],'hasLoxiaKey':!!_0x18d63b,'hasVendorKey':!!_0x598512,'vendor':this[_0x211093(0x1ae)](_0x433b70['model'])});}!_0x18d63b&&_0x1167e4['apiKey']&&(_0x18d63b=_0x1167e4[_0x211093(0x1c8)]);!_0x18d63b&&this[_0x211093(0x201)]['apiKey']&&(_0x18d63b=this['config'][_0x211093(0x1c8)]);if(!_0x18d63b)throw new Error(_0x211093(0x216));const _0x2634d6=_0x433b70['model'],_0x16a0a5={'conversationId':_0x3ee6a1,'message':_0x433b70[_0x211093(0x1b8)][_0x433b70[_0x211093(0x1b8)]['length']-0x1]?.[_0x211093(0x20c)]||'','messages':_0x433b70['messages'],'model':_0x2634d6,'requestId':_0x3ee6a1,'options':_0x433b70['options']||{},'platformProvided':_0x1167e4['platformProvided']||![]};_0x433b70[_0x211093(0x1eb)]&&(_0x16a0a5[_0x211093(0x1e7)]=_0x433b70['system']);_0x1167e4[_0x211093(0x194)]?_0x16a0a5[_0x211093(0x1c8)]=_0x18d63b:(_0x598512&&(_0x16a0a5['vendorApiKey']=_0x598512),_0x1167e4['customApiKeys']&&(_0x16a0a5['customApiKeys']=_0x1167e4['customApiKeys']),_0x16a0a5['apiKey']=_0x18d63b);for(let _0x5e459e=0x1;_0x5e459e<=this['retryAttempts'];_0x5e459e++){try{this['logger']['info']('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x3a625f,'model':_0x433b70['model'],'requestId':_0x3ee6a1,'attempt':_0x5e459e,'hasApiKey':!!_0x18d63b});const _0x2e6fa2=await fetch(_0x3a625f,{'method':'POST','headers':{'Content-Type':_0x211093(0x1f5),'Authorization':'Bearer\x20'+_0x18d63b,'X-Request-ID':_0x3ee6a1},'body':JSON[_0x211093(0x215)](_0x16a0a5),'timeout':this[_0x211093(0x1fd)]});if(!_0x2e6fa2['ok']){const _0x2c022f=await _0x2e6fa2['text'](),_0x193b85=new Error(_0x211093(0x17c)+_0x2e6fa2[_0x211093(0x192)]+':\x20'+_0x2e6fa2['statusText']+(_0x2c022f?'\x20-\x20'+_0x2c022f:''));_0x193b85[_0x211093(0x192)]=_0x2e6fa2['status'];throw _0x193b85;}const _0x1d56ff=await _0x2e6fa2[_0x211093(0x218)]();return{'choices':[{'message':{'content':_0x1d56ff[_0x211093(0x20c)]||'','role':_0x211093(0x180)},'finish_reason':_0x1d56ff['finishReason']||_0x211093(0x211)}],'usage':_0x1d56ff['usage']||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x1d56ff[_0x211093(0x1bc)]||_0x433b70[_0x211093(0x1bc)],'id':_0x1d56ff['requestId']||_0x3ee6a1};}catch(_0x219f66){_0x2f5417=_0x219f66,this['logger']['warn']('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x5e459e,'requestId':_0x3ee6a1,'error':_0x219f66[_0x211093(0x1d4)],'status':_0x219f66[_0x211093(0x192)]});if(_0x5e459e<this[_0x211093(0x18c)]){const _0x78caca=Math[_0x211093(0x1ea)](0x2,_0x5e459e)*0x3e8;this['logger']['warn']('Retrying\x20in\x20'+_0x78caca+'ms',{'attempt':_0x5e459e,'requestId':_0x3ee6a1}),await new Promise(_0x2e1511=>setTimeout(_0x2e1511,_0x78caca));}}}this[_0x211093(0x18a)]['error']('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x3ee6a1,'error':_0x2f5417['message']});const _0x4753f6=_0x2f5417['message']&&_0x2f5417[_0x211093(0x1d4)][_0x211093(0x1a6)](_0x211093(0x1ed));if(_0x4753f6)throw new Error(_0x211093(0x21e)+_0x2f5417['message']);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x2f5417[_0x211093(0x1d4)],'role':'assistant'},'finish_reason':'stop'}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x433b70['model'],'id':_0x211093(0x1ba)+_0x3ee6a1,'error':_0x2f5417[_0x211093(0x1d4)]};}async[a0_0x4c22d6(0x1bf)](_0x588c75,_0x27ddf2,_0x379627={}){const _0x291b56=a0_0x4c22d6,_0x4e9693='https://autopilot-api.azurewebsites.net/llm/generate-image';let _0x563b79,_0x1f360e=null,_0xb60f69=null;this[_0x291b56(0x18a)]?.[_0x291b56(0x183)]('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this[_0x291b56(0x1d6)],'sessionId':_0x379627['sessionId'],'hasSessionId':!!_0x379627[_0x291b56(0x1d9)],'model':_0x588c75[_0x291b56(0x1bc)]});if(this['apiKeyManager']&&_0x379627['sessionId']){const _0x38d932=this[_0x291b56(0x1d6)][_0x291b56(0x1f4)](_0x379627['sessionId'],{'platformProvided':_0x379627['platformProvided']||![],'vendor':this[_0x291b56(0x1ae)](_0x588c75[_0x291b56(0x1bc)])});_0x1f360e=_0x38d932['loxiaApiKey'],_0xb60f69=_0x38d932[_0x291b56(0x20a)],this[_0x291b56(0x18a)]?.[_0x291b56(0x19b)]('Retrieved API keys from session manager for image',{'sessionId':_0x379627[_0x291b56(0x1d9)],'hasLoxiaKey':!!_0x1f360e,'hasVendorKey':!!_0xb60f69});}!_0x1f360e&&_0x379627[_0x291b56(0x1c8)]&&(_0x1f360e=_0x379627['apiKey']);!_0x1f360e&&this['config']['apiKey']&&(_0x1f360e=this[_0x291b56(0x201)][_0x291b56(0x1c8)]);if(!_0x1f360e)throw new Error(_0x291b56(0x216));const _0x1f59ac={'prompt':_0x588c75[_0x291b56(0x1ac)],'model':_0x588c75[_0x291b56(0x1bc)]||'azure-openai-dalle3','size':_0x588c75['size'],'quality':_0x588c75['quality'],'style':_0x588c75[_0x291b56(0x199)]||_0x291b56(0x1a9),'n':_0x588c75['n']||0x1,'requestId':_0x27ddf2};for(let _0x28c297=0x1;_0x28c297<=this['retryAttempts'];_0x28c297++){try{this['logger'][_0x291b56(0x183)](_0x291b56(0x1dd),{'url':_0x4e9693,'model':_0x588c75['model'],'requestId':_0x27ddf2,'attempt':_0x28c297,'hasApiKey':!!_0x1f360e});const _0x14d993=await fetch(_0x4e9693,{'method':_0x291b56(0x1fb),'headers':{'Content-Type':_0x291b56(0x1f5),'Authorization':_0x291b56(0x17a)+_0x1f360e,'X-Request-ID':_0x27ddf2},'body':JSON['stringify'](_0x1f59ac),'timeout':this[_0x291b56(0x1fd)]*0x2});if(!_0x14d993['ok']){const _0x43075e=await _0x14d993[_0x291b56(0x1c2)](),_0x27ff73=new Error('HTTP\x20'+_0x14d993['status']+':\x20'+_0x14d993['statusText']+(_0x43075e?'\x20-\x20'+_0x43075e:''));_0x27ff73['status']=_0x14d993[_0x291b56(0x192)];throw _0x27ff73;}const _0x4cc799=await _0x14d993['json']();return{'data':_0x4cc799['images']||[],'model':_0x4cc799['model']||_0x588c75['model'],'created':_0x4cc799[_0x291b56(0x1a7)]||Date[_0x291b56(0x1a4)](),'usage':_0x4cc799[_0x291b56(0x1ec)]};}catch(_0x109984){_0x563b79=_0x109984,this[_0x291b56(0x18a)][_0x291b56(0x1b0)]('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x28c297,'requestId':_0x27ddf2,'error':_0x109984['message'],'status':_0x109984[_0x291b56(0x192)]});if(_0x28c297<this[_0x291b56(0x18c)]){const _0x336f4c=Math[_0x291b56(0x1ea)](0x2,_0x28c297)*0x3e8;this['logger'][_0x291b56(0x1b0)]('Retrying\x20in\x20'+_0x336f4c+'ms',{'attempt':_0x28c297,'requestId':_0x27ddf2}),await new Promise(_0x569cb1=>setTimeout(_0x569cb1,_0x336f4c));}}}this[_0x291b56(0x18a)][_0x291b56(0x1ee)]('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x27ddf2,'error':_0x563b79['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x563b79[_0x291b56(0x1d4)]);}async['_checkRateLimit'](_0x48a24d){await new Promise(_0x11e708=>setTimeout(_0x11e708,0x64));}async[a0_0x4c22d6(0x197)](_0x10908c){const _0x2e88f7=a0_0x4c22d6,_0x3f1cc8=0xea60;this['logger'][_0x2e88f7(0x183)](_0x2e88f7(0x184)+_0x3f1cc8+'ms',_0x10908c),await new Promise(_0x38c8a3=>setTimeout(_0x38c8a3,_0x3f1cc8));}async[a0_0x4c22d6(0x1a1)](_0x56a5b1){const _0x24875c=a0_0x4c22d6;this['_recordFailure']();const _0x53516b=0x7530;this['logger'][_0x24875c(0x183)](_0x24875c(0x1b9)+_0x53516b+'ms',_0x56a5b1),await new Promise(_0x251056=>setTimeout(_0x251056,_0x53516b));}['_isCircuitBreakerOpen'](){const _0x2e2cde=a0_0x4c22d6;if(!this['circuitBreaker'][_0x2e2cde(0x1f0)])return![];const _0x16b0e3=Date[_0x2e2cde(0x1a4)]()-this['circuitBreaker'][_0x2e2cde(0x1ad)];if(_0x16b0e3>this[_0x2e2cde(0x17e)]['timeout'])return this['circuitBreaker'][_0x2e2cde(0x1f0)]=![],this[_0x2e2cde(0x17e)]['failures']=0x0,![];return!![];}[a0_0x4c22d6(0x1b4)](){const _0x1f7ca9=a0_0x4c22d6;this[_0x1f7ca9(0x17e)]['failures']++,this[_0x1f7ca9(0x17e)]['lastFailureTime']=Date[_0x1f7ca9(0x1a4)](),this[_0x1f7ca9(0x17e)][_0x1f7ca9(0x18b)]>=this[_0x1f7ca9(0x17e)][_0x1f7ca9(0x1f7)]&&(this[_0x1f7ca9(0x17e)][_0x1f7ca9(0x1f0)]=!![],this['logger']['warn'](_0x1f7ca9(0x1d2)));}[a0_0x4c22d6(0x1e1)](){const _0x1f8a99=a0_0x4c22d6;this[_0x1f8a99(0x17e)][_0x1f8a99(0x18b)]>0x0&&(this[_0x1f8a99(0x17e)]['failures']=0x0,this['circuitBreaker'][_0x1f8a99(0x1f0)]=![],this['logger'][_0x1f8a99(0x183)]('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}[a0_0x4c22d6(0x1ae)](_0x2a4ae5){const _0x55afcb=a0_0x4c22d6;if(!_0x2a4ae5)return null;const _0x4e7fc5=_0x2a4ae5['toLowerCase']();if(_0x4e7fc5['includes']('anthropic')||_0x4e7fc5[_0x55afcb(0x1a6)](_0x55afcb(0x20b)))return _0x55afcb(0x190);else{if(_0x4e7fc5[_0x55afcb(0x1a6)](_0x55afcb(0x20d))||_0x4e7fc5[_0x55afcb(0x1a6)]('gpt'))return'openai';else{if(_0x4e7fc5['includes']('deepseek'))return _0x55afcb(0x1e2);else{if(_0x4e7fc5[_0x55afcb(0x1a6)]('phi'))return _0x55afcb(0x1f9);}}}return null;}}class ConversationManager{constructor(_0x45d1a2,_0x3a7a8c){const _0x48a5d0=a0_0x4c22d6;this[_0x48a5d0(0x1b2)]=_0x45d1a2,this[_0x48a5d0(0x18a)]=_0x3a7a8c,this['conversations']=new Map();}async['switchModel'](_0x3cf9ef){const _0xa4e811=a0_0x4c22d6;return{'messages':[],'model':_0x3cf9ef,'lastUpdated':new Date()[_0xa4e811(0x1e5)]()};}}function a0_0xa457(_0x3b0189,_0x24f9e5){_0x3b0189=_0x3b0189-0x179;const _0x1bf8f9=a0_0x1bf8();let _0xa45750=_0x1bf8f9[_0x3b0189];if(a0_0xa457['VVtUrl']===undefined){var _0x5c366=function(_0x90f73d){const _0x434590='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29c8a4='',_0x451f6d='';for(let _0x4e9209=0x0,_0x1bcdf1,_0x36186f,_0x3c0e73=0x0;_0x36186f=_0x90f73d['charAt'](_0x3c0e73++);~_0x36186f&&(_0x1bcdf1=_0x4e9209%0x4?_0x1bcdf1*0x40+_0x36186f:_0x36186f,_0x4e9209++%0x4)?_0x29c8a4+=String['fromCharCode'](0xff&_0x1bcdf1>>(-0x2*_0x4e9209&0x6)):0x0){_0x36186f=_0x434590['indexOf'](_0x36186f);}for(let _0x1ace94=0x0,_0x1c1ce9=_0x29c8a4['length'];_0x1ace94<_0x1c1ce9;_0x1ace94++){_0x451f6d+='%'+('00'+_0x29c8a4['charCodeAt'](_0x1ace94)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x451f6d);};a0_0xa457['IAbIJu']=_0x5c366,a0_0xa457['xetLEm']={},a0_0xa457['VVtUrl']=!![];}const _0xcafd5b=_0x1bf8f9[0x0],_0x3ca9f3=_0x3b0189+_0xcafd5b,_0x491de8=a0_0xa457['xetLEm'][_0x3ca9f3];return!_0x491de8?(_0xa45750=a0_0xa457['IAbIJu'](_0xa45750),a0_0xa457['xetLEm'][_0x3ca9f3]=_0xa45750):_0xa45750=_0x491de8,_0xa45750;}function a0_0x1bf8(){const _0x51b182=['sw52ywXPzcbTB2rLBdOG','BgvUz3rO','twfRAw5NigLTywDLihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','CMv2zxjZzq','l2HLywX0Aa','Dg9vChbLCKnHC2u','x3jLC2v0q2LYy3vPDejYzwfRzxi','zgvLChnLzwS','ywXS','qu5usfjpueLdx0HbsuTv','Dg9ju09tDhjPBMC','mZyZndu0n1vmrvjcvW','C3LZDgvTuhjVBxb0','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','Cg93','C3LZDgvT','DxnHz2u','tM8GqvbjigTLEsbJB25MAwD1CMvK','zxjYB3i','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','AxnpCgvU','revfufnfruTFuJe','x2zVCM1HDezVCK9Wzw5bsq','AgfUzgXLshr0CevYCM9Y','z2v0s2v5C0zVCLjLCxvLC3q','yxbWBgLJyxrPB24VANnVBG','CMv2AxnLzf9WCM9TChq','DgHYzxnOB2XK','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','BwLJCM9ZB2z0','CMvZCg9UC2vgB3jTyxq','ue9tva','qu5usfjpueLdx09qvvm','DgLTzw91Da','vu5bvvrit1jjwKve','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','mJq2ntK0meHrBxnfAa','y29UzMLN','nZu1A21bueLo','Bw9KzwXtCgvJCW','y2HVAwnLCW','ntr0qvfeEeK','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','y3vYCMvUDe1VzgvS','zgf0yq','CMf0zuXPBwL0zxjZ','DMvUzg9YqxbPs2v5','y2XHDwrL','y29UDgvUDa','B3bLBMfP','zMX1Ec0XlJeTChjV','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','y29UDgv4DfDPBMrVDW','C3rVCa','BwfW','z2vUzxjHDgvjBwfNzq','DhjPBq','C3rYAw5NAwz5','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','y29UDMvYC2f0Aw9UtwfUywDLCNm','ANnVBG','mtuYotrHC2HAtxO','ve9px01btLLFuKvrvuvtvfm','su5urvjoquXFu0vsvKvsx0vsuK9s','DxjS','Ahr0Chm6lY9HCgKUBg94AweUywK','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','tK9ux0zpvu5e','qMvHCMvYia','CM91DgvnB2rLBa','sfruuca','x2nOzwnRtw9KzwXizwfSDgG','y2LYy3vPDejYzwfRzxi','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','yxnZAxn0yw50','ndy4odi4r2jmvLP2','Dg9tDhjPBMC','Aw5MBW','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','qu5usfjpueLd','ChjVDMLKzxi','DhjHy2TvC2fNzq','tw9KzwWGDMfSAwrHDgLVBIbMywLSzwq','x2nOzwnRuMf0zuXPBwL0','Bg9Nz2vY','zMfPBhvYzxm','CMv0CNLbDhrLBxb0CW','ywDLBNrqB29S','y29Kzq','sw52ywXPzcbYzxf1zxn0oIa','yw50AhjVCgLJ','C3rYzwfT','C3rHDhvZ','yMfZzvvYBa','CgXHDgzVCM1qCM92AwrLza','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','ntKXmKTNuuXpBW','x2HHBMrSzvjHDgvmAw1PDa','r0furvDbwv9usu1ft1vu','C3r5Bgu','C2vUze1LC3nHz2u','zgvIDwC','y2HLy2Ttzxj2AwnLsgvHBhrO','tw9KzwWGC3DPDgnOigzHAwXLzdOG','vxnHz2uGDhjHy2TPBMCGzMfPBgvKoIa','yMfJA2vUza','yJy0x2PZB24','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','zxjYB3jiyw5KBgvY','u2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','BM93','Dg90ywXFDg9Rzw5Z','Aw5JBhvKzxm','y3jLyxrLza','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','DML2Awq','oty1mtm5EvLQwuT4','yNvKz2v0u2vYDMLJzq','ChjVBxb0','BgfZDezHAwX1CMvuAw1L','x2DLDfzLBMrVCKzYB21nB2rLBa','y29TCgfJDgL6zunVBNzLCNnHDgLVBG','D2fYBG','DxnLCG','ywDLBNrjza','zxn0Aw1HDgvKvg9Rzw5Z','x3jLy29YzezHAwX1CMu','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','x2LZvMfSAwrnB2rLBa','mZi5mdi2sujfANri','BwvZC2fNzxm','u2vYDMLJzsb1BMf2ywLSywjSzsWGD2fPDgLUzYa','zxjYB3iT','x2vZDgLTyxrLvg9Rzw5Z','Bw9KzwW','qvPvuKu','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','x21HA2vjBwfNzufqsvjLCxvLC3q','C2L6zq','rKfmtejbq0S','Dgv4Da','C2v0qwDLBNrqB29S','DgvTCgvYyxr1CMu','mKDgshfsvq','x2zVCM1HDfnPBMDSzu1LC3nHz2u','y29TCgXLEgL0Eq','yxbPs2v5','y2XHC3nPzNLfCNjVCG','CMvXDwvZDff1zxvL','Bg94AwfbCgLlzxK','C3rYAw5N','ChjLzMvYCMvKtw9KzwW','x3rYDw5JyxrLtwvZC2fNzq','mtaYnhGXmdi0','AgLNAa','x21HA2vbueLszxf1zxn0','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','x2LZq2LYy3vPDejYzwfRzxjpCgvU','BwvZC2fNzq','C3rHy2S','yxbPs2v5twfUywDLCG','lcb1C2LUzYbMywXSyMfJAW','revfufnfruS','C2vZC2LVBKLK','t1bftKfj'];a0_0x1bf8=function(){return _0x51b182;};return a0_0x1bf8();}export default AIService;
1
+ const a0_0x21be3e=a0_0x4b19;(function(_0x14be9b,_0x1aad50){const _0x50c473=a0_0x4b19,_0x484771=_0x14be9b();while(!![]){try{const _0x55b071=parseInt(_0x50c473(0x186))/0x1+-parseInt(_0x50c473(0x18a))/0x2*(parseInt(_0x50c473(0x14b))/0x3)+-parseInt(_0x50c473(0x195))/0x4+-parseInt(_0x50c473(0x16a))/0x5+-parseInt(_0x50c473(0x1c1))/0x6*(parseInt(_0x50c473(0x178))/0x7)+-parseInt(_0x50c473(0x15f))/0x8*(parseInt(_0x50c473(0x171))/0x9)+-parseInt(_0x50c473(0x156))/0xa*(-parseInt(_0x50c473(0x16e))/0xb);if(_0x55b071===_0x1aad50)break;else _0x484771['push'](_0x484771['shift']());}catch(_0x107608){_0x484771['push'](_0x484771['shift']());}}}(a0_0x5eaf,0xedbcb));function a0_0x5eaf(){const _0x8c0661=['mJu1ndeXowTdqvP0ra','su5urvjoquXFu0vsvKvsx0vsuK9s','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','A2v5CW','ywDLBNrqB29S','ChjVDMLKzxi','x2zVCM1HDezVCK9Wzw5bsq','mty4CgTfBfrl','C3vIC3rYAw5N','lI4UifTJB252zxjZyxrPB24GC3vTBwfYEsb0CNvUy2f0zwrD','z2v0','CMvZCg9UC2vgB3jTyxq','t1bftKfj','DgLTzw91Da','vxnHz2uGDhjHy2TPBMCGzMfPBgvKoIa','revfufnfruTFuJe','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','BwfW','B3bLBMfP','Aw5JBhvKzxm','Bw9KzwXtCgvJCW','mte1mJK1m0vXCeX5wG','y3vZDg9TqxbPs2v5CW','ChvZAa','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','mti2ogjozLneAq','l2HLywX0Aa','lcb1C2LUzYbMywXSyMfJAW','u3LZDgvToIa','qvPvuKu','y2XHDwrL','x2vZDgLTyxrLvg9Rzw5Z','tK9ux0zpvu5e','Dg9vChbLCKnHC2u','y29UDgvUDa','BM93','ntGZodG4ogrSy1jOuq','CMvXDwvZDff1zxvL','C3DPDgnOtw9KzwW','C3vIC3rY','AgvHBhrOlwnOzwnR','DgLTzxn0yw1W','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','CMf0zuXPBwL0zxjZ','q29UDMvYC2f0Aw9UignVBxbHy3rPEMvKigzVCIbTB2rLBdOG','CM9Szq','C3rVCa','x3jLy29YzezHAwX1CMu','qwXSigf0DgvTChrZihrVihjLywnOigjHy2TLBMqGzMfPBgvKlcb1C2LUzYbTB2nRihjLC3bVBNnL','r1buxZq','vMfSAwrHDgLUzYbTB2rLBa','C3LZDgvTuhjVBxb0','Dw5ZAgLMDa','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','twfRAw5NigLTywDLihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','y2vPBa','u2vYDMLJzsb1BMf2ywLSywjSzsWGD2fPDgLUzYa','yxbPs2v5','AgLNAa','Aw1Hz2vZ','DgvTCgvYyxr1CMu','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','qu5usfjpueLdx09qvvm','Bg94AwfbCgLlzxK','tw9KzwWGC3DPDgnOigzHAwXLzdOG','AgvHBhrOEq','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','zxn0Aw1HDgvKvg9Rzw5Z','CMv0CNLbDhrLBxb0CW','D2fYBG','zxjYB3jiyw5KBgvY','zMfZDa','ANnVBG','sw52ywXPzcbYzxf1zxn0oIa','x3rYDw5JyxrLtwvZC2fNzq','C2L6zq','u0vsvKLdrv9vtKfwquLmqujmrq','yNvKz2v0u2vYDMLJzq','C3rYAw5N','C2v0qxbPs2v5twfUywDLCG','mJG0mdGYtxnIvvPn','CMv2AxnLzf9WCM9TChq','y29UDMvYC2f0Aw9UtwfUywDLCNm','y2LYy3vPDejYzwfRzxi','yxP1CMuTB3bLBMfPlwrHBgXLmW','DxnLCG','yxbPs2v5twfUywDLCG','x2zVCM1HDezVCKf6DxjL','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','x2zVCM1HDezVCKfUDgHYB3bPyW','y29UzMLN','y2HVAwnLCW','qu5usfjpueLd','CxvHBgL0Eq','x3jLC2v0q2LYy3vPDejYzwfRzxi','vw5RBM93BIbTB2rLBdOG','DxnHz2u','Cg93','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','yMfZzvvYBa','x2HHBMrSzvjHDgvmAw1PDa','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','x2LZq2LYy3vPDejYzwfRzxjpCgvU','C3rHDhvZ','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','C3LZDgvT','CMfUzg9T','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','ve9px01btLLFuKvrvuvtvfm','CMvXlq','qKfex0DbvevxqvK','zgvLChnLzwS','BwvZC2fNzq','rK9sqKLerevo','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','rKfmtejbq0S','Bg9Nz2vY','CM91DgvnB2rLBa','zgf0yq','zMLUAxnOuMvHC29U','ic0G','DMvUzg9YqxbPs2v5','Dg9tDhjPBMC','Dgv4Da','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','odqWm1jfB0PTvq','ChjVBxb0','ChjLzMvYCMvKtw9KzwW','x2nOzwnRuMf0zuXPBwL0','AgfUzgXLshr0CevYCM9Y','u2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','C2vZC2LVBKLK','vw5RBM93BIbbssbZzxj2AwnLigvYCM9Y','CgXHDgzVCM1qCM92AwrLza','AxnbCNjHEq','DxjS','ntyZmhLxD0jMrG','y2XHC3nPzNLfCNjVCG','x2nOzwnRtw9KzwXizwfSDgG','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','zMfPBhvYzxm','Dg9ju09tDhjPBMC','Bw9KzwW','yxnZAxn0yw50','DhjHy2TvC2fNzq','ndHQsxP5r2C','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','zxjYB3i','C3rHy2S','x2DLDfzLBMrVCKzYB21nB2rLBa','uMf0zsbSAw1PDcbLEgnLzwrLza','AxnpCgvU','y29UDMvYC2f0Aw9UCW','BgvUz3rO','BwvZC2fNzxm','ndy2mZa4mfHIC3PsEq','sfruuca','ywDLBNrjza','ueHjxZq','mtmZnda4EwruquXW','Aw5MBW','DgHYzxnOB2XK'];a0_0x5eaf=function(){return _0x8c0661;};return a0_0x5eaf();}function a0_0x4b19(_0xe51fb1,_0x35595a){_0xe51fb1=_0xe51fb1-0x11e;const _0x5eaf36=a0_0x5eaf();let _0x4b190a=_0x5eaf36[_0xe51fb1];if(a0_0x4b19['kbSGRC']===undefined){var _0x36d06e=function(_0x4c2958){const _0x1a9f07='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x581188='',_0x53d06d='';for(let _0x41d1b4=0x0,_0x52602a,_0x21dee8,_0x415ecd=0x0;_0x21dee8=_0x4c2958['charAt'](_0x415ecd++);~_0x21dee8&&(_0x52602a=_0x41d1b4%0x4?_0x52602a*0x40+_0x21dee8:_0x21dee8,_0x41d1b4++%0x4)?_0x581188+=String['fromCharCode'](0xff&_0x52602a>>(-0x2*_0x41d1b4&0x6)):0x0){_0x21dee8=_0x1a9f07['indexOf'](_0x21dee8);}for(let _0x2c52ed=0x0,_0x157403=_0x581188['length'];_0x2c52ed<_0x157403;_0x2c52ed++){_0x53d06d+='%'+('00'+_0x581188['charCodeAt'](_0x2c52ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53d06d);};a0_0x4b19['KEhxvW']=_0x36d06e,a0_0x4b19['hxephV']={},a0_0x4b19['kbSGRC']=!![];}const _0x275905=_0x5eaf36[0x0],_0x17da4e=_0xe51fb1+_0x275905,_0x232745=a0_0x4b19['hxephV'][_0x17da4e];return!_0x232745?(_0x4b190a=a0_0x4b19['KEhxvW'](_0x4b190a),a0_0x4b19['hxephV'][_0x17da4e]=_0x4b190a):_0x4b190a=_0x232745,_0x4b190a;}import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x581188,_0x53d06d,_0x41d1b4,_0x52602a){const _0x2e5167=a0_0x4b19;this['config']=_0x581188,this[_0x2e5167(0x142)]=_0x53d06d,this[_0x2e5167(0x1be)]=_0x41d1b4,this[_0x2e5167(0x1b7)]=_0x52602a,this[_0x2e5167(0x130)]=_0x581188['backend']?.[_0x2e5167(0x130)]||'https://api.loxia.ai',this[_0x2e5167(0x17e)]=_0x581188['backend']?.[_0x2e5167(0x17e)]||0xea60,this[_0x2e5167(0x1b5)]=_0x581188['backend']?.[_0x2e5167(0x1b5)]||0x3,this[_0x2e5167(0x19c)]=new Map(),this[_0x2e5167(0x196)]=new Map(),this[_0x2e5167(0x120)]={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x2e5167(0x185)]=this['_initializeModelSpecs'](),this[_0x2e5167(0x11f)]=new Map(),this['apiKeyManager']=null,this[_0x2e5167(0x175)]=null;}async['sendMessage'](_0x21dee8,_0x415ecd,_0x2c52ed={}){const _0x1889c8=a0_0x4b19,_0x157403=_0x1889c8(0x13b)+Date[_0x1889c8(0x194)]()+'-'+Math['random']()[_0x1889c8(0x148)](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this[_0x1889c8(0x14e)](_0x21dee8);const _0x261cb=this[_0x1889c8(0x132)](_0x415ecd,_0x21dee8,_0x2c52ed),_0x4c074b={'model':_0x21dee8,'messages':_0x261cb,'options':{'max_tokens':this[_0x1889c8(0x185)][_0x21dee8]?.['maxTokens']||0xfa0,'temperature':_0x2c52ed[_0x1889c8(0x1ad)]||0.7,'stream':_0x2c52ed['stream']||![]},'metadata':{'requestId':_0x157403,'agentId':_0x2c52ed[_0x1889c8(0x16c)],'timestamp':new Date()[_0x1889c8(0x15b)]()}};_0x2c52ed['systemPrompt']&&(_0x4c074b['system']=_0x2c52ed['systemPrompt']);this[_0x1889c8(0x142)]['info'](_0x1889c8(0x1a6)+_0x21dee8,{'requestId':_0x157403,'agentId':_0x2c52ed[_0x1889c8(0x16c)],'messageCount':Array[_0x1889c8(0x154)](_0x415ecd)?_0x415ecd[_0x1889c8(0x168)]:0x1,'maxTokens':_0x4c074b['max_tokens']});const _0x565482=await this['_makeAPIRequest']('/chat/completions',_0x4c074b,_0x157403,{..._0x2c52ed,'sessionId':_0x2c52ed[_0x1889c8(0x151)],'platformProvided':_0x2c52ed['platformProvided']||![]});return _0x565482['usage']&&await this[_0x1889c8(0x15e)](_0x2c52ed[_0x1889c8(0x16c)],_0x21dee8,{'prompt_tokens':_0x565482[_0x1889c8(0x12d)]['prompt_tokens']||0x0,'completion_tokens':_0x565482['usage']['completion_tokens']||0x0,'total_tokens':_0x565482[_0x1889c8(0x12d)]['total_tokens']||0x0}),this[_0x1889c8(0x12b)](),{'content':_0x565482[_0x1889c8(0x128)][0x0]?.[_0x1889c8(0x13e)]?.['content']||'','model':_0x565482['model'],'tokenUsage':_0x565482[_0x1889c8(0x12d)],'requestId':_0x157403,'finishReason':_0x565482[_0x1889c8(0x128)][0x0]?.['finish_reason']};}catch(_0x2a78e6){this['_recordFailure'](),this['logger'][_0x1889c8(0x162)]('AI\x20service\x20request\x20failed:\x20'+_0x2a78e6[_0x1889c8(0x13e)],{'requestId':_0x157403,'model':_0x21dee8,'agentId':_0x2c52ed[_0x1889c8(0x16c)],'error':_0x2a78e6[_0x1889c8(0x163)]}),await this[_0x1889c8(0x14f)](_0x2a78e6,{'requestId':_0x157403,'model':_0x21dee8,'agentId':_0x2c52ed[_0x1889c8(0x16c)]});throw _0x2a78e6;}}async[a0_0x21be3e(0x143)](_0x4698ed,_0x1e61cf={}){const _0xc4b400=a0_0x21be3e;try{const _0x329db4=MODEL_ROUTING[_0x4698ed[_0xc4b400(0x192)]()]||MODEL_ROUTING[_0xc4b400(0x141)],_0x4634dd=[];for(const _0x2fe50c of _0x329db4){const _0x28b289=await this[_0xc4b400(0x158)](_0x2fe50c);_0x28b289&&_0x4634dd[_0xc4b400(0x188)](_0x2fe50c);}if(_0x4634dd['length']===0x0)return this[_0xc4b400(0x142)][_0xc4b400(0x1b6)](_0xc4b400(0x12f)+_0x4698ed+_0xc4b400(0x18c)),MODEL_ROUTING[_0xc4b400(0x141)][0x0];let _0x39ec34=_0x4634dd[0x0];if(_0x1e61cf[_0xc4b400(0x14d)]&&_0x4634dd['includes'](_0x1e61cf[_0xc4b400(0x14d)]))_0x39ec34=_0x1e61cf[_0xc4b400(0x14d)];else{if(_0x1e61cf['complexity']===_0xc4b400(0x1ab)&&_0x4634dd[_0xc4b400(0x184)](MODELS[_0xc4b400(0x1af)]))_0x39ec34=MODELS[_0xc4b400(0x1af)];else _0x1e61cf['speed']===_0xc4b400(0x1b8)&&_0x4634dd['includes'](MODELS['ANTHROPIC_HAIKU'])&&(_0x39ec34=MODELS['ANTHROPIC_HAIKU']);}return this[_0xc4b400(0x142)]['info'](_0xc4b400(0x140)+_0x4698ed,{'selectedModel':_0x39ec34,'availableModels':_0x4634dd[_0xc4b400(0x168)],'context':_0x1e61cf}),_0x39ec34;}catch(_0x149b8e){return this[_0xc4b400(0x142)]['error']('Model\x20routing\x20failed:\x20'+_0x149b8e['message'],{'task':_0x4698ed,'context':_0x1e61cf}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x2b2013,_0xa243ca){const _0x209d75=a0_0x21be3e,_0xcaa780=this['modelSpecs'][_0xa243ca];if(!_0xcaa780)throw new Error(_0x209d75(0x12c)+_0xa243ca);const _0x2cbff1=_0xcaa780['contextWindow']*0.8;let _0x2a77cf=0x0;const _0x31ebc6=[],_0xa6639c=await Promise['all'](_0x2b2013['map'](async _0x2c4047=>({..._0x2c4047,'estimatedTokens':await this[_0x209d75(0x190)](_0x2c4047['content'],_0xa243ca)}))),_0x1629c6=[..._0xa6639c]['reverse']();for(const _0x5da2a9 of _0x1629c6){if(_0x2a77cf+_0x5da2a9[_0x209d75(0x1b4)]>_0x2cbff1){if(_0x31ebc6[_0x209d75(0x168)]===0x0){const _0x3fd6f5=await this[_0x209d75(0x1bb)](_0x5da2a9[_0x209d75(0x193)],_0x2cbff1);_0x31ebc6['unshift']({..._0x5da2a9,'content':_0x3fd6f5,'estimatedTokens':_0x2cbff1});}break;}_0x31ebc6[_0x209d75(0x1a5)](_0x5da2a9),_0x2a77cf+=_0x5da2a9[_0x209d75(0x1b4)];}const _0x20fa13=_0xa6639c['slice'](0x0,-_0x31ebc6['length']);if(_0x20fa13[_0x209d75(0x168)]>0x0){const _0x350872=await this['_summarizeMessages'](_0x20fa13,_0xa243ca);_0x31ebc6['unshift']({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x350872,'timestamp':_0x20fa13[0x0]['timestamp'],'type':'summary','estimatedTokens':await this['_estimateTokens'](_0x350872,_0xa243ca)});}return this[_0x209d75(0x142)]['info'](_0x209d75(0x19d)+_0xa243ca,{'originalMessages':_0x2b2013[_0x209d75(0x168)],'compactizedMessages':_0x31ebc6['length'],'estimatedTokens':_0x2a77cf,'maxTokens':_0x2cbff1}),_0x31ebc6;}async[a0_0x21be3e(0x15e)](_0x264258,_0x31d272,_0x32e8b9,_0x369175){const _0x342bdf=a0_0x21be3e;try{this[_0x342bdf(0x1be)]&&this['budgetService']['trackUsage'](_0x264258,_0x31d272,_0x32e8b9);}catch(_0x25d4b0){this['logger']['error'](_0x342bdf(0x17f)+_0x25d4b0['message']);}}async['handleHttpError'](_0x1d3df7,_0x423183){const _0x48d4ee=a0_0x21be3e,_0x288358=this[_0x48d4ee(0x1b7)]?.[_0x48d4ee(0x157)]?.(_0x1d3df7,_0x423183);switch(_0x1d3df7['status']||_0x1d3df7['code']){case HTTP_STATUS['BAD_REQUEST']:this[_0x48d4ee(0x142)]['error']('Bad\x20request\x20to\x20AI\x20service',{'context':_0x423183,'error':_0x1d3df7[_0x48d4ee(0x13e)]});throw new Error(_0x48d4ee(0x1ba)+_0x1d3df7['message']);case HTTP_STATUS['UNAUTHORIZED']:this['logger'][_0x48d4ee(0x162)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x423183});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS[_0x48d4ee(0x13f)]:this['logger']['error'](_0x48d4ee(0x14a),{'context':_0x423183});throw new Error('Access\x20forbidden\x20-\x20insufficient\x20permissions');case HTTP_STATUS[_0x48d4ee(0x191)]:this['logger'][_0x48d4ee(0x162)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x423183});throw new Error(_0x48d4ee(0x150));case HTTP_STATUS[_0x48d4ee(0x13a)]:this['logger']['warn'](_0x48d4ee(0x165),{'context':_0x423183}),await this[_0x48d4ee(0x131)](_0x423183);throw new Error('Rate\x20limit\x20exceeded\x20-\x20request\x20queued\x20for\x20retry');case HTTP_STATUS[_0x48d4ee(0x172)]:case HTTP_STATUS[_0x48d4ee(0x13c)]:case HTTP_STATUS[_0x48d4ee(0x1bd)]:case HTTP_STATUS['GATEWAY_TIMEOUT']:this[_0x48d4ee(0x142)][_0x48d4ee(0x162)]('AI\x20service\x20unavailable',{'context':_0x423183,'status':_0x1d3df7[_0x48d4ee(0x134)]}),await this[_0x48d4ee(0x160)](_0x423183);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x48d4ee(0x142)][_0x48d4ee(0x162)](_0x48d4ee(0x152),{'context':_0x423183,'error':_0x1d3df7['message']});throw new Error('AI\x20service\x20error:\x20'+_0x1d3df7[_0x48d4ee(0x13e)]);}}[a0_0x21be3e(0x1c0)](_0x4147fd){const _0x5cd2ff=a0_0x21be3e;this[_0x5cd2ff(0x123)]=_0x4147fd,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x4147fd});}['setAgentPool'](_0x42c82b){const _0x78be0b=a0_0x21be3e;this[_0x78be0b(0x175)]=_0x42c82b,this['logger']?.['info']('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x42c82b});}async['generateImage'](_0x255fe8,_0x56385f={}){const _0x5af6ca=a0_0x21be3e,_0x5ca228='img-'+Date['now']()+'-'+Math[_0x5af6ca(0x138)]()[_0x5af6ca(0x148)](0x24)[_0x5af6ca(0x198)](0x2,0x9);try{if(this[_0x5af6ca(0x133)]())throw new Error(_0x5af6ca(0x139));if(!_0x255fe8||typeof _0x255fe8!==_0x5af6ca(0x1bf)||_0x255fe8['trim']()[_0x5af6ca(0x168)]===0x0)throw new Error(_0x5af6ca(0x19b));const _0x5ef501=_0x56385f['model']||'flux-1.1-pro',_0x36e4bb=_0x56385f[_0x5af6ca(0x1bc)]||'1024x1024',_0x23fd50=_0x56385f[_0x5af6ca(0x12a)]||'standard',_0x3b4884=_0x56385f[_0x5af6ca(0x17c)]||_0x5af6ca(0x155);this[_0x5af6ca(0x142)][_0x5af6ca(0x16f)](_0x5af6ca(0x136)+_0x5ef501,{'requestId':_0x5ca228,'model':_0x5ef501,'size':_0x36e4bb,'quality':_0x23fd50,'promptLength':_0x255fe8['length']});const _0x331c88={'prompt':_0x255fe8,'model':_0x5ef501,'size':_0x36e4bb,'quality':_0x23fd50,'response_format':_0x3b4884,'n':0x1,'metadata':{'requestId':_0x5ca228,'timestamp':new Date()[_0x5af6ca(0x15b)]()}},_0x79f551=await this['_makeImageAPIRequest'](_0x331c88,_0x5ca228,{'sessionId':_0x56385f[_0x5af6ca(0x151)],'platformProvided':_0x56385f['platformProvided']||![]});return this['_resetCircuitBreaker'](),{'url':_0x79f551[_0x5af6ca(0x144)]?.[0x0]?.[_0x5af6ca(0x155)]||null,'b64_json':_0x79f551['data']?.[0x0]?.['b64_json']||null,'model':_0x79f551['model']||_0x5ef501,'requestId':_0x5ca228,'revisedPrompt':_0x79f551[_0x5af6ca(0x144)]?.[0x0]?.[_0x5af6ca(0x11e)]||_0x255fe8};}catch(_0x56c810){this[_0x5af6ca(0x1a0)](),this[_0x5af6ca(0x142)][_0x5af6ca(0x162)](_0x5af6ca(0x159)+_0x56c810['message'],{'requestId':_0x5ca228,'model':_0x56385f['model'],'error':_0x56c810['stack']});throw _0x56c810;}}async['checkServiceHealth'](){const _0x5b087b=a0_0x21be3e;try{const _0x2677ae=await this['_makeAPIRequest'](_0x5b087b(0x18b),{},_0x5b087b(0x199));return _0x2677ae[_0x5b087b(0x134)]===_0x5b087b(0x1b2);}catch(_0x4ae156){return![];}}async['switchAgentModel'](_0x1c87a2,_0x13e6f3){const _0x22b734=a0_0x21be3e;try{if(!this['_isValidModel'](_0x13e6f3))throw new Error('Invalid\x20model:\x20'+_0x13e6f3);let _0x12c09a=this[_0x22b734(0x11f)][_0x22b734(0x17b)](_0x1c87a2);!_0x12c09a&&(_0x12c09a=new ConversationManager(_0x1c87a2,this['logger']),this['conversationManagers']['set'](_0x1c87a2,_0x12c09a));const _0xf4f851=await _0x12c09a['switchModel'](_0x13e6f3),_0x38d0af=await this['agentPool']?.['getAgent'](_0x1c87a2);return _0x38d0af&&(_0x38d0af['currentModel']=_0x13e6f3,await this['agentPool']['persistAgentState'](_0x1c87a2)),this['logger'][_0x22b734(0x16f)](_0x22b734(0x125)+_0x1c87a2,{'newModel':_0x13e6f3,'messageCount':_0xf4f851[_0x22b734(0x169)][_0x22b734(0x168)]}),{'success':!![],'agentId':_0x1c87a2,'newModel':_0x13e6f3,'conversation':_0xf4f851};}catch(_0x34b454){this['logger']['error'](_0x22b734(0x1b1)+_0x34b454[_0x22b734(0x13e)],{'agentId':_0x1c87a2,'newModel':_0x13e6f3});throw _0x34b454;}}[a0_0x21be3e(0x173)](){const _0xf1cdd=a0_0x21be3e,_0x5f21fb={[MODELS['ANTHROPIC_SONNET']]:{'provider':MODEL_PROVIDERS[_0xf1cdd(0x129)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0xf1cdd(0x1af)]]:{'provider':MODEL_PROVIDERS[_0xf1cdd(0x129)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS[_0xf1cdd(0x1a2)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS[_0xf1cdd(0x17d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0xf1cdd(0x17d)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0xf1cdd(0x180)]]:{'provider':MODEL_PROVIDERS['DEEPSEEK'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0xf1cdd(0x16d)]]:{'provider':MODEL_PROVIDERS['PHI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0xf1cdd(0x18e),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x5f21fb;}[a0_0x21be3e(0x132)](_0x166163,_0x11e730,_0x295d82){const _0xef3128=a0_0x21be3e,_0x536358=this['modelSpecs'][_0x11e730]||{'provider':_0xef3128(0x18e)};let _0x34f3e2;typeof _0x166163==='string'?_0x34f3e2=[{'role':'user','content':_0x166163}]:_0x34f3e2=_0x166163['map'](_0xdcf389=>this['_formatSingleMessage'](_0xdcf389,_0x11e730));switch(_0x536358[_0xef3128(0x176)]){case MODEL_PROVIDERS['ANTHROPIC']:return this[_0xef3128(0x126)](_0x34f3e2);case MODEL_PROVIDERS[_0xef3128(0x17d)]:return this[_0xef3128(0x177)](_0x34f3e2);case MODEL_PROVIDERS[_0xef3128(0x18e)]:return this[_0xef3128(0x124)](_0x34f3e2);default:return _0x34f3e2;}}['_formatSingleMessage'](_0x2e91aa,_0x2b388c){const _0x438c80=a0_0x21be3e;return{'role':_0x2e91aa['role']||_0x438c80(0x122),'content':_0x2e91aa[_0x438c80(0x193)],'timestamp':_0x2e91aa[_0x438c80(0x19a)]};}['_formatForAnthropic'](_0x45d070){const _0x2e128e=a0_0x21be3e;return _0x45d070[_0x2e128e(0x182)](_0x395660=>{const _0x16a1b8=_0x2e128e;if(_0x395660['role']==='system')return{'role':'user','content':_0x16a1b8(0x18d)+_0x395660['content']};return _0x395660;});}[a0_0x21be3e(0x177)](_0x51301f){return _0x51301f;}[a0_0x21be3e(0x124)](_0x386793){const _0x3b8522=a0_0x21be3e;return _0x386793['map'](_0x572e98=>({..._0x572e98,'content':typeof _0x572e98[_0x3b8522(0x193)]===_0x3b8522(0x1bf)?_0x572e98[_0x3b8522(0x193)]:JSON['stringify'](_0x572e98['content'])}));}['_isValidModel'](_0x47d190){const _0x18b705=a0_0x21be3e;this['logger']['debug'](_0x18b705(0x1a3),{'model':_0x47d190,'modelType':typeof _0x47d190});if(this[_0x18b705(0x185)][_0x47d190]!==undefined)return!![];return this['logger']['warn']('Model\x20validation\x20failed',{'model':_0x47d190,'availableModels':Object[_0x18b705(0x174)](this[_0x18b705(0x185)])}),![];}async['_checkModelHealth'](_0xe9c8b4){return!![];}async['_estimateTokens'](_0x31de6d,_0x52e6d9){const _0x40184e=a0_0x21be3e;return Math[_0x40184e(0x1a8)](_0x31de6d['length']/0x4);}async['_truncateMessage'](_0x41601a,_0x60e439){const _0x5f03da=a0_0x21be3e,_0x75f789=_0x60e439*0x4;if(_0x41601a[_0x5f03da(0x168)]<=_0x75f789)return _0x41601a;return _0x41601a[_0x5f03da(0x179)](0x0,_0x75f789-0x14)+_0x5f03da(0x161);}async['_summarizeMessages'](_0x2ce26d,_0x5cb085){const _0x3a95ef=a0_0x21be3e,_0x548ec1=_0x2ce26d['map'](_0x54e31a=>_0x54e31a[_0x3a95ef(0x19e)]+':\x20'+_0x54e31a[_0x3a95ef(0x193)])['join']('\x0a'),_0x45ca39=0x1f4;if(_0x548ec1['length']<=_0x45ca39)return _0x548ec1;return _0x548ec1[_0x3a95ef(0x179)](0x0,_0x45ca39)+_0x3a95ef(0x17a);}async['_makeAPIRequest'](_0x17b4e6,_0x37e2c6,_0x5f451d,_0x510a86={}){const _0x1ea3d5=a0_0x21be3e,_0x1b1e30=_0x1ea3d5(0x135);let _0x595b48,_0x149b06=null,_0x286569=null;this[_0x1ea3d5(0x142)]?.['info'](_0x1ea3d5(0x189),{'hasApiKeyManager':!!this[_0x1ea3d5(0x123)],'sessionId':_0x510a86[_0x1ea3d5(0x151)],'hasSessionId':!!_0x510a86[_0x1ea3d5(0x151)],'optionsKeys':Object[_0x1ea3d5(0x174)](_0x510a86),'model':_0x37e2c6['model']});if(this[_0x1ea3d5(0x123)]&&_0x510a86['sessionId']){const _0x4e7613=this['apiKeyManager']['getKeysForRequest'](_0x510a86[_0x1ea3d5(0x151)],{'platformProvided':_0x510a86[_0x1ea3d5(0x153)]||![],'vendor':this[_0x1ea3d5(0x164)](_0x37e2c6['model'])});_0x149b06=_0x4e7613[_0x1ea3d5(0x1b0)],_0x286569=_0x4e7613['vendorApiKey'],this[_0x1ea3d5(0x142)]?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x510a86[_0x1ea3d5(0x151)],'hasLoxiaKey':!!_0x149b06,'hasVendorKey':!!_0x286569,'vendor':this[_0x1ea3d5(0x164)](_0x37e2c6[_0x1ea3d5(0x15c)])});}!_0x149b06&&_0x510a86[_0x1ea3d5(0x1aa)]&&(_0x149b06=_0x510a86[_0x1ea3d5(0x1aa)]);!_0x149b06&&this['config'][_0x1ea3d5(0x1aa)]&&(_0x149b06=this['config'][_0x1ea3d5(0x1aa)]);if(!_0x149b06)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x2debe5=_0x37e2c6[_0x1ea3d5(0x15c)],_0x256930={'conversationId':_0x5f451d,'message':_0x37e2c6[_0x1ea3d5(0x169)][_0x37e2c6['messages']['length']-0x1]?.[_0x1ea3d5(0x193)]||'','messages':_0x37e2c6['messages'],'model':_0x2debe5,'requestId':_0x5f451d,'options':_0x37e2c6['options']||{},'platformProvided':_0x510a86['platformProvided']||![]};_0x37e2c6['system']&&(_0x256930[_0x1ea3d5(0x1a4)]=_0x37e2c6[_0x1ea3d5(0x137)]);_0x510a86[_0x1ea3d5(0x153)]?_0x256930['apiKey']=_0x149b06:(_0x286569&&(_0x256930['vendorApiKey']=_0x286569),_0x510a86['customApiKeys']&&(_0x256930['customApiKeys']=_0x510a86[_0x1ea3d5(0x187)]),_0x256930[_0x1ea3d5(0x1aa)]=_0x149b06);for(let _0x49b89a=0x1;_0x49b89a<=this[_0x1ea3d5(0x1b5)];_0x49b89a++){try{this['logger'][_0x1ea3d5(0x16f)]('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x1b1e30,'model':_0x37e2c6[_0x1ea3d5(0x15c)],'requestId':_0x5f451d,'attempt':_0x49b89a,'hasApiKey':!!_0x149b06});const _0x4b45a7=await fetch(_0x1b1e30,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x149b06,'X-Request-ID':_0x5f451d},'body':JSON['stringify'](_0x256930),'timeout':this['timeout']});if(!_0x4b45a7['ok']){const _0x5cbb32=await _0x4b45a7['text'](),_0x50f304=new Error(_0x1ea3d5(0x16b)+_0x4b45a7[_0x1ea3d5(0x134)]+':\x20'+_0x4b45a7['statusText']+(_0x5cbb32?_0x1ea3d5(0x146)+_0x5cbb32:''));_0x50f304[_0x1ea3d5(0x134)]=_0x4b45a7[_0x1ea3d5(0x134)];throw _0x50f304;}const _0x410c22=await _0x4b45a7['json']();return{'choices':[{'message':{'content':_0x410c22['content']||'','role':_0x1ea3d5(0x15d)},'finish_reason':_0x410c22[_0x1ea3d5(0x145)]||_0x1ea3d5(0x19f)}],'usage':_0x410c22['usage']||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x410c22[_0x1ea3d5(0x15c)]||_0x37e2c6['model'],'id':_0x410c22['requestId']||_0x5f451d};}catch(_0x5d3bf2){_0x595b48=_0x5d3bf2,this['logger'][_0x1ea3d5(0x1b6)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x49b89a,'requestId':_0x5f451d,'error':_0x5d3bf2['message'],'status':_0x5d3bf2['status']});if(_0x49b89a<this['retryAttempts']){const _0xc54ac5=Math['pow'](0x2,_0x49b89a)*0x3e8;this['logger'][_0x1ea3d5(0x1b6)]('Retrying\x20in\x20'+_0xc54ac5+'ms',{'attempt':_0x49b89a,'requestId':_0x5f451d}),await new Promise(_0x269245=>setTimeout(_0x269245,_0xc54ac5));}}}this['logger']['error'](_0x1ea3d5(0x1a1),{'requestId':_0x5f451d,'error':_0x595b48['message']});const _0x3636ef=_0x595b48['message']&&_0x595b48['message'][_0x1ea3d5(0x184)]('No\x20API\x20key\x20configured');if(_0x3636ef)throw new Error('API\x20Configuration\x20Error:\x20'+_0x595b48['message']);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x595b48['message'],'role':_0x1ea3d5(0x15d)},'finish_reason':_0x1ea3d5(0x19f)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x37e2c6['model'],'id':'error-'+_0x5f451d,'error':_0x595b48[_0x1ea3d5(0x13e)]};}async['_makeImageAPIRequest'](_0x506e7d,_0x4ec5ab,_0x953017={}){const _0x59d5cc=a0_0x21be3e,_0x354f42='https://autopilot-api.azurewebsites.net/llm/generate-image';let _0x32abcb,_0x525c1a=null,_0x1b0af9=null;this[_0x59d5cc(0x142)]?.['info'](_0x59d5cc(0x181),{'hasApiKeyManager':!!this[_0x59d5cc(0x123)],'sessionId':_0x953017[_0x59d5cc(0x151)],'hasSessionId':!!_0x953017[_0x59d5cc(0x151)],'model':_0x506e7d[_0x59d5cc(0x15c)]});if(this['apiKeyManager']&&_0x953017[_0x59d5cc(0x151)]){const _0x447bd9=this['apiKeyManager']['getKeysForRequest'](_0x953017['sessionId'],{'platformProvided':_0x953017['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0x506e7d[_0x59d5cc(0x15c)])});_0x525c1a=_0x447bd9[_0x59d5cc(0x1b0)],_0x1b0af9=_0x447bd9[_0x59d5cc(0x147)],this['logger']?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x953017['sessionId'],'hasLoxiaKey':!!_0x525c1a,'hasVendorKey':!!_0x1b0af9});}!_0x525c1a&&_0x953017[_0x59d5cc(0x1aa)]&&(_0x525c1a=_0x953017[_0x59d5cc(0x1aa)]);!_0x525c1a&&this['config']['apiKey']&&(_0x525c1a=this[_0x59d5cc(0x127)][_0x59d5cc(0x1aa)]);if(!_0x525c1a)throw new Error(_0x59d5cc(0x1ae));const _0x5dd739={'prompt':_0x506e7d[_0x59d5cc(0x14c)],'model':_0x506e7d['model']||_0x59d5cc(0x121),'size':_0x506e7d['size'],'quality':_0x506e7d[_0x59d5cc(0x12a)],'style':_0x506e7d['style']||'vivid','n':_0x506e7d['n']||0x1,'requestId':_0x4ec5ab};for(let _0x4a0cb4=0x1;_0x4a0cb4<=this['retryAttempts'];_0x4a0cb4++){try{this[_0x59d5cc(0x142)]['info'](_0x59d5cc(0x1a7),{'url':_0x354f42,'model':_0x506e7d['model'],'requestId':_0x4ec5ab,'attempt':_0x4a0cb4,'hasApiKey':!!_0x525c1a});const _0x4e2968=await fetch(_0x354f42,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x525c1a,'X-Request-ID':_0x4ec5ab},'body':JSON['stringify'](_0x5dd739),'timeout':this['timeout']*0x2});if(!_0x4e2968['ok']){const _0x467978=await _0x4e2968[_0x59d5cc(0x149)](),_0x21f824=new Error(_0x59d5cc(0x16b)+_0x4e2968[_0x59d5cc(0x134)]+':\x20'+_0x4e2968['statusText']+(_0x467978?_0x59d5cc(0x146)+_0x467978:''));_0x21f824[_0x59d5cc(0x134)]=_0x4e2968['status'];throw _0x21f824;}const _0x26b43a=await _0x4e2968[_0x59d5cc(0x1b9)]();return{'data':_0x26b43a[_0x59d5cc(0x1ac)]||[],'model':_0x26b43a[_0x59d5cc(0x15c)]||_0x506e7d['model'],'created':_0x26b43a['created']||Date[_0x59d5cc(0x194)](),'usage':_0x26b43a[_0x59d5cc(0x12d)]};}catch(_0x190eca){_0x32abcb=_0x190eca,this['logger']['warn']('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x4a0cb4,'requestId':_0x4ec5ab,'error':_0x190eca['message'],'status':_0x190eca['status']});if(_0x4a0cb4<this[_0x59d5cc(0x1b5)]){const _0x39b4da=Math[_0x59d5cc(0x12e)](0x2,_0x4a0cb4)*0x3e8;this['logger'][_0x59d5cc(0x1b6)]('Retrying\x20in\x20'+_0x39b4da+'ms',{'attempt':_0x4a0cb4,'requestId':_0x4ec5ab}),await new Promise(_0xf7333=>setTimeout(_0xf7333,_0x39b4da));}}}this[_0x59d5cc(0x142)]['error']('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x4ec5ab,'error':_0x32abcb['message']});throw new Error(_0x59d5cc(0x159)+_0x32abcb['message']);}async['_checkRateLimit'](_0x1a6b92){await new Promise(_0x2f7e81=>setTimeout(_0x2f7e81,0x64));}async[a0_0x21be3e(0x131)](_0x4a568e){const _0x12ba8e=a0_0x21be3e,_0x128340=0xea60;this['logger'][_0x12ba8e(0x16f)](_0x12ba8e(0x1b3)+_0x128340+'ms',_0x4a568e),await new Promise(_0x567115=>setTimeout(_0x567115,_0x128340));}async['_handleServiceUnavailable'](_0x4a0178){const _0x44f241=a0_0x21be3e;this['_recordFailure']();const _0x50f237=0x7530;this['logger']['info'](_0x44f241(0x1a9)+_0x50f237+'ms',_0x4a0178),await new Promise(_0x5219a9=>setTimeout(_0x5219a9,_0x50f237));}[a0_0x21be3e(0x133)](){const _0xa5f0e2=a0_0x21be3e;if(!this['circuitBreaker'][_0xa5f0e2(0x166)])return![];const _0x3eff99=Date[_0xa5f0e2(0x194)]()-this['circuitBreaker']['lastFailureTime'];if(_0x3eff99>this[_0xa5f0e2(0x120)]['timeout'])return this['circuitBreaker'][_0xa5f0e2(0x166)]=![],this['circuitBreaker'][_0xa5f0e2(0x15a)]=0x0,![];return!![];}['_recordFailure'](){const _0x435daa=a0_0x21be3e;this[_0x435daa(0x120)][_0x435daa(0x15a)]++,this['circuitBreaker']['lastFailureTime']=Date[_0x435daa(0x194)](),this[_0x435daa(0x120)][_0x435daa(0x15a)]>=this[_0x435daa(0x120)][_0x435daa(0x170)]&&(this['circuitBreaker']['isOpen']=!![],this['logger'][_0x435daa(0x1b6)]('Circuit\x20breaker\x20opened\x20due\x20to\x20repeated\x20failures'));}[a0_0x21be3e(0x12b)](){const _0x4d4d86=a0_0x21be3e;this[_0x4d4d86(0x120)][_0x4d4d86(0x15a)]>0x0&&(this[_0x4d4d86(0x120)][_0x4d4d86(0x15a)]=0x0,this[_0x4d4d86(0x120)]['isOpen']=![],this['logger']['info']('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}['_getVendorFromModel'](_0x51e6ad){const _0x54f348=a0_0x21be3e;if(!_0x51e6ad)return null;const _0x23ed69=_0x51e6ad['toLowerCase']();if(_0x23ed69['includes']('anthropic')||_0x23ed69['includes'](_0x54f348(0x18f)))return'anthropic';else{if(_0x23ed69[_0x54f348(0x184)]('openai')||_0x23ed69['includes']('gpt'))return _0x54f348(0x183);else{if(_0x23ed69[_0x54f348(0x184)](_0x54f348(0x13d)))return _0x54f348(0x13d);else{if(_0x23ed69[_0x54f348(0x184)]('phi'))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x4b6524,_0x162a55){const _0x293dde=a0_0x21be3e;this[_0x293dde(0x16c)]=_0x4b6524,this['logger']=_0x162a55,this[_0x293dde(0x167)]=new Map();}async[a0_0x21be3e(0x197)](_0x2584d8){const _0x49b06c=a0_0x21be3e;return{'messages':[],'model':_0x2584d8,'lastUpdated':new Date()[_0x49b06c(0x15b)]()};}}export default AIService;
@@ -1 +1 @@
1
- const a0_0x2575cb=a0_0x4fab;function a0_0x4fab(_0x5406c5,_0x4fbafd){_0x5406c5=_0x5406c5-0x1ae;const _0x5d64c9=a0_0x5d64();let _0x4fab86=_0x5d64c9[_0x5406c5];if(a0_0x4fab['iVNFZx']===undefined){var _0x108845=function(_0x154b01){const _0x30519c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50cd77='',_0x34169c='';for(let _0x245d69=0x0,_0x3305a8,_0x13a2a0,_0x15c922=0x0;_0x13a2a0=_0x154b01['charAt'](_0x15c922++);~_0x13a2a0&&(_0x3305a8=_0x245d69%0x4?_0x3305a8*0x40+_0x13a2a0:_0x13a2a0,_0x245d69++%0x4)?_0x50cd77+=String['fromCharCode'](0xff&_0x3305a8>>(-0x2*_0x245d69&0x6)):0x0){_0x13a2a0=_0x30519c['indexOf'](_0x13a2a0);}for(let _0x508f16=0x0,_0x333eac=_0x50cd77['length'];_0x508f16<_0x333eac;_0x508f16++){_0x34169c+='%'+('00'+_0x50cd77['charCodeAt'](_0x508f16)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34169c);};a0_0x4fab['npzOkQ']=_0x108845,a0_0x4fab['NzdTrO']={},a0_0x4fab['iVNFZx']=!![];}const _0x361af8=_0x5d64c9[0x0],_0x4a5bba=_0x5406c5+_0x361af8,_0x2e99eb=a0_0x4fab['NzdTrO'][_0x4a5bba];return!_0x2e99eb?(_0x4fab86=a0_0x4fab['npzOkQ'](_0x4fab86),a0_0x4fab['NzdTrO'][_0x4a5bba]=_0x4fab86):_0x4fab86=_0x2e99eb,_0x4fab86;}function a0_0x5d64(){const _0x36ead1=['Bg94AwfbCgLlzxK','mtKZndu4m2TVrgnzra','mJCZmtKYrKnzs3Pe','nJi2mZqYvu9zte1p','ndG3ogfuqxnjwG','mtC4mZy2mfbuBhzZrq','z2v0qwn0AxzLu2vZC2LVBNm','z2v0vgLTzq','Bg9Nz2vY','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','DMvUzg9YqxbPs2v5','Dg9ju09tDhjPBMC','CMvTB3zLu2vZC2LVBKTLExm','mJeWsgPUB3vo','z2XVyMfSs2v5CW','r2XVyMfSiefqssbRzxLZihvWzgf0zwq','ChvZAa','A2v5CW','Aw5MBW','mZaWqKXnBw9I','BgvUz3rO','mtCXmMTJCK9WCW','mJGWndLrr0HMzLC','qvbjigTLExmGCMvTB3zLzcbMB3iGC2vZC2LVBG','C2vZC2LVBKTLExm','nZC5mMPnAw9WCW','BM93','zM9YrwfJAa','DMvUzg9Ys2v5CW'];a0_0x5d64=function(){return _0x36ead1;};return a0_0x5d64();}(function(_0x18a2dd,_0x33f551){const _0x5c326c=a0_0x4fab,_0x9c6f3c=_0x18a2dd();while(!![]){try{const _0x49c046=-parseInt(_0x5c326c(0x1ba))/0x1+parseInt(_0x5c326c(0x1b9))/0x2+parseInt(_0x5c326c(0x1b8))/0x3+-parseInt(_0x5c326c(0x1b3))/0x4*(parseInt(_0x5c326c(0x1c4))/0x5)+parseInt(_0x5c326c(0x1ca))/0x6*(parseInt(_0x5c326c(0x1b0))/0x7)+-parseInt(_0x5c326c(0x1af))/0x8*(parseInt(_0x5c326c(0x1bb))/0x9)+parseInt(_0x5c326c(0x1bc))/0xa;if(_0x49c046===_0x33f551)break;else _0x9c6f3c['push'](_0x9c6f3c['shift']());}catch(_0xd72c8b){_0x9c6f3c['push'](_0x9c6f3c['shift']());}}}(a0_0x5d64,0x5209b));class ApiKeyManager{constructor(_0x50cd77){const _0x2213a7=a0_0x4fab;this['logger']=_0x50cd77,this[_0x2213a7(0x1b2)]=new Map(),this[_0x2213a7(0x1c5)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x34169c,_0x245d69){const _0x1f7c37=a0_0x4fab;if(!_0x34169c)throw new Error('Session\x20ID\x20is\x20required');this['sessionKeys']['set'](_0x34169c,{'loxiaApiKey':_0x245d69[_0x1f7c37(0x1b7)]||null,'vendorKeys':_0x245d69['vendorKeys']||{},'updatedAt':new Date()['toISOString']()}),this[_0x1f7c37(0x1bf)]?.['info'](_0x1f7c37(0x1c0),{'sessionId':_0x34169c,'hasLoxiaKey':!!_0x245d69[_0x1f7c37(0x1b7)],'vendorKeys':Object['keys'](_0x245d69['vendorKeys']||{}),'timestamp':new Date()[_0x1f7c37(0x1c2)]()});}['getSessionKeys'](_0x3305a8){const _0xa0e70=a0_0x4fab;if(!_0x3305a8)return this[_0xa0e70(0x1c5)];const _0x13a2a0=this[_0xa0e70(0x1b2)]['get'](_0x3305a8);if(_0x13a2a0)return _0x13a2a0;return this[_0xa0e70(0x1c5)];}['getKeysForRequest'](_0x15c922,_0x508f16={}){const _0x3181e8=a0_0x4fab,_0x333eac=this['getSessionKeys'](_0x15c922),_0x5c41ba={'loxiaApiKey':_0x333eac[_0x3181e8(0x1b7)],'vendorApiKey':null};return!_0x508f16['platformProvided']&&_0x508f16['vendor']&&_0x333eac[_0x3181e8(0x1b6)]&&(_0x5c41ba[_0x3181e8(0x1c1)]=_0x333eac['vendorKeys'][_0x508f16['vendor']]),_0x5c41ba;}[a0_0x2575cb(0x1c3)](_0x307f12){const _0x2c4d3b=a0_0x2575cb;if(this[_0x2c4d3b(0x1b2)]['delete'](_0x307f12))return this[_0x2c4d3b(0x1bf)]?.['info'](_0x2c4d3b(0x1b1),{'sessionId':_0x307f12}),!![];return![];}['setGlobalKeys'](_0x354b7c){const _0x3ee3fe=a0_0x2575cb;this['globalKeys']={'loxiaApiKey':_0x354b7c['loxiaApiKey']||this[_0x3ee3fe(0x1c5)]['loxiaApiKey'],'vendorKeys':{...this['globalKeys'][_0x3ee3fe(0x1b6)],..._0x354b7c[_0x3ee3fe(0x1b6)]||{}}},this[_0x3ee3fe(0x1bf)]?.['info'](_0x3ee3fe(0x1c6),{'hasLoxiaKey':!!this['globalKeys'][_0x3ee3fe(0x1b7)],'vendorKeys':Object[_0x3ee3fe(0x1c8)](this[_0x3ee3fe(0x1c5)][_0x3ee3fe(0x1b6)])});}[a0_0x2575cb(0x1bd)](){const _0x5eebfc=a0_0x2575cb;return Array['from'](this[_0x5eebfc(0x1b2)]['entries']())['map'](([_0xab271d,_0x54ca7f])=>({'sessionId':_0xab271d,'hasLoxiaKey':!!_0x54ca7f['loxiaApiKey'],'vendorKeys':Object['keys'](_0x54ca7f['vendorKeys']||{}),'updatedAt':_0x54ca7f['updatedAt']}));}['cleanupExpiredSessions'](_0x5e0166=0x18*0x3c*0x3c*0x3e8){const _0x41ca63=a0_0x2575cb,_0x4d5ee5=Date[_0x41ca63(0x1b4)](),_0x52338d=[];for(const [_0x5775ef,_0x3c1de6]of this['sessionKeys']['entries']()){const _0x3ea037=_0x4d5ee5-new Date(_0x3c1de6['updatedAt'])[_0x41ca63(0x1be)]();_0x3ea037>_0x5e0166&&_0x52338d[_0x41ca63(0x1c7)](_0x5775ef);}return _0x52338d[_0x41ca63(0x1b5)](_0x41b34d=>{const _0x1770c1=_0x41ca63;this[_0x1770c1(0x1b2)]['delete'](_0x41b34d);}),_0x52338d['length']>0x0&&this['logger']?.[_0x41ca63(0x1c9)]('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x52338d['length'],'remainingSessions':this[_0x41ca63(0x1b2)]['size']}),_0x52338d[_0x41ca63(0x1ae)];}}export default ApiKeyManager;
1
+ function a0_0x3398(){const _0x389a9d=['z2v0u2vZC2LVBKTLExm','A2v5CW','n2DRqMT5Ea','C2L6zq','z2XVyMfSs2v5CW','DMvUzg9Ys2v5CW','C2v0u2vZC2LVBKTLExm','C2vZC2LVBKTLExm','Bg9Nz2vY','CgXHDgzVCM1qCM92AwrLza','ndHICwLRuvC','odKZmefrwMnPqW','mJG2mdC2n09zCMvsrW','qvbjigTLExmGCMvTB3zLzcbMB3iGC2vZC2LVBG','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','Bg94AwfbCgLlzxK','C2v0r2XVyMfSs2v5CW','mJyWote5nKDwDhPHyG','mtK1nNv6CfDUwG','otGXmdm1teHtzefW','Aw5MBW','zM9YrwfJAa','mtGXmfLktfv1Ca','ndGYmK5isLH1va','mtm4wuTjt1rI','mJm1mJzVBgHiquq','BgvUz3rO','zgvSzxrL','y2XLyw51Cev4CgLYzwrtzxnZAw9UCW','Dg9ju09tDhjPBMC','r2XVyMfSiefqssbRzxLZihvWzgf0zwq','BM93','mtiWnZG4meDZuxPiDG'];a0_0x3398=function(){return _0x389a9d;};return a0_0x3398();}const a0_0x539655=a0_0x1bf0;(function(_0x3b198e,_0x2167fa){const _0x36c069=a0_0x1bf0,_0x358556=_0x3b198e();while(!![]){try{const _0x27033c=parseInt(_0x36c069(0x115))/0x1*(parseInt(_0x36c069(0x114))/0x2)+parseInt(_0x36c069(0x12a))/0x3+-parseInt(_0x36c069(0x130))/0x4*(-parseInt(_0x36c069(0x129))/0x5)+-parseInt(_0x36c069(0x12f))/0x6*(parseInt(_0x36c069(0x120))/0x7)+-parseInt(_0x36c069(0x11d))/0x8+-parseInt(_0x36c069(0x116))/0x9*(parseInt(_0x36c069(0x113))/0xa)+-parseInt(_0x36c069(0x110))/0xb*(parseInt(_0x36c069(0x128))/0xc);if(_0x27033c===_0x2167fa)break;else _0x358556['push'](_0x358556['shift']());}catch(_0x3e9eb4){_0x358556['push'](_0x358556['shift']());}}}(a0_0x3398,0xb5a00));class ApiKeyManager{constructor(_0x37a906){this['logger']=_0x37a906,this['sessionKeys']=new Map(),this['globalKeys']={'loxiaApiKey':null,'vendorKeys':{}};}[a0_0x539655(0x124)](_0x5a28b3,_0x28b074){const _0x2a153c=a0_0x539655;if(!_0x5a28b3)throw new Error('Session\x20ID\x20is\x20required');this['sessionKeys']['set'](_0x5a28b3,{'loxiaApiKey':_0x28b074['loxiaApiKey']||null,'vendorKeys':_0x28b074[_0x2a153c(0x123)]||{},'updatedAt':new Date()[_0x2a153c(0x11a)]()}),this['logger']?.['info'](_0x2a153c(0x12c),{'sessionId':_0x5a28b3,'hasLoxiaKey':!!_0x28b074[_0x2a153c(0x12d)],'vendorKeys':Object[_0x2a153c(0x11f)](_0x28b074['vendorKeys']||{}),'timestamp':new Date()[_0x2a153c(0x11a)]()});}['getSessionKeys'](_0x26c6c8){if(!_0x26c6c8)return this['globalKeys'];const _0x26f266=this['sessionKeys']['get'](_0x26c6c8);if(_0x26f266)return _0x26f266;return this['globalKeys'];}['getKeysForRequest'](_0x40126d,_0x3a4f5d={}){const _0xa7eb0b=a0_0x539655,_0x5e5984=this[_0xa7eb0b(0x11e)](_0x40126d),_0x848916={'loxiaApiKey':_0x5e5984['loxiaApiKey'],'vendorApiKey':null};return!_0x3a4f5d[_0xa7eb0b(0x127)]&&_0x3a4f5d['vendor']&&_0x5e5984[_0xa7eb0b(0x123)]&&(_0x848916['vendorApiKey']=_0x5e5984[_0xa7eb0b(0x123)][_0x3a4f5d['vendor']]),_0x848916;}['removeSessionKeys'](_0xaa9994){const _0x60970b=a0_0x539655;if(this['sessionKeys']['delete'](_0xaa9994))return this[_0x60970b(0x126)]?.[_0x60970b(0x111)](_0x60970b(0x12b),{'sessionId':_0xaa9994}),!![];return![];}[a0_0x539655(0x12e)](_0x35ff47){const _0x3da8f2=a0_0x539655;this[_0x3da8f2(0x122)]={'loxiaApiKey':_0x35ff47[_0x3da8f2(0x12d)]||this[_0x3da8f2(0x122)]['loxiaApiKey'],'vendorKeys':{...this['globalKeys']['vendorKeys'],..._0x35ff47['vendorKeys']||{}}},this['logger']?.['info'](_0x3da8f2(0x11b),{'hasLoxiaKey':!!this['globalKeys'][_0x3da8f2(0x12d)],'vendorKeys':Object[_0x3da8f2(0x11f)](this['globalKeys']['vendorKeys'])});}['getActiveSessions'](){const _0x191c87=a0_0x539655;return Array['from'](this['sessionKeys']['entries']())['map'](([_0x2f1445,_0x368e80])=>({'sessionId':_0x2f1445,'hasLoxiaKey':!!_0x368e80[_0x191c87(0x12d)],'vendorKeys':Object[_0x191c87(0x11f)](_0x368e80['vendorKeys']||{}),'updatedAt':_0x368e80['updatedAt']}));}[a0_0x539655(0x119)](_0x33be28=0x18*0x3c*0x3c*0x3e8){const _0x216708=a0_0x539655,_0x53e271=Date[_0x216708(0x11c)](),_0x52c346=[];for(const [_0x510cf4,_0x21b05b]of this[_0x216708(0x125)]['entries']()){const _0x2bcf6c=_0x53e271-new Date(_0x21b05b['updatedAt'])['getTime']();_0x2bcf6c>_0x33be28&&_0x52c346['push'](_0x510cf4);}return _0x52c346[_0x216708(0x112)](_0xc893a0=>{const _0x44a287=_0x216708;this[_0x44a287(0x125)][_0x44a287(0x118)](_0xc893a0);}),_0x52c346[_0x216708(0x117)]>0x0&&this['logger']?.[_0x216708(0x111)]('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x52c346['length'],'remainingSessions':this['sessionKeys'][_0x216708(0x121)]}),_0x52c346[_0x216708(0x117)];}}function a0_0x1bf0(_0x2ab5d8,_0x1496f8){_0x2ab5d8=_0x2ab5d8-0x110;const _0x339857=a0_0x3398();let _0x1bf00e=_0x339857[_0x2ab5d8];if(a0_0x1bf0['vqKnNx']===undefined){var _0x32831f=function(_0xc33e8b){const _0x4c41f7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37a906='',_0x5a28b3='';for(let _0x28b074=0x0,_0x26c6c8,_0x26f266,_0x40126d=0x0;_0x26f266=_0xc33e8b['charAt'](_0x40126d++);~_0x26f266&&(_0x26c6c8=_0x28b074%0x4?_0x26c6c8*0x40+_0x26f266:_0x26f266,_0x28b074++%0x4)?_0x37a906+=String['fromCharCode'](0xff&_0x26c6c8>>(-0x2*_0x28b074&0x6)):0x0){_0x26f266=_0x4c41f7['indexOf'](_0x26f266);}for(let _0x3a4f5d=0x0,_0x5e5984=_0x37a906['length'];_0x3a4f5d<_0x5e5984;_0x3a4f5d++){_0x5a28b3+='%'+('00'+_0x37a906['charCodeAt'](_0x3a4f5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5a28b3);};a0_0x1bf0['SsKjrT']=_0x32831f,a0_0x1bf0['fLrjbd']={},a0_0x1bf0['vqKnNx']=!![];}const _0x108b1e=_0x339857[0x0],_0xe8719d=_0x2ab5d8+_0x108b1e,_0x173ea4=a0_0x1bf0['fLrjbd'][_0xe8719d];return!_0x173ea4?(_0x1bf00e=a0_0x1bf0['SsKjrT'](_0x1bf00e),a0_0x1bf0['fLrjbd'][_0xe8719d]=_0x1bf00e):_0x1bf00e=_0x173ea4,_0x1bf00e;}export default ApiKeyManager;
@@ -1 +1 @@
1
- const a0_0x31312b=a0_0x3819;(function(_0x405f82,_0xb87011){const _0x5d75c5=a0_0x3819,_0x167b88=_0x405f82();while(!![]){try{const _0x25c0cb=-parseInt(_0x5d75c5(0x108))/0x1*(-parseInt(_0x5d75c5(0xff))/0x2)+parseInt(_0x5d75c5(0x11e))/0x3+-parseInt(_0x5d75c5(0xf5))/0x4+parseInt(_0x5d75c5(0x112))/0x5+parseInt(_0x5d75c5(0x11b))/0x6+-parseInt(_0x5d75c5(0x10f))/0x7+parseInt(_0x5d75c5(0x107))/0x8;if(_0x25c0cb===_0xb87011)break;else _0x167b88['push'](_0x167b88['shift']());}catch(_0x5564c9){_0x167b88['push'](_0x167b88['shift']());}}}(a0_0x14a2,0xb17ab));function a0_0x3819(_0x1c86e3,_0x339caf){_0x1c86e3=_0x1c86e3-0xf5;const _0x14a245=a0_0x14a2();let _0x381901=_0x14a245[_0x1c86e3];if(a0_0x3819['uJmYwn']===undefined){var _0x2751b5=function(_0x37f9cb){const _0x146c2b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13edf9='',_0x10c357='';for(let _0x4319fc=0x0,_0x525c02,_0x25e0c5,_0x954ed1=0x0;_0x25e0c5=_0x37f9cb['charAt'](_0x954ed1++);~_0x25e0c5&&(_0x525c02=_0x4319fc%0x4?_0x525c02*0x40+_0x25e0c5:_0x25e0c5,_0x4319fc++%0x4)?_0x13edf9+=String['fromCharCode'](0xff&_0x525c02>>(-0x2*_0x4319fc&0x6)):0x0){_0x25e0c5=_0x146c2b['indexOf'](_0x25e0c5);}for(let _0x312932=0x0,_0x1beb38=_0x13edf9['length'];_0x312932<_0x1beb38;_0x312932++){_0x10c357+='%'+('00'+_0x13edf9['charCodeAt'](_0x312932)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10c357);};a0_0x3819['qgBXZT']=_0x2751b5,a0_0x3819['pKJbFz']={},a0_0x3819['uJmYwn']=!![];}const _0x1133a5=_0x14a245[0x0],_0x4aa2e9=_0x1c86e3+_0x1133a5,_0x459920=a0_0x3819['pKJbFz'][_0x4aa2e9];return!_0x459920?(_0x381901=a0_0x3819['qgBXZT'](_0x381901),a0_0x3819['pKJbFz'][_0x4aa2e9]=_0x381901):_0x381901=_0x459920,_0x381901;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';function a0_0x14a2(){const _0x4a9a85=['Bwf4','ANnVBG','Dg9ju09tDhjPBMC','x2DLDe1VC3rdB3n0rwzMAwnPzw50','DgfZA3m','z2v0qMvUy2HTyxjRvgfIBgu','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','zxjYB3i','C3rHDhvZ','odC0nJi0q0PuBvLL','CxvPy2STDgfZA3m','C3rHDhvZvgv4Da','C2nVCMu','AxnmB2fKAw5N','Bw9KzwXZ','C29YDa','BgvUz3rO','mJK5mZC5mKLKBgDTvG','m2nytKDLyG','z2v0u3rHDhvZ','BMfTzq','x3nJAgvKDwXLuMvMCMvZAa','qMvUy2HTyxjRihnLCNzPy2uGAw5PDgLHBgL6zwq','BwvZC2fNzq','DMfSDwvZ','otK3nJu0n3boDwLNtq','yMvUy2HTyxjRCW','Bg9Nz2vY','mZuWmZC4mfzHA3zQrW','y29ZDa','BwfW','BM93','yw5HBhLZAxm','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza','uMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','zgvIDwC','C3bLzwq','ndy1mtyYnKzpr3P1za','CMvMCMvZAeLUDgvYDMfS','BMvLzhnszwzYzxnO','odeYotu4Dfvore1Y','z2v0qMvUy2HTyxjRCW','C291CMnL','y29UzMLN','Dw5RBM93BG','BgfZDfvWzgf0zwq','yxbWBgLJyxrPB24VANnVBG','Aw5MBW','x2DLDejLC3rnB2rLBezVCLrHC2S','nteYmZK4ofriD0TUBq'];a0_0x14a2=function(){return _0x4a9a85;};return a0_0x14a2();}class BenchmarkService{constructor(_0x13edf9,_0x10c357){const _0x2cf728=a0_0x3819;this['config']=_0x13edf9,this['logger']=_0x10c357,this['benchmarks']=null,this[_0x2cf728(0x123)]=null,this[_0x2cf728(0x103)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this[_0x2cf728(0x11c)]=MODEL_ROUTER_CONFIG['BENCHMARK_REFRESH_INTERVAL'];}async['initialize'](){const _0x296c4f=a0_0x3819;try{await this['loadBenchmarks'](),this['_scheduleRefresh'](),this['logger']['info'](_0x296c4f(0x10c));}catch(_0x4319fc){this['logger'][_0x296c4f(0xfd)]('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x4319fc[_0x296c4f(0x10d)]}),this[_0x296c4f(0x110)]=null;}}['getBenchmarks'](){const _0x22ba2d=a0_0x3819;if(!this['benchmarks'])return this['logger'][_0x22ba2d(0xfd)]('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async['loadBenchmarks'](){const _0x4df915=a0_0x3819;if(this[_0x4df915(0x103)]){this[_0x4df915(0x111)]['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this[_0x4df915(0x103)]=!![];try{const _0x525c02=await this['_fetchFromAzureBackend']();if(_0x525c02)this[_0x4df915(0x110)]=_0x525c02,this['lastUpdated']=new Date(),this['logger']['info']('Benchmarks loaded from Azure backend',{'modelCount':_0x525c02['models']?.[_0x4df915(0x106)]||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x25e0c5){this['logger']['error']('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x25e0c5[_0x4df915(0x10d)],'endpoint':url}),!this[_0x4df915(0x110)]&&(this[_0x4df915(0x110)]=null);}finally{this[_0x4df915(0x103)]=![];}}[a0_0x31312b(0xfb)](){const _0xc279e2=a0_0x31312b,_0x954ed1=this[_0xc279e2(0x11f)]();return{'lastUpdated':this[_0xc279e2(0x123)]?.[_0xc279e2(0xf8)]()||_0xc279e2(0x122),'models':_0x954ed1[_0xc279e2(0x104)]||[],'tasks':_0x954ed1[_0xc279e2(0xfa)]||{},'summary':this[_0xc279e2(0xfc)](_0x954ed1)};}['needsRefresh'](){const _0x1017df=a0_0x31312b;if(!this[_0x1017df(0x123)])return!![];const _0x312932=Date[_0x1017df(0x115)]()-this[_0x1017df(0x123)]['getTime']();return _0x312932>this['refreshInterval'];}async[a0_0x31312b(0x117)](){const _0x528fa3=a0_0x31312b,_0x1beb38=this['azureBackendUrl']+'/llm/model-benchmarks';let _0x37da7d=null;this['config']['apiKey']&&(_0x37da7d=this[_0x528fa3(0x121)]['apiKey']);const _0x325e9c={'method':'GET','headers':{'Content-Type':_0x528fa3(0x124),..._0x37da7d&&{'Authorization':'Bearer\x20'+_0x37da7d}},'timeout':0x2710};this[_0x528fa3(0x111)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x1beb38});const _0x4243bd=await fetch(_0x1beb38,_0x325e9c);if(!_0x4243bd['ok'])throw new Error('HTTP\x20'+_0x4243bd[_0x528fa3(0xfe)]+':\x20'+_0x4243bd[_0x528fa3(0x101)]);const _0x3c59fe=await _0x4243bd[_0x528fa3(0xf7)]();return _0x3c59fe;}['_generateBenchmarkSummary'](_0x4e3a47){const _0x544988=a0_0x31312b,_0x192e5e=_0x4e3a47[_0x544988(0x104)]||[];return{'totalModels':_0x192e5e['length'],'taskCategories':Object['keys'](_0x4e3a47[_0x544988(0xfa)]||{}),'bestForCoding':this['_getBestModelForTask'](_0x192e5e,'coding'),'bestForAnalysis':this['_getBestModelForTask'](_0x192e5e,_0x544988(0x116)),'bestForQuickTasks':this[_0x544988(0x126)](_0x192e5e,_0x544988(0x100)),'bestForCreative':this['_getBestModelForTask'](_0x192e5e,'creative'),'fastestModel':this['_getFastestModel'](_0x192e5e),'mostCostEfficient':this[_0x544988(0xf9)](_0x192e5e)};}[a0_0x31312b(0x126)](_0x14f760,_0x54a37a){const _0x3233f9=a0_0x31312b;return _0x14f760['filter'](_0x5a30b3=>_0x5a30b3['tasks']&&_0x5a30b3['tasks'][_0x54a37a])[_0x3233f9(0x105)]((_0x2ddf10,_0x198471)=>(_0x198471[_0x3233f9(0xfa)][_0x54a37a]['score']||0x0)-(_0x2ddf10[_0x3233f9(0xfa)][_0x54a37a][_0x3233f9(0x102)]||0x0))[0x0]?.[_0x3233f9(0x10a)]||'unknown';}['_getFastestModel'](_0x34ed2b){const _0x296ec6=a0_0x31312b,_0x29169b={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x34ed2b['sort']((_0x199180,_0xd3f5d1)=>{const _0x2afdc4=a0_0x3819,_0x57e97f=Math[_0x2afdc4(0xf6)](...Object['values'](_0x199180['tasks']||{})[_0x2afdc4(0x114)](_0x4541a4=>_0x29169b[_0x4541a4[_0x2afdc4(0x11a)]]||0x0)),_0x514957=Math[_0x2afdc4(0xf6)](...Object['values'](_0xd3f5d1['tasks']||{})[_0x2afdc4(0x114)](_0x1a40ce=>_0x29169b[_0x1a40ce[_0x2afdc4(0x11a)]]||0x0));return _0x514957-_0x57e97f;})[0x0]?.[_0x296ec6(0x10a)]||_0x296ec6(0x122);}['_getMostCostEfficient'](_0x5e0cbe){const _0x40acbe=a0_0x31312b,_0x53ca6e={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x5e0cbe[_0x40acbe(0x105)]((_0x2a2093,_0x3d89b4)=>{const _0x51bfb1=_0x40acbe,_0x3900d5=Math[_0x51bfb1(0xf6)](...Object[_0x51bfb1(0x10e)](_0x2a2093['tasks']||{})['map'](_0x2be7ec=>_0x53ca6e[_0x2be7ec[_0x51bfb1(0x113)]]||0x0)),_0x24e5c0=Math[_0x51bfb1(0xf6)](...Object[_0x51bfb1(0x10e)](_0x3d89b4[_0x51bfb1(0xfa)]||{})[_0x51bfb1(0x114)](_0x232df3=>_0x53ca6e[_0x232df3[_0x51bfb1(0x113)]]||0x0));return _0x24e5c0-_0x3900d5;})[0x0]?.['name']||'unknown';}[a0_0x31312b(0x10b)](){const _0x3bcc8a=a0_0x31312b;setInterval(async()=>{const _0x380e7a=a0_0x3819;this['needsRefresh']()&&(this[_0x380e7a(0x111)][_0x380e7a(0x119)](_0x380e7a(0x118)),await this['loadBenchmarks']());},this[_0x3bcc8a(0x11c)]);}async['forceRefresh'](){const _0x5e2cd0=a0_0x31312b;this['logger'][_0x5e2cd0(0x125)]('Force\x20refreshing\x20benchmark\x20data'),await this['loadBenchmarks']();}[a0_0x31312b(0x109)](){const _0x3daf73=a0_0x31312b;return{'initialized':!!this['benchmarks'],'lastUpdated':this[_0x3daf73(0x123)]?.[_0x3daf73(0xf8)]()||null,'source':this['benchmarks']?.[_0x3daf73(0x120)]||'unknown','modelCount':this['benchmarks']?.[_0x3daf73(0x104)]?.[_0x3daf73(0x106)]||0x0,'isLoading':this[_0x3daf73(0x103)],'needsRefresh':this[_0x3daf73(0x11d)]()};}}export default BenchmarkService;
1
+ const a0_0x205c22=a0_0xb38c;(function(_0x1a250e,_0x899128){const _0x5b7527=a0_0xb38c,_0x2f7f52=_0x1a250e();while(!![]){try{const _0x8e8e0f=parseInt(_0x5b7527(0x19f))/0x1*(parseInt(_0x5b7527(0x181))/0x2)+parseInt(_0x5b7527(0x17d))/0x3*(parseInt(_0x5b7527(0x19d))/0x4)+parseInt(_0x5b7527(0x18c))/0x5*(parseInt(_0x5b7527(0x192))/0x6)+-parseInt(_0x5b7527(0x16e))/0x7+-parseInt(_0x5b7527(0x188))/0x8+parseInt(_0x5b7527(0x183))/0x9*(parseInt(_0x5b7527(0x185))/0xa)+-parseInt(_0x5b7527(0x189))/0xb*(-parseInt(_0x5b7527(0x178))/0xc);if(_0x8e8e0f===_0x899128)break;else _0x2f7f52['push'](_0x2f7f52['shift']());}catch(_0x33318e){_0x2f7f52['push'](_0x2f7f52['shift']());}}}(a0_0x1988,0x68267));function a0_0xb38c(_0x59a7b4,_0x9d0282){_0x59a7b4=_0x59a7b4-0x16c;const _0x1988a9=a0_0x1988();let _0xb38c9b=_0x1988a9[_0x59a7b4];if(a0_0xb38c['WebQxk']===undefined){var _0x5c74d7=function(_0x481c44){const _0x282a0f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25baff='',_0x401fee='';for(let _0xf0965b=0x0,_0x14499b,_0x5f2203,_0x2abe82=0x0;_0x5f2203=_0x481c44['charAt'](_0x2abe82++);~_0x5f2203&&(_0x14499b=_0xf0965b%0x4?_0x14499b*0x40+_0x5f2203:_0x5f2203,_0xf0965b++%0x4)?_0x25baff+=String['fromCharCode'](0xff&_0x14499b>>(-0x2*_0xf0965b&0x6)):0x0){_0x5f2203=_0x282a0f['indexOf'](_0x5f2203);}for(let _0x2d7c9c=0x0,_0x31d156=_0x25baff['length'];_0x2d7c9c<_0x31d156;_0x2d7c9c++){_0x401fee+='%'+('00'+_0x25baff['charCodeAt'](_0x2d7c9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x401fee);};a0_0xb38c['hLlFAc']=_0x5c74d7,a0_0xb38c['XFSGJN']={},a0_0xb38c['WebQxk']=!![];}const _0x1ca831=_0x1988a9[0x0],_0x631b47=_0x59a7b4+_0x1ca831,_0x553707=a0_0xb38c['XFSGJN'][_0x631b47];return!_0x553707?(_0xb38c9b=a0_0xb38c['hLlFAc'](_0xb38c9b),a0_0xb38c['XFSGJN'][_0x631b47]=_0xb38c9b):_0xb38c9b=_0x553707,_0xb38c9b;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x25baff,_0x401fee){const _0x12a576=a0_0xb38c;this[_0x12a576(0x173)]=_0x25baff,this['logger']=_0x401fee,this['benchmarks']=null,this[_0x12a576(0x171)]=null,this['isLoading']=![],this[_0x12a576(0x180)]=_0x12a576(0x186),this['refreshInterval']=MODEL_ROUTER_CONFIG[_0x12a576(0x19c)];}async[a0_0x205c22(0x17f)](){const _0x567b8e=a0_0x205c22;try{await this['loadBenchmarks'](),this['_scheduleRefresh'](),this['logger']['info']('Benchmark\x20service\x20initialized');}catch(_0xf0965b){this[_0x567b8e(0x197)]['error']('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0xf0965b['message']}),this[_0x567b8e(0x17b)]=null;}}['getBenchmarks'](){const _0xbd079d=a0_0x205c22;if(!this[_0xbd079d(0x17b)])return this['logger']['error']('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this[_0xbd079d(0x17b)];}async['loadBenchmarks'](){const _0x29d9e5=a0_0x205c22;if(this[_0x29d9e5(0x177)]){this['logger']['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this[_0x29d9e5(0x177)]=!![];try{const _0x14499b=await this['_fetchFromAzureBackend']();if(_0x14499b)this[_0x29d9e5(0x17b)]=_0x14499b,this['lastUpdated']=new Date(),this['logger']['info']('Benchmarks loaded from Azure backend',{'modelCount':_0x14499b['models']?.['length']||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x5f2203){this['logger']['error']('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x5f2203[_0x29d9e5(0x19b)],'endpoint':url}),!this['benchmarks']&&(this[_0x29d9e5(0x17b)]=null);}finally{this['isLoading']=![];}}[a0_0x205c22(0x17e)](){const _0x45177f=a0_0x205c22,_0x2abe82=this[_0x45177f(0x18e)]();return{'lastUpdated':this[_0x45177f(0x171)]?.[_0x45177f(0x18f)]()||'unknown','models':_0x2abe82[_0x45177f(0x199)]||[],'tasks':_0x2abe82['tasks']||{},'summary':this['_generateBenchmarkSummary'](_0x2abe82)};}[a0_0x205c22(0x16f)](){const _0x5be9b2=a0_0x205c22;if(!this[_0x5be9b2(0x171)])return!![];const _0x2d7c9c=Date['now']()-this['lastUpdated']['getTime']();return _0x2d7c9c>this[_0x5be9b2(0x190)];}async['_fetchFromAzureBackend'](){const _0x56bbaa=a0_0x205c22,_0x31d156=this['azureBackendUrl']+_0x56bbaa(0x198);let _0x2bb022=null;this[_0x56bbaa(0x173)][_0x56bbaa(0x17c)]&&(_0x2bb022=this['config']['apiKey']);const _0xfe777b={'method':_0x56bbaa(0x170),'headers':{'Content-Type':_0x56bbaa(0x18a),..._0x2bb022&&{'Authorization':'Bearer\x20'+_0x2bb022}},'timeout':0x2710};this[_0x56bbaa(0x197)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x31d156});const _0x24f54b=await fetch(_0x31d156,_0xfe777b);if(!_0x24f54b['ok'])throw new Error('HTTP\x20'+_0x24f54b[_0x56bbaa(0x16c)]+':\x20'+_0x24f54b['statusText']);const _0x13e203=await _0x24f54b['json']();return _0x13e203;}['_generateBenchmarkSummary'](_0x396893){const _0x5ae070=a0_0x205c22,_0x562ed1=_0x396893[_0x5ae070(0x199)]||[];return{'totalModels':_0x562ed1[_0x5ae070(0x17a)],'taskCategories':Object['keys'](_0x396893['tasks']||{}),'bestForCoding':this['_getBestModelForTask'](_0x562ed1,'coding'),'bestForAnalysis':this['_getBestModelForTask'](_0x562ed1,'analysis'),'bestForQuickTasks':this[_0x5ae070(0x174)](_0x562ed1,_0x5ae070(0x175)),'bestForCreative':this[_0x5ae070(0x174)](_0x562ed1,'creative'),'fastestModel':this[_0x5ae070(0x195)](_0x562ed1),'mostCostEfficient':this['_getMostCostEfficient'](_0x562ed1)};}['_getBestModelForTask'](_0x470f4c,_0x2968be){const _0x46eafc=a0_0x205c22;return _0x470f4c[_0x46eafc(0x18b)](_0x543029=>_0x543029[_0x46eafc(0x196)]&&_0x543029['tasks'][_0x2968be])['sort']((_0x128614,_0x19be6f)=>(_0x19be6f['tasks'][_0x2968be]['score']||0x0)-(_0x128614[_0x46eafc(0x196)][_0x2968be]['score']||0x0))[0x0]?.[_0x46eafc(0x194)]||'unknown';}[a0_0x205c22(0x195)](_0x257441){const _0x182c04={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x257441['sort']((_0x189614,_0x38cf2a)=>{const _0x2e15cd=a0_0xb38c,_0x12d7ab=Math['max'](...Object[_0x2e15cd(0x1a0)](_0x189614['tasks']||{})['map'](_0x2567de=>_0x182c04[_0x2567de[_0x2e15cd(0x179)]]||0x0)),_0x3ed347=Math['max'](...Object['values'](_0x38cf2a[_0x2e15cd(0x196)]||{})[_0x2e15cd(0x191)](_0x4e69ab=>_0x182c04[_0x4e69ab[_0x2e15cd(0x179)]]||0x0));return _0x3ed347-_0x12d7ab;})[0x0]?.['name']||'unknown';}[a0_0x205c22(0x193)](_0x525de4){const _0x367528=a0_0x205c22,_0x2ed272={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x525de4[_0x367528(0x187)]((_0x2066a5,_0xa1dead)=>{const _0x544ce6=_0x367528,_0x280908=Math[_0x544ce6(0x176)](...Object[_0x544ce6(0x1a0)](_0x2066a5[_0x544ce6(0x196)]||{})[_0x544ce6(0x191)](_0x41272c=>_0x2ed272[_0x41272c['cost']]||0x0)),_0x299489=Math['max'](...Object[_0x544ce6(0x1a0)](_0xa1dead['tasks']||{})[_0x544ce6(0x191)](_0x40b64f=>_0x2ed272[_0x40b64f['cost']]||0x0));return _0x299489-_0x280908;})[0x0]?.['name']||'unknown';}[a0_0x205c22(0x182)](){setInterval(async()=>{const _0x866995=a0_0xb38c;this['needsRefresh']()&&(this[_0x866995(0x197)][_0x866995(0x19e)]('Refreshing\x20benchmark\x20data'),await this[_0x866995(0x16d)]());},this['refreshInterval']);}async['forceRefresh'](){const _0x1946be=a0_0x205c22;this[_0x1946be(0x197)][_0x1946be(0x18d)](_0x1946be(0x19a)),await this['loadBenchmarks']();}['getStatus'](){const _0xca44f0=a0_0x205c22;return{'initialized':!!this['benchmarks'],'lastUpdated':this[_0xca44f0(0x171)]?.['toISOString']()||null,'source':this[_0xca44f0(0x17b)]?.[_0xca44f0(0x184)]||_0xca44f0(0x172),'modelCount':this[_0xca44f0(0x17b)]?.[_0xca44f0(0x199)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh']()};}}export default BenchmarkService;function a0_0x1988(){const _0x22f90d=['Bwf4','AxnmB2fKAw5N','mJG5mNvcqKjwrW','C3bLzwq','BgvUz3rO','yMvUy2HTyxjRCW','yxbPs2v5','mJfOwvbODNa','z2v0qMvUy2HTyxjRvgfIBgu','Aw5PDgLHBgL6zq','yxP1CMvcywnRzw5KvxjS','ndmYmM9sv2j6uq','x3nJAgvKDwXLuMvMCMvZAa','nJi5mZm0u3jHsLnh','C291CMnL','nZbbyuHOz00','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0','C29YDa','mZm4odC2ohDSuxH1sG','mta2n1LpAg5LvG','yxbWBgLJyxrPB24VANnVBG','zMLSDgvY','mtbnzhLbtLq','Aw5MBW','z2v0qMvUy2HTyxjRCW','Dg9ju09tDhjPBMC','CMvMCMvZAeLUDgvYDMfS','BwfW','mZuXotq4ChHYA1ng','x2DLDe1VC3rdB3n0rwzMAwnPzw50','BMfTzq','x2DLDezHC3rLC3rnB2rLBa','DgfZA3m','Bg9Nz2vY','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','Bw9KzwXZ','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','BwvZC2fNzq','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','mZC0odbOsgL5t1K','zgvIDwC','odHQEKj6uvq','DMfSDwvZ','C3rHDhvZ','Bg9HzejLBMnOBwfYA3m','mJuWmty2tgz6rhjX','BMvLzhnszwzYzxnO','r0vu','BgfZDfvWzgf0zwq','Dw5RBM93BG','y29UzMLN','x2DLDejLC3rnB2rLBezVCLrHC2S','CxvPy2STDgfZA3m'];a0_0x1988=function(){return _0x22f90d;};return a0_0x1988();}
@@ -1 +1 @@
1
- const a0_0x167936=a0_0x30d2;(function(_0x371c44,_0x1504b6){const _0x39132d=a0_0x30d2,_0x5d9456=_0x371c44();while(!![]){try{const _0x4bf983=-parseInt(_0x39132d(0x111))/0x1+-parseInt(_0x39132d(0x115))/0x2+-parseInt(_0x39132d(0x135))/0x3+-parseInt(_0x39132d(0x125))/0x4+parseInt(_0x39132d(0x11d))/0x5*(-parseInt(_0x39132d(0x117))/0x6)+-parseInt(_0x39132d(0x11c))/0x7*(-parseInt(_0x39132d(0x133))/0x8)+parseInt(_0x39132d(0x128))/0x9*(parseInt(_0x39132d(0x12a))/0xa);if(_0x4bf983===_0x1504b6)break;else _0x5d9456['push'](_0x5d9456['shift']());}catch(_0x207be0){_0x5d9456['push'](_0x5d9456['shift']());}}}(a0_0x5725,0x87488));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x30d2(_0x514a18,_0x220df7){_0x514a18=_0x514a18-0x108;const _0x5725f1=a0_0x5725();let _0x30d209=_0x5725f1[_0x514a18];if(a0_0x30d2['uDRioC']===undefined){var _0x111dce=function(_0x85ccee){const _0x40b6c8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9541e3='',_0x168ecd='';for(let _0x272b33=0x0,_0x3ccaa8,_0x5456fb,_0x3db74d=0x0;_0x5456fb=_0x85ccee['charAt'](_0x3db74d++);~_0x5456fb&&(_0x3ccaa8=_0x272b33%0x4?_0x3ccaa8*0x40+_0x5456fb:_0x5456fb,_0x272b33++%0x4)?_0x9541e3+=String['fromCharCode'](0xff&_0x3ccaa8>>(-0x2*_0x272b33&0x6)):0x0){_0x5456fb=_0x40b6c8['indexOf'](_0x5456fb);}for(let _0x37cc00=0x0,_0x1e3068=_0x9541e3['length'];_0x37cc00<_0x1e3068;_0x37cc00++){_0x168ecd+='%'+('00'+_0x9541e3['charCodeAt'](_0x37cc00)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x168ecd);};a0_0x30d2['PNJQpx']=_0x111dce,a0_0x30d2['EqjZnl']={},a0_0x30d2['uDRioC']=!![];}const _0x5c15fc=_0x5725f1[0x0],_0x26afd5=_0x514a18+_0x5c15fc,_0x3806b6=a0_0x30d2['EqjZnl'][_0x26afd5];return!_0x3806b6?(_0x30d209=a0_0x30d2['PNJQpx'](_0x30d209),a0_0x30d2['EqjZnl'][_0x26afd5]=_0x30d209):_0x30d209=_0x3806b6,_0x30d209;}export class BudgetService{constructor(_0x9541e3,_0x168ecd){const _0x17f6e5=a0_0x30d2;this[_0x17f6e5(0x168)]=_0x9541e3||{},this[_0x17f6e5(0x155)]=_0x168ecd,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x17f6e5(0x14f)]={'daily':BUDGET_LIMITS[_0x17f6e5(0x113)],'weekly':BUDGET_LIMITS['WEEKLY'],'monthly':BUDGET_LIMITS[_0x17f6e5(0x131)]},this['alerts']={'enabled':!![],'thresholds':USAGE_ALERTS[_0x17f6e5(0x149)],'lastAlertTimes':new Map()},this[_0x17f6e5(0x160)](),this['setupPeriodicSave']();}[a0_0x167936(0x122)](_0x272b33,_0x3ccaa8,_0x5456fb){const _0xd85ae1=a0_0x167936;try{const _0x3db74d=this[_0xd85ae1(0x14a)](_0x3ccaa8,_0x5456fb),_0x37cc00=new Date(),_0x1e3068=this[_0xd85ae1(0x110)](_0x37cc00),_0x170626=this[_0xd85ae1(0x163)](_0x37cc00),_0xe04a3f=this[_0xd85ae1(0x11f)](_0x37cc00);this[_0xd85ae1(0x13c)](this[_0xd85ae1(0x145)][_0xd85ae1(0x132)],_0x1e3068),this['initializeUsageEntry'](this['usage'][_0xd85ae1(0x14c)],_0x170626),this[_0xd85ae1(0x13c)](this['usage'][_0xd85ae1(0x112)],_0xe04a3f);const _0x40de57={'agentId':_0x272b33,'modelId':_0x3ccaa8,'tokens':_0x5456fb[_0xd85ae1(0x141)],'cost':_0x3db74d,'timestamp':_0x37cc00['toISOString']()};return this['updateUsageEntry'](this['usage'][_0xd85ae1(0x132)][_0xd85ae1(0x142)](_0x1e3068),_0x40de57),this['updateUsageEntry'](this['usage']['weekly'][_0xd85ae1(0x142)](_0x170626),_0x40de57),this['updateUsageEntry'](this[_0xd85ae1(0x145)]['monthly'][_0xd85ae1(0x142)](_0xe04a3f),_0x40de57),this[_0xd85ae1(0x145)]['total']['tokens']+=_0x5456fb['total_tokens'],this[_0xd85ae1(0x145)]['total']['cost']+=_0x3db74d,this['usage']['total'][_0xd85ae1(0x134)]+=0x1,this['checkBudgetLimits'](_0x1e3068,_0x170626,_0xe04a3f),this['logger']['info'](_0xd85ae1(0x158),{'agentId':_0x272b33,'modelId':_0x3ccaa8,'tokens':_0x5456fb['total_tokens'],'cost':_0x3db74d,'totalCost':this['usage']['total'][_0xd85ae1(0x118)]}),{'cost':_0x3db74d,'totalCost':this['usage']['total']['cost'],'totalTokens':this['usage'][_0xd85ae1(0x108)]['tokens'],'dailyUsage':this['usage'][_0xd85ae1(0x132)]['get'](_0x1e3068),'budgetRemaining':this['getRemainingBudget']()};}catch(_0x5a6123){this[_0xd85ae1(0x155)][_0xd85ae1(0x148)](_0xd85ae1(0x126),{'error':_0x5a6123['message'],'agentId':_0x272b33,'modelId':_0x3ccaa8});throw _0x5a6123;}}['calculateCost'](_0x253dfc,_0x2eda47){const _0x163757=a0_0x167936,_0x1f5a86=COST_PER_TOKEN[_0x253dfc];if(!_0x1f5a86)return this[_0x163757(0x155)][_0x163757(0x15b)](_0x163757(0x14d),{'modelId':_0x253dfc}),0x0;const _0x20e338=(_0x2eda47[_0x163757(0x10f)]||0x0)*_0x1f5a86['input'],_0x55d09f=(_0x2eda47['completion_tokens']||0x0)*_0x1f5a86[_0x163757(0x157)];return _0x20e338+_0x55d09f;}['getUsage'](_0x59ff7e='daily',_0x2b1162=new Date()){const _0xe632a8=a0_0x167936;switch(_0x59ff7e){case'daily':return this['usage']['daily']['get'](this[_0xe632a8(0x110)](_0x2b1162))||this['createEmptyUsage']();case'weekly':return this[_0xe632a8(0x145)]['weekly'][_0xe632a8(0x142)](this[_0xe632a8(0x163)](_0x2b1162))||this['createEmptyUsage']();case _0xe632a8(0x112):return this['usage']['monthly'][_0xe632a8(0x142)](this[_0xe632a8(0x11f)](_0x2b1162))||this[_0xe632a8(0x166)]();case'total':return{...this['usage'][_0xe632a8(0x108)]};default:throw new Error(_0xe632a8(0x123)+_0x59ff7e);}}['getAgentUsage'](_0x4eb8ca,_0x138421=a0_0x167936(0x132)){const _0xb531d=this['getUsage'](_0x138421);return _0xb531d['byAgent']?.[_0x4eb8ca]||this['createEmptyUsage']();}[a0_0x167936(0x137)](_0x5bc0d7,_0x165425='daily'){const _0x1d2a95=a0_0x167936,_0x4ba1fb=this[_0x1d2a95(0x11e)](_0x165425);return _0x4ba1fb[_0x1d2a95(0x156)]?.[_0x5bc0d7]||this[_0x1d2a95(0x166)]();}[a0_0x167936(0x120)](_0x32ea5b){const _0xe9882f=a0_0x167936;if(_0x32ea5b['daily']!==undefined)this[_0xe9882f(0x14f)][_0xe9882f(0x132)]=_0x32ea5b['daily'];if(_0x32ea5b[_0xe9882f(0x14c)]!==undefined)this['budgets'][_0xe9882f(0x14c)]=_0x32ea5b[_0xe9882f(0x14c)];if(_0x32ea5b['monthly']!==undefined)this[_0xe9882f(0x14f)]['monthly']=_0x32ea5b[_0xe9882f(0x112)];this['logger']['info']('Budget\x20limits\x20updated',this['budgets']),this[_0xe9882f(0x136)]();}['getRemainingBudget'](){const _0x331b15=a0_0x167936,_0x81f72=new Date(),_0x174f2e=this[_0x331b15(0x11e)](_0x331b15(0x132),_0x81f72),_0x6a5d27=this['getUsage']('weekly',_0x81f72),_0x1bfad6=this['getUsage'](_0x331b15(0x112),_0x81f72);return{'daily':Math[_0x331b15(0x151)](0x0,this[_0x331b15(0x14f)][_0x331b15(0x132)]-_0x174f2e[_0x331b15(0x118)]),'weekly':Math['max'](0x0,this[_0x331b15(0x14f)]['weekly']-_0x6a5d27['cost']),'monthly':Math[_0x331b15(0x151)](0x0,this[_0x331b15(0x14f)]['monthly']-_0x1bfad6[_0x331b15(0x118)])};}[a0_0x167936(0x114)](_0xfca345='daily'){const _0x15bb45=this['getUsage'](_0xfca345),_0x58d7d2=this['budgets'][_0xfca345];return _0x15bb45['cost']<=_0x58d7d2;}['getUsageTrends'](_0x36401f=0x1e){const _0x3ff1ae=a0_0x167936,_0x84684a={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x157940=new Date();let _0x537e1c=0x0,_0x9c848f=0x0,_0x59e8f1=0x0;const _0x889db5=new Map(),_0x204878=new Map();for(let _0x4663eb=0x0;_0x4663eb<_0x36401f;_0x4663eb++){const _0x5d89a0=new Date(_0x157940);_0x5d89a0['setDate'](_0x5d89a0['getDate']()-_0x4663eb);const _0x2d2eca=this[_0x3ff1ae(0x110)](_0x5d89a0),_0x1bd3c5=this[_0x3ff1ae(0x145)][_0x3ff1ae(0x132)][_0x3ff1ae(0x142)](_0x2d2eca);_0x1bd3c5?(_0x537e1c+=_0x1bd3c5['cost'],_0x9c848f+=_0x1bd3c5[_0x3ff1ae(0x130)],_0x59e8f1+=_0x1bd3c5['requests'],_0x84684a['costByDay'][_0x3ff1ae(0x140)]({'date':_0x2d2eca,'cost':_0x1bd3c5['cost']}),_0x84684a[_0x3ff1ae(0x11a)]['unshift']({'date':_0x2d2eca,'tokens':_0x1bd3c5[_0x3ff1ae(0x130)]}),Object['entries'](_0x1bd3c5['byAgent']||{})[_0x3ff1ae(0x13a)](([_0xd9946c,_0x591ede])=>{const _0x3b60be=_0x3ff1ae;!_0x889db5[_0x3b60be(0x161)](_0xd9946c)&&_0x889db5['set'](_0xd9946c,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x3d8ee2=_0x889db5['get'](_0xd9946c);_0x3d8ee2['cost']+=_0x591ede[_0x3b60be(0x118)],_0x3d8ee2[_0x3b60be(0x130)]+=_0x591ede[_0x3b60be(0x130)],_0x3d8ee2['requests']+=_0x591ede[_0x3b60be(0x134)];}),Object['entries'](_0x1bd3c5['byModel']||{})['forEach'](([_0x2c67e2,_0x32ce0d])=>{const _0xf00126=_0x3ff1ae;!_0x204878[_0xf00126(0x161)](_0x2c67e2)&&_0x204878['set'](_0x2c67e2,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x4353d8=_0x204878['get'](_0x2c67e2);_0x4353d8['cost']+=_0x32ce0d['cost'],_0x4353d8['tokens']+=_0x32ce0d[_0xf00126(0x130)],_0x4353d8['requests']+=_0x32ce0d['requests'];})):(_0x84684a['costByDay'][_0x3ff1ae(0x140)]({'date':_0x2d2eca,'cost':0x0}),_0x84684a['tokensByDay'][_0x3ff1ae(0x140)]({'date':_0x2d2eca,'tokens':0x0}));}return _0x84684a[_0x3ff1ae(0x159)]['cost']=_0x537e1c/_0x36401f,_0x84684a['dailyAverages']['tokens']=_0x9c848f/_0x36401f,_0x84684a[_0x3ff1ae(0x159)]['requests']=_0x59e8f1/_0x36401f,_0x84684a[_0x3ff1ae(0x12f)]=Array['from'](_0x889db5[_0x3ff1ae(0x10a)]())[_0x3ff1ae(0x169)](([_0x39a2b5,_0x208b36])=>({'id':_0x39a2b5,..._0x208b36}))[_0x3ff1ae(0x12d)]((_0x4ba363,_0x52c74a)=>_0x52c74a[_0x3ff1ae(0x118)]-_0x4ba363[_0x3ff1ae(0x118)])['slice'](0x0,0xa),_0x84684a[_0x3ff1ae(0x124)]=Array[_0x3ff1ae(0x15f)](_0x204878['entries']())[_0x3ff1ae(0x169)](([_0x23794c,_0x2ee03e])=>({'id':_0x23794c,..._0x2ee03e}))[_0x3ff1ae(0x12d)]((_0x38a683,_0x155f6a)=>_0x155f6a[_0x3ff1ae(0x118)]-_0x38a683['cost'])[_0x3ff1ae(0x15c)](0x0,0xa),_0x84684a;}[a0_0x167936(0x10b)](_0x96331e='json',_0x1eab0b=null,_0x48d655=null){const _0x1abda9=a0_0x167936,_0x1d6f06={'budgets':this[_0x1abda9(0x14f)],'total':this[_0x1abda9(0x145)]['total'],'daily':{},'weekly':{},'monthly':{}},_0xb17006=(_0x35f91e,_0x2667ea)=>{const _0x298c36=_0x1abda9,_0x49837e={};return _0x35f91e[_0x298c36(0x13a)]((_0x525b16,_0x3e9a0f)=>{const _0x495082=_0x2667ea(_0x3e9a0f);(!_0x1eab0b||_0x495082>=_0x1eab0b)&&(!_0x48d655||_0x495082<=_0x48d655)&&(_0x49837e[_0x3e9a0f]=_0x525b16);}),_0x49837e;};_0x1eab0b||_0x48d655?(_0x1d6f06[_0x1abda9(0x132)]=_0xb17006(this[_0x1abda9(0x145)][_0x1abda9(0x132)],_0x2f6805=>new Date(_0x2f6805)),_0x1d6f06['weekly']=_0xb17006(this['usage']['weekly'],_0x596201=>new Date(_0x596201)),_0x1d6f06['monthly']=_0xb17006(this[_0x1abda9(0x145)]['monthly'],_0x420e69=>new Date(_0x420e69+_0x1abda9(0x146)))):(this[_0x1abda9(0x145)]['daily']['forEach']((_0x229476,_0x224562)=>_0x1d6f06['daily'][_0x224562]=_0x229476),this[_0x1abda9(0x145)][_0x1abda9(0x14c)][_0x1abda9(0x13a)]((_0x59819c,_0x23929d)=>_0x1d6f06[_0x1abda9(0x14c)][_0x23929d]=_0x59819c),this['usage']['monthly'][_0x1abda9(0x13a)]((_0x33ae32,_0x5aeb70)=>_0x1d6f06[_0x1abda9(0x112)][_0x5aeb70]=_0x33ae32));if(_0x96331e===_0x1abda9(0x119))return this[_0x1abda9(0x12c)](_0x1d6f06);return JSON['stringify'](_0x1d6f06,null,0x2);}[a0_0x167936(0x13c)](_0x206e3c,_0x3fdf4d){const _0x210ec8=a0_0x167936;!_0x206e3c[_0x210ec8(0x161)](_0x3fdf4d)&&_0x206e3c['set'](_0x3fdf4d,this['createEmptyUsage']());}[a0_0x167936(0x166)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}['updateUsageEntry'](_0x35b9bd,_0x4b6c78){const _0x94ed95=a0_0x167936;_0x35b9bd['cost']+=_0x4b6c78[_0x94ed95(0x118)],_0x35b9bd['tokens']+=_0x4b6c78[_0x94ed95(0x130)],_0x35b9bd['requests']+=0x1,!_0x35b9bd[_0x94ed95(0x14b)][_0x4b6c78[_0x94ed95(0x165)]]&&(_0x35b9bd['byAgent'][_0x4b6c78['agentId']]=this['createEmptyUsage']()),_0x35b9bd['byAgent'][_0x4b6c78[_0x94ed95(0x165)]][_0x94ed95(0x118)]+=_0x4b6c78['cost'],_0x35b9bd['byAgent'][_0x4b6c78[_0x94ed95(0x165)]][_0x94ed95(0x130)]+=_0x4b6c78[_0x94ed95(0x130)],_0x35b9bd['byAgent'][_0x4b6c78[_0x94ed95(0x165)]]['requests']+=0x1,!_0x35b9bd['byModel'][_0x4b6c78[_0x94ed95(0x138)]]&&(_0x35b9bd[_0x94ed95(0x156)][_0x4b6c78[_0x94ed95(0x138)]]=this[_0x94ed95(0x166)]()),_0x35b9bd[_0x94ed95(0x156)][_0x4b6c78['modelId']]['cost']+=_0x4b6c78[_0x94ed95(0x118)],_0x35b9bd['byModel'][_0x4b6c78['modelId']]['tokens']+=_0x4b6c78['tokens'],_0x35b9bd['byModel'][_0x4b6c78['modelId']]['requests']+=0x1;}['checkBudgetLimits'](_0x32e062,_0x5a2fce,_0x5556e9){const _0x56ec34=a0_0x167936,_0x3a8e1a=this[_0x56ec34(0x145)]['daily']['get'](_0x32e062),_0x2daa24=this[_0x56ec34(0x145)][_0x56ec34(0x14c)][_0x56ec34(0x142)](_0x5a2fce),_0x6785e1=this['usage']['monthly'][_0x56ec34(0x142)](_0x5556e9);_0x3a8e1a[_0x56ec34(0x118)]>this['budgets']['daily']&&this['sendBudgetAlert'](_0x56ec34(0x132),_0x3a8e1a['cost'],this[_0x56ec34(0x14f)][_0x56ec34(0x132)]),_0x2daa24[_0x56ec34(0x118)]>this[_0x56ec34(0x14f)][_0x56ec34(0x14c)]&&this['sendBudgetAlert']('weekly',_0x2daa24[_0x56ec34(0x118)],this[_0x56ec34(0x14f)]['weekly']),_0x6785e1['cost']>this[_0x56ec34(0x14f)]['monthly']&&this[_0x56ec34(0x12e)](_0x56ec34(0x112),_0x6785e1['cost'],this['budgets'][_0x56ec34(0x112)]),this[_0x56ec34(0x13d)](_0x3a8e1a,_0x2daa24,_0x6785e1);}['checkThresholdAlerts'](_0x2eacbb,_0x52ee3b,_0x1b1416){const _0x8c0967=a0_0x167936,_0x13abaa=this['alerts'][_0x8c0967(0x150)];this[_0x8c0967(0x15e)](_0x8c0967(0x132),_0x2eacbb[_0x8c0967(0x118)],this['budgets']['daily'],_0x13abaa),this['checkThreshold'](_0x8c0967(0x14c),_0x52ee3b[_0x8c0967(0x118)],this['budgets'][_0x8c0967(0x14c)],_0x13abaa),this['checkThreshold']('monthly',_0x1b1416['cost'],this['budgets'][_0x8c0967(0x112)],_0x13abaa);}['checkThreshold'](_0x5004a3,_0x57be5,_0x40bdbe,_0x523658){const _0x36cc98=a0_0x167936,_0x48bcf7=_0x57be5/_0x40bdbe*0x64;for(const _0x37dc92 of _0x523658){if(_0x48bcf7>=_0x37dc92){const _0x380abb=_0x5004a3+'_'+_0x37dc92,_0x60d6cd=this[_0x36cc98(0x15a)][_0x36cc98(0x116)]['get'](_0x380abb),_0x188fe9=Date[_0x36cc98(0x152)]();(!_0x60d6cd||_0x188fe9-_0x60d6cd>0x36ee80)&&(this[_0x36cc98(0x121)](_0x5004a3,_0x48bcf7,_0x37dc92,_0x57be5,_0x40bdbe),this['alerts']['lastAlertTimes'][_0x36cc98(0x144)](_0x380abb,_0x188fe9));break;}}}[a0_0x167936(0x12e)](_0x2bf5b4,_0x2c7a0d,_0x4bf88a){const _0x2071d6=a0_0x167936;this['logger']['warn'](_0x2071d6(0x11b),{'period':_0x2bf5b4,'currentUsage':_0x2c7a0d,'budgetLimit':_0x4bf88a,'excess':_0x2c7a0d-_0x4bf88a}),typeof process!=='undefined'&&process[_0x2071d6(0x162)]&&process[_0x2071d6(0x162)](_0x2071d6(0x10c),{'type':'budget_exceeded','period':_0x2bf5b4,'currentUsage':_0x2c7a0d,'budgetLimit':_0x4bf88a,'excess':_0x2c7a0d-_0x4bf88a});}[a0_0x167936(0x121)](_0x4c7685,_0x19b34f,_0x115194,_0x1092ce,_0x20aba8){const _0x526d06=a0_0x167936;this[_0x526d06(0x155)]['warn']('Budget\x20threshold\x20reached',{'period':_0x4c7685,'percentage':Math['round'](_0x19b34f),'threshold':_0x115194,'usage':_0x1092ce,'budget':_0x20aba8}),typeof process!=='undefined'&&process[_0x526d06(0x162)]&&process[_0x526d06(0x162)](_0x526d06(0x10c),{'type':_0x526d06(0x13f),'period':_0x4c7685,'percentage':Math[_0x526d06(0x167)](_0x19b34f),'threshold':_0x115194,'usage':_0x1092ce,'budget':_0x20aba8});}[a0_0x167936(0x110)](_0x5205c3){const _0x410659=a0_0x167936;return _0x5205c3['toISOString']()[_0x410659(0x15d)]('T')[0x0];}['getWeekKey'](_0x446dce){const _0x5cc177=a0_0x167936,_0x33fde0=_0x446dce['getFullYear'](),_0x480403=this['getWeekNumber'](_0x446dce);return _0x33fde0+'-W'+_0x480403[_0x5cc177(0x153)]()['padStart'](0x2,'0');}[a0_0x167936(0x11f)](_0x374008){const _0x1e7878=a0_0x167936,_0x23d453=_0x374008['getFullYear'](),_0x11d734=_0x374008['getMonth']()+0x1;return _0x23d453+'-'+_0x11d734[_0x1e7878(0x153)]()[_0x1e7878(0x154)](0x2,'0');}[a0_0x167936(0x13e)](_0x5cda69){const _0x284e6f=new Date(_0x5cda69['getFullYear'](),0x0,0x1),_0x412845=(_0x5cda69-_0x284e6f)/0x5265c00;return Math['ceil']((_0x412845+_0x284e6f['getDay']()+0x1)/0x7);}[a0_0x167936(0x12c)](_0x4df4f){const _0x1b083a=a0_0x167936,_0x31d96b=[];return _0x31d96b['push']([_0x1b083a(0x16a),_0x1b083a(0x10e),_0x1b083a(0x147),'Tokens',_0x1b083a(0x12b),'Agent',_0x1b083a(0x13b)]),Object['entries'](_0x4df4f['daily'])[_0x1b083a(0x13a)](([_0x50f39c,_0x1ba0ce])=>{const _0x4d2c7a=_0x1b083a;_0x31d96b[_0x4d2c7a(0x139)]([_0x4d2c7a(0x109),_0x50f39c,_0x1ba0ce['cost'],_0x1ba0ce[_0x4d2c7a(0x130)],_0x1ba0ce[_0x4d2c7a(0x134)],'','']),Object[_0x4d2c7a(0x10a)](_0x1ba0ce[_0x4d2c7a(0x14b)]||{})[_0x4d2c7a(0x13a)](([_0xe86e12,_0x3f7bfa])=>{const _0x530c2a=_0x4d2c7a;_0x31d96b['push']([_0x530c2a(0x109),_0x50f39c,_0x3f7bfa[_0x530c2a(0x118)],_0x3f7bfa[_0x530c2a(0x130)],_0x3f7bfa[_0x530c2a(0x134)],_0xe86e12,'']);});}),_0x31d96b[_0x1b083a(0x169)](_0x173610=>_0x173610[_0x1b083a(0x164)](','))['join']('\x0a');}[a0_0x167936(0x160)](){const _0x1f7458=a0_0x167936;try{this[_0x1f7458(0x155)][_0x1f7458(0x127)](_0x1f7458(0x10d));}catch(_0x1a02bc){this[_0x1f7458(0x155)][_0x1f7458(0x148)]('Failed\x20to\x20load\x20usage\x20data',{'error':_0x1a02bc['message']});}}[a0_0x167936(0x136)](){const _0x14c917=a0_0x167936;try{this[_0x14c917(0x155)][_0x14c917(0x14e)]('Usage\x20data\x20saved');}catch(_0x4f97c8){this[_0x14c917(0x155)][_0x14c917(0x148)](_0x14c917(0x129),{'error':_0x4f97c8['message']});}}[a0_0x167936(0x143)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}function a0_0x5725(){const _0xfba01=['Bg9Nz2vY','yNLnB2rLBa','B3v0Chv0','vxnHz2uGDhjHy2TLza','zgfPBhLbDMvYywDLCW','ywXLCNrZ','D2fYBG','C2XPy2u','C3bSAxq','y2HLy2TuAhjLC2HVBgq','zNjVBq','Bg9HzfvZywDLrgf0yq','AgfZ','zw1PDa','z2v0v2vLA0TLEq','AM9PBG','ywDLBNrjza','y3jLyxrLrw1WDhLvC2fNzq','CM91BMq','y29UzMLN','BwfW','ugvYAw9K','Dg90ywW','rgfPBhK','zw50CMLLCW','zxHWB3j0vxnHz2veyxrH','yNvKz2v0qwXLCNq','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','rgf0zq','ChjVBxb0x3rVA2vUCW','z2v0rgf5s2v5','ntu4otm2A0DIC1ry','Bw9UDgHSEq','refjtfK','AxnxAxrOAw5cDwrNzxq','mtG5mJG2uePdCwLO','BgfZDefSzxj0vgLTzxm','mJqWnM91zhHeBq','y29ZDa','y3n2','Dg9Rzw5ZqNLeyxK','qNvKz2v0igXPBwL0igv4y2vLzgvK','mZvKuuHMDvG','odiZmhrcEgj2yG','z2v0vxnHz2u','z2v0tw9UDgHlzxK','C2v0qNvKz2v0CW','C2vUzfrOCMvZAg9SzefSzxj0','DhjHy2TvC2fNzq','sw52ywXPzcbWzxjPB2q6ia','Dg9Wtw9KzwXZ','mZK0mtC1mNbRwNjiEa','rMfPBgvKihrVihrYywnRihvZywDL','Aw5MBW','mZq3ntHsB29XALG','rMfPBgvKihrVihnHDMuGDxnHz2uGzgf0yq','odCXmhjuqwfhrG','uMvXDwvZDhm','y29UDMvYDfrVq1nw','C29YDa','C2vUzej1zgDLDefSzxj0','Dg9WqwDLBNrZ','Dg9Rzw5Z','tu9oveHmwq','zgfPBhK','ndaZotyWEKXTA2DJ','CMvXDwvZDhm','mJi4oti4mKnnzMT3wq','C2f2zvvZywDLrgf0yq','z2v0tw9KzwXvC2fNzq','Bw9KzwXjza','ChvZAa','zM9YrwfJAa','tw9KzwW','Aw5PDgLHBgL6zvvZywDLrw50CNK','y2HLy2TuAhjLC2HVBgrbBgvYDhm','z2v0v2vLA051BwjLCG','DgHYzxnOB2XKx3jLywnOzwq','Dw5ZAgLMDa','Dg90ywXFDg9Rzw5Z','z2v0','C2v0DxbqzxjPB2rPy1nHDMu','C2v0','DxnHz2u','ltaX','q29ZDa','zxjYB3i','veHsrvnit0XeuW','y2fSy3vSyxrLq29ZDa','yNLbz2vUDa','D2vLA2X5','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','zgvIDwC','yNvKz2v0CW','DgHYzxnOB2XKCW','Bwf4','BM93','Dg9tDhjPBMC','CgfKu3rHCNq'];a0_0x5725=function(){return _0xfba01;};return a0_0x5725();}export default BudgetService;
1
+ const a0_0xb7fd51=a0_0x17cc;function a0_0x2171(){const _0x323de0=['y29UDMvYDfrVq1nw','mtaWmZbpq2jOA0G','uMvXDwvZDhm','DhjHy2TvC2fNzq','y29ZDa','y2HLy2TuAhjLC2HVBgq','odHVy0PKDNa','Aw5PDgLHBgL6zvvZywDLrw50CNK','Bg9Nz2vY','ltaX','Bw9UDgHSEq','Dw5ZAgLMDa','refjtfK','v0vfs0Xz','Dg9Rzw5ZqNLeyxK','AgfZ','CM91BMq','C3rYAw5NAwz5','BwvZC2fNzq','Bg9HzfvZywDLrgf0yq','y29ZDej5rgf5','z2v0v2vLA0TLEq','z2v0rgf0zq','BM93','Dg9tDhjPBMC','zw1PDa','mtn1sMn4yKK','tw9KzwW','Dg90ywW','z2v0','AM9PBG','C2vUzej1zgDLDefSzxj0','z2v0rgf5s2v5','z2v0vxnHz2u','zxHWB3j0vxnHz2veyxrH','ywDLBNrjza','C2v0','ChvZAa','z2v0rgf5','y2fSy3vSyxrLq29ZDa','D2fYBG','mJC2wgfgrvvs','BgfZDefSzxj0vgLTzxm','Bw9KzwXjza','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','rMfPBgvKihrVihrYywnRihvZywDL','Dg9Rzw5Z','zNjVBq','Bwf4','ugvYAw9K','zw50CMLLCW','z2v0tw9UDgHlzxK','D2vLA2X5','zM9YrwfJAa','z2v0uMvTywLUAw5NqNvKz2v0','tu9oveHmwq','z2v0rNvSBfLLyxi','zxjYB3i','mZaZotnMvKPcCue','CgfKu3rHCNq','yNvKz2v0CW','yNLbz2vUDa','y3jLyxrLrw1WDhLvC2fNzq','Aw5MBW','mZu5ndCYshnAswDM','yNvKz2v0qwXLCNq','qNvKz2v0igXPBwL0igv4y2vLzgvK','DgHYzxnOB2XKx3jLywnOzwq','nJG0Ae5QyKfo','rgfPBhK','y2HLy2TuAhjLC2HVBgrbBgvYDhm','vxnHz2uGDhjHy2TLza','yNLnB2rLBa','CMvXDwvZDhm','mtCXoxbQt3PQDW','C29YDa','zgfPBhK','q29ZDa','mJq2D0jMzgz6','nJyWmJG2mM5WvMPbqW','ote4uuvTqKPT','DxbKyxrLvxnHz2vfBNrYEq','nZK3n3bvEuH2AW','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','B3v0Chv0','y3n2','C2v0DxbqzxjPB2rPy1nHDMu','Dg9WqwDLBNrZ','C3bSAxq','nZy5mgfnCun5wq','mZv1zhjxzgS','DxnHz2u'];a0_0x2171=function(){return _0x323de0;};return a0_0x2171();}(function(_0xf3ff29,_0x55705b){const _0x289513=a0_0x17cc,_0x1dfc45=_0xf3ff29();while(!![]){try{const _0x1c4b7f=parseInt(_0x289513(0xc1))/0x1*(-parseInt(_0x289513(0xbf))/0x2)+parseInt(_0x289513(0xc3))/0x3*(parseInt(_0x289513(0xd3))/0x4)+parseInt(_0x289513(0xca))/0x5*(parseInt(_0x289513(0xb5))/0x6)+-parseInt(_0x289513(0xcb))/0x7*(parseInt(_0x289513(0xb1))/0x8)+parseInt(_0x289513(0xbb))/0x9*(-parseInt(_0x289513(0xce))/0xa)+parseInt(_0x289513(0xab))/0xb*(-parseInt(_0x289513(0xf6))/0xc)+-parseInt(_0x289513(0xe7))/0xd*(-parseInt(_0x289513(0xc0))/0xe);if(_0x1c4b7f===_0x55705b)break;else _0x1dfc45['push'](_0x1dfc45['shift']());}catch(_0xa48127){_0x1dfc45['push'](_0x1dfc45['shift']());}}}(a0_0x2171,0x1b875));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x17cc(_0x4e93ad,_0x438ba2){_0x4e93ad=_0x4e93ad-0x9e;const _0x21711e=a0_0x2171();let _0x17cc75=_0x21711e[_0x4e93ad];if(a0_0x17cc['ZDzFtr']===undefined){var _0x4b25da=function(_0x487371){const _0x56b808='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7e60='',_0x565183='';for(let _0x2f1c83=0x0,_0x44e198,_0x3f6654,_0x3b9548=0x0;_0x3f6654=_0x487371['charAt'](_0x3b9548++);~_0x3f6654&&(_0x44e198=_0x2f1c83%0x4?_0x44e198*0x40+_0x3f6654:_0x3f6654,_0x2f1c83++%0x4)?_0x3f7e60+=String['fromCharCode'](0xff&_0x44e198>>(-0x2*_0x2f1c83&0x6)):0x0){_0x3f6654=_0x56b808['indexOf'](_0x3f6654);}for(let _0x34e635=0x0,_0xea2f11=_0x3f7e60['length'];_0x34e635<_0xea2f11;_0x34e635++){_0x565183+='%'+('00'+_0x3f7e60['charCodeAt'](_0x34e635)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x565183);};a0_0x17cc['nHqfMe']=_0x4b25da,a0_0x17cc['ZOTonD']={},a0_0x17cc['ZDzFtr']=!![];}const _0x1f0849=_0x21711e[0x0],_0xa65333=_0x4e93ad+_0x1f0849,_0x94564=a0_0x17cc['ZOTonD'][_0xa65333];return!_0x94564?(_0x17cc75=a0_0x17cc['nHqfMe'](_0x17cc75),a0_0x17cc['ZOTonD'][_0xa65333]=_0x17cc75):_0x17cc75=_0x94564,_0x17cc75;}export class BudgetService{constructor(_0x3f7e60,_0x565183){const _0x20979b=a0_0x17cc;this['config']=_0x3f7e60||{},this[_0x20979b(0xd5)]=_0x565183,this[_0x20979b(0xcc)]={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this['budgets']={'daily':BUDGET_LIMITS[_0x20979b(0xd9)],'weekly':BUDGET_LIMITS[_0x20979b(0xda)],'monthly':BUDGET_LIMITS[_0x20979b(0xa8)]},this['alerts']={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this['loadUsageData'](),this['setupPeriodicSave']();}[a0_0xb7fd51(0xd0)](_0x2f1c83,_0x44e198,_0x3f6654){const _0x1abf7d=a0_0xb7fd51;try{const _0x3b9548=this[_0x1abf7d(0xf4)](_0x44e198,_0x3f6654),_0x34e635=new Date(),_0xea2f11=this[_0x1abf7d(0xed)](_0x34e635),_0x521a85=this[_0x1abf7d(0xe2)](_0x34e635),_0x1f69e6=this['getMonthKey'](_0x34e635);this['initializeUsageEntry'](this['usage']['daily'],_0xea2f11),this[_0x1abf7d(0xd4)](this['usage']['weekly'],_0x521a85),this[_0x1abf7d(0xd4)](this[_0x1abf7d(0xcc)]['monthly'],_0x1f69e6);const _0x4c8229={'agentId':_0x2f1c83,'modelId':_0x44e198,'tokens':_0x3f6654['total_tokens'],'cost':_0x3b9548,'timestamp':_0x34e635['toISOString']()};return this['updateUsageEntry'](this[_0x1abf7d(0xcc)]['daily'][_0x1abf7d(0xea)](_0xea2f11),_0x4c8229),this['updateUsageEntry'](this['usage']['weekly']['get'](_0x521a85),_0x4c8229),this[_0x1abf7d(0xc2)](this[_0x1abf7d(0xcc)][_0x1abf7d(0xd7)]['get'](_0x1f69e6),_0x4c8229),this['usage'][_0x1abf7d(0xe9)][_0x1abf7d(0x9f)]+=_0x3f6654['total_tokens'],this[_0x1abf7d(0xcc)]['total'][_0x1abf7d(0xd1)]+=_0x3b9548,this[_0x1abf7d(0xcc)][_0x1abf7d(0xe9)]['requests']+=0x1,this['checkBudgetLimits'](_0xea2f11,_0x521a85,_0x1f69e6),this['logger']['info'](_0x1abf7d(0xb8),{'agentId':_0x2f1c83,'modelId':_0x44e198,'tokens':_0x3f6654['total_tokens'],'cost':_0x3b9548,'totalCost':this['usage'][_0x1abf7d(0xe9)]['cost']}),{'cost':_0x3b9548,'totalCost':this[_0x1abf7d(0xcc)]['total'][_0x1abf7d(0xd1)],'totalTokens':this[_0x1abf7d(0xcc)]['total']['tokens'],'dailyUsage':this[_0x1abf7d(0xcc)]['daily']['get'](_0xea2f11),'budgetRemaining':this[_0x1abf7d(0xa7)]()};}catch(_0x21e36d){this['logger'][_0x1abf7d(0xaa)](_0x1abf7d(0x9e),{'error':_0x21e36d['message'],'agentId':_0x2f1c83,'modelId':_0x44e198});throw _0x21e36d;}}['calculateCost'](_0x1c0940,_0x52f518){const _0x31b361=a0_0xb7fd51,_0x2171bc=COST_PER_TOKEN[_0x1c0940];if(!_0x2171bc)return this['logger'][_0x31b361(0xf5)]('Unknown\x20model\x20for\x20cost\x20calculation',{'modelId':_0x1c0940}),0x0;const _0x11b994=(_0x52f518['prompt_tokens']||0x0)*_0x2171bc['input'],_0x461668=(_0x52f518['completion_tokens']||0x0)*_0x2171bc[_0x31b361(0xc5)];return _0x11b994+_0x461668;}[a0_0xb7fd51(0xee)](_0x253ad7='daily',_0x33fe5f=new Date()){const _0x1c3463=a0_0xb7fd51;switch(_0x253ad7){case'daily':return this[_0x1c3463(0xcc)]['daily']['get'](this[_0x1c3463(0xed)](_0x33fe5f))||this[_0x1c3463(0xaf)]();case'weekly':return this['usage']['weekly']['get'](this[_0x1c3463(0xe2)](_0x33fe5f))||this['createEmptyUsage']();case'monthly':return this[_0x1c3463(0xcc)][_0x1c3463(0xd7)]['get'](this[_0x1c3463(0xa4)](_0x33fe5f))||this[_0x1c3463(0xaf)]();case _0x1c3463(0xe9):return{...this['usage'][_0x1c3463(0xe9)]};default:throw new Error('Invalid\x20period:\x20'+_0x253ad7);}}['getAgentUsage'](_0x331fa9,_0x4118e6='daily'){const _0x26d053=a0_0xb7fd51,_0x4b4d76=this[_0x26d053(0xee)](_0x4118e6);return _0x4b4d76[_0x26d053(0xae)]?.[_0x331fa9]||this[_0x26d053(0xaf)]();}['getModelUsage'](_0x55c7c4,_0x4e3896='daily'){const _0x50f505=this['getUsage'](_0x4e3896);return _0x50f505['byModel']?.[_0x55c7c4]||this['createEmptyUsage']();}['setBudgets'](_0x3da2a7){const _0xaf9dbb=a0_0xb7fd51;if(_0x3da2a7['daily']!==undefined)this[_0xaf9dbb(0xad)][_0xaf9dbb(0xbd)]=_0x3da2a7[_0xaf9dbb(0xbd)];if(_0x3da2a7[_0xaf9dbb(0xa5)]!==undefined)this['budgets'][_0xaf9dbb(0xa5)]=_0x3da2a7['weekly'];if(_0x3da2a7[_0xaf9dbb(0xd7)]!==undefined)this['budgets'][_0xaf9dbb(0xd7)]=_0x3da2a7['monthly'];this['logger'][_0xaf9dbb(0xb0)]('Budget\x20limits\x20updated',this[_0xaf9dbb(0xad)]),this['saveUsageData']();}[a0_0xb7fd51(0xa7)](){const _0x5eb65e=a0_0xb7fd51,_0x134eab=new Date(),_0x10e2db=this['getUsage']('daily',_0x134eab),_0xa03ae4=this['getUsage']('weekly',_0x134eab),_0x91b9e8=this['getUsage']('monthly',_0x134eab);return{'daily':Math[_0x5eb65e(0xa1)](0x0,this[_0x5eb65e(0xad)]['daily']-_0x10e2db[_0x5eb65e(0xd1)]),'weekly':Math['max'](0x0,this[_0x5eb65e(0xad)]['weekly']-_0xa03ae4['cost']),'monthly':Math[_0x5eb65e(0xa1)](0x0,this[_0x5eb65e(0xad)][_0x5eb65e(0xd7)]-_0x91b9e8['cost'])};}['isWithinBudget'](_0x37314f=a0_0xb7fd51(0xbd)){const _0x32f0b7=a0_0xb7fd51,_0x374ee3=this['getUsage'](_0x37314f),_0x7b12aa=this['budgets'][_0x37314f];return _0x374ee3[_0x32f0b7(0xd1)]<=_0x7b12aa;}['getUsageTrends'](_0x44f23e=0x1e){const _0x568de5=a0_0xb7fd51,_0x5bc312={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x1119ae=new Date();let _0xb426f=0x0,_0x115c5f=0x0,_0x1868e6=0x0;const _0x1cd0b2=new Map(),_0x594c87=new Map();for(let _0x36b1d6=0x0;_0x36b1d6<_0x44f23e;_0x36b1d6++){const _0x2f1d95=new Date(_0x1119ae);_0x2f1d95['setDate'](_0x2f1d95[_0x568de5(0xe3)]()-_0x36b1d6);const _0x196ee6=this['getDayKey'](_0x2f1d95),_0x4df06a=this['usage'][_0x568de5(0xbd)][_0x568de5(0xea)](_0x196ee6);_0x4df06a?(_0xb426f+=_0x4df06a[_0x568de5(0xd1)],_0x115c5f+=_0x4df06a[_0x568de5(0x9f)],_0x1868e6+=_0x4df06a[_0x568de5(0xba)],_0x5bc312['costByDay'][_0x568de5(0xd8)]({'date':_0x196ee6,'cost':_0x4df06a['cost']}),_0x5bc312['tokensByDay']['unshift']({'date':_0x196ee6,'tokens':_0x4df06a[_0x568de5(0x9f)]}),Object[_0x568de5(0xa3)](_0x4df06a['byAgent']||{})['forEach'](([_0x3ca1db,_0x2562d3])=>{const _0x2faae0=_0x568de5;!_0x1cd0b2[_0x2faae0(0xdc)](_0x3ca1db)&&_0x1cd0b2['set'](_0x3ca1db,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x44c94e=_0x1cd0b2['get'](_0x3ca1db);_0x44c94e['cost']+=_0x2562d3['cost'],_0x44c94e[_0x2faae0(0x9f)]+=_0x2562d3[_0x2faae0(0x9f)],_0x44c94e[_0x2faae0(0xba)]+=_0x2562d3[_0x2faae0(0xba)];}),Object['entries'](_0x4df06a['byModel']||{})[_0x568de5(0xa6)](([_0x1126d0,_0x3f9df2])=>{!_0x594c87['has'](_0x1126d0)&&_0x594c87['set'](_0x1126d0,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x5dd8f9=_0x594c87['get'](_0x1126d0);_0x5dd8f9['cost']+=_0x3f9df2['cost'],_0x5dd8f9['tokens']+=_0x3f9df2['tokens'],_0x5dd8f9['requests']+=_0x3f9df2['requests'];})):(_0x5bc312[_0x568de5(0xe1)][_0x568de5(0xd8)]({'date':_0x196ee6,'cost':0x0}),_0x5bc312[_0x568de5(0xdb)][_0x568de5(0xd8)]({'date':_0x196ee6,'tokens':0x0}));}return _0x5bc312['dailyAverages']['cost']=_0xb426f/_0x44f23e,_0x5bc312['dailyAverages']['tokens']=_0x115c5f/_0x44f23e,_0x5bc312['dailyAverages'][_0x568de5(0xba)]=_0x1868e6/_0x44f23e,_0x5bc312[_0x568de5(0xc8)]=Array['from'](_0x1cd0b2[_0x568de5(0xa3)]())['map'](([_0x5ee248,_0x1c2929])=>({'id':_0x5ee248,..._0x1c2929}))[_0x568de5(0xbc)]((_0x349840,_0x5a5cc3)=>_0x5a5cc3['cost']-_0x349840[_0x568de5(0xd1)])['slice'](0x0,0xa),_0x5bc312['topModels']=Array[_0x568de5(0xa0)](_0x594c87[_0x568de5(0xa3)]())['map'](([_0x2c7c93,_0x5d5c19])=>({'id':_0x2c7c93,..._0x5d5c19}))['sort']((_0x67f7b0,_0x2994e)=>_0x2994e[_0x568de5(0xd1)]-_0x67f7b0[_0x568de5(0xd1)])['slice'](0x0,0xa),_0x5bc312;}[a0_0xb7fd51(0xef)](_0x104a70='json',_0x28b90e=null,_0x24f5db=null){const _0x22e245=a0_0xb7fd51,_0x11c5eb={'budgets':this['budgets'],'total':this['usage']['total'],'daily':{},'weekly':{},'monthly':{}},_0x1c61b2=(_0x57580c,_0x2a49a0)=>{const _0x5523da={};return _0x57580c['forEach']((_0x42ce42,_0x2a3cf8)=>{const _0x429a14=_0x2a49a0(_0x2a3cf8);(!_0x28b90e||_0x429a14>=_0x28b90e)&&(!_0x24f5db||_0x429a14<=_0x24f5db)&&(_0x5523da[_0x2a3cf8]=_0x42ce42);}),_0x5523da;};_0x28b90e||_0x24f5db?(_0x11c5eb['daily']=_0x1c61b2(this['usage'][_0x22e245(0xbd)],_0x4c166f=>new Date(_0x4c166f)),_0x11c5eb[_0x22e245(0xa5)]=_0x1c61b2(this[_0x22e245(0xcc)][_0x22e245(0xa5)],_0x45c4d5=>new Date(_0x45c4d5)),_0x11c5eb['monthly']=_0x1c61b2(this['usage'][_0x22e245(0xd7)],_0xe2354a=>new Date(_0xe2354a+_0x22e245(0xd6)))):(this['usage'][_0x22e245(0xbd)]['forEach']((_0x267353,_0x2cccb8)=>_0x11c5eb[_0x22e245(0xbd)][_0x2cccb8]=_0x267353),this[_0x22e245(0xcc)][_0x22e245(0xa5)][_0x22e245(0xa6)]((_0x1486db,_0x4a3742)=>_0x11c5eb[_0x22e245(0xa5)][_0x4a3742]=_0x1486db),this['usage']['monthly']['forEach']((_0xf2b21b,_0x2da091)=>_0x11c5eb[_0x22e245(0xd7)][_0x2da091]=_0xf2b21b));if(_0x104a70===_0x22e245(0xc6))return this[_0x22e245(0xcd)](_0x11c5eb);return JSON[_0x22e245(0xde)](_0x11c5eb,null,0x2);}[a0_0xb7fd51(0xd4)](_0x45640c,_0x493d87){!_0x45640c['has'](_0x493d87)&&_0x45640c['set'](_0x493d87,this['createEmptyUsage']());}['createEmptyUsage'](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0xb7fd51(0xc2)](_0x313bab,_0x5dd00d){const _0x5d313b=a0_0xb7fd51;_0x313bab['cost']+=_0x5dd00d[_0x5d313b(0xd1)],_0x313bab['tokens']+=_0x5dd00d[_0x5d313b(0x9f)],_0x313bab['requests']+=0x1,!_0x313bab[_0x5d313b(0xae)][_0x5dd00d['agentId']]&&(_0x313bab[_0x5d313b(0xae)][_0x5dd00d['agentId']]=this['createEmptyUsage']()),_0x313bab['byAgent'][_0x5dd00d[_0x5d313b(0xf0)]]['cost']+=_0x5dd00d[_0x5d313b(0xd1)],_0x313bab[_0x5d313b(0xae)][_0x5dd00d['agentId']]['tokens']+=_0x5dd00d[_0x5d313b(0x9f)],_0x313bab[_0x5d313b(0xae)][_0x5dd00d['agentId']]['requests']+=0x1,!_0x313bab[_0x5d313b(0xb9)][_0x5dd00d[_0x5d313b(0xf8)]]&&(_0x313bab[_0x5d313b(0xb9)][_0x5dd00d[_0x5d313b(0xf8)]]=this['createEmptyUsage']()),_0x313bab[_0x5d313b(0xb9)][_0x5dd00d[_0x5d313b(0xf8)]][_0x5d313b(0xd1)]+=_0x5dd00d[_0x5d313b(0xd1)],_0x313bab['byModel'][_0x5dd00d['modelId']][_0x5d313b(0x9f)]+=_0x5dd00d['tokens'],_0x313bab['byModel'][_0x5dd00d[_0x5d313b(0xf8)]][_0x5d313b(0xba)]+=0x1;}['checkBudgetLimits'](_0x5e6a10,_0x361b99,_0x33425b){const _0x2066a0=a0_0xb7fd51,_0x273a35=this['usage'][_0x2066a0(0xbd)]['get'](_0x5e6a10),_0x3a409e=this[_0x2066a0(0xcc)][_0x2066a0(0xa5)]['get'](_0x361b99),_0x318b85=this['usage']['monthly'][_0x2066a0(0xea)](_0x33425b);_0x273a35[_0x2066a0(0xd1)]>this[_0x2066a0(0xad)]['daily']&&this[_0x2066a0(0xec)]('daily',_0x273a35[_0x2066a0(0xd1)],this[_0x2066a0(0xad)]['daily']),_0x3a409e['cost']>this['budgets']['weekly']&&this['sendBudgetAlert']('weekly',_0x3a409e[_0x2066a0(0xd1)],this[_0x2066a0(0xad)][_0x2066a0(0xa5)]),_0x318b85[_0x2066a0(0xd1)]>this['budgets']['monthly']&&this['sendBudgetAlert']('monthly',_0x318b85['cost'],this[_0x2066a0(0xad)]['monthly']),this['checkThresholdAlerts'](_0x273a35,_0x3a409e,_0x318b85);}[a0_0xb7fd51(0xb7)](_0x33e217,_0x7f0f34,_0x14dc31){const _0x4a320f=a0_0xb7fd51,_0x4cc2dc=this['alerts']['thresholds'];this[_0x4a320f(0xd2)]('daily',_0x33e217[_0x4a320f(0xd1)],this['budgets'][_0x4a320f(0xbd)],_0x4cc2dc),this['checkThreshold']('weekly',_0x7f0f34[_0x4a320f(0xd1)],this[_0x4a320f(0xad)][_0x4a320f(0xa5)],_0x4cc2dc),this['checkThreshold']('monthly',_0x14dc31['cost'],this['budgets'][_0x4a320f(0xd7)],_0x4cc2dc);}['checkThreshold'](_0x527efa,_0x4f08ab,_0x5a8f69,_0x5cd046){const _0x45db19=a0_0xb7fd51,_0x1c1556=_0x4f08ab/_0x5a8f69*0x64;for(const _0x44b8ae of _0x5cd046){if(_0x1c1556>=_0x44b8ae){const _0x324d59=_0x527efa+'_'+_0x44b8ae,_0x51ca53=this['alerts']['lastAlertTimes'][_0x45db19(0xea)](_0x324d59),_0x11c76d=Date[_0x45db19(0xe4)]();(!_0x51ca53||_0x11c76d-_0x51ca53>0x36ee80)&&(this['sendThresholdAlert'](_0x527efa,_0x1c1556,_0x44b8ae,_0x4f08ab,_0x5a8f69),this['alerts'][_0x45db19(0xf7)][_0x45db19(0xf1)](_0x324d59,_0x11c76d));break;}}}['sendBudgetAlert'](_0x4e677b,_0x48e9c2,_0x5eeb9e){const _0x1ce701=a0_0xb7fd51;this[_0x1ce701(0xd5)][_0x1ce701(0xf5)](_0x1ce701(0xb3),{'period':_0x4e677b,'currentUsage':_0x48e9c2,'budgetLimit':_0x5eeb9e,'excess':_0x48e9c2-_0x5eeb9e}),typeof process!=='undefined'&&process['emit']&&process['emit']('budgetAlert',{'type':'budget_exceeded','period':_0x4e677b,'currentUsage':_0x48e9c2,'budgetLimit':_0x5eeb9e,'excess':_0x48e9c2-_0x5eeb9e});}['sendThresholdAlert'](_0x41a504,_0x739ab9,_0x4be1ea,_0x2d5cbb,_0x1280ec){const _0x391f18=a0_0xb7fd51;this[_0x391f18(0xd5)]['warn'](_0x391f18(0xc4),{'period':_0x41a504,'percentage':Math['round'](_0x739ab9),'threshold':_0x4be1ea,'usage':_0x2d5cbb,'budget':_0x1280ec}),typeof process!=='undefined'&&process['emit']&&process[_0x391f18(0xe6)](_0x391f18(0xb2),{'type':_0x391f18(0xb4),'period':_0x41a504,'percentage':Math[_0x391f18(0xdd)](_0x739ab9),'threshold':_0x4be1ea,'usage':_0x2d5cbb,'budget':_0x1280ec});}[a0_0xb7fd51(0xed)](_0x2e45e7){const _0x8a0504=a0_0xb7fd51;return _0x2e45e7['toISOString']()[_0x8a0504(0xc9)]('T')[0x0];}[a0_0xb7fd51(0xe2)](_0x115935){const _0x7bc41a=a0_0xb7fd51,_0x4c07ac=_0x115935['getFullYear'](),_0x5ad7ff=this['getWeekNumber'](_0x115935);return _0x4c07ac+'-W'+_0x5ad7ff[_0x7bc41a(0xe5)]()[_0x7bc41a(0xac)](0x2,'0');}['getMonthKey'](_0x3a548f){const _0x59ccb3=a0_0xb7fd51,_0x4caf83=_0x3a548f[_0x59ccb3(0xa9)](),_0x1d0b5d=_0x3a548f['getMonth']()+0x1;return _0x4caf83+'-'+_0x1d0b5d[_0x59ccb3(0xe5)]()[_0x59ccb3(0xac)](0x2,'0');}['getWeekNumber'](_0x21d0af){const _0x53882e=a0_0xb7fd51,_0x46688f=new Date(_0x21d0af[_0x53882e(0xa9)](),0x0,0x1),_0x22520f=(_0x21d0af-_0x46688f)/0x5265c00;return Math['ceil']((_0x22520f+_0x46688f[_0x53882e(0xf3)]()+0x1)/0x7);}['convertToCSV'](_0x291436){const _0x3a1c93=a0_0xb7fd51,_0x332451=[];return _0x332451[_0x3a1c93(0xf2)]([_0x3a1c93(0xa2),'Date',_0x3a1c93(0xbe),'Tokens',_0x3a1c93(0xcf),'Agent',_0x3a1c93(0xe8)]),Object[_0x3a1c93(0xa3)](_0x291436['daily'])[_0x3a1c93(0xa6)](([_0x27dd67,_0x57bfec])=>{const _0x1a4441=_0x3a1c93;_0x332451['push']([_0x1a4441(0xb6),_0x27dd67,_0x57bfec['cost'],_0x57bfec['tokens'],_0x57bfec['requests'],'','']),Object['entries'](_0x57bfec['byAgent']||{})[_0x1a4441(0xa6)](([_0x7c0778,_0x2a3250])=>{const _0x1deb62=_0x1a4441;_0x332451['push']([_0x1deb62(0xb6),_0x27dd67,_0x2a3250['cost'],_0x2a3250['tokens'],_0x2a3250[_0x1deb62(0xba)],_0x7c0778,'']);});}),_0x332451['map'](_0x5340f8=>_0x5340f8['join'](','))[_0x3a1c93(0xeb)]('\x0a');}[a0_0xb7fd51(0xe0)](){const _0x46f2b2=a0_0xb7fd51;try{this[_0x46f2b2(0xd5)][_0x46f2b2(0xb0)](_0x46f2b2(0xf9));}catch(_0x412c00){this['logger']['error']('Failed\x20to\x20load\x20usage\x20data',{'error':_0x412c00[_0x46f2b2(0xdf)]});}}['saveUsageData'](){const _0x5ac466=a0_0xb7fd51;try{this[_0x5ac466(0xd5)]['debug']('Usage\x20data\x20saved');}catch(_0x2878d5){this[_0x5ac466(0xd5)][_0x5ac466(0xaa)]('Failed\x20to\x20save\x20usage\x20data',{'error':_0x2878d5[_0x5ac466(0xdf)]});}}[a0_0xb7fd51(0xc7)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}export default BudgetService;
@@ -1 +1 @@
1
- const a0_0xdc88c5=a0_0x3027;(function(_0x44cdad,_0x2e7e39){const _0x35f7ca=a0_0x3027,_0x43c3bb=_0x44cdad();while(!![]){try{const _0x2397f3=-parseInt(_0x35f7ca(0x1dc))/0x1*(-parseInt(_0x35f7ca(0x207))/0x2)+parseInt(_0x35f7ca(0x203))/0x3*(parseInt(_0x35f7ca(0x1db))/0x4)+-parseInt(_0x35f7ca(0x1fe))/0x5*(-parseInt(_0x35f7ca(0x1e6))/0x6)+parseInt(_0x35f7ca(0x206))/0x7+parseInt(_0x35f7ca(0x1f3))/0x8+parseInt(_0x35f7ca(0x1e1))/0x9*(-parseInt(_0x35f7ca(0x205))/0xa)+-parseInt(_0x35f7ca(0x1dd))/0xb*(parseInt(_0x35f7ca(0x1f1))/0xc);if(_0x2397f3===_0x2e7e39)break;else _0x43c3bb['push'](_0x43c3bb['shift']());}catch(_0x2bf563){_0x43c3bb['push'](_0x43c3bb['shift']());}}}(a0_0x1e13,0xc5253));function a0_0x1e13(){const _0x174ed8=['Aw5PDgLHBgL6zq','jMfTCdS','mteWndu0vg1RBNDV','jNf1B3q7','yNvPBgreEw5HBwLJq29UDgv4Da','zxjYB3i','Dg9gAxHLza','jMX0oW','cJXMAwXLlxjLzMvYzw5Jzxm+cG','iIaVpG','z2v0qwn0AxzLqxr0ywnOBwvUDhm','Bg9Nz2vY','BwvZC2fNzq','nJqYmJuYodrbD3HkCNa','ica8zMLSzsbUyw1Lpsi','otmZntmXmMHksMjjza','Dg9Rzw5fC3rPBwf0zq','Bw9Kzq','pc9MAwXLlxjLzMvYzw5Jzxm+cG','zM9YBwf0qNL0zxm','Cg93','cIaGpc9MAwXLpG','CMvWBgfJzq','zMLSDgvY','yxr0ywnOBwvUDfnLCNzPy2u','zM9YBwf0q29UDgvUDezPBgu','ndm1CwHiq1HT','iIbZAxPLpsi','CMvMzxjLBMnL','Bg9N','rxjYB3iGyNvPBgrPBMCGzhLUyw1PyYbJB250zxH0','ow9mrejWvG','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','nJaYmJGWvennBLjq','nZK4nJa1nxrfugvpqW','nteZmdKWuhrNvKL3','Dgv4Da','CgrM','z2v0qxr0ywnOBwvUDfn1Bw1HCNK','BgvUz3rO','zM9YBwf0sw1Hz2vgAwXL','zMLSzu5HBwu','mteWodu4ne9Zr2DPqq','nKHtu0HrsW','mtfyzvDZCMO','Aw1Hz2u','zM9YBwf0vgv4DezPBgu','zxnJyxbLwg1S','mtHKC3LpAw4','iIbWyxrOpsi','iIb0ExbLpsi'];a0_0x1e13=function(){return _0x174ed8;};return a0_0x1e13();}import a0_0xd9c09a from'./fileAttachmentService.js';function a0_0x3027(_0x4f30ac,_0x27f0b0){_0x4f30ac=_0x4f30ac-0x1d7;const _0x1e1329=a0_0x1e13();let _0x3027a1=_0x1e1329[_0x4f30ac];if(a0_0x3027['ZDLHzT']===undefined){var _0x123dda=function(_0x3017aa){const _0x331066='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd9c09a='',_0x35daf4='';for(let _0x3275fd=0x0,_0x19b8e1,_0xd69f49,_0x208152=0x0;_0xd69f49=_0x3017aa['charAt'](_0x208152++);~_0xd69f49&&(_0x19b8e1=_0x3275fd%0x4?_0x19b8e1*0x40+_0xd69f49:_0xd69f49,_0x3275fd++%0x4)?_0xd9c09a+=String['fromCharCode'](0xff&_0x19b8e1>>(-0x2*_0x3275fd&0x6)):0x0){_0xd69f49=_0x331066['indexOf'](_0xd69f49);}for(let _0x515527=0x0,_0x172dc3=_0xd9c09a['length'];_0x515527<_0x172dc3;_0x515527++){_0x35daf4+='%'+('00'+_0xd9c09a['charCodeAt'](_0x515527)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35daf4);};a0_0x3027['svjGIg']=_0x123dda,a0_0x3027['QDeoBE']={},a0_0x3027['ZDLHzT']=!![];}const _0x56d3a3=_0x1e1329[0x0],_0x2289d6=_0x4f30ac+_0x56d3a3,_0x2c271c=a0_0x3027['QDeoBE'][_0x2289d6];return!_0x2c271c?(_0x3027a1=a0_0x3027['svjGIg'](_0x3027a1),a0_0x3027['QDeoBE'][_0x2289d6]=_0x3027a1):_0x3027a1=_0x2c271c,_0x3027a1;}class ContextInjectionService{constructor(_0x35daf4={},_0x3275fd=null){const _0x43879c=a0_0x3027;this['config']=_0x35daf4,this['logger']=_0x3275fd,this[_0x43879c(0x1fc)]=new a0_0xd9c09a(_0x35daf4,_0x3275fd);}async['initialize'](){const _0x5a53f6=a0_0x3027;await this[_0x5a53f6(0x1fc)][_0x5a53f6(0x1e4)]();}async[a0_0xdc88c5(0x1e8)](_0x19b8e1){const _0x48d219=a0_0xdc88c5;try{const _0xd69f49=await this['attachmentService']['getActiveAttachments'](_0x19b8e1);if(_0xd69f49[_0x48d219(0x1d8)]===0x0)return'';const _0x208152=_0xd69f49[_0x48d219(0x1fb)](_0x4af04f=>_0x4af04f['mode']==='content'),_0x515527=_0xd69f49[_0x48d219(0x1fb)](_0x566fea=>_0x566fea['mode']===_0x48d219(0x200));let _0x172dc3='';if(_0x208152[_0x48d219(0x1d8)]>0x0){_0x172dc3+='\x0a<attached-files>\x0a';for(const _0xc2a188 of _0x208152){const _0x44a83e=await this[_0x48d219(0x1fc)]['getAttachmentContent'](_0xc2a188['fileId']);if(_0x44a83e){const _0x27466a=this['formatContentFile'](_0xc2a188,_0x44a83e);_0x172dc3+=_0x27466a+'\x0a';}}_0x172dc3+='</attached-files>\x0a';}if(_0x515527['length']>0x0){_0x172dc3+=_0x48d219(0x1ec);for(const _0x2bb297 of _0x515527){const _0x3f13d5=this['formatReferenceFile'](_0x2bb297);_0x172dc3+=_0x3f13d5+'\x0a';}_0x172dc3+=_0x48d219(0x1f6),_0x172dc3+=_0x48d219(0x204);}return _0x172dc3;}catch(_0x291cce){return this['logger']?.[_0x48d219(0x1e9)](_0x48d219(0x202),{'agentId':_0x19b8e1,'error':_0x291cce['message']}),'';}}[a0_0xdc88c5(0x1fd)](_0x36c69c,_0x60d65){const _0x2dc4ac=a0_0xdc88c5,{fileName:_0x185dca,fileType:_0x2fabf3,size:_0x58ea76,contentType:_0x7d87af}=_0x36c69c,_0x47eb9c=(_0x58ea76/0x400)['toFixed'](0x2);if(_0x7d87af===_0x2dc4ac(0x208))return this[_0x2dc4ac(0x1df)](_0x36c69c,_0x60d65);else{if(_0x7d87af===_0x2dc4ac(0x1de))return this[_0x2dc4ac(0x1d9)](_0x36c69c,_0x60d65);else{if(_0x7d87af===_0x2dc4ac(0x209))return this['formatPdfFile'](_0x36c69c,_0x60d65);}}return _0x2dc4ac(0x1f2)+this[_0x2dc4ac(0x1e0)](_0x185dca)+_0x2dc4ac(0x1e3)+_0x2fabf3+_0x2dc4ac(0x1ff)+_0x47eb9c+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x60d65)+'\x0a\x20\x20</file>';}[a0_0xdc88c5(0x1df)](_0x5800a3,_0x594ca8){const _0x45278b=a0_0xdc88c5,{fileName:_0x3c5fb9,fileType:_0x2135c1,size:_0xb69d53}=_0x5800a3,_0x5b45fc=(_0xb69d53/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x45278b(0x1e0)](_0x3c5fb9)+'\x22\x20type=\x22'+_0x2135c1+_0x45278b(0x1ff)+_0x5b45fc+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0x45278b(0x1e0)](_0x594ca8)+'\x0a\x20\x20</file>';}[a0_0xdc88c5(0x1d9)](_0x26f8a7,_0x59f0ec){const _0x150dfd=a0_0xdc88c5,{fileName:_0x269857,fileType:_0x19b9eb,size:_0x1af07e}=_0x26f8a7,_0x24accf=(_0x1af07e/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x269857)+_0x150dfd(0x1e3)+_0x19b9eb+_0x150dfd(0x1ff)+_0x24accf+'KB\x22\x20mode=\x22content\x22>\x0a'+_0x59f0ec+_0x150dfd(0x1f9);}['formatPdfFile'](_0xc2111b,_0x791326){const _0x168116=a0_0xdc88c5,{fileName:_0x432d71,fileType:_0x792bde,size:_0x589f69}=_0xc2111b,_0x33fe19=(_0x589f69/0x400)[_0x168116(0x1ea)](0x2);return _0x168116(0x1f2)+this['escapeXml'](_0x432d71)+'\x22\x20type=\x22'+_0x792bde+'\x22\x20size=\x22'+_0x33fe19+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x791326)+'\x0a\x20\x20</file>';}['formatReferenceFile'](_0x4a19dd){const _0x6bacc6=a0_0xdc88c5,{fileName:_0x20f5bd,originalPath:_0x2645e0,size:_0x1b3116,fileType:_0x493aab,lastModified:_0x2bba1b}=_0x4a19dd,_0x3a52fe=this[_0x6bacc6(0x1f7)](_0x1b3116),_0x329c8b=new Date(_0x2bba1b)['toISOString']()['split']('T')[0x0];return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x20f5bd)+_0x6bacc6(0x1e2)+this[_0x6bacc6(0x1e0)](_0x2645e0)+'\x22\x20size=\x22'+_0x3a52fe+_0x6bacc6(0x1e3)+_0x493aab+'\x22\x20modified=\x22'+_0x329c8b+_0x6bacc6(0x1ed);}[a0_0xdc88c5(0x1e0)](_0xb6e7a){const _0x1ad7e7=a0_0xdc88c5;if(!_0xb6e7a)return'';return _0xb6e7a[_0x1ad7e7(0x1fa)](/&/g,_0x1ad7e7(0x1e5))[_0x1ad7e7(0x1fa)](/</g,_0x1ad7e7(0x1eb))[_0x1ad7e7(0x1fa)](/>/g,'&gt;')[_0x1ad7e7(0x1fa)](/"/g,_0x1ad7e7(0x1e7))['replace'](/'/g,'&apos;');}[a0_0xdc88c5(0x1f7)](_0x37cc06){const _0x21aecd=a0_0xdc88c5;if(_0x37cc06===0x0)return'0\x20Bytes';const _0x3d5f77=0x400,_0x1e7002=['Bytes','KB','MB','GB'],_0xb3e122=Math['floor'](Math[_0x21aecd(0x201)](_0x37cc06)/Math['log'](_0x3d5f77));return parseFloat((_0x37cc06/Math[_0x21aecd(0x1f8)](_0x3d5f77,_0xb3e122))['toFixed'](0x2))+_0x1e7002[_0xb3e122];}async['estimateTotalTokens'](_0x2b42ed){const _0x3b031a=a0_0xdc88c5;try{const _0x4cf4a9=await this['attachmentService']['getActiveAttachments'](_0x2b42ed);let _0xc316cf=0x0;for(const _0xe5d6e7 of _0x4cf4a9){_0xe5d6e7['mode']==='content'?_0xc316cf+=_0xe5d6e7[_0x3b031a(0x1f4)]||0x0:_0xc316cf+=0x14;}return _0xc316cf;}catch(_0x1c3da8){return this['logger']?.['error']('Error\x20estimating\x20total\x20tokens',{'agentId':_0x2b42ed,'error':_0x1c3da8['message']}),0x0;}}async[a0_0xdc88c5(0x1d7)](_0x4623f0){const _0x8dab11=a0_0xdc88c5;try{const _0x4208f6=await this['attachmentService'][_0x8dab11(0x1ee)](_0x4623f0),_0xa1ac71={'totalActive':_0x4208f6['length'],'contentMode':_0x4208f6[_0x8dab11(0x1fb)](_0x43401c=>_0x43401c[_0x8dab11(0x1f5)]==='content')[_0x8dab11(0x1d8)],'referenceMode':_0x4208f6['filter'](_0x288f9b=>_0x288f9b[_0x8dab11(0x1f5)]==='reference')[_0x8dab11(0x1d8)],'estimatedTokens':0x0,'files':[]};for(const _0x184018 of _0x4208f6){_0xa1ac71['estimatedTokens']+=_0x184018[_0x8dab11(0x1f4)]||0x0,_0xa1ac71['files']['push']({'fileName':_0x184018[_0x8dab11(0x1da)],'mode':_0x184018[_0x8dab11(0x1f5)],'size':this[_0x8dab11(0x1f7)](_0x184018['size']),'tokens':_0x184018['tokenEstimate']||0x0});}return _0xa1ac71;}catch(_0x531129){return this[_0x8dab11(0x1ef)]?.[_0x8dab11(0x1e9)]('Error\x20getting\x20attachment\x20summary',{'agentId':_0x4623f0,'error':_0x531129[_0x8dab11(0x1f0)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;
1
+ function a0_0x3ef7(_0x3c6fbc,_0x3e9a16){_0x3c6fbc=_0x3c6fbc-0x10a;const _0x55b684=a0_0x55b6();let _0x3ef76e=_0x55b684[_0x3c6fbc];if(a0_0x3ef7['yCTzoM']===undefined){var _0x325bc1=function(_0x29dc69){const _0x9394e3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d1460='',_0x2052a3='';for(let _0x1aabf5=0x0,_0x17f797,_0x4e5798,_0x1f829b=0x0;_0x4e5798=_0x29dc69['charAt'](_0x1f829b++);~_0x4e5798&&(_0x17f797=_0x1aabf5%0x4?_0x17f797*0x40+_0x4e5798:_0x4e5798,_0x1aabf5++%0x4)?_0x3d1460+=String['fromCharCode'](0xff&_0x17f797>>(-0x2*_0x1aabf5&0x6)):0x0){_0x4e5798=_0x9394e3['indexOf'](_0x4e5798);}for(let _0x74971a=0x0,_0x51ad1c=_0x3d1460['length'];_0x74971a<_0x51ad1c;_0x74971a++){_0x2052a3+='%'+('00'+_0x3d1460['charCodeAt'](_0x74971a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2052a3);};a0_0x3ef7['sPhIDA']=_0x325bc1,a0_0x3ef7['DqTmLp']={},a0_0x3ef7['yCTzoM']=!![];}const _0x1a9e3a=_0x55b684[0x0],_0x24e703=_0x3c6fbc+_0x1a9e3a,_0x45a547=a0_0x3ef7['DqTmLp'][_0x24e703];return!_0x45a547?(_0x3ef76e=a0_0x3ef7['sPhIDA'](_0x3ef76e),a0_0x3ef7['DqTmLp'][_0x24e703]=_0x3ef76e):_0x3ef76e=_0x45a547,_0x3ef76e;}const a0_0x980bf8=a0_0x3ef7;(function(_0x426762,_0x49f886){const _0x3132d6=a0_0x3ef7,_0xe451d2=_0x426762();while(!![]){try{const _0x5434a8=-parseInt(_0x3132d6(0x11c))/0x1+parseInt(_0x3132d6(0x125))/0x2*(parseInt(_0x3132d6(0x11b))/0x3)+parseInt(_0x3132d6(0x136))/0x4+-parseInt(_0x3132d6(0x132))/0x5+-parseInt(_0x3132d6(0x119))/0x6*(-parseInt(_0x3132d6(0x118))/0x7)+parseInt(_0x3132d6(0x117))/0x8+-parseInt(_0x3132d6(0x137))/0x9;if(_0x5434a8===_0x49f886)break;else _0xe451d2['push'](_0xe451d2['shift']());}catch(_0x164612){_0xe451d2['push'](_0xe451d2['shift']());}}}(a0_0x55b6,0xef7e7));function a0_0x55b6(){const _0xa0d0c=['CMvMzxjLBMnL','mtvSuhP3CK8','mJm3mte4rwnZquPr','zxn0Aw1HDgvKvg9Rzw5Z','zxnJyxbLwg1S','jMX0oW','Dg9Rzw5fC3rPBwf0zq','Dg9gAxHLza','mcbcExrLCW','Bg9Nz2vY','z2v0qxr0ywnOBwvUDfn1Bw1HCNK','mZi1mdmWrgrfDLj5','zMLSzxm','iIb0ExbLpsi','cJXHDhrHy2HLzc1MAwXLCZ4k','ChvZAa','BwvZC2fNzq','ica8zMLSzsbUyw1Lpsi','zMLSzuLK','zMLSDgvY','z2v0qwn0AxzLqxr0ywnOBwvUDhm','zxjYB3i','Bw9Kzq','iIaVpG','mtyZmJi1meXAq2D6zG','s0iIig1Vzgu9iMnVBNrLBNqIpGO','zM9YBwf0vgv4DezPBgu','iIbWyxrOpsi','mte2oti4ngv0uwzbtW','mty2ote2mtzZqvD5DKC','CgrM','y29UDgvUDa','zM9YBwf0q29UDgvUDezPBgu','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihn1Bw1HCNK','BgvUz3rO','zM9YBwf0qNL0zxm','y29UzMLN','yxr0ywnOBwvUDfnLCNzPy2u','Aw5PDgLHBgL6zq','CMvWBgfJzq','zxn0Aw1HDgvuB3rHBfrVA2vUCW','yNvPBgreEw5HBwLJq29UDgv4Da','cIaGpc9MAwXLpG','pc9MAwXLlxjLzMvYzw5Jzxm+cG','zMLSzu5HBwu','iIbZAxPLpsi','nZi5ntu1mM91y2H5wq','mtG5r0PWvwvq','mZa3mtGYAM92vwju'];a0_0x55b6=function(){return _0xa0d0c;};return a0_0x55b6();}import a0_0x3d1460 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x2052a3={},_0x1aabf5=null){const _0x3ca5d9=a0_0x3ef7;this[_0x3ca5d9(0x10d)]=_0x2052a3,this['logger']=_0x1aabf5,this[_0x3ca5d9(0x10e)]=new a0_0x3d1460(_0x2052a3,_0x1aabf5);}async[a0_0x980bf8(0x10f)](){const _0x1f3238=a0_0x980bf8;await this[_0x1f3238(0x10e)]['initialize']();}async[a0_0x980bf8(0x112)](_0x17f797){const _0x1a80bb=a0_0x980bf8;try{const _0x4e5798=await this['attachmentService']['getActiveAttachments'](_0x17f797);if(_0x4e5798[_0x1a80bb(0x10b)]===0x0)return'';const _0x1f829b=_0x4e5798['filter'](_0x59cb8b=>_0x59cb8b[_0x1a80bb(0x130)]===_0x1a80bb(0x139)),_0x74971a=_0x4e5798[_0x1a80bb(0x12d)](_0x4caec3=>_0x4caec3[_0x1a80bb(0x130)]===_0x1a80bb(0x11a));let _0x51ad1c='';if(_0x1f829b['length']>0x0){_0x51ad1c+=_0x1a80bb(0x128);for(const _0x32d83b of _0x1f829b){const _0x3100d4=await this['attachmentService']['getAttachmentContent'](_0x32d83b[_0x1a80bb(0x12c)]);if(_0x3100d4){const _0x1d12df=this[_0x1a80bb(0x13a)](_0x32d83b,_0x3100d4);_0x51ad1c+=_0x1d12df+'\x0a';}}_0x51ad1c+='</attached-files>\x0a';}if(_0x74971a[_0x1a80bb(0x10b)]>0x0){_0x51ad1c+='\x0a<file-references>\x0a';for(const _0x307a68 of _0x74971a){const _0x3873e6=this['formatReferenceFile'](_0x307a68);_0x51ad1c+=_0x3873e6+'\x0a';}_0x51ad1c+=_0x1a80bb(0x114),_0x51ad1c+='\x0aNote:\x20Referenced\x20files\x20can\x20be\x20accessed\x20using\x20the\x20filesystem\x20tool\x20if\x20needed.\x0a';}return _0x51ad1c;}catch(_0x54d343){return this['logger']?.[_0x1a80bb(0x12f)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x17f797,'error':_0x54d343['message']}),'';}}['formatContentFile'](_0x58fd42,_0x2198e4){const _0x295b4a=a0_0x980bf8,{fileName:_0x4bbfa0,fileType:_0x2cc09f,size:_0x47c14e,contentType:_0x7df0dd}=_0x58fd42,_0x8d399c=(_0x47c14e/0x400)[_0x295b4a(0x121)](0x2);if(_0x7df0dd==='text')return this[_0x295b4a(0x134)](_0x58fd42,_0x2198e4);else{if(_0x7df0dd==='image')return this['formatImageFile'](_0x58fd42,_0x2198e4);else{if(_0x7df0dd===_0x295b4a(0x138))return this['formatPdfFile'](_0x58fd42,_0x2198e4);}}return _0x295b4a(0x12b)+this[_0x295b4a(0x11e)](_0x4bbfa0)+_0x295b4a(0x127)+_0x2cc09f+_0x295b4a(0x116)+_0x8d399c+_0x295b4a(0x133)+this[_0x295b4a(0x11e)](_0x2198e4)+'\x0a\x20\x20</file>';}[a0_0x980bf8(0x134)](_0x13692e,_0x459a1b){const _0x24d02a=a0_0x980bf8,{fileName:_0x36e8de,fileType:_0x2293c0,size:_0x5a6e67}=_0x13692e,_0xb613e=(_0x5a6e67/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x24d02a(0x11e)](_0x36e8de)+_0x24d02a(0x127)+_0x2293c0+'\x22\x20size=\x22'+_0xb613e+_0x24d02a(0x133)+this[_0x24d02a(0x11e)](_0x459a1b)+'\x0a\x20\x20</file>';}['formatImageFile'](_0x247628,_0x2b9d02){const _0x5b13eb=a0_0x980bf8,{fileName:_0x1fb69f,fileType:_0xf4e52b,size:_0x8f1a4d}=_0x247628,_0x172e78=(_0x8f1a4d/0x400)[_0x5b13eb(0x121)](0x2);return _0x5b13eb(0x12b)+this[_0x5b13eb(0x11e)](_0x1fb69f)+_0x5b13eb(0x127)+_0xf4e52b+'\x22\x20size=\x22'+_0x172e78+'KB\x22\x20mode=\x22content\x22>\x0a'+_0x2b9d02+_0x5b13eb(0x113);}['formatPdfFile'](_0x1a7d92,_0x19d6aa){const _0x5f5574=a0_0x980bf8,{fileName:_0xe920ac,fileType:_0x429d60,size:_0x30e769}=_0x1a7d92,_0x40ebb5=(_0x30e769/0x400)[_0x5f5574(0x121)](0x2);return _0x5f5574(0x12b)+this['escapeXml'](_0xe920ac)+_0x5f5574(0x127)+_0x429d60+'\x22\x20size=\x22'+_0x40ebb5+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x19d6aa)+'\x0a\x20\x20</file>';}['formatReferenceFile'](_0x57f00d){const _0x510fe6=a0_0x980bf8,{fileName:_0x590490,originalPath:_0x3dbf61,size:_0x9a864e,fileType:_0x4a8908,lastModified:_0x96da5f}=_0x57f00d,_0x30965b=this['formatBytes'](_0x9a864e),_0x1d2d44=new Date(_0x96da5f)['toISOString']()['split']('T')[0x0];return'\x20\x20<file\x20name=\x22'+this[_0x510fe6(0x11e)](_0x590490)+_0x510fe6(0x135)+this['escapeXml'](_0x3dbf61)+'\x22\x20size=\x22'+_0x30965b+_0x510fe6(0x127)+_0x4a8908+'\x22\x20modified=\x22'+_0x1d2d44+_0x510fe6(0x131);}[a0_0x980bf8(0x11e)](_0x153012){const _0x3fb983=a0_0x980bf8;if(!_0x153012)return'';return _0x153012[_0x3fb983(0x110)](/&/g,'&amp;')['replace'](/</g,_0x3fb983(0x11f))[_0x3fb983(0x110)](/>/g,'&gt;')[_0x3fb983(0x110)](/"/g,'&quot;')[_0x3fb983(0x110)](/'/g,'&apos;');}[a0_0x980bf8(0x10c)](_0x4ed2ad){const _0x33848d=a0_0x980bf8;if(_0x4ed2ad===0x0)return _0x33848d(0x122);const _0x3bdc93=0x400,_0xea107e=['Bytes','KB','MB','GB'],_0x4cbaf6=Math['floor'](Math['log'](_0x4ed2ad)/Math['log'](_0x3bdc93));return parseFloat((_0x4ed2ad/Math['pow'](_0x3bdc93,_0x4cbaf6))['toFixed'](0x2))+_0xea107e[_0x4cbaf6];}async[a0_0x980bf8(0x111)](_0xf442fd){const _0x1b4d20=a0_0x980bf8;try{const _0x129149=await this[_0x1b4d20(0x10e)]['getActiveAttachments'](_0xf442fd);let _0xde08d3=0x0;for(const _0x20de36 of _0x129149){_0x20de36[_0x1b4d20(0x130)]==='content'?_0xde08d3+=_0x20de36['tokenEstimate']||0x0:_0xde08d3+=0x14;}return _0xde08d3;}catch(_0x1dbe86){return this[_0x1b4d20(0x123)]?.[_0x1b4d20(0x12f)]('Error\x20estimating\x20total\x20tokens',{'agentId':_0xf442fd,'error':_0x1dbe86['message']}),0x0;}}async[a0_0x980bf8(0x124)](_0x2f2fda){const _0x48b299=a0_0x980bf8;try{const _0x2a4c18=await this[_0x48b299(0x10e)][_0x48b299(0x12e)](_0x2f2fda),_0x1042d5={'totalActive':_0x2a4c18['length'],'contentMode':_0x2a4c18['filter'](_0x22f8c4=>_0x22f8c4[_0x48b299(0x130)]===_0x48b299(0x139))['length'],'referenceMode':_0x2a4c18['filter'](_0x2873d3=>_0x2873d3[_0x48b299(0x130)]==='reference')[_0x48b299(0x10b)],'estimatedTokens':0x0,'files':[]};for(const _0x130187 of _0x2a4c18){_0x1042d5[_0x48b299(0x11d)]+=_0x130187['tokenEstimate']||0x0,_0x1042d5[_0x48b299(0x126)][_0x48b299(0x129)]({'fileName':_0x130187[_0x48b299(0x115)],'mode':_0x130187['mode'],'size':this['formatBytes'](_0x130187['size']),'tokens':_0x130187[_0x48b299(0x120)]||0x0});}return _0x1042d5;}catch(_0x5d95ac){return this['logger']?.['error'](_0x48b299(0x10a),{'agentId':_0x2f2fda,'error':_0x5d95ac[_0x48b299(0x12a)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;