@loxia-labs/loxia-autopilot-one 1.0.7 → 1.0.9
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/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/web-ui/build/index.html +2 -2
- package/web-ui/build/static/{index-BVF_10a5.css → index-BmKxmRe3.css} +1 -1
- package/web-ui/build/static/{index-DE5VFS1q.js → index-BzXbDs8z.js} +63 -63
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4bf198=a0_0xfd66;(function(_0x5a5e8c,_0x1c7aa4){const _0x23d3dc=a0_0xfd66,_0x4204c7=_0x5a5e8c();while(!![]){try{const _0x247c8f=-parseInt(_0x23d3dc(0x25a))/0x1+parseInt(_0x23d3dc(0x23c))/0x2*(parseInt(_0x23d3dc(0x1de))/0x3)+parseInt(_0x23d3dc(0x21f))/0x4*(parseInt(_0x23d3dc(0x1ca))/0x5)+parseInt(_0x23d3dc(0x1f0))/0x6+parseInt(_0x23d3dc(0x21a))/0x7*(-parseInt(_0x23d3dc(0x21c))/0x8)+parseInt(_0x23d3dc(0x207))/0x9+-parseInt(_0x23d3dc(0x1df))/0xa*(parseInt(_0x23d3dc(0x216))/0xb);if(_0x247c8f===_0x1c7aa4)break;else _0x4204c7['push'](_0x4204c7['shift']());}catch(_0xa714f0){_0x4204c7['push'](_0x4204c7['shift']());}}}(a0_0xf1a0,0x18c74));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0xfd66(_0x22862e,_0x2e1830){_0x22862e=_0x22862e-0x1c1;const _0xf1a0d=a0_0xf1a0();let _0xfd66f9=_0xf1a0d[_0x22862e];if(a0_0xfd66['ZrbhbC']===undefined){var _0x26e5fd=function(_0x414b3f){const _0x2b597c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29f3b3='',_0x13f05f='';for(let _0x2eb08f=0x0,_0x5d6e1a,_0x13e5bf,_0x2582fa=0x0;_0x13e5bf=_0x414b3f['charAt'](_0x2582fa++);~_0x13e5bf&&(_0x5d6e1a=_0x2eb08f%0x4?_0x5d6e1a*0x40+_0x13e5bf:_0x13e5bf,_0x2eb08f++%0x4)?_0x29f3b3+=String['fromCharCode'](0xff&_0x5d6e1a>>(-0x2*_0x2eb08f&0x6)):0x0){_0x13e5bf=_0x2b597c['indexOf'](_0x13e5bf);}for(let _0x563471=0x0,_0x5a005d=_0x29f3b3['length'];_0x563471<_0x5a005d;_0x563471++){_0x13f05f+='%'+('00'+_0x29f3b3['charCodeAt'](_0x563471)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13f05f);};a0_0xfd66['OSqATj']=_0x26e5fd,a0_0xfd66['dFBZmf']={},a0_0xfd66['ZrbhbC']=!![];}const _0x281b25=_0xf1a0d[0x0],_0x2ab585=_0x22862e+_0x281b25,_0x482f1a=a0_0xfd66['dFBZmf'][_0x2ab585];return!_0x482f1a?(_0xfd66f9=a0_0xfd66['OSqATj'](_0xfd66f9),a0_0xfd66['dFBZmf'][_0x2ab585]=_0xfd66f9):_0xfd66f9=_0x482f1a,_0xfd66f9;}class AIService{constructor(_0x29f3b3,_0x13f05f,_0x2eb08f,_0x5d6e1a){const _0x2d11b9=a0_0xfd66;this['config']=_0x29f3b3,this['logger']=_0x13f05f,this['budgetService']=_0x2eb08f,this[_0x2d11b9(0x251)]=_0x5d6e1a,this['baseUrl']=_0x29f3b3[_0x2d11b9(0x204)]?.[_0x2d11b9(0x218)]||_0x2d11b9(0x205),this[_0x2d11b9(0x225)]=_0x29f3b3['backend']?.['timeout']||0xea60,this[_0x2d11b9(0x213)]=_0x29f3b3[_0x2d11b9(0x204)]?.['retryAttempts']||0x3,this[_0x2d11b9(0x1eb)]=new Map(),this['requestQueue']=new Map(),this[_0x2d11b9(0x259)]={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x2d11b9(0x234)]=this['_initializeModelSpecs'](),this['conversationManagers']=new Map(),this['apiKeyManager']=null,this[_0x2d11b9(0x1fd)]=null;}async[a0_0x4bf198(0x217)](_0x13e5bf,_0x2582fa,_0x563471={}){const _0x3677bc=a0_0x4bf198,_0x5a005d=_0x3677bc(0x1fc)+Date[_0x3677bc(0x24d)]()+'-'+Math['random']()['toString'](0x24)[_0x3677bc(0x1f9)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error(_0x3677bc(0x222));await this['_checkRateLimit'](_0x13e5bf);const _0x185fe7=this[_0x3677bc(0x1e0)](_0x2582fa,_0x13e5bf,_0x563471),_0x54b279={'model':_0x13e5bf,'messages':_0x185fe7,'options':{'max_tokens':this[_0x3677bc(0x234)][_0x13e5bf]?.[_0x3677bc(0x22f)]||0xfa0,'temperature':_0x563471['temperature']||0.7,'stream':_0x563471[_0x3677bc(0x1ec)]||![]},'metadata':{'requestId':_0x5a005d,'agentId':_0x563471[_0x3677bc(0x1d3)],'timestamp':new Date()[_0x3677bc(0x1d7)]()}};_0x563471['systemPrompt']&&(_0x54b279[_0x3677bc(0x1c2)]=_0x563471['systemPrompt']);this['logger']['info'](_0x3677bc(0x1f7)+_0x13e5bf,{'requestId':_0x5a005d,'agentId':_0x563471['agentId'],'messageCount':Array[_0x3677bc(0x267)](_0x2582fa)?_0x2582fa[_0x3677bc(0x1ce)]:0x1,'maxTokens':_0x54b279['max_tokens']});const _0x559357=await this[_0x3677bc(0x209)](_0x3677bc(0x1e9),_0x54b279,_0x5a005d,{..._0x563471,'sessionId':_0x563471['sessionId'],'platformProvided':_0x563471[_0x3677bc(0x232)]||![]});return _0x559357[_0x3677bc(0x206)]&&await this[_0x3677bc(0x20d)](_0x563471['agentId'],_0x13e5bf,{'prompt_tokens':_0x559357[_0x3677bc(0x206)]['prompt_tokens']||0x0,'completion_tokens':_0x559357[_0x3677bc(0x206)]['completion_tokens']||0x0,'total_tokens':_0x559357['usage']['total_tokens']||0x0}),this['_resetCircuitBreaker'](),{'content':_0x559357['choices'][0x0]?.['message']?.[_0x3677bc(0x242)]||'','model':_0x559357[_0x3677bc(0x250)],'tokenUsage':_0x559357[_0x3677bc(0x206)],'requestId':_0x5a005d,'finishReason':_0x559357[_0x3677bc(0x25c)][0x0]?.['finish_reason']};}catch(_0x27594d){this[_0x3677bc(0x257)](),this[_0x3677bc(0x1e8)]['error']('AI\x20service\x20request\x20failed:\x20'+_0x27594d[_0x3677bc(0x235)],{'requestId':_0x5a005d,'model':_0x13e5bf,'agentId':_0x563471['agentId'],'error':_0x27594d[_0x3677bc(0x20c)]}),await this[_0x3677bc(0x201)](_0x27594d,{'requestId':_0x5a005d,'model':_0x13e5bf,'agentId':_0x563471['agentId']});throw _0x27594d;}}async['routeModel'](_0xa0ee27,_0x360982={}){const _0x11838b=a0_0x4bf198;try{const _0x35bffe=MODEL_ROUTING[_0xa0ee27[_0x11838b(0x255)]()]||MODEL_ROUTING[_0x11838b(0x224)],_0x48911f=[];for(const _0x2a62ea of _0x35bffe){const _0x7831aa=await this['_checkModelHealth'](_0x2a62ea);_0x7831aa&&_0x48911f[_0x11838b(0x1e2)](_0x2a62ea);}if(_0x48911f[_0x11838b(0x1ce)]===0x0)return this['logger'][_0x11838b(0x22e)](_0x11838b(0x1dc)+_0xa0ee27+',\x20using\x20fallback'),MODEL_ROUTING['FALLBACK'][0x0];let _0x5caf40=_0x48911f[0x0];if(_0x360982['preferredModel']&&_0x48911f['includes'](_0x360982['preferredModel']))_0x5caf40=_0x360982['preferredModel'];else{if(_0x360982['complexity']===_0x11838b(0x260)&&_0x48911f['includes'](MODELS[_0x11838b(0x1f1)]))_0x5caf40=MODELS['ANTHROPIC_OPUS'];else _0x360982['speed']==='fast'&&_0x48911f['includes'](MODELS[_0x11838b(0x212)])&&(_0x5caf40=MODELS[_0x11838b(0x212)]);}return this['logger']['info'](_0x11838b(0x266)+_0xa0ee27,{'selectedModel':_0x5caf40,'availableModels':_0x48911f['length'],'context':_0x360982}),_0x5caf40;}catch(_0x36a0f8){return this[_0x11838b(0x1e8)][_0x11838b(0x23b)](_0x11838b(0x1ef)+_0x36a0f8[_0x11838b(0x235)],{'task':_0xa0ee27,'context':_0x360982}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x357a65,_0x36f4ac){const _0x25a17e=a0_0x4bf198,_0x401231=this[_0x25a17e(0x234)][_0x36f4ac];if(!_0x401231)throw new Error('Unknown\x20model:\x20'+_0x36f4ac);const _0xc3a315=_0x401231['contextWindow']*0.8;let _0x4f42dd=0x0;const _0xf31c1f=[],_0x5e164e=await Promise['all'](_0x357a65[_0x25a17e(0x1e3)](async _0x23caaf=>({..._0x23caaf,'estimatedTokens':await this[_0x25a17e(0x226)](_0x23caaf['content'],_0x36f4ac)}))),_0x19943d=[..._0x5e164e]['reverse']();for(const _0x22684c of _0x19943d){if(_0x4f42dd+_0x22684c['estimatedTokens']>_0xc3a315){if(_0xf31c1f[_0x25a17e(0x1ce)]===0x0){const _0x53fbb1=await this['_truncateMessage'](_0x22684c['content'],_0xc3a315);_0xf31c1f['unshift']({..._0x22684c,'content':_0x53fbb1,'estimatedTokens':_0xc3a315});}break;}_0xf31c1f[_0x25a17e(0x1d6)](_0x22684c),_0x4f42dd+=_0x22684c[_0x25a17e(0x265)];}const _0x15d767=_0x5e164e[_0x25a17e(0x228)](0x0,-_0xf31c1f['length']);if(_0x15d767['length']>0x0){const _0x5181bc=await this['_summarizeMessages'](_0x15d767,_0x36f4ac);_0xf31c1f[_0x25a17e(0x1d6)]({'role':_0x25a17e(0x1c2),'content':'Previous\x20conversation\x20summary:\x20'+_0x5181bc,'timestamp':_0x15d767[0x0]['timestamp'],'type':'summary','estimatedTokens':await this[_0x25a17e(0x226)](_0x5181bc,_0x36f4ac)});}return this[_0x25a17e(0x1e8)][_0x25a17e(0x238)](_0x25a17e(0x22c)+_0x36f4ac,{'originalMessages':_0x357a65['length'],'compactizedMessages':_0xf31c1f[_0x25a17e(0x1ce)],'estimatedTokens':_0x4f42dd,'maxTokens':_0xc3a315}),_0xf31c1f;}async['trackUsage'](_0x197baf,_0x1ef57b,_0x159771,_0x145a58){const _0x2a7bce=a0_0x4bf198;try{this['budgetService']&&this[_0x2a7bce(0x20b)]['trackUsage'](_0x197baf,_0x1ef57b,_0x159771);}catch(_0x4e8a98){this['logger'][_0x2a7bce(0x23b)](_0x2a7bce(0x1ea)+_0x4e8a98['message']);}}async['handleHttpError'](_0x5a5e3c,_0x4f434b){const _0x443603=a0_0x4bf198,_0x422f4a=this[_0x443603(0x251)]?.['classifyError']?.(_0x5a5e3c,_0x4f434b);switch(_0x5a5e3c[_0x443603(0x20a)]||_0x5a5e3c[_0x443603(0x1fe)]){case HTTP_STATUS[_0x443603(0x25d)]:this['logger'][_0x443603(0x23b)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x4f434b,'error':_0x5a5e3c[_0x443603(0x235)]});throw new Error('Invalid\x20request:\x20'+_0x5a5e3c['message']);case HTTP_STATUS[_0x443603(0x1d4)]:this[_0x443603(0x1e8)][_0x443603(0x23b)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x4f434b});throw new Error(_0x443603(0x1fb));case HTTP_STATUS['FORBIDDEN']:this[_0x443603(0x1e8)][_0x443603(0x23b)]('Access\x20forbidden\x20to\x20AI\x20service',{'context':_0x4f434b});throw new Error(_0x443603(0x1e1));case HTTP_STATUS[_0x443603(0x25b)]:this['logger']['error']('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x4f434b});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x443603(0x1e8)][_0x443603(0x22e)](_0x443603(0x208),{'context':_0x4f434b}),await this['_handleRateLimit'](_0x4f434b);throw new Error(_0x443603(0x1f4));case HTTP_STATUS['INTERNAL_SERVER_ERROR']:case HTTP_STATUS[_0x443603(0x230)]:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS['GATEWAY_TIMEOUT']:this['logger']['error'](_0x443603(0x247),{'context':_0x4f434b,'status':_0x5a5e3c['status']}),await this[_0x443603(0x20e)](_0x4f434b);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this['logger']['error']('Unknown\x20AI\x20service\x20error',{'context':_0x4f434b,'error':_0x5a5e3c[_0x443603(0x235)]});throw new Error(_0x443603(0x23d)+_0x5a5e3c['message']);}}[a0_0x4bf198(0x1c4)](_0x2cf131){const _0x194ae3=a0_0x4bf198;this[_0x194ae3(0x263)]=_0x2cf131,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x2cf131});}['setAgentPool'](_0x151862){const _0xe3478b=a0_0x4bf198;this['agentPool']=_0x151862,this['logger']?.[_0xe3478b(0x238)](_0xe3478b(0x229),{'hasAgentPool':!!_0x151862});}async[a0_0x4bf198(0x261)](_0x238cba,_0x3c5490={}){const _0x4b9465=a0_0x4bf198,_0x2854d7=_0x4b9465(0x1c3)+Date['now']()+'-'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error(_0x4b9465(0x222));if(!_0x238cba||typeof _0x238cba!==_0x4b9465(0x1d9)||_0x238cba[_0x4b9465(0x268)]()[_0x4b9465(0x1ce)]===0x0)throw new Error(_0x4b9465(0x1d1));const _0x57dce8=_0x3c5490[_0x4b9465(0x250)]||'flux-1.1-pro',_0x1ab50c=_0x3c5490[_0x4b9465(0x1ed)]||'1024x1024',_0x47b6af=_0x3c5490[_0x4b9465(0x1d5)]||_0x4b9465(0x22b),_0x5e68ae=_0x3c5490['responseFormat']||'url';this[_0x4b9465(0x1e8)]['info'](_0x4b9465(0x252)+_0x57dce8,{'requestId':_0x2854d7,'model':_0x57dce8,'size':_0x1ab50c,'quality':_0x47b6af,'promptLength':_0x238cba['length']});const _0x31c770={'prompt':_0x238cba,'model':_0x57dce8,'size':_0x1ab50c,'quality':_0x47b6af,'response_format':_0x5e68ae,'n':0x1,'metadata':{'requestId':_0x2854d7,'timestamp':new Date()['toISOString']()}},_0x30ec39=await this[_0x4b9465(0x1c8)](_0x31c770,_0x2854d7,{'sessionId':_0x3c5490[_0x4b9465(0x24e)],'platformProvided':_0x3c5490[_0x4b9465(0x232)]||![]});return this['_resetCircuitBreaker'](),{'url':_0x30ec39['data']?.[0x0]?.['url']||null,'b64_json':_0x30ec39[_0x4b9465(0x227)]?.[0x0]?.['b64_json']||null,'model':_0x30ec39[_0x4b9465(0x250)]||_0x57dce8,'requestId':_0x2854d7,'revisedPrompt':_0x30ec39['data']?.[0x0]?.['revised_prompt']||_0x238cba};}catch(_0x42f118){this['_recordFailure'](),this['logger'][_0x4b9465(0x23b)]('Image\x20generation\x20failed:\x20'+_0x42f118[_0x4b9465(0x235)],{'requestId':_0x2854d7,'model':_0x3c5490['model'],'error':_0x42f118[_0x4b9465(0x20c)]});throw _0x42f118;}}async['checkServiceHealth'](){const _0x20aa5a=a0_0x4bf198;try{const _0x49b50c=await this['_makeAPIRequest']('/health',{},_0x20aa5a(0x254));return _0x49b50c['status']==='healthy';}catch(_0x31106e){return![];}}async[a0_0x4bf198(0x1e6)](_0x487ef5,_0x23416e){const _0x2c68a8=a0_0x4bf198;try{if(!this[_0x2c68a8(0x203)](_0x23416e))throw new Error('Invalid\x20model:\x20'+_0x23416e);let _0x2bf93d=this['conversationManagers'][_0x2c68a8(0x24a)](_0x487ef5);!_0x2bf93d&&(_0x2bf93d=new ConversationManager(_0x487ef5,this['logger']),this['conversationManagers']['set'](_0x487ef5,_0x2bf93d));const _0x3161cd=await _0x2bf93d['switchModel'](_0x23416e),_0x134fb8=await this['agentPool']?.['getAgent'](_0x487ef5);return _0x134fb8&&(_0x134fb8['currentModel']=_0x23416e,await this[_0x2c68a8(0x1fd)]['persistAgentState'](_0x487ef5)),this['logger'][_0x2c68a8(0x238)]('Agent\x20model\x20switched:\x20'+_0x487ef5,{'newModel':_0x23416e,'messageCount':_0x3161cd[_0x2c68a8(0x1cd)]['length']}),{'success':!![],'agentId':_0x487ef5,'newModel':_0x23416e,'conversation':_0x3161cd};}catch(_0xf27d0f){this[_0x2c68a8(0x1e8)][_0x2c68a8(0x23b)](_0x2c68a8(0x1f5)+_0xf27d0f[_0x2c68a8(0x235)],{'agentId':_0x487ef5,'newModel':_0x23416e});throw _0xf27d0f;}}[a0_0x4bf198(0x1c6)](){const _0x5dc9d3=a0_0x4bf198,_0x1409e8={[MODELS[_0x5dc9d3(0x253)]]:{'provider':MODEL_PROVIDERS[_0x5dc9d3(0x25f)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS['ANTHROPIC_OPUS']]:{'provider':MODEL_PROVIDERS[_0x5dc9d3(0x25f)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS[_0x5dc9d3(0x1cc)]]:{'provider':MODEL_PROVIDERS[_0x5dc9d3(0x1cb)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS[_0x5dc9d3(0x1cb)],'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[_0x5dc9d3(0x1cb)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0x5dc9d3(0x1cb)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x5dc9d3(0x210)]]:{'provider':MODEL_PROVIDERS['DEEPSEEK'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x5dc9d3(0x1c1)]]:{'provider':MODEL_PROVIDERS[_0x5dc9d3(0x223)],'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':_0x5dc9d3(0x1c5),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':_0x5dc9d3(0x1c5),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':'AZURE','contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x1409e8;}[a0_0x4bf198(0x1e0)](_0x3e0ae2,_0x130990,_0x562fc){const _0x3f6526=a0_0x4bf198,_0x10bf14=this[_0x3f6526(0x234)][_0x130990]||{'provider':_0x3f6526(0x1c5)};let _0x565f05;typeof _0x3e0ae2===_0x3f6526(0x1d9)?_0x565f05=[{'role':'user','content':_0x3e0ae2}]:_0x565f05=_0x3e0ae2['map'](_0x2f4dd0=>this['_formatSingleMessage'](_0x2f4dd0,_0x130990));switch(_0x10bf14[_0x3f6526(0x215)]){case MODEL_PROVIDERS['ANTHROPIC']:return this['_formatForAnthropic'](_0x565f05);case MODEL_PROVIDERS[_0x3f6526(0x1cb)]:return this[_0x3f6526(0x21e)](_0x565f05);case MODEL_PROVIDERS['AZURE']:return this['_formatForAzure'](_0x565f05);default:return _0x565f05;}}[a0_0x4bf198(0x240)](_0x28c110,_0x24015d){const _0x3c28bf=a0_0x4bf198;return{'role':_0x28c110[_0x3c28bf(0x1ff)]||_0x3c28bf(0x231),'content':_0x28c110[_0x3c28bf(0x242)],'timestamp':_0x28c110['timestamp']};}['_formatForAnthropic'](_0x5b1257){return _0x5b1257['map'](_0x5a372d=>{const _0x18788e=a0_0xfd66;if(_0x5a372d['role']==='system')return{'role':_0x18788e(0x231),'content':'System:\x20'+_0x5a372d[_0x18788e(0x242)]};return _0x5a372d;});}['_formatForOpenAI'](_0x4c95b0){return _0x4c95b0;}[a0_0x4bf198(0x1dd)](_0x2ddc9a){return _0x2ddc9a['map'](_0x51609e=>({..._0x51609e,'content':typeof _0x51609e['content']==='string'?_0x51609e['content']:JSON['stringify'](_0x51609e['content'])}));}['_isValidModel'](_0xc013b8){const _0x409719=a0_0x4bf198;this[_0x409719(0x1e8)]['debug']('Validating\x20model',{'model':_0xc013b8,'modelType':typeof _0xc013b8});if(this[_0x409719(0x234)][_0xc013b8]!==undefined)return!![];return this['logger'][_0x409719(0x22e)]('Model\x20validation\x20failed',{'model':_0xc013b8,'availableModels':Object['keys'](this[_0x409719(0x234)])}),![];}async['_checkModelHealth'](_0x4397d1){return!![];}async[a0_0x4bf198(0x226)](_0x3667f0,_0x40a269){const _0x1038b4=a0_0x4bf198;return Math[_0x1038b4(0x1db)](_0x3667f0['length']/0x4);}async[a0_0x4bf198(0x1e4)](_0x1a6fea,_0x19e474){const _0x3cc57e=a0_0x4bf198,_0x5227fe=_0x19e474*0x4;if(_0x1a6fea[_0x3cc57e(0x1ce)]<=_0x5227fe)return _0x1a6fea;return _0x1a6fea['substring'](0x0,_0x5227fe-0x14)+_0x3cc57e(0x243);}async[a0_0x4bf198(0x262)](_0x240f48,_0x366a04){const _0x4973bc=a0_0x4bf198,_0x5115ba=_0x240f48[_0x4973bc(0x1e3)](_0x13386f=>_0x13386f['role']+':\x20'+_0x13386f['content'])[_0x4973bc(0x23f)]('\x0a'),_0x2110e4=0x1f4;if(_0x5115ba['length']<=_0x2110e4)return _0x5115ba;return _0x5115ba[_0x4973bc(0x200)](0x0,_0x2110e4)+'...\x20[conversation\x20summary\x20truncated]';}async[a0_0x4bf198(0x209)](_0x46a56f,_0x44a367,_0x12d31d,_0x2e07f2={}){const _0x33c1b9=a0_0x4bf198,_0x521f88=_0x33c1b9(0x248);let _0x597f47,_0x320ef0=null,_0x3e4ae8=null;this['logger']?.['info']('🔑\x20API\x20Key\x20retrieval\x20state',{'hasApiKeyManager':!!this[_0x33c1b9(0x263)],'sessionId':_0x2e07f2['sessionId'],'hasSessionId':!!_0x2e07f2['sessionId'],'optionsKeys':Object[_0x33c1b9(0x1d2)](_0x2e07f2),'model':_0x44a367['model']});if(this[_0x33c1b9(0x263)]&&_0x2e07f2['sessionId']){const _0x447255=this['apiKeyManager']['getKeysForRequest'](_0x2e07f2[_0x33c1b9(0x24e)],{'platformProvided':_0x2e07f2[_0x33c1b9(0x232)]||![],'vendor':this[_0x33c1b9(0x1d0)](_0x44a367['model'])});_0x320ef0=_0x447255[_0x33c1b9(0x1f8)],_0x3e4ae8=_0x447255['vendorApiKey'],this['logger']?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x2e07f2[_0x33c1b9(0x24e)],'hasLoxiaKey':!!_0x320ef0,'hasVendorKey':!!_0x3e4ae8,'vendor':this[_0x33c1b9(0x1d0)](_0x44a367[_0x33c1b9(0x250)])});}!_0x320ef0&&_0x2e07f2[_0x33c1b9(0x22a)]&&(_0x320ef0=_0x2e07f2['apiKey']);!_0x320ef0&&this[_0x33c1b9(0x1ee)][_0x33c1b9(0x22a)]&&(_0x320ef0=this['config']['apiKey']);if(!_0x320ef0)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x4de739=_0x44a367['model'],_0x2e4608={'conversationId':_0x12d31d,'message':_0x44a367['messages'][_0x44a367[_0x33c1b9(0x1cd)]['length']-0x1]?.[_0x33c1b9(0x242)]||'','messages':_0x44a367[_0x33c1b9(0x1cd)],'model':_0x4de739,'requestId':_0x12d31d,'options':_0x44a367[_0x33c1b9(0x241)]||{},'platformProvided':_0x2e07f2[_0x33c1b9(0x232)]||![]};_0x44a367['system']&&(_0x2e4608['systemPrompt']=_0x44a367['system']);_0x2e07f2['platformProvided']?_0x2e4608['apiKey']=_0x320ef0:(_0x3e4ae8&&(_0x2e4608[_0x33c1b9(0x245)]=_0x3e4ae8),_0x2e07f2[_0x33c1b9(0x1c9)]&&(_0x2e4608['customApiKeys']=_0x2e07f2['customApiKeys']),_0x2e4608[_0x33c1b9(0x22a)]=_0x320ef0);for(let _0xaef020=0x1;_0xaef020<=this[_0x33c1b9(0x213)];_0xaef020++){try{this['logger'][_0x33c1b9(0x238)]('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x521f88,'model':_0x44a367[_0x33c1b9(0x250)],'requestId':_0x12d31d,'attempt':_0xaef020,'hasApiKey':!!_0x320ef0});const _0x5163a3=await fetch(_0x521f88,{'method':_0x33c1b9(0x23e),'headers':{'Content-Type':_0x33c1b9(0x220),'Authorization':'Bearer\x20'+_0x320ef0,'X-Request-ID':_0x12d31d},'body':JSON['stringify'](_0x2e4608),'timeout':this[_0x33c1b9(0x225)]});if(!_0x5163a3['ok']){const _0x4e3df9=await _0x5163a3['text'](),_0x2a31fb=new Error('HTTP\x20'+_0x5163a3['status']+':\x20'+_0x5163a3[_0x33c1b9(0x1e7)]+(_0x4e3df9?'\x20-\x20'+_0x4e3df9:''));_0x2a31fb['status']=_0x5163a3[_0x33c1b9(0x20a)];throw _0x2a31fb;}const _0xb0bc8=await _0x5163a3[_0x33c1b9(0x233)]();return{'choices':[{'message':{'content':_0xb0bc8['content']||'','role':'assistant'},'finish_reason':_0xb0bc8['finishReason']||_0x33c1b9(0x1d8)}],'usage':_0xb0bc8[_0x33c1b9(0x206)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0xb0bc8[_0x33c1b9(0x250)]||_0x44a367[_0x33c1b9(0x250)],'id':_0xb0bc8['requestId']||_0x12d31d};}catch(_0x2ade40){_0x597f47=_0x2ade40,this['logger']['warn']('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0xaef020,'requestId':_0x12d31d,'error':_0x2ade40[_0x33c1b9(0x235)],'status':_0x2ade40['status']});if(_0xaef020<this[_0x33c1b9(0x213)]){const _0x5e03b3=Math[_0x33c1b9(0x236)](0x2,_0xaef020)*0x3e8;this[_0x33c1b9(0x1e8)]['warn']('Retrying\x20in\x20'+_0x5e03b3+'ms',{'attempt':_0xaef020,'requestId':_0x12d31d}),await new Promise(_0x1cde56=>setTimeout(_0x1cde56,_0x5e03b3));}}}this['logger'][_0x33c1b9(0x23b)](_0x33c1b9(0x25e),{'requestId':_0x12d31d,'error':_0x597f47[_0x33c1b9(0x235)]});const _0x5a3fe8=_0x597f47[_0x33c1b9(0x235)]&&_0x597f47[_0x33c1b9(0x235)][_0x33c1b9(0x1fa)](_0x33c1b9(0x239));if(_0x5a3fe8)throw new Error(_0x33c1b9(0x246)+_0x597f47[_0x33c1b9(0x235)]);return{'choices':[{'message':{'content':_0x33c1b9(0x256)+_0x597f47['message'],'role':'assistant'},'finish_reason':'stop'}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x44a367['model'],'id':'error-'+_0x12d31d,'error':_0x597f47[_0x33c1b9(0x235)]};}async[a0_0x4bf198(0x1c8)](_0x130ebd,_0x48273b,_0x1df34e={}){const _0x48c4b4=a0_0x4bf198,_0x298af5=_0x48c4b4(0x221);let _0x4be58f,_0x12d655=null,_0x4f31df=null;this[_0x48c4b4(0x1e8)]?.[_0x48c4b4(0x238)]('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x1df34e['sessionId'],'hasSessionId':!!_0x1df34e['sessionId'],'model':_0x130ebd[_0x48c4b4(0x250)]});if(this['apiKeyManager']&&_0x1df34e[_0x48c4b4(0x24e)]){const _0x5919d4=this['apiKeyManager'][_0x48c4b4(0x24c)](_0x1df34e['sessionId'],{'platformProvided':_0x1df34e[_0x48c4b4(0x232)]||![],'vendor':this['_getVendorFromModel'](_0x130ebd['model'])});_0x12d655=_0x5919d4['loxiaApiKey'],_0x4f31df=_0x5919d4[_0x48c4b4(0x245)],this['logger']?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x1df34e['sessionId'],'hasLoxiaKey':!!_0x12d655,'hasVendorKey':!!_0x4f31df});}!_0x12d655&&_0x1df34e['apiKey']&&(_0x12d655=_0x1df34e['apiKey']);!_0x12d655&&this['config'][_0x48c4b4(0x22a)]&&(_0x12d655=this['config']['apiKey']);if(!_0x12d655)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0xf78439={'prompt':_0x130ebd['prompt'],'model':_0x130ebd[_0x48c4b4(0x250)]||_0x48c4b4(0x21b),'size':_0x130ebd['size'],'quality':_0x130ebd['quality'],'style':_0x130ebd['style']||_0x48c4b4(0x202),'n':_0x130ebd['n']||0x1,'requestId':_0x48273b};for(let _0x4d260a=0x1;_0x4d260a<=this[_0x48c4b4(0x213)];_0x4d260a++){try{this[_0x48c4b4(0x1e8)][_0x48c4b4(0x238)](_0x48c4b4(0x1f2),{'url':_0x298af5,'model':_0x130ebd['model'],'requestId':_0x48273b,'attempt':_0x4d260a,'hasApiKey':!!_0x12d655});const _0x17508a=await fetch(_0x298af5,{'method':_0x48c4b4(0x23e),'headers':{'Content-Type':_0x48c4b4(0x220),'Authorization':'Bearer\x20'+_0x12d655,'X-Request-ID':_0x48273b},'body':JSON[_0x48c4b4(0x20f)](_0xf78439),'timeout':this['timeout']*0x2});if(!_0x17508a['ok']){const _0x210088=await _0x17508a['text'](),_0x36c785=new Error(_0x48c4b4(0x24b)+_0x17508a['status']+':\x20'+_0x17508a[_0x48c4b4(0x1e7)]+(_0x210088?_0x48c4b4(0x219)+_0x210088:''));_0x36c785[_0x48c4b4(0x20a)]=_0x17508a[_0x48c4b4(0x20a)];throw _0x36c785;}const _0x59951d=await _0x17508a['json']();return{'data':_0x59951d['images']||[],'model':_0x59951d[_0x48c4b4(0x250)]||_0x130ebd['model'],'created':_0x59951d[_0x48c4b4(0x1cf)]||Date[_0x48c4b4(0x24d)](),'usage':_0x59951d[_0x48c4b4(0x206)]};}catch(_0x532000){_0x4be58f=_0x532000,this[_0x48c4b4(0x1e8)][_0x48c4b4(0x22e)](_0x48c4b4(0x244),{'attempt':_0x4d260a,'requestId':_0x48273b,'error':_0x532000[_0x48c4b4(0x235)],'status':_0x532000[_0x48c4b4(0x20a)]});if(_0x4d260a<this['retryAttempts']){const _0x55dc98=Math['pow'](0x2,_0x4d260a)*0x3e8;this['logger'][_0x48c4b4(0x22e)](_0x48c4b4(0x1f6)+_0x55dc98+'ms',{'attempt':_0x4d260a,'requestId':_0x48273b}),await new Promise(_0x56d976=>setTimeout(_0x56d976,_0x55dc98));}}}this['logger']['error'](_0x48c4b4(0x1e5),{'requestId':_0x48273b,'error':_0x4be58f['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x4be58f[_0x48c4b4(0x235)]);}async[a0_0x4bf198(0x21d)](_0x633271){await new Promise(_0x2a606b=>setTimeout(_0x2a606b,0x64));}async['_handleRateLimit'](_0xfae115){const _0x52c21b=a0_0x4bf198,_0x53a45e=0xea60;this[_0x52c21b(0x1e8)][_0x52c21b(0x238)]('Rate\x20limit\x20exceeded,\x20waiting\x20'+_0x53a45e+'ms',_0xfae115),await new Promise(_0x3e7dc9=>setTimeout(_0x3e7dc9,_0x53a45e));}async[a0_0x4bf198(0x20e)](_0x3a7491){this['_recordFailure']();const _0x3da10d=0x7530;this['logger']['info']('Service\x20unavailable,\x20waiting\x20'+_0x3da10d+'ms',_0x3a7491),await new Promise(_0x2fe648=>setTimeout(_0x2fe648,_0x3da10d));}['_isCircuitBreakerOpen'](){const _0x5154d3=a0_0x4bf198;if(!this['circuitBreaker'][_0x5154d3(0x214)])return![];const _0x4d2e0c=Date[_0x5154d3(0x24d)]()-this['circuitBreaker'][_0x5154d3(0x23a)];if(_0x4d2e0c>this[_0x5154d3(0x259)]['timeout'])return this[_0x5154d3(0x259)][_0x5154d3(0x214)]=![],this['circuitBreaker'][_0x5154d3(0x24f)]=0x0,![];return!![];}[a0_0x4bf198(0x257)](){const _0xc132f7=a0_0x4bf198;this[_0xc132f7(0x259)]['failures']++,this['circuitBreaker'][_0xc132f7(0x23a)]=Date['now'](),this['circuitBreaker'][_0xc132f7(0x24f)]>=this['circuitBreaker'][_0xc132f7(0x22d)]&&(this[_0xc132f7(0x259)][_0xc132f7(0x214)]=!![],this['logger'][_0xc132f7(0x22e)]('Circuit\x20breaker\x20opened\x20due\x20to\x20repeated\x20failures'));}['_resetCircuitBreaker'](){const _0x37abcc=a0_0x4bf198;this[_0x37abcc(0x259)]['failures']>0x0&&(this[_0x37abcc(0x259)][_0x37abcc(0x24f)]=0x0,this['circuitBreaker'][_0x37abcc(0x214)]=![],this['logger'][_0x37abcc(0x238)](_0x37abcc(0x237)));}[a0_0x4bf198(0x1d0)](_0x314e9d){const _0x15940f=a0_0x4bf198;if(!_0x314e9d)return null;const _0x1c1c6c=_0x314e9d[_0x15940f(0x258)]();if(_0x1c1c6c[_0x15940f(0x1fa)](_0x15940f(0x1c7))||_0x1c1c6c['includes'](_0x15940f(0x1da)))return'anthropic';else{if(_0x1c1c6c['includes'](_0x15940f(0x249))||_0x1c1c6c['includes']('gpt'))return _0x15940f(0x249);else{if(_0x1c1c6c['includes'](_0x15940f(0x211)))return _0x15940f(0x211);else{if(_0x1c1c6c['includes']('phi'))return _0x15940f(0x264);}}}return null;}}function a0_0xf1a0(){const _0x4efa4f=['ANnVBG','Bw9KzwXtCgvJCW','BwvZC2fNzq','Cg93','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','Aw5MBW','tM8GqvbjigTLEsbJB25MAwD1CMvK','BgfZDezHAwX1CMvuAw1L','zxjYB3i','mtb3Ce5bv3q','quKGC2vYDMLJzsbLCNjVCJOG','ue9tva','AM9PBG','x2zVCM1HDfnPBMDSzu1LC3nHz2u','B3b0Aw9UCW','y29UDgvUDa','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','sw1Hz2uGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','DMvUzg9YqxbPs2v5','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','B3bLBMfP','z2v0','sfruuca','z2v0s2v5C0zVCLjLCxvLC3q','BM93','C2vZC2LVBKLK','zMfPBhvYzxm','Bw9KzwW','zxjYB3jiyw5KBgvY','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','qu5usfjpueLdx1nptK5fva','AgvHBhrOlwnOzwnR','Dg9vChbLCKnHC2u','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','x3jLy29YzezHAwX1CMu','Dg9mB3DLCKnHC2u','y2LYy3vPDejYzwfRzxi','mJeXndfht09Tr3u','tK9ux0zpvu5e','y2HVAwnLCW','qKfex1jfuvvfu1q','qwXSigf0DgvTChrZihrVihjLywnOigjHy2TLBMqGzMfPBgvKlcb1C2LUzYbTB2nRihjLC3bVBNnL','qu5usfjpueLd','AgLNAa','z2vUzxjHDgvjBwfNzq','x3n1Bw1HCML6zu1LC3nHz2vZ','yxbPs2v5twfUywDLCG','BwLJCM9ZB2z0','zxn0Aw1HDgvKvg9Rzw5Z','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','AxnbCNjHEq','DhjPBq','ueHjxZq','C3LZDgvT','Aw1Nlq','C2v0qxbPs2v5twfUywDLCG','qvPvuKu','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','yw50AhjVCgLJ','x21HA2vjBwfNzufqsvjLCxvLC3q','y3vZDg9TqxbPs2v5CW','nJuYnduWyNfztLnk','t1bftKfj','r1buxZq','BwvZC2fNzxm','BgvUz3rO','y3jLyxrLza','x2DLDfzLBMrVCKzYB21nB2rLBa','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','A2v5CW','ywDLBNrjza','vu5bvvrit1jjwKve','CxvHBgL0Eq','Dw5ZAgLMDa','Dg9ju09tDhjPBMC','C3rVCa','C3rYAw5N','y2XHDwrL','y2vPBa','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','x2zVCM1HDezVCKf6DxjL','mtu0nxfwz3PqrG','mteWntCWr2TlsuHr','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','ChvZAa','BwfW','x3rYDw5JyxrLtwvZC2fNzq','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','C3DPDgnOqwDLBNrnB2rLBa','C3rHDhvZvgv4Da','Bg9Nz2vY','l2nOyxqVy29TCgXLDgLVBNm','vxnHz2uGDhjHy2TPBMCGzMfPBgvKoIa','CMf0zuXPBwL0zxjZ','C3rYzwfT','C2L6zq','y29UzMLN','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','otu2ntHmD0jNBxO','qu5usfjpueLdx09qvvm','twfRAw5NigLTywDLihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','y29UDMvYC2f0Aw9UCW','uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','tw9KzwWGC3DPDgnOigzHAwXLzdOG','uMv0CNLPBMCGAw4G','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','Bg94AwfbCgLlzxK','C3vIC3rY','Aw5JBhvKzxm','qxv0AgvUDgLJyxrPB24GzMfPBgvKic0Gy2HLy2SGqvbjignYzwrLBNrPywXZ','CMvXlq','ywDLBNrqB29S','y29Kzq','CM9Szq','C3vIC3rYAw5N','AgfUzgXLshr0CevYCM9Y','DML2Awq','x2LZvMfSAwrnB2rLBa','yMfJA2vUza','Ahr0Chm6lY9HCgKUBg94AweUywK','DxnHz2u','ode1mZy0AwHerLHf','uMf0zsbSAw1PDcbLEgnLzwrLza','x21HA2vbueLszxf1zxn0','C3rHDhvZ','yNvKz2v0u2vYDMLJzq','C3rHy2S','DhjHy2TvC2fNzq','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','C3rYAw5NAwz5','revfufnfruTFuJe','zgvLChnLzwS','qu5usfjpueLdx0HbsuTv','CMv0CNLbDhrLBxb0CW','AxnpCgvU','ChjVDMLKzxi','nZDRt3L1Cfy','C2vUze1LC3nHz2u','yMfZzvvYBa','ic0G','n1fkvhPWuW','yxP1CMuTB3bLBMfPlwrHBgXLmW','mZe2ntC2DfPXuff5','x2nOzwnRuMf0zuXPBwL0','x2zVCM1HDezVCK9Wzw5bsq','nhfcrLniqG','yxbWBgLJyxrPB24VANnVBG','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','ueHj','rKfmtejbq0S','DgLTzw91Da','x2vZDgLTyxrLvg9Rzw5Z','zgf0yq','C2XPy2u','qwDLBNqGCg9VBcbZzxqGzM9YiefjihnLCNzPy2u','yxbPs2v5','C3rHBMrHCMq','q29UDMvYC2f0Aw9UignVBxbHy3rPEMvKigzVCIbTB2rLBdOG','DgHYzxnOB2XK','D2fYBG','Bwf4vg9Rzw5Z','qKfex0DbvevxqvK','DxnLCG','CgXHDgzVCM1qCM92AwrLza'];a0_0xf1a0=function(){return _0x4efa4f;};return a0_0xf1a0();}class ConversationManager{constructor(_0x2595b1,_0x16d169){const _0x1c38a7=a0_0x4bf198;this[_0x1c38a7(0x1d3)]=_0x2595b1,this[_0x1c38a7(0x1e8)]=_0x16d169,this[_0x1c38a7(0x1f3)]=new Map();}async['switchModel'](_0x1c2199){const _0x39d2b8=a0_0x4bf198;return{'messages':[],'model':_0x1c2199,'lastUpdated':new Date()[_0x39d2b8(0x1d7)]()};}}export default AIService;
|
|
1
|
+
const a0_0x252d00=a0_0x2f8c;(function(_0x37b5c0,_0x3103aa){const _0x505ab9=a0_0x2f8c,_0x4cfb53=_0x37b5c0();while(!![]){try{const _0x50b730=-parseInt(_0x505ab9(0x21b))/0x1*(-parseInt(_0x505ab9(0x1fd))/0x2)+-parseInt(_0x505ab9(0x1b2))/0x3*(-parseInt(_0x505ab9(0x215))/0x4)+parseInt(_0x505ab9(0x21a))/0x5+parseInt(_0x505ab9(0x1a7))/0x6*(-parseInt(_0x505ab9(0x199))/0x7)+parseInt(_0x505ab9(0x1f8))/0x8+parseInt(_0x505ab9(0x1bf))/0x9+-parseInt(_0x505ab9(0x1df))/0xa*(parseInt(_0x505ab9(0x1b8))/0xb);if(_0x50b730===_0x3103aa)break;else _0x4cfb53['push'](_0x4cfb53['shift']());}catch(_0x106617){_0x4cfb53['push'](_0x4cfb53['shift']());}}}(a0_0x5c38,0x3ee4c));function a0_0x2f8c(_0x3fccc2,_0x15a6f8){_0x3fccc2=_0x3fccc2-0x18a;const _0x5c38fa=a0_0x5c38();let _0x2f8c9f=_0x5c38fa[_0x3fccc2];if(a0_0x2f8c['ibqdLZ']===undefined){var _0x2311aa=function(_0x2563c3){const _0x1a0912='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x292262='',_0x172f2b='';for(let _0x4cf816=0x0,_0x48d3bd,_0x1d5747,_0x5200fd=0x0;_0x1d5747=_0x2563c3['charAt'](_0x5200fd++);~_0x1d5747&&(_0x48d3bd=_0x4cf816%0x4?_0x48d3bd*0x40+_0x1d5747:_0x1d5747,_0x4cf816++%0x4)?_0x292262+=String['fromCharCode'](0xff&_0x48d3bd>>(-0x2*_0x4cf816&0x6)):0x0){_0x1d5747=_0x1a0912['indexOf'](_0x1d5747);}for(let _0x27c446=0x0,_0x1b1ef4=_0x292262['length'];_0x27c446<_0x1b1ef4;_0x27c446++){_0x172f2b+='%'+('00'+_0x292262['charCodeAt'](_0x27c446)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x172f2b);};a0_0x2f8c['PYCtIz']=_0x2311aa,a0_0x2f8c['XqERyS']={},a0_0x2f8c['ibqdLZ']=!![];}const _0x1317d2=_0x5c38fa[0x0],_0x4b3c1d=_0x3fccc2+_0x1317d2,_0x2bb1cb=a0_0x2f8c['XqERyS'][_0x4b3c1d];return!_0x2bb1cb?(_0x2f8c9f=a0_0x2f8c['PYCtIz'](_0x2f8c9f),a0_0x2f8c['XqERyS'][_0x4b3c1d]=_0x2f8c9f):_0x2f8c9f=_0x2bb1cb,_0x2f8c9f;}import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x292262,_0x172f2b,_0x4cf816,_0x48d3bd){const _0x3e4454=a0_0x2f8c;this[_0x3e4454(0x1a3)]=_0x292262,this['logger']=_0x172f2b,this[_0x3e4454(0x21c)]=_0x4cf816,this['errorHandler']=_0x48d3bd,this[_0x3e4454(0x20c)]=_0x292262[_0x3e4454(0x227)]?.['baseUrl']||'https://api.loxia.ai',this['timeout']=_0x292262[_0x3e4454(0x227)]?.['timeout']||0xea60,this[_0x3e4454(0x1e3)]=_0x292262[_0x3e4454(0x227)]?.[_0x3e4454(0x1e3)]||0x3,this['rateLimiters']=new Map(),this[_0x3e4454(0x221)]=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this[_0x3e4454(0x1d1)]=this[_0x3e4454(0x1ce)](),this['conversationManagers']=new Map(),this['apiKeyManager']=null,this[_0x3e4454(0x1de)]=null;}async[a0_0x252d00(0x19d)](_0x1d5747,_0x5200fd,_0x27c446={}){const _0x2cac8c=a0_0x252d00,_0x1b1ef4='req-'+Date['now']()+'-'+Math['random']()['toString'](0x24)[_0x2cac8c(0x1ed)](0x2,0x9);try{if(this[_0x2cac8c(0x204)]())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x1d5747);const _0x175c6d=this[_0x2cac8c(0x1dd)](_0x5200fd,_0x1d5747,_0x27c446),_0x9f0548={'model':_0x1d5747,'messages':_0x175c6d,'options':{'max_tokens':this[_0x2cac8c(0x1d1)][_0x1d5747]?.['maxTokens']||0xfa0,'temperature':_0x27c446['temperature']||0.7,'stream':_0x27c446['stream']||![]},'metadata':{'requestId':_0x1b1ef4,'agentId':_0x27c446['agentId'],'timestamp':new Date()['toISOString']()}};_0x27c446[_0x2cac8c(0x1a4)]&&(_0x9f0548['system']=_0x27c446['systemPrompt']);this['logger'][_0x2cac8c(0x1a9)]('Sending\x20message\x20to\x20model:\x20'+_0x1d5747,{'requestId':_0x1b1ef4,'agentId':_0x27c446['agentId'],'messageCount':Array['isArray'](_0x5200fd)?_0x5200fd[_0x2cac8c(0x212)]:0x1,'maxTokens':_0x9f0548['max_tokens']});const _0x5130b5=await this['_makeAPIRequest']('/chat/completions',_0x9f0548,_0x1b1ef4,{..._0x27c446,'sessionId':_0x27c446[_0x2cac8c(0x1ba)],'platformProvided':_0x27c446[_0x2cac8c(0x1b4)]||![]});return _0x5130b5['usage']&&await this[_0x2cac8c(0x1f9)](_0x27c446['agentId'],_0x1d5747,{'prompt_tokens':_0x5130b5[_0x2cac8c(0x1d3)][_0x2cac8c(0x18b)]||0x0,'completion_tokens':_0x5130b5['usage']['completion_tokens']||0x0,'total_tokens':_0x5130b5['usage'][_0x2cac8c(0x205)]||0x0}),this['_resetCircuitBreaker'](),{'content':_0x5130b5[_0x2cac8c(0x1ae)][0x0]?.[_0x2cac8c(0x1cf)]?.[_0x2cac8c(0x1d8)]||'','model':_0x5130b5[_0x2cac8c(0x217)],'tokenUsage':_0x5130b5['usage'],'requestId':_0x1b1ef4,'finishReason':_0x5130b5[_0x2cac8c(0x1ae)][0x0]?.['finish_reason']};}catch(_0x55ec0){this['_recordFailure'](),this['logger']['error'](_0x2cac8c(0x1ac)+_0x55ec0[_0x2cac8c(0x1cf)],{'requestId':_0x1b1ef4,'model':_0x1d5747,'agentId':_0x27c446[_0x2cac8c(0x1a0)],'error':_0x55ec0['stack']}),await this[_0x2cac8c(0x20a)](_0x55ec0,{'requestId':_0x1b1ef4,'model':_0x1d5747,'agentId':_0x27c446['agentId']});throw _0x55ec0;}}async[a0_0x252d00(0x1fe)](_0x1e9b2a,_0x6f2daf={}){const _0x488b40=a0_0x252d00;try{const _0x59cc7d=MODEL_ROUTING[_0x1e9b2a[_0x488b40(0x1da)]()]||MODEL_ROUTING['FALLBACK'],_0x263e0e=[];for(const _0x209422 of _0x59cc7d){const _0x4aa60b=await this['_checkModelHealth'](_0x209422);_0x4aa60b&&_0x263e0e[_0x488b40(0x1ec)](_0x209422);}if(_0x263e0e[_0x488b40(0x212)]===0x0)return this['logger']['warn']('No\x20healthy\x20models\x20available\x20for\x20task:\x20'+_0x1e9b2a+',\x20using\x20fallback'),MODEL_ROUTING[_0x488b40(0x1ad)][0x0];let _0xcd40f=_0x263e0e[0x0];if(_0x6f2daf['preferredModel']&&_0x263e0e[_0x488b40(0x1c8)](_0x6f2daf[_0x488b40(0x1f4)]))_0xcd40f=_0x6f2daf['preferredModel'];else{if(_0x6f2daf['complexity']==='high'&&_0x263e0e[_0x488b40(0x1c8)](MODELS[_0x488b40(0x1f2)]))_0xcd40f=MODELS[_0x488b40(0x1f2)];else _0x6f2daf['speed']==='fast'&&_0x263e0e[_0x488b40(0x1c8)](MODELS[_0x488b40(0x1e7)])&&(_0xcd40f=MODELS[_0x488b40(0x1e7)]);}return this[_0x488b40(0x1b1)]['info'](_0x488b40(0x1e6)+_0x1e9b2a,{'selectedModel':_0xcd40f,'availableModels':_0x263e0e[_0x488b40(0x212)],'context':_0x6f2daf}),_0xcd40f;}catch(_0x48478c){return this['logger']['error']('Model\x20routing\x20failed:\x20'+_0x48478c['message'],{'task':_0x1e9b2a,'context':_0x6f2daf}),MODEL_ROUTING['FALLBACK'][0x0];}}async[a0_0x252d00(0x1d5)](_0x3bcd2f,_0x1ff468){const _0xbbf51a=a0_0x252d00,_0x198f95=this[_0xbbf51a(0x1d1)][_0x1ff468];if(!_0x198f95)throw new Error(_0xbbf51a(0x207)+_0x1ff468);const _0x132423=_0x198f95['contextWindow']*0.8;let _0x27cc2f=0x0;const _0x39d620=[],_0x5c3ac5=await Promise['all'](_0x3bcd2f['map'](async _0x2b2fc4=>({..._0x2b2fc4,'estimatedTokens':await this['_estimateTokens'](_0x2b2fc4['content'],_0x1ff468)}))),_0x34c9e4=[..._0x5c3ac5][_0xbbf51a(0x1e5)]();for(const _0x58e4c9 of _0x34c9e4){if(_0x27cc2f+_0x58e4c9['estimatedTokens']>_0x132423){if(_0x39d620['length']===0x0){const _0x3a1f1c=await this[_0xbbf51a(0x1fb)](_0x58e4c9['content'],_0x132423);_0x39d620[_0xbbf51a(0x1cb)]({..._0x58e4c9,'content':_0x3a1f1c,'estimatedTokens':_0x132423});}break;}_0x39d620['unshift'](_0x58e4c9),_0x27cc2f+=_0x58e4c9[_0xbbf51a(0x1b0)];}const _0x56d9cb=_0x5c3ac5['slice'](0x0,-_0x39d620[_0xbbf51a(0x212)]);if(_0x56d9cb[_0xbbf51a(0x212)]>0x0){const _0x2560fd=await this[_0xbbf51a(0x1f3)](_0x56d9cb,_0x1ff468);_0x39d620[_0xbbf51a(0x1cb)]({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x2560fd,'timestamp':_0x56d9cb[0x0]['timestamp'],'type':'summary','estimatedTokens':await this[_0xbbf51a(0x200)](_0x2560fd,_0x1ff468)});}return this['logger']['info']('Conversation\x20compactized\x20for\x20model:\x20'+_0x1ff468,{'originalMessages':_0x3bcd2f[_0xbbf51a(0x212)],'compactizedMessages':_0x39d620[_0xbbf51a(0x212)],'estimatedTokens':_0x27cc2f,'maxTokens':_0x132423}),_0x39d620;}async[a0_0x252d00(0x1f9)](_0x3f4484,_0xe67996,_0x30c9a1,_0x3f4d2f){const _0x5b7a7d=a0_0x252d00;try{this[_0x5b7a7d(0x21c)]&&this[_0x5b7a7d(0x21c)]['trackUsage'](_0x3f4484,_0xe67996,_0x30c9a1);}catch(_0x4d7436){this[_0x5b7a7d(0x1b1)][_0x5b7a7d(0x18a)](_0x5b7a7d(0x1a5)+_0x4d7436['message']);}}async[a0_0x252d00(0x20a)](_0x1e44e2,_0x40c10e){const _0x2335ea=a0_0x252d00,_0x5d2bb4=this['errorHandler']?.[_0x2335ea(0x1c6)]?.(_0x1e44e2,_0x40c10e);switch(_0x1e44e2[_0x2335ea(0x1b6)]||_0x1e44e2['code']){case HTTP_STATUS['BAD_REQUEST']:this['logger'][_0x2335ea(0x18a)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x40c10e,'error':_0x1e44e2[_0x2335ea(0x1cf)]});throw new Error('Invalid\x20request:\x20'+_0x1e44e2['message']);case HTTP_STATUS['UNAUTHORIZED']:this[_0x2335ea(0x1b1)][_0x2335ea(0x18a)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x40c10e});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error'](_0x2335ea(0x1ff),{'context':_0x40c10e});throw new Error('Access\x20forbidden\x20-\x20insufficient\x20permissions');case HTTP_STATUS['NOT_FOUND']:this['logger']['error']('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x40c10e});throw new Error(_0x2335ea(0x1bb));case HTTP_STATUS[_0x2335ea(0x1c0)]:this['logger'][_0x2335ea(0x193)](_0x2335ea(0x1ca),{'context':_0x40c10e}),await this[_0x2335ea(0x229)](_0x40c10e);throw new Error(_0x2335ea(0x1cd));case HTTP_STATUS['INTERNAL_SERVER_ERROR']:case HTTP_STATUS['BAD_GATEWAY']:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS[_0x2335ea(0x1aa)]:this['logger'][_0x2335ea(0x18a)](_0x2335ea(0x18d),{'context':_0x40c10e,'status':_0x1e44e2['status']}),await this[_0x2335ea(0x1ef)](_0x40c10e);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this['logger'][_0x2335ea(0x18a)]('Unknown\x20AI\x20service\x20error',{'context':_0x40c10e,'error':_0x1e44e2['message']});throw new Error(_0x2335ea(0x1f1)+_0x1e44e2['message']);}}[a0_0x252d00(0x195)](_0x5cdc8c){const _0x88df7c=a0_0x252d00;this['apiKeyManager']=_0x5cdc8c,this['logger']?.[_0x88df7c(0x1a9)](_0x88df7c(0x21d),{'hasManager':!!_0x5cdc8c});}['setAgentPool'](_0x470d2f){const _0x325147=a0_0x252d00;this[_0x325147(0x1de)]=_0x470d2f,this['logger']?.['info'](_0x325147(0x208),{'hasAgentPool':!!_0x470d2f});}async['generateImage'](_0x17487a,_0x5471cb={}){const _0x4c98af=a0_0x252d00,_0x2060ea='img-'+Date['now']()+'-'+Math['random']()[_0x4c98af(0x210)](0x24)[_0x4c98af(0x1ed)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x17487a||typeof _0x17487a!=='string'||_0x17487a[_0x4c98af(0x216)]()['length']===0x0)throw new Error(_0x4c98af(0x1e9));const _0x564b9c=_0x5471cb[_0x4c98af(0x217)]||'flux-1.1-pro',_0x4780a4=_0x5471cb[_0x4c98af(0x1d7)]||'1024x1024',_0x26ced0=_0x5471cb['quality']||'standard',_0x53b488=_0x5471cb['responseFormat']||'url';this['logger']['info']('Generating\x20image\x20with\x20model:\x20'+_0x564b9c,{'requestId':_0x2060ea,'model':_0x564b9c,'size':_0x4780a4,'quality':_0x26ced0,'promptLength':_0x17487a['length']});const _0x235540={'prompt':_0x17487a,'model':_0x564b9c,'size':_0x4780a4,'quality':_0x26ced0,'response_format':_0x53b488,'n':0x1,'metadata':{'requestId':_0x2060ea,'timestamp':new Date()[_0x4c98af(0x20f)]()}},_0xdf3e7d=await this[_0x4c98af(0x18f)](_0x235540,_0x2060ea,{'sessionId':_0x5471cb['sessionId'],'platformProvided':_0x5471cb[_0x4c98af(0x1b4)]||![]});return this[_0x4c98af(0x226)](),{'url':_0xdf3e7d[_0x4c98af(0x1c5)]?.[0x0]?.['url']||null,'b64_json':_0xdf3e7d['data']?.[0x0]?.[_0x4c98af(0x196)]||null,'model':_0xdf3e7d[_0x4c98af(0x217)]||_0x564b9c,'requestId':_0x2060ea,'revisedPrompt':_0xdf3e7d[_0x4c98af(0x1c5)]?.[0x0]?.[_0x4c98af(0x1e2)]||_0x17487a};}catch(_0x52c1d9){this['_recordFailure'](),this['logger'][_0x4c98af(0x18a)](_0x4c98af(0x20d)+_0x52c1d9[_0x4c98af(0x1cf)],{'requestId':_0x2060ea,'model':_0x5471cb[_0x4c98af(0x217)],'error':_0x52c1d9[_0x4c98af(0x18c)]});throw _0x52c1d9;}}async['checkServiceHealth'](){const _0x2eb1f1=a0_0x252d00;try{const _0x34760d=await this['_makeAPIRequest'](_0x2eb1f1(0x1af),{},'health-check');return _0x34760d[_0x2eb1f1(0x1b6)]==='healthy';}catch(_0x3a19f0){return![];}}async['switchAgentModel'](_0x1c975a,_0x408c4f){const _0xf94515=a0_0x252d00;try{if(!this['_isValidModel'](_0x408c4f))throw new Error('Invalid\x20model:\x20'+_0x408c4f);let _0x128021=this[_0xf94515(0x198)][_0xf94515(0x1f6)](_0x1c975a);!_0x128021&&(_0x128021=new ConversationManager(_0x1c975a,this['logger']),this[_0xf94515(0x198)]['set'](_0x1c975a,_0x128021));const _0x40e31d=await _0x128021['switchModel'](_0x408c4f),_0x639576=await this['agentPool']?.[_0xf94515(0x220)](_0x1c975a);return _0x639576&&(_0x639576[_0xf94515(0x213)]=_0x408c4f,await this[_0xf94515(0x1de)][_0xf94515(0x1c4)](_0x1c975a)),this['logger']['info'](_0xf94515(0x194)+_0x1c975a,{'newModel':_0x408c4f,'messageCount':_0x40e31d['messages'][_0xf94515(0x212)]}),{'success':!![],'agentId':_0x1c975a,'newModel':_0x408c4f,'conversation':_0x40e31d};}catch(_0x1e41ee){this[_0xf94515(0x1b1)]['error']('Model\x20switch\x20failed:\x20'+_0x1e41ee[_0xf94515(0x1cf)],{'agentId':_0x1c975a,'newModel':_0x408c4f});throw _0x1e41ee;}}['_initializeModelSpecs'](){const _0x4184fe=a0_0x252d00,_0x1ac642={[MODELS[_0x4184fe(0x1f0)]]:{'provider':MODEL_PROVIDERS[_0x4184fe(0x1c2)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS['ANTHROPIC_OPUS']]:{'provider':MODEL_PROVIDERS[_0x4184fe(0x1c2)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS[_0x4184fe(0x1db)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS[_0x4184fe(0x201)]]:{'provider':MODEL_PROVIDERS[_0x4184fe(0x1e0)],'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[_0x4184fe(0x1e0)],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS[_0x4184fe(0x1e0)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0x4184fe(0x1e0)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x4184fe(0x228)]]:{'provider':MODEL_PROVIDERS[_0x4184fe(0x218)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x4184fe(0x1b9)]]:{'provider':MODEL_PROVIDERS[_0x4184fe(0x1d9)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':_0x4184fe(0x1ee),'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':_0x4184fe(0x1ee),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':'AZURE','contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x1ac642;}[a0_0x252d00(0x1dd)](_0xcd17c3,_0x41d448,_0x26001e){const _0x40b772=a0_0x252d00,_0x836b0c=this[_0x40b772(0x1d1)][_0x41d448]||{'provider':_0x40b772(0x1ee)};let _0x1fdc61;typeof _0xcd17c3===_0x40b772(0x1c3)?_0x1fdc61=[{'role':_0x40b772(0x20e),'content':_0xcd17c3}]:_0x1fdc61=_0xcd17c3['map'](_0x3f6672=>this['_formatSingleMessage'](_0x3f6672,_0x41d448));switch(_0x836b0c[_0x40b772(0x1b3)]){case MODEL_PROVIDERS[_0x40b772(0x1c2)]:return this['_formatForAnthropic'](_0x1fdc61);case MODEL_PROVIDERS[_0x40b772(0x1e0)]:return this['_formatForOpenAI'](_0x1fdc61);case MODEL_PROVIDERS['AZURE']:return this[_0x40b772(0x21e)](_0x1fdc61);default:return _0x1fdc61;}}[a0_0x252d00(0x1ea)](_0x3bdab1,_0x1253b4){const _0x264408=a0_0x252d00;return{'role':_0x3bdab1[_0x264408(0x1a8)]||_0x264408(0x20e),'content':_0x3bdab1['content'],'timestamp':_0x3bdab1['timestamp']};}['_formatForAnthropic'](_0x3b4d17){const _0x21a1f2=a0_0x252d00;return _0x3b4d17[_0x21a1f2(0x1fc)](_0x249cf7=>{const _0x468f34=_0x21a1f2;if(_0x249cf7[_0x468f34(0x1a8)]==='system')return{'role':_0x468f34(0x20e),'content':'System:\x20'+_0x249cf7['content']};return _0x249cf7;});}[a0_0x252d00(0x1bc)](_0x2c7571){return _0x2c7571;}[a0_0x252d00(0x21e)](_0xefc887){const _0x3102c8=a0_0x252d00;return _0xefc887['map'](_0x2ccb97=>({..._0x2ccb97,'content':typeof _0x2ccb97[_0x3102c8(0x1d8)]===_0x3102c8(0x1c3)?_0x2ccb97[_0x3102c8(0x1d8)]:JSON['stringify'](_0x2ccb97[_0x3102c8(0x1d8)])}));}['_isValidModel'](_0x55e3c3){const _0x2a0d7d=a0_0x252d00;this['logger']['debug']('Validating\x20model',{'model':_0x55e3c3,'modelType':typeof _0x55e3c3});if(this[_0x2a0d7d(0x1d1)][_0x55e3c3]!==undefined)return!![];return this['logger'][_0x2a0d7d(0x193)]('Model\x20validation\x20failed',{'model':_0x55e3c3,'availableModels':Object['keys'](this[_0x2a0d7d(0x1d1)])}),![];}async['_checkModelHealth'](_0x47ecad){return!![];}async['_estimateTokens'](_0x3e03b0,_0x23a78d){return Math['ceil'](_0x3e03b0['length']/0x4);}async[a0_0x252d00(0x1fb)](_0x2ee4b3,_0x1af381){const _0x40c2ab=_0x1af381*0x4;if(_0x2ee4b3['length']<=_0x40c2ab)return _0x2ee4b3;return _0x2ee4b3['substring'](0x0,_0x40c2ab-0x14)+'\x0a...\x20[message\x20truncated]';}async['_summarizeMessages'](_0x495de2,_0x26e009){const _0xc8399f=a0_0x252d00,_0x1dabe3=_0x495de2[_0xc8399f(0x1fc)](_0x9d959=>_0x9d959['role']+':\x20'+_0x9d959['content'])['join']('\x0a'),_0x1e00d6=0x1f4;if(_0x1dabe3[_0xc8399f(0x212)]<=_0x1e00d6)return _0x1dabe3;return _0x1dabe3[_0xc8399f(0x1d0)](0x0,_0x1e00d6)+'...\x20[conversation\x20summary\x20truncated]';}async['_makeAPIRequest'](_0x48b9a9,_0x49023e,_0x597352,_0x5bf5c9={}){const _0x5794df=a0_0x252d00,_0x3c57db=_0x5794df(0x202);let _0x48feb6,_0x457a22=null,_0x4938b3=null;this[_0x5794df(0x1b1)]?.['info'](_0x5794df(0x1c1),{'hasApiKeyManager':!!this[_0x5794df(0x219)],'sessionId':_0x5bf5c9[_0x5794df(0x1ba)],'hasSessionId':!!_0x5bf5c9['sessionId'],'optionsKeys':Object[_0x5794df(0x191)](_0x5bf5c9),'model':_0x49023e['model']});if(this['apiKeyManager']&&_0x5bf5c9[_0x5794df(0x1ba)]){const _0x3b95f4=this['apiKeyManager'][_0x5794df(0x19f)](_0x5bf5c9[_0x5794df(0x1ba)],{'platformProvided':_0x5bf5c9[_0x5794df(0x1b4)]||![],'vendor':this[_0x5794df(0x1f5)](_0x49023e[_0x5794df(0x217)])});_0x457a22=_0x3b95f4[_0x5794df(0x209)],_0x4938b3=_0x3b95f4[_0x5794df(0x1d4)],this['logger']?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x5bf5c9['sessionId'],'hasLoxiaKey':!!_0x457a22,'hasVendorKey':!!_0x4938b3,'vendor':this[_0x5794df(0x1f5)](_0x49023e['model'])});}!_0x457a22&&_0x5bf5c9['apiKey']&&(_0x457a22=_0x5bf5c9[_0x5794df(0x1fa)]);!_0x457a22&&this[_0x5794df(0x1a3)][_0x5794df(0x1fa)]&&(_0x457a22=this['config']['apiKey']);if(!_0x457a22)throw new Error(_0x5794df(0x211));const _0xf1283c=_0x49023e['model'],_0x7ae8de={'conversationId':_0x597352,'message':_0x49023e[_0x5794df(0x18e)][_0x49023e[_0x5794df(0x18e)]['length']-0x1]?.['content']||'','messages':_0x49023e[_0x5794df(0x18e)],'model':_0xf1283c,'requestId':_0x597352,'options':_0x49023e[_0x5794df(0x1c9)]||{},'platformProvided':_0x5bf5c9[_0x5794df(0x1b4)]||![]};_0x49023e['system']&&(_0x7ae8de['systemPrompt']=_0x49023e[_0x5794df(0x1dc)]);_0x5bf5c9[_0x5794df(0x1b4)]?_0x7ae8de[_0x5794df(0x1fa)]=_0x457a22:(_0x4938b3&&(_0x7ae8de[_0x5794df(0x1d4)]=_0x4938b3),_0x5bf5c9['customApiKeys']&&(_0x7ae8de[_0x5794df(0x197)]=_0x5bf5c9[_0x5794df(0x197)]),_0x7ae8de['apiKey']=_0x457a22);for(let _0x4a4b04=0x1;_0x4a4b04<=this['retryAttempts'];_0x4a4b04++){try{this[_0x5794df(0x1b1)]['info'](_0x5794df(0x1e8),{'url':_0x3c57db,'model':_0x49023e['model'],'requestId':_0x597352,'attempt':_0x4a4b04,'hasApiKey':!!_0x457a22});const _0x28d4ee=await fetch(_0x3c57db,{'method':'POST','headers':{'Content-Type':_0x5794df(0x1e1),'Authorization':_0x5794df(0x1c7)+_0x457a22,'X-Request-ID':_0x597352},'body':JSON[_0x5794df(0x19c)](_0x7ae8de),'timeout':this['timeout']});if(!_0x28d4ee['ok']){const _0x4d0b69=await _0x28d4ee['text'](),_0x581cd6=new Error(_0x5794df(0x19a)+_0x28d4ee[_0x5794df(0x1b6)]+':\x20'+_0x28d4ee[_0x5794df(0x1a2)]+(_0x4d0b69?_0x5794df(0x1a6)+_0x4d0b69:''));_0x581cd6[_0x5794df(0x1b6)]=_0x28d4ee['status'];throw _0x581cd6;}const _0x5ce431=await _0x28d4ee[_0x5794df(0x192)]();return{'choices':[{'message':{'content':_0x5ce431['content']||'','role':'assistant'},'finish_reason':_0x5ce431['finishReason']||'stop'}],'usage':_0x5ce431['usage']||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x5ce431['model']||_0x49023e[_0x5794df(0x217)],'id':_0x5ce431['requestId']||_0x597352};}catch(_0xf23a32){_0x48feb6=_0xf23a32,this[_0x5794df(0x1b1)][_0x5794df(0x193)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x4a4b04,'requestId':_0x597352,'error':_0xf23a32['message'],'status':_0xf23a32[_0x5794df(0x1b6)]});if(_0x4a4b04<this['retryAttempts']){const _0x5e9064=Math[_0x5794df(0x225)](0x2,_0x4a4b04)*0x3e8;this['logger'][_0x5794df(0x193)]('Retrying\x20in\x20'+_0x5e9064+'ms',{'attempt':_0x4a4b04,'requestId':_0x597352}),await new Promise(_0x4ff2ef=>setTimeout(_0x4ff2ef,_0x5e9064));}}}this[_0x5794df(0x1b1)][_0x5794df(0x18a)]('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x597352,'error':_0x48feb6[_0x5794df(0x1cf)]});const _0x583231=_0x48feb6[_0x5794df(0x1cf)]&&_0x48feb6['message'][_0x5794df(0x1c8)]('No\x20API\x20key\x20configured');if(_0x583231)throw new Error(_0x5794df(0x223)+_0x48feb6['message']);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x48feb6['message'],'role':_0x5794df(0x20b)},'finish_reason':_0x5794df(0x214)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x49023e[_0x5794df(0x217)],'id':_0x5794df(0x206)+_0x597352,'error':_0x48feb6[_0x5794df(0x1cf)]};}async['_makeImageAPIRequest'](_0x5dd71f,_0x2c696a,_0x1c85a6={}){const _0x4f0a93=a0_0x252d00,_0xbbab4d=_0x4f0a93(0x1ab);let _0x3d5fa6,_0x49b2b4=null,_0x3108df=null;this[_0x4f0a93(0x1b1)]?.[_0x4f0a93(0x1a9)]('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this[_0x4f0a93(0x219)],'sessionId':_0x1c85a6[_0x4f0a93(0x1ba)],'hasSessionId':!!_0x1c85a6[_0x4f0a93(0x1ba)],'model':_0x5dd71f[_0x4f0a93(0x217)]});if(this['apiKeyManager']&&_0x1c85a6[_0x4f0a93(0x1ba)]){const _0x582b65=this['apiKeyManager'][_0x4f0a93(0x19f)](_0x1c85a6['sessionId'],{'platformProvided':_0x1c85a6[_0x4f0a93(0x1b4)]||![],'vendor':this[_0x4f0a93(0x1f5)](_0x5dd71f['model'])});_0x49b2b4=_0x582b65['loxiaApiKey'],_0x3108df=_0x582b65[_0x4f0a93(0x1d4)],this[_0x4f0a93(0x1b1)]?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x1c85a6['sessionId'],'hasLoxiaKey':!!_0x49b2b4,'hasVendorKey':!!_0x3108df});}!_0x49b2b4&&_0x1c85a6['apiKey']&&(_0x49b2b4=_0x1c85a6['apiKey']);!_0x49b2b4&&this[_0x4f0a93(0x1a3)]['apiKey']&&(_0x49b2b4=this['config']['apiKey']);if(!_0x49b2b4)throw new Error(_0x4f0a93(0x211));const _0x23bbcc={'prompt':_0x5dd71f[_0x4f0a93(0x1b5)],'model':_0x5dd71f['model']||'azure-openai-dalle3','size':_0x5dd71f['size'],'quality':_0x5dd71f[_0x4f0a93(0x21f)],'style':_0x5dd71f['style']||'vivid','n':_0x5dd71f['n']||0x1,'requestId':_0x2c696a};for(let _0x336fa1=0x1;_0x336fa1<=this['retryAttempts'];_0x336fa1++){try{this[_0x4f0a93(0x1b1)][_0x4f0a93(0x1a9)](_0x4f0a93(0x19b),{'url':_0xbbab4d,'model':_0x5dd71f[_0x4f0a93(0x217)],'requestId':_0x2c696a,'attempt':_0x336fa1,'hasApiKey':!!_0x49b2b4});const _0x2f1b1c=await fetch(_0xbbab4d,{'method':'POST','headers':{'Content-Type':_0x4f0a93(0x1e1),'Authorization':'Bearer\x20'+_0x49b2b4,'X-Request-ID':_0x2c696a},'body':JSON['stringify'](_0x23bbcc),'timeout':this['timeout']*0x2});if(!_0x2f1b1c['ok']){const _0xf731fc=await _0x2f1b1c['text'](),_0x24106c=new Error(_0x4f0a93(0x19a)+_0x2f1b1c['status']+':\x20'+_0x2f1b1c['statusText']+(_0xf731fc?'\x20-\x20'+_0xf731fc:''));_0x24106c['status']=_0x2f1b1c[_0x4f0a93(0x1b6)];throw _0x24106c;}const _0x5dd1c4=await _0x2f1b1c['json']();return{'data':_0x5dd1c4['images']||[],'model':_0x5dd1c4['model']||_0x5dd71f['model'],'created':_0x5dd1c4[_0x4f0a93(0x1cc)]||Date['now'](),'usage':_0x5dd1c4['usage']};}catch(_0x45a9ea){_0x3d5fa6=_0x45a9ea,this['logger']['warn']('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x336fa1,'requestId':_0x2c696a,'error':_0x45a9ea[_0x4f0a93(0x1cf)],'status':_0x45a9ea['status']});if(_0x336fa1<this['retryAttempts']){const _0x569d5b=Math[_0x4f0a93(0x225)](0x2,_0x336fa1)*0x3e8;this[_0x4f0a93(0x1b1)][_0x4f0a93(0x193)](_0x4f0a93(0x203)+_0x569d5b+'ms',{'attempt':_0x336fa1,'requestId':_0x2c696a}),await new Promise(_0x472ca3=>setTimeout(_0x472ca3,_0x569d5b));}}}this['logger'][_0x4f0a93(0x18a)](_0x4f0a93(0x1f7),{'requestId':_0x2c696a,'error':_0x3d5fa6['message']});throw new Error('Image\x20generation\x20failed:\x20'+_0x3d5fa6[_0x4f0a93(0x1cf)]);}async['_checkRateLimit'](_0x3a4397){await new Promise(_0x1a4f3c=>setTimeout(_0x1a4f3c,0x64));}async[a0_0x252d00(0x229)](_0x6da084){const _0x5eecb1=a0_0x252d00,_0x1d8201=0xea60;this[_0x5eecb1(0x1b1)][_0x5eecb1(0x1a9)]('Rate\x20limit\x20exceeded,\x20waiting\x20'+_0x1d8201+'ms',_0x6da084),await new Promise(_0x48a04b=>setTimeout(_0x48a04b,_0x1d8201));}async['_handleServiceUnavailable'](_0x4708c9){const _0xc709d=a0_0x252d00;this[_0xc709d(0x1be)]();const _0x192c37=0x7530;this[_0xc709d(0x1b1)]['info']('Service\x20unavailable,\x20waiting\x20'+_0x192c37+'ms',_0x4708c9),await new Promise(_0x4cd481=>setTimeout(_0x4cd481,_0x192c37));}['_isCircuitBreakerOpen'](){const _0x246bcb=a0_0x252d00;if(!this[_0x246bcb(0x1a1)]['isOpen'])return![];const _0x1ee5fe=Date['now']()-this[_0x246bcb(0x1a1)][_0x246bcb(0x1e4)];if(_0x1ee5fe>this[_0x246bcb(0x1a1)]['timeout'])return this['circuitBreaker']['isOpen']=![],this[_0x246bcb(0x1a1)][_0x246bcb(0x222)]=0x0,![];return!![];}[a0_0x252d00(0x1be)](){const _0x457923=a0_0x252d00;this['circuitBreaker'][_0x457923(0x222)]++,this[_0x457923(0x1a1)]['lastFailureTime']=Date[_0x457923(0x19e)](),this['circuitBreaker']['failures']>=this['circuitBreaker'][_0x457923(0x224)]&&(this[_0x457923(0x1a1)][_0x457923(0x1b7)]=!![],this[_0x457923(0x1b1)]['warn']('Circuit\x20breaker\x20opened\x20due\x20to\x20repeated\x20failures'));}['_resetCircuitBreaker'](){const _0x5491a9=a0_0x252d00;this[_0x5491a9(0x1a1)]['failures']>0x0&&(this[_0x5491a9(0x1a1)]['failures']=0x0,this['circuitBreaker'][_0x5491a9(0x1b7)]=![],this[_0x5491a9(0x1b1)]['info']('Circuit\x20breaker\x20reset\x20-\x20service\x20recovered'));}[a0_0x252d00(0x1f5)](_0x25d10f){const _0xe0c0aa=a0_0x252d00;if(!_0x25d10f)return null;const _0x30f497=_0x25d10f['toLowerCase']();if(_0x30f497[_0xe0c0aa(0x1c8)](_0xe0c0aa(0x1d6))||_0x30f497[_0xe0c0aa(0x1c8)]('claude'))return _0xe0c0aa(0x1d6);else{if(_0x30f497[_0xe0c0aa(0x1c8)](_0xe0c0aa(0x1eb))||_0x30f497[_0xe0c0aa(0x1c8)]('gpt'))return'openai';else{if(_0x30f497[_0xe0c0aa(0x1c8)](_0xe0c0aa(0x190)))return'deepseek';else{if(_0x30f497[_0xe0c0aa(0x1c8)]('phi'))return _0xe0c0aa(0x1bd);}}}return null;}}class ConversationManager{constructor(_0x43fe35,_0x15ff6c){const _0x1e6340=a0_0x252d00;this['agentId']=_0x43fe35,this[_0x1e6340(0x1b1)]=_0x15ff6c,this[_0x1e6340(0x1d2)]=new Map();}async['switchModel'](_0x5d813c){return{'messages':[],'model':_0x5d813c,'lastUpdated':new Date()['toISOString']()};}}function a0_0x5c38(){const _0x580651=['qu5usfjpueLd','C3rYAw5N','CgvYC2LZDefNzw50u3rHDgu','zgf0yq','y2XHC3nPzNLfCNjVCG','qMvHCMvYia','Aw5JBhvKzxm','B3b0Aw9UCW','uMf0zsbSAw1PDcbLEgnLzwrLza','Dw5ZAgLMDa','y3jLyxrLza','uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','BwvZC2fNzq','C3vIC3rYAw5N','Bw9KzwXtCgvJCW','y29UDMvYC2f0Aw9UCW','DxnHz2u','DMvUzg9YqxbPs2v5','y29TCgfJDgL6zunVBNzLCNnHDgLVBG','yw50AhjVCgLJ','C2L6zq','y29UDgvUDa','ueHj','Dg9vChbLCKnHC2u','r1buxZq','C3LZDgvT','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','ywDLBNrqB29S','mtm3ntmXmgHNuK5UvW','t1bftKfj','yxbWBgLJyxrPB24VANnVBG','CMv2AxnLzf9WCM9TChq','CMv0CNLbDhrLBxb0CW','BgfZDezHAwX1CMvuAw1L','CMv2zxjZzq','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','qu5usfjpueLdx0HbsuTv','twfRAw5NihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','x2zVCM1HDfnPBMDSzu1LC3nHz2u','B3bLBMfP','ChvZAa','C3vIC3rY','qvPvuKu','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','qu5usfjpueLdx1nptK5fva','quKGC2vYDMLJzsbLCNjVCJOG','qu5usfjpueLdx09qvvm','x3n1Bw1HCML6zu1LC3nHz2vZ','ChjLzMvYCMvKtw9KzwW','x2DLDfzLBMrVCKzYB21nB2rLBa','z2v0','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','mJyWotG4ohrQz21Azq','DhjHy2TvC2fNzq','yxbPs2v5','x3rYDw5JyxrLtwvZC2fNzq','BwfW','mMjswNLWuG','CM91DgvnB2rLBa','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','x2vZDgLTyxrLvg9Rzw5Z','r1buxZrFtuLosq','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9JAgf0','uMv0CNLPBMCGAw4G','x2LZq2LYy3vPDejYzwfRzxjpCgvU','Dg90ywXFDg9Rzw5Z','zxjYB3iT','vw5RBM93BIbTB2rLBdOG','qwDLBNqGCg9VBcbZzxqGzM9YiefjihnLCNzPy2u','Bg94AwfbCgLlzxK','AgfUzgXLshr0CevYCM9Y','yxnZAxn0yw50','yMfZzvvYBa','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','DxnLCG','Dg9ju09tDhjPBMC','Dg9tDhjPBMC','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','BgvUz3rO','y3vYCMvUDe1VzgvS','C3rVCa','nJq4ndrpqNjjvNi','DhjPBq','Bw9KzwW','revfufnfruS','yxbPs2v5twfUywDLCG','oduXotCWq2DjC0jt','mtq2nZiXsfDZvgHf','yNvKz2v0u2vYDMLJzq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGquKGC2vYDMLJzq','x2zVCM1HDezVCKf6DxjL','CxvHBgL0Eq','z2v0qwDLBNq','CMvXDwvZDff1zxvL','zMfPBhvYzxm','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','DgHYzxnOB2XK','Cg93','x3jLC2v0q2LYy3vPDejYzwfRzxi','yMfJA2vUza','revfufnfruTFuJe','x2HHBMrSzvjHDgvmAw1PDa','zxjYB3i','ChjVBxb0x3rVA2vUCW','C3rHy2S','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','BwvZC2fNzxm','x21HA2vjBwfNzufqsvjLCxvLC3q','zgvLChnLzwS','A2v5CW','ANnVBG','D2fYBG','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','C2v0qxbPs2v5twfUywDLCG','yJy0x2PZB24','y3vZDg9TqxbPs2v5CW','y29UDMvYC2f0Aw9UtwfUywDLCNm','ndLrBeHnvhi','sfruuca','twfRAw5NigLTywDLihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','C3rYAw5NAwz5','C2vUze1LC3nHz2u','BM93','z2v0s2v5C0zVCLjLCxvLC3q','ywDLBNrjza','y2LYy3vPDejYzwfRzxi','C3rHDhvZvgv4Da','y29UzMLN','C3LZDgvTuhjVBxb0','vxnHz2uGDhjHy2TPBMCGzMfPBgvKoIa','ic0G','nJy0mtroEhbgvfy','CM9Szq','Aw5MBW','r0furvDbwv9usu1ft1vu','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','rKfmtejbq0S','y2HVAwnLCW','l2HLywX0Aa','zxn0Aw1HDgvKvg9Rzw5Z','Bg9Nz2vY','mtHVweT0tNe','ChjVDMLKzxi','CgXHDgzVCM1qCM92AwrLza','ChjVBxb0','C3rHDhvZ','AxnpCgvU','mZn5tgXWsxe','ueHjxZq','C2vZC2LVBKLK','u2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','x2zVCM1HDezVCK9Wzw5bsq','BwLJCM9ZB2z0','x3jLy29YzezHAwX1CMu','nJm2mZLjyxrhwxG','ve9px01btLLFuKvrvuvtvfm','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq'];a0_0x5c38=function(){return _0x580651;};return a0_0x5c38();}export default AIService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x370ab2=a0_0x24f9;(function(_0xbf610e,_0x364a21){const _0x46193e=a0_0x24f9,_0x25bb3f=_0xbf610e();while(!![]){try{const _0x4199cc=parseInt(_0x46193e(0x1c9))/0x1+parseInt(_0x46193e(0x1cd))/0x2+-parseInt(_0x46193e(0x1c7))/0x3*(parseInt(_0x46193e(0x1d3))/0x4)+-parseInt(_0x46193e(0x1cb))/0x5*(parseInt(_0x46193e(0x1d7))/0x6)+parseInt(_0x46193e(0x1c8))/0x7*(-parseInt(_0x46193e(0x1d5))/0x8)+-parseInt(_0x46193e(0x1d4))/0x9+parseInt(_0x46193e(0x1d6))/0xa;if(_0x4199cc===_0x364a21)break;else _0x25bb3f['push'](_0x25bb3f['shift']());}catch(_0x3f5aaa){_0x25bb3f['push'](_0x25bb3f['shift']());}}}(a0_0xa6e2,0xc96bd));class ApiKeyManager{constructor(_0x298352){const _0x202f26=a0_0x24f9;this[_0x202f26(0x1df)]=_0x298352,this[_0x202f26(0x1bd)]=new Map(),this['globalKeys']={'loxiaApiKey':null,'vendorKeys':{}};}[a0_0x370ab2(0x1bc)](_0x2a1547,_0x41aa9e){const _0x27ecf5=a0_0x370ab2;if(!_0x2a1547)throw new Error(_0x27ecf5(0x1d9));this['sessionKeys']['set'](_0x2a1547,{'loxiaApiKey':_0x41aa9e[_0x27ecf5(0x1c5)]||null,'vendorKeys':_0x41aa9e[_0x27ecf5(0x1ca)]||{},'updatedAt':new Date()['toISOString']()}),this['logger']?.[_0x27ecf5(0x1db)]('API\x20keys\x20updated\x20for\x20session',{'sessionId':_0x2a1547,'hasLoxiaKey':!!_0x41aa9e['loxiaApiKey'],'vendorKeys':Object[_0x27ecf5(0x1c4)](_0x41aa9e[_0x27ecf5(0x1ca)]||{}),'timestamp':new Date()[_0x27ecf5(0x1c2)]()});}['getSessionKeys'](_0x1c3fb8){if(!_0x1c3fb8)return this['globalKeys'];const _0x450571=this['sessionKeys']['get'](_0x1c3fb8);if(_0x450571)return _0x450571;return this['globalKeys'];}[a0_0x370ab2(0x1cc)](_0x343aa0,_0x3f29cf={}){const _0x103af1=a0_0x370ab2,_0x5d68ee=this[_0x103af1(0x1dc)](_0x343aa0),_0x571c27={'loxiaApiKey':_0x5d68ee[_0x103af1(0x1c5)],'vendorApiKey':null};return!_0x3f29cf['platformProvided']&&_0x3f29cf[_0x103af1(0x1be)]&&_0x5d68ee['vendorKeys']&&(_0x571c27[_0x103af1(0x1d2)]=_0x5d68ee[_0x103af1(0x1ca)][_0x3f29cf['vendor']]),_0x571c27;}['removeSessionKeys'](_0x7127f){const _0x1bff44=a0_0x370ab2;if(this['sessionKeys'][_0x1bff44(0x1c3)](_0x7127f))return this['logger']?.['info'](_0x1bff44(0x1c1),{'sessionId':_0x7127f}),!![];return![];}['setGlobalKeys'](_0x419862){const _0x30d41c=a0_0x370ab2;this[_0x30d41c(0x1d1)]={'loxiaApiKey':_0x419862[_0x30d41c(0x1c5)]||this[_0x30d41c(0x1d1)]['loxiaApiKey'],'vendorKeys':{...this[_0x30d41c(0x1d1)]['vendorKeys'],..._0x419862[_0x30d41c(0x1ca)]||{}}},this[_0x30d41c(0x1df)]?.['info'](_0x30d41c(0x1de),{'hasLoxiaKey':!!this[_0x30d41c(0x1d1)]['loxiaApiKey'],'vendorKeys':Object['keys'](this['globalKeys'][_0x30d41c(0x1ca)])});}[a0_0x370ab2(0x1c0)](){const _0x588fb8=a0_0x370ab2;return Array['from'](this['sessionKeys'][_0x588fb8(0x1c6)]())[_0x588fb8(0x1bf)](([_0x54d0ac,_0x23956e])=>({'sessionId':_0x54d0ac,'hasLoxiaKey':!!_0x23956e['loxiaApiKey'],'vendorKeys':Object[_0x588fb8(0x1c4)](_0x23956e['vendorKeys']||{}),'updatedAt':_0x23956e[_0x588fb8(0x1dd)]}));}['cleanupExpiredSessions'](_0x2ad23f=0x18*0x3c*0x3c*0x3e8){const _0xc66e35=a0_0x370ab2,_0x240c1d=Date[_0xc66e35(0x1d8)](),_0x1c0d8f=[];for(const [_0x15809e,_0x145c54]of this[_0xc66e35(0x1bd)][_0xc66e35(0x1c6)]()){const _0x1a76cf=_0x240c1d-new Date(_0x145c54[_0xc66e35(0x1dd)])[_0xc66e35(0x1ce)]();_0x1a76cf>_0x2ad23f&&_0x1c0d8f[_0xc66e35(0x1da)](_0x15809e);}return _0x1c0d8f[_0xc66e35(0x1d0)](_0x3cd244=>{const _0x3bee5c=_0xc66e35;this[_0x3bee5c(0x1bd)][_0x3bee5c(0x1c3)](_0x3cd244);}),_0x1c0d8f['length']>0x0&&this[_0xc66e35(0x1df)]?.[_0xc66e35(0x1db)]('Cleaned\x20up\x20expired\x20API\x20key\x20sessions',{'expiredSessions':_0x1c0d8f['length'],'remainingSessions':this['sessionKeys'][_0xc66e35(0x1cf)]}),_0x1c0d8f['length'];}}function a0_0xa6e2(){const _0x279e45=['nZy4mJi1uKLeu3DQ','DMvUzg9Ys2v5CW','nJvTA05ptuW','z2v0s2v5C0zVCLjLCxvLC3q','mJC4odm1ng5TquPWBW','z2v0vgLTzq','C2L6zq','zM9YrwfJAa','z2XVyMfSs2v5CW','DMvUzg9YqxbPs2v5','mtq5mML2AuTTAq','ndK3nJC5m2XmDujoDG','mtzStKTWrwK','mtC3mdyWnZbmtuHMuw4','nJiYmZi2CKzvr3zP','BM93','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','ChvZAa','Aw5MBW','z2v0u2vZC2LVBKTLExm','DxbKyxrLzef0','r2XVyMfSiefqssbRzxLZihvWzgf0zwq','Bg9Nz2vY','C2v0u2vZC2LVBKTLExm','C2vZC2LVBKTLExm','DMvUzg9Y','BwfW','z2v0qwn0AxzLu2vZC2LVBNm','qvbjigTLExmGCMvTB3zLzcbMB3iGC2vZC2LVBG','Dg9ju09tDhjPBMC','zgvSzxrL','A2v5CW','Bg94AwfbCgLlzxK','zw50CMLLCW','otuXnMfsy2PmCG','odiXodD5v2v0t3e'];a0_0xa6e2=function(){return _0x279e45;};return a0_0xa6e2();}function a0_0x24f9(_0x53e4f3,_0x1f53a5){_0x53e4f3=_0x53e4f3-0x1bc;const _0xa6e2e=a0_0xa6e2();let _0x24f9bf=_0xa6e2e[_0x53e4f3];if(a0_0x24f9['gQlqmo']===undefined){var _0x2fbcab=function(_0xf15492){const _0x4392e3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x298352='',_0x2a1547='';for(let _0x41aa9e=0x0,_0x1c3fb8,_0x450571,_0x343aa0=0x0;_0x450571=_0xf15492['charAt'](_0x343aa0++);~_0x450571&&(_0x1c3fb8=_0x41aa9e%0x4?_0x1c3fb8*0x40+_0x450571:_0x450571,_0x41aa9e++%0x4)?_0x298352+=String['fromCharCode'](0xff&_0x1c3fb8>>(-0x2*_0x41aa9e&0x6)):0x0){_0x450571=_0x4392e3['indexOf'](_0x450571);}for(let _0x3f29cf=0x0,_0x5d68ee=_0x298352['length'];_0x3f29cf<_0x5d68ee;_0x3f29cf++){_0x2a1547+='%'+('00'+_0x298352['charCodeAt'](_0x3f29cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a1547);};a0_0x24f9['GZZAlc']=_0x2fbcab,a0_0x24f9['kaiysj']={},a0_0x24f9['gQlqmo']=!![];}const _0x2c6315=_0xa6e2e[0x0],_0x43e99c=_0x53e4f3+_0x2c6315,_0x417b3d=a0_0x24f9['kaiysj'][_0x43e99c];return!_0x417b3d?(_0x24f9bf=a0_0x24f9['GZZAlc'](_0x24f9bf),a0_0x24f9['kaiysj'][_0x43e99c]=_0x24f9bf):_0x24f9bf=_0x417b3d,_0x24f9bf;}export default ApiKeyManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2d2047=a0_0x57ee;function a0_0x3f90(){const _0x309693=['mtbPthjZBNe','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','DMfSDwvZ','nZmWn2fLCgf0Eq','nJu3ota2CxDzBMPO','yxbWBgLJyxrPB24VANnVBG','Aw5MBW','C3bLzwq','zMLSDgvY','Bg9HzejLBMnOBwfYA3m','zgvIDwC','BMfTzq','mZros0LHEvu','BMvLzhnszwzYzxnO','ntzJEhv0zxy','AxnmB2fKAw5N','Bw9KzwXZ','y29KAw5N','ndi3mZC3nxfAB091CW','BgvUz3rO','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza','nde1ndy3sKj1uMPw','CMvMCMvZAeLUDgvYDMfS','yxP1CMvcywnRzw5KvxjS','BwfW','Dw5RBM93BG','yxbPs2v5','mJe3mdK2mKTQvhnfuG','zM9Yy2vszwzYzxnO','ndG4uu5VyNj2','nJm1nJverKHetvq','mZqZn0r1CwLqwa','Bg9Nz2vY','BgfZDfvWzgf0zwq','sfruuca','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','x2DLDejLC3rnB2rLBezVCLrHC2S','y29ZDa','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','CxvPy2STDgfZA3m','DgfZA3m','yMvUy2HTyxjRCW','z2v0qMvUy2HTyxjRCW','y29UzMLN','Aw5PDgLHBgL6zq','Bwf4','BwvZC2fNzq','C2nVCMu','C29YDa','C291CMnL','z2v0qMvUy2HTyxjRvgfIBgu'];a0_0x3f90=function(){return _0x309693;};return a0_0x3f90();}(function(_0x34bcbf,_0x4e81ea){const _0xcccd24=a0_0x57ee,_0x2e9b9e=_0x34bcbf();while(!![]){try{const _0x4a03e5=-parseInt(_0xcccd24(0xfd))/0x1*(-parseInt(_0xcccd24(0x106))/0x2)+-parseInt(_0xcccd24(0xdc))/0x3+parseInt(_0xcccd24(0x108))/0x4*(parseInt(_0xcccd24(0xe5))/0x5)+-parseInt(_0xcccd24(0xfe))/0x6+-parseInt(_0xcccd24(0xe6))/0x7*(-parseInt(_0xcccd24(0xe4))/0x8)+-parseInt(_0xcccd24(0xe2))/0x9+parseInt(_0xcccd24(0xfa))/0xa*(parseInt(_0xcccd24(0x10c))/0xb);if(_0x4a03e5===_0x4e81ea)break;else _0x2e9b9e['push'](_0x2e9b9e['shift']());}catch(_0xf7d4d9){_0x2e9b9e['push'](_0x2e9b9e['shift']());}}}(a0_0x3f90,0x38797));import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';function a0_0x57ee(_0x449c59,_0x5c9ccf){_0x449c59=_0x449c59-0xdc;const _0x3f90df=a0_0x3f90();let _0x57ee25=_0x3f90df[_0x449c59];if(a0_0x57ee['FhcBYQ']===undefined){var _0x59224a=function(_0x528e6c){const _0x2fa286='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xddb1b2='',_0x2462e5='';for(let _0x4903fe=0x0,_0x545731,_0x4fc8aa,_0x567f73=0x0;_0x4fc8aa=_0x528e6c['charAt'](_0x567f73++);~_0x4fc8aa&&(_0x545731=_0x4903fe%0x4?_0x545731*0x40+_0x4fc8aa:_0x4fc8aa,_0x4903fe++%0x4)?_0xddb1b2+=String['fromCharCode'](0xff&_0x545731>>(-0x2*_0x4903fe&0x6)):0x0){_0x4fc8aa=_0x2fa286['indexOf'](_0x4fc8aa);}for(let _0x13fc85=0x0,_0x2d37df=_0xddb1b2['length'];_0x13fc85<_0x2d37df;_0x13fc85++){_0x2462e5+='%'+('00'+_0xddb1b2['charCodeAt'](_0x13fc85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2462e5);};a0_0x57ee['TIKFIL']=_0x59224a,a0_0x57ee['IbNYMr']={},a0_0x57ee['FhcBYQ']=!![];}const _0x187f80=_0x3f90df[0x0],_0x51900c=_0x449c59+_0x187f80,_0x257367=a0_0x57ee['IbNYMr'][_0x51900c];return!_0x257367?(_0x57ee25=a0_0x57ee['TIKFIL'](_0x57ee25),a0_0x57ee['IbNYMr'][_0x51900c]=_0x57ee25):_0x57ee25=_0x257367,_0x57ee25;}class BenchmarkService{constructor(_0xddb1b2,_0x2462e5){const _0x5bc36a=a0_0x57ee;this[_0x5bc36a(0xf2)]=_0xddb1b2,this['logger']=_0x2462e5,this['benchmarks']=null,this['lastUpdated']=null,this[_0x5bc36a(0x109)]=![],this[_0x5bc36a(0xde)]='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG[_0x5bc36a(0xfb)];}async[a0_0x2d2047(0xf3)](){const _0x29a291=a0_0x2d2047;try{await this['loadBenchmarks'](),this['_scheduleRefresh'](),this['logger'][_0x29a291(0x100)]('Benchmark\x20service\x20initialized');}catch(_0x4903fe){this['logger']['error']('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x4903fe[_0x29a291(0xf5)]}),this[_0x29a291(0xf0)]=null;}}[a0_0x2d2047(0xf1)](){const _0x2b41d7=a0_0x2d2047;if(!this['benchmarks'])return this[_0x2b41d7(0xe7)]['error']('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async['loadBenchmarks'](){const _0x14e537=a0_0x2d2047;if(this['isLoading']){this['logger']['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this[_0x14e537(0x109)]=!![];try{const _0x545731=await this[_0x14e537(0x10e)]();if(_0x545731)this['benchmarks']=_0x545731,this['lastUpdated']=new Date(),this[_0x14e537(0xe7)]['info']('Benchmarks loaded from Azure backend',{'modelCount':_0x545731['models']?.[_0x14e537(0x10d)]||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x4fc8aa){this[_0x14e537(0xe7)]['error']('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x4fc8aa[_0x14e537(0xf5)],'endpoint':url}),!this['benchmarks']&&(this['benchmarks']=null);}finally{this[_0x14e537(0x109)]=![];}}[a0_0x2d2047(0xf9)](){const _0x5e890d=a0_0x2d2047,_0x567f73=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.['toISOString']()||'unknown','models':_0x567f73[_0x5e890d(0x10a)]||[],'tasks':_0x567f73['tasks']||{},'summary':this[_0x5e890d(0xed)](_0x567f73)};}[a0_0x2d2047(0x107)](){const _0x417e52=a0_0x2d2047;if(!this[_0x417e52(0xe8)])return!![];const _0x13fc85=Date['now']()-this[_0x417e52(0xe8)]['getTime']();return _0x13fc85>this[_0x417e52(0xdd)];}async[a0_0x2d2047(0x10e)](){const _0x1e5beb=a0_0x2d2047,_0x2d37df=this['azureBackendUrl']+_0x1e5beb(0xea);let _0x44f070=null;this[_0x1e5beb(0xf2)][_0x1e5beb(0xe1)]&&(_0x44f070=this[_0x1e5beb(0xf2)]['apiKey']);const _0x24c850={'method':'GET','headers':{'Content-Type':_0x1e5beb(0xff),..._0x44f070&&{'Authorization':'Bearer\x20'+_0x44f070}},'timeout':0x2710};this['logger']['debug']('Fetching benchmarks from Azure backend',{'url':_0x2d37df});const _0x1af1dd=await fetch(_0x2d37df,_0x24c850);if(!_0x1af1dd['ok'])throw new Error(_0x1e5beb(0xe9)+_0x1af1dd['status']+':\x20'+_0x1af1dd['statusText']);const _0x542a26=await _0x1af1dd['json']();return _0x542a26;}['_generateBenchmarkSummary'](_0x825c3f){const _0x5cf75e=a0_0x2d2047,_0x5859e4=_0x825c3f[_0x5cf75e(0x10a)]||[];return{'totalModels':_0x5859e4['length'],'taskCategories':Object['keys'](_0x825c3f[_0x5cf75e(0xef)]||{}),'bestForCoding':this['_getBestModelForTask'](_0x5859e4,_0x5cf75e(0x10b)),'bestForAnalysis':this['_getBestModelForTask'](_0x5859e4,'analysis'),'bestForQuickTasks':this['_getBestModelForTask'](_0x5859e4,_0x5cf75e(0xee)),'bestForCreative':this['_getBestModelForTask'](_0x5859e4,'creative'),'fastestModel':this['_getFastestModel'](_0x5859e4),'mostCostEfficient':this['_getMostCostEfficient'](_0x5859e4)};}[a0_0x2d2047(0xeb)](_0x4dc6a8,_0x402f9){const _0x4f2659=a0_0x2d2047;return _0x4dc6a8[_0x4f2659(0x102)](_0x2a16e6=>_0x2a16e6['tasks']&&_0x2a16e6[_0x4f2659(0xef)][_0x402f9])['sort']((_0x2007c6,_0x10c0c6)=>(_0x10c0c6[_0x4f2659(0xef)][_0x402f9][_0x4f2659(0xf6)]||0x0)-(_0x2007c6['tasks'][_0x402f9]['score']||0x0))[0x0]?.[_0x4f2659(0x105)]||'unknown';}['_getFastestModel'](_0x27631b){const _0x27eef2=a0_0x2d2047,_0x2fcf0a={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x27631b[_0x27eef2(0xf7)]((_0x2e28e7,_0x27ff8a)=>{const _0x55f22d=_0x27eef2,_0x326588=Math['max'](...Object['values'](_0x2e28e7['tasks']||{})[_0x55f22d(0xdf)](_0x3ee301=>_0x2fcf0a[_0x3ee301[_0x55f22d(0x101)]]||0x0)),_0x15a98f=Math['max'](...Object['values'](_0x27ff8a[_0x55f22d(0xef)]||{})[_0x55f22d(0xdf)](_0x785402=>_0x2fcf0a[_0x785402['speed']]||0x0));return _0x15a98f-_0x326588;})[0x0]?.['name']||'unknown';}['_getMostCostEfficient'](_0x1e01d4){const _0x54b10e=a0_0x2d2047,_0x541939={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x1e01d4['sort']((_0xf6979b,_0x2b1156)=>{const _0x4d5b85=a0_0x57ee,_0x237b60=Math['max'](...Object['values'](_0xf6979b['tasks']||{})[_0x4d5b85(0xdf)](_0x3a1561=>_0x541939[_0x3a1561['cost']]||0x0)),_0xf66a6=Math[_0x4d5b85(0xf4)](...Object[_0x4d5b85(0xfc)](_0x2b1156['tasks']||{})[_0x4d5b85(0xdf)](_0x5116d8=>_0x541939[_0x5116d8[_0x4d5b85(0xec)]]||0x0));return _0xf66a6-_0x237b60;})[0x0]?.[_0x54b10e(0x105)]||_0x54b10e(0xe0);}['_scheduleRefresh'](){const _0x554074=a0_0x2d2047;setInterval(async()=>{const _0x16ae44=a0_0x57ee;this['needsRefresh']()&&(this['logger'][_0x16ae44(0x104)]('Refreshing\x20benchmark\x20data'),await this[_0x16ae44(0x103)]());},this[_0x554074(0xdd)]);}async[a0_0x2d2047(0xe3)](){const _0x11117b=a0_0x2d2047;this['logger'][_0x11117b(0x100)]('Force\x20refreshing\x20benchmark\x20data'),await this['loadBenchmarks']();}['getStatus'](){const _0x563caf=a0_0x2d2047;return{'initialized':!!this['benchmarks'],'lastUpdated':this[_0x563caf(0xe8)]?.['toISOString']()||null,'source':this['benchmarks']?.[_0x563caf(0xf8)]||'unknown','modelCount':this[_0x563caf(0xf0)]?.[_0x563caf(0x10a)]?.[_0x563caf(0x10d)]||0x0,'isLoading':this[_0x563caf(0x109)],'needsRefresh':this['needsRefresh']()};}}export default BenchmarkService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x22cd97=a0_0x55f3;function a0_0x55f3(_0x212fe1,_0x2f7e12){_0x212fe1=_0x212fe1-0xad;const _0x429064=a0_0x4290();let _0x55f34f=_0x429064[_0x212fe1];if(a0_0x55f3['gCDOJv']===undefined){var _0x592415=function(_0x290148){const _0x5b70ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a6b98='',_0x22beef='';for(let _0x23d121=0x0,_0xb78404,_0x197ce0,_0x3234d5=0x0;_0x197ce0=_0x290148['charAt'](_0x3234d5++);~_0x197ce0&&(_0xb78404=_0x23d121%0x4?_0xb78404*0x40+_0x197ce0:_0x197ce0,_0x23d121++%0x4)?_0x4a6b98+=String['fromCharCode'](0xff&_0xb78404>>(-0x2*_0x23d121&0x6)):0x0){_0x197ce0=_0x5b70ab['indexOf'](_0x197ce0);}for(let _0x1be215=0x0,_0x5b0084=_0x4a6b98['length'];_0x1be215<_0x5b0084;_0x1be215++){_0x22beef+='%'+('00'+_0x4a6b98['charCodeAt'](_0x1be215)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22beef);};a0_0x55f3['FhXcUX']=_0x592415,a0_0x55f3['vWutsq']={},a0_0x55f3['gCDOJv']=!![];}const _0x527072=_0x429064[0x0],_0x21cb58=_0x212fe1+_0x527072,_0x290063=a0_0x55f3['vWutsq'][_0x21cb58];return!_0x290063?(_0x55f34f=a0_0x55f3['FhXcUX'](_0x55f34f),a0_0x55f3['vWutsq'][_0x21cb58]=_0x55f34f):_0x55f34f=_0x290063,_0x55f34f;}(function(_0xd6ec94,_0x2ecd98){const _0x2c3b95=a0_0x55f3,_0x387ffe=_0xd6ec94();while(!![]){try{const _0x3bf71d=-parseInt(_0x2c3b95(0xcc))/0x1*(-parseInt(_0x2c3b95(0xfc))/0x2)+-parseInt(_0x2c3b95(0xce))/0x3+parseInt(_0x2c3b95(0xcb))/0x4*(-parseInt(_0x2c3b95(0xf2))/0x5)+-parseInt(_0x2c3b95(0xbc))/0x6+parseInt(_0x2c3b95(0xca))/0x7+parseInt(_0x2c3b95(0xcf))/0x8*(parseInt(_0x2c3b95(0xd8))/0x9)+-parseInt(_0x2c3b95(0xba))/0xa*(-parseInt(_0x2c3b95(0xd0))/0xb);if(_0x3bf71d===_0x2ecd98)break;else _0x387ffe['push'](_0x387ffe['shift']());}catch(_0x3ee2ee){_0x387ffe['push'](_0x387ffe['shift']());}}}(a0_0x4290,0x86a9b));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0x4a6b98,_0x22beef){const _0x9b8fed=a0_0x55f3;this['config']=_0x4a6b98||{},this[_0x9b8fed(0xbe)]=_0x22beef,this[_0x9b8fed(0xe9)]={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this['budgets']={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS[_0x9b8fed(0xf4)],'monthly':BUDGET_LIMITS['MONTHLY']},this[_0x9b8fed(0xe7)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this[_0x9b8fed(0xc8)](),this['setupPeriodicSave']();}['trackUsage'](_0x23d121,_0xb78404,_0x197ce0){const _0x764120=a0_0x55f3;try{const _0x3234d5=this['calculateCost'](_0xb78404,_0x197ce0),_0x1be215=new Date(),_0x5b0084=this['getDayKey'](_0x1be215),_0x24f035=this[_0x764120(0xf9)](_0x1be215),_0x2940a0=this['getMonthKey'](_0x1be215);this['initializeUsageEntry'](this['usage']['daily'],_0x5b0084),this['initializeUsageEntry'](this['usage']['weekly'],_0x24f035),this['initializeUsageEntry'](this['usage'][_0x764120(0xec)],_0x2940a0);const _0x2562af={'agentId':_0x23d121,'modelId':_0xb78404,'tokens':_0x197ce0[_0x764120(0xb2)],'cost':_0x3234d5,'timestamp':_0x1be215[_0x764120(0xd5)]()};return this['updateUsageEntry'](this[_0x764120(0xe9)][_0x764120(0xbb)]['get'](_0x5b0084),_0x2562af),this[_0x764120(0xcd)](this['usage'][_0x764120(0xc9)][_0x764120(0xb7)](_0x24f035),_0x2562af),this['updateUsageEntry'](this[_0x764120(0xe9)][_0x764120(0xec)][_0x764120(0xb7)](_0x2940a0),_0x2562af),this[_0x764120(0xe9)]['total']['tokens']+=_0x197ce0['total_tokens'],this['usage']['total']['cost']+=_0x3234d5,this['usage']['total'][_0x764120(0xb5)]+=0x1,this[_0x764120(0xdb)](_0x5b0084,_0x24f035,_0x2940a0),this[_0x764120(0xbe)][_0x764120(0xf3)](_0x764120(0xe0),{'agentId':_0x23d121,'modelId':_0xb78404,'tokens':_0x197ce0['total_tokens'],'cost':_0x3234d5,'totalCost':this['usage'][_0x764120(0xc6)]['cost']}),{'cost':_0x3234d5,'totalCost':this['usage'][_0x764120(0xc6)]['cost'],'totalTokens':this['usage']['total'][_0x764120(0xe5)],'dailyUsage':this['usage'][_0x764120(0xbb)]['get'](_0x5b0084),'budgetRemaining':this['getRemainingBudget']()};}catch(_0x412776){this['logger']['error']('Failed\x20to\x20track\x20usage',{'error':_0x412776['message'],'agentId':_0x23d121,'modelId':_0xb78404});throw _0x412776;}}[a0_0x22cd97(0xdc)](_0x5b65f7,_0x4ad4d7){const _0x4bf671=a0_0x22cd97,_0x323da3=COST_PER_TOKEN[_0x5b65f7];if(!_0x323da3)return this['logger'][_0x4bf671(0xff)](_0x4bf671(0x107),{'modelId':_0x5b65f7}),0x0;const _0x11d2a1=(_0x4ad4d7['prompt_tokens']||0x0)*_0x323da3['input'],_0x243098=(_0x4ad4d7[_0x4bf671(0xbd)]||0x0)*_0x323da3[_0x4bf671(0xf1)];return _0x11d2a1+_0x243098;}[a0_0x22cd97(0xb1)](_0x4c8b82='daily',_0x520102=new Date()){const _0x19f917=a0_0x22cd97;switch(_0x4c8b82){case'daily':return this['usage']['daily']['get'](this[_0x19f917(0xb9)](_0x520102))||this['createEmptyUsage']();case _0x19f917(0xc9):return this[_0x19f917(0xe9)][_0x19f917(0xc9)]['get'](this['getWeekKey'](_0x520102))||this['createEmptyUsage']();case'monthly':return this['usage'][_0x19f917(0xec)][_0x19f917(0xb7)](this[_0x19f917(0xb3)](_0x520102))||this['createEmptyUsage']();case _0x19f917(0xc6):return{...this['usage']['total']};default:throw new Error(_0x19f917(0xf8)+_0x4c8b82);}}[a0_0x22cd97(0xbf)](_0x57ed4f,_0x341763='daily'){const _0x3fefd1=a0_0x22cd97,_0x10f7c6=this[_0x3fefd1(0xb1)](_0x341763);return _0x10f7c6[_0x3fefd1(0xe6)]?.[_0x57ed4f]||this[_0x3fefd1(0xe8)]();}[a0_0x22cd97(0xd4)](_0x395fbf,_0x17e31b=a0_0x22cd97(0xbb)){const _0x414622=a0_0x22cd97,_0x34b9b3=this['getUsage'](_0x17e31b);return _0x34b9b3[_0x414622(0xb6)]?.[_0x395fbf]||this[_0x414622(0xe8)]();}['setBudgets'](_0x59a7ed){const _0x4a1143=a0_0x22cd97;if(_0x59a7ed['daily']!==undefined)this[_0x4a1143(0xc1)][_0x4a1143(0xbb)]=_0x59a7ed[_0x4a1143(0xbb)];if(_0x59a7ed['weekly']!==undefined)this[_0x4a1143(0xc1)]['weekly']=_0x59a7ed['weekly'];if(_0x59a7ed[_0x4a1143(0xec)]!==undefined)this[_0x4a1143(0xc1)][_0x4a1143(0xec)]=_0x59a7ed['monthly'];this['logger'][_0x4a1143(0xf3)]('Budget\x20limits\x20updated',this['budgets']),this['saveUsageData']();}[a0_0x22cd97(0xd2)](){const _0x1b6aa8=a0_0x22cd97,_0x4d1368=new Date(),_0x1dff7c=this['getUsage']('daily',_0x4d1368),_0x2f9772=this['getUsage']('weekly',_0x4d1368),_0xcd9657=this['getUsage'](_0x1b6aa8(0xec),_0x4d1368);return{'daily':Math['max'](0x0,this['budgets'][_0x1b6aa8(0xbb)]-_0x1dff7c['cost']),'weekly':Math['max'](0x0,this['budgets'][_0x1b6aa8(0xc9)]-_0x2f9772['cost']),'monthly':Math['max'](0x0,this['budgets']['monthly']-_0xcd9657['cost'])};}[a0_0x22cd97(0x101)](_0x16f5a1=a0_0x22cd97(0xbb)){const _0x5bcccf=a0_0x22cd97,_0x4cab1d=this['getUsage'](_0x16f5a1),_0x3079ec=this[_0x5bcccf(0xc1)][_0x16f5a1];return _0x4cab1d['cost']<=_0x3079ec;}['getUsageTrends'](_0x297463=0x1e){const _0x1aa8cd=a0_0x22cd97,_0x34b25b={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x58e448=new Date();let _0x5b64c6=0x0,_0x115559=0x0,_0x269cb2=0x0;const _0x47e211=new Map(),_0x8a88c=new Map();for(let _0x2ec8a5=0x0;_0x2ec8a5<_0x297463;_0x2ec8a5++){const _0x596235=new Date(_0x58e448);_0x596235['setDate'](_0x596235[_0x1aa8cd(0xdd)]()-_0x2ec8a5);const _0x57d47a=this['getDayKey'](_0x596235),_0x184b46=this['usage']['daily'][_0x1aa8cd(0xb7)](_0x57d47a);_0x184b46?(_0x5b64c6+=_0x184b46[_0x1aa8cd(0xc5)],_0x115559+=_0x184b46[_0x1aa8cd(0xe5)],_0x269cb2+=_0x184b46['requests'],_0x34b25b['costByDay'][_0x1aa8cd(0xeb)]({'date':_0x57d47a,'cost':_0x184b46['cost']}),_0x34b25b['tokensByDay']['unshift']({'date':_0x57d47a,'tokens':_0x184b46['tokens']}),Object[_0x1aa8cd(0xfb)](_0x184b46[_0x1aa8cd(0xe6)]||{})[_0x1aa8cd(0xe2)](([_0x4a346e,_0x68fb97])=>{const _0x15f57e=_0x1aa8cd;!_0x47e211['has'](_0x4a346e)&&_0x47e211['set'](_0x4a346e,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x346e04=_0x47e211['get'](_0x4a346e);_0x346e04['cost']+=_0x68fb97[_0x15f57e(0xc5)],_0x346e04[_0x15f57e(0xe5)]+=_0x68fb97['tokens'],_0x346e04['requests']+=_0x68fb97['requests'];}),Object['entries'](_0x184b46[_0x1aa8cd(0xb6)]||{})[_0x1aa8cd(0xe2)](([_0x2029cc,_0xfec49b])=>{const _0xa5ebfb=_0x1aa8cd;!_0x8a88c['has'](_0x2029cc)&&_0x8a88c['set'](_0x2029cc,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x2353c8=_0x8a88c[_0xa5ebfb(0xb7)](_0x2029cc);_0x2353c8['cost']+=_0xfec49b['cost'],_0x2353c8['tokens']+=_0xfec49b['tokens'],_0x2353c8['requests']+=_0xfec49b[_0xa5ebfb(0xb5)];})):(_0x34b25b['costByDay'][_0x1aa8cd(0xeb)]({'date':_0x57d47a,'cost':0x0}),_0x34b25b['tokensByDay'][_0x1aa8cd(0xeb)]({'date':_0x57d47a,'tokens':0x0}));}return _0x34b25b[_0x1aa8cd(0xad)]['cost']=_0x5b64c6/_0x297463,_0x34b25b['dailyAverages']['tokens']=_0x115559/_0x297463,_0x34b25b[_0x1aa8cd(0xad)]['requests']=_0x269cb2/_0x297463,_0x34b25b[_0x1aa8cd(0xf5)]=Array['from'](_0x47e211['entries']())[_0x1aa8cd(0x105)](([_0x106298,_0x15492d])=>({'id':_0x106298,..._0x15492d}))['sort']((_0x17035b,_0x3156d4)=>_0x3156d4[_0x1aa8cd(0xc5)]-_0x17035b['cost'])[_0x1aa8cd(0xd7)](0x0,0xa),_0x34b25b[_0x1aa8cd(0xd6)]=Array[_0x1aa8cd(0xf0)](_0x8a88c[_0x1aa8cd(0xfb)]())['map'](([_0x1d84fb,_0x1b8b2d])=>({'id':_0x1d84fb,..._0x1b8b2d}))['sort']((_0x194824,_0x348cda)=>_0x348cda[_0x1aa8cd(0xc5)]-_0x194824[_0x1aa8cd(0xc5)])['slice'](0x0,0xa),_0x34b25b;}[a0_0x22cd97(0xaf)](_0x281ef1=a0_0x22cd97(0xee),_0x3db1ae=null,_0x529a3d=null){const _0x199a3d=a0_0x22cd97,_0x4c1689={'budgets':this['budgets'],'total':this['usage']['total'],'daily':{},'weekly':{},'monthly':{}},_0x3e01af=(_0x2654e0,_0x54cfad)=>{const _0x75e6e=a0_0x55f3,_0x5adccf={};return _0x2654e0[_0x75e6e(0xe2)]((_0x32339a,_0x377b91)=>{const _0x2253ed=_0x54cfad(_0x377b91);(!_0x3db1ae||_0x2253ed>=_0x3db1ae)&&(!_0x529a3d||_0x2253ed<=_0x529a3d)&&(_0x5adccf[_0x377b91]=_0x32339a);}),_0x5adccf;};_0x3db1ae||_0x529a3d?(_0x4c1689[_0x199a3d(0xbb)]=_0x3e01af(this['usage'][_0x199a3d(0xbb)],_0x45148d=>new Date(_0x45148d)),_0x4c1689[_0x199a3d(0xc9)]=_0x3e01af(this['usage'][_0x199a3d(0xc9)],_0x32e39d=>new Date(_0x32e39d)),_0x4c1689['monthly']=_0x3e01af(this['usage'][_0x199a3d(0xec)],_0x5e1a4b=>new Date(_0x5e1a4b+_0x199a3d(0x102)))):(this['usage']['daily'][_0x199a3d(0xe2)]((_0x1769e6,_0x56be3b)=>_0x4c1689[_0x199a3d(0xbb)][_0x56be3b]=_0x1769e6),this['usage'][_0x199a3d(0xc9)][_0x199a3d(0xe2)]((_0x5e3335,_0x3e1d04)=>_0x4c1689['weekly'][_0x3e1d04]=_0x5e3335),this[_0x199a3d(0xe9)][_0x199a3d(0xec)][_0x199a3d(0xe2)]((_0x20cae3,_0x46a4f0)=>_0x4c1689[_0x199a3d(0xec)][_0x46a4f0]=_0x20cae3));if(_0x281ef1===_0x199a3d(0x100))return this[_0x199a3d(0xea)](_0x4c1689);return JSON[_0x199a3d(0x108)](_0x4c1689,null,0x2);}[a0_0x22cd97(0xc0)](_0x594e63,_0x1d8ba4){const _0x15a7b0=a0_0x22cd97;!_0x594e63[_0x15a7b0(0xfe)](_0x1d8ba4)&&_0x594e63[_0x15a7b0(0xd3)](_0x1d8ba4,this[_0x15a7b0(0xe8)]());}['createEmptyUsage'](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x22cd97(0xcd)](_0x73cba7,_0x3909c9){const _0x4a9f09=a0_0x22cd97;_0x73cba7['cost']+=_0x3909c9[_0x4a9f09(0xc5)],_0x73cba7['tokens']+=_0x3909c9['tokens'],_0x73cba7['requests']+=0x1,!_0x73cba7[_0x4a9f09(0xe6)][_0x3909c9['agentId']]&&(_0x73cba7[_0x4a9f09(0xe6)][_0x3909c9[_0x4a9f09(0xf7)]]=this[_0x4a9f09(0xe8)]()),_0x73cba7['byAgent'][_0x3909c9['agentId']]['cost']+=_0x3909c9['cost'],_0x73cba7['byAgent'][_0x3909c9['agentId']]['tokens']+=_0x3909c9['tokens'],_0x73cba7[_0x4a9f09(0xe6)][_0x3909c9['agentId']][_0x4a9f09(0xb5)]+=0x1,!_0x73cba7[_0x4a9f09(0xb6)][_0x3909c9['modelId']]&&(_0x73cba7[_0x4a9f09(0xb6)][_0x3909c9[_0x4a9f09(0xe4)]]=this[_0x4a9f09(0xe8)]()),_0x73cba7['byModel'][_0x3909c9[_0x4a9f09(0xe4)]][_0x4a9f09(0xc5)]+=_0x3909c9[_0x4a9f09(0xc5)],_0x73cba7[_0x4a9f09(0xb6)][_0x3909c9[_0x4a9f09(0xe4)]]['tokens']+=_0x3909c9['tokens'],_0x73cba7[_0x4a9f09(0xb6)][_0x3909c9[_0x4a9f09(0xe4)]]['requests']+=0x1;}['checkBudgetLimits'](_0x3a2253,_0x1a5aba,_0x2bdedf){const _0x2e759b=a0_0x22cd97,_0x3a8c37=this[_0x2e759b(0xe9)]['daily']['get'](_0x3a2253),_0x48d331=this['usage']['weekly']['get'](_0x1a5aba),_0x29303c=this['usage']['monthly']['get'](_0x2bdedf);_0x3a8c37[_0x2e759b(0xc5)]>this['budgets'][_0x2e759b(0xbb)]&&this['sendBudgetAlert'](_0x2e759b(0xbb),_0x3a8c37['cost'],this[_0x2e759b(0xc1)]['daily']),_0x48d331[_0x2e759b(0xc5)]>this[_0x2e759b(0xc1)]['weekly']&&this[_0x2e759b(0xf6)]('weekly',_0x48d331[_0x2e759b(0xc5)],this['budgets']['weekly']),_0x29303c[_0x2e759b(0xc5)]>this['budgets'][_0x2e759b(0xec)]&&this['sendBudgetAlert']('monthly',_0x29303c['cost'],this[_0x2e759b(0xc1)]['monthly']),this['checkThresholdAlerts'](_0x3a8c37,_0x48d331,_0x29303c);}[a0_0x22cd97(0xda)](_0x175975,_0x1f461e,_0x248440){const _0x28663b=a0_0x22cd97,_0x22d5c5=this['alerts']['thresholds'];this['checkThreshold'](_0x28663b(0xbb),_0x175975[_0x28663b(0xc5)],this[_0x28663b(0xc1)]['daily'],_0x22d5c5),this['checkThreshold']('weekly',_0x1f461e[_0x28663b(0xc5)],this[_0x28663b(0xc1)][_0x28663b(0xc9)],_0x22d5c5),this[_0x28663b(0xb0)]('monthly',_0x248440['cost'],this['budgets'][_0x28663b(0xec)],_0x22d5c5);}[a0_0x22cd97(0xb0)](_0x2cf638,_0x5aee11,_0x30ae71,_0x23a346){const _0xec4c29=a0_0x22cd97,_0x2586bb=_0x5aee11/_0x30ae71*0x64;for(const _0x2b2bfe of _0x23a346){if(_0x2586bb>=_0x2b2bfe){const _0x599061=_0x2cf638+'_'+_0x2b2bfe,_0x53188b=this[_0xec4c29(0xe7)]['lastAlertTimes']['get'](_0x599061),_0x384eb8=Date['now']();(!_0x53188b||_0x384eb8-_0x53188b>0x36ee80)&&(this['sendThresholdAlert'](_0x2cf638,_0x2586bb,_0x2b2bfe,_0x5aee11,_0x30ae71),this['alerts']['lastAlertTimes']['set'](_0x599061,_0x384eb8));break;}}}[a0_0x22cd97(0xf6)](_0x532b6d,_0x18eb9d,_0x398c92){const _0x25a559=a0_0x22cd97;this['logger'][_0x25a559(0xff)](_0x25a559(0xc7),{'period':_0x532b6d,'currentUsage':_0x18eb9d,'budgetLimit':_0x398c92,'excess':_0x18eb9d-_0x398c92}),typeof process!==_0x25a559(0xdf)&&process[_0x25a559(0x106)]&&process['emit'](_0x25a559(0xef),{'type':_0x25a559(0xc4),'period':_0x532b6d,'currentUsage':_0x18eb9d,'budgetLimit':_0x398c92,'excess':_0x18eb9d-_0x398c92});}['sendThresholdAlert'](_0x58fcf7,_0x49156e,_0x1135c0,_0xfe489b,_0x4c0060){const _0x2bff0c=a0_0x22cd97;this['logger']['warn'](_0x2bff0c(0xc2),{'period':_0x58fcf7,'percentage':Math['round'](_0x49156e),'threshold':_0x1135c0,'usage':_0xfe489b,'budget':_0x4c0060}),typeof process!=='undefined'&&process['emit']&&process['emit']('budgetAlert',{'type':'threshold_reached','period':_0x58fcf7,'percentage':Math[_0x2bff0c(0xed)](_0x49156e),'threshold':_0x1135c0,'usage':_0xfe489b,'budget':_0x4c0060});}['getDayKey'](_0x42c9f2){const _0xfaffca=a0_0x22cd97;return _0x42c9f2[_0xfaffca(0xd5)]()['split']('T')[0x0];}[a0_0x22cd97(0xf9)](_0x5b75e9){const _0x2caeed=a0_0x22cd97,_0x4111e1=_0x5b75e9[_0x2caeed(0xfa)](),_0x599e88=this[_0x2caeed(0xb8)](_0x5b75e9);return _0x4111e1+'-W'+_0x599e88[_0x2caeed(0x104)]()[_0x2caeed(0xd1)](0x2,'0');}['getMonthKey'](_0x2fc2ce){const _0x199adc=a0_0x22cd97,_0x1ca0ae=_0x2fc2ce[_0x199adc(0xfa)](),_0x155d85=_0x2fc2ce[_0x199adc(0x103)]()+0x1;return _0x1ca0ae+'-'+_0x155d85['toString']()['padStart'](0x2,'0');}['getWeekNumber'](_0x3db0b7){const _0x1f9d9e=a0_0x22cd97,_0x156440=new Date(_0x3db0b7[_0x1f9d9e(0xfa)](),0x0,0x1),_0x5385dc=(_0x3db0b7-_0x156440)/0x5265c00;return Math['ceil']((_0x5385dc+_0x156440['getDay']()+0x1)/0x7);}[a0_0x22cd97(0xea)](_0x30ba6b){const _0x1bb06e=a0_0x22cd97,_0x5c33b2=[];return _0x5c33b2['push'](['Period',_0x1bb06e(0xde),_0x1bb06e(0xe1),'Tokens','Requests','Agent','Model']),Object['entries'](_0x30ba6b[_0x1bb06e(0xbb)])['forEach'](([_0x480936,_0x1d5e0c])=>{const _0x40bd16=_0x1bb06e;_0x5c33b2[_0x40bd16(0xae)](['Daily',_0x480936,_0x1d5e0c[_0x40bd16(0xc5)],_0x1d5e0c[_0x40bd16(0xe5)],_0x1d5e0c['requests'],'','']),Object['entries'](_0x1d5e0c['byAgent']||{})[_0x40bd16(0xe2)](([_0x19cf01,_0x16e398])=>{const _0x48e859=_0x40bd16;_0x5c33b2[_0x48e859(0xae)](['Daily',_0x480936,_0x16e398[_0x48e859(0xc5)],_0x16e398[_0x48e859(0xe5)],_0x16e398['requests'],_0x19cf01,'']);});}),_0x5c33b2['map'](_0x50d1fe=>_0x50d1fe['join'](','))['join']('\x0a');}[a0_0x22cd97(0xc8)](){const _0x4da08d=a0_0x22cd97;try{this['logger'][_0x4da08d(0xf3)](_0x4da08d(0xd9));}catch(_0x471421){this[_0x4da08d(0xbe)][_0x4da08d(0xb4)]('Failed\x20to\x20load\x20usage\x20data',{'error':_0x471421[_0x4da08d(0xc3)]});}}[a0_0x22cd97(0xe3)](){const _0x5db651=a0_0x22cd97;try{this['logger']['debug']('Usage\x20data\x20saved');}catch(_0xe4e628){this[_0x5db651(0xbe)]['error']('Failed\x20to\x20save\x20usage\x20data',{'error':_0xe4e628[_0x5db651(0xc3)]});}}[a0_0x22cd97(0xfd)](){setInterval(()=>{const _0x16cd21=a0_0x55f3;this[_0x16cd21(0xe3)]();},0x493e0);}}function a0_0x4290(){const _0x1a1166=['BwvZC2fNzq','yNvKz2v0x2v4y2vLzgvK','y29ZDa','Dg90ywW','qNvKz2v0igXPBwL0igv4y2vLzgvK','Bg9HzfvZywDLrgf0yq','D2vLA2X5','ntiYnZe4wg55AeLH','otq5nMT3vgHzzG','mJm0mvPsqK5UCq','DxbKyxrLvxnHz2vfBNrYEq','mJm5mdu1nMffD1vmwq','ogn6u3DMza','oduZmJi3muDjuvfywG','CgfKu3rHCNq','z2v0uMvTywLUAw5NqNvKz2v0','C2v0','z2v0tw9KzwXvC2fNzq','Dg9ju09tDhjPBMC','Dg9Wtw9KzwXZ','C2XPy2u','mZe2odK4mxvOD1PRtW','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','y2HLy2TuAhjLC2HVBgrbBgvYDhm','y2HLy2TcDwrNzxrmAw1PDhm','y2fSy3vSyxrLq29ZDa','z2v0rgf0zq','rgf0zq','Dw5KzwzPBMvK','vxnHz2uGDhjHy2TLza','q29ZDa','zM9YrwfJAa','C2f2zvvZywDLrgf0yq','Bw9KzwXjza','Dg9Rzw5Z','yNLbz2vUDa','ywXLCNrZ','y3jLyxrLrw1WDhLvC2fNzq','DxnHz2u','y29UDMvYDfrVq1nw','Dw5ZAgLMDa','Bw9UDgHSEq','CM91BMq','ANnVBG','yNvKz2v0qwXLCNq','zNjVBq','B3v0Chv0','odyWCLfQrNrn','Aw5MBW','v0vfs0Xz','Dg9WqwDLBNrZ','C2vUzej1zgDLDefSzxj0','ywDLBNrjza','sw52ywXPzcbWzxjPB2q6ia','z2v0v2vLA0TLEq','z2v0rNvSBfLLyxi','zw50CMLLCW','ntiYC3bKD2fk','C2v0DxbqzxjPB2rPy1nHDMu','AgfZ','D2fYBG','y3n2','AxnxAxrOAw5cDwrNzxq','ltaX','z2v0tw9UDgG','Dg9tDhjPBMC','BwfW','zw1PDa','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','C3rYAw5NAwz5','zgfPBhLbDMvYywDLCW','ChvZAa','zxHWB3j0vxnHz2veyxrH','y2HLy2TuAhjLC2HVBgq','z2v0vxnHz2u','Dg90ywXFDg9Rzw5Z','z2v0tw9UDgHlzxK','zxjYB3i','CMvXDwvZDhm','yNLnB2rLBa','z2v0','z2v0v2vLA051BwjLCG','z2v0rgf5s2v5','mJbNtfDiwvu','zgfPBhK','ndK5nda4mLDctgH6wG','y29TCgXLDgLVBL90B2TLBNm','Bg9Nz2vY','z2v0qwDLBNrvC2fNzq','Aw5PDgLHBgL6zvvZywDLrw50CNK','yNvKz2v0CW','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK'];a0_0x4290=function(){return _0x1a1166;};return a0_0x4290();}export default BudgetService;
|
|
1
|
+
function a0_0x1d88(){const _0x3555b5=['C2XPy2u','mtiWndCWn3fvBw5bva','yNLnB2rLBa','DxbKyxrLvxnHz2vfBNrYEq','z2v0tw9KzwXvC2fNzq','rgfPBhK','mKTSqMfRtG','C2v0','z2v0','C3rYAw5NAwz5','C2f2zvvZywDLrgf0yq','ltaX','D2fYBG','Bw9UDgHSEq','zgfPBhK','z2v0vxnHz2u','C2v0DxbqzxjPB2rPy1nHDMu','Dg9WqwDLBNrZ','BwfW','ywDLBNrjza','zgfPBhLbDMvYywDLCW','y29UDMvYDfrVq1nw','tu9oveHmwq','z2v0v2vLA0TLEq','DxnHz2u','Dg9Rzw5ZqNLeyxK','tw9KzwW','z2v0rgf0zq','Bw9KzwXjza','zM9YrwfJAa','uMvXDwvZDhm','AM9PBG','C2vUzej1zgDLDefSzxj0','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','z2v0rgf5s2v5','Bwf4','nJa2nJuXmefOtvnvCa','AgfZ','otCZnJnLv1bpDhK','Aw5PDgLHBgL6zvvZywDLrw50CNK','z2v0tw9UDgHlzxK','y2fSy3vSyxrLq29ZDa','zNjVBq','zxjYB3i','Aw5MBW','mZy4ndqWmgLUuurbyq','ugvYAw9K','Dg9Rzw5Z','zxHWB3j0vxnHz2veyxrH','ywXLCNrZ','ChvZAa','Aw5WDxq','CM91BMq','Dw5KzwzPBMvK','z2v0uMvTywLUAw5NqNvKz2v0','qwDLBNq','y3jLyxrLrw1WDhLvC2fNzq','z2v0rgf5','CMvXDwvZDhm','mtaYrg1Orhzh','v0vfs0Xz','Dg9ju09tDhjPBMC','ANnVBG','y2HLy2TuAhjLC2HVBgrbBgvYDhm','Bg9HzfvZywDLrgf0yq','mZCXntm3munsCuToyq','rMfPBgvKihrVihnHDMuGDxnHz2uGzgf0yq','sw52ywXPzcbWzxjPB2q6ia','y29ZDej5rgf5','Bg9Nz2vY','ne9Kve14sq','Dw5ZAgLMDa','BgfZDefSzxj0vgLTzxm','C3bSAxq','z2v0rNvSBfLLyxi','zgvIDwC','vg9Rzw5Z','BM93','y29ZDa','zw1PDa','ChjVBxb0x3rVA2vUCW','qNvKz2v0igXPBwL0igv4y2vLzgvK','yNLbz2vUDa','D2vLA2X5','yNvKz2v0CW','ndm3mtz5BhjgwKq','vxnHz2uGzgf0ysbZyxzLza','Dg90ywW','zw50CMLLCW','mZe5odi0twj5zvrO'];a0_0x1d88=function(){return _0x3555b5;};return a0_0x1d88();}const a0_0x19b1a7=a0_0x5a35;(function(_0x31ae1b,_0x648c14){const _0x4d9c10=a0_0x5a35,_0x3e8295=_0x31ae1b();while(!![]){try{const _0x5e20cf=parseInt(_0x4d9c10(0x1ac))/0x1*(parseInt(_0x4d9c10(0x1a1))/0x2)+parseInt(_0x4d9c10(0x1a7))/0x3*(-parseInt(_0x4d9c10(0x192))/0x4)+parseInt(_0x4d9c10(0x179))/0x5+parseInt(_0x4d9c10(0x187))/0x6*(-parseInt(_0x4d9c10(0x172))/0x7)+parseInt(_0x4d9c10(0x1a5))/0x8+-parseInt(_0x4d9c10(0x18d))/0x9+parseInt(_0x4d9c10(0x170))/0xa;if(_0x5e20cf===_0x648c14)break;else _0x3e8295['push'](_0x3e8295['shift']());}catch(_0x5ab7a2){_0x3e8295['push'](_0x3e8295['shift']());}}}(a0_0x1d88,0x5be40));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x5a35(_0x58875f,_0x23a8ca){_0x58875f=_0x58875f-0x162;const _0x1d88e4=a0_0x1d88();let _0x5a35a2=_0x1d88e4[_0x58875f];if(a0_0x5a35['mXEZQi']===undefined){var _0x3a6a79=function(_0x25be76){const _0x19b11b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x261a12='',_0x3b7c8c='';for(let _0x5078b5=0x0,_0x4553d5,_0x3c689e,_0x3bcd59=0x0;_0x3c689e=_0x25be76['charAt'](_0x3bcd59++);~_0x3c689e&&(_0x4553d5=_0x5078b5%0x4?_0x4553d5*0x40+_0x3c689e:_0x3c689e,_0x5078b5++%0x4)?_0x261a12+=String['fromCharCode'](0xff&_0x4553d5>>(-0x2*_0x5078b5&0x6)):0x0){_0x3c689e=_0x19b11b['indexOf'](_0x3c689e);}for(let _0x2ca803=0x0,_0x46799c=_0x261a12['length'];_0x2ca803<_0x46799c;_0x2ca803++){_0x3b7c8c+='%'+('00'+_0x261a12['charCodeAt'](_0x2ca803)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b7c8c);};a0_0x5a35['LPRywt']=_0x3a6a79,a0_0x5a35['fouxri']={},a0_0x5a35['mXEZQi']=!![];}const _0x4e3d2b=_0x1d88e4[0x0],_0x35e099=_0x58875f+_0x4e3d2b,_0xaec2ff=a0_0x5a35['fouxri'][_0x35e099];return!_0xaec2ff?(_0x5a35a2=a0_0x5a35['LPRywt'](_0x5a35a2),a0_0x5a35['fouxri'][_0x35e099]=_0x5a35a2):_0x5a35a2=_0xaec2ff,_0x5a35a2;}export class BudgetService{constructor(_0x261a12,_0x3b7c8c){const _0x86ee32=a0_0x5a35;this['config']=_0x261a12||{},this[_0x86ee32(0x191)]=_0x3b7c8c,this[_0x86ee32(0x164)]={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x86ee32(0x1a0)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS[_0x86ee32(0x188)],'monthly':BUDGET_LIMITS[_0x86ee32(0x162)]},this[_0x86ee32(0x17d)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this['loadUsageData'](),this[_0x86ee32(0x1b6)]();}['trackUsage'](_0x5078b5,_0x4553d5,_0x3c689e){const _0x37dbd5=a0_0x5a35;try{const _0x3bcd59=this[_0x37dbd5(0x175)](_0x4553d5,_0x3c689e),_0x2ca803=new Date(),_0x46799c=this[_0x37dbd5(0x16e)](_0x2ca803),_0x51701e=this[_0x37dbd5(0x163)](_0x2ca803),_0x664547=this[_0x37dbd5(0x174)](_0x2ca803);this[_0x37dbd5(0x173)](this['usage']['daily'],_0x46799c),this[_0x37dbd5(0x173)](this['usage']['weekly'],_0x51701e),this['initializeUsageEntry'](this['usage'][_0x37dbd5(0x1b3)],_0x664547);const _0xc15070={'agentId':_0x5078b5,'modelId':_0x4553d5,'tokens':_0x3c689e['total_tokens'],'cost':_0x3bcd59,'timestamp':_0x2ca803['toISOString']()};return this['updateUsageEntry'](this[_0x37dbd5(0x164)]['daily']['get'](_0x46799c),_0xc15070),this['updateUsageEntry'](this['usage']['weekly']['get'](_0x51701e),_0xc15070),this[_0x37dbd5(0x1a9)](this['usage']['monthly']['get'](_0x664547),_0xc15070),this[_0x37dbd5(0x164)]['total'][_0x37dbd5(0x17b)]+=_0x3c689e['total_tokens'],this[_0x37dbd5(0x164)]['total']['cost']+=_0x3bcd59,this['usage']['total'][_0x37dbd5(0x186)]+=0x1,this['checkBudgetLimits'](_0x46799c,_0x51701e,_0x664547),this[_0x37dbd5(0x191)]['info']('Usage\x20tracked',{'agentId':_0x5078b5,'modelId':_0x4553d5,'tokens':_0x3c689e['total_tokens'],'cost':_0x3bcd59,'totalCost':this['usage']['total'][_0x37dbd5(0x19a)]}),{'cost':_0x3bcd59,'totalCost':this['usage'][_0x37dbd5(0x1a3)]['cost'],'totalTokens':this[_0x37dbd5(0x164)][_0x37dbd5(0x1a3)][_0x37dbd5(0x17b)],'dailyUsage':this['usage']['daily']['get'](_0x46799c),'budgetRemaining':this[_0x37dbd5(0x182)]()};}catch(_0x38e2d7){this[_0x37dbd5(0x191)]['error']('Failed\x20to\x20track\x20usage',{'error':_0x38e2d7['message'],'agentId':_0x5078b5,'modelId':_0x4553d5});throw _0x38e2d7;}}['calculateCost'](_0x3b82aa,_0x60ce1e){const _0x229a9f=a0_0x5a35,_0x1f8522=COST_PER_TOKEN[_0x3b82aa];if(!_0x1f8522)return this['logger']['warn']('Unknown\x20model\x20for\x20cost\x20calculation',{'modelId':_0x3b82aa}),0x0;const _0x8c95e=(_0x60ce1e[_0x229a9f(0x19c)]||0x0)*_0x1f8522[_0x229a9f(0x17f)],_0x3d37a1=(_0x60ce1e['completion_tokens']||0x0)*_0x1f8522['output'];return _0x8c95e+_0x3d37a1;}['getUsage'](_0x45fb3a=a0_0x19b1a7(0x1b4),_0x23db96=new Date()){const _0x4b324c=a0_0x19b1a7;switch(_0x45fb3a){case _0x4b324c(0x1b4):return this['usage'][_0x4b324c(0x1b4)][_0x4b324c(0x1ae)](this[_0x4b324c(0x16e)](_0x23db96))||this['createEmptyUsage']();case _0x4b324c(0x19f):return this[_0x4b324c(0x164)]['weekly']['get'](this[_0x4b324c(0x163)](_0x23db96))||this[_0x4b324c(0x184)]();case'monthly':return this['usage']['monthly'][_0x4b324c(0x1ae)](this[_0x4b324c(0x174)](_0x23db96))||this[_0x4b324c(0x184)]();case'total':return{...this['usage'][_0x4b324c(0x1a3)]};default:throw new Error(_0x4b324c(0x18f)+_0x45fb3a);}}['getAgentUsage'](_0x176d8f,_0x5e5296=a0_0x19b1a7(0x1b4)){const _0x37f4d3=a0_0x19b1a7,_0x1138b7=this[_0x37f4d3(0x1b5)](_0x5e5296);return _0x1138b7[_0x37f4d3(0x19e)]?.[_0x176d8f]||this[_0x37f4d3(0x184)]();}[a0_0x19b1a7(0x1aa)](_0x496bfd,_0x29bcb4='daily'){const _0x120659=a0_0x19b1a7,_0x1086ba=this['getUsage'](_0x29bcb4);return _0x1086ba[_0x120659(0x1a8)]?.[_0x496bfd]||this['createEmptyUsage']();}['setBudgets'](_0x45ee38){const _0x5e365f=a0_0x19b1a7;if(_0x45ee38['daily']!==undefined)this['budgets']['daily']=_0x45ee38['daily'];if(_0x45ee38[_0x5e365f(0x19f)]!==undefined)this['budgets']['weekly']=_0x45ee38[_0x5e365f(0x19f)];if(_0x45ee38[_0x5e365f(0x1b3)]!==undefined)this[_0x5e365f(0x1a0)]['monthly']=_0x45ee38['monthly'];this['logger'][_0x5e365f(0x178)]('Budget\x20limits\x20updated',this['budgets']),this[_0x5e365f(0x1b0)]();}['getRemainingBudget'](){const _0x43c73c=a0_0x19b1a7,_0x841d8a=new Date(),_0x4ce638=this['getUsage']('daily',_0x841d8a),_0x3ca998=this[_0x43c73c(0x1b5)]('weekly',_0x841d8a),_0x475140=this['getUsage'](_0x43c73c(0x1b3),_0x841d8a);return{'daily':Math['max'](0x0,this['budgets'][_0x43c73c(0x1b4)]-_0x4ce638[_0x43c73c(0x19a)]),'weekly':Math[_0x43c73c(0x16f)](0x0,this['budgets']['weekly']-_0x3ca998[_0x43c73c(0x19a)]),'monthly':Math['max'](0x0,this['budgets']['monthly']-_0x475140['cost'])};}['isWithinBudget'](_0x5d113c=a0_0x19b1a7(0x1b4)){const _0x36f935=a0_0x19b1a7,_0x2d7582=this['getUsage'](_0x5d113c),_0x316801=this[_0x36f935(0x1a0)][_0x5d113c];return _0x2d7582['cost']<=_0x316801;}['getUsageTrends'](_0xe12892=0x1e){const _0x5df2ac=a0_0x19b1a7,_0x12395e={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x42fddf=new Date();let _0x3c9439=0x0,_0x20b403=0x0,_0x4061c0=0x0;const _0x3e9f5b=new Map(),_0x23d56f=new Map();for(let _0x96e447=0x0;_0x96e447<_0xe12892;_0x96e447++){const _0x1f1773=new Date(_0x42fddf);_0x1f1773['setDate'](_0x1f1773[_0x5df2ac(0x167)]()-_0x96e447);const _0x490e09=this[_0x5df2ac(0x16e)](_0x1f1773),_0x1203fd=this[_0x5df2ac(0x164)][_0x5df2ac(0x1b4)][_0x5df2ac(0x1ae)](_0x490e09);_0x1203fd?(_0x3c9439+=_0x1203fd[_0x5df2ac(0x19a)],_0x20b403+=_0x1203fd[_0x5df2ac(0x17b)],_0x4061c0+=_0x1203fd['requests'],_0x12395e[_0x5df2ac(0x190)]['unshift']({'date':_0x490e09,'cost':_0x1203fd['cost']}),_0x12395e['tokensByDay'][_0x5df2ac(0x193)]({'date':_0x490e09,'tokens':_0x1203fd[_0x5df2ac(0x17b)]}),Object['entries'](_0x1203fd['byAgent']||{})[_0x5df2ac(0x169)](([_0x548103,_0x363b6d])=>{const _0x38fdc7=_0x5df2ac;!_0x3e9f5b['has'](_0x548103)&&_0x3e9f5b[_0x38fdc7(0x1ad)](_0x548103,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x5d2bbd=_0x3e9f5b[_0x38fdc7(0x1ae)](_0x548103);_0x5d2bbd[_0x38fdc7(0x19a)]+=_0x363b6d['cost'],_0x5d2bbd[_0x38fdc7(0x17b)]+=_0x363b6d[_0x38fdc7(0x17b)],_0x5d2bbd['requests']+=_0x363b6d['requests'];}),Object['entries'](_0x1203fd['byModel']||{})[_0x5df2ac(0x169)](([_0x58aacb,_0xb083d1])=>{const _0x113287=_0x5df2ac;!_0x23d56f[_0x113287(0x171)](_0x58aacb)&&_0x23d56f['set'](_0x58aacb,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x18129c=_0x23d56f[_0x113287(0x1ae)](_0x58aacb);_0x18129c['cost']+=_0xb083d1['cost'],_0x18129c['tokens']+=_0xb083d1['tokens'],_0x18129c['requests']+=_0xb083d1[_0x113287(0x186)];})):(_0x12395e['costByDay'][_0x5df2ac(0x193)]({'date':_0x490e09,'cost':0x0}),_0x12395e[_0x5df2ac(0x165)]['unshift']({'date':_0x490e09,'tokens':0x0}));}return _0x12395e[_0x5df2ac(0x1ba)][_0x5df2ac(0x19a)]=_0x3c9439/_0xe12892,_0x12395e[_0x5df2ac(0x1ba)][_0x5df2ac(0x17b)]=_0x20b403/_0xe12892,_0x12395e['dailyAverages'][_0x5df2ac(0x186)]=_0x4061c0/_0xe12892,_0x12395e[_0x5df2ac(0x1b7)]=Array[_0x5df2ac(0x176)](_0x3e9f5b[_0x5df2ac(0x1a4)]())['map'](([_0x142995,_0x2fcc80])=>({'id':_0x142995,..._0x2fcc80}))['sort']((_0x1515c2,_0x408a7e)=>_0x408a7e[_0x5df2ac(0x19a)]-_0x1515c2['cost'])[_0x5df2ac(0x1a6)](0x0,0xa),_0x12395e['topModels']=Array['from'](_0x23d56f[_0x5df2ac(0x1a4)]())['map'](([_0x118529,_0x46f267])=>({'id':_0x118529,..._0x46f267}))['sort']((_0x4ef913,_0x1d7681)=>_0x1d7681['cost']-_0x4ef913['cost'])[_0x5df2ac(0x1a6)](0x0,0xa),_0x12395e;}[a0_0x19b1a7(0x17c)](_0x1b6a86=a0_0x19b1a7(0x18a),_0x4e6de0=null,_0x30a28c=null){const _0x87f3ad=a0_0x19b1a7,_0x4425ba={'budgets':this['budgets'],'total':this['usage'][_0x87f3ad(0x1a3)],'daily':{},'weekly':{},'monthly':{}},_0x3fdbd3=(_0x4654e5,_0x32208c)=>{const _0x2b4bf1=_0x87f3ad,_0x553b4e={};return _0x4654e5[_0x2b4bf1(0x169)]((_0x3fa595,_0x58d756)=>{const _0x698f20=_0x32208c(_0x58d756);(!_0x4e6de0||_0x698f20>=_0x4e6de0)&&(!_0x30a28c||_0x698f20<=_0x30a28c)&&(_0x553b4e[_0x58d756]=_0x3fa595);}),_0x553b4e;};_0x4e6de0||_0x30a28c?(_0x4425ba['daily']=_0x3fdbd3(this[_0x87f3ad(0x164)]['daily'],_0x34a4c9=>new Date(_0x34a4c9)),_0x4425ba['weekly']=_0x3fdbd3(this['usage'][_0x87f3ad(0x19f)],_0x1c8ce4=>new Date(_0x1c8ce4)),_0x4425ba[_0x87f3ad(0x1b3)]=_0x3fdbd3(this['usage']['monthly'],_0x5f3840=>new Date(_0x5f3840+_0x87f3ad(0x1b1)))):(this['usage'][_0x87f3ad(0x1b4)]['forEach']((_0x469a43,_0x305379)=>_0x4425ba[_0x87f3ad(0x1b4)][_0x305379]=_0x469a43),this[_0x87f3ad(0x164)]['weekly'][_0x87f3ad(0x169)]((_0x1fed44,_0x209e9c)=>_0x4425ba[_0x87f3ad(0x19f)][_0x209e9c]=_0x1fed44),this['usage'][_0x87f3ad(0x1b3)]['forEach']((_0x52a632,_0x1726dd)=>_0x4425ba[_0x87f3ad(0x1b3)][_0x1726dd]=_0x52a632));if(_0x1b6a86==='csv')return this['convertToCSV'](_0x4425ba);return JSON[_0x87f3ad(0x1af)](_0x4425ba,null,0x2);}['initializeUsageEntry'](_0xa0bc5d,_0xc7aeb1){const _0x3ef504=a0_0x19b1a7;!_0xa0bc5d['has'](_0xc7aeb1)&&_0xa0bc5d[_0x3ef504(0x1ad)](_0xc7aeb1,this[_0x3ef504(0x184)]());}['createEmptyUsage'](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x19b1a7(0x1a9)](_0x26f794,_0x1a153b){const _0x8cb960=a0_0x19b1a7;_0x26f794['cost']+=_0x1a153b[_0x8cb960(0x19a)],_0x26f794[_0x8cb960(0x17b)]+=_0x1a153b[_0x8cb960(0x17b)],_0x26f794[_0x8cb960(0x186)]+=0x1,!_0x26f794[_0x8cb960(0x19e)][_0x1a153b['agentId']]&&(_0x26f794[_0x8cb960(0x19e)][_0x1a153b[_0x8cb960(0x1b9)]]=this['createEmptyUsage']()),_0x26f794[_0x8cb960(0x19e)][_0x1a153b['agentId']]['cost']+=_0x1a153b['cost'],_0x26f794['byAgent'][_0x1a153b[_0x8cb960(0x1b9)]][_0x8cb960(0x17b)]+=_0x1a153b['tokens'],_0x26f794['byAgent'][_0x1a153b[_0x8cb960(0x1b9)]][_0x8cb960(0x186)]+=0x1,!_0x26f794[_0x8cb960(0x1a8)][_0x1a153b['modelId']]&&(_0x26f794[_0x8cb960(0x1a8)][_0x1a153b['modelId']]=this[_0x8cb960(0x184)]()),_0x26f794['byModel'][_0x1a153b[_0x8cb960(0x168)]][_0x8cb960(0x19a)]+=_0x1a153b['cost'],_0x26f794[_0x8cb960(0x1a8)][_0x1a153b['modelId']][_0x8cb960(0x17b)]+=_0x1a153b[_0x8cb960(0x17b)],_0x26f794[_0x8cb960(0x1a8)][_0x1a153b['modelId']][_0x8cb960(0x186)]+=0x1;}['checkBudgetLimits'](_0x2a90ad,_0x228284,_0x51341f){const _0x543cc2=a0_0x19b1a7,_0x42fd09=this['usage'][_0x543cc2(0x1b4)]['get'](_0x2a90ad),_0x5c8dec=this[_0x543cc2(0x164)]['weekly']['get'](_0x228284),_0x140aa7=this['usage']['monthly']['get'](_0x51341f);_0x42fd09['cost']>this['budgets'][_0x543cc2(0x1b4)]&&this[_0x543cc2(0x16c)]('daily',_0x42fd09['cost'],this['budgets'][_0x543cc2(0x1b4)]),_0x5c8dec['cost']>this['budgets']['weekly']&&this[_0x543cc2(0x16c)](_0x543cc2(0x19f),_0x5c8dec[_0x543cc2(0x19a)],this['budgets']['weekly']),_0x140aa7[_0x543cc2(0x19a)]>this['budgets']['monthly']&&this[_0x543cc2(0x16c)](_0x543cc2(0x1b3),_0x140aa7[_0x543cc2(0x19a)],this['budgets']['monthly']),this[_0x543cc2(0x18b)](_0x42fd09,_0x5c8dec,_0x140aa7);}[a0_0x19b1a7(0x18b)](_0x27f881,_0x2bead3,_0x482b91){const _0x281d48=a0_0x19b1a7,_0x5de005=this[_0x281d48(0x17d)]['thresholds'];this['checkThreshold']('daily',_0x27f881[_0x281d48(0x19a)],this['budgets'][_0x281d48(0x1b4)],_0x5de005),this['checkThreshold']('weekly',_0x2bead3[_0x281d48(0x19a)],this['budgets'][_0x281d48(0x19f)],_0x5de005),this['checkThreshold'](_0x281d48(0x1b3),_0x482b91[_0x281d48(0x19a)],this[_0x281d48(0x1a0)]['monthly'],_0x5de005);}['checkThreshold'](_0x595608,_0x152031,_0x59be70,_0x167405){const _0x46d259=a0_0x19b1a7,_0xd4f6f5=_0x152031/_0x59be70*0x64;for(const _0xbb9d61 of _0x167405){if(_0xd4f6f5>=_0xbb9d61){const _0x882a06=_0x595608+'_'+_0xbb9d61,_0x823600=this['alerts']['lastAlertTimes']['get'](_0x882a06),_0x26819a=Date[_0x46d259(0x199)]();(!_0x823600||_0x26819a-_0x823600>0x36ee80)&&(this['sendThresholdAlert'](_0x595608,_0xd4f6f5,_0xbb9d61,_0x152031,_0x59be70),this['alerts'][_0x46d259(0x194)][_0x46d259(0x1ad)](_0x882a06,_0x26819a));break;}}}['sendBudgetAlert'](_0x2e8a3c,_0x54fae8,_0x1fde20){const _0x4a2ec1=a0_0x19b1a7;this[_0x4a2ec1(0x191)][_0x4a2ec1(0x1b2)](_0x4a2ec1(0x19d),{'period':_0x2e8a3c,'currentUsage':_0x54fae8,'budgetLimit':_0x1fde20,'excess':_0x54fae8-_0x1fde20}),typeof process!=='undefined'&&process['emit']&&process['emit']('budgetAlert',{'type':'budget_exceeded','period':_0x2e8a3c,'currentUsage':_0x54fae8,'budgetLimit':_0x1fde20,'excess':_0x54fae8-_0x1fde20});}['sendThresholdAlert'](_0x3663a7,_0x4a2c81,_0x336e82,_0x38bec4,_0x5b70e0){const _0x51a17b=a0_0x19b1a7;this['logger']['warn'](_0x51a17b(0x16d),{'period':_0x3663a7,'percentage':Math[_0x51a17b(0x180)](_0x4a2c81),'threshold':_0x336e82,'usage':_0x38bec4,'budget':_0x5b70e0}),typeof process!==_0x51a17b(0x181)&&process['emit']&&process[_0x51a17b(0x19b)]('budgetAlert',{'type':'threshold_reached','period':_0x3663a7,'percentage':Math['round'](_0x4a2c81),'threshold':_0x336e82,'usage':_0x38bec4,'budget':_0x5b70e0});}['getDayKey'](_0x5d3b0a){const _0x10d569=a0_0x19b1a7;return _0x5d3b0a[_0x10d569(0x189)]()[_0x10d569(0x195)]('T')[0x0];}[a0_0x19b1a7(0x163)](_0x2a10e8){const _0x4e27d9=a0_0x19b1a7,_0x38f19b=_0x2a10e8[_0x4e27d9(0x196)](),_0x4a572b=this['getWeekNumber'](_0x2a10e8);return _0x38f19b+'-W'+_0x4a572b['toString']()['padStart'](0x2,'0');}[a0_0x19b1a7(0x174)](_0x4176f4){const _0x28dcb5=a0_0x19b1a7,_0xbee6cd=_0x4176f4[_0x28dcb5(0x196)](),_0x4d6ce1=_0x4176f4['getMonth']()+0x1;return _0xbee6cd+'-'+_0x4d6ce1['toString']()['padStart'](0x2,'0');}['getWeekNumber'](_0x8b6213){const _0x27053e=a0_0x19b1a7,_0x569716=new Date(_0x8b6213[_0x27053e(0x196)](),0x0,0x1),_0x30111e=(_0x8b6213-_0x569716)/0x5265c00;return Math['ceil']((_0x30111e+_0x569716[_0x27053e(0x185)]()+0x1)/0x7);}[a0_0x19b1a7(0x1bb)](_0x5ab03e){const _0x6b3897=a0_0x19b1a7,_0x3ea993=[];return _0x3ea993[_0x6b3897(0x17e)]([_0x6b3897(0x17a),'Date','Cost',_0x6b3897(0x198),_0x6b3897(0x16a),_0x6b3897(0x183),_0x6b3897(0x166)]),Object[_0x6b3897(0x1a4)](_0x5ab03e[_0x6b3897(0x1b4)])[_0x6b3897(0x169)](([_0x245d14,_0x8a5aba])=>{const _0x573bf4=_0x6b3897;_0x3ea993['push'](['Daily',_0x245d14,_0x8a5aba[_0x573bf4(0x19a)],_0x8a5aba[_0x573bf4(0x17b)],_0x8a5aba[_0x573bf4(0x186)],'','']),Object['entries'](_0x8a5aba['byAgent']||{})['forEach'](([_0x38584f,_0x42bade])=>{const _0x5ea3b1=_0x573bf4;_0x3ea993['push']([_0x5ea3b1(0x1ab),_0x245d14,_0x42bade['cost'],_0x42bade['tokens'],_0x42bade[_0x5ea3b1(0x186)],_0x38584f,'']);});}),_0x3ea993[_0x6b3897(0x1b8)](_0x4f39f0=>_0x4f39f0[_0x6b3897(0x16b)](','))[_0x6b3897(0x16b)]('\x0a');}[a0_0x19b1a7(0x18c)](){const _0x5c9f3b=a0_0x19b1a7;try{this[_0x5c9f3b(0x191)][_0x5c9f3b(0x178)]('Budget\x20service\x20initialized');}catch(_0x14abea){this[_0x5c9f3b(0x191)][_0x5c9f3b(0x177)]('Failed\x20to\x20load\x20usage\x20data',{'error':_0x14abea['message']});}}['saveUsageData'](){const _0xb2222d=a0_0x19b1a7;try{this['logger'][_0xb2222d(0x197)](_0xb2222d(0x1a2));}catch(_0x2d4edc){this['logger'][_0xb2222d(0x177)](_0xb2222d(0x18e),{'error':_0x2d4edc['message']});}}['setupPeriodicSave'](){setInterval(()=>{const _0x4df0bd=a0_0x5a35;this[_0x4df0bd(0x1b0)]();},0x493e0);}}export default BudgetService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5cc333=a0_0x2f60;function a0_0x2f60(_0x283aae,_0x2efd23){_0x283aae=_0x283aae-0x66;const _0x42b6aa=a0_0x42b6();let _0x2f604c=_0x42b6aa[_0x283aae];if(a0_0x2f60['ZhXZtW']===undefined){var _0x191bd1=function(_0x39c7ca){const _0x4e30d1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x425593='',_0x4828f3='';for(let _0x261339=0x0,_0x465f36,_0x481552,_0x50622b=0x0;_0x481552=_0x39c7ca['charAt'](_0x50622b++);~_0x481552&&(_0x465f36=_0x261339%0x4?_0x465f36*0x40+_0x481552:_0x481552,_0x261339++%0x4)?_0x425593+=String['fromCharCode'](0xff&_0x465f36>>(-0x2*_0x261339&0x6)):0x0){_0x481552=_0x4e30d1['indexOf'](_0x481552);}for(let _0x3252b3=0x0,_0xe1f7ab=_0x425593['length'];_0x3252b3<_0xe1f7ab;_0x3252b3++){_0x4828f3+='%'+('00'+_0x425593['charCodeAt'](_0x3252b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4828f3);};a0_0x2f60['LqBnDT']=_0x191bd1,a0_0x2f60['cgVPvN']={},a0_0x2f60['ZhXZtW']=!![];}const _0x42750b=_0x42b6aa[0x0],_0x1bf86c=_0x283aae+_0x42750b,_0x3919b7=a0_0x2f60['cgVPvN'][_0x1bf86c];return!_0x3919b7?(_0x2f604c=a0_0x2f60['LqBnDT'](_0x2f604c),a0_0x2f60['cgVPvN'][_0x1bf86c]=_0x2f604c):_0x2f604c=_0x3919b7,_0x2f604c;}(function(_0x32f014,_0xbf99f7){const _0x540e3a=a0_0x2f60,_0xe61f34=_0x32f014();while(!![]){try{const _0x516c6f=-parseInt(_0x540e3a(0x7b))/0x1*(-parseInt(_0x540e3a(0x97))/0x2)+parseInt(_0x540e3a(0x88))/0x3+-parseInt(_0x540e3a(0x92))/0x4+parseInt(_0x540e3a(0x87))/0x5+parseInt(_0x540e3a(0x6e))/0x6*(-parseInt(_0x540e3a(0x82))/0x7)+-parseInt(_0x540e3a(0x78))/0x8*(-parseInt(_0x540e3a(0x83))/0x9)+-parseInt(_0x540e3a(0x81))/0xa;if(_0x516c6f===_0xbf99f7)break;else _0xe61f34['push'](_0xe61f34['shift']());}catch(_0x3710ac){_0xe61f34['push'](_0xe61f34['shift']());}}}(a0_0x42b6,0xe9170));import a0_0x425593 from'./fileAttachmentService.js';function a0_0x42b6(){const _0x290e10=['nJq0mZmZouvPyxLlCG','nJnqD2XOC3u','qNL0zxm','cJXMAwXLlxjLzMvYzw5Jzxm+cG','zM9YBwf0qNL0zxm','ota4ntKZnxbLD0T6vG','mte2ntyZoeHovgjLBW','zMLSzu5HBwu','yxr0ywnOBwvUDfnLCNzPy2u','ica8zMLSzsbUyw1Lpsi','Dg9ju09tDhjPBMC','Bw9Kzq','zxn0Aw1HDgvuB3rHBfrVA2vUCW','iIbTB2rPzMLLzd0I','pc9HDhrHy2HLzc1MAwXLCZ4k','Dg9Rzw5fC3rPBwf0zq','mJi5odq4DKzJthbf','zM9YBwf0sw1Hz2vgAwXL','zM9YBwf0vgv4DezPBgu','yNvPBgreEw5HBwLJq29UDgv4Da','zM9YBwf0ugrMrMLSzq','mZmWmti3neTmCK51vq','CMvWBgfJzq','Bg9Nz2vY','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','jMfTCdS','jNf1B3q7','BwvZC2fNzq','s0iIig1Vzgu9iMnVBNrLBNqIpGO','zMXVB3i','zM9YBwf0uMvMzxjLBMnLrMLSzq','z2v0qwn0AxzLqxr0ywnOBwvUDhm','mtjKCeXssfq','Aw5PDgLHBgL6zq','iIb0ExbLpsi','mcbcExrLCW','zM9YBwf0q29UDgvUDezPBgu','y29UDgvUDa','CMvMzxjLBMnL','zMLSDgvY','BgvUz3rO','cIaGpc9MAwXLpG','mtCWmdCYEuPsAfPs','rxjYB3iGyNvPBgrPBMCGzhLUyw1PyYbJB250zxH0','CgrM','mwDZDurdDq','Dg9gAxHLza','rxjYB3iGzxn0Aw1HDgLUzYb0B3rHBcb0B2TLBNm','zxjYB3i','zxnJyxbLwg1S','iIbZAxPLpsi','mte1mJaZmtbiv2Tvr0m'];a0_0x42b6=function(){return _0x290e10;};return a0_0x42b6();}class ContextInjectionService{constructor(_0x4828f3={},_0x261339=null){const _0x5257fa=a0_0x2f60;this['config']=_0x4828f3,this['logger']=_0x261339,this[_0x5257fa(0x8a)]=new a0_0x425593(_0x4828f3,_0x261339);}async[a0_0x5cc333(0x6f)](){const _0x22d3c9=a0_0x5cc333;await this[_0x22d3c9(0x8a)][_0x22d3c9(0x6f)]();}async[a0_0x5cc333(0x95)](_0x465f36){const _0x276151=a0_0x5cc333;try{const _0x481552=await this['attachmentService'][_0x276151(0x6d)](_0x465f36);if(_0x481552[_0x276151(0x76)]===0x0)return'';const _0x50622b=_0x481552[_0x276151(0x75)](_0x7cb6ee=>_0x7cb6ee[_0x276151(0x8d)]===_0x276151(0x73)),_0x3252b3=_0x481552[_0x276151(0x75)](_0x1b3ade=>_0x1b3ade[_0x276151(0x8d)]===_0x276151(0x74));let _0xe1f7ab='';if(_0x50622b[_0x276151(0x76)]>0x0){_0xe1f7ab+='\x0a<attached-files>\x0a';for(const _0x4b8f8d of _0x50622b){const _0x21622d=await this[_0x276151(0x8a)]['getAttachmentContent'](_0x4b8f8d['fileId']);if(_0x21622d){const _0x171546=this['formatContentFile'](_0x4b8f8d,_0x21622d);_0xe1f7ab+=_0x171546+'\x0a';}}_0xe1f7ab+=_0x276151(0x90);}if(_0x3252b3[_0x276151(0x76)]>0x0){_0xe1f7ab+=_0x276151(0x85);for(const _0x2e9b6b of _0x3252b3){const _0x21039d=this[_0x276151(0x6c)](_0x2e9b6b);_0xe1f7ab+=_0x21039d+'\x0a';}_0xe1f7ab+='</file-references>\x0a',_0xe1f7ab+=_0x276151(0x66);}return _0xe1f7ab;}catch(_0x18759c){return this['logger']?.[_0x276151(0x7e)](_0x276151(0x79),{'agentId':_0x465f36,'error':_0x18759c['message']}),'';}}[a0_0x5cc333(0x72)](_0xc9ab29,_0x5d654a){const _0x5982e2=a0_0x5cc333,{fileName:_0x218522,fileType:_0x4036ab,size:_0x15c973,contentType:_0x28f727}=_0xc9ab29,_0x5c87dc=(_0x15c973/0x400)['toFixed'](0x2);if(_0x28f727==='text')return this['formatTextFile'](_0xc9ab29,_0x5d654a);else{if(_0x28f727==='image')return this[_0x5982e2(0x93)](_0xc9ab29,_0x5d654a);else{if(_0x28f727===_0x5982e2(0x7a))return this[_0x5982e2(0x96)](_0xc9ab29,_0x5d654a);}}return _0x5982e2(0x8b)+this['escapeXml'](_0x218522)+'\x22\x20type=\x22'+_0x4036ab+_0x5982e2(0x80)+_0x5c87dc+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x5d654a)+'\x0a\x20\x20</file>';}[a0_0x5cc333(0x94)](_0x215c0e,_0x68eac2){const _0x5676dc=a0_0x5cc333,{fileName:_0x13a25b,fileType:_0x184a13,size:_0x49abb5}=_0x215c0e,_0x3c5827=(_0x49abb5/0x400)[_0x5676dc(0x7c)](0x2);return _0x5676dc(0x8b)+this[_0x5676dc(0x7f)](_0x13a25b)+'\x22\x20type=\x22'+_0x184a13+'\x22\x20size=\x22'+_0x3c5827+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x68eac2)+'\x0a\x20\x20</file>';}['formatImageFile'](_0x21c4c2,_0x5181ec){const _0x2e831a=a0_0x5cc333,{fileName:_0x46e084,fileType:_0x33f741,size:_0x93a98f}=_0x21c4c2,_0x2122ca=(_0x93a98f/0x400)[_0x2e831a(0x7c)](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x46e084)+'\x22\x20type=\x22'+_0x33f741+'\x22\x20size=\x22'+_0x2122ca+_0x2e831a(0x6a)+_0x5181ec+_0x2e831a(0x77);}[a0_0x5cc333(0x96)](_0x4ac32d,_0x88e1c5){const _0x4213d5=a0_0x5cc333,{fileName:_0x3b8903,fileType:_0x2b3e8b,size:_0x16c067}=_0x4ac32d,_0x4d9497=(_0x16c067/0x400)[_0x4213d5(0x7c)](0x2);return _0x4213d5(0x8b)+this[_0x4213d5(0x7f)](_0x3b8903)+_0x4213d5(0x70)+_0x2b3e8b+_0x4213d5(0x80)+_0x4d9497+_0x4213d5(0x6a)+this['escapeXml'](_0x88e1c5)+'\x0a\x20\x20</file>';}[a0_0x5cc333(0x6c)](_0x5e4837){const _0x1291c4=a0_0x5cc333,{fileName:_0xa357be,originalPath:_0x1625f8,size:_0x4b74d3,fileType:_0x15cd1c,lastModified:_0x5c5d1e}=_0x5e4837,_0x1c46f6=this['formatBytes'](_0x4b74d3),_0x564719=new Date(_0x5c5d1e)[_0x1291c4(0x8c)]()['split']('T')[0x0];return _0x1291c4(0x8b)+this[_0x1291c4(0x7f)](_0xa357be)+'\x22\x20path=\x22'+this[_0x1291c4(0x7f)](_0x1625f8)+_0x1291c4(0x80)+_0x1c46f6+_0x1291c4(0x70)+_0x15cd1c+_0x1291c4(0x8f)+_0x564719+'\x22\x20/>';}[a0_0x5cc333(0x7f)](_0x35f82c){const _0x1e0a8d=a0_0x5cc333;if(!_0x35f82c)return'';return _0x35f82c['replace'](/&/g,_0x1e0a8d(0x67))['replace'](/</g,'<')[_0x1e0a8d(0x98)](/>/g,'>')[_0x1e0a8d(0x98)](/"/g,_0x1e0a8d(0x68))[_0x1e0a8d(0x98)](/'/g,''');}[a0_0x5cc333(0x86)](_0x11a7b8){const _0x2849ae=a0_0x5cc333;if(_0x11a7b8===0x0)return _0x2849ae(0x71);const _0x45946c=0x400,_0x5aa0b8=[_0x2849ae(0x84),'KB','MB','GB'],_0x338040=Math[_0x2849ae(0x6b)](Math['log'](_0x11a7b8)/Math['log'](_0x45946c));return parseFloat((_0x11a7b8/Math['pow'](_0x45946c,_0x338040))['toFixed'](0x2))+_0x5aa0b8[_0x338040];}async[a0_0x5cc333(0x8e)](_0x3dcaf3){const _0x194a3e=a0_0x5cc333;try{const _0x33265f=await this['attachmentService'][_0x194a3e(0x6d)](_0x3dcaf3);let _0x53a3e0=0x0;for(const _0x57fc5e of _0x33265f){_0x57fc5e['mode']==='content'?_0x53a3e0+=_0x57fc5e[_0x194a3e(0x91)]||0x0:_0x53a3e0+=0x14;}return _0x53a3e0;}catch(_0x4a1439){return this[_0x194a3e(0x99)]?.[_0x194a3e(0x7e)](_0x194a3e(0x7d),{'agentId':_0x3dcaf3,'error':_0x4a1439['message']}),0x0;}}async['getAttachmentSummary'](_0x21e2ef){const _0x115efc=a0_0x5cc333;try{const _0x304f65=await this['attachmentService'][_0x115efc(0x6d)](_0x21e2ef),_0x3f96c2={'totalActive':_0x304f65['length'],'contentMode':_0x304f65[_0x115efc(0x75)](_0xa28c7b=>_0xa28c7b['mode']===_0x115efc(0x73))[_0x115efc(0x76)],'referenceMode':_0x304f65['filter'](_0x40b225=>_0x40b225[_0x115efc(0x8d)]==='reference')[_0x115efc(0x76)],'estimatedTokens':0x0,'files':[]};for(const _0x171e36 of _0x304f65){_0x3f96c2['estimatedTokens']+=_0x171e36[_0x115efc(0x91)]||0x0,_0x3f96c2['files']['push']({'fileName':_0x171e36[_0x115efc(0x89)],'mode':_0x171e36[_0x115efc(0x8d)],'size':this['formatBytes'](_0x171e36['size']),'tokens':_0x171e36[_0x115efc(0x91)]||0x0});}return _0x3f96c2;}catch(_0x150b0a){return this[_0x115efc(0x99)]?.[_0x115efc(0x7e)]('Error\x20getting\x20attachment\x20summary',{'agentId':_0x21e2ef,'error':_0x150b0a[_0x115efc(0x69)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x590722=a0_0x1d36;(function(_0x4f0ea1,_0x51c952){const _0x21ee22=a0_0x1d36,_0x1e9166=_0x4f0ea1();while(!![]){try{const _0xcab726=parseInt(_0x21ee22(0x237))/0x1+parseInt(_0x21ee22(0x223))/0x2*(parseInt(_0x21ee22(0x1fe))/0x3)+parseInt(_0x21ee22(0x224))/0x4+parseInt(_0x21ee22(0x226))/0x5*(parseInt(_0x21ee22(0x20a))/0x6)+-parseInt(_0x21ee22(0x1f2))/0x7+-parseInt(_0x21ee22(0x1f7))/0x8*(parseInt(_0x21ee22(0x1f4))/0x9)+-parseInt(_0x21ee22(0x21c))/0xa;if(_0xcab726===_0x51c952)break;else _0x1e9166['push'](_0x1e9166['shift']());}catch(_0x68ff9a){_0x1e9166['push'](_0x1e9166['shift']());}}}(a0_0x1fd2,0xb60a1));function a0_0x1d36(_0x1c383b,_0x10e5d2){_0x1c383b=_0x1c383b-0x1e6;const _0x1fd24c=a0_0x1fd2();let _0x1d368b=_0x1fd24c[_0x1c383b];if(a0_0x1d36['XKMZqb']===undefined){var _0x534447=function(_0x2f1790){const _0x128088='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x553831='',_0x320c91='';for(let _0x5035d8=0x0,_0xd890a8,_0x1fb9bb,_0x8f223d=0x0;_0x1fb9bb=_0x2f1790['charAt'](_0x8f223d++);~_0x1fb9bb&&(_0xd890a8=_0x5035d8%0x4?_0xd890a8*0x40+_0x1fb9bb:_0x1fb9bb,_0x5035d8++%0x4)?_0x553831+=String['fromCharCode'](0xff&_0xd890a8>>(-0x2*_0x5035d8&0x6)):0x0){_0x1fb9bb=_0x128088['indexOf'](_0x1fb9bb);}for(let _0x5982c9=0x0,_0x160d18=_0x553831['length'];_0x5982c9<_0x160d18;_0x5982c9++){_0x320c91+='%'+('00'+_0x553831['charCodeAt'](_0x5982c9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x320c91);};a0_0x1d36['VNFtpo']=_0x534447,a0_0x1d36['LOQDNv']={},a0_0x1d36['XKMZqb']=!![];}const _0x2519bb=_0x1fd24c[0x0],_0x5241d4=_0x1c383b+_0x2519bb,_0x4ecb7e=a0_0x1d36['LOQDNv'][_0x5241d4];return!_0x4ecb7e?(_0x1d368b=a0_0x1d36['VNFtpo'](_0x1d368b),a0_0x1d36['LOQDNv'][_0x5241d4]=_0x1d368b):_0x1d368b=_0x4ecb7e,_0x1d368b;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x553831,_0x320c91,_0x5035d8){const _0x39c89c=a0_0x1d36;this['tokenCountingService']=_0x553831,this[_0x39c89c(0x228)]=_0x320c91,this[_0x39c89c(0x1fc)]=_0x5035d8,this['summaryPromptTemplate']=this['_createSummaryPromptTemplate']();}async[a0_0x590722(0x1fb)](_0xd890a8,_0x1fb9bb,_0x8f223d,_0x5982c9={}){const _0x43860c=a0_0x590722,_0x160d18=Date['now']();try{if(!Array[_0x43860c(0x1f8)](_0xd890a8)||_0xd890a8['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0xd890a8['length']<COMPACTION_CONFIG[_0x43860c(0x1f6)])return this[_0x43860c(0x1fc)][_0x43860c(0x213)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0xd890a8[_0x43860c(0x20c)],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0xd890a8,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x43860c(0x201)};const _0x4ae2fc=_0x1fb9bb!==_0x8f223d,_0x514c76=_0x5982c9['isRetry']||![];let _0x180e13;if(_0x4ae2fc)_0x180e13=COMPACTION_STRATEGIES[_0x43860c(0x239)];else _0x514c76?_0x180e13=COMPACTION_STRATEGIES[_0x43860c(0x21f)]:_0x180e13=_0x5982c9['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info'](_0x43860c(0x235),{'messageCount':_0xd890a8[_0x43860c(0x20c)],'currentModel':_0x1fb9bb,'targetModel':_0x8f223d,'strategy':_0x180e13,'isModelSwitch':_0x4ae2fc,'isRetry':_0x514c76});let _0x33777f;switch(_0x180e13){case COMPACTION_STRATEGIES[_0x43860c(0x205)]:_0x33777f=await this['_compactWithSummarization'](_0xd890a8,_0x1fb9bb,_0x5982c9);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x33777f=await this['_compactWithTruncation'](_0xd890a8,_0x8f223d,_0x5982c9);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x33777f=await this[_0x43860c(0x21e)](_0xd890a8,_0x1fb9bb,_0x5982c9);break;default:throw new Error(_0x43860c(0x236)+_0x180e13);}const _0x16bbc3=Date['now']()-_0x160d18;return _0x33777f[_0x43860c(0x1f1)]=_0x16bbc3,_0x33777f[_0x43860c(0x1e7)]=new Date()[_0x43860c(0x1ef)](),this['logger'][_0x43860c(0x217)]('Compaction\x20completed\x20successfully',{'strategy':_0x33777f['strategy'],'originalMessages':_0xd890a8[_0x43860c(0x20c)],'compactedMessages':_0x33777f['compactedMessages'][_0x43860c(0x20c)],'originalTokens':_0x33777f[_0x43860c(0x218)],'compactedTokens':_0x33777f[_0x43860c(0x219)],'reductionPercent':_0x33777f[_0x43860c(0x233)]['toFixed'](0x2),'executionTime':_0x16bbc3+'ms'}),_0x33777f;}catch(_0x30e126){const _0x6191d=Date[_0x43860c(0x207)]()-_0x160d18;this[_0x43860c(0x1fc)][_0x43860c(0x22a)]('Compaction\x20failed',{'error':_0x30e126[_0x43860c(0x1f5)],'messageCount':_0xd890a8['length'],'currentModel':_0x1fb9bb,'targetModel':_0x8f223d,'executionTime':_0x6191d+'ms'});throw _0x30e126;}}async['_compactWithSummarization'](_0x8b826d,_0xc52d56,_0xc2e57f){const _0x1bcc8a=a0_0x590722,_0x43a3b4=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x1d84c3=await this[_0x1bcc8a(0x1ff)]['estimateConversationTokens'](_0x8b826d,_0xc52d56,TOKEN_COUNTING_MODES[_0x1bcc8a(0x1eb)]),_0x1473a9=await this[_0x1bcc8a(0x200)](_0x8b826d,_0xc52d56,COMPACTION_CONFIG[_0x1bcc8a(0x209)],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x1bcc8a(0x1fc)][_0x1bcc8a(0x214)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x1473a9[_0x1bcc8a(0x21a)]['length'],'middleMessages':_0x1473a9[_0x1bcc8a(0x234)]['length'],'endMessages':_0x1473a9['end'][_0x1bcc8a(0x20c)],'middleStartIndex':_0x1473a9['middleStartIndex'],'middleEndIndex':_0x1473a9['middleEndIndex'],'totalMessages':_0x8b826d[_0x1bcc8a(0x20c)]});const _0x2c2ca4=await this['_generateSummary'](_0x1473a9['middle'],_0xc52d56,{..._0xc2e57f,'middleStartIndex':_0x1473a9[_0x1bcc8a(0x204)],'middleEndIndex':_0x1473a9[_0x1bcc8a(0x20f)]}),_0x400f5b=[..._0x1473a9[_0x1bcc8a(0x21a)],_0x2c2ca4,..._0x1473a9[_0x1bcc8a(0x1f9)]],_0x3793ca=await this['tokenCountingService'][_0x1bcc8a(0x22f)](_0x400f5b,_0xc52d56,TOKEN_COUNTING_MODES[_0x1bcc8a(0x1eb)]),_0x3fd706=(_0x1d84c3-_0x3793ca)/_0x1d84c3*0x64;return{'compactedMessages':_0x400f5b,'strategy':_0x43a3b4,'originalTokenCount':_0x1d84c3,'compactedTokenCount':_0x3793ca,'reductionPercent':_0x3fd706,'segments':{'beginningCount':_0x1473a9[_0x1bcc8a(0x21a)]['length'],'middleCount':_0x1473a9[_0x1bcc8a(0x234)][_0x1bcc8a(0x20c)],'endCount':_0x1473a9['end']['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x532c48,_0x344afe,_0x3ee61d){const _0x3b5ab5=a0_0x590722,_0x136873=COMPACTION_STRATEGIES['TRUNCATION'],_0x4bb235=this[_0x3b5ab5(0x1ff)][_0x3b5ab5(0x1e9)](_0x344afe),_0x184f6e=Math[_0x3b5ab5(0x1ea)](_0x4bb235*0.8),_0xe837cd=await this[_0x3b5ab5(0x1ff)]['estimateConversationTokens'](_0x532c48,_0x344afe,TOKEN_COUNTING_MODES[_0x3b5ab5(0x1eb)]),_0x5f16bf=await this['_identifySegments'](_0x532c48,_0x344afe,COMPACTION_CONFIG[_0x3b5ab5(0x20e)],COMPACTION_CONFIG[_0x3b5ab5(0x203)]);this[_0x3b5ab5(0x1fc)][_0x3b5ab5(0x214)]('Segments\x20identified\x20for\x20truncation',{'beginningMessages':_0x5f16bf['beginning']['length'],'middleMessages':_0x5f16bf['middle']['length'],'endMessages':_0x5f16bf['end'][_0x3b5ab5(0x20c)],'targetTokenCount':_0x184f6e,'originalTokenCount':_0xe837cd});const _0xb76d6c={'role':_0x3b5ab5(0x1e8),'content':COMPACTION_CONFIG[_0x3b5ab5(0x210)],'type':_0x3b5ab5(0x230),'timestamp':new Date()[_0x3b5ab5(0x1ef)](),'metadata':{'truncatedMessages':_0x5f16bf['middle'][_0x3b5ab5(0x20c)],'reason':_0x3b5ab5(0x227)}},_0x4ac881=[..._0x5f16bf['beginning'],_0xb76d6c,..._0x5f16bf['end']],_0x3d58e7=await this['tokenCountingService'][_0x3b5ab5(0x22f)](_0x4ac881,_0x344afe,TOKEN_COUNTING_MODES[_0x3b5ab5(0x1eb)]),_0x455a6c=(_0xe837cd-_0x3d58e7)/_0xe837cd*0x64;return{'compactedMessages':_0x4ac881,'strategy':_0x136873,'originalTokenCount':_0xe837cd,'compactedTokenCount':_0x3d58e7,'reductionPercent':_0x455a6c,'segments':{'beginningCount':_0x5f16bf['beginning']['length'],'middleCount':_0x5f16bf[_0x3b5ab5(0x234)][_0x3b5ab5(0x20c)],'endCount':_0x5f16bf[_0x3b5ab5(0x1f9)][_0x3b5ab5(0x20c)],'summaryInserted':![]}};}async[a0_0x590722(0x21e)](_0x1a94ac,_0x1e43a8,_0x5156d6){const _0x1f80fc=a0_0x590722,_0x3735f9=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x3f0721=await this['tokenCountingService'][_0x1f80fc(0x22f)](_0x1a94ac,_0x1e43a8,TOKEN_COUNTING_MODES[_0x1f80fc(0x1eb)]),_0x4edce2=await this[_0x1f80fc(0x200)](_0x1a94ac,_0x1e43a8,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x1f80fc(0x1fc)]['debug'](_0x1f80fc(0x225),{'beginningMessages':_0x4edce2['beginning'][_0x1f80fc(0x20c)],'middleMessages':_0x4edce2['middle'][_0x1f80fc(0x20c)],'endMessages':_0x4edce2[_0x1f80fc(0x1f9)][_0x1f80fc(0x20c)],'middleStartIndex':_0x4edce2['middleStartIndex'],'middleEndIndex':_0x4edce2['middleEndIndex']});const _0x1096c0=await this[_0x1f80fc(0x1f0)](_0x4edce2['middle'],_0x1e43a8,{..._0x5156d6,'aggressive':!![],'middleStartIndex':_0x4edce2['middleStartIndex'],'middleEndIndex':_0x4edce2[_0x1f80fc(0x20f)]}),_0x29e09b=[..._0x4edce2[_0x1f80fc(0x21a)],_0x1096c0,..._0x4edce2['end']],_0x29f6b9=await this[_0x1f80fc(0x1ff)]['estimateConversationTokens'](_0x29e09b,_0x1e43a8,TOKEN_COUNTING_MODES[_0x1f80fc(0x1eb)]),_0x79695f=(_0x3f0721-_0x29f6b9)/_0x3f0721*0x64;return{'compactedMessages':_0x29e09b,'strategy':_0x3735f9,'originalTokenCount':_0x3f0721,'compactedTokenCount':_0x29f6b9,'reductionPercent':_0x79695f,'segments':{'beginningCount':_0x4edce2[_0x1f80fc(0x21a)]['length'],'middleCount':_0x4edce2[_0x1f80fc(0x234)][_0x1f80fc(0x20c)],'endCount':_0x4edce2[_0x1f80fc(0x1f9)][_0x1f80fc(0x20c)],'summaryInserted':!![]}};}async[a0_0x590722(0x200)](_0x3761c2,_0x145b27,_0x33f46f,_0x3ce20e){const _0x3a1e6d=a0_0x590722,_0x2d7c05=await this['tokenCountingService'][_0x3a1e6d(0x22f)](_0x3761c2,_0x145b27,TOKEN_COUNTING_MODES[_0x3a1e6d(0x1eb)]),_0x5aa99b=Math['floor'](_0x2d7c05*_0x33f46f),_0x3d2223=Math['floor'](_0x2d7c05*_0x3ce20e);let _0x102a45=0x0,_0x1af26a=0x0;for(let _0x33adff=0x0;_0x33adff<_0x3761c2['length'];_0x33adff++){const _0x34cbd1=await this[_0x3a1e6d(0x1ff)]['countTokens'](_0x3761c2[_0x33adff]['content'],_0x145b27,TOKEN_COUNTING_MODES[_0x3a1e6d(0x221)]);if(_0x102a45+_0x34cbd1>_0x5aa99b&&_0x33adff>=0x2)break;_0x102a45+=_0x34cbd1,_0x1af26a=_0x33adff+0x1;}let _0x1bf3c4=0x0,_0x2bab34=_0x3761c2['length'];for(let _0x54141f=_0x3761c2['length']-0x1;_0x54141f>=0x0;_0x54141f--){const _0x21affa=await this[_0x3a1e6d(0x1ff)]['countTokens'](_0x3761c2[_0x54141f][_0x3a1e6d(0x1ec)],_0x145b27,TOKEN_COUNTING_MODES['CACHED']);if(_0x1bf3c4+_0x21affa>_0x3d2223)break;_0x1bf3c4+=_0x21affa,_0x2bab34=_0x54141f;}_0x2bab34<_0x1af26a&&(_0x2bab34=_0x1af26a);const _0x9cde0f=_0x3761c2[_0x3a1e6d(0x238)](0x0,_0x1af26a),_0x4efb7e=_0x3761c2[_0x3a1e6d(0x238)](_0x1af26a,_0x2bab34),_0x4d03f4=_0x3761c2['slice'](_0x2bab34);return{'beginning':_0x9cde0f,'middle':_0x4efb7e,'end':_0x4d03f4,'middleStartIndex':_0x1af26a,'middleEndIndex':_0x2bab34-0x1};}async['_generateSummary'](_0x2cea40,_0x4d9da1,_0x3b337b={}){const _0x3eba4f=a0_0x590722;if(_0x2cea40['length']===0x0)return{'role':_0x3eba4f(0x1e8),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3eba4f(0x212),'type':'summary','timestamp':new Date()[_0x3eba4f(0x1ef)]()};const _0x227fda=_0x2cea40[_0x3eba4f(0x1e6)](_0x526bf9=>_0x526bf9[_0x3eba4f(0x22d)]+':\x20'+_0x526bf9['content'])[_0x3eba4f(0x1ed)]('\x0a\x0a'),_0x181ac9=this[_0x3eba4f(0x211)][_0x3eba4f(0x215)](_0x3eba4f(0x1fa),_0x227fda)[_0x3eba4f(0x215)]('{aggressive_instruction}',_0x3b337b[_0x3eba4f(0x206)]?_0x3eba4f(0x208):''),_0x177205=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3eba4f(0x232)]];let _0x192ef5=null;for(const _0x1236f2 of _0x177205){try{this[_0x3eba4f(0x1fc)]['debug'](_0x3eba4f(0x1fd),{'compactionModel':_0x1236f2,'middleMessageCount':_0x2cea40[_0x3eba4f(0x20c)],'middleContentLength':_0x227fda[_0x3eba4f(0x20c)],'aggressive':_0x3b337b[_0x3eba4f(0x206)]});const _0x5152dd=await this['aiService']['sendMessage'](_0x1236f2,_0x181ac9,{'systemPrompt':_0x3eba4f(0x21d),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x3b337b['sessionId'],'platformProvided':!![]}),_0x361c79=_0x5152dd[_0x3eba4f(0x1ec)][_0x3eba4f(0x21b)](),_0x3e5a72=_0x3b337b[_0x3eba4f(0x204)]!==undefined&&_0x3b337b['middleEndIndex']!==undefined?'original\x20messages\x20'+_0x3b337b[_0x3eba4f(0x204)]+'-'+_0x3b337b['middleEndIndex']:_0x2cea40['length']+'\x20messages';return this[_0x3eba4f(0x1fc)][_0x3eba4f(0x217)](_0x3eba4f(0x216),{'compactionModel':_0x1236f2,'originalLength':_0x227fda[_0x3eba4f(0x20c)],'summaryLength':_0x361c79['length'],'compressionRatio':(_0x361c79['length']/_0x227fda['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0x3e5a72}),{'role':'system','content':COMPACTION_CONFIG[_0x3eba4f(0x22e)]+_0x3eba4f(0x22c)+_0x3e5a72+_0x3eba4f(0x1f3)+_0x361c79+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x3eba4f(0x1ef)](),'metadata':{'originalMessageCount':_0x2cea40[_0x3eba4f(0x20c)],'originalStartIndex':_0x3b337b[_0x3eba4f(0x204)],'originalEndIndex':_0x3b337b[_0x3eba4f(0x20f)],'compactionModel':_0x1236f2,'aggressive':_0x3b337b['aggressive']||![]}};}catch(_0x3384bf){_0x192ef5=_0x3384bf,this[_0x3eba4f(0x1fc)]['warn']('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x1236f2,'error':_0x3384bf[_0x3eba4f(0x1f5)],'middleMessageCount':_0x2cea40['length']});}}this[_0x3eba4f(0x1fc)]['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x177205['length'],'lastError':_0x192ef5?.['message'],'middleMessageCount':_0x2cea40[_0x3eba4f(0x20c)]});const _0x2aa2e5=this['_createFallbackSummary'](_0x2cea40),_0x11fe87=_0x3b337b['middleStartIndex']!==undefined&&_0x3b337b['middleEndIndex']!==undefined?_0x3eba4f(0x229)+_0x3b337b['middleStartIndex']+'-'+_0x3b337b['middleEndIndex']:_0x2cea40['length']+_0x3eba4f(0x231);return{'role':'system','content':COMPACTION_CONFIG[_0x3eba4f(0x22e)]+_0x3eba4f(0x22c)+_0x11fe87+']\x0a\x0a'+_0x2aa2e5+'\x0a\x0a'+COMPACTION_CONFIG[_0x3eba4f(0x20d)],'type':_0x3eba4f(0x222),'timestamp':new Date()[_0x3eba4f(0x1ef)](),'metadata':{'originalMessageCount':_0x2cea40[_0x3eba4f(0x20c)],'originalStartIndex':_0x3b337b['middleStartIndex'],'originalEndIndex':_0x3b337b[_0x3eba4f(0x20f)],'fallback':!![],'error':_0x192ef5?.['message'],'modelsAttempted':_0x177205}};}['_createFallbackSummary'](_0x5c1aa8){const _0x241aa3=a0_0x590722,_0x2b969=_0x5c1aa8['length'],_0x41a747=_0x5c1aa8[_0x241aa3(0x1e6)](_0x11af6e=>_0x11af6e[_0x241aa3(0x22d)]),_0x4cde99=_0x41a747[_0x241aa3(0x220)](_0x3e02b2=>_0x3e02b2==='user')['length'],_0x34bf79=_0x41a747['filter'](_0x1a76ff=>_0x1a76ff===_0x241aa3(0x22b))['length'];return'['+_0x2b969+_0x241aa3(0x20b)+_0x4cde99+_0x241aa3(0x1ee)+_0x34bf79+_0x241aa3(0x202)+_0x241aa3(0x23a);}['_createSummaryPromptTemplate'](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}function a0_0x1fd2(){const _0x541c9b=['D2fYBG','zgvIDwC','CMvWBgfJzq','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','Aw5MBW','B3jPz2LUywXuB2TLBKnVDw50','y29TCgfJDgvKvg9Rzw5dB3vUDa','yMvNAw5UAw5N','DhjPBq','mtyZnZC0mgvlB1DlCq','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','quDhuKvtu0Lwrq','zMLSDgvY','q0fdseve','C3vTBwfYEq','ohrfvLntvW','mtu0ntKYofnltvflsa','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','mJa1s2juB25i','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','ywLtzxj2AwnL','B3jPz2LUywWGBwvZC2fNzxmG','zxjYB3i','yxnZAxn0yw50','ic0G','CM9Szq','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','C2vWyxjHDg9Y','ig1LC3nHz2vZ','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','CMvKDwn0Aw9UugvYy2vUDa','BwLKzgXL','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','mJGZmdy1CgnnBvD2','C2XPy2u','vfjvtKnbveLptG','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','BwfW','DgLTzxn0yw1W','C3LZDgvT','z2v0tw9KzwXdB250zxH0v2LUzg93','zMXVB3i','qundvvjbveu','y29UDgvUDa','AM9PBG','ihvZzxiGBwvZC2fNzxmSia','Dg9ju09tDhjPBMC','x2DLBMvYyxrLu3vTBwfYEq','zxHLy3v0Aw9UvgLTzq','mtq4ntK2tKPozefe','xqOk','mti4nJfPDLLbExC','BwvZC2fNzq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','nJu2CfjiAMHd','AxnbCNjHEq','zw5K','E21PzgrSzv9ZzwDTzw50Fq','y29TCgfJDenVBNzLCNnHDgLVBG','Bg9Nz2vY','r2vUzxjHDgLUzYbZDw1Tyxj5','nZiZmJrPqu9nruG','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','x2LKzw50Awz5u2vNBwvUDhm','vg9VigzLDYbTzxnZywDLCW','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','u1vntufssvPbveLptG','ywDNCMvZC2L2zq','BM93','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','ndeYndrQvNLTAui','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','BgvUz3rO','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','BwLKzgXLrw5Ksw5KzxG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4'];a0_0x1fd2=function(){return _0x541c9b;};return a0_0x1fd2();}export default ConversationCompactionService;
|
|
1
|
+
const a0_0x5326e0=a0_0xf01b;(function(_0x2b1588,_0x8a0baa){const _0x285f78=a0_0xf01b,_0x34ec8c=_0x2b1588();while(!![]){try{const _0x148d49=-parseInt(_0x285f78(0x10a))/0x1*(-parseInt(_0x285f78(0xcf))/0x2)+parseInt(_0x285f78(0x107))/0x3*(-parseInt(_0x285f78(0xfe))/0x4)+parseInt(_0x285f78(0xef))/0x5+parseInt(_0x285f78(0xcc))/0x6+parseInt(_0x285f78(0xec))/0x7*(-parseInt(_0x285f78(0x123))/0x8)+-parseInt(_0x285f78(0x109))/0x9*(-parseInt(_0x285f78(0xe8))/0xa)+parseInt(_0x285f78(0xf0))/0xb*(-parseInt(_0x285f78(0xfd))/0xc);if(_0x148d49===_0x8a0baa)break;else _0x34ec8c['push'](_0x34ec8c['shift']());}catch(_0x1b4fbe){_0x34ec8c['push'](_0x34ec8c['shift']());}}}(a0_0x4c27,0x38e1e));function a0_0xf01b(_0x47a245,_0x1998da){_0x47a245=_0x47a245-0xcc;const _0x4c2713=a0_0x4c27();let _0xf01b25=_0x4c2713[_0x47a245];if(a0_0xf01b['nPsFjo']===undefined){var _0x2c16a2=function(_0x2e1e84){const _0x2440fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d4953='',_0x19485f='';for(let _0x380f38=0x0,_0x5e964b,_0x21af07,_0x2f0aa9=0x0;_0x21af07=_0x2e1e84['charAt'](_0x2f0aa9++);~_0x21af07&&(_0x5e964b=_0x380f38%0x4?_0x5e964b*0x40+_0x21af07:_0x21af07,_0x380f38++%0x4)?_0x3d4953+=String['fromCharCode'](0xff&_0x5e964b>>(-0x2*_0x380f38&0x6)):0x0){_0x21af07=_0x2440fe['indexOf'](_0x21af07);}for(let _0x1ddd8b=0x0,_0x14a606=_0x3d4953['length'];_0x1ddd8b<_0x14a606;_0x1ddd8b++){_0x19485f+='%'+('00'+_0x3d4953['charCodeAt'](_0x1ddd8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19485f);};a0_0xf01b['HtXzVr']=_0x2c16a2,a0_0xf01b['ajiztm']={},a0_0xf01b['nPsFjo']=!![];}const _0x1ee304=_0x4c2713[0x0],_0x56f61f=_0x47a245+_0x1ee304,_0x1aa5a1=a0_0xf01b['ajiztm'][_0x56f61f];return!_0x1aa5a1?(_0xf01b25=a0_0xf01b['HtXzVr'](_0xf01b25),a0_0xf01b['ajiztm'][_0x56f61f]=_0xf01b25):_0xf01b25=_0x1aa5a1,_0xf01b25;}import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x3d4953,_0x19485f,_0x380f38){const _0x3d0318=a0_0xf01b;this[_0x3d0318(0x10e)]=_0x3d4953,this[_0x3d0318(0xf2)]=_0x19485f,this[_0x3d0318(0x102)]=_0x380f38,this['summaryPromptTemplate']=this[_0x3d0318(0x11f)]();}async['compactConversation'](_0x5e964b,_0x21af07,_0x2f0aa9,_0x1ddd8b={}){const _0x57a144=a0_0xf01b,_0x14a606=Date[_0x57a144(0xd0)]();try{if(!Array['isArray'](_0x5e964b)||_0x5e964b['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x5e964b['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this['logger']['warn'](_0x57a144(0xff),{'messageCount':_0x5e964b['length'],'minimum':COMPACTION_CONFIG[_0x57a144(0x114)]}),{'compactedMessages':_0x5e964b,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x57a144(0x11d)};const _0x4fbdd3=_0x21af07!==_0x2f0aa9,_0x18e435=_0x1ddd8b['isRetry']||![];let _0x3e3a94;if(_0x4fbdd3)_0x3e3a94=COMPACTION_STRATEGIES[_0x57a144(0xd4)];else _0x18e435?_0x3e3a94=COMPACTION_STRATEGIES[_0x57a144(0x100)]:_0x3e3a94=_0x1ddd8b['strategy']||COMPACTION_STRATEGIES[_0x57a144(0xd6)];this['logger']['info'](_0x57a144(0xdd),{'messageCount':_0x5e964b['length'],'currentModel':_0x21af07,'targetModel':_0x2f0aa9,'strategy':_0x3e3a94,'isModelSwitch':_0x4fbdd3,'isRetry':_0x18e435});let _0x3b0f2f;switch(_0x3e3a94){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x3b0f2f=await this[_0x57a144(0xdc)](_0x5e964b,_0x21af07,_0x1ddd8b);break;case COMPACTION_STRATEGIES[_0x57a144(0xd4)]:_0x3b0f2f=await this[_0x57a144(0xde)](_0x5e964b,_0x2f0aa9,_0x1ddd8b);break;case COMPACTION_STRATEGIES[_0x57a144(0x100)]:_0x3b0f2f=await this['_compactWithAggressiveSummarization'](_0x5e964b,_0x21af07,_0x1ddd8b);break;default:throw new Error(_0x57a144(0x119)+_0x3e3a94);}const _0x4647e7=Date[_0x57a144(0xd0)]()-_0x14a606;return _0x3b0f2f['executionTime']=_0x4647e7,_0x3b0f2f[_0x57a144(0xce)]=new Date()[_0x57a144(0xdf)](),this[_0x57a144(0x102)][_0x57a144(0x106)](_0x57a144(0xf9),{'strategy':_0x3b0f2f[_0x57a144(0xfb)],'originalMessages':_0x5e964b[_0x57a144(0x120)],'compactedMessages':_0x3b0f2f[_0x57a144(0x105)][_0x57a144(0x120)],'originalTokens':_0x3b0f2f[_0x57a144(0xd2)],'compactedTokens':_0x3b0f2f[_0x57a144(0xea)],'reductionPercent':_0x3b0f2f['reductionPercent'][_0x57a144(0xe3)](0x2),'executionTime':_0x4647e7+'ms'}),_0x3b0f2f;}catch(_0x5ea1c0){const _0x2dcedc=Date['now']()-_0x14a606;this['logger']['error']('Compaction\x20failed',{'error':_0x5ea1c0[_0x57a144(0xfa)],'messageCount':_0x5e964b['length'],'currentModel':_0x21af07,'targetModel':_0x2f0aa9,'executionTime':_0x2dcedc+'ms'});throw _0x5ea1c0;}}async['_compactWithSummarization'](_0x2ba6f0,_0x19111b,_0x13ef79){const _0x15b49d=a0_0xf01b,_0x108710=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x252dfe=await this['tokenCountingService']['estimateConversationTokens'](_0x2ba6f0,_0x19111b,TOKEN_COUNTING_MODES[_0x15b49d(0xf7)]),_0x2e5e66=await this['_identifySegments'](_0x2ba6f0,_0x19111b,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x15b49d(0x102)][_0x15b49d(0xf1)](_0x15b49d(0x10b),{'beginningMessages':_0x2e5e66['beginning'][_0x15b49d(0x120)],'middleMessages':_0x2e5e66[_0x15b49d(0xda)][_0x15b49d(0x120)],'endMessages':_0x2e5e66['end'][_0x15b49d(0x120)],'middleStartIndex':_0x2e5e66['middleStartIndex'],'middleEndIndex':_0x2e5e66[_0x15b49d(0xe6)],'totalMessages':_0x2ba6f0[_0x15b49d(0x120)]});const _0x6255c2=await this['_generateSummary'](_0x2e5e66[_0x15b49d(0xda)],_0x19111b,{..._0x13ef79,'middleStartIndex':_0x2e5e66['middleStartIndex'],'middleEndIndex':_0x2e5e66[_0x15b49d(0xe6)]}),_0x37be0d=[..._0x2e5e66[_0x15b49d(0xe0)],_0x6255c2,..._0x2e5e66['end']],_0x16fc7a=await this[_0x15b49d(0x10e)][_0x15b49d(0xeb)](_0x37be0d,_0x19111b,TOKEN_COUNTING_MODES[_0x15b49d(0xf7)]),_0x384578=(_0x252dfe-_0x16fc7a)/_0x252dfe*0x64;return{'compactedMessages':_0x37be0d,'strategy':_0x108710,'originalTokenCount':_0x252dfe,'compactedTokenCount':_0x16fc7a,'reductionPercent':_0x384578,'segments':{'beginningCount':_0x2e5e66[_0x15b49d(0xe0)]['length'],'middleCount':_0x2e5e66[_0x15b49d(0xda)][_0x15b49d(0x120)],'endCount':_0x2e5e66['end']['length'],'summaryInserted':!![]}};}async['_compactWithTruncation'](_0x4582b3,_0x24fd51,_0x28b819){const _0x16b0ea=a0_0xf01b,_0xfeef76=COMPACTION_STRATEGIES['TRUNCATION'],_0xaa7527=this['tokenCountingService'][_0x16b0ea(0x11b)](_0x24fd51),_0x4ed1e8=Math[_0x16b0ea(0x10f)](_0xaa7527*0.8),_0x3358c0=await this['tokenCountingService'][_0x16b0ea(0xeb)](_0x4582b3,_0x24fd51,TOKEN_COUNTING_MODES[_0x16b0ea(0xf7)]),_0x578245=await this[_0x16b0ea(0xcd)](_0x4582b3,_0x24fd51,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this[_0x16b0ea(0x102)]['debug'](_0x16b0ea(0xd7),{'beginningMessages':_0x578245['beginning'][_0x16b0ea(0x120)],'middleMessages':_0x578245[_0x16b0ea(0xda)]['length'],'endMessages':_0x578245[_0x16b0ea(0xd9)]['length'],'targetTokenCount':_0x4ed1e8,'originalTokenCount':_0x3358c0});const _0x29268b={'role':_0x16b0ea(0xf5),'content':COMPACTION_CONFIG[_0x16b0ea(0xd8)],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x578245[_0x16b0ea(0xda)][_0x16b0ea(0x120)],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x5059c7=[..._0x578245[_0x16b0ea(0xe0)],_0x29268b,..._0x578245['end']],_0x54675b=await this[_0x16b0ea(0x10e)]['estimateConversationTokens'](_0x5059c7,_0x24fd51,TOKEN_COUNTING_MODES[_0x16b0ea(0xf7)]),_0x4c8bce=(_0x3358c0-_0x54675b)/_0x3358c0*0x64;return{'compactedMessages':_0x5059c7,'strategy':_0xfeef76,'originalTokenCount':_0x3358c0,'compactedTokenCount':_0x54675b,'reductionPercent':_0x4c8bce,'segments':{'beginningCount':_0x578245[_0x16b0ea(0xe0)][_0x16b0ea(0x120)],'middleCount':_0x578245['middle']['length'],'endCount':_0x578245[_0x16b0ea(0xd9)]['length'],'summaryInserted':![]}};}async[a0_0x5326e0(0xee)](_0x4a3dd2,_0x43deab,_0x59c768){const _0x4755e7=a0_0x5326e0,_0xc758c6=COMPACTION_STRATEGIES[_0x4755e7(0x100)],_0x394547=await this['tokenCountingService']['estimateConversationTokens'](_0x4a3dd2,_0x43deab,TOKEN_COUNTING_MODES['ACCURATE']),_0x255e4b=await this['_identifySegments'](_0x4a3dd2,_0x43deab,COMPACTION_CONFIG[_0x4755e7(0x103)],COMPACTION_CONFIG[_0x4755e7(0x118)]);this['logger']['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x255e4b[_0x4755e7(0xe0)]['length'],'middleMessages':_0x255e4b[_0x4755e7(0xda)][_0x4755e7(0x120)],'endMessages':_0x255e4b['end'][_0x4755e7(0x120)],'middleStartIndex':_0x255e4b['middleStartIndex'],'middleEndIndex':_0x255e4b['middleEndIndex']});const _0x6b8db0=await this[_0x4755e7(0xe5)](_0x255e4b['middle'],_0x43deab,{..._0x59c768,'aggressive':!![],'middleStartIndex':_0x255e4b['middleStartIndex'],'middleEndIndex':_0x255e4b['middleEndIndex']}),_0x3c3c00=[..._0x255e4b[_0x4755e7(0xe0)],_0x6b8db0,..._0x255e4b[_0x4755e7(0xd9)]],_0x2a9f5c=await this[_0x4755e7(0x10e)]['estimateConversationTokens'](_0x3c3c00,_0x43deab,TOKEN_COUNTING_MODES['ACCURATE']),_0x2c090e=(_0x394547-_0x2a9f5c)/_0x394547*0x64;return{'compactedMessages':_0x3c3c00,'strategy':_0xc758c6,'originalTokenCount':_0x394547,'compactedTokenCount':_0x2a9f5c,'reductionPercent':_0x2c090e,'segments':{'beginningCount':_0x255e4b[_0x4755e7(0xe0)][_0x4755e7(0x120)],'middleCount':_0x255e4b['middle']['length'],'endCount':_0x255e4b[_0x4755e7(0xd9)][_0x4755e7(0x120)],'summaryInserted':!![]}};}async['_identifySegments'](_0x24cdb4,_0x38194a,_0x5ab441,_0x54e347){const _0x3dedde=a0_0x5326e0,_0x1fb414=await this['tokenCountingService'][_0x3dedde(0xeb)](_0x24cdb4,_0x38194a,TOKEN_COUNTING_MODES['ACCURATE']),_0x5a8f9d=Math['floor'](_0x1fb414*_0x5ab441),_0x58f692=Math['floor'](_0x1fb414*_0x54e347);let _0x4d5939=0x0,_0x588c2c=0x0;for(let _0x188820=0x0;_0x188820<_0x24cdb4[_0x3dedde(0x120)];_0x188820++){const _0x4527de=await this[_0x3dedde(0x10e)]['countTokens'](_0x24cdb4[_0x188820][_0x3dedde(0xf6)],_0x38194a,TOKEN_COUNTING_MODES['CACHED']);if(_0x4d5939+_0x4527de>_0x5a8f9d&&_0x188820>=0x2)break;_0x4d5939+=_0x4527de,_0x588c2c=_0x188820+0x1;}let _0x8d8c2b=0x0,_0x94e05f=_0x24cdb4['length'];for(let _0x39151d=_0x24cdb4[_0x3dedde(0x120)]-0x1;_0x39151d>=0x0;_0x39151d--){const _0x196c57=await this['tokenCountingService']['countTokens'](_0x24cdb4[_0x39151d]['content'],_0x38194a,TOKEN_COUNTING_MODES[_0x3dedde(0xf3)]);if(_0x8d8c2b+_0x196c57>_0x58f692)break;_0x8d8c2b+=_0x196c57,_0x94e05f=_0x39151d;}_0x94e05f<_0x588c2c&&(_0x94e05f=_0x588c2c);const _0x349f2f=_0x24cdb4['slice'](0x0,_0x588c2c),_0x2ecd24=_0x24cdb4[_0x3dedde(0x11e)](_0x588c2c,_0x94e05f),_0x162c2d=_0x24cdb4[_0x3dedde(0x11e)](_0x94e05f);return{'beginning':_0x349f2f,'middle':_0x2ecd24,'end':_0x162c2d,'middleStartIndex':_0x588c2c,'middleEndIndex':_0x94e05f-0x1};}async[a0_0x5326e0(0xe5)](_0xef7f56,_0x302437,_0x4a0a85={}){const _0x3d733d=a0_0x5326e0;if(_0xef7f56['length']===0x0)return{'role':'system','content':COMPACTION_CONFIG[_0x3d733d(0xf8)]+_0x3d733d(0xe9),'type':_0x3d733d(0xf4),'timestamp':new Date()['toISOString']()};const _0x557ad4=_0xef7f56[_0x3d733d(0xe4)](_0x465437=>_0x465437['role']+':\x20'+_0x465437[_0x3d733d(0xf6)])[_0x3d733d(0x110)]('\x0a\x0a'),_0x112044=this[_0x3d733d(0x10d)][_0x3d733d(0xed)]('{middle_segment}',_0x557ad4)['replace']('{aggressive_instruction}',_0x4a0a85[_0x3d733d(0x112)]?_0x3d733d(0xd3):''),_0x5dfe16=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3d733d(0x115)]];let _0x5c0977=null;for(const _0x30f2d0 of _0x5dfe16){try{this['logger']['debug']('Generating\x20summary',{'compactionModel':_0x30f2d0,'middleMessageCount':_0xef7f56['length'],'middleContentLength':_0x557ad4['length'],'aggressive':_0x4a0a85[_0x3d733d(0x112)]});const _0x203e4f=await this['aiService'][_0x3d733d(0x117)](_0x30f2d0,_0x112044,{'systemPrompt':_0x3d733d(0xdb),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x4a0a85[_0x3d733d(0x101)],'platformProvided':!![]}),_0x47bcc4=_0x203e4f[_0x3d733d(0xf6)][_0x3d733d(0xfc)](),_0xfbcc6b=_0x4a0a85['middleStartIndex']!==undefined&&_0x4a0a85[_0x3d733d(0xe6)]!==undefined?_0x3d733d(0x116)+_0x4a0a85['middleStartIndex']+'-'+_0x4a0a85['middleEndIndex']:_0xef7f56['length']+'\x20messages';return this['logger'][_0x3d733d(0x106)]('Summary\x20generated\x20successfully',{'compactionModel':_0x30f2d0,'originalLength':_0x557ad4['length'],'summaryLength':_0x47bcc4['length'],'compressionRatio':(_0x47bcc4['length']/_0x557ad4[_0x3d733d(0x120)]*0x64)[_0x3d733d(0xe3)](0x2)+'%','indexRange':_0xfbcc6b}),{'role':_0x3d733d(0xf5),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0xfbcc6b+_0x3d733d(0x122)+_0x47bcc4+'\x0a\x0a'+COMPACTION_CONFIG[_0x3d733d(0x121)],'type':_0x3d733d(0xf4),'timestamp':new Date()[_0x3d733d(0xdf)](),'metadata':{'originalMessageCount':_0xef7f56[_0x3d733d(0x120)],'originalStartIndex':_0x4a0a85['middleStartIndex'],'originalEndIndex':_0x4a0a85[_0x3d733d(0xe6)],'compactionModel':_0x30f2d0,'aggressive':_0x4a0a85[_0x3d733d(0x112)]||![]}};}catch(_0x3d79cc){_0x5c0977=_0x3d79cc,this['logger']['warn'](_0x3d733d(0x111),{'compactionModel':_0x30f2d0,'error':_0x3d79cc[_0x3d733d(0xfa)],'middleMessageCount':_0xef7f56[_0x3d733d(0x120)]});}}this[_0x3d733d(0x102)][_0x3d733d(0x113)](_0x3d733d(0x10c),{'modelsAttempted':_0x5dfe16['length'],'lastError':_0x5c0977?.['message'],'middleMessageCount':_0xef7f56[_0x3d733d(0x120)]});const _0x53bce6=this['_createFallbackSummary'](_0xef7f56),_0x36c060=_0x4a0a85[_0x3d733d(0x104)]!==undefined&&_0x4a0a85[_0x3d733d(0xe6)]!==undefined?_0x3d733d(0x116)+_0x4a0a85['middleStartIndex']+'-'+_0x4a0a85['middleEndIndex']:_0xef7f56['length']+'\x20messages';return{'role':_0x3d733d(0xf5),'content':COMPACTION_CONFIG[_0x3d733d(0xf8)]+_0x3d733d(0xe2)+_0x36c060+']\x0a\x0a'+_0x53bce6+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x3d733d(0xdf)](),'metadata':{'originalMessageCount':_0xef7f56['length'],'originalStartIndex':_0x4a0a85['middleStartIndex'],'originalEndIndex':_0x4a0a85[_0x3d733d(0xe6)],'fallback':!![],'error':_0x5c0977?.[_0x3d733d(0xfa)],'modelsAttempted':_0x5dfe16}};}[a0_0x5326e0(0xd5)](_0x4ef07d){const _0x2ae9b7=a0_0x5326e0,_0x2c9a98=_0x4ef07d['length'],_0x41bd4c=_0x4ef07d['map'](_0x4df6ed=>_0x4df6ed[_0x2ae9b7(0x11a)]),_0xc7655e=_0x41bd4c[_0x2ae9b7(0x108)](_0x5161f6=>_0x5161f6==='user')['length'],_0x50e01f=_0x41bd4c[_0x2ae9b7(0x108)](_0x545b49=>_0x545b49===_0x2ae9b7(0xd1))['length'];return'['+_0x2c9a98+'\x20messages\x20summarized\x20-\x20'+_0xc7655e+_0x2ae9b7(0xe7)+_0x50e01f+_0x2ae9b7(0x11c)+_0x2ae9b7(0xe1);}[a0_0x5326e0(0x11f)](){return'You\x20are\x20compacting\x20a\x20conversation\x20to\x20preserve\x20critical\x20information\x20while\x20reducing\x20token\x20count.\x0a\x0aCONTEXT:\x20This\x20is\x20part\x20of\x20a\x20longer\x20conversation\x20that\x20needs\x20compactization\x20for\x20continued\x20processing.\x0a\x0aPRESERVATION\x20GUIDELINES:\x0a\x0aHIGH\x20PRIORITY\x20(Always\x20Preserve):\x0a-\x20Future\x20reference\x20value:\x20Information\x20likely\x20to\x20be\x20referenced\x20again\x0a-\x20Decisions\x20and\x20reasoning:\x20WHY\x20things\x20were\x20decided,\x20not\x20just\x20what\x0a-\x20API\x20signatures\x20and\x20interfaces:\x20Function\x20definitions,\x20method\x20calls\x0a-\x20Active\x20dependencies:\x20Information\x20that\x20ongoing\x20work\x20relies\x20on\x0a-\x20Error\x20patterns\x20and\x20solutions:\x20What\x20failed\x20and\x20how\x20it\x20was\x20fixed\x0a-\x20Key\x20facts\x20and\x20data:\x20Specific\x20numbers,\x20names,\x20configurations\x0a\x0aMEDIUM\x20PRIORITY\x20(Compress\x20Intelligently):\x0a-\x20Code\x20blocks:\x20Keep\x20function\x20signatures\x20+\x20brief\x20description,\x20compress\x20implementation\x20details\x0a-\x20Working\x20solutions:\x20Essence\x20and\x20outcome,\x20not\x20every\x20implementation\x20step\x0a-\x20Failed\x20attempts:\x20Brief\x20mention\x20of\x20what\x20didn\x27t\x20work\x20and\x20why,\x20skip\x20detailed\x20troubleshooting\x0a-\x20Repetitive\x20content:\x20Consolidate\x20similar\x20examples\x20or\x20explanations\x0a\x0aLOW\x20PRIORITY\x20(Heavily\x20Compress/Remove):\x0a-\x20Completed\x20calculations:\x20Keep\x20results,\x20skip\x20intermediate\x20steps\x0a-\x20Verbose\x20explanations:\x20Summarize\x20well-known\x20concepts\x0a-\x20Debug\x20output:\x20Skip\x20terminal\x20logs\x20and\x20error\x20messages\x20that\x20served\x20their\x20purpose\x0a-\x20Trial-and-error\x20sequences:\x20Skip\x20multiple\x20failed\x20attempts\x20with\x20no\x20lasting\x20value\x0a-\x20Acknowledgments\x20and\x20pleasantries:\x20Skip\x20\x22thank\x20you\x22,\x20\x22sure\x22,\x20\x22okay\x22\x20type\x20exchanges\x0a\x0aCONVERSATION\x20SEGMENT\x20TO\x20SUMMARIZE:\x0a{middle_segment}\x0a\x0aTASK:\x20Create\x20a\x20concise\x20summary\x20that\x20preserves\x20logical\x20flow\x20and\x20critical\x20information.\x20Focus\x20on:\x0a1.\x20Key\x20decisions\x20and\x20their\x20reasoning\x0a2.\x20Important\x20facts,\x20data,\x20and\x20configurations\x0a3.\x20Active\x20context\x20needed\x20for\x20continuation\x0a4.\x20Problem-solving\x20outcomes\x20(skip\x20the\x20debugging\x20process)\x0a5.\x20Dependencies\x20and\x20interfaces\x20that\x20code/work\x20relies\x20on\x0a\x0aSomeone\x20reading\x20this\x20should\x20understand\x20the\x20conversation\x20progression\x20and\x20have\x20all\x20information\x20needed\x20for\x20effective\x20continuation.\x0a{aggressive_instruction}\x0a\x0aOUTPUT:\x20Provide\x20ONLY\x20the\x20summary\x20text\x20without\x20preamble,\x20explanation,\x20or\x20meta-commentary.';}}function a0_0x4c27(){const _0x168973=['zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','n1HwAgXkvq','CMvWBgfJzq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','nZq4ndi1EujWsfr5','ode3m1DtqKnHsa','zgvIDwC','ywLtzxj2AwnL','q0fdseve','C3vTBwfYEq','C3LZDgvT','y29UDgvUDa','qundvvjbveu','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','BwvZC2fNzq','C3rYyxrLz3K','DhjPBq','nZu2uLj0swfS','nJeWmdqWueLXC25Q','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','quDhuKvtu0Lwrq','C2vZC2LVBKLK','Bg9Nz2vY','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','y29TCgfJDgvKtwvZC2fNzxm','Aw5MBW','m1nTs0fwCW','zMLSDgvY','ouTLvMvqvq','own3vNrqta','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','qwXSihn1Bw1HCNKGz2vUzxjHDgLVBIbHDhrLBxb0CYbMywLSzwq','C3vTBwfYEvbYB21WDfrLBxbSyxrL','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','zMXVB3i','AM9PBG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','ywDNCMvZC2L2zq','zxjYB3i','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','B3jPz2LUywWGBwvZC2fNzxmG','C2vUze1LC3nHz2u','quDhuKvtu0Lwrv9ftKrFuevsq0vovefhrq','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','CM9Szq','z2v0tw9KzwXdB250zxH0v2LUzg93','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','vg9VigzLDYbTzxnZywDLCW','C2XPy2u','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','BgvUz3rO','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','xqOk','ode0mdmYDgHqCM1p','mtq0oda1oerHChbtEG','x2LKzw50Awz5u2vNBwvUDhm','DgLTzxn0yw1W','nJiZnKPxuKvSqq','BM93','yxnZAxn0yw50','B3jPz2LUywXuB2TLBKnVDw50','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','vfjvtKnbveLptG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','u1vntufssvPbveLptG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','zw5K','BwLKzgXL','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','Dg9ju09tDhjPBMC','yMvNAw5UAw5N','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','ic0G','Dg9gAxHLza','BwfW','x2DLBMvYyxrLu3vTBwfYEq','BwLKzgXLrw5Ksw5KzxG','ihvZzxiGBwvZC2fNzxmSia','mte0otCZmgPPDLnesa','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','y29TCgfJDgvKvg9Rzw5dB3vUDa'];a0_0x4c27=function(){return _0x168973;};return a0_0x4c27();}export default ConversationCompactionService;
|