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

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 +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/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-DFmFvOoy.css +1 -0
  121. package/web-ui/build/static/{index-CR8edPA3.js → index-DOk0l6Kf.js} +73 -73
  122. package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
@@ -1 +1 @@
1
- (function(_0x1b902c,_0x1d549c){const _0x3a4a53=a0_0x322a,_0x1acb3e=_0x1b902c();while(!![]){try{const _0x29a461=-parseInt(_0x3a4a53(0x1fc))/0x1+parseInt(_0x3a4a53(0x205))/0x2+parseInt(_0x3a4a53(0x20e))/0x3+-parseInt(_0x3a4a53(0x216))/0x4+-parseInt(_0x3a4a53(0x204))/0x5+-parseInt(_0x3a4a53(0x20f))/0x6+parseInt(_0x3a4a53(0x22a))/0x7;if(_0x29a461===_0x1d549c)break;else _0x1acb3e['push'](_0x1acb3e['shift']());}catch(_0x5b2561){_0x1acb3e['push'](_0x1acb3e['shift']());}}}(a0_0x5552,0x5af7f));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function a0_0x322a(_0x30610f,_0x15490d){_0x30610f=_0x30610f-0x1ef;const _0x5552b1=a0_0x5552();let _0x322aa3=_0x5552b1[_0x30610f];if(a0_0x322a['ViXRXG']===undefined){var _0x41acd2=function(_0x4969c0){const _0x3145a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48d77a='',_0x550991='';for(let _0x38e4ba=0x0,_0x3cff5f,_0xf84a7e,_0x4d5d04=0x0;_0xf84a7e=_0x4969c0['charAt'](_0x4d5d04++);~_0xf84a7e&&(_0x3cff5f=_0x38e4ba%0x4?_0x3cff5f*0x40+_0xf84a7e:_0xf84a7e,_0x38e4ba++%0x4)?_0x48d77a+=String['fromCharCode'](0xff&_0x3cff5f>>(-0x2*_0x38e4ba&0x6)):0x0){_0xf84a7e=_0x3145a8['indexOf'](_0xf84a7e);}for(let _0x1402eb=0x0,_0x44e665=_0x48d77a['length'];_0x1402eb<_0x44e665;_0x1402eb++){_0x550991+='%'+('00'+_0x48d77a['charCodeAt'](_0x1402eb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x550991);};a0_0x322a['qvxHaM']=_0x41acd2,a0_0x322a['xlaGkt']={},a0_0x322a['ViXRXG']=!![];}const _0x28e77f=_0x5552b1[0x0],_0x597743=_0x30610f+_0x28e77f,_0x5996b8=a0_0x322a['xlaGkt'][_0x597743];return!_0x5996b8?(_0x322aa3=a0_0x322a['qvxHaM'](_0x322aa3),a0_0x322a['xlaGkt'][_0x597743]=_0x322aa3):_0x322aa3=_0x5996b8,_0x322aa3;}function a0_0x5552(){const _0xa2a217=['BgfZDfjLy2vPDMvK','DxnLCK1LC3nHz2vZ','CMvJzwL2zwq','qwDLBNqGAxmGy3vYCMvUDgX5igv4zwn1DgLUzYaOBw9Kzvn0yxrLpuvyrunvveLorYK','Bw9Kzq','AgfZtwvZC2fNzxm','vu5ltK9xtL9nt0rf','nZC2ntC0swTLwKPZ','mJC3ntCYnMPcv0nmvq','zgvSyxLfBMruAw1L','igLUDgvYlwfNzw50ig1LC3nHz2uOCYKGDg8GChjVy2vZCW','DgfZA3m','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Bw9Kzvn0yxrL','su5Fufjpr1jfu1m','mta3mJm0ohvNuvbxDa','q0Hbva','ihf1zxvLzcbTzxnZywDLCYaOvdO','quDftLq','yxv0B25VBw91C1DVCMTdB21WBgv0zq','qwDLBNqGzgvSyxLLzcb1BNrPBca','quDftLrFuefvu0ve','seftx1vtrvjFtuvtu0fhrvm','Aw50zxjbz2vUDe1LC3nHz2vZ','BgvUz3rO','qvvut05ptu9vu19nt0rfx0fdveLwrq','qwDLBNqGAgfZia','DgfZA0XPC3q','rvHfq1vusu5h','lcbvoG','zMLSDgvY','C2L6zq','u1rpuf9srvfvrvnuruq','Aw5JB21PBMDnzxnZywDLCW','BwfW','mte5mdmZnZr3qKz1vgy','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','uevoreLorW','Dg9VBfjLC3vSDhm','quDftLrFtK9ux0zpvu5e','CMvHC29U','uefvu0ve','BgfZDfr5Cgu','y291BNrZ','lcbLEhbLy3rLzca','C3rHDhvZ','Cgf1C2vKvw50AwW','qwDLBNqGC3rHDhvZigLZia','AgfZsw50zxjbz2vUDe1LC3nHz2vZ','Dg90ywW','AxnbCNjHEq','mJyYmdy3t21ztg1i','q0HbvcbTB2rLic0GBM8GBwvZC2fNzxmGDg8GChjVy2vZCW','qwDLBNqGCgf1C2vKigLUzgvMAw5PDgvSEq','ywn0AxzL','Aw50zxjbz2vUDfrYywnRAw5N','q0HbvcbTB2rLic0GAgfZia','quDftLrFsu5bq1rjvKvFu1rbvfvt','qwDLBNqGCgf1C2vKihvUDgLSia','mZe1nZeXmg9hBejqDG','nZq5mJHeBLnQDw8','C29Tzq'];a0_0x5552=function(){return _0xa2a217;};return a0_0x5552();}function hasPendingTasks(_0x48d77a){const _0x521a5c=a0_0x322a;if(!_0x48d77a['taskList']||!_0x48d77a[_0x521a5c(0x222)][_0x521a5c(0x212)]||!Array['isArray'](_0x48d77a[_0x521a5c(0x222)][_0x521a5c(0x212)]))return![];return _0x48d77a['taskList'][_0x521a5c(0x212)][_0x521a5c(0x206)](_0x550991=>_0x550991['status']===TASK_STATUS[_0x521a5c(0x22c)]||_0x550991[_0x521a5c(0x1f6)]===TASK_STATUS[_0x521a5c(0x215)]);}function getMessageQueueStatus(_0x38e4ba){const _0x3d6327=a0_0x322a,_0x3cff5f=_0x38e4ba['messageQueues']||{},_0xf84a7e={'toolResults':Array[_0x3d6327(0x1fb)](_0x3cff5f['toolResults'])?_0x3cff5f['toolResults']['length']:0x0,'interAgentMessages':Array[_0x3d6327(0x1fb)](_0x3cff5f['interAgentMessages'])?_0x3cff5f[_0x3d6327(0x21e)][_0x3d6327(0x21f)]:0x0,'userMessages':Array[_0x3d6327(0x1fb)](_0x3cff5f['userMessages'])?_0x3cff5f['userMessages']['length']:0x0};return _0xf84a7e['total']=_0xf84a7e[_0x3d6327(0x1ef)]+_0xf84a7e[_0x3d6327(0x21e)]+_0xf84a7e['userMessages'],{'hasMessages':_0xf84a7e[_0x3d6327(0x1fa)]>0x0,'hasUserMessages':_0xf84a7e[_0x3d6327(0x208)]>0x0,'hasInterAgentMessages':_0xf84a7e[_0x3d6327(0x21e)]>0x0,'hasToolResults':_0xf84a7e[_0x3d6327(0x1ef)]>0x0,'counts':_0xf84a7e};}function hasUnprocessedIncomingMessages(_0x4d5d04){const _0x193051=a0_0x322a;if(_0x4d5d04['incomingMessages']&&Array['isArray'](_0x4d5d04['incomingMessages'])&&_0x4d5d04[_0x193051(0x228)]['length']>0x0)return!![];if(_0x4d5d04[_0x193051(0x200)]&&_0x4d5d04[_0x193051(0x200)]instanceof Map&&_0x4d5d04[_0x193051(0x200)][_0x193051(0x226)]>0x0){const _0x1402eb=Date['now']();for(const _0x44e665 of _0x4d5d04[_0x193051(0x200)]['values']()){if(_0x44e665['lastReceived']&&_0x1402eb-_0x44e665[_0x193051(0x207)]<SCHEDULER_CONFIG['RECENT_MESSAGE_THRESHOLD_MS']&&_0x44e665[_0x193051(0x1f3)]===_0x193051(0x209))return!![];}}return![];}function isAgentDelayed(_0x7f5afa){const _0x5be228=a0_0x322a;if(!_0x7f5afa['delayEndTime'])return![];return new Date()<new Date(_0x7f5afa[_0x5be228(0x210)]);}function isAgentPaused(_0x25fd9d){const _0x11642a=a0_0x322a;if(_0x25fd9d[_0x11642a(0x1f6)]===AGENT_STATUS[_0x11642a(0x1f2)]){if(_0x25fd9d['pausedUntil'])return new Date()<new Date(_0x25fd9d['pausedUntil']);return!![];}if(_0x25fd9d[_0x11642a(0x1f7)]&&new Date()<new Date(_0x25fd9d['pausedUntil']))return!![];return![];}function hasAutonomousWorkComplete(_0x1c6822){const _0x482fd9=a0_0x322a;return _0x1c6822[_0x482fd9(0x21a)]===!![];}export function shouldAgentBeActive(_0x2bd0bc){const _0x10f637=a0_0x322a;if(!_0x2bd0bc)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x1f0)],'details':'Agent\x20object\x20is\x20null\x20or\x20undefined'};if(_0x2bd0bc[_0x10f637(0x1f6)]!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x202)],'details':_0x10f637(0x1f8)+_0x2bd0bc[_0x10f637(0x1f6)]+_0x10f637(0x1f5)+AGENT_STATUS['ACTIVE']};if(isAgentDelayed(_0x2bd0bc))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':_0x10f637(0x21b)+_0x2bd0bc['delayEndTime']};if(isAgentPaused(_0x2bd0bc))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x21c)],'details':_0x2bd0bc['pausedUntil']?_0x10f637(0x203)+_0x2bd0bc[_0x10f637(0x1f7)]:_0x10f637(0x1fe)};if(_0x2bd0bc['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x227)],'details':'Agent\x20stop\x20has\x20been\x20requested'};if(_0x2bd0bc[_0x10f637(0x214)]===AGENT_MODE_STATES[_0x10f637(0x223)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x220)],'details':_0x10f637(0x20a)};const _0x32bb88=getMessageQueueStatus(_0x2bd0bc);if(_0x2bd0bc[_0x10f637(0x20b)]===AGENT_MODES[_0x10f637(0x219)]){const _0x544724=hasPendingTasks(_0x2bd0bc),unprocessedMessages=hasUnprocessedIncomingMessages(_0x2bd0bc);if(_0x544724)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x32bb88[_0x10f637(0x20c)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_QUEUED_MESSAGES'],'details':'Agent\x20has\x20'+_0x32bb88['counts']['total']+_0x10f637(0x218)+_0x32bb88['counts'][_0x10f637(0x1ef)]+',\x20I:'+_0x32bb88[_0x10f637(0x1f4)]['interAgentMessages']+_0x10f637(0x224)+_0x32bb88['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['AUTONOMOUS_MODE_ACTIVE'],'details':_0x10f637(0x22b)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['NO_PENDING_WORK'],'details':'AGENT\x20mode\x20agent\x20has\x20no\x20pending\x20tasks\x20or\x20messages'};}if(_0x2bd0bc['mode']===AGENT_MODES[_0x10f637(0x217)]){if(_0x32bb88['hasUserMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x21d)],'details':_0x10f637(0x221)+_0x32bb88['counts'][_0x10f637(0x208)]+'\x20user\x20message(s)\x20to\x20process'};if(_0x32bb88[_0x10f637(0x1f9)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x213)],'details':_0x10f637(0x221)+_0x32bb88[_0x10f637(0x1f4)][_0x10f637(0x21e)]+_0x10f637(0x211)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['CHAT_MODE_NO_MESSAGES'],'details':_0x32bb88['hasToolResults']?_0x10f637(0x201)+_0x32bb88[_0x10f637(0x1f4)][_0x10f637(0x1ef)]+'\x20tool\x20results\x20but\x20no\x20new\x20messages':_0x10f637(0x1fd)};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x20d)],'details':'Unknown\x20agent\x20mode:\x20'+_0x2bd0bc['mode']};}export function getActiveAgents(_0x3aa1da){const _0x39b759=a0_0x322a,_0x115b43=_0x3aa1da instanceof Map?Array['from'](_0x3aa1da['values']()):_0x3aa1da;return _0x115b43[_0x39b759(0x229)](_0x32af11=>{const _0x5d37f3=shouldAgentBeActive(_0x32af11);return{'agent':_0x32af11,'agentId':_0x32af11['id'],'sessionId':_0x32af11['sessionId'],..._0x5d37f3};})[_0x39b759(0x225)](_0x3e31ed=>_0x3e31ed[_0x39b759(0x1ff)]);}export function getAllAgentActivityStatus(_0xd2497b){const _0x245ca0=_0xd2497b instanceof Map?Array['from'](_0xd2497b['values']()):_0xd2497b;return _0x245ca0['map'](_0x49eb30=>{const _0x512e61=a0_0x322a,_0x5912a4=shouldAgentBeActive(_0x49eb30),_0xf0f2ac=getMessageQueueStatus(_0x49eb30);return{'agentId':_0x49eb30['id'],'agentName':_0x49eb30['name'],'mode':_0x49eb30[_0x512e61(0x20b)],'status':_0x49eb30[_0x512e61(0x1f6)],'active':_0x5912a4['active'],'reason':_0x5912a4[_0x512e61(0x1f1)],'details':_0x5912a4['details'],'queueCounts':_0xf0f2ac['counts'],'hasPendingTasks':hasPendingTasks(_0x49eb30),'isDelayed':isAgentDelayed(_0x49eb30),'isPaused':isAgentPaused(_0x49eb30),'stopRequested':_0x49eb30['stopRequested']||![],'delayEndTime':_0x49eb30[_0x512e61(0x210)]||null,'pausedUntil':_0x49eb30['pausedUntil']||null};});}export function shouldSkipIteration(_0x40a5cf){const _0x144436=a0_0x322a;if(!_0x40a5cf)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x40a5cf))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x40a5cf[_0x144436(0x210)]};if(_0x40a5cf[_0x144436(0x1f7)]&&new Date()<new Date(_0x40a5cf[_0x144436(0x1f7)]))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x40a5cf['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 a0_0x5ada(){const _0x1f473e=['BgfZDfjLy2vPDMvK','Bw9Kzq','lcbLEhbLy3rLzca','zgv0ywLSCW','qwDLBNqGB2jQzwn0igLZig51BgWGB3iGDw5KzwzPBMvK','qvvut05ptu9vu19nt0rfx0fdveLwrq','uKvdru5ux01fu1nbr0vFveHsrvnit0Xex01t','BM93','otm4CvzYv3vA','qwDLBNqGC3rVCcbOyxmGyMvLBIbYzxf1zxn0zwq','C29Tzq','BMfTzq','q0Hbvf9nt0rfx05px01fu1nbr0vt','lcbvoG','quDftLq','Aw50zxjbz2vUDfrYywnRAw5N','u1rpuf9srvfvrvnuruq','BgvUz3rO','AgfZtwvZC2fNzxm','ihrVB2WGCMvZDwX0CYbIDxqGBM8GBMv3ig1LC3nHz2vZ','tK9FuevoreLor19xt1jl','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Aw50zxjbz2vUDe1LC3nHz2vZ','mJGXnJr4DhblsNi','su5Fufjpr1jfu1m','mJG2nJuYtu1NquvU','otiWohjAywv6BW','Dg90ywW','zNjVBq','qwDLBNqGAgfZia','DMfSDwvZ','AgfZvxnLCK1LC3nHz2vZ','Cgf1C2vKvw50AwW','vu5ltK9xtL9nt0rf','zgvSyxLfBMruAw1L','nJjKEg5ovMi','zMLSDgvY','quDftLqGBw9KzsbHz2vUDcbOyxmGBM8GCgvUzgLUzYb0yxnRCYbVCIbTzxnZywDLCW','seftx1fvrvvfrf9nrvntquDfuW','ywn0AxzL','seftx1vtrvjFtuvtu0fhrvm','DgfZA0XPC3q','mJy5munuvfPPqq','ihvZzxiGBwvZC2fNzsHZksb0BYbWCM9JzxnZ','C3rHDhvZ','Dg9VBfjLC3vSDhm','BwvZC2fNzvf1zxvLCW','Aw5JB21PBMDnzxnZywDLCW','ntK4mtG2nM14AeXJvq','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','mZqXmuXHBfvxrW','Bw9Kzvn0yxrL','mZu5meLcChbOqq','C3rVCfjLCxvLC3rLza','quDftLrFtK9ux0zpvu5e','AxnbCNjHEq','q0Hbva','y291BNrZ','DgfZA3m','nZiYnJi0suXRrNfb','mtu1vgfADMPH','uefvu0ve'];a0_0x5ada=function(){return _0x1f473e;};return a0_0x5ada();}(function(_0x94acfe,_0x2ca42f){const _0x5b91e1=a0_0x292d,_0x329d2f=_0x94acfe();while(!![]){try{const _0x3e0ec1=parseInt(_0x5b91e1(0x1b1))/0x1+-parseInt(_0x5b91e1(0x1bb))/0x2*(parseInt(_0x5b91e1(0x1ca))/0x3)+-parseInt(_0x5b91e1(0x1d3))/0x4+parseInt(_0x5b91e1(0x1d4))/0x5*(-parseInt(_0x5b91e1(0x1ed))/0x6)+parseInt(_0x5b91e1(0x1de))/0x7*(-parseInt(_0x5b91e1(0x1b2))/0x8)+-parseInt(_0x5b91e1(0x1c2))/0x9*(parseInt(_0x5b91e1(0x1cc))/0xa)+parseInt(_0x5b91e1(0x1c8))/0xb;if(_0x3e0ec1===_0x2ca42f)break;else _0x329d2f['push'](_0x329d2f['shift']());}catch(_0x26fe26){_0x329d2f['push'](_0x329d2f['shift']());}}}(a0_0x5ada,0x32a6a));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function hasPendingTasks(_0x59e899){const _0x2f5867=a0_0x292d;if(!_0x59e899[_0x2f5867(0x1c1)]||!_0x59e899[_0x2f5867(0x1c1)]['tasks']||!Array[_0x2f5867(0x1cf)](_0x59e899['taskList']['tasks']))return![];return _0x59e899['taskList'][_0x2f5867(0x1d2)][_0x2f5867(0x1e0)](_0x187016=>_0x187016[_0x2f5867(0x1c4)]===TASK_STATUS['PENDING']||_0x187016['status']===TASK_STATUS[_0x2f5867(0x1ee)]);}function getMessageQueueStatus(_0x19c898){const _0x46e04f=a0_0x292d,_0x4b2293=_0x19c898[_0x46e04f(0x1c6)]||{},_0x33c9ad={'toolResults':Array['isArray'](_0x4b2293['toolResults'])?_0x4b2293['toolResults']['length']:0x0,'interAgentMessages':Array['isArray'](_0x4b2293['interAgentMessages'])?_0x4b2293['interAgentMessages'][_0x46e04f(0x1e7)]:0x0,'userMessages':Array['isArray'](_0x4b2293['userMessages'])?_0x4b2293['userMessages'][_0x46e04f(0x1e7)]:0x0};return _0x33c9ad[_0x46e04f(0x1b3)]=_0x33c9ad[_0x46e04f(0x1c5)]+_0x33c9ad[_0x46e04f(0x1ec)]+_0x33c9ad['userMessages'],{'hasMessages':_0x33c9ad[_0x46e04f(0x1b3)]>0x0,'hasUserMessages':_0x33c9ad['userMessages']>0x0,'hasInterAgentMessages':_0x33c9ad['interAgentMessages']>0x0,'hasToolResults':_0x33c9ad['toolResults']>0x0,'counts':_0x33c9ad};}function hasUnprocessedIncomingMessages(_0x57c32b){const _0x30bc27=a0_0x292d;if(_0x57c32b[_0x30bc27(0x1c7)]&&Array[_0x30bc27(0x1cf)](_0x57c32b['incomingMessages'])&&_0x57c32b['incomingMessages'][_0x30bc27(0x1e7)]>0x0)return!![];if(_0x57c32b['interAgentTracking']&&_0x57c32b['interAgentTracking']instanceof Map&&_0x57c32b[_0x30bc27(0x1e5)]['size']>0x0){const _0x3d3fee=Date[_0x30bc27(0x1dd)]();for(const _0xce3beb of _0x57c32b[_0x30bc27(0x1e5)][_0x30bc27(0x1b6)]()){if(_0xce3beb[_0x30bc27(0x1d6)]&&_0x3d3fee-_0xce3beb['lastReceived']<SCHEDULER_CONFIG[_0x30bc27(0x1dc)]&&_0xce3beb['lastType']==='received')return!![];}}return![];}function isAgentDelayed(_0xe879c9){const _0x327182=a0_0x292d;if(!_0xe879c9[_0x327182(0x1ba)])return![];return new Date()<new Date(_0xe879c9[_0x327182(0x1ba)]);}function isAgentPaused(_0x5029d0){const _0x3cea54=a0_0x292d;if(_0x5029d0[_0x3cea54(0x1c4)]===AGENT_STATUS[_0x3cea54(0x1d5)]){if(_0x5029d0[_0x3cea54(0x1b8)])return new Date()<new Date(_0x5029d0[_0x3cea54(0x1b8)]);return!![];}if(_0x5029d0[_0x3cea54(0x1b8)]&&new Date()<new Date(_0x5029d0[_0x3cea54(0x1b8)]))return!![];return![];}function hasAutonomousWorkComplete(_0x2eac0c){return _0x2eac0c['autonomousWorkComplete']===!![];}export function shouldAgentBeActive(_0x18bca2){const _0x4acd7a=a0_0x292d;if(!_0x18bca2)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1ce)],'details':_0x4acd7a(0x1da)};if(_0x18bca2[_0x4acd7a(0x1c4)]!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_INACTIVE_STATUS'],'details':'Agent\x20status\x20is\x20'+_0x18bca2['status']+_0x4acd7a(0x1d8)+AGENT_STATUS['ACTIVE']};if(isAgentDelayed(_0x18bca2))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':'Agent\x20delayed\x20until\x20'+_0x18bca2['delayEndTime']};if(isAgentPaused(_0x18bca2))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_PAUSED'],'details':_0x18bca2['pausedUntil']?'Agent\x20paused\x20until\x20'+_0x18bca2['pausedUntil']:'Agent\x20paused\x20indefinitely'};if(_0x18bca2['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1e6)],'details':_0x4acd7a(0x1df)};if(_0x18bca2[_0x4acd7a(0x1cb)]===AGENT_MODE_STATES['EXECUTING'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1db)],'details':'Agent\x20is\x20currently\x20executing\x20(modeState=EXECUTING)'};const _0x466afd=getMessageQueueStatus(_0x18bca2);if(_0x18bca2[_0x4acd7a(0x1d7)]===AGENT_MODES[_0x4acd7a(0x1e4)]){const _0x347142=hasPendingTasks(_0x18bca2),unprocessedMessages=hasUnprocessedIncomingMessages(_0x18bca2);if(_0x347142)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x466afd[_0x4acd7a(0x1e8)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1be)],'details':_0x4acd7a(0x1b5)+_0x466afd['counts'][_0x4acd7a(0x1b3)]+'\x20queued\x20messages\x20(T:'+_0x466afd[_0x4acd7a(0x1d1)]['toolResults']+',\x20I:'+_0x466afd['counts'][_0x4acd7a(0x1ec)]+_0x4acd7a(0x1e3)+_0x466afd['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1db)],'details':_0x4acd7a(0x1c9)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1ea)],'details':_0x4acd7a(0x1bd)};}if(_0x18bca2[_0x4acd7a(0x1d7)]===AGENT_MODES[_0x4acd7a(0x1d0)]){if(_0x466afd[_0x4acd7a(0x1b7)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1c0)],'details':_0x4acd7a(0x1b5)+_0x466afd['counts']['userMessages']+_0x4acd7a(0x1c3)};if(_0x466afd['hasInterAgentMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1eb)],'details':_0x4acd7a(0x1b5)+_0x466afd[_0x4acd7a(0x1d1)][_0x4acd7a(0x1ec)]+'\x20inter-agent\x20message(s)\x20to\x20process'};return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1e2)],'details':_0x466afd['hasToolResults']?'CHAT\x20mode\x20-\x20has\x20'+_0x466afd['counts'][_0x4acd7a(0x1c5)]+_0x4acd7a(0x1e9):'CHAT\x20mode\x20-\x20no\x20messages\x20to\x20process'};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x4acd7a(0x1b9)],'details':'Unknown\x20agent\x20mode:\x20'+_0x18bca2[_0x4acd7a(0x1d7)]};}export function getActiveAgents(_0x19872){const _0x474939=a0_0x292d,_0x2def3c=_0x19872 instanceof Map?Array['from'](_0x19872['values']()):_0x19872;return _0x2def3c['map'](_0x4846c3=>{const _0x5c2ed7=shouldAgentBeActive(_0x4846c3);return{'agent':_0x4846c3,'agentId':_0x4846c3['id'],'sessionId':_0x4846c3['sessionId'],..._0x5c2ed7};})[_0x474939(0x1bc)](_0x2fa394=>_0x2fa394['active']);}function a0_0x292d(_0x201a95,_0x1c3fa3){_0x201a95=_0x201a95-0x1b1;const _0x5adaba=a0_0x5ada();let _0x292db7=_0x5adaba[_0x201a95];if(a0_0x292d['kzIQmn']===undefined){var _0x422996=function(_0x45ff3e){const _0x11d1a7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59e899='',_0x187016='';for(let _0x19c898=0x0,_0x4b2293,_0x33c9ad,_0x57c32b=0x0;_0x33c9ad=_0x45ff3e['charAt'](_0x57c32b++);~_0x33c9ad&&(_0x4b2293=_0x19c898%0x4?_0x4b2293*0x40+_0x33c9ad:_0x33c9ad,_0x19c898++%0x4)?_0x59e899+=String['fromCharCode'](0xff&_0x4b2293>>(-0x2*_0x19c898&0x6)):0x0){_0x33c9ad=_0x11d1a7['indexOf'](_0x33c9ad);}for(let _0x3d3fee=0x0,_0xce3beb=_0x59e899['length'];_0x3d3fee<_0xce3beb;_0x3d3fee++){_0x187016+='%'+('00'+_0x59e899['charCodeAt'](_0x3d3fee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x187016);};a0_0x292d['bCPQYW']=_0x422996,a0_0x292d['cmLXNF']={},a0_0x292d['kzIQmn']=!![];}const _0x10485d=_0x5adaba[0x0],_0x2f9ad7=_0x201a95+_0x10485d,_0xcf53f4=a0_0x292d['cmLXNF'][_0x2f9ad7];return!_0xcf53f4?(_0x292db7=a0_0x292d['bCPQYW'](_0x292db7),a0_0x292d['cmLXNF'][_0x2f9ad7]=_0x292db7):_0x292db7=_0xcf53f4,_0x292db7;}export function getAllAgentActivityStatus(_0x287884){const _0xeb0c02=a0_0x292d,_0x171d93=_0x287884 instanceof Map?Array[_0xeb0c02(0x1b4)](_0x287884[_0xeb0c02(0x1b6)]()):_0x287884;return _0x171d93['map'](_0x14498c=>{const _0x10ce96=_0xeb0c02,_0x2048a5=shouldAgentBeActive(_0x14498c),_0x4d81cd=getMessageQueueStatus(_0x14498c);return{'agentId':_0x14498c['id'],'agentName':_0x14498c[_0x10ce96(0x1e1)],'mode':_0x14498c[_0x10ce96(0x1d7)],'status':_0x14498c['status'],'active':_0x2048a5[_0x10ce96(0x1bf)],'reason':_0x2048a5['reason'],'details':_0x2048a5[_0x10ce96(0x1d9)],'queueCounts':_0x4d81cd['counts'],'hasPendingTasks':hasPendingTasks(_0x14498c),'isDelayed':isAgentDelayed(_0x14498c),'isPaused':isAgentPaused(_0x14498c),'stopRequested':_0x14498c[_0x10ce96(0x1cd)]||![],'delayEndTime':_0x14498c[_0x10ce96(0x1ba)]||null,'pausedUntil':_0x14498c['pausedUntil']||null};});}export function shouldSkipIteration(_0x5630f7){const _0xbb50dd=a0_0x292d;if(!_0x5630f7)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x5630f7))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x5630f7['delayEndTime']};if(_0x5630f7[_0xbb50dd(0x1b8)]&&new Date()<new Date(_0x5630f7['pausedUntil']))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x5630f7[_0xbb50dd(0x1b8)]};return{'skip':![],'reason':null};}export{hasPendingTasks,getMessageQueueStatus,hasUnprocessedIncomingMessages,isAgentDelayed,isAgentPaused,hasAutonomousWorkComplete};export default{'shouldAgentBeActive':shouldAgentBeActive,'getActiveAgents':getActiveAgents,'getAllAgentActivityStatus':getAllAgentActivityStatus,'shouldSkipIteration':shouldSkipIteration,'hasPendingTasks':hasPendingTasks,'getMessageQueueStatus':getMessageQueueStatus,'hasUnprocessedIncomingMessages':hasUnprocessedIncomingMessages,'isAgentDelayed':isAgentDelayed,'isAgentPaused':isAgentPaused,'hasAutonomousWorkComplete':hasAutonomousWorkComplete};
@@ -1 +1 @@
1
- const a0_0x58e07c=a0_0x524b;function a0_0x1aa9(){const _0x2a2048=['uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','C3rHDhvZvgv4Da','Bw9KzwW','Aw5MBW','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','qu5usfjpueLdx09qvvm','ChjVBxb0','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','z2v0s2v5C0zVCLjLCxvLC3q','zgvIDwC','x3n1Bw1HCML6zu1LC3nHz2vZ','CxvHBgL0Eq','CgHP','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','C3rYAw5N','qu5usfjpueLd','x2nOzwnRtw9KzwXizwfSDgG','qKfex0DbvevxqvK','tM8GqvbjigTLEsbJB25MAwD1CMvK','Aw5JBhvKzxm','z2v0qwDLBNq','DhjHy2TvC2fNzq','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','t1bftKfj','y2LYy3vPDejYzwfRzxi','Aw1Nlq','C3r5Bgu','B3b0Aw9UCW','yw50AhjVCgLJ','zxjYB3iT','mZK5nZe0nKXRDgDTvq','BM93','mJy0ndmWB1HJB3fg','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','x2zVCM1HDfnPBMDSzu1LC3nHz2u','CgXHDgzVCM1qCM92AwrLza','C3rYAw5NAwz5','ue9tva','yNvKz2v0u2vYDMLJzq','y29UDgvUDa','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','qMvHCMvYia','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','sw1Hz2uGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','x2zVCM1HDezVCKfUDgHYB3bPyW','x21HA2vbueLszxf1zxn0','x2DLDfzLBMrVCKzYB21nB2rLBa','mtaWBMjpshPM','zMfPBhvYzxm','yxbPs2v5','y3jLyxrLza','DgLTzxn0yw1W','Dg90ywXFDg9Rzw5Z','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','yxP1CMuTB3bLBMfPlwrHBgXLmW','ChjVDMLKzxi','C3bLzwq','y29Kzq','Bg9Nz2vY','revfufnfruTFuJe','Cg93','qu5usfjpueLdx0HbsuTv','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','uMf0zsbSAw1PDcbLEgnLzwrLza','ndjRB3LnAfa','uMv0CNLPBMCGAw4G','qvPvuKu','ic0G','su5urvjoquXFu0vsvKvsx0vsuK9s','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','ntiYtfHQCgHX','x21HA2vjBwfNzufqsvjLCxvLC3q','ChjLzMvYCMvKtw9KzwW','DxjS','mte2nti4mgLMtvzZtq','y3vZDg9TqxbPs2v5CW','C3vTBwfYEq','y2XHC3nPzNLfCNjVCG','Dw5ZAgLMDa','AgvHBhrOEq','Aw1Hz2vZ','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','CMfUzg9T','AxnpCgvU','sfruuca','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','C3LZDgvT','Dg9ju09tDhjPBMC','C3rHDhvZ','vw5RBM93BIbTB2rLBdOG','C3rHBMrHCMq','zMfZDa','yMfJA2vUza','BwvZC2fNzq','zxjYB3jiyw5KBgvY','BwvZC2fNzxm','BgvUz3rO','zxjYB3i','DxnHz2u','ndq3mdiWnwzZB2zvyW','nZq0ntq5nKDxtvjYCG','Ahr0Chm6lY9HCgKUBg94AweUywK','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','BgfZDezHAwX1CMvuAw1L','Bwf4x3rVA2vUCW','sw52ywXPzcbTB2rLBdOG','revfufnfruS','DxnLCG','zgf0yq','quKGC2vYDMLJzsbLCNjVCJOG','DMvUzg9YqxbPs2v5','C3rHy2S','AgvHBhrOlwnOzwnR','x2zVCM1HDezVCKf6DxjL','yMfZzvvYBa','u3LZDgvToIa','D2fYBG','CMv0CNLbDhrLBxb0CW','x3jLC2v0q2LYy3vPDejYzwfRzxi','ANnVBG','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGquKGC2vYDMLJzq','C2v0qxbPs2v5twfUywDLCG','C3rVCa','ywDLBNrjza','x3rYDw5JyxrLtwvZC2fNzq','ywDLBNrqB29S','Bw9KzwXtCgvJCW','x2vZDgLTyxrLvg9Rzw5Z','zgvLChnLzwS','mZe3n3nlvvHqtG','yxbWBgLJyxrPB24VANnVBG','CM9Szq','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','z3b0','AxnbCNjHEq','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','AgfUzgXLshr0CevYCM9Y','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','C3rYzwfT','C3vIC3rY','yxbPs2v5twfUywDLCG','y29UzMLN','C2L6zq','DgLTzw91Da','tK9ux0zpvu5e','yxnZAxn0yw50','yJy0x2PZB24','C2vZC2LVBKLK','BwfW','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','CMf0zuXPBwL0zxjZ','DgHYzxnOB2XK','ueHj','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','x3jLy29YzezHAwX1CMu','y2HVAwnLCW','x2zVCM1HDezVCK9Wzw5bsq','uMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','odi0odeYEKXquNf1'];a0_0x1aa9=function(){return _0x2a2048;};return a0_0x1aa9();}(function(_0x2a3bdc,_0x159a24){const _0x4af759=a0_0x524b,_0x1ba77b=_0x2a3bdc();while(!![]){try{const _0x4844cf=-parseInt(_0x4af759(0xd8))/0x1*(parseInt(_0x4af759(0x125))/0x2)+parseInt(_0x4af759(0x114))/0x3+-parseInt(_0x4af759(0xf5))/0x4+parseInt(_0x4af759(0x15a))/0x5+parseInt(_0x4af759(0x15b))/0x6+parseInt(_0x4af759(0x136))/0x7*(-parseInt(_0x4af759(0x141))/0x8)+-parseInt(_0x4af759(0x13d))/0x9*(parseInt(_0x4af759(0x116))/0xa);if(_0x4844cf===_0x159a24)break;else _0x1ba77b['push'](_0x1ba77b['shift']());}catch(_0xafc03e){_0x1ba77b['push'](_0x1ba77b['shift']());}}}(a0_0x1aa9,0xa9968));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x524b(_0x540b8f,_0x3b3d12){_0x540b8f=_0x540b8f-0xc6;const _0x1aa958=a0_0x1aa9();let _0x524b4a=_0x1aa958[_0x540b8f];if(a0_0x524b['rEgDfb']===undefined){var _0x4936da=function(_0x525d7f){const _0x506d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3101f8='',_0x56d469='';for(let _0x559853=0x0,_0x31b886,_0x4d5949,_0x41d219=0x0;_0x4d5949=_0x525d7f['charAt'](_0x41d219++);~_0x4d5949&&(_0x31b886=_0x559853%0x4?_0x31b886*0x40+_0x4d5949:_0x4d5949,_0x559853++%0x4)?_0x3101f8+=String['fromCharCode'](0xff&_0x31b886>>(-0x2*_0x559853&0x6)):0x0){_0x4d5949=_0x506d73['indexOf'](_0x4d5949);}for(let _0x5c55bf=0x0,_0x113139=_0x3101f8['length'];_0x5c55bf<_0x113139;_0x5c55bf++){_0x56d469+='%'+('00'+_0x3101f8['charCodeAt'](_0x5c55bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56d469);};a0_0x524b['QnKeyS']=_0x4936da,a0_0x524b['eDqYPy']={},a0_0x524b['rEgDfb']=!![];}const _0x3aa58b=_0x1aa958[0x0],_0x5290c6=_0x540b8f+_0x3aa58b,_0x2c8340=a0_0x524b['eDqYPy'][_0x5290c6];return!_0x2c8340?(_0x524b4a=a0_0x524b['QnKeyS'](_0x524b4a),a0_0x524b['eDqYPy'][_0x5290c6]=_0x524b4a):_0x524b4a=_0x2c8340,_0x524b4a;}class AIService{constructor(_0x3101f8,_0x56d469,_0x559853,_0x31b886){const _0x1df78a=a0_0x524b;this[_0x1df78a(0xe4)]=_0x3101f8,this['logger']=_0x56d469,this['budgetService']=_0x559853,this[_0x1df78a(0x155)]=_0x31b886,this[_0x1df78a(0xc9)]=_0x3101f8[_0x1df78a(0x153)]?.[_0x1df78a(0xc9)]||_0x1df78a(0x15c),this['timeout']=_0x3101f8[_0x1df78a(0x153)]?.[_0x1df78a(0xe6)]||0xea60,this['retryAttempts']=_0x3101f8['backend']?.['retryAttempts']||0x3,this[_0x1df78a(0xed)]=new Map(),this['requestQueue']=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this[_0x1df78a(0x120)](),this['conversationManagers']=new Map(),this['apiKeyManager']=null,this[_0x1df78a(0xd4)]=null;}async['sendMessage'](_0x4d5949,_0x41d219,_0x5c55bf={}){const _0x477f6f=a0_0x524b,_0x113139='req-'+Date[_0x477f6f(0x115)]()+'-'+Math[_0x477f6f(0x149)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x4d5949);const _0x288356=this['_formatMessagesForModel'](_0x41d219,_0x4d5949,_0x5c55bf),_0x1a07ee={'model':_0x4d5949,'messages':_0x288356,'options':{'max_tokens':this[_0x477f6f(0xd5)][_0x4d5949]?.['maxTokens']||0xfa0,'temperature':_0x5c55bf['temperature']||0.7,'stream':_0x5c55bf[_0x477f6f(0xe1)]||![]},'metadata':{'requestId':_0x113139,'agentId':_0x5c55bf['agentId'],'timestamp':new Date()[_0x477f6f(0x14e)]()}};_0x5c55bf['systemPrompt']&&(_0x1a07ee[_0x477f6f(0x14d)]=_0x5c55bf['systemPrompt']);this[_0x477f6f(0x130)][_0x477f6f(0xf9)](_0x477f6f(0x10c)+_0x4d5949,{'requestId':_0x113139,'agentId':_0x5c55bf['agentId'],'messageCount':Array[_0x477f6f(0xdd)](_0x41d219)?_0x41d219['length']:0x1,'maxTokens':_0x1a07ee[_0x477f6f(0x15f)]});const _0x309ba7=await this['_makeAPIRequest']('/chat/completions',_0x1a07ee,_0x113139,{..._0x5c55bf,'sessionId':_0x5c55bf[_0x477f6f(0xea)],'platformProvided':_0x5c55bf['platformProvided']||![]});return _0x309ba7['usage']&&await this[_0x477f6f(0x10b)](_0x5c55bf['agentId'],_0x4d5949,{'prompt_tokens':_0x309ba7['usage']['prompt_tokens']||0x0,'completion_tokens':_0x309ba7['usage']['completion_tokens']||0x0,'total_tokens':_0x309ba7[_0x477f6f(0x159)][_0x477f6f(0x12a)]||0x0}),this[_0x477f6f(0xcd)](),{'content':_0x309ba7[_0x477f6f(0xf2)][0x0]?.['message']?.['content']||'','model':_0x309ba7[_0x477f6f(0xf8)],'tokenUsage':_0x309ba7['usage'],'requestId':_0x113139,'finishReason':_0x309ba7['choices'][0x0]?.['finish_reason']};}catch(_0x2984ce){this['_recordFailure'](),this['logger']['error'](_0x477f6f(0x13c)+_0x2984ce['message'],{'requestId':_0x113139,'model':_0x4d5949,'agentId':_0x5c55bf['agentId'],'error':_0x2984ce[_0x477f6f(0xc6)]}),await this[_0x477f6f(0xdf)](_0x2984ce,{'requestId':_0x113139,'model':_0x4d5949,'agentId':_0x5c55bf['agentId']});throw _0x2984ce;}}async['routeModel'](_0x80dc2b,_0x1b3937={}){const _0x126c28=a0_0x524b;try{const _0x315852=MODEL_ROUTING[_0x80dc2b['toUpperCase']()]||MODEL_ROUTING['FALLBACK'],_0x36cd01=[];for(const _0x4329cf of _0x315852){const _0xcf69f9=await this[_0x126c28(0x106)](_0x4329cf);_0xcf69f9&&_0x36cd01['push'](_0x4329cf);}if(_0x36cd01['length']===0x0)return this['logger']['warn'](_0x126c28(0xde)+_0x80dc2b+',\x20using\x20fallback'),MODEL_ROUTING['FALLBACK'][0x0];let _0x5856a5=_0x36cd01[0x0];if(_0x1b3937['preferredModel']&&_0x36cd01['includes'](_0x1b3937['preferredModel']))_0x5856a5=_0x1b3937[_0x126c28(0x13f)];else{if(_0x1b3937['complexity']==='high'&&_0x36cd01[_0x126c28(0x109)](MODELS[_0x126c28(0xfb)]))_0x5856a5=MODELS['ANTHROPIC_OPUS'];else _0x1b3937[_0x126c28(0x12e)]===_0x126c28(0x152)&&_0x36cd01[_0x126c28(0x109)](MODELS[_0x126c28(0x133)])&&(_0x5856a5=MODELS[_0x126c28(0x133)]);}return this['logger']['info'](_0x126c28(0xf0)+_0x80dc2b,{'selectedModel':_0x5856a5,'availableModels':_0x36cd01['length'],'context':_0x1b3937}),_0x5856a5;}catch(_0x541b3e){return this['logger']['error']('Model\x20routing\x20failed:\x20'+_0x541b3e['message'],{'task':_0x80dc2b,'context':_0x1b3937}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x5b8049,_0x5d4920){const _0x1b803c=a0_0x524b,_0x13ec4e=this['modelSpecs'][_0x5d4920];if(!_0x13ec4e)throw new Error(_0x1b803c(0x150)+_0x5d4920);const _0x983b51=_0x13ec4e['contextWindow']*0.8;let _0x1e844d=0x0;const _0x30a591=[],_0x3beecd=await Promise['all'](_0x5b8049[_0x1b803c(0xeb)](async _0x7b8ce5=>({..._0x7b8ce5,'estimatedTokens':await this[_0x1b803c(0xd6)](_0x7b8ce5[_0x1b803c(0x11d)],_0x5d4920)}))),_0x4f849b=[..._0x3beecd]['reverse']();for(const _0x355c43 of _0x4f849b){if(_0x1e844d+_0x355c43['estimatedTokens']>_0x983b51){if(_0x30a591['length']===0x0){const _0x4c1b4d=await this[_0x1b803c(0xd3)](_0x355c43['content'],_0x983b51);_0x30a591[_0x1b803c(0x145)]({..._0x355c43,'content':_0x4c1b4d,'estimatedTokens':_0x983b51});}break;}_0x30a591[_0x1b803c(0x145)](_0x355c43),_0x1e844d+=_0x355c43['estimatedTokens'];}const _0xaffa53=_0x3beecd['slice'](0x0,-_0x30a591[_0x1b803c(0x157)]);if(_0xaffa53[_0x1b803c(0x157)]>0x0){const _0x160a6a=await this[_0x1b803c(0x100)](_0xaffa53,_0x5d4920);_0x30a591['unshift']({'role':_0x1b803c(0x14d),'content':'Previous\x20conversation\x20summary:\x20'+_0x160a6a,'timestamp':_0xaffa53[0x0][_0x1b803c(0x129)],'type':_0x1b803c(0x143),'estimatedTokens':await this[_0x1b803c(0xd6)](_0x160a6a,_0x5d4920)});}return this['logger'][_0x1b803c(0xf9)]('Conversation\x20compactized\x20for\x20model:\x20'+_0x5d4920,{'originalMessages':_0x5b8049['length'],'compactizedMessages':_0x30a591['length'],'estimatedTokens':_0x1e844d,'maxTokens':_0x983b51}),_0x30a591;}async['trackUsage'](_0x78ab37,_0x19eae6,_0x276f84,_0x5f5e7c){const _0x31ba7a=a0_0x524b;try{this[_0x31ba7a(0x11c)]&&this['budgetService']['trackUsage'](_0x78ab37,_0x19eae6,_0x276f84);}catch(_0x4f6922){this[_0x31ba7a(0x130)]['error']('Usage\x20tracking\x20failed:\x20'+_0x4f6922[_0x31ba7a(0x154)]);}}async['handleHttpError'](_0xb20ad5,_0x19cec2){const _0x4712aa=a0_0x524b,_0x5d696c=this[_0x4712aa(0x155)]?.[_0x4712aa(0x144)]?.(_0xb20ad5,_0x19cec2);switch(_0xb20ad5[_0x4712aa(0x14f)]||_0xb20ad5[_0x4712aa(0x12f)]){case HTTP_STATUS['BAD_REQUEST']:this['logger'][_0x4712aa(0x158)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x19cec2,'error':_0xb20ad5['message']});throw new Error('Invalid\x20request:\x20'+_0xb20ad5[_0x4712aa(0x154)]);case HTTP_STATUS['UNAUTHORIZED']:this['logger'][_0x4712aa(0x158)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x19cec2});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error']('Access\x20forbidden\x20to\x20AI\x20service',{'context':_0x19cec2});throw new Error(_0x4712aa(0xec));case HTTP_STATUS[_0x4712aa(0xe7)]:this['logger'][_0x4712aa(0x158)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x19cec2});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x4712aa(0x130)]['warn'](_0x4712aa(0x135),{'context':_0x19cec2}),await this['_handleRateLimit'](_0x19cec2);throw new Error(_0x4712aa(0xf6));case HTTP_STATUS[_0x4712aa(0x13a)]:case HTTP_STATUS[_0x4712aa(0x107)]:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS['GATEWAY_TIMEOUT']:this[_0x4712aa(0x130)][_0x4712aa(0x158)](_0x4712aa(0x11e),{'context':_0x19cec2,'status':_0xb20ad5['status']}),await this[_0x4712aa(0x12b)](_0x19cec2);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x4712aa(0x130)]['error']('Unknown\x20AI\x20service\x20error',{'context':_0x19cec2,'error':_0xb20ad5['message']});throw new Error(_0x4712aa(0x164)+_0xb20ad5[_0x4712aa(0x154)]);}}[a0_0x58e07c(0xd0)](_0x2779e2){const _0xd30e29=a0_0x58e07c;this['apiKeyManager']=_0x2779e2,this[_0xd30e29(0x130)]?.['info'](_0xd30e29(0xcf),{'hasManager':!!_0x2779e2});}['setAgentPool'](_0x3f66df){const _0x30af80=a0_0x58e07c;this['agentPool']=_0x3f66df,this[_0x30af80(0x130)]?.[_0x30af80(0xf9)]('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x3f66df});}async['generateImage'](_0x46560a,_0x25f103={}){const _0x2fa17b=a0_0x58e07c,_0x4a261d=_0x2fa17b(0x10f)+Date['now']()+'-'+Math[_0x2fa17b(0x149)]()['toString'](0x24)[_0x2fa17b(0xe2)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x46560a||typeof _0x46560a!==_0x2fa17b(0x104)||_0x46560a['trim']()[_0x2fa17b(0x157)]===0x0)throw new Error('Image\x20generation\x20requires\x20a\x20non-empty\x20text\x20prompt');const _0x4b0f0e=_0x25f103['model']||'flux-1.1-pro',_0x473fe3=_0x25f103[_0x2fa17b(0xe5)]||'1024x1024',_0x3a3b7a=_0x25f103[_0x2fa17b(0x101)]||_0x2fa17b(0x151),_0x43e10b=_0x25f103['responseFormat']||_0x2fa17b(0x140);this[_0x2fa17b(0x130)][_0x2fa17b(0xf9)]('Generating\x20image\x20with\x20model:\x20'+_0x4b0f0e,{'requestId':_0x4a261d,'model':_0x4b0f0e,'size':_0x473fe3,'quality':_0x3a3b7a,'promptLength':_0x46560a['length']});const _0x2ac027={'prompt':_0x46560a,'model':_0x4b0f0e,'size':_0x473fe3,'quality':_0x3a3b7a,'response_format':_0x43e10b,'n':0x1,'metadata':{'requestId':_0x4a261d,'timestamp':new Date()[_0x2fa17b(0x14e)]()}},_0x44caa8=await this[_0x2fa17b(0x13e)](_0x2ac027,_0x4a261d,{'sessionId':_0x25f103['sessionId'],'platformProvided':_0x25f103[_0x2fa17b(0x119)]||![]});return this['_resetCircuitBreaker'](),{'url':_0x44caa8['data']?.[0x0]?.['url']||null,'b64_json':_0x44caa8[_0x2fa17b(0x163)]?.[0x0]?.[_0x2fa17b(0xe9)]||null,'model':_0x44caa8['model']||_0x4b0f0e,'requestId':_0x4a261d,'revisedPrompt':_0x44caa8[_0x2fa17b(0x163)]?.[0x0]?.['revised_prompt']||_0x46560a};}catch(_0x292984){this[_0x2fa17b(0xf1)](),this['logger']['error']('Image\x20generation\x20failed:\x20'+_0x292984['message'],{'requestId':_0x4a261d,'model':_0x25f103['model'],'error':_0x292984[_0x2fa17b(0xc6)]});throw _0x292984;}}async['checkServiceHealth'](){const _0x4d44db=a0_0x58e07c;try{const _0xbbc62d=await this[_0x4d44db(0x123)]('/health',{},_0x4d44db(0xc7));return _0xbbc62d[_0x4d44db(0x14f)]===_0x4d44db(0x146);}catch(_0x42094d){return![];}}async['switchAgentModel'](_0x4fcf6e,_0x553903){const _0x2b9b53=a0_0x58e07c;try{if(!this['_isValidModel'](_0x553903))throw new Error(_0x2b9b53(0x160)+_0x553903);let _0x2959a5=this['conversationManagers']['get'](_0x4fcf6e);!_0x2959a5&&(_0x2959a5=new ConversationManager(_0x4fcf6e,this['logger']),this['conversationManagers']['set'](_0x4fcf6e,_0x2959a5));const _0x32585f=await _0x2959a5['switchModel'](_0x553903),_0x47b347=await this[_0x2b9b53(0xd4)]?.[_0x2b9b53(0x10a)](_0x4fcf6e);return _0x47b347&&(_0x47b347['currentModel']=_0x553903,await this['agentPool']['persistAgentState'](_0x4fcf6e)),this['logger'][_0x2b9b53(0xf9)](_0x2b9b53(0x117)+_0x4fcf6e,{'newModel':_0x553903,'messageCount':_0x32585f[_0x2b9b53(0x156)]['length']}),{'success':!![],'agentId':_0x4fcf6e,'newModel':_0x553903,'conversation':_0x32585f};}catch(_0x49095b){this[_0x2b9b53(0x130)][_0x2b9b53(0x158)]('Model\x20switch\x20failed:\x20'+_0x49095b[_0x2b9b53(0x154)],{'agentId':_0x4fcf6e,'newModel':_0x553903});throw _0x49095b;}}[a0_0x58e07c(0x120)](){const _0x4e4a5f=a0_0x58e07c,_0x42e6fd={[MODELS['ANTHROPIC_SONNET']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x4e4a5f(0xfb)]]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x105)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x105)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'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[_0x4e4a5f(0x10d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x4e4a5f(0x131)]]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x161)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS['PHI_4']]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0xef)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':_0x4e4a5f(0x138),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':'AZURE','contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x42e6fd;}['_formatMessagesForModel'](_0x71007b,_0x34fef1,_0x280e1b){const _0x4da3e8=a0_0x58e07c,_0x581c43=this['modelSpecs'][_0x34fef1]||{'provider':'AZURE'};let _0x23c971;typeof _0x71007b===_0x4da3e8(0x104)?_0x23c971=[{'role':_0x4da3e8(0x162),'content':_0x71007b}]:_0x23c971=_0x71007b[_0x4da3e8(0xeb)](_0xa380b0=>this['_formatSingleMessage'](_0xa380b0,_0x34fef1));switch(_0x581c43[_0x4da3e8(0x12d)]){case MODEL_PROVIDERS['ANTHROPIC']:return this[_0x4da3e8(0x122)](_0x23c971);case MODEL_PROVIDERS['OPENAI']:return this[_0x4da3e8(0xf3)](_0x23c971);case MODEL_PROVIDERS['AZURE']:return this[_0x4da3e8(0xc8)](_0x23c971);default:return _0x23c971;}}[a0_0x58e07c(0x118)](_0x3d34a0,_0x2346fa){const _0x19056b=a0_0x58e07c;return{'role':_0x3d34a0[_0x19056b(0xda)]||'user','content':_0x3d34a0[_0x19056b(0x11d)],'timestamp':_0x3d34a0[_0x19056b(0x129)]};}['_formatForAnthropic'](_0x2db566){return _0x2db566['map'](_0x5be645=>{const _0x15b70e=a0_0x524b;if(_0x5be645[_0x15b70e(0xda)]===_0x15b70e(0x14d))return{'role':_0x15b70e(0x162),'content':_0x15b70e(0xca)+_0x5be645['content']};return _0x5be645;});}[a0_0x58e07c(0xf3)](_0x5f3215){return _0x5f3215;}['_formatForAzure'](_0x42c5cd){const _0x35f388=a0_0x58e07c;return _0x42c5cd[_0x35f388(0xeb)](_0x59b587=>({..._0x59b587,'content':typeof _0x59b587['content']===_0x35f388(0x104)?_0x59b587['content']:JSON['stringify'](_0x59b587['content'])}));}['_isValidModel'](_0x2a53e5){const _0x218ee8=a0_0x58e07c;this[_0x218ee8(0x130)][_0x218ee8(0xff)]('Validating\x20model',{'model':_0x2a53e5,'modelType':typeof _0x2a53e5});if(this['modelSpecs'][_0x2a53e5]!==undefined)return!![];return this['logger']['warn']('Model\x20validation\x20failed',{'model':_0x2a53e5,'availableModels':Object['keys'](this['modelSpecs'])}),![];}async['_checkModelHealth'](_0x34e6bb){return!![];}async[a0_0x58e07c(0xd6)](_0x5d45dc,_0x286f9c){const _0x5437e3=a0_0x58e07c;return Math['ceil'](_0x5d45dc[_0x5437e3(0x157)]/0x4);}async[a0_0x58e07c(0xd3)](_0x30d706,_0x4d86ad){const _0x4aa58f=a0_0x58e07c,_0x2b8566=_0x4d86ad*0x4;if(_0x30d706['length']<=_0x2b8566)return _0x30d706;return _0x30d706['substring'](0x0,_0x2b8566-0x14)+_0x4aa58f(0x13b);}async['_summarizeMessages'](_0x37b455,_0x302980){const _0x1df728=a0_0x58e07c,_0x22f311=_0x37b455[_0x1df728(0xeb)](_0x350f40=>_0x350f40[_0x1df728(0xda)]+':\x20'+_0x350f40[_0x1df728(0x11d)])['join']('\x0a'),_0x8d4029=0x1f4;if(_0x22f311['length']<=_0x8d4029)return _0x22f311;return _0x22f311['substring'](0x0,_0x8d4029)+'...\x20[conversation\x20summary\x20truncated]';}async[a0_0x58e07c(0x123)](_0x23be5d,_0x37919d,_0x596390,_0x1941ac={}){const _0x273bf8=a0_0x58e07c,_0xacdf81='https://autopilot-api.azurewebsites.net/llm/chat';let _0x434462,_0x48988d=null,_0x34a639=null;this[_0x273bf8(0x130)]?.['info'](_0x273bf8(0x148),{'hasApiKeyManager':!!this[_0x273bf8(0xe3)],'sessionId':_0x1941ac[_0x273bf8(0xea)],'hasSessionId':!!_0x1941ac[_0x273bf8(0xea)],'optionsKeys':Object['keys'](_0x1941ac),'model':_0x37919d['model']});if(this[_0x273bf8(0xe3)]&&_0x1941ac['sessionId']){const _0x2e92b2=this[_0x273bf8(0xe3)][_0x273bf8(0xfe)](_0x1941ac['sessionId'],{'platformProvided':_0x1941ac[_0x273bf8(0x119)]||![],'vendor':this[_0x273bf8(0x124)](_0x37919d[_0x273bf8(0xf8)])});_0x48988d=_0x2e92b2['loxiaApiKey'],_0x34a639=_0x2e92b2[_0x273bf8(0x165)],this['logger']?.[_0x273bf8(0xff)]('Retrieved API keys from session manager',{'sessionId':_0x1941ac['sessionId'],'hasLoxiaKey':!!_0x48988d,'hasVendorKey':!!_0x34a639,'vendor':this['_getVendorFromModel'](_0x37919d[_0x273bf8(0xf8)])});}!_0x48988d&&_0x1941ac[_0x273bf8(0x127)]&&(_0x48988d=_0x1941ac[_0x273bf8(0x127)]);!_0x48988d&&this[_0x273bf8(0xe4)]['apiKey']&&(_0x48988d=this[_0x273bf8(0xe4)]['apiKey']);if(!_0x48988d)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x16a943=_0x37919d[_0x273bf8(0xf8)],_0x478eb5={'conversationId':_0x596390,'message':_0x37919d[_0x273bf8(0x156)][_0x37919d['messages']['length']-0x1]?.['content']||'','messages':_0x37919d['messages'],'model':_0x16a943,'requestId':_0x596390,'options':_0x37919d[_0x273bf8(0x111)]||{},'platformProvided':_0x1941ac['platformProvided']||![]};_0x37919d[_0x273bf8(0x14d)]&&(_0x478eb5['systemPrompt']=_0x37919d['system']);_0x1941ac[_0x273bf8(0x119)]?_0x478eb5[_0x273bf8(0x127)]=_0x48988d:(_0x34a639&&(_0x478eb5[_0x273bf8(0x165)]=_0x34a639),_0x1941ac['customApiKeys']&&(_0x478eb5[_0x273bf8(0x142)]=_0x1941ac[_0x273bf8(0x142)]),_0x478eb5[_0x273bf8(0x127)]=_0x48988d);for(let _0x2e97bb=0x1;_0x2e97bb<=this[_0x273bf8(0xcc)];_0x2e97bb++){try{this[_0x273bf8(0x130)][_0x273bf8(0xf9)]('Making\x20request\x20to\x20Azure\x20backend',{'url':_0xacdf81,'model':_0x37919d['model'],'requestId':_0x596390,'attempt':_0x2e97bb,'hasApiKey':!!_0x48988d});const _0xa07066=await fetch(_0xacdf81,{'method':_0x273bf8(0x11b),'headers':{'Content-Type':'application/json','Authorization':_0x273bf8(0x11f)+_0x48988d,'X-Request-ID':_0x596390},'body':JSON['stringify'](_0x478eb5),'timeout':this['timeout']});if(!_0xa07066['ok']){const _0x33c69e=await _0xa07066['text'](),_0x25feea=new Error('HTTP\x20'+_0xa07066[_0x273bf8(0x14f)]+':\x20'+_0xa07066[_0x273bf8(0xf7)]+(_0x33c69e?'\x20-\x20'+_0x33c69e:''));_0x25feea[_0x273bf8(0x14f)]=_0xa07066[_0x273bf8(0x14f)];throw _0x25feea;}const _0x3883b2=await _0xa07066[_0x273bf8(0xce)]();return{'choices':[{'message':{'content':_0x3883b2[_0x273bf8(0x11d)]||'','role':_0x273bf8(0xe8)},'finish_reason':_0x3883b2['finishReason']||_0x273bf8(0xd1)}],'usage':_0x3883b2[_0x273bf8(0x159)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x3883b2['model']||_0x37919d[_0x273bf8(0xf8)],'id':_0x3883b2['requestId']||_0x596390};}catch(_0x4f0d05){_0x434462=_0x4f0d05,this['logger'][_0x273bf8(0xcb)](_0x273bf8(0xf4),{'attempt':_0x2e97bb,'requestId':_0x596390,'error':_0x4f0d05['message'],'status':_0x4f0d05[_0x273bf8(0x14f)]});if(_0x2e97bb<this[_0x273bf8(0xcc)]){const _0x3d5240=Math[_0x273bf8(0x132)](0x2,_0x2e97bb)*0x3e8;this[_0x273bf8(0x130)]['warn'](_0x273bf8(0x137)+_0x3d5240+'ms',{'attempt':_0x2e97bb,'requestId':_0x596390}),await new Promise(_0x3bae16=>setTimeout(_0x3bae16,_0x3d5240));}}}this[_0x273bf8(0x130)][_0x273bf8(0x158)]('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x596390,'error':_0x434462['message']});const _0x7825c5=_0x434462[_0x273bf8(0x154)]&&_0x434462['message'][_0x273bf8(0x109)](_0x273bf8(0x108));if(_0x7825c5)throw new Error(_0x273bf8(0xe0)+_0x434462[_0x273bf8(0x154)]);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x434462['message'],'role':_0x273bf8(0xe8)},'finish_reason':_0x273bf8(0xd1)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x37919d['model'],'id':_0x273bf8(0x113)+_0x596390,'error':_0x434462[_0x273bf8(0x154)]};}async['_makeImageAPIRequest'](_0x23794c,_0x2206c1,_0x422194={}){const _0x4d8435=a0_0x58e07c,_0x58d14b=_0x4d8435(0x134);let _0x599303,_0x14529b=null,_0x16bbf8=null;this[_0x4d8435(0x130)]?.[_0x4d8435(0xf9)](_0x4d8435(0xfd),{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x422194['sessionId'],'hasSessionId':!!_0x422194['sessionId'],'model':_0x23794c[_0x4d8435(0xf8)]});if(this[_0x4d8435(0xe3)]&&_0x422194[_0x4d8435(0xea)]){const _0x189b12=this['apiKeyManager']['getKeysForRequest'](_0x422194['sessionId'],{'platformProvided':_0x422194['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0x23794c[_0x4d8435(0xf8)])});_0x14529b=_0x189b12['loxiaApiKey'],_0x16bbf8=_0x189b12['vendorApiKey'],this[_0x4d8435(0x130)]?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x422194['sessionId'],'hasLoxiaKey':!!_0x14529b,'hasVendorKey':!!_0x16bbf8});}!_0x14529b&&_0x422194[_0x4d8435(0x127)]&&(_0x14529b=_0x422194['apiKey']);!_0x14529b&&this['config'][_0x4d8435(0x127)]&&(_0x14529b=this[_0x4d8435(0xe4)]['apiKey']);if(!_0x14529b)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x537ee8={'prompt':_0x23794c[_0x4d8435(0xfc)],'model':_0x23794c[_0x4d8435(0xf8)]||_0x4d8435(0x12c),'size':_0x23794c['size'],'quality':_0x23794c[_0x4d8435(0x101)],'style':_0x23794c[_0x4d8435(0x110)]||'vivid','n':_0x23794c['n']||0x1,'requestId':_0x2206c1};for(let _0x401261=0x1;_0x401261<=this['retryAttempts'];_0x401261++){try{this[_0x4d8435(0x130)][_0x4d8435(0xf9)]('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x58d14b,'model':_0x23794c['model'],'requestId':_0x2206c1,'attempt':_0x401261,'hasApiKey':!!_0x14529b});const _0x405333=await fetch(_0x58d14b,{'method':'POST','headers':{'Content-Type':_0x4d8435(0xd9),'Authorization':'Bearer\x20'+_0x14529b,'X-Request-ID':_0x2206c1},'body':JSON[_0x4d8435(0x11a)](_0x537ee8),'timeout':this[_0x4d8435(0xe6)]*0x2});if(!_0x405333['ok']){const _0x499801=await _0x405333['text'](),_0x2b54d0=new Error(_0x4d8435(0x14b)+_0x405333['status']+':\x20'+_0x405333['statusText']+(_0x499801?_0x4d8435(0x139)+_0x499801:''));_0x2b54d0['status']=_0x405333['status'];throw _0x2b54d0;}const _0x2962ad=await _0x405333[_0x4d8435(0xce)]();return{'data':_0x2962ad[_0x4d8435(0x147)]||[],'model':_0x2962ad['model']||_0x23794c[_0x4d8435(0xf8)],'created':_0x2962ad[_0x4d8435(0x128)]||Date[_0x4d8435(0x115)](),'usage':_0x2962ad['usage']};}catch(_0x2289be){_0x599303=_0x2289be,this['logger'][_0x4d8435(0xcb)](_0x4d8435(0x121),{'attempt':_0x401261,'requestId':_0x2206c1,'error':_0x2289be[_0x4d8435(0x154)],'status':_0x2289be[_0x4d8435(0x14f)]});if(_0x401261<this['retryAttempts']){const _0x4eeacf=Math['pow'](0x2,_0x401261)*0x3e8;this['logger']['warn']('Retrying\x20in\x20'+_0x4eeacf+'ms',{'attempt':_0x401261,'requestId':_0x2206c1}),await new Promise(_0x59c91e=>setTimeout(_0x59c91e,_0x4eeacf));}}}this['logger'][_0x4d8435(0x158)](_0x4d8435(0xdb),{'requestId':_0x2206c1,'error':_0x599303['message']});throw new Error(_0x4d8435(0x103)+_0x599303['message']);}async['_checkRateLimit'](_0x2ed234){await new Promise(_0x28da3f=>setTimeout(_0x28da3f,0x64));}async['_handleRateLimit'](_0x4b2892){const _0x5a6571=a0_0x58e07c,_0x37fba7=0xea60;this['logger'][_0x5a6571(0xf9)](_0x5a6571(0x15d)+_0x37fba7+'ms',_0x4b2892),await new Promise(_0x4a2897=>setTimeout(_0x4a2897,_0x37fba7));}async[a0_0x58e07c(0x12b)](_0x16ffef){const _0x51f8e4=a0_0x58e07c;this[_0x51f8e4(0xf1)]();const _0x49674c=0x7530;this['logger']['info']('Service\x20unavailable,\x20waiting\x20'+_0x49674c+'ms',_0x16ffef),await new Promise(_0x5dd729=>setTimeout(_0x5dd729,_0x49674c));}['_isCircuitBreakerOpen'](){const _0x2af83e=a0_0x58e07c;if(!this[_0x2af83e(0x10e)]['isOpen'])return![];const _0xb3a1df=Date['now']()-this[_0x2af83e(0x10e)]['lastFailureTime'];if(_0xb3a1df>this['circuitBreaker'][_0x2af83e(0xe6)])return this['circuitBreaker'][_0x2af83e(0x14a)]=![],this['circuitBreaker']['failures']=0x0,![];return!![];}[a0_0x58e07c(0xf1)](){const _0x3c6cae=a0_0x58e07c;this[_0x3c6cae(0x10e)]['failures']++,this['circuitBreaker'][_0x3c6cae(0x15e)]=Date['now'](),this[_0x3c6cae(0x10e)][_0x3c6cae(0x126)]>=this[_0x3c6cae(0x10e)][_0x3c6cae(0xee)]&&(this['circuitBreaker']['isOpen']=!![],this[_0x3c6cae(0x130)]['warn'](_0x3c6cae(0xfa)));}['_resetCircuitBreaker'](){const _0x27db32=a0_0x58e07c;this[_0x27db32(0x10e)]['failures']>0x0&&(this[_0x27db32(0x10e)]['failures']=0x0,this['circuitBreaker']['isOpen']=![],this[_0x27db32(0x130)]['info'](_0x27db32(0x14c)));}['_getVendorFromModel'](_0x17d1ff){const _0x4b745d=a0_0x58e07c;if(!_0x17d1ff)return null;const _0x5af8ba=_0x17d1ff['toLowerCase']();if(_0x5af8ba['includes']('anthropic')||_0x5af8ba['includes']('claude'))return _0x4b745d(0x112);else{if(_0x5af8ba['includes']('openai')||_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0xdc)))return'openai';else{if(_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0xd7)))return'deepseek';else{if(_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0x102)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x26ab7c,_0x29cbec){const _0x2aead6=a0_0x58e07c;this[_0x2aead6(0xd2)]=_0x26ab7c,this['logger']=_0x29cbec,this['conversations']=new Map();}async['switchModel'](_0x683f45){return{'messages':[],'model':_0x683f45,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
1
+ function a0_0x45af(){const _0x2cb709=['revfufnfruS','ueHj','x3jLy29YzezHAwX1CMu','y3vZDg9TqxbPs2v5CW','C2v0qwDLBNrqB29S','CMfUzg9T','yMfJA2vUza','Bw9KzwXtCgvJCW','CMv0CNLbDhrLBxb0CW','AgvHBhrOEq','DhjHy2TvC2fNzq','B3bLBMfP','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','AgvHBhrOlwnOzwnR','y2HLy2Ttzxj2AwnLsgvHBhrO','zgf0yq','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','x2zVCM1HDfnPBMDSzu1LC3nHz2u','odfpExneANq','C3r5Bgu','CMv2AxnLzf9WCM9TChq','x3n1Bw1HCML6zu1LC3nHz2vZ','x2vZDgLTyxrLvg9Rzw5Z','l2nOyxqVy29TCgXLDgLVBNm','C2vUze1LC3nHz2u','DgLTzw91Da','DhjPBq','y29TCgXLEgL0Eq','ueHjxZq','mtG3ndu5mLjzsufKsa','CgXHDgzVCM1qCM92AwrLza','z2v0qwDLBNq','qwDLBNqGCg9VBcbZzxqGzM9YiefjihnLCNzPy2u','BwvZC2fNzq','odm2nZu1CvHltMTb','C3rYAw5N','ywXS','tK9ux0zpvu5e','C2vZC2LVBKLK','CM9Szq','DxnHz2u','yMfZzvvYBa','mZu0nJzqz3reBxK','qu5usfjpueLdx1nptK5fva','mtyWnZC0mefVBvrizW','t1bftKfj','Bwf4x3rVA2vUCW','CxvHBgL0Eq','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','mtq2A3fmqu52','uMf0zsbSAw1PDcbLEgnLzwrLza','x21HA2vbueLszxf1zxn0','u0vsvKLdrv9vtKfwquLmqujmrq','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','C3DPDgnOqwDLBNrnB2rLBa','mtqWndiWme12vNPcBG','AxnbCNjHEq','x2DLDfzLBMrVCKzYB21nB2rLBa','x2LZvMfSAwrnB2rLBa','vw5RBM93BIbTB2rLBdOG','x2zVCM1HDezVCKfUDgHYB3bPyW','C3rHy2S','CMvXDwvZDff1zxvL','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','C3rHBMrHCMq','Ahr0Chm6lY9HCgKUBg94AweUywK','zMLUAxnOx3jLyxnVBG','lcb1C2LUzYbMywXSyMfJAW','nZKXAfLjre13','y2HVAwnLCW','yw50AhjVCgLJ','mtCXote5mM91vxzPva','AxnpCgvU','C3DPDgnOtw9KzwW','zxjYB3i','sw52ywXPzcbTB2rLBdOG','ChjLzMvYCMvKtw9KzwW','y3jLyxrLza','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','x2zVCM1HDezVCKf6DxjL','x2nOzwnRuMf0zuXPBwL0','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','lI4UifTJB252zxjZyxrPB24GC3vTBwfYEsb0CNvUy2f0zwrD','x2HHBMrSzvjHDgvmAw1PDa','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','l2HLywX0Aa','B3b0Aw9UCW','qKfex0DbvevxqvK','zxn0Aw1HDgvKvg9Rzw5Z','CMvZCg9UC2vgB3jTyxq','Bw9KzwW','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','y2LYy3vPDejYzwfRzxi','y3vYCMvUDe1VzgvS','Cg93','tw9KzwWGDMfSAwrHDgLVBIbMywLSzwq','C3vIC3rYAw5N','ChvZAa','y29UDMvYC2f0Aw9UtwfUywDLCNm','CgHP','yxbPs2v5twfUywDLCG','AgfUzgXLshr0CevYCM9Y','x2zVCM1HDezVCK9Wzw5bsq','BgvUz3rO','C3rYAw5NAwz5','zxjYB3jiyw5KBgvY','mtG3m1rqr0nttW','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','DMvUzg9YqxbPs2v5','BwvZC2fNzxm','ywDLBNrqB29S','Dg9ju09tDhjPBMC','qvPvuKu','C2L6zq','BgfZDezHAwX1CMvuAw1L','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','y29UDgvUDa','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','D2fYBG','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','zMX1Ec0XlJeTChjV','Dg90ywXFDg9Rzw5Z','C3rHDhvZ','AM9PBG','y2XHC3nPzNLfCNjVCG','zMfZDa','DxnLCG','ywDLBNrjza','BM93','C3rVCa','yxbPs2v5','y29UzMLN','Bg9Nz2vY','sfruuca','C3LZDgvTuhjVBxb0','rKfmtejbq0S','vu5bvvrit1jjwKve','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','qKfex1jfuvvfu1q','ANnVBG','CMvXDwvZDeLK','Aw5MBW','C3vTBwfYEq','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','su5urvjoquXFu0vsvKvsx0vsuK9s','r0furvDbwv9usu1ft1vu','ChjVBxb0','BwfW','x3jLC2v0q2LYy3vPDejYzwfRzxi','z2v0s2v5C0zVCLjLCxvLC3q','uMv0CNLPBMCGAw4G','qu5usfjpueLd','CMv2zxjZzq','C3LZDgvT','u3LZDgvToIa','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','yxbWBgLJyxrPB24VANnVBG','qu5usfjpueLdx09qvvm','quKGC2vYDMLJzsbLCNjVCJOG','DgvTCgvYyxr1CMu','ChjVBxb0x3rVA2vUCW','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','tw9KzwWGC3DPDgnOigzHAwXLzdOG','ve9px01btLLFuKvrvuvtvfm','u2vYDMLJzsb1BMf2ywLSywjSzsWGD2fPDgLUzYa','zMfPBhvYzxm','Aw5JBhvKzxm'];a0_0x45af=function(){return _0x2cb709;};return a0_0x45af();}const a0_0x565f52=a0_0x5116;function a0_0x5116(_0x4874b0,_0x359ffd){_0x4874b0=_0x4874b0-0x17b;const _0x45af44=a0_0x45af();let _0x5116eb=_0x45af44[_0x4874b0];if(a0_0x5116['ZAEWIJ']===undefined){var _0x5b6e89=function(_0x2cb94e){const _0x4fefca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54d4e5='',_0x23afdf='';for(let _0x532f8b=0x0,_0x545ee0,_0xd0bf06,_0x1b06c2=0x0;_0xd0bf06=_0x2cb94e['charAt'](_0x1b06c2++);~_0xd0bf06&&(_0x545ee0=_0x532f8b%0x4?_0x545ee0*0x40+_0xd0bf06:_0xd0bf06,_0x532f8b++%0x4)?_0x54d4e5+=String['fromCharCode'](0xff&_0x545ee0>>(-0x2*_0x532f8b&0x6)):0x0){_0xd0bf06=_0x4fefca['indexOf'](_0xd0bf06);}for(let _0x3795db=0x0,_0x4dceaa=_0x54d4e5['length'];_0x3795db<_0x4dceaa;_0x3795db++){_0x23afdf+='%'+('00'+_0x54d4e5['charCodeAt'](_0x3795db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23afdf);};a0_0x5116['NCGwbH']=_0x5b6e89,a0_0x5116['vUaktN']={},a0_0x5116['ZAEWIJ']=!![];}const _0xc758c1=_0x45af44[0x0],_0x5bc8dc=_0x4874b0+_0xc758c1,_0x536979=a0_0x5116['vUaktN'][_0x5bc8dc];return!_0x536979?(_0x5116eb=a0_0x5116['NCGwbH'](_0x5116eb),a0_0x5116['vUaktN'][_0x5bc8dc]=_0x5116eb):_0x5116eb=_0x536979,_0x5116eb;}(function(_0x351846,_0x4ec170){const _0x3e1fe3=a0_0x5116,_0x2ef494=_0x351846();while(!![]){try{const _0x19d7e0=-parseInt(_0x3e1fe3(0x1b3))/0x1*(parseInt(_0x3e1fe3(0x221))/0x2)+-parseInt(_0x3e1fe3(0x18e))/0x3+parseInt(_0x3e1fe3(0x17e))/0x4+-parseInt(_0x3e1fe3(0x212))/0x5+parseInt(_0x3e1fe3(0x21a))/0x6*(-parseInt(_0x3e1fe3(0x18b))/0x7)+parseInt(_0x3e1fe3(0x20d))/0x8+parseInt(_0x3e1fe3(0x202))/0x9*(parseInt(_0x3e1fe3(0x21c))/0xa);if(_0x19d7e0===_0x4ec170)break;else _0x2ef494['push'](_0x2ef494['shift']());}catch(_0x4b2892){_0x2ef494['push'](_0x2ef494['shift']());}}}(a0_0x45af,0x76f55));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x54d4e5,_0x23afdf,_0x532f8b,_0x545ee0){const _0x2f5690=a0_0x5116;this[_0x2f5690(0x1cc)]=_0x54d4e5,this[_0x2f5690(0x1cd)]=_0x23afdf,this['budgetService']=_0x532f8b,this[_0x2f5690(0x1b2)]=_0x545ee0,this[_0x2f5690(0x219)]=_0x54d4e5[_0x2f5690(0x1f6)]?.['baseUrl']||_0x2f5690(0x188),this[_0x2f5690(0x209)]=_0x54d4e5[_0x2f5690(0x1f6)]?.[_0x2f5690(0x209)]||0xea60,this['retryAttempts']=_0x54d4e5[_0x2f5690(0x1f6)]?.['retryAttempts']||0x3,this['rateLimiters']=new Map(),this[_0x2f5690(0x185)]=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x2f5690(0x1f7)]=this[_0x2f5690(0x1fc)](),this[_0x2f5690(0x1ab)]=new Map(),this['apiKeyManager']=null,this['agentPool']=null;}async[a0_0x565f52(0x208)](_0xd0bf06,_0x1b06c2,_0x3795db={}){const _0x26e420=a0_0x565f52,_0x4dceaa='req-'+Date[_0x26e420(0x1c9)]()+'-'+Math[_0x26e420(0x1f5)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this[_0x26e420(0x198)](_0xd0bf06);const _0x16751f=this[_0x26e420(0x195)](_0x1b06c2,_0xd0bf06,_0x3795db),_0xb19ff6={'model':_0xd0bf06,'messages':_0x16751f,'options':{'max_tokens':this['modelSpecs'][_0xd0bf06]?.['maxTokens']||0xfa0,'temperature':_0x3795db[_0x26e420(0x1e8)]||0.7,'stream':_0x3795db['stream']||![]},'metadata':{'requestId':_0x4dceaa,'agentId':_0x3795db['agentId'],'timestamp':new Date()[_0x26e420(0x1b8)]()}};_0x3795db['systemPrompt']&&(_0xb19ff6[_0x26e420(0x1e2)]=_0x3795db[_0x26e420(0x1cf)]);this['logger']['info'](_0x26e420(0x1e4)+_0xd0bf06,{'requestId':_0x4dceaa,'agentId':_0x3795db[_0x26e420(0x1c8)],'messageCount':Array[_0x26e420(0x17f)](_0x1b06c2)?_0x1b06c2[_0x26e420(0x1b0)]:0x1,'maxTokens':_0xb19ff6[_0x26e420(0x21e)]});const _0x38a7c8=await this[_0x26e420(0x223)](_0x26e420(0x207),_0xb19ff6,_0x4dceaa,{..._0x3795db,'sessionId':_0x3795db[_0x26e420(0x216)],'platformProvided':_0x3795db['platformProvided']||![]});return _0x38a7c8[_0x26e420(0x218)]&&await this[_0x26e420(0x1fa)](_0x3795db['agentId'],_0xd0bf06,{'prompt_tokens':_0x38a7c8[_0x26e420(0x218)][_0x26e420(0x1e9)]||0x0,'completion_tokens':_0x38a7c8['usage']['completion_tokens']||0x0,'total_tokens':_0x38a7c8[_0x26e420(0x218)][_0x26e420(0x1c2)]||0x0}),this[_0x26e420(0x1dd)](),{'content':_0x38a7c8[_0x26e420(0x18c)][0x0]?.['message']?.[_0x26e420(0x1bd)]||'','model':_0x38a7c8['model'],'tokenUsage':_0x38a7c8[_0x26e420(0x218)],'requestId':_0x4dceaa,'finishReason':_0x38a7c8[_0x26e420(0x18c)][0x0]?.[_0x26e420(0x189)]};}catch(_0x574571){this['_recordFailure'](),this[_0x26e420(0x1cd)][_0x26e420(0x191)]('AI\x20service\x20request\x20failed:\x20'+_0x574571['message'],{'requestId':_0x4dceaa,'model':_0xd0bf06,'agentId':_0x3795db[_0x26e420(0x1c8)],'error':_0x574571[_0x26e420(0x184)]}),await this[_0x26e420(0x1ae)](_0x574571,{'requestId':_0x4dceaa,'model':_0xd0bf06,'agentId':_0x3795db['agentId']});throw _0x574571;}}async['routeModel'](_0x16022b,_0x1bd025={}){const _0x442abe=a0_0x565f52;try{const _0x487756=MODEL_ROUTING[_0x16022b['toUpperCase']()]||MODEL_ROUTING['FALLBACK'],_0x22f5a2=[];for(const _0x5147b1 of _0x487756){const _0x46e912=await this['_checkModelHealth'](_0x5147b1);_0x46e912&&_0x22f5a2[_0x442abe(0x1aa)](_0x5147b1);}if(_0x22f5a2[_0x442abe(0x1b0)]===0x0)return this['logger'][_0x442abe(0x1bf)](_0x442abe(0x19d)+_0x16022b+_0x442abe(0x18a)),MODEL_ROUTING[_0x442abe(0x1d0)][0x0];let _0x1af81b=_0x22f5a2[0x0];if(_0x1bd025[_0x442abe(0x193)]&&_0x22f5a2[_0x442abe(0x1ef)](_0x1bd025[_0x442abe(0x193)]))_0x1af81b=_0x1bd025[_0x442abe(0x193)];else{if(_0x1bd025[_0x442abe(0x20b)]==='high'&&_0x22f5a2['includes'](MODELS['ANTHROPIC_OPUS']))_0x1af81b=MODELS[_0x442abe(0x1e6)];else _0x1bd025['speed']===_0x442abe(0x1c6)&&_0x22f5a2[_0x442abe(0x1ef)](MODELS['ANTHROPIC_HAIKU'])&&(_0x1af81b=MODELS['ANTHROPIC_HAIKU']);}return this['logger']['info']('Model\x20routed\x20for\x20task:\x20'+_0x16022b,{'selectedModel':_0x1af81b,'availableModels':_0x22f5a2[_0x442abe(0x1b0)],'context':_0x1bd025}),_0x1af81b;}catch(_0x588948){return this['logger'][_0x442abe(0x191)](_0x442abe(0x1d2)+_0x588948[_0x442abe(0x211)],{'task':_0x16022b,'context':_0x1bd025}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x3b7884,_0x224ee4){const _0x5bf5a8=a0_0x565f52,_0x598e5d=this[_0x5bf5a8(0x1f7)][_0x224ee4];if(!_0x598e5d)throw new Error(_0x5bf5a8(0x182)+_0x224ee4);const _0x2a350d=_0x598e5d['contextWindow']*0.8;let _0x463c8b=0x0;const _0x3a83ca=[],_0x4182aa=await Promise[_0x5bf5a8(0x214)](_0x3b7884['map'](async _0x57d8f6=>({..._0x57d8f6,'estimatedTokens':await this[_0x5bf5a8(0x206)](_0x57d8f6['content'],_0x224ee4)}))),_0x37bf87=[..._0x4182aa][_0x5bf5a8(0x1e1)]();for(const _0xda973e of _0x37bf87){if(_0x463c8b+_0xda973e[_0x5bf5a8(0x1a1)]>_0x2a350d){if(_0x3a83ca['length']===0x0){const _0x4c4c3e=await this['_truncateMessage'](_0xda973e[_0x5bf5a8(0x1bd)],_0x2a350d);_0x3a83ca['unshift']({..._0xda973e,'content':_0x4c4c3e,'estimatedTokens':_0x2a350d});}break;}_0x3a83ca['unshift'](_0xda973e),_0x463c8b+=_0xda973e[_0x5bf5a8(0x1a1)];}const _0x8a908d=_0x4182aa['slice'](0x0,-_0x3a83ca['length']);if(_0x8a908d[_0x5bf5a8(0x1b0)]>0x0){const _0x49d157=await this['_summarizeMessages'](_0x8a908d,_0x224ee4);_0x3a83ca['unshift']({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x49d157,'timestamp':_0x8a908d[0x0]['timestamp'],'type':_0x5bf5a8(0x1d7),'estimatedTokens':await this[_0x5bf5a8(0x206)](_0x49d157,_0x224ee4)});}return this[_0x5bf5a8(0x1cd)]['info']('Conversation\x20compactized\x20for\x20model:\x20'+_0x224ee4,{'originalMessages':_0x3b7884[_0x5bf5a8(0x1b0)],'compactizedMessages':_0x3a83ca['length'],'estimatedTokens':_0x463c8b,'maxTokens':_0x2a350d}),_0x3a83ca;}async['trackUsage'](_0x578afa,_0x558a85,_0x5a1891,_0x2a5504){try{this['budgetService']&&this['budgetService']['trackUsage'](_0x578afa,_0x558a85,_0x5a1891);}catch(_0x1949b2){this['logger']['error']('Usage\x20tracking\x20failed:\x20'+_0x1949b2['message']);}}async['handleHttpError'](_0xaae89d,_0xb558bb){const _0xa283cc=a0_0x565f52,_0x22defa=this['errorHandler']?.[_0xa283cc(0x1c5)]?.(_0xaae89d,_0xb558bb);switch(_0xaae89d[_0xa283cc(0x1c3)]||_0xaae89d['code']){case HTTP_STATUS[_0xa283cc(0x1d3)]:this[_0xa283cc(0x1cd)][_0xa283cc(0x191)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0xb558bb,'error':_0xaae89d['message']});throw new Error('Invalid\x20request:\x20'+_0xaae89d['message']);case HTTP_STATUS[_0xa283cc(0x1d1)]:this['logger'][_0xa283cc(0x191)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0xb558bb});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error'](_0xa283cc(0x1b4),{'context':_0xb558bb});throw new Error(_0xa283cc(0x199));case HTTP_STATUS[_0xa283cc(0x215)]:this[_0xa283cc(0x1cd)][_0xa283cc(0x191)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0xb558bb});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS[_0xa283cc(0x1ec)]:this['logger']['warn'](_0xa283cc(0x222),{'context':_0xb558bb}),await this['_handleRateLimit'](_0xb558bb);throw new Error('Rate\x20limit\x20exceeded\x20-\x20request\x20queued\x20for\x20retry');case HTTP_STATUS[_0xa283cc(0x1d9)]:case HTTP_STATUS[_0xa283cc(0x1a0)]:case HTTP_STATUS[_0xa283cc(0x17b)]:case HTTP_STATUS[_0xa283cc(0x1da)]:this[_0xa283cc(0x1cd)]['error']('AI\x20service\x20unavailable',{'context':_0xb558bb,'status':_0xaae89d['status']}),await this[_0xa283cc(0x1d8)](_0xb558bb);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0xa283cc(0x1cd)]['error']('Unknown\x20AI\x20service\x20error',{'context':_0xb558bb,'error':_0xaae89d[_0xa283cc(0x211)]});throw new Error(_0xa283cc(0x1e7)+_0xaae89d['message']);}}['setApiKeyManager'](_0x4e8ba0){const _0x10bd28=a0_0x565f52;this['apiKeyManager']=_0x4e8ba0,this[_0x10bd28(0x1cd)]?.[_0x10bd28(0x1d6)]('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x4e8ba0});}[a0_0x565f52(0x1f4)](_0x54153c){const _0x44e905=a0_0x565f52;this['agentPool']=_0x54153c,this['logger']?.['info'](_0x44e905(0x210),{'hasAgentPool':!!_0x54153c});}async['generateImage'](_0x48a376,_0x3b0f39={}){const _0x473fc8=a0_0x565f52,_0x31b072='img-'+Date[_0x473fc8(0x1c9)]()+'-'+Math[_0x473fc8(0x1f5)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error(_0x473fc8(0x1c0));if(!_0x48a376||typeof _0x48a376!=='string'||_0x48a376[_0x473fc8(0x20a)]()[_0x473fc8(0x1b0)]===0x0)throw new Error(_0x473fc8(0x1bc));const _0x4abcea=_0x3b0f39['model']||_0x473fc8(0x1c1),_0x4d1748=_0x3b0f39[_0x473fc8(0x1ba)]||'1024x1024',_0x18b01b=_0x3b0f39['quality']||_0x473fc8(0x187),_0x39f1c5=_0x3b0f39[_0x473fc8(0x1a2)]||'url';this['logger']['info'](_0x473fc8(0x200)+_0x4abcea,{'requestId':_0x31b072,'model':_0x4abcea,'size':_0x4d1748,'quality':_0x18b01b,'promptLength':_0x48a376[_0x473fc8(0x1b0)]});const _0x55086e={'prompt':_0x48a376,'model':_0x4abcea,'size':_0x4d1748,'quality':_0x18b01b,'response_format':_0x39f1c5,'n':0x1,'metadata':{'requestId':_0x31b072,'timestamp':new Date()[_0x473fc8(0x1b8)]()}},_0x1148c4=await this['_makeImageAPIRequest'](_0x55086e,_0x31b072,{'sessionId':_0x3b0f39['sessionId'],'platformProvided':_0x3b0f39['platformProvided']||![]});return this['_resetCircuitBreaker'](),{'url':_0x1148c4['data']?.[0x0]?.['url']||null,'b64_json':_0x1148c4['data']?.[0x0]?.['b64_json']||null,'model':_0x1148c4['model']||_0x4abcea,'requestId':_0x31b072,'revisedPrompt':_0x1148c4[_0x473fc8(0x1ff)]?.[0x0]?.[_0x473fc8(0x204)]||_0x48a376};}catch(_0x44d00b){this[_0x473fc8(0x1f2)](),this['logger']['error']('Image\x20generation\x20failed:\x20'+_0x44d00b[_0x473fc8(0x211)],{'requestId':_0x31b072,'model':_0x3b0f39[_0x473fc8(0x1a3)],'error':_0x44d00b['stack']});throw _0x44d00b;}}async[a0_0x565f52(0x1fe)](){const _0x1415d9=a0_0x565f52;try{const _0x211bb3=await this['_makeAPIRequest'](_0x1415d9(0x19e),{},_0x1415d9(0x1fd));return _0x211bb3['status']===_0x1415d9(0x1f9);}catch(_0x27de1e){return![];}}async[a0_0x565f52(0x17d)](_0x2cb988,_0xf4b3bd){const _0x584095=a0_0x565f52;try{if(!this['_isValidModel'](_0xf4b3bd))throw new Error(_0x584095(0x192)+_0xf4b3bd);let _0x3c638c=this['conversationManagers']['get'](_0x2cb988);!_0x3c638c&&(_0x3c638c=new ConversationManager(_0x2cb988,this['logger']),this['conversationManagers']['set'](_0x2cb988,_0x3c638c));const _0x3f197=await _0x3c638c[_0x584095(0x190)](_0xf4b3bd),_0x4f522f=await this[_0x584095(0x1b7)]?.[_0x584095(0x20f)](_0x2cb988);return _0x4f522f&&(_0x4f522f[_0x584095(0x1a6)]=_0xf4b3bd,await this['agentPool']['persistAgentState'](_0x2cb988)),this[_0x584095(0x1cd)]['info'](_0x584095(0x196)+_0x2cb988,{'newModel':_0xf4b3bd,'messageCount':_0x3f197['messages'][_0x584095(0x1b0)]}),{'success':!![],'agentId':_0x2cb988,'newModel':_0xf4b3bd,'conversation':_0x3f197};}catch(_0x3a2b7b){this['logger'][_0x584095(0x191)](_0x584095(0x1eb)+_0x3a2b7b[_0x584095(0x211)],{'agentId':_0x2cb988,'newModel':_0xf4b3bd});throw _0x3a2b7b;}}['_initializeModelSpecs'](){const _0x3530b=a0_0x565f52,_0x331415={[MODELS[_0x3530b(0x21b)]]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1e0)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x3530b(0x1e6)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1e0)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x21d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x21d)],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS['DEEPSEEK_R1']]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1f0)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x3530b(0x20c)]]:{'provider':MODEL_PROVIDERS[_0x3530b(0x1f1)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':_0x3530b(0x1b9),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x3530b(0x1b9),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x331415;}[a0_0x565f52(0x195)](_0x5b1dbf,_0x52d7aa,_0x4c7b87){const _0x2b6251=a0_0x565f52,_0x59f946=this[_0x2b6251(0x1f7)][_0x52d7aa]||{'provider':'AZURE'};let _0x5c326e;typeof _0x5b1dbf===_0x2b6251(0x213)?_0x5c326e=[{'role':'user','content':_0x5b1dbf}]:_0x5c326e=_0x5b1dbf['map'](_0x6a3776=>this['_formatSingleMessage'](_0x6a3776,_0x52d7aa));switch(_0x59f946['provider']){case MODEL_PROVIDERS[_0x2b6251(0x1e0)]:return this['_formatForAnthropic'](_0x5c326e);case MODEL_PROVIDERS[_0x2b6251(0x21d)]:return this[_0x2b6251(0x1af)](_0x5c326e);case MODEL_PROVIDERS['AZURE']:return this[_0x2b6251(0x197)](_0x5c326e);default:return _0x5c326e;}}[a0_0x565f52(0x201)](_0x3c5d2d,_0x20ec14){const _0x345242=a0_0x565f52;return{'role':_0x3c5d2d['role']||'user','content':_0x3c5d2d[_0x345242(0x1bd)],'timestamp':_0x3c5d2d['timestamp']};}[a0_0x565f52(0x183)](_0x358712){return _0x358712['map'](_0x3dc94c=>{const _0x225358=a0_0x5116;if(_0x3dc94c[_0x225358(0x217)]===_0x225358(0x1e2))return{'role':_0x225358(0x1c7),'content':_0x225358(0x1e3)+_0x3dc94c['content']};return _0x3dc94c;});}[a0_0x565f52(0x1af)](_0x12e32d){return _0x12e32d;}[a0_0x565f52(0x197)](_0x49c97a){const _0x41c8d0=a0_0x565f52;return _0x49c97a[_0x41c8d0(0x1dc)](_0x3f0625=>({..._0x3f0625,'content':typeof _0x3f0625['content']===_0x41c8d0(0x213)?_0x3f0625['content']:JSON[_0x41c8d0(0x1b1)](_0x3f0625['content'])}));}[a0_0x565f52(0x181)](_0xf6f631){const _0x57c03b=a0_0x565f52;this[_0x57c03b(0x1cd)]['debug']('Validating\x20model',{'model':_0xf6f631,'modelType':typeof _0xf6f631});if(this['modelSpecs'][_0xf6f631]!==undefined)return!![];return this['logger'][_0x57c03b(0x1bf)](_0x57c03b(0x1a8),{'model':_0xf6f631,'availableModels':Object['keys'](this['modelSpecs'])}),![];}async['_checkModelHealth'](_0x5ac569){return!![];}async[a0_0x565f52(0x206)](_0x59b6b3,_0x3cf8ca){return Math['ceil'](_0x59b6b3['length']/0x4);}async['_truncateMessage'](_0x573741,_0x17866d){const _0x322ff3=a0_0x565f52,_0x3b2288=_0x17866d*0x4;if(_0x573741[_0x322ff3(0x1b0)]<=_0x3b2288)return _0x573741;return _0x573741[_0x322ff3(0x1a9)](0x0,_0x3b2288-0x14)+_0x322ff3(0x19a);}async[a0_0x565f52(0x205)](_0x126b68,_0x1d9e3b){const _0x33aa58=a0_0x565f52,_0xdbeb7=_0x126b68['map'](_0x1ad73b=>_0x1ad73b[_0x33aa58(0x217)]+':\x20'+_0x1ad73b[_0x33aa58(0x1bd)])[_0x33aa58(0x1c4)]('\x0a'),_0x43715a=0x1f4;if(_0xdbeb7[_0x33aa58(0x1b0)]<=_0x43715a)return _0xdbeb7;return _0xdbeb7['substring'](0x0,_0x43715a)+_0x33aa58(0x19b);}async['_makeAPIRequest'](_0x5b6769,_0x48d944,_0x278d83,_0x594e9c={}){const _0x44330e=a0_0x565f52,_0x3a8ed7=_0x44330e(0x186);let _0x279a28,_0xe1f7c2=null,_0x2570c7=null;this[_0x44330e(0x1cd)]?.['info'](_0x44330e(0x17c),{'hasApiKeyManager':!!this[_0x44330e(0x1ad)],'sessionId':_0x594e9c['sessionId'],'hasSessionId':!!_0x594e9c['sessionId'],'optionsKeys':Object['keys'](_0x594e9c),'model':_0x48d944['model']});if(this[_0x44330e(0x1ad)]&&_0x594e9c[_0x44330e(0x216)]){const _0x109d03=this['apiKeyManager']['getKeysForRequest'](_0x594e9c['sessionId'],{'platformProvided':_0x594e9c['platformProvided']||![],'vendor':this[_0x44330e(0x180)](_0x48d944['model'])});_0xe1f7c2=_0x109d03['loxiaApiKey'],_0x2570c7=_0x109d03[_0x44330e(0x1b5)],this[_0x44330e(0x1cd)]?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x594e9c['sessionId'],'hasLoxiaKey':!!_0xe1f7c2,'hasVendorKey':!!_0x2570c7,'vendor':this[_0x44330e(0x180)](_0x48d944['model'])});}!_0xe1f7c2&&_0x594e9c['apiKey']&&(_0xe1f7c2=_0x594e9c['apiKey']);!_0xe1f7c2&&this[_0x44330e(0x1cc)][_0x44330e(0x1cb)]&&(_0xe1f7c2=this[_0x44330e(0x1cc)]['apiKey']);if(!_0xe1f7c2)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x3caee5=_0x48d944[_0x44330e(0x1a3)],_0x340814={'conversationId':_0x278d83,'message':_0x48d944['messages'][_0x48d944['messages']['length']-0x1]?.[_0x44330e(0x1bd)]||'','messages':_0x48d944[_0x44330e(0x1b6)],'model':_0x3caee5,'requestId':_0x278d83,'options':_0x48d944[_0x44330e(0x19f)]||{},'platformProvided':_0x594e9c[_0x44330e(0x20e)]||![]};_0x48d944['system']&&(_0x340814[_0x44330e(0x1cf)]=_0x48d944[_0x44330e(0x1e2)]);_0x594e9c[_0x44330e(0x20e)]?_0x340814['apiKey']=_0xe1f7c2:(_0x2570c7&&(_0x340814['vendorApiKey']=_0x2570c7),_0x594e9c[_0x44330e(0x1f3)]&&(_0x340814['customApiKeys']=_0x594e9c[_0x44330e(0x1f3)]),_0x340814['apiKey']=_0xe1f7c2);for(let _0x60a234=0x1;_0x60a234<=this[_0x44330e(0x1f8)];_0x60a234++){try{this['logger']['info']('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x3a8ed7,'model':_0x48d944[_0x44330e(0x1a3)],'requestId':_0x278d83,'attempt':_0x60a234,'hasApiKey':!!_0xe1f7c2});const _0x4142a2=await fetch(_0x3a8ed7,{'method':'POST','headers':{'Content-Type':_0x44330e(0x1e5),'Authorization':'Bearer\x20'+_0xe1f7c2,'X-Request-ID':_0x278d83},'body':JSON[_0x44330e(0x1b1)](_0x340814),'timeout':this['timeout']});if(!_0x4142a2['ok']){const _0x40f18c=await _0x4142a2['text'](),_0x4063b7=new Error('HTTP\x20'+_0x4142a2[_0x44330e(0x1c3)]+':\x20'+_0x4142a2['statusText']+(_0x40f18c?'\x20-\x20'+_0x40f18c:''));_0x4063b7[_0x44330e(0x1c3)]=_0x4142a2[_0x44330e(0x1c3)];throw _0x4063b7;}const _0x222b6b=await _0x4142a2[_0x44330e(0x1d4)]();return{'choices':[{'message':{'content':_0x222b6b[_0x44330e(0x1bd)]||'','role':'assistant'},'finish_reason':_0x222b6b['finishReason']||'stop'}],'usage':_0x222b6b[_0x44330e(0x218)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x222b6b[_0x44330e(0x1a3)]||_0x48d944['model'],'id':_0x222b6b[_0x44330e(0x1d5)]||_0x278d83};}catch(_0x3e5de7){_0x279a28=_0x3e5de7,this[_0x44330e(0x1cd)][_0x44330e(0x1bf)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x60a234,'requestId':_0x278d83,'error':_0x3e5de7[_0x44330e(0x211)],'status':_0x3e5de7['status']});if(_0x60a234<this[_0x44330e(0x1f8)]){const _0x1c0d26=Math[_0x44330e(0x1a7)](0x2,_0x60a234)*0x3e8;this['logger']['warn'](_0x44330e(0x1df)+_0x1c0d26+'ms',{'attempt':_0x60a234,'requestId':_0x278d83}),await new Promise(_0x2b70f1=>setTimeout(_0x2b70f1,_0x1c0d26));}}}this[_0x44330e(0x1cd)]['error']('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x278d83,'error':_0x279a28['message']});const _0x2e212f=_0x279a28['message']&&_0x279a28[_0x44330e(0x211)]['includes']('No\x20API\x20key\x20configured');if(_0x2e212f)throw new Error('API\x20Configuration\x20Error:\x20'+_0x279a28[_0x44330e(0x211)]);return{'choices':[{'message':{'content':_0x44330e(0x1ea)+_0x279a28[_0x44330e(0x211)],'role':'assistant'},'finish_reason':_0x44330e(0x1ca)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x48d944['model'],'id':'error-'+_0x278d83,'error':_0x279a28['message']};}async['_makeImageAPIRequest'](_0x5a09a0,_0x2d3fd4,_0x1d5ec0={}){const _0x382e91=a0_0x565f52,_0x28291f=_0x382e91(0x220);let _0x264284,_0x1563a1=null,_0x4e9dde=null;this['logger']?.['info']('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x1d5ec0['sessionId'],'hasSessionId':!!_0x1d5ec0[_0x382e91(0x216)],'model':_0x5a09a0[_0x382e91(0x1a3)]});if(this[_0x382e91(0x1ad)]&&_0x1d5ec0['sessionId']){const _0x31b8a1=this[_0x382e91(0x1ad)][_0x382e91(0x1de)](_0x1d5ec0['sessionId'],{'platformProvided':_0x1d5ec0[_0x382e91(0x20e)]||![],'vendor':this['_getVendorFromModel'](_0x5a09a0['model'])});_0x1563a1=_0x31b8a1['loxiaApiKey'],_0x4e9dde=_0x31b8a1[_0x382e91(0x1b5)],this['logger']?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x1d5ec0['sessionId'],'hasLoxiaKey':!!_0x1563a1,'hasVendorKey':!!_0x4e9dde});}!_0x1563a1&&_0x1d5ec0[_0x382e91(0x1cb)]&&(_0x1563a1=_0x1d5ec0['apiKey']);!_0x1563a1&&this[_0x382e91(0x1cc)][_0x382e91(0x1cb)]&&(_0x1563a1=this['config'][_0x382e91(0x1cb)]);if(!_0x1563a1)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x550676={'prompt':_0x5a09a0[_0x382e91(0x1db)],'model':_0x5a09a0['model']||'azure-openai-dalle3','size':_0x5a09a0['size'],'quality':_0x5a09a0[_0x382e91(0x21f)],'style':_0x5a09a0[_0x382e91(0x203)]||'vivid','n':_0x5a09a0['n']||0x1,'requestId':_0x2d3fd4};for(let _0x2bb252=0x1;_0x2bb252<=this['retryAttempts'];_0x2bb252++){try{this['logger'][_0x382e91(0x1d6)]('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x28291f,'model':_0x5a09a0[_0x382e91(0x1a3)],'requestId':_0x2d3fd4,'attempt':_0x2bb252,'hasApiKey':!!_0x1563a1});const _0x44c825=await fetch(_0x28291f,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x1563a1,'X-Request-ID':_0x2d3fd4},'body':JSON[_0x382e91(0x1b1)](_0x550676),'timeout':this['timeout']*0x2});if(!_0x44c825['ok']){const _0x4906c2=await _0x44c825['text'](),_0x5502ca=new Error(_0x382e91(0x1ce)+_0x44c825[_0x382e91(0x1c3)]+':\x20'+_0x44c825['statusText']+(_0x4906c2?'\x20-\x20'+_0x4906c2:''));_0x5502ca['status']=_0x44c825[_0x382e91(0x1c3)];throw _0x5502ca;}const _0x393235=await _0x44c825[_0x382e91(0x1d4)]();return{'data':_0x393235['images']||[],'model':_0x393235[_0x382e91(0x1a3)]||_0x5a09a0['model'],'created':_0x393235[_0x382e91(0x194)]||Date[_0x382e91(0x1c9)](),'usage':_0x393235[_0x382e91(0x218)]};}catch(_0x1ee38b){_0x264284=_0x1ee38b,this[_0x382e91(0x1cd)]['warn']('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x2bb252,'requestId':_0x2d3fd4,'error':_0x1ee38b['message'],'status':_0x1ee38b['status']});if(_0x2bb252<this['retryAttempts']){const _0x1c0597=Math[_0x382e91(0x1a7)](0x2,_0x2bb252)*0x3e8;this['logger'][_0x382e91(0x1bf)]('Retrying\x20in\x20'+_0x1c0597+'ms',{'attempt':_0x2bb252,'requestId':_0x2d3fd4}),await new Promise(_0x2cf3f1=>setTimeout(_0x2cf3f1,_0x1c0597));}}}this['logger']['error']('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x2d3fd4,'error':_0x264284['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x264284['message']);}async[a0_0x565f52(0x198)](_0x516530){await new Promise(_0x54c5c4=>setTimeout(_0x54c5c4,0x64));}async[a0_0x565f52(0x19c)](_0x4970ee){const _0x2e1eb1=a0_0x565f52,_0x3b25f0=0xea60;this['logger']['info'](_0x2e1eb1(0x1be)+_0x3b25f0+'ms',_0x4970ee),await new Promise(_0x4edbfa=>setTimeout(_0x4edbfa,_0x3b25f0));}async[a0_0x565f52(0x1d8)](_0x31eed3){const _0x4e78e6=a0_0x565f52;this['_recordFailure']();const _0x2e15ec=0x7530;this[_0x4e78e6(0x1cd)][_0x4e78e6(0x1d6)](_0x4e78e6(0x1ed)+_0x2e15ec+'ms',_0x31eed3),await new Promise(_0x4b7b42=>setTimeout(_0x4b7b42,_0x2e15ec));}['_isCircuitBreakerOpen'](){const _0x2f3805=a0_0x565f52;if(!this[_0x2f3805(0x1a5)][_0x2f3805(0x18f)])return![];const _0xa845b0=Date[_0x2f3805(0x1c9)]()-this['circuitBreaker'][_0x2f3805(0x1bb)];if(_0xa845b0>this['circuitBreaker'][_0x2f3805(0x209)])return this['circuitBreaker']['isOpen']=![],this[_0x2f3805(0x1a5)]['failures']=0x0,![];return!![];}[a0_0x565f52(0x1f2)](){const _0x59fcb4=a0_0x565f52;this['circuitBreaker'][_0x59fcb4(0x1ee)]++,this['circuitBreaker']['lastFailureTime']=Date[_0x59fcb4(0x1c9)](),this['circuitBreaker'][_0x59fcb4(0x1ee)]>=this[_0x59fcb4(0x1a5)]['threshold']&&(this['circuitBreaker'][_0x59fcb4(0x18f)]=!![],this[_0x59fcb4(0x1cd)][_0x59fcb4(0x1bf)](_0x59fcb4(0x1a4)));}[a0_0x565f52(0x1dd)](){const _0x2a34a4=a0_0x565f52;this[_0x2a34a4(0x1a5)][_0x2a34a4(0x1ee)]>0x0&&(this['circuitBreaker'][_0x2a34a4(0x1ee)]=0x0,this['circuitBreaker']['isOpen']=![],this[_0x2a34a4(0x1cd)][_0x2a34a4(0x1d6)]('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}['_getVendorFromModel'](_0x29cd37){const _0xe5615b=a0_0x565f52;if(!_0x29cd37)return null;const _0x2b939d=_0x29cd37['toLowerCase']();if(_0x2b939d['includes']('anthropic')||_0x2b939d['includes']('claude'))return _0xe5615b(0x18d);else{if(_0x2b939d[_0xe5615b(0x1ef)](_0xe5615b(0x1fb))||_0x2b939d[_0xe5615b(0x1ef)]('gpt'))return _0xe5615b(0x1fb);else{if(_0x2b939d['includes']('deepseek'))return'deepseek';else{if(_0x2b939d[_0xe5615b(0x1ef)](_0xe5615b(0x1ac)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x477765,_0x3234de){const _0xbf2866=a0_0x565f52;this[_0xbf2866(0x1c8)]=_0x477765,this[_0xbf2866(0x1cd)]=_0x3234de,this['conversations']=new Map();}async['switchModel'](_0x34c420){return{'messages':[],'model':_0x34c420,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
@@ -1 +1 @@
1
- function a0_0x13ba(){const _0x3d099d=['mu9IuKfAyW','C2vZC2LVBKTLExm','z2v0u2vZC2LVBKTLExm','z2v0qwn0AxzLu2vZC2LVBNm','zM9YrwfJAa','nZK0mJC2DuDSwLbK','CMvTB3zLu2vZC2LVBKTLExm','DMvUzg9Y','ntaXotm5nK9Rt3bgwG','mZC2mdm5m0DtD0feyG','DxbKyxrLzef0','qvbjigTLExmGCMvTB3zLzcbMB3iGC2vZC2LVBG','BM93','ntaZnJCYnxf3u0jeEq','C2v0r2XVyMfSs2v5CW','mJa0mtm3nNjns0DmDG','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','z2v0','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','Bg9Nz2vY','DMvUzg9Ys2v5CW','q2XLyw5Lzcb1CcbLEhbPCMvKiefqssbRzxKGC2vZC2LVBNm','z2XVyMfSs2v5CW','Dg9ju09tDhjPBMC','A2v5CW','odDbu3jzwMW','mZzqvxDHz2y','zw50CMLLCW','Aw5MBW','mtm0nZG4twTyuuzJ','Bg94AwfbCgLlzxK','ChvZAa','mtq3odm3mdbmEfDdyvK','zNjVBq','zgvSzxrL','CgXHDgzVCM1qCM92AwrLza','y2XLyw51Cev4CgLYzwrtzxnZAw9UCW'];a0_0x13ba=function(){return _0x3d099d;};return a0_0x13ba();}const a0_0x19c439=a0_0x5695;function a0_0x5695(_0x146438,_0x2b6aee){_0x146438=_0x146438-0x68;const _0x13bad8=a0_0x13ba();let _0x569521=_0x13bad8[_0x146438];if(a0_0x5695['pcRmHF']===undefined){var _0x2774ce=function(_0x55c67c){const _0xcbe78a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1595b7='',_0x6d5402='';for(let _0x24e253=0x0,_0x5e80ae,_0x5c9da1,_0x23c824=0x0;_0x5c9da1=_0x55c67c['charAt'](_0x23c824++);~_0x5c9da1&&(_0x5e80ae=_0x24e253%0x4?_0x5e80ae*0x40+_0x5c9da1:_0x5c9da1,_0x24e253++%0x4)?_0x1595b7+=String['fromCharCode'](0xff&_0x5e80ae>>(-0x2*_0x24e253&0x6)):0x0){_0x5c9da1=_0xcbe78a['indexOf'](_0x5c9da1);}for(let _0x2550dc=0x0,_0x140c8f=_0x1595b7['length'];_0x2550dc<_0x140c8f;_0x2550dc++){_0x6d5402+='%'+('00'+_0x1595b7['charCodeAt'](_0x2550dc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6d5402);};a0_0x5695['APLebj']=_0x2774ce,a0_0x5695['YfHOlc']={},a0_0x5695['pcRmHF']=!![];}const _0x22c167=_0x13bad8[0x0],_0x3cd890=_0x146438+_0x22c167,_0x5d0b94=a0_0x5695['YfHOlc'][_0x3cd890];return!_0x5d0b94?(_0x569521=a0_0x5695['APLebj'](_0x569521),a0_0x5695['YfHOlc'][_0x3cd890]=_0x569521):_0x569521=_0x5d0b94,_0x569521;}(function(_0x16ad37,_0x262400){const _0x2b2f96=a0_0x5695,_0x14dbab=_0x16ad37();while(!![]){try{const _0x1a5e88=parseInt(_0x2b2f96(0x6f))/0x1*(parseInt(_0x2b2f96(0x74))/0x2)+parseInt(_0x2b2f96(0x88))/0x3*(parseInt(_0x2b2f96(0x8c))/0x4)+-parseInt(_0x2b2f96(0x7c))/0x5+-parseInt(_0x2b2f96(0x77))/0x6+parseInt(_0x2b2f96(0x78))/0x7+parseInt(_0x2b2f96(0x7e))/0x8*(-parseInt(_0x2b2f96(0x89))/0x9)+parseInt(_0x2b2f96(0x6a))/0xa;if(_0x1a5e88===_0x262400)break;else _0x14dbab['push'](_0x14dbab['shift']());}catch(_0x3c1478){_0x14dbab['push'](_0x14dbab['shift']());}}}(a0_0x13ba,0x80409));class ApiKeyManager{constructor(_0x1595b7){const _0x74a8e1=a0_0x5695;this['logger']=_0x1595b7,this['sessionKeys']=new Map(),this[_0x74a8e1(0x85)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x6d5402,_0x24e253){const _0x208ed8=a0_0x5695;if(!_0x6d5402)throw new Error(_0x208ed8(0x7f));this['sessionKeys']['set'](_0x6d5402,{'loxiaApiKey':_0x24e253['loxiaApiKey']||null,'vendorKeys':_0x24e253['vendorKeys']||{},'updatedAt':new Date()[_0x208ed8(0x86)]()}),this[_0x208ed8(0x82)]?.[_0x208ed8(0x8b)](_0x208ed8(0x81),{'sessionId':_0x6d5402,'hasLoxiaKey':!!_0x24e253['loxiaApiKey'],'vendorKeys':Object['keys'](_0x24e253[_0x208ed8(0x83)]||{}),'timestamp':new Date()[_0x208ed8(0x86)]()});}['getSessionKeys'](_0x5e80ae){const _0x8119f1=a0_0x5695;if(!_0x5e80ae)return this[_0x8119f1(0x85)];const _0x5c9da1=this[_0x8119f1(0x70)][_0x8119f1(0x80)](_0x5e80ae);if(_0x5c9da1)return _0x5c9da1;return this['globalKeys'];}['getKeysForRequest'](_0x23c824,_0x2550dc={}){const _0x5353b3=a0_0x5695,_0x140c8f=this[_0x5353b3(0x71)](_0x23c824),_0x5da8b8={'loxiaApiKey':_0x140c8f[_0x5353b3(0x68)],'vendorApiKey':null};return!_0x2550dc[_0x5353b3(0x6d)]&&_0x2550dc[_0x5353b3(0x76)]&&_0x140c8f[_0x5353b3(0x83)]&&(_0x5da8b8['vendorApiKey']=_0x140c8f['vendorKeys'][_0x2550dc['vendor']]),_0x5da8b8;}[a0_0x19c439(0x75)](_0x52a19d){const _0x58382b=a0_0x19c439;if(this[_0x58382b(0x70)]['delete'](_0x52a19d))return this['logger']?.['info'](_0x58382b(0x7a),{'sessionId':_0x52a19d}),!![];return![];}[a0_0x19c439(0x7d)](_0x308c8e){const _0x24e0f6=a0_0x19c439;this[_0x24e0f6(0x85)]={'loxiaApiKey':_0x308c8e['loxiaApiKey']||this['globalKeys'][_0x24e0f6(0x68)],'vendorKeys':{...this['globalKeys']['vendorKeys'],..._0x308c8e[_0x24e0f6(0x83)]||{}}},this[_0x24e0f6(0x82)]?.['info']('Global\x20API\x20keys\x20updated',{'hasLoxiaKey':!!this['globalKeys'][_0x24e0f6(0x68)],'vendorKeys':Object[_0x24e0f6(0x87)](this['globalKeys']['vendorKeys'])});}[a0_0x19c439(0x72)](){const _0x7b0546=a0_0x19c439;return Array[_0x7b0546(0x6b)](this[_0x7b0546(0x70)]['entries']())['map'](([_0x219246,_0x19604a])=>({'sessionId':_0x219246,'hasLoxiaKey':!!_0x19604a['loxiaApiKey'],'vendorKeys':Object['keys'](_0x19604a['vendorKeys']||{}),'updatedAt':_0x19604a[_0x7b0546(0x79)]}));}[a0_0x19c439(0x6e)](_0x439856=0x18*0x3c*0x3c*0x3e8){const _0xb980d1=a0_0x19c439,_0x1de088=Date[_0xb980d1(0x7b)](),_0x30ca03=[];for(const [_0x2f4199,_0x148af1]of this['sessionKeys'][_0xb980d1(0x8a)]()){const _0x3e9abd=_0x1de088-new Date(_0x148af1[_0xb980d1(0x79)])['getTime']();_0x3e9abd>_0x439856&&_0x30ca03[_0xb980d1(0x69)](_0x2f4199);}return _0x30ca03[_0xb980d1(0x73)](_0x5ccd81=>{const _0x5c38f6=_0xb980d1;this['sessionKeys'][_0x5c38f6(0x6c)](_0x5ccd81);}),_0x30ca03['length']>0x0&&this[_0xb980d1(0x82)]?.[_0xb980d1(0x8b)](_0xb980d1(0x84),{'expiredSessions':_0x30ca03['length'],'remainingSessions':this[_0xb980d1(0x70)]['size']}),_0x30ca03['length'];}}export default ApiKeyManager;
1
+ const a0_0xbc54bf=a0_0xd19a;(function(_0x4b68a7,_0x1b0860){const _0x42849b=a0_0xd19a,_0x2c1937=_0x4b68a7();while(!![]){try{const _0x2bb051=-parseInt(_0x42849b(0x79))/0x1+-parseInt(_0x42849b(0x78))/0x2+-parseInt(_0x42849b(0x81))/0x3+-parseInt(_0x42849b(0x74))/0x4*(-parseInt(_0x42849b(0x82))/0x5)+parseInt(_0x42849b(0x7a))/0x6*(-parseInt(_0x42849b(0x92))/0x7)+-parseInt(_0x42849b(0x8c))/0x8+parseInt(_0x42849b(0x80))/0x9;if(_0x2bb051===_0x1b0860)break;else _0x2c1937['push'](_0x2c1937['shift']());}catch(_0x3e9cf9){_0x2c1937['push'](_0x2c1937['shift']());}}}(a0_0x5f02,0xccd70));function a0_0xd19a(_0x391d45,_0x10c5c6){_0x391d45=_0x391d45-0x73;const _0x5f02bd=a0_0x5f02();let _0xd19a9a=_0x5f02bd[_0x391d45];if(a0_0xd19a['VouXdC']===undefined){var _0x58a365=function(_0xfa7598){const _0x4d5e3c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2ebe31='',_0x1b088c='';for(let _0xd7e80=0x0,_0x402bde,_0x354562,_0x10d4bf=0x0;_0x354562=_0xfa7598['charAt'](_0x10d4bf++);~_0x354562&&(_0x402bde=_0xd7e80%0x4?_0x402bde*0x40+_0x354562:_0x354562,_0xd7e80++%0x4)?_0x2ebe31+=String['fromCharCode'](0xff&_0x402bde>>(-0x2*_0xd7e80&0x6)):0x0){_0x354562=_0x4d5e3c['indexOf'](_0x354562);}for(let _0x410c65=0x0,_0x268ce8=_0x2ebe31['length'];_0x410c65<_0x268ce8;_0x410c65++){_0x1b088c+='%'+('00'+_0x2ebe31['charCodeAt'](_0x410c65)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b088c);};a0_0xd19a['xpcCBv']=_0x58a365,a0_0xd19a['GqzLHi']={},a0_0xd19a['VouXdC']=!![];}const _0x28b3b1=_0x5f02bd[0x0],_0x62c270=_0x391d45+_0x28b3b1,_0x5673bb=a0_0xd19a['GqzLHi'][_0x62c270];return!_0x5673bb?(_0xd19a9a=a0_0xd19a['xpcCBv'](_0xd19a9a),a0_0xd19a['GqzLHi'][_0x62c270]=_0xd19a9a):_0xd19a9a=_0x5673bb,_0xd19a9a;}class ApiKeyManager{constructor(_0x2ebe31){const _0x2a5595=a0_0xd19a;this['logger']=_0x2ebe31,this[_0x2a5595(0x86)]=new Map(),this[_0x2a5595(0x76)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x1b088c,_0xd7e80){const _0x124841=a0_0xd19a;if(!_0x1b088c)throw new Error(_0x124841(0x7f));this['sessionKeys']['set'](_0x1b088c,{'loxiaApiKey':_0xd7e80['loxiaApiKey']||null,'vendorKeys':_0xd7e80['vendorKeys']||{},'updatedAt':new Date()[_0x124841(0x7c)]()}),this[_0x124841(0x7b)]?.[_0x124841(0x75)](_0x124841(0x83),{'sessionId':_0x1b088c,'hasLoxiaKey':!!_0xd7e80['loxiaApiKey'],'vendorKeys':Object['keys'](_0xd7e80[_0x124841(0x73)]||{}),'timestamp':new Date()[_0x124841(0x7c)]()});}['getSessionKeys'](_0x402bde){const _0x155ff6=a0_0xd19a;if(!_0x402bde)return this[_0x155ff6(0x76)];const _0x354562=this[_0x155ff6(0x86)][_0x155ff6(0x7e)](_0x402bde);if(_0x354562)return _0x354562;return this[_0x155ff6(0x76)];}['getKeysForRequest'](_0x10d4bf,_0x410c65={}){const _0x7f3a5f=a0_0xd19a,_0x268ce8=this[_0x7f3a5f(0x8d)](_0x10d4bf),_0x437aac={'loxiaApiKey':_0x268ce8['loxiaApiKey'],'vendorApiKey':null};return!_0x410c65[_0x7f3a5f(0x90)]&&_0x410c65[_0x7f3a5f(0x8e)]&&_0x268ce8[_0x7f3a5f(0x73)]&&(_0x437aac['vendorApiKey']=_0x268ce8[_0x7f3a5f(0x73)][_0x410c65[_0x7f3a5f(0x8e)]]),_0x437aac;}['removeSessionKeys'](_0x5920d7){const _0x323f54=a0_0xd19a;if(this['sessionKeys']['delete'](_0x5920d7))return this['logger']?.[_0x323f54(0x75)]('API\x20keys\x20removed\x20for\x20session',{'sessionId':_0x5920d7}),!![];return![];}[a0_0xbc54bf(0x87)](_0x120c69){const _0xb935fd=a0_0xbc54bf;this['globalKeys']={'loxiaApiKey':_0x120c69['loxiaApiKey']||this[_0xb935fd(0x76)][_0xb935fd(0x7d)],'vendorKeys':{...this['globalKeys']['vendorKeys'],..._0x120c69['vendorKeys']||{}}},this[_0xb935fd(0x7b)]?.['info']('Global\x20API\x20keys\x20updated',{'hasLoxiaKey':!!this[_0xb935fd(0x76)]['loxiaApiKey'],'vendorKeys':Object[_0xb935fd(0x77)](this['globalKeys'][_0xb935fd(0x73)])});}['getActiveSessions'](){const _0x3ee202=a0_0xbc54bf;return Array[_0x3ee202(0x89)](this[_0x3ee202(0x86)]['entries']())[_0x3ee202(0x91)](([_0x250ad2,_0x4f7848])=>({'sessionId':_0x250ad2,'hasLoxiaKey':!!_0x4f7848[_0x3ee202(0x7d)],'vendorKeys':Object['keys'](_0x4f7848[_0x3ee202(0x73)]||{}),'updatedAt':_0x4f7848[_0x3ee202(0x8f)]}));}['cleanupExpiredSessions'](_0x111f5c=0x18*0x3c*0x3c*0x3e8){const _0xb4b49a=a0_0xbc54bf,_0x552696=Date['now'](),_0x490fa4=[];for(const [_0x2e1306,_0x12c9ab]of this[_0xb4b49a(0x86)][_0xb4b49a(0x84)]()){const _0x252d25=_0x552696-new Date(_0x12c9ab[_0xb4b49a(0x8f)])['getTime']();_0x252d25>_0x111f5c&&_0x490fa4['push'](_0x2e1306);}return _0x490fa4['forEach'](_0xcbcb08=>{const _0x5a073a=_0xb4b49a;this['sessionKeys'][_0x5a073a(0x85)](_0xcbcb08);}),_0x490fa4['length']>0x0&&this[_0xb4b49a(0x7b)]?.[_0xb4b49a(0x75)](_0xb4b49a(0x8b),{'expiredSessions':_0x490fa4['length'],'remainingSessions':this['sessionKeys'][_0xb4b49a(0x88)]}),_0x490fa4[_0xb4b49a(0x8a)];}}function a0_0x5f02(){const _0x1e142a=['C2v0r2XVyMfSs2v5CW','C2L6zq','zNjVBq','BgvUz3rO','q2XLyw5Lzcb1CcbLEhbPCMvKiefqssbRzxKGC2vZC2LVBNm','odeWntq0ogDTzgnLza','z2v0u2vZC2LVBKTLExm','DMvUzg9Y','DxbKyxrLzef0','CgXHDgzVCM1qCM92AwrLza','BwfW','odK2y0HiBM5z','DMvUzg9Ys2v5CW','otq0mdr3ugXtAhe','Aw5MBW','z2XVyMfSs2v5CW','A2v5CW','mZC2nZG0vKfszKnv','mteZmZK1n2riveDksa','mZm4mtzUDe55BNi','Bg9Nz2vY','Dg9ju09tDhjPBMC','Bg94AwfbCgLlzxK','z2v0','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','ndaWmteYndzvCuvqqLO','mZq5mda3ngDjv3bJtG','mtmWqxjRzMjT','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','zw50CMLLCW','zgvSzxrL','C2vZC2LVBKTLExm'];a0_0x5f02=function(){return _0x1e142a;};return a0_0x5f02();}export default ApiKeyManager;
@@ -1 +1 @@
1
- const a0_0x54c676=a0_0x12cf;(function(_0x28525a,_0x7d4ee0){const _0x306830=a0_0x12cf,_0x2aa104=_0x28525a();while(!![]){try{const _0x1bf92c=parseInt(_0x306830(0x1e7))/0x1+parseInt(_0x306830(0x1ed))/0x2*(-parseInt(_0x306830(0x20e))/0x3)+-parseInt(_0x306830(0x1e2))/0x4+-parseInt(_0x306830(0x1ec))/0x5+-parseInt(_0x306830(0x1f8))/0x6+parseInt(_0x306830(0x206))/0x7+-parseInt(_0x306830(0x1fb))/0x8*(-parseInt(_0x306830(0x1e0))/0x9);if(_0x1bf92c===_0x7d4ee0)break;else _0x2aa104['push'](_0x2aa104['shift']());}catch(_0x2b2c74){_0x2aa104['push'](_0x2aa104['shift']());}}}(a0_0x2740,0x616f2));import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x4f9fe2,_0x57b13f){const _0xb44ccb=a0_0x12cf;this['config']=_0x4f9fe2,this[_0xb44ccb(0x1fd)]=_0x57b13f,this['benchmarks']=null,this['lastUpdated']=null,this[_0xb44ccb(0x210)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG[_0xb44ccb(0x1fe)];}async[a0_0x54c676(0x1e9)](){const _0x1c3b37=a0_0x54c676;try{await this[_0x1c3b37(0x1f9)](),this['_scheduleRefresh'](),this[_0x1c3b37(0x1fd)]['info']('Benchmark\x20service\x20initialized');}catch(_0x299544){this['logger'][_0x1c3b37(0x208)]('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x299544['message']}),this[_0x1c3b37(0x1f5)]=null;}}['getBenchmarks'](){const _0x3ecc7e=a0_0x54c676;if(!this['benchmarks'])return this['logger']['error'](_0x3ecc7e(0x1fa),{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async[a0_0x54c676(0x1f9)](){const _0x542dc4=a0_0x54c676;if(this['isLoading']){this[_0x542dc4(0x1fd)]['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x5f4a91=await this[_0x542dc4(0x207)]();if(_0x5f4a91)this['benchmarks']=_0x5f4a91,this[_0x542dc4(0x1e1)]=new Date(),this['logger'][_0x542dc4(0x1f1)]('Benchmarks loaded from Azure backend',{'modelCount':_0x5f4a91['models']?.['length']||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x329bc3){this['logger'][_0x542dc4(0x208)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x329bc3[_0x542dc4(0x212)],'endpoint':url}),!this[_0x542dc4(0x1f5)]&&(this[_0x542dc4(0x1f5)]=null);}finally{this['isLoading']=![];}}[a0_0x54c676(0x1e4)](){const _0x4329a4=a0_0x54c676,_0x5e4966=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.['toISOString']()||_0x4329a4(0x1f3),'models':_0x5e4966['models']||[],'tasks':_0x5e4966['tasks']||{},'summary':this['_generateBenchmarkSummary'](_0x5e4966)};}[a0_0x54c676(0x1eb)](){const _0x10591d=a0_0x54c676;if(!this[_0x10591d(0x1e1)])return!![];const _0x47d58c=Date['now']()-this['lastUpdated'][_0x10591d(0x1f7)]();return _0x47d58c>this[_0x10591d(0x202)];}async[a0_0x54c676(0x207)](){const _0x1b39f7=a0_0x54c676,_0x1fbb9d=this['azureBackendUrl']+_0x1b39f7(0x1f6);let _0x10e7da=null;this[_0x1b39f7(0x1ea)]['apiKey']&&(_0x10e7da=this[_0x1b39f7(0x1ea)]['apiKey']);const _0x26c19b={'method':_0x1b39f7(0x1ef),'headers':{'Content-Type':'application/json',..._0x10e7da&&{'Authorization':_0x1b39f7(0x1fc)+_0x10e7da}},'timeout':0x2710};this[_0x1b39f7(0x1fd)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x1fbb9d});const _0x5f1ebe=await fetch(_0x1fbb9d,_0x26c19b);if(!_0x5f1ebe['ok'])throw new Error(_0x1b39f7(0x211)+_0x5f1ebe['status']+':\x20'+_0x5f1ebe[_0x1b39f7(0x205)]);const _0x24c896=await _0x5f1ebe[_0x1b39f7(0x200)]();return _0x24c896;}[a0_0x54c676(0x1ee)](_0x4df1f5){const _0x3bf770=a0_0x54c676,_0x342554=_0x4df1f5['models']||[];return{'totalModels':_0x342554[_0x3bf770(0x1f2)],'taskCategories':Object[_0x3bf770(0x20a)](_0x4df1f5['tasks']||{}),'bestForCoding':this[_0x3bf770(0x209)](_0x342554,'coding'),'bestForAnalysis':this[_0x3bf770(0x209)](_0x342554,_0x3bf770(0x201)),'bestForQuickTasks':this[_0x3bf770(0x209)](_0x342554,_0x3bf770(0x204)),'bestForCreative':this['_getBestModelForTask'](_0x342554,_0x3bf770(0x1e3)),'fastestModel':this['_getFastestModel'](_0x342554),'mostCostEfficient':this['_getMostCostEfficient'](_0x342554)};}['_getBestModelForTask'](_0x4ef701,_0x32dda4){const _0xc6ee9c=a0_0x54c676;return _0x4ef701['filter'](_0x13083b=>_0x13083b[_0xc6ee9c(0x20f)]&&_0x13083b['tasks'][_0x32dda4])['sort']((_0x48af96,_0x598ccc)=>(_0x598ccc[_0xc6ee9c(0x20f)][_0x32dda4]['score']||0x0)-(_0x48af96[_0xc6ee9c(0x20f)][_0x32dda4]['score']||0x0))[0x0]?.[_0xc6ee9c(0x1f0)]||_0xc6ee9c(0x1f3);}['_getFastestModel'](_0x580859){const _0x4d8096=a0_0x54c676,_0x4b6fff={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x580859['sort']((_0x51f4bb,_0x218ef7)=>{const _0x3bf6be=a0_0x12cf,_0x52c266=Math[_0x3bf6be(0x203)](...Object[_0x3bf6be(0x20c)](_0x51f4bb[_0x3bf6be(0x20f)]||{})['map'](_0x347044=>_0x4b6fff[_0x347044['speed']]||0x0)),_0x327bce=Math['max'](...Object[_0x3bf6be(0x20c)](_0x218ef7[_0x3bf6be(0x20f)]||{})[_0x3bf6be(0x1e6)](_0x42ff41=>_0x4b6fff[_0x42ff41['speed']]||0x0));return _0x327bce-_0x52c266;})[0x0]?.[_0x4d8096(0x1f0)]||_0x4d8096(0x1f3);}[a0_0x54c676(0x1f4)](_0x38836c){const _0x5b28d7={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x38836c['sort']((_0x5b8989,_0x4f5655)=>{const _0x32a2a2=a0_0x12cf,_0x481d1d=Math['max'](...Object[_0x32a2a2(0x20c)](_0x5b8989[_0x32a2a2(0x20f)]||{})['map'](_0x471055=>_0x5b28d7[_0x471055[_0x32a2a2(0x1ff)]]||0x0)),_0x30ed4b=Math[_0x32a2a2(0x203)](...Object[_0x32a2a2(0x20c)](_0x4f5655[_0x32a2a2(0x20f)]||{})['map'](_0x1bf833=>_0x5b28d7[_0x1bf833['cost']]||0x0));return _0x30ed4b-_0x481d1d;})[0x0]?.['name']||'unknown';}[a0_0x54c676(0x1e5)](){const _0x54ae54=a0_0x54c676;setInterval(async()=>{const _0x26f5c7=a0_0x12cf;this['needsRefresh']()&&(this['logger'][_0x26f5c7(0x1e8)]('Refreshing\x20benchmark\x20data'),await this['loadBenchmarks']());},this[_0x54ae54(0x202)]);}async['forceRefresh'](){const _0x1a6708=a0_0x54c676;this['logger']['info'](_0x1a6708(0x20d)),await this['loadBenchmarks']();}[a0_0x54c676(0x20b)](){const _0x549abe=a0_0x54c676;return{'initialized':!!this['benchmarks'],'lastUpdated':this['lastUpdated']?.[_0x549abe(0x213)]()||null,'source':this['benchmarks']?.[_0x549abe(0x1df)]||_0x549abe(0x1f3),'modelCount':this['benchmarks']?.['models']?.[_0x549abe(0x1f2)]||0x0,'isLoading':this['isLoading'],'needsRefresh':this[_0x549abe(0x1eb)]()};}}export default BenchmarkService;function a0_0x12cf(_0x50618e,_0x523f26){_0x50618e=_0x50618e-0x1df;const _0x27409d=a0_0x2740();let _0x12cf4e=_0x27409d[_0x50618e];if(a0_0x12cf['xXZQFD']===undefined){var _0x391ee5=function(_0x5332c4){const _0x566dcd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f9fe2='',_0x57b13f='';for(let _0x299544=0x0,_0x5f4a91,_0x329bc3,_0x5e4966=0x0;_0x329bc3=_0x5332c4['charAt'](_0x5e4966++);~_0x329bc3&&(_0x5f4a91=_0x299544%0x4?_0x5f4a91*0x40+_0x329bc3:_0x329bc3,_0x299544++%0x4)?_0x4f9fe2+=String['fromCharCode'](0xff&_0x5f4a91>>(-0x2*_0x299544&0x6)):0x0){_0x329bc3=_0x566dcd['indexOf'](_0x329bc3);}for(let _0x47d58c=0x0,_0x1fbb9d=_0x4f9fe2['length'];_0x47d58c<_0x1fbb9d;_0x47d58c++){_0x57b13f+='%'+('00'+_0x4f9fe2['charCodeAt'](_0x47d58c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57b13f);};a0_0x12cf['vVpOVS']=_0x391ee5,a0_0x12cf['hsHJnT']={},a0_0x12cf['xXZQFD']=!![];}const _0x1040d1=_0x27409d[0x0],_0x139bb2=_0x50618e+_0x1040d1,_0xd5cbca=a0_0x12cf['hsHJnT'][_0x139bb2];return!_0xd5cbca?(_0x12cf4e=a0_0x12cf['vVpOVS'](_0x12cf4e),a0_0x12cf['hsHJnT'][_0x139bb2]=_0x12cf4e):_0x12cf4e=_0xd5cbca,_0x12cf4e;}function a0_0x2740(){const _0xe8b9c8=['BMfTzq','Aw5MBW','BgvUz3rO','Dw5RBM93BG','x2DLDe1VC3rdB3n0rwzMAwnPzw50','yMvUy2HTyxjRCW','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','z2v0vgLTzq','mJqYnJq5nLr2rxnssa','Bg9HzejLBMnOBwfYA3m','tM8GyMvUy2HTyxjRigrHDgeGyxzHAwXHyMXLic0GqvbjigzLDgnOigzHAwXLza','nZq1nZy4DuLWCgjn','qMvHCMvYia','Bg9Nz2vY','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','y29ZDa','ANnVBG','yw5HBhLZAxm','CMvMCMvZAeLUDgvYDMfS','Bwf4','CxvPy2STDgfZA3m','C3rHDhvZvgv4Da','ndG0nZGYoxDethvAyW','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza','zxjYB3i','x2DLDejLC3rnB2rLBezVCLrHC2S','A2v5CW','z2v0u3rHDhvZ','DMfSDwvZ','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','nZa1D2Tur3Lb','DgfZA3m','AxnmB2fKAw5N','sfruuca','BwvZC2fNzq','Dg9ju09tDhjPBMC','C291CMnL','otbVz3PmuwG','BgfZDfvWzgf0zwq','mJy4mJCYmg9Aq0HpsW','y3jLyxrPDMu','z2v0qMvUy2HTyxjRvgfIBgu','x3nJAgvKDwXLuMvMCMvZAa','BwfW','nZmXnde0t0zHCLnV','zgvIDwC','Aw5PDgLHBgL6zq','y29UzMLN','BMvLzhnszwzYzxnO','mJy2nZqWmhbctuPirW','mJK2nLHxwuncuG','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','r0vu'];a0_0x2740=function(){return _0xe8b9c8;};return a0_0x2740();}
1
+ const a0_0x453c65=a0_0x11fe;(function(_0xca7a58,_0x997fb9){const _0x1b7617=a0_0x11fe,_0x26f30c=_0xca7a58();while(!![]){try{const _0x497ac7=-parseInt(_0x1b7617(0x74))/0x1*(parseInt(_0x1b7617(0x70))/0x2)+parseInt(_0x1b7617(0xa5))/0x3+-parseInt(_0x1b7617(0x7b))/0x4*(parseInt(_0x1b7617(0x72))/0x5)+-parseInt(_0x1b7617(0x79))/0x6+-parseInt(_0x1b7617(0x73))/0x7+parseInt(_0x1b7617(0x7f))/0x8+-parseInt(_0x1b7617(0x77))/0x9;if(_0x497ac7===_0x997fb9)break;else _0x26f30c['push'](_0x26f30c['shift']());}catch(_0x2045a9){_0x26f30c['push'](_0x26f30c['shift']());}}}(a0_0xd7e5,0x7e58c));function a0_0x11fe(_0x5ceeeb,_0x4c3b34){_0x5ceeeb=_0x5ceeeb-0x6e;const _0xd7e5bd=a0_0xd7e5();let _0x11fe63=_0xd7e5bd[_0x5ceeeb];if(a0_0x11fe['EbjdFo']===undefined){var _0x5872ef=function(_0x150c4b){const _0x2cc337='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52ba1b='',_0x18dce4='';for(let _0x2a8502=0x0,_0x178489,_0x146727,_0x2f0a20=0x0;_0x146727=_0x150c4b['charAt'](_0x2f0a20++);~_0x146727&&(_0x178489=_0x2a8502%0x4?_0x178489*0x40+_0x146727:_0x146727,_0x2a8502++%0x4)?_0x52ba1b+=String['fromCharCode'](0xff&_0x178489>>(-0x2*_0x2a8502&0x6)):0x0){_0x146727=_0x2cc337['indexOf'](_0x146727);}for(let _0x1af510=0x0,_0x4aaa2f=_0x52ba1b['length'];_0x1af510<_0x4aaa2f;_0x1af510++){_0x18dce4+='%'+('00'+_0x52ba1b['charCodeAt'](_0x1af510)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18dce4);};a0_0x11fe['WIMVgI']=_0x5872ef,a0_0x11fe['GNPEYg']={},a0_0x11fe['EbjdFo']=!![];}const _0x201221=_0xd7e5bd[0x0],_0x39b63f=_0x5ceeeb+_0x201221,_0x45bc35=a0_0x11fe['GNPEYg'][_0x39b63f];return!_0x45bc35?(_0x11fe63=a0_0x11fe['WIMVgI'](_0x11fe63),a0_0x11fe['GNPEYg'][_0x39b63f]=_0x11fe63):_0x11fe63=_0x45bc35,_0x11fe63;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';function a0_0xd7e5(){const _0x45caaf=['AxnmB2fKAw5N','yxbPs2v5','zgvIDwC','qMvUy2HTyxjRigXVywrPBMCGywXYzwfKEsbPBIbWCM9NCMvZCW','tM8GyMvUy2HTyxjRigrHDgeGyxzHAwXHyMXLic0GqvbjigzLDgnOigzHAwXLza','BgvUz3rO','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','BgfZDfvWzgf0zwq','Bwf4','Bg9HzejLBMnOBwfYA3m','y29ZDa','BM93','BwvZC2fNzq','zM9Yy2vszwzYzxnO','C291CMnL','x2DLDezHC3rLC3rnB2rLBa','z2v0vgLTzq','Bw9KzwXZ','qMvHCMvYia','yMvUy2HTyxjRCW','mJm3mdqXmu1RA2fiDG','z2v0qMvUy2HTyxjRvgfIBgu','x3nJAgvKDwXLuMvMCMvZAa','DMfSDwvZ','z2v0u3rHDhvZ','CxvPy2STDgfZA3m','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0','C2nVCMu','BMvLzhnszwzYzxnO','mJa2mKPXz2D2wa','x2DLDejLC3rnB2rLBezVCLrHC2S','mZu0otKWBfPJsuvn','mZG3nduWn1jLwK5dwa','mtvAt3POA3q','Dg9ju09tDhjPBMC','zxjYB3i','nZe0otqYAMXZBwHx','A2v5CW','mta3nZqXnevRwfrwsG','DgfZA3m','ngnnt0LLva','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','BwfW','C29YDa','ntaXmdGWmgLNrKXgBq','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','y29UzMLN','CMvMCMvZAeLUDgvYDMfS','yw5HBhLZAxm','yxP1CMvcywnRzw5KvxjS','BMfTzq','Bg9Nz2vY','x2DLDe1VC3rdB3n0rwzMAwnPzw50','C3rHDhvZvgv4Da','C3rHDhvZ','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','Aw5PDgLHBgL6zq','yxbWBgLJyxrPB24VANnVBG','Dw5RBM93BG','y29KAw5N','C3bLzwq','Aw5MBW'];a0_0xd7e5=function(){return _0x45caaf;};return a0_0xd7e5();}class BenchmarkService{constructor(_0x52ba1b,_0x18dce4){const _0x39fbcf=a0_0x11fe;this[_0x39fbcf(0x81)]=_0x52ba1b,this['logger']=_0x18dce4,this[_0x39fbcf(0xa4)]=null,this[_0x39fbcf(0x98)]=null,this['isLoading']=![],this[_0x39fbcf(0x84)]=_0x39fbcf(0xab),this[_0x39fbcf(0x82)]=MODEL_ROUTER_CONFIG[_0x39fbcf(0x97)];}async[a0_0x453c65(0x8b)](){const _0x1ef323=a0_0x453c65;try{await this[_0x1ef323(0x9a)](),this[_0x1ef323(0xa7)](),this['logger']['info']('Benchmark\x20service\x20initialized');}catch(_0x2a8502){this[_0x1ef323(0x86)]['error']('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x2a8502['message']}),this['benchmarks']=null;}}['getBenchmarks'](){const _0x2d7811=a0_0x453c65;if(!this[_0x2d7811(0xa4)])return this['logger']['error'](_0x2d7811(0x95),{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this[_0x2d7811(0xa4)];}async[a0_0x453c65(0x9a)](){const _0x50f2ea=a0_0x453c65;if(this['isLoading']){this['logger'][_0x50f2ea(0x93)](_0x50f2ea(0x94));return;}this[_0x50f2ea(0x91)]=!![];try{const _0x178489=await this['_fetchFromAzureBackend']();if(_0x178489)this['benchmarks']=_0x178489,this['lastUpdated']=new Date(),this[_0x50f2ea(0x86)][_0x50f2ea(0x90)]('Benchmarks loaded from Azure backend',{'modelCount':_0x178489['models']?.['length']||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x146727){this['logger'][_0x50f2ea(0x76)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x146727[_0x50f2ea(0x9d)],'endpoint':url}),!this['benchmarks']&&(this['benchmarks']=null);}finally{this[_0x50f2ea(0x91)]=![];}}[a0_0x453c65(0xa6)](){const _0x18ea1e=a0_0x453c65,_0x2f0a20=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.[_0x18ea1e(0x75)]()||_0x18ea1e(0x8d),'models':_0x2f0a20['models']||[],'tasks':_0x2f0a20['tasks']||{},'summary':this[_0x18ea1e(0x80)](_0x2f0a20)};}['needsRefresh'](){const _0x5149cc=a0_0x453c65;if(!this['lastUpdated'])return!![];const _0x1af510=Date[_0x5149cc(0x9c)]()-this['lastUpdated'][_0x5149cc(0xa1)]();return _0x1af510>this['refreshInterval'];}async['_fetchFromAzureBackend'](){const _0x273c63=a0_0x453c65,_0x4aaa2f=this[_0x273c63(0x84)]+_0x273c63(0x8a);let _0x864153=null;this[_0x273c63(0x81)][_0x273c63(0x92)]&&(_0x864153=this[_0x273c63(0x81)]['apiKey']);const _0x2e82e3={'method':'GET','headers':{'Content-Type':_0x273c63(0x8c),..._0x864153&&{'Authorization':_0x273c63(0xa3)+_0x864153}},'timeout':0x2710};this['logger']['debug']('Fetching benchmarks from Azure backend',{'url':_0x4aaa2f});const _0x4b4257=await fetch(_0x4aaa2f,_0x2e82e3);if(!_0x4b4257['ok'])throw new Error('HTTP\x20'+_0x4b4257[_0x273c63(0x89)]+':\x20'+_0x4b4257[_0x273c63(0x88)]);const _0xaf29ca=await _0x4b4257['json']();return _0xaf29ca;}['_generateBenchmarkSummary'](_0x25da50){const _0x124cc4=a0_0x453c65,_0xd1a092=_0x25da50[_0x124cc4(0xa2)]||[];return{'totalModels':_0xd1a092[_0x124cc4(0x96)],'taskCategories':Object[_0x124cc4(0x78)](_0x25da50[_0x124cc4(0x7a)]||{}),'bestForCoding':this['_getBestModelForTask'](_0xd1a092,_0x124cc4(0x8e)),'bestForAnalysis':this['_getBestModelForTask'](_0xd1a092,_0x124cc4(0x83)),'bestForQuickTasks':this['_getBestModelForTask'](_0xd1a092,_0x124cc4(0xaa)),'bestForCreative':this[_0x124cc4(0x71)](_0xd1a092,'creative'),'fastestModel':this[_0x124cc4(0xa0)](_0xd1a092),'mostCostEfficient':this[_0x124cc4(0x87)](_0xd1a092)};}[a0_0x453c65(0x71)](_0x329f38,_0x4ba899){const _0x39d65c=a0_0x453c65;return _0x329f38['filter'](_0x2a463e=>_0x2a463e[_0x39d65c(0x7a)]&&_0x2a463e[_0x39d65c(0x7a)][_0x4ba899])[_0x39d65c(0x7e)]((_0x39491c,_0x31fb17)=>(_0x31fb17['tasks'][_0x4ba899][_0x39d65c(0x6e)]||0x0)-(_0x39491c['tasks'][_0x4ba899][_0x39d65c(0x6e)]||0x0))[0x0]?.[_0x39d65c(0x85)]||'unknown';}['_getFastestModel'](_0x186377){const _0x52b3dc=a0_0x453c65,_0x5bd579={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x186377['sort']((_0x1b60e0,_0x4b1b3a)=>{const _0x1d7206=a0_0x11fe,_0x2cc2c1=Math['max'](...Object[_0x1d7206(0xa8)](_0x1b60e0[_0x1d7206(0x7a)]||{})['map'](_0x41b8d6=>_0x5bd579[_0x41b8d6[_0x1d7206(0x8f)]]||0x0)),_0x34fced=Math['max'](...Object['values'](_0x4b1b3a[_0x1d7206(0x7a)]||{})[_0x1d7206(0x7d)](_0x1b326f=>_0x5bd579[_0x1b326f[_0x1d7206(0x8f)]]||0x0));return _0x34fced-_0x2cc2c1;})[0x0]?.[_0x52b3dc(0x85)]||_0x52b3dc(0x8d);}[a0_0x453c65(0x87)](_0x46d286){const _0x50a362=a0_0x453c65,_0x2d8b90={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x46d286[_0x50a362(0x7e)]((_0x407148,_0x1785e0)=>{const _0x3cfb4f=_0x50a362,_0x2cdde8=Math[_0x3cfb4f(0x99)](...Object['values'](_0x407148['tasks']||{})[_0x3cfb4f(0x7d)](_0x6efae4=>_0x2d8b90[_0x6efae4[_0x3cfb4f(0x9b)]]||0x0)),_0x1d2a1f=Math[_0x3cfb4f(0x99)](...Object[_0x3cfb4f(0xa8)](_0x1785e0['tasks']||{})['map'](_0x37a706=>_0x2d8b90[_0x37a706[_0x3cfb4f(0x9b)]]||0x0));return _0x1d2a1f-_0x2cdde8;})[0x0]?.[_0x50a362(0x85)]||'unknown';}[a0_0x453c65(0xa7)](){const _0x302603=a0_0x453c65;setInterval(async()=>{const _0x5b982d=a0_0x11fe;this[_0x5b982d(0x6f)]()&&(this[_0x5b982d(0x86)]['debug']('Refreshing\x20benchmark\x20data'),await this[_0x5b982d(0x9a)]());},this[_0x302603(0x82)]);}async[a0_0x453c65(0x9e)](){const _0x496073=a0_0x453c65;this[_0x496073(0x86)][_0x496073(0x90)](_0x496073(0x7c)),await this['loadBenchmarks']();}[a0_0x453c65(0xa9)](){const _0x1b3a5d=a0_0x453c65;return{'initialized':!!this[_0x1b3a5d(0xa4)],'lastUpdated':this['lastUpdated']?.[_0x1b3a5d(0x75)]()||null,'source':this['benchmarks']?.[_0x1b3a5d(0x9f)]||'unknown','modelCount':this[_0x1b3a5d(0xa4)]?.[_0x1b3a5d(0xa2)]?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this[_0x1b3a5d(0x6f)]()};}}export default BenchmarkService;
@@ -1 +1 @@
1
- function a0_0xc992(_0x1d1ad0,_0x1fd5d4){_0x1d1ad0=_0x1d1ad0-0x1a1;const _0x3de347=a0_0x3de3();let _0xc9920c=_0x3de347[_0x1d1ad0];if(a0_0xc992['RgMthS']===undefined){var _0x3c1e05=function(_0x53f4ed){const _0x3ce7b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xda20db='',_0x4103cc='';for(let _0x554444=0x0,_0xcfea4f,_0x320dae,_0x10ee18=0x0;_0x320dae=_0x53f4ed['charAt'](_0x10ee18++);~_0x320dae&&(_0xcfea4f=_0x554444%0x4?_0xcfea4f*0x40+_0x320dae:_0x320dae,_0x554444++%0x4)?_0xda20db+=String['fromCharCode'](0xff&_0xcfea4f>>(-0x2*_0x554444&0x6)):0x0){_0x320dae=_0x3ce7b8['indexOf'](_0x320dae);}for(let _0x3d11b2=0x0,_0x1c7f81=_0xda20db['length'];_0x3d11b2<_0x1c7f81;_0x3d11b2++){_0x4103cc+='%'+('00'+_0xda20db['charCodeAt'](_0x3d11b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4103cc);};a0_0xc992['LKRQZT']=_0x3c1e05,a0_0xc992['nIAgiy']={},a0_0xc992['RgMthS']=!![];}const _0x255628=_0x3de347[0x0],_0x42e62d=_0x1d1ad0+_0x255628,_0xcd5aff=a0_0xc992['nIAgiy'][_0x42e62d];return!_0xcd5aff?(_0xc9920c=a0_0xc992['LKRQZT'](_0xc9920c),a0_0xc992['nIAgiy'][_0x42e62d]=_0xc9920c):_0xc9920c=_0xcd5aff,_0xc9920c;}function a0_0x3de3(){const _0x50b676=['ANnVBG','z2v0vxnHz2vuCMvUzhm','z2v0qwDLBNrvC2fNzq','sw52ywXPzcbWzxjPB2q6ia','ltaX','mJKXnJeZmhbeC0vrzG','Bg9HzfvZywDLrgf0yq','Bw9KzwXjza','Dg9ju09tDhjPBMC','y3n2','Bwf4','ChvZAa','Dw5KzwzPBMvK','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','DgHYzxnOB2XKx3jLywnOzwq','zgfPBhK','C2XPy2u','z2v0rgf5s2v5','C2v0qNvKz2v0CW','z2v0rgf0zq','z2v0tw9UDgG','DxnHz2u','CMvXDwvZDhm','Dw5ZAgLMDa','BwfW','yNvKz2v0x2v4y2vLzgvK','Bw9UDgHSEq','zgfPBhLbDMvYywDLCW','C29YDa','y2HLy2TuAhjLC2HVBgrbBgvYDhm','y29ZDa','B3v0Chv0','DxbKyxrLvxnHz2vfBNrYEq','yNLnB2rLBa','C3rYAw5NAwz5','C2vUzej1zgDLDefSzxj0','rMfPBgvKihrVihrYywnRihvZywDL','z2v0rNvSBfLLyxi','BgfZDefSzxj0vgLTzxm','C2vUzfrOCMvZAg9SzefSzxj0','vxnHz2uGzgf0ysbZyxzLza','ywXLCNrZ','nZHwshbOB1K','zM9YrwfJAa','y2HLy2TuAhjLC2HVBgq','z2v0v2vLA051BwjLCG','Dg9Rzw5Z','z2v0uMvTywLUAw5NqNvKz2v0','C2f2zvvZywDLrgf0yq','D2vLA2X5','ndvRChjSsg0','Dg90ywXFDg9Rzw5Z','y2fSy3vSyxrLq29ZDa','nty3ndGYnhb4zgHoCW','AM9PBG','zNjVBq','yNLbz2vUDa','Dg90ywW','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','rMfPBgvKihrVigXVywqGDxnHz2uGzgf0yq','Aw5PDgLHBgL6zvvZywDLrw50CNK','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','y2vPBa','Bg9Nz2vY','q29ZDa','D2fYBG','C2v0','zxjYB3i','nZa3sufXyufT','odu3mZr3ExviDvO','y3jLyxrLrw1WDhLvC2fNzq','mta4mJHLvfDwA0m','yNvKz2v0CW','C2v0rgf0zq','yNvKz2v0qwXLCNq','AgfZ','Dg9Rzw5ZqNLeyxK','ywDLBNrjza','C2v0DxbqzxjPB2rPy1nHDMu','mti1mtC4mg5pvKrQAa','nti2mtzkB09eANK','zw50CMLLCW','zw1PDa','rgf0zq','uMvXDwvZDhm','DhjHy2TvC2fNzq','z2v0vxnHz2u','nteWmJHHt21NAMi','z2v0tw9UDgHlzxK','Aw5WDxq','vxnHz2uGDhjHy2TLza','z2v0','tu9oveHmwq'];a0_0x3de3=function(){return _0x50b676;};return a0_0x3de3();}const a0_0x1580b4=a0_0xc992;(function(_0x55b4e5,_0x186ee3){const _0x1ed3a8=a0_0xc992,_0x4259ed=_0x55b4e5();while(!![]){try{const _0x48b93a=-parseInt(_0x1ed3a8(0x1ab))/0x1+parseInt(_0x1ed3a8(0x1a3))/0x2+parseInt(_0x1ed3a8(0x1db))/0x3*(-parseInt(_0x1ed3a8(0x1f8))/0x4)+parseInt(_0x1ed3a8(0x1e3))/0x5*(parseInt(_0x1ed3a8(0x1f6))/0x6)+parseInt(_0x1ed3a8(0x1f5))/0x7*(parseInt(_0x1ed3a8(0x1a4))/0x8)+-parseInt(_0x1ed3a8(0x1e6))/0x9+-parseInt(_0x1ed3a8(0x1b6))/0xa;if(_0x48b93a===_0x186ee3)break;else _0x4259ed['push'](_0x4259ed['shift']());}catch(_0x3a5b92){_0x4259ed['push'](_0x4259ed['shift']());}}}(a0_0x3de3,0x5b9a9));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0xda20db,_0x4103cc){const _0x5ca772=a0_0xc992;this['config']=_0xda20db||{},this[_0x5ca772(0x1f0)]=_0x4103cc,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x5ca772(0x1f9)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS['WEEKLY'],'monthly':BUDGET_LIMITS[_0x5ca772(0x1b0)]},this[_0x5ca772(0x1da)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this['loadUsageData'](),this['setupPeriodicSave']();}[a0_0x1580b4(0x1a9)](_0x554444,_0xcfea4f,_0x320dae){const _0x1051f6=a0_0x1580b4;try{const _0x10ee18=this[_0x1051f6(0x1e5)](_0xcfea4f,_0x320dae),_0x3d11b2=new Date(),_0x1c7f81=this[_0x1051f6(0x1c2)](_0x3d11b2),_0x52fa3a=this['getWeekKey'](_0x3d11b2),_0x254dbd=this[_0x1051f6(0x1ac)](_0x3d11b2);this['initializeUsageEntry'](this['usage'][_0x1051f6(0x1c0)],_0x1c7f81),this['initializeUsageEntry'](this[_0x1051f6(0x1c6)][_0x1051f6(0x1e2)],_0x52fa3a),this[_0x1051f6(0x1ed)](this[_0x1051f6(0x1c6)][_0x1051f6(0x1cb)],_0x254dbd);const _0x6b6c99={'agentId':_0x554444,'modelId':_0xcfea4f,'tokens':_0x320dae[_0x1051f6(0x1e4)],'cost':_0x10ee18,'timestamp':_0x3d11b2[_0x1051f6(0x1b9)]()};return this[_0x1051f6(0x1d1)](this['usage']['daily']['get'](_0x1c7f81),_0x6b6c99),this[_0x1051f6(0x1d1)](this['usage'][_0x1051f6(0x1e2)][_0x1051f6(0x1af)](_0x52fa3a),_0x6b6c99),this['updateUsageEntry'](this[_0x1051f6(0x1c6)]['monthly']['get'](_0x254dbd),_0x6b6c99),this['usage'][_0x1051f6(0x1ea)][_0x1051f6(0x1df)]+=_0x320dae['total_tokens'],this['usage']['total']['cost']+=_0x10ee18,this[_0x1051f6(0x1c6)][_0x1051f6(0x1ea)][_0x1051f6(0x1c7)]+=0x1,this['checkBudgetLimits'](_0x1c7f81,_0x52fa3a,_0x254dbd),this[_0x1051f6(0x1f0)]['info'](_0x1051f6(0x1ae),{'agentId':_0x554444,'modelId':_0xcfea4f,'tokens':_0x320dae[_0x1051f6(0x1e4)],'cost':_0x10ee18,'totalCost':this['usage']['total']['cost']}),{'cost':_0x10ee18,'totalCost':this['usage']['total'][_0x1051f6(0x1cf)],'totalTokens':this[_0x1051f6(0x1c6)]['total']['tokens'],'dailyUsage':this['usage'][_0x1051f6(0x1c0)]['get'](_0x1c7f81),'budgetRemaining':this[_0x1051f6(0x1e0)]()};}catch(_0x3b3d42){this['logger']['error'](_0x1051f6(0x1d5),{'error':_0x3b3d42['message'],'agentId':_0x554444,'modelId':_0xcfea4f});throw _0x3b3d42;}}['calculateCost'](_0x22bedb,_0x48a97f){const _0x50481d=a0_0x1580b4,_0xdd8779=COST_PER_TOKEN[_0x22bedb];if(!_0xdd8779)return this['logger'][_0x50481d(0x1f2)](_0x50481d(0x1be),{'modelId':_0x22bedb}),0x0;const _0x35a55d=(_0x48a97f['prompt_tokens']||0x0)*_0xdd8779[_0x50481d(0x1ad)],_0x1a3aec=(_0x48a97f['completion_tokens']||0x0)*_0xdd8779[_0x50481d(0x1d0)];return _0x35a55d+_0x1a3aec;}[a0_0x1580b4(0x1aa)](_0x6d1f10=a0_0x1580b4(0x1c0),_0x4beb30=new Date()){const _0x3f60f4=a0_0x1580b4;switch(_0x6d1f10){case'daily':return this['usage']['daily']['get'](this[_0x3f60f4(0x1c2)](_0x4beb30))||this[_0x3f60f4(0x1f7)]();case'weekly':return this['usage'][_0x3f60f4(0x1e2)][_0x3f60f4(0x1af)](this['getWeekKey'](_0x4beb30))||this['createEmptyUsage']();case _0x3f60f4(0x1cb):return this[_0x3f60f4(0x1c6)]['monthly']['get'](this[_0x3f60f4(0x1ac)](_0x4beb30))||this[_0x3f60f4(0x1f7)]();case'total':return{...this[_0x3f60f4(0x1c6)]['total']};default:throw new Error(_0x3f60f4(0x1b4)+_0x6d1f10);}}[a0_0x1580b4(0x1b3)](_0x3fd911,_0x646a2b=a0_0x1580b4(0x1c0)){const _0x57fe94=a0_0x1580b4,_0x364b7b=this['getUsage'](_0x646a2b);return _0x364b7b['byAgent']?.[_0x3fd911]||this[_0x57fe94(0x1f7)]();}['getModelUsage'](_0x1a120a,_0x53b572='daily'){const _0x4c9248=this['getUsage'](_0x53b572);return _0x4c9248['byModel']?.[_0x1a120a]||this['createEmptyUsage']();}[a0_0x1580b4(0x1c3)](_0x50d6c6){const _0x88a729=a0_0x1580b4;if(_0x50d6c6['daily']!==undefined)this['budgets'][_0x88a729(0x1c0)]=_0x50d6c6['daily'];if(_0x50d6c6['weekly']!==undefined)this['budgets']['weekly']=_0x50d6c6['weekly'];if(_0x50d6c6[_0x88a729(0x1cb)]!==undefined)this['budgets'][_0x88a729(0x1cb)]=_0x50d6c6['monthly'];this['logger']['info']('Budget\x20limits\x20updated',this[_0x88a729(0x1f9)]),this[_0x88a729(0x1e1)]();}[a0_0x1580b4(0x1e0)](){const _0x5ee749=a0_0x1580b4,_0x2629c9=new Date(),_0x185b27=this['getUsage'](_0x5ee749(0x1c0),_0x2629c9),_0x16f0a5=this[_0x5ee749(0x1aa)]('weekly',_0x2629c9),_0x111d0a=this[_0x5ee749(0x1aa)](_0x5ee749(0x1cb),_0x2629c9);return{'daily':Math[_0x5ee749(0x1bb)](0x0,this[_0x5ee749(0x1f9)][_0x5ee749(0x1c0)]-_0x185b27[_0x5ee749(0x1cf)]),'weekly':Math[_0x5ee749(0x1bb)](0x0,this['budgets'][_0x5ee749(0x1e2)]-_0x16f0a5[_0x5ee749(0x1cf)]),'monthly':Math[_0x5ee749(0x1bb)](0x0,this[_0x5ee749(0x1f9)][_0x5ee749(0x1cb)]-_0x111d0a['cost'])};}['isWithinBudget'](_0x4b0df3=a0_0x1580b4(0x1c0)){const _0x4ba9d7=a0_0x1580b4,_0xd14a12=this[_0x4ba9d7(0x1aa)](_0x4b0df3),_0x20c2a7=this['budgets'][_0x4b0df3];return _0xd14a12['cost']<=_0x20c2a7;}[a0_0x1580b4(0x1b2)](_0x55627d=0x1e){const _0x594e33=a0_0x1580b4,_0x5502df={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x491ffe=new Date();let _0x39a4bb=0x0,_0x163a15=0x0,_0xf859c8=0x0;const _0x2ca67e=new Map(),_0x243db3=new Map();for(let _0x37fe6c=0x0;_0x37fe6c<_0x55627d;_0x37fe6c++){const _0xb12d80=new Date(_0x491ffe);_0xb12d80[_0x594e33(0x1fa)](_0xb12d80[_0x594e33(0x1c4)]()-_0x37fe6c);const _0x42a87b=this['getDayKey'](_0xb12d80),_0x17ddf5=this[_0x594e33(0x1c6)][_0x594e33(0x1c0)][_0x594e33(0x1af)](_0x42a87b);_0x17ddf5?(_0x39a4bb+=_0x17ddf5['cost'],_0x163a15+=_0x17ddf5['tokens'],_0xf859c8+=_0x17ddf5[_0x594e33(0x1c7)],_0x5502df['costByDay'][_0x594e33(0x1c8)]({'date':_0x42a87b,'cost':_0x17ddf5[_0x594e33(0x1cf)]}),_0x5502df[_0x594e33(0x1fd)]['unshift']({'date':_0x42a87b,'tokens':_0x17ddf5['tokens']}),Object['entries'](_0x17ddf5[_0x594e33(0x1e9)]||{})['forEach'](([_0x17fc1d,_0x405f5e])=>{const _0xb7bad4=_0x594e33;!_0x2ca67e[_0xb7bad4(0x1fc)](_0x17fc1d)&&_0x2ca67e['set'](_0x17fc1d,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x56b897=_0x2ca67e[_0xb7bad4(0x1af)](_0x17fc1d);_0x56b897['cost']+=_0x405f5e[_0xb7bad4(0x1cf)],_0x56b897[_0xb7bad4(0x1df)]+=_0x405f5e[_0xb7bad4(0x1df)],_0x56b897['requests']+=_0x405f5e[_0xb7bad4(0x1c7)];}),Object[_0x594e33(0x1a5)](_0x17ddf5[_0x594e33(0x1d2)]||{})[_0x594e33(0x1dc)](([_0x290514,_0x3c97f3])=>{const _0x12f912=_0x594e33;!_0x243db3['has'](_0x290514)&&_0x243db3[_0x12f912(0x1f3)](_0x290514,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x19e51d=_0x243db3['get'](_0x290514);_0x19e51d[_0x12f912(0x1cf)]+=_0x3c97f3[_0x12f912(0x1cf)],_0x19e51d[_0x12f912(0x1df)]+=_0x3c97f3[_0x12f912(0x1df)],_0x19e51d[_0x12f912(0x1c7)]+=_0x3c97f3['requests'];})):(_0x5502df['costByDay'][_0x594e33(0x1c8)]({'date':_0x42a87b,'cost':0x0}),_0x5502df[_0x594e33(0x1fd)]['unshift']({'date':_0x42a87b,'tokens':0x0}));}return _0x5502df['dailyAverages'][_0x594e33(0x1cf)]=_0x39a4bb/_0x55627d,_0x5502df[_0x594e33(0x1cc)][_0x594e33(0x1df)]=_0x163a15/_0x55627d,_0x5502df['dailyAverages'][_0x594e33(0x1c7)]=_0xf859c8/_0x55627d,_0x5502df['topAgents']=Array[_0x594e33(0x1e8)](_0x2ca67e['entries']())[_0x594e33(0x1c9)](([_0x42d50f,_0x20e4c3])=>({'id':_0x42d50f,..._0x20e4c3}))['sort']((_0x4eb0be,_0xb841b7)=>_0xb841b7[_0x594e33(0x1cf)]-_0x4eb0be['cost'])[_0x594e33(0x1c1)](0x0,0xa),_0x5502df['topModels']=Array['from'](_0x243db3['entries']())['map'](([_0x10102b,_0x1bdb90])=>({'id':_0x10102b,..._0x1bdb90}))[_0x594e33(0x1cd)]((_0x3815d2,_0x3b7d88)=>_0x3b7d88[_0x594e33(0x1cf)]-_0x3815d2['cost'])[_0x594e33(0x1c1)](0x0,0xa),_0x5502df;}['exportUsageData'](_0x56ef5c=a0_0x1580b4(0x1b1),_0x21b037=null,_0x199cfe=null){const _0x8ac120=a0_0x1580b4,_0x451f47={'budgets':this[_0x8ac120(0x1f9)],'total':this[_0x8ac120(0x1c6)][_0x8ac120(0x1ea)],'daily':{},'weekly':{},'monthly':{}},_0x1b1b7e=(_0x570ade,_0x577007)=>{const _0x10c754=_0x8ac120,_0x38d62b={};return _0x570ade[_0x10c754(0x1dc)]((_0x27bf67,_0x344353)=>{const _0x52adcb=_0x577007(_0x344353);(!_0x21b037||_0x52adcb>=_0x21b037)&&(!_0x199cfe||_0x52adcb<=_0x199cfe)&&(_0x38d62b[_0x344353]=_0x27bf67);}),_0x38d62b;};_0x21b037||_0x199cfe?(_0x451f47[_0x8ac120(0x1c0)]=_0x1b1b7e(this[_0x8ac120(0x1c6)]['daily'],_0x18f9ae=>new Date(_0x18f9ae)),_0x451f47[_0x8ac120(0x1e2)]=_0x1b1b7e(this['usage']['weekly'],_0x56d982=>new Date(_0x56d982)),_0x451f47['monthly']=_0x1b1b7e(this['usage']['monthly'],_0x334c0d=>new Date(_0x334c0d+_0x8ac120(0x1b5)))):(this['usage'][_0x8ac120(0x1c0)][_0x8ac120(0x1dc)]((_0xd1a752,_0x2a6031)=>_0x451f47['daily'][_0x2a6031]=_0xd1a752),this[_0x8ac120(0x1c6)][_0x8ac120(0x1e2)][_0x8ac120(0x1dc)]((_0x2b1c34,_0x120ced)=>_0x451f47['weekly'][_0x120ced]=_0x2b1c34),this['usage'][_0x8ac120(0x1cb)][_0x8ac120(0x1dc)]((_0x5c7ec2,_0x3fa1ed)=>_0x451f47['monthly'][_0x3fa1ed]=_0x5c7ec2));if(_0x56ef5c===_0x8ac120(0x1ba))return this['convertToCSV'](_0x451f47);return JSON[_0x8ac120(0x1d3)](_0x451f47,null,0x2);}[a0_0x1580b4(0x1ed)](_0x322763,_0x71860){const _0x5bee08=a0_0x1580b4;!_0x322763['has'](_0x71860)&&_0x322763[_0x5bee08(0x1f3)](_0x71860,this['createEmptyUsage']());}[a0_0x1580b4(0x1f7)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x1580b4(0x1d1)](_0x160125,_0x2bd6bf){const _0x12e4d4=a0_0x1580b4;_0x160125['cost']+=_0x2bd6bf[_0x12e4d4(0x1cf)],_0x160125['tokens']+=_0x2bd6bf['tokens'],_0x160125[_0x12e4d4(0x1c7)]+=0x1,!_0x160125[_0x12e4d4(0x1e9)][_0x2bd6bf['agentId']]&&(_0x160125['byAgent'][_0x2bd6bf['agentId']]=this[_0x12e4d4(0x1f7)]()),_0x160125[_0x12e4d4(0x1e9)][_0x2bd6bf[_0x12e4d4(0x1a1)]][_0x12e4d4(0x1cf)]+=_0x2bd6bf['cost'],_0x160125['byAgent'][_0x2bd6bf[_0x12e4d4(0x1a1)]]['tokens']+=_0x2bd6bf[_0x12e4d4(0x1df)],_0x160125['byAgent'][_0x2bd6bf[_0x12e4d4(0x1a1)]][_0x12e4d4(0x1c7)]+=0x1,!_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]&&(_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]=this['createEmptyUsage']()),_0x160125['byModel'][_0x2bd6bf['modelId']]['cost']+=_0x2bd6bf['cost'],_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]['tokens']+=_0x2bd6bf['tokens'],_0x160125['byModel'][_0x2bd6bf[_0x12e4d4(0x1b8)]]['requests']+=0x1;}['checkBudgetLimits'](_0x1a0f1c,_0x1971b7,_0x1459b5){const _0x29b0e0=a0_0x1580b4,_0x45c20c=this[_0x29b0e0(0x1c6)][_0x29b0e0(0x1c0)][_0x29b0e0(0x1af)](_0x1a0f1c),_0x33de9c=this[_0x29b0e0(0x1c6)]['weekly']['get'](_0x1971b7),_0x24cbe6=this['usage']['monthly'][_0x29b0e0(0x1af)](_0x1459b5);_0x45c20c[_0x29b0e0(0x1cf)]>this[_0x29b0e0(0x1f9)][_0x29b0e0(0x1c0)]&&this['sendBudgetAlert'](_0x29b0e0(0x1c0),_0x45c20c[_0x29b0e0(0x1cf)],this['budgets']['daily']),_0x33de9c[_0x29b0e0(0x1cf)]>this['budgets']['weekly']&&this['sendBudgetAlert']('weekly',_0x33de9c[_0x29b0e0(0x1cf)],this[_0x29b0e0(0x1f9)]['weekly']),_0x24cbe6[_0x29b0e0(0x1cf)]>this['budgets'][_0x29b0e0(0x1cb)]&&this[_0x29b0e0(0x1d4)](_0x29b0e0(0x1cb),_0x24cbe6['cost'],this[_0x29b0e0(0x1f9)]['monthly']),this[_0x29b0e0(0x1ce)](_0x45c20c,_0x33de9c,_0x24cbe6);}[a0_0x1580b4(0x1ce)](_0x3138b0,_0x1e097b,_0xb41969){const _0x21aca9=a0_0x1580b4,_0x273253=this[_0x21aca9(0x1da)]['thresholds'];this['checkThreshold']('daily',_0x3138b0[_0x21aca9(0x1cf)],this[_0x21aca9(0x1f9)]['daily'],_0x273253),this[_0x21aca9(0x1dd)](_0x21aca9(0x1e2),_0x1e097b['cost'],this['budgets'][_0x21aca9(0x1e2)],_0x273253),this[_0x21aca9(0x1dd)]('monthly',_0xb41969[_0x21aca9(0x1cf)],this['budgets'][_0x21aca9(0x1cb)],_0x273253);}['checkThreshold'](_0xd80fda,_0x523c98,_0x453ae7,_0x2f786a){const _0x50ca0e=a0_0x1580b4,_0x46a533=_0x523c98/_0x453ae7*0x64;for(const _0x29076a of _0x2f786a){if(_0x46a533>=_0x29076a){const _0x52a136=_0xd80fda+'_'+_0x29076a,_0x218a24=this['alerts'][_0x50ca0e(0x1d7)]['get'](_0x52a136),_0x2bf148=Date['now']();(!_0x218a24||_0x2bf148-_0x218a24>0x36ee80)&&(this[_0x50ca0e(0x1d8)](_0xd80fda,_0x46a533,_0x29076a,_0x523c98,_0x453ae7),this[_0x50ca0e(0x1da)][_0x50ca0e(0x1d7)]['set'](_0x52a136,_0x2bf148));break;}}}['sendBudgetAlert'](_0x52b552,_0xd8b4dc,_0x2984da){const _0x4be83c=a0_0x1580b4;this['logger']['warn']('Budget\x20limit\x20exceeded',{'period':_0x52b552,'currentUsage':_0xd8b4dc,'budgetLimit':_0x2984da,'excess':_0xd8b4dc-_0x2984da}),typeof process!==_0x4be83c(0x1bd)&&process['emit']&&process[_0x4be83c(0x1a6)]('budgetAlert',{'type':_0x4be83c(0x1ca),'period':_0x52b552,'currentUsage':_0xd8b4dc,'budgetLimit':_0x2984da,'excess':_0xd8b4dc-_0x2984da});}['sendThresholdAlert'](_0x2eadcb,_0x2bc21b,_0x314558,_0x20e8e2,_0x3365d6){const _0x37018c=a0_0x1580b4;this[_0x37018c(0x1f0)]['warn'](_0x37018c(0x1eb),{'period':_0x2eadcb,'percentage':Math['round'](_0x2bc21b),'threshold':_0x314558,'usage':_0x20e8e2,'budget':_0x3365d6}),typeof process!==_0x37018c(0x1bd)&&process['emit']&&process['emit'](_0x37018c(0x1fb),{'type':_0x37018c(0x1bf),'period':_0x2eadcb,'percentage':Math['round'](_0x2bc21b),'threshold':_0x314558,'usage':_0x20e8e2,'budget':_0x3365d6});}['getDayKey'](_0x2dcbf1){return _0x2dcbf1['toISOString']()['split']('T')[0x0];}['getWeekKey'](_0x2e7947){const _0x393633=a0_0x1580b4,_0x4fcc60=_0x2e7947[_0x393633(0x1d6)](),_0xe08e3e=this['getWeekNumber'](_0x2e7947);return _0x4fcc60+'-W'+_0xe08e3e['toString']()['padStart'](0x2,'0');}['getMonthKey'](_0xddf3c1){const _0x48313a=a0_0x1580b4,_0x2acf6a=_0xddf3c1['getFullYear'](),_0x5746b3=_0xddf3c1[_0x48313a(0x1c5)]()+0x1;return _0x2acf6a+'-'+_0x5746b3['toString']()['padStart'](0x2,'0');}[a0_0x1580b4(0x1de)](_0x1bf3b3){const _0x7b4138=a0_0x1580b4,_0x816762=new Date(_0x1bf3b3[_0x7b4138(0x1d6)](),0x0,0x1),_0x2904f2=(_0x1bf3b3-_0x816762)/0x5265c00;return Math[_0x7b4138(0x1ef)]((_0x2904f2+_0x816762['getDay']()+0x1)/0x7);}['convertToCSV'](_0x5930f9){const _0x553e2b=a0_0x1580b4,_0x1510a2=[];return _0x1510a2[_0x553e2b(0x1bc)](['Period',_0x553e2b(0x1a7),_0x553e2b(0x1f1),'Tokens',_0x553e2b(0x1a8),'Agent','Model']),Object['entries'](_0x5930f9['daily'])['forEach'](([_0x40e311,_0xc5c9cb])=>{const _0x37f595=_0x553e2b;_0x1510a2['push'](['Daily',_0x40e311,_0xc5c9cb[_0x37f595(0x1cf)],_0xc5c9cb['tokens'],_0xc5c9cb[_0x37f595(0x1c7)],'','']),Object[_0x37f595(0x1a5)](_0xc5c9cb[_0x37f595(0x1e9)]||{})[_0x37f595(0x1dc)](([_0x438906,_0x4cbf4d])=>{const _0x3f907e=_0x37f595;_0x1510a2['push'](['Daily',_0x40e311,_0x4cbf4d[_0x3f907e(0x1cf)],_0x4cbf4d['tokens'],_0x4cbf4d['requests'],_0x438906,'']);});}),_0x1510a2[_0x553e2b(0x1c9)](_0x3516dd=>_0x3516dd[_0x553e2b(0x1e7)](','))['join']('\x0a');}[a0_0x1580b4(0x1b7)](){const _0x44b26b=a0_0x1580b4;try{this['logger']['info'](_0x44b26b(0x1ee));}catch(_0x5caf32){this[_0x44b26b(0x1f0)][_0x44b26b(0x1f4)](_0x44b26b(0x1ec),{'error':_0x5caf32['message']});}}['saveUsageData'](){const _0x24a14e=a0_0x1580b4;try{this[_0x24a14e(0x1f0)]['debug'](_0x24a14e(0x1d9));}catch(_0x1db88c){this[_0x24a14e(0x1f0)][_0x24a14e(0x1f4)]('Failed\x20to\x20save\x20usage\x20data',{'error':_0x1db88c['message']});}}[a0_0x1580b4(0x1a2)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}export default BudgetService;
1
+ const a0_0x2a3f22=a0_0x50ff;(function(_0x4f163a,_0x3f88d3){const _0x1c2d7f=a0_0x50ff,_0x27e6db=_0x4f163a();while(!![]){try{const _0x3a6a73=parseInt(_0x1c2d7f(0x1de))/0x1+-parseInt(_0x1c2d7f(0x1a5))/0x2+parseInt(_0x1c2d7f(0x1a2))/0x3*(parseInt(_0x1c2d7f(0x1c5))/0x4)+-parseInt(_0x1c2d7f(0x1d9))/0x5*(-parseInt(_0x1c2d7f(0x1e6))/0x6)+parseInt(_0x1c2d7f(0x1da))/0x7*(-parseInt(_0x1c2d7f(0x1f4))/0x8)+-parseInt(_0x1c2d7f(0x1e2))/0x9*(-parseInt(_0x1c2d7f(0x1e0))/0xa)+-parseInt(_0x1c2d7f(0x1c6))/0xb*(parseInt(_0x1c2d7f(0x1b4))/0xc);if(_0x3a6a73===_0x3f88d3)break;else _0x27e6db['push'](_0x27e6db['shift']());}catch(_0xbddd09){_0x27e6db['push'](_0x27e6db['shift']());}}}(a0_0x1300,0x2157b));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x50ff(_0x194a5a,_0x4c473b){_0x194a5a=_0x194a5a-0x18c;const _0x1300ca=a0_0x1300();let _0x50ffa7=_0x1300ca[_0x194a5a];if(a0_0x50ff['dscmxQ']===undefined){var _0xaf154=function(_0x4fdd48){const _0x102b4f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d0457='',_0x5dfc46='';for(let _0x52ad34=0x0,_0x3c3362,_0x7239ac,_0x5c627f=0x0;_0x7239ac=_0x4fdd48['charAt'](_0x5c627f++);~_0x7239ac&&(_0x3c3362=_0x52ad34%0x4?_0x3c3362*0x40+_0x7239ac:_0x7239ac,_0x52ad34++%0x4)?_0x4d0457+=String['fromCharCode'](0xff&_0x3c3362>>(-0x2*_0x52ad34&0x6)):0x0){_0x7239ac=_0x102b4f['indexOf'](_0x7239ac);}for(let _0x3df13c=0x0,_0x38f284=_0x4d0457['length'];_0x3df13c<_0x38f284;_0x3df13c++){_0x5dfc46+='%'+('00'+_0x4d0457['charCodeAt'](_0x3df13c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5dfc46);};a0_0x50ff['OTjpGF']=_0xaf154,a0_0x50ff['gZeTQX']={},a0_0x50ff['dscmxQ']=!![];}const _0x2ae0eb=_0x1300ca[0x0],_0x777d52=_0x194a5a+_0x2ae0eb,_0x46ecc3=a0_0x50ff['gZeTQX'][_0x777d52];return!_0x46ecc3?(_0x50ffa7=a0_0x50ff['OTjpGF'](_0x50ffa7),a0_0x50ff['gZeTQX'][_0x777d52]=_0x50ffa7):_0x50ffa7=_0x46ecc3,_0x50ffa7;}export class BudgetService{constructor(_0x4d0457,_0x5dfc46){const _0x199b7c=a0_0x50ff;this[_0x199b7c(0x1df)]=_0x4d0457||{},this['logger']=_0x5dfc46,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x199b7c(0x1ce)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS[_0x199b7c(0x1a4)],'monthly':BUDGET_LIMITS[_0x199b7c(0x1d2)]},this[_0x199b7c(0x1b6)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this[_0x199b7c(0x1bd)](),this[_0x199b7c(0x1b9)]();}['trackUsage'](_0x52ad34,_0x3c3362,_0x7239ac){const _0x1d558b=a0_0x50ff;try{const _0x5c627f=this['calculateCost'](_0x3c3362,_0x7239ac),_0x3df13c=new Date(),_0x38f284=this['getDayKey'](_0x3df13c),_0xaa035d=this['getWeekKey'](_0x3df13c),_0x5de134=this[_0x1d558b(0x18d)](_0x3df13c);this[_0x1d558b(0x19f)](this[_0x1d558b(0x19b)][_0x1d558b(0x1f1)],_0x38f284),this['initializeUsageEntry'](this['usage']['weekly'],_0xaa035d),this[_0x1d558b(0x19f)](this['usage'][_0x1d558b(0x1b5)],_0x5de134);const _0x2396d9={'agentId':_0x52ad34,'modelId':_0x3c3362,'tokens':_0x7239ac[_0x1d558b(0x1e9)],'cost':_0x5c627f,'timestamp':_0x3df13c['toISOString']()};return this['updateUsageEntry'](this['usage'][_0x1d558b(0x1f1)][_0x1d558b(0x1a3)](_0x38f284),_0x2396d9),this[_0x1d558b(0x1c1)](this[_0x1d558b(0x19b)][_0x1d558b(0x1c7)]['get'](_0xaa035d),_0x2396d9),this[_0x1d558b(0x1c1)](this['usage']['monthly'][_0x1d558b(0x1a3)](_0x5de134),_0x2396d9),this['usage'][_0x1d558b(0x1f2)][_0x1d558b(0x18c)]+=_0x7239ac[_0x1d558b(0x1e9)],this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)][_0x1d558b(0x1d4)]+=_0x5c627f,this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)]['requests']+=0x1,this['checkBudgetLimits'](_0x38f284,_0xaa035d,_0x5de134),this[_0x1d558b(0x1b2)]['info'](_0x1d558b(0x1a9),{'agentId':_0x52ad34,'modelId':_0x3c3362,'tokens':_0x7239ac[_0x1d558b(0x1e9)],'cost':_0x5c627f,'totalCost':this['usage']['total']['cost']}),{'cost':_0x5c627f,'totalCost':this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)][_0x1d558b(0x1d4)],'totalTokens':this[_0x1d558b(0x19b)][_0x1d558b(0x1f2)]['tokens'],'dailyUsage':this['usage']['daily']['get'](_0x38f284),'budgetRemaining':this[_0x1d558b(0x192)]()};}catch(_0x58d891){this[_0x1d558b(0x1b2)][_0x1d558b(0x193)](_0x1d558b(0x1ca),{'error':_0x58d891['message'],'agentId':_0x52ad34,'modelId':_0x3c3362});throw _0x58d891;}}[a0_0x2a3f22(0x1ac)](_0x34e27f,_0x2e670a){const _0xebd688=a0_0x2a3f22,_0x475650=COST_PER_TOKEN[_0x34e27f];if(!_0x475650)return this['logger'][_0xebd688(0x1ba)](_0xebd688(0x1e1),{'modelId':_0x34e27f}),0x0;const _0x708689=(_0x2e670a[_0xebd688(0x1ad)]||0x0)*_0x475650['input'],_0x1f5df3=(_0x2e670a[_0xebd688(0x19e)]||0x0)*_0x475650[_0xebd688(0x19a)];return _0x708689+_0x1f5df3;}[a0_0x2a3f22(0x190)](_0xe80a7d='daily',_0x3566d9=new Date()){const _0x5e7ffb=a0_0x2a3f22;switch(_0xe80a7d){case'daily':return this[_0x5e7ffb(0x19b)][_0x5e7ffb(0x1f1)][_0x5e7ffb(0x1a3)](this['getDayKey'](_0x3566d9))||this[_0x5e7ffb(0x1ee)]();case _0x5e7ffb(0x1c7):return this[_0x5e7ffb(0x19b)]['weekly'][_0x5e7ffb(0x1a3)](this[_0x5e7ffb(0x1bb)](_0x3566d9))||this['createEmptyUsage']();case'monthly':return this[_0x5e7ffb(0x19b)]['monthly']['get'](this['getMonthKey'](_0x3566d9))||this['createEmptyUsage']();case'total':return{...this['usage'][_0x5e7ffb(0x1f2)]};default:throw new Error('Invalid\x20period:\x20'+_0xe80a7d);}}[a0_0x2a3f22(0x1a0)](_0x4c6a4d,_0x34af96='daily'){const _0x3ad972=a0_0x2a3f22,_0x3df602=this[_0x3ad972(0x190)](_0x34af96);return _0x3df602['byAgent']?.[_0x4c6a4d]||this[_0x3ad972(0x1ee)]();}[a0_0x2a3f22(0x1d5)](_0x2b127e,_0x5223c8=a0_0x2a3f22(0x1f1)){const _0x1b0c09=a0_0x2a3f22,_0x32e5f3=this['getUsage'](_0x5223c8);return _0x32e5f3['byModel']?.[_0x2b127e]||this[_0x1b0c09(0x1ee)]();}[a0_0x2a3f22(0x19c)](_0x46a555){const _0x182bdf=a0_0x2a3f22;if(_0x46a555[_0x182bdf(0x1f1)]!==undefined)this[_0x182bdf(0x1ce)][_0x182bdf(0x1f1)]=_0x46a555[_0x182bdf(0x1f1)];if(_0x46a555['weekly']!==undefined)this['budgets'][_0x182bdf(0x1c7)]=_0x46a555[_0x182bdf(0x1c7)];if(_0x46a555[_0x182bdf(0x1b5)]!==undefined)this[_0x182bdf(0x1ce)][_0x182bdf(0x1b5)]=_0x46a555[_0x182bdf(0x1b5)];this['logger'][_0x182bdf(0x1e4)]('Budget\x20limits\x20updated',this[_0x182bdf(0x1ce)]),this['saveUsageData']();}['getRemainingBudget'](){const _0xa77ca4=a0_0x2a3f22,_0x3b4caa=new Date(),_0x3ef3bb=this['getUsage'](_0xa77ca4(0x1f1),_0x3b4caa),_0x2d33ec=this[_0xa77ca4(0x190)]('weekly',_0x3b4caa),_0x3aaea4=this['getUsage'](_0xa77ca4(0x1b5),_0x3b4caa);return{'daily':Math[_0xa77ca4(0x1a6)](0x0,this[_0xa77ca4(0x1ce)]['daily']-_0x3ef3bb['cost']),'weekly':Math[_0xa77ca4(0x1a6)](0x0,this[_0xa77ca4(0x1ce)]['weekly']-_0x2d33ec[_0xa77ca4(0x1d4)]),'monthly':Math['max'](0x0,this[_0xa77ca4(0x1ce)]['monthly']-_0x3aaea4['cost'])};}['isWithinBudget'](_0x519f5c=a0_0x2a3f22(0x1f1)){const _0x5ba627=a0_0x2a3f22,_0xc3d10a=this[_0x5ba627(0x190)](_0x519f5c),_0x20702e=this['budgets'][_0x519f5c];return _0xc3d10a[_0x5ba627(0x1d4)]<=_0x20702e;}[a0_0x2a3f22(0x1b0)](_0x3d78fb=0x1e){const _0x471b67=a0_0x2a3f22,_0x320557={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x25fb5b=new Date();let _0x50cec2=0x0,_0x3a5879=0x0,_0x52f1bf=0x0;const _0x2de348=new Map(),_0xa7a3b7=new Map();for(let _0x58aeaf=0x0;_0x58aeaf<_0x3d78fb;_0x58aeaf++){const _0x539e5b=new Date(_0x25fb5b);_0x539e5b[_0x471b67(0x1e5)](_0x539e5b[_0x471b67(0x1c4)]()-_0x58aeaf);const _0x59c568=this['getDayKey'](_0x539e5b),_0x4af2f6=this[_0x471b67(0x19b)][_0x471b67(0x1f1)]['get'](_0x59c568);_0x4af2f6?(_0x50cec2+=_0x4af2f6['cost'],_0x3a5879+=_0x4af2f6[_0x471b67(0x18c)],_0x52f1bf+=_0x4af2f6['requests'],_0x320557['costByDay'][_0x471b67(0x1ef)]({'date':_0x59c568,'cost':_0x4af2f6['cost']}),_0x320557[_0x471b67(0x1aa)]['unshift']({'date':_0x59c568,'tokens':_0x4af2f6['tokens']}),Object[_0x471b67(0x1e7)](_0x4af2f6[_0x471b67(0x1cf)]||{})[_0x471b67(0x1d7)](([_0x5e770a,_0xbc795c])=>{const _0x22eed1=_0x471b67;!_0x2de348[_0x22eed1(0x1c0)](_0x5e770a)&&_0x2de348[_0x22eed1(0x1c3)](_0x5e770a,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x1d097c=_0x2de348[_0x22eed1(0x1a3)](_0x5e770a);_0x1d097c['cost']+=_0xbc795c['cost'],_0x1d097c['tokens']+=_0xbc795c['tokens'],_0x1d097c[_0x22eed1(0x1d6)]+=_0xbc795c[_0x22eed1(0x1d6)];}),Object['entries'](_0x4af2f6[_0x471b67(0x198)]||{})[_0x471b67(0x1d7)](([_0x14998e,_0x2c3d1b])=>{const _0x236b17=_0x471b67;!_0xa7a3b7[_0x236b17(0x1c0)](_0x14998e)&&_0xa7a3b7['set'](_0x14998e,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x2bb28b=_0xa7a3b7['get'](_0x14998e);_0x2bb28b['cost']+=_0x2c3d1b[_0x236b17(0x1d4)],_0x2bb28b[_0x236b17(0x18c)]+=_0x2c3d1b['tokens'],_0x2bb28b[_0x236b17(0x1d6)]+=_0x2c3d1b[_0x236b17(0x1d6)];})):(_0x320557[_0x471b67(0x1af)][_0x471b67(0x1ef)]({'date':_0x59c568,'cost':0x0}),_0x320557['tokensByDay'][_0x471b67(0x1ef)]({'date':_0x59c568,'tokens':0x0}));}return _0x320557['dailyAverages'][_0x471b67(0x1d4)]=_0x50cec2/_0x3d78fb,_0x320557[_0x471b67(0x1be)]['tokens']=_0x3a5879/_0x3d78fb,_0x320557[_0x471b67(0x1be)][_0x471b67(0x1d6)]=_0x52f1bf/_0x3d78fb,_0x320557['topAgents']=Array[_0x471b67(0x1c9)](_0x2de348['entries']())[_0x471b67(0x1cc)](([_0x3a3cc8,_0x16bd05])=>({'id':_0x3a3cc8,..._0x16bd05}))[_0x471b67(0x1bf)]((_0x3d371f,_0x5cfa84)=>_0x5cfa84['cost']-_0x3d371f[_0x471b67(0x1d4)])['slice'](0x0,0xa),_0x320557[_0x471b67(0x1b1)]=Array['from'](_0xa7a3b7[_0x471b67(0x1e7)]())['map'](([_0xd816c8,_0xc6505d])=>({'id':_0xd816c8,..._0xc6505d}))[_0x471b67(0x1bf)]((_0x186cf2,_0x5d97bc)=>_0x5d97bc[_0x471b67(0x1d4)]-_0x186cf2[_0x471b67(0x1d4)])[_0x471b67(0x1cb)](0x0,0xa),_0x320557;}['exportUsageData'](_0xd1bf06='json',_0x146928=null,_0x5ace71=null){const _0x1a8487=a0_0x2a3f22,_0x301d45={'budgets':this[_0x1a8487(0x1ce)],'total':this['usage']['total'],'daily':{},'weekly':{},'monthly':{}},_0x4eea20=(_0x3b5c10,_0x3ceb2e)=>{const _0x1902d5={};return _0x3b5c10['forEach']((_0x103ac5,_0x3f0329)=>{const _0x1f509f=_0x3ceb2e(_0x3f0329);(!_0x146928||_0x1f509f>=_0x146928)&&(!_0x5ace71||_0x1f509f<=_0x5ace71)&&(_0x1902d5[_0x3f0329]=_0x103ac5);}),_0x1902d5;};_0x146928||_0x5ace71?(_0x301d45[_0x1a8487(0x1f1)]=_0x4eea20(this['usage']['daily'],_0x4e5d12=>new Date(_0x4e5d12)),_0x301d45[_0x1a8487(0x1c7)]=_0x4eea20(this[_0x1a8487(0x19b)][_0x1a8487(0x1c7)],_0x36d87f=>new Date(_0x36d87f)),_0x301d45[_0x1a8487(0x1b5)]=_0x4eea20(this['usage']['monthly'],_0x5622db=>new Date(_0x5622db+_0x1a8487(0x194)))):(this[_0x1a8487(0x19b)][_0x1a8487(0x1f1)][_0x1a8487(0x1d7)]((_0x2e4e78,_0xe1d6fd)=>_0x301d45[_0x1a8487(0x1f1)][_0xe1d6fd]=_0x2e4e78),this[_0x1a8487(0x19b)]['weekly'][_0x1a8487(0x1d7)]((_0x322c16,_0x1f2061)=>_0x301d45['weekly'][_0x1f2061]=_0x322c16),this['usage'][_0x1a8487(0x1b5)]['forEach']((_0x5454c8,_0x33a6c3)=>_0x301d45[_0x1a8487(0x1b5)][_0x33a6c3]=_0x5454c8));if(_0xd1bf06===_0x1a8487(0x1d1))return this['convertToCSV'](_0x301d45);return JSON['stringify'](_0x301d45,null,0x2);}['initializeUsageEntry'](_0x3216ec,_0x4aba28){!_0x3216ec['has'](_0x4aba28)&&_0x3216ec['set'](_0x4aba28,this['createEmptyUsage']());}[a0_0x2a3f22(0x1ee)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}['updateUsageEntry'](_0x442f48,_0x15feba){const _0x219ad9=a0_0x2a3f22;_0x442f48['cost']+=_0x15feba['cost'],_0x442f48[_0x219ad9(0x18c)]+=_0x15feba['tokens'],_0x442f48['requests']+=0x1,!_0x442f48[_0x219ad9(0x1cf)][_0x15feba['agentId']]&&(_0x442f48['byAgent'][_0x15feba[_0x219ad9(0x191)]]=this['createEmptyUsage']()),_0x442f48[_0x219ad9(0x1cf)][_0x15feba[_0x219ad9(0x191)]][_0x219ad9(0x1d4)]+=_0x15feba['cost'],_0x442f48[_0x219ad9(0x1cf)][_0x15feba[_0x219ad9(0x191)]][_0x219ad9(0x18c)]+=_0x15feba['tokens'],_0x442f48['byAgent'][_0x15feba['agentId']]['requests']+=0x1,!_0x442f48['byModel'][_0x15feba[_0x219ad9(0x1c2)]]&&(_0x442f48['byModel'][_0x15feba[_0x219ad9(0x1c2)]]=this[_0x219ad9(0x1ee)]()),_0x442f48[_0x219ad9(0x198)][_0x15feba[_0x219ad9(0x1c2)]]['cost']+=_0x15feba['cost'],_0x442f48[_0x219ad9(0x198)][_0x15feba['modelId']]['tokens']+=_0x15feba['tokens'],_0x442f48[_0x219ad9(0x198)][_0x15feba['modelId']]['requests']+=0x1;}[a0_0x2a3f22(0x1ec)](_0x2523df,_0x2dbc33,_0x592ae6){const _0x16e8e0=a0_0x2a3f22,_0x2f2a79=this[_0x16e8e0(0x19b)][_0x16e8e0(0x1f1)][_0x16e8e0(0x1a3)](_0x2523df),_0x2044c2=this[_0x16e8e0(0x19b)][_0x16e8e0(0x1c7)][_0x16e8e0(0x1a3)](_0x2dbc33),_0x4794e3=this[_0x16e8e0(0x19b)][_0x16e8e0(0x1b5)]['get'](_0x592ae6);_0x2f2a79[_0x16e8e0(0x1d4)]>this[_0x16e8e0(0x1ce)]['daily']&&this['sendBudgetAlert']('daily',_0x2f2a79[_0x16e8e0(0x1d4)],this[_0x16e8e0(0x1ce)]['daily']),_0x2044c2[_0x16e8e0(0x1d4)]>this['budgets']['weekly']&&this[_0x16e8e0(0x1e3)](_0x16e8e0(0x1c7),_0x2044c2['cost'],this[_0x16e8e0(0x1ce)]['weekly']),_0x4794e3[_0x16e8e0(0x1d4)]>this[_0x16e8e0(0x1ce)][_0x16e8e0(0x1b5)]&&this['sendBudgetAlert'](_0x16e8e0(0x1b5),_0x4794e3['cost'],this[_0x16e8e0(0x1ce)]['monthly']),this['checkThresholdAlerts'](_0x2f2a79,_0x2044c2,_0x4794e3);}['checkThresholdAlerts'](_0x78a7b,_0x10099e,_0x3832d7){const _0x16bb31=a0_0x2a3f22,_0x504728=this[_0x16bb31(0x1b6)][_0x16bb31(0x1a7)];this[_0x16bb31(0x1dd)]('daily',_0x78a7b['cost'],this['budgets'][_0x16bb31(0x1f1)],_0x504728),this[_0x16bb31(0x1dd)]('weekly',_0x10099e['cost'],this[_0x16bb31(0x1ce)]['weekly'],_0x504728),this['checkThreshold'](_0x16bb31(0x1b5),_0x3832d7[_0x16bb31(0x1d4)],this['budgets'][_0x16bb31(0x1b5)],_0x504728);}[a0_0x2a3f22(0x1dd)](_0x1ef13c,_0x4c8940,_0x51533c,_0x53a517){const _0xb53460=a0_0x2a3f22,_0x384260=_0x4c8940/_0x51533c*0x64;for(const _0x2d283f of _0x53a517){if(_0x384260>=_0x2d283f){const _0xc8e5d3=_0x1ef13c+'_'+_0x2d283f,_0x40525e=this[_0xb53460(0x1b6)][_0xb53460(0x1f0)]['get'](_0xc8e5d3),_0x509e6c=Date['now']();(!_0x40525e||_0x509e6c-_0x40525e>0x36ee80)&&(this[_0xb53460(0x1a8)](_0x1ef13c,_0x384260,_0x2d283f,_0x4c8940,_0x51533c),this['alerts']['lastAlertTimes'][_0xb53460(0x1c3)](_0xc8e5d3,_0x509e6c));break;}}}['sendBudgetAlert'](_0x574a0b,_0x57bb7f,_0x3871c3){const _0x4efafe=a0_0x2a3f22;this['logger']['warn'](_0x4efafe(0x1ae),{'period':_0x574a0b,'currentUsage':_0x57bb7f,'budgetLimit':_0x3871c3,'excess':_0x57bb7f-_0x3871c3}),typeof process!==_0x4efafe(0x19d)&&process[_0x4efafe(0x196)]&&process['emit'](_0x4efafe(0x1b3),{'type':'budget_exceeded','period':_0x574a0b,'currentUsage':_0x57bb7f,'budgetLimit':_0x3871c3,'excess':_0x57bb7f-_0x3871c3});}[a0_0x2a3f22(0x1a8)](_0x13a3a3,_0x3a30e3,_0x23b78a,_0x3d3c8b,_0x27d9b2){const _0x12c49c=a0_0x2a3f22;this['logger']['warn'](_0x12c49c(0x1b8),{'period':_0x13a3a3,'percentage':Math['round'](_0x3a30e3),'threshold':_0x23b78a,'usage':_0x3d3c8b,'budget':_0x27d9b2}),typeof process!==_0x12c49c(0x19d)&&process['emit']&&process[_0x12c49c(0x196)](_0x12c49c(0x1b3),{'type':_0x12c49c(0x1d3),'period':_0x13a3a3,'percentage':Math[_0x12c49c(0x1a1)](_0x3a30e3),'threshold':_0x23b78a,'usage':_0x3d3c8b,'budget':_0x27d9b2});}[a0_0x2a3f22(0x1ab)](_0x21a0dd){const _0xaa2d65=a0_0x2a3f22;return _0x21a0dd['toISOString']()[_0xaa2d65(0x18f)]('T')[0x0];}[a0_0x2a3f22(0x1bb)](_0x13b5ea){const _0x151182=a0_0x2a3f22,_0x40effa=_0x13b5ea['getFullYear'](),_0x2afde2=this[_0x151182(0x1ed)](_0x13b5ea);return _0x40effa+'-W'+_0x2afde2[_0x151182(0x1ea)]()[_0x151182(0x195)](0x2,'0');}['getMonthKey'](_0x24505a){const _0x652185=a0_0x2a3f22,_0x269cdb=_0x24505a['getFullYear'](),_0x33c78c=_0x24505a['getMonth']()+0x1;return _0x269cdb+'-'+_0x33c78c['toString']()[_0x652185(0x195)](0x2,'0');}['getWeekNumber'](_0x1d5b4a){const _0x44e0b7=a0_0x2a3f22,_0xa3ba6f=new Date(_0x1d5b4a[_0x44e0b7(0x1e8)](),0x0,0x1),_0xba38fd=(_0x1d5b4a-_0xa3ba6f)/0x5265c00;return Math['ceil']((_0xba38fd+_0xa3ba6f[_0x44e0b7(0x197)]()+0x1)/0x7);}['convertToCSV'](_0x2149ef){const _0x407fae=a0_0x2a3f22,_0x35498f=[];return _0x35498f[_0x407fae(0x199)](['Period',_0x407fae(0x1db),_0x407fae(0x1f3),_0x407fae(0x1bc),'Requests',_0x407fae(0x1c8),_0x407fae(0x18e)]),Object['entries'](_0x2149ef[_0x407fae(0x1f1)])[_0x407fae(0x1d7)](([_0x54b5b0,_0x18ab9c])=>{const _0x42621b=_0x407fae;_0x35498f[_0x42621b(0x199)](['Daily',_0x54b5b0,_0x18ab9c['cost'],_0x18ab9c['tokens'],_0x18ab9c['requests'],'','']),Object['entries'](_0x18ab9c[_0x42621b(0x1cf)]||{})['forEach'](([_0x537aa0,_0x2985f0])=>{const _0x2b9bdd=_0x42621b;_0x35498f[_0x2b9bdd(0x199)]([_0x2b9bdd(0x1eb),_0x54b5b0,_0x2985f0['cost'],_0x2985f0[_0x2b9bdd(0x18c)],_0x2985f0[_0x2b9bdd(0x1d6)],_0x537aa0,'']);});}),_0x35498f[_0x407fae(0x1cc)](_0x5d088f=>_0x5d088f['join'](','))[_0x407fae(0x1dc)]('\x0a');}[a0_0x2a3f22(0x1bd)](){const _0x5777b5=a0_0x2a3f22;try{this[_0x5777b5(0x1b2)][_0x5777b5(0x1e4)](_0x5777b5(0x1d8));}catch(_0x29ff07){this[_0x5777b5(0x1b2)]['error']('Failed\x20to\x20load\x20usage\x20data',{'error':_0x29ff07['message']});}}['saveUsageData'](){const _0x5d124e=a0_0x2a3f22;try{this[_0x5d124e(0x1b2)]['debug'](_0x5d124e(0x1b7));}catch(_0x445d7e){this['logger'][_0x5d124e(0x193)](_0x5d124e(0x1d0),{'error':_0x445d7e[_0x5d124e(0x1cd)]});}}['setupPeriodicSave'](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}function a0_0x1300(){const _0x46c609=['BwvZC2fNzq','yNvKz2v0CW','yNLbz2vUDa','rMfPBgvKihrVihnHDMuGDxnHz2uGzgf0yq','y3n2','tu9oveHmwq','DgHYzxnOB2XKx3jLywnOzwq','y29ZDa','z2v0tw9KzwXvC2fNzq','CMvXDwvZDhm','zM9YrwfJAa','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','nZCZndm1qufdBw1e','otflt3jtDgO','rgf0zq','AM9PBG','y2HLy2TuAhjLC2HVBgq','mJaYmJi3ue9TzhDw','y29UzMLN','nJi2mhv2EurAsq','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','mti2owDfyxPeDq','C2vUzej1zgDLDefSzxj0','Aw5MBW','C2v0rgf0zq','nLLNtefxBq','zw50CMLLCW','z2v0rNvSBfLLyxi','Dg90ywXFDg9Rzw5Z','Dg9tDhjPBMC','rgfPBhK','y2HLy2TcDwrNzxrmAw1PDhm','z2v0v2vLA051BwjLCG','y3jLyxrLrw1WDhLvC2fNzq','Dw5ZAgLMDa','BgfZDefSzxj0vgLTzxm','zgfPBhK','Dg90ywW','q29ZDa','mJC1nJHhtMfMExu','Dg9Rzw5Z','z2v0tw9UDgHlzxK','tw9KzwW','C3bSAxq','z2v0vxnHz2u','ywDLBNrjza','z2v0uMvTywLUAw5NqNvKz2v0','zxjYB3i','ltaX','CgfKu3rHCNq','zw1PDa','z2v0rgf5','yNLnB2rLBa','ChvZAa','B3v0Chv0','DxnHz2u','C2v0qNvKz2v0CW','Dw5KzwzPBMvK','y29TCgXLDgLVBL90B2TLBNm','Aw5PDgLHBgL6zvvZywDLrw50CNK','z2v0qwDLBNrvC2fNzq','CM91BMq','mte1oda5BMz4Bw5K','z2v0','v0vfs0Xz','mtaWmtm2A0LdBMXh','Bwf4','DgHYzxnOB2XKCW','C2vUzfrOCMvZAg9SzefSzxj0','vxnHz2uGDhjHy2TLza','Dg9Rzw5ZqNLeyxK','z2v0rgf5s2v5','y2fSy3vSyxrLq29ZDa','ChjVBxb0x3rVA2vUCW','qNvKz2v0igXPBwL0igv4y2vLzgvK','y29ZDej5rgf5','z2v0vxnHz2vuCMvUzhm','Dg9Wtw9KzwXZ','Bg9Nz2vY','yNvKz2v0qwXLCNq','mtuXnda3nLHRwwjmvG','Bw9UDgHSEq','ywXLCNrZ','vxnHz2uGzgf0ysbZyxzLza','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','C2v0DxbqzxjPB2rPy1nHDMu','D2fYBG','z2v0v2vLA0TLEq','vg9Rzw5Z','Bg9HzfvZywDLrgf0yq','zgfPBhLbDMvYywDLCW','C29YDa','AgfZ','DxbKyxrLvxnHz2vfBNrYEq','Bw9KzwXjza','C2v0','z2v0rgf0zq','nhnOtNznvq','mJjcyuDhEM8','D2vLA2X5','qwDLBNq','zNjVBq','rMfPBgvKihrVihrYywnRihvZywDL','C2XPy2u','BwfW'];a0_0x1300=function(){return _0x46c609;};return a0_0x1300();}export default BudgetService;
@@ -1 +1 @@
1
- const a0_0x27467d=a0_0x3beb;(function(_0x35cfaa,_0x187249){const _0xf8b63e=a0_0x3beb,_0x234201=_0x35cfaa();while(!![]){try{const _0x57b271=-parseInt(_0xf8b63e(0x1a2))/0x1+parseInt(_0xf8b63e(0x1b3))/0x2*(parseInt(_0xf8b63e(0x1ba))/0x3)+-parseInt(_0xf8b63e(0x1cf))/0x4+-parseInt(_0xf8b63e(0x1b2))/0x5+-parseInt(_0xf8b63e(0x1ae))/0x6+-parseInt(_0xf8b63e(0x1ac))/0x7+parseInt(_0xf8b63e(0x1c8))/0x8*(parseInt(_0xf8b63e(0x1ca))/0x9);if(_0x57b271===_0x187249)break;else _0x234201['push'](_0x234201['shift']());}catch(_0x2ab36d){_0x234201['push'](_0x234201['shift']());}}}(a0_0x5b01,0x70f9b));import a0_0x4520a9 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x43c888={},_0x14bfa6=null){const _0x2bb67e=a0_0x3beb;this[_0x2bb67e(0x1c3)]=_0x43c888,this[_0x2bb67e(0x1a5)]=_0x14bfa6,this[_0x2bb67e(0x1b5)]=new a0_0x4520a9(_0x43c888,_0x14bfa6);}async[a0_0x27467d(0x1ad)](){const _0x10dc1e=a0_0x27467d;await this[_0x10dc1e(0x1b5)][_0x10dc1e(0x1ad)]();}async['buildDynamicContext'](_0x2831f6){const _0x3e1429=a0_0x27467d;try{const _0x28f635=await this[_0x3e1429(0x1b5)][_0x3e1429(0x1c7)](_0x2831f6);if(_0x28f635[_0x3e1429(0x1b0)]===0x0)return'';const _0x2bb101=_0x28f635[_0x3e1429(0x1a3)](_0x3a631e=>_0x3a631e[_0x3e1429(0x1c1)]==='content'),_0x5918ed=_0x28f635['filter'](_0x16237f=>_0x16237f['mode']==='reference');let _0x56079c='';if(_0x2bb101['length']>0x0){_0x56079c+=_0x3e1429(0x1c2);for(const _0x4aef70 of _0x2bb101){const _0x50a752=await this['attachmentService'][_0x3e1429(0x1b1)](_0x4aef70[_0x3e1429(0x1a4)]);if(_0x50a752){const _0x39dc06=this[_0x3e1429(0x1bb)](_0x4aef70,_0x50a752);_0x56079c+=_0x39dc06+'\x0a';}}_0x56079c+=_0x3e1429(0x1ce);}if(_0x5918ed[_0x3e1429(0x1b0)]>0x0){_0x56079c+=_0x3e1429(0x1c4);for(const _0x44b2f0 of _0x5918ed){const _0x562bbe=this['formatReferenceFile'](_0x44b2f0);_0x56079c+=_0x562bbe+'\x0a';}_0x56079c+=_0x3e1429(0x1af),_0x56079c+='\x0aNote:\x20Referenced\x20files\x20can\x20be\x20accessed\x20using\x20the\x20filesystem\x20tool\x20if\x20needed.\x0a';}return _0x56079c;}catch(_0xb78cc4){return this['logger']?.[_0x3e1429(0x1d0)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x2831f6,'error':_0xb78cc4[_0x3e1429(0x1c9)]}),'';}}['formatContentFile'](_0x1133d1,_0x181b46){const _0x42b752=a0_0x27467d,{fileName:_0x5f0e78,fileType:_0x52faba,size:_0x2f54e1,contentType:_0x1bb8a8}=_0x1133d1,_0x32c902=(_0x2f54e1/0x400)[_0x42b752(0x1a6)](0x2);if(_0x1bb8a8===_0x42b752(0x1cb))return this['formatTextFile'](_0x1133d1,_0x181b46);else{if(_0x1bb8a8===_0x42b752(0x1a8))return this[_0x42b752(0x19f)](_0x1133d1,_0x181b46);else{if(_0x1bb8a8==='pdf')return this[_0x42b752(0x1b4)](_0x1133d1,_0x181b46);}}return'\x20\x20<file\x20name=\x22'+this[_0x42b752(0x1b6)](_0x5f0e78)+'\x22\x20type=\x22'+_0x52faba+_0x42b752(0x1b7)+_0x32c902+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x181b46)+_0x42b752(0x1c6);}['formatTextFile'](_0x1a7620,_0x212621){const _0x59aa8b=a0_0x27467d,{fileName:_0x3a8910,fileType:_0x52f9b5,size:_0x3ea1af}=_0x1a7620,_0x121947=(_0x3ea1af/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x59aa8b(0x1b6)](_0x3a8910)+'\x22\x20type=\x22'+_0x52f9b5+'\x22\x20size=\x22'+_0x121947+_0x59aa8b(0x1a7)+this['escapeXml'](_0x212621)+_0x59aa8b(0x1c6);}['formatImageFile'](_0x181c5c,_0x5fd763){const _0x36d614=a0_0x27467d,{fileName:_0x36aa3d,fileType:_0x51eac0,size:_0x142903}=_0x181c5c,_0x4d0ef5=(_0x142903/0x400)[_0x36d614(0x1a6)](0x2);return _0x36d614(0x1b9)+this[_0x36d614(0x1b6)](_0x36aa3d)+'\x22\x20type=\x22'+_0x51eac0+'\x22\x20size=\x22'+_0x4d0ef5+'KB\x22\x20mode=\x22content\x22>\x0a'+_0x5fd763+'\x0a\x20\x20</file>';}[a0_0x27467d(0x1b4)](_0x53ebb4,_0x5cf8c8){const _0x5ab5ca=a0_0x27467d,{fileName:_0x24d8b4,fileType:_0x172b5d,size:_0x282385}=_0x53ebb4,_0x1f21ea=(_0x282385/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x24d8b4)+_0x5ab5ca(0x1aa)+_0x172b5d+'\x22\x20size=\x22'+_0x1f21ea+_0x5ab5ca(0x1a7)+this[_0x5ab5ca(0x1b6)](_0x5cf8c8)+_0x5ab5ca(0x1c6);}[a0_0x27467d(0x1a0)](_0x2dcc4b){const _0xaab0a8=a0_0x27467d,{fileName:_0x1ea29f,originalPath:_0x496300,size:_0x1f5cb8,fileType:_0x456d59,lastModified:_0x20402f}=_0x2dcc4b,_0x25b463=this[_0xaab0a8(0x1ab)](_0x1f5cb8),_0x1e3e7d=new Date(_0x20402f)['toISOString']()['split']('T')[0x0];return _0xaab0a8(0x1b9)+this['escapeXml'](_0x1ea29f)+'\x22\x20path=\x22'+this[_0xaab0a8(0x1b6)](_0x496300)+'\x22\x20size=\x22'+_0x25b463+'\x22\x20type=\x22'+_0x456d59+_0xaab0a8(0x1c5)+_0x1e3e7d+'\x22\x20/>';}['escapeXml'](_0x3eb17f){const _0x3d2566=a0_0x27467d;if(!_0x3eb17f)return'';return _0x3eb17f[_0x3d2566(0x1a9)](/&/g,_0x3d2566(0x1b8))['replace'](/</g,'&lt;')['replace'](/>/g,'&gt;')[_0x3d2566(0x1a9)](/"/g,_0x3d2566(0x1a1))[_0x3d2566(0x1a9)](/'/g,'&apos;');}['formatBytes'](_0x578956){const _0x39ab96=a0_0x27467d;if(_0x578956===0x0)return'0\x20Bytes';const _0x554768=0x400,_0x742c54=['Bytes','KB','MB','GB'],_0x4156ca=Math[_0x39ab96(0x1bd)](Math[_0x39ab96(0x1bc)](_0x578956)/Math['log'](_0x554768));return parseFloat((_0x578956/Math[_0x39ab96(0x1cc)](_0x554768,_0x4156ca))[_0x39ab96(0x1a6)](0x2))+_0x742c54[_0x4156ca];}async[a0_0x27467d(0x1bf)](_0x3d1376){const _0x4a0d7f=a0_0x27467d;try{const _0x1a0945=await this[_0x4a0d7f(0x1b5)]['getActiveAttachments'](_0x3d1376);let _0x11b2ee=0x0;for(const _0x2d5dfd of _0x1a0945){_0x2d5dfd[_0x4a0d7f(0x1c1)]===_0x4a0d7f(0x1be)?_0x11b2ee+=_0x2d5dfd[_0x4a0d7f(0x1cd)]||0x0:_0x11b2ee+=0x14;}return _0x11b2ee;}catch(_0x57ab37){return this[_0x4a0d7f(0x1a5)]?.[_0x4a0d7f(0x1d0)]('Error\x20estimating\x20total\x20tokens',{'agentId':_0x3d1376,'error':_0x57ab37['message']}),0x0;}}async['getAttachmentSummary'](_0x1e7322){const _0x6d2279=a0_0x27467d;try{const _0x7637ac=await this[_0x6d2279(0x1b5)]['getActiveAttachments'](_0x1e7322),_0x56a2e7={'totalActive':_0x7637ac[_0x6d2279(0x1b0)],'contentMode':_0x7637ac['filter'](_0x163088=>_0x163088['mode']==='content')[_0x6d2279(0x1b0)],'referenceMode':_0x7637ac[_0x6d2279(0x1a3)](_0x48e574=>_0x48e574['mode']==='reference')['length'],'estimatedTokens':0x0,'files':[]};for(const _0x33cf96 of _0x7637ac){_0x56a2e7[_0x6d2279(0x1c0)]+=_0x33cf96['tokenEstimate']||0x0,_0x56a2e7['files']['push']({'fileName':_0x33cf96['fileName'],'mode':_0x33cf96[_0x6d2279(0x1c1)],'size':this[_0x6d2279(0x1ab)](_0x33cf96['size']),'tokens':_0x33cf96['tokenEstimate']||0x0});}return _0x56a2e7;}catch(_0x4def7f){return this[_0x6d2279(0x1a5)]?.[_0x6d2279(0x1d0)]('Error\x20getting\x20attachment\x20summary',{'agentId':_0x1e7322,'error':_0x4def7f[_0x6d2279(0x1c9)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}function a0_0x3beb(_0x162fb1,_0x8b3f40){_0x162fb1=_0x162fb1-0x19f;const _0x5b01b7=a0_0x5b01();let _0x3beb04=_0x5b01b7[_0x162fb1];if(a0_0x3beb['QbXOGL']===undefined){var _0x5505a2=function(_0xf2d8f8){const _0x37934c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4520a9='',_0x43c888='';for(let _0x14bfa6=0x0,_0x2831f6,_0x28f635,_0x2bb101=0x0;_0x28f635=_0xf2d8f8['charAt'](_0x2bb101++);~_0x28f635&&(_0x2831f6=_0x14bfa6%0x4?_0x2831f6*0x40+_0x28f635:_0x28f635,_0x14bfa6++%0x4)?_0x4520a9+=String['fromCharCode'](0xff&_0x2831f6>>(-0x2*_0x14bfa6&0x6)):0x0){_0x28f635=_0x37934c['indexOf'](_0x28f635);}for(let _0x5918ed=0x0,_0x56079c=_0x4520a9['length'];_0x5918ed<_0x56079c;_0x5918ed++){_0x43c888+='%'+('00'+_0x4520a9['charCodeAt'](_0x5918ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c888);};a0_0x3beb['iirojo']=_0x5505a2,a0_0x3beb['tHEmqc']={},a0_0x3beb['QbXOGL']=!![];}const _0x2b8968=_0x5b01b7[0x0],_0xbf7001=_0x162fb1+_0x2b8968,_0x51d1d8=a0_0x3beb['tHEmqc'][_0xbf7001];return!_0x51d1d8?(_0x3beb04=a0_0x3beb['iirojo'](_0x3beb04),a0_0x3beb['tHEmqc'][_0xbf7001]=_0x3beb04):_0x3beb04=_0x51d1d8,_0x3beb04;}function a0_0x5b01(){const _0x5c6ea2=['Dg9Rzw5fC3rPBwf0zq','pc9HDhrHy2HLzc1MAwXLCZ4k','mte1mJq0ne52Bw95sG','zxjYB3i','zM9YBwf0sw1Hz2vgAwXL','zM9YBwf0uMvMzxjLBMnLrMLSzq','jNf1B3q7','ody4mtCXzgjhBgPA','zMLSDgvY','zMLSzuLK','Bg9Nz2vY','Dg9gAxHLza','s0iIig1Vzgu9iMnVBNrLBNqIpGO','Aw1Hz2u','CMvWBgfJzq','iIb0ExbLpsi','zM9YBwf0qNL0zxm','nZi1mtCYs3zWy3Lm','Aw5PDgLHBgL6zq','mZm4mZmWnhfIvKfHuW','pc9MAwXLlxjLzMvYzw5Jzxm+cG','BgvUz3rO','z2v0qxr0ywnOBwvUDenVBNrLBNq','mtCYmZK5nun4z3jTqW','mtyXmtzwyw1YEK4','zM9YBwf0ugrMrMLSzq','yxr0ywnOBwvUDfnLCNzPy2u','zxnJyxbLwg1S','iIbZAxPLpsi','jMfTCdS','ica8zMLSzsbUyw1Lpsi','mtGZzhvYwgHJ','zM9YBwf0q29UDgvUDezPBgu','Bg9N','zMXVB3i','y29UDgvUDa','zxn0Aw1HDgvuB3rHBfrVA2vUCW','zxn0Aw1HDgvKvg9Rzw5Z','Bw9Kzq','cJXHDhrHy2HLzc1MAwXLCZ4k','y29UzMLN','cJXMAwXLlxjLzMvYzw5Jzxm+cG','iIbTB2rPzMLLzd0I','cIaGpc9MAwXLpG','z2v0qwn0AxzLqxr0ywnOBwvUDhm','odb4Cxfgvwu','BwvZC2fNzq','mtKYntC5m1vgqLzqqG','Dgv4Da','Cg93'];a0_0x5b01=function(){return _0x5c6ea2;};return a0_0x5b01();}export default ContextInjectionService;
1
+ const a0_0x2c59aa=a0_0x4f2b;(function(_0x537fad,_0x1da05a){const _0x569cb1=a0_0x4f2b,_0x1c8511=_0x537fad();while(!![]){try{const _0x484d32=-parseInt(_0x569cb1(0xb5))/0x1+parseInt(_0x569cb1(0xd8))/0x2+parseInt(_0x569cb1(0xe1))/0x3+parseInt(_0x569cb1(0xce))/0x4+-parseInt(_0x569cb1(0xcc))/0x5+-parseInt(_0x569cb1(0xb6))/0x6*(parseInt(_0x569cb1(0xc0))/0x7)+parseInt(_0x569cb1(0xdc))/0x8*(-parseInt(_0x569cb1(0xde))/0x9);if(_0x484d32===_0x1da05a)break;else _0x1c8511['push'](_0x1c8511['shift']());}catch(_0x12fbbd){_0x1c8511['push'](_0x1c8511['shift']());}}}(a0_0x6c06,0x53816));function a0_0x6c06(){const _0x314b41=['Aw5PDgLHBgL6zq','s0iIig1Vzgu9iMnVBNrLBNqIpGO','Bg9N','pc9HDhrHy2HLzc1MAwXLCZ4k','zM9YBwf0vgv4DezPBgu','zMXVB3i','mJyYnJe2nu9nzhnIzG','C2L6zq','mtCXoti3mM5Su0LXqW','yNvPBgreEw5HBwLJq29UDgv4Da','zM9YBwf0sw1Hz2vgAwXL','mcbcExrLCW','iIaVpG','zxn0Aw1HDgvKvg9Rzw5Z','CMvWBgfJzq','BwvZC2fNzq','yxr0ywnOBwvUDfnLCNzPy2u','Dg9gAxHLza','odaWmdiWD3bSEfLK','iIb0ExbLpsi','zxjYB3i','zM9YBwf0qNL0zxm','mJrpAKrNA2u','jMfTCdS','mtC0mtu5t3rRAMPY','pc9MAwXLlxjLzMvYzw5Jzxm+cG','z2v0qwn0AxzLqxr0ywnOBwvUDhm','mtG4mJCXmefWB0PACG','BgvUz3rO','zM9YBwf0q29UDgvUDezPBgu','Aw1Hz2u','rxjYB3iGzxn0Aw1HDgLUzYb0B3rHBcb0B2TLBNm','zMLSzxm','y29UDgvUDa','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','mZuZmJq1r0P2EvvJ','mtGXodzXAhjPtw4','Bg9Nz2vY','cIaGpc9MAwXLpG','iIbZAxPLpsi','Bw9Kzq','ica8zMLSzsbUyw1Lpsi','jMX0oW','zxnJyxbLwg1S','cJXHDhrHy2HLzc1MAwXLCZ4k','zM9YBwf0uMvMzxjLBMnLrMLSzq','ndeZD2LJuMTv','qNL0zxm','z2v0qxr0ywnOBwvUDfn1Bw1HCNK','zMLSDgvY','Dg9Rzw5fC3rPBwf0zq','iIbTB2rPzMLLzd0I'];a0_0x6c06=function(){return _0x314b41;};return a0_0x6c06();}function a0_0x4f2b(_0x69e938,_0xe708a3){_0x69e938=_0x69e938-0xae;const _0x6c063d=a0_0x6c06();let _0x4f2b4e=_0x6c063d[_0x69e938];if(a0_0x4f2b['huHiBx']===undefined){var _0x42c5ec=function(_0x3eb9ab){const _0x7bb3d6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14c266='',_0x495754='';for(let _0x33bcff=0x0,_0x27e150,_0x444204,_0x11fb8f=0x0;_0x444204=_0x3eb9ab['charAt'](_0x11fb8f++);~_0x444204&&(_0x27e150=_0x33bcff%0x4?_0x27e150*0x40+_0x444204:_0x444204,_0x33bcff++%0x4)?_0x14c266+=String['fromCharCode'](0xff&_0x27e150>>(-0x2*_0x33bcff&0x6)):0x0){_0x444204=_0x7bb3d6['indexOf'](_0x444204);}for(let _0x2c5600=0x0,_0x43449=_0x14c266['length'];_0x2c5600<_0x43449;_0x2c5600++){_0x495754+='%'+('00'+_0x14c266['charCodeAt'](_0x2c5600)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x495754);};a0_0x4f2b['egcpSs']=_0x42c5ec,a0_0x4f2b['PheRZE']={},a0_0x4f2b['huHiBx']=!![];}const _0x5864eb=_0x6c063d[0x0],_0x275620=_0x69e938+_0x5864eb,_0x120947=a0_0x4f2b['PheRZE'][_0x275620];return!_0x120947?(_0x4f2b4e=a0_0x4f2b['egcpSs'](_0x4f2b4e),a0_0x4f2b['PheRZE'][_0x275620]=_0x4f2b4e):_0x4f2b4e=_0x120947,_0x4f2b4e;}import a0_0x14c266 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x495754={},_0x33bcff=null){const _0xbf5d9=a0_0x4f2b;this['config']=_0x495754,this[_0xbf5d9(0xb7)]=_0x33bcff,this['attachmentService']=new a0_0x14c266(_0x495754,_0x33bcff);}async[a0_0x2c59aa(0xc6)](){const _0x2c9e68=a0_0x2c59aa;await this['attachmentService'][_0x2c9e68(0xc6)]();}async[a0_0x2c59aa(0xcf)](_0x27e150){const _0x5d7274=a0_0x2c59aa;try{const _0x444204=await this[_0x5d7274(0xd6)][_0x5d7274(0xe0)](_0x27e150);if(_0x444204[_0x5d7274(0xae)]===0x0)return'';const _0x11fb8f=_0x444204[_0x5d7274(0xc3)](_0x50cf30=>_0x50cf30[_0x5d7274(0xba)]===_0x5d7274(0xb3)),_0x2c5600=_0x444204[_0x5d7274(0xc3)](_0x4ffee1=>_0x4ffee1['mode']==='reference');let _0x43449='';if(_0x11fb8f[_0x5d7274(0xae)]>0x0){_0x43449+=_0x5d7274(0xbe);for(const _0x32a87b of _0x11fb8f){const _0x1c928f=await this[_0x5d7274(0xd6)]['getAttachmentContent'](_0x32a87b['fileId']);if(_0x1c928f){const _0x4b716c=this[_0x5d7274(0xaf)](_0x32a87b,_0x1c928f);_0x43449+=_0x4b716c+'\x0a';}}_0x43449+=_0x5d7274(0xc9);}if(_0x2c5600[_0x5d7274(0xae)]>0x0){_0x43449+='\x0a<file-references>\x0a';for(const _0x20e859 of _0x2c5600){const _0x4bacf6=this['formatReferenceFile'](_0x20e859);_0x43449+=_0x4bacf6+'\x0a';}_0x43449+=_0x5d7274(0xdf),_0x43449+=_0x5d7274(0xb4);}return _0x43449;}catch(_0x1f31ae){return this[_0x5d7274(0xb7)]?.[_0x5d7274(0xda)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x27e150,'error':_0x1f31ae[_0x5d7274(0xd5)]}),'';}}[a0_0x2c59aa(0xaf)](_0x3c9e9f,_0x2feb1c){const _0x2119d2=a0_0x2c59aa,{fileName:_0xf8cf24,fileType:_0x22acd3,size:_0x5d533f,contentType:_0x4eed8f}=_0x3c9e9f,_0x1ce749=(_0x5d533f/0x400)['toFixed'](0x2);if(_0x4eed8f==='text')return this[_0x2119d2(0xca)](_0x3c9e9f,_0x2feb1c);else{if(_0x4eed8f===_0x2119d2(0xb0))return this['formatImageFile'](_0x3c9e9f,_0x2feb1c);else{if(_0x4eed8f==='pdf')return this['formatPdfFile'](_0x3c9e9f,_0x2feb1c);}}return _0x2119d2(0xbb)+this[_0x2119d2(0xbd)](_0xf8cf24)+_0x2119d2(0xd9)+_0x22acd3+_0x2119d2(0xb9)+_0x1ce749+_0x2119d2(0xc7)+this[_0x2119d2(0xbd)](_0x2feb1c)+'\x0a\x20\x20</file>';}[a0_0x2c59aa(0xca)](_0x1a80e8,_0x34b847){const _0x25289f=a0_0x2c59aa,{fileName:_0x439082,fileType:_0x2c495b,size:_0xa52b78}=_0x1a80e8,_0x34ff48=(_0xa52b78/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x439082)+_0x25289f(0xd9)+_0x2c495b+_0x25289f(0xb9)+_0x34ff48+_0x25289f(0xc7)+this[_0x25289f(0xbd)](_0x34b847)+_0x25289f(0xb8);}[a0_0x2c59aa(0xd0)](_0x5cc356,_0x293bd2){const _0x16939e=a0_0x2c59aa,{fileName:_0x4d7a71,fileType:_0x227c6c,size:_0x994bb7}=_0x5cc356,_0x1ea9e8=(_0x994bb7/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x16939e(0xbd)](_0x4d7a71)+_0x16939e(0xd9)+_0x227c6c+_0x16939e(0xb9)+_0x1ea9e8+_0x16939e(0xc7)+_0x293bd2+_0x16939e(0xb8);}['formatPdfFile'](_0x2c1a3b,_0x5c2765){const _0xdd4f37=a0_0x2c59aa,{fileName:_0x304330,fileType:_0x4afc7a,size:_0x16c937}=_0x2c1a3b,_0x19d1f8=(_0x16c937/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x304330)+'\x22\x20type=\x22'+_0x4afc7a+'\x22\x20size=\x22'+_0x19d1f8+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0xdd4f37(0xbd)](_0x5c2765)+_0xdd4f37(0xb8);}[a0_0x2c59aa(0xbf)](_0x2eb1eb){const _0x31b5c3=a0_0x2c59aa,{fileName:_0x4b8a73,originalPath:_0x2f64a7,size:_0x435cd6,fileType:_0x3e1aa5,lastModified:_0x34cbea}=_0x2eb1eb,_0x32760d=this[_0x31b5c3(0xdb)](_0x435cd6),_0x26dc58=new Date(_0x34cbea)['toISOString']()['split']('T')[0x0];return _0x31b5c3(0xbb)+this[_0x31b5c3(0xbd)](_0x4b8a73)+'\x22\x20path=\x22'+this[_0x31b5c3(0xbd)](_0x2f64a7)+_0x31b5c3(0xb9)+_0x32760d+'\x22\x20type=\x22'+_0x3e1aa5+_0x31b5c3(0xc5)+_0x26dc58+_0x31b5c3(0xd2);}[a0_0x2c59aa(0xbd)](_0x11d961){const _0x3cda74=a0_0x2c59aa;if(!_0x11d961)return'';return _0x11d961['replace'](/&/g,_0x3cda74(0xdd))[_0x3cda74(0xd4)](/</g,_0x3cda74(0xbc))['replace'](/>/g,'&gt;')['replace'](/"/g,'&quot;')['replace'](/'/g,'&apos;');}[a0_0x2c59aa(0xdb)](_0x53c7e3){const _0x5f43e6=a0_0x2c59aa;if(_0x53c7e3===0x0)return _0x5f43e6(0xd1);const _0x4e2598=0x400,_0x1c249a=[_0x5f43e6(0xc1),'KB','MB','GB'],_0x19d107=Math[_0x5f43e6(0xcb)](Math[_0x5f43e6(0xc8)](_0x53c7e3)/Math[_0x5f43e6(0xc8)](_0x4e2598));return parseFloat((_0x53c7e3/Math['pow'](_0x4e2598,_0x19d107))[_0x5f43e6(0xd7)](0x2))+_0x1c249a[_0x19d107];}async['estimateTotalTokens'](_0x491b84){const _0x319f6f=a0_0x2c59aa;try{const _0x45555f=await this[_0x319f6f(0xd6)]['getActiveAttachments'](_0x491b84);let _0x7b9222=0x0;for(const _0x413eb2 of _0x45555f){_0x413eb2[_0x319f6f(0xba)]==='content'?_0x7b9222+=_0x413eb2[_0x319f6f(0xc4)]||0x0:_0x7b9222+=0x14;}return _0x7b9222;}catch(_0x2f917a){return this['logger']?.[_0x319f6f(0xda)](_0x319f6f(0xb1),{'agentId':_0x491b84,'error':_0x2f917a[_0x319f6f(0xd5)]}),0x0;}}async[a0_0x2c59aa(0xc2)](_0x3a7807){const _0x59e6d6=a0_0x2c59aa;try{const _0x558e57=await this[_0x59e6d6(0xd6)][_0x59e6d6(0xe0)](_0x3a7807),_0x5e4312={'totalActive':_0x558e57[_0x59e6d6(0xae)],'contentMode':_0x558e57[_0x59e6d6(0xc3)](_0x4212a8=>_0x4212a8[_0x59e6d6(0xba)]==='content')[_0x59e6d6(0xae)],'referenceMode':_0x558e57[_0x59e6d6(0xc3)](_0x85c3d7=>_0x85c3d7['mode']==='reference')['length'],'estimatedTokens':0x0,'files':[]};for(const _0xe3ba24 of _0x558e57){_0x5e4312[_0x59e6d6(0xd3)]+=_0xe3ba24[_0x59e6d6(0xc4)]||0x0,_0x5e4312[_0x59e6d6(0xb2)]['push']({'fileName':_0xe3ba24['fileName'],'mode':_0xe3ba24[_0x59e6d6(0xba)],'size':this['formatBytes'](_0xe3ba24[_0x59e6d6(0xcd)]),'tokens':_0xe3ba24['tokenEstimate']||0x0});}return _0x5e4312;}catch(_0x49af63){return this[_0x59e6d6(0xb7)]?.['error']('Error\x20getting\x20attachment\x20summary',{'agentId':_0x3a7807,'error':_0x49af63[_0x59e6d6(0xd5)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;