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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/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-DzOU48ux.js → index-CcwO7jS4.js} +72 -72
  122. package/web-ui/build/static/index-CRkOpV4k.css +0 -1
@@ -1 +1 @@
1
- (function(_0x3da81d,_0x5142cf){const _0x5623b1=a0_0x25f9,_0x5639b4=_0x3da81d();while(!![]){try{const _0x418346=-parseInt(_0x5623b1(0x1dd))/0x1+-parseInt(_0x5623b1(0x1d5))/0x2*(parseInt(_0x5623b1(0x1b5))/0x3)+-parseInt(_0x5623b1(0x1d9))/0x4+parseInt(_0x5623b1(0x1bf))/0x5+parseInt(_0x5623b1(0x1c1))/0x6+-parseInt(_0x5623b1(0x1c6))/0x7*(parseInt(_0x5623b1(0x1d1))/0x8)+parseInt(_0x5623b1(0x1e2))/0x9;if(_0x418346===_0x5142cf)break;else _0x5639b4['push'](_0x5639b4['shift']());}catch(_0x3c5111){_0x5639b4['push'](_0x5639b4['shift']());}}}(a0_0x2d9f,0xe59cf));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0x2e5db6){const _0x2ec367=a0_0x25f9;if(!_0x2e5db6['taskList']||!_0x2e5db6['taskList'][_0x2ec367(0x1b8)]||!Array['isArray'](_0x2e5db6['taskList']['tasks']))return![];return _0x2e5db6[_0x2ec367(0x1c7)]['tasks']['some'](_0x43632f=>_0x43632f[_0x2ec367(0x1c0)]===TASK_STATUS['PENDING']||_0x43632f[_0x2ec367(0x1c0)]===TASK_STATUS['IN_PROGRESS']);}function getMessageQueueStatus(_0xa7829a){const _0x3f2dbc=a0_0x25f9,_0x27bd2e=_0xa7829a['messageQueues']||{},_0x2a25ab={'toolResults':Array[_0x3f2dbc(0x1ba)](_0x27bd2e['toolResults'])?_0x27bd2e[_0x3f2dbc(0x1e0)]['length']:0x0,'interAgentMessages':Array['isArray'](_0x27bd2e[_0x3f2dbc(0x1b4)])?_0x27bd2e[_0x3f2dbc(0x1b4)]['length']:0x0,'userMessages':Array['isArray'](_0x27bd2e[_0x3f2dbc(0x1d4)])?_0x27bd2e['userMessages']['length']:0x0};return _0x2a25ab['total']=_0x2a25ab['toolResults']+_0x2a25ab['interAgentMessages']+_0x2a25ab[_0x3f2dbc(0x1d4)],{'hasMessages':_0x2a25ab[_0x3f2dbc(0x1c9)]>0x0,'hasUserMessages':_0x2a25ab[_0x3f2dbc(0x1d4)]>0x0,'hasInterAgentMessages':_0x2a25ab[_0x3f2dbc(0x1b4)]>0x0,'hasToolResults':_0x2a25ab[_0x3f2dbc(0x1e0)]>0x0,'counts':_0x2a25ab};}function hasUnprocessedIncomingMessages(_0x252478){const _0x2ffa95=a0_0x25f9;if(_0x252478[_0x2ffa95(0x1be)]&&Array[_0x2ffa95(0x1ba)](_0x252478[_0x2ffa95(0x1be)])&&_0x252478['incomingMessages'][_0x2ffa95(0x1b6)]>0x0)return!![];if(_0x252478['interAgentTracking']&&_0x252478[_0x2ffa95(0x1b3)]instanceof Map&&_0x252478['interAgentTracking'][_0x2ffa95(0x1d0)]>0x0){const _0xb8219=Date[_0x2ffa95(0x1c8)]();for(const _0x14583e of _0x252478['interAgentTracking'][_0x2ffa95(0x1e1)]()){if(_0x14583e['lastReceived']&&_0xb8219-_0x14583e['lastReceived']<SCHEDULER_CONFIG['RECENT_MESSAGE_THRESHOLD_MS']&&_0x14583e['lastType']==='received')return!![];}}return![];}function isAgentDelayed(_0x2f9f8c){const _0x2166c0=a0_0x25f9;if(!_0x2f9f8c['delayEndTime'])return![];return new Date()<new Date(_0x2f9f8c[_0x2166c0(0x1d8)]);}function isAgentPaused(_0x1af248){const _0x5b50ec=a0_0x25f9;if(_0x1af248['status']===AGENT_STATUS[_0x5b50ec(0x1dc)]){if(_0x1af248['pausedUntil'])return new Date()<new Date(_0x1af248['pausedUntil']);return!![];}if(_0x1af248['pausedUntil']&&new Date()<new Date(_0x1af248['pausedUntil']))return!![];return![];}function hasAutonomousWorkComplete(_0xe194d7){return _0xe194d7['autonomousWorkComplete']===!![];}export function shouldAgentBeActive(_0x4ce92e){const _0x38842b=a0_0x25f9;if(!_0x4ce92e)return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_NOT_FOUND'],'details':'Agent\x20object\x20is\x20null\x20or\x20undefined'};if(_0x4ce92e['status']!==AGENT_STATUS[_0x38842b(0x1c5)])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_INACTIVE_STATUS'],'details':'Agent\x20status\x20is\x20'+_0x4ce92e[_0x38842b(0x1c0)]+',\x20expected\x20'+AGENT_STATUS[_0x38842b(0x1c5)]};if(isAgentDelayed(_0x4ce92e))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x38842b(0x1cd)],'details':_0x38842b(0x1b9)+_0x4ce92e['delayEndTime']};if(isAgentPaused(_0x4ce92e))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_PAUSED'],'details':_0x4ce92e[_0x38842b(0x1b0)]?'Agent\x20paused\x20until\x20'+_0x4ce92e[_0x38842b(0x1b0)]:'Agent\x20paused\x20indefinitely'};if(_0x4ce92e['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x38842b(0x1bb)],'details':_0x38842b(0x1c3)};if(_0x4ce92e['modeState']===AGENT_MODE_STATES[_0x38842b(0x1d6)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['AUTONOMOUS_MODE_ACTIVE'],'details':'Agent\x20is\x20currently\x20executing\x20(modeState=EXECUTING)'};const _0x2ed3cf=getMessageQueueStatus(_0x4ce92e);if(_0x4ce92e['mode']===AGENT_MODES['AGENT']){const _0x5bd24d=hasPendingTasks(_0x4ce92e),unprocessedMessages=hasUnprocessedIncomingMessages(_0x4ce92e);if(_0x5bd24d)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x2ed3cf['hasMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_QUEUED_MESSAGES'],'details':_0x38842b(0x1d7)+_0x2ed3cf[_0x38842b(0x1df)][_0x38842b(0x1c9)]+_0x38842b(0x1e3)+_0x2ed3cf[_0x38842b(0x1df)]['toolResults']+_0x38842b(0x1c4)+_0x2ed3cf['counts'][_0x38842b(0x1b4)]+',\x20U:'+_0x2ed3cf[_0x38842b(0x1df)][_0x38842b(0x1d4)]+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x38842b(0x1cf)],'details':'Agent\x20has\x20unprocessed\x20incoming\x20messages'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x38842b(0x1b2)],'details':_0x38842b(0x1bc)};}if(_0x4ce92e['mode']===AGENT_MODES[_0x38842b(0x1cc)]){if(_0x2ed3cf[_0x38842b(0x1ce)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_USER_MESSAGES'],'details':'Agent\x20has\x20'+_0x2ed3cf[_0x38842b(0x1df)]['userMessages']+_0x38842b(0x1da)};if(_0x2ed3cf[_0x38842b(0x1d3)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_INTER_AGENT_MESSAGES'],'details':_0x38842b(0x1d7)+_0x2ed3cf[_0x38842b(0x1df)]['interAgentMessages']+_0x38842b(0x1ca)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['CHAT_MODE_NO_MESSAGES'],'details':_0x2ed3cf[_0x38842b(0x1cb)]?_0x38842b(0x1b7)+_0x2ed3cf['counts'][_0x38842b(0x1e0)]+'\x20tool\x20results\x20but\x20no\x20new\x20messages':_0x38842b(0x1de)};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS['UNKNOWN_MODE'],'details':'Unknown\x20agent\x20mode:\x20'+_0x4ce92e['mode']};}function a0_0x25f9(_0x14a182,_0x5c48f8){_0x14a182=_0x14a182-0x1b0;const _0x2d9f4e=a0_0x2d9f();let _0x25f95b=_0x2d9f4e[_0x14a182];if(a0_0x25f9['ZTDHoM']===undefined){var _0x47fe22=function(_0x157ff5){const _0x528bca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e5db6='',_0x43632f='';for(let _0xa7829a=0x0,_0x27bd2e,_0x2a25ab,_0x252478=0x0;_0x2a25ab=_0x157ff5['charAt'](_0x252478++);~_0x2a25ab&&(_0x27bd2e=_0xa7829a%0x4?_0x27bd2e*0x40+_0x2a25ab:_0x2a25ab,_0xa7829a++%0x4)?_0x2e5db6+=String['fromCharCode'](0xff&_0x27bd2e>>(-0x2*_0xa7829a&0x6)):0x0){_0x2a25ab=_0x528bca['indexOf'](_0x2a25ab);}for(let _0xb8219=0x0,_0x14583e=_0x2e5db6['length'];_0xb8219<_0x14583e;_0xb8219++){_0x43632f+='%'+('00'+_0x2e5db6['charCodeAt'](_0xb8219)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43632f);};a0_0x25f9['WttyxV']=_0x47fe22,a0_0x25f9['hSHzCu']={},a0_0x25f9['ZTDHoM']=!![];}const _0x17f3f1=_0x2d9f4e[0x0],_0x1f3401=_0x14a182+_0x17f3f1,_0x51cdee=a0_0x25f9['hSHzCu'][_0x1f3401];return!_0x51cdee?(_0x25f95b=a0_0x25f9['WttyxV'](_0x25f95b),a0_0x25f9['hSHzCu'][_0x1f3401]=_0x25f95b):_0x25f95b=_0x51cdee,_0x25f95b;}function a0_0x2d9f(){const _0x12445d=['tK9FuevoreLor19xt1jl','Aw50zxjbz2vUDfrYywnRAw5N','Aw50zxjbz2vUDe1LC3nHz2vZ','mtqXEwjwwMHn','BgvUz3rO','q0HbvcbTB2rLic0GAgfZia','DgfZA3m','qwDLBNqGzgvSyxLLzcb1BNrPBca','AxnbCNjHEq','u1rpuf9srvfvrvnuruq','quDftLqGBw9KzsbHz2vUDcbOyxmGBM8GCgvUzgLUzYb0yxnRCYbVCIbTzxnZywDLCW','zNjVBq','Aw5JB21PBMDnzxnZywDLCW','ndu4mZmZnuTsBvzhtW','C3rHDhvZ','nJG5mdeYngvdAMvLuG','ywn0AxzL','qwDLBNqGC3rVCcbOyxmGyMvLBIbYzxf1zxn0zwq','lcbjoG','qunusvzf','ndaZodCZngn4vhndqG','DgfZA0XPC3q','BM93','Dg90ywW','igLUDgvYlwfNzw50ig1LC3nHz2uOCYKGDg8GChjVy2vZCW','AgfZvg9VBfjLC3vSDhm','q0Hbva','quDftLrFrevmqvLfra','AgfZvxnLCK1LC3nHz2vZ','qvvut05ptu9vu19nt0rfx0fdveLwrq','C2L6zq','ogz5wMvYrq','C3rVCfjLCxvLC3rLza','AgfZsw50zxjbz2vUDe1LC3nHz2vZ','DxnLCK1LC3nHz2vZ','nti2mZzfwKDlvgm','rvHfq1vusu5h','qwDLBNqGAgfZia','zgvSyxLfBMruAw1L','nteXnZa2ogHJuvzfwq','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','CMvHC29U','uefvu0ve','mtiXmJu4mxrwqLPVBG','q0HbvcbTB2rLic0GBM8GBwvZC2fNzxmGDg8GChjVy2vZCW','y291BNrZ','Dg9VBfjLC3vSDhm','DMfSDwvZ','mJG2mZeWnZbZwgzvt3q','ihf1zxvLzcbTzxnZywDLCYaOvdO','qwDLBNqGCgf1C2vKihvUDgLSia','Cgf1C2vKvw50AwW','BwfW'];a0_0x2d9f=function(){return _0x12445d;};return a0_0x2d9f();}export function getActiveAgents(_0x35d335){const _0x4185b5=a0_0x25f9,_0x3a5417=_0x35d335 instanceof Map?Array[_0x4185b5(0x1bd)](_0x35d335[_0x4185b5(0x1e1)]()):_0x35d335;return _0x3a5417[_0x4185b5(0x1b1)](_0x1e0eb2=>{const _0x1780d6=shouldAgentBeActive(_0x1e0eb2);return{'agent':_0x1e0eb2,'agentId':_0x1e0eb2['id'],'sessionId':_0x1e0eb2['sessionId'],..._0x1780d6};})['filter'](_0x2278f3=>_0x2278f3['active']);}export function getAllAgentActivityStatus(_0x5688a1){const _0x416909=a0_0x25f9,_0x19e9e7=_0x5688a1 instanceof Map?Array[_0x416909(0x1bd)](_0x5688a1[_0x416909(0x1e1)]()):_0x5688a1;return _0x19e9e7['map'](_0x38379f=>{const _0x308312=_0x416909,_0x5b8547=shouldAgentBeActive(_0x38379f),_0x4fa19c=getMessageQueueStatus(_0x38379f);return{'agentId':_0x38379f['id'],'agentName':_0x38379f['name'],'mode':_0x38379f['mode'],'status':_0x38379f[_0x308312(0x1c0)],'active':_0x5b8547[_0x308312(0x1c2)],'reason':_0x5b8547[_0x308312(0x1db)],'details':_0x5b8547['details'],'queueCounts':_0x4fa19c[_0x308312(0x1df)],'hasPendingTasks':hasPendingTasks(_0x38379f),'isDelayed':isAgentDelayed(_0x38379f),'isPaused':isAgentPaused(_0x38379f),'stopRequested':_0x38379f[_0x308312(0x1d2)]||![],'delayEndTime':_0x38379f[_0x308312(0x1d8)]||null,'pausedUntil':_0x38379f[_0x308312(0x1b0)]||null};});}export function shouldSkipIteration(_0x484b4e){const _0x38b02e=a0_0x25f9;if(!_0x484b4e)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x484b4e))return{'skip':!![],'reason':_0x38b02e(0x1b9)+_0x484b4e[_0x38b02e(0x1d8)]};if(_0x484b4e[_0x38b02e(0x1b0)]&&new Date()<new Date(_0x484b4e['pausedUntil']))return{'skip':!![],'reason':_0x38b02e(0x1e4)+_0x484b4e['pausedUntil']};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(_0x5dafed,_0x5c2a40){const _0x3411b2=a0_0x4b69,_0x9a531b=_0x5dafed();while(!![]){try{const _0x335d36=-parseInt(_0x3411b2(0x1cb))/0x1*(parseInt(_0x3411b2(0x1c2))/0x2)+parseInt(_0x3411b2(0x1cd))/0x3*(-parseInt(_0x3411b2(0x1da))/0x4)+parseInt(_0x3411b2(0x1b2))/0x5*(parseInt(_0x3411b2(0x1d5))/0x6)+parseInt(_0x3411b2(0x1de))/0x7+-parseInt(_0x3411b2(0x1d8))/0x8*(parseInt(_0x3411b2(0x1ae))/0x9)+parseInt(_0x3411b2(0x1bd))/0xa*(-parseInt(_0x3411b2(0x1db))/0xb)+parseInt(_0x3411b2(0x1d7))/0xc;if(_0x335d36===_0x5c2a40)break;else _0x9a531b['push'](_0x9a531b['shift']());}catch(_0x319333){_0x9a531b['push'](_0x9a531b['shift']());}}}(a0_0x3ebd,0xebe11));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0x220e6d){const _0x561d96=a0_0x4b69;if(!_0x220e6d[_0x561d96(0x1b9)]||!_0x220e6d[_0x561d96(0x1b9)]['tasks']||!Array['isArray'](_0x220e6d['taskList'][_0x561d96(0x1a3)]))return![];return _0x220e6d[_0x561d96(0x1b9)][_0x561d96(0x1a3)]['some'](_0x3d3b1d=>_0x3d3b1d[_0x561d96(0x1ab)]===TASK_STATUS['PENDING']||_0x3d3b1d['status']===TASK_STATUS[_0x561d96(0x1a7)]);}function a0_0x4b69(_0x464bc3,_0x171aaa){_0x464bc3=_0x464bc3-0x1a2;const _0x3ebd57=a0_0x3ebd();let _0x4b6928=_0x3ebd57[_0x464bc3];if(a0_0x4b69['pxlwJu']===undefined){var _0x453304=function(_0x3461a9){const _0x2de77d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x220e6d='',_0x3d3b1d='';for(let _0x3556c2=0x0,_0x29b0f2,_0x18c927,_0x3e7f68=0x0;_0x18c927=_0x3461a9['charAt'](_0x3e7f68++);~_0x18c927&&(_0x29b0f2=_0x3556c2%0x4?_0x29b0f2*0x40+_0x18c927:_0x18c927,_0x3556c2++%0x4)?_0x220e6d+=String['fromCharCode'](0xff&_0x29b0f2>>(-0x2*_0x3556c2&0x6)):0x0){_0x18c927=_0x2de77d['indexOf'](_0x18c927);}for(let _0x512407=0x0,_0x15e887=_0x220e6d['length'];_0x512407<_0x15e887;_0x512407++){_0x3d3b1d+='%'+('00'+_0x220e6d['charCodeAt'](_0x512407)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d3b1d);};a0_0x4b69['GWCMod']=_0x453304,a0_0x4b69['TFLEtH']={},a0_0x4b69['pxlwJu']=!![];}const _0x3dadc4=_0x3ebd57[0x0],_0x3422cb=_0x464bc3+_0x3dadc4,_0x53389e=a0_0x4b69['TFLEtH'][_0x3422cb];return!_0x53389e?(_0x4b6928=a0_0x4b69['GWCMod'](_0x4b6928),a0_0x4b69['TFLEtH'][_0x3422cb]=_0x4b6928):_0x4b6928=_0x53389e,_0x4b6928;}function getMessageQueueStatus(_0x3556c2){const _0x3bfe14=a0_0x4b69,_0x29b0f2=_0x3556c2['messageQueues']||{},_0x18c927={'toolResults':Array['isArray'](_0x29b0f2['toolResults'])?_0x29b0f2['toolResults'][_0x3bfe14(0x1c9)]:0x0,'interAgentMessages':Array[_0x3bfe14(0x1a5)](_0x29b0f2['interAgentMessages'])?_0x29b0f2['interAgentMessages']['length']:0x0,'userMessages':Array['isArray'](_0x29b0f2[_0x3bfe14(0x1a6)])?_0x29b0f2[_0x3bfe14(0x1a6)]['length']:0x0};return _0x18c927['total']=_0x18c927[_0x3bfe14(0x1a9)]+_0x18c927[_0x3bfe14(0x1ba)]+_0x18c927[_0x3bfe14(0x1a6)],{'hasMessages':_0x18c927[_0x3bfe14(0x1dc)]>0x0,'hasUserMessages':_0x18c927[_0x3bfe14(0x1a6)]>0x0,'hasInterAgentMessages':_0x18c927['interAgentMessages']>0x0,'hasToolResults':_0x18c927['toolResults']>0x0,'counts':_0x18c927};}function hasUnprocessedIncomingMessages(_0x3e7f68){const _0x1da534=a0_0x4b69;if(_0x3e7f68[_0x1da534(0x1b8)]&&Array[_0x1da534(0x1a5)](_0x3e7f68[_0x1da534(0x1b8)])&&_0x3e7f68[_0x1da534(0x1b8)][_0x1da534(0x1c9)]>0x0)return!![];if(_0x3e7f68[_0x1da534(0x1dd)]&&_0x3e7f68[_0x1da534(0x1dd)]instanceof Map&&_0x3e7f68['interAgentTracking']['size']>0x0){const _0x512407=Date['now']();for(const _0x15e887 of _0x3e7f68[_0x1da534(0x1dd)][_0x1da534(0x1d6)]()){if(_0x15e887['lastReceived']&&_0x512407-_0x15e887['lastReceived']<SCHEDULER_CONFIG[_0x1da534(0x1b7)]&&_0x15e887['lastType']===_0x1da534(0x1be))return!![];}}return![];}function isAgentDelayed(_0x4951e0){const _0x2fb3d6=a0_0x4b69;if(!_0x4951e0[_0x2fb3d6(0x1ce)])return![];return new Date()<new Date(_0x4951e0[_0x2fb3d6(0x1ce)]);}function isAgentPaused(_0x5e41dd){const _0x42158b=a0_0x4b69;if(_0x5e41dd['status']===AGENT_STATUS[_0x42158b(0x1ca)]){if(_0x5e41dd['pausedUntil'])return new Date()<new Date(_0x5e41dd[_0x42158b(0x1c5)]);return!![];}if(_0x5e41dd[_0x42158b(0x1c5)]&&new Date()<new Date(_0x5e41dd[_0x42158b(0x1c5)]))return!![];return![];}function hasAutonomousWorkComplete(_0x384ed6){return _0x384ed6['autonomousWorkComplete']===!![];}export function shouldAgentBeActive(_0x4a8759){const _0x133ef8=a0_0x4b69;if(!_0x4a8759)return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_NOT_FOUND'],'details':_0x133ef8(0x1ac)};if(_0x4a8759[_0x133ef8(0x1ab)]!==AGENT_STATUS[_0x133ef8(0x1c4)])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_INACTIVE_STATUS'],'details':'Agent\x20status\x20is\x20'+_0x4a8759['status']+',\x20expected\x20'+AGENT_STATUS[_0x133ef8(0x1c4)]};if(isAgentDelayed(_0x4a8759))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':_0x133ef8(0x1cf)+_0x4a8759['delayEndTime']};if(isAgentPaused(_0x4a8759))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_PAUSED'],'details':_0x4a8759[_0x133ef8(0x1c5)]?'Agent\x20paused\x20until\x20'+_0x4a8759['pausedUntil']:_0x133ef8(0x1b5)};if(_0x4a8759[_0x133ef8(0x1cc)])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x133ef8(0x1a2)],'details':'Agent\x20stop\x20has\x20been\x20requested'};if(_0x4a8759[_0x133ef8(0x1bc)]===AGENT_MODE_STATES[_0x133ef8(0x1d3)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x133ef8(0x1c1)],'details':'Agent\x20is\x20currently\x20executing\x20(modeState=EXECUTING)'};const _0x41cea6=getMessageQueueStatus(_0x4a8759);if(_0x4a8759['mode']===AGENT_MODES['AGENT']){const _0xef6ed=hasPendingTasks(_0x4a8759),unprocessedMessages=hasUnprocessedIncomingMessages(_0x4a8759);if(_0xef6ed)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x133ef8(0x1a8)],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x41cea6[_0x133ef8(0x1a4)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_QUEUED_MESSAGES'],'details':_0x133ef8(0x1aa)+_0x41cea6[_0x133ef8(0x1c3)]['total']+'\x20queued\x20messages\x20(T:'+_0x41cea6[_0x133ef8(0x1c3)][_0x133ef8(0x1a9)]+_0x133ef8(0x1b6)+_0x41cea6['counts'][_0x133ef8(0x1ba)]+',\x20U:'+_0x41cea6['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x133ef8(0x1c1)],'details':_0x133ef8(0x1bb)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x133ef8(0x1b0)],'details':'AGENT\x20mode\x20agent\x20has\x20no\x20pending\x20tasks\x20or\x20messages'};}if(_0x4a8759['mode']===AGENT_MODES[_0x133ef8(0x1ad)]){if(_0x41cea6[_0x133ef8(0x1c7)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_USER_MESSAGES'],'details':'Agent\x20has\x20'+_0x41cea6[_0x133ef8(0x1c3)]['userMessages']+_0x133ef8(0x1c8)};if(_0x41cea6[_0x133ef8(0x1b3)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_INTER_AGENT_MESSAGES'],'details':_0x133ef8(0x1aa)+_0x41cea6['counts']['interAgentMessages']+_0x133ef8(0x1af)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x133ef8(0x1d9)],'details':_0x41cea6['hasToolResults']?_0x133ef8(0x1e0)+_0x41cea6[_0x133ef8(0x1c3)][_0x133ef8(0x1a9)]+_0x133ef8(0x1bf):_0x133ef8(0x1df)};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS['UNKNOWN_MODE'],'details':_0x133ef8(0x1d1)+_0x4a8759['mode']};}export function getActiveAgents(_0x4ae95f){const _0xb815d3=a0_0x4b69,_0x382581=_0x4ae95f instanceof Map?Array[_0xb815d3(0x1c6)](_0x4ae95f[_0xb815d3(0x1d6)]()):_0x4ae95f;return _0x382581[_0xb815d3(0x1b1)](_0x4ef0bf=>{const _0x2e53bc=_0xb815d3,_0x471178=shouldAgentBeActive(_0x4ef0bf);return{'agent':_0x4ef0bf,'agentId':_0x4ef0bf['id'],'sessionId':_0x4ef0bf[_0x2e53bc(0x1d0)],..._0x471178};})['filter'](_0x109e2e=>_0x109e2e[_0xb815d3(0x1d2)]);}export function getAllAgentActivityStatus(_0x44be0b){const _0x25a90e=a0_0x4b69,_0x47f7b0=_0x44be0b instanceof Map?Array['from'](_0x44be0b[_0x25a90e(0x1d6)]()):_0x44be0b;return _0x47f7b0[_0x25a90e(0x1b1)](_0x5de937=>{const _0x515032=_0x25a90e,_0x5c4126=shouldAgentBeActive(_0x5de937),_0xe29786=getMessageQueueStatus(_0x5de937);return{'agentId':_0x5de937['id'],'agentName':_0x5de937[_0x515032(0x1c0)],'mode':_0x5de937['mode'],'status':_0x5de937[_0x515032(0x1ab)],'active':_0x5c4126[_0x515032(0x1d2)],'reason':_0x5c4126['reason'],'details':_0x5c4126['details'],'queueCounts':_0xe29786['counts'],'hasPendingTasks':hasPendingTasks(_0x5de937),'isDelayed':isAgentDelayed(_0x5de937),'isPaused':isAgentPaused(_0x5de937),'stopRequested':_0x5de937[_0x515032(0x1cc)]||![],'delayEndTime':_0x5de937['delayEndTime']||null,'pausedUntil':_0x5de937[_0x515032(0x1c5)]||null};});}export function shouldSkipIteration(_0x22ce00){const _0x244b14=a0_0x4b69;if(!_0x22ce00)return{'skip':!![],'reason':_0x244b14(0x1b4)};if(isAgentDelayed(_0x22ce00))return{'skip':!![],'reason':_0x244b14(0x1cf)+_0x22ce00['delayEndTime']};if(_0x22ce00[_0x244b14(0x1c5)]&&new Date()<new Date(_0x22ce00['pausedUntil']))return{'skip':!![],'reason':_0x244b14(0x1d4)+_0x22ce00[_0x244b14(0x1c5)]};return{'skip':![],'reason':null};}function a0_0x3ebd(){const _0x3550a5=['qunusvzf','Cgf1C2vKvw50AwW','zNjVBq','AgfZvxnLCK1LC3nHz2vZ','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','BgvUz3rO','uefvu0ve','mtz0CwvJAuq','C3rVCfjLCxvLC3rLza','mZbPA0DMv20','zgvSyxLfBMruAw1L','qwDLBNqGzgvSyxLLzcb1BNrPBca','C2vZC2LVBKLK','vw5RBM93BIbHz2vUDcbTB2rLoIa','ywn0AxzL','rvHfq1vusu5h','qwDLBNqGCgf1C2vKihvUDgLSia','mJm0ndKYwvffCfHY','DMfSDwvZ','ntmYmtq5mZziCvrttuS','mJi1mZaZmM1bt1fJva','q0Hbvf9nt0rfx05px01fu1nbr0vt','ntK4odq0EhzYrg5j','mte3mde1oe5kEg5SBa','Dg90ywW','Aw50zxjbz2vUDfrYywnRAw5N','nJu1mtCWnKriCvrJyq','q0HbvcbTB2rLic0GBM8GBwvZC2fNzxmGDg8GChjVy2vZCW','q0HbvcbTB2rLic0GAgfZia','u1rpuf9srvfvrvnuruq','DgfZA3m','AgfZtwvZC2fNzxm','AxnbCNjHEq','DxnLCK1LC3nHz2vZ','su5Fufjpr1jfu1m','seftx1bftKrjtKDFvefts1m','Dg9VBfjLC3vSDhm','qwDLBNqGAgfZia','C3rHDhvZ','qwDLBNqGB2jQzwn0igLZig51BgWGB3iGDw5KzwzPBMvK','q0Hbva','ndvHzKHxz00','igLUDgvYlwfNzw50ig1LC3nHz2uOCYKGDg8GChjVy2vZCW','tK9FuevoreLor19xt1jl','BwfW','ndvmtwvSExK','AgfZsw50zxjbz2vUDe1LC3nHz2vZ','qwDLBNqGBM90igzVDw5K','qwDLBNqGCgf1C2vKigLUzgvMAw5PDgvSEq','lcbjoG','uKvdru5ux01fu1nbr0vFveHsrvnit0Xex01t','Aw5JB21PBMDnzxnZywDLCW','DgfZA0XPC3q','Aw50zxjbz2vUDe1LC3nHz2vZ','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','Bw9Kzvn0yxrL','mtbkAeXjBeG','CMvJzwL2zwq','ihrVB2WGCMvZDwX0CYbIDxqGBM8GBMv3ig1LC3nHz2vZ','BMfTzq','qvvut05ptu9vu19nt0rfx0fdveLwrq','mJe4mdyWBe9Ltu1M','y291BNrZ'];a0_0x3ebd=function(){return _0x3550a5;};return a0_0x3ebd();}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_0x5a63(){const _0x549eeb=['C2v0qwDLBNrqB29S','AxnpCgvU','tK9ux0zpvu5e','x2LZq2LYy3vPDejYzwfRzxjpCgvU','C3rVCa','t1bftKfj','yxbWBgLJyxrPB24VANnVBG','yxbPs2v5','Dw5ZAgLMDa','y2XHDwrL','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','DxnHz2u','C3vIC3rYAw5N','C3rHy2S','sw52ywXPzcbYzxf1zxn0oIa','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','lcb1C2LUzYbMywXSyMfJAW','BM93','l2nOyxqVy29TCgXLDgLVBNm','Cg93','mtz6yLvTCg8','sfruuca','C3rHDhvZvgv4Da','yxnZAxn0yw50','qxv0AgvUDgLJyxrPB24GzMfPBgvKihDPDgGGquKGC2vYDMLJzq','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','z2v0s2v5C0zVCLjLCxvLC3q','B3b0Aw9UCW','DxjS','C3rYAw5NAwz5','x2DLDfzLBMrVCKzYB21nB2rLBa','x2nOzwnRtw9KzwXizwfSDgG','zxn0Aw1HDgvKvg9Rzw5Z','Dg9ju09tDhjPBMC','C2vZC2LVBKLK','qu5usfjpueLd','ChjLzMvYCMvKtw9KzwW','CMv0CNLbDhrLBxb0CW','mZCWnteWEK5sEMH3','C2v0','DML2Awq','DhjHy2TvC2fNzq','BwLJCM9ZB2z0','Bw9KzwXtCgvJCW','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','revfufnfruTFuJe','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','x2zVCM1HDezVCKfUDgHYB3bPyW','BgfZDezHAwX1CMvuAw1L','qvPvuKu','x2zVCM1HDezVCKf6DxjL','x2HHBMrSzvjHDgvmAw1PDa','CMv2AxnLzf9WCM9TChq','mtC5mdiYAM9oCxzm','qu5usfjpueLdx09qvvm','BwvZC2fNzxm','Ahr0Chm6lY9HCgKUBg94AweUywK','ue9tva','zgvLChnLzwS','zMfPBhvYzxm','ANnVBG','C3LZDgvT','y2HVAwnLCW','yMfJA2vUza','C3DPDgnOtw9KzwW','C2vUze1LC3nHz2u','ywXS','y29UzMLN','x3jLy29YzezHAwX1CMu','rK9sqKLerevo','z2v0qwDLBNq','C3r5Bgu','x3rYDw5JyxrLtwvZC2fNzq','r0furvDbwv9usu1ft1vu','zxjYB3jiyw5KBgvY','ChjVBxb0x3rVA2vUCW','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','vMfSAwrHDgLUzYbTB2rLBa','vw5RBM93BIbTB2rLBdOG','mZa4ntu1zK9drvzM','Aw1Hz2vZ','ic0G','u0vsvKLdrv9vtKfwquLmqujmrq','y29UDgv4DfDPBMrVDW','CM91DgvnB2rLBa','C3rHDhvZ','z3b0','yMfZzvvYBa','y29UDgvUDa','y29UDMvYC2f0Aw9UCW','CMvXDwvZDff1zxvL','mJq4nJuYmffkAeXdsa','qwXSigf0DgvTChrZihrVihjLywnOigjHy2TLBMqGzMfPBgvKlcb1C2LUzYbTB2nRihjLC3bVBNnL','DhjPBq','Bwf4x3rVA2vUCW','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','CMvXlq','AM9PBG','yxbPs2v5twfUywDLCG','x21HA2vjBwfNzufqsvjLCxvLC3q','ChjVBxb0','y2vPBa','ntK5mZu4sxP6Ehbx','mJK1nta1mw1sv21Yua','C3rYzwfT','C3rYAw5N','Bw9KzwW','y2LYy3vPDejYzwfRzxi','AgfUzgXLshr0CevYCM9Y','y29UDMvYC2f0Aw9UtwfUywDLCNm','D2fYBG','CM9Szq','y29TCgfJDgL6zunVBNzLCNnHDgLVBG','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','x2LZvMfSAwrnB2rLBa','Aw5JBhvKzxm','Dg9vChbLCKnHC2u','zgf0yq','C3vIC3rY','y29TCgXLEgL0Eq','Bg9Nz2vY','yNvKz2v0u2vYDMLJzq','DxnLCG','lI4UifTJB252zxjZyxrPB24GC3vTBwfYEsb0CNvUy2f0zwrD','x3n1Bw1HCML6zu1LC3nHz2vZ','zxjYB3i','DgLTzxn0yw1W','DgLTzw91Da','yJy0x2PZB24','ywDLBNrjza','x2nOzwnRuMf0zuXPBwL0','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','y2HLy2Ttzxj2AwnLsgvHBhrO','Aw5MBW','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','ChvZAa','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','ueHjxZq','uMf0zsbSAw1PDcbLEgnLzwrLza','rKfmtejbq0S','CxvHBgL0Eq','qMvHCMvYia','zxjYB3iT','Dg90ywXFDg9Rzw5Z','Bwf4vg9Rzw5Z','x21HA2vbueLszxf1zxn0','zgvIDwC','qu5usfjpueLdx1nptK5fva','BgvUz3rO','zMLUAxnOuMvHC29U','ywDLBNrqB29S','uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','x2zVCM1HDfnPBMDSzu1LC3nHz2u','nJmXodCWzuros2T2','B3bLBMfP','CgXHDgzVCM1qCM92AwrLza','y3vZDg9TqxbPs2v5CW','Dgv4Da','ChjVDMLKzxi','BwfW','BwvZC2fNzq','mJbPy0jfugu'];a0_0x5a63=function(){return _0x549eeb;};return a0_0x5a63();}const a0_0x5afc88=a0_0x30c2;function a0_0x30c2(_0x135a99,_0x1900cc){_0x135a99=_0x135a99-0x1d7;const _0x5a63ea=a0_0x5a63();let _0x30c2d7=_0x5a63ea[_0x135a99];if(a0_0x30c2['fihDWh']===undefined){var _0x2a26d4=function(_0x1d6840){const _0x2c66a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38cadd='',_0x1addbc='';for(let _0x436abb=0x0,_0x4b4af3,_0x2a25bc,_0x2df1ad=0x0;_0x2a25bc=_0x1d6840['charAt'](_0x2df1ad++);~_0x2a25bc&&(_0x4b4af3=_0x436abb%0x4?_0x4b4af3*0x40+_0x2a25bc:_0x2a25bc,_0x436abb++%0x4)?_0x38cadd+=String['fromCharCode'](0xff&_0x4b4af3>>(-0x2*_0x436abb&0x6)):0x0){_0x2a25bc=_0x2c66a2['indexOf'](_0x2a25bc);}for(let _0x5262d0=0x0,_0x3f73e5=_0x38cadd['length'];_0x5262d0<_0x3f73e5;_0x5262d0++){_0x1addbc+='%'+('00'+_0x38cadd['charCodeAt'](_0x5262d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1addbc);};a0_0x30c2['nJlQhZ']=_0x2a26d4,a0_0x30c2['SkWMfi']={},a0_0x30c2['fihDWh']=!![];}const _0x46b108=_0x5a63ea[0x0],_0x5a2159=_0x135a99+_0x46b108,_0x108ed3=a0_0x30c2['SkWMfi'][_0x5a2159];return!_0x108ed3?(_0x30c2d7=a0_0x30c2['nJlQhZ'](_0x30c2d7),a0_0x30c2['SkWMfi'][_0x5a2159]=_0x30c2d7):_0x30c2d7=_0x108ed3,_0x30c2d7;}(function(_0x45a802,_0x19a347){const _0x2deeeb=a0_0x30c2,_0x45b84d=_0x45a802();while(!![]){try{const _0x5a3810=-parseInt(_0x2deeeb(0x253))/0x1+-parseInt(_0x2deeeb(0x1fb))/0x2+-parseInt(_0x2deeeb(0x26a))/0x3+parseInt(_0x2deeeb(0x25f))/0x4+-parseInt(_0x2deeeb(0x203))/0x5*(-parseInt(_0x2deeeb(0x239))/0x6)+parseInt(_0x2deeeb(0x22a))/0x7*(parseInt(_0x2deeeb(0x218))/0x8)+parseInt(_0x2deeeb(0x26b))/0x9;if(_0x5a3810===_0x19a347)break;else _0x45b84d['push'](_0x45b84d['shift']());}catch(_0x2408f9){_0x45b84d['push'](_0x45b84d['shift']());}}}(a0_0x5a63,0x55ab5));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x38cadd,_0x1addbc,_0x436abb,_0x4b4af3){const _0x157f37=a0_0x30c2;this['config']=_0x38cadd,this[_0x157f37(0x1da)]=_0x1addbc,this[_0x157f37(0x1db)]=_0x436abb,this['errorHandler']=_0x4b4af3,this['baseUrl']=_0x38cadd[_0x157f37(0x243)]?.[_0x157f37(0x25b)]||_0x157f37(0x23c),this[_0x157f37(0x1e1)]=_0x38cadd['backend']?.['timeout']||0xea60,this['retryAttempts']=_0x38cadd['backend']?.[_0x157f37(0x229)]||0x3,this['rateLimiters']=new Map(),this[_0x157f37(0x25e)]=new Map(),this[_0x157f37(0x26f)]={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x157f37(0x22f)]=this['_initializeModelSpecs'](),this['conversationManagers']=new Map(),this['apiKeyManager']=null,this[_0x157f37(0x1f8)]=null;}async[a0_0x5afc88(0x245)](_0x2a25bc,_0x2df1ad,_0x5262d0={}){const _0x12f70b=a0_0x5afc88,_0x3f73e5=_0x12f70b(0x264)+Date['now']()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);try{if(this[_0x12f70b(0x207)]())throw new Error(_0x12f70b(0x213));await this[_0x12f70b(0x1e4)](_0x2a25bc);const _0x2157ff=this['_formatMessagesForModel'](_0x2df1ad,_0x2a25bc,_0x5262d0),_0x21c86a={'model':_0x2a25bc,'messages':_0x2157ff,'options':{'max_tokens':this[_0x12f70b(0x22f)][_0x2a25bc]?.[_0x12f70b(0x1f2)]||0xfa0,'temperature':_0x5262d0['temperature']||0.7,'stream':_0x5262d0[_0x12f70b(0x26c)]||![]},'metadata':{'requestId':_0x3f73e5,'agentId':_0x5262d0[_0x12f70b(0x1e3)],'timestamp':new Date()['toISOString']()}};_0x5262d0['systemPrompt']&&(_0x21c86a[_0x12f70b(0x241)]=_0x5262d0['systemPrompt']);this[_0x12f70b(0x1da)][_0x12f70b(0x1e7)](_0x12f70b(0x232)+_0x2a25bc,{'requestId':_0x3f73e5,'agentId':_0x5262d0[_0x12f70b(0x1e3)],'messageCount':Array['isArray'](_0x2df1ad)?_0x2df1ad['length']:0x1,'maxTokens':_0x21c86a[_0x12f70b(0x262)]});const _0x1f9cf7=await this[_0x12f70b(0x1f3)](_0x12f70b(0x216),_0x21c86a,_0x3f73e5,{..._0x5262d0,'sessionId':_0x5262d0['sessionId'],'platformProvided':_0x5262d0[_0x12f70b(0x1fd)]||![]});return _0x1f9cf7['usage']&&await this['trackUsage'](_0x5262d0['agentId'],_0x2a25bc,{'prompt_tokens':_0x1f9cf7['usage'][_0x12f70b(0x24f)]||0x0,'completion_tokens':_0x1f9cf7[_0x12f70b(0x20f)]['completion_tokens']||0x0,'total_tokens':_0x1f9cf7['usage'][_0x12f70b(0x1f1)]||0x0}),this['_resetCircuitBreaker'](),{'content':_0x1f9cf7['choices'][0x0]?.['message']?.['content']||'','model':_0x1f9cf7['model'],'tokenUsage':_0x1f9cf7['usage'],'requestId':_0x3f73e5,'finishReason':_0x1f9cf7[_0x12f70b(0x242)][0x0]?.['finish_reason']};}catch(_0x4b4df9){this[_0x12f70b(0x248)](),this[_0x12f70b(0x1da)][_0x12f70b(0x1df)]('AI\x20service\x20request\x20failed:\x20'+_0x4b4df9['message'],{'requestId':_0x3f73e5,'model':_0x2a25bc,'agentId':_0x5262d0['agentId'],'error':_0x4b4df9['stack']}),await this[_0x12f70b(0x270)](_0x4b4df9,{'requestId':_0x3f73e5,'model':_0x2a25bc,'agentId':_0x5262d0[_0x12f70b(0x1e3)]});throw _0x4b4df9;}}async[a0_0x5afc88(0x258)](_0x9e4dfe,_0x496392={}){const _0x34b6e3=a0_0x5afc88;try{const _0x293361=MODEL_ROUTING[_0x9e4dfe[_0x34b6e3(0x278)]()]||MODEL_ROUTING[_0x34b6e3(0x1ed)],_0x276479=[];for(const _0x370f1e of _0x293361){const _0x4d109e=await this[_0x34b6e3(0x223)](_0x370f1e);_0x4d109e&&_0x276479[_0x34b6e3(0x1e9)](_0x370f1e);}if(_0x276479[_0x34b6e3(0x1f6)]===0x0)return this['logger']['warn']('No\x20healthy\x20models\x20available\x20for\x20task:\x20'+_0x9e4dfe+_0x34b6e3(0x214)),MODEL_ROUTING['FALLBACK'][0x0];let _0x2df652=_0x276479[0x0];if(_0x496392['preferredModel']&&_0x276479[_0x34b6e3(0x277)](_0x496392[_0x34b6e3(0x228)]))_0x2df652=_0x496392[_0x34b6e3(0x228)];else{if(_0x496392[_0x34b6e3(0x1d9)]==='high'&&_0x276479['includes'](MODELS['ANTHROPIC_OPUS']))_0x2df652=MODELS['ANTHROPIC_OPUS'];else _0x496392['speed']==='fast'&&_0x276479[_0x34b6e3(0x277)](MODELS['ANTHROPIC_HAIKU'])&&(_0x2df652=MODELS['ANTHROPIC_HAIKU']);}return this['logger']['info'](_0x34b6e3(0x1ea)+_0x9e4dfe,{'selectedModel':_0x2df652,'availableModels':_0x276479['length'],'context':_0x496392}),_0x2df652;}catch(_0x4585e2){return this[_0x34b6e3(0x1da)][_0x34b6e3(0x1df)](_0x34b6e3(0x230)+_0x4585e2['message'],{'task':_0x9e4dfe,'context':_0x496392}),MODEL_ROUTING['FALLBACK'][0x0];}}async[a0_0x5afc88(0x274)](_0x43f6e9,_0x10317c){const _0xca63d5=a0_0x5afc88,_0x3ec1f2=this[_0xca63d5(0x22f)][_0x10317c];if(!_0x3ec1f2)throw new Error(_0xca63d5(0x252)+_0x10317c);const _0x591aca=_0x3ec1f2[_0xca63d5(0x257)]*0.8;let _0x4372a9=0x0;const _0x21fe5f=[],_0x54c983=await Promise[_0xca63d5(0x246)](_0x43f6e9['map'](async _0x3f4b2e=>({..._0x3f4b2e,'estimatedTokens':await this['_estimateTokens'](_0x3f4b2e[_0xca63d5(0x25c)],_0x10317c)}))),_0x4e2791=[..._0x54c983]['reverse']();for(const _0x3c92c2 of _0x4e2791){if(_0x4372a9+_0x3c92c2[_0xca63d5(0x224)]>_0x591aca){if(_0x21fe5f[_0xca63d5(0x1f6)]===0x0){const _0x10aba7=await this[_0xca63d5(0x24c)](_0x3c92c2['content'],_0x591aca);_0x21fe5f[_0xca63d5(0x20c)]({..._0x3c92c2,'content':_0x10aba7,'estimatedTokens':_0x591aca});}break;}_0x21fe5f[_0xca63d5(0x20c)](_0x3c92c2),_0x4372a9+=_0x3c92c2[_0xca63d5(0x224)];}const _0x252449=_0x54c983['slice'](0x0,-_0x21fe5f['length']);if(_0x252449[_0xca63d5(0x1f6)]>0x0){const _0x82b2ad=await this[_0xca63d5(0x1de)](_0x252449,_0x10317c);_0x21fe5f['unshift']({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x82b2ad,'timestamp':_0x252449[0x0][_0xca63d5(0x1e0)],'type':'summary','estimatedTokens':await this['_estimateTokens'](_0x82b2ad,_0x10317c)});}return this[_0xca63d5(0x1da)]['info']('Conversation\x20compactized\x20for\x20model:\x20'+_0x10317c,{'originalMessages':_0x43f6e9[_0xca63d5(0x1f6)],'compactizedMessages':_0x21fe5f[_0xca63d5(0x1f6)],'estimatedTokens':_0x4372a9,'maxTokens':_0x591aca}),_0x21fe5f;}async['trackUsage'](_0x1058cb,_0x588344,_0x313f5f,_0xbcc91d){const _0x5d09a0=a0_0x5afc88;try{this['budgetService']&&this[_0x5d09a0(0x1db)][_0x5d09a0(0x22d)](_0x1058cb,_0x588344,_0x313f5f);}catch(_0x576613){this[_0x5d09a0(0x1da)][_0x5d09a0(0x1df)]('Usage\x20tracking\x20failed:\x20'+_0x576613['message']);}}async['handleHttpError'](_0x79d0d,_0x4b9554){const _0x2d1d92=a0_0x5afc88,_0xb49e5b=this[_0x2d1d92(0x24e)]?.['classifyError']?.(_0x79d0d,_0x4b9554);switch(_0x79d0d[_0x2d1d92(0x259)]||_0x79d0d['code']){case HTTP_STATUS['BAD_REQUEST']:this[_0x2d1d92(0x1da)]['error']('Bad\x20request\x20to\x20AI\x20service',{'context':_0x4b9554,'error':_0x79d0d['message']});throw new Error(_0x2d1d92(0x212)+_0x79d0d[_0x2d1d92(0x202)]);case HTTP_STATUS['UNAUTHORIZED']:this['logger'][_0x2d1d92(0x1df)](_0x2d1d92(0x21c),{'context':_0x4b9554});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS[_0x2d1d92(0x249)]:this[_0x2d1d92(0x1da)]['error'](_0x2d1d92(0x275),{'context':_0x4b9554});throw new Error('Access\x20forbidden\x20-\x20insufficient\x20permissions');case HTTP_STATUS[_0x2d1d92(0x206)]:this[_0x2d1d92(0x1da)][_0x2d1d92(0x1df)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x4b9554});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x2d1d92(0x1da)]['warn'](_0x2d1d92(0x1ec),{'context':_0x4b9554}),await this[_0x2d1d92(0x237)](_0x4b9554);throw new Error(_0x2d1d92(0x1f9));case HTTP_STATUS['INTERNAL_SERVER_ERROR']:case HTTP_STATUS['BAD_GATEWAY']:case HTTP_STATUS[_0x2d1d92(0x256)]:case HTTP_STATUS[_0x2d1d92(0x24d)]:this['logger']['error']('AI\x20service\x20unavailable',{'context':_0x4b9554,'status':_0x79d0d[_0x2d1d92(0x259)]}),await this[_0x2d1d92(0x250)](_0x4b9554);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this['logger']['error']('Unknown\x20AI\x20service\x20error',{'context':_0x4b9554,'error':_0x79d0d[_0x2d1d92(0x202)]});throw new Error('AI\x20service\x20error:\x20'+_0x79d0d['message']);}}['setApiKeyManager'](_0x1f323e){const _0x3a2dd1=a0_0x5afc88;this['apiKeyManager']=_0x1f323e,this['logger']?.[_0x3a2dd1(0x1e7)]('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x1f323e});}[a0_0x5afc88(0x204)](_0x1e5355){const _0x494139=a0_0x5afc88;this['agentPool']=_0x1e5355,this[_0x494139(0x1da)]?.['info']('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x1e5355});}async['generateImage'](_0x46795d,_0x52ffd1={}){const _0x2c99a9=a0_0x5afc88,_0x164aef='img-'+Date['now']()+'-'+Math['random']()['toString'](0x24)[_0x2c99a9(0x1d8)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x46795d||typeof _0x46795d!==_0x2c99a9(0x26d)||_0x46795d[_0x2c99a9(0x261)]()['length']===0x0)throw new Error('Image\x20generation\x20requires\x20a\x20non-empty\x20text\x20prompt');const _0x8b504e=_0x52ffd1['model']||'flux-1.1-pro',_0x223df7=_0x52ffd1['size']||'1024x1024',_0x3e94ce=_0x52ffd1[_0x2c99a9(0x1ee)]||'standard',_0x4f1ca2=_0x52ffd1['responseFormat']||_0x2c99a9(0x220);this[_0x2c99a9(0x1da)][_0x2c99a9(0x1e7)](_0x2c99a9(0x1e8)+_0x8b504e,{'requestId':_0x164aef,'model':_0x8b504e,'size':_0x223df7,'quality':_0x3e94ce,'promptLength':_0x46795d[_0x2c99a9(0x1f6)]});const _0x33fabd={'prompt':_0x46795d,'model':_0x8b504e,'size':_0x223df7,'quality':_0x3e94ce,'response_format':_0x4f1ca2,'n':0x1,'metadata':{'requestId':_0x164aef,'timestamp':new Date()[_0x2c99a9(0x225)]()}},_0x17863e=await this[_0x2c99a9(0x267)](_0x33fabd,_0x164aef,{'sessionId':_0x52ffd1['sessionId'],'platformProvided':_0x52ffd1[_0x2c99a9(0x1fd)]||![]});return this['_resetCircuitBreaker'](),{'url':_0x17863e['data']?.[0x0]?.[_0x2c99a9(0x220)]||null,'b64_json':_0x17863e['data']?.[0x0]?.[_0x2c99a9(0x1e2)]||null,'model':_0x17863e['model']||_0x8b504e,'requestId':_0x164aef,'revisedPrompt':_0x17863e[_0x2c99a9(0x1d7)]?.[0x0]?.[_0x2c99a9(0x238)]||_0x46795d};}catch(_0x2de73a){this[_0x2c99a9(0x248)](),this[_0x2c99a9(0x1da)]['error'](_0x2c99a9(0x20e)+_0x2de73a[_0x2c99a9(0x202)],{'requestId':_0x164aef,'model':_0x52ffd1[_0x2c99a9(0x26e)],'error':_0x2de73a[_0x2c99a9(0x211)]});throw _0x2de73a;}}async[a0_0x5afc88(0x1e6)](){const _0x50d16a=a0_0x5afc88;try{const _0x5ec81b=await this[_0x50d16a(0x1f3)]('/health',{},'health-check');return _0x5ec81b['status']==='healthy';}catch(_0x41c749){return![];}}async['switchAgentModel'](_0x34dd44,_0x4b9f0e){const _0x56988e=a0_0x5afc88;try{if(!this[_0x56988e(0x276)](_0x4b9f0e))throw new Error('Invalid\x20model:\x20'+_0x4b9f0e);let _0x405da3=this[_0x56988e(0x271)]['get'](_0x34dd44);!_0x405da3&&(_0x405da3=new ConversationManager(_0x34dd44,this['logger']),this['conversationManagers'][_0x56988e(0x22b)](_0x34dd44,_0x405da3));const _0x3f6988=await _0x405da3[_0x56988e(0x244)](_0x4b9f0e),_0x4fa37c=await this['agentPool']?.[_0x56988e(0x24a)](_0x34dd44);return _0x4fa37c&&(_0x4fa37c['currentModel']=_0x4b9f0e,await this[_0x56988e(0x1f8)]['persistAgentState'](_0x34dd44)),this['logger'][_0x56988e(0x1e7)]('Agent\x20model\x20switched:\x20'+_0x34dd44,{'newModel':_0x4b9f0e,'messageCount':_0x3f6988['messages'][_0x56988e(0x1f6)]}),{'success':!![],'agentId':_0x34dd44,'newModel':_0x4b9f0e,'conversation':_0x3f6988};}catch(_0x533db6){this[_0x56988e(0x1da)][_0x56988e(0x1df)]('Model\x20switch\x20failed:\x20'+_0x533db6[_0x56988e(0x202)],{'agentId':_0x34dd44,'newModel':_0x4b9f0e});throw _0x533db6;}}['_initializeModelSpecs'](){const _0x9a7e1e=a0_0x5afc88,_0x206776={[MODELS[_0x9a7e1e(0x1f5)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x9a7e1e(0x23a)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x9a7e1e(0x227)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS[_0x9a7e1e(0x209)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x9a7e1e(0x231)]]:{'provider':MODEL_PROVIDERS['DEEPSEEK'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x9a7e1e(0x1eb)]]:{'provider':MODEL_PROVIDERS['PHI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':_0x9a7e1e(0x235),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':_0x9a7e1e(0x235),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':_0x9a7e1e(0x235),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':'AZURE','contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x206776;}['_formatMessagesForModel'](_0x2575ba,_0x87b0ed,_0xfd74a4){const _0x5b9c85=a0_0x5afc88,_0x34119a=this['modelSpecs'][_0x87b0ed]||{'provider':'AZURE'};let _0x44af7f;typeof _0x2575ba===_0x5b9c85(0x26d)?_0x44af7f=[{'role':_0x5b9c85(0x1dc),'content':_0x2575ba}]:_0x44af7f=_0x2575ba['map'](_0x321ee9=>this['_formatSingleMessage'](_0x321ee9,_0x87b0ed));switch(_0x34119a[_0x5b9c85(0x200)]){case MODEL_PROVIDERS[_0x5b9c85(0x227)]:return this[_0x5b9c85(0x233)](_0x44af7f);case MODEL_PROVIDERS[_0x5b9c85(0x209)]:return this['_formatForOpenAI'](_0x44af7f);case MODEL_PROVIDERS['AZURE']:return this['_formatForAzure'](_0x44af7f);default:return _0x44af7f;}}[a0_0x5afc88(0x1fa)](_0x36503a,_0x37d759){const _0x19110c=a0_0x5afc88;return{'role':_0x36503a[_0x19110c(0x273)]||_0x19110c(0x1dc),'content':_0x36503a['content'],'timestamp':_0x36503a['timestamp']};}[a0_0x5afc88(0x233)](_0x56be18){const _0xadec18=a0_0x5afc88;return _0x56be18[_0xadec18(0x201)](_0x232ce7=>{const _0x44845d=_0xadec18;if(_0x232ce7['role']==='system')return{'role':_0x44845d(0x1dc),'content':'System:\x20'+_0x232ce7['content']};return _0x232ce7;});}['_formatForOpenAI'](_0x26f806){return _0x26f806;}[a0_0x5afc88(0x236)](_0x1c7647){const _0x3b97f9=a0_0x5afc88;return _0x1c7647['map'](_0x1cd01a=>({..._0x1cd01a,'content':typeof _0x1cd01a[_0x3b97f9(0x25c)]==='string'?_0x1cd01a[_0x3b97f9(0x25c)]:JSON[_0x3b97f9(0x221)](_0x1cd01a[_0x3b97f9(0x25c)])}));}['_isValidModel'](_0x441bdf){const _0x3edb96=a0_0x5afc88;this['logger'][_0x3edb96(0x1f4)](_0x3edb96(0x251),{'model':_0x441bdf,'modelType':typeof _0x441bdf});if(this[_0x3edb96(0x22f)][_0x441bdf]!==undefined)return!![];return this['logger'][_0x3edb96(0x272)]('Model\x20validation\x20failed',{'model':_0x441bdf,'availableModels':Object['keys'](this['modelSpecs'])}),![];}async[a0_0x5afc88(0x223)](_0xce4178){return!![];}async['_estimateTokens'](_0x1c0619,_0x1d82cd){const _0x2483f1=a0_0x5afc88;return Math[_0x2483f1(0x269)](_0x1c0619['length']/0x4);}async[a0_0x5afc88(0x24c)](_0x403784,_0x302050){const _0x605e9f=_0x302050*0x4;if(_0x403784['length']<=_0x605e9f)return _0x403784;return _0x403784['substring'](0x0,_0x605e9f-0x14)+'\x0a...\x20[message\x20truncated]';}async['_summarizeMessages'](_0x54b5c5,_0x237d53){const _0x3a9f73=a0_0x5afc88,_0x4c6e3f=_0x54b5c5['map'](_0x4c3cb2=>_0x4c3cb2[_0x3a9f73(0x273)]+':\x20'+_0x4c3cb2[_0x3a9f73(0x25c)])[_0x3a9f73(0x265)]('\x0a'),_0x1e8cd5=0x1f4;if(_0x4c6e3f['length']<=_0x1e8cd5)return _0x4c6e3f;return _0x4c6e3f[_0x3a9f73(0x210)](0x0,_0x1e8cd5)+_0x3a9f73(0x1dd);}async[a0_0x5afc88(0x1f3)](_0x1f4ff4,_0x4fdc33,_0x3ad3b0,_0x586753={}){const _0x38ff0d=a0_0x5afc88,_0x14aa94=_0x38ff0d(0x263);let _0x2a333c,_0x5e4c54=null,_0xf3a415=null;this['logger']?.[_0x38ff0d(0x1e7)](_0x38ff0d(0x21d),{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x586753[_0x38ff0d(0x226)],'hasSessionId':!!_0x586753['sessionId'],'optionsKeys':Object['keys'](_0x586753),'model':_0x4fdc33['model']});if(this[_0x38ff0d(0x266)]&&_0x586753[_0x38ff0d(0x226)]){const _0x3c2f5a=this['apiKeyManager'][_0x38ff0d(0x21e)](_0x586753['sessionId'],{'platformProvided':_0x586753['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0x4fdc33[_0x38ff0d(0x26e)])});_0x5e4c54=_0x3c2f5a['loxiaApiKey'],_0xf3a415=_0x3c2f5a['vendorApiKey'],this[_0x38ff0d(0x1da)]?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x586753[_0x38ff0d(0x226)],'hasLoxiaKey':!!_0x5e4c54,'hasVendorKey':!!_0xf3a415,'vendor':this['_getVendorFromModel'](_0x4fdc33['model'])});}!_0x5e4c54&&_0x586753['apiKey']&&(_0x5e4c54=_0x586753[_0x38ff0d(0x20b)]);!_0x5e4c54&&this[_0x38ff0d(0x247)][_0x38ff0d(0x20b)]&&(_0x5e4c54=this[_0x38ff0d(0x247)]['apiKey']);if(!_0x5e4c54)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x118e42=_0x4fdc33[_0x38ff0d(0x26e)],_0x4ea0a0={'conversationId':_0x3ad3b0,'message':_0x4fdc33[_0x38ff0d(0x23b)][_0x4fdc33['messages'][_0x38ff0d(0x1f6)]-0x1]?.['content']||'','messages':_0x4fdc33['messages'],'model':_0x118e42,'requestId':_0x3ad3b0,'options':_0x4fdc33[_0x38ff0d(0x21f)]||{},'platformProvided':_0x586753['platformProvided']||![]};_0x4fdc33[_0x38ff0d(0x241)]&&(_0x4ea0a0['systemPrompt']=_0x4fdc33[_0x38ff0d(0x241)]);_0x586753['platformProvided']?_0x4ea0a0[_0x38ff0d(0x20b)]=_0x5e4c54:(_0xf3a415&&(_0x4ea0a0['vendorApiKey']=_0xf3a415),_0x586753[_0x38ff0d(0x1fe)]&&(_0x4ea0a0[_0x38ff0d(0x1fe)]=_0x586753['customApiKeys']),_0x4ea0a0['apiKey']=_0x5e4c54);for(let _0x21d61c=0x1;_0x21d61c<=this['retryAttempts'];_0x21d61c++){try{this['logger'][_0x38ff0d(0x1e7)]('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x14aa94,'model':_0x4fdc33['model'],'requestId':_0x3ad3b0,'attempt':_0x21d61c,'hasApiKey':!!_0x5e4c54});const _0x46f4a9=await fetch(_0x14aa94,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x38ff0d(0x1ef)+_0x5e4c54,'X-Request-ID':_0x3ad3b0},'body':JSON['stringify'](_0x4ea0a0),'timeout':this['timeout']});if(!_0x46f4a9['ok']){const _0x5808ae=await _0x46f4a9[_0x38ff0d(0x1ff)](),_0x2f6a18=new Error('HTTP\x20'+_0x46f4a9['status']+':\x20'+_0x46f4a9['statusText']+(_0x5808ae?'\x20-\x20'+_0x5808ae:''));_0x2f6a18['status']=_0x46f4a9['status'];throw _0x2f6a18;}const _0x38fb8b=await _0x46f4a9[_0x38ff0d(0x240)]();return{'choices':[{'message':{'content':_0x38fb8b['content']||'','role':_0x38ff0d(0x21b)},'finish_reason':_0x38fb8b[_0x38ff0d(0x1f7)]||_0x38ff0d(0x208)}],'usage':_0x38fb8b['usage']||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x38fb8b[_0x38ff0d(0x26e)]||_0x4fdc33[_0x38ff0d(0x26e)],'id':_0x38fb8b['requestId']||_0x3ad3b0};}catch(_0x18c7d8){_0x2a333c=_0x18c7d8,this['logger'][_0x38ff0d(0x272)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x21d61c,'requestId':_0x3ad3b0,'error':_0x18c7d8['message'],'status':_0x18c7d8['status']});if(_0x21d61c<this['retryAttempts']){const _0x2481d8=Math[_0x38ff0d(0x217)](0x2,_0x21d61c)*0x3e8;this['logger']['warn']('Retrying\x20in\x20'+_0x2481d8+'ms',{'attempt':_0x21d61c,'requestId':_0x3ad3b0}),await new Promise(_0x164822=>setTimeout(_0x164822,_0x2481d8));}}}this[_0x38ff0d(0x1da)][_0x38ff0d(0x1df)](_0x38ff0d(0x260),{'requestId':_0x3ad3b0,'error':_0x2a333c[_0x38ff0d(0x202)]});const _0x4a6f69=_0x2a333c[_0x38ff0d(0x202)]&&_0x2a333c['message'][_0x38ff0d(0x277)]('No\x20API\x20key\x20configured');if(_0x4a6f69)throw new Error('API\x20Configuration\x20Error:\x20'+_0x2a333c[_0x38ff0d(0x202)]);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x2a333c['message'],'role':_0x38ff0d(0x21b)},'finish_reason':'stop'}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x4fdc33[_0x38ff0d(0x26e)],'id':_0x38ff0d(0x1f0)+_0x3ad3b0,'error':_0x2a333c[_0x38ff0d(0x202)]};}async['_makeImageAPIRequest'](_0x1f0963,_0x47b251,_0x4b42f9={}){const _0xb90af3=a0_0x5afc88,_0x313197='https://autopilot-api.azurewebsites.net/llm/generate-image';let _0x197ced,_0x598e3b=null,_0x52fe2c=null;this[_0xb90af3(0x1da)]?.['info'](_0xb90af3(0x1e5),{'hasApiKeyManager':!!this[_0xb90af3(0x266)],'sessionId':_0x4b42f9[_0xb90af3(0x226)],'hasSessionId':!!_0x4b42f9[_0xb90af3(0x226)],'model':_0x1f0963['model']});if(this[_0xb90af3(0x266)]&&_0x4b42f9[_0xb90af3(0x226)]){const _0x426a04=this[_0xb90af3(0x266)]['getKeysForRequest'](_0x4b42f9['sessionId'],{'platformProvided':_0x4b42f9[_0xb90af3(0x1fd)]||![],'vendor':this[_0xb90af3(0x222)](_0x1f0963[_0xb90af3(0x26e)])});_0x598e3b=_0x426a04['loxiaApiKey'],_0x52fe2c=_0x426a04['vendorApiKey'],this[_0xb90af3(0x1da)]?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x4b42f9[_0xb90af3(0x226)],'hasLoxiaKey':!!_0x598e3b,'hasVendorKey':!!_0x52fe2c});}!_0x598e3b&&_0x4b42f9[_0xb90af3(0x20b)]&&(_0x598e3b=_0x4b42f9[_0xb90af3(0x20b)]);!_0x598e3b&&this[_0xb90af3(0x247)][_0xb90af3(0x20b)]&&(_0x598e3b=this[_0xb90af3(0x247)][_0xb90af3(0x20b)]);if(!_0x598e3b)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x341cd8={'prompt':_0x1f0963[_0xb90af3(0x268)],'model':_0x1f0963[_0xb90af3(0x26e)]||'azure-openai-dalle3','size':_0x1f0963['size'],'quality':_0x1f0963[_0xb90af3(0x1ee)],'style':_0x1f0963[_0xb90af3(0x24b)]||_0xb90af3(0x22c),'n':_0x1f0963['n']||0x1,'requestId':_0x47b251};for(let _0x2a3a9f=0x1;_0x2a3a9f<=this[_0xb90af3(0x229)];_0x2a3a9f++){try{this['logger']['info']('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x313197,'model':_0x1f0963[_0xb90af3(0x26e)],'requestId':_0x47b251,'attempt':_0x2a3a9f,'hasApiKey':!!_0x598e3b});const _0x1859d4=await fetch(_0x313197,{'method':_0xb90af3(0x23d),'headers':{'Content-Type':_0xb90af3(0x20a),'Authorization':'Bearer\x20'+_0x598e3b,'X-Request-ID':_0x47b251},'body':JSON['stringify'](_0x341cd8),'timeout':this['timeout']*0x2});if(!_0x1859d4['ok']){const _0x3ea75b=await _0x1859d4['text'](),_0xb6786f=new Error(_0xb90af3(0x219)+_0x1859d4['status']+':\x20'+_0x1859d4[_0xb90af3(0x21a)]+(_0x3ea75b?_0xb90af3(0x255)+_0x3ea75b:''));_0xb6786f['status']=_0x1859d4['status'];throw _0xb6786f;}const _0xdccc58=await _0x1859d4['json']();return{'data':_0xdccc58[_0xb90af3(0x254)]||[],'model':_0xdccc58[_0xb90af3(0x26e)]||_0x1f0963['model'],'created':_0xdccc58['created']||Date[_0xb90af3(0x215)](),'usage':_0xdccc58['usage']};}catch(_0x4d5dbb){_0x197ced=_0x4d5dbb,this[_0xb90af3(0x1da)]['warn']('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x2a3a9f,'requestId':_0x47b251,'error':_0x4d5dbb['message'],'status':_0x4d5dbb['status']});if(_0x2a3a9f<this[_0xb90af3(0x229)]){const _0x2e0052=Math['pow'](0x2,_0x2a3a9f)*0x3e8;this['logger']['warn']('Retrying\x20in\x20'+_0x2e0052+'ms',{'attempt':_0x2a3a9f,'requestId':_0x47b251}),await new Promise(_0x45f6ca=>setTimeout(_0x45f6ca,_0x2e0052));}}}this[_0xb90af3(0x1da)][_0xb90af3(0x1df)]('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x47b251,'error':_0x197ced['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x197ced['message']);}async['_checkRateLimit'](_0x3647f2){await new Promise(_0x1cc084=>setTimeout(_0x1cc084,0x64));}async['_handleRateLimit'](_0x280e6c){const _0x341a48=0xea60;this['logger']['info']('Rate\x20limit\x20exceeded,\x20waiting\x20'+_0x341a48+'ms',_0x280e6c),await new Promise(_0x40d022=>setTimeout(_0x40d022,_0x341a48));}async[a0_0x5afc88(0x250)](_0x462e77){const _0x369144=a0_0x5afc88;this[_0x369144(0x248)]();const _0x718848=0x7530;this['logger']['info']('Service\x20unavailable,\x20waiting\x20'+_0x718848+'ms',_0x462e77),await new Promise(_0x418570=>setTimeout(_0x418570,_0x718848));}[a0_0x5afc88(0x207)](){const _0x4a8fd6=a0_0x5afc88;if(!this[_0x4a8fd6(0x26f)][_0x4a8fd6(0x205)])return![];const _0x1bfabd=Date[_0x4a8fd6(0x215)]()-this['circuitBreaker']['lastFailureTime'];if(_0x1bfabd>this['circuitBreaker'][_0x4a8fd6(0x1e1)])return this[_0x4a8fd6(0x26f)]['isOpen']=![],this['circuitBreaker']['failures']=0x0,![];return!![];}['_recordFailure'](){const _0x52d1eb=a0_0x5afc88;this[_0x52d1eb(0x26f)][_0x52d1eb(0x23f)]++,this[_0x52d1eb(0x26f)][_0x52d1eb(0x234)]=Date[_0x52d1eb(0x215)](),this['circuitBreaker'][_0x52d1eb(0x23f)]>=this['circuitBreaker']['threshold']&&(this[_0x52d1eb(0x26f)][_0x52d1eb(0x205)]=!![],this['logger'][_0x52d1eb(0x272)]('Circuit\x20breaker\x20opened\x20due\x20to\x20repeated\x20failures'));}['_resetCircuitBreaker'](){const _0x547d8a=a0_0x5afc88;this['circuitBreaker'][_0x547d8a(0x23f)]>0x0&&(this['circuitBreaker']['failures']=0x0,this[_0x547d8a(0x26f)]['isOpen']=![],this[_0x547d8a(0x1da)][_0x547d8a(0x1e7)]('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}['_getVendorFromModel'](_0x43931f){const _0x9016e2=a0_0x5afc88;if(!_0x43931f)return null;const _0x3c40a3=_0x43931f['toLowerCase']();if(_0x3c40a3['includes']('anthropic')||_0x3c40a3['includes'](_0x9016e2(0x20d)))return'anthropic';else{if(_0x3c40a3[_0x9016e2(0x277)](_0x9016e2(0x1fc))||_0x3c40a3['includes'](_0x9016e2(0x25a)))return'openai';else{if(_0x3c40a3['includes'](_0x9016e2(0x23e)))return _0x9016e2(0x23e);else{if(_0x3c40a3['includes']('phi'))return _0x9016e2(0x22e);}}}return null;}}class ConversationManager{constructor(_0x474eba,_0x2e49eb){const _0x1fd47c=a0_0x5afc88;this[_0x1fd47c(0x1e3)]=_0x474eba,this[_0x1fd47c(0x1da)]=_0x2e49eb,this[_0x1fd47c(0x25d)]=new Map();}async['switchModel'](_0xc68616){const _0x4a0472=a0_0x5afc88;return{'messages':[],'model':_0xc68616,'lastUpdated':new Date()[_0x4a0472(0x225)]()};}}export default AIService;
1
+ const a0_0x5b1eca=a0_0xfc80;(function(_0x1c115e,_0xdddd12){const _0x9cc4ef=a0_0xfc80,_0x26866c=_0x1c115e();while(!![]){try{const _0x51f02d=parseInt(_0x9cc4ef(0x10d))/0x1*(parseInt(_0x9cc4ef(0xda))/0x2)+parseInt(_0x9cc4ef(0xfb))/0x3*(parseInt(_0x9cc4ef(0xc5))/0x4)+-parseInt(_0x9cc4ef(0x139))/0x5*(-parseInt(_0x9cc4ef(0x164))/0x6)+parseInt(_0x9cc4ef(0x12f))/0x7+-parseInt(_0x9cc4ef(0x140))/0x8*(parseInt(_0x9cc4ef(0x13b))/0x9)+-parseInt(_0x9cc4ef(0x110))/0xa*(-parseInt(_0x9cc4ef(0x150))/0xb)+parseInt(_0x9cc4ef(0x147))/0xc*(-parseInt(_0x9cc4ef(0x111))/0xd);if(_0x51f02d===_0xdddd12)break;else _0x26866c['push'](_0x26866c['shift']());}catch(_0x3d0f08){_0x26866c['push'](_0x26866c['shift']());}}}(a0_0x18a0,0xedb1f));function a0_0x18a0(){const _0x2f4151=['sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','CM9Szq','x3rYDw5JyxrLtwvZC2fNzq','x3jLy29YzezHAwX1CMu','BgvUz3rO','quKGC2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzq','ywXS','Aw5MBW','y2HVAwnLCW','BwvZC2fNzq','Bwf4Aw11Bq','CMv2zxjZzq','ChvZAa','quKGC2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','vg9Rzw4GBgLTAxqGzxHJzwvKzwq6ia','uMv0CNLPBMCGAw4G','x2HHBMrSzvjHDgvmAw1PDa','C2vZC2LVBKLK','qMvHCMvYia','y29UzMLN','Bg9Nz2vY','t1bftKfj','AgLNAa','y2XHDwrL','DgvTCgvYyxr1CMu','Dw5ZAgLMDa','yw50AhjVCgLJ','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','ndC2ndi4nwLdwNPjvq','x3jLC2v0q2LYy3vPDejYzwfRzxi','AM9PBG','qvPvuKu','x2LZvMfSAwrnB2rLBa','C3vIC3rY','z2v0','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','Dg90ywXFDg9Rzw5Z','AxnbCNjHEq','Dg9Rzw4GBgLTAxq','u2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','DML2Awq','ChjVBxb0x3rVA2vUCW','lcb1C2LUzYbMywXSyMfJAW','CMv0CNLbDhrLBxb0CW','zMfPBhvYzxm','mtGYodqYovPhEMDnqG','AgfUzgXLshr0CevYCM9Y','B3bLBMfP','mJm4nte5mhn2s0jAAW','mZm4EK1eDvLf','qwXSigf0DgvTChrZihrVihjLywnOigjHy2TLBMqGzMfPBgvKlcb1C2LUzYbTB2nRihjLC3bVBNnL','DxnHz2u','ywDLBNrjza','y2LYy3vPDejYzwfRzxi','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','C3LZDgvT','BgfZDezHAwX1CMvuAw1L','C3vIC3rYAw5N','Bg94AwfbCgLlzxK','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','y2XHC3nPzNLfCNjVCG','x21HA2vjBwfNzufqsvjLCxvLC3q','DxnLCG','C3rYAw5NAwz5','lI4UifTJB252zxjZyxrPB24GC3vTBwfYEsb0CNvUy2f0zwrD','x21HA2vbueLszxf1zxn0','x2vZDgLTyxrLvg9Rzw5Z','yxnZAxn0yw50','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','Bw9KzwW','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','x2DLDfzLBMrVCKzYB21nB2rLBa','C2v0qxbPs2v5twfUywDLCG','C2XPy2u','zxjYB3i','y29UDgv4DcbSzw5NDgG','qu5usfjpueLd','ChjLzMvYCMvKtw9KzwW','C3rHy2S','mtaYmZmYm2XkzvrLsa','Bwf4vg9Rzw5Z','Bwf4x3rVA2vUCW','BwvZC2fNzxm','vu5bvvrit1jjwKve','BM93','tw9KzwWGC3DPDgnOigzHAwXLzdOG','x2LZq2LYy3vPDejYzwfRzxjpCgvU','zgvIDwC','CgHP','mJC3otu0mfnpENvWAq','Cg93','mJaYodG3t09yvvPQ','DhjPBq','qMfKihjLCxvLC3qGDg8GquKGC2vYDMLJzq','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','u0vsvKLdrv9vtKfwquLmqujmrq','odH4vfLOwwq','ueHj','CgXHDgzVCM1qCM92AwrLza','zxn0Aw1HDgvKvg9Rzw5Z','y29UDMvYC2f0Aw9UCW','q29UDMvYC2f0Aw9UignVBxbHy3rPEMvKigzVCIbTB2rLBdOG','yxbPs2v5','mtG4nZuYoeLzwM1Vvq','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','Dg9ju09tDhjPBMC','zMfZDa','Aw1Nlq','C3LZDgvTuhjVBxb0','revfufnfruTFuJe','DgLTzxn0yw1W','C2vUze1LC3nHz2u','ntvtrgzLEvm','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','z2v0s2v5C0zVCLjLCxvLC3q','Dg9tDhjPBMC','qu5usfjpueLdx09qvvm','uMf0zsbSAw1PDcbLEgnLzwrLza','vw5RBM93BIbTB2rLBdOG','DMvUzg9YqxbPs2v5','ANnVBG','ChjVBxb0igLZihrVBYbSB25N','tM8GqvbjigTLEsbJB25MAwD1CMvK','y29UDMvYC2f0Aw9UtwfUywDLCNm','rKfmtejbq0S','Dgv4Da','DhjHy2TvC2fNzq','Dg9mB3DLCKnHC2u','qu5usfjpueLdx1nptK5fva','ueHjxZq','Bw9KzwXtCgvJCW','x2zVCM1HDezVCK9Wzw5bsq','nNbosuLzBa','y3vZDg9TqxbPs2v5CW','C2L6zq','DgLTzw91Da','A2v5CW','yxbPs2v5twfUywDLCG','qKfex1jfuvvfu1q','y29UDgvUDa','zxjYB3jiyw5KBgvY','yNvKz2v0u2vYDMLJzq','yMfJA2vUza','BwfW','BwLJCM9ZB2z0','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','C3rVCa','ic0G','ue9tva','vw5RBM93BIbbssbZzxj2AwnLigvYCM9Y','nfLOvwTkvq','x2zVCM1HDfnPBMDSzu1LC3nHz2u','D2fYBG','zMX1Ec0XlJeTChjV','y29Kzq','x2zVCM1HDezVCKf6DxjL','x3n1Bw1HCML6zu1LC3nHz2vZ','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','AxnpCgvU','CxvHBgL0Eq','ywDLBNrqB29S','C3rHDhvZ','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','x2nOzwnRtw9KzwXizwfSDgG','r0furvDbwv9usu1ft1vu','yMfZzvvYBa','sfruuca','Aw5JBhvKzxm','C3rYAw5N','zxjYB3iT','z3b0','mKjsrwjcAq','vMfSAwrHDgLUzYbTB2rLBa'];a0_0x18a0=function(){return _0x2f4151;};return a0_0x18a0();}import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0xdddcc,_0x13839e,_0x183549,_0x4e5dd0){const _0x3368af=a0_0xfc80;this['config']=_0xdddcc,this['logger']=_0x13839e,this[_0x3368af(0xbc)]=_0x183549,this['errorHandler']=_0x4e5dd0,this['baseUrl']=_0xdddcc['backend']?.[_0x3368af(0xd4)]||'https://api.loxia.ai',this['timeout']=_0xdddcc['backend']?.[_0x3368af(0x167)]||0xea60,this['retryAttempts']=_0xdddcc[_0x3368af(0xbd)]?.['retryAttempts']||0x3,this['rateLimiters']=new Map(),this['requestQueue']=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x3368af(0x162)]=this['_initializeModelSpecs'](),this[_0x3368af(0x15b)]=new Map(),this[_0x3368af(0xb8)]=null,this[_0x3368af(0xcf)]=null;}async[a0_0x5b1eca(0x14f)](_0x4aa28b,_0x27e2e1,_0x360821={}){const _0x55f83b=a0_0x5b1eca,_0x4c4ab2='req-'+Date[_0x55f83b(0x134)]()+'-'+Math['random']()['toString'](0x24)[_0x55f83b(0x100)](0x2,0x9);try{if(this[_0x55f83b(0x136)]())throw new Error(_0x55f83b(0x13e));await this['_checkRateLimit'](_0x4aa28b);const _0xe02ecb=this[_0x55f83b(0xd1)](_0x27e2e1,_0x4aa28b,_0x360821),_0x1cee56={'model':_0x4aa28b,'messages':_0xe02ecb,'options':{'max_tokens':this['modelSpecs'][_0x4aa28b]?.[_0x55f83b(0x130)]||0xfa0,'temperature':_0x360821[_0x55f83b(0xf6)]||0.7,'stream':_0x360821['stream']||![]},'metadata':{'requestId':_0x4c4ab2,'agentId':_0x360821['agentId'],'timestamp':new Date()['toISOString']()}};_0x360821['systemPrompt']&&(_0x1cee56[_0x55f83b(0x117)]=_0x360821[_0x55f83b(0x14c)]);this['logger']['info'](_0x55f83b(0xf9)+_0x4aa28b,{'requestId':_0x4c4ab2,'agentId':_0x360821['agentId'],'messageCount':Array[_0x55f83b(0x104)](_0x27e2e1)?_0x27e2e1['length']:0x1,'maxTokens':_0x1cee56[_0x55f83b(0x131)]});const _0x11713d=await this['_makeAPIRequest']('/chat/completions',_0x1cee56,_0x4c4ab2,{..._0x360821,'sessionId':_0x360821['sessionId'],'platformProvided':_0x360821[_0x55f83b(0x142)]||![]});return _0x11713d['usage']&&await this[_0x55f83b(0x15e)](_0x360821[_0x55f83b(0x114)],_0x4aa28b,{'prompt_tokens':_0x11713d['usage'][_0x55f83b(0x109)]||0x0,'completion_tokens':_0x11713d[_0x55f83b(0x113)]['completion_tokens']||0x0,'total_tokens':_0x11713d['usage'][_0x55f83b(0x103)]||0x0}),this['_resetCircuitBreaker'](),{'content':_0x11713d[_0x55f83b(0xe6)][0x0]?.[_0x55f83b(0xe7)]?.['content']||'','model':_0x11713d['model'],'tokenUsage':_0x11713d[_0x55f83b(0x113)],'requestId':_0x4c4ab2,'finishReason':_0x11713d[_0x55f83b(0xe6)][0x0]?.['finish_reason']};}catch(_0x3060a4){this[_0x55f83b(0xe1)](),this['logger'][_0x55f83b(0x12a)]('AI\x20service\x20request\x20failed:\x20'+_0x3060a4['message'],{'requestId':_0x4c4ab2,'model':_0x4aa28b,'agentId':_0x360821[_0x55f83b(0x114)],'error':_0x3060a4['stack']}),await this[_0x55f83b(0x10e)](_0x3060a4,{'requestId':_0x4c4ab2,'model':_0x4aa28b,'agentId':_0x360821['agentId']});throw _0x3060a4;}}async['routeModel'](_0x482b64,_0x106c06={}){const _0x359bda=a0_0x5b1eca;try{const _0x187931=MODEL_ROUTING[_0x482b64['toUpperCase']()]||MODEL_ROUTING['FALLBACK'],_0x3a6c90=[];for(const _0x246686 of _0x187931){const _0x860040=await this['_checkModelHealth'](_0x246686);_0x860040&&_0x3a6c90[_0x359bda(0xea)](_0x246686);}if(_0x3a6c90[_0x359bda(0xe2)]===0x0)return this[_0x359bda(0xf2)][_0x359bda(0xc7)]('No\x20healthy\x20models\x20available\x20for\x20task:\x20'+_0x482b64+_0x359bda(0x10a)),MODEL_ROUTING[_0x359bda(0x15c)][0x0];let _0x26d6a6=_0x3a6c90[0x0];if(_0x106c06['preferredModel']&&_0x3a6c90[_0x359bda(0xd6)](_0x106c06[_0x359bda(0x12d)]))_0x26d6a6=_0x106c06['preferredModel'];else{if(_0x106c06['complexity']===_0x359bda(0xf4)&&_0x3a6c90['includes'](MODELS['ANTHROPIC_OPUS']))_0x26d6a6=MODELS['ANTHROPIC_OPUS'];else _0x106c06['speed']===_0x359bda(0x14a)&&_0x3a6c90[_0x359bda(0xd6)](MODELS['ANTHROPIC_HAIKU'])&&(_0x26d6a6=MODELS['ANTHROPIC_HAIKU']);}return this[_0x359bda(0xf2)]['info']('Model\x20routed\x20for\x20task:\x20'+_0x482b64,{'selectedModel':_0x26d6a6,'availableModels':_0x3a6c90['length'],'context':_0x106c06}),_0x26d6a6;}catch(_0x1274e3){return this[_0x359bda(0xf2)]['error'](_0x359bda(0x151)+_0x1274e3[_0x359bda(0xe7)],{'task':_0x482b64,'context':_0x106c06}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x189573,_0x17a072){const _0x5246bc=a0_0x5b1eca,_0x1820be=this['modelSpecs'][_0x17a072];if(!_0x1820be)throw new Error(_0x5246bc(0x156)+_0x17a072);const _0x12640d=_0x1820be['contextWindow']*0.8;let _0x3800f8=0x0;const _0x1007cf=[],_0x131501=await Promise[_0x5246bc(0xe4)](_0x189573[_0x5246bc(0xbe)](async _0x27ea54=>({..._0x27ea54,'estimatedTokens':await this[_0x5246bc(0x122)](_0x27ea54[_0x5246bc(0xba)],_0x17a072)}))),_0xf58ac9=[..._0x131501][_0x5246bc(0xe9)]();for(const _0x42143d of _0xf58ac9){if(_0x3800f8+_0x42143d['estimatedTokens']>_0x12640d){if(_0x1007cf['length']===0x0){const _0x1393dd=await this[_0x5246bc(0xe0)](_0x42143d[_0x5246bc(0xba)],_0x12640d);_0x1007cf['unshift']({..._0x42143d,'content':_0x1393dd,'estimatedTokens':_0x12640d});}break;}_0x1007cf['unshift'](_0x42143d),_0x3800f8+=_0x42143d[_0x5246bc(0x143)];}const _0x221614=_0x131501[_0x5246bc(0x129)](0x0,-_0x1007cf['length']);if(_0x221614[_0x5246bc(0xe2)]>0x0){const _0x56fcf7=await this[_0x5246bc(0xcb)](_0x221614,_0x17a072);_0x1007cf[_0x5246bc(0xf7)]({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x56fcf7,'timestamp':_0x221614[0x0][_0x5246bc(0x14e)],'type':'summary','estimatedTokens':await this['_estimateTokens'](_0x56fcf7,_0x17a072)});}return this[_0x5246bc(0xf2)]['info'](_0x5246bc(0x145)+_0x17a072,{'originalMessages':_0x189573[_0x5246bc(0xe2)],'compactizedMessages':_0x1007cf['length'],'estimatedTokens':_0x3800f8,'maxTokens':_0x12640d}),_0x1007cf;}async[a0_0x5b1eca(0x15e)](_0x2b4399,_0x502d51,_0x537dea,_0xe9aea8){const _0x5a1893=a0_0x5b1eca;try{this[_0x5a1893(0xbc)]&&this['budgetService']['trackUsage'](_0x2b4399,_0x502d51,_0x537dea);}catch(_0x41a9ca){this['logger'][_0x5a1893(0x12a)]('Usage\x20tracking\x20failed:\x20'+_0x41a9ca['message']);}}async['handleHttpError'](_0x366233,_0x2d765d){const _0x3fa5c2=a0_0x5b1eca,_0x289507=this[_0x3fa5c2(0xbb)]?.[_0x3fa5c2(0x11c)]?.(_0x366233,_0x2d765d);switch(_0x366233[_0x3fa5c2(0xd0)]||_0x366233[_0x3fa5c2(0xc9)]){case HTTP_STATUS[_0x3fa5c2(0xb9)]:this['logger']['error'](_0x3fa5c2(0x13d),{'context':_0x2d765d,'error':_0x366233[_0x3fa5c2(0xe7)]});throw new Error('Invalid\x20request:\x20'+_0x366233[_0x3fa5c2(0xe7)]);case HTTP_STATUS[_0x3fa5c2(0x133)]:this['logger']['error']('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x2d765d});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error'](_0x3fa5c2(0x148),{'context':_0x2d765d});throw new Error(_0x3fa5c2(0x102));case HTTP_STATUS['NOT_FOUND']:this[_0x3fa5c2(0xf2)][_0x3fa5c2(0x12a)](_0x3fa5c2(0xeb),{'context':_0x2d765d});throw new Error(_0x3fa5c2(0x106));case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x3fa5c2(0xf2)][_0x3fa5c2(0xc7)](_0x3fa5c2(0x155),{'context':_0x2d765d}),await this['_handleRateLimit'](_0x2d765d);throw new Error(_0x3fa5c2(0xdd));case HTTP_STATUS['INTERNAL_SERVER_ERROR']:case HTTP_STATUS['BAD_GATEWAY']:case HTTP_STATUS[_0x3fa5c2(0x13f)]:case HTTP_STATUS[_0x3fa5c2(0xd3)]:this['logger'][_0x3fa5c2(0x12a)](_0x3fa5c2(0xde),{'context':_0x2d765d,'status':_0x366233[_0x3fa5c2(0xd0)]}),await this[_0x3fa5c2(0x11b)](_0x2d765d);throw new Error(_0x3fa5c2(0xe3));default:this[_0x3fa5c2(0xf2)]['error'](_0x3fa5c2(0xc4),{'context':_0x2d765d,'error':_0x366233['message']});throw new Error('AI\x20service\x20error:\x20'+_0x366233['message']);}}[a0_0x5b1eca(0x128)](_0x477d94){const _0x1fa3de=a0_0x5b1eca;this['apiKeyManager']=_0x477d94,this[_0x1fa3de(0xf2)]?.[_0x1fa3de(0xe5)]('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x477d94});}['setAgentPool'](_0x2cf47f){const _0x36b3e1=a0_0x5b1eca;this['agentPool']=_0x2cf47f,this[_0x36b3e1(0xf2)]?.[_0x36b3e1(0xe5)]('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x2cf47f});}async['generateImage'](_0x2b04a1,_0x211fd5={}){const _0x368149=a0_0x5b1eca,_0x37ba15=_0x368149(0x14b)+Date[_0x368149(0x134)]()+'-'+Math['random']()[_0x368149(0x153)](0x24)['substr'](0x2,0x9);try{if(this[_0x368149(0x136)]())throw new Error(_0x368149(0x13e));if(!_0x2b04a1||typeof _0x2b04a1!=='string'||_0x2b04a1[_0x368149(0x13c)]()[_0x368149(0xe2)]===0x0)throw new Error(_0x368149(0x126));const _0x231fb4=_0x211fd5['model']||_0x368149(0xc8),_0x1db059=_0x211fd5['size']||'1024x1024',_0x135149=_0x211fd5[_0x368149(0xce)]||'standard',_0x3a2657=_0x211fd5['responseFormat']||'url';this['logger']['info']('Generating\x20image\x20with\x20model:\x20'+_0x231fb4,{'requestId':_0x37ba15,'model':_0x231fb4,'size':_0x1db059,'quality':_0x135149,'promptLength':_0x2b04a1['length']});const _0x33865b={'prompt':_0x2b04a1,'model':_0x231fb4,'size':_0x1db059,'quality':_0x135149,'response_format':_0x3a2657,'n':0x1,'metadata':{'requestId':_0x37ba15,'timestamp':new Date()[_0x368149(0x149)]()}},_0x10fed6=await this[_0x368149(0x11d)](_0x33865b,_0x37ba15,{'sessionId':_0x211fd5['sessionId'],'platformProvided':_0x211fd5['platformProvided']||![]});return this[_0x368149(0xfc)](),{'url':_0x10fed6['data']?.[0x0]?.['url']||null,'b64_json':_0x10fed6['data']?.[0x0]?.['b64_json']||null,'model':_0x10fed6['model']||_0x231fb4,'requestId':_0x37ba15,'revisedPrompt':_0x10fed6['data']?.[0x0]?.['revised_prompt']||_0x2b04a1};}catch(_0x5a511b){this[_0x368149(0xe1)](),this['logger'][_0x368149(0x12a)](_0x368149(0xdc)+_0x5a511b[_0x368149(0xe7)],{'requestId':_0x37ba15,'model':_0x211fd5[_0x368149(0x125)],'error':_0x5a511b[_0x368149(0x12e)]});throw _0x5a511b;}}async['checkServiceHealth'](){const _0x34865e=a0_0x5b1eca;try{const _0x2db7ed=await this[_0x34865e(0x121)]('/health',{},'health-check');return _0x2db7ed['status']==='healthy';}catch(_0x31af06){return![];}}async['switchAgentModel'](_0x18b4a3,_0x22a5bb){const _0x53145a=a0_0x5b1eca;try{if(!this['_isValidModel'](_0x22a5bb))throw new Error('Invalid\x20model:\x20'+_0x22a5bb);let _0x98039d=this['conversationManagers'][_0x53145a(0x101)](_0x18b4a3);!_0x98039d&&(_0x98039d=new ConversationManager(_0x18b4a3,this['logger']),this[_0x53145a(0x15b)]['set'](_0x18b4a3,_0x98039d));const _0x3a33c1=await _0x98039d['switchModel'](_0x22a5bb),_0x39a499=await this[_0x53145a(0xcf)]?.['getAgent'](_0x18b4a3);return _0x39a499&&(_0x39a499['currentModel']=_0x22a5bb,await this['agentPool']['persistAgentState'](_0x18b4a3)),this[_0x53145a(0xf2)][_0x53145a(0xe5)](_0x53145a(0xc0)+_0x18b4a3,{'newModel':_0x22a5bb,'messageCount':_0x3a33c1['messages'][_0x53145a(0xe2)]}),{'success':!![],'agentId':_0x18b4a3,'newModel':_0x22a5bb,'conversation':_0x3a33c1};}catch(_0x57a899){this[_0x53145a(0xf2)]['error'](_0x53145a(0x135)+_0x57a899['message'],{'agentId':_0x18b4a3,'newModel':_0x22a5bb});throw _0x57a899;}}['_initializeModelSpecs'](){const _0x3a071e=a0_0x5b1eca,_0xf31976={[MODELS[_0x3a071e(0x160)]]:{'provider':MODEL_PROVIDERS[_0x3a071e(0x12c)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x3a071e(0x154)]]:{'provider':MODEL_PROVIDERS[_0x3a071e(0x12c)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x3a071e(0x12c)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS[_0x3a071e(0xf3)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS[_0x3a071e(0xf3)],'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[_0x3a071e(0x14d)]]:{'provider':MODEL_PROVIDERS['DEEPSEEK'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x3a071e(0x161)]]:{'provider':MODEL_PROVIDERS[_0x3a071e(0x141)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':_0x3a071e(0xfe),'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':_0x3a071e(0xfe),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':_0x3a071e(0xfe),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x3a071e(0xfe),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0xf31976;}['_formatMessagesForModel'](_0x521ccf,_0x49b4fa,_0x4e7e77){const _0x1713b6=a0_0x5b1eca,_0x55e227=this['modelSpecs'][_0x49b4fa]||{'provider':_0x1713b6(0xfe)};let _0xd1b858;typeof _0x521ccf===_0x1713b6(0xd7)?_0xd1b858=[{'role':'user','content':_0x521ccf}]:_0xd1b858=_0x521ccf[_0x1713b6(0xbe)](_0x3a2a62=>this[_0x1713b6(0xc6)](_0x3a2a62,_0x49b4fa));switch(_0x55e227['provider']){case MODEL_PROVIDERS[_0x1713b6(0x12c)]:return this['_formatForAnthropic'](_0xd1b858);case MODEL_PROVIDERS[_0x1713b6(0xf3)]:return this[_0x1713b6(0x163)](_0xd1b858);case MODEL_PROVIDERS[_0x1713b6(0xfe)]:return this[_0x1713b6(0xca)](_0xd1b858);default:return _0xd1b858;}}['_formatSingleMessage'](_0x4088bc,_0x35185b){const _0x5d0ff7=a0_0x5b1eca;return{'role':_0x4088bc[_0x5d0ff7(0xdf)]||_0x5d0ff7(0x11e),'content':_0x4088bc['content'],'timestamp':_0x4088bc[_0x5d0ff7(0x14e)]};}['_formatForAnthropic'](_0x23b86f){const _0x2cbb2e=a0_0x5b1eca;return _0x23b86f[_0x2cbb2e(0xbe)](_0x59c86d=>{const _0x46bb41=_0x2cbb2e;if(_0x59c86d['role']===_0x46bb41(0x117))return{'role':_0x46bb41(0x11e),'content':'System:\x20'+_0x59c86d[_0x46bb41(0xba)]};return _0x59c86d;});}['_formatForOpenAI'](_0x14e5a3){return _0x14e5a3;}[a0_0x5b1eca(0xca)](_0x46fe7a){const _0xe6a849=a0_0x5b1eca;return _0x46fe7a['map'](_0xa91610=>({..._0xa91610,'content':typeof _0xa91610[_0xe6a849(0xba)]==='string'?_0xa91610[_0xe6a849(0xba)]:JSON['stringify'](_0xa91610['content'])}));}[a0_0x5b1eca(0xff)](_0x4daf34){const _0x4d45b4=a0_0x5b1eca;this[_0x4d45b4(0xf2)][_0x4d45b4(0x137)](_0x4d45b4(0xdb),{'model':_0x4daf34,'modelType':typeof _0x4daf34});if(this['modelSpecs'][_0x4daf34]!==undefined)return!![];return this['logger'][_0x4d45b4(0xc7)]('Model\x20validation\x20failed',{'model':_0x4daf34,'availableModels':Object[_0x4d45b4(0x168)](this[_0x4d45b4(0x162)])}),![];}async[a0_0x5b1eca(0xd2)](_0x3a5a0a){return!![];}async[a0_0x5b1eca(0x122)](_0x2feaac,_0x328dd9){const _0x39ba56=a0_0x5b1eca;return Math['ceil'](_0x2feaac[_0x39ba56(0xe2)]/0x4);}async['_truncateMessage'](_0x4dc09e,_0x30d5ae){const _0x54fbf0=a0_0x5b1eca,_0x49fad9=_0x30d5ae*0x4;if(_0x4dc09e[_0x54fbf0(0xe2)]<=_0x49fad9)return _0x4dc09e;return _0x4dc09e[_0x54fbf0(0x119)](0x0,_0x49fad9-0x14)+'\x0a...\x20[message\x20truncated]';}async[a0_0x5b1eca(0xcb)](_0x1430de,_0x33461d){const _0x1ea287=a0_0x5b1eca,_0x3f0375=_0x1430de[_0x1ea287(0xbe)](_0x419bb2=>_0x419bb2['role']+':\x20'+_0x419bb2[_0x1ea287(0xba)])[_0x1ea287(0xfd)]('\x0a'),_0xaed81d=0x1f4;if(_0x3f0375[_0x1ea287(0xe2)]<=_0xaed81d)return _0x3f0375;return _0x3f0375[_0x1ea287(0x119)](0x0,_0xaed81d)+_0x1ea287(0x120);}async[a0_0x5b1eca(0x121)](_0x3e9a68,_0x45822d,_0x1488db,_0x4d3d4b={}){const _0x1fbb85=a0_0x5b1eca,_0x3129be=_0x1fbb85(0x107);let _0xc552af,_0x195f4e=null,_0x5914f1=null;this['logger']?.[_0x1fbb85(0xe5)]('🔑\x20API\x20Key\x20retrieval\x20state',{'hasApiKeyManager':!!this[_0x1fbb85(0xb8)],'sessionId':_0x4d3d4b['sessionId'],'hasSessionId':!!_0x4d3d4b[_0x1fbb85(0xef)],'optionsKeys':Object[_0x1fbb85(0x168)](_0x4d3d4b),'model':_0x45822d['model']});if(this[_0x1fbb85(0xb8)]&&_0x4d3d4b[_0x1fbb85(0xef)]){const _0x317b21=this[_0x1fbb85(0xb8)]['getKeysForRequest'](_0x4d3d4b[_0x1fbb85(0xef)],{'platformProvided':_0x4d3d4b[_0x1fbb85(0x142)]||![],'vendor':this[_0x1fbb85(0x127)](_0x45822d[_0x1fbb85(0x125)])});_0x195f4e=_0x317b21['loxiaApiKey'],_0x5914f1=_0x317b21[_0x1fbb85(0x157)],this[_0x1fbb85(0xf2)]?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x4d3d4b['sessionId'],'hasLoxiaKey':!!_0x195f4e,'hasVendorKey':!!_0x5914f1,'vendor':this[_0x1fbb85(0x127)](_0x45822d[_0x1fbb85(0x125)])});}!_0x195f4e&&_0x4d3d4b['apiKey']&&(_0x195f4e=_0x4d3d4b['apiKey']);!_0x195f4e&&this['config']['apiKey']&&(_0x195f4e=this[_0x1fbb85(0xf1)]['apiKey']);if(!_0x195f4e)throw new Error(_0x1fbb85(0xfa));const _0x143836=_0x45822d[_0x1fbb85(0x125)],_0x567cbe={'conversationId':_0x1488db,'message':_0x45822d[_0x1fbb85(0x132)][_0x45822d[_0x1fbb85(0x132)][_0x1fbb85(0xe2)]-0x1]?.['content']||'','messages':_0x45822d[_0x1fbb85(0x132)],'model':_0x143836,'requestId':_0x1488db,'options':_0x45822d['options']||{},'platformProvided':_0x4d3d4b[_0x1fbb85(0x142)]||![]};_0x45822d[_0x1fbb85(0x117)]&&(_0x567cbe['systemPrompt']=_0x45822d[_0x1fbb85(0x117)]);_0x4d3d4b[_0x1fbb85(0x142)]?_0x567cbe['apiKey']=_0x195f4e:(_0x5914f1&&(_0x567cbe['vendorApiKey']=_0x5914f1),_0x4d3d4b['customApiKeys']&&(_0x567cbe['customApiKeys']=_0x4d3d4b[_0x1fbb85(0x165)]),_0x567cbe['apiKey']=_0x195f4e);for(let _0x269a7e=0x1;_0x269a7e<=this[_0x1fbb85(0x10b)];_0x269a7e++){try{this['logger']['info']('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x3129be,'model':_0x45822d[_0x1fbb85(0x125)],'requestId':_0x1488db,'attempt':_0x269a7e,'hasApiKey':!!_0x195f4e});const _0x16862b=await fetch(_0x3129be,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x195f4e,'X-Request-ID':_0x1488db},'body':JSON[_0x1fbb85(0x11f)](_0x567cbe),'timeout':this[_0x1fbb85(0x167)]});if(!_0x16862b['ok']){const _0x405ba9=await _0x16862b[_0x1fbb85(0x15d)](),_0x56dcbb=new Error('HTTP\x20'+_0x16862b['status']+':\x20'+_0x16862b['statusText']+(_0x405ba9?_0x1fbb85(0xc2)+_0x405ba9:''));_0x56dcbb['status']=_0x16862b['status'];throw _0x56dcbb;}const _0x513c1b=await _0x16862b['json']();return{'choices':[{'message':{'content':_0x513c1b['content']||'','role':'assistant'},'finish_reason':_0x513c1b['finishReason']||_0x1fbb85(0xc1)}],'usage':_0x513c1b[_0x1fbb85(0x113)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x513c1b['model']||_0x45822d['model'],'id':_0x513c1b['requestId']||_0x1488db};}catch(_0xb39d2a){_0xc552af=_0xb39d2a,this[_0x1fbb85(0xf2)]['warn']('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x269a7e,'requestId':_0x1488db,'error':_0xb39d2a[_0x1fbb85(0xe7)],'status':_0xb39d2a['status']});if(_0x269a7e<this['retryAttempts']){const _0x2e6c0f=Math['pow'](0x2,_0x269a7e)*0x3e8;this['logger'][_0x1fbb85(0xc7)]('Retrying\x20in\x20'+_0x2e6c0f+'ms',{'attempt':_0x269a7e,'requestId':_0x1488db}),await new Promise(_0x11604c=>setTimeout(_0x11604c,_0x2e6c0f));}}}this[_0x1fbb85(0xf2)]['error'](_0x1fbb85(0x112),{'requestId':_0x1488db,'error':_0xc552af['message']});const _0x31bbd7=_0xc552af[_0x1fbb85(0xe7)]&&_0xc552af[_0x1fbb85(0xe7)][_0x1fbb85(0xd6)](_0x1fbb85(0x15a));if(_0x31bbd7)throw new Error(_0x1fbb85(0x124)+_0xc552af['message']);const _0x55bc5b=(_0xc552af[_0x1fbb85(0xe7)]||'')[_0x1fbb85(0x15f)](),_0x2deeca=_0x55bc5b[_0x1fbb85(0xd6)](_0x1fbb85(0x159))||_0x55bc5b[_0x1fbb85(0xd6)](_0x1fbb85(0x12b))||_0x55bc5b['includes'](_0x1fbb85(0x105))||_0x55bc5b['includes']('context_length_exceeded')||_0x55bc5b[_0x1fbb85(0xd6)]('tokens')&&_0x55bc5b[_0x1fbb85(0xd6)](_0x1fbb85(0xe8));if(_0x2deeca)throw new Error(_0x1fbb85(0xec)+_0xc552af['message']);return{'choices':[{'message':{'content':_0x1fbb85(0xcc)+_0xc552af['message'],'role':_0x1fbb85(0x123)},'finish_reason':'stop'}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x45822d[_0x1fbb85(0x125)],'id':_0x1fbb85(0xd8)+_0x1488db,'error':_0xc552af[_0x1fbb85(0xe7)]};}async['_makeImageAPIRequest'](_0x4127a4,_0x21e793,_0x71fff={}){const _0x5b58ae=a0_0x5b1eca,_0x3813d8='https://autopilot-api.azurewebsites.net/llm/generate-image';let _0x132fe9,_0x5c7f4d=null,_0x11d240=null;this[_0x5b58ae(0xf2)]?.[_0x5b58ae(0xe5)]('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x71fff['sessionId'],'hasSessionId':!!_0x71fff[_0x5b58ae(0xef)],'model':_0x4127a4['model']});if(this[_0x5b58ae(0xb8)]&&_0x71fff[_0x5b58ae(0xef)]){const _0x53e943=this['apiKeyManager'][_0x5b58ae(0x152)](_0x71fff[_0x5b58ae(0xef)],{'platformProvided':_0x71fff['platformProvided']||![],'vendor':this[_0x5b58ae(0x127)](_0x4127a4['model'])});_0x5c7f4d=_0x53e943[_0x5b58ae(0x11a)],_0x11d240=_0x53e943['vendorApiKey'],this['logger']?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x71fff[_0x5b58ae(0xef)],'hasLoxiaKey':!!_0x5c7f4d,'hasVendorKey':!!_0x11d240});}!_0x5c7f4d&&_0x71fff[_0x5b58ae(0x146)]&&(_0x5c7f4d=_0x71fff[_0x5b58ae(0x146)]);!_0x5c7f4d&&this['config']['apiKey']&&(_0x5c7f4d=this['config']['apiKey']);if(!_0x5c7f4d)throw new Error(_0x5b58ae(0xfa));const _0x4c7ffa={'prompt':_0x4127a4['prompt'],'model':_0x4127a4['model']||'azure-openai-dalle3','size':_0x4127a4[_0x5b58ae(0x166)],'quality':_0x4127a4[_0x5b58ae(0xce)],'style':_0x4127a4['style']||_0x5b58ae(0x108),'n':_0x4127a4['n']||0x1,'requestId':_0x21e793};for(let _0x4ebdda=0x1;_0x4ebdda<=this[_0x5b58ae(0x10b)];_0x4ebdda++){try{this['logger']['info']('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x3813d8,'model':_0x4127a4[_0x5b58ae(0x125)],'requestId':_0x21e793,'attempt':_0x4ebdda,'hasApiKey':!!_0x5c7f4d});const _0x45cb2f=await fetch(_0x3813d8,{'method':_0x5b58ae(0xc3),'headers':{'Content-Type':'application/json','Authorization':_0x5b58ae(0xf0)+_0x5c7f4d,'X-Request-ID':_0x21e793},'body':JSON['stringify'](_0x4c7ffa),'timeout':this['timeout']*0x2});if(!_0x45cb2f['ok']){const _0x9cefd1=await _0x45cb2f['text'](),_0x4bd360=new Error(_0x5b58ae(0xd5)+_0x45cb2f[_0x5b58ae(0xd0)]+':\x20'+_0x45cb2f['statusText']+(_0x9cefd1?'\x20-\x20'+_0x9cefd1:''));_0x4bd360[_0x5b58ae(0xd0)]=_0x45cb2f['status'];throw _0x4bd360;}const _0x57bd10=await _0x45cb2f[_0x5b58ae(0x158)]();return{'data':_0x57bd10['images']||[],'model':_0x57bd10[_0x5b58ae(0x125)]||_0x4127a4[_0x5b58ae(0x125)],'created':_0x57bd10['created']||Date[_0x5b58ae(0x134)](),'usage':_0x57bd10['usage']};}catch(_0x326737){_0x132fe9=_0x326737,this[_0x5b58ae(0xf2)][_0x5b58ae(0xc7)]('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x4ebdda,'requestId':_0x21e793,'error':_0x326737['message'],'status':_0x326737['status']});if(_0x4ebdda<this[_0x5b58ae(0x10b)]){const _0x4d3712=Math[_0x5b58ae(0x13a)](0x2,_0x4ebdda)*0x3e8;this[_0x5b58ae(0xf2)]['warn'](_0x5b58ae(0xed)+_0x4d3712+'ms',{'attempt':_0x4ebdda,'requestId':_0x21e793}),await new Promise(_0x5960b9=>setTimeout(_0x5960b9,_0x4d3712));}}}this[_0x5b58ae(0xf2)][_0x5b58ae(0x12a)]('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x21e793,'error':_0x132fe9['message']});throw new Error(_0x5b58ae(0xdc)+_0x132fe9['message']);}async['_checkRateLimit'](_0x5f030f){await new Promise(_0x1889e4=>setTimeout(_0x1889e4,0x64));}async[a0_0x5b1eca(0xee)](_0xd25539){const _0x1ea4a3=a0_0x5b1eca,_0x443c1c=0xea60;this[_0x1ea4a3(0xf2)]['info']('Rate\x20limit\x20exceeded,\x20waiting\x20'+_0x443c1c+'ms',_0xd25539),await new Promise(_0x140d29=>setTimeout(_0x140d29,_0x443c1c));}async[a0_0x5b1eca(0x11b)](_0xe9415e){const _0x59f134=a0_0x5b1eca;this[_0x59f134(0xe1)]();const _0x2fa954=0x7530;this[_0x59f134(0xf2)]['info']('Service\x20unavailable,\x20waiting\x20'+_0x2fa954+'ms',_0xe9415e),await new Promise(_0x44c66f=>setTimeout(_0x44c66f,_0x2fa954));}['_isCircuitBreakerOpen'](){const _0x4ccaf6=a0_0x5b1eca;if(!this['circuitBreaker'][_0x4ccaf6(0xcd)])return![];const _0x373f3e=Date[_0x4ccaf6(0x134)]()-this['circuitBreaker']['lastFailureTime'];if(_0x373f3e>this['circuitBreaker'][_0x4ccaf6(0x167)])return this[_0x4ccaf6(0x115)][_0x4ccaf6(0xcd)]=![],this[_0x4ccaf6(0x115)]['failures']=0x0,![];return!![];}['_recordFailure'](){const _0x54f0a0=a0_0x5b1eca;this[_0x54f0a0(0x115)]['failures']++,this[_0x54f0a0(0x115)][_0x54f0a0(0x118)]=Date[_0x54f0a0(0x134)](),this[_0x54f0a0(0x115)][_0x54f0a0(0x10c)]>=this['circuitBreaker']['threshold']&&(this[_0x54f0a0(0x115)][_0x54f0a0(0xcd)]=!![],this[_0x54f0a0(0xf2)]['warn']('Circuit\x20breaker\x20opened\x20due\x20to\x20repeated\x20failures'));}['_resetCircuitBreaker'](){const _0x261d99=a0_0x5b1eca;this['circuitBreaker'][_0x261d99(0x10c)]>0x0&&(this[_0x261d99(0x115)][_0x261d99(0x10c)]=0x0,this[_0x261d99(0x115)][_0x261d99(0xcd)]=![],this['logger'][_0x261d99(0xe5)](_0x261d99(0x116)));}['_getVendorFromModel'](_0xc0ad41){const _0x6ea6bc=a0_0x5b1eca;if(!_0xc0ad41)return null;const _0x12df0f=_0xc0ad41['toLowerCase']();if(_0x12df0f['includes'](_0x6ea6bc(0xf8))||_0x12df0f[_0x6ea6bc(0xd6)](_0x6ea6bc(0xf5)))return _0x6ea6bc(0xf8);else{if(_0x12df0f['includes'](_0x6ea6bc(0x10f))||_0x12df0f['includes'](_0x6ea6bc(0xd9)))return _0x6ea6bc(0x10f);else{if(_0x12df0f['includes']('deepseek'))return'deepseek';else{if(_0x12df0f['includes'](_0x6ea6bc(0x138)))return _0x6ea6bc(0xbf);}}}return null;}}function a0_0xfc80(_0x195e36,_0xa6add6){_0x195e36=_0x195e36-0xb8;const _0x18a04c=a0_0x18a0();let _0xfc8015=_0x18a04c[_0x195e36];if(a0_0xfc80['QMcxWj']===undefined){var _0x1e0e25=function(_0x416842){const _0x10d9db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xdddcc='',_0x13839e='';for(let _0x183549=0x0,_0x4e5dd0,_0x4aa28b,_0x27e2e1=0x0;_0x4aa28b=_0x416842['charAt'](_0x27e2e1++);~_0x4aa28b&&(_0x4e5dd0=_0x183549%0x4?_0x4e5dd0*0x40+_0x4aa28b:_0x4aa28b,_0x183549++%0x4)?_0xdddcc+=String['fromCharCode'](0xff&_0x4e5dd0>>(-0x2*_0x183549&0x6)):0x0){_0x4aa28b=_0x10d9db['indexOf'](_0x4aa28b);}for(let _0x360821=0x0,_0x4c4ab2=_0xdddcc['length'];_0x360821<_0x4c4ab2;_0x360821++){_0x13839e+='%'+('00'+_0xdddcc['charCodeAt'](_0x360821)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13839e);};a0_0xfc80['JUcEyB']=_0x1e0e25,a0_0xfc80['aMoFHg']={},a0_0xfc80['QMcxWj']=!![];}const _0xb6bbba=_0x18a04c[0x0],_0x5d8b2e=_0x195e36+_0xb6bbba,_0x3ae9f4=a0_0xfc80['aMoFHg'][_0x5d8b2e];return!_0x3ae9f4?(_0xfc8015=a0_0xfc80['JUcEyB'](_0xfc8015),a0_0xfc80['aMoFHg'][_0x5d8b2e]=_0xfc8015):_0xfc8015=_0x3ae9f4,_0xfc8015;}class ConversationManager{constructor(_0x47bc8f,_0xc2335e){const _0x984a95=a0_0x5b1eca;this[_0x984a95(0x114)]=_0x47bc8f,this[_0x984a95(0xf2)]=_0xc2335e,this[_0x984a95(0x144)]=new Map();}async['switchModel'](_0x4a4798){return{'messages':[],'model':_0x4a4798,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
@@ -1 +1 @@
1
- const a0_0x2ea83b=a0_0x4a72;(function(_0x6e6b9c,_0x2a00a5){const _0x400db4=a0_0x4a72,_0x578302=_0x6e6b9c();while(!![]){try{const _0x126512=-parseInt(_0x400db4(0x156))/0x1+parseInt(_0x400db4(0x13f))/0x2*(parseInt(_0x400db4(0x146))/0x3)+-parseInt(_0x400db4(0x143))/0x4*(parseInt(_0x400db4(0x15f))/0x5)+-parseInt(_0x400db4(0x15a))/0x6+-parseInt(_0x400db4(0x144))/0x7*(parseInt(_0x400db4(0x141))/0x8)+parseInt(_0x400db4(0x13e))/0x9+parseInt(_0x400db4(0x152))/0xa;if(_0x126512===_0x2a00a5)break;else _0x578302['push'](_0x578302['shift']());}catch(_0x217d3e){_0x578302['push'](_0x578302['shift']());}}}(a0_0x4410,0xc0145));class ApiKeyManager{constructor(_0x312428){const _0x81369b=a0_0x4a72;this[_0x81369b(0x158)]=_0x312428,this['sessionKeys']=new Map(),this[_0x81369b(0x14b)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x3591a8,_0x622113){const _0x24fe2c=a0_0x4a72;if(!_0x3591a8)throw new Error('Session\x20ID\x20is\x20required');this[_0x24fe2c(0x15d)]['set'](_0x3591a8,{'loxiaApiKey':_0x622113['loxiaApiKey']||null,'vendorKeys':_0x622113['vendorKeys']||{},'updatedAt':new Date()[_0x24fe2c(0x159)]()}),this['logger']?.['info'](_0x24fe2c(0x149),{'sessionId':_0x3591a8,'hasLoxiaKey':!!_0x622113['loxiaApiKey'],'vendorKeys':Object[_0x24fe2c(0x14c)](_0x622113[_0x24fe2c(0x157)]||{}),'timestamp':new Date()[_0x24fe2c(0x159)]()});}['getSessionKeys'](_0x4891d2){const _0x202671=a0_0x4a72;if(!_0x4891d2)return this['globalKeys'];const _0x1dfc24=this['sessionKeys'][_0x202671(0x154)](_0x4891d2);if(_0x1dfc24)return _0x1dfc24;return this['globalKeys'];}['getKeysForRequest'](_0x335bc5,_0x2c5395={}){const _0x4d1367=a0_0x4a72,_0x2fb4ca=this[_0x4d1367(0x15c)](_0x335bc5),_0x186a06={'loxiaApiKey':_0x2fb4ca[_0x4d1367(0x155)],'vendorApiKey':null};return!_0x2c5395['platformProvided']&&_0x2c5395[_0x4d1367(0x148)]&&_0x2fb4ca['vendorKeys']&&(_0x186a06['vendorApiKey']=_0x2fb4ca[_0x4d1367(0x157)][_0x2c5395['vendor']]),_0x186a06;}['removeSessionKeys'](_0x442d07){const _0x363d95=a0_0x4a72;if(this['sessionKeys'][_0x363d95(0x145)](_0x442d07))return this[_0x363d95(0x158)]?.[_0x363d95(0x15b)]('API\x20keys\x20removed\x20for\x20session',{'sessionId':_0x442d07}),!![];return![];}[a0_0x2ea83b(0x153)](_0x2f968b){const _0x3bf845=a0_0x2ea83b;this[_0x3bf845(0x14b)]={'loxiaApiKey':_0x2f968b[_0x3bf845(0x155)]||this['globalKeys']['loxiaApiKey'],'vendorKeys':{...this['globalKeys'][_0x3bf845(0x157)],..._0x2f968b[_0x3bf845(0x157)]||{}}},this[_0x3bf845(0x158)]?.['info'](_0x3bf845(0x15e),{'hasLoxiaKey':!!this[_0x3bf845(0x14b)]['loxiaApiKey'],'vendorKeys':Object[_0x3bf845(0x14c)](this[_0x3bf845(0x14b)][_0x3bf845(0x157)])});}['getActiveSessions'](){const _0x27dd63=a0_0x2ea83b;return Array[_0x27dd63(0x140)](this[_0x27dd63(0x15d)]['entries']())[_0x27dd63(0x160)](([_0x570a0c,_0x56004b])=>({'sessionId':_0x570a0c,'hasLoxiaKey':!!_0x56004b['loxiaApiKey'],'vendorKeys':Object['keys'](_0x56004b[_0x27dd63(0x157)]||{}),'updatedAt':_0x56004b[_0x27dd63(0x14d)]}));}[a0_0x2ea83b(0x14f)](_0x52c998=0x18*0x3c*0x3c*0x3e8){const _0x2676aa=a0_0x2ea83b,_0x38f339=Date[_0x2676aa(0x14a)](),_0x335e4c=[];for(const [_0x34b28b,_0x4d615a]of this['sessionKeys']['entries']()){const _0x357feb=_0x38f339-new Date(_0x4d615a[_0x2676aa(0x14d)])[_0x2676aa(0x150)]();_0x357feb>_0x52c998&&_0x335e4c[_0x2676aa(0x151)](_0x34b28b);}return _0x335e4c[_0x2676aa(0x142)](_0x52398b=>{this['sessionKeys']['delete'](_0x52398b);}),_0x335e4c[_0x2676aa(0x147)]>0x0&&this['logger']?.['info']('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x335e4c[_0x2676aa(0x147)],'remainingSessions':this[_0x2676aa(0x15d)][_0x2676aa(0x14e)]}),_0x335e4c[_0x2676aa(0x147)];}}function a0_0x4a72(_0x149003,_0x399888){_0x149003=_0x149003-0x13e;const _0x44106d=a0_0x4410();let _0x4a72a2=_0x44106d[_0x149003];if(a0_0x4a72['tKGvqF']===undefined){var _0x150fab=function(_0x33fc76){const _0x22b4f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x312428='',_0x3591a8='';for(let _0x622113=0x0,_0x4891d2,_0x1dfc24,_0x335bc5=0x0;_0x1dfc24=_0x33fc76['charAt'](_0x335bc5++);~_0x1dfc24&&(_0x4891d2=_0x622113%0x4?_0x4891d2*0x40+_0x1dfc24:_0x1dfc24,_0x622113++%0x4)?_0x312428+=String['fromCharCode'](0xff&_0x4891d2>>(-0x2*_0x622113&0x6)):0x0){_0x1dfc24=_0x22b4f2['indexOf'](_0x1dfc24);}for(let _0x2c5395=0x0,_0x2fb4ca=_0x312428['length'];_0x2c5395<_0x2fb4ca;_0x2c5395++){_0x3591a8+='%'+('00'+_0x312428['charCodeAt'](_0x2c5395)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3591a8);};a0_0x4a72['hxgphK']=_0x150fab,a0_0x4a72['wbFFEu']={},a0_0x4a72['tKGvqF']=!![];}const _0x5cc2c6=_0x44106d[0x0],_0x88251e=_0x149003+_0x5cc2c6,_0x698949=a0_0x4a72['wbFFEu'][_0x88251e];return!_0x698949?(_0x4a72a2=a0_0x4a72['hxgphK'](_0x4a72a2),a0_0x4a72['wbFFEu'][_0x88251e]=_0x4a72a2):_0x4a72a2=_0x698949,_0x4a72a2;}function a0_0x4410(){const _0x5da70c=['z2v0vgLTzq','ChvZAa','mZi0nde1nZbxDLbcsM8','C2v0r2XVyMfSs2v5CW','z2v0','Bg94AwfbCgLlzxK','mtaXmJaYmhjxsvDuyW','DMvUzg9Ys2v5CW','Bg9Nz2vY','Dg9ju09tDhjPBMC','mJe2odqYngD0C25qDq','Aw5MBW','z2v0u2vZC2LVBKTLExm','C2vZC2LVBKTLExm','r2XVyMfSiefqssbRzxLZihvWzgf0zwq','nxHYDvjWrq','BwfW','mty5odG3nNnwCwrhuW','mte3nde2swXgqKrb','zNjVBq','mtGZmLDlD2z3zW','zM9YrwfJAa','mJK5mda4ngPIvePZtq','mJmYmZnnC05ftfK','zgvSzxrL','mtj4uwjTB3e','BgvUz3rO','DMvUzg9Y','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','BM93','z2XVyMfSs2v5CW','A2v5CW','DxbKyxrLzef0','C2L6zq','y2XLyw51Cev4CgLYzwrtzxnZAw9UCW'];a0_0x4410=function(){return _0x5da70c;};return a0_0x4410();}export default ApiKeyManager;
1
+ const a0_0x23a91f=a0_0x19d0;function a0_0x19d0(_0x1de304,_0x49b4be){_0x1de304=_0x1de304-0x163;const _0x558cc0=a0_0x558c();let _0x19d0f2=_0x558cc0[_0x1de304];if(a0_0x19d0['SYPqxA']===undefined){var _0x2a6893=function(_0x4b7589){const _0xd1c86c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cbe53='',_0x372883='';for(let _0x34d9ff=0x0,_0x43f58b,_0x132bfc,_0x5d70ac=0x0;_0x132bfc=_0x4b7589['charAt'](_0x5d70ac++);~_0x132bfc&&(_0x43f58b=_0x34d9ff%0x4?_0x43f58b*0x40+_0x132bfc:_0x132bfc,_0x34d9ff++%0x4)?_0x1cbe53+=String['fromCharCode'](0xff&_0x43f58b>>(-0x2*_0x34d9ff&0x6)):0x0){_0x132bfc=_0xd1c86c['indexOf'](_0x132bfc);}for(let _0x3762b8=0x0,_0x339701=_0x1cbe53['length'];_0x3762b8<_0x339701;_0x3762b8++){_0x372883+='%'+('00'+_0x1cbe53['charCodeAt'](_0x3762b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x372883);};a0_0x19d0['zVVYjy']=_0x2a6893,a0_0x19d0['VPfXaZ']={},a0_0x19d0['SYPqxA']=!![];}const _0x48c912=_0x558cc0[0x0],_0x486684=_0x1de304+_0x48c912,_0x4e0f11=a0_0x19d0['VPfXaZ'][_0x486684];return!_0x4e0f11?(_0x19d0f2=a0_0x19d0['zVVYjy'](_0x19d0f2),a0_0x19d0['VPfXaZ'][_0x486684]=_0x19d0f2):_0x19d0f2=_0x4e0f11,_0x19d0f2;}(function(_0x412537,_0x2fab0b){const _0x4d0d6a=a0_0x19d0,_0x237a5f=_0x412537();while(!![]){try{const _0x31fbc0=parseInt(_0x4d0d6a(0x166))/0x1+parseInt(_0x4d0d6a(0x164))/0x2+parseInt(_0x4d0d6a(0x180))/0x3*(-parseInt(_0x4d0d6a(0x170))/0x4)+parseInt(_0x4d0d6a(0x16f))/0x5+-parseInt(_0x4d0d6a(0x174))/0x6+parseInt(_0x4d0d6a(0x16e))/0x7+parseInt(_0x4d0d6a(0x173))/0x8;if(_0x31fbc0===_0x2fab0b)break;else _0x237a5f['push'](_0x237a5f['shift']());}catch(_0x1a0dfc){_0x237a5f['push'](_0x237a5f['shift']());}}}(a0_0x558c,0x2d899));function a0_0x558c(){const _0x343600=['z2v0u2vZC2LVBKTLExm','C2L6zq','DxbKyxrLzef0','z2XVyMfSs2v5CW','A2v5CW','zM9YrwfJAa','ndC0ndv0r0PWDgm','zw50CMLLCW','r2XVyMfSiefqssbRzxLZihvWzgf0zwq','BwfW','mtqZodC4B1jOy2fp','ChvZAa','nZa4mdbtvKXOu1G','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','Aw5MBW','C2v0u2vZC2LVBKTLExm','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','zgvSzxrL','BgvUz3rO','DMvUzg9Y','otq4otC2C2viAu5S','nJqXmtCWv0XcDMfj','mtzgAuzWB3O','zNjVBq','C2v0r2XVyMfSs2v5CW','otq0ndCYAg9hD0TR','mty0odKXng1srxvNrG','z2v0vgLTzq','C2vZC2LVBKTLExm','Bg94AwfbCgLlzxK','Bg9Nz2vY','DMvUzg9Ys2v5CW'];a0_0x558c=function(){return _0x343600;};return a0_0x558c();}class ApiKeyManager{constructor(_0x1cbe53){const _0x2ab681=a0_0x19d0;this[_0x2ab681(0x178)]=_0x1cbe53,this[_0x2ab681(0x176)]=new Map(),this[_0x2ab681(0x17d)]={'loxiaApiKey':null,'vendorKeys':{}};}[a0_0x23a91f(0x169)](_0x372883,_0x34d9ff){const _0x5f41e4=a0_0x23a91f;if(!_0x372883)throw new Error(_0x5f41e4(0x167));this['sessionKeys']['set'](_0x372883,{'loxiaApiKey':_0x34d9ff['loxiaApiKey']||null,'vendorKeys':_0x34d9ff[_0x5f41e4(0x179)]||{},'updatedAt':new Date()['toISOString']()}),this[_0x5f41e4(0x178)]?.[_0x5f41e4(0x168)](_0x5f41e4(0x16a),{'sessionId':_0x372883,'hasLoxiaKey':!!_0x34d9ff[_0x5f41e4(0x177)],'vendorKeys':Object[_0x5f41e4(0x17e)](_0x34d9ff['vendorKeys']||{}),'timestamp':new Date()['toISOString']()});}[a0_0x23a91f(0x17a)](_0x43f58b){const _0x5a25ee=a0_0x23a91f;if(!_0x43f58b)return this['globalKeys'];const _0x132bfc=this['sessionKeys']['get'](_0x43f58b);if(_0x132bfc)return _0x132bfc;return this[_0x5a25ee(0x17d)];}['getKeysForRequest'](_0x5d70ac,_0x3762b8={}){const _0x388eab=a0_0x23a91f,_0x339701=this[_0x388eab(0x17a)](_0x5d70ac),_0x360338={'loxiaApiKey':_0x339701[_0x388eab(0x177)],'vendorApiKey':null};return!_0x3762b8['platformProvided']&&_0x3762b8[_0x388eab(0x16d)]&&_0x339701[_0x388eab(0x179)]&&(_0x360338['vendorApiKey']=_0x339701[_0x388eab(0x179)][_0x3762b8['vendor']]),_0x360338;}['removeSessionKeys'](_0x4b7038){const _0x3aa966=a0_0x23a91f;if(this[_0x3aa966(0x176)][_0x3aa966(0x16b)](_0x4b7038))return this[_0x3aa966(0x178)]?.[_0x3aa966(0x168)]('API\x20keys\x20removed\x20for\x20session',{'sessionId':_0x4b7038}),!![];return![];}[a0_0x23a91f(0x172)](_0x457d95){const _0x4a6bfe=a0_0x23a91f;this[_0x4a6bfe(0x17d)]={'loxiaApiKey':_0x457d95[_0x4a6bfe(0x177)]||this[_0x4a6bfe(0x17d)]['loxiaApiKey'],'vendorKeys':{...this['globalKeys']['vendorKeys'],..._0x457d95['vendorKeys']||{}}},this[_0x4a6bfe(0x178)]?.['info'](_0x4a6bfe(0x182),{'hasLoxiaKey':!!this['globalKeys'][_0x4a6bfe(0x177)],'vendorKeys':Object[_0x4a6bfe(0x17e)](this['globalKeys']['vendorKeys'])});}['getActiveSessions'](){const _0x786ec3=a0_0x23a91f;return Array[_0x786ec3(0x171)](this['sessionKeys'][_0x786ec3(0x181)]())[_0x786ec3(0x163)](([_0x40bfbc,_0x4a85c1])=>({'sessionId':_0x40bfbc,'hasLoxiaKey':!!_0x4a85c1['loxiaApiKey'],'vendorKeys':Object[_0x786ec3(0x17e)](_0x4a85c1['vendorKeys']||{}),'updatedAt':_0x4a85c1[_0x786ec3(0x17c)]}));}['cleanupExpiredSessions'](_0x41466f=0x18*0x3c*0x3c*0x3e8){const _0xad4b0b=a0_0x23a91f,_0xc4a8cd=Date['now'](),_0x4bfe27=[];for(const [_0x4bffb4,_0x2f312d]of this['sessionKeys'][_0xad4b0b(0x181)]()){const _0x536abd=_0xc4a8cd-new Date(_0x2f312d['updatedAt'])[_0xad4b0b(0x175)]();_0x536abd>_0x41466f&&_0x4bfe27[_0xad4b0b(0x165)](_0x4bffb4);}return _0x4bfe27[_0xad4b0b(0x17f)](_0xe1a148=>{const _0x4eb053=_0xad4b0b;this['sessionKeys'][_0x4eb053(0x16b)](_0xe1a148);}),_0x4bfe27[_0xad4b0b(0x16c)]>0x0&&this['logger']?.['info']('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x4bfe27['length'],'remainingSessions':this[_0xad4b0b(0x176)][_0xad4b0b(0x17b)]}),_0x4bfe27[_0xad4b0b(0x16c)];}}export default ApiKeyManager;
@@ -1 +1 @@
1
- function a0_0x2b83(){const _0xfef3b0=['ntqYndGWnhjPCfHzEa','BwfW','zxjYB3i','qMvHCMvYia','Bg9Nz2vY','BwvZC2fNzq','ndG3mZK2nwzYCwnjqq','nZbeEfbnDxi','x2DLDe1VC3rdB3n0rwzMAwnPzw50','BgvUz3rO','BMvLzhnszwzYzxnO','qMvUy2HTyxjRihnLCNzPy2uGAw5PDgLHBgL6zwq','m0XpAKnXwG','Bw9KzwXZ','mZvPDu1zCKG','DMfSDwvZ','mtmZmJG5mwfTuwzHDG','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','y3jLyxrPDMu','z2v0u3rHDhvZ','x3nJAgvKDwXLuMvMCMvZAa','x2DLDezHC3rLC3rnB2rLBa','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','C3bLzwq','CMvMCMvZAeLUDgvYDMfS','z2v0vgLTzq','Bg9HzejLBMnOBwfYA3m','BgfZDfvWzgf0zwq','C29YDa','ngDWCuT2ua','DgfZA3m','mtyZntaXnMPVy0niwq','Bwf4','zgvIDwC','mte2otK4nKLUCNDoAG','Aw5MBW','mJu0nda2oufgwuHkCG','sfruuca','C291CMnL','Dw5RBM93BG','yxbPs2v5','x2DLDejLC3rnB2rLBezVCLrHC2S','AxnmB2fKAw5N','yMvUy2HTyxjRCW','nJyWmdGWBhrHA2DZ','zM9Yy2vszwzYzxnO','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','C2nVCMu','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza'];a0_0x2b83=function(){return _0xfef3b0;};return a0_0x2b83();}const a0_0x4c5909=a0_0x1b9b;(function(_0x470619,_0x4f3132){const _0x1d14da=a0_0x1b9b,_0x449f5a=_0x470619();while(!![]){try{const _0x2ff847=parseInt(_0x1d14da(0x158))/0x1+-parseInt(_0x1d14da(0x14e))/0x2*(parseInt(_0x1d14da(0x16a))/0x3)+-parseInt(_0x1d14da(0x17b))/0x4*(parseInt(_0x1d14da(0x164))/0x5)+-parseInt(_0x1d14da(0x15e))/0x6+parseInt(_0x1d14da(0x16c))/0x7*(parseInt(_0x1d14da(0x14b))/0x8)+-parseInt(_0x1d14da(0x16e))/0x9+-parseInt(_0x1d14da(0x165))/0xa*(-parseInt(_0x1d14da(0x150))/0xb);if(_0x2ff847===_0x4f3132)break;else _0x449f5a['push'](_0x449f5a['shift']());}catch(_0xf1753){_0x449f5a['push'](_0x449f5a['shift']());}}}(a0_0x2b83,0xa8303));function a0_0x1b9b(_0xae7c10,_0x1d47cb){_0xae7c10=_0xae7c10-0x14a;const _0x2b8343=a0_0x2b83();let _0x1b9b1=_0x2b8343[_0xae7c10];if(a0_0x1b9b['QaKLsY']===undefined){var _0x33f932=function(_0x59a745){const _0x33c355='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13d183='',_0x121e3d='';for(let _0x5ab0eb=0x0,_0x58ee88,_0x4447aa,_0x1d1fa7=0x0;_0x4447aa=_0x59a745['charAt'](_0x1d1fa7++);~_0x4447aa&&(_0x58ee88=_0x5ab0eb%0x4?_0x58ee88*0x40+_0x4447aa:_0x4447aa,_0x5ab0eb++%0x4)?_0x13d183+=String['fromCharCode'](0xff&_0x58ee88>>(-0x2*_0x5ab0eb&0x6)):0x0){_0x4447aa=_0x33c355['indexOf'](_0x4447aa);}for(let _0x560b54=0x0,_0x336b0c=_0x13d183['length'];_0x560b54<_0x336b0c;_0x560b54++){_0x121e3d+='%'+('00'+_0x13d183['charCodeAt'](_0x560b54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x121e3d);};a0_0x1b9b['XJijbs']=_0x33f932,a0_0x1b9b['IYWNme']={},a0_0x1b9b['QaKLsY']=!![];}const _0x3a735b=_0x2b8343[0x0],_0x7de72d=_0xae7c10+_0x3a735b,_0x132753=a0_0x1b9b['IYWNme'][_0x7de72d];return!_0x132753?(_0x1b9b1=a0_0x1b9b['XJijbs'](_0x1b9b1),a0_0x1b9b['IYWNme'][_0x7de72d]=_0x1b9b1):_0x1b9b1=_0x132753,_0x1b9b1;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x13d183,_0x121e3d){const _0x2a2e74=a0_0x1b9b;this['config']=_0x13d183,this['logger']=_0x121e3d,this['benchmarks']=null,this[_0x2a2e74(0x179)]=null,this[_0x2a2e74(0x156)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG['BENCHMARK_REFRESH_INTERVAL'];}async['initialize'](){const _0x3ffa59=a0_0x1b9b;try{await this[_0x3ffa59(0x178)](),this[_0x3ffa59(0x172)](),this[_0x3ffa59(0x162)][_0x3ffa59(0x14f)](_0x3ffa59(0x169));}catch(_0x5ab0eb){this[_0x3ffa59(0x162)]['error']('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x5ab0eb[_0x3ffa59(0x163)]}),this['benchmarks']=null;}}['getBenchmarks'](){const _0x434207=a0_0x1b9b;if(!this[_0x434207(0x157)])return this['logger']['error']('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async[a0_0x4c5909(0x178)](){const _0x3ea7ae=a0_0x4c5909;if(this['isLoading']){this['logger']['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x58ee88=await this['_fetchFromAzureBackend']();if(_0x58ee88)this['benchmarks']=_0x58ee88,this[_0x3ea7ae(0x179)]=new Date(),this[_0x3ea7ae(0x162)]['info']('Benchmarks loaded from Azure backend',{'modelCount':_0x58ee88['models']?.[_0x3ea7ae(0x167)]||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x4447aa){this['logger'][_0x3ea7ae(0x160)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x4447aa['message'],'endpoint':url}),!this[_0x3ea7ae(0x157)]&&(this['benchmarks']=null);}finally{this[_0x3ea7ae(0x156)]=![];}}['getBenchmarkTable'](){const _0x45ab13=a0_0x4c5909,_0x1d1fa7=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.[_0x45ab13(0x15b)]()||_0x45ab13(0x153),'models':_0x1d1fa7['models']||[],'tasks':_0x1d1fa7[_0x45ab13(0x14a)]||{},'summary':this['_generateBenchmarkSummary'](_0x1d1fa7)};}[a0_0x4c5909(0x168)](){const _0x159cf9=a0_0x4c5909;if(!this[_0x159cf9(0x179)])return!![];const _0x560b54=Date['now']()-this[_0x159cf9(0x179)][_0x159cf9(0x177)]();return _0x560b54>this['refreshInterval'];}async[a0_0x4c5909(0x15d)](){const _0x91b592=a0_0x4c5909,_0x336b0c=this['azureBackendUrl']+_0x91b592(0x16f);let _0x40f8f0=null;this['config'][_0x91b592(0x154)]&&(_0x40f8f0=this['config']['apiKey']);const _0x1d67fc={'method':'GET','headers':{'Content-Type':'application/json',..._0x40f8f0&&{'Authorization':_0x91b592(0x161)+_0x40f8f0}},'timeout':0x2710};this[_0x91b592(0x162)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x336b0c});const _0x520501=await fetch(_0x336b0c,_0x1d67fc);if(!_0x520501['ok'])throw new Error(_0x91b592(0x151)+_0x520501['status']+':\x20'+_0x520501[_0x91b592(0x15a)]);const _0x20362c=await _0x520501['json']();return _0x20362c;}['_generateBenchmarkSummary'](_0x1f15cd){const _0x10f8f6=a0_0x4c5909,_0x155c61=_0x1f15cd[_0x10f8f6(0x16b)]||[];return{'totalModels':_0x155c61[_0x10f8f6(0x167)],'taskCategories':Object['keys'](_0x1f15cd['tasks']||{}),'bestForCoding':this['_getBestModelForTask'](_0x155c61,'coding'),'bestForAnalysis':this['_getBestModelForTask'](_0x155c61,'analysis'),'bestForQuickTasks':this['_getBestModelForTask'](_0x155c61,'quick-tasks'),'bestForCreative':this['_getBestModelForTask'](_0x155c61,_0x10f8f6(0x170)),'fastestModel':this[_0x10f8f6(0x173)](_0x155c61),'mostCostEfficient':this[_0x10f8f6(0x166)](_0x155c61)};}[a0_0x4c5909(0x155)](_0x176042,_0x1ef47b){const _0x20a0f6=a0_0x4c5909;return _0x176042['filter'](_0x5164f2=>_0x5164f2['tasks']&&_0x5164f2['tasks'][_0x1ef47b])['sort']((_0x25bcf1,_0x42af5e)=>(_0x42af5e[_0x20a0f6(0x14a)][_0x1ef47b][_0x20a0f6(0x15c)]||0x0)-(_0x25bcf1['tasks'][_0x1ef47b]['score']||0x0))[0x0]?.['name']||_0x20a0f6(0x153);}['_getFastestModel'](_0x397c44){const _0x2f56e4=a0_0x4c5909,_0x2ed47d={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x397c44['sort']((_0x1d113e,_0x1c5119)=>{const _0x5d66=a0_0x1b9b,_0x1fe46a=Math[_0x5d66(0x14c)](...Object['values'](_0x1d113e[_0x5d66(0x14a)]||{})[_0x5d66(0x15f)](_0x58530b=>_0x2ed47d[_0x58530b[_0x5d66(0x175)]]||0x0)),_0x4207b3=Math['max'](...Object['values'](_0x1c5119['tasks']||{})[_0x5d66(0x15f)](_0x479793=>_0x2ed47d[_0x479793['speed']]||0x0));return _0x4207b3-_0x1fe46a;})[0x0]?.['name']||_0x2f56e4(0x153);}['_getMostCostEfficient'](_0x236a9d){const _0x1ba377=a0_0x4c5909,_0x25cd3f={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x236a9d[_0x1ba377(0x17a)]((_0x333c1e,_0x1312b1)=>{const _0x5a72b2=_0x1ba377,_0x2adcd7=Math[_0x5a72b2(0x14c)](...Object['values'](_0x333c1e['tasks']||{})['map'](_0x2545d1=>_0x25cd3f[_0x2545d1['cost']]||0x0)),_0x5b8ae6=Math['max'](...Object[_0x5a72b2(0x16d)](_0x1312b1['tasks']||{})['map'](_0x5cfe19=>_0x25cd3f[_0x5cfe19['cost']]||0x0));return _0x5b8ae6-_0x2adcd7;})[0x0]?.['name']||'unknown';}[a0_0x4c5909(0x172)](){const _0x349a0b=a0_0x4c5909;setInterval(async()=>{const _0x35d923=a0_0x1b9b;this[_0x35d923(0x168)]()&&(this[_0x35d923(0x162)][_0x35d923(0x14d)]('Refreshing\x20benchmark\x20data'),await this['loadBenchmarks']());},this[_0x349a0b(0x176)]);}async[a0_0x4c5909(0x159)](){const _0x33814=a0_0x4c5909;this[_0x33814(0x162)]['info'](_0x33814(0x174)),await this['loadBenchmarks']();}[a0_0x4c5909(0x171)](){const _0x21d4e5=a0_0x4c5909;return{'initialized':!!this[_0x21d4e5(0x157)],'lastUpdated':this['lastUpdated']?.['toISOString']()||null,'source':this['benchmarks']?.[_0x21d4e5(0x152)]||_0x21d4e5(0x153),'modelCount':this['benchmarks']?.['models']?.['length']||0x0,'isLoading':this[_0x21d4e5(0x156)],'needsRefresh':this['needsRefresh']()};}}export default BenchmarkService;
1
+ function a0_0x81af(_0x262d3c,_0x3da488){_0x262d3c=_0x262d3c-0x173;const _0x3fd929=a0_0x3fd9();let _0x81afbe=_0x3fd929[_0x262d3c];if(a0_0x81af['htDvEP']===undefined){var _0x55f24a=function(_0x20837e){const _0x4b7380='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39a3d6='',_0x7f7057='';for(let _0x32e889=0x0,_0x98db08,_0x212e51,_0x18e46e=0x0;_0x212e51=_0x20837e['charAt'](_0x18e46e++);~_0x212e51&&(_0x98db08=_0x32e889%0x4?_0x98db08*0x40+_0x212e51:_0x212e51,_0x32e889++%0x4)?_0x39a3d6+=String['fromCharCode'](0xff&_0x98db08>>(-0x2*_0x32e889&0x6)):0x0){_0x212e51=_0x4b7380['indexOf'](_0x212e51);}for(let _0x1763e5=0x0,_0x3c9dd9=_0x39a3d6['length'];_0x1763e5<_0x3c9dd9;_0x1763e5++){_0x7f7057+='%'+('00'+_0x39a3d6['charCodeAt'](_0x1763e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7f7057);};a0_0x81af['IbUooZ']=_0x55f24a,a0_0x81af['HGBuDU']={},a0_0x81af['htDvEP']=!![];}const _0x52654a=_0x3fd929[0x0],_0x5ad183=_0x262d3c+_0x52654a,_0x461791=a0_0x81af['HGBuDU'][_0x5ad183];return!_0x461791?(_0x81afbe=a0_0x81af['IbUooZ'](_0x81afbe),a0_0x81af['HGBuDU'][_0x5ad183]=_0x81afbe):_0x81afbe=_0x461791,_0x81afbe;}const a0_0x152015=a0_0x81af;(function(_0x32165e,_0x4c4a68){const _0x2b8c4b=a0_0x81af,_0x570859=_0x32165e();while(!![]){try{const _0x42cb99=parseInt(_0x2b8c4b(0x181))/0x1+parseInt(_0x2b8c4b(0x19f))/0x2*(-parseInt(_0x2b8c4b(0x18e))/0x3)+parseInt(_0x2b8c4b(0x187))/0x4+-parseInt(_0x2b8c4b(0x1a5))/0x5*(parseInt(_0x2b8c4b(0x19b))/0x6)+parseInt(_0x2b8c4b(0x18f))/0x7+-parseInt(_0x2b8c4b(0x1ac))/0x8*(parseInt(_0x2b8c4b(0x196))/0x9)+-parseInt(_0x2b8c4b(0x18b))/0xa;if(_0x42cb99===_0x4c4a68)break;else _0x570859['push'](_0x570859['shift']());}catch(_0x2561ea){_0x570859['push'](_0x570859['shift']());}}}(a0_0x3fd9,0x28825));function a0_0x3fd9(){const _0x5245d4=['AxnmB2fKAw5N','Bg9HzejLBMnOBwfYA3m','BwvZC2fNzq','yxP1CMvcywnRzw5KvxjS','mJe2odm3DMDly0fX','yMvUy2HTyxjRCW','Bw9KzwXZ','CMvMCMvZAeLUDgvYDMfS','x2DLDejLC3rnB2rLBezVCLrHC2S','mtaXnhH5CMnvuG','x2DLDezHC3rLC3rnB2rLBa','C3bLzwq','z2v0qMvUy2HTyxjRCW','mZKXohzuveDhAa','Aw5MBW','BgfZDfvWzgf0zwq','BM93','y3jLyxrPDMu','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','mZKZmezTDg9IqW','zxjYB3i','qMvUy2HTyxjRigXVywrPBMCGywXYzwfKEsbPBIbWCM9NCMvZCW','Dw5RBM93BG','CxvPy2STDgfZA3m','zMLSDgvY','z2v0vgLTzq','mta0BNr1Buz6','zM9Yy2vszwzYzxnO','C3rHDhvZvgv4Da','y29ZDa','Bwf4','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','BMvLzhnszwzYzxnO','y29UzMLN','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','BwfW','yw5HBhLZAxm','Bg9Nz2vY','yxbPs2v5','BMfTzq','r0vu','mty3mty2tgX5qxno','DgfZA3m','tM8GyMvUy2HTyxjRigrHDgeGyxzHAwXHyMXLic0GqvbjigzLDgnOigzHAwXLza','x2DLDe1VC3rdB3n0rwzMAwnPzw50','ANnVBG','C3rHDhvZ','ntK4mJGWwK1tseXY','DMfSDwvZ','Dg9ju09tDhjPBMC','zgvIDwC','mJqZnZGWq2vxwKfA','C29YDa','qMvUy2HTyxjRihnLCNzPy2uGAw5PDgLHBgL6zwq','nNvLquv2vq','mJi2ndy5nKDMEwD1rq','y29KAw5N','BgvUz3rO'];a0_0x3fd9=function(){return _0x5245d4;};return a0_0x3fd9();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x39a3d6,_0x7f7057){const _0x3276dc=a0_0x81af;this['config']=_0x39a3d6,this['logger']=_0x7f7057,this['benchmarks']=null,this['lastUpdated']=null,this[_0x3276dc(0x192)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG[_0x3276dc(0x17a)];}async['initialize'](){const _0x3aa34e=a0_0x81af;try{await this['loadBenchmarks'](),this['_scheduleRefresh'](),this[_0x3aa34e(0x17d)][_0x3aa34e(0x1a0)](_0x3aa34e(0x18d));}catch(_0x32e889){this[_0x3aa34e(0x17d)][_0x3aa34e(0x1a6)]('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x32e889['message']}),this['benchmarks']=null;}}[a0_0x152015(0x19e)](){const _0x4e2df1=a0_0x152015;if(!this['benchmarks'])return this[_0x4e2df1(0x17d)][_0x4e2df1(0x1a6)](_0x4e2df1(0x183),{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this[_0x4e2df1(0x197)];}async[a0_0x152015(0x193)](){const _0x126aee=a0_0x152015;if(this[_0x126aee(0x192)]){this[_0x126aee(0x17d)][_0x126aee(0x18a)](_0x126aee(0x1a7));return;}this['isLoading']=!![];try{const _0x98db08=await this['_fetchFromAzureBackend']();if(_0x98db08)this['benchmarks']=_0x98db08,this['lastUpdated']=new Date(),this['logger'][_0x126aee(0x1a0)]('Benchmarks loaded from Azure backend',{'modelCount':_0x98db08[_0x126aee(0x198)]?.[_0x126aee(0x191)]||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x212e51){this['logger']['error']('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x212e51[_0x126aee(0x194)],'endpoint':url}),!this['benchmarks']&&(this[_0x126aee(0x197)]=null);}finally{this['isLoading']=![];}}['getBenchmarkTable'](){const _0x663299=a0_0x152015,_0x18e46e=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.['toISOString']()||_0x663299(0x1a8),'models':_0x18e46e['models']||[],'tasks':_0x18e46e[_0x663299(0x182)]||{},'summary':this['_generateBenchmarkSummary'](_0x18e46e)};}[a0_0x152015(0x178)](){const _0x4c7afe=a0_0x152015;if(!this[_0x4c7afe(0x1a1)])return!![];const _0x1763e5=Date[_0x4c7afe(0x1a2)]()-this['lastUpdated'][_0x4c7afe(0x1ab)]();return _0x1763e5>this['refreshInterval'];}async['_fetchFromAzureBackend'](){const _0x164aff=a0_0x152015,_0x3c9dd9=this[_0x164aff(0x195)]+'/llm/model-benchmarks';let _0x506871=null;this[_0x164aff(0x179)][_0x164aff(0x17e)]&&(_0x506871=this[_0x164aff(0x179)]['apiKey']);const _0x5bd669={'method':_0x164aff(0x180),'headers':{'Content-Type':'application/json',..._0x506871&&{'Authorization':'Bearer\x20'+_0x506871}},'timeout':0x2710};this['logger']['debug']('Fetching benchmarks from Azure backend',{'url':_0x3c9dd9});const _0x196779=await fetch(_0x3c9dd9,_0x5bd669);if(!_0x196779['ok'])throw new Error('HTTP\x20'+_0x196779[_0x164aff(0x186)]+':\x20'+_0x196779[_0x164aff(0x174)]);const _0x45adca=await _0x196779[_0x164aff(0x185)]();return _0x45adca;}[a0_0x152015(0x177)](_0x18e275){const _0x40f0f3=a0_0x152015,_0x4a7242=_0x18e275[_0x40f0f3(0x198)]||[];return{'totalModels':_0x4a7242['length'],'taskCategories':Object['keys'](_0x18e275[_0x40f0f3(0x182)]||{}),'bestForCoding':this['_getBestModelForTask'](_0x4a7242,_0x40f0f3(0x190)),'bestForAnalysis':this[_0x40f0f3(0x19a)](_0x4a7242,_0x40f0f3(0x17c)),'bestForQuickTasks':this['_getBestModelForTask'](_0x4a7242,_0x40f0f3(0x1a9)),'bestForCreative':this[_0x40f0f3(0x19a)](_0x4a7242,_0x40f0f3(0x1a3)),'fastestModel':this[_0x40f0f3(0x19c)](_0x4a7242),'mostCostEfficient':this['_getMostCostEfficient'](_0x4a7242)};}['_getBestModelForTask'](_0x26a2b4,_0x4740c9){const _0x52d10a=a0_0x152015;return _0x26a2b4[_0x52d10a(0x1aa)](_0x204556=>_0x204556[_0x52d10a(0x182)]&&_0x204556[_0x52d10a(0x182)][_0x4740c9])['sort']((_0x186dcc,_0x1080c5)=>(_0x1080c5['tasks'][_0x4740c9]['score']||0x0)-(_0x186dcc['tasks'][_0x4740c9]['score']||0x0))[0x0]?.[_0x52d10a(0x17f)]||_0x52d10a(0x1a8);}[a0_0x152015(0x19c)](_0x425652){const _0x52add0=a0_0x152015,_0x4f1cf0={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x425652[_0x52add0(0x18c)]((_0x522560,_0x396e77)=>{const _0x516ae8=_0x52add0,_0x4ca948=Math['max'](...Object[_0x516ae8(0x188)](_0x522560[_0x516ae8(0x182)]||{})[_0x516ae8(0x17b)](_0x4cc23c=>_0x4f1cf0[_0x4cc23c[_0x516ae8(0x19d)]]||0x0)),_0x1721ea=Math[_0x516ae8(0x176)](...Object['values'](_0x396e77['tasks']||{})['map'](_0x2d0448=>_0x4f1cf0[_0x2d0448['speed']]||0x0));return _0x1721ea-_0x4ca948;})[0x0]?.['name']||_0x52add0(0x1a8);}[a0_0x152015(0x184)](_0x469dfa){const _0x11ca1c=a0_0x152015,_0x4448f9={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x469dfa[_0x11ca1c(0x18c)]((_0x4f9665,_0x457a0c)=>{const _0x51de11=_0x11ca1c,_0xca8161=Math['max'](...Object[_0x51de11(0x188)](_0x4f9665[_0x51de11(0x182)]||{})[_0x51de11(0x17b)](_0x4f1246=>_0x4448f9[_0x4f1246[_0x51de11(0x175)]]||0x0)),_0x39e865=Math['max'](...Object[_0x51de11(0x188)](_0x457a0c[_0x51de11(0x182)]||{})[_0x51de11(0x17b)](_0x3939e0=>_0x4448f9[_0x3939e0[_0x51de11(0x175)]]||0x0));return _0x39e865-_0xca8161;})[0x0]?.[_0x11ca1c(0x17f)]||_0x11ca1c(0x1a8);}['_scheduleRefresh'](){const _0x2b8470=a0_0x152015;setInterval(async()=>{const _0xbb3281=a0_0x81af;this[_0xbb3281(0x178)]()&&(this['logger'][_0xbb3281(0x18a)]('Refreshing\x20benchmark\x20data'),await this[_0xbb3281(0x193)]());},this[_0x2b8470(0x199)]);}async[a0_0x152015(0x173)](){const _0x37e61e=a0_0x152015;this[_0x37e61e(0x17d)]['info'](_0x37e61e(0x1a4)),await this['loadBenchmarks']();}['getStatus'](){const _0x13ca33=a0_0x152015;return{'initialized':!!this['benchmarks'],'lastUpdated':this[_0x13ca33(0x1a1)]?.[_0x13ca33(0x189)]()||null,'source':this['benchmarks']?.['source']||'unknown','modelCount':this[_0x13ca33(0x197)]?.[_0x13ca33(0x198)]?.[_0x13ca33(0x191)]||0x0,'isLoading':this[_0x13ca33(0x192)],'needsRefresh':this['needsRefresh']()};}}export default BenchmarkService;
@@ -1 +1 @@
1
- const a0_0x134367=a0_0x4076;(function(_0x355faa,_0x56efce){const _0x1de4fc=a0_0x4076,_0x3ae7fc=_0x355faa();while(!![]){try{const _0x4e261e=parseInt(_0x1de4fc(0xb5))/0x1*(parseInt(_0x1de4fc(0x8b))/0x2)+parseInt(_0x1de4fc(0xba))/0x3+-parseInt(_0x1de4fc(0xa9))/0x4+-parseInt(_0x1de4fc(0xd4))/0x5*(parseInt(_0x1de4fc(0xc6))/0x6)+parseInt(_0x1de4fc(0xce))/0x7+-parseInt(_0x1de4fc(0xc9))/0x8+parseInt(_0x1de4fc(0xa7))/0x9;if(_0x4e261e===_0x56efce)break;else _0x3ae7fc['push'](_0x3ae7fc['shift']());}catch(_0x26df0d){_0x3ae7fc['push'](_0x3ae7fc['shift']());}}}(a0_0x2dd6,0x35fd5));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x4076(_0x122b22,_0x1c1552){_0x122b22=_0x122b22-0x7b;const _0x2dd6a7=a0_0x2dd6();let _0x40768c=_0x2dd6a7[_0x122b22];if(a0_0x4076['dmpgEt']===undefined){var _0x49aa3c=function(_0x333421){const _0x11965a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37db7c='',_0x313b55='';for(let _0x2ede38=0x0,_0x3b0e0f,_0x285a69,_0x13b4bf=0x0;_0x285a69=_0x333421['charAt'](_0x13b4bf++);~_0x285a69&&(_0x3b0e0f=_0x2ede38%0x4?_0x3b0e0f*0x40+_0x285a69:_0x285a69,_0x2ede38++%0x4)?_0x37db7c+=String['fromCharCode'](0xff&_0x3b0e0f>>(-0x2*_0x2ede38&0x6)):0x0){_0x285a69=_0x11965a['indexOf'](_0x285a69);}for(let _0x57c4fe=0x0,_0x49b239=_0x37db7c['length'];_0x57c4fe<_0x49b239;_0x57c4fe++){_0x313b55+='%'+('00'+_0x37db7c['charCodeAt'](_0x57c4fe)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x313b55);};a0_0x4076['RQdanb']=_0x49aa3c,a0_0x4076['AvYikL']={},a0_0x4076['dmpgEt']=!![];}const _0x2719f4=_0x2dd6a7[0x0],_0x4375dd=_0x122b22+_0x2719f4,_0x2b9a4f=a0_0x4076['AvYikL'][_0x4375dd];return!_0x2b9a4f?(_0x40768c=a0_0x4076['RQdanb'](_0x40768c),a0_0x4076['AvYikL'][_0x4375dd]=_0x40768c):_0x40768c=_0x2b9a4f,_0x40768c;}export class BudgetService{constructor(_0x37db7c,_0x313b55){const _0x1d1c61=a0_0x4076;this['config']=_0x37db7c||{},this[_0x1d1c61(0xc8)]=_0x313b55,this[_0x1d1c61(0xd8)]={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this['budgets']={'daily':BUDGET_LIMITS[_0x1d1c61(0xa4)],'weekly':BUDGET_LIMITS[_0x1d1c61(0xb9)],'monthly':BUDGET_LIMITS[_0x1d1c61(0xd5)]},this[_0x1d1c61(0xad)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this[_0x1d1c61(0x84)](),this[_0x1d1c61(0x97)]();}[a0_0x134367(0x8c)](_0x2ede38,_0x3b0e0f,_0x285a69){const _0x3d48b3=a0_0x134367;try{const _0x13b4bf=this['calculateCost'](_0x3b0e0f,_0x285a69),_0x57c4fe=new Date(),_0x49b239=this[_0x3d48b3(0x82)](_0x57c4fe),_0x480d33=this['getWeekKey'](_0x57c4fe),_0x487acb=this['getMonthKey'](_0x57c4fe);this[_0x3d48b3(0xc5)](this[_0x3d48b3(0xd8)][_0x3d48b3(0xa5)],_0x49b239),this[_0x3d48b3(0xc5)](this[_0x3d48b3(0xd8)]['weekly'],_0x480d33),this[_0x3d48b3(0xc5)](this['usage']['monthly'],_0x487acb);const _0x381771={'agentId':_0x2ede38,'modelId':_0x3b0e0f,'tokens':_0x285a69[_0x3d48b3(0xda)],'cost':_0x13b4bf,'timestamp':_0x57c4fe['toISOString']()};return this['updateUsageEntry'](this['usage'][_0x3d48b3(0xa5)][_0x3d48b3(0x81)](_0x49b239),_0x381771),this['updateUsageEntry'](this[_0x3d48b3(0xd8)]['weekly']['get'](_0x480d33),_0x381771),this['updateUsageEntry'](this['usage'][_0x3d48b3(0x9b)][_0x3d48b3(0x81)](_0x487acb),_0x381771),this[_0x3d48b3(0xd8)]['total']['tokens']+=_0x285a69['total_tokens'],this['usage'][_0x3d48b3(0xcb)][_0x3d48b3(0xd6)]+=_0x13b4bf,this['usage'][_0x3d48b3(0xcb)][_0x3d48b3(0x98)]+=0x1,this[_0x3d48b3(0xb3)](_0x49b239,_0x480d33,_0x487acb),this['logger']['info']('Usage\x20tracked',{'agentId':_0x2ede38,'modelId':_0x3b0e0f,'tokens':_0x285a69[_0x3d48b3(0xda)],'cost':_0x13b4bf,'totalCost':this['usage']['total'][_0x3d48b3(0xd6)]}),{'cost':_0x13b4bf,'totalCost':this['usage']['total'][_0x3d48b3(0xd6)],'totalTokens':this[_0x3d48b3(0xd8)]['total']['tokens'],'dailyUsage':this['usage']['daily']['get'](_0x49b239),'budgetRemaining':this[_0x3d48b3(0x80)]()};}catch(_0x3563c3){this[_0x3d48b3(0xc8)][_0x3d48b3(0xbd)](_0x3d48b3(0xdb),{'error':_0x3563c3[_0x3d48b3(0xc1)],'agentId':_0x2ede38,'modelId':_0x3b0e0f});throw _0x3563c3;}}['calculateCost'](_0x46286c,_0x51eb7c){const _0x86f25b=a0_0x134367,_0x2fc4b1=COST_PER_TOKEN[_0x46286c];if(!_0x2fc4b1)return this[_0x86f25b(0xc8)][_0x86f25b(0x96)]('Unknown\x20model\x20for\x20cost\x20calculation',{'modelId':_0x46286c}),0x0;const _0x2208d3=(_0x51eb7c[_0x86f25b(0xa1)]||0x0)*_0x2fc4b1['input'],_0x1e32ba=(_0x51eb7c[_0x86f25b(0xd7)]||0x0)*_0x2fc4b1[_0x86f25b(0x8d)];return _0x2208d3+_0x1e32ba;}['getUsage'](_0x557453='daily',_0x540a72=new Date()){const _0xe5387e=a0_0x134367;switch(_0x557453){case'daily':return this['usage'][_0xe5387e(0xa5)]['get'](this['getDayKey'](_0x540a72))||this[_0xe5387e(0xc3)]();case'weekly':return this['usage']['weekly']['get'](this['getWeekKey'](_0x540a72))||this[_0xe5387e(0xc3)]();case'monthly':return this[_0xe5387e(0xd8)]['monthly'][_0xe5387e(0x81)](this[_0xe5387e(0xb6)](_0x540a72))||this[_0xe5387e(0xc3)]();case _0xe5387e(0xcb):return{...this['usage'][_0xe5387e(0xcb)]};default:throw new Error(_0xe5387e(0x92)+_0x557453);}}[a0_0x134367(0x9a)](_0x43d758,_0x6dc35a=a0_0x134367(0xa5)){const _0xab8465=a0_0x134367,_0x401709=this[_0xab8465(0xac)](_0x6dc35a);return _0x401709[_0xab8465(0x83)]?.[_0x43d758]||this[_0xab8465(0xc3)]();}['getModelUsage'](_0x4e4705,_0x3e3a04=a0_0x134367(0xa5)){const _0x41a918=a0_0x134367,_0x479dd3=this[_0x41a918(0xac)](_0x3e3a04);return _0x479dd3['byModel']?.[_0x4e4705]||this[_0x41a918(0xc3)]();}['setBudgets'](_0x1af07c){const _0x3be558=a0_0x134367;if(_0x1af07c['daily']!==undefined)this[_0x3be558(0xcf)]['daily']=_0x1af07c[_0x3be558(0xa5)];if(_0x1af07c['weekly']!==undefined)this['budgets'][_0x3be558(0xbc)]=_0x1af07c['weekly'];if(_0x1af07c['monthly']!==undefined)this[_0x3be558(0xcf)][_0x3be558(0x9b)]=_0x1af07c['monthly'];this['logger'][_0x3be558(0x87)]('Budget\x20limits\x20updated',this[_0x3be558(0xcf)]),this['saveUsageData']();}['getRemainingBudget'](){const _0x25a319=a0_0x134367,_0x1ee921=new Date(),_0x19a0d1=this['getUsage']('daily',_0x1ee921),_0x276946=this['getUsage'](_0x25a319(0xbc),_0x1ee921),_0x39dd37=this['getUsage']('monthly',_0x1ee921);return{'daily':Math[_0x25a319(0xa3)](0x0,this['budgets'][_0x25a319(0xa5)]-_0x19a0d1['cost']),'weekly':Math[_0x25a319(0xa3)](0x0,this['budgets']['weekly']-_0x276946[_0x25a319(0xd6)]),'monthly':Math[_0x25a319(0xa3)](0x0,this[_0x25a319(0xcf)]['monthly']-_0x39dd37['cost'])};}[a0_0x134367(0xa6)](_0x515bd0='daily'){const _0x2fd099=a0_0x134367,_0x2fadd4=this['getUsage'](_0x515bd0),_0x495084=this[_0x2fd099(0xcf)][_0x515bd0];return _0x2fadd4['cost']<=_0x495084;}['getUsageTrends'](_0x3b39d7=0x1e){const _0x1bfd72=a0_0x134367,_0xed6141={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x72262b=new Date();let _0x5ad26c=0x0,_0xa0e140=0x0,_0x40ab32=0x0;const _0x75d9dd=new Map(),_0x41d6fe=new Map();for(let _0x293aad=0x0;_0x293aad<_0x3b39d7;_0x293aad++){const _0x2f8a04=new Date(_0x72262b);_0x2f8a04['setDate'](_0x2f8a04[_0x1bfd72(0x9d)]()-_0x293aad);const _0x1925c7=this[_0x1bfd72(0x82)](_0x2f8a04),_0x411c8d=this[_0x1bfd72(0xd8)]['daily']['get'](_0x1925c7);_0x411c8d?(_0x5ad26c+=_0x411c8d[_0x1bfd72(0xd6)],_0xa0e140+=_0x411c8d[_0x1bfd72(0x89)],_0x40ab32+=_0x411c8d[_0x1bfd72(0x98)],_0xed6141['costByDay'][_0x1bfd72(0x99)]({'date':_0x1925c7,'cost':_0x411c8d['cost']}),_0xed6141['tokensByDay'][_0x1bfd72(0x99)]({'date':_0x1925c7,'tokens':_0x411c8d['tokens']}),Object[_0x1bfd72(0xa8)](_0x411c8d[_0x1bfd72(0x83)]||{})['forEach'](([_0x4848c8,_0x593f13])=>{const _0x211d03=_0x1bfd72;!_0x75d9dd['has'](_0x4848c8)&&_0x75d9dd['set'](_0x4848c8,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0xbf3d64=_0x75d9dd['get'](_0x4848c8);_0xbf3d64['cost']+=_0x593f13['cost'],_0xbf3d64['tokens']+=_0x593f13['tokens'],_0xbf3d64[_0x211d03(0x98)]+=_0x593f13[_0x211d03(0x98)];}),Object[_0x1bfd72(0xa8)](_0x411c8d['byModel']||{})[_0x1bfd72(0x91)](([_0x179bc2,_0x11934a])=>{const _0x568f51=_0x1bfd72;!_0x41d6fe['has'](_0x179bc2)&&_0x41d6fe['set'](_0x179bc2,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x58e591=_0x41d6fe['get'](_0x179bc2);_0x58e591[_0x568f51(0xd6)]+=_0x11934a[_0x568f51(0xd6)],_0x58e591['tokens']+=_0x11934a['tokens'],_0x58e591[_0x568f51(0x98)]+=_0x11934a[_0x568f51(0x98)];})):(_0xed6141[_0x1bfd72(0xdc)]['unshift']({'date':_0x1925c7,'cost':0x0}),_0xed6141['tokensByDay'][_0x1bfd72(0x99)]({'date':_0x1925c7,'tokens':0x0}));}return _0xed6141['dailyAverages']['cost']=_0x5ad26c/_0x3b39d7,_0xed6141['dailyAverages'][_0x1bfd72(0x89)]=_0xa0e140/_0x3b39d7,_0xed6141['dailyAverages'][_0x1bfd72(0x98)]=_0x40ab32/_0x3b39d7,_0xed6141[_0x1bfd72(0xb8)]=Array[_0x1bfd72(0xa0)](_0x75d9dd[_0x1bfd72(0xa8)]())[_0x1bfd72(0xaa)](([_0xc2e8ab,_0x34694c])=>({'id':_0xc2e8ab,..._0x34694c}))[_0x1bfd72(0x8a)]((_0x40bdeb,_0x1b99f3)=>_0x1b99f3['cost']-_0x40bdeb['cost'])[_0x1bfd72(0xaf)](0x0,0xa),_0xed6141[_0x1bfd72(0xbf)]=Array[_0x1bfd72(0xa0)](_0x41d6fe[_0x1bfd72(0xa8)]())[_0x1bfd72(0xaa)](([_0xdb994a,_0x479e7e])=>({'id':_0xdb994a,..._0x479e7e}))['sort']((_0x23ddd6,_0x3187ba)=>_0x3187ba['cost']-_0x23ddd6[_0x1bfd72(0xd6)])['slice'](0x0,0xa),_0xed6141;}[a0_0x134367(0x93)](_0x1013f5='json',_0xd08478=null,_0x5c0d10=null){const _0xdfe9ad=a0_0x134367,_0x2a5ee6={'budgets':this[_0xdfe9ad(0xcf)],'total':this['usage']['total'],'daily':{},'weekly':{},'monthly':{}},_0x3ede56=(_0x39ce48,_0x3c7571)=>{const _0x2c8123={};return _0x39ce48['forEach']((_0x159ba4,_0x4a1bd7)=>{const _0x53bb56=_0x3c7571(_0x4a1bd7);(!_0xd08478||_0x53bb56>=_0xd08478)&&(!_0x5c0d10||_0x53bb56<=_0x5c0d10)&&(_0x2c8123[_0x4a1bd7]=_0x159ba4);}),_0x2c8123;};_0xd08478||_0x5c0d10?(_0x2a5ee6[_0xdfe9ad(0xa5)]=_0x3ede56(this['usage'][_0xdfe9ad(0xa5)],_0xdc2ee=>new Date(_0xdc2ee)),_0x2a5ee6[_0xdfe9ad(0xbc)]=_0x3ede56(this[_0xdfe9ad(0xd8)]['weekly'],_0x4c6f60=>new Date(_0x4c6f60)),_0x2a5ee6['monthly']=_0x3ede56(this[_0xdfe9ad(0xd8)]['monthly'],_0x48801c=>new Date(_0x48801c+_0xdfe9ad(0xb2)))):(this['usage']['daily']['forEach']((_0x17140e,_0x399ec8)=>_0x2a5ee6[_0xdfe9ad(0xa5)][_0x399ec8]=_0x17140e),this['usage'][_0xdfe9ad(0xbc)][_0xdfe9ad(0x91)]((_0x385b5a,_0x599be6)=>_0x2a5ee6[_0xdfe9ad(0xbc)][_0x599be6]=_0x385b5a),this[_0xdfe9ad(0xd8)]['monthly']['forEach']((_0x52cc66,_0x6ee548)=>_0x2a5ee6['monthly'][_0x6ee548]=_0x52cc66));if(_0x1013f5===_0xdfe9ad(0x8f))return this['convertToCSV'](_0x2a5ee6);return JSON[_0xdfe9ad(0x9f)](_0x2a5ee6,null,0x2);}['initializeUsageEntry'](_0x138a44,_0x3b3848){const _0x4b0f49=a0_0x134367;!_0x138a44[_0x4b0f49(0xc2)](_0x3b3848)&&_0x138a44[_0x4b0f49(0x90)](_0x3b3848,this[_0x4b0f49(0xc3)]());}['createEmptyUsage'](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x134367(0x94)](_0x1432ce,_0x59d639){const _0x4a1ce1=a0_0x134367;_0x1432ce[_0x4a1ce1(0xd6)]+=_0x59d639[_0x4a1ce1(0xd6)],_0x1432ce[_0x4a1ce1(0x89)]+=_0x59d639['tokens'],_0x1432ce[_0x4a1ce1(0x98)]+=0x1,!_0x1432ce[_0x4a1ce1(0x83)][_0x59d639[_0x4a1ce1(0xbe)]]&&(_0x1432ce['byAgent'][_0x59d639['agentId']]=this['createEmptyUsage']()),_0x1432ce[_0x4a1ce1(0x83)][_0x59d639[_0x4a1ce1(0xbe)]][_0x4a1ce1(0xd6)]+=_0x59d639['cost'],_0x1432ce['byAgent'][_0x59d639[_0x4a1ce1(0xbe)]][_0x4a1ce1(0x89)]+=_0x59d639[_0x4a1ce1(0x89)],_0x1432ce[_0x4a1ce1(0x83)][_0x59d639['agentId']]['requests']+=0x1,!_0x1432ce['byModel'][_0x59d639['modelId']]&&(_0x1432ce['byModel'][_0x59d639['modelId']]=this[_0x4a1ce1(0xc3)]()),_0x1432ce['byModel'][_0x59d639['modelId']][_0x4a1ce1(0xd6)]+=_0x59d639['cost'],_0x1432ce[_0x4a1ce1(0x9c)][_0x59d639['modelId']][_0x4a1ce1(0x89)]+=_0x59d639['tokens'],_0x1432ce['byModel'][_0x59d639[_0x4a1ce1(0xd0)]]['requests']+=0x1;}['checkBudgetLimits'](_0x39767b,_0x1a41f8,_0x2dec02){const _0x3ddddd=a0_0x134367,_0x2eb782=this['usage']['daily']['get'](_0x39767b),_0x3c0b8b=this[_0x3ddddd(0xd8)]['weekly'][_0x3ddddd(0x81)](_0x1a41f8),_0x2ecca8=this[_0x3ddddd(0xd8)]['monthly'][_0x3ddddd(0x81)](_0x2dec02);_0x2eb782[_0x3ddddd(0xd6)]>this['budgets'][_0x3ddddd(0xa5)]&&this['sendBudgetAlert'](_0x3ddddd(0xa5),_0x2eb782['cost'],this['budgets']['daily']),_0x3c0b8b['cost']>this['budgets'][_0x3ddddd(0xbc)]&&this[_0x3ddddd(0xae)]('weekly',_0x3c0b8b['cost'],this['budgets']['weekly']),_0x2ecca8[_0x3ddddd(0xd6)]>this[_0x3ddddd(0xcf)]['monthly']&&this[_0x3ddddd(0xae)]('monthly',_0x2ecca8[_0x3ddddd(0xd6)],this['budgets'][_0x3ddddd(0x9b)]),this[_0x3ddddd(0x95)](_0x2eb782,_0x3c0b8b,_0x2ecca8);}['checkThresholdAlerts'](_0xafd4b0,_0x24391d,_0x1ff995){const _0x18fb52=a0_0x134367,_0x3ab33e=this['alerts']['thresholds'];this['checkThreshold']('daily',_0xafd4b0[_0x18fb52(0xd6)],this['budgets'][_0x18fb52(0xa5)],_0x3ab33e),this[_0x18fb52(0xc0)]('weekly',_0x24391d[_0x18fb52(0xd6)],this[_0x18fb52(0xcf)][_0x18fb52(0xbc)],_0x3ab33e),this['checkThreshold'](_0x18fb52(0x9b),_0x1ff995[_0x18fb52(0xd6)],this[_0x18fb52(0xcf)]['monthly'],_0x3ab33e);}['checkThreshold'](_0x53ca9f,_0x5b85b0,_0x4c8b5e,_0x2f7c92){const _0x34cab6=a0_0x134367,_0xd28a31=_0x5b85b0/_0x4c8b5e*0x64;for(const _0xbcb2f5 of _0x2f7c92){if(_0xd28a31>=_0xbcb2f5){const _0xa6a21=_0x53ca9f+'_'+_0xbcb2f5,_0x124283=this[_0x34cab6(0xad)][_0x34cab6(0x85)][_0x34cab6(0x81)](_0xa6a21),_0xf67efe=Date[_0x34cab6(0xab)]();(!_0x124283||_0xf67efe-_0x124283>0x36ee80)&&(this['sendThresholdAlert'](_0x53ca9f,_0xd28a31,_0xbcb2f5,_0x5b85b0,_0x4c8b5e),this['alerts']['lastAlertTimes']['set'](_0xa6a21,_0xf67efe));break;}}}[a0_0x134367(0xae)](_0x295436,_0x347313,_0x60d9e9){const _0x277cc6=a0_0x134367;this[_0x277cc6(0xc8)]['warn'](_0x277cc6(0xbb),{'period':_0x295436,'currentUsage':_0x347313,'budgetLimit':_0x60d9e9,'excess':_0x347313-_0x60d9e9}),typeof process!==_0x277cc6(0xd3)&&process['emit']&&process['emit']('budgetAlert',{'type':'budget_exceeded','period':_0x295436,'currentUsage':_0x347313,'budgetLimit':_0x60d9e9,'excess':_0x347313-_0x60d9e9});}[a0_0x134367(0xd2)](_0x255606,_0x4402f4,_0x5c981d,_0x2d72b6,_0x3351ae){const _0xa393e1=a0_0x134367;this[_0xa393e1(0xc8)][_0xa393e1(0x96)](_0xa393e1(0xb1),{'period':_0x255606,'percentage':Math['round'](_0x4402f4),'threshold':_0x5c981d,'usage':_0x2d72b6,'budget':_0x3351ae}),typeof process!==_0xa393e1(0xd3)&&process[_0xa393e1(0x88)]&&process[_0xa393e1(0x88)]('budgetAlert',{'type':'threshold_reached','period':_0x255606,'percentage':Math['round'](_0x4402f4),'threshold':_0x5c981d,'usage':_0x2d72b6,'budget':_0x3351ae});}['getDayKey'](_0x18f476){const _0x2b3df7=a0_0x134367;return _0x18f476[_0x2b3df7(0x7c)]()['split']('T')[0x0];}['getWeekKey'](_0x608c2c){const _0xeb5b50=a0_0x134367,_0x2f5a79=_0x608c2c['getFullYear'](),_0x2b2d0c=this[_0xeb5b50(0xb7)](_0x608c2c);return _0x2f5a79+'-W'+_0x2b2d0c[_0xeb5b50(0xa2)]()['padStart'](0x2,'0');}['getMonthKey'](_0x43207a){const _0x3dee07=a0_0x134367,_0x1646a0=_0x43207a['getFullYear'](),_0x4c2d5e=_0x43207a['getMonth']()+0x1;return _0x1646a0+'-'+_0x4c2d5e[_0x3dee07(0xa2)]()[_0x3dee07(0xc7)](0x2,'0');}['getWeekNumber'](_0x459e03){const _0xf0c95e=new Date(_0x459e03['getFullYear'](),0x0,0x1),_0x3024bb=(_0x459e03-_0xf0c95e)/0x5265c00;return Math['ceil']((_0x3024bb+_0xf0c95e['getDay']()+0x1)/0x7);}[a0_0x134367(0x8e)](_0x221eb4){const _0x507fd1=a0_0x134367,_0x2065dd=[];return _0x2065dd['push']([_0x507fd1(0x9e),_0x507fd1(0x7b),_0x507fd1(0x86),_0x507fd1(0xcc),_0x507fd1(0x7f),_0x507fd1(0x7d),_0x507fd1(0xc4)]),Object['entries'](_0x221eb4[_0x507fd1(0xa5)])[_0x507fd1(0x91)](([_0x3f1734,_0x1361d5])=>{const _0x975c6=_0x507fd1;_0x2065dd[_0x975c6(0x7e)]([_0x975c6(0xb4),_0x3f1734,_0x1361d5['cost'],_0x1361d5[_0x975c6(0x89)],_0x1361d5[_0x975c6(0x98)],'','']),Object[_0x975c6(0xa8)](_0x1361d5['byAgent']||{})[_0x975c6(0x91)](([_0x2b3f0d,_0x45086e])=>{const _0x46a184=_0x975c6;_0x2065dd[_0x46a184(0x7e)](['Daily',_0x3f1734,_0x45086e[_0x46a184(0xd6)],_0x45086e['tokens'],_0x45086e['requests'],_0x2b3f0d,'']);});}),_0x2065dd[_0x507fd1(0xaa)](_0x3d4dfd=>_0x3d4dfd['join'](','))[_0x507fd1(0xcd)]('\x0a');}['loadUsageData'](){const _0x19fdf0=a0_0x134367;try{this[_0x19fdf0(0xc8)]['info']('Budget\x20service\x20initialized');}catch(_0xa41f14){this['logger']['error'](_0x19fdf0(0xd1),{'error':_0xa41f14[_0x19fdf0(0xc1)]});}}['saveUsageData'](){const _0x3f554a=a0_0x134367;try{this[_0x3f554a(0xc8)][_0x3f554a(0xca)](_0x3f554a(0xd9));}catch(_0x3df8e8){this[_0x3f554a(0xc8)]['error'](_0x3f554a(0xb0),{'error':_0x3df8e8[_0x3f554a(0xc1)]});}}[a0_0x134367(0x97)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}export default BudgetService;function a0_0x2dd6(){const _0xcad36d=['yNvKz2v0CW','Bw9KzwXjza','rMfPBgvKihrVigXVywqGDxnHz2uGzgf0yq','C2vUzfrOCMvZAg9SzefSzxj0','Dw5KzwzPBMvK','nwXbC0jQuW','tu9oveHmwq','y29ZDa','y29TCgXLDgLVBL90B2TLBNm','DxnHz2u','vxnHz2uGzgf0ysbZyxzLza','Dg90ywXFDg9Rzw5Z','rMfPBgvKihrVihrYywnRihvZywDL','y29ZDej5rgf5','rgf0zq','Dg9ju09tDhjPBMC','qwDLBNq','ChvZAa','uMvXDwvZDhm','z2v0uMvTywLUAw5NqNvKz2v0','z2v0','z2v0rgf5s2v5','yNLbz2vUDa','Bg9HzfvZywDLrgf0yq','BgfZDefSzxj0vgLTzxm','q29ZDa','Aw5MBW','zw1PDa','Dg9Rzw5Z','C29YDa','mtHUyKfQC3i','DhjHy2TvC2fNzq','B3v0Chv0','y29UDMvYDfrVq1nw','y3n2','C2v0','zM9YrwfJAa','sw52ywXPzcbWzxjPB2q6ia','zxHWB3j0vxnHz2veyxrH','DxbKyxrLvxnHz2vfBNrYEq','y2HLy2TuAhjLC2HVBgrbBgvYDhm','D2fYBG','C2v0DxbqzxjPB2rPy1nHDMu','CMvXDwvZDhm','Dw5ZAgLMDa','z2v0qwDLBNrvC2fNzq','Bw9UDgHSEq','yNLnB2rLBa','z2v0rgf0zq','ugvYAw9K','C3rYAw5NAwz5','zNjVBq','ChjVBxb0x3rVA2vUCW','Dg9tDhjPBMC','Bwf4','refjtfK','zgfPBhK','AxnxAxrOAw5cDwrNzxq','mtu3mdCYnvHnEuXqBq','zw50CMLLCW','mtq3ntaYofrAz3LfAG','BwfW','BM93','z2v0vxnHz2u','ywXLCNrZ','C2vUzej1zgDLDefSzxj0','C2XPy2u','rMfPBgvKihrVihnHDMuGDxnHz2uGzgf0yq','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','ltaX','y2HLy2TcDwrNzxrmAw1PDhm','rgfPBhK','mtuWotfqtKvHuKq','z2v0tw9UDgHlzxK','z2v0v2vLA051BwjLCG','Dg9WqwDLBNrZ','v0vfs0Xz','odiYmdeYC0z3vgTI','qNvKz2v0igXPBwL0igv4y2vLzgvK','D2vLA2X5','zxjYB3i','ywDLBNrjza','Dg9Wtw9KzwXZ','y2HLy2TuAhjLC2HVBgq','BwvZC2fNzq','AgfZ','y3jLyxrLrw1WDhLvC2fNzq','tw9KzwW','Aw5PDgLHBgL6zvvZywDLrw50CNK','mtq2oduYneLWB1bHDa','CgfKu3rHCNq','Bg9Nz2vY','mZqZmJe2uuLUyM9A','zgvIDwC','Dg90ywW','vg9Rzw5Z','AM9PBG','mJa1mJq0mNvfEMzPAW'];a0_0x2dd6=function(){return _0xcad36d;};return a0_0x2dd6();}
1
+ const a0_0x36bf97=a0_0x76c2;(function(_0x5d92e9,_0x370169){const _0x328de0=a0_0x76c2,_0x256686=_0x5d92e9();while(!![]){try{const _0x1d9ee3=parseInt(_0x328de0(0x1ef))/0x1+parseInt(_0x328de0(0x204))/0x2+-parseInt(_0x328de0(0x232))/0x3+-parseInt(_0x328de0(0x241))/0x4*(parseInt(_0x328de0(0x1f0))/0x5)+parseInt(_0x328de0(0x1fd))/0x6+parseInt(_0x328de0(0x222))/0x7+-parseInt(_0x328de0(0x226))/0x8*(-parseInt(_0x328de0(0x1f3))/0x9);if(_0x1d9ee3===_0x370169)break;else _0x256686['push'](_0x256686['shift']());}catch(_0xaba2d){_0x256686['push'](_0x256686['shift']());}}}(a0_0x48af,0xe31d5));function a0_0x48af(){const _0x5a67f5=['zxjYB3i','C2v0DxbqzxjPB2rPy1nHDMu','Dg90ywXFDg9Rzw5Z','y2fSy3vSyxrLq29ZDa','ywXLCNrZ','odiWotC3nKDwAevRAG','z2v0rNvSBfLLyxi','zNjVBq','C2vUzej1zgDLDefSzxj0','BgfZDefSzxj0vgLTzxm','ChvZAa','C2f2zvvZywDLrgf0yq','mte0mZCZmgL6qxbjzW','C2vUzfrOCMvZAg9SzefSzxj0','D2fYBG','z2v0tw9UDgHlzxK','vxnHz2uGzgf0ysbZyxzLza','tw9KzwW','Aw5PDgLHBgL6zvvZywDLrw50CNK','DgHYzxnOB2XKCW','y2vPBa','AM9PBG','ugvYAw9K','zgfPBhK','Dg9Rzw5Z','yNvKz2v0CW','y3jLyxrLrw1WDhLvC2fNzq','Dw5KzwzPBMvK','zM9YrwfJAa','Bw9UDgHSEq','Dg9tDhjPBMC','z2v0rgf5','Bw9KzwXjza','y3n2','CM91BMq','Dg9WqwDLBNrZ','Dg9Rzw5ZqNLeyxK','z2v0vxnHz2u','DhjHy2TvC2fNzq','zw1PDa','zw50CMLLCW','DxbKyxrLvxnHz2vfBNrYEq','mZC2otm3ngLZrNPVtW','zgfPBhLbDMvYywDLCW','BwvZC2fNzq','veHsrvnit0XeuW','nZC2AwHXB2ru','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','yNLbz2vUDa','vxnHz2uGDhjHy2TLza','Aw5MBW','y29UDMvYDfrVq1nw','y2HLy2TuAhjLC2HVBgq','rgf0zq','y29TCgXLDgLVBL90B2TLBNm','D2vLA2X5','q29ZDa','z2v0vxnHz2vuCMvUzhm','ntq4odKXmufOthDgDW','Bwf4','z2v0rgf5s2v5','y2HLy2TcDwrNzxrmAw1PDhm','AgfZ','C2XPy2u','y2HLy2TuAhjLC2HVBgrbBgvYDhm','yNLnB2rLBa','C3bSAxq','zxHWB3j0vxnHz2veyxrH','BM93','ChjVBxb0x3rVA2vUCW','C3rYAw5NAwz5','y29ZDej5rgf5','CMvXDwvZDhm','mtu2mdryBhnNrgC','ltaX','z2v0uMvTywLUAw5NqNvKz2v0','C29YDa','Dw5ZAgLMDa','z2v0','vg9Rzw5Z','Bg9Nz2vY','rgfPBhK','C2v0','DxnHz2u','y29ZDa','tu9oveHmwq','ywDLBNrjza','Dg90ywW','mtiWntKWmvHyD0Xmuq','mtq2nxv0v3bvza','Bg9HzfvZywDLrgf0yq','BwfW','mJaYntLmBuzotMm','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','rMfPBgvKihrVigXVywqGDxnHz2uGzgf0yq','Aw5WDxq','z2v0tw9KzwXvC2fNzq'];a0_0x48af=function(){return _0x5a67f5;};return a0_0x48af();}import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0xcee48e,_0x286987){const _0x3d311f=a0_0x76c2;this['config']=_0xcee48e||{},this['logger']=_0x286987,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x3d311f(0x211)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS['WEEKLY'],'monthly':BUDGET_LIMITS[_0x3d311f(0x1ec)]},this['alerts']={'enabled':!![],'thresholds':USAGE_ALERTS[_0x3d311f(0x225)],'lastAlertTimes':new Map()},this[_0x3d311f(0x1f1)](),this[_0x3d311f(0x1f9)]();}[a0_0x36bf97(0x21e)](_0x43649b,_0x445bad,_0x501c57){const _0x456192=a0_0x36bf97;try{const _0x18084d=this[_0x456192(0x1fb)](_0x445bad,_0x501c57),_0x18141b=new Date(),_0x43d140=this['getDayKey'](_0x18141b),_0x166e46=this['getWeekKey'](_0x18141b),_0x4e829c=this['getMonthKey'](_0x18141b);this['initializeUsageEntry'](this[_0x456192(0x1ea)]['daily'],_0x43d140),this['initializeUsageEntry'](this['usage'][_0x456192(0x22f)],_0x166e46),this[_0x456192(0x20a)](this[_0x456192(0x1ea)]['monthly'],_0x4e829c);const _0x5c708f={'agentId':_0x43649b,'modelId':_0x445bad,'tokens':_0x501c57['total_tokens'],'cost':_0x18084d,'timestamp':_0x18141b['toISOString']()};return this[_0x456192(0x221)](this['usage'][_0x456192(0x20f)][_0x456192(0x246)](_0x43d140),_0x5c708f),this['updateUsageEntry'](this[_0x456192(0x1ea)]['weekly']['get'](_0x166e46),_0x5c708f),this[_0x456192(0x221)](this['usage'][_0x456192(0x215)]['get'](_0x4e829c),_0x5c708f),this[_0x456192(0x1ea)]['total']['tokens']+=_0x501c57['total_tokens'],this[_0x456192(0x1ea)][_0x456192(0x1ee)]['cost']+=_0x18084d,this['usage'][_0x456192(0x1ee)]['requests']+=0x1,this['checkBudgetLimits'](_0x43d140,_0x166e46,_0x4e829c),this['logger']['info'](_0x456192(0x229),{'agentId':_0x43649b,'modelId':_0x445bad,'tokens':_0x501c57[_0x456192(0x1fa)],'cost':_0x18084d,'totalCost':this['usage'][_0x456192(0x1ee)][_0x456192(0x1eb)]}),{'cost':_0x18084d,'totalCost':this[_0x456192(0x1ea)][_0x456192(0x1ee)][_0x456192(0x1eb)],'totalTokens':this['usage']['total'][_0x456192(0x210)],'dailyUsage':this[_0x456192(0x1ea)]['daily']['get'](_0x43d140),'budgetRemaining':this['getRemainingBudget']()};}catch(_0x57e5b4){this[_0x456192(0x1e7)][_0x456192(0x1f8)]('Failed\x20to\x20track\x20usage',{'error':_0x57e5b4['message'],'agentId':_0x43649b,'modelId':_0x445bad});throw _0x57e5b4;}}['calculateCost'](_0x45c2db,_0x3fad14){const _0xe643c4=a0_0x36bf97,_0x3598b4=COST_PER_TOKEN[_0x45c2db];if(!_0x3598b4)return this[_0xe643c4(0x1e7)][_0xe643c4(0x206)](_0xe643c4(0x1f4),{'modelId':_0x45c2db}),0x0;const _0x4b2f0b=(_0x3fad14[_0xe643c4(0x23d)]||0x0)*_0x3598b4[_0xe643c4(0x1f6)],_0x131e19=(_0x3fad14[_0xe643c4(0x22e)]||0x0)*_0x3598b4['output'];return _0x4b2f0b+_0x131e19;}[a0_0x36bf97(0x21d)](_0x1e0807='daily',_0x1e953b=new Date()){const _0x2e520f=a0_0x36bf97;switch(_0x1e0807){case'daily':return this['usage']['daily']['get'](this[_0x2e520f(0x234)](_0x1e953b))||this[_0x2e520f(0x212)]();case _0x2e520f(0x22f):return this['usage']['weekly']['get'](this['getWeekKey'](_0x1e953b))||this['createEmptyUsage']();case _0x2e520f(0x215):return this[_0x2e520f(0x1ea)]['monthly']['get'](this[_0x2e520f(0x207)](_0x1e953b))||this['createEmptyUsage']();case'total':return{...this['usage'][_0x2e520f(0x1ee)]};default:throw new Error('Invalid\x20period:\x20'+_0x1e0807);}}['getAgentUsage'](_0x2134da,_0x100f1b=a0_0x36bf97(0x20f)){const _0xb52fc6=a0_0x36bf97,_0x37c276=this[_0xb52fc6(0x21d)](_0x100f1b);return _0x37c276['byAgent']?.[_0x2134da]||this['createEmptyUsage']();}[a0_0x36bf97(0x1f7)](_0x1d8363,_0x1955f8=a0_0x36bf97(0x20f)){const _0x3b3ce1=a0_0x36bf97,_0x2f4178=this['getUsage'](_0x1955f8);return _0x2f4178['byModel']?.[_0x1d8363]||this[_0x3b3ce1(0x212)]();}['setBudgets'](_0x1db782){const _0x3d681a=a0_0x36bf97;if(_0x1db782[_0x3d681a(0x20f)]!==undefined)this['budgets']['daily']=_0x1db782[_0x3d681a(0x20f)];if(_0x1db782['weekly']!==undefined)this['budgets'][_0x3d681a(0x22f)]=_0x1db782[_0x3d681a(0x22f)];if(_0x1db782[_0x3d681a(0x215)]!==undefined)this['budgets']['monthly']=_0x1db782[_0x3d681a(0x215)];this['logger'][_0x3d681a(0x22a)]('Budget\x20limits\x20updated',this[_0x3d681a(0x211)]),this['saveUsageData']();}[a0_0x36bf97(0x243)](){const _0x3ec709=a0_0x36bf97,_0x16c76e=new Date(),_0x2a32dc=this['getUsage']('daily',_0x16c76e),_0x1ce401=this[_0x3ec709(0x21d)]('weekly',_0x16c76e),_0x6b8469=this[_0x3ec709(0x21d)]('monthly',_0x16c76e);return{'daily':Math['max'](0x0,this['budgets']['daily']-_0x2a32dc[_0x3ec709(0x1eb)]),'weekly':Math['max'](0x0,this[_0x3ec709(0x211)]['weekly']-_0x1ce401[_0x3ec709(0x1eb)]),'monthly':Math[_0x3ec709(0x233)](0x0,this['budgets'][_0x3ec709(0x215)]-_0x6b8469['cost'])};}['isWithinBudget'](_0x1b344e=a0_0x36bf97(0x20f)){const _0x28d224=this['getUsage'](_0x1b344e),_0x3bcb75=this['budgets'][_0x1b344e];return _0x28d224['cost']<=_0x3bcb75;}[a0_0x36bf97(0x231)](_0x351a3f=0x1e){const _0xe3d4e4=a0_0x36bf97,_0x2e8ade={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x1f57d0=new Date();let _0x46046a=0x0,_0x1a2ac8=0x0,_0x7cec3=0x0;const _0x3f96e9=new Map(),_0x460316=new Map();for(let _0x2f674f=0x0;_0x2f674f<_0x351a3f;_0x2f674f++){const _0x1e13ff=new Date(_0x1f57d0);_0x1e13ff['setDate'](_0x1e13ff['getDate']()-_0x2f674f);const _0x534481=this[_0xe3d4e4(0x234)](_0x1e13ff),_0x59b082=this[_0xe3d4e4(0x1ea)][_0xe3d4e4(0x20f)]['get'](_0x534481);_0x59b082?(_0x46046a+=_0x59b082['cost'],_0x1a2ac8+=_0x59b082[_0xe3d4e4(0x210)],_0x7cec3+=_0x59b082[_0xe3d4e4(0x240)],_0x2e8ade['costByDay'][_0xe3d4e4(0x245)]({'date':_0x534481,'cost':_0x59b082['cost']}),_0x2e8ade[_0xe3d4e4(0x21c)]['unshift']({'date':_0x534481,'tokens':_0x59b082[_0xe3d4e4(0x210)]}),Object['entries'](_0x59b082['byAgent']||{})[_0xe3d4e4(0x214)](([_0x2491fe,_0x128163])=>{const _0x41aa53=_0xe3d4e4;!_0x3f96e9[_0x41aa53(0x236)](_0x2491fe)&&_0x3f96e9['set'](_0x2491fe,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x5052ca=_0x3f96e9['get'](_0x2491fe);_0x5052ca[_0x41aa53(0x1eb)]+=_0x128163[_0x41aa53(0x1eb)],_0x5052ca[_0x41aa53(0x210)]+=_0x128163['tokens'],_0x5052ca[_0x41aa53(0x240)]+=_0x128163['requests'];}),Object[_0xe3d4e4(0x220)](_0x59b082[_0xe3d4e4(0x239)]||{})[_0xe3d4e4(0x214)](([_0x29b1e4,_0x27e8ed])=>{const _0x1f15c4=_0xe3d4e4;!_0x460316['has'](_0x29b1e4)&&_0x460316[_0x1f15c4(0x1e9)](_0x29b1e4,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x4b0ce7=_0x460316[_0x1f15c4(0x246)](_0x29b1e4);_0x4b0ce7[_0x1f15c4(0x1eb)]+=_0x27e8ed['cost'],_0x4b0ce7['tokens']+=_0x27e8ed['tokens'],_0x4b0ce7['requests']+=_0x27e8ed[_0x1f15c4(0x240)];})):(_0x2e8ade[_0xe3d4e4(0x23f)]['unshift']({'date':_0x534481,'cost':0x0}),_0x2e8ade['tokensByDay']['unshift']({'date':_0x534481,'tokens':0x0}));}return _0x2e8ade['dailyAverages'][_0xe3d4e4(0x1eb)]=_0x46046a/_0x351a3f,_0x2e8ade['dailyAverages']['tokens']=_0x1a2ac8/_0x351a3f,_0x2e8ade[_0xe3d4e4(0x223)]['requests']=_0x7cec3/_0x351a3f,_0x2e8ade[_0xe3d4e4(0x21b)]=Array['from'](_0x3f96e9['entries']())['map'](([_0x5bf94d,_0x3df0ee])=>({'id':_0x5bf94d,..._0x3df0ee}))[_0xe3d4e4(0x244)]((_0x1913af,_0x152c06)=>_0x152c06[_0xe3d4e4(0x1eb)]-_0x1913af['cost'])[_0xe3d4e4(0x237)](0x0,0xa),_0x2e8ade['topModels']=Array[_0xe3d4e4(0x1ff)](_0x460316[_0xe3d4e4(0x220)]())[_0xe3d4e4(0x1f2)](([_0x388a43,_0x4c6e47])=>({'id':_0x388a43,..._0x4c6e47}))['sort']((_0x202172,_0xcfbfe5)=>_0xcfbfe5['cost']-_0x202172['cost'])[_0xe3d4e4(0x237)](0x0,0xa),_0x2e8ade;}[a0_0x36bf97(0x23b)](_0xe503e3='json',_0x3d0456=null,_0x909980=null){const _0x52e2d3=a0_0x36bf97,_0x250d69={'budgets':this['budgets'],'total':this['usage']['total'],'daily':{},'weekly':{},'monthly':{}},_0xb245f=(_0x361d9d,_0x5affe7)=>{const _0x376bf2={};return _0x361d9d['forEach']((_0x3eee16,_0x4faa66)=>{const _0x1321f3=_0x5affe7(_0x4faa66);(!_0x3d0456||_0x1321f3>=_0x3d0456)&&(!_0x909980||_0x1321f3<=_0x909980)&&(_0x376bf2[_0x4faa66]=_0x3eee16);}),_0x376bf2;};_0x3d0456||_0x909980?(_0x250d69[_0x52e2d3(0x20f)]=_0xb245f(this[_0x52e2d3(0x1ea)]['daily'],_0x456b06=>new Date(_0x456b06)),_0x250d69['weekly']=_0xb245f(this['usage']['weekly'],_0x41b1a8=>new Date(_0x41b1a8)),_0x250d69['monthly']=_0xb245f(this[_0x52e2d3(0x1ea)]['monthly'],_0x447ef2=>new Date(_0x447ef2+_0x52e2d3(0x242)))):(this[_0x52e2d3(0x1ea)][_0x52e2d3(0x20f)][_0x52e2d3(0x214)]((_0x4eef1c,_0x25eefb)=>_0x250d69['daily'][_0x25eefb]=_0x4eef1c),this['usage'][_0x52e2d3(0x22f)]['forEach']((_0xbad7bc,_0x1dabf2)=>_0x250d69['weekly'][_0x1dabf2]=_0xbad7bc),this[_0x52e2d3(0x1ea)]['monthly'][_0x52e2d3(0x214)]((_0xfe7817,_0x5a9440)=>_0x250d69[_0x52e2d3(0x215)][_0x5a9440]=_0xfe7817));if(_0xe503e3===_0x52e2d3(0x219))return this['convertToCSV'](_0x250d69);return JSON[_0x52e2d3(0x23e)](_0x250d69,null,0x2);}[a0_0x36bf97(0x20a)](_0x451e84,_0x7fbcb1){const _0x550371=a0_0x36bf97;!_0x451e84[_0x550371(0x236)](_0x7fbcb1)&&_0x451e84[_0x550371(0x1e9)](_0x7fbcb1,this['createEmptyUsage']());}['createEmptyUsage'](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x36bf97(0x221)](_0x231d01,_0x2218c9){const _0x24f343=a0_0x36bf97;_0x231d01['cost']+=_0x2218c9[_0x24f343(0x1eb)],_0x231d01[_0x24f343(0x210)]+=_0x2218c9[_0x24f343(0x210)],_0x231d01[_0x24f343(0x240)]+=0x1,!_0x231d01['byAgent'][_0x2218c9[_0x24f343(0x1ed)]]&&(_0x231d01['byAgent'][_0x2218c9['agentId']]=this[_0x24f343(0x212)]()),_0x231d01['byAgent'][_0x2218c9[_0x24f343(0x1ed)]][_0x24f343(0x1eb)]+=_0x2218c9[_0x24f343(0x1eb)],_0x231d01[_0x24f343(0x228)][_0x2218c9['agentId']][_0x24f343(0x210)]+=_0x2218c9[_0x24f343(0x210)],_0x231d01[_0x24f343(0x228)][_0x2218c9['agentId']][_0x24f343(0x240)]+=0x1,!_0x231d01[_0x24f343(0x239)][_0x2218c9['modelId']]&&(_0x231d01[_0x24f343(0x239)][_0x2218c9[_0x24f343(0x218)]]=this['createEmptyUsage']()),_0x231d01['byModel'][_0x2218c9['modelId']]['cost']+=_0x2218c9['cost'],_0x231d01['byModel'][_0x2218c9[_0x24f343(0x218)]][_0x24f343(0x210)]+=_0x2218c9[_0x24f343(0x210)],_0x231d01['byModel'][_0x2218c9[_0x24f343(0x218)]][_0x24f343(0x240)]+=0x1;}[a0_0x36bf97(0x235)](_0x14d97b,_0x29a100,_0x274408){const _0x4f7859=a0_0x36bf97,_0xf4d3f4=this['usage'][_0x4f7859(0x20f)]['get'](_0x14d97b),_0x15d72a=this[_0x4f7859(0x1ea)]['weekly'][_0x4f7859(0x246)](_0x29a100),_0x141a1c=this[_0x4f7859(0x1ea)]['monthly'][_0x4f7859(0x246)](_0x274408);_0xf4d3f4['cost']>this[_0x4f7859(0x211)][_0x4f7859(0x20f)]&&this['sendBudgetAlert'](_0x4f7859(0x20f),_0xf4d3f4[_0x4f7859(0x1eb)],this['budgets']['daily']),_0x15d72a['cost']>this['budgets']['weekly']&&this['sendBudgetAlert'](_0x4f7859(0x22f),_0x15d72a[_0x4f7859(0x1eb)],this[_0x4f7859(0x211)]['weekly']),_0x141a1c['cost']>this['budgets'][_0x4f7859(0x215)]&&this[_0x4f7859(0x200)]('monthly',_0x141a1c['cost'],this[_0x4f7859(0x211)][_0x4f7859(0x215)]),this[_0x4f7859(0x238)](_0xf4d3f4,_0x15d72a,_0x141a1c);}['checkThresholdAlerts'](_0x6ad2bd,_0x314b91,_0x1f5d3d){const _0x5e5952=a0_0x36bf97,_0x2de2e9=this['alerts'][_0x5e5952(0x20b)];this[_0x5e5952(0x22c)](_0x5e5952(0x20f),_0x6ad2bd[_0x5e5952(0x1eb)],this[_0x5e5952(0x211)][_0x5e5952(0x20f)],_0x2de2e9),this[_0x5e5952(0x22c)](_0x5e5952(0x22f),_0x314b91['cost'],this['budgets'][_0x5e5952(0x22f)],_0x2de2e9),this[_0x5e5952(0x22c)](_0x5e5952(0x215),_0x1f5d3d['cost'],this['budgets'][_0x5e5952(0x215)],_0x2de2e9);}[a0_0x36bf97(0x22c)](_0x4675ab,_0x5600df,_0x49d006,_0x5b4d54){const _0x113d31=a0_0x36bf97,_0x85bb72=_0x5600df/_0x49d006*0x64;for(const _0x13f127 of _0x5b4d54){if(_0x85bb72>=_0x13f127){const _0xe49121=_0x4675ab+'_'+_0x13f127,_0x2e82c3=this['alerts'][_0x113d31(0x201)][_0x113d31(0x246)](_0xe49121),_0x29ad07=Date[_0x113d31(0x23c)]();(!_0x2e82c3||_0x29ad07-_0x2e82c3>0x36ee80)&&(this[_0x113d31(0x205)](_0x4675ab,_0x85bb72,_0x13f127,_0x5600df,_0x49d006),this[_0x113d31(0x1fc)][_0x113d31(0x201)]['set'](_0xe49121,_0x29ad07));break;}}}[a0_0x36bf97(0x200)](_0x431fad,_0x17ab6a,_0x4970c4){const _0x3f6684=a0_0x36bf97;this['logger']['warn']('Budget\x20limit\x20exceeded',{'period':_0x431fad,'currentUsage':_0x17ab6a,'budgetLimit':_0x4970c4,'excess':_0x17ab6a-_0x4970c4}),typeof process!==_0x3f6684(0x213)&&process[_0x3f6684(0x21f)]&&process['emit']('budgetAlert',{'type':'budget_exceeded','period':_0x431fad,'currentUsage':_0x17ab6a,'budgetLimit':_0x4970c4,'excess':_0x17ab6a-_0x4970c4});}['sendThresholdAlert'](_0x371c4c,_0x3e3606,_0x456523,_0x58e4cb,_0x3bb4c3){const _0x3651e1=a0_0x36bf97;this[_0x3651e1(0x1e7)]['warn'](_0x3651e1(0x227),{'period':_0x371c4c,'percentage':Math['round'](_0x3e3606),'threshold':_0x456523,'usage':_0x58e4cb,'budget':_0x3bb4c3}),typeof process!==_0x3651e1(0x213)&&process[_0x3651e1(0x21f)]&&process['emit']('budgetAlert',{'type':'threshold_reached','period':_0x371c4c,'percentage':Math[_0x3651e1(0x21a)](_0x3e3606),'threshold':_0x456523,'usage':_0x58e4cb,'budget':_0x3bb4c3});}[a0_0x36bf97(0x234)](_0x245742){const _0x43b618=a0_0x36bf97;return _0x245742['toISOString']()[_0x43b618(0x23a)]('T')[0x0];}['getWeekKey'](_0xc2af28){const _0xc334d=a0_0x36bf97,_0x176b30=_0xc2af28[_0xc334d(0x1fe)](),_0x23cda3=this['getWeekNumber'](_0xc2af28);return _0x176b30+'-W'+_0x23cda3['toString']()['padStart'](0x2,'0');}['getMonthKey'](_0x533700){const _0x500a21=a0_0x36bf97,_0x301008=_0x533700[_0x500a21(0x1fe)](),_0x4f4cf0=_0x533700['getMonth']()+0x1;return _0x301008+'-'+_0x4f4cf0[_0x500a21(0x216)]()['padStart'](0x2,'0');}['getWeekNumber'](_0x3e02ae){const _0x18afec=a0_0x36bf97,_0xe67878=new Date(_0x3e02ae['getFullYear'](),0x0,0x1),_0x3b0041=(_0x3e02ae-_0xe67878)/0x5265c00;return Math[_0x18afec(0x20c)]((_0x3b0041+_0xe67878[_0x18afec(0x217)]()+0x1)/0x7);}[a0_0x36bf97(0x22b)](_0x4d42d6){const _0x2924df=a0_0x36bf97,_0xce262e=[];return _0xce262e[_0x2924df(0x202)]([_0x2924df(0x20e),_0x2924df(0x22d),_0x2924df(0x230),_0x2924df(0x247),'Requests','Agent',_0x2924df(0x209)]),Object[_0x2924df(0x220)](_0x4d42d6['daily'])[_0x2924df(0x214)](([_0x5d13da,_0x2e4996])=>{const _0x461190=_0x2924df;_0xce262e[_0x461190(0x202)]([_0x461190(0x1e8),_0x5d13da,_0x2e4996[_0x461190(0x1eb)],_0x2e4996[_0x461190(0x210)],_0x2e4996['requests'],'','']),Object[_0x461190(0x220)](_0x2e4996[_0x461190(0x228)]||{})['forEach'](([_0x1e5288,_0x1587cf])=>{const _0x34aa3a=_0x461190;_0xce262e[_0x34aa3a(0x202)]([_0x34aa3a(0x1e8),_0x5d13da,_0x1587cf[_0x34aa3a(0x1eb)],_0x1587cf['tokens'],_0x1587cf[_0x34aa3a(0x240)],_0x1e5288,'']);});}),_0xce262e[_0x2924df(0x1f2)](_0x3db166=>_0x3db166['join'](','))[_0x2924df(0x20d)]('\x0a');}['loadUsageData'](){const _0x5b2cfd=a0_0x36bf97;try{this['logger'][_0x5b2cfd(0x22a)]('Budget\x20service\x20initialized');}catch(_0xf6e5f7){this['logger'][_0x5b2cfd(0x1f8)](_0x5b2cfd(0x1f5),{'error':_0xf6e5f7[_0x5b2cfd(0x224)]});}}[a0_0x36bf97(0x203)](){const _0x21308d=a0_0x36bf97;try{this['logger']['debug'](_0x21308d(0x208));}catch(_0x49772e){this[_0x21308d(0x1e7)]['error']('Failed\x20to\x20save\x20usage\x20data',{'error':_0x49772e[_0x21308d(0x224)]});}}['setupPeriodicSave'](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}function a0_0x76c2(_0x1b2159,_0x2e76da){_0x1b2159=_0x1b2159-0x1e7;const _0x48afd7=a0_0x48af();let _0x76c272=_0x48afd7[_0x1b2159];if(a0_0x76c2['YPIeSm']===undefined){var _0xb6deff=function(_0x458307){const _0x2f40ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcee48e='',_0x286987='';for(let _0x43649b=0x0,_0x445bad,_0x501c57,_0x18084d=0x0;_0x501c57=_0x458307['charAt'](_0x18084d++);~_0x501c57&&(_0x445bad=_0x43649b%0x4?_0x445bad*0x40+_0x501c57:_0x501c57,_0x43649b++%0x4)?_0xcee48e+=String['fromCharCode'](0xff&_0x445bad>>(-0x2*_0x43649b&0x6)):0x0){_0x501c57=_0x2f40ef['indexOf'](_0x501c57);}for(let _0x18141b=0x0,_0x43d140=_0xcee48e['length'];_0x18141b<_0x43d140;_0x18141b++){_0x286987+='%'+('00'+_0xcee48e['charCodeAt'](_0x18141b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x286987);};a0_0x76c2['DFORtV']=_0xb6deff,a0_0x76c2['dsjTEC']={},a0_0x76c2['YPIeSm']=!![];}const _0x57faed=_0x48afd7[0x0],_0x5a297f=_0x1b2159+_0x57faed,_0x8540f1=a0_0x76c2['dsjTEC'][_0x5a297f];return!_0x8540f1?(_0x76c272=a0_0x76c2['DFORtV'](_0x76c272),a0_0x76c2['dsjTEC'][_0x5a297f]=_0x76c272):_0x76c272=_0x8540f1,_0x76c272;}export default BudgetService;
@@ -1 +1 @@
1
- const a0_0x1c7447=a0_0x56e7;function a0_0x56e7(_0x1643c7,_0xd20250){_0x1643c7=_0x1643c7-0x100;const _0xb29d91=a0_0xb29d();let _0x56e700=_0xb29d91[_0x1643c7];if(a0_0x56e7['iAKnRT']===undefined){var _0x3a2fd1=function(_0x321603){const _0xae3d6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x121f50='',_0x394355='';for(let _0x15b232=0x0,_0x31116d,_0x2784fd,_0x506a92=0x0;_0x2784fd=_0x321603['charAt'](_0x506a92++);~_0x2784fd&&(_0x31116d=_0x15b232%0x4?_0x31116d*0x40+_0x2784fd:_0x2784fd,_0x15b232++%0x4)?_0x121f50+=String['fromCharCode'](0xff&_0x31116d>>(-0x2*_0x15b232&0x6)):0x0){_0x2784fd=_0xae3d6c['indexOf'](_0x2784fd);}for(let _0x4ee17f=0x0,_0x4d9be8=_0x121f50['length'];_0x4ee17f<_0x4d9be8;_0x4ee17f++){_0x394355+='%'+('00'+_0x121f50['charCodeAt'](_0x4ee17f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x394355);};a0_0x56e7['cHCXVc']=_0x3a2fd1,a0_0x56e7['QbxeVw']={},a0_0x56e7['iAKnRT']=!![];}const _0x4025a8=_0xb29d91[0x0],_0x2aa6ab=_0x1643c7+_0x4025a8,_0xe93f8d=a0_0x56e7['QbxeVw'][_0x2aa6ab];return!_0xe93f8d?(_0x56e700=a0_0x56e7['cHCXVc'](_0x56e700),a0_0x56e7['QbxeVw'][_0x2aa6ab]=_0x56e700):_0x56e700=_0xe93f8d,_0x56e700;}function a0_0xb29d(){const _0x4de408=['zM9YBwf0vgv4DezPBgu','zMXVB3i','odjizNLbEhC','mZeWmdvizwLZuw4','mJe0ndeXnuzHu1jqDq','zxnJyxbLwg1S','ndi1odi0mfHKzgXvuW','BgvUz3rO','Aw5PDgLHBgL6zq','ndiZmtHLBevoC1G','BwvZC2fNzq','CgrM','z2v0qwn0AxzLqxr0ywnOBwvUDhm','ChvZAa','nZuZnJaWu3bgvuP1','Bg9Nz2vY','mtGYndq0A1rcv1PU','yNvPBgreEw5HBwLJq29UDgv4Da','CMvWBgfJzq','zMLSDgvY','ica8zMLSzsbUyw1Lpsi','iIb0ExbLpsi','C3bSAxq','iIbZAxPLpsi','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','cJXHDhrHy2HLzc1MAwXLCZ4k','zMLSzuLK','Bw9Kzq','zxn0Aw1HDgvuB3rHBfrVA2vUCW','yxr0ywnOBwvUDfnLCNzPy2u','Dg9Rzw5fC3rPBwf0zq','Aw1Hz2u','zM9YBwf0q29UDgvUDezPBgu','Dg9gAxHLza','odeXmhzfDvrWvq','s0iIig1Vzgu9iMnVBNrLBNqIpGO','CMvMzxjLBMnL','zM9YBwf0qNL0zxm','mta4nwDuy0T6Ca','zM9YBwf0uMvMzxjLBMnLrMLSzq','Bg9N','cJXMAwXLlxjLzMvYzw5Jzxm+cG','z2v0qxr0ywnOBwvUDenVBNrLBNq','zxjYB3i','nZe4nZfTzwDgrwC'];a0_0xb29d=function(){return _0x4de408;};return a0_0xb29d();}(function(_0x2fe99f,_0x758fb0){const _0x3d530d=a0_0x56e7,_0x1d08f3=_0x2fe99f();while(!![]){try{const _0x5da9bd=-parseInt(_0x3d530d(0x12a))/0x1+-parseInt(_0x3d530d(0x11c))/0x2*(-parseInt(_0x3d530d(0x119))/0x3)+parseInt(_0x3d530d(0x120))/0x4+parseInt(_0x3d530d(0x11e))/0x5+-parseInt(_0x3d530d(0x123))/0x6*(-parseInt(_0x3d530d(0x113))/0x7)+parseInt(_0x3d530d(0x128))/0x8+-parseInt(_0x3d530d(0x11d))/0x9*(parseInt(_0x3d530d(0x10f))/0xa);if(_0x5da9bd===_0x758fb0)break;else _0x1d08f3['push'](_0x1d08f3['shift']());}catch(_0x1aad3b){_0x1d08f3['push'](_0x1d08f3['shift']());}}}(a0_0xb29d,0xa7a68));import a0_0x121f50 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x394355={},_0x15b232=null){const _0x5bdbf8=a0_0x56e7;this['config']=_0x394355,this[_0x5bdbf8(0x129)]=_0x15b232,this['attachmentService']=new a0_0x121f50(_0x394355,_0x15b232);}async['initialize'](){const _0x16f1fd=a0_0x56e7;await this['attachmentService'][_0x16f1fd(0x122)]();}async[a0_0x1c7447(0x12b)](_0x31116d){const _0x314c8d=a0_0x1c7447;try{const _0x2784fd=await this[_0x314c8d(0x10a)][_0x314c8d(0x126)](_0x31116d);if(_0x2784fd['length']===0x0)return'';const _0x506a92=_0x2784fd['filter'](_0x219b25=>_0x219b25[_0x314c8d(0x108)]==='content'),_0x4ee17f=_0x2784fd['filter'](_0xdf3af2=>_0xdf3af2[_0x314c8d(0x108)]===_0x314c8d(0x111));let _0x4d9be8='';if(_0x506a92[_0x314c8d(0x121)]>0x0){_0x4d9be8+=_0x314c8d(0x106);for(const _0x54895e of _0x506a92){const _0x3ed4cf=await this['attachmentService'][_0x314c8d(0x117)](_0x54895e[_0x314c8d(0x107)]);if(_0x3ed4cf){const _0x4bd2d6=this['formatContentFile'](_0x54895e,_0x3ed4cf);_0x4d9be8+=_0x4bd2d6+'\x0a';}}_0x4d9be8+='</attached-files>\x0a';}if(_0x4ee17f['length']>0x0){_0x4d9be8+=_0x314c8d(0x116);for(const _0x495972 of _0x4ee17f){const _0x4bc6a8=this['formatReferenceFile'](_0x495972);_0x4d9be8+=_0x4bc6a8+'\x0a';}_0x4d9be8+='</file-references>\x0a',_0x4d9be8+=_0x314c8d(0x105);}return _0x4d9be8;}catch(_0x5c88ca){return this['logger']?.['error']('Error\x20building\x20dynamic\x20context',{'agentId':_0x31116d,'error':_0x5c88ca[_0x314c8d(0x124)]}),'';}}[a0_0x1c7447(0x10d)](_0x5ce48f,_0x2ddc2e){const _0x229fb9=a0_0x1c7447,{fileName:_0x5931a0,fileType:_0x333528,size:_0x5e3d2d,contentType:_0xe8511f}=_0x5ce48f,_0x998ee5=(_0x5e3d2d/0x400)[_0x229fb9(0x10e)](0x2);if(_0xe8511f==='text')return this['formatTextFile'](_0x5ce48f,_0x2ddc2e);else{if(_0xe8511f===_0x229fb9(0x10c))return this['formatImageFile'](_0x5ce48f,_0x2ddc2e);else{if(_0xe8511f===_0x229fb9(0x125))return this['formatPdfFile'](_0x5ce48f,_0x2ddc2e);}}return'\x20\x20<file\x20name=\x22'+this[_0x229fb9(0x11f)](_0x5931a0)+_0x229fb9(0x102)+_0x333528+_0x229fb9(0x104)+_0x998ee5+_0x229fb9(0x110)+this[_0x229fb9(0x11f)](_0x2ddc2e)+'\x0a\x20\x20</file>';}[a0_0x1c7447(0x11a)](_0x31addb,_0x20a62a){const _0x54177f=a0_0x1c7447,{fileName:_0x4c888e,fileType:_0x4f4ab7,size:_0x59813b}=_0x31addb,_0x45d813=(_0x59813b/0x400)['toFixed'](0x2);return _0x54177f(0x101)+this[_0x54177f(0x11f)](_0x4c888e)+'\x22\x20type=\x22'+_0x4f4ab7+_0x54177f(0x104)+_0x45d813+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x20a62a)+'\x0a\x20\x20</file>';}['formatImageFile'](_0xd8e61f,_0x30c5a5){const _0x16df66=a0_0x1c7447,{fileName:_0x46dd1d,fileType:_0x5aec2e,size:_0x2f6566}=_0xd8e61f,_0x558b40=(_0x2f6566/0x400)[_0x16df66(0x10e)](0x2);return _0x16df66(0x101)+this[_0x16df66(0x11f)](_0x46dd1d)+_0x16df66(0x102)+_0x5aec2e+'\x22\x20size=\x22'+_0x558b40+'KB\x22\x20mode=\x22content\x22>\x0a'+_0x30c5a5+'\x0a\x20\x20</file>';}['formatPdfFile'](_0x5759f6,_0x8d4a0c){const _0x59eafa=a0_0x1c7447,{fileName:_0xd08c13,fileType:_0x4db71c,size:_0x28cd90}=_0x5759f6,_0x1c2414=(_0x28cd90/0x400)['toFixed'](0x2);return _0x59eafa(0x101)+this[_0x59eafa(0x11f)](_0xd08c13)+_0x59eafa(0x102)+_0x4db71c+'\x22\x20size=\x22'+_0x1c2414+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x8d4a0c)+'\x0a\x20\x20</file>';}[a0_0x1c7447(0x114)](_0x2a9ed0){const _0x45bf16=a0_0x1c7447,{fileName:_0x2af1f8,originalPath:_0x4e2efe,size:_0x4c6931,fileType:_0x39363c,lastModified:_0x91ca9c}=_0x2a9ed0,_0x158844=this['formatBytes'](_0x4c6931),_0x480013=new Date(_0x91ca9c)['toISOString']()[_0x45bf16(0x103)]('T')[0x0];return'\x20\x20<file\x20name=\x22'+this[_0x45bf16(0x11f)](_0x2af1f8)+'\x22\x20path=\x22'+this['escapeXml'](_0x4e2efe)+'\x22\x20size=\x22'+_0x158844+'\x22\x20type=\x22'+_0x39363c+'\x22\x20modified=\x22'+_0x480013+'\x22\x20/>';}[a0_0x1c7447(0x11f)](_0x405ae9){const _0xd3dcfe=a0_0x1c7447;if(!_0x405ae9)return'';return _0x405ae9['replace'](/&/g,'&amp;')[_0xd3dcfe(0x12c)](/</g,'&lt;')[_0xd3dcfe(0x12c)](/>/g,'&gt;')['replace'](/"/g,'&quot;')['replace'](/'/g,'&apos;');}[a0_0x1c7447(0x112)](_0x1ffe5e){const _0xa3761a=a0_0x1c7447;if(_0x1ffe5e===0x0)return'0\x20Bytes';const _0x2a9da3=0x400,_0x35a30f=['Bytes','KB','MB','GB'],_0x56cedd=Math[_0xa3761a(0x11b)](Math['log'](_0x1ffe5e)/Math[_0xa3761a(0x115)](_0x2a9da3));return parseFloat((_0x1ffe5e/Math['pow'](_0x2a9da3,_0x56cedd))[_0xa3761a(0x10e)](0x2))+_0x35a30f[_0x56cedd];}async[a0_0x1c7447(0x109)](_0x1c8878){const _0x3cf6ba=a0_0x1c7447;try{const _0x155bef=await this['attachmentService']['getActiveAttachments'](_0x1c8878);let _0x3449cb=0x0;for(const _0x2c2e7c of _0x155bef){_0x2c2e7c['mode']==='content'?_0x3449cb+=_0x2c2e7c[_0x3cf6ba(0x10b)]||0x0:_0x3449cb+=0x14;}return _0x3449cb;}catch(_0x1e21d1){return this['logger']?.[_0x3cf6ba(0x118)]('Error\x20estimating\x20total\x20tokens',{'agentId':_0x1c8878,'error':_0x1e21d1['message']}),0x0;}}async['getAttachmentSummary'](_0x290a11){const _0x56e9db=a0_0x1c7447;try{const _0x31c58e=await this['attachmentService']['getActiveAttachments'](_0x290a11),_0x302c61={'totalActive':_0x31c58e[_0x56e9db(0x121)],'contentMode':_0x31c58e[_0x56e9db(0x100)](_0x4908d3=>_0x4908d3[_0x56e9db(0x108)]==='content')[_0x56e9db(0x121)],'referenceMode':_0x31c58e['filter'](_0x2ab810=>_0x2ab810[_0x56e9db(0x108)]==='reference')[_0x56e9db(0x121)],'estimatedTokens':0x0,'files':[]};for(const _0x4c5822 of _0x31c58e){_0x302c61['estimatedTokens']+=_0x4c5822[_0x56e9db(0x10b)]||0x0,_0x302c61['files'][_0x56e9db(0x127)]({'fileName':_0x4c5822['fileName'],'mode':_0x4c5822['mode'],'size':this['formatBytes'](_0x4c5822['size']),'tokens':_0x4c5822[_0x56e9db(0x10b)]||0x0});}return _0x302c61;}catch(_0x3818f4){return this['logger']?.['error']('Error\x20getting\x20attachment\x20summary',{'agentId':_0x290a11,'error':_0x3818f4['message']}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;
1
+ const a0_0xcd4cc4=a0_0x579f;(function(_0x350b81,_0xb1dc8a){const _0x2bb63f=a0_0x579f,_0x4a30dd=_0x350b81();while(!![]){try{const _0x3789c9=-parseInt(_0x2bb63f(0x1b8))/0x1+parseInt(_0x2bb63f(0x1cc))/0x2*(parseInt(_0x2bb63f(0x1b9))/0x3)+parseInt(_0x2bb63f(0x1b0))/0x4*(-parseInt(_0x2bb63f(0x1cf))/0x5)+parseInt(_0x2bb63f(0x1b3))/0x6+parseInt(_0x2bb63f(0x1c4))/0x7*(-parseInt(_0x2bb63f(0x1c5))/0x8)+parseInt(_0x2bb63f(0x1a5))/0x9*(-parseInt(_0x2bb63f(0x1c3))/0xa)+parseInt(_0x2bb63f(0x1a4))/0xb*(parseInt(_0x2bb63f(0x1b1))/0xc);if(_0x3789c9===_0xb1dc8a)break;else _0x4a30dd['push'](_0x4a30dd['shift']());}catch(_0x5f30e2){_0x4a30dd['push'](_0x4a30dd['shift']());}}}(a0_0x58bd,0x403c5));import a0_0x1b11ce from'./fileAttachmentService.js';function a0_0x579f(_0x19591e,_0x5a2a79){_0x19591e=_0x19591e-0x19f;const _0x58bdcc=a0_0x58bd();let _0x579f38=_0x58bdcc[_0x19591e];if(a0_0x579f['NmuYGC']===undefined){var _0x580350=function(_0x3e95ec){const _0x209e62='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b11ce='',_0x3f245b='';for(let _0xf9d7b2=0x0,_0x3c883c,_0x5fc01b,_0x1f5a4f=0x0;_0x5fc01b=_0x3e95ec['charAt'](_0x1f5a4f++);~_0x5fc01b&&(_0x3c883c=_0xf9d7b2%0x4?_0x3c883c*0x40+_0x5fc01b:_0x5fc01b,_0xf9d7b2++%0x4)?_0x1b11ce+=String['fromCharCode'](0xff&_0x3c883c>>(-0x2*_0xf9d7b2&0x6)):0x0){_0x5fc01b=_0x209e62['indexOf'](_0x5fc01b);}for(let _0x4c0147=0x0,_0x50c812=_0x1b11ce['length'];_0x4c0147<_0x50c812;_0x4c0147++){_0x3f245b+='%'+('00'+_0x1b11ce['charCodeAt'](_0x4c0147)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f245b);};a0_0x579f['FAIrzt']=_0x580350,a0_0x579f['voodej']={},a0_0x579f['NmuYGC']=!![];}const _0x327146=_0x58bdcc[0x0],_0x243d85=_0x19591e+_0x327146,_0x350c54=a0_0x579f['voodej'][_0x243d85];return!_0x350c54?(_0x579f38=a0_0x579f['FAIrzt'](_0x579f38),a0_0x579f['voodej'][_0x243d85]=_0x579f38):_0x579f38=_0x350c54,_0x579f38;}function a0_0x58bd(){const _0x4ad5f0=['Dg9Rzw5fC3rPBwf0zq','odK2oda4CMzQAKH3','iIbZAxPLpsi','jNf1B3q7','y29UDgvUDa','yxr0ywnOBwvUDfnLCNzPy2u','mtm2odC1txfTCxLo','nJLcu1jLD3G','Bg9Nz2vY','zM9YBwf0ugrMrMLSzq','zM9YBwf0qNL0zxm','Dg9gAxHLza','jMfWB3m7','CgrM','CMvMzxjLBMnL','CMvWBgfJzq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihn1Bw1HCNK','nJuWDuX4vuT2','mJe3mZq1ohD0sfzQva','ogvADKzXsq','zMXVB3i','zM9YBwf0uMvMzxjLBMnLrMLSzq','zMLSDgvY','Aw1Hz2u','Cg93','zM9YBwf0vgv4DezPBgu','oda0neTvuhrNzW','BwvZC2fNzq','zxjYB3i','nJyWALLSr05u','yNvPBgreEw5HBwLJq29UDgv4Da','zxn0Aw1HDgvuB3rHBfrVA2vUCW','pc9HDhrHy2HLzc1MAwXLCZ4k','z2v0qxr0ywnOBwvUDenVBNrLBNq','cIaGpc9MAwXLpG','z2v0qwn0AxzLqxr0ywnOBwvUDhm','pc9MAwXLlxjLzMvYzw5Jzxm+cG','iIb0ExbLpsi','Bg9N','zxnJyxbLwg1S','s0iIig1Vzgu9iMnVBNrLBNqIpGO','Bw9Kzq','mJjUAKnSAei','mJmXnJzcDvLPz0i','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','iIaVpG','Aw5PDgLHBgL6zq','y29UzMLN','BgvUz3rO','C2L6zq','ChvZAa','ica8zMLSzsbUyw1Lpsi','jMX0oW','zMLSzuLK','mti0mZzhD3nOvvG','nJi3nZiXmNPyz0T3DG'];a0_0x58bd=function(){return _0x4ad5f0;};return a0_0x58bd();}class ContextInjectionService{constructor(_0x3f245b={},_0xf9d7b2=null){const _0x1758ee=a0_0x579f;this[_0x1758ee(0x1a9)]=_0x3f245b,this['logger']=_0xf9d7b2,this[_0x1758ee(0x1b7)]=new a0_0x1b11ce(_0x3f245b,_0xf9d7b2);}async['initialize'](){const _0x2a4b2d=a0_0x579f;await this[_0x2a4b2d(0x1b7)][_0x2a4b2d(0x1a8)]();}async[a0_0xcd4cc4(0x1d0)](_0x3c883c){const _0xdebe03=a0_0xcd4cc4;try{const _0x5fc01b=await this[_0xdebe03(0x1b7)]['getActiveAttachments'](_0x3c883c);if(_0x5fc01b[_0xdebe03(0x1aa)]===0x0)return'';const _0x1f5a4f=_0x5fc01b[_0xdebe03(0x1c8)](_0x547784=>_0x547784['mode']===_0xdebe03(0x1b6)),_0x4c0147=_0x5fc01b[_0xdebe03(0x1c8)](_0xd687fa=>_0xd687fa['mode']===_0xdebe03(0x1c0));let _0x50c812='';if(_0x1f5a4f[_0xdebe03(0x1aa)]>0x0){_0x50c812+='\x0a<attached-files>\x0a';for(const _0x4bddc9 of _0x1f5a4f){const _0x2f43ab=await this['attachmentService'][_0xdebe03(0x1d3)](_0x4bddc9[_0xdebe03(0x1af)]);if(_0x2f43ab){const _0x13b61e=this['formatContentFile'](_0x4bddc9,_0x2f43ab);_0x50c812+=_0x13b61e+'\x0a';}}_0x50c812+=_0xdebe03(0x1d2);}if(_0x4c0147['length']>0x0){_0x50c812+='\x0a<file-references>\x0a';for(const _0x900b02 of _0x4c0147){const _0x431d8d=this[_0xdebe03(0x1c7)](_0x900b02);_0x50c812+=_0x431d8d+'\x0a';}_0x50c812+=_0xdebe03(0x1d6),_0x50c812+=_0xdebe03(0x1a6);}return _0x50c812;}catch(_0x59ddc2){return this['logger']?.[_0xdebe03(0x1ce)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x3c883c,'error':_0x59ddc2[_0xdebe03(0x1cd)]}),'';}}['formatContentFile'](_0x492c14,_0x1a7d47){const _0x1defef=a0_0xcd4cc4,{fileName:_0x1fddfe,fileType:_0x39807b,size:_0x5082d4,contentType:_0x2df11a}=_0x492c14,_0xd5d01=(_0x5082d4/0x400)[_0x1defef(0x1bd)](0x2);if(_0x2df11a==='text')return this[_0x1defef(0x1cb)](_0x492c14,_0x1a7d47);else{if(_0x2df11a===_0x1defef(0x1c9))return this['formatImageFile'](_0x492c14,_0x1a7d47);else{if(_0x2df11a===_0x1defef(0x1bf))return this[_0x1defef(0x1bb)](_0x492c14,_0x1a7d47);}}return'\x20\x20<file\x20name=\x22'+this[_0x1defef(0x1a1)](_0x1fddfe)+_0x1defef(0x19f)+_0x39807b+'\x22\x20size=\x22'+_0xd5d01+_0x1defef(0x1a2)+this[_0x1defef(0x1a1)](_0x1a7d47)+_0x1defef(0x1d4);}['formatTextFile'](_0x523d19,_0x3e780a){const _0x15a91a=a0_0xcd4cc4,{fileName:_0x83259d,fileType:_0x15ea01,size:_0x377332}=_0x523d19,_0x3dcccf=(_0x377332/0x400)['toFixed'](0x2);return _0x15a91a(0x1ad)+this['escapeXml'](_0x83259d)+_0x15a91a(0x19f)+_0x15ea01+_0x15a91a(0x1b4)+_0x3dcccf+_0x15a91a(0x1a2)+this[_0x15a91a(0x1a1)](_0x3e780a)+'\x0a\x20\x20</file>';}['formatImageFile'](_0x348041,_0x29e411){const _0x2fa60d=a0_0xcd4cc4,{fileName:_0x1ea36d,fileType:_0x42babc,size:_0x3dd222}=_0x348041,_0x597153=(_0x3dd222/0x400)[_0x2fa60d(0x1bd)](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x2fa60d(0x1a1)](_0x1ea36d)+'\x22\x20type=\x22'+_0x42babc+_0x2fa60d(0x1b4)+_0x597153+_0x2fa60d(0x1a2)+_0x29e411+'\x0a\x20\x20</file>';}['formatPdfFile'](_0x2d97d4,_0x4dde29){const _0x4f726e=a0_0xcd4cc4,{fileName:_0x4fcfc8,fileType:_0x20b71d,size:_0x22bed5}=_0x2d97d4,_0x320ae9=(_0x22bed5/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x4f726e(0x1a1)](_0x4fcfc8)+_0x4f726e(0x19f)+_0x20b71d+'\x22\x20size=\x22'+_0x320ae9+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0x4f726e(0x1a1)](_0x4dde29)+'\x0a\x20\x20</file>';}['formatReferenceFile'](_0x498218){const _0x2b8096=a0_0xcd4cc4,{fileName:_0x2258b7,originalPath:_0x57cee7,size:_0x1d6b05,fileType:_0x525f92,lastModified:_0x14aba1}=_0x498218,_0x317e80=this[_0x2b8096(0x1bc)](_0x1d6b05),_0xc630e0=new Date(_0x14aba1)['toISOString']()['split']('T')[0x0];return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x2258b7)+'\x22\x20path=\x22'+this['escapeXml'](_0x57cee7)+_0x2b8096(0x1b4)+_0x317e80+_0x2b8096(0x19f)+_0x525f92+'\x22\x20modified=\x22'+_0xc630e0+_0x2b8096(0x1a7);}['escapeXml'](_0x1ae2a6){const _0x4f1374=a0_0xcd4cc4;if(!_0x1ae2a6)return'';return _0x1ae2a6['replace'](/&/g,'&amp;')['replace'](/</g,_0x4f1374(0x1ae))[_0x4f1374(0x1c1)](/>/g,'&gt;')[_0x4f1374(0x1c1)](/"/g,_0x4f1374(0x1b5))['replace'](/'/g,_0x4f1374(0x1be));}['formatBytes'](_0x4320ac){const _0xe652c9=a0_0xcd4cc4;if(_0x4320ac===0x0)return'0\x20Bytes';const _0x4b1b84=0x400,_0x84c761=['Bytes','KB','MB','GB'],_0x36a18b=Math[_0xe652c9(0x1c6)](Math[_0xe652c9(0x1a0)](_0x4320ac)/Math[_0xe652c9(0x1a0)](_0x4b1b84));return parseFloat((_0x4320ac/Math[_0xe652c9(0x1ca)](_0x4b1b84,_0x36a18b))['toFixed'](0x2))+_0x84c761[_0x36a18b];}async[a0_0xcd4cc4(0x1d1)](_0x23fc68){const _0x1a37d0=a0_0xcd4cc4;try{const _0x5723e1=await this['attachmentService'][_0x1a37d0(0x1d5)](_0x23fc68);let _0x55dbb8=0x0;for(const _0x27e97e of _0x5723e1){_0x27e97e['mode']===_0x1a37d0(0x1b6)?_0x55dbb8+=_0x27e97e['tokenEstimate']||0x0:_0x55dbb8+=0x14;}return _0x55dbb8;}catch(_0x103c39){return this[_0x1a37d0(0x1ba)]?.[_0x1a37d0(0x1ce)]('Error\x20estimating\x20total\x20tokens',{'agentId':_0x23fc68,'error':_0x103c39[_0x1a37d0(0x1cd)]}),0x0;}}async['getAttachmentSummary'](_0x463634){const _0x51736d=a0_0xcd4cc4;try{const _0x1dd2ab=await this[_0x51736d(0x1b7)][_0x51736d(0x1d5)](_0x463634),_0x1ce361={'totalActive':_0x1dd2ab[_0x51736d(0x1aa)],'contentMode':_0x1dd2ab[_0x51736d(0x1c8)](_0x2a517f=>_0x2a517f['mode']==='content')['length'],'referenceMode':_0x1dd2ab[_0x51736d(0x1c8)](_0x30d17e=>_0x30d17e[_0x51736d(0x1a3)]===_0x51736d(0x1c0))['length'],'estimatedTokens':0x0,'files':[]};for(const _0x117756 of _0x1dd2ab){_0x1ce361['estimatedTokens']+=_0x117756['tokenEstimate']||0x0,_0x1ce361['files'][_0x51736d(0x1ac)]({'fileName':_0x117756['fileName'],'mode':_0x117756['mode'],'size':this[_0x51736d(0x1bc)](_0x117756[_0x51736d(0x1ab)]),'tokens':_0x117756[_0x51736d(0x1b2)]||0x0});}return _0x1ce361;}catch(_0x3a2f29){return this['logger']?.['error'](_0x51736d(0x1c2),{'agentId':_0x463634,'error':_0x3a2f29[_0x51736d(0x1cd)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;