@loxia-labs/loxia-autopilot-one 1.0.15 → 1.0.17
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 +2 -2
- 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-CRkOpV4k.css +1 -0
- package/web-ui/build/static/{index-CR8edPA3.js → index-DzOU48ux.js} +98 -79
- package/web-ui/build/static/index-uN7nOVvZ.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x1b902c,_0x1d549c){const _0x3a4a53=a0_0x322a,_0x1acb3e=_0x1b902c();while(!![]){try{const _0x29a461=-parseInt(_0x3a4a53(0x1fc))/0x1+parseInt(_0x3a4a53(0x205))/0x2+parseInt(_0x3a4a53(0x20e))/0x3+-parseInt(_0x3a4a53(0x216))/0x4+-parseInt(_0x3a4a53(0x204))/0x5+-parseInt(_0x3a4a53(0x20f))/0x6+parseInt(_0x3a4a53(0x22a))/0x7;if(_0x29a461===_0x1d549c)break;else _0x1acb3e['push'](_0x1acb3e['shift']());}catch(_0x5b2561){_0x1acb3e['push'](_0x1acb3e['shift']());}}}(a0_0x5552,0x5af7f));import{AGENT_MODES,AGENT_MODE_STATES,AGENT_STATUS,AGENT_ACTIVITY_STATUS,TASK_STATUS,SCHEDULER_CONFIG}from'../utilities/constants.js';function a0_0x322a(_0x30610f,_0x15490d){_0x30610f=_0x30610f-0x1ef;const _0x5552b1=a0_0x5552();let _0x322aa3=_0x5552b1[_0x30610f];if(a0_0x322a['ViXRXG']===undefined){var _0x41acd2=function(_0x4969c0){const _0x3145a8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x48d77a='',_0x550991='';for(let _0x38e4ba=0x0,_0x3cff5f,_0xf84a7e,_0x4d5d04=0x0;_0xf84a7e=_0x4969c0['charAt'](_0x4d5d04++);~_0xf84a7e&&(_0x3cff5f=_0x38e4ba%0x4?_0x3cff5f*0x40+_0xf84a7e:_0xf84a7e,_0x38e4ba++%0x4)?_0x48d77a+=String['fromCharCode'](0xff&_0x3cff5f>>(-0x2*_0x38e4ba&0x6)):0x0){_0xf84a7e=_0x3145a8['indexOf'](_0xf84a7e);}for(let _0x1402eb=0x0,_0x44e665=_0x48d77a['length'];_0x1402eb<_0x44e665;_0x1402eb++){_0x550991+='%'+('00'+_0x48d77a['charCodeAt'](_0x1402eb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x550991);};a0_0x322a['qvxHaM']=_0x41acd2,a0_0x322a['xlaGkt']={},a0_0x322a['ViXRXG']=!![];}const _0x28e77f=_0x5552b1[0x0],_0x597743=_0x30610f+_0x28e77f,_0x5996b8=a0_0x322a['xlaGkt'][_0x597743];return!_0x5996b8?(_0x322aa3=a0_0x322a['qvxHaM'](_0x322aa3),a0_0x322a['xlaGkt'][_0x597743]=_0x322aa3):_0x322aa3=_0x5996b8,_0x322aa3;}function a0_0x5552(){const _0xa2a217=['BgfZDfjLy2vPDMvK','DxnLCK1LC3nHz2vZ','CMvJzwL2zwq','qwDLBNqGAxmGy3vYCMvUDgX5igv4zwn1DgLUzYaOBw9Kzvn0yxrLpuvyrunvveLorYK','Bw9Kzq','AgfZtwvZC2fNzxm','vu5ltK9xtL9nt0rf','nZC2ntC0swTLwKPZ','mJC3ntCYnMPcv0nmvq','zgvSyxLfBMruAw1L','igLUDgvYlwfNzw50ig1LC3nHz2uOCYKGDg8GChjVy2vZCW','DgfZA3m','seftx0Lovevsx0fhru5ux01fu1nbr0vt','Bw9Kzvn0yxrL','su5Fufjpr1jfu1m','mta3mJm0ohvNuvbxDa','q0Hbva','ihf1zxvLzcbTzxnZywDLCYaOvdO','quDftLq','yxv0B25VBw91C1DVCMTdB21WBgv0zq','qwDLBNqGzgvSyxLLzcb1BNrPBca','quDftLrFuefvu0ve','seftx1vtrvjFtuvtu0fhrvm','Aw50zxjbz2vUDe1LC3nHz2vZ','BgvUz3rO','qvvut05ptu9vu19nt0rfx0fdveLwrq','qwDLBNqGAgfZia','DgfZA0XPC3q','rvHfq1vusu5h','lcbvoG','zMLSDgvY','C2L6zq','u1rpuf9srvfvrvnuruq','Aw5JB21PBMDnzxnZywDLCW','BwfW','mte5mdmZnZr3qKz1vgy','qwDLBNqGAgfZihvUChjVy2vZC2vKigLUy29TAw5Nig1LC3nHz2vZ','uevoreLorW','Dg9VBfjLC3vSDhm','quDftLrFtK9ux0zpvu5e','CMvHC29U','uefvu0ve','BgfZDfr5Cgu','y291BNrZ','lcbLEhbLy3rLzca','C3rHDhvZ','Cgf1C2vKvw50AwW','qwDLBNqGC3rHDhvZigLZia','AgfZsw50zxjbz2vUDe1LC3nHz2vZ','Dg90ywW','AxnbCNjHEq','mJyYmdy3t21ztg1i','q0HbvcbTB2rLic0GBM8GBwvZC2fNzxmGDg8GChjVy2vZCW','qwDLBNqGCgf1C2vKigLUzgvMAw5PDgvSEq','ywn0AxzL','Aw50zxjbz2vUDfrYywnRAw5N','q0HbvcbTB2rLic0GAgfZia','quDftLrFsu5bq1rjvKvFu1rbvfvt','qwDLBNqGCgf1C2vKihvUDgLSia','mZe1nZeXmg9hBejqDG','nZq5mJHeBLnQDw8','C29Tzq'];a0_0x5552=function(){return _0xa2a217;};return a0_0x5552();}function hasPendingTasks(_0x48d77a){const _0x521a5c=a0_0x322a;if(!_0x48d77a['taskList']||!_0x48d77a[_0x521a5c(0x222)][_0x521a5c(0x212)]||!Array['isArray'](_0x48d77a[_0x521a5c(0x222)][_0x521a5c(0x212)]))return![];return _0x48d77a['taskList'][_0x521a5c(0x212)][_0x521a5c(0x206)](_0x550991=>_0x550991['status']===TASK_STATUS[_0x521a5c(0x22c)]||_0x550991[_0x521a5c(0x1f6)]===TASK_STATUS[_0x521a5c(0x215)]);}function getMessageQueueStatus(_0x38e4ba){const _0x3d6327=a0_0x322a,_0x3cff5f=_0x38e4ba['messageQueues']||{},_0xf84a7e={'toolResults':Array[_0x3d6327(0x1fb)](_0x3cff5f['toolResults'])?_0x3cff5f['toolResults']['length']:0x0,'interAgentMessages':Array[_0x3d6327(0x1fb)](_0x3cff5f['interAgentMessages'])?_0x3cff5f[_0x3d6327(0x21e)][_0x3d6327(0x21f)]:0x0,'userMessages':Array[_0x3d6327(0x1fb)](_0x3cff5f['userMessages'])?_0x3cff5f['userMessages']['length']:0x0};return _0xf84a7e['total']=_0xf84a7e[_0x3d6327(0x1ef)]+_0xf84a7e[_0x3d6327(0x21e)]+_0xf84a7e['userMessages'],{'hasMessages':_0xf84a7e[_0x3d6327(0x1fa)]>0x0,'hasUserMessages':_0xf84a7e[_0x3d6327(0x208)]>0x0,'hasInterAgentMessages':_0xf84a7e[_0x3d6327(0x21e)]>0x0,'hasToolResults':_0xf84a7e[_0x3d6327(0x1ef)]>0x0,'counts':_0xf84a7e};}function hasUnprocessedIncomingMessages(_0x4d5d04){const _0x193051=a0_0x322a;if(_0x4d5d04['incomingMessages']&&Array['isArray'](_0x4d5d04['incomingMessages'])&&_0x4d5d04[_0x193051(0x228)]['length']>0x0)return!![];if(_0x4d5d04[_0x193051(0x200)]&&_0x4d5d04[_0x193051(0x200)]instanceof Map&&_0x4d5d04[_0x193051(0x200)][_0x193051(0x226)]>0x0){const _0x1402eb=Date['now']();for(const _0x44e665 of _0x4d5d04[_0x193051(0x200)]['values']()){if(_0x44e665['lastReceived']&&_0x1402eb-_0x44e665[_0x193051(0x207)]<SCHEDULER_CONFIG['RECENT_MESSAGE_THRESHOLD_MS']&&_0x44e665[_0x193051(0x1f3)]===_0x193051(0x209))return!![];}}return![];}function isAgentDelayed(_0x7f5afa){const _0x5be228=a0_0x322a;if(!_0x7f5afa['delayEndTime'])return![];return new Date()<new Date(_0x7f5afa[_0x5be228(0x210)]);}function isAgentPaused(_0x25fd9d){const _0x11642a=a0_0x322a;if(_0x25fd9d[_0x11642a(0x1f6)]===AGENT_STATUS[_0x11642a(0x1f2)]){if(_0x25fd9d['pausedUntil'])return new Date()<new Date(_0x25fd9d['pausedUntil']);return!![];}if(_0x25fd9d[_0x11642a(0x1f7)]&&new Date()<new Date(_0x25fd9d['pausedUntil']))return!![];return![];}function hasAutonomousWorkComplete(_0x1c6822){const _0x482fd9=a0_0x322a;return _0x1c6822[_0x482fd9(0x21a)]===!![];}export function shouldAgentBeActive(_0x2bd0bc){const _0x10f637=a0_0x322a;if(!_0x2bd0bc)return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x1f0)],'details':'Agent\x20object\x20is\x20null\x20or\x20undefined'};if(_0x2bd0bc[_0x10f637(0x1f6)]!==AGENT_STATUS['ACTIVE'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x202)],'details':_0x10f637(0x1f8)+_0x2bd0bc[_0x10f637(0x1f6)]+_0x10f637(0x1f5)+AGENT_STATUS['ACTIVE']};if(isAgentDelayed(_0x2bd0bc))return{'active':![],'reason':AGENT_ACTIVITY_STATUS['AGENT_DELAYED'],'details':_0x10f637(0x21b)+_0x2bd0bc['delayEndTime']};if(isAgentPaused(_0x2bd0bc))return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x21c)],'details':_0x2bd0bc['pausedUntil']?_0x10f637(0x203)+_0x2bd0bc[_0x10f637(0x1f7)]:_0x10f637(0x1fe)};if(_0x2bd0bc['stopRequested'])return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x227)],'details':'Agent\x20stop\x20has\x20been\x20requested'};if(_0x2bd0bc[_0x10f637(0x214)]===AGENT_MODE_STATES[_0x10f637(0x223)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x220)],'details':_0x10f637(0x20a)};const _0x32bb88=getMessageQueueStatus(_0x2bd0bc);if(_0x2bd0bc[_0x10f637(0x20b)]===AGENT_MODES[_0x10f637(0x219)]){const _0x544724=hasPendingTasks(_0x2bd0bc),unprocessedMessages=hasUnprocessedIncomingMessages(_0x2bd0bc);if(_0x544724)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_PENDING_TASKS'],'details':'Agent\x20has\x20pending/in-progress\x20tasks'};if(_0x32bb88[_0x10f637(0x20c)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['HAS_QUEUED_MESSAGES'],'details':'Agent\x20has\x20'+_0x32bb88['counts']['total']+_0x10f637(0x218)+_0x32bb88['counts'][_0x10f637(0x1ef)]+',\x20I:'+_0x32bb88[_0x10f637(0x1f4)]['interAgentMessages']+_0x10f637(0x224)+_0x32bb88['counts']['userMessages']+')'};if(unprocessedMessages)return{'active':!![],'reason':AGENT_ACTIVITY_STATUS['AUTONOMOUS_MODE_ACTIVE'],'details':_0x10f637(0x22b)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['NO_PENDING_WORK'],'details':'AGENT\x20mode\x20agent\x20has\x20no\x20pending\x20tasks\x20or\x20messages'};}if(_0x2bd0bc['mode']===AGENT_MODES[_0x10f637(0x217)]){if(_0x32bb88['hasUserMessages'])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x21d)],'details':_0x10f637(0x221)+_0x32bb88['counts'][_0x10f637(0x208)]+'\x20user\x20message(s)\x20to\x20process'};if(_0x32bb88[_0x10f637(0x1f9)])return{'active':!![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x213)],'details':_0x10f637(0x221)+_0x32bb88[_0x10f637(0x1f4)][_0x10f637(0x21e)]+_0x10f637(0x211)};return{'active':![],'reason':AGENT_ACTIVITY_STATUS['CHAT_MODE_NO_MESSAGES'],'details':_0x32bb88['hasToolResults']?_0x10f637(0x201)+_0x32bb88[_0x10f637(0x1f4)][_0x10f637(0x1ef)]+'\x20tool\x20results\x20but\x20no\x20new\x20messages':_0x10f637(0x1fd)};}return{'active':![],'reason':AGENT_ACTIVITY_STATUS[_0x10f637(0x20d)],'details':'Unknown\x20agent\x20mode:\x20'+_0x2bd0bc['mode']};}export function getActiveAgents(_0x3aa1da){const _0x39b759=a0_0x322a,_0x115b43=_0x3aa1da instanceof Map?Array['from'](_0x3aa1da['values']()):_0x3aa1da;return _0x115b43[_0x39b759(0x229)](_0x32af11=>{const _0x5d37f3=shouldAgentBeActive(_0x32af11);return{'agent':_0x32af11,'agentId':_0x32af11['id'],'sessionId':_0x32af11['sessionId'],..._0x5d37f3};})[_0x39b759(0x225)](_0x3e31ed=>_0x3e31ed[_0x39b759(0x1ff)]);}export function getAllAgentActivityStatus(_0xd2497b){const _0x245ca0=_0xd2497b instanceof Map?Array['from'](_0xd2497b['values']()):_0xd2497b;return _0x245ca0['map'](_0x49eb30=>{const _0x512e61=a0_0x322a,_0x5912a4=shouldAgentBeActive(_0x49eb30),_0xf0f2ac=getMessageQueueStatus(_0x49eb30);return{'agentId':_0x49eb30['id'],'agentName':_0x49eb30['name'],'mode':_0x49eb30[_0x512e61(0x20b)],'status':_0x49eb30[_0x512e61(0x1f6)],'active':_0x5912a4['active'],'reason':_0x5912a4[_0x512e61(0x1f1)],'details':_0x5912a4['details'],'queueCounts':_0xf0f2ac['counts'],'hasPendingTasks':hasPendingTasks(_0x49eb30),'isDelayed':isAgentDelayed(_0x49eb30),'isPaused':isAgentPaused(_0x49eb30),'stopRequested':_0x49eb30['stopRequested']||![],'delayEndTime':_0x49eb30[_0x512e61(0x210)]||null,'pausedUntil':_0x49eb30['pausedUntil']||null};});}export function shouldSkipIteration(_0x40a5cf){const _0x144436=a0_0x322a;if(!_0x40a5cf)return{'skip':!![],'reason':'Agent\x20not\x20found'};if(isAgentDelayed(_0x40a5cf))return{'skip':!![],'reason':'Agent\x20delayed\x20until\x20'+_0x40a5cf[_0x144436(0x210)]};if(_0x40a5cf[_0x144436(0x1f7)]&&new Date()<new Date(_0x40a5cf[_0x144436(0x1f7)]))return{'skip':!![],'reason':'Agent\x20paused\x20until\x20'+_0x40a5cf['pausedUntil']};return{'skip':![],'reason':null};}export{hasPendingTasks,getMessageQueueStatus,hasUnprocessedIncomingMessages,isAgentDelayed,isAgentPaused,hasAutonomousWorkComplete};export default{'shouldAgentBeActive':shouldAgentBeActive,'getActiveAgents':getActiveAgents,'getAllAgentActivityStatus':getAllAgentActivityStatus,'shouldSkipIteration':shouldSkipIteration,'hasPendingTasks':hasPendingTasks,'getMessageQueueStatus':getMessageQueueStatus,'hasUnprocessedIncomingMessages':hasUnprocessedIncomingMessages,'isAgentDelayed':isAgentDelayed,'isAgentPaused':isAgentPaused,'hasAutonomousWorkComplete':hasAutonomousWorkComplete};
|
|
1
|
+
(function(_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 +1 @@
|
|
|
1
|
-
const a0_0x58e07c=a0_0x524b;function a0_0x1aa9(){const _0x2a2048=['uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','C3rHDhvZvgv4Da','Bw9KzwW','Aw5MBW','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','qu5usfjpueLdx09qvvm','ChjVBxb0','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','z2v0s2v5C0zVCLjLCxvLC3q','zgvIDwC','x3n1Bw1HCML6zu1LC3nHz2vZ','CxvHBgL0Eq','CgHP','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','C3rYAw5N','qu5usfjpueLd','x2nOzwnRtw9KzwXizwfSDgG','qKfex0DbvevxqvK','tM8GqvbjigTLEsbJB25MAwD1CMvK','Aw5JBhvKzxm','z2v0qwDLBNq','DhjHy2TvC2fNzq','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','t1bftKfj','y2LYy3vPDejYzwfRzxi','Aw1Nlq','C3r5Bgu','B3b0Aw9UCW','yw50AhjVCgLJ','zxjYB3iT','mZK5nZe0nKXRDgDTvq','BM93','mJy0ndmWB1HJB3fg','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','x2zVCM1HDfnPBMDSzu1LC3nHz2u','CgXHDgzVCM1qCM92AwrLza','C3rYAw5NAwz5','ue9tva','yNvKz2v0u2vYDMLJzq','y29UDgvUDa','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','qMvHCMvYia','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','sw1Hz2uGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','x2zVCM1HDezVCKfUDgHYB3bPyW','x21HA2vbueLszxf1zxn0','x2DLDfzLBMrVCKzYB21nB2rLBa','mtaWBMjpshPM','zMfPBhvYzxm','yxbPs2v5','y3jLyxrLza','DgLTzxn0yw1W','Dg90ywXFDg9Rzw5Z','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','yxP1CMuTB3bLBMfPlwrHBgXLmW','ChjVDMLKzxi','C3bLzwq','y29Kzq','Bg9Nz2vY','revfufnfruTFuJe','Cg93','qu5usfjpueLdx0HbsuTv','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','uMf0zsbSAw1PDcbLEgnLzwrLza','ndjRB3LnAfa','uMv0CNLPBMCGAw4G','qvPvuKu','ic0G','su5urvjoquXFu0vsvKvsx0vsuK9s','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','ntiYtfHQCgHX','x21HA2vjBwfNzufqsvjLCxvLC3q','ChjLzMvYCMvKtw9KzwW','DxjS','mte2nti4mgLMtvzZtq','y3vZDg9TqxbPs2v5CW','C3vTBwfYEq','y2XHC3nPzNLfCNjVCG','Dw5ZAgLMDa','AgvHBhrOEq','Aw1Hz2vZ','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','CMfUzg9T','AxnpCgvU','sfruuca','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','C3LZDgvT','Dg9ju09tDhjPBMC','C3rHDhvZ','vw5RBM93BIbTB2rLBdOG','C3rHBMrHCMq','zMfZDa','yMfJA2vUza','BwvZC2fNzq','zxjYB3jiyw5KBgvY','BwvZC2fNzxm','BgvUz3rO','zxjYB3i','DxnHz2u','ndq3mdiWnwzZB2zvyW','nZq0ntq5nKDxtvjYCG','Ahr0Chm6lY9HCgKUBg94AweUywK','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','BgfZDezHAwX1CMvuAw1L','Bwf4x3rVA2vUCW','sw52ywXPzcbTB2rLBdOG','revfufnfruS','DxnLCG','zgf0yq','quKGC2vYDMLJzsbLCNjVCJOG','DMvUzg9YqxbPs2v5','C3rHy2S','AgvHBhrOlwnOzwnR','x2zVCM1HDezVCKf6DxjL','yMfZzvvYBa','u3LZDgvToIa','D2fYBG','CMv0CNLbDhrLBxb0CW','x3jLC2v0q2LYy3vPDejYzwfRzxi','ANnVBG','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGquKGC2vYDMLJzq','C2v0qxbPs2v5twfUywDLCG','C3rVCa','ywDLBNrjza','x3rYDw5JyxrLtwvZC2fNzq','ywDLBNrqB29S','Bw9KzwXtCgvJCW','x2vZDgLTyxrLvg9Rzw5Z','zgvLChnLzwS','mZe3n3nlvvHqtG','yxbWBgLJyxrPB24VANnVBG','CM9Szq','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','z3b0','AxnbCNjHEq','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','AgfUzgXLshr0CevYCM9Y','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','C3rYzwfT','C3vIC3rY','yxbPs2v5twfUywDLCG','y29UzMLN','C2L6zq','DgLTzw91Da','tK9ux0zpvu5e','yxnZAxn0yw50','yJy0x2PZB24','C2vZC2LVBKLK','BwfW','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','CMf0zuXPBwL0zxjZ','DgHYzxnOB2XK','ueHj','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','x3jLy29YzezHAwX1CMu','y2HVAwnLCW','x2zVCM1HDezVCK9Wzw5bsq','uMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','odi0odeYEKXquNf1'];a0_0x1aa9=function(){return _0x2a2048;};return a0_0x1aa9();}(function(_0x2a3bdc,_0x159a24){const _0x4af759=a0_0x524b,_0x1ba77b=_0x2a3bdc();while(!![]){try{const _0x4844cf=-parseInt(_0x4af759(0xd8))/0x1*(parseInt(_0x4af759(0x125))/0x2)+parseInt(_0x4af759(0x114))/0x3+-parseInt(_0x4af759(0xf5))/0x4+parseInt(_0x4af759(0x15a))/0x5+parseInt(_0x4af759(0x15b))/0x6+parseInt(_0x4af759(0x136))/0x7*(-parseInt(_0x4af759(0x141))/0x8)+-parseInt(_0x4af759(0x13d))/0x9*(parseInt(_0x4af759(0x116))/0xa);if(_0x4844cf===_0x159a24)break;else _0x1ba77b['push'](_0x1ba77b['shift']());}catch(_0xafc03e){_0x1ba77b['push'](_0x1ba77b['shift']());}}}(a0_0x1aa9,0xa9968));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x524b(_0x540b8f,_0x3b3d12){_0x540b8f=_0x540b8f-0xc6;const _0x1aa958=a0_0x1aa9();let _0x524b4a=_0x1aa958[_0x540b8f];if(a0_0x524b['rEgDfb']===undefined){var _0x4936da=function(_0x525d7f){const _0x506d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3101f8='',_0x56d469='';for(let _0x559853=0x0,_0x31b886,_0x4d5949,_0x41d219=0x0;_0x4d5949=_0x525d7f['charAt'](_0x41d219++);~_0x4d5949&&(_0x31b886=_0x559853%0x4?_0x31b886*0x40+_0x4d5949:_0x4d5949,_0x559853++%0x4)?_0x3101f8+=String['fromCharCode'](0xff&_0x31b886>>(-0x2*_0x559853&0x6)):0x0){_0x4d5949=_0x506d73['indexOf'](_0x4d5949);}for(let _0x5c55bf=0x0,_0x113139=_0x3101f8['length'];_0x5c55bf<_0x113139;_0x5c55bf++){_0x56d469+='%'+('00'+_0x3101f8['charCodeAt'](_0x5c55bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56d469);};a0_0x524b['QnKeyS']=_0x4936da,a0_0x524b['eDqYPy']={},a0_0x524b['rEgDfb']=!![];}const _0x3aa58b=_0x1aa958[0x0],_0x5290c6=_0x540b8f+_0x3aa58b,_0x2c8340=a0_0x524b['eDqYPy'][_0x5290c6];return!_0x2c8340?(_0x524b4a=a0_0x524b['QnKeyS'](_0x524b4a),a0_0x524b['eDqYPy'][_0x5290c6]=_0x524b4a):_0x524b4a=_0x2c8340,_0x524b4a;}class AIService{constructor(_0x3101f8,_0x56d469,_0x559853,_0x31b886){const _0x1df78a=a0_0x524b;this[_0x1df78a(0xe4)]=_0x3101f8,this['logger']=_0x56d469,this['budgetService']=_0x559853,this[_0x1df78a(0x155)]=_0x31b886,this[_0x1df78a(0xc9)]=_0x3101f8[_0x1df78a(0x153)]?.[_0x1df78a(0xc9)]||_0x1df78a(0x15c),this['timeout']=_0x3101f8[_0x1df78a(0x153)]?.[_0x1df78a(0xe6)]||0xea60,this['retryAttempts']=_0x3101f8['backend']?.['retryAttempts']||0x3,this[_0x1df78a(0xed)]=new Map(),this['requestQueue']=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this[_0x1df78a(0x120)](),this['conversationManagers']=new Map(),this['apiKeyManager']=null,this[_0x1df78a(0xd4)]=null;}async['sendMessage'](_0x4d5949,_0x41d219,_0x5c55bf={}){const _0x477f6f=a0_0x524b,_0x113139='req-'+Date[_0x477f6f(0x115)]()+'-'+Math[_0x477f6f(0x149)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x4d5949);const _0x288356=this['_formatMessagesForModel'](_0x41d219,_0x4d5949,_0x5c55bf),_0x1a07ee={'model':_0x4d5949,'messages':_0x288356,'options':{'max_tokens':this[_0x477f6f(0xd5)][_0x4d5949]?.['maxTokens']||0xfa0,'temperature':_0x5c55bf['temperature']||0.7,'stream':_0x5c55bf[_0x477f6f(0xe1)]||![]},'metadata':{'requestId':_0x113139,'agentId':_0x5c55bf['agentId'],'timestamp':new Date()[_0x477f6f(0x14e)]()}};_0x5c55bf['systemPrompt']&&(_0x1a07ee[_0x477f6f(0x14d)]=_0x5c55bf['systemPrompt']);this[_0x477f6f(0x130)][_0x477f6f(0xf9)](_0x477f6f(0x10c)+_0x4d5949,{'requestId':_0x113139,'agentId':_0x5c55bf['agentId'],'messageCount':Array[_0x477f6f(0xdd)](_0x41d219)?_0x41d219['length']:0x1,'maxTokens':_0x1a07ee[_0x477f6f(0x15f)]});const _0x309ba7=await this['_makeAPIRequest']('/chat/completions',_0x1a07ee,_0x113139,{..._0x5c55bf,'sessionId':_0x5c55bf[_0x477f6f(0xea)],'platformProvided':_0x5c55bf['platformProvided']||![]});return _0x309ba7['usage']&&await this[_0x477f6f(0x10b)](_0x5c55bf['agentId'],_0x4d5949,{'prompt_tokens':_0x309ba7['usage']['prompt_tokens']||0x0,'completion_tokens':_0x309ba7['usage']['completion_tokens']||0x0,'total_tokens':_0x309ba7[_0x477f6f(0x159)][_0x477f6f(0x12a)]||0x0}),this[_0x477f6f(0xcd)](),{'content':_0x309ba7[_0x477f6f(0xf2)][0x0]?.['message']?.['content']||'','model':_0x309ba7[_0x477f6f(0xf8)],'tokenUsage':_0x309ba7['usage'],'requestId':_0x113139,'finishReason':_0x309ba7['choices'][0x0]?.['finish_reason']};}catch(_0x2984ce){this['_recordFailure'](),this['logger']['error'](_0x477f6f(0x13c)+_0x2984ce['message'],{'requestId':_0x113139,'model':_0x4d5949,'agentId':_0x5c55bf['agentId'],'error':_0x2984ce[_0x477f6f(0xc6)]}),await this[_0x477f6f(0xdf)](_0x2984ce,{'requestId':_0x113139,'model':_0x4d5949,'agentId':_0x5c55bf['agentId']});throw _0x2984ce;}}async['routeModel'](_0x80dc2b,_0x1b3937={}){const _0x126c28=a0_0x524b;try{const _0x315852=MODEL_ROUTING[_0x80dc2b['toUpperCase']()]||MODEL_ROUTING['FALLBACK'],_0x36cd01=[];for(const _0x4329cf of _0x315852){const _0xcf69f9=await this[_0x126c28(0x106)](_0x4329cf);_0xcf69f9&&_0x36cd01['push'](_0x4329cf);}if(_0x36cd01['length']===0x0)return this['logger']['warn'](_0x126c28(0xde)+_0x80dc2b+',\x20using\x20fallback'),MODEL_ROUTING['FALLBACK'][0x0];let _0x5856a5=_0x36cd01[0x0];if(_0x1b3937['preferredModel']&&_0x36cd01['includes'](_0x1b3937['preferredModel']))_0x5856a5=_0x1b3937[_0x126c28(0x13f)];else{if(_0x1b3937['complexity']==='high'&&_0x36cd01[_0x126c28(0x109)](MODELS[_0x126c28(0xfb)]))_0x5856a5=MODELS['ANTHROPIC_OPUS'];else _0x1b3937[_0x126c28(0x12e)]===_0x126c28(0x152)&&_0x36cd01[_0x126c28(0x109)](MODELS[_0x126c28(0x133)])&&(_0x5856a5=MODELS[_0x126c28(0x133)]);}return this['logger']['info'](_0x126c28(0xf0)+_0x80dc2b,{'selectedModel':_0x5856a5,'availableModels':_0x36cd01['length'],'context':_0x1b3937}),_0x5856a5;}catch(_0x541b3e){return this['logger']['error']('Model\x20routing\x20failed:\x20'+_0x541b3e['message'],{'task':_0x80dc2b,'context':_0x1b3937}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x5b8049,_0x5d4920){const _0x1b803c=a0_0x524b,_0x13ec4e=this['modelSpecs'][_0x5d4920];if(!_0x13ec4e)throw new Error(_0x1b803c(0x150)+_0x5d4920);const _0x983b51=_0x13ec4e['contextWindow']*0.8;let _0x1e844d=0x0;const _0x30a591=[],_0x3beecd=await Promise['all'](_0x5b8049[_0x1b803c(0xeb)](async _0x7b8ce5=>({..._0x7b8ce5,'estimatedTokens':await this[_0x1b803c(0xd6)](_0x7b8ce5[_0x1b803c(0x11d)],_0x5d4920)}))),_0x4f849b=[..._0x3beecd]['reverse']();for(const _0x355c43 of _0x4f849b){if(_0x1e844d+_0x355c43['estimatedTokens']>_0x983b51){if(_0x30a591['length']===0x0){const _0x4c1b4d=await this[_0x1b803c(0xd3)](_0x355c43['content'],_0x983b51);_0x30a591[_0x1b803c(0x145)]({..._0x355c43,'content':_0x4c1b4d,'estimatedTokens':_0x983b51});}break;}_0x30a591[_0x1b803c(0x145)](_0x355c43),_0x1e844d+=_0x355c43['estimatedTokens'];}const _0xaffa53=_0x3beecd['slice'](0x0,-_0x30a591[_0x1b803c(0x157)]);if(_0xaffa53[_0x1b803c(0x157)]>0x0){const _0x160a6a=await this[_0x1b803c(0x100)](_0xaffa53,_0x5d4920);_0x30a591['unshift']({'role':_0x1b803c(0x14d),'content':'Previous\x20conversation\x20summary:\x20'+_0x160a6a,'timestamp':_0xaffa53[0x0][_0x1b803c(0x129)],'type':_0x1b803c(0x143),'estimatedTokens':await this[_0x1b803c(0xd6)](_0x160a6a,_0x5d4920)});}return this['logger'][_0x1b803c(0xf9)]('Conversation\x20compactized\x20for\x20model:\x20'+_0x5d4920,{'originalMessages':_0x5b8049['length'],'compactizedMessages':_0x30a591['length'],'estimatedTokens':_0x1e844d,'maxTokens':_0x983b51}),_0x30a591;}async['trackUsage'](_0x78ab37,_0x19eae6,_0x276f84,_0x5f5e7c){const _0x31ba7a=a0_0x524b;try{this[_0x31ba7a(0x11c)]&&this['budgetService']['trackUsage'](_0x78ab37,_0x19eae6,_0x276f84);}catch(_0x4f6922){this[_0x31ba7a(0x130)]['error']('Usage\x20tracking\x20failed:\x20'+_0x4f6922[_0x31ba7a(0x154)]);}}async['handleHttpError'](_0xb20ad5,_0x19cec2){const _0x4712aa=a0_0x524b,_0x5d696c=this[_0x4712aa(0x155)]?.[_0x4712aa(0x144)]?.(_0xb20ad5,_0x19cec2);switch(_0xb20ad5[_0x4712aa(0x14f)]||_0xb20ad5[_0x4712aa(0x12f)]){case HTTP_STATUS['BAD_REQUEST']:this['logger'][_0x4712aa(0x158)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x19cec2,'error':_0xb20ad5['message']});throw new Error('Invalid\x20request:\x20'+_0xb20ad5[_0x4712aa(0x154)]);case HTTP_STATUS['UNAUTHORIZED']:this['logger'][_0x4712aa(0x158)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x19cec2});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error']('Access\x20forbidden\x20to\x20AI\x20service',{'context':_0x19cec2});throw new Error(_0x4712aa(0xec));case HTTP_STATUS[_0x4712aa(0xe7)]:this['logger'][_0x4712aa(0x158)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x19cec2});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x4712aa(0x130)]['warn'](_0x4712aa(0x135),{'context':_0x19cec2}),await this['_handleRateLimit'](_0x19cec2);throw new Error(_0x4712aa(0xf6));case HTTP_STATUS[_0x4712aa(0x13a)]:case HTTP_STATUS[_0x4712aa(0x107)]:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS['GATEWAY_TIMEOUT']:this[_0x4712aa(0x130)][_0x4712aa(0x158)](_0x4712aa(0x11e),{'context':_0x19cec2,'status':_0xb20ad5['status']}),await this[_0x4712aa(0x12b)](_0x19cec2);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x4712aa(0x130)]['error']('Unknown\x20AI\x20service\x20error',{'context':_0x19cec2,'error':_0xb20ad5['message']});throw new Error(_0x4712aa(0x164)+_0xb20ad5[_0x4712aa(0x154)]);}}[a0_0x58e07c(0xd0)](_0x2779e2){const _0xd30e29=a0_0x58e07c;this['apiKeyManager']=_0x2779e2,this[_0xd30e29(0x130)]?.['info'](_0xd30e29(0xcf),{'hasManager':!!_0x2779e2});}['setAgentPool'](_0x3f66df){const _0x30af80=a0_0x58e07c;this['agentPool']=_0x3f66df,this[_0x30af80(0x130)]?.[_0x30af80(0xf9)]('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x3f66df});}async['generateImage'](_0x46560a,_0x25f103={}){const _0x2fa17b=a0_0x58e07c,_0x4a261d=_0x2fa17b(0x10f)+Date['now']()+'-'+Math[_0x2fa17b(0x149)]()['toString'](0x24)[_0x2fa17b(0xe2)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x46560a||typeof _0x46560a!==_0x2fa17b(0x104)||_0x46560a['trim']()[_0x2fa17b(0x157)]===0x0)throw new Error('Image\x20generation\x20requires\x20a\x20non-empty\x20text\x20prompt');const _0x4b0f0e=_0x25f103['model']||'flux-1.1-pro',_0x473fe3=_0x25f103[_0x2fa17b(0xe5)]||'1024x1024',_0x3a3b7a=_0x25f103[_0x2fa17b(0x101)]||_0x2fa17b(0x151),_0x43e10b=_0x25f103['responseFormat']||_0x2fa17b(0x140);this[_0x2fa17b(0x130)][_0x2fa17b(0xf9)]('Generating\x20image\x20with\x20model:\x20'+_0x4b0f0e,{'requestId':_0x4a261d,'model':_0x4b0f0e,'size':_0x473fe3,'quality':_0x3a3b7a,'promptLength':_0x46560a['length']});const _0x2ac027={'prompt':_0x46560a,'model':_0x4b0f0e,'size':_0x473fe3,'quality':_0x3a3b7a,'response_format':_0x43e10b,'n':0x1,'metadata':{'requestId':_0x4a261d,'timestamp':new Date()[_0x2fa17b(0x14e)]()}},_0x44caa8=await this[_0x2fa17b(0x13e)](_0x2ac027,_0x4a261d,{'sessionId':_0x25f103['sessionId'],'platformProvided':_0x25f103[_0x2fa17b(0x119)]||![]});return this['_resetCircuitBreaker'](),{'url':_0x44caa8['data']?.[0x0]?.['url']||null,'b64_json':_0x44caa8[_0x2fa17b(0x163)]?.[0x0]?.[_0x2fa17b(0xe9)]||null,'model':_0x44caa8['model']||_0x4b0f0e,'requestId':_0x4a261d,'revisedPrompt':_0x44caa8[_0x2fa17b(0x163)]?.[0x0]?.['revised_prompt']||_0x46560a};}catch(_0x292984){this[_0x2fa17b(0xf1)](),this['logger']['error']('Image\x20generation\x20failed:\x20'+_0x292984['message'],{'requestId':_0x4a261d,'model':_0x25f103['model'],'error':_0x292984[_0x2fa17b(0xc6)]});throw _0x292984;}}async['checkServiceHealth'](){const _0x4d44db=a0_0x58e07c;try{const _0xbbc62d=await this[_0x4d44db(0x123)]('/health',{},_0x4d44db(0xc7));return _0xbbc62d[_0x4d44db(0x14f)]===_0x4d44db(0x146);}catch(_0x42094d){return![];}}async['switchAgentModel'](_0x4fcf6e,_0x553903){const _0x2b9b53=a0_0x58e07c;try{if(!this['_isValidModel'](_0x553903))throw new Error(_0x2b9b53(0x160)+_0x553903);let _0x2959a5=this['conversationManagers']['get'](_0x4fcf6e);!_0x2959a5&&(_0x2959a5=new ConversationManager(_0x4fcf6e,this['logger']),this['conversationManagers']['set'](_0x4fcf6e,_0x2959a5));const _0x32585f=await _0x2959a5['switchModel'](_0x553903),_0x47b347=await this[_0x2b9b53(0xd4)]?.[_0x2b9b53(0x10a)](_0x4fcf6e);return _0x47b347&&(_0x47b347['currentModel']=_0x553903,await this['agentPool']['persistAgentState'](_0x4fcf6e)),this['logger'][_0x2b9b53(0xf9)](_0x2b9b53(0x117)+_0x4fcf6e,{'newModel':_0x553903,'messageCount':_0x32585f[_0x2b9b53(0x156)]['length']}),{'success':!![],'agentId':_0x4fcf6e,'newModel':_0x553903,'conversation':_0x32585f};}catch(_0x49095b){this[_0x2b9b53(0x130)][_0x2b9b53(0x158)]('Model\x20switch\x20failed:\x20'+_0x49095b[_0x2b9b53(0x154)],{'agentId':_0x4fcf6e,'newModel':_0x553903});throw _0x49095b;}}[a0_0x58e07c(0x120)](){const _0x4e4a5f=a0_0x58e07c,_0x42e6fd={[MODELS['ANTHROPIC_SONNET']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x4e4a5f(0xfb)]]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x105)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x105)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x4e4a5f(0x131)]]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x161)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS['PHI_4']]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0xef)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':_0x4e4a5f(0x138),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':'AZURE','contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x42e6fd;}['_formatMessagesForModel'](_0x71007b,_0x34fef1,_0x280e1b){const _0x4da3e8=a0_0x58e07c,_0x581c43=this['modelSpecs'][_0x34fef1]||{'provider':'AZURE'};let _0x23c971;typeof _0x71007b===_0x4da3e8(0x104)?_0x23c971=[{'role':_0x4da3e8(0x162),'content':_0x71007b}]:_0x23c971=_0x71007b[_0x4da3e8(0xeb)](_0xa380b0=>this['_formatSingleMessage'](_0xa380b0,_0x34fef1));switch(_0x581c43[_0x4da3e8(0x12d)]){case MODEL_PROVIDERS['ANTHROPIC']:return this[_0x4da3e8(0x122)](_0x23c971);case MODEL_PROVIDERS['OPENAI']:return this[_0x4da3e8(0xf3)](_0x23c971);case MODEL_PROVIDERS['AZURE']:return this[_0x4da3e8(0xc8)](_0x23c971);default:return _0x23c971;}}[a0_0x58e07c(0x118)](_0x3d34a0,_0x2346fa){const _0x19056b=a0_0x58e07c;return{'role':_0x3d34a0[_0x19056b(0xda)]||'user','content':_0x3d34a0[_0x19056b(0x11d)],'timestamp':_0x3d34a0[_0x19056b(0x129)]};}['_formatForAnthropic'](_0x2db566){return _0x2db566['map'](_0x5be645=>{const _0x15b70e=a0_0x524b;if(_0x5be645[_0x15b70e(0xda)]===_0x15b70e(0x14d))return{'role':_0x15b70e(0x162),'content':_0x15b70e(0xca)+_0x5be645['content']};return _0x5be645;});}[a0_0x58e07c(0xf3)](_0x5f3215){return _0x5f3215;}['_formatForAzure'](_0x42c5cd){const _0x35f388=a0_0x58e07c;return _0x42c5cd[_0x35f388(0xeb)](_0x59b587=>({..._0x59b587,'content':typeof _0x59b587['content']===_0x35f388(0x104)?_0x59b587['content']:JSON['stringify'](_0x59b587['content'])}));}['_isValidModel'](_0x2a53e5){const _0x218ee8=a0_0x58e07c;this[_0x218ee8(0x130)][_0x218ee8(0xff)]('Validating\x20model',{'model':_0x2a53e5,'modelType':typeof _0x2a53e5});if(this['modelSpecs'][_0x2a53e5]!==undefined)return!![];return this['logger']['warn']('Model\x20validation\x20failed',{'model':_0x2a53e5,'availableModels':Object['keys'](this['modelSpecs'])}),![];}async['_checkModelHealth'](_0x34e6bb){return!![];}async[a0_0x58e07c(0xd6)](_0x5d45dc,_0x286f9c){const _0x5437e3=a0_0x58e07c;return Math['ceil'](_0x5d45dc[_0x5437e3(0x157)]/0x4);}async[a0_0x58e07c(0xd3)](_0x30d706,_0x4d86ad){const _0x4aa58f=a0_0x58e07c,_0x2b8566=_0x4d86ad*0x4;if(_0x30d706['length']<=_0x2b8566)return _0x30d706;return _0x30d706['substring'](0x0,_0x2b8566-0x14)+_0x4aa58f(0x13b);}async['_summarizeMessages'](_0x37b455,_0x302980){const _0x1df728=a0_0x58e07c,_0x22f311=_0x37b455[_0x1df728(0xeb)](_0x350f40=>_0x350f40[_0x1df728(0xda)]+':\x20'+_0x350f40[_0x1df728(0x11d)])['join']('\x0a'),_0x8d4029=0x1f4;if(_0x22f311['length']<=_0x8d4029)return _0x22f311;return _0x22f311['substring'](0x0,_0x8d4029)+'...\x20[conversation\x20summary\x20truncated]';}async[a0_0x58e07c(0x123)](_0x23be5d,_0x37919d,_0x596390,_0x1941ac={}){const _0x273bf8=a0_0x58e07c,_0xacdf81='https://autopilot-api.azurewebsites.net/llm/chat';let _0x434462,_0x48988d=null,_0x34a639=null;this[_0x273bf8(0x130)]?.['info'](_0x273bf8(0x148),{'hasApiKeyManager':!!this[_0x273bf8(0xe3)],'sessionId':_0x1941ac[_0x273bf8(0xea)],'hasSessionId':!!_0x1941ac[_0x273bf8(0xea)],'optionsKeys':Object['keys'](_0x1941ac),'model':_0x37919d['model']});if(this[_0x273bf8(0xe3)]&&_0x1941ac['sessionId']){const _0x2e92b2=this[_0x273bf8(0xe3)][_0x273bf8(0xfe)](_0x1941ac['sessionId'],{'platformProvided':_0x1941ac[_0x273bf8(0x119)]||![],'vendor':this[_0x273bf8(0x124)](_0x37919d[_0x273bf8(0xf8)])});_0x48988d=_0x2e92b2['loxiaApiKey'],_0x34a639=_0x2e92b2[_0x273bf8(0x165)],this['logger']?.[_0x273bf8(0xff)]('Retrieved API keys from session manager',{'sessionId':_0x1941ac['sessionId'],'hasLoxiaKey':!!_0x48988d,'hasVendorKey':!!_0x34a639,'vendor':this['_getVendorFromModel'](_0x37919d[_0x273bf8(0xf8)])});}!_0x48988d&&_0x1941ac[_0x273bf8(0x127)]&&(_0x48988d=_0x1941ac[_0x273bf8(0x127)]);!_0x48988d&&this[_0x273bf8(0xe4)]['apiKey']&&(_0x48988d=this[_0x273bf8(0xe4)]['apiKey']);if(!_0x48988d)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x16a943=_0x37919d[_0x273bf8(0xf8)],_0x478eb5={'conversationId':_0x596390,'message':_0x37919d[_0x273bf8(0x156)][_0x37919d['messages']['length']-0x1]?.['content']||'','messages':_0x37919d['messages'],'model':_0x16a943,'requestId':_0x596390,'options':_0x37919d[_0x273bf8(0x111)]||{},'platformProvided':_0x1941ac['platformProvided']||![]};_0x37919d[_0x273bf8(0x14d)]&&(_0x478eb5['systemPrompt']=_0x37919d['system']);_0x1941ac[_0x273bf8(0x119)]?_0x478eb5[_0x273bf8(0x127)]=_0x48988d:(_0x34a639&&(_0x478eb5[_0x273bf8(0x165)]=_0x34a639),_0x1941ac['customApiKeys']&&(_0x478eb5[_0x273bf8(0x142)]=_0x1941ac[_0x273bf8(0x142)]),_0x478eb5[_0x273bf8(0x127)]=_0x48988d);for(let _0x2e97bb=0x1;_0x2e97bb<=this[_0x273bf8(0xcc)];_0x2e97bb++){try{this[_0x273bf8(0x130)][_0x273bf8(0xf9)]('Making\x20request\x20to\x20Azure\x20backend',{'url':_0xacdf81,'model':_0x37919d['model'],'requestId':_0x596390,'attempt':_0x2e97bb,'hasApiKey':!!_0x48988d});const _0xa07066=await fetch(_0xacdf81,{'method':_0x273bf8(0x11b),'headers':{'Content-Type':'application/json','Authorization':_0x273bf8(0x11f)+_0x48988d,'X-Request-ID':_0x596390},'body':JSON['stringify'](_0x478eb5),'timeout':this['timeout']});if(!_0xa07066['ok']){const _0x33c69e=await _0xa07066['text'](),_0x25feea=new Error('HTTP\x20'+_0xa07066[_0x273bf8(0x14f)]+':\x20'+_0xa07066[_0x273bf8(0xf7)]+(_0x33c69e?'\x20-\x20'+_0x33c69e:''));_0x25feea[_0x273bf8(0x14f)]=_0xa07066[_0x273bf8(0x14f)];throw _0x25feea;}const _0x3883b2=await _0xa07066[_0x273bf8(0xce)]();return{'choices':[{'message':{'content':_0x3883b2[_0x273bf8(0x11d)]||'','role':_0x273bf8(0xe8)},'finish_reason':_0x3883b2['finishReason']||_0x273bf8(0xd1)}],'usage':_0x3883b2[_0x273bf8(0x159)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x3883b2['model']||_0x37919d[_0x273bf8(0xf8)],'id':_0x3883b2['requestId']||_0x596390};}catch(_0x4f0d05){_0x434462=_0x4f0d05,this['logger'][_0x273bf8(0xcb)](_0x273bf8(0xf4),{'attempt':_0x2e97bb,'requestId':_0x596390,'error':_0x4f0d05['message'],'status':_0x4f0d05[_0x273bf8(0x14f)]});if(_0x2e97bb<this[_0x273bf8(0xcc)]){const _0x3d5240=Math[_0x273bf8(0x132)](0x2,_0x2e97bb)*0x3e8;this[_0x273bf8(0x130)]['warn'](_0x273bf8(0x137)+_0x3d5240+'ms',{'attempt':_0x2e97bb,'requestId':_0x596390}),await new Promise(_0x3bae16=>setTimeout(_0x3bae16,_0x3d5240));}}}this[_0x273bf8(0x130)][_0x273bf8(0x158)]('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x596390,'error':_0x434462['message']});const _0x7825c5=_0x434462[_0x273bf8(0x154)]&&_0x434462['message'][_0x273bf8(0x109)](_0x273bf8(0x108));if(_0x7825c5)throw new Error(_0x273bf8(0xe0)+_0x434462[_0x273bf8(0x154)]);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x434462['message'],'role':_0x273bf8(0xe8)},'finish_reason':_0x273bf8(0xd1)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x37919d['model'],'id':_0x273bf8(0x113)+_0x596390,'error':_0x434462[_0x273bf8(0x154)]};}async['_makeImageAPIRequest'](_0x23794c,_0x2206c1,_0x422194={}){const _0x4d8435=a0_0x58e07c,_0x58d14b=_0x4d8435(0x134);let _0x599303,_0x14529b=null,_0x16bbf8=null;this[_0x4d8435(0x130)]?.[_0x4d8435(0xf9)](_0x4d8435(0xfd),{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x422194['sessionId'],'hasSessionId':!!_0x422194['sessionId'],'model':_0x23794c[_0x4d8435(0xf8)]});if(this[_0x4d8435(0xe3)]&&_0x422194[_0x4d8435(0xea)]){const _0x189b12=this['apiKeyManager']['getKeysForRequest'](_0x422194['sessionId'],{'platformProvided':_0x422194['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0x23794c[_0x4d8435(0xf8)])});_0x14529b=_0x189b12['loxiaApiKey'],_0x16bbf8=_0x189b12['vendorApiKey'],this[_0x4d8435(0x130)]?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x422194['sessionId'],'hasLoxiaKey':!!_0x14529b,'hasVendorKey':!!_0x16bbf8});}!_0x14529b&&_0x422194[_0x4d8435(0x127)]&&(_0x14529b=_0x422194['apiKey']);!_0x14529b&&this['config'][_0x4d8435(0x127)]&&(_0x14529b=this[_0x4d8435(0xe4)]['apiKey']);if(!_0x14529b)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x537ee8={'prompt':_0x23794c[_0x4d8435(0xfc)],'model':_0x23794c[_0x4d8435(0xf8)]||_0x4d8435(0x12c),'size':_0x23794c['size'],'quality':_0x23794c[_0x4d8435(0x101)],'style':_0x23794c[_0x4d8435(0x110)]||'vivid','n':_0x23794c['n']||0x1,'requestId':_0x2206c1};for(let _0x401261=0x1;_0x401261<=this['retryAttempts'];_0x401261++){try{this[_0x4d8435(0x130)][_0x4d8435(0xf9)]('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x58d14b,'model':_0x23794c['model'],'requestId':_0x2206c1,'attempt':_0x401261,'hasApiKey':!!_0x14529b});const _0x405333=await fetch(_0x58d14b,{'method':'POST','headers':{'Content-Type':_0x4d8435(0xd9),'Authorization':'Bearer\x20'+_0x14529b,'X-Request-ID':_0x2206c1},'body':JSON[_0x4d8435(0x11a)](_0x537ee8),'timeout':this[_0x4d8435(0xe6)]*0x2});if(!_0x405333['ok']){const _0x499801=await _0x405333['text'](),_0x2b54d0=new Error(_0x4d8435(0x14b)+_0x405333['status']+':\x20'+_0x405333['statusText']+(_0x499801?_0x4d8435(0x139)+_0x499801:''));_0x2b54d0['status']=_0x405333['status'];throw _0x2b54d0;}const _0x2962ad=await _0x405333[_0x4d8435(0xce)]();return{'data':_0x2962ad[_0x4d8435(0x147)]||[],'model':_0x2962ad['model']||_0x23794c[_0x4d8435(0xf8)],'created':_0x2962ad[_0x4d8435(0x128)]||Date[_0x4d8435(0x115)](),'usage':_0x2962ad['usage']};}catch(_0x2289be){_0x599303=_0x2289be,this['logger'][_0x4d8435(0xcb)](_0x4d8435(0x121),{'attempt':_0x401261,'requestId':_0x2206c1,'error':_0x2289be[_0x4d8435(0x154)],'status':_0x2289be[_0x4d8435(0x14f)]});if(_0x401261<this['retryAttempts']){const _0x4eeacf=Math['pow'](0x2,_0x401261)*0x3e8;this['logger']['warn']('Retrying\x20in\x20'+_0x4eeacf+'ms',{'attempt':_0x401261,'requestId':_0x2206c1}),await new Promise(_0x59c91e=>setTimeout(_0x59c91e,_0x4eeacf));}}}this['logger'][_0x4d8435(0x158)](_0x4d8435(0xdb),{'requestId':_0x2206c1,'error':_0x599303['message']});throw new Error(_0x4d8435(0x103)+_0x599303['message']);}async['_checkRateLimit'](_0x2ed234){await new Promise(_0x28da3f=>setTimeout(_0x28da3f,0x64));}async['_handleRateLimit'](_0x4b2892){const _0x5a6571=a0_0x58e07c,_0x37fba7=0xea60;this['logger'][_0x5a6571(0xf9)](_0x5a6571(0x15d)+_0x37fba7+'ms',_0x4b2892),await new Promise(_0x4a2897=>setTimeout(_0x4a2897,_0x37fba7));}async[a0_0x58e07c(0x12b)](_0x16ffef){const _0x51f8e4=a0_0x58e07c;this[_0x51f8e4(0xf1)]();const _0x49674c=0x7530;this['logger']['info']('Service\x20unavailable,\x20waiting\x20'+_0x49674c+'ms',_0x16ffef),await new Promise(_0x5dd729=>setTimeout(_0x5dd729,_0x49674c));}['_isCircuitBreakerOpen'](){const _0x2af83e=a0_0x58e07c;if(!this[_0x2af83e(0x10e)]['isOpen'])return![];const _0xb3a1df=Date['now']()-this[_0x2af83e(0x10e)]['lastFailureTime'];if(_0xb3a1df>this['circuitBreaker'][_0x2af83e(0xe6)])return this['circuitBreaker'][_0x2af83e(0x14a)]=![],this['circuitBreaker']['failures']=0x0,![];return!![];}[a0_0x58e07c(0xf1)](){const _0x3c6cae=a0_0x58e07c;this[_0x3c6cae(0x10e)]['failures']++,this['circuitBreaker'][_0x3c6cae(0x15e)]=Date['now'](),this[_0x3c6cae(0x10e)][_0x3c6cae(0x126)]>=this[_0x3c6cae(0x10e)][_0x3c6cae(0xee)]&&(this['circuitBreaker']['isOpen']=!![],this[_0x3c6cae(0x130)]['warn'](_0x3c6cae(0xfa)));}['_resetCircuitBreaker'](){const _0x27db32=a0_0x58e07c;this[_0x27db32(0x10e)]['failures']>0x0&&(this[_0x27db32(0x10e)]['failures']=0x0,this['circuitBreaker']['isOpen']=![],this[_0x27db32(0x130)]['info'](_0x27db32(0x14c)));}['_getVendorFromModel'](_0x17d1ff){const _0x4b745d=a0_0x58e07c;if(!_0x17d1ff)return null;const _0x5af8ba=_0x17d1ff['toLowerCase']();if(_0x5af8ba['includes']('anthropic')||_0x5af8ba['includes']('claude'))return _0x4b745d(0x112);else{if(_0x5af8ba['includes']('openai')||_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0xdc)))return'openai';else{if(_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0xd7)))return'deepseek';else{if(_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0x102)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x26ab7c,_0x29cbec){const _0x2aead6=a0_0x58e07c;this[_0x2aead6(0xd2)]=_0x26ab7c,this['logger']=_0x29cbec,this['conversations']=new Map();}async['switchModel'](_0x683f45){return{'messages':[],'model':_0x683f45,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
|
|
1
|
+
function a0_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 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x2ea83b=a0_0x4a72;(function(_0x6e6b9c,_0x2a00a5){const _0x400db4=a0_0x4a72,_0x578302=_0x6e6b9c();while(!![]){try{const _0x126512=-parseInt(_0x400db4(0x156))/0x1+parseInt(_0x400db4(0x13f))/0x2*(parseInt(_0x400db4(0x146))/0x3)+-parseInt(_0x400db4(0x143))/0x4*(parseInt(_0x400db4(0x15f))/0x5)+-parseInt(_0x400db4(0x15a))/0x6+-parseInt(_0x400db4(0x144))/0x7*(parseInt(_0x400db4(0x141))/0x8)+parseInt(_0x400db4(0x13e))/0x9+parseInt(_0x400db4(0x152))/0xa;if(_0x126512===_0x2a00a5)break;else _0x578302['push'](_0x578302['shift']());}catch(_0x217d3e){_0x578302['push'](_0x578302['shift']());}}}(a0_0x4410,0xc0145));class ApiKeyManager{constructor(_0x312428){const _0x81369b=a0_0x4a72;this[_0x81369b(0x158)]=_0x312428,this['sessionKeys']=new Map(),this[_0x81369b(0x14b)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x3591a8,_0x622113){const _0x24fe2c=a0_0x4a72;if(!_0x3591a8)throw new Error('Session\x20ID\x20is\x20required');this[_0x24fe2c(0x15d)]['set'](_0x3591a8,{'loxiaApiKey':_0x622113['loxiaApiKey']||null,'vendorKeys':_0x622113['vendorKeys']||{},'updatedAt':new Date()[_0x24fe2c(0x159)]()}),this['logger']?.['info'](_0x24fe2c(0x149),{'sessionId':_0x3591a8,'hasLoxiaKey':!!_0x622113['loxiaApiKey'],'vendorKeys':Object[_0x24fe2c(0x14c)](_0x622113[_0x24fe2c(0x157)]||{}),'timestamp':new Date()[_0x24fe2c(0x159)]()});}['getSessionKeys'](_0x4891d2){const _0x202671=a0_0x4a72;if(!_0x4891d2)return this['globalKeys'];const _0x1dfc24=this['sessionKeys'][_0x202671(0x154)](_0x4891d2);if(_0x1dfc24)return _0x1dfc24;return this['globalKeys'];}['getKeysForRequest'](_0x335bc5,_0x2c5395={}){const _0x4d1367=a0_0x4a72,_0x2fb4ca=this[_0x4d1367(0x15c)](_0x335bc5),_0x186a06={'loxiaApiKey':_0x2fb4ca[_0x4d1367(0x155)],'vendorApiKey':null};return!_0x2c5395['platformProvided']&&_0x2c5395[_0x4d1367(0x148)]&&_0x2fb4ca['vendorKeys']&&(_0x186a06['vendorApiKey']=_0x2fb4ca[_0x4d1367(0x157)][_0x2c5395['vendor']]),_0x186a06;}['removeSessionKeys'](_0x442d07){const _0x363d95=a0_0x4a72;if(this['sessionKeys'][_0x363d95(0x145)](_0x442d07))return this[_0x363d95(0x158)]?.[_0x363d95(0x15b)]('API\x20keys\x20removed\x20for\x20session',{'sessionId':_0x442d07}),!![];return![];}[a0_0x2ea83b(0x153)](_0x2f968b){const _0x3bf845=a0_0x2ea83b;this[_0x3bf845(0x14b)]={'loxiaApiKey':_0x2f968b[_0x3bf845(0x155)]||this['globalKeys']['loxiaApiKey'],'vendorKeys':{...this['globalKeys'][_0x3bf845(0x157)],..._0x2f968b[_0x3bf845(0x157)]||{}}},this[_0x3bf845(0x158)]?.['info'](_0x3bf845(0x15e),{'hasLoxiaKey':!!this[_0x3bf845(0x14b)]['loxiaApiKey'],'vendorKeys':Object[_0x3bf845(0x14c)](this[_0x3bf845(0x14b)][_0x3bf845(0x157)])});}['getActiveSessions'](){const _0x27dd63=a0_0x2ea83b;return Array[_0x27dd63(0x140)](this[_0x27dd63(0x15d)]['entries']())[_0x27dd63(0x160)](([_0x570a0c,_0x56004b])=>({'sessionId':_0x570a0c,'hasLoxiaKey':!!_0x56004b['loxiaApiKey'],'vendorKeys':Object['keys'](_0x56004b[_0x27dd63(0x157)]||{}),'updatedAt':_0x56004b[_0x27dd63(0x14d)]}));}[a0_0x2ea83b(0x14f)](_0x52c998=0x18*0x3c*0x3c*0x3e8){const _0x2676aa=a0_0x2ea83b,_0x38f339=Date[_0x2676aa(0x14a)](),_0x335e4c=[];for(const [_0x34b28b,_0x4d615a]of this['sessionKeys']['entries']()){const _0x357feb=_0x38f339-new Date(_0x4d615a[_0x2676aa(0x14d)])[_0x2676aa(0x150)]();_0x357feb>_0x52c998&&_0x335e4c[_0x2676aa(0x151)](_0x34b28b);}return _0x335e4c[_0x2676aa(0x142)](_0x52398b=>{this['sessionKeys']['delete'](_0x52398b);}),_0x335e4c[_0x2676aa(0x147)]>0x0&&this['logger']?.['info']('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x335e4c[_0x2676aa(0x147)],'remainingSessions':this[_0x2676aa(0x15d)][_0x2676aa(0x14e)]}),_0x335e4c[_0x2676aa(0x147)];}}function a0_0x4a72(_0x149003,_0x399888){_0x149003=_0x149003-0x13e;const _0x44106d=a0_0x4410();let _0x4a72a2=_0x44106d[_0x149003];if(a0_0x4a72['tKGvqF']===undefined){var _0x150fab=function(_0x33fc76){const _0x22b4f2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x312428='',_0x3591a8='';for(let _0x622113=0x0,_0x4891d2,_0x1dfc24,_0x335bc5=0x0;_0x1dfc24=_0x33fc76['charAt'](_0x335bc5++);~_0x1dfc24&&(_0x4891d2=_0x622113%0x4?_0x4891d2*0x40+_0x1dfc24:_0x1dfc24,_0x622113++%0x4)?_0x312428+=String['fromCharCode'](0xff&_0x4891d2>>(-0x2*_0x622113&0x6)):0x0){_0x1dfc24=_0x22b4f2['indexOf'](_0x1dfc24);}for(let _0x2c5395=0x0,_0x2fb4ca=_0x312428['length'];_0x2c5395<_0x2fb4ca;_0x2c5395++){_0x3591a8+='%'+('00'+_0x312428['charCodeAt'](_0x2c5395)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3591a8);};a0_0x4a72['hxgphK']=_0x150fab,a0_0x4a72['wbFFEu']={},a0_0x4a72['tKGvqF']=!![];}const _0x5cc2c6=_0x44106d[0x0],_0x88251e=_0x149003+_0x5cc2c6,_0x698949=a0_0x4a72['wbFFEu'][_0x88251e];return!_0x698949?(_0x4a72a2=a0_0x4a72['hxgphK'](_0x4a72a2),a0_0x4a72['wbFFEu'][_0x88251e]=_0x4a72a2):_0x4a72a2=_0x698949,_0x4a72a2;}function a0_0x4410(){const _0x5da70c=['z2v0vgLTzq','ChvZAa','mZi0nde1nZbxDLbcsM8','C2v0r2XVyMfSs2v5CW','z2v0','Bg94AwfbCgLlzxK','mtaXmJaYmhjxsvDuyW','DMvUzg9Ys2v5CW','Bg9Nz2vY','Dg9ju09tDhjPBMC','mJe2odqYngD0C25qDq','Aw5MBW','z2v0u2vZC2LVBKTLExm','C2vZC2LVBKTLExm','r2XVyMfSiefqssbRzxLZihvWzgf0zwq','nxHYDvjWrq','BwfW','mty5odG3nNnwCwrhuW','mte3nde2swXgqKrb','zNjVBq','mtGZmLDlD2z3zW','zM9YrwfJAa','mJK5mda4ngPIvePZtq','mJmYmZnnC05ftfK','zgvSzxrL','mtj4uwjTB3e','BgvUz3rO','DMvUzg9Y','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','BM93','z2XVyMfSs2v5CW','A2v5CW','DxbKyxrLzef0','C2L6zq','y2XLyw51Cev4CgLYzwrtzxnZAw9UCW'];a0_0x4410=function(){return _0x5da70c;};return a0_0x4410();}export default ApiKeyManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x2b83(){const _0xfef3b0=['ntqYndGWnhjPCfHzEa','BwfW','zxjYB3i','qMvHCMvYia','Bg9Nz2vY','BwvZC2fNzq','ndG3mZK2nwzYCwnjqq','nZbeEfbnDxi','x2DLDe1VC3rdB3n0rwzMAwnPzw50','BgvUz3rO','BMvLzhnszwzYzxnO','qMvUy2HTyxjRihnLCNzPy2uGAw5PDgLHBgL6zwq','m0XpAKnXwG','Bw9KzwXZ','mZvPDu1zCKG','DMfSDwvZ','mtmZmJG5mwfTuwzHDG','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','y3jLyxrPDMu','z2v0u3rHDhvZ','x3nJAgvKDwXLuMvMCMvZAa','x2DLDezHC3rLC3rnB2rLBa','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','C3bLzwq','CMvMCMvZAeLUDgvYDMfS','z2v0vgLTzq','Bg9HzejLBMnOBwfYA3m','BgfZDfvWzgf0zwq','C29YDa','ngDWCuT2ua','DgfZA3m','mtyZntaXnMPVy0niwq','Bwf4','zgvIDwC','mte2otK4nKLUCNDoAG','Aw5MBW','mJu0nda2oufgwuHkCG','sfruuca','C291CMnL','Dw5RBM93BG','yxbPs2v5','x2DLDejLC3rnB2rLBezVCLrHC2S','AxnmB2fKAw5N','yMvUy2HTyxjRCW','nJyWmdGWBhrHA2DZ','zM9Yy2vszwzYzxnO','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','C2nVCMu','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza'];a0_0x2b83=function(){return _0xfef3b0;};return a0_0x2b83();}const a0_0x4c5909=a0_0x1b9b;(function(_0x470619,_0x4f3132){const _0x1d14da=a0_0x1b9b,_0x449f5a=_0x470619();while(!![]){try{const _0x2ff847=parseInt(_0x1d14da(0x158))/0x1+-parseInt(_0x1d14da(0x14e))/0x2*(parseInt(_0x1d14da(0x16a))/0x3)+-parseInt(_0x1d14da(0x17b))/0x4*(parseInt(_0x1d14da(0x164))/0x5)+-parseInt(_0x1d14da(0x15e))/0x6+parseInt(_0x1d14da(0x16c))/0x7*(parseInt(_0x1d14da(0x14b))/0x8)+-parseInt(_0x1d14da(0x16e))/0x9+-parseInt(_0x1d14da(0x165))/0xa*(-parseInt(_0x1d14da(0x150))/0xb);if(_0x2ff847===_0x4f3132)break;else _0x449f5a['push'](_0x449f5a['shift']());}catch(_0xf1753){_0x449f5a['push'](_0x449f5a['shift']());}}}(a0_0x2b83,0xa8303));function a0_0x1b9b(_0xae7c10,_0x1d47cb){_0xae7c10=_0xae7c10-0x14a;const _0x2b8343=a0_0x2b83();let _0x1b9b1=_0x2b8343[_0xae7c10];if(a0_0x1b9b['QaKLsY']===undefined){var _0x33f932=function(_0x59a745){const _0x33c355='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13d183='',_0x121e3d='';for(let _0x5ab0eb=0x0,_0x58ee88,_0x4447aa,_0x1d1fa7=0x0;_0x4447aa=_0x59a745['charAt'](_0x1d1fa7++);~_0x4447aa&&(_0x58ee88=_0x5ab0eb%0x4?_0x58ee88*0x40+_0x4447aa:_0x4447aa,_0x5ab0eb++%0x4)?_0x13d183+=String['fromCharCode'](0xff&_0x58ee88>>(-0x2*_0x5ab0eb&0x6)):0x0){_0x4447aa=_0x33c355['indexOf'](_0x4447aa);}for(let _0x560b54=0x0,_0x336b0c=_0x13d183['length'];_0x560b54<_0x336b0c;_0x560b54++){_0x121e3d+='%'+('00'+_0x13d183['charCodeAt'](_0x560b54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x121e3d);};a0_0x1b9b['XJijbs']=_0x33f932,a0_0x1b9b['IYWNme']={},a0_0x1b9b['QaKLsY']=!![];}const _0x3a735b=_0x2b8343[0x0],_0x7de72d=_0xae7c10+_0x3a735b,_0x132753=a0_0x1b9b['IYWNme'][_0x7de72d];return!_0x132753?(_0x1b9b1=a0_0x1b9b['XJijbs'](_0x1b9b1),a0_0x1b9b['IYWNme'][_0x7de72d]=_0x1b9b1):_0x1b9b1=_0x132753,_0x1b9b1;}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x13d183,_0x121e3d){const _0x2a2e74=a0_0x1b9b;this['config']=_0x13d183,this['logger']=_0x121e3d,this['benchmarks']=null,this[_0x2a2e74(0x179)]=null,this[_0x2a2e74(0x156)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG['BENCHMARK_REFRESH_INTERVAL'];}async['initialize'](){const _0x3ffa59=a0_0x1b9b;try{await this[_0x3ffa59(0x178)](),this[_0x3ffa59(0x172)](),this[_0x3ffa59(0x162)][_0x3ffa59(0x14f)](_0x3ffa59(0x169));}catch(_0x5ab0eb){this[_0x3ffa59(0x162)]['error']('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x5ab0eb[_0x3ffa59(0x163)]}),this['benchmarks']=null;}}['getBenchmarks'](){const _0x434207=a0_0x1b9b;if(!this[_0x434207(0x157)])return this['logger']['error']('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async[a0_0x4c5909(0x178)](){const _0x3ea7ae=a0_0x4c5909;if(this['isLoading']){this['logger']['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x58ee88=await this['_fetchFromAzureBackend']();if(_0x58ee88)this['benchmarks']=_0x58ee88,this[_0x3ea7ae(0x179)]=new Date(),this[_0x3ea7ae(0x162)]['info']('Benchmarks loaded from Azure backend',{'modelCount':_0x58ee88['models']?.[_0x3ea7ae(0x167)]||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x4447aa){this['logger'][_0x3ea7ae(0x160)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x4447aa['message'],'endpoint':url}),!this[_0x3ea7ae(0x157)]&&(this['benchmarks']=null);}finally{this[_0x3ea7ae(0x156)]=![];}}['getBenchmarkTable'](){const _0x45ab13=a0_0x4c5909,_0x1d1fa7=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.[_0x45ab13(0x15b)]()||_0x45ab13(0x153),'models':_0x1d1fa7['models']||[],'tasks':_0x1d1fa7[_0x45ab13(0x14a)]||{},'summary':this['_generateBenchmarkSummary'](_0x1d1fa7)};}[a0_0x4c5909(0x168)](){const _0x159cf9=a0_0x4c5909;if(!this[_0x159cf9(0x179)])return!![];const _0x560b54=Date['now']()-this[_0x159cf9(0x179)][_0x159cf9(0x177)]();return _0x560b54>this['refreshInterval'];}async[a0_0x4c5909(0x15d)](){const _0x91b592=a0_0x4c5909,_0x336b0c=this['azureBackendUrl']+_0x91b592(0x16f);let _0x40f8f0=null;this['config'][_0x91b592(0x154)]&&(_0x40f8f0=this['config']['apiKey']);const _0x1d67fc={'method':'GET','headers':{'Content-Type':'application/json',..._0x40f8f0&&{'Authorization':_0x91b592(0x161)+_0x40f8f0}},'timeout':0x2710};this[_0x91b592(0x162)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x336b0c});const _0x520501=await fetch(_0x336b0c,_0x1d67fc);if(!_0x520501['ok'])throw new Error(_0x91b592(0x151)+_0x520501['status']+':\x20'+_0x520501[_0x91b592(0x15a)]);const _0x20362c=await _0x520501['json']();return _0x20362c;}['_generateBenchmarkSummary'](_0x1f15cd){const _0x10f8f6=a0_0x4c5909,_0x155c61=_0x1f15cd[_0x10f8f6(0x16b)]||[];return{'totalModels':_0x155c61[_0x10f8f6(0x167)],'taskCategories':Object['keys'](_0x1f15cd['tasks']||{}),'bestForCoding':this['_getBestModelForTask'](_0x155c61,'coding'),'bestForAnalysis':this['_getBestModelForTask'](_0x155c61,'analysis'),'bestForQuickTasks':this['_getBestModelForTask'](_0x155c61,'quick-tasks'),'bestForCreative':this['_getBestModelForTask'](_0x155c61,_0x10f8f6(0x170)),'fastestModel':this[_0x10f8f6(0x173)](_0x155c61),'mostCostEfficient':this[_0x10f8f6(0x166)](_0x155c61)};}[a0_0x4c5909(0x155)](_0x176042,_0x1ef47b){const _0x20a0f6=a0_0x4c5909;return _0x176042['filter'](_0x5164f2=>_0x5164f2['tasks']&&_0x5164f2['tasks'][_0x1ef47b])['sort']((_0x25bcf1,_0x42af5e)=>(_0x42af5e[_0x20a0f6(0x14a)][_0x1ef47b][_0x20a0f6(0x15c)]||0x0)-(_0x25bcf1['tasks'][_0x1ef47b]['score']||0x0))[0x0]?.['name']||_0x20a0f6(0x153);}['_getFastestModel'](_0x397c44){const _0x2f56e4=a0_0x4c5909,_0x2ed47d={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x397c44['sort']((_0x1d113e,_0x1c5119)=>{const _0x5d66=a0_0x1b9b,_0x1fe46a=Math[_0x5d66(0x14c)](...Object['values'](_0x1d113e[_0x5d66(0x14a)]||{})[_0x5d66(0x15f)](_0x58530b=>_0x2ed47d[_0x58530b[_0x5d66(0x175)]]||0x0)),_0x4207b3=Math['max'](...Object['values'](_0x1c5119['tasks']||{})[_0x5d66(0x15f)](_0x479793=>_0x2ed47d[_0x479793['speed']]||0x0));return _0x4207b3-_0x1fe46a;})[0x0]?.['name']||_0x2f56e4(0x153);}['_getMostCostEfficient'](_0x236a9d){const _0x1ba377=a0_0x4c5909,_0x25cd3f={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x236a9d[_0x1ba377(0x17a)]((_0x333c1e,_0x1312b1)=>{const _0x5a72b2=_0x1ba377,_0x2adcd7=Math[_0x5a72b2(0x14c)](...Object['values'](_0x333c1e['tasks']||{})['map'](_0x2545d1=>_0x25cd3f[_0x2545d1['cost']]||0x0)),_0x5b8ae6=Math['max'](...Object[_0x5a72b2(0x16d)](_0x1312b1['tasks']||{})['map'](_0x5cfe19=>_0x25cd3f[_0x5cfe19['cost']]||0x0));return _0x5b8ae6-_0x2adcd7;})[0x0]?.['name']||'unknown';}[a0_0x4c5909(0x172)](){const _0x349a0b=a0_0x4c5909;setInterval(async()=>{const _0x35d923=a0_0x1b9b;this[_0x35d923(0x168)]()&&(this[_0x35d923(0x162)][_0x35d923(0x14d)]('Refreshing\x20benchmark\x20data'),await this['loadBenchmarks']());},this[_0x349a0b(0x176)]);}async[a0_0x4c5909(0x159)](){const _0x33814=a0_0x4c5909;this[_0x33814(0x162)]['info'](_0x33814(0x174)),await this['loadBenchmarks']();}[a0_0x4c5909(0x171)](){const _0x21d4e5=a0_0x4c5909;return{'initialized':!!this[_0x21d4e5(0x157)],'lastUpdated':this['lastUpdated']?.['toISOString']()||null,'source':this['benchmarks']?.[_0x21d4e5(0x152)]||_0x21d4e5(0x153),'modelCount':this['benchmarks']?.['models']?.['length']||0x0,'isLoading':this[_0x21d4e5(0x156)],'needsRefresh':this['needsRefresh']()};}}export default BenchmarkService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xc992(_0x1d1ad0,_0x1fd5d4){_0x1d1ad0=_0x1d1ad0-0x1a1;const _0x3de347=a0_0x3de3();let _0xc9920c=_0x3de347[_0x1d1ad0];if(a0_0xc992['RgMthS']===undefined){var _0x3c1e05=function(_0x53f4ed){const _0x3ce7b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xda20db='',_0x4103cc='';for(let _0x554444=0x0,_0xcfea4f,_0x320dae,_0x10ee18=0x0;_0x320dae=_0x53f4ed['charAt'](_0x10ee18++);~_0x320dae&&(_0xcfea4f=_0x554444%0x4?_0xcfea4f*0x40+_0x320dae:_0x320dae,_0x554444++%0x4)?_0xda20db+=String['fromCharCode'](0xff&_0xcfea4f>>(-0x2*_0x554444&0x6)):0x0){_0x320dae=_0x3ce7b8['indexOf'](_0x320dae);}for(let _0x3d11b2=0x0,_0x1c7f81=_0xda20db['length'];_0x3d11b2<_0x1c7f81;_0x3d11b2++){_0x4103cc+='%'+('00'+_0xda20db['charCodeAt'](_0x3d11b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4103cc);};a0_0xc992['LKRQZT']=_0x3c1e05,a0_0xc992['nIAgiy']={},a0_0xc992['RgMthS']=!![];}const _0x255628=_0x3de347[0x0],_0x42e62d=_0x1d1ad0+_0x255628,_0xcd5aff=a0_0xc992['nIAgiy'][_0x42e62d];return!_0xcd5aff?(_0xc9920c=a0_0xc992['LKRQZT'](_0xc9920c),a0_0xc992['nIAgiy'][_0x42e62d]=_0xc9920c):_0xc9920c=_0xcd5aff,_0xc9920c;}function a0_0x3de3(){const _0x50b676=['ANnVBG','z2v0vxnHz2vuCMvUzhm','z2v0qwDLBNrvC2fNzq','sw52ywXPzcbWzxjPB2q6ia','ltaX','mJKXnJeZmhbeC0vrzG','Bg9HzfvZywDLrgf0yq','Bw9KzwXjza','Dg9ju09tDhjPBMC','y3n2','Bwf4','ChvZAa','Dw5KzwzPBMvK','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','DgHYzxnOB2XKx3jLywnOzwq','zgfPBhK','C2XPy2u','z2v0rgf5s2v5','C2v0qNvKz2v0CW','z2v0rgf0zq','z2v0tw9UDgG','DxnHz2u','CMvXDwvZDhm','Dw5ZAgLMDa','BwfW','yNvKz2v0x2v4y2vLzgvK','Bw9UDgHSEq','zgfPBhLbDMvYywDLCW','C29YDa','y2HLy2TuAhjLC2HVBgrbBgvYDhm','y29ZDa','B3v0Chv0','DxbKyxrLvxnHz2vfBNrYEq','yNLnB2rLBa','C3rYAw5NAwz5','C2vUzej1zgDLDefSzxj0','rMfPBgvKihrVihrYywnRihvZywDL','z2v0rNvSBfLLyxi','BgfZDefSzxj0vgLTzxm','C2vUzfrOCMvZAg9SzefSzxj0','vxnHz2uGzgf0ysbZyxzLza','ywXLCNrZ','nZHwshbOB1K','zM9YrwfJAa','y2HLy2TuAhjLC2HVBgq','z2v0v2vLA051BwjLCG','Dg9Rzw5Z','z2v0uMvTywLUAw5NqNvKz2v0','C2f2zvvZywDLrgf0yq','D2vLA2X5','ndvRChjSsg0','Dg90ywXFDg9Rzw5Z','y2fSy3vSyxrLq29ZDa','nty3ndGYnhb4zgHoCW','AM9PBG','zNjVBq','yNLbz2vUDa','Dg90ywW','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','rMfPBgvKihrVigXVywqGDxnHz2uGzgf0yq','Aw5PDgLHBgL6zvvZywDLrw50CNK','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','y2vPBa','Bg9Nz2vY','q29ZDa','D2fYBG','C2v0','zxjYB3i','nZa3sufXyufT','odu3mZr3ExviDvO','y3jLyxrLrw1WDhLvC2fNzq','mta4mJHLvfDwA0m','yNvKz2v0CW','C2v0rgf0zq','yNvKz2v0qwXLCNq','AgfZ','Dg9Rzw5ZqNLeyxK','ywDLBNrjza','C2v0DxbqzxjPB2rPy1nHDMu','mti1mtC4mg5pvKrQAa','nti2mtzkB09eANK','zw50CMLLCW','zw1PDa','rgf0zq','uMvXDwvZDhm','DhjHy2TvC2fNzq','z2v0vxnHz2u','nteWmJHHt21NAMi','z2v0tw9UDgHlzxK','Aw5WDxq','vxnHz2uGDhjHy2TLza','z2v0','tu9oveHmwq'];a0_0x3de3=function(){return _0x50b676;};return a0_0x3de3();}const a0_0x1580b4=a0_0xc992;(function(_0x55b4e5,_0x186ee3){const _0x1ed3a8=a0_0xc992,_0x4259ed=_0x55b4e5();while(!![]){try{const _0x48b93a=-parseInt(_0x1ed3a8(0x1ab))/0x1+parseInt(_0x1ed3a8(0x1a3))/0x2+parseInt(_0x1ed3a8(0x1db))/0x3*(-parseInt(_0x1ed3a8(0x1f8))/0x4)+parseInt(_0x1ed3a8(0x1e3))/0x5*(parseInt(_0x1ed3a8(0x1f6))/0x6)+parseInt(_0x1ed3a8(0x1f5))/0x7*(parseInt(_0x1ed3a8(0x1a4))/0x8)+-parseInt(_0x1ed3a8(0x1e6))/0x9+-parseInt(_0x1ed3a8(0x1b6))/0xa;if(_0x48b93a===_0x186ee3)break;else _0x4259ed['push'](_0x4259ed['shift']());}catch(_0x3a5b92){_0x4259ed['push'](_0x4259ed['shift']());}}}(a0_0x3de3,0x5b9a9));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0xda20db,_0x4103cc){const _0x5ca772=a0_0xc992;this['config']=_0xda20db||{},this[_0x5ca772(0x1f0)]=_0x4103cc,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x5ca772(0x1f9)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS['WEEKLY'],'monthly':BUDGET_LIMITS[_0x5ca772(0x1b0)]},this[_0x5ca772(0x1da)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this['loadUsageData'](),this['setupPeriodicSave']();}[a0_0x1580b4(0x1a9)](_0x554444,_0xcfea4f,_0x320dae){const _0x1051f6=a0_0x1580b4;try{const _0x10ee18=this[_0x1051f6(0x1e5)](_0xcfea4f,_0x320dae),_0x3d11b2=new Date(),_0x1c7f81=this[_0x1051f6(0x1c2)](_0x3d11b2),_0x52fa3a=this['getWeekKey'](_0x3d11b2),_0x254dbd=this[_0x1051f6(0x1ac)](_0x3d11b2);this['initializeUsageEntry'](this['usage'][_0x1051f6(0x1c0)],_0x1c7f81),this['initializeUsageEntry'](this[_0x1051f6(0x1c6)][_0x1051f6(0x1e2)],_0x52fa3a),this[_0x1051f6(0x1ed)](this[_0x1051f6(0x1c6)][_0x1051f6(0x1cb)],_0x254dbd);const _0x6b6c99={'agentId':_0x554444,'modelId':_0xcfea4f,'tokens':_0x320dae[_0x1051f6(0x1e4)],'cost':_0x10ee18,'timestamp':_0x3d11b2[_0x1051f6(0x1b9)]()};return this[_0x1051f6(0x1d1)](this['usage']['daily']['get'](_0x1c7f81),_0x6b6c99),this[_0x1051f6(0x1d1)](this['usage'][_0x1051f6(0x1e2)][_0x1051f6(0x1af)](_0x52fa3a),_0x6b6c99),this['updateUsageEntry'](this[_0x1051f6(0x1c6)]['monthly']['get'](_0x254dbd),_0x6b6c99),this['usage'][_0x1051f6(0x1ea)][_0x1051f6(0x1df)]+=_0x320dae['total_tokens'],this['usage']['total']['cost']+=_0x10ee18,this[_0x1051f6(0x1c6)][_0x1051f6(0x1ea)][_0x1051f6(0x1c7)]+=0x1,this['checkBudgetLimits'](_0x1c7f81,_0x52fa3a,_0x254dbd),this[_0x1051f6(0x1f0)]['info'](_0x1051f6(0x1ae),{'agentId':_0x554444,'modelId':_0xcfea4f,'tokens':_0x320dae[_0x1051f6(0x1e4)],'cost':_0x10ee18,'totalCost':this['usage']['total']['cost']}),{'cost':_0x10ee18,'totalCost':this['usage']['total'][_0x1051f6(0x1cf)],'totalTokens':this[_0x1051f6(0x1c6)]['total']['tokens'],'dailyUsage':this['usage'][_0x1051f6(0x1c0)]['get'](_0x1c7f81),'budgetRemaining':this[_0x1051f6(0x1e0)]()};}catch(_0x3b3d42){this['logger']['error'](_0x1051f6(0x1d5),{'error':_0x3b3d42['message'],'agentId':_0x554444,'modelId':_0xcfea4f});throw _0x3b3d42;}}['calculateCost'](_0x22bedb,_0x48a97f){const _0x50481d=a0_0x1580b4,_0xdd8779=COST_PER_TOKEN[_0x22bedb];if(!_0xdd8779)return this['logger'][_0x50481d(0x1f2)](_0x50481d(0x1be),{'modelId':_0x22bedb}),0x0;const _0x35a55d=(_0x48a97f['prompt_tokens']||0x0)*_0xdd8779[_0x50481d(0x1ad)],_0x1a3aec=(_0x48a97f['completion_tokens']||0x0)*_0xdd8779[_0x50481d(0x1d0)];return _0x35a55d+_0x1a3aec;}[a0_0x1580b4(0x1aa)](_0x6d1f10=a0_0x1580b4(0x1c0),_0x4beb30=new Date()){const _0x3f60f4=a0_0x1580b4;switch(_0x6d1f10){case'daily':return this['usage']['daily']['get'](this[_0x3f60f4(0x1c2)](_0x4beb30))||this[_0x3f60f4(0x1f7)]();case'weekly':return this['usage'][_0x3f60f4(0x1e2)][_0x3f60f4(0x1af)](this['getWeekKey'](_0x4beb30))||this['createEmptyUsage']();case _0x3f60f4(0x1cb):return this[_0x3f60f4(0x1c6)]['monthly']['get'](this[_0x3f60f4(0x1ac)](_0x4beb30))||this[_0x3f60f4(0x1f7)]();case'total':return{...this[_0x3f60f4(0x1c6)]['total']};default:throw new Error(_0x3f60f4(0x1b4)+_0x6d1f10);}}[a0_0x1580b4(0x1b3)](_0x3fd911,_0x646a2b=a0_0x1580b4(0x1c0)){const _0x57fe94=a0_0x1580b4,_0x364b7b=this['getUsage'](_0x646a2b);return _0x364b7b['byAgent']?.[_0x3fd911]||this[_0x57fe94(0x1f7)]();}['getModelUsage'](_0x1a120a,_0x53b572='daily'){const _0x4c9248=this['getUsage'](_0x53b572);return _0x4c9248['byModel']?.[_0x1a120a]||this['createEmptyUsage']();}[a0_0x1580b4(0x1c3)](_0x50d6c6){const _0x88a729=a0_0x1580b4;if(_0x50d6c6['daily']!==undefined)this['budgets'][_0x88a729(0x1c0)]=_0x50d6c6['daily'];if(_0x50d6c6['weekly']!==undefined)this['budgets']['weekly']=_0x50d6c6['weekly'];if(_0x50d6c6[_0x88a729(0x1cb)]!==undefined)this['budgets'][_0x88a729(0x1cb)]=_0x50d6c6['monthly'];this['logger']['info']('Budget\x20limits\x20updated',this[_0x88a729(0x1f9)]),this[_0x88a729(0x1e1)]();}[a0_0x1580b4(0x1e0)](){const _0x5ee749=a0_0x1580b4,_0x2629c9=new Date(),_0x185b27=this['getUsage'](_0x5ee749(0x1c0),_0x2629c9),_0x16f0a5=this[_0x5ee749(0x1aa)]('weekly',_0x2629c9),_0x111d0a=this[_0x5ee749(0x1aa)](_0x5ee749(0x1cb),_0x2629c9);return{'daily':Math[_0x5ee749(0x1bb)](0x0,this[_0x5ee749(0x1f9)][_0x5ee749(0x1c0)]-_0x185b27[_0x5ee749(0x1cf)]),'weekly':Math[_0x5ee749(0x1bb)](0x0,this['budgets'][_0x5ee749(0x1e2)]-_0x16f0a5[_0x5ee749(0x1cf)]),'monthly':Math[_0x5ee749(0x1bb)](0x0,this[_0x5ee749(0x1f9)][_0x5ee749(0x1cb)]-_0x111d0a['cost'])};}['isWithinBudget'](_0x4b0df3=a0_0x1580b4(0x1c0)){const _0x4ba9d7=a0_0x1580b4,_0xd14a12=this[_0x4ba9d7(0x1aa)](_0x4b0df3),_0x20c2a7=this['budgets'][_0x4b0df3];return _0xd14a12['cost']<=_0x20c2a7;}[a0_0x1580b4(0x1b2)](_0x55627d=0x1e){const _0x594e33=a0_0x1580b4,_0x5502df={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x491ffe=new Date();let _0x39a4bb=0x0,_0x163a15=0x0,_0xf859c8=0x0;const _0x2ca67e=new Map(),_0x243db3=new Map();for(let _0x37fe6c=0x0;_0x37fe6c<_0x55627d;_0x37fe6c++){const _0xb12d80=new Date(_0x491ffe);_0xb12d80[_0x594e33(0x1fa)](_0xb12d80[_0x594e33(0x1c4)]()-_0x37fe6c);const _0x42a87b=this['getDayKey'](_0xb12d80),_0x17ddf5=this[_0x594e33(0x1c6)][_0x594e33(0x1c0)][_0x594e33(0x1af)](_0x42a87b);_0x17ddf5?(_0x39a4bb+=_0x17ddf5['cost'],_0x163a15+=_0x17ddf5['tokens'],_0xf859c8+=_0x17ddf5[_0x594e33(0x1c7)],_0x5502df['costByDay'][_0x594e33(0x1c8)]({'date':_0x42a87b,'cost':_0x17ddf5[_0x594e33(0x1cf)]}),_0x5502df[_0x594e33(0x1fd)]['unshift']({'date':_0x42a87b,'tokens':_0x17ddf5['tokens']}),Object['entries'](_0x17ddf5[_0x594e33(0x1e9)]||{})['forEach'](([_0x17fc1d,_0x405f5e])=>{const _0xb7bad4=_0x594e33;!_0x2ca67e[_0xb7bad4(0x1fc)](_0x17fc1d)&&_0x2ca67e['set'](_0x17fc1d,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x56b897=_0x2ca67e[_0xb7bad4(0x1af)](_0x17fc1d);_0x56b897['cost']+=_0x405f5e[_0xb7bad4(0x1cf)],_0x56b897[_0xb7bad4(0x1df)]+=_0x405f5e[_0xb7bad4(0x1df)],_0x56b897['requests']+=_0x405f5e[_0xb7bad4(0x1c7)];}),Object[_0x594e33(0x1a5)](_0x17ddf5[_0x594e33(0x1d2)]||{})[_0x594e33(0x1dc)](([_0x290514,_0x3c97f3])=>{const _0x12f912=_0x594e33;!_0x243db3['has'](_0x290514)&&_0x243db3[_0x12f912(0x1f3)](_0x290514,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x19e51d=_0x243db3['get'](_0x290514);_0x19e51d[_0x12f912(0x1cf)]+=_0x3c97f3[_0x12f912(0x1cf)],_0x19e51d[_0x12f912(0x1df)]+=_0x3c97f3[_0x12f912(0x1df)],_0x19e51d[_0x12f912(0x1c7)]+=_0x3c97f3['requests'];})):(_0x5502df['costByDay'][_0x594e33(0x1c8)]({'date':_0x42a87b,'cost':0x0}),_0x5502df[_0x594e33(0x1fd)]['unshift']({'date':_0x42a87b,'tokens':0x0}));}return _0x5502df['dailyAverages'][_0x594e33(0x1cf)]=_0x39a4bb/_0x55627d,_0x5502df[_0x594e33(0x1cc)][_0x594e33(0x1df)]=_0x163a15/_0x55627d,_0x5502df['dailyAverages'][_0x594e33(0x1c7)]=_0xf859c8/_0x55627d,_0x5502df['topAgents']=Array[_0x594e33(0x1e8)](_0x2ca67e['entries']())[_0x594e33(0x1c9)](([_0x42d50f,_0x20e4c3])=>({'id':_0x42d50f,..._0x20e4c3}))['sort']((_0x4eb0be,_0xb841b7)=>_0xb841b7[_0x594e33(0x1cf)]-_0x4eb0be['cost'])[_0x594e33(0x1c1)](0x0,0xa),_0x5502df['topModels']=Array['from'](_0x243db3['entries']())['map'](([_0x10102b,_0x1bdb90])=>({'id':_0x10102b,..._0x1bdb90}))[_0x594e33(0x1cd)]((_0x3815d2,_0x3b7d88)=>_0x3b7d88[_0x594e33(0x1cf)]-_0x3815d2['cost'])[_0x594e33(0x1c1)](0x0,0xa),_0x5502df;}['exportUsageData'](_0x56ef5c=a0_0x1580b4(0x1b1),_0x21b037=null,_0x199cfe=null){const _0x8ac120=a0_0x1580b4,_0x451f47={'budgets':this[_0x8ac120(0x1f9)],'total':this[_0x8ac120(0x1c6)][_0x8ac120(0x1ea)],'daily':{},'weekly':{},'monthly':{}},_0x1b1b7e=(_0x570ade,_0x577007)=>{const _0x10c754=_0x8ac120,_0x38d62b={};return _0x570ade[_0x10c754(0x1dc)]((_0x27bf67,_0x344353)=>{const _0x52adcb=_0x577007(_0x344353);(!_0x21b037||_0x52adcb>=_0x21b037)&&(!_0x199cfe||_0x52adcb<=_0x199cfe)&&(_0x38d62b[_0x344353]=_0x27bf67);}),_0x38d62b;};_0x21b037||_0x199cfe?(_0x451f47[_0x8ac120(0x1c0)]=_0x1b1b7e(this[_0x8ac120(0x1c6)]['daily'],_0x18f9ae=>new Date(_0x18f9ae)),_0x451f47[_0x8ac120(0x1e2)]=_0x1b1b7e(this['usage']['weekly'],_0x56d982=>new Date(_0x56d982)),_0x451f47['monthly']=_0x1b1b7e(this['usage']['monthly'],_0x334c0d=>new Date(_0x334c0d+_0x8ac120(0x1b5)))):(this['usage'][_0x8ac120(0x1c0)][_0x8ac120(0x1dc)]((_0xd1a752,_0x2a6031)=>_0x451f47['daily'][_0x2a6031]=_0xd1a752),this[_0x8ac120(0x1c6)][_0x8ac120(0x1e2)][_0x8ac120(0x1dc)]((_0x2b1c34,_0x120ced)=>_0x451f47['weekly'][_0x120ced]=_0x2b1c34),this['usage'][_0x8ac120(0x1cb)][_0x8ac120(0x1dc)]((_0x5c7ec2,_0x3fa1ed)=>_0x451f47['monthly'][_0x3fa1ed]=_0x5c7ec2));if(_0x56ef5c===_0x8ac120(0x1ba))return this['convertToCSV'](_0x451f47);return JSON[_0x8ac120(0x1d3)](_0x451f47,null,0x2);}[a0_0x1580b4(0x1ed)](_0x322763,_0x71860){const _0x5bee08=a0_0x1580b4;!_0x322763['has'](_0x71860)&&_0x322763[_0x5bee08(0x1f3)](_0x71860,this['createEmptyUsage']());}[a0_0x1580b4(0x1f7)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x1580b4(0x1d1)](_0x160125,_0x2bd6bf){const _0x12e4d4=a0_0x1580b4;_0x160125['cost']+=_0x2bd6bf[_0x12e4d4(0x1cf)],_0x160125['tokens']+=_0x2bd6bf['tokens'],_0x160125[_0x12e4d4(0x1c7)]+=0x1,!_0x160125[_0x12e4d4(0x1e9)][_0x2bd6bf['agentId']]&&(_0x160125['byAgent'][_0x2bd6bf['agentId']]=this[_0x12e4d4(0x1f7)]()),_0x160125[_0x12e4d4(0x1e9)][_0x2bd6bf[_0x12e4d4(0x1a1)]][_0x12e4d4(0x1cf)]+=_0x2bd6bf['cost'],_0x160125['byAgent'][_0x2bd6bf[_0x12e4d4(0x1a1)]]['tokens']+=_0x2bd6bf[_0x12e4d4(0x1df)],_0x160125['byAgent'][_0x2bd6bf[_0x12e4d4(0x1a1)]][_0x12e4d4(0x1c7)]+=0x1,!_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]&&(_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]=this['createEmptyUsage']()),_0x160125['byModel'][_0x2bd6bf['modelId']]['cost']+=_0x2bd6bf['cost'],_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]['tokens']+=_0x2bd6bf['tokens'],_0x160125['byModel'][_0x2bd6bf[_0x12e4d4(0x1b8)]]['requests']+=0x1;}['checkBudgetLimits'](_0x1a0f1c,_0x1971b7,_0x1459b5){const _0x29b0e0=a0_0x1580b4,_0x45c20c=this[_0x29b0e0(0x1c6)][_0x29b0e0(0x1c0)][_0x29b0e0(0x1af)](_0x1a0f1c),_0x33de9c=this[_0x29b0e0(0x1c6)]['weekly']['get'](_0x1971b7),_0x24cbe6=this['usage']['monthly'][_0x29b0e0(0x1af)](_0x1459b5);_0x45c20c[_0x29b0e0(0x1cf)]>this[_0x29b0e0(0x1f9)][_0x29b0e0(0x1c0)]&&this['sendBudgetAlert'](_0x29b0e0(0x1c0),_0x45c20c[_0x29b0e0(0x1cf)],this['budgets']['daily']),_0x33de9c[_0x29b0e0(0x1cf)]>this['budgets']['weekly']&&this['sendBudgetAlert']('weekly',_0x33de9c[_0x29b0e0(0x1cf)],this[_0x29b0e0(0x1f9)]['weekly']),_0x24cbe6[_0x29b0e0(0x1cf)]>this['budgets'][_0x29b0e0(0x1cb)]&&this[_0x29b0e0(0x1d4)](_0x29b0e0(0x1cb),_0x24cbe6['cost'],this[_0x29b0e0(0x1f9)]['monthly']),this[_0x29b0e0(0x1ce)](_0x45c20c,_0x33de9c,_0x24cbe6);}[a0_0x1580b4(0x1ce)](_0x3138b0,_0x1e097b,_0xb41969){const _0x21aca9=a0_0x1580b4,_0x273253=this[_0x21aca9(0x1da)]['thresholds'];this['checkThreshold']('daily',_0x3138b0[_0x21aca9(0x1cf)],this[_0x21aca9(0x1f9)]['daily'],_0x273253),this[_0x21aca9(0x1dd)](_0x21aca9(0x1e2),_0x1e097b['cost'],this['budgets'][_0x21aca9(0x1e2)],_0x273253),this[_0x21aca9(0x1dd)]('monthly',_0xb41969[_0x21aca9(0x1cf)],this['budgets'][_0x21aca9(0x1cb)],_0x273253);}['checkThreshold'](_0xd80fda,_0x523c98,_0x453ae7,_0x2f786a){const _0x50ca0e=a0_0x1580b4,_0x46a533=_0x523c98/_0x453ae7*0x64;for(const _0x29076a of _0x2f786a){if(_0x46a533>=_0x29076a){const _0x52a136=_0xd80fda+'_'+_0x29076a,_0x218a24=this['alerts'][_0x50ca0e(0x1d7)]['get'](_0x52a136),_0x2bf148=Date['now']();(!_0x218a24||_0x2bf148-_0x218a24>0x36ee80)&&(this[_0x50ca0e(0x1d8)](_0xd80fda,_0x46a533,_0x29076a,_0x523c98,_0x453ae7),this[_0x50ca0e(0x1da)][_0x50ca0e(0x1d7)]['set'](_0x52a136,_0x2bf148));break;}}}['sendBudgetAlert'](_0x52b552,_0xd8b4dc,_0x2984da){const _0x4be83c=a0_0x1580b4;this['logger']['warn']('Budget\x20limit\x20exceeded',{'period':_0x52b552,'currentUsage':_0xd8b4dc,'budgetLimit':_0x2984da,'excess':_0xd8b4dc-_0x2984da}),typeof process!==_0x4be83c(0x1bd)&&process['emit']&&process[_0x4be83c(0x1a6)]('budgetAlert',{'type':_0x4be83c(0x1ca),'period':_0x52b552,'currentUsage':_0xd8b4dc,'budgetLimit':_0x2984da,'excess':_0xd8b4dc-_0x2984da});}['sendThresholdAlert'](_0x2eadcb,_0x2bc21b,_0x314558,_0x20e8e2,_0x3365d6){const _0x37018c=a0_0x1580b4;this[_0x37018c(0x1f0)]['warn'](_0x37018c(0x1eb),{'period':_0x2eadcb,'percentage':Math['round'](_0x2bc21b),'threshold':_0x314558,'usage':_0x20e8e2,'budget':_0x3365d6}),typeof process!==_0x37018c(0x1bd)&&process['emit']&&process['emit'](_0x37018c(0x1fb),{'type':_0x37018c(0x1bf),'period':_0x2eadcb,'percentage':Math['round'](_0x2bc21b),'threshold':_0x314558,'usage':_0x20e8e2,'budget':_0x3365d6});}['getDayKey'](_0x2dcbf1){return _0x2dcbf1['toISOString']()['split']('T')[0x0];}['getWeekKey'](_0x2e7947){const _0x393633=a0_0x1580b4,_0x4fcc60=_0x2e7947[_0x393633(0x1d6)](),_0xe08e3e=this['getWeekNumber'](_0x2e7947);return _0x4fcc60+'-W'+_0xe08e3e['toString']()['padStart'](0x2,'0');}['getMonthKey'](_0xddf3c1){const _0x48313a=a0_0x1580b4,_0x2acf6a=_0xddf3c1['getFullYear'](),_0x5746b3=_0xddf3c1[_0x48313a(0x1c5)]()+0x1;return _0x2acf6a+'-'+_0x5746b3['toString']()['padStart'](0x2,'0');}[a0_0x1580b4(0x1de)](_0x1bf3b3){const _0x7b4138=a0_0x1580b4,_0x816762=new Date(_0x1bf3b3[_0x7b4138(0x1d6)](),0x0,0x1),_0x2904f2=(_0x1bf3b3-_0x816762)/0x5265c00;return Math[_0x7b4138(0x1ef)]((_0x2904f2+_0x816762['getDay']()+0x1)/0x7);}['convertToCSV'](_0x5930f9){const _0x553e2b=a0_0x1580b4,_0x1510a2=[];return _0x1510a2[_0x553e2b(0x1bc)](['Period',_0x553e2b(0x1a7),_0x553e2b(0x1f1),'Tokens',_0x553e2b(0x1a8),'Agent','Model']),Object['entries'](_0x5930f9['daily'])['forEach'](([_0x40e311,_0xc5c9cb])=>{const _0x37f595=_0x553e2b;_0x1510a2['push'](['Daily',_0x40e311,_0xc5c9cb[_0x37f595(0x1cf)],_0xc5c9cb['tokens'],_0xc5c9cb[_0x37f595(0x1c7)],'','']),Object[_0x37f595(0x1a5)](_0xc5c9cb[_0x37f595(0x1e9)]||{})[_0x37f595(0x1dc)](([_0x438906,_0x4cbf4d])=>{const _0x3f907e=_0x37f595;_0x1510a2['push'](['Daily',_0x40e311,_0x4cbf4d[_0x3f907e(0x1cf)],_0x4cbf4d['tokens'],_0x4cbf4d['requests'],_0x438906,'']);});}),_0x1510a2[_0x553e2b(0x1c9)](_0x3516dd=>_0x3516dd[_0x553e2b(0x1e7)](','))['join']('\x0a');}[a0_0x1580b4(0x1b7)](){const _0x44b26b=a0_0x1580b4;try{this['logger']['info'](_0x44b26b(0x1ee));}catch(_0x5caf32){this[_0x44b26b(0x1f0)][_0x44b26b(0x1f4)](_0x44b26b(0x1ec),{'error':_0x5caf32['message']});}}['saveUsageData'](){const _0x24a14e=a0_0x1580b4;try{this[_0x24a14e(0x1f0)]['debug'](_0x24a14e(0x1d9));}catch(_0x1db88c){this[_0x24a14e(0x1f0)][_0x24a14e(0x1f4)]('Failed\x20to\x20save\x20usage\x20data',{'error':_0x1db88c['message']});}}[a0_0x1580b4(0x1a2)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}export default BudgetService;
|
|
1
|
+
const a0_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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1c7447=a0_0x56e7;function a0_0x56e7(_0x1643c7,_0xd20250){_0x1643c7=_0x1643c7-0x100;const _0xb29d91=a0_0xb29d();let _0x56e700=_0xb29d91[_0x1643c7];if(a0_0x56e7['iAKnRT']===undefined){var _0x3a2fd1=function(_0x321603){const _0xae3d6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x121f50='',_0x394355='';for(let _0x15b232=0x0,_0x31116d,_0x2784fd,_0x506a92=0x0;_0x2784fd=_0x321603['charAt'](_0x506a92++);~_0x2784fd&&(_0x31116d=_0x15b232%0x4?_0x31116d*0x40+_0x2784fd:_0x2784fd,_0x15b232++%0x4)?_0x121f50+=String['fromCharCode'](0xff&_0x31116d>>(-0x2*_0x15b232&0x6)):0x0){_0x2784fd=_0xae3d6c['indexOf'](_0x2784fd);}for(let _0x4ee17f=0x0,_0x4d9be8=_0x121f50['length'];_0x4ee17f<_0x4d9be8;_0x4ee17f++){_0x394355+='%'+('00'+_0x121f50['charCodeAt'](_0x4ee17f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x394355);};a0_0x56e7['cHCXVc']=_0x3a2fd1,a0_0x56e7['QbxeVw']={},a0_0x56e7['iAKnRT']=!![];}const _0x4025a8=_0xb29d91[0x0],_0x2aa6ab=_0x1643c7+_0x4025a8,_0xe93f8d=a0_0x56e7['QbxeVw'][_0x2aa6ab];return!_0xe93f8d?(_0x56e700=a0_0x56e7['cHCXVc'](_0x56e700),a0_0x56e7['QbxeVw'][_0x2aa6ab]=_0x56e700):_0x56e700=_0xe93f8d,_0x56e700;}function a0_0xb29d(){const _0x4de408=['zM9YBwf0vgv4DezPBgu','zMXVB3i','odjizNLbEhC','mZeWmdvizwLZuw4','mJe0ndeXnuzHu1jqDq','zxnJyxbLwg1S','ndi1odi0mfHKzgXvuW','BgvUz3rO','Aw5PDgLHBgL6zq','ndiZmtHLBevoC1G','BwvZC2fNzq','CgrM','z2v0qwn0AxzLqxr0ywnOBwvUDhm','ChvZAa','nZuZnJaWu3bgvuP1','Bg9Nz2vY','mtGYndq0A1rcv1PU','yNvPBgreEw5HBwLJq29UDgv4Da','CMvWBgfJzq','zMLSDgvY','ica8zMLSzsbUyw1Lpsi','iIb0ExbLpsi','C3bSAxq','iIbZAxPLpsi','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','cJXHDhrHy2HLzc1MAwXLCZ4k','zMLSzuLK','Bw9Kzq','zxn0Aw1HDgvuB3rHBfrVA2vUCW','yxr0ywnOBwvUDfnLCNzPy2u','Dg9Rzw5fC3rPBwf0zq','Aw1Hz2u','zM9YBwf0q29UDgvUDezPBgu','Dg9gAxHLza','odeXmhzfDvrWvq','s0iIig1Vzgu9iMnVBNrLBNqIpGO','CMvMzxjLBMnL','zM9YBwf0qNL0zxm','mta4nwDuy0T6Ca','zM9YBwf0uMvMzxjLBMnLrMLSzq','Bg9N','cJXMAwXLlxjLzMvYzw5Jzxm+cG','z2v0qxr0ywnOBwvUDenVBNrLBNq','zxjYB3i','nZe4nZfTzwDgrwC'];a0_0xb29d=function(){return _0x4de408;};return a0_0xb29d();}(function(_0x2fe99f,_0x758fb0){const _0x3d530d=a0_0x56e7,_0x1d08f3=_0x2fe99f();while(!![]){try{const _0x5da9bd=-parseInt(_0x3d530d(0x12a))/0x1+-parseInt(_0x3d530d(0x11c))/0x2*(-parseInt(_0x3d530d(0x119))/0x3)+parseInt(_0x3d530d(0x120))/0x4+parseInt(_0x3d530d(0x11e))/0x5+-parseInt(_0x3d530d(0x123))/0x6*(-parseInt(_0x3d530d(0x113))/0x7)+parseInt(_0x3d530d(0x128))/0x8+-parseInt(_0x3d530d(0x11d))/0x9*(parseInt(_0x3d530d(0x10f))/0xa);if(_0x5da9bd===_0x758fb0)break;else _0x1d08f3['push'](_0x1d08f3['shift']());}catch(_0x1aad3b){_0x1d08f3['push'](_0x1d08f3['shift']());}}}(a0_0xb29d,0xa7a68));import a0_0x121f50 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x394355={},_0x15b232=null){const _0x5bdbf8=a0_0x56e7;this['config']=_0x394355,this[_0x5bdbf8(0x129)]=_0x15b232,this['attachmentService']=new a0_0x121f50(_0x394355,_0x15b232);}async['initialize'](){const _0x16f1fd=a0_0x56e7;await this['attachmentService'][_0x16f1fd(0x122)]();}async[a0_0x1c7447(0x12b)](_0x31116d){const _0x314c8d=a0_0x1c7447;try{const _0x2784fd=await this[_0x314c8d(0x10a)][_0x314c8d(0x126)](_0x31116d);if(_0x2784fd['length']===0x0)return'';const _0x506a92=_0x2784fd['filter'](_0x219b25=>_0x219b25[_0x314c8d(0x108)]==='content'),_0x4ee17f=_0x2784fd['filter'](_0xdf3af2=>_0xdf3af2[_0x314c8d(0x108)]===_0x314c8d(0x111));let _0x4d9be8='';if(_0x506a92[_0x314c8d(0x121)]>0x0){_0x4d9be8+=_0x314c8d(0x106);for(const _0x54895e of _0x506a92){const _0x3ed4cf=await this['attachmentService'][_0x314c8d(0x117)](_0x54895e[_0x314c8d(0x107)]);if(_0x3ed4cf){const _0x4bd2d6=this['formatContentFile'](_0x54895e,_0x3ed4cf);_0x4d9be8+=_0x4bd2d6+'\x0a';}}_0x4d9be8+='</attached-files>\x0a';}if(_0x4ee17f['length']>0x0){_0x4d9be8+=_0x314c8d(0x116);for(const _0x495972 of _0x4ee17f){const _0x4bc6a8=this['formatReferenceFile'](_0x495972);_0x4d9be8+=_0x4bc6a8+'\x0a';}_0x4d9be8+='</file-references>\x0a',_0x4d9be8+=_0x314c8d(0x105);}return _0x4d9be8;}catch(_0x5c88ca){return this['logger']?.['error']('Error\x20building\x20dynamic\x20context',{'agentId':_0x31116d,'error':_0x5c88ca[_0x314c8d(0x124)]}),'';}}[a0_0x1c7447(0x10d)](_0x5ce48f,_0x2ddc2e){const _0x229fb9=a0_0x1c7447,{fileName:_0x5931a0,fileType:_0x333528,size:_0x5e3d2d,contentType:_0xe8511f}=_0x5ce48f,_0x998ee5=(_0x5e3d2d/0x400)[_0x229fb9(0x10e)](0x2);if(_0xe8511f==='text')return this['formatTextFile'](_0x5ce48f,_0x2ddc2e);else{if(_0xe8511f===_0x229fb9(0x10c))return this['formatImageFile'](_0x5ce48f,_0x2ddc2e);else{if(_0xe8511f===_0x229fb9(0x125))return this['formatPdfFile'](_0x5ce48f,_0x2ddc2e);}}return'\x20\x20<file\x20name=\x22'+this[_0x229fb9(0x11f)](_0x5931a0)+_0x229fb9(0x102)+_0x333528+_0x229fb9(0x104)+_0x998ee5+_0x229fb9(0x110)+this[_0x229fb9(0x11f)](_0x2ddc2e)+'\x0a\x20\x20</file>';}[a0_0x1c7447(0x11a)](_0x31addb,_0x20a62a){const _0x54177f=a0_0x1c7447,{fileName:_0x4c888e,fileType:_0x4f4ab7,size:_0x59813b}=_0x31addb,_0x45d813=(_0x59813b/0x400)['toFixed'](0x2);return _0x54177f(0x101)+this[_0x54177f(0x11f)](_0x4c888e)+'\x22\x20type=\x22'+_0x4f4ab7+_0x54177f(0x104)+_0x45d813+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x20a62a)+'\x0a\x20\x20</file>';}['formatImageFile'](_0xd8e61f,_0x30c5a5){const _0x16df66=a0_0x1c7447,{fileName:_0x46dd1d,fileType:_0x5aec2e,size:_0x2f6566}=_0xd8e61f,_0x558b40=(_0x2f6566/0x400)[_0x16df66(0x10e)](0x2);return _0x16df66(0x101)+this[_0x16df66(0x11f)](_0x46dd1d)+_0x16df66(0x102)+_0x5aec2e+'\x22\x20size=\x22'+_0x558b40+'KB\x22\x20mode=\x22content\x22>\x0a'+_0x30c5a5+'\x0a\x20\x20</file>';}['formatPdfFile'](_0x5759f6,_0x8d4a0c){const _0x59eafa=a0_0x1c7447,{fileName:_0xd08c13,fileType:_0x4db71c,size:_0x28cd90}=_0x5759f6,_0x1c2414=(_0x28cd90/0x400)['toFixed'](0x2);return _0x59eafa(0x101)+this[_0x59eafa(0x11f)](_0xd08c13)+_0x59eafa(0x102)+_0x4db71c+'\x22\x20size=\x22'+_0x1c2414+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x8d4a0c)+'\x0a\x20\x20</file>';}[a0_0x1c7447(0x114)](_0x2a9ed0){const _0x45bf16=a0_0x1c7447,{fileName:_0x2af1f8,originalPath:_0x4e2efe,size:_0x4c6931,fileType:_0x39363c,lastModified:_0x91ca9c}=_0x2a9ed0,_0x158844=this['formatBytes'](_0x4c6931),_0x480013=new Date(_0x91ca9c)['toISOString']()[_0x45bf16(0x103)]('T')[0x0];return'\x20\x20<file\x20name=\x22'+this[_0x45bf16(0x11f)](_0x2af1f8)+'\x22\x20path=\x22'+this['escapeXml'](_0x4e2efe)+'\x22\x20size=\x22'+_0x158844+'\x22\x20type=\x22'+_0x39363c+'\x22\x20modified=\x22'+_0x480013+'\x22\x20/>';}[a0_0x1c7447(0x11f)](_0x405ae9){const _0xd3dcfe=a0_0x1c7447;if(!_0x405ae9)return'';return _0x405ae9['replace'](/&/g,'&')[_0xd3dcfe(0x12c)](/</g,'<')[_0xd3dcfe(0x12c)](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');}[a0_0x1c7447(0x112)](_0x1ffe5e){const _0xa3761a=a0_0x1c7447;if(_0x1ffe5e===0x0)return'0\x20Bytes';const _0x2a9da3=0x400,_0x35a30f=['Bytes','KB','MB','GB'],_0x56cedd=Math[_0xa3761a(0x11b)](Math['log'](_0x1ffe5e)/Math[_0xa3761a(0x115)](_0x2a9da3));return parseFloat((_0x1ffe5e/Math['pow'](_0x2a9da3,_0x56cedd))[_0xa3761a(0x10e)](0x2))+_0x35a30f[_0x56cedd];}async[a0_0x1c7447(0x109)](_0x1c8878){const _0x3cf6ba=a0_0x1c7447;try{const _0x155bef=await this['attachmentService']['getActiveAttachments'](_0x1c8878);let _0x3449cb=0x0;for(const _0x2c2e7c of _0x155bef){_0x2c2e7c['mode']==='content'?_0x3449cb+=_0x2c2e7c[_0x3cf6ba(0x10b)]||0x0:_0x3449cb+=0x14;}return _0x3449cb;}catch(_0x1e21d1){return this['logger']?.[_0x3cf6ba(0x118)]('Error\x20estimating\x20total\x20tokens',{'agentId':_0x1c8878,'error':_0x1e21d1['message']}),0x0;}}async['getAttachmentSummary'](_0x290a11){const _0x56e9db=a0_0x1c7447;try{const _0x31c58e=await this['attachmentService']['getActiveAttachments'](_0x290a11),_0x302c61={'totalActive':_0x31c58e[_0x56e9db(0x121)],'contentMode':_0x31c58e[_0x56e9db(0x100)](_0x4908d3=>_0x4908d3[_0x56e9db(0x108)]==='content')[_0x56e9db(0x121)],'referenceMode':_0x31c58e['filter'](_0x2ab810=>_0x2ab810[_0x56e9db(0x108)]==='reference')[_0x56e9db(0x121)],'estimatedTokens':0x0,'files':[]};for(const _0x4c5822 of _0x31c58e){_0x302c61['estimatedTokens']+=_0x4c5822[_0x56e9db(0x10b)]||0x0,_0x302c61['files'][_0x56e9db(0x127)]({'fileName':_0x4c5822['fileName'],'mode':_0x4c5822['mode'],'size':this['formatBytes'](_0x4c5822['size']),'tokens':_0x4c5822[_0x56e9db(0x10b)]||0x0});}return _0x302c61;}catch(_0x3818f4){return this['logger']?.['error']('Error\x20getting\x20attachment\x20summary',{'agentId':_0x290a11,'error':_0x3818f4['message']}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;
|