@loxia-labs/loxia-autopilot-one 1.0.5 → 1.0.7
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 +1 -1
- 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 +1 -0
- package/web-ui/build/static/{index-lCBai6dX.js → index-DE5VFS1q.js} +121 -68
- package/web-ui/build/static/index-CClD1090.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x6bf9c8=a0_0x256d;(function(_0x5d45be,_0x32c17b){const _0x29400f=a0_0x256d,_0x23fbbf=_0x5d45be();while(!![]){try{const _0x2e6e13=-parseInt(_0x29400f(0x19a))/0x1*(-parseInt(_0x29400f(0x15c))/0x2)+-parseInt(_0x29400f(0x1c4))/0x3+parseInt(_0x29400f(0x177))/0x4+parseInt(_0x29400f(0x1b2))/0x5*(-parseInt(_0x29400f(0x1ca))/0x6)+parseInt(_0x29400f(0x165))/0x7+parseInt(_0x29400f(0x1c6))/0x8*(-parseInt(_0x29400f(0x13f))/0x9)+parseInt(_0x29400f(0x162))/0xa;if(_0x2e6e13===_0x32c17b)break;else _0x23fbbf['push'](_0x23fbbf['shift']());}catch(_0x14fad5){_0x23fbbf['push'](_0x23fbbf['shift']());}}}(a0_0x7ad7,0x8e531));function a0_0x7ad7(){const _0x3ac9da=['C3LZDgvT','y2HVAwnLCW','C2vUze1LC3nHz2u','z3b0','y3vZDg9TqxbPs2v5CW','B3bLBMfP','mJKZnJiXmvnkqxnRsG','DxnHz2u','mZK1mJHoDufOruK','y29UDgv4DfDPBMrVDW','y29TCgXLEgL0Eq','zgvIDwC','mJe0ota4nNL5BvnfAa','ve9px01btLLFuKvrvuvtvfm','rKfmtejbq0S','C3vIC3rY','z2v0s2v5C0zVCLjLCxvLC3q','DhjPBq','zxjYB3jiyw5KBgvY','y2XHDwrL','zMfPBhvYzxm','C3r5Bgu','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','Dg9tDhjPBMC','y29UDMvYC2f0Aw9UtwfUywDLCNm','C3DPDgnOqwDLBNrnB2rLBa','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','lcb1C2LUzYbMywXSyMfJAW','ywXS','ueHj','ANnVBG','x2LZvMfSAwrnB2rLBa','u2vYDMLJzsb0zw1WB3jHCMLSEsb1BMf2ywLSywjSzsaTignPCMn1AxqGyNjLywTLCIbPCYbVCgvU','CgHP','AM9PBG','BwfW','qvPvuKu','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','yxbPs2v5twfUywDLCG','x2zVCM1HDfnPBMDSzu1LC3nHz2u','DgLTzw91Da','Aw1Nlq','CxvHBgL0Eq','odu1CunxBLPv','twfRAw5NigLTywDLihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','C3vIC3rYAw5N','A2v5CW','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','DMvUzg9YqxbPs2v5','C3bLzwq','DxjS','uMf0zsbSAw1PDcbLEgnLzwrLza','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','DhjHy2TvC2fNzq','C3rYAw5NAwz5','C3rHy2S','ue9tva','Dw5ZAgLMDa','CMv2AxnLzf9WCM9TChq','su5urvjoquXFu0vsvKvsx0vsuK9s','Dg9vChbLCKnHC2u','quKGC2vYDMLJzsbLBMrWB2LUDcbUB3qGzM91BMq','Bw9KzwXtCgvJCW','r0furvDbwv9usu1ft1vu','l2HLywX0Aa','yMfJA2vUza','y2vPBa','DxnLCG','AxnpCgvU','x2vZDgLTyxrLvg9Rzw5Z','x3n1Bw1HCML6zu1LC3nHz2vZ','ndu0qvbcCgXb','yxbPs2v5','yMfZzvvYBa','ChjLzMvYCMvKtw9KzwW','C3LZDgvTuhjVBxb0','z2v0qwDLBNq','mteXodqWntb3wKL2DKy','C3rVCa','C3rYAw5N','ndi5mdmWCg5uBKTn','Dg9ju09tDhjPBMC','yxbWBgLJyxrPB24VANnVBG','vw5RBM93BIbbssbZzxj2AwnLigvYCM9Y','x2DLDfzLBMrVCKzYB21nB2rLBa','BM93','u2vYDMLJzsb1BMf2ywLSywjSzsWGD2fPDgLUzYa','revfufnfruTFuJe','x21HA2vjBwfNzufqsvjLCxvLC3q','y29UDgvUDa','BgvUz3rO','qKfex1jfuvvfu1q','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','Bw9KzwW','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','x2zVCM1HDezVCKfUDgHYB3bPyW','CMv0CNLbDhrLBxb0CW','ndqWodyZmMHNyKTZwG','BwvZC2fNzxm','C3vTBwfYEq','zMLUAxnOx3jLyxnVBG','ChjVBxb0','Bg9Nz2vY','C2v0','Aw5MBW','Dg90ywXFDg9Rzw5Z','CM9Szq','ywDLBNrjza','zgf0yq','y2LYy3vPDejYzwfRzxi','CgvYC2LZDefNzw50u3rHDgu','yxnZAxn0yw50','CMvXDwvZDff1zxvL','C3rHDhvZvgv4Da','qu5usfjpueLdx0HbsuTv','t1bftKfj','CgXHDgzVCM1qCM92AwrLza','CMfUzg9T','x2zVCM1HDezVCK9Wzw5bsq','yNvKz2v0u2vYDMLJzq','CMf0zuXPBwL0zxjZ','zxjYB3i','CM91DgvnB2rLBa','Cg93','C3rHDhvZ','qxv0AgvUDgLJyxrPB24GzMfPBgvKic0Gy2HLy2SGqvbjignYzwrLBNrPywXZ','BwvZC2fNzq','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','y29UDMvYC2f0Aw9UCW','revfufnfruS','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','D2fYBG','mZyYowTjsw9gqG','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','zxn0Aw1HDgvKvg9Rzw5Z','l2nOyxqVy29TCgXLDgLVBNm','Bwf4vg9Rzw5Z','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','y2HLy2Ttzxj2AwnLsgvHBhrO','uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','yw50AhjVCgLJ','x21HA2vbueLszxf1zxn0','tw9KzwWGDMfSAwrHDgLVBIbMywLSzwq','sfruuca','qu5usfjpueLdx09qvvm','ChvZAa','quKGC2vYDMLJzsbLCNjVCJOG','zMLUAxnOuMvHC29U','AgvHBhrOEq','x2LZq2LYy3vPDejYzwfRzxjpCgvU','qMvHCMvYia','uMv0CNLPBMCGAw4G','qu5usfjpueLdx1nptK5fva','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGquKGC2vYDMLJzq','qu5usfjpueLd','mtv3C01Vrxm','zMfZDa','sw1Hz2uGz2vUzxjHDgLVBIbYzxf1AxjLCYbHig5VBI1LBxb0Esb0zxH0ihbYB21WDa','Dgv4Da','x3jLC2v0q2LYy3vPDejYzwfRzxi','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','Aw5JBhvKzxm','r1buxZq','y29UzMLN','sw52ywXPzcbYzxf1zxn0oIa','C2vZC2LVBKLK','mtaYnhGXmdi0'];a0_0x7ad7=function(){return _0x3ac9da;};return a0_0x7ad7();}import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';class AIService{constructor(_0x4fa2ab,_0x124422,_0x58b9e3,_0x35a117){const _0x979344=a0_0x256d;this[_0x979344(0x1ba)]=_0x4fa2ab,this['logger']=_0x124422,this[_0x979344(0x18d)]=_0x58b9e3,this[_0x979344(0x1d0)]=_0x35a117,this[_0x979344(0x15e)]=_0x4fa2ab['backend']?.['baseUrl']||'https://api.loxia.ai',this[_0x979344(0x13c)]=_0x4fa2ab[_0x979344(0x156)]?.['timeout']||0xea60,this['retryAttempts']=_0x4fa2ab['backend']?.['retryAttempts']||0x3,this[_0x979344(0x18e)]=new Map(),this[_0x979344(0x186)]=new Map(),this[_0x979344(0x183)]={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this['_initializeModelSpecs'](),this[_0x979344(0x1d6)]=new Map(),this['apiKeyManager']=null,this['agentPool']=null;}async[a0_0x6bf9c8(0x1c0)](_0x30270f,_0x594438,_0xb0f0f5={}){const _0x58027b=a0_0x6bf9c8,_0x282a73='req-'+Date['now']()+'-'+Math[_0x58027b(0x18b)]()['toString'](0x24)[_0x58027b(0x1cd)](0x2,0x9);try{if(this[_0x58027b(0x1ac)]())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x30270f);const _0x2ea032=this[_0x58027b(0x19b)](_0x594438,_0x30270f,_0xb0f0f5),_0x603052={'model':_0x30270f,'messages':_0x2ea032,'options':{'max_tokens':this['modelSpecs'][_0x30270f]?.[_0x58027b(0x19f)]||0xfa0,'temperature':_0xb0f0f5['temperature']||0.7,'stream':_0xb0f0f5['stream']||![]},'metadata':{'requestId':_0x282a73,'agentId':_0xb0f0f5[_0x58027b(0x181)],'timestamp':new Date()['toISOString']()}};_0xb0f0f5[_0x58027b(0x160)]&&(_0x603052['system']=_0xb0f0f5[_0x58027b(0x160)]);this[_0x58027b(0x17c)][_0x58027b(0x17e)](_0x58027b(0x171)+_0x30270f,{'requestId':_0x282a73,'agentId':_0xb0f0f5[_0x58027b(0x181)],'messageCount':Array['isArray'](_0x594438)?_0x594438['length']:0x1,'maxTokens':_0x603052['max_tokens']});const _0x28c5c=await this['_makeAPIRequest'](_0x58027b(0x19e),_0x603052,_0x282a73,{..._0xb0f0f5,'sessionId':_0xb0f0f5[_0x58027b(0x1bc)],'platformProvided':_0xb0f0f5[_0x58027b(0x18a)]||![]});return _0x28c5c[_0x58027b(0x1c5)]&&await this['trackUsage'](_0xb0f0f5[_0x58027b(0x181)],_0x30270f,{'prompt_tokens':_0x28c5c['usage']['prompt_tokens']||0x0,'completion_tokens':_0x28c5c[_0x58027b(0x1c5)]['completion_tokens']||0x0,'total_tokens':_0x28c5c['usage'][_0x58027b(0x17f)]||0x0}),this['_resetCircuitBreaker'](),{'content':_0x28c5c[_0x58027b(0x1bf)][0x0]?.[_0x58027b(0x194)]?.['content']||'','model':_0x28c5c[_0x58027b(0x173)],'tokenUsage':_0x28c5c[_0x58027b(0x1c5)],'requestId':_0x282a73,'finishReason':_0x28c5c[_0x58027b(0x1bf)][0x0]?.[_0x58027b(0x17a)]};}catch(_0x3ded2e){this['_recordFailure'](),this[_0x58027b(0x17c)]['error']('AI\x20service\x20request\x20failed:\x20'+_0x3ded2e['message'],{'requestId':_0x282a73,'model':_0x30270f,'agentId':_0xb0f0f5[_0x58027b(0x181)],'error':_0x3ded2e[_0x58027b(0x14c)]}),await this['handleHttpError'](_0x3ded2e,{'requestId':_0x282a73,'model':_0x30270f,'agentId':_0xb0f0f5['agentId']});throw _0x3ded2e;}}async[a0_0x6bf9c8(0x190)](_0x1f9d8e,_0xccebc1={}){const _0xec0448=a0_0x6bf9c8;try{const _0x2771dc=MODEL_ROUTING[_0x1f9d8e[_0xec0448(0x151)]()]||MODEL_ROUTING[_0xec0448(0x1cc)],_0x2ea3e9=[];for(const _0xaaf3e3 of _0x2771dc){const _0x35d839=await this['_checkModelHealth'](_0xaaf3e3);_0x35d839&&_0x2ea3e9[_0xec0448(0x1a8)](_0xaaf3e3);}if(_0x2ea3e9[_0xec0448(0x16f)]===0x0)return this['logger'][_0xec0448(0x199)](_0xec0448(0x1a0)+_0x1f9d8e+_0xec0448(0x1d9)),MODEL_ROUTING['FALLBACK'][0x0];let _0x23dc11=_0x2ea3e9[0x0];if(_0xccebc1['preferredModel']&&_0x2ea3e9['includes'](_0xccebc1['preferredModel']))_0x23dc11=_0xccebc1[_0xec0448(0x15f)];else{if(_0xccebc1[_0xec0448(0x1c8)]==='high'&&_0x2ea3e9[_0xec0448(0x1b8)](MODELS['ANTHROPIC_OPUS']))_0x23dc11=MODELS[_0xec0448(0x1a7)];else _0xccebc1[_0xec0448(0x146)]===_0xec0448(0x1b3)&&_0x2ea3e9['includes'](MODELS['ANTHROPIC_HAIKU'])&&(_0x23dc11=MODELS['ANTHROPIC_HAIKU']);}return this[_0xec0448(0x17c)]['info']('Model\x20routed\x20for\x20task:\x20'+_0x1f9d8e,{'selectedModel':_0x23dc11,'availableModels':_0x2ea3e9[_0xec0448(0x16f)],'context':_0xccebc1}),_0x23dc11;}catch(_0x5e0a32){return this[_0xec0448(0x17c)][_0xec0448(0x18f)](_0xec0448(0x1e3)+_0x5e0a32['message'],{'task':_0x1f9d8e,'context':_0xccebc1}),MODEL_ROUTING[_0xec0448(0x1cc)][0x0];}}async['compactizeConversation'](_0x1fff1e,_0x52bef7){const _0x59643b=a0_0x6bf9c8,_0x47aa9e=this[_0x59643b(0x153)][_0x52bef7];if(!_0x47aa9e)throw new Error('Unknown\x20model:\x20'+_0x52bef7);const _0x23ad0b=_0x47aa9e[_0x59643b(0x1c7)]*0.8;let _0x48baa7=0x0;const _0x1b976d=[],_0x252f80=await Promise[_0x59643b(0x1da)](_0x1fff1e[_0x59643b(0x1e1)](async _0x30261e=>({..._0x30261e,'estimatedTokens':await this['_estimateTokens'](_0x30261e[_0x59643b(0x16e)],_0x52bef7)}))),_0x38cbc7=[..._0x252f80]['reverse']();for(const _0x3852c4 of _0x38cbc7){if(_0x48baa7+_0x3852c4[_0x59643b(0x19d)]>_0x23ad0b){if(_0x1b976d['length']===0x0){const _0x309220=await this['_truncateMessage'](_0x3852c4[_0x59643b(0x16e)],_0x23ad0b);_0x1b976d['unshift']({..._0x3852c4,'content':_0x309220,'estimatedTokens':_0x23ad0b});}break;}_0x1b976d[_0x59643b(0x14e)](_0x3852c4),_0x48baa7+=_0x3852c4['estimatedTokens'];}const _0x551c8a=_0x252f80['slice'](0x0,-_0x1b976d['length']);if(_0x551c8a['length']>0x0){const _0x151c7a=await this['_summarizeMessages'](_0x551c8a,_0x52bef7);_0x1b976d[_0x59643b(0x14e)]({'role':_0x59643b(0x1be),'content':'Previous\x20conversation\x20summary:\x20'+_0x151c7a,'timestamp':_0x551c8a[0x0]['timestamp'],'type':_0x59643b(0x179),'estimatedTokens':await this[_0x59643b(0x15a)](_0x151c7a,_0x52bef7)});}return this['logger']['info']('Conversation\x20compactized\x20for\x20model:\x20'+_0x52bef7,{'originalMessages':_0x1fff1e[_0x59643b(0x16f)],'compactizedMessages':_0x1b976d['length'],'estimatedTokens':_0x48baa7,'maxTokens':_0x23ad0b}),_0x1b976d;}async['trackUsage'](_0x24f6ef,_0x1c987c,_0x398da9,_0x4104aa){const _0x5b0007=a0_0x6bf9c8;try{this[_0x5b0007(0x18d)]&&this['budgetService'][_0x5b0007(0x14a)](_0x24f6ef,_0x1c987c,_0x398da9);}catch(_0x231892){this['logger'][_0x5b0007(0x18f)]('Usage\x20tracking\x20failed:\x20'+_0x231892['message']);}}async['handleHttpError'](_0x38b500,_0x5f1f4e){const _0x234851=a0_0x6bf9c8,_0x48142d=this['errorHandler']?.['classifyError']?.(_0x38b500,_0x5f1f4e);switch(_0x38b500[_0x234851(0x192)]||_0x38b500['code']){case HTTP_STATUS[_0x234851(0x170)]:this[_0x234851(0x17c)]['error']('Bad\x20request\x20to\x20AI\x20service',{'context':_0x5f1f4e,'error':_0x38b500[_0x234851(0x194)]});throw new Error(_0x234851(0x1bb)+_0x38b500[_0x234851(0x194)]);case HTTP_STATUS['UNAUTHORIZED']:this['logger'][_0x234851(0x18f)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x5f1f4e});throw new Error(_0x234851(0x193));case HTTP_STATUS['FORBIDDEN']:this['logger'][_0x234851(0x18f)]('Access\x20forbidden\x20to\x20AI\x20service',{'context':_0x5f1f4e});throw new Error(_0x234851(0x195));case HTTP_STATUS['NOT_FOUND']:this['logger'][_0x234851(0x18f)](_0x234851(0x152),{'context':_0x5f1f4e});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS[_0x234851(0x1cb)]:this[_0x234851(0x17c)][_0x234851(0x199)](_0x234851(0x148),{'context':_0x5f1f4e}),await this['_handleRateLimit'](_0x5f1f4e);throw new Error(_0x234851(0x1a2));case HTTP_STATUS[_0x234851(0x150)]:case HTTP_STATUS['BAD_GATEWAY']:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS[_0x234851(0x154)]:this[_0x234851(0x17c)][_0x234851(0x18f)](_0x234851(0x149),{'context':_0x5f1f4e,'status':_0x38b500[_0x234851(0x192)]}),await this['_handleServiceUnavailable'](_0x5f1f4e);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x234851(0x17c)]['error'](_0x234851(0x168),{'context':_0x5f1f4e,'error':_0x38b500['message']});throw new Error(_0x234851(0x1a9)+_0x38b500['message']);}}['setApiKeyManager'](_0x4d50a3){const _0x358f84=a0_0x6bf9c8;this[_0x358f84(0x1e4)]=_0x4d50a3,this[_0x358f84(0x17c)]?.[_0x358f84(0x17e)](_0x358f84(0x1b0),{'hasManager':!!_0x4d50a3});}['setAgentPool'](_0x342fb2){this['agentPool']=_0x342fb2,this['logger']?.['info']('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x342fb2});}async['generateImage'](_0x301a98,_0x42bdb2={}){const _0x4d5132=a0_0x6bf9c8,_0x3f72ed=_0x4d5132(0x13d)+Date[_0x4d5132(0x16a)]()+'-'+Math[_0x4d5132(0x18b)]()[_0x4d5132(0x1d5)](0x24)['substr'](0x2,0x9);try{if(this[_0x4d5132(0x1ac)]())throw new Error(_0x4d5132(0x1de));if(!_0x301a98||typeof _0x301a98!==_0x4d5132(0x164)||_0x301a98[_0x4d5132(0x1cf)]()[_0x4d5132(0x16f)]===0x0)throw new Error(_0x4d5132(0x1b4));const _0x157bd7=_0x42bdb2['model']||'flux-1.1-pro',_0xf8761b=_0x42bdb2['size']||_0x4d5132(0x1bd),_0x5e92ad=_0x42bdb2[_0x4d5132(0x13e)]||'standard',_0x3f6018=_0x42bdb2['responseFormat']||_0x4d5132(0x147);this[_0x4d5132(0x17c)][_0x4d5132(0x17e)](_0x4d5132(0x19c)+_0x157bd7,{'requestId':_0x3f72ed,'model':_0x157bd7,'size':_0xf8761b,'quality':_0x5e92ad,'promptLength':_0x301a98[_0x4d5132(0x16f)]});const _0x1b023e={'prompt':_0x301a98,'model':_0x157bd7,'size':_0xf8761b,'quality':_0x5e92ad,'response_format':_0x3f6018,'n':0x1,'metadata':{'requestId':_0x3f72ed,'timestamp':new Date()['toISOString']()}},_0x5ddf5a=await this[_0x4d5132(0x16d)](_0x1b023e,_0x3f72ed,{'sessionId':_0x42bdb2['sessionId'],'platformProvided':_0x42bdb2['platformProvided']||![]});return this[_0x4d5132(0x1b6)](),{'url':_0x5ddf5a[_0x4d5132(0x182)]?.[0x0]?.['url']||null,'b64_json':_0x5ddf5a['data']?.[0x0]?.['b64_json']||null,'model':_0x5ddf5a[_0x4d5132(0x173)]||_0x157bd7,'requestId':_0x3f72ed,'revisedPrompt':_0x5ddf5a[_0x4d5132(0x182)]?.[0x0]?.[_0x4d5132(0x14f)]||_0x301a98};}catch(_0x4e9c74){this['_recordFailure'](),this['logger']['error'](_0x4d5132(0x1b7)+_0x4e9c74['message'],{'requestId':_0x3f72ed,'model':_0x42bdb2['model'],'error':_0x4e9c74[_0x4d5132(0x14c)]});throw _0x4e9c74;}}async[a0_0x6bf9c8(0x1a1)](){const _0x527a75=a0_0x6bf9c8;try{const _0x3a107f=await this['_makeAPIRequest'](_0x527a75(0x155),{},'health-check');return _0x3a107f[_0x527a75(0x192)]===_0x527a75(0x1ab);}catch(_0x36c13b){return![];}}async[a0_0x6bf9c8(0x1d7)](_0x3593fe,_0x2cf1fe){const _0x3699f5=a0_0x6bf9c8;try{if(!this['_isValidModel'](_0x2cf1fe))throw new Error('Invalid\x20model:\x20'+_0x2cf1fe);let _0x4ead9f=this[_0x3699f5(0x1d6)]['get'](_0x3593fe);!_0x4ead9f&&(_0x4ead9f=new ConversationManager(_0x3593fe,this['logger']),this['conversationManagers'][_0x3699f5(0x17d)](_0x3593fe,_0x4ead9f));const _0x307d18=await _0x4ead9f['switchModel'](_0x2cf1fe),_0x951066=await this['agentPool']?.[_0x3699f5(0x161)](_0x3593fe);return _0x951066&&(_0x951066['currentModel']=_0x2cf1fe,await this['agentPool'][_0x3699f5(0x184)](_0x3593fe)),this[_0x3699f5(0x17c)][_0x3699f5(0x17e)](_0x3699f5(0x144)+_0x3593fe,{'newModel':_0x2cf1fe,'messageCount':_0x307d18['messages']['length']}),{'success':!![],'agentId':_0x3593fe,'newModel':_0x2cf1fe,'conversation':_0x307d18};}catch(_0x597a16){this[_0x3699f5(0x17c)]['error']('Model\x20switch\x20failed:\x20'+_0x597a16['message'],{'agentId':_0x3593fe,'newModel':_0x2cf1fe});throw _0x597a16;}}['_initializeModelSpecs'](){const _0x3566cc=a0_0x6bf9c8,_0x267661={[MODELS[_0x3566cc(0x1af)]]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS['ANTHROPIC_OPUS']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS[_0x3566cc(0x188)]]:{'provider':MODEL_PROVIDERS[_0x3566cc(0x1b1)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS[_0x3566cc(0x1b9)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS[_0x3566cc(0x189)],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS[_0x3566cc(0x189)],'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[_0x3566cc(0x189)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x3566cc(0x16c)]]:{'provider':MODEL_PROVIDERS[_0x3566cc(0x197)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS['PHI_4']]:{'provider':MODEL_PROVIDERS[_0x3566cc(0x1db)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':_0x3566cc(0x1e2),'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':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x3566cc(0x1e2),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x267661;}['_formatMessagesForModel'](_0x4cd65e,_0x569b96,_0xca76f7){const _0x41ffe5=a0_0x6bf9c8,_0x4b6b82=this[_0x41ffe5(0x153)][_0x569b96]||{'provider':_0x41ffe5(0x1e2)};let _0x1e9d00;typeof _0x4cd65e===_0x41ffe5(0x164)?_0x1e9d00=[{'role':'user','content':_0x4cd65e}]:_0x1e9d00=_0x4cd65e['map'](_0x41af6c=>this['_formatSingleMessage'](_0x41af6c,_0x569b96));switch(_0x4b6b82['provider']){case MODEL_PROVIDERS[_0x41ffe5(0x1b1)]:return this[_0x41ffe5(0x175)](_0x1e9d00);case MODEL_PROVIDERS['OPENAI']:return this[_0x41ffe5(0x18c)](_0x1e9d00);case MODEL_PROVIDERS[_0x41ffe5(0x1e2)]:return this['_formatForAzure'](_0x1e9d00);default:return _0x1e9d00;}}[a0_0x6bf9c8(0x1e5)](_0x4477d5,_0xf4c2d0){const _0x25d7bc=a0_0x6bf9c8;return{'role':_0x4477d5[_0x25d7bc(0x180)]||_0x25d7bc(0x158),'content':_0x4477d5['content'],'timestamp':_0x4477d5['timestamp']};}[a0_0x6bf9c8(0x175)](_0xe8b535){return _0xe8b535['map'](_0x3aa0c5=>{const _0xf821e4=a0_0x256d;if(_0x3aa0c5['role']==='system')return{'role':'user','content':'System:\x20'+_0x3aa0c5[_0xf821e4(0x16e)]};return _0x3aa0c5;});}[a0_0x6bf9c8(0x18c)](_0x150062){return _0x150062;}['_formatForAzure'](_0x5421d4){const _0x518501=a0_0x6bf9c8;return _0x5421d4[_0x518501(0x1e1)](_0x48a1a7=>({..._0x48a1a7,'content':typeof _0x48a1a7['content']===_0x518501(0x164)?_0x48a1a7['content']:JSON[_0x518501(0x14b)](_0x48a1a7['content'])}));}[a0_0x6bf9c8(0x1dd)](_0x29f85c){const _0x37ca67=a0_0x6bf9c8;this[_0x37ca67(0x17c)][_0x37ca67(0x1c9)]('Validating\x20model',{'model':_0x29f85c,'modelType':typeof _0x29f85c});if(this['modelSpecs'][_0x29f85c]!==undefined)return!![];return this[_0x37ca67(0x17c)]['warn'](_0x37ca67(0x1a5),{'model':_0x29f85c,'availableModels':Object['keys'](this[_0x37ca67(0x153)])}),![];}async['_checkModelHealth'](_0x15a2d3){return!![];}async[a0_0x6bf9c8(0x15a)](_0x461121,_0x45d48c){const _0x1b5ec8=a0_0x6bf9c8;return Math[_0x1b5ec8(0x157)](_0x461121['length']/0x4);}async['_truncateMessage'](_0x2aab27,_0x5bcaba){const _0x20d3a8=a0_0x6bf9c8,_0x2248bf=_0x5bcaba*0x4;if(_0x2aab27[_0x20d3a8(0x16f)]<=_0x2248bf)return _0x2aab27;return _0x2aab27['substring'](0x0,_0x2248bf-0x14)+'\x0a...\x20[message\x20truncated]';}async[a0_0x6bf9c8(0x15b)](_0x36ea3c,_0x3fe20a){const _0x307dc5=a0_0x6bf9c8,_0x51c3b6=_0x36ea3c[_0x307dc5(0x1e1)](_0x121200=>_0x121200[_0x307dc5(0x180)]+':\x20'+_0x121200[_0x307dc5(0x16e)])[_0x307dc5(0x1e0)]('\x0a'),_0x4dfb96=0x1f4;if(_0x51c3b6['length']<=_0x4dfb96)return _0x51c3b6;return _0x51c3b6[_0x307dc5(0x142)](0x0,_0x4dfb96)+'...\x20[conversation\x20summary\x20truncated]';}async[a0_0x6bf9c8(0x1a4)](_0x2feb2b,_0x1b582b,_0x3e93cb,_0x370eb3={}){const _0x14f8b8=a0_0x6bf9c8,_0x246de9='https://autopilot-api.azurewebsites.net/llm/chat';let _0x5f016e,_0xb5d198=null,_0x52950e=null;this['logger']?.['info']('🔑\x20API\x20Key\x20retrieval\x20state',{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x370eb3['sessionId'],'hasSessionId':!!_0x370eb3[_0x14f8b8(0x1bc)],'optionsKeys':Object[_0x14f8b8(0x143)](_0x370eb3),'model':_0x1b582b['model']});if(this['apiKeyManager']&&_0x370eb3[_0x14f8b8(0x1bc)]){const _0x17955e=this['apiKeyManager']['getKeysForRequest'](_0x370eb3['sessionId'],{'platformProvided':_0x370eb3[_0x14f8b8(0x18a)]||![],'vendor':this['_getVendorFromModel'](_0x1b582b['model'])});_0xb5d198=_0x17955e['loxiaApiKey'],_0x52950e=_0x17955e[_0x14f8b8(0x145)],this[_0x14f8b8(0x17c)]?.['debug']('Retrieved API keys from session manager',{'sessionId':_0x370eb3[_0x14f8b8(0x1bc)],'hasLoxiaKey':!!_0xb5d198,'hasVendorKey':!!_0x52950e,'vendor':this[_0x14f8b8(0x169)](_0x1b582b[_0x14f8b8(0x173)])});}!_0xb5d198&&_0x370eb3['apiKey']&&(_0xb5d198=_0x370eb3['apiKey']);!_0xb5d198&&this[_0x14f8b8(0x1ba)]['apiKey']&&(_0xb5d198=this[_0x14f8b8(0x1ba)]['apiKey']);if(!_0xb5d198)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x13e426=_0x1b582b[_0x14f8b8(0x173)],_0x5798c3={'conversationId':_0x3e93cb,'message':_0x1b582b[_0x14f8b8(0x178)][_0x1b582b[_0x14f8b8(0x178)][_0x14f8b8(0x16f)]-0x1]?.['content']||'','messages':_0x1b582b[_0x14f8b8(0x178)],'model':_0x13e426,'requestId':_0x3e93cb,'options':_0x1b582b['options']||{},'platformProvided':_0x370eb3['platformProvided']||![]};_0x1b582b[_0x14f8b8(0x1be)]&&(_0x5798c3['systemPrompt']=_0x1b582b[_0x14f8b8(0x1be)]);_0x370eb3['platformProvided']?_0x5798c3['apiKey']=_0xb5d198:(_0x52950e&&(_0x5798c3[_0x14f8b8(0x145)]=_0x52950e),_0x370eb3[_0x14f8b8(0x1c2)]&&(_0x5798c3['customApiKeys']=_0x370eb3['customApiKeys']),_0x5798c3[_0x14f8b8(0x15d)]=_0xb5d198);for(let _0xd7f286=0x1;_0xd7f286<=this['retryAttempts'];_0xd7f286++){try{this[_0x14f8b8(0x17c)]['info']('Making\x20request\x20to\x20Azure\x20backend',{'url':_0x246de9,'model':_0x1b582b[_0x14f8b8(0x173)],'requestId':_0x3e93cb,'attempt':_0xd7f286,'hasApiKey':!!_0xb5d198});const _0x250e58=await fetch(_0x246de9,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':_0x14f8b8(0x1ad)+_0xb5d198,'X-Request-ID':_0x3e93cb},'body':JSON[_0x14f8b8(0x14b)](_0x5798c3),'timeout':this[_0x14f8b8(0x13c)]});if(!_0x250e58['ok']){const _0x111c64=await _0x250e58['text'](),_0x5cdbec=new Error(_0x14f8b8(0x1a6)+_0x250e58[_0x14f8b8(0x192)]+':\x20'+_0x250e58['statusText']+(_0x111c64?'\x20-\x20'+_0x111c64:''));_0x5cdbec['status']=_0x250e58['status'];throw _0x5cdbec;}const _0x428a86=await _0x250e58['json']();return{'choices':[{'message':{'content':_0x428a86[_0x14f8b8(0x16e)]||'','role':_0x14f8b8(0x185)},'finish_reason':_0x428a86[_0x14f8b8(0x1aa)]||'stop'}],'usage':_0x428a86[_0x14f8b8(0x1c5)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x428a86['model']||_0x1b582b[_0x14f8b8(0x173)],'id':_0x428a86['requestId']||_0x3e93cb};}catch(_0x279746){_0x5f016e=_0x279746,this['logger'][_0x14f8b8(0x199)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0xd7f286,'requestId':_0x3e93cb,'error':_0x279746[_0x14f8b8(0x194)],'status':_0x279746['status']});if(_0xd7f286<this[_0x14f8b8(0x176)]){const _0x23355c=Math[_0x14f8b8(0x191)](0x2,_0xd7f286)*0x3e8;this['logger']['warn'](_0x14f8b8(0x1ae)+_0x23355c+'ms',{'attempt':_0xd7f286,'requestId':_0x3e93cb}),await new Promise(_0xa30c12=>setTimeout(_0xa30c12,_0x23355c));}}}this[_0x14f8b8(0x17c)][_0x14f8b8(0x18f)]('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x3e93cb,'error':_0x5f016e[_0x14f8b8(0x194)]});const _0x8cac41=_0x5f016e['message']&&_0x5f016e['message']['includes']('No\x20API\x20key\x20configured');if(_0x8cac41)throw new Error('API\x20Configuration\x20Error:\x20'+_0x5f016e['message']);return{'choices':[{'message':{'content':_0x14f8b8(0x198)+_0x5f016e['message'],'role':_0x14f8b8(0x185)},'finish_reason':_0x14f8b8(0x163)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x1b582b['model'],'id':'error-'+_0x3e93cb,'error':_0x5f016e[_0x14f8b8(0x194)]};}async['_makeImageAPIRequest'](_0x394e20,_0x823de7,_0x1f9657={}){const _0x50dd83=a0_0x6bf9c8,_0x234241='https://autopilot-api.azurewebsites.net/llm/generate-image';let _0x3b2c59,_0x2c253e=null,_0x539d36=null;this['logger']?.['info'](_0x50dd83(0x1d8),{'hasApiKeyManager':!!this[_0x50dd83(0x1e4)],'sessionId':_0x1f9657['sessionId'],'hasSessionId':!!_0x1f9657[_0x50dd83(0x1bc)],'model':_0x394e20[_0x50dd83(0x173)]});if(this['apiKeyManager']&&_0x1f9657[_0x50dd83(0x1bc)]){const _0x5863a9=this['apiKeyManager'][_0x50dd83(0x1ce)](_0x1f9657[_0x50dd83(0x1bc)],{'platformProvided':_0x1f9657['platformProvided']||![],'vendor':this[_0x50dd83(0x169)](_0x394e20[_0x50dd83(0x173)])});_0x2c253e=_0x5863a9['loxiaApiKey'],_0x539d36=_0x5863a9['vendorApiKey'],this[_0x50dd83(0x17c)]?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x1f9657[_0x50dd83(0x1bc)],'hasLoxiaKey':!!_0x2c253e,'hasVendorKey':!!_0x539d36});}!_0x2c253e&&_0x1f9657[_0x50dd83(0x15d)]&&(_0x2c253e=_0x1f9657[_0x50dd83(0x15d)]);!_0x2c253e&&this['config']['apiKey']&&(_0x2c253e=this['config'][_0x50dd83(0x15d)]);if(!_0x2c253e)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x3bfa4e={'prompt':_0x394e20[_0x50dd83(0x17b)],'model':_0x394e20[_0x50dd83(0x173)]||'azure-openai-dalle3','size':_0x394e20['size'],'quality':_0x394e20['quality'],'style':_0x394e20[_0x50dd83(0x1d3)]||'vivid','n':_0x394e20['n']||0x1,'requestId':_0x823de7};for(let _0x1ec376=0x1;_0x1ec376<=this[_0x50dd83(0x176)];_0x1ec376++){try{this[_0x50dd83(0x17c)][_0x50dd83(0x17e)](_0x50dd83(0x140),{'url':_0x234241,'model':_0x394e20['model'],'requestId':_0x823de7,'attempt':_0x1ec376,'hasApiKey':!!_0x2c253e});const _0x2d58e0=await fetch(_0x234241,{'method':_0x50dd83(0x14d),'headers':{'Content-Type':_0x50dd83(0x167),'Authorization':_0x50dd83(0x1ad)+_0x2c253e,'X-Request-ID':_0x823de7},'body':JSON['stringify'](_0x3bfa4e),'timeout':this['timeout']*0x2});if(!_0x2d58e0['ok']){const _0x2a6018=await _0x2d58e0[_0x50dd83(0x1b5)](),_0x2ed464=new Error(_0x50dd83(0x1a6)+_0x2d58e0[_0x50dd83(0x192)]+':\x20'+_0x2d58e0[_0x50dd83(0x187)]+(_0x2a6018?'\x20-\x20'+_0x2a6018:''));_0x2ed464[_0x50dd83(0x192)]=_0x2d58e0[_0x50dd83(0x192)];throw _0x2ed464;}const _0x89c66e=await _0x2d58e0[_0x50dd83(0x1dc)]();return{'data':_0x89c66e['images']||[],'model':_0x89c66e['model']||_0x394e20['model'],'created':_0x89c66e['created']||Date[_0x50dd83(0x16a)](),'usage':_0x89c66e[_0x50dd83(0x1c5)]};}catch(_0xf49e25){_0x3b2c59=_0xf49e25,this['logger'][_0x50dd83(0x199)]('Image\x20request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x1ec376,'requestId':_0x823de7,'error':_0xf49e25['message'],'status':_0xf49e25[_0x50dd83(0x192)]});if(_0x1ec376<this['retryAttempts']){const _0x3017d0=Math['pow'](0x2,_0x1ec376)*0x3e8;this['logger']['warn'](_0x50dd83(0x1ae)+_0x3017d0+'ms',{'attempt':_0x1ec376,'requestId':_0x823de7}),await new Promise(_0x47fcad=>setTimeout(_0x47fcad,_0x3017d0));}}}this['logger']['error']('All\x20image\x20generation\x20attempts\x20failed',{'requestId':_0x823de7,'error':_0x3b2c59['message']});throw new Error(_0x50dd83(0x1b7)+_0x3b2c59[_0x50dd83(0x194)]);}async['_checkRateLimit'](_0xf93759){await new Promise(_0x3495cc=>setTimeout(_0x3495cc,0x64));}async['_handleRateLimit'](_0x57b4ea){const _0x1c2636=a0_0x6bf9c8,_0x4578ec=0xea60;this[_0x1c2636(0x17c)][_0x1c2636(0x17e)](_0x1c2636(0x1d4)+_0x4578ec+'ms',_0x57b4ea),await new Promise(_0x5b90c6=>setTimeout(_0x5b90c6,_0x4578ec));}async[a0_0x6bf9c8(0x172)](_0x3a1e41){const _0x31ad90=a0_0x6bf9c8;this['_recordFailure']();const _0x5d5a79=0x7530;this[_0x31ad90(0x17c)][_0x31ad90(0x17e)](_0x31ad90(0x16b)+_0x5d5a79+'ms',_0x3a1e41),await new Promise(_0x4b4089=>setTimeout(_0x4b4089,_0x5d5a79));}['_isCircuitBreakerOpen'](){const _0x18d915=a0_0x6bf9c8;if(!this['circuitBreaker']['isOpen'])return![];const _0x212270=Date['now']()-this[_0x18d915(0x183)]['lastFailureTime'];if(_0x212270>this['circuitBreaker']['timeout'])return this['circuitBreaker']['isOpen']=![],this['circuitBreaker'][_0x18d915(0x1d2)]=0x0,![];return!![];}['_recordFailure'](){const _0x445bdf=a0_0x6bf9c8;this[_0x445bdf(0x183)]['failures']++,this['circuitBreaker']['lastFailureTime']=Date[_0x445bdf(0x16a)](),this['circuitBreaker'][_0x445bdf(0x1d2)]>=this[_0x445bdf(0x183)]['threshold']&&(this['circuitBreaker'][_0x445bdf(0x159)]=!![],this['logger']['warn'](_0x445bdf(0x174)));}[a0_0x6bf9c8(0x1b6)](){const _0xf6ce76=a0_0x6bf9c8;this[_0xf6ce76(0x183)]['failures']>0x0&&(this['circuitBreaker'][_0xf6ce76(0x1d2)]=0x0,this[_0xf6ce76(0x183)][_0xf6ce76(0x159)]=![],this['logger']['info'](_0xf6ce76(0x141)));}[a0_0x6bf9c8(0x169)](_0x5cdff1){const _0x26e602=a0_0x6bf9c8;if(!_0x5cdff1)return null;const _0x3a5098=_0x5cdff1['toLowerCase']();if(_0x3a5098[_0x26e602(0x1b8)]('anthropic')||_0x3a5098['includes'](_0x26e602(0x1d1)))return _0x26e602(0x1a3);else{if(_0x3a5098['includes']('openai')||_0x3a5098['includes'](_0x26e602(0x1c1)))return _0x26e602(0x1c3);else{if(_0x3a5098[_0x26e602(0x1b8)]('deepseek'))return'deepseek';else{if(_0x3a5098[_0x26e602(0x1b8)](_0x26e602(0x1df)))return'microsoft';}}}return null;}}function a0_0x256d(_0x48a763,_0x21d537){_0x48a763=_0x48a763-0x13c;const _0x7ad7ca=a0_0x7ad7();let _0x256dfb=_0x7ad7ca[_0x48a763];if(a0_0x256d['KGmIIO']===undefined){var _0x556e3a=function(_0x508945){const _0x1eda01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fa2ab='',_0x124422='';for(let _0x58b9e3=0x0,_0x35a117,_0x30270f,_0x594438=0x0;_0x30270f=_0x508945['charAt'](_0x594438++);~_0x30270f&&(_0x35a117=_0x58b9e3%0x4?_0x35a117*0x40+_0x30270f:_0x30270f,_0x58b9e3++%0x4)?_0x4fa2ab+=String['fromCharCode'](0xff&_0x35a117>>(-0x2*_0x58b9e3&0x6)):0x0){_0x30270f=_0x1eda01['indexOf'](_0x30270f);}for(let _0xb0f0f5=0x0,_0x282a73=_0x4fa2ab['length'];_0xb0f0f5<_0x282a73;_0xb0f0f5++){_0x124422+='%'+('00'+_0x4fa2ab['charCodeAt'](_0xb0f0f5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x124422);};a0_0x256d['uLpbpI']=_0x556e3a,a0_0x256d['MlzSql']={},a0_0x256d['KGmIIO']=!![];}const _0x4fe8a2=_0x7ad7ca[0x0],_0x31e060=_0x48a763+_0x4fe8a2,_0x285dea=a0_0x256d['MlzSql'][_0x31e060];return!_0x285dea?(_0x256dfb=a0_0x256d['uLpbpI'](_0x256dfb),a0_0x256d['MlzSql'][_0x31e060]=_0x256dfb):_0x256dfb=_0x285dea,_0x256dfb;}class ConversationManager{constructor(_0x4d7d26,_0x1a6d95){const _0x2f8a53=a0_0x6bf9c8;this['agentId']=_0x4d7d26,this['logger']=_0x1a6d95,this[_0x2f8a53(0x196)]=new Map();}async['switchModel'](_0x2d6568){const _0x57f458=a0_0x6bf9c8;return{'messages':[],'model':_0x2d6568,'lastUpdated':new Date()[_0x57f458(0x166)]()};}}export default AIService;
|
|
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 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x5df5da=a0_0x458c;(function(_0x43dbf8,_0x44a32f){const _0x9cf5f6=a0_0x458c,_0x1ec0f2=_0x43dbf8();while(!![]){try{const _0x7ec408=parseInt(_0x9cf5f6(0xb1))/0x1*(parseInt(_0x9cf5f6(0xa8))/0x2)+-parseInt(_0x9cf5f6(0x98))/0x3+parseInt(_0x9cf5f6(0xa1))/0x4+-parseInt(_0x9cf5f6(0xab))/0x5*(-parseInt(_0x9cf5f6(0xa2))/0x6)+-parseInt(_0x9cf5f6(0xb8))/0x7*(-parseInt(_0x9cf5f6(0xb6))/0x8)+-parseInt(_0x9cf5f6(0xa9))/0x9*(parseInt(_0x9cf5f6(0xaf))/0xa)+parseInt(_0x9cf5f6(0xb7))/0xb;if(_0x7ec408===_0x44a32f)break;else _0x1ec0f2['push'](_0x1ec0f2['shift']());}catch(_0x1a8a9b){_0x1ec0f2['push'](_0x1ec0f2['shift']());}}}(a0_0x3a84,0xa6976));function a0_0x3a84(){const _0x1a8237=['mJyXnZHgtgTnB3O','z2v0vgLTzq','z2v0qwn0AxzLu2vZC2LVBNm','Aw5MBW','y2XLyw51Cev4CgLYzwrtzxnZAw9UCW','C2vZC2LVBKTLExm','mtq2A0Hhquri','mZaYntq0BwzlB2nT','Bg9Nz2vY','mtaYnxngy3PItq','BwfW','z2v0s2v5C0zVCLjLCxvLC3q','DMvUzg9YqxbPs2v5','mZaWDKjdsLDP','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','mJaXmuDqAgjjEa','A2v5CW','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','q2XLyw5Lzcb1CcbLEhbPCMvKiefqssbRzxKGC2vZC2LVBNm','qvbjigTLExmGCMvTB3zLzcbMB3iGC2vZC2LVBG','mtuWnJa0ogjHCNfbtG','mtK0nJuWnwj4wu1ytW','n0XUwhjIAW','Bg94AwfbCgLlzxK','C2v0u2vZC2LVBKTLExm','mta1ndi2m0HpELLYtG','z2v0','DMvUzg9Ys2v5CW','zgvSzxrL','BM93','z2XVyMfSs2v5CW','zw50CMLLCW','C2v0r2XVyMfSs2v5CW','C2L6zq','mJu0mZmYme9eAwPRBW'];a0_0x3a84=function(){return _0x1a8237;};return a0_0x3a84();}function a0_0x458c(_0x433daa,_0x3085c6){_0x433daa=_0x433daa-0x97;const _0x3a846f=a0_0x3a84();let _0x458c99=_0x3a846f[_0x433daa];if(a0_0x458c['pOcRBd']===undefined){var _0x4a47a5=function(_0x24f2e6){const _0x1e3903='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f5e83='',_0x472fbe='';for(let _0x3c1c59=0x0,_0x5100bb,_0x47476b,_0x36ea1b=0x0;_0x47476b=_0x24f2e6['charAt'](_0x36ea1b++);~_0x47476b&&(_0x5100bb=_0x3c1c59%0x4?_0x5100bb*0x40+_0x47476b:_0x47476b,_0x3c1c59++%0x4)?_0x1f5e83+=String['fromCharCode'](0xff&_0x5100bb>>(-0x2*_0x3c1c59&0x6)):0x0){_0x47476b=_0x1e3903['indexOf'](_0x47476b);}for(let _0x5a56bc=0x0,_0xb07a5f=_0x1f5e83['length'];_0x5a56bc<_0xb07a5f;_0x5a56bc++){_0x472fbe+='%'+('00'+_0x1f5e83['charCodeAt'](_0x5a56bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x472fbe);};a0_0x458c['ODqSsI']=_0x4a47a5,a0_0x458c['NwAjue']={},a0_0x458c['pOcRBd']=!![];}const _0x330304=_0x3a846f[0x0],_0x49d227=_0x433daa+_0x330304,_0x282bd9=a0_0x458c['NwAjue'][_0x49d227];return!_0x282bd9?(_0x458c99=a0_0x458c['ODqSsI'](_0x458c99),a0_0x458c['NwAjue'][_0x49d227]=_0x458c99):_0x458c99=_0x282bd9,_0x458c99;}class ApiKeyManager{constructor(_0x1f5e83){const _0x1e7f4b=a0_0x458c;this['logger']=_0x1f5e83,this[_0x1e7f4b(0xa7)]=new Map(),this[_0x1e7f4b(0x9d)]={'loxiaApiKey':null,'vendorKeys':{}};}[a0_0x5df5da(0x97)](_0x472fbe,_0x3c1c59){const _0x22835d=a0_0x5df5da;if(!_0x472fbe)throw new Error(_0x22835d(0xb0));this[_0x22835d(0xa7)]['set'](_0x472fbe,{'loxiaApiKey':_0x3c1c59['loxiaApiKey']||null,'vendorKeys':_0x3c1c59['vendorKeys']||{},'updatedAt':new Date()['toISOString']()}),this['logger']?.['info'](_0x22835d(0xb3),{'sessionId':_0x472fbe,'hasLoxiaKey':!!_0x3c1c59[_0x22835d(0xb9)],'vendorKeys':Object['keys'](_0x3c1c59[_0x22835d(0x9a)]||{}),'timestamp':new Date()['toISOString']()});}['getSessionKeys'](_0x5100bb){const _0x392467=a0_0x5df5da;if(!_0x5100bb)return this[_0x392467(0x9d)];const _0x47476b=this['sessionKeys'][_0x392467(0x99)](_0x5100bb);if(_0x47476b)return _0x47476b;return this['globalKeys'];}[a0_0x5df5da(0xad)](_0x36ea1b,_0x5a56bc={}){const _0x4935c4=a0_0x5df5da,_0xb07a5f=this['getSessionKeys'](_0x36ea1b),_0x32a5b1={'loxiaApiKey':_0xb07a5f[_0x4935c4(0xb9)],'vendorApiKey':null};return!_0x5a56bc['platformProvided']&&_0x5a56bc['vendor']&&_0xb07a5f['vendorKeys']&&(_0x32a5b1[_0x4935c4(0xae)]=_0xb07a5f['vendorKeys'][_0x5a56bc['vendor']]),_0x32a5b1;}['removeSessionKeys'](_0x3f0cdb){const _0x2078e6=a0_0x5df5da;if(this['sessionKeys'][_0x2078e6(0x9b)](_0x3f0cdb))return this[_0x2078e6(0xaa)]?.['info'](_0x2078e6(0xb5),{'sessionId':_0x3f0cdb}),!![];return![];}[a0_0x5df5da(0x9f)](_0x3de3a8){const _0x3ae719=a0_0x5df5da;this['globalKeys']={'loxiaApiKey':_0x3de3a8['loxiaApiKey']||this['globalKeys'][_0x3ae719(0xb9)],'vendorKeys':{...this['globalKeys'][_0x3ae719(0x9a)],..._0x3de3a8['vendorKeys']||{}}},this[_0x3ae719(0xaa)]?.[_0x3ae719(0xa5)]('Global\x20API\x20keys\x20updated',{'hasLoxiaKey':!!this['globalKeys'][_0x3ae719(0xb9)],'vendorKeys':Object[_0x3ae719(0xb2)](this['globalKeys']['vendorKeys'])});}[a0_0x5df5da(0xa4)](){const _0x182931=a0_0x5df5da;return Array['from'](this[_0x182931(0xa7)][_0x182931(0x9e)]())[_0x182931(0xac)](([_0x44b756,_0x2f5644])=>({'sessionId':_0x44b756,'hasLoxiaKey':!!_0x2f5644['loxiaApiKey'],'vendorKeys':Object['keys'](_0x2f5644[_0x182931(0x9a)]||{}),'updatedAt':_0x2f5644['updatedAt']}));}[a0_0x5df5da(0xa6)](_0x778f2=0x18*0x3c*0x3c*0x3e8){const _0x2efc69=a0_0x5df5da,_0x298b61=Date[_0x2efc69(0x9c)](),_0x4b2486=[];for(const [_0x1c19a0,_0x2e0675]of this['sessionKeys']['entries']()){const _0x43517e=_0x298b61-new Date(_0x2e0675['updatedAt'])[_0x2efc69(0xa3)]();_0x43517e>_0x778f2&&_0x4b2486['push'](_0x1c19a0);}return _0x4b2486['forEach'](_0x4082b5=>{const _0x5a6fe1=_0x2efc69;this[_0x5a6fe1(0xa7)][_0x5a6fe1(0x9b)](_0x4082b5);}),_0x4b2486['length']>0x0&&this[_0x2efc69(0xaa)]?.[_0x2efc69(0xa5)](_0x2efc69(0xb4),{'expiredSessions':_0x4b2486['length'],'remainingSessions':this[_0x2efc69(0xa7)][_0x2efc69(0xa0)]}),_0x4b2486['length'];}}export default ApiKeyManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x3b7194=a0_0x66ed;(function(_0x4cee1e,_0x452d4f){const _0x440839=a0_0x66ed,_0x4e7c9f=_0x4cee1e();while(!![]){try{const _0x44820e=parseInt(_0x440839(0x1c6))/0x1+-parseInt(_0x440839(0x1a4))/0x2*(parseInt(_0x440839(0x1bc))/0x3)+parseInt(_0x440839(0x1b1))/0x4*(-parseInt(_0x440839(0x1a0))/0x5)+-parseInt(_0x440839(0x1be))/0x6*(-parseInt(_0x440839(0x1a5))/0x7)+-parseInt(_0x440839(0x1bb))/0x8+-parseInt(_0x440839(0x198))/0x9*(parseInt(_0x440839(0x1b2))/0xa)+parseInt(_0x440839(0x1bf))/0xb;if(_0x44820e===_0x452d4f)break;else _0x4e7c9f['push'](_0x4e7c9f['shift']());}catch(_0x35ceb4){_0x4e7c9f['push'](_0x4e7c9f['shift']());}}}(a0_0x349f,0x6f1ab));function a0_0x349f(){const _0x20eb43=['ntKXv1fJwuzu','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','mtaXotaYofHHBgroBW','mtq2nJi1odjeuejhBvu','qMvUy2HTyxjRigXVywrPBMCGywXYzwfKEsbPBIbWCM9NCMvZCW','x2DLDezHC3rLC3rnB2rLBa','zM9Yy2vszwzYzxnO','Aw5MBW','Dg9ju09tDhjPBMC','Bw9KzwXZ','mJyZnZe5Cfjbyw1x','C3bLzwq','sfruuca','BM93','x3nJAgvKDwXLuMvMCMvZAa','BMfTzq','mJDUrNDrshG','DMfSDwvZ','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0','yxbPs2v5','x2DLDejLC3rnB2rLBezVCLrHC2S','qMvHCMvYia','A2v5CW','y29UzMLN','nZG1twzWsgDg','y29KAw5N','AxnmB2fKAw5N','DgfZA3m','ntyWnMnQAhbftq','mtrTEvz3CfC','z2v0u3rHDhvZ','yw5HBhLZAxm','Dw5RBM93BG','z2v0qMvUy2HTyxjRvgfIBgu','CMvMCMvZAeLUDgvYDMfS','Bg9Nz2vY','z2v0vgLTzq','C3rHDhvZvgv4Da','yMvUy2HTyxjRCW','Bwf4','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','mtm2sxvICffo','mte3mtC5me5Nq0DQEq','BgfZDfvWzgf0zwq','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza','zxjYB3i','Bg9HzejLBMnOBwfYA3m','C29YDa','yxbWBgLJyxrPB24VANnVBG','C2nVCMu','yxP1CMvcywnRzw5KvxjS','ndu3nZy2nhfMEgnwDa'];a0_0x349f=function(){return _0x20eb43;};return a0_0x349f();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x215f90,_0x563508){const _0x2673d1=a0_0x66ed;this[_0x2673d1(0x19f)]=_0x215f90,this['logger']=_0x563508,this[_0x2673d1(0x1ae)]=null,this['lastUpdated']=null,this['isLoading']=![],this[_0x2673d1(0x1ba)]=_0x2673d1(0x19a),this[_0x2673d1(0x1aa)]=MODEL_ROUTER_CONFIG[_0x2673d1(0x1b0)];}async['initialize'](){const _0x2cabc3=a0_0x66ed;try{await this['loadBenchmarks'](),this[_0x2cabc3(0x196)](),this['logger'][_0x2cabc3(0x1c3)]('Benchmark\x20service\x20initialized');}catch(_0x10ba35){this[_0x2cabc3(0x1ab)][_0x2cabc3(0x1b5)]('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x10ba35['message']}),this[_0x2cabc3(0x1ae)]=null;}}['getBenchmarks'](){const _0x57bc39=a0_0x66ed;if(!this['benchmarks'])return this['logger'][_0x57bc39(0x1b5)]('No\x20benchmark\x20data\x20available\x20-\x20API\x20fetch\x20failed',{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async[a0_0x3b7194(0x1b6)](){const _0x14abf6=a0_0x3b7194;if(this[_0x14abf6(0x1a2)]){this[_0x14abf6(0x1ab)]['debug'](_0x14abf6(0x1c0));return;}this[_0x14abf6(0x1a2)]=!![];try{const _0x5087dd=await this[_0x14abf6(0x1b4)]();if(_0x5087dd)this[_0x14abf6(0x1ae)]=_0x5087dd,this[_0x14abf6(0x1b3)]=new Date(),this[_0x14abf6(0x1ab)][_0x14abf6(0x1c3)]('Benchmarks loaded from Azure backend',{'modelCount':_0x5087dd['models']?.['length']||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x1f2928){this[_0x14abf6(0x1ab)][_0x14abf6(0x1b5)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x1f2928['message'],'endpoint':url}),!this['benchmarks']&&(this[_0x14abf6(0x1ae)]=null);}finally{this['isLoading']=![];}}[a0_0x3b7194(0x1a9)](){const _0x359752=a0_0x3b7194,_0x19169e=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.['toISOString']()||_0x359752(0x1a8),'models':_0x19169e['models']||[],'tasks':_0x19169e[_0x359752(0x1a3)]||{},'summary':this['_generateBenchmarkSummary'](_0x19169e)};}['needsRefresh'](){const _0x14d4da=a0_0x3b7194;if(!this['lastUpdated'])return!![];const _0x4934f4=Date[_0x14d4da(0x195)]()-this['lastUpdated'][_0x14d4da(0x1ac)]();return _0x4934f4>this['refreshInterval'];}async[a0_0x3b7194(0x1b4)](){const _0x5d847a=a0_0x3b7194,_0x20b1d3=this['azureBackendUrl']+'/llm/model-benchmarks';let _0x289c7b=null;this['config'][_0x5d847a(0x19b)]&&(_0x289c7b=this['config'][_0x5d847a(0x19b)]);const _0x90b5b6={'method':'GET','headers':{'Content-Type':_0x5d847a(0x1b8),..._0x289c7b&&{'Authorization':_0x5d847a(0x19d)+_0x289c7b}},'timeout':0x2710};this['logger']['debug']('Fetching benchmarks from Azure backend',{'url':_0x20b1d3});const _0x60e506=await fetch(_0x20b1d3,_0x90b5b6);if(!_0x60e506['ok'])throw new Error(_0x5d847a(0x194)+_0x60e506['status']+':\x20'+_0x60e506[_0x5d847a(0x1ad)]);const _0x5ed22e=await _0x60e506['json']();return _0x5ed22e;}['_generateBenchmarkSummary'](_0x11f1f6){const _0x28afcc=a0_0x3b7194,_0x2becb8=_0x11f1f6[_0x28afcc(0x1c5)]||[];return{'totalModels':_0x2becb8['length'],'taskCategories':Object[_0x28afcc(0x19e)](_0x11f1f6['tasks']||{}),'bestForCoding':this['_getBestModelForTask'](_0x2becb8,_0x28afcc(0x1a1)),'bestForAnalysis':this['_getBestModelForTask'](_0x2becb8,_0x28afcc(0x1a7)),'bestForQuickTasks':this['_getBestModelForTask'](_0x2becb8,'quick-tasks'),'bestForCreative':this[_0x28afcc(0x19c)](_0x2becb8,'creative'),'fastestModel':this[_0x28afcc(0x1c1)](_0x2becb8),'mostCostEfficient':this['_getMostCostEfficient'](_0x2becb8)};}['_getBestModelForTask'](_0x447a2a,_0x29a6ba){const _0x32cf21=a0_0x3b7194;return _0x447a2a['filter'](_0x2ad58d=>_0x2ad58d['tasks']&&_0x2ad58d[_0x32cf21(0x1a3)][_0x29a6ba])['sort']((_0x565259,_0x2078bc)=>(_0x2078bc['tasks'][_0x29a6ba][_0x32cf21(0x1b9)]||0x0)-(_0x565259[_0x32cf21(0x1a3)][_0x29a6ba]['score']||0x0))[0x0]?.[_0x32cf21(0x197)]||_0x32cf21(0x1a8);}[a0_0x3b7194(0x1c1)](_0x143a57){const _0x4ff4bb=a0_0x3b7194,_0xc1c94d={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x143a57['sort']((_0x1e0d22,_0xcd93a2)=>{const _0x4ffad5=a0_0x66ed,_0x44dca0=Math[_0x4ffad5(0x1af)](...Object[_0x4ffad5(0x199)](_0x1e0d22['tasks']||{})['map'](_0x46a153=>_0xc1c94d[_0x46a153['speed']]||0x0)),_0x1d9044=Math[_0x4ffad5(0x1af)](...Object['values'](_0xcd93a2[_0x4ffad5(0x1a3)]||{})['map'](_0x113b96=>_0xc1c94d[_0x113b96[_0x4ffad5(0x193)]]||0x0));return _0x1d9044-_0x44dca0;})[0x0]?.[_0x4ff4bb(0x197)]||'unknown';}['_getMostCostEfficient'](_0x1de6d6){const _0x1994bf=a0_0x3b7194,_0x390a07={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x1de6d6[_0x1994bf(0x1b7)]((_0x48c7df,_0x9898fa)=>{const _0x2d75a7=_0x1994bf,_0x25b786=Math['max'](...Object[_0x2d75a7(0x199)](_0x48c7df['tasks']||{})['map'](_0x462200=>_0x390a07[_0x462200['cost']]||0x0)),_0x401559=Math[_0x2d75a7(0x1af)](...Object[_0x2d75a7(0x199)](_0x9898fa[_0x2d75a7(0x1a3)]||{})['map'](_0x305f44=>_0x390a07[_0x305f44['cost']]||0x0));return _0x401559-_0x25b786;})[0x0]?.['name']||_0x1994bf(0x1a8);}['_scheduleRefresh'](){const _0x5568ea=a0_0x3b7194;setInterval(async()=>{const _0x5987c0=a0_0x66ed;this['needsRefresh']()&&(this[_0x5987c0(0x1ab)]['debug']('Refreshing\x20benchmark\x20data'),await this['loadBenchmarks']());},this[_0x5568ea(0x1aa)]);}async[a0_0x3b7194(0x1c2)](){const _0x52e560=a0_0x3b7194;this[_0x52e560(0x1ab)]['info'](_0x52e560(0x1bd)),await this[_0x52e560(0x1b6)]();}[a0_0x3b7194(0x1a6)](){const _0x2652d6=a0_0x3b7194;return{'initialized':!!this[_0x2652d6(0x1ae)],'lastUpdated':this['lastUpdated']?.[_0x2652d6(0x1c4)]()||null,'source':this[_0x2652d6(0x1ae)]?.['source']||'unknown','modelCount':this['benchmarks']?.[_0x2652d6(0x1c5)]?.['length']||0x0,'isLoading':this[_0x2652d6(0x1a2)],'needsRefresh':this['needsRefresh']()};}}function a0_0x66ed(_0x5902da,_0x62f9be){_0x5902da=_0x5902da-0x193;const _0x349ff3=a0_0x349f();let _0x66eddb=_0x349ff3[_0x5902da];if(a0_0x66ed['qouVyq']===undefined){var _0xbe4636=function(_0x5601a4){const _0x3f9824='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x215f90='',_0x563508='';for(let _0x10ba35=0x0,_0x5087dd,_0x1f2928,_0x19169e=0x0;_0x1f2928=_0x5601a4['charAt'](_0x19169e++);~_0x1f2928&&(_0x5087dd=_0x10ba35%0x4?_0x5087dd*0x40+_0x1f2928:_0x1f2928,_0x10ba35++%0x4)?_0x215f90+=String['fromCharCode'](0xff&_0x5087dd>>(-0x2*_0x10ba35&0x6)):0x0){_0x1f2928=_0x3f9824['indexOf'](_0x1f2928);}for(let _0x4934f4=0x0,_0x20b1d3=_0x215f90['length'];_0x4934f4<_0x20b1d3;_0x4934f4++){_0x563508+='%'+('00'+_0x215f90['charCodeAt'](_0x4934f4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563508);};a0_0x66ed['CQsCYx']=_0xbe4636,a0_0x66ed['lqtkeY']={},a0_0x66ed['qouVyq']=!![];}const _0xbeb5e4=_0x349ff3[0x0],_0x318fb4=_0x5902da+_0xbeb5e4,_0x1826a2=a0_0x66ed['lqtkeY'][_0x318fb4];return!_0x1826a2?(_0x66eddb=a0_0x66ed['CQsCYx'](_0x66eddb),a0_0x66ed['lqtkeY'][_0x318fb4]=_0x66eddb):_0x66eddb=_0x1826a2,_0x66eddb;}export default BenchmarkService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5f3f6c=a0_0x1ed1;(function(_0x404b13,_0x3b4d78){const _0x17193e=a0_0x1ed1,_0x2e3076=_0x404b13();while(!![]){try{const _0x111ab2=-parseInt(_0x17193e(0xb8))/0x1+-parseInt(_0x17193e(0xc7))/0x2*(-parseInt(_0x17193e(0xba))/0x3)+parseInt(_0x17193e(0xa7))/0x4+parseInt(_0x17193e(0xae))/0x5*(parseInt(_0x17193e(0x86))/0x6)+parseInt(_0x17193e(0xcb))/0x7+parseInt(_0x17193e(0xbf))/0x8+-parseInt(_0x17193e(0xc0))/0x9*(parseInt(_0x17193e(0xc9))/0xa);if(_0x111ab2===_0x3b4d78)break;else _0x2e3076['push'](_0x2e3076['shift']());}catch(_0x14de6b){_0x2e3076['push'](_0x2e3076['shift']());}}}(a0_0x472e,0xc2a4e));function a0_0x1ed1(_0x455a44,_0x1e7e6c){_0x455a44=_0x455a44-0x81;const _0x472ef4=a0_0x472e();let _0x1ed12b=_0x472ef4[_0x455a44];if(a0_0x1ed1['PsDwVK']===undefined){var _0x2b22a5=function(_0x15fe51){const _0xfda8db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a8954='',_0x5b708a='';for(let _0x26be1a=0x0,_0x303187,_0x147bdc,_0x394f4a=0x0;_0x147bdc=_0x15fe51['charAt'](_0x394f4a++);~_0x147bdc&&(_0x303187=_0x26be1a%0x4?_0x303187*0x40+_0x147bdc:_0x147bdc,_0x26be1a++%0x4)?_0x1a8954+=String['fromCharCode'](0xff&_0x303187>>(-0x2*_0x26be1a&0x6)):0x0){_0x147bdc=_0xfda8db['indexOf'](_0x147bdc);}for(let _0x2c994f=0x0,_0x2a6206=_0x1a8954['length'];_0x2c994f<_0x2a6206;_0x2c994f++){_0x5b708a+='%'+('00'+_0x1a8954['charCodeAt'](_0x2c994f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b708a);};a0_0x1ed1['xGGihe']=_0x2b22a5,a0_0x1ed1['zwqTBM']={},a0_0x1ed1['PsDwVK']=!![];}const _0x26790a=_0x472ef4[0x0],_0x3a0c01=_0x455a44+_0x26790a,_0x4670a2=a0_0x1ed1['zwqTBM'][_0x3a0c01];return!_0x4670a2?(_0x1ed12b=a0_0x1ed1['xGGihe'](_0x1ed12b),a0_0x1ed1['zwqTBM'][_0x3a0c01]=_0x1ed12b):_0x1ed12b=_0x4670a2,_0x1ed12b;}import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';function a0_0x472e(){const _0x4fe1b5=['Bw9KzwXjza','Aw5PDgLHBgL6zvvZywDLrw50CNK','y2HLy2TuAhjLC2HVBgq','ywDLBNrjza','Aw5MBW','z2v0rgf5','ywXLCNrZ','z2v0rgf5s2v5','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','BgfZDefSzxj0vgLTzxm','Dw5ZAgLMDa','zxHWB3j0vxnHz2veyxrH','y29ZDa','zw50CMLLCW','rMfPBgvKihrVigXVywqGDxnHz2uGzgf0yq','CMvXDwvZDhm','BwfW','C2v0','y3jLyxrLrw1WDhLvC2fNzq','ANnVBG','nti5ote2ng9tzePrBa','Dg9WqwDLBNrZ','D2vLA2X5','Dg9Rzw5Z','yNLnB2rLBa','Dg9Rzw5ZqNLeyxK','D2fYBG','mtbNBLH6wfq','C2XPy2u','z2v0rNvSBfLLyxi','yNLbz2vUDa','z2v0uMvTywLUAw5NqNvKz2v0','sw52ywXPzcbWzxjPB2q6ia','z2v0','Dg90ywW','DxnHz2u','zxjYB3i','mtm0otC5mxvYEKr0tW','Dg9tDhjPBMC','m2DQCfnozW','AgfZ','CgfKu3rHCNq','z2v0tw9UDgG','Dw5KzwzPBMvK','mZqWnZyYnfH5rwfhyG','ouvlvwvZsG','vxnHz2uGzgf0ysbZyxzLza','zM9YrwfJAa','zgfPBhK','zgfPBhLbDMvYywDLCW','Bw9UDgHSEq','z2v0vxnHz2u','mtm2ntiWmeTsverHqq','y2HLy2TuAhjLC2HVBgrbBgvYDhm','mtC2nZm4otbsu3D5s3e','DxbKyxrLvxnHz2vfBNrYEq','mta2nJGWmengA3fPsG','CM91BMq','C2v0DxbqzxjPB2rPy1nHDMu','zw1PDa','yNvKz2v0qwXLCNq','qNvKz2v0igXPBwL0CYb1CgrHDgvK','DgHYzxnOB2XKCW','Dg90ywXFDg9Rzw5Z','Bg9HzfvZywDLrgf0yq','C2v0rgf0zq','z2v0v2vLA0TLEq','y29UzMLN','ChjVBxb0x3rVA2vUCW','ChvZAa','Dg9ju09tDhjPBMC','y29UDMvYDfrVq1nw','zgvIDwC','mZK4nJa5nfnQCuXyCG','Bg9Nz2vY','refjtfK','C2vUzej1zgDLDefSzxj0','AM9PBG','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','C29YDa','yNvKz2v0CW','C2f2zvvZywDLrgf0yq','qwDLBNq','BwvZC2fNzq','z2v0tw9KzwXvC2fNzq','rgfPBhK'];a0_0x472e=function(){return _0x4fe1b5;};return a0_0x472e();}export class BudgetService{constructor(_0x1a8954,_0x5b708a){const _0x152679=a0_0x1ed1;this[_0x152679(0xd6)]=_0x1a8954||{},this['logger']=_0x5b708a,this[_0x152679(0xb6)]={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this['budgets']={'daily':BUDGET_LIMITS[_0x152679(0x88)],'weekly':BUDGET_LIMITS['WEEKLY'],'monthly':BUDGET_LIMITS['MONTHLY']},this['alerts']={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this['loadUsageData'](),this[_0x152679(0xcd)]();}['trackUsage'](_0x26be1a,_0x303187,_0x147bdc){const _0x2e7ae8=a0_0x1ed1;try{const _0x394f4a=this['calculateCost'](_0x303187,_0x147bdc),_0x2c994f=new Date(),_0x2a6206=this[_0x2e7ae8(0x9a)](_0x2c994f),_0x3c75da=this['getWeekKey'](_0x2c994f),_0x2a7577=this['getMonthKey'](_0x2c994f);this[_0x2e7ae8(0x94)](this[_0x2e7ae8(0xb6)]['daily'],_0x2a6206),this[_0x2e7ae8(0x94)](this['usage']['weekly'],_0x3c75da),this['initializeUsageEntry'](this[_0x2e7ae8(0xb6)][_0x2e7ae8(0xc5)],_0x2a7577);const _0x2a509a={'agentId':_0x26be1a,'modelId':_0x303187,'tokens':_0x147bdc[_0x2e7ae8(0xd2)],'cost':_0x394f4a,'timestamp':_0x2c994f[_0x2e7ae8(0x83)]()};return this[_0x2e7ae8(0xca)](this['usage']['daily']['get'](_0x2a6206),_0x2a509a),this['updateUsageEntry'](this['usage'][_0x2e7ae8(0xa9)]['get'](_0x3c75da),_0x2a509a),this[_0x2e7ae8(0xca)](this['usage']['monthly']['get'](_0x2a7577),_0x2a509a),this['usage']['total'][_0x2e7ae8(0xaa)]+=_0x147bdc['total_tokens'],this[_0x2e7ae8(0xb6)][_0x2e7ae8(0xb5)]['cost']+=_0x394f4a,this[_0x2e7ae8(0xb6)][_0x2e7ae8(0xb5)]['requests']+=0x1,this['checkBudgetLimits'](_0x2a6206,_0x3c75da,_0x2a7577),this['logger'][_0x2e7ae8(0x97)]('Usage\x20tracked',{'agentId':_0x26be1a,'modelId':_0x303187,'tokens':_0x147bdc[_0x2e7ae8(0xd2)],'cost':_0x394f4a,'totalCost':this[_0x2e7ae8(0xb6)]['total'][_0x2e7ae8(0x9f)]}),{'cost':_0x394f4a,'totalCost':this['usage'][_0x2e7ae8(0xb5)][_0x2e7ae8(0x9f)],'totalTokens':this[_0x2e7ae8(0xb6)][_0x2e7ae8(0xb5)][_0x2e7ae8(0xaa)],'dailyUsage':this['usage'][_0x2e7ae8(0xc3)]['get'](_0x2a6206),'budgetRemaining':this['getRemainingBudget']()};}catch(_0x28cbff){this['logger'][_0x2e7ae8(0xb7)]('Failed\x20to\x20track\x20usage',{'error':_0x28cbff[_0x2e7ae8(0x90)],'agentId':_0x26be1a,'modelId':_0x303187});throw _0x28cbff;}}['calculateCost'](_0x28139a,_0x140153){const _0x148edd=a0_0x1ed1,_0x15f8b8=COST_PER_TOKEN[_0x28139a];if(!_0x15f8b8)return this['logger'][_0x148edd(0xad)](_0x148edd(0x8b),{'modelId':_0x28139a}),0x0;const _0x47a450=(_0x140153[_0x148edd(0x81)]||0x0)*_0x15f8b8['input'],_0x4131ba=(_0x140153['completion_tokens']||0x0)*_0x15f8b8['output'];return _0x47a450+_0x4131ba;}[a0_0x5f3f6c(0xc6)](_0x2fb351=a0_0x5f3f6c(0xc3),_0x2511be=new Date()){const _0x86d65=a0_0x5f3f6c;switch(_0x2fb351){case _0x86d65(0xc3):return this[_0x86d65(0xb6)][_0x86d65(0xc3)][_0x86d65(0xb4)](this[_0x86d65(0x9a)](_0x2511be))||this['createEmptyUsage']();case _0x86d65(0xa9):return this['usage'][_0x86d65(0xa9)]['get'](this['getWeekKey'](_0x2511be))||this['createEmptyUsage']();case _0x86d65(0xc5):return this[_0x86d65(0xb6)]['monthly'][_0x86d65(0xb4)](this['getMonthKey'](_0x2511be))||this['createEmptyUsage']();case'total':return{...this[_0x86d65(0xb6)]['total']};default:throw new Error(_0x86d65(0xb3)+_0x2fb351);}}['getAgentUsage'](_0x594aa8,_0x237685=a0_0x5f3f6c(0xc3)){const _0x4a7510=this['getUsage'](_0x237685);return _0x4a7510['byAgent']?.[_0x594aa8]||this['createEmptyUsage']();}[a0_0x5f3f6c(0x91)](_0x1581b5,_0x679edb='daily'){const _0x5a787d=a0_0x5f3f6c,_0x508d85=this['getUsage'](_0x679edb);return _0x508d85[_0x5a787d(0xab)]?.[_0x1581b5]||this[_0x5a787d(0xa5)]();}['setBudgets'](_0x20a1ea){const _0x5885bd=a0_0x5f3f6c;if(_0x20a1ea['daily']!==undefined)this['budgets'][_0x5885bd(0xc3)]=_0x20a1ea['daily'];if(_0x20a1ea[_0x5885bd(0xa9)]!==undefined)this[_0x5885bd(0x8d)]['weekly']=_0x20a1ea[_0x5885bd(0xa9)];if(_0x20a1ea['monthly']!==undefined)this[_0x5885bd(0x8d)]['monthly']=_0x20a1ea[_0x5885bd(0xc5)];this['logger']['info'](_0x5885bd(0xd0),this['budgets']),this[_0x5885bd(0x8e)]();}[a0_0x5f3f6c(0xb2)](){const _0x3202af=a0_0x5f3f6c,_0x30a35f=new Date(),_0x4550bd=this[_0x3202af(0xc6)]('daily',_0x30a35f),_0x4539aa=this['getUsage']('weekly',_0x30a35f),_0x3e48d4=this['getUsage']('monthly',_0x30a35f);return{'daily':Math['max'](0x0,this[_0x3202af(0x8d)][_0x3202af(0xc3)]-_0x4550bd['cost']),'weekly':Math['max'](0x0,this[_0x3202af(0x8d)]['weekly']-_0x4539aa[_0x3202af(0x9f)]),'monthly':Math['max'](0x0,this['budgets'][_0x3202af(0xc5)]-_0x3e48d4[_0x3202af(0x9f)])};}['isWithinBudget'](_0x234563=a0_0x5f3f6c(0xc3)){const _0xdef48c=a0_0x5f3f6c,_0x231935=this[_0xdef48c(0xc6)](_0x234563),_0x5d2b9f=this['budgets'][_0x234563];return _0x231935['cost']<=_0x5d2b9f;}['getUsageTrends'](_0x58be3d=0x1e){const _0x45e734=a0_0x5f3f6c,_0x251d87={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x324f3f=new Date();let _0x45455e=0x0,_0x469557=0x0,_0x51ab46=0x0;const _0x36d105=new Map(),_0x49a659=new Map();for(let _0x2a2953=0x0;_0x2a2953<_0x58be3d;_0x2a2953++){const _0x541ca1=new Date(_0x324f3f);_0x541ca1[_0x45e734(0xd4)](_0x541ca1['getDate']()-_0x2a2953);const _0x2eb227=this[_0x45e734(0x9a)](_0x541ca1),_0x4dc1a1=this['usage'][_0x45e734(0xc3)]['get'](_0x2eb227);_0x4dc1a1?(_0x45455e+=_0x4dc1a1['cost'],_0x469557+=_0x4dc1a1[_0x45e734(0xaa)],_0x51ab46+=_0x4dc1a1[_0x45e734(0xa2)],_0x251d87['costByDay'][_0x45e734(0x9d)]({'date':_0x2eb227,'cost':_0x4dc1a1['cost']}),_0x251d87[_0x45e734(0xac)]['unshift']({'date':_0x2eb227,'tokens':_0x4dc1a1[_0x45e734(0xaa)]}),Object['entries'](_0x4dc1a1[_0x45e734(0xb1)]||{})[_0x45e734(0xc2)](([_0x2c9280,_0x2945bb])=>{const _0xc8c762=_0x45e734;!_0x36d105['has'](_0x2c9280)&&_0x36d105[_0xc8c762(0xa4)](_0x2c9280,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x576243=_0x36d105[_0xc8c762(0xb4)](_0x2c9280);_0x576243[_0xc8c762(0x9f)]+=_0x2945bb['cost'],_0x576243[_0xc8c762(0xaa)]+=_0x2945bb[_0xc8c762(0xaa)],_0x576243['requests']+=_0x2945bb['requests'];}),Object['entries'](_0x4dc1a1['byModel']||{})[_0x45e734(0xc2)](([_0x5631bb,_0x5c70dd])=>{const _0xcbe7eb=_0x45e734;!_0x49a659[_0xcbe7eb(0xbb)](_0x5631bb)&&_0x49a659[_0xcbe7eb(0xa4)](_0x5631bb,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x3ebbf3=_0x49a659['get'](_0x5631bb);_0x3ebbf3['cost']+=_0x5c70dd[_0xcbe7eb(0x9f)],_0x3ebbf3['tokens']+=_0x5c70dd['tokens'],_0x3ebbf3[_0xcbe7eb(0xa2)]+=_0x5c70dd['requests'];})):(_0x251d87['costByDay']['unshift']({'date':_0x2eb227,'cost':0x0}),_0x251d87[_0x45e734(0xac)][_0x45e734(0x9d)]({'date':_0x2eb227,'tokens':0x0}));}return _0x251d87['dailyAverages'][_0x45e734(0x9f)]=_0x45455e/_0x58be3d,_0x251d87['dailyAverages'][_0x45e734(0xaa)]=_0x469557/_0x58be3d,_0x251d87[_0x45e734(0xc4)][_0x45e734(0xa2)]=_0x51ab46/_0x58be3d,_0x251d87[_0x45e734(0xa8)]=Array['from'](_0x36d105[_0x45e734(0xa0)]())['map'](([_0x528cca,_0x522cb7])=>({'id':_0x528cca,..._0x522cb7}))['sort']((_0x3be1ee,_0x1a0592)=>_0x1a0592['cost']-_0x3be1ee[_0x45e734(0x9f)])[_0x45e734(0xaf)](0x0,0xa),_0x251d87['topModels']=Array['from'](_0x49a659[_0x45e734(0xa0)]())[_0x45e734(0xa3)](([_0x34aab2,_0x31ac81])=>({'id':_0x34aab2,..._0x31ac81}))[_0x45e734(0x8c)]((_0x2640e0,_0x481fb2)=>_0x481fb2['cost']-_0x2640e0['cost'])[_0x45e734(0xaf)](0x0,0xa),_0x251d87;}[a0_0x5f3f6c(0x9e)](_0x1bb983=a0_0x5f3f6c(0xa6),_0x3e0491=null,_0x1f14fe=null){const _0x3746db=a0_0x5f3f6c,_0x3bda65={'budgets':this[_0x3746db(0x8d)],'total':this['usage'][_0x3746db(0xb5)],'daily':{},'weekly':{},'monthly':{}},_0x5ad7cd=(_0xfd3900,_0x40931d)=>{const _0x291425=_0x3746db,_0x5125f2={};return _0xfd3900[_0x291425(0xc2)]((_0x1192f6,_0x4d54db)=>{const _0x358f2d=_0x40931d(_0x4d54db);(!_0x3e0491||_0x358f2d>=_0x3e0491)&&(!_0x1f14fe||_0x358f2d<=_0x1f14fe)&&(_0x5125f2[_0x4d54db]=_0x1192f6);}),_0x5125f2;};_0x3e0491||_0x1f14fe?(_0x3bda65['daily']=_0x5ad7cd(this[_0x3746db(0xb6)][_0x3746db(0xc3)],_0x1ca559=>new Date(_0x1ca559)),_0x3bda65['weekly']=_0x5ad7cd(this['usage']['weekly'],_0x2268f7=>new Date(_0x2268f7)),_0x3bda65[_0x3746db(0xc5)]=_0x5ad7cd(this[_0x3746db(0xb6)]['monthly'],_0x116935=>new Date(_0x116935+'-01'))):(this['usage'][_0x3746db(0xc3)][_0x3746db(0xc2)]((_0x2eb970,_0x24e622)=>_0x3bda65[_0x3746db(0xc3)][_0x24e622]=_0x2eb970),this[_0x3746db(0xb6)]['weekly'][_0x3746db(0xc2)]((_0x422c5c,_0x97fdbb)=>_0x3bda65['weekly'][_0x97fdbb]=_0x422c5c),this[_0x3746db(0xb6)]['monthly'][_0x3746db(0xc2)]((_0x2ac136,_0x42400c)=>_0x3bda65['monthly'][_0x42400c]=_0x2ac136));if(_0x1bb983==='csv')return this[_0x3746db(0x84)](_0x3bda65);return JSON['stringify'](_0x3bda65,null,0x2);}[a0_0x5f3f6c(0x94)](_0x2368f1,_0x335279){!_0x2368f1['has'](_0x335279)&&_0x2368f1['set'](_0x335279,this['createEmptyUsage']());}[a0_0x5f3f6c(0xa5)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x5f3f6c(0xca)](_0x43386d,_0x11c351){const _0x316c10=a0_0x5f3f6c;_0x43386d['cost']+=_0x11c351['cost'],_0x43386d[_0x316c10(0xaa)]+=_0x11c351['tokens'],_0x43386d[_0x316c10(0xa2)]+=0x1,!_0x43386d[_0x316c10(0xb1)][_0x11c351[_0x316c10(0x96)]]&&(_0x43386d[_0x316c10(0xb1)][_0x11c351['agentId']]=this[_0x316c10(0xa5)]()),_0x43386d['byAgent'][_0x11c351['agentId']]['cost']+=_0x11c351['cost'],_0x43386d[_0x316c10(0xb1)][_0x11c351[_0x316c10(0x96)]][_0x316c10(0xaa)]+=_0x11c351['tokens'],_0x43386d[_0x316c10(0xb1)][_0x11c351['agentId']][_0x316c10(0xa2)]+=0x1,!_0x43386d['byModel'][_0x11c351['modelId']]&&(_0x43386d[_0x316c10(0xab)][_0x11c351[_0x316c10(0x93)]]=this[_0x316c10(0xa5)]()),_0x43386d['byModel'][_0x11c351[_0x316c10(0x93)]]['cost']+=_0x11c351['cost'],_0x43386d['byModel'][_0x11c351['modelId']]['tokens']+=_0x11c351['tokens'],_0x43386d['byModel'][_0x11c351['modelId']]['requests']+=0x1;}['checkBudgetLimits'](_0x224b75,_0x1bc17e,_0x548d3e){const _0x313367=a0_0x5f3f6c,_0x310537=this['usage']['daily'][_0x313367(0xb4)](_0x224b75),_0x493f0c=this[_0x313367(0xb6)]['weekly']['get'](_0x1bc17e),_0x33ed67=this['usage']['monthly'][_0x313367(0xb4)](_0x548d3e);_0x310537[_0x313367(0x9f)]>this[_0x313367(0x8d)][_0x313367(0xc3)]&&this[_0x313367(0x89)](_0x313367(0xc3),_0x310537['cost'],this['budgets'][_0x313367(0xc3)]),_0x493f0c[_0x313367(0x9f)]>this['budgets'][_0x313367(0xa9)]&&this['sendBudgetAlert'](_0x313367(0xa9),_0x493f0c['cost'],this['budgets']['weekly']),_0x33ed67['cost']>this[_0x313367(0x8d)]['monthly']&&this[_0x313367(0x89)]('monthly',_0x33ed67[_0x313367(0x9f)],this['budgets'][_0x313367(0xc5)]),this['checkThresholdAlerts'](_0x310537,_0x493f0c,_0x33ed67);}[a0_0x5f3f6c(0xc8)](_0x5895fc,_0x16552e,_0x147c6a){const _0x5410bf=a0_0x5f3f6c,_0x3751e6=this['alerts'][_0x5410bf(0xd1)];this['checkThreshold']('daily',_0x5895fc['cost'],this[_0x5410bf(0x8d)]['daily'],_0x3751e6),this[_0x5410bf(0x95)]('weekly',_0x16552e['cost'],this['budgets']['weekly'],_0x3751e6),this['checkThreshold'](_0x5410bf(0xc5),_0x147c6a['cost'],this['budgets'][_0x5410bf(0xc5)],_0x3751e6);}[a0_0x5f3f6c(0x95)](_0x2bca27,_0x3b90a3,_0x1636c0,_0x30912b){const _0x2ca56f=a0_0x5f3f6c,_0x54b1a2=_0x3b90a3/_0x1636c0*0x64;for(const _0xa0c2e8 of _0x30912b){if(_0x54b1a2>=_0xa0c2e8){const _0x31d929=_0x2bca27+'_'+_0xa0c2e8,_0x50e912=this[_0x2ca56f(0x99)]['lastAlertTimes'][_0x2ca56f(0xb4)](_0x31d929),_0x59814a=Date['now']();(!_0x50e912||_0x59814a-_0x50e912>0x36ee80)&&(this['sendThresholdAlert'](_0x2bca27,_0x54b1a2,_0xa0c2e8,_0x3b90a3,_0x1636c0),this[_0x2ca56f(0x99)][_0x2ca56f(0x9c)]['set'](_0x31d929,_0x59814a));break;}}}[a0_0x5f3f6c(0x89)](_0x30bb5c,_0x5bb98f,_0x4e1a6f){const _0x11f736=a0_0x5f3f6c;this[_0x11f736(0x87)][_0x11f736(0xad)]('Budget\x20limit\x20exceeded',{'period':_0x30bb5c,'currentUsage':_0x5bb98f,'budgetLimit':_0x4e1a6f,'excess':_0x5bb98f-_0x4e1a6f}),typeof process!==_0x11f736(0xbe)&&process[_0x11f736(0xce)]&&process['emit']('budgetAlert',{'type':'budget_exceeded','period':_0x30bb5c,'currentUsage':_0x5bb98f,'budgetLimit':_0x4e1a6f,'excess':_0x5bb98f-_0x4e1a6f});}['sendThresholdAlert'](_0x2d99e4,_0x1e0088,_0x5cf527,_0x234980,_0x4b5544){const _0x5a8dc8=a0_0x5f3f6c;this[_0x5a8dc8(0x87)][_0x5a8dc8(0xad)](_0x5a8dc8(0x9b),{'period':_0x2d99e4,'percentage':Math[_0x5a8dc8(0xcc)](_0x1e0088),'threshold':_0x5cf527,'usage':_0x234980,'budget':_0x4b5544}),typeof process!==_0x5a8dc8(0xbe)&&process[_0x5a8dc8(0xce)]&&process[_0x5a8dc8(0xce)](_0x5a8dc8(0xcf),{'type':'threshold_reached','period':_0x2d99e4,'percentage':Math[_0x5a8dc8(0xcc)](_0x1e0088),'threshold':_0x5cf527,'usage':_0x234980,'budget':_0x4b5544});}['getDayKey'](_0x5a0a0c){return _0x5a0a0c['toISOString']()['split']('T')[0x0];}[a0_0x5f3f6c(0xd5)](_0x42338a){const _0xd2aba4=a0_0x5f3f6c,_0x236164=_0x42338a['getFullYear'](),_0x5d9c23=this['getWeekNumber'](_0x42338a);return _0x236164+'-W'+_0x5d9c23['toString']()[_0xd2aba4(0xbc)](0x2,'0');}['getMonthKey'](_0x79f622){const _0x40d186=a0_0x5f3f6c,_0x5ad5d8=_0x79f622[_0x40d186(0xb0)](),_0x4be107=_0x79f622[_0x40d186(0xbd)]()+0x1;return _0x5ad5d8+'-'+_0x4be107[_0x40d186(0xb9)]()[_0x40d186(0xbc)](0x2,'0');}['getWeekNumber'](_0x49063b){const _0x3c6b30=a0_0x5f3f6c,_0x48ac23=new Date(_0x49063b[_0x3c6b30(0xb0)](),0x0,0x1),_0x4806ae=(_0x49063b-_0x48ac23)/0x5265c00;return Math['ceil']((_0x4806ae+_0x48ac23[_0x3c6b30(0x98)]()+0x1)/0x7);}['convertToCSV'](_0x11b728){const _0x369e7c=a0_0x5f3f6c,_0x53de81=[];return _0x53de81['push'](['Period','Date','Cost','Tokens','Requests',_0x369e7c(0x8f),'Model']),Object[_0x369e7c(0xa0)](_0x11b728['daily'])['forEach'](([_0x2cea36,_0x118e4c])=>{const _0x2de229=_0x369e7c;_0x53de81['push'](['Daily',_0x2cea36,_0x118e4c['cost'],_0x118e4c['tokens'],_0x118e4c['requests'],'','']),Object[_0x2de229(0xa0)](_0x118e4c['byAgent']||{})['forEach'](([_0x184cfd,_0x3c08f7])=>{const _0x5a863c=_0x2de229;_0x53de81[_0x5a863c(0x82)]([_0x5a863c(0x92),_0x2cea36,_0x3c08f7[_0x5a863c(0x9f)],_0x3c08f7['tokens'],_0x3c08f7['requests'],_0x184cfd,'']);});}),_0x53de81[_0x369e7c(0xa3)](_0x180161=>_0x180161[_0x369e7c(0x8a)](','))[_0x369e7c(0x8a)]('\x0a');}[a0_0x5f3f6c(0xd3)](){const _0x228d43=a0_0x5f3f6c;try{this['logger'][_0x228d43(0x97)]('Budget\x20service\x20initialized');}catch(_0x58fd0e){this[_0x228d43(0x87)][_0x228d43(0xb7)](_0x228d43(0xa1),{'error':_0x58fd0e[_0x228d43(0x90)]});}}[a0_0x5f3f6c(0x8e)](){const _0x497ac0=a0_0x5f3f6c;try{this['logger'][_0x497ac0(0x85)](_0x497ac0(0xc1));}catch(_0x10bbd0){this[_0x497ac0(0x87)]['error']('Failed\x20to\x20save\x20usage\x20data',{'error':_0x10bbd0['message']});}}['setupPeriodicSave'](){setInterval(()=>{const _0x8461b6=a0_0x1ed1;this[_0x8461b6(0x8e)]();},0x493e0);}}export default BudgetService;
|
|
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 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x6e198c=a0_0x486c;(function(_0x6f8150,_0x22d21f){const _0x1281f4=a0_0x486c,_0xfa8539=_0x6f8150();while(!![]){try{const _0x1fd309=-parseInt(_0x1281f4(0xb2))/0x1+-parseInt(_0x1281f4(0xb6))/0x2+parseInt(_0x1281f4(0xca))/0x3+parseInt(_0x1281f4(0xc0))/0x4+parseInt(_0x1281f4(0xc5))/0x5+-parseInt(_0x1281f4(0xc6))/0x6+parseInt(_0x1281f4(0xb8))/0x7;if(_0x1fd309===_0x22d21f)break;else _0xfa8539['push'](_0xfa8539['shift']());}catch(_0x46020c){_0xfa8539['push'](_0xfa8539['shift']());}}}(a0_0x2b9d,0xa1379));import a0_0x146b3a from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0xe4446f={},_0x540c30=null){const _0x48a94c=a0_0x486c;this[_0x48a94c(0xa6)]=_0xe4446f,this['logger']=_0x540c30,this['attachmentService']=new a0_0x146b3a(_0xe4446f,_0x540c30);}async[a0_0x6e198c(0xbf)](){const _0x3e0c45=a0_0x6e198c;await this[_0x3e0c45(0xc2)]['initialize']();}async['buildDynamicContext'](_0x4f76ce){const _0x2b8dea=a0_0x6e198c;try{const _0x434ee1=await this['attachmentService'][_0x2b8dea(0xb5)](_0x4f76ce);if(_0x434ee1[_0x2b8dea(0xcc)]===0x0)return'';const _0x543437=_0x434ee1[_0x2b8dea(0xa4)](_0x14d7d6=>_0x14d7d6['mode']===_0x2b8dea(0xc8)),_0x219563=_0x434ee1['filter'](_0x102cbe=>_0x102cbe['mode']===_0x2b8dea(0xaf));let _0x59f095='';if(_0x543437['length']>0x0){_0x59f095+='\x0a<attached-files>\x0a';for(const _0x32993d of _0x543437){const _0x5b5891=await this[_0x2b8dea(0xc2)]['getAttachmentContent'](_0x32993d['fileId']);if(_0x5b5891){const _0x13d749=this['formatContentFile'](_0x32993d,_0x5b5891);_0x59f095+=_0x13d749+'\x0a';}}_0x59f095+=_0x2b8dea(0x9d);}if(_0x219563['length']>0x0){_0x59f095+=_0x2b8dea(0xb0);for(const _0x278fd4 of _0x219563){const _0x3b0f54=this[_0x2b8dea(0xbd)](_0x278fd4);_0x59f095+=_0x3b0f54+'\x0a';}_0x59f095+=_0x2b8dea(0xb7),_0x59f095+=_0x2b8dea(0xcd);}return _0x59f095;}catch(_0x2b9d6d){return this['logger']?.[_0x2b8dea(0xb1)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x4f76ce,'error':_0x2b9d6d[_0x2b8dea(0x9e)]}),'';}}['formatContentFile'](_0x5decab,_0x17992b){const _0x9803f2=a0_0x6e198c,{fileName:_0x2de0a5,fileType:_0x14c507,size:_0x2b2b28,contentType:_0x477e34}=_0x5decab,_0xe5d0e3=(_0x2b2b28/0x400)['toFixed'](0x2);if(_0x477e34===_0x9803f2(0xaa))return this[_0x9803f2(0xa1)](_0x5decab,_0x17992b);else{if(_0x477e34===_0x9803f2(0xa2))return this['formatImageFile'](_0x5decab,_0x17992b);else{if(_0x477e34==='pdf')return this[_0x9803f2(0xba)](_0x5decab,_0x17992b);}}return'\x20\x20<file\x20name=\x22'+this[_0x9803f2(0xc4)](_0x2de0a5)+'\x22\x20type=\x22'+_0x14c507+'\x22\x20size=\x22'+_0xe5d0e3+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x17992b)+_0x9803f2(0xa3);}['formatTextFile'](_0x2ba00f,_0x238fca){const _0x4b1684=a0_0x6e198c,{fileName:_0xf890d,fileType:_0x445acc,size:_0x595331}=_0x2ba00f,_0x5c25a9=(_0x595331/0x400)[_0x4b1684(0x9f)](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x4b1684(0xc4)](_0xf890d)+'\x22\x20type=\x22'+_0x445acc+'\x22\x20size=\x22'+_0x5c25a9+'KB\x22\x20mode=\x22content\x22>\x0a'+this[_0x4b1684(0xc4)](_0x238fca)+'\x0a\x20\x20</file>';}[a0_0x6e198c(0xc3)](_0x2428e7,_0x2d62e5){const _0x369924=a0_0x6e198c,{fileName:_0x18c164,fileType:_0x431e58,size:_0x4934a0}=_0x2428e7,_0x14205e=(_0x4934a0/0x400)['toFixed'](0x2);return _0x369924(0xc7)+this['escapeXml'](_0x18c164)+'\x22\x20type=\x22'+_0x431e58+_0x369924(0xae)+_0x14205e+_0x369924(0xb4)+_0x2d62e5+_0x369924(0xa3);}['formatPdfFile'](_0x2a1138,_0x5880fb){const _0x17e52d=a0_0x6e198c,{fileName:_0x480f64,fileType:_0x584ce4,size:_0x1016ac}=_0x2a1138,_0x16e34d=(_0x1016ac/0x400)[_0x17e52d(0x9f)](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x480f64)+'\x22\x20type=\x22'+_0x584ce4+_0x17e52d(0xae)+_0x16e34d+_0x17e52d(0xb4)+this[_0x17e52d(0xc4)](_0x5880fb)+'\x0a\x20\x20</file>';}[a0_0x6e198c(0xbd)](_0x353835){const _0x4ab581=a0_0x6e198c,{fileName:_0x1425bb,originalPath:_0x332419,size:_0x51ce4b,fileType:_0x36abec,lastModified:_0x1a84e6}=_0x353835,_0x109c85=this['formatBytes'](_0x51ce4b),_0x4f365a=new Date(_0x1a84e6)[_0x4ab581(0xac)]()['split']('T')[0x0];return'\x20\x20<file\x20name=\x22'+this[_0x4ab581(0xc4)](_0x1425bb)+'\x22\x20path=\x22'+this[_0x4ab581(0xc4)](_0x332419)+_0x4ab581(0xae)+_0x109c85+_0x4ab581(0xbb)+_0x36abec+'\x22\x20modified=\x22'+_0x4f365a+_0x4ab581(0xa5);}[a0_0x6e198c(0xc4)](_0x2f8933){const _0x507161=a0_0x6e198c;if(!_0x2f8933)return'';return _0x2f8933[_0x507161(0xad)](/&/g,_0x507161(0xa0))[_0x507161(0xad)](/</g,_0x507161(0xcb))['replace'](/>/g,'>')[_0x507161(0xad)](/"/g,'"')['replace'](/'/g,_0x507161(0xbe));}['formatBytes'](_0x147022){const _0x31a859=a0_0x6e198c;if(_0x147022===0x0)return'0\x20Bytes';const _0x5c63aa=0x400,_0x3587ac=['Bytes','KB','MB','GB'],_0x352b2f=Math['floor'](Math['log'](_0x147022)/Math['log'](_0x5c63aa));return parseFloat((_0x147022/Math[_0x31a859(0xbc)](_0x5c63aa,_0x352b2f))[_0x31a859(0x9f)](0x2))+_0x3587ac[_0x352b2f];}async[a0_0x6e198c(0xa7)](_0x28ab94){const _0x2c40e0=a0_0x6e198c;try{const _0x3172bb=await this[_0x2c40e0(0xc2)]['getActiveAttachments'](_0x28ab94);let _0x330a8a=0x0;for(const _0x2bdcc2 of _0x3172bb){_0x2bdcc2[_0x2c40e0(0xab)]==='content'?_0x330a8a+=_0x2bdcc2['tokenEstimate']||0x0:_0x330a8a+=0x14;}return _0x330a8a;}catch(_0x564174){return this['logger']?.['error']('Error\x20estimating\x20total\x20tokens',{'agentId':_0x28ab94,'error':_0x564174[_0x2c40e0(0x9e)]}),0x0;}}async[a0_0x6e198c(0xb9)](_0x5cbced){const _0x3fa2a6=a0_0x6e198c;try{const _0x3d24fc=await this[_0x3fa2a6(0xc2)]['getActiveAttachments'](_0x5cbced),_0x52f70b={'totalActive':_0x3d24fc[_0x3fa2a6(0xcc)],'contentMode':_0x3d24fc[_0x3fa2a6(0xa4)](_0x28a3ed=>_0x28a3ed['mode']==='content')['length'],'referenceMode':_0x3d24fc[_0x3fa2a6(0xa4)](_0x539725=>_0x539725['mode']===_0x3fa2a6(0xaf))['length'],'estimatedTokens':0x0,'files':[]};for(const _0x57c485 of _0x3d24fc){_0x52f70b[_0x3fa2a6(0x9c)]+=_0x57c485['tokenEstimate']||0x0,_0x52f70b[_0x3fa2a6(0xa8)]['push']({'fileName':_0x57c485[_0x3fa2a6(0xc9)],'mode':_0x57c485['mode'],'size':this[_0x3fa2a6(0xa9)](_0x57c485['size']),'tokens':_0x57c485['tokenEstimate']||0x0});}return _0x52f70b;}catch(_0x5c8c2a){return this[_0x3fa2a6(0xb3)]?.[_0x3fa2a6(0xb1)](_0x3fa2a6(0xc1),{'agentId':_0x5cbced,'error':_0x5c8c2a['message']}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}export default ContextInjectionService;function a0_0x486c(_0x2f539e,_0x2a6c97){_0x2f539e=_0x2f539e-0x9c;const _0x2b9de8=a0_0x2b9d();let _0x486c81=_0x2b9de8[_0x2f539e];if(a0_0x486c['svUmlp']===undefined){var _0x3e7f53=function(_0x584751){const _0x48b4f8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x146b3a='',_0xe4446f='';for(let _0x540c30=0x0,_0x4f76ce,_0x434ee1,_0x543437=0x0;_0x434ee1=_0x584751['charAt'](_0x543437++);~_0x434ee1&&(_0x4f76ce=_0x540c30%0x4?_0x4f76ce*0x40+_0x434ee1:_0x434ee1,_0x540c30++%0x4)?_0x146b3a+=String['fromCharCode'](0xff&_0x4f76ce>>(-0x2*_0x540c30&0x6)):0x0){_0x434ee1=_0x48b4f8['indexOf'](_0x434ee1);}for(let _0x219563=0x0,_0x59f095=_0x146b3a['length'];_0x219563<_0x59f095;_0x219563++){_0xe4446f+='%'+('00'+_0x146b3a['charCodeAt'](_0x219563)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe4446f);};a0_0x486c['FpPuKT']=_0x3e7f53,a0_0x486c['gNhsLE']={},a0_0x486c['svUmlp']=!![];}const _0x3dae55=_0x2b9de8[0x0],_0x37b68e=_0x2f539e+_0x3dae55,_0x2d45a1=a0_0x486c['gNhsLE'][_0x37b68e];return!_0x2d45a1?(_0x486c81=a0_0x486c['FpPuKT'](_0x486c81),a0_0x486c['gNhsLE'][_0x37b68e]=_0x486c81):_0x486c81=_0x2d45a1,_0x486c81;}function a0_0x2b9d(){const _0x144040=['mJu1ntG5mgHOr2Hurq','pc9MAwXLlxjLzMvYzw5Jzxm+cG','mta4nty5m25ysNHLuW','z2v0qxr0ywnOBwvUDfn1Bw1HCNK','zM9YBwf0ugrMrMLSzq','iIb0ExbLpsi','Cg93','zM9YBwf0uMvMzxjLBMnLrMLSzq','jMfWB3m7','Aw5PDgLHBgL6zq','ndC3oda1nKHcsuzIBq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihn1Bw1HCNK','yxr0ywnOBwvUDfnLCNzPy2u','zM9YBwf0sw1Hz2vgAwXL','zxnJyxbLwg1S','ntq1odq2mhvUt3DLEG','mZq2otq0mefUD1zYrW','ica8zMLSzsbUyw1Lpsi','y29UDgvUDa','zMLSzu5HBwu','oteXnty1DM53ENvf','jMX0oW','BgvUz3rO','cK5VDgu6ifjLzMvYzw5JzwqGzMLSzxmGy2fUigjLigfJy2vZC2vKihvZAw5NihrOzsbMAwXLC3LZDgvTihrVB2WGAwyGBMvLzgvKlGO','zxn0Aw1HDgvKvg9Rzw5Z','pc9HDhrHy2HLzc1MAwXLCZ4k','BwvZC2fNzq','Dg9gAxHLza','jMfTCdS','zM9YBwf0vgv4DezPBgu','Aw1Hz2u','cIaGpc9MAwXLpG','zMLSDgvY','iIaVpG','y29UzMLN','zxn0Aw1HDgvuB3rHBfrVA2vUCW','zMLSzxm','zM9YBwf0qNL0zxm','Dgv4Da','Bw9Kzq','Dg9ju09tDhjPBMC','CMvWBgfJzq','iIbZAxPLpsi','CMvMzxjLBMnL','cJXMAwXLlxjLzMvYzw5Jzxm+cG','zxjYB3i','mJi4nJmWsLzJyKTk','Bg9Nz2vY','s0iIig1Vzgu9iMnVBNrLBNqIpGO','z2v0qwn0AxzLqxr0ywnOBwvUDhm'];a0_0x2b9d=function(){return _0x144040;};return a0_0x2b9d();}
|