@loxia-labs/loxia-autopilot-one 1.0.18 → 1.0.19

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 (120) 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/agentActivityService.js +1 -1
  76. package/src/services/aiService.js +1 -1
  77. package/src/services/apiKeyManager.js +1 -1
  78. package/src/services/benchmarkService.js +1 -1
  79. package/src/services/budgetService.js +1 -1
  80. package/src/services/contextInjectionService.js +1 -1
  81. package/src/services/conversationCompactionService.js +1 -1
  82. package/src/services/errorHandler.js +1 -1
  83. package/src/services/fileAttachmentService.js +1 -1
  84. package/src/services/modelRouterService.js +1 -1
  85. package/src/services/modelsService.js +1 -1
  86. package/src/services/qualityInspector.js +1 -1
  87. package/src/services/tokenCountingService.js +1 -1
  88. package/src/tools/agentCommunicationTool.js +1 -1
  89. package/src/tools/agentDelayTool.js +1 -1
  90. package/src/tools/asyncToolManager.js +1 -1
  91. package/src/tools/baseTool.js +1 -1
  92. package/src/tools/browserTool.js +1 -1
  93. package/src/tools/cloneDetectionTool.js +1 -1
  94. package/src/tools/dependencyResolverTool.js +1 -1
  95. package/src/tools/fileContentReplaceTool.js +1 -1
  96. package/src/tools/fileSystemTool.js +1 -1
  97. package/src/tools/fileTreeTool.js +1 -1
  98. package/src/tools/imageTool.js +1 -1
  99. package/src/tools/importAnalyzerTool.js +1 -1
  100. package/src/tools/jobDoneTool.js +1 -1
  101. package/src/tools/seekTool.js +1 -1
  102. package/src/tools/staticAnalysisTool.js +1 -1
  103. package/src/tools/taskManagerTool.js +1 -1
  104. package/src/tools/terminalTool.js +1 -1
  105. package/src/tools/webTool.js +1 -1
  106. package/src/types/agent.js +1 -1
  107. package/src/types/contextReference.js +1 -1
  108. package/src/types/conversation.js +1 -1
  109. package/src/types/toolCommand.js +1 -1
  110. package/src/utilities/attachmentValidator.js +1 -1
  111. package/src/utilities/configManager.js +1 -1
  112. package/src/utilities/constants.js +1 -1
  113. package/src/utilities/directoryAccessManager.js +1 -1
  114. package/src/utilities/fileProcessor.js +1 -1
  115. package/src/utilities/logger.js +1 -1
  116. package/src/utilities/tagParser.js +1 -1
  117. package/src/utilities/toolConstants.js +1 -1
  118. package/src/utilities/userDataDir.js +1 -1
  119. package/web-ui/build/index.html +1 -1
  120. package/web-ui/build/static/{index-DL2-PyNX.js → index-CcwO7jS4.js} +8 -8
@@ -1 +1 @@
1
- const a0_0x2fe454=a0_0x3b8d;function a0_0x3b8d(_0x364a5c,_0x245f35){_0x364a5c=_0x364a5c-0x9d;const _0x56ba5c=a0_0x56ba();let _0x3b8dcd=_0x56ba5c[_0x364a5c];if(a0_0x3b8d['KHfmKT']===undefined){var _0x5c32f9=function(_0x4c30b9){const _0x488a78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53143c='',_0x3036f2='';for(let _0x533c32=0x0,_0x2377d8,_0x2c9ea1,_0x3e1030=0x0;_0x2c9ea1=_0x4c30b9['charAt'](_0x3e1030++);~_0x2c9ea1&&(_0x2377d8=_0x533c32%0x4?_0x2377d8*0x40+_0x2c9ea1:_0x2c9ea1,_0x533c32++%0x4)?_0x53143c+=String['fromCharCode'](0xff&_0x2377d8>>(-0x2*_0x533c32&0x6)):0x0){_0x2c9ea1=_0x488a78['indexOf'](_0x2c9ea1);}for(let _0x48ee82=0x0,_0x596227=_0x53143c['length'];_0x48ee82<_0x596227;_0x48ee82++){_0x3036f2+='%'+('00'+_0x53143c['charCodeAt'](_0x48ee82)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3036f2);};a0_0x3b8d['jdkQJf']=_0x5c32f9,a0_0x3b8d['LFOyhs']={},a0_0x3b8d['KHfmKT']=!![];}const _0x4804eb=_0x56ba5c[0x0],_0x2a2fe0=_0x364a5c+_0x4804eb,_0x1ce840=a0_0x3b8d['LFOyhs'][_0x2a2fe0];return!_0x1ce840?(_0x3b8dcd=a0_0x3b8d['jdkQJf'](_0x3b8dcd),a0_0x3b8d['LFOyhs'][_0x2a2fe0]=_0x3b8dcd):_0x3b8dcd=_0x1ce840,_0x3b8dcd;}(function(_0x270748,_0x233f02){const _0x5bda45=a0_0x3b8d,_0x1bc226=_0x270748();while(!![]){try{const _0x36dd95=parseInt(_0x5bda45(0xd5))/0x1+-parseInt(_0x5bda45(0xe2))/0x2*(-parseInt(_0x5bda45(0xb6))/0x3)+parseInt(_0x5bda45(0xc1))/0x4+parseInt(_0x5bda45(0xc9))/0x5+-parseInt(_0x5bda45(0xc5))/0x6*(-parseInt(_0x5bda45(0xab))/0x7)+parseInt(_0x5bda45(0xc4))/0x8+-parseInt(_0x5bda45(0xc8))/0x9;if(_0x36dd95===_0x233f02)break;else _0x1bc226['push'](_0x1bc226['shift']());}catch(_0x5e4196){_0x1bc226['push'](_0x1bc226['shift']());}}}(a0_0x56ba,0xc4822));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';function a0_0x56ba(){const _0x10736a=['y29TCgfJDgLVBK1VzgvSsw5KzxG','u1vntufssvPbveLptG','ywLtzxj2AwnL','nda4mJmWmgPQzwjguG','zw5K','C3rYyxrLz3K','nZmWotGXnKTqCerUCq','ntrhuxjdzuK','xqOk','DhjPBq','mtK0ody1mJfctxn4y0y','oteYnZu1quLszhbe','D2fYBG','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','ywDNCMvZC2L2zq','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','Bg9Nz2vY','q29TCgfJDgLVBIbJB21WBgv0zwqGC3vJy2vZC2z1BgX5','q09nuefdveLptL9tvu1nqvjzx1bsruzjwa','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','vfjvtKnbveLptL9ftKrFuevsq0vovefhrq','ie5Vig1LC3nHz2vZihrVihn1Bw1HCML6zs4','BgvUz3rO','nZmWndr2EvbQD0q','q09nuefdveLptL9nt0rftfm','Aw5JBhvKzxm','C2vZC2LVBKLK','B25bBgXnB2rLBhnfEgHHDxn0zwq','qKvhsu5osu5hx1nfr01ftLrFuevsq0vovefhrq','BwLKzgXLrw5Ksw5KzxG','AM9PBG','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcWGDhj5Aw5Nig5LEhqGBw9KzwWGAw4GCM90yxrPB24','z2v0tw9KzwXdB250zxH0v2LUzg93','yxnZAxn0yw50','Dg9gAxHLza','mJK2mK55uxDZuq','C2XPy2u','BwvZC2fNzq','yMvNAw5UAw5N','CMf0zsbSAw1PDa','B3jPz2LUywXuB2TLBKnVDw50','vg9VigzLDYbTzxnZywDLCW','DxnLCG','x2nVBxbHy3rxAxrOu3vTBwfYAxPHDgLVBG','Dg9ju09tDhjPBMC','C3vTBwfYEq','x2LKzw50Awz5u2vNBwvUDhm','x2DLBMvYyxrLu3vTBwfYEq','qwXSignVBxbHy3rPB24GBw9KzwXZigv4Agf1C3rLza','CMvWBgfJzq','q09nuefdveLptL9tvu1nqvjzx1nvrKzjwa','quDhuKvtu0Lwrv9cruDjtK5jtKDFuevsq0vovefhrq','ig1LC3nHz2vZ','B3jPz2LUywWGBwvZC2fNzxmG','y29TCgfJDgvKvg9Rzw5dB3vUDa','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','CM9Szq','y29TCgfJDenVBNzLCNnHDgLVBG','BwLKzgXLu3rHCNrjBMrLEa','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','q0fdseve','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','ChvZAa','x2fKDMfUy2vdB21Wywn0Aw9Utw9KzwXjBMrLEa','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','DgLTzxn0yw1W','ndyWnta5CuPvu2jH','C3LZDgvT','qundvvjbveu','y29UDgvUDa','zMLSDgvY','AxnsyxrLtgLTAxrjC3n1zq','zMXVB3i','x2DLDe5LEhrdB21Wywn0Aw9Utw9KzwW','q29UDMvYC2f0Aw9UignVBxbHy3rPB24GzMfPBgvKoIbbBgWG','AxnszxrYEq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','mZGXEgTIrMjR','q29TCgfJDgLVBIbMywLSzwq','AxnbCNjHEq','ihvZzxiGBwvZC2fNzxmSia','ru5ex1nfr01ftLrFuevsq0vovefhrq','BwLKzgXL','BM93','y291BNruB2TLBNm'];a0_0x56ba=function(){return _0x10736a;};return a0_0x56ba();}class ConversationCompactionService{constructor(_0x53143c,_0x3036f2,_0x533c32){const _0xbe4420=a0_0x3b8d;this['tokenCountingService']=_0x53143c,this[_0xbe4420(0xc0)]=_0x3036f2,this[_0xbe4420(0xce)]=_0x533c32,this[_0xbe4420(0xbe)]=0x0,this['summaryPromptTemplate']=this[_0xbe4420(0xd1)]();}['_getNextCompactionModel'](_0x2377d8=0x0){const _0x5207cc=a0_0x3b8d,_0x2c9ea1=COMPACTION_CONFIG[_0x5207cc(0xd6)]||[];if(_0x2c9ea1[_0x5207cc(0xd4)]===0x0)throw new Error('No\x20compaction\x20models\x20configured');const _0x3e1030=(this['compactionModelIndex']+_0x2377d8)%_0x2c9ea1[_0x5207cc(0xd4)];return _0x2c9ea1[_0x3e1030];}[a0_0x2fe454(0xa8)](){const _0x3f7f51=a0_0x2fe454,_0x48ee82=COMPACTION_CONFIG['COMPACTION_MODELS']||[];this[_0x3f7f51(0xbe)]=(this['compactionModelIndex']+0x1)%_0x48ee82[_0x3f7f51(0xd4)];}async[a0_0x2fe454(0xa2)](_0x596227,_0x1b008b,_0x29ed2f,_0x33a321={}){const _0x391744=a0_0x2fe454,_0x477af6=Date['now']();try{if(!Array[_0x391744(0xb8)](_0x596227)||_0x596227[_0x391744(0xd4)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x596227[_0x391744(0xd4)]<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0x391744(0xce)]['warn']('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x596227[_0x391744(0xd4)],'minimum':COMPACTION_CONFIG[_0x391744(0xa4)]}),{'compactedMessages':_0x596227,'strategy':'none','originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':_0x391744(0xe8)};const _0x3e916d=_0x1b008b!==_0x29ed2f,_0x3f7179=_0x33a321[_0x391744(0xb4)]||![];let _0x2e4398;if(_0x3e916d)_0x2e4398=COMPACTION_STRATEGIES['TRUNCATION'];else _0x3f7179?_0x2e4398=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x2e4398=_0x33a321['strategy']||COMPACTION_STRATEGIES[_0x391744(0xbf)];this[_0x391744(0xce)]['info']('Starting\x20conversation\x20compaction',{'messageCount':_0x596227[_0x391744(0xd4)],'currentModel':_0x1b008b,'targetModel':_0x29ed2f,'strategy':_0x2e4398,'isModelSwitch':_0x3e916d,'isRetry':_0x3f7179});let _0x6dd591;switch(_0x2e4398){case COMPACTION_STRATEGIES[_0x391744(0xbf)]:_0x6dd591=await this[_0x391744(0xea)](_0x596227,_0x1b008b,_0x33a321);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x6dd591=await this['_compactWithTruncation'](_0x596227,_0x29ed2f,_0x33a321);break;case COMPACTION_STRATEGIES['AGGRESSIVE']:_0x6dd591=await this[_0x391744(0xb5)](_0x596227,_0x1b008b,_0x33a321);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x2e4398);}const _0x4f0519=Date['now']()-_0x477af6;return _0x6dd591['executionTime']=_0x4f0519,_0x6dd591[_0x391744(0xaa)]=new Date()[_0x391744(0xeb)](),this['logger']['info'](_0x391744(0xcf),{'strategy':_0x6dd591[_0x391744(0xc3)],'originalMessages':_0x596227['length'],'compactedMessages':_0x6dd591['compactedMessages']['length'],'originalTokens':_0x6dd591[_0x391744(0xe7)],'compactedTokens':_0x6dd591[_0x391744(0x9f)],'reductionPercent':_0x6dd591['reductionPercent']['toFixed'](0x2),'executionTime':_0x4f0519+'ms'}),_0x6dd591;}catch(_0x188365){const _0x44789d=Date[_0x391744(0xbc)]()-_0x477af6;this[_0x391744(0xce)]['error'](_0x391744(0xb7),{'error':_0x188365['message'],'messageCount':_0x596227[_0x391744(0xd4)],'currentModel':_0x1b008b,'targetModel':_0x29ed2f,'executionTime':_0x44789d+'ms'});throw _0x188365;}}async['_compactWithSummarization'](_0x3c6316,_0x23efb4,_0x4e5ad1){const _0x360eda=a0_0x2fe454,_0x3f3a4a=COMPACTION_STRATEGIES['SUMMARIZATION'],_0x414bc4=await this[_0x360eda(0xa0)]['estimateConversationTokens'](_0x3c6316,_0x23efb4,TOKEN_COUNTING_MODES[_0x360eda(0xad)]),_0xcf8d5b=await this[_0x360eda(0xed)](_0x3c6316,_0x23efb4,COMPACTION_CONFIG[_0x360eda(0xda)],COMPACTION_CONFIG[_0x360eda(0xba)]);this[_0x360eda(0xce)]['debug']('Segments\x20identified\x20for\x20summarization',{'beginningMessages':_0xcf8d5b[_0x360eda(0xe5)][_0x360eda(0xd4)],'middleMessages':_0xcf8d5b['middle'][_0x360eda(0xd4)],'endMessages':_0xcf8d5b['end']['length'],'middleStartIndex':_0xcf8d5b['middleStartIndex'],'middleEndIndex':_0xcf8d5b['middleEndIndex'],'totalMessages':_0x3c6316['length']});const _0x49de48=await this['_generateSummary'](_0xcf8d5b['middle'],_0x23efb4,{..._0x4e5ad1,'middleStartIndex':_0xcf8d5b['middleStartIndex'],'middleEndIndex':_0xcf8d5b['middleEndIndex']}),_0x2102cf=[..._0xcf8d5b['beginning'],_0x49de48,..._0xcf8d5b['end']],_0x21d280=await this['tokenCountingService'][_0x360eda(0xa9)](_0x2102cf,_0x23efb4,TOKEN_COUNTING_MODES['ACCURATE']),_0x5913a6=(_0x414bc4-_0x21d280)/_0x414bc4*0x64;return{'compactedMessages':_0x2102cf,'strategy':_0x3f3a4a,'originalTokenCount':_0x414bc4,'compactedTokenCount':_0x21d280,'reductionPercent':_0x5913a6,'segments':{'beginningCount':_0xcf8d5b['beginning'][_0x360eda(0xd4)],'middleCount':_0xcf8d5b[_0x360eda(0xbb)][_0x360eda(0xd4)],'endCount':_0xcf8d5b[_0x360eda(0xc2)]['length'],'summaryInserted':!![]}};}async[a0_0x2fe454(0xcb)](_0x1c726e,_0x5ef34f,_0xe410bc){const _0x52985a=a0_0x2fe454,_0x597605=COMPACTION_STRATEGIES['TRUNCATION'],_0xd23856=this['tokenCountingService'][_0x52985a(0xdf)](_0x5ef34f),_0x3b01bc=Math[_0x52985a(0xb1)](_0xd23856*0.8),_0x3ddcf0=await this['tokenCountingService'][_0x52985a(0xa9)](_0x1c726e,_0x5ef34f,TOKEN_COUNTING_MODES['ACCURATE']),_0x585e93=await this['_identifySegments'](_0x1c726e,_0x5ef34f,COMPACTION_CONFIG['TRUNCATION_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG[_0x52985a(0xd2)]);this[_0x52985a(0xce)]['debug'](_0x52985a(0xa6),{'beginningMessages':_0x585e93['beginning']['length'],'middleMessages':_0x585e93['middle'][_0x52985a(0xd4)],'endMessages':_0x585e93['end'][_0x52985a(0xd4)],'targetTokenCount':_0x3b01bc,'originalTokenCount':_0x3ddcf0});const _0x37d582={'role':'system','content':COMPACTION_CONFIG['COMPACTION_SEPARATOR_MESSAGE'],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x585e93[_0x52985a(0xbb)]['length'],'reason':'Model\x20switch\x20-\x20middle\x20section\x20removed\x20to\x20fit\x20target\x20context\x20window'}},_0x491adc=[..._0x585e93[_0x52985a(0xe5)],_0x37d582,..._0x585e93['end']],_0x935392=await this['tokenCountingService'][_0x52985a(0xa9)](_0x491adc,_0x5ef34f,TOKEN_COUNTING_MODES['ACCURATE']),_0x22f447=(_0x3ddcf0-_0x935392)/_0x3ddcf0*0x64;return{'compactedMessages':_0x491adc,'strategy':_0x597605,'originalTokenCount':_0x3ddcf0,'compactedTokenCount':_0x935392,'reductionPercent':_0x22f447,'segments':{'beginningCount':_0x585e93['beginning']['length'],'middleCount':_0x585e93[_0x52985a(0xbb)]['length'],'endCount':_0x585e93['end']['length'],'summaryInserted':![]}};}async[a0_0x2fe454(0xb5)](_0x5cb010,_0x12a823,_0x2b8cde){const _0x3067cd=a0_0x2fe454,_0x934186=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x9b5c23=await this[_0x3067cd(0xa0)]['estimateConversationTokens'](_0x5cb010,_0x12a823,TOKEN_COUNTING_MODES['ACCURATE']),_0x49fd99=await this[_0x3067cd(0xed)](_0x5cb010,_0x12a823,COMPACTION_CONFIG[_0x3067cd(0xf2)],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this[_0x3067cd(0xce)]['debug']('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x49fd99['beginning'][_0x3067cd(0xd4)],'middleMessages':_0x49fd99['middle']['length'],'endMessages':_0x49fd99['end']['length'],'middleStartIndex':_0x49fd99[_0x3067cd(0xa3)],'middleEndIndex':_0x49fd99['middleEndIndex']});const _0x3ff3bb=await this[_0x3067cd(0xee)](_0x49fd99[_0x3067cd(0xbb)],_0x12a823,{..._0x2b8cde,'aggressive':!![],'middleStartIndex':_0x49fd99['middleStartIndex'],'middleEndIndex':_0x49fd99['middleEndIndex']}),_0x1992ee=[..._0x49fd99['beginning'],_0x3ff3bb,..._0x49fd99['end']],_0x504c4e=await this['tokenCountingService'][_0x3067cd(0xa9)](_0x1992ee,_0x12a823,TOKEN_COUNTING_MODES[_0x3067cd(0xad)]),_0x316814=(_0x9b5c23-_0x504c4e)/_0x9b5c23*0x64;return{'compactedMessages':_0x1992ee,'strategy':_0x934186,'originalTokenCount':_0x9b5c23,'compactedTokenCount':_0x504c4e,'reductionPercent':_0x316814,'segments':{'beginningCount':_0x49fd99[_0x3067cd(0xe5)]['length'],'middleCount':_0x49fd99['middle']['length'],'endCount':_0x49fd99[_0x3067cd(0xc2)][_0x3067cd(0xd4)],'summaryInserted':!![]}};}async['_identifySegments'](_0x484ec5,_0x2232c7,_0x5ec096,_0x4edbda){const _0x5ccd36=a0_0x2fe454,_0x3f5e13=await this[_0x5ccd36(0xa0)]['estimateConversationTokens'](_0x484ec5,_0x2232c7,TOKEN_COUNTING_MODES['ACCURATE']),_0x2e217f=Math[_0x5ccd36(0xb1)](_0x3f5e13*_0x5ec096),_0x20c031=Math['floor'](_0x3f5e13*_0x4edbda);let _0x3a6846=0x0,_0x1e6c67=0x0;for(let _0x48cf83=0x0;_0x48cf83<_0x484ec5['length'];_0x48cf83++){const _0x53271e=await this[_0x5ccd36(0xa0)][_0x5ccd36(0xbd)](_0x484ec5[_0x48cf83][_0x5ccd36(0xae)],_0x2232c7,TOKEN_COUNTING_MODES['CACHED']);if(_0x3a6846+_0x53271e>_0x2e217f&&_0x48cf83>=0x2)break;_0x3a6846+=_0x53271e,_0x1e6c67=_0x48cf83+0x1;}let _0x4e881a=0x0,_0x4fc56b=_0x484ec5['length'];for(let _0x762b1c=_0x484ec5['length']-0x1;_0x762b1c>=0x0;_0x762b1c--){const _0x5416e2=await this['tokenCountingService'][_0x5ccd36(0xbd)](_0x484ec5[_0x762b1c][_0x5ccd36(0xae)],_0x2232c7,TOKEN_COUNTING_MODES[_0x5ccd36(0xa5)]);if(_0x4e881a+_0x5416e2>_0x20c031)break;_0x4e881a+=_0x5416e2,_0x4fc56b=_0x762b1c;}_0x4fc56b<_0x1e6c67&&(_0x4fc56b=_0x1e6c67);const _0x186386=_0x484ec5[_0x5ccd36(0xe3)](0x0,_0x1e6c67),_0x1b433a=_0x484ec5['slice'](_0x1e6c67,_0x4fc56b),_0xac7cfa=_0x484ec5['slice'](_0x4fc56b);return{'beginning':_0x186386,'middle':_0x1b433a,'end':_0xac7cfa,'middleStartIndex':_0x1e6c67,'middleEndIndex':_0x4fc56b-0x1};}async[a0_0x2fe454(0xee)](_0x2960d8,_0x2a3a4d,_0x1631b6={}){const _0x639be9=a0_0x2fe454;if(_0x2960d8[_0x639be9(0xd4)]===0x0)return{'role':_0x639be9(0xac),'content':COMPACTION_CONFIG[_0x639be9(0xd0)]+_0x639be9(0xd3),'type':_0x639be9(0xec),'timestamp':new Date()['toISOString']()};const _0x31132e=_0x2960d8['map'](_0x4688b5=>_0x4688b5['role']+':\x20'+_0x4688b5['content'])[_0x639be9(0xdc)]('\x0a\x0a'),_0x48ed7f=this['summaryPromptTemplate'][_0x639be9(0xf0)]('{middle_segment}',_0x31132e)[_0x639be9(0xf0)]('{aggressive_instruction}',_0x1631b6['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x1deb63=COMPACTION_CONFIG['COMPACTION_MODELS']||[],_0x409737=[];let _0x3cbe4d=null;for(let _0x407efa=0x0;_0x407efa<_0x1deb63['length'];_0x407efa++){const _0x3a3045=this[_0x639be9(0xb2)](_0x407efa);_0x409737[_0x639be9(0xa7)](_0x3a3045);try{this[_0x639be9(0xce)]['debug']('Generating\x20summary\x20(round-robin)',{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'totalModels':_0x1deb63['length'],'middleMessageCount':_0x2960d8[_0x639be9(0xd4)],'middleContentLength':_0x31132e['length'],'aggressive':_0x1631b6[_0x639be9(0xcc)]});const _0x166a14=await this['aiService']['sendMessage'](_0x3a3045,_0x48ed7f,{'systemPrompt':'You\x20are\x20a\x20conversation\x20summarization\x20expert.\x20Your\x20goal\x20is\x20to\x20compress\x20conversations\x20while\x20preserving\x20critical\x20information\x20for\x20continued\x20interaction.','maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x1631b6[_0x639be9(0xd8)],'platformProvided':!![]}),_0x47bf24=_0x166a14['content'][_0x639be9(0xc7)](),_0x115316=_0x1631b6['middleStartIndex']!==undefined&&_0x1631b6[_0x639be9(0xdb)]!==undefined?'original\x20messages\x20'+_0x1631b6['middleStartIndex']+'-'+_0x1631b6[_0x639be9(0xdb)]:_0x2960d8['length']+'\x20messages';return this[_0x639be9(0xce)]['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'originalLength':_0x31132e[_0x639be9(0xd4)],'summaryLength':_0x47bf24[_0x639be9(0xd4)],'compressionRatio':(_0x47bf24[_0x639be9(0xd4)]/_0x31132e['length']*0x64)[_0x639be9(0xe1)](0x2)+'%','indexRange':_0x115316}),this[_0x639be9(0xa8)](),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x115316+']\x0a\x0a'+_0x47bf24+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x639be9(0xec),'timestamp':new Date()['toISOString'](),'metadata':{'originalMessageCount':_0x2960d8[_0x639be9(0xd4)],'originalStartIndex':_0x1631b6[_0x639be9(0xa3)],'originalEndIndex':_0x1631b6[_0x639be9(0xdb)],'compactionModel':_0x3a3045,'aggressive':_0x1631b6[_0x639be9(0xcc)]||![]}};}catch(_0x39ec08){_0x3cbe4d=_0x39ec08;const _0x24e987=_0x39ec08[_0x639be9(0xe4)]?.['includes']('429')||_0x39ec08['message']?.[_0x639be9(0xd7)](_0x639be9(0xe6));this[_0x639be9(0xce)][_0x639be9(0xca)](_0x639be9(0xde),{'compactionModel':_0x3a3045,'attempt':_0x407efa+0x1,'remainingModels':_0x1deb63[_0x639be9(0xd4)]-_0x407efa-0x1,'isRateLimit':_0x24e987,'error':_0x39ec08['message'],'middleMessageCount':_0x2960d8['length']});}}const _0x4e0a4e={'modelsAttempted':_0x409737,'lastError':_0x3cbe4d?.['message'],'middleMessageCount':_0x2960d8[_0x639be9(0xd4)],'isRateLimitIssue':_0x3cbe4d?.[_0x639be9(0xe4)]?.['includes']('429')||_0x3cbe4d?.[_0x639be9(0xe4)]?.[_0x639be9(0xd7)](_0x639be9(0xe6))};this[_0x639be9(0xce)]['error'](_0x639be9(0xef),_0x4e0a4e);_0x1631b6['onAllModelsExhausted']&&_0x1631b6[_0x639be9(0xd9)]({'type':'compaction_models_exhausted','message':_0x639be9(0xb3)+_0x1deb63['length']+'\x20models\x20are\x20currently\x20unavailable.\x20'+(_0x4e0a4e[_0x639be9(0xb0)]?'Rate\x20limits\x20may\x20be\x20in\x20effect.':'')+'\x20Using\x20simplified\x20compaction.','models':_0x409737,'error':_0x3cbe4d?.[_0x639be9(0xe4)]});this[_0x639be9(0xa8)]();const _0x3a5576=this['_createFallbackSummary'](_0x2960d8),_0x32de0d=_0x1631b6['middleStartIndex']!==undefined&&_0x1631b6[_0x639be9(0xdb)]!==undefined?_0x639be9(0x9e)+_0x1631b6['middleStartIndex']+'-'+_0x1631b6['middleEndIndex']:_0x2960d8[_0x639be9(0xd4)]+_0x639be9(0x9d);return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x32de0d+_0x639be9(0xc6)+_0x3a5576+'\x0a\x0a'+COMPACTION_CONFIG[_0x639be9(0xf1)],'type':'summary','timestamp':new Date()[_0x639be9(0xeb)](),'metadata':{'originalMessageCount':_0x2960d8[_0x639be9(0xd4)],'originalStartIndex':_0x1631b6['middleStartIndex'],'originalEndIndex':_0x1631b6[_0x639be9(0xdb)],'fallback':!![],'error':_0x3cbe4d?.[_0x639be9(0xe4)],'modelsAttempted':_0x409737,'allModelsExhausted':!![]}};}[a0_0x2fe454(0xcd)](_0x1812a7){const _0x817ab9=a0_0x2fe454,_0x1cb4d0=_0x1812a7['length'],_0x2b4afd=_0x1812a7['map'](_0x24d255=>_0x24d255[_0x817ab9(0xa1)]),_0x34f3c9=_0x2b4afd[_0x817ab9(0xaf)](_0x599dbb=>_0x599dbb===_0x817ab9(0xe9))['length'],_0x2136b6=_0x2b4afd[_0x817ab9(0xaf)](_0xe3fb7d=>_0xe3fb7d===_0x817ab9(0xe0))[_0x817ab9(0xd4)];return'['+_0x1cb4d0+'\x20messages\x20summarized\x20-\x20'+_0x34f3c9+_0x817ab9(0xb9)+_0x2136b6+'\x20assistant\x20responses.\x20'+'Summary\x20generation\x20unavailable\x20-\x20middle\x20section\x20compressed\x20for\x20context\x20management.]';}['_createSummaryPromptTemplate'](){const _0x466107=a0_0x2fe454;return _0x466107(0xdd);}}export default ConversationCompactionService;
1
+ const a0_0xa2529=a0_0x161b;function a0_0x161b(_0x1dba06,_0x49c091){_0x1dba06=_0x1dba06-0x1c9;const _0x5212da=a0_0x5212();let _0x161b03=_0x5212da[_0x1dba06];if(a0_0x161b['OarpYk']===undefined){var _0x4a5f4c=function(_0x5eee5c){const _0x380e19='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x481cc4='',_0x358040='';for(let _0x3ac6eb=0x0,_0x5165c1,_0x313374,_0x27c8b1=0x0;_0x313374=_0x5eee5c['charAt'](_0x27c8b1++);~_0x313374&&(_0x5165c1=_0x3ac6eb%0x4?_0x5165c1*0x40+_0x313374:_0x313374,_0x3ac6eb++%0x4)?_0x481cc4+=String['fromCharCode'](0xff&_0x5165c1>>(-0x2*_0x3ac6eb&0x6)):0x0){_0x313374=_0x380e19['indexOf'](_0x313374);}for(let _0x484f3e=0x0,_0x387a00=_0x481cc4['length'];_0x484f3e<_0x387a00;_0x484f3e++){_0x358040+='%'+('00'+_0x481cc4['charCodeAt'](_0x484f3e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x358040);};a0_0x161b['QRJKkQ']=_0x4a5f4c,a0_0x161b['jPUixF']={},a0_0x161b['OarpYk']=!![];}const _0x19ab41=_0x5212da[0x0],_0xc2261f=_0x1dba06+_0x19ab41,_0x286939=a0_0x161b['jPUixF'][_0xc2261f];return!_0x286939?(_0x161b03=a0_0x161b['QRJKkQ'](_0x161b03),a0_0x161b['jPUixF'][_0xc2261f]=_0x161b03):_0x161b03=_0x286939,_0x161b03;}function a0_0x5212(){const _0xc4fd65=['q09nuefdveLptL9trvbbuKfut1jFtuvtu0fhrq','zMLSDgvY','tM8Gy29TCgfJDgLVBIbTB2rLBhmGy29UzMLNDxjLza','nxfQB3fYvW','x2DLDe5LEhrdB21Wywn0Aw9Utw9KzwW','Aw5MBW','nfLzz2nrCG','ywLtzxj2AwnL','ww91igfYzsbJB21Wywn0Aw5NigeGy29UDMvYC2f0Aw9UihrVihbYzxnLCNzLignYAxrPy2fSigLUzM9YBwf0Aw9UihDOAwXLihjLzhvJAw5NihrVA2vUignVDw50lGOkq09ovevyvdOGvgHPCYbPCYbWyxj0ig9MigeGBg9Uz2vYignVBNzLCNnHDgLVBIb0Agf0ig5LzwrZignVBxbHy3rPEMf0Aw9UigzVCIbJB250Aw51zwqGChjVy2vZC2LUzY4kcLbsrvnfuLzbveLptIbhvuLeruXjtKvtoGOkseLhscbquKLpuKLuwsaOqwX3yxLZifbYzxnLCNzLktOklsbgDxr1CMuGCMvMzxjLBMnLihzHBhvLoIbjBMzVCM1HDgLVBIbSAwTLBhKGDg8GyMuGCMvMzxjLBMnLzcbHz2fPBGOTierLy2LZAw9UCYbHBMqGCMvHC29UAw5NoIbxsfKGDgHPBMDZihDLCMuGzgvJAwrLzcWGBM90igP1C3qGD2HHDaOTiefqssbZAwDUyxr1CMvZigfUzcbPBNrLCMzHy2vZoIbgDw5JDgLVBIbKzwzPBML0Aw9UCYWGBwv0Ag9KignHBgXZcI0Gqwn0AxzLigrLCgvUzgvUy2LLCZOGsw5MB3jTyxrPB24GDgHHDcbVBMDVAw5NihDVCMSGCMvSAwvZig9UcI0GrxjYB3iGCgf0DgvYBNmGyw5KihnVBhv0Aw9UCZOGv2HHDcbMywLSzwqGyw5KigHVDYbPDcb3yxmGzML4zwqklsblzxKGzMfJDhmGyw5KigrHDge6ifnWzwnPzMLJig51BwjLCNmSig5HBwvZlcbJB25MAwD1CMf0Aw9UCWOktuvesvvnifbssu9ssvrzicHdB21WCMvZCYbjBNrLBgXPz2vUDgX5ktOklsbdB2rLigjSB2nRCZOGs2vLCcbMDw5JDgLVBIbZAwDUyxr1CMvZicSGyNjPzwyGzgvZy3jPChrPB24SignVBxbYzxnZigLTCgXLBwvUDgf0Aw9UigrLDgfPBhmklsbxB3jRAw5NihnVBhv0Aw9UCZOGrxnZzw5JzsbHBMqGB3v0y29TzsWGBM90igv2zxj5igLTCgXLBwvUDgf0Aw9Uihn0zxaklsbgywLSzwqGyxr0zw1WDhm6iejYAwvMig1LBNrPB24GB2yGD2HHDcbKAwrUj3qGD29YAYbHBMqGD2H5lcbZA2LWigrLDgfPBgvKihrYB3vIBgvZAg9VDgLUzWOTifjLCgv0AxrPDMuGy29UDgvUDdOGq29UC29SAwrHDguGC2LTAwXHCIbLEgfTCgXLCYbVCIbLEhbSyw5HDgLVBNmkcKXpvYbquKLpuKLuwsaOsgvHDMLSEsbdB21WCMvZCY9szw1VDMuPoGOTienVBxbSzxrLzcbJywXJDwXHDgLVBNm6ieTLzxaGCMvZDwX0CYWGC2TPCcbPBNrLCM1LzgLHDguGC3rLChmklsbwzxjIB3nLigv4CgXHBMf0Aw9UCZOGu3vTBwfYAxPLihDLBgWTA25VD24Gy29Uy2vWDhmklsbezwj1zYbVDxrWDxq6ifnRAxaGDgvYBwLUywWGBg9NCYbHBMqGzxjYB3iGBwvZC2fNzxmGDgHHDcbZzxj2zwqGDgHLAxiGChvYCg9ZzqOTifrYAwfSlwfUzc1LCNjVCIbZzxf1zw5Jzxm6ifnRAxaGBxvSDgLWBguGzMfPBgvKigf0DgvTChrZihDPDgGGBM8GBgfZDgLUzYb2ywX1zqOTiefJA25VD2XLzgDTzw50CYbHBMqGCgXLyxnHBNrYAwvZoIbtA2LWicj0AgfUAYb5B3uIlcaIC3vYzsiSicjVA2f5iIb0ExbLigv4y2HHBMDLCWOkq09ovKvsu0fusu9oifnfr01ftLqGve8Gu1vntufssvPfoGP7BwLKzgXLx3nLz21LBNr9cGPuqvnloIbdCMvHDguGysbJB25JAxnLihn1Bw1HCNKGDgHHDcbWCMvZzxj2zxmGBg9NAwnHBcbMBg93igfUzcbJCML0AwnHBcbPBMzVCM1HDgLVBI4GrM9JDxmGB246cJeUieTLEsbKzwnPC2LVBNmGyw5KihrOzwLYihjLyxnVBMLUzWOYlIbjBxbVCNrHBNqGzMfJDhmSigrHDgeSigfUzcbJB25MAwD1CMf0Aw9UCWOZlIbby3rPDMuGy29UDgv4DcbUzwvKzwqGzM9YignVBNrPBNvHDgLVBGO0lIbqCM9IBgvTlxnVBhzPBMCGB3v0y29TzxmGkhnRAxaGDgHLigrLyNvNz2LUzYbWCM9JzxnZkqO1lIbezxbLBMrLBMnPzxmGyw5KigLUDgvYzMfJzxmGDgHHDcbJB2rLl3DVCMSGCMvSAwvZig9UcGPtB21LB25LihjLywrPBMCGDgHPCYbZAg91BgqGDw5KzxjZDgfUzcb0AguGy29UDMvYC2f0Aw9UihbYB2DYzxnZAw9UigfUzcbOyxzLigfSBcbPBMzVCM1HDgLVBIbUzwvKzwqGzM9YigvMzMvJDgL2zsbJB250Aw51yxrPB24UcNTHz2DYzxnZAxzLx2LUC3rYDwn0Aw9UFqOkt1vuufvuoIbqCM92AwrLie9otfKGDgHLihn1Bw1HCNKGDgv4Dcb3AxrOB3v0ihbYzwfTyMXLlcbLEhbSyw5HDgLVBIWGB3iGBwv0ys1JB21Tzw50yxj5lG','C2XPy2u','x2nYzwf0zvn1Bw1HCNLqCM9TChruzw1WBgf0zq','vfjvtKnbveLptL9cruDjtK5jtKDFuevsq0vovefhrq','tw9KzwWGC3DPDgnOic0GBwLKzgXLihnLy3rPB24GCMvTB3zLzcb0BYbMAxqGDgfYz2v0ignVBNrLEhqGD2LUzg93','zxn0Aw1HDgvdB252zxjZyxrPB25uB2TLBNm','xqOk','yMvNAw5UAw5N','BwfW','Bg9Nz2vY','BwvZC2fNzq','B25bBgXnB2rLBhnfEgHHDxn0zwq','zgvIDwC','tuLox01fu1nbr0vtx0zpuL9dt01qqunusu9o','ww91igfYzsbHignVBNzLCNnHDgLVBIbZDw1TyxjPEMf0Aw9Uigv4CgvYDc4Gww91CIbNB2fSigLZihrVignVBxbYzxnZignVBNzLCNnHDgLVBNmGD2HPBguGChjLC2vYDMLUzYbJCML0AwnHBcbPBMzVCM1HDgLVBIbMB3iGy29UDgLUDwvKigLUDgvYywn0Aw9UlG','otCYrKTUELLs','z2v0tw9KzwXdB250zxH0v2LUzg93','mJe4mZm0uLvhsxvy','mJeZndb5rwntzeW','quDhuKvtu0Lwrq','mti0ntyYofDszeXqCG','vfjvtKnbveLptG','AxnszxrYEq','BwLKzgXLu3rHCNrjBMrLEa','Dg9ju09tDhjPBMC','C3LZDgvT','C3vTBwfYEvbYB21WDfrLBxbSyxrL','BM9Uzq','y29TCgfJDenVBNzLCNnHDgLVBG','nJy0mtqXoeH2AhvStG','u3vTBwfYEsbNzw5LCMf0Aw9UigzHAwXLzcWGDhj5Aw5Nig5LEhqGBw9KzwWGAw4GCM90yxrPB24','x2nYzwf0zuzHBgXIywnRu3vTBwfYEq','BwLKzgXL','x2nVBxbHy3rxAxrOvhj1BMnHDgLVBG','x2LKzw50Awz5u2vNBwvUDhm','u1vntufssvPbveLptG','y29TCgfJDgvKtwvZC2fNzxm','D2fYBG','C3vTBwfYEq','x2nVBxbHy3rxAxrOqwDNCMvZC2L2zvn1Bw1HCML6yxrPB24','AM9PBG','q29UDMvYC2f0Aw9UignVBxbHy3rPB24GzMfPBgvKoIbbBgWG','x2DLBMvYyxrLu3vTBwfYEq','uMf0zsbSAw1PDhmGBwf5igjLigLUigvMzMvJDc4','y29TCgfJDgvKvg9Rzw5dB3vUDa','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGDhj1BMnHDgLVBG','Dg9gAxHLza','zw5K','y29UDgvUDa','mtq0ntuWmtzKsNrxCu0','ic0G','AxnsyxrLtgLTAxrjC3n1zq','Dg9Rzw5dB3vUDgLUz1nLCNzPy2u','C3rYyxrLz3K','r2vUzxjHDgLUzYbZDw1Tyxj5icHYB3vUzc1YB2jPBIK','zMXVB3i','mty4nda2m2fosffMvG','B3jPz2LUywWGBwvZC2fNzxmG','y29TCgfJDgLVBK1VzgvSsw5KzxG','Aw5JBhvKzxm','u3rHCNrPBMCGy29UDMvYC2f0Aw9UignVBxbHy3rPB24','u2vNBwvUDhmGAwrLBNrPzMLLzcbMB3iGC3vTBwfYAxPHDgLVBG','mJyXotyZoeThvff3Ba','AxnbCNjHEq','ChvZAa','ig1LC3nHz2vZ','E21PzgrSzv9ZzwDTzw50Fq','DgLTzxn0yw1W','yxnZAxn0yw50','q0fdseve','ru5ex1nfr01ftLrFuevsq0vovefhrq','q09nuefdveLptL9nt0rftfm','u3vTBwfYEsbNzw5LCMf0Aw9UihvUyxzHAwXHyMXLic0GBwLKzgXLihnLy3rPB24Gy29TChjLC3nLzcbMB3iGy29UDgv4DcbTyw5Hz2vTzw50lL0','y29TCgfJDgLVBL9TB2rLBhnFzxHOyxvZDgvK','CMvKDwn0Aw9UugvYy2vUDa','BgvUz3rO','BwLKzgXLrw5Ksw5KzxG','qundvvjbveu'];a0_0x5212=function(){return _0xc4fd65;};return a0_0x5212();}(function(_0x66f3c6,_0x4aeb4b){const _0x7019b2=a0_0x161b,_0x2c1951=_0x66f3c6();while(!![]){try{const _0x14c47b=-parseInt(_0x7019b2(0x1dc))/0x1+parseInt(_0x7019b2(0x1f8))/0x2*(parseInt(_0x7019b2(0x20b))/0x3)+-parseInt(_0x7019b2(0x20e))/0x4+parseInt(_0x7019b2(0x1f5))/0x5*(parseInt(_0x7019b2(0x217))/0x6)+-parseInt(_0x7019b2(0x1e2))/0x7+parseInt(_0x7019b2(0x1d5))/0x8+parseInt(_0x7019b2(0x209))/0x9*(parseInt(_0x7019b2(0x20c))/0xa);if(_0x14c47b===_0x4aeb4b)break;else _0x2c1951['push'](_0x2c1951['shift']());}catch(_0x3d1321){_0x2c1951['push'](_0x2c1951['shift']());}}}(a0_0x5212,0xe0a28));import{COMPACTION_CONFIG,COMPACTION_STRATEGIES,TOKEN_COUNTING_MODES}from'../utilities/constants.js';class ConversationCompactionService{constructor(_0x481cc4,_0x358040,_0x3ac6eb){const _0x403e59=a0_0x161b;this['tokenCountingService']=_0x481cc4,this[_0x403e59(0x1f9)]=_0x358040,this['logger']=_0x3ac6eb,this['compactionModelIndex']=0x0,this[_0x403e59(0x214)]=this['_createSummaryPromptTemplate']();}[a0_0xa2529(0x1f6)](_0x5165c1=0x0){const _0x582452=a0_0xa2529,_0x313374=COMPACTION_CONFIG['COMPACTION_MODELS']||[];if(_0x313374[_0x582452(0x1ef)]===0x0)throw new Error(_0x582452(0x1f4));const _0x27c8b1=(this['compactionModelIndex']+_0x5165c1)%_0x313374['length'];return _0x313374[_0x27c8b1];}['_advanceCompactionModelIndex'](){const _0x4a932d=a0_0xa2529,_0x484f3e=COMPACTION_CONFIG[_0x4a932d(0x1eb)]||[];this[_0x4a932d(0x1de)]=(this[_0x4a932d(0x1de)]+0x1)%_0x484f3e['length'];}async[a0_0xa2529(0x216)](_0x387a00,_0x1bcd9a,_0x420a55,_0x430be3={}){const _0xd2bb72=a0_0xa2529,_0x517d48=Date['now']();try{if(!Array[_0xd2bb72(0x1e3)](_0x387a00)||_0x387a00[_0xd2bb72(0x1ef)]===0x0)throw new Error('Messages\x20array\x20is\x20required\x20and\x20cannot\x20be\x20empty');if(_0x387a00[_0xd2bb72(0x1ef)]<COMPACTION_CONFIG['MIN_MESSAGES_FOR_COMPACTION'])return this[_0xd2bb72(0x203)][_0xd2bb72(0x1c9)]('Too\x20few\x20messages\x20for\x20compaction',{'messageCount':_0x387a00[_0xd2bb72(0x1ef)],'minimum':COMPACTION_CONFIG[_0xd2bb72(0x207)]}),{'compactedMessages':_0x387a00,'strategy':_0xd2bb72(0x215),'originalTokenCount':0x0,'compactedTokenCount':0x0,'reductionPercent':0x0,'skipped':!![],'reason':'Too\x20few\x20messages'};const _0x1efe4c=_0x1bcd9a!==_0x420a55,_0x2006fb=_0x430be3[_0xd2bb72(0x210)]||![];let _0x3d9051;if(_0x1efe4c)_0x3d9051=COMPACTION_STRATEGIES['TRUNCATION'];else _0x2006fb?_0x3d9051=COMPACTION_STRATEGIES['AGGRESSIVE']:_0x3d9051=_0x430be3[_0xd2bb72(0x1d9)]||COMPACTION_STRATEGIES[_0xd2bb72(0x21d)];this['logger'][_0xd2bb72(0x1f7)](_0xd2bb72(0x1e0),{'messageCount':_0x387a00['length'],'currentModel':_0x1bcd9a,'targetModel':_0x420a55,'strategy':_0x3d9051,'isModelSwitch':_0x1efe4c,'isRetry':_0x2006fb});let _0x227bc5;switch(_0x3d9051){case COMPACTION_STRATEGIES['SUMMARIZATION']:_0x227bc5=await this['_compactWithSummarization'](_0x387a00,_0x1bcd9a,_0x430be3);break;case COMPACTION_STRATEGIES['TRUNCATION']:_0x227bc5=await this[_0xd2bb72(0x21b)](_0x387a00,_0x420a55,_0x430be3);break;case COMPACTION_STRATEGIES[_0xd2bb72(0x20d)]:_0x227bc5=await this[_0xd2bb72(0x1cb)](_0x387a00,_0x1bcd9a,_0x430be3);break;default:throw new Error('Unknown\x20compaction\x20strategy:\x20'+_0x3d9051);}const _0x1b9fc2=Date['now']()-_0x517d48;return _0x227bc5['executionTime']=_0x1b9fc2,_0x227bc5[_0xd2bb72(0x1e7)]=new Date()[_0xd2bb72(0x212)](),this[_0xd2bb72(0x203)][_0xd2bb72(0x1f7)]('Compaction\x20completed\x20successfully',{'strategy':_0x227bc5[_0xd2bb72(0x1d9)],'originalMessages':_0x387a00[_0xd2bb72(0x1ef)],'compactedMessages':_0x227bc5[_0xd2bb72(0x21e)]['length'],'originalTokens':_0x227bc5['originalTokenCount'],'compactedTokens':_0x227bc5[_0xd2bb72(0x1d0)],'reductionPercent':_0x227bc5[_0xd2bb72(0x1ee)][_0xd2bb72(0x1d2)](0x2),'executionTime':_0x1b9fc2+'ms'}),_0x227bc5;}catch(_0x4bc63c){const _0x1a399f=Date['now']()-_0x517d48;this['logger']['error']('Compaction\x20failed',{'error':_0x4bc63c['message'],'messageCount':_0x387a00['length'],'currentModel':_0x1bcd9a,'targetModel':_0x420a55,'executionTime':_0x1a399f+'ms'});throw _0x4bc63c;}}async['_compactWithSummarization'](_0x4b7e65,_0xa7f645,_0x1bb534){const _0x5770fb=a0_0xa2529,_0x2c8c85=COMPACTION_STRATEGIES[_0x5770fb(0x21d)],_0x14ae38=await this[_0x5770fb(0x1d8)][_0x5770fb(0x1ff)](_0x4b7e65,_0xa7f645,TOKEN_COUNTING_MODES[_0x5770fb(0x1f1)]),_0x1304d9=await this[_0x5770fb(0x21c)](_0x4b7e65,_0xa7f645,COMPACTION_CONFIG['BEGINNING_SEGMENT_PERCENTAGE'],COMPACTION_CONFIG[_0x5770fb(0x1ea)]);this[_0x5770fb(0x203)][_0x5770fb(0x206)](_0x5770fb(0x1e1),{'beginningMessages':_0x1304d9[_0x5770fb(0x201)][_0x5770fb(0x1ef)],'middleMessages':_0x1304d9[_0x5770fb(0x21a)][_0x5770fb(0x1ef)],'endMessages':_0x1304d9['end'][_0x5770fb(0x1ef)],'middleStartIndex':_0x1304d9['middleStartIndex'],'middleEndIndex':_0x1304d9['middleEndIndex'],'totalMessages':_0x4b7e65['length']});const _0x2eb354=await this['_generateSummary'](_0x1304d9['middle'],_0xa7f645,{..._0x1bb534,'middleStartIndex':_0x1304d9[_0x5770fb(0x211)],'middleEndIndex':_0x1304d9[_0x5770fb(0x1f0)]}),_0x40e715=[..._0x1304d9[_0x5770fb(0x201)],_0x2eb354,..._0x1304d9['end']],_0x1dfdb4=await this['tokenCountingService']['estimateConversationTokens'](_0x40e715,_0xa7f645,TOKEN_COUNTING_MODES[_0x5770fb(0x1f1)]),_0x5593e8=(_0x14ae38-_0x1dfdb4)/_0x14ae38*0x64;return{'compactedMessages':_0x40e715,'strategy':_0x2c8c85,'originalTokenCount':_0x14ae38,'compactedTokenCount':_0x1dfdb4,'reductionPercent':_0x5593e8,'segments':{'beginningCount':_0x1304d9['beginning']['length'],'middleCount':_0x1304d9[_0x5770fb(0x21a)][_0x5770fb(0x1ef)],'endCount':_0x1304d9['end']['length'],'summaryInserted':!![]}};}async[a0_0xa2529(0x21b)](_0x43fde7,_0x3fdbd2,_0x14a28b){const _0x2f9d19=a0_0xa2529,_0x2525a6=COMPACTION_STRATEGIES[_0x2f9d19(0x20f)],_0x354184=this['tokenCountingService'][_0x2f9d19(0x20a)](_0x3fdbd2),_0x459443=Math['floor'](_0x354184*0.8),_0x851b6b=await this[_0x2f9d19(0x1d8)][_0x2f9d19(0x1ff)](_0x43fde7,_0x3fdbd2,TOKEN_COUNTING_MODES[_0x2f9d19(0x1f1)]),_0x2dbc5d=await this[_0x2f9d19(0x21c)](_0x43fde7,_0x3fdbd2,COMPACTION_CONFIG[_0x2f9d19(0x1fd)],COMPACTION_CONFIG['TRUNCATION_END_PERCENTAGE']);this[_0x2f9d19(0x203)][_0x2f9d19(0x206)](_0x2f9d19(0x1d1),{'beginningMessages':_0x2dbc5d[_0x2f9d19(0x201)][_0x2f9d19(0x1ef)],'middleMessages':_0x2dbc5d[_0x2f9d19(0x21a)][_0x2f9d19(0x1ef)],'endMessages':_0x2dbc5d[_0x2f9d19(0x1d3)]['length'],'targetTokenCount':_0x459443,'originalTokenCount':_0x851b6b});const _0x41e8c8={'role':_0x2f9d19(0x213),'content':COMPACTION_CONFIG[_0x2f9d19(0x1f2)],'type':'separator','timestamp':new Date()['toISOString'](),'metadata':{'truncatedMessages':_0x2dbc5d['middle']['length'],'reason':_0x2f9d19(0x1fe)}},_0x3810ac=[..._0x2dbc5d['beginning'],_0x41e8c8,..._0x2dbc5d['end']],_0x528d63=await this['tokenCountingService']['estimateConversationTokens'](_0x3810ac,_0x3fdbd2,TOKEN_COUNTING_MODES['ACCURATE']),_0x543c18=(_0x851b6b-_0x528d63)/_0x851b6b*0x64;return{'compactedMessages':_0x3810ac,'strategy':_0x2525a6,'originalTokenCount':_0x851b6b,'compactedTokenCount':_0x528d63,'reductionPercent':_0x543c18,'segments':{'beginningCount':_0x2dbc5d[_0x2f9d19(0x201)][_0x2f9d19(0x1ef)],'middleCount':_0x2dbc5d['middle']['length'],'endCount':_0x2dbc5d[_0x2f9d19(0x1d3)]['length'],'summaryInserted':![]}};}async['_compactWithAggressiveSummarization'](_0x1acc15,_0x530021,_0x387a25){const _0x5542d0=a0_0xa2529,_0x2f4e7c=COMPACTION_STRATEGIES['AGGRESSIVE'],_0x35cd58=await this[_0x5542d0(0x1d8)][_0x5542d0(0x1ff)](_0x1acc15,_0x530021,TOKEN_COUNTING_MODES['ACCURATE']),_0x506b41=await this['_identifySegments'](_0x1acc15,_0x530021,COMPACTION_CONFIG['AGGRESSIVE_BEGINNING_PERCENTAGE'],COMPACTION_CONFIG['AGGRESSIVE_END_PERCENTAGE']);this['logger'][_0x5542d0(0x206)]('Segments\x20identified\x20for\x20aggressive\x20compaction',{'beginningMessages':_0x506b41[_0x5542d0(0x201)]['length'],'middleMessages':_0x506b41['middle']['length'],'endMessages':_0x506b41[_0x5542d0(0x1d3)]['length'],'middleStartIndex':_0x506b41['middleStartIndex'],'middleEndIndex':_0x506b41[_0x5542d0(0x1f0)]});const _0x4bbc53=await this[_0x5542d0(0x1ce)](_0x506b41[_0x5542d0(0x21a)],_0x530021,{..._0x387a25,'aggressive':!![],'middleStartIndex':_0x506b41[_0x5542d0(0x211)],'middleEndIndex':_0x506b41['middleEndIndex']}),_0x4fc486=[..._0x506b41[_0x5542d0(0x201)],_0x4bbc53,..._0x506b41['end']],_0x1802b7=await this['tokenCountingService']['estimateConversationTokens'](_0x4fc486,_0x530021,TOKEN_COUNTING_MODES[_0x5542d0(0x1f1)]),_0x24b9ca=(_0x35cd58-_0x1802b7)/_0x35cd58*0x64;return{'compactedMessages':_0x4fc486,'strategy':_0x2f4e7c,'originalTokenCount':_0x35cd58,'compactedTokenCount':_0x1802b7,'reductionPercent':_0x24b9ca,'segments':{'beginningCount':_0x506b41[_0x5542d0(0x201)]['length'],'middleCount':_0x506b41[_0x5542d0(0x21a)]['length'],'endCount':_0x506b41['end'][_0x5542d0(0x1ef)],'summaryInserted':!![]}};}async[a0_0xa2529(0x21c)](_0x1f850f,_0x2048bb,_0x311e91,_0x17a75b){const _0x3050e0=a0_0xa2529,_0x49ef72=await this[_0x3050e0(0x1d8)][_0x3050e0(0x1ff)](_0x1f850f,_0x2048bb,TOKEN_COUNTING_MODES['ACCURATE']),_0x3eda91=Math[_0x3050e0(0x1db)](_0x49ef72*_0x311e91),_0x590d21=Math[_0x3050e0(0x1db)](_0x49ef72*_0x17a75b);let _0x511d1d=0x0,_0x226284=0x0;for(let _0x40d230=0x0;_0x40d230<_0x1f850f[_0x3050e0(0x1ef)];_0x40d230++){const _0x4d4a7f=await this[_0x3050e0(0x1d8)]['countTokens'](_0x1f850f[_0x40d230][_0x3050e0(0x1d4)],_0x2048bb,TOKEN_COUNTING_MODES[_0x3050e0(0x1e9)]);if(_0x511d1d+_0x4d4a7f>_0x3eda91&&_0x40d230>=0x2)break;_0x511d1d+=_0x4d4a7f,_0x226284=_0x40d230+0x1;}let _0x45ac9e=0x0,_0x974132=_0x1f850f['length'];for(let _0x434f8d=_0x1f850f[_0x3050e0(0x1ef)]-0x1;_0x434f8d>=0x0;_0x434f8d--){const _0x525083=await this['tokenCountingService']['countTokens'](_0x1f850f[_0x434f8d]['content'],_0x2048bb,TOKEN_COUNTING_MODES[_0x3050e0(0x1e9)]);if(_0x45ac9e+_0x525083>_0x590d21)break;_0x45ac9e+=_0x525083,_0x974132=_0x434f8d;}_0x974132<_0x226284&&(_0x974132=_0x226284);const _0xf002=_0x1f850f[_0x3050e0(0x1fb)](0x0,_0x226284),_0x44907c=_0x1f850f['slice'](_0x226284,_0x974132),_0x3af713=_0x1f850f['slice'](_0x974132);return{'beginning':_0xf002,'middle':_0x44907c,'end':_0x3af713,'middleStartIndex':_0x226284,'middleEndIndex':_0x974132-0x1};}async[a0_0xa2529(0x1ce)](_0x2ef20e,_0x2f24f0,_0x4f09c2={}){const _0x3ae340=a0_0xa2529;if(_0x2ef20e[_0x3ae340(0x1ef)]===0x0)return{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20No\x20messages\x20to\x20summarize.','type':_0x3ae340(0x1ca),'timestamp':new Date()['toISOString']()};const _0x353b4e=_0x2ef20e['map'](_0x3bc197=>_0x3bc197['role']+':\x20'+_0x3bc197[_0x3ae340(0x1d4)])[_0x3ae340(0x1cc)]('\x0a\x0a'),_0x42729b=this[_0x3ae340(0x214)]['replace'](_0x3ae340(0x1e6),_0x353b4e)['replace']('{aggressive_instruction}',_0x4f09c2['aggressive']?'\x0a\x0aIMPORTANT:\x20Be\x20VERY\x20aggressive\x20in\x20compression.\x20Prioritize\x20only\x20the\x20most\x20critical\x20information.\x20Aim\x20for\x20maximum\x20brevity\x20while\x20maintaining\x20essential\x20context.':''),_0x39e8e0=COMPACTION_CONFIG['COMPACTION_MODELS']||[],_0x53798d=[];let _0x516a2e=null;for(let _0x218534=0x0;_0x218534<_0x39e8e0[_0x3ae340(0x1ef)];_0x218534++){const _0x16db49=this['_getNextCompactionModel'](_0x218534);_0x53798d[_0x3ae340(0x1e4)](_0x16db49);try{this[_0x3ae340(0x203)]['debug'](_0x3ae340(0x1da),{'compactionModel':_0x16db49,'attempt':_0x218534+0x1,'totalModels':_0x39e8e0[_0x3ae340(0x1ef)],'middleMessageCount':_0x2ef20e[_0x3ae340(0x1ef)],'middleContentLength':_0x353b4e['length'],'aggressive':_0x4f09c2['aggressive']});const _0x4fd19f=await this[_0x3ae340(0x1f9)]['sendMessage'](_0x16db49,_0x42729b,{'systemPrompt':_0x3ae340(0x208),'maxTokens':COMPACTION_CONFIG['MAX_SUMMARY_TOKENS'],'temperature':0.3,'sessionId':_0x4f09c2['sessionId'],'platformProvided':!![]}),_0x33a689=_0x4fd19f['content']['trim'](),_0x29ab84=_0x4f09c2[_0x3ae340(0x211)]!==undefined&&_0x4f09c2[_0x3ae340(0x1f0)]!==undefined?_0x3ae340(0x1dd)+_0x4f09c2[_0x3ae340(0x211)]+'-'+_0x4f09c2['middleEndIndex']:_0x2ef20e['length']+'\x20messages';return this['logger']['info']('Summary\x20generated\x20successfully',{'compactionModel':_0x16db49,'attempt':_0x218534+0x1,'originalLength':_0x353b4e[_0x3ae340(0x1ef)],'summaryLength':_0x33a689['length'],'compressionRatio':(_0x33a689['length']/_0x353b4e[_0x3ae340(0x1ef)]*0x64)['toFixed'](0x2)+'%','indexRange':_0x29ab84}),this['_advanceCompactionModelIndex'](),{'role':'system','content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+_0x3ae340(0x1d6)+_0x29ab84+_0x3ae340(0x200)+_0x33a689+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x3ae340(0x1ca),'timestamp':new Date()[_0x3ae340(0x212)](),'metadata':{'originalMessageCount':_0x2ef20e[_0x3ae340(0x1ef)],'originalStartIndex':_0x4f09c2['middleStartIndex'],'originalEndIndex':_0x4f09c2['middleEndIndex'],'compactionModel':_0x16db49,'aggressive':_0x4f09c2['aggressive']||![]}};}catch(_0x5b64d1){_0x516a2e=_0x5b64d1;const _0x1760fc=_0x5b64d1[_0x3ae340(0x204)]?.[_0x3ae340(0x1df)]('429')||_0x5b64d1[_0x3ae340(0x204)]?.[_0x3ae340(0x1df)]('rate\x20limit');this[_0x3ae340(0x203)]['warn'](_0x3ae340(0x218),{'compactionModel':_0x16db49,'attempt':_0x218534+0x1,'remainingModels':_0x39e8e0['length']-_0x218534-0x1,'isRateLimit':_0x1760fc,'error':_0x5b64d1['message'],'middleMessageCount':_0x2ef20e['length']});}}const _0x4ac0d5={'modelsAttempted':_0x53798d,'lastError':_0x516a2e?.[_0x3ae340(0x204)],'middleMessageCount':_0x2ef20e['length'],'isRateLimitIssue':_0x516a2e?.['message']?.[_0x3ae340(0x1df)]('429')||_0x516a2e?.['message']?.[_0x3ae340(0x1df)]('rate\x20limit')};this['logger']['error']('All\x20compaction\x20models\x20exhausted',_0x4ac0d5);_0x4f09c2[_0x3ae340(0x205)]&&_0x4f09c2['onAllModelsExhausted']({'type':_0x3ae340(0x1ed),'message':_0x3ae340(0x1cd)+_0x39e8e0[_0x3ae340(0x1ef)]+'\x20models\x20are\x20currently\x20unavailable.\x20'+(_0x4ac0d5[_0x3ae340(0x1d7)]?_0x3ae340(0x1cf):'')+'\x20Using\x20simplified\x20compaction.','models':_0x53798d,'error':_0x516a2e?.[_0x3ae340(0x204)]});this['_advanceCompactionModelIndex']();const _0x284a2b=this[_0x3ae340(0x219)](_0x2ef20e),_0x4f5c80=_0x4f09c2[_0x3ae340(0x211)]!==undefined&&_0x4f09c2['middleEndIndex']!==undefined?_0x3ae340(0x1dd)+_0x4f09c2['middleStartIndex']+'-'+_0x4f09c2[_0x3ae340(0x1f0)]:_0x2ef20e['length']+_0x3ae340(0x1e5);return{'role':_0x3ae340(0x213),'content':COMPACTION_CONFIG['COMPACTION_SUMMARY_PREFIX']+'\x20-\x20'+_0x4f5c80+_0x3ae340(0x200)+_0x284a2b+'\x0a\x0a'+COMPACTION_CONFIG['COMPACTION_SUMMARY_SUFFIX'],'type':_0x3ae340(0x1ca),'timestamp':new Date()[_0x3ae340(0x212)](),'metadata':{'originalMessageCount':_0x2ef20e['length'],'originalStartIndex':_0x4f09c2[_0x3ae340(0x211)],'originalEndIndex':_0x4f09c2['middleEndIndex'],'fallback':!![],'error':_0x516a2e?.['message'],'modelsAttempted':_0x53798d,'allModelsExhausted':!![]}};}['_createFallbackSummary'](_0x414282){const _0x1a7fcd=a0_0xa2529,_0x438de7=_0x414282[_0x1a7fcd(0x1ef)],_0x41d8f6=_0x414282[_0x1a7fcd(0x202)](_0xb2fefb=>_0xb2fefb['role']),_0x5b1df1=_0x41d8f6[_0x1a7fcd(0x1f3)](_0x1c7d6f=>_0x1c7d6f==='user')[_0x1a7fcd(0x1ef)],_0x499062=_0x41d8f6[_0x1a7fcd(0x1f3)](_0x3746ed=>_0x3746ed===_0x1a7fcd(0x1e8))['length'];return'['+_0x438de7+'\x20messages\x20summarized\x20-\x20'+_0x5b1df1+'\x20user\x20messages,\x20'+_0x499062+'\x20assistant\x20responses.\x20'+_0x1a7fcd(0x1ec);}[a0_0xa2529(0x1fc)](){const _0x41a947=a0_0xa2529;return _0x41a947(0x1fa);}}export default ConversationCompactionService;
@@ -1 +1 @@
1
- function a0_0xd951(_0x429480,_0x6bf13d){_0x429480=_0x429480-0x1f4;const _0x5cd83b=a0_0x5cd8();let _0xd95180=_0x5cd83b[_0x429480];if(a0_0xd951['ZQkqSb']===undefined){var _0x52e7c5=function(_0x1ea555){const _0x326281='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xbcdd6e='',_0x563cef='';for(let _0x5b15ce=0x0,_0x84c93d,_0x41faae,_0x8d3ed3=0x0;_0x41faae=_0x1ea555['charAt'](_0x8d3ed3++);~_0x41faae&&(_0x84c93d=_0x5b15ce%0x4?_0x84c93d*0x40+_0x41faae:_0x41faae,_0x5b15ce++%0x4)?_0xbcdd6e+=String['fromCharCode'](0xff&_0x84c93d>>(-0x2*_0x5b15ce&0x6)):0x0){_0x41faae=_0x326281['indexOf'](_0x41faae);}for(let _0x15f52c=0x0,_0x12d807=_0xbcdd6e['length'];_0x15f52c<_0x12d807;_0x15f52c++){_0x563cef+='%'+('00'+_0xbcdd6e['charCodeAt'](_0x15f52c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563cef);};a0_0xd951['epKmAQ']=_0x52e7c5,a0_0xd951['lccpJX']={},a0_0xd951['ZQkqSb']=!![];}const _0x24e432=_0x5cd83b[0x0],_0x3fd0e0=_0x429480+_0x24e432,_0x2197fe=a0_0xd951['lccpJX'][_0x3fd0e0];return!_0x2197fe?(_0xd95180=a0_0xd951['epKmAQ'](_0xd95180),a0_0xd951['lccpJX'][_0x3fd0e0]=_0xd95180):_0xd95180=_0x2197fe,_0xd95180;}function a0_0x5cd8(){const _0x2dc68b=['mtCZotG0BfLwsejr','yxr0zw1WDfjLy292zxj5','zMLSzvbHDgG','B3bLCMf0Aw9U','AgfUzgXLq3jPDgLJywXfCNjVCG','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','AgfUzgXLt3bLCMf0Aw9UvgLTzw91Da','DMfSAwrHDgLVBG','zw1PDa','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','oxP2CuzWEG','Dg9VBeLK','z2v0rxjYB3jtDgf0CW','zxjYB3jZqNLuExbL','y2fSy3vSyxrLuMv0CNLezwXHEq','mZiYnJC4nxbttNncvq','C3vJy2vZCW','qvvusevoveLdqvrjt05FrKfjteve','BMfTzq','C3vIC3rY','y3jPDgLJywXfCNjVCNm','q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jrDwv1zq','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','Dg90ywXfCNjVCNm','DxbKyxrLrxjYB3jtDgf0CW','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','uKfurv9msu1jvf9fwenfrurfra','uevstuLtu0LptL9eru5jruq','zxjYB3jZqNLbz2vUDa','AxnszwnVDMvYywjSzq','DgLTzxn0yw1W','zMLSzv9VCgvYyxrPB24','nNLhtwX4sa','C3bSAwnL','Bg9Nz2vY','rxjYB3iGAgfUzgXPBMCGzMfPBgvK','ChjVy2vZC0vYCM9YuxvLDwu','Dg9ju09tDhjPBMC','z2v0','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','ota0mdGWuhbqy21J','C2v2zxjPDhK','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','rK9sqKLerevo','zxjYB3jtDgf0CW','tM8GCMvJB3zLCNKGC3rYyxrLz3KGzM91BMq','y2XHC3nPzNLfCNjVCG','vKfmsurbveLptL9fuLjpuG','CMvJB3zLCMfIBgu','B3bLCMf0Aw9Uswq','y29UzMLNDxjHDgLVBG','z2v0twf4uMv0CMLLCW','t1bfuKfusu9ox1rjtuvpvvq','C2v0','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','nti5muXesfnzDq','y29Kzq','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','AgLNAa','zgvIDwC','AxnqCM9JzxnZAw5NuxvLDwu','rxjYB3iGC3vIC2nYAwjLCIbJywXSyMfJAYbMywLSzwq','DMfSAwrHDgLVBL9YzwnVDMvYEq','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','C2HVDwXKuMv0CNK','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','AgfUzgXLrxjYB3i','zM9YrwfJAa','nJqXntq4nMvPCvPTrW','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','t3bLCMf0Aw9UihrPBwvVDxqGzgv0zwn0zwq','C2v0DxbfCNjVCLbYB2nLC3nPBMC','CMv0CNLdB3vUDa','Dg9tDhjPBMC','zxjYB3i','ndK4mtbMCNL4teK','Cg93','zxjYB3jtDwjZy3jPyMvYCW','mJvNqxbtAg4','ywrK','C3vIC2nYAwjL','BM90Awz5u3vIC2nYAwjLCNm','rufdq0vt','vu5bvvrit1jjwKve','yxbPx3jLCxvLC3q','y3jPDgLJywXfCNjVCG','DgLTzw91Da','nZm3nJG5z21Jy09w','z2vUzxjHDgvfCNjVCKLK','ChjVy2vZC0vYCM9Y','DhLWzq','Aw5PDgLHBgL6zvjLy292zxj5u3rYyxrLz2LLCW','ywn0Aw9U','DgLTzw91Df9YzwnVDMvYEq','BwvZC2fNzq','zgv0zxjTAw5LrxjYB3juExbL','y29UDgv4Da','Dg9mB3DLCKnHC2u','BgvUz3rO','Aw5MBW','zgv0zxjTAw5Lu2v2zxjPDhK','Aw5JBhvKzxm','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq','CMvHC29U','y3jPDgLJywW','Dw5Oyw5KBgvKx3jLAMvJDgLVBG','rKLmrv9ot1rFrK9vtKq','D2fYBG','C3vJy2vZC2z1BfjLy292zxjPzxm','ywDLBNrjza','ChvZAa','CMvJB3zLCNLtDhjHDgvNAwvZ','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BM93','BwLU','nty0ndCWyMniDLzv','zNjVBuvUDhjPzxm'];a0_0x5cd8=function(){return _0x2dc68b;};return a0_0x5cd8();}const a0_0x179f98=a0_0xd951;(function(_0x13d391,_0x4c1b93){const _0x8f758d=a0_0xd951,_0x447c45=_0x13d391();while(!![]){try{const _0x27794d=-parseInt(_0x8f758d(0x1f7))/0x1+parseInt(_0x8f758d(0x213))/0x2+-parseInt(_0x8f758d(0x224))/0x3+-parseInt(_0x8f758d(0x23e))/0x4*(parseInt(_0x8f758d(0x264))/0x5)+parseInt(_0x8f758d(0x236))/0x6*(parseInt(_0x8f758d(0x25a))/0x7)+-parseInt(_0x8f758d(0x215))/0x8*(parseInt(_0x8f758d(0x21f))/0x9)+-parseInt(_0x8f758d(0x261))/0xa*(-parseInt(_0x8f758d(0x24d))/0xb);if(_0x27794d===_0x4c1b93)break;else _0x447c45['push'](_0x447c45['shift']());}catch(_0x90f3d5){_0x447c45['push'](_0x447c45['shift']());}}}(a0_0x5cd8,0x99ad6));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0xbcdd6e,_0x563cef){const _0x284e4f=a0_0xd951;this['config']=_0xbcdd6e||{},this['logger']=_0x563cef,this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x284e4f(0x20f)]=new Map(),this[_0x284e4f(0x263)]=new Set(),this[_0x284e4f(0x22b)]=[],this[_0x284e4f(0x252)]=![],this['initializeRecoveryStrategies'](),this[_0x284e4f(0x25d)]();}async[a0_0x179f98(0x258)](_0x5b15ce,_0x84c93d={}){const _0x518e88=a0_0x179f98;try{const _0x41faae=this[_0x518e88(0x244)](_0x5b15ce,_0x84c93d),_0x8d3ed3=await this['processError'](_0x41faae);return this[_0x518e88(0x22e)](_0x41faae),this[_0x518e88(0x267)](_0x41faae,_0x8d3ed3),_0x8d3ed3;}catch(_0x15f52c){return this[_0x518e88(0x238)]['error'](_0x518e88(0x239),{'originalError':_0x5b15ce[_0x518e88(0x1fe)],'handlingError':_0x15f52c[_0x518e88(0x1fe)]}),{'success':![],'error':_0x15f52c,'recovery':null,'severity':_0x518e88(0x208)};}}['classifyError'](_0x12d807,_0x40575e={}){const _0x547070=a0_0x179f98,_0x5635e1={'id':this['generateErrorId'](),'timestamp':new Date()[_0x547070(0x23b)](),'message':_0x12d807['message']||_0x12d807[_0x547070(0x25f)](),'stack':_0x12d807['stack']||null,'code':_0x12d807[_0x547070(0x24e)]||null,'type':this[_0x547070(0x1ff)](_0x12d807,_0x40575e),'severity':this[_0x547070(0x204)](_0x12d807,_0x40575e),'context':{..._0x40575e},'recoverable':!![],'retryCount':_0x40575e['retryCount']||0x0,'maxRetries':this[_0x547070(0x249)](_0x12d807,_0x40575e)};return _0x40575e[_0x547070(0x20d)]&&(_0x5635e1[_0x547070(0x20d)]=_0x40575e['agentId']),_0x40575e['toolId']&&(_0x5635e1[_0x547070(0x220)]=_0x40575e[_0x547070(0x220)]),_0x40575e[_0x547070(0x247)]&&(_0x5635e1['operationId']=_0x40575e[_0x547070(0x247)]),_0x5635e1[_0x547070(0x246)]=this[_0x547070(0x233)](_0x5635e1),_0x5635e1;}async[a0_0x179f98(0x1f9)](_0x206562){const _0x53e8c9=a0_0x179f98;try{this[_0x53e8c9(0x238)][_0x53e8c9(0x260)]('Processing\x20error',{'errorId':_0x206562['id'],'type':_0x206562['type'],'severity':_0x206562[_0x53e8c9(0x23f)],'agentId':_0x206562['agentId'],'message':_0x206562[_0x53e8c9(0x1fe)]});_0x206562[_0x53e8c9(0x23f)]===_0x53e8c9(0x208)&&await this[_0x53e8c9(0x219)](_0x206562);let _0x1ac2a9=null;return _0x206562[_0x53e8c9(0x246)]&&_0x206562['retryCount']<_0x206562['maxRetries']&&(_0x1ac2a9=await this['attemptRecovery'](_0x206562)),await this['logError'](_0x206562,_0x1ac2a9),{'success':_0x1ac2a9?.['success']||![],'errorId':_0x206562['id'],'errorType':_0x206562[_0x53e8c9(0x1fa)],'severity':_0x206562[_0x53e8c9(0x23f)],'recovery':_0x1ac2a9,'shouldRetry':this[_0x53e8c9(0x256)](_0x206562,_0x1ac2a9),'retryDelay':this['calculateRetryDelay'](_0x206562)};}catch(processingError){return this['logger']['error'](_0x53e8c9(0x255),{'errorId':_0x206562['id'],'processingError':processingError[_0x53e8c9(0x1fe)]}),{'success':![],'errorId':_0x206562['id'],'errorType':_0x206562['type'],'severity':_0x53e8c9(0x208),'recovery':null,'shouldRetry':![]};}}async[a0_0x179f98(0x216)](_0x12e811){const _0x1ae1e4=a0_0x179f98;try{this[_0x1ae1e4(0x242)]['recoveryAttempts']++;const _0x57e780=this['recoveryStrategies'][_0x1ae1e4(0x23c)](_0x12e811['type'])||this['recoveryStrategies'][_0x1ae1e4(0x23c)]('default');if(!_0x57e780)return this['logger']['warn'](_0x1ae1e4(0x243),{'errorType':_0x12e811['type']}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x1ae1e4(0x238)]['info']('Attempting\x20error\x20recovery',{'errorId':_0x12e811['id'],'errorType':_0x12e811[_0x1ae1e4(0x1fa)],'strategy':_0x57e780[_0x1ae1e4(0x227)],'retryCount':_0x12e811['retryCount']});const _0x1b8e3e=await _0x57e780['recover'](_0x12e811);return _0x1b8e3e[_0x1ae1e4(0x225)]?(this[_0x1ae1e4(0x242)]['successfulRecoveries']++,this['logger'][_0x1ae1e4(0x203)]('Error\x20recovery\x20successful',{'errorId':_0x12e811['id'],'strategy':_0x57e780[_0x1ae1e4(0x227)]})):this[_0x1ae1e4(0x238)][_0x1ae1e4(0x20b)]('Error\x20recovery\x20failed',{'errorId':_0x12e811['id'],'strategy':_0x57e780[_0x1ae1e4(0x227)],'reason':_0x1b8e3e[_0x1ae1e4(0x207)]}),_0x1b8e3e;}catch(_0x3f867b){return this[_0x1ae1e4(0x238)]['error'](_0x1ae1e4(0x206),{'errorId':_0x12e811['id'],'recoveryError':_0x3f867b[_0x1ae1e4(0x1fe)]}),{'success':![],'reason':_0x1ae1e4(0x25b)+_0x3f867b[_0x1ae1e4(0x1fe)]};}}async['handleCriticalError'](_0x4f7fb9){const _0x362d8a=a0_0x179f98;try{this[_0x362d8a(0x242)][_0x362d8a(0x229)]++,this['logger'][_0x362d8a(0x260)]('Critical\x20error\x20detected',{'errorId':_0x4f7fb9['id'],'message':_0x4f7fb9[_0x362d8a(0x1fe)],'context':_0x4f7fb9['context']});typeof process!=='undefined'&&process[_0x362d8a(0x21d)]&&process['emit'](_0x362d8a(0x1f5),_0x4f7fb9);switch(_0x4f7fb9[_0x362d8a(0x1fa)]){case ERROR_TYPES['AUTHENTICATION_FAILED']:await this[_0x362d8a(0x22c)](_0x4f7fb9);break;case ERROR_TYPES[_0x362d8a(0x230)]:await this[_0x362d8a(0x257)](_0x4f7fb9);break;case ERROR_TYPES[_0x362d8a(0x24a)]:await this['handleOperationTimeout'](_0x4f7fb9);break;default:await this[_0x362d8a(0x24c)](_0x4f7fb9);}}catch(_0x4be845){this['logger']['error'](_0x362d8a(0x21a),{'errorId':_0x4f7fb9['id'],'handlingError':_0x4be845['message']});}}[a0_0x179f98(0x1ff)](_0x5a5380,_0x543e51){const _0x228395=a0_0x179f98;if(_0x5a5380['code']==='ENOENT'||_0x5a5380['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES[_0x228395(0x20a)];if(_0x5a5380['code']===_0x228395(0x268)||_0x5a5380['status']===HTTP_STATUS[_0x228395(0x241)])return ERROR_TYPES[_0x228395(0x231)];if(_0x5a5380['status']===HTTP_STATUS[_0x228395(0x269)])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0x5a5380['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x228395(0x230)];const _0x273b3b=_0x5a5380[_0x228395(0x1fe)]?.[_0x228395(0x201)]()||'';if(_0x273b3b[_0x228395(0x205)](_0x228395(0x1f6))||_0x273b3b['includes']('timed\x20out'))return ERROR_TYPES[_0x228395(0x24a)];if(_0x273b3b['includes'](_0x228395(0x21c))||_0x273b3b[_0x228395(0x205)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x273b3b['includes']('config')||_0x273b3b['includes'](_0x228395(0x248)))return ERROR_TYPES[_0x228395(0x22a)];if(_0x543e51[_0x228395(0x218)]===_0x228395(0x235))return ERROR_TYPES[_0x228395(0x20a)];if(_0x543e51['operation']===_0x228395(0x1f4))return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}['determineSeverity'](_0x388f4c,_0xebda17){const _0x3a1217=a0_0x179f98,_0x3978a3=[ERROR_TYPES[_0x3a1217(0x226)],ERROR_TYPES[_0x3a1217(0x22a)]],_0x3a5f1d=[ERROR_TYPES[_0x3a1217(0x230)],ERROR_TYPES[_0x3a1217(0x24a)],ERROR_TYPES['PERMISSION_DENIED']],_0x121da4=this['determineErrorType'](_0x388f4c,_0xebda17);if(_0x3978a3[_0x3a1217(0x205)](_0x121da4))return'critical';if(_0x3a5f1d[_0x3a1217(0x205)](_0x121da4))return'high';const _0x7379f=_0xebda17&&_0xebda17[_0x3a1217(0x25e)]||0x0;if(_0x7379f>=0x3)return'high';if(_0xebda17&&_0xebda17[_0x3a1217(0x20d)]&&_0xebda17['operation']==='agent_communication')return'medium';return'low';}[a0_0x179f98(0x233)](_0x519a0d){const _0x5f4025=a0_0x179f98,_0x4122e8=[ERROR_TYPES[_0x5f4025(0x226)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x4122e8['includes'](_0x519a0d[_0x5f4025(0x1fa)]))return![];if(_0x519a0d['retryCount']>=_0x519a0d['maxRetries'])return![];if(_0x519a0d['severity']===_0x5f4025(0x208))return![];return!![];}[a0_0x179f98(0x249)](_0x42c64,_0x3a7aea){const _0xa695fc=a0_0x179f98,_0x56055e=this['determineErrorType'](_0x42c64,_0x3a7aea),_0x18b2a3={[ERROR_TYPES['RATE_LIMIT_EXCEEDED']]:0x5,[ERROR_TYPES[_0xa695fc(0x24a)]]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES[_0xa695fc(0x245)]]:0x2,[ERROR_TYPES['UNKNOWN_ERROR']]:0x3};return _0x18b2a3[_0x56055e]||0x3;}['shouldRetry'](_0x3ac138,_0x35fd65){const _0x9b1369=a0_0x179f98;if(!_0x3ac138[_0x9b1369(0x246)])return![];if(_0x3ac138['retryCount']>=_0x3ac138['maxRetries'])return![];if(_0x35fd65&&_0x35fd65['success'])return![];return!![];}[a0_0x179f98(0x223)](_0x47c277){const _0x2e5ec4=a0_0x179f98,_0x2994e2=0x3e8,_0x1dd074=0x7530,_0x7b7bf9=_0x2994e2*Math['pow'](0x2,_0x47c277['retryCount']),_0x437dae=Math['random']()*0x3e8;return Math[_0x2e5ec4(0x212)](_0x7b7bf9+_0x437dae,_0x1dd074);}[a0_0x179f98(0x1fb)](){const _0x42beeb=a0_0x179f98;this[_0x42beeb(0x20f)][_0x42beeb(0x24b)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x5c712e=>{const _0x331ca6=_0x42beeb;if(_0x5c712e['context'][_0x331ca6(0x217)])return{'success':![],'reason':_0x331ca6(0x23d),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':'No\x20file\x20path\x20provided'};}}),this['recoveryStrategies'][_0x42beeb(0x24b)](ERROR_TYPES[_0x42beeb(0x230)],{'name':'rate_limit_recovery','recover':async _0x24d4aa=>{const _0x246bcb=_0x42beeb,_0x424af3=this[_0x246bcb(0x22f)](_0x24d4aa);return this['logger'][_0x246bcb(0x203)](_0x246bcb(0x24f),{'waitTime':_0x424af3}),await new Promise(_0xc53198=>setTimeout(_0xc53198,_0x424af3)),{'success':!![],'action':'waited_for_rate_limit','waitTime':_0x424af3};}}),this[_0x42beeb(0x20f)]['set'](ERROR_TYPES[_0x42beeb(0x24a)],{'name':_0x42beeb(0x1fd),'recover':async _0x22f6fc=>{const _0x2495fa=_0x42beeb;if(_0x22f6fc['context']['timeout']){const _0x15ee4c=Math['min'](_0x22f6fc[_0x2495fa(0x200)][_0x2495fa(0x1f6)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x15ee4c};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x42beeb(0x20f)][_0x42beeb(0x24b)](ERROR_TYPES[_0x42beeb(0x231)],{'name':'permission_recovery','recover':async _0x4cec81=>{return{'success':![],'reason':'Permission\x20errors\x20require\x20manual\x20intervention','suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x42beeb(0x20f)]['set'](ERROR_TYPES['VALIDATION_ERROR'],{'name':_0x42beeb(0x254),'recover':async _0x554a5c=>{if(_0x554a5c['context']['inputData'])return{'success':!![],'action':'data_sanitization','suggestion':'Input\x20data\x20was\x20sanitized\x20for\x20retry'};return{'success':![],'reason':'No\x20input\x20data\x20to\x20sanitize'};}}),this['recoveryStrategies'][_0x42beeb(0x24b)]('default',{'name':'default_recovery','recover':async _0x3466e6=>{const _0x19ad65=_0x42beeb,_0x2ec27d=this[_0x19ad65(0x223)](_0x3466e6);return await new Promise(_0x2ca1cb=>setTimeout(_0x2ca1cb,_0x2ec27d)),{'success':!![],'action':'delay_retry','delay':_0x2ec27d};}});}async[a0_0x179f98(0x22c)](_0x45f28f){const _0x24aee7=a0_0x179f98;this[_0x24aee7(0x238)][_0x24aee7(0x260)]('Authentication\x20failure\x20detected',{'errorId':_0x45f28f['id']});if(_0x45f28f[_0x24aee7(0x20d)]){}}async['handleRateLimitExceeded'](_0x4f7438){const _0x4be8de=a0_0x179f98,_0x45b1ef=this['calculateRateLimitWait'](_0x4f7438);this[_0x4be8de(0x238)]['warn']('Rate\x20limit\x20exceeded,\x20implementing\x20backoff',{'errorId':_0x4f7438['id'],'waitTime':_0x45b1ef,'agentId':_0x4f7438[_0x4be8de(0x20d)]});if(_0x4f7438[_0x4be8de(0x20d)]){}}async[a0_0x179f98(0x21b)](_0x4b8da7){const _0xbf5450=a0_0x179f98;this[_0xbf5450(0x238)][_0xbf5450(0x260)](_0xbf5450(0x25c),{'errorId':_0x4b8da7['id'],'operation':_0x4b8da7[_0xbf5450(0x200)][_0xbf5450(0x218)],'timeout':_0x4b8da7['context']['timeout']});}async['handleGenericCriticalError'](_0x21facb){const _0x5dc678=a0_0x179f98;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x21facb['id'],'type':_0x21facb[_0x5dc678(0x1fa)],'message':_0x21facb['message']}),_0x21facb['agentId']&&this['logger'][_0x5dc678(0x20b)](_0x5dc678(0x21e),{'agentId':_0x21facb[_0x5dc678(0x20d)]});}['calculateRateLimitWait'](_0x5d8164){const _0x953ae4=a0_0x179f98,_0x31fe5b=0xea60,_0x2b8f4e=Math[_0x953ae4(0x262)](0x2,_0x5d8164['retryCount']),_0x34611f=0x493e0;return Math['min'](_0x31fe5b*_0x2b8f4e,_0x34611f);}async['logError'](_0x15a284,_0x40ba2d){const _0x43439a=a0_0x179f98;try{const _0x12e0f5={'errorId':_0x15a284['id'],'timestamp':_0x15a284[_0x43439a(0x234)],'type':_0x15a284[_0x43439a(0x1fa)],'severity':_0x15a284[_0x43439a(0x23f)],'message':_0x15a284['message'],'agentId':_0x15a284['agentId'],'toolId':_0x15a284[_0x43439a(0x220)],'operationId':_0x15a284['operationId'],'retryCount':_0x15a284[_0x43439a(0x25e)],'recoveryAttempted':!!_0x40ba2d,'recoverySuccess':_0x40ba2d?.[_0x43439a(0x225)]||![],'recoveryAction':_0x40ba2d?.[_0x43439a(0x1fc)]||null};this[_0x43439a(0x22b)][_0x43439a(0x20e)](_0x12e0f5),!this['isProcessingQueue']&&this['processErrorQueue']();}catch(_0x1719f2){this[_0x43439a(0x238)][_0x43439a(0x260)]('Error\x20logging\x20failed',{'errorId':_0x15a284['id'],'loggingError':_0x1719f2[_0x43439a(0x1fe)]});}}async[a0_0x179f98(0x23a)](){const _0xe66589=a0_0x179f98;if(this['isProcessingQueue']||this[_0xe66589(0x22b)]['length']===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue'][_0xe66589(0x202)]>0x0){const _0x1448a9=this['errorQueue'][_0xe66589(0x237)](0x0,0xa);this[_0xe66589(0x238)][_0xe66589(0x251)]('Processing\x20error\x20batch',{'batchSize':_0x1448a9[_0xe66589(0x202)]}),await new Promise(_0x1a56e1=>setTimeout(_0x1a56e1,0x64));}}catch(processingError){this[_0xe66589(0x238)][_0xe66589(0x260)](_0xe66589(0x240),{'error':processingError['message']});}finally{this['isProcessingQueue']=![];}}[a0_0x179f98(0x25d)](){const _0x2fcaec=a0_0x179f98;setInterval(()=>{const _0x5cb9b1=a0_0xd951;this['errorQueue'][_0x5cb9b1(0x202)]>0x0&&this['processErrorQueue']();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x37fddf=>{this['handleError'](_0x37fddf,{'type':'uncaught_exception','severity':'critical'});}),process['on'](_0x2fcaec(0x210),(_0x39c9cf,_0x4ad5ff)=>{const _0x5efaa7=_0x2fcaec;this[_0x5efaa7(0x258)](new Error('Unhandled\x20Rejection:\x20'+_0x39c9cf),{'type':_0x5efaa7(0x209),'severity':_0x5efaa7(0x250),'promise':_0x4ad5ff[_0x5efaa7(0x25f)]()});}));}['updateErrorStats'](_0x3538d2){const _0x86ca0=a0_0x179f98;this[_0x86ca0(0x242)][_0x86ca0(0x22d)]++,!this['errorStats']['errorsByType']['has'](_0x3538d2['type'])&&this[_0x86ca0(0x242)][_0x86ca0(0x222)]['set'](_0x3538d2[_0x86ca0(0x1fa)],0x0),this[_0x86ca0(0x242)]['errorsByType'][_0x86ca0(0x24b)](_0x3538d2['type'],this[_0x86ca0(0x242)][_0x86ca0(0x222)]['get'](_0x3538d2['type'])+0x1),_0x3538d2[_0x86ca0(0x20d)]&&(!this['errorStats'][_0x86ca0(0x232)]['has'](_0x3538d2['agentId'])&&this['errorStats']['errorsByAgent'][_0x86ca0(0x24b)](_0x3538d2[_0x86ca0(0x20d)],0x0),this['errorStats'][_0x86ca0(0x232)]['set'](_0x3538d2[_0x86ca0(0x20d)],this[_0x86ca0(0x242)]['errorsByAgent'][_0x86ca0(0x23c)](_0x3538d2['agentId'])+0x1));}[a0_0x179f98(0x266)](_0x1b7e5d){const _0x2a4b7d=a0_0x179f98;return this['errorSubscribers'][_0x2a4b7d(0x265)](_0x1b7e5d),()=>this[_0x2a4b7d(0x263)]['delete'](_0x1b7e5d);}[a0_0x179f98(0x267)](_0x42b3ed,_0x1b3f10){const _0x54d08e=a0_0x179f98;this[_0x54d08e(0x263)][_0x54d08e(0x259)](_0x5abf97=>{const _0x10c277=_0x54d08e;try{_0x5abf97(_0x42b3ed,_0x1b3f10);}catch(_0x2c6242){this['logger']['error'](_0x10c277(0x253),{'error':_0x2c6242['message']});}});}[a0_0x179f98(0x1f8)](){const _0x12a375=a0_0x179f98;return'err_'+Date[_0x12a375(0x211)]()+'_'+Math['random']()[_0x12a375(0x25f)](0x24)[_0x12a375(0x228)](0x2,0x9);}[a0_0x179f98(0x221)](){const _0x3173f4=a0_0x179f98;return{'totalErrors':this[_0x3173f4(0x242)]['totalErrors'],'errorsByType':Object[_0x3173f4(0x214)](this['errorStats']['errorsByType']),'errorsByAgent':Object['fromEntries'](this[_0x3173f4(0x242)]['errorsByAgent']),'recoveryAttempts':this['errorStats']['recoveryAttempts'],'successfulRecoveries':this[_0x3173f4(0x242)][_0x3173f4(0x20c)],'recoverySuccessRate':this['errorStats']['recoveryAttempts']>0x0?this['errorStats'][_0x3173f4(0x20c)]/this['errorStats']['recoveryAttempts']:0x0,'criticalErrors':this[_0x3173f4(0x242)][_0x3173f4(0x229)],'queueLength':this['errorQueue'][_0x3173f4(0x202)]};}['clearErrorStats'](){this['errorStats']={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
1
+ function a0_0x2603(_0xa3465e,_0x54da8c){_0xa3465e=_0xa3465e-0x90;const _0x3c78f9=a0_0x3c78();let _0x26031e=_0x3c78f9[_0xa3465e];if(a0_0x2603['RdIEEq']===undefined){var _0x2b02cb=function(_0x45e9c6){const _0x1f1651='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5558b1='',_0x1b9638='';for(let _0x2ae84d=0x0,_0x4106b0,_0x43132a,_0x185b5a=0x0;_0x43132a=_0x45e9c6['charAt'](_0x185b5a++);~_0x43132a&&(_0x4106b0=_0x2ae84d%0x4?_0x4106b0*0x40+_0x43132a:_0x43132a,_0x2ae84d++%0x4)?_0x5558b1+=String['fromCharCode'](0xff&_0x4106b0>>(-0x2*_0x2ae84d&0x6)):0x0){_0x43132a=_0x1f1651['indexOf'](_0x43132a);}for(let _0x57902b=0x0,_0x5895b3=_0x5558b1['length'];_0x57902b<_0x5895b3;_0x57902b++){_0x1b9638+='%'+('00'+_0x5558b1['charCodeAt'](_0x57902b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9638);};a0_0x2603['HQjfhD']=_0x2b02cb,a0_0x2603['RXmvpX']={},a0_0x2603['RdIEEq']=!![];}const _0x29d232=_0x3c78f9[0x0],_0x266eaa=_0xa3465e+_0x29d232,_0x428ba3=a0_0x2603['RXmvpX'][_0x266eaa];return!_0x428ba3?(_0x26031e=a0_0x2603['HQjfhD'](_0x26031e),a0_0x2603['RXmvpX'][_0x266eaa]=_0x26031e):_0x26031e=_0x428ba3,_0x26031e;}function a0_0x3c78(){const _0x38278c=['q09orKLhvvjbveLptL9fuLjpuG','zxjYB3jZqNLuExbL','zgv0zxjTAw5LrxjYB3juExbL','y29UzMLN','nJbcBgj0vKy','ote2otn2sLzQD1C','qxr0zw1WDgLUzYbLCNjVCIbYzwnVDMvYEq','Aw5JBhvKzxm','CMv0CNLdB3vUDa','BgvUz3rO','AxnqCM9JzxnZAw5NuxvLDwu','Dg9mB3DLCKnHC2u','Cg93','Aw5MBW','C3vJy2vZC2z1BfjLy292zxjPzxm','Bg9Nz2vY','ChvZAa','D2fPDgvKx2zVCL9YyxrLx2XPBwL0','ywDLBNrFy29TBxvUAwnHDgLVBG','AgfUzgXLrxjYB3i','y29Kzq','AgfUzgXLuMf0zuXPBwL0rxHJzwvKzwq','Dg9ju09tDhjPBMC','y2fSy3vSyxrLuMf0zuXPBwL0v2fPDa','zMLSzvbHDgG','nJGYmdyWme5gy0PNEq','rxjYB3iGBg9Nz2LUzYbMywLSzwq','DhLWzq','AgfZ','otG0mtm2s2HyBLnM','ChjVy2vZC0vYCM9YuxvLDwu','sw5WDxqGzgf0ysb3yxmGC2fUAxrPEMvKigzVCIbYzxrYEq','C3vJy2vZCW','ChjVy2vZC0vYCM9Y','zgvIDwC','Bwf4uMv0CMLLCW','BM93','AgfUzgXLq3jPDgLJywXfCNjVCG','z2v0','CgvYBwLZC2LVBL9YzwnVDMvYEq','z2vUzxjHDgvfCNjVCKLK','zxjYB3jtDgf0CW','q29UC2LKzxjPBMCGywDLBNqGCgf1C2uGzhvLihrVignYAxrPy2fSigvYCM9Y','AgfUzgXLr2vUzxjPy0nYAxrPy2fSrxjYB3i','ru5pru5u','BwLU','zNjVBuvUDhjPzxm','CMvJB3zLCNLbDhrLBxb0CW','ugvYBwLZC2LVBIbLCNjVCNmGCMvXDwLYzsbTyw51ywWGAw50zxj2zw50Aw9U','uhjVy2vZC2LUzYbLCNjVCG','CMvHC29U','y2XLyxjfCNjVCLn0yxrZ','t1bfuKfusu9ox1rjtuvpvvq','n2zTELrfzG','vKfmsurbveLptL9fuLjpuG','y2XHC3nPzNLfCNjVCG','CMvJB3zLCNLtDhjHDgvNAwvZ','tM8GzMLSzsbWyxrOihbYB3zPzgvK','B3bLCMf0Aw9Uswq','zgv0zxjTAw5Lu2v2zxjPDhK','q3jPDgLJywWGzxjYB3iGAgfUzgXPBMCGzMfPBgvK','rxjYB3iGCxvLDwuGChjVy2vZC2LUzYbMywLSzwq','uKfurv9msu1jvf9fwenfrurfra','C2v2zxjPDhK','AgfUzgXLqxv0AgvUDgLJyxrPB25gywLSDxjL','y2fSy3vSyxrLuMv0CNLezwXHEq','B3bLCMf0Aw9U','C2v0','DxbKyxrLrxjYB3jtDgf0CW','ywrK','CMf0zv9SAw1PDf9YzwnVDMvYEq','mJGYndy3mMPoCw1QrW','mZK1mdG5mK1fq3bosG','yxr0zw1WDfjLy292zxj5','BwvKAxvT','v2fPDgLUzYbMB3iGCMf0zsbSAw1PDcbYzwnVDMvYEq','CMfUzg9T','Dg9VBeLK','y3jPDgLJywXfCNjVCG','zgvSzxrL','ywDLBNrjza','y29UDgv4Da','zM9YrwfJAa','mZeXmdCYs1D4tfrl','Dg9tDhjPBMC','rxjYB3iGChjVy2vZC2LUzYbMywLSzwq','CMvJB3zLCMfIBgu','tM8GAw5WDxqGzgf0ysb0BYbZyw5PDgL6zq','rK9sqKLerevo','q3jPDgLJywWGzxjYB3iGzgv0zwn0zwq','mZuYnta0ofzUEerxAG','uMf0zsbSAw1PDcbLEgnLzwrLzcWGAw1WBgvTzw50Aw5NigjHy2TVzMy','DgLTzw91Da','vu5ltK9xtL9fuLjpuG','BMfTzq','zxjYB3jrDwv1zq','uMvJB3zLCNKGyxr0zw1WDcbMywLSzwq6ia','uevstuLtu0LptL9eru5jruq','owv6zvLXAG','zxjYB3jZqNLbz2vUDa','C3bSAwnL','qvvusevoveLdqvrjt05FrKfjteve','zxjYB3jtDwjZy3jPyMvYCW','Bg93','Aw5WDxreyxrH','y29UzMLNDxjHDgLVBG','y3jPDgLJywW','C2HVDwXKuMv0CNK','rMLSzsbYzwnVDMvYEsbUB3qGAw1WBgvTzw50zwqGEwv0','D2fYBG','C2v0DxbfCNjVCLbYB2nLC3nPBMC','y3jPDgLJywXfCNjVCNm','BM90Awz5u3vIC2nYAwjLCNm','BwvZC2fNzq','zxjYB3i','zxjYxW'];a0_0x3c78=function(){return _0x38278c;};return a0_0x3c78();}const a0_0x357947=a0_0x2603;(function(_0x496323,_0x59fc8a){const _0x3f0e51=a0_0x2603,_0x89b178=_0x496323();while(!![]){try{const _0x5e24b3=-parseInt(_0x3f0e51(0x9b))/0x1+parseInt(_0x3f0e51(0xdd))/0x2+-parseInt(_0x3f0e51(0xde))/0x3+parseInt(_0x3f0e51(0xe9))/0x4*(parseInt(_0x3f0e51(0x9a))/0x5)+parseInt(_0x3f0e51(0xf0))/0x6+-parseInt(_0x3f0e51(0xcb))/0x7*(parseInt(_0x3f0e51(0xb3))/0x8)+parseInt(_0x3f0e51(0xf8))/0x9*(-parseInt(_0x3f0e51(0xaf))/0xa);if(_0x5e24b3===_0x59fc8a)break;else _0x89b178['push'](_0x89b178['shift']());}catch(_0x3d3daa){_0x89b178['push'](_0x89b178['shift']());}}}(a0_0x3c78,0xaf9de));import{ERROR_TYPES,HTTP_STATUS,AGENT_STATUS}from'../utilities/constants.js';export class ErrorHandler{constructor(_0x5558b1,_0x1b9638){const _0x4d6012=a0_0x2603;this[_0x4d6012(0x99)]=_0x5558b1||{},this['logger']=_0x1b9638,this[_0x4d6012(0xbf)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this[_0x4d6012(0xce)]=new Map(),this['errorSubscribers']=new Set(),this['errorQueue']=[],this[_0x4d6012(0xa0)]=![],this['initializeRecoveryStrategies'](),this['setupErrorProcessing']();}async[a0_0x357947(0xa9)](_0x2ae84d,_0x4106b0={}){const _0x55b6ad=a0_0x357947;try{const _0x43132a=this[_0x55b6ad(0xcd)](_0x2ae84d,_0x4106b0),_0x185b5a=await this[_0x55b6ad(0xb7)](_0x43132a);return this[_0x55b6ad(0xda)](_0x43132a),this[_0x55b6ad(0x92)](_0x43132a,_0x185b5a),_0x185b5a;}catch(_0x57902b){return this[_0x55b6ad(0xa5)]['error']('Error\x20handling\x20failed',{'originalError':_0x2ae84d['message'],'handlingError':_0x57902b[_0x55b6ad(0x93)]}),{'success':![],'error':_0x57902b,'recovery':null,'severity':'critical'};}}[a0_0x357947(0xcd)](_0x5895b3,_0x363f33={}){const _0xe5fef1=a0_0x357947,_0x2ae2dd={'id':this[_0xe5fef1(0xbe)](),'timestamp':new Date()[_0xe5fef1(0xac)](),'message':_0x5895b3['message']||_0x5895b3['toString'](),'stack':_0x5895b3['stack']||null,'code':_0x5895b3['code']||null,'type':this[_0xe5fef1(0x98)](_0x5895b3,_0x363f33),'severity':this['determineSeverity'](_0x5895b3,_0x363f33),'context':{..._0x363f33},'recoverable':!![],'retryCount':_0x363f33[_0xe5fef1(0x9e)]||0x0,'maxRetries':this['getMaxRetries'](_0x5895b3,_0x363f33)};return _0x363f33['agentId']&&(_0x2ae2dd['agentId']=_0x363f33['agentId']),_0x363f33['toolId']&&(_0x2ae2dd[_0xe5fef1(0xe3)]=_0x363f33[_0xe5fef1(0xe3)]),_0x363f33[_0xe5fef1(0xd0)]&&(_0x2ae2dd[_0xe5fef1(0xd0)]=_0x363f33['operationId']),_0x2ae2dd[_0xe5fef1(0xec)]=this['isRecoverable'](_0x2ae2dd),_0x2ae2dd;}async['processError'](_0x3fa17d){const _0x3dd1d6=a0_0x357947;try{this['logger']['error'](_0x3dd1d6(0xc7),{'errorId':_0x3fa17d['id'],'type':_0x3fa17d['type'],'severity':_0x3fa17d[_0x3dd1d6(0xd5)],'agentId':_0x3fa17d['agentId'],'message':_0x3fa17d['message']});_0x3fa17d['severity']==='critical'&&await this[_0x3dd1d6(0xbb)](_0x3fa17d);let _0x4f9030=null;return _0x3fa17d['recoverable']&&_0x3fa17d['retryCount']<_0x3fa17d[_0x3dd1d6(0xb9)]&&(_0x4f9030=await this[_0x3dd1d6(0xdf)](_0x3fa17d)),await this['logError'](_0x3fa17d,_0x4f9030),{'success':_0x4f9030?.['success']||![],'errorId':_0x3fa17d['id'],'errorType':_0x3fa17d[_0x3dd1d6(0xb1)],'severity':_0x3fa17d[_0x3dd1d6(0xd5)],'recovery':_0x4f9030,'shouldRetry':this['shouldRetry'](_0x3fa17d,_0x4f9030),'retryDelay':this[_0x3dd1d6(0xd7)](_0x3fa17d)};}catch(processingError){return this[_0x3dd1d6(0xa5)][_0x3dd1d6(0x94)](_0x3dd1d6(0xeb),{'errorId':_0x3fa17d['id'],'processingError':processingError['message']}),{'success':![],'errorId':_0x3fa17d['id'],'errorType':_0x3fa17d[_0x3dd1d6(0xb1)],'severity':'critical','recovery':null,'shouldRetry':![]};}}async[a0_0x357947(0xdf)](_0x319453){const _0x2d30cc=a0_0x357947;try{this[_0x2d30cc(0xbf)]['recoveryAttempts']++;const _0x547ebd=this['recoveryStrategies']['get'](_0x319453['type'])||this['recoveryStrategies'][_0x2d30cc(0xbc)]('default');if(!_0x547ebd)return this[_0x2d30cc(0xa5)]['warn']('No\x20recovery\x20strategy\x20found',{'errorType':_0x319453[_0x2d30cc(0xb1)]}),{'success':![],'reason':'No\x20recovery\x20strategy\x20available'};this[_0x2d30cc(0xa5)]['info'](_0x2d30cc(0x9c),{'errorId':_0x319453['id'],'errorType':_0x319453[_0x2d30cc(0xb1)],'strategy':_0x547ebd[_0x2d30cc(0xf4)],'retryCount':_0x319453[_0x2d30cc(0x9e)]});const _0x54c5d1=await _0x547ebd['recover'](_0x319453);return _0x54c5d1[_0x2d30cc(0xb6)]?(this[_0x2d30cc(0xbf)][_0x2d30cc(0xa4)]++,this[_0x2d30cc(0xa5)]['info']('Error\x20recovery\x20successful',{'errorId':_0x319453['id'],'strategy':_0x547ebd['name']})):this['logger'][_0x2d30cc(0x103)]('Error\x20recovery\x20failed',{'errorId':_0x319453['id'],'strategy':_0x547ebd[_0x2d30cc(0xf4)],'reason':_0x54c5d1[_0x2d30cc(0xc8)]}),_0x54c5d1;}catch(_0x17a15a){return this['logger']['error']('Recovery\x20attempt\x20failed',{'errorId':_0x319453['id'],'recoveryError':_0x17a15a[_0x2d30cc(0x93)]}),{'success':![],'reason':_0x2d30cc(0xf6)+_0x17a15a['message']};}}async['handleCriticalError'](_0x53e6f7){const _0x24ded6=a0_0x357947;try{this[_0x24ded6(0xbf)]['criticalErrors']++,this['logger']['error'](_0x24ded6(0xef),{'errorId':_0x53e6f7['id'],'message':_0x53e6f7['message'],'context':_0x53e6f7[_0x24ded6(0xe7)]});typeof process!=='undefined'&&process['emit']&&process['emit'](_0x24ded6(0xe4),_0x53e6f7);switch(_0x53e6f7[_0x24ded6(0xb1)]){case ERROR_TYPES[_0x24ded6(0xfb)]:await this['handleAuthenticationFailure'](_0x53e6f7);break;case ERROR_TYPES['RATE_LIMIT_EXCEEDED']:await this[_0x24ded6(0xab)](_0x53e6f7);break;case ERROR_TYPES['OPERATION_TIMEOUT']:await this['handleOperationTimeout'](_0x53e6f7);break;default:await this['handleGenericCriticalError'](_0x53e6f7);}}catch(_0x4bf74a){this['logger']['error'](_0x24ded6(0xd2),{'errorId':_0x53e6f7['id'],'handlingError':_0x4bf74a[_0x24ded6(0x93)]});}}[a0_0x357947(0x98)](_0xa6d3bb,_0x2836f4){const _0x1a9f8f=a0_0x357947;if(_0xa6d3bb['code']===_0x1a9f8f(0xc2)||_0xa6d3bb['status']===HTTP_STATUS['NOT_FOUND'])return ERROR_TYPES['FILE_NOT_FOUND'];if(_0xa6d3bb[_0x1a9f8f(0xaa)]==='EACCES'||_0xa6d3bb['status']===HTTP_STATUS[_0x1a9f8f(0xee)])return ERROR_TYPES['PERMISSION_DENIED'];if(_0xa6d3bb['status']===HTTP_STATUS['UNAUTHORIZED'])return ERROR_TYPES['AUTHENTICATION_FAILED'];if(_0xa6d3bb['status']===HTTP_STATUS['TOO_MANY_REQUESTS'])return ERROR_TYPES[_0x1a9f8f(0xd4)];const _0x428bc1=_0xa6d3bb['message']?.[_0x1a9f8f(0xa1)]()||'';if(_0x428bc1[_0x1a9f8f(0x9d)](_0x1a9f8f(0xf2))||_0x428bc1['includes']('timed\x20out'))return ERROR_TYPES[_0x1a9f8f(0xca)];if(_0x428bc1[_0x1a9f8f(0x9d)]('validation')||_0x428bc1[_0x1a9f8f(0x9d)]('invalid'))return ERROR_TYPES['VALIDATION_ERROR'];if(_0x428bc1[_0x1a9f8f(0x9d)](_0x1a9f8f(0x99))||_0x428bc1['includes'](_0x1a9f8f(0xff)))return ERROR_TYPES['CONFIGURATION_ERROR'];if(_0x2836f4['operation']==='file_operation')return ERROR_TYPES['FILE_NOT_FOUND'];if(_0x2836f4[_0x1a9f8f(0xd8)]==='api_request')return ERROR_TYPES['RATE_LIMIT_EXCEEDED'];return ERROR_TYPES['UNKNOWN_ERROR'];}[a0_0x357947(0xd1)](_0x260c92,_0xdf45f6){const _0x167c63=a0_0x357947,_0x195088=[ERROR_TYPES['AUTHENTICATION_FAILED'],ERROR_TYPES[_0x167c63(0x96)]],_0x3a48e0=[ERROR_TYPES[_0x167c63(0xd4)],ERROR_TYPES['OPERATION_TIMEOUT'],ERROR_TYPES[_0x167c63(0xf7)]],_0x41eb69=this['determineErrorType'](_0x260c92,_0xdf45f6);if(_0x195088[_0x167c63(0x9d)](_0x41eb69))return _0x167c63(0x100);if(_0x3a48e0['includes'](_0x41eb69))return'high';const _0x1e0275=_0xdf45f6&&_0xdf45f6[_0x167c63(0x9e)]||0x0;if(_0x1e0275>=0x3)return'high';if(_0xdf45f6&&_0xdf45f6[_0x167c63(0xe6)]&&_0xdf45f6['operation']===_0x167c63(0xa8))return _0x167c63(0xe0);return _0x167c63(0xfd);}['isRecoverable'](_0x167b48){const _0x51a4f8=a0_0x357947,_0x7f36db=[ERROR_TYPES[_0x51a4f8(0xfb)],ERROR_TYPES['CONFIGURATION_ERROR']];if(_0x7f36db[_0x51a4f8(0x9d)](_0x167b48['type']))return![];if(_0x167b48['retryCount']>=_0x167b48['maxRetries'])return![];if(_0x167b48['severity']===_0x51a4f8(0x100))return![];return!![];}['getMaxRetries'](_0x471c65,_0x3d465b){const _0x3b90b1=a0_0x357947,_0x4cf4db=this[_0x3b90b1(0x98)](_0x471c65,_0x3d465b),_0x4eb97e={[ERROR_TYPES[_0x3b90b1(0xd4)]]:0x5,[ERROR_TYPES['OPERATION_TIMEOUT']]:0x3,[ERROR_TYPES['FILE_NOT_FOUND']]:0x2,[ERROR_TYPES['PERMISSION_DENIED']]:0x1,[ERROR_TYPES['VALIDATION_ERROR']]:0x2,[ERROR_TYPES[_0x3b90b1(0xf3)]]:0x3};return _0x4eb97e[_0x4cf4db]||0x3;}[a0_0x357947(0x101)](_0x50a28c,_0x2b5515){const _0x46a7e6=a0_0x357947;if(!_0x50a28c[_0x46a7e6(0xec)])return![];if(_0x50a28c['retryCount']>=_0x50a28c['maxRetries'])return![];if(_0x2b5515&&_0x2b5515[_0x46a7e6(0xb6)])return![];return!![];}[a0_0x357947(0xd7)](_0x385789){const _0x2aea2e=a0_0x357947,_0x49c603=0x3e8,_0x42386d=0x7530,_0x592829=_0x49c603*Math[_0x2aea2e(0xa2)](0x2,_0x385789['retryCount']),_0x273237=Math[_0x2aea2e(0xe2)]()*0x3e8;return Math[_0x2aea2e(0xc3)](_0x592829+_0x273237,_0x42386d);}['initializeRecoveryStrategies'](){const _0x42803a=a0_0x357947;this['recoveryStrategies'][_0x42803a(0xd9)](ERROR_TYPES['FILE_NOT_FOUND'],{'name':'file_not_found_recovery','recover':async _0x10d7c2=>{const _0x3d90d0=_0x42803a;if(_0x10d7c2[_0x3d90d0(0xe7)][_0x3d90d0(0xae)])return{'success':![],'reason':_0x3d90d0(0x102),'suggestion':'Check\x20file\x20path\x20and\x20permissions'};return{'success':![],'reason':_0x3d90d0(0xcf)};}}),this[_0x42803a(0xce)]['set'](ERROR_TYPES['RATE_LIMIT_EXCEEDED'],{'name':_0x42803a(0xdc),'recover':async _0x5311d0=>{const _0x55f1ef=_0x42803a,_0x3df12b=this[_0x55f1ef(0xad)](_0x5311d0);return this[_0x55f1ef(0xa5)][_0x55f1ef(0xa3)](_0x55f1ef(0xe1),{'waitTime':_0x3df12b}),await new Promise(_0xa350d4=>setTimeout(_0xa350d4,_0x3df12b)),{'success':!![],'action':_0x55f1ef(0xa7),'waitTime':_0x3df12b};}}),this['recoveryStrategies'][_0x42803a(0xd9)](ERROR_TYPES['OPERATION_TIMEOUT'],{'name':'timeout_recovery','recover':async _0xce357f=>{const _0x2f4245=_0x42803a;if(_0xce357f[_0x2f4245(0xe7)][_0x2f4245(0xf2)]){const _0x19bbf0=Math['min'](_0xce357f[_0x2f4245(0xe7)][_0x2f4245(0xf2)]*1.5,0x493e0);return{'success':!![],'action':'increased_timeout','newTimeout':_0x19bbf0};}return{'success':![],'reason':'Cannot\x20adjust\x20timeout'};}}),this[_0x42803a(0xce)]['set'](ERROR_TYPES['PERMISSION_DENIED'],{'name':_0x42803a(0xbd),'recover':async _0x240f77=>{const _0x51b1e1=_0x42803a;return{'success':![],'reason':_0x51b1e1(0xc6),'suggestion':'Check\x20file/directory\x20permissions'};}}),this[_0x42803a(0xce)][_0x42803a(0xd9)](ERROR_TYPES[_0x42803a(0xcc)],{'name':'validation_recovery','recover':async _0x6351c1=>{const _0x213082=_0x42803a;if(_0x6351c1[_0x213082(0xe7)][_0x213082(0xfe)])return{'success':!![],'action':'data_sanitization','suggestion':_0x213082(0xb5)};return{'success':![],'reason':_0x213082(0xed)};}}),this['recoveryStrategies'][_0x42803a(0xd9)]('default',{'name':'default_recovery','recover':async _0x4a2666=>{const _0x4db50a=this['calculateRetryDelay'](_0x4a2666);return await new Promise(_0x265170=>setTimeout(_0x265170,_0x4db50a)),{'success':!![],'action':'delay_retry','delay':_0x4db50a};}});}async[a0_0x357947(0xd6)](_0x4a892b){const _0x104e2a=a0_0x357947;this[_0x104e2a(0xa5)][_0x104e2a(0x94)]('Authentication\x20failure\x20detected',{'errorId':_0x4a892b['id']});if(_0x4a892b[_0x104e2a(0xe6)]){}}async[a0_0x357947(0xab)](_0x180a63){const _0x180933=a0_0x357947,_0x6f6445=this[_0x180933(0xad)](_0x180a63);this['logger']['warn'](_0x180933(0xf1),{'errorId':_0x180a63['id'],'waitTime':_0x6f6445,'agentId':_0x180a63['agentId']});if(_0x180a63[_0x180933(0xe6)]){}}async['handleOperationTimeout'](_0x426b12){const _0x1020ab=a0_0x357947;this['logger'][_0x1020ab(0x94)]('Operation\x20timeout\x20detected',{'errorId':_0x426b12['id'],'operation':_0x426b12['context'][_0x1020ab(0xd8)],'timeout':_0x426b12['context']['timeout']});}async[a0_0x357947(0xc1)](_0x1e1b31){const _0x20d2ea=a0_0x357947;this['logger']['error']('Generic\x20critical\x20error',{'errorId':_0x1e1b31['id'],'type':_0x1e1b31[_0x20d2ea(0xb1)],'message':_0x1e1b31[_0x20d2ea(0x93)]}),_0x1e1b31['agentId']&&this['logger']['warn'](_0x20d2ea(0xc0),{'agentId':_0x1e1b31[_0x20d2ea(0xe6)]});}['calculateRateLimitWait'](_0xf85338){const _0x2ac151=a0_0x357947,_0x3f870d=0xea60,_0x810caf=Math['pow'](0x2,_0xf85338[_0x2ac151(0x9e)]),_0x58cf20=0x493e0;return Math['min'](_0x3f870d*_0x810caf,_0x58cf20);}async['logError'](_0x24b63d,_0x30f1e7){const _0x255094=a0_0x357947;try{const _0x4b0fb7={'errorId':_0x24b63d['id'],'timestamp':_0x24b63d['timestamp'],'type':_0x24b63d[_0x255094(0xb1)],'severity':_0x24b63d[_0x255094(0xd5)],'message':_0x24b63d[_0x255094(0x93)],'agentId':_0x24b63d['agentId'],'toolId':_0x24b63d[_0x255094(0xe3)],'operationId':_0x24b63d[_0x255094(0xd0)],'retryCount':_0x24b63d['retryCount'],'recoveryAttempted':!!_0x30f1e7,'recoverySuccess':_0x30f1e7?.['success']||![],'recoveryAction':_0x30f1e7?.['action']||null};this['errorQueue'][_0x255094(0xa6)](_0x4b0fb7),!this['isProcessingQueue']&&this[_0x255094(0xb4)]();}catch(_0x2f497d){this[_0x255094(0xa5)][_0x255094(0x94)](_0x255094(0xb0),{'errorId':_0x24b63d['id'],'loggingError':_0x2f497d[_0x255094(0x93)]});}}async[a0_0x357947(0xb4)](){const _0x2e0529=a0_0x357947;if(this['isProcessingQueue']||this['errorQueue'][_0x2e0529(0x9f)]===0x0)return;this['isProcessingQueue']=!![];try{while(this['errorQueue']['length']>0x0){const _0x154201=this['errorQueue'][_0x2e0529(0xfa)](0x0,0xa);this[_0x2e0529(0xa5)][_0x2e0529(0xb8)]('Processing\x20error\x20batch',{'batchSize':_0x154201[_0x2e0529(0x9f)]}),await new Promise(_0x4b4825=>setTimeout(_0x4b4825,0x64));}}catch(processingError){this[_0x2e0529(0xa5)]['error'](_0x2e0529(0xd3),{'error':processingError[_0x2e0529(0x93)]});}finally{this[_0x2e0529(0xa0)]=![];}}[a0_0x357947(0x90)](){setInterval(()=>{const _0x4cf386=a0_0x2603;this[_0x4cf386(0xf5)][_0x4cf386(0x9f)]>0x0&&this[_0x4cf386(0xb4)]();},0x1388),typeof process!=='undefined'&&(process['on']('uncaughtException',_0x188591=>{const _0x2ac4d8=a0_0x2603;this[_0x2ac4d8(0xa9)](_0x188591,{'type':'uncaught_exception','severity':'critical'});}),process['on']('unhandledRejection',(_0x15dd23,_0xf82048)=>{const _0x28c96c=a0_0x2603;this[_0x28c96c(0xa9)](new Error('Unhandled\x20Rejection:\x20'+_0x15dd23),{'type':'unhandled_rejection','severity':'high','promise':_0xf82048[_0x28c96c(0xea)]()});}));}[a0_0x357947(0xda)](_0x836ae1){const _0x2523b7=a0_0x357947;this[_0x2523b7(0xbf)]['totalErrors']++,!this[_0x2523b7(0xbf)]['errorsByType'][_0x2523b7(0xb2)](_0x836ae1['type'])&&this['errorStats'][_0x2523b7(0x97)]['set'](_0x836ae1[_0x2523b7(0xb1)],0x0),this['errorStats'][_0x2523b7(0x97)]['set'](_0x836ae1['type'],this[_0x2523b7(0xbf)]['errorsByType']['get'](_0x836ae1[_0x2523b7(0xb1)])+0x1),_0x836ae1['agentId']&&(!this[_0x2523b7(0xbf)]['errorsByAgent']['has'](_0x836ae1['agentId'])&&this[_0x2523b7(0xbf)][_0x2523b7(0xf9)][_0x2523b7(0xd9)](_0x836ae1[_0x2523b7(0xe6)],0x0),this[_0x2523b7(0xbf)]['errorsByAgent']['set'](_0x836ae1['agentId'],this['errorStats'][_0x2523b7(0xf9)][_0x2523b7(0xbc)](_0x836ae1[_0x2523b7(0xe6)])+0x1));}['subscribe'](_0x4eeb21){const _0x2aa987=a0_0x357947;return this['errorSubscribers'][_0x2aa987(0xdb)](_0x4eeb21),()=>this['errorSubscribers'][_0x2aa987(0xe5)](_0x4eeb21);}['notifySubscribers'](_0x59a170,_0x29c9e5){const _0x12547a=a0_0x357947;this[_0x12547a(0xfc)][_0x12547a(0xe8)](_0x93006c=>{const _0x44e95d=_0x12547a;try{_0x93006c(_0x59a170,_0x29c9e5);}catch(_0x28ebee){this['logger']['error']('Error\x20subscriber\x20callback\x20failed',{'error':_0x28ebee[_0x44e95d(0x93)]});}});}[a0_0x357947(0xbe)](){const _0x28a98c=a0_0x357947;return _0x28a98c(0x95)+Date[_0x28a98c(0xba)]()+'_'+Math['random']()[_0x28a98c(0xea)](0x24)['substr'](0x2,0x9);}['getErrorStats'](){const _0x171364=a0_0x357947;return{'totalErrors':this['errorStats']['totalErrors'],'errorsByType':Object['fromEntries'](this['errorStats'][_0x171364(0x97)]),'errorsByAgent':Object[_0x171364(0xc4)](this[_0x171364(0xbf)]['errorsByAgent']),'recoveryAttempts':this[_0x171364(0xbf)][_0x171364(0xc5)],'successfulRecoveries':this['errorStats'][_0x171364(0xa4)],'recoverySuccessRate':this['errorStats'][_0x171364(0xc5)]>0x0?this['errorStats']['successfulRecoveries']/this[_0x171364(0xbf)][_0x171364(0xc5)]:0x0,'criticalErrors':this['errorStats'][_0x171364(0x91)],'queueLength':this[_0x171364(0xf5)][_0x171364(0x9f)]};}[a0_0x357947(0xc9)](){const _0x282f5a=a0_0x357947;this[_0x282f5a(0xbf)]={'totalErrors':0x0,'errorsByType':new Map(),'errorsByAgent':new Map(),'recoveryAttempts':0x0,'successfulRecoveries':0x0,'criticalErrors':0x0},this['errorQueue']=[];}}export default ErrorHandler;
@@ -1 +1 @@
1
- const a0_0x228ef8=a0_0xbb24;(function(_0x37e609,_0x1b8411){const _0xf3cf6b=a0_0xbb24,_0x47a8bf=_0x37e609();while(!![]){try{const _0x2609d7=parseInt(_0xf3cf6b(0xbe))/0x1*(-parseInt(_0xf3cf6b(0xd9))/0x2)+parseInt(_0xf3cf6b(0xcc))/0x3+-parseInt(_0xf3cf6b(0xe5))/0x4+-parseInt(_0xf3cf6b(0x104))/0x5*(-parseInt(_0xf3cf6b(0xfb))/0x6)+parseInt(_0xf3cf6b(0xc1))/0x7*(-parseInt(_0xf3cf6b(0xdd))/0x8)+-parseInt(_0xf3cf6b(0xed))/0x9+-parseInt(_0xf3cf6b(0xdc))/0xa*(-parseInt(_0xf3cf6b(0x113))/0xb);if(_0x2609d7===_0x1b8411)break;else _0x47a8bf['push'](_0x47a8bf['shift']());}catch(_0x337d4e){_0x47a8bf['push'](_0x47a8bf['shift']());}}}(a0_0x4932,0xda9da));import a0_0x24e506 from'path';import{randomUUID}from'crypto';import a0_0x32bcf1 from'../utilities/fileProcessor.js';function a0_0x4932(){const _0x59d2ae=['mtq0nJC1rNHXtfPd','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','rxjYB3iGzgvSzxrPBMCGyxr0ywnOBwvUDa','z2v0rMLSzvn0yxrZ','DMfSAwrHDg9Y','Dgv4Da','C2f2zuLUzgv4','vMfSAwrHDgLVBIbMywLSzwq6ia','zMLSDgvY','Bw9Kzq','CMvMzxjLBMnLzej5','Aw5PDgLHBgL6zq','Aw1Hz2u','Aw5JBhvKzxm','odC2ntq5mfHdCuTIEG','DMfSAwq','zMLSzuv4Axn0CW','zxjYB3jZ','C3vIC3rYAw5N','Aw5KzxG','z2v0qxr0ywnOBwvUDenVBNrLBNq','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','Aw1WB3j0zwrgCM9T','nw52uuL6yq','rxjYB3iGDg9Nz2XPBMCGyxr0ywnOBwvUDa','y29UDgvUDc5IyxnLnJq','CMvMzxjLBMnL','rxjYB3iGDxbSB2fKAw5NigzPBgu','z2v0qxr0ywnOBwvUDa','C2L6zq','qxr0ywnOBwvUDcbKzwXLDgvK','DMfSAwrHDgu','qxr0ywnOBwvUDcb1CgrHDgvK','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ignVBNrLBNq','y29UDgvUDezPBgvoyw1L','CgrM','z2v0qxr0ywnOBwvUDfbYzxzPzxC','BgfZDe1VzgLMAwvK','mZG4m0z0Cg9Oqq','Bg9HzeLUzgv4','mJK4mdmXqwDJre1M','BwvZC2fNzq','ywDLBNrjza','mte5svDYENjP','CMvHzezPBgu','ChvZAa','y3jLyxrLrgLYzwn0B3j5','DxbSB2fKrMLSzq','CgfYC2u','Aw5MBW','w0LTywDLignVBNrLBNqGlsbIyxnLnJqGzw5JB2rLzf0','zxH0BMfTzq','zxn0Aw1HDgvuB2TLBNm','C3rHCNrZv2L0Aa','mJy3odCZowLItuLSsa','zMLSzvbYB2nLC3nVCG','yxr0ywnOBwvUDhm','zMLSzu5HBwu','C3rYAw5NAwz5','Dg9ju09tDhjPBMC','Bg9Nz2vY','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','z2v0twLTzvr5Cgu','zgvSzxrLqxr0ywnOBwvUDa','zgvSzxrLrgLYzwn0B3j5','y29UDgvUDc50Ehq','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','mtbHEwXLEu8','z2v0qxr0ywnOBwvUDhm','D3jPDgvgAwXL','mtKWmtb0rKjPCLG','mtK5nJGWD2Lpzg5Z','DxrMoa','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','zxjYB3i','AM9PBG','D2fYBMLUz3m','ywDLBNrszwzZ','zgf0ytPPBwfNzq','nZK1nti0qvfjt09O','rxjYB3iGzgvSzxrPBMCGywDLBNqGyxr0ywnOBwvUDhm','Bwv0ywrHDgeUANnVBG','qwDLBNqGyxr0ywnOBwvUDhmGzgvSzxrLza','BgvUz3rO','ywn0AxzL','y2fSy3vSyxrLsgfZAa','y29UDgvUDa'];a0_0x4932=function(){return _0x59d2ae;};return a0_0x4932();}import a0_0x56293c from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths[a0_0x228ef8(0xce)],INDEX_FILE=a0_0x24e506[a0_0x228ef8(0xe1)](ATTACHMENTS_DIR,'attachments-index.json');class FileAttachmentService{constructor(_0x19bdd1={},_0x59b2d0=null){const _0x17d3ed=a0_0x228ef8;this['config']=_0x19bdd1,this[_0x17d3ed(0xd2)]=_0x59b2d0,this[_0x17d3ed(0xcd)]=new a0_0x32bcf1(_0x19bdd1,_0x59b2d0),this['validator']=new a0_0x56293c(_0x19bdd1,_0x59b2d0),this['index']=null;}async[a0_0x228ef8(0xf8)](){const _0x44b38e=a0_0x228ef8;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this[_0x44b38e(0xd2)]?.[_0x44b38e(0xc7)](_0x44b38e(0xd3),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x31f828){this[_0x44b38e(0xd2)]?.[_0x44b38e(0xe0)]('Error\x20initializing\x20FileAttachmentService',{'error':_0x31f828[_0x44b38e(0xbf)]});throw _0x31f828;}}async['loadIndex'](){const _0x581d7e=a0_0x228ef8;try{const _0x34f873=await this[_0x581d7e(0xcd)][_0x581d7e(0xfd)](INDEX_FILE);if(!_0x34f873)this['index']={'attachments':{},'agentRefs':{}},await this['saveIndex']();else{const _0x3b8400=await this[_0x581d7e(0xcd)][_0x581d7e(0xc2)](INDEX_FILE,_0x581d7e(0xde));this['index']=JSON[_0x581d7e(0xc6)](_0x3b8400);}return this[_0x581d7e(0x100)];}catch(_0x4b6bd9){return this['logger']?.['error']('Error\x20loading\x20index',{'error':_0x4b6bd9['message']}),this['index']={'attachments':{},'agentRefs':{}},this['index'];}}async['saveIndex'](){const _0x34222b=a0_0x228ef8;try{await this[_0x34222b(0xcd)]['writeFile'](INDEX_FILE,JSON[_0x34222b(0xd0)](this['index'],null,0x2),'utf8');}catch(_0x1a4a95){this[_0x34222b(0xd2)]?.[_0x34222b(0xe0)]('Error\x20saving\x20index',{'error':_0x1a4a95['message']});throw _0x1a4a95;}}async[a0_0x228ef8(0xc5)]({agentId:_0x316a05,filePath:_0x59a0bd,mode:mode=a0_0x228ef8(0xec),fileName:fileName=null}){const _0x23cd6e=a0_0x228ef8;!this[_0x23cd6e(0x100)]&&await this['loadIndex']();try{const _0x4e7817=await this[_0x23cd6e(0xcd)]['fileExists'](_0x59a0bd);if(!_0x4e7817)throw new Error('File\x20not\x20found:\x20'+_0x59a0bd);const _0x283519=await this[_0x23cd6e(0xcd)][_0x23cd6e(0xf0)](_0x59a0bd),_0xfc208e=fileName||a0_0x24e506['basename'](_0x59a0bd),_0xb74b34=a0_0x24e506[_0x23cd6e(0xc9)](_0xfc208e),_0xb805f8=this['validator'][_0x23cd6e(0x10c)]({'fileName':_0xfc208e,'size':_0x283519[_0x23cd6e(0x10a)],'mode':mode,'path':mode===_0x23cd6e(0x107)?_0x59a0bd:null});if(!_0xb805f8[_0x23cd6e(0xfc)])throw new Error(_0x23cd6e(0xf4)+_0xb805f8[_0x23cd6e(0xfe)][_0x23cd6e(0xe1)](',\x20'));const _0x5b3cbf=randomUUID(),_0x1a7c41=await this['fileProcessor'][_0x23cd6e(0xeb)](_0x59a0bd),_0xdde125=this['validator']['getContentType'](_0xfc208e),_0x74079d=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x316a05,_0x5b3cbf);await this[_0x23cd6e(0xcd)][_0x23cd6e(0xc4)](_0x74079d);let _0x520844=0x0,_0x4b866b=null;if(mode==='content'){const processResult=await this[_0x23cd6e(0xcd)]['processFile'](_0x59a0bd,_0xdde125),_0x4bf58a=processResult['content'];if(_0xdde125===_0x23cd6e(0xf2))_0x4b866b=_0x23cd6e(0xd7);else{if(_0xdde125===_0x23cd6e(0xf9))_0x4b866b=_0x23cd6e(0x106);else _0xdde125===_0x23cd6e(0x110)&&(_0x4b866b='content.txt');}const _0xc02026=a0_0x24e506['join'](_0x74079d,_0x4b866b);await this[_0x23cd6e(0xcd)]['writeFile'](_0xc02026,_0x4bf58a,_0x23cd6e(0xde)),_0x520844=this[_0x23cd6e(0xcd)][_0x23cd6e(0xca)](_0x4bf58a);}const _0xdec129={'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'originalPath':_0x59a0bd,'fileType':this[_0x23cd6e(0xf1)][_0x23cd6e(0xd4)](_0xfc208e),'fileExtension':_0xb74b34,'size':_0x283519['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x283519['modified'][_0x23cd6e(0xd1)](),'hash':_0x1a7c41,'tokenEstimate':_0x520844,'contentType':_0xdde125,'contentFileName':_0x4b866b,'warnings':_0xb805f8[_0x23cd6e(0xe2)],'sizeLevel':_0xb805f8['sizeLevel'],'importedFrom':null,'referencedBy':[_0x316a05]},_0x1b09f8=a0_0x24e506['join'](_0x74079d,'metadata.json');return await this[_0x23cd6e(0xcd)]['writeFile'](_0x1b09f8,JSON['stringify'](_0xdec129,null,0x2),'utf8'),this[_0x23cd6e(0x100)][_0x23cd6e(0xce)][_0x5b3cbf]={'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'mode':mode,'active':_0xdec129[_0x23cd6e(0xea)],'referencedBy':_0xdec129[_0x23cd6e(0xf7)]},!this[_0x23cd6e(0x100)][_0x23cd6e(0xe3)][_0x316a05]&&(this['index']['agentRefs'][_0x316a05]=[]),this['index'][_0x23cd6e(0xe3)][_0x316a05]['push'](_0x5b3cbf),await this[_0x23cd6e(0xf3)](),this['logger']?.['info']('File\x20uploaded',{'fileId':_0x5b3cbf,'agentId':_0x316a05,'fileName':_0xfc208e,'mode':mode}),_0xdec129;}catch(_0x2c503c){this['logger']?.[_0x23cd6e(0xe0)](_0x23cd6e(0x108),{'agentId':_0x316a05,'filePath':_0x59a0bd,'error':_0x2c503c[_0x23cd6e(0xbf)]});throw _0x2c503c;}}async[a0_0x228ef8(0xda)](_0x5ca878,_0x1eef12={}){const _0x140db1=a0_0x228ef8;!this['index']&&await this[_0x140db1(0x114)]();try{const _0x915594=this[_0x140db1(0x100)][_0x140db1(0xe3)][_0x5ca878]||[],_0x4e9e31=[];for(const _0x1b26da of _0x915594){const _0x1e7ccc=await this['getAttachment'](_0x1b26da);if(_0x1e7ccc){if(_0x1eef12[_0x140db1(0xea)]!==undefined&&_0x1e7ccc['active']!==_0x1eef12[_0x140db1(0xea)])continue;if(_0x1eef12['mode']&&_0x1e7ccc['mode']!==_0x1eef12['mode'])continue;_0x4e9e31['push'](_0x1e7ccc);}}return _0x4e9e31;}catch(_0x168baa){this[_0x140db1(0xd2)]?.['error']('Error\x20getting\x20attachments',{'agentId':_0x5ca878,'error':_0x168baa['message']});throw _0x168baa;}}async['getAttachment'](_0x2e05c3){const _0x4cb415=a0_0x228ef8;!this[_0x4cb415(0x100)]&&await this['loadIndex']();try{const _0x39411e=this['index'][_0x4cb415(0xce)][_0x2e05c3];if(!_0x39411e)return null;const _0x3d753b=a0_0x24e506[_0x4cb415(0xe1)](ATTACHMENTS_DIR,_0x39411e[_0x4cb415(0xc0)],_0x2e05c3,_0x4cb415(0xe7)),_0x114a70=await this[_0x4cb415(0xcd)]['fileExists'](_0x3d753b);if(!_0x114a70)return this[_0x4cb415(0xd2)]?.['warn']('Metadata\x20file\x20not\x20found',{'fileId':_0x2e05c3}),null;const _0x43622e=await this[_0x4cb415(0xcd)][_0x4cb415(0xc2)](_0x3d753b,'utf8');return JSON[_0x4cb415(0xc6)](_0x43622e);}catch(_0x4b1cf8){return this[_0x4cb415(0xd2)]?.[_0x4cb415(0xe0)]('Error\x20getting\x20attachment',{'fileId':_0x2e05c3,'error':_0x4b1cf8[_0x4cb415(0xbf)]}),null;}}async[a0_0x228ef8(0x101)](_0x30220c){const _0x36f298=a0_0x228ef8;try{const _0x21f7ee=await this['getAttachment'](_0x30220c);if(!_0x21f7ee||_0x21f7ee[_0x36f298(0xf6)]!==_0x36f298(0xec))return null;const _0x1b7739=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x21f7ee['agentId'],_0x30220c,_0x21f7ee[_0x36f298(0x10f)]),_0x2b04e0=await this['fileProcessor']['fileExists'](_0x1b7739);if(!_0x2b04e0)return null;return await this[_0x36f298(0xcd)]['readFile'](_0x1b7739,_0x36f298(0xde));}catch(_0x39c658){return this['logger']?.[_0x36f298(0xe0)](_0x36f298(0x10e),{'fileId':_0x30220c,'error':_0x39c658['message']}),null;}}async['toggleActive'](_0x1db8fb){const _0x1d5265=a0_0x228ef8;try{const _0x4d702d=await this[_0x1d5265(0x109)](_0x1db8fb);if(!_0x4d702d)throw new Error(_0x1d5265(0xd8)+_0x1db8fb);_0x4d702d[_0x1d5265(0xea)]=!_0x4d702d['active'],_0x4d702d['lastModified']=new Date()[_0x1d5265(0xd1)]();const _0x19bf7f=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x4d702d[_0x1d5265(0xc0)],_0x1db8fb,_0x1d5265(0xe7));return await this['fileProcessor']['writeFile'](_0x19bf7f,JSON[_0x1d5265(0xd0)](_0x4d702d,null,0x2),'utf8'),this[_0x1d5265(0x100)][_0x1d5265(0xce)][_0x1db8fb]&&(this['index']['attachments'][_0x1db8fb]['active']=_0x4d702d[_0x1d5265(0xea)],await this['saveIndex']()),this[_0x1d5265(0xd2)]?.['info']('Attachment\x20active\x20state\x20toggled',{'fileId':_0x1db8fb,'active':_0x4d702d['active']}),_0x4d702d;}catch(_0x1ce0b3){this[_0x1d5265(0xd2)]?.['error'](_0x1d5265(0x105),{'fileId':_0x1db8fb,'error':_0x1ce0b3[_0x1d5265(0xbf)]});throw _0x1ce0b3;}}async['updateAttachment'](_0x421351,_0x291fe4){const _0x3bbdd5=a0_0x228ef8;try{const _0x5206b8=await this[_0x3bbdd5(0x109)](_0x421351);if(!_0x5206b8)throw new Error(_0x3bbdd5(0xd8)+_0x421351);const _0x510f43=[_0x3bbdd5(0xcf),_0x3bbdd5(0xea)];for(const _0x43b4c9 of _0x510f43){_0x291fe4[_0x43b4c9]!==undefined&&(_0x5206b8[_0x43b4c9]=_0x291fe4[_0x43b4c9]);}_0x5206b8[_0x3bbdd5(0x112)]=new Date()[_0x3bbdd5(0xd1)]();const _0x10729f=a0_0x24e506[_0x3bbdd5(0xe1)](ATTACHMENTS_DIR,_0x5206b8['agentId'],_0x421351,'metadata.json');return await this[_0x3bbdd5(0xcd)]['writeFile'](_0x10729f,JSON[_0x3bbdd5(0xd0)](_0x5206b8,null,0x2),_0x3bbdd5(0xde)),this['index'][_0x3bbdd5(0xce)][_0x421351]&&(_0x291fe4[_0x3bbdd5(0xcf)]&&(this[_0x3bbdd5(0x100)][_0x3bbdd5(0xce)][_0x421351][_0x3bbdd5(0xcf)]=_0x291fe4['fileName']),_0x291fe4[_0x3bbdd5(0xea)]!==undefined&&(this['index']['attachments'][_0x421351]['active']=_0x291fe4[_0x3bbdd5(0xea)]),await this['saveIndex']()),this['logger']?.['info'](_0x3bbdd5(0x10d),{'fileId':_0x421351,'updates':_0x291fe4}),_0x5206b8;}catch(_0x175a9c){this['logger']?.[_0x3bbdd5(0xe0)]('Error\x20updating\x20attachment',{'fileId':_0x421351,'error':_0x175a9c['message']});throw _0x175a9c;}}async[a0_0x228ef8(0xd5)](_0x232d8a,_0x29b55b){const _0x36a2e4=a0_0x228ef8;try{const _0x3f2810=await this[_0x36a2e4(0x109)](_0x232d8a);if(!_0x3f2810)throw new Error('Attachment\x20not\x20found:\x20'+_0x232d8a);_0x3f2810['referencedBy']=_0x3f2810['referencedBy'][_0x36a2e4(0xf5)](_0x56f029=>_0x56f029!==_0x29b55b);if(_0x3f2810['referencedBy']['length']>0x0){const _0x5c9bbc=a0_0x24e506[_0x36a2e4(0xe1)](ATTACHMENTS_DIR,_0x3f2810['agentId'],_0x232d8a,'metadata.json');return await this[_0x36a2e4(0xcd)]['writeFile'](_0x5c9bbc,JSON[_0x36a2e4(0xd0)](_0x3f2810,null,0x2),_0x36a2e4(0xde)),this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a]&&(this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a]['referencedBy']=_0x3f2810[_0x36a2e4(0xf7)]),this['index']['agentRefs'][_0x29b55b]&&(this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]=this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]['filter'](_0x4a7ee4=>_0x4a7ee4!==_0x232d8a)),await this['saveIndex'](),this[_0x36a2e4(0xd2)]?.['info'](_0x36a2e4(0xdf),{'fileId':_0x232d8a,'agentId':_0x29b55b,'remainingRefs':_0x3f2810[_0x36a2e4(0xf7)][_0x36a2e4(0xe9)]}),![];}const _0x12b619=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x3f2810['agentId'],_0x232d8a);return await this['fileProcessor'][_0x36a2e4(0xd6)](_0x12b619),delete this[_0x36a2e4(0x100)][_0x36a2e4(0xce)][_0x232d8a],this[_0x36a2e4(0x100)][_0x36a2e4(0xe3)][_0x29b55b]&&(this[_0x36a2e4(0x100)]['agentRefs'][_0x29b55b]=this['index'][_0x36a2e4(0xe3)][_0x29b55b]['filter'](_0x3ce8c2=>_0x3ce8c2!==_0x232d8a)),await this[_0x36a2e4(0xf3)](),this['logger']?.['info'](_0x36a2e4(0x10b),{'fileId':_0x232d8a,'agentId':_0x29b55b}),!![];}catch(_0x320a8a){this['logger']?.[_0x36a2e4(0xe0)](_0x36a2e4(0xef),{'fileId':_0x232d8a,'agentId':_0x29b55b,'error':_0x320a8a[_0x36a2e4(0xbf)]});throw _0x320a8a;}}async[a0_0x228ef8(0x102)](_0x4794ed){const _0x57d15=a0_0x228ef8;try{const _0x472a26=this[_0x57d15(0x100)][_0x57d15(0xe3)][_0x4794ed]||[];let _0x206d21=0x0,_0x3b45bc=0x0;for(const _0x51f7d8 of _0x472a26){const _0x5f053c=await this['deleteAttachment'](_0x51f7d8,_0x4794ed);_0x5f053c?_0x206d21++:_0x3b45bc++;}return this[_0x57d15(0xd2)]?.[_0x57d15(0xc7)](_0x57d15(0xe8),{'agentId':_0x4794ed,'deleted':_0x206d21,'dereferenced':_0x3b45bc}),{'deleted':_0x206d21,'dereferenced':_0x3b45bc};}catch(_0x564b04){this['logger']?.['error'](_0x57d15(0xe6),{'agentId':_0x4794ed,'error':_0x564b04[_0x57d15(0xbf)]});throw _0x564b04;}}async['importFromAgent'](_0x3d0502,_0x2f2632){const _0x40d9e3=a0_0x228ef8;try{const _0x4fb505=await this[_0x40d9e3(0x109)](_0x3d0502);if(!_0x4fb505)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x3d0502);!_0x4fb505[_0x40d9e3(0xf7)]['includes'](_0x2f2632)&&_0x4fb505[_0x40d9e3(0xf7)][_0x40d9e3(0xc3)](_0x2f2632);_0x4fb505[_0x40d9e3(0x112)]=new Date()[_0x40d9e3(0xd1)](),_0x4fb505[_0x40d9e3(0x103)]=_0x4fb505['agentId'];const _0x3b6b77=a0_0x24e506['join'](ATTACHMENTS_DIR,_0x4fb505['agentId'],_0x3d0502,_0x40d9e3(0xe7));return await this[_0x40d9e3(0xcd)][_0x40d9e3(0xdb)](_0x3b6b77,JSON[_0x40d9e3(0xd0)](_0x4fb505,null,0x2),'utf8'),this[_0x40d9e3(0x100)]['attachments'][_0x3d0502]&&(this[_0x40d9e3(0x100)]['attachments'][_0x3d0502]['referencedBy']=_0x4fb505[_0x40d9e3(0xf7)]),!this['index'][_0x40d9e3(0xe3)][_0x2f2632]&&(this[_0x40d9e3(0x100)]['agentRefs'][_0x2f2632]=[]),!this['index']['agentRefs'][_0x2f2632][_0x40d9e3(0xfa)](_0x3d0502)&&this[_0x40d9e3(0x100)][_0x40d9e3(0xe3)][_0x2f2632]['push'](_0x3d0502),await this['saveIndex'](),this[_0x40d9e3(0xd2)]?.['info']('Attachment imported',{'sourceFileId':_0x3d0502,'targetAgentId':_0x2f2632}),_0x4fb505;}catch(_0x2fa7fb){this['logger']?.['error']('Error importing attachment',{'sourceFileId':_0x3d0502,'targetAgentId':_0x2f2632,'error':_0x2fa7fb[_0x40d9e3(0xbf)]});throw _0x2fa7fb;}}async['getActiveAttachments'](_0x3f2a83){const _0x1eb94e=a0_0x228ef8;return await this[_0x1eb94e(0xda)](_0x3f2a83,{'active':!![]});}async[a0_0x228ef8(0x111)](_0x1d3f2c){const _0x589e06=a0_0x228ef8;try{const _0x375cd9=await this[_0x589e06(0x101)](_0x1d3f2c);if(!_0x375cd9)return null;if(_0x375cd9[_0x589e06(0xcb)](_0x589e06(0xe4)))return _0x589e06(0xc8);return _0x375cd9[_0x589e06(0xe9)]>0x3e8?_0x375cd9[_0x589e06(0xff)](0x0,0x3e8)+'...':_0x375cd9;}catch(_0xb7688f){return this['logger']?.[_0x589e06(0xe0)](_0x589e06(0xee),{'fileId':_0x1d3f2c,'error':_0xb7688f[_0x589e06(0xbf)]}),null;}}}function a0_0xbb24(_0x6aabc1,_0x41c7a9){_0x6aabc1=_0x6aabc1-0xbe;const _0x493291=a0_0x4932();let _0xbb246a=_0x493291[_0x6aabc1];if(a0_0xbb24['dWxkxa']===undefined){var _0x515f5b=function(_0x38e5f4){const _0x159997='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24e506='',_0x32bcf1='';for(let _0x56293c=0x0,_0x19bdd1,_0x59b2d0,_0x31f828=0x0;_0x59b2d0=_0x38e5f4['charAt'](_0x31f828++);~_0x59b2d0&&(_0x19bdd1=_0x56293c%0x4?_0x19bdd1*0x40+_0x59b2d0:_0x59b2d0,_0x56293c++%0x4)?_0x24e506+=String['fromCharCode'](0xff&_0x19bdd1>>(-0x2*_0x56293c&0x6)):0x0){_0x59b2d0=_0x159997['indexOf'](_0x59b2d0);}for(let _0x34f873=0x0,_0x3b8400=_0x24e506['length'];_0x34f873<_0x3b8400;_0x34f873++){_0x32bcf1+='%'+('00'+_0x24e506['charCodeAt'](_0x34f873)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32bcf1);};a0_0xbb24['SmvdoF']=_0x515f5b,a0_0xbb24['ETtzum']={},a0_0xbb24['dWxkxa']=!![];}const _0x28f927=_0x493291[0x0],_0x5bb624=_0x6aabc1+_0x28f927,_0x401ecc=a0_0xbb24['ETtzum'][_0x5bb624];return!_0x401ecc?(_0xbb246a=a0_0xbb24['SmvdoF'](_0xbb246a),a0_0xbb24['ETtzum'][_0x5bb624]=_0xbb246a):_0xbb246a=_0x401ecc,_0xbb246a;}export default FileAttachmentService;
1
+ const a0_0x55e363=a0_0x51b2;(function(_0x525ec2,_0x1b0931){const _0x253060=a0_0x51b2,_0x3a8131=_0x525ec2();while(!![]){try{const _0x4e279a=parseInt(_0x253060(0xe0))/0x1+-parseInt(_0x253060(0xdf))/0x2*(parseInt(_0x253060(0xba))/0x3)+parseInt(_0x253060(0xfd))/0x4+parseInt(_0x253060(0xc4))/0x5*(-parseInt(_0x253060(0xfb))/0x6)+parseInt(_0x253060(0xef))/0x7*(parseInt(_0x253060(0xd6))/0x8)+parseInt(_0x253060(0xf2))/0x9*(parseInt(_0x253060(0xbe))/0xa)+parseInt(_0x253060(0xb9))/0xb*(-parseInt(_0x253060(0xbd))/0xc);if(_0x4e279a===_0x1b0931)break;else _0x3a8131['push'](_0x3a8131['shift']());}catch(_0x30bc51){_0x3a8131['push'](_0x3a8131['shift']());}}}(a0_0x5c01,0x9d8f9));import a0_0x1c0b27 from'path';import{randomUUID}from'crypto';import a0_0xe9e833 from'../utilities/fileProcessor.js';import a0_0x26a168 from'../utilities/attachmentValidator.js';import{getUserDataPaths}from'../utilities/userDataDir.js';const userPaths=getUserDataPaths(),ATTACHMENTS_DIR=userPaths['attachments'],INDEX_FILE=a0_0x1c0b27[a0_0x55e363(0xd4)](ATTACHMENTS_DIR,a0_0x55e363(0xc0));function a0_0x51b2(_0x1a6407,_0x5e54f0){_0x1a6407=_0x1a6407-0xb3;const _0x5c016d=a0_0x5c01();let _0x51b209=_0x5c016d[_0x1a6407];if(a0_0x51b2['pnxsEC']===undefined){var _0x11f9c8=function(_0x4ab456){const _0x1af8a9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c0b27='',_0xe9e833='';for(let _0x26a168=0x0,_0x4d8be7,_0x43e964,_0x41e70d=0x0;_0x43e964=_0x4ab456['charAt'](_0x41e70d++);~_0x43e964&&(_0x4d8be7=_0x26a168%0x4?_0x4d8be7*0x40+_0x43e964:_0x43e964,_0x26a168++%0x4)?_0x1c0b27+=String['fromCharCode'](0xff&_0x4d8be7>>(-0x2*_0x26a168&0x6)):0x0){_0x43e964=_0x1af8a9['indexOf'](_0x43e964);}for(let _0x10014e=0x0,_0x216dc2=_0x1c0b27['length'];_0x10014e<_0x216dc2;_0x10014e++){_0xe9e833+='%'+('00'+_0x1c0b27['charCodeAt'](_0x10014e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe9e833);};a0_0x51b2['qAZgoQ']=_0x11f9c8,a0_0x51b2['jIXoCC']={},a0_0x51b2['pnxsEC']=!![];}const _0x2e4db3=_0x5c016d[0x0],_0x216354=_0x1a6407+_0x2e4db3,_0x5f5345=a0_0x51b2['jIXoCC'][_0x216354];return!_0x5f5345?(_0x51b209=a0_0x51b2['qAZgoQ'](_0x51b209),a0_0x51b2['jIXoCC'][_0x216354]=_0x51b209):_0x51b209=_0x5f5345,_0x51b209;}function a0_0x5c01(){const _0x248cca=['yxr0ywnOBwvUDhmTAw5KzxGUANnVBG','DxrMoa','zMLSDgvY','Bwv0ywrHDgeUANnVBG','oda2nvzPCvDQuG','yxr0ywnOBwvUDhm','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50','CMvHzezPBgu','zMLSzvbYB2nLC3nVCG','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50ihbYzxzPzxC','ywDLBNrjza','z2v0rMLSzvn0yxrZ','zMLSzuv4Axn0CW','Aw5JBhvKzxm','ChvZAa','Dg9ju09tDhjPBMC','BwvZC2fNzq','Bw9KAwzPzwq','BgfZDe1VzgLMAwvK','qxr0ywnOBwvUDcbUB3qGzM91BMq6ia','AM9PBG','rxjYB3iGAw5PDgLHBgL6Aw5NiezPBgvbDhrHy2HTzw50u2vYDMLJzq','oePPtMrxsa','zgf0ytPPBwfNzq','C3vIC3rYAw5N','DxbKyxrLqxr0ywnOBwvUDa','z2v0q29UDgvUDfr5Cgu','zxH0BMfTzq','C3rYAw5NAwz5','y3jLyxrLrgLYzwn0B3j5','ywn0AxzL','otm5ndK2yLvsC2vp','mtaWmJKYnwf3wxzSrW','C2L6zq','qxr0ywnOBwvUDcbKzxjLzMvYzw5Jzwq','ChjVy2vZC0zPBgu','twv0ywrHDgeGzMLSzsbUB3qGzM91BMq','y29UDgvUDa','CMvMzxjLBMnL','rxjYB3iGDxbKyxrPBMCGyxr0ywnOBwvUDa','rxjYB3iGDxbSB2fKAw5NigzPBgu','z2v0qxr0ywnOBwvUDa','rxjYB3iGBg9HzgLUzYbPBMrLEa','DMfSAwrHDgu','ywDLBNrszwzZ','CgfYC2u','z2v0twLTzvr5Cgu','oduWmJq0nxfWB2HvqW','BgvUz3rO','z2v0qwn0AxzLqxr0ywnOBwvUDhm','otGXt3PhqKzb','rMLSzsbUB3qGzM91BMq6ia','C2f2zuLUzgv4','Aw5MBW','zMLSzu5HBwu','DMfSAwrHDg9Y','Aw5PDgLHBgL6zq','zgvSzxrLqxr0ywnOBwvUDa','Aw1WB3j0zwrgCM9T','ndmYDxnyEePP','Aw5KzxG','mtCXote1mMjXvgPSqq','Bg9HzeLUzgv4','Bg9Nz2vY','Bw9Kzq','zxjYB3i','rxjYB3iGz2v0DgLUzYbHDhrHy2HTzw50CW','yMfZzw5HBwu','zgvSzxrLqwDLBNrbDhrHy2HTzw50CW','rMLSzuf0DgfJAg1LBNrtzxj2AwnLigLUAxrPywXPEMvK','ndrJCLPNAuu','nKvfyvD4EG','D3jPDgvgAwXL','CMvMzxjLBMnLzej5','ndy4mZy0ohDNyNfhqW','nty0mtbkyvD0A2y','y29UDgvUDc50Ehq'];a0_0x5c01=function(){return _0x248cca;};return a0_0x5c01();}class FileAttachmentService{constructor(_0x4d8be7={},_0x43e964=null){const _0x19f0c7=a0_0x55e363;this['config']=_0x4d8be7,this[_0x19f0c7(0xff)]=_0x43e964,this[_0x19f0c7(0xc8)]=new a0_0xe9e833(_0x4d8be7,_0x43e964),this['validator']=new a0_0x26a168(_0x4d8be7,_0x43e964),this['index']=null;}async[a0_0x55e363(0xf8)](){const _0x586efd=a0_0x55e363;try{await this['fileProcessor']['createDirectory'](ATTACHMENTS_DIR),await this['loadIndex'](),this[_0x586efd(0xff)]?.[_0x586efd(0xf5)](_0x586efd(0xb8),{'attachmentsDir':ATTACHMENTS_DIR});}catch(_0x41e70d){this['logger']?.[_0x586efd(0xb4)](_0x586efd(0xd5),{'error':_0x41e70d['message']});throw _0x41e70d;}}async[a0_0x55e363(0xfe)](){const _0x3046ca=a0_0x55e363;try{const _0x10014e=await this['fileProcessor']['fileExists'](INDEX_FILE);if(!_0x10014e)this['index']={'attachments':{},'agentRefs':{}},await this[_0x3046ca(0xf4)]();else{const _0x216dc2=await this[_0x3046ca(0xc8)][_0x3046ca(0xc7)](INDEX_FILE,_0x3046ca(0xc1));this['index']=JSON[_0x3046ca(0xed)](_0x216dc2);}return this['index'];}catch(_0x2f934e){return this['logger']?.[_0x3046ca(0xb4)](_0x3046ca(0xea),{'error':_0x2f934e[_0x3046ca(0xd0)]}),this[_0x3046ca(0xfc)]={'attachments':{},'agentRefs':{}},this[_0x3046ca(0xfc)];}}async['saveIndex'](){const _0x23e72a=a0_0x55e363;try{await this['fileProcessor']['writeFile'](INDEX_FILE,JSON[_0x23e72a(0xdc)](this['index'],null,0x2),'utf8');}catch(_0x153028){this['logger']?.[_0x23e72a(0xb4)]('Error\x20saving\x20index',{'error':_0x153028[_0x23e72a(0xd0)]});throw _0x153028;}}async['uploadFile']({agentId:_0x19d24a,filePath:_0x32c78b,mode:mode=a0_0x55e363(0xe5),fileName:fileName=null}){const _0x2dbc54=a0_0x55e363;!this[_0x2dbc54(0xfc)]&&await this['loadIndex']();try{const _0x4a71a6=await this[_0x2dbc54(0xc8)]['fileExists'](_0x32c78b);if(!_0x4a71a6)throw new Error(_0x2dbc54(0xf3)+_0x32c78b);const _0x45927a=await this[_0x2dbc54(0xc8)][_0x2dbc54(0xcb)](_0x32c78b),_0x479c2a=fileName||a0_0x1c0b27[_0x2dbc54(0xb6)](_0x32c78b),_0x2c7bb1=a0_0x1c0b27[_0x2dbc54(0xdb)](_0x479c2a),_0xb3587f=this[_0x2dbc54(0xf7)][_0x2dbc54(0xeb)]({'fileName':_0x479c2a,'size':_0x45927a[_0x2dbc54(0xe1)],'mode':mode,'path':mode===_0x2dbc54(0xe6)?_0x32c78b:null});if(!_0xb3587f['valid'])throw new Error('Validation\x20failed:\x20'+_0xb3587f['errors'][_0x2dbc54(0xd4)](',\x20'));const _0x56c468=randomUUID(),_0x4ad2ac=await this[_0x2dbc54(0xc8)]['calculateHash'](_0x32c78b),_0x4ba526=this['validator'][_0x2dbc54(0xda)](_0x479c2a),_0x188823=a0_0x1c0b27[_0x2dbc54(0xd4)](ATTACHMENTS_DIR,_0x19d24a,_0x56c468);await this['fileProcessor'][_0x2dbc54(0xdd)](_0x188823);let _0x2d81c1=0x0,_0x5b9220=null;if(mode==='content'){const processResult=await this[_0x2dbc54(0xc8)][_0x2dbc54(0xe3)](_0x32c78b,_0x4ba526),_0x3c9216=processResult['content'];if(_0x4ba526==='text')_0x5b9220=_0x2dbc54(0xbf);else{if(_0x4ba526==='image')_0x5b9220='content.base64';else _0x4ba526==='pdf'&&(_0x5b9220=_0x2dbc54(0xbf));}const _0x22399f=a0_0x1c0b27['join'](_0x188823,_0x5b9220);await this[_0x2dbc54(0xc8)]['writeFile'](_0x22399f,_0x3c9216,_0x2dbc54(0xc1)),_0x2d81c1=this['fileProcessor']['estimateTokens'](_0x3c9216);}const _0x1ef9c3={'fileId':_0x56c468,'agentId':_0x19d24a,'fileName':_0x479c2a,'originalPath':_0x32c78b,'fileType':this[_0x2dbc54(0xf7)][_0x2dbc54(0xee)](_0x479c2a),'fileExtension':_0x2c7bb1,'size':_0x45927a['size'],'mode':mode,'active':!![],'uploadedAt':new Date()['toISOString'](),'lastModified':_0x45927a[_0x2dbc54(0xd1)][_0x2dbc54(0xcf)](),'hash':_0x4ad2ac,'tokenEstimate':_0x2d81c1,'contentType':_0x4ba526,'contentFileName':_0x5b9220,'warnings':_0xb3587f['warnings'],'sizeLevel':_0xb3587f['sizeLevel'],'importedFrom':null,'referencedBy':[_0x19d24a]},_0x4a7b85=a0_0x1c0b27['join'](_0x188823,_0x2dbc54(0xc3));return await this[_0x2dbc54(0xc8)]['writeFile'](_0x4a7b85,JSON['stringify'](_0x1ef9c3,null,0x2),'utf8'),this[_0x2dbc54(0xfc)][_0x2dbc54(0xc5)][_0x56c468]={'fileId':_0x56c468,'agentId':_0x19d24a,'fileName':_0x479c2a,'mode':mode,'active':_0x1ef9c3[_0x2dbc54(0xde)],'referencedBy':_0x1ef9c3['referencedBy']},!this[_0x2dbc54(0xfc)][_0x2dbc54(0xec)][_0x19d24a]&&(this['index']['agentRefs'][_0x19d24a]=[]),this[_0x2dbc54(0xfc)]['agentRefs'][_0x19d24a]['push'](_0x56c468),await this[_0x2dbc54(0xf4)](),this['logger']?.[_0x2dbc54(0xf5)]('File\x20uploaded',{'fileId':_0x56c468,'agentId':_0x19d24a,'fileName':_0x479c2a,'mode':mode}),_0x1ef9c3;}catch(_0x33d934){this['logger']?.['error'](_0x2dbc54(0xe8),{'agentId':_0x19d24a,'filePath':_0x32c78b,'error':_0x33d934[_0x2dbc54(0xd0)]});throw _0x33d934;}}async['getAttachments'](_0x4f46b1,_0x379b91={}){const _0x41822d=a0_0x55e363;!this['index']&&await this['loadIndex']();try{const _0x1a34e2=this[_0x41822d(0xfc)][_0x41822d(0xec)][_0x4f46b1]||[],_0x12e5ab=[];for(const _0x21d688 of _0x1a34e2){const _0x3d5529=await this[_0x41822d(0xe9)](_0x21d688);if(_0x3d5529){if(_0x379b91['active']!==undefined&&_0x3d5529[_0x41822d(0xde)]!==_0x379b91['active'])continue;if(_0x379b91[_0x41822d(0xb3)]&&_0x3d5529[_0x41822d(0xb3)]!==_0x379b91[_0x41822d(0xb3)])continue;_0x12e5ab['push'](_0x3d5529);}}return _0x12e5ab;}catch(_0x5723e7){this['logger']?.[_0x41822d(0xb4)](_0x41822d(0xb5),{'agentId':_0x4f46b1,'error':_0x5723e7[_0x41822d(0xd0)]});throw _0x5723e7;}}async['getAttachment'](_0x492c3d){const _0x37222d=a0_0x55e363;!this[_0x37222d(0xfc)]&&await this[_0x37222d(0xfe)]();try{const _0x21531d=this[_0x37222d(0xfc)][_0x37222d(0xc5)][_0x492c3d];if(!_0x21531d)return null;const _0x380819=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0x21531d[_0x37222d(0xca)],_0x492c3d,_0x37222d(0xc3)),_0x250dca=await this['fileProcessor'][_0x37222d(0xcc)](_0x380819);if(!_0x250dca)return this[_0x37222d(0xff)]?.['warn'](_0x37222d(0xe4),{'fileId':_0x492c3d}),null;const _0x420474=await this[_0x37222d(0xc8)][_0x37222d(0xc7)](_0x380819,_0x37222d(0xc1));return JSON[_0x37222d(0xed)](_0x420474);}catch(_0x440e99){return this['logger']?.[_0x37222d(0xb4)](_0x37222d(0xc6),{'fileId':_0x492c3d,'error':_0x440e99[_0x37222d(0xd0)]}),null;}}async['getAttachmentContent'](_0x21cacc){const _0x1636d8=a0_0x55e363;try{const _0x59484b=await this[_0x1636d8(0xe9)](_0x21cacc);if(!_0x59484b||_0x59484b['mode']!==_0x1636d8(0xe5))return null;const _0x4f4e9e=a0_0x1c0b27[_0x1636d8(0xd4)](ATTACHMENTS_DIR,_0x59484b['agentId'],_0x21cacc,_0x59484b['contentFileName']),_0x472a83=await this[_0x1636d8(0xc8)][_0x1636d8(0xcc)](_0x4f4e9e);if(!_0x472a83)return null;return await this[_0x1636d8(0xc8)]['readFile'](_0x4f4e9e,'utf8');}catch(_0x4f6201){return this['logger']?.['error']('Error\x20getting\x20attachment\x20content',{'fileId':_0x21cacc,'error':_0x4f6201['message']}),null;}}async['toggleActive'](_0x442910){const _0x490019=a0_0x55e363;try{const _0x253e5a=await this['getAttachment'](_0x442910);if(!_0x253e5a)throw new Error('Attachment\x20not\x20found:\x20'+_0x442910);_0x253e5a['active']=!_0x253e5a['active'],_0x253e5a['lastModified']=new Date()['toISOString']();const _0x41865e=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0x253e5a['agentId'],_0x442910,_0x490019(0xc3));return await this['fileProcessor']['writeFile'](_0x41865e,JSON['stringify'](_0x253e5a,null,0x2),_0x490019(0xc1)),this[_0x490019(0xfc)][_0x490019(0xc5)][_0x442910]&&(this[_0x490019(0xfc)]['attachments'][_0x442910]['active']=_0x253e5a['active'],await this[_0x490019(0xf4)]()),this[_0x490019(0xff)]?.[_0x490019(0xf5)]('Attachment\x20active\x20state\x20toggled',{'fileId':_0x442910,'active':_0x253e5a[_0x490019(0xde)]}),_0x253e5a;}catch(_0x3ff2dd){this[_0x490019(0xff)]?.['error']('Error\x20toggling\x20attachment',{'fileId':_0x442910,'error':_0x3ff2dd[_0x490019(0xd0)]});throw _0x3ff2dd;}}async[a0_0x55e363(0xd9)](_0xab8992,_0x36cb39){const _0x32ffe6=a0_0x55e363;try{const _0x37183d=await this[_0x32ffe6(0xe9)](_0xab8992);if(!_0x37183d)throw new Error(_0x32ffe6(0xd3)+_0xab8992);const _0x39ec76=[_0x32ffe6(0xf6),_0x32ffe6(0xde)];for(const _0x177302 of _0x39ec76){_0x36cb39[_0x177302]!==undefined&&(_0x37183d[_0x177302]=_0x36cb39[_0x177302]);}_0x37183d['lastModified']=new Date()['toISOString']();const _0x37be25=a0_0x1c0b27[_0x32ffe6(0xd4)](ATTACHMENTS_DIR,_0x37183d[_0x32ffe6(0xca)],_0xab8992,'metadata.json');return await this[_0x32ffe6(0xc8)]['writeFile'](_0x37be25,JSON['stringify'](_0x37183d,null,0x2),'utf8'),this[_0x32ffe6(0xfc)][_0x32ffe6(0xc5)][_0xab8992]&&(_0x36cb39['fileName']&&(this['index']['attachments'][_0xab8992][_0x32ffe6(0xf6)]=_0x36cb39[_0x32ffe6(0xf6)]),_0x36cb39['active']!==undefined&&(this[_0x32ffe6(0xfc)][_0x32ffe6(0xc5)][_0xab8992]['active']=_0x36cb39['active']),await this['saveIndex']()),this['logger']?.['info']('Attachment\x20updated',{'fileId':_0xab8992,'updates':_0x36cb39}),_0x37183d;}catch(_0x298794){this[_0x32ffe6(0xff)]?.[_0x32ffe6(0xb4)](_0x32ffe6(0xe7),{'fileId':_0xab8992,'error':_0x298794[_0x32ffe6(0xd0)]});throw _0x298794;}}async['deleteAttachment'](_0x1fee66,_0x25b4c0){const _0x513f1e=a0_0x55e363;try{const _0x238b06=await this[_0x513f1e(0xe9)](_0x1fee66);if(!_0x238b06)throw new Error('Attachment\x20not\x20found:\x20'+_0x1fee66);_0x238b06['referencedBy']=_0x238b06[_0x513f1e(0xbc)]['filter'](_0xf4051e=>_0xf4051e!==_0x25b4c0);if(_0x238b06[_0x513f1e(0xbc)][_0x513f1e(0xf0)]>0x0){const _0x27f6f7=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0x238b06['agentId'],_0x1fee66,'metadata.json');return await this['fileProcessor'][_0x513f1e(0xbb)](_0x27f6f7,JSON[_0x513f1e(0xdc)](_0x238b06,null,0x2),'utf8'),this[_0x513f1e(0xfc)]['attachments'][_0x1fee66]&&(this['index'][_0x513f1e(0xc5)][_0x1fee66]['referencedBy']=_0x238b06['referencedBy']),this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]&&(this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]=this['index'][_0x513f1e(0xec)][_0x25b4c0][_0x513f1e(0xc2)](_0x27851f=>_0x27851f!==_0x1fee66)),await this['saveIndex'](),this['logger']?.[_0x513f1e(0xf5)](_0x513f1e(0xe2),{'fileId':_0x1fee66,'agentId':_0x25b4c0,'remainingRefs':_0x238b06['referencedBy'][_0x513f1e(0xf0)]}),![];}const _0x17323a=a0_0x1c0b27[_0x513f1e(0xd4)](ATTACHMENTS_DIR,_0x238b06[_0x513f1e(0xca)],_0x1fee66);return await this[_0x513f1e(0xc8)]['deleteDirectory'](_0x17323a),delete this['index']['attachments'][_0x1fee66],this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]&&(this[_0x513f1e(0xfc)][_0x513f1e(0xec)][_0x25b4c0]=this[_0x513f1e(0xfc)]['agentRefs'][_0x25b4c0]['filter'](_0x30937a=>_0x30937a!==_0x1fee66)),await this[_0x513f1e(0xf4)](),this['logger']?.['info']('Attachment\x20deleted',{'fileId':_0x1fee66,'agentId':_0x25b4c0}),!![];}catch(_0x5470ae){this['logger']?.['error']('Error\x20deleting\x20attachment',{'fileId':_0x1fee66,'agentId':_0x25b4c0,'error':_0x5470ae['message']});throw _0x5470ae;}}async[a0_0x55e363(0xb7)](_0x1a43c4){const _0x1c3bd3=a0_0x55e363;try{const _0x4a8838=this['index']['agentRefs'][_0x1a43c4]||[];let _0x5e05a2=0x0,_0x5216bd=0x0;for(const _0x3d4b07 of _0x4a8838){const _0x1d4b83=await this[_0x1c3bd3(0xf9)](_0x3d4b07,_0x1a43c4);_0x1d4b83?_0x5e05a2++:_0x5216bd++;}return this['logger']?.['info']('Agent\x20attachments\x20deleted',{'agentId':_0x1a43c4,'deleted':_0x5e05a2,'dereferenced':_0x5216bd}),{'deleted':_0x5e05a2,'dereferenced':_0x5216bd};}catch(_0x2ed612){this[_0x1c3bd3(0xff)]?.['error']('Error\x20deleting\x20agent\x20attachments',{'agentId':_0x1a43c4,'error':_0x2ed612[_0x1c3bd3(0xd0)]});throw _0x2ed612;}}async['importFromAgent'](_0x4d4103,_0x50a3ef){const _0xe9c555=a0_0x55e363;try{const _0xaa5757=await this['getAttachment'](_0x4d4103);if(!_0xaa5757)throw new Error('Source\x20attachment\x20not\x20found:\x20'+_0x4d4103);!_0xaa5757[_0xe9c555(0xbc)][_0xe9c555(0xcd)](_0x50a3ef)&&_0xaa5757['referencedBy'][_0xe9c555(0xce)](_0x50a3ef);_0xaa5757[_0xe9c555(0xd2)]=new Date()[_0xe9c555(0xcf)](),_0xaa5757[_0xe9c555(0xfa)]=_0xaa5757['agentId'];const _0x121aa0=a0_0x1c0b27['join'](ATTACHMENTS_DIR,_0xaa5757[_0xe9c555(0xca)],_0x4d4103,'metadata.json');return await this['fileProcessor'][_0xe9c555(0xbb)](_0x121aa0,JSON['stringify'](_0xaa5757,null,0x2),'utf8'),this[_0xe9c555(0xfc)][_0xe9c555(0xc5)][_0x4d4103]&&(this['index'][_0xe9c555(0xc5)][_0x4d4103][_0xe9c555(0xbc)]=_0xaa5757['referencedBy']),!this[_0xe9c555(0xfc)][_0xe9c555(0xec)][_0x50a3ef]&&(this[_0xe9c555(0xfc)]['agentRefs'][_0x50a3ef]=[]),!this[_0xe9c555(0xfc)]['agentRefs'][_0x50a3ef]['includes'](_0x4d4103)&&this[_0xe9c555(0xfc)][_0xe9c555(0xec)][_0x50a3ef][_0xe9c555(0xce)](_0x4d4103),await this['saveIndex'](),this['logger']?.[_0xe9c555(0xf5)]('Attachment imported',{'sourceFileId':_0x4d4103,'targetAgentId':_0x50a3ef}),_0xaa5757;}catch(_0x14a6bc){this[_0xe9c555(0xff)]?.['error']('Error importing attachment',{'sourceFileId':_0x4d4103,'targetAgentId':_0x50a3ef,'error':_0x14a6bc[_0xe9c555(0xd0)]});throw _0x14a6bc;}}async[a0_0x55e363(0xf1)](_0x3289e8){return await this['getAttachments'](_0x3289e8,{'active':!![]});}async['getAttachmentPreview'](_0x2c23cb){const _0x32f6aa=a0_0x55e363;try{const _0x36f62f=await this['getAttachmentContent'](_0x2c23cb);if(!_0x36f62f)return null;if(_0x36f62f['startsWith'](_0x32f6aa(0xd7)))return'[Image\x20content\x20-\x20base64\x20encoded]';return _0x36f62f['length']>0x3e8?_0x36f62f[_0x32f6aa(0xd8)](0x0,0x3e8)+'...':_0x36f62f;}catch(_0x4e2ce7){return this[_0x32f6aa(0xff)]?.[_0x32f6aa(0xb4)](_0x32f6aa(0xc9),{'fileId':_0x2c23cb,'error':_0x4e2ce7['message']}),null;}}}export default FileAttachmentService;
@@ -1 +1 @@
1
- const a0_0x4933c3=a0_0x4523;(function(_0x31a911,_0x57e5a2){const _0x4d85f4=a0_0x4523,_0x108497=_0x31a911();while(!![]){try{const _0x160d48=-parseInt(_0x4d85f4(0x15a))/0x1+-parseInt(_0x4d85f4(0x15d))/0x2+parseInt(_0x4d85f4(0x156))/0x3+parseInt(_0x4d85f4(0x168))/0x4+-parseInt(_0x4d85f4(0x17a))/0x5*(-parseInt(_0x4d85f4(0x173))/0x6)+parseInt(_0x4d85f4(0x18e))/0x7*(parseInt(_0x4d85f4(0x161))/0x8)+-parseInt(_0x4d85f4(0x18c))/0x9;if(_0x160d48===_0x57e5a2)break;else _0x108497['push'](_0x108497['shift']());}catch(_0x3d0470){_0x108497['push'](_0x108497['shift']());}}}(a0_0x3f02,0x56fc3));function a0_0x3f02(){const _0x5e3399=['lIaQkG','cGOJiYbsB3v0Aw5NierLy2LZAw9UcKfUywX5EMuGDgHLign1CNjLBNqGBwvZC2fNzsbHBMqGy29UDMvYC2f0Aw9UignVBNrLEhqGDg8GC2vSzwn0ihrOzsbIzxn0ig1VzgvSlIbdB25ZAwrLCJOkcJeUicOQvgfZAYbuExbLkIO6ieLUzMvYigzYB20Gy29UDMvYC2f0Aw9UignVBNrLBNqGlsbPCYb0AgLZignVzgLUzYWGyw5HBhLZAxmSignYzwf0AxzLihDYAxrPBMCSig9YigeGCxvPy2SGDgfZAZ8kmI4GkIPdB21WBgv4Axr5kIO6ierVzxmGAxqGCMvXDwLYzsbKzwvWihjLyxnVBMLUzYbVCIbPCYbPDcbZDhjHAwDODgzVCNDHCMq/cJmUicOQq29UDgv4DcOQoIbbCMuGDgHLCMuGy29KzsbMAwXLCYbVCIb0zwnOBMLJywWGCMvMzxjLBMnLCZ8knc4GkIPdB252zxjZyxrPB24GrMXVDYOQoIbxAgf0igHHCYbIzwvUigrPC2n1C3nLzcbYzwnLBNrSEsb0BYb1BMrLCNn0yw5KihrOzsbVDMvYywXSihrHC2S/cJuUicOQrwzMAwnPzw5JEsOQoIbcywXHBMnLihbLCMzVCM1HBMnLihDPDgGGy29ZDc9ZCgvLzcbUzwvKCWOkuMvZCg9Uzcb3AxrOiePtt04GB25SEtOkEWOGicjZzwXLy3rLze1VzgvSiJOGiM1VzgvSlw5HBwuIlaOGicj0yxnRvhLWzsi6icjJB2rPBMD8yw5HBhLZAxn8y3jLyxrPDMv8CxvPy2STDgfZA3mIlaOGicjJB25MAwrLBMnLiJOGmc44nsWkicaICMvHC29UAw5NiJOGiKjYAwvMigv4CgXHBMf0Aw9Uig9MihDOEsb0AgLZig1VzgvSihDHCYbJAg9Zzw4IlaOGicjMywn0B3jZiJOGwYjMywn0B3iXiIWGiMzHy3rVCJiIlcaIzMfJDg9YmYjDcN0','nJvuCeDgz3i','zxjYB3i','Dg9ju09tDhjPBMC','BwfW','yMvUy2HTyxjRu2vYDMLJzq','CgfYC2LUzY1LCNjVCG','Dg9Wtw9KzwXZ','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','qu5usfjpueLdx09qvvm','revfufnfruTFuJe','BMfTzq','cIOQq29UDgvUDcOQoIa','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','CMvHC29UAw5N','y3vYCMvUDe1LC3nHz2u','rMfPBgvKihrVihbHCNnLihjVDxrPBMCGCMvZCg9UC2u','ktOG','CMvXDwvZDfrPBwvVDxq','mtm2nZKXovLcC1HUqW','tM8Gzgf0yq','mteYotq3mwX3swTxDG','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','q09ovevyvf9nrvntquDfu19dt1vova','tM8GCMvHC29UAw5NihbYB3zPzgvK','DgfZA1r5Cgu','uM91DgvYihrLC3qGzMfPBgvK','DgfZA3m','y29UDgvUDa','CM9Szq','tM8GsLnptIbMB3vUzcbPBIbHDxrVCgLSB3qTBw9KzwWTCM91DgvYihjLC3bVBNnL','y29UzMLN','ywLtzxj2AwnL','x2fZA0zVCLjVDxrPBMC','D2fYBG','Bg9Nz2vY','z2v0u3rHDhvZ','x2zVCM1HDfjLy2vUDe1LC3nHz2vZ','y29UDgv4Dfr5CgvZ','mJa5mJCXnMXwvwn3rG','DxnLCG','BgvUz3rO','z2v0qMvUy2HTyxjRvgfIBgu','mZy2mdm0qLbdDfrr','yxbPs2v5','tw9KzwWGCM91DgLUzYbJB21WBgv0zwq','nZyWmZaYs0rtsLPR','u3rHCNrPBMCGBw9KzwWGCM91DgLUzYbHBMfSExnPCW','BwvZC2fNzq','C2vSzwn0zwrnB2rLBa','ogj1wNHWCa','C2nVCMu','C3rYzw5NDgHZ','C3vIC3rYAw5N','Aw5MBW','CM91DgvYtw9KzwW','ww91igfYzsbHig1VzgvSihjVDxrPBMCGzxHWzxj0lIbbBMfSExPLignVBNzLCNnHDgLVBNmGyw5KihnLBgvJDcbVChrPBwfSiefjig1VzgvSCY4GqwX3yxLZihjLC3bVBMqGD2L0Acb2ywXPzcbku09oig9UBhKU','mZC1nJeYsKvete5r','x2j1AwXKuM91DgLUz0nVBNrLEhq','zgvIDwC','x3bHCNnLuM91DgLUz1jLC3bVBNnL','y29UDgv4De1LC3nHz2vZq291BNq','DgLTzxn0yw1W','Bw9KzwWTCM91DgvY','cImJiYbnB2rLBcbezxrHAwXZcG','C2XPy2u','zM9YrwfJAa','kIO6ia','mtm5mJe4ugjQuwTS','x2zVCM1HDejLBMnOBwfYA0rHDge','C3vTBwfYEq','r1buxZq','AM9PBG'];a0_0x3f02=function(){return _0x5e3399;};return a0_0x3f02();}import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';function a0_0x4523(_0x386bbd,_0x51be4d){_0x386bbd=_0x386bbd-0x14b;const _0x3f02c8=a0_0x3f02();let _0x4523bf=_0x3f02c8[_0x386bbd];if(a0_0x4523['AAfhSD']===undefined){var _0x4aba0f=function(_0x2e438f){const _0x1b8731='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43b47c='',_0x445754='';for(let _0x3092dc=0x0,_0x43af32,_0x1d3eb2,_0x5a8d11=0x0;_0x1d3eb2=_0x2e438f['charAt'](_0x5a8d11++);~_0x1d3eb2&&(_0x43af32=_0x3092dc%0x4?_0x43af32*0x40+_0x1d3eb2:_0x1d3eb2,_0x3092dc++%0x4)?_0x43b47c+=String['fromCharCode'](0xff&_0x43af32>>(-0x2*_0x3092dc&0x6)):0x0){_0x1d3eb2=_0x1b8731['indexOf'](_0x1d3eb2);}for(let _0x52623c=0x0,_0x8d77ef=_0x43b47c['length'];_0x52623c<_0x8d77ef;_0x52623c++){_0x445754+='%'+('00'+_0x43b47c['charCodeAt'](_0x52623c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x445754);};a0_0x4523['SmipJU']=_0x4aba0f,a0_0x4523['Bwqape']={},a0_0x4523['AAfhSD']=!![];}const _0x3e3871=_0x3f02c8[0x0],_0x2ae7c0=_0x386bbd+_0x3e3871,_0x57a53c=a0_0x4523['Bwqape'][_0x2ae7c0];return!_0x57a53c?(_0x4523bf=a0_0x4523['SmipJU'](_0x4523bf),a0_0x4523['Bwqape'][_0x2ae7c0]=_0x4523bf):_0x4523bf=_0x57a53c,_0x4523bf;}class ModelRouterService{constructor(_0x43b47c,_0x445754,_0x3092dc,_0x43af32){const _0x81566b=a0_0x4523;this[_0x81566b(0x14e)]=_0x43b47c,this[_0x81566b(0x152)]=_0x445754,this[_0x81566b(0x17e)]=_0x3092dc,this['aiService']=_0x43af32,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this[_0x81566b(0x16c)]=MODEL_ROUTER_CONFIG[_0x81566b(0x190)],this['requestTimeout']=MODEL_ROUTER_CONFIG['REQUEST_TIMEOUT'];}async['routeMessage'](_0x1d3eb2,_0x5a8d11=[],_0x52623c='',_0x8d77ef=[],_0x2e5cf5={}){const _0x303d82=a0_0x4523;try{this[_0x303d82(0x152)][_0x303d82(0x16a)](_0x303d82(0x15e),{'messageLength':_0x1d3eb2[_0x303d82(0x14b)]?.['length']||0x0,'recentMessagesCount':_0x5a8d11[_0x303d82(0x158)],'currentModel':_0x52623c,'availableModelsCount':_0x8d77ef['length']});const _0x56a38c=this['_buildRoutingContext'](_0x1d3eb2,_0x5a8d11,_0x52623c,_0x8d77ef),_0xa5e970=this[_0x303d82(0x17e)][_0x303d82(0x159)](),_0x4198d5=this['_createRoutingPrompt'](_0x56a38c,_0xa5e970),_0x5150e8=await this[_0x303d82(0x150)](_0x4198d5,_0x2e5cf5),_0x5330e6=this['_validateModelSelection'](_0x5150e8,_0x8d77ef,_0x52623c);return this['logger']['info'](_0x303d82(0x15c),{'selectedModel':_0x5330e6,'previousModel':_0x52623c,'changed':_0x5330e6!==_0x52623c,'reasoning':_0x5150e8['reasoning']?.['substring'](0x0,0x64)||_0x303d82(0x191)}),{'selectedModel':_0x5330e6,'previousModel':_0x52623c,'changed':_0x5330e6!==_0x52623c,'reasoning':_0x5150e8[_0x303d82(0x187)]||_0x303d82(0x191)};}catch(_0x51e6e2){this[_0x303d82(0x152)][_0x303d82(0x17b)]('Model\x20routing\x20failed,\x20falling\x20back\x20to\x20current\x20model',{'error':_0x51e6e2['message'],'currentModel':_0x52623c});const _0x3c5e86=_0x52623c||_0x8d77ef[0x0]||MODELS['ANTHROPIC_SONNET'];return{'selectedModel':_0x3c5e86,'previousModel':_0x52623c,'changed':![],'reasoning':_0x303d82(0x18f)};}}[a0_0x4933c3(0x169)](_0x33d6a7,_0x107ea3,_0x33701b,_0x5a34b0){const _0x92c50f=a0_0x4933c3,_0x4a9c4d=_0x107ea3[_0x92c50f(0x170)](-this[_0x92c50f(0x16c)])['map'](_0x277603=>({'role':_0x277603[_0x92c50f(0x14c)],'content':_0x277603['content']?.['substring'](0x0,0x1f4)||'','timestamp':_0x277603[_0x92c50f(0x16d)]}));return{'currentMessage':{'content':_0x33d6a7[_0x92c50f(0x14b)]?.[_0x92c50f(0x164)](0x0,0x3e8)||'','role':_0x33d6a7['role']||_0x92c50f(0x157),'hasContextReferences':!!_0x33d6a7['contextReferences']?.[_0x92c50f(0x158)],'contextTypes':_0x33d6a7['contextReferences']?.['map'](_0x1635cd=>_0x1635cd['type'])||[]},'recentMessages':_0x4a9c4d,'currentModel':_0x33701b,'availableModels':_0x5a34b0['map'](_0x2be982=>({'name':_0x2be982,'isCurrentModel':_0x2be982===_0x33701b})),'messageCount':_0x107ea3[_0x92c50f(0x158)]+0x1,'timestamp':new Date()[_0x92c50f(0x17c)]()};}['_createRoutingPrompt'](_0x1ea672,_0x33c90f){const _0x1f4ebd=a0_0x4933c3;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'+(_0x1ea672['currentModel']||'None')+'\x0a-\x20**Message\x20Count**:\x20'+_0x1ea672['messageCount']+'\x0a-\x20**Available\x20Models**:\x20'+_0x1ea672['availableModels'][_0x1f4ebd(0x17d)](_0x4db882=>_0x4db882['name'])['join'](',\x20')+'\x0a\x0a##\x20Recent\x20Conversation\x20Context\x0a'+this[_0x1f4ebd(0x154)](_0x1ea672['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0x1ea672[_0x1f4ebd(0x188)]['role']+_0x1f4ebd(0x185)+_0x1ea672['currentMessage'][_0x1f4ebd(0x14b)]+_0x1f4ebd(0x186)+_0x1ea672[_0x1f4ebd(0x188)]['hasContextReferences']+'\x0a'+(_0x1ea672[_0x1f4ebd(0x188)][_0x1f4ebd(0x155)][_0x1f4ebd(0x158)]>0x0?'**Context\x20Types**:\x20'+_0x1ea672[_0x1f4ebd(0x188)]['contextTypes'][_0x1f4ebd(0x177)](',\x20'):'')+'\x0a\x0a##\x20Model\x20Benchmark\x20Data\x0a'+this[_0x1f4ebd(0x174)](_0x33c90f)+_0x1f4ebd(0x179);}[a0_0x4933c3(0x154)](_0x263808){const _0x1d1981=a0_0x4933c3;if(!_0x263808[_0x1d1981(0x158)])return'No\x20recent\x20messages\x20available.';return _0x263808['map']((_0x5babb8,_0x5c836f)=>_0x5c836f+0x1+_0x1d1981(0x178)+_0x5babb8[_0x1d1981(0x14c)]+'**:\x20'+_0x5babb8['content'])[_0x1d1981(0x177)]('\x0a');}['_formatBenchmarkData'](_0x160558){const _0x225eda=a0_0x4933c3,_0x14910d=_0x160558['models']||[],_0x23deb4=_0x160558[_0x225eda(0x194)]||{},_0x3861d8=_0x160558[_0x225eda(0x175)]||{};let _0x5e4fbb='###\x20Model\x20Performance\x20Summary\x0a';return Object['entries'](_0x23deb4)[_0x225eda(0x171)](([_0x1d5e6b,_0x2a659d])=>{const _0x64a546=_0x225eda;_0x5e4fbb+='**'+_0x1d5e6b['toUpperCase']()+'**\x20('+_0x2a659d['description']+_0x64a546(0x18a)+(_0x2a659d[_0x64a546(0x180)]?.[_0x64a546(0x177)](',\x20')||_0x64a546(0x18d))+'\x0a';}),_0x5e4fbb+=_0x225eda(0x16f),_0x14910d['slice'](0x0,0x8)['forEach'](_0x2eefb6=>{const _0x19567b=_0x225eda;_0x5e4fbb+='**'+_0x2eefb6[_0x19567b(0x184)]+_0x19567b(0x172);const _0x29b1db=Object['entries'](_0x2eefb6[_0x19567b(0x194)]||{})[_0x19567b(0x17d)](([_0x440869,_0x54d218])=>_0x440869+'('+_0x54d218[_0x19567b(0x162)]+')')[_0x19567b(0x177)](',\x20');_0x5e4fbb+=_0x29b1db+'\x20|\x20Strengths:\x20'+(_0x2eefb6[_0x19567b(0x163)]?.[_0x19567b(0x177)](',\x20')||'N/A')+'\x0a';}),_0x5e4fbb;}async[a0_0x4933c3(0x150)](_0x3c73a8,_0x35b1ca={}){const _0x2739d6=a0_0x4933c3;try{const _0x1d5eca=await this[_0x2739d6(0x14f)]['sendMessage'](this[_0x2739d6(0x166)],_0x3c73a8,{'agentId':_0x2739d6(0x16e),'systemPrompt':_0x2739d6(0x167),'temperature':0.3,'maxTokens':0x1f4,'timeout':this[_0x2739d6(0x18b)],'sessionId':_0x35b1ca['sessionId'],'apiKey':_0x35b1ca['apiKey']||this[_0x2739d6(0x14e)][_0x2739d6(0x15b)],'customApiKeys':_0x35b1ca['customApiKeys'],'platformProvided':!![]});if(!_0x1d5eca[_0x2739d6(0x14b)])throw new Error('No response content from autopilot-model-router');const _0x19b176=this[_0x2739d6(0x16b)](_0x1d5eca['content']);return _0x19b176;}catch(_0xa2c7b7){this[_0x2739d6(0x152)][_0x2739d6(0x17b)]('autopilot-model-router\x20routing\x20request\x20failed',{'error':_0xa2c7b7[_0x2739d6(0x15f)],'routerModel':this[_0x2739d6(0x166)]});throw _0xa2c7b7;}}[a0_0x4933c3(0x16b)](_0x1837c0){const _0x516c5f=a0_0x4933c3;try{const _0x2758e8=_0x1837c0['match'](/\{[\s\S]*\}/);if(!_0x2758e8)throw new Error(_0x516c5f(0x14d));const _0x167433=JSON['parse'](_0x2758e8[0x0]);if(!_0x167433['selectedModel'])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x167433[_0x516c5f(0x160)],'taskType':_0x167433[_0x516c5f(0x192)]||'unknown','confidence':_0x167433['confidence']||0.5,'reasoning':_0x167433[_0x516c5f(0x187)]||'No\x20reasoning\x20provided','factors':_0x167433['factors']||[]};}catch(_0x2dbab1){return this['logger']['warn']('Failed\x20to\x20parse\x20autopilot-model-router\x20routing\x20response',{'error':_0x2dbab1['message'],'content':_0x1837c0['substring'](0x0,0xc8)}),{'selectedModel':null,'taskType':'unknown','confidence':0x0,'reasoning':_0x516c5f(0x189),'factors':[_0x516c5f(0x17f)]};}}['_validateModelSelection'](_0x2dc2fe,_0x31792c,_0x3e1c36){const _0x158aea=a0_0x4933c3,{selectedModel:_0x308e3f}=_0x2dc2fe;if(!_0x308e3f)return this[_0x158aea(0x152)]['debug']('No\x20model\x20selected\x20by\x20router,\x20using\x20current\x20model'),_0x3e1c36;if(!_0x31792c['includes'](_0x308e3f))return this[_0x158aea(0x152)][_0x158aea(0x151)]('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x308e3f,'availableModels':_0x31792c}),_0x3e1c36;return _0x308e3f;}[a0_0x4933c3(0x153)](){const _0xdc90ca=a0_0x4933c3;return{'routerModel':this['routerModel'],'contextMessagesCount':this['contextMessagesCount'],'requestTimeout':this[_0xdc90ca(0x18b)],'benchmarkServiceStatus':this['benchmarkService'][_0xdc90ca(0x153)](),'isAvailable':!![]};}async['testRouter'](){const _0x22ccf0=a0_0x4933c3;try{const _0x9957c7={'content':_0x22ccf0(0x181),'role':'user'},_0x53b265=await this['routeMessage'](_0x9957c7,[],MODELS['ANTHROPIC_SONNET'],[MODELS['ANTHROPIC_SONNET'],MODELS[_0x22ccf0(0x182)],MODELS[_0x22ccf0(0x176)],MODELS[_0x22ccf0(0x183)]],{'apiKey':'test-key'});return this[_0x22ccf0(0x152)][_0x22ccf0(0x165)]('Router\x20test\x20completed',{'selectedModel':_0x53b265}),{'success':!![],'selectedModel':_0x53b265};}catch(_0x44289a){return this[_0x22ccf0(0x152)][_0x22ccf0(0x17b)](_0x22ccf0(0x193),{'error':_0x44289a['message']}),{'success':![],'error':_0x44289a[_0x22ccf0(0x15f)]};}}}export default ModelRouterService;
1
+ const a0_0x5e7866=a0_0x422a;(function(_0x32208f,_0x409363){const _0x16eadf=a0_0x422a,_0x56de91=_0x32208f();while(!![]){try{const _0x3bc34d=-parseInt(_0x16eadf(0x1dd))/0x1+-parseInt(_0x16eadf(0x1a0))/0x2*(-parseInt(_0x16eadf(0x1db))/0x3)+parseInt(_0x16eadf(0x19d))/0x4+-parseInt(_0x16eadf(0x192))/0x5*(-parseInt(_0x16eadf(0x1b5))/0x6)+parseInt(_0x16eadf(0x1a7))/0x7*(parseInt(_0x16eadf(0x1cf))/0x8)+parseInt(_0x16eadf(0x1ac))/0x9+-parseInt(_0x16eadf(0x1c9))/0xa;if(_0x3bc34d===_0x409363)break;else _0x56de91['push'](_0x56de91['shift']());}catch(_0x3071b6){_0x56de91['push'](_0x56de91['shift']());}}}(a0_0x23c1,0xcb491));import{MODEL_ROUTER_CONFIG,HTTP_STATUS,MODELS}from'../utilities/constants.js';class ModelRouterService{constructor(_0x4c5e24,_0xb102da,_0x26cbc9,_0x1e2fbd){const _0x547e7d=a0_0x422a;this['config']=_0x4c5e24,this[_0x547e7d(0x1de)]=_0xb102da,this['benchmarkService']=_0x26cbc9,this['aiService']=_0x1e2fbd,this['routerModel']=MODEL_ROUTER_CONFIG['ROUTER_MODEL'],this['contextMessagesCount']=MODEL_ROUTER_CONFIG['CONTEXT_MESSAGES_COUNT'],this[_0x547e7d(0x1e1)]=MODEL_ROUTER_CONFIG[_0x547e7d(0x19f)];}async[a0_0x5e7866(0x1a3)](_0x12445f,_0x2dbf6c=[],_0x390492='',_0x3cc8bd=[],_0x2a72a1={}){const _0x544c8b=a0_0x5e7866;try{this['logger']['debug']('Starting\x20model\x20routing\x20analysis',{'messageLength':_0x12445f['content']?.[_0x544c8b(0x1c8)]||0x0,'recentMessagesCount':_0x2dbf6c[_0x544c8b(0x1c8)],'currentModel':_0x390492,'availableModelsCount':_0x3cc8bd[_0x544c8b(0x1c8)]});const _0x158361=this['_buildRoutingContext'](_0x12445f,_0x2dbf6c,_0x390492,_0x3cc8bd),_0x58edad=this[_0x544c8b(0x1b9)]['getBenchmarkTable'](),_0x1d8e61=this[_0x544c8b(0x1a5)](_0x158361,_0x58edad),_0x53de4d=await this['_askForRouting'](_0x1d8e61,_0x2a72a1),_0x36171d=this[_0x544c8b(0x1bc)](_0x53de4d,_0x3cc8bd,_0x390492);return this['logger'][_0x544c8b(0x193)]('Model\x20routing\x20completed',{'selectedModel':_0x36171d,'previousModel':_0x390492,'changed':_0x36171d!==_0x390492,'reasoning':_0x53de4d[_0x544c8b(0x1bb)]?.[_0x544c8b(0x199)](0x0,0x64)||_0x544c8b(0x1ce)}),{'selectedModel':_0x36171d,'previousModel':_0x390492,'changed':_0x36171d!==_0x390492,'reasoning':_0x53de4d['reasoning']||'No\x20reasoning\x20provided'};}catch(_0x20aebf){this['logger'][_0x544c8b(0x1e0)](_0x544c8b(0x1ab),{'error':_0x20aebf[_0x544c8b(0x1a6)],'currentModel':_0x390492});const _0x224cc8=_0x390492||_0x3cc8bd[0x0]||MODELS[_0x544c8b(0x1d2)];return{'selectedModel':_0x224cc8,'previousModel':_0x390492,'changed':![],'reasoning':_0x544c8b(0x194)};}}['_buildRoutingContext'](_0x5cbafe,_0x3311d2,_0xf1b32a,_0x185e02){const _0x314ed8=a0_0x5e7866,_0x1b2ca2=_0x3311d2['slice'](-this[_0x314ed8(0x1b4)])['map'](_0x2429c4=>({'role':_0x2429c4['role'],'content':_0x2429c4[_0x314ed8(0x196)]?.['substring'](0x0,0x1f4)||'','timestamp':_0x2429c4['timestamp']}));return{'currentMessage':{'content':_0x5cbafe['content']?.['substring'](0x0,0x3e8)||'','role':_0x5cbafe[_0x314ed8(0x1d9)]||'user','hasContextReferences':!!_0x5cbafe[_0x314ed8(0x197)]?.['length'],'contextTypes':_0x5cbafe[_0x314ed8(0x197)]?.['map'](_0x4dea92=>_0x4dea92[_0x314ed8(0x1aa)])||[]},'recentMessages':_0x1b2ca2,'currentModel':_0xf1b32a,'availableModels':_0x185e02['map'](_0x268b23=>({'name':_0x268b23,'isCurrentModel':_0x268b23===_0xf1b32a})),'messageCount':_0x3311d2[_0x314ed8(0x1c8)]+0x1,'timestamp':new Date()['toISOString']()};}['_createRoutingPrompt'](_0xa27f9e,_0x2e846a){const _0x3573af=a0_0x5e7866;return _0x3573af(0x1c4)+(_0xa27f9e[_0x3573af(0x1dc)]||'None')+_0x3573af(0x1a2)+_0xa27f9e[_0x3573af(0x1ae)]+'\x0a-\x20**Available\x20Models**:\x20'+_0xa27f9e['availableModels'][_0x3573af(0x1a9)](_0x639a3f=>_0x639a3f[_0x3573af(0x1e2)])['join'](',\x20')+_0x3573af(0x19a)+this['_formatRecentMessages'](_0xa27f9e['recentMessages'])+'\x0a\x0a##\x20Current\x20Message\x20to\x20Route\x0a**Role**:\x20'+_0xa27f9e[_0x3573af(0x1df)][_0x3573af(0x1d9)]+'\x0a**Content**:\x20'+_0xa27f9e[_0x3573af(0x1df)]['content']+_0x3573af(0x1c5)+_0xa27f9e['currentMessage'][_0x3573af(0x1d8)]+'\x0a'+(_0xa27f9e[_0x3573af(0x1df)][_0x3573af(0x19e)][_0x3573af(0x1c8)]>0x0?'**Context\x20Types**:\x20'+_0xa27f9e['currentMessage']['contextTypes']['join'](',\x20'):'')+_0x3573af(0x191)+this['_formatBenchmarkData'](_0x2e846a)+'\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}';}['_formatRecentMessages'](_0x5abbc1){const _0x2096d6=a0_0x5e7866;if(!_0x5abbc1['length'])return _0x2096d6(0x1a4);return _0x5abbc1['map']((_0x3c990a,_0x56a826)=>_0x56a826+0x1+'.\x20**'+_0x3c990a[_0x2096d6(0x1d9)]+_0x2096d6(0x1c3)+_0x3c990a['content'])['join']('\x0a');}['_formatBenchmarkData'](_0x40da54){const _0x8c8e1a=a0_0x5e7866,_0x349db5=_0x40da54[_0x8c8e1a(0x1da)]||[],_0xe5cd8e=_0x40da54['tasks']||{},_0xb75406=_0x40da54['summary']||{};let _0x391720=_0x8c8e1a(0x198);return Object[_0x8c8e1a(0x1c7)](_0xe5cd8e)[_0x8c8e1a(0x1a8)](([_0xfad0a8,_0x464667])=>{const _0x47f21e=_0x8c8e1a;_0x391720+='**'+_0xfad0a8[_0x47f21e(0x1bf)]()+_0x47f21e(0x1cc)+_0x464667[_0x47f21e(0x1b6)]+'):\x20'+(_0x464667[_0x47f21e(0x1a1)]?.[_0x47f21e(0x1b3)](',\x20')||'No\x20data')+'\x0a';}),_0x391720+='\x0a###\x20Model\x20Details\x0a',_0x349db5['slice'](0x0,0x8)['forEach'](_0x620678=>{const _0x59fd02=_0x8c8e1a;_0x391720+='**'+_0x620678['name']+_0x59fd02(0x1c3);const _0x14041f=Object[_0x59fd02(0x1c7)](_0x620678[_0x59fd02(0x1b8)]||{})['map'](([_0x527097,_0x43bdd5])=>_0x527097+'('+_0x43bdd5['score']+')')[_0x59fd02(0x1b3)](',\x20');_0x391720+=_0x14041f+'\x20|\x20Strengths:\x20'+(_0x620678[_0x59fd02(0x190)]?.[_0x59fd02(0x1b3)](',\x20')||'N/A')+'\x0a';}),_0x391720;}async[a0_0x5e7866(0x1d5)](_0x50e1a3,_0x4c9466={}){const _0x2a2d24=a0_0x5e7866;try{const _0x4895c4=await this[_0x2a2d24(0x195)][_0x2a2d24(0x1d6)](this['routerModel'],_0x50e1a3,{'agentId':_0x2a2d24(0x1cd),'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[_0x2a2d24(0x1e1)],'sessionId':_0x4c9466[_0x2a2d24(0x1d0)],'apiKey':_0x4c9466['apiKey']||this[_0x2a2d24(0x1c6)][_0x2a2d24(0x1af)],'customApiKeys':_0x4c9466['customApiKeys'],'platformProvided':!![]});if(!_0x4895c4[_0x2a2d24(0x196)])throw new Error('No response content from autopilot-model-router');const _0x5346ad=this[_0x2a2d24(0x1b2)](_0x4895c4[_0x2a2d24(0x196)]);return _0x5346ad;}catch(_0x386417){this['logger'][_0x2a2d24(0x1e0)](_0x2a2d24(0x1ad),{'error':_0x386417['message'],'routerModel':this['routerModel']});throw _0x386417;}}[a0_0x5e7866(0x1b2)](_0xeafabb){const _0x8d4ece=a0_0x5e7866;try{const _0x2ae2c5=_0xeafabb[_0x8d4ece(0x1c2)](/\{[\s\S]*\}/);if(!_0x2ae2c5)throw new Error('No\x20JSON\x20found\x20in\x20autopilot-model-router\x20response');const _0x130571=JSON[_0x8d4ece(0x19c)](_0x2ae2c5[0x0]);if(!_0x130571[_0x8d4ece(0x1d3)])throw new Error('Missing\x20selectedModel\x20in\x20autopilot-model-router\x20response');return{'selectedModel':_0x130571['selectedModel'],'taskType':_0x130571[_0x8d4ece(0x1e3)]||'unknown','confidence':_0x130571['confidence']||0.5,'reasoning':_0x130571[_0x8d4ece(0x1bb)]||_0x8d4ece(0x1ce),'factors':_0x130571[_0x8d4ece(0x1d4)]||[]};}catch(_0x38065c){return this['logger'][_0x8d4ece(0x1b1)](_0x8d4ece(0x1c0),{'error':_0x38065c[_0x8d4ece(0x1a6)],'content':_0xeafabb[_0x8d4ece(0x199)](0x0,0xc8)}),{'selectedModel':null,'taskType':_0x8d4ece(0x1c1),'confidence':0x0,'reasoning':'Failed\x20to\x20parse\x20routing\x20response','factors':[_0x8d4ece(0x1be)]};}}['_validateModelSelection'](_0x4e211b,_0x35f3ab,_0x996c91){const _0x38a52d=a0_0x5e7866,{selectedModel:_0x4edd65}=_0x4e211b;if(!_0x4edd65)return this['logger'][_0x38a52d(0x1b0)](_0x38a52d(0x1bd)),_0x996c91;if(!_0x35f3ab[_0x38a52d(0x1ba)](_0x4edd65))return this[_0x38a52d(0x1de)]['warn']('Router\x20selected\x20unavailable\x20model,\x20using\x20current\x20model',{'selectedModel':_0x4edd65,'availableModels':_0x35f3ab}),_0x996c91;return _0x4edd65;}[a0_0x5e7866(0x19b)](){const _0x282cda=a0_0x5e7866;return{'routerModel':this['routerModel'],'contextMessagesCount':this[_0x282cda(0x1b4)],'requestTimeout':this[_0x282cda(0x1e1)],'benchmarkServiceStatus':this['benchmarkService'][_0x282cda(0x19b)](),'isAvailable':!![]};}async[a0_0x5e7866(0x1b7)](){const _0xeda8bb=a0_0x5e7866;try{const _0x44465d={'content':_0xeda8bb(0x1d1),'role':'user'},_0x43d8a6=await this[_0xeda8bb(0x1a3)](_0x44465d,[],MODELS['ANTHROPIC_SONNET'],[MODELS[_0xeda8bb(0x1d2)],MODELS['ANTHROPIC_OPUS'],MODELS['GPT_4'],MODELS[_0xeda8bb(0x1cb)]],{'apiKey':_0xeda8bb(0x1ca)});return this[_0xeda8bb(0x1de)]['info'](_0xeda8bb(0x1d7),{'selectedModel':_0x43d8a6}),{'success':!![],'selectedModel':_0x43d8a6};}catch(_0x2b17b2){return this['logger'][_0xeda8bb(0x1e0)]('Router\x20test\x20failed',{'error':_0x2b17b2[_0xeda8bb(0x1a6)]}),{'success':![],'error':_0x2b17b2[_0xeda8bb(0x1a6)]};}}}function a0_0x422a(_0x305022,_0x16d4d6){_0x305022=_0x305022-0x190;const _0x23c129=a0_0x23c1();let _0x422af8=_0x23c129[_0x305022];if(a0_0x422a['TlKNRG']===undefined){var _0x37dcf1=function(_0x5961b9){const _0x196b45='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c5e24='',_0xb102da='';for(let _0x26cbc9=0x0,_0x1e2fbd,_0x12445f,_0x2dbf6c=0x0;_0x12445f=_0x5961b9['charAt'](_0x2dbf6c++);~_0x12445f&&(_0x1e2fbd=_0x26cbc9%0x4?_0x1e2fbd*0x40+_0x12445f:_0x12445f,_0x26cbc9++%0x4)?_0x4c5e24+=String['fromCharCode'](0xff&_0x1e2fbd>>(-0x2*_0x26cbc9&0x6)):0x0){_0x12445f=_0x196b45['indexOf'](_0x12445f);}for(let _0x390492=0x0,_0x3cc8bd=_0x4c5e24['length'];_0x390492<_0x3cc8bd;_0x390492++){_0xb102da+='%'+('00'+_0x4c5e24['charCodeAt'](_0x390492)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb102da);};a0_0x422a['tZIsoS']=_0x37dcf1,a0_0x422a['hZWSSa']={},a0_0x422a['TlKNRG']=!![];}const _0x4ed189=_0x23c129[0x0],_0x4e06f9=_0x305022+_0x4ed189,_0x2b9284=a0_0x422a['hZWSSa'][_0x4e06f9];return!_0x2b9284?(_0x422af8=a0_0x422a['tZIsoS'](_0x422af8),a0_0x422a['hZWSSa'][_0x4e06f9]=_0x422af8):_0x422af8=_0x2b9284,_0x422af8;}function a0_0x23c1(){const _0xc96036=['zw50CMLLCW','BgvUz3rO','mZKXnZu4ntbkrMXtqxC','DgvZDc1RzxK','revfufnfruTFuJe','kIOGka','Bw9KzwWTCM91DgvY','tM8GCMvHC29UAw5NihbYB3zPzgvK','mti1mdi1ndrXzLzmqxO','C2vZC2LVBKLK','q2fUihLVDsbOzwXWig1LigrLyNvNihrOAxmGsMf2yvnJCMLWDcbMDw5JDgLVBJ8','qu5usfjpueLdx1nptK5fva','C2vSzwn0zwrnB2rLBa','zMfJDg9YCW','x2fZA0zVCLjVDxrPBMC','C2vUze1LC3nHz2u','uM91DgvYihrLC3qGy29TCgXLDgvK','AgfZq29UDgv4DfjLzMvYzw5Jzxm','CM9Szq','Bw9KzwXZ','mJq5nJm2qMj0BMfi','y3vYCMvUDe1VzgvS','mta5mdq4mMjuB0r0EG','Bg9Nz2vY','y3vYCMvUDe1LC3nHz2u','zxjYB3i','CMvXDwvZDfrPBwvVDxq','BMfTzq','DgfZA1r5Cgu','C3rYzw5NDgHZ','cGOJiYbnB2rLBcbczw5JAg1HCMSGrgf0yqO','mJy1ndmYmfrwzKrqrW','Aw5MBW','uM91DgLUzYbMywLSzwqSihvZAw5NigzHBgXIywnRig1VzgvS','ywLtzxj2AwnL','y29UDgvUDa','y29UDgv4DfjLzMvYzw5Jzxm','iYmJie1VzgvSifbLCMzVCM1HBMnLifn1Bw1HCNKk','C3vIC3rYAw5N','cGOJiYbszwnLBNqGq29UDMvYC2f0Aw9UienVBNrLEhqk','z2v0u3rHDhvZ','CgfYC2u','ntiZmZC3mMndvurPzG','y29UDgv4Dfr5CgvZ','uKvrvuvtvf9usu1ft1vu','mJzLtNHVCfq','Dg9Wtw9KzwXZ','cI0GkIPnzxnZywDLienVDw50kIO6ia','CM91DgvnzxnZywDL','tM8GCMvJzw50ig1LC3nHz2vZigf2ywLSywjSzs4','x2nYzwf0zvjVDxrPBMDqCM9TChq','BwvZC2fNzq','n0T2B0LSwq','zM9YrwfJAa','BwfW','DhLWzq','tw9KzwWGCM91DgLUzYbMywLSzwqSigzHBgXPBMCGyMfJAYb0BYbJDxjYzw50ig1VzgvS','mtiYmte1odDereD4r0K','yxv0B3bPBg90lw1VzgvSlxjVDxrLCIbYB3v0Aw5NihjLCxvLC3qGzMfPBgvK','BwvZC2fNzunVDw50','yxbPs2v5','zgvIDwC','D2fYBG','x3bHCNnLuM91DgLUz1jLC3bVBNnL','AM9PBG','y29UDgv4De1LC3nHz2vZq291BNq','nLvyue9SBq','zgvZy3jPChrPB24','DgvZDfjVDxrLCG','DgfZA3m','yMvUy2HTyxjRu2vYDMLJzq','Aw5JBhvKzxm','CMvHC29UAw5N','x3zHBgLKyxrLtw9KzwXtzwXLy3rPB24','tM8GBw9KzwWGC2vSzwn0zwqGyNKGCM91DgvYlcb1C2LUzYbJDxjYzw50ig1VzgvS','CgfYC2LUzY1LCNjVCG','Dg9vChbLCKnHC2u','rMfPBgvKihrVihbHCNnLigf1Dg9WAwXVDc1TB2rLBc1YB3v0zxiGCM91DgLUzYbYzxnWB25Zzq','Dw5RBM93BG','Bwf0y2G','kIO6ia','ww91igfYzsbHig1VzgvSihjVDxrPBMCGyxnZAxn0yw50lIbzB3vYigPVyIbPCYb0BYbHBMfSExPLigeGy29UDMvYC2f0Aw9UigfUzcbZzwXLy3qGDgHLig9WDgLTywWGquKGBw9KzwWGzM9YihrOzsbUzxH0ihjLC3bVBNnLlGOkiYmGq3vYCMvUDcbtAxr1yxrPB24klsaQkKn1CNjLBNqGtw9KzwWQkJOG','cIOQsgfZienVBNrLEhqGuMvMzxjLBMnLCYOQoIa','y29UzMLN'];a0_0x23c1=function(){return _0xc96036;};return a0_0x23c1();}export default ModelRouterService;
@@ -1 +1 @@
1
- const a0_0x429685=a0_0x1fc3;function a0_0x1fc3(_0x492c1f,_0x3ce700){_0x492c1f=_0x492c1f-0x1b7;const _0x193679=a0_0x1936();let _0x1fc36c=_0x193679[_0x492c1f];if(a0_0x1fc3['pXEWmj']===undefined){var _0xe6e6b4=function(_0x1b5b45){const _0x2628e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bb39e='',_0x54a63e='';for(let _0x43b218=0x0,_0x51aa2e,_0x5d2dcc,_0x37780c=0x0;_0x5d2dcc=_0x1b5b45['charAt'](_0x37780c++);~_0x5d2dcc&&(_0x51aa2e=_0x43b218%0x4?_0x51aa2e*0x40+_0x5d2dcc:_0x5d2dcc,_0x43b218++%0x4)?_0x5bb39e+=String['fromCharCode'](0xff&_0x51aa2e>>(-0x2*_0x43b218&0x6)):0x0){_0x5d2dcc=_0x2628e2['indexOf'](_0x5d2dcc);}for(let _0x5dccf0=0x0,_0x10c962=_0x5bb39e['length'];_0x5dccf0<_0x10c962;_0x5dccf0++){_0x54a63e+='%'+('00'+_0x5bb39e['charCodeAt'](_0x5dccf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54a63e);};a0_0x1fc3['FnTMdU']=_0xe6e6b4,a0_0x1fc3['rPJNxR']={},a0_0x1fc3['pXEWmj']=!![];}const _0x3272c4=_0x193679[0x0],_0x108b4a=_0x492c1f+_0x3272c4,_0x53fd0a=a0_0x1fc3['rPJNxR'][_0x108b4a];return!_0x53fd0a?(_0x1fc36c=a0_0x1fc3['FnTMdU'](_0x1fc36c),a0_0x1fc3['rPJNxR'][_0x108b4a]=_0x1fc36c):_0x1fc36c=_0x53fd0a,_0x1fc36c;}(function(_0x4803dd,_0x204ef1){const _0x5afebb=a0_0x1fc3,_0x3de3bc=_0x4803dd();while(!![]){try{const _0x234e64=parseInt(_0x5afebb(0x1e0))/0x1+-parseInt(_0x5afebb(0x1ce))/0x2*(-parseInt(_0x5afebb(0x1c9))/0x3)+-parseInt(_0x5afebb(0x1c2))/0x4+parseInt(_0x5afebb(0x1ea))/0x5*(parseInt(_0x5afebb(0x1da))/0x6)+parseInt(_0x5afebb(0x1e8))/0x7+-parseInt(_0x5afebb(0x1d3))/0x8+-parseInt(_0x5afebb(0x1d5))/0x9;if(_0x234e64===_0x204ef1)break;else _0x3de3bc['push'](_0x3de3bc['shift']());}catch(_0x19dd1b){_0x3de3bc['push'](_0x3de3bc['shift']());}}}(a0_0x1936,0x3b20e));class ModelsService{constructor(_0x5bb39e,_0x54a63e){const _0x4ee49e=a0_0x1fc3;this[_0x4ee49e(0x1db)]=_0x5bb39e,this['logger']=_0x54a63e,this[_0x4ee49e(0x1d0)]=null,this[_0x4ee49e(0x1e1)]=null,this['isLoading']=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x4ee49e(0x1cf)]=_0x5bb39e[_0x4ee49e(0x1cf)]||_0x4ee49e(0x1b7),this[_0x4ee49e(0x1e9)]=0x0,this['maxRetries']=0x3,this[_0x4ee49e(0x1ca)]=0x7d0,this[_0x4ee49e(0x1de)]=null,this[_0x4ee49e(0x1bf)]=null,this['apiKeyManager']=null;}[a0_0x429685(0x1dd)](_0x43b218){const _0x1f8ed9=a0_0x429685;this[_0x1f8ed9(0x1d1)]=_0x43b218,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20models\x20service',{'hasManager':!!_0x43b218});}async['initialize'](){const _0x8ee1d4=a0_0x429685;try{await this[_0x8ee1d4(0x1b9)](),this[_0x8ee1d4(0x1d6)]['info'](_0x8ee1d4(0x1e5),{'modelCount':this['models']?.['length']||0x0});}catch(_0x51aa2e){this[_0x8ee1d4(0x1bf)]=_0x51aa2e['message'],this['logger'][_0x8ee1d4(0x1d9)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x51aa2e[_0x8ee1d4(0x1d7)],'endpoint':this[_0x8ee1d4(0x1cf)]+'/api/llm/models','willRetry':!![]}),this['_scheduleRetry']();}}['getAvailableModelNames'](){const _0x44d8b2=a0_0x429685;if(!this[_0x44d8b2(0x1d0)]||this['models']['length']===0x0)return this['logger'][_0x44d8b2(0x1d9)]('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this[_0x44d8b2(0x1bf)],'endpoint':this[_0x44d8b2(0x1cf)]+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this[_0x44d8b2(0x1cd)]}),[];return this[_0x44d8b2(0x1d0)]['map'](_0x5d2dcc=>_0x5d2dcc['name']);}['getModels'](){const _0x3cce2d=a0_0x429685;if(!this[_0x3cce2d(0x1d0)]||this[_0x3cce2d(0x1d0)][_0x3cce2d(0x1bd)]===0x0)return this['logger'][_0x3cce2d(0x1d9)](_0x3cce2d(0x1c1),{'lastError':this[_0x3cce2d(0x1bf)],'endpoint':this['backendUrl']+'/api/llm/models'}),[];return this['models'];}async['fetchModels'](_0x37780c=null){const _0x4ce107=a0_0x429685;if(this['isLoading']){this['logger'][_0x4ce107(0x1c5)]('Models\x20fetch\x20already\x20in\x20progress');return;}this['isLoading']=!![];try{const _0x5dccf0=this[_0x4ce107(0x1cf)]+_0x4ce107(0x1e4);let _0x10c962=null;if(this['apiKeyManager']&&_0x37780c&&_0x37780c['sessionId']){const _0x48c1f0=this[_0x4ce107(0x1d1)][_0x4ce107(0x1e7)](_0x37780c['sessionId'],{'platformProvided':!![],'vendor':null});_0x10c962=_0x48c1f0[_0x4ce107(0x1e2)],this[_0x4ce107(0x1d6)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x37780c[_0x4ce107(0x1c6)],'hasLoxiaKey':!!_0x10c962});}if(!_0x10c962&&_0x37780c&&_0x37780c[_0x4ce107(0x1d8)])_0x10c962=_0x37780c['apiKey'];else{if(!_0x10c962&&this['config']['apiKey'])_0x10c962=this['config']['apiKey'];else!_0x10c962&&process['env'][_0x4ce107(0x1df)]&&(_0x10c962=process[_0x4ce107(0x1bc)][_0x4ce107(0x1df)]);}const _0x4d8694={'method':'GET','headers':{'Content-Type':'application/json',..._0x10c962&&{'Authorization':_0x4ce107(0x1be)+_0x10c962}},'timeout':0x2710};this[_0x4ce107(0x1d6)]['debug']('Fetching models from backend',{'url':_0x5dccf0,'hasApiKey':!!_0x10c962,'apiKeySource':_0x37780c?.[_0x4ce107(0x1d8)]?'context':this['config']['apiKey']?_0x4ce107(0x1db):process[_0x4ce107(0x1bc)]['LOXIA_API_KEY']?'env':'none'});const _0x255d96=await fetch(_0x5dccf0,_0x4d8694);if(!_0x255d96['ok'])throw new Error(_0x4ce107(0x1d4)+_0x255d96['status']+':\x20'+_0x255d96[_0x4ce107(0x1cb)]);const _0x5309a2=await _0x255d96[_0x4ce107(0x1c4)]();if(_0x5309a2['models']&&Array['isArray'](_0x5309a2[_0x4ce107(0x1d0)]))this['models']=_0x5309a2[_0x4ce107(0x1d0)],this[_0x4ce107(0x1e1)]=new Date(),this[_0x4ce107(0x1bb)]=![],this['logger']['info']('Models fetched from backend',{'modelCount':this[_0x4ce107(0x1d0)][_0x4ce107(0x1bd)],'models':this[_0x4ce107(0x1d0)]['map'](_0x4eadfd=>_0x4eadfd[_0x4ce107(0x1c3)])});else throw new Error('Invalid response format from models API');}catch(_0x5d87ef){this['lastError']=_0x5d87ef['message'],this[_0x4ce107(0x1d6)]['error']('Failed to fetch models from backend - NO FALLBACK',{'error':_0x5d87ef['message'],'endpoint':url,'retryAttempt':this[_0x4ce107(0x1e9)],'maxRetries':this['maxRetries']}),this[_0x4ce107(0x1dc)](_0x37780c);if(!this['models'])throw _0x5d87ef;}finally{this[_0x4ce107(0x1c7)]=![];}}[a0_0x429685(0x1bb)](){const _0x1b38ad=a0_0x429685;if(!this['lastFetched'])return!![];const _0x3ef48e=Date['now']()-this['lastFetched'][_0x1b38ad(0x1ba)]();return _0x3ef48e>this[_0x1b38ad(0x1e3)];}async['refresh'](_0x3118df=null){const _0x4e3e7f=a0_0x429685;this['logger']['info']('Force\x20refreshing\x20models'),await this[_0x4e3e7f(0x1b9)](_0x3118df);}async[a0_0x429685(0x1e6)](_0xfbd76){const _0x858ac9=a0_0x429685;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x858ac9(0x1d6)]['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this[_0x858ac9(0x1b9)](_0xfbd76));}[a0_0x429685(0x1dc)](_0x2c93d7=null){const _0x52534a=a0_0x429685;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null);if(this['retryAttempts']>=this['maxRetries']){this['logger'][_0x52534a(0x1d9)]('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this[_0x52534a(0x1e9)],'maxRetries':this['maxRetries'],'lastError':this[_0x52534a(0x1bf)]});return;}const _0x4ebed9=this['retryDelay']*Math['pow'](0x2,this[_0x52534a(0x1e9)]);this['retryAttempts']++,this['logger']['info']('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0x52534a(0x1cd)],'delayMs':_0x4ebed9}),this[_0x52534a(0x1de)]=setTimeout(async()=>{const _0x226a2e=_0x52534a;this['logger'][_0x226a2e(0x1b8)](_0x226a2e(0x1c8),{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x2c93d7),this[_0x226a2e(0x1e9)]=0x0,this['lastError']=null;}catch(_0x520684){this['logger']['warn']('Retry\x20attempt\x20failed',{'attempt':this[_0x226a2e(0x1e9)],'error':_0x520684['message']});}},_0x4ebed9);}[a0_0x429685(0x1d2)](){const _0x3861aa=a0_0x429685;this[_0x3861aa(0x1de)]&&(clearTimeout(this[_0x3861aa(0x1de)]),this['retryTimer']=null,this[_0x3861aa(0x1d6)][_0x3861aa(0x1c5)]('Cancelled\x20pending\x20model\x20fetch\x20retry'));}[a0_0x429685(0x1c0)](){const _0x1c60c5=a0_0x429685;return{'initialized':!!this[_0x1c60c5(0x1d0)],'lastFetched':this[_0x1c60c5(0x1e1)]?.[_0x1c60c5(0x1cc)]()||null,'modelCount':this[_0x1c60c5(0x1d0)]?.[_0x1c60c5(0x1bd)]||0x0,'isLoading':this[_0x1c60c5(0x1c7)],'needsRefresh':this[_0x1c60c5(0x1bb)](),'error':this['lastError']||null,'retryAttempts':this[_0x1c60c5(0x1e9)],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}export default ModelsService;function a0_0x1936(){const _0x2e504b=['mtK4mtuYA3fwrhnQ','BgfZDezLDgnOzwq','Bg94AwfbCgLlzxK','y2fJAgvfEhbPCNK','l2fWAs9SBg0VBw9KzwXZ','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','CMvMCMvZAfDPDgHdB250zxH0','z2v0s2v5C0zVCLjLCxvLC3q','mZi1ndu4mg1uz0vZDG','CMv0CNLbDhrLBxb0CW','nuL4uKjIua','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','Aw5MBW','zMv0y2HnB2rLBhm','z2v0vgLTzq','BMvLzhnszwzYzxnO','zw52','BgvUz3rO','qMvHCMvYia','BgfZDevYCM9Y','z2v0u3rHDhvZ','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','ndKXndi0tgXUruf2','BMfTzq','ANnVBG','zgvIDwC','C2vZC2LVBKLK','AxnmB2fKAw5N','rxHLy3v0Aw5NihnJAgvKDwXLzcbTB2rLBcbMzxrJAcbYzxrYEq','m2viuefIAa','CMv0CNLezwXHEq','C3rHDhvZvgv4Da','Dg9ju09tDhjPBMC','Bwf4uMv0CMLLCW','otq2nZuWDhPnrgL0','yMfJA2vUzfvYBa','Bw9KzwXZ','yxbPs2v5twfUywDLCG','x2nHBMnLBfjLDhj5','mtGYntKXmMfXyxnqAW','sfruuca','ote3mZq5m1HmquzZBW','Bg9Nz2vY','BwvZC2fNzq','yxbPs2v5','zxjYB3i','mJG1nJu3mhzjDKHgAa','y29UzMLN','x3nJAgvKDwXLuMv0CNK','C2v0qxbPs2v5twfUywDLCG','CMv0CNLuAw1LCG','te9ysufFqvbjx0Tfwq'];a0_0x1936=function(){return _0x2e504b;};return a0_0x1936();}
1
+ const a0_0x5bfa33=a0_0x262f;(function(_0x387212,_0xdf6be1){const _0x511d4f=a0_0x262f,_0x466157=_0x387212();while(!![]){try{const _0x57e579=-parseInt(_0x511d4f(0x14a))/0x1+-parseInt(_0x511d4f(0x158))/0x2+-parseInt(_0x511d4f(0x155))/0x3+-parseInt(_0x511d4f(0x15c))/0x4*(parseInt(_0x511d4f(0x149))/0x5)+-parseInt(_0x511d4f(0x16e))/0x6+parseInt(_0x511d4f(0x15e))/0x7*(parseInt(_0x511d4f(0x168))/0x8)+parseInt(_0x511d4f(0x14b))/0x9;if(_0x57e579===_0xdf6be1)break;else _0x466157['push'](_0x466157['shift']());}catch(_0x365dda){_0x466157['push'](_0x466157['shift']());}}}(a0_0x516d,0x50209));class ModelsService{constructor(_0x1874e3,_0x19fc90){const _0x14f6bb=a0_0x262f;this['config']=_0x1874e3,this['logger']=_0x19fc90,this[_0x14f6bb(0x15b)]=null,this[_0x14f6bb(0x164)]=null,this[_0x14f6bb(0x16d)]=![],this['cacheExpiry']=0x5*0x3c*0x3e8,this[_0x14f6bb(0x166)]=_0x1874e3[_0x14f6bb(0x166)]||'http://localhost:8080',this['retryAttempts']=0x0,this[_0x14f6bb(0x146)]=0x3,this[_0x14f6bb(0x156)]=0x7d0,this[_0x14f6bb(0x151)]=null,this['lastError']=null,this[_0x14f6bb(0x163)]=null;}[a0_0x5bfa33(0x160)](_0xdcb54f){const _0x312040=a0_0x5bfa33;this[_0x312040(0x163)]=_0xdcb54f,this['logger']?.['info']('API\x20key\x20manager\x20set\x20for\x20models\x20service',{'hasManager':!!_0xdcb54f});}async['initialize'](){const _0x1da698=a0_0x5bfa33;try{await this['fetchModels'](),this[_0x1da698(0x167)]['info'](_0x1da698(0x14d),{'modelCount':this[_0x1da698(0x15b)]?.[_0x1da698(0x147)]||0x0});}catch(_0x3a9639){this['lastError']=_0x3a9639['message'],this['logger'][_0x1da698(0x159)]('Failed\x20to\x20initialize\x20models\x20service\x20-\x20NO\x20FALLBACK\x20AVAILABLE',{'error':_0x3a9639[_0x1da698(0x16c)],'endpoint':this[_0x1da698(0x166)]+_0x1da698(0x148),'willRetry':!![]}),this[_0x1da698(0x15a)]();}}[a0_0x5bfa33(0x144)](){const _0x488846=a0_0x5bfa33;if(!this[_0x488846(0x15b)]||this[_0x488846(0x15b)]['length']===0x0)return this[_0x488846(0x167)]['error']('No\x20models\x20available\x20-\x20API\x20fetch\x20failed',{'lastError':this['lastError'],'endpoint':this['backendUrl']+'/api/llm/models','retryAttempt':this['retryAttempts'],'maxRetries':this['maxRetries']}),[];return this[_0x488846(0x15b)][_0x488846(0x165)](_0x2f1fd2=>_0x2f1fd2['name']);}[a0_0x5bfa33(0x174)](){const _0x3b5cac=a0_0x5bfa33;if(!this[_0x3b5cac(0x15b)]||this['models']['length']===0x0)return this[_0x3b5cac(0x167)]['error'](_0x3b5cac(0x169),{'lastError':this['lastError'],'endpoint':this[_0x3b5cac(0x166)]+_0x3b5cac(0x148)}),[];return this['models'];}async[a0_0x5bfa33(0x15d)](_0x49117b=null){const _0x5728c5=a0_0x5bfa33;if(this[_0x5728c5(0x16d)]){this['logger'][_0x5728c5(0x145)](_0x5728c5(0x152));return;}this['isLoading']=!![];try{const _0x39c56f=this[_0x5728c5(0x166)]+_0x5728c5(0x148);let _0x2f13fc=null;if(this['apiKeyManager']&&_0x49117b&&_0x49117b['sessionId']){const _0x1c41d6=this[_0x5728c5(0x163)][_0x5728c5(0x161)](_0x49117b['sessionId'],{'platformProvided':!![],'vendor':null});_0x2f13fc=_0x1c41d6['loxiaApiKey'],this[_0x5728c5(0x167)]?.['info']('Retrieved API key from session manager for models fetch',{'sessionId':_0x49117b['sessionId'],'hasLoxiaKey':!!_0x2f13fc});}if(!_0x2f13fc&&_0x49117b&&_0x49117b['apiKey'])_0x2f13fc=_0x49117b['apiKey'];else{if(!_0x2f13fc&&this['config']['apiKey'])_0x2f13fc=this['config'][_0x5728c5(0x153)];else!_0x2f13fc&&process[_0x5728c5(0x16b)]['LOXIA_API_KEY']&&(_0x2f13fc=process['env']['LOXIA_API_KEY']);}const _0x53220a={'method':'GET','headers':{'Content-Type':_0x5728c5(0x172),..._0x2f13fc&&{'Authorization':'Bearer\x20'+_0x2f13fc}},'timeout':0x2710};this['logger'][_0x5728c5(0x145)]('Fetching models from backend',{'url':_0x39c56f,'hasApiKey':!!_0x2f13fc,'apiKeySource':_0x49117b?.['apiKey']?'context':this['config']['apiKey']?_0x5728c5(0x14c):process[_0x5728c5(0x16b)]['LOXIA_API_KEY']?'env':_0x5728c5(0x14f)});const _0x541d55=await fetch(_0x39c56f,_0x53220a);if(!_0x541d55['ok'])throw new Error('HTTP\x20'+_0x541d55['status']+':\x20'+_0x541d55[_0x5728c5(0x14e)]);const _0x176e3e=await _0x541d55[_0x5728c5(0x162)]();if(_0x176e3e['models']&&Array['isArray'](_0x176e3e['models']))this['models']=_0x176e3e[_0x5728c5(0x15b)],this['lastFetched']=new Date(),this['needsRefresh']=![],this[_0x5728c5(0x167)][_0x5728c5(0x154)]('Models fetched from backend',{'modelCount':this['models'][_0x5728c5(0x147)],'models':this['models'][_0x5728c5(0x165)](_0x4f0557=>_0x4f0557[_0x5728c5(0x16f)])});else throw new Error('Invalid response format from models API');}catch(_0x4007c7){this[_0x5728c5(0x171)]=_0x4007c7['message'],this['logger'][_0x5728c5(0x159)]('Failed to fetch models from backend - NO FALLBACK',{'error':_0x4007c7['message'],'endpoint':url,'retryAttempt':this[_0x5728c5(0x173)],'maxRetries':this['maxRetries']}),this['_scheduleRetry'](_0x49117b);if(!this['models'])throw _0x4007c7;}finally{this['isLoading']=![];}}['needsRefresh'](){const _0x2c35a7=a0_0x5bfa33;if(!this['lastFetched'])return!![];const _0x3cc637=Date[_0x2c35a7(0x170)]()-this['lastFetched']['getTime']();return _0x3cc637>this['cacheExpiry'];}async[a0_0x5bfa33(0x150)](_0x52ae96=null){const _0x501559=a0_0x5bfa33;this['logger']['info']('Force\x20refreshing\x20models'),await this[_0x501559(0x15d)](_0x52ae96);}async['refreshWithContext'](_0x273506){const _0x494b12=a0_0x5bfa33;(this['needsRefresh']||!this['lastFetched'])&&(this[_0x494b12(0x167)]['debug']('Refreshing\x20models\x20with\x20API\x20key\x20context'),await this['fetchModels'](_0x273506));}[a0_0x5bfa33(0x15a)](_0x12c0da=null){const _0x583a89=a0_0x5bfa33;this[_0x583a89(0x151)]&&(clearTimeout(this['retryTimer']),this[_0x583a89(0x151)]=null);if(this['retryAttempts']>=this[_0x583a89(0x146)]){this[_0x583a89(0x167)][_0x583a89(0x159)]('Max\x20retry\x20attempts\x20reached\x20for\x20model\x20fetch',{'attempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'lastError':this[_0x583a89(0x171)]});return;}const _0x54bf43=this[_0x583a89(0x156)]*Math['pow'](0x2,this['retryAttempts']);this['retryAttempts']++,this[_0x583a89(0x167)][_0x583a89(0x154)]('Scheduling\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts'],'maxRetries':this[_0x583a89(0x146)],'delayMs':_0x54bf43}),this[_0x583a89(0x151)]=setTimeout(async()=>{const _0x22b293=_0x583a89;this[_0x22b293(0x167)]['info']('Executing\x20scheduled\x20model\x20fetch\x20retry',{'attempt':this['retryAttempts']});try{await this['fetchModels'](_0x12c0da),this['retryAttempts']=0x0,this[_0x22b293(0x171)]=null;}catch(_0x4d33f5){this['logger'][_0x22b293(0x157)](_0x22b293(0x143),{'attempt':this['retryAttempts'],'error':_0x4d33f5['message']});}},_0x54bf43);}['_cancelRetry'](){const _0x1a99c9=a0_0x5bfa33;this['retryTimer']&&(clearTimeout(this['retryTimer']),this['retryTimer']=null,this['logger'][_0x1a99c9(0x145)](_0x1a99c9(0x15f)));}['getStatus'](){const _0x4a4892=a0_0x5bfa33;return{'initialized':!!this['models'],'lastFetched':this['lastFetched']?.['toISOString']()||null,'modelCount':this[_0x4a4892(0x15b)]?.['length']||0x0,'isLoading':this[_0x4a4892(0x16d)],'needsRefresh':this[_0x4a4892(0x16a)](),'error':this[_0x4a4892(0x171)]||null,'retryAttempts':this['retryAttempts'],'maxRetries':this['maxRetries'],'hasError':!!this['lastError']};}}function a0_0x516d(){const _0x3d2af3=['ANnVBG','yxbPs2v5twfUywDLCG','BgfZDezLDgnOzwq','BwfW','yMfJA2vUzfvYBa','Bg9Nz2vY','mZjeDKn4Aue','tM8GBw9KzwXZigf2ywLSywjSzsaTiefqssbMzxrJAcbMywLSzwq','BMvLzhnszwzYzxnO','zw52','BwvZC2fNzq','AxnmB2fKAw5N','mJm4mJeYnMPqEvjhAG','BMfTzq','BM93','BgfZDevYCM9Y','yxbWBgLJyxrPB24VANnVBG','CMv0CNLbDhrLBxb0CW','z2v0tw9KzwXZ','uMv0CNKGyxr0zw1WDcbMywLSzwq','z2v0qxzHAwXHyMXLtw9KzwXoyw1LCW','zgvIDwC','Bwf4uMv0CMLLCW','BgvUz3rO','l2fWAs9SBg0VBw9KzwXZ','mJbbD1jHvw8','mtKXmJiZtKv2yMTf','nZy4otCZnxHKsM1luW','y29UzMLN','tw9KzwXZihnLCNzPy2uGAw5PDgLHBgL6zwq','C3rHDhvZvgv4Da','BM9Uzq','CMvMCMvZAa','CMv0CNLuAw1LCG','tw9KzwXZigzLDgnOigfSCMvHzhKGAw4GChjVz3jLC3m','yxbPs2v5','Aw5MBW','ndiZndj1rhvZB2q','CMv0CNLezwXHEq','D2fYBG','nZG2ndy0svn4ALLj','zxjYB3i','x3nJAgvKDwXLuMv0CNK','Bw9KzwXZ','mtuYmJq4r3byvvz3','zMv0y2HnB2rLBhm','mta4nZG0mMXdyNvnCq','q2fUy2vSBgvKihbLBMrPBMCGBw9KzwWGzMv0y2GGCMv0CNK','C2v0qxbPs2v5twfUywDLCG','z2v0s2v5C0zVCLjLCxvLC3q'];a0_0x516d=function(){return _0x3d2af3;};return a0_0x516d();}function a0_0x262f(_0x5592f3,_0x435e92){_0x5592f3=_0x5592f3-0x143;const _0x516d9f=a0_0x516d();let _0x262f9b=_0x516d9f[_0x5592f3];if(a0_0x262f['HmrDGA']===undefined){var _0x28add8=function(_0x29d191){const _0x5c5653='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1874e3='',_0x19fc90='';for(let _0xdcb54f=0x0,_0x3a9639,_0x2f1fd2,_0x49117b=0x0;_0x2f1fd2=_0x29d191['charAt'](_0x49117b++);~_0x2f1fd2&&(_0x3a9639=_0xdcb54f%0x4?_0x3a9639*0x40+_0x2f1fd2:_0x2f1fd2,_0xdcb54f++%0x4)?_0x1874e3+=String['fromCharCode'](0xff&_0x3a9639>>(-0x2*_0xdcb54f&0x6)):0x0){_0x2f1fd2=_0x5c5653['indexOf'](_0x2f1fd2);}for(let _0x39c56f=0x0,_0x2f13fc=_0x1874e3['length'];_0x39c56f<_0x2f13fc;_0x39c56f++){_0x19fc90+='%'+('00'+_0x1874e3['charCodeAt'](_0x39c56f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19fc90);};a0_0x262f['kUJjTk']=_0x28add8,a0_0x262f['oKKISD']={},a0_0x262f['HmrDGA']=!![];}const _0x570200=_0x516d9f[0x0],_0x21cfde=_0x5592f3+_0x570200,_0x51a98c=a0_0x262f['oKKISD'][_0x21cfde];return!_0x51a98c?(_0x262f9b=a0_0x262f['kUJjTk'](_0x262f9b),a0_0x262f['oKKISD'][_0x21cfde]=_0x262f9b):_0x262f9b=_0x51a98c,_0x262f9b;}export default ModelsService;