@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.
Files changed (123) hide show
  1. package/README.md +7 -3
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -0
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +2 -2
  120. package/web-ui/build/static/index-CR8edPA3.js +348 -0
  121. package/web-ui/build/static/index-uN7nOVvZ.css +1 -0
  122. package/web-ui/build/static/index-DXN850Y2.js +0 -400
  123. package/web-ui/build/static/index-an-YRzUX.css +0 -1
@@ -1 +1 @@
1
- const a0_0xa497da=a0_0x5363;(function(_0x4b42ad,_0xc334f){const _0x2af50f=a0_0x5363,_0x19d0b2=_0x4b42ad();while(!![]){try{const _0x10508f=parseInt(_0x2af50f(0xe0))/0x1*(-parseInt(_0x2af50f(0x124))/0x2)+-parseInt(_0x2af50f(0x12c))/0x3*(parseInt(_0x2af50f(0xf0))/0x4)+-parseInt(_0x2af50f(0x123))/0x5+parseInt(_0x2af50f(0xdf))/0x6*(parseInt(_0x2af50f(0x11d))/0x7)+parseInt(_0x2af50f(0x116))/0x8*(parseInt(_0x2af50f(0xf7))/0x9)+parseInt(_0x2af50f(0xf1))/0xa+parseInt(_0x2af50f(0xd4))/0xb*(-parseInt(_0x2af50f(0xfb))/0xc);if(_0x10508f===_0xc334f)break;else _0x19d0b2['push'](_0x19d0b2['shift']());}catch(_0x49dfd8){_0x19d0b2['push'](_0x19d0b2['shift']());}}}(a0_0x4316,0xe8e18));function a0_0x4316(){const _0x48a289=['Bg93','C2HVDwXKuMv0CNK','ywrK','zgf0yv9Zyw5PDgL6yxrPB24','Dg90ywXfCNjVCNm','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','zxjYB3jZqNLbz2vUDa','rxjYB3iGC3vIC2nYAwjLCIbJywXSyMfJAYbMywLSzwq','otLSDfbgteK','rKLmrv9ot1rFrK9vtKq','AxnszwnVDMvYywjSzq','vu5bvvrit1jjwKve','zxjYB3jZqNLuExbL','yxr0zw1WDfjLy292zxj5','zgv0zxjTAw5LrxjYB3juExbL','ywDLBNrjza','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','uevstuLtu0LptL9eru5jruq','DgLTzw91Da','mtHczgnuzeC','mwDYDNzdzq','D2fYBG','zMLSzv9VCgvYyxrPB24','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','ChjVy2vZC0vYCM9Y','rxjYB3iGBg9Nz2LUzYbMywLSzwq','BwvZC2fNzq','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','Dg9VBeLK','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','Bwf4uMv0CMLLCW','y29Kzq','zxjYB3jtDwjZy3jPyMvYCW','zgv0zxjTAw5Lu2v2zxjPDhK','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','Aw5JBhvKzxm','ofbvCKXivG','otq4odG4mhfJBxb4sG','y29UzMLNDxjHDgLVBG','B3bLCMf0Aw9U','BMfTzq','DhLWzq','zxjYxW','mtyWmJG3mZLNAw1PBgG','DgLTzxn0yw1W','CMvJB3zLCMfIBgu','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','mJqYnJyXnNP6yuD1yq','vu5ltK9xtL9fuLjpuG','C3vJy2vZC2z1BfjLy292zxjPzxm','BwLU','DxbKyxrLrxjYB3jtDgf0CW','C3vJy2vZCW','Bg9NrxjYB3i','uKfurv9msu1jvf9fwenfrurfra','Dw5JyxvNAhrfEgnLChrPB24','ru5pru5u','z2v0twf4uMv0CMLLCW','Aw5MBW','zxjYB3i','CMvHC29U','AgfZ','CMv0CNLdB3vUDa','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','Dg9tDhjPBMC','B3bLCMf0Aw9Uswq','zxjYB3jtDgf0CW','Dg9mB3DLCKnHC2u','z2vUzxjHDgvfCNjVCKLK','y2XHC3nPzNLfCNjVCG','DMfSAwrHDgLVBG','zNjVBuvUDhjPzxm','C3rHy2S','oerivw5YDG','Aw52ywXPza','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','Aw5JCMvHC2vKx3rPBwvVDxq','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','zgvIDwC','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','ndi4ntqWn3vdu2zWra','q09orKLhvvjbveLptL9fuLjpuG','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','ve9px01btLLFuKvrvuvtvfm','tM8GCMvJB3zLCNKGC3rYyxrLz3KGyxzHAwXHyMXL','Cg93','ndu1nJC0mfHVrwT4tW','mtqXmdHxwLLIt1G','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Bg9Nz2vY','AgfUzgXLq3jPDgLJywXfCNjVCG','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','y29UDgv4Da','y3jPDgLJywW','CMvJB3zLCNLbDhrLBxb0CW','mtmXmtmYn0PXvhjAzG','qvvusevoveLdqvrjt05FrKfjteve','tK9ux0zpvu5e','AgLNAa','y2fSy3vSyxrLuMv0CNLezwXHEq','Dw5KzwzPBMvK','ywDLBNrFy29TBxvUAwnHDgLVBG','Aw5WDxreyxrH','zM9YrwfJAa','z2v0','vKfmsurbveLptL9fuLjpuG','C2v2zxjPDhK','t1bfuKfusu9ox1rjtuvpvvq','CgvYBwLZC2LVBL9YzwnVDMvYEq','ChjVy2vZC0vYCM9YuxvLDwu','z2v0rxjYB3jtDgf0CW','C2v0','rufdq0vt','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','BM93','CMvJB3zLCNLtDhjHDgvNAwvZ','zxjYB3jrDwv1zq'];a0_0x4316=function(){return _0x48a289;};return a0_0x4316();}import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x27596d,_0x1ed529){const _0x55416b=a0_0x5363;this['config']=_0x27596d||{},this['logger']=_0x1ed529,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x55416b(0xca)]=new Map(),this[_0x55416b(0xec)]=new Set(),this[_0x55416b(0xcb)]=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this['setupErrorProcessing']();}async['handleError'](_0x531346,_0x25316e={}){const _0x39720a=a0_0x5363;try{const _0x3e3f2d=this[_0x39720a(0x112)](_0x531346,_0x25316e),_0x27dfa5=await this['processError'](_0x3e3f2d);return this[_0x39720a(0xff)](_0x3e3f2d),this['notifySubscribers'](_0x3e3f2d,_0x27dfa5),_0x27dfa5;}catch(_0x19eb6a){return this['logger'][_0x39720a(0x107)]('Error\x20handling\x20failed',{'originalError':_0x531346['message'],'handlingError':_0x19eb6a['message']}),{'success':![],'error':_0x19eb6a,'recovery':null,'severity':_0x39720a(0x12a)};}}[a0_0xa497da(0x112)](_0x75365b,_0x215010={}){const _0x9e8b68=a0_0xa497da,_0x3efcec={'id':this[_0x9e8b68(0x111)](),'timestamp':new Date()['toISOString'](),'message':_0x75365b[_0x9e8b68(0xe6)]||_0x75365b[_0x9e8b68(0x10d)](),'stack':_0x75365b[_0x9e8b68(0x115)]||null,'code':_0x75365b['code']||null,'type':this[_0x9e8b68(0xda)](_0x75365b,_0x215010),'severity':this[_0x9e8b68(0xed)](_0x75365b,_0x215010),'context':{..._0x215010},'recoverable':!![],'retryCount':_0x215010[_0x9e8b68(0x10a)]||0x0,'maxRetries':this[_0x9e8b68(0x105)](_0x75365b,_0x215010)};return _0x215010['agentId']&&(_0x3efcec['agentId']=_0x215010[_0x9e8b68(0xdb)]),_0x215010[_0x9e8b68(0xe8)]&&(_0x3efcec[_0x9e8b68(0xe8)]=_0x215010[_0x9e8b68(0xe8)]),_0x215010[_0x9e8b68(0x10e)]&&(_0x3efcec[_0x9e8b68(0x10e)]=_0x215010[_0x9e8b68(0x10e)]),_0x3efcec['recoverable']=this[_0x9e8b68(0xd6)](_0x3efcec),_0x3efcec;}async[a0_0xa497da(0xe4)](_0x13707d){const _0x4119ec=a0_0xa497da;try{this[_0x4119ec(0x126)]['error']('Processing\x20error',{'errorId':_0x13707d['id'],'type':_0x13707d[_0x4119ec(0xf5)],'severity':_0x13707d[_0x4119ec(0xc1)],'agentId':_0x13707d['agentId'],'message':_0x13707d['message']});_0x13707d[_0x4119ec(0xc1)]==='critical'&&await this['handleCriticalError'](_0x13707d);let _0x2f315e=null;return _0x13707d[_0x4119ec(0xf9)]&&_0x13707d[_0x4119ec(0x10a)]<_0x13707d['maxRetries']&&(_0x2f315e=await this[_0x4119ec(0xd9)](_0x13707d)),await this[_0x4119ec(0x101)](_0x13707d,_0x2f315e),{'success':_0x2f315e?.['success']||![],'errorId':_0x13707d['id'],'errorType':_0x13707d['type'],'severity':_0x13707d['severity'],'recovery':_0x2f315e,'shouldRetry':this['shouldRetry'](_0x13707d,_0x2f315e),'retryDelay':this[_0x4119ec(0x130)](_0x13707d)};}catch(processingError){return this[_0x4119ec(0x126)]['error'](_0x4119ec(0x10b),{'errorId':_0x13707d['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x13707d['id'],'errorType':_0x13707d[_0x4119ec(0xf5)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x2c57a7){const _0x18442b=a0_0xa497da;try{this[_0x18442b(0x10f)]['recoveryAttempts']++;const _0x266ead=this[_0x18442b(0xca)]['get'](_0x2c57a7['type'])||this[_0x18442b(0xca)][_0x18442b(0x135)]('default');if(!_0x266ead)return this['logger'][_0x18442b(0xe1)](_0x18442b(0xe9),{'errorType':_0x2c57a7['type']}),{'success':![],'reason':_0x18442b(0x121)};this[_0x18442b(0x126)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x2c57a7['id'],'errorType':_0x2c57a7['type'],'strategy':_0x266ead['name'],'retryCount':_0x2c57a7['retryCount']});const _0x2fdba7=await _0x266ead['recover'](_0x2c57a7);return _0x2fdba7[_0x18442b(0x100)]?(this[_0x18442b(0x10f)]['successfulRecoveries']++,this[_0x18442b(0x126)][_0x18442b(0x106)]('Error\x20recovery\x20successful',{'errorId':_0x2c57a7['id'],'strategy':_0x266ead[_0x18442b(0xf4)]})):this['logger']['warn']('Error\x20recovery\x20failed',{'errorId':_0x2c57a7['id'],'strategy':_0x266ead['name'],'reason':_0x2fdba7[_0x18442b(0x108)]}),_0x2fdba7;}catch(_0x4220ff){return this['logger'][_0x18442b(0x107)](_0x18442b(0xc8),{'errorId':_0x2c57a7['id'],'recoveryError':_0x4220ff['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x4220ff[_0x18442b(0xe6)]};}}async[a0_0xa497da(0x127)](_0x22d5b3){const _0x3d3a80=a0_0xa497da;try{this[_0x3d3a80(0x10f)]['criticalErrors']++,this['logger'][_0x3d3a80(0x107)](_0x3d3a80(0xd1),{'errorId':_0x22d5b3['id'],'message':_0x22d5b3[_0x3d3a80(0xe6)],'context':_0x22d5b3[_0x3d3a80(0x129)]});typeof process!=='undefined'&&process['emit']&&process['emit']('criticalError',_0x22d5b3);switch(_0x22d5b3['type']){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x3d3a80(0x11c)](_0x22d5b3);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this[_0x3d3a80(0xe3)](_0x22d5b3);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this[_0x3d3a80(0xdc)](_0x22d5b3);break;default:await this['handleGenericCriticalError'](_0x22d5b3);}}catch(_0x873d8a){this['logger'][_0x3d3a80(0x107)](_0x3d3a80(0x118),{'errorId':_0x22d5b3['id'],'handlingError':_0x873d8a['message']});}}['determineErrorType'](_0x2a2cf3,_0x2fbe2d){const _0x1a285f=a0_0xa497da;if(_0x2a2cf3[_0x1a285f(0xeb)]===_0x1a285f(0x104)||_0x2a2cf3['status']===HTTP_STATUS[_0x1a285f(0x12e)])return ERROR_TYPES[_0x1a285f(0xd5)];if(_0x2a2cf3['code']===_0x1a285f(0xc7)||_0x2a2cf3['status']===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x1a285f(0xdd)];if(_0x2a2cf3['status']===HTTP_STATUS[_0x1a285f(0xd7)])return ERROR_TYPES[_0x1a285f(0x12d)];if(_0x2a2cf3['status']===HTTP_STATUS[_0x1a285f(0x120)])return ERROR_TYPES[_0x1a285f(0x102)];const _0x306ae3=_0x2a2cf3[_0x1a285f(0xe6)]?.[_0x1a285f(0x110)]()||'';if(_0x306ae3[_0x1a285f(0xef)](_0x1a285f(0xde))||_0x306ae3['includes']('timed\x20out'))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x306ae3['includes'](_0x1a285f(0x113))||_0x306ae3['includes'](_0x1a285f(0x117)))return ERROR_TYPES[_0x1a285f(0x136)];if(_0x306ae3['includes']('config')||_0x306ae3[_0x1a285f(0xef)](_0x1a285f(0xf2)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x2fbe2d[_0x1a285f(0xf3)]===_0x1a285f(0xe2))return ERROR_TYPES[_0x1a285f(0xd5)];if(_0x2fbe2d['operation']==='api_request')return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x1a285f(0xfc)];}[a0_0xa497da(0xed)](_0x3b8199,_0x5c48f4){const _0x75d57a=a0_0xa497da,_0x1dce81=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x75d57a(0x11e)]],_0x4e69b3=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x2e738b=this[_0x75d57a(0xda)](_0x3b8199,_0x5c48f4);if(_0x1dce81[_0x75d57a(0xef)](_0x2e738b))return _0x75d57a(0x12a);if(_0x4e69b3[_0x75d57a(0xef)](_0x2e738b))return _0x75d57a(0x12f);const _0x1899c8=_0x5c48f4&&_0x5c48f4[_0x75d57a(0x10a)]||0x0;if(_0x1899c8>=0x3)return'high';if(_0x5c48f4&&_0x5c48f4[_0x75d57a(0xdb)]&&_0x5c48f4['operation']===_0x75d57a(0x132))return'medium';return _0x75d57a(0xcc);}['isRecoverable'](_0x1285b3){const _0x5614d2=a0_0xa497da,_0x4a7b23=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x4a7b23[_0x5614d2(0xef)](_0x1285b3['type']))return![];if(_0x1285b3['retryCount']>=_0x1285b3['maxRetries'])return![];if(_0x1285b3['severity']==='critical')return![];return!![];}['getMaxRetries'](_0x170508,_0x14dc0c){const _0x1838a5=a0_0xa497da,_0x47602a=this[_0x1838a5(0xda)](_0x170508,_0x14dc0c),_0x261145={[ERROR_TYPES[_0x1838a5(0x102)]]:0x5,[ERROR_TYPES[_0x1838a5(0xc2)]]:0x3,[ERROR_TYPES[_0x1838a5(0xd5)]]:0x2,[ERROR_TYPES[_0x1838a5(0xdd)]]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES[_0x1838a5(0xfc)]]:0x3};return _0x261145[_0x47602a]||0x3;}[a0_0xa497da(0xcd)](_0x4ac20b,_0x27b782){const _0x3b007e=a0_0xa497da;if(!_0x4ac20b['recoverable'])return![];if(_0x4ac20b['retryCount']>=_0x4ac20b[_0x3b007e(0xea)])return![];if(_0x27b782&&_0x27b782['success'])return![];return!![];}['calculateRetryDelay'](_0x2a4b0c){const _0xc898bf=a0_0xa497da,_0x2eff42=0x3e8,_0x45da8a=0x7530,_0x280287=_0x2eff42*Math[_0xc898bf(0x122)](0x2,_0x2a4b0c['retryCount']),_0x1dce79=Math['random']()*0x3e8;return Math[_0xc898bf(0xfe)](_0x280287+_0x1dce79,_0x45da8a);}[a0_0xa497da(0x11a)](){const _0x1a3ea8=a0_0xa497da;this[_0x1a3ea8(0xca)][_0x1a3ea8(0xc6)](ERROR_TYPES[_0x1a3ea8(0xd5)],{'name':_0x1a3ea8(0x11f),'recover':async _0x8228a2=>{const _0x5964fa=_0x1a3ea8;if(_0x8228a2[_0x5964fa(0x129)]['filePath'])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x1a3ea8(0xca)][_0x1a3ea8(0xc6)](ERROR_TYPES[_0x1a3ea8(0x102)],{'name':'rate_limit_recovery','recover':async _0x51b7d3=>{const _0x360596=_0x1a3ea8,_0x1a27d4=this['calculateRateLimitWait'](_0x51b7d3);return this['logger'][_0x360596(0x106)]('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0x1a27d4}),await new Promise(_0x10c435=>setTimeout(_0x10c435,_0x1a27d4)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x1a27d4};}}),this['recoveryStrategies'][_0x1a3ea8(0xc6)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x2bcdb8=>{const _0x3c9bb8=_0x1a3ea8;if(_0x2bcdb8['context'][_0x3c9bb8(0xde)]){const _0x2ba429=Math[_0x3c9bb8(0xfe)](_0x2bcdb8['context'][_0x3c9bb8(0xde)]*1.5,0x493e0);return{'success':!![],'action':_0x3c9bb8(0x119),'newTimeout':_0x2ba429};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x1a3ea8(0xca)][_0x1a3ea8(0xc6)](ERROR_TYPES[_0x1a3ea8(0xdd)],{'name':_0x1a3ea8(0xc3),'recover':async _0x3f64af=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x1a3ea8(0xca)][_0x1a3ea8(0xc6)](ERROR_TYPES[_0x1a3ea8(0x136)],{'name':'validation_recovery','recover':async _0x30e607=>{const _0x163844=_0x1a3ea8;if(_0x30e607[_0x163844(0x129)][_0x163844(0x133)])return{'success':!![],'action':_0x163844(0xcf),'suggestion':_0x163844(0xee)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies'][_0x1a3ea8(0xc6)]('default',{'name':'default_recovery','recover':async _0x5e036e=>{const _0x5e1af5=_0x1a3ea8,_0xecda84=this[_0x5e1af5(0x130)](_0x5e036e);return await new Promise(_0x122544=>setTimeout(_0x122544,_0xecda84)),{'success':!![],'action':'delay_retry','delay':_0xecda84};}});}async['handleAuthenticationFailure'](_0x1e352b){this['logger']['error']('Authentication\x20failure\x20detected',{'errorId':_0x1e352b['id']});if(_0x1e352b['agentId']){}}async['handleRateLimitExceeded'](_0x4ec12c){const _0x3cfdae=a0_0xa497da,_0x502adc=this[_0x3cfdae(0xe7)](_0x4ec12c);this['logger'][_0x3cfdae(0xe1)](_0x3cfdae(0x10c),{'errorId':_0x4ec12c['id'],'waitTime':_0x502adc,'agentId':_0x4ec12c['agentId']});if(_0x4ec12c[_0x3cfdae(0xdb)]){}}async['handleOperationTimeout'](_0x2e5a11){const _0x3c9bc1=a0_0xa497da;this['logger']['error']('Operation\x20timeout\x20detected',{'errorId':_0x2e5a11['id'],'operation':_0x2e5a11['context']['operation'],'timeout':_0x2e5a11[_0x3c9bc1(0x129)]['timeout']});}async['handleGenericCriticalError'](_0x51cd87){const _0xd5e918=a0_0xa497da;this[_0xd5e918(0x126)]['error']('Generic\x20critical\x20error',{'errorId':_0x51cd87['id'],'type':_0x51cd87[_0xd5e918(0xf5)],'message':_0x51cd87['message']}),_0x51cd87[_0xd5e918(0xdb)]&&this['logger'][_0xd5e918(0xe1)](_0xd5e918(0x128),{'agentId':_0x51cd87[_0xd5e918(0xdb)]});}[a0_0xa497da(0xe7)](_0x32495c){const _0x4f297f=a0_0xa497da,_0x43c072=0xea60,_0x1e8c23=Math['pow'](0x2,_0x32495c[_0x4f297f(0x10a)]),_0x50f3e8=0x493e0;return Math['min'](_0x43c072*_0x1e8c23,_0x50f3e8);}async['logError'](_0x2fd9aa,_0x43b32e){const _0x569ada=a0_0xa497da;try{const _0x157ff1={'errorId':_0x2fd9aa['id'],'timestamp':_0x2fd9aa[_0x569ada(0xf8)],'type':_0x2fd9aa[_0x569ada(0xf5)],'severity':_0x2fd9aa['severity'],'message':_0x2fd9aa['message'],'agentId':_0x2fd9aa[_0x569ada(0xdb)],'toolId':_0x2fd9aa[_0x569ada(0xe8)],'operationId':_0x2fd9aa['operationId'],'retryCount':_0x2fd9aa[_0x569ada(0x10a)],'recoveryAttempted':!!_0x43b32e,'recoverySuccess':_0x43b32e?.['success']||![],'recoveryAction':_0x43b32e?.['action']||null};this['errorQueue']['push'](_0x157ff1),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0xb18917){this['logger'][_0x569ada(0x107)](_0x569ada(0xe5),{'errorId':_0x2fd9aa['id'],'loggingError':_0xb18917['message']});}}async[a0_0xa497da(0xc4)](){const _0x50e903=a0_0xa497da;if(this['isProcessingQueue']||this[_0x50e903(0xcb)]['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue']['length']>0x0){const _0x1862fc=this['errorQueue']['splice'](0x0,0xa);this['logger'][_0x50e903(0x11b)]('Processing\x20error\x20batch',{'batchSize':_0x1862fc['length']}),await new Promise(_0x2f463e=>setTimeout(_0x2f463e,0x64));}}catch(processingError){this[_0x50e903(0x126)]['error']('Error\x20queue\x20processing\x20failed',{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0xed9631=a0_0xa497da;setInterval(()=>{const _0x7cb414=a0_0x5363;this['errorQueue']['length']>0x0&&this[_0x7cb414(0xc4)]();},0x1388),typeof process!==_0xed9631(0x131)&&(process['on'](_0xed9631(0x103),_0x3d59eb=>{const _0x4a90eb=_0xed9631;this['handleError'](_0x3d59eb,{'type':'uncaught_exception','severity':_0x4a90eb(0x12a)});}),process['on'](_0xed9631(0x125),(_0x9a9057,_0x15e274)=>{const _0x5cdf50=_0xed9631;this['handleError'](new Error('Unhandled\x20Rejection:\x20'+_0x9a9057),{'type':_0x5cdf50(0xfa),'severity':'high','promise':_0x15e274['toString']()});}));}[a0_0xa497da(0xff)](_0x54dba7){const _0x30e650=a0_0xa497da;this['errorStats'][_0x30e650(0xd0)]++,!this[_0x30e650(0x10f)]['errorsByType'][_0x30e650(0x109)](_0x54dba7['type'])&&this[_0x30e650(0x10f)]['errorsByType'][_0x30e650(0xc6)](_0x54dba7[_0x30e650(0xf5)],0x0),this['errorStats']['errorsByType'][_0x30e650(0xc6)](_0x54dba7['type'],this[_0x30e650(0x10f)][_0x30e650(0xd8)]['get'](_0x54dba7['type'])+0x1),_0x54dba7['agentId']&&(!this['errorStats']['errorsByAgent']['has'](_0x54dba7['agentId'])&&this['errorStats'][_0x30e650(0xd2)][_0x30e650(0xc6)](_0x54dba7['agentId'],0x0),this[_0x30e650(0x10f)]['errorsByAgent']['set'](_0x54dba7['agentId'],this[_0x30e650(0x10f)]['errorsByAgent'][_0x30e650(0x135)](_0x54dba7['agentId'])+0x1));}['subscribe'](_0x4e7457){const _0x231d44=a0_0xa497da;return this[_0x231d44(0xec)][_0x231d44(0xce)](_0x4e7457),()=>this['errorSubscribers']['delete'](_0x4e7457);}['notifySubscribers'](_0xb85bb1,_0x25ec18){const _0x1d1273=a0_0xa497da;this['errorSubscribers'][_0x1d1273(0x134)](_0x5df45b=>{const _0x315f59=_0x1d1273;try{_0x5df45b(_0xb85bb1,_0x25ec18);}catch(_0x3c435b){this[_0x315f59(0x126)]['error'](_0x315f59(0xd3),{'error':_0x3c435b[_0x315f59(0xe6)]});}});}[a0_0xa497da(0x111)](){const _0x10d2f8=a0_0xa497da;return _0x10d2f8(0xf6)+Date[_0x10d2f8(0xc9)]()+'_'+Math['random']()['toString'](0x24)['substr'](0x2,0x9);}[a0_0xa497da(0xc5)](){const _0x330a35=a0_0xa497da;return{'totalErrors':this[_0x330a35(0x10f)]['totalErrors'],'errorsByType':Object[_0x330a35(0x114)](this[_0x330a35(0x10f)][_0x330a35(0xd8)]),'errorsByAgent':Object['fromEntries'](this[_0x330a35(0x10f)][_0x330a35(0xd2)]),'recoveryAttempts':this[_0x330a35(0x10f)][_0x330a35(0x12b)],'successfulRecoveries':this['errorStats'][_0x330a35(0xfd)],'recoverySuccessRate':this[_0x330a35(0x10f)][_0x330a35(0x12b)]>0x0?this[_0x330a35(0x10f)][_0x330a35(0xfd)]/this[_0x330a35(0x10f)]['recoveryAttempts']:0x0,'criticalErrors':this['errorStats']['criticalErrors'],'queueLength':this['errorQueue']['length']};}['clearErrorStats'](){const _0xca8cec=a0_0xa497da;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0xca8cec(0xcb)]=[];}}function a0_0x5363(_0x5c5849,_0x2bf400){_0x5c5849=_0x5c5849-0xc1;const _0x431658=a0_0x4316();let _0x53635f=_0x431658[_0x5c5849];if(a0_0x5363['hGiaQO']===undefined){var _0x432e97=function(_0x3f0e36){const _0x10cb55='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27596d='',_0x1ed529='';for(let _0x531346=0x0,_0x25316e,_0x3e3f2d,_0x27dfa5=0x0;_0x3e3f2d=_0x3f0e36['charAt'](_0x27dfa5++);~_0x3e3f2d&&(_0x25316e=_0x531346%0x4?_0x25316e*0x40+_0x3e3f2d:_0x3e3f2d,_0x531346++%0x4)?_0x27596d+=String['fromCharCode'](0xff&_0x25316e>>(-0x2*_0x531346&0x6)):0x0){_0x3e3f2d=_0x10cb55['indexOf'](_0x3e3f2d);}for(let _0x19eb6a=0x0,_0x75365b=_0x27596d['length'];_0x19eb6a<_0x75365b;_0x19eb6a++){_0x1ed529+='%'+('00'+_0x27596d['charCodeAt'](_0x19eb6a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ed529);};a0_0x5363['TnLSpQ']=_0x432e97,a0_0x5363['ADshsE']={},a0_0x5363['hGiaQO']=!![];}const _0x3bbfbe=_0x431658[0x0],_0x2f0b90=_0x5c5849+_0x3bbfbe,_0x59d9b5=a0_0x5363['ADshsE'][_0x2f0b90];return!_0x59d9b5?(_0x53635f=a0_0x5363['TnLSpQ'](_0x53635f),a0_0x5363['ADshsE'][_0x2f0b90]=_0x53635f):_0x53635f=_0x59d9b5,_0x53635f;}export default ErrorHandler;
1
+ const a0_0x2070e1=a0_0x362c;function a0_0x362c(_0x315844,_0x2c43ef){_0x315844=_0x315844-0x1b0;const _0x50ef7b=a0_0x50ef();let _0x362c7c=_0x50ef7b[_0x315844];if(a0_0x362c['fwjOZh']===undefined){var _0x1bf8aa=function(_0x3e585e){const _0x3755a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x368922='',_0x2035fa='';for(let _0x59c871=0x0,_0x29b1b9,_0x2b13a7,_0x5001ce=0x0;_0x2b13a7=_0x3e585e['charAt'](_0x5001ce++);~_0x2b13a7&&(_0x29b1b9=_0x59c871%0x4?_0x29b1b9*0x40+_0x2b13a7:_0x2b13a7,_0x59c871++%0x4)?_0x368922+=String['fromCharCode'](0xff&_0x29b1b9>>(-0x2*_0x59c871&0x6)):0x0){_0x2b13a7=_0x3755a9['indexOf'](_0x2b13a7);}for(let _0x78c447=0x0,_0x240b92=_0x368922['length'];_0x78c447<_0x240b92;_0x78c447++){_0x2035fa+='%'+('00'+_0x368922['charCodeAt'](_0x78c447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2035fa);};a0_0x362c['ZnJXVg']=_0x1bf8aa,a0_0x362c['DHVtxr']={},a0_0x362c['fwjOZh']=!![];}const _0x5ff42a=_0x50ef7b[0x0],_0x2863bf=_0x315844+_0x5ff42a,_0x42b833=a0_0x362c['DHVtxr'][_0x2863bf];return!_0x42b833?(_0x362c7c=a0_0x362c['ZnJXVg'](_0x362c7c),a0_0x362c['DHVtxr'][_0x2863bf]=_0x362c7c):_0x362c7c=_0x42b833,_0x362c7c;}(function(_0x4e070b,_0x21cc8c){const _0x4f0df5=a0_0x362c,_0xa22ff5=_0x4e070b();while(!![]){try{const _0xdae7ee=-parseInt(_0x4f0df5(0x1e9))/0x1+parseInt(_0x4f0df5(0x1e4))/0x2*(-parseInt(_0x4f0df5(0x1c8))/0x3)+parseInt(_0x4f0df5(0x204))/0x4+parseInt(_0x4f0df5(0x1e7))/0x5+parseInt(_0x4f0df5(0x1dc))/0x6+parseInt(_0x4f0df5(0x1b6))/0x7+-parseInt(_0x4f0df5(0x1c5))/0x8;if(_0xdae7ee===_0x21cc8c)break;else _0xa22ff5['push'](_0xa22ff5['shift']());}catch(_0x172d76){_0xa22ff5['push'](_0xa22ff5['shift']());}}}(a0_0x50ef,0xac815));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x50ef(){const _0x4060e6=['t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','Aw5WDxreyxrH','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM90Awz5u3vIC2nYAwjLCNm','t1bfuKfusu9ox1rjtuvpvvq','zgvSzxrL','BwvKAxvT','Dg9mB3DLCKnHC2u','mJmZmJGYnfvZq3nvAG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','DgLTzwqGB3v0','zxjYB3jZqNLbz2vUDa','uKfurv9msu1jvf9fwenfrurfra','Aw52ywXPza','AgfZ','vu5ltK9xtL9fuLjpuG','ChjVy2vZC0vYCM9YuxvLDwu','AgLNAa','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','Dg90ywXfCNjVCNm','Aw5JCMvHC2vKx3rPBwvVDxq','Bg9NrxjYB3i','zxjYB3jZqNLuExbL','B3bLCMf0Aw9Uswq','zMLSzv9UB3rFzM91BMrFCMvJB3zLCNK','z2v0','y3jPDgLJywXfCNjVCNm','Aw5MBW','ywDLBNrjza','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','DgLTzw91Da','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','ywn0Aw9U','C3vIC3rY','ChjVy2vZC0vYCM9Y','zgv0zxjTAw5LrxjYB3juExbL','uhjVy2vZC2LUzYbLCNjVCG','y29Kzq','DhLWzq','Dg9VBeLK','zw1PDa','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','y29UzMLN','y3jPDgLJywW','CMfUzg9T','odu2nJC3nvbLCxHuBq','C2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','vu5bvvrit1jjwKve','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','zgv0zxjTAw5Lu2v2zxjPDhK','z2vUzxjHDgvfCNjVCKLK','Bg9Nz2vY','Dg9tDhjPBMC','Aw5JBhvKzxm','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','zxjYB3jtDwjZy3jPyMvYCW','CMv0CNLdB3vUDa','zMLSzvbHDgG','CMvJB3zLCNLtDhjHDgvNAwvZ','mtCZodC4ndHKzu9evLG','zxjYB3i','C2v0','mtqXshfUtLzd','zNjVBuvUDhjPzxm','y2fSy3vSyxrLuMv0CNLezwXHEq','z2v0twf4uMv0CMLLCW','yxbPx3jLCxvLC3q','AgfUzgXLrxjYB3i','zM9YrwfJAa','CMvJB3zLCNLbDhrLBxb0CW','rKLmrv9ot1rFrK9vtKq','uevstuLtu0LptL9eru5jruq','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jtDgf0CW','B3bLCMf0Aw9U','CgvYBwLZC2LVBL9YzwnVDMvYEq','rK9sqKLerevo','ywrK','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','C3bSAwnL','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','zxjYB3jrDwv1zq','mZC5mdyZmK5cCLPzBq','CMvJB3zLCG','AxnqCM9JzxnZAw5NuxvLDwu','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','CMvJB3zLCMfIBgu','z2v0rxjYB3jtDgf0CW','Dw5KzwzPBMvK','Bwf4uMv0CMLLCW','mJq5ngLmwxLrCG','zgvIDwC','AxnszwnVDMvYywjSzq','mZG0nZC4mhvpDuvVAG','vKfmsurbveLptL9fuLjpuG','mJy5nJG4A09fse1Y','BgvUz3rO','BMfTzq','D2fYBG','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','zxjYxW','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','AgfUzgXLq3jPDgLJywXfCNjVCG','C3vJy2vZC2z1BfjLy292zxjPzxm','y29UzMLNDxjHDgLVBG','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','DxbKyxrLrxjYB3jtDgf0CW','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','ywDLBNrFy29TBxvUAwnHDgLVBG','rxjYB3iGBg9Nz2LUzYbMywLSzwq','C3vJy2vZCW','tK9ux0zpvu5e','BwvZC2fNzq','C3rHDhvZ'];a0_0x50ef=function(){return _0x4060e6;};return a0_0x50ef();}export class ErrorHandler{constructor(_0x368922,_0x2035fa){const _0x26a784=a0_0x362c;this[_0x26a784(0x1b3)]=_0x368922||{},this['logger']=_0x2035fa,this[_0x26a784(0x1d3)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x26a784(0x1c4)]=new Map(),this['errorSubscribers']=new Set(),this['errorQueue']=[],this['isProcessingQueue']=![],this[_0x26a784(0x205)](),this['setupErrorProcessing']();}async[a0_0x2070e1(0x1cd)](_0x59c871,_0x29b1b9={}){const _0x3c2600=a0_0x2070e1;try{const _0x2b13a7=this['classifyError'](_0x59c871,_0x29b1b9),_0x5001ce=await this[_0x3c2600(0x21f)](_0x2b13a7);return this[_0x3c2600(0x1f4)](_0x2b13a7),this[_0x3c2600(0x1ff)](_0x2b13a7,_0x5001ce),_0x5001ce;}catch(_0x78c447){return this['logger'][_0x3c2600(0x1c6)]('Error\x20handling\x20failed',{'originalError':_0x59c871[_0x3c2600(0x1fa)],'handlingError':_0x78c447[_0x3c2600(0x1fa)]}),{'success':![],'error':_0x78c447,'recovery':null,'severity':'critical'};}}['classifyError'](_0x240b92,_0x2aa2bf={}){const _0x2e2d94=a0_0x2070e1,_0x3f7416={'id':this[_0x2e2d94(0x1bc)](),'timestamp':new Date()['toISOString'](),'message':_0x240b92['message']||_0x240b92['toString'](),'stack':_0x240b92['stack']||null,'code':_0x240b92[_0x2e2d94(0x222)]||null,'type':this['determineErrorType'](_0x240b92,_0x2aa2bf),'severity':this[_0x2e2d94(0x1bb)](_0x240b92,_0x2aa2bf),'context':{..._0x2aa2bf},'recoverable':!![],'retryCount':_0x2aa2bf['retryCount']||0x0,'maxRetries':this[_0x2e2d94(0x1cb)](_0x240b92,_0x2aa2bf)};return _0x2aa2bf['agentId']&&(_0x3f7416[_0x2e2d94(0x219)]=_0x2aa2bf[_0x2e2d94(0x219)]),_0x2aa2bf['toolId']&&(_0x3f7416[_0x2e2d94(0x1b0)]=_0x2aa2bf[_0x2e2d94(0x1b0)]),_0x2aa2bf[_0x2e2d94(0x214)]&&(_0x3f7416[_0x2e2d94(0x214)]=_0x2aa2bf[_0x2e2d94(0x214)]),_0x3f7416[_0x2e2d94(0x1e0)]=this['isRecoverable'](_0x3f7416),_0x3f7416;}async['processError'](_0x32f56f){const _0x2cc667=a0_0x2070e1;try{this['logger'][_0x2cc667(0x1c6)](_0x2cc667(0x221),{'errorId':_0x32f56f['id'],'type':_0x32f56f['type'],'severity':_0x32f56f[_0x2cc667(0x1b7)],'agentId':_0x32f56f['agentId'],'message':_0x32f56f[_0x2cc667(0x1fa)]});_0x32f56f['severity']==='critical'&&await this[_0x2cc667(0x1f0)](_0x32f56f);let _0x56c7c2=null;return _0x32f56f['recoverable']&&_0x32f56f['retryCount']<_0x32f56f[_0x2cc667(0x1e3)]&&(_0x56c7c2=await this['attemptRecovery'](_0x32f56f)),await this[_0x2cc667(0x212)](_0x32f56f,_0x56c7c2),{'success':_0x56c7c2?.['success']||![],'errorId':_0x32f56f['id'],'errorType':_0x32f56f[_0x2cc667(0x223)],'severity':_0x32f56f[_0x2cc667(0x1b7)],'recovery':_0x56c7c2,'shouldRetry':this['shouldRetry'](_0x32f56f,_0x56c7c2),'retryDelay':this[_0x2cc667(0x1ca)](_0x32f56f)};}catch(processingError){return this['logger'][_0x2cc667(0x1c6)](_0x2cc667(0x1c0),{'errorId':_0x32f56f['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x32f56f['id'],'errorType':_0x32f56f[_0x2cc667(0x223)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0xb54b2e){const _0x656ff5=a0_0x2070e1;try{this[_0x656ff5(0x1d3)]['recoveryAttempts']++;const _0x4835e1=this['recoveryStrategies']['get'](_0xb54b2e[_0x656ff5(0x223)])||this['recoveryStrategies']['get']('default');if(!_0x4835e1)return this[_0x656ff5(0x1bd)]['warn']('No\x20recovery\x20strategy\x20found',{'errorType':_0xb54b2e[_0x656ff5(0x223)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x656ff5(0x1bd)]['info']('Attempting\x20error\x20recovery',{'errorId':_0xb54b2e['id'],'errorType':_0xb54b2e['type'],'strategy':_0x4835e1[_0x656ff5(0x1eb)],'retryCount':_0xb54b2e[_0x656ff5(0x1c2)]});const _0x1b7806=await _0x4835e1[_0x656ff5(0x1dd)](_0xb54b2e);return _0x1b7806[_0x656ff5(0x1f8)]?(this['errorStats'][_0x656ff5(0x1f1)]++,this['logger']['info'](_0x656ff5(0x20f),{'errorId':_0xb54b2e['id'],'strategy':_0x4835e1['name']})):this['logger'][_0x656ff5(0x1ec)](_0x656ff5(0x206),{'errorId':_0xb54b2e['id'],'strategy':_0x4835e1['name'],'reason':_0x1b7806['reason']}),_0x1b7806;}catch(_0x3b86bf){return this['logger'][_0x656ff5(0x1c6)]('Recovery\x20attempt\x20failed',{'errorId':_0xb54b2e['id'],'recoveryError':_0x3b86bf['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x3b86bf[_0x656ff5(0x1fa)]};}}async['handleCriticalError'](_0x498532){const _0x4f605f=a0_0x2070e1;try{this[_0x4f605f(0x1d3)][_0x4f605f(0x217)]++,this[_0x4f605f(0x1bd)]['error'](_0x4f605f(0x1b8),{'errorId':_0x498532['id'],'message':_0x498532[_0x4f605f(0x1fa)],'context':_0x498532['context']});typeof process!=='undefined'&&process[_0x4f605f(0x1b1)]&&process['emit']('criticalError',_0x498532);switch(_0x498532[_0x4f605f(0x223)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x4f605f(0x1ed)](_0x498532);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this['handleRateLimitExceeded'](_0x498532);break;case ERROR_TYPES[_0x4f605f(0x200)]:await this[_0x4f605f(0x1ba)](_0x498532);break;default:await this['handleGenericCriticalError'](_0x498532);}}catch(_0x4f06f6){this[_0x4f605f(0x1bd)]['error']('Critical\x20error\x20handling\x20failed',{'errorId':_0x498532['id'],'handlingError':_0x4f06f6[_0x4f605f(0x1fa)]});}}[a0_0x2070e1(0x220)](_0x81357f,_0x4d7a88){const _0x52869c=a0_0x2070e1;if(_0x81357f[_0x52869c(0x222)]==='ENOENT'||_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1f9)])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x81357f['code']==='EACCES'||_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1d6)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS[_0x52869c(0x1b9)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x81357f[_0x52869c(0x1fb)]===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x52869c(0x209)];const _0x5df298=_0x81357f['message']?.[_0x52869c(0x203)]()||'';if(_0x5df298[_0x52869c(0x1bf)](_0x52869c(0x21b))||_0x5df298[_0x52869c(0x1bf)](_0x52869c(0x207)))return ERROR_TYPES[_0x52869c(0x200)];if(_0x5df298[_0x52869c(0x1bf)]('validation')||_0x5df298['includes'](_0x52869c(0x20a)))return ERROR_TYPES[_0x52869c(0x1e8)];if(_0x5df298[_0x52869c(0x1bf)]('config')||_0x5df298['includes'](_0x52869c(0x1f2)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x4d7a88[_0x52869c(0x1d4)]==='file_operation')return ERROR_TYPES[_0x52869c(0x1d0)];if(_0x4d7a88['operation']===_0x52869c(0x1cc))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES[_0x52869c(0x20c)];}[a0_0x2070e1(0x1bb)](_0x128cdf,_0x314749){const _0x307984=a0_0x2070e1,_0x229492=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x307984(0x1d2)]],_0x322c43=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES[_0x307984(0x200)],ERROR_TYPES['PERMISSION_DENIED']],_0x5d6d19=this[_0x307984(0x220)](_0x128cdf,_0x314749);if(_0x229492[_0x307984(0x1bf)](_0x5d6d19))return _0x307984(0x1b4);if(_0x322c43['includes'](_0x5d6d19))return _0x307984(0x20e);const _0x506300=_0x314749&&_0x314749[_0x307984(0x1c2)]||0x0;if(_0x506300>=0x3)return _0x307984(0x20e);if(_0x314749&&_0x314749[_0x307984(0x219)]&&_0x314749[_0x307984(0x1d4)]===_0x307984(0x1f6))return _0x307984(0x202);return'low';}[a0_0x2070e1(0x1e6)](_0x180535){const _0x51c7c8=a0_0x2070e1,_0x33f36a=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x33f36a['includes'](_0x180535[_0x51c7c8(0x223)]))return![];if(_0x180535[_0x51c7c8(0x1c2)]>=_0x180535[_0x51c7c8(0x1e3)])return![];if(_0x180535['severity']==='critical')return![];return!![];}['getMaxRetries'](_0x475bfe,_0x2fc450){const _0x4dcff0=a0_0x2070e1,_0x315aa5=this['determineErrorType'](_0x475bfe,_0x2fc450),_0x5b008e={[ERROR_TYPES[_0x4dcff0(0x209)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x5b008e[_0x315aa5]||0x3;}['shouldRetry'](_0x537990,_0x5d298d){const _0x898a18=a0_0x2070e1;if(!_0x537990[_0x898a18(0x1e0)])return![];if(_0x537990[_0x898a18(0x1c2)]>=_0x537990[_0x898a18(0x1e3)])return![];if(_0x5d298d&&_0x5d298d['success'])return![];return!![];}[a0_0x2070e1(0x1ca)](_0x343760){const _0xec3ba4=a0_0x2070e1,_0x39774e=0x3e8,_0x1386cc=0x7530,_0x5379d6=_0x39774e*Math['pow'](0x2,_0x343760['retryCount']),_0x12ea36=Math[_0xec3ba4(0x1b5)]()*0x3e8;return Math['min'](_0x5379d6+_0x12ea36,_0x1386cc);}['initializeRecoveryStrategies'](){const _0x18c18a=a0_0x2070e1;this['recoveryStrategies']['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':_0x18c18a(0x215),'recover':async _0x5ceca8=>{const _0x58431c=_0x18c18a;if(_0x5ceca8['context'][_0x58431c(0x1c3)])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':_0x58431c(0x1df)};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this[_0x18c18a(0x1c4)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':'rate_limit_recovery','recover':async _0x5c9322=>{const _0x1d7bcf=_0x18c18a,_0x437c06=this[_0x1d7bcf(0x1d8)](_0x5c9322);return this[_0x1d7bcf(0x1bd)][_0x1d7bcf(0x218)](_0x1d7bcf(0x1f3),{'waitTime':_0x437c06}),await new Promise(_0x3d037=>setTimeout(_0x3d037,_0x437c06)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x437c06};}}),this[_0x18c18a(0x1c4)]['set'](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x106617=>{const _0x481dd5=_0x18c18a;if(_0x106617['context']['timeout']){const _0x358833=Math['min'](_0x106617['context'][_0x481dd5(0x21b)]*1.5,0x493e0);return{'success':!![],'action':_0x481dd5(0x211),'newTimeout':_0x358833};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)](ERROR_TYPES[_0x18c18a(0x1d1)],{'name':_0x18c18a(0x1d5),'recover':async _0x2e75e=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x5e005d=>{const _0x2c236c=_0x18c18a;if(_0x5e005d['context'][_0x2c236c(0x1fd)])return{'success':!![],'action':'data_sanitization','suggestion':_0x2c236c(0x21a)};return{'success':![],'reason':_0x2c236c(0x21c)};}}),this[_0x18c18a(0x1c4)][_0x18c18a(0x1c7)]('default',{'name':'default_recovery','recover':async _0x459c8e=>{const _0x1b99ad=_0x18c18a,_0x321159=this[_0x1b99ad(0x1ca)](_0x459c8e);return await new Promise(_0x28140b=>setTimeout(_0x28140b,_0x321159)),{'success':!![],'action':'delay_retry','delay':_0x321159};}});}async['handleAuthenticationFailure'](_0x492f25){const _0x1e919c=a0_0x2070e1;this[_0x1e919c(0x1bd)]['error']('Authentication\x20failure\x20detected',{'errorId':_0x492f25['id']});if(_0x492f25[_0x1e919c(0x219)]){}}async[a0_0x2070e1(0x1da)](_0x4c1aaf){const _0xe61daa=a0_0x2070e1,_0x7abcc3=this['calculateRateLimitWait'](_0x4c1aaf);this[_0xe61daa(0x1bd)][_0xe61daa(0x1ec)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4c1aaf['id'],'waitTime':_0x7abcc3,'agentId':_0x4c1aaf['agentId']});if(_0x4c1aaf['agentId']){}}async['handleOperationTimeout'](_0x188f4e){const _0x456c86=a0_0x2070e1;this['logger'][_0x456c86(0x1c6)](_0x456c86(0x1fc),{'errorId':_0x188f4e['id'],'operation':_0x188f4e['context'][_0x456c86(0x1d4)],'timeout':_0x188f4e['context']['timeout']});}async['handleGenericCriticalError'](_0x46bc73){const _0x518a1a=a0_0x2070e1;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x46bc73['id'],'type':_0x46bc73[_0x518a1a(0x223)],'message':_0x46bc73[_0x518a1a(0x1fa)]}),_0x46bc73[_0x518a1a(0x219)]&&this['logger'][_0x518a1a(0x1ec)]('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x46bc73['agentId']});}['calculateRateLimitWait'](_0x47aa5){const _0x1ceb8d=0xea60,_0x6b9231=Math['pow'](0x2,_0x47aa5['retryCount']),_0x264976=0x493e0;return Math['min'](_0x1ceb8d*_0x6b9231,_0x264976);}async['logError'](_0x568db8,_0x332c7d){const _0x7b2b9b=a0_0x2070e1;try{const _0x39bfbf={'errorId':_0x568db8['id'],'timestamp':_0x568db8['timestamp'],'type':_0x568db8['type'],'severity':_0x568db8['severity'],'message':_0x568db8[_0x7b2b9b(0x1fa)],'agentId':_0x568db8['agentId'],'toolId':_0x568db8['toolId'],'operationId':_0x568db8[_0x7b2b9b(0x214)],'retryCount':_0x568db8[_0x7b2b9b(0x1c2)],'recoveryAttempted':!!_0x332c7d,'recoverySuccess':_0x332c7d?.[_0x7b2b9b(0x1f8)]||![],'recoveryAction':_0x332c7d?.[_0x7b2b9b(0x21d)]||null};this['errorQueue']['push'](_0x39bfbf),!this['isProcessingQueue']&&this[_0x7b2b9b(0x20d)]();}catch(_0x47b361){this[_0x7b2b9b(0x1bd)]['error'](_0x7b2b9b(0x1f7),{'errorId':_0x568db8['id'],'loggingError':_0x47b361['message']});}}async['processErrorQueue'](){const _0xf1c300=a0_0x2070e1;if(this[_0xf1c300(0x1de)]||this[_0xf1c300(0x1db)][_0xf1c300(0x1ea)]===0x0)return;this[_0xf1c300(0x1de)]=!![];try{while(this['errorQueue']['length']>0x0){const _0x1e4736=this['errorQueue'][_0xf1c300(0x1d9)](0x0,0xa);this[_0xf1c300(0x1bd)][_0xf1c300(0x1e5)](_0xf1c300(0x1f5),{'batchSize':_0x1e4736[_0xf1c300(0x1ea)]}),await new Promise(_0x4f8963=>setTimeout(_0x4f8963,0x64));}}catch(processingError){this[_0xf1c300(0x1bd)][_0xf1c300(0x1c6)]('Error\x20queue\x20processing\x20failed',{'error':processingError[_0xf1c300(0x1fa)]});}finally{this['isProcessingQueue']=![];}}['setupErrorProcessing'](){const _0x1ba0c0=a0_0x2070e1;setInterval(()=>{const _0x3dbb62=a0_0x362c;this[_0x3dbb62(0x1db)]['length']>0x0&&this[_0x3dbb62(0x20d)]();},0x1388),typeof process!==_0x1ba0c0(0x1e2)&&(process['on']('uncaughtException',_0x38b257=>{const _0x54bf07=_0x1ba0c0;this[_0x54bf07(0x1cd)](_0x38b257,{'type':'uncaught_exception','severity':_0x54bf07(0x1b4)});}),process['on'](_0x1ba0c0(0x1fe),(_0x593fa2,_0x45dcc4)=>{const _0x3df5cb=_0x1ba0c0;this[_0x3df5cb(0x1cd)](new Error(_0x3df5cb(0x1ef)+_0x593fa2),{'type':_0x3df5cb(0x1b2),'severity':_0x3df5cb(0x20e),'promise':_0x45dcc4[_0x3df5cb(0x1be)]()});}));}['updateErrorStats'](_0x209096){const _0x404aed=a0_0x2070e1;this['errorStats']['totalErrors']++,!this[_0x404aed(0x1d3)][_0x404aed(0x213)]['has'](_0x209096[_0x404aed(0x223)])&&this['errorStats']['errorsByType']['set'](_0x209096['type'],0x0),this['errorStats']['errorsByType'][_0x404aed(0x1c7)](_0x209096['type'],this[_0x404aed(0x1d3)]['errorsByType'][_0x404aed(0x216)](_0x209096['type'])+0x1),_0x209096[_0x404aed(0x219)]&&(!this['errorStats']['errorsByAgent'][_0x404aed(0x20b)](_0x209096[_0x404aed(0x219)])&&this['errorStats'][_0x404aed(0x208)]['set'](_0x209096['agentId'],0x0),this['errorStats']['errorsByAgent']['set'](_0x209096['agentId'],this[_0x404aed(0x1d3)][_0x404aed(0x208)]['get'](_0x209096[_0x404aed(0x219)])+0x1));}['subscribe'](_0x16139a){const _0x59b5a1=a0_0x2070e1;return this['errorSubscribers'][_0x59b5a1(0x1d7)](_0x16139a),()=>this['errorSubscribers'][_0x59b5a1(0x201)](_0x16139a);}['notifySubscribers'](_0x1a5e10,_0x1a9dea){const _0x4d121d=a0_0x2070e1;this[_0x4d121d(0x1c1)][_0x4d121d(0x1ce)](_0x2a12a5=>{const _0x525b53=_0x4d121d;try{_0x2a12a5(_0x1a5e10,_0x1a9dea);}catch(_0x36359e){this[_0x525b53(0x1bd)]['error']('Error\x20subscriber\x20callback\x20failed',{'error':_0x36359e[_0x525b53(0x1fa)]});}});}['generateErrorId'](){const _0x40146b=a0_0x2070e1;return _0x40146b(0x1ee)+Date['now']()+'_'+Math[_0x40146b(0x1b5)]()[_0x40146b(0x1be)](0x24)[_0x40146b(0x21e)](0x2,0x9);}[a0_0x2070e1(0x1e1)](){const _0x47451d=a0_0x2070e1;return{'totalErrors':this[_0x47451d(0x1d3)][_0x47451d(0x210)],'errorsByType':Object[_0x47451d(0x1c9)](this[_0x47451d(0x1d3)][_0x47451d(0x213)]),'errorsByAgent':Object['fromEntries'](this[_0x47451d(0x1d3)][_0x47451d(0x208)]),'recoveryAttempts':this['errorStats'][_0x47451d(0x1cf)],'successfulRecoveries':this[_0x47451d(0x1d3)][_0x47451d(0x1f1)],'recoverySuccessRate':this['errorStats'][_0x47451d(0x1cf)]>0x0?this['errorStats']['successfulRecoveries']/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x47451d(0x1d3)][_0x47451d(0x217)],'queueLength':this['errorQueue']['length']};}['clearErrorStats'](){const _0x3b2466=a0_0x2070e1;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x3b2466(0x1db)]=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- const a0_0x20f659=a0_0x3028;(function(_0x377ed6,_0x512bc0){const _0x880c3b=a0_0x3028,_0x552c6c=_0x377ed6();while(!![]){try{const _0x5a85b4=parseInt(_0x880c3b(0x116))/0x1*(parseInt(_0x880c3b(0x106))/0x2)+parseInt(_0x880c3b(0x100))/0x3*(-parseInt(_0x880c3b(0x117))/0x4)+parseInt(_0x880c3b(0xf8))/0x5+-parseInt(_0x880c3b(0x12c))/0x6+-parseInt(_0x880c3b(0x113))/0x7+parseInt(_0x880c3b(0x10f))/0x8*(parseInt(_0x880c3b(0x115))/0x9)+-parseInt(_0x880c3b(0x119))/0xa;if(_0x5a85b4===_0x512bc0)break;else _0x552c6c['push'](_0x552c6c['shift']());}catch(_0x16a67f){_0x552c6c['push'](_0x552c6c['shift']());}}}(a0_0x5587,0xace85));import a0_0x4cd589 from'path';function a0_0x3028(_0x385b32,_0x20e33d){_0x385b32=_0x385b32-0xe1;const _0x5587b2=a0_0x5587();let _0x302885=_0x5587b2[_0x385b32];if(a0_0x3028['nSkdAi']===undefined){var _0xae9066=function(_0x1cc88a){const _0x12be42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4cd589='',_0x3fb696='';for(let _0x5553ac=0x0,_0x6e0f68,_0x5621d3,_0x4edde0=0x0;_0x5621d3=_0x1cc88a['charAt'](_0x4edde0++);~_0x5621d3&&(_0x6e0f68=_0x5553ac%0x4?_0x6e0f68*0x40+_0x5621d3:_0x5621d3,_0x5553ac++%0x4)?_0x4cd589+=String['fromCharCode'](0xff&_0x6e0f68>>(-0x2*_0x5553ac&0x6)):0x0){_0x5621d3=_0x12be42['indexOf'](_0x5621d3);}for(let _0x25917a=0x0,_0x33d81a=_0x4cd589['length'];_0x25917a<_0x33d81a;_0x25917a++){_0x3fb696+='%'+('00'+_0x4cd589['charCodeAt'](_0x25917a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fb696);};a0_0x3028['VvecnE']=_0xae9066,a0_0x3028['UCSmTf']={},a0_0x3028['nSkdAi']=!![];}const _0x501a08=_0x5587b2[0x0],_0x5c4758=_0x385b32+_0x501a08,_0x35ea66=a0_0x3028['UCSmTf'][_0x5c4758];return!_0x35ea66?(_0x302885=a0_0x3028['VvecnE'](_0x302885),a0_0x3028['UCSmTf'][_0x5c4758]=_0x302885):_0x302885=_0x35ea66,_0x302885;}import{randomUUID}from'crypto';import a0_0x3fb696 from'../utilities/fileProcessor.js';function a0_0x5587(){const _0x2b4a99=['CMvMzxjLBMnL','y2fSy3vSyxrLsgfZAa','zMLSzu5HBwu','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','D2fYBG','Bw9Kzq','Aw5MBW','ChvZAa','nJe4mZy4mhPpveH2ua','DMfSAwq','DxrMoa','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','C2L6zuXLDMvS','z2v0qxr0ywnOBwvUDa','Aw1WB3j0rNjVBufNzw50','ovbIqMXprW','D2fYBMLUz3m','zxjYB3i','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','qwDLBNqGyxr0ywnOBwvUDhmGzgvSzxrLza','mtzfB21ev2u','zxn0Aw1HDgvuB2TLBNm','z2v0qxr0ywnOBwvUDfbYzxzPzxC','z2v0q29UDgvUDfr5Cgu','C2f2zuLUzgv4','Bwv0ywrHDgeUANnVBG','yxr0ywnOBwvUDhm','z2v0qwn0AxzLqxr0ywnOBwvUDhm','y3jLyxrLrgLYzwn0B3j5','mti5nK1hzK5RBG','C2L6zq','y29UDgvUDc50Ehq','ywDLBNrjza','mJe3ntK1n1fSwwXsBW','zgvSzxrLqxr0ywnOBwvUDa','ntC5nZHjzxztEeC','mtaZmZCYzfr4BxPx','mtC4ndCYnhbHwNjzwG','Dg9ju09tDhjPBMC','mZG3mJi1mgH0qwLNEa','BgvUz3rO','rMLSzsbUB3qGzM91BMq6ia','C3rYAw5NAwz5','C3vIC3rYAw5N','BwvZC2fNzq','AM9PBG','Bg9Nz2vY','ywn0AxzL','Aw5KzxG','BgfZDe1VzgLMAwvK','qxr0ywnOBwvUDcb1CgrHDgvK','CMvMzxjLBMnLzej5','lI4U','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','zMLSzvbYB2nLC3nVCG','C3rHCNrZv2L0Aa','zMLSzuv4Axn0CW','qxr0ywnOBwvUDcbHy3rPDMuGC3rHDguGDg9Nz2XLza','mJe3ndGWoePAuvDtsG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50','ywDLBNrszwzZ','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','z2v0twLTzvr5Cgu','zgvSzxrLrgLYzwn0B3j5','rMLSzsb1CgXVywrLza','CgfYC2u','y29UDgvUDa','z2v0qxr0ywnOBwvUDenVBNrLBNq','zMLSDgvY','Aw5JBhvKzxm','z2v0rMLSzvn0yxrZ','yMfZzw5HBwu','CMvHzezPBgu','D3jPDgvgAwXL','Bg9HzeLUzgv4','y29UDgvUDc5IyxnLnJq','DMfSAwrHDg9Y'];a0_0x5587=function(){return _0x2b4a99;};return a0_0x5587();}import a0_0x5553ac from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x4cd589[a0_0x20f659(0x11f)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x6e0f68={},_0x5621d3=null){const _0x5c309f=a0_0x20f659;this['config']=_0x6e0f68,this[_0x5c309f(0x120)]=_0x5621d3,this[_0x5c309f(0x128)]=new a0_0x3fb696(_0x6e0f68,_0x5621d3),this[_0x5c309f(0xee)]=new a0_0x5553ac(_0x6e0f68,_0x5621d3),this['index']=null;}async['initialize'](){const _0x34b3b0=a0_0x20f659;try{await this['fileProcessor'][_0x34b3b0(0x10e)](ATTACHMENTS_DIR),await this[_0x34b3b0(0xec)](),this['logger']?.[_0x34b3b0(0xf6)](_0x34b3b0(0xfb),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x4edde0){this['logger']?.['error'](_0x34b3b0(0xf2),{'error':_0x4edde0['message']});throw _0x4edde0;}}async[a0_0x20f659(0xec)](){const _0x113a94=a0_0x20f659;try{const _0x25917a=await this['fileProcessor'][_0x113a94(0x12a)](INDEX_FILE);if(!_0x25917a)this['index']={'attachments':{},'agentRefs':{}},await this[_0x113a94(0x10a)]();else{const _0x33d81a=await this['fileProcessor'][_0x113a94(0xea)](INDEX_FILE,'utf8');this[_0x113a94(0x122)]=JSON[_0x113a94(0xe3)](_0x33d81a);}return this[_0x113a94(0x122)];}catch(_0x31bb21){return this['logger']?.['error']('Error\x20loading\x20index',{'error':_0x31bb21['message']}),this[_0x113a94(0x122)]={'attachments':{},'agentRefs':{}},this['index'];}}async[a0_0x20f659(0x10a)](){const _0x507ec9=a0_0x20f659;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),_0x507ec9(0xfa));}catch(_0x235668){this[_0x507ec9(0x120)]?.[_0x507ec9(0x102)]('Error\x20saving\x20index',{'error':_0x235668[_0x507ec9(0x11e)]});throw _0x235668;}}async['uploadFile']({agentId:_0x4f06fa,filePath:_0x5c0485,mode:mode=a0_0x20f659(0xe4),fileName:fileName=null}){const _0x5ad667=a0_0x20f659;!this[_0x5ad667(0x122)]&&await this[_0x5ad667(0xec)]();try{const _0xe0c1a1=await this['fileProcessor'][_0x5ad667(0x12a)](_0x5c0485);if(!_0xe0c1a1)throw new Error(_0x5ad667(0x11b)+_0x5c0485);const _0x326f08=await this[_0x5ad667(0x128)][_0x5ad667(0xe8)](_0x5c0485),_0x5137c6=fileName||a0_0x4cd589[_0x5ad667(0xe9)](_0x5c0485),_0x583d7e=a0_0x4cd589['extname'](_0x5137c6),_0x42a999=this['validator']['validate']({'fileName':_0x5137c6,'size':_0x326f08['size'],'mode':mode,'path':mode===_0x5ad667(0xef)?_0x5c0485:null});if(!_0x42a999[_0x5ad667(0xf9)])throw new Error('Validation\x20failed:\x20'+_0x42a999['errors']['join'](',\x20'));const _0x48e6ae=randomUUID(),_0x403721=await this['fileProcessor'][_0x5ad667(0xf0)](_0x5c0485),_0x17ba5f=this[_0x5ad667(0xee)][_0x5ad667(0x109)](_0x5137c6),_0xa686d4=a0_0x4cd589[_0x5ad667(0x11f)](ATTACHMENTS_DIR,_0x4f06fa,_0x48e6ae);await this[_0x5ad667(0x128)][_0x5ad667(0x10e)](_0xa686d4);let _0x1360b5=0x0,_0x5eb7c6=null;if(mode==='content'){const processResult=await this[_0x5ad667(0x128)]['processFile'](_0x5c0485,_0x17ba5f),_0x5cc395=processResult['content'];if(_0x17ba5f==='text')_0x5eb7c6=_0x5ad667(0x111);else{if(_0x17ba5f==='image')_0x5eb7c6=_0x5ad667(0xed);else _0x17ba5f==='pdf'&&(_0x5eb7c6=_0x5ad667(0x111));}const _0x2138e1=a0_0x4cd589[_0x5ad667(0x11f)](_0xa686d4,_0x5eb7c6);await this['fileProcessor'][_0x5ad667(0xeb)](_0x2138e1,_0x5cc395,'utf8'),_0x1360b5=this[_0x5ad667(0x128)][_0x5ad667(0x107)](_0x5cc395);}const _0x44aef0={'fileId':_0x48e6ae,'agentId':_0x4f06fa,'fileName':_0x5137c6,'originalPath':_0x5c0485,'fileType':this['validator'][_0x5ad667(0x130)](_0x5137c6),'fileExtension':_0x583d7e,'size':_0x326f08[_0x5ad667(0x110)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x5ad667(0x118)](),'lastModified':_0x326f08['modified'][_0x5ad667(0x118)](),'hash':_0x403721,'tokenEstimate':_0x1360b5,'contentType':_0x17ba5f,'contentFileName':_0x5eb7c6,'warnings':_0x42a999[_0x5ad667(0x101)],'sizeLevel':_0x42a999[_0x5ad667(0xfd)],'importedFrom':null,'referencedBy':[_0x4f06fa]},_0x4f8bc4=a0_0x4cd589[_0x5ad667(0x11f)](_0xa686d4,'metadata.json');return await this['fileProcessor']['writeFile'](_0x4f8bc4,JSON[_0x5ad667(0x11c)](_0x44aef0,null,0x2),_0x5ad667(0xfa)),this['index'][_0x5ad667(0x10c)][_0x48e6ae]={'fileId':_0x48e6ae,'agentId':_0x4f06fa,'fileName':_0x5137c6,'mode':mode,'active':_0x44aef0[_0x5ad667(0x121)],'referencedBy':_0x44aef0['referencedBy']},!this[_0x5ad667(0x122)][_0x5ad667(0x12e)][_0x4f06fa]&&(this[_0x5ad667(0x122)]['agentRefs'][_0x4f06fa]=[]),this['index'][_0x5ad667(0x12e)][_0x4f06fa][_0x5ad667(0xf7)](_0x48e6ae),await this[_0x5ad667(0x10a)](),this[_0x5ad667(0x120)]?.[_0x5ad667(0xf6)](_0x5ad667(0xe2),{'fileId':_0x48e6ae,'agentId':_0x4f06fa,'fileName':_0x5137c6,'mode':mode}),_0x44aef0;}catch(_0x42bb18){this['logger']?.[_0x5ad667(0x102)]('Error\x20uploading\x20file',{'agentId':_0x4f06fa,'filePath':_0x5c0485,'error':_0x42bb18['message']});throw _0x42bb18;}}async['getAttachments'](_0x208c70,_0x3c140d={}){const _0x552caa=a0_0x20f659;!this[_0x552caa(0x122)]&&await this['loadIndex']();try{const _0x4cdd1f=this[_0x552caa(0x122)][_0x552caa(0x12e)][_0x208c70]||[],_0x3acb4d=[];for(const _0x5026db of _0x4cdd1f){const _0x1706ce=await this[_0x552caa(0xfe)](_0x5026db);if(_0x1706ce){if(_0x3c140d[_0x552caa(0x121)]!==undefined&&_0x1706ce[_0x552caa(0x121)]!==_0x3c140d[_0x552caa(0x121)])continue;if(_0x3c140d['mode']&&_0x1706ce[_0x552caa(0xf5)]!==_0x3c140d['mode'])continue;_0x3acb4d['push'](_0x1706ce);}}return _0x3acb4d;}catch(_0x2c39d5){this[_0x552caa(0x120)]?.['error'](_0x552caa(0x127),{'agentId':_0x208c70,'error':_0x2c39d5['message']});throw _0x2c39d5;}}async[a0_0x20f659(0xfe)](_0x4a1cde){const _0x45b553=a0_0x20f659;!this[_0x45b553(0x122)]&&await this['loadIndex']();try{const _0x46a099=this[_0x45b553(0x122)]['attachments'][_0x4a1cde];if(!_0x46a099)return null;const _0x1a871a=a0_0x4cd589[_0x45b553(0x11f)](ATTACHMENTS_DIR,_0x46a099['agentId'],_0x4a1cde,'metadata.json'),_0x3cf04a=await this[_0x45b553(0x128)][_0x45b553(0x12a)](_0x1a871a);if(!_0x3cf04a)return this['logger']?.[_0x45b553(0xf4)](_0x45b553(0x103),{'fileId':_0x4a1cde}),null;const _0x54c332=await this['fileProcessor']['readFile'](_0x1a871a,_0x45b553(0xfa));return JSON[_0x45b553(0xe3)](_0x54c332);}catch(_0x3094eb){return this[_0x45b553(0x120)]?.['error'](_0x45b553(0x12d),{'fileId':_0x4a1cde,'error':_0x3094eb[_0x45b553(0x11e)]}),null;}}async['getAttachmentContent'](_0x4914f9){const _0x21b3c9=a0_0x20f659;try{const _0x48acf8=await this['getAttachment'](_0x4914f9);if(!_0x48acf8||_0x48acf8['mode']!=='content')return null;const _0x31822c=a0_0x4cd589['join'](ATTACHMENTS_DIR,_0x48acf8[_0x21b3c9(0x112)],_0x4914f9,_0x48acf8['contentFileName']),_0xa98c03=await this[_0x21b3c9(0x128)]['fileExists'](_0x31822c);if(!_0xa98c03)return null;return await this['fileProcessor']['readFile'](_0x31822c,_0x21b3c9(0xfa));}catch(_0x13e446){return this[_0x21b3c9(0x120)]?.[_0x21b3c9(0x102)](_0x21b3c9(0xfc),{'fileId':_0x4914f9,'error':_0x13e446[_0x21b3c9(0x11e)]}),null;}}async['toggleActive'](_0xc9fb77){const _0x5bafcb=a0_0x20f659;try{const _0x385ed1=await this['getAttachment'](_0xc9fb77);if(!_0x385ed1)throw new Error(_0x5bafcb(0x12f)+_0xc9fb77);_0x385ed1[_0x5bafcb(0x121)]=!_0x385ed1[_0x5bafcb(0x121)],_0x385ed1[_0x5bafcb(0x123)]=new Date()[_0x5bafcb(0x118)]();const _0x283fe9=a0_0x4cd589[_0x5bafcb(0x11f)](ATTACHMENTS_DIR,_0x385ed1[_0x5bafcb(0x112)],_0xc9fb77,'metadata.json');return await this[_0x5bafcb(0x128)]['writeFile'](_0x283fe9,JSON[_0x5bafcb(0x11c)](_0x385ed1,null,0x2),'utf8'),this[_0x5bafcb(0x122)][_0x5bafcb(0x10c)][_0xc9fb77]&&(this[_0x5bafcb(0x122)]['attachments'][_0xc9fb77]['active']=_0x385ed1['active'],await this['saveIndex']()),this['logger']?.[_0x5bafcb(0xf6)](_0x5bafcb(0x12b),{'fileId':_0xc9fb77,'active':_0x385ed1['active']}),_0x385ed1;}catch(_0x4c35a0){this['logger']?.['error'](_0x5bafcb(0xf3),{'fileId':_0xc9fb77,'error':_0x4c35a0[_0x5bafcb(0x11e)]});throw _0x4c35a0;}}async['updateAttachment'](_0x58a6bb,_0x7f0cf5){const _0x2770f5=a0_0x20f659;try{const _0x2e316b=await this['getAttachment'](_0x58a6bb);if(!_0x2e316b)throw new Error(_0x2770f5(0x12f)+_0x58a6bb);const _0x339b4b=['fileName',_0x2770f5(0x121)];for(const _0x5273df of _0x339b4b){_0x7f0cf5[_0x5273df]!==undefined&&(_0x2e316b[_0x5273df]=_0x7f0cf5[_0x5273df]);}_0x2e316b['lastModified']=new Date()['toISOString']();const _0x3dec60=a0_0x4cd589['join'](ATTACHMENTS_DIR,_0x2e316b[_0x2770f5(0x112)],_0x58a6bb,_0x2770f5(0x10b));return await this['fileProcessor'][_0x2770f5(0xeb)](_0x3dec60,JSON['stringify'](_0x2e316b,null,0x2),'utf8'),this['index']['attachments'][_0x58a6bb]&&(_0x7f0cf5[_0x2770f5(0xf1)]&&(this[_0x2770f5(0x122)]['attachments'][_0x58a6bb]['fileName']=_0x7f0cf5[_0x2770f5(0xf1)]),_0x7f0cf5[_0x2770f5(0x121)]!==undefined&&(this['index']['attachments'][_0x58a6bb][_0x2770f5(0x121)]=_0x7f0cf5[_0x2770f5(0x121)]),await this['saveIndex']()),this['logger']?.['info'](_0x2770f5(0x124),{'fileId':_0x58a6bb,'updates':_0x7f0cf5}),_0x2e316b;}catch(_0x5f4c7a){this['logger']?.['error']('Error\x20updating\x20attachment',{'fileId':_0x58a6bb,'error':_0x5f4c7a[_0x2770f5(0x11e)]});throw _0x5f4c7a;}}async[a0_0x20f659(0x114)](_0x39df0d,_0x57e81d){const _0x3db976=a0_0x20f659;try{const _0x1662f2=await this[_0x3db976(0xfe)](_0x39df0d);if(!_0x1662f2)throw new Error(_0x3db976(0x12f)+_0x39df0d);_0x1662f2[_0x3db976(0x125)]=_0x1662f2['referencedBy']['filter'](_0x291ea4=>_0x291ea4!==_0x57e81d);if(_0x1662f2['referencedBy'][_0x3db976(0x11a)]>0x0){const _0x27f840=a0_0x4cd589['join'](ATTACHMENTS_DIR,_0x1662f2['agentId'],_0x39df0d,'metadata.json');return await this[_0x3db976(0x128)][_0x3db976(0xeb)](_0x27f840,JSON[_0x3db976(0x11c)](_0x1662f2,null,0x2),_0x3db976(0xfa)),this[_0x3db976(0x122)]['attachments'][_0x39df0d]&&(this[_0x3db976(0x122)]['attachments'][_0x39df0d]['referencedBy']=_0x1662f2[_0x3db976(0x125)]),this[_0x3db976(0x122)][_0x3db976(0x12e)][_0x57e81d]&&(this[_0x3db976(0x122)]['agentRefs'][_0x57e81d]=this[_0x3db976(0x122)][_0x3db976(0x12e)][_0x57e81d][_0x3db976(0xe6)](_0x4af844=>_0x4af844!==_0x39df0d)),await this['saveIndex'](),this[_0x3db976(0x120)]?.[_0x3db976(0xf6)]('Attachment\x20dereferenced',{'fileId':_0x39df0d,'agentId':_0x57e81d,'remainingRefs':_0x1662f2['referencedBy'][_0x3db976(0x11a)]}),![];}const _0x21167c=a0_0x4cd589['join'](ATTACHMENTS_DIR,_0x1662f2['agentId'],_0x39df0d);return await this[_0x3db976(0x128)][_0x3db976(0xe1)](_0x21167c),delete this['index']['attachments'][_0x39df0d],this['index'][_0x3db976(0x12e)][_0x57e81d]&&(this[_0x3db976(0x122)][_0x3db976(0x12e)][_0x57e81d]=this[_0x3db976(0x122)]['agentRefs'][_0x57e81d][_0x3db976(0xe6)](_0x1d7c32=>_0x1d7c32!==_0x39df0d)),await this['saveIndex'](),this['logger']?.['info']('Attachment\x20deleted',{'fileId':_0x39df0d,'agentId':_0x57e81d}),!![];}catch(_0x13e19b){this['logger']?.[_0x3db976(0x102)]('Error\x20deleting\x20attachment',{'fileId':_0x39df0d,'agentId':_0x57e81d,'error':_0x13e19b[_0x3db976(0x11e)]});throw _0x13e19b;}}async['deleteAgentAttachments'](_0x193e35){const _0x37a563=a0_0x20f659;try{const _0x46baf4=this[_0x37a563(0x122)]['agentRefs'][_0x193e35]||[];let _0x307171=0x0,_0xf2a581=0x0;for(const _0x542f2f of _0x46baf4){const _0x522bcb=await this[_0x37a563(0x114)](_0x542f2f,_0x193e35);_0x522bcb?_0x307171++:_0xf2a581++;}return this[_0x37a563(0x120)]?.[_0x37a563(0xf6)](_0x37a563(0x105),{'agentId':_0x193e35,'deleted':_0x307171,'dereferenced':_0xf2a581}),{'deleted':_0x307171,'dereferenced':_0xf2a581};}catch(_0x5aa38a){this['logger']?.[_0x37a563(0x102)]('Error\x20deleting\x20agent\x20attachments',{'agentId':_0x193e35,'error':_0x5aa38a['message']});throw _0x5aa38a;}}async[a0_0x20f659(0xff)](_0x3ac7f4,_0x61ee62){const _0x445220=a0_0x20f659;try{const _0xa7d6c=await this[_0x445220(0xfe)](_0x3ac7f4);if(!_0xa7d6c)throw new Error(_0x445220(0x104)+_0x3ac7f4);!_0xa7d6c['referencedBy'][_0x445220(0xe7)](_0x61ee62)&&_0xa7d6c['referencedBy'][_0x445220(0xf7)](_0x61ee62);_0xa7d6c[_0x445220(0x123)]=new Date()['toISOString'](),_0xa7d6c['importedFrom']=_0xa7d6c['agentId'];const _0x484bc9=a0_0x4cd589[_0x445220(0x11f)](ATTACHMENTS_DIR,_0xa7d6c['agentId'],_0x3ac7f4,'metadata.json');return await this['fileProcessor'][_0x445220(0xeb)](_0x484bc9,JSON['stringify'](_0xa7d6c,null,0x2),'utf8'),this['index'][_0x445220(0x10c)][_0x3ac7f4]&&(this['index']['attachments'][_0x3ac7f4]['referencedBy']=_0xa7d6c[_0x445220(0x125)]),!this['index']['agentRefs'][_0x61ee62]&&(this['index'][_0x445220(0x12e)][_0x61ee62]=[]),!this['index'][_0x445220(0x12e)][_0x61ee62]['includes'](_0x3ac7f4)&&this[_0x445220(0x122)][_0x445220(0x12e)][_0x61ee62]['push'](_0x3ac7f4),await this['saveIndex'](),this[_0x445220(0x120)]?.[_0x445220(0xf6)]('Attachment imported',{'sourceFileId':_0x3ac7f4,'targetAgentId':_0x61ee62}),_0xa7d6c;}catch(_0x31d50b){this['logger']?.[_0x445220(0x102)]('Error importing attachment',{'sourceFileId':_0x3ac7f4,'targetAgentId':_0x61ee62,'error':_0x31d50b['message']});throw _0x31d50b;}}async[a0_0x20f659(0x10d)](_0xe948ea){return await this['getAttachments'](_0xe948ea,{'active':!![]});}async[a0_0x20f659(0x108)](_0x1f2a27){const _0x1a0065=a0_0x20f659;try{const _0x21cbbb=await this[_0x1a0065(0xe5)](_0x1f2a27);if(!_0x21cbbb)return null;if(_0x21cbbb[_0x1a0065(0x129)]('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x21cbbb['length']>0x3e8?_0x21cbbb[_0x1a0065(0x11d)](0x0,0x3e8)+_0x1a0065(0x126):_0x21cbbb;}catch(_0x1441e6){return this['logger']?.[_0x1a0065(0x102)]('Error\x20getting\x20attachment\x20preview',{'fileId':_0x1f2a27,'error':_0x1441e6['message']}),null;}}}export default FileAttachmentService;
1
+ function a0_0x5d55(_0x5270cb,_0x540f16){_0x5270cb=_0x5270cb-0x16d;const _0x17fb6c=a0_0x17fb();let _0x5d551f=_0x17fb6c[_0x5270cb];if(a0_0x5d55['RXlfsa']===undefined){var _0x2b61c4=function(_0x413979){const _0x429e65='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x185671='',_0x42cbaf='';for(let _0x45dcf7=0x0,_0x4e1070,_0x3e4faf,_0x1e5f29=0x0;_0x3e4faf=_0x413979['charAt'](_0x1e5f29++);~_0x3e4faf&&(_0x4e1070=_0x45dcf7%0x4?_0x4e1070*0x40+_0x3e4faf:_0x3e4faf,_0x45dcf7++%0x4)?_0x185671+=String['fromCharCode'](0xff&_0x4e1070>>(-0x2*_0x45dcf7&0x6)):0x0){_0x3e4faf=_0x429e65['indexOf'](_0x3e4faf);}for(let _0x497e01=0x0,_0x399363=_0x185671['length'];_0x497e01<_0x399363;_0x497e01++){_0x42cbaf+='%'+('00'+_0x185671['charCodeAt'](_0x497e01)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42cbaf);};a0_0x5d55['rCxAUE']=_0x2b61c4,a0_0x5d55['jvxgAu']={},a0_0x5d55['RXlfsa']=!![];}const _0x27bff9=_0x17fb6c[0x0],_0x13fffa=_0x5270cb+_0x27bff9,_0x250b5f=a0_0x5d55['jvxgAu'][_0x13fffa];return!_0x250b5f?(_0x5d551f=a0_0x5d55['rCxAUE'](_0x5d551f),a0_0x5d55['jvxgAu'][_0x13fffa]=_0x5d551f):_0x5d551f=_0x250b5f,_0x5d551f;}const a0_0x34ad67=a0_0x5d55;(function(_0x1a0d1e,_0x558a66){const _0x263d99=a0_0x5d55,_0x12ccbe=_0x1a0d1e();while(!![]){try{const _0x1b1737=-parseInt(_0x263d99(0x17a))/0x1+-parseInt(_0x263d99(0x19a))/0x2*(-parseInt(_0x263d99(0x186))/0x3)+-parseInt(_0x263d99(0x1a9))/0x4+-parseInt(_0x263d99(0x1a0))/0x5+-parseInt(_0x263d99(0x1b1))/0x6*(-parseInt(_0x263d99(0x177))/0x7)+-parseInt(_0x263d99(0x1b7))/0x8+-parseInt(_0x263d99(0x1b8))/0x9*(-parseInt(_0x263d99(0x171))/0xa);if(_0x1b1737===_0x558a66)break;else _0x12ccbe['push'](_0x12ccbe['shift']());}catch(_0x181d2e){_0x12ccbe['push'](_0x12ccbe['shift']());}}}(a0_0x17fb,0xbcc37));import a0_0x185671 from'path';import{randomUUID}from'crypto';function a0_0x17fb(){const _0x1cf75d=['mtiYotq1nLbUtxjPtG','ndq4ndi1wLHVs2Lx','BwvZC2fNzq','ywDLBNrszwzZ','ChjVy2vZC0zPBgu','Dg9Nz2XLqwn0AxzL','Dg9ju09tDhjPBMC','ndyWvvzkvfjN','z2v0twLTzvr5Cgu','D2fYBMLUz3m','rMLSzsb1CgXVywrLza','zMLSDgvY','CMvMzxjLBMnLzej5','otmWodq2svnAwefL','y3jLyxrLrgLYzwn0B3j5','Aw5KzxG','nJq4mdH5rNHXs0y','CgrM','ywDLBNrjza','zMLSzuv4Axn0CW','Aw1WB3j0rNjVBufNzw50','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','Aw5MBW','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','yxr0ywnOBwvUDhm','lI4U','qxr0ywnOBwvUDcbKzwXLDgvK','C2f2zuLUzgv4','mtvhr2DYze0','zgvSzxrLrgLYzwn0B3j5','C2L6zuXLDMvS','Aw1Hz2u','DMfSAwrHDgu','Aw1WB3j0zwrgCM9T','zxjYB3i','ywn0AxzL','z2v0qxr0ywnOBwvUDenVBNrLBNq','Bwv0ywrHDgeUANnVBG','CMvMzxjLBMnL','DxbSB2fKrMLSzq','ChvZAa','DxrMoa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','y29UzMLN','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','Bw9Kzq','mJG5mJeYuhjTqxbm','zMLSzvbYB2nLC3nVCG','DMfSAwrHDg9Y','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','Aw5PDgLHBgL6zq','Dgv4Da','nJG5ntu3nxjfyNHxva','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','BgfZDe1VzgLMAwvK','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','rxjYB3iGBg9HzgLUzYbPBMrLEa','zgvSzxrLqxr0ywnOBwvUDa','Bg9Nz2vY','z2v0qwn0AxzLqxr0ywnOBwvUDhm','vMfSAwrHDgLVBIbMywLSzwq6ia','mZy0mdyYnhLTsK50rG','AM9PBG','C2L6zq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','Bg9HzeLUzgv4','Bw9KAwzPzwq','y29UDgvUDc50Ehq','BgvUz3rO','mtjHruTfvve','z2v0qxr0ywnOBwvUDa','CgfYC2u','C3rYAw5NAwz5','D3jPDgvgAwXL','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa'];a0_0x17fb=function(){return _0x1cf75d;};return a0_0x17fb();}import a0_0x42cbaf from'../utilities/fileProcessor.js';import a0_0x45dcf7 from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x34ad67(0x182)],INDEX_FILE=a0_0x185671['join'](ATTACHMENTS_DIR,a0_0x34ad67(0x197));class FileAttachmentService{constructor(_0x4e1070={},_0x3e4faf=null){const _0x353194=a0_0x34ad67;this[_0x353194(0x195)]=_0x4e1070,this['logger']=_0x3e4faf,this[_0x353194(0x19b)]=new a0_0x42cbaf(_0x4e1070,_0x3e4faf),this['validator']=new a0_0x45dcf7(_0x4e1070,_0x3e4faf),this[_0x353194(0x179)]=null;}async[a0_0x34ad67(0x19e)](){const _0x4d7ddd=a0_0x34ad67;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x4d7ddd(0x1ad)](),this[_0x4d7ddd(0x1a6)]?.['info']('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x1e5f29){this['logger']?.[_0x4d7ddd(0x18c)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x1e5f29['message']});throw _0x1e5f29;}}async['loadIndex'](){const _0x541763=a0_0x34ad67;try{const _0x497e01=await this['fileProcessor']['fileExists'](INDEX_FILE);if(!_0x497e01)this[_0x541763(0x179)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x399363=await this[_0x541763(0x19b)]['readFile'](INDEX_FILE,'utf8');this[_0x541763(0x179)]=JSON[_0x541763(0x1b3)](_0x399363);}return this['index'];}catch(_0x3df1d0){return this['logger']?.['error'](_0x541763(0x1a4),{'error':_0x3df1d0[_0x541763(0x1b9)]}),this[_0x541763(0x179)]={'attachments':{},'agentRefs':{}},this[_0x541763(0x179)];}}async[a0_0x34ad67(0x185)](){const _0x5491eb=a0_0x34ad67;try{await this[_0x5491eb(0x19b)][_0x5491eb(0x1b5)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x2072eb){this[_0x5491eb(0x1a6)]?.[_0x5491eb(0x18c)]('Error\x20saving\x20index',{'error':_0x2072eb['message']});throw _0x2072eb;}}async[a0_0x34ad67(0x191)]({agentId:_0x3b16cb,filePath:_0x5a2187,mode:mode='content',fileName:fileName=null}){const _0x568db3=a0_0x34ad67;!this['index']&&await this[_0x568db3(0x1ad)]();try{const _0x2a7c8b=await this['fileProcessor'][_0x568db3(0x17d)](_0x5a2187);if(!_0x2a7c8b)throw new Error('File\x20not\x20found:\x20'+_0x5a2187);const _0x88280a=await this[_0x568db3(0x19b)]['getFileStats'](_0x5a2187),_0xf947ce=fileName||a0_0x185671['basename'](_0x5a2187),_0x2ffef2=a0_0x185671['extname'](_0xf947ce),_0x367ba7=this[_0x568db3(0x19c)][_0x568db3(0x18a)]({'fileName':_0xf947ce,'size':_0x88280a['size'],'mode':mode,'path':mode===_0x568db3(0x190)?_0x5a2187:null});if(!_0x367ba7['valid'])throw new Error(_0x568db3(0x1a8)+_0x367ba7['errors']['join'](',\x20'));const _0x5de107=randomUUID(),_0x596a6d=await this[_0x568db3(0x19b)]['calculateHash'](_0x5a2187),_0x3747fc=this[_0x568db3(0x19c)]['getContentType'](_0xf947ce),_0x4cda05=a0_0x185671[_0x568db3(0x1aa)](ATTACHMENTS_DIR,_0x3b16cb,_0x5de107);await this['fileProcessor'][_0x568db3(0x178)](_0x4cda05);let _0x11fede=0x0,_0x5e0318=null;if(mode==='content'){const processResult=await this['fileProcessor'][_0x568db3(0x16e)](_0x5a2187,_0x3747fc),_0x9ad59d=processResult['content'];if(_0x3747fc===_0x568db3(0x19f))_0x5e0318='content.txt';else{if(_0x3747fc===_0x568db3(0x189))_0x5e0318='content.base64';else _0x3747fc===_0x568db3(0x17b)&&(_0x5e0318=_0x568db3(0x1af));}const _0x37da96=a0_0x185671['join'](_0x4cda05,_0x5e0318);await this[_0x568db3(0x19b)][_0x568db3(0x1b5)](_0x37da96,_0x9ad59d,'utf8'),_0x11fede=this['fileProcessor']['estimateTokens'](_0x9ad59d);}const _0x491e1b={'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'originalPath':_0x5a2187,'fileType':this[_0x568db3(0x19c)][_0x568db3(0x172)](_0xf947ce),'fileExtension':_0x2ffef2,'size':_0x88280a[_0x568db3(0x1ab)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x568db3(0x170)](),'lastModified':_0x88280a[_0x568db3(0x1ae)][_0x568db3(0x170)](),'hash':_0x596a6d,'tokenEstimate':_0x11fede,'contentType':_0x3747fc,'contentFileName':_0x5e0318,'warnings':_0x367ba7[_0x568db3(0x173)],'sizeLevel':_0x367ba7[_0x568db3(0x188)],'importedFrom':null,'referencedBy':[_0x3b16cb]},_0x2d8d39=a0_0x185671[_0x568db3(0x1aa)](_0x4cda05,_0x568db3(0x18f));return await this['fileProcessor'][_0x568db3(0x1b5)](_0x2d8d39,JSON[_0x568db3(0x1b4)](_0x491e1b,null,0x2),'utf8'),this[_0x568db3(0x179)][_0x568db3(0x182)][_0x5de107]={'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'mode':mode,'active':_0x491e1b[_0x568db3(0x18d)],'referencedBy':_0x491e1b[_0x568db3(0x176)]},!this['index'][_0x568db3(0x16d)][_0x3b16cb]&&(this[_0x568db3(0x179)][_0x568db3(0x16d)][_0x3b16cb]=[]),this[_0x568db3(0x179)][_0x568db3(0x16d)][_0x3b16cb][_0x568db3(0x192)](_0x5de107),await this['saveIndex'](),this['logger']?.[_0x568db3(0x180)](_0x568db3(0x174),{'fileId':_0x5de107,'agentId':_0x3b16cb,'fileName':_0xf947ce,'mode':mode}),_0x491e1b;}catch(_0x40df01){this[_0x568db3(0x1a6)]?.['error']('Error\x20uploading\x20file',{'agentId':_0x3b16cb,'filePath':_0x5a2187,'error':_0x40df01[_0x568db3(0x1b9)]});throw _0x40df01;}}async['getAttachments'](_0x3e97ec,_0xb405b9={}){const _0x3c749e=a0_0x34ad67;!this['index']&&await this['loadIndex']();try{const _0x2678b3=this['index']['agentRefs'][_0x3e97ec]||[],_0xca0a7=[];for(const _0x1efc1d of _0x2678b3){const _0x51c2d2=await this[_0x3c749e(0x1b2)](_0x1efc1d);if(_0x51c2d2){if(_0xb405b9[_0x3c749e(0x18d)]!==undefined&&_0x51c2d2['active']!==_0xb405b9[_0x3c749e(0x18d)])continue;if(_0xb405b9['mode']&&_0x51c2d2[_0x3c749e(0x199)]!==_0xb405b9['mode'])continue;_0xca0a7[_0x3c749e(0x192)](_0x51c2d2);}}return _0xca0a7;}catch(_0x3151f4){this[_0x3c749e(0x1a6)]?.[_0x3c749e(0x18c)](_0x3c749e(0x196),{'agentId':_0x3e97ec,'error':_0x3151f4['message']});throw _0x3151f4;}}async[a0_0x34ad67(0x1b2)](_0x13b297){const _0x109205=a0_0x34ad67;!this['index']&&await this['loadIndex']();try{const _0x1de7ab=this['index'][_0x109205(0x182)][_0x13b297];if(!_0x1de7ab)return null;const _0x3f47f2=a0_0x185671['join'](ATTACHMENTS_DIR,_0x1de7ab[_0x109205(0x17c)],_0x13b297,'metadata.json'),_0x285d25=await this[_0x109205(0x19b)][_0x109205(0x17d)](_0x3f47f2);if(!_0x285d25)return this['logger']?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x13b297}),null;const _0x36453f=await this['fileProcessor']['readFile'](_0x3f47f2,_0x109205(0x193));return JSON['parse'](_0x36453f);}catch(_0xee4379){return this[_0x109205(0x1a6)]?.['error']('Error\x20getting\x20attachment',{'fileId':_0x13b297,'error':_0xee4379[_0x109205(0x1b9)]}),null;}}async['getAttachmentContent'](_0xeed23a){const _0xfae2e0=a0_0x34ad67;try{const _0x1738af=await this[_0xfae2e0(0x1b2)](_0xeed23a);if(!_0x1738af||_0x1738af['mode']!=='content')return null;const _0x4ede9e=a0_0x185671[_0xfae2e0(0x1aa)](ATTACHMENTS_DIR,_0x1738af['agentId'],_0xeed23a,_0x1738af['contentFileName']),_0x2b9481=await this['fileProcessor']['fileExists'](_0x4ede9e);if(!_0x2b9481)return null;return await this['fileProcessor']['readFile'](_0x4ede9e,'utf8');}catch(_0xe571a3){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0xeed23a,'error':_0xe571a3['message']}),null;}}async[a0_0x34ad67(0x16f)](_0x44feff){const _0x326eff=a0_0x34ad67;try{const _0xa23b72=await this['getAttachment'](_0x44feff);if(!_0xa23b72)throw new Error(_0x326eff(0x1ac)+_0x44feff);_0xa23b72[_0x326eff(0x18d)]=!_0xa23b72[_0x326eff(0x18d)],_0xa23b72[_0x326eff(0x1a2)]=new Date()['toISOString']();const _0x344f69=a0_0x185671['join'](ATTACHMENTS_DIR,_0xa23b72[_0x326eff(0x17c)],_0x44feff,_0x326eff(0x18f));return await this['fileProcessor'][_0x326eff(0x1b5)](_0x344f69,JSON['stringify'](_0xa23b72,null,0x2),_0x326eff(0x193)),this[_0x326eff(0x179)]['attachments'][_0x44feff]&&(this[_0x326eff(0x179)][_0x326eff(0x182)][_0x44feff]['active']=_0xa23b72['active'],await this[_0x326eff(0x185)]()),this[_0x326eff(0x1a6)]?.[_0x326eff(0x180)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x44feff,'active':_0xa23b72['active']}),_0xa23b72;}catch(_0x395dbf){this['logger']?.['error'](_0x326eff(0x17f),{'fileId':_0x44feff,'error':_0x395dbf[_0x326eff(0x1b9)]});throw _0x395dbf;}}async['updateAttachment'](_0x44b2ba,_0x453f97){const _0x22758f=a0_0x34ad67;try{const _0x4a5870=await this[_0x22758f(0x1b2)](_0x44b2ba);if(!_0x4a5870)throw new Error('Attachment\x20not\x20found:\x20'+_0x44b2ba);const _0x324a6d=['fileName','active'];for(const _0x56d133 of _0x324a6d){_0x453f97[_0x56d133]!==undefined&&(_0x4a5870[_0x56d133]=_0x453f97[_0x56d133]);}_0x4a5870['lastModified']=new Date()['toISOString']();const _0x52fcd0=a0_0x185671[_0x22758f(0x1aa)](ATTACHMENTS_DIR,_0x4a5870['agentId'],_0x44b2ba,'metadata.json');return await this['fileProcessor'][_0x22758f(0x1b5)](_0x52fcd0,JSON[_0x22758f(0x1b4)](_0x4a5870,null,0x2),'utf8'),this['index']['attachments'][_0x44b2ba]&&(_0x453f97['fileName']&&(this[_0x22758f(0x179)]['attachments'][_0x44b2ba]['fileName']=_0x453f97['fileName']),_0x453f97[_0x22758f(0x18d)]!==undefined&&(this[_0x22758f(0x179)]['attachments'][_0x44b2ba]['active']=_0x453f97['active']),await this[_0x22758f(0x185)]()),this[_0x22758f(0x1a6)]?.[_0x22758f(0x180)]('Attachment\x20updated',{'fileId':_0x44b2ba,'updates':_0x453f97}),_0x4a5870;}catch(_0x516626){this[_0x22758f(0x1a6)]?.['error'](_0x22758f(0x181),{'fileId':_0x44b2ba,'error':_0x516626['message']});throw _0x516626;}}async['deleteAttachment'](_0x2fbdda,_0x382144){const _0x468831=a0_0x34ad67;try{const _0xa42aeb=await this['getAttachment'](_0x2fbdda);if(!_0xa42aeb)throw new Error('Attachment\x20not\x20found:\x20'+_0x2fbdda);_0xa42aeb[_0x468831(0x176)]=_0xa42aeb[_0x468831(0x176)][_0x468831(0x175)](_0x93e97b=>_0x93e97b!==_0x382144);if(_0xa42aeb[_0x468831(0x176)]['length']>0x0){const _0x5aa02f=a0_0x185671['join'](ATTACHMENTS_DIR,_0xa42aeb[_0x468831(0x17c)],_0x2fbdda,'metadata.json');return await this['fileProcessor']['writeFile'](_0x5aa02f,JSON['stringify'](_0xa42aeb,null,0x2),'utf8'),this['index']['attachments'][_0x2fbdda]&&(this[_0x468831(0x179)]['attachments'][_0x2fbdda][_0x468831(0x176)]=_0xa42aeb[_0x468831(0x176)]),this['index']['agentRefs'][_0x382144]&&(this[_0x468831(0x179)]['agentRefs'][_0x382144]=this[_0x468831(0x179)]['agentRefs'][_0x382144][_0x468831(0x175)](_0x16b5f5=>_0x16b5f5!==_0x2fbdda)),await this['saveIndex'](),this['logger']?.[_0x468831(0x180)](_0x468831(0x19d),{'fileId':_0x2fbdda,'agentId':_0x382144,'remainingRefs':_0xa42aeb['referencedBy'][_0x468831(0x1b0)]}),![];}const _0x403f99=a0_0x185671[_0x468831(0x1aa)](ATTACHMENTS_DIR,_0xa42aeb['agentId'],_0x2fbdda);return await this['fileProcessor'][_0x468831(0x187)](_0x403f99),delete this['index'][_0x468831(0x182)][_0x2fbdda],this[_0x468831(0x179)]['agentRefs'][_0x382144]&&(this[_0x468831(0x179)][_0x468831(0x16d)][_0x382144]=this[_0x468831(0x179)][_0x468831(0x16d)][_0x382144][_0x468831(0x175)](_0x18a6b9=>_0x18a6b9!==_0x2fbdda)),await this['saveIndex'](),this['logger']?.['info'](_0x468831(0x184),{'fileId':_0x2fbdda,'agentId':_0x382144}),!![];}catch(_0x375fff){this['logger']?.[_0x468831(0x18c)](_0x468831(0x194),{'fileId':_0x2fbdda,'agentId':_0x382144,'error':_0x375fff['message']});throw _0x375fff;}}async[a0_0x34ad67(0x198)](_0x438919){const _0x2d9859=a0_0x34ad67;try{const _0x1f175c=this[_0x2d9859(0x179)]['agentRefs'][_0x438919]||[];let _0x30cef9=0x0,_0x7fae22=0x0;for(const _0x3a00d9 of _0x1f175c){const _0x5abf07=await this[_0x2d9859(0x1a5)](_0x3a00d9,_0x438919);_0x5abf07?_0x30cef9++:_0x7fae22++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x438919,'deleted':_0x30cef9,'dereferenced':_0x7fae22}),{'deleted':_0x30cef9,'dereferenced':_0x7fae22};}catch(_0x6b8f67){this['logger']?.['error'](_0x2d9859(0x1a3),{'agentId':_0x438919,'error':_0x6b8f67['message']});throw _0x6b8f67;}}async[a0_0x34ad67(0x17e)](_0x160d29,_0x449917){const _0x2e6fc1=a0_0x34ad67;try{const _0x3176e6=await this['getAttachment'](_0x160d29);if(!_0x3176e6)throw new Error(_0x2e6fc1(0x1b6)+_0x160d29);!_0x3176e6[_0x2e6fc1(0x176)]['includes'](_0x449917)&&_0x3176e6[_0x2e6fc1(0x176)][_0x2e6fc1(0x192)](_0x449917);_0x3176e6[_0x2e6fc1(0x1a2)]=new Date()[_0x2e6fc1(0x170)](),_0x3176e6[_0x2e6fc1(0x18b)]=_0x3176e6['agentId'];const _0xab4532=a0_0x185671[_0x2e6fc1(0x1aa)](ATTACHMENTS_DIR,_0x3176e6['agentId'],_0x160d29,_0x2e6fc1(0x18f));return await this['fileProcessor']['writeFile'](_0xab4532,JSON['stringify'](_0x3176e6,null,0x2),_0x2e6fc1(0x193)),this['index']['attachments'][_0x160d29]&&(this[_0x2e6fc1(0x179)][_0x2e6fc1(0x182)][_0x160d29]['referencedBy']=_0x3176e6['referencedBy']),!this[_0x2e6fc1(0x179)]['agentRefs'][_0x449917]&&(this[_0x2e6fc1(0x179)][_0x2e6fc1(0x16d)][_0x449917]=[]),!this[_0x2e6fc1(0x179)][_0x2e6fc1(0x16d)][_0x449917]['includes'](_0x160d29)&&this['index'][_0x2e6fc1(0x16d)][_0x449917]['push'](_0x160d29),await this['saveIndex'](),this[_0x2e6fc1(0x1a6)]?.['info']('Attachment imported',{'sourceFileId':_0x160d29,'targetAgentId':_0x449917}),_0x3176e6;}catch(_0x299e15){this['logger']?.[_0x2e6fc1(0x18c)]('Error importing attachment',{'sourceFileId':_0x160d29,'targetAgentId':_0x449917,'error':_0x299e15['message']});throw _0x299e15;}}async[a0_0x34ad67(0x1a7)](_0x4b4670){return await this['getAttachments'](_0x4b4670,{'active':!![]});}async['getAttachmentPreview'](_0x8ef979){const _0x30af15=a0_0x34ad67;try{const _0x20b1f9=await this[_0x30af15(0x18e)](_0x8ef979);if(!_0x20b1f9)return null;if(_0x20b1f9['startsWith']('data:image'))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x20b1f9[_0x30af15(0x1b0)]>0x3e8?_0x20b1f9['substring'](0x0,0x3e8)+_0x30af15(0x183):_0x20b1f9;}catch(_0x193063){return this[_0x30af15(0x1a6)]?.[_0x30af15(0x18c)](_0x30af15(0x1a1),{'fileId':_0x8ef979,'error':_0x193063[_0x30af15(0x1b9)]}),null;}}}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x5a1f1c=a0_0x2ba6;(function(_0x565280,_0x3925f8){const _0x12daac=a0_0x2ba6,_0x3f481e=_0x565280();while(!![]){try{const _0x118dc4=-parseInt(_0x12daac(0x194))/0x1+-parseInt(_0x12daac(0x19d))/0x2*(parseInt(_0x12daac(0x1bb))/0x3)+-parseInt(_0x12daac(0x173))/0x4+-parseInt(_0x12daac(0x199))/0x5*(-parseInt(_0x12daac(0x179))/0x6)+-parseInt(_0x12daac(0x1a1))/0x7*(-parseInt(_0x12daac(0x180))/0x8)+-parseInt(_0x12daac(0x1b0))/0x9*(parseInt(_0x12daac(0x17a))/0xa)+parseInt(_0x12daac(0x1b4))/0xb*(parseInt(_0x12daac(0x170))/0xc);if(_0x118dc4===_0x3925f8)break;else _0x3f481e['push'](_0x3f481e['shift']());}catch(_0x3f9665){_0x3f481e['push'](_0x3f481e['shift']());}}}(a0_0xfcb5,0x6cd26));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';function a0_0x2ba6(_0x40c309,_0x2c1b6b){_0x40c309=_0x40c309-0x16d;const _0xfcb592=a0_0xfcb5();let _0x2ba634=_0xfcb592[_0x40c309];if(a0_0x2ba6['wmLksD']===undefined){var _0x2ec975=function(_0x42e0c2){const _0x52ba82='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x84a569='',_0x4605f3='';for(let _0x3145eb=0x0,_0x6a1b06,_0x226a5e,_0x3d876d=0x0;_0x226a5e=_0x42e0c2['charAt'](_0x3d876d++);~_0x226a5e&&(_0x6a1b06=_0x3145eb%0x4?_0x6a1b06*0x40+_0x226a5e:_0x226a5e,_0x3145eb++%0x4)?_0x84a569+=String['fromCharCode'](0xff&_0x6a1b06>>(-0x2*_0x3145eb&0x6)):0x0){_0x226a5e=_0x52ba82['indexOf'](_0x226a5e);}for(let _0x140ac=0x0,_0x3a3435=_0x84a569['length'];_0x140ac<_0x3a3435;_0x140ac++){_0x4605f3+='%'+('00'+_0x84a569['charCodeAt'](_0x140ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4605f3);};a0_0x2ba6['yTpxON']=_0x2ec975,a0_0x2ba6['KtkjyH']={},a0_0x2ba6['wmLksD']=!![];}const _0x517c00=_0xfcb592[0x0],_0x56bee7=_0x40c309+_0x517c00,_0x3df345=a0_0x2ba6['KtkjyH'][_0x56bee7];return!_0x3df345?(_0x2ba634=a0_0x2ba6['yTpxON'](_0x2ba634),a0_0x2ba6['KtkjyH'][_0x56bee7]=_0x2ba634):_0x2ba634=_0x3df345,_0x2ba634;}class ModelRouterService{constructor(_0x84a569,_0x4605f3,_0x3145eb,_0x6a1b06){const _0x1e6b90=a0_0x2ba6;this[_0x1e6b90(0x171)]=_0x84a569,this[_0x1e6b90(0x16f)]=_0x4605f3,this[_0x1e6b90(0x1ad)]=_0x3145eb,this['aiService']=_0x6a1b06,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x1e6b90(0x176)]=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x1e6b90(0x1b6)];}async[a0_0x5a1f1c(0x1a5)](_0x226a5e,_0x3d876d=[],_0x140ac='',_0x3a3435=[],_0x14139f={}){const _0x708df9=a0_0x5a1f1c;try{this['logger'][_0x708df9(0x17d)](_0x708df9(0x192),{'messageLength':_0x226a5e[_0x708df9(0x183)]?.['length']||0x0,'recentMessagesCount':_0x3d876d['length'],'currentModel':_0x140ac,'availableModelsCount':_0x3a3435[_0x708df9(0x189)]});const _0x21f8fc=this[_0x708df9(0x19c)](_0x226a5e,_0x3d876d,_0x140ac,_0x3a3435),_0x39d48f=this[_0x708df9(0x1ad)]['getBenchmarkTable'](),_0xaf6259=this['_createRoutingPrompt'](_0x21f8fc,_0x39d48f),_0x34463f=await this['_askForRouting'](_0xaf6259,_0x14139f),_0x50ba07=this['_validateModelSelection'](_0x34463f,_0x3a3435,_0x140ac);return this['logger'][_0x708df9(0x19a)]('Model\x20routing\x20completed',{'selectedModel':_0x50ba07,'previousModel':_0x140ac,'changed':_0x50ba07!==_0x140ac,'reasoning':_0x34463f['reasoning']?.[_0x708df9(0x1ab)](0x0,0x64)||_0x708df9(0x19b)}),{'selectedModel':_0x50ba07,'previousModel':_0x140ac,'changed':_0x50ba07!==_0x140ac,'reasoning':_0x34463f['reasoning']||_0x708df9(0x19b)};}catch(_0x80ddd0){this[_0x708df9(0x16f)][_0x708df9(0x1ba)]('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x80ddd0['message'],'currentModel':_0x140ac});const _0x178da0=_0x140ac||_0x3a3435[0x0]||MODELS[_0x708df9(0x1a9)];return{'selectedModel':_0x178da0,'previousModel':_0x140ac,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x5a1f1c(0x19c)](_0xc9b977,_0x2423ae,_0x1aec9d,_0x42de49){const _0x134631=a0_0x5a1f1c,_0x4c2195=_0x2423ae[_0x134631(0x195)](-this[_0x134631(0x176)])[_0x134631(0x1a3)](_0x4d66ba=>({'role':_0x4d66ba['role'],'content':_0x4d66ba[_0x134631(0x183)]?.['substring'](0x0,0x1f4)||'','timestamp':_0x4d66ba[_0x134631(0x17b)]}));return{'currentMessage':{'content':_0xc9b977['content']?.[_0x134631(0x1ab)](0x0,0x3e8)||'','role':_0xc9b977[_0x134631(0x1b1)]||'user','hasContextReferences':!!_0xc9b977['contextReferences']?.['length'],'contextTypes':_0xc9b977['contextReferences']?.['map'](_0x5085da=>_0x5085da['type'])||[]},'recentMessages':_0x4c2195,'currentModel':_0x1aec9d,'availableModels':_0x42de49['map'](_0x3ac2e1=>({'name':_0x3ac2e1,'isCurrentModel':_0x3ac2e1===_0x1aec9d})),'messageCount':_0x2423ae[_0x134631(0x189)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x2f1ddc,_0x5baa54){const _0x1f7e65=a0_0x5a1f1c;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x2f1ddc[_0x1f7e65(0x1af)]||_0x1f7e65(0x19f))+_0x1f7e65(0x18b)+_0x2f1ddc[_0x1f7e65(0x185)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x2f1ddc['availableModels']['map'](_0x3a7167=>_0x3a7167['name'])['join'](',\x20')+_0x1f7e65(0x18e)+this[_0x1f7e65(0x182)](_0x2f1ddc['recentMessages'])+_0x1f7e65(0x172)+_0x2f1ddc['currentMessage'][_0x1f7e65(0x1b1)]+_0x1f7e65(0x1ae)+_0x2f1ddc['currentMessage'][_0x1f7e65(0x183)]+_0x1f7e65(0x175)+_0x2f1ddc['currentMessage'][_0x1f7e65(0x1a8)]+'\x0a'+(_0x2f1ddc[_0x1f7e65(0x1a0)]['contextTypes']['length']>0x0?'**Context\x20Types**:\x20'+_0x2f1ddc[_0x1f7e65(0x1a0)][_0x1f7e65(0x190)][_0x1f7e65(0x178)](',\x20'):'')+_0x1f7e65(0x1a6)+this['_formatBenchmarkData'](_0x5baa54)+_0x1f7e65(0x197);}['_formatRecentMessages'](_0x2ca1e9){const _0x529861=a0_0x5a1f1c;if(!_0x2ca1e9['length'])return'No\x20recent\x20messages\x20available.';return _0x2ca1e9[_0x529861(0x1a3)]((_0x8f9778,_0x3a4257)=>_0x3a4257+0x1+_0x529861(0x186)+_0x8f9778[_0x529861(0x1b1)]+'**:\x20'+_0x8f9778[_0x529861(0x183)])['join']('\x0a');}['_formatBenchmarkData'](_0xfdb748){const _0xdb73f9=a0_0x5a1f1c,_0x2bbcc0=_0xfdb748['models']||[],_0x51a9ec=_0xfdb748[_0xdb73f9(0x193)]||{},_0x4f2404=_0xfdb748['summary']||{};let _0x16b367='###\x20Model\x20Performance\x20Summary\x0a';return Object['entries'](_0x51a9ec)[_0xdb73f9(0x1a4)](([_0x2da17d,_0x45e4c8])=>{const _0xc154da=_0xdb73f9;_0x16b367+='**'+_0x2da17d['toUpperCase']()+_0xc154da(0x181)+_0x45e4c8[_0xc154da(0x18d)]+'):\x20'+(_0x45e4c8['topModels']?.['join'](',\x20')||_0xc154da(0x1a7))+'\x0a';}),_0x16b367+='\x0a###\x20Model\x20Details\x0a',_0x2bbcc0['slice'](0x0,0x8)[_0xdb73f9(0x1a4)](_0x2aac06=>{const _0x2aa13b=_0xdb73f9;_0x16b367+='**'+_0x2aac06['name']+'**:\x20';const _0x17a10d=Object[_0x2aa13b(0x1b5)](_0x2aac06['tasks']||{})['map'](([_0x2275f2,_0x2ce576])=>_0x2275f2+'('+_0x2ce576[_0x2aa13b(0x17f)]+')')['join'](',\x20');_0x16b367+=_0x17a10d+_0x2aa13b(0x16e)+(_0x2aac06['strengths']?.[_0x2aa13b(0x178)](',\x20')||_0x2aa13b(0x1b7))+'\x0a';}),_0x16b367;}async[a0_0x5a1f1c(0x18f)](_0x4ea941,_0x1c3a36={}){const _0x3bfdb5=a0_0x5a1f1c;try{const _0x22835c=await this['aiService'][_0x3bfdb5(0x1b8)](this[_0x3bfdb5(0x1a2)],_0x4ea941,{'agentId':'model-router','systemPrompt':'You\x20are\x20a\x20model\x20routing\x20expert.\x20Analyze\x20conversations\x20and\x20select\x20optimal\x20AI\x20models.\x20Always\x20respond\x20with\x20valid\x20JSON\x20only.','temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x3bfdb5(0x187)],'sessionId':_0x1c3a36[_0x3bfdb5(0x17c)],'apiKey':_0x1c3a36[_0x3bfdb5(0x1aa)]||this['config']['apiKey'],'customApiKeys':_0x1c3a36['customApiKeys'],'platformProvided':!![]});if(!_0x22835c[_0x3bfdb5(0x183)])throw new Error('No response content from autopilot-model-router');const _0x48b0e0=this['_parseRoutingResponse'](_0x22835c[_0x3bfdb5(0x183)]);return _0x48b0e0;}catch(_0x1841c9){this[_0x3bfdb5(0x16f)]['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x1841c9['message'],'routerModel':this['routerModel']});throw _0x1841c9;}}['_parseRoutingResponse'](_0x5e0a7a){const _0x4518bd=a0_0x5a1f1c;try{const _0x5c07cc=_0x5e0a7a['match'](/\{[\s\S]*\}/);if(!_0x5c07cc)throw new Error(_0x4518bd(0x1ac));const _0x560444=JSON[_0x4518bd(0x19e)](_0x5c07cc[0x0]);if(!_0x560444['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x560444[_0x4518bd(0x177)],'taskType':_0x560444[_0x4518bd(0x198)]||_0x4518bd(0x1b3),'confidence':_0x560444['confidence']||0.5,'reasoning':_0x560444[_0x4518bd(0x16d)]||_0x4518bd(0x19b),'factors':_0x560444[_0x4518bd(0x174)]||[]};}catch(_0x5ac15b){return this['logger']['warn'](_0x4518bd(0x18c),{'error':_0x5ac15b['message'],'content':_0x5e0a7a[_0x4518bd(0x1ab)](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':['parsing-error']};}}['_validateModelSelection'](_0x3cd10a,_0x281a4e,_0x5a1293){const _0x3c03b0=a0_0x5a1f1c,{selectedModel:_0x2d11cf}=_0x3cd10a;if(!_0x2d11cf)return this[_0x3c03b0(0x16f)]['debug'](_0x3c03b0(0x191)),_0x5a1293;if(!_0x281a4e[_0x3c03b0(0x184)](_0x2d11cf))return this[_0x3c03b0(0x16f)][_0x3c03b0(0x1b2)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x2d11cf,'availableModels':_0x281a4e}),_0x5a1293;return _0x2d11cf;}[a0_0x5a1f1c(0x1b9)](){const _0x206453=a0_0x5a1f1c;return{'routerModel':this[_0x206453(0x1a2)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0x206453(0x187)],'benchmarkServiceStatus':this[_0x206453(0x1ad)]['getStatus'](),'isAvailable':!![]};}async[a0_0x5a1f1c(0x188)](){const _0x554dc1=a0_0x5a1f1c;try{const _0x2edd79={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':'user'},_0x248985=await this[_0x554dc1(0x1a5)](_0x2edd79,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x554dc1(0x17e)],MODELS['GPT_4'],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x554dc1(0x16f)]['info']('Router\x20test\x20completed',{'selectedModel':_0x248985}),{'success':!![],'selectedModel':_0x248985};}catch(_0x2417e5){return this['logger']['error'](_0x554dc1(0x196),{'error':_0x2417e5['message']}),{'success':![],'error':_0x2417e5[_0x554dc1(0x18a)]};}}}export default ModelRouterService;function a0_0xfcb5(){const _0x27e3cc=['DgLTzxn0yw1W','C2vZC2LVBKLK','zgvIDwC','qu5usfjpueLdx09qvvm','C2nVCMu','nJi3nJbltM5ItMK','kIOGka','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgvUDa','Aw5JBhvKzxm','BwvZC2fNzunVDw50','lIaQkG','CMvXDwvZDfrPBwvVDxq','DgvZDfjVDxrLCG','BgvUz3rO','BwvZC2fNzq','cI0GkIPnzxnZywDLienVDw50kIO6ia','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','zgvZy3jPChrPB24','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','x2fZA0zVCLjVDxrPBMC','y29UDgv4Dfr5CgvZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','DgfZA3m','mZK4nJmWuMX2vKrq','C2XPy2u','uM91DgvYihrLC3qGzMfPBgvK','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','DgfZA1r5Cgu','ndvptMPMBeK','Aw5MBW','tM8GCMvHC29UAw5NihbYB3zPzgvK','x2j1AwXKuM91DgLUz0nVBNrLEhq','mtKYmdm0t3vnAvz1','CgfYC2u','tM9Uzq','y3vYCMvUDe1LC3nHz2u','nZKXzMLUrg9W','CM91DgvYtw9KzwW','BwfW','zM9YrwfJAa','CM91DgvnzxnZywDL','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','tM8Gzgf0yq','AgfZq29UDgv4DfjLzMvYzw5Jzxm','qu5usfjpueLdx1nptK5fva','yxbPs2v5','C3vIC3rYAw5N','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','yMvUy2HTyxjRu2vYDMLJzq','cIOQq29UDgvUDcOQoIa','y3vYCMvUDe1VzgvS','ntC0otiWovbzrMvyBG','CM9Szq','D2fYBG','Dw5RBM93BG','odHNwerTt3K','zw50CMLLCW','uKvrvuvtvf9usu1ft1vu','tI9b','C2vUze1LC3nHz2u','z2v0u3rHDhvZ','zxjYB3i','m0vwteX4qq','CMvHC29UAw5N','ihWGu3rYzw5NDgHZoIa','Bg9Nz2vY','mtC5odqWnfjvEvnzEa','y29UzMLN','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','mZe3nJu5nK9lvLnfsG','zMfJDg9YCW','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','y29UDgv4De1LC3nHz2vZq291BNq','C2vSzwn0zwrnB2rLBa','AM9PBG','mtKXotqWvLP2DuTg','mtbNsNLYEeW'];a0_0xfcb5=function(){return _0x27e3cc;};return a0_0xfcb5();}
1
+ function a0_0x21cf(_0x3e1860,_0x32bfa4){_0x3e1860=_0x3e1860-0x6b;const _0x381f97=a0_0x381f();let _0x21cf9d=_0x381f97[_0x3e1860];if(a0_0x21cf['dAgizy']===undefined){var _0x1902a8=function(_0x51f344){const _0x24a874='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x192757='',_0xa07733='';for(let _0x4fda58=0x0,_0x369c0a,_0x48504a,_0x422883=0x0;_0x48504a=_0x51f344['charAt'](_0x422883++);~_0x48504a&&(_0x369c0a=_0x4fda58%0x4?_0x369c0a*0x40+_0x48504a:_0x48504a,_0x4fda58++%0x4)?_0x192757+=String['fromCharCode'](0xff&_0x369c0a>>(-0x2*_0x4fda58&0x6)):0x0){_0x48504a=_0x24a874['indexOf'](_0x48504a);}for(let _0x409e98=0x0,_0x5cd877=_0x192757['length'];_0x409e98<_0x5cd877;_0x409e98++){_0xa07733+='%'+('00'+_0x192757['charCodeAt'](_0x409e98)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa07733);};a0_0x21cf['oxnGJS']=_0x1902a8,a0_0x21cf['cynklA']={},a0_0x21cf['dAgizy']=!![];}const _0x4b9da6=_0x381f97[0x0],_0x27bc9f=_0x3e1860+_0x4b9da6,_0x23ef4b=a0_0x21cf['cynklA'][_0x27bc9f];return!_0x23ef4b?(_0x21cf9d=a0_0x21cf['oxnGJS'](_0x21cf9d),a0_0x21cf['cynklA'][_0x27bc9f]=_0x21cf9d):_0x21cf9d=_0x23ef4b,_0x21cf9d;}const a0_0x55bfee=a0_0x21cf;(function(_0x259164,_0x2d0b3f){const _0x2d4111=a0_0x21cf,_0x41d7ee=_0x259164();while(!![]){try{const _0x1907ea=-parseInt(_0x2d4111(0x73))/0x1*(-parseInt(_0x2d4111(0x84))/0x2)+parseInt(_0x2d4111(0x99))/0x3*(parseInt(_0x2d4111(0xb6))/0x4)+parseInt(_0x2d4111(0x8b))/0x5+parseInt(_0x2d4111(0x7e))/0x6+-parseInt(_0x2d4111(0x9d))/0x7*(-parseInt(_0x2d4111(0x7f))/0x8)+parseInt(_0x2d4111(0x8d))/0x9+parseInt(_0x2d4111(0x95))/0xa*(-parseInt(_0x2d4111(0x70))/0xb);if(_0x1907ea===_0x2d0b3f)break;else _0x41d7ee['push'](_0x41d7ee['shift']());}catch(_0x39776a){_0x41d7ee['push'](_0x41d7ee['shift']());}}}(a0_0x381f,0xabd16));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x192757,_0xa07733,_0x4fda58,_0x369c0a){const _0x4fcc1d=a0_0x21cf;this['config']=_0x192757,this[_0x4fcc1d(0xab)]=_0xa07733,this[_0x4fcc1d(0x96)]=_0x4fda58,this[_0x4fcc1d(0xbe)]=_0x369c0a,this[_0x4fcc1d(0x89)]=MODEL_ROUTER_CONFIG[_0x4fcc1d(0xb0)],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x4fcc1d(0x77)],this['requestTimeout']=MODEL_ROUTER_CONFIG[_0x4fcc1d(0x91)];}async[a0_0x55bfee(0x6c)](_0x48504a,_0x422883=[],_0x409e98='',_0x5cd877=[],_0xef6803={}){const _0xfe86fa=a0_0x55bfee;try{this['logger'][_0xfe86fa(0xaa)]('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x48504a[_0xfe86fa(0x87)]?.['length']||0x0,'recentMessagesCount':_0x422883['length'],'currentModel':_0x409e98,'availableModelsCount':_0x5cd877['length']});const _0x108073=this['_buildRoutingContext'](_0x48504a,_0x422883,_0x409e98,_0x5cd877),_0x45f506=this['benchmarkService'][_0xfe86fa(0xbc)](),_0x29181=this[_0xfe86fa(0x6f)](_0x108073,_0x45f506),_0x565acb=await this[_0xfe86fa(0xbb)](_0x29181,_0xef6803),_0x8465f1=this[_0xfe86fa(0xbd)](_0x565acb,_0x5cd877,_0x409e98);return this[_0xfe86fa(0xab)][_0xfe86fa(0xb7)](_0xfe86fa(0x74),{'selectedModel':_0x8465f1,'previousModel':_0x409e98,'changed':_0x8465f1!==_0x409e98,'reasoning':_0x565acb[_0xfe86fa(0xad)]?.['substring'](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x8465f1,'previousModel':_0x409e98,'changed':_0x8465f1!==_0x409e98,'reasoning':_0x565acb[_0xfe86fa(0xad)]||'No\x20reasoning\x20provided'};}catch(_0x185fdf){this[_0xfe86fa(0xab)]['error'](_0xfe86fa(0x85),{'error':_0x185fdf['message'],'currentModel':_0x409e98});const _0x30c30f=_0x409e98||_0x5cd877[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x30c30f,'previousModel':_0x409e98,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x55bfee(0xa1)](_0x4693c1,_0x48b56d,_0x4c339c,_0x1fe351){const _0x518656=a0_0x55bfee,_0x24e899=_0x48b56d[_0x518656(0x83)](-this['contextMessagesCount'])['map'](_0x4b8dac=>({'role':_0x4b8dac[_0x518656(0x9e)],'content':_0x4b8dac['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x4b8dac[_0x518656(0x72)]}));return{'currentMessage':{'content':_0x4693c1[_0x518656(0x87)]?.[_0x518656(0x75)](0x0,0x3e8)||'','role':_0x4693c1['role']||_0x518656(0x8f),'hasContextReferences':!!_0x4693c1[_0x518656(0x7b)]?.[_0x518656(0x9a)],'contextTypes':_0x4693c1[_0x518656(0x7b)]?.[_0x518656(0xc0)](_0x136f8f=>_0x136f8f['type'])||[]},'recentMessages':_0x24e899,'currentModel':_0x4c339c,'availableModels':_0x1fe351['map'](_0x330a0e=>({'name':_0x330a0e,'isCurrentModel':_0x330a0e===_0x4c339c})),'messageCount':_0x48b56d[_0x518656(0x9a)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x44f711,_0x570e44){const _0x37603e=a0_0x55bfee;return'You\x20are\x20a\x20model\x20routing\x20assistant.\x20Your\x20job\x20is\x20to\x20analyze\x20a\x20conversation\x20and\x20select\x20the\x20optimal\x20AI\x20model\x20for\x20the\x20next\x20response.\x0a\x0a##\x20Current\x20Situation\x0a-\x20**Current\x20Model**:\x20'+(_0x44f711[_0x37603e(0x98)]||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x44f711[_0x37603e(0x71)]+'\x0a-\x20**Available\x20Models**:\x20'+_0x44f711['availableModels'][_0x37603e(0xc0)](_0x50f972=>_0x50f972['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x44f711['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x44f711['currentMessage']['role']+_0x37603e(0x93)+_0x44f711[_0x37603e(0xaf)]['content']+_0x37603e(0x6d)+_0x44f711['currentMessage']['hasContextReferences']+'\x0a'+(_0x44f711['currentMessage'][_0x37603e(0x90)][_0x37603e(0x9a)]>0x0?_0x37603e(0x88)+_0x44f711['currentMessage']['contextTypes'][_0x37603e(0x8a)](',\x20'):'')+_0x37603e(0x86)+this[_0x37603e(0xa2)](_0x570e44)+'\x0a\x0a##\x20Routing\x20Decision\x0aAnalyze\x20the\x20current\x20message\x20and\x20conversation\x20context\x20to\x20select\x20the\x20best\x20model.\x20Consider:\x0a\x0a1.\x20**Task\x20Type**:\x20Infer\x20from\x20conversation\x20content\x20-\x20is\x20this\x20coding,\x20analysis,\x20creative\x20writing,\x20or\x20a\x20quick\x20task?\x0a2.\x20**Complexity**:\x20Does\x20it\x20require\x20deep\x20reasoning\x20or\x20is\x20it\x20straightforward?\x0a3.\x20**Context**:\x20Are\x20there\x20code\x20files\x20or\x20technical\x20references?\x0a4.\x20**Conversation\x20Flow**:\x20What\x20has\x20been\x20discussed\x20recently\x20to\x20understand\x20the\x20overall\x20task?\x0a5.\x20**Efficiency**:\x20Balance\x20performance\x20with\x20cost/speed\x20needs\x0a\x0aRespond\x20with\x20JSON\x20only:\x0a{\x0a\x20\x20\x22selectedModel\x22:\x20\x22model-name\x22,\x0a\x20\x20\x22taskType\x22:\x20\x22coding|analysis|creative|quick-tasks\x22,\x0a\x20\x20\x22confidence\x22:\x200.85,\x0a\x20\x20\x22reasoning\x22:\x20\x22Brief\x20explanation\x20of\x20why\x20this\x20model\x20was\x20chosen\x22,\x0a\x20\x20\x22factors\x22:\x20[\x22factor1\x22,\x20\x22factor2\x22,\x20\x22factor3\x22]\x0a}';}[a0_0x55bfee(0x81)](_0x3a8fec){const _0x113895=a0_0x55bfee;if(!_0x3a8fec[_0x113895(0x9a)])return _0x113895(0xa6);return _0x3a8fec[_0x113895(0xc0)]((_0x5e731b,_0x1c3662)=>_0x1c3662+0x1+_0x113895(0x8e)+_0x5e731b['role']+'**:\x20'+_0x5e731b['content'])[_0x113895(0x8a)]('\x0a');}[a0_0x55bfee(0xa2)](_0x20c260){const _0x2eeb4a=a0_0x55bfee,_0x25c9e4=_0x20c260['models']||[],_0x4cf494=_0x20c260[_0x2eeb4a(0x9b)]||{},_0x2def7a=_0x20c260[_0x2eeb4a(0xa7)]||{};let _0x4f8a28=_0x2eeb4a(0x6e);return Object['entries'](_0x4cf494)['forEach'](([_0x17c6f1,_0x143542])=>{const _0xdabdef=_0x2eeb4a;_0x4f8a28+='**'+_0x17c6f1['toUpperCase']()+_0xdabdef(0x80)+_0x143542[_0xdabdef(0xb5)]+_0xdabdef(0x94)+(_0x143542[_0xdabdef(0xb4)]?.['join'](',\x20')||_0xdabdef(0xb1))+'\x0a';}),_0x4f8a28+='\x0a###\x20Model\x20Details\x0a',_0x25c9e4[_0x2eeb4a(0x83)](0x0,0x8)[_0x2eeb4a(0x76)](_0x6e9d08=>{const _0x52fad7=_0x2eeb4a;_0x4f8a28+='**'+_0x6e9d08[_0x52fad7(0xa3)]+_0x52fad7(0xa0);const _0x4de0de=Object['entries'](_0x6e9d08['tasks']||{})['map'](([_0x31767f,_0x496538])=>_0x31767f+'('+_0x496538[_0x52fad7(0x8c)]+')')['join'](',\x20');_0x4f8a28+=_0x4de0de+_0x52fad7(0xa8)+(_0x6e9d08['strengths']?.[_0x52fad7(0x8a)](',\x20')||'N/A')+'\x0a';}),_0x4f8a28;}async['_askForRouting'](_0x22e947,_0x278e35={}){const _0x35ed7c=a0_0x55bfee;try{const _0xbc621f=await this['aiService']['sendMessage'](this['routerModel'],_0x22e947,{'agentId':'model-router','systemPrompt':'You\x20are\x20a\x20model\x20routing\x20expert.\x20Analyze\x20conversations\x20and\x20select\x20optimal\x20AI\x20models.\x20Always\x20respond\x20with\x20valid\x20JSON\x20only.','temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x35ed7c(0xb2)],'sessionId':_0x278e35['sessionId'],'apiKey':_0x278e35[_0x35ed7c(0x79)]||this['config']['apiKey'],'customApiKeys':_0x278e35[_0x35ed7c(0xae)],'platformProvided':!![]});if(!_0xbc621f['content'])throw new Error('No response content from autopilot-model-router');const _0x10508e=this[_0x35ed7c(0x7a)](_0xbc621f[_0x35ed7c(0x87)]);return _0x10508e;}catch(_0x5b3c45){this['logger']['error']('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x5b3c45['message'],'routerModel':this[_0x35ed7c(0x89)]});throw _0x5b3c45;}}['_parseRoutingResponse'](_0x5799fa){const _0x42fd31=a0_0x55bfee;try{const _0x19ac5b=_0x5799fa['match'](/\{[\s\S]*\}/);if(!_0x19ac5b)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x19fea0=JSON[_0x42fd31(0xb8)](_0x19ac5b[0x0]);if(!_0x19fea0[_0x42fd31(0xbf)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x19fea0['selectedModel'],'taskType':_0x19fea0['taskType']||_0x42fd31(0x82),'confidence':_0x19fea0[_0x42fd31(0x7c)]||0.5,'reasoning':_0x19fea0[_0x42fd31(0xad)]||_0x42fd31(0xac),'factors':_0x19fea0['factors']||[]};}catch(_0x5d4ab8){return this[_0x42fd31(0xab)]['warn'](_0x42fd31(0xb3),{'error':_0x5d4ab8[_0x42fd31(0xa9)],'content':_0x5799fa['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x42fd31(0x82),'confidence':0x0,'reasoning':_0x42fd31(0xb9),'factors':[_0x42fd31(0x97)]};}}[a0_0x55bfee(0xbd)](_0x16da84,_0x3e2993,_0x550517){const _0x12a4e4=a0_0x55bfee,{selectedModel:_0x1f4b2b}=_0x16da84;if(!_0x1f4b2b)return this['logger'][_0x12a4e4(0xaa)](_0x12a4e4(0xa5)),_0x550517;if(!_0x3e2993[_0x12a4e4(0x7d)](_0x1f4b2b))return this[_0x12a4e4(0xab)][_0x12a4e4(0x78)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x1f4b2b,'availableModels':_0x3e2993}),_0x550517;return _0x1f4b2b;}['getStatus'](){const _0x174740=a0_0x55bfee;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x174740(0x9c)],'requestTimeout':this[_0x174740(0xb2)],'benchmarkServiceStatus':this[_0x174740(0x96)][_0x174740(0xa4)](),'isAvailable':!![]};}async['testRouter'](){const _0x3cf453=a0_0x55bfee;try{const _0x2c3ba2={'content':_0x3cf453(0x92),'role':_0x3cf453(0x8f)},_0x429095=await this[_0x3cf453(0x6c)](_0x2c3ba2,[],MODELS[_0x3cf453(0x6b)],[MODELS[_0x3cf453(0x6b)],MODELS['ANTHROPIC_OPUS'],MODELS[_0x3cf453(0x9f)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this['logger'][_0x3cf453(0xb7)]('Router\x20test\x20completed',{'selectedModel':_0x429095}),{'success':!![],'selectedModel':_0x429095};}catch(_0x22ae1c){return this['logger']['error'](_0x3cf453(0xba),{'error':_0x22ae1c['message']}),{'success':![],'error':_0x22ae1c[_0x3cf453(0xa9)]};}}}function a0_0x381f(){const _0x192295=['AM9PBG','mtG0nZe5nvLpre5nAW','C2nVCMu','mtiWmJuZmtrJD1LsANi','lIaQkG','DxnLCG','y29UDgv4Dfr5CgvZ','uKvrvuvtvf9usu1ft1vu','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','cIOQq29UDgvUDcOQoIa','ktOG','mtbRyxv3Cfe','yMvUy2HTyxjRu2vYDMLJzq','CgfYC2LUzY1LCNjVCG','y3vYCMvUDe1VzgvS','mtuWndqXnLPcC1zRDG','BgvUz3rO','DgfZA3m','y29UDgv4De1LC3nHz2vZq291BNq','mtrjuLjnrei','CM9Szq','r1buxZq','kIO6ia','x2j1AwXKuM91DgLUz0nVBNrLEhq','x2zVCM1HDejLBMnOBwfYA0rHDge','BMfTzq','z2v0u3rHDhvZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','C3vTBwfYEq','ihWGu3rYzw5NDgHZoIa','BwvZC2fNzq','zgvIDwC','Bg9Nz2vY','tM8GCMvHC29UAw5NihbYB3zPzgvK','CMvHC29UAw5N','y3vZDg9TqxbPs2v5CW','y3vYCMvUDe1LC3nHz2u','uK9vvevsx01prevm','tM8Gzgf0yq','CMvXDwvZDfrPBwvVDxq','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','Dg9Wtw9KzwXZ','zgvZy3jPChrPB24','ng1HwePUwa','Aw5MBW','CgfYC2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','uM91DgvYihrLC3qGzMfPBgvK','x2fZA0zVCLjVDxrPBMC','z2v0qMvUy2HTyxjRvgfIBgu','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','ywLtzxj2AwnL','C2vSzwn0zwrnB2rLBa','BwfW','qu5usfjpueLdx1nptK5fva','CM91DgvnzxnZywDL','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','x2nYzwf0zvjVDxrPBMDqCM9TChq','mZKYndaXntDxtKfUDuq','BwvZC2fNzunVDw50','DgLTzxn0yw1W','nfrer3HNCq','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','C3vIC3rYAw5N','zM9YrwfJAa','q09ovevyvf9nrvntquDfu19dt1vova','D2fYBG','yxbPs2v5','x3bHCNnLuM91DgLUz1jLC3bVBNnL','y29UDgv4DfjLzMvYzw5Jzxm','y29UzMLKzw5Jzq','Aw5JBhvKzxm','mZiYotmYmhLLtgvKuG','ndK5mty5nML0rMnRyW','kIOGka','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','Dw5RBM93BG','C2XPy2u','mtm4oti2ve5fDvbO','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','y29UDgvUDa','kIPdB250zxH0ifr5CgvZkIO6ia','CM91DgvYtw9KzwW'];a0_0x381f=function(){return _0x192295;};return a0_0x381f();}export default ModelRouterService;
@@ -1 +1 @@
1
- const a0_0x4801e1=a0_0x27c7;(function(_0x40a278,_0xd4270a){const _0x327fb4=a0_0x27c7,_0x2dbe78=_0x40a278();while(!![]){try{const _0x5eb85a=-parseInt(_0x327fb4(0x16b))/0x1*(parseInt(_0x327fb4(0x166))/0x2)+-parseInt(_0x327fb4(0x17a))/0x3*(parseInt(_0x327fb4(0x186))/0x4)+parseInt(_0x327fb4(0x181))/0x5+-parseInt(_0x327fb4(0x176))/0x6+-parseInt(_0x327fb4(0x172))/0x7+-parseInt(_0x327fb4(0x19c))/0x8*(-parseInt(_0x327fb4(0x16d))/0x9)+parseInt(_0x327fb4(0x174))/0xa*(parseInt(_0x327fb4(0x19a))/0xb);if(_0x5eb85a===_0xd4270a)break;else _0x2dbe78['push'](_0x2dbe78['shift']());}catch(_0x4fc981){_0x2dbe78['push'](_0x2dbe78['shift']());}}}(a0_0x5ae4,0xa6cb5));class ModelsService{constructor(_0x41d373,_0x51776c){const _0x249740=a0_0x27c7;this[_0x249740(0x17c)]=_0x41d373,this[_0x249740(0x199)]=_0x51776c,this['models']=null,this['lastFetched']=null,this[_0x249740(0x18d)]=![],this[_0x249740(0x17d)]=0x5*0x3c*0x3e8,this[_0x249740(0x192)]=_0x41d373['backendUrl']||_0x249740(0x184),this[_0x249740(0x1a1)]=0x0,this['maxRetries']=0x3,this['retryDelay']=0x7d0,this['retryTimer']=null,this[_0x249740(0x16a)]=null,this[_0x249740(0x17f)]=null;}['setApiKeyManager'](_0x5c81cd){const _0x3863f7=a0_0x27c7;this[_0x3863f7(0x17f)]=_0x5c81cd,this[_0x3863f7(0x199)]?.['info'](_0x3863f7(0x173),{'hasManager':!!_0x5c81cd});}async['initialize'](){const _0x37eba0=a0_0x27c7;try{await this['fetchModels'](),this['logger']['info'](_0x37eba0(0x18b),{'modelCount':this[_0x37eba0(0x17e)]?.['length']||0x0});}catch(_0x34a8ca){this['lastError']=_0x34a8ca['message'],this['logger'][_0x37eba0(0x194)](_0x37eba0(0x198),{'error':_0x34a8ca['message'],'endpoint':this[_0x37eba0(0x192)]+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x4801e1(0x179)](){const _0x294a5e=a0_0x4801e1;if(!this[_0x294a5e(0x17e)]||this[_0x294a5e(0x17e)][_0x294a5e(0x17b)]===0x0)return this[_0x294a5e(0x199)][_0x294a5e(0x194)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),[];return this['models'][_0x294a5e(0x185)](_0x525ac2=>_0x525ac2['name']);}['getModels'](){const _0x2f0b19=a0_0x4801e1;if(!this['models']||this[_0x2f0b19(0x17e)][_0x2f0b19(0x17b)]===0x0)return this['logger'][_0x2f0b19(0x194)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0x2f0b19(0x171)}),[];return this[_0x2f0b19(0x17e)];}async[a0_0x4801e1(0x16c)](_0x5ed0cb=null){const _0x5f7a2e=a0_0x4801e1;if(this['isLoading']){this['logger']['debug'](_0x5f7a2e(0x19b));return;}this['isLoading']=!![];try{const _0x16f603=this['backendUrl']+_0x5f7a2e(0x171);let _0x3a20ac=null;if(this[_0x5f7a2e(0x17f)]&&_0x5ed0cb&&_0x5ed0cb['sessionId']){const _0x5c12ee=this[_0x5f7a2e(0x17f)]['getKeysForRequest'](_0x5ed0cb[_0x5f7a2e(0x197)],{'platformProvided':!![],'vendor':null});_0x3a20ac=_0x5c12ee['loxiaApiKey'],this[_0x5f7a2e(0x199)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x5ed0cb['sessionId'],'hasLoxiaKey':!!_0x3a20ac});}if(!_0x3a20ac&&_0x5ed0cb&&_0x5ed0cb['apiKey'])_0x3a20ac=_0x5ed0cb['apiKey'];else{if(!_0x3a20ac&&this['config'][_0x5f7a2e(0x195)])_0x3a20ac=this['config'][_0x5f7a2e(0x195)];else!_0x3a20ac&&process[_0x5f7a2e(0x18e)]['LOXIA_API_KEY']&&(_0x3a20ac=process[_0x5f7a2e(0x18e)]['LOXIA_API_KEY']);}const _0x3dda04={'method':_0x5f7a2e(0x182),'headers':{'Content-Type':'application/json',..._0x3a20ac&&{'Authorization':'Bearer\x20'+_0x3a20ac}},'timeout':0x2710};this['logger'][_0x5f7a2e(0x191)]('Fetching models from backend',{'url':_0x16f603,'hasApiKey':!!_0x3a20ac,'apiKeySource':_0x5ed0cb?.[_0x5f7a2e(0x195)]?_0x5f7a2e(0x175):this[_0x5f7a2e(0x17c)]['apiKey']?_0x5f7a2e(0x17c):process['env'][_0x5f7a2e(0x169)]?'env':_0x5f7a2e(0x168)});const _0x2b55b1=await fetch(_0x16f603,_0x3dda04);if(!_0x2b55b1['ok'])throw new Error('HTTP\x20'+_0x2b55b1[_0x5f7a2e(0x170)]+':\x20'+_0x2b55b1['statusText']);const _0x3ddf57=await _0x2b55b1[_0x5f7a2e(0x18c)]();if(_0x3ddf57['models']&&Array[_0x5f7a2e(0x188)](_0x3ddf57[_0x5f7a2e(0x17e)]))this['models']=_0x3ddf57['models'],this[_0x5f7a2e(0x193)]=new Date(),this['needsRefresh']=![],this['logger']['info']('Models fetched from backend',{'modelCount':this[_0x5f7a2e(0x17e)]['length'],'models':this['models'][_0x5f7a2e(0x185)](_0x490973=>_0x490973['name'])});else throw new Error('Invalid response format from models API');}catch(_0xbed2de){this[_0x5f7a2e(0x16a)]=_0xbed2de[_0x5f7a2e(0x189)],this[_0x5f7a2e(0x199)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0xbed2de[_0x5f7a2e(0x189)],'endpoint':url,'retryAttempt':this[_0x5f7a2e(0x1a1)],'maxRetries':this['maxRetries']}),this[_0x5f7a2e(0x1a0)](_0x5ed0cb);if(!this[_0x5f7a2e(0x17e)])throw _0xbed2de;}finally{this[_0x5f7a2e(0x18d)]=![];}}['needsRefresh'](){const _0x5874e8=a0_0x4801e1;if(!this['lastFetched'])return!![];const _0x42d509=Date[_0x5874e8(0x18f)]()-this['lastFetched'][_0x5874e8(0x16e)]();return _0x42d509>this[_0x5874e8(0x17d)];}async[a0_0x4801e1(0x167)](_0x34e1f7=null){const _0x1feb1b=a0_0x4801e1;this['logger'][_0x1feb1b(0x19f)](_0x1feb1b(0x196)),await this['fetchModels'](_0x34e1f7);}async[a0_0x4801e1(0x187)](_0x59f55e){const _0x3cf1c6=a0_0x4801e1;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x3cf1c6(0x199)][_0x3cf1c6(0x191)]('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x3cf1c6(0x16c)](_0x59f55e));}['_scheduleRetry'](_0x5545b0=null){const _0x2c0207=a0_0x4801e1;this['retryTimer']&&(clearTimeout(this[_0x2c0207(0x18a)]),this[_0x2c0207(0x18a)]=null);if(this[_0x2c0207(0x1a1)]>=this[_0x2c0207(0x16f)]){this[_0x2c0207(0x199)]['error'](_0x2c0207(0x19e),{'attempts':this[_0x2c0207(0x1a1)],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x41fabc=this['retryDelay']*Math[_0x2c0207(0x190)](0x2,this['retryAttempts']);this[_0x2c0207(0x1a1)]++,this[_0x2c0207(0x199)][_0x2c0207(0x19f)](_0x2c0207(0x178),{'attempt':this[_0x2c0207(0x1a1)],'maxRetries':this['maxRetries'],'delayMs':_0x41fabc}),this['retryTimer']=setTimeout(async()=>{const _0x189099=_0x2c0207;this['logger'][_0x189099(0x19f)]('Executing\x20scheduled\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x5545b0),this['retryAttempts']=0x0,this[_0x189099(0x16a)]=null;}catch(_0x23ed19){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x23ed19['message']});}},_0x41fabc);}['_cancelRetry'](){const _0x3a53c1=a0_0x4801e1;this[_0x3a53c1(0x18a)]&&(clearTimeout(this['retryTimer']),this['retryTimer']=null,this[_0x3a53c1(0x199)]['debug'](_0x3a53c1(0x183)));}[a0_0x4801e1(0x177)](){const _0x1df183=a0_0x4801e1;return{'initialized':!!this[_0x1df183(0x17e)],'lastFetched':this['lastFetched']?.[_0x1df183(0x180)]()||null,'modelCount':this[_0x1df183(0x17e)]?.[_0x1df183(0x17b)]||0x0,'isLoading':this[_0x1df183(0x18d)],'needsRefresh':this[_0x1df183(0x19d)](),'error':this['lastError']||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this[_0x1df183(0x16a)]};}}function a0_0x27c7(_0x1a1102,_0x115e23){_0x1a1102=_0x1a1102-0x166;const _0x5ae451=a0_0x5ae4();let _0x27c7a0=_0x5ae451[_0x1a1102];if(a0_0x27c7['mSGUkI']===undefined){var _0x57da5c=function(_0x507d62){const _0x35150d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41d373='',_0x51776c='';for(let _0x5c81cd=0x0,_0x34a8ca,_0x525ac2,_0x5ed0cb=0x0;_0x525ac2=_0x507d62['charAt'](_0x5ed0cb++);~_0x525ac2&&(_0x34a8ca=_0x5c81cd%0x4?_0x34a8ca*0x40+_0x525ac2:_0x525ac2,_0x5c81cd++%0x4)?_0x41d373+=String['fromCharCode'](0xff&_0x34a8ca>>(-0x2*_0x5c81cd&0x6)):0x0){_0x525ac2=_0x35150d['indexOf'](_0x525ac2);}for(let _0x16f603=0x0,_0x3a20ac=_0x41d373['length'];_0x16f603<_0x3a20ac;_0x16f603++){_0x51776c+='%'+('00'+_0x41d373['charCodeAt'](_0x16f603)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51776c);};a0_0x27c7['WEEQvF']=_0x57da5c,a0_0x27c7['yHHaVQ']={},a0_0x27c7['mSGUkI']=!![];}const _0x22422d=_0x5ae451[0x0],_0xb02070=_0x1a1102+_0x22422d,_0x12c178=a0_0x27c7['yHHaVQ'][_0xb02070];return!_0x12c178?(_0x27c7a0=a0_0x27c7['WEEQvF'](_0x27c7a0),a0_0x27c7['yHHaVQ'][_0xb02070]=_0x27c7a0):_0x27c7a0=_0x12c178,_0x27c7a0;}function a0_0x5ae4(){const _0x458ba2=['BM9Uzq','te9ysufFqvbjx0Tfwq','BgfZDevYCM9Y','mNLNvNHkva','zMv0y2HnB2rLBhm','nJG0otLRqunuD2W','z2v0vgLTzq','Bwf4uMv0CMLLCW','C3rHDhvZ','l2fWAs9SBg0VBw9KzwXZ','mtC5mdG4mhvyt0Dpsa','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','mteWBLrlqKfA','y29UDgv4Da','mZG4nte0neD0swntAa','z2v0u3rHDhvZ','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','ovnfwLnpsG','BgvUz3rO','y29UzMLN','y2fJAgvfEhbPCNK','Bw9KzwXZ','yxbPs2v5twfUywDLCG','Dg9ju09tDhjPBMC','ndqXodKYmfn3DNPetW','r0vu','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','BwfW','mty4otCWnhfvBuTKBW','CMvMCMvZAfDPDgHdB250zxH0','AxnbCNjHEq','BwvZC2fNzq','CMv0CNLuAw1LCG','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','ANnVBG','AxnmB2fKAw5N','zw52','BM93','Cg93','zgvIDwC','yMfJA2vUzfvYBa','BgfZDezLDgnOzwq','zxjYB3i','yxbPs2v5','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','C2vZC2LVBKLK','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','Bg9Nz2vY','mti3ntG1n251EufnuW','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','mtmYofzkyw5Zua','BMvLzhnszwzYzxnO','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','Aw5MBW','x3nJAgvKDwXLuMv0CNK','CMv0CNLbDhrLBxb0CW','nty5mJm2sxzmwvDw','CMvMCMvZAa'];a0_0x5ae4=function(){return _0x458ba2;};return a0_0x5ae4();}export default ModelsService;
1
+ function a0_0x32ea(_0x5ca875,_0x1730b6){_0x5ca875=_0x5ca875-0x10f;const _0x3eba70=a0_0x3eba();let _0x32eaab=_0x3eba70[_0x5ca875];if(a0_0x32ea['VSxUcn']===undefined){var _0x11d06e=function(_0x2e6ee2){const _0x210e56='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fc58b='',_0x5f3cb1='';for(let _0x320b0f=0x0,_0x503427,_0x1369ff,_0x50002=0x0;_0x1369ff=_0x2e6ee2['charAt'](_0x50002++);~_0x1369ff&&(_0x503427=_0x320b0f%0x4?_0x503427*0x40+_0x1369ff:_0x1369ff,_0x320b0f++%0x4)?_0x2fc58b+=String['fromCharCode'](0xff&_0x503427>>(-0x2*_0x320b0f&0x6)):0x0){_0x1369ff=_0x210e56['indexOf'](_0x1369ff);}for(let _0x111d54=0x0,_0x3bd0b1=_0x2fc58b['length'];_0x111d54<_0x3bd0b1;_0x111d54++){_0x5f3cb1+='%'+('00'+_0x2fc58b['charCodeAt'](_0x111d54)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5f3cb1);};a0_0x32ea['SyJfWe']=_0x11d06e,a0_0x32ea['kQhlde']={},a0_0x32ea['VSxUcn']=!![];}const _0x32aae3=_0x3eba70[0x0],_0x115176=_0x5ca875+_0x32aae3,_0x47216a=a0_0x32ea['kQhlde'][_0x115176];return!_0x47216a?(_0x32eaab=a0_0x32ea['SyJfWe'](_0x32eaab),a0_0x32ea['kQhlde'][_0x115176]=_0x32eaab):_0x32eaab=_0x47216a,_0x32eaab;}const a0_0x2f1c7f=a0_0x32ea;(function(_0x2528be,_0x5a684d){const _0x1afb7c=a0_0x32ea,_0x469a5b=_0x2528be();while(!![]){try{const _0x152370=-parseInt(_0x1afb7c(0x124))/0x1*(parseInt(_0x1afb7c(0x121))/0x2)+-parseInt(_0x1afb7c(0x111))/0x3*(parseInt(_0x1afb7c(0x144))/0x4)+-parseInt(_0x1afb7c(0x129))/0x5+-parseInt(_0x1afb7c(0x137))/0x6+-parseInt(_0x1afb7c(0x11c))/0x7*(parseInt(_0x1afb7c(0x12f))/0x8)+parseInt(_0x1afb7c(0x117))/0x9+-parseInt(_0x1afb7c(0x126))/0xa*(-parseInt(_0x1afb7c(0x145))/0xb);if(_0x152370===_0x5a684d)break;else _0x469a5b['push'](_0x469a5b['shift']());}catch(_0x3676b7){_0x469a5b['push'](_0x469a5b['shift']());}}}(a0_0x3eba,0x1a1da));class ModelsService{constructor(_0x2fc58b,_0x5f3cb1){const _0x5d7c99=a0_0x32ea;this['config']=_0x2fc58b,this[_0x5d7c99(0x131)]=_0x5f3cb1,this['models']=null,this[_0x5d7c99(0x130)]=null,this[_0x5d7c99(0x141)]=![],this[_0x5d7c99(0x135)]=0x5*0x3c*0x3e8,this['backendUrl']=_0x2fc58b['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this['maxRetries']=0x3,this[_0x5d7c99(0x11b)]=0x7d0,this['retryTimer']=null,this['lastError']=null,this[_0x5d7c99(0x12d)]=null;}[a0_0x2f1c7f(0x13a)](_0x320b0f){const _0x2317c6=a0_0x2f1c7f;this[_0x2317c6(0x12d)]=_0x320b0f,this['logger']?.[_0x2317c6(0x14b)](_0x2317c6(0x13f),{'hasManager':!!_0x320b0f});}async[a0_0x2f1c7f(0x136)](){const _0x22cc35=a0_0x2f1c7f;try{await this['fetchModels'](),this['logger'][_0x22cc35(0x14b)]('Models\x20service\x20initialized',{'modelCount':this['models']?.['length']||0x0});}catch(_0x503427){this[_0x22cc35(0x127)]=_0x503427[_0x22cc35(0x110)],this[_0x22cc35(0x131)][_0x22cc35(0x143)](_0x22cc35(0x114),{'error':_0x503427[_0x22cc35(0x110)],'endpoint':this['backendUrl']+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x2f1c7f(0x11d)](){const _0xad9e9=a0_0x2f1c7f;if(!this[_0xad9e9(0x14c)]||this[_0xad9e9(0x14c)]['length']===0x0)return this[_0xad9e9(0x131)][_0xad9e9(0x143)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0xad9e9(0x138),'retryAttempt':this[_0xad9e9(0x113)],'maxRetries':this['maxRetries']}),[];return this['models'][_0xad9e9(0x122)](_0x1369ff=>_0x1369ff['name']);}[a0_0x2f1c7f(0x13b)](){const _0x34cb6e=a0_0x2f1c7f;if(!this['models']||this['models'][_0x34cb6e(0x133)]===0x0)return this['logger']['error'](_0x34cb6e(0x118),{'lastError':this['lastError'],'endpoint':this[_0x34cb6e(0x11e)]+'/api/llm/models'}),[];return this[_0x34cb6e(0x14c)];}async['fetchModels'](_0x50002=null){const _0x3a5fe2=a0_0x2f1c7f;if(this['isLoading']){this['logger']['debug'](_0x3a5fe2(0x128));return;}this['isLoading']=!![];try{const _0x111d54=this['backendUrl']+'/api/llm/models';let _0x3bd0b1=null;if(this['apiKeyManager']&&_0x50002&&_0x50002['sessionId']){const _0x5a7d87=this['apiKeyManager'][_0x3a5fe2(0x134)](_0x50002[_0x3a5fe2(0x146)],{'platformProvided':!![],'vendor':null});_0x3bd0b1=_0x5a7d87[_0x3a5fe2(0x12a)],this[_0x3a5fe2(0x131)]?.[_0x3a5fe2(0x14b)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x50002['sessionId'],'hasLoxiaKey':!!_0x3bd0b1});}if(!_0x3bd0b1&&_0x50002&&_0x50002[_0x3a5fe2(0x12e)])_0x3bd0b1=_0x50002[_0x3a5fe2(0x12e)];else{if(!_0x3bd0b1&&this[_0x3a5fe2(0x119)]['apiKey'])_0x3bd0b1=this[_0x3a5fe2(0x119)]['apiKey'];else!_0x3bd0b1&&process[_0x3a5fe2(0x10f)][_0x3a5fe2(0x12c)]&&(_0x3bd0b1=process['env']['LOXIA_API_KEY']);}const _0x2776a3={'method':'GET','headers':{'Content-Type':_0x3a5fe2(0x11f),..._0x3bd0b1&&{'Authorization':'Bearer\x20'+_0x3bd0b1}},'timeout':0x2710};this[_0x3a5fe2(0x131)]['debug']('Fetching models from backend',{'url':_0x111d54,'hasApiKey':!!_0x3bd0b1,'apiKeySource':_0x50002?.[_0x3a5fe2(0x12e)]?'context':this['config']['apiKey']?_0x3a5fe2(0x119):process['env'][_0x3a5fe2(0x12c)]?'env':'none'});const _0xb3f799=await fetch(_0x111d54,_0x2776a3);if(!_0xb3f799['ok'])throw new Error('HTTP\x20'+_0xb3f799[_0x3a5fe2(0x14a)]+':\x20'+_0xb3f799[_0x3a5fe2(0x147)]);const _0xf66081=await _0xb3f799['json']();if(_0xf66081[_0x3a5fe2(0x14c)]&&Array['isArray'](_0xf66081[_0x3a5fe2(0x14c)]))this[_0x3a5fe2(0x14c)]=_0xf66081['models'],this['lastFetched']=new Date(),this[_0x3a5fe2(0x112)]=![],this['logger']['info']('Models fetched from backend',{'modelCount':this[_0x3a5fe2(0x14c)]['length'],'models':this[_0x3a5fe2(0x14c)][_0x3a5fe2(0x122)](_0x151c9c=>_0x151c9c[_0x3a5fe2(0x116)])});else throw new Error('Invalid response format from models API');}catch(_0x5b380d){this[_0x3a5fe2(0x127)]=_0x5b380d[_0x3a5fe2(0x110)],this[_0x3a5fe2(0x131)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x5b380d['message'],'endpoint':url,'retryAttempt':this[_0x3a5fe2(0x113)],'maxRetries':this[_0x3a5fe2(0x13e)]}),this['_scheduleRetry'](_0x50002);if(!this['models'])throw _0x5b380d;}finally{this[_0x3a5fe2(0x141)]=![];}}[a0_0x2f1c7f(0x112)](){const _0x38bd3e=a0_0x2f1c7f;if(!this[_0x38bd3e(0x130)])return!![];const _0x329222=Date[_0x38bd3e(0x115)]()-this[_0x38bd3e(0x130)]['getTime']();return _0x329222>this['cacheExpiry'];}async[a0_0x2f1c7f(0x13c)](_0x9ab2d3=null){const _0x182ad4=a0_0x2f1c7f;this[_0x182ad4(0x131)]['info'](_0x182ad4(0x12b)),await this['fetchModels'](_0x9ab2d3);}async['refreshWithContext'](_0x6eb368){const _0x22392d=a0_0x2f1c7f;(this[_0x22392d(0x112)]||!this[_0x22392d(0x130)])&&(this['logger'][_0x22392d(0x120)](_0x22392d(0x123)),await this['fetchModels'](_0x6eb368));}[a0_0x2f1c7f(0x13d)](_0x5b4001=null){const _0x22140d=a0_0x2f1c7f;this[_0x22140d(0x139)]&&(clearTimeout(this['retryTimer']),this[_0x22140d(0x139)]=null);if(this[_0x22140d(0x113)]>=this['maxRetries']){this[_0x22140d(0x131)][_0x22140d(0x143)](_0x22140d(0x132),{'attempts':this[_0x22140d(0x113)],'maxRetries':this['maxRetries'],'lastError':this[_0x22140d(0x127)]});return;}const _0x2c2a06=this[_0x22140d(0x11b)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger'][_0x22140d(0x14b)](_0x22140d(0x149),{'attempt':this[_0x22140d(0x113)],'maxRetries':this[_0x22140d(0x13e)],'delayMs':_0x2c2a06}),this[_0x22140d(0x139)]=setTimeout(async()=>{const _0x586eae=_0x22140d;this['logger']['info'](_0x586eae(0x140),{'attempt':this[_0x586eae(0x113)]});try{await this[_0x586eae(0x11a)](_0x5b4001),this[_0x586eae(0x113)]=0x0,this['lastError']=null;}catch(_0x1baffe){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this['retryAttempts'],'error':_0x1baffe[_0x586eae(0x110)]});}},_0x2c2a06);}[a0_0x2f1c7f(0x125)](){const _0xadbd12=a0_0x2f1c7f;this[_0xadbd12(0x139)]&&(clearTimeout(this[_0xadbd12(0x139)]),this['retryTimer']=null,this['logger']['debug'](_0xadbd12(0x142)));}[a0_0x2f1c7f(0x148)](){const _0x1dcc75=a0_0x2f1c7f;return{'initialized':!!this[_0x1dcc75(0x14c)],'lastFetched':this[_0x1dcc75(0x130)]?.['toISOString']()||null,'modelCount':this['models']?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this['lastError']||null,'retryAttempts':this[_0x1dcc75(0x113)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;function a0_0x3eba(){const _0xa9e914=['mta2mti5ofHOufbuAq','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','y29UzMLN','zMv0y2HnB2rLBhm','CMv0CNLezwXHEq','n0TqEhzuCq','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','yMfJA2vUzfvYBa','yxbWBgLJyxrPB24VANnVBG','zgvIDwC','mtiZngThDMnnEa','BwfW','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','mtyZs3jor2ro','x2nHBMnLBfjLDhj5','mtyZndeWDND1y2HL','BgfZDevYCM9Y','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','mZa4mJy1wvHUsvvO','Bg94AwfbCgLlzxK','rM9Yy2uGCMvMCMvZAgLUzYbTB2rLBhm','te9ysufFqvbjx0Tfwq','yxbPs2v5twfUywDLCG','yxbPs2v5','mtaWmtG5nKj5rKXOua','BgfZDezLDgnOzwq','Bg9Nz2vY','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','BgvUz3rO','z2v0s2v5C0zVCLjLCxvLC3q','y2fJAgvfEhbPCNK','Aw5PDgLHBgL6zq','ndy5nJy4rej2tfDh','l2fWAs9SBg0VBw9KzwXZ','CMv0CNLuAw1LCG','C2v0qxbPs2v5twfUywDLCG','z2v0tw9KzwXZ','CMvMCMvZAa','x3nJAgvKDwXLuMv0CNK','Bwf4uMv0CMLLCW','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','AxnmB2fKAw5N','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','zxjYB3i','mZC2Du9Owvzm','mJuZvwTJugHL','C2vZC2LVBKLK','C3rHDhvZvgv4Da','z2v0u3rHDhvZ','u2nOzwr1BgLUzYbTB2rLBcbMzxrJAcbYzxrYEq','C3rHDhvZ','Aw5MBW','Bw9KzwXZ','zw52','BwvZC2fNzq','nJCYAwvVvLDQ','BMvLzhnszwzYzxnO','CMv0CNLbDhrLBxb0CW','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','BM93','BMfTzq'];a0_0x3eba=function(){return _0xa9e914;};return a0_0x3eba();}
@@ -1 +1 @@
1
- const a0_0x146f5e=a0_0x2df4;(function(_0xea83d6,_0x52f667){const _0x591105=a0_0x2df4,_0x4c9968=_0xea83d6();while(!![]){try{const _0x2d6dcd=-parseInt(_0x591105(0x124))/0x1*(-parseInt(_0x591105(0x132))/0x2)+parseInt(_0x591105(0xef))/0x3+-parseInt(_0x591105(0xf5))/0x4+-parseInt(_0x591105(0x133))/0x5+parseInt(_0x591105(0x111))/0x6+-parseInt(_0x591105(0x135))/0x7+parseInt(_0x591105(0x154))/0x8;if(_0x2d6dcd===_0x52f667)break;else _0x4c9968['push'](_0x4c9968['shift']());}catch(_0x1720f4){_0x4c9968['push'](_0x4c9968['shift']());}}}(a0_0x2b25,0x86a4c));import{QUALITY_INSPECTOR_CONFIG,AGENT_STATUS,MESSAGE_ROLES}from'../utilities/constants.js';import{logger}from'../utilities/logger.js';export class QualityInspector{constructor(_0x20b923){const _0x2d21e2=a0_0x2df4;this[_0x2d21e2(0x102)]=_0x20b923,this['config']=QUALITY_INSPECTOR_CONFIG,this['monitoringData']=new Map(),this[_0x2d21e2(0x153)]=new Map(),this[_0x2d21e2(0x159)]=![],this[_0x2d21e2(0x126)]=null,this['patterns']={'repetitiveCommands':new PatternDetector(_0x2d21e2(0x16a),0x5,0x493e0),'infiniteWaiting':new PatternDetector(_0x2d21e2(0x113),0x3,0x927c0),'errorLoops':new PatternDetector('error_loops',0x4,0x2bf20),'resourceExhaustion':new PatternDetector('resource_exhaustion',0x2,0x1d4c0)},this['metrics']={'totalInterventions':0x0,'successfulInterventions':0x0,'falsePositives':0x0,'agentsMonitored':new Set(),'patternsDetected':new Map()};}['start'](){const _0xd5bf02=a0_0x2df4;if(this[_0xd5bf02(0x159)]){logger['warn']('Quality\x20Inspector\x20is\x20already\x20running');return;}this['isRunning']=!![],this['checkInterval']=setInterval(()=>{this['performQualityCheck']();},this[_0xd5bf02(0xf3)][_0xd5bf02(0x128)]*0x3e8),logger['info'](_0xd5bf02(0x129),{'checkInterval':this['config']['CHECK_INTERVAL_MESSAGES'],'stuckPatterns':this['config'][_0xd5bf02(0x104)],'interventionThreshold':this['config']['INTERVENTION_THRESHOLD']});}[a0_0x146f5e(0x162)](){const _0x127ff5=a0_0x146f5e;if(!this[_0x127ff5(0x159)])return;this[_0x127ff5(0x159)]=![],this['checkInterval']&&(clearInterval(this[_0x127ff5(0x126)]),this[_0x127ff5(0x126)]=null),logger[_0x127ff5(0x152)](_0x127ff5(0x148),{'totalInterventions':this[_0x127ff5(0xec)][_0x127ff5(0x139)],'successfulInterventions':this['metrics']['successfulInterventions'],'agentsMonitored':this[_0x127ff5(0xec)][_0x127ff5(0x169)]['size']});}['recordActivity'](_0xb9798d,_0x5e8707){const _0x3fa07a=a0_0x146f5e;if(!this['isRunning'])return;try{!this['monitoringData'][_0x3fa07a(0xf7)](_0xb9798d)&&(this[_0x3fa07a(0xfc)][_0x3fa07a(0x14d)](_0xb9798d,{'activityHistory':[],'messageCount':0x0,'lastActivity':Date[_0x3fa07a(0x15e)](),'currentPattern':null,'stuckCount':0x0,'errors':[],'performanceMetrics':{'averageResponseTime':0x0,'totalMessages':0x0,'errorRate':0x0}}),this['metrics']['agentsMonitored'][_0x3fa07a(0x161)](_0xb9798d));const _0x266daf=this[_0x3fa07a(0xfc)][_0x3fa07a(0x10f)](_0xb9798d);_0x266daf[_0x3fa07a(0xea)]['push']({..._0x5e8707,'timestamp':Date[_0x3fa07a(0x15e)]()}),_0x266daf[_0x3fa07a(0xea)]['length']>0x64&&(_0x266daf[_0x3fa07a(0xea)]=_0x266daf[_0x3fa07a(0xea)]['slice'](-0x64)),_0x266daf[_0x3fa07a(0x11f)]=Date['now'](),_0x266daf['messageCount']++,this[_0x3fa07a(0x145)](_0xb9798d,_0x5e8707),this['detectPatterns'](_0xb9798d,_0x5e8707),logger[_0x3fa07a(0xf4)]('Activity\x20recorded',{'agentId':_0xb9798d,'activityType':_0x5e8707['type'],'messageCount':_0x266daf[_0x3fa07a(0xfa)]});}catch(_0x515bf3){logger['error'](_0x3fa07a(0x14f),{'error':_0x515bf3['message'],'agentId':_0xb9798d});}}async['performQualityCheck'](){const _0x3db0f3=a0_0x146f5e;try{logger[_0x3db0f3(0xf4)]('Performing\x20quality\x20check',{'agentsMonitored':this['metrics']['agentsMonitored'][_0x3db0f3(0x15b)]});for(const [_0x9c50e7,_0x4a9feb]of this[_0x3db0f3(0xfc)]){await this['checkAgentQuality'](_0x9c50e7,_0x4a9feb);}this[_0x3db0f3(0x131)]();}catch(_0xc833c6){logger[_0x3db0f3(0xfb)](_0x3db0f3(0x10e),{'error':_0xc833c6[_0x3db0f3(0x120)]});}}async[a0_0x146f5e(0x10d)](_0x399456,_0x397ac8){const _0x545ce6=a0_0x146f5e;try{const _0x3e915f=this[_0x545ce6(0x146)](_0x399456,_0x397ac8);if(_0x3e915f){await this['handleStuckAgent'](_0x399456,_0x3e915f);return;}const _0x513241=this[_0x545ce6(0x143)](_0x399456,_0x397ac8);if(_0x513241){await this[_0x545ce6(0x140)](_0x399456,_0x513241);return;}const _0xe274bc=this['detectErrorPattern'](_0x399456,_0x397ac8);if(_0xe274bc){await this['handleErrorPattern'](_0x399456,_0xe274bc);return;}_0x397ac8[_0x545ce6(0x14b)]>0x0&&(_0x397ac8[_0x545ce6(0x14b)]=0x0,logger[_0x545ce6(0xf4)]('Agent\x20recovered',{'agentId':_0x399456}));}catch(_0x1c5b90){logger[_0x545ce6(0xfb)](_0x545ce6(0x114),{'error':_0x1c5b90['message'],'agentId':_0x399456});}}['detectStuckPattern'](_0x498f69,_0x5e99ab){const _0x959fc2=a0_0x146f5e,_0x1be213=Date[_0x959fc2(0x15e)](),_0x1c5b34=_0x5e99ab['activityHistory']['filter'](_0x46e8fa=>_0x1be213-_0x46e8fa['timestamp']<0x927c0);if(this[_0x959fc2(0xeb)][_0x959fc2(0x15a)]['check'](_0x1c5b34))return{'type':_0x959fc2(0x16a),'description':_0x959fc2(0x158),'severity':_0x959fc2(0x12d),'activities':_0x1c5b34};if(this[_0x959fc2(0xeb)][_0x959fc2(0x12f)][_0x959fc2(0x13d)](_0x1c5b34))return{'type':'infinite_waiting','description':_0x959fc2(0x15d),'severity':'high','activities':_0x1c5b34};if(this[_0x959fc2(0xeb)]['errorLoops']['check'](_0x1c5b34))return{'type':'error_loops','description':'Agent\x20is\x20stuck\x20in\x20an\x20error\x20loop','severity':'high','activities':_0x1c5b34};if(this['patterns'][_0x959fc2(0xf2)][_0x959fc2(0x13d)](_0x1c5b34))return{'type':_0x959fc2(0x121),'description':'Agent\x20is\x20experiencing\x20resource\x20exhaustion','severity':_0x959fc2(0x14e),'activities':_0x1c5b34};return null;}[a0_0x146f5e(0x143)](_0x73964,_0x155dea){const _0x5eebd1=a0_0x146f5e,_0x49b6a3=_0x155dea['performanceMetrics'];if(_0x49b6a3[_0x5eebd1(0x10a)]>0x7530)return{'type':_0x5eebd1(0x11c),'description':_0x5eebd1(0x160),'severity':_0x5eebd1(0x12d),'metrics':{'averageResponseTime':_0x49b6a3[_0x5eebd1(0x10a)]}};if(_0x49b6a3[_0x5eebd1(0x157)]>0.5)return{'type':'high_error_rate','description':'Agent\x20has\x20high\x20error\x20rate','severity':'high','metrics':{'errorRate':_0x49b6a3['errorRate']}};return null;}[a0_0x146f5e(0x110)](_0x420637,_0x3aefab){const _0x532b6d=a0_0x146f5e,_0xa352e6=_0x3aefab['errors']['filter'](_0xdc910d=>Date['now']()-_0xdc910d[_0x532b6d(0xf1)]<0x493e0);if(_0xa352e6[_0x532b6d(0xf0)]>=0x3){const _0x1c3b7e=_0xa352e6['map'](_0x7bbb08=>_0x7bbb08[_0x532b6d(0xf8)]),_0x73f8f8=[...new Set(_0x1c3b7e)];if(_0x73f8f8[_0x532b6d(0xf0)]===0x1)return{'type':'recurring_error','description':'Agent\x20is\x20experiencing\x20recurring\x20'+_0x73f8f8[0x0]+'\x20errors','severity':_0x532b6d(0x144),'errorType':_0x73f8f8[0x0],'count':_0xa352e6[_0x532b6d(0xf0)]};}return null;}async[a0_0x146f5e(0x147)](_0x12cc4d,_0x140fe4){const _0x5e9bad=a0_0x146f5e;try{const _0x1c9540=this[_0x5e9bad(0xfc)]['get'](_0x12cc4d);_0x1c9540[_0x5e9bad(0x14b)]++,!this[_0x5e9bad(0xec)][_0x5e9bad(0x125)][_0x5e9bad(0xf7)](_0x140fe4['type'])&&this[_0x5e9bad(0xec)][_0x5e9bad(0x125)]['set'](_0x140fe4[_0x5e9bad(0xf8)],0x0),this[_0x5e9bad(0xec)]['patternsDetected']['set'](_0x140fe4['type'],this['metrics']['patternsDetected'][_0x5e9bad(0x10f)](_0x140fe4[_0x5e9bad(0xf8)])+0x1),logger['warn'](_0x5e9bad(0x122),{'agentId':_0x12cc4d,'pattern':_0x140fe4['type'],'severity':_0x140fe4['severity'],'stuckCount':_0x1c9540['stuckCount']}),_0x1c9540['stuckCount']>=this['config']['INTERVENTION_THRESHOLD']&&await this['performIntervention'](_0x12cc4d,_0x140fe4);}catch(_0x522dcf){logger['error'](_0x5e9bad(0x11d),{'error':_0x522dcf[_0x5e9bad(0x120)],'agentId':_0x12cc4d});}}async['handlePerformanceIssue'](_0x5e144b,_0x423712){const _0x297283=a0_0x146f5e;try{logger['warn'](_0x297283(0x136),{'agentId':_0x5e144b,'issueType':_0x423712[_0x297283(0xf8)],'severity':_0x423712['severity'],'metrics':_0x423712['metrics']});const _0x331d7e=this[_0x297283(0x12a)](_0x423712);_0x331d7e&&await this['orchestrator'][_0x297283(0x119)](_0x5e144b,{'type':_0x297283(0xfe),'content':_0x331d7e,'priority':'medium'});}catch(_0x282cd1){logger['error'](_0x297283(0x155),{'error':_0x282cd1[_0x297283(0x120)],'agentId':_0x5e144b});}}async[a0_0x146f5e(0x166)](_0x3f31e8,_0x3ca877){const _0x3e3cf7=a0_0x146f5e;try{logger[_0x3e3cf7(0x14c)](_0x3e3cf7(0x106),{'agentId':_0x3f31e8,'patternType':_0x3ca877[_0x3e3cf7(0xf8)],'errorType':_0x3ca877[_0x3e3cf7(0x15c)],'count':_0x3ca877['count']});const _0xb34a50=this['generateErrorGuidance'](_0x3ca877);_0xb34a50&&await this[_0x3e3cf7(0x102)][_0x3e3cf7(0x119)](_0x3f31e8,{'type':_0x3e3cf7(0x10c),'content':_0xb34a50,'priority':_0x3e3cf7(0x144)});}catch(_0x10ed5d){logger['error'](_0x3e3cf7(0x13b),{'error':_0x10ed5d[_0x3e3cf7(0x120)],'agentId':_0x3f31e8});}}async['performIntervention'](_0xe2be40,_0x109215){const _0x418beb=a0_0x146f5e;try{this['metrics'][_0x418beb(0x139)]++;const _0x1ee93a=this[_0x418beb(0x153)]['get'](_0xe2be40),_0x239c93=Date['now']();if(_0x1ee93a&&_0x239c93-_0x1ee93a[_0x418beb(0xf1)]<this['config'][_0x418beb(0x134)]){logger[_0x418beb(0xf4)]('Intervention\x20skipped\x20due\x20to\x20cooldown',{'agentId':_0xe2be40});return;}const _0x411a50={'timestamp':_0x239c93,'pattern':_0x109215[_0x418beb(0xf8)],'severity':_0x109215['severity'],'action':null,'success':![]};let _0x4dd4b3;switch(_0x109215[_0x418beb(0xf8)]){case'repetitive_commands':_0x4dd4b3=await this[_0x418beb(0x164)](_0xe2be40);break;case _0x418beb(0x113):_0x4dd4b3=await this[_0x418beb(0x12e)](_0xe2be40);break;case _0x418beb(0x137):_0x4dd4b3=await this[_0x418beb(0x100)](_0xe2be40);break;case'resource_exhaustion':_0x4dd4b3=await this[_0x418beb(0x127)](_0xe2be40);break;default:_0x4dd4b3=await this['interventionGeneric'](_0xe2be40,_0x109215);}_0x411a50['action']=_0x4dd4b3[_0x418beb(0xf8)],_0x411a50[_0x418beb(0x13a)]=_0x4dd4b3[_0x418beb(0x13a)],_0x4dd4b3[_0x418beb(0x13a)]?(this[_0x418beb(0xec)][_0x418beb(0x163)]++,logger[_0x418beb(0x152)]('Intervention\x20successful',{'agentId':_0xe2be40,'pattern':_0x109215[_0x418beb(0xf8)],'action':_0x4dd4b3[_0x418beb(0xf8)]})):logger['warn']('Intervention\x20failed',{'agentId':_0xe2be40,'pattern':_0x109215[_0x418beb(0xf8)],'action':_0x4dd4b3[_0x418beb(0xf8)],'reason':_0x4dd4b3[_0x418beb(0x12b)]}),this[_0x418beb(0x153)][_0x418beb(0x14d)](_0xe2be40,_0x411a50);}catch(_0x153226){logger[_0x418beb(0xfb)](_0x418beb(0x11e),{'error':_0x153226[_0x418beb(0x120)],'agentId':_0xe2be40});}}async[a0_0x146f5e(0x164)](_0x54151f){const _0x48a926=a0_0x146f5e;try{const _0x30220d={'role':MESSAGE_ROLES[_0x48a926(0x115)],'content':_0x48a926(0x142)};return await this[_0x48a926(0x102)][_0x48a926(0x11a)](_0x54151f,_0x30220d),{'type':_0x48a926(0x138),'success':!![]};}catch(_0x274d59){return{'type':_0x48a926(0x138),'success':![],'reason':_0x274d59['message']};}}async[a0_0x146f5e(0x12e)](_0x4d56be){const _0x4225ba=a0_0x146f5e;try{const _0x3bbae7={'role':MESSAGE_ROLES['SYSTEM'],'content':_0x4225ba(0x107)};return await this['orchestrator']['sendMessage'](_0x4d56be,_0x3bbae7),{'type':'break_wait','success':!![]};}catch(_0x3fb521){return{'type':_0x4225ba(0xee),'success':![],'reason':_0x3fb521[_0x4225ba(0x120)]};}}async[a0_0x146f5e(0x100)](_0x16bce8){const _0x1f3023=a0_0x146f5e;try{const _0x2c6fb4={'role':MESSAGE_ROLES[_0x1f3023(0x115)],'content':'Quality\x20Inspector\x20detected\x20repeated\x20errors.\x20Please\x20review\x20your\x20approach\x20and\x20consider\x20alternative\x20solutions.'};return await this['orchestrator']['sendMessage'](_0x16bce8,_0x2c6fb4),{'type':'break_error_loop','success':!![]};}catch(_0x2512d5){return{'type':'break_error_loop','success':![],'reason':_0x2512d5['message']};}}async['interventionHandleResourceExhaustion'](_0x2e8164){const _0xced377=a0_0x146f5e;try{return await this['orchestrator'][_0xced377(0xff)](_0x2e8164,0x3c,'Resource\x20exhaustion\x20detected'),{'type':'pause_for_resources','success':!![]};}catch(_0x1c9852){return{'type':'pause_for_resources','success':![],'reason':_0x1c9852['message']};}}async['interventionGeneric'](_0x3ee2e3,_0x45f551){const _0x97b3cd=a0_0x146f5e;try{const _0x41e8d7={'role':MESSAGE_ROLES['SYSTEM'],'content':'Quality\x20Inspector\x20detected\x20'+_0x45f551[_0x97b3cd(0x141)]+_0x97b3cd(0x117)};return await this[_0x97b3cd(0x102)][_0x97b3cd(0x11a)](_0x3ee2e3,_0x41e8d7),{'type':_0x97b3cd(0x15f),'success':!![]};}catch(_0x5de24a){return{'type':_0x97b3cd(0x15f),'success':![],'reason':_0x5de24a['message']};}}['generateOptimizationSuggestion'](_0x2778d7){const _0x5ed71f=a0_0x146f5e;switch(_0x2778d7['type']){case _0x5ed71f(0x11c):return _0x5ed71f(0xed);case'high_error_rate':return _0x5ed71f(0x105);default:return'Performance\x20optimization\x20suggested.\x20Please\x20review\x20your\x20current\x20approach.';}}['generateErrorGuidance'](_0xd21432){const _0x274aa5=a0_0x146f5e;return _0x274aa5(0xf9)+_0xd21432[_0x274aa5(0x15c)]+'\x20errors\x20detected\x20('+_0xd21432['count']+_0x274aa5(0x11b);}[a0_0x146f5e(0x145)](_0x16a9f3,_0x3a1577){const _0x326809=a0_0x146f5e,_0x2d91f4=this['monitoringData']['get'](_0x16a9f3),_0x4a2a83=_0x2d91f4[_0x326809(0x13e)];if(_0x3a1577['responseTime']){const _0x4bf3dc=_0x4a2a83[_0x326809(0x10a)]*_0x4a2a83['totalMessages']+_0x3a1577['responseTime'];_0x4a2a83[_0x326809(0x109)]++,_0x4a2a83['averageResponseTime']=_0x4bf3dc/_0x4a2a83[_0x326809(0x109)];}if(_0x3a1577[_0x326809(0xfb)]){_0x2d91f4[_0x326809(0x10b)][_0x326809(0x116)]({'type':_0x3a1577['error']['type']||_0x326809(0x123),'message':_0x3a1577[_0x326809(0xfb)][_0x326809(0x120)],'timestamp':Date['now']()}),_0x2d91f4[_0x326809(0x10b)]=_0x2d91f4[_0x326809(0x10b)]['filter'](_0x33280a=>Date['now']()-_0x33280a['timestamp']<0x36ee80);const _0x2049ef=_0x2d91f4['activityHistory']['length'],_0x18a4be=_0x2d91f4[_0x326809(0x10b)][_0x326809(0xf0)];_0x4a2a83[_0x326809(0x157)]=_0x2049ef>0x0?_0x18a4be/_0x2049ef:0x0;}}['detectPatterns'](_0x47991f,_0x3cde97){}['getMetrics'](){const _0x1fe87f=a0_0x146f5e;return{...this[_0x1fe87f(0xec)],'agentsMonitored':this[_0x1fe87f(0xec)][_0x1fe87f(0x169)]['size'],'patternsDetected':Object[_0x1fe87f(0x13c)](this[_0x1fe87f(0xec)][_0x1fe87f(0x125)]),'interventionSuccessRate':this['metrics']['totalInterventions']>0x0?this[_0x1fe87f(0xec)][_0x1fe87f(0x163)]/this[_0x1fe87f(0xec)][_0x1fe87f(0x139)]:0x0,'isRunning':this[_0x1fe87f(0x159)]};}['getAgentReport'](_0x208819){const _0xe62d1c=a0_0x146f5e,_0x173841=this[_0xe62d1c(0xfc)][_0xe62d1c(0x10f)](_0x208819);if(!_0x173841)return null;const _0x3b4d45=Date[_0xe62d1c(0x15e)](),_0x340c4a=_0x173841[_0xe62d1c(0xea)]['filter'](_0x50bb8d=>_0x3b4d45-_0x50bb8d[_0xe62d1c(0xf1)]<0x36ee80);return{'agentId':_0x208819,'messageCount':_0x173841['messageCount'],'lastActivity':_0x173841[_0xe62d1c(0x11f)],'stuckCount':_0x173841['stuckCount'],'recentActivityCount':_0x340c4a[_0xe62d1c(0xf0)],'performanceMetrics':{..._0x173841['performanceMetrics']},'errorCount':_0x173841['errors']['length'],'interventions':this['interventionHistory'][_0xe62d1c(0x10f)](_0x208819)||null};}[a0_0x146f5e(0x131)](){const _0x16c0fb=a0_0x146f5e,_0x4c4062=Date[_0x16c0fb(0x15e)](),_0x4de7df=0x5265c00;for(const [_0x3540b8,_0x6cdf21]of this['monitoringData']){_0x6cdf21['activityHistory']=_0x6cdf21['activityHistory'][_0x16c0fb(0x112)](_0x15c3bd=>_0x4c4062-_0x15c3bd['timestamp']<_0x4de7df),_0x6cdf21[_0x16c0fb(0x10b)]=_0x6cdf21[_0x16c0fb(0x10b)][_0x16c0fb(0x112)](_0x365900=>_0x4c4062-_0x365900[_0x16c0fb(0xf1)]<_0x4de7df),_0x4c4062-_0x6cdf21[_0x16c0fb(0x11f)]>_0x4de7df&&(this['monitoringData']['delete'](_0x3540b8),this['metrics'][_0x16c0fb(0x169)][_0x16c0fb(0x101)](_0x3540b8));}}}class PatternDetector{constructor(_0x35013e,_0x3c4108,_0x4ae5cf){const _0x3ff83a=a0_0x146f5e;this['patternType']=_0x35013e,this['threshold']=_0x3c4108,this[_0x3ff83a(0x149)]=_0x4ae5cf;}[a0_0x146f5e(0x13d)](_0x4e9926){const _0x54211c=a0_0x146f5e,_0x14d3a7=Date[_0x54211c(0x15e)](),_0x2e96bf=_0x4e9926[_0x54211c(0x112)](_0x356ded=>_0x14d3a7-_0x356ded[_0x54211c(0xf1)]<this[_0x54211c(0x149)]);switch(this[_0x54211c(0xfd)]){case _0x54211c(0x16a):return this['checkRepetitiveCommands'](_0x2e96bf);case'infinite_waiting':return this['checkInfiniteWaiting'](_0x2e96bf);case _0x54211c(0x137):return this['checkErrorLoops'](_0x2e96bf);case'resource_exhaustion':return this[_0x54211c(0x130)](_0x2e96bf);default:return![];}}[a0_0x146f5e(0x165)](_0x28ad20){const _0x4d8d99=a0_0x146f5e;if(_0x28ad20[_0x4d8d99(0xf0)]<this['threshold'])return![];const _0x2028c2=_0x28ad20[_0x4d8d99(0x112)](_0x107e1b=>_0x107e1b[_0x4d8d99(0xf8)]===_0x4d8d99(0x14a))['map'](_0x462d45=>_0x462d45['content'])[_0x4d8d99(0x167)](-this['threshold']);return _0x2028c2[_0x4d8d99(0xf0)]>=this[_0x4d8d99(0x156)]&&_0x2028c2[_0x4d8d99(0xf6)](_0x47e954=>_0x47e954===_0x2028c2[0x0]);}[a0_0x146f5e(0x150)](_0x1b23d1){const _0x594d51=a0_0x146f5e;if(_0x1b23d1[_0x594d51(0xf0)]<this['threshold'])return![];const _0x322eb4=_0x1b23d1[_0x594d51(0x112)](_0x3a18e2=>_0x3a18e2['type']===_0x594d51(0x151)||_0x3a18e2['content']?.[_0x594d51(0x168)](_0x594d51(0x151))||_0x3a18e2[_0x594d51(0x108)]?.[_0x594d51(0x168)](_0x594d51(0x103)));return _0x322eb4['length']>=this['threshold'];}[a0_0x146f5e(0x13f)](_0x649349){const _0xd136a9=a0_0x146f5e;if(_0x649349[_0xd136a9(0xf0)]<this[_0xd136a9(0x156)])return![];const _0x17b3e1=_0x649349['filter'](_0x4ca0e1=>_0x4ca0e1[_0xd136a9(0xfb)]||_0x4ca0e1['type']===_0xd136a9(0xfb));return _0x17b3e1['length']>=this['threshold'];}[a0_0x146f5e(0x130)](_0x29da8a){const _0x2099b3=a0_0x146f5e;if(_0x29da8a[_0x2099b3(0xf0)]<this[_0x2099b3(0x156)])return![];const _0x301441=_0x29da8a[_0x2099b3(0x112)](_0x47854c=>_0x47854c['error']?.[_0x2099b3(0xf8)]==='resource_exhaustion'||_0x47854c[_0x2099b3(0x108)]?.['includes'](_0x2099b3(0x12c))||_0x47854c[_0x2099b3(0x108)]?.['includes'](_0x2099b3(0x118))||_0x47854c['content']?.['includes']('limit\x20exceeded'));return _0x301441[_0x2099b3(0xf0)]>=this['threshold'];}}export default QualityInspector;function a0_0x2df4(_0x5a6144,_0x569705){_0x5a6144=_0x5a6144-0xea;const _0x2b25e4=a0_0x2b25();let _0x2df404=_0x2b25e4[_0x5a6144];if(a0_0x2df4['nzMVBO']===undefined){var _0x3cf4e8=function(_0x3cdc20){const _0x29797a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20b923='',_0xb9798d='';for(let _0x5e8707=0x0,_0x266daf,_0x515bf3,_0x9c50e7=0x0;_0x515bf3=_0x3cdc20['charAt'](_0x9c50e7++);~_0x515bf3&&(_0x266daf=_0x5e8707%0x4?_0x266daf*0x40+_0x515bf3:_0x515bf3,_0x5e8707++%0x4)?_0x20b923+=String['fromCharCode'](0xff&_0x266daf>>(-0x2*_0x5e8707&0x6)):0x0){_0x515bf3=_0x29797a['indexOf'](_0x515bf3);}for(let _0x4a9feb=0x0,_0xc833c6=_0x20b923['length'];_0x4a9feb<_0xc833c6;_0x4a9feb++){_0xb9798d+='%'+('00'+_0x20b923['charCodeAt'](_0x4a9feb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb9798d);};a0_0x2df4['vUYagg']=_0x3cf4e8,a0_0x2df4['EATYLG']={},a0_0x2df4['nzMVBO']=!![];}const _0x5ea5e4=_0x2b25e4[0x0],_0x125c53=_0x5a6144+_0x5ea5e4,_0x360667=a0_0x2df4['EATYLG'][_0x125c53];return!_0x360667?(_0x2df404=a0_0x2df4['vUYagg'](_0x2df404),a0_0x2df4['EATYLG'][_0x125c53]=_0x2df404):_0x2df404=_0x360667,_0x2df404;}function a0_0x2b25(){const _0x4565d1=['DgLTzxn0yw1W','CMvZB3vYy2vfEgHHDxn0Aw9U','y29UzMLN','zgvIDwC','mJK5mteWngrTuwvtuq','zxzLCNK','AgfZ','DhLWzq','uMvJDxjYAw5Nia','BwvZC2fNzunVDw50','zxjYB3i','Bw9UAxrVCMLUz0rHDge','Cgf0DgvYBLr5Cgu','CgvYzM9YBwfUy2vFB3b0Aw1PEMf0Aw9U','Cgf1C2vbz2vUDa','Aw50zxj2zw50Aw9UqNjLywTfCNjVCKXVB3a','zgvSzxrL','B3jJAgvZDhjHDg9Y','CgvUzgLUzW','u1rvq0TFuefuvevstLm','ww91igfYzsbLEhbLCMLLBMnPBMCGzNjLCxvLBNqGzxjYB3jZlIbqBgvHC2uGCMv2Awv3ihLVDxiGyxbWCM9Hy2GGyw5KihzLCMLMEsbPBNb1DhmGyMvMB3jLihbYB2nLzwrPBMCU','rxjYB3iGCgf0DgvYBIbKzxrLy3rLza','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqGDgHHDcb5B3uGBwf5igjLihDHAxrPBMCGAw5KzwzPBML0zwX5lIbqBgvHC2uGChjVy2vLzcb3AxrOihrOzsbUzxH0ihn0zxaGB3iGCMvXDwvZDcbHC3nPC3rHBMnLlG','y29UDgvUDa','Dg90ywXnzxnZywDLCW','yxzLCMfNzvjLC3bVBNnLvgLTzq','zxjYB3jZ','zxjYB3jFz3vPzgfUy2u','y2HLy2Tbz2vUDff1ywXPDhK','uxvHBgL0EsbJAgvJAYbMywLSzwq','z2v0','zgv0zwn0rxjYB3jqyxr0zxjU','ntC0nJG0mMzps3LgCG','zMLSDgvY','Aw5MAw5PDgvFD2fPDgLUzW','qwDLBNqGCxvHBgL0EsbJAgvJAYbMywLSzwq','u1Ltvevn','ChvZAa','lIbqBgvHC2uGCMv2Awv3ihLVDxiGy3vYCMvUDcbHChbYB2fJAc4','DgLTzw91Da','C2vUzfn5C3rLBu1LC3nHz2u','C2vUze1LC3nHz2u','ihrPBwvZks4GugXLyxnLihjLDMLLDYb0AguGzxjYB3iGzgv0ywLSCYbHBMqGywrQDxn0ihLVDxiGyxbWCM9Hy2GGywnJB3jKAw5NBhKU','C2XVD19YzxnWB25Zzq','rMfPBgvKihrVigHHBMrSzsbZDhvJAYbHz2vUDa','sw50zxj2zw50Aw9UigzHAwXLza','BgfZDefJDgL2Axr5','BwvZC2fNzq','CMvZB3vYy2vFzxHOyxvZDgLVBG','u3r1y2SGywDLBNqGzgv0zwn0zwq','Dw5RBM93BG','m0vjqMzYBq','Cgf0DgvYBNnezxrLy3rLza','y2HLy2TjBNrLCNzHBa','Aw50zxj2zw50Aw9UsgfUzgXLuMvZB3vYy2vfEgHHDxn0Aw9U','q0Hfq0TFsu5urvjwquXFtuvtu0fhrvm','uxvHBgL0EsbjBNnWzwn0B3iGC3rHCNrLza','z2vUzxjHDgvpChrPBwL6yxrPB25tDwDNzxn0Aw9U','CMvHC29U','BwvTB3j5','BwvKAxvT','Aw50zxj2zw50Aw9UqNjLywTxywL0','Aw5MAw5PDgvxywL0Aw5N','y2HLy2TszxnVDxjJzuv4Agf1C3rPB24','y2XLyw51Ce9SzerHDge','nJCXoeXMuNfoqW','mtqXnte5nvjjB2PUua','q09pterpv05Fuevssu9e','nJe3mZyYmMXgsKL5Eq','ugvYzM9YBwfUy2uGAxnZDwuGzgv0zwn0zwq','zxjYB3jFBg9VChm','yNjLywTFCMvWzxrPDgLVBG','Dg90ywXjBNrLCNzLBNrPB25Z','C3vJy2vZCW','rMfPBgvKihrVigHHBMrSzsbLCNjVCIbWyxr0zxjU','zNjVBuvUDhjPzxm','y2HLy2S','CgvYzM9YBwfUy2vnzxrYAwnZ','y2HLy2TfCNjVCKXVB3bZ','AgfUzgXLugvYzM9YBwfUy2vjC3n1zq','zgvZy3jPChrPB24','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqGCMvWzxrPDgL2zsbIzwHHDMLVCI4GugXLyxnLihrYEsbHigrPzMzLCMvUDcbHChbYB2fJAcbVCIbHC2SGzM9YigHLBhaGAwyGEw91igfYzsbZDhvJAY4','zgv0zwn0ugvYzM9YBwfUy2vjC3n1zq','AgLNAa','DxbKyxrLugvYzM9YBwfUy2vnzxrYAwnZ','zgv0zwn0u3r1y2Tqyxr0zxjU','AgfUzgXLu3r1y2Tbz2vUDa','uxvHBgL0EsbjBNnWzwn0B3iGC3rVChbLza','DgLTzvDPBMrVDW','y29TBwfUza','C3r1y2TdB3vUDa','D2fYBG','C2v0','y3jPDgLJywW','rMfPBgvKihrVihjLy29YzcbHy3rPDML0Eq','y2HLy2TjBMzPBML0zvDHAxrPBMC','D2fPDgLUzW','Aw5MBW','Aw50zxj2zw50Aw9UsgLZDg9YEq','otK5odeYogX1qMP3Cq','rMfPBgvKihrVigHHBMrSzsbWzxjMB3jTyw5JzsbPC3n1zq','DgHYzxnOB2XK','zxjYB3jsyxrL','qwDLBNqGAxmGCMvWzwf0Aw5NihrOzsbZyw1LignVBw1HBMrZ','AxnsDw5UAw5N','CMvWzxrPDgL2zunVBw1HBMrZ','C2L6zq','zxjYB3juExbL','qwDLBNqGyxbWzwfYCYb0BYbIzsb3ywL0Aw5NigLUzgvMAw5PDgvSEq','BM93','z2vUzxjPy19NDwLKyw5Jzq','qwDLBNqGCMvZCg9UC2uGDgLTzsbPCYbKzwDYywrLza','ywrK','C3rVCa','C3vJy2vZC2z1BeLUDgvYDMvUDgLVBNm','Aw50zxj2zw50Aw9UqNjLywTszxbLDgL0Aw9U','y2HLy2TszxbLDgL0AxzLq29TBwfUzhm','AgfUzgXLrxjYB3jqyxr0zxjU','C2XPy2u','Aw5JBhvKzxm','ywDLBNrZtw9UAxrVCMvK','CMvWzxrPDgL2zv9JB21Tyw5KCW','ywn0AxzPDhLiAxn0B3j5','Cgf0DgvYBNm','Bwv0CMLJCW','ww91CIbYzxnWB25Zzsb0Aw1LigLZihnSB3DLCIb0AgfUihvZDwfSlIbdB25ZAwrLCIbICMvHA2LUzYbKB3DUignVBxbSzxGGDgfZA3mGAw50BYbZBwfSBgvYihn0zxbZlG','yNjLywTFD2fPDa','nZm5odmZuMPhC3Lc','BgvUz3rO'];a0_0x2b25=function(){return _0x4565d1;};return a0_0x2b25();}
1
+ function a0_0x4f52(){const _0x161551=['CMvZB3vYy2vFzxHOyxvZDgLVBG','D2fPDgLUzW','AgLNAf9LCNjVCL9YyxrL','rMfPBgvKihrVihjLy29YzcbHy3rPDML0Eq','C3rHCNq','BwvTB3j5','uxvHBgL0EsbjBNnWzwn0B3iGC3rVChbLza','qwDLBNqGCMvZCg9UC2uGDgLTzsbPCYbKzwDYywrLza','C2vUze1LC3nHz2u','uMvJDxjYAw5Nia','zgvIDwC','mJbRy21gzhm','mtvpExzKB0i','zgv0zwn0u3r1y2Tqyxr0zxjU','D2fYBG','zgvSzxrL','BgfZDefJDgL2Axr5','DgLTzxn0yw1W','z2vUzxjPy19NDwLKyw5Jzq','su5urvjwru5usu9ox1riuKvtse9mra','C2L6zq','BgvUz3rO','B3jJAgvZDhjHDg9Y','C2XPy2u','DgHYzxnOB2XK','odK2mZGXCMruAhLj','Aw5JBhvKzxm','n0rSB1bQDW','y2HLy2S','Aw50zxj2zw50Aw9UsgLZDg9YEq','zMLSDgvY','y29UzMLN','mtm3mdGWmKzyrMroAq','u1Ltvevn','AgfUzgXLrxjYB3jqyxr0zxjU','C3rVCa','sw50zxj2zw50Aw9UigzHAwXLza','CMvJDxjYAw5Nx2vYCM9Y','qwDLBNqGCxvHBgL0EsbJAgvJAYbMywLSzwq','AgfZ','C3vJy2vZCW','BwvKAxvT','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqGCMvWzxrPDgL2zsbIzwHHDMLVCI4GugXLyxnLihrYEsbHigrPzMzLCMvUDcbHChbYB2fJAcbVCIbHC2SGzM9YigHLBhaGAwyGEw91igfYzsbZDhvJAY4','qwDLBNqGCMvJB3zLCMvK','DgLTzw91Da','C2v0','BwfW','y2HLy2TjBMzPBML0zvDHAxrPBMC','BM93','zxjYB3jsyxrL','qwDLBNqGAxmGC3r1y2SGAw4Gyw4GzxjYB3iGBg9VCa','nJbLvw5RqKS','y2XLyw51Ce9SzerHDge','Cgf0DgvYBNnezxrLy3rLza','y2HLy2TfCNjVCKXVB3bZ','qwDLBNqGAxmGzxHWzxjPzw5JAw5NihjLC291CMnLigv4Agf1C3rPB24','CgvYzM9YBwfUy2vnzxrYAwnZ','ywn0AxzPDhLiAxn0B3j5','Bw9UAxrVCMLUz0rHDge','z2v0twv0CMLJCW','yNjLywTFD2fPDa','qwDLBNqGyxbWzwfYCYb0BYbIzsb3ywL0Aw5NigLUzgvMAw5PDgvSEq','Aw5MBW','Cgf0DgvYBNm','qwDLBNqGAxmGCMvWzwf0Aw5NihrOzsbZyw1LignVBw1HBMrZ','mtmXmZHctgDdsfe','C2vUzfn5C3rLBu1LC3nHz2u','Aw5MAw5PDgvFD2fPDgLUzW','CgvUzgLUzW','yNjLywTFCMvWzxrPDgLVBG','DgLTzvDPBMrVDW','ywDLBNrZtw9UAxrVCMvK','C2XVD19YzxnWB25Zzq','ww91igfYzsbLEhbLCMLLBMnPBMCGzNjLCxvLBNqGzxjYB3jZlIbqBgvHC2uGCMv2Awv3ihLVDxiGyxbWCM9Hy2GGyw5KihzLCMLMEsbPBNb1DhmGyMvMB3jLihbYB2nLzwrPBMCU','Cgf0DgvYBLr5Cgu','Cgf1C2vFzM9Yx3jLC291CMnLCW','igvYCM9YCW','y2HLy2TszxbLDgL0AxzLq29TBwfUzhm','z2v0','Bwv0CMLJCW','q0Hfq0TFsu5urvjwquXFtuvtu0fhrvm','zxjYB3jFBg9VChm','C3vJy2vZC2z1BeLUDgvYDMvUDgLVBNm','AxnsDw5UAw5N','zxjYB3jZ','CMvHC29U','Aw50zxj2zw50Aw9UqNjLywTszxbLDgL0Aw9U','y2HLy2Tbz2vUDff1ywXPDhK','Aw50zxj2zw50Aw9UqNjLywTxywL0','ChvZAa','zxjYB3i','zgv0zwn0ugvYzM9YBwfUy2vjC3n1zq','DhLWzq','CgvYzM9YBuLUDgvYDMvUDgLVBG','ntDADM12wei','C2v2zxjPDhK','z2vUzxjHDgvpChrPBwL6yxrPB25tDwDNzxn0Aw9U','AgLNAa','y29UDgvUDa','nta2mdm0tuPWCgfI','zxjYB3jmB29WCW','Aw50zxj2zw50Aw9Ur2vUzxjPyW','yxzLCMfNzvjLC3bVBNnLvgLTzq','Dg90ywXjBNrLCNzLBNrPB25Z','mZG4odu2oeX4AhnjCq','y2HLy2TjBNrLCNzHBa','C3r1y2TdB3vUDa','ntq0nJeYmfL1EuznuW','BwvZC2fNzq','qwDLBNqGAxmGzxHWzxjPzw5JAw5NihjLy3vYCMLUzYa','AgfUzgXLugvYzM9YBwfUy2vjC3n1zq','u1rvq0TFuefuvevstLm','BwvZC2fNzunVDw50','mtqZmJq1m2vOtvnoyG','zxjYB3juExbL'];a0_0x4f52=function(){return _0x161551;};return a0_0x4f52();}const a0_0x288891=a0_0x1e12;(function(_0x66c675,_0x3c4a28){const _0x32c8f7=a0_0x1e12,_0x4f5ce6=_0x66c675();while(!![]){try{const _0x39eb66=-parseInt(_0x32c8f7(0x1b3))/0x1+parseInt(_0x32c8f7(0x168))/0x2*(-parseInt(_0x32c8f7(0x185))/0x3)+parseInt(_0x32c8f7(0x18f))/0x4+-parseInt(_0x32c8f7(0x1a6))/0x5*(-parseInt(_0x32c8f7(0x1ba))/0x6)+parseInt(_0x32c8f7(0x1b5))/0x7*(-parseInt(_0x32c8f7(0x192))/0x8)+parseInt(_0x32c8f7(0x18a))/0x9*(-parseInt(_0x32c8f7(0x1a5))/0xa)+-parseInt(_0x32c8f7(0x198))/0xb*(-parseInt(_0x32c8f7(0x1cd))/0xc);if(_0x39eb66===_0x3c4a28)break;else _0x4f5ce6['push'](_0x4f5ce6['shift']());}catch(_0x3d7e3b){_0x4f5ce6['push'](_0x4f5ce6['shift']());}}}(a0_0x4f52,0x78aa9));import{QUALITY_INSPECTOR_CONFIG,AGENT_STATUS,MESSAGE_ROLES}from'../utilities/constants.js';import{logger}from'../utilities/logger.js';export class QualityInspector{constructor(_0x433879){const _0x5bb3ce=a0_0x1e12;this[_0x5bb3ce(0x1b0)]=_0x433879,this['config']=QUALITY_INSPECTOR_CONFIG,this[_0x5bb3ce(0x161)]=new Map(),this[_0x5bb3ce(0x1b7)]=new Map(),this['isRunning']=![],this[_0x5bb3ce(0x190)]=null,this[_0x5bb3ce(0x166)]={'repetitiveCommands':new PatternDetector('repetitive_commands',0x5,0x493e0),'infiniteWaiting':new PatternDetector('infinite_waiting',0x3,0x927c0),'errorLoops':new PatternDetector('error_loops',0x4,0x2bf20),'resourceExhaustion':new PatternDetector(_0x5bb3ce(0x19a),0x2,0x1d4c0)},this[_0x5bb3ce(0x176)]={'totalInterventions':0x0,'successfulInterventions':0x0,'falsePositives':0x0,'agentsMonitored':new Set(),'patternsDetected':new Map()};}[a0_0x288891(0x19e)](){const _0x4bd23f=a0_0x288891;if(this[_0x4bd23f(0x17a)]){logger['warn']('Quality\x20Inspector\x20is\x20already\x20running');return;}this['isRunning']=!![],this[_0x4bd23f(0x190)]=setInterval(()=>{this['performQualityCheck']();},this['config'][_0x4bd23f(0x177)]*0x3e8),logger[_0x4bd23f(0x165)]('Quality\x20Inspector\x20started',{'checkInterval':this[_0x4bd23f(0x1b9)]['CHECK_INTERVAL_MESSAGES'],'stuckPatterns':this[_0x4bd23f(0x1b9)][_0x4bd23f(0x196)],'interventionThreshold':this['config'][_0x4bd23f(0x1ad)]});}[a0_0x288891(0x1bd)](){const _0x41b9d9=a0_0x288891;if(!this[_0x41b9d9(0x17a)])return;this[_0x41b9d9(0x17a)]=![],this['checkInterval']&&(clearInterval(this[_0x41b9d9(0x190)]),this[_0x41b9d9(0x190)]=null),logger['info'](_0x41b9d9(0x1a0),{'totalInterventions':this[_0x41b9d9(0x176)]['totalInterventions'],'successfulInterventions':this['metrics'][_0x41b9d9(0x179)],'agentsMonitored':this[_0x41b9d9(0x176)]['agentsMonitored'][_0x41b9d9(0x1ae)]});}['recordActivity'](_0x4d0d44,_0x4f673a){const _0x4766bd=a0_0x288891;if(!this['isRunning'])return;try{!this[_0x4766bd(0x161)][_0x4766bd(0x1c1)](_0x4d0d44)&&(this[_0x4766bd(0x161)][_0x4766bd(0x1c7)](_0x4d0d44,{'activityHistory':[],'messageCount':0x0,'lastActivity':Date[_0x4766bd(0x1ca)](),'currentPattern':null,'stuckCount':0x0,'errors':[],'performanceMetrics':{'averageResponseTime':0x0,'totalMessages':0x0,'errorRate':0x0}}),this['metrics'][_0x4766bd(0x16e)]['add'](_0x4d0d44));const _0x3188df=this['monitoringData'][_0x4766bd(0x175)](_0x4d0d44);_0x3188df[_0x4766bd(0x160)][_0x4766bd(0x180)]({..._0x4f673a,'timestamp':Date['now']()}),_0x3188df['activityHistory'][_0x4766bd(0x1af)]>0x64&&(_0x3188df[_0x4766bd(0x160)]=_0x3188df[_0x4766bd(0x160)]['slice'](-0x64)),_0x3188df[_0x4766bd(0x1aa)]=Date[_0x4766bd(0x1ca)](),_0x3188df['messageCount']++,this['updatePerformanceMetrics'](_0x4d0d44,_0x4f673a),this['detectPatterns'](_0x4d0d44,_0x4f673a),logger['debug']('Activity\x20recorded',{'agentId':_0x4d0d44,'activityType':_0x4f673a['type'],'messageCount':_0x3188df[_0x4766bd(0x197)]});}catch(_0x17f664){logger['error'](_0x4766bd(0x19d),{'error':_0x17f664['message'],'agentId':_0x4d0d44});}}async['performQualityCheck'](){const _0xd7a8d6=a0_0x288891;try{logger['debug']('Performing\x20quality\x20check',{'agentsMonitored':this[_0xd7a8d6(0x176)]['agentsMonitored']['size']});for(const [_0x4afa2d,_0x6ee3e0]of this[_0xd7a8d6(0x161)]){await this[_0xd7a8d6(0x17e)](_0x4afa2d,_0x6ee3e0);}this[_0xd7a8d6(0x1ce)]();}catch(_0x3de2e0){logger[_0xd7a8d6(0x181)]('Quality\x20check\x20failed',{'error':_0x3de2e0['message']});}}async['checkAgentQuality'](_0x20cb11,_0x7f3b2d){const _0x36cd64=a0_0x288891;try{const _0x33cae4=this[_0x36cd64(0x1a7)](_0x20cb11,_0x7f3b2d);if(_0x33cae4){await this['handleStuckAgent'](_0x20cb11,_0x33cae4);return;}const _0x59ff18=this[_0x36cd64(0x182)](_0x20cb11,_0x7f3b2d);if(_0x59ff18){await this[_0x36cd64(0x195)](_0x20cb11,_0x59ff18);return;}const _0x94b985=this['detectErrorPattern'](_0x20cb11,_0x7f3b2d);if(_0x94b985){await this[_0x36cd64(0x1bc)](_0x20cb11,_0x94b985);return;}_0x7f3b2d[_0x36cd64(0x191)]>0x0&&(_0x7f3b2d[_0x36cd64(0x191)]=0x0,logger['debug'](_0x36cd64(0x1c5),{'agentId':_0x20cb11}));}catch(_0x322a5b){logger[_0x36cd64(0x181)](_0x36cd64(0x1c0),{'error':_0x322a5b[_0x36cd64(0x193)],'agentId':_0x20cb11});}}['detectStuckPattern'](_0x2fcc59,_0x15a73d){const _0x287955=a0_0x288891,_0x4eaa30=Date[_0x287955(0x1ca)](),_0x395638=_0x15a73d[_0x287955(0x160)]['filter'](_0x2e573c=>_0x4eaa30-_0x2e573c['timestamp']<0x927c0);if(this['patterns']['repetitiveCommands']['check'](_0x395638))return{'type':'repetitive_commands','description':_0x287955(0x167),'severity':_0x287955(0x1c3),'activities':_0x395638};if(this[_0x287955(0x166)]['infiniteWaiting']['check'](_0x395638))return{'type':_0x287955(0x16a),'description':_0x287955(0x164),'severity':'high','activities':_0x395638};if(this['patterns'][_0x287955(0x18b)]['check'](_0x395638))return{'type':_0x287955(0x178),'description':_0x287955(0x1cc),'severity':_0x287955(0x188),'activities':_0x395638};if(this[_0x287955(0x166)]['resourceExhaustion'][_0x287955(0x1b6)](_0x395638))return{'type':'resource_exhaustion','description':_0x287955(0x1d1),'severity':'critical','activities':_0x395638};return null;}[a0_0x288891(0x182)](_0x4babc5,_0x502de2){const _0x3be337=a0_0x288891,_0x4b568a=_0x502de2[_0x3be337(0x1d2)];if(_0x4b568a['averageResponseTime']>0x7530)return{'type':_0x3be337(0x16f),'description':_0x3be337(0x1a1),'severity':'medium','metrics':{'averageResponseTime':_0x4b568a['averageResponseTime']}};if(_0x4b568a[_0x3be337(0x1cb)]>0.5)return{'type':'high_error_rate','description':'Agent\x20has\x20high\x20error\x20rate','severity':'high','metrics':{'errorRate':_0x4b568a['errorRate']}};return null;}['detectErrorPattern'](_0x5a291d,_0xbd4e6a){const _0x4b5ac8=a0_0x288891,_0x13ca99=_0xbd4e6a[_0x4b5ac8(0x17b)][_0x4b5ac8(0x1b8)](_0x43f5e5=>Date['now']()-_0x43f5e5['timestamp']<0x493e0);if(_0x13ca99['length']>=0x3){const _0x1a4fcc=_0x13ca99['map'](_0x1f7923=>_0x1f7923[_0x4b5ac8(0x183)]),_0x151dc6=[...new Set(_0x1a4fcc)];if(_0x151dc6[_0x4b5ac8(0x1af)]===0x1)return{'type':_0x4b5ac8(0x1bf),'description':_0x4b5ac8(0x194)+_0x151dc6[0x0]+_0x4b5ac8(0x173),'severity':'high','errorType':_0x151dc6[0x0],'count':_0x13ca99[_0x4b5ac8(0x1af)]};}return null;}async['handleStuckAgent'](_0x35b19c,_0x5cb667){const _0x5d9069=a0_0x288891;try{const _0x5535bd=this[_0x5d9069(0x161)]['get'](_0x35b19c);_0x5535bd[_0x5d9069(0x191)]++,!this['metrics'][_0x5d9069(0x1cf)][_0x5d9069(0x1c1)](_0x5cb667[_0x5d9069(0x183)])&&this[_0x5d9069(0x176)][_0x5d9069(0x1cf)]['set'](_0x5cb667['type'],0x0),this['metrics']['patternsDetected'][_0x5d9069(0x1c7)](_0x5cb667[_0x5d9069(0x183)],this['metrics'][_0x5d9069(0x1cf)]['get'](_0x5cb667[_0x5d9069(0x183)])+0x1),logger['warn']('Stuck\x20agent\x20detected',{'agentId':_0x35b19c,'pattern':_0x5cb667[_0x5d9069(0x183)],'severity':_0x5cb667['severity'],'stuckCount':_0x5535bd['stuckCount']}),_0x5535bd['stuckCount']>=this['config'][_0x5d9069(0x1ad)]&&await this[_0x5d9069(0x184)](_0x35b19c,_0x5cb667);}catch(_0x159767){logger[_0x5d9069(0x181)]('Failed\x20to\x20handle\x20stuck\x20agent',{'error':_0x159767['message'],'agentId':_0x35b19c});}}async['handlePerformanceIssue'](_0x1ea690,_0x2cf422){const _0x172e16=a0_0x288891;try{logger[_0x172e16(0x1a8)]('Performance\x20issue\x20detected',{'agentId':_0x1ea690,'issueType':_0x2cf422[_0x172e16(0x183)],'severity':_0x2cf422[_0x172e16(0x186)],'metrics':_0x2cf422[_0x172e16(0x176)]});const _0x2ebbe4=this[_0x172e16(0x187)](_0x2cf422);_0x2ebbe4&&await this[_0x172e16(0x1b0)][_0x172e16(0x169)](_0x1ea690,{'type':'performance_optimization','content':_0x2ebbe4,'priority':_0x172e16(0x1c3)});}catch(_0x5d9d5c){logger['error']('Failed\x20to\x20handle\x20performance\x20issue',{'error':_0x5d9d5c['message'],'agentId':_0x1ea690});}}async['handleErrorPattern'](_0xd8602a,_0x2cf72f){const _0x3a69af=a0_0x288891;try{logger['warn']('Error\x20pattern\x20detected',{'agentId':_0xd8602a,'patternType':_0x2cf72f[_0x3a69af(0x183)],'errorType':_0x2cf72f[_0x3a69af(0x199)],'count':_0x2cf72f['count']});const _0x4cea2c=this['generateErrorGuidance'](_0x2cf72f);_0x4cea2c&&await this['orchestrator']['sendSystemMessage'](_0xd8602a,{'type':'error_guidance','content':_0x4cea2c,'priority':'high'});}catch(_0x3ece4e){logger[_0x3a69af(0x181)]('Failed\x20to\x20handle\x20error\x20pattern',{'error':_0x3ece4e[_0x3a69af(0x193)],'agentId':_0xd8602a});}}async[a0_0x288891(0x184)](_0x3a6cb9,_0x3d6d08){const _0x4c5fb4=a0_0x288891;try{this['metrics']['totalInterventions']++;const _0x4136c4=this[_0x4c5fb4(0x1b7)][_0x4c5fb4(0x175)](_0x3a6cb9),_0x163f09=Date[_0x4c5fb4(0x1ca)]();if(_0x4136c4&&_0x163f09-_0x4136c4['timestamp']<this['config']['COOLDOWN_PERIOD']){logger[_0x4c5fb4(0x1a4)]('Intervention\x20skipped\x20due\x20to\x20cooldown',{'agentId':_0x3a6cb9});return;}const _0x29f221={'timestamp':_0x163f09,'pattern':_0x3d6d08['type'],'severity':_0x3d6d08[_0x4c5fb4(0x186)],'action':null,'success':![]};let _0x3c2f46;switch(_0x3d6d08[_0x4c5fb4(0x183)]){case'repetitive_commands':_0x3c2f46=await this[_0x4c5fb4(0x17d)](_0x3a6cb9);break;case'infinite_waiting':_0x3c2f46=await this['interventionBreakWait'](_0x3a6cb9);break;case'error_loops':_0x3c2f46=await this['interventionBreakErrorLoop'](_0x3a6cb9);break;case'resource_exhaustion':_0x3c2f46=await this['interventionHandleResourceExhaustion'](_0x3a6cb9);break;default:_0x3c2f46=await this['interventionGeneric'](_0x3a6cb9,_0x3d6d08);}_0x29f221['action']=_0x3c2f46[_0x4c5fb4(0x183)],_0x29f221[_0x4c5fb4(0x1c2)]=_0x3c2f46['success'],_0x3c2f46['success']?(this['metrics'][_0x4c5fb4(0x179)]++,logger[_0x4c5fb4(0x165)]('Intervention\x20successful',{'agentId':_0x3a6cb9,'pattern':_0x3d6d08[_0x4c5fb4(0x183)],'action':_0x3c2f46['type']})):logger[_0x4c5fb4(0x1a8)]('Intervention\x20failed',{'agentId':_0x3a6cb9,'pattern':_0x3d6d08['type'],'action':_0x3c2f46['type'],'reason':_0x3c2f46[_0x4c5fb4(0x17c)]}),this['interventionHistory'][_0x4c5fb4(0x1c7)](_0x3a6cb9,_0x29f221);}catch(_0x5cd1a1){logger['error'](_0x4c5fb4(0x1be),{'error':_0x5cd1a1['message'],'agentId':_0x3a6cb9});}}async['interventionBreakRepetition'](_0x4ccadd){const _0x2fcfd3=a0_0x288891;try{const _0x224c35={'role':MESSAGE_ROLES['SYSTEM'],'content':_0x2fcfd3(0x1c4)};return await this['orchestrator'][_0x2fcfd3(0x1a2)](_0x4ccadd,_0x224c35),{'type':_0x2fcfd3(0x16c),'success':!![]};}catch(_0x3901a4){return{'type':_0x2fcfd3(0x16c),'success':![],'reason':_0x3901a4['message']};}}async[a0_0x288891(0x17f)](_0x44eeeb){const _0x545025=a0_0x288891;try{const _0xaba615={'role':MESSAGE_ROLES[_0x545025(0x1bb)],'content':'Quality\x20Inspector\x20detected\x20that\x20you\x20may\x20be\x20waiting\x20indefinitely.\x20Please\x20proceed\x20with\x20the\x20next\x20step\x20or\x20request\x20assistance.'};return await this['orchestrator']['sendMessage'](_0x44eeeb,_0xaba615),{'type':_0x545025(0x163),'success':!![]};}catch(_0x137f01){return{'type':_0x545025(0x163),'success':![],'reason':_0x137f01[_0x545025(0x193)]};}}async['interventionBreakErrorLoop'](_0x18ebb6){const _0x31fefd=a0_0x288891;try{const _0x216fcb={'role':MESSAGE_ROLES[_0x31fefd(0x1bb)],'content':'Quality\x20Inspector\x20detected\x20repeated\x20errors.\x20Please\x20review\x20your\x20approach\x20and\x20consider\x20alternative\x20solutions.'};return await this['orchestrator']['sendMessage'](_0x18ebb6,_0x216fcb),{'type':'break_error_loop','success':!![]};}catch(_0x2c2bf7){return{'type':'break_error_loop','success':![],'reason':_0x2c2bf7['message']};}}async['interventionHandleResourceExhaustion'](_0x37831f){const _0x5ac480=a0_0x288891;try{return await this[_0x5ac480(0x1b0)]['pauseAgent'](_0x37831f,0x3c,'Resource\x20exhaustion\x20detected'),{'type':_0x5ac480(0x172),'success':!![]};}catch(_0x4495cb){return{'type':'pause_for_resources','success':![],'reason':_0x4495cb['message']};}}async[a0_0x288891(0x18c)](_0x1997b2,_0x3fcb76){const _0x290660=a0_0x288891;try{const _0x1790a8={'role':MESSAGE_ROLES[_0x290660(0x1bb)],'content':'Quality\x20Inspector\x20detected\x20'+_0x3fcb76['description']+'.\x20Please\x20review\x20your\x20current\x20approach.'};return await this['orchestrator'][_0x290660(0x1a2)](_0x1997b2,_0x1790a8),{'type':'generic_guidance','success':!![]};}catch(_0x50758c){return{'type':_0x290660(0x1ac),'success':![],'reason':_0x50758c['message']};}}[a0_0x288891(0x187)](_0x403ab2){const _0x5d33c2=a0_0x288891;switch(_0x403ab2[_0x5d33c2(0x183)]){case'slow_response':return'Your\x20response\x20time\x20is\x20slower\x20than\x20usual.\x20Consider\x20breaking\x20down\x20complex\x20tasks\x20into\x20smaller\x20steps.';case _0x5d33c2(0x19c):return _0x5d33c2(0x170);default:return'Performance\x20optimization\x20suggested.\x20Please\x20review\x20your\x20current\x20approach.';}}['generateErrorGuidance'](_0x374999){const _0x5889b0=a0_0x288891;return _0x5889b0(0x1a3)+_0x374999['errorType']+'\x20errors\x20detected\x20('+_0x374999['count']+'\x20times).\x20Please\x20review\x20the\x20error\x20details\x20and\x20adjust\x20your\x20approach\x20accordingly.';}['updatePerformanceMetrics'](_0x1ecc72,_0x12e859){const _0x5ec975=a0_0x288891,_0x601753=this[_0x5ec975(0x161)]['get'](_0x1ecc72),_0x54641f=_0x601753['performanceMetrics'];if(_0x12e859['responseTime']){const _0x197fa3=_0x54641f[_0x5ec975(0x18d)]*_0x54641f['totalMessages']+_0x12e859['responseTime'];_0x54641f['totalMessages']++,_0x54641f['averageResponseTime']=_0x197fa3/_0x54641f['totalMessages'];}if(_0x12e859['error']){_0x601753['errors']['push']({'type':_0x12e859[_0x5ec975(0x181)][_0x5ec975(0x183)]||'unknown','message':_0x12e859[_0x5ec975(0x181)][_0x5ec975(0x193)],'timestamp':Date[_0x5ec975(0x1ca)]()}),_0x601753['errors']=_0x601753[_0x5ec975(0x17b)]['filter'](_0x51cbc0=>Date[_0x5ec975(0x1ca)]()-_0x51cbc0['timestamp']<0x36ee80);const _0xbac002=_0x601753['activityHistory'][_0x5ec975(0x1af)],_0x325cfd=_0x601753['errors']['length'];_0x54641f[_0x5ec975(0x1cb)]=_0xbac002>0x0?_0x325cfd/_0xbac002:0x0;}}['detectPatterns'](_0x45127b,_0x303b0d){}[a0_0x288891(0x162)](){const _0x3349d5=a0_0x288891;return{...this[_0x3349d5(0x176)],'agentsMonitored':this[_0x3349d5(0x176)][_0x3349d5(0x16e)][_0x3349d5(0x1ae)],'patternsDetected':Object['fromEntries'](this[_0x3349d5(0x176)]['patternsDetected']),'interventionSuccessRate':this['metrics'][_0x3349d5(0x18e)]>0x0?this[_0x3349d5(0x176)]['successfulInterventions']/this[_0x3349d5(0x176)][_0x3349d5(0x18e)]:0x0,'isRunning':this[_0x3349d5(0x17a)]};}['getAgentReport'](_0x1dd95f){const _0xbccb5d=a0_0x288891,_0x330e55=this[_0xbccb5d(0x161)]['get'](_0x1dd95f);if(!_0x330e55)return null;const _0x297a1a=Date[_0xbccb5d(0x1ca)](),_0x3f1a51=_0x330e55['activityHistory']['filter'](_0x1103a2=>_0x297a1a-_0x1103a2['timestamp']<0x36ee80);return{'agentId':_0x1dd95f,'messageCount':_0x330e55['messageCount'],'lastActivity':_0x330e55[_0xbccb5d(0x1aa)],'stuckCount':_0x330e55[_0xbccb5d(0x191)],'recentActivityCount':_0x3f1a51[_0xbccb5d(0x1af)],'performanceMetrics':{..._0x330e55[_0xbccb5d(0x1d2)]},'errorCount':_0x330e55[_0xbccb5d(0x17b)][_0xbccb5d(0x1af)],'interventions':this['interventionHistory']['get'](_0x1dd95f)||null};}['cleanupOldData'](){const _0x561f0d=a0_0x288891,_0x4a9a8b=Date[_0x561f0d(0x1ca)](),_0x36aa11=0x5265c00;for(const [_0x37ff05,_0x23d22c]of this[_0x561f0d(0x161)]){_0x23d22c['activityHistory']=_0x23d22c[_0x561f0d(0x160)]['filter'](_0x184a8d=>_0x4a9a8b-_0x184a8d[_0x561f0d(0x1ab)]<_0x36aa11),_0x23d22c['errors']=_0x23d22c[_0x561f0d(0x17b)]['filter'](_0x281796=>_0x4a9a8b-_0x281796[_0x561f0d(0x1ab)]<_0x36aa11),_0x4a9a8b-_0x23d22c['lastActivity']>_0x36aa11&&(this[_0x561f0d(0x161)][_0x561f0d(0x1a9)](_0x37ff05),this[_0x561f0d(0x176)]['agentsMonitored'][_0x561f0d(0x1a9)](_0x37ff05));}}}class PatternDetector{constructor(_0x3fda49,_0x2ad544,_0x1229fe){const _0x269eea=a0_0x288891;this[_0x269eea(0x171)]=_0x3fda49,this[_0x269eea(0x1b2)]=_0x2ad544,this['timeWindow']=_0x1229fe;}['check'](_0x4c27c2){const _0x2802fd=a0_0x288891,_0x38375d=Date[_0x2802fd(0x1ca)](),_0x981f5a=_0x4c27c2['filter'](_0x5a9f3e=>_0x38375d-_0x5a9f3e[_0x2802fd(0x1ab)]<this[_0x2802fd(0x16d)]);switch(this['patternType']){case'repetitive_commands':return this['checkRepetitiveCommands'](_0x981f5a);case'infinite_waiting':return this[_0x2802fd(0x1c9)](_0x981f5a);case'error_loops':return this[_0x2802fd(0x1d0)](_0x981f5a);case _0x2802fd(0x19a):return this['checkResourceExhaustion'](_0x981f5a);default:return![];}}[a0_0x288891(0x174)](_0x9980e4){const _0x598b4e=a0_0x288891;if(_0x9980e4['length']<this[_0x598b4e(0x1b2)])return![];const _0x5de037=_0x9980e4[_0x598b4e(0x1b8)](_0x31cf7f=>_0x31cf7f[_0x598b4e(0x183)]==='command')[_0x598b4e(0x1c8)](_0x3b2e7b=>_0x3b2e7b[_0x598b4e(0x189)])[_0x598b4e(0x1b1)](-this[_0x598b4e(0x1b2)]);return _0x5de037['length']>=this['threshold']&&_0x5de037['every'](_0x583195=>_0x583195===_0x5de037[0x0]);}['checkInfiniteWaiting'](_0x258ae0){const _0xd3a552=a0_0x288891;if(_0x258ae0[_0xd3a552(0x1af)]<this[_0xd3a552(0x1b2)])return![];const _0x54f027=_0x258ae0[_0xd3a552(0x1b8)](_0x59e024=>_0x59e024[_0xd3a552(0x183)]===_0xd3a552(0x19b)||_0x59e024['content']?.[_0xd3a552(0x1b4)]('waiting')||_0x59e024['content']?.['includes'](_0xd3a552(0x16b)));return _0x54f027['length']>=this[_0xd3a552(0x1b2)];}['checkErrorLoops'](_0x20095e){const _0x4a9aaf=a0_0x288891;if(_0x20095e[_0x4a9aaf(0x1af)]<this['threshold'])return![];const _0x113b86=_0x20095e[_0x4a9aaf(0x1b8)](_0x270626=>_0x270626['error']||_0x270626[_0x4a9aaf(0x183)]===_0x4a9aaf(0x181));return _0x113b86['length']>=this[_0x4a9aaf(0x1b2)];}['checkResourceExhaustion'](_0x6a733f){const _0x191514=a0_0x288891;if(_0x6a733f[_0x191514(0x1af)]<this[_0x191514(0x1b2)])return![];const _0x11ebf5=_0x6a733f['filter'](_0x69af78=>_0x69af78['error']?.[_0x191514(0x183)]==='resource_exhaustion'||_0x69af78[_0x191514(0x189)]?.[_0x191514(0x1b4)](_0x191514(0x19f))||_0x69af78['content']?.[_0x191514(0x1b4)](_0x191514(0x1c6))||_0x69af78[_0x191514(0x189)]?.[_0x191514(0x1b4)]('limit\x20exceeded'));return _0x11ebf5['length']>=this['threshold'];}}function a0_0x1e12(_0x45a605,_0x5157d2){_0x45a605=_0x45a605-0x160;const _0x4f5264=a0_0x4f52();let _0x1e12d6=_0x4f5264[_0x45a605];if(a0_0x1e12['jlvOfs']===undefined){var _0x2de66e=function(_0x35b140){const _0x7df587='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x433879='',_0x4d0d44='';for(let _0x4f673a=0x0,_0x3188df,_0x17f664,_0x4afa2d=0x0;_0x17f664=_0x35b140['charAt'](_0x4afa2d++);~_0x17f664&&(_0x3188df=_0x4f673a%0x4?_0x3188df*0x40+_0x17f664:_0x17f664,_0x4f673a++%0x4)?_0x433879+=String['fromCharCode'](0xff&_0x3188df>>(-0x2*_0x4f673a&0x6)):0x0){_0x17f664=_0x7df587['indexOf'](_0x17f664);}for(let _0x6ee3e0=0x0,_0x3de2e0=_0x433879['length'];_0x6ee3e0<_0x3de2e0;_0x6ee3e0++){_0x4d0d44+='%'+('00'+_0x433879['charCodeAt'](_0x6ee3e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4d0d44);};a0_0x1e12['OMlFdZ']=_0x2de66e,a0_0x1e12['EaXPTw']={},a0_0x1e12['jlvOfs']=!![];}const _0x20abd9=_0x4f5264[0x0],_0x52912b=_0x45a605+_0x20abd9,_0xafa0b6=a0_0x1e12['EaXPTw'][_0x52912b];return!_0xafa0b6?(_0x1e12d6=a0_0x1e12['OMlFdZ'](_0x1e12d6),a0_0x1e12['EaXPTw'][_0x52912b]=_0x1e12d6):_0x1e12d6=_0xafa0b6,_0x1e12d6;}export default QualityInspector;
@@ -1 +1 @@
1
- function a0_0x46bb(_0xefc5cb,_0x348ece){_0xefc5cb=_0xefc5cb-0xc0;const _0x311e69=a0_0x311e();let _0x46bb87=_0x311e69[_0xefc5cb];if(a0_0x46bb['acQoMM']===undefined){var _0x4811e8=function(_0x21e215){const _0x3b4a0b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35b660='',_0x498948='';for(let _0x4a0cdf=0x0,_0x2b6668,_0xee8419,_0x376f64=0x0;_0xee8419=_0x21e215['charAt'](_0x376f64++);~_0xee8419&&(_0x2b6668=_0x4a0cdf%0x4?_0x2b6668*0x40+_0xee8419:_0xee8419,_0x4a0cdf++%0x4)?_0x35b660+=String['fromCharCode'](0xff&_0x2b6668>>(-0x2*_0x4a0cdf&0x6)):0x0){_0xee8419=_0x3b4a0b['indexOf'](_0xee8419);}for(let _0x47c402=0x0,_0x36d5ba=_0x35b660['length'];_0x47c402<_0x36d5ba;_0x47c402++){_0x498948+='%'+('00'+_0x35b660['charCodeAt'](_0x47c402)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x498948);};a0_0x46bb['zKSbRI']=_0x4811e8,a0_0x46bb['kIyHBA']={},a0_0x46bb['acQoMM']=!![];}const _0x588156=_0x311e69[0x0],_0x1e88e0=_0xefc5cb+_0x588156,_0xc667ef=a0_0x46bb['kIyHBA'][_0x1e88e0];return!_0xc667ef?(_0x46bb87=a0_0x46bb['zKSbRI'](_0x46bb87),a0_0x46bb['kIyHBA'][_0x1e88e0]=_0x46bb87):_0x46bb87=_0xc667ef,_0x46bb87;}const a0_0x3dcafc=a0_0x46bb;(function(_0x1f355f,_0x2903c9){const _0xf681f5=a0_0x46bb,_0x59351d=_0x1f355f();while(!![]){try{const _0x27827d=-parseInt(_0xf681f5(0xd1))/0x1+parseInt(_0xf681f5(0xda))/0x2+parseInt(_0xf681f5(0xd9))/0x3*(-parseInt(_0xf681f5(0xeb))/0x4)+parseInt(_0xf681f5(0xfc))/0x5+-parseInt(_0xf681f5(0xe5))/0x6*(-parseInt(_0xf681f5(0xf4))/0x7)+parseInt(_0xf681f5(0xec))/0x8*(parseInt(_0xf681f5(0xe7))/0x9)+-parseInt(_0xf681f5(0xee))/0xa*(-parseInt(_0xf681f5(0xd8))/0xb);if(_0x27827d===_0x2903c9)break;else _0x59351d['push'](_0x59351d['shift']());}catch(_0x359957){_0x59351d['push'](_0x59351d['shift']());}}}(a0_0x311e,0x3b978));import{encoding_for_model}from'tiktoken';import{MODELS,COMPACTION_CONFIG,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class TokenCountingService{constructor(_0x35b660){const _0x107731=a0_0x46bb;this['logger']=_0x35b660,this[_0x107731(0x102)]=new Map(),this[_0x107731(0xea)]=new Map(),this[_0x107731(0xde)]={[MODELS[_0x107731(0xd3)]]:'gpt-4',[MODELS[_0x107731(0xe0)]]:'gpt-4',[MODELS[_0x107731(0xf3)]]:'gpt-4',[MODELS['GPT_4']]:_0x107731(0xc1),[MODELS['GPT_4_MINI']]:'gpt-4','gpt-4o':'gpt-4','gpt-4o-mini':'gpt-4','gpt-4-turbo':_0x107731(0xc1),'gpt-3.5-turbo':_0x107731(0xc1),[MODELS[_0x107731(0xd5)]]:_0x107731(0xc1),[MODELS['PHI_4']]:'gpt-4','azure-ai-grok3':_0x107731(0xc1),'azure-ai-deepseek-r1':_0x107731(0xc1),'azure-openai-gpt-5':_0x107731(0xc1),'azure-openai-gpt-4':_0x107731(0xc1),'azure-openai-gpt-4o':'gpt-4',[COMPACTION_CONFIG['COMPACTION_MODEL']]:_0x107731(0xc1),[COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACK']]:'gpt-4'},this[_0x107731(0xf9)]?.['info'](_0x107731(0xc4),{'supportedModels':Object['keys'](this['tiktokenModelMap'])['length'],'cacheEnabled':!![]});}async[a0_0x3dcafc(0xf2)](_0x498948,_0x4a0cdf,_0x2b6668=TOKEN_COUNTING_MODES['ACCURATE']){const _0x29b318=a0_0x3dcafc;if(!_0x498948||typeof _0x498948!==_0x29b318(0xe3))return 0x0;if(_0x2b6668===TOKEN_COUNTING_MODES[_0x29b318(0xfb)]){const _0xee8419=this['_getCachedTokenCount'](_0x498948,_0x4a0cdf);if(_0xee8419!==null)return _0xee8419;}if(_0x2b6668===TOKEN_COUNTING_MODES[_0x29b318(0xcc)])return this[_0x29b318(0xd4)](_0x498948);try{const _0x376f64=await this['_getEncoder'](_0x4a0cdf),_0x47c402=_0x376f64[_0x29b318(0xd2)](_0x498948),_0x36d5ba=_0x47c402['length'];return this['_cacheTokenCount'](_0x498948,_0x4a0cdf,_0x36d5ba),_0x36d5ba;}catch(_0x2a28ab){return this['logger']?.[_0x29b318(0xff)](_0x29b318(0xd6),{'model':_0x4a0cdf,'error':_0x2a28ab['message']}),this['_estimateTokens'](_0x498948);}}async[a0_0x3dcafc(0xe6)](_0x136bb2,_0x39b288,_0x4853e7=TOKEN_COUNTING_MODES[a0_0x3dcafc(0xed)]){const _0x3ba185=a0_0x3dcafc;if(!Array['isArray'](_0x136bb2)||_0x136bb2['length']===0x0)return 0x0;let _0x3b3db1=0x0;for(const _0x27ca97 of _0x136bb2){if(!_0x27ca97[_0x3ba185(0xc7)])continue;const _0x198b6a=this['_getMessageFormattingOverhead'](_0x39b288),_0x5979db=await this['countTokens'](_0x27ca97[_0x3ba185(0xc7)],_0x39b288,_0x4853e7);_0x3b3db1+=_0x5979db+_0x198b6a;}const _0x5ddb2f=this['_getConversationOverhead'](_0x136bb2[_0x3ba185(0xd7)]);return _0x3b3db1+=_0x5ddb2f,this['logger']?.['debug']('Conversation\x20token\x20count',{'model':_0x39b288,'messageCount':_0x136bb2[_0x3ba185(0xd7)],'totalTokens':_0x3b3db1,'mode':_0x4853e7}),_0x3b3db1;}['getModelContextWindow'](_0x59240c){const _0xee6d53=a0_0x3dcafc,_0x2f235e={[MODELS['ANTHROPIC_SONNET']]:0x30d40,[MODELS['ANTHROPIC_OPUS']]:0x30d40,[MODELS[_0xee6d53(0xf3)]]:0x30d40,[MODELS['GPT_4']]:0x1f400,[MODELS[_0xee6d53(0xf8)]]:0x1f400,'gpt-4o':0x1f400,'gpt-4o-mini':0x1f400,'gpt-4-turbo':0x1f400,'gpt-3.5-turbo':0x4000,[MODELS[_0xee6d53(0xd5)]]:0x1f400,[MODELS[_0xee6d53(0x100)]]:0x4000,'azure-ai-grok3':0x1f400,'azure-ai-deepseek-r1':0x1f400,'azure-openai-gpt-5':0x1f400,'azure-openai-gpt-4':0x1f400,'azure-openai-gpt-4o':0x1f400,[COMPACTION_CONFIG[_0xee6d53(0xf0)]]:0x1f400,[COMPACTION_CONFIG[_0xee6d53(0xd0)]]:0x1f400,'autopilot-model-router':0x4000},_0x4d8872=_0x2f235e[_0x59240c];if(!_0x4d8872)return this[_0xee6d53(0xf9)]?.[_0xee6d53(0xff)]('Unknown model context window, using default',{'model':_0x59240c,'defaultWindow':0x1f400}),0x1f400;return _0x4d8872;}[a0_0x3dcafc(0xc6)](_0x683f3a){const _0x4d3299=a0_0x3dcafc,_0x480bd7={[MODELS['ANTHROPIC_SONNET']]:0x2000,[MODELS['ANTHROPIC_OPUS']]:0x2000,[MODELS[_0x4d3299(0xf3)]]:0x2000,[MODELS['GPT_4']]:0x2000,[MODELS[_0x4d3299(0xf8)]]:0x4000,'gpt-4o':0x2000,'gpt-4o-mini':0x4000,'gpt-4-turbo':0x2000,'gpt-3.5-turbo':0x1000,[MODELS['DEEPSEEK_R1']]:0x2000,[MODELS['PHI_4']]:0x1000,'azure-ai-grok3':0x2000,'azure-ai-deepseek-r1':0x2000,'azure-openai-gpt-5':0x2000,'azure-openai-gpt-4':0x2000,'azure-openai-gpt-4o':0x2000,[COMPACTION_CONFIG[_0x4d3299(0xf0)]]:0x2000,[COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACK']]:0x2000,'autopilot-model-router':0x800};return _0x480bd7[_0x683f3a]||0x2000;}['shouldTriggerCompaction'](_0x5afa78,_0x478b67,_0x3aa398,_0x204692=COMPACTION_CONFIG['DEFAULT_THRESHOLD']){const _0x30c517=a0_0x3dcafc;(_0x204692<COMPACTION_CONFIG['MIN_THRESHOLD']||_0x204692>COMPACTION_CONFIG[_0x30c517(0xe9)])&&(this['logger']?.['warn']('Invalid compaction threshold, using default',{'provided':_0x204692,'default':COMPACTION_CONFIG['DEFAULT_THRESHOLD']}),_0x204692=COMPACTION_CONFIG['DEFAULT_THRESHOLD']);const requiredTokens=_0x5afa78+_0x478b67,_0x280874=_0x204692*_0x3aa398,_0x174d9f=requiredTokens>=_0x280874;return this[_0x30c517(0xf9)]?.['debug']('Compaction\x20trigger\x20check',{'currentTokens':_0x5afa78,'maxOutputTokens':_0x478b67,'contextWindow':_0x3aa398,'threshold':_0x204692,'requiredTokens':requiredTokens,'thresholdTokens':_0x280874,'shouldTrigger':_0x174d9f,'utilizationPercent':(requiredTokens/_0x3aa398*0x64)[_0x30c517(0x105)](0x2)}),_0x174d9f;}[a0_0x3dcafc(0xf5)](_0x71fb93,_0x2d9e1e=COMPACTION_CONFIG['MAX_ACCEPTABLE_TOKEN_COUNT_AFTER']){const _0x475550=a0_0x3dcafc;return Math[_0x475550(0xcb)](_0x71fb93*_0x2d9e1e);}['validateCompaction'](_0x304cc3,_0x401503,_0x43a804){const _0x3d806b=a0_0x3dcafc,_0x122e5f=(_0x304cc3-_0x401503)/_0x304cc3*0x64,_0x203fd6=this['calculateTargetTokenCount'](_0x43a804),_0x5eca5e=_0x401503>_0x203fd6,_0x2f42c5=_0x122e5f>=COMPACTION_CONFIG[_0x3d806b(0xcd)],_0x265b4a=!_0x5eca5e&&_0x2f42c5;return this['logger']?.[_0x3d806b(0xc5)]('Compaction\x20validation',{'originalTokens':_0x304cc3,'compactedTokens':_0x401503,'reductionPercent':_0x122e5f['toFixed'](0x2),'targetTokens':_0x203fd6,'exceedsTarget':_0x5eca5e,'sufficientReduction':_0x2f42c5,'valid':_0x265b4a}),{'valid':_0x265b4a,'reductionPercent':_0x122e5f,'exceedsTarget':_0x5eca5e,'sufficientReduction':_0x2f42c5,'targetTokens':_0x203fd6,'compactedTokens':_0x401503,'originalTokens':_0x304cc3};}[a0_0x3dcafc(0xdf)](_0x12831d=null){const _0x1942fe=a0_0x3dcafc;if(_0x12831d){for(const [_0x5caef9,_0x3a0216]of this[_0x1942fe(0x102)][_0x1942fe(0xce)]()){_0x3a0216[_0x1942fe(0xe2)]===_0x12831d&&this[_0x1942fe(0x102)]['delete'](_0x5caef9);}this[_0x1942fe(0xf9)]?.['debug'](_0x1942fe(0xf7),{'model':_0x12831d});}else this[_0x1942fe(0x102)][_0x1942fe(0xef)](),this[_0x1942fe(0xf9)]?.['debug'](_0x1942fe(0xf1));}async['_getEncoder'](_0x2be1a1){const _0x2c949c=a0_0x3dcafc,_0x25d5b1=this[_0x2c949c(0xde)][_0x2be1a1]||'gpt-4';if(this['encoders'][_0x2c949c(0x103)](_0x25d5b1))return this['encoders'][_0x2c949c(0xfd)](_0x25d5b1);const _0x11dd8f=encoding_for_model(_0x25d5b1);return this[_0x2c949c(0xea)][_0x2c949c(0xc8)](_0x25d5b1,_0x11dd8f),this['logger']?.['debug'](_0x2c949c(0xdd),{'model':_0x2be1a1,'tiktokenModel':_0x25d5b1}),_0x11dd8f;}['_estimateTokens'](_0x420248){const _0x3aaa90=a0_0x3dcafc;if(!_0x420248||typeof _0x420248!=='string')return 0x0;return Math['ceil'](_0x420248[_0x3aaa90(0xd7)]/COMPACTION_CONFIG[_0x3aaa90(0xf6)]);}[a0_0x3dcafc(0x104)](_0x3120e5,_0xf06bde){const _0x239b60=a0_0x3dcafc,_0x1c49ae=this['_getCacheKey'](_0x3120e5,_0xf06bde),_0x517cc5=this['tokenCache']['get'](_0x1c49ae);if(!_0x517cc5)return null;const _0x5a0959=Date[_0x239b60(0x101)]();if(_0x5a0959-_0x517cc5[_0x239b60(0xdb)]>COMPACTION_CONFIG[_0x239b60(0xdc)])return this['tokenCache'][_0x239b60(0xc0)](_0x1c49ae),null;return _0x517cc5[_0x239b60(0xc2)];}[a0_0x3dcafc(0xcf)](_0x109978,_0xb79d10,_0x26505b){const _0x4ce82e=a0_0x3dcafc,_0x40a130=this[_0x4ce82e(0xe1)](_0x109978,_0xb79d10);this['tokenCache'][_0x4ce82e(0xc8)](_0x40a130,{'count':_0x26505b,'model':_0xb79d10,'timestamp':Date['now']()});if(this['tokenCache'][_0x4ce82e(0xc3)]>0x3e8){const _0x3f174b=Array['from'](this['tokenCache']['entries']());_0x3f174b['sort']((_0x2db827,_0x1042d0)=>_0x2db827[0x1][_0x4ce82e(0xdb)]-_0x1042d0[0x1]['timestamp']);const _0x2e4794=Math['floor'](_0x3f174b[_0x4ce82e(0xd7)]*0.2);for(let _0xfe1521=0x0;_0xfe1521<_0x2e4794;_0xfe1521++){this['tokenCache']['delete'](_0x3f174b[_0xfe1521][0x0]);}}}['_getCacheKey'](_0x461658,_0x1d1c88){const _0x13e2bc=this['_simpleHash'](_0x461658);return _0x1d1c88+':'+_0x13e2bc;}[a0_0x3dcafc(0xca)](_0x3ee831){let _0x348505=0x0;for(let _0x103f09=0x0;_0x103f09<_0x3ee831['length'];_0x103f09++){const _0x295e85=_0x3ee831['charCodeAt'](_0x103f09);_0x348505=(_0x348505<<0x5)-_0x348505+_0x295e85,_0x348505=_0x348505&_0x348505;}return _0x348505['toString'](0x24);}[a0_0x3dcafc(0xfa)](_0x13cfba){const _0x32da33=a0_0x3dcafc;if(_0x13cfba['includes'](_0x32da33(0xe8))||_0x13cfba['includes']('claude'))return 0xa;return 0x5;}['_getConversationOverhead'](_0xd740de){const _0xf397ca=0x32,_0x3627a2=_0xd740de*0x2;return _0xf397ca+_0x3627a2;}async[a0_0x3dcafc(0xc9)](){const _0x559c31=a0_0x3dcafc;for(const [_0x492f7d,_0x1d5c21]of this[_0x559c31(0xea)][_0x559c31(0xce)]()){try{_0x1d5c21['free'](),this['logger']?.['debug']('Freed\x20tiktoken\x20encoder',{'model':_0x492f7d});}catch(_0x22c698){this['logger']?.['warn']('Failed\x20to\x20free\x20encoder',{'model':_0x492f7d,'error':_0x22c698[_0x559c31(0xe4)]});}}this['encoders']['clear'](),this['tokenCache'][_0x559c31(0xef)](),this[_0x559c31(0xf9)]?.[_0x559c31(0xc5)](_0x559c31(0xfe));}}export default TokenCountingService;function a0_0x311e(){const _0x1e37b6=['q09nuefdveLptL9nt0rftf9gquXmqKfdsW','ndi1nJa0AgjVCKrT','zw5JB2rL','qu5usfjpueLdx1nptK5fva','x2vZDgLTyxrLvg9Rzw5Z','revfufnfruTFuJe','vgLRDg9Rzw4Gzw5JB2rPBMCGzMfPBgvKlcbMywXSAw5NigjHy2SGDg8Gzxn0Aw1HDgLVBG','BgvUz3rO','nZGXB3Lvufj5','mtqXoduYowTHtwDOrq','ntu1nJK2q0HOwuHr','DgLTzxn0yw1W','ve9lru5Fq09vtLrFq0fdsevFvfrmx01t','q3jLyxrLzcb0AwT0B2TLBIbLBMnVzgvY','DgLRDg9Rzw5nB2rLBe1HCa','y2XLyxjdywnOzq','qu5usfjpueLdx09qvvm','x2DLDenHy2HLs2v5','Bw9KzwW','C3rYAw5N','BwvZC2fNzq','mtHtz3rVA3G','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','mtyYqKf4Egnl','yw50AhjVCgLJ','tufyx1riuKvtse9mra','zw5JB2rLCNm','neLdyvbfyW','nJC0ndH6EfDptuW','qundvvjbveu','nZmYnZbzAenhELu','y2XLyxi','q09nuefdveLptL9nt0rfta','vg9Rzw4Gy2fJAguGy2XLyxjLzcbJB21WBgv0zwX5','y291BNruB2TLBNm','qu5usfjpueLdx0HbsuTv','mtqZotLJALH5BgG','y2fSy3vSyxrLvgfYz2v0vg9Rzw5dB3vUDa','q0HbuLnFuevsx1rps0vox0vtveLnqvrf','vg9Rzw4Gy2fJAguGy2XLyxjLzcbMB3iGBw9KzwW','r1buxZrFtuLosq','Bg9Nz2vY','x2DLDe1LC3nHz2vgB3jTyxr0Aw5Nt3zLCMHLywq','q0fdseve','otmYnZa1uhbgt3fK','z2v0','vg9Rzw5dB3vUDgLUz1nLCNzPy2uGy2XLyw5Lzcb1Ca','D2fYBG','ueHjxZq','BM93','Dg9Rzw5dywnOzq','AgfZ','x2DLDenHy2HLzfrVA2vUq291BNq','Dg9gAxHLza','zgvSzxrL','z3b0ltq','y291BNq','C2L6zq','vg9Rzw5dB3vUDgLUz1nLCNzPy2uGAw5PDgLHBgL6zwq','Aw5MBW','z2v0tw9KzwXnyxHpDxrWDxruB2TLBNm','y29UDgvUDa','C2v0','y2XLyw51Ca','x3nPBxbSzuHHC2G','zMXVB3i','rvnusu1bveve','tuLox1jfrfvdveLptL9qrvjdru5uquDf','zw50CMLLCW','x2nHy2HLvg9Rzw5dB3vUDa'];a0_0x311e=function(){return _0x1e37b6;};return a0_0x311e();}
1
+ function a0_0x8770(){const _0x548856=['q09nuefdveLptL9nt0rfta','q3jLyxrLzcb0AwT0B2TLBIbLBMnVzgvY','D2fYBG','A2v5CW','vg9Rzw5dB3vUDgLUz1nLCNzPy2uGy2XLyw5Lzcb1Ca','Aw5MBW','DgLTzxn0yw1W','y2vPBa','x2DLDe1LC3nHz2vgB3jTyxr0Aw5Nt3zLCMHLywq','vgLRDg9Rzw4Gzw5JB2rPBMCGzMfPBgvKlcbMywXSAw5NigjHy2SGDg8Gzxn0Aw1HDgLVBG','tuLox1jfrfvdveLptL9qrvjdru5uquDf','q29TCgfJDgLVBIb2ywXPzgf0Aw9U','z2v0tw9KzwXdB250zxH0v2LUzg93','mta3mdC5mMfqy0fMrW','qu5usfjpueLdx0HbsuTv','vg9Rzw4Gy2fJAguGy2XLyxjLzcbMB3iGBw9KzwW','x2DLDenVBNzLCNnHDgLVBK92zxjOzwfK','x2DLDenHy2HLzfrVA2vUq291BNq','x3nPBxbSzuHHC2G','mtKXnJq3nfvwA0fQEq','C2HVDwXKvhjPz2DLCKnVBxbHy3rPB24','x2vZDgLTyxrLvg9Rzw5Z','zw50CMLLCW','y291BNruB2TLBNm','Dg9gAxHLza','mtq3odKXn3biENfLyG','q29TCgfJDgLVBIb0CMLNz2vYignOzwnR','zgvSzxrL','y2fSy3vSyxrLvgfYz2v0vg9Rzw5dB3vUDa','x2nHy2HLvg9Rzw5dB3vUDa','r1buxZrFtuLosq','qu5usfjpueLdx09qvvm','y29UDgvUDa','odC1u0XhwwPL','mtyXnhLQqLPoCa','BwvZC2fNzq','nJm2tuXuy1bQ','C2v0','z3b0ltq','zgvIDwC','C3rYAw5N','q09nuefdveLptL9nt0rftf9gquXmqKfdsW','y2XLyxjdywnOzq','zw5JB2rLCNm','revfufnfruTFuJe','z2v0tw9KzwXnyxHpDxrWDxruB2TLBNm','x2DLDenHy2HLs2v5','zw5JB2rL','Dg9Rzw5dywnOzq','r1buxZq','mtaYndCYuM5WELDR','Bg9Nz2vY','BM93','rNjLzwqGDgLRDg9Rzw4Gzw5JB2rLCG','ueHjxZq','q29UDMvYC2f0Aw9UihrVA2vUignVDw50','ndvVz1rOv1K','nJG3B1fRvvDw','BgvUz3rO','nJb4BhncrM0','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','mJi4odeWv1bsCMPd','zMXVB3i','y2XLyxi','qu5usfjpueLdx1nptK5fva'];a0_0x8770=function(){return _0x548856;};return a0_0x8770();}const a0_0x18452e=a0_0x2555;(function(_0x32fc9b,_0x1d1fe9){const _0x17ffca=a0_0x2555,_0x55fb24=_0x32fc9b();while(!![]){try{const _0x4ae537=-parseInt(_0x17ffca(0x95))/0x1+parseInt(_0x17ffca(0xbb))/0x2*(parseInt(_0x17ffca(0x91))/0x3)+-parseInt(_0x17ffca(0xa6))/0x4+parseInt(_0x17ffca(0xba))/0x5*(-parseInt(_0x17ffca(0xbd))/0x6)+-parseInt(_0x17ffca(0xac))/0x7+-parseInt(_0x17ffca(0xcb))/0x8*(parseInt(_0x17ffca(0x90))/0x9)+parseInt(_0x17ffca(0x93))/0xa*(parseInt(_0x17ffca(0xb2))/0xb);if(_0x4ae537===_0x1d1fe9)break;else _0x55fb24['push'](_0x55fb24['shift']());}catch(_0xd0c26a){_0x55fb24['push'](_0x55fb24['shift']());}}}(a0_0x8770,0x21d68));import{encoding_for_model}from'tiktoken';import{MODELS,COMPACTION_CONFIG,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class TokenCountingService{constructor(_0x248980){const _0x278508=a0_0x2555;this['logger']=_0x248980,this['tokenCache']=new Map(),this['encoders']=new Map(),this['tiktokenModelMap']={[MODELS[_0x278508(0x98)]]:'gpt-4',[MODELS['ANTHROPIC_OPUS']]:_0x278508(0xbf),[MODELS['ANTHROPIC_HAIKU']]:_0x278508(0xbf),[MODELS['GPT_4']]:'gpt-4',[MODELS['GPT_4_MINI']]:'gpt-4','gpt-4o':_0x278508(0xbf),'gpt-4o-mini':_0x278508(0xbf),'gpt-4-turbo':_0x278508(0xbf),'gpt-3.5-turbo':'gpt-4',[MODELS[_0x278508(0xc5)]]:_0x278508(0xbf),[MODELS[_0x278508(0xcf)]]:_0x278508(0xbf),'azure-ai-grok3':_0x278508(0xbf),'azure-ai-deepseek-r1':'gpt-4','azure-openai-gpt-5':'gpt-4','azure-openai-gpt-4':'gpt-4','azure-openai-gpt-4o':_0x278508(0xbf),[COMPACTION_CONFIG['COMPACTION_MODEL']]:'gpt-4',[COMPACTION_CONFIG[_0x278508(0xc2)]]:'gpt-4'},this[_0x278508(0xcc)]?.[_0x278508(0x9e)]('TokenCountingService\x20initialized',{'supportedModels':Object[_0x278508(0x9c)](this['tiktokenModelMap'])[_0x278508(0x92)],'cacheEnabled':!![]});}async[a0_0x18452e(0xb0)](_0x512ff8,_0x4e9c87,_0x2fe175=TOKEN_COUNTING_MODES['ACCURATE']){const _0x5ed85a=a0_0x18452e;if(!_0x512ff8||typeof _0x512ff8!==_0x5ed85a(0xc1))return 0x0;if(_0x2fe175===TOKEN_COUNTING_MODES['CACHED']){const _0xe69dc5=this[_0x5ed85a(0xaa)](_0x512ff8,_0x4e9c87);if(_0xe69dc5!==null)return _0xe69dc5;}if(_0x2fe175===TOKEN_COUNTING_MODES['ESTIMATED'])return this[_0x5ed85a(0xae)](_0x512ff8);try{const _0x328e83=await this['_getEncoder'](_0x4e9c87),_0x3479e9=_0x328e83[_0x5ed85a(0xc8)](_0x512ff8),_0x2ffe5f=_0x3479e9[_0x5ed85a(0x92)];return this[_0x5ed85a(0xb6)](_0x512ff8,_0x4e9c87,_0x2ffe5f),_0x2ffe5f;}catch(_0x9ecc10){return this[_0x5ed85a(0xcc)]?.[_0x5ed85a(0x9b)](_0x5ed85a(0xa2),{'model':_0x4e9c87,'error':_0x9ecc10[_0x5ed85a(0xbc)]}),this['_estimateTokens'](_0x512ff8);}}async[a0_0x18452e(0x94)](_0x2765cd,_0x1e38b9,_0x1b07e8=TOKEN_COUNTING_MODES['ACCURATE']){const _0x4afbf5=a0_0x18452e;if(!Array['isArray'](_0x2765cd)||_0x2765cd['length']===0x0)return 0x0;let _0x5ad26d=0x0;for(const _0x88d324 of _0x2765cd){if(!_0x88d324[_0x4afbf5(0xb9)])continue;const _0x229bab=this[_0x4afbf5(0xa1)](_0x1e38b9),_0x53972b=await this['countTokens'](_0x88d324[_0x4afbf5(0xb9)],_0x1e38b9,_0x1b07e8);_0x5ad26d+=_0x53972b+_0x229bab;}const _0x5c9786=this['_getConversationOverhead'](_0x2765cd['length']);return _0x5ad26d+=_0x5c9786,this['logger']?.['debug'](_0x4afbf5(0x8f),{'model':_0x1e38b9,'messageCount':_0x2765cd[_0x4afbf5(0x92)],'totalTokens':_0x5ad26d,'mode':_0x1b07e8}),_0x5ad26d;}[a0_0x18452e(0xa5)](_0x431326){const _0x33faa8=a0_0x18452e,_0x1ffabc={[MODELS['ANTHROPIC_SONNET']]:0x30d40,[MODELS[_0x33faa8(0xb8)]]:0x30d40,[MODELS[_0x33faa8(0xa7)]]:0x30d40,[MODELS[_0x33faa8(0xca)]]:0x1f400,[MODELS[_0x33faa8(0xb7)]]:0x1f400,'gpt-4o':0x1f400,'gpt-4o-mini':0x1f400,'gpt-4-turbo':0x1f400,'gpt-3.5-turbo':0x4000,[MODELS['DEEPSEEK_R1']]:0x1f400,[MODELS['PHI_4']]:0x4000,'azure-ai-grok3':0x1f400,'azure-ai-deepseek-r1':0x1f400,'azure-openai-gpt-5':0x1f400,'azure-openai-gpt-4':0x1f400,'azure-openai-gpt-4o':0x1f400,[COMPACTION_CONFIG['COMPACTION_MODEL']]:0x1f400,[COMPACTION_CONFIG[_0x33faa8(0xc2)]]:0x1f400,'autopilot-model-router':0x4000},_0x441b37=_0x1ffabc[_0x431326];if(!_0x441b37)return this['logger']?.[_0x33faa8(0x9b)]('Unknown model context window, using default',{'model':_0x431326,'defaultWindow':0x1f400}),0x1f400;return _0x441b37;}[a0_0x18452e(0xc6)](_0x4d63ea){const _0x16dc63=a0_0x18452e,_0x362090={[MODELS[_0x16dc63(0x98)]]:0x2000,[MODELS['ANTHROPIC_OPUS']]:0x2000,[MODELS['ANTHROPIC_HAIKU']]:0x2000,[MODELS['GPT_4']]:0x2000,[MODELS['GPT_4_MINI']]:0x4000,'gpt-4o':0x2000,'gpt-4o-mini':0x4000,'gpt-4-turbo':0x2000,'gpt-3.5-turbo':0x1000,[MODELS[_0x16dc63(0xc5)]]:0x2000,[MODELS['PHI_4']]:0x1000,'azure-ai-grok3':0x2000,'azure-ai-deepseek-r1':0x2000,'azure-openai-gpt-5':0x2000,'azure-openai-gpt-4':0x2000,'azure-openai-gpt-4o':0x2000,[COMPACTION_CONFIG[_0x16dc63(0x99)]]:0x2000,[COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACK']]:0x2000,'autopilot-model-router':0x800};return _0x362090[_0x4d63ea]||0x2000;}[a0_0x18452e(0xad)](_0x2d70a4,_0x242a36,_0x55fe01,_0x3ae483=COMPACTION_CONFIG['DEFAULT_THRESHOLD']){const _0x58eae4=a0_0x18452e;(_0x3ae483<COMPACTION_CONFIG['MIN_THRESHOLD']||_0x3ae483>COMPACTION_CONFIG['MAX_THRESHOLD'])&&(this[_0x58eae4(0xcc)]?.['warn']('Invalid compaction threshold, using default',{'provided':_0x3ae483,'default':COMPACTION_CONFIG['DEFAULT_THRESHOLD']}),_0x3ae483=COMPACTION_CONFIG['DEFAULT_THRESHOLD']);const requiredTokens=_0x2d70a4+_0x242a36,_0x295f24=_0x3ae483*_0x55fe01,_0x5d2550=requiredTokens>=_0x295f24;return this['logger']?.[_0x58eae4(0xc0)](_0x58eae4(0xb3),{'currentTokens':_0x2d70a4,'maxOutputTokens':_0x242a36,'contextWindow':_0x55fe01,'threshold':_0x3ae483,'requiredTokens':requiredTokens,'thresholdTokens':_0x295f24,'shouldTrigger':_0x5d2550,'utilizationPercent':(requiredTokens/_0x55fe01*0x64)['toFixed'](0x2)}),_0x5d2550;}['calculateTargetTokenCount'](_0x2549fc,_0x367295=COMPACTION_CONFIG['MAX_ACCEPTABLE_TOKEN_COUNT_AFTER']){const _0x223129=a0_0x18452e;return Math[_0x223129(0x96)](_0x2549fc*_0x367295);}['validateCompaction'](_0x5891e8,_0x4ed9d4,_0x390050){const _0x388c7d=a0_0x18452e,_0x1d1026=(_0x5891e8-_0x4ed9d4)/_0x5891e8*0x64,_0x338feb=this[_0x388c7d(0xb5)](_0x390050),_0x60857b=_0x4ed9d4>_0x338feb,_0x147c3d=_0x1d1026>=COMPACTION_CONFIG[_0x388c7d(0xa3)],_0x6f70e4=!_0x60857b&&_0x147c3d;return this[_0x388c7d(0xcc)]?.[_0x388c7d(0x9e)](_0x388c7d(0xa4),{'originalTokens':_0x5891e8,'compactedTokens':_0x4ed9d4,'reductionPercent':_0x1d1026[_0x388c7d(0xb1)](0x2),'targetTokens':_0x338feb,'exceedsTarget':_0x60857b,'sufficientReduction':_0x147c3d,'valid':_0x6f70e4}),{'valid':_0x6f70e4,'reductionPercent':_0x1d1026,'exceedsTarget':_0x60857b,'sufficientReduction':_0x147c3d,'targetTokens':_0x338feb,'compactedTokens':_0x4ed9d4,'originalTokens':_0x5891e8};}[a0_0x18452e(0xc3)](_0x1fb998=null){const _0x35a417=a0_0x18452e;if(_0x1fb998){for(const [_0x2be3b4,_0x25de3e]of this[_0x35a417(0xc9)]['entries']()){_0x25de3e['model']===_0x1fb998&&this[_0x35a417(0xc9)][_0x35a417(0xb4)](_0x2be3b4);}this['logger']?.[_0x35a417(0xc0)](_0x35a417(0xa8),{'model':_0x1fb998});}else this['tokenCache'][_0x35a417(0x97)](),this[_0x35a417(0xcc)]?.['debug']('Token\x20cache\x20cleared\x20completely');}async['_getEncoder'](_0x36715b){const _0x4dedbd=a0_0x18452e,_0x543893=this['tiktokenModelMap'][_0x36715b]||'gpt-4';if(this[_0x4dedbd(0xc4)]['has'](_0x543893))return this['encoders']['get'](_0x543893);const _0x33a51a=encoding_for_model(_0x543893);return this[_0x4dedbd(0xc4)]['set'](_0x543893,_0x33a51a),this[_0x4dedbd(0xcc)]?.[_0x4dedbd(0xc0)](_0x4dedbd(0x9a),{'model':_0x36715b,'tiktokenModel':_0x543893}),_0x33a51a;}['_estimateTokens'](_0x2956be){const _0x89b4f8=a0_0x18452e;if(!_0x2956be||typeof _0x2956be!==_0x89b4f8(0xc1))return 0x0;return Math[_0x89b4f8(0xa0)](_0x2956be[_0x89b4f8(0x92)]/COMPACTION_CONFIG['CHARS_PER_TOKEN_ESTIMATE']);}['_getCachedTokenCount'](_0xb60781,_0x3e1172){const _0x3d2146=a0_0x18452e,_0x3e8d96=this['_getCacheKey'](_0xb60781,_0x3e1172),_0x77ae5e=this['tokenCache']['get'](_0x3e8d96);if(!_0x77ae5e)return null;const _0x2a7720=Date['now']();if(_0x2a7720-_0x77ae5e[_0x3d2146(0x9f)]>COMPACTION_CONFIG['TOKEN_COUNT_CACHE_TTL_MS'])return this['tokenCache']['delete'](_0x3e8d96),null;return _0x77ae5e['count'];}['_cacheTokenCount'](_0x18f05e,_0x340ebc,_0x55f43d){const _0x32426f=a0_0x18452e,_0x48c795=this[_0x32426f(0xc7)](_0x18f05e,_0x340ebc);this[_0x32426f(0xc9)][_0x32426f(0xbe)](_0x48c795,{'count':_0x55f43d,'model':_0x340ebc,'timestamp':Date[_0x32426f(0xcd)]()});if(this[_0x32426f(0xc9)]['size']>0x3e8){const _0x43e2db=Array['from'](this['tokenCache'][_0x32426f(0xaf)]());_0x43e2db['sort']((_0xbb70c4,_0x2424bf)=>_0xbb70c4[0x1]['timestamp']-_0x2424bf[0x1]['timestamp']);const _0x5cfcfd=Math[_0x32426f(0x96)](_0x43e2db[_0x32426f(0x92)]*0.2);for(let _0x1517a6=0x0;_0x1517a6<_0x5cfcfd;_0x1517a6++){this['tokenCache'][_0x32426f(0xb4)](_0x43e2db[_0x1517a6][0x0]);}}}['_getCacheKey'](_0x2e44ad,_0x247e48){const _0x36e82a=a0_0x18452e,_0x38fa7f=this[_0x36e82a(0xab)](_0x2e44ad);return _0x247e48+':'+_0x38fa7f;}['_simpleHash'](_0x152ae4){const _0x10fda2=a0_0x18452e;let _0x489dd4=0x0;for(let _0x3661fc=0x0;_0x3661fc<_0x152ae4[_0x10fda2(0x92)];_0x3661fc++){const _0x59f4eb=_0x152ae4['charCodeAt'](_0x3661fc);_0x489dd4=(_0x489dd4<<0x5)-_0x489dd4+_0x59f4eb,_0x489dd4=_0x489dd4&_0x489dd4;}return _0x489dd4['toString'](0x24);}[a0_0x18452e(0xa1)](_0x22b130){if(_0x22b130['includes']('anthropic')||_0x22b130['includes']('claude'))return 0xa;return 0x5;}[a0_0x18452e(0xa9)](_0x1bef29){const _0x2defb8=0x32,_0x4ede13=_0x1bef29*0x2;return _0x2defb8+_0x4ede13;}async['cleanup'](){const _0x12442f=a0_0x18452e;for(const [_0x3a1c8b,_0x46c87f]of this[_0x12442f(0xc4)][_0x12442f(0xaf)]()){try{_0x46c87f['free'](),this['logger']?.[_0x12442f(0xc0)](_0x12442f(0xce),{'model':_0x3a1c8b});}catch(_0x375c96){this['logger']?.['warn']('Failed\x20to\x20free\x20encoder',{'model':_0x3a1c8b,'error':_0x375c96[_0x12442f(0xbc)]});}}this[_0x12442f(0xc4)][_0x12442f(0x97)](),this[_0x12442f(0xc9)][_0x12442f(0x97)](),this['logger']?.['info'](_0x12442f(0x9d));}}function a0_0x2555(_0x241326,_0x5c5e63){_0x241326=_0x241326-0x8f;const _0x8770f9=a0_0x8770();let _0x255511=_0x8770f9[_0x241326];if(a0_0x2555['wxCIaz']===undefined){var _0x95b2b5=function(_0x470862){const _0x598d53='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x248980='',_0x512ff8='';for(let _0x4e9c87=0x0,_0x2fe175,_0xe69dc5,_0x328e83=0x0;_0xe69dc5=_0x470862['charAt'](_0x328e83++);~_0xe69dc5&&(_0x2fe175=_0x4e9c87%0x4?_0x2fe175*0x40+_0xe69dc5:_0xe69dc5,_0x4e9c87++%0x4)?_0x248980+=String['fromCharCode'](0xff&_0x2fe175>>(-0x2*_0x4e9c87&0x6)):0x0){_0xe69dc5=_0x598d53['indexOf'](_0xe69dc5);}for(let _0x3479e9=0x0,_0x2ffe5f=_0x248980['length'];_0x3479e9<_0x2ffe5f;_0x3479e9++){_0x512ff8+='%'+('00'+_0x248980['charCodeAt'](_0x3479e9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x512ff8);};a0_0x2555['WWBWhA']=_0x95b2b5,a0_0x2555['OTybQt']={},a0_0x2555['wxCIaz']=!![];}const _0x2de8ab=_0x8770f9[0x0],_0x5d954d=_0x241326+_0x2de8ab,_0x282ffc=a0_0x2555['OTybQt'][_0x5d954d];return!_0x282ffc?(_0x255511=a0_0x2555['WWBWhA'](_0x255511),a0_0x2555['OTybQt'][_0x5d954d]=_0x255511):_0x255511=_0x282ffc,_0x255511;}export default TokenCountingService;