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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +5 -3
  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/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
  121. package/web-ui/build/static/index-DL2-PyNX.js +367 -0
  122. package/web-ui/build/static/index-DFmFvOoy.css +0 -1
  123. package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
@@ -1 +1 @@
1
- function a0_0x5ada(){const _0x1f473e=['BgfZDfjLy2vPDMvK','Bw9Kzq','lcbLEhbLy3rLzca','zgv0ywLSCW','qwDLBNqGB2jQzwn0igLZig51BgWGB3iGDw5KzwzPBMvK','qvvut05ptu9vu19nt0rfx0fdveLwrq','uKvdru5ux01fu1nbr0vFveHsrvnit0Xex01t','BM93','otm4CvzYv3vA','qwDLBNqGC3rVCcbOyxmGyMvLBIbYzxf1zxn0zwq','C29Tzq','BMfTzq','q0Hbvf9nt0rfx05px01fu1nbr0vt','lcbvoG','quDftLq','Aw50zxjbz2vUDfrYywnRAw5N','u1rpuf9srvfvrvnuruq','BgvUz3rO','AgfZtwvZC2fNzxm','ihrVB2WGCMvZDwX0CYbIDxqGBM8GBMv3ig1LC3nHz2vZ','tK9FuevoreLor19xt1jl','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Aw50zxjbz2vUDe1LC3nHz2vZ','mJGXnJr4DhblsNi','su5Fufjpr1jfu1m','mJG2nJuYtu1NquvU','otiWohjAywv6BW','Dg90ywW','zNjVBq','qwDLBNqGAgfZia','DMfSDwvZ','AgfZvxnLCK1LC3nHz2vZ','Cgf1C2vKvw50AwW','vu5ltK9xtL9nt0rf','zgvSyxLfBMruAw1L','nJjKEg5ovMi','zMLSDgvY','quDftLqGBw9KzsbHz2vUDcbOyxmGBM8GCgvUzgLUzYb0yxnRCYbVCIbTzxnZywDLCW','seftx1fvrvvfrf9nrvntquDfuW','ywn0AxzL','seftx1vtrvjFtuvtu0fhrvm','DgfZA0XPC3q','mJy5munuvfPPqq','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','C3rHDhvZ','Dg9VBfjLC3vSDhm','BwvZC2fNzvf1zxvLCW','Aw5JB21PBMDnzxnZywDLCW','ntK4mtG2nM14AeXJvq','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','mZqXmuXHBfvxrW','Bw9Kzvn0yxrL','mZu5meLcChbOqq','C3rVCfjLCxvLC3rLza','quDftLrFtK9ux0zpvu5e','AxnbCNjHEq','q0Hbva','y291BNrZ','DgfZA3m','nZiYnJi0suXRrNfb','mtu1vgfADMPH','uefvu0ve'];a0_0x5ada=function(){return _0x1f473e;};return a0_0x5ada();}(function(_0x94acfe,_0x2ca42f){const _0x5b91e1=a0_0x292d,_0x329d2f=_0x94acfe();while(!![]){try{const _0x3e0ec1=parseInt(_0x5b91e1(0x1b1))/0x1+-parseInt(_0x5b91e1(0x1bb))/0x2*(parseInt(_0x5b91e1(0x1ca))/0x3)+-parseInt(_0x5b91e1(0x1d3))/0x4+parseInt(_0x5b91e1(0x1d4))/0x5*(-parseInt(_0x5b91e1(0x1ed))/0x6)+parseInt(_0x5b91e1(0x1de))/0x7*(-parseInt(_0x5b91e1(0x1b2))/0x8)+-parseInt(_0x5b91e1(0x1c2))/0x9*(parseInt(_0x5b91e1(0x1cc))/0xa)+parseInt(_0x5b91e1(0x1c8))/0xb;if(_0x3e0ec1===_0x2ca42f)break;else _0x329d2f['push'](_0x329d2f['shift']());}catch(_0x26fe26){_0x329d2f['push'](_0x329d2f['shift']());}}}(a0_0x5ada,0x32a6a));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0x59e899){const _0x2f5867=a0_0x292d;if(!_0x59e899[_0x2f5867(0x1c1)]||!_0x59e899[_0x2f5867(0x1c1)]['tasks']||!Array[_0x2f5867(0x1cf)](_0x59e899['taskList']['tasks']))return![];return _0x59e899['taskList'][_0x2f5867(0x1d2)][_0x2f5867(0x1e0)](_0x187016=>_0x187016[_0x2f5867(0x1c4)]===TASK_STATUS['PENDING']||_0x187016['status']===TASK_STATUS[_0x2f5867(0x1ee)]);}function getMessageQueueStatus(_0x19c898){const _0x46e04f=a0_0x292d,_0x4b2293=_0x19c898[_0x46e04f(0x1c6)]||{},_0x33c9ad={'toolResults':Array['isArray'](_0x4b2293['toolResults'])?_0x4b2293['toolResults']['length']:0x0,'interAgentMessages':Array['isArray'](_0x4b2293['interAgentMessages'])?_0x4b2293['interAgentMessages'][_0x46e04f(0x1e7)]:0x0,'userMessages':Array['isArray'](_0x4b2293['userMessages'])?_0x4b2293['userMessages'][_0x46e04f(0x1e7)]:0x0};return _0x33c9ad[_0x46e04f(0x1b3)]=_0x33c9ad[_0x46e04f(0x1c5)]+_0x33c9ad[_0x46e04f(0x1ec)]+_0x33c9ad['userMessages'],{'hasMessages':_0x33c9ad[_0x46e04f(0x1b3)]>0x0,'hasUserMessages':_0x33c9ad['userMessages']>0x0,'hasInterAgentMessages':_0x33c9ad['interAgentMessages']>0x0,'hasToolResults':_0x33c9ad['toolResults']>0x0,'counts':_0x33c9ad};}function hasUnprocessedIncomingMessages(_0x57c32b){const _0x30bc27=a0_0x292d;if(_0x57c32b[_0x30bc27(0x1c7)]&&Array[_0x30bc27(0x1cf)](_0x57c32b['incomingMessages'])&&_0x57c32b['incomingMessages'][_0x30bc27(0x1e7)]>0x0)return!![];if(_0x57c32b['interAgentTracking']&&_0x57c32b['interAgentTracking']instanceof Map&&_0x57c32b[_0x30bc27(0x1e5)]['size']>0x0){const _0x3d3fee=Date[_0x30bc27(0x1dd)]();for(const _0xce3beb of _0x57c32b[_0x30bc27(0x1e5)][_0x30bc27(0x1b6)]()){if(_0xce3beb[_0x30bc27(0x1d6)]&&_0x3d3fee-_0xce3beb['lastReceived']<SCHEDULER_CONFIG[_0x30bc27(0x1dc)]&&_0xce3beb['lastType']==='received')return!![];}}return![];}function isAgentDelayed(_0xe879c9){const _0x327182=a0_0x292d;if(!_0xe879c9[_0x327182(0x1ba)])return![];return new Date()<new Date(_0xe879c9[_0x327182(0x1ba)]);}function isAgentPaused(_0x5029d0){const _0x3cea54=a0_0x292d;if(_0x5029d0[_0x3cea54(0x1c4)]===AGENT_STATUS[_0x3cea54(0x1d5)]){if(_0x5029d0[_0x3cea54(0x1b8)])return new Date()<new Date(_0x5029d0[_0x3cea54(0x1b8)]);return!![];}if(_0x5029d0[_0x3cea54(0x1b8)]&&new Date()<new Date(_0x5029d0[_0x3cea54(0x1b8)]))return!![];return![];}function hasAutonomousWorkComplete(_0x2eac0c){return _0x2eac0c['autonomousWorkComplete']===!![];}export function shouldAgentBeActive(_0x18bca2){const _0x4acd7a=a0_0x292d;if(!_0x18bca2)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1ce)],'details':_0x4acd7a(0x1da)};if(_0x18bca2[_0x4acd7a(0x1c4)]!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_INACTIVE_STATUS'],'details':'Agent\x20status\x20is\x20'+_0x18bca2['status']+_0x4acd7a(0x1d8)+AGENT_STATUS['ACTIVE']};if(isAgentDelayed(_0x18bca2))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':'Agent\x20delayed\x20until\x20'+_0x18bca2['delayEndTime']};if(isAgentPaused(_0x18bca2))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_PAUSED'],'details':_0x18bca2['pausedUntil']?'Agent\x20paused\x20until\x20'+_0x18bca2['pausedUntil']:'Agent\x20paused\x20indefinitely'};if(_0x18bca2['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1e6)],'details':_0x4acd7a(0x1df)};if(_0x18bca2[_0x4acd7a(0x1cb)]===AGENT_MODE_STATES['EXECUTING'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1db)],'details':'Agent\x20is\x20currently\x20executing\x20(modeState=EXECUTING)'};const _0x466afd=getMessageQueueStatus(_0x18bca2);if(_0x18bca2[_0x4acd7a(0x1d7)]===AGENT_MODES[_0x4acd7a(0x1e4)]){const _0x347142=hasPendingTasks(_0x18bca2),unprocessedMessages=hasUnprocessedIncomingMessages(_0x18bca2);if(_0x347142)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x466afd[_0x4acd7a(0x1e8)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1be)],'details':_0x4acd7a(0x1b5)+_0x466afd['counts'][_0x4acd7a(0x1b3)]+'\x20queued\x20messages\x20(T:'+_0x466afd[_0x4acd7a(0x1d1)]['toolResults']+',\x20I:'+_0x466afd['counts'][_0x4acd7a(0x1ec)]+_0x4acd7a(0x1e3)+_0x466afd['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1db)],'details':_0x4acd7a(0x1c9)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1ea)],'details':_0x4acd7a(0x1bd)};}if(_0x18bca2[_0x4acd7a(0x1d7)]===AGENT_MODES[_0x4acd7a(0x1d0)]){if(_0x466afd[_0x4acd7a(0x1b7)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1c0)],'details':_0x4acd7a(0x1b5)+_0x466afd['counts']['userMessages']+_0x4acd7a(0x1c3)};if(_0x466afd['hasInterAgentMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1eb)],'details':_0x4acd7a(0x1b5)+_0x466afd[_0x4acd7a(0x1d1)][_0x4acd7a(0x1ec)]+'\x20inter-agent\x20message(s)\x20to\x20process'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1e2)],'details':_0x466afd['hasToolResults']?'CHAT\x20mode\x20-\x20has\x20'+_0x466afd['counts'][_0x4acd7a(0x1c5)]+_0x4acd7a(0x1e9):'CHAT\x20mode\x20-\x20no\x20messages\x20to\x20process'};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1b9)],'details':'Unknown\x20agent\x20mode:\x20'+_0x18bca2[_0x4acd7a(0x1d7)]};}export function getActiveAgents(_0x19872){const _0x474939=a0_0x292d,_0x2def3c=_0x19872 instanceof Map?Array['from'](_0x19872['values']()):_0x19872;return _0x2def3c['map'](_0x4846c3=>{const _0x5c2ed7=shouldAgentBeActive(_0x4846c3);return{'agent':_0x4846c3,'agentId':_0x4846c3['id'],'sessionId':_0x4846c3['sessionId'],..._0x5c2ed7};})[_0x474939(0x1bc)](_0x2fa394=>_0x2fa394['active']);}function a0_0x292d(_0x201a95,_0x1c3fa3){_0x201a95=_0x201a95-0x1b1;const _0x5adaba=a0_0x5ada();let _0x292db7=_0x5adaba[_0x201a95];if(a0_0x292d['kzIQmn']===undefined){var _0x422996=function(_0x45ff3e){const _0x11d1a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59e899='',_0x187016='';for(let _0x19c898=0x0,_0x4b2293,_0x33c9ad,_0x57c32b=0x0;_0x33c9ad=_0x45ff3e['charAt'](_0x57c32b++);~_0x33c9ad&&(_0x4b2293=_0x19c898%0x4?_0x4b2293*0x40+_0x33c9ad:_0x33c9ad,_0x19c898++%0x4)?_0x59e899+=String['fromCharCode'](0xff&_0x4b2293>>(-0x2*_0x19c898&0x6)):0x0){_0x33c9ad=_0x11d1a7['indexOf'](_0x33c9ad);}for(let _0x3d3fee=0x0,_0xce3beb=_0x59e899['length'];_0x3d3fee<_0xce3beb;_0x3d3fee++){_0x187016+='%'+('00'+_0x59e899['charCodeAt'](_0x3d3fee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x187016);};a0_0x292d['bCPQYW']=_0x422996,a0_0x292d['cmLXNF']={},a0_0x292d['kzIQmn']=!![];}const _0x10485d=_0x5adaba[0x0],_0x2f9ad7=_0x201a95+_0x10485d,_0xcf53f4=a0_0x292d['cmLXNF'][_0x2f9ad7];return!_0xcf53f4?(_0x292db7=a0_0x292d['bCPQYW'](_0x292db7),a0_0x292d['cmLXNF'][_0x2f9ad7]=_0x292db7):_0x292db7=_0xcf53f4,_0x292db7;}export function getAllAgentActivityStatus(_0x287884){const _0xeb0c02=a0_0x292d,_0x171d93=_0x287884 instanceof Map?Array[_0xeb0c02(0x1b4)](_0x287884[_0xeb0c02(0x1b6)]()):_0x287884;return _0x171d93['map'](_0x14498c=>{const _0x10ce96=_0xeb0c02,_0x2048a5=shouldAgentBeActive(_0x14498c),_0x4d81cd=getMessageQueueStatus(_0x14498c);return{'agentId':_0x14498c['id'],'agentName':_0x14498c[_0x10ce96(0x1e1)],'mode':_0x14498c[_0x10ce96(0x1d7)],'status':_0x14498c['status'],'active':_0x2048a5[_0x10ce96(0x1bf)],'reason':_0x2048a5['reason'],'details':_0x2048a5[_0x10ce96(0x1d9)],'queueCounts':_0x4d81cd['counts'],'hasPendingTasks':hasPendingTasks(_0x14498c),'isDelayed':isAgentDelayed(_0x14498c),'isPaused':isAgentPaused(_0x14498c),'stopRequested':_0x14498c[_0x10ce96(0x1cd)]||![],'delayEndTime':_0x14498c[_0x10ce96(0x1ba)]||null,'pausedUntil':_0x14498c['pausedUntil']||null};});}export function shouldSkipIteration(_0x5630f7){const _0xbb50dd=a0_0x292d;if(!_0x5630f7)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x5630f7))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x5630f7['delayEndTime']};if(_0x5630f7[_0xbb50dd(0x1b8)]&&new Date()<new Date(_0x5630f7['pausedUntil']))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x5630f7[_0xbb50dd(0x1b8)]};return{'skip':![],'reason':null};}export{hasPendingTasks,getMessageQueueStatus,hasUnprocessedIncomingMessages,isAgentDelayed,isAgentPaused,hasAutonomousWorkComplete};export default{'shouldAgentBeActive':shouldAgentBeActive,'getActiveAgents':getActiveAgents,'getAllAgentActivityStatus':getAllAgentActivityStatus,'shouldSkipIteration':shouldSkipIteration,'hasPendingTasks':hasPendingTasks,'getMessageQueueStatus':getMessageQueueStatus,'hasUnprocessedIncomingMessages':hasUnprocessedIncomingMessages,'isAgentDelayed':isAgentDelayed,'isAgentPaused':isAgentPaused,'hasAutonomousWorkComplete':hasAutonomousWorkComplete};
1
+ function a0_0x17fd(){const _0x584765=['DgfZA0XPC3q','Aw5JB21PBMDnzxnZywDLCW','BwvZC2fNzvf1zxvLCW','BgfZDfjLy2vPDMvK','Dg9VBfjLC3vSDhm','qvvut05ptu9vu19nt0rfx0fdveLwrq','mJG5mJa1nKHPzw1jBa','CMvJzwL2zwq','Cgf1C2vKvw50AwW','ywn0AxzL','qwDLBNqGzgvSyxLLzcb1BNrPBca','C3rHDhvZ','yxv0B25VBw91C1DVCMTdB21WBgv0zq','CMvHC29U','seftx1bftKrjtKDFvefts1m','BgvUz3rO','rvHfq1vusu5h','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','seftx1vtrvjFtuvtu0fhrvm','DMfSDwvZ','mJiZnJq5tLrjvKf3','qwDLBNqGC3rHDhvZigLZia','mJKYnwn3vMPHCW','mJC1nZi0mhDeueXHAG','y291BNrZ','qwDLBNqGC3rVCcbOyxmGyMvLBIbYzxf1zxn0zwq','AgfZvg9VBfjLC3vSDhm','zMLSDgvY','mZnlDgLfrMK','BMfTzq','zgvSyxLfBMruAw1L','Aw50zxjbz2vUDfrYywnRAw5N','qunusvzf','mtuXnLjrAMLyzq','lcbjoG','quDftLrFrevmqvLfra','DxnLCK1LC3nHz2vZ','mtaWmJG5tLLivwXp','Aw50zxjbz2vUDe1LC3nHz2vZ','quDftLrFuefvu0ve','igLUDgvYlwfNzw50ig1LC3nHz2uOCYKGDg8GChjVy2vZCW','mJrvwujetha','u1rpuf9srvfvrvnuruq','qwDLBNqGCgf1C2vKihvUDgLSia','quDftLqGBw9KzsbHz2vUDcbOyxmGBM8GCgvUzgLUzYb0yxnRCYbVCIbTzxnZywDLCW','lcbLEhbLy3rLzca','ndu4odyXmg9XBfPXDG','Dg90ywW','AxnbCNjHEq','qwDLBNqGB2jQzwn0igLZig51BgWGB3iGDw5KzwzPBMvK','Bw9Kzq','seftx1fvrvvfrf9nrvntquDfuW','uKvdru5ux01fu1nbr0vFveHsrvnit0Xex01t','qwDLBNqGAgfZia','C2L6zq','qwDLBNqGAxmGy3vYCMvUDgX5igv4zwn1DgLUzYaOBw9Kzvn0yxrLpuvyrunvveLorYK','odK4mdzdwhbOqwi'];a0_0x17fd=function(){return _0x584765;};return a0_0x17fd();}(function(_0x40d334,_0x4fa276){const _0x530ce3=a0_0x9e3c,_0x5cf73b=_0x40d334();while(!![]){try{const _0x4c27a8=parseInt(_0x530ce3(0x107))/0x1+-parseInt(_0x530ce3(0xf2))/0x2*(parseInt(_0x530ce3(0x10f))/0x3)+-parseInt(_0x530ce3(0x114))/0x4*(-parseInt(_0x530ce3(0x109))/0x5)+-parseInt(_0x530ce3(0x11c))/0x6*(parseInt(_0x530ce3(0x118))/0x7)+-parseInt(_0x530ce3(0xf9))/0x8+parseInt(_0x530ce3(0x10a))/0x9+parseInt(_0x530ce3(0x121))/0xa;if(_0x4c27a8===_0x4fa276)break;else _0x5cf73b['push'](_0x5cf73b['shift']());}catch(_0x11a2b6){_0x5cf73b['push'](_0x5cf73b['shift']());}}}(a0_0x17fd,0x48b6d));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0x14b535){const _0x10fc53=a0_0x9e3c;if(!_0x14b535[_0x10fc53(0xf3)]||!_0x14b535['taskList']['tasks']||!Array['isArray'](_0x14b535['taskList']['tasks']))return![];return _0x14b535[_0x10fc53(0xf3)]['tasks']['some'](_0x293002=>_0x293002[_0x10fc53(0xfe)]===TASK_STATUS['PENDING']||_0x293002['status']===TASK_STATUS['IN_PROGRESS']);}function getMessageQueueStatus(_0x19a42b){const _0x450d00=a0_0x9e3c,_0x24bdec=_0x19a42b[_0x450d00(0xf5)]||{},_0x30e565={'toolResults':Array['isArray'](_0x24bdec[_0x450d00(0xf7)])?_0x24bdec['toolResults'][_0x450d00(0x102)]:0x0,'interAgentMessages':Array['isArray'](_0x24bdec['interAgentMessages'])?_0x24bdec['interAgentMessages']['length']:0x0,'userMessages':Array[_0x450d00(0xea)](_0x24bdec[_0x450d00(0x117)])?_0x24bdec['userMessages'][_0x450d00(0x102)]:0x0};return _0x30e565[_0x450d00(0x122)]=_0x30e565['toolResults']+_0x30e565['interAgentMessages']+_0x30e565[_0x450d00(0x117)],{'hasMessages':_0x30e565[_0x450d00(0x122)]>0x0,'hasUserMessages':_0x30e565['userMessages']>0x0,'hasInterAgentMessages':_0x30e565[_0x450d00(0x119)]>0x0,'hasToolResults':_0x30e565['toolResults']>0x0,'counts':_0x30e565};}function hasUnprocessedIncomingMessages(_0x5a4bd4){const _0x49db9b=a0_0x9e3c;if(_0x5a4bd4['incomingMessages']&&Array[_0x49db9b(0xea)](_0x5a4bd4[_0x49db9b(0xf4)])&&_0x5a4bd4[_0x49db9b(0xf4)]['length']>0x0)return!![];if(_0x5a4bd4[_0x49db9b(0x112)]&&_0x5a4bd4[_0x49db9b(0x112)]instanceof Map&&_0x5a4bd4[_0x49db9b(0x112)][_0x49db9b(0xf0)]>0x0){const _0x15f1d2=Date['now']();for(const _0x19f6f3 of _0x5a4bd4[_0x49db9b(0x112)]['values']()){if(_0x19f6f3['lastReceived']&&_0x15f1d2-_0x19f6f3[_0x49db9b(0xf6)]<SCHEDULER_CONFIG[_0x49db9b(0xee)]&&_0x19f6f3['lastType']===_0x49db9b(0xfa))return!![];}}return![];}function a0_0x9e3c(_0x20397b,_0x568443){_0x20397b=_0x20397b-0xea;const _0x17fd32=a0_0x17fd();let _0x9e3c1a=_0x17fd32[_0x20397b];if(a0_0x9e3c['cZJlps']===undefined){var _0x477527=function(_0x2d0d0a){const _0x13a821='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14b535='',_0x293002='';for(let _0x19a42b=0x0,_0x24bdec,_0x30e565,_0x5a4bd4=0x0;_0x30e565=_0x2d0d0a['charAt'](_0x5a4bd4++);~_0x30e565&&(_0x24bdec=_0x19a42b%0x4?_0x24bdec*0x40+_0x30e565:_0x30e565,_0x19a42b++%0x4)?_0x14b535+=String['fromCharCode'](0xff&_0x24bdec>>(-0x2*_0x19a42b&0x6)):0x0){_0x30e565=_0x13a821['indexOf'](_0x30e565);}for(let _0x15f1d2=0x0,_0x19f6f3=_0x14b535['length'];_0x15f1d2<_0x19f6f3;_0x15f1d2++){_0x293002+='%'+('00'+_0x14b535['charCodeAt'](_0x15f1d2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x293002);};a0_0x9e3c['iBjZDu']=_0x477527,a0_0x9e3c['mTchRY']={},a0_0x9e3c['cZJlps']=!![];}const _0xa7d4fb=_0x17fd32[0x0],_0x2f02d2=_0x20397b+_0xa7d4fb,_0xdf538e=a0_0x9e3c['mTchRY'][_0x2f02d2];return!_0xdf538e?(_0x9e3c1a=a0_0x9e3c['iBjZDu'](_0x9e3c1a),a0_0x9e3c['mTchRY'][_0x2f02d2]=_0x9e3c1a):_0x9e3c1a=_0xdf538e,_0x9e3c1a;}function isAgentDelayed(_0x40cf12){const _0x1405b4=a0_0x9e3c;if(!_0x40cf12['delayEndTime'])return![];return new Date()<new Date(_0x40cf12[_0x1405b4(0x111)]);}function isAgentPaused(_0x474fe0){const _0x56be6f=a0_0x9e3c;if(_0x474fe0['status']===AGENT_STATUS['PAUSED']){if(_0x474fe0[_0x56be6f(0xfb)])return new Date()<new Date(_0x474fe0[_0x56be6f(0xfb)]);return!![];}if(_0x474fe0['pausedUntil']&&new Date()<new Date(_0x474fe0[_0x56be6f(0xfb)]))return!![];return![];}function hasAutonomousWorkComplete(_0xd73f90){const _0x38ead0=a0_0x9e3c;return _0xd73f90[_0x38ead0(0xff)]===!![];}export function shouldAgentBeActive(_0x42f357){const _0x56bdeb=a0_0x9e3c;if(!_0x42f357)return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_NOT_FOUND'],'details':_0x56bdeb(0xeb)};if(_0x42f357['status']!==AGENT_STATUS[_0x56bdeb(0x113)])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_INACTIVE_STATUS'],'details':_0x56bdeb(0x108)+_0x42f357[_0x56bdeb(0xfe)]+_0x56bdeb(0x120)+AGENT_STATUS[_0x56bdeb(0x113)]};if(isAgentDelayed(_0x42f357))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0x116)],'details':_0x56bdeb(0xfd)+_0x42f357[_0x56bdeb(0x111)]};if(isAgentPaused(_0x42f357))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0x11a)],'details':_0x42f357['pausedUntil']?_0x56bdeb(0x11e)+_0x42f357['pausedUntil']:'Agent\x20paused\x20indefinitely'};if(_0x42f357['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0x11d)],'details':_0x56bdeb(0x10c)};if(_0x42f357['modeState']===AGENT_MODE_STATES[_0x56bdeb(0x103)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0xf8)],'details':_0x56bdeb(0xf1)};const _0x267ffa=getMessageQueueStatus(_0x42f357);if(_0x42f357[_0x56bdeb(0xec)]===AGENT_MODES['AGENT']){const _0x52fde8=hasPendingTasks(_0x42f357),unprocessedMessages=hasUnprocessedIncomingMessages(_0x42f357);if(_0x52fde8)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0x101)],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x267ffa['hasMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0xed)],'details':'Agent\x20has\x20'+_0x267ffa['counts']['total']+'\x20queued\x20messages\x20(T:'+_0x267ffa[_0x56bdeb(0x10b)][_0x56bdeb(0xf7)]+_0x56bdeb(0x115)+_0x267ffa[_0x56bdeb(0x10b)][_0x56bdeb(0x119)]+',\x20U:'+_0x267ffa['counts'][_0x56bdeb(0x117)]+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['AUTONOMOUS_MODE_ACTIVE'],'details':'Agent\x20has\x20unprocessed\x20incoming\x20messages'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['NO_PENDING_WORK'],'details':_0x56bdeb(0x11f)};}if(_0x42f357[_0x56bdeb(0xec)]===AGENT_MODES['CHAT']){if(_0x267ffa['hasUserMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x56bdeb(0x105)],'details':_0x56bdeb(0xef)+_0x267ffa['counts'][_0x56bdeb(0x117)]+_0x56bdeb(0x104)};if(_0x267ffa['hasInterAgentMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_INTER_AGENT_MESSAGES'],'details':_0x56bdeb(0xef)+_0x267ffa['counts']['interAgentMessages']+_0x56bdeb(0x11b)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['CHAT_MODE_NO_MESSAGES'],'details':_0x267ffa[_0x56bdeb(0x10d)]?'CHAT\x20mode\x20-\x20has\x20'+_0x267ffa['counts']['toolResults']+'\x20tool\x20results\x20but\x20no\x20new\x20messages':'CHAT\x20mode\x20-\x20no\x20messages\x20to\x20process'};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS['UNKNOWN_MODE'],'details':'Unknown\x20agent\x20mode:\x20'+_0x42f357[_0x56bdeb(0xec)]};}export function getActiveAgents(_0x16e6f2){const _0x2ef11a=a0_0x9e3c,_0x3d7d1c=_0x16e6f2 instanceof Map?Array['from'](_0x16e6f2[_0x2ef11a(0x106)]()):_0x16e6f2;return _0x3d7d1c['map'](_0x4adf5d=>{const _0x3ab16b=shouldAgentBeActive(_0x4adf5d);return{'agent':_0x4adf5d,'agentId':_0x4adf5d['id'],'sessionId':_0x4adf5d['sessionId'],..._0x3ab16b};})[_0x2ef11a(0x10e)](_0x53ec90=>_0x53ec90['active']);}export function getAllAgentActivityStatus(_0xf29f18){const _0x413796=a0_0x9e3c,_0x492a7d=_0xf29f18 instanceof Map?Array['from'](_0xf29f18[_0x413796(0x106)]()):_0xf29f18;return _0x492a7d['map'](_0xa433f7=>{const _0x229edd=_0x413796,_0xc89723=shouldAgentBeActive(_0xa433f7),_0x58e095=getMessageQueueStatus(_0xa433f7);return{'agentId':_0xa433f7['id'],'agentName':_0xa433f7[_0x229edd(0x110)],'mode':_0xa433f7[_0x229edd(0xec)],'status':_0xa433f7['status'],'active':_0xc89723[_0x229edd(0xfc)],'reason':_0xc89723[_0x229edd(0x100)],'details':_0xc89723['details'],'queueCounts':_0x58e095['counts'],'hasPendingTasks':hasPendingTasks(_0xa433f7),'isDelayed':isAgentDelayed(_0xa433f7),'isPaused':isAgentPaused(_0xa433f7),'stopRequested':_0xa433f7['stopRequested']||![],'delayEndTime':_0xa433f7[_0x229edd(0x111)]||null,'pausedUntil':_0xa433f7[_0x229edd(0xfb)]||null};});}export function shouldSkipIteration(_0x5deba5){const _0x493b81=a0_0x9e3c;if(!_0x5deba5)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x5deba5))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x5deba5['delayEndTime']};if(_0x5deba5['pausedUntil']&&new Date()<new Date(_0x5deba5[_0x493b81(0xfb)]))return{'skip':!![],'reason':_0x493b81(0x11e)+_0x5deba5[_0x493b81(0xfb)]};return{'skip':![],'reason':null};}export{hasPendingTasks,getMessageQueueStatus,hasUnprocessedIncomingMessages,isAgentDelayed,isAgentPaused,hasAutonomousWorkComplete};export default{'shouldAgentBeActive':shouldAgentBeActive,'getActiveAgents':getActiveAgents,'getAllAgentActivityStatus':getAllAgentActivityStatus,'shouldSkipIteration':shouldSkipIteration,'hasPendingTasks':hasPendingTasks,'getMessageQueueStatus':getMessageQueueStatus,'hasUnprocessedIncomingMessages':hasUnprocessedIncomingMessages,'isAgentDelayed':isAgentDelayed,'isAgentPaused':isAgentPaused,'hasAutonomousWorkComplete':hasAutonomousWorkComplete};
@@ -1 +1 @@
1
- function a0_0x45af(){const _0x2cb709=['revfufnfruS','ueHj','x3jLy29YzezHAwX1CMu','y3vZDg9TqxbPs2v5CW','C2v0qwDLBNrqB29S','CMfUzg9T','yMfJA2vUza','Bw9KzwXtCgvJCW','CMv0CNLbDhrLBxb0CW','AgvHBhrOEq','DhjHy2TvC2fNzq','B3bLBMfP','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','AgvHBhrOlwnOzwnR','y2HLy2Ttzxj2AwnLsgvHBhrO','zgf0yq','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','x2zVCM1HDfnPBMDSzu1LC3nHz2u','odfpExneANq','C3r5Bgu','CMv2AxnLzf9WCM9TChq','x3n1Bw1HCML6zu1LC3nHz2vZ','x2vZDgLTyxrLvg9Rzw5Z','l2nOyxqVy29TCgXLDgLVBNm','C2vUze1LC3nHz2u','DgLTzw91Da','DhjPBq','y29TCgXLEgL0Eq','ueHjxZq','mtG3ndu5mLjzsufKsa','CgXHDgzVCM1qCM92AwrLza','z2v0qwDLBNq','qwDLBNqGCg9VBcbZzxqGzM9YiefjihnLCNzPy2u','BwvZC2fNzq','odm2nZu1CvHltMTb','C3rYAw5N','ywXS','tK9ux0zpvu5e','C2vZC2LVBKLK','CM9Szq','DxnHz2u','yMfZzvvYBa','mZu0nJzqz3reBxK','qu5usfjpueLdx1nptK5fva','mtyWnZC0mefVBvrizW','t1bftKfj','Bwf4x3rVA2vUCW','CxvHBgL0Eq','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','mtq2A3fmqu52','uMf0zsbSAw1PDcbLEgnLzwrLza','x21HA2vbueLszxf1zxn0','u0vsvKLdrv9vtKfwquLmqujmrq','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','C3DPDgnOqwDLBNrnB2rLBa','mtqWndiWme12vNPcBG','AxnbCNjHEq','x2DLDfzLBMrVCKzYB21nB2rLBa','x2LZvMfSAwrnB2rLBa','vw5RBM93BIbTB2rLBdOG','x2zVCM1HDezVCKfUDgHYB3bPyW','C3rHy2S','CMvXDwvZDff1zxvL','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','C3rHBMrHCMq','Ahr0Chm6lY9HCgKUBg94AweUywK','zMLUAxnOx3jLyxnVBG','lcb1C2LUzYbMywXSyMfJAW','nZKXAfLjre13','y2HVAwnLCW','yw50AhjVCgLJ','mtCXote5mM91vxzPva','AxnpCgvU','C3DPDgnOtw9KzwW','zxjYB3i','sw52ywXPzcbTB2rLBdOG','ChjLzMvYCMvKtw9KzwW','y3jLyxrLza','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','x2zVCM1HDezVCKf6DxjL','x2nOzwnRuMf0zuXPBwL0','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','lI4UifTJB252zxjZyxrPB24GC3vTBwfYEsb0CNvUy2f0zwrD','x2HHBMrSzvjHDgvmAw1PDa','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','l2HLywX0Aa','B3b0Aw9UCW','qKfex0DbvevxqvK','zxn0Aw1HDgvKvg9Rzw5Z','CMvZCg9UC2vgB3jTyxq','Bw9KzwW','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','y2LYy3vPDejYzwfRzxi','y3vYCMvUDe1VzgvS','Cg93','tw9KzwWGDMfSAwrHDgLVBIbMywLSzwq','C3vIC3rYAw5N','ChvZAa','y29UDMvYC2f0Aw9UtwfUywDLCNm','CgHP','yxbPs2v5twfUywDLCG','AgfUzgXLshr0CevYCM9Y','x2zVCM1HDezVCK9Wzw5bsq','BgvUz3rO','C3rYAw5NAwz5','zxjYB3jiyw5KBgvY','mtG3m1rqr0nttW','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','DMvUzg9YqxbPs2v5','BwvZC2fNzxm','ywDLBNrqB29S','Dg9ju09tDhjPBMC','qvPvuKu','C2L6zq','BgfZDezHAwX1CMvuAw1L','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','y29UDgvUDa','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','D2fYBG','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','zMX1Ec0XlJeTChjV','Dg90ywXFDg9Rzw5Z','C3rHDhvZ','AM9PBG','y2XHC3nPzNLfCNjVCG','zMfZDa','DxnLCG','ywDLBNrjza','BM93','C3rVCa','yxbPs2v5','y29UzMLN','Bg9Nz2vY','sfruuca','C3LZDgvTuhjVBxb0','rKfmtejbq0S','vu5bvvrit1jjwKve','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','qKfex1jfuvvfu1q','ANnVBG','CMvXDwvZDeLK','Aw5MBW','C3vTBwfYEq','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','su5urvjoquXFu0vsvKvsx0vsuK9s','r0furvDbwv9usu1ft1vu','ChjVBxb0','BwfW','x3jLC2v0q2LYy3vPDejYzwfRzxi','z2v0s2v5C0zVCLjLCxvLC3q','uMv0CNLPBMCGAw4G','qu5usfjpueLd','CMv2zxjZzq','C3LZDgvT','u3LZDgvToIa','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','yxbWBgLJyxrPB24VANnVBG','qu5usfjpueLdx09qvvm','quKGC2vYDMLJzsbLCNjVCJOG','DgvTCgvYyxr1CMu','ChjVBxb0x3rVA2vUCW','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','tw9KzwWGC3DPDgnOigzHAwXLzdOG','ve9px01btLLFuKvrvuvtvfm','u2vYDMLJzsb1BMf2ywLSywjSzsWGD2fPDgLUzYa','zMfPBhvYzxm','Aw5JBhvKzxm'];a0_0x45af=function(){return _0x2cb709;};return a0_0x45af();}const a0_0x565f52=a0_0x5116;function a0_0x5116(_0x4874b0,_0x359ffd){_0x4874b0=_0x4874b0-0x17b;const _0x45af44=a0_0x45af();let _0x5116eb=_0x45af44[_0x4874b0];if(a0_0x5116['ZAEWIJ']===undefined){var _0x5b6e89=function(_0x2cb94e){const _0x4fefca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54d4e5='',_0x23afdf='';for(let _0x532f8b=0x0,_0x545ee0,_0xd0bf06,_0x1b06c2=0x0;_0xd0bf06=_0x2cb94e['charAt'](_0x1b06c2++);~_0xd0bf06&&(_0x545ee0=_0x532f8b%0x4?_0x545ee0*0x40+_0xd0bf06:_0xd0bf06,_0x532f8b++%0x4)?_0x54d4e5+=String['fromCharCode'](0xff&_0x545ee0>>(-0x2*_0x532f8b&0x6)):0x0){_0xd0bf06=_0x4fefca['indexOf'](_0xd0bf06);}for(let _0x3795db=0x0,_0x4dceaa=_0x54d4e5['length'];_0x3795db<_0x4dceaa;_0x3795db++){_0x23afdf+='%'+('00'+_0x54d4e5['charCodeAt'](_0x3795db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23afdf);};a0_0x5116['NCGwbH']=_0x5b6e89,a0_0x5116['vUaktN']={},a0_0x5116['ZAEWIJ']=!![];}const _0xc758c1=_0x45af44[0x0],_0x5bc8dc=_0x4874b0+_0xc758c1,_0x536979=a0_0x5116['vUaktN'][_0x5bc8dc];return!_0x536979?(_0x5116eb=a0_0x5116['NCGwbH'](_0x5116eb),a0_0x5116['vUaktN'][_0x5bc8dc]=_0x5116eb):_0x5116eb=_0x536979,_0x5116eb;}(function(_0x351846,_0x4ec170){const _0x3e1fe3=a0_0x5116,_0x2ef494=_0x351846();while(!![]){try{const _0x19d7e0=-parseInt(_0x3e1fe3(0x1b3))/0x1*(parseInt(_0x3e1fe3(0x221))/0x2)+-parseInt(_0x3e1fe3(0x18e))/0x3+parseInt(_0x3e1fe3(0x17e))/0x4+-parseInt(_0x3e1fe3(0x212))/0x5+parseInt(_0x3e1fe3(0x21a))/0x6*(-parseInt(_0x3e1fe3(0x18b))/0x7)+parseInt(_0x3e1fe3(0x20d))/0x8+parseInt(_0x3e1fe3(0x202))/0x9*(parseInt(_0x3e1fe3(0x21c))/0xa);if(_0x19d7e0===_0x4ec170)break;else _0x2ef494['push'](_0x2ef494['shift']());}catch(_0x4b2892){_0x2ef494['push'](_0x2ef494['shift']());}}}(a0_0x45af,0x76f55));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x54d4e5,_0x23afdf,_0x532f8b,_0x545ee0){const _0x2f5690=a0_0x5116;this[_0x2f5690(0x1cc)]=_0x54d4e5,this[_0x2f5690(0x1cd)]=_0x23afdf,this['budgetService']=_0x532f8b,this[_0x2f5690(0x1b2)]=_0x545ee0,this[_0x2f5690(0x219)]=_0x54d4e5[_0x2f5690(0x1f6)]?.['baseUrl']||_0x2f5690(0x188),this[_0x2f5690(0x209)]=_0x54d4e5[_0x2f5690(0x1f6)]?.[_0x2f5690(0x209)]||0xea60,this['retryAttempts']=_0x54d4e5[_0x2f5690(0x1f6)]?.['retryAttempts']||0x3,this['rateLimiters']=new Map(),this[_0x2f5690(0x185)]=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x2f5690(0x1f7)]=this[_0x2f5690(0x1fc)](),this[_0x2f5690(0x1ab)]=new Map(),this['apiKeyManager']=null,this['agentPool']=null;}async[a0_0x565f52(0x208)](_0xd0bf06,_0x1b06c2,_0x3795db={}){const _0x26e420=a0_0x565f52,_0x4dceaa='req-'+Date[_0x26e420(0x1c9)]()+'-'+Math[_0x26e420(0x1f5)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this[_0x26e420(0x198)](_0xd0bf06);const _0x16751f=this[_0x26e420(0x195)](_0x1b06c2,_0xd0bf06,_0x3795db),_0xb19ff6={'model':_0xd0bf06,'messages':_0x16751f,'options':{'max_tokens':this['modelSpecs'][_0xd0bf06]?.['maxTokens']||0xfa0,'temperature':_0x3795db[_0x26e420(0x1e8)]||0.7,'stream':_0x3795db['stream']||![]},'metadata':{'requestId':_0x4dceaa,'agentId':_0x3795db['agentId'],'timestamp':new Date()[_0x26e420(0x1b8)]()}};_0x3795db['systemPrompt']&&(_0xb19ff6[_0x26e420(0x1e2)]=_0x3795db[_0x26e420(0x1cf)]);this['logger']['info'](_0x26e420(0x1e4)+_0xd0bf06,{'requestId':_0x4dceaa,'agentId':_0x3795db[_0x26e420(0x1c8)],'messageCount':Array[_0x26e420(0x17f)](_0x1b06c2)?_0x1b06c2[_0x26e420(0x1b0)]:0x1,'maxTokens':_0xb19ff6[_0x26e420(0x21e)]});const _0x38a7c8=await this[_0x26e420(0x223)](_0x26e420(0x207),_0xb19ff6,_0x4dceaa,{..._0x3795db,'sessionId':_0x3795db[_0x26e420(0x216)],'platformProvided':_0x3795db['platformProvided']||![]});return _0x38a7c8[_0x26e420(0x218)]&&await this[_0x26e420(0x1fa)](_0x3795db['agentId'],_0xd0bf06,{'prompt_tokens':_0x38a7c8[_0x26e420(0x218)][_0x26e420(0x1e9)]||0x0,'completion_tokens':_0x38a7c8['usage']['completion_tokens']||0x0,'total_tokens':_0x38a7c8[_0x26e420(0x218)][_0x26e420(0x1c2)]||0x0}),this[_0x26e420(0x1dd)](),{'content':_0x38a7c8[_0x26e420(0x18c)][0x0]?.['message']?.[_0x26e420(0x1bd)]||'','model':_0x38a7c8['model'],'tokenUsage':_0x38a7c8[_0x26e420(0x218)],'requestId':_0x4dceaa,'finishReason':_0x38a7c8[_0x26e420(0x18c)][0x0]?.[_0x26e420(0x189)]};}catch(_0x574571){this['_recordFailure'](),this[_0x26e420(0x1cd)][_0x26e420(0x191)]('AI\x20service\x20request\x20failed:\x20'+_0x574571['message'],{'requestId':_0x4dceaa,'model':_0xd0bf06,'agentId':_0x3795db[_0x26e420(0x1c8)],'error':_0x574571[_0x26e420(0x184)]}),await this[_0x26e420(0x1ae)](_0x574571,{'requestId':_0x4dceaa,'model':_0xd0bf06,'agentId':_0x3795db['agentId']});throw _0x574571;}}async['routeModel'](_0x16022b,_0x1bd025={}){const _0x442abe=a0_0x565f52;try{const _0x487756=MODEL_ROUTING[_0x16022b['toUpperCase']()]||MODEL_ROUTING['FALLBACK'],_0x22f5a2=[];for(const _0x5147b1 of _0x487756){const _0x46e912=await this['_checkModelHealth'](_0x5147b1);_0x46e912&&_0x22f5a2[_0x442abe(0x1aa)](_0x5147b1);}if(_0x22f5a2[_0x442abe(0x1b0)]===0x0)return this['logger'][_0x442abe(0x1bf)](_0x442abe(0x19d)+_0x16022b+_0x442abe(0x18a)),MODEL_ROUTING[_0x442abe(0x1d0)][0x0];let _0x1af81b=_0x22f5a2[0x0];if(_0x1bd025[_0x442abe(0x193)]&&_0x22f5a2[_0x442abe(0x1ef)](_0x1bd025[_0x442abe(0x193)]))_0x1af81b=_0x1bd025[_0x442abe(0x193)];else{if(_0x1bd025[_0x442abe(0x20b)]==='high'&&_0x22f5a2['includes'](MODELS['ANTHROPIC_OPUS']))_0x1af81b=MODELS[_0x442abe(0x1e6)];else _0x1bd025['speed']===_0x442abe(0x1c6)&&_0x22f5a2[_0x442abe(0x1ef)](MODELS['ANTHROPIC_HAIKU'])&&(_0x1af81b=MODELS['ANTHROPIC_HAIKU']);}return this['logger']['info']('Model\x20routed\x20for\x20task:\x20'+_0x16022b,{'selectedModel':_0x1af81b,'availableModels':_0x22f5a2[_0x442abe(0x1b0)],'context':_0x1bd025}),_0x1af81b;}catch(_0x588948){return this['logger'][_0x442abe(0x191)](_0x442abe(0x1d2)+_0x588948[_0x442abe(0x211)],{'task':_0x16022b,'context':_0x1bd025}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x3b7884,_0x224ee4){const _0x5bf5a8=a0_0x565f52,_0x598e5d=this[_0x5bf5a8(0x1f7)][_0x224ee4];if(!_0x598e5d)throw new Error(_0x5bf5a8(0x182)+_0x224ee4);const _0x2a350d=_0x598e5d['contextWindow']*0.8;let _0x463c8b=0x0;const _0x3a83ca=[],_0x4182aa=await Promise[_0x5bf5a8(0x214)](_0x3b7884['map'](async _0x57d8f6=>({..._0x57d8f6,'estimatedTokens':await this[_0x5bf5a8(0x206)](_0x57d8f6['content'],_0x224ee4)}))),_0x37bf87=[..._0x4182aa][_0x5bf5a8(0x1e1)]();for(const _0xda973e of _0x37bf87){if(_0x463c8b+_0xda973e[_0x5bf5a8(0x1a1)]>_0x2a350d){if(_0x3a83ca['length']===0x0){const _0x4c4c3e=await this['_truncateMessage'](_0xda973e[_0x5bf5a8(0x1bd)],_0x2a350d);_0x3a83ca['unshift']({..._0xda973e,'content':_0x4c4c3e,'estimatedTokens':_0x2a350d});}break;}_0x3a83ca['unshift'](_0xda973e),_0x463c8b+=_0xda973e[_0x5bf5a8(0x1a1)];}const _0x8a908d=_0x4182aa['slice'](0x0,-_0x3a83ca['length']);if(_0x8a908d[_0x5bf5a8(0x1b0)]>0x0){const _0x49d157=await this['_summarizeMessages'](_0x8a908d,_0x224ee4);_0x3a83ca['unshift']({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x49d157,'timestamp':_0x8a908d[0x0]['timestamp'],'type':_0x5bf5a8(0x1d7),'estimatedTokens':await this[_0x5bf5a8(0x206)](_0x49d157,_0x224ee4)});}return this[_0x5bf5a8(0x1cd)]['info']('Conversation\x20compactized\x20for\x20model:\x20'+_0x224ee4,{'originalMessages':_0x3b7884[_0x5bf5a8(0x1b0)],'compactizedMessages':_0x3a83ca['length'],'estimatedTokens':_0x463c8b,'maxTokens':_0x2a350d}),_0x3a83ca;}async['trackUsage'](_0x578afa,_0x558a85,_0x5a1891,_0x2a5504){try{this['budgetService']&&this['budgetService']['trackUsage'](_0x578afa,_0x558a85,_0x5a1891);}catch(_0x1949b2){this['logger']['error']('Usage\x20tracking\x20failed:\x20'+_0x1949b2['message']);}}async['handleHttpError'](_0xaae89d,_0xb558bb){const _0xa283cc=a0_0x565f52,_0x22defa=this['errorHandler']?.[_0xa283cc(0x1c5)]?.(_0xaae89d,_0xb558bb);switch(_0xaae89d[_0xa283cc(0x1c3)]||_0xaae89d['code']){case HTTP_STATUS[_0xa283cc(0x1d3)]:this[_0xa283cc(0x1cd)][_0xa283cc(0x191)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0xb558bb,'error':_0xaae89d['message']});throw new Error('Invalid\x20request:\x20'+_0xaae89d['message']);case HTTP_STATUS[_0xa283cc(0x1d1)]:this['logger'][_0xa283cc(0x191)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0xb558bb});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error'](_0xa283cc(0x1b4),{'context':_0xb558bb});throw new Error(_0xa283cc(0x199));case HTTP_STATUS[_0xa283cc(0x215)]:this[_0xa283cc(0x1cd)][_0xa283cc(0x191)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0xb558bb});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS[_0xa283cc(0x1ec)]:this['logger']['warn'](_0xa283cc(0x222),{'context':_0xb558bb}),await this['_handleRateLimit'](_0xb558bb);throw new Error('Rate\x20limit\x20exceeded\x20-\x20request\x20queued\x20for\x20retry');case HTTP_STATUS[_0xa283cc(0x1d9)]:case HTTP_STATUS[_0xa283cc(0x1a0)]:case HTTP_STATUS[_0xa283cc(0x17b)]:case HTTP_STATUS[_0xa283cc(0x1da)]:this[_0xa283cc(0x1cd)]['error']('AI\x20service\x20unavailable',{'context':_0xb558bb,'status':_0xaae89d['status']}),await this[_0xa283cc(0x1d8)](_0xb558bb);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0xa283cc(0x1cd)]['error']('Unknown\x20AI\x20service\x20error',{'context':_0xb558bb,'error':_0xaae89d[_0xa283cc(0x211)]});throw new Error(_0xa283cc(0x1e7)+_0xaae89d['message']);}}['setApiKeyManager'](_0x4e8ba0){const _0x10bd28=a0_0x565f52;this['apiKeyManager']=_0x4e8ba0,this[_0x10bd28(0x1cd)]?.[_0x10bd28(0x1d6)]('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x4e8ba0});}[a0_0x565f52(0x1f4)](_0x54153c){const _0x44e905=a0_0x565f52;this['agentPool']=_0x54153c,this['logger']?.['info'](_0x44e905(0x210),{'hasAgentPool':!!_0x54153c});}async['generateImage'](_0x48a376,_0x3b0f39={}){const _0x473fc8=a0_0x565f52,_0x31b072='img-'+Date[_0x473fc8(0x1c9)]()+'-'+Math[_0x473fc8(0x1f5)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error(_0x473fc8(0x1c0));if(!_0x48a376||typeof _0x48a376!=='string'||_0x48a376[_0x473fc8(0x20a)]()[_0x473fc8(0x1b0)]===0x0)throw new Error(_0x473fc8(0x1bc));const _0x4abcea=_0x3b0f39['model']||_0x473fc8(0x1c1),_0x4d1748=_0x3b0f39[_0x473fc8(0x1ba)]||'1024x1024',_0x18b01b=_0x3b0f39['quality']||_0x473fc8(0x187),_0x39f1c5=_0x3b0f39[_0x473fc8(0x1a2)]||'url';this['logger']['info'](_0x473fc8(0x200)+_0x4abcea,{'requestId':_0x31b072,'model':_0x4abcea,'size':_0x4d1748,'quality':_0x18b01b,'promptLength':_0x48a376[_0x473fc8(0x1b0)]});const _0x55086e={'prompt':_0x48a376,'model':_0x4abcea,'size':_0x4d1748,'quality':_0x18b01b,'response_format':_0x39f1c5,'n':0x1,'metadata':{'requestId':_0x31b072,'timestamp':new Date()[_0x473fc8(0x1b8)]()}},_0x1148c4=await this['_makeImageAPIRequest'](_0x55086e,_0x31b072,{'sessionId':_0x3b0f39['sessionId'],'platformProvided':_0x3b0f39['platformProvided']||![]});return this['_resetCircuitBreaker'](),{'url':_0x1148c4['data']?.[0x0]?.['url']||null,'b64_json':_0x1148c4['data']?.[0x0]?.['b64_json']||null,'model':_0x1148c4['model']||_0x4abcea,'requestId':_0x31b072,'revisedPrompt':_0x1148c4[_0x473fc8(0x1ff)]?.[0x0]?.[_0x473fc8(0x204)]||_0x48a376};}catch(_0x44d00b){this[_0x473fc8(0x1f2)](),this['logger']['error']('Image\x20generation\x20failed:\x20'+_0x44d00b[_0x473fc8(0x211)],{'requestId':_0x31b072,'model':_0x3b0f39[_0x473fc8(0x1a3)],'error':_0x44d00b['stack']});throw _0x44d00b;}}async[a0_0x565f52(0x1fe)](){const _0x1415d9=a0_0x565f52;try{const _0x211bb3=await this['_makeAPIRequest'](_0x1415d9(0x19e),{},_0x1415d9(0x1fd));return _0x211bb3['status']===_0x1415d9(0x1f9);}catch(_0x27de1e){return![];}}async[a0_0x565f52(0x17d)](_0x2cb988,_0xf4b3bd){const _0x584095=a0_0x565f52;try{if(!this['_isValidModel'](_0xf4b3bd))throw new Error(_0x584095(0x192)+_0xf4b3bd);let _0x3c638c=this['conversationManagers']['get'](_0x2cb988);!_0x3c638c&&(_0x3c638c=new ConversationManager(_0x2cb988,this['logger']),this['conversationManagers']['set'](_0x2cb988,_0x3c638c));const _0x3f197=await _0x3c638c[_0x584095(0x190)](_0xf4b3bd),_0x4f522f=await this[_0x584095(0x1b7)]?.[_0x584095(0x20f)](_0x2cb988);return _0x4f522f&&(_0x4f522f[_0x584095(0x1a6)]=_0xf4b3bd,await this['agentPool']['persistAgentState'](_0x2cb988)),this[_0x584095(0x1cd)]['info'](_0x584095(0x196)+_0x2cb988,{'newModel':_0xf4b3bd,'messageCount':_0x3f197['messages'][_0x584095(0x1b0)]}),{'success':!![],'agentId':_0x2cb988,'newModel':_0xf4b3bd,'conversation':_0x3f197};}catch(_0x3a2b7b){this['logger'][_0x584095(0x191)](_0x584095(0x1eb)+_0x3a2b7b[_0x584095(0x211)],{'agentId':_0x2cb988,'newModel':_0xf4b3bd});throw _0x3a2b7b;}}['_initializeModelSpecs'](){const _0x3530b=a0_0x565f52,_0x331415={[MODELS[_0x3530b(0x21b)]]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1e0)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x3530b(0x1e6)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1e0)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x21d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x21d)],'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['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS['DEEPSEEK_R1']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1f0)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x3530b(0x20c)]]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1f1)],'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':_0x3530b(0x1b9),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x3530b(0x1b9),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x331415;}[a0_0x565f52(0x195)](_0x5b1dbf,_0x52d7aa,_0x4c7b87){const _0x2b6251=a0_0x565f52,_0x59f946=this[_0x2b6251(0x1f7)][_0x52d7aa]||{'provider':'AZURE'};let _0x5c326e;typeof _0x5b1dbf===_0x2b6251(0x213)?_0x5c326e=[{'role':'user','content':_0x5b1dbf}]:_0x5c326e=_0x5b1dbf['map'](_0x6a3776=>this['_formatSingleMessage'](_0x6a3776,_0x52d7aa));switch(_0x59f946['provider']){case MODEL_PROVIDERS[_0x2b6251(0x1e0)]:return this['_formatForAnthropic'](_0x5c326e);case MODEL_PROVIDERS[_0x2b6251(0x21d)]:return this[_0x2b6251(0x1af)](_0x5c326e);case MODEL_PROVIDERS['AZURE']:return this[_0x2b6251(0x197)](_0x5c326e);default:return _0x5c326e;}}[a0_0x565f52(0x201)](_0x3c5d2d,_0x20ec14){const _0x345242=a0_0x565f52;return{'role':_0x3c5d2d['role']||'user','content':_0x3c5d2d[_0x345242(0x1bd)],'timestamp':_0x3c5d2d['timestamp']};}[a0_0x565f52(0x183)](_0x358712){return _0x358712['map'](_0x3dc94c=>{const _0x225358=a0_0x5116;if(_0x3dc94c[_0x225358(0x217)]===_0x225358(0x1e2))return{'role':_0x225358(0x1c7),'content':_0x225358(0x1e3)+_0x3dc94c['content']};return _0x3dc94c;});}[a0_0x565f52(0x1af)](_0x12e32d){return _0x12e32d;}[a0_0x565f52(0x197)](_0x49c97a){const _0x41c8d0=a0_0x565f52;return _0x49c97a[_0x41c8d0(0x1dc)](_0x3f0625=>({..._0x3f0625,'content':typeof _0x3f0625['content']===_0x41c8d0(0x213)?_0x3f0625['content']:JSON[_0x41c8d0(0x1b1)](_0x3f0625['content'])}));}[a0_0x565f52(0x181)](_0xf6f631){const _0x57c03b=a0_0x565f52;this[_0x57c03b(0x1cd)]['debug']('Validating\x20model',{'model':_0xf6f631,'modelType':typeof _0xf6f631});if(this['modelSpecs'][_0xf6f631]!==undefined)return!![];return this['logger'][_0x57c03b(0x1bf)](_0x57c03b(0x1a8),{'model':_0xf6f631,'availableModels':Object['keys'](this['modelSpecs'])}),![];}async['_checkModelHealth'](_0x5ac569){return!![];}async[a0_0x565f52(0x206)](_0x59b6b3,_0x3cf8ca){return Math['ceil'](_0x59b6b3['length']/0x4);}async['_truncateMessage'](_0x573741,_0x17866d){const _0x322ff3=a0_0x565f52,_0x3b2288=_0x17866d*0x4;if(_0x573741[_0x322ff3(0x1b0)]<=_0x3b2288)return _0x573741;return _0x573741[_0x322ff3(0x1a9)](0x0,_0x3b2288-0x14)+_0x322ff3(0x19a);}async[a0_0x565f52(0x205)](_0x126b68,_0x1d9e3b){const _0x33aa58=a0_0x565f52,_0xdbeb7=_0x126b68['map'](_0x1ad73b=>_0x1ad73b[_0x33aa58(0x217)]+':\x20'+_0x1ad73b[_0x33aa58(0x1bd)])[_0x33aa58(0x1c4)]('\x0a'),_0x43715a=0x1f4;if(_0xdbeb7[_0x33aa58(0x1b0)]<=_0x43715a)return _0xdbeb7;return _0xdbeb7['substring'](0x0,_0x43715a)+_0x33aa58(0x19b);}async['_makeAPIRequest'](_0x5b6769,_0x48d944,_0x278d83,_0x594e9c={}){const _0x44330e=a0_0x565f52,_0x3a8ed7=_0x44330e(0x186);let _0x279a28,_0xe1f7c2=null,_0x2570c7=null;this[_0x44330e(0x1cd)]?.['info'](_0x44330e(0x17c),{'hasApiKeyManager':!!this[_0x44330e(0x1ad)],'sessionId':_0x594e9c['sessionId'],'hasSessionId':!!_0x594e9c['sessionId'],'optionsKeys':Object['keys'](_0x594e9c),'model':_0x48d944['model']});if(this[_0x44330e(0x1ad)]&&_0x594e9c[_0x44330e(0x216)]){const _0x109d03=this['apiKeyManager']['getKeysForRequest'](_0x594e9c['sessionId'],{'platformProvided':_0x594e9c['platformProvided']||![],'vendor':this[_0x44330e(0x180)](_0x48d944['model'])});_0xe1f7c2=_0x109d03['loxiaApiKey'],_0x2570c7=_0x109d03[_0x44330e(0x1b5)],this[_0x44330e(0x1cd)]?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x594e9c['sessionId'],'hasLoxiaKey':!!_0xe1f7c2,'hasVendorKey':!!_0x2570c7,'vendor':this[_0x44330e(0x180)](_0x48d944['model'])});}!_0xe1f7c2&&_0x594e9c['apiKey']&&(_0xe1f7c2=_0x594e9c['apiKey']);!_0xe1f7c2&&this[_0x44330e(0x1cc)][_0x44330e(0x1cb)]&&(_0xe1f7c2=this[_0x44330e(0x1cc)]['apiKey']);if(!_0xe1f7c2)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x3caee5=_0x48d944[_0x44330e(0x1a3)],_0x340814={'conversationId':_0x278d83,'message':_0x48d944['messages'][_0x48d944['messages']['length']-0x1]?.[_0x44330e(0x1bd)]||'','messages':_0x48d944[_0x44330e(0x1b6)],'model':_0x3caee5,'requestId':_0x278d83,'options':_0x48d944[_0x44330e(0x19f)]||{},'platformProvided':_0x594e9c[_0x44330e(0x20e)]||![]};_0x48d944['system']&&(_0x340814[_0x44330e(0x1cf)]=_0x48d944[_0x44330e(0x1e2)]);_0x594e9c[_0x44330e(0x20e)]?_0x340814['apiKey']=_0xe1f7c2:(_0x2570c7&&(_0x340814['vendorApiKey']=_0x2570c7),_0x594e9c[_0x44330e(0x1f3)]&&(_0x340814['customApiKeys']=_0x594e9c[_0x44330e(0x1f3)]),_0x340814['apiKey']=_0xe1f7c2);for(let _0x60a234=0x1;_0x60a234<=this[_0x44330e(0x1f8)];_0x60a234++){try{this['logger']['info']('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x3a8ed7,'model':_0x48d944[_0x44330e(0x1a3)],'requestId':_0x278d83,'attempt':_0x60a234,'hasApiKey':!!_0xe1f7c2});const _0x4142a2=await fetch(_0x3a8ed7,{'method':'POST','headers':{'Content-Type':_0x44330e(0x1e5),'Authorization':'Bearer\x20'+_0xe1f7c2,'X-Request-ID':_0x278d83},'body':JSON[_0x44330e(0x1b1)](_0x340814),'timeout':this['timeout']});if(!_0x4142a2['ok']){const _0x40f18c=await _0x4142a2['text'](),_0x4063b7=new Error('HTTP\x20'+_0x4142a2[_0x44330e(0x1c3)]+':\x20'+_0x4142a2['statusText']+(_0x40f18c?'\x20-\x20'+_0x40f18c:''));_0x4063b7[_0x44330e(0x1c3)]=_0x4142a2[_0x44330e(0x1c3)];throw _0x4063b7;}const _0x222b6b=await _0x4142a2[_0x44330e(0x1d4)]();return{'choices':[{'message':{'content':_0x222b6b[_0x44330e(0x1bd)]||'','role':'assistant'},'finish_reason':_0x222b6b['finishReason']||'stop'}],'usage':_0x222b6b[_0x44330e(0x218)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x222b6b[_0x44330e(0x1a3)]||_0x48d944['model'],'id':_0x222b6b[_0x44330e(0x1d5)]||_0x278d83};}catch(_0x3e5de7){_0x279a28=_0x3e5de7,this[_0x44330e(0x1cd)][_0x44330e(0x1bf)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x60a234,'requestId':_0x278d83,'error':_0x3e5de7[_0x44330e(0x211)],'status':_0x3e5de7['status']});if(_0x60a234<this[_0x44330e(0x1f8)]){const _0x1c0d26=Math[_0x44330e(0x1a7)](0x2,_0x60a234)*0x3e8;this['logger']['warn'](_0x44330e(0x1df)+_0x1c0d26+'ms',{'attempt':_0x60a234,'requestId':_0x278d83}),await new Promise(_0x2b70f1=>setTimeout(_0x2b70f1,_0x1c0d26));}}}this[_0x44330e(0x1cd)]['error']('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x278d83,'error':_0x279a28['message']});const _0x2e212f=_0x279a28['message']&&_0x279a28[_0x44330e(0x211)]['includes']('No\x20API\x20key\x20configured');if(_0x2e212f)throw new Error('API\x20Configuration\x20Error:\x20'+_0x279a28[_0x44330e(0x211)]);return{'choices':[{'message':{'content':_0x44330e(0x1ea)+_0x279a28[_0x44330e(0x211)],'role':'assistant'},'finish_reason':_0x44330e(0x1ca)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x48d944['model'],'id':'error-'+_0x278d83,'error':_0x279a28['message']};}async['_makeImageAPIRequest'](_0x5a09a0,_0x2d3fd4,_0x1d5ec0={}){const _0x382e91=a0_0x565f52,_0x28291f=_0x382e91(0x220);let _0x264284,_0x1563a1=null,_0x4e9dde=null;this['logger']?.['info']('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x1d5ec0['sessionId'],'hasSessionId':!!_0x1d5ec0[_0x382e91(0x216)],'model':_0x5a09a0[_0x382e91(0x1a3)]});if(this[_0x382e91(0x1ad)]&&_0x1d5ec0['sessionId']){const _0x31b8a1=this[_0x382e91(0x1ad)][_0x382e91(0x1de)](_0x1d5ec0['sessionId'],{'platformProvided':_0x1d5ec0[_0x382e91(0x20e)]||![],'vendor':this['_getVendorFromModel'](_0x5a09a0['model'])});_0x1563a1=_0x31b8a1['loxiaApiKey'],_0x4e9dde=_0x31b8a1[_0x382e91(0x1b5)],this['logger']?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x1d5ec0['sessionId'],'hasLoxiaKey':!!_0x1563a1,'hasVendorKey':!!_0x4e9dde});}!_0x1563a1&&_0x1d5ec0[_0x382e91(0x1cb)]&&(_0x1563a1=_0x1d5ec0['apiKey']);!_0x1563a1&&this[_0x382e91(0x1cc)][_0x382e91(0x1cb)]&&(_0x1563a1=this['config'][_0x382e91(0x1cb)]);if(!_0x1563a1)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x550676={'prompt':_0x5a09a0[_0x382e91(0x1db)],'model':_0x5a09a0['model']||'azure-openai-dalle3','size':_0x5a09a0['size'],'quality':_0x5a09a0[_0x382e91(0x21f)],'style':_0x5a09a0[_0x382e91(0x203)]||'vivid','n':_0x5a09a0['n']||0x1,'requestId':_0x2d3fd4};for(let _0x2bb252=0x1;_0x2bb252<=this['retryAttempts'];_0x2bb252++){try{this['logger'][_0x382e91(0x1d6)]('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x28291f,'model':_0x5a09a0[_0x382e91(0x1a3)],'requestId':_0x2d3fd4,'attempt':_0x2bb252,'hasApiKey':!!_0x1563a1});const _0x44c825=await fetch(_0x28291f,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x1563a1,'X-Request-ID':_0x2d3fd4},'body':JSON[_0x382e91(0x1b1)](_0x550676),'timeout':this['timeout']*0x2});if(!_0x44c825['ok']){const _0x4906c2=await _0x44c825['text'](),_0x5502ca=new Error(_0x382e91(0x1ce)+_0x44c825[_0x382e91(0x1c3)]+':\x20'+_0x44c825['statusText']+(_0x4906c2?'\x20-\x20'+_0x4906c2:''));_0x5502ca['status']=_0x44c825[_0x382e91(0x1c3)];throw _0x5502ca;}const _0x393235=await _0x44c825[_0x382e91(0x1d4)]();return{'data':_0x393235['images']||[],'model':_0x393235[_0x382e91(0x1a3)]||_0x5a09a0['model'],'created':_0x393235[_0x382e91(0x194)]||Date[_0x382e91(0x1c9)](),'usage':_0x393235[_0x382e91(0x218)]};}catch(_0x1ee38b){_0x264284=_0x1ee38b,this[_0x382e91(0x1cd)]['warn']('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x2bb252,'requestId':_0x2d3fd4,'error':_0x1ee38b['message'],'status':_0x1ee38b['status']});if(_0x2bb252<this['retryAttempts']){const _0x1c0597=Math[_0x382e91(0x1a7)](0x2,_0x2bb252)*0x3e8;this['logger'][_0x382e91(0x1bf)]('Retrying\x20in\x20'+_0x1c0597+'ms',{'attempt':_0x2bb252,'requestId':_0x2d3fd4}),await new Promise(_0x2cf3f1=>setTimeout(_0x2cf3f1,_0x1c0597));}}}this['logger']['error']('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x2d3fd4,'error':_0x264284['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x264284['message']);}async[a0_0x565f52(0x198)](_0x516530){await new Promise(_0x54c5c4=>setTimeout(_0x54c5c4,0x64));}async[a0_0x565f52(0x19c)](_0x4970ee){const _0x2e1eb1=a0_0x565f52,_0x3b25f0=0xea60;this['logger']['info'](_0x2e1eb1(0x1be)+_0x3b25f0+'ms',_0x4970ee),await new Promise(_0x4edbfa=>setTimeout(_0x4edbfa,_0x3b25f0));}async[a0_0x565f52(0x1d8)](_0x31eed3){const _0x4e78e6=a0_0x565f52;this['_recordFailure']();const _0x2e15ec=0x7530;this[_0x4e78e6(0x1cd)][_0x4e78e6(0x1d6)](_0x4e78e6(0x1ed)+_0x2e15ec+'ms',_0x31eed3),await new Promise(_0x4b7b42=>setTimeout(_0x4b7b42,_0x2e15ec));}['_isCircuitBreakerOpen'](){const _0x2f3805=a0_0x565f52;if(!this[_0x2f3805(0x1a5)][_0x2f3805(0x18f)])return![];const _0xa845b0=Date[_0x2f3805(0x1c9)]()-this['circuitBreaker'][_0x2f3805(0x1bb)];if(_0xa845b0>this['circuitBreaker'][_0x2f3805(0x209)])return this['circuitBreaker']['isOpen']=![],this[_0x2f3805(0x1a5)]['failures']=0x0,![];return!![];}[a0_0x565f52(0x1f2)](){const _0x59fcb4=a0_0x565f52;this['circuitBreaker'][_0x59fcb4(0x1ee)]++,this['circuitBreaker']['lastFailureTime']=Date[_0x59fcb4(0x1c9)](),this['circuitBreaker'][_0x59fcb4(0x1ee)]>=this[_0x59fcb4(0x1a5)]['threshold']&&(this['circuitBreaker'][_0x59fcb4(0x18f)]=!![],this[_0x59fcb4(0x1cd)][_0x59fcb4(0x1bf)](_0x59fcb4(0x1a4)));}[a0_0x565f52(0x1dd)](){const _0x2a34a4=a0_0x565f52;this[_0x2a34a4(0x1a5)][_0x2a34a4(0x1ee)]>0x0&&(this['circuitBreaker'][_0x2a34a4(0x1ee)]=0x0,this['circuitBreaker']['isOpen']=![],this[_0x2a34a4(0x1cd)][_0x2a34a4(0x1d6)]('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}['_getVendorFromModel'](_0x29cd37){const _0xe5615b=a0_0x565f52;if(!_0x29cd37)return null;const _0x2b939d=_0x29cd37['toLowerCase']();if(_0x2b939d['includes']('anthropic')||_0x2b939d['includes']('claude'))return _0xe5615b(0x18d);else{if(_0x2b939d[_0xe5615b(0x1ef)](_0xe5615b(0x1fb))||_0x2b939d[_0xe5615b(0x1ef)]('gpt'))return _0xe5615b(0x1fb);else{if(_0x2b939d['includes']('deepseek'))return'deepseek';else{if(_0x2b939d[_0xe5615b(0x1ef)](_0xe5615b(0x1ac)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x477765,_0x3234de){const _0xbf2866=a0_0x565f52;this[_0xbf2866(0x1c8)]=_0x477765,this[_0xbf2866(0x1cd)]=_0x3234de,this['conversations']=new Map();}async['switchModel'](_0x34c420){return{'messages':[],'model':_0x34c420,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
1
+ const a0_0x1c04f4=a0_0x89e3;(function(_0x1e84a9,_0x15b070){const _0x5970c8=a0_0x89e3,_0x580d38=_0x1e84a9();while(!![]){try{const _0xdbfda1=-parseInt(_0x5970c8(0x12e))/0x1*(parseInt(_0x5970c8(0x14b))/0x2)+parseInt(_0x5970c8(0x123))/0x3+parseInt(_0x5970c8(0x107))/0x4+parseInt(_0x5970c8(0x124))/0x5+-parseInt(_0x5970c8(0x146))/0x6*(parseInt(_0x5970c8(0xeb))/0x7)+parseInt(_0x5970c8(0xf7))/0x8+-parseInt(_0x5970c8(0xd8))/0x9;if(_0xdbfda1===_0x15b070)break;else _0x580d38['push'](_0x580d38['shift']());}catch(_0x16e85d){_0x580d38['push'](_0x580d38['shift']());}}}(a0_0x552e,0xb6d68));function a0_0x552e(){const _0x5080b1=['CxvHBgL0Eq','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','r1buxZq','x3rYDw5JyxrLtwvZC2fNzq','x2nOzwnRtw9KzwXizwfSDgG','Dg9Rzw4GBgLTAxq','CMvXDwvZDeLK','vw5RBM93BIbTB2rLBdOG','otHMtKfbDhq','C3rHDhvZ','ueHj','C3LZDgvTuhjVBxb0','C2v0','AxnpCgvU','CM9Szq','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','x2zVCM1HDezVCK9Wzw5bsq','CgHP','Dg9ju09tDhjPBMC','ue9tva','nda5otmYoeDZAhrRza','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','zMfZDa','x2zVCM1HDezVCKfUDgHYB3bPyW','r1buxZrFtuLosq','x3n1Bw1HCML6zu1LC3nHz2vZ','Dg9vChbLCKnHC2u','Dg9tDhjPBMC','ChjVBxb0igLZihrVBYbSB25N','y3vZDg9TqxbPs2v5CW','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','BwvZC2fNzxm','vg9Rzw4GBgLTAxqGzxHJzwvKzwq6ia','D2fYBG','yJy0x2PZB24','CMv0CNLbDhrLBxb0CW','ndaYmZiZmNHbser5wq','Bwf4x3rVA2vUCW','x21HA2vjBwfNzufqsvjLCxvLC3q','C2vZC2LVBKLK','y29UDgvUDa','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','tK9ux0zpvu5e','y2XHC3nPzNLfCNjVCG','qKfex0DbvevxqvK','BM93','Aw5JBhvKzxm','Bwf4Aw11Bq','Aw1Hz2vZ','u2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','ywDLBNrqB29S','quKGC2vYDMLJzsbLCNjVCJOG','rKfmtejbq0S','ueHjxZq','l2HLywX0Aa','t1bftKfj','Aw5MBW','qu5usfjpueLdx09qvvm','BwfW','uhjLDMLVDxmGy29UDMvYC2f0Aw9Uihn1Bw1HCNK6ia','CgXHDgzVCM1qCM92AwrLza','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','zxjYB3i','u0vsvKLdrv9vtKfwquLmqujmrq','mte0ntm2nfDivhLIrq','nZmYndK1nw9bsLfLCG','DxnHz2u','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','zMX1Ec0XlJeTChjV','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','zgvLChnLzwS','C3vTBwfYEq','C3LZDgvT','yNvKz2v0u2vYDMLJzq','CgvYC2LZDefNzw50u3rHDgu','nZvZwgnACeW','x2LZvMfSAwrnB2rLBa','y29UDgv4DfDPBMrVDW','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','vMfSAwrHDgLUzYbTB2rLBa','BwvZC2fNzq','Bw9KzwW','lI4UifTJB252zxjZyxrPB24GC3vTBwfYEsb0CNvUy2f0zwrD','C3rHy2S','AgLNAa','DxnLCG','y2vPBa','DMvUzg9YqxbPs2v5','zgvIDwC','CMf0zuXPBwL0zxjZ','C3r5Bgu','u3LZDgvToIa','qu5usfjpueLdx1nptK5fva','AgvHBhrOlwnOzwnR','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','z2vUzxjHDgvjBwfNzq','y2LYy3vPDejYzwfRzxi','x3jLC2v0q2LYy3vPDejYzwfRzxi','BgvUz3rO','mZq4nJu0CwTsA3by','twfRAw5NihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','AM9PBG','CMvXlq','y29UzMLN','mta1nZbnr3HIC1y','vu5bvvrit1jjwKve','zgf0yq','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','x2DLDfzLBMrVCKzYB21nB2rLBa','DML2Awq','y29UDgv4DcbSzw5NDgG','uMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','zMLUAxnOuMvHC29U','B3b0Aw9UCW','C3vIC3rY','C3vIC3rYAw5N','x3jLy29YzezHAwX1CMu','DhjHy2TvC2fNzq','yxbPs2v5twfUywDLCG','yMfJA2vUza','yMfZzvvYBa','ChjVDMLKzxi','AgfUzgXLshr0CevYCM9Y','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGquKGC2vYDMLJzq','y2XHDwrL','yxnZAxn0yw50','qu5usfjpueLdx0HbsuTv','DgHYzxnOB2XK','qMvHCMvYia','CMvZCg9UC2vgB3jTyxq','sw52ywXPzcbYzxf1zxn0oIa','x21HA2vbueLszxf1zxn0','zMfPBhvYzxm','ywDLBNrjza','A2v5CW','y29UDgv4Df9Szw5NDgHFzxHJzwvKzwq','q29UDMvYC2f0Aw9UignVBxbHy3rPEMvKigzVCIbTB2rLBdOG','mtaYnhGXmdi0','C3DPDgnOtw9KzwW','x2LZq2LYy3vPDejYzwfRzxjpCgvU','qvPvuKu','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','x2vZDgLTyxrLvg9Rzw5Z','x2zVCM1HDezVCKf6DxjL','ic0G','Dw5ZAgLMDa','y29TCgXLDgLVBL90B2TLBNm','y2HVAwnLCW','C2L6zq','Bwf4vg9Rzw5Z','y29UDMvYC2f0Aw9UCW','AgvHBhrOEq','sfruuca','ANnVBG','y2HLy2Ttzxj2AwnLsgvHBhrO','Bg9Nz2vY','x2HHBMrSzvjHDgvmAw1PDa','zxjYB3jiyw5KBgvY','DgLTzw91Da','CMfUzg9T','DgvTCgvYyxr1CMu','DxjS','DhjPBq','y3jLyxrLza','C3rYzwfT','C3rHBMrHCMq','C3rVCa','Dg9Rzw5Z','Bw9KzwXtCgvJCW','C2v0qwDLBNrqB29S','mti2ntu3odjlyvDcq0e','y29UDMvYC2f0Aw9UtwfUywDLCNm','BgfZDezHAwX1CMvuAw1L','Cg93','yw50AhjVCgLJ','C3rYAw5NAwz5','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','x2nOzwnRuMf0zuXPBwL0','Dgv4Da','CMvXDwvZDff1zxvL','yxbPs2v5'];a0_0x552e=function(){return _0x5080b1;};return a0_0x552e();}function a0_0x89e3(_0x331657,_0x33569a){_0x331657=_0x331657-0xc7;const _0x552e96=a0_0x552e();let _0x89e3ce=_0x552e96[_0x331657];if(a0_0x89e3['aHtlat']===undefined){var _0x129be2=function(_0x43e256){const _0x46f1ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47ca90='',_0x3925d6='';for(let _0x599960=0x0,_0x186995,_0x31a410,_0x39916a=0x0;_0x31a410=_0x43e256['charAt'](_0x39916a++);~_0x31a410&&(_0x186995=_0x599960%0x4?_0x186995*0x40+_0x31a410:_0x31a410,_0x599960++%0x4)?_0x47ca90+=String['fromCharCode'](0xff&_0x186995>>(-0x2*_0x599960&0x6)):0x0){_0x31a410=_0x46f1ab['indexOf'](_0x31a410);}for(let _0x3ae266=0x0,_0x26759a=_0x47ca90['length'];_0x3ae266<_0x26759a;_0x3ae266++){_0x3925d6+='%'+('00'+_0x47ca90['charCodeAt'](_0x3ae266)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3925d6);};a0_0x89e3['mVNqfL']=_0x129be2,a0_0x89e3['FbLAwR']={},a0_0x89e3['aHtlat']=!![];}const _0x38cc52=_0x552e96[0x0],_0x5eb787=_0x331657+_0x38cc52,_0x3cf0f9=a0_0x89e3['FbLAwR'][_0x5eb787];return!_0x3cf0f9?(_0x89e3ce=a0_0x89e3['mVNqfL'](_0x89e3ce),a0_0x89e3['FbLAwR'][_0x5eb787]=_0x89e3ce):_0x89e3ce=_0x3cf0f9,_0x89e3ce;}import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x47ca90,_0x3925d6,_0x599960,_0x186995){const _0x4079da=a0_0x89e3;this[_0x4079da(0x14a)]=_0x47ca90,this[_0x4079da(0xc9)]=_0x3925d6,this[_0x4079da(0x12c)]=_0x599960,this[_0x4079da(0xcb)]=_0x186995,this[_0x4079da(0x15b)]=_0x47ca90['backend']?.['baseUrl']||'https://api.loxia.ai',this[_0x4079da(0xcc)]=_0x47ca90[_0x4079da(0x15a)]?.[_0x4079da(0xcc)]||0xea60,this['retryAttempts']=_0x47ca90[_0x4079da(0x15a)]?.[_0x4079da(0x106)]||0x3,this[_0x4079da(0x13c)]=new Map(),this[_0x4079da(0xe1)]=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this[_0x4079da(0x131)](),this[_0x4079da(0xd9)]=new Map(),this[_0x4079da(0x159)]=null,this['agentPool']=null;}async['sendMessage'](_0x31a410,_0x39916a,_0x3ae266={}){const _0xd4db80=a0_0x89e3,_0x26759a=_0xd4db80(0x149)+Date['now']()+'-'+Math['random']()['toString'](0x24)[_0xd4db80(0x155)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x31a410);const _0x5ec16e=this['_formatMessagesForModel'](_0x39916a,_0x31a410,_0x3ae266),_0x48997a={'model':_0x31a410,'messages':_0x5ec16e,'options':{'max_tokens':this[_0xd4db80(0xd6)][_0x31a410]?.[_0xd4db80(0x179)]||0xfa0,'temperature':_0x3ae266[_0xd4db80(0xce)]||0.7,'stream':_0x3ae266[_0xd4db80(0xd2)]||![]},'metadata':{'requestId':_0x26759a,'agentId':_0x3ae266['agentId'],'timestamp':new Date()['toISOString']()}};_0x3ae266[_0xd4db80(0xee)]&&(_0x48997a[_0xd4db80(0x12b)]=_0x3ae266[_0xd4db80(0xee)]);this[_0xd4db80(0xc9)]['info']('Sending\x20message\x20to\x20model:\x20'+_0x31a410,{'requestId':_0x26759a,'agentId':_0x3ae266[_0xd4db80(0x168)],'messageCount':Array['isArray'](_0x39916a)?_0x39916a[_0xd4db80(0x145)]:0x1,'maxTokens':_0x48997a[_0xd4db80(0x108)]});const _0x2a7c95=await this['_makeAPIRequest']('/chat/completions',_0x48997a,_0x26759a,{..._0x3ae266,'sessionId':_0x3ae266['sessionId'],'platformProvided':_0x3ae266['platformProvided']||![]});return _0x2a7c95[_0xd4db80(0x125)]&&await this[_0xd4db80(0x158)](_0x3ae266['agentId'],_0x31a410,{'prompt_tokens':_0x2a7c95['usage']['prompt_tokens']||0x0,'completion_tokens':_0x2a7c95['usage'][_0xd4db80(0x176)]||0x0,'total_tokens':_0x2a7c95[_0xd4db80(0x125)]['total_tokens']||0x0}),this['_resetCircuitBreaker'](),{'content':_0x2a7c95[_0xd4db80(0x177)][0x0]?.['message']?.[_0xd4db80(0x10b)]||'','model':_0x2a7c95['model'],'tokenUsage':_0x2a7c95[_0xd4db80(0x125)],'requestId':_0x26759a,'finishReason':_0x2a7c95[_0xd4db80(0x177)][0x0]?.['finish_reason']};}catch(_0x2b1a43){this[_0xd4db80(0x157)](),this[_0xd4db80(0xc9)]['error'](_0xd4db80(0x126)+_0x2b1a43[_0xd4db80(0x133)],{'requestId':_0x26759a,'model':_0x31a410,'agentId':_0x3ae266['agentId'],'error':_0x2b1a43[_0xd4db80(0x136)]}),await this[_0xd4db80(0x15d)](_0x2b1a43,{'requestId':_0x26759a,'model':_0x31a410,'agentId':_0x3ae266['agentId']});throw _0x2b1a43;}}async['routeModel'](_0x125c08,_0x490fa9={}){const _0x3514bc=a0_0x89e3;try{const _0x2bbb52=MODEL_ROUTING[_0x125c08[_0x3514bc(0xfd)]()]||MODEL_ROUTING['FALLBACK'],_0x479e0a=[];for(const _0x5b0c04 of _0x2bbb52){const _0x4ae31b=await this[_0x3514bc(0xe7)](_0x5b0c04);_0x4ae31b&&_0x479e0a['push'](_0x5b0c04);}if(_0x479e0a[_0x3514bc(0x145)]===0x0)return this[_0x3514bc(0xc9)][_0x3514bc(0x104)]('No\x20healthy\x20models\x20available\x20for\x20task:\x20'+_0x125c08+',\x20using\x20fallback'),MODEL_ROUTING['FALLBACK'][0x0];let _0x5a79f6=_0x479e0a[0x0];if(_0x490fa9['preferredModel']&&_0x479e0a['includes'](_0x490fa9['preferredModel']))_0x5a79f6=_0x490fa9['preferredModel'];else{if(_0x490fa9['complexity']===_0x3514bc(0x137)&&_0x479e0a[_0x3514bc(0x111)](MODELS['ANTHROPIC_OPUS']))_0x5a79f6=MODELS['ANTHROPIC_OPUS'];else _0x490fa9['speed']===_0x3514bc(0xf9)&&_0x479e0a['includes'](MODELS['ANTHROPIC_HAIKU'])&&(_0x5a79f6=MODELS[_0x3514bc(0x161)]);}return this[_0x3514bc(0xc9)]['info']('Model\x20routed\x20for\x20task:\x20'+_0x125c08,{'selectedModel':_0x5a79f6,'availableModels':_0x479e0a[_0x3514bc(0x145)],'context':_0x490fa9}),_0x5a79f6;}catch(_0x5dbd09){return this['logger']['error'](_0x3514bc(0xf2)+_0x5dbd09['message'],{'task':_0x125c08,'context':_0x490fa9}),MODEL_ROUTING[_0x3514bc(0x117)][0x0];}}async['compactizeConversation'](_0x4bd3e8,_0x2aab45){const _0x64312f=a0_0x89e3,_0x3f6651=this[_0x64312f(0xd6)][_0x2aab45];if(!_0x3f6651)throw new Error(_0x64312f(0xea)+_0x2aab45);const _0x2d2075=_0x3f6651[_0x64312f(0x130)]*0.8;let _0x7d4fd=0x0;const _0x147294=[],_0x12a59f=await Promise['all'](_0x4bd3e8['map'](async _0x59c588=>({..._0x59c588,'estimatedTokens':await this[_0x64312f(0x172)](_0x59c588[_0x64312f(0x10b)],_0x2aab45)}))),_0x156481=[..._0x12a59f]['reverse']();for(const _0x48d21b of _0x156481){if(_0x7d4fd+_0x48d21b['estimatedTokens']>_0x2d2075){if(_0x147294[_0x64312f(0x145)]===0x0){const _0x1ecbfc=await this[_0x64312f(0xe6)](_0x48d21b[_0x64312f(0x10b)],_0x2d2075);_0x147294['unshift']({..._0x48d21b,'content':_0x1ecbfc,'estimatedTokens':_0x2d2075});}break;}_0x147294['unshift'](_0x48d21b),_0x7d4fd+=_0x48d21b['estimatedTokens'];}const _0x35965f=_0x12a59f['slice'](0x0,-_0x147294['length']);if(_0x35965f['length']>0x0){const _0x2bd3ea=await this[_0x64312f(0xfc)](_0x35965f,_0x2aab45);_0x147294[_0x64312f(0x175)]({'role':_0x64312f(0x12b),'content':_0x64312f(0x11e)+_0x2bd3ea,'timestamp':_0x35965f[0x0]['timestamp'],'type':_0x64312f(0x12a),'estimatedTokens':await this['_estimateTokens'](_0x2bd3ea,_0x2aab45)});}return this['logger']['info'](_0x64312f(0x16b)+_0x2aab45,{'originalMessages':_0x4bd3e8['length'],'compactizedMessages':_0x147294['length'],'estimatedTokens':_0x7d4fd,'maxTokens':_0x2d2075}),_0x147294;}async[a0_0x1c04f4(0x158)](_0x3befa8,_0x44248e,_0xaa04c4,_0x39da51){const _0x2d87aa=a0_0x1c04f4;try{this[_0x2d87aa(0x12c)]&&this['budgetService'][_0x2d87aa(0x158)](_0x3befa8,_0x44248e,_0xaa04c4);}catch(_0x33e150){this['logger'][_0x2d87aa(0x121)]('Usage\x20tracking\x20failed:\x20'+_0x33e150[_0x2d87aa(0x133)]);}}async['handleHttpError'](_0xccea54,_0x59e128){const _0x11663d=a0_0x1c04f4,_0x2abedd=this['errorHandler']?.[_0x11663d(0x10e)]?.(_0xccea54,_0x59e128);switch(_0xccea54[_0x11663d(0xec)]||_0xccea54['code']){case HTTP_STATUS['BAD_REQUEST']:this['logger']['error']('Bad\x20request\x20to\x20AI\x20service',{'context':_0x59e128,'error':_0xccea54[_0x11663d(0x133)]});throw new Error(_0x11663d(0x165)+_0xccea54['message']);case HTTP_STATUS[_0x11663d(0x14c)]:this[_0x11663d(0xc9)]['error']('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x59e128});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error']('Access\x20forbidden\x20to\x20AI\x20service',{'context':_0x59e128});throw new Error('Access\x20forbidden\x20-\x20insufficient\x20permissions');case HTTP_STATUS[_0x11663d(0x10d)]:this['logger'][_0x11663d(0x121)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x59e128});throw new Error(_0x11663d(0x114));case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x11663d(0xc9)]['warn']('Rate\x20limit\x20exceeded',{'context':_0x59e128}),await this['_handleRateLimit'](_0x59e128);throw new Error('Rate\x20limit\x20exceeded\x20-\x20request\x20queued\x20for\x20retry');case HTTP_STATUS['INTERNAL_SERVER_ERROR']:case HTTP_STATUS[_0x11663d(0x10f)]:case HTTP_STATUS[_0x11663d(0x122)]:case HTTP_STATUS['GATEWAY_TIMEOUT']:this[_0x11663d(0xc9)]['error']('AI\x20service\x20unavailable',{'context':_0x59e128,'status':_0xccea54[_0x11663d(0xec)]}),await this[_0x11663d(0xe4)](_0x59e128);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x11663d(0xc9)]['error']('Unknown\x20AI\x20service\x20error',{'context':_0x59e128,'error':_0xccea54['message']});throw new Error(_0x11663d(0x116)+_0xccea54['message']);}}['setApiKeyManager'](_0x26130c){const _0x10e20e=a0_0x1c04f4;this[_0x10e20e(0x159)]=_0x26130c,this['logger']?.['info'](_0x10e20e(0x15e),{'hasManager':!!_0x26130c});}[a0_0x1c04f4(0xd7)](_0x580e58){const _0x44fd2b=a0_0x1c04f4;this['agentPool']=_0x580e58,this[_0x44fd2b(0xc9)]?.[_0x44fd2b(0x11b)]('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x580e58});}async[a0_0x1c04f4(0x142)](_0x481c65,_0x56f50c={}){const _0x469e20=a0_0x1c04f4,_0xea836d='img-'+Date[_0x469e20(0x110)]()+'-'+Math[_0x469e20(0xcd)]()[_0x469e20(0xfe)](0x24)['substr'](0x2,0x9);try{if(this[_0x469e20(0x16e)]())throw new Error(_0x469e20(0x101));if(!_0x481c65||typeof _0x481c65!=='string'||_0x481c65[_0x469e20(0xd0)]()['length']===0x0)throw new Error(_0x469e20(0x170));const _0x4b4a75=_0x56f50c[_0x469e20(0x134)]||_0x469e20(0x127),_0x28ca7=_0x56f50c[_0x469e20(0x178)]||_0x469e20(0x16c),_0x2cf9c7=_0x56f50c[_0x469e20(0xe3)]||_0x469e20(0xd3),_0x3c9a40=_0x56f50c[_0x469e20(0x164)]||_0x469e20(0xcf);this['logger'][_0x469e20(0x11b)]('Generating\x20image\x20with\x20model:\x20'+_0x4b4a75,{'requestId':_0xea836d,'model':_0x4b4a75,'size':_0x28ca7,'quality':_0x2cf9c7,'promptLength':_0x481c65['length']});const _0x5ec3d7={'prompt':_0x481c65,'model':_0x4b4a75,'size':_0x28ca7,'quality':_0x2cf9c7,'response_format':_0x3c9a40,'n':0x1,'metadata':{'requestId':_0xea836d,'timestamp':new Date()[_0x469e20(0xf5)]()}},_0x136494=await this[_0x469e20(0x109)](_0x5ec3d7,_0xea836d,{'sessionId':_0x56f50c[_0x469e20(0x10a)],'platformProvided':_0x56f50c['platformProvided']||![]});return this[_0x469e20(0x144)](),{'url':_0x136494['data']?.[0x0]?.['url']||null,'b64_json':_0x136494[_0x469e20(0x14d)]?.[0x0]?.[_0x469e20(0x105)]||null,'model':_0x136494[_0x469e20(0x134)]||_0x4b4a75,'requestId':_0xea836d,'revisedPrompt':_0x136494[_0x469e20(0x14d)]?.[0x0]?.['revised_prompt']||_0x481c65};}catch(_0x4931c0){this[_0x469e20(0x157)](),this['logger']['error'](_0x469e20(0x141)+_0x4931c0['message'],{'requestId':_0xea836d,'model':_0x56f50c[_0x469e20(0x134)],'error':_0x4931c0['stack']});throw _0x4931c0;}}async[a0_0x1c04f4(0xc8)](){const _0xe8b058=a0_0x1c04f4;try{const _0x3567fc=await this[_0xe8b058(0x166)](_0xe8b058(0x119),{},_0xe8b058(0x140));return _0x3567fc[_0xe8b058(0xec)]===_0xe8b058(0x17b);}catch(_0x28d101){return![];}}async['switchAgentModel'](_0x54bd4f,_0x2a8651){const _0x13bec4=a0_0x1c04f4;try{if(!this[_0x13bec4(0x12f)](_0x2a8651))throw new Error('Invalid\x20model:\x20'+_0x2a8651);let _0x35da5e=this[_0x13bec4(0xd9)]['get'](_0x54bd4f);!_0x35da5e&&(_0x35da5e=new ConversationManager(_0x54bd4f,this[_0x13bec4(0xc9)]),this[_0x13bec4(0xd9)][_0x13bec4(0xef)](_0x54bd4f,_0x35da5e));const _0x19378a=await _0x35da5e['switchModel'](_0x2a8651),_0x437699=await this['agentPool']?.['getAgent'](_0x54bd4f);return _0x437699&&(_0x437699['currentModel']=_0x2a8651,await this[_0x13bec4(0x115)][_0x13bec4(0x12d)](_0x54bd4f)),this['logger'][_0x13bec4(0x11b)]('Agent\x20model\x20switched:\x20'+_0x54bd4f,{'newModel':_0x2a8651,'messageCount':_0x19378a['messages']['length']}),{'success':!![],'agentId':_0x54bd4f,'newModel':_0x2a8651,'conversation':_0x19378a};}catch(_0x57937a){this[_0x13bec4(0xc9)]['error']('Model\x20switch\x20failed:\x20'+_0x57937a['message'],{'agentId':_0x54bd4f,'newModel':_0x2a8651});throw _0x57937a;}}['_initializeModelSpecs'](){const _0x1740ea=a0_0x1c04f4,_0x21604d={[MODELS[_0x1740ea(0x13f)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x1740ea(0x11c)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS[_0x1740ea(0x161)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS[_0x1740ea(0xe5)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS[_0x1740ea(0xfb)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS[_0x1740ea(0x11a)],'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['OPENAI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS['DEEPSEEK_R1']]:{'provider':MODEL_PROVIDERS['DEEPSEEK'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x1740ea(0x118)]]:{'provider':MODEL_PROVIDERS[_0x1740ea(0xed)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':_0x1740ea(0x16f),'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':_0x1740ea(0x16f),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':_0x1740ea(0x16f),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x1740ea(0x16f),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x21604d;}[a0_0x1c04f4(0x120)](_0x3c4a0c,_0x2434f0,_0x44f172){const _0x2cf33d=a0_0x1c04f4,_0x312be5=this[_0x2cf33d(0xd6)][_0x2434f0]||{'provider':_0x2cf33d(0x16f)};let _0x28149b;typeof _0x3c4a0c==='string'?_0x28149b=[{'role':'user','content':_0x3c4a0c}]:_0x28149b=_0x3c4a0c[_0x2cf33d(0x11d)](_0x4db75a=>this['_formatSingleMessage'](_0x4db75a,_0x2434f0));switch(_0x312be5[_0x2cf33d(0x15c)]){case MODEL_PROVIDERS['ANTHROPIC']:return this[_0x2cf33d(0xfa)](_0x28149b);case MODEL_PROVIDERS['OPENAI']:return this['_formatForOpenAI'](_0x28149b);case MODEL_PROVIDERS['AZURE']:return this[_0x2cf33d(0x173)](_0x28149b);default:return _0x28149b;}}['_formatSingleMessage'](_0x377c3a,_0x1fdc4e){const _0x15cc68=a0_0x1c04f4;return{'role':_0x377c3a[_0x15cc68(0xf1)]||'user','content':_0x377c3a[_0x15cc68(0x10b)],'timestamp':_0x377c3a['timestamp']};}[a0_0x1c04f4(0xfa)](_0x49813b){return _0x49813b['map'](_0x52686f=>{const _0x52e052=a0_0x89e3;if(_0x52686f['role']===_0x52e052(0x12b))return{'role':_0x52e052(0x138),'content':_0x52e052(0x13e)+_0x52686f['content']};return _0x52686f;});}[a0_0x1c04f4(0xf3)](_0x5f010d){return _0x5f010d;}[a0_0x1c04f4(0x173)](_0x50f7c0){const _0x56b25d=a0_0x1c04f4;return _0x50f7c0[_0x56b25d(0x11d)](_0x33d41d=>({..._0x33d41d,'content':typeof _0x33d41d[_0x56b25d(0x10b)]==='string'?_0x33d41d[_0x56b25d(0x10b)]:JSON['stringify'](_0x33d41d[_0x56b25d(0x10b)])}));}['_isValidModel'](_0x58a20e){const _0x288e83=a0_0x1c04f4;this['logger']['debug'](_0x288e83(0x132),{'model':_0x58a20e,'modelType':typeof _0x58a20e});if(this['modelSpecs'][_0x58a20e]!==undefined)return!![];return this[_0x288e83(0xc9)]['warn']('Model\x20validation\x20failed',{'model':_0x58a20e,'availableModels':Object[_0x288e83(0x169)](this['modelSpecs'])}),![];}async[a0_0x1c04f4(0xe7)](_0x1a994e){return!![];}async['_estimateTokens'](_0x5efc8f,_0x11c944){const _0x174cae=a0_0x1c04f4;return Math[_0x174cae(0x139)](_0x5efc8f[_0x174cae(0x145)]/0x4);}async[a0_0x1c04f4(0xe6)](_0x242899,_0xeae7ca){const _0x10c4c3=a0_0x1c04f4,_0x5c4b6b=_0xeae7ca*0x4;if(_0x242899['length']<=_0x5c4b6b)return _0x242899;return _0x242899[_0x10c4c3(0x156)](0x0,_0x5c4b6b-0x14)+'\x0a...\x20[message\x20truncated]';}async['_summarizeMessages'](_0x1c1140,_0x4bb3d5){const _0x480eef=a0_0x1c04f4,_0x4cb54a=_0x1c1140['map'](_0x37ba3a=>_0x37ba3a['role']+':\x20'+_0x37ba3a[_0x480eef(0x10b)])[_0x480eef(0x148)]('\x0a'),_0x271e1e=0x1f4;if(_0x4cb54a['length']<=_0x271e1e)return _0x4cb54a;return _0x4cb54a['substring'](0x0,_0x271e1e)+_0x480eef(0x135);}async[a0_0x1c04f4(0x166)](_0x3e9a9f,_0x67e350,_0x4e7220,_0xeeb616={}){const _0x2e697b=a0_0x1c04f4,_0x5d86ed=_0x2e697b(0x10c);let _0x5e891c,_0x160bb0=null,_0x1ae1b7=null;this['logger']?.[_0x2e697b(0x11b)](_0x2e697b(0x14e),{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0xeeb616['sessionId'],'hasSessionId':!!_0xeeb616[_0x2e697b(0x10a)],'optionsKeys':Object[_0x2e697b(0x169)](_0xeeb616),'model':_0x67e350[_0x2e697b(0x134)]});if(this['apiKeyManager']&&_0xeeb616[_0x2e697b(0x10a)]){const _0x557252=this[_0x2e697b(0x159)]['getKeysForRequest'](_0xeeb616['sessionId'],{'platformProvided':_0xeeb616[_0x2e697b(0x11f)]||![],'vendor':this[_0x2e697b(0x14f)](_0x67e350[_0x2e697b(0x134)])});_0x160bb0=_0x557252['loxiaApiKey'],_0x1ae1b7=_0x557252[_0x2e697b(0x13a)],this['logger']?.[_0x2e697b(0x13b)]('Retrieved API keys from session manager',{'sessionId':_0xeeb616[_0x2e697b(0x10a)],'hasLoxiaKey':!!_0x160bb0,'hasVendorKey':!!_0x1ae1b7,'vendor':this[_0x2e697b(0x14f)](_0x67e350['model'])});}!_0x160bb0&&_0xeeb616[_0x2e697b(0xe2)]&&(_0x160bb0=_0xeeb616['apiKey']);!_0x160bb0&&this[_0x2e697b(0x14a)][_0x2e697b(0xe2)]&&(_0x160bb0=this[_0x2e697b(0x14a)]['apiKey']);if(!_0x160bb0)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x2c8b8e=_0x67e350[_0x2e697b(0x134)],_0x3a157a={'conversationId':_0x4e7220,'message':_0x67e350['messages'][_0x67e350['messages']['length']-0x1]?.[_0x2e697b(0x10b)]||'','messages':_0x67e350[_0x2e697b(0x102)],'model':_0x2c8b8e,'requestId':_0x4e7220,'options':_0x67e350[_0x2e697b(0x154)]||{},'platformProvided':_0xeeb616['platformProvided']||![]};_0x67e350[_0x2e697b(0x12b)]&&(_0x3a157a[_0x2e697b(0xee)]=_0x67e350['system']);_0xeeb616[_0x2e697b(0x11f)]?_0x3a157a[_0x2e697b(0xe2)]=_0x160bb0:(_0x1ae1b7&&(_0x3a157a[_0x2e697b(0x13a)]=_0x1ae1b7),_0xeeb616['customApiKeys']&&(_0x3a157a['customApiKeys']=_0xeeb616[_0x2e697b(0x100)]),_0x3a157a['apiKey']=_0x160bb0);for(let _0x362a39=0x1;_0x362a39<=this[_0x2e697b(0x106)];_0x362a39++){try{this[_0x2e697b(0xc9)]['info'](_0x2e697b(0x147),{'url':_0x5d86ed,'model':_0x67e350[_0x2e697b(0x134)],'requestId':_0x4e7220,'attempt':_0x362a39,'hasApiKey':!!_0x160bb0});const _0xdcc8a5=await fetch(_0x5d86ed,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x2e697b(0x163)+_0x160bb0,'X-Request-ID':_0x4e7220},'body':JSON[_0x2e697b(0xdd)](_0x3a157a),'timeout':this[_0x2e697b(0xcc)]});if(!_0xdcc8a5['ok']){const _0x4caa46=await _0xdcc8a5['text'](),_0x406b4a=new Error('HTTP\x20'+_0xdcc8a5['status']+':\x20'+_0xdcc8a5['statusText']+(_0x4caa46?'\x20-\x20'+_0x4caa46:''));_0x406b4a[_0x2e697b(0xec)]=_0xdcc8a5['status'];throw _0x406b4a;}const _0x31b85f=await _0xdcc8a5[_0x2e697b(0xc7)]();return{'choices':[{'message':{'content':_0x31b85f[_0x2e697b(0x10b)]||'','role':'assistant'},'finish_reason':_0x31b85f[_0x2e697b(0x153)]||_0x2e697b(0xd4)}],'usage':_0x31b85f['usage']||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x31b85f['model']||_0x67e350['model'],'id':_0x31b85f[_0x2e697b(0xe9)]||_0x4e7220};}catch(_0x335024){_0x5e891c=_0x335024,this[_0x2e697b(0xc9)][_0x2e697b(0x104)](_0x2e697b(0x152),{'attempt':_0x362a39,'requestId':_0x4e7220,'error':_0x335024[_0x2e697b(0x133)],'status':_0x335024[_0x2e697b(0xec)]});if(_0x362a39<this['retryAttempts']){const _0x1b33f9=Math['pow'](0x2,_0x362a39)*0x3e8;this[_0x2e697b(0xc9)]['warn']('Retrying\x20in\x20'+_0x1b33f9+'ms',{'attempt':_0x362a39,'requestId':_0x4e7220}),await new Promise(_0x3e444c=>setTimeout(_0x3e444c,_0x1b33f9));}}}this[_0x2e697b(0xc9)]['error']('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x4e7220,'error':_0x5e891c['message']});const _0x444383=_0x5e891c[_0x2e697b(0x133)]&&_0x5e891c[_0x2e697b(0x133)][_0x2e697b(0x111)]('No\x20API\x20key\x20configured');if(_0x444383)throw new Error('API\x20Configuration\x20Error:\x20'+_0x5e891c[_0x2e697b(0x133)]);const _0x5909bf=(_0x5e891c[_0x2e697b(0x133)]||'')['toLowerCase'](),_0x331220=_0x5909bf[_0x2e697b(0x111)](_0x2e697b(0xff))||_0x5909bf[_0x2e697b(0x111)](_0x2e697b(0x151))||_0x5909bf['includes'](_0x2e697b(0xe8))||_0x5909bf[_0x2e697b(0x111)](_0x2e697b(0x16a))||_0x5909bf['includes'](_0x2e697b(0xd5))&&_0x5909bf[_0x2e697b(0x111)](_0x2e697b(0x112));if(_0x331220)throw new Error(_0x2e697b(0x103)+_0x5e891c[_0x2e697b(0x133)]);return{'choices':[{'message':{'content':_0x2e697b(0xde)+_0x5e891c['message'],'role':_0x2e697b(0x160)},'finish_reason':'stop'}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x67e350[_0x2e697b(0x134)],'id':'error-'+_0x4e7220,'error':_0x5e891c[_0x2e697b(0x133)]};}async[a0_0x1c04f4(0x109)](_0x3089ee,_0x1c95d5,_0x2a9c3b={}){const _0xa07f84=a0_0x1c04f4,_0x3d60e9='https://autopilot-api.azurewebsites.net/llm/generate-image';let _0x5070ac,_0x2d6aa4=null,_0x40bb20=null;this[_0xa07f84(0xc9)]?.['info'](_0xa07f84(0x171),{'hasApiKeyManager':!!this[_0xa07f84(0x159)],'sessionId':_0x2a9c3b['sessionId'],'hasSessionId':!!_0x2a9c3b[_0xa07f84(0x10a)],'model':_0x3089ee['model']});if(this[_0xa07f84(0x159)]&&_0x2a9c3b['sessionId']){const _0x561646=this[_0xa07f84(0x159)]['getKeysForRequest'](_0x2a9c3b[_0xa07f84(0x10a)],{'platformProvided':_0x2a9c3b[_0xa07f84(0x11f)]||![],'vendor':this[_0xa07f84(0x14f)](_0x3089ee[_0xa07f84(0x134)])});_0x2d6aa4=_0x561646['loxiaApiKey'],_0x40bb20=_0x561646['vendorApiKey'],this['logger']?.[_0xa07f84(0x13b)]('Retrieved API keys from session manager for image',{'sessionId':_0x2a9c3b['sessionId'],'hasLoxiaKey':!!_0x2d6aa4,'hasVendorKey':!!_0x40bb20});}!_0x2d6aa4&&_0x2a9c3b[_0xa07f84(0xe2)]&&(_0x2d6aa4=_0x2a9c3b[_0xa07f84(0xe2)]);!_0x2d6aa4&&this[_0xa07f84(0x14a)][_0xa07f84(0xe2)]&&(_0x2d6aa4=this[_0xa07f84(0x14a)]['apiKey']);if(!_0x2d6aa4)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x35cfdb={'prompt':_0x3089ee['prompt'],'model':_0x3089ee['model']||'azure-openai-dalle3','size':_0x3089ee['size'],'quality':_0x3089ee[_0xa07f84(0xe3)],'style':_0x3089ee[_0xa07f84(0x13d)]||_0xa07f84(0x150),'n':_0x3089ee['n']||0x1,'requestId':_0x1c95d5};for(let _0x57335a=0x1;_0x57335a<=this[_0xa07f84(0x106)];_0x57335a++){try{this['logger'][_0xa07f84(0x11b)]('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x3d60e9,'model':_0x3089ee['model'],'requestId':_0x1c95d5,'attempt':_0x57335a,'hasApiKey':!!_0x2d6aa4});const _0x40433d=await fetch(_0x3d60e9,{'method':_0xa07f84(0xf6),'headers':{'Content-Type':'application/json','Authorization':_0xa07f84(0x163)+_0x2d6aa4,'X-Request-ID':_0x1c95d5},'body':JSON[_0xa07f84(0xdd)](_0x35cfdb),'timeout':this['timeout']*0x2});if(!_0x40433d['ok']){const _0x4cc2c3=await _0x40433d[_0xa07f84(0xe0)](),_0x228ece=new Error(_0xa07f84(0x17c)+_0x40433d['status']+':\x20'+_0x40433d['statusText']+(_0x4cc2c3?_0xa07f84(0x174)+_0x4cc2c3:''));_0x228ece['status']=_0x40433d[_0xa07f84(0xec)];throw _0x228ece;}const _0x530bf0=await _0x40433d['json']();return{'data':_0x530bf0[_0xa07f84(0x113)]||[],'model':_0x530bf0[_0xa07f84(0x134)]||_0x3089ee['model'],'created':_0x530bf0[_0xa07f84(0xd1)]||Date['now'](),'usage':_0x530bf0[_0xa07f84(0x125)]};}catch(_0x20260b){_0x5070ac=_0x20260b,this[_0xa07f84(0xc9)]['warn']('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x57335a,'requestId':_0x1c95d5,'error':_0x20260b['message'],'status':_0x20260b['status']});if(_0x57335a<this[_0xa07f84(0x106)]){const _0x2c575c=Math[_0xa07f84(0xdb)](0x2,_0x57335a)*0x3e8;this['logger'][_0xa07f84(0x104)]('Retrying\x20in\x20'+_0x2c575c+'ms',{'attempt':_0x57335a,'requestId':_0x1c95d5}),await new Promise(_0x1d05f1=>setTimeout(_0x1d05f1,_0x2c575c));}}}this[_0xa07f84(0xc9)]['error'](_0xa07f84(0x128),{'requestId':_0x1c95d5,'error':_0x5070ac['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x5070ac[_0xa07f84(0x133)]);}async[a0_0x1c04f4(0xdf)](_0x2ea40b){await new Promise(_0x220f08=>setTimeout(_0x220f08,0x64));}async[a0_0x1c04f4(0xca)](_0x47313d){const _0x236ac1=0xea60;this['logger']['info']('Rate\x20limit\x20exceeded,\x20waiting\x20'+_0x236ac1+'ms',_0x47313d),await new Promise(_0x1995c3=>setTimeout(_0x1995c3,_0x236ac1));}async['_handleServiceUnavailable'](_0x16d3c5){const _0x34e477=a0_0x1c04f4;this[_0x34e477(0x157)]();const _0x12dfff=0x7530;this[_0x34e477(0xc9)]['info']('Service\x20unavailable,\x20waiting\x20'+_0x12dfff+'ms',_0x16d3c5),await new Promise(_0x3bf1b0=>setTimeout(_0x3bf1b0,_0x12dfff));}[a0_0x1c04f4(0x16e)](){const _0x4063d0=a0_0x1c04f4;if(!this[_0x4063d0(0x143)]['isOpen'])return![];const _0x5356e3=Date[_0x4063d0(0x110)]()-this[_0x4063d0(0x143)][_0x4063d0(0xda)];if(_0x5356e3>this['circuitBreaker']['timeout'])return this['circuitBreaker']['isOpen']=![],this['circuitBreaker'][_0x4063d0(0x167)]=0x0,![];return!![];}[a0_0x1c04f4(0x157)](){const _0x39daef=a0_0x1c04f4;this['circuitBreaker'][_0x39daef(0x167)]++,this[_0x39daef(0x143)]['lastFailureTime']=Date['now'](),this[_0x39daef(0x143)][_0x39daef(0x167)]>=this[_0x39daef(0x143)][_0x39daef(0x162)]&&(this[_0x39daef(0x143)]['isOpen']=!![],this[_0x39daef(0xc9)][_0x39daef(0x104)](_0x39daef(0xf8)));}[a0_0x1c04f4(0x144)](){const _0x551133=a0_0x1c04f4;this[_0x551133(0x143)]['failures']>0x0&&(this['circuitBreaker']['failures']=0x0,this[_0x551133(0x143)][_0x551133(0xf0)]=![],this[_0x551133(0xc9)]['info']('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}[a0_0x1c04f4(0x14f)](_0x263f2c){const _0x1a2513=a0_0x1c04f4;if(!_0x263f2c)return null;const _0x2244e4=_0x263f2c['toLowerCase']();if(_0x2244e4['includes'](_0x1a2513(0xdc))||_0x2244e4[_0x1a2513(0x111)](_0x1a2513(0x15f)))return _0x1a2513(0xdc);else{if(_0x2244e4[_0x1a2513(0x111)]('openai')||_0x2244e4['includes']('gpt'))return'openai';else{if(_0x2244e4['includes']('deepseek'))return _0x1a2513(0x129);else{if(_0x2244e4['includes'](_0x1a2513(0xf4)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0xdc54d5,_0x529518){const _0x2c8ca4=a0_0x1c04f4;this[_0x2c8ca4(0x168)]=_0xdc54d5,this['logger']=_0x529518,this[_0x2c8ca4(0x17a)]=new Map();}async[a0_0x1c04f4(0x16d)](_0x1bf742){return{'messages':[],'model':_0x1bf742,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
@@ -1 +1 @@
1
- const a0_0xbc54bf=a0_0xd19a;(function(_0x4b68a7,_0x1b0860){const _0x42849b=a0_0xd19a,_0x2c1937=_0x4b68a7();while(!![]){try{const _0x2bb051=-parseInt(_0x42849b(0x79))/0x1+-parseInt(_0x42849b(0x78))/0x2+-parseInt(_0x42849b(0x81))/0x3+-parseInt(_0x42849b(0x74))/0x4*(-parseInt(_0x42849b(0x82))/0x5)+parseInt(_0x42849b(0x7a))/0x6*(-parseInt(_0x42849b(0x92))/0x7)+-parseInt(_0x42849b(0x8c))/0x8+parseInt(_0x42849b(0x80))/0x9;if(_0x2bb051===_0x1b0860)break;else _0x2c1937['push'](_0x2c1937['shift']());}catch(_0x3e9cf9){_0x2c1937['push'](_0x2c1937['shift']());}}}(a0_0x5f02,0xccd70));function a0_0xd19a(_0x391d45,_0x10c5c6){_0x391d45=_0x391d45-0x73;const _0x5f02bd=a0_0x5f02();let _0xd19a9a=_0x5f02bd[_0x391d45];if(a0_0xd19a['VouXdC']===undefined){var _0x58a365=function(_0xfa7598){const _0x4d5e3c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ebe31='',_0x1b088c='';for(let _0xd7e80=0x0,_0x402bde,_0x354562,_0x10d4bf=0x0;_0x354562=_0xfa7598['charAt'](_0x10d4bf++);~_0x354562&&(_0x402bde=_0xd7e80%0x4?_0x402bde*0x40+_0x354562:_0x354562,_0xd7e80++%0x4)?_0x2ebe31+=String['fromCharCode'](0xff&_0x402bde>>(-0x2*_0xd7e80&0x6)):0x0){_0x354562=_0x4d5e3c['indexOf'](_0x354562);}for(let _0x410c65=0x0,_0x268ce8=_0x2ebe31['length'];_0x410c65<_0x268ce8;_0x410c65++){_0x1b088c+='%'+('00'+_0x2ebe31['charCodeAt'](_0x410c65)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b088c);};a0_0xd19a['xpcCBv']=_0x58a365,a0_0xd19a['GqzLHi']={},a0_0xd19a['VouXdC']=!![];}const _0x28b3b1=_0x5f02bd[0x0],_0x62c270=_0x391d45+_0x28b3b1,_0x5673bb=a0_0xd19a['GqzLHi'][_0x62c270];return!_0x5673bb?(_0xd19a9a=a0_0xd19a['xpcCBv'](_0xd19a9a),a0_0xd19a['GqzLHi'][_0x62c270]=_0xd19a9a):_0xd19a9a=_0x5673bb,_0xd19a9a;}class ApiKeyManager{constructor(_0x2ebe31){const _0x2a5595=a0_0xd19a;this['logger']=_0x2ebe31,this[_0x2a5595(0x86)]=new Map(),this[_0x2a5595(0x76)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x1b088c,_0xd7e80){const _0x124841=a0_0xd19a;if(!_0x1b088c)throw new Error(_0x124841(0x7f));this['sessionKeys']['set'](_0x1b088c,{'loxiaApiKey':_0xd7e80['loxiaApiKey']||null,'vendorKeys':_0xd7e80['vendorKeys']||{},'updatedAt':new Date()[_0x124841(0x7c)]()}),this[_0x124841(0x7b)]?.[_0x124841(0x75)](_0x124841(0x83),{'sessionId':_0x1b088c,'hasLoxiaKey':!!_0xd7e80['loxiaApiKey'],'vendorKeys':Object['keys'](_0xd7e80[_0x124841(0x73)]||{}),'timestamp':new Date()[_0x124841(0x7c)]()});}['getSessionKeys'](_0x402bde){const _0x155ff6=a0_0xd19a;if(!_0x402bde)return this[_0x155ff6(0x76)];const _0x354562=this[_0x155ff6(0x86)][_0x155ff6(0x7e)](_0x402bde);if(_0x354562)return _0x354562;return this[_0x155ff6(0x76)];}['getKeysForRequest'](_0x10d4bf,_0x410c65={}){const _0x7f3a5f=a0_0xd19a,_0x268ce8=this[_0x7f3a5f(0x8d)](_0x10d4bf),_0x437aac={'loxiaApiKey':_0x268ce8['loxiaApiKey'],'vendorApiKey':null};return!_0x410c65[_0x7f3a5f(0x90)]&&_0x410c65[_0x7f3a5f(0x8e)]&&_0x268ce8[_0x7f3a5f(0x73)]&&(_0x437aac['vendorApiKey']=_0x268ce8[_0x7f3a5f(0x73)][_0x410c65[_0x7f3a5f(0x8e)]]),_0x437aac;}['removeSessionKeys'](_0x5920d7){const _0x323f54=a0_0xd19a;if(this['sessionKeys']['delete'](_0x5920d7))return this['logger']?.[_0x323f54(0x75)]('API\x20keys\x20removed\x20for\x20session',{'sessionId':_0x5920d7}),!![];return![];}[a0_0xbc54bf(0x87)](_0x120c69){const _0xb935fd=a0_0xbc54bf;this['globalKeys']={'loxiaApiKey':_0x120c69['loxiaApiKey']||this[_0xb935fd(0x76)][_0xb935fd(0x7d)],'vendorKeys':{...this['globalKeys']['vendorKeys'],..._0x120c69['vendorKeys']||{}}},this[_0xb935fd(0x7b)]?.['info']('Global\x20API\x20keys\x20updated',{'hasLoxiaKey':!!this[_0xb935fd(0x76)]['loxiaApiKey'],'vendorKeys':Object[_0xb935fd(0x77)](this['globalKeys'][_0xb935fd(0x73)])});}['getActiveSessions'](){const _0x3ee202=a0_0xbc54bf;return Array[_0x3ee202(0x89)](this[_0x3ee202(0x86)]['entries']())[_0x3ee202(0x91)](([_0x250ad2,_0x4f7848])=>({'sessionId':_0x250ad2,'hasLoxiaKey':!!_0x4f7848[_0x3ee202(0x7d)],'vendorKeys':Object['keys'](_0x4f7848[_0x3ee202(0x73)]||{}),'updatedAt':_0x4f7848[_0x3ee202(0x8f)]}));}['cleanupExpiredSessions'](_0x111f5c=0x18*0x3c*0x3c*0x3e8){const _0xb4b49a=a0_0xbc54bf,_0x552696=Date['now'](),_0x490fa4=[];for(const [_0x2e1306,_0x12c9ab]of this[_0xb4b49a(0x86)][_0xb4b49a(0x84)]()){const _0x252d25=_0x552696-new Date(_0x12c9ab[_0xb4b49a(0x8f)])['getTime']();_0x252d25>_0x111f5c&&_0x490fa4['push'](_0x2e1306);}return _0x490fa4['forEach'](_0xcbcb08=>{const _0x5a073a=_0xb4b49a;this['sessionKeys'][_0x5a073a(0x85)](_0xcbcb08);}),_0x490fa4['length']>0x0&&this[_0xb4b49a(0x7b)]?.[_0xb4b49a(0x75)](_0xb4b49a(0x8b),{'expiredSessions':_0x490fa4['length'],'remainingSessions':this['sessionKeys'][_0xb4b49a(0x88)]}),_0x490fa4[_0xb4b49a(0x8a)];}}function a0_0x5f02(){const _0x1e142a=['C2v0r2XVyMfSs2v5CW','C2L6zq','zNjVBq','BgvUz3rO','q2XLyw5Lzcb1CcbLEhbPCMvKiefqssbRzxKGC2vZC2LVBNm','odeWntq0ogDTzgnLza','z2v0u2vZC2LVBKTLExm','DMvUzg9Y','DxbKyxrLzef0','CgXHDgzVCM1qCM92AwrLza','BwfW','odK2y0HiBM5z','DMvUzg9Ys2v5CW','otq0mdr3ugXtAhe','Aw5MBW','z2XVyMfSs2v5CW','A2v5CW','mZC2nZG0vKfszKnv','mteZmZK1n2riveDksa','mZm4mtzUDe55BNi','Bg9Nz2vY','Dg9ju09tDhjPBMC','Bg94AwfbCgLlzxK','z2v0','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','ndaWmteYndzvCuvqqLO','mZq5mda3ngDjv3bJtG','mtmWqxjRzMjT','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','zw50CMLLCW','zgvSzxrL','C2vZC2LVBKTLExm'];a0_0x5f02=function(){return _0x1e142a;};return a0_0x5f02();}export default ApiKeyManager;
1
+ const a0_0x5d7515=a0_0x1fbc;(function(_0x53224a,_0x2da8d9){const _0x4828bd=a0_0x1fbc,_0x138541=_0x53224a();while(!![]){try{const _0x417155=-parseInt(_0x4828bd(0x19d))/0x1+-parseInt(_0x4828bd(0x18e))/0x2+-parseInt(_0x4828bd(0x191))/0x3+-parseInt(_0x4828bd(0x19b))/0x4*(-parseInt(_0x4828bd(0x1a1))/0x5)+-parseInt(_0x4828bd(0x197))/0x6+-parseInt(_0x4828bd(0x1a4))/0x7+parseInt(_0x4828bd(0x18f))/0x8;if(_0x417155===_0x2da8d9)break;else _0x138541['push'](_0x138541['shift']());}catch(_0x4b835f){_0x138541['push'](_0x138541['shift']());}}}(a0_0x118b,0xd08b4));function a0_0x1fbc(_0x3afa2f,_0x3a8808){_0x3afa2f=_0x3afa2f-0x18d;const _0x118bd9=a0_0x118b();let _0x1fbc2e=_0x118bd9[_0x3afa2f];if(a0_0x1fbc['THZdIo']===undefined){var _0x108221=function(_0x518432){const _0x553c53='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b0cea='',_0x12640e='';for(let _0x1559f1=0x0,_0x42414c,_0x4f89c2,_0x4bc955=0x0;_0x4f89c2=_0x518432['charAt'](_0x4bc955++);~_0x4f89c2&&(_0x42414c=_0x1559f1%0x4?_0x42414c*0x40+_0x4f89c2:_0x4f89c2,_0x1559f1++%0x4)?_0x1b0cea+=String['fromCharCode'](0xff&_0x42414c>>(-0x2*_0x1559f1&0x6)):0x0){_0x4f89c2=_0x553c53['indexOf'](_0x4f89c2);}for(let _0x3afdd2=0x0,_0x318caf=_0x1b0cea['length'];_0x3afdd2<_0x318caf;_0x3afdd2++){_0x12640e+='%'+('00'+_0x1b0cea['charCodeAt'](_0x3afdd2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12640e);};a0_0x1fbc['fEwmkm']=_0x108221,a0_0x1fbc['URdAOl']={},a0_0x1fbc['THZdIo']=!![];}const _0x42d24d=_0x118bd9[0x0],_0x12737e=_0x3afa2f+_0x42d24d,_0x5bfcb7=a0_0x1fbc['URdAOl'][_0x12737e];return!_0x5bfcb7?(_0x1fbc2e=a0_0x1fbc['fEwmkm'](_0x1fbc2e),a0_0x1fbc['URdAOl'][_0x12737e]=_0x1fbc2e):_0x1fbc2e=_0x5bfcb7,_0x1fbc2e;}class ApiKeyManager{constructor(_0x1b0cea){const _0x4773f4=a0_0x1fbc;this['logger']=_0x1b0cea,this[_0x4773f4(0x192)]=new Map(),this['globalKeys']={'loxiaApiKey':null,'vendorKeys':{}};}[a0_0x5d7515(0x1a0)](_0x12640e,_0x1559f1){const _0x31f989=a0_0x5d7515;if(!_0x12640e)throw new Error(_0x31f989(0x193));this[_0x31f989(0x192)][_0x31f989(0x1a8)](_0x12640e,{'loxiaApiKey':_0x1559f1['loxiaApiKey']||null,'vendorKeys':_0x1559f1[_0x31f989(0x1a6)]||{},'updatedAt':new Date()['toISOString']()}),this['logger']?.['info']('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x12640e,'hasLoxiaKey':!!_0x1559f1['loxiaApiKey'],'vendorKeys':Object['keys'](_0x1559f1[_0x31f989(0x1a6)]||{}),'timestamp':new Date()['toISOString']()});}[a0_0x5d7515(0x1a5)](_0x42414c){const _0x55fb3f=a0_0x5d7515;if(!_0x42414c)return this['globalKeys'];const _0x4f89c2=this['sessionKeys'][_0x55fb3f(0x19e)](_0x42414c);if(_0x4f89c2)return _0x4f89c2;return this[_0x55fb3f(0x199)];}[a0_0x5d7515(0x19f)](_0x4bc955,_0x3afdd2={}){const _0x289392=a0_0x5d7515,_0x318caf=this[_0x289392(0x1a5)](_0x4bc955),_0xbd9aa4={'loxiaApiKey':_0x318caf[_0x289392(0x1a2)],'vendorApiKey':null};return!_0x3afdd2['platformProvided']&&_0x3afdd2['vendor']&&_0x318caf[_0x289392(0x1a6)]&&(_0xbd9aa4[_0x289392(0x1aa)]=_0x318caf['vendorKeys'][_0x3afdd2['vendor']]),_0xbd9aa4;}[a0_0x5d7515(0x1a3)](_0x2d4a48){const _0x554fdf=a0_0x5d7515;if(this[_0x554fdf(0x192)][_0x554fdf(0x194)](_0x2d4a48))return this['logger']?.[_0x554fdf(0x1ac)]('API\x20keys\x20removed\x20for\x20session',{'sessionId':_0x2d4a48}),!![];return![];}[a0_0x5d7515(0x190)](_0x3fae26){const _0x364c32=a0_0x5d7515;this[_0x364c32(0x199)]={'loxiaApiKey':_0x3fae26[_0x364c32(0x1a2)]||this[_0x364c32(0x199)]['loxiaApiKey'],'vendorKeys':{...this[_0x364c32(0x199)][_0x364c32(0x1a6)],..._0x3fae26['vendorKeys']||{}}},this['logger']?.['info'](_0x364c32(0x19a),{'hasLoxiaKey':!!this['globalKeys'][_0x364c32(0x1a2)],'vendorKeys':Object[_0x364c32(0x198)](this['globalKeys'][_0x364c32(0x1a6)])});}['getActiveSessions'](){const _0x10d685=a0_0x5d7515;return Array[_0x10d685(0x18d)](this['sessionKeys']['entries']())[_0x10d685(0x1ab)](([_0x22d8d1,_0x57a1f8])=>({'sessionId':_0x22d8d1,'hasLoxiaKey':!!_0x57a1f8['loxiaApiKey'],'vendorKeys':Object[_0x10d685(0x198)](_0x57a1f8[_0x10d685(0x1a6)]||{}),'updatedAt':_0x57a1f8[_0x10d685(0x195)]}));}['cleanupExpiredSessions'](_0x5afd4f=0x18*0x3c*0x3c*0x3e8){const _0x556cd9=a0_0x5d7515,_0x3d62ad=Date[_0x556cd9(0x1a7)](),_0x2d6d50=[];for(const [_0x1681c4,_0x510965]of this['sessionKeys']['entries']()){const _0x33616e=_0x3d62ad-new Date(_0x510965['updatedAt'])[_0x556cd9(0x196)]();_0x33616e>_0x5afd4f&&_0x2d6d50['push'](_0x1681c4);}return _0x2d6d50[_0x556cd9(0x1a9)](_0x55ff04=>{this['sessionKeys']['delete'](_0x55ff04);}),_0x2d6d50[_0x556cd9(0x19c)]>0x0&&this['logger']?.[_0x556cd9(0x1ac)]('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x2d6d50['length'],'remainingSessions':this['sessionKeys']['size']}),_0x2d6d50['length'];}}export default ApiKeyManager;function a0_0x118b(){const _0x44554c=['r2XVyMfSiefqssbRzxLZihvWzgf0zwq','mJu3mdGWvwfvAKHk','BgvUz3rO','ndyYnJD1rgP2u3a','z2v0','z2v0s2v5C0zVCLjLCxvLC3q','C2v0u2vZC2LVBKTLExm','mti1uuDxEKrI','Bg94AwfbCgLlzxK','CMvTB3zLu2vZC2LVBKTLExm','mJC5mZC5mvLpy21Xsa','z2v0u2vZC2LVBKTLExm','DMvUzg9Ys2v5CW','BM93','C2v0','zM9YrwfJAa','DMvUzg9YqxbPs2v5','BwfW','Aw5MBW','zNjVBq','mJi3otqWoe9IzejSzG','mteZmJeWmdbREfnTyxO','C2v0r2XVyMfSs2v5CW','odCWmdi3rM1nwKzI','C2vZC2LVBKTLExm','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','zgvSzxrL','DxbKyxrLzef0','z2v0vgLTzq','mtC1ntuXnNnUs3buAa','A2v5CW','z2XVyMfSs2v5CW'];a0_0x118b=function(){return _0x44554c;};return a0_0x118b();}
@@ -1 +1 @@
1
- const a0_0x453c65=a0_0x11fe;(function(_0xca7a58,_0x997fb9){const _0x1b7617=a0_0x11fe,_0x26f30c=_0xca7a58();while(!![]){try{const _0x497ac7=-parseInt(_0x1b7617(0x74))/0x1*(parseInt(_0x1b7617(0x70))/0x2)+parseInt(_0x1b7617(0xa5))/0x3+-parseInt(_0x1b7617(0x7b))/0x4*(parseInt(_0x1b7617(0x72))/0x5)+-parseInt(_0x1b7617(0x79))/0x6+-parseInt(_0x1b7617(0x73))/0x7+parseInt(_0x1b7617(0x7f))/0x8+-parseInt(_0x1b7617(0x77))/0x9;if(_0x497ac7===_0x997fb9)break;else _0x26f30c['push'](_0x26f30c['shift']());}catch(_0x2045a9){_0x26f30c['push'](_0x26f30c['shift']());}}}(a0_0xd7e5,0x7e58c));function a0_0x11fe(_0x5ceeeb,_0x4c3b34){_0x5ceeeb=_0x5ceeeb-0x6e;const _0xd7e5bd=a0_0xd7e5();let _0x11fe63=_0xd7e5bd[_0x5ceeeb];if(a0_0x11fe['EbjdFo']===undefined){var _0x5872ef=function(_0x150c4b){const _0x2cc337='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52ba1b='',_0x18dce4='';for(let _0x2a8502=0x0,_0x178489,_0x146727,_0x2f0a20=0x0;_0x146727=_0x150c4b['charAt'](_0x2f0a20++);~_0x146727&&(_0x178489=_0x2a8502%0x4?_0x178489*0x40+_0x146727:_0x146727,_0x2a8502++%0x4)?_0x52ba1b+=String['fromCharCode'](0xff&_0x178489>>(-0x2*_0x2a8502&0x6)):0x0){_0x146727=_0x2cc337['indexOf'](_0x146727);}for(let _0x1af510=0x0,_0x4aaa2f=_0x52ba1b['length'];_0x1af510<_0x4aaa2f;_0x1af510++){_0x18dce4+='%'+('00'+_0x52ba1b['charCodeAt'](_0x1af510)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18dce4);};a0_0x11fe['WIMVgI']=_0x5872ef,a0_0x11fe['GNPEYg']={},a0_0x11fe['EbjdFo']=!![];}const _0x201221=_0xd7e5bd[0x0],_0x39b63f=_0x5ceeeb+_0x201221,_0x45bc35=a0_0x11fe['GNPEYg'][_0x39b63f];return!_0x45bc35?(_0x11fe63=a0_0x11fe['WIMVgI'](_0x11fe63),a0_0x11fe['GNPEYg'][_0x39b63f]=_0x11fe63):_0x11fe63=_0x45bc35,_0x11fe63;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';function a0_0xd7e5(){const _0x45caaf=['AxnmB2fKAw5N','yxbPs2v5','zgvIDwC','qMvUy2HTyxjRigXVywrPBMCGywXYzwfKEsbPBIbWCM9NCMvZCW','tM8GyMvUy2HTyxjRigrHDgeGyxzHAwXHyMXLic0GqvbjigzLDgnOigzHAwXLza','BgvUz3rO','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','BgfZDfvWzgf0zwq','Bwf4','Bg9HzejLBMnOBwfYA3m','y29ZDa','BM93','BwvZC2fNzq','zM9Yy2vszwzYzxnO','C291CMnL','x2DLDezHC3rLC3rnB2rLBa','z2v0vgLTzq','Bw9KzwXZ','qMvHCMvYia','yMvUy2HTyxjRCW','mJm3mdqXmu1RA2fiDG','z2v0qMvUy2HTyxjRvgfIBgu','x3nJAgvKDwXLuMvMCMvZAa','DMfSDwvZ','z2v0u3rHDhvZ','CxvPy2STDgfZA3m','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0','C2nVCMu','BMvLzhnszwzYzxnO','mJa2mKPXz2D2wa','x2DLDejLC3rnB2rLBezVCLrHC2S','mZu0otKWBfPJsuvn','mZG3nduWn1jLwK5dwa','mtvAt3POA3q','Dg9ju09tDhjPBMC','zxjYB3i','nZe0otqYAMXZBwHx','A2v5CW','mta3nZqXnevRwfrwsG','DgfZA3m','ngnnt0LLva','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','BwfW','C29YDa','ntaXmdGWmgLNrKXgBq','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','y29UzMLN','CMvMCMvZAeLUDgvYDMfS','yw5HBhLZAxm','yxP1CMvcywnRzw5KvxjS','BMfTzq','Bg9Nz2vY','x2DLDe1VC3rdB3n0rwzMAwnPzw50','C3rHDhvZvgv4Da','C3rHDhvZ','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','Aw5PDgLHBgL6zq','yxbWBgLJyxrPB24VANnVBG','Dw5RBM93BG','y29KAw5N','C3bLzwq','Aw5MBW'];a0_0xd7e5=function(){return _0x45caaf;};return a0_0xd7e5();}class BenchmarkService{constructor(_0x52ba1b,_0x18dce4){const _0x39fbcf=a0_0x11fe;this[_0x39fbcf(0x81)]=_0x52ba1b,this['logger']=_0x18dce4,this[_0x39fbcf(0xa4)]=null,this[_0x39fbcf(0x98)]=null,this['isLoading']=![],this[_0x39fbcf(0x84)]=_0x39fbcf(0xab),this[_0x39fbcf(0x82)]=MODEL_ROUTER_CONFIG[_0x39fbcf(0x97)];}async[a0_0x453c65(0x8b)](){const _0x1ef323=a0_0x453c65;try{await this[_0x1ef323(0x9a)](),this[_0x1ef323(0xa7)](),this['logger']['info']('Benchmark\x20service\x20initialized');}catch(_0x2a8502){this[_0x1ef323(0x86)]['error']('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x2a8502['message']}),this['benchmarks']=null;}}['getBenchmarks'](){const _0x2d7811=a0_0x453c65;if(!this[_0x2d7811(0xa4)])return this['logger']['error'](_0x2d7811(0x95),{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this[_0x2d7811(0xa4)];}async[a0_0x453c65(0x9a)](){const _0x50f2ea=a0_0x453c65;if(this['isLoading']){this['logger'][_0x50f2ea(0x93)](_0x50f2ea(0x94));return;}this[_0x50f2ea(0x91)]=!![];try{const _0x178489=await this['_fetchFromAzureBackend']();if(_0x178489)this['benchmarks']=_0x178489,this['lastUpdated']=new Date(),this[_0x50f2ea(0x86)][_0x50f2ea(0x90)]('Benchmarks loaded from Azure backend',{'modelCount':_0x178489['models']?.['length']||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x146727){this['logger'][_0x50f2ea(0x76)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x146727[_0x50f2ea(0x9d)],'endpoint':url}),!this['benchmarks']&&(this['benchmarks']=null);}finally{this[_0x50f2ea(0x91)]=![];}}[a0_0x453c65(0xa6)](){const _0x18ea1e=a0_0x453c65,_0x2f0a20=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.[_0x18ea1e(0x75)]()||_0x18ea1e(0x8d),'models':_0x2f0a20['models']||[],'tasks':_0x2f0a20['tasks']||{},'summary':this[_0x18ea1e(0x80)](_0x2f0a20)};}['needsRefresh'](){const _0x5149cc=a0_0x453c65;if(!this['lastUpdated'])return!![];const _0x1af510=Date[_0x5149cc(0x9c)]()-this['lastUpdated'][_0x5149cc(0xa1)]();return _0x1af510>this['refreshInterval'];}async['_fetchFromAzureBackend'](){const _0x273c63=a0_0x453c65,_0x4aaa2f=this[_0x273c63(0x84)]+_0x273c63(0x8a);let _0x864153=null;this[_0x273c63(0x81)][_0x273c63(0x92)]&&(_0x864153=this[_0x273c63(0x81)]['apiKey']);const _0x2e82e3={'method':'GET','headers':{'Content-Type':_0x273c63(0x8c),..._0x864153&&{'Authorization':_0x273c63(0xa3)+_0x864153}},'timeout':0x2710};this['logger']['debug']('Fetching benchmarks from Azure backend',{'url':_0x4aaa2f});const _0x4b4257=await fetch(_0x4aaa2f,_0x2e82e3);if(!_0x4b4257['ok'])throw new Error('HTTP\x20'+_0x4b4257[_0x273c63(0x89)]+':\x20'+_0x4b4257[_0x273c63(0x88)]);const _0xaf29ca=await _0x4b4257['json']();return _0xaf29ca;}['_generateBenchmarkSummary'](_0x25da50){const _0x124cc4=a0_0x453c65,_0xd1a092=_0x25da50[_0x124cc4(0xa2)]||[];return{'totalModels':_0xd1a092[_0x124cc4(0x96)],'taskCategories':Object[_0x124cc4(0x78)](_0x25da50[_0x124cc4(0x7a)]||{}),'bestForCoding':this['_getBestModelForTask'](_0xd1a092,_0x124cc4(0x8e)),'bestForAnalysis':this['_getBestModelForTask'](_0xd1a092,_0x124cc4(0x83)),'bestForQuickTasks':this['_getBestModelForTask'](_0xd1a092,_0x124cc4(0xaa)),'bestForCreative':this[_0x124cc4(0x71)](_0xd1a092,'creative'),'fastestModel':this[_0x124cc4(0xa0)](_0xd1a092),'mostCostEfficient':this[_0x124cc4(0x87)](_0xd1a092)};}[a0_0x453c65(0x71)](_0x329f38,_0x4ba899){const _0x39d65c=a0_0x453c65;return _0x329f38['filter'](_0x2a463e=>_0x2a463e[_0x39d65c(0x7a)]&&_0x2a463e[_0x39d65c(0x7a)][_0x4ba899])[_0x39d65c(0x7e)]((_0x39491c,_0x31fb17)=>(_0x31fb17['tasks'][_0x4ba899][_0x39d65c(0x6e)]||0x0)-(_0x39491c['tasks'][_0x4ba899][_0x39d65c(0x6e)]||0x0))[0x0]?.[_0x39d65c(0x85)]||'unknown';}['_getFastestModel'](_0x186377){const _0x52b3dc=a0_0x453c65,_0x5bd579={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x186377['sort']((_0x1b60e0,_0x4b1b3a)=>{const _0x1d7206=a0_0x11fe,_0x2cc2c1=Math['max'](...Object[_0x1d7206(0xa8)](_0x1b60e0[_0x1d7206(0x7a)]||{})['map'](_0x41b8d6=>_0x5bd579[_0x41b8d6[_0x1d7206(0x8f)]]||0x0)),_0x34fced=Math['max'](...Object['values'](_0x4b1b3a[_0x1d7206(0x7a)]||{})[_0x1d7206(0x7d)](_0x1b326f=>_0x5bd579[_0x1b326f[_0x1d7206(0x8f)]]||0x0));return _0x34fced-_0x2cc2c1;})[0x0]?.[_0x52b3dc(0x85)]||_0x52b3dc(0x8d);}[a0_0x453c65(0x87)](_0x46d286){const _0x50a362=a0_0x453c65,_0x2d8b90={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x46d286[_0x50a362(0x7e)]((_0x407148,_0x1785e0)=>{const _0x3cfb4f=_0x50a362,_0x2cdde8=Math[_0x3cfb4f(0x99)](...Object['values'](_0x407148['tasks']||{})[_0x3cfb4f(0x7d)](_0x6efae4=>_0x2d8b90[_0x6efae4[_0x3cfb4f(0x9b)]]||0x0)),_0x1d2a1f=Math[_0x3cfb4f(0x99)](...Object[_0x3cfb4f(0xa8)](_0x1785e0['tasks']||{})['map'](_0x37a706=>_0x2d8b90[_0x37a706[_0x3cfb4f(0x9b)]]||0x0));return _0x1d2a1f-_0x2cdde8;})[0x0]?.[_0x50a362(0x85)]||'unknown';}[a0_0x453c65(0xa7)](){const _0x302603=a0_0x453c65;setInterval(async()=>{const _0x5b982d=a0_0x11fe;this[_0x5b982d(0x6f)]()&&(this[_0x5b982d(0x86)]['debug']('Refreshing\x20benchmark\x20data'),await this[_0x5b982d(0x9a)]());},this[_0x302603(0x82)]);}async[a0_0x453c65(0x9e)](){const _0x496073=a0_0x453c65;this[_0x496073(0x86)][_0x496073(0x90)](_0x496073(0x7c)),await this['loadBenchmarks']();}[a0_0x453c65(0xa9)](){const _0x1b3a5d=a0_0x453c65;return{'initialized':!!this[_0x1b3a5d(0xa4)],'lastUpdated':this['lastUpdated']?.[_0x1b3a5d(0x75)]()||null,'source':this['benchmarks']?.[_0x1b3a5d(0x9f)]||'unknown','modelCount':this[_0x1b3a5d(0xa4)]?.[_0x1b3a5d(0xa2)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this[_0x1b3a5d(0x6f)]()};}}export default BenchmarkService;
1
+ function a0_0x2582(_0x1140cf,_0x56e266){_0x1140cf=_0x1140cf-0x113;const _0x3ae973=a0_0x3ae9();let _0x2582b2=_0x3ae973[_0x1140cf];if(a0_0x2582['uoLOMl']===undefined){var _0x4c4981=function(_0x5ee928){const _0x4e45c2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x512416='',_0x22d418='';for(let _0x57feb7=0x0,_0x46045a,_0x510280,_0x5358b4=0x0;_0x510280=_0x5ee928['charAt'](_0x5358b4++);~_0x510280&&(_0x46045a=_0x57feb7%0x4?_0x46045a*0x40+_0x510280:_0x510280,_0x57feb7++%0x4)?_0x512416+=String['fromCharCode'](0xff&_0x46045a>>(-0x2*_0x57feb7&0x6)):0x0){_0x510280=_0x4e45c2['indexOf'](_0x510280);}for(let _0xe1107f=0x0,_0x202434=_0x512416['length'];_0xe1107f<_0x202434;_0xe1107f++){_0x22d418+='%'+('00'+_0x512416['charCodeAt'](_0xe1107f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22d418);};a0_0x2582['ruwaPs']=_0x4c4981,a0_0x2582['HqjuEq']={},a0_0x2582['uoLOMl']=!![];}const _0x3b34ad=_0x3ae973[0x0],_0x35064a=_0x1140cf+_0x3b34ad,_0x522284=a0_0x2582['HqjuEq'][_0x35064a];return!_0x522284?(_0x2582b2=a0_0x2582['ruwaPs'](_0x2582b2),a0_0x2582['HqjuEq'][_0x35064a]=_0x2582b2):_0x2582b2=_0x522284,_0x2582b2;}const a0_0x3645e0=a0_0x2582;(function(_0xc13b0,_0x560a08){const _0x3e55d3=a0_0x2582,_0x14d400=_0xc13b0();while(!![]){try{const _0x9cd076=-parseInt(_0x3e55d3(0x11c))/0x1*(parseInt(_0x3e55d3(0x118))/0x2)+-parseInt(_0x3e55d3(0x134))/0x3+parseInt(_0x3e55d3(0x13f))/0x4+-parseInt(_0x3e55d3(0x11a))/0x5+parseInt(_0x3e55d3(0x11d))/0x6+-parseInt(_0x3e55d3(0x115))/0x7*(-parseInt(_0x3e55d3(0x139))/0x8)+parseInt(_0x3e55d3(0x124))/0x9*(parseInt(_0x3e55d3(0x12d))/0xa);if(_0x9cd076===_0x560a08)break;else _0x14d400['push'](_0x14d400['shift']());}catch(_0x4f644c){_0x14d400['push'](_0x14d400['shift']());}}}(a0_0x3ae9,0xd1d1f));import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x512416,_0x22d418){const _0x4c1fae=a0_0x2582;this[_0x4c1fae(0x128)]=_0x512416,this['logger']=_0x22d418,this['benchmarks']=null,this[_0x4c1fae(0x11e)]=null,this[_0x4c1fae(0x114)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG[_0x4c1fae(0x127)];}async['initialize'](){const _0x5daae9=a0_0x2582;try{await this[_0x5daae9(0x138)](),this[_0x5daae9(0x12f)](),this['logger'][_0x5daae9(0x12b)](_0x5daae9(0x125));}catch(_0x57feb7){this['logger']['error'](_0x5daae9(0x135),{'error':_0x57feb7['message']}),this['benchmarks']=null;}}[a0_0x3645e0(0x145)](){const _0x37879b=a0_0x3645e0;if(!this[_0x37879b(0x13b)])return this['logger']['error']('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this[_0x37879b(0x13b)];}async[a0_0x3645e0(0x138)](){const _0x1f5d8a=a0_0x3645e0;if(this[_0x1f5d8a(0x114)]){this[_0x1f5d8a(0x142)]['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x46045a=await this[_0x1f5d8a(0x143)]();if(_0x46045a)this['benchmarks']=_0x46045a,this['lastUpdated']=new Date(),this['logger']['info']('Benchmarks loaded from Azure backend',{'modelCount':_0x46045a[_0x1f5d8a(0x133)]?.[_0x1f5d8a(0x122)]||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x510280){this[_0x1f5d8a(0x142)][_0x1f5d8a(0x13a)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x510280['message'],'endpoint':url}),!this['benchmarks']&&(this['benchmarks']=null);}finally{this['isLoading']=![];}}[a0_0x3645e0(0x136)](){const _0x2e8044=a0_0x3645e0,_0x5358b4=this[_0x2e8044(0x145)]();return{'lastUpdated':this['lastUpdated']?.[_0x2e8044(0x140)]()||'unknown','models':_0x5358b4['models']||[],'tasks':_0x5358b4[_0x2e8044(0x144)]||{},'summary':this['_generateBenchmarkSummary'](_0x5358b4)};}[a0_0x3645e0(0x132)](){const _0xf2e241=a0_0x3645e0;if(!this['lastUpdated'])return!![];const _0xe1107f=Date['now']()-this['lastUpdated'][_0xf2e241(0x141)]();return _0xe1107f>this['refreshInterval'];}async['_fetchFromAzureBackend'](){const _0x59a16a=a0_0x3645e0,_0x202434=this[_0x59a16a(0x126)]+'/llm/model-benchmarks';let _0x495485=null;this['config'][_0x59a16a(0x13e)]&&(_0x495485=this[_0x59a16a(0x128)][_0x59a16a(0x13e)]);const _0x109eb9={'method':'GET','headers':{'Content-Type':'application/json',..._0x495485&&{'Authorization':'Bearer\x20'+_0x495485}},'timeout':0x2710};this[_0x59a16a(0x142)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x202434});const _0x59885a=await fetch(_0x202434,_0x109eb9);if(!_0x59885a['ok'])throw new Error(_0x59a16a(0x130)+_0x59885a['status']+':\x20'+_0x59885a[_0x59a16a(0x13d)]);const _0x527649=await _0x59885a[_0x59a16a(0x11f)]();return _0x527649;}['_generateBenchmarkSummary'](_0xa85f72){const _0x46b8a3=a0_0x3645e0,_0x5b2360=_0xa85f72['models']||[];return{'totalModels':_0x5b2360['length'],'taskCategories':Object['keys'](_0xa85f72[_0x46b8a3(0x144)]||{}),'bestForCoding':this[_0x46b8a3(0x12c)](_0x5b2360,_0x46b8a3(0x12e)),'bestForAnalysis':this['_getBestModelForTask'](_0x5b2360,'analysis'),'bestForQuickTasks':this['_getBestModelForTask'](_0x5b2360,'quick-tasks'),'bestForCreative':this[_0x46b8a3(0x12c)](_0x5b2360,_0x46b8a3(0x117)),'fastestModel':this['_getFastestModel'](_0x5b2360),'mostCostEfficient':this['_getMostCostEfficient'](_0x5b2360)};}['_getBestModelForTask'](_0x2dd33b,_0x452029){const _0x9fff78=a0_0x3645e0;return _0x2dd33b[_0x9fff78(0x123)](_0x1f8127=>_0x1f8127['tasks']&&_0x1f8127[_0x9fff78(0x144)][_0x452029])['sort']((_0x4bb1fb,_0x2d0cc8)=>(_0x2d0cc8[_0x9fff78(0x144)][_0x452029][_0x9fff78(0x129)]||0x0)-(_0x4bb1fb['tasks'][_0x452029][_0x9fff78(0x129)]||0x0))[0x0]?.[_0x9fff78(0x12a)]||'unknown';}['_getFastestModel'](_0x1a02c7){const _0x5334b8=a0_0x3645e0,_0x349bd7={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x1a02c7['sort']((_0x52ddd9,_0x53b7df)=>{const _0x244f8b=a0_0x2582,_0x3d4e2b=Math['max'](...Object['values'](_0x52ddd9['tasks']||{})[_0x244f8b(0x113)](_0x10dc8e=>_0x349bd7[_0x10dc8e[_0x244f8b(0x131)]]||0x0)),_0x1bc18e=Math['max'](...Object[_0x244f8b(0x13c)](_0x53b7df[_0x244f8b(0x144)]||{})[_0x244f8b(0x113)](_0xff0da8=>_0x349bd7[_0xff0da8[_0x244f8b(0x131)]]||0x0));return _0x1bc18e-_0x3d4e2b;})[0x0]?.[_0x5334b8(0x12a)]||'unknown';}['_getMostCostEfficient'](_0x5b29ce){const _0x2b84c2=a0_0x3645e0,_0x47a1f8={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x5b29ce['sort']((_0x466d84,_0x4a8b57)=>{const _0x198a48=a0_0x2582,_0x1b1337=Math[_0x198a48(0x137)](...Object[_0x198a48(0x13c)](_0x466d84['tasks']||{})[_0x198a48(0x113)](_0x573806=>_0x47a1f8[_0x573806['cost']]||0x0)),_0x3ceee0=Math[_0x198a48(0x137)](...Object['values'](_0x4a8b57[_0x198a48(0x144)]||{})[_0x198a48(0x113)](_0x1e281c=>_0x47a1f8[_0x1e281c[_0x198a48(0x11b)]]||0x0));return _0x3ceee0-_0x1b1337;})[0x0]?.['name']||_0x2b84c2(0x119);}['_scheduleRefresh'](){setInterval(async()=>{const _0x468096=a0_0x2582;this[_0x468096(0x132)]()&&(this[_0x468096(0x142)][_0x468096(0x120)]('Refreshing\x20benchmark\x20data'),await this[_0x468096(0x138)]());},this['refreshInterval']);}async['forceRefresh'](){const _0x40bbd2=a0_0x3645e0;this['logger']['info'](_0x40bbd2(0x121)),await this['loadBenchmarks']();}[a0_0x3645e0(0x116)](){const _0x59e7d1=a0_0x3645e0;return{'initialized':!!this['benchmarks'],'lastUpdated':this[_0x59e7d1(0x11e)]?.['toISOString']()||null,'source':this['benchmarks']?.['source']||'unknown','modelCount':this[_0x59e7d1(0x13b)]?.[_0x59e7d1(0x133)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh']()};}}function a0_0x3ae9(){const _0x4349fa=['mtmZotCZnhf2D3rxta','BgfZDfvWzgf0zwq','ANnVBG','zgvIDwC','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','BgvUz3rO','zMLSDgvY','mta4yujeB05b','qMvUy2HTyxjRihnLCNzPy2uGAw5PDgLHBgL6zwq','yxP1CMvcywnRzw5KvxjS','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','y29UzMLN','C2nVCMu','BMfTzq','Aw5MBW','x2DLDejLC3rnB2rLBezVCLrHC2S','mtGZmZi4mhb5EM5tEq','y29KAw5N','x3nJAgvKDwXLuMvMCMvZAa','sfruuca','C3bLzwq','BMvLzhnszwzYzxnO','Bw9KzwXZ','ndeWntC3ExHiwMXx','rMfPBgvKihrVigLUAxrPywXPEMuGyMvUy2HTyxjRihnLCNzPy2uGlsbotYbgquXmqKfdsW','z2v0qMvUy2HTyxjRvgfIBgu','Bwf4','Bg9HzejLBMnOBwfYA3m','oevjv3PXsa','zxjYB3i','yMvUy2HTyxjRCW','DMfSDwvZ','C3rHDhvZvgv4Da','yxbPs2v5','nta2mJeYmfriEwDeBG','Dg9ju09tDhjPBMC','z2v0vgLTzq','Bg9Nz2vY','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza','DgfZA3m','z2v0qMvUy2HTyxjRCW','BwfW','AxnmB2fKAw5N','mJG2nZq2nM5WteDtuq','z2v0u3rHDhvZ','y3jLyxrPDMu','mJG3nZyXmgrnruLTwq','Dw5RBM93BG','odmXnJuZmgPwzLvhDG','y29ZDa','mujdBgj6BW'];a0_0x3ae9=function(){return _0x4349fa;};return a0_0x3ae9();}export default BenchmarkService;
@@ -1 +1 @@
1
- const a0_0x2a3f22=a0_0x50ff;(function(_0x4f163a,_0x3f88d3){const _0x1c2d7f=a0_0x50ff,_0x27e6db=_0x4f163a();while(!![]){try{const _0x3a6a73=parseInt(_0x1c2d7f(0x1de))/0x1+-parseInt(_0x1c2d7f(0x1a5))/0x2+parseInt(_0x1c2d7f(0x1a2))/0x3*(parseInt(_0x1c2d7f(0x1c5))/0x4)+-parseInt(_0x1c2d7f(0x1d9))/0x5*(-parseInt(_0x1c2d7f(0x1e6))/0x6)+parseInt(_0x1c2d7f(0x1da))/0x7*(-parseInt(_0x1c2d7f(0x1f4))/0x8)+-parseInt(_0x1c2d7f(0x1e2))/0x9*(-parseInt(_0x1c2d7f(0x1e0))/0xa)+-parseInt(_0x1c2d7f(0x1c6))/0xb*(parseInt(_0x1c2d7f(0x1b4))/0xc);if(_0x3a6a73===_0x3f88d3)break;else _0x27e6db['push'](_0x27e6db['shift']());}catch(_0xbddd09){_0x27e6db['push'](_0x27e6db['shift']());}}}(a0_0x1300,0x2157b));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x50ff(_0x194a5a,_0x4c473b){_0x194a5a=_0x194a5a-0x18c;const _0x1300ca=a0_0x1300();let _0x50ffa7=_0x1300ca[_0x194a5a];if(a0_0x50ff['dscmxQ']===undefined){var _0xaf154=function(_0x4fdd48){const _0x102b4f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d0457='',_0x5dfc46='';for(let _0x52ad34=0x0,_0x3c3362,_0x7239ac,_0x5c627f=0x0;_0x7239ac=_0x4fdd48['charAt'](_0x5c627f++);~_0x7239ac&&(_0x3c3362=_0x52ad34%0x4?_0x3c3362*0x40+_0x7239ac:_0x7239ac,_0x52ad34++%0x4)?_0x4d0457+=String['fromCharCode'](0xff&_0x3c3362>>(-0x2*_0x52ad34&0x6)):0x0){_0x7239ac=_0x102b4f['indexOf'](_0x7239ac);}for(let _0x3df13c=0x0,_0x38f284=_0x4d0457['length'];_0x3df13c<_0x38f284;_0x3df13c++){_0x5dfc46+='%'+('00'+_0x4d0457['charCodeAt'](_0x3df13c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5dfc46);};a0_0x50ff['OTjpGF']=_0xaf154,a0_0x50ff['gZeTQX']={},a0_0x50ff['dscmxQ']=!![];}const _0x2ae0eb=_0x1300ca[0x0],_0x777d52=_0x194a5a+_0x2ae0eb,_0x46ecc3=a0_0x50ff['gZeTQX'][_0x777d52];return!_0x46ecc3?(_0x50ffa7=a0_0x50ff['OTjpGF'](_0x50ffa7),a0_0x50ff['gZeTQX'][_0x777d52]=_0x50ffa7):_0x50ffa7=_0x46ecc3,_0x50ffa7;}export class BudgetService{constructor(_0x4d0457,_0x5dfc46){const _0x199b7c=a0_0x50ff;this[_0x199b7c(0x1df)]=_0x4d0457||{},this['logger']=_0x5dfc46,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x199b7c(0x1ce)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS[_0x199b7c(0x1a4)],'monthly':BUDGET_LIMITS[_0x199b7c(0x1d2)]},this[_0x199b7c(0x1b6)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this[_0x199b7c(0x1bd)](),this[_0x199b7c(0x1b9)]();}['trackUsage'](_0x52ad34,_0x3c3362,_0x7239ac){const _0x1d558b=a0_0x50ff;try{const _0x5c627f=this['calculateCost'](_0x3c3362,_0x7239ac),_0x3df13c=new Date(),_0x38f284=this['getDayKey'](_0x3df13c),_0xaa035d=this['getWeekKey'](_0x3df13c),_0x5de134=this[_0x1d558b(0x18d)](_0x3df13c);this[_0x1d558b(0x19f)](this[_0x1d558b(0x19b)][_0x1d558b(0x1f1)],_0x38f284),this['initializeUsageEntry'](this['usage']['weekly'],_0xaa035d),this[_0x1d558b(0x19f)](this['usage'][_0x1d558b(0x1b5)],_0x5de134);const _0x2396d9={'agentId':_0x52ad34,'modelId':_0x3c3362,'tokens':_0x7239ac[_0x1d558b(0x1e9)],'cost':_0x5c627f,'timestamp':_0x3df13c['toISOString']()};return this['updateUsageEntry'](this['usage'][_0x1d558b(0x1f1)][_0x1d558b(0x1a3)](_0x38f284),_0x2396d9),this[_0x1d558b(0x1c1)](this[_0x1d558b(0x19b)][_0x1d558b(0x1c7)]['get'](_0xaa035d),_0x2396d9),this[_0x1d558b(0x1c1)](this['usage']['monthly'][_0x1d558b(0x1a3)](_0x5de134),_0x2396d9),this['usage'][_0x1d558b(0x1f2)][_0x1d558b(0x18c)]+=_0x7239ac[_0x1d558b(0x1e9)],this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)][_0x1d558b(0x1d4)]+=_0x5c627f,this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)]['requests']+=0x1,this['checkBudgetLimits'](_0x38f284,_0xaa035d,_0x5de134),this[_0x1d558b(0x1b2)]['info'](_0x1d558b(0x1a9),{'agentId':_0x52ad34,'modelId':_0x3c3362,'tokens':_0x7239ac[_0x1d558b(0x1e9)],'cost':_0x5c627f,'totalCost':this['usage']['total']['cost']}),{'cost':_0x5c627f,'totalCost':this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)][_0x1d558b(0x1d4)],'totalTokens':this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)]['tokens'],'dailyUsage':this['usage']['daily']['get'](_0x38f284),'budgetRemaining':this[_0x1d558b(0x192)]()};}catch(_0x58d891){this[_0x1d558b(0x1b2)][_0x1d558b(0x193)](_0x1d558b(0x1ca),{'error':_0x58d891['message'],'agentId':_0x52ad34,'modelId':_0x3c3362});throw _0x58d891;}}[a0_0x2a3f22(0x1ac)](_0x34e27f,_0x2e670a){const _0xebd688=a0_0x2a3f22,_0x475650=COST_PER_TOKEN[_0x34e27f];if(!_0x475650)return this['logger'][_0xebd688(0x1ba)](_0xebd688(0x1e1),{'modelId':_0x34e27f}),0x0;const _0x708689=(_0x2e670a[_0xebd688(0x1ad)]||0x0)*_0x475650['input'],_0x1f5df3=(_0x2e670a[_0xebd688(0x19e)]||0x0)*_0x475650[_0xebd688(0x19a)];return _0x708689+_0x1f5df3;}[a0_0x2a3f22(0x190)](_0xe80a7d='daily',_0x3566d9=new Date()){const _0x5e7ffb=a0_0x2a3f22;switch(_0xe80a7d){case'daily':return this[_0x5e7ffb(0x19b)][_0x5e7ffb(0x1f1)][_0x5e7ffb(0x1a3)](this['getDayKey'](_0x3566d9))||this[_0x5e7ffb(0x1ee)]();case _0x5e7ffb(0x1c7):return this[_0x5e7ffb(0x19b)]['weekly'][_0x5e7ffb(0x1a3)](this[_0x5e7ffb(0x1bb)](_0x3566d9))||this['createEmptyUsage']();case'monthly':return this[_0x5e7ffb(0x19b)]['monthly']['get'](this['getMonthKey'](_0x3566d9))||this['createEmptyUsage']();case'total':return{...this['usage'][_0x5e7ffb(0x1f2)]};default:throw new Error('Invalid\x20period:\x20'+_0xe80a7d);}}[a0_0x2a3f22(0x1a0)](_0x4c6a4d,_0x34af96='daily'){const _0x3ad972=a0_0x2a3f22,_0x3df602=this[_0x3ad972(0x190)](_0x34af96);return _0x3df602['byAgent']?.[_0x4c6a4d]||this[_0x3ad972(0x1ee)]();}[a0_0x2a3f22(0x1d5)](_0x2b127e,_0x5223c8=a0_0x2a3f22(0x1f1)){const _0x1b0c09=a0_0x2a3f22,_0x32e5f3=this['getUsage'](_0x5223c8);return _0x32e5f3['byModel']?.[_0x2b127e]||this[_0x1b0c09(0x1ee)]();}[a0_0x2a3f22(0x19c)](_0x46a555){const _0x182bdf=a0_0x2a3f22;if(_0x46a555[_0x182bdf(0x1f1)]!==undefined)this[_0x182bdf(0x1ce)][_0x182bdf(0x1f1)]=_0x46a555[_0x182bdf(0x1f1)];if(_0x46a555['weekly']!==undefined)this['budgets'][_0x182bdf(0x1c7)]=_0x46a555[_0x182bdf(0x1c7)];if(_0x46a555[_0x182bdf(0x1b5)]!==undefined)this[_0x182bdf(0x1ce)][_0x182bdf(0x1b5)]=_0x46a555[_0x182bdf(0x1b5)];this['logger'][_0x182bdf(0x1e4)]('Budget\x20limits\x20updated',this[_0x182bdf(0x1ce)]),this['saveUsageData']();}['getRemainingBudget'](){const _0xa77ca4=a0_0x2a3f22,_0x3b4caa=new Date(),_0x3ef3bb=this['getUsage'](_0xa77ca4(0x1f1),_0x3b4caa),_0x2d33ec=this[_0xa77ca4(0x190)]('weekly',_0x3b4caa),_0x3aaea4=this['getUsage'](_0xa77ca4(0x1b5),_0x3b4caa);return{'daily':Math[_0xa77ca4(0x1a6)](0x0,this[_0xa77ca4(0x1ce)]['daily']-_0x3ef3bb['cost']),'weekly':Math[_0xa77ca4(0x1a6)](0x0,this[_0xa77ca4(0x1ce)]['weekly']-_0x2d33ec[_0xa77ca4(0x1d4)]),'monthly':Math['max'](0x0,this[_0xa77ca4(0x1ce)]['monthly']-_0x3aaea4['cost'])};}['isWithinBudget'](_0x519f5c=a0_0x2a3f22(0x1f1)){const _0x5ba627=a0_0x2a3f22,_0xc3d10a=this[_0x5ba627(0x190)](_0x519f5c),_0x20702e=this['budgets'][_0x519f5c];return _0xc3d10a[_0x5ba627(0x1d4)]<=_0x20702e;}[a0_0x2a3f22(0x1b0)](_0x3d78fb=0x1e){const _0x471b67=a0_0x2a3f22,_0x320557={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x25fb5b=new Date();let _0x50cec2=0x0,_0x3a5879=0x0,_0x52f1bf=0x0;const _0x2de348=new Map(),_0xa7a3b7=new Map();for(let _0x58aeaf=0x0;_0x58aeaf<_0x3d78fb;_0x58aeaf++){const _0x539e5b=new Date(_0x25fb5b);_0x539e5b[_0x471b67(0x1e5)](_0x539e5b[_0x471b67(0x1c4)]()-_0x58aeaf);const _0x59c568=this['getDayKey'](_0x539e5b),_0x4af2f6=this[_0x471b67(0x19b)][_0x471b67(0x1f1)]['get'](_0x59c568);_0x4af2f6?(_0x50cec2+=_0x4af2f6['cost'],_0x3a5879+=_0x4af2f6[_0x471b67(0x18c)],_0x52f1bf+=_0x4af2f6['requests'],_0x320557['costByDay'][_0x471b67(0x1ef)]({'date':_0x59c568,'cost':_0x4af2f6['cost']}),_0x320557[_0x471b67(0x1aa)]['unshift']({'date':_0x59c568,'tokens':_0x4af2f6['tokens']}),Object[_0x471b67(0x1e7)](_0x4af2f6[_0x471b67(0x1cf)]||{})[_0x471b67(0x1d7)](([_0x5e770a,_0xbc795c])=>{const _0x22eed1=_0x471b67;!_0x2de348[_0x22eed1(0x1c0)](_0x5e770a)&&_0x2de348[_0x22eed1(0x1c3)](_0x5e770a,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x1d097c=_0x2de348[_0x22eed1(0x1a3)](_0x5e770a);_0x1d097c['cost']+=_0xbc795c['cost'],_0x1d097c['tokens']+=_0xbc795c['tokens'],_0x1d097c[_0x22eed1(0x1d6)]+=_0xbc795c[_0x22eed1(0x1d6)];}),Object['entries'](_0x4af2f6[_0x471b67(0x198)]||{})[_0x471b67(0x1d7)](([_0x14998e,_0x2c3d1b])=>{const _0x236b17=_0x471b67;!_0xa7a3b7[_0x236b17(0x1c0)](_0x14998e)&&_0xa7a3b7['set'](_0x14998e,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x2bb28b=_0xa7a3b7['get'](_0x14998e);_0x2bb28b['cost']+=_0x2c3d1b[_0x236b17(0x1d4)],_0x2bb28b[_0x236b17(0x18c)]+=_0x2c3d1b['tokens'],_0x2bb28b[_0x236b17(0x1d6)]+=_0x2c3d1b[_0x236b17(0x1d6)];})):(_0x320557[_0x471b67(0x1af)][_0x471b67(0x1ef)]({'date':_0x59c568,'cost':0x0}),_0x320557['tokensByDay'][_0x471b67(0x1ef)]({'date':_0x59c568,'tokens':0x0}));}return _0x320557['dailyAverages'][_0x471b67(0x1d4)]=_0x50cec2/_0x3d78fb,_0x320557[_0x471b67(0x1be)]['tokens']=_0x3a5879/_0x3d78fb,_0x320557[_0x471b67(0x1be)][_0x471b67(0x1d6)]=_0x52f1bf/_0x3d78fb,_0x320557['topAgents']=Array[_0x471b67(0x1c9)](_0x2de348['entries']())[_0x471b67(0x1cc)](([_0x3a3cc8,_0x16bd05])=>({'id':_0x3a3cc8,..._0x16bd05}))[_0x471b67(0x1bf)]((_0x3d371f,_0x5cfa84)=>_0x5cfa84['cost']-_0x3d371f[_0x471b67(0x1d4)])['slice'](0x0,0xa),_0x320557[_0x471b67(0x1b1)]=Array['from'](_0xa7a3b7[_0x471b67(0x1e7)]())['map'](([_0xd816c8,_0xc6505d])=>({'id':_0xd816c8,..._0xc6505d}))[_0x471b67(0x1bf)]((_0x186cf2,_0x5d97bc)=>_0x5d97bc[_0x471b67(0x1d4)]-_0x186cf2[_0x471b67(0x1d4)])[_0x471b67(0x1cb)](0x0,0xa),_0x320557;}['exportUsageData'](_0xd1bf06='json',_0x146928=null,_0x5ace71=null){const _0x1a8487=a0_0x2a3f22,_0x301d45={'budgets':this[_0x1a8487(0x1ce)],'total':this['usage']['total'],'daily':{},'weekly':{},'monthly':{}},_0x4eea20=(_0x3b5c10,_0x3ceb2e)=>{const _0x1902d5={};return _0x3b5c10['forEach']((_0x103ac5,_0x3f0329)=>{const _0x1f509f=_0x3ceb2e(_0x3f0329);(!_0x146928||_0x1f509f>=_0x146928)&&(!_0x5ace71||_0x1f509f<=_0x5ace71)&&(_0x1902d5[_0x3f0329]=_0x103ac5);}),_0x1902d5;};_0x146928||_0x5ace71?(_0x301d45[_0x1a8487(0x1f1)]=_0x4eea20(this['usage']['daily'],_0x4e5d12=>new Date(_0x4e5d12)),_0x301d45[_0x1a8487(0x1c7)]=_0x4eea20(this[_0x1a8487(0x19b)][_0x1a8487(0x1c7)],_0x36d87f=>new Date(_0x36d87f)),_0x301d45[_0x1a8487(0x1b5)]=_0x4eea20(this['usage']['monthly'],_0x5622db=>new Date(_0x5622db+_0x1a8487(0x194)))):(this[_0x1a8487(0x19b)][_0x1a8487(0x1f1)][_0x1a8487(0x1d7)]((_0x2e4e78,_0xe1d6fd)=>_0x301d45[_0x1a8487(0x1f1)][_0xe1d6fd]=_0x2e4e78),this[_0x1a8487(0x19b)]['weekly'][_0x1a8487(0x1d7)]((_0x322c16,_0x1f2061)=>_0x301d45['weekly'][_0x1f2061]=_0x322c16),this['usage'][_0x1a8487(0x1b5)]['forEach']((_0x5454c8,_0x33a6c3)=>_0x301d45[_0x1a8487(0x1b5)][_0x33a6c3]=_0x5454c8));if(_0xd1bf06===_0x1a8487(0x1d1))return this['convertToCSV'](_0x301d45);return JSON['stringify'](_0x301d45,null,0x2);}['initializeUsageEntry'](_0x3216ec,_0x4aba28){!_0x3216ec['has'](_0x4aba28)&&_0x3216ec['set'](_0x4aba28,this['createEmptyUsage']());}[a0_0x2a3f22(0x1ee)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}['updateUsageEntry'](_0x442f48,_0x15feba){const _0x219ad9=a0_0x2a3f22;_0x442f48['cost']+=_0x15feba['cost'],_0x442f48[_0x219ad9(0x18c)]+=_0x15feba['tokens'],_0x442f48['requests']+=0x1,!_0x442f48[_0x219ad9(0x1cf)][_0x15feba['agentId']]&&(_0x442f48['byAgent'][_0x15feba[_0x219ad9(0x191)]]=this['createEmptyUsage']()),_0x442f48[_0x219ad9(0x1cf)][_0x15feba[_0x219ad9(0x191)]][_0x219ad9(0x1d4)]+=_0x15feba['cost'],_0x442f48[_0x219ad9(0x1cf)][_0x15feba[_0x219ad9(0x191)]][_0x219ad9(0x18c)]+=_0x15feba['tokens'],_0x442f48['byAgent'][_0x15feba['agentId']]['requests']+=0x1,!_0x442f48['byModel'][_0x15feba[_0x219ad9(0x1c2)]]&&(_0x442f48['byModel'][_0x15feba[_0x219ad9(0x1c2)]]=this[_0x219ad9(0x1ee)]()),_0x442f48[_0x219ad9(0x198)][_0x15feba[_0x219ad9(0x1c2)]]['cost']+=_0x15feba['cost'],_0x442f48[_0x219ad9(0x198)][_0x15feba['modelId']]['tokens']+=_0x15feba['tokens'],_0x442f48[_0x219ad9(0x198)][_0x15feba['modelId']]['requests']+=0x1;}[a0_0x2a3f22(0x1ec)](_0x2523df,_0x2dbc33,_0x592ae6){const _0x16e8e0=a0_0x2a3f22,_0x2f2a79=this[_0x16e8e0(0x19b)][_0x16e8e0(0x1f1)][_0x16e8e0(0x1a3)](_0x2523df),_0x2044c2=this[_0x16e8e0(0x19b)][_0x16e8e0(0x1c7)][_0x16e8e0(0x1a3)](_0x2dbc33),_0x4794e3=this[_0x16e8e0(0x19b)][_0x16e8e0(0x1b5)]['get'](_0x592ae6);_0x2f2a79[_0x16e8e0(0x1d4)]>this[_0x16e8e0(0x1ce)]['daily']&&this['sendBudgetAlert']('daily',_0x2f2a79[_0x16e8e0(0x1d4)],this[_0x16e8e0(0x1ce)]['daily']),_0x2044c2[_0x16e8e0(0x1d4)]>this['budgets']['weekly']&&this[_0x16e8e0(0x1e3)](_0x16e8e0(0x1c7),_0x2044c2['cost'],this[_0x16e8e0(0x1ce)]['weekly']),_0x4794e3[_0x16e8e0(0x1d4)]>this[_0x16e8e0(0x1ce)][_0x16e8e0(0x1b5)]&&this['sendBudgetAlert'](_0x16e8e0(0x1b5),_0x4794e3['cost'],this[_0x16e8e0(0x1ce)]['monthly']),this['checkThresholdAlerts'](_0x2f2a79,_0x2044c2,_0x4794e3);}['checkThresholdAlerts'](_0x78a7b,_0x10099e,_0x3832d7){const _0x16bb31=a0_0x2a3f22,_0x504728=this[_0x16bb31(0x1b6)][_0x16bb31(0x1a7)];this[_0x16bb31(0x1dd)]('daily',_0x78a7b['cost'],this['budgets'][_0x16bb31(0x1f1)],_0x504728),this[_0x16bb31(0x1dd)]('weekly',_0x10099e['cost'],this[_0x16bb31(0x1ce)]['weekly'],_0x504728),this['checkThreshold'](_0x16bb31(0x1b5),_0x3832d7[_0x16bb31(0x1d4)],this['budgets'][_0x16bb31(0x1b5)],_0x504728);}[a0_0x2a3f22(0x1dd)](_0x1ef13c,_0x4c8940,_0x51533c,_0x53a517){const _0xb53460=a0_0x2a3f22,_0x384260=_0x4c8940/_0x51533c*0x64;for(const _0x2d283f of _0x53a517){if(_0x384260>=_0x2d283f){const _0xc8e5d3=_0x1ef13c+'_'+_0x2d283f,_0x40525e=this[_0xb53460(0x1b6)][_0xb53460(0x1f0)]['get'](_0xc8e5d3),_0x509e6c=Date['now']();(!_0x40525e||_0x509e6c-_0x40525e>0x36ee80)&&(this[_0xb53460(0x1a8)](_0x1ef13c,_0x384260,_0x2d283f,_0x4c8940,_0x51533c),this['alerts']['lastAlertTimes'][_0xb53460(0x1c3)](_0xc8e5d3,_0x509e6c));break;}}}['sendBudgetAlert'](_0x574a0b,_0x57bb7f,_0x3871c3){const _0x4efafe=a0_0x2a3f22;this['logger']['warn'](_0x4efafe(0x1ae),{'period':_0x574a0b,'currentUsage':_0x57bb7f,'budgetLimit':_0x3871c3,'excess':_0x57bb7f-_0x3871c3}),typeof process!==_0x4efafe(0x19d)&&process[_0x4efafe(0x196)]&&process['emit'](_0x4efafe(0x1b3),{'type':'budget_exceeded','period':_0x574a0b,'currentUsage':_0x57bb7f,'budgetLimit':_0x3871c3,'excess':_0x57bb7f-_0x3871c3});}[a0_0x2a3f22(0x1a8)](_0x13a3a3,_0x3a30e3,_0x23b78a,_0x3d3c8b,_0x27d9b2){const _0x12c49c=a0_0x2a3f22;this['logger']['warn'](_0x12c49c(0x1b8),{'period':_0x13a3a3,'percentage':Math['round'](_0x3a30e3),'threshold':_0x23b78a,'usage':_0x3d3c8b,'budget':_0x27d9b2}),typeof process!==_0x12c49c(0x19d)&&process['emit']&&process[_0x12c49c(0x196)](_0x12c49c(0x1b3),{'type':_0x12c49c(0x1d3),'period':_0x13a3a3,'percentage':Math[_0x12c49c(0x1a1)](_0x3a30e3),'threshold':_0x23b78a,'usage':_0x3d3c8b,'budget':_0x27d9b2});}[a0_0x2a3f22(0x1ab)](_0x21a0dd){const _0xaa2d65=a0_0x2a3f22;return _0x21a0dd['toISOString']()[_0xaa2d65(0x18f)]('T')[0x0];}[a0_0x2a3f22(0x1bb)](_0x13b5ea){const _0x151182=a0_0x2a3f22,_0x40effa=_0x13b5ea['getFullYear'](),_0x2afde2=this[_0x151182(0x1ed)](_0x13b5ea);return _0x40effa+'-W'+_0x2afde2[_0x151182(0x1ea)]()[_0x151182(0x195)](0x2,'0');}['getMonthKey'](_0x24505a){const _0x652185=a0_0x2a3f22,_0x269cdb=_0x24505a['getFullYear'](),_0x33c78c=_0x24505a['getMonth']()+0x1;return _0x269cdb+'-'+_0x33c78c['toString']()[_0x652185(0x195)](0x2,'0');}['getWeekNumber'](_0x1d5b4a){const _0x44e0b7=a0_0x2a3f22,_0xa3ba6f=new Date(_0x1d5b4a[_0x44e0b7(0x1e8)](),0x0,0x1),_0xba38fd=(_0x1d5b4a-_0xa3ba6f)/0x5265c00;return Math['ceil']((_0xba38fd+_0xa3ba6f[_0x44e0b7(0x197)]()+0x1)/0x7);}['convertToCSV'](_0x2149ef){const _0x407fae=a0_0x2a3f22,_0x35498f=[];return _0x35498f[_0x407fae(0x199)](['Period',_0x407fae(0x1db),_0x407fae(0x1f3),_0x407fae(0x1bc),'Requests',_0x407fae(0x1c8),_0x407fae(0x18e)]),Object['entries'](_0x2149ef[_0x407fae(0x1f1)])[_0x407fae(0x1d7)](([_0x54b5b0,_0x18ab9c])=>{const _0x42621b=_0x407fae;_0x35498f[_0x42621b(0x199)](['Daily',_0x54b5b0,_0x18ab9c['cost'],_0x18ab9c['tokens'],_0x18ab9c['requests'],'','']),Object['entries'](_0x18ab9c[_0x42621b(0x1cf)]||{})['forEach'](([_0x537aa0,_0x2985f0])=>{const _0x2b9bdd=_0x42621b;_0x35498f[_0x2b9bdd(0x199)]([_0x2b9bdd(0x1eb),_0x54b5b0,_0x2985f0['cost'],_0x2985f0[_0x2b9bdd(0x18c)],_0x2985f0[_0x2b9bdd(0x1d6)],_0x537aa0,'']);});}),_0x35498f[_0x407fae(0x1cc)](_0x5d088f=>_0x5d088f['join'](','))[_0x407fae(0x1dc)]('\x0a');}[a0_0x2a3f22(0x1bd)](){const _0x5777b5=a0_0x2a3f22;try{this[_0x5777b5(0x1b2)][_0x5777b5(0x1e4)](_0x5777b5(0x1d8));}catch(_0x29ff07){this[_0x5777b5(0x1b2)]['error']('Failed\x20to\x20load\x20usage\x20data',{'error':_0x29ff07['message']});}}['saveUsageData'](){const _0x5d124e=a0_0x2a3f22;try{this[_0x5d124e(0x1b2)]['debug'](_0x5d124e(0x1b7));}catch(_0x445d7e){this['logger'][_0x5d124e(0x193)](_0x5d124e(0x1d0),{'error':_0x445d7e[_0x5d124e(0x1cd)]});}}['setupPeriodicSave'](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}function a0_0x1300(){const _0x46c609=['BwvZC2fNzq','yNvKz2v0CW','yNLbz2vUDa','rMfPBgvKihrVihnHDMuGDxnHz2uGzgf0yq','y3n2','tu9oveHmwq','DgHYzxnOB2XKx3jLywnOzwq','y29ZDa','z2v0tw9KzwXvC2fNzq','CMvXDwvZDhm','zM9YrwfJAa','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','nZCZndm1qufdBw1e','otflt3jtDgO','rgf0zq','AM9PBG','y2HLy2TuAhjLC2HVBgq','mJaYmJi3ue9TzhDw','y29UzMLN','nJi2mhv2EurAsq','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','mti2owDfyxPeDq','C2vUzej1zgDLDefSzxj0','Aw5MBW','C2v0rgf0zq','nLLNtefxBq','zw50CMLLCW','z2v0rNvSBfLLyxi','Dg90ywXFDg9Rzw5Z','Dg9tDhjPBMC','rgfPBhK','y2HLy2TcDwrNzxrmAw1PDhm','z2v0v2vLA051BwjLCG','y3jLyxrLrw1WDhLvC2fNzq','Dw5ZAgLMDa','BgfZDefSzxj0vgLTzxm','zgfPBhK','Dg90ywW','q29ZDa','mJC1nJHhtMfMExu','Dg9Rzw5Z','z2v0tw9UDgHlzxK','tw9KzwW','C3bSAxq','z2v0vxnHz2u','ywDLBNrjza','z2v0uMvTywLUAw5NqNvKz2v0','zxjYB3i','ltaX','CgfKu3rHCNq','zw1PDa','z2v0rgf5','yNLnB2rLBa','ChvZAa','B3v0Chv0','DxnHz2u','C2v0qNvKz2v0CW','Dw5KzwzPBMvK','y29TCgXLDgLVBL90B2TLBNm','Aw5PDgLHBgL6zvvZywDLrw50CNK','z2v0qwDLBNrvC2fNzq','CM91BMq','mte1oda5BMz4Bw5K','z2v0','v0vfs0Xz','mtaWmtm2A0LdBMXh','Bwf4','DgHYzxnOB2XKCW','C2vUzfrOCMvZAg9SzefSzxj0','vxnHz2uGDhjHy2TLza','Dg9Rzw5ZqNLeyxK','z2v0rgf5s2v5','y2fSy3vSyxrLq29ZDa','ChjVBxb0x3rVA2vUCW','qNvKz2v0igXPBwL0igv4y2vLzgvK','y29ZDej5rgf5','z2v0vxnHz2vuCMvUzhm','Dg9Wtw9KzwXZ','Bg9Nz2vY','yNvKz2v0qwXLCNq','mtuXnda3nLHRwwjmvG','Bw9UDgHSEq','ywXLCNrZ','vxnHz2uGzgf0ysbZyxzLza','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','C2v0DxbqzxjPB2rPy1nHDMu','D2fYBG','z2v0v2vLA0TLEq','vg9Rzw5Z','Bg9HzfvZywDLrgf0yq','zgfPBhLbDMvYywDLCW','C29YDa','AgfZ','DxbKyxrLvxnHz2vfBNrYEq','Bw9KzwXjza','C2v0','z2v0rgf0zq','nhnOtNznvq','mJjcyuDhEM8','D2vLA2X5','qwDLBNq','zNjVBq','rMfPBgvKihrVihrYywnRihvZywDL','C2XPy2u','BwfW'];a0_0x1300=function(){return _0x46c609;};return a0_0x1300();}export default BudgetService;
1
+ const a0_0x5bb413=a0_0xf73e;(function(_0x357c32,_0x3564f3){const _0x4018a0=a0_0xf73e,_0x26430e=_0x357c32();while(!![]){try{const _0x3ffd87=parseInt(_0x4018a0(0xb6))/0x1*(-parseInt(_0x4018a0(0xb0))/0x2)+-parseInt(_0x4018a0(0xe3))/0x3+-parseInt(_0x4018a0(0xd1))/0x4*(parseInt(_0x4018a0(0xeb))/0x5)+-parseInt(_0x4018a0(0xe1))/0x6*(parseInt(_0x4018a0(0xe0))/0x7)+parseInt(_0x4018a0(0xb1))/0x8+parseInt(_0x4018a0(0xe2))/0x9+parseInt(_0x4018a0(0xa2))/0xa;if(_0x3ffd87===_0x3564f3)break;else _0x26430e['push'](_0x26430e['shift']());}catch(_0x500a43){_0x26430e['push'](_0x26430e['shift']());}}}(a0_0x3266,0xa14c5));function a0_0xf73e(_0x35deca,_0x58b8b8){_0x35deca=_0x35deca-0x9e;const _0x3266e6=a0_0x3266();let _0xf73e43=_0x3266e6[_0x35deca];if(a0_0xf73e['BzliXv']===undefined){var _0x541dd0=function(_0x47b11e){const _0x3a661e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ae9f2='',_0x4f91a5='';for(let _0x475bc6=0x0,_0x4563f9,_0x589c77,_0x2fc06d=0x0;_0x589c77=_0x47b11e['charAt'](_0x2fc06d++);~_0x589c77&&(_0x4563f9=_0x475bc6%0x4?_0x4563f9*0x40+_0x589c77:_0x589c77,_0x475bc6++%0x4)?_0x1ae9f2+=String['fromCharCode'](0xff&_0x4563f9>>(-0x2*_0x475bc6&0x6)):0x0){_0x589c77=_0x3a661e['indexOf'](_0x589c77);}for(let _0x3c5368=0x0,_0x510a1e=_0x1ae9f2['length'];_0x3c5368<_0x510a1e;_0x3c5368++){_0x4f91a5+='%'+('00'+_0x1ae9f2['charCodeAt'](_0x3c5368)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f91a5);};a0_0xf73e['mCbLva']=_0x541dd0,a0_0xf73e['Hmxpyh']={},a0_0xf73e['BzliXv']=!![];}const _0x362d8b=_0x3266e6[0x0],_0x539f6f=_0x35deca+_0x362d8b,_0xc87d61=a0_0xf73e['Hmxpyh'][_0x539f6f];return!_0xc87d61?(_0xf73e43=a0_0xf73e['mCbLva'](_0xf73e43),a0_0xf73e['Hmxpyh'][_0x539f6f]=_0xf73e43):_0xf73e43=_0xc87d61,_0xf73e43;}import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0x1ae9f2,_0x4f91a5){const _0x330665=a0_0xf73e;this['config']=_0x1ae9f2||{},this[_0x330665(0xa9)]=_0x4f91a5,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x330665(0xb8)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS[_0x330665(0xe4)],'monthly':BUDGET_LIMITS['MONTHLY']},this['alerts']={'enabled':!![],'thresholds':USAGE_ALERTS[_0x330665(0x9e)],'lastAlertTimes':new Map()},this[_0x330665(0xe6)](),this[_0x330665(0xd4)]();}['trackUsage'](_0x475bc6,_0x4563f9,_0x589c77){const _0x4c1c62=a0_0xf73e;try{const _0x2fc06d=this[_0x4c1c62(0xcf)](_0x4563f9,_0x589c77),_0x3c5368=new Date(),_0x510a1e=this[_0x4c1c62(0xc5)](_0x3c5368),_0x201eb9=this['getWeekKey'](_0x3c5368),_0xf27d80=this[_0x4c1c62(0xe7)](_0x3c5368);this['initializeUsageEntry'](this[_0x4c1c62(0xdc)]['daily'],_0x510a1e),this['initializeUsageEntry'](this[_0x4c1c62(0xdc)]['weekly'],_0x201eb9),this['initializeUsageEntry'](this[_0x4c1c62(0xdc)][_0x4c1c62(0xbc)],_0xf27d80);const _0x5abe00={'agentId':_0x475bc6,'modelId':_0x4563f9,'tokens':_0x589c77[_0x4c1c62(0xec)],'cost':_0x2fc06d,'timestamp':_0x3c5368['toISOString']()};return this['updateUsageEntry'](this['usage']['daily']['get'](_0x510a1e),_0x5abe00),this[_0x4c1c62(0xc2)](this['usage'][_0x4c1c62(0xdf)]['get'](_0x201eb9),_0x5abe00),this['updateUsageEntry'](this[_0x4c1c62(0xdc)]['monthly'][_0x4c1c62(0xa3)](_0xf27d80),_0x5abe00),this[_0x4c1c62(0xdc)][_0x4c1c62(0xb9)][_0x4c1c62(0xca)]+=_0x589c77['total_tokens'],this['usage']['total']['cost']+=_0x2fc06d,this[_0x4c1c62(0xdc)]['total'][_0x4c1c62(0xb3)]+=0x1,this['checkBudgetLimits'](_0x510a1e,_0x201eb9,_0xf27d80),this['logger'][_0x4c1c62(0xd0)]('Usage\x20tracked',{'agentId':_0x475bc6,'modelId':_0x4563f9,'tokens':_0x589c77['total_tokens'],'cost':_0x2fc06d,'totalCost':this[_0x4c1c62(0xdc)]['total'][_0x4c1c62(0xde)]}),{'cost':_0x2fc06d,'totalCost':this[_0x4c1c62(0xdc)]['total']['cost'],'totalTokens':this[_0x4c1c62(0xdc)]['total']['tokens'],'dailyUsage':this['usage'][_0x4c1c62(0xa5)]['get'](_0x510a1e),'budgetRemaining':this['getRemainingBudget']()};}catch(_0x5bd3f0){this['logger']['error']('Failed\x20to\x20track\x20usage',{'error':_0x5bd3f0['message'],'agentId':_0x475bc6,'modelId':_0x4563f9});throw _0x5bd3f0;}}['calculateCost'](_0x39b29b,_0x405219){const _0x48dedf=a0_0xf73e,_0x4f8556=COST_PER_TOKEN[_0x39b29b];if(!_0x4f8556)return this[_0x48dedf(0xa9)]['warn'](_0x48dedf(0xae),{'modelId':_0x39b29b}),0x0;const _0x5e1a36=(_0x405219['prompt_tokens']||0x0)*_0x4f8556['input'],_0x565ab8=(_0x405219['completion_tokens']||0x0)*_0x4f8556['output'];return _0x5e1a36+_0x565ab8;}['getUsage'](_0xb48704=a0_0x5bb413(0xa5),_0x294ff6=new Date()){const _0x58c7eb=a0_0x5bb413;switch(_0xb48704){case _0x58c7eb(0xa5):return this[_0x58c7eb(0xdc)]['daily']['get'](this[_0x58c7eb(0xc5)](_0x294ff6))||this['createEmptyUsage']();case _0x58c7eb(0xdf):return this[_0x58c7eb(0xdc)][_0x58c7eb(0xdf)][_0x58c7eb(0xa3)](this['getWeekKey'](_0x294ff6))||this['createEmptyUsage']();case'monthly':return this['usage']['monthly'][_0x58c7eb(0xa3)](this['getMonthKey'](_0x294ff6))||this[_0x58c7eb(0xef)]();case _0x58c7eb(0xb9):return{...this[_0x58c7eb(0xdc)][_0x58c7eb(0xb9)]};default:throw new Error('Invalid\x20period:\x20'+_0xb48704);}}['getAgentUsage'](_0x2b6038,_0x551246=a0_0x5bb413(0xa5)){const _0x479fb7=a0_0x5bb413,_0x1a68dd=this[_0x479fb7(0xd6)](_0x551246);return _0x1a68dd[_0x479fb7(0xcb)]?.[_0x2b6038]||this['createEmptyUsage']();}['getModelUsage'](_0x179365,_0x393d66=a0_0x5bb413(0xa5)){const _0x24e701=a0_0x5bb413,_0x1473ab=this[_0x24e701(0xd6)](_0x393d66);return _0x1473ab[_0x24e701(0xdb)]?.[_0x179365]||this['createEmptyUsage']();}['setBudgets'](_0x38e52b){const _0x5ebefd=a0_0x5bb413;if(_0x38e52b[_0x5ebefd(0xa5)]!==undefined)this[_0x5ebefd(0xb8)][_0x5ebefd(0xa5)]=_0x38e52b[_0x5ebefd(0xa5)];if(_0x38e52b['weekly']!==undefined)this[_0x5ebefd(0xb8)][_0x5ebefd(0xdf)]=_0x38e52b[_0x5ebefd(0xdf)];if(_0x38e52b[_0x5ebefd(0xbc)]!==undefined)this[_0x5ebefd(0xb8)]['monthly']=_0x38e52b['monthly'];this['logger']['info'](_0x5ebefd(0xee),this['budgets']),this[_0x5ebefd(0xac)]();}[a0_0x5bb413(0xd9)](){const _0x36e2e7=a0_0x5bb413,_0x15a462=new Date(),_0x5dfb0e=this[_0x36e2e7(0xd6)]('daily',_0x15a462),_0x33e0ab=this['getUsage'](_0x36e2e7(0xdf),_0x15a462),_0x5e60dd=this['getUsage']('monthly',_0x15a462);return{'daily':Math[_0x36e2e7(0xed)](0x0,this[_0x36e2e7(0xb8)][_0x36e2e7(0xa5)]-_0x5dfb0e[_0x36e2e7(0xde)]),'weekly':Math[_0x36e2e7(0xed)](0x0,this[_0x36e2e7(0xb8)]['weekly']-_0x33e0ab['cost']),'monthly':Math[_0x36e2e7(0xed)](0x0,this[_0x36e2e7(0xb8)][_0x36e2e7(0xbc)]-_0x5e60dd[_0x36e2e7(0xde)])};}['isWithinBudget'](_0x5cd058=a0_0x5bb413(0xa5)){const _0x241c9b=a0_0x5bb413,_0x3feaa9=this['getUsage'](_0x5cd058),_0x278506=this['budgets'][_0x5cd058];return _0x3feaa9[_0x241c9b(0xde)]<=_0x278506;}[a0_0x5bb413(0xba)](_0x395432=0x1e){const _0x19d872=a0_0x5bb413,_0x43db35={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x9d87ab=new Date();let _0x25c706=0x0,_0x205559=0x0,_0x2f8858=0x0;const _0x404f88=new Map(),_0x258adc=new Map();for(let _0x22b5f2=0x0;_0x22b5f2<_0x395432;_0x22b5f2++){const _0xc17337=new Date(_0x9d87ab);_0xc17337['setDate'](_0xc17337['getDate']()-_0x22b5f2);const _0x5f0a72=this[_0x19d872(0xc5)](_0xc17337),_0x1d7292=this[_0x19d872(0xdc)]['daily']['get'](_0x5f0a72);_0x1d7292?(_0x25c706+=_0x1d7292[_0x19d872(0xde)],_0x205559+=_0x1d7292[_0x19d872(0xca)],_0x2f8858+=_0x1d7292['requests'],_0x43db35['costByDay']['unshift']({'date':_0x5f0a72,'cost':_0x1d7292[_0x19d872(0xde)]}),_0x43db35[_0x19d872(0xc4)][_0x19d872(0xb4)]({'date':_0x5f0a72,'tokens':_0x1d7292[_0x19d872(0xca)]}),Object['entries'](_0x1d7292['byAgent']||{})[_0x19d872(0xdd)](([_0x2ea9fd,_0x4e60d0])=>{const _0x25ff13=_0x19d872;!_0x404f88['has'](_0x2ea9fd)&&_0x404f88[_0x25ff13(0xd5)](_0x2ea9fd,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x390426=_0x404f88['get'](_0x2ea9fd);_0x390426['cost']+=_0x4e60d0[_0x25ff13(0xde)],_0x390426['tokens']+=_0x4e60d0[_0x25ff13(0xca)],_0x390426['requests']+=_0x4e60d0[_0x25ff13(0xb3)];}),Object['entries'](_0x1d7292['byModel']||{})[_0x19d872(0xdd)](([_0x2a6b68,_0x42c881])=>{const _0x4e28b8=_0x19d872;!_0x258adc['has'](_0x2a6b68)&&_0x258adc[_0x4e28b8(0xd5)](_0x2a6b68,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x19c126=_0x258adc['get'](_0x2a6b68);_0x19c126['cost']+=_0x42c881[_0x4e28b8(0xde)],_0x19c126['tokens']+=_0x42c881[_0x4e28b8(0xca)],_0x19c126[_0x4e28b8(0xb3)]+=_0x42c881[_0x4e28b8(0xb3)];})):(_0x43db35['costByDay'][_0x19d872(0xb4)]({'date':_0x5f0a72,'cost':0x0}),_0x43db35['tokensByDay'][_0x19d872(0xb4)]({'date':_0x5f0a72,'tokens':0x0}));}return _0x43db35[_0x19d872(0xad)][_0x19d872(0xde)]=_0x25c706/_0x395432,_0x43db35[_0x19d872(0xad)]['tokens']=_0x205559/_0x395432,_0x43db35['dailyAverages']['requests']=_0x2f8858/_0x395432,_0x43db35[_0x19d872(0xab)]=Array['from'](_0x404f88[_0x19d872(0xbb)]())['map'](([_0x35ffe6,_0x51bd1b])=>({'id':_0x35ffe6,..._0x51bd1b}))['sort']((_0xe7ff18,_0x3f5743)=>_0x3f5743[_0x19d872(0xde)]-_0xe7ff18['cost'])[_0x19d872(0xa0)](0x0,0xa),_0x43db35[_0x19d872(0xea)]=Array[_0x19d872(0xa7)](_0x258adc['entries']())['map'](([_0xe0ef1c,_0x3d8388])=>({'id':_0xe0ef1c,..._0x3d8388}))[_0x19d872(0xa8)]((_0x9bc560,_0x4c8bb7)=>_0x4c8bb7['cost']-_0x9bc560[_0x19d872(0xde)])['slice'](0x0,0xa),_0x43db35;}[a0_0x5bb413(0xd8)](_0x370394='json',_0x17fd75=null,_0x284719=null){const _0x164121=a0_0x5bb413,_0x53b0fc={'budgets':this[_0x164121(0xb8)],'total':this[_0x164121(0xdc)]['total'],'daily':{},'weekly':{},'monthly':{}},_0x228f54=(_0x1a797c,_0x20194a)=>{const _0x59db90={};return _0x1a797c['forEach']((_0x116698,_0x47aa5f)=>{const _0x203a02=_0x20194a(_0x47aa5f);(!_0x17fd75||_0x203a02>=_0x17fd75)&&(!_0x284719||_0x203a02<=_0x284719)&&(_0x59db90[_0x47aa5f]=_0x116698);}),_0x59db90;};_0x17fd75||_0x284719?(_0x53b0fc['daily']=_0x228f54(this[_0x164121(0xdc)][_0x164121(0xa5)],_0x31bfe7=>new Date(_0x31bfe7)),_0x53b0fc['weekly']=_0x228f54(this['usage']['weekly'],_0x2d2b9b=>new Date(_0x2d2b9b)),_0x53b0fc[_0x164121(0xbc)]=_0x228f54(this[_0x164121(0xdc)]['monthly'],_0x156471=>new Date(_0x156471+'-01'))):(this[_0x164121(0xdc)]['daily'][_0x164121(0xdd)]((_0x36dec3,_0x28c69c)=>_0x53b0fc['daily'][_0x28c69c]=_0x36dec3),this[_0x164121(0xdc)]['weekly'][_0x164121(0xdd)]((_0x10b849,_0x44c981)=>_0x53b0fc['weekly'][_0x44c981]=_0x10b849),this['usage'][_0x164121(0xbc)]['forEach']((_0x5f0c27,_0x271121)=>_0x53b0fc['monthly'][_0x271121]=_0x5f0c27));if(_0x370394===_0x164121(0xc1))return this['convertToCSV'](_0x53b0fc);return JSON[_0x164121(0xaf)](_0x53b0fc,null,0x2);}[a0_0x5bb413(0xbf)](_0x344ef8,_0x58fcee){const _0x202e0a=a0_0x5bb413;!_0x344ef8[_0x202e0a(0xf1)](_0x58fcee)&&_0x344ef8[_0x202e0a(0xd5)](_0x58fcee,this[_0x202e0a(0xef)]());}[a0_0x5bb413(0xef)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x5bb413(0xc2)](_0x3fd5cb,_0x36e713){const _0x2210a6=a0_0x5bb413;_0x3fd5cb[_0x2210a6(0xde)]+=_0x36e713['cost'],_0x3fd5cb['tokens']+=_0x36e713[_0x2210a6(0xca)],_0x3fd5cb[_0x2210a6(0xb3)]+=0x1,!_0x3fd5cb[_0x2210a6(0xcb)][_0x36e713['agentId']]&&(_0x3fd5cb['byAgent'][_0x36e713['agentId']]=this['createEmptyUsage']()),_0x3fd5cb['byAgent'][_0x36e713['agentId']]['cost']+=_0x36e713[_0x2210a6(0xde)],_0x3fd5cb[_0x2210a6(0xcb)][_0x36e713['agentId']][_0x2210a6(0xca)]+=_0x36e713[_0x2210a6(0xca)],_0x3fd5cb[_0x2210a6(0xcb)][_0x36e713['agentId']]['requests']+=0x1,!_0x3fd5cb[_0x2210a6(0xdb)][_0x36e713['modelId']]&&(_0x3fd5cb[_0x2210a6(0xdb)][_0x36e713['modelId']]=this[_0x2210a6(0xef)]()),_0x3fd5cb['byModel'][_0x36e713['modelId']]['cost']+=_0x36e713['cost'],_0x3fd5cb['byModel'][_0x36e713[_0x2210a6(0xcc)]]['tokens']+=_0x36e713['tokens'],_0x3fd5cb[_0x2210a6(0xdb)][_0x36e713[_0x2210a6(0xcc)]][_0x2210a6(0xb3)]+=0x1;}[a0_0x5bb413(0xaa)](_0x38784c,_0x5e7658,_0x1e4956){const _0x421434=a0_0x5bb413,_0xb1e33=this['usage']['daily']['get'](_0x38784c),_0x317d63=this[_0x421434(0xdc)]['weekly'][_0x421434(0xa3)](_0x5e7658),_0x309013=this[_0x421434(0xdc)]['monthly'][_0x421434(0xa3)](_0x1e4956);_0xb1e33[_0x421434(0xde)]>this[_0x421434(0xb8)]['daily']&&this['sendBudgetAlert'](_0x421434(0xa5),_0xb1e33['cost'],this[_0x421434(0xb8)]['daily']),_0x317d63['cost']>this['budgets'][_0x421434(0xdf)]&&this[_0x421434(0xda)]('weekly',_0x317d63[_0x421434(0xde)],this[_0x421434(0xb8)]['weekly']),_0x309013[_0x421434(0xde)]>this[_0x421434(0xb8)]['monthly']&&this['sendBudgetAlert'](_0x421434(0xbc),_0x309013[_0x421434(0xde)],this['budgets'][_0x421434(0xbc)]),this[_0x421434(0xf0)](_0xb1e33,_0x317d63,_0x309013);}['checkThresholdAlerts'](_0x1a805a,_0x4060f0,_0x1401f7){const _0x114dc3=a0_0x5bb413,_0x146de8=this[_0x114dc3(0xc0)]['thresholds'];this[_0x114dc3(0xd3)](_0x114dc3(0xa5),_0x1a805a[_0x114dc3(0xde)],this['budgets'][_0x114dc3(0xa5)],_0x146de8),this['checkThreshold']('weekly',_0x4060f0[_0x114dc3(0xde)],this[_0x114dc3(0xb8)]['weekly'],_0x146de8),this['checkThreshold']('monthly',_0x1401f7[_0x114dc3(0xde)],this[_0x114dc3(0xb8)]['monthly'],_0x146de8);}[a0_0x5bb413(0xd3)](_0x178ba4,_0x25bde1,_0x1351e0,_0x4733c1){const _0xa01578=a0_0x5bb413,_0x4244d0=_0x25bde1/_0x1351e0*0x64;for(const _0x5581ef of _0x4733c1){if(_0x4244d0>=_0x5581ef){const _0x11dda5=_0x178ba4+'_'+_0x5581ef,_0x190c91=this['alerts']['lastAlertTimes']['get'](_0x11dda5),_0x4dba27=Date[_0xa01578(0xce)]();(!_0x190c91||_0x4dba27-_0x190c91>0x36ee80)&&(this['sendThresholdAlert'](_0x178ba4,_0x4244d0,_0x5581ef,_0x25bde1,_0x1351e0),this[_0xa01578(0xc0)]['lastAlertTimes']['set'](_0x11dda5,_0x4dba27));break;}}}[a0_0x5bb413(0xda)](_0x5a01c4,_0x24faf3,_0x15c85c){const _0x2d32c0=a0_0x5bb413;this['logger']['warn'](_0x2d32c0(0xc6),{'period':_0x5a01c4,'currentUsage':_0x24faf3,'budgetLimit':_0x15c85c,'excess':_0x24faf3-_0x15c85c}),typeof process!==_0x2d32c0(0xd7)&&process[_0x2d32c0(0xb2)]&&process['emit']('budgetAlert',{'type':_0x2d32c0(0xc7),'period':_0x5a01c4,'currentUsage':_0x24faf3,'budgetLimit':_0x15c85c,'excess':_0x24faf3-_0x15c85c});}[a0_0x5bb413(0xb5)](_0x1f3bb,_0x398c10,_0x1505c4,_0x5914dd,_0x4019a7){const _0x4c06f5=a0_0x5bb413;this[_0x4c06f5(0xa9)]['warn']('Budget\x20threshold\x20reached',{'period':_0x1f3bb,'percentage':Math[_0x4c06f5(0xa1)](_0x398c10),'threshold':_0x1505c4,'usage':_0x5914dd,'budget':_0x4019a7}),typeof process!=='undefined'&&process['emit']&&process['emit']('budgetAlert',{'type':'threshold_reached','period':_0x1f3bb,'percentage':Math[_0x4c06f5(0xa1)](_0x398c10),'threshold':_0x1505c4,'usage':_0x5914dd,'budget':_0x4019a7});}['getDayKey'](_0x54f374){return _0x54f374['toISOString']()['split']('T')[0x0];}['getWeekKey'](_0x5ae613){const _0x6db6bb=_0x5ae613['getFullYear'](),_0x15650d=this['getWeekNumber'](_0x5ae613);return _0x6db6bb+'-W'+_0x15650d['toString']()['padStart'](0x2,'0');}[a0_0x5bb413(0xe7)](_0x33d98c){const _0xe410e=a0_0x5bb413,_0x583825=_0x33d98c['getFullYear'](),_0x3d9a17=_0x33d98c[_0xe410e(0xc8)]()+0x1;return _0x583825+'-'+_0x3d9a17['toString']()['padStart'](0x2,'0');}['getWeekNumber'](_0x444f2c){const _0x33d329=a0_0x5bb413,_0x13266a=new Date(_0x444f2c[_0x33d329(0xd2)](),0x0,0x1),_0x3343b8=(_0x444f2c-_0x13266a)/0x5265c00;return Math[_0x33d329(0xc9)]((_0x3343b8+_0x13266a['getDay']()+0x1)/0x7);}[a0_0x5bb413(0xe8)](_0x2928ab){const _0x5629c5=a0_0x5bb413,_0x21e7c8=[];return _0x21e7c8[_0x5629c5(0xbe)]([_0x5629c5(0xcd),'Date','Cost','Tokens','Requests','Agent','Model']),Object[_0x5629c5(0xbb)](_0x2928ab['daily'])[_0x5629c5(0xdd)](([_0x27fca3,_0x64f880])=>{const _0x47a4ec=_0x5629c5;_0x21e7c8['push'](['Daily',_0x27fca3,_0x64f880[_0x47a4ec(0xde)],_0x64f880['tokens'],_0x64f880[_0x47a4ec(0xb3)],'','']),Object['entries'](_0x64f880[_0x47a4ec(0xcb)]||{})['forEach'](([_0x369407,_0x296764])=>{const _0x3a1078=_0x47a4ec;_0x21e7c8['push']([_0x3a1078(0xb7),_0x27fca3,_0x296764[_0x3a1078(0xde)],_0x296764['tokens'],_0x296764['requests'],_0x369407,'']);});}),_0x21e7c8[_0x5629c5(0xe5)](_0x2fa546=>_0x2fa546['join'](','))[_0x5629c5(0xc3)]('\x0a');}['loadUsageData'](){const _0x29d973=a0_0x5bb413;try{this['logger'][_0x29d973(0xd0)](_0x29d973(0xa4));}catch(_0x12d6be){this['logger'][_0x29d973(0x9f)]('Failed\x20to\x20load\x20usage\x20data',{'error':_0x12d6be['message']});}}['saveUsageData'](){const _0x22d573=a0_0x5bb413;try{this[_0x22d573(0xa9)][_0x22d573(0xa6)](_0x22d573(0xbd));}catch(_0xa8aed4){this['logger']['error'](_0x22d573(0xe9),{'error':_0xa8aed4['message']});}}[a0_0x5bb413(0xd4)](){setInterval(()=>{const _0x4a9da0=a0_0xf73e;this[_0x4a9da0(0xac)]();},0x493e0);}}export default BudgetService;function a0_0x3266(){const _0x5411a7=['Dg9Rzw5ZqNLeyxK','z2v0rgf5s2v5','qNvKz2v0igXPBwL0igv4y2vLzgvK','yNvKz2v0x2v4y2vLzgvK','z2v0tw9UDgG','y2vPBa','Dg9Rzw5Z','yNLbz2vUDa','Bw9KzwXjza','ugvYAw9K','BM93','y2fSy3vSyxrLq29ZDa','Aw5MBW','mJG5ota5nKL5txvSEa','z2v0rNvSBfLLyxi','y2HLy2TuAhjLC2HVBgq','C2v0DxbqzxjPB2rPy1nHDMu','C2v0','z2v0vxnHz2u','Dw5KzwzPBMvK','zxHWB3j0vxnHz2veyxrH','z2v0uMvTywLUAw5NqNvKz2v0','C2vUzej1zgDLDefSzxj0','yNLnB2rLBa','DxnHz2u','zM9YrwfJAa','y29ZDa','D2vLA2X5','mte5wfDXC1HS','mJa2mty2BuzUCLPw','ndG5nte3mNvgrNDeta','nJm4mZm3qNPKBMHo','v0vfs0Xz','BwfW','Bg9HzfvZywDLrgf0yq','z2v0tw9UDgHlzxK','y29UDMvYDfrVq1nw','rMfPBgvKihrVihnHDMuGDxnHz2uGzgf0yq','Dg9Wtw9KzwXZ','nujSwu13rG','Dg90ywXFDg9Rzw5Z','Bwf4','qNvKz2v0igXPBwL0CYb1CgrHDgvK','y3jLyxrLrw1WDhLvC2fNzq','y2HLy2TuAhjLC2HVBgrbBgvYDhm','AgfZ','veHsrvnit0XeuW','zxjYB3i','C2XPy2u','CM91BMq','mte2mta4nJbwCMjSB1O','z2v0','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','zgfPBhK','zgvIDwC','zNjVBq','C29YDa','Bg9Nz2vY','y2HLy2TcDwrNzxrmAw1PDhm','Dg9WqwDLBNrZ','C2f2zvvZywDLrgf0yq','zgfPBhLbDMvYywDLCW','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','C3rYAw5NAwz5','ndiYtuTsDvjy','nJG4otq1nM9PC0HzAW','zw1PDa','CMvXDwvZDhm','Dw5ZAgLMDa','C2vUzfrOCMvZAg9SzefSzxj0','mtGXowXOz1bJvW','rgfPBhK','yNvKz2v0CW','Dg90ywW','z2v0vxnHz2vuCMvUzhm','zw50CMLLCW','Bw9UDgHSEq','vxnHz2uGzgf0ysbZyxzLza','ChvZAa','Aw5PDgLHBgL6zvvZywDLrw50CNK','ywXLCNrZ','y3n2','DxbKyxrLvxnHz2vfBNrYEq','AM9PBG'];a0_0x3266=function(){return _0x5411a7;};return a0_0x3266();}
@@ -1 +1 @@
1
- const a0_0x2c59aa=a0_0x4f2b;(function(_0x537fad,_0x1da05a){const _0x569cb1=a0_0x4f2b,_0x1c8511=_0x537fad();while(!![]){try{const _0x484d32=-parseInt(_0x569cb1(0xb5))/0x1+parseInt(_0x569cb1(0xd8))/0x2+parseInt(_0x569cb1(0xe1))/0x3+parseInt(_0x569cb1(0xce))/0x4+-parseInt(_0x569cb1(0xcc))/0x5+-parseInt(_0x569cb1(0xb6))/0x6*(parseInt(_0x569cb1(0xc0))/0x7)+parseInt(_0x569cb1(0xdc))/0x8*(-parseInt(_0x569cb1(0xde))/0x9);if(_0x484d32===_0x1da05a)break;else _0x1c8511['push'](_0x1c8511['shift']());}catch(_0x12fbbd){_0x1c8511['push'](_0x1c8511['shift']());}}}(a0_0x6c06,0x53816));function a0_0x6c06(){const _0x314b41=['Aw5PDgLHBgL6zq','s0iIig1Vzgu9iMnVBNrLBNqIpGO','Bg9N','pc9HDhrHy2HLzc1MAwXLCZ4k','zM9YBwf0vgv4DezPBgu','zMXVB3i','mJyYnJe2nu9nzhnIzG','C2L6zq','mtCXoti3mM5Su0LXqW','yNvPBgreEw5HBwLJq29UDgv4Da','zM9YBwf0sw1Hz2vgAwXL','mcbcExrLCW','iIaVpG','zxn0Aw1HDgvKvg9Rzw5Z','CMvWBgfJzq','BwvZC2fNzq','yxr0ywnOBwvUDfnLCNzPy2u','Dg9gAxHLza','odaWmdiWD3bSEfLK','iIb0ExbLpsi','zxjYB3i','zM9YBwf0qNL0zxm','mJrpAKrNA2u','jMfTCdS','mtC0mtu5t3rRAMPY','pc9MAwXLlxjLzMvYzw5Jzxm+cG','z2v0qwn0AxzLqxr0ywnOBwvUDhm','mtG4mJCXmefWB0PACG','BgvUz3rO','zM9YBwf0q29UDgvUDezPBgu','Aw1Hz2u','rxjYB3iGzxn0Aw1HDgLUzYb0B3rHBcb0B2TLBNm','zMLSzxm','y29UDgvUDa','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','mZuZmJq1r0P2EvvJ','mtGXodzXAhjPtw4','Bg9Nz2vY','cIaGpc9MAwXLpG','iIbZAxPLpsi','Bw9Kzq','ica8zMLSzsbUyw1Lpsi','jMX0oW','zxnJyxbLwg1S','cJXHDhrHy2HLzc1MAwXLCZ4k','zM9YBwf0uMvMzxjLBMnLrMLSzq','ndeZD2LJuMTv','qNL0zxm','z2v0qxr0ywnOBwvUDfn1Bw1HCNK','zMLSDgvY','Dg9Rzw5fC3rPBwf0zq','iIbTB2rPzMLLzd0I'];a0_0x6c06=function(){return _0x314b41;};return a0_0x6c06();}function a0_0x4f2b(_0x69e938,_0xe708a3){_0x69e938=_0x69e938-0xae;const _0x6c063d=a0_0x6c06();let _0x4f2b4e=_0x6c063d[_0x69e938];if(a0_0x4f2b['huHiBx']===undefined){var _0x42c5ec=function(_0x3eb9ab){const _0x7bb3d6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14c266='',_0x495754='';for(let _0x33bcff=0x0,_0x27e150,_0x444204,_0x11fb8f=0x0;_0x444204=_0x3eb9ab['charAt'](_0x11fb8f++);~_0x444204&&(_0x27e150=_0x33bcff%0x4?_0x27e150*0x40+_0x444204:_0x444204,_0x33bcff++%0x4)?_0x14c266+=String['fromCharCode'](0xff&_0x27e150>>(-0x2*_0x33bcff&0x6)):0x0){_0x444204=_0x7bb3d6['indexOf'](_0x444204);}for(let _0x2c5600=0x0,_0x43449=_0x14c266['length'];_0x2c5600<_0x43449;_0x2c5600++){_0x495754+='%'+('00'+_0x14c266['charCodeAt'](_0x2c5600)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x495754);};a0_0x4f2b['egcpSs']=_0x42c5ec,a0_0x4f2b['PheRZE']={},a0_0x4f2b['huHiBx']=!![];}const _0x5864eb=_0x6c063d[0x0],_0x275620=_0x69e938+_0x5864eb,_0x120947=a0_0x4f2b['PheRZE'][_0x275620];return!_0x120947?(_0x4f2b4e=a0_0x4f2b['egcpSs'](_0x4f2b4e),a0_0x4f2b['PheRZE'][_0x275620]=_0x4f2b4e):_0x4f2b4e=_0x120947,_0x4f2b4e;}import a0_0x14c266 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x495754={},_0x33bcff=null){const _0xbf5d9=a0_0x4f2b;this['config']=_0x495754,this[_0xbf5d9(0xb7)]=_0x33bcff,this['attachmentService']=new a0_0x14c266(_0x495754,_0x33bcff);}async[a0_0x2c59aa(0xc6)](){const _0x2c9e68=a0_0x2c59aa;await this['attachmentService'][_0x2c9e68(0xc6)]();}async[a0_0x2c59aa(0xcf)](_0x27e150){const _0x5d7274=a0_0x2c59aa;try{const _0x444204=await this[_0x5d7274(0xd6)][_0x5d7274(0xe0)](_0x27e150);if(_0x444204[_0x5d7274(0xae)]===0x0)return'';const _0x11fb8f=_0x444204[_0x5d7274(0xc3)](_0x50cf30=>_0x50cf30[_0x5d7274(0xba)]===_0x5d7274(0xb3)),_0x2c5600=_0x444204[_0x5d7274(0xc3)](_0x4ffee1=>_0x4ffee1['mode']==='reference');let _0x43449='';if(_0x11fb8f[_0x5d7274(0xae)]>0x0){_0x43449+=_0x5d7274(0xbe);for(const _0x32a87b of _0x11fb8f){const _0x1c928f=await this[_0x5d7274(0xd6)]['getAttachmentContent'](_0x32a87b['fileId']);if(_0x1c928f){const _0x4b716c=this[_0x5d7274(0xaf)](_0x32a87b,_0x1c928f);_0x43449+=_0x4b716c+'\x0a';}}_0x43449+=_0x5d7274(0xc9);}if(_0x2c5600[_0x5d7274(0xae)]>0x0){_0x43449+='\x0a<file-references>\x0a';for(const _0x20e859 of _0x2c5600){const _0x4bacf6=this['formatReferenceFile'](_0x20e859);_0x43449+=_0x4bacf6+'\x0a';}_0x43449+=_0x5d7274(0xdf),_0x43449+=_0x5d7274(0xb4);}return _0x43449;}catch(_0x1f31ae){return this[_0x5d7274(0xb7)]?.[_0x5d7274(0xda)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x27e150,'error':_0x1f31ae[_0x5d7274(0xd5)]}),'';}}[a0_0x2c59aa(0xaf)](_0x3c9e9f,_0x2feb1c){const _0x2119d2=a0_0x2c59aa,{fileName:_0xf8cf24,fileType:_0x22acd3,size:_0x5d533f,contentType:_0x4eed8f}=_0x3c9e9f,_0x1ce749=(_0x5d533f/0x400)['toFixed'](0x2);if(_0x4eed8f==='text')return this[_0x2119d2(0xca)](_0x3c9e9f,_0x2feb1c);else{if(_0x4eed8f===_0x2119d2(0xb0))return this['formatImageFile'](_0x3c9e9f,_0x2feb1c);else{if(_0x4eed8f==='pdf')return this['formatPdfFile'](_0x3c9e9f,_0x2feb1c);}}return _0x2119d2(0xbb)+this[_0x2119d2(0xbd)](_0xf8cf24)+_0x2119d2(0xd9)+_0x22acd3+_0x2119d2(0xb9)+_0x1ce749+_0x2119d2(0xc7)+this[_0x2119d2(0xbd)](_0x2feb1c)+'\x0a\x20\x20</file>';}[a0_0x2c59aa(0xca)](_0x1a80e8,_0x34b847){const _0x25289f=a0_0x2c59aa,{fileName:_0x439082,fileType:_0x2c495b,size:_0xa52b78}=_0x1a80e8,_0x34ff48=(_0xa52b78/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x439082)+_0x25289f(0xd9)+_0x2c495b+_0x25289f(0xb9)+_0x34ff48+_0x25289f(0xc7)+this[_0x25289f(0xbd)](_0x34b847)+_0x25289f(0xb8);}[a0_0x2c59aa(0xd0)](_0x5cc356,_0x293bd2){const _0x16939e=a0_0x2c59aa,{fileName:_0x4d7a71,fileType:_0x227c6c,size:_0x994bb7}=_0x5cc356,_0x1ea9e8=(_0x994bb7/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x16939e(0xbd)](_0x4d7a71)+_0x16939e(0xd9)+_0x227c6c+_0x16939e(0xb9)+_0x1ea9e8+_0x16939e(0xc7)+_0x293bd2+_0x16939e(0xb8);}['formatPdfFile'](_0x2c1a3b,_0x5c2765){const _0xdd4f37=a0_0x2c59aa,{fileName:_0x304330,fileType:_0x4afc7a,size:_0x16c937}=_0x2c1a3b,_0x19d1f8=(_0x16c937/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x304330)+'\x22\x20type=\x22'+_0x4afc7a+'\x22\x20size=\x22'+_0x19d1f8+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0xdd4f37(0xbd)](_0x5c2765)+_0xdd4f37(0xb8);}[a0_0x2c59aa(0xbf)](_0x2eb1eb){const _0x31b5c3=a0_0x2c59aa,{fileName:_0x4b8a73,originalPath:_0x2f64a7,size:_0x435cd6,fileType:_0x3e1aa5,lastModified:_0x34cbea}=_0x2eb1eb,_0x32760d=this[_0x31b5c3(0xdb)](_0x435cd6),_0x26dc58=new Date(_0x34cbea)['toISOString']()['split']('T')[0x0];return _0x31b5c3(0xbb)+this[_0x31b5c3(0xbd)](_0x4b8a73)+'\x22\x20path=\x22'+this[_0x31b5c3(0xbd)](_0x2f64a7)+_0x31b5c3(0xb9)+_0x32760d+'\x22\x20type=\x22'+_0x3e1aa5+_0x31b5c3(0xc5)+_0x26dc58+_0x31b5c3(0xd2);}[a0_0x2c59aa(0xbd)](_0x11d961){const _0x3cda74=a0_0x2c59aa;if(!_0x11d961)return'';return _0x11d961['replace'](/&/g,_0x3cda74(0xdd))[_0x3cda74(0xd4)](/</g,_0x3cda74(0xbc))['replace'](/>/g,'&gt;')['replace'](/"/g,'&quot;')['replace'](/'/g,'&apos;');}[a0_0x2c59aa(0xdb)](_0x53c7e3){const _0x5f43e6=a0_0x2c59aa;if(_0x53c7e3===0x0)return _0x5f43e6(0xd1);const _0x4e2598=0x400,_0x1c249a=[_0x5f43e6(0xc1),'KB','MB','GB'],_0x19d107=Math[_0x5f43e6(0xcb)](Math[_0x5f43e6(0xc8)](_0x53c7e3)/Math[_0x5f43e6(0xc8)](_0x4e2598));return parseFloat((_0x53c7e3/Math['pow'](_0x4e2598,_0x19d107))[_0x5f43e6(0xd7)](0x2))+_0x1c249a[_0x19d107];}async['estimateTotalTokens'](_0x491b84){const _0x319f6f=a0_0x2c59aa;try{const _0x45555f=await this[_0x319f6f(0xd6)]['getActiveAttachments'](_0x491b84);let _0x7b9222=0x0;for(const _0x413eb2 of _0x45555f){_0x413eb2[_0x319f6f(0xba)]==='content'?_0x7b9222+=_0x413eb2[_0x319f6f(0xc4)]||0x0:_0x7b9222+=0x14;}return _0x7b9222;}catch(_0x2f917a){return this['logger']?.[_0x319f6f(0xda)](_0x319f6f(0xb1),{'agentId':_0x491b84,'error':_0x2f917a[_0x319f6f(0xd5)]}),0x0;}}async[a0_0x2c59aa(0xc2)](_0x3a7807){const _0x59e6d6=a0_0x2c59aa;try{const _0x558e57=await this[_0x59e6d6(0xd6)][_0x59e6d6(0xe0)](_0x3a7807),_0x5e4312={'totalActive':_0x558e57[_0x59e6d6(0xae)],'contentMode':_0x558e57[_0x59e6d6(0xc3)](_0x4212a8=>_0x4212a8[_0x59e6d6(0xba)]==='content')[_0x59e6d6(0xae)],'referenceMode':_0x558e57[_0x59e6d6(0xc3)](_0x85c3d7=>_0x85c3d7['mode']==='reference')['length'],'estimatedTokens':0x0,'files':[]};for(const _0xe3ba24 of _0x558e57){_0x5e4312[_0x59e6d6(0xd3)]+=_0xe3ba24[_0x59e6d6(0xc4)]||0x0,_0x5e4312[_0x59e6d6(0xb2)]['push']({'fileName':_0xe3ba24['fileName'],'mode':_0xe3ba24[_0x59e6d6(0xba)],'size':this['formatBytes'](_0xe3ba24[_0x59e6d6(0xcd)]),'tokens':_0xe3ba24['tokenEstimate']||0x0});}return _0x5e4312;}catch(_0x49af63){return this[_0x59e6d6(0xb7)]?.['error']('Error\x20getting\x20attachment\x20summary',{'agentId':_0x3a7807,'error':_0x49af63[_0x59e6d6(0xd5)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;
1
+ function a0_0x33fa(){const _0x2e5bae=['Bg9N','mtu0ntCZmfH1vKfRrq','CMvMzxjLBMnL','BgvUz3rO','jMfWB3m7','z2v0qwn0AxzLqxr0ywnOBwvUDhm','Aw5PDgLHBgL6zq','zM9YBwf0qNL0zxm','cJXHDhrHy2HLzc1MAwXLCZ4k','ner1zvbQDa','iIbZAxPLpsi','mtCWotbnueLzwfq','nZe1otHvzgXssuu','zM9YBwf0vgv4DezPBgu','zM9YBwf0q29UDgvUDezPBgu','cIaGpc9MAwXLpG','ndu4odaWmNvMs1HisW','mtqYnJDNu2T1y3y','CgrM','mJG3mdy0CLrLr0zr','Cg93','Dg9gAxHLza','BwvZC2fNzq','Bw9Kzq','ndjIAKjOBfa','odvPBvD4AhG','nZa1nZu5C0DxB1LS','s0iIig1Vzgu9iMnVBNrLBNqIpGO','y29UzMLN','zMLSDgvY','zxn0Aw1HDgvuB3rHBfrVA2vUCW','zMLSzu5HBwu','Aw1Hz2u','ica8zMLSzsbUyw1Lpsi','iIb0ExbLpsi','mJaYmJiWnffTChzezq','zM9YBwf0uMvMzxjLBMnLrMLSzq','pc9MAwXLlxjLzMvYzw5Jzxm+cG','zxnJyxbLwg1S','Bg9Nz2vY','ChvZAa','CMvWBgfJzq'];a0_0x33fa=function(){return _0x2e5bae;};return a0_0x33fa();}function a0_0x3785(_0x349945,_0x2a1230){_0x349945=_0x349945-0xaf;const _0x33fa88=a0_0x33fa();let _0x378579=_0x33fa88[_0x349945];if(a0_0x3785['BHlpGx']===undefined){var _0x125652=function(_0xb0780f){const _0x26c75c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b827f='',_0x18e703='';for(let _0x34523d=0x0,_0x49e45f,_0x516385,_0x48a1d9=0x0;_0x516385=_0xb0780f['charAt'](_0x48a1d9++);~_0x516385&&(_0x49e45f=_0x34523d%0x4?_0x49e45f*0x40+_0x516385:_0x516385,_0x34523d++%0x4)?_0x5b827f+=String['fromCharCode'](0xff&_0x49e45f>>(-0x2*_0x34523d&0x6)):0x0){_0x516385=_0x26c75c['indexOf'](_0x516385);}for(let _0x538175=0x0,_0x975c08=_0x5b827f['length'];_0x538175<_0x975c08;_0x538175++){_0x18e703+='%'+('00'+_0x5b827f['charCodeAt'](_0x538175)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18e703);};a0_0x3785['UcdoKu']=_0x125652,a0_0x3785['HljYfD']={},a0_0x3785['BHlpGx']=!![];}const _0x17b8b5=_0x33fa88[0x0],_0x4793da=_0x349945+_0x17b8b5,_0x1b818a=a0_0x3785['HljYfD'][_0x4793da];return!_0x1b818a?(_0x378579=a0_0x3785['UcdoKu'](_0x378579),a0_0x3785['HljYfD'][_0x4793da]=_0x378579):_0x378579=_0x1b818a,_0x378579;}const a0_0x1495ca=a0_0x3785;(function(_0x848eed,_0x5d694f){const _0x5bc057=a0_0x3785,_0x330197=_0x848eed();while(!![]){try{const _0x46b25f=parseInt(_0x5bc057(0xce))/0x1+parseInt(_0x5bc057(0xb5))/0x2+-parseInt(_0x5bc057(0xd7))/0x3*(-parseInt(_0x5bc057(0xbd))/0x4)+parseInt(_0x5bc057(0xcd))/0x5*(-parseInt(_0x5bc057(0xc0))/0x6)+-parseInt(_0x5bc057(0xcc))/0x7*(-parseInt(_0x5bc057(0xc7))/0x8)+parseInt(_0x5bc057(0xc4))/0x9+-parseInt(_0x5bc057(0xbf))/0xa*(parseInt(_0x5bc057(0xc5))/0xb);if(_0x46b25f===_0x5d694f)break;else _0x330197['push'](_0x330197['shift']());}catch(_0x3e6c33){_0x330197['push'](_0x330197['shift']());}}}(a0_0x33fa,0x6fe5e));import a0_0x5b827f from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x18e703={},_0x34523d=null){const _0x59a7a1=a0_0x3785;this[_0x59a7a1(0xd0)]=_0x18e703,this[_0x59a7a1(0xb1)]=_0x34523d,this['attachmentService']=new a0_0x5b827f(_0x18e703,_0x34523d);}async['initialize'](){const _0x59098c=a0_0x3785;await this['attachmentService'][_0x59098c(0xba)]();}async['buildDynamicContext'](_0x49e45f){const _0x20e73e=a0_0x3785;try{const _0x516385=await this['attachmentService']['getActiveAttachments'](_0x49e45f);if(_0x516385['length']===0x0)return'';const _0x48a1d9=_0x516385['filter'](_0x5b3f4b=>_0x5b3f4b['mode']==='content'),_0x538175=_0x516385['filter'](_0x48599d=>_0x48599d[_0x20e73e(0xcb)]==='reference');let _0x975c08='';if(_0x48a1d9['length']>0x0){_0x975c08+=_0x20e73e(0xbc);for(const _0x1d1c43 of _0x48a1d9){const _0x209357=await this['attachmentService']['getAttachmentContent'](_0x1d1c43['fileId']);if(_0x209357){const _0x1953af=this[_0x20e73e(0xc2)](_0x1d1c43,_0x209357);_0x975c08+=_0x1953af+'\x0a';}}_0x975c08+='</attached-files>\x0a';}if(_0x538175[_0x20e73e(0xb7)]>0x0){_0x975c08+='\x0a<file-references>\x0a';for(const _0x383a18 of _0x538175){const _0x120337=this[_0x20e73e(0xd8)](_0x383a18);_0x975c08+=_0x120337+'\x0a';}_0x975c08+=_0x20e73e(0xaf),_0x975c08+='\x0aNote:\x20Referenced\x20files\x20can\x20be\x20accessed\x20using\x20the\x20filesystem\x20tool\x20if\x20needed.\x0a';}return _0x975c08;}catch(_0x821810){return this['logger']?.['error']('Error\x20building\x20dynamic\x20context',{'agentId':_0x49e45f,'error':_0x821810[_0x20e73e(0xca)]}),'';}}['formatContentFile'](_0x1fc6b0,_0x56a1c4){const _0x2c433e=a0_0x3785,{fileName:_0x24c13e,fileType:_0x1d1b6e,size:_0x1729ee,contentType:_0xc8f3d3}=_0x1fc6b0,_0x27cdf8=(_0x1729ee/0x400)[_0x2c433e(0xc9)](0x2);if(_0xc8f3d3==='text')return this[_0x2c433e(0xc1)](_0x1fc6b0,_0x56a1c4);else{if(_0xc8f3d3===_0x2c433e(0xd4))return this['formatImageFile'](_0x1fc6b0,_0x56a1c4);else{if(_0xc8f3d3===_0x2c433e(0xc6))return this['formatPdfFile'](_0x1fc6b0,_0x56a1c4);}}return _0x2c433e(0xd5)+this['escapeXml'](_0x24c13e)+'\x22\x20type=\x22'+_0x1d1b6e+_0x2c433e(0xbe)+_0x27cdf8+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0x2c433e(0xb0)](_0x56a1c4)+'\x0a\x20\x20</file>';}[a0_0x1495ca(0xc1)](_0x5e4c61,_0x2c6141){const _0x2ef14c=a0_0x1495ca,{fileName:_0x2a69c8,fileType:_0x9bf2ca,size:_0x1bb13d}=_0x5e4c61,_0x556a2a=(_0x1bb13d/0x400)[_0x2ef14c(0xc9)](0x2);return _0x2ef14c(0xd5)+this['escapeXml'](_0x2a69c8)+'\x22\x20type=\x22'+_0x9bf2ca+'\x22\x20size=\x22'+_0x556a2a+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0x2ef14c(0xb0)](_0x2c6141)+_0x2ef14c(0xc3);}['formatImageFile'](_0x428b59,_0x30f685){const _0x3a368d=a0_0x1495ca,{fileName:_0x1a6c54,fileType:_0x3877fc,size:_0x468105}=_0x428b59,_0x48cb02=(_0x468105/0x400)['toFixed'](0x2);return _0x3a368d(0xd5)+this['escapeXml'](_0x1a6c54)+_0x3a368d(0xd6)+_0x3877fc+'\x22\x20size=\x22'+_0x48cb02+_0x3a368d(0xcf)+_0x30f685+_0x3a368d(0xc3);}['formatPdfFile'](_0x58fee2,_0xf6a02c){const _0x52df71=a0_0x1495ca,{fileName:_0x21b581,fileType:_0xbf238e,size:_0x29b64e}=_0x58fee2,_0x231371=(_0x29b64e/0x400)['toFixed'](0x2);return _0x52df71(0xd5)+this['escapeXml'](_0x21b581)+'\x22\x20type=\x22'+_0xbf238e+_0x52df71(0xbe)+_0x231371+_0x52df71(0xcf)+this['escapeXml'](_0xf6a02c)+'\x0a\x20\x20</file>';}['formatReferenceFile'](_0x4b72be){const _0x1ba5f6=a0_0x1495ca,{fileName:_0xb0afc4,originalPath:_0x191783,size:_0x3139c4,fileType:_0x4f85c6,lastModified:_0x43f2d9}=_0x4b72be,_0x3ea333=this[_0x1ba5f6(0xbb)](_0x3139c4),_0x57c7fb=new Date(_0x43f2d9)['toISOString']()['split']('T')[0x0];return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0xb0afc4)+'\x22\x20path=\x22'+this[_0x1ba5f6(0xb0)](_0x191783)+_0x1ba5f6(0xbe)+_0x3ea333+_0x1ba5f6(0xd6)+_0x4f85c6+'\x22\x20modified=\x22'+_0x57c7fb+'\x22\x20/>';}[a0_0x1495ca(0xb0)](_0x5420c6){const _0x38e34a=a0_0x1495ca;if(!_0x5420c6)return'';return _0x5420c6[_0x38e34a(0xb3)](/&/g,'&amp;')['replace'](/</g,'&lt;')[_0x38e34a(0xb3)](/>/g,'&gt;')['replace'](/"/g,'&quot;')[_0x38e34a(0xb3)](/'/g,_0x38e34a(0xb8));}['formatBytes'](_0x4fe5f7){const _0x4401ab=a0_0x1495ca;if(_0x4fe5f7===0x0)return'0\x20Bytes';const _0x4991bc=0x400,_0x5333c1=['Bytes','KB','MB','GB'],_0x2b143b=Math['floor'](Math['log'](_0x4fe5f7)/Math[_0x4401ab(0xb4)](_0x4991bc));return parseFloat((_0x4fe5f7/Math[_0x4401ab(0xc8)](_0x4991bc,_0x2b143b))['toFixed'](0x2))+_0x5333c1[_0x2b143b];}async[a0_0x1495ca(0xd2)](_0xd47e60){const _0x4c211f=a0_0x1495ca;try{const _0x1cfa93=await this['attachmentService'][_0x4c211f(0xb9)](_0xd47e60);let _0x1a1ef4=0x0;for(const _0x5d326d of _0x1cfa93){_0x5d326d['mode']==='content'?_0x1a1ef4+=_0x5d326d['tokenEstimate']||0x0:_0x1a1ef4+=0x14;}return _0x1a1ef4;}catch(_0x2cb575){return this['logger']?.['error']('Error\x20estimating\x20total\x20tokens',{'agentId':_0xd47e60,'error':_0x2cb575[_0x4c211f(0xca)]}),0x0;}}async['getAttachmentSummary'](_0x58ce27){const _0x37eb4=a0_0x1495ca;try{const _0x4b6527=await this['attachmentService']['getActiveAttachments'](_0x58ce27),_0x13019e={'totalActive':_0x4b6527[_0x37eb4(0xb7)],'contentMode':_0x4b6527[_0x37eb4(0xd1)](_0x1a7c9f=>_0x1a7c9f[_0x37eb4(0xcb)]==='content')['length'],'referenceMode':_0x4b6527['filter'](_0x5415d9=>_0x5415d9[_0x37eb4(0xcb)]===_0x37eb4(0xb6))['length'],'estimatedTokens':0x0,'files':[]};for(const _0x42b66b of _0x4b6527){_0x13019e['estimatedTokens']+=_0x42b66b['tokenEstimate']||0x0,_0x13019e['files'][_0x37eb4(0xb2)]({'fileName':_0x42b66b[_0x37eb4(0xd3)],'mode':_0x42b66b[_0x37eb4(0xcb)],'size':this['formatBytes'](_0x42b66b['size']),'tokens':_0x42b66b['tokenEstimate']||0x0});}return _0x13019e;}catch(_0x4f9643){return this[_0x37eb4(0xb1)]?.['error']('Error\x20getting\x20attachment\x20summary',{'agentId':_0x58ce27,'error':_0x4f9643['message']}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;