@loxia-labs/loxia-autopilot-one 1.0.7 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/README.md +2 -2
  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/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-BVF_10a5.css → index-BmKxmRe3.css} +1 -1
  119. package/web-ui/build/static/{index-DE5VFS1q.js → index-BzXbDs8z.js} +63 -63
@@ -1 +1 @@
1
- const a0_0x5a53d0=a0_0x13fb;(function(_0x123d37,_0x8d84af){const _0xa35cb2=a0_0x13fb,_0x370903=_0x123d37();while(!![]){try{const _0x25e52f=-parseInt(_0xa35cb2(0x1ee))/0x1+parseInt(_0xa35cb2(0x220))/0x2*(-parseInt(_0xa35cb2(0x22d))/0x3)+parseInt(_0xa35cb2(0x1dc))/0x4+parseInt(_0xa35cb2(0x230))/0x5*(parseInt(_0xa35cb2(0x222))/0x6)+parseInt(_0xa35cb2(0x20f))/0x7+-parseInt(_0xa35cb2(0x22c))/0x8+-parseInt(_0xa35cb2(0x20d))/0x9*(-parseInt(_0xa35cb2(0x1e0))/0xa);if(_0x25e52f===_0x8d84af)break;else _0x370903['push'](_0x370903['shift']());}catch(_0x1a96d9){_0x370903['push'](_0x370903['shift']());}}}(a0_0x1820,0xf2338));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';function a0_0x13fb(_0x3397fb,_0x4b20fd){_0x3397fb=_0x3397fb-0x1ca;const _0x1820bc=a0_0x1820();let _0x13fbd7=_0x1820bc[_0x3397fb];if(a0_0x13fb['DyFLgc']===undefined){var _0x4dd03d=function(_0x377e4a){const _0x295106='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33affc='',_0x246e73='';for(let _0x12a6d3=0x0,_0x827d37,_0x434a,_0x5ad091=0x0;_0x434a=_0x377e4a['charAt'](_0x5ad091++);~_0x434a&&(_0x827d37=_0x12a6d3%0x4?_0x827d37*0x40+_0x434a:_0x434a,_0x12a6d3++%0x4)?_0x33affc+=String['fromCharCode'](0xff&_0x827d37>>(-0x2*_0x12a6d3&0x6)):0x0){_0x434a=_0x295106['indexOf'](_0x434a);}for(let _0x175bec=0x0,_0x5853a5=_0x33affc['length'];_0x175bec<_0x5853a5;_0x175bec++){_0x246e73+='%'+('00'+_0x33affc['charCodeAt'](_0x175bec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x246e73);};a0_0x13fb['MMtAXK']=_0x4dd03d,a0_0x13fb['BiTsLE']={},a0_0x13fb['DyFLgc']=!![];}const _0x2ac8ba=_0x1820bc[0x0],_0x5dd6da=_0x3397fb+_0x2ac8ba,_0x5b650c=a0_0x13fb['BiTsLE'][_0x5dd6da];return!_0x5b650c?(_0x13fbd7=a0_0x13fb['MMtAXK'](_0x13fbd7),a0_0x13fb['BiTsLE'][_0x5dd6da]=_0x13fbd7):_0x13fbd7=_0x5b650c,_0x13fbd7;}export class ErrorHandler{constructor(_0x33affc,_0x246e73){const _0x4306cb=a0_0x13fb;this[_0x4306cb(0x20c)]=_0x33affc||{},this['logger']=_0x246e73,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['recoveryStrategies']=new Map(),this[_0x4306cb(0x23c)]=new Set(),this[_0x4306cb(0x1d1)]=[],this['isProcessingQueue']=![],this[_0x4306cb(0x1fe)](),this[_0x4306cb(0x1f4)]();}async['handleError'](_0x12a6d3,_0x827d37={}){const _0x20c257=a0_0x13fb;try{const _0x434a=this[_0x20c257(0x1f9)](_0x12a6d3,_0x827d37),_0x5ad091=await this[_0x20c257(0x232)](_0x434a);return this[_0x20c257(0x1ff)](_0x434a),this[_0x20c257(0x225)](_0x434a,_0x5ad091),_0x5ad091;}catch(_0x175bec){return this['logger'][_0x20c257(0x23d)]('Error\x20handling\x20failed',{'originalError':_0x12a6d3[_0x20c257(0x228)],'handlingError':_0x175bec['message']}),{'success':![],'error':_0x175bec,'recovery':null,'severity':'critical'};}}[a0_0x5a53d0(0x1f9)](_0x5853a5,_0x5a7f39={}){const _0xa7dc06=a0_0x5a53d0,_0xf87b8f={'id':this[_0xa7dc06(0x21c)](),'timestamp':new Date()['toISOString'](),'message':_0x5853a5[_0xa7dc06(0x228)]||_0x5853a5[_0xa7dc06(0x21d)](),'stack':_0x5853a5[_0xa7dc06(0x238)]||null,'code':_0x5853a5[_0xa7dc06(0x21a)]||null,'type':this[_0xa7dc06(0x231)](_0x5853a5,_0x5a7f39),'severity':this[_0xa7dc06(0x227)](_0x5853a5,_0x5a7f39),'context':{..._0x5a7f39},'recoverable':!![],'retryCount':_0x5a7f39['retryCount']||0x0,'maxRetries':this[_0xa7dc06(0x1ed)](_0x5853a5,_0x5a7f39)};return _0x5a7f39[_0xa7dc06(0x226)]&&(_0xf87b8f[_0xa7dc06(0x226)]=_0x5a7f39['agentId']),_0x5a7f39[_0xa7dc06(0x1ca)]&&(_0xf87b8f['toolId']=_0x5a7f39[_0xa7dc06(0x1ca)]),_0x5a7f39[_0xa7dc06(0x234)]&&(_0xf87b8f['operationId']=_0x5a7f39[_0xa7dc06(0x234)]),_0xf87b8f[_0xa7dc06(0x1ea)]=this['isRecoverable'](_0xf87b8f),_0xf87b8f;}async['processError'](_0x1e4abf){const _0x99482=a0_0x5a53d0;try{this['logger']['error']('Processing\x20error',{'errorId':_0x1e4abf['id'],'type':_0x1e4abf['type'],'severity':_0x1e4abf[_0x99482(0x206)],'agentId':_0x1e4abf[_0x99482(0x226)],'message':_0x1e4abf['message']});_0x1e4abf[_0x99482(0x206)]==='critical'&&await this['handleCriticalError'](_0x1e4abf);let _0x403169=null;return _0x1e4abf['recoverable']&&_0x1e4abf['retryCount']<_0x1e4abf[_0x99482(0x240)]&&(_0x403169=await this[_0x99482(0x23e)](_0x1e4abf)),await this[_0x99482(0x213)](_0x1e4abf,_0x403169),{'success':_0x403169?.[_0x99482(0x209)]||![],'errorId':_0x1e4abf['id'],'errorType':_0x1e4abf[_0x99482(0x210)],'severity':_0x1e4abf['severity'],'recovery':_0x403169,'shouldRetry':this['shouldRetry'](_0x1e4abf,_0x403169),'retryDelay':this[_0x99482(0x218)](_0x1e4abf)};}catch(processingError){return this[_0x99482(0x20e)][_0x99482(0x23d)](_0x99482(0x233),{'errorId':_0x1e4abf['id'],'processingError':processingError[_0x99482(0x228)]}),{'success':![],'errorId':_0x1e4abf['id'],'errorType':_0x1e4abf['type'],'severity':_0x99482(0x223),'recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x3d9cfe){const _0xefb947=a0_0x5a53d0;try{this[_0xefb947(0x216)][_0xefb947(0x1e7)]++;const _0x3f8fbd=this['recoveryStrategies'][_0xefb947(0x229)](_0x3d9cfe['type'])||this[_0xefb947(0x20b)]['get']('default');if(!_0x3f8fbd)return this['logger'][_0xefb947(0x1fd)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x3d9cfe['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0xefb947(0x20e)]['info'](_0xefb947(0x20a),{'errorId':_0x3d9cfe['id'],'errorType':_0x3d9cfe[_0xefb947(0x210)],'strategy':_0x3f8fbd['name'],'retryCount':_0x3d9cfe['retryCount']});const _0x289c68=await _0x3f8fbd[_0xefb947(0x21f)](_0x3d9cfe);return _0x289c68['success']?(this['errorStats'][_0xefb947(0x23f)]++,this['logger'][_0xefb947(0x207)](_0xefb947(0x1de),{'errorId':_0x3d9cfe['id'],'strategy':_0x3f8fbd[_0xefb947(0x1e8)]})):this[_0xefb947(0x20e)][_0xefb947(0x1fd)]('Error\x20recovery\x20failed',{'errorId':_0x3d9cfe['id'],'strategy':_0x3f8fbd['name'],'reason':_0x289c68['reason']}),_0x289c68;}catch(_0x1730a3){return this[_0xefb947(0x20e)]['error'](_0xefb947(0x211),{'errorId':_0x3d9cfe['id'],'recoveryError':_0x1730a3[_0xefb947(0x228)]}),{'success':![],'reason':_0xefb947(0x1e4)+_0x1730a3[_0xefb947(0x228)]};}}async[a0_0x5a53d0(0x1fb)](_0xeefe06){const _0x21b2d7=a0_0x5a53d0;try{this[_0x21b2d7(0x216)][_0x21b2d7(0x1e1)]++,this[_0x21b2d7(0x20e)][_0x21b2d7(0x23d)](_0x21b2d7(0x21e),{'errorId':_0xeefe06['id'],'message':_0xeefe06['message'],'context':_0xeefe06['context']});typeof process!==_0x21b2d7(0x212)&&process['emit']&&process[_0x21b2d7(0x1cc)]('criticalError',_0xeefe06);switch(_0xeefe06[_0x21b2d7(0x210)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this['handleAuthenticationFailure'](_0xeefe06);break;case ERROR_TYPES[_0x21b2d7(0x1db)]:await this['handleRateLimitExceeded'](_0xeefe06);break;case ERROR_TYPES[_0x21b2d7(0x1e2)]:await this[_0x21b2d7(0x1f1)](_0xeefe06);break;default:await this['handleGenericCriticalError'](_0xeefe06);}}catch(_0x26741f){this['logger'][_0x21b2d7(0x23d)](_0x21b2d7(0x1da),{'errorId':_0xeefe06['id'],'handlingError':_0x26741f['message']});}}['determineErrorType'](_0x1c9778,_0x217100){const _0x503d74=a0_0x5a53d0;if(_0x1c9778['code']===_0x503d74(0x219)||_0x1c9778[_0x503d74(0x22a)]===HTTP_STATUS[_0x503d74(0x200)])return ERROR_TYPES[_0x503d74(0x224)];if(_0x1c9778['code']==='EACCES'||_0x1c9778[_0x503d74(0x22a)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES['PERMISSION_DENIED'];if(_0x1c9778['status']===HTTP_STATUS[_0x503d74(0x1fa)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x1c9778[_0x503d74(0x22a)]===HTTP_STATUS[_0x503d74(0x23b)])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x1bf0a2=_0x1c9778['message']?.[_0x503d74(0x1fc)]()||'';if(_0x1bf0a2['includes'](_0x503d74(0x1d4))||_0x1bf0a2[_0x503d74(0x1cd)](_0x503d74(0x239)))return ERROR_TYPES[_0x503d74(0x1e2)];if(_0x1bf0a2[_0x503d74(0x1cd)]('validation')||_0x1bf0a2['includes']('invalid'))return ERROR_TYPES[_0x503d74(0x205)];if(_0x1bf0a2[_0x503d74(0x1cd)](_0x503d74(0x20c))||_0x1bf0a2[_0x503d74(0x1cd)](_0x503d74(0x241)))return ERROR_TYPES[_0x503d74(0x1f0)];if(_0x217100[_0x503d74(0x1df)]==='file_operation')return ERROR_TYPES[_0x503d74(0x224)];if(_0x217100[_0x503d74(0x1df)]==='api_request')return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x57940f,_0x33d7f2){const _0x278dab=a0_0x5a53d0,_0x907fcd=[ERROR_TYPES[_0x278dab(0x1d8)],ERROR_TYPES[_0x278dab(0x1f0)]],_0x5deffd=[ERROR_TYPES['RATE_LIMIT_EXCEEDED'],ERROR_TYPES[_0x278dab(0x1e2)],ERROR_TYPES[_0x278dab(0x204)]],_0x4cf2ed=this[_0x278dab(0x231)](_0x57940f,_0x33d7f2);if(_0x907fcd['includes'](_0x4cf2ed))return _0x278dab(0x223);if(_0x5deffd[_0x278dab(0x1cd)](_0x4cf2ed))return _0x278dab(0x236);const _0x3d3f23=_0x33d7f2&&_0x33d7f2['retryCount']||0x0;if(_0x3d3f23>=0x3)return'high';if(_0x33d7f2&&_0x33d7f2['agentId']&&_0x33d7f2['operation']==='agent_communication')return _0x278dab(0x1f2);return _0x278dab(0x1cb);}['isRecoverable'](_0x5bbfc5){const _0x5e55b6=a0_0x5a53d0,_0x49ce0e=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x49ce0e[_0x5e55b6(0x1cd)](_0x5bbfc5[_0x5e55b6(0x210)]))return![];if(_0x5bbfc5[_0x5e55b6(0x208)]>=_0x5bbfc5['maxRetries'])return![];if(_0x5bbfc5['severity']===_0x5e55b6(0x223))return![];return!![];}['getMaxRetries'](_0xd5370b,_0x38f2dd){const _0x163975=a0_0x5a53d0,_0x427f90=this[_0x163975(0x231)](_0xd5370b,_0x38f2dd),_0x19e644={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0x163975(0x1e2)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x19e644[_0x427f90]||0x3;}['shouldRetry'](_0x1a46be,_0x4c7757){const _0x575bb9=a0_0x5a53d0;if(!_0x1a46be[_0x575bb9(0x1ea)])return![];if(_0x1a46be['retryCount']>=_0x1a46be['maxRetries'])return![];if(_0x4c7757&&_0x4c7757[_0x575bb9(0x209)])return![];return!![];}['calculateRetryDelay'](_0x374e70){const _0x57cf11=a0_0x5a53d0,_0x233859=0x3e8,_0x4e9e13=0x7530,_0x11ff5=_0x233859*Math['pow'](0x2,_0x374e70['retryCount']),_0x5399af=Math['random']()*0x3e8;return Math[_0x57cf11(0x1d7)](_0x11ff5+_0x5399af,_0x4e9e13);}[a0_0x5a53d0(0x1fe)](){const _0x3383fc=a0_0x5a53d0;this[_0x3383fc(0x20b)]['set'](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0xfc5090=>{const _0x2885d1=_0x3383fc;if(_0xfc5090['context']['filePath'])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x2885d1(0x242)};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':'rate_limit_recovery','recover':async _0x405398=>{const _0x37d292=_0x3383fc,_0x518c46=this[_0x37d292(0x1d2)](_0x405398);return this['logger']['info'](_0x37d292(0x221),{'waitTime':_0x518c46}),await new Promise(_0x20f6dc=>setTimeout(_0x20f6dc,_0x518c46)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x518c46};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x40295f=>{const _0x4815cb=_0x3383fc;if(_0x40295f[_0x4815cb(0x1e9)]['timeout']){const _0x187cb3=Math['min'](_0x40295f['context'][_0x4815cb(0x1d4)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x187cb3};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES[_0x3383fc(0x204)],{'name':_0x3383fc(0x1f6),'recover':async _0x4a73d9=>{const _0xd445f9=_0x3383fc;return{'success':![],'reason':_0xd445f9(0x22b),'suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x18fa75=>{const _0x16b3d6=_0x3383fc;if(_0x18fa75['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x16b3d6(0x1d5)};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this[_0x3383fc(0x20b)][_0x3383fc(0x1ce)]('default',{'name':'default_recovery','recover':async _0x2911b9=>{const _0x4c84c6=_0x3383fc,_0x535a35=this['calculateRetryDelay'](_0x2911b9);return await new Promise(_0x359273=>setTimeout(_0x359273,_0x535a35)),{'success':!![],'action':_0x4c84c6(0x1eb),'delay':_0x535a35};}});}async['handleAuthenticationFailure'](_0xb7d813){const _0x5c2c9e=a0_0x5a53d0;this[_0x5c2c9e(0x20e)]['error'](_0x5c2c9e(0x1f3),{'errorId':_0xb7d813['id']});if(_0xb7d813['agentId']){}}async[a0_0x5a53d0(0x1ef)](_0x44f447){const _0x452f74=a0_0x5a53d0,_0x27b905=this[_0x452f74(0x1d2)](_0x44f447);this[_0x452f74(0x20e)][_0x452f74(0x1fd)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x44f447['id'],'waitTime':_0x27b905,'agentId':_0x44f447['agentId']});if(_0x44f447['agentId']){}}async[a0_0x5a53d0(0x1f1)](_0x46b37d){const _0x3a03bf=a0_0x5a53d0;this['logger']['error']('Operation\x20timeout\x20detected',{'errorId':_0x46b37d['id'],'operation':_0x46b37d[_0x3a03bf(0x1e9)]['operation'],'timeout':_0x46b37d[_0x3a03bf(0x1e9)][_0x3a03bf(0x1d4)]});}async[a0_0x5a53d0(0x1d3)](_0x353233){const _0x28bec4=a0_0x5a53d0;this[_0x28bec4(0x20e)][_0x28bec4(0x23d)]('Generic\x20critical\x20error',{'errorId':_0x353233['id'],'type':_0x353233['type'],'message':_0x353233['message']}),_0x353233['agentId']&&this[_0x28bec4(0x20e)]['warn'](_0x28bec4(0x1e3),{'agentId':_0x353233['agentId']});}['calculateRateLimitWait'](_0x133328){const _0x20d337=a0_0x5a53d0,_0x54f0b6=0xea60,_0x5d60c2=Math[_0x20d337(0x22e)](0x2,_0x133328['retryCount']),_0x2b775c=0x493e0;return Math['min'](_0x54f0b6*_0x5d60c2,_0x2b775c);}async[a0_0x5a53d0(0x213)](_0x34e043,_0x4995d8){const _0x57ecc5=a0_0x5a53d0;try{const _0x393566={'errorId':_0x34e043['id'],'timestamp':_0x34e043['timestamp'],'type':_0x34e043[_0x57ecc5(0x210)],'severity':_0x34e043[_0x57ecc5(0x206)],'message':_0x34e043['message'],'agentId':_0x34e043['agentId'],'toolId':_0x34e043[_0x57ecc5(0x1ca)],'operationId':_0x34e043['operationId'],'retryCount':_0x34e043['retryCount'],'recoveryAttempted':!!_0x4995d8,'recoverySuccess':_0x4995d8?.[_0x57ecc5(0x209)]||![],'recoveryAction':_0x4995d8?.[_0x57ecc5(0x1e6)]||null};this[_0x57ecc5(0x1d1)]['push'](_0x393566),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x17c356){this[_0x57ecc5(0x20e)][_0x57ecc5(0x23d)](_0x57ecc5(0x1d0),{'errorId':_0x34e043['id'],'loggingError':_0x17c356['message']});}}async[a0_0x5a53d0(0x22f)](){const _0x5fb71b=a0_0x5a53d0;if(this['isProcessingQueue']||this[_0x5fb71b(0x1d1)]['length']===0x0)return;this[_0x5fb71b(0x1e5)]=!![];try{while(this[_0x5fb71b(0x1d1)][_0x5fb71b(0x202)]>0x0){const _0x3f2531=this[_0x5fb71b(0x1d1)][_0x5fb71b(0x237)](0x0,0xa);this[_0x5fb71b(0x20e)]['debug']('Processing\x20error\x20batch',{'batchSize':_0x3f2531[_0x5fb71b(0x202)]}),await new Promise(_0xbadfbc=>setTimeout(_0xbadfbc,0x64));}}catch(processingError){this[_0x5fb71b(0x20e)][_0x5fb71b(0x23d)]('Error\x20queue\x20processing\x20failed',{'error':processingError[_0x5fb71b(0x228)]});}finally{this['isProcessingQueue']=![];}}[a0_0x5a53d0(0x1f4)](){const _0x29cc7b=a0_0x5a53d0;setInterval(()=>{const _0x558226=a0_0x13fb;this['errorQueue']['length']>0x0&&this[_0x558226(0x22f)]();},0x1388),typeof process!=='undefined'&&(process['on'](_0x29cc7b(0x217),_0x50cc94=>{const _0xe1c541=_0x29cc7b;this[_0xe1c541(0x215)](_0x50cc94,{'type':'uncaught_exception','severity':_0xe1c541(0x223)});}),process['on']('unhandledRejection',(_0x505282,_0x376afd)=>{const _0x6cf453=_0x29cc7b;this['handleError'](new Error(_0x6cf453(0x201)+_0x505282),{'type':'unhandled_rejection','severity':_0x6cf453(0x236),'promise':_0x376afd[_0x6cf453(0x21d)]()});}));}[a0_0x5a53d0(0x1ff)](_0x519ac6){const _0x5abd60=a0_0x5a53d0;this[_0x5abd60(0x216)][_0x5abd60(0x1d9)]++,!this[_0x5abd60(0x216)]['errorsByType']['has'](_0x519ac6['type'])&&this[_0x5abd60(0x216)]['errorsByType']['set'](_0x519ac6[_0x5abd60(0x210)],0x0),this[_0x5abd60(0x216)][_0x5abd60(0x235)]['set'](_0x519ac6[_0x5abd60(0x210)],this['errorStats']['errorsByType']['get'](_0x519ac6[_0x5abd60(0x210)])+0x1),_0x519ac6['agentId']&&(!this['errorStats'][_0x5abd60(0x21b)]['has'](_0x519ac6[_0x5abd60(0x226)])&&this[_0x5abd60(0x216)]['errorsByAgent'][_0x5abd60(0x1ce)](_0x519ac6[_0x5abd60(0x226)],0x0),this[_0x5abd60(0x216)][_0x5abd60(0x21b)][_0x5abd60(0x1ce)](_0x519ac6[_0x5abd60(0x226)],this['errorStats'][_0x5abd60(0x21b)]['get'](_0x519ac6[_0x5abd60(0x226)])+0x1));}['subscribe'](_0x5107a1){const _0xb104a2=a0_0x5a53d0;return this[_0xb104a2(0x23c)][_0xb104a2(0x1f8)](_0x5107a1),()=>this[_0xb104a2(0x23c)][_0xb104a2(0x1ec)](_0x5107a1);}['notifySubscribers'](_0x17ac17,_0x4038a5){const _0x168ce8=a0_0x5a53d0;this['errorSubscribers'][_0x168ce8(0x1dd)](_0x3c708b=>{const _0x1a7492=_0x168ce8;try{_0x3c708b(_0x17ac17,_0x4038a5);}catch(_0x384db9){this['logger'][_0x1a7492(0x23d)]('Error\x20subscriber\x20callback\x20failed',{'error':_0x384db9['message']});}});}[a0_0x5a53d0(0x21c)](){const _0x376044=a0_0x5a53d0;return _0x376044(0x1cf)+Date[_0x376044(0x203)]()+'_'+Math[_0x376044(0x214)]()[_0x376044(0x21d)](0x24)[_0x376044(0x1f5)](0x2,0x9);}[a0_0x5a53d0(0x23a)](){const _0x579292=a0_0x5a53d0;return{'totalErrors':this['errorStats']['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats']['errorsByType']),'errorsByAgent':Object[_0x579292(0x1f7)](this['errorStats'][_0x579292(0x21b)]),'recoveryAttempts':this['errorStats'][_0x579292(0x1e7)],'successfulRecoveries':this[_0x579292(0x216)][_0x579292(0x23f)],'recoverySuccessRate':this['errorStats'][_0x579292(0x1e7)]>0x0?this[_0x579292(0x216)]['successfulRecoveries']/this['errorStats'][_0x579292(0x1e7)]:0x0,'criticalErrors':this[_0x579292(0x216)]['criticalErrors'],'queueLength':this['errorQueue'][_0x579292(0x202)]};}[a0_0x5a53d0(0x1d6)](){const _0x29703f=a0_0x5a53d0;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x29703f(0x1d1)]=[];}}export default ErrorHandler;function a0_0x1820(){const _0x310ca6=['BM93','uevstuLtu0LptL9eru5jruq','vKfmsurbveLptL9fuLjpuG','C2v2zxjPDhK','Aw5MBW','CMv0CNLdB3vUDa','C3vJy2vZCW','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','CMvJB3zLCNLtDhjHDgvNAwvZ','y29UzMLN','mJyXvfjisefx','Bg9Nz2vY','ndi4mtjiq3LwzxO','DhLWzq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','Dw5KzwzPBMvK','Bg9NrxjYB3i','CMfUzg9T','AgfUzgXLrxjYB3i','zxjYB3jtDgf0CW','Dw5JyxvNAhrfEgnLChrPB24','y2fSy3vSyxrLuMv0CNLezwXHEq','ru5pru5u','y29Kzq','zxjYB3jZqNLbz2vUDa','z2vUzxjHDgvfCNjVCKLK','Dg9tDhjPBMC','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','CMvJB3zLCG','mJy4nti2neXvy1znAW','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','nda0otrAB0D5wMK','y3jPDgLJywW','rKLmrv9ot1rFrK9vtKq','BM90Awz5u3vIC2nYAwjLCNm','ywDLBNrjza','zgv0zxjTAw5Lu2v2zxjPDhK','BwvZC2fNzq','z2v0','C3rHDhvZ','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','otCXmZK1mLvvrwrkEq','m1fSwvvOqq','Cg93','ChjVy2vZC0vYCM9YuxvLDwu','mti0nxLkCKf4sW','zgv0zxjTAw5LrxjYB3juExbL','ChjVy2vZC0vYCM9Y','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','B3bLCMf0Aw9Uswq','zxjYB3jZqNLuExbL','AgLNAa','C3bSAwnL','C3rHy2S','DgLTzwqGB3v0','z2v0rxjYB3jtDgf0CW','ve9px01btLLFuKvrvuvtvfm','zxjYB3jtDwjZy3jPyMvYCW','zxjYB3i','yxr0zw1WDfjLy292zxj5','C3vJy2vZC2z1BfjLy292zxjPzxm','Bwf4uMv0CMLLCW','y29UzMLNDxjHDgLVBG','tM8GzMLSzsbWyxrOihbYB3zPzgvK','Dg9VBeLK','Bg93','zw1PDa','Aw5JBhvKzxm','C2v0','zxjYxW','rxjYB3iGBg9Nz2LUzYbMywLSzwq','zxjYB3jrDwv1zq','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','DgLTzw91Da','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','y2XLyxjfCNjVCLn0yxrZ','BwLU','qvvusevoveLdqvrjt05FrKfjteve','Dg90ywXfCNjVCNm','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','uKfurv9msu1jvf9fwenfrurfra','nti0mJa1nM5LquHlqW','zM9YrwfJAa','rxjYB3iGCMvJB3zLCNKGC3vJy2vZC2z1Ba','B3bLCMf0Aw9U','nti5ntCWBMn6wNvk','y3jPDgLJywXfCNjVCNm','t1bfuKfusu9ox1rjtuvpvvq','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','AxnqCM9JzxnZAw5NuxvLDwu','ywn0Aw9U','CMvJB3zLCNLbDhrLBxb0CW','BMfTzq','y29UDgv4Da','CMvJB3zLCMfIBgu','zgvSyxLFCMv0CNK','zgvSzxrL','z2v0twf4uMv0CMLLCW','otGZotuYEgTrExHH','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','q09orKLhvvjbveLptL9fuLjpuG','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','BwvKAxvT','qxv0AgvUDgLJyxrPB24GzMfPBhvYzsbKzxrLy3rLza','C2v0DxbfCNjVCLbYB2nLC3nPBMC','C3vIC3rY','CgvYBwLZC2LVBL9YzwnVDMvYEq','zNjVBuvUDhjPzxm','ywrK','y2XHC3nPzNLfCNjVCG','vu5bvvrit1jjwKve','AgfUzgXLq3jPDgLJywXfCNjVCG','Dg9mB3DLCKnHC2u','D2fYBG','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','DxbKyxrLrxjYB3jtDgf0CW','tK9ux0zpvu5e','vw5Oyw5KBgvKifjLAMvJDgLVBJOG','BgvUz3rO'];a0_0x1820=function(){return _0x310ca6;};return a0_0x1820();}
1
+ function a0_0x6941(){const _0x5afb78=['CMvJB3zLCNLbDhrLBxb0CW','vu5bvvrit1jjwKve','zxjYB3jrDwv1zq','CMvJB3zLCNLtDhjHDgvNAwvZ','DgLTzxn0yw1W','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','CMv0CNLdB3vUDa','t1bfuKfusu9ox1rjtuvpvvq','C2v0DxbfCNjVCLbYB2nLC3nPBMC','AxnszwnVDMvYywjSzq','tM8GzMLSzsbWyxrOihbYB3zPzgvK','zxjYB3jZqNLbz2vUDa','rxjYB3iGCMvJB3zLCNKGzMfPBgvK','D2fYBG','ywDLBNrFy29TBxvUAwnHDgLVBG','AxnqCM9JzxnZAw5NuxvLDwu','qvvusevoveLdqvrjt05FrKfjteve','mtu1mZG0muDhuwTqtq','C3rHDhvZ','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','zxjYB3i','rKLmrv9ot1rFrK9vtKq','mJrPBMnQvg4','mtK5mJq2odbUz2LhB0K','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','AgfUzgXLrxjYB3i','DgLTzw91Da','DxbKyxrLrxjYB3jtDgf0CW','mJG2CMv3B2jS','CMfUzg9T','rxjYB3iGAgfUzgXPBMCGzMfPBgvK','Dg9VBeLK','q2fUBM90igfKANvZDcb0Aw1LB3v0','Aw5JCMvHC2vKx3rPBwvVDxq','CMvJB3zLCMfIBgu','zgv0zxjTAw5LrxjYB3juExbL','uKfurv9msu1jvf9fwenfrurfra','ywn0Aw9U','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','uevstuLtu0LptL9eru5jruq','ywrK','C2v2zxjPDhK','C3vJy2vZCW','q2HLy2SGzMLSzsbWyxrOigfUzcbWzxjTAxnZAw9UCW','Bg93','Aw5MBW','y2fSy3vSyxrLuMv0CNLezwXHEq','y3jPDgLJywXfCNjVCNm','BwvZC2fNzq','DMfSAwrHDgLVBG','yxbPx3jLCxvLC3q','uhjVy2vZC2LUzYbLCNjVCIbIyxrJAa','Cg93','AgLNAa','Dg9mB3DLCKnHC2u','mJHfDM1ywe8','zM9YrwfJAa','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','y29UDgv4Da','B3bLCMf0Aw9U','BwvKAxvT','qxv0AgvUDgLJyxrPB24GzMfPBhvYzsbKzxrLy3rLza','y29UzMLN','z2vUzxjHDgvfCNjVCKLK','CgvYBwLZC2LVBL9YzwnVDMvYEq','Dg9tDhjPBMC','nNHfuwPvBa','vu5ltK9xtL9fuLjpuG','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','mti5mJq4qLrpqvnc','zMLSzvbHDgG','AgfUzgXLq3jPDgLJywXfCNjVCG','y29Kzq','mJbRwKjky0i','CMvHC29U','C3vJy2vZC2z1BfjLy292zxjPzxm','z2v0twf4uMv0CMLLCW','BM93','mJu5odu0nNbWrNv3AG','y3jPDgLJywW','zw1PDa','Aw5JBhvKzxm','ywDLBNrjza','Bg9Nz2vY','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','Bg9NrxjYB3i','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jtDgf0CW','mtC0ntuZogzsv29SAa','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','ChjVy2vZC0vYCM9Y','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','Dw5JyxvNAhrFzxHJzxb0Aw9U','q2HLy2SGzMLSzs9KAxjLy3rVCNKGCgvYBwLZC2LVBNm','DhLWzq','B3bLCMf0Aw9Uswq','y29UzMLNDxjHDgLVBG','BwLU','C3vIC2nYAwjL','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','z2v0','r2vUzxjPyYbJCML0AwnHBcbLCNjVCG','zxjYB3jtDwjZy3jPyMvYCW','mJiYnZKWswHRs0rQ','Dw5Oyw5KBgvKuMvQzwn0Aw9U','AgfZ','BgvUz3rO','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','rufdq0vt','C2v0','mty2nZy2z1vqCgzW'];a0_0x6941=function(){return _0x5afb78;};return a0_0x6941();}function a0_0x2c36(_0xb0dcaf,_0x5e75ea){_0xb0dcaf=_0xb0dcaf-0x7e;const _0x6941e9=a0_0x6941();let _0x2c360a=_0x6941e9[_0xb0dcaf];if(a0_0x2c36['HSDriV']===undefined){var _0x3209c2=function(_0x56ae60){const _0x39ca24='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2be7b8='',_0x442cb9='';for(let _0x8f4508=0x0,_0x439e69,_0x16421e,_0x43b513=0x0;_0x16421e=_0x56ae60['charAt'](_0x43b513++);~_0x16421e&&(_0x439e69=_0x8f4508%0x4?_0x439e69*0x40+_0x16421e:_0x16421e,_0x8f4508++%0x4)?_0x2be7b8+=String['fromCharCode'](0xff&_0x439e69>>(-0x2*_0x8f4508&0x6)):0x0){_0x16421e=_0x39ca24['indexOf'](_0x16421e);}for(let _0xc9f6e5=0x0,_0x3df218=_0x2be7b8['length'];_0xc9f6e5<_0x3df218;_0xc9f6e5++){_0x442cb9+='%'+('00'+_0x2be7b8['charCodeAt'](_0xc9f6e5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x442cb9);};a0_0x2c36['HONRVb']=_0x3209c2,a0_0x2c36['iQQTGK']={},a0_0x2c36['HSDriV']=!![];}const _0x3c4181=_0x6941e9[0x0],_0x1d624f=_0xb0dcaf+_0x3c4181,_0x149f6d=a0_0x2c36['iQQTGK'][_0x1d624f];return!_0x149f6d?(_0x2c360a=a0_0x2c36['HONRVb'](_0x2c360a),a0_0x2c36['iQQTGK'][_0x1d624f]=_0x2c360a):_0x2c360a=_0x149f6d,_0x2c360a;}const a0_0xa49c72=a0_0x2c36;(function(_0x5c905,_0x4cb5b2){const _0x342948=a0_0x2c36,_0x2069ea=_0x5c905();while(!![]){try{const _0x47592e=-parseInt(_0x342948(0xa3))/0x1*(parseInt(_0x342948(0xcf))/0x2)+parseInt(_0x342948(0xaf))/0x3+-parseInt(_0x342948(0xa6))/0x4*(parseInt(_0x342948(0xaa))/0x5)+-parseInt(_0x342948(0xb9))/0x6*(parseInt(_0x342948(0x96))/0x7)+parseInt(_0x342948(0xe6))/0x8*(parseInt(_0x342948(0xe1))/0x9)+parseInt(_0x342948(0xc8))/0xa*(-parseInt(_0x342948(0xec))/0xb)+parseInt(_0x342948(0xe7))/0xc;if(_0x47592e===_0x4cb5b2)break;else _0x2069ea['push'](_0x2069ea['shift']());}catch(_0x363c57){_0x2069ea['push'](_0x2069ea['shift']());}}}(a0_0x6941,0xa411b));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x2be7b8,_0x442cb9){const _0x1befa0=a0_0x2c36;this[_0x1befa0(0x9f)]=_0x2be7b8||{},this['logger']=_0x442cb9,this[_0x1befa0(0xb8)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x1befa0(0xd3)]=new Map(),this[_0x1befa0(0xc7)]=new Set(),this[_0x1befa0(0xd2)]=[],this['isProcessingQueue']=![],this['initializeRecoveryStrategies'](),this[_0x1befa0(0xd8)]();}async['handleError'](_0x8f4508,_0x439e69={}){const _0x362359=a0_0x2c36;try{const _0x16421e=this['classifyError'](_0x8f4508,_0x439e69),_0x43b513=await this[_0x362359(0xbb)](_0x16421e);return this[_0x362359(0xeb)](_0x16421e),this['notifySubscribers'](_0x16421e,_0x43b513),_0x43b513;}catch(_0xc9f6e5){return this['logger']['error'](_0x362359(0xee),{'originalError':_0x8f4508[_0x362359(0x8f)],'handlingError':_0xc9f6e5['message']}),{'success':![],'error':_0xc9f6e5,'recovery':null,'severity':'critical'};}}['classifyError'](_0x3df218,_0x24f841={}){const _0x23c400=a0_0x2c36,_0x548cb7={'id':this['generateErrorId'](),'timestamp':new Date()['toISOString'](),'message':_0x3df218[_0x23c400(0x8f)]||_0x3df218[_0x23c400(0xa2)](),'stack':_0x3df218['stack']||null,'code':_0x3df218['code']||null,'type':this[_0x23c400(0x82)](_0x3df218,_0x24f841),'severity':this['determineSeverity'](_0x3df218,_0x24f841),'context':{..._0x24f841},'recoverable':!![],'retryCount':_0x24f841['retryCount']||0x0,'maxRetries':this['getMaxRetries'](_0x3df218,_0x24f841)};return _0x24f841[_0x23c400(0xb3)]&&(_0x548cb7['agentId']=_0x24f841['agentId']),_0x24f841['toolId']&&(_0x548cb7[_0x23c400(0x7e)]=_0x24f841['toolId']),_0x24f841[_0x23c400(0xc0)]&&(_0x548cb7[_0x23c400(0xc0)]=_0x24f841[_0x23c400(0xc0)]),_0x548cb7[_0x23c400(0x81)]=this['isRecoverable'](_0x548cb7),_0x548cb7;}async[a0_0xa49c72(0xbb)](_0x2f4ccb){const _0x93fdfb=a0_0xa49c72;try{this[_0x93fdfb(0xb4)][_0x93fdfb(0xe4)]('Processing\x20error',{'errorId':_0x2f4ccb['id'],'type':_0x2f4ccb['type'],'severity':_0x2f4ccb[_0x93fdfb(0x88)],'agentId':_0x2f4ccb['agentId'],'message':_0x2f4ccb[_0x93fdfb(0x8f)]});_0x2f4ccb[_0x93fdfb(0x88)]==='critical'&&await this[_0x93fdfb(0xa8)](_0x2f4ccb);let _0x29d6a1=null;return _0x2f4ccb[_0x93fdfb(0x81)]&&_0x2f4ccb['retryCount']<_0x2f4ccb['maxRetries']&&(_0x29d6a1=await this['attemptRecovery'](_0x2f4ccb)),await this[_0x93fdfb(0xb6)](_0x2f4ccb,_0x29d6a1),{'success':_0x29d6a1?.['success']||![],'errorId':_0x2f4ccb['id'],'errorType':_0x2f4ccb['type'],'severity':_0x2f4ccb[_0x93fdfb(0x88)],'recovery':_0x29d6a1,'shouldRetry':this['shouldRetry'](_0x2f4ccb,_0x29d6a1),'retryDelay':this['calculateRetryDelay'](_0x2f4ccb)};}catch(processingError){return this[_0x93fdfb(0xb4)]['error']('Error\x20processing\x20failed',{'errorId':_0x2f4ccb['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x2f4ccb['id'],'errorType':_0x2f4ccb[_0x93fdfb(0xbf)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async['attemptRecovery'](_0x540d2c){const _0x342791=a0_0xa49c72;try{this['errorStats'][_0x342791(0xd0)]++;const _0x288600=this[_0x342791(0xd3)]['get'](_0x540d2c[_0x342791(0xbf)])||this[_0x342791(0xd3)]['get']('default');if(!_0x288600)return this['logger'][_0x342791(0xdd)]('No\x20recovery\x20strategy\x20found',{'errorType':_0x540d2c[_0x342791(0xbf)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x342791(0xb4)][_0x342791(0x8c)]('Attempting\x20error\x20recovery',{'errorId':_0x540d2c['id'],'errorType':_0x540d2c[_0x342791(0xbf)],'strategy':_0x288600['name'],'retryCount':_0x540d2c['retryCount']});const _0x41d5a0=await _0x288600['recover'](_0x540d2c);return _0x41d5a0[_0x342791(0x89)]?(this[_0x342791(0xb8)][_0x342791(0xac)]++,this[_0x342791(0xb4)][_0x342791(0x8c)]('Error\x20recovery\x20successful',{'errorId':_0x540d2c['id'],'strategy':_0x288600['name']})):this[_0x342791(0xb4)][_0x342791(0xdd)](_0x342791(0xdc),{'errorId':_0x540d2c['id'],'strategy':_0x288600['name'],'reason':_0x41d5a0[_0x342791(0xab)]}),_0x41d5a0;}catch(_0x18434c){return this['logger'][_0x342791(0xe4)]('Recovery\x20attempt\x20failed',{'errorId':_0x540d2c['id'],'recoveryError':_0x18434c['message']}),{'success':![],'reason':'Recovery\x20attempt\x20failed:\x20'+_0x18434c['message']};}}async[a0_0xa49c72(0xa8)](_0x4e0bdc){const _0x13d55e=a0_0xa49c72;try{this['errorStats']['criticalErrors']++,this['logger']['error'](_0x13d55e(0xe8),{'errorId':_0x4e0bdc['id'],'message':_0x4e0bdc['message'],'context':_0x4e0bdc['context']});typeof process!=='undefined'&&process[_0x13d55e(0xb1)]&&process['emit']('criticalError',_0x4e0bdc);switch(_0x4e0bdc[_0x13d55e(0xbf)]){case ERROR_TYPES[_0x13d55e(0xe0)]:await this[_0x13d55e(0xba)](_0x4e0bdc);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this[_0x13d55e(0x98)](_0x4e0bdc);break;case ERROR_TYPES[_0x13d55e(0xd7)]:await this['handleOperationTimeout'](_0x4e0bdc);break;default:await this['handleGenericCriticalError'](_0x4e0bdc);}}catch(_0x4090c5){this[_0x13d55e(0xb4)][_0x13d55e(0xe4)]('Critical\x20error\x20handling\x20failed',{'errorId':_0x4e0bdc['id'],'handlingError':_0x4090c5['message']});}}['determineErrorType'](_0x1dd1f8,_0x5d0ec2){const _0x5b6bcf=a0_0xa49c72;if(_0x1dd1f8[_0x5b6bcf(0xa9)]==='ENOENT'||_0x1dd1f8['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x5b6bcf(0xe5)];if(_0x1dd1f8[_0x5b6bcf(0xa9)]===_0x5b6bcf(0xcd)||_0x1dd1f8[_0x5b6bcf(0xe2)]===HTTP_STATUS['FORBIDDEN'])return ERROR_TYPES[_0x5b6bcf(0x86)];if(_0x1dd1f8[_0x5b6bcf(0xe2)]===HTTP_STATUS[_0x5b6bcf(0xd1)])return ERROR_TYPES[_0x5b6bcf(0xe0)];if(_0x1dd1f8['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];const _0x5cf261=_0x1dd1f8[_0x5b6bcf(0x8f)]?.[_0x5b6bcf(0x95)]()||'';if(_0x5cf261['includes'](_0x5b6bcf(0xea))||_0x5cf261[_0x5b6bcf(0xb2)]('timed\x20out'))return ERROR_TYPES['OPERATION_TIMEOUT'];if(_0x5cf261[_0x5b6bcf(0xb2)](_0x5b6bcf(0x90))||_0x5cf261['includes']('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x5cf261['includes']('config')||_0x5cf261['includes'](_0x5b6bcf(0xc1)))return ERROR_TYPES[_0x5b6bcf(0xb7)];if(_0x5d0ec2['operation']==='file_operation')return ERROR_TYPES[_0x5b6bcf(0xe5)];if(_0x5d0ec2[_0x5b6bcf(0x9c)]===_0x5b6bcf(0x91))return ERROR_TYPES[_0x5b6bcf(0x83)];return ERROR_TYPES[_0x5b6bcf(0xa4)];}['determineSeverity'](_0x5c9f22,_0x11580f){const _0x19fa2e=a0_0xa49c72,_0x43febb=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']],_0x764539=[ERROR_TYPES[_0x19fa2e(0x83)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES['PERMISSION_DENIED']],_0x2bfe17=this['determineErrorType'](_0x5c9f22,_0x11580f);if(_0x43febb[_0x19fa2e(0xb2)](_0x2bfe17))return _0x19fa2e(0xb0);if(_0x764539['includes'](_0x2bfe17))return _0x19fa2e(0x94);const _0x3d7ced=_0x11580f&&_0x11580f['retryCount']||0x0;if(_0x3d7ced>=0x3)return'high';if(_0x11580f&&_0x11580f['agentId']&&_0x11580f[_0x19fa2e(0x9c)]===_0x19fa2e(0xde))return _0x19fa2e(0x9d);return _0x19fa2e(0x8b);}[a0_0xa49c72(0xd9)](_0x1e3d4e){const _0xc87745=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0xc87745['includes'](_0x1e3d4e['type']))return![];if(_0x1e3d4e['retryCount']>=_0x1e3d4e['maxRetries'])return![];if(_0x1e3d4e['severity']==='critical')return![];return!![];}[a0_0xa49c72(0xad)](_0x566bb0,_0x28aae5){const _0x216aec=a0_0xa49c72,_0x95ba5e=this['determineErrorType'](_0x566bb0,_0x28aae5),_0x57871f={[ERROR_TYPES[_0x216aec(0x83)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES[_0x216aec(0xe5)]]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x57871f[_0x95ba5e]||0x3;}['shouldRetry'](_0x11162e,_0x3c0d16){const _0x5bc369=a0_0xa49c72;if(!_0x11162e[_0x5bc369(0x81)])return![];if(_0x11162e['retryCount']>=_0x11162e['maxRetries'])return![];if(_0x3c0d16&&_0x3c0d16['success'])return![];return!![];}[a0_0xa49c72(0x8d)](_0x9a1b7e){const _0x3d79f4=a0_0xa49c72,_0x1c5e9f=0x3e8,_0x2e2b82=0x7530,_0x50cfe8=_0x1c5e9f*Math['pow'](0x2,_0x9a1b7e[_0x3d79f4(0xd6)]),_0x90276=Math['random']()*0x3e8;return Math[_0x3d79f4(0xc2)](_0x50cfe8+_0x90276,_0x2e2b82);}[a0_0xa49c72(0xbc)](){const _0xdcbf7e=a0_0xa49c72;this['recoveryStrategies']['set'](ERROR_TYPES[_0xdcbf7e(0xe5)],{'name':'file_not_found_recovery','recover':async _0x3393fa=>{const _0x3af785=_0xdcbf7e;if(_0x3393fa[_0x3af785(0x9b)][_0x3af785(0xa7)])return{'success':![],'reason':'File\x20recovery\x20not\x20implemented\x20yet','suggestion':_0x3af785(0x8a)};return{'success':![],'reason':_0x3af785(0xda)};}}),this['recoveryStrategies'][_0xdcbf7e(0xce)](ERROR_TYPES[_0xdcbf7e(0x83)],{'name':'rate_limit_recovery','recover':async _0x477a7f=>{const _0x2bd8db=_0xdcbf7e,_0x2c3872=this[_0x2bd8db(0x85)](_0x477a7f);return this[_0x2bd8db(0xb4)]['info']('Waiting\x20for\x20rate\x20limit\x20recovery',{'waitTime':_0x2c3872}),await new Promise(_0x2eaed2=>setTimeout(_0x2eaed2,_0x2c3872)),{'success':!![],'action':_0x2bd8db(0x9a),'waitTime':_0x2c3872};}}),this['recoveryStrategies'][_0xdcbf7e(0xce)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0x229cc8=>{const _0x35b380=_0xdcbf7e;if(_0x229cc8[_0x35b380(0x9b)][_0x35b380(0xea)]){const _0x34c28e=Math['min'](_0x229cc8[_0x35b380(0x9b)][_0x35b380(0xea)]*1.5,0x493e0);return{'success':!![],'action':_0x35b380(0x80),'newTimeout':_0x34c28e};}return{'success':![],'reason':_0x35b380(0x7f)};}}),this[_0xdcbf7e(0xd3)][_0xdcbf7e(0xce)](ERROR_TYPES[_0xdcbf7e(0x86)],{'name':_0xdcbf7e(0xa1),'recover':async _0x52d53a=>{const _0xd9b5b5=_0xdcbf7e;return{'success':![],'reason':_0xd9b5b5(0xcc),'suggestion':_0xd9b5b5(0xbe)};}}),this['recoveryStrategies'][_0xdcbf7e(0xce)](ERROR_TYPES['VALIDATION_ERROR'],{'name':'validation_recovery','recover':async _0x324984=>{const _0x597293=_0xdcbf7e;if(_0x324984['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':_0x597293(0xa5)};return{'success':![],'reason':_0x597293(0xe3)};}}),this[_0xdcbf7e(0xd3)]['set']('default',{'name':'default_recovery','recover':async _0x404a88=>{const _0x163bbf=this['calculateRetryDelay'](_0x404a88);return await new Promise(_0x1f03d9=>setTimeout(_0x1f03d9,_0x163bbf)),{'success':!![],'action':'delay_retry','delay':_0x163bbf};}});}async[a0_0xa49c72(0xba)](_0x1a7d8c){const _0x51fcdb=a0_0xa49c72;this['logger'][_0x51fcdb(0xe4)](_0x51fcdb(0x9e),{'errorId':_0x1a7d8c['id']});if(_0x1a7d8c['agentId']){}}async[a0_0xa49c72(0x98)](_0x1e68fe){const _0x66ee87=a0_0xa49c72,_0x4e88c8=this['calculateRateLimitWait'](_0x1e68fe);this[_0x66ee87(0xb4)][_0x66ee87(0xdd)]('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x1e68fe['id'],'waitTime':_0x4e88c8,'agentId':_0x1e68fe['agentId']});if(_0x1e68fe[_0x66ee87(0xb3)]){}}async[a0_0xa49c72(0x99)](_0x107174){const _0x25f5d6=a0_0xa49c72;this[_0x25f5d6(0xb4)][_0x25f5d6(0xe4)](_0x25f5d6(0xd5),{'errorId':_0x107174['id'],'operation':_0x107174['context'][_0x25f5d6(0x9c)],'timeout':_0x107174['context'][_0x25f5d6(0xea)]});}async[a0_0xa49c72(0xb5)](_0x349702){const _0x34520b=a0_0xa49c72;this['logger'][_0x34520b(0xe4)](_0x34520b(0xc6),{'errorId':_0x349702['id'],'type':_0x349702[_0x34520b(0xbf)],'message':_0x349702[_0x34520b(0x8f)]}),_0x349702['agentId']&&this['logger']['warn']('Considering\x20agent\x20pause\x20due\x20to\x20critical\x20error',{'agentId':_0x349702['agentId']});}['calculateRateLimitWait'](_0x453017){const _0x2744ed=a0_0xa49c72,_0x2721e9=0xea60,_0xd23ef2=Math[_0x2744ed(0x93)](0x2,_0x453017[_0x2744ed(0xd6)]),_0x58fe15=0x493e0;return Math['min'](_0x2721e9*_0xd23ef2,_0x58fe15);}async[a0_0xa49c72(0xb6)](_0x19d7e5,_0x5f02c4){const _0x24d27c=a0_0xa49c72;try{const _0x429477={'errorId':_0x19d7e5['id'],'timestamp':_0x19d7e5[_0x24d27c(0xd4)],'type':_0x19d7e5['type'],'severity':_0x19d7e5['severity'],'message':_0x19d7e5['message'],'agentId':_0x19d7e5['agentId'],'toolId':_0x19d7e5['toolId'],'operationId':_0x19d7e5['operationId'],'retryCount':_0x19d7e5['retryCount'],'recoveryAttempted':!!_0x5f02c4,'recoverySuccess':_0x5f02c4?.['success']||![],'recoveryAction':_0x5f02c4?.[_0x24d27c(0x84)]||null};this[_0x24d27c(0xd2)]['push'](_0x429477),!this[_0x24d27c(0xdf)]&&this['processErrorQueue']();}catch(_0x31502a){this[_0x24d27c(0xb4)]['error']('Error\x20logging\x20failed',{'errorId':_0x19d7e5['id'],'loggingError':_0x31502a[_0x24d27c(0x8f)]});}}async['processErrorQueue'](){const _0x3fa100=a0_0xa49c72;if(this[_0x3fa100(0xdf)]||this['errorQueue']['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this[_0x3fa100(0xd2)]['length']>0x0){const _0x2c28f1=this['errorQueue']['splice'](0x0,0xa);this[_0x3fa100(0xb4)]['debug'](_0x3fa100(0x92),{'batchSize':_0x2c28f1[_0x3fa100(0xcb)]}),await new Promise(_0x4d150b=>setTimeout(_0x4d150b,0x64));}}catch(processingError){this['logger']['error']('Error\x20queue\x20processing\x20failed',{'error':processingError['message']});}finally{this[_0x3fa100(0xdf)]=![];}}[a0_0xa49c72(0xd8)](){const _0x31dc23=a0_0xa49c72;setInterval(()=>{this['errorQueue']['length']>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x5e1807=>{const _0x274987=a0_0x2c36;this['handleError'](_0x5e1807,{'type':_0x274987(0xbd),'severity':_0x274987(0xb0)});}),process['on'](_0x31dc23(0xc9),(_0x4dd5ed,_0x3f547b)=>{const _0x4e57b2=_0x31dc23;this[_0x4e57b2(0xe9)](new Error('Unhandled\x20Rejection:\x20'+_0x4dd5ed),{'type':_0x4e57b2(0xc4),'severity':_0x4e57b2(0x94),'promise':_0x3f547b['toString']()});}));}['updateErrorStats'](_0x30137d){const _0x5272f1=a0_0xa49c72;this[_0x5272f1(0xb8)]['totalErrors']++,!this[_0x5272f1(0xb8)]['errorsByType'][_0x5272f1(0xca)](_0x30137d[_0x5272f1(0xbf)])&&this[_0x5272f1(0xb8)]['errorsByType'][_0x5272f1(0xce)](_0x30137d[_0x5272f1(0xbf)],0x0),this['errorStats']['errorsByType']['set'](_0x30137d['type'],this[_0x5272f1(0xb8)]['errorsByType']['get'](_0x30137d[_0x5272f1(0xbf)])+0x1),_0x30137d[_0x5272f1(0xb3)]&&(!this[_0x5272f1(0xb8)][_0x5272f1(0xdb)][_0x5272f1(0xca)](_0x30137d[_0x5272f1(0xb3)])&&this[_0x5272f1(0xb8)]['errorsByAgent']['set'](_0x30137d['agentId'],0x0),this[_0x5272f1(0xb8)][_0x5272f1(0xdb)]['set'](_0x30137d[_0x5272f1(0xb3)],this[_0x5272f1(0xb8)]['errorsByAgent'][_0x5272f1(0xc5)](_0x30137d[_0x5272f1(0xb3)])+0x1));}[a0_0xa49c72(0xc3)](_0x553e76){const _0x47a91f=a0_0xa49c72;return this['errorSubscribers'][_0x47a91f(0x87)](_0x553e76),()=>this['errorSubscribers']['delete'](_0x553e76);}['notifySubscribers'](_0xd39315,_0x38377d){const _0x40b6a9=a0_0xa49c72;this['errorSubscribers'][_0x40b6a9(0x97)](_0x476224=>{const _0x35e600=_0x40b6a9;try{_0x476224(_0xd39315,_0x38377d);}catch(_0xd6cd12){this['logger'][_0x35e600(0xe4)]('Error\x20subscriber\x20callback\x20failed',{'error':_0xd6cd12[_0x35e600(0x8f)]});}});}[a0_0xa49c72(0xa0)](){const _0x5838a2=a0_0xa49c72;return'err_'+Date[_0x5838a2(0xae)]()+'_'+Math[_0x5838a2(0xed)]()['toString'](0x24)['substr'](0x2,0x9);}['getErrorStats'](){const _0x849fba=a0_0xa49c72;return{'totalErrors':this[_0x849fba(0xb8)]['totalErrors'],'errorsByType':Object['fromEntries'](this[_0x849fba(0xb8)]['errorsByType']),'errorsByAgent':Object['fromEntries'](this[_0x849fba(0xb8)]['errorsByAgent']),'recoveryAttempts':this['errorStats'][_0x849fba(0xd0)],'successfulRecoveries':this['errorStats'][_0x849fba(0xac)],'recoverySuccessRate':this['errorStats'][_0x849fba(0xd0)]>0x0?this[_0x849fba(0xb8)]['successfulRecoveries']/this['errorStats'][_0x849fba(0xd0)]:0x0,'criticalErrors':this['errorStats'][_0x849fba(0x8e)],'queueLength':this['errorQueue'][_0x849fba(0xcb)]};}['clearErrorStats'](){const _0x4cea2c=a0_0xa49c72;this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x4cea2c(0xd2)]=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- const a0_0x1e278a=a0_0x5d5b;(function(_0x33f575,_0x3daea7){const _0x2cbd9c=a0_0x5d5b,_0x7fa046=_0x33f575();while(!![]){try{const _0x552e94=-parseInt(_0x2cbd9c(0x1d7))/0x1+parseInt(_0x2cbd9c(0x1cb))/0x2+-parseInt(_0x2cbd9c(0x1bf))/0x3*(-parseInt(_0x2cbd9c(0x1c1))/0x4)+parseInt(_0x2cbd9c(0x1a7))/0x5+parseInt(_0x2cbd9c(0x19f))/0x6+-parseInt(_0x2cbd9c(0x1b3))/0x7*(-parseInt(_0x2cbd9c(0x1d8))/0x8)+parseInt(_0x2cbd9c(0x1d6))/0x9*(-parseInt(_0x2cbd9c(0x1aa))/0xa);if(_0x552e94===_0x3daea7)break;else _0x7fa046['push'](_0x7fa046['shift']());}catch(_0x3f525d){_0x7fa046['push'](_0x7fa046['shift']());}}}(a0_0x54cc,0x76ba5));import a0_0x74f4c from'path';import{fileURLToPath}from'url';import{randomUUID}from'crypto';import a0_0x490647 from'../utilities/fileProcessor.js';function a0_0x5d5b(_0x41f18f,_0x573e7e){_0x41f18f=_0x41f18f-0x18f;const _0x54cc34=a0_0x54cc();let _0x5d5be0=_0x54cc34[_0x41f18f];if(a0_0x5d5b['azMnZa']===undefined){var _0x1f45be=function(_0x54daff){const _0x3598aa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x74f4c='',_0x490647='';for(let _0x38ccdd=0x0,_0x25ba10,_0x234ac1,_0x4233d9=0x0;_0x234ac1=_0x54daff['charAt'](_0x4233d9++);~_0x234ac1&&(_0x25ba10=_0x38ccdd%0x4?_0x25ba10*0x40+_0x234ac1:_0x234ac1,_0x38ccdd++%0x4)?_0x74f4c+=String['fromCharCode'](0xff&_0x25ba10>>(-0x2*_0x38ccdd&0x6)):0x0){_0x234ac1=_0x3598aa['indexOf'](_0x234ac1);}for(let _0x686998=0x0,_0x18d945=_0x74f4c['length'];_0x686998<_0x18d945;_0x686998++){_0x490647+='%'+('00'+_0x74f4c['charCodeAt'](_0x686998)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x490647);};a0_0x5d5b['HlWKwA']=_0x1f45be,a0_0x5d5b['BeeERf']={},a0_0x5d5b['azMnZa']=!![];}const _0x310962=_0x54cc34[0x0],_0x229bcc=_0x41f18f+_0x310962,_0x3a19e2=a0_0x5d5b['BeeERf'][_0x229bcc];return!_0x3a19e2?(_0x5d5be0=a0_0x5d5b['HlWKwA'](_0x5d5be0),a0_0x5d5b['BeeERf'][_0x229bcc]=_0x5d5be0):_0x5d5be0=_0x3a19e2,_0x5d5be0;}import a0_0x38ccdd from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x74f4c[a0_0x1e278a(0x1c8)](__filename),ATTACHMENTS_DIR=a0_0x74f4c[a0_0x1e278a(0x1d2)](process['cwd'](),'loxia-state',a0_0x1e278a(0x1d0)),INDEX_FILE=a0_0x74f4c[a0_0x1e278a(0x1d2)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x25ba10={},_0x234ac1=null){const _0x3e9e7b=a0_0x1e278a;this[_0x3e9e7b(0x1b2)]=_0x25ba10,this['logger']=_0x234ac1,this['fileProcessor']=new a0_0x490647(_0x25ba10,_0x234ac1),this['validator']=new a0_0x38ccdd(_0x25ba10,_0x234ac1),this[_0x3e9e7b(0x1be)]=null;}async['initialize'](){const _0x3744a5=a0_0x1e278a;try{await this[_0x3744a5(0x1dc)]['createDirectory'](ATTACHMENTS_DIR),await this[_0x3744a5(0x1cf)](),this[_0x3744a5(0x1a4)]?.[_0x3744a5(0x1c7)]('FileAttachmentService\x20initialized',{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x4233d9){this['logger']?.[_0x3744a5(0x1c2)](_0x3744a5(0x196),{'error':_0x4233d9[_0x3744a5(0x1ba)]});throw _0x4233d9;}}async['loadIndex'](){const _0xc5da42=a0_0x1e278a;try{const _0x686998=await this[_0xc5da42(0x1dc)][_0xc5da42(0x1bc)](INDEX_FILE);if(!_0x686998)this[_0xc5da42(0x1be)]={'attachments':{},'agentRefs':{}},await this[_0xc5da42(0x1b9)]();else{const _0x18d945=await this['fileProcessor']['readFile'](INDEX_FILE,_0xc5da42(0x1da));this['index']=JSON[_0xc5da42(0x195)](_0x18d945);}return this['index'];}catch(_0x359ef5){return this[_0xc5da42(0x1a4)]?.['error']('Error\x20loading\x20index',{'error':_0x359ef5['message']}),this['index']={'attachments':{},'agentRefs':{}},this[_0xc5da42(0x1be)];}}async[a0_0x1e278a(0x1b9)](){const _0x10f9a3=a0_0x1e278a;try{await this['fileProcessor'][_0x10f9a3(0x192)](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x3ea8d2){this[_0x10f9a3(0x1a4)]?.['error']('Error\x20saving\x20index',{'error':_0x3ea8d2['message']});throw _0x3ea8d2;}}async[a0_0x1e278a(0x1d5)]({agentId:_0x957711,filePath:_0x8a6c9f,mode:mode=a0_0x1e278a(0x1d9),fileName:fileName=null}){const _0x2c8b64=a0_0x1e278a;!this[_0x2c8b64(0x1be)]&&await this[_0x2c8b64(0x1cf)]();try{const _0x4d62b4=await this[_0x2c8b64(0x1dc)][_0x2c8b64(0x1bc)](_0x8a6c9f);if(!_0x4d62b4)throw new Error('File\x20not\x20found:\x20'+_0x8a6c9f);const _0x51e61f=await this[_0x2c8b64(0x1dc)][_0x2c8b64(0x19a)](_0x8a6c9f),_0x2332d3=fileName||a0_0x74f4c['basename'](_0x8a6c9f),_0x34d504=a0_0x74f4c[_0x2c8b64(0x1cd)](_0x2332d3),_0x25b7a2=this[_0x2c8b64(0x1b6)]['validate']({'fileName':_0x2332d3,'size':_0x51e61f['size'],'mode':mode,'path':mode===_0x2c8b64(0x1c4)?_0x8a6c9f:null});if(!_0x25b7a2['valid'])throw new Error('Validation\x20failed:\x20'+_0x25b7a2[_0x2c8b64(0x19b)]['join'](',\x20'));const _0x276ed3=randomUUID(),_0x16a10a=await this['fileProcessor']['calculateHash'](_0x8a6c9f),_0x1ac6a2=this[_0x2c8b64(0x1b6)][_0x2c8b64(0x1b8)](_0x2332d3),_0xc3ff4d=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0x957711,_0x276ed3);await this['fileProcessor'][_0x2c8b64(0x1a1)](_0xc3ff4d);let _0x620b3e=0x0,_0x4566de=null;if(mode==='content'){const processResult=await this['fileProcessor'][_0x2c8b64(0x1de)](_0x8a6c9f,_0x1ac6a2),_0x2d5b98=processResult[_0x2c8b64(0x1d9)];if(_0x1ac6a2==='text')_0x4566de='content.txt';else{if(_0x1ac6a2===_0x2c8b64(0x1a8))_0x4566de=_0x2c8b64(0x1d4);else _0x1ac6a2===_0x2c8b64(0x197)&&(_0x4566de='content.txt');}const _0x37305e=a0_0x74f4c[_0x2c8b64(0x1d2)](_0xc3ff4d,_0x4566de);await this['fileProcessor'][_0x2c8b64(0x192)](_0x37305e,_0x2d5b98,_0x2c8b64(0x1da)),_0x620b3e=this['fileProcessor'][_0x2c8b64(0x1b5)](_0x2d5b98);}const _0x133f00={'fileId':_0x276ed3,'agentId':_0x957711,'fileName':_0x2332d3,'originalPath':_0x8a6c9f,'fileType':this['validator']['getMimeType'](_0x2332d3),'fileExtension':_0x34d504,'size':_0x51e61f[_0x2c8b64(0x1bb)],'mode':mode,'active':!![],'uploadedAt':new Date()[_0x2c8b64(0x1db)](),'lastModified':_0x51e61f['modified']['toISOString'](),'hash':_0x16a10a,'tokenEstimate':_0x620b3e,'contentType':_0x1ac6a2,'contentFileName':_0x4566de,'warnings':_0x25b7a2[_0x2c8b64(0x1cc)],'sizeLevel':_0x25b7a2[_0x2c8b64(0x1af)],'importedFrom':null,'referencedBy':[_0x957711]},_0x34aa9b=a0_0x74f4c['join'](_0xc3ff4d,'metadata.json');return await this[_0x2c8b64(0x1dc)]['writeFile'](_0x34aa9b,JSON[_0x2c8b64(0x1ca)](_0x133f00,null,0x2),_0x2c8b64(0x1da)),this[_0x2c8b64(0x1be)]['attachments'][_0x276ed3]={'fileId':_0x276ed3,'agentId':_0x957711,'fileName':_0x2332d3,'mode':mode,'active':_0x133f00[_0x2c8b64(0x1ae)],'referencedBy':_0x133f00[_0x2c8b64(0x1b0)]},!this[_0x2c8b64(0x1be)][_0x2c8b64(0x1c0)][_0x957711]&&(this[_0x2c8b64(0x1be)]['agentRefs'][_0x957711]=[]),this[_0x2c8b64(0x1be)]['agentRefs'][_0x957711]['push'](_0x276ed3),await this[_0x2c8b64(0x1b9)](),this['logger']?.[_0x2c8b64(0x1c7)]('File\x20uploaded',{'fileId':_0x276ed3,'agentId':_0x957711,'fileName':_0x2332d3,'mode':mode}),_0x133f00;}catch(_0x207cb9){this['logger']?.['error'](_0x2c8b64(0x19c),{'agentId':_0x957711,'filePath':_0x8a6c9f,'error':_0x207cb9['message']});throw _0x207cb9;}}async['getAttachments'](_0x1b8966,_0x573072={}){const _0x859fc6=a0_0x1e278a;!this[_0x859fc6(0x1be)]&&await this['loadIndex']();try{const _0x2c21e1=this['index'][_0x859fc6(0x1c0)][_0x1b8966]||[],_0xaeb293=[];for(const _0x3e1df0 of _0x2c21e1){const _0x1bf292=await this[_0x859fc6(0x190)](_0x3e1df0);if(_0x1bf292){if(_0x573072[_0x859fc6(0x1ae)]!==undefined&&_0x1bf292['active']!==_0x573072['active'])continue;if(_0x573072[_0x859fc6(0x1bd)]&&_0x1bf292['mode']!==_0x573072['mode'])continue;_0xaeb293[_0x859fc6(0x18f)](_0x1bf292);}}return _0xaeb293;}catch(_0x44d0bd){this[_0x859fc6(0x1a4)]?.['error'](_0x859fc6(0x1c6),{'agentId':_0x1b8966,'error':_0x44d0bd[_0x859fc6(0x1ba)]});throw _0x44d0bd;}}async['getAttachment'](_0xd0ab07){const _0xf90e76=a0_0x1e278a;!this[_0xf90e76(0x1be)]&&await this[_0xf90e76(0x1cf)]();try{const _0xc35016=this[_0xf90e76(0x1be)]['attachments'][_0xd0ab07];if(!_0xc35016)return null;const _0x4cfde7=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0xc35016[_0xf90e76(0x1b1)],_0xd0ab07,_0xf90e76(0x1a9)),_0xca536c=await this[_0xf90e76(0x1dc)]['fileExists'](_0x4cfde7);if(!_0xca536c)return this[_0xf90e76(0x1a4)]?.['warn'](_0xf90e76(0x1ac),{'fileId':_0xd0ab07}),null;const _0x368978=await this[_0xf90e76(0x1dc)]['readFile'](_0x4cfde7,'utf8');return JSON['parse'](_0x368978);}catch(_0x59fdd2){return this[_0xf90e76(0x1a4)]?.['error']('Error\x20getting\x20attachment',{'fileId':_0xd0ab07,'error':_0x59fdd2[_0xf90e76(0x1ba)]}),null;}}async[a0_0x1e278a(0x194)](_0x2d3aee){const _0x45bae9=a0_0x1e278a;try{const _0x5964fe=await this[_0x45bae9(0x190)](_0x2d3aee);if(!_0x5964fe||_0x5964fe['mode']!==_0x45bae9(0x1d9))return null;const _0x40cf0a=a0_0x74f4c[_0x45bae9(0x1d2)](ATTACHMENTS_DIR,_0x5964fe['agentId'],_0x2d3aee,_0x5964fe[_0x45bae9(0x19d)]),_0x5a351b=await this[_0x45bae9(0x1dc)]['fileExists'](_0x40cf0a);if(!_0x5a351b)return null;return await this[_0x45bae9(0x1dc)][_0x45bae9(0x19e)](_0x40cf0a,_0x45bae9(0x1da));}catch(_0x3df4b4){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0x2d3aee,'error':_0x3df4b4['message']}),null;}}async['toggleActive'](_0x34ffd2){const _0x2ef363=a0_0x1e278a;try{const _0x4b2925=await this['getAttachment'](_0x34ffd2);if(!_0x4b2925)throw new Error(_0x2ef363(0x1a6)+_0x34ffd2);_0x4b2925[_0x2ef363(0x1ae)]=!_0x4b2925['active'],_0x4b2925[_0x2ef363(0x1d1)]=new Date()['toISOString']();const _0x20c141=a0_0x74f4c[_0x2ef363(0x1d2)](ATTACHMENTS_DIR,_0x4b2925['agentId'],_0x34ffd2,'metadata.json');return await this['fileProcessor'][_0x2ef363(0x192)](_0x20c141,JSON['stringify'](_0x4b2925,null,0x2),'utf8'),this[_0x2ef363(0x1be)]['attachments'][_0x34ffd2]&&(this['index']['attachments'][_0x34ffd2][_0x2ef363(0x1ae)]=_0x4b2925[_0x2ef363(0x1ae)],await this[_0x2ef363(0x1b9)]()),this[_0x2ef363(0x1a4)]?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x34ffd2,'active':_0x4b2925['active']}),_0x4b2925;}catch(_0x43e565){this[_0x2ef363(0x1a4)]?.['error'](_0x2ef363(0x1c9),{'fileId':_0x34ffd2,'error':_0x43e565['message']});throw _0x43e565;}}async[a0_0x1e278a(0x1a3)](_0x4aa1c3,_0x39e6c9){const _0x33c934=a0_0x1e278a;try{const _0x4998b6=await this['getAttachment'](_0x4aa1c3);if(!_0x4998b6)throw new Error(_0x33c934(0x1a6)+_0x4aa1c3);const _0x36c308=[_0x33c934(0x198),'active'];for(const _0x46ad40 of _0x36c308){_0x39e6c9[_0x46ad40]!==undefined&&(_0x4998b6[_0x46ad40]=_0x39e6c9[_0x46ad40]);}_0x4998b6[_0x33c934(0x1d1)]=new Date()['toISOString']();const _0x39829a=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0x4998b6[_0x33c934(0x1b1)],_0x4aa1c3,'metadata.json');return await this[_0x33c934(0x1dc)][_0x33c934(0x192)](_0x39829a,JSON['stringify'](_0x4998b6,null,0x2),'utf8'),this['index'][_0x33c934(0x1d0)][_0x4aa1c3]&&(_0x39e6c9['fileName']&&(this[_0x33c934(0x1be)][_0x33c934(0x1d0)][_0x4aa1c3][_0x33c934(0x198)]=_0x39e6c9[_0x33c934(0x198)]),_0x39e6c9[_0x33c934(0x1ae)]!==undefined&&(this[_0x33c934(0x1be)]['attachments'][_0x4aa1c3]['active']=_0x39e6c9['active']),await this['saveIndex']()),this[_0x33c934(0x1a4)]?.['info']('Attachment\x20updated',{'fileId':_0x4aa1c3,'updates':_0x39e6c9}),_0x4998b6;}catch(_0x677fca){this[_0x33c934(0x1a4)]?.['error']('Error\x20updating\x20attachment',{'fileId':_0x4aa1c3,'error':_0x677fca['message']});throw _0x677fca;}}async['deleteAttachment'](_0x54bcba,_0x37373d){const _0x39f0fc=a0_0x1e278a;try{const _0x439661=await this['getAttachment'](_0x54bcba);if(!_0x439661)throw new Error(_0x39f0fc(0x1a6)+_0x54bcba);_0x439661[_0x39f0fc(0x1b0)]=_0x439661[_0x39f0fc(0x1b0)]['filter'](_0xf07026=>_0xf07026!==_0x37373d);if(_0x439661['referencedBy']['length']>0x0){const _0x3bf556=a0_0x74f4c['join'](ATTACHMENTS_DIR,_0x439661['agentId'],_0x54bcba,_0x39f0fc(0x1a9));return await this[_0x39f0fc(0x1dc)][_0x39f0fc(0x192)](_0x3bf556,JSON['stringify'](_0x439661,null,0x2),_0x39f0fc(0x1da)),this['index']['attachments'][_0x54bcba]&&(this[_0x39f0fc(0x1be)][_0x39f0fc(0x1d0)][_0x54bcba][_0x39f0fc(0x1b0)]=_0x439661[_0x39f0fc(0x1b0)]),this[_0x39f0fc(0x1be)][_0x39f0fc(0x1c0)][_0x37373d]&&(this[_0x39f0fc(0x1be)][_0x39f0fc(0x1c0)][_0x37373d]=this[_0x39f0fc(0x1be)][_0x39f0fc(0x1c0)][_0x37373d][_0x39f0fc(0x1c5)](_0x2df935=>_0x2df935!==_0x54bcba)),await this[_0x39f0fc(0x1b9)](),this[_0x39f0fc(0x1a4)]?.[_0x39f0fc(0x1c7)](_0x39f0fc(0x1ab),{'fileId':_0x54bcba,'agentId':_0x37373d,'remainingRefs':_0x439661[_0x39f0fc(0x1b0)][_0x39f0fc(0x193)]}),![];}const _0x48db54=a0_0x74f4c[_0x39f0fc(0x1d2)](ATTACHMENTS_DIR,_0x439661['agentId'],_0x54bcba);return await this[_0x39f0fc(0x1dc)][_0x39f0fc(0x1ce)](_0x48db54),delete this['index']['attachments'][_0x54bcba],this['index'][_0x39f0fc(0x1c0)][_0x37373d]&&(this['index']['agentRefs'][_0x37373d]=this['index']['agentRefs'][_0x37373d][_0x39f0fc(0x1c5)](_0x48ca10=>_0x48ca10!==_0x54bcba)),await this['saveIndex'](),this['logger']?.['info'](_0x39f0fc(0x1d3),{'fileId':_0x54bcba,'agentId':_0x37373d}),!![];}catch(_0x485f6f){this['logger']?.[_0x39f0fc(0x1c2)]('Error\x20deleting\x20attachment',{'fileId':_0x54bcba,'agentId':_0x37373d,'error':_0x485f6f['message']});throw _0x485f6f;}}async['deleteAgentAttachments'](_0x15be48){const _0x5e756f=a0_0x1e278a;try{const _0x40f412=this[_0x5e756f(0x1be)][_0x5e756f(0x1c0)][_0x15be48]||[];let _0x2749ae=0x0,_0x290644=0x0;for(const _0x3f47d0 of _0x40f412){const _0x5cf7df=await this[_0x5e756f(0x1dd)](_0x3f47d0,_0x15be48);_0x5cf7df?_0x2749ae++:_0x290644++;}return this['logger']?.[_0x5e756f(0x1c7)]('Agent\x20attachments\x20deleted',{'agentId':_0x15be48,'deleted':_0x2749ae,'dereferenced':_0x290644}),{'deleted':_0x2749ae,'dereferenced':_0x290644};}catch(_0x223fd6){this[_0x5e756f(0x1a4)]?.[_0x5e756f(0x1c2)](_0x5e756f(0x1c3),{'agentId':_0x15be48,'error':_0x223fd6['message']});throw _0x223fd6;}}async['importFromAgent'](_0x2ed1f5,_0x55336b){const _0x17fe08=a0_0x1e278a;try{const _0x530b11=await this[_0x17fe08(0x190)](_0x2ed1f5);if(!_0x530b11)throw new Error(_0x17fe08(0x1b4)+_0x2ed1f5);!_0x530b11['referencedBy']['includes'](_0x55336b)&&_0x530b11[_0x17fe08(0x1b0)][_0x17fe08(0x18f)](_0x55336b);_0x530b11[_0x17fe08(0x1d1)]=new Date()['toISOString'](),_0x530b11[_0x17fe08(0x1a5)]=_0x530b11['agentId'];const _0x351835=a0_0x74f4c[_0x17fe08(0x1d2)](ATTACHMENTS_DIR,_0x530b11['agentId'],_0x2ed1f5,_0x17fe08(0x1a9));return await this['fileProcessor']['writeFile'](_0x351835,JSON['stringify'](_0x530b11,null,0x2),'utf8'),this[_0x17fe08(0x1be)]['attachments'][_0x2ed1f5]&&(this[_0x17fe08(0x1be)][_0x17fe08(0x1d0)][_0x2ed1f5]['referencedBy']=_0x530b11[_0x17fe08(0x1b0)]),!this['index']['agentRefs'][_0x55336b]&&(this[_0x17fe08(0x1be)]['agentRefs'][_0x55336b]=[]),!this[_0x17fe08(0x1be)][_0x17fe08(0x1c0)][_0x55336b][_0x17fe08(0x1a2)](_0x2ed1f5)&&this['index']['agentRefs'][_0x55336b][_0x17fe08(0x18f)](_0x2ed1f5),await this[_0x17fe08(0x1b9)](),this['logger']?.['info']('Attachment imported',{'sourceFileId':_0x2ed1f5,'targetAgentId':_0x55336b}),_0x530b11;}catch(_0x198b4f){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x2ed1f5,'targetAgentId':_0x55336b,'error':_0x198b4f[_0x17fe08(0x1ba)]});throw _0x198b4f;}}async[a0_0x1e278a(0x199)](_0x22a284){const _0x5434cf=a0_0x1e278a;return await this[_0x5434cf(0x1a0)](_0x22a284,{'active':!![]});}async[a0_0x1e278a(0x1b7)](_0x54e9cb){const _0xf6d004=a0_0x1e278a;try{const _0x17ebbe=await this['getAttachmentContent'](_0x54e9cb);if(!_0x17ebbe)return null;if(_0x17ebbe[_0xf6d004(0x191)]('data:image'))return _0xf6d004(0x1ad);return _0x17ebbe[_0xf6d004(0x193)]>0x3e8?_0x17ebbe['substring'](0x0,0x3e8)+'...':_0x17ebbe;}catch(_0x2ec61b){return this['logger']?.['error']('Error\x20getting\x20attachment\x20preview',{'fileId':_0x54e9cb,'error':_0x2ec61b['message']}),null;}}}export default FileAttachmentService;function a0_0x54cc(){const _0x468348=['z2v0qxr0ywnOBwvUDa','C3rHCNrZv2L0Aa','D3jPDgvgAwXL','BgvUz3rO','z2v0qxr0ywnOBwvUDenVBNrLBNq','CgfYC2u','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','CgrM','zMLSzu5HBwu','z2v0qwn0AxzLqxr0ywnOBwvUDhm','z2v0rMLSzvn0yxrZ','zxjYB3jZ','rxjYB3iGDxbSB2fKAw5NigzPBgu','y29UDgvUDezPBgvoyw1L','CMvHzezPBgu','nZKXotrZC1Hov0i','z2v0qxr0ywnOBwvUDhm','y3jLyxrLrgLYzwn0B3j5','Aw5JBhvKzxm','DxbKyxrLqxr0ywnOBwvUDa','Bg9Nz2vY','Aw1WB3j0zwrgCM9T','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mJm4odG2nujywxLRtG','Aw1Hz2u','Bwv0ywrHDgeUANnVBG','mtbIt0Peq3y','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','ywn0AxzL','C2L6zuXLDMvS','CMvMzxjLBMnLzej5','ywDLBNrjza','y29UzMLN','mJG3uwPNB2vR','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','zxn0Aw1HDgvuB2TLBNm','DMfSAwrHDg9Y','z2v0qxr0ywnOBwvUDfbYzxzPzxC','z2v0q29UDgvUDfr5Cgu','C2f2zuLUzgv4','BwvZC2fNzq','C2L6zq','zMLSzuv4Axn0CW','Bw9Kzq','Aw5KzxG','mtiYnZLbuMHgtvC','ywDLBNrszwzZ','odb0AxzYt2K','zxjYB3i','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','CMvMzxjLBMnL','zMLSDgvY','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','Aw5MBW','zgLYBMfTzq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','C3rYAw5NAwz5','ndGXnZGYzeHzD0Lc','D2fYBMLUz3m','zxH0BMfTzq','zgvSzxrLrgLYzwn0B3j5','Bg9HzeLUzgv4','yxr0ywnOBwvUDhm','BgfZDe1VzgLMAwvK','AM9PBG','qxr0ywnOBwvUDcbKzwXLDgvK','y29UDgvUDc5IyxnLnJq','DxbSB2fKrMLSzq','mZK4mJGZm2vQDurXwa','nti1mdeWwLvYDw52','mti0ota0sufuvgn1','y29UDgvUDa','DxrMoa','Dg9ju09tDhjPBMC','zMLSzvbYB2nLC3nVCG','zgvSzxrLqxr0ywnOBwvUDa','ChjVy2vZC0zPBgu','ChvZAa'];a0_0x54cc=function(){return _0x468348;};return a0_0x54cc();}
1
+ const a0_0x164eb3=a0_0x42cd;(function(_0x44d276,_0x38c018){const _0x5894c8=a0_0x42cd,_0x23ccc3=_0x44d276();while(!![]){try{const _0x5d9a43=-parseInt(_0x5894c8(0x148))/0x1*(parseInt(_0x5894c8(0x141))/0x2)+parseInt(_0x5894c8(0x143))/0x3*(-parseInt(_0x5894c8(0x14c))/0x4)+-parseInt(_0x5894c8(0x158))/0x5+parseInt(_0x5894c8(0x154))/0x6+parseInt(_0x5894c8(0x112))/0x7*(parseInt(_0x5894c8(0x10d))/0x8)+parseInt(_0x5894c8(0x152))/0x9*(parseInt(_0x5894c8(0x134))/0xa)+parseInt(_0x5894c8(0x131))/0xb;if(_0x5d9a43===_0x38c018)break;else _0x23ccc3['push'](_0x23ccc3['shift']());}catch(_0x1382ae){_0x23ccc3['push'](_0x23ccc3['shift']());}}}(a0_0x47b6,0x19da8));import a0_0x2f74f5 from'path';import{fileURLToPath}from'url';function a0_0x47b6(){const _0x5cd115=['BgvUz3rO','CMvMzxjLBMnLzej5','CMvMzxjLBMnL','ywn0AxzL','yMfZzw5HBwu','y29UzMLN','y29UDgvUDezPBgvoyw1L','ywDLBNrszwzZ','Bg94AweTC3rHDgu','yxr0ywnOBwvUDhm','ywDLBNrjza','C2L6zq','lI4U','CMvHzezPBgu','DMfSAwrHDgu','C2f2zuLUzgv4','C2L6zuXLDMvS','y3DK','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','u291CMnLigf0DgfJAg1LBNqGBM90igzVDw5KoIa','Bw9Kzq','Dg9ju09tDhjPBMC','Dgv4Da','Aw1WB3j0rNjVBufNzw50','z2v0q29UDgvUDfr5Cgu','z2v0twLTzvr5Cgu','mJC4mtaWowrIENvbAW','Bg9Nz2vY','y29UDgvUDc50Ehq','mJbjBfP0v2u','zgf0ytPPBwfNzq','D3jPDgvgAwXL','DxbSB2fKrMLSzq','Bw9KAwzPzwq','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','Bg9HzeLUzgv4','Bwv0ywrHDgeUANnVBG','zxjYB3i','zMLSzvbYB2nLC3nVCG','DxrMoa','Aw5MBW','rxjYB3iGBg9HzgLUzYbPBMrLEa','nKfNvMzeuq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','m2n5vwHftq','rMLSzsbUB3qGzM91BMq6ia','BwvZC2fNzq','Aw5KzxG','Dg9Nz2XLqwn0AxzL','nJi5nZDVBxbcDKC','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','z2v0qxr0ywnOBwvUDenVBNrLBNq','zxn0Aw1HDgvuB2TLBNm','mZm0ndeYA0HVBgLZ','BgfZDe1VzgLMAwvK','zMLSzu5HBwu','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','zMLSzuv4Axn0CW','C3vIC3rYAw5N','ndKYnde3rMX5CvjH','z2v0qxr0ywnOBwvUDhm','mZq5mJCYCe1gwvPg','z2v0qxr0ywnOBwvUDa','AM9PBG','DMfSAwq','mZK0nteWB0XPu0fP','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','qxr0ywnOBwvUDcbKzwXLDgvK','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','zgLYBMfTzq','ntKWmdbrseP6q3O','ChvZAa','y29UDgvUDa','DMfSAwrHDg9Y','zMLSDgvY','mZvTqwTqzva','C3rYAw5NAwz5','y3jLyxrLrgLYzwn0B3j5'];a0_0x47b6=function(){return _0x5cd115;};return a0_0x47b6();}function a0_0x42cd(_0x203b66,_0x5a102c){_0x203b66=_0x203b66-0x109;const _0x47b6de=a0_0x47b6();let _0x42cd07=_0x47b6de[_0x203b66];if(a0_0x42cd['qYgvkh']===undefined){var _0x58426d=function(_0xa22d23){const _0x13be1e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f74f5='',_0x3cfbda='';for(let _0x159fb1=0x0,_0x38b380,_0x493c45,_0x42e39f=0x0;_0x493c45=_0xa22d23['charAt'](_0x42e39f++);~_0x493c45&&(_0x38b380=_0x159fb1%0x4?_0x38b380*0x40+_0x493c45:_0x493c45,_0x159fb1++%0x4)?_0x2f74f5+=String['fromCharCode'](0xff&_0x38b380>>(-0x2*_0x159fb1&0x6)):0x0){_0x493c45=_0x13be1e['indexOf'](_0x493c45);}for(let _0x4d4496=0x0,_0x32d432=_0x2f74f5['length'];_0x4d4496<_0x32d432;_0x4d4496++){_0x3cfbda+='%'+('00'+_0x2f74f5['charCodeAt'](_0x4d4496)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3cfbda);};a0_0x42cd['IZROkf']=_0x58426d,a0_0x42cd['ifZGaX']={},a0_0x42cd['qYgvkh']=!![];}const _0x50c95d=_0x47b6de[0x0],_0x96fd5f=_0x203b66+_0x50c95d,_0x36fc07=a0_0x42cd['ifZGaX'][_0x96fd5f];return!_0x36fc07?(_0x42cd07=a0_0x42cd['IZROkf'](_0x42cd07),a0_0x42cd['ifZGaX'][_0x96fd5f]=_0x42cd07):_0x42cd07=_0x36fc07,_0x42cd07;}import{randomUUID}from'crypto';import a0_0x3cfbda from'../utilities/fileProcessor.js';import a0_0x159fb1 from'../utilities/attachmentValidator.js';const __filename=fileURLToPath(import.meta.url),__dirname=a0_0x2f74f5[a0_0x164eb3(0x10c)](__filename),ATTACHMENTS_DIR=a0_0x2f74f5[a0_0x164eb3(0x156)](process[a0_0x164eb3(0x126)](),a0_0x164eb3(0x11d),a0_0x164eb3(0x11e)),INDEX_FILE=a0_0x2f74f5['join'](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x38b380={},_0x493c45=null){const _0x33c2fe=a0_0x164eb3;this[_0x33c2fe(0x11a)]=_0x38b380,this['logger']=_0x493c45,this['fileProcessor']=new a0_0x3cfbda(_0x38b380,_0x493c45),this[_0x33c2fe(0x110)]=new a0_0x159fb1(_0x38b380,_0x493c45),this['index']=null;}async['initialize'](){const _0x2869d4=a0_0x164eb3;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this[_0x2869d4(0x13a)](),this['logger']?.['info'](_0x2869d4(0x127),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x42e39f){this['logger']?.['error']('Error\x20initializing\x20FileAttachmentService',{'error':_0x42e39f['message']});throw _0x42e39f;}}async[a0_0x164eb3(0x13a)](){const _0xc23fc=a0_0x164eb3;try{const _0x4d4496=await this[_0xc23fc(0x13d)]['fileExists'](INDEX_FILE);if(!_0x4d4496)this[_0xc23fc(0x146)]={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x32d432=await this['fileProcessor']['readFile'](INDEX_FILE,_0xc23fc(0x13e));this[_0xc23fc(0x146)]=JSON['parse'](_0x32d432);}return this[_0xc23fc(0x146)];}catch(_0x21f548){return this[_0xc23fc(0x132)]?.[_0xc23fc(0x13c)](_0xc23fc(0x140),{'error':_0x21f548['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async[a0_0x164eb3(0x124)](){const _0x5b1c5c=a0_0x164eb3;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON['stringify'](this['index'],null,0x2),'utf8');}catch(_0x96c3e){this[_0x5b1c5c(0x132)]?.[_0x5b1c5c(0x13c)]('Error\x20saving\x20index',{'error':_0x96c3e['message']});throw _0x96c3e;}}async[a0_0x164eb3(0x137)]({agentId:_0x1c9b2d,filePath:_0x15afe5,mode:mode='content',fileName:fileName=null}){const _0x2ada13=a0_0x164eb3;!this[_0x2ada13(0x146)]&&await this['loadIndex']();try{const _0x40a09b=await this[_0x2ada13(0x13d)]['fileExists'](_0x15afe5);if(!_0x40a09b)throw new Error(_0x2ada13(0x144)+_0x15afe5);const _0x145d1a=await this[_0x2ada13(0x13d)]['getFileStats'](_0x15afe5),_0x2826b4=fileName||a0_0x2f74f5[_0x2ada13(0x119)](_0x15afe5),_0x24cb1e=a0_0x2f74f5['extname'](_0x2826b4),_0x1b41bc=this['validator'][_0x2ada13(0x123)]({'fileName':_0x2826b4,'size':_0x145d1a['size'],'mode':mode,'path':mode===_0x2ada13(0x117)?_0x15afe5:null});if(!_0x1b41bc[_0x2ada13(0x157)])throw new Error('Validation\x20failed:\x20'+_0x1b41bc['errors']['join'](',\x20'));const _0x414988=randomUUID(),_0x1172f3=await this['fileProcessor']['calculateHash'](_0x15afe5),_0x517134=this['validator'][_0x2ada13(0x12f)](_0x2826b4),_0xf66d53=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x1c9b2d,_0x414988);await this[_0x2ada13(0x13d)][_0x2ada13(0x114)](_0xf66d53);let _0x42bfe4=0x0,_0x63c2c=null;if(mode===_0x2ada13(0x10f)){const processResult=await this[_0x2ada13(0x13d)]['processFile'](_0x15afe5,_0x517134),_0x7d850a=processResult[_0x2ada13(0x10f)];if(_0x517134===_0x2ada13(0x12d))_0x63c2c='content.txt';else{if(_0x517134==='image')_0x63c2c='content.base64';else _0x517134==='pdf'&&(_0x63c2c=_0x2ada13(0x133));}const _0x3338f3=a0_0x2f74f5[_0x2ada13(0x156)](_0xf66d53,_0x63c2c);await this[_0x2ada13(0x13d)]['writeFile'](_0x3338f3,_0x7d850a,'utf8'),_0x42bfe4=this['fileProcessor'][_0x2ada13(0x14b)](_0x7d850a);}const _0x270b29={'fileId':_0x414988,'agentId':_0x1c9b2d,'fileName':_0x2826b4,'originalPath':_0x15afe5,'fileType':this[_0x2ada13(0x110)][_0x2ada13(0x130)](_0x2826b4),'fileExtension':_0x24cb1e,'size':_0x145d1a[_0x2ada13(0x120)],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x145d1a[_0x2ada13(0x138)][_0x2ada13(0x12c)](),'hash':_0x1172f3,'tokenEstimate':_0x42bfe4,'contentType':_0x517134,'contentFileName':_0x63c2c,'warnings':_0x1b41bc['warnings'],'sizeLevel':_0x1b41bc[_0x2ada13(0x125)],'importedFrom':null,'referencedBy':[_0x1c9b2d]},_0x47f1be=a0_0x2f74f5[_0x2ada13(0x156)](_0xf66d53,_0x2ada13(0x13b));return await this['fileProcessor']['writeFile'](_0x47f1be,JSON[_0x2ada13(0x113)](_0x270b29,null,0x2),_0x2ada13(0x13e)),this[_0x2ada13(0x146)][_0x2ada13(0x11e)][_0x414988]={'fileId':_0x414988,'agentId':_0x1c9b2d,'fileName':_0x2826b4,'mode':mode,'active':_0x270b29['active'],'referencedBy':_0x270b29['referencedBy']},!this['index']['agentRefs'][_0x1c9b2d]&&(this['index']['agentRefs'][_0x1c9b2d]=[]),this[_0x2ada13(0x146)]['agentRefs'][_0x1c9b2d][_0x2ada13(0x10e)](_0x414988),await this[_0x2ada13(0x124)](),this[_0x2ada13(0x132)]?.['info']('File\x20uploaded',{'fileId':_0x414988,'agentId':_0x1c9b2d,'fileName':_0x2826b4,'mode':mode}),_0x270b29;}catch(_0x3dfa27){this[_0x2ada13(0x132)]?.['error']('Error\x20uploading\x20file',{'agentId':_0x1c9b2d,'filePath':_0x15afe5,'error':_0x3dfa27['message']});throw _0x3dfa27;}}async[a0_0x164eb3(0x153)](_0x2ec590,_0x1f1624={}){const _0x16f36b=a0_0x164eb3;!this[_0x16f36b(0x146)]&&await this['loadIndex']();try{const _0x4ca6b0=this[_0x16f36b(0x146)][_0x16f36b(0x11c)][_0x2ec590]||[],_0x58937b=[];for(const _0x12b28e of _0x4ca6b0){const _0xf19b88=await this[_0x16f36b(0x155)](_0x12b28e);if(_0xf19b88){if(_0x1f1624['active']!==undefined&&_0xf19b88[_0x16f36b(0x118)]!==_0x1f1624[_0x16f36b(0x118)])continue;if(_0x1f1624['mode']&&_0xf19b88[_0x16f36b(0x12b)]!==_0x1f1624['mode'])continue;_0x58937b[_0x16f36b(0x10e)](_0xf19b88);}}return _0x58937b;}catch(_0x91c6d5){this['logger']?.[_0x16f36b(0x13c)]('Error\x20getting\x20attachments',{'agentId':_0x2ec590,'error':_0x91c6d5[_0x16f36b(0x145)]});throw _0x91c6d5;}}async[a0_0x164eb3(0x155)](_0x4de850){const _0x3d1462=a0_0x164eb3;!this[_0x3d1462(0x146)]&&await this[_0x3d1462(0x13a)]();try{const _0x28b0a6=this['index']['attachments'][_0x4de850];if(!_0x28b0a6)return null;const _0x4cd62f=a0_0x2f74f5[_0x3d1462(0x156)](ATTACHMENTS_DIR,_0x28b0a6[_0x3d1462(0x11f)],_0x4de850,_0x3d1462(0x13b)),_0x2b7e17=await this[_0x3d1462(0x13d)][_0x3d1462(0x150)](_0x4cd62f);if(!_0x2b7e17)return this[_0x3d1462(0x132)]?.['warn'](_0x3d1462(0x14f),{'fileId':_0x4de850}),null;const _0x39df05=await this[_0x3d1462(0x13d)][_0x3d1462(0x122)](_0x4cd62f,'utf8');return JSON['parse'](_0x39df05);}catch(_0x13e16b){return this[_0x3d1462(0x132)]?.[_0x3d1462(0x13c)]('Error\x20getting\x20attachment',{'fileId':_0x4de850,'error':_0x13e16b['message']}),null;}}async['getAttachmentContent'](_0x476495){const _0x59d857=a0_0x164eb3;try{const _0x4fd0d5=await this['getAttachment'](_0x476495);if(!_0x4fd0d5||_0x4fd0d5[_0x59d857(0x12b)]!=='content')return null;const _0x1da283=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x4fd0d5['agentId'],_0x476495,_0x4fd0d5[_0x59d857(0x11b)]),_0x1945e1=await this[_0x59d857(0x13d)]['fileExists'](_0x1da283);if(!_0x1945e1)return null;return await this['fileProcessor']['readFile'](_0x1da283,_0x59d857(0x13e));}catch(_0x24deb5){return this['logger']?.['error'](_0x59d857(0x139),{'fileId':_0x476495,'error':_0x24deb5[_0x59d857(0x145)]}),null;}}async[a0_0x164eb3(0x147)](_0x58d045){const _0x122bc9=a0_0x164eb3;try{const _0x3fab99=await this[_0x122bc9(0x155)](_0x58d045);if(!_0x3fab99)throw new Error(_0x122bc9(0x149)+_0x58d045);_0x3fab99['active']=!_0x3fab99[_0x122bc9(0x118)],_0x3fab99[_0x122bc9(0x14d)]=new Date()['toISOString']();const _0x153649=a0_0x2f74f5[_0x122bc9(0x156)](ATTACHMENTS_DIR,_0x3fab99[_0x122bc9(0x11f)],_0x58d045,_0x122bc9(0x13b));return await this[_0x122bc9(0x13d)][_0x122bc9(0x136)](_0x153649,JSON['stringify'](_0x3fab99,null,0x2),_0x122bc9(0x13e)),this['index'][_0x122bc9(0x11e)][_0x58d045]&&(this['index']['attachments'][_0x58d045]['active']=_0x3fab99['active'],await this['saveIndex']()),this[_0x122bc9(0x132)]?.[_0x122bc9(0x13f)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x58d045,'active':_0x3fab99['active']}),_0x3fab99;}catch(_0x3cae16){this[_0x122bc9(0x132)]?.[_0x122bc9(0x13c)](_0x122bc9(0x142),{'fileId':_0x58d045,'error':_0x3cae16['message']});throw _0x3cae16;}}async['updateAttachment'](_0xb6be9a,_0x3e4046){const _0x5d8fa4=a0_0x164eb3;try{const _0x33f107=await this[_0x5d8fa4(0x155)](_0xb6be9a);if(!_0x33f107)throw new Error(_0x5d8fa4(0x149)+_0xb6be9a);const _0x46fd1e=[_0x5d8fa4(0x14e),'active'];for(const _0x46cb1a of _0x46fd1e){_0x3e4046[_0x46cb1a]!==undefined&&(_0x33f107[_0x46cb1a]=_0x3e4046[_0x46cb1a]);}_0x33f107['lastModified']=new Date()[_0x5d8fa4(0x12c)]();const _0x4fc7f1=a0_0x2f74f5[_0x5d8fa4(0x156)](ATTACHMENTS_DIR,_0x33f107[_0x5d8fa4(0x11f)],_0xb6be9a,'metadata.json');return await this[_0x5d8fa4(0x13d)]['writeFile'](_0x4fc7f1,JSON['stringify'](_0x33f107,null,0x2),'utf8'),this['index']['attachments'][_0xb6be9a]&&(_0x3e4046['fileName']&&(this[_0x5d8fa4(0x146)][_0x5d8fa4(0x11e)][_0xb6be9a][_0x5d8fa4(0x14e)]=_0x3e4046[_0x5d8fa4(0x14e)]),_0x3e4046['active']!==undefined&&(this[_0x5d8fa4(0x146)]['attachments'][_0xb6be9a][_0x5d8fa4(0x118)]=_0x3e4046['active']),await this['saveIndex']()),this['logger']?.[_0x5d8fa4(0x13f)]('Attachment\x20updated',{'fileId':_0xb6be9a,'updates':_0x3e4046}),_0x33f107;}catch(_0x1a99b1){this[_0x5d8fa4(0x132)]?.[_0x5d8fa4(0x13c)](_0x5d8fa4(0x128),{'fileId':_0xb6be9a,'error':_0x1a99b1['message']});throw _0x1a99b1;}}async['deleteAttachment'](_0x580aaf,_0x55289e){const _0x3db8b3=a0_0x164eb3;try{const _0x35995b=await this['getAttachment'](_0x580aaf);if(!_0x35995b)throw new Error('Attachment\x20not\x20found:\x20'+_0x580aaf);_0x35995b['referencedBy']=_0x35995b[_0x3db8b3(0x116)][_0x3db8b3(0x111)](_0x3496=>_0x3496!==_0x55289e);if(_0x35995b['referencedBy'][_0x3db8b3(0x115)]>0x0){const _0x2718c3=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x35995b[_0x3db8b3(0x11f)],_0x580aaf,_0x3db8b3(0x13b));return await this['fileProcessor']['writeFile'](_0x2718c3,JSON['stringify'](_0x35995b,null,0x2),'utf8'),this['index']['attachments'][_0x580aaf]&&(this['index']['attachments'][_0x580aaf]['referencedBy']=_0x35995b[_0x3db8b3(0x116)]),this['index'][_0x3db8b3(0x11c)][_0x55289e]&&(this[_0x3db8b3(0x146)]['agentRefs'][_0x55289e]=this[_0x3db8b3(0x146)][_0x3db8b3(0x11c)][_0x55289e]['filter'](_0x12e33b=>_0x12e33b!==_0x580aaf)),await this[_0x3db8b3(0x124)](),this['logger']?.['info']('Attachment\x20dereferenced',{'fileId':_0x580aaf,'agentId':_0x55289e,'remainingRefs':_0x35995b[_0x3db8b3(0x116)][_0x3db8b3(0x115)]}),![];}const _0x5e7280=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x35995b[_0x3db8b3(0x11f)],_0x580aaf);return await this['fileProcessor']['deleteDirectory'](_0x5e7280),delete this['index']['attachments'][_0x580aaf],this[_0x3db8b3(0x146)][_0x3db8b3(0x11c)][_0x55289e]&&(this['index']['agentRefs'][_0x55289e]=this['index'][_0x3db8b3(0x11c)][_0x55289e]['filter'](_0x5e1a47=>_0x5e1a47!==_0x580aaf)),await this['saveIndex'](),this['logger']?.['info'](_0x3db8b3(0x10a),{'fileId':_0x580aaf,'agentId':_0x55289e}),!![];}catch(_0x28c308){this['logger']?.['error'](_0x3db8b3(0x129),{'fileId':_0x580aaf,'agentId':_0x55289e,'error':_0x28c308[_0x3db8b3(0x145)]});throw _0x28c308;}}async['deleteAgentAttachments'](_0x34011d){const _0x43b4c1=a0_0x164eb3;try{const _0x1e3994=this['index']['agentRefs'][_0x34011d]||[];let _0x2d1b64=0x0,_0x1b04a7=0x0;for(const _0x5f2209 of _0x1e3994){const _0x4e6f49=await this['deleteAttachment'](_0x5f2209,_0x34011d);_0x4e6f49?_0x2d1b64++:_0x1b04a7++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x34011d,'deleted':_0x2d1b64,'dereferenced':_0x1b04a7}),{'deleted':_0x2d1b64,'dereferenced':_0x1b04a7};}catch(_0x58d75e){this[_0x43b4c1(0x132)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0x34011d,'error':_0x58d75e['message']});throw _0x58d75e;}}async[a0_0x164eb3(0x12e)](_0x4ca7b7,_0x1b745a){const _0x52fc72=a0_0x164eb3;try{const _0x24523e=await this[_0x52fc72(0x155)](_0x4ca7b7);if(!_0x24523e)throw new Error(_0x52fc72(0x12a)+_0x4ca7b7);!_0x24523e['referencedBy']['includes'](_0x1b745a)&&_0x24523e[_0x52fc72(0x116)]['push'](_0x1b745a);_0x24523e[_0x52fc72(0x14d)]=new Date()['toISOString'](),_0x24523e['importedFrom']=_0x24523e['agentId'];const _0x7cef60=a0_0x2f74f5['join'](ATTACHMENTS_DIR,_0x24523e[_0x52fc72(0x11f)],_0x4ca7b7,_0x52fc72(0x13b));return await this[_0x52fc72(0x13d)]['writeFile'](_0x7cef60,JSON[_0x52fc72(0x113)](_0x24523e,null,0x2),_0x52fc72(0x13e)),this['index']['attachments'][_0x4ca7b7]&&(this[_0x52fc72(0x146)][_0x52fc72(0x11e)][_0x4ca7b7]['referencedBy']=_0x24523e[_0x52fc72(0x116)]),!this['index'][_0x52fc72(0x11c)][_0x1b745a]&&(this['index']['agentRefs'][_0x1b745a]=[]),!this['index'][_0x52fc72(0x11c)][_0x1b745a]['includes'](_0x4ca7b7)&&this['index']['agentRefs'][_0x1b745a]['push'](_0x4ca7b7),await this[_0x52fc72(0x124)](),this[_0x52fc72(0x132)]?.[_0x52fc72(0x13f)]('Attachment imported',{'sourceFileId':_0x4ca7b7,'targetAgentId':_0x1b745a}),_0x24523e;}catch(_0x215464){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x4ca7b7,'targetAgentId':_0x1b745a,'error':_0x215464[_0x52fc72(0x145)]});throw _0x215464;}}async['getActiveAttachments'](_0x502b68){return await this['getAttachments'](_0x502b68,{'active':!![]});}async['getAttachmentPreview'](_0x5c1604){const _0x4f1e73=a0_0x164eb3;try{const _0x2d67f5=await this[_0x4f1e73(0x14a)](_0x5c1604);if(!_0x2d67f5)return null;if(_0x2d67f5['startsWith'](_0x4f1e73(0x135)))return _0x4f1e73(0x10b);return _0x2d67f5[_0x4f1e73(0x115)]>0x3e8?_0x2d67f5[_0x4f1e73(0x151)](0x0,0x3e8)+_0x4f1e73(0x121):_0x2d67f5;}catch(_0xfddbe9){return this['logger']?.['error'](_0x4f1e73(0x109),{'fileId':_0x5c1604,'error':_0xfddbe9[_0x4f1e73(0x145)]}),null;}}}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x5e215d=a0_0x331b;(function(_0x1679dd,_0x337fda){const _0x391df7=a0_0x331b,_0x2de694=_0x1679dd();while(!![]){try{const _0x22de46=-parseInt(_0x391df7(0x15c))/0x1+parseInt(_0x391df7(0x11a))/0x2*(parseInt(_0x391df7(0x11f))/0x3)+-parseInt(_0x391df7(0x149))/0x4*(parseInt(_0x391df7(0x131))/0x5)+-parseInt(_0x391df7(0x118))/0x6*(-parseInt(_0x391df7(0x15a))/0x7)+parseInt(_0x391df7(0x119))/0x8+-parseInt(_0x391df7(0x14f))/0x9*(-parseInt(_0x391df7(0x141))/0xa)+parseInt(_0x391df7(0x13e))/0xb*(-parseInt(_0x391df7(0x153))/0xc);if(_0x22de46===_0x337fda)break;else _0x2de694['push'](_0x2de694['shift']());}catch(_0x41f660){_0x2de694['push'](_0x2de694['shift']());}}}(a0_0x47e1,0x70e31));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x1800c1,_0x56345d,_0x114f27,_0x4ad0c5){const _0x164c08=a0_0x331b;this[_0x164c08(0x116)]=_0x1800c1,this['logger']=_0x56345d,this['benchmarkService']=_0x114f27,this[_0x164c08(0x15f)]=_0x4ad0c5,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this['contextMessagesCount']=MODEL_ROUTER_CONFIG[_0x164c08(0x14d)],this[_0x164c08(0x154)]=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x49bf28,_0x8dbbc8=[],_0x58ee8d='',_0xcd84cb=[],_0x2e6ad3={}){const _0x368adb=a0_0x331b;try{this['logger'][_0x368adb(0x15b)](_0x368adb(0x155),{'messageLength':_0x49bf28[_0x368adb(0x136)]?.[_0x368adb(0x12d)]||0x0,'recentMessagesCount':_0x8dbbc8['length'],'currentModel':_0x58ee8d,'availableModelsCount':_0xcd84cb['length']});const _0xf4f94d=this['_buildRoutingContext'](_0x49bf28,_0x8dbbc8,_0x58ee8d,_0xcd84cb),_0x472192=this[_0x368adb(0x133)]['getBenchmarkTable'](),_0x1edb82=this[_0x368adb(0x126)](_0xf4f94d,_0x472192),_0x5b2b10=await this['_askForRouting'](_0x1edb82,_0x2e6ad3),_0x404f9e=this[_0x368adb(0x113)](_0x5b2b10,_0xcd84cb,_0x58ee8d);return this['logger']['info'](_0x368adb(0x151),{'selectedModel':_0x404f9e,'previousModel':_0x58ee8d,'changed':_0x404f9e!==_0x58ee8d,'reasoning':_0x5b2b10[_0x368adb(0x15e)]?.['substring'](0x0,0x64)||'No\x20reasoning\x20provided'}),{'selectedModel':_0x404f9e,'previousModel':_0x58ee8d,'changed':_0x404f9e!==_0x58ee8d,'reasoning':_0x5b2b10['reasoning']||_0x368adb(0x157)};}catch(_0x47492a){this[_0x368adb(0x129)][_0x368adb(0x120)](_0x368adb(0x161),{'error':_0x47492a['message'],'currentModel':_0x58ee8d});const _0x21fd0b=_0x58ee8d||_0xcd84cb[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x21fd0b,'previousModel':_0x58ee8d,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}[a0_0x5e215d(0x11c)](_0x3ca0ee,_0x16be83,_0x3bbf99,_0x538cac){const _0xc7865f=a0_0x5e215d,_0x401918=_0x16be83[_0xc7865f(0x122)](-this[_0xc7865f(0x11b)])['map'](_0x3e7091=>({'role':_0x3e7091['role'],'content':_0x3e7091['content']?.[_0xc7865f(0x139)](0x0,0x1f4)||'','timestamp':_0x3e7091['timestamp']}));return{'currentMessage':{'content':_0x3ca0ee['content']?.[_0xc7865f(0x139)](0x0,0x3e8)||'','role':_0x3ca0ee[_0xc7865f(0x123)]||_0xc7865f(0x115),'hasContextReferences':!!_0x3ca0ee['contextReferences']?.['length'],'contextTypes':_0x3ca0ee['contextReferences']?.['map'](_0x2015bd=>_0x2015bd['type'])||[]},'recentMessages':_0x401918,'currentModel':_0x3bbf99,'availableModels':_0x538cac[_0xc7865f(0x117)](_0x3979d6=>({'name':_0x3979d6,'isCurrentModel':_0x3979d6===_0x3bbf99})),'messageCount':_0x16be83['length']+0x1,'timestamp':new Date()[_0xc7865f(0x134)]()};}[a0_0x5e215d(0x126)](_0x1c3702,_0x1b6572){const _0x3a086e=a0_0x5e215d;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'+(_0x1c3702['currentModel']||_0x3a086e(0x12c))+_0x3a086e(0x137)+_0x1c3702['messageCount']+_0x3a086e(0x121)+_0x1c3702[_0x3a086e(0x13d)][_0x3a086e(0x117)](_0x1badbe=>_0x1badbe[_0x3a086e(0x14c)])[_0x3a086e(0x159)](',\x20')+_0x3a086e(0x132)+this['_formatRecentMessages'](_0x1c3702[_0x3a086e(0x13c)])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x1c3702[_0x3a086e(0x143)][_0x3a086e(0x123)]+_0x3a086e(0x14e)+_0x1c3702['currentMessage'][_0x3a086e(0x136)]+_0x3a086e(0x12b)+_0x1c3702['currentMessage'][_0x3a086e(0x12f)]+'\x0a'+(_0x1c3702[_0x3a086e(0x143)]['contextTypes']['length']>0x0?'**Context\x20Types**:\x20'+_0x1c3702['currentMessage']['contextTypes'][_0x3a086e(0x159)](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this['_formatBenchmarkData'](_0x1b6572)+'\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_0x5e215d(0x147)](_0x216eae){const _0xf23728=a0_0x5e215d;if(!_0x216eae['length'])return _0xf23728(0x150);return _0x216eae[_0xf23728(0x117)]((_0x15836f,_0xb05ecc)=>_0xb05ecc+0x1+_0xf23728(0x15d)+_0x15836f['role']+'**:\x20'+_0x15836f[_0xf23728(0x136)])['join']('\x0a');}['_formatBenchmarkData'](_0x39ceea){const _0x9bd41=a0_0x5e215d,_0x4e2af6=_0x39ceea['models']||[],_0x31f85a=_0x39ceea[_0x9bd41(0x145)]||{},_0x33b46b=_0x39ceea['summary']||{};let _0x25ba4a=_0x9bd41(0x13f);return Object[_0x9bd41(0x158)](_0x31f85a)['forEach'](([_0x546b68,_0xce7672])=>{const _0x2affbc=_0x9bd41;_0x25ba4a+='**'+_0x546b68['toUpperCase']()+_0x2affbc(0x142)+_0xce7672['description']+'):\x20'+(_0xce7672['topModels']?.['join'](',\x20')||'No\x20data')+'\x0a';}),_0x25ba4a+='\x0a###\x20Model\x20Details\x0a',_0x4e2af6['slice'](0x0,0x8)[_0x9bd41(0x135)](_0x2df655=>{const _0x4d915f=_0x9bd41;_0x25ba4a+='**'+_0x2df655[_0x4d915f(0x14c)]+'**:\x20';const _0x4b8215=Object['entries'](_0x2df655['tasks']||{})[_0x4d915f(0x117)](([_0x57369f,_0x194e7c])=>_0x57369f+'('+_0x194e7c['score']+')')['join'](',\x20');_0x25ba4a+=_0x4b8215+'\x20|\x20Strengths:\x20'+(_0x2df655[_0x4d915f(0x11e)]?.[_0x4d915f(0x159)](',\x20')||_0x4d915f(0x130))+'\x0a';}),_0x25ba4a;}async[a0_0x5e215d(0x11d)](_0x545f84,_0x5e6e34={}){const _0x4201d3=a0_0x5e215d;try{const _0x2556a1=await this['aiService']['sendMessage'](this[_0x4201d3(0x12a)],_0x545f84,{'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['requestTimeout'],'sessionId':_0x5e6e34['sessionId'],'apiKey':_0x5e6e34[_0x4201d3(0x140)]||this['config']['apiKey'],'customApiKeys':_0x5e6e34['customApiKeys'],'platformProvided':!![]});if(!_0x2556a1['content'])throw new Error('No response content from autopilot-model-router');const _0x517815=this[_0x4201d3(0x138)](_0x2556a1[_0x4201d3(0x136)]);return _0x517815;}catch(_0x77e732){this[_0x4201d3(0x129)]['error'](_0x4201d3(0x152),{'error':_0x77e732[_0x4201d3(0x124)],'routerModel':this[_0x4201d3(0x12a)]});throw _0x77e732;}}[a0_0x5e215d(0x138)](_0x221ba6){const _0x222dc2=a0_0x5e215d;try{const _0x280dac=_0x221ba6['match'](/\{[\s\S]*\}/);if(!_0x280dac)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x4cddb3=JSON[_0x222dc2(0x160)](_0x280dac[0x0]);if(!_0x4cddb3['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x4cddb3['selectedModel'],'taskType':_0x4cddb3[_0x222dc2(0x13b)]||'unknown','confidence':_0x4cddb3[_0x222dc2(0x13a)]||0.5,'reasoning':_0x4cddb3['reasoning']||'No\x20reasoning\x20provided','factors':_0x4cddb3[_0x222dc2(0x146)]||[]};}catch(_0x19e605){return this[_0x222dc2(0x129)]['warn'](_0x222dc2(0x114),{'error':_0x19e605[_0x222dc2(0x124)],'content':_0x221ba6[_0x222dc2(0x139)](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':_0x222dc2(0x144),'factors':['parsing-error']};}}['_validateModelSelection'](_0x3572ee,_0x22ca79,_0x3412dd){const _0xda382=a0_0x5e215d,{selectedModel:_0x4d8a16}=_0x3572ee;if(!_0x4d8a16)return this['logger'][_0xda382(0x15b)](_0xda382(0x148)),_0x3412dd;if(!_0x22ca79['includes'](_0x4d8a16))return this[_0xda382(0x129)]['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x4d8a16,'availableModels':_0x22ca79}),_0x3412dd;return _0x4d8a16;}[a0_0x5e215d(0x128)](){const _0x29d6af=a0_0x5e215d;return{'routerModel':this[_0x29d6af(0x12a)],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this['benchmarkService']['getStatus'](),'isAvailable':!![]};}async[a0_0x5e215d(0x156)](){const _0x8f7116=a0_0x5e215d;try{const _0x552c46={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x8f7116(0x115)},_0xde44f=await this['routeMessage'](_0x552c46,[],MODELS[_0x8f7116(0x125)],[MODELS['ANTHROPIC_SONNET'],MODELS['ANTHROPIC_OPUS'],MODELS[_0x8f7116(0x14a)],MODELS[_0x8f7116(0x12e)]],{'apiKey':_0x8f7116(0x127)});return this['logger']['info'](_0x8f7116(0x14b),{'selectedModel':_0xde44f}),{'success':!![],'selectedModel':_0xde44f};}catch(_0x2e47a8){return this['logger'][_0x8f7116(0x120)]('Router\x20test\x20failed',{'error':_0x2e47a8[_0x8f7116(0x124)]}),{'success':![],'error':_0x2e47a8[_0x8f7116(0x124)]};}}}export default ModelRouterService;function a0_0x331b(_0x43c346,_0x2c0825){_0x43c346=_0x43c346-0x113;const _0x47e193=a0_0x47e1();let _0x331b62=_0x47e193[_0x43c346];if(a0_0x331b['zzuIyO']===undefined){var _0x1a5bbc=function(_0x52068f){const _0xc6649a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1800c1='',_0x56345d='';for(let _0x114f27=0x0,_0x4ad0c5,_0x49bf28,_0x8dbbc8=0x0;_0x49bf28=_0x52068f['charAt'](_0x8dbbc8++);~_0x49bf28&&(_0x4ad0c5=_0x114f27%0x4?_0x4ad0c5*0x40+_0x49bf28:_0x49bf28,_0x114f27++%0x4)?_0x1800c1+=String['fromCharCode'](0xff&_0x4ad0c5>>(-0x2*_0x114f27&0x6)):0x0){_0x49bf28=_0xc6649a['indexOf'](_0x49bf28);}for(let _0x58ee8d=0x0,_0xcd84cb=_0x1800c1['length'];_0x58ee8d<_0xcd84cb;_0x58ee8d++){_0x56345d+='%'+('00'+_0x1800c1['charCodeAt'](_0x58ee8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56345d);};a0_0x331b['OiIGbV']=_0x1a5bbc,a0_0x331b['rynyEG']={},a0_0x331b['zzuIyO']=!![];}const _0x11e410=_0x47e193[0x0],_0x2da993=_0x43c346+_0x11e410,_0x55753d=a0_0x331b['rynyEG'][_0x2da993];return!_0x55753d?(_0x331b62=a0_0x331b['OiIGbV'](_0x331b62),a0_0x331b['rynyEG'][_0x2da993]=_0x331b62):_0x331b62=_0x55753d,_0x331b62;}function a0_0x47e1(){const _0x18aa53=['mJy0vK5luNnl','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','yxbPs2v5','nZb5BxLKCLq','kIOGka','y3vYCMvUDe1LC3nHz2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','DgfZA3m','zMfJDg9YCW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','nhz5yxDitG','r1buxZq','uM91DgvYihrLC3qGy29TCgXLDgvK','BMfTzq','q09ovevyvf9nrvntquDfu19dt1vova','cIOQq29UDgvUDcOQoIa','mtK0ntyYDNjitePt','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','yxv0B3bPBg90lw1VzgvSlxjVDxrLCIbYB3v0Aw5NihjLCxvLC3qGzMfPBgvK','mte3mtu2CMv6t1Lw','CMvXDwvZDfrPBwvVDxq','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','DgvZDfjVDxrLCG','tM8GCMvHC29UAw5NihbYB3zPzgvK','zw50CMLLCW','AM9PBG','mti2Efj4y1vi','zgvIDwC','mJKZndK0AuXevwvz','lIaQkG','CMvHC29UAw5N','ywLtzxj2AwnL','CgfYC2u','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','DxnLCG','y29UzMLN','BwfW','otC0mZrqr1bVuMi','nJa0ndq4mfDHs0n2qG','mZe5nM9qqKzhqW','y29UDgv4De1LC3nHz2vZq291BNq','x2j1AwXKuM91DgLUz0nVBNrLEhq','x2fZA0zVCLjVDxrPBMC','C3rYzw5NDgHZ','mtmYovvXvuvkra','zxjYB3i','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','C2XPy2u','CM9Szq','BwvZC2fNzq','qu5usfjpueLdx1nptK5fva','x2nYzwf0zvjVDxrPBMDqCM9TChq','DgvZDc1RzxK','z2v0u3rHDhvZ','Bg9Nz2vY','CM91DgvYtw9KzwW','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','tM9Uzq','BgvUz3rO','revfufnfruTFuJe','AgfZq29UDgv4DfjLzMvYzw5Jzxm','tI9b','ndu4ndu1nuDnvM5PBG','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','yMvUy2HTyxjRu2vYDMLJzq','Dg9ju09tDhjPBMC','zM9YrwfJAa','y29UDgvUDa','cI0GkIPnzxnZywDLienVDw50kIO6ia','x3bHCNnLuM91DgLUz1jLC3bVBNnL','C3vIC3rYAw5N','y29UzMLKzw5Jzq','DgfZA1r5Cgu','CMvJzw50twvZC2fNzxm','yxzHAwXHyMXLtw9KzwXZ'];a0_0x47e1=function(){return _0x18aa53;};return a0_0x47e1();}
1
+ const a0_0x3b5fa0=a0_0x3331;function a0_0x3331(_0x28f21a,_0xfc965f){_0x28f21a=_0x28f21a-0x1d7;const _0x570dd0=a0_0x570d();let _0x333139=_0x570dd0[_0x28f21a];if(a0_0x3331['mpSbvO']===undefined){var _0x5121c5=function(_0x2507c2){const _0x231880='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2a261e='',_0x305642='';for(let _0x3def4f=0x0,_0x483e18,_0x2e84a9,_0x38a04d=0x0;_0x2e84a9=_0x2507c2['charAt'](_0x38a04d++);~_0x2e84a9&&(_0x483e18=_0x3def4f%0x4?_0x483e18*0x40+_0x2e84a9:_0x2e84a9,_0x3def4f++%0x4)?_0x2a261e+=String['fromCharCode'](0xff&_0x483e18>>(-0x2*_0x3def4f&0x6)):0x0){_0x2e84a9=_0x231880['indexOf'](_0x2e84a9);}for(let _0x2aba8b=0x0,_0x24b279=_0x2a261e['length'];_0x2aba8b<_0x24b279;_0x2aba8b++){_0x305642+='%'+('00'+_0x2a261e['charCodeAt'](_0x2aba8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x305642);};a0_0x3331['osHbgg']=_0x5121c5,a0_0x3331['CftjmN']={},a0_0x3331['mpSbvO']=!![];}const _0x4cadd9=_0x570dd0[0x0],_0x2b1c8e=_0x28f21a+_0x4cadd9,_0x4b6a8a=a0_0x3331['CftjmN'][_0x2b1c8e];return!_0x4b6a8a?(_0x333139=a0_0x3331['osHbgg'](_0x333139),a0_0x3331['CftjmN'][_0x2b1c8e]=_0x333139):_0x333139=_0x4b6a8a,_0x333139;}(function(_0xc4b05c,_0x18193b){const _0x40c726=a0_0x3331,_0x5840d6=_0xc4b05c();while(!![]){try{const _0x4c5eeb=parseInt(_0x40c726(0x1f5))/0x1+-parseInt(_0x40c726(0x1fe))/0x2*(-parseInt(_0x40c726(0x21e))/0x3)+parseInt(_0x40c726(0x1f7))/0x4*(parseInt(_0x40c726(0x1f6))/0x5)+-parseInt(_0x40c726(0x215))/0x6*(parseInt(_0x40c726(0x208))/0x7)+-parseInt(_0x40c726(0x206))/0x8*(-parseInt(_0x40c726(0x21d))/0x9)+parseInt(_0x40c726(0x205))/0xa*(parseInt(_0x40c726(0x218))/0xb)+-parseInt(_0x40c726(0x1ee))/0xc*(parseInt(_0x40c726(0x1df))/0xd);if(_0x4c5eeb===_0x18193b)break;else _0x5840d6['push'](_0x5840d6['shift']());}catch(_0x28af5e){_0x5840d6['push'](_0x5840d6['shift']());}}}(a0_0x570d,0x1a555));function a0_0x570d(){const _0x3b088a=['twLZC2LUzYbZzwXLy3rLze1VzgvSigLUigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCMvZCg9UC2u','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','DxnLCG','uK9vvevsx01prevm','C3vIC3rYAw5N','cImJiYbnB2rLBcbezxrHAwXZcG','mte5ndK3m3jfvxHvvW','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgv4DfjLzMvYzw5Jzxm','CM9Szq','CMvJzw50twvZC2fNzxm','BMfTzq','ywLtzxj2AwnL','y29UDgvUDa','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','CgfYC2LUzY1LCNjVCG','uM91DgvYihrLC3qGzMfPBgvK','BgvUz3rO','x2fZA0zVCLjVDxrPBMC','CMvHC29UAw5N','CM91DgvnzxnZywDL','ndHzu0noyuu','Bwf0y2G','kIOGka','DgfZA1r5Cgu','zxjYB3i','kIPdB250zxH0ifr5CgvZkIO6ia','tM8Gzgf0yq','odC3ndnuBfLyvhO','ndKZmda1qKnsqxze','neHkswzqCG','Bg9Nz2vY','r1buxZq','y29UDgv4De1LC3nHz2vZq291BNq','ihWGu3rYzw5NDgHZoIa','DgLTzxn0yw1W','C2XPy2u','nJiXoezLC2n2BW','cGOJiYbdDxjYzw50ie1LC3nHz2uGDg8GuM91DgukkIPsB2XLkIO6ia','Bw9KzwWTCM91DgvY','C2vUze1LC3nHz2u','tM8GCMvHC29UAw5NihbYB3zPzgvK','cI0GkIPbDMfPBgfIBguGtw9KzwXZkIO6ia','y3vYCMvUDe1LC3nHz2u','mty3nJmWr3Lxu0r3','nZm1mLf1s1bgBa','DgvZDfjVDxrLCG','n3vurhbgsW','y29UDgv4Dfr5CgvZ','BwvZC2fNzq','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','qu5usfjpueLdx09qvvm','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','q09ovevyvf9nrvntquDfu19dt1vova','kIO6ia','CgfYC2u','zgvZy3jPChrPB24','x3bHCNnLuM91DgLUz1jLC3bVBNnL','zMfJDg9YCW','mZi1ndGYDfHtC0DH','BwfW','Dg9Wtw9KzwXZ','otLkr3fwy1q','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','z2v0u3rHDhvZ','CMvXDwvZDfrPBwvVDxq','Dw5RBM93BG','nZi5wKHIB0T1','mte0BgHutKvU','CM91DgvYtw9KzwW','x2zVCM1HDejLBMnOBwfYA0rHDge','y29UzMLN','zgvIDwC','C2vSzwn0zwrnB2rLBa','yxbPs2v5','AM9PBG','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL'];a0_0x570d=function(){return _0x3b088a;};return a0_0x570d();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x2a261e,_0x305642,_0x3def4f,_0x483e18){const _0x5d211f=a0_0x3331;this[_0x5d211f(0x221)]=_0x2a261e,this[_0x5d211f(0x1f8)]=_0x305642,this['benchmarkService']=_0x3def4f,this['aiService']=_0x483e18,this['routerModel']=MODEL_ROUTER_CONFIG[_0x5d211f(0x1dc)],this[_0x5d211f(0x1fa)]=MODEL_ROUTER_CONFIG[_0x5d211f(0x20f)],this[_0x5d211f(0x21b)]=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async[a0_0x3b5fa0(0x1ed)](_0x2e84a9,_0x38a04d=[],_0x2aba8b='',_0x24b279=[],_0x146bb9={}){const _0x2015b0=a0_0x3b5fa0;try{this['logger']['debug']('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x2e84a9[_0x2015b0(0x1e6)]?.[_0x2015b0(0x1ea)]||0x0,'recentMessagesCount':_0x38a04d['length'],'currentModel':_0x2aba8b,'availableModelsCount':_0x24b279['length']});const _0x2bd6ae=this['_buildRoutingContext'](_0x2e84a9,_0x38a04d,_0x2aba8b,_0x24b279),_0x1867b0=this['benchmarkService']['getBenchmarkTable'](),_0x43f33a=this['_createRoutingPrompt'](_0x2bd6ae,_0x1867b0),_0x34850a=await this[_0x2015b0(0x1eb)](_0x43f33a,_0x146bb9),_0x28bad5=this[_0x2015b0(0x20e)](_0x34850a,_0x24b279,_0x2aba8b);return this[_0x2015b0(0x1f8)]['info']('Model\x20routing\x20completed',{'selectedModel':_0x28bad5,'previousModel':_0x2aba8b,'changed':_0x28bad5!==_0x2aba8b,'reasoning':_0x34850a[_0x2015b0(0x1ec)]?.[_0x2015b0(0x1dd)](0x0,0x64)||_0x2015b0(0x202)}),{'selectedModel':_0x28bad5,'previousModel':_0x2aba8b,'changed':_0x28bad5!==_0x2aba8b,'reasoning':_0x34850a['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x35b7f1){this['logger'][_0x2015b0(0x1f2)](_0x2015b0(0x1e7),{'error':_0x35b7f1['message'],'currentModel':_0x2aba8b});const _0x5dd4a6=_0x2aba8b||_0x24b279[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x5dd4a6,'previousModel':_0x2aba8b,'changed':![],'reasoning':'Routing\x20failed,\x20using\x20fallback\x20model'};}}['_buildRoutingContext'](_0x18761a,_0x19f3f0,_0x383b78,_0x3c4323){const _0x464554=a0_0x3b5fa0,_0x1fc21d=_0x19f3f0['slice'](-this[_0x464554(0x1fa)])['map'](_0xb0270c=>({'role':_0xb0270c[_0x464554(0x1e2)],'content':_0xb0270c['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0xb0270c[_0x464554(0x1fc)]}));return{'currentMessage':{'content':_0x18761a[_0x464554(0x1e6)]?.[_0x464554(0x1dd)](0x0,0x3e8)||'','role':_0x18761a['role']||'user','hasContextReferences':!!_0x18761a[_0x464554(0x1e1)]?.['length'],'contextTypes':_0x18761a['contextReferences']?.['map'](_0x4c12a1=>_0x4c12a1['type'])||[]},'recentMessages':_0x1fc21d,'currentModel':_0x383b78,'availableModels':_0x3c4323['map'](_0x20f28b=>({'name':_0x20f28b,'isCurrentModel':_0x20f28b===_0x383b78})),'messageCount':_0x19f3f0[_0x464554(0x1ea)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0x531e44,_0x298945){const _0x1258d6=a0_0x3b5fa0;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'+(_0x531e44['currentModel']||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x531e44['messageCount']+_0x1258d6(0x203)+_0x531e44['availableModels'][_0x1258d6(0x216)](_0xf743d0=>_0xf743d0[_0x1258d6(0x1e4)])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this['_formatRecentMessages'](_0x531e44[_0x1258d6(0x1e3)])+_0x1258d6(0x1ff)+_0x531e44[_0x1258d6(0x204)]['role']+'\x0a**Content**:\x20'+_0x531e44[_0x1258d6(0x204)]['content']+_0x1258d6(0x219)+_0x531e44['currentMessage']['hasContextReferences']+'\x0a'+(_0x531e44['currentMessage']['contextTypes']['length']>0x0?_0x1258d6(0x1f3)+_0x531e44[_0x1258d6(0x204)][_0x1258d6(0x209)]['join'](',\x20'):'')+_0x1258d6(0x1da)+this['_formatBenchmarkData'](_0x298945)+'\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_0x3b5fa0(0x1e0)](_0x53940c){const _0x39e8c3=a0_0x3b5fa0;if(!_0x53940c[_0x39e8c3(0x1ea)])return'No\x20recent\x20messages\x20available.';return _0x53940c['map']((_0x24fe03,_0x1d35e5)=>_0x1d35e5+0x1+'.\x20**'+_0x24fe03['role']+_0x39e8c3(0x210)+_0x24fe03[_0x39e8c3(0x1e6)])[_0x39e8c3(0x1d7)]('\x0a');}[a0_0x3b5fa0(0x220)](_0x518490){const _0x564a26=a0_0x3b5fa0,_0x2ca4ab=_0x518490['models']||[],_0x25d31a=_0x518490['tasks']||{},_0x24bc4c=_0x518490['summary']||{};let _0x12cedf=_0x564a26(0x20c);return Object['entries'](_0x25d31a)['forEach'](([_0x2f5204,_0x4bb2d0])=>{const _0x4c5600=_0x564a26;_0x12cedf+='**'+_0x2f5204['toUpperCase']()+_0x4c5600(0x1f0)+_0x4bb2d0[_0x4c5600(0x212)]+'):\x20'+(_0x4bb2d0[_0x4c5600(0x217)]?.[_0x4c5600(0x1d7)](',\x20')||_0x4c5600(0x1f4))+'\x0a';}),_0x12cedf+=_0x564a26(0x1de),_0x2ca4ab[_0x564a26(0x1fd)](0x0,0x8)['forEach'](_0x5d9432=>{const _0x8b6f68=_0x564a26;_0x12cedf+='**'+_0x5d9432[_0x8b6f68(0x1e4)]+_0x8b6f68(0x210);const _0x521e40=Object['entries'](_0x5d9432['tasks']||{})['map'](([_0x23f412,_0x10286e])=>_0x23f412+'('+_0x10286e['score']+')')[_0x8b6f68(0x1d7)](',\x20');_0x12cedf+=_0x521e40+_0x8b6f68(0x1fb)+(_0x5d9432['strengths']?.[_0x8b6f68(0x1d7)](',\x20')||'N/A')+'\x0a';}),_0x12cedf;}async[a0_0x3b5fa0(0x1eb)](_0x58d231,_0x137467={}){const _0x355f32=a0_0x3b5fa0;try{const _0xab4737=await this[_0x355f32(0x1e5)][_0x355f32(0x201)](this[_0x355f32(0x21f)],_0x58d231,{'agentId':_0x355f32(0x200),'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[_0x355f32(0x21b)],'sessionId':_0x137467['sessionId'],'apiKey':_0x137467[_0x355f32(0x224)]||this['config']['apiKey'],'customApiKeys':_0x137467['customApiKeys'],'platformProvided':!![]});if(!_0xab4737[_0x355f32(0x1e6)])throw new Error('No response content from autopilot-model-router');const _0xf61334=this[_0x355f32(0x213)](_0xab4737['content']);return _0xf61334;}catch(_0x4f1767){this['logger'][_0x355f32(0x1f2)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0x4f1767[_0x355f32(0x20a)],'routerModel':this[_0x355f32(0x21f)]});throw _0x4f1767;}}[a0_0x3b5fa0(0x213)](_0x4d2374){const _0x1145d3=a0_0x3b5fa0;try{const _0x5939a1=_0x4d2374[_0x1145d3(0x1ef)](/\{[\s\S]*\}/);if(!_0x5939a1)throw new Error(_0x1145d3(0x1d8));const _0xab14b3=JSON[_0x1145d3(0x211)](_0x5939a1[0x0]);if(!_0xab14b3['selectedModel'])throw new Error(_0x1145d3(0x1d9));return{'selectedModel':_0xab14b3[_0x1145d3(0x223)],'taskType':_0xab14b3[_0x1145d3(0x1f1)]||_0x1145d3(0x21c),'confidence':_0xab14b3['confidence']||0.5,'reasoning':_0xab14b3['reasoning']||'No\x20reasoning\x20provided','factors':_0xab14b3[_0x1145d3(0x214)]||[]};}catch(_0x22058e){return this[_0x1145d3(0x1f8)]['warn']('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x22058e[_0x1145d3(0x20a)],'content':_0x4d2374['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x1145d3(0x1e8)]};}}['_validateModelSelection'](_0x34ba3d,_0x36ae50,_0x2f2917){const _0x2406e8=a0_0x3b5fa0,{selectedModel:_0x4efb4f}=_0x34ba3d;if(!_0x4efb4f)return this['logger'][_0x2406e8(0x222)](_0x2406e8(0x20b)),_0x2f2917;if(!_0x36ae50['includes'](_0x4efb4f))return this['logger']['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x4efb4f,'availableModels':_0x36ae50}),_0x2f2917;return _0x4efb4f;}[a0_0x3b5fa0(0x21a)](){const _0x2990ed=a0_0x3b5fa0;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x2990ed(0x1fa)],'requestTimeout':this['requestTimeout'],'benchmarkServiceStatus':this['benchmarkService'][_0x2990ed(0x21a)](),'isAvailable':!![]};}async[a0_0x3b5fa0(0x207)](){const _0x4f4b5c=a0_0x3b5fa0;try{const _0x566a97={'content':'Can\x20you\x20help\x20me\x20debug\x20this\x20JavaScript\x20function?','role':_0x4f4b5c(0x1db)},_0x2ac9b2=await this[_0x4f4b5c(0x1ed)](_0x566a97,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x4f4b5c(0x20d)],MODELS[_0x4f4b5c(0x1f9)],MODELS['DEEPSEEK_R1']],{'apiKey':'test-key'});return this[_0x4f4b5c(0x1f8)]['info']('Router\x20test\x20completed',{'selectedModel':_0x2ac9b2}),{'success':!![],'selectedModel':_0x2ac9b2};}catch(_0x2a43c4){return this[_0x4f4b5c(0x1f8)][_0x4f4b5c(0x1f2)](_0x4f4b5c(0x1e9),{'error':_0x2a43c4[_0x4f4b5c(0x20a)]}),{'success':![],'error':_0x2a43c4['message']};}}}export default ModelRouterService;
@@ -1 +1 @@
1
- const a0_0x23dbe4=a0_0x7c28;function a0_0x7c28(_0x54aaa3,_0x5bd891){_0x54aaa3=_0x54aaa3-0xc1;const _0xe68542=a0_0xe685();let _0x7c28de=_0xe68542[_0x54aaa3];if(a0_0x7c28['frqibT']===undefined){var _0x137a07=function(_0x1fca43){const _0x3088eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49a822='',_0x487d29='';for(let _0x5a9f71=0x0,_0x707f21,_0x59e599,_0x209fd1=0x0;_0x59e599=_0x1fca43['charAt'](_0x209fd1++);~_0x59e599&&(_0x707f21=_0x5a9f71%0x4?_0x707f21*0x40+_0x59e599:_0x59e599,_0x5a9f71++%0x4)?_0x49a822+=String['fromCharCode'](0xff&_0x707f21>>(-0x2*_0x5a9f71&0x6)):0x0){_0x59e599=_0x3088eb['indexOf'](_0x59e599);}for(let _0x3a18d0=0x0,_0x514597=_0x49a822['length'];_0x3a18d0<_0x514597;_0x3a18d0++){_0x487d29+='%'+('00'+_0x49a822['charCodeAt'](_0x3a18d0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x487d29);};a0_0x7c28['jMYGsQ']=_0x137a07,a0_0x7c28['SUUSRj']={},a0_0x7c28['frqibT']=!![];}const _0x179dfc=_0xe68542[0x0],_0x206183=_0x54aaa3+_0x179dfc,_0x19df4d=a0_0x7c28['SUUSRj'][_0x206183];return!_0x19df4d?(_0x7c28de=a0_0x7c28['jMYGsQ'](_0x7c28de),a0_0x7c28['SUUSRj'][_0x206183]=_0x7c28de):_0x7c28de=_0x19df4d,_0x7c28de;}function a0_0xe685(){const _0x5e0fd0=['BwfW','CMvMCMvZAfDPDgHdB250zxH0','nZqZmJHnuNvcDhi','qMvHCMvYia','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','zw52','zxjYB3i','BMfTzq','z2v0tw9KzwXZ','uMvMCMvZAgLUzYbTB2rLBhmGD2L0AcbbueKGA2v5ignVBNrLEhq','zgvIDwC','BMvLzhnszwzYzxnO','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','BgfZDevYCM9Y','Dg9ju09tDhjPBMC','mtu0ndu4ENPJD0Lw','zMv0y2HnB2rLBhm','te9ysufFqvbjx0Tfwq','l2fWAs9SBg0VBw9KzwXZ','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','mJrpuMPPrgu','twf4ihjLDhj5igf0DgvTChrZihjLywnOzwqGzM9Yig1VzgvSigzLDgnO','mta3mdyWmu1nv3Ljzq','CMv0CNLbDhrLBxb0CW','x3nJAgvKDwXLuMv0CNK','yxbPs2v5twfUywDLCG','mtmWmdiZnuH5D3rgtW','Aw5MBW','y2fJAgvfEhbPCNK','mJe2oty2Eg5by05z','CMv0CNLezwXHEq','x2nHBMnLBfjLDhj5','BwvZC2fNzq','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','AxnmB2fKAw5N','Bw9KzwXZ','ANnVBG','mNb0DvjKBa','y29UzMLN','C2vZC2LVBKLK','Bwf4uMv0CMLLCW','mJqXodbwyLzItwe','CMv0CNLuAw1LCG','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','C3rHDhvZvgv4Da','yxbPs2v5','r0vu','Aw5PDgLHBgL6zq','Bg9Nz2vY','BM93','BgvUz3rO','nteWmuXXrMHpyW','yMfJA2vUzfvYBa','z2v0u3rHDhvZ','BgfZDezLDgnOzwq','yxbWBgLJyxrPB24VANnVBG'];a0_0xe685=function(){return _0x5e0fd0;};return a0_0xe685();}(function(_0x4bf191,_0x406520){const _0x1e44e0=a0_0x7c28,_0x5c0744=_0x4bf191();while(!![]){try{const _0x3b196f=parseInt(_0x1e44e0(0xe0))/0x1*(-parseInt(_0x1e44e0(0xd2))/0x2)+parseInt(_0x1e44e0(0xca))/0x3+parseInt(_0x1e44e0(0xd6))/0x4+parseInt(_0x1e44e0(0xc7))/0x5+parseInt(_0x1e44e0(0xe7))/0x6+-parseInt(_0x1e44e0(0xc3))/0x7+-parseInt(_0x1e44e0(0xc1))/0x8*(parseInt(_0x1e44e0(0xf4))/0x9);if(_0x3b196f===_0x406520)break;else _0x5c0744['push'](_0x5c0744['shift']());}catch(_0x50beda){_0x5c0744['push'](_0x5c0744['shift']());}}}(a0_0xe685,0x227d8));class ModelsService{constructor(_0x49a822,_0x487d29){const _0x8bd734=a0_0x7c28;this[_0x8bd734(0xd3)]=_0x49a822,this[_0x8bd734(0xdd)]=_0x487d29,this[_0x8bd734(0xd0)]=null,this[_0x8bd734(0xe3)]=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x8bd734(0xe1)]=_0x49a822[_0x8bd734(0xe1)]||'http://localhost:8080',this['retryAttempts']=0x0,this[_0x8bd734(0xd5)]=0x3,this[_0x8bd734(0xcb)]=0x7d0,this['retryTimer']=null,this[_0x8bd734(0xf2)]=null,this[_0x8bd734(0xc6)]=null;}['setApiKeyManager'](_0x5a9f71){const _0x59c6be=a0_0x7c28;this['apiKeyManager']=_0x5a9f71,this['logger']?.['info'](_0x59c6be(0xf1),{'hasManager':!!_0x5a9f71});}async[a0_0x23dbe4(0xdc)](){const _0x1efd32=a0_0x23dbe4;try{await this['fetchModels'](),this['logger'][_0x1efd32(0xc8)](_0x1efd32(0xf8),{'modelCount':this['models']?.[_0x1efd32(0xdf)]||0x0});}catch(_0x707f21){this['lastError']=_0x707f21[_0x1efd32(0xcd)],this['logger']['error']('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x707f21[_0x1efd32(0xcd)],'endpoint':this[_0x1efd32(0xe1)]+_0x1efd32(0xf7),'willRetry':!![]}),this['_scheduleRetry']();}}['getAvailableModelNames'](){const _0x56a9aa=a0_0x23dbe4;if(!this['models']||this['models']['length']===0x0)return this['logger'][_0x56a9aa(0xeb)](_0x56a9aa(0xd8),{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0x56a9aa(0xf7),'retryAttempt':this[_0x56a9aa(0xc4)],'maxRetries':this['maxRetries']}),[];return this[_0x56a9aa(0xd0)][_0x56a9aa(0xe5)](_0x59e599=>_0x59e599[_0x56a9aa(0xec)]);}[a0_0x23dbe4(0xed)](){const _0x4ddd79=a0_0x23dbe4;if(!this['models']||this['models']['length']===0x0)return this['logger']['error'](_0x4ddd79(0xd8),{'lastError':this[_0x4ddd79(0xf2)],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this[_0x4ddd79(0xd0)];}async['fetchModels'](_0x209fd1=null){const _0x13a90f=a0_0x23dbe4;if(this[_0x13a90f(0xcf)]){this['logger']['debug'](_0x13a90f(0xe9));return;}this['isLoading']=!![];try{const _0x3a18d0=this[_0x13a90f(0xe1)]+'/api/llm/models';let _0x514597=null;if(this['apiKeyManager']&&_0x209fd1&&_0x209fd1['sessionId']){const _0x253a3a=this['apiKeyManager']['getKeysForRequest'](_0x209fd1['sessionId'],{'platformProvided':!![],'vendor':null});_0x514597=_0x253a3a['loxiaApiKey'],this[_0x13a90f(0xdd)]?.[_0x13a90f(0xc8)]('Retrieved API key from session manager for models fetch',{'sessionId':_0x209fd1[_0x13a90f(0xd4)],'hasLoxiaKey':!!_0x514597});}if(!_0x514597&&_0x209fd1&&_0x209fd1[_0x13a90f(0xda)])_0x514597=_0x209fd1[_0x13a90f(0xda)];else{if(!_0x514597&&this[_0x13a90f(0xd3)][_0x13a90f(0xda)])_0x514597=this[_0x13a90f(0xd3)]['apiKey'];else!_0x514597&&process[_0x13a90f(0xea)][_0x13a90f(0xf6)]&&(_0x514597=process['env'][_0x13a90f(0xf6)]);}const _0xe5b206={'method':_0x13a90f(0xdb),'headers':{'Content-Type':_0x13a90f(0xe4),..._0x514597&&{'Authorization':_0x13a90f(0xe8)+_0x514597}},'timeout':0x2710};this[_0x13a90f(0xdd)]['debug']('Fetching models from backend',{'url':_0x3a18d0,'hasApiKey':!!_0x514597,'apiKeySource':_0x209fd1?.['apiKey']?'context':this[_0x13a90f(0xd3)][_0x13a90f(0xda)]?_0x13a90f(0xd3):process[_0x13a90f(0xea)][_0x13a90f(0xf6)]?_0x13a90f(0xea):'none'});const _0x16683b=await fetch(_0x3a18d0,_0xe5b206);if(!_0x16683b['ok'])throw new Error('HTTP\x20'+_0x16683b['status']+':\x20'+_0x16683b[_0x13a90f(0xd9)]);const _0x15c79f=await _0x16683b[_0x13a90f(0xd1)]();if(_0x15c79f['models']&&Array['isArray'](_0x15c79f['models']))this['models']=_0x15c79f['models'],this['lastFetched']=new Date(),this[_0x13a90f(0xf0)]=![],this[_0x13a90f(0xdd)][_0x13a90f(0xc8)]('Models fetched from backend',{'modelCount':this[_0x13a90f(0xd0)]['length'],'models':this['models']['map'](_0x2d13c5=>_0x2d13c5['name'])});else throw new Error('Invalid response format from models API');}catch(_0x2f61b9){this['lastError']=_0x2f61b9[_0x13a90f(0xcd)],this['logger'][_0x13a90f(0xeb)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x2f61b9['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),this[_0x13a90f(0xc5)](_0x209fd1);if(!this[_0x13a90f(0xd0)])throw _0x2f61b9;}finally{this[_0x13a90f(0xcf)]=![];}}[a0_0x23dbe4(0xf0)](){const _0x1e5e5a=a0_0x23dbe4;if(!this['lastFetched'])return!![];const _0x43eca7=Date[_0x1e5e5a(0xde)]()-this['lastFetched']['getTime']();return _0x43eca7>this[_0x1e5e5a(0xc9)];}async['refresh'](_0x54c7d7=null){const _0x4b014a=a0_0x23dbe4;this['logger'][_0x4b014a(0xc8)]('Force\x20refreshing\x20models'),await this[_0x4b014a(0xf5)](_0x54c7d7);}async[a0_0x23dbe4(0xe6)](_0x3916d7){const _0xc9c5f0=a0_0x23dbe4;(this[_0xc9c5f0(0xf0)]||!this[_0xc9c5f0(0xe3)])&&(this['logger'][_0xc9c5f0(0xef)](_0xc9c5f0(0xee)),await this['fetchModels'](_0x3916d7));}[a0_0x23dbe4(0xc5)](_0x161979=null){const _0x5d801f=a0_0x23dbe4;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this[_0x5d801f(0xc4)]>=this[_0x5d801f(0xd5)]){this['logger'][_0x5d801f(0xeb)](_0x5d801f(0xc2),{'attempts':this[_0x5d801f(0xc4)],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x2e75eb=this[_0x5d801f(0xcb)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this['logger']['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x5d801f(0xc4)],'maxRetries':this['maxRetries'],'delayMs':_0x2e75eb}),this['retryTimer']=setTimeout(async()=>{const _0x14c8d4=_0x5d801f;this[_0x14c8d4(0xdd)][_0x14c8d4(0xc8)](_0x14c8d4(0xce),{'attempt':this[_0x14c8d4(0xc4)]});try{await this[_0x14c8d4(0xf5)](_0x161979),this['retryAttempts']=0x0,this[_0x14c8d4(0xf2)]=null;}catch(_0xdc436){this[_0x14c8d4(0xdd)]['warn']('Retry\x20attempt\x20failed',{'attempt':this[_0x14c8d4(0xc4)],'error':_0xdc436[_0x14c8d4(0xcd)]});}},_0x2e75eb);}[a0_0x23dbe4(0xcc)](){const _0xab1c74=a0_0x23dbe4;this[_0xab1c74(0xd7)]&&(clearTimeout(this['retryTimer']),this[_0xab1c74(0xd7)]=null,this[_0xab1c74(0xdd)]['debug']('Cancelled\x20pending\x20model\x20fetch\x20retry'));}[a0_0x23dbe4(0xe2)](){const _0x549c06=a0_0x23dbe4;return{'initialized':!!this['models'],'lastFetched':this[_0x549c06(0xe3)]?.[_0x549c06(0xf3)]()||null,'modelCount':this[_0x549c06(0xd0)]?.['length']||0x0,'isLoading':this[_0x549c06(0xcf)],'needsRefresh':this[_0x549c06(0xf0)](),'error':this[_0x549c06(0xf2)]||null,'retryAttempts':this[_0x549c06(0xc4)],'maxRetries':this[_0x549c06(0xd5)],'hasError':!!this[_0x549c06(0xf2)]};}}export default ModelsService;
1
+ const a0_0x374c59=a0_0x1964;function a0_0x47c5(){const _0x2543ad=['Bw9KzwXZ','mZK5mgzUzMHHCa','BM93','yxbWBgLJyxrPB24VANnVBG','mtG0mK1MAxPryG','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','zw52','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','qvbjigTLEsbTyw5Hz2vYihnLDcbMB3iGBw9KzwXZihnLCNzPy2u','Cg93','te9ysufFqvbjx0Tfwq','C3rHDhvZ','AxnmB2fKAw5N','y29UzMLN','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','x3nJAgvKDwXLuMv0CNK','zxjYB3i','uMv0CNKGyxr0zw1WDcbMywLSzwq','CMv0CNLbDhrLBxb0CW','y2fJAgvfEhbPCNK','mta0mJG3D2HrAvvA','yMfJA2vUzfvYBa','Bwf4uMv0CMLLCW','zMv0y2HnB2rLBhm','z2v0s2v5C0zVCLjLCxvLC3q','CMv0CNLezwXHEq','Aw5PDgLHBgL6zq','CMvMCMvZAfDPDgHdB250zxH0','BgfZDezLDgnOzwq','zgvIDwC','yxbPs2v5twfUywDLCG','z2v0tw9KzwXZ','yxbPs2v5','rMfPBgvKihrVigLUAxrPywXPEMuGBw9KzwXZihnLCNzPy2uGlsbotYbgquXmqKfdsYbbvKfjtefcteu','Aw5MBW','sfruuca','ntqYotiYBu1HyxHv','mtHhqxrACeC','BwfW','ANnVBG','z2v0vgLTzq','CMv0CNLuAw1LCG','ng90wNjgAW','ntKZmZKYwhPmtwHM','BwvZC2fNzq','C3rHDhvZvgv4Da','BgvUz3rO','nZy5nda0C3zjCKDP','BgfZDevYCM9Y','mtaXnJu0mtb1q0fLtgi','AxnbCNjHEq','l2fWAs9SBg0VBw9KzwXZ','x2nHBMnLBfjLDhj5','Bg94AwfbCgLlzxK','Bg9Nz2vY','mJa3nJi0mgLMA1HzDG'];a0_0x47c5=function(){return _0x2543ad;};return a0_0x47c5();}(function(_0x384564,_0x71bf49){const _0x100c99=a0_0x1964,_0x55fff1=_0x384564();while(!![]){try{const _0x3c5c5b=-parseInt(_0x100c99(0x1a5))/0x1+parseInt(_0x100c99(0x188))/0x2+-parseInt(_0x100c99(0x1b5))/0x3+parseInt(_0x100c99(0x1bb))/0x4*(-parseInt(_0x100c99(0x190))/0x5)+parseInt(_0x100c99(0x195))/0x6*(-parseInt(_0x100c99(0x192))/0x7)+-parseInt(_0x100c99(0x1bc))/0x8*(parseInt(_0x100c99(0x1b6))/0x9)+parseInt(_0x100c99(0x18a))/0xa;if(_0x3c5c5b===_0x71bf49)break;else _0x55fff1['push'](_0x55fff1['shift']());}catch(_0x40d8fe){_0x55fff1['push'](_0x55fff1['shift']());}}}(a0_0x47c5,0x5c234));class ModelsService{constructor(_0x507fc5,_0x5c5ebd){const _0x6ac17f=a0_0x1964;this['config']=_0x507fc5,this[_0x6ac17f(0x18f)]=_0x5c5ebd,this[_0x6ac17f(0x191)]=null,this[_0x6ac17f(0x1ad)]=null,this['isLoading']=![],this[_0x6ac17f(0x1a4)]=0x5*0x3c*0x3e8,this['backendUrl']=_0x507fc5['backendUrl']||'http://localhost:8080',this['retryAttempts']=0x0,this[_0x6ac17f(0x1a7)]=0x3,this[_0x6ac17f(0x1aa)]=0x7d0,this['retryTimer']=null,this['lastError']=null,this[_0x6ac17f(0x1af)]=null;}['setApiKeyManager'](_0x39c4e7){const _0x3b41e2=a0_0x1964;this['apiKeyManager']=_0x39c4e7,this['logger']?.[_0x3b41e2(0x1b3)](_0x3b41e2(0x199),{'hasManager':!!_0x39c4e7});}async[a0_0x374c59(0x1ab)](){const _0x519aa4=a0_0x374c59;try{await this['fetchModels'](),this[_0x519aa4(0x18f)][_0x519aa4(0x1b3)](_0x519aa4(0x198),{'modelCount':this['models']?.['length']||0x0});}catch(_0x5c3434){this['lastError']=_0x5c3434['message'],this[_0x519aa4(0x18f)][_0x519aa4(0x1a1)](_0x519aa4(0x1b2),{'error':_0x5c3434[_0x519aa4(0x1bd)],'endpoint':this[_0x519aa4(0x1a6)]+_0x519aa4(0x18c),'willRetry':!![]}),this['_scheduleRetry']();}}[a0_0x374c59(0x19f)](){const _0x388727=a0_0x374c59;if(!this[_0x388727(0x191)]||this['models'][_0x388727(0x187)]===0x0)return this['logger'][_0x388727(0x1a1)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x388727(0x189)],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this[_0x388727(0x1a3)],'maxRetries':this[_0x388727(0x1a7)]}),[];return this['models'][_0x388727(0x1b7)](_0x41db4d=>_0x41db4d['name']);}[a0_0x374c59(0x1b0)](){const _0x19078a=a0_0x374c59;if(!this[_0x19078a(0x191)]||this[_0x19078a(0x191)]['length']===0x0)return this['logger'][_0x19078a(0x1a1)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+_0x19078a(0x18c)}),[];return this[_0x19078a(0x191)];}async['fetchModels'](_0x471e02=null){const _0x206bff=a0_0x374c59;if(this['isLoading']){this[_0x206bff(0x18f)][_0x206bff(0x1ae)]('Models\x20fetch\x20already\x20in\x20progress');return;}this[_0x206bff(0x19d)]=!![];try{const _0x3f65b6=this[_0x206bff(0x1a6)]+_0x206bff(0x18c);let _0x47a186=null;if(this['apiKeyManager']&&_0x471e02&&_0x471e02['sessionId']){const _0xaedb87=this['apiKeyManager'][_0x206bff(0x1a9)](_0x471e02['sessionId'],{'platformProvided':!![],'vendor':null});_0x47a186=_0xaedb87[_0x206bff(0x18e)],this['logger']?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x471e02['sessionId'],'hasLoxiaKey':!!_0x47a186});}if(!_0x47a186&&_0x471e02&&_0x471e02['apiKey'])_0x47a186=_0x471e02[_0x206bff(0x1b1)];else{if(!_0x47a186&&this['config'][_0x206bff(0x1b1)])_0x47a186=this['config']['apiKey'];else!_0x47a186&&process['env'][_0x206bff(0x19b)]&&(_0x47a186=process['env'][_0x206bff(0x19b)]);}const _0x3f1204={'method':'GET','headers':{'Content-Type':_0x206bff(0x194),..._0x47a186&&{'Authorization':'Bearer\x20'+_0x47a186}},'timeout':0x2710};this['logger']['debug']('Fetching models from backend',{'url':_0x3f65b6,'hasApiKey':!!_0x47a186,'apiKeySource':_0x471e02?.['apiKey']?'context':this[_0x206bff(0x19e)][_0x206bff(0x1b1)]?_0x206bff(0x19e):process[_0x206bff(0x197)][_0x206bff(0x19b)]?_0x206bff(0x197):'none'});const _0x1446bb=await fetch(_0x3f65b6,_0x3f1204);if(!_0x1446bb['ok'])throw new Error(_0x206bff(0x1b4)+_0x1446bb[_0x206bff(0x19c)]+':\x20'+_0x1446bb[_0x206bff(0x1be)]);const _0x1fccbb=await _0x1446bb[_0x206bff(0x1b8)]();if(_0x1fccbb[_0x206bff(0x191)]&&Array[_0x206bff(0x18b)](_0x1fccbb[_0x206bff(0x191)]))this[_0x206bff(0x191)]=_0x1fccbb[_0x206bff(0x191)],this['lastFetched']=new Date(),this['needsRefresh']=![],this[_0x206bff(0x18f)][_0x206bff(0x1b3)]('Models fetched from backend',{'modelCount':this[_0x206bff(0x191)]['length'],'models':this['models'][_0x206bff(0x1b7)](_0x234597=>_0x234597['name'])});else throw new Error('Invalid response format from models API');}catch(_0x1e9671){this[_0x206bff(0x189)]=_0x1e9671['message'],this[_0x206bff(0x18f)][_0x206bff(0x1a1)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x1e9671['message'],'endpoint':url,'retryAttempt':this['retryAttempts'],'maxRetries':this[_0x206bff(0x1a7)]}),this['_scheduleRetry'](_0x471e02);if(!this[_0x206bff(0x191)])throw _0x1e9671;}finally{this['isLoading']=![];}}['needsRefresh'](){const _0x2f12f7=a0_0x374c59;if(!this['lastFetched'])return!![];const _0x3631a3=Date[_0x2f12f7(0x193)]()-this['lastFetched'][_0x2f12f7(0x1b9)]();return _0x3631a3>this['cacheExpiry'];}async['refresh'](_0x1e9b17=null){const _0x586667=a0_0x374c59;this['logger'][_0x586667(0x1b3)]('Force\x20refreshing\x20models'),await this[_0x586667(0x1a8)](_0x1e9b17);}async[a0_0x374c59(0x1ac)](_0x3b91cd){const _0x2d48ee=a0_0x374c59;(this['needsRefresh']||!this['lastFetched'])&&(this['logger']['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x2d48ee(0x1a8)](_0x3b91cd));}[a0_0x374c59(0x1a0)](_0x2595aa=null){const _0x248c54=a0_0x374c59;this[_0x248c54(0x1ba)]&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this[_0x248c54(0x1a3)]>=this[_0x248c54(0x1a7)]){this[_0x248c54(0x18f)]['error']('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this['lastError']});return;}const _0x20d514=this['retryDelay']*Math[_0x248c54(0x19a)](0x2,this[_0x248c54(0x1a3)]);this['retryAttempts']++,this[_0x248c54(0x18f)]['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this[_0x248c54(0x1a3)],'maxRetries':this[_0x248c54(0x1a7)],'delayMs':_0x20d514}),this['retryTimer']=setTimeout(async()=>{const _0x991111=_0x248c54;this['logger']['info'](_0x991111(0x196),{'attempt':this['retryAttempts']});try{await this[_0x991111(0x1a8)](_0x2595aa),this['retryAttempts']=0x0,this['lastError']=null;}catch(_0x2d1bc7){this['logger']['warn'](_0x991111(0x1a2),{'attempt':this['retryAttempts'],'error':_0x2d1bc7[_0x991111(0x1bd)]});}},_0x20d514);}[a0_0x374c59(0x18d)](){const _0x4a1413=a0_0x374c59;this[_0x4a1413(0x1ba)]&&(clearTimeout(this['retryTimer']),this[_0x4a1413(0x1ba)]=null,this['logger'][_0x4a1413(0x1ae)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}['getStatus'](){const _0x104f91=a0_0x374c59;return{'initialized':!!this[_0x104f91(0x191)],'lastFetched':this[_0x104f91(0x1ad)]?.['toISOString']()||null,'modelCount':this['models']?.['length']||0x0,'isLoading':this['isLoading'],'needsRefresh':this['needsRefresh'](),'error':this['lastError']||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this[_0x104f91(0x189)]};}}function a0_0x1964(_0x23d366,_0x149d3b){_0x23d366=_0x23d366-0x187;const _0x47c55e=a0_0x47c5();let _0x1964d3=_0x47c55e[_0x23d366];if(a0_0x1964['OVUaxP']===undefined){var _0x1ee1a8=function(_0x231ffd){const _0x4e0bf4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x507fc5='',_0x5c5ebd='';for(let _0x39c4e7=0x0,_0x5c3434,_0x41db4d,_0x471e02=0x0;_0x41db4d=_0x231ffd['charAt'](_0x471e02++);~_0x41db4d&&(_0x5c3434=_0x39c4e7%0x4?_0x5c3434*0x40+_0x41db4d:_0x41db4d,_0x39c4e7++%0x4)?_0x507fc5+=String['fromCharCode'](0xff&_0x5c3434>>(-0x2*_0x39c4e7&0x6)):0x0){_0x41db4d=_0x4e0bf4['indexOf'](_0x41db4d);}for(let _0x3f65b6=0x0,_0x47a186=_0x507fc5['length'];_0x3f65b6<_0x47a186;_0x3f65b6++){_0x5c5ebd+='%'+('00'+_0x507fc5['charCodeAt'](_0x3f65b6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c5ebd);};a0_0x1964['VQSefS']=_0x1ee1a8,a0_0x1964['aCKPEB']={},a0_0x1964['OVUaxP']=!![];}const _0x2470e8=_0x47c55e[0x0],_0x414b5c=_0x23d366+_0x2470e8,_0x14eb79=a0_0x1964['aCKPEB'][_0x414b5c];return!_0x14eb79?(_0x1964d3=a0_0x1964['VQSefS'](_0x1964d3),a0_0x1964['aCKPEB'][_0x414b5c]=_0x1964d3):_0x1964d3=_0x14eb79,_0x1964d3;}export default ModelsService;
@@ -1 +1 @@
1
- const a0_0x24c08f=a0_0x5e8f;function a0_0x2546(){const _0x1265c5=['C2vUze1LC3nHz2u','mZi2ntCYmJLPtwXvEMC','Aw5JBhvKzxm','Dg90ywXnzxnZywDLCW','BwvKAxvT','nZe1mdaWEMvkuNnP','AgLNAf9LCNjVCL9YyxrL','zxzLCNK','ww91CIbYzxnWB25Zzsb0Aw1LigLZihnSB3DLCIb0AgfUihvZDwfSlIbdB25ZAwrLCIbICMvHA2LUzYbKB3DUignVBxbSzxGGDgfZA3mGAw50BYbZBwfSBgvYihn0zxbZlG','Aw5MAw5PDgvFD2fPDgLUzW','C3vJy2vZC2z1BeLUDgvYDMvUDgLVBNm','ugvYzM9YBwfUy2uGB3b0Aw1PEMf0Aw9Uihn1z2DLC3rLzc4GugXLyxnLihjLDMLLDYb5B3vYign1CNjLBNqGyxbWCM9Hy2GU','zxjYB3jFBg9VChm','zgv0zwn0rxjYB3jqyxr0zxjU','qwDLBNqGyxbWzwfYCYb0BYbIzsb3ywL0Aw5NigLUzgvMAw5PDgvSEq','ofLfBwTAvW','Bwv0CMLJCW','y2HLy2TjBNrLCNzHBa','z2vUzxjHDgvpChrPBwL6yxrPB25tDwDNzxn0Aw9U','sw50zxj2zw50Aw9UigzHAwXLza','Cgf0DgvYBLr5Cgu','zgvIDwC','CgvYzM9YBwfUy2vnzxrYAwnZ','mZaYnJbiD2fkthG','BwvZC2fNzunVDw50','C2XPy2u','Aw50zxj2zw50Aw9UqNjLywTfCNjVCKXVB3a','qwDLBNqGAxmGzxHWzxjPzw5JAw5NihjLy3vYCMLUzYa','y2XLyw51Ce9SzerHDge','BgvUz3rO','ywDLBNrZtw9UAxrVCMvK','DxbKyxrLugvYzM9YBwfUy2vnzxrYAwnZ','C3r1y2TdB3vUDa','ywn0AxzPDhLiAxn0B3j5','rMfPBgvKihrVihjLy29YzcbHy3rPDML0Eq','Cgf0DgvYBNnezxrLy3rLza','yNjLywTFzxjYB3jFBg9VCa','igvYCM9YCYbKzxrLy3rLzcaO','y2HLy2Tbz2vUDff1ywXPDhK','AgfUzgXLugvYzM9YBwfUy2vjC3n1zq','DgLTzxn0yw1W','ywrK','uxvHBgL0EsbJAgvJAYbMywLSzwq','rMfPBgvKihrVigHHBMrSzsbZDhvJAYbHz2vUDa','mtm3mtK4qNz6yxH1','D2fYBG','ndm1nJmWmen1tfj2Bq','Dg90ywXjBNrLCNzLBNrPB25Z','BgfZDefJDgL2Axr5','y291BNq','DhLWzq','u1Ltvevn','Cgf1C2vFzM9Yx3jLC291CMnLCW','ngrJBM9uyW','z2vUzxjPy19NDwLKyw5Jzq','uxvHBgL0EsbjBNnWzwn0B3iGAxmGywXYzwfKEsbYDw5UAw5N','mtHRr3jOs1i','uMvJDxjYAw5Nia','CMvJB3jKqwn0AxzPDhK','BwvZC2fNzq','zgv0zwn0ugvYzM9YBwfUy2vjC3n1zq','rMfPBgvKihrVigHHBMrSzsbWzxjMB3jTyw5JzsbPC3n1zq','Bw9UAxrVCMLUz0rHDge','C2v0','Cgf0DgvYBNm','CMvZB3vYy2vFzxHOyxvZDgLVBG','y29UDgvUDa','Aw5MBW','y2HLy2S','CMvWzxrPDgL2zv9JB21Tyw5KCW','y2HLy2TszxnVDxjJzuv4Agf1C3rPB24','CMvHC29U','BM93','Aw50zxj2zw50Aw9UsgLZDg9YEq','z2vUzxjHDgvfCNjVCKD1AwrHBMnL','C2v2zxjPDhK','q0Hfq0TFsu5urvjwquXFtuvtu0fhrvm','C2vUzfn5C3rLBu1LC3nHz2u','qwDLBNqGCMvJB3zLCMvK','CgvYzM9YBvf1ywXPDhLdAgvJAW','z2v0','ntm1mJuWnwHJy0voCq','AgLNAa','zgv0zwn0ugf0DgvYBNm','Aw50zxj2zw50Aw9UsgfUzgXLuMvZB3vYy2vfEgHHDxn0Aw9U','CMvZCg9UC2vuAw1L','mZu4mLPktfrZzW','Aw50zxj2zw50Aw9UqNjLywTxywL0','su5urvjwru5usu9ox1riuKvtse9mra','D2fPDgLUzW','yNjLywTFCMvWzxrPDgLVBG','Dw5RBM93BG','zxjYB3jsyxrL','Cgf1C2vbz2vUDa','ugvYzM9YBwfUy2uGAxnZDwuGzgv0zwn0zwq','zMLSDgvY','DgHYzxnOB2XK','zxjYB3juExbL','ywn0Aw9U','B3jJAgvZDhjHDg9Y','yxzLCMfNzvjLC3bVBNnLvgLTzq','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqGCMvWzxrPDgL2zsbIzwHHDMLVCI4GugXLyxnLihrYEsbHigrPzMzLCMvUDcbHChbYB2fJAcbVCIbHC2SGzM9YigHLBhaGAwyGEw91igfYzsbZDhvJAY4','nJu2ntiYm2HdtKfbwa','qwDLBNqGAxmGCMvWzwf0Aw5NihrOzsbZyw1LignVBw1HBMrZ','uMvZB3vYy2uGzxHOyxvZDgLVBIbKzxrLy3rLza','zxjYB3i','CMvJDxjYAw5Nx2vYCM9Y','y29UzMLN','AxnsDw5UAw5N','AgfZ','zxjYB3jZ','ww91igfYzsbLEhbLCMLLBMnPBMCGzNjLCxvLBNqGzxjYB3jZlIbqBgvHC2uGCMv2Awv3ihLVDxiGyxbWCM9Hy2GGyw5KihzLCMLMEsbPBNb1DhmGyMvMB3jLihbYB2nLzwrPBMCU','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqG','sw50zxj2zw50Aw9Uihn1y2nLC3nMDwW','C2L6zq','y2HLy2TszxbLDgL0AxzLq29TBwfUzhm','yNjLywTFD2fPDa','C3vJy2vZCW','q09pterpv05Fuevssu9e','CgvYzM9YBuLUDgvYDMvUDgLVBG','u1rvq0TFuefuvevstLm'];a0_0x2546=function(){return _0x1265c5;};return a0_0x2546();}(function(_0x444c2a,_0x4086fb){const _0x48ec49=a0_0x5e8f,_0xe617c1=_0x444c2a();while(!![]){try{const _0x16fe83=-parseInt(_0x48ec49(0x10e))/0x1+parseInt(_0x48ec49(0x135))/0x2*(parseInt(_0x48ec49(0xc8))/0x3)+-parseInt(_0x48ec49(0xc5))/0x4*(parseInt(_0x48ec49(0xe1))/0x5)+-parseInt(_0x48ec49(0x137))/0x6+-parseInt(_0x48ec49(0xf6))/0x7*(-parseInt(_0x48ec49(0x118))/0x8)+parseInt(_0x48ec49(0xe6))/0x9*(-parseInt(_0x48ec49(0x120))/0xa)+parseInt(_0x48ec49(0x10a))/0xb;if(_0x16fe83===_0x4086fb)break;else _0xe617c1['push'](_0xe617c1['shift']());}catch(_0x19441d){_0xe617c1['push'](_0xe617c1['shift']());}}}(a0_0x2546,0x93137));import{QUALITY_INSPECTOR_CONFIG,AGENT_STATUS,MESSAGE_ROLES}from'../utilities/constants.js';function a0_0x5e8f(_0x13507f,_0x4e6f6d){_0x13507f=_0x13507f-0xc0;const _0x2546ad=a0_0x2546();let _0x5e8f3c=_0x2546ad[_0x13507f];if(a0_0x5e8f['qRvLFb']===undefined){var _0x4c0e7b=function(_0x1b3f17){const _0x23c1ba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32edc3='',_0x56c293='';for(let _0x244be4=0x0,_0x40b88f,_0x4587e4,_0x13c38b=0x0;_0x4587e4=_0x1b3f17['charAt'](_0x13c38b++);~_0x4587e4&&(_0x40b88f=_0x244be4%0x4?_0x40b88f*0x40+_0x4587e4:_0x4587e4,_0x244be4++%0x4)?_0x32edc3+=String['fromCharCode'](0xff&_0x40b88f>>(-0x2*_0x244be4&0x6)):0x0){_0x4587e4=_0x23c1ba['indexOf'](_0x4587e4);}for(let _0x172607=0x0,_0x3b566b=_0x32edc3['length'];_0x172607<_0x3b566b;_0x172607++){_0x56c293+='%'+('00'+_0x32edc3['charCodeAt'](_0x172607)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56c293);};a0_0x5e8f['QWcHeQ']=_0x4c0e7b,a0_0x5e8f['slhdaK']={},a0_0x5e8f['qRvLFb']=!![];}const _0x396d92=_0x2546ad[0x0],_0x3a7838=_0x13507f+_0x396d92,_0x4a075d=a0_0x5e8f['slhdaK'][_0x3a7838];return!_0x4a075d?(_0x5e8f3c=a0_0x5e8f['QWcHeQ'](_0x5e8f3c),a0_0x5e8f['slhdaK'][_0x3a7838]=_0x5e8f3c):_0x5e8f3c=_0x4a075d,_0x5e8f3c;}import{logger}from'../utilities/logger.js';export class QualityInspector{constructor(_0x32edc3){const _0x3733a1=a0_0x5e8f;this[_0x3733a1(0xf3)]=_0x32edc3,this[_0x3733a1(0xfb)]=QUALITY_INSPECTOR_CONFIG,this['monitoringData']=new Map(),this[_0x3733a1(0xd9)]=new Map(),this['isRunning']=![],this[_0x3733a1(0x11a)]=null,this[_0x3733a1(0xd0)]={'repetitiveCommands':new PatternDetector(_0x3733a1(0xd5),0x5,0x493e0),'infiniteWaiting':new PatternDetector('infinite_waiting',0x3,0x927c0),'errorLoops':new PatternDetector('error_loops',0x4,0x2bf20),'resourceExhaustion':new PatternDetector('resource_exhaustion',0x2,0x1d4c0)},this[_0x3733a1(0x119)]={'totalInterventions':0x0,'successfulInterventions':0x0,'falsePositives':0x0,'agentsMonitored':new Set(),'patternsDetected':new Map()};}['start'](){const _0xbc1ea9=a0_0x5e8f;if(this['isRunning']){logger[_0xbc1ea9(0x136)](_0xbc1ea9(0xc7));return;}this['isRunning']=!![],this['checkInterval']=setInterval(()=>{const _0x4789bd=_0xbc1ea9;this[_0x4789bd(0xdf)]();},this['config'][_0xbc1ea9(0xdc)]*0x3e8),logger[_0xbc1ea9(0xd3)]('Quality\x20Inspector\x20started',{'checkInterval':this['config']['CHECK_INTERVAL_MESSAGES'],'stuckPatterns':this['config'][_0xbc1ea9(0x108)],'interventionThreshold':this[_0xbc1ea9(0xfb)]['INTERVENTION_THRESHOLD']});}['stop'](){const _0x29dfbc=a0_0x5e8f;if(!this[_0x29dfbc(0xfc)])return;this['isRunning']=![],this[_0x29dfbc(0x11a)]&&(clearInterval(this[_0x29dfbc(0x11a)]),this['checkInterval']=null),logger['info']('Quality\x20Inspector\x20stopped',{'totalInterventions':this[_0x29dfbc(0x119)]['totalInterventions'],'successfulInterventions':this['metrics']['successfulInterventions'],'agentsMonitored':this[_0x29dfbc(0x119)]['agentsMonitored'][_0x29dfbc(0x102)]});}[a0_0x24c08f(0xca)](_0x56c293,_0x244be4){const _0x4ea698=a0_0x24c08f;if(!this['isRunning'])return;try{!this['monitoringData']['has'](_0x56c293)&&(this['monitoringData']['set'](_0x56c293,{'activityHistory':[],'messageCount':0x0,'lastActivity':Date[_0x4ea698(0xd8)](),'currentPattern':null,'stuckCount':0x0,'errors':[],'performanceMetrics':{'averageResponseTime':0x0,'totalMessages':0x0,'errorRate':0x0}}),this['metrics'][_0x4ea698(0x127)][_0x4ea698(0x132)](_0x56c293));const _0x40b88f=this['monitoringData']['get'](_0x56c293);_0x40b88f['activityHistory']['push']({..._0x244be4,'timestamp':Date[_0x4ea698(0xd8)]()}),_0x40b88f['activityHistory'][_0x4ea698(0x126)]>0x64&&(_0x40b88f['activityHistory']=_0x40b88f[_0x4ea698(0x12a)][_0x4ea698(0x122)](-0x64)),_0x40b88f[_0x4ea698(0xc0)]=Date['now'](),_0x40b88f[_0x4ea698(0x121)]++,this[_0x4ea698(0x128)](_0x56c293,_0x244be4),this[_0x4ea698(0xe3)](_0x56c293,_0x244be4),logger[_0x4ea698(0x11e)]('Activity\x20recorded',{'agentId':_0x56c293,'activityType':_0x244be4[_0x4ea698(0xc2)],'messageCount':_0x40b88f[_0x4ea698(0x121)]});}catch(_0x4587e4){logger[_0x4ea698(0xf9)](_0x4ea698(0x12b),{'error':_0x4587e4['message'],'agentId':_0x56c293});}}async[a0_0x24c08f(0xdf)](){const _0x4f00d5=a0_0x24c08f;try{logger[_0x4f00d5(0x11e)]('Performing\x20quality\x20check',{'agentsMonitored':this['metrics']['agentsMonitored'][_0x4f00d5(0x102)]});for(const [_0x13c38b,_0x172607]of this['monitoringData']){await this['checkAgentQuality'](_0x13c38b,_0x172607);}this[_0x4f00d5(0x125)]();}catch(_0x3b566b){logger[_0x4f00d5(0xf9)](_0x4f00d5(0x133),{'error':_0x3b566b[_0x4f00d5(0xcb)]});}}async[a0_0x24c08f(0x12f)](_0x24d3dc,_0x5b485f){const _0x4c0015=a0_0x24c08f;try{const _0x1d739a=this['detectStuckPattern'](_0x24d3dc,_0x5b485f);if(_0x1d739a){await this['handleStuckAgent'](_0x24d3dc,_0x1d739a);return;}const _0xa8030e=this[_0x4c0015(0xcc)](_0x24d3dc,_0x5b485f);if(_0xa8030e){await this[_0x4c0015(0x130)](_0x24d3dc,_0xa8030e);return;}const _0x389822=this['detectErrorPattern'](_0x24d3dc,_0x5b485f);if(_0x389822){await this['handleErrorPattern'](_0x24d3dc,_0x389822);return;}_0x5b485f[_0x4c0015(0x129)]>0x0&&(_0x5b485f[_0x4c0015(0x129)]=0x0,logger[_0x4c0015(0x11e)](_0x4c0015(0xde),{'agentId':_0x24d3dc}));}catch(_0x1ac68e){logger['error']('Agent\x20quality\x20check\x20failed',{'error':_0x1ac68e['message'],'agentId':_0x24d3dc});}}['detectStuckPattern'](_0xf22e11,_0x5652ca){const _0xc0a19e=a0_0x24c08f,_0x4f271d=Date['now'](),_0x39efb1=_0x5652ca[_0xc0a19e(0x12a)][_0xc0a19e(0xef)](_0x1fdf9c=>_0x4f271d-_0x1fdf9c[_0xc0a19e(0x131)]<0x927c0);if(this[_0xc0a19e(0xd0)]['repetitiveCommands'][_0xc0a19e(0xd4)](_0x39efb1))return{'type':_0xc0a19e(0xd5),'description':_0xc0a19e(0xf7),'severity':_0xc0a19e(0x10d),'activities':_0x39efb1};if(this['patterns']['infiniteWaiting']['check'](_0x39efb1))return{'type':_0xc0a19e(0x112),'description':_0xc0a19e(0x117),'severity':_0xc0a19e(0xe2),'activities':_0x39efb1};if(this[_0xc0a19e(0xd0)]['errorLoops']['check'](_0x39efb1))return{'type':'error_loops','description':'Agent\x20is\x20stuck\x20in\x20an\x20error\x20loop','severity':_0xc0a19e(0xe2),'activities':_0x39efb1};if(this[_0xc0a19e(0xd0)]['resourceExhaustion'][_0xc0a19e(0xd4)](_0x39efb1))return{'type':'resource_exhaustion','description':'Agent\x20is\x20experiencing\x20resource\x20exhaustion','severity':'critical','activities':_0x39efb1};return null;}['detectPerformanceIssue'](_0x52799c,_0x186c53){const _0x197281=a0_0x24c08f,_0x2bb54c=_0x186c53['performanceMetrics'];if(_0x2bb54c['averageResponseTime']>0x7530)return{'type':'slow_response','description':'Agent\x20response\x20time\x20is\x20degraded','severity':'medium','metrics':{'averageResponseTime':_0x2bb54c['averageResponseTime']}};if(_0x2bb54c['errorRate']>0.5)return{'type':_0x197281(0x10f),'description':'Agent\x20has\x20high\x20error\x20rate','severity':'high','metrics':{'errorRate':_0x2bb54c['errorRate']}};return null;}[a0_0x24c08f(0x116)](_0x492c90,_0x3090be){const _0x585e6e=a0_0x24c08f,_0x21f442=_0x3090be[_0x585e6e(0xfe)][_0x585e6e(0xef)](_0x1e506d=>Date[_0x585e6e(0xd8)]()-_0x1e506d[_0x585e6e(0x131)]<0x493e0);if(_0x21f442['length']>=0x3){const _0x206515=_0x21f442['map'](_0x71a0a3=>_0x71a0a3['type']),_0x108e98=[...new Set(_0x206515)];if(_0x108e98['length']===0x1)return{'type':_0x585e6e(0xfa),'description':_0x585e6e(0x124)+_0x108e98[0x0]+'\x20errors','severity':'high','errorType':_0x108e98[0x0],'count':_0x21f442[_0x585e6e(0x126)]};}return null;}async['handleStuckAgent'](_0x252ef9,_0x5e5a27){const _0x5b5cb4=a0_0x24c08f;try{const _0xc58b71=this['monitoringData'][_0x5b5cb4(0xe0)](_0x252ef9);_0xc58b71['stuckCount']++,!this[_0x5b5cb4(0x119)]['patternsDetected'][_0x5b5cb4(0xfd)](_0x5e5a27['type'])&&this['metrics'][_0x5b5cb4(0x12c)][_0x5b5cb4(0xcf)](_0x5e5a27['type'],0x0),this[_0x5b5cb4(0x119)]['patternsDetected'][_0x5b5cb4(0xcf)](_0x5e5a27[_0x5b5cb4(0xc2)],this['metrics'][_0x5b5cb4(0x12c)][_0x5b5cb4(0xe0)](_0x5e5a27['type'])+0x1),logger['warn']('Stuck\x20agent\x20detected',{'agentId':_0x252ef9,'pattern':_0x5e5a27[_0x5b5cb4(0xc2)],'severity':_0x5e5a27['severity'],'stuckCount':_0xc58b71['stuckCount']}),_0xc58b71[_0x5b5cb4(0x129)]>=this[_0x5b5cb4(0xfb)][_0x5b5cb4(0xe8)]&&await this[_0x5b5cb4(0x107)](_0x252ef9,_0x5e5a27);}catch(_0x2de070){logger['error'](_0x5b5cb4(0x134),{'error':_0x2de070['message'],'agentId':_0x252ef9});}}async[a0_0x24c08f(0x130)](_0x212817,_0x2fbfbd){const _0x1091b6=a0_0x24c08f;try{logger[_0x1091b6(0x136)](_0x1091b6(0xee),{'agentId':_0x212817,'issueType':_0x2fbfbd[_0x1091b6(0xc2)],'severity':_0x2fbfbd[_0x1091b6(0xdb)],'metrics':_0x2fbfbd[_0x1091b6(0x119)]});const _0x2a07c3=this[_0x1091b6(0x11b)](_0x2fbfbd);_0x2a07c3&&await this[_0x1091b6(0xf3)]['sendSystemMessage'](_0x212817,{'type':'performance_optimization','content':_0x2a07c3,'priority':'medium'});}catch(_0x3018d1){logger['error'](_0x1091b6(0xcd),{'error':_0x3018d1['message'],'agentId':_0x212817});}}async['handleErrorPattern'](_0xdb4310,_0x9de326){const _0x4335fb=a0_0x24c08f;try{logger['warn']('Error\x20pattern\x20detected',{'agentId':_0xdb4310,'patternType':_0x9de326['type'],'errorType':_0x9de326[_0x4335fb(0xf1)],'count':_0x9de326[_0x4335fb(0xc1)]});const _0x5c83d2=this[_0x4335fb(0xda)](_0x9de326);_0x5c83d2&&await this['orchestrator'][_0x4335fb(0xdd)](_0xdb4310,{'type':'error_guidance','content':_0x5c83d2,'priority':_0x4335fb(0xe2)});}catch(_0x1cb7dd){logger['error']('Failed\x20to\x20handle\x20error\x20pattern',{'error':_0x1cb7dd['message'],'agentId':_0xdb4310});}}async['performIntervention'](_0x4e4f50,_0x432673){const _0x126be0=a0_0x24c08f;try{this['metrics']['totalInterventions']++;const _0x446211=this[_0x126be0(0xd9)][_0x126be0(0xe0)](_0x4e4f50),_0x1b0902=Date['now']();if(_0x446211&&_0x1b0902-_0x446211['timestamp']<this['config'][_0x126be0(0x106)]){logger[_0x126be0(0x11e)]('Intervention\x20skipped\x20due\x20to\x20cooldown',{'agentId':_0x4e4f50});return;}const _0x57355b={'timestamp':_0x1b0902,'pattern':_0x432673[_0x126be0(0xc2)],'severity':_0x432673[_0x126be0(0xdb)],'action':null,'success':![]};let _0x32acfb;switch(_0x432673[_0x126be0(0xc2)]){case _0x126be0(0xd5):_0x32acfb=await this['interventionBreakRepetition'](_0x4e4f50);break;case _0x126be0(0x112):_0x32acfb=await this['interventionBreakWait'](_0x4e4f50);break;case _0x126be0(0x115):_0x32acfb=await this[_0x126be0(0x123)](_0x4e4f50);break;case _0x126be0(0xd1):_0x32acfb=await this[_0x126be0(0xe4)](_0x4e4f50);break;default:_0x32acfb=await this['interventionGeneric'](_0x4e4f50,_0x432673);}_0x57355b[_0x126be0(0xf2)]=_0x32acfb['type'],_0x57355b[_0x126be0(0x105)]=_0x32acfb[_0x126be0(0x105)],_0x32acfb['success']?(this[_0x126be0(0x119)]['successfulInterventions']++,logger['info'](_0x126be0(0x101),{'agentId':_0x4e4f50,'pattern':_0x432673[_0x126be0(0xc2)],'action':_0x32acfb[_0x126be0(0xc2)]})):logger[_0x126be0(0x136)]('Intervention\x20failed',{'agentId':_0x4e4f50,'pattern':_0x432673['type'],'action':_0x32acfb['type'],'reason':_0x32acfb[_0x126be0(0xd7)]}),this[_0x126be0(0xd9)]['set'](_0x4e4f50,_0x57355b);}catch(_0x1b79a5){logger[_0x126be0(0xf9)](_0x126be0(0x11c),{'error':_0x1b79a5['message'],'agentId':_0x4e4f50});}}async['interventionBreakRepetition'](_0x4b6274){const _0x3ddcb2=a0_0x24c08f;try{const _0x392b2e={'role':MESSAGE_ROLES['SYSTEM'],'content':_0x3ddcb2(0xf5)};return await this['orchestrator'][_0x3ddcb2(0x109)](_0x4b6274,_0x392b2e),{'type':_0x3ddcb2(0xea),'success':!![]};}catch(_0x4f4978){return{'type':'break_repetition','success':![],'reason':_0x4f4978['message']};}}async[a0_0x24c08f(0xe7)](_0x549dba){const _0x55e1c9=a0_0x24c08f;try{const _0x1fd8bb={'role':MESSAGE_ROLES['SYSTEM'],'content':'Quality\x20Inspector\x20detected\x20that\x20you\x20may\x20be\x20waiting\x20indefinitely.\x20Please\x20proceed\x20with\x20the\x20next\x20step\x20or\x20request\x20assistance.'};return await this['orchestrator']['sendMessage'](_0x549dba,_0x1fd8bb),{'type':'break_wait','success':!![]};}catch(_0x3b06a4){return{'type':_0x55e1c9(0x104),'success':![],'reason':_0x3b06a4[_0x55e1c9(0xcb)]};}}async[a0_0x24c08f(0x123)](_0x2a487e){const _0x9dfca3=a0_0x24c08f;try{const _0x3844b7={'role':MESSAGE_ROLES[_0x9dfca3(0xc3)],'content':'Quality\x20Inspector\x20detected\x20repeated\x20errors.\x20Please\x20review\x20your\x20approach\x20and\x20consider\x20alternative\x20solutions.'};return await this['orchestrator'][_0x9dfca3(0x109)](_0x2a487e,_0x3844b7),{'type':'break_error_loop','success':!![]};}catch(_0x36ed76){return{'type':_0x9dfca3(0x12d),'success':![],'reason':_0x36ed76[_0x9dfca3(0xcb)]};}}async[a0_0x24c08f(0xe4)](_0x40a8e9){const _0x47ae7f=a0_0x24c08f;try{return await this[_0x47ae7f(0xf3)][_0x47ae7f(0xed)](_0x40a8e9,0x3c,_0x47ae7f(0xf8)),{'type':_0x47ae7f(0xc4),'success':!![]};}catch(_0x3f38a6){return{'type':'pause_for_resources','success':![],'reason':_0x3f38a6['message']};}}async['interventionGeneric'](_0x409d9d,_0x6811bf){const _0x5b8d8f=a0_0x24c08f;try{const _0x2c3e90={'role':MESSAGE_ROLES[_0x5b8d8f(0xc3)],'content':_0x5b8d8f(0x100)+_0x6811bf['description']+'.\x20Please\x20review\x20your\x20current\x20approach.'};return await this['orchestrator']['sendMessage'](_0x409d9d,_0x2c3e90),{'type':_0x5b8d8f(0xc6),'success':!![]};}catch(_0xe2a4d5){return{'type':_0x5b8d8f(0xc6),'success':![],'reason':_0xe2a4d5['message']};}}[a0_0x24c08f(0x11b)](_0x4da383){const _0x30b1cf=a0_0x24c08f;switch(_0x4da383[_0x30b1cf(0xc2)]){case'slow_response':return _0x30b1cf(0x111);case'high_error_rate':return _0x30b1cf(0xff);default:return _0x30b1cf(0x114);}}[a0_0x24c08f(0xda)](_0x4acbbe){const _0x10d95a=a0_0x24c08f;return _0x10d95a(0xc9)+_0x4acbbe['errorType']+_0x10d95a(0x12e)+_0x4acbbe[_0x10d95a(0xc1)]+'\x20times).\x20Please\x20review\x20the\x20error\x20details\x20and\x20adjust\x20your\x20approach\x20accordingly.';}[a0_0x24c08f(0x128)](_0x7cb15b,_0x250a80){const _0x5d4051=a0_0x24c08f,_0x2aa891=this['monitoringData'][_0x5d4051(0xe0)](_0x7cb15b),_0x382d67=_0x2aa891[_0x5d4051(0x11f)];if(_0x250a80['responseTime']){const _0x399c0a=_0x382d67[_0x5d4051(0xf4)]*_0x382d67[_0x5d4051(0x10c)]+_0x250a80[_0x5d4051(0xe5)];_0x382d67['totalMessages']++,_0x382d67[_0x5d4051(0xf4)]=_0x399c0a/_0x382d67['totalMessages'];}if(_0x250a80['error']){_0x2aa891[_0x5d4051(0xfe)]['push']({'type':_0x250a80[_0x5d4051(0xf9)][_0x5d4051(0xc2)]||_0x5d4051(0xeb),'message':_0x250a80['error']['message'],'timestamp':Date['now']()}),_0x2aa891['errors']=_0x2aa891[_0x5d4051(0xfe)][_0x5d4051(0xef)](_0x4342ac=>Date[_0x5d4051(0xd8)]()-_0x4342ac['timestamp']<0x36ee80);const _0x5c5f8f=_0x2aa891[_0x5d4051(0x12a)][_0x5d4051(0x126)],_0x478fbc=_0x2aa891['errors'][_0x5d4051(0x126)];_0x382d67[_0x5d4051(0xec)]=_0x5c5f8f>0x0?_0x478fbc/_0x5c5f8f:0x0;}}[a0_0x24c08f(0xe3)](_0x3b94b9,_0x2469ac){}['getMetrics'](){const _0x12ee14=a0_0x24c08f;return{...this['metrics'],'agentsMonitored':this['metrics']['agentsMonitored']['size'],'patternsDetected':Object['fromEntries'](this[_0x12ee14(0x119)]['patternsDetected']),'interventionSuccessRate':this['metrics'][_0x12ee14(0x138)]>0x0?this[_0x12ee14(0x119)][_0x12ee14(0x113)]/this['metrics']['totalInterventions']:0x0,'isRunning':this[_0x12ee14(0xfc)]};}['getAgentReport'](_0x42fdf6){const _0x17c6f0=a0_0x24c08f,_0x1b22d=this['monitoringData']['get'](_0x42fdf6);if(!_0x1b22d)return null;const _0x154c47=Date[_0x17c6f0(0xd8)](),_0x34c33b=_0x1b22d[_0x17c6f0(0x12a)][_0x17c6f0(0xef)](_0x55449a=>_0x154c47-_0x55449a[_0x17c6f0(0x131)]<0x36ee80);return{'agentId':_0x42fdf6,'messageCount':_0x1b22d[_0x17c6f0(0x121)],'lastActivity':_0x1b22d[_0x17c6f0(0xc0)],'stuckCount':_0x1b22d[_0x17c6f0(0x129)],'recentActivityCount':_0x34c33b['length'],'performanceMetrics':{..._0x1b22d['performanceMetrics']},'errorCount':_0x1b22d[_0x17c6f0(0xfe)][_0x17c6f0(0x126)],'interventions':this['interventionHistory']['get'](_0x42fdf6)||null};}['cleanupOldData'](){const _0x49b764=a0_0x24c08f,_0x2e1265=Date['now'](),_0x4428d1=0x5265c00;for(const [_0x3000ba,_0x5bc7a1]of this[_0x49b764(0xce)]){_0x5bc7a1['activityHistory']=_0x5bc7a1[_0x49b764(0x12a)][_0x49b764(0xef)](_0x1e61b6=>_0x2e1265-_0x1e61b6['timestamp']<_0x4428d1),_0x5bc7a1[_0x49b764(0xfe)]=_0x5bc7a1['errors'][_0x49b764(0xef)](_0x37067c=>_0x2e1265-_0x37067c['timestamp']<_0x4428d1),_0x2e1265-_0x5bc7a1['lastActivity']>_0x4428d1&&(this[_0x49b764(0xce)]['delete'](_0x3000ba),this['metrics'][_0x49b764(0x127)]['delete'](_0x3000ba));}}}class PatternDetector{constructor(_0x5860f1,_0x3182c8,_0x305e7c){const _0x3816b2=a0_0x24c08f;this[_0x3816b2(0x11d)]=_0x5860f1,this[_0x3816b2(0xf0)]=_0x3182c8,this['timeWindow']=_0x305e7c;}[a0_0x24c08f(0xd4)](_0x4cfcc5){const _0x52b2f8=a0_0x24c08f,_0x39e368=Date['now'](),_0x1ee117=_0x4cfcc5[_0x52b2f8(0xef)](_0x4bd56e=>_0x39e368-_0x4bd56e[_0x52b2f8(0x131)]<this['timeWindow']);switch(this['patternType']){case'repetitive_commands':return this[_0x52b2f8(0x103)](_0x1ee117);case'infinite_waiting':return this['checkInfiniteWaiting'](_0x1ee117);case _0x52b2f8(0x115):return this['checkErrorLoops'](_0x1ee117);case _0x52b2f8(0xd1):return this[_0x52b2f8(0xd6)](_0x1ee117);default:return![];}}[a0_0x24c08f(0x103)](_0x3152e0){const _0x3a10e=a0_0x24c08f;if(_0x3152e0[_0x3a10e(0x126)]<this[_0x3a10e(0xf0)])return![];const _0xcdee62=_0x3152e0[_0x3a10e(0xef)](_0x24adef=>_0x24adef['type']==='command')['map'](_0x49949e=>_0x49949e['content'])['slice'](-this[_0x3a10e(0xf0)]);return _0xcdee62[_0x3a10e(0x126)]>=this[_0x3a10e(0xf0)]&&_0xcdee62[_0x3a10e(0x110)](_0x154a9e=>_0x154a9e===_0xcdee62[0x0]);}['checkInfiniteWaiting'](_0x2388dd){const _0x1f333e=a0_0x24c08f;if(_0x2388dd[_0x1f333e(0x126)]<this[_0x1f333e(0xf0)])return![];const _0x741f51=_0x2388dd[_0x1f333e(0xef)](_0x4b044a=>_0x4b044a['type']===_0x1f333e(0xe9)||_0x4b044a[_0x1f333e(0xd2)]?.[_0x1f333e(0x10b)]('waiting')||_0x4b044a['content']?.['includes']('pending'));return _0x741f51[_0x1f333e(0x126)]>=this[_0x1f333e(0xf0)];}['checkErrorLoops'](_0x177935){const _0x31897a=a0_0x24c08f;if(_0x177935['length']<this['threshold'])return![];const _0x25b62f=_0x177935['filter'](_0x4846c5=>_0x4846c5[_0x31897a(0xf9)]||_0x4846c5['type']==='error');return _0x25b62f[_0x31897a(0x126)]>=this['threshold'];}[a0_0x24c08f(0xd6)](_0x1bae68){const _0x538775=a0_0x24c08f;if(_0x1bae68['length']<this[_0x538775(0xf0)])return![];const _0x1e1561=_0x1bae68[_0x538775(0xef)](_0x2b6839=>_0x2b6839['error']?.[_0x538775(0xc2)]===_0x538775(0xd1)||_0x2b6839[_0x538775(0xd2)]?.['includes']('memory')||_0x2b6839['content']?.['includes']('timeout')||_0x2b6839[_0x538775(0xd2)]?.['includes']('limit\x20exceeded'));return _0x1e1561['length']>=this['threshold'];}}export default QualityInspector;
1
+ const a0_0x2088ec=a0_0x2018;(function(_0x235767,_0x39b4eb){const _0xbf2778=a0_0x2018,_0x4fae2a=_0x235767();while(!![]){try{const _0x4f129f=-parseInt(_0xbf2778(0xa3))/0x1*(-parseInt(_0xbf2778(0xa5))/0x2)+-parseInt(_0xbf2778(0xca))/0x3+parseInt(_0xbf2778(0xcb))/0x4+-parseInt(_0xbf2778(0x95))/0x5+parseInt(_0xbf2778(0xe7))/0x6+parseInt(_0xbf2778(0xea))/0x7+-parseInt(_0xbf2778(0xee))/0x8*(parseInt(_0xbf2778(0x87))/0x9);if(_0x4f129f===_0x39b4eb)break;else _0x4fae2a['push'](_0x4fae2a['shift']());}catch(_0x31c3c6){_0x4fae2a['push'](_0x4fae2a['shift']());}}}(a0_0x34d2,0xcdd81));import{QUALITY_INSPECTOR_CONFIG,AGENT_STATUS,MESSAGE_ROLES}from'../utilities/constants.js';function a0_0x2018(_0x5d5430,_0x42ad4b){_0x5d5430=_0x5d5430-0x7c;const _0x34d2b0=a0_0x34d2();let _0x201827=_0x34d2b0[_0x5d5430];if(a0_0x2018['ZykpzW']===undefined){var _0x2b6966=function(_0x2a2061){const _0xbaeed3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b7d85='',_0x23bb23='';for(let _0xe9f878=0x0,_0x3d4218,_0x35a069,_0x1cfeda=0x0;_0x35a069=_0x2a2061['charAt'](_0x1cfeda++);~_0x35a069&&(_0x3d4218=_0xe9f878%0x4?_0x3d4218*0x40+_0x35a069:_0x35a069,_0xe9f878++%0x4)?_0x1b7d85+=String['fromCharCode'](0xff&_0x3d4218>>(-0x2*_0xe9f878&0x6)):0x0){_0x35a069=_0xbaeed3['indexOf'](_0x35a069);}for(let _0x193251=0x0,_0x2e1420=_0x1b7d85['length'];_0x193251<_0x2e1420;_0x193251++){_0x23bb23+='%'+('00'+_0x1b7d85['charCodeAt'](_0x193251)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23bb23);};a0_0x2018['yuTvKt']=_0x2b6966,a0_0x2018['oBiuoT']={},a0_0x2018['ZykpzW']=!![];}const _0x2eb38a=_0x34d2b0[0x0],_0x5dbe37=_0x5d5430+_0x2eb38a,_0x448710=a0_0x2018['oBiuoT'][_0x5dbe37];return!_0x448710?(_0x201827=a0_0x2018['yuTvKt'](_0x201827),a0_0x2018['oBiuoT'][_0x5dbe37]=_0x201827):_0x201827=_0x448710,_0x201827;}function a0_0x34d2(){const _0x365915=['z2vUzxjHDgvfCNjVCKD1AwrHBMnL','DgLTzw91Da','zgvIDwC','mti2mdKYn0Tut0zhyq','Bw9UAxrVCMLUz0rHDge','CgvYzM9YBwfUy2vnzxrYAwnZ','AgLNAa','AgfUzgXLu3r1y2Tbz2vUDa','zxjYB3jsyxrL','zxjYB3jZ','Dg90ywXnzxnZywDLCW','y29UDgvUDa','BM93','Aw5MAw5PDgvFD2fPDgLUzW','C2vUzfn5C3rLBu1LC3nHz2u','BwvZC2fNzq','zgv0zwn0rxjYB3jqyxr0zxjU','mZK3mJKWu0fNwKf4','B3jJAgvZDhjHDg9Y','C3vJy2vZCW','rxjYB3iGCgf0DgvYBIbKzxrLy3rLza','uMvJDxjYAw5Nia','Cgf0DgvYBNm','su5urvjwru5usu9ox1riuKvtse9mra','Cgf0DgvYBNnezxrLy3rLza','zxzLCNK','z2v0','z2v0twv0CMLJCW','q09pterpv05Fuevssu9e','y2HLy2Tbz2vUDff1ywXPDhK','yxzLCMfNzvjLC3bVBNnLvgLTzq','mJjyAwvSs1u','CgvYzM9YBuLUDgvYDMvUDgLVBG','odi2ndHYCKnHtfi','zNjVBuvUDhjPzxm','Aw50zxj2zw50Aw9UsgfUzgXLuMvZB3vYy2vfEgHHDxn0Aw9U','y2HLy2TjBMzPBML0zvDHAxrPBMC','z2v0qwDLBNrszxbVCNq','uMvZB3vYy2uGzxHOyxvZDgLVBIbKzxrLy3rLza','CMvZB3vYy2vFzxHOyxvZDgLVBG','BgvUz3rO','ChvZAa','rMfPBgvKihrVigHHBMrSzsbZDhvJAYbHz2vUDa','C3rVCa','Aw5MBW','yNjLywTFD2fPDa','BwvKAxvT','C3vJy2vZC2z1BeLUDgvYDMvUDgLVBNm','uxvHBgL0EsbjBNnWzwn0B3iGC3rHCNrLza','Bwv0CMLJCW','zxjYB3jFBg9VChm','Aw5JBhvKzxm','D2fYBG','DhLWzq','C3rHCNq','uxvHBgL0EsbjBNnWzwn0B3iGAxmGywXYzwfKEsbYDw5UAw5N','q0Hfq0TFsu5urvjwquXFtuvtu0fhrvm','CMvWzxrPDgL2zv9JB21Tyw5KCW','ywn0AxzPDhLiAxn0B3j5','qwn0AxzPDhKGCMvJB3jKzwq','CMvZCg9UC2vuAw1L','Aw50zxj2zw50Aw9Ur2vUzxjPyW','u1Ltvevn','ywDLBNrZtw9UAxrVCMvK','AgLNAf9LCNjVCL9YyxrL','C2L6zq','zgv0zwn0u3r1y2Tqyxr0zxjU','Aw50zxj2zw50Aw9UqNjLywTxywL0','Dw5RBM93BG','y29UzMLN','mtu3mJe1mfnWqLDvtW','nJa5nZa5mKX4C3f3AW','y2HLy2TjBNrLCNzHBa','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqGCMvWzxrPDgL2zsbIzwHHDMLVCI4GugXLyxnLihrYEsbHigrPzMzLCMvUDcbHChbYB2fJAcbVCIbHC2SGzM9YigHLBhaGAwyGEw91igfYzsbZDhvJAY4','C2XPy2u','z2vUzxjPy19NDwLKyw5Jzq','CgvYzM9YBvf1ywXPDhLdAgvJAW','zxjYB3jFz3vPzgfUy2u','y2HLy2TfCNjVCKXVB3bZ','qwDLBNqGAxmGzxHWzxjPzw5JAw5NihjLy3vYCMLUzYa','yNjLywTFzxjYB3jFBg9VCa','AgfZ','AgfUzgXLugvYzM9YBwfUy2vjC3n1zq','rMfPBgvKihrVigHHBMrSzsbWzxjMB3jTyw5JzsbPC3n1zq','Dg90ywXjBNrLCNzLBNrPB25Z','C2vUze1LC3nHz2u','CgvYzM9YBwfUy2vFB3b0Aw1PEMf0Aw9U','Aw50zxj2zw50Aw9UqNjLywTfCNjVCKXVB3a','DgHYzxnOB2XK','zgvZy3jPChrPB24','ugvYzM9YBwfUy2uGB3b0Aw1PEMf0Aw9Uihn1z2DLC3rLzc4GugXLyxnLihjLDMLLDYb5B3vYign1CNjLBNqGyxbWCM9Hy2GU','zgv0zwn0ugf0DgvYBNm','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqG','C2v0','zxjYB3i','Aw50zxj2zw50Aw9UqNjLywTszxbLDgL0Aw9U','DxbKyxrLugvYzM9YBwfUy2vnzxrYAwnZ','DgLTzxn0yw1W','C2v2zxjPDhK','nty2mJiWnM1vvxr5sG','y2HLy2S','Aw50zxj2zw50Aw9UsgLZDg9YEq','ota0mZm4nffLtg5tva','CgvUzgLUzW','C3r1y2TdB3vUDa','BwvTB3j5','mtG0uwvIAfn1','zMLSDgvY','AgfUzgXLrxjYB3jqyxr0zxjU','AxnsDw5UAw5N','uxvHBgL0EsbjBNnWzwn0B3iGzgv0zwn0zwqGDgHHDcb5B3uGBwf5igjLihDHAxrPBMCGAw5KzwzPBML0zwX5lIbqBgvHC2uGChjVy2vLzcb3AxrOihrOzsbUzxH0ihn0zxaGB3iGCMvXDwvZDcbHC3nPC3rHBMnLlG','BgfZDefJDgL2Axr5','ihrPBwvZks4GugXLyxnLihjLDMLLDYb0AguGzxjYB3iGzgv0ywLSCYbHBMqGywrQDxn0ihLVDxiGyxbWCM9Hy2GGywnJB3jKAw5NBhKU','DgLTzvDPBMrVDW','yNjLywTFCMvWzxrPDgLVBG','y291BNq','y2HLy2TszxbLDgL0AxzLq29TBwfUzhm','rMfPBgvKihrVihjLy29YzcbHy3rPDML0Eq','Aw5MAw5PDgvxywL0Aw5N'];a0_0x34d2=function(){return _0x365915;};return a0_0x34d2();}import{logger}from'../utilities/logger.js';export class QualityInspector{constructor(_0x1b7d85){const _0x519aed=a0_0x2018;this['orchestrator']=_0x1b7d85,this['config']=QUALITY_INSPECTOR_CONFIG,this['monitoringData']=new Map(),this[_0x519aed(0xe9)]=new Map(),this['isRunning']=![],this[_0x519aed(0xcc)]=null,this['patterns']={'repetitiveCommands':new PatternDetector(_0x519aed(0xbd),0x5,0x493e0),'infiniteWaiting':new PatternDetector(_0x519aed(0x91),0x3,0x927c0),'errorLoops':new PatternDetector('error_loops',0x4,0x2bf20),'resourceExhaustion':new PatternDetector('resource_exhaustion',0x2,0x1d4c0)},this[_0x519aed(0xb5)]={'totalInterventions':0x0,'successfulInterventions':0x0,'falsePositives':0x0,'agentsMonitored':new Set(),'patternsDetected':new Map()};}[a0_0x2088ec(0xba)](){const _0x5b7a6c=a0_0x2088ec;if(this['isRunning']){logger['warn'](_0x5b7a6c(0xbb));return;}this[_0x5b7a6c(0xf1)]=!![],this['checkInterval']=setInterval(()=>{const _0xc0754c=_0x5b7a6c;this[_0xc0754c(0xd0)]();},this[_0x5b7a6c(0xc9)][_0x5b7a6c(0xbc)]*0x3e8),logger[_0x5b7a6c(0xb0)](_0x5b7a6c(0xb4),{'checkInterval':this['config'][_0x5b7a6c(0xbc)],'stuckPatterns':this[_0x5b7a6c(0xc9)]['STUCK_PATTERNS'],'interventionThreshold':this['config'][_0x5b7a6c(0x9b)]});}[a0_0x2088ec(0xaf)](){const _0x37fa62=a0_0x2088ec;if(!this['isRunning'])return;this['isRunning']=![],this['checkInterval']&&(clearInterval(this['checkInterval']),this[_0x37fa62(0xcc)]=null),logger[_0x37fa62(0xb0)]('Quality\x20Inspector\x20stopped',{'totalInterventions':this['metrics']['totalInterventions'],'successfulInterventions':this['metrics'][_0x37fa62(0xb3)],'agentsMonitored':this['metrics'][_0x37fa62(0xc3)][_0x37fa62(0xc5)]});}['recordActivity'](_0x23bb23,_0xe9f878){const _0x2994b7=a0_0x2088ec;if(!this[_0x2994b7(0xf1)])return;try{!this['monitoringData'][_0x2994b7(0xd5)](_0x23bb23)&&(this['monitoringData']['set'](_0x23bb23,{'activityHistory':[],'messageCount':0x0,'lastActivity':Date['now'](),'currentPattern':null,'stuckCount':0x0,'errors':[],'performanceMetrics':{'averageResponseTime':0x0,'totalMessages':0x0,'errorRate':0x0}}),this['metrics'][_0x2994b7(0xc3)]['add'](_0x23bb23));const _0x3d4218=this['monitoringData']['get'](_0x23bb23);_0x3d4218[_0x2994b7(0xbe)][_0x2994b7(0xad)]({..._0xe9f878,'timestamp':Date[_0x2994b7(0x90)]()}),_0x3d4218[_0x2994b7(0xbe)][_0x2994b7(0xac)]>0x64&&(_0x3d4218['activityHistory']=_0x3d4218[_0x2994b7(0xbe)][_0x2994b7(0xce)](-0x64)),_0x3d4218[_0x2994b7(0x7c)]=Date['now'](),_0x3d4218['messageCount']++,this[_0x2994b7(0xe4)](_0x23bb23,_0xe9f878),this[_0x2994b7(0xdf)](_0x23bb23,_0xe9f878),logger[_0x2994b7(0x86)](_0x2994b7(0xbf),{'agentId':_0x23bb23,'activityType':_0xe9f878['type'],'messageCount':_0x3d4218['messageCount']});}catch(_0x35a069){logger['error'](_0x2994b7(0x82),{'error':_0x35a069[_0x2994b7(0x93)],'agentId':_0x23bb23});}}async['performQualityCheck'](){const _0x5a4bf6=a0_0x2088ec;try{logger['debug']('Performing\x20quality\x20check',{'agentsMonitored':this['metrics'][_0x5a4bf6(0xc3)]['size']});for(const [_0x1cfeda,_0x193251]of this[_0x5a4bf6(0x88)]){await this[_0x5a4bf6(0xa1)](_0x1cfeda,_0x193251);}this['cleanupOldData']();}catch(_0x2e1420){logger['error']('Quality\x20check\x20failed',{'error':_0x2e1420[_0x5a4bf6(0x93)]});}}async['checkAgentQuality'](_0x19e596,_0x3f966e){const _0x440806=a0_0x2088ec;try{const _0x13b8d8=this[_0x440806(0xc6)](_0x19e596,_0x3f966e);if(_0x13b8d8){await this['handleStuckAgent'](_0x19e596,_0x13b8d8);return;}const _0x584872=this['detectPerformanceIssue'](_0x19e596,_0x3f966e);if(_0x584872){await this['handlePerformanceIssue'](_0x19e596,_0x584872);return;}const _0x4c03ba=this[_0x440806(0x94)](_0x19e596,_0x3f966e);if(_0x4c03ba){await this[_0x440806(0xf0)](_0x19e596,_0x4c03ba);return;}_0x3f966e['stuckCount']>0x0&&(_0x3f966e[_0x440806(0xec)]=0x0,logger[_0x440806(0x86)]('Agent\x20recovered',{'agentId':_0x19e596}));}catch(_0x1ae33b){logger[_0x440806(0xe2)]('Agent\x20quality\x20check\x20failed',{'error':_0x1ae33b['message'],'agentId':_0x19e596});}}[a0_0x2088ec(0xc6)](_0x3257bf,_0x1101e4){const _0x1f67df=a0_0x2088ec,_0x1fc999=Date[_0x1f67df(0x90)](),_0xb7fc9c=_0x1101e4[_0x1f67df(0xbe)]['filter'](_0x167ab7=>_0x1fc999-_0x167ab7['timestamp']<0x927c0);if(this[_0x1f67df(0x9a)]['repetitiveCommands']['check'](_0xb7fc9c))return{'type':_0x1f67df(0xbd),'description':'Agent\x20is\x20repeating\x20the\x20same\x20commands','severity':_0x1f67df(0xb2),'activities':_0xb7fc9c};if(this[_0x1f67df(0x9a)][_0x1f67df(0x83)]['check'](_0xb7fc9c))return{'type':'infinite_waiting','description':'Agent\x20appears\x20to\x20be\x20waiting\x20indefinitely','severity':'high','activities':_0xb7fc9c};if(this[_0x1f67df(0x9a)]['errorLoops'][_0x1f67df(0xe8)](_0xb7fc9c))return{'type':_0x1f67df(0xb6),'description':'Agent\x20is\x20stuck\x20in\x20an\x20error\x20loop','severity':_0x1f67df(0x8a),'activities':_0xb7fc9c};if(this['patterns']['resourceExhaustion'][_0x1f67df(0xe8)](_0xb7fc9c))return{'type':_0x1f67df(0xab),'description':'Agent\x20is\x20experiencing\x20resource\x20exhaustion','severity':'critical','activities':_0xb7fc9c};return null;}['detectPerformanceIssue'](_0x54e5fe,_0x5b9d1e){const _0x102366=a0_0x2088ec,_0x4b1e3a=_0x5b9d1e['performanceMetrics'];if(_0x4b1e3a['averageResponseTime']>0x7530)return{'type':'slow_response','description':'Agent\x20response\x20time\x20is\x20degraded','severity':'medium','metrics':{'averageResponseTime':_0x4b1e3a['averageResponseTime']}};if(_0x4b1e3a['errorRate']>0.5)return{'type':_0x102366(0xc4),'description':'Agent\x20has\x20high\x20error\x20rate','severity':_0x102366(0x8a),'metrics':{'errorRate':_0x4b1e3a[_0x102366(0x8c)]}};return null;}['detectErrorPattern'](_0x1b7b81,_0x2d7d12){const _0x55296f=a0_0x2088ec,_0x351710=_0x2d7d12['errors'][_0x55296f(0xef)](_0x5dbb93=>Date[_0x55296f(0x90)]()-_0x5dbb93['timestamp']<0x493e0);if(_0x351710[_0x55296f(0xac)]>=0x3){const _0x4c651a=_0x351710['map'](_0x2634a6=>_0x2634a6[_0x55296f(0xb9)]),_0x3fd6cd=[...new Set(_0x4c651a)];if(_0x3fd6cd[_0x55296f(0xac)]===0x1)return{'type':'recurring_error','description':_0x55296f(0xd3)+_0x3fd6cd[0x0]+'\x20errors','severity':_0x55296f(0x8a),'errorType':_0x3fd6cd[0x0],'count':_0x351710[_0x55296f(0xac)]};}return null;}async[a0_0x2088ec(0x8b)](_0x5da8f9,_0x2ff985){const _0x3c023c=a0_0x2088ec;try{const _0x5e05f7=this[_0x3c023c(0x88)]['get'](_0x5da8f9);_0x5e05f7['stuckCount']++,!this['metrics'][_0x3c023c(0x9c)][_0x3c023c(0xd5)](_0x2ff985['type'])&&this['metrics'][_0x3c023c(0x9c)][_0x3c023c(0xe1)](_0x2ff985['type'],0x0),this['metrics'][_0x3c023c(0x9c)]['set'](_0x2ff985[_0x3c023c(0xb9)],this['metrics']['patternsDetected'][_0x3c023c(0x9e)](_0x2ff985[_0x3c023c(0xb9)])+0x1),logger['warn']('Stuck\x20agent\x20detected',{'agentId':_0x5da8f9,'pattern':_0x2ff985[_0x3c023c(0xb9)],'severity':_0x2ff985['severity'],'stuckCount':_0x5e05f7['stuckCount']}),_0x5e05f7[_0x3c023c(0xec)]>=this['config'][_0x3c023c(0x9b)]&&await this['performIntervention'](_0x5da8f9,_0x2ff985);}catch(_0x116903){logger[_0x3c023c(0xe2)](_0x3c023c(0xae),{'error':_0x116903['message'],'agentId':_0x5da8f9});}}async[a0_0x2088ec(0xd6)](_0x35e0e0,_0x456225){const _0x16cd18=a0_0x2088ec;try{logger['warn']('Performance\x20issue\x20detected',{'agentId':_0x35e0e0,'issueType':_0x456225[_0x16cd18(0xb9)],'severity':_0x456225['severity'],'metrics':_0x456225[_0x16cd18(0xb5)]});const _0x38d935=this['generateOptimizationSuggestion'](_0x456225);_0x38d935&&await this['orchestrator']['sendSystemMessage'](_0x35e0e0,{'type':_0x16cd18(0xda),'content':_0x38d935,'priority':_0x16cd18(0xb2)});}catch(_0x374ec1){logger['error'](_0x16cd18(0xd7),{'error':_0x374ec1['message'],'agentId':_0x35e0e0});}}async[a0_0x2088ec(0xf0)](_0x19e325,_0x46064e){const _0x17efec=a0_0x2088ec;try{logger[_0x17efec(0xb8)](_0x17efec(0x98),{'agentId':_0x19e325,'patternType':_0x46064e[_0x17efec(0xb9)],'errorType':_0x46064e['errorType'],'count':_0x46064e[_0x17efec(0x80)]});const _0xedb90c=this['generateErrorGuidance'](_0x46064e);_0xedb90c&&await this['orchestrator'][_0x17efec(0x92)](_0x19e325,{'type':_0x17efec(0xd1),'content':_0xedb90c,'priority':_0x17efec(0x8a)});}catch(_0x19a2ae){logger[_0x17efec(0xe2)]('Failed\x20to\x20handle\x20error\x20pattern',{'error':_0x19a2ae[_0x17efec(0x93)],'agentId':_0x19e325});}}async[a0_0x2088ec(0xa4)](_0x13d9e0,_0x267f16){const _0x5df030=a0_0x2088ec;try{this['metrics']['totalInterventions']++;const _0x17668c=this[_0x5df030(0xe9)][_0x5df030(0x9e)](_0x13d9e0),_0x5a071a=Date['now']();if(_0x17668c&&_0x5a071a-_0x17668c[_0x5df030(0xe5)]<this[_0x5df030(0xc9)][_0x5df030(0xa0)]){logger[_0x5df030(0x86)]('Intervention\x20skipped\x20due\x20to\x20cooldown',{'agentId':_0x13d9e0});return;}const _0x316289={'timestamp':_0x5a071a,'pattern':_0x267f16[_0x5df030(0xb9)],'severity':_0x267f16[_0x5df030(0xe6)],'action':null,'success':![]};let _0x1d90aa;switch(_0x267f16['type']){case _0x5df030(0xbd):_0x1d90aa=await this['interventionBreakRepetition'](_0x13d9e0);break;case'infinite_waiting':_0x1d90aa=await this['interventionBreakWait'](_0x13d9e0);break;case _0x5df030(0xb6):_0x1d90aa=await this[_0x5df030(0xdb)](_0x13d9e0);break;case _0x5df030(0xab):_0x1d90aa=await this['interventionHandleResourceExhaustion'](_0x13d9e0);break;default:_0x1d90aa=await this[_0x5df030(0xc1)](_0x13d9e0,_0x267f16);}_0x316289['action']=_0x1d90aa['type'],_0x316289['success']=_0x1d90aa[_0x5df030(0x97)],_0x1d90aa[_0x5df030(0x97)]?(this['metrics']['successfulInterventions']++,logger['info']('Intervention\x20successful',{'agentId':_0x13d9e0,'pattern':_0x267f16['type'],'action':_0x1d90aa['type']})):logger['warn']('Intervention\x20failed',{'agentId':_0x13d9e0,'pattern':_0x267f16[_0x5df030(0xb9)],'action':_0x1d90aa[_0x5df030(0xb9)],'reason':_0x1d90aa['reason']}),this[_0x5df030(0xe9)][_0x5df030(0xe1)](_0x13d9e0,_0x316289);}catch(_0x159d14){logger['error']('Intervention\x20failed',{'error':_0x159d14[_0x5df030(0x93)],'agentId':_0x13d9e0});}}async[a0_0x2088ec(0xe3)](_0x631ae3){const _0x1a0d99=a0_0x2088ec;try{const _0x99f7ec={'role':MESSAGE_ROLES[_0x1a0d99(0xc2)],'content':_0x1a0d99(0xcd)};return await this['orchestrator'][_0x1a0d99(0xd9)](_0x631ae3,_0x99f7ec),{'type':_0x1a0d99(0x7f),'success':!![]};}catch(_0x5872d2){return{'type':'break_repetition','success':![],'reason':_0x5872d2['message']};}}async[a0_0x2088ec(0xc7)](_0x56ec0c){const _0xc75518=a0_0x2088ec;try{const _0x16645a={'role':MESSAGE_ROLES['SYSTEM'],'content':_0xc75518(0xf2)};return await this[_0xc75518(0x96)][_0xc75518(0xd9)](_0x56ec0c,_0x16645a),{'type':_0xc75518(0xb1),'success':!![]};}catch(_0x5a5269){return{'type':_0xc75518(0xb1),'success':![],'reason':_0x5a5269['message']};}}async[a0_0x2088ec(0xdb)](_0x3f66fb){const _0x143384=a0_0x2088ec;try{const _0x240010={'role':MESSAGE_ROLES[_0x143384(0xc2)],'content':'Quality\x20Inspector\x20detected\x20repeated\x20errors.\x20Please\x20review\x20your\x20approach\x20and\x20consider\x20alternative\x20solutions.'};return await this[_0x143384(0x96)]['sendMessage'](_0x3f66fb,_0x240010),{'type':_0x143384(0xd4),'success':!![]};}catch(_0x1ebfea){return{'type':'break_error_loop','success':![],'reason':_0x1ebfea[_0x143384(0x93)]};}}async[a0_0x2088ec(0xa7)](_0x8e09e9){const _0x2c355e=a0_0x2088ec;try{return await this[_0x2c355e(0x96)]['pauseAgent'](_0x8e09e9,0x3c,_0x2c355e(0xaa)),{'type':'pause_for_resources','success':!![]};}catch(_0x32f076){return{'type':'pause_for_resources','success':![],'reason':_0x32f076[_0x2c355e(0x93)]};}}async[a0_0x2088ec(0xc1)](_0x510ac5,_0x5abc7f){const _0x35ff8d=a0_0x2088ec;try{const _0x24d04b={'role':MESSAGE_ROLES[_0x35ff8d(0xc2)],'content':_0x35ff8d(0xe0)+_0x5abc7f[_0x35ff8d(0xdd)]+'.\x20Please\x20review\x20your\x20current\x20approach.'};return await this[_0x35ff8d(0x96)][_0x35ff8d(0xd9)](_0x510ac5,_0x24d04b),{'type':_0x35ff8d(0xcf),'success':!![]};}catch(_0x2c09be){return{'type':'generic_guidance','success':![],'reason':_0x2c09be['message']};}}['generateOptimizationSuggestion'](_0x5a51fb){const _0x447a5a=a0_0x2088ec;switch(_0x5a51fb[_0x447a5a(0xb9)]){case'slow_response':return'Your\x20response\x20time\x20is\x20slower\x20than\x20usual.\x20Consider\x20breaking\x20down\x20complex\x20tasks\x20into\x20smaller\x20steps.';case'high_error_rate':return'You\x20are\x20experiencing\x20frequent\x20errors.\x20Please\x20review\x20your\x20approach\x20and\x20verify\x20inputs\x20before\x20proceeding.';default:return _0x447a5a(0xde);}}[a0_0x2088ec(0x84)](_0x3b1356){const _0xd87f6a=a0_0x2088ec;return _0xd87f6a(0x99)+_0x3b1356['errorType']+'\x20errors\x20detected\x20('+_0x3b1356['count']+_0xd87f6a(0x7d);}['updatePerformanceMetrics'](_0x26dd8d,_0x1cdeb4){const _0x51d8d7=a0_0x2088ec,_0xc994c3=this[_0x51d8d7(0x88)]['get'](_0x26dd8d),_0x14de6a=_0xc994c3[_0x51d8d7(0x89)];if(_0x1cdeb4['responseTime']){const _0x6aeb31=_0x14de6a[_0x51d8d7(0xa2)]*_0x14de6a['totalMessages']+_0x1cdeb4[_0x51d8d7(0xc0)];_0x14de6a['totalMessages']++,_0x14de6a[_0x51d8d7(0xa2)]=_0x6aeb31/_0x14de6a[_0x51d8d7(0x8e)];}if(_0x1cdeb4['error']){_0xc994c3[_0x51d8d7(0x8d)][_0x51d8d7(0xad)]({'type':_0x1cdeb4[_0x51d8d7(0xe2)]['type']||_0x51d8d7(0xc8),'message':_0x1cdeb4['error']['message'],'timestamp':Date[_0x51d8d7(0x90)]()}),_0xc994c3['errors']=_0xc994c3['errors']['filter'](_0x715b8f=>Date[_0x51d8d7(0x90)]()-_0x715b8f[_0x51d8d7(0xe5)]<0x36ee80);const _0x1292b5=_0xc994c3[_0x51d8d7(0xbe)]['length'],_0x5c476c=_0xc994c3[_0x51d8d7(0x8d)][_0x51d8d7(0xac)];_0x14de6a[_0x51d8d7(0x8c)]=_0x1292b5>0x0?_0x5c476c/_0x1292b5:0x0;}}[a0_0x2088ec(0xdf)](_0x102bb8,_0x683317){}[a0_0x2088ec(0x9f)](){const _0x2ad521=a0_0x2088ec;return{...this['metrics'],'agentsMonitored':this[_0x2ad521(0xb5)]['agentsMonitored'][_0x2ad521(0xc5)],'patternsDetected':Object[_0x2ad521(0xa6)](this['metrics']['patternsDetected']),'interventionSuccessRate':this['metrics']['totalInterventions']>0x0?this['metrics']['successfulInterventions']/this[_0x2ad521(0xb5)][_0x2ad521(0xd8)]:0x0,'isRunning':this['isRunning']};}[a0_0x2088ec(0xa9)](_0x235ae5){const _0x1c8552=a0_0x2088ec,_0x20cd6c=this[_0x1c8552(0x88)]['get'](_0x235ae5);if(!_0x20cd6c)return null;const _0x147730=Date[_0x1c8552(0x90)](),_0x306919=_0x20cd6c[_0x1c8552(0xbe)][_0x1c8552(0xef)](_0x2956b5=>_0x147730-_0x2956b5['timestamp']<0x36ee80);return{'agentId':_0x235ae5,'messageCount':_0x20cd6c['messageCount'],'lastActivity':_0x20cd6c[_0x1c8552(0x7c)],'stuckCount':_0x20cd6c['stuckCount'],'recentActivityCount':_0x306919['length'],'performanceMetrics':{..._0x20cd6c['performanceMetrics']},'errorCount':_0x20cd6c['errors'][_0x1c8552(0xac)],'interventions':this['interventionHistory'][_0x1c8552(0x9e)](_0x235ae5)||null};}['cleanupOldData'](){const _0xe2e1e8=a0_0x2088ec,_0x4a7a35=Date[_0xe2e1e8(0x90)](),_0x2d72ea=0x5265c00;for(const [_0x14414d,_0x37fc8e]of this['monitoringData']){_0x37fc8e['activityHistory']=_0x37fc8e['activityHistory'][_0xe2e1e8(0xef)](_0x301e5c=>_0x4a7a35-_0x301e5c['timestamp']<_0x2d72ea),_0x37fc8e[_0xe2e1e8(0x8d)]=_0x37fc8e['errors'][_0xe2e1e8(0xef)](_0x4b25f3=>_0x4a7a35-_0x4b25f3['timestamp']<_0x2d72ea),_0x4a7a35-_0x37fc8e['lastActivity']>_0x2d72ea&&(this['monitoringData']['delete'](_0x14414d),this['metrics']['agentsMonitored']['delete'](_0x14414d));}}}class PatternDetector{constructor(_0x3af3dc,_0xe41dc9,_0x55ee5f){const _0x19ec7d=a0_0x2088ec;this['patternType']=_0x3af3dc,this[_0x19ec7d(0xdc)]=_0xe41dc9,this['timeWindow']=_0x55ee5f;}['check'](_0x22568d){const _0x2283e7=a0_0x2088ec,_0x28aa5e=Date[_0x2283e7(0x90)](),_0x242898=_0x22568d['filter'](_0x5e140b=>_0x28aa5e-_0x5e140b['timestamp']<this[_0x2283e7(0x7e)]);switch(this['patternType']){case _0x2283e7(0xbd):return this['checkRepetitiveCommands'](_0x242898);case'infinite_waiting':return this[_0x2283e7(0xa8)](_0x242898);case _0x2283e7(0xb6):return this[_0x2283e7(0xd2)](_0x242898);case _0x2283e7(0xab):return this['checkResourceExhaustion'](_0x242898);default:return![];}}[a0_0x2088ec(0x81)](_0x261af1){const _0x1dacd5=a0_0x2088ec;if(_0x261af1['length']<this[_0x1dacd5(0xdc)])return![];const _0x42fb4d=_0x261af1['filter'](_0x419bc5=>_0x419bc5['type']==='command')['map'](_0x256fb7=>_0x256fb7[_0x1dacd5(0x8f)])['slice'](-this[_0x1dacd5(0xdc)]);return _0x42fb4d[_0x1dacd5(0xac)]>=this[_0x1dacd5(0xdc)]&&_0x42fb4d[_0x1dacd5(0x9d)](_0x59dfa9=>_0x59dfa9===_0x42fb4d[0x0]);}[a0_0x2088ec(0xa8)](_0x441b0e){const _0x1ae395=a0_0x2088ec;if(_0x441b0e['length']<this[_0x1ae395(0xdc)])return![];const _0x46890f=_0x441b0e['filter'](_0x57210b=>_0x57210b[_0x1ae395(0xb9)]==='waiting'||_0x57210b[_0x1ae395(0x8f)]?.['includes']('waiting')||_0x57210b['content']?.[_0x1ae395(0xb7)](_0x1ae395(0xeb)));return _0x46890f[_0x1ae395(0xac)]>=this[_0x1ae395(0xdc)];}[a0_0x2088ec(0xd2)](_0x17668f){const _0x4949d5=a0_0x2088ec;if(_0x17668f[_0x4949d5(0xac)]<this[_0x4949d5(0xdc)])return![];const _0x5b05b1=_0x17668f[_0x4949d5(0xef)](_0x4826b1=>_0x4826b1['error']||_0x4826b1[_0x4949d5(0xb9)]==='error');return _0x5b05b1['length']>=this['threshold'];}['checkResourceExhaustion'](_0x5f08d1){const _0x1e91f3=a0_0x2088ec;if(_0x5f08d1['length']<this[_0x1e91f3(0xdc)])return![];const _0x2744d7=_0x5f08d1[_0x1e91f3(0xef)](_0x3398bf=>_0x3398bf['error']?.[_0x1e91f3(0xb9)]===_0x1e91f3(0xab)||_0x3398bf[_0x1e91f3(0x8f)]?.[_0x1e91f3(0xb7)](_0x1e91f3(0xed))||_0x3398bf['content']?.['includes'](_0x1e91f3(0x85))||_0x3398bf[_0x1e91f3(0x8f)]?.[_0x1e91f3(0xb7)]('limit\x20exceeded'));return _0x2744d7['length']>=this['threshold'];}}export default QualityInspector;
@@ -1 +1 @@
1
- const a0_0x75ac80=a0_0x4d11;(function(_0x34c349,_0x11201d){const _0x4a0634=a0_0x4d11,_0x227e5a=_0x34c349();while(!![]){try{const _0x31fe00=-parseInt(_0x4a0634(0x113))/0x1+parseInt(_0x4a0634(0xfc))/0x2+parseInt(_0x4a0634(0x106))/0x3+-parseInt(_0x4a0634(0xde))/0x4+-parseInt(_0x4a0634(0x122))/0x5*(parseInt(_0x4a0634(0x10f))/0x6)+-parseInt(_0x4a0634(0xe4))/0x7*(parseInt(_0x4a0634(0x109))/0x8)+parseInt(_0x4a0634(0xf0))/0x9;if(_0x31fe00===_0x11201d)break;else _0x227e5a['push'](_0x227e5a['shift']());}catch(_0x182280){_0x227e5a['push'](_0x227e5a['shift']());}}}(a0_0x2c69,0xeb59a));import{encoding_for_model}from'tiktoken';import{MODELS,COMPACTION_CONFIG,TOKEN_COUNTING_MODES}from'../utilities/constants.js';function a0_0x2c69(){const _0x5d4057=['q3jLyxrLzcb0AwT0B2TLBIbLBMnVzgvY','DMfSAwrHDgvdB21Wywn0Aw9U','rMfPBgvKihrVigzYzwuGzw5JB2rLCG','mJi2nJqXne9XCunxyW','DgLRDg9Rzw5nB2rLBe1HCa','vg9Rzw5dB3vUDgLUz1nLCNzPy2uGAw5PDgLHBgL6zwq','C29YDa','Dg9tDhjPBMC','y291BNruB2TLBNm','r1buxZrFtuLosq','vgLRDg9Rzw4Gzw5JB2rPBMCGzMfPBgvKlcbMywXSAw5NigjHy2SGDg8Gzxn0Aw1HDgLVBG','x2DLDenHy2HLzfrVA2vUq291BNq','z2v0tw9KzwXnyxHpDxrWDxruB2TLBNm','mZiYmdKWnwvyzgvVua','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','Dg9Rzw5dywnOzq','odeYndG4vw5cz2vV','C3rYAw5N','AgfZ','Aw5MBW','zNjVBq','A2v5CW','mtq2nZu5ng1yCNzUwa','r1buxZq','x2nHy2HLvg9Rzw5dB3vUDa','z3b0ltq','otG3mZG0v2Hyvvvm','q29TCgfJDgLVBIb0CMLNz2vYignOzwnR','zMXVB3i','x2DLDevUy29Kzxi','Dg9gAxHLza','y2XHDwrL','BgvUz3rO','q0fdseve','zw5JB2rL','zNjLzq','revfufnfruTFuJe','D2fYBG','zgvIDwC','DgLTzxn0yw1W','Bw9KzwW','mJvRqKLis0C','rvnusu1bveve','revgqvvmvf9usfjfu0Hpteq','q0HbuLnFuevsx1rps0vox0vtveLnqvrf','x2DLDenVBNzLCNnHDgLVBK92zxjOzwfK','ntCYmtG4mfvLBe11EG','q09nuefdveLptL9nt0rfta','zw5JB2rLCNm','qundvvjbveu','y2fSy3vSyxrLvgfYz2v0vg9Rzw5dB3vUDa','tufyx1riuKvtse9mra','mte5uLbowxji','zgvSzxrL','y2XLyxi','C2HVDwXKvhjPz2DLCKnVBxbHy3rPB24','qu5usfjpueLdx1nptK5fva','ueHjxZq','zw50CMLLCW','qu5usfjpueLdx0HbsuTv','x2DLDenHy2HLs2v5','BwvZC2fNzq','qu5usfjpueLdx09qvvm','x3nPBxbSzuHHC2G','mZCXmJa4ndj2A0XZuM0','tuLox1jfrfvdveLptL9qrvjdru5uquDf','z2v0','Bg9Nz2vY','C2v0','y29UDgvUDa','y291BNq','x2vZDgLTyxrLvg9Rzw5Z','tufyx0fdq0vqvefctevFve9lru5Fq09vtLrFquzurvi'];a0_0x2c69=function(){return _0x5d4057;};return a0_0x2c69();}function a0_0x4d11(_0x1a1bf2,_0x22017f){_0x1a1bf2=_0x1a1bf2-0xdb;const _0x2c697e=a0_0x2c69();let _0x4d1181=_0x2c697e[_0x1a1bf2];if(a0_0x4d11['UwcbLu']===undefined){var _0x53ed89=function(_0x399464){const _0x458ce2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xdca8b7='',_0x55c37f='';for(let _0x26c1bf=0x0,_0x90bd76,_0x2f6d3a,_0x16eb95=0x0;_0x2f6d3a=_0x399464['charAt'](_0x16eb95++);~_0x2f6d3a&&(_0x90bd76=_0x26c1bf%0x4?_0x90bd76*0x40+_0x2f6d3a:_0x2f6d3a,_0x26c1bf++%0x4)?_0xdca8b7+=String['fromCharCode'](0xff&_0x90bd76>>(-0x2*_0x26c1bf&0x6)):0x0){_0x2f6d3a=_0x458ce2['indexOf'](_0x2f6d3a);}for(let _0x235ea3=0x0,_0x2d2b90=_0xdca8b7['length'];_0x235ea3<_0x2d2b90;_0x235ea3++){_0x55c37f+='%'+('00'+_0xdca8b7['charCodeAt'](_0x235ea3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x55c37f);};a0_0x4d11['mWFVOR']=_0x53ed89,a0_0x4d11['tPCVVy']={},a0_0x4d11['UwcbLu']=!![];}const _0x37cee8=_0x2c697e[0x0],_0x3a2241=_0x1a1bf2+_0x37cee8,_0x368872=a0_0x4d11['tPCVVy'][_0x3a2241];return!_0x368872?(_0x4d1181=a0_0x4d11['mWFVOR'](_0x4d1181),a0_0x4d11['tPCVVy'][_0x3a2241]=_0x4d1181):_0x4d1181=_0x368872,_0x4d1181;}class TokenCountingService{constructor(_0xdca8b7){const _0x375354=a0_0x4d11;this[_0x375354(0xf3)]=_0xdca8b7,this['tokenCache']=new Map(),this[_0x375354(0xe0)]=new Map(),this[_0x375354(0xfd)]={[MODELS['ANTHROPIC_SONNET']]:_0x375354(0x112),[MODELS[_0x375354(0xee)]]:'gpt-4',[MODELS[_0x375354(0xeb)]]:_0x375354(0x112),[MODELS['GPT_4']]:'gpt-4',[MODELS['GPT_4_MINI']]:_0x375354(0x112),'gpt-4o':_0x375354(0x112),'gpt-4o-mini':_0x375354(0x112),'gpt-4-turbo':'gpt-4','gpt-3.5-turbo':_0x375354(0x112),[MODELS['DEEPSEEK_R1']]:'gpt-4',[MODELS['PHI_4']]:_0x375354(0x112),'azure-ai-grok3':'gpt-4','azure-ai-deepseek-r1':_0x375354(0x112),'azure-openai-gpt-5':'gpt-4','azure-openai-gpt-4':_0x375354(0x112),'azure-openai-gpt-4o':_0x375354(0x112),[COMPACTION_CONFIG[_0x375354(0xdf)]]:'gpt-4',[COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACK']]:_0x375354(0x112)},this[_0x375354(0xf3)]?.[_0x375354(0x10c)](_0x375354(0xfe),{'supportedModels':Object[_0x375354(0x10e)](this[_0x375354(0xfd)])[_0x375354(0x119)],'cacheEnabled':!![]});}async[a0_0x75ac80(0x101)](_0x55c37f,_0x26c1bf,_0x90bd76=TOKEN_COUNTING_MODES[a0_0x75ac80(0xe1)]){const _0x3527c9=a0_0x75ac80;if(!_0x55c37f||typeof _0x55c37f!==_0x3527c9(0x10a))return 0x0;if(_0x90bd76===TOKEN_COUNTING_MODES[_0x3527c9(0x11a)]){const _0x2f6d3a=this['_getCachedTokenCount'](_0x55c37f,_0x26c1bf);if(_0x2f6d3a!==null)return _0x2f6d3a;}if(_0x90bd76===TOKEN_COUNTING_MODES[_0x3527c9(0x123)])return this[_0x3527c9(0xf7)](_0x55c37f);try{const _0x16eb95=await this['_getEncoder'](_0x26c1bf),_0x235ea3=_0x16eb95[_0x3527c9(0x11b)](_0x55c37f),_0x2d2b90=_0x235ea3['length'];return this[_0x3527c9(0x111)](_0x55c37f,_0x26c1bf,_0x2d2b90),_0x2d2b90;}catch(_0x4f7e5e){return this[_0x3527c9(0xf3)]?.['warn'](_0x3527c9(0x103),{'model':_0x26c1bf,'error':_0x4f7e5e[_0x3527c9(0xed)]}),this[_0x3527c9(0xf7)](_0x55c37f);}}async[a0_0x75ac80(0x107)](_0x45f3f9,_0x3a39d0,_0x976140=TOKEN_COUNTING_MODES[a0_0x75ac80(0xe1)]){const _0x1935de=a0_0x75ac80;if(!Array['isArray'](_0x45f3f9)||_0x45f3f9[_0x1935de(0x119)]===0x0)return 0x0;let _0x16704c=0x0;for(const _0x1cf186 of _0x45f3f9){if(!_0x1cf186['content'])continue;const _0x471743=this['_getMessageFormattingOverhead'](_0x3a39d0),_0x2f7770=await this[_0x1935de(0x101)](_0x1cf186[_0x1935de(0xf5)],_0x3a39d0,_0x976140);_0x16704c+=_0x2f7770+_0x471743;}const _0xe649f2=this['_getConversationOverhead'](_0x45f3f9['length']);return _0x16704c+=_0xe649f2,this['logger']?.[_0x1935de(0x11f)]('Conversation\x20token\x20count',{'model':_0x3a39d0,'messageCount':_0x45f3f9[_0x1935de(0x119)],'totalTokens':_0x16704c,'mode':_0x976140}),_0x16704c;}['getModelContextWindow'](_0x2e557a){const _0x1ff9c5=a0_0x75ac80,_0x3410c6={[MODELS[_0x1ff9c5(0xe8)]]:0x30d40,[MODELS[_0x1ff9c5(0xee)]]:0x30d40,[MODELS['ANTHROPIC_HAIKU']]:0x30d40,[MODELS[_0x1ff9c5(0x110)]]:0x1f400,[MODELS['GPT_4_MINI']]:0x1f400,'gpt-4o':0x1f400,'gpt-4o-mini':0x1f400,'gpt-4-turbo':0x1f400,'gpt-3.5-turbo':0x4000,[MODELS[_0x1ff9c5(0x11d)]]:0x1f400,[MODELS[_0x1ff9c5(0xe9)]]: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['COMPACTION_MODEL_FALLBACK']]:0x1f400,'autopilot-model-router':0x4000},_0xdd5ab=_0x3410c6[_0x2e557a];if(!_0xdd5ab)return this[_0x1ff9c5(0xf3)]?.['warn']('Unknown model context window, using default',{'model':_0x2e557a,'defaultWindow':0x1f400}),0x1f400;return _0xdd5ab;}[a0_0x75ac80(0x105)](_0x2b2323){const _0x5d61fd=a0_0x75ac80,_0x31cd77={[MODELS[_0x5d61fd(0xe8)]]:0x2000,[MODELS[_0x5d61fd(0xee)]]:0x2000,[MODELS['ANTHROPIC_HAIKU']]:0x2000,[MODELS[_0x5d61fd(0x110)]]:0x2000,[MODELS[_0x5d61fd(0x102)]]:0x4000,'gpt-4o':0x2000,'gpt-4o-mini':0x4000,'gpt-4-turbo':0x2000,'gpt-3.5-turbo':0x1000,[MODELS[_0x5d61fd(0x11d)]]:0x2000,[MODELS[_0x5d61fd(0xe9)]]: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['COMPACTION_MODEL']]:0x2000,[COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACK']]:0x2000,'autopilot-model-router':0x800};return _0x31cd77[_0x2b2323]||0x2000;}[a0_0x75ac80(0xe7)](_0x2e5cd9,_0x166f42,_0x111d87,_0x19e148=COMPACTION_CONFIG['DEFAULT_THRESHOLD']){const _0xc3ad76=a0_0x75ac80;(_0x19e148<COMPACTION_CONFIG['MIN_THRESHOLD']||_0x19e148>COMPACTION_CONFIG[_0xc3ad76(0xe3)])&&(this['logger']?.['warn']('Invalid compaction threshold, using default',{'provided':_0x19e148,'default':COMPACTION_CONFIG[_0xc3ad76(0xdb)]}),_0x19e148=COMPACTION_CONFIG['DEFAULT_THRESHOLD']);const requiredTokens=_0x2e5cd9+_0x166f42,_0x501b4c=_0x19e148*_0x111d87,_0x1706e6=requiredTokens>=_0x501b4c;return this[_0xc3ad76(0xf3)]?.['debug'](_0xc3ad76(0x114),{'currentTokens':_0x2e5cd9,'maxOutputTokens':_0x166f42,'contextWindow':_0x111d87,'threshold':_0x19e148,'requiredTokens':requiredTokens,'thresholdTokens':_0x501b4c,'shouldTrigger':_0x1706e6,'utilizationPercent':(requiredTokens/_0x111d87*0x64)[_0xc3ad76(0x117)](0x2)}),_0x1706e6;}[a0_0x75ac80(0xe2)](_0x436ba6,_0x23713d=COMPACTION_CONFIG[a0_0x75ac80(0xf8)]){return Math['floor'](_0x436ba6*_0x23713d);}[a0_0x75ac80(0xfa)](_0x5e9857,_0x37cac1,_0x2bdfcb){const _0x54bb35=a0_0x75ac80,_0x21a3e9=(_0x5e9857-_0x37cac1)/_0x5e9857*0x64,_0x169534=this[_0x54bb35(0xe2)](_0x2bdfcb),_0x59e3e6=_0x37cac1>_0x169534,_0x373321=_0x21a3e9>=COMPACTION_CONFIG[_0x54bb35(0xf1)],_0xf8eb0a=!_0x59e3e6&&_0x373321;return this[_0x54bb35(0xf3)]?.['info']('Compaction\x20validation',{'originalTokens':_0x5e9857,'compactedTokens':_0x37cac1,'reductionPercent':_0x21a3e9[_0x54bb35(0x117)](0x2),'targetTokens':_0x169534,'exceedsTarget':_0x59e3e6,'sufficientReduction':_0x373321,'valid':_0xf8eb0a}),{'valid':_0xf8eb0a,'reductionPercent':_0x21a3e9,'exceedsTarget':_0x59e3e6,'sufficientReduction':_0x373321,'targetTokens':_0x169534,'compactedTokens':_0x37cac1,'originalTokens':_0x5e9857};}['clearCache'](_0x407ac2=null){const _0x53dd9c=a0_0x75ac80;if(_0x407ac2){for(const [_0x27ead2,_0x54cd18]of this[_0x53dd9c(0x108)][_0x53dd9c(0xea)]()){_0x54cd18[_0x53dd9c(0x121)]===_0x407ac2&&this[_0x53dd9c(0x108)][_0x53dd9c(0xe5)](_0x27ead2);}this[_0x53dd9c(0xf3)]?.[_0x53dd9c(0x11f)]('Token\x20cache\x20cleared\x20for\x20model',{'model':_0x407ac2});}else this[_0x53dd9c(0x108)][_0x53dd9c(0xe6)](),this[_0x53dd9c(0xf3)]?.[_0x53dd9c(0x11f)]('Token\x20cache\x20cleared\x20completely');}async[a0_0x75ac80(0x116)](_0x1998aa){const _0x5d95eb=a0_0x75ac80,_0x2088c8=this['tiktokenModelMap'][_0x1998aa]||'gpt-4';if(this[_0x5d95eb(0xe0)][_0x5d95eb(0x10b)](_0x2088c8))return this['encoders'][_0x5d95eb(0xf2)](_0x2088c8);const _0x11fbb0=encoding_for_model(_0x2088c8);return this['encoders'][_0x5d95eb(0xf4)](_0x2088c8,_0x11fbb0),this[_0x5d95eb(0xf3)]?.[_0x5d95eb(0x11f)](_0x5d95eb(0xf9),{'model':_0x1998aa,'tiktokenModel':_0x2088c8}),_0x11fbb0;}['_estimateTokens'](_0xe78f0a){const _0x54ccb3=a0_0x75ac80;if(!_0xe78f0a||typeof _0xe78f0a!=='string')return 0x0;return Math['ceil'](_0xe78f0a['length']/COMPACTION_CONFIG[_0x54ccb3(0xdc)]);}[a0_0x75ac80(0x104)](_0x35fdbc,_0x18bc20){const _0x5f372d=a0_0x75ac80,_0x3ed488=this['_getCacheKey'](_0x35fdbc,_0x18bc20),_0x142a88=this['tokenCache'][_0x5f372d(0xf2)](_0x3ed488);if(!_0x142a88)return null;const _0x369916=Date['now']();if(_0x369916-_0x142a88['timestamp']>COMPACTION_CONFIG['TOKEN_COUNT_CACHE_TTL_MS'])return this['tokenCache'][_0x5f372d(0xe5)](_0x3ed488),null;return _0x142a88[_0x5f372d(0xf6)];}[a0_0x75ac80(0x111)](_0x29815c,_0x1ec385,_0xff2777){const _0x100148=a0_0x75ac80,_0x109c4b=this['_getCacheKey'](_0x29815c,_0x1ec385);this['tokenCache'][_0x100148(0xf4)](_0x109c4b,{'count':_0xff2777,'model':_0x1ec385,'timestamp':Date['now']()});if(this[_0x100148(0x108)]['size']>0x3e8){const _0xe1926f=Array[_0x100148(0x10d)](this[_0x100148(0x108)]['entries']());_0xe1926f[_0x100148(0xff)]((_0x572891,_0x56faf9)=>_0x572891[0x1][_0x100148(0x120)]-_0x56faf9[0x1]['timestamp']);const _0x49258d=Math[_0x100148(0x115)](_0xe1926f[_0x100148(0x119)]*0.2);for(let _0x43c4b2=0x0;_0x43c4b2<_0x49258d;_0x43c4b2++){this['tokenCache'][_0x100148(0xe5)](_0xe1926f[_0x43c4b2][0x0]);}}}[a0_0x75ac80(0xec)](_0x5dc89d,_0x49706a){const _0xa711f6=a0_0x75ac80,_0x37d0b7=this[_0xa711f6(0xef)](_0x5dc89d);return _0x49706a+':'+_0x37d0b7;}[a0_0x75ac80(0xef)](_0x222604){const _0x344d6e=a0_0x75ac80;let _0x12bd75=0x0;for(let _0x501912=0x0;_0x501912<_0x222604[_0x344d6e(0x119)];_0x501912++){const _0x349d2c=_0x222604['charCodeAt'](_0x501912);_0x12bd75=(_0x12bd75<<0x5)-_0x12bd75+_0x349d2c,_0x12bd75=_0x12bd75&_0x12bd75;}return _0x12bd75[_0x344d6e(0x100)](0x24);}['_getMessageFormattingOverhead'](_0x545e26){const _0x1fee13=a0_0x75ac80;if(_0x545e26['includes']('anthropic')||_0x545e26['includes'](_0x1fee13(0x118)))return 0xa;return 0x5;}[a0_0x75ac80(0xdd)](_0x20065b){const _0x4f0ff4=0x32,_0x54c12b=_0x20065b*0x2;return _0x4f0ff4+_0x54c12b;}async['cleanup'](){const _0x4f9f37=a0_0x75ac80;for(const [_0x42c34e,_0x9a4d10]of this[_0x4f9f37(0xe0)]['entries']()){try{_0x9a4d10[_0x4f9f37(0x11c)](),this['logger']?.[_0x4f9f37(0x11f)]('Freed\x20tiktoken\x20encoder',{'model':_0x42c34e});}catch(_0x1849cc){this['logger']?.[_0x4f9f37(0x11e)](_0x4f9f37(0xfb),{'model':_0x42c34e,'error':_0x1849cc['message']});}}this[_0x4f9f37(0xe0)]['clear'](),this['tokenCache']['clear'](),this[_0x4f9f37(0xf3)]?.[_0x4f9f37(0x10c)]('TokenCountingService\x20cleaned\x20up');}}export default TokenCountingService;
1
+ const a0_0x13cdf4=a0_0x281d;function a0_0x281d(_0x23dc04,_0x20ae97){_0x23dc04=_0x23dc04-0xe8;const _0x369a87=a0_0x369a();let _0x281d58=_0x369a87[_0x23dc04];if(a0_0x281d['uhUzOd']===undefined){var _0x5e38b0=function(_0x27b145){const _0x176016='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25fec2='',_0x37277b='';for(let _0x32590e=0x0,_0x2459f4,_0x3c7354,_0x30f6f7=0x0;_0x3c7354=_0x27b145['charAt'](_0x30f6f7++);~_0x3c7354&&(_0x2459f4=_0x32590e%0x4?_0x2459f4*0x40+_0x3c7354:_0x3c7354,_0x32590e++%0x4)?_0x25fec2+=String['fromCharCode'](0xff&_0x2459f4>>(-0x2*_0x32590e&0x6)):0x0){_0x3c7354=_0x176016['indexOf'](_0x3c7354);}for(let _0xf5424a=0x0,_0x303f3f=_0x25fec2['length'];_0xf5424a<_0x303f3f;_0xf5424a++){_0x37277b+='%'+('00'+_0x25fec2['charCodeAt'](_0xf5424a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37277b);};a0_0x281d['cByPHT']=_0x5e38b0,a0_0x281d['GyiulA']={},a0_0x281d['uhUzOd']=!![];}const _0x342b39=_0x369a87[0x0],_0x369db5=_0x23dc04+_0x342b39,_0x563fa0=a0_0x281d['GyiulA'][_0x369db5];return!_0x563fa0?(_0x281d58=a0_0x281d['cByPHT'](_0x281d58),a0_0x281d['GyiulA'][_0x369db5]=_0x281d58):_0x281d58=_0x563fa0,_0x281d58;}(function(_0x427cc4,_0x26af8c){const _0x1dede6=a0_0x281d,_0x2061f2=_0x427cc4();while(!![]){try{const _0x143c3c=-parseInt(_0x1dede6(0x116))/0x1+-parseInt(_0x1dede6(0x11b))/0x2*(-parseInt(_0x1dede6(0x126))/0x3)+parseInt(_0x1dede6(0xfa))/0x4+parseInt(_0x1dede6(0xff))/0x5*(parseInt(_0x1dede6(0xf0))/0x6)+parseInt(_0x1dede6(0x102))/0x7*(-parseInt(_0x1dede6(0xf4))/0x8)+-parseInt(_0x1dede6(0x123))/0x9+parseInt(_0x1dede6(0xee))/0xa*(-parseInt(_0x1dede6(0x115))/0xb);if(_0x143c3c===_0x26af8c)break;else _0x2061f2['push'](_0x2061f2['shift']());}catch(_0x32c80d){_0x2061f2['push'](_0x2061f2['shift']());}}}(a0_0x369a,0x5d50b));function a0_0x369a(){const _0x4d0de9=['qundvvjbveu','mtbrtK9ttu0','Dg9Rzw5dywnOzq','otC0odj2uw1jrKG','qu5usfjpueLdx1nptK5fva','y2XLyxjdywnOzq','D2fYBG','mtzbzhnjsLm','qu5usfjpueLdx0HbsuTv','q29UDMvYC2f0Aw9UihrVA2vUignVDw50','y2XLyxi','y2XLyw51Ca','qu5usfjpueLdx09qvvm','mJK4mJe5mLjgwfDNDq','x2DLDenHy2HLzfrVA2vUq291BNq','zgvIDwC','Aw5JBhvKzxm','x2vZDgLTyxrLvg9Rzw5Z','ndvUEMToB1u','y291BNq','vg9Rzw5dB3vUDgLUz1nLCNzPy2uGAw5PDgLHBgL6zwq','mtq1mduZm0jsz25bwa','DgLTzxn0yw1W','ueHjxZq','z3b0ltq','C2L6zq','x2DLDenHy2HLs2v5','zw5JB2rLCNm','tufyx0fdq0vqvefctevFve9lru5Fq09vtLrFquzurvi','x2DLDevUy29Kzxi','zw50CMLLCW','revfufnfruTFuJe','zNjVBq','yw50AhjVCgLJ','q09nuefdveLptL9nt0rftf9gquXmqKfdsW','C3rYAw5N','Bw9KzwW','rMfPBgvKihrVigzYzwuGzw5JB2rLCG','tufyx1riuKvtse9mra','y2fSy3vSyxrLvgfYz2v0vg9Rzw5dB3vUDa','ndeWodC1m3HNCwfNtW','mtqWmJCZt1PtywXR','r1buxZrFtuLosq','BgvUz3rO','z2v0tw9KzwXnyxHpDxrWDxruB2TLBNm','zMXVB3i','mJi1ota0vhPbvNH1','tuLox1riuKvtse9mra','r1buxZq','y291BNruB2TLBNm','x2DLDe1LC3nHz2vgB3jTyxr0Aw5Nt3zLCMHLywq','Bg9Nz2vY','DMfSAwrHDgvdB21Wywn0Aw9U','Aw5MBW','mJK4mtm0DgrdvvLI','x2DLDenVBNzLCNnHDgLVBK92zxjOzwfK','DgLRDg9Rzw5nB2rLBe1HCa','mtjWEur6s1e','revgqvvmvf9usfjfu0Hpteq','zgvSzxrL','x3nPBxbSzuHHC2G','y2vPBa','zNjLzq','q29TCgfJDgLVBIb2ywXPzgf0Aw9U'];a0_0x369a=function(){return _0x4d0de9;};return a0_0x369a();}import{encoding_for_model}from'tiktoken';import{MODELS,COMPACTION_CONFIG,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class TokenCountingService{constructor(_0x25fec2){const _0x56c61f=a0_0x281d;this['logger']=_0x25fec2,this[_0x56c61f(0xef)]=new Map(),this['encoders']=new Map(),this['tiktokenModelMap']={[MODELS['ANTHROPIC_SONNET']]:'gpt-4',[MODELS[_0x56c61f(0xf9)]]:_0x56c61f(0x105),[MODELS[_0x56c61f(0xf5)]]:_0x56c61f(0x105),[MODELS['GPT_4']]:'gpt-4',[MODELS['GPT_4_MINI']]:'gpt-4','gpt-4o':'gpt-4','gpt-4o-mini':'gpt-4','gpt-4-turbo':_0x56c61f(0x105),'gpt-3.5-turbo':_0x56c61f(0x105),[MODELS['DEEPSEEK_R1']]:'gpt-4',[MODELS[_0x56c61f(0x104)]]:'gpt-4','azure-ai-grok3':_0x56c61f(0x105),'azure-ai-deepseek-r1':_0x56c61f(0x105),'azure-openai-gpt-5':_0x56c61f(0x105),'azure-openai-gpt-4':_0x56c61f(0x105),'azure-openai-gpt-4o':_0x56c61f(0x105),[COMPACTION_CONFIG['COMPACTION_MODEL']]:_0x56c61f(0x105),[COMPACTION_CONFIG[_0x56c61f(0x10f)]]:'gpt-4'},this[_0x56c61f(0x120)]?.['info'](_0x56c61f(0x101),{'supportedModels':Object['keys'](this[_0x56c61f(0x125)])['length'],'cacheEnabled':!![]});}async[a0_0x13cdf4(0x11e)](_0x37277b,_0x32590e,_0x2459f4=TOKEN_COUNTING_MODES[a0_0x13cdf4(0xed)]){const _0x481830=a0_0x13cdf4;if(!_0x37277b||typeof _0x37277b!==_0x481830(0x110))return 0x0;if(_0x2459f4===TOKEN_COUNTING_MODES['CACHED']){const _0x3c7354=this['_getCachedTokenCount'](_0x37277b,_0x32590e);if(_0x3c7354!==null)return _0x3c7354;}if(_0x2459f4===TOKEN_COUNTING_MODES['ESTIMATED'])return this['_estimateTokens'](_0x37277b);try{const _0x30f6f7=await this[_0x481830(0x10a)](_0x32590e),_0xf5424a=_0x30f6f7['encode'](_0x37277b),_0x303f3f=_0xf5424a['length'];return this['_cacheTokenCount'](_0x37277b,_0x32590e,_0x303f3f),_0x303f3f;}catch(_0x1c0e20){return this[_0x481830(0x120)]?.[_0x481830(0xf3)]('Tiktoken\x20encoding\x20failed,\x20falling\x20back\x20to\x20estimation',{'model':_0x32590e,'error':_0x1c0e20['message']}),this['_estimateTokens'](_0x37277b);}}async['estimateConversationTokens'](_0x78ba,_0x48df6e,_0x22ce8d=TOKEN_COUNTING_MODES[a0_0x13cdf4(0xed)]){const _0x1e8ff6=a0_0x13cdf4;if(!Array['isArray'](_0x78ba)||_0x78ba[_0x1e8ff6(0x118)]===0x0)return 0x0;let _0x7a5896=0x0;for(const _0x36bee8 of _0x78ba){if(!_0x36bee8['content'])continue;const _0x460883=this['_getMessageFormattingOverhead'](_0x48df6e),_0x2d5a40=await this[_0x1e8ff6(0x11e)](_0x36bee8['content'],_0x48df6e,_0x22ce8d);_0x7a5896+=_0x2d5a40+_0x460883;}const _0x2ca7fe=this[_0x1e8ff6(0x124)](_0x78ba[_0x1e8ff6(0x118)]);return _0x7a5896+=_0x2ca7fe,this[_0x1e8ff6(0x120)]?.[_0x1e8ff6(0xfc)](_0x1e8ff6(0xf6),{'model':_0x48df6e,'messageCount':_0x78ba['length'],'totalTokens':_0x7a5896,'mode':_0x22ce8d}),_0x7a5896;}['getModelContextWindow'](_0x495d1e){const _0x151ad4=a0_0x13cdf4,_0x36b5d5={[MODELS[_0x151ad4(0xf1)]]:0x30d40,[MODELS[_0x151ad4(0xf9)]]:0x30d40,[MODELS[_0x151ad4(0xf5)]]:0x30d40,[MODELS['GPT_4']]:0x1f400,[MODELS[_0x151ad4(0x117)]]:0x1f400,'gpt-4o':0x1f400,'gpt-4o-mini':0x1f400,'gpt-4-turbo':0x1f400,'gpt-3.5-turbo':0x4000,[MODELS['DEEPSEEK_R1']]:0x1f400,[MODELS[_0x151ad4(0x104)]]: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[_0x151ad4(0x10f)]]:0x1f400,'autopilot-model-router':0x4000},_0x1a287f=_0x36b5d5[_0x495d1e];if(!_0x1a287f)return this['logger']?.['warn']('Unknown model context window, using default',{'model':_0x495d1e,'defaultWindow':0x1f400}),0x1f400;return _0x1a287f;}[a0_0x13cdf4(0x119)](_0x468add){const _0x42f2d1=a0_0x13cdf4,_0x251f46={[MODELS[_0x42f2d1(0xf1)]]:0x2000,[MODELS['ANTHROPIC_OPUS']]:0x2000,[MODELS['ANTHROPIC_HAIKU']]:0x2000,[MODELS[_0x42f2d1(0x11d)]]:0x2000,[MODELS[_0x42f2d1(0x117)]]:0x4000,'gpt-4o':0x2000,'gpt-4o-mini':0x4000,'gpt-4-turbo':0x2000,'gpt-3.5-turbo':0x1000,[MODELS[_0x42f2d1(0x10c)]]: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['COMPACTION_MODEL']]:0x2000,[COMPACTION_CONFIG['COMPACTION_MODEL_FALLBACK']]:0x2000,'autopilot-model-router':0x800};return _0x251f46[_0x468add]||0x2000;}['shouldTriggerCompaction'](_0x884331,_0xd398ee,_0x56e0ec,_0x4c7345=COMPACTION_CONFIG[a0_0x13cdf4(0x127)]){const _0x4a9b4e=a0_0x13cdf4;(_0x4c7345<COMPACTION_CONFIG[_0x4a9b4e(0x11c)]||_0x4c7345>COMPACTION_CONFIG[_0x4a9b4e(0x113)])&&(this['logger']?.[_0x4a9b4e(0xf3)]('Invalid compaction threshold, using default',{'provided':_0x4c7345,'default':COMPACTION_CONFIG['DEFAULT_THRESHOLD']}),_0x4c7345=COMPACTION_CONFIG['DEFAULT_THRESHOLD']);const requiredTokens=_0x884331+_0xd398ee,_0x338e33=_0x4c7345*_0x56e0ec,_0x366452=requiredTokens>=_0x338e33;return this['logger']?.['debug']('Compaction\x20trigger\x20check',{'currentTokens':_0x884331,'maxOutputTokens':_0xd398ee,'contextWindow':_0x56e0ec,'threshold':_0x4c7345,'requiredTokens':requiredTokens,'thresholdTokens':_0x338e33,'shouldTrigger':_0x366452,'utilizationPercent':(requiredTokens/_0x56e0ec*0x64)['toFixed'](0x2)}),_0x366452;}[a0_0x13cdf4(0x114)](_0x368229,_0x50fd8c=COMPACTION_CONFIG[a0_0x13cdf4(0x109)]){return Math['floor'](_0x368229*_0x50fd8c);}[a0_0x13cdf4(0x121)](_0x15df6f,_0x2382f8,_0x189c1c){const _0x2e97e3=a0_0x13cdf4,_0x556c2e=(_0x15df6f-_0x2382f8)/_0x15df6f*0x64,_0x2dde93=this[_0x2e97e3(0x114)](_0x189c1c),_0x38bf18=_0x2382f8>_0x2dde93,_0x404672=_0x556c2e>=COMPACTION_CONFIG['MIN_REDUCTION_PERCENTAGE'],_0x392497=!_0x38bf18&&_0x404672;return this[_0x2e97e3(0x120)]?.[_0x2e97e3(0x122)](_0x2e97e3(0xec),{'originalTokens':_0x15df6f,'compactedTokens':_0x2382f8,'reductionPercent':_0x556c2e['toFixed'](0x2),'targetTokens':_0x2dde93,'exceedsTarget':_0x38bf18,'sufficientReduction':_0x404672,'valid':_0x392497}),{'valid':_0x392497,'reductionPercent':_0x556c2e,'exceedsTarget':_0x38bf18,'sufficientReduction':_0x404672,'targetTokens':_0x2dde93,'compactedTokens':_0x2382f8,'originalTokens':_0x15df6f};}[a0_0x13cdf4(0xf2)](_0x1ec0ca=null){const _0x651180=a0_0x13cdf4;if(_0x1ec0ca){for(const [_0x276643,_0x24e836]of this['tokenCache'][_0x651180(0x10b)]()){_0x24e836[_0x651180(0x111)]===_0x1ec0ca&&this['tokenCache'][_0x651180(0xe8)](_0x276643);}this['logger']?.[_0x651180(0xfc)]('Token\x20cache\x20cleared\x20for\x20model',{'model':_0x1ec0ca});}else this['tokenCache'][_0x651180(0xf7)](),this['logger']?.[_0x651180(0xfc)]('Token\x20cache\x20cleared\x20completely');}async['_getEncoder'](_0x50cf57){const _0x17ca07=a0_0x13cdf4,_0x5a215c=this['tiktokenModelMap'][_0x50cf57]||'gpt-4';if(this[_0x17ca07(0x108)]['has'](_0x5a215c))return this[_0x17ca07(0x108)]['get'](_0x5a215c);const _0x4de996=encoding_for_model(_0x5a215c);return this['encoders']['set'](_0x5a215c,_0x4de996),this[_0x17ca07(0x120)]?.[_0x17ca07(0xfc)]('Created\x20tiktoken\x20encoder',{'model':_0x50cf57,'tiktokenModel':_0x5a215c}),_0x4de996;}[a0_0x13cdf4(0xfe)](_0x106ea8){const _0x44071c=a0_0x13cdf4;if(!_0x106ea8||typeof _0x106ea8!=='string')return 0x0;return Math[_0x44071c(0xea)](_0x106ea8['length']/COMPACTION_CONFIG['CHARS_PER_TOKEN_ESTIMATE']);}[a0_0x13cdf4(0xfb)](_0x4e34ea,_0x187a70){const _0x508ff7=a0_0x13cdf4,_0x215dd4=this[_0x508ff7(0x107)](_0x4e34ea,_0x187a70),_0x37293a=this['tokenCache']['get'](_0x215dd4);if(!_0x37293a)return null;const _0x3e776a=Date['now']();if(_0x3e776a-_0x37293a['timestamp']>COMPACTION_CONFIG['TOKEN_COUNT_CACHE_TTL_MS'])return this['tokenCache'][_0x508ff7(0xe8)](_0x215dd4),null;return _0x37293a[_0x508ff7(0x100)];}['_cacheTokenCount'](_0x2cc444,_0x3e3a2a,_0x12973f){const _0x273616=a0_0x13cdf4,_0x30ce67=this['_getCacheKey'](_0x2cc444,_0x3e3a2a);this['tokenCache']['set'](_0x30ce67,{'count':_0x12973f,'model':_0x3e3a2a,'timestamp':Date['now']()});if(this[_0x273616(0xef)][_0x273616(0x106)]>0x3e8){const _0x2b12b5=Array[_0x273616(0x10d)](this[_0x273616(0xef)]['entries']());_0x2b12b5['sort']((_0xb8b14c,_0x1702c7)=>_0xb8b14c[0x1][_0x273616(0x103)]-_0x1702c7[0x1][_0x273616(0x103)]);const _0x3d07ae=Math[_0x273616(0x11a)](_0x2b12b5[_0x273616(0x118)]*0.2);for(let _0x5710b7=0x0;_0x5710b7<_0x3d07ae;_0x5710b7++){this['tokenCache'][_0x273616(0xe8)](_0x2b12b5[_0x5710b7][0x0]);}}}['_getCacheKey'](_0x6073a5,_0x291d43){const _0x379ed6=a0_0x13cdf4,_0x301719=this[_0x379ed6(0xe9)](_0x6073a5);return _0x291d43+':'+_0x301719;}[a0_0x13cdf4(0xe9)](_0x57e0bc){const _0x158f23=a0_0x13cdf4;let _0x27354a=0x0;for(let _0x4e95c3=0x0;_0x4e95c3<_0x57e0bc[_0x158f23(0x118)];_0x4e95c3++){const _0x38a036=_0x57e0bc['charCodeAt'](_0x4e95c3);_0x27354a=(_0x27354a<<0x5)-_0x27354a+_0x38a036,_0x27354a=_0x27354a&_0x27354a;}return _0x27354a['toString'](0x24);}[a0_0x13cdf4(0x11f)](_0xcbb163){const _0x4ae63d=a0_0x13cdf4;if(_0xcbb163[_0x4ae63d(0xfd)](_0x4ae63d(0x10e))||_0xcbb163['includes']('claude'))return 0xa;return 0x5;}[a0_0x13cdf4(0x124)](_0x8a6919){const _0x3dffb1=0x32,_0xe3e3c5=_0x8a6919*0x2;return _0x3dffb1+_0xe3e3c5;}async[a0_0x13cdf4(0xf8)](){const _0x33e150=a0_0x13cdf4;for(const [_0x2a676f,_0x179f9c]of this[_0x33e150(0x108)][_0x33e150(0x10b)]()){try{_0x179f9c[_0x33e150(0xeb)](),this[_0x33e150(0x120)]?.[_0x33e150(0xfc)]('Freed\x20tiktoken\x20encoder',{'model':_0x2a676f});}catch(_0x4dace7){this[_0x33e150(0x120)]?.[_0x33e150(0xf3)](_0x33e150(0x112),{'model':_0x2a676f,'error':_0x4dace7['message']});}}this['encoders'][_0x33e150(0xf7)](),this['tokenCache'][_0x33e150(0xf7)](),this['logger']?.['info']('TokenCountingService\x20cleaned\x20up');}}export default TokenCountingService;