@loxia-labs/loxia-autopilot-one 1.0.13 → 1.0.15
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 +7 -3
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -0
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-CR8edPA3.js +348 -0
- package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
- package/web-ui/build/static/index-DXN850Y2.js +0 -400
- package/web-ui/build/static/index-an-YRzUX.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3e0030=a0_0x170f;(function(_0xbe0eaa,_0xb89231){const _0x4c1cb9=a0_0x170f,_0x401417=_0xbe0eaa();while(!![]){try{const _0x204c00=-parseInt(_0x4c1cb9(0x215))/0x1*(-parseInt(_0x4c1cb9(0x1c1))/0x2)+parseInt(_0x4c1cb9(0x1df))/0x3*(parseInt(_0x4c1cb9(0x1b0))/0x4)+parseInt(_0x4c1cb9(0x1c9))/0x5+-parseInt(_0x4c1cb9(0x1f9))/0x6+-parseInt(_0x4c1cb9(0x1bc))/0x7+parseInt(_0x4c1cb9(0x222))/0x8+parseInt(_0x4c1cb9(0x1dc))/0x9*(parseInt(_0x4c1cb9(0x257))/0xa);if(_0x204c00===_0xb89231)break;else _0x401417['push'](_0x401417['shift']());}catch(_0x385225){_0x401417['push'](_0x401417['shift']());}}}(a0_0x5f3f,0xd82aa));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x170f(_0xac9fa0,_0x4f2c90){_0xac9fa0=_0xac9fa0-0x1aa;const _0x5f3f94=a0_0x5f3f();let _0x170fb2=_0x5f3f94[_0xac9fa0];if(a0_0x170f['KeDQhl']===undefined){var _0x57e062=function(_0x3ecd70){const _0x5d25e0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23d0e6='',_0x472369='';for(let _0x3bccf6=0x0,_0x1d963e,_0x330893,_0x2acc76=0x0;_0x330893=_0x3ecd70['charAt'](_0x2acc76++);~_0x330893&&(_0x1d963e=_0x3bccf6%0x4?_0x1d963e*0x40+_0x330893:_0x330893,_0x3bccf6++%0x4)?_0x23d0e6+=String['fromCharCode'](0xff&_0x1d963e>>(-0x2*_0x3bccf6&0x6)):0x0){_0x330893=_0x5d25e0['indexOf'](_0x330893);}for(let _0x389ade=0x0,_0x3ccafb=_0x23d0e6['length'];_0x389ade<_0x3ccafb;_0x389ade++){_0x472369+='%'+('00'+_0x23d0e6['charCodeAt'](_0x389ade)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x472369);};a0_0x170f['ObrxSV']=_0x57e062,a0_0x170f['qqXbkA']={},a0_0x170f['KeDQhl']=!![];}const _0x3e00af=_0x5f3f94[0x0],_0x340a51=_0xac9fa0+_0x3e00af,_0x2a3485=a0_0x170f['qqXbkA'][_0x340a51];return!_0x2a3485?(_0x170fb2=a0_0x170f['ObrxSV'](_0x170fb2),a0_0x170f['qqXbkA'][_0x340a51]=_0x170fb2):_0x170fb2=_0x2a3485,_0x170fb2;}function a0_0x5f3f(){const _0x6141a5=['mJr2vuvcyu0','CgXHDgzVCM1qCM92AwrLza','uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','BwvZC2fNzxm','z2vUzxjHDgvjBwfNzq','DxnLCG','yxbPs2v5twfUywDLCG','D2fYBG','DML2Awq','y2vPBa','AxnpCgvU','ue9tva','ic0G','x2nOzwnRuMf0zuXPBwL0','ChjLzMvYCMvKtw9KzwW','x3jLy29YzezHAwX1CMu','C3bLzwq','y29UDMvYC2f0Aw9UCW','x2HHBMrSzvjHDgvmAw1PDa','Dgv4Da','ChjVBxb0','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','CMvXDwvZDff1zxvL','x2zVCM1HDezVCK9Wzw5bsq','r2vUzxjHDgLUzYbPBwfNzsb3AxrOig1VzgvSoIa','x3jLC2v0q2LYy3vPDejYzwfRzxi','ntuWnJi2mfvPyuzgDa','zgvLChnLzwS','uMf0zsbSAw1PDcbLEgnLzwrLza','Aw5JBhvKzxm','Dw5ZAgLMDa','sw52ywXPzcbYzxf1zxn0oIa','y3vZDg9TqxbPs2v5CW','r1buxZrFtuLosq','qMvHCMvYia','uMv0CNLPBMCGAw4G','qwnJzxnZigzVCMjPzgrLBIb0BYbbssbZzxj2AwnL','x2DLDfzLBMrVCKzYB21nB2rLBa','DMvUzg9YqxbPs2v5','ywDLBNrjza','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','C3rYAw5N','CMfUzg9T','zMX1Ec0XlJeTChjV','C2vUze1LC3nHz2u','C3rHDhvZ','CMf0zuXPBwL0zxjZ','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','qwXSigf0DgvTChrZihrVihjLywnOigjHy2TLBMqGzMfPBgvKlcb1C2LUzYbTB2nRihjLC3bVBNnL','u0vsvKLdrv9vtKfwquLmqujmrq','ChvZAa','y29UDgv4DfDPBMrVDW','DxjS','BwvZC2fNzq','mtLyAMreqvi','CMv2zxjZzq','zMfPBhvYzxm','tw9KzwWGCM91DgLUzYbMywLSzwq6ia','quKGC2vYDMLJzsbLCNjVCJOG','z2v0s2v5C0zVCLjLCxvLC3q','z3b0','AgfUzgXLshr0CevYCM9Y','x2zVCM1HDezVCKfUDgHYB3bPyW','Aw5MBW','qKfex0DbvevxqvK','tw9KzwWGC3DPDgnOigzHAwXLzdOG','ANnVBG','ntq4nJqYnef6EKf6rG','ssbHCg9SB2DPEMuSigj1Dcbjj20GDw5HyMXLihrVignVBM5Ly3qGDg8GDgHLiefjihnLCNzPy2uGyxqGDgHLig1VBwvUDc4GrxjYB3i6ia','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','Bwf4x3rVA2vUCW','CgvYC2LZDefNzw50u3rHDgu','C3LZDgvT','tK9ux0zpvu5e','CMvZCg9UC2vgB3jTyxq','y29TCgXLEgL0Eq','Dg9tDhjPBMC','CMvXlq','DgLTzw91Da','y2LYy3vPDejYzwfRzxi','CM9Szq','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','sw1Hz2uGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','CMvXDwvZDeLK','t1bftKfj','Aw1Hz2vZ','C3vIC3rYAw5N','BwfW','ywXS','A2v5CW','qu5usfjpueLdx0HbsuTv','C2XPy2u','vw5RBM93BIbbssbZzxj2AwnLigvYCM9Y','C3DPDgnOtw9KzwW','C3rHBMrHCMq','CxvHBgL0Eq','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','DhjHy2TvC2fNzq','x2zVCM1HDe1LC3nHz2vZrM9Ytw9KzwW','z2v0','B3b0Aw9UCW','y29UDMvYC2f0Aw9UtwfUywDLCNm','y29UzMLN','Bg9Nz2vY','tM8GqvbjigTLEsbJB25MAwD1CMvKlIbqBgvHC2uGy29UzMLNDxjLihLVDxiGtg94AweGqvbjigTLEsbPBIbtzxr0Aw5NCY4','vxnHz2uGDhjHy2TPBMCGzMfPBgvKoIa','rKfmtejbq0S','C2v0qwDLBNrqB29S','C3LZDgvTuhjVBxb0','zMLUAxnOuMvHC29U','qvPvuKu','x2nOzwnRtw9KzwXizwfSDgG','zxn0Aw1HDgvKvg9Rzw5Z','zgf0yq','x2LZvMfSAwrnB2rLBa','x3rYDw5JyxrLtwvZC2fNzq','ChjVDMLKzxi','vu5bvvrit1jjwKve','x2LZq2LYy3vPDejYzwfRzxjpCgvU','ywDLBNrqB29S','mtuWBKLnBxHW','BM93','qwDLBNqGCg9VBcbZzxqGzM9YiefjihnLCNzPy2u','yJy0x2PZB24','mtaYnhGXmdi0','x2zVCM1HDfnPBMDSzu1LC3nHz2u','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','CMv0CNLbDhrLBxb0CW','nJe0nJmYrg5tyKv1','yMfJA2vUza','y29UDgvUDa','CMv2AxnLzf9WCM9TChq','Dg9ju09tDhjPBMC','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','yNvKz2v0u2vYDMLJzq','yxbPs2v5','yxnZAxn0yw50','AgLNAa','Bw9KzwW','y2XHC3nPzNLfCNjVCG','ote4ndCYmvvKCKHJrW','y29Kzq','vw5RBM93BIbTB2rLBdOG','C3rYAw5NAwz5','x2vZDgLTyxrLvg9Rzw5Z','mtaWmtr4s2vPquq','Dg9vChbLCKnHC2u','C3rVCa','twfRAw5NihjLCxvLC3qGDg8GqxP1CMuGyMfJA2vUza','C3rHDhvZvgv4Da','BgvUz3rO','qu5usfjpueLd','z2v0qwDLBNq','oti0ndmWr0r3suLS','y2HVAwnLCW','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','DhjPBq','Dg90ywXFDg9Rzw5Z','ueHjxZq','DgHYzxnOB2XK','zxjYB3i','qxv0AgvUDgLJyxrPB24GzMfPBgvKihDPDgGGquKGC2vYDMLJzq','C2vZC2LVBKLK','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','yMfZzvvYBa','C3rHy2S','DxnHz2u','r1buxZq','Bw9KzwXtCgvJCW','C3r5Bgu','zxjYB3jiyw5KBgvY','sfruuca','ntuYmdG3sfvkzM5Y','CgHP','x21HA2vjBwfNzufqsvjLCxvLC3q'];a0_0x5f3f=function(){return _0x6141a5;};return a0_0x5f3f();}class AIService{constructor(_0x23d0e6,_0x472369,_0x3bccf6,_0x1d963e){const _0x977c62=a0_0x170f;this[_0x977c62(0x245)]=_0x23d0e6,this['logger']=_0x472369,this[_0x977c62(0x1b6)]=_0x3bccf6,this[_0x977c62(0x1da)]=_0x1d963e,this[_0x977c62(0x1d4)]=_0x23d0e6[_0x977c62(0x1b1)]?.[_0x977c62(0x1d4)]||'https://api.loxia.ai',this['timeout']=_0x23d0e6['backend']?.['timeout']||0xea60,this['retryAttempts']=_0x23d0e6['backend']?.[_0x977c62(0x1af)]||0x3,this[_0x977c62(0x20d)]=new Map(),this[_0x977c62(0x1f5)]=new Map(),this[_0x977c62(0x22e)]={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this[_0x977c62(0x20e)](),this[_0x977c62(0x244)]=new Map(),this[_0x977c62(0x1e5)]=null,this[_0x977c62(0x256)]=null;}async[a0_0x3e0030(0x20b)](_0x330893,_0x2acc76,_0x389ade={}){const _0x3b3687=a0_0x3e0030,_0x3ccafb=_0x3b3687(0x22c)+Date['now']()+'-'+Math[_0x3b3687(0x209)]()[_0x3b3687(0x22b)](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x330893);const _0x1fcd7a=this[_0x3b3687(0x241)](_0x2acc76,_0x330893,_0x389ade),_0x198f66={'model':_0x330893,'messages':_0x1fcd7a,'options':{'max_tokens':this['modelSpecs'][_0x330893]?.['maxTokens']||0xfa0,'temperature':_0x389ade['temperature']||0.7,'stream':_0x389ade['stream']||![]},'metadata':{'requestId':_0x3ccafb,'agentId':_0x389ade['agentId'],'timestamp':new Date()[_0x3b3687(0x1b4)]()}};_0x389ade[_0x3b3687(0x24b)]&&(_0x198f66[_0x3b3687(0x227)]=_0x389ade['systemPrompt']);this[_0x3b3687(0x246)][_0x3b3687(0x21e)]('Sending\x20message\x20to\x20model:\x20'+_0x330893,{'requestId':_0x3ccafb,'agentId':_0x389ade[_0x3b3687(0x206)],'messageCount':Array['isArray'](_0x2acc76)?_0x2acc76['length']:0x1,'maxTokens':_0x198f66[_0x3b3687(0x225)]});const _0x217122=await this['_makeAPIRequest']('/chat/completions',_0x198f66,_0x3ccafb,{..._0x389ade,'sessionId':_0x389ade['sessionId'],'platformProvided':_0x389ade['platformProvided']||![]});return _0x217122['usage']&&await this['trackUsage'](_0x389ade['agentId'],_0x330893,{'prompt_tokens':_0x217122[_0x3b3687(0x1d6)]['prompt_tokens']||0x0,'completion_tokens':_0x217122['usage']['completion_tokens']||0x0,'total_tokens':_0x217122['usage'][_0x3b3687(0x1cd)]||0x0}),this['_resetCircuitBreaker'](),{'content':_0x217122['choices'][0x0]?.['message']?.['content']||'','model':_0x217122['model'],'tokenUsage':_0x217122[_0x3b3687(0x1d6)],'requestId':_0x3ccafb,'finishReason':_0x217122[_0x3b3687(0x1ca)][0x0]?.['finish_reason']};}catch(_0x23b105){this[_0x3b3687(0x1ee)](),this['logger'][_0x3b3687(0x1d0)](_0x3b3687(0x23f)+_0x23b105[_0x3b3687(0x214)],{'requestId':_0x3ccafb,'model':_0x330893,'agentId':_0x389ade[_0x3b3687(0x206)],'error':_0x23b105[_0x3b3687(0x1d5)]}),await this['handleHttpError'](_0x23b105,{'requestId':_0x3ccafb,'model':_0x330893,'agentId':_0x389ade['agentId']});throw _0x23b105;}}async['routeModel'](_0x2dd936,_0x4871a7={}){const _0xa46688=a0_0x3e0030;try{const _0x2a11e1=MODEL_ROUTING[_0x2dd936[_0xa46688(0x1c2)]()]||MODEL_ROUTING[_0xa46688(0x249)],_0x2dc14b=[];for(const _0x1d3ec6 of _0x2a11e1){const _0x4fdfe7=await this['_checkModelHealth'](_0x1d3ec6);_0x4fdfe7&&_0x2dc14b[_0xa46688(0x211)](_0x1d3ec6);}if(_0x2dc14b[_0xa46688(0x1c6)]===0x0)return this['logger']['warn'](_0xa46688(0x230)+_0x2dd936+',\x20using\x20fallback'),MODEL_ROUTING[_0xa46688(0x249)][0x0];let _0x11a2ef=_0x2dc14b[0x0];if(_0x4871a7[_0xa46688(0x1ed)]&&_0x2dc14b['includes'](_0x4871a7['preferredModel']))_0x11a2ef=_0x4871a7['preferredModel'];else{if(_0x4871a7[_0xa46688(0x22a)]===_0xa46688(0x1b9)&&_0x2dc14b[_0xa46688(0x1fc)](MODELS['ANTHROPIC_OPUS']))_0x11a2ef=MODELS['ANTHROPIC_OPUS'];else _0x4871a7[_0xa46688(0x1ef)]==='fast'&&_0x2dc14b['includes'](MODELS[_0xa46688(0x239)])&&(_0x11a2ef=MODELS['ANTHROPIC_HAIKU']);}return this['logger']['info'](_0xa46688(0x1cb)+_0x2dd936,{'selectedModel':_0x11a2ef,'availableModels':_0x2dc14b[_0xa46688(0x1c6)],'context':_0x4871a7}),_0x11a2ef;}catch(_0xb3af99){return this['logger']['error'](_0xa46688(0x218)+_0xb3af99[_0xa46688(0x214)],{'task':_0x2dd936,'context':_0x4871a7}),MODEL_ROUTING[_0xa46688(0x249)][0x0];}}async['compactizeConversation'](_0x5a0f6a,_0x2f4466){const _0x1d83ed=a0_0x3e0030,_0x15c016=this[_0x1d83ed(0x1d8)][_0x2f4466];if(!_0x15c016)throw new Error(_0x1d83ed(0x1be)+_0x2f4466);const _0x2183ac=_0x15c016[_0x1d83ed(0x212)]*0.8;let _0x3b2aa5=0x0;const _0x4de653=[],_0x14bde9=await Promise[_0x1d83ed(0x237)](_0x5a0f6a[_0x1d83ed(0x236)](async _0x2bbe9d=>({..._0x2bbe9d,'estimatedTokens':await this[_0x1d83ed(0x1c0)](_0x2bbe9d[_0x1d83ed(0x1b2)],_0x2f4466)}))),_0x28e4ad=[..._0x14bde9][_0x1d83ed(0x216)]();for(const _0x2590ae of _0x28e4ad){if(_0x3b2aa5+_0x2590ae['estimatedTokens']>_0x2183ac){if(_0x4de653['length']===0x0){const _0x2bc1f7=await this[_0x1d83ed(0x252)](_0x2590ae['content'],_0x2183ac);_0x4de653[_0x1d83ed(0x1fd)]({..._0x2590ae,'content':_0x2bc1f7,'estimatedTokens':_0x2183ac});}break;}_0x4de653['unshift'](_0x2590ae),_0x3b2aa5+=_0x2590ae[_0x1d83ed(0x24f)];}const _0x485c99=_0x14bde9[_0x1d83ed(0x23a)](0x0,-_0x4de653[_0x1d83ed(0x1c6)]);if(_0x485c99[_0x1d83ed(0x1c6)]>0x0){const _0x235a2e=await this['_summarizeMessages'](_0x485c99,_0x2f4466);_0x4de653['unshift']({'role':'system','content':'Previous\x20conversation\x20summary:\x20'+_0x235a2e,'timestamp':_0x485c99[0x0]['timestamp'],'type':'summary','estimatedTokens':await this[_0x1d83ed(0x1c0)](_0x235a2e,_0x2f4466)});}return this['logger']['info']('Conversation\x20compactized\x20for\x20model:\x20'+_0x2f4466,{'originalMessages':_0x5a0f6a['length'],'compactizedMessages':_0x4de653['length'],'estimatedTokens':_0x3b2aa5,'maxTokens':_0x2183ac}),_0x4de653;}async[a0_0x3e0030(0x240)](_0x33bce2,_0x14196f,_0x1e75d7,_0x5067f6){const _0x4d0c89=a0_0x3e0030;try{this[_0x4d0c89(0x1b6)]&&this[_0x4d0c89(0x1b6)][_0x4d0c89(0x240)](_0x33bce2,_0x14196f,_0x1e75d7);}catch(_0x39183d){this['logger']['error'](_0x4d0c89(0x248)+_0x39183d['message']);}}async[a0_0x3e0030(0x21c)](_0x1b7a87,_0x4f4709){const _0x433a48=a0_0x3e0030,_0x4150a1=this[_0x433a48(0x1da)]?.[_0x433a48(0x1bb)]?.(_0x1b7a87,_0x4f4709);switch(_0x1b7a87[_0x433a48(0x20c)]||_0x1b7a87[_0x433a48(0x1bd)]){case HTTP_STATUS['BAD_REQUEST']:this['logger'][_0x433a48(0x1d0)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x4f4709,'error':_0x1b7a87['message']});throw new Error(_0x433a48(0x1fe)+_0x1b7a87['message']);case HTTP_STATUS[_0x433a48(0x254)]:this[_0x433a48(0x246)]['error'](_0x433a48(0x1d1),{'context':_0x4f4709});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this[_0x433a48(0x246)]['error'](_0x433a48(0x203),{'context':_0x4f4709});throw new Error(_0x433a48(0x1f4));case HTTP_STATUS[_0x433a48(0x228)]:this['logger']['error']('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x4f4709});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS['TOO_MANY_REQUESTS']:this['logger']['warn'](_0x433a48(0x1fb),{'context':_0x4f4709}),await this[_0x433a48(0x1f1)](_0x4f4709);throw new Error(_0x433a48(0x1e1));case HTTP_STATUS['INTERNAL_SERVER_ERROR']:case HTTP_STATUS[_0x433a48(0x21f)]:case HTTP_STATUS[_0x433a48(0x210)]:case HTTP_STATUS['GATEWAY_TIMEOUT']:this[_0x433a48(0x246)][_0x433a48(0x1d0)](_0x433a48(0x1d3),{'context':_0x4f4709,'status':_0x1b7a87['status']}),await this['_handleServiceUnavailable'](_0x4f4709);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x433a48(0x246)]['error'](_0x433a48(0x23b),{'context':_0x4f4709,'error':_0x1b7a87[_0x433a48(0x214)]});throw new Error(_0x433a48(0x219)+_0x1b7a87['message']);}}['setApiKeyManager'](_0x512216){const _0x18445b=a0_0x3e0030;this['apiKeyManager']=_0x512216,this['logger']?.[_0x18445b(0x21e)]('API\x20key\x20manager\x20set\x20for\x20AI\x20service',{'hasManager':!!_0x512216});}[a0_0x3e0030(0x24a)](_0x3c84ad){const _0x2d8bc1=a0_0x3e0030;this['agentPool']=_0x3c84ad,this[_0x2d8bc1(0x246)]?.['info'](_0x2d8bc1(0x1aa),{'hasAgentPool':!!_0x3c84ad});}async[a0_0x3e0030(0x1e3)](_0x3723ba,_0x24dcd5={}){const _0x5e7e95=a0_0x3e0030,_0x2f27bd='img-'+Date[_0x5e7e95(0x258)]()+'-'+Math[_0x5e7e95(0x209)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this[_0x5e7e95(0x255)]())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x3723ba||typeof _0x3723ba!=='string'||_0x3723ba[_0x5e7e95(0x1cc)]()['length']===0x0)throw new Error('Image\x20generation\x20requires\x20a\x20non-empty\x20text\x20prompt');const _0x14d0b5=_0x24dcd5[_0x5e7e95(0x1ba)]||_0x5e7e95(0x20a),_0x2079d0=_0x24dcd5['size']||_0x5e7e95(0x1ac),_0x5f3209=_0x24dcd5[_0x5e7e95(0x23e)]||_0x5e7e95(0x23d),_0x20a9c0=_0x24dcd5[_0x5e7e95(0x229)]||_0x5e7e95(0x213);this[_0x5e7e95(0x246)][_0x5e7e95(0x21e)](_0x5e7e95(0x1f7)+_0x14d0b5,{'requestId':_0x2f27bd,'model':_0x14d0b5,'size':_0x2079d0,'quality':_0x5f3209,'promptLength':_0x3723ba[_0x5e7e95(0x1c6)]});const _0x5465af={'prompt':_0x3723ba,'model':_0x14d0b5,'size':_0x2079d0,'quality':_0x5f3209,'response_format':_0x20a9c0,'n':0x1,'metadata':{'requestId':_0x2f27bd,'timestamp':new Date()['toISOString']()}},_0x5d461b=await this[_0x5e7e95(0x1de)](_0x5465af,_0x2f27bd,{'sessionId':_0x24dcd5['sessionId'],'platformProvided':_0x24dcd5[_0x5e7e95(0x1e0)]||![]});return this['_resetCircuitBreaker'](),{'url':_0x5d461b[_0x5e7e95(0x250)]?.[0x0]?.[_0x5e7e95(0x213)]||null,'b64_json':_0x5d461b[_0x5e7e95(0x250)]?.[0x0]?.[_0x5e7e95(0x1ab)]||null,'model':_0x5d461b[_0x5e7e95(0x1ba)]||_0x14d0b5,'requestId':_0x2f27bd,'revisedPrompt':_0x5d461b['data']?.[0x0]?.[_0x5e7e95(0x1b3)]||_0x3723ba};}catch(_0x1a215f){this['_recordFailure'](),this[_0x5e7e95(0x246)][_0x5e7e95(0x1d0)]('Image\x20generation\x20failed:\x20'+_0x1a215f[_0x5e7e95(0x214)],{'requestId':_0x2f27bd,'model':_0x24dcd5[_0x5e7e95(0x1ba)],'error':_0x1a215f['stack']});throw _0x1a215f;}}async['checkServiceHealth'](){const _0x8832c7=a0_0x3e0030;try{const _0x468edb=await this['_makeAPIRequest']('/health',{},'health-check');return _0x468edb[_0x8832c7(0x20c)]==='healthy';}catch(_0x5da506){return![];}}async['switchAgentModel'](_0x57b0b2,_0x45c086){const _0x553761=a0_0x3e0030;try{if(!this['_isValidModel'](_0x45c086))throw new Error('Invalid\x20model:\x20'+_0x45c086);let _0x38e0ee=this[_0x553761(0x244)][_0x553761(0x242)](_0x57b0b2);!_0x38e0ee&&(_0x38e0ee=new ConversationManager(_0x57b0b2,this[_0x553761(0x246)]),this['conversationManagers']['set'](_0x57b0b2,_0x38e0ee));const _0x131380=await _0x38e0ee[_0x553761(0x23c)](_0x45c086),_0x18e051=await this[_0x553761(0x256)]?.[_0x553761(0x1c8)](_0x57b0b2);return _0x18e051&&(_0x18e051['currentModel']=_0x45c086,await this[_0x553761(0x256)][_0x553761(0x226)](_0x57b0b2)),this['logger']['info']('Agent\x20model\x20switched:\x20'+_0x57b0b2,{'newModel':_0x45c086,'messageCount':_0x131380['messages'][_0x553761(0x1c6)]}),{'success':!![],'agentId':_0x57b0b2,'newModel':_0x45c086,'conversation':_0x131380};}catch(_0x11ca32){this['logger'][_0x553761(0x1d0)](_0x553761(0x220)+_0x11ca32[_0x553761(0x214)],{'agentId':_0x57b0b2,'newModel':_0x45c086});throw _0x11ca32;}}[a0_0x3e0030(0x20e)](){const _0x1cc308=a0_0x3e0030,_0x55d96d={[MODELS['ANTHROPIC_SONNET']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS['ANTHROPIC_OPUS']]:{'provider':MODEL_PROVIDERS[_0x1cc308(0x1c7)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x1cc308(0x1c7)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS[_0x1cc308(0x1d7)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS[_0x1cc308(0x200)]]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0x1cc308(0x233)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS['DEEPSEEK_R1']]:{'provider':MODEL_PROVIDERS['DEEPSEEK'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS[_0x1cc308(0x1ce)]]:{'provider':MODEL_PROVIDERS['PHI'],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':_0x1cc308(0x24d),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':_0x1cc308(0x24d),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':_0x1cc308(0x24d),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':_0x1cc308(0x24d),'contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x55d96d;}[a0_0x3e0030(0x241)](_0x4968b5,_0x503979,_0x5bc17f){const _0x4ca204=a0_0x3e0030,_0x128dcd=this['modelSpecs'][_0x503979]||{'provider':'AZURE'};let _0x3c9058;typeof _0x4968b5===_0x4ca204(0x208)?_0x3c9058=[{'role':'user','content':_0x4968b5}]:_0x3c9058=_0x4968b5[_0x4ca204(0x236)](_0xacaed3=>this[_0x4ca204(0x1ad)](_0xacaed3,_0x503979));switch(_0x128dcd[_0x4ca204(0x253)]){case MODEL_PROVIDERS['ANTHROPIC']:return this['_formatForAnthropic'](_0x3c9058);case MODEL_PROVIDERS[_0x4ca204(0x233)]:return this[_0x4ca204(0x1f6)](_0x3c9058);case MODEL_PROVIDERS['AZURE']:return this['_formatForAzure'](_0x3c9058);default:return _0x3c9058;}}['_formatSingleMessage'](_0x25db3e,_0x735bc2){const _0x20c6c7=a0_0x3e0030;return{'role':_0x25db3e[_0x20c6c7(0x22f)]||'user','content':_0x25db3e[_0x20c6c7(0x1b2)],'timestamp':_0x25db3e['timestamp']};}[a0_0x3e0030(0x21d)](_0x598753){return _0x598753['map'](_0x16694e=>{const _0x328e38=a0_0x170f;if(_0x16694e['role']===_0x328e38(0x227))return{'role':_0x328e38(0x1e4),'content':'System:\x20'+_0x16694e['content']};return _0x16694e;});}[a0_0x3e0030(0x1f6)](_0x510024){return _0x510024;}['_formatForAzure'](_0x4966a5){const _0x18a49c=a0_0x3e0030;return _0x4966a5[_0x18a49c(0x236)](_0x32aca3=>({..._0x32aca3,'content':typeof _0x32aca3[_0x18a49c(0x1b2)]===_0x18a49c(0x208)?_0x32aca3[_0x18a49c(0x1b2)]:JSON['stringify'](_0x32aca3['content'])}));}[a0_0x3e0030(0x251)](_0x1cc3ca){const _0x2f523a=a0_0x3e0030;this[_0x2f523a(0x246)]['debug']('Validating\x20model',{'model':_0x1cc3ca,'modelType':typeof _0x1cc3ca});if(this[_0x2f523a(0x1d8)][_0x1cc3ca]!==undefined)return!![];return this[_0x2f523a(0x246)]['warn']('Model\x20validation\x20failed',{'model':_0x1cc3ca,'availableModels':Object['keys'](this[_0x2f523a(0x1d8)])}),![];}async[a0_0x3e0030(0x24e)](_0x3efbca){return!![];}async[a0_0x3e0030(0x1c0)](_0x1db7aa,_0x3c2bfa){const _0xff12c3=a0_0x3e0030;return Math[_0xff12c3(0x1e8)](_0x1db7aa[_0xff12c3(0x1c6)]/0x4);}async[a0_0x3e0030(0x252)](_0x55e252,_0xca916c){const _0x160532=a0_0x3e0030,_0x4b21cd=_0xca916c*0x4;if(_0x55e252[_0x160532(0x1c6)]<=_0x4b21cd)return _0x55e252;return _0x55e252[_0x160532(0x235)](0x0,_0x4b21cd-0x14)+'\x0a...\x20[message\x20truncated]';}async['_summarizeMessages'](_0x607e8e,_0x4eca31){const _0x36558b=a0_0x3e0030,_0x1e782a=_0x607e8e['map'](_0x449706=>_0x449706[_0x36558b(0x22f)]+':\x20'+_0x449706[_0x36558b(0x1b2)])['join']('\x0a'),_0x29c76b=0x1f4;if(_0x1e782a['length']<=_0x29c76b)return _0x1e782a;return _0x1e782a['substring'](0x0,_0x29c76b)+'...\x20[conversation\x20summary\x20truncated]';}async['_makeAPIRequest'](_0x204ca0,_0x4d4769,_0xe8511a,_0xb1da53={}){const _0x4d5d1c=a0_0x3e0030,_0x4ee596='https://autopilot-api.azurewebsites.net/llm/chat';let _0x4eadd4,_0x2032cd=null,_0x5a0c43=null;this[_0x4d5d1c(0x246)]?.[_0x4d5d1c(0x21e)]('🔑\x20API\x20Key\x20retrieval\x20state',{'hasApiKeyManager':!!this[_0x4d5d1c(0x1e5)],'sessionId':_0xb1da53['sessionId'],'hasSessionId':!!_0xb1da53[_0x4d5d1c(0x1d2)],'optionsKeys':Object[_0x4d5d1c(0x238)](_0xb1da53),'model':_0x4d4769['model']});if(this['apiKeyManager']&&_0xb1da53['sessionId']){const _0x181749=this[_0x4d5d1c(0x1e5)]['getKeysForRequest'](_0xb1da53['sessionId'],{'platformProvided':_0xb1da53[_0x4d5d1c(0x1e0)]||![],'vendor':this['_getVendorFromModel'](_0x4d4769[_0x4d5d1c(0x1ba)])});_0x2032cd=_0x181749['loxiaApiKey'],_0x5a0c43=_0x181749['vendorApiKey'],this['logger']?.['debug']('Retrieved API keys from session manager',{'sessionId':_0xb1da53[_0x4d5d1c(0x1d2)],'hasLoxiaKey':!!_0x2032cd,'hasVendorKey':!!_0x5a0c43,'vendor':this['_getVendorFromModel'](_0x4d4769[_0x4d5d1c(0x1ba)])});}!_0x2032cd&&_0xb1da53[_0x4d5d1c(0x1b7)]&&(_0x2032cd=_0xb1da53[_0x4d5d1c(0x1b7)]);!_0x2032cd&&this[_0x4d5d1c(0x245)][_0x4d5d1c(0x1b7)]&&(_0x2032cd=this[_0x4d5d1c(0x245)]['apiKey']);if(!_0x2032cd)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x2ef7bc=_0x4d4769[_0x4d5d1c(0x1ba)],_0xe18460={'conversationId':_0xe8511a,'message':_0x4d4769[_0x4d5d1c(0x1e2)][_0x4d4769['messages']['length']-0x1]?.['content']||'','messages':_0x4d4769[_0x4d5d1c(0x1e2)],'model':_0x2ef7bc,'requestId':_0xe8511a,'options':_0x4d4769[_0x4d5d1c(0x243)]||{},'platformProvided':_0xb1da53[_0x4d5d1c(0x1e0)]||![]};_0x4d4769[_0x4d5d1c(0x227)]&&(_0xe18460['systemPrompt']=_0x4d4769['system']);_0xb1da53[_0x4d5d1c(0x1e0)]?_0xe18460[_0x4d5d1c(0x1b7)]=_0x2032cd:(_0x5a0c43&&(_0xe18460[_0x4d5d1c(0x205)]=_0x5a0c43),_0xb1da53['customApiKeys']&&(_0xe18460['customApiKeys']=_0xb1da53[_0x4d5d1c(0x1ff)]),_0xe18460[_0x4d5d1c(0x1b7)]=_0x2032cd);for(let _0x3f25dd=0x1;_0x3f25dd<=this[_0x4d5d1c(0x1af)];_0x3f25dd++){try{this['logger']['info'](_0x4d5d1c(0x1c4),{'url':_0x4ee596,'model':_0x4d4769[_0x4d5d1c(0x1ba)],'requestId':_0xe8511a,'attempt':_0x3f25dd,'hasApiKey':!!_0x2032cd});const _0x4eb289=await fetch(_0x4ee596,{'method':_0x4d5d1c(0x1ea),'headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x2032cd,'X-Request-ID':_0xe8511a},'body':JSON['stringify'](_0xe18460),'timeout':this[_0x4d5d1c(0x22d)]});if(!_0x4eb289['ok']){const _0x489b65=await _0x4eb289[_0x4d5d1c(0x1f2)](),_0x3beab0=new Error(_0x4d5d1c(0x1db)+_0x4eb289['status']+':\x20'+_0x4eb289[_0x4d5d1c(0x1c5)]+(_0x489b65?_0x4d5d1c(0x1eb)+_0x489b65:''));_0x3beab0[_0x4d5d1c(0x20c)]=_0x4eb289[_0x4d5d1c(0x20c)];throw _0x3beab0;}const _0x5efdfa=await _0x4eb289['json']();return{'choices':[{'message':{'content':_0x5efdfa[_0x4d5d1c(0x1b2)]||'','role':'assistant'},'finish_reason':_0x5efdfa[_0x4d5d1c(0x24c)]||_0x4d5d1c(0x1c3)}],'usage':_0x5efdfa[_0x4d5d1c(0x1d6)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x5efdfa['model']||_0x4d4769['model'],'id':_0x5efdfa[_0x4d5d1c(0x232)]||_0xe8511a};}catch(_0xb2371a){_0x4eadd4=_0xb2371a,this[_0x4d5d1c(0x246)][_0x4d5d1c(0x1e6)]('Request\x20to\x20Azure\x20backend\x20failed',{'attempt':_0x3f25dd,'requestId':_0xe8511a,'error':_0xb2371a[_0x4d5d1c(0x214)],'status':_0xb2371a[_0x4d5d1c(0x20c)]});if(_0x3f25dd<this[_0x4d5d1c(0x1af)]){const _0x4fcbe3=Math['pow'](0x2,_0x3f25dd)*0x3e8;this[_0x4d5d1c(0x246)][_0x4d5d1c(0x1e6)](_0x4d5d1c(0x202)+_0x4fcbe3+'ms',{'attempt':_0x3f25dd,'requestId':_0xe8511a}),await new Promise(_0x171b9e=>setTimeout(_0x171b9e,_0x4fcbe3));}}}this['logger'][_0x4d5d1c(0x1d0)](_0x4d5d1c(0x20f),{'requestId':_0xe8511a,'error':_0x4eadd4['message']});const _0x357b5d=_0x4eadd4['message']&&_0x4eadd4['message'][_0x4d5d1c(0x1fc)]('No\x20API\x20key\x20configured');if(_0x357b5d)throw new Error('API\x20Configuration\x20Error:\x20'+_0x4eadd4['message']);return{'choices':[{'message':{'content':_0x4d5d1c(0x223)+_0x4eadd4['message'],'role':_0x4d5d1c(0x1b8)},'finish_reason':_0x4d5d1c(0x1c3)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x4d4769['model'],'id':'error-'+_0xe8511a,'error':_0x4eadd4['message']};}async[a0_0x3e0030(0x1de)](_0xcb5c22,_0x2f4b2f,_0x547c53={}){const _0x50ba4c=a0_0x3e0030,_0x48b211=_0x50ba4c(0x1ae);let _0x17c652,_0x442afc=null,_0x478c62=null;this[_0x50ba4c(0x246)]?.[_0x50ba4c(0x21e)]('🖼️\x20Image\x20API\x20request\x20state',{'hasApiKeyManager':!!this[_0x50ba4c(0x1e5)],'sessionId':_0x547c53[_0x50ba4c(0x1d2)],'hasSessionId':!!_0x547c53[_0x50ba4c(0x1d2)],'model':_0xcb5c22[_0x50ba4c(0x1ba)]});if(this[_0x50ba4c(0x1e5)]&&_0x547c53['sessionId']){const _0x3aba49=this['apiKeyManager'][_0x50ba4c(0x21a)](_0x547c53['sessionId'],{'platformProvided':_0x547c53['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0xcb5c22['model'])});_0x442afc=_0x3aba49['loxiaApiKey'],_0x478c62=_0x3aba49['vendorApiKey'],this['logger']?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x547c53[_0x50ba4c(0x1d2)],'hasLoxiaKey':!!_0x442afc,'hasVendorKey':!!_0x478c62});}!_0x442afc&&_0x547c53[_0x50ba4c(0x1b7)]&&(_0x442afc=_0x547c53['apiKey']);!_0x442afc&&this['config']['apiKey']&&(_0x442afc=this['config'][_0x50ba4c(0x1b7)]);if(!_0x442afc)throw new Error(_0x50ba4c(0x247));const _0x265971={'prompt':_0xcb5c22[_0x50ba4c(0x1f3)],'model':_0xcb5c22['model']||'azure-openai-dalle3','size':_0xcb5c22['size'],'quality':_0xcb5c22[_0x50ba4c(0x23e)],'style':_0xcb5c22[_0x50ba4c(0x1d9)]||_0x50ba4c(0x1e7),'n':_0xcb5c22['n']||0x1,'requestId':_0x2f4b2f};for(let _0x3073f2=0x1;_0x3073f2<=this['retryAttempts'];_0x3073f2++){try{this['logger']['info']('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x48b211,'model':_0xcb5c22['model'],'requestId':_0x2f4b2f,'attempt':_0x3073f2,'hasApiKey':!!_0x442afc});const _0x256576=await fetch(_0x48b211,{'method':_0x50ba4c(0x1ea),'headers':{'Content-Type':'application/json','Authorization':_0x50ba4c(0x201)+_0x442afc,'X-Request-ID':_0x2f4b2f},'body':JSON[_0x50ba4c(0x1bf)](_0x265971),'timeout':this[_0x50ba4c(0x22d)]*0x2});if(!_0x256576['ok']){const _0x1db09a=await _0x256576[_0x50ba4c(0x1f2)](),_0x512c11=new Error(_0x50ba4c(0x1db)+_0x256576['status']+':\x20'+_0x256576['statusText']+(_0x1db09a?_0x50ba4c(0x1eb)+_0x1db09a:''));_0x512c11[_0x50ba4c(0x20c)]=_0x256576['status'];throw _0x512c11;}const _0x446893=await _0x256576[_0x50ba4c(0x221)]();return{'data':_0x446893[_0x50ba4c(0x234)]||[],'model':_0x446893[_0x50ba4c(0x1ba)]||_0xcb5c22[_0x50ba4c(0x1ba)],'created':_0x446893['created']||Date[_0x50ba4c(0x258)](),'usage':_0x446893['usage']};}catch(_0xe7ef70){_0x17c652=_0xe7ef70,this['logger']['warn'](_0x50ba4c(0x231),{'attempt':_0x3073f2,'requestId':_0x2f4b2f,'error':_0xe7ef70['message'],'status':_0xe7ef70[_0x50ba4c(0x20c)]});if(_0x3073f2<this['retryAttempts']){const _0x5efeb6=Math['pow'](0x2,_0x3073f2)*0x3e8;this[_0x50ba4c(0x246)][_0x50ba4c(0x1e6)]('Retrying\x20in\x20'+_0x5efeb6+'ms',{'attempt':_0x3073f2,'requestId':_0x2f4b2f}),await new Promise(_0xdb1cca=>setTimeout(_0xdb1cca,_0x5efeb6));}}}this['logger'][_0x50ba4c(0x1d0)](_0x50ba4c(0x207),{'requestId':_0x2f4b2f,'error':_0x17c652['message']});throw new Error(_0x50ba4c(0x1b5)+_0x17c652[_0x50ba4c(0x214)]);}async[a0_0x3e0030(0x1ec)](_0x22a694){await new Promise(_0xd0318e=>setTimeout(_0xd0318e,0x64));}async['_handleRateLimit'](_0x4ebb61){const _0x4c219b=0xea60;this['logger']['info']('Rate\x20limit\x20exceeded,\x20waiting\x20'+_0x4c219b+'ms',_0x4ebb61),await new Promise(_0x599b25=>setTimeout(_0x599b25,_0x4c219b));}async['_handleServiceUnavailable'](_0x543502){const _0x1b26b2=a0_0x3e0030;this[_0x1b26b2(0x1ee)]();const _0x37271a=0x7530;this['logger'][_0x1b26b2(0x21e)]('Service\x20unavailable,\x20waiting\x20'+_0x37271a+'ms',_0x543502),await new Promise(_0x20d217=>setTimeout(_0x20d217,_0x37271a));}['_isCircuitBreakerOpen'](){const _0x462339=a0_0x3e0030;if(!this[_0x462339(0x22e)]['isOpen'])return![];const _0x1bcc9c=Date[_0x462339(0x258)]()-this['circuitBreaker']['lastFailureTime'];if(_0x1bcc9c>this['circuitBreaker'][_0x462339(0x22d)])return this['circuitBreaker']['isOpen']=![],this['circuitBreaker']['failures']=0x0,![];return!![];}[a0_0x3e0030(0x1ee)](){const _0x2cb137=a0_0x3e0030;this[_0x2cb137(0x22e)]['failures']++,this[_0x2cb137(0x22e)]['lastFailureTime']=Date['now'](),this[_0x2cb137(0x22e)][_0x2cb137(0x217)]>=this[_0x2cb137(0x22e)][_0x2cb137(0x1cf)]&&(this['circuitBreaker'][_0x2cb137(0x1e9)]=!![],this['logger'][_0x2cb137(0x1e6)]('Circuit\x20breaker\x20opened\x20due\x20to\x20repeated\x20failures'));}[a0_0x3e0030(0x1f8)](){const _0x50cd3c=a0_0x3e0030;this['circuitBreaker'][_0x50cd3c(0x217)]>0x0&&(this[_0x50cd3c(0x22e)]['failures']=0x0,this['circuitBreaker']['isOpen']=![],this[_0x50cd3c(0x246)][_0x50cd3c(0x21e)](_0x50cd3c(0x224)));}[a0_0x3e0030(0x204)](_0x47a8ad){const _0x209244=a0_0x3e0030;if(!_0x47a8ad)return null;const _0x394122=_0x47a8ad['toLowerCase']();if(_0x394122['includes']('anthropic')||_0x394122[_0x209244(0x1fc)]('claude'))return'anthropic';else{if(_0x394122['includes']('openai')||_0x394122[_0x209244(0x1fc)](_0x209244(0x21b)))return'openai';else{if(_0x394122['includes'](_0x209244(0x1fa)))return _0x209244(0x1fa);else{if(_0x394122['includes'](_0x209244(0x1dd)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x3744d1,_0x43ef5a){const _0x325e98=a0_0x3e0030;this['agentId']=_0x3744d1,this['logger']=_0x43ef5a,this[_0x325e98(0x1f0)]=new Map();}async['switchModel'](_0x1aee09){return{'messages':[],'model':_0x1aee09,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
|
|
1
|
+
const a0_0x58e07c=a0_0x524b;function a0_0x1aa9(){const _0x2a2048=['uMf0zsbSAw1PDcbLEgnLzwrLzcaTihjLCxvLC3qGCxvLDwvKigzVCIbYzxrYEq','C3rHDhvZvgv4Da','Bw9KzwW','Aw5MBW','q2LYy3vPDcbICMvHA2vYig9Wzw5LzcbKDwuGDg8GCMvWzwf0zwqGzMfPBhvYzxm','qu5usfjpueLdx09qvvm','ChjVBxb0','8j+wVo+4JYbjBwfNzsbbueKGCMvXDwvZDcbZDgf0zq','z2v0s2v5C0zVCLjLCxvLC3q','zgvIDwC','x3n1Bw1HCML6zu1LC3nHz2vZ','CxvHBgL0Eq','CgHP','sw1Hz2uGz2vUzxjHDgLVBIbMywLSzwq6ia','C3rYAw5N','qu5usfjpueLd','x2nOzwnRtw9KzwXizwfSDgG','qKfex0DbvevxqvK','tM8GqvbjigTLEsbJB25MAwD1CMvK','Aw5JBhvKzxm','z2v0qwDLBNq','DhjHy2TvC2fNzq','u2vUzgLUzYbTzxnZywDLihrVig1VzgvSoIa','t1bftKfj','y2LYy3vPDejYzwfRzxi','Aw1Nlq','C3r5Bgu','B3b0Aw9UCW','yw50AhjVCgLJ','zxjYB3iT','mZK5nZe0nKXRDgDTvq','BM93','mJy0ndmWB1HJB3fg','qwDLBNqGBw9KzwWGC3DPDgnOzwq6ia','x2zVCM1HDfnPBMDSzu1LC3nHz2u','CgXHDgzVCM1qCM92AwrLza','C3rYAw5NAwz5','ue9tva','yNvKz2v0u2vYDMLJzq','y29UDgvUDa','quKGC2vYDMLJzsb1BMf2ywLSywjSzq','qMvHCMvYia','x2LUAxrPywXPEMvnB2rLBfnWzwnZ','sw1Hz2uGCMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','x2zVCM1HDezVCKfUDgHYB3bPyW','x21HA2vbueLszxf1zxn0','x2DLDfzLBMrVCKzYB21nB2rLBa','mtaWBMjpshPM','zMfPBhvYzxm','yxbPs2v5','y3jLyxrLza','DgLTzxn0yw1W','Dg90ywXFDg9Rzw5Z','x2HHBMrSzvnLCNzPy2vvBMf2ywLSywjSzq','yxP1CMuTB3bLBMfPlwrHBgXLmW','ChjVDMLKzxi','C3bLzwq','y29Kzq','Bg9Nz2vY','revfufnfruTFuJe','Cg93','qu5usfjpueLdx0HbsuTv','Ahr0Chm6lY9HDxrVCgLSB3qTyxbPlMf6DxjLD2vIC2L0zxmUBMv0l2XSBs9Nzw5LCMf0zs1PBwfNzq','uMf0zsbSAw1PDcbLEgnLzwrLza','ndjRB3LnAfa','uMv0CNLPBMCGAw4G','qvPvuKu','ic0G','su5urvjoquXFu0vsvKvsx0vsuK9s','cI4UlIbBBwvZC2fNzsb0CNvUy2f0zwrD','quKGC2vYDMLJzsbYzxf1zxn0igzHAwXLzdOG','ntiYtfHQCgHX','x21HA2vjBwfNzufqsvjLCxvLC3q','ChjLzMvYCMvKtw9KzwW','DxjS','mte2nti4mgLMtvzZtq','y3vZDg9TqxbPs2v5CW','C3vTBwfYEq','y2XHC3nPzNLfCNjVCG','Dw5ZAgLMDa','AgvHBhrOEq','Aw1Hz2vZ','8j+uKsbbueKGs2v5ihjLDhjPzxzHBcbZDgf0zq','CMfUzg9T','AxnpCgvU','sfruuca','q2LYy3vPDcbICMvHA2vYihjLC2v0ic0GC2vYDMLJzsbYzwnVDMvYzwq','C3LZDgvT','Dg9ju09tDhjPBMC','C3rHDhvZ','vw5RBM93BIbTB2rLBdOG','C3rHBMrHCMq','zMfZDa','yMfJA2vUza','BwvZC2fNzq','zxjYB3jiyw5KBgvY','BwvZC2fNzxm','BgvUz3rO','zxjYB3i','DxnHz2u','ndq3mdiWnwzZB2zvyW','nZq0ntq5nKDxtvjYCG','Ahr0Chm6lY9HCgKUBg94AweUywK','uMf0zsbSAw1PDcbLEgnLzwrLzcWGD2fPDgLUzYa','BgfZDezHAwX1CMvuAw1L','Bwf4x3rVA2vUCW','sw52ywXPzcbTB2rLBdOG','revfufnfruS','DxnLCG','zgf0yq','quKGC2vYDMLJzsbLCNjVCJOG','DMvUzg9YqxbPs2v5','C3rHy2S','AgvHBhrOlwnOzwnR','x2zVCM1HDezVCKf6DxjL','yMfZzvvYBa','u3LZDgvToIa','D2fYBG','CMv0CNLbDhrLBxb0CW','x3jLC2v0q2LYy3vPDejYzwfRzxi','ANnVBG','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGquKGC2vYDMLJzq','C2v0qxbPs2v5twfUywDLCG','C3rVCa','ywDLBNrjza','x3rYDw5JyxrLtwvZC2fNzq','ywDLBNrqB29S','Bw9KzwXtCgvJCW','x2vZDgLTyxrLvg9Rzw5Z','zgvLChnLzwS','mZe3n3nlvvHqtG','yxbWBgLJyxrPB24VANnVBG','CM9Szq','qwXSigLTywDLigDLBMvYyxrPB24Gyxr0zw1WDhmGzMfPBgvK','z3b0','AxnbCNjHEq','tM8GAgvHBhrOEsbTB2rLBhmGyxzHAwXHyMXLigzVCIb0yxnRoIa','AgfUzgXLshr0CevYCM9Y','qvbjienVBMzPz3vYyxrPB24GrxjYB3i6ia','C3rYzwfT','C3vIC3rY','yxbPs2v5twfUywDLCG','y29UzMLN','C2L6zq','DgLTzw91Da','tK9ux0zpvu5e','yxnZAxn0yw50','yJy0x2PZB24','C2vZC2LVBKLK','BwfW','qwnJzxnZigzVCMjPzgrLBIaTigLUC3vMzMLJAwvUDcbWzxjTAxnZAw9UCW','CMf0zuXPBwL0zxjZ','DgHYzxnOB2XK','ueHj','tw9KzwWGCM91DgvKigzVCIb0yxnRoIa','x3jLy29YzezHAwX1CMu','y2HVAwnLCW','x2zVCM1HDezVCK9Wzw5bsq','uMvXDwvZDcb0BYbbENvYzsbIywnRzw5KigzHAwXLza','odi0odeYEKXquNf1'];a0_0x1aa9=function(){return _0x2a2048;};return a0_0x1aa9();}(function(_0x2a3bdc,_0x159a24){const _0x4af759=a0_0x524b,_0x1ba77b=_0x2a3bdc();while(!![]){try{const _0x4844cf=-parseInt(_0x4af759(0xd8))/0x1*(parseInt(_0x4af759(0x125))/0x2)+parseInt(_0x4af759(0x114))/0x3+-parseInt(_0x4af759(0xf5))/0x4+parseInt(_0x4af759(0x15a))/0x5+parseInt(_0x4af759(0x15b))/0x6+parseInt(_0x4af759(0x136))/0x7*(-parseInt(_0x4af759(0x141))/0x8)+-parseInt(_0x4af759(0x13d))/0x9*(parseInt(_0x4af759(0x116))/0xa);if(_0x4844cf===_0x159a24)break;else _0x1ba77b['push'](_0x1ba77b['shift']());}catch(_0xafc03e){_0x1ba77b['push'](_0x1ba77b['shift']());}}}(a0_0x1aa9,0xa9968));import{MODELS,MODEL_PROVIDERS,MODEL_ROUTING,HTTP_STATUS,ERROR_TYPES,SYSTEM_DEFAULTS}from'../utilities/constants.js';function a0_0x524b(_0x540b8f,_0x3b3d12){_0x540b8f=_0x540b8f-0xc6;const _0x1aa958=a0_0x1aa9();let _0x524b4a=_0x1aa958[_0x540b8f];if(a0_0x524b['rEgDfb']===undefined){var _0x4936da=function(_0x525d7f){const _0x506d73='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3101f8='',_0x56d469='';for(let _0x559853=0x0,_0x31b886,_0x4d5949,_0x41d219=0x0;_0x4d5949=_0x525d7f['charAt'](_0x41d219++);~_0x4d5949&&(_0x31b886=_0x559853%0x4?_0x31b886*0x40+_0x4d5949:_0x4d5949,_0x559853++%0x4)?_0x3101f8+=String['fromCharCode'](0xff&_0x31b886>>(-0x2*_0x559853&0x6)):0x0){_0x4d5949=_0x506d73['indexOf'](_0x4d5949);}for(let _0x5c55bf=0x0,_0x113139=_0x3101f8['length'];_0x5c55bf<_0x113139;_0x5c55bf++){_0x56d469+='%'+('00'+_0x3101f8['charCodeAt'](_0x5c55bf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56d469);};a0_0x524b['QnKeyS']=_0x4936da,a0_0x524b['eDqYPy']={},a0_0x524b['rEgDfb']=!![];}const _0x3aa58b=_0x1aa958[0x0],_0x5290c6=_0x540b8f+_0x3aa58b,_0x2c8340=a0_0x524b['eDqYPy'][_0x5290c6];return!_0x2c8340?(_0x524b4a=a0_0x524b['QnKeyS'](_0x524b4a),a0_0x524b['eDqYPy'][_0x5290c6]=_0x524b4a):_0x524b4a=_0x2c8340,_0x524b4a;}class AIService{constructor(_0x3101f8,_0x56d469,_0x559853,_0x31b886){const _0x1df78a=a0_0x524b;this[_0x1df78a(0xe4)]=_0x3101f8,this['logger']=_0x56d469,this['budgetService']=_0x559853,this[_0x1df78a(0x155)]=_0x31b886,this[_0x1df78a(0xc9)]=_0x3101f8[_0x1df78a(0x153)]?.[_0x1df78a(0xc9)]||_0x1df78a(0x15c),this['timeout']=_0x3101f8[_0x1df78a(0x153)]?.[_0x1df78a(0xe6)]||0xea60,this['retryAttempts']=_0x3101f8['backend']?.['retryAttempts']||0x3,this[_0x1df78a(0xed)]=new Map(),this['requestQueue']=new Map(),this['circuitBreaker']={'failures':0x0,'lastFailureTime':null,'isOpen':![],'threshold':0x5,'timeout':0x7530},this['modelSpecs']=this[_0x1df78a(0x120)](),this['conversationManagers']=new Map(),this['apiKeyManager']=null,this[_0x1df78a(0xd4)]=null;}async['sendMessage'](_0x4d5949,_0x41d219,_0x5c55bf={}){const _0x477f6f=a0_0x524b,_0x113139='req-'+Date[_0x477f6f(0x115)]()+'-'+Math[_0x477f6f(0x149)]()['toString'](0x24)['substr'](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');await this['_checkRateLimit'](_0x4d5949);const _0x288356=this['_formatMessagesForModel'](_0x41d219,_0x4d5949,_0x5c55bf),_0x1a07ee={'model':_0x4d5949,'messages':_0x288356,'options':{'max_tokens':this[_0x477f6f(0xd5)][_0x4d5949]?.['maxTokens']||0xfa0,'temperature':_0x5c55bf['temperature']||0.7,'stream':_0x5c55bf[_0x477f6f(0xe1)]||![]},'metadata':{'requestId':_0x113139,'agentId':_0x5c55bf['agentId'],'timestamp':new Date()[_0x477f6f(0x14e)]()}};_0x5c55bf['systemPrompt']&&(_0x1a07ee[_0x477f6f(0x14d)]=_0x5c55bf['systemPrompt']);this[_0x477f6f(0x130)][_0x477f6f(0xf9)](_0x477f6f(0x10c)+_0x4d5949,{'requestId':_0x113139,'agentId':_0x5c55bf['agentId'],'messageCount':Array[_0x477f6f(0xdd)](_0x41d219)?_0x41d219['length']:0x1,'maxTokens':_0x1a07ee[_0x477f6f(0x15f)]});const _0x309ba7=await this['_makeAPIRequest']('/chat/completions',_0x1a07ee,_0x113139,{..._0x5c55bf,'sessionId':_0x5c55bf[_0x477f6f(0xea)],'platformProvided':_0x5c55bf['platformProvided']||![]});return _0x309ba7['usage']&&await this[_0x477f6f(0x10b)](_0x5c55bf['agentId'],_0x4d5949,{'prompt_tokens':_0x309ba7['usage']['prompt_tokens']||0x0,'completion_tokens':_0x309ba7['usage']['completion_tokens']||0x0,'total_tokens':_0x309ba7[_0x477f6f(0x159)][_0x477f6f(0x12a)]||0x0}),this[_0x477f6f(0xcd)](),{'content':_0x309ba7[_0x477f6f(0xf2)][0x0]?.['message']?.['content']||'','model':_0x309ba7[_0x477f6f(0xf8)],'tokenUsage':_0x309ba7['usage'],'requestId':_0x113139,'finishReason':_0x309ba7['choices'][0x0]?.['finish_reason']};}catch(_0x2984ce){this['_recordFailure'](),this['logger']['error'](_0x477f6f(0x13c)+_0x2984ce['message'],{'requestId':_0x113139,'model':_0x4d5949,'agentId':_0x5c55bf['agentId'],'error':_0x2984ce[_0x477f6f(0xc6)]}),await this[_0x477f6f(0xdf)](_0x2984ce,{'requestId':_0x113139,'model':_0x4d5949,'agentId':_0x5c55bf['agentId']});throw _0x2984ce;}}async['routeModel'](_0x80dc2b,_0x1b3937={}){const _0x126c28=a0_0x524b;try{const _0x315852=MODEL_ROUTING[_0x80dc2b['toUpperCase']()]||MODEL_ROUTING['FALLBACK'],_0x36cd01=[];for(const _0x4329cf of _0x315852){const _0xcf69f9=await this[_0x126c28(0x106)](_0x4329cf);_0xcf69f9&&_0x36cd01['push'](_0x4329cf);}if(_0x36cd01['length']===0x0)return this['logger']['warn'](_0x126c28(0xde)+_0x80dc2b+',\x20using\x20fallback'),MODEL_ROUTING['FALLBACK'][0x0];let _0x5856a5=_0x36cd01[0x0];if(_0x1b3937['preferredModel']&&_0x36cd01['includes'](_0x1b3937['preferredModel']))_0x5856a5=_0x1b3937[_0x126c28(0x13f)];else{if(_0x1b3937['complexity']==='high'&&_0x36cd01[_0x126c28(0x109)](MODELS[_0x126c28(0xfb)]))_0x5856a5=MODELS['ANTHROPIC_OPUS'];else _0x1b3937[_0x126c28(0x12e)]===_0x126c28(0x152)&&_0x36cd01[_0x126c28(0x109)](MODELS[_0x126c28(0x133)])&&(_0x5856a5=MODELS[_0x126c28(0x133)]);}return this['logger']['info'](_0x126c28(0xf0)+_0x80dc2b,{'selectedModel':_0x5856a5,'availableModels':_0x36cd01['length'],'context':_0x1b3937}),_0x5856a5;}catch(_0x541b3e){return this['logger']['error']('Model\x20routing\x20failed:\x20'+_0x541b3e['message'],{'task':_0x80dc2b,'context':_0x1b3937}),MODEL_ROUTING['FALLBACK'][0x0];}}async['compactizeConversation'](_0x5b8049,_0x5d4920){const _0x1b803c=a0_0x524b,_0x13ec4e=this['modelSpecs'][_0x5d4920];if(!_0x13ec4e)throw new Error(_0x1b803c(0x150)+_0x5d4920);const _0x983b51=_0x13ec4e['contextWindow']*0.8;let _0x1e844d=0x0;const _0x30a591=[],_0x3beecd=await Promise['all'](_0x5b8049[_0x1b803c(0xeb)](async _0x7b8ce5=>({..._0x7b8ce5,'estimatedTokens':await this[_0x1b803c(0xd6)](_0x7b8ce5[_0x1b803c(0x11d)],_0x5d4920)}))),_0x4f849b=[..._0x3beecd]['reverse']();for(const _0x355c43 of _0x4f849b){if(_0x1e844d+_0x355c43['estimatedTokens']>_0x983b51){if(_0x30a591['length']===0x0){const _0x4c1b4d=await this[_0x1b803c(0xd3)](_0x355c43['content'],_0x983b51);_0x30a591[_0x1b803c(0x145)]({..._0x355c43,'content':_0x4c1b4d,'estimatedTokens':_0x983b51});}break;}_0x30a591[_0x1b803c(0x145)](_0x355c43),_0x1e844d+=_0x355c43['estimatedTokens'];}const _0xaffa53=_0x3beecd['slice'](0x0,-_0x30a591[_0x1b803c(0x157)]);if(_0xaffa53[_0x1b803c(0x157)]>0x0){const _0x160a6a=await this[_0x1b803c(0x100)](_0xaffa53,_0x5d4920);_0x30a591['unshift']({'role':_0x1b803c(0x14d),'content':'Previous\x20conversation\x20summary:\x20'+_0x160a6a,'timestamp':_0xaffa53[0x0][_0x1b803c(0x129)],'type':_0x1b803c(0x143),'estimatedTokens':await this[_0x1b803c(0xd6)](_0x160a6a,_0x5d4920)});}return this['logger'][_0x1b803c(0xf9)]('Conversation\x20compactized\x20for\x20model:\x20'+_0x5d4920,{'originalMessages':_0x5b8049['length'],'compactizedMessages':_0x30a591['length'],'estimatedTokens':_0x1e844d,'maxTokens':_0x983b51}),_0x30a591;}async['trackUsage'](_0x78ab37,_0x19eae6,_0x276f84,_0x5f5e7c){const _0x31ba7a=a0_0x524b;try{this[_0x31ba7a(0x11c)]&&this['budgetService']['trackUsage'](_0x78ab37,_0x19eae6,_0x276f84);}catch(_0x4f6922){this[_0x31ba7a(0x130)]['error']('Usage\x20tracking\x20failed:\x20'+_0x4f6922[_0x31ba7a(0x154)]);}}async['handleHttpError'](_0xb20ad5,_0x19cec2){const _0x4712aa=a0_0x524b,_0x5d696c=this[_0x4712aa(0x155)]?.[_0x4712aa(0x144)]?.(_0xb20ad5,_0x19cec2);switch(_0xb20ad5[_0x4712aa(0x14f)]||_0xb20ad5[_0x4712aa(0x12f)]){case HTTP_STATUS['BAD_REQUEST']:this['logger'][_0x4712aa(0x158)]('Bad\x20request\x20to\x20AI\x20service',{'context':_0x19cec2,'error':_0xb20ad5['message']});throw new Error('Invalid\x20request:\x20'+_0xb20ad5[_0x4712aa(0x154)]);case HTTP_STATUS['UNAUTHORIZED']:this['logger'][_0x4712aa(0x158)]('Authentication\x20failed\x20with\x20AI\x20service',{'context':_0x19cec2});throw new Error('Authentication\x20failed\x20-\x20check\x20API\x20credentials');case HTTP_STATUS['FORBIDDEN']:this['logger']['error']('Access\x20forbidden\x20to\x20AI\x20service',{'context':_0x19cec2});throw new Error(_0x4712aa(0xec));case HTTP_STATUS[_0x4712aa(0xe7)]:this['logger'][_0x4712aa(0x158)]('AI\x20service\x20endpoint\x20not\x20found',{'context':_0x19cec2});throw new Error('Service\x20endpoint\x20not\x20found');case HTTP_STATUS['TOO_MANY_REQUESTS']:this[_0x4712aa(0x130)]['warn'](_0x4712aa(0x135),{'context':_0x19cec2}),await this['_handleRateLimit'](_0x19cec2);throw new Error(_0x4712aa(0xf6));case HTTP_STATUS[_0x4712aa(0x13a)]:case HTTP_STATUS[_0x4712aa(0x107)]:case HTTP_STATUS['SERVICE_UNAVAILABLE']:case HTTP_STATUS['GATEWAY_TIMEOUT']:this[_0x4712aa(0x130)][_0x4712aa(0x158)](_0x4712aa(0x11e),{'context':_0x19cec2,'status':_0xb20ad5['status']}),await this[_0x4712aa(0x12b)](_0x19cec2);throw new Error('AI\x20service\x20temporarily\x20unavailable');default:this[_0x4712aa(0x130)]['error']('Unknown\x20AI\x20service\x20error',{'context':_0x19cec2,'error':_0xb20ad5['message']});throw new Error(_0x4712aa(0x164)+_0xb20ad5[_0x4712aa(0x154)]);}}[a0_0x58e07c(0xd0)](_0x2779e2){const _0xd30e29=a0_0x58e07c;this['apiKeyManager']=_0x2779e2,this[_0xd30e29(0x130)]?.['info'](_0xd30e29(0xcf),{'hasManager':!!_0x2779e2});}['setAgentPool'](_0x3f66df){const _0x30af80=a0_0x58e07c;this['agentPool']=_0x3f66df,this[_0x30af80(0x130)]?.[_0x30af80(0xf9)]('Agent\x20pool\x20set\x20for\x20AI\x20service',{'hasAgentPool':!!_0x3f66df});}async['generateImage'](_0x46560a,_0x25f103={}){const _0x2fa17b=a0_0x58e07c,_0x4a261d=_0x2fa17b(0x10f)+Date['now']()+'-'+Math[_0x2fa17b(0x149)]()['toString'](0x24)[_0x2fa17b(0xe2)](0x2,0x9);try{if(this['_isCircuitBreakerOpen']())throw new Error('Service\x20temporarily\x20unavailable\x20-\x20circuit\x20breaker\x20is\x20open');if(!_0x46560a||typeof _0x46560a!==_0x2fa17b(0x104)||_0x46560a['trim']()[_0x2fa17b(0x157)]===0x0)throw new Error('Image\x20generation\x20requires\x20a\x20non-empty\x20text\x20prompt');const _0x4b0f0e=_0x25f103['model']||'flux-1.1-pro',_0x473fe3=_0x25f103[_0x2fa17b(0xe5)]||'1024x1024',_0x3a3b7a=_0x25f103[_0x2fa17b(0x101)]||_0x2fa17b(0x151),_0x43e10b=_0x25f103['responseFormat']||_0x2fa17b(0x140);this[_0x2fa17b(0x130)][_0x2fa17b(0xf9)]('Generating\x20image\x20with\x20model:\x20'+_0x4b0f0e,{'requestId':_0x4a261d,'model':_0x4b0f0e,'size':_0x473fe3,'quality':_0x3a3b7a,'promptLength':_0x46560a['length']});const _0x2ac027={'prompt':_0x46560a,'model':_0x4b0f0e,'size':_0x473fe3,'quality':_0x3a3b7a,'response_format':_0x43e10b,'n':0x1,'metadata':{'requestId':_0x4a261d,'timestamp':new Date()[_0x2fa17b(0x14e)]()}},_0x44caa8=await this[_0x2fa17b(0x13e)](_0x2ac027,_0x4a261d,{'sessionId':_0x25f103['sessionId'],'platformProvided':_0x25f103[_0x2fa17b(0x119)]||![]});return this['_resetCircuitBreaker'](),{'url':_0x44caa8['data']?.[0x0]?.['url']||null,'b64_json':_0x44caa8[_0x2fa17b(0x163)]?.[0x0]?.[_0x2fa17b(0xe9)]||null,'model':_0x44caa8['model']||_0x4b0f0e,'requestId':_0x4a261d,'revisedPrompt':_0x44caa8[_0x2fa17b(0x163)]?.[0x0]?.['revised_prompt']||_0x46560a};}catch(_0x292984){this[_0x2fa17b(0xf1)](),this['logger']['error']('Image\x20generation\x20failed:\x20'+_0x292984['message'],{'requestId':_0x4a261d,'model':_0x25f103['model'],'error':_0x292984[_0x2fa17b(0xc6)]});throw _0x292984;}}async['checkServiceHealth'](){const _0x4d44db=a0_0x58e07c;try{const _0xbbc62d=await this[_0x4d44db(0x123)]('/health',{},_0x4d44db(0xc7));return _0xbbc62d[_0x4d44db(0x14f)]===_0x4d44db(0x146);}catch(_0x42094d){return![];}}async['switchAgentModel'](_0x4fcf6e,_0x553903){const _0x2b9b53=a0_0x58e07c;try{if(!this['_isValidModel'](_0x553903))throw new Error(_0x2b9b53(0x160)+_0x553903);let _0x2959a5=this['conversationManagers']['get'](_0x4fcf6e);!_0x2959a5&&(_0x2959a5=new ConversationManager(_0x4fcf6e,this['logger']),this['conversationManagers']['set'](_0x4fcf6e,_0x2959a5));const _0x32585f=await _0x2959a5['switchModel'](_0x553903),_0x47b347=await this[_0x2b9b53(0xd4)]?.[_0x2b9b53(0x10a)](_0x4fcf6e);return _0x47b347&&(_0x47b347['currentModel']=_0x553903,await this['agentPool']['persistAgentState'](_0x4fcf6e)),this['logger'][_0x2b9b53(0xf9)](_0x2b9b53(0x117)+_0x4fcf6e,{'newModel':_0x553903,'messageCount':_0x32585f[_0x2b9b53(0x156)]['length']}),{'success':!![],'agentId':_0x4fcf6e,'newModel':_0x553903,'conversation':_0x32585f};}catch(_0x49095b){this[_0x2b9b53(0x130)][_0x2b9b53(0x158)]('Model\x20switch\x20failed:\x20'+_0x49095b[_0x2b9b53(0x154)],{'agentId':_0x4fcf6e,'newModel':_0x553903});throw _0x49095b;}}[a0_0x58e07c(0x120)](){const _0x4e4a5f=a0_0x58e07c,_0x42e6fd={[MODELS['ANTHROPIC_SONNET']]:{'provider':MODEL_PROVIDERS['ANTHROPIC'],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.015},[MODELS[_0x4e4a5f(0xfb)]]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x105)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.075},[MODELS['ANTHROPIC_HAIKU']]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x105)],'contextWindow':0x30d40,'maxTokens':0x2000,'costPer1kTokens':0.0025},[MODELS['GPT_4']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},[MODELS['GPT_4_MINI']]:{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4o':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-4o-mini':{'provider':MODEL_PROVIDERS['OPENAI'],'contextWindow':0x1f400,'maxTokens':0x4000,'costPer1kTokens':0.0015},'gpt-4-turbo':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'gpt-3.5-turbo':{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x10d)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},[MODELS[_0x4e4a5f(0x131)]]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0x161)],'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},[MODELS['PHI_4']]:{'provider':MODEL_PROVIDERS[_0x4e4a5f(0xef)],'contextWindow':0x4000,'maxTokens':0x1000,'costPer1kTokens':0.001},'azure-ai-grok3':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.01},'azure-ai-deepseek-r1':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.002},'azure-openai-gpt-5':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4':{'provider':'AZURE','contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'azure-openai-gpt-4o':{'provider':_0x4e4a5f(0x138),'contextWindow':0x1f400,'maxTokens':0x2000,'costPer1kTokens':0.03},'autopilot-model-router':{'provider':'AZURE','contextWindow':0x4000,'maxTokens':0x800,'costPer1kTokens':0.001}};return _0x42e6fd;}['_formatMessagesForModel'](_0x71007b,_0x34fef1,_0x280e1b){const _0x4da3e8=a0_0x58e07c,_0x581c43=this['modelSpecs'][_0x34fef1]||{'provider':'AZURE'};let _0x23c971;typeof _0x71007b===_0x4da3e8(0x104)?_0x23c971=[{'role':_0x4da3e8(0x162),'content':_0x71007b}]:_0x23c971=_0x71007b[_0x4da3e8(0xeb)](_0xa380b0=>this['_formatSingleMessage'](_0xa380b0,_0x34fef1));switch(_0x581c43[_0x4da3e8(0x12d)]){case MODEL_PROVIDERS['ANTHROPIC']:return this[_0x4da3e8(0x122)](_0x23c971);case MODEL_PROVIDERS['OPENAI']:return this[_0x4da3e8(0xf3)](_0x23c971);case MODEL_PROVIDERS['AZURE']:return this[_0x4da3e8(0xc8)](_0x23c971);default:return _0x23c971;}}[a0_0x58e07c(0x118)](_0x3d34a0,_0x2346fa){const _0x19056b=a0_0x58e07c;return{'role':_0x3d34a0[_0x19056b(0xda)]||'user','content':_0x3d34a0[_0x19056b(0x11d)],'timestamp':_0x3d34a0[_0x19056b(0x129)]};}['_formatForAnthropic'](_0x2db566){return _0x2db566['map'](_0x5be645=>{const _0x15b70e=a0_0x524b;if(_0x5be645[_0x15b70e(0xda)]===_0x15b70e(0x14d))return{'role':_0x15b70e(0x162),'content':_0x15b70e(0xca)+_0x5be645['content']};return _0x5be645;});}[a0_0x58e07c(0xf3)](_0x5f3215){return _0x5f3215;}['_formatForAzure'](_0x42c5cd){const _0x35f388=a0_0x58e07c;return _0x42c5cd[_0x35f388(0xeb)](_0x59b587=>({..._0x59b587,'content':typeof _0x59b587['content']===_0x35f388(0x104)?_0x59b587['content']:JSON['stringify'](_0x59b587['content'])}));}['_isValidModel'](_0x2a53e5){const _0x218ee8=a0_0x58e07c;this[_0x218ee8(0x130)][_0x218ee8(0xff)]('Validating\x20model',{'model':_0x2a53e5,'modelType':typeof _0x2a53e5});if(this['modelSpecs'][_0x2a53e5]!==undefined)return!![];return this['logger']['warn']('Model\x20validation\x20failed',{'model':_0x2a53e5,'availableModels':Object['keys'](this['modelSpecs'])}),![];}async['_checkModelHealth'](_0x34e6bb){return!![];}async[a0_0x58e07c(0xd6)](_0x5d45dc,_0x286f9c){const _0x5437e3=a0_0x58e07c;return Math['ceil'](_0x5d45dc[_0x5437e3(0x157)]/0x4);}async[a0_0x58e07c(0xd3)](_0x30d706,_0x4d86ad){const _0x4aa58f=a0_0x58e07c,_0x2b8566=_0x4d86ad*0x4;if(_0x30d706['length']<=_0x2b8566)return _0x30d706;return _0x30d706['substring'](0x0,_0x2b8566-0x14)+_0x4aa58f(0x13b);}async['_summarizeMessages'](_0x37b455,_0x302980){const _0x1df728=a0_0x58e07c,_0x22f311=_0x37b455[_0x1df728(0xeb)](_0x350f40=>_0x350f40[_0x1df728(0xda)]+':\x20'+_0x350f40[_0x1df728(0x11d)])['join']('\x0a'),_0x8d4029=0x1f4;if(_0x22f311['length']<=_0x8d4029)return _0x22f311;return _0x22f311['substring'](0x0,_0x8d4029)+'...\x20[conversation\x20summary\x20truncated]';}async[a0_0x58e07c(0x123)](_0x23be5d,_0x37919d,_0x596390,_0x1941ac={}){const _0x273bf8=a0_0x58e07c,_0xacdf81='https://autopilot-api.azurewebsites.net/llm/chat';let _0x434462,_0x48988d=null,_0x34a639=null;this[_0x273bf8(0x130)]?.['info'](_0x273bf8(0x148),{'hasApiKeyManager':!!this[_0x273bf8(0xe3)],'sessionId':_0x1941ac[_0x273bf8(0xea)],'hasSessionId':!!_0x1941ac[_0x273bf8(0xea)],'optionsKeys':Object['keys'](_0x1941ac),'model':_0x37919d['model']});if(this[_0x273bf8(0xe3)]&&_0x1941ac['sessionId']){const _0x2e92b2=this[_0x273bf8(0xe3)][_0x273bf8(0xfe)](_0x1941ac['sessionId'],{'platformProvided':_0x1941ac[_0x273bf8(0x119)]||![],'vendor':this[_0x273bf8(0x124)](_0x37919d[_0x273bf8(0xf8)])});_0x48988d=_0x2e92b2['loxiaApiKey'],_0x34a639=_0x2e92b2[_0x273bf8(0x165)],this['logger']?.[_0x273bf8(0xff)]('Retrieved API keys from session manager',{'sessionId':_0x1941ac['sessionId'],'hasLoxiaKey':!!_0x48988d,'hasVendorKey':!!_0x34a639,'vendor':this['_getVendorFromModel'](_0x37919d[_0x273bf8(0xf8)])});}!_0x48988d&&_0x1941ac[_0x273bf8(0x127)]&&(_0x48988d=_0x1941ac[_0x273bf8(0x127)]);!_0x48988d&&this[_0x273bf8(0xe4)]['apiKey']&&(_0x48988d=this[_0x273bf8(0xe4)]['apiKey']);if(!_0x48988d)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x16a943=_0x37919d[_0x273bf8(0xf8)],_0x478eb5={'conversationId':_0x596390,'message':_0x37919d[_0x273bf8(0x156)][_0x37919d['messages']['length']-0x1]?.['content']||'','messages':_0x37919d['messages'],'model':_0x16a943,'requestId':_0x596390,'options':_0x37919d[_0x273bf8(0x111)]||{},'platformProvided':_0x1941ac['platformProvided']||![]};_0x37919d[_0x273bf8(0x14d)]&&(_0x478eb5['systemPrompt']=_0x37919d['system']);_0x1941ac[_0x273bf8(0x119)]?_0x478eb5[_0x273bf8(0x127)]=_0x48988d:(_0x34a639&&(_0x478eb5[_0x273bf8(0x165)]=_0x34a639),_0x1941ac['customApiKeys']&&(_0x478eb5[_0x273bf8(0x142)]=_0x1941ac[_0x273bf8(0x142)]),_0x478eb5[_0x273bf8(0x127)]=_0x48988d);for(let _0x2e97bb=0x1;_0x2e97bb<=this[_0x273bf8(0xcc)];_0x2e97bb++){try{this[_0x273bf8(0x130)][_0x273bf8(0xf9)]('Making\x20request\x20to\x20Azure\x20backend',{'url':_0xacdf81,'model':_0x37919d['model'],'requestId':_0x596390,'attempt':_0x2e97bb,'hasApiKey':!!_0x48988d});const _0xa07066=await fetch(_0xacdf81,{'method':_0x273bf8(0x11b),'headers':{'Content-Type':'application/json','Authorization':_0x273bf8(0x11f)+_0x48988d,'X-Request-ID':_0x596390},'body':JSON['stringify'](_0x478eb5),'timeout':this['timeout']});if(!_0xa07066['ok']){const _0x33c69e=await _0xa07066['text'](),_0x25feea=new Error('HTTP\x20'+_0xa07066[_0x273bf8(0x14f)]+':\x20'+_0xa07066[_0x273bf8(0xf7)]+(_0x33c69e?'\x20-\x20'+_0x33c69e:''));_0x25feea[_0x273bf8(0x14f)]=_0xa07066[_0x273bf8(0x14f)];throw _0x25feea;}const _0x3883b2=await _0xa07066[_0x273bf8(0xce)]();return{'choices':[{'message':{'content':_0x3883b2[_0x273bf8(0x11d)]||'','role':_0x273bf8(0xe8)},'finish_reason':_0x3883b2['finishReason']||_0x273bf8(0xd1)}],'usage':_0x3883b2[_0x273bf8(0x159)]||{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x3883b2['model']||_0x37919d[_0x273bf8(0xf8)],'id':_0x3883b2['requestId']||_0x596390};}catch(_0x4f0d05){_0x434462=_0x4f0d05,this['logger'][_0x273bf8(0xcb)](_0x273bf8(0xf4),{'attempt':_0x2e97bb,'requestId':_0x596390,'error':_0x4f0d05['message'],'status':_0x4f0d05[_0x273bf8(0x14f)]});if(_0x2e97bb<this[_0x273bf8(0xcc)]){const _0x3d5240=Math[_0x273bf8(0x132)](0x2,_0x2e97bb)*0x3e8;this[_0x273bf8(0x130)]['warn'](_0x273bf8(0x137)+_0x3d5240+'ms',{'attempt':_0x2e97bb,'requestId':_0x596390}),await new Promise(_0x3bae16=>setTimeout(_0x3bae16,_0x3d5240));}}}this[_0x273bf8(0x130)][_0x273bf8(0x158)]('All\x20attempts\x20to\x20reach\x20backend\x20failed,\x20using\x20mock\x20response',{'requestId':_0x596390,'error':_0x434462['message']});const _0x7825c5=_0x434462[_0x273bf8(0x154)]&&_0x434462['message'][_0x273bf8(0x109)](_0x273bf8(0x108));if(_0x7825c5)throw new Error(_0x273bf8(0xe0)+_0x434462[_0x273bf8(0x154)]);return{'choices':[{'message':{'content':'I\x20apologize,\x20but\x20I\x27m\x20unable\x20to\x20connect\x20to\x20the\x20AI\x20service\x20at\x20the\x20moment.\x20Error:\x20'+_0x434462['message'],'role':_0x273bf8(0xe8)},'finish_reason':_0x273bf8(0xd1)}],'usage':{'prompt_tokens':0x0,'completion_tokens':0x0,'total_tokens':0x0},'model':_0x37919d['model'],'id':_0x273bf8(0x113)+_0x596390,'error':_0x434462[_0x273bf8(0x154)]};}async['_makeImageAPIRequest'](_0x23794c,_0x2206c1,_0x422194={}){const _0x4d8435=a0_0x58e07c,_0x58d14b=_0x4d8435(0x134);let _0x599303,_0x14529b=null,_0x16bbf8=null;this[_0x4d8435(0x130)]?.[_0x4d8435(0xf9)](_0x4d8435(0xfd),{'hasApiKeyManager':!!this['apiKeyManager'],'sessionId':_0x422194['sessionId'],'hasSessionId':!!_0x422194['sessionId'],'model':_0x23794c[_0x4d8435(0xf8)]});if(this[_0x4d8435(0xe3)]&&_0x422194[_0x4d8435(0xea)]){const _0x189b12=this['apiKeyManager']['getKeysForRequest'](_0x422194['sessionId'],{'platformProvided':_0x422194['platformProvided']||![],'vendor':this['_getVendorFromModel'](_0x23794c[_0x4d8435(0xf8)])});_0x14529b=_0x189b12['loxiaApiKey'],_0x16bbf8=_0x189b12['vendorApiKey'],this[_0x4d8435(0x130)]?.['debug']('Retrieved API keys from session manager for image',{'sessionId':_0x422194['sessionId'],'hasLoxiaKey':!!_0x14529b,'hasVendorKey':!!_0x16bbf8});}!_0x14529b&&_0x422194[_0x4d8435(0x127)]&&(_0x14529b=_0x422194['apiKey']);!_0x14529b&&this['config'][_0x4d8435(0x127)]&&(_0x14529b=this[_0x4d8435(0xe4)]['apiKey']);if(!_0x14529b)throw new Error('No\x20API\x20key\x20configured.\x20Please\x20configure\x20your\x20Loxia\x20API\x20key\x20in\x20Settings.');const _0x537ee8={'prompt':_0x23794c[_0x4d8435(0xfc)],'model':_0x23794c[_0x4d8435(0xf8)]||_0x4d8435(0x12c),'size':_0x23794c['size'],'quality':_0x23794c[_0x4d8435(0x101)],'style':_0x23794c[_0x4d8435(0x110)]||'vivid','n':_0x23794c['n']||0x1,'requestId':_0x2206c1};for(let _0x401261=0x1;_0x401261<=this['retryAttempts'];_0x401261++){try{this[_0x4d8435(0x130)][_0x4d8435(0xf9)]('Making\x20image\x20request\x20to\x20Azure\x20backend',{'url':_0x58d14b,'model':_0x23794c['model'],'requestId':_0x2206c1,'attempt':_0x401261,'hasApiKey':!!_0x14529b});const _0x405333=await fetch(_0x58d14b,{'method':'POST','headers':{'Content-Type':_0x4d8435(0xd9),'Authorization':'Bearer\x20'+_0x14529b,'X-Request-ID':_0x2206c1},'body':JSON[_0x4d8435(0x11a)](_0x537ee8),'timeout':this[_0x4d8435(0xe6)]*0x2});if(!_0x405333['ok']){const _0x499801=await _0x405333['text'](),_0x2b54d0=new Error(_0x4d8435(0x14b)+_0x405333['status']+':\x20'+_0x405333['statusText']+(_0x499801?_0x4d8435(0x139)+_0x499801:''));_0x2b54d0['status']=_0x405333['status'];throw _0x2b54d0;}const _0x2962ad=await _0x405333[_0x4d8435(0xce)]();return{'data':_0x2962ad[_0x4d8435(0x147)]||[],'model':_0x2962ad['model']||_0x23794c[_0x4d8435(0xf8)],'created':_0x2962ad[_0x4d8435(0x128)]||Date[_0x4d8435(0x115)](),'usage':_0x2962ad['usage']};}catch(_0x2289be){_0x599303=_0x2289be,this['logger'][_0x4d8435(0xcb)](_0x4d8435(0x121),{'attempt':_0x401261,'requestId':_0x2206c1,'error':_0x2289be[_0x4d8435(0x154)],'status':_0x2289be[_0x4d8435(0x14f)]});if(_0x401261<this['retryAttempts']){const _0x4eeacf=Math['pow'](0x2,_0x401261)*0x3e8;this['logger']['warn']('Retrying\x20in\x20'+_0x4eeacf+'ms',{'attempt':_0x401261,'requestId':_0x2206c1}),await new Promise(_0x59c91e=>setTimeout(_0x59c91e,_0x4eeacf));}}}this['logger'][_0x4d8435(0x158)](_0x4d8435(0xdb),{'requestId':_0x2206c1,'error':_0x599303['message']});throw new Error(_0x4d8435(0x103)+_0x599303['message']);}async['_checkRateLimit'](_0x2ed234){await new Promise(_0x28da3f=>setTimeout(_0x28da3f,0x64));}async['_handleRateLimit'](_0x4b2892){const _0x5a6571=a0_0x58e07c,_0x37fba7=0xea60;this['logger'][_0x5a6571(0xf9)](_0x5a6571(0x15d)+_0x37fba7+'ms',_0x4b2892),await new Promise(_0x4a2897=>setTimeout(_0x4a2897,_0x37fba7));}async[a0_0x58e07c(0x12b)](_0x16ffef){const _0x51f8e4=a0_0x58e07c;this[_0x51f8e4(0xf1)]();const _0x49674c=0x7530;this['logger']['info']('Service\x20unavailable,\x20waiting\x20'+_0x49674c+'ms',_0x16ffef),await new Promise(_0x5dd729=>setTimeout(_0x5dd729,_0x49674c));}['_isCircuitBreakerOpen'](){const _0x2af83e=a0_0x58e07c;if(!this[_0x2af83e(0x10e)]['isOpen'])return![];const _0xb3a1df=Date['now']()-this[_0x2af83e(0x10e)]['lastFailureTime'];if(_0xb3a1df>this['circuitBreaker'][_0x2af83e(0xe6)])return this['circuitBreaker'][_0x2af83e(0x14a)]=![],this['circuitBreaker']['failures']=0x0,![];return!![];}[a0_0x58e07c(0xf1)](){const _0x3c6cae=a0_0x58e07c;this[_0x3c6cae(0x10e)]['failures']++,this['circuitBreaker'][_0x3c6cae(0x15e)]=Date['now'](),this[_0x3c6cae(0x10e)][_0x3c6cae(0x126)]>=this[_0x3c6cae(0x10e)][_0x3c6cae(0xee)]&&(this['circuitBreaker']['isOpen']=!![],this[_0x3c6cae(0x130)]['warn'](_0x3c6cae(0xfa)));}['_resetCircuitBreaker'](){const _0x27db32=a0_0x58e07c;this[_0x27db32(0x10e)]['failures']>0x0&&(this[_0x27db32(0x10e)]['failures']=0x0,this['circuitBreaker']['isOpen']=![],this[_0x27db32(0x130)]['info'](_0x27db32(0x14c)));}['_getVendorFromModel'](_0x17d1ff){const _0x4b745d=a0_0x58e07c;if(!_0x17d1ff)return null;const _0x5af8ba=_0x17d1ff['toLowerCase']();if(_0x5af8ba['includes']('anthropic')||_0x5af8ba['includes']('claude'))return _0x4b745d(0x112);else{if(_0x5af8ba['includes']('openai')||_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0xdc)))return'openai';else{if(_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0xd7)))return'deepseek';else{if(_0x5af8ba[_0x4b745d(0x109)](_0x4b745d(0x102)))return'microsoft';}}}return null;}}class ConversationManager{constructor(_0x26ab7c,_0x29cbec){const _0x2aead6=a0_0x58e07c;this[_0x2aead6(0xd2)]=_0x26ab7c,this['logger']=_0x29cbec,this['conversations']=new Map();}async['switchModel'](_0x683f45){return{'messages':[],'model':_0x683f45,'lastUpdated':new Date()['toISOString']()};}}export default AIService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x13ba(){const _0x3d099d=['mu9IuKfAyW','C2vZC2LVBKTLExm','z2v0u2vZC2LVBKTLExm','z2v0qwn0AxzLu2vZC2LVBNm','zM9YrwfJAa','nZK0mJC2DuDSwLbK','CMvTB3zLu2vZC2LVBKTLExm','DMvUzg9Y','ntaXotm5nK9Rt3bgwG','mZC2mdm5m0DtD0feyG','DxbKyxrLzef0','qvbjigTLExmGCMvTB3zLzcbMB3iGC2vZC2LVBG','BM93','ntaZnJCYnxf3u0jeEq','C2v0r2XVyMfSs2v5CW','mJa0mtm3nNjns0DmDG','u2vZC2LVBIbjrcbPCYbYzxf1AxjLza','z2v0','qvbjigTLExmGDxbKyxrLzcbMB3iGC2vZC2LVBG','Bg9Nz2vY','DMvUzg9Ys2v5CW','q2XLyw5Lzcb1CcbLEhbPCMvKiefqssbRzxKGC2vZC2LVBNm','z2XVyMfSs2v5CW','Dg9ju09tDhjPBMC','A2v5CW','odDbu3jzwMW','mZzqvxDHz2y','zw50CMLLCW','Aw5MBW','mtm0nZG4twTyuuzJ','Bg94AwfbCgLlzxK','ChvZAa','mtq3odm3mdbmEfDdyvK','zNjVBq','zgvSzxrL','CgXHDgzVCM1qCM92AwrLza','y2XLyw51Cev4CgLYzwrtzxnZAw9UCW'];a0_0x13ba=function(){return _0x3d099d;};return a0_0x13ba();}const a0_0x19c439=a0_0x5695;function a0_0x5695(_0x146438,_0x2b6aee){_0x146438=_0x146438-0x68;const _0x13bad8=a0_0x13ba();let _0x569521=_0x13bad8[_0x146438];if(a0_0x5695['pcRmHF']===undefined){var _0x2774ce=function(_0x55c67c){const _0xcbe78a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1595b7='',_0x6d5402='';for(let _0x24e253=0x0,_0x5e80ae,_0x5c9da1,_0x23c824=0x0;_0x5c9da1=_0x55c67c['charAt'](_0x23c824++);~_0x5c9da1&&(_0x5e80ae=_0x24e253%0x4?_0x5e80ae*0x40+_0x5c9da1:_0x5c9da1,_0x24e253++%0x4)?_0x1595b7+=String['fromCharCode'](0xff&_0x5e80ae>>(-0x2*_0x24e253&0x6)):0x0){_0x5c9da1=_0xcbe78a['indexOf'](_0x5c9da1);}for(let _0x2550dc=0x0,_0x140c8f=_0x1595b7['length'];_0x2550dc<_0x140c8f;_0x2550dc++){_0x6d5402+='%'+('00'+_0x1595b7['charCodeAt'](_0x2550dc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6d5402);};a0_0x5695['APLebj']=_0x2774ce,a0_0x5695['YfHOlc']={},a0_0x5695['pcRmHF']=!![];}const _0x22c167=_0x13bad8[0x0],_0x3cd890=_0x146438+_0x22c167,_0x5d0b94=a0_0x5695['YfHOlc'][_0x3cd890];return!_0x5d0b94?(_0x569521=a0_0x5695['APLebj'](_0x569521),a0_0x5695['YfHOlc'][_0x3cd890]=_0x569521):_0x569521=_0x5d0b94,_0x569521;}(function(_0x16ad37,_0x262400){const _0x2b2f96=a0_0x5695,_0x14dbab=_0x16ad37();while(!![]){try{const _0x1a5e88=parseInt(_0x2b2f96(0x6f))/0x1*(parseInt(_0x2b2f96(0x74))/0x2)+parseInt(_0x2b2f96(0x88))/0x3*(parseInt(_0x2b2f96(0x8c))/0x4)+-parseInt(_0x2b2f96(0x7c))/0x5+-parseInt(_0x2b2f96(0x77))/0x6+parseInt(_0x2b2f96(0x78))/0x7+parseInt(_0x2b2f96(0x7e))/0x8*(-parseInt(_0x2b2f96(0x89))/0x9)+parseInt(_0x2b2f96(0x6a))/0xa;if(_0x1a5e88===_0x262400)break;else _0x14dbab['push'](_0x14dbab['shift']());}catch(_0x3c1478){_0x14dbab['push'](_0x14dbab['shift']());}}}(a0_0x13ba,0x80409));class ApiKeyManager{constructor(_0x1595b7){const _0x74a8e1=a0_0x5695;this['logger']=_0x1595b7,this['sessionKeys']=new Map(),this[_0x74a8e1(0x85)]={'loxiaApiKey':null,'vendorKeys':{}};}['setSessionKeys'](_0x6d5402,_0x24e253){const _0x208ed8=a0_0x5695;if(!_0x6d5402)throw new Error(_0x208ed8(0x7f));this['sessionKeys']['set'](_0x6d5402,{'loxiaApiKey':_0x24e253['loxiaApiKey']||null,'vendorKeys':_0x24e253['vendorKeys']||{},'updatedAt':new Date()[_0x208ed8(0x86)]()}),this[_0x208ed8(0x82)]?.[_0x208ed8(0x8b)](_0x208ed8(0x81),{'sessionId':_0x6d5402,'hasLoxiaKey':!!_0x24e253['loxiaApiKey'],'vendorKeys':Object['keys'](_0x24e253[_0x208ed8(0x83)]||{}),'timestamp':new Date()[_0x208ed8(0x86)]()});}['getSessionKeys'](_0x5e80ae){const _0x8119f1=a0_0x5695;if(!_0x5e80ae)return this[_0x8119f1(0x85)];const _0x5c9da1=this[_0x8119f1(0x70)][_0x8119f1(0x80)](_0x5e80ae);if(_0x5c9da1)return _0x5c9da1;return this['globalKeys'];}['getKeysForRequest'](_0x23c824,_0x2550dc={}){const _0x5353b3=a0_0x5695,_0x140c8f=this[_0x5353b3(0x71)](_0x23c824),_0x5da8b8={'loxiaApiKey':_0x140c8f[_0x5353b3(0x68)],'vendorApiKey':null};return!_0x2550dc[_0x5353b3(0x6d)]&&_0x2550dc[_0x5353b3(0x76)]&&_0x140c8f[_0x5353b3(0x83)]&&(_0x5da8b8['vendorApiKey']=_0x140c8f['vendorKeys'][_0x2550dc['vendor']]),_0x5da8b8;}[a0_0x19c439(0x75)](_0x52a19d){const _0x58382b=a0_0x19c439;if(this[_0x58382b(0x70)]['delete'](_0x52a19d))return this['logger']?.['info'](_0x58382b(0x7a),{'sessionId':_0x52a19d}),!![];return![];}[a0_0x19c439(0x7d)](_0x308c8e){const _0x24e0f6=a0_0x19c439;this[_0x24e0f6(0x85)]={'loxiaApiKey':_0x308c8e['loxiaApiKey']||this['globalKeys'][_0x24e0f6(0x68)],'vendorKeys':{...this['globalKeys']['vendorKeys'],..._0x308c8e[_0x24e0f6(0x83)]||{}}},this[_0x24e0f6(0x82)]?.['info']('Global\x20API\x20keys\x20updated',{'hasLoxiaKey':!!this['globalKeys'][_0x24e0f6(0x68)],'vendorKeys':Object[_0x24e0f6(0x87)](this['globalKeys']['vendorKeys'])});}[a0_0x19c439(0x72)](){const _0x7b0546=a0_0x19c439;return Array[_0x7b0546(0x6b)](this[_0x7b0546(0x70)]['entries']())['map'](([_0x219246,_0x19604a])=>({'sessionId':_0x219246,'hasLoxiaKey':!!_0x19604a['loxiaApiKey'],'vendorKeys':Object['keys'](_0x19604a['vendorKeys']||{}),'updatedAt':_0x19604a[_0x7b0546(0x79)]}));}[a0_0x19c439(0x6e)](_0x439856=0x18*0x3c*0x3c*0x3e8){const _0xb980d1=a0_0x19c439,_0x1de088=Date[_0xb980d1(0x7b)](),_0x30ca03=[];for(const [_0x2f4199,_0x148af1]of this['sessionKeys'][_0xb980d1(0x8a)]()){const _0x3e9abd=_0x1de088-new Date(_0x148af1[_0xb980d1(0x79)])['getTime']();_0x3e9abd>_0x439856&&_0x30ca03[_0xb980d1(0x69)](_0x2f4199);}return _0x30ca03[_0xb980d1(0x73)](_0x5ccd81=>{const _0x5c38f6=_0xb980d1;this['sessionKeys'][_0x5c38f6(0x6c)](_0x5ccd81);}),_0x30ca03['length']>0x0&&this[_0xb980d1(0x82)]?.[_0xb980d1(0x8b)](_0xb980d1(0x84),{'expiredSessions':_0x30ca03['length'],'remainingSessions':this[_0xb980d1(0x70)]['size']}),_0x30ca03['length'];}}export default ApiKeyManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x54c676=a0_0x12cf;(function(_0x28525a,_0x7d4ee0){const _0x306830=a0_0x12cf,_0x2aa104=_0x28525a();while(!![]){try{const _0x1bf92c=parseInt(_0x306830(0x1e7))/0x1+parseInt(_0x306830(0x1ed))/0x2*(-parseInt(_0x306830(0x20e))/0x3)+-parseInt(_0x306830(0x1e2))/0x4+-parseInt(_0x306830(0x1ec))/0x5+-parseInt(_0x306830(0x1f8))/0x6+parseInt(_0x306830(0x206))/0x7+-parseInt(_0x306830(0x1fb))/0x8*(-parseInt(_0x306830(0x1e0))/0x9);if(_0x1bf92c===_0x7d4ee0)break;else _0x2aa104['push'](_0x2aa104['shift']());}catch(_0x2b2c74){_0x2aa104['push'](_0x2aa104['shift']());}}}(a0_0x2740,0x616f2));import{MODEL_ROUTER_CONFIG,HTTP_STATUS}from'../utilities/constants.js';class BenchmarkService{constructor(_0x4f9fe2,_0x57b13f){const _0xb44ccb=a0_0x12cf;this['config']=_0x4f9fe2,this[_0xb44ccb(0x1fd)]=_0x57b13f,this['benchmarks']=null,this['lastUpdated']=null,this[_0xb44ccb(0x210)]=![],this['azureBackendUrl']='https://autopilot-api.azurewebsites.net',this['refreshInterval']=MODEL_ROUTER_CONFIG[_0xb44ccb(0x1fe)];}async[a0_0x54c676(0x1e9)](){const _0x1c3b37=a0_0x54c676;try{await this[_0x1c3b37(0x1f9)](),this['_scheduleRefresh'](),this[_0x1c3b37(0x1fd)]['info']('Benchmark\x20service\x20initialized');}catch(_0x299544){this['logger'][_0x1c3b37(0x208)]('Failed\x20to\x20initialize\x20benchmark\x20service\x20-\x20NO\x20FALLBACK',{'error':_0x299544['message']}),this[_0x1c3b37(0x1f5)]=null;}}['getBenchmarks'](){const _0x3ecc7e=a0_0x54c676;if(!this['benchmarks'])return this['logger']['error'](_0x3ecc7e(0x1fa),{'message':'Benchmarks must be fetched from Azure backend','retryRecommended':!![]}),null;return this['benchmarks'];}async[a0_0x54c676(0x1f9)](){const _0x542dc4=a0_0x54c676;if(this['isLoading']){this[_0x542dc4(0x1fd)]['debug']('Benchmark\x20loading\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x5f4a91=await this[_0x542dc4(0x207)]();if(_0x5f4a91)this['benchmarks']=_0x5f4a91,this[_0x542dc4(0x1e1)]=new Date(),this['logger'][_0x542dc4(0x1f1)]('Benchmarks loaded from Azure backend',{'modelCount':_0x5f4a91['models']?.['length']||0x0});else throw new Error('No benchmark data received from backend');}catch(_0x329bc3){this['logger'][_0x542dc4(0x208)]('Failed to fetch benchmarks from Azure backend - NO FALLBACK',{'error':_0x329bc3[_0x542dc4(0x212)],'endpoint':url}),!this[_0x542dc4(0x1f5)]&&(this[_0x542dc4(0x1f5)]=null);}finally{this['isLoading']=![];}}[a0_0x54c676(0x1e4)](){const _0x4329a4=a0_0x54c676,_0x5e4966=this['getBenchmarks']();return{'lastUpdated':this['lastUpdated']?.['toISOString']()||_0x4329a4(0x1f3),'models':_0x5e4966['models']||[],'tasks':_0x5e4966['tasks']||{},'summary':this['_generateBenchmarkSummary'](_0x5e4966)};}[a0_0x54c676(0x1eb)](){const _0x10591d=a0_0x54c676;if(!this[_0x10591d(0x1e1)])return!![];const _0x47d58c=Date['now']()-this['lastUpdated'][_0x10591d(0x1f7)]();return _0x47d58c>this[_0x10591d(0x202)];}async[a0_0x54c676(0x207)](){const _0x1b39f7=a0_0x54c676,_0x1fbb9d=this['azureBackendUrl']+_0x1b39f7(0x1f6);let _0x10e7da=null;this[_0x1b39f7(0x1ea)]['apiKey']&&(_0x10e7da=this[_0x1b39f7(0x1ea)]['apiKey']);const _0x26c19b={'method':_0x1b39f7(0x1ef),'headers':{'Content-Type':'application/json',..._0x10e7da&&{'Authorization':_0x1b39f7(0x1fc)+_0x10e7da}},'timeout':0x2710};this[_0x1b39f7(0x1fd)]['debug']('Fetching benchmarks from Azure backend',{'url':_0x1fbb9d});const _0x5f1ebe=await fetch(_0x1fbb9d,_0x26c19b);if(!_0x5f1ebe['ok'])throw new Error(_0x1b39f7(0x211)+_0x5f1ebe['status']+':\x20'+_0x5f1ebe[_0x1b39f7(0x205)]);const _0x24c896=await _0x5f1ebe[_0x1b39f7(0x200)]();return _0x24c896;}[a0_0x54c676(0x1ee)](_0x4df1f5){const _0x3bf770=a0_0x54c676,_0x342554=_0x4df1f5['models']||[];return{'totalModels':_0x342554[_0x3bf770(0x1f2)],'taskCategories':Object[_0x3bf770(0x20a)](_0x4df1f5['tasks']||{}),'bestForCoding':this[_0x3bf770(0x209)](_0x342554,'coding'),'bestForAnalysis':this[_0x3bf770(0x209)](_0x342554,_0x3bf770(0x201)),'bestForQuickTasks':this[_0x3bf770(0x209)](_0x342554,_0x3bf770(0x204)),'bestForCreative':this['_getBestModelForTask'](_0x342554,_0x3bf770(0x1e3)),'fastestModel':this['_getFastestModel'](_0x342554),'mostCostEfficient':this['_getMostCostEfficient'](_0x342554)};}['_getBestModelForTask'](_0x4ef701,_0x32dda4){const _0xc6ee9c=a0_0x54c676;return _0x4ef701['filter'](_0x13083b=>_0x13083b[_0xc6ee9c(0x20f)]&&_0x13083b['tasks'][_0x32dda4])['sort']((_0x48af96,_0x598ccc)=>(_0x598ccc[_0xc6ee9c(0x20f)][_0x32dda4]['score']||0x0)-(_0x48af96[_0xc6ee9c(0x20f)][_0x32dda4]['score']||0x0))[0x0]?.[_0xc6ee9c(0x1f0)]||_0xc6ee9c(0x1f3);}['_getFastestModel'](_0x580859){const _0x4d8096=a0_0x54c676,_0x4b6fff={'very-fast':0x4,'fast':0x3,'medium':0x2,'slow':0x1};return _0x580859['sort']((_0x51f4bb,_0x218ef7)=>{const _0x3bf6be=a0_0x12cf,_0x52c266=Math[_0x3bf6be(0x203)](...Object[_0x3bf6be(0x20c)](_0x51f4bb[_0x3bf6be(0x20f)]||{})['map'](_0x347044=>_0x4b6fff[_0x347044['speed']]||0x0)),_0x327bce=Math['max'](...Object[_0x3bf6be(0x20c)](_0x218ef7[_0x3bf6be(0x20f)]||{})[_0x3bf6be(0x1e6)](_0x42ff41=>_0x4b6fff[_0x42ff41['speed']]||0x0));return _0x327bce-_0x52c266;})[0x0]?.[_0x4d8096(0x1f0)]||_0x4d8096(0x1f3);}[a0_0x54c676(0x1f4)](_0x38836c){const _0x5b28d7={'very-low':0x4,'low':0x3,'medium':0x2,'high':0x1};return _0x38836c['sort']((_0x5b8989,_0x4f5655)=>{const _0x32a2a2=a0_0x12cf,_0x481d1d=Math['max'](...Object[_0x32a2a2(0x20c)](_0x5b8989[_0x32a2a2(0x20f)]||{})['map'](_0x471055=>_0x5b28d7[_0x471055[_0x32a2a2(0x1ff)]]||0x0)),_0x30ed4b=Math[_0x32a2a2(0x203)](...Object[_0x32a2a2(0x20c)](_0x4f5655[_0x32a2a2(0x20f)]||{})['map'](_0x1bf833=>_0x5b28d7[_0x1bf833['cost']]||0x0));return _0x30ed4b-_0x481d1d;})[0x0]?.['name']||'unknown';}[a0_0x54c676(0x1e5)](){const _0x54ae54=a0_0x54c676;setInterval(async()=>{const _0x26f5c7=a0_0x12cf;this['needsRefresh']()&&(this['logger'][_0x26f5c7(0x1e8)]('Refreshing\x20benchmark\x20data'),await this['loadBenchmarks']());},this[_0x54ae54(0x202)]);}async['forceRefresh'](){const _0x1a6708=a0_0x54c676;this['logger']['info'](_0x1a6708(0x20d)),await this['loadBenchmarks']();}[a0_0x54c676(0x20b)](){const _0x549abe=a0_0x54c676;return{'initialized':!!this['benchmarks'],'lastUpdated':this['lastUpdated']?.[_0x549abe(0x213)]()||null,'source':this['benchmarks']?.[_0x549abe(0x1df)]||_0x549abe(0x1f3),'modelCount':this['benchmarks']?.['models']?.[_0x549abe(0x1f2)]||0x0,'isLoading':this['isLoading'],'needsRefresh':this[_0x549abe(0x1eb)]()};}}export default BenchmarkService;function a0_0x12cf(_0x50618e,_0x523f26){_0x50618e=_0x50618e-0x1df;const _0x27409d=a0_0x2740();let _0x12cf4e=_0x27409d[_0x50618e];if(a0_0x12cf['xXZQFD']===undefined){var _0x391ee5=function(_0x5332c4){const _0x566dcd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f9fe2='',_0x57b13f='';for(let _0x299544=0x0,_0x5f4a91,_0x329bc3,_0x5e4966=0x0;_0x329bc3=_0x5332c4['charAt'](_0x5e4966++);~_0x329bc3&&(_0x5f4a91=_0x299544%0x4?_0x5f4a91*0x40+_0x329bc3:_0x329bc3,_0x299544++%0x4)?_0x4f9fe2+=String['fromCharCode'](0xff&_0x5f4a91>>(-0x2*_0x299544&0x6)):0x0){_0x329bc3=_0x566dcd['indexOf'](_0x329bc3);}for(let _0x47d58c=0x0,_0x1fbb9d=_0x4f9fe2['length'];_0x47d58c<_0x1fbb9d;_0x47d58c++){_0x57b13f+='%'+('00'+_0x4f9fe2['charCodeAt'](_0x47d58c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x57b13f);};a0_0x12cf['vVpOVS']=_0x391ee5,a0_0x12cf['hsHJnT']={},a0_0x12cf['xXZQFD']=!![];}const _0x1040d1=_0x27409d[0x0],_0x139bb2=_0x50618e+_0x1040d1,_0xd5cbca=a0_0x12cf['hsHJnT'][_0x139bb2];return!_0xd5cbca?(_0x12cf4e=a0_0x12cf['vVpOVS'](_0x12cf4e),a0_0x12cf['hsHJnT'][_0x139bb2]=_0x12cf4e):_0x12cf4e=_0xd5cbca,_0x12cf4e;}function a0_0x2740(){const _0xe8b9c8=['BMfTzq','Aw5MBW','BgvUz3rO','Dw5RBM93BG','x2DLDe1VC3rdB3n0rwzMAwnPzw50','yMvUy2HTyxjRCW','l2XSBs9TB2rLBc1Izw5JAg1HCMTZ','z2v0vgLTzq','mJqYnJq5nLr2rxnssa','Bg9HzejLBMnOBwfYA3m','tM8GyMvUy2HTyxjRigrHDgeGyxzHAwXHyMXLic0GqvbjigzLDgnOigzHAwXLza','nZq1nZy4DuLWCgjn','qMvHCMvYia','Bg9Nz2vY','qKvoq0Hnqvjlx1jfrLjfu0HFsu5urvjwquW','y29ZDa','ANnVBG','yw5HBhLZAxm','CMvMCMvZAeLUDgvYDMfS','Bwf4','CxvPy2STDgfZA3m','C3rHDhvZvgv4Da','ndG0nZGYoxDethvAyW','x2zLDgnOrNjVBuf6DxjLqMfJA2vUza','zxjYB3i','x2DLDejLC3rnB2rLBezVCLrHC2S','A2v5CW','z2v0u3rHDhvZ','DMfSDwvZ','rM9Yy2uGCMvMCMvZAgLUzYbIzw5JAg1HCMSGzgf0yq','nZa1D2Tur3Lb','DgfZA3m','AxnmB2fKAw5N','sfruuca','BwvZC2fNzq','Dg9ju09tDhjPBMC','C291CMnL','otbVz3PmuwG','BgfZDfvWzgf0zwq','mJy4mJCYmg9Aq0HpsW','y3jLyxrPDMu','z2v0qMvUy2HTyxjRvgfIBgu','x3nJAgvKDwXLuMvMCMvZAa','BwfW','nZmXnde0t0zHCLnV','zgvIDwC','Aw5PDgLHBgL6zq','y29UzMLN','BMvLzhnszwzYzxnO','mJy2nZqWmhbctuPirW','mJK2nLHxwuncuG','x2DLBMvYyxrLqMvUy2HTyxjRu3vTBwfYEq','r0vu'];a0_0x2740=function(){return _0xe8b9c8;};return a0_0x2740();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x724650=a0_0x1e31;function a0_0x1e31(_0x54b0f8,_0x5a2a36){_0x54b0f8=_0x54b0f8-0xef;const _0xac542f=a0_0xac54();let _0x1e3186=_0xac542f[_0x54b0f8];if(a0_0x1e31['eYbMkQ']===undefined){var _0xdb1714=function(_0x874371){const _0x3ee2e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x425aa4='',_0x279712='';for(let _0x9d779a=0x0,_0x1236bb,_0x336e16,_0x37d27c=0x0;_0x336e16=_0x874371['charAt'](_0x37d27c++);~_0x336e16&&(_0x1236bb=_0x9d779a%0x4?_0x1236bb*0x40+_0x336e16:_0x336e16,_0x9d779a++%0x4)?_0x425aa4+=String['fromCharCode'](0xff&_0x1236bb>>(-0x2*_0x9d779a&0x6)):0x0){_0x336e16=_0x3ee2e5['indexOf'](_0x336e16);}for(let _0xdb069d=0x0,_0xd3a1e3=_0x425aa4['length'];_0xdb069d<_0xd3a1e3;_0xdb069d++){_0x279712+='%'+('00'+_0x425aa4['charCodeAt'](_0xdb069d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x279712);};a0_0x1e31['EdyXAE']=_0xdb1714,a0_0x1e31['aMnalk']={},a0_0x1e31['eYbMkQ']=!![];}const _0x306cbd=_0xac542f[0x0],_0x1da0d2=_0x54b0f8+_0x306cbd,_0x52f401=a0_0x1e31['aMnalk'][_0x1da0d2];return!_0x52f401?(_0x1e3186=a0_0x1e31['EdyXAE'](_0x1e3186),a0_0x1e31['aMnalk'][_0x1da0d2]=_0x1e3186):_0x1e3186=_0x52f401,_0x1e3186;}(function(_0x27b771,_0x25bfa0){const _0x156012=a0_0x1e31,_0x2489d7=_0x27b771();while(!![]){try{const _0x10f9ab=-parseInt(_0x156012(0x144))/0x1*(-parseInt(_0x156012(0xef))/0x2)+-parseInt(_0x156012(0x104))/0x3*(-parseInt(_0x156012(0x12d))/0x4)+parseInt(_0x156012(0x130))/0x5+parseInt(_0x156012(0x12e))/0x6*(-parseInt(_0x156012(0x10d))/0x7)+parseInt(_0x156012(0x124))/0x8+parseInt(_0x156012(0x135))/0x9+-parseInt(_0x156012(0x128))/0xa;if(_0x10f9ab===_0x25bfa0)break;else _0x2489d7['push'](_0x2489d7['shift']());}catch(_0x47389e){_0x2489d7['push'](_0x2489d7['shift']());}}}(a0_0xac54,0x9dc92));function a0_0xac54(){const _0x4ed5fe=['z2v0rgf0zq','nJK1nJqWoe1brufhBq','Dg90ywXFDg9Rzw5Z','refjtfK','DxnHz2u','mtG5mZyXmdbzAKD5wgK','D2vLA2X5','BwfW','zgfPBhK','Aw5MBW','ndu1nKPmyNfqCq','mtC0r3jgqLHw','Bg9Nz2vY','mZeYntm0meH1z0XMAG','y29UzMLN','C29YDa','CgfKu3rHCNq','BM93','mZa0mJC3nevVwhfHBW','vxnHz2uGzgf0ysbZyxzLza','ywXLCNrZ','z2v0rNvSBfLLyxi','z2v0tw9UDgHlzxK','ChvZAa','Dg9tDhjPBMC','Bw9UDgHSEq','sw52ywXPzcbWzxjPB2q6ia','zNjVBq','z2v0v2vLA0TLEq','z2v0','y2fSy3vSyxrLq29ZDa','C2v0DxbqzxjPB2rPy1nHDMu','zxjYB3i','nuzkthHxwa','y3jLyxrLrw1WDhLvC2fNzq','zgvIDwC','D2fYBG','ntmWntrMrhfhzgO','y2HLy2TuAhjLC2HVBgq','yNvKz2v0CW','Bwf4','Bg9HzfvZywDLrgf0yq','yNLnB2rLBa','C2v0qNvKz2v0CW','ChjVBxb0x3rVA2vUCW','Aw5WDxq','Bw9KzwXjza','yNLbz2vUDa','C2vUzfrOCMvZAg9SzefSzxj0','Aw5PDgLHBgL6zvvZywDLrw50CNK','zM9YrwfJAa','CMvXDwvZDhm','Dg9Rzw5Z','zgfPBhLbDMvYywDLCW','y29UDMvYDfrVq1nw','vg9Rzw5Z','AM9PBG','y2HLy2TuAhjLC2HVBgrbBgvYDhm','mJa0ouPvt09Wza','zw50CMLLCW','z2v0rgf5','z2v0vxnHz2u','v0vfs0Xz','z2v0tw9KzwXvC2fNzq','ywDLBNrjza','z2v0uMvTywLUAw5NqNvKz2v0','y29ZDej5rgf5','ndKWotfOwNztBfG','DgHYzxnOB2XKx3jLywnOzwq','yNvKz2v0x2v4y2vLzgvK','AxnxAxrOAw5cDwrNzxq','CM91BMq','C3bSAxq','Dg90ywW','DxbKyxrLvxnHz2vfBNrYEq','rgf0zq','veHsrvnit0XeuW','y29ZDa','C2vUzej1zgDLDefSzxj0','C2v0','Dw5ZAgLMDa','z2v0rgf5s2v5','zw1PDa','uMvXDwvZDhm','qNvKz2v0igXPBwL0CYb1CgrHDgvK','AgfZ','tu9oveHmwq','yNvKz2v0qwXLCNq','q29ZDa'];a0_0xac54=function(){return _0x4ed5fe;};return a0_0xac54();}import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0x425aa4,_0x279712){const _0x2a9d1b=a0_0x1e31;this[_0x2a9d1b(0x131)]=_0x425aa4||{},this[_0x2a9d1b(0x12f)]=_0x279712,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this['budgets']={'daily':BUDGET_LIMITS[_0x2a9d1b(0x126)],'weekly':BUDGET_LIMITS[_0x2a9d1b(0x108)],'monthly':BUDGET_LIMITS[_0x2a9d1b(0x120)]},this['alerts']={'enabled':!![],'thresholds':USAGE_ALERTS[_0x2a9d1b(0x116)],'lastAlertTimes':new Map()},this[_0x2a9d1b(0xf3)](),this[_0x2a9d1b(0x142)]();}['trackUsage'](_0x9d779a,_0x1236bb,_0x336e16){const _0x33ea51=a0_0x1e31;try{const _0x37d27c=this[_0x33ea51(0x141)](_0x1236bb,_0x336e16),_0xdb069d=new Date(),_0xd3a1e3=this['getDayKey'](_0xdb069d),_0x4094bc=this[_0x33ea51(0x13f)](_0xdb069d),_0x44562a=this['getMonthKey'](_0xdb069d);this[_0x33ea51(0xfb)](this['usage']['daily'],_0xd3a1e3),this[_0x33ea51(0xfb)](this['usage']['weekly'],_0x4094bc),this[_0x33ea51(0xfb)](this['usage']['monthly'],_0x44562a);const _0x7c5e14={'agentId':_0x9d779a,'modelId':_0x1236bb,'tokens':_0x336e16['total_tokens'],'cost':_0x37d27c,'timestamp':_0xdb069d['toISOString']()};return this[_0x33ea51(0x114)](this[_0x33ea51(0x127)][_0x33ea51(0x12b)][_0x33ea51(0x140)](_0xd3a1e3),_0x7c5e14),this['updateUsageEntry'](this['usage']['weekly']['get'](_0x4094bc),_0x7c5e14),this['updateUsageEntry'](this['usage'][_0x33ea51(0x13c)][_0x33ea51(0x140)](_0x44562a),_0x7c5e14),this['usage'][_0x33ea51(0x113)][_0x33ea51(0xfe)]+=_0x336e16[_0x33ea51(0x125)],this['usage']['total'][_0x33ea51(0x117)]+=_0x37d27c,this['usage']['total']['requests']+=0x1,this['checkBudgetLimits'](_0xd3a1e3,_0x4094bc,_0x44562a),this['logger'][_0x33ea51(0x12c)]('Usage\x20tracked',{'agentId':_0x9d779a,'modelId':_0x1236bb,'tokens':_0x336e16[_0x33ea51(0x125)],'cost':_0x37d27c,'totalCost':this['usage']['total'][_0x33ea51(0x117)]}),{'cost':_0x37d27c,'totalCost':this[_0x33ea51(0x127)]['total']['cost'],'totalTokens':this[_0x33ea51(0x127)][_0x33ea51(0x113)]['tokens'],'dailyUsage':this['usage'][_0x33ea51(0x12b)]['get'](_0xd3a1e3),'budgetRemaining':this['getRemainingBudget']()};}catch(_0x2492c9){this['logger'][_0x33ea51(0x143)]('Failed\x20to\x20track\x20usage',{'error':_0x2492c9['message'],'agentId':_0x9d779a,'modelId':_0x1236bb});throw _0x2492c9;}}['calculateCost'](_0x9bc8f,_0x14f7c9){const _0x43c48a=a0_0x1e31,_0x4b2f5f=COST_PER_TOKEN[_0x9bc8f];if(!_0x4b2f5f)return this[_0x43c48a(0x12f)][_0x43c48a(0x147)]('Unknown\x20model\x20for\x20cost\x20calculation',{'modelId':_0x9bc8f}),0x0;const _0x33dd68=(_0x14f7c9[_0x43c48a(0xf6)]||0x0)*_0x4b2f5f[_0x43c48a(0xf7)],_0x2ac472=(_0x14f7c9['completion_tokens']||0x0)*_0x4b2f5f['output'];return _0x33dd68+_0x2ac472;}['getUsage'](_0x409295='daily',_0x1fa15f=new Date()){const _0x492516=a0_0x1e31;switch(_0x409295){case'daily':return this[_0x492516(0x127)][_0x492516(0x12b)][_0x492516(0x140)](this[_0x492516(0x11b)](_0x1fa15f))||this['createEmptyUsage']();case _0x492516(0x129):return this[_0x492516(0x127)]['weekly']['get'](this['getWeekKey'](_0x1fa15f))||this['createEmptyUsage']();case _0x492516(0x13c):return this[_0x492516(0x127)][_0x492516(0x13c)][_0x492516(0x140)](this['getMonthKey'](_0x1fa15f))||this[_0x492516(0x145)]();case'total':return{...this[_0x492516(0x127)]['total']};default:throw new Error(_0x492516(0x13d)+_0x409295);}}['getAgentUsage'](_0x45b7c3,_0x78a9f3='daily'){const _0x4382ab=this['getUsage'](_0x78a9f3);return _0x4382ab['byAgent']?.[_0x45b7c3]||this['createEmptyUsage']();}[a0_0x724650(0x109)](_0x32c519,_0x27136f='daily'){const _0x20a680=a0_0x724650,_0x2d0ce7=this['getUsage'](_0x27136f);return _0x2d0ce7[_0x20a680(0xf4)]?.[_0x32c519]||this[_0x20a680(0x145)]();}[a0_0x724650(0xf5)](_0x5b534f){const _0x1a41fe=a0_0x724650;if(_0x5b534f['daily']!==undefined)this['budgets'][_0x1a41fe(0x12b)]=_0x5b534f['daily'];if(_0x5b534f['weekly']!==undefined)this['budgets']['weekly']=_0x5b534f['weekly'];if(_0x5b534f['monthly']!==undefined)this[_0x1a41fe(0xf1)][_0x1a41fe(0x13c)]=_0x5b534f['monthly'];this[_0x1a41fe(0x12f)][_0x1a41fe(0x12c)](_0x1a41fe(0x11e),this['budgets']),this['saveUsageData']();}[a0_0x724650(0x10b)](){const _0x1026cf=a0_0x724650,_0x2c9d94=new Date(),_0x4d906e=this['getUsage']('daily',_0x2c9d94),_0x271377=this[_0x1026cf(0x107)]('weekly',_0x2c9d94),_0x5a85aa=this[_0x1026cf(0x107)]('monthly',_0x2c9d94);return{'daily':Math['max'](0x0,this['budgets'][_0x1026cf(0x12b)]-_0x4d906e['cost']),'weekly':Math[_0x1026cf(0xf2)](0x0,this[_0x1026cf(0xf1)][_0x1026cf(0x129)]-_0x271377[_0x1026cf(0x117)]),'monthly':Math['max'](0x0,this['budgets']['monthly']-_0x5a85aa['cost'])};}[a0_0x724650(0x110)](_0x5f5bc5=a0_0x724650(0x12b)){const _0x50c6da=a0_0x724650,_0xf0af7a=this[_0x50c6da(0x107)](_0x5f5bc5),_0x2fab71=this[_0x50c6da(0xf1)][_0x5f5bc5];return _0xf0af7a['cost']<=_0x2fab71;}['getUsageTrends'](_0x18fd48=0x1e){const _0x413bb0=a0_0x724650,_0x226d6e={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0xac0583=new Date();let _0x34c864=0x0,_0x3d91eb=0x0,_0x55646d=0x0;const _0x3dce1b=new Map(),_0x5df2a0=new Map();for(let _0x3acceb=0x0;_0x3acceb<_0x18fd48;_0x3acceb++){const _0x1995b1=new Date(_0xac0583);_0x1995b1['setDate'](_0x1995b1[_0x413bb0(0x123)]()-_0x3acceb);const _0x3a10d2=this[_0x413bb0(0x11b)](_0x1995b1),_0x581132=this['usage']['daily'][_0x413bb0(0x140)](_0x3a10d2);_0x581132?(_0x34c864+=_0x581132['cost'],_0x3d91eb+=_0x581132[_0x413bb0(0xfe)],_0x55646d+=_0x581132[_0x413bb0(0xfd)],_0x226d6e[_0x413bb0(0x10c)]['unshift']({'date':_0x3a10d2,'cost':_0x581132['cost']}),_0x226d6e['tokensByDay'][_0x413bb0(0x11a)]({'date':_0x3a10d2,'tokens':_0x581132['tokens']}),Object[_0x413bb0(0x105)](_0x581132['byAgent']||{})['forEach'](([_0x2f6895,_0x57f000])=>{const _0x3ab428=_0x413bb0;!_0x3dce1b[_0x3ab428(0x11f)](_0x2f6895)&&_0x3dce1b[_0x3ab428(0x119)](_0x2f6895,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x30b11f=_0x3dce1b['get'](_0x2f6895);_0x30b11f['cost']+=_0x57f000['cost'],_0x30b11f[_0x3ab428(0xfe)]+=_0x57f000[_0x3ab428(0xfe)],_0x30b11f[_0x3ab428(0xfd)]+=_0x57f000[_0x3ab428(0xfd)];}),Object['entries'](_0x581132[_0x413bb0(0xf4)]||{})['forEach'](([_0x3ecd77,_0x291724])=>{const _0x3d66b9=_0x413bb0;!_0x5df2a0['has'](_0x3ecd77)&&_0x5df2a0[_0x3d66b9(0x119)](_0x3ecd77,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x359cf1=_0x5df2a0[_0x3d66b9(0x140)](_0x3ecd77);_0x359cf1[_0x3d66b9(0x117)]+=_0x291724[_0x3d66b9(0x117)],_0x359cf1[_0x3d66b9(0xfe)]+=_0x291724['tokens'],_0x359cf1['requests']+=_0x291724[_0x3d66b9(0xfd)];})):(_0x226d6e['costByDay'][_0x413bb0(0x11a)]({'date':_0x3a10d2,'cost':0x0}),_0x226d6e['tokensByDay'][_0x413bb0(0x11a)]({'date':_0x3a10d2,'tokens':0x0}));}return _0x226d6e['dailyAverages']['cost']=_0x34c864/_0x18fd48,_0x226d6e[_0x413bb0(0xff)]['tokens']=_0x3d91eb/_0x18fd48,_0x226d6e['dailyAverages']['requests']=_0x55646d/_0x18fd48,_0x226d6e['topAgents']=Array[_0x413bb0(0x13e)](_0x3dce1b[_0x413bb0(0x105)]())['map'](([_0x48b0b2,_0x89acfd])=>({'id':_0x48b0b2,..._0x89acfd}))[_0x413bb0(0x132)]((_0x810685,_0x4856d3)=>_0x4856d3['cost']-_0x810685['cost'])['slice'](0x0,0xa),_0x226d6e['topModels']=Array['from'](_0x5df2a0['entries']())['map'](([_0x1f064a,_0x73bdcf])=>({'id':_0x1f064a,..._0x73bdcf}))[_0x413bb0(0x132)]((_0x390760,_0x37cb97)=>_0x37cb97['cost']-_0x390760[_0x413bb0(0x117)])['slice'](0x0,0xa),_0x226d6e;}['exportUsageData'](_0x2ccfbf='json',_0x3d87ad=null,_0x3a655a=null){const _0x38d809=a0_0x724650,_0x1f5a16={'budgets':this['budgets'],'total':this['usage'][_0x38d809(0x113)],'daily':{},'weekly':{},'monthly':{}},_0x3fae38=(_0x1d9fc5,_0x146c29)=>{const _0x390f5a={};return _0x1d9fc5['forEach']((_0x3fe154,_0x352e83)=>{const _0x46b15c=_0x146c29(_0x352e83);(!_0x3d87ad||_0x46b15c>=_0x3d87ad)&&(!_0x3a655a||_0x46b15c<=_0x3a655a)&&(_0x390f5a[_0x352e83]=_0x3fe154);}),_0x390f5a;};_0x3d87ad||_0x3a655a?(_0x1f5a16['daily']=_0x3fae38(this['usage'][_0x38d809(0x12b)],_0xde8eb7=>new Date(_0xde8eb7)),_0x1f5a16[_0x38d809(0x129)]=_0x3fae38(this['usage'][_0x38d809(0x129)],_0x271316=>new Date(_0x271316)),_0x1f5a16[_0x38d809(0x13c)]=_0x3fae38(this['usage']['monthly'],_0x10b46d=>new Date(_0x10b46d+'-01'))):(this[_0x38d809(0x127)][_0x38d809(0x12b)][_0x38d809(0xfc)]((_0x5a7c97,_0x5d00b9)=>_0x1f5a16[_0x38d809(0x12b)][_0x5d00b9]=_0x5a7c97),this[_0x38d809(0x127)][_0x38d809(0x129)]['forEach']((_0x4f9fae,_0xed364f)=>_0x1f5a16[_0x38d809(0x129)][_0xed364f]=_0x4f9fae),this[_0x38d809(0x127)]['monthly'][_0x38d809(0xfc)]((_0x10415b,_0x487cd3)=>_0x1f5a16['monthly'][_0x487cd3]=_0x10415b));if(_0x2ccfbf==='csv')return this[_0x38d809(0x100)](_0x1f5a16);return JSON['stringify'](_0x1f5a16,null,0x2);}['initializeUsageEntry'](_0x2f8bc4,_0x2a2456){const _0x34244c=a0_0x724650;!_0x2f8bc4['has'](_0x2a2456)&&_0x2f8bc4[_0x34244c(0x119)](_0x2a2456,this['createEmptyUsage']());}['createEmptyUsage'](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}['updateUsageEntry'](_0x16942a,_0x2b6d0c){const _0x5b7caa=a0_0x724650;_0x16942a[_0x5b7caa(0x117)]+=_0x2b6d0c['cost'],_0x16942a[_0x5b7caa(0xfe)]+=_0x2b6d0c[_0x5b7caa(0xfe)],_0x16942a[_0x5b7caa(0xfd)]+=0x1,!_0x16942a[_0x5b7caa(0xf9)][_0x2b6d0c[_0x5b7caa(0x10a)]]&&(_0x16942a['byAgent'][_0x2b6d0c[_0x5b7caa(0x10a)]]=this[_0x5b7caa(0x145)]()),_0x16942a['byAgent'][_0x2b6d0c[_0x5b7caa(0x10a)]]['cost']+=_0x2b6d0c['cost'],_0x16942a[_0x5b7caa(0xf9)][_0x2b6d0c['agentId']]['tokens']+=_0x2b6d0c['tokens'],_0x16942a[_0x5b7caa(0xf9)][_0x2b6d0c['agentId']][_0x5b7caa(0xfd)]+=0x1,!_0x16942a['byModel'][_0x2b6d0c[_0x5b7caa(0xf8)]]&&(_0x16942a['byModel'][_0x2b6d0c['modelId']]=this[_0x5b7caa(0x145)]()),_0x16942a[_0x5b7caa(0xf4)][_0x2b6d0c[_0x5b7caa(0xf8)]][_0x5b7caa(0x117)]+=_0x2b6d0c['cost'],_0x16942a['byModel'][_0x2b6d0c[_0x5b7caa(0xf8)]][_0x5b7caa(0xfe)]+=_0x2b6d0c['tokens'],_0x16942a['byModel'][_0x2b6d0c['modelId']][_0x5b7caa(0xfd)]+=0x1;}['checkBudgetLimits'](_0x22a94d,_0x5c8864,_0x35fae1){const _0x59bfde=a0_0x724650,_0x36dad6=this[_0x59bfde(0x127)]['daily'][_0x59bfde(0x140)](_0x22a94d),_0x596bb6=this[_0x59bfde(0x127)][_0x59bfde(0x129)]['get'](_0x5c8864),_0x3c4c42=this['usage'][_0x59bfde(0x13c)]['get'](_0x35fae1);_0x36dad6[_0x59bfde(0x117)]>this['budgets']['daily']&&this[_0x59bfde(0x118)](_0x59bfde(0x12b),_0x36dad6['cost'],this[_0x59bfde(0xf1)]['daily']),_0x596bb6['cost']>this['budgets']['weekly']&&this['sendBudgetAlert'](_0x59bfde(0x129),_0x596bb6['cost'],this[_0x59bfde(0xf1)][_0x59bfde(0x129)]),_0x3c4c42['cost']>this['budgets']['monthly']&&this[_0x59bfde(0x118)]('monthly',_0x3c4c42['cost'],this['budgets'][_0x59bfde(0x13c)]),this[_0x59bfde(0x103)](_0x36dad6,_0x596bb6,_0x3c4c42);}['checkThresholdAlerts'](_0x154cb9,_0x44874a,_0x3e0c7d){const _0x10daf8=a0_0x724650,_0x3a2be2=this['alerts']['thresholds'];this['checkThreshold']('daily',_0x154cb9[_0x10daf8(0x117)],this[_0x10daf8(0xf1)]['daily'],_0x3a2be2),this[_0x10daf8(0xf0)]('weekly',_0x44874a[_0x10daf8(0x117)],this[_0x10daf8(0xf1)][_0x10daf8(0x129)],_0x3a2be2),this[_0x10daf8(0xf0)]('monthly',_0x3e0c7d[_0x10daf8(0x117)],this['budgets']['monthly'],_0x3a2be2);}[a0_0x724650(0xf0)](_0x99b342,_0x1f182e,_0x2efb61,_0xf0c095){const _0x1aa08c=a0_0x724650,_0x39dbad=_0x1f182e/_0x2efb61*0x64;for(const _0x31bbc9 of _0xf0c095){if(_0x39dbad>=_0x31bbc9){const _0x2e4358=_0x99b342+'_'+_0x31bbc9,_0x4e92f8=this[_0x1aa08c(0x137)]['lastAlertTimes'][_0x1aa08c(0x140)](_0x2e4358),_0x3ea48e=Date[_0x1aa08c(0x134)]();(!_0x4e92f8||_0x3ea48e-_0x4e92f8>0x36ee80)&&(this[_0x1aa08c(0xfa)](_0x99b342,_0x39dbad,_0x31bbc9,_0x1f182e,_0x2efb61),this[_0x1aa08c(0x137)]['lastAlertTimes'][_0x1aa08c(0x119)](_0x2e4358,_0x3ea48e));break;}}}['sendBudgetAlert'](_0x4141c3,_0x13c3b4,_0x1c422f){const _0x4a8e55=a0_0x724650;this['logger'][_0x4a8e55(0x147)]('Budget\x20limit\x20exceeded',{'period':_0x4141c3,'currentUsage':_0x13c3b4,'budgetLimit':_0x1c422f,'excess':_0x13c3b4-_0x1c422f}),typeof process!=='undefined'&&process['emit']&&process['emit'](_0x4a8e55(0x121),{'type':_0x4a8e55(0x10f),'period':_0x4141c3,'currentUsage':_0x13c3b4,'budgetLimit':_0x1c422f,'excess':_0x13c3b4-_0x1c422f});}['sendThresholdAlert'](_0x127a77,_0x222d6a,_0x3fe609,_0x47bb67,_0x1b0351){const _0x1d78d7=a0_0x724650;this[_0x1d78d7(0x12f)]['warn']('Budget\x20threshold\x20reached',{'period':_0x127a77,'percentage':Math['round'](_0x222d6a),'threshold':_0x3fe609,'usage':_0x47bb67,'budget':_0x1b0351}),typeof process!=='undefined'&&process[_0x1d78d7(0x11c)]&&process['emit']('budgetAlert',{'type':_0x1d78d7(0x10e),'period':_0x127a77,'percentage':Math[_0x1d78d7(0x111)](_0x222d6a),'threshold':_0x3fe609,'usage':_0x47bb67,'budget':_0x1b0351});}['getDayKey'](_0x55d8dc){const _0x109b50=a0_0x724650;return _0x55d8dc['toISOString']()[_0x109b50(0x112)]('T')[0x0];}['getWeekKey'](_0x1e1fe1){const _0x1eb7ce=a0_0x724650,_0x500175=_0x1e1fe1[_0x1eb7ce(0x138)](),_0x270c4e=this['getWeekNumber'](_0x1e1fe1);return _0x500175+'-W'+_0x270c4e['toString']()['padStart'](0x2,'0');}[a0_0x724650(0x139)](_0x4059f2){const _0x1af5fc=a0_0x724650,_0x1a4519=_0x4059f2[_0x1af5fc(0x138)](),_0x25e9bc=_0x4059f2['getMonth']()+0x1;return _0x1a4519+'-'+_0x25e9bc[_0x1af5fc(0x13b)]()[_0x1af5fc(0x133)](0x2,'0');}['getWeekNumber'](_0xa10e40){const _0x41ba0d=a0_0x724650,_0x82ba58=new Date(_0xa10e40[_0x41ba0d(0x138)](),0x0,0x1),_0x316178=(_0xa10e40-_0x82ba58)/0x5265c00;return Math['ceil']((_0x316178+_0x82ba58[_0x41ba0d(0x106)]()+0x1)/0x7);}['convertToCSV'](_0x5898b9){const _0x3dba08=a0_0x724650,_0x2aaed7=[];return _0x2aaed7['push'](['Period',_0x3dba08(0x115),_0x3dba08(0x122),_0x3dba08(0x101),_0x3dba08(0x11d),'Agent','Model']),Object['entries'](_0x5898b9['daily'])[_0x3dba08(0xfc)](([_0x181732,_0x10eb6a])=>{const _0x190779=_0x3dba08;_0x2aaed7[_0x190779(0x13a)](['Daily',_0x181732,_0x10eb6a[_0x190779(0x117)],_0x10eb6a['tokens'],_0x10eb6a[_0x190779(0xfd)],'','']),Object['entries'](_0x10eb6a[_0x190779(0xf9)]||{})[_0x190779(0xfc)](([_0x4a8b54,_0x5c12c3])=>{const _0x42ac7a=_0x190779;_0x2aaed7[_0x42ac7a(0x13a)](['Daily',_0x181732,_0x5c12c3['cost'],_0x5c12c3['tokens'],_0x5c12c3['requests'],_0x4a8b54,'']);});}),_0x2aaed7[_0x3dba08(0x12a)](_0x255287=>_0x255287[_0x3dba08(0x102)](','))['join']('\x0a');}[a0_0x724650(0xf3)](){const _0x1e3e7d=a0_0x724650;try{this['logger']['info']('Budget\x20service\x20initialized');}catch(_0x3fb4f7){this[_0x1e3e7d(0x12f)][_0x1e3e7d(0x143)]('Failed\x20to\x20load\x20usage\x20data',{'error':_0x3fb4f7['message']});}}['saveUsageData'](){const _0x2d630c=a0_0x724650;try{this['logger'][_0x2d630c(0x146)](_0x2d630c(0x136));}catch(_0x6b947c){this[_0x2d630c(0x12f)]['error']('Failed\x20to\x20save\x20usage\x20data',{'error':_0x6b947c['message']});}}[a0_0x724650(0x142)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}export default BudgetService;
|
|
1
|
+
function a0_0xc992(_0x1d1ad0,_0x1fd5d4){_0x1d1ad0=_0x1d1ad0-0x1a1;const _0x3de347=a0_0x3de3();let _0xc9920c=_0x3de347[_0x1d1ad0];if(a0_0xc992['RgMthS']===undefined){var _0x3c1e05=function(_0x53f4ed){const _0x3ce7b8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xda20db='',_0x4103cc='';for(let _0x554444=0x0,_0xcfea4f,_0x320dae,_0x10ee18=0x0;_0x320dae=_0x53f4ed['charAt'](_0x10ee18++);~_0x320dae&&(_0xcfea4f=_0x554444%0x4?_0xcfea4f*0x40+_0x320dae:_0x320dae,_0x554444++%0x4)?_0xda20db+=String['fromCharCode'](0xff&_0xcfea4f>>(-0x2*_0x554444&0x6)):0x0){_0x320dae=_0x3ce7b8['indexOf'](_0x320dae);}for(let _0x3d11b2=0x0,_0x1c7f81=_0xda20db['length'];_0x3d11b2<_0x1c7f81;_0x3d11b2++){_0x4103cc+='%'+('00'+_0xda20db['charCodeAt'](_0x3d11b2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4103cc);};a0_0xc992['LKRQZT']=_0x3c1e05,a0_0xc992['nIAgiy']={},a0_0xc992['RgMthS']=!![];}const _0x255628=_0x3de347[0x0],_0x42e62d=_0x1d1ad0+_0x255628,_0xcd5aff=a0_0xc992['nIAgiy'][_0x42e62d];return!_0xcd5aff?(_0xc9920c=a0_0xc992['LKRQZT'](_0xc9920c),a0_0xc992['nIAgiy'][_0x42e62d]=_0xc9920c):_0xc9920c=_0xcd5aff,_0xc9920c;}function a0_0x3de3(){const _0x50b676=['ANnVBG','z2v0vxnHz2vuCMvUzhm','z2v0qwDLBNrvC2fNzq','sw52ywXPzcbWzxjPB2q6ia','ltaX','mJKXnJeZmhbeC0vrzG','Bg9HzfvZywDLrgf0yq','Bw9KzwXjza','Dg9ju09tDhjPBMC','y3n2','Bwf4','ChvZAa','Dw5KzwzPBMvK','vw5RBM93BIbTB2rLBcbMB3iGy29ZDcbJywXJDwXHDgLVBG','DgHYzxnOB2XKx3jLywnOzwq','zgfPBhK','C2XPy2u','z2v0rgf5s2v5','C2v0qNvKz2v0CW','z2v0rgf0zq','z2v0tw9UDgG','DxnHz2u','CMvXDwvZDhm','Dw5ZAgLMDa','BwfW','yNvKz2v0x2v4y2vLzgvK','Bw9UDgHSEq','zgfPBhLbDMvYywDLCW','C29YDa','y2HLy2TuAhjLC2HVBgrbBgvYDhm','y29ZDa','B3v0Chv0','DxbKyxrLvxnHz2vfBNrYEq','yNLnB2rLBa','C3rYAw5NAwz5','C2vUzej1zgDLDefSzxj0','rMfPBgvKihrVihrYywnRihvZywDL','z2v0rNvSBfLLyxi','BgfZDefSzxj0vgLTzxm','C2vUzfrOCMvZAg9SzefSzxj0','vxnHz2uGzgf0ysbZyxzLza','ywXLCNrZ','nZHwshbOB1K','zM9YrwfJAa','y2HLy2TuAhjLC2HVBgq','z2v0v2vLA051BwjLCG','Dg9Rzw5Z','z2v0uMvTywLUAw5NqNvKz2v0','C2f2zvvZywDLrgf0yq','D2vLA2X5','ndvRChjSsg0','Dg90ywXFDg9Rzw5Z','y2fSy3vSyxrLq29ZDa','nty3ndGYnhb4zgHoCW','AM9PBG','zNjVBq','yNLbz2vUDa','Dg90ywW','qNvKz2v0ihrOCMvZAg9SzcbYzwfJAgvK','rMfPBgvKihrVigXVywqGDxnHz2uGzgf0yq','Aw5PDgLHBgL6zvvZywDLrw50CNK','qNvKz2v0ihnLCNzPy2uGAw5PDgLHBgL6zwq','y2vPBa','Bg9Nz2vY','q29ZDa','D2fYBG','C2v0','zxjYB3i','nZa3sufXyufT','odu3mZr3ExviDvO','y3jLyxrLrw1WDhLvC2fNzq','mta4mJHLvfDwA0m','yNvKz2v0CW','C2v0rgf0zq','yNvKz2v0qwXLCNq','AgfZ','Dg9Rzw5ZqNLeyxK','ywDLBNrjza','C2v0DxbqzxjPB2rPy1nHDMu','mti1mtC4mg5pvKrQAa','nti2mtzkB09eANK','zw50CMLLCW','zw1PDa','rgf0zq','uMvXDwvZDhm','DhjHy2TvC2fNzq','z2v0vxnHz2u','nteWmJHHt21NAMi','z2v0tw9UDgHlzxK','Aw5WDxq','vxnHz2uGDhjHy2TLza','z2v0','tu9oveHmwq'];a0_0x3de3=function(){return _0x50b676;};return a0_0x3de3();}const a0_0x1580b4=a0_0xc992;(function(_0x55b4e5,_0x186ee3){const _0x1ed3a8=a0_0xc992,_0x4259ed=_0x55b4e5();while(!![]){try{const _0x48b93a=-parseInt(_0x1ed3a8(0x1ab))/0x1+parseInt(_0x1ed3a8(0x1a3))/0x2+parseInt(_0x1ed3a8(0x1db))/0x3*(-parseInt(_0x1ed3a8(0x1f8))/0x4)+parseInt(_0x1ed3a8(0x1e3))/0x5*(parseInt(_0x1ed3a8(0x1f6))/0x6)+parseInt(_0x1ed3a8(0x1f5))/0x7*(parseInt(_0x1ed3a8(0x1a4))/0x8)+-parseInt(_0x1ed3a8(0x1e6))/0x9+-parseInt(_0x1ed3a8(0x1b6))/0xa;if(_0x48b93a===_0x186ee3)break;else _0x4259ed['push'](_0x4259ed['shift']());}catch(_0x3a5b92){_0x4259ed['push'](_0x4259ed['shift']());}}}(a0_0x3de3,0x5b9a9));import{BUDGET_LIMITS,COST_PER_TOKEN,USAGE_ALERTS}from'../utilities/constants.js';export class BudgetService{constructor(_0xda20db,_0x4103cc){const _0x5ca772=a0_0xc992;this['config']=_0xda20db||{},this[_0x5ca772(0x1f0)]=_0x4103cc,this['usage']={'daily':new Map(),'weekly':new Map(),'monthly':new Map(),'total':{'tokens':0x0,'cost':0x0,'requests':0x0}},this[_0x5ca772(0x1f9)]={'daily':BUDGET_LIMITS['DAILY'],'weekly':BUDGET_LIMITS['WEEKLY'],'monthly':BUDGET_LIMITS[_0x5ca772(0x1b0)]},this[_0x5ca772(0x1da)]={'enabled':!![],'thresholds':USAGE_ALERTS['THRESHOLDS'],'lastAlertTimes':new Map()},this['loadUsageData'](),this['setupPeriodicSave']();}[a0_0x1580b4(0x1a9)](_0x554444,_0xcfea4f,_0x320dae){const _0x1051f6=a0_0x1580b4;try{const _0x10ee18=this[_0x1051f6(0x1e5)](_0xcfea4f,_0x320dae),_0x3d11b2=new Date(),_0x1c7f81=this[_0x1051f6(0x1c2)](_0x3d11b2),_0x52fa3a=this['getWeekKey'](_0x3d11b2),_0x254dbd=this[_0x1051f6(0x1ac)](_0x3d11b2);this['initializeUsageEntry'](this['usage'][_0x1051f6(0x1c0)],_0x1c7f81),this['initializeUsageEntry'](this[_0x1051f6(0x1c6)][_0x1051f6(0x1e2)],_0x52fa3a),this[_0x1051f6(0x1ed)](this[_0x1051f6(0x1c6)][_0x1051f6(0x1cb)],_0x254dbd);const _0x6b6c99={'agentId':_0x554444,'modelId':_0xcfea4f,'tokens':_0x320dae[_0x1051f6(0x1e4)],'cost':_0x10ee18,'timestamp':_0x3d11b2[_0x1051f6(0x1b9)]()};return this[_0x1051f6(0x1d1)](this['usage']['daily']['get'](_0x1c7f81),_0x6b6c99),this[_0x1051f6(0x1d1)](this['usage'][_0x1051f6(0x1e2)][_0x1051f6(0x1af)](_0x52fa3a),_0x6b6c99),this['updateUsageEntry'](this[_0x1051f6(0x1c6)]['monthly']['get'](_0x254dbd),_0x6b6c99),this['usage'][_0x1051f6(0x1ea)][_0x1051f6(0x1df)]+=_0x320dae['total_tokens'],this['usage']['total']['cost']+=_0x10ee18,this[_0x1051f6(0x1c6)][_0x1051f6(0x1ea)][_0x1051f6(0x1c7)]+=0x1,this['checkBudgetLimits'](_0x1c7f81,_0x52fa3a,_0x254dbd),this[_0x1051f6(0x1f0)]['info'](_0x1051f6(0x1ae),{'agentId':_0x554444,'modelId':_0xcfea4f,'tokens':_0x320dae[_0x1051f6(0x1e4)],'cost':_0x10ee18,'totalCost':this['usage']['total']['cost']}),{'cost':_0x10ee18,'totalCost':this['usage']['total'][_0x1051f6(0x1cf)],'totalTokens':this[_0x1051f6(0x1c6)]['total']['tokens'],'dailyUsage':this['usage'][_0x1051f6(0x1c0)]['get'](_0x1c7f81),'budgetRemaining':this[_0x1051f6(0x1e0)]()};}catch(_0x3b3d42){this['logger']['error'](_0x1051f6(0x1d5),{'error':_0x3b3d42['message'],'agentId':_0x554444,'modelId':_0xcfea4f});throw _0x3b3d42;}}['calculateCost'](_0x22bedb,_0x48a97f){const _0x50481d=a0_0x1580b4,_0xdd8779=COST_PER_TOKEN[_0x22bedb];if(!_0xdd8779)return this['logger'][_0x50481d(0x1f2)](_0x50481d(0x1be),{'modelId':_0x22bedb}),0x0;const _0x35a55d=(_0x48a97f['prompt_tokens']||0x0)*_0xdd8779[_0x50481d(0x1ad)],_0x1a3aec=(_0x48a97f['completion_tokens']||0x0)*_0xdd8779[_0x50481d(0x1d0)];return _0x35a55d+_0x1a3aec;}[a0_0x1580b4(0x1aa)](_0x6d1f10=a0_0x1580b4(0x1c0),_0x4beb30=new Date()){const _0x3f60f4=a0_0x1580b4;switch(_0x6d1f10){case'daily':return this['usage']['daily']['get'](this[_0x3f60f4(0x1c2)](_0x4beb30))||this[_0x3f60f4(0x1f7)]();case'weekly':return this['usage'][_0x3f60f4(0x1e2)][_0x3f60f4(0x1af)](this['getWeekKey'](_0x4beb30))||this['createEmptyUsage']();case _0x3f60f4(0x1cb):return this[_0x3f60f4(0x1c6)]['monthly']['get'](this[_0x3f60f4(0x1ac)](_0x4beb30))||this[_0x3f60f4(0x1f7)]();case'total':return{...this[_0x3f60f4(0x1c6)]['total']};default:throw new Error(_0x3f60f4(0x1b4)+_0x6d1f10);}}[a0_0x1580b4(0x1b3)](_0x3fd911,_0x646a2b=a0_0x1580b4(0x1c0)){const _0x57fe94=a0_0x1580b4,_0x364b7b=this['getUsage'](_0x646a2b);return _0x364b7b['byAgent']?.[_0x3fd911]||this[_0x57fe94(0x1f7)]();}['getModelUsage'](_0x1a120a,_0x53b572='daily'){const _0x4c9248=this['getUsage'](_0x53b572);return _0x4c9248['byModel']?.[_0x1a120a]||this['createEmptyUsage']();}[a0_0x1580b4(0x1c3)](_0x50d6c6){const _0x88a729=a0_0x1580b4;if(_0x50d6c6['daily']!==undefined)this['budgets'][_0x88a729(0x1c0)]=_0x50d6c6['daily'];if(_0x50d6c6['weekly']!==undefined)this['budgets']['weekly']=_0x50d6c6['weekly'];if(_0x50d6c6[_0x88a729(0x1cb)]!==undefined)this['budgets'][_0x88a729(0x1cb)]=_0x50d6c6['monthly'];this['logger']['info']('Budget\x20limits\x20updated',this[_0x88a729(0x1f9)]),this[_0x88a729(0x1e1)]();}[a0_0x1580b4(0x1e0)](){const _0x5ee749=a0_0x1580b4,_0x2629c9=new Date(),_0x185b27=this['getUsage'](_0x5ee749(0x1c0),_0x2629c9),_0x16f0a5=this[_0x5ee749(0x1aa)]('weekly',_0x2629c9),_0x111d0a=this[_0x5ee749(0x1aa)](_0x5ee749(0x1cb),_0x2629c9);return{'daily':Math[_0x5ee749(0x1bb)](0x0,this[_0x5ee749(0x1f9)][_0x5ee749(0x1c0)]-_0x185b27[_0x5ee749(0x1cf)]),'weekly':Math[_0x5ee749(0x1bb)](0x0,this['budgets'][_0x5ee749(0x1e2)]-_0x16f0a5[_0x5ee749(0x1cf)]),'monthly':Math[_0x5ee749(0x1bb)](0x0,this[_0x5ee749(0x1f9)][_0x5ee749(0x1cb)]-_0x111d0a['cost'])};}['isWithinBudget'](_0x4b0df3=a0_0x1580b4(0x1c0)){const _0x4ba9d7=a0_0x1580b4,_0xd14a12=this[_0x4ba9d7(0x1aa)](_0x4b0df3),_0x20c2a7=this['budgets'][_0x4b0df3];return _0xd14a12['cost']<=_0x20c2a7;}[a0_0x1580b4(0x1b2)](_0x55627d=0x1e){const _0x594e33=a0_0x1580b4,_0x5502df={'dailyAverages':{'cost':0x0,'tokens':0x0,'requests':0x0},'topAgents':[],'topModels':[],'costByDay':[],'tokensByDay':[]},_0x491ffe=new Date();let _0x39a4bb=0x0,_0x163a15=0x0,_0xf859c8=0x0;const _0x2ca67e=new Map(),_0x243db3=new Map();for(let _0x37fe6c=0x0;_0x37fe6c<_0x55627d;_0x37fe6c++){const _0xb12d80=new Date(_0x491ffe);_0xb12d80[_0x594e33(0x1fa)](_0xb12d80[_0x594e33(0x1c4)]()-_0x37fe6c);const _0x42a87b=this['getDayKey'](_0xb12d80),_0x17ddf5=this[_0x594e33(0x1c6)][_0x594e33(0x1c0)][_0x594e33(0x1af)](_0x42a87b);_0x17ddf5?(_0x39a4bb+=_0x17ddf5['cost'],_0x163a15+=_0x17ddf5['tokens'],_0xf859c8+=_0x17ddf5[_0x594e33(0x1c7)],_0x5502df['costByDay'][_0x594e33(0x1c8)]({'date':_0x42a87b,'cost':_0x17ddf5[_0x594e33(0x1cf)]}),_0x5502df[_0x594e33(0x1fd)]['unshift']({'date':_0x42a87b,'tokens':_0x17ddf5['tokens']}),Object['entries'](_0x17ddf5[_0x594e33(0x1e9)]||{})['forEach'](([_0x17fc1d,_0x405f5e])=>{const _0xb7bad4=_0x594e33;!_0x2ca67e[_0xb7bad4(0x1fc)](_0x17fc1d)&&_0x2ca67e['set'](_0x17fc1d,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x56b897=_0x2ca67e[_0xb7bad4(0x1af)](_0x17fc1d);_0x56b897['cost']+=_0x405f5e[_0xb7bad4(0x1cf)],_0x56b897[_0xb7bad4(0x1df)]+=_0x405f5e[_0xb7bad4(0x1df)],_0x56b897['requests']+=_0x405f5e[_0xb7bad4(0x1c7)];}),Object[_0x594e33(0x1a5)](_0x17ddf5[_0x594e33(0x1d2)]||{})[_0x594e33(0x1dc)](([_0x290514,_0x3c97f3])=>{const _0x12f912=_0x594e33;!_0x243db3['has'](_0x290514)&&_0x243db3[_0x12f912(0x1f3)](_0x290514,{'cost':0x0,'tokens':0x0,'requests':0x0});const _0x19e51d=_0x243db3['get'](_0x290514);_0x19e51d[_0x12f912(0x1cf)]+=_0x3c97f3[_0x12f912(0x1cf)],_0x19e51d[_0x12f912(0x1df)]+=_0x3c97f3[_0x12f912(0x1df)],_0x19e51d[_0x12f912(0x1c7)]+=_0x3c97f3['requests'];})):(_0x5502df['costByDay'][_0x594e33(0x1c8)]({'date':_0x42a87b,'cost':0x0}),_0x5502df[_0x594e33(0x1fd)]['unshift']({'date':_0x42a87b,'tokens':0x0}));}return _0x5502df['dailyAverages'][_0x594e33(0x1cf)]=_0x39a4bb/_0x55627d,_0x5502df[_0x594e33(0x1cc)][_0x594e33(0x1df)]=_0x163a15/_0x55627d,_0x5502df['dailyAverages'][_0x594e33(0x1c7)]=_0xf859c8/_0x55627d,_0x5502df['topAgents']=Array[_0x594e33(0x1e8)](_0x2ca67e['entries']())[_0x594e33(0x1c9)](([_0x42d50f,_0x20e4c3])=>({'id':_0x42d50f,..._0x20e4c3}))['sort']((_0x4eb0be,_0xb841b7)=>_0xb841b7[_0x594e33(0x1cf)]-_0x4eb0be['cost'])[_0x594e33(0x1c1)](0x0,0xa),_0x5502df['topModels']=Array['from'](_0x243db3['entries']())['map'](([_0x10102b,_0x1bdb90])=>({'id':_0x10102b,..._0x1bdb90}))[_0x594e33(0x1cd)]((_0x3815d2,_0x3b7d88)=>_0x3b7d88[_0x594e33(0x1cf)]-_0x3815d2['cost'])[_0x594e33(0x1c1)](0x0,0xa),_0x5502df;}['exportUsageData'](_0x56ef5c=a0_0x1580b4(0x1b1),_0x21b037=null,_0x199cfe=null){const _0x8ac120=a0_0x1580b4,_0x451f47={'budgets':this[_0x8ac120(0x1f9)],'total':this[_0x8ac120(0x1c6)][_0x8ac120(0x1ea)],'daily':{},'weekly':{},'monthly':{}},_0x1b1b7e=(_0x570ade,_0x577007)=>{const _0x10c754=_0x8ac120,_0x38d62b={};return _0x570ade[_0x10c754(0x1dc)]((_0x27bf67,_0x344353)=>{const _0x52adcb=_0x577007(_0x344353);(!_0x21b037||_0x52adcb>=_0x21b037)&&(!_0x199cfe||_0x52adcb<=_0x199cfe)&&(_0x38d62b[_0x344353]=_0x27bf67);}),_0x38d62b;};_0x21b037||_0x199cfe?(_0x451f47[_0x8ac120(0x1c0)]=_0x1b1b7e(this[_0x8ac120(0x1c6)]['daily'],_0x18f9ae=>new Date(_0x18f9ae)),_0x451f47[_0x8ac120(0x1e2)]=_0x1b1b7e(this['usage']['weekly'],_0x56d982=>new Date(_0x56d982)),_0x451f47['monthly']=_0x1b1b7e(this['usage']['monthly'],_0x334c0d=>new Date(_0x334c0d+_0x8ac120(0x1b5)))):(this['usage'][_0x8ac120(0x1c0)][_0x8ac120(0x1dc)]((_0xd1a752,_0x2a6031)=>_0x451f47['daily'][_0x2a6031]=_0xd1a752),this[_0x8ac120(0x1c6)][_0x8ac120(0x1e2)][_0x8ac120(0x1dc)]((_0x2b1c34,_0x120ced)=>_0x451f47['weekly'][_0x120ced]=_0x2b1c34),this['usage'][_0x8ac120(0x1cb)][_0x8ac120(0x1dc)]((_0x5c7ec2,_0x3fa1ed)=>_0x451f47['monthly'][_0x3fa1ed]=_0x5c7ec2));if(_0x56ef5c===_0x8ac120(0x1ba))return this['convertToCSV'](_0x451f47);return JSON[_0x8ac120(0x1d3)](_0x451f47,null,0x2);}[a0_0x1580b4(0x1ed)](_0x322763,_0x71860){const _0x5bee08=a0_0x1580b4;!_0x322763['has'](_0x71860)&&_0x322763[_0x5bee08(0x1f3)](_0x71860,this['createEmptyUsage']());}[a0_0x1580b4(0x1f7)](){return{'cost':0x0,'tokens':0x0,'requests':0x0,'byAgent':{},'byModel':{}};}[a0_0x1580b4(0x1d1)](_0x160125,_0x2bd6bf){const _0x12e4d4=a0_0x1580b4;_0x160125['cost']+=_0x2bd6bf[_0x12e4d4(0x1cf)],_0x160125['tokens']+=_0x2bd6bf['tokens'],_0x160125[_0x12e4d4(0x1c7)]+=0x1,!_0x160125[_0x12e4d4(0x1e9)][_0x2bd6bf['agentId']]&&(_0x160125['byAgent'][_0x2bd6bf['agentId']]=this[_0x12e4d4(0x1f7)]()),_0x160125[_0x12e4d4(0x1e9)][_0x2bd6bf[_0x12e4d4(0x1a1)]][_0x12e4d4(0x1cf)]+=_0x2bd6bf['cost'],_0x160125['byAgent'][_0x2bd6bf[_0x12e4d4(0x1a1)]]['tokens']+=_0x2bd6bf[_0x12e4d4(0x1df)],_0x160125['byAgent'][_0x2bd6bf[_0x12e4d4(0x1a1)]][_0x12e4d4(0x1c7)]+=0x1,!_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]&&(_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]=this['createEmptyUsage']()),_0x160125['byModel'][_0x2bd6bf['modelId']]['cost']+=_0x2bd6bf['cost'],_0x160125[_0x12e4d4(0x1d2)][_0x2bd6bf[_0x12e4d4(0x1b8)]]['tokens']+=_0x2bd6bf['tokens'],_0x160125['byModel'][_0x2bd6bf[_0x12e4d4(0x1b8)]]['requests']+=0x1;}['checkBudgetLimits'](_0x1a0f1c,_0x1971b7,_0x1459b5){const _0x29b0e0=a0_0x1580b4,_0x45c20c=this[_0x29b0e0(0x1c6)][_0x29b0e0(0x1c0)][_0x29b0e0(0x1af)](_0x1a0f1c),_0x33de9c=this[_0x29b0e0(0x1c6)]['weekly']['get'](_0x1971b7),_0x24cbe6=this['usage']['monthly'][_0x29b0e0(0x1af)](_0x1459b5);_0x45c20c[_0x29b0e0(0x1cf)]>this[_0x29b0e0(0x1f9)][_0x29b0e0(0x1c0)]&&this['sendBudgetAlert'](_0x29b0e0(0x1c0),_0x45c20c[_0x29b0e0(0x1cf)],this['budgets']['daily']),_0x33de9c[_0x29b0e0(0x1cf)]>this['budgets']['weekly']&&this['sendBudgetAlert']('weekly',_0x33de9c[_0x29b0e0(0x1cf)],this[_0x29b0e0(0x1f9)]['weekly']),_0x24cbe6[_0x29b0e0(0x1cf)]>this['budgets'][_0x29b0e0(0x1cb)]&&this[_0x29b0e0(0x1d4)](_0x29b0e0(0x1cb),_0x24cbe6['cost'],this[_0x29b0e0(0x1f9)]['monthly']),this[_0x29b0e0(0x1ce)](_0x45c20c,_0x33de9c,_0x24cbe6);}[a0_0x1580b4(0x1ce)](_0x3138b0,_0x1e097b,_0xb41969){const _0x21aca9=a0_0x1580b4,_0x273253=this[_0x21aca9(0x1da)]['thresholds'];this['checkThreshold']('daily',_0x3138b0[_0x21aca9(0x1cf)],this[_0x21aca9(0x1f9)]['daily'],_0x273253),this[_0x21aca9(0x1dd)](_0x21aca9(0x1e2),_0x1e097b['cost'],this['budgets'][_0x21aca9(0x1e2)],_0x273253),this[_0x21aca9(0x1dd)]('monthly',_0xb41969[_0x21aca9(0x1cf)],this['budgets'][_0x21aca9(0x1cb)],_0x273253);}['checkThreshold'](_0xd80fda,_0x523c98,_0x453ae7,_0x2f786a){const _0x50ca0e=a0_0x1580b4,_0x46a533=_0x523c98/_0x453ae7*0x64;for(const _0x29076a of _0x2f786a){if(_0x46a533>=_0x29076a){const _0x52a136=_0xd80fda+'_'+_0x29076a,_0x218a24=this['alerts'][_0x50ca0e(0x1d7)]['get'](_0x52a136),_0x2bf148=Date['now']();(!_0x218a24||_0x2bf148-_0x218a24>0x36ee80)&&(this[_0x50ca0e(0x1d8)](_0xd80fda,_0x46a533,_0x29076a,_0x523c98,_0x453ae7),this[_0x50ca0e(0x1da)][_0x50ca0e(0x1d7)]['set'](_0x52a136,_0x2bf148));break;}}}['sendBudgetAlert'](_0x52b552,_0xd8b4dc,_0x2984da){const _0x4be83c=a0_0x1580b4;this['logger']['warn']('Budget\x20limit\x20exceeded',{'period':_0x52b552,'currentUsage':_0xd8b4dc,'budgetLimit':_0x2984da,'excess':_0xd8b4dc-_0x2984da}),typeof process!==_0x4be83c(0x1bd)&&process['emit']&&process[_0x4be83c(0x1a6)]('budgetAlert',{'type':_0x4be83c(0x1ca),'period':_0x52b552,'currentUsage':_0xd8b4dc,'budgetLimit':_0x2984da,'excess':_0xd8b4dc-_0x2984da});}['sendThresholdAlert'](_0x2eadcb,_0x2bc21b,_0x314558,_0x20e8e2,_0x3365d6){const _0x37018c=a0_0x1580b4;this[_0x37018c(0x1f0)]['warn'](_0x37018c(0x1eb),{'period':_0x2eadcb,'percentage':Math['round'](_0x2bc21b),'threshold':_0x314558,'usage':_0x20e8e2,'budget':_0x3365d6}),typeof process!==_0x37018c(0x1bd)&&process['emit']&&process['emit'](_0x37018c(0x1fb),{'type':_0x37018c(0x1bf),'period':_0x2eadcb,'percentage':Math['round'](_0x2bc21b),'threshold':_0x314558,'usage':_0x20e8e2,'budget':_0x3365d6});}['getDayKey'](_0x2dcbf1){return _0x2dcbf1['toISOString']()['split']('T')[0x0];}['getWeekKey'](_0x2e7947){const _0x393633=a0_0x1580b4,_0x4fcc60=_0x2e7947[_0x393633(0x1d6)](),_0xe08e3e=this['getWeekNumber'](_0x2e7947);return _0x4fcc60+'-W'+_0xe08e3e['toString']()['padStart'](0x2,'0');}['getMonthKey'](_0xddf3c1){const _0x48313a=a0_0x1580b4,_0x2acf6a=_0xddf3c1['getFullYear'](),_0x5746b3=_0xddf3c1[_0x48313a(0x1c5)]()+0x1;return _0x2acf6a+'-'+_0x5746b3['toString']()['padStart'](0x2,'0');}[a0_0x1580b4(0x1de)](_0x1bf3b3){const _0x7b4138=a0_0x1580b4,_0x816762=new Date(_0x1bf3b3[_0x7b4138(0x1d6)](),0x0,0x1),_0x2904f2=(_0x1bf3b3-_0x816762)/0x5265c00;return Math[_0x7b4138(0x1ef)]((_0x2904f2+_0x816762['getDay']()+0x1)/0x7);}['convertToCSV'](_0x5930f9){const _0x553e2b=a0_0x1580b4,_0x1510a2=[];return _0x1510a2[_0x553e2b(0x1bc)](['Period',_0x553e2b(0x1a7),_0x553e2b(0x1f1),'Tokens',_0x553e2b(0x1a8),'Agent','Model']),Object['entries'](_0x5930f9['daily'])['forEach'](([_0x40e311,_0xc5c9cb])=>{const _0x37f595=_0x553e2b;_0x1510a2['push'](['Daily',_0x40e311,_0xc5c9cb[_0x37f595(0x1cf)],_0xc5c9cb['tokens'],_0xc5c9cb[_0x37f595(0x1c7)],'','']),Object[_0x37f595(0x1a5)](_0xc5c9cb[_0x37f595(0x1e9)]||{})[_0x37f595(0x1dc)](([_0x438906,_0x4cbf4d])=>{const _0x3f907e=_0x37f595;_0x1510a2['push'](['Daily',_0x40e311,_0x4cbf4d[_0x3f907e(0x1cf)],_0x4cbf4d['tokens'],_0x4cbf4d['requests'],_0x438906,'']);});}),_0x1510a2[_0x553e2b(0x1c9)](_0x3516dd=>_0x3516dd[_0x553e2b(0x1e7)](','))['join']('\x0a');}[a0_0x1580b4(0x1b7)](){const _0x44b26b=a0_0x1580b4;try{this['logger']['info'](_0x44b26b(0x1ee));}catch(_0x5caf32){this[_0x44b26b(0x1f0)][_0x44b26b(0x1f4)](_0x44b26b(0x1ec),{'error':_0x5caf32['message']});}}['saveUsageData'](){const _0x24a14e=a0_0x1580b4;try{this[_0x24a14e(0x1f0)]['debug'](_0x24a14e(0x1d9));}catch(_0x1db88c){this[_0x24a14e(0x1f0)][_0x24a14e(0x1f4)]('Failed\x20to\x20save\x20usage\x20data',{'error':_0x1db88c['message']});}}[a0_0x1580b4(0x1a2)](){setInterval(()=>{this['saveUsageData']();},0x493e0);}}export default BudgetService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x27467d=a0_0x3beb;(function(_0x35cfaa,_0x187249){const _0xf8b63e=a0_0x3beb,_0x234201=_0x35cfaa();while(!![]){try{const _0x57b271=-parseInt(_0xf8b63e(0x1a2))/0x1+parseInt(_0xf8b63e(0x1b3))/0x2*(parseInt(_0xf8b63e(0x1ba))/0x3)+-parseInt(_0xf8b63e(0x1cf))/0x4+-parseInt(_0xf8b63e(0x1b2))/0x5+-parseInt(_0xf8b63e(0x1ae))/0x6+-parseInt(_0xf8b63e(0x1ac))/0x7+parseInt(_0xf8b63e(0x1c8))/0x8*(parseInt(_0xf8b63e(0x1ca))/0x9);if(_0x57b271===_0x187249)break;else _0x234201['push'](_0x234201['shift']());}catch(_0x2ab36d){_0x234201['push'](_0x234201['shift']());}}}(a0_0x5b01,0x70f9b));import a0_0x4520a9 from'./fileAttachmentService.js';class ContextInjectionService{constructor(_0x43c888={},_0x14bfa6=null){const _0x2bb67e=a0_0x3beb;this[_0x2bb67e(0x1c3)]=_0x43c888,this[_0x2bb67e(0x1a5)]=_0x14bfa6,this[_0x2bb67e(0x1b5)]=new a0_0x4520a9(_0x43c888,_0x14bfa6);}async[a0_0x27467d(0x1ad)](){const _0x10dc1e=a0_0x27467d;await this[_0x10dc1e(0x1b5)][_0x10dc1e(0x1ad)]();}async['buildDynamicContext'](_0x2831f6){const _0x3e1429=a0_0x27467d;try{const _0x28f635=await this[_0x3e1429(0x1b5)][_0x3e1429(0x1c7)](_0x2831f6);if(_0x28f635[_0x3e1429(0x1b0)]===0x0)return'';const _0x2bb101=_0x28f635[_0x3e1429(0x1a3)](_0x3a631e=>_0x3a631e[_0x3e1429(0x1c1)]==='content'),_0x5918ed=_0x28f635['filter'](_0x16237f=>_0x16237f['mode']==='reference');let _0x56079c='';if(_0x2bb101['length']>0x0){_0x56079c+=_0x3e1429(0x1c2);for(const _0x4aef70 of _0x2bb101){const _0x50a752=await this['attachmentService'][_0x3e1429(0x1b1)](_0x4aef70[_0x3e1429(0x1a4)]);if(_0x50a752){const _0x39dc06=this[_0x3e1429(0x1bb)](_0x4aef70,_0x50a752);_0x56079c+=_0x39dc06+'\x0a';}}_0x56079c+=_0x3e1429(0x1ce);}if(_0x5918ed[_0x3e1429(0x1b0)]>0x0){_0x56079c+=_0x3e1429(0x1c4);for(const _0x44b2f0 of _0x5918ed){const _0x562bbe=this['formatReferenceFile'](_0x44b2f0);_0x56079c+=_0x562bbe+'\x0a';}_0x56079c+=_0x3e1429(0x1af),_0x56079c+='\x0aNote:\x20Referenced\x20files\x20can\x20be\x20accessed\x20using\x20the\x20filesystem\x20tool\x20if\x20needed.\x0a';}return _0x56079c;}catch(_0xb78cc4){return this['logger']?.[_0x3e1429(0x1d0)]('Error\x20building\x20dynamic\x20context',{'agentId':_0x2831f6,'error':_0xb78cc4[_0x3e1429(0x1c9)]}),'';}}['formatContentFile'](_0x1133d1,_0x181b46){const _0x42b752=a0_0x27467d,{fileName:_0x5f0e78,fileType:_0x52faba,size:_0x2f54e1,contentType:_0x1bb8a8}=_0x1133d1,_0x32c902=(_0x2f54e1/0x400)[_0x42b752(0x1a6)](0x2);if(_0x1bb8a8===_0x42b752(0x1cb))return this['formatTextFile'](_0x1133d1,_0x181b46);else{if(_0x1bb8a8===_0x42b752(0x1a8))return this[_0x42b752(0x19f)](_0x1133d1,_0x181b46);else{if(_0x1bb8a8==='pdf')return this[_0x42b752(0x1b4)](_0x1133d1,_0x181b46);}}return'\x20\x20<file\x20name=\x22'+this[_0x42b752(0x1b6)](_0x5f0e78)+'\x22\x20type=\x22'+_0x52faba+_0x42b752(0x1b7)+_0x32c902+'KB\x22\x20mode=\x22content\x22>\x0a'+this['escapeXml'](_0x181b46)+_0x42b752(0x1c6);}['formatTextFile'](_0x1a7620,_0x212621){const _0x59aa8b=a0_0x27467d,{fileName:_0x3a8910,fileType:_0x52f9b5,size:_0x3ea1af}=_0x1a7620,_0x121947=(_0x3ea1af/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this[_0x59aa8b(0x1b6)](_0x3a8910)+'\x22\x20type=\x22'+_0x52f9b5+'\x22\x20size=\x22'+_0x121947+_0x59aa8b(0x1a7)+this['escapeXml'](_0x212621)+_0x59aa8b(0x1c6);}['formatImageFile'](_0x181c5c,_0x5fd763){const _0x36d614=a0_0x27467d,{fileName:_0x36aa3d,fileType:_0x51eac0,size:_0x142903}=_0x181c5c,_0x4d0ef5=(_0x142903/0x400)[_0x36d614(0x1a6)](0x2);return _0x36d614(0x1b9)+this[_0x36d614(0x1b6)](_0x36aa3d)+'\x22\x20type=\x22'+_0x51eac0+'\x22\x20size=\x22'+_0x4d0ef5+'KB\x22\x20mode=\x22content\x22>\x0a'+_0x5fd763+'\x0a\x20\x20</file>';}[a0_0x27467d(0x1b4)](_0x53ebb4,_0x5cf8c8){const _0x5ab5ca=a0_0x27467d,{fileName:_0x24d8b4,fileType:_0x172b5d,size:_0x282385}=_0x53ebb4,_0x1f21ea=(_0x282385/0x400)['toFixed'](0x2);return'\x20\x20<file\x20name=\x22'+this['escapeXml'](_0x24d8b4)+_0x5ab5ca(0x1aa)+_0x172b5d+'\x22\x20size=\x22'+_0x1f21ea+_0x5ab5ca(0x1a7)+this[_0x5ab5ca(0x1b6)](_0x5cf8c8)+_0x5ab5ca(0x1c6);}[a0_0x27467d(0x1a0)](_0x2dcc4b){const _0xaab0a8=a0_0x27467d,{fileName:_0x1ea29f,originalPath:_0x496300,size:_0x1f5cb8,fileType:_0x456d59,lastModified:_0x20402f}=_0x2dcc4b,_0x25b463=this[_0xaab0a8(0x1ab)](_0x1f5cb8),_0x1e3e7d=new Date(_0x20402f)['toISOString']()['split']('T')[0x0];return _0xaab0a8(0x1b9)+this['escapeXml'](_0x1ea29f)+'\x22\x20path=\x22'+this[_0xaab0a8(0x1b6)](_0x496300)+'\x22\x20size=\x22'+_0x25b463+'\x22\x20type=\x22'+_0x456d59+_0xaab0a8(0x1c5)+_0x1e3e7d+'\x22\x20/>';}['escapeXml'](_0x3eb17f){const _0x3d2566=a0_0x27467d;if(!_0x3eb17f)return'';return _0x3eb17f[_0x3d2566(0x1a9)](/&/g,_0x3d2566(0x1b8))['replace'](/</g,'<')['replace'](/>/g,'>')[_0x3d2566(0x1a9)](/"/g,_0x3d2566(0x1a1))[_0x3d2566(0x1a9)](/'/g,''');}['formatBytes'](_0x578956){const _0x39ab96=a0_0x27467d;if(_0x578956===0x0)return'0\x20Bytes';const _0x554768=0x400,_0x742c54=['Bytes','KB','MB','GB'],_0x4156ca=Math[_0x39ab96(0x1bd)](Math[_0x39ab96(0x1bc)](_0x578956)/Math['log'](_0x554768));return parseFloat((_0x578956/Math[_0x39ab96(0x1cc)](_0x554768,_0x4156ca))[_0x39ab96(0x1a6)](0x2))+_0x742c54[_0x4156ca];}async[a0_0x27467d(0x1bf)](_0x3d1376){const _0x4a0d7f=a0_0x27467d;try{const _0x1a0945=await this[_0x4a0d7f(0x1b5)]['getActiveAttachments'](_0x3d1376);let _0x11b2ee=0x0;for(const _0x2d5dfd of _0x1a0945){_0x2d5dfd[_0x4a0d7f(0x1c1)]===_0x4a0d7f(0x1be)?_0x11b2ee+=_0x2d5dfd[_0x4a0d7f(0x1cd)]||0x0:_0x11b2ee+=0x14;}return _0x11b2ee;}catch(_0x57ab37){return this[_0x4a0d7f(0x1a5)]?.[_0x4a0d7f(0x1d0)]('Error\x20estimating\x20total\x20tokens',{'agentId':_0x3d1376,'error':_0x57ab37['message']}),0x0;}}async['getAttachmentSummary'](_0x1e7322){const _0x6d2279=a0_0x27467d;try{const _0x7637ac=await this[_0x6d2279(0x1b5)]['getActiveAttachments'](_0x1e7322),_0x56a2e7={'totalActive':_0x7637ac[_0x6d2279(0x1b0)],'contentMode':_0x7637ac['filter'](_0x163088=>_0x163088['mode']==='content')[_0x6d2279(0x1b0)],'referenceMode':_0x7637ac[_0x6d2279(0x1a3)](_0x48e574=>_0x48e574['mode']==='reference')['length'],'estimatedTokens':0x0,'files':[]};for(const _0x33cf96 of _0x7637ac){_0x56a2e7[_0x6d2279(0x1c0)]+=_0x33cf96['tokenEstimate']||0x0,_0x56a2e7['files']['push']({'fileName':_0x33cf96['fileName'],'mode':_0x33cf96[_0x6d2279(0x1c1)],'size':this[_0x6d2279(0x1ab)](_0x33cf96['size']),'tokens':_0x33cf96['tokenEstimate']||0x0});}return _0x56a2e7;}catch(_0x4def7f){return this[_0x6d2279(0x1a5)]?.[_0x6d2279(0x1d0)]('Error\x20getting\x20attachment\x20summary',{'agentId':_0x1e7322,'error':_0x4def7f[_0x6d2279(0x1c9)]}),{'totalActive':0x0,'contentMode':0x0,'referenceMode':0x0,'estimatedTokens':0x0,'files':[]};}}}function a0_0x3beb(_0x162fb1,_0x8b3f40){_0x162fb1=_0x162fb1-0x19f;const _0x5b01b7=a0_0x5b01();let _0x3beb04=_0x5b01b7[_0x162fb1];if(a0_0x3beb['QbXOGL']===undefined){var _0x5505a2=function(_0xf2d8f8){const _0x37934c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4520a9='',_0x43c888='';for(let _0x14bfa6=0x0,_0x2831f6,_0x28f635,_0x2bb101=0x0;_0x28f635=_0xf2d8f8['charAt'](_0x2bb101++);~_0x28f635&&(_0x2831f6=_0x14bfa6%0x4?_0x2831f6*0x40+_0x28f635:_0x28f635,_0x14bfa6++%0x4)?_0x4520a9+=String['fromCharCode'](0xff&_0x2831f6>>(-0x2*_0x14bfa6&0x6)):0x0){_0x28f635=_0x37934c['indexOf'](_0x28f635);}for(let _0x5918ed=0x0,_0x56079c=_0x4520a9['length'];_0x5918ed<_0x56079c;_0x5918ed++){_0x43c888+='%'+('00'+_0x4520a9['charCodeAt'](_0x5918ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x43c888);};a0_0x3beb['iirojo']=_0x5505a2,a0_0x3beb['tHEmqc']={},a0_0x3beb['QbXOGL']=!![];}const _0x2b8968=_0x5b01b7[0x0],_0xbf7001=_0x162fb1+_0x2b8968,_0x51d1d8=a0_0x3beb['tHEmqc'][_0xbf7001];return!_0x51d1d8?(_0x3beb04=a0_0x3beb['iirojo'](_0x3beb04),a0_0x3beb['tHEmqc'][_0xbf7001]=_0x3beb04):_0x3beb04=_0x51d1d8,_0x3beb04;}function a0_0x5b01(){const _0x5c6ea2=['Dg9Rzw5fC3rPBwf0zq','pc9HDhrHy2HLzc1MAwXLCZ4k','mte1mJq0ne52Bw95sG','zxjYB3i','zM9YBwf0sw1Hz2vgAwXL','zM9YBwf0uMvMzxjLBMnLrMLSzq','jNf1B3q7','ody4mtCXzgjhBgPA','zMLSDgvY','zMLSzuLK','Bg9Nz2vY','Dg9gAxHLza','s0iIig1Vzgu9iMnVBNrLBNqIpGO','Aw1Hz2u','CMvWBgfJzq','iIb0ExbLpsi','zM9YBwf0qNL0zxm','nZi1mtCYs3zWy3Lm','Aw5PDgLHBgL6zq','mZm4mZmWnhfIvKfHuW','pc9MAwXLlxjLzMvYzw5Jzxm+cG','BgvUz3rO','z2v0qxr0ywnOBwvUDenVBNrLBNq','mtCYmZK5nun4z3jTqW','mtyXmtzwyw1YEK4','zM9YBwf0ugrMrMLSzq','yxr0ywnOBwvUDfnLCNzPy2u','zxnJyxbLwg1S','iIbZAxPLpsi','jMfTCdS','ica8zMLSzsbUyw1Lpsi','mtGZzhvYwgHJ','zM9YBwf0q29UDgvUDezPBgu','Bg9N','zMXVB3i','y29UDgvUDa','zxn0Aw1HDgvuB3rHBfrVA2vUCW','zxn0Aw1HDgvKvg9Rzw5Z','Bw9Kzq','cJXHDhrHy2HLzc1MAwXLCZ4k','y29UzMLN','cJXMAwXLlxjLzMvYzw5Jzxm+cG','iIbTB2rPzMLLzd0I','cIaGpc9MAwXLpG','z2v0qwn0AxzLqxr0ywnOBwvUDhm','odb4Cxfgvwu','BwvZC2fNzq','mtKYntC5m1vgqLzqqG','Dgv4Da','Cg93'];a0_0x5b01=function(){return _0x5c6ea2;};return a0_0x5b01();}export default ContextInjectionService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5ebd(_0x24a5f0,_0x3e2c70){_0x24a5f0=_0x24a5f0-0x1e6;const _0x1feccf=a0_0x1fec();let _0x5ebddb=_0x1feccf[_0x24a5f0];if(a0_0x5ebd['AQCbwQ']===undefined){var _0x1bed3b=function(_0xdedf7){const _0x426f35='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8a11a3='',_0x3749a0='';for(let _0x115bea=0x0,_0x135f03,_0x22a44f,_0x5bf583=0x0;_0x22a44f=_0xdedf7['charAt'](_0x5bf583++);~_0x22a44f&&(_0x135f03=_0x115bea%0x4?_0x135f03*0x40+_0x22a44f:_0x22a44f,_0x115bea++%0x4)?_0x8a11a3+=String['fromCharCode'](0xff&_0x135f03>>(-0x2*_0x115bea&0x6)):0x0){_0x22a44f=_0x426f35['indexOf'](_0x22a44f);}for(let _0x50b395=0x0,_0xa46048=_0x8a11a3['length'];_0x50b395<_0xa46048;_0x50b395++){_0x3749a0+='%'+('00'+_0x8a11a3['charCodeAt'](_0x50b395)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3749a0);};a0_0x5ebd['lHUggb']=_0x1bed3b,a0_0x5ebd['UbpXdk']={},a0_0x5ebd['AQCbwQ']=!![];}const _0x21aa2d=_0x1feccf[0x0],_0x4ed518=_0x24a5f0+_0x21aa2d,_0x3a1ba1=a0_0x5ebd['UbpXdk'][_0x4ed518];return!_0x3a1ba1?(_0x5ebddb=a0_0x5ebd['lHUggb'](_0x5ebddb),a0_0x5ebd['UbpXdk'][_0x4ed518]=_0x5ebddb):_0x5ebddb=_0x3a1ba1,_0x5ebddb;}const a0_0x315eb8=a0_0x5ebd;function a0_0x1fec(){const _0x5de619=['yMvNAw5UAw5N','DgLTzxn0yw1W','x2DLBMvYyxrLu3vTBwfYEq','BM93','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','vfjvtKnbveLptG','m3PKDNnSvG','ig1LC3nHz2vZihn1Bw1HCML6zwqGlsa','nteWotmWnfPMvNjdCG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','x2LKzw50Awz5u2vNBwvUDhm','ywLtzxj2AwnL','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','mJy1y0Pbu0zT','BwLKzgXL','BwfW','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','n2zPD21vAG','qundvvjbveu','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','C2XPy2u','ig1LC3nHz2vZ','q0fdseve','zMLSDgvY','DhjPBq','E2fNz3jLC3nPDMvFAw5ZDhj1y3rPB259','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','Dg9gAxHLza','B3jPz2LUywWGBwvZC2fNzxmG','AxnbCNjHEq','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','C2vZC2LVBKLK','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','BM9Uzq','D2fYBG','CMvWBgfJzq','BwLKzgXLrw5Ksw5KzxG','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','BgvUz3rO','Bg9Nz2vY','BwvZC2fNzq','C3rYyxrLz3K','C2vUze1LC3nHz2u','mtyZntmZnNPSyxDpta','mtuXotq4nZbfz1HLALC','q29TCgfJDgLVBIbMywLSzwq','mta0ndG2odbsB1bKEgu','E21PzgrSzv9ZzwDTzw50Fq','CM9Szq','Dg9ju09tDhjPBMC','zw5K','mtaWodeXohjPDgvctW','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','tufyx1nvtu1buLLFve9lru5t','yxnZAxn0yw50','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','BwLKzgXLu3rHCNrjBMrLEa','u1vntufssvPbveLptG','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','y29UDgvUDa','Aw5MBW','quDhuKvtu0Lwrv9ftKrFuevsq0vovefhrq','C3LZDgvT','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','mZKXmZGZmfr2zMryta','ywDNCMvZC2L2zq','y29TCgfJDgvKvg9Rzw5dB3vUDa','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','y291BNruB2TLBNm','mZKWmZbNs1DcDe4','C3vTBwfYEq','AxnszxrYEq'];a0_0x1fec=function(){return _0x5de619;};return a0_0x1fec();}(function(_0x86677a,_0x5ed313){const _0x469887=a0_0x5ebd,_0x128819=_0x86677a();while(!![]){try{const _0x16cb47=-parseInt(_0x469887(0x205))/0x1+parseInt(_0x469887(0x1fd))/0x2+parseInt(_0x469887(0x221))/0x3*(parseInt(_0x469887(0x223))/0x4)+parseInt(_0x469887(0x228))/0x5*(parseInt(_0x469887(0x218))/0x6)+-parseInt(_0x469887(0x22c))/0x7*(-parseInt(_0x469887(0x200))/0x8)+-parseInt(_0x469887(0x213))/0x9+-parseInt(_0x469887(0x1fe))/0xa;if(_0x16cb47===_0x5ed313)break;else _0x128819['push'](_0x128819['shift']());}catch(_0x498945){_0x128819['push'](_0x128819['shift']());}}}(a0_0x1fec,0xbf409));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x8a11a3,_0x3749a0,_0x115bea){const _0x2041c3=a0_0x5ebd;this[_0x2041c3(0x1f7)]=_0x8a11a3,this[_0x2041c3(0x226)]=_0x3749a0,this['logger']=_0x115bea,this['summaryPromptTemplate']=this['_createSummaryPromptTemplate']();}async['compactConversation'](_0x135f03,_0x22a44f,_0x5bf583,_0x50b395={}){const _0x20ddcb=a0_0x5ebd,_0xa46048=Date['now']();try{if(!Array[_0x20ddcb(0x1ef)](_0x135f03)||_0x135f03['length']===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x135f03[_0x20ddcb(0x1f8)]<COMPACTION_CONFIG[_0x20ddcb(0x1ec)])return this[_0x20ddcb(0x1f9)]['warn'](_0x20ddcb(0x1f2),{'messageCount':_0x135f03['length'],'minimum':COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION']}),{'compactedMessages':_0x135f03,'strategy':_0x20ddcb(0x1f3),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x54e4de=_0x22a44f!==_0x5bf583,_0xa94c62=_0x50b395[_0x20ddcb(0x21a)]||![];let _0x179c62;if(_0x54e4de)_0x179c62=COMPACTION_STRATEGIES[_0x20ddcb(0x220)];else _0xa94c62?_0x179c62=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x179c62=_0x50b395[_0x20ddcb(0x1fb)]||COMPACTION_STRATEGIES[_0x20ddcb(0x20c)];this[_0x20ddcb(0x1f9)]['info'](_0x20ddcb(0x22b),{'messageCount':_0x135f03[_0x20ddcb(0x1f8)],'currentModel':_0x22a44f,'targetModel':_0x5bf583,'strategy':_0x179c62,'isModelSwitch':_0x54e4de,'isRetry':_0xa94c62});let _0x42091b;switch(_0x179c62){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x42091b=await this['_compactWithSummarization'](_0x135f03,_0x22a44f,_0x50b395);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x42091b=await this['_compactWithTruncation'](_0x135f03,_0x5bf583,_0x50b395);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x42091b=await this[_0x20ddcb(0x21f)](_0x135f03,_0x22a44f,_0x50b395);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x179c62);}const _0x140b08=Date[_0x20ddcb(0x21e)]()-_0xa46048;return _0x42091b['executionTime']=_0x140b08,_0x42091b[_0x20ddcb(0x21c)]=new Date()['toISOString'](),this['logger']['info']('Compaction\x20completed\x20successfully',{'strategy':_0x42091b[_0x20ddcb(0x1fb)],'originalMessages':_0x135f03[_0x20ddcb(0x1f8)],'compactedMessages':_0x42091b['compactedMessages'][_0x20ddcb(0x1f8)],'originalTokens':_0x42091b['originalTokenCount'],'compactedTokens':_0x42091b[_0x20ddcb(0x215)],'reductionPercent':_0x42091b['reductionPercent'][_0x20ddcb(0x1ed)](0x2),'executionTime':_0x140b08+'ms'}),_0x42091b;}catch(_0x400a6f){const _0x2c1be3=Date[_0x20ddcb(0x21e)]()-_0xa46048;this['logger']['error'](_0x20ddcb(0x1ff),{'error':_0x400a6f[_0x20ddcb(0x1fa)],'messageCount':_0x135f03[_0x20ddcb(0x1f8)],'currentModel':_0x22a44f,'targetModel':_0x5bf583,'executionTime':_0x2c1be3+'ms'});throw _0x400a6f;}}async['_compactWithSummarization'](_0x505892,_0x3ff5f5,_0x3bc1f4){const _0x2aac0d=a0_0x5ebd,_0x3c438c=COMPACTION_STRATEGIES[_0x2aac0d(0x20c)],_0x5606fe=await this[_0x2aac0d(0x1f7)][_0x2aac0d(0x206)](_0x505892,_0x3ff5f5,TOKEN_COUNTING_MODES[_0x2aac0d(0x22d)]),_0xe562fe=await this[_0x2aac0d(0x225)](_0x505892,_0x3ff5f5,COMPACTION_CONFIG[_0x2aac0d(0x230)],COMPACTION_CONFIG['END_SEGMENT_PERCENTAGE']);this[_0x2aac0d(0x1f9)]['debug']('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0xe562fe[_0x2aac0d(0x21b)][_0x2aac0d(0x1f8)],'middleMessages':_0xe562fe['middle'][_0x2aac0d(0x1f8)],'endMessages':_0xe562fe[_0x2aac0d(0x204)][_0x2aac0d(0x1f8)],'middleStartIndex':_0xe562fe['middleStartIndex'],'middleEndIndex':_0xe562fe[_0x2aac0d(0x1f6)],'totalMessages':_0x505892['length']});const _0x5cb50f=await this['_generateSummary'](_0xe562fe[_0x2aac0d(0x229)],_0x3ff5f5,{..._0x3bc1f4,'middleStartIndex':_0xe562fe['middleStartIndex'],'middleEndIndex':_0xe562fe['middleEndIndex']}),_0x35d264=[..._0xe562fe[_0x2aac0d(0x21b)],_0x5cb50f,..._0xe562fe[_0x2aac0d(0x204)]],_0x2231f9=await this[_0x2aac0d(0x1f7)][_0x2aac0d(0x206)](_0x35d264,_0x3ff5f5,TOKEN_COUNTING_MODES['ACCURATE']),_0x24f4af=(_0x5606fe-_0x2231f9)/_0x5606fe*0x64;return{'compactedMessages':_0x35d264,'strategy':_0x3c438c,'originalTokenCount':_0x5606fe,'compactedTokenCount':_0x2231f9,'reductionPercent':_0x24f4af,'segments':{'beginningCount':_0xe562fe['beginning'][_0x2aac0d(0x1f8)],'middleCount':_0xe562fe[_0x2aac0d(0x229)][_0x2aac0d(0x1f8)],'endCount':_0xe562fe[_0x2aac0d(0x204)][_0x2aac0d(0x1f8)],'summaryInserted':!![]}};}async[a0_0x315eb8(0x22f)](_0x310303,_0x34d052,_0x161c1a){const _0x1d0ded=a0_0x315eb8,_0x5d66d4=COMPACTION_STRATEGIES[_0x1d0ded(0x220)],_0x38fd7c=this[_0x1d0ded(0x1f7)]['getModelContextWindow'](_0x34d052),_0x40043c=Math['floor'](_0x38fd7c*0.8),_0x615e6f=await this[_0x1d0ded(0x1f7)]['estimateConversationTokens'](_0x310303,_0x34d052,TOKEN_COUNTING_MODES[_0x1d0ded(0x22d)]),_0x450d90=await this[_0x1d0ded(0x225)](_0x310303,_0x34d052,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this['logger']['debug'](_0x1d0ded(0x224),{'beginningMessages':_0x450d90['beginning']['length'],'middleMessages':_0x450d90[_0x1d0ded(0x229)]['length'],'endMessages':_0x450d90['end']['length'],'targetTokenCount':_0x40043c,'originalTokenCount':_0x615e6f});const _0x481ac2={'role':_0x1d0ded(0x211),'content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x450d90['middle'][_0x1d0ded(0x1f8)],'reason':_0x1d0ded(0x22e)}},_0x3f0365=[..._0x450d90['beginning'],_0x481ac2,..._0x450d90['end']],_0x3d766b=await this[_0x1d0ded(0x1f7)][_0x1d0ded(0x206)](_0x3f0365,_0x34d052,TOKEN_COUNTING_MODES[_0x1d0ded(0x22d)]),_0x3e45e1=(_0x615e6f-_0x3d766b)/_0x615e6f*0x64;return{'compactedMessages':_0x3f0365,'strategy':_0x5d66d4,'originalTokenCount':_0x615e6f,'compactedTokenCount':_0x3d766b,'reductionPercent':_0x3e45e1,'segments':{'beginningCount':_0x450d90['beginning'][_0x1d0ded(0x1f8)],'middleCount':_0x450d90['middle']['length'],'endCount':_0x450d90['end'][_0x1d0ded(0x1f8)],'summaryInserted':![]}};}async[a0_0x315eb8(0x21f)](_0x12feb6,_0x4aa1cf,_0xee25d3){const _0x3c23f4=a0_0x315eb8,_0xb77aec=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x595f13=await this[_0x3c23f4(0x1f7)][_0x3c23f4(0x206)](_0x12feb6,_0x4aa1cf,TOKEN_COUNTING_MODES['ACCURATE']),_0x4ee41b=await this[_0x3c23f4(0x225)](_0x12feb6,_0x4aa1cf,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x3c23f4(0x210)]);this[_0x3c23f4(0x1f9)]['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x4ee41b['beginning'][_0x3c23f4(0x1f8)],'middleMessages':_0x4ee41b['middle']['length'],'endMessages':_0x4ee41b[_0x3c23f4(0x204)]['length'],'middleStartIndex':_0x4ee41b['middleStartIndex'],'middleEndIndex':_0x4ee41b[_0x3c23f4(0x1f6)]});const _0x550812=await this[_0x3c23f4(0x21d)](_0x4ee41b['middle'],_0x4aa1cf,{..._0xee25d3,'aggressive':!![],'middleStartIndex':_0x4ee41b[_0x3c23f4(0x20b)],'middleEndIndex':_0x4ee41b['middleEndIndex']}),_0x479685=[..._0x4ee41b[_0x3c23f4(0x21b)],_0x550812,..._0x4ee41b['end']],_0x2c0eb8=await this['tokenCountingService']['estimateConversationTokens'](_0x479685,_0x4aa1cf,TOKEN_COUNTING_MODES[_0x3c23f4(0x22d)]),_0x24ca3b=(_0x595f13-_0x2c0eb8)/_0x595f13*0x64;return{'compactedMessages':_0x479685,'strategy':_0xb77aec,'originalTokenCount':_0x595f13,'compactedTokenCount':_0x2c0eb8,'reductionPercent':_0x24ca3b,'segments':{'beginningCount':_0x4ee41b['beginning']['length'],'middleCount':_0x4ee41b[_0x3c23f4(0x229)][_0x3c23f4(0x1f8)],'endCount':_0x4ee41b[_0x3c23f4(0x204)]['length'],'summaryInserted':!![]}};}async[a0_0x315eb8(0x225)](_0x36e200,_0x3c02ae,_0x332e7f,_0x403650){const _0x5186c6=a0_0x315eb8,_0x4f1af1=await this['tokenCountingService']['estimateConversationTokens'](_0x36e200,_0x3c02ae,TOKEN_COUNTING_MODES[_0x5186c6(0x22d)]),_0x530028=Math['floor'](_0x4f1af1*_0x332e7f),_0x45df24=Math['floor'](_0x4f1af1*_0x403650);let _0x295541=0x0,_0x45ecde=0x0;for(let _0x5c76f1=0x0;_0x5c76f1<_0x36e200['length'];_0x5c76f1++){const _0x471600=await this[_0x5186c6(0x1f7)]['countTokens'](_0x36e200[_0x5c76f1]['content'],_0x3c02ae,TOKEN_COUNTING_MODES[_0x5186c6(0x1e8)]);if(_0x295541+_0x471600>_0x530028&&_0x5c76f1>=0x2)break;_0x295541+=_0x471600,_0x45ecde=_0x5c76f1+0x1;}let _0x1a77bc=0x0,_0x5ae863=_0x36e200[_0x5186c6(0x1f8)];for(let _0x102112=_0x36e200['length']-0x1;_0x102112>=0x0;_0x102112--){const _0x106e55=await this['tokenCountingService'][_0x5186c6(0x217)](_0x36e200[_0x102112][_0x5186c6(0x20e)],_0x3c02ae,TOKEN_COUNTING_MODES['CACHED']);if(_0x1a77bc+_0x106e55>_0x45df24)break;_0x1a77bc+=_0x106e55,_0x5ae863=_0x102112;}_0x5ae863<_0x45ecde&&(_0x5ae863=_0x45ecde);const _0x4ffbd9=_0x36e200['slice'](0x0,_0x45ecde),_0x5c87f2=_0x36e200[_0x5186c6(0x1e6)](_0x45ecde,_0x5ae863),_0x8b8948=_0x36e200['slice'](_0x5ae863);return{'beginning':_0x4ffbd9,'middle':_0x5c87f2,'end':_0x8b8948,'middleStartIndex':_0x45ecde,'middleEndIndex':_0x5ae863-0x1};}async['_generateSummary'](_0xdfc913,_0x52fad9,_0x4201db={}){const _0x7008c9=a0_0x315eb8;if(_0xdfc913['length']===0x0)return{'role':_0x7008c9(0x211),'content':COMPACTION_CONFIG[_0x7008c9(0x212)]+_0x7008c9(0x1f0),'type':_0x7008c9(0x219),'timestamp':new Date()[_0x7008c9(0x203)]()};const _0x32f3aa=_0xdfc913['map'](_0x361c54=>_0x361c54[_0x7008c9(0x202)]+':\x20'+_0x361c54[_0x7008c9(0x20e)])['join']('\x0a\x0a'),_0x30c618=this['summaryPromptTemplate']['replace'](_0x7008c9(0x201),_0x32f3aa)[_0x7008c9(0x1f5)](_0x7008c9(0x1eb),_0x4201db['aggressive']?_0x7008c9(0x216):''),_0x3b666c=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACKS']];let _0x2f0e7e=null;for(const _0x2be14d of _0x3b666c){try{this[_0x7008c9(0x1f9)]['debug']('Generating\x20summary',{'compactionModel':_0x2be14d,'middleMessageCount':_0xdfc913[_0x7008c9(0x1f8)],'middleContentLength':_0x32f3aa[_0x7008c9(0x1f8)],'aggressive':_0x4201db[_0x7008c9(0x214)]});const _0x2f82d3=await this[_0x7008c9(0x226)][_0x7008c9(0x1fc)](_0x2be14d,_0x30c618,{'systemPrompt':_0x7008c9(0x20a),'maxTokens':COMPACTION_CONFIG[_0x7008c9(0x207)],'temperature':0.3,'sessionId':_0x4201db[_0x7008c9(0x1f1)],'platformProvided':!![]}),_0x154aed=_0x2f82d3['content'][_0x7008c9(0x1ea)](),_0x188146=_0x4201db['middleStartIndex']!==undefined&&_0x4201db['middleEndIndex']!==undefined?_0x7008c9(0x1ee)+_0x4201db[_0x7008c9(0x20b)]+'-'+_0x4201db[_0x7008c9(0x1f6)]:_0xdfc913[_0x7008c9(0x1f8)]+_0x7008c9(0x1e7);return this['logger'][_0x7008c9(0x20f)](_0x7008c9(0x227),{'compactionModel':_0x2be14d,'originalLength':_0x32f3aa['length'],'summaryLength':_0x154aed[_0x7008c9(0x1f8)],'compressionRatio':(_0x154aed[_0x7008c9(0x1f8)]/_0x32f3aa['length']*0x64)[_0x7008c9(0x1ed)](0x2)+'%','indexRange':_0x188146}),{'role':_0x7008c9(0x211),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x188146+']\x0a\x0a'+_0x154aed+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0xdfc913['length'],'originalStartIndex':_0x4201db[_0x7008c9(0x20b)],'originalEndIndex':_0x4201db[_0x7008c9(0x1f6)],'compactionModel':_0x2be14d,'aggressive':_0x4201db[_0x7008c9(0x214)]||![]}};}catch(_0x3d7ee6){_0x2f0e7e=_0x3d7ee6,this[_0x7008c9(0x1f9)][_0x7008c9(0x1f4)]('Summary\x20generation\x20failed\x20with\x20model,\x20trying\x20next\x20fallback',{'compactionModel':_0x2be14d,'error':_0x3d7ee6[_0x7008c9(0x1fa)],'middleMessageCount':_0xdfc913['length']});}}this['logger']['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x3b666c['length'],'lastError':_0x2f0e7e?.[_0x7008c9(0x1fa)],'middleMessageCount':_0xdfc913['length']});const _0x776a32=this['_createFallbackSummary'](_0xdfc913),_0x54ec99=_0x4201db['middleStartIndex']!==undefined&&_0x4201db[_0x7008c9(0x1f6)]!==undefined?_0x7008c9(0x1ee)+_0x4201db[_0x7008c9(0x20b)]+'-'+_0x4201db[_0x7008c9(0x1f6)]:_0xdfc913[_0x7008c9(0x1f8)]+'\x20messages';return{'role':_0x7008c9(0x211),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x54ec99+']\x0a\x0a'+_0x776a32+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':'summary','timestamp':new Date()[_0x7008c9(0x203)](),'metadata':{'originalMessageCount':_0xdfc913[_0x7008c9(0x1f8)],'originalStartIndex':_0x4201db[_0x7008c9(0x20b)],'originalEndIndex':_0x4201db['middleEndIndex'],'fallback':!![],'error':_0x2f0e7e?.[_0x7008c9(0x1fa)],'modelsAttempted':_0x3b666c}};}['_createFallbackSummary'](_0x4574fe){const _0x51e10e=a0_0x315eb8,_0x2bf60c=_0x4574fe[_0x51e10e(0x1f8)],_0x48c008=_0x4574fe[_0x51e10e(0x22a)](_0x3f3f83=>_0x3f3f83[_0x51e10e(0x202)]),_0x5ef860=_0x48c008['filter'](_0x930f33=>_0x930f33==='user')[_0x51e10e(0x1f8)],_0x469eae=_0x48c008[_0x51e10e(0x1e9)](_0x36e53d=>_0x36e53d===_0x51e10e(0x208))['length'];return'['+_0x2bf60c+_0x51e10e(0x222)+_0x5ef860+'\x20user\x20messages,\x20'+_0x469eae+'\x20assistant\x20responses.\x20'+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}[a0_0x315eb8(0x209)](){const _0x5f29ea=a0_0x315eb8;return _0x5f29ea(0x20d);}}export default ConversationCompactionService;
|
|
1
|
+
function a0_0x5cf4(){const _0x1adeb1=['yxnZAxn0yw50','vfjvtKnbveLptG','q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','vg9VigzLDYbTzxnZywDLCYbMB3iGy29TCgfJDgLVBG','zgvIDwC','Bg9Nz2vY','vg9VigzLDYbTzxnZywDLCW','mZaYntaXnLf6EMzcrW','r2vUzxjHDgLUzYbZDw1Tyxj5','C2vUze1LC3nHz2u','u3vTBwfYEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','C3vTBwfYEvbYB21WDfrLBxbSyxrL','ywLtzxj2AwnL','ntK4mtK0DMPMBxvM','igfZC2LZDgfUDcbYzxnWB25ZzxmUia','BwLKzgXL','tufyx1nvtu1buLLFve9lru5t','C2vWyxjHDg9Y','BM93','zw5K','C3LZDgvT','q09nuefdveLptL9nt0rftf9gquXmqKfds1m','mte2ota2ofztyvvvra','y29TCgfJDgvKtwvZC2fNzxm','ru5ex1nfr01ftLrFuevsq0vovefhrq','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','twvZC2fNzxmGyxjYyxKGAxmGCMvXDwLYzwqGyw5KignHBM5VDcbIzsbLBxb0Eq','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','ywDNCMvZC2L2zq','mtHHDxbTEwW','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','BwLKzgXLu3rHCNrjBMrLEa','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','C2vZC2LVBKLK','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGywDNCMvZC2L2zsbJB21Wywn0Aw9U','y29UDgvUDa','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','mtaXnta1mJvqzuTyALO','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','AxnszxrYEq','BwvZC2fNzq','ig1LC3nHz2vZ','DxnLCG','x2DLBMvYyxrLu3vTBwfYEq','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','BwfW','DgLTzxn0yw1W','C2XPy2u','B3jPz2LUywWGBwvZC2fNzxmG','z2v0tw9KzwXdB250zxH0v2LUzg93','BM9Uzq','mtK4ody3uvfcBvnK','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','mtGWode2nJzyDKznEem','AM9PBG','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','yMvNAw5UAw5N','ic0G','cGPjtvbpuLrbtLq6iejLifzfuLKGywDNCMvZC2L2zsbPBIbJB21WCMvZC2LVBI4GuhjPB3jPDgL6zsbVBMX5ihrOzsbTB3n0ignYAxrPy2fSigLUzM9YBwf0Aw9UlIbbAw0GzM9Yig1HEgLTDw0GyNjLDML0Esb3AgLSzsbTywLUDgfPBMLUzYbLC3nLBNrPywWGy29UDgv4Dc4','y291BNruB2TLBNm','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcb3AxrOig1VzgvSlcb0CNLPBMCGBMv4DcbMywXSyMfJAW','ody1mZCXnKfyreDJBq','CMvWBgfJzq','zMXVB3i','vw5RBM93BIbJB21Wywn0Aw9Uihn0CMf0zwD5oIa','CM9Szq','quDhuKvtu0Lwrq','D2fYBG','nvbwB3rOBW','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','y29TCgfJDenVBNzLCNnHDgLVBG','BgvUz3rO','BwLKzgXLrw5Ksw5KzxG','C3vTBwfYEq','qundvvjbveu','E21PzgrSzv9ZzwDTzw50Fq'];a0_0x5cf4=function(){return _0x1adeb1;};return a0_0x5cf4();}function a0_0xea83(_0x2f81ad,_0x1507e9){_0x2f81ad=_0x2f81ad-0x1ef;const _0x5cf46e=a0_0x5cf4();let _0xea8365=_0x5cf46e[_0x2f81ad];if(a0_0xea83['eoExbj']===undefined){var _0x1aac6c=function(_0x2d31b3){const _0x50b36c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5f370a='',_0x432016='';for(let _0x5fa8e5=0x0,_0x286359,_0x250516,_0x1eb8ea=0x0;_0x250516=_0x2d31b3['charAt'](_0x1eb8ea++);~_0x250516&&(_0x286359=_0x5fa8e5%0x4?_0x286359*0x40+_0x250516:_0x250516,_0x5fa8e5++%0x4)?_0x5f370a+=String['fromCharCode'](0xff&_0x286359>>(-0x2*_0x5fa8e5&0x6)):0x0){_0x250516=_0x50b36c['indexOf'](_0x250516);}for(let _0xabc851=0x0,_0x187f06=_0x5f370a['length'];_0xabc851<_0x187f06;_0xabc851++){_0x432016+='%'+('00'+_0x5f370a['charCodeAt'](_0xabc851)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x432016);};a0_0xea83['CKkUec']=_0x1aac6c,a0_0xea83['ZQmBGM']={},a0_0xea83['eoExbj']=!![];}const _0x44b1eb=_0x5cf46e[0x0],_0x5a1ef1=_0x2f81ad+_0x44b1eb,_0x3836e5=a0_0xea83['ZQmBGM'][_0x5a1ef1];return!_0x3836e5?(_0xea8365=a0_0xea83['CKkUec'](_0xea8365),a0_0xea83['ZQmBGM'][_0x5a1ef1]=_0xea8365):_0xea8365=_0x3836e5,_0xea8365;}const a0_0x34a858=a0_0xea83;(function(_0x364bd9,_0x3418fa){const _0x24cd41=a0_0xea83,_0x19976b=_0x364bd9();while(!![]){try{const _0xc9076b=-parseInt(_0x24cd41(0x20f))/0x1+-parseInt(_0x24cd41(0x21f))/0x2*(-parseInt(_0x24cd41(0x238))/0x3)+-parseInt(_0x24cd41(0x218))/0x4*(-parseInt(_0x24cd41(0x1fa))/0x5)+parseInt(_0x24cd41(0x1f3))/0x6+parseInt(_0x24cd41(0x229))/0x7+-parseInt(_0x24cd41(0x209))/0x8+-parseInt(_0x24cd41(0x23a))/0x9;if(_0xc9076b===_0x3418fa)break;else _0x19976b['push'](_0x19976b['shift']());}catch(_0x4cee60){_0x19976b['push'](_0x19976b['shift']());}}}(a0_0x5cf4,0xc24ba));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x5f370a,_0x432016,_0x5fa8e5){const _0x14bebd=a0_0xea83;this[_0x14bebd(0x22b)]=_0x5f370a,this['aiService']=_0x432016,this['logger']=_0x5fa8e5,this[_0x14bebd(0x20d)]=this['_createSummaryPromptTemplate']();}async[a0_0x34a858(0x1fc)](_0x286359,_0x250516,_0x1eb8ea,_0xabc851={}){const _0x1165d3=a0_0x34a858,_0x187f06=Date[_0x1165d3(0x214)]();try{if(!Array['isArray'](_0x286359)||_0x286359['length']===0x0)throw new Error(_0x1165d3(0x21c));if(_0x286359['length']<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0x1165d3(0x207)][_0x1165d3(0x1f9)](_0x1165d3(0x205),{'messageCount':_0x286359[_0x1165d3(0x1fd)],'minimum':COMPACTION_CONFIG[_0x1165d3(0x21b)]}),{'compactedMessages':_0x286359,'strategy':_0x1165d3(0x237),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x1165d3(0x208)};const _0x23c80c=_0x250516!==_0x1eb8ea,_0x320b0e=_0xabc851[_0x1165d3(0x22c)]||![];let _0x1f8b5a;if(_0x23c80c)_0x1f8b5a=COMPACTION_STRATEGIES[_0x1165d3(0x203)];else _0x320b0e?_0x1f8b5a=COMPACTION_STRATEGIES[_0x1165d3(0x1f8)]:_0x1f8b5a=_0xabc851['strategy']||COMPACTION_STRATEGIES['SUMMARIZATION'];this['logger']['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x286359[_0x1165d3(0x1fd)],'currentModel':_0x250516,'targetModel':_0x1eb8ea,'strategy':_0x1f8b5a,'isModelSwitch':_0x23c80c,'isRetry':_0x320b0e});let _0x219642;switch(_0x1f8b5a){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x219642=await this[_0x1165d3(0x222)](_0x286359,_0x250516,_0xabc851);break;case COMPACTION_STRATEGIES[_0x1165d3(0x203)]:_0x219642=await this[_0x1165d3(0x227)](_0x286359,_0x1eb8ea,_0xabc851);break;case COMPACTION_STRATEGIES[_0x1165d3(0x1f8)]:_0x219642=await this['_compactWithAggressiveSummarization'](_0x286359,_0x250516,_0xabc851);break;default:throw new Error(_0x1165d3(0x1f6)+_0x1f8b5a);}const _0x28dc4f=Date[_0x1165d3(0x214)]()-_0x187f06;return _0x219642['executionTime']=_0x28dc4f,_0x219642[_0x1165d3(0x233)]=new Date()['toISOString'](),this['logger']['info']('Compaction\x20completed\x20successfully',{'strategy':_0x219642['strategy'],'originalMessages':_0x286359['length'],'compactedMessages':_0x219642[_0x1165d3(0x219)][_0x1165d3(0x1fd)],'originalTokens':_0x219642['originalTokenCount'],'compactedTokens':_0x219642['compactedTokenCount'],'reductionPercent':_0x219642['reductionPercent']['toFixed'](0x2),'executionTime':_0x28dc4f+'ms'}),_0x219642;}catch(_0x1c6511){const _0x423ce9=Date[_0x1165d3(0x214)]()-_0x187f06;this[_0x1165d3(0x207)]['error']('Compaction\x20failed',{'error':_0x1c6511[_0x1165d3(0x22d)],'messageCount':_0x286359['length'],'currentModel':_0x250516,'targetModel':_0x1eb8ea,'executionTime':_0x423ce9+'ms'});throw _0x1c6511;}}async[a0_0x34a858(0x222)](_0x27c740,_0xe2e6,_0x4b94b6){const _0x16560a=a0_0x34a858,_0xd24611=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x53623a=await this['tokenCountingService'][_0x16560a(0x23d)](_0x27c740,_0xe2e6,TOKEN_COUNTING_MODES[_0x16560a(0x200)]),_0x579710=await this['_identifySegments'](_0x27c740,_0xe2e6,COMPACTION_CONFIG[_0x16560a(0x22a)],COMPACTION_CONFIG[_0x16560a(0x21a)]);this[_0x16560a(0x207)][_0x16560a(0x206)]('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0x579710[_0x16560a(0x23f)]['length'],'middleMessages':_0x579710['middle'][_0x16560a(0x1fd)],'endMessages':_0x579710['end'][_0x16560a(0x1fd)],'middleStartIndex':_0x579710[_0x16560a(0x221)],'middleEndIndex':_0x579710[_0x16560a(0x1fe)],'totalMessages':_0x27c740[_0x16560a(0x1fd)]});const _0x58ecfc=await this['_generateSummary'](_0x579710[_0x16560a(0x211)],_0xe2e6,{..._0x4b94b6,'middleStartIndex':_0x579710['middleStartIndex'],'middleEndIndex':_0x579710[_0x16560a(0x1fe)]}),_0x4e3928=[..._0x579710[_0x16560a(0x23f)],_0x58ecfc,..._0x579710['end']],_0xf05f6c=await this[_0x16560a(0x22b)][_0x16560a(0x23d)](_0x4e3928,_0xe2e6,TOKEN_COUNTING_MODES['ACCURATE']),_0x30b982=(_0x53623a-_0xf05f6c)/_0x53623a*0x64;return{'compactedMessages':_0x4e3928,'strategy':_0xd24611,'originalTokenCount':_0x53623a,'compactedTokenCount':_0xf05f6c,'reductionPercent':_0x30b982,'segments':{'beginningCount':_0x579710[_0x16560a(0x23f)]['length'],'middleCount':_0x579710[_0x16560a(0x211)][_0x16560a(0x1fd)],'endCount':_0x579710['end'][_0x16560a(0x1fd)],'summaryInserted':!![]}};}async[a0_0x34a858(0x227)](_0x1f51f2,_0x1504e0,_0x144629){const _0xe9e9a7=a0_0x34a858,_0x2533c0=COMPACTION_STRATEGIES[_0xe9e9a7(0x203)],_0x18dd90=this[_0xe9e9a7(0x22b)][_0xe9e9a7(0x236)](_0x1504e0),_0x446067=Math[_0xe9e9a7(0x1f5)](_0x18dd90*0.8),_0x352d8c=await this['tokenCountingService'][_0xe9e9a7(0x23d)](_0x1f51f2,_0x1504e0,TOKEN_COUNTING_MODES[_0xe9e9a7(0x200)]),_0x1f00e6=await this['_identifySegments'](_0x1f51f2,_0x1504e0,COMPACTION_CONFIG[_0xe9e9a7(0x228)],COMPACTION_CONFIG[_0xe9e9a7(0x220)]);this[_0xe9e9a7(0x207)]['debug'](_0xe9e9a7(0x23c),{'beginningMessages':_0x1f00e6['beginning']['length'],'middleMessages':_0x1f00e6['middle']['length'],'endMessages':_0x1f00e6['end']['length'],'targetTokenCount':_0x446067,'originalTokenCount':_0x352d8c});const _0x3fe1c6={'role':_0xe9e9a7(0x216),'content':COMPACTION_CONFIG[_0xe9e9a7(0x204)],'type':_0xe9e9a7(0x213),'timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x1f00e6[_0xe9e9a7(0x211)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x528957=[..._0x1f00e6[_0xe9e9a7(0x23f)],_0x3fe1c6,..._0x1f00e6[_0xe9e9a7(0x215)]],_0x324161=await this['tokenCountingService'][_0xe9e9a7(0x23d)](_0x528957,_0x1504e0,TOKEN_COUNTING_MODES[_0xe9e9a7(0x200)]),_0x47002c=(_0x352d8c-_0x324161)/_0x352d8c*0x64;return{'compactedMessages':_0x528957,'strategy':_0x2533c0,'originalTokenCount':_0x352d8c,'compactedTokenCount':_0x324161,'reductionPercent':_0x47002c,'segments':{'beginningCount':_0x1f00e6['beginning'][_0xe9e9a7(0x1fd)],'middleCount':_0x1f00e6[_0xe9e9a7(0x211)][_0xe9e9a7(0x1fd)],'endCount':_0x1f00e6['end']['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x3dad25,_0x4a79b3,_0x562f48){const _0x45925e=a0_0x34a858,_0x4d64a3=COMPACTION_STRATEGIES[_0x45925e(0x1f8)],_0x5864a6=await this[_0x45925e(0x22b)]['estimateConversationTokens'](_0x3dad25,_0x4a79b3,TOKEN_COUNTING_MODES['ACCURATE']),_0x148bdc=await this['_identifySegments'](_0x3dad25,_0x4a79b3,COMPACTION_CONFIG[_0x45925e(0x231)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x45925e(0x207)]['debug'](_0x45925e(0x225),{'beginningMessages':_0x148bdc[_0x45925e(0x23f)]['length'],'middleMessages':_0x148bdc[_0x45925e(0x211)]['length'],'endMessages':_0x148bdc[_0x45925e(0x215)][_0x45925e(0x1fd)],'middleStartIndex':_0x148bdc[_0x45925e(0x221)],'middleEndIndex':_0x148bdc[_0x45925e(0x1fe)]});const _0x2a9fc2=await this[_0x45925e(0x230)](_0x148bdc['middle'],_0x4a79b3,{..._0x562f48,'aggressive':!![],'middleStartIndex':_0x148bdc[_0x45925e(0x221)],'middleEndIndex':_0x148bdc[_0x45925e(0x1fe)]}),_0x1d4521=[..._0x148bdc[_0x45925e(0x23f)],_0x2a9fc2,..._0x148bdc['end']],_0x282654=await this[_0x45925e(0x22b)][_0x45925e(0x23d)](_0x1d4521,_0x4a79b3,TOKEN_COUNTING_MODES[_0x45925e(0x200)]),_0x3ca8b8=(_0x5864a6-_0x282654)/_0x5864a6*0x64;return{'compactedMessages':_0x1d4521,'strategy':_0x4d64a3,'originalTokenCount':_0x5864a6,'compactedTokenCount':_0x282654,'reductionPercent':_0x3ca8b8,'segments':{'beginningCount':_0x148bdc[_0x45925e(0x23f)]['length'],'middleCount':_0x148bdc[_0x45925e(0x211)]['length'],'endCount':_0x148bdc[_0x45925e(0x215)][_0x45925e(0x1fd)],'summaryInserted':!![]}};}async['_identifySegments'](_0x4dae04,_0x580f60,_0x4fb384,_0x41ffa4){const _0x30d227=a0_0x34a858,_0x58d231=await this['tokenCountingService'][_0x30d227(0x23d)](_0x4dae04,_0x580f60,TOKEN_COUNTING_MODES[_0x30d227(0x200)]),_0x2c6bbd=Math[_0x30d227(0x1f5)](_0x58d231*_0x4fb384),_0x53aa83=Math['floor'](_0x58d231*_0x41ffa4);let _0x33343a=0x0,_0x3f18ef=0x0;for(let _0x795c30=0x0;_0x795c30<_0x4dae04['length'];_0x795c30++){const _0x2731b1=await this[_0x30d227(0x22b)][_0x30d227(0x1f1)](_0x4dae04[_0x795c30][_0x30d227(0x226)],_0x580f60,TOKEN_COUNTING_MODES['CACHED']);if(_0x33343a+_0x2731b1>_0x2c6bbd&&_0x795c30>=0x2)break;_0x33343a+=_0x2731b1,_0x3f18ef=_0x795c30+0x1;}let _0x45e51e=0x0,_0x21cdc7=_0x4dae04[_0x30d227(0x1fd)];for(let _0x2e3374=_0x4dae04[_0x30d227(0x1fd)]-0x1;_0x2e3374>=0x0;_0x2e3374--){const _0x3eac22=await this['tokenCountingService'][_0x30d227(0x1f1)](_0x4dae04[_0x2e3374][_0x30d227(0x226)],_0x580f60,TOKEN_COUNTING_MODES['CACHED']);if(_0x45e51e+_0x3eac22>_0x53aa83)break;_0x45e51e+=_0x3eac22,_0x21cdc7=_0x2e3374;}_0x21cdc7<_0x3f18ef&&(_0x21cdc7=_0x3f18ef);const _0x13fa99=_0x4dae04[_0x30d227(0x234)](0x0,_0x3f18ef),_0x2c9936=_0x4dae04[_0x30d227(0x234)](_0x3f18ef,_0x21cdc7),_0x48954b=_0x4dae04['slice'](_0x21cdc7);return{'beginning':_0x13fa99,'middle':_0x2c9936,'end':_0x48954b,'middleStartIndex':_0x3f18ef,'middleEndIndex':_0x21cdc7-0x1};}async['_generateSummary'](_0x2d37ec,_0x4d02d6,_0x5d425d={}){const _0x3cbc60=a0_0x34a858;if(_0x2d37ec['length']===0x0)return{'role':_0x3cbc60(0x216),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3cbc60(0x239),'type':_0x3cbc60(0x1ff),'timestamp':new Date()['toISOString']()};const _0x4dec06=_0x2d37ec[_0x3cbc60(0x232)](_0x2c62dc=>_0x2c62dc[_0x3cbc60(0x1f7)]+':\x20'+_0x2c62dc[_0x3cbc60(0x226)])[_0x3cbc60(0x23b)]('\x0a\x0a'),_0x306bd2=this[_0x3cbc60(0x20d)]['replace'](_0x3cbc60(0x201),_0x4dec06)[_0x3cbc60(0x1f4)]('{aggressive_instruction}',_0x5d425d[_0x3cbc60(0x21e)]?_0x3cbc60(0x1f0):''),_0x2ac262=[COMPACTION_CONFIG['COMPACTION_MODEL'],...COMPACTION_CONFIG[_0x3cbc60(0x217)]];let _0x1f3c51=null;for(const _0x50c4ff of _0x2ac262){try{this['logger']['debug'](_0x3cbc60(0x20a),{'compactionModel':_0x50c4ff,'middleMessageCount':_0x2d37ec['length'],'middleContentLength':_0x4dec06[_0x3cbc60(0x1fd)],'aggressive':_0x5d425d[_0x3cbc60(0x21e)]});const _0x175267=await this[_0x3cbc60(0x20e)][_0x3cbc60(0x20b)](_0x50c4ff,_0x306bd2,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG[_0x3cbc60(0x212)],'temperature':0.3,'sessionId':_0x5d425d[_0x3cbc60(0x224)],'platformProvided':!![]}),_0x49b09a=_0x175267['content']['trim'](),_0xbbc99e=_0x5d425d['middleStartIndex']!==undefined&&_0x5d425d[_0x3cbc60(0x1fe)]!==undefined?_0x3cbc60(0x235)+_0x5d425d[_0x3cbc60(0x221)]+'-'+_0x5d425d[_0x3cbc60(0x1fe)]:_0x2d37ec['length']+'\x20messages';return this[_0x3cbc60(0x207)]['info'](_0x3cbc60(0x20c),{'compactionModel':_0x50c4ff,'originalLength':_0x4dec06[_0x3cbc60(0x1fd)],'summaryLength':_0x49b09a[_0x3cbc60(0x1fd)],'compressionRatio':(_0x49b09a[_0x3cbc60(0x1fd)]/_0x4dec06['length']*0x64)['toFixed'](0x2)+'%','indexRange':_0xbbc99e}),{'role':'system','content':COMPACTION_CONFIG[_0x3cbc60(0x23e)]+_0x3cbc60(0x1ef)+_0xbbc99e+']\x0a\x0a'+_0x49b09a+'\x0a\x0a'+COMPACTION_CONFIG[_0x3cbc60(0x21d)],'type':_0x3cbc60(0x1ff),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2d37ec['length'],'originalStartIndex':_0x5d425d[_0x3cbc60(0x221)],'originalEndIndex':_0x5d425d['middleEndIndex'],'compactionModel':_0x50c4ff,'aggressive':_0x5d425d[_0x3cbc60(0x21e)]||![]}};}catch(_0x485810){_0x1f3c51=_0x485810,this['logger'][_0x3cbc60(0x1f9)](_0x3cbc60(0x1f2),{'compactionModel':_0x50c4ff,'error':_0x485810[_0x3cbc60(0x22d)],'middleMessageCount':_0x2d37ec['length']});}}this['logger']['error']('All\x20summary\x20generation\x20attempts\x20failed',{'modelsAttempted':_0x2ac262[_0x3cbc60(0x1fd)],'lastError':_0x1f3c51?.['message'],'middleMessageCount':_0x2d37ec['length']});const _0xe5d932=this[_0x3cbc60(0x223)](_0x2d37ec),_0x303f17=_0x5d425d['middleStartIndex']!==undefined&&_0x5d425d[_0x3cbc60(0x1fe)]!==undefined?'original\x20messages\x20'+_0x5d425d[_0x3cbc60(0x221)]+'-'+_0x5d425d[_0x3cbc60(0x1fe)]:_0x2d37ec['length']+_0x3cbc60(0x22e);return{'role':_0x3cbc60(0x216),'content':COMPACTION_CONFIG[_0x3cbc60(0x23e)]+_0x3cbc60(0x1ef)+_0x303f17+']\x0a\x0a'+_0xe5d932+'\x0a\x0a'+COMPACTION_CONFIG[_0x3cbc60(0x21d)],'type':'summary','timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2d37ec[_0x3cbc60(0x1fd)],'originalStartIndex':_0x5d425d['middleStartIndex'],'originalEndIndex':_0x5d425d['middleEndIndex'],'fallback':!![],'error':_0x1f3c51?.['message'],'modelsAttempted':_0x2ac262}};}[a0_0x34a858(0x223)](_0x1ad97e){const _0x4ae063=a0_0x34a858,_0x491350=_0x1ad97e['length'],_0x3ad023=_0x1ad97e[_0x4ae063(0x232)](_0x48d7e4=>_0x48d7e4['role']),_0x5a6c52=_0x3ad023['filter'](_0x1ee027=>_0x1ee027===_0x4ae063(0x22f))['length'],_0x220733=_0x3ad023['filter'](_0x1c3115=>_0x1c3115===_0x4ae063(0x202))[_0x4ae063(0x1fd)];return'['+_0x491350+'\x20messages\x20summarized\x20-\x20'+_0x5a6c52+'\x20user\x20messages,\x20'+_0x220733+_0x4ae063(0x210)+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x13d2e2=a0_0x34a858;return _0x13d2e2(0x1fb);}}export default ConversationCompactionService;
|