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