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