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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/README.md +5 -3
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/agentActivityService.js +1 -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 +2 -2
  120. package/web-ui/build/static/index-Cb8CHAFw.css +1 -0
  121. package/web-ui/build/static/index-DL2-PyNX.js +367 -0
  122. package/web-ui/build/static/index-DFmFvOoy.css +0 -1
  123. package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
@@ -1 +1 @@
1
- const a0_0x379f66=a0_0x1cd5;(function(_0x3b60d5,_0x590b6f){const _0x5188ab=a0_0x1cd5,_0x6ba428=_0x3b60d5();while(!![]){try{const _0x55d7f4=parseInt(_0x5188ab(0x13c))/0x1+-parseInt(_0x5188ab(0x106))/0x2*(parseInt(_0x5188ab(0x112))/0x3)+parseInt(_0x5188ab(0x117))/0x4*(parseInt(_0x5188ab(0x13f))/0x5)+-parseInt(_0x5188ab(0x13d))/0x6+parseInt(_0x5188ab(0x10f))/0x7*(parseInt(_0x5188ab(0x11c))/0x8)+parseInt(_0x5188ab(0x140))/0x9+-parseInt(_0x5188ab(0x133))/0xa;if(_0x55d7f4===_0x590b6f)break;else _0x6ba428['push'](_0x6ba428['shift']());}catch(_0x2219de){_0x6ba428['push'](_0x6ba428['shift']());}}}(a0_0x1182,0x94b44));import a0_0x2135e3 from'readline';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS}from'../utilities/constants.js';function a0_0x1cd5(_0x13bf49,_0x37b400){_0x13bf49=_0x13bf49-0xfb;const _0x11829e=a0_0x1182();let _0x1cd526=_0x11829e[_0x13bf49];if(a0_0x1cd5['mUiyqu']===undefined){var _0x20559b=function(_0x287f37){const _0x10cdad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2135e3='',_0x5aa1c6='';for(let _0x1f5bdd=0x0,_0x47d7b6,_0x4bb890,_0x5949f5=0x0;_0x4bb890=_0x287f37['charAt'](_0x5949f5++);~_0x4bb890&&(_0x47d7b6=_0x1f5bdd%0x4?_0x47d7b6*0x40+_0x4bb890:_0x4bb890,_0x1f5bdd++%0x4)?_0x2135e3+=String['fromCharCode'](0xff&_0x47d7b6>>(-0x2*_0x1f5bdd&0x6)):0x0){_0x4bb890=_0x10cdad['indexOf'](_0x4bb890);}for(let _0x17084e=0x0,_0x3d9f92=_0x2135e3['length'];_0x17084e<_0x3d9f92;_0x17084e++){_0x5aa1c6+='%'+('00'+_0x2135e3['charCodeAt'](_0x17084e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5aa1c6);};a0_0x1cd5['tSjKRE']=_0x20559b,a0_0x1cd5['eSoWLq']={},a0_0x1cd5['mUiyqu']=!![];}const _0xf5a2f2=_0x11829e[0x0],_0x262dc5=_0x13bf49+_0xf5a2f2,_0x55ebfd=a0_0x1cd5['eSoWLq'][_0x262dc5];return!_0x55ebfd?(_0x1cd526=a0_0x1cd5['tSjKRE'](_0x1cd526),a0_0x1cd5['eSoWLq'][_0x262dc5]=_0x1cd526):_0x1cd526=_0x55ebfd,_0x1cd526;}function a0_0x1182(){const _0x422819=['C2v0uhjVBxb0','cVcFLkCGvg9VBcbLEgvJDxrPB24GCMvZDwX0CZO','Dg9VBeLK','mtC5ntCYtu1OsM9q','ChvZAa','C2HVD0HLBha','4P2mievYCM9YoG','4P2mifjLC3vTzsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','4P2miezHAwXLzcb0BYbJCMvHDguGywDLBNq6','AgLZDg9YEvnPEMu','icaGtM8Gy29TBwfUzhmGzxHLy3v0zwqGEwv0','C3rHDhvZ','nJq2mdK5m1z2Bhfdtq','icaGu3DPDgnOzwqGDg8GDgHPCYbHz2vUDcbHDxrVBwf0AwnHBgX5','Bg9N','nMz5wurnwG','8j+KLIbbDMfPBgfIBguGqwDLBNrZoG','yMLUza','y29UzMLN','icaVy2XLyxiGicaGicaGicaGicaGicaTienSzwfYihnJCMvLBG','mZzquwHvrLu','icaG','Cgf1C2vKvw50AwW','tM9Uzq','C2vZC2LVBKLK','oe9hB0PrDa','AxnqyxvZzwq','y29TBwfUzeHPC3rVCNK','8j+tNcbdB21Tyw5KieHPC3rVCNK6','icHJDxjYzw50kq','Bg9Nz2vY','q1jfqvrfx0fhru5u','C3rYAw5NAwz5','BM93','C2HVD1n0yxr1CW','icaGlI4UigfUzca','y3vYCMvUDefNzw50','C3rHCNrZv2L0Aa','4P2miezHAwXLzcb0BYbYzxn1BwuGywDLBNq6','BgvUz3rO','ww91igfYzsa','yNjVD3nLCG','y29TBwfUzhm','y29UDgvUDa','yw50AhjVCgLJlxnVBM5LDa','y3jLyxrLsw50zxjMywnL','r0vux0fhru5ux1nuqvrvuW','4PYfiefNzw50ihbHDxnLzcbMB3iG','mJu0nZq2mhfACfLwEa','4PYfiefNzw50ihjLC3vTzwqGC3vJy2vZC2z1BgX5','zxjYB3i','BMfTzq','Dg9mB3DLCKnHC2u','8j+KLIbbz2vUDcbYzxnWB25ZztO','BgLZDefNzw50CW','u0vorf9nrvntquDf','q0Xj','mJK5odu2shbNs3br','nty2mZGWogrvrgLQqG','cVcFKySGr29Vzgj5zse','mtiYntG1EgL5uMvp','ndG5ndGZmg9crMrsyG','zxHPDa','ChjVBxb0','zgf0yq','y3DK','ywDLBNrZ','icaVCgf1C2uGpgfNzw50lwLKpIaGicaTifbHDxnLigfUigfNzw50','Aw5PDgLHBgL6zq','Dg9VBfjLC3vSDhm','4PYfifn3AxrJAgvKihrVigfNzw50oIa','y2XLyxjty3jLzw4','C2XPy2u','BwvZC2fNzq','icaGqwDLBNrZoIa','CMvZDw1LqwDLBNq','4P2mifn0yxr1CYbJB21Tyw5KigzHAwXLzdO','4P2mifvZywDLoIaVCMvZDw1LidXHz2vUDc1Pzd4','4P2mifvZywDLoIaVC3DPDgnOidXHz2vUDc1Pzd4','CMvZDwX0','B3jJAgvZDhjHDg9Y','icaVC3rHDhvZicaGicaGicaGicaGicaTifnOB3CGC3LZDgvTihn0yxr1CW','4P2mifbHDxnLigfNzw50ignVBw1HBMqGzMfPBgvKoG','C3bSAxq','ChjVy2vZC1jLCxvLC3q','q0XjignVBw1HBMqGzxjYB3i','C3vJy2vZCW','4P2mienYzwf0zsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','AxnsDw5UAw5N','uKvtvu1fx0fhru5u','C3DPDgnOqwDLBNq','icaGqwDLBNrZignHBIb1C2uGDg9VBhmGyw5KignVBw11BMLJyxrLihDPDgGGB3rOzxiGywDLBNrZ','4P2mieXPC3qGywDLBNrZignVBw1HBMqGzMfPBgvKoG','vhLWzsaVAgvSCcbMB3iGyxzHAwXHyMXLignVBw1HBMrZ','Dg9mB2nHBgvuAw1Lu3rYAw5N','C2vUze1LC3nHz2vuB0fNzw50','BwvZC2fNzunVDw50','icaVywDLBNrZicaGicaGicaGicaGicaTieXPC3qGywXSigfNzw50CW','icaGsuq6ia','C2HVD0HPC3rVCNK','8j+oRYbxzwXJB21LihrVieXVEgLHief1Dg9WAwXVDcbpBMuGq0Xj','icaVAgLZDg9YEsaGicaGicaGicaGicaTifnOB3CGy29TBwfUzcbOAxn0B3j5','icaGicbtDgf0Dxm6ia','z2v0uhjVBxb0','Dg9ju09tDhjPBMC','u0Lhsu5u','8j+sOsboBYbHz2vUDcbZzwXLy3rLzc4Gq3jLyxrLigfUigfNzw50igzPCNn0ihDPDgG6ic9JCMvHDguGpgfNzw50lw5HBwu+','4P2mifvZywDLoIaVy3jLyxrLidXHz2vUDc1Uyw1LpIbBBw9KzwXD','icaGuhjVAMvJDdOG','ChjVAMvJDerPCG','y3jLyxrLqwDLBNq','Cgf1C2vbz2vUDa','icaGifjLC3vSDdOG','icaGtMfTztOG','4P2mifvZywDLoIaVCgf1C2uGpgfNzw50lwLKpIbBzhvYyxrPB25DifTYzwfZB25D'];a0_0x1182=function(){return _0x422819;};return a0_0x1182();}class CLIInterface{constructor(_0x5aa1c6,_0x1f5bdd,_0x47d7b6={}){const _0x2a6475=a0_0x1cd5;this[_0x2a6475(0x153)]=_0x5aa1c6,this[_0x2a6475(0x121)]=_0x1f5bdd,this[_0x2a6475(0x115)]=_0x47d7b6,this['rl']=null,this['sessionId']='cli-'+Date[_0x2a6475(0x124)](),this[_0x2a6475(0x127)]=null,this['isRunning']=![],this['historySize']=_0x47d7b6[_0x2a6475(0x10c)]||0x3e8,this[_0x2a6475(0x11e)]=[],this[_0x2a6475(0x12d)]={'help':this['showHelp'][_0x2a6475(0x114)](this),'exit':this[_0x2a6475(0x141)][_0x2a6475(0x114)](this),'quit':this['exit']['bind'](this),'status':this[_0x2a6475(0x125)][_0x2a6475(0x114)](this),'agents':this['listAgents'][_0x2a6475(0x114)](this),'create':this[_0x2a6475(0xfe)][_0x2a6475(0x114)](this),'switch':this[_0x2a6475(0x15d)][_0x2a6475(0x114)](this),'pause':this[_0x2a6475(0xff)]['bind'](this),'resume':this[_0x2a6475(0x14e)]['bind'](this),'clear':this['clearScreen']['bind'](this),'history':this[_0x2a6475(0x166)]['bind'](this)};}async[a0_0x379f66(0x147)](){const _0x5e3c92=a0_0x379f66;this['rl']=a0_0x2135e3[_0x5e3c92(0x130)]({'input':process['stdin'],'output':process['stdout'],'prompt':this[_0x5e3c92(0x16a)](),'historySize':this['historySize']}),this['rl']['on']('line',this['handleInput'][_0x5e3c92(0x114)](this)),this['rl']['on']('close',this['exit']['bind'](this)),this['rl']['on'](_0x5e3c92(0x16c),()=>{console['log']('\x0a(To\x20exit,\x20type\x20\x22exit\x22\x20or\x20press\x20Ctrl+C\x20again)'),this['rl']['prompt']();}),this[_0x5e3c92(0x15b)]=!![],this['showWelcome'](),this['rl'][_0x5e3c92(0x142)]();}async['handleInput'](_0x4bb890){const _0x52ed77=a0_0x379f66,_0x5949f5=_0x4bb890['trim']();if(_0x5949f5['length']===0x0){this['rl']['prompt']();return;}this[_0x52ed77(0x11e)][_0x52ed77(0x107)]({'command':_0x5949f5,'timestamp':new Date()[_0x52ed77(0x16b)]()});this[_0x52ed77(0x11e)]['length']>this[_0x52ed77(0x10c)]&&this['commandHistory']['shift']();try{await this['processInput'](_0x5949f5);}catch(_0x17084e){console['error'](_0x52ed77(0x109),_0x17084e['message']),this['logger']?.['error'](_0x52ed77(0x158),{'command':_0x5949f5,'error':_0x17084e['message']});}this['isRunning']&&this['rl']['prompt']();}async['processInput'](_0x3d9f92){const _0x142716=a0_0x379f66;if(_0x3d9f92[_0x142716(0x128)]('/')){const _0x224045=_0x3d9f92['slice'](0x1)[_0x142716(0x156)]('\x20'),_0xadc7a4=_0x224045[0x0][_0x142716(0x137)](),_0x1aae40=_0x224045[_0x142716(0x14b)](0x1);if(this[_0x142716(0x12d)][_0xadc7a4]){await this['commands'][_0xadc7a4](_0x1aae40);return;}else{console['log']('❌\x20Unknown\x20command:\x20/'+_0xadc7a4),console[_0x142716(0x111)](_0x142716(0x160));return;}}if(!this[_0x142716(0x127)]){console[_0x142716(0x111)](_0x142716(0x16d));return;}await this[_0x142716(0x162)](_0x3d9f92);}async['sendMessageToAgent'](_0x3a32f2){const _0x3d6283=a0_0x379f66;console[_0x3d6283(0x111)]('📤\x20Sending\x20to\x20agent...');try{const _0x6c110b={'interface':INTERFACE_TYPES[_0x3d6283(0x13b)],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0x3d6283(0x13a)],'payload':{'agentId':this[_0x3d6283(0x127)]['id'],'message':_0x3a32f2,'mode':'chat'},'projectDir':process[_0x3d6283(0x144)]()},_0x42d0b=await this[_0x3d6283(0x153)]['processRequest'](_0x6c110b);if(_0x42d0b['success']){console['log'](_0x3d6283(0x138)),console['log'](_0x42d0b['data'][_0x3d6283(0x14c)][_0x3d6283(0x12e)]);if(_0x42d0b['data'][_0x3d6283(0x148)]&&_0x42d0b[_0x3d6283(0x143)]['toolResults'][_0x3d6283(0x12a)]>0x0){console['log'](_0x3d6283(0x104));for(const _0x44c9be of _0x42d0b['data'][_0x3d6283(0x148)]){console[_0x3d6283(0x111)]('\x20\x20'+_0x44c9be[_0x3d6283(0x105)]+':\x20'+_0x44c9be[_0x3d6283(0x10e)]),_0x44c9be[_0x3d6283(0x152)]&&console['log'](_0x3d6283(0x100)+JSON[_0x3d6283(0x123)](_0x44c9be['result'],null,0x2));}}}else console[_0x3d6283(0x135)]('❌\x20Agent\x20response\x20failed:',_0x42d0b['error']);}catch(_0x77caf5){console['error']('❌\x20Failed\x20to\x20send\x20message:',_0x77caf5['message']);}}['showWelcome'](){const _0x3d988d=a0_0x379f66;console[_0x3d988d(0x111)](''),console['log'](_0x3d988d(0x167)),console[_0x3d988d(0x111)]('\x20\x20\x20Type\x20/help\x20for\x20available\x20commands'),console['log']('\x20\x20\x20Type\x20/create\x20<name>\x20to\x20create\x20your\x20first\x20agent'),console[_0x3d988d(0x111)]('');}async[a0_0x379f66(0x108)](){const _0x44f7d5=a0_0x379f66;console[_0x44f7d5(0x111)](''),console['log']('📚\x20Loxia\x20Autopilot\x20One\x20CLI\x20Commands:'),console[_0x44f7d5(0x111)](''),console['log']('\x20\x20/help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20this\x20help\x20message'),console[_0x44f7d5(0x111)](_0x44f7d5(0x154)),console['log'](_0x44f7d5(0x164)),console[_0x44f7d5(0x111)]('\x20\x20/create\x20<name>\x20\x20\x20\x20\x20\x20\x20-\x20Create\x20a\x20new\x20agent'),console['log']('\x20\x20/switch\x20<agent-id>\x20\x20\x20-\x20Switch\x20to\x20different\x20agent'),console[_0x44f7d5(0x111)](_0x44f7d5(0x146)),console[_0x44f7d5(0x111)]('\x20\x20/resume\x20<agent-id>\x20\x20\x20-\x20Resume\x20a\x20paused\x20agent'),console[_0x44f7d5(0x111)](_0x44f7d5(0x168)),console[_0x44f7d5(0x111)](_0x44f7d5(0x116)),console['log']('\x20\x20/exit\x20or\x20/quit\x20\x20\x20\x20\x20\x20\x20-\x20Exit\x20the\x20CLI'),console['log'](''),console['log']('💬\x20Chat\x20with\x20agents:'),console[_0x44f7d5(0x111)]('\x20\x20\x20Simply\x20type\x20your\x20message\x20to\x20send\x20it\x20to\x20the\x20current\x20agent'),console['log'](_0x44f7d5(0x15e)),console['log']('');}async[a0_0x379f66(0x125)](){const _0x3e5601=a0_0x379f66;try{const _0x3db87f={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x3e5601(0x11b)],'action':ORCHESTRATOR_ACTIONS['GET_SESSION_STATE'],'payload':{},'projectDir':process[_0x3e5601(0x144)]()},_0x2f8ca8=await this[_0x3e5601(0x153)]['processRequest'](_0x3db87f);if(_0x2f8ca8['success']){const _0x17fa0c=_0x2f8ca8[_0x3e5601(0x143)];console[_0x3e5601(0x111)](''),console[_0x3e5601(0x111)]('📊\x20System\x20Status:'),console[_0x3e5601(0x111)]('\x20\x20\x20Session\x20ID:\x20'+_0x17fa0c['sessionId']),console[_0x3e5601(0x111)](_0x3e5601(0xfc)+_0x17fa0c[_0x3e5601(0xfd)]),console[_0x3e5601(0x111)](_0x3e5601(0x14d)+_0x17fa0c[_0x3e5601(0x145)][_0x3e5601(0x12a)]),console['log']('\x20\x20\x20Current\x20Agent:\x20'+(this[_0x3e5601(0x127)]?this[_0x3e5601(0x127)]['name']:_0x3e5601(0x11a))),console['log']('');if(_0x17fa0c['agents'][_0x3e5601(0x12a)]>0x0){console[_0x3e5601(0x111)]('🤖\x20Active\x20Agents:');for(const _0x2a6cea of _0x17fa0c['agents']){const _0x300dcd=_0x2a6cea[_0x3e5601(0x11d)]?_0x2a6cea['status']+'\x20(until\x20'+_0x2a6cea['pausedUntil']+')':_0x2a6cea['status'];console['log'](_0x3e5601(0x118)+_0x2a6cea['id']+':\x20'+_0x2a6cea['name']+'\x20('+_0x300dcd+')');}console['log']('');}}else console[_0x3e5601(0x135)]('❌\x20Failed\x20to\x20get\x20status:',_0x2f8ca8['error']);}catch(_0x33f1c4){console[_0x3e5601(0x135)](_0x3e5601(0x14f),_0x33f1c4[_0x3e5601(0x14c)]);}}async[a0_0x379f66(0x139)](){const _0x2437a8=a0_0x379f66;try{const _0xbf140a={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['LIST_AGENTS'],'payload':{},'projectDir':process['cwd']()},_0x38b536=await this['orchestrator'][_0x2437a8(0x157)](_0xbf140a);if(_0x38b536[_0x2437a8(0x159)]){const _0x41d207=_0x38b536['data'];console['log']('');if(_0x41d207[_0x2437a8(0x12a)]===0x0)console['log']('📭\x20No\x20agents\x20created\x20yet'),console['log']('\x20\x20\x20Use\x20/create\x20<name>\x20to\x20create\x20your\x20first\x20agent');else{console[_0x2437a8(0x111)](_0x2437a8(0x113));for(const _0x504be8 of _0x41d207){const _0x46f042=this[_0x2437a8(0x127)]&&this['currentAgent']['id']===_0x504be8['id']?_0x2437a8(0x120):'',_0x1412ad=_0x504be8[_0x2437a8(0x11d)]?_0x504be8[_0x2437a8(0x10e)]+'\x20(until\x20'+_0x504be8[_0x2437a8(0x119)]+')':_0x504be8[_0x2437a8(0x10e)];console['log']('\x20\x20\x20'+_0x504be8['id']+':\x20'+_0x504be8['name']+_0x46f042),console[_0x2437a8(0x111)](_0x2437a8(0x169)+_0x1412ad),console['log']('\x20\x20\x20\x20\x20Model:\x20'+_0x504be8['currentModel']),console[_0x2437a8(0x111)]('\x20\x20\x20\x20\x20Messages:\x20'+_0x504be8[_0x2437a8(0x163)]),console['log']('');}}}else console['error']('❌\x20Failed\x20to\x20list\x20agents:',_0x38b536[_0x2437a8(0x135)]);}catch(_0x5ca455){console['error'](_0x2437a8(0x15f),_0x5ca455['message']);}}async[a0_0x379f66(0xfe)](_0x474b32){const _0x33c37c=a0_0x379f66;if(_0x474b32['length']===0x0){console[_0x33c37c(0x111)](_0x33c37c(0xfb));return;}const _0x430ef9=_0x474b32[0x0],_0x54ea1d=_0x474b32[0x1]||_0x33c37c(0x12f);console['log']('🔨\x20Creating\x20agent\x20\x22'+_0x430ef9+'\x22\x20with\x20model\x20'+_0x54ea1d+'...');try{const _0x38c7e5={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x33c37c(0x11b)],'action':ORCHESTRATOR_ACTIONS[_0x33c37c(0x122)],'payload':{'name':_0x430ef9,'systemPrompt':_0x33c37c(0x12b)+_0x430ef9+',\x20an\x20AI\x20assistant\x20created\x20in\x20the\x20Loxia\x20Autopilot\x20One\x20system.\x20You\x20can\x20help\x20with\x20coding,\x20analysis,\x20and\x20various\x20tasks\x20using\x20the\x20available\x20tools.','model':_0x54ea1d,'capabilities':['terminal','filesystem','agentdelay',_0x33c37c(0x12c)]},'projectDir':process[_0x33c37c(0x144)]()},_0x5f0087=await this['orchestrator'][_0x33c37c(0x157)](_0x38c7e5);if(_0x5f0087[_0x33c37c(0x159)]){const _0x4a74c7=_0x5f0087['data'];this['currentAgent']=_0x4a74c7,console['log']('✅\x20Agent\x20created\x20successfully!'),console['log'](_0x33c37c(0x165)+_0x4a74c7['id']),console['log'](_0x33c37c(0x101)+_0x4a74c7['name']),console['log']('\x20\x20\x20Model:\x20'+_0x4a74c7['preferredModel']),console[_0x33c37c(0x111)](_0x33c37c(0x110)),this['rl'][_0x33c37c(0x103)](this[_0x33c37c(0x16a)]());}else console['error'](_0x33c37c(0x10b),_0x5f0087['error']);}catch(_0x412b8e){console[_0x33c37c(0x135)](_0x33c37c(0x15a),_0x412b8e[_0x33c37c(0x14c)]);}}async['switchAgent'](_0x18e42c){const _0x4afc94=a0_0x379f66;if(_0x18e42c['length']===0x0){console[_0x4afc94(0x111)](_0x4afc94(0x151));return;}const _0x420cbc=_0x18e42c[0x0];try{const _0x4b5b51={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0x4afc94(0x131)],'payload':{'agentId':_0x420cbc},'projectDir':process[_0x4afc94(0x144)]()},_0x4ff997=await this['orchestrator']['processRequest'](_0x4b5b51);_0x4ff997['success']?(this['currentAgent']=_0x4ff997['data'],console[_0x4afc94(0x111)](_0x4afc94(0x149)+this['currentAgent']['name']+'\x20('+this['currentAgent']['id']+')'),this['rl']['setPrompt'](this[_0x4afc94(0x16a)]())):console[_0x4afc94(0x135)]('❌\x20Failed\x20to\x20switch\x20agent:',_0x4ff997['error']);}catch(_0x459733){console['error']('❌\x20Switch\x20agent\x20command\x20failed:',_0x459733[_0x4afc94(0x14c)]);}}async[a0_0x379f66(0xff)](_0x28e3ef){const _0x2a323b=a0_0x379f66;if(_0x28e3ef[_0x2a323b(0x12a)]===0x0){console['log'](_0x2a323b(0x102));return;}const _0x2e4aeb=_0x28e3ef[0x0],_0x39e919=parseInt(_0x28e3ef[0x1])||0x3c,_0x5c1683=_0x28e3ef[_0x2a323b(0x14b)](0x2)['join']('\x20')||'Manual pause from CLI';try{const _0x260ee6={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['PAUSE_AGENT'],'payload':{'agentId':_0x2e4aeb,'duration':_0x39e919,'reason':_0x5c1683},'projectDir':process['cwd']()},_0x5b3c01=await this[_0x2a323b(0x153)]['processRequest'](_0x260ee6);_0x5b3c01[_0x2a323b(0x159)]?(console['log'](_0x2a323b(0x132)+_0x39e919+'\x20seconds'),console[_0x2a323b(0x111)]('\x20\x20\x20Reason:\x20'+_0x5c1683)):console['error']('❌\x20Failed\x20to\x20pause\x20agent:',_0x5b3c01['error']);}catch(_0x3c2c70){console['error'](_0x2a323b(0x155),_0x3c2c70['message']);}}async[a0_0x379f66(0x14e)](_0x1d8be){const _0x21e189=a0_0x379f66;if(_0x1d8be['length']===0x0){console[_0x21e189(0x111)](_0x21e189(0x150));return;}const _0x3ca00d=_0x1d8be[0x0];try{const _0x2a5a2f={'interface':INTERFACE_TYPES[_0x21e189(0x13b)],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0x21e189(0x15c)],'payload':{'agentId':_0x3ca00d},'projectDir':process['cwd']()},_0x2f857d=await this[_0x21e189(0x153)]['processRequest'](_0x2a5a2f);_0x2f857d['success']?console[_0x21e189(0x111)](_0x21e189(0x134)):console[_0x21e189(0x135)](_0x21e189(0x129),_0x2f857d[_0x21e189(0x135)]);}catch(_0x47b3c8){console[_0x21e189(0x135)](_0x21e189(0x10a),_0x47b3c8[_0x21e189(0x14c)]);}}async['showHistory'](){const _0x1c3d31=a0_0x379f66;console['log'](''),console['log'](_0x1c3d31(0x11f));if(this['commandHistory']['length']===0x0)console['log'](_0x1c3d31(0x10d));else{const _0x4aab02=this['commandHistory']['slice'](-0xa);for(let _0x174f2b=0x0;_0x174f2b<_0x4aab02[_0x1c3d31(0x12a)];_0x174f2b++){const _0x3ab321=_0x4aab02[_0x174f2b],_0x5a1c99=new Date(_0x3ab321['timestamp'])[_0x1c3d31(0x161)]();console['log']('\x20\x20\x20'+(_0x174f2b+0x1)+'.\x20['+_0x5a1c99+']\x20'+_0x3ab321['command']);}this[_0x1c3d31(0x11e)]['length']>0xa&&console['log'](_0x1c3d31(0x126)+(this['commandHistory'][_0x1c3d31(0x12a)]-0xa)+'\x20more\x20commands');}console[_0x1c3d31(0x111)]('');}async[a0_0x379f66(0x14a)](){console['clear'](),this['showWelcome']();}async[a0_0x379f66(0x141)](){const _0x526213=a0_0x379f66;this['isRunning']&&(console['log'](_0x526213(0x13e)),this['isRunning']=![],this['rl']&&this['rl']['close']());}[a0_0x379f66(0x16a)](){const _0x4ad0be=a0_0x379f66,_0x2726af=this['currentAgent']?this['currentAgent'][_0x4ad0be(0x136)]:'no-agent';return'loxia:'+_0x2726af+'>\x20';}async['shutdown'](){await this['exit']();}}export default CLIInterface;
1
+ const a0_0x287487=a0_0x43c2;(function(_0x3e2dd3,_0x175600){const _0x2e59b3=a0_0x43c2,_0x2a6728=_0x3e2dd3();while(!![]){try{const _0x100276=parseInt(_0x2e59b3(0x19b))/0x1*(parseInt(_0x2e59b3(0x1e3))/0x2)+-parseInt(_0x2e59b3(0x1d2))/0x3*(parseInt(_0x2e59b3(0x1b2))/0x4)+-parseInt(_0x2e59b3(0x1b6))/0x5+-parseInt(_0x2e59b3(0x1c9))/0x6+-parseInt(_0x2e59b3(0x1dd))/0x7+parseInt(_0x2e59b3(0x1e4))/0x8+parseInt(_0x2e59b3(0x198))/0x9;if(_0x100276===_0x175600)break;else _0x2a6728['push'](_0x2a6728['shift']());}catch(_0x1dfcb8){_0x2a6728['push'](_0x2a6728['shift']());}}}(a0_0x1370,0x7dc96));import a0_0x437662 from'readline';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS}from'../utilities/constants.js';class CLIInterface{constructor(_0xf5c5b0,_0x2315e7,_0x4c87f5={}){const _0x15be88=a0_0x43c2;this['orchestrator']=_0xf5c5b0,this[_0x15be88(0x1d7)]=_0x2315e7,this['config']=_0x4c87f5,this['rl']=null,this[_0x15be88(0x1bc)]='cli-'+Date['now'](),this[_0x15be88(0x196)]=null,this['isRunning']=![],this[_0x15be88(0x1f7)]=_0x4c87f5['historySize']||0x3e8,this[_0x15be88(0x1c3)]=[],this[_0x15be88(0x1a6)]={'help':this['showHelp'][_0x15be88(0x1e2)](this),'exit':this[_0x15be88(0x1a4)][_0x15be88(0x1e2)](this),'quit':this['exit']['bind'](this),'status':this['showStatus'][_0x15be88(0x1e2)](this),'agents':this['listAgents']['bind'](this),'create':this[_0x15be88(0x1c2)][_0x15be88(0x1e2)](this),'switch':this['switchAgent'][_0x15be88(0x1e2)](this),'pause':this['pauseAgent']['bind'](this),'resume':this['resumeAgent']['bind'](this),'clear':this['clearScreen'][_0x15be88(0x1e2)](this),'history':this[_0x15be88(0x1da)]['bind'](this)};}async[a0_0x287487(0x1b3)](){const _0x7c4573=a0_0x287487;this['rl']=a0_0x437662[_0x7c4573(0x1c6)]({'input':process['stdin'],'output':process['stdout'],'prompt':this[_0x7c4573(0x1a3)](),'historySize':this['historySize']}),this['rl']['on']('line',this['handleInput']['bind'](this)),this['rl']['on']('close',this[_0x7c4573(0x1a4)][_0x7c4573(0x1e2)](this)),this['rl']['on']('SIGINT',()=>{const _0x45d74f=_0x7c4573;console[_0x45d74f(0x1d1)](_0x45d74f(0x1ea)),this['rl']['prompt']();}),this['isRunning']=!![],this['showWelcome'](),this['rl']['prompt']();}async['handleInput'](_0x12d64e){const _0x557aac=a0_0x287487,_0x4e5149=_0x12d64e['trim']();if(_0x4e5149['length']===0x0){this['rl'][_0x557aac(0x195)]();return;}this['commandHistory'][_0x557aac(0x1db)]({'command':_0x4e5149,'timestamp':new Date()['toISOString']()});this[_0x557aac(0x1c3)][_0x557aac(0x1e0)]>this[_0x557aac(0x1f7)]&&this[_0x557aac(0x1c3)]['shift']();try{await this['processInput'](_0x4e5149);}catch(_0xfce436){console[_0x557aac(0x1ac)]('❌\x20Error:',_0xfce436['message']),this['logger']?.['error']('CLI\x20command\x20error',{'command':_0x4e5149,'error':_0xfce436['message']});}this[_0x557aac(0x192)]&&this['rl'][_0x557aac(0x195)]();}async[a0_0x287487(0x1b9)](_0x1df921){const _0x562166=a0_0x287487;if(_0x1df921[_0x562166(0x1a5)]('/')){const _0x1370b9=_0x1df921[_0x562166(0x194)](0x1)['split']('\x20'),_0x1edecf=_0x1370b9[0x0][_0x562166(0x1d5)](),_0x100f52=_0x1370b9['slice'](0x1);if(this[_0x562166(0x1a6)][_0x1edecf]){await this['commands'][_0x1edecf](_0x100f52);return;}else{console[_0x562166(0x1d1)](_0x562166(0x1d3)+_0x1edecf),console[_0x562166(0x1d1)]('Type\x20/help\x20for\x20available\x20commands');return;}}if(!this[_0x562166(0x196)]){console['log'](_0x562166(0x199));return;}await this['sendMessageToAgent'](_0x1df921);}async['sendMessageToAgent'](_0x595805){const _0x20f4be=a0_0x287487;console[_0x20f4be(0x1d1)]('📤\x20Sending\x20to\x20agent...');try{const _0x5cde9e={'interface':INTERFACE_TYPES[_0x20f4be(0x1b1)],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['SEND_MESSAGE'],'payload':{'agentId':this['currentAgent']['id'],'message':_0x595805,'mode':'chat'},'projectDir':process[_0x20f4be(0x1eb)]()},_0x150b9a=await this[_0x20f4be(0x1d8)][_0x20f4be(0x1f4)](_0x5cde9e);if(_0x150b9a['success']){console['log'](_0x20f4be(0x1a2)),console['log'](_0x150b9a[_0x20f4be(0x193)][_0x20f4be(0x1f3)]['content']);if(_0x150b9a[_0x20f4be(0x193)][_0x20f4be(0x1b0)]&&_0x150b9a[_0x20f4be(0x193)][_0x20f4be(0x1b0)]['length']>0x0){console[_0x20f4be(0x1d1)]('\x0a🔧\x20Tool\x20execution\x20results:');for(const _0x318087 of _0x150b9a['data']['toolResults']){console[_0x20f4be(0x1d1)]('\x20\x20'+_0x318087[_0x20f4be(0x1c7)]+':\x20'+_0x318087[_0x20f4be(0x1ef)]),_0x318087['result']&&console['log'](_0x20f4be(0x1dc)+JSON['stringify'](_0x318087['result'],null,0x2));}}}else console[_0x20f4be(0x1ac)](_0x20f4be(0x197),_0x150b9a['error']);}catch(_0x56861e){console[_0x20f4be(0x1ac)](_0x20f4be(0x1d0),_0x56861e[_0x20f4be(0x1f3)]);}}[a0_0x287487(0x1cb)](){const _0x537f0e=a0_0x287487;console[_0x537f0e(0x1d1)](''),console[_0x537f0e(0x1d1)]('🎯\x20Welcome\x20to\x20Loxia\x20Autopilot\x20One\x20CLI'),console['log'](_0x537f0e(0x1a8)),console['log'](_0x537f0e(0x1f2)),console[_0x537f0e(0x1d1)]('');}async[a0_0x287487(0x1f1)](){const _0x288575=a0_0x287487;console['log'](''),console[_0x288575(0x1d1)](_0x288575(0x1e5)),console[_0x288575(0x1d1)](''),console[_0x288575(0x1d1)]('\x20\x20/help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20this\x20help\x20message'),console['log'](_0x288575(0x1ba)),console[_0x288575(0x1d1)]('\x20\x20/agents\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20List\x20all\x20agents'),console[_0x288575(0x1d1)]('\x20\x20/create\x20<name>\x20\x20\x20\x20\x20\x20\x20-\x20Create\x20a\x20new\x20agent'),console[_0x288575(0x1d1)](_0x288575(0x1cf)),console['log'](_0x288575(0x1c8)),console[_0x288575(0x1d1)]('\x20\x20/resume\x20<agent-id>\x20\x20\x20-\x20Resume\x20a\x20paused\x20agent'),console[_0x288575(0x1d1)]('\x20\x20/history\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20command\x20history'),console['log']('\x20\x20/clear\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Clear\x20screen'),console[_0x288575(0x1d1)]('\x20\x20/exit\x20or\x20/quit\x20\x20\x20\x20\x20\x20\x20-\x20Exit\x20the\x20CLI'),console['log'](''),console[_0x288575(0x1d1)]('💬\x20Chat\x20with\x20agents:'),console[_0x288575(0x1d1)]('\x20\x20\x20Simply\x20type\x20your\x20message\x20to\x20send\x20it\x20to\x20the\x20current\x20agent'),console[_0x288575(0x1d1)](_0x288575(0x1b4)),console['log']('');}async[a0_0x287487(0x1ce)](){const _0x5905ab=a0_0x287487;try{const _0x1d8fe5={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['GET_SESSION_STATE'],'payload':{},'projectDir':process[_0x5905ab(0x1eb)]()},_0x35908b=await this[_0x5905ab(0x1d8)][_0x5905ab(0x1f4)](_0x1d8fe5);if(_0x35908b['success']){const _0x1ee59c=_0x35908b['data'];console[_0x5905ab(0x1d1)](''),console['log'](_0x5905ab(0x1e1)),console['log'](_0x5905ab(0x19f)+_0x1ee59c['sessionId']),console[_0x5905ab(0x1d1)]('\x20\x20\x20Project:\x20'+_0x1ee59c['projectDir']),console['log']('\x20\x20\x20Agents:\x20'+_0x1ee59c['agents'][_0x5905ab(0x1e0)]),console[_0x5905ab(0x1d1)]('\x20\x20\x20Current\x20Agent:\x20'+(this[_0x5905ab(0x196)]?this[_0x5905ab(0x196)]['name']:'None')),console[_0x5905ab(0x1d1)]('');if(_0x1ee59c[_0x5905ab(0x1d6)][_0x5905ab(0x1e0)]>0x0){console[_0x5905ab(0x1d1)](_0x5905ab(0x1d9));for(const _0x99b2dd of _0x1ee59c[_0x5905ab(0x1d6)]){const _0x7494c3=_0x99b2dd[_0x5905ab(0x1a0)]?_0x99b2dd[_0x5905ab(0x1ef)]+_0x5905ab(0x1df)+_0x99b2dd[_0x5905ab(0x1d4)]+')':_0x99b2dd[_0x5905ab(0x1ef)];console['log']('\x20\x20\x20'+_0x99b2dd['id']+':\x20'+_0x99b2dd[_0x5905ab(0x1e7)]+'\x20('+_0x7494c3+')');}console['log']('');}}else console['error'](_0x5905ab(0x1cc),_0x35908b[_0x5905ab(0x1ac)]);}catch(_0x44e9d8){console[_0x5905ab(0x1ac)](_0x5905ab(0x1a9),_0x44e9d8[_0x5905ab(0x1f3)]);}}async['listAgents'](){const _0x53cd79=a0_0x287487;try{const _0x1b1c99={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x53cd79(0x1bc)],'action':ORCHESTRATOR_ACTIONS[_0x53cd79(0x1e8)],'payload':{},'projectDir':process[_0x53cd79(0x1eb)]()},_0x34c4b5=await this[_0x53cd79(0x1d8)]['processRequest'](_0x1b1c99);if(_0x34c4b5['success']){const _0x24d968=_0x34c4b5['data'];console['log']('');if(_0x24d968['length']===0x0)console[_0x53cd79(0x1d1)]('📭\x20No\x20agents\x20created\x20yet'),console[_0x53cd79(0x1d1)]('\x20\x20\x20Use\x20/create\x20<name>\x20to\x20create\x20your\x20first\x20agent');else{console['log'](_0x53cd79(0x1e6));for(const _0x109650 of _0x24d968){const _0x2635ca=this[_0x53cd79(0x196)]&&this['currentAgent']['id']===_0x109650['id']?'\x20(current)':'',_0x348ee1=_0x109650['isPaused']?_0x109650[_0x53cd79(0x1ef)]+'\x20(until\x20'+_0x109650[_0x53cd79(0x1d4)]+')':_0x109650[_0x53cd79(0x1ef)];console[_0x53cd79(0x1d1)]('\x20\x20\x20'+_0x109650['id']+':\x20'+_0x109650['name']+_0x2635ca),console['log'](_0x53cd79(0x1bf)+_0x348ee1),console['log']('\x20\x20\x20\x20\x20Model:\x20'+_0x109650['currentModel']),console['log']('\x20\x20\x20\x20\x20Messages:\x20'+_0x109650[_0x53cd79(0x1b5)]),console[_0x53cd79(0x1d1)]('');}}}else console[_0x53cd79(0x1ac)]('❌\x20Failed\x20to\x20list\x20agents:',_0x34c4b5['error']);}catch(_0x3cad97){console[_0x53cd79(0x1ac)](_0x53cd79(0x19e),_0x3cad97['message']);}}async['createAgent'](_0x338b91){const _0x5860d3=a0_0x287487;if(_0x338b91['length']===0x0){console['log']('❌\x20Usage:\x20/create\x20<agent-name>\x20[model]');return;}const _0x38454d=_0x338b91[0x0],_0x41ee64=_0x338b91[0x1]||'anthropic-sonnet';console[_0x5860d3(0x1d1)](_0x5860d3(0x1de)+_0x38454d+'\x22\x20with\x20model\x20'+_0x41ee64+'...');try{const _0x38eac9={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x5860d3(0x1bc)],'action':ORCHESTRATOR_ACTIONS['CREATE_AGENT'],'payload':{'name':_0x38454d,'systemPrompt':'You\x20are\x20'+_0x38454d+_0x5860d3(0x1b7),'model':_0x41ee64,'capabilities':[_0x5860d3(0x1c1),_0x5860d3(0x1ca),_0x5860d3(0x1e9),_0x5860d3(0x1aa)]},'projectDir':process[_0x5860d3(0x1eb)]()},_0x2c8a39=await this[_0x5860d3(0x1d8)]['processRequest'](_0x38eac9);if(_0x2c8a39[_0x5860d3(0x1f5)]){const _0x2cef63=_0x2c8a39[_0x5860d3(0x193)];this[_0x5860d3(0x196)]=_0x2cef63,console[_0x5860d3(0x1d1)](_0x5860d3(0x1af)),console['log']('\x20\x20\x20ID:\x20'+_0x2cef63['id']),console[_0x5860d3(0x1d1)](_0x5860d3(0x1ec)+_0x2cef63[_0x5860d3(0x1e7)]),console['log']('\x20\x20\x20Model:\x20'+_0x2cef63[_0x5860d3(0x1f0)]),console[_0x5860d3(0x1d1)]('\x20\x20\x20Switched\x20to\x20this\x20agent\x20automatically'),this['rl'][_0x5860d3(0x1f6)](this['getPrompt']());}else console['error'](_0x5860d3(0x1c0),_0x2c8a39['error']);}catch(_0x533008){console[_0x5860d3(0x1ac)](_0x5860d3(0x1a7),_0x533008['message']);}}async['switchAgent'](_0x4122b6){const _0x58267c=a0_0x287487;if(_0x4122b6[_0x58267c(0x1e0)]===0x0){console['log']('❌\x20Usage:\x20/switch\x20<agent-id>');return;}const _0x4d1c4c=_0x4122b6[0x0];try{const _0x2d9c9c={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['GET_AGENT_STATUS'],'payload':{'agentId':_0x4d1c4c},'projectDir':process[_0x58267c(0x1eb)]()},_0x4852cc=await this['orchestrator']['processRequest'](_0x2d9c9c);_0x4852cc[_0x58267c(0x1f5)]?(this['currentAgent']=_0x4852cc[_0x58267c(0x193)],console['log'](_0x58267c(0x19d)+this['currentAgent'][_0x58267c(0x1e7)]+'\x20('+this[_0x58267c(0x196)]['id']+')'),this['rl'][_0x58267c(0x1f6)](this['getPrompt']())):console['error']('❌\x20Failed\x20to\x20switch\x20agent:',_0x4852cc[_0x58267c(0x1ac)]);}catch(_0x426446){console[_0x58267c(0x1ac)](_0x58267c(0x19c),_0x426446[_0x58267c(0x1f3)]);}}async[a0_0x287487(0x1bd)](_0x4b6c63){const _0xa4671f=a0_0x287487;if(_0x4b6c63['length']===0x0){console[_0xa4671f(0x1d1)](_0xa4671f(0x1ad));return;}const _0x5c3e8f=_0x4b6c63[0x0],_0x2460ed=parseInt(_0x4b6c63[0x1])||0x3c,_0x2cd97b=_0x4b6c63[_0xa4671f(0x194)](0x2)['join']('\x20')||'Manual pause from CLI';try{const _0x257d95={'interface':INTERFACE_TYPES[_0xa4671f(0x1b1)],'sessionId':this[_0xa4671f(0x1bc)],'action':ORCHESTRATOR_ACTIONS[_0xa4671f(0x19a)],'payload':{'agentId':_0x5c3e8f,'duration':_0x2460ed,'reason':_0x2cd97b},'projectDir':process['cwd']()},_0x254415=await this['orchestrator']['processRequest'](_0x257d95);_0x254415[_0xa4671f(0x1f5)]?(console[_0xa4671f(0x1d1)](_0xa4671f(0x1be)+_0x2460ed+_0xa4671f(0x1a1)),console[_0xa4671f(0x1d1)]('\x20\x20\x20Reason:\x20'+_0x2cd97b)):console[_0xa4671f(0x1ac)]('❌\x20Failed\x20to\x20pause\x20agent:',_0x254415[_0xa4671f(0x1ac)]);}catch(_0x4ed340){console['error']('❌\x20Pause\x20agent\x20command\x20failed:',_0x4ed340['message']);}}async['resumeAgent'](_0x816106){const _0xc8ae72=a0_0x287487;if(_0x816106['length']===0x0){console['log']('❌\x20Usage:\x20/resume\x20<agent-id>');return;}const _0x152f9a=_0x816106[0x0];try{const _0x2614ab={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0xc8ae72(0x1ed)],'payload':{'agentId':_0x152f9a},'projectDir':process[_0xc8ae72(0x1eb)]()},_0x9cf62c=await this[_0xc8ae72(0x1d8)]['processRequest'](_0x2614ab);_0x9cf62c['success']?console['log'](_0xc8ae72(0x1c4)):console[_0xc8ae72(0x1ac)]('❌\x20Failed\x20to\x20resume\x20agent:',_0x9cf62c[_0xc8ae72(0x1ac)]);}catch(_0x55a14f){console['error'](_0xc8ae72(0x1bb),_0x55a14f[_0xc8ae72(0x1f3)]);}}async[a0_0x287487(0x1da)](){const _0x19cafe=a0_0x287487;console[_0x19cafe(0x1d1)](''),console[_0x19cafe(0x1d1)]('📜\x20Command\x20History:');if(this[_0x19cafe(0x1c3)][_0x19cafe(0x1e0)]===0x0)console['log']('\x20\x20\x20No\x20commands\x20executed\x20yet');else{const _0x16c436=this['commandHistory'][_0x19cafe(0x194)](-0xa);for(let _0x190641=0x0;_0x190641<_0x16c436[_0x19cafe(0x1e0)];_0x190641++){const _0x275f3c=_0x16c436[_0x190641],_0x375158=new Date(_0x275f3c['timestamp'])[_0x19cafe(0x1b8)]();console[_0x19cafe(0x1d1)]('\x20\x20\x20'+(_0x190641+0x1)+'.\x20['+_0x375158+']\x20'+_0x275f3c['command']);}this[_0x19cafe(0x1c3)]['length']>0xa&&console['log'](_0x19cafe(0x1cd)+(this['commandHistory']['length']-0xa)+'\x20more\x20commands');}console['log']('');}async[a0_0x287487(0x1ab)](){const _0x38ceec=a0_0x287487;console[_0x38ceec(0x1c5)](),this[_0x38ceec(0x1cb)]();}async[a0_0x287487(0x1a4)](){const _0x4bd7e7=a0_0x287487;this['isRunning']&&(console[_0x4bd7e7(0x1d1)]('\x0a👋\x20Goodbye!'),this['isRunning']=![],this['rl']&&this['rl']['close']());}['getPrompt'](){const _0x2e484b=a0_0x287487,_0x15f573=this[_0x2e484b(0x196)]?this['currentAgent']['name']:'no-agent';return _0x2e484b(0x1ee)+_0x15f573+'>\x20';}async[a0_0x287487(0x1ae)](){await this['exit']();}}function a0_0x43c2(_0x3187d4,_0x1b5c25){_0x3187d4=_0x3187d4-0x192;const _0x137029=a0_0x1370();let _0x43c2ea=_0x137029[_0x3187d4];if(a0_0x43c2['ZuQhvb']===undefined){var _0x31d06c=function(_0x3364cb){const _0x58254a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x437662='',_0xf5c5b0='';for(let _0x2315e7=0x0,_0x4c87f5,_0x12d64e,_0x4e5149=0x0;_0x12d64e=_0x3364cb['charAt'](_0x4e5149++);~_0x12d64e&&(_0x4c87f5=_0x2315e7%0x4?_0x4c87f5*0x40+_0x12d64e:_0x12d64e,_0x2315e7++%0x4)?_0x437662+=String['fromCharCode'](0xff&_0x4c87f5>>(-0x2*_0x2315e7&0x6)):0x0){_0x12d64e=_0x58254a['indexOf'](_0x12d64e);}for(let _0xfce436=0x0,_0x1df921=_0x437662['length'];_0xfce436<_0x1df921;_0xfce436++){_0xf5c5b0+='%'+('00'+_0x437662['charCodeAt'](_0xfce436)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf5c5b0);};a0_0x43c2['hHQkeV']=_0x31d06c,a0_0x43c2['IABhZw']={},a0_0x43c2['ZuQhvb']=!![];}const _0x2402de=_0x137029[0x0],_0x322dc0=_0x3187d4+_0x2402de,_0x5a0c88=a0_0x43c2['IABhZw'][_0x322dc0];return!_0x5a0c88?(_0x43c2ea=a0_0x43c2['hHQkeV'](_0x43c2ea),a0_0x43c2['IABhZw'][_0x322dc0]=_0x43c2ea):_0x43c2ea=_0x5a0c88,_0x43c2ea;}export default CLIInterface;function a0_0x1370(){const _0x256ec4=['DgvYBwLUywW','y3jLyxrLqwDLBNq','y29TBwfUzeHPC3rVCNK','4PYfiefNzw50ihjLC3vTzwqGC3vJy2vZC2z1BgX5','y2XLyxi','y3jLyxrLsw50zxjMywnL','Dg9VBeLK','icaVCgf1C2uGpgfNzw50lwLKpIaGicaTifbHDxnLigfUigfNzw50','mZqZnZiYnK1MrM1ywa','zMLSzxn5C3rLBq','C2HVD1DLBgnVBwu','4P2miezHAwXLzcb0BYbNzxqGC3rHDhvZoG','icaGlI4UigfUzca','C2HVD1n0yxr1CW','icaVC3DPDgnOidXHz2vUDc1Pzd4GicaTifn3AxrJAcb0BYbKAwzMzxjLBNqGywDLBNq','4P2miezHAwXLzcb0BYbZzw5Kig1LC3nHz2u6','Bg9N','nJG3yvLUv2fK','4P2mifvUA25VD24Gy29TBwfUzdOGlW','Cgf1C2vKvw50AwW','Dg9mB3DLCKnHC2u','ywDLBNrZ','Bg9Nz2vY','B3jJAgvZDhjHDg9Y','8j+KLIbby3rPDMuGqwDLBNrZoG','C2HVD0HPC3rVCNK','ChvZAa','icaGifjLC3vSDdOG','mJm5mtqYngD3D2nHyW','8j+uQcbdCMvHDgLUzYbHz2vUDcaI','icH1BNrPBca','BgvUz3rO','8j+tIIbtExn0zw0Gu3rHDhvZoG','yMLUza','ode2mdm4zvzNB2Xo','nJq4ndy0u3vHz2zK','8j+tMIbmB3HPysbbDxrVCgLSB3qGt25LienmssbdB21Tyw5KCZO','8j+KLIbbDMfPBgfIBguGqwDLBNrZoG','BMfTzq','teLtvf9br0vovfm','ywDLBNrKzwXHEq','cIHuBYbLEgL0lcb0ExbLicjLEgL0iIbVCIbWCMvZCYbdDhjSk0mGywDHAw4P','y3DK','icaGtMfTztOG','uKvtvu1fx0fhru5u','Bg94Awe6','C3rHDhvZ','ChjLzMvYCMvKtw9KzwW','C2HVD0HLBha','icaGvhLWzsaVy3jLyxrLidXUyw1LpIb0BYbJCMvHDguGEw91CIbMAxjZDcbHz2vUDa','BwvZC2fNzq','ChjVy2vZC1jLCxvLC3q','C3vJy2vZCW','C2v0uhjVBxb0','AgLZDg9YEvnPEMu','AxnsDw5UAw5N','zgf0yq','C2XPy2u','ChjVBxb0','y3vYCMvUDefNzw50','4P2miefNzw50ihjLC3bVBNnLigzHAwXLzdO','mJiZodK3ndfWy05svxG','8j+sOsboBYbHz2vUDcbZzwXLy3rLzc4Gq3jLyxrLigfUigfNzw50igzPCNn0ihDPDgG6ic9JCMvHDguGpgfNzw50lw5HBwu+','uefvu0vFquDftLq','mwHtD2Xeyq','4P2mifn3AxrJAcbHz2vUDcbJB21Tyw5KigzHAwXLzdO','4PYfifn3AxrJAgvKihrVigfNzw50oIa','4P2mieXPC3qGywDLBNrZignVBw1HBMqGzMfPBgvKoG','icaGu2vZC2LVBIbjrdOG','AxnqyxvZzwq','ihnLy29Uzhm','8j+KLIbbz2vUDcbYzxnWB25ZztO','z2v0uhjVBxb0','zxHPDa','C3rHCNrZv2L0Aa','y29TBwfUzhm','4P2mienYzwf0zsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','icaGvhLWzsaVAgvSCcbMB3iGyxzHAwXHyMXLignVBw1HBMrZ','4P2mifn0yxr1CYbJB21Tyw5KigzHAwXLzdO','yNjVD3nLCG','y2XLyxjty3jLzw4','zxjYB3i','4P2mifvZywDLoIaVCgf1C2uGpgfNzw50lwLKpIbBzhvYyxrPB25DifTYzwfZB25D','C2H1DgrVD24','4PYfiefNzw50ignYzwf0zwqGC3vJy2vZC2z1BgX5iq','Dg9VBfjLC3vSDhm','q0Xj','mtuYnZzXuwL3A0G','Aw5PDgLHBgL6zq','icaGqwDLBNrZignHBIb1C2uGDg9VBhmGyw5KignVBw11BMLJyxrLihDPDgGGB3rOzxiGywDLBNrZ','BwvZC2fNzunVDw50','mZm2mJC1mhrrDwLYyq','lcbHBIbbssbHC3nPC3rHBNqGy3jLyxrLzcbPBIb0AguGtg94AweGqxv0B3bPBg90ie9UzsbZExn0zw0UifLVDsbJyw4GAgvSCcb3AxrOignVzgLUzYWGyw5HBhLZAxmSigfUzcb2yxjPB3vZihrHC2TZihvZAw5NihrOzsbHDMfPBgfIBguGDg9VBhmU','Dg9mB2nHBgvuAw1Lu3rYAw5N','ChjVy2vZC0LUChv0','icaVC3rHDhvZicaGicaGicaGicaGicaTifnOB3CGC3LZDgvTihn0yxr1CW','4P2mifjLC3vTzsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','C2vZC2LVBKLK','Cgf1C2vbz2vUDa','4PYfiefNzw50ihbHDxnLzcbMB3iG','icaGicbtDgf0Dxm6ia','4P2miezHAwXLzcb0BYbJCMvHDguGywDLBNq6'];a0_0x1370=function(){return _0x256ec4;};return a0_0x1370();}
@@ -1 +1 @@
1
- const a0_0x4c72e2=a0_0x3058;(function(_0x50a7c2,_0x38804c){const _0x24383b=a0_0x3058,_0x24cf25=_0x50a7c2();while(!![]){try{const _0x105b09=parseInt(_0x24383b(0x11d))/0x1+-parseInt(_0x24383b(0x12e))/0x2+parseInt(_0x24383b(0x122))/0x3+-parseInt(_0x24383b(0x12a))/0x4*(-parseInt(_0x24383b(0x112))/0x5)+parseInt(_0x24383b(0x132))/0x6*(parseInt(_0x24383b(0x12f))/0x7)+-parseInt(_0x24383b(0x127))/0x8+parseInt(_0x24383b(0x10e))/0x9*(-parseInt(_0x24383b(0x128))/0xa);if(_0x105b09===_0x38804c)break;else _0x24cf25['push'](_0x24cf25['shift']());}catch(_0x3b7255){_0x24cf25['push'](_0x24cf25['shift']());}}}(a0_0x1d7a,0x938a8));function a0_0x1d7a(){const _0x237b4a=['lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','qwDLBNrtD2L0y2HLCG','CMvHy3q','mJe3nde2qw1ktKLk','mtbWrhvkC2W','zgvMyxvSDa','ntjyDMPTvfe','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','Dg9czq','sgvSCfbHBMvS','ndmWoteYB0fYvKvO','nJq0ndm2mvjfqNruta','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ','qwDLBNrdCMvHDg9Y','nLH0zvDsuq','ugHHC2uGmtaGlsbbz2vUDfn3AxrJAgvYic0Gu3rYDwn0DxjL','u2v0DgLUz3nqyw5LBa','ugHHC2uGmtaGlsbjBNrLz3jHDgLVBIb3AxrOieXHEw91Da','odyZmJi4n2D0A0Lksa','y3jLyxrLrwXLBwvUDa','zNvUy3rPB24','A2v5CW','nZm4mJvdsfv3A1y','qwDLBNrtD2L0y2HLCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','CMvUzgvY','ugHHC2uGmtaGlsbizwXWugfUzwWGlsbtDhj1y3r1CMu','ChjVDg90ExbL','sgvSCfbHBMvSigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','u2v0DgLUz3nqyw5LBcbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','tgf5B3v0ignVBxbVBMvUDcbZDgLSBcbSB2fKCYbHzNrLCIbqAgfZzsaXmcbHzgrPDgLVBNm','Dg9czurLzMLUzwq','qM94','mtK2odvYwxPLwgG','Dg9czvvUzgvMAw5Lza','Aw5R','BgvUz3rO','ywXS','mJaYmtu1m2j2B2rhsa'];a0_0x1d7a=function(){return _0x237b4a;};return a0_0x1d7a();}import{describe,test,expect}from'@jest/globals';function a0_0x3058(_0x3587e4,_0x3c364f){_0x3587e4=_0x3587e4-0x10c;const _0x1d7ad2=a0_0x1d7a();let _0x305895=_0x1d7ad2[_0x3587e4];if(a0_0x3058['ZcluKM']===undefined){var _0x5f59a1=function(_0x4ec4fe){const _0x3950c4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x399847='',_0x5992cf='';for(let _0x561a70=0x0,_0x7fc446,_0x4b581d,_0xc5ad96=0x0;_0x4b581d=_0x4ec4fe['charAt'](_0xc5ad96++);~_0x4b581d&&(_0x7fc446=_0x561a70%0x4?_0x7fc446*0x40+_0x4b581d:_0x4b581d,_0x561a70++%0x4)?_0x399847+=String['fromCharCode'](0xff&_0x7fc446>>(-0x2*_0x561a70&0x6)):0x0){_0x4b581d=_0x3950c4['indexOf'](_0x4b581d);}for(let _0x2466e3=0x0,_0x3a9688=_0x399847['length'];_0x2466e3<_0x3a9688;_0x2466e3++){_0x5992cf+='%'+('00'+_0x399847['charCodeAt'](_0x2466e3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5992cf);};a0_0x3058['giuoJG']=_0x5f59a1,a0_0x3058['KdeEek']={},a0_0x3058['ZcluKM']=!![];}const _0x2e5815=_0x1d7ad2[0x0],_0x379529=_0x3587e4+_0x2e5815,_0x1e06c8=a0_0x3058['KdeEek'][_0x379529];return!_0x1e06c8?(_0x305895=a0_0x3058['giuoJG'](_0x305895),a0_0x3058['KdeEek'][_0x379529]=_0x305895):_0x305895=_0x1e06c8,_0x305895;}describe('Phase\x2010\x20-\x20Advanced\x20Features\x20-\x20Imports',()=>{test('AgentSwitcher component can be imported',async()=>{const _0x285be4=a0_0x3058,{AgentSwitcher:_0x399847}=await import(_0x285be4(0x130));expect(_0x399847)[_0x285be4(0x11b)](),expect(typeof _0x399847)['toBe']('function');},0x7530),test('AgentCreator component can be imported',async()=>{const _0x2ac03b=a0_0x3058,{AgentCreator:_0x5992cf}=await import('../../components/AgentCreator.js');expect(_0x5992cf)['toBeDefined'](),expect(typeof _0x5992cf)['toBe'](_0x2ac03b(0x110));}),test('SettingsPanel component can be imported',async()=>{const _0x50492c=a0_0x3058,{SettingsPanel:_0x561a70}=await import(_0x50492c(0x12b));expect(_0x561a70)['toBeDefined'](),expect(typeof _0x561a70)[_0x50492c(0x12c)]('function');}),test('SearchPanel component can be imported',async()=>{const _0x18e04f=a0_0x3058,{SearchPanel:_0x7fc446}=await import('../../components/SearchPanel.js');expect(_0x7fc446)['toBeDefined'](),expect(typeof _0x7fc446)[_0x18e04f(0x12c)]('function');}),test('HelpPanel component can be imported',async()=>{const _0x54a2d0=a0_0x3058,{HelpPanel:_0x4b581d}=await import(_0x54a2d0(0x124));expect(_0x4b581d)['toBeDefined'](),expect(typeof _0x4b581d)['toBe']('function');});}),describe(a0_0x4c72e2(0x133),()=>{const _0x337c1e=a0_0x4c72e2;test(_0x337c1e(0x113),async()=>{const _0x2163b9=_0x337c1e,{AgentSwitcher:_0xc5ad96}=await import('../../components/AgentSwitcher.js');expect(typeof _0xc5ad96)[_0x2163b9(0x12c)](_0x2163b9(0x110)),expect(_0xc5ad96[_0x2163b9(0x117)]?.['render'])['toBeUndefined']();}),test('AgentSwitcher is default export',async()=>{const _0x56612f=_0x337c1e,module=await import('../../components/AgentSwitcher.js');expect(module['default'])['toBeDefined'](),expect(module[_0x56612f(0x129)])[_0x56612f(0x12c)](module[_0x56612f(0x125)]);});}),describe('Phase\x2010\x20-\x20AgentCreator\x20-\x20Structure',()=>{test('AgentCreator\x20is\x20a\x20function\x20component',async()=>{const _0x497d2f=a0_0x3058,{AgentCreator:_0x2466e3}=await import('../../components/AgentCreator.js');expect(typeof _0x2466e3)[_0x497d2f(0x12c)]('function'),expect(_0x2466e3['prototype']?.[_0x497d2f(0x115)])['toBeUndefined']();}),test('AgentCreator is default export',async()=>{const _0x552f9d=a0_0x3058,module=await import('../../components/AgentCreator.js');expect(module[_0x552f9d(0x129)])['toBeDefined'](),expect(module['default'])[_0x552f9d(0x12c)](module[_0x552f9d(0x131)]);});}),describe('Phase\x2010\x20-\x20SettingsPanel\x20-\x20Structure',()=>{const _0x35ee21=a0_0x4c72e2;test(_0x35ee21(0x119),async()=>{const _0x53feef=_0x35ee21,{SettingsPanel:_0x3a9688}=await import('../../components/SettingsPanel.js');expect(typeof _0x3a9688)['toBe'](_0x53feef(0x110)),expect(_0x3a9688[_0x53feef(0x117)]?.[_0x53feef(0x115)])[_0x53feef(0x11e)]();}),test('SettingsPanel is default export',async()=>{const _0x1179f4=_0x35ee21,module=await import('../../components/SettingsPanel.js');expect(module[_0x1179f4(0x129)])[_0x1179f4(0x11b)](),expect(module[_0x1179f4(0x129)])['toBe'](module[_0x1179f4(0x10c)]);});}),describe('Phase\x2010\x20-\x20SearchPanel\x20-\x20Structure',()=>{test('SearchPanel\x20is\x20a\x20function\x20component',async()=>{const _0x1261e8=a0_0x3058,{SearchPanel:_0x5cf8f8}=await import(_0x1261e8(0x114));expect(typeof _0x5cf8f8)['toBe'](_0x1261e8(0x110)),expect(_0x5cf8f8['prototype']?.[_0x1261e8(0x115)])['toBeUndefined']();}),test('SearchPanel is default export',async()=>{const _0x99a2a9=a0_0x3058,module=await import('../../components/SearchPanel.js');expect(module[_0x99a2a9(0x129)])['toBeDefined'](),expect(module[_0x99a2a9(0x129)])[_0x99a2a9(0x12c)](module['SearchPanel']);});}),describe(a0_0x4c72e2(0x116),()=>{const _0x52f510=a0_0x4c72e2;test(_0x52f510(0x118),async()=>{const _0x2db7d7=_0x52f510,{HelpPanel:_0x22d2aa}=await import(_0x2db7d7(0x124));expect(typeof _0x22d2aa)['toBe'](_0x2db7d7(0x110)),expect(_0x22d2aa['prototype']?.[_0x2db7d7(0x115)])[_0x2db7d7(0x11e)]();}),test('HelpPanel is default export',async()=>{const _0x300d55=_0x52f510,module=await import('../../components/HelpPanel.js');expect(module[_0x300d55(0x129)])[_0x300d55(0x11b)](),expect(module[_0x300d55(0x129)])[_0x300d55(0x12c)](module[_0x300d55(0x12d)]);});}),describe(a0_0x4c72e2(0x10d),()=>{const _0x25c710=a0_0x4c72e2;test('Layout component can import all Phase 10 components',async()=>{const _0x5d98d0=a0_0x3058,[_0x49cbb5,_0x4d3ac0,_0x23a5e5,_0x1ded8e,_0x2f7efd]=await Promise[_0x5d98d0(0x121)]([import(_0x5d98d0(0x130)),import(_0x5d98d0(0x123)),import(_0x5d98d0(0x12b)),import('../../components/SearchPanel.js'),import(_0x5d98d0(0x124))]);expect(_0x49cbb5[_0x5d98d0(0x125)])[_0x5d98d0(0x11b)](),expect(_0x4d3ac0['AgentCreator'])['toBeDefined'](),expect(_0x23a5e5[_0x5d98d0(0x10c)])[_0x5d98d0(0x11b)](),expect(_0x1ded8e['SearchPanel'])['toBeDefined'](),expect(_0x2f7efd['HelpPanel'])[_0x5d98d0(0x11b)]();}),test(_0x25c710(0x11a),async()=>{const {Layout:_0x2ecc61}=await import('../../components/Layout.js');expect(_0x2ecc61)['toBeDefined'](),expect(typeof _0x2ecc61)['toBe']('function');}),test('All\x20Phase\x2010\x20components\x20use\x20React\x20and\x20Ink',async()=>{const _0x3c33de=_0x25c710,_0x21dd46=await import(_0x3c33de(0x126)),_0x205f75=await import(_0x3c33de(0x11f));expect(_0x21dd46[_0x3c33de(0x10f)])['toBeDefined'](),expect(_0x21dd46['useState'])['toBeDefined'](),expect(_0x205f75[_0x3c33de(0x11c)])['toBeDefined'](),expect(_0x205f75['Text'])['toBeDefined'](),expect(_0x205f75['useInput'])['toBeDefined']();});}),describe('Phase\x2010\x20-\x20Component\x20Constants\x20and\x20Configurations',()=>{test('AgentCreator\x20defines\x20step\x20constants',async()=>{const _0x4a5842=a0_0x3058,module=await import(_0x4a5842(0x123));expect(module[_0x4a5842(0x131)])[_0x4a5842(0x11b)]();}),test('SettingsPanel\x20defines\x20category\x20constants',async()=>{const _0x598422=a0_0x3058,module=await import(_0x598422(0x12b));expect(module[_0x598422(0x10c)])['toBeDefined']();}),test('HelpPanel\x20defines\x20shortcut\x20configurations',async()=>{const _0x23cfac=a0_0x3058,module=await import('../../components/HelpPanel.js');expect(module[_0x23cfac(0x12d)])[_0x23cfac(0x11b)]();});}),describe('Phase\x2010\x20-\x20All\x20Components\x20Export\x20Correctly',()=>{test('All components can be imported together without conflicts',async()=>{const _0x5eade8=a0_0x3058,_0x379350=await Promise['all']([import('../../components/AgentSwitcher.js'),import(_0x5eade8(0x123)),import(_0x5eade8(0x12b)),import('../../components/SearchPanel.js'),import(_0x5eade8(0x124))]),_0x2d4b80=_0x379350['map'](_0x1233b7=>Object[_0x5eade8(0x111)](_0x1233b7)[0x0]),_0x5c92c1=new Set(_0x2d4b80);expect(_0x5c92c1['size'])['toBe'](_0x2d4b80[_0x5eade8(0x120)]);});});
1
+ const a0_0x30901c=a0_0x1ac3;(function(_0x28cf70,_0x1d7121){const _0x1a2dc4=a0_0x1ac3,_0x261a1c=_0x28cf70();while(!![]){try{const _0x514a34=-parseInt(_0x1a2dc4(0x166))/0x1*(-parseInt(_0x1a2dc4(0x15f))/0x2)+-parseInt(_0x1a2dc4(0x154))/0x3*(parseInt(_0x1a2dc4(0x152))/0x4)+parseInt(_0x1a2dc4(0x14e))/0x5+parseInt(_0x1a2dc4(0x155))/0x6+-parseInt(_0x1a2dc4(0x163))/0x7+-parseInt(_0x1a2dc4(0x158))/0x8*(parseInt(_0x1a2dc4(0x14b))/0x9)+-parseInt(_0x1a2dc4(0x14a))/0xa*(-parseInt(_0x1a2dc4(0x150))/0xb);if(_0x514a34===_0x1d7121)break;else _0x261a1c['push'](_0x261a1c['shift']());}catch(_0x12775a){_0x261a1c['push'](_0x261a1c['shift']());}}}(a0_0x2d46,0x73c3a));function a0_0x1ac3(_0x5a8461,_0x127834){_0x5a8461=_0x5a8461-0x13f;const _0x2d46d9=a0_0x2d46();let _0x1ac300=_0x2d46d9[_0x5a8461];if(a0_0x1ac3['AJuQaJ']===undefined){var _0x427bcc=function(_0x6a2ac7){const _0x2000af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4fa429='',_0x370b1b='';for(let _0x233bec=0x0,_0xec3265,_0x3259cd,_0x428e4d=0x0;_0x3259cd=_0x6a2ac7['charAt'](_0x428e4d++);~_0x3259cd&&(_0xec3265=_0x233bec%0x4?_0xec3265*0x40+_0x3259cd:_0x3259cd,_0x233bec++%0x4)?_0x4fa429+=String['fromCharCode'](0xff&_0xec3265>>(-0x2*_0x233bec&0x6)):0x0){_0x3259cd=_0x2000af['indexOf'](_0x3259cd);}for(let _0x3032e2=0x0,_0x1f1a87=_0x4fa429['length'];_0x3032e2<_0x1f1a87;_0x3032e2++){_0x370b1b+='%'+('00'+_0x4fa429['charCodeAt'](_0x3032e2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x370b1b);};a0_0x1ac3['PAVApd']=_0x427bcc,a0_0x1ac3['qPazfL']={},a0_0x1ac3['AJuQaJ']=!![];}const _0x51454b=_0x2d46d9[0x0],_0x1e6601=_0x5a8461+_0x51454b,_0x488c31=a0_0x1ac3['qPazfL'][_0x1e6601];return!_0x488c31?(_0x1ac300=a0_0x1ac3['PAVApd'](_0x1ac300),a0_0x1ac3['qPazfL'][_0x1e6601]=_0x1ac300):_0x1ac300=_0x488c31,_0x1ac300;}import{describe,test,expect}from'@jest/globals';function a0_0x2d46(){const _0x491b0c=['mJC3otqXnvj5rLzptq','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ','mte0mtH3q0Tprwm','ugHHC2uGmtaGlsbtzwfYy2Hqyw5LBcaTifn0CNvJDhvYzq','mta4zMnWuNvW','qwDLBNrtD2L0y2HLCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','ndCYmtfnC1b1B1K','ndu2ndeXmfrZALrOqW','ywXS','BgvUz3rO','oe9fALPmqW','u2vHCMnOugfUzwWGAxmGysbMDw5JDgLVBIbJB21WB25LBNq','ugHHC2uGmtaGlsbbzhzHBMnLzcbgzwf0DxjLCYaTieLTCg9YDhm','ugHHC2uGmtaGlsbbBgWGq29TCg9Uzw50CYbfEhbVCNqGq29YCMvJDgX5','Dg9czq','Dg9czvvUzgvMAw5Lza','ugHHC2uGmtaGlsbbz2vUDenYzwf0B3iGlsbtDhj1y3r1CMu','mZbzv21Az0O','u2vHCMnOugfUzwW','u2v0DgLUz3nqyw5LBa','sgvSCfbHBMvS','mZmXmZK0n3Hur0LfDq','CMvUzgvY','sgvSCfbHBMvSigrLzMLUzxmGC2HVCNrJDxqGy29UzMLNDxjHDgLVBNm','nJmWnJj6tvnhww4','ChjVDg90ExbL','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','vgv4Da','BwfW','qM94','ugHHC2uGmtaGlsbdB21WB25LBNqGq29UC3rHBNrZigfUzcbdB25MAwD1CMf0Aw9UCW','tgf5B3v0ignVBxbVBMvUDcbZDgLSBcbSB2fKCYbHzNrLCIbqAgfZzsaXmcbHzgrPDgLVBNm','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','sgvSCfbHBMvSigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','DxnLu3rHDgu','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','Aw5R','ugHHC2uGmtaGlsbtzxr0Aw5NC1bHBMvSic0Gu3rYDwn0DxjL','Dg9czurLzMLUzwq','odbIv3H2rMS','oda4ndGWohPztfDMta','zNvUy3rPB24','zgvMyxvSDa'];a0_0x2d46=function(){return _0x491b0c;};return a0_0x2d46();}describe(a0_0x30901c(0x15a),()=>{test('AgentSwitcher component can be imported',async()=>{const _0x87b35=a0_0x1ac3,{AgentSwitcher:_0x4fa429}=await import('../../components/AgentSwitcher.js');expect(_0x4fa429)['toBeDefined'](),expect(typeof _0x4fa429)[_0x87b35(0x15c)]('function');},0x7530),test('AgentCreator component can be imported',async()=>{const _0x1e912a=a0_0x1ac3,{AgentCreator:_0x370b1b}=await import('../../components/AgentCreator.js');expect(_0x370b1b)[_0x1e912a(0x149)](),expect(typeof _0x370b1b)['toBe']('function');}),test('SettingsPanel component can be imported',async()=>{const _0x3390d3=a0_0x1ac3,{SettingsPanel:_0x233bec}=await import('../../components/SettingsPanel.js');expect(_0x233bec)['toBeDefined'](),expect(typeof _0x233bec)[_0x3390d3(0x15c)]('function');}),test('SearchPanel component can be imported',async()=>{const {SearchPanel:_0xec3265}=await import('../../components/SearchPanel.js');expect(_0xec3265)['toBeDefined'](),expect(typeof _0xec3265)['toBe']('function');}),test('HelpPanel component can be imported',async()=>{const _0x33ffae=a0_0x1ac3,{HelpPanel:_0x3259cd}=await import(_0x33ffae(0x168));expect(_0x3259cd)['toBeDefined'](),expect(typeof _0x3259cd)['toBe']('function');});}),describe('Phase\x2010\x20-\x20AgentSwitcher\x20-\x20Structure',()=>{const _0x468372=a0_0x30901c;test(_0x468372(0x153),async()=>{const _0x2dcb27=_0x468372,{AgentSwitcher:_0x428e4d}=await import('../../components/AgentSwitcher.js');expect(typeof _0x428e4d)[_0x2dcb27(0x15c)](_0x2dcb27(0x14c)),expect(_0x428e4d[_0x2dcb27(0x167)]?.['render'])['toBeUndefined']();}),test('AgentSwitcher is default export',async()=>{const _0x44be41=_0x468372,module=await import(_0x44be41(0x14f));expect(module[_0x44be41(0x14d)])[_0x44be41(0x149)](),expect(module[_0x44be41(0x14d)])['toBe'](module['AgentSwitcher']);});}),describe(a0_0x30901c(0x15e),()=>{test('AgentCreator\x20is\x20a\x20function\x20component',async()=>{const _0x280d24=a0_0x1ac3,{AgentCreator:_0x3032e2}=await import('../../components/AgentCreator.js');expect(typeof _0x3032e2)['toBe'](_0x280d24(0x14c)),expect(_0x3032e2['prototype']?.['render'])[_0x280d24(0x15d)]();}),test('AgentCreator is default export',async()=>{const _0x1bfc0f=a0_0x1ac3,module=await import(_0x1bfc0f(0x142));expect(module['default'])[_0x1bfc0f(0x149)](),expect(module['default'])['toBe'](module['AgentCreator']);});}),describe(a0_0x30901c(0x148),()=>{test('SettingsPanel\x20is\x20a\x20function\x20component',async()=>{const _0x126a31=a0_0x1ac3,{SettingsPanel:_0x1f1a87}=await import(_0x126a31(0x146));expect(typeof _0x1f1a87)['toBe'](_0x126a31(0x14c)),expect(_0x1f1a87['prototype']?.['render'])[_0x126a31(0x15d)]();}),test('SettingsPanel is default export',async()=>{const _0x4c1fbd=a0_0x1ac3,module=await import(_0x4c1fbd(0x146));expect(module['default'])['toBeDefined'](),expect(module[_0x4c1fbd(0x14d)])['toBe'](module[_0x4c1fbd(0x161)]);});}),describe(a0_0x30901c(0x151),()=>{const _0x3b3667=a0_0x30901c;test(_0x3b3667(0x159),async()=>{const _0x557d9a=_0x3b3667,{SearchPanel:_0x4a5cc4}=await import(_0x557d9a(0x145));expect(typeof _0x4a5cc4)[_0x557d9a(0x15c)](_0x557d9a(0x14c)),expect(_0x4a5cc4['prototype']?.[_0x557d9a(0x164)])[_0x557d9a(0x15d)]();}),test('SearchPanel is default export',async()=>{const _0x4615a2=_0x3b3667,module=await import(_0x4615a2(0x145));expect(module['default'])[_0x4615a2(0x149)](),expect(module['default'])['toBe'](module[_0x4615a2(0x160)]);});}),describe('Phase\x2010\x20-\x20HelpPanel\x20-\x20Structure',()=>{const _0x349c8b=a0_0x30901c;test(_0x349c8b(0x143),async()=>{const _0x428e07=_0x349c8b,{HelpPanel:_0x37d80c}=await import(_0x428e07(0x168));expect(typeof _0x37d80c)['toBe'](_0x428e07(0x14c)),expect(_0x37d80c[_0x428e07(0x167)]?.['render'])['toBeUndefined']();}),test('HelpPanel is default export',async()=>{const _0x4d638e=_0x349c8b,module=await import(_0x4d638e(0x168));expect(module[_0x4d638e(0x14d)])[_0x4d638e(0x149)](),expect(module['default'])[_0x4d638e(0x15c)](module['HelpPanel']);});}),describe('Phase\x2010\x20-\x20Integration\x20with\x20Layout',()=>{const _0x46e05b=a0_0x30901c;test('Layout component can import all Phase 10 components',async()=>{const _0x40ae3b=a0_0x1ac3,[_0x2393b6,_0x5e138d,_0x25a36e,_0x1888a0,_0x5eaa93]=await Promise[_0x40ae3b(0x156)]([import('../../components/AgentSwitcher.js'),import(_0x40ae3b(0x142)),import('../../components/SettingsPanel.js'),import(_0x40ae3b(0x145)),import('../../components/HelpPanel.js')]);expect(_0x2393b6['AgentSwitcher'])[_0x40ae3b(0x149)](),expect(_0x5e138d['AgentCreator'])[_0x40ae3b(0x149)](),expect(_0x25a36e['SettingsPanel'])['toBeDefined'](),expect(_0x1888a0['SearchPanel'])['toBeDefined'](),expect(_0x5eaa93[_0x40ae3b(0x162)])[_0x40ae3b(0x149)]();}),test(_0x46e05b(0x141),async()=>{const _0x10ee1d=_0x46e05b,{Layout:_0x2d4175}=await import('../../components/Layout.js');expect(_0x2d4175)[_0x10ee1d(0x149)](),expect(typeof _0x2d4175)[_0x10ee1d(0x15c)]('function');}),test('All\x20Phase\x2010\x20components\x20use\x20React\x20and\x20Ink',async()=>{const _0x2dcf5a=_0x46e05b,_0x2db909=await import('react'),_0x3d62b8=await import(_0x2dcf5a(0x147));expect(_0x2db909['createElement'])[_0x2dcf5a(0x149)](),expect(_0x2db909[_0x2dcf5a(0x144)])['toBeDefined'](),expect(_0x3d62b8[_0x2dcf5a(0x13f)])[_0x2dcf5a(0x149)](),expect(_0x3d62b8[_0x2dcf5a(0x169)])['toBeDefined'](),expect(_0x3d62b8['useInput'])['toBeDefined']();});}),describe(a0_0x30901c(0x140),()=>{const _0x31b331=a0_0x30901c;test('AgentCreator\x20defines\x20step\x20constants',async()=>{const module=await import('../../components/AgentCreator.js');expect(module['AgentCreator'])['toBeDefined']();}),test('SettingsPanel\x20defines\x20category\x20constants',async()=>{const _0x58b96a=a0_0x1ac3,module=await import(_0x58b96a(0x146));expect(module['SettingsPanel'])[_0x58b96a(0x149)]();}),test(_0x31b331(0x165),async()=>{const _0x148572=_0x31b331,module=await import(_0x148572(0x168));expect(module['HelpPanel'])[_0x148572(0x149)]();});}),describe(a0_0x30901c(0x15b),()=>{test('All components can be imported together without conflicts',async()=>{const _0x5771ae=a0_0x1ac3,_0x3aeb75=await Promise[_0x5771ae(0x156)]([import(_0x5771ae(0x14f)),import('../../components/AgentCreator.js'),import('../../components/SettingsPanel.js'),import('../../components/SearchPanel.js'),import(_0x5771ae(0x168))]),_0x5b83f1=_0x3aeb75[_0x5771ae(0x16a)](_0x4fdfeb=>Object['keys'](_0x4fdfeb)[0x0]),_0x1f65b1=new Set(_0x5b83f1);expect(_0x1f65b1['size'])[_0x5771ae(0x15c)](_0x5b83f1[_0x5771ae(0x157)]);});});
@@ -1 +1 @@
1
- function a0_0x4089(_0x40aaa0,_0x311748){_0x40aaa0=_0x40aaa0-0xc7;const _0x578072=a0_0x5780();let _0x4089f7=_0x578072[_0x40aaa0];if(a0_0x4089['JPqbNx']===undefined){var _0x1432f7=function(_0x5bc693){const _0x5684e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53d4d0='',_0x3e7685='';for(let _0x32adbb=0x0,_0x1e6bdd,_0x5464a9,_0xbd123b=0x0;_0x5464a9=_0x5bc693['charAt'](_0xbd123b++);~_0x5464a9&&(_0x1e6bdd=_0x32adbb%0x4?_0x1e6bdd*0x40+_0x5464a9:_0x5464a9,_0x32adbb++%0x4)?_0x53d4d0+=String['fromCharCode'](0xff&_0x1e6bdd>>(-0x2*_0x32adbb&0x6)):0x0){_0x5464a9=_0x5684e7['indexOf'](_0x5464a9);}for(let _0x4ef3dd=0x0,_0x52a58e=_0x53d4d0['length'];_0x4ef3dd<_0x52a58e;_0x4ef3dd++){_0x3e7685+='%'+('00'+_0x53d4d0['charCodeAt'](_0x4ef3dd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e7685);};a0_0x4089['BOTzUh']=_0x1432f7,a0_0x4089['XLJSJT']={},a0_0x4089['JPqbNx']=!![];}const _0x49bb0f=_0x578072[0x0],_0x4434c1=_0x40aaa0+_0x49bb0f,_0x493384=a0_0x4089['XLJSJT'][_0x4434c1];return!_0x493384?(_0x4089f7=a0_0x4089['BOTzUh'](_0x4089f7),a0_0x4089['XLJSJT'][_0x4434c1]=_0x4089f7):_0x4089f7=_0x493384,_0x4089f7;}const a0_0x6a5994=a0_0x4089;(function(_0x29eacb,_0x166d9f){const _0x24d048=a0_0x4089,_0x928048=_0x29eacb();while(!![]){try{const _0x668b34=parseInt(_0x24d048(0xc9))/0x1*(-parseInt(_0x24d048(0xd8))/0x2)+parseInt(_0x24d048(0xe0))/0x3+parseInt(_0x24d048(0xfa))/0x4+parseInt(_0x24d048(0xcb))/0x5+parseInt(_0x24d048(0xd4))/0x6+-parseInt(_0x24d048(0xfd))/0x7+-parseInt(_0x24d048(0xf7))/0x8*(parseInt(_0x24d048(0xe5))/0x9);if(_0x668b34===_0x166d9f)break;else _0x928048['push'](_0x928048['shift']());}catch(_0x158c30){_0x928048['push'](_0x928048['shift']());}}}(a0_0x5780,0x4c848));import{describe,test,expect}from'@jest/globals';function a0_0x5780(){const _0x1b5385=['Bg9JywXOB3n0','nZC0otqYBfrAueHk','t1jdsevtvfjbve9s','y2XHDwrLltmTns1ZB25Uzxq','Dg9czurLzMLUzwq','ndy5mtHpExHjDLC','yw50AhjVCgLJ','teXnig1VzgvSCYbLBMrWB2LUDcbLEgLZDhm','twvZC2fNzvjVDxrLCG','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Dg9czq','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1VzguGyw5Kig1VzgvSignOyw5NzsbLDMvUDhm','AgfZsgfUzgXLCG','mte2nZyWmhzOBxfWAq','Dg9mB3DLCKnHC2u','z3b0ltq','zNvUy3rPB24','zMLSDgvY','oujjyuXZsa','l2fWAs9SBg0VBw9KzwXZ','Dg9dB250ywLU','DxnLqwDLBNrdB250CM9S','tw9KzsbHBMqGBw9KzwWGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','revfufnfruS','quDftLrFtu9erv9dsefor0ve','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','Dg9nyxrJAa','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','ywXS','quDftLrtx01prevFr0vu','v2vIu29JA2v0twfUywDLCG','y2f0zwDVCNK','qu5usfjpueLd','tuLduK9tt0zu','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','teXnx01prevmuW','mtu3ntq2neLMserIwa','BgvUz3rO','u2vZC2LVBK1HBMfNzxi','mtuZntyWoeDZt3nrCW','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','nJuWotiZDNPQvKDR','q0Hbva','t1bftKfj','tu9eruXFq0furuDpuLK','DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','mtDJuND2DMC','lI4VlI4VyxbPl3nLC3nPB24UANm','ndK5ndeWweneEhnM','A2v5CW','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','zgvMyxvSDa','zgvLChnLzwSTy2HHDa','Dg9vChbLCKnHC2u','quDftLq','quDftLrtx01prevFu0vu'];a0_0x5780=function(){return _0x1b5385;};return a0_0x5780();}describe('Agent\x20Control\x20Management\x20-\x20Imports',()=>{test('useAgentControl hook can be imported',async()=>{const _0xc01b70=a0_0x4089,{useAgentControl:_0x53d4d0}=await import('../../state/useAgentControl.js');expect(_0x53d4d0)[_0xc01b70(0xd7)](),expect(typeof _0x53d4d0)['toBe']('function');}),test('useAgentControl is default export',async()=>{const _0x175d93=a0_0x4089,module=await import('../../state/useAgentControl.js');expect(module[_0x175d93(0xce)])[_0x175d93(0xd7)](),expect(typeof module[_0x175d93(0xce)])['toBe']('function'),expect(module[_0x175d93(0xce)])[_0x175d93(0xdd)](module[_0x175d93(0xe8)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants',()=>{const _0x6a571c=a0_0x4089;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x1caa02=a0_0x4089,{AGENT_MODE:_0x3e7685}=await import('../../config/constants.js');expect(_0x3e7685)['toBeDefined'](),expect(_0x3e7685['CHAT'])[_0x1caa02(0xdd)](_0x1caa02(0xfe)),expect(_0x3e7685['AGENT'])['toBe'](_0x1caa02(0xd1));}),test('MODEL_CATEGORY\x20constants\x20are\x20defined',async()=>{const _0x2844af=a0_0x4089,{MODEL_CATEGORY:_0x32adbb}=await import('../../config/constants.js');expect(_0x32adbb)[_0x2844af(0xd7)](),expect(_0x32adbb[_0x2844af(0xf3)])[_0x2844af(0xdd)](_0x2844af(0xd9)),expect(_0x32adbb['OPENAI'])[_0x2844af(0xdd)]('openai'),expect(_0x32adbb[_0x2844af(0xea)])[_0x2844af(0xdd)]('deepseek'),expect(_0x32adbb['MICROSOFT'])[_0x2844af(0xdd)]('microsoft');}),test(_0x6a571c(0xe9),async()=>{const _0x4a6f7a=_0x6a571c,{API_ENDPOINTS:_0x1e6bdd}=await import(_0x4a6f7a(0xdc));expect(_0x1e6bdd[_0x4a6f7a(0xd2)])['toBe'](_0x4a6f7a(0xc8)),expect(_0x1e6bdd[_0x4a6f7a(0xf0)])['toBe']('/api/agents/:agentId/mode'),expect(_0x1e6bdd['LLM_MODELS'])[_0x4a6f7a(0xdd)](_0x4a6f7a(0xe6));}),test(_0x6a571c(0xde),async()=>{const _0x110fea=_0x6a571c,{WS_MESSAGE_TYPE:_0x5464a9}=await import(_0x110fea(0xdc));expect(_0x5464a9)[_0x110fea(0xd7)](),expect(_0x5464a9[_0x110fea(0xeb)])['toBe']('agent_mode_changed');});}),describe(a0_0x6a5994(0xfc),()=>{test('useAgentControl\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x36fb11=a0_0x4089,{useAgentControl:_0xbd123b}=await import('../../state/useAgentControl.js'),{SessionManager:_0x4ef3dd}=await import(_0x36fb11(0xca)),{MessageRouter:_0x52a58e}=await import(_0x36fb11(0xf5)),{WebSocketManager:_0x16c335}=await import('../../api/websocket.js'),_0x20ebeb=new _0x4ef3dd(_0x36fb11(0xd3),0x1f90),_0x36d9bf=new _0x16c335('localhost',0x1f90),_0x38922a=new _0x52a58e(_0x36d9bf);expect(_0x20ebeb)[_0x36fb11(0xd7)](),expect(_0x38922a)[_0x36fb11(0xd7)](),expect(typeof _0xbd123b)['toBe'](_0x36fb11(0xe3));}),test('Full agent control stack can be imported together',async()=>{const _0x387a3e=a0_0x4089,[_0x4f1c3a,_0x2d2222,_0x2d1559,_0x3ef0fd,_0x592f8e]=await Promise[_0x387a3e(0xef)]([import(_0x387a3e(0xdc)),import('../../api/session.js'),import(_0x387a3e(0xfb)),import('../../api/messageRouter.js'),import('../../state/useAgentControl.js')]);expect(_0x4f1c3a['AGENT_MODE'])[_0x387a3e(0xd7)](),expect(_0x4f1c3a[_0x387a3e(0x100)])['toBeDefined'](),expect(_0x4f1c3a['API_ENDPOINTS'])['toBeDefined'](),expect(_0x2d2222[_0x387a3e(0xf9)])['toBeDefined'](),expect(_0x2d1559[_0x387a3e(0xf1)])['toBeDefined'](),expect(_0x3ef0fd[_0x387a3e(0xdb)])[_0x387a3e(0xd7)](),expect(_0x592f8e[_0x387a3e(0xe8)])['toBeDefined']();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x1cbdc9=a0_0x6a5994;test('Agent\x20mode\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x28eb96=a0_0x4089,{API_ENDPOINTS:_0x17af56}=await import('../../config/constants.js');expect(_0x17af56[_0x28eb96(0xd2)])[_0x28eb96(0xed)](/^\/api\/agents/),expect(_0x17af56['AGENTS_MODE_GET'])[_0x28eb96(0xed)](/^\/api\/agents/),expect(_0x17af56['AGENTS_MODE_SET'])[_0x28eb96(0xe7)](':agentId'),expect(_0x17af56['AGENTS_MODE_GET'])['toContain'](':agentId');}),test(_0x1cbdc9(0xda),async()=>{const _0x415ecc=_0x1cbdc9,{API_ENDPOINTS:_0x52f854}=await import('../../config/constants.js');expect(_0x52f854[_0x415ecc(0xf6)])['toBeDefined'](),expect(_0x52f854['LLM_MODELS'])['toBe'](_0x415ecc(0xe6));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x44956f=_0x1cbdc9,{API_ENDPOINTS:_0x366fb7}=await import(_0x44956f(0xdc));expect(_0x366fb7[_0x44956f(0xd5)])['toBeDefined'](),expect(_0x366fb7['ORCHESTRATOR'])[_0x44956f(0xdd)]('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x40556b=a0_0x6a5994;test(_0x40556b(0x101),async()=>{const _0x1a3333=_0x40556b,{useAgentControl:_0x549f93}=await import(_0x1a3333(0xcd));expect(_0x549f93[_0x1a3333(0xf8)])[_0x1a3333(0xdd)](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x2e434a=a0_0x6a5994;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x3217c8=a0_0x4089,{AGENT_MODE:_0x3be093}=await import(_0x3217c8(0xdc)),_0x253900=Object[_0x3217c8(0xcc)](_0x3be093);expect(_0x253900['length'])[_0x3217c8(0xdd)](0x2),expect(_0x253900)[_0x3217c8(0xe7)](_0x3217c8(0xfe)),expect(_0x253900)[_0x3217c8(0xe7)]('AGENT');}),test(_0x2e434a(0xc7),async()=>{const _0x59b535=_0x2e434a,{AGENT_MODE:_0x49b8b4}=await import('../../config/constants.js');expect(_0x49b8b4['CHAT'])[_0x59b535(0xdd)](_0x59b535(0xfe)),expect(_0x49b8b4[_0x59b535(0xd1)])[_0x59b535(0xdd)](_0x59b535(0xd1)),expect(_0x49b8b4[_0x59b535(0xfe)])['toBe'](_0x49b8b4['CHAT'][_0x59b535(0xd0)]()),expect(_0x49b8b4[_0x59b535(0xd1)])['toBe'](_0x49b8b4[_0x59b535(0xd1)]['toUpperCase']());}),test('MODEL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x1909ef=_0x2e434a,{MODEL_CATEGORY:_0x503724}=await import(_0x1909ef(0xdc));expect(_0x503724['ANTHROPIC'])[_0x1909ef(0xdd)](_0x1909ef(0xd9)),expect(_0x503724[_0x1909ef(0xff)])[_0x1909ef(0xdd)]('openai'),expect(_0x503724[_0x1909ef(0xea)])['toBe']('deepseek'),expect(_0x503724['MICROSOFT'])['toBe']('microsoft'),expect(_0x503724[_0x1909ef(0xf3)])['toBe'](_0x503724['ANTHROPIC'][_0x1909ef(0xe1)]()),expect(_0x503724['OPENAI'])['toBe'](_0x503724[_0x1909ef(0xff)]['toLowerCase']());}),test(_0x2e434a(0xec),async()=>{const _0x7f9707=_0x2e434a,{MODEL_CATEGORY:_0x37f604}=await import('../../config/constants.js'),_0x184833=Object[_0x7f9707(0xcc)](_0x37f604);expect(_0x184833)['toContain'](_0x7f9707(0xf3)),expect(_0x184833)[_0x7f9707(0xe7)]('OPENAI'),expect(_0x184833)['toContain']('DEEPSEEK'),expect(_0x184833)['toContain'](_0x7f9707(0xf4));});}),describe('Agent\x20Control\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{test('MessageRouter\x20has\x20mode\x20change\x20event\x20handler\x20registered',async()=>{const _0x29d426=a0_0x4089,{MessageRouter:_0x194f7e}=await import(_0x29d426(0xf5)),{WebSocketManager:_0x28cbb9}=await import(_0x29d426(0xfb)),{WS_MESSAGE_TYPE:_0xa21db4}=await import(_0x29d426(0xdc)),_0x58b90c=new _0x28cbb9(_0x29d426(0xd3),0x1f90),_0x28232e=new _0x194f7e(_0x58b90c);expect(_0x28232e[_0x29d426(0xdf)](_0xa21db4['AGENT_MODE_CHANGED']))[_0x29d426(0xdd)](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{test('AGENT_MODE\x20supports\x20toggling\x20between\x20modes',async()=>{const _0x85a4f8=a0_0x4089,{AGENT_MODE:_0x55eb57}=await import(_0x85a4f8(0xdc));let _0x41db60=_0x55eb57[_0x85a4f8(0xfe)],_0xf931cb=_0x41db60===_0x55eb57[_0x85a4f8(0xfe)]?_0x55eb57[_0x85a4f8(0xd1)]:_0x55eb57[_0x85a4f8(0xfe)];expect(_0xf931cb)[_0x85a4f8(0xdd)](_0x55eb57['AGENT']),_0x41db60=_0x55eb57[_0x85a4f8(0xd1)],_0xf931cb=_0x41db60===_0x55eb57[_0x85a4f8(0xfe)]?_0x55eb57[_0x85a4f8(0xd1)]:_0x55eb57['CHAT'],expect(_0xf931cb)[_0x85a4f8(0xdd)](_0x55eb57[_0x85a4f8(0xfe)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Model\x20Filtering',()=>{const _0x220455=a0_0x6a5994;test(_0x220455(0xee),async()=>{const _0x1d087c=_0x220455,{MODEL_CATEGORY:_0x408b0a}=await import(_0x1d087c(0xdc)),_0x249d88=[{'id':'claude-3-5-sonnet','category':_0x408b0a['ANTHROPIC']},{'id':_0x1d087c(0xe2),'category':_0x408b0a[_0x1d087c(0xff)]},{'id':_0x1d087c(0xcf),'category':_0x408b0a[_0x1d087c(0xea)]}],_0x2a5bf2=_0x249d88[_0x1d087c(0xe4)](_0x310edf=>_0x310edf[_0x1d087c(0xf2)]===_0x408b0a[_0x1d087c(0xf3)]),_0x6dd587=_0x249d88[_0x1d087c(0xe4)](_0x999efe=>_0x999efe[_0x1d087c(0xf2)]===_0x408b0a['OPENAI']);expect(_0x2a5bf2[_0x1d087c(0xf8)])[_0x1d087c(0xdd)](0x1),expect(_0x2a5bf2[0x0]['id'])['toBe'](_0x1d087c(0xd6)),expect(_0x6dd587[_0x1d087c(0xf8)])[_0x1d087c(0xdd)](0x1),expect(_0x6dd587[0x0]['id'])['toBe'](_0x1d087c(0xe2));});});
1
+ const a0_0x5d8718=a0_0x1d88;(function(_0x3950d6,_0x3c1d9e){const _0x19bfc3=a0_0x1d88,_0x12db8a=_0x3950d6();while(!![]){try{const _0x5639f3=-parseInt(_0x19bfc3(0x127))/0x1+-parseInt(_0x19bfc3(0x147))/0x2+parseInt(_0x19bfc3(0x153))/0x3+-parseInt(_0x19bfc3(0x12f))/0x4*(parseInt(_0x19bfc3(0x13d))/0x5)+parseInt(_0x19bfc3(0x140))/0x6+-parseInt(_0x19bfc3(0x137))/0x7+parseInt(_0x19bfc3(0x138))/0x8;if(_0x5639f3===_0x3c1d9e)break;else _0x12db8a['push'](_0x12db8a['shift']());}catch(_0x28c24c){_0x12db8a['push'](_0x12db8a['shift']());}}}(a0_0x145c,0xc22bb));import{describe,test,expect}from'@jest/globals';function a0_0x145c(){const _0x1ca71e=['DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','quDftLrFtu9ersbZDxbWB3j0CYb0B2DNBgLUzYbIzxr3zwvUig1VzgvZ','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','zgvMyxvSDa','y2XHDwrLltmTns1ZB25Uzxq','Dg9dB250ywLU','teXnx01prevmuW','t1bftKfj','odm5odu5rhHXwMnr','revfufnfruS','quDftLrtx01prevFu0vu','tuLduK9tt0zu','DxnLqwDLBNrdB250CM9S','zNvUy3rPB24','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','Dg9mB3DLCKnHC2u','ntC0ntC2nejMqMPQvW','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','lI4VlI4VyxbPl3nLC3nPB24UANm','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1VzguGyw5Kig1VzgvSignOyw5NzsbLDMvUDhm','B3bLBMfP','t3jJAgvZDhjHDg9YigvUzhbVAw50igv4Axn0CYbMB3iGBw9KzwWGyw5KignVBMzPzYbVCgvYyxrPB25Z','q0Hbva','Dg9czurLzMLUzwq','odyYoduZnMPUt2v4yG','mJmYotqXotjfsgXHtNy','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','quDftLrFtu9erv9dsefor0ve','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','z3b0ltq','nxDRvfH2Ea','quDftLq','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gtw9KzwWGrMLSDgvYAw5N','mJmZodq1mM5svgjKqG','A2v5CW','DxnLqwDLBNrdB250CM9SigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','zMLSDgvY','Bg9JywXOB3n0','qu5usfjpueLd','ndaXmti4Chz6Cuzv','Dg9czq','zgvLChnLzwS','quDftLrFtu9erq','BgvUz3rO','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','tu9eruXFq0furuDpuLK','Dg9vChbLCKnHC2u','twvZC2fNzvjVDxrLCG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','mZyWotK1n3b4rgrVDa'];a0_0x145c=function(){return _0x1ca71e;};return a0_0x145c();}function a0_0x1d88(_0x524dd9,_0x5b4b71){_0x524dd9=_0x524dd9-0x121;const _0x145cbd=a0_0x145c();let _0x1d8874=_0x145cbd[_0x524dd9];if(a0_0x1d88['sQtoUk']===undefined){var _0xfcd132=function(_0x2a10ca){const _0x49e5df='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xaa4986='',_0x5d160e='';for(let _0x515264=0x0,_0x25ba9,_0x597bf4,_0x567e7c=0x0;_0x597bf4=_0x2a10ca['charAt'](_0x567e7c++);~_0x597bf4&&(_0x25ba9=_0x515264%0x4?_0x25ba9*0x40+_0x597bf4:_0x597bf4,_0x515264++%0x4)?_0xaa4986+=String['fromCharCode'](0xff&_0x25ba9>>(-0x2*_0x515264&0x6)):0x0){_0x597bf4=_0x49e5df['indexOf'](_0x597bf4);}for(let _0x420f45=0x0,_0x5198c9=_0xaa4986['length'];_0x420f45<_0x5198c9;_0x420f45++){_0x5d160e+='%'+('00'+_0xaa4986['charCodeAt'](_0x420f45)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d160e);};a0_0x1d88['QCILGL']=_0xfcd132,a0_0x1d88['pNsfET']={},a0_0x1d88['sQtoUk']=!![];}const _0x25e7ac=_0x145cbd[0x0],_0x1c295c=_0x524dd9+_0x25e7ac,_0x28d0df=a0_0x1d88['pNsfET'][_0x1c295c];return!_0x28d0df?(_0x1d8874=a0_0x1d88['QCILGL'](_0x1d8874),a0_0x1d88['pNsfET'][_0x1c295c]=_0x1d8874):_0x1d8874=_0x28d0df,_0x1d8874;}describe(a0_0x5d8718(0x14c),()=>{test('useAgentControl hook can be imported',async()=>{const _0x732863=a0_0x1d88,{useAgentControl:_0xaa4986}=await import('../../state/useAgentControl.js');expect(_0xaa4986)['toBeDefined'](),expect(typeof _0xaa4986)['toBe'](_0x732863(0x12c));}),test('useAgentControl is default export',async()=>{const _0x311453=a0_0x1d88,module=await import('../../state/useAgentControl.js');expect(module['default'])['toBeDefined'](),expect(typeof module['default'])['toBe']('function'),expect(module[_0x311453(0x122)])['toBe'](module[_0x311453(0x12b)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants',()=>{const _0x4cc6d3=a0_0x5d8718;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x13798e=a0_0x1d88,{AGENT_MODE:_0x5d160e}=await import('../../config/constants.js');expect(_0x5d160e)['toBeDefined'](),expect(_0x5d160e['CHAT'])['toBe']('CHAT'),expect(_0x5d160e[_0x13798e(0x13e)])[_0x13798e(0x148)](_0x13798e(0x13e));}),test(_0x4cc6d3(0x12d),async()=>{const _0x381587=_0x4cc6d3,{MODEL_CATEGORY:_0x515264}=await import(_0x381587(0x151));expect(_0x515264)['toBeDefined'](),expect(_0x515264['ANTHROPIC'])['toBe']('anthropic'),expect(_0x515264[_0x381587(0x126)])[_0x381587(0x148)]('openai'),expect(_0x515264['DEEPSEEK'])['toBe'](_0x381587(0x149)),expect(_0x515264[_0x381587(0x12a)])['toBe']('microsoft');}),test('Mode\x20and\x20model\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x40269a=_0x4cc6d3,{API_ENDPOINTS:_0x25ba9}=await import('../../config/constants.js');expect(_0x25ba9[_0x40269a(0x129)])[_0x40269a(0x148)](_0x40269a(0x150)),expect(_0x25ba9['AGENTS_MODE_GET'])['toBe'](_0x40269a(0x150)),expect(_0x25ba9[_0x40269a(0x125)])['toBe']('/api/llm/models');}),test(_0x4cc6d3(0x132),async()=>{const _0x327495=_0x4cc6d3,{WS_MESSAGE_TYPE:_0x597bf4}=await import(_0x327495(0x151));expect(_0x597bf4)[_0x327495(0x136)](),expect(_0x597bf4[_0x327495(0x13a)])[_0x327495(0x148)]('agent_mode_changed');});}),describe(a0_0x5d8718(0x13b),()=>{const _0x3d3153=a0_0x5d8718;test(_0x3d3153(0x142),async()=>{const _0x1cc2af=_0x3d3153,{useAgentControl:_0x567e7c}=await import('../../state/useAgentControl.js'),{SessionManager:_0x420f45}=await import('../../api/session.js'),{MessageRouter:_0x5198c9}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x5b66ad}=await import('../../api/websocket.js'),_0x4e466e=new _0x420f45('localhost',0x1f90),_0x47e7cd=new _0x5b66ad(_0x1cc2af(0x145),0x1f90),_0x337e3d=new _0x5198c9(_0x47e7cd);expect(_0x4e466e)[_0x1cc2af(0x136)](),expect(_0x337e3d)[_0x1cc2af(0x136)](),expect(typeof _0x567e7c)[_0x1cc2af(0x148)](_0x1cc2af(0x12c));}),test('Full agent control stack can be imported together',async()=>{const _0xb77dfc=_0x3d3153,[_0x5a2e63,_0x549803,_0x23c5ea,_0x158f84,_0x4170cc]=await Promise['all']([import('../../config/constants.js'),import(_0xb77dfc(0x131)),import(_0xb77dfc(0x121)),import(_0xb77dfc(0x130)),import('../../state/useAgentControl.js')]);expect(_0x5a2e63[_0xb77dfc(0x14a)])['toBeDefined'](),expect(_0x5a2e63[_0xb77dfc(0x14d)])['toBeDefined'](),expect(_0x5a2e63['API_ENDPOINTS'])[_0xb77dfc(0x136)](),expect(_0x549803['SessionManager'])['toBeDefined'](),expect(_0x23c5ea['WebSocketManager'])[_0xb77dfc(0x136)](),expect(_0x158f84[_0xb77dfc(0x14f)])[_0xb77dfc(0x136)](),expect(_0x4170cc[_0xb77dfc(0x12b)])['toBeDefined']();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x58f62f=a0_0x5d8718;test('Agent\x20mode\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0xe5597b=a0_0x1d88,{API_ENDPOINTS:_0x3f232f}=await import(_0xe5597b(0x151));expect(_0x3f232f['AGENTS_MODE_SET'])['toMatch'](/^\/api\/agents/),expect(_0x3f232f['AGENTS_MODE_GET'])['toMatch'](/^\/api\/agents/),expect(_0x3f232f[_0xe5597b(0x129)])[_0xe5597b(0x124)](':agentId'),expect(_0x3f232f['AGENTS_MODE_GET'])['toContain'](':agentId');}),test('LLM\x20models\x20endpoint\x20exists',async()=>{const _0x34fb3d=a0_0x1d88,{API_ENDPOINTS:_0x35d1f2}=await import(_0x34fb3d(0x151));expect(_0x35d1f2[_0x34fb3d(0x125)])[_0x34fb3d(0x136)](),expect(_0x35d1f2[_0x34fb3d(0x125)])['toBe']('/api/llm/models');}),test(_0x58f62f(0x134),async()=>{const _0x5d60ae=_0x58f62f,{API_ENDPOINTS:_0x4b9d5a}=await import(_0x5d60ae(0x151));expect(_0x4b9d5a['ORCHESTRATOR'])[_0x5d60ae(0x136)](),expect(_0x4b9d5a['ORCHESTRATOR'])['toBe']('/api/orchestrator');});}),describe(a0_0x5d8718(0x143),()=>{const _0x1a67f5=a0_0x5d8718;test(_0x1a67f5(0x154),async()=>{const _0x22aa0e=_0x1a67f5,{useAgentControl:_0x136111}=await import('../../state/useAgentControl.js');expect(_0x136111[_0x22aa0e(0x14b)])['toBe'](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x1c89d8=a0_0x5d8718;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x556a8e=a0_0x1d88,{AGENT_MODE:_0x4063ea}=await import(_0x556a8e(0x151)),_0x3ad4d7=Object[_0x556a8e(0x141)](_0x4063ea);expect(_0x3ad4d7['length'])['toBe'](0x2),expect(_0x3ad4d7)['toContain'](_0x556a8e(0x135)),expect(_0x3ad4d7)[_0x556a8e(0x124)](_0x556a8e(0x13e));}),test('AGENT_MODE\x20values\x20are\x20uppercase',async()=>{const _0xdf8444=a0_0x1d88,{AGENT_MODE:_0x562c2b}=await import(_0xdf8444(0x151));expect(_0x562c2b['CHAT'])[_0xdf8444(0x148)]('CHAT'),expect(_0x562c2b['AGENT'])[_0xdf8444(0x148)]('AGENT'),expect(_0x562c2b[_0xdf8444(0x135)])['toBe'](_0x562c2b['CHAT'][_0xdf8444(0x14e)]()),expect(_0x562c2b['AGENT'])[_0xdf8444(0x148)](_0x562c2b[_0xdf8444(0x13e)]['toUpperCase']());}),test('MODEL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x5977e8=a0_0x1d88,{MODEL_CATEGORY:_0x4c32ef}=await import(_0x5977e8(0x151));expect(_0x4c32ef['ANTHROPIC'])['toBe']('anthropic'),expect(_0x4c32ef['OPENAI'])['toBe'](_0x5977e8(0x133)),expect(_0x4c32ef['DEEPSEEK'])['toBe']('deepseek'),expect(_0x4c32ef[_0x5977e8(0x12a)])['toBe']('microsoft'),expect(_0x4c32ef[_0x5977e8(0x146)])[_0x5977e8(0x148)](_0x4c32ef[_0x5977e8(0x146)][_0x5977e8(0x12e)]()),expect(_0x4c32ef[_0x5977e8(0x126)])['toBe'](_0x4c32ef[_0x5977e8(0x126)][_0x5977e8(0x12e)]());}),test(_0x1c89d8(0x152),async()=>{const _0x17c263=_0x1c89d8,{MODEL_CATEGORY:_0x59afc8}=await import(_0x17c263(0x151)),_0x49aa79=Object[_0x17c263(0x141)](_0x59afc8);expect(_0x49aa79)[_0x17c263(0x124)]('ANTHROPIC'),expect(_0x49aa79)[_0x17c263(0x124)](_0x17c263(0x126)),expect(_0x49aa79)[_0x17c263(0x124)]('DEEPSEEK'),expect(_0x49aa79)[_0x17c263(0x124)](_0x17c263(0x12a));});}),describe('Agent\x20Control\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{test('MessageRouter\x20has\x20mode\x20change\x20event\x20handler\x20registered',async()=>{const _0x3f6810=a0_0x1d88,{MessageRouter:_0x466cc5}=await import('../../api/messageRouter.js'),{WebSocketManager:_0xdd91eb}=await import(_0x3f6810(0x121)),{WS_MESSAGE_TYPE:_0x3d18c4}=await import('../../config/constants.js'),_0xa70284=new _0xdd91eb('localhost',0x1f90),_0x1a0c5a=new _0x466cc5(_0xa70284);expect(_0x1a0c5a['hasHandler'](_0x3d18c4['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{const _0x245965=a0_0x5d8718;test(_0x245965(0x155),async()=>{const _0x567d16=_0x245965,{AGENT_MODE:_0x21c1f5}=await import('../../config/constants.js');let _0x406bd4=_0x21c1f5[_0x567d16(0x135)],_0x3f2aa7=_0x406bd4===_0x21c1f5[_0x567d16(0x135)]?_0x21c1f5[_0x567d16(0x13e)]:_0x21c1f5[_0x567d16(0x135)];expect(_0x3f2aa7)[_0x567d16(0x148)](_0x21c1f5[_0x567d16(0x13e)]),_0x406bd4=_0x21c1f5['AGENT'],_0x3f2aa7=_0x406bd4===_0x21c1f5[_0x567d16(0x135)]?_0x21c1f5['AGENT']:_0x21c1f5[_0x567d16(0x135)],expect(_0x3f2aa7)[_0x567d16(0x148)](_0x21c1f5['CHAT']);});}),describe(a0_0x5d8718(0x13f),()=>{const _0x1f368e=a0_0x5d8718;test(_0x1f368e(0x139),async()=>{const _0x480013=_0x1f368e,{MODEL_CATEGORY:_0x4e3902}=await import('../../config/constants.js'),_0x1cd5ae=[{'id':_0x480013(0x123),'category':_0x4e3902[_0x480013(0x146)]},{'id':'gpt-4','category':_0x4e3902['OPENAI']},{'id':'deepseek-chat','category':_0x4e3902[_0x480013(0x128)]}],_0xa5dee8=_0x1cd5ae[_0x480013(0x144)](_0x3b11c1=>_0x3b11c1['category']===_0x4e3902['ANTHROPIC']),_0x432739=_0x1cd5ae['filter'](_0x3902c9=>_0x3902c9['category']===_0x4e3902['OPENAI']);expect(_0xa5dee8['length'])[_0x480013(0x148)](0x1),expect(_0xa5dee8[0x0]['id'])['toBe'](_0x480013(0x123)),expect(_0x432739[_0x480013(0x14b)])[_0x480013(0x148)](0x1),expect(_0x432739[0x0]['id'])['toBe'](_0x480013(0x13c));});});
@@ -1 +1 @@
1
- const a0_0x88543e=a0_0x182c;(function(_0x48dde4,_0x59840f){const _0x2ea6ab=a0_0x182c,_0x3e5f52=_0x48dde4();while(!![]){try{const _0x13a99f=parseInt(_0x2ea6ab(0x104))/0x1*(parseInt(_0x2ea6ab(0x114))/0x2)+-parseInt(_0x2ea6ab(0xe9))/0x3+parseInt(_0x2ea6ab(0xfa))/0x4*(parseInt(_0x2ea6ab(0xf8))/0x5)+parseInt(_0x2ea6ab(0x100))/0x6+parseInt(_0x2ea6ab(0xf4))/0x7*(-parseInt(_0x2ea6ab(0xf9))/0x8)+parseInt(_0x2ea6ab(0x118))/0x9+-parseInt(_0x2ea6ab(0xf5))/0xa;if(_0x13a99f===_0x59840f)break;else _0x3e5f52['push'](_0x3e5f52['shift']());}catch(_0x59ef8c){_0x3e5f52['push'](_0x3e5f52['shift']());}}}(a0_0x33a5,0x3b196));function a0_0x182c(_0x5ac363,_0x1a5c25){_0x5ac363=_0x5ac363-0xe8;const _0x33a556=a0_0x33a5();let _0x182cd4=_0x33a556[_0x5ac363];if(a0_0x182c['cuugrc']===undefined){var _0x218daa=function(_0x248160){const _0x4f1432='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f9029='',_0x22162c='';for(let _0x478790=0x0,_0x35bffe,_0x2ae883,_0x4ff7ba=0x0;_0x2ae883=_0x248160['charAt'](_0x4ff7ba++);~_0x2ae883&&(_0x35bffe=_0x478790%0x4?_0x35bffe*0x40+_0x2ae883:_0x2ae883,_0x478790++%0x4)?_0x1f9029+=String['fromCharCode'](0xff&_0x35bffe>>(-0x2*_0x478790&0x6)):0x0){_0x2ae883=_0x4f1432['indexOf'](_0x2ae883);}for(let _0x2d6c7d=0x0,_0x42e3fd=_0x1f9029['length'];_0x2d6c7d<_0x42e3fd;_0x2d6c7d++){_0x22162c+='%'+('00'+_0x1f9029['charCodeAt'](_0x2d6c7d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22162c);};a0_0x182c['fkqCaG']=_0x218daa,a0_0x182c['jVpPcn']={},a0_0x182c['cuugrc']=!![];}const _0xdcfb9e=_0x33a556[0x0],_0x500ead=_0x5ac363+_0xdcfb9e,_0x2a9fb8=a0_0x182c['jVpPcn'][_0x500ead];return!_0x2a9fb8?(_0x182cd4=a0_0x182c['fkqCaG'](_0x182cd4),a0_0x182c['jVpPcn'][_0x500ead]=_0x182cd4):_0x182cd4=_0x2a9fb8,_0x182cd4;}import{describe,test,expect}from'@jest/globals';function a0_0x33a5(){const _0x548f79=['u1Ltvevnx0fetuLosvnuuKfut1i','q1vtve9n','Dg9dB250ywLU','qwDLBNqGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','otmXnty2yNHbDuzT','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','y3jLyxrPDMuTD3jPDgvY','lI4VlI4VyxbPl3nLC3nPB24UANm','ody0n1Hbq0Dzzq','Dg9czurLzMLUzwq','zgvMyxvSDa','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','quDftLrFvevnueXbvevtignVBNn0yw50CYbHCMuGzgvMAw5Lza','t1jdsevtvfjbve9s','v2vIu29JA2v0twfUywDLCG','quDftLrtx0fwquLmqujmrq','Dg9nyxrJAa','quDftLrtx01fvefeqvrb','C3LZDgvTlwfKBwLUAxn0CMf0B3i','uefvu0ve','yxjJAgL2zwq','Dg9czq','qwDLBNqGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','quDftLrtx1nut1a','mNPIC2D0vW','qunusvzf','quDftLrFu1rbvfvtignVBNn0yw50CYbHCMuGzgvMAw5Lza','quDftLrtx01prevFr0vu','mZyYmde0mKPhBM5vzG','q1jfqvrjvKvFv1jjvevs','q0Hbva','zNvUy3rPB24','ndeXnZu5vM9brhLt','q09esu5hx0ftu0Ltvefova','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','ywXS','y3vZDg9T','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','oMfNzw50swq','quDftLrtx01prevFu0vu','qvjdseLwruq','mZG1uKPxzvf0','nde0mdq5meXxDhfWyW','DxnLqwDLBNrZ','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','nvzXuwvJsq','mJy3nZzMr21xAfO','mty0nti0nejzr1LHza','Cgf1C2vK'];a0_0x33a5=function(){return _0x548f79;};return a0_0x33a5();}describe('Agent\x20Management\x20-\x20Imports',()=>{test('useAgents hook can be imported',async()=>{const _0x135bc3=a0_0x182c,{useAgents:_0x1f9029}=await import('../../state/useAgents.js');expect(_0x1f9029)['toBeDefined'](),expect(typeof _0x1f9029)['toBe'](_0x135bc3(0xe8));}),test('useAgents is default export',async()=>{const _0x2deac1=a0_0x182c,module=await import('../../state/useAgents.js');expect(module[_0x2deac1(0x106)])[_0x2deac1(0x105)](),expect(typeof module['default'])['toBe'](_0x2deac1(0xe8)),expect(module[_0x2deac1(0x106)])['toBe'](module[_0x2deac1(0xf6)]);});}),describe('Agent\x20Management\x20-\x20Constants',()=>{const _0x570548=a0_0x182c;test(_0x570548(0xef),async()=>{const _0x2c4a81=_0x570548,{AGENT_MODE:_0x22162c}=await import(_0x2c4a81(0xf7));expect(_0x22162c)['toBeDefined'](),expect(_0x22162c[_0x2c4a81(0x11a)])['toBe']('CHAT'),expect(_0x22162c['AGENT'])['toBe']('AGENT');}),test(_0x570548(0x116),async()=>{const _0x4fceca=_0x570548,{AGENT_STATUS:_0x478790}=await import(_0x4fceca(0xf7));expect(_0x478790)[_0x4fceca(0x105)](),expect(_0x478790[_0x4fceca(0x115)])['toBe']('active'),expect(_0x478790[_0x4fceca(0x10f)])[_0x4fceca(0x111)](_0x4fceca(0xfb)),expect(_0x478790['IDLE'])['toBe']('idle'),expect(_0x478790['ERROR'])[_0x4fceca(0x111)]('error'),expect(_0x478790[_0x4fceca(0xf3)])[_0x4fceca(0x111)](_0x4fceca(0x110));}),test('Agent\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x2097e4=_0x570548,{API_ENDPOINTS:_0x35bffe}=await import(_0x2097e4(0xf7));expect(_0x35bffe[_0x2097e4(0x10b)])[_0x2097e4(0x111)]('/api/agents/available'),expect(_0x35bffe[_0x2097e4(0x10d)])[_0x2097e4(0x111)](_0x2097e4(0x101)),expect(_0x35bffe['AGENTS_IMPORT'])['toBe']('/api/agents/import'),expect(_0x35bffe['AGENTS_MODE_SET'])['toBe'](_0x2097e4(0xec)),expect(_0x35bffe['AGENTS_MODE_GET'])[_0x2097e4(0x111)]('/api/agents/:agentId/mode'),expect(_0x35bffe['AGENTS_STOP'])[_0x2097e4(0x111)](_0x2097e4(0xeb));}),test(_0x570548(0x108),async()=>{const _0x3d8e05=_0x570548,{AGENT_TEMPLATES:_0x2ae883}=await import(_0x3d8e05(0xf7));expect(_0x2ae883)['toBeDefined'](),expect(_0x2ae883[_0x3d8e05(0xea)])['toBe']('coding-assistant'),expect(_0x2ae883['DATA_ANALYST'])[_0x3d8e05(0x111)]('data-analyst'),expect(_0x2ae883[_0x3d8e05(0x119)])[_0x3d8e05(0x111)](_0x3d8e05(0x102)),expect(_0x2ae883[_0x3d8e05(0xfc)])[_0x3d8e05(0x111)](_0x3d8e05(0x10e)),expect(_0x2ae883[_0x3d8e05(0xfd)])['toBe'](_0x3d8e05(0xee));});}),describe(a0_0x88543e(0xff),()=>{test('useAgents\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x5dfc3e=a0_0x182c,{useAgents:_0x4ff7ba}=await import('../../state/useAgents.js'),{SessionManager:_0x2d6c7d}=await import(_0x5dfc3e(0x103)),{MessageRouter:_0x42e3fd}=await import(_0x5dfc3e(0xf0)),{WebSocketManager:_0x202fc1}=await import('../../api/websocket.js'),_0x65a1d=new _0x2d6c7d('localhost',0x1f90),_0x1b72cf=new _0x202fc1('localhost',0x1f90),_0x1f0db0=new _0x42e3fd(_0x1b72cf);expect(_0x65a1d)[_0x5dfc3e(0x105)](),expect(_0x1f0db0)['toBeDefined'](),expect(typeof _0x4ff7ba)['toBe']('function');}),test('Full agent management stack can be imported together',async()=>{const _0x488f52=a0_0x182c,[_0x115558,_0x18e73e,_0x3ee422,_0xd57c4a,_0xfed19a]=await Promise[_0x488f52(0xed)]([import('../../config/constants.js'),import(_0x488f52(0x103)),import('../../api/websocket.js'),import(_0x488f52(0xf0)),import(_0x488f52(0x107))]);expect(_0x115558['AGENT_MODE'])[_0x488f52(0x105)](),expect(_0x18e73e['SessionManager'])['toBeDefined'](),expect(_0x3ee422[_0x488f52(0x10a)])['toBeDefined'](),expect(_0xd57c4a['MessageRouter'])[_0x488f52(0x105)](),expect(_0xfed19a['useAgents'])[_0x488f52(0x105)]();});}),describe(a0_0x88543e(0x112),()=>{test('All\x20agent\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x393749=a0_0x182c,{API_ENDPOINTS:_0x5dc886}=await import('../../config/constants.js');expect(_0x5dc886['AGENTS_AVAILABLE'])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886[_0x393749(0x10d)])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886['AGENTS_IMPORT'])['toMatch'](/^\/api\/agents/),expect(_0x5dc886[_0x393749(0xf2)])['toMatch'](/^\/api\/agents/),expect(_0x5dc886['AGENTS_MODE_GET'])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886[_0x393749(0x113)])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886['AGENTS_METADATA'])[_0x393749(0xfe)](_0x393749(0xf1)),expect(_0x5dc886[_0x393749(0xf2)])['toContain'](':agentId'),expect(_0x5dc886[_0x393749(0x117)])['toContain'](':agentId'),expect(_0x5dc886[_0x393749(0x113)])[_0x393749(0xfe)](_0x393749(0xf1));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20agent\x20operations',async()=>{const _0x160661=a0_0x182c,{API_ENDPOINTS:_0x3c0244}=await import('../../config/constants.js');expect(_0x3c0244[_0x160661(0x109)])['toBeDefined'](),expect(_0x3c0244[_0x160661(0x109)])['toBe']('/api/orchestrator');});});
1
+ const a0_0x149d11=a0_0x7c69;(function(_0x3012d3,_0x599fdd){const _0xe0a3c9=a0_0x7c69,_0x187ea2=_0x3012d3();while(!![]){try{const _0x5c9922=parseInt(_0xe0a3c9(0x133))/0x1*(parseInt(_0xe0a3c9(0x13d))/0x2)+-parseInt(_0xe0a3c9(0x14b))/0x3*(parseInt(_0xe0a3c9(0x154))/0x4)+parseInt(_0xe0a3c9(0x131))/0x5+parseInt(_0xe0a3c9(0x14c))/0x6+parseInt(_0xe0a3c9(0x146))/0x7*(-parseInt(_0xe0a3c9(0x142))/0x8)+parseInt(_0xe0a3c9(0x160))/0x9*(-parseInt(_0xe0a3c9(0x153))/0xa)+parseInt(_0xe0a3c9(0x13c))/0xb*(parseInt(_0xe0a3c9(0x13e))/0xc);if(_0x5c9922===_0x599fdd)break;else _0x187ea2['push'](_0x187ea2['shift']());}catch(_0x4b325c){_0x187ea2['push'](_0x187ea2['shift']());}}}(a0_0x484c,0xb4aa4));import{describe,test,expect}from'@jest/globals';describe(a0_0x149d11(0x147),()=>{test('useAgents hook can be imported',async()=>{const _0x5f1e82=a0_0x7c69,{useAgents:_0x2d2395}=await import(_0x5f1e82(0x14f));expect(_0x2d2395)[_0x5f1e82(0x155)](),expect(typeof _0x2d2395)['toBe']('function');}),test('useAgents is default export',async()=>{const _0x41f949=a0_0x7c69,module=await import('../../state/useAgents.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x41f949(0x13a)])[_0x41f949(0x139)](_0x41f949(0x143)),expect(module['default'])[_0x41f949(0x139)](module[_0x41f949(0x14a)]);});}),describe(a0_0x149d11(0x152),()=>{const _0x22d6ea=a0_0x149d11;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x5661e7=a0_0x7c69,{AGENT_MODE:_0xb898db}=await import('../../config/constants.js');expect(_0xb898db)['toBeDefined'](),expect(_0xb898db['CHAT'])['toBe'](_0x5661e7(0x15b)),expect(_0xb898db['AGENT'])[_0x5661e7(0x139)]('AGENT');}),test('AGENT_STATUS\x20constants\x20are\x20defined',async()=>{const _0xb7b492=a0_0x7c69,{AGENT_STATUS:_0x1a8b18}=await import('../../config/constants.js');expect(_0x1a8b18)['toBeDefined'](),expect(_0x1a8b18[_0xb7b492(0x156)])[_0xb7b492(0x139)](_0xb7b492(0x149)),expect(_0x1a8b18['PAUSED'])['toBe'](_0xb7b492(0x15c)),expect(_0x1a8b18['IDLE'])['toBe']('idle'),expect(_0x1a8b18['ERROR'])[_0xb7b492(0x139)](_0xb7b492(0x13f)),expect(_0x1a8b18[_0xb7b492(0x145)])['toBe']('archived');}),test('Agent\x20API\x20endpoints\x20are\x20defined',async()=>{const _0xe00918=a0_0x7c69,{API_ENDPOINTS:_0x9d3d69}=await import(_0xe00918(0x136));expect(_0x9d3d69['AGENTS_AVAILABLE'])['toBe']('/api/agents/available'),expect(_0x9d3d69['AGENTS_METADATA'])[_0xe00918(0x139)]('/api/agents/:agentId/metadata'),expect(_0x9d3d69[_0xe00918(0x144)])['toBe']('/api/agents/import'),expect(_0x9d3d69[_0xe00918(0x134)])[_0xe00918(0x139)](_0xe00918(0x15f)),expect(_0x9d3d69['AGENTS_MODE_GET'])['toBe']('/api/agents/:agentId/mode'),expect(_0x9d3d69['AGENTS_STOP'])['toBe']('/api/agents/:agentId/stop');}),test(_0x22d6ea(0x138),async()=>{const _0x8ae6cc=_0x22d6ea,{AGENT_TEMPLATES:_0x637d3}=await import('../../config/constants.js');expect(_0x637d3)['toBeDefined'](),expect(_0x637d3[_0x8ae6cc(0x14d)])['toBe']('coding-assistant'),expect(_0x637d3['DATA_ANALYST'])['toBe']('data-analyst'),expect(_0x637d3[_0x8ae6cc(0x157)])['toBe'](_0x8ae6cc(0x140)),expect(_0x637d3['SYSTEM_ADMINISTRATOR'])[_0x8ae6cc(0x139)]('system-administrator'),expect(_0x637d3['CUSTOM'])[_0x8ae6cc(0x139)](_0x8ae6cc(0x15e));});}),describe('Agent\x20Management\x20-\x20Integration',()=>{const _0x23f14c=a0_0x149d11;test(_0x23f14c(0x148),async()=>{const _0x25cbf7=_0x23f14c,{useAgents:_0x5bf1d7}=await import('../../state/useAgents.js'),{SessionManager:_0x3d66e0}=await import('../../api/session.js'),{MessageRouter:_0x2d0506}=await import(_0x25cbf7(0x13b)),{WebSocketManager:_0xeb0946}=await import('../../api/websocket.js'),_0x451b83=new _0x3d66e0(_0x25cbf7(0x15d),0x1f90),_0x3c80c4=new _0xeb0946('localhost',0x1f90),_0x42bb19=new _0x2d0506(_0x3c80c4);expect(_0x451b83)['toBeDefined'](),expect(_0x42bb19)[_0x25cbf7(0x155)](),expect(typeof _0x5bf1d7)['toBe'](_0x25cbf7(0x143));}),test('Full agent management stack can be imported together',async()=>{const _0xe57dc5=_0x23f14c,[_0x45fafc,_0x4599e,_0x212531,_0x4bc048,_0x24b80d]=await Promise['all']([import(_0xe57dc5(0x136)),import('../../api/session.js'),import(_0xe57dc5(0x158)),import(_0xe57dc5(0x13b)),import(_0xe57dc5(0x14f))]);expect(_0x45fafc[_0xe57dc5(0x137)])[_0xe57dc5(0x155)](),expect(_0x4599e[_0xe57dc5(0x130)])[_0xe57dc5(0x155)](),expect(_0x212531['WebSocketManager'])['toBeDefined'](),expect(_0x4bc048['MessageRouter'])[_0xe57dc5(0x155)](),expect(_0x24b80d['useAgents'])[_0xe57dc5(0x155)]();});}),describe(a0_0x149d11(0x141),()=>{const _0x5c39bb=a0_0x149d11;test(_0x5c39bb(0x14e),async()=>{const _0x1c7fbc=_0x5c39bb,{API_ENDPOINTS:_0x38aa69}=await import(_0x1c7fbc(0x136));expect(_0x38aa69['AGENTS_AVAILABLE'])['toMatch'](/^\/api\/agents/),expect(_0x38aa69['AGENTS_METADATA'])[_0x1c7fbc(0x15a)](/^\/api\/agents/),expect(_0x38aa69['AGENTS_IMPORT'])[_0x1c7fbc(0x15a)](/^\/api\/agents/),expect(_0x38aa69[_0x1c7fbc(0x134)])[_0x1c7fbc(0x15a)](/^\/api\/agents/),expect(_0x38aa69['AGENTS_MODE_GET'])['toMatch'](/^\/api\/agents/),expect(_0x38aa69['AGENTS_STOP'])['toMatch'](/^\/api\/agents/),expect(_0x38aa69['AGENTS_METADATA'])[_0x1c7fbc(0x135)](_0x1c7fbc(0x159)),expect(_0x38aa69[_0x1c7fbc(0x134)])[_0x1c7fbc(0x135)](':agentId'),expect(_0x38aa69['AGENTS_MODE_GET'])[_0x1c7fbc(0x135)](':agentId'),expect(_0x38aa69[_0x1c7fbc(0x150)])[_0x1c7fbc(0x135)](':agentId');}),test('Orchestrator\x20endpoint\x20exists\x20for\x20agent\x20operations',async()=>{const _0x11d90b=_0x5c39bb,{API_ENDPOINTS:_0x102d57}=await import('../../config/constants.js');expect(_0x102d57['ORCHESTRATOR'])[_0x11d90b(0x155)](),expect(_0x102d57[_0x11d90b(0x132)])['toBe'](_0x11d90b(0x151));});});function a0_0x7c69(_0x1b7667,_0x33e80a){_0x1b7667=_0x1b7667-0x130;const _0x484c04=a0_0x484c();let _0x7c6909=_0x484c04[_0x1b7667];if(a0_0x7c69['HbDKFs']===undefined){var _0x150c84=function(_0x4f6168){const _0x1bf18d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d2395='',_0xb898db='';for(let _0x1a8b18=0x0,_0x9d3d69,_0x637d3,_0x5bf1d7=0x0;_0x637d3=_0x4f6168['charAt'](_0x5bf1d7++);~_0x637d3&&(_0x9d3d69=_0x1a8b18%0x4?_0x9d3d69*0x40+_0x637d3:_0x637d3,_0x1a8b18++%0x4)?_0x2d2395+=String['fromCharCode'](0xff&_0x9d3d69>>(-0x2*_0x1a8b18&0x6)):0x0){_0x637d3=_0x1bf18d['indexOf'](_0x637d3);}for(let _0x3d66e0=0x0,_0x2d0506=_0x2d2395['length'];_0x3d66e0<_0x2d0506;_0x3d66e0++){_0xb898db+='%'+('00'+_0x2d2395['charCodeAt'](_0x3d66e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb898db);};a0_0x7c69['yjQzIH']=_0x150c84,a0_0x7c69['wPnDAa']={},a0_0x7c69['HbDKFs']=!![];}const _0x50da5c=_0x484c04[0x0],_0x53d8a2=_0x1b7667+_0x50da5c,_0x3e5442=a0_0x7c69['wPnDAa'][_0x53d8a2];return!_0x3e5442?(_0x7c6909=a0_0x7c69['yjQzIH'](_0x7c6909),a0_0x7c69['wPnDAa'][_0x53d8a2]=_0x7c6909):_0x7c6909=_0x3e5442,_0x7c6909;}function a0_0x484c(){const _0x2306d0=['mJm3ndiYn0Xgy2nHtG','u2vZC2LVBK1HBMfNzxi','mtG2mJm1nxnOBu5Ywa','t1jdsevtvfjbve9s','mta3nJeXBMH0u29P','quDftLrtx01prevFu0vu','Dg9dB250ywLU','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','quDftLrFtu9erq','quDftLrFvevnueXbvevtignVBNn0yw50CYbHCMuGzgvMAw5Lza','Dg9czq','zgvMyxvSDa','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','mJiXmu1oD2Pysa','mtruEffYDfq','mta2nJiWAhPQtene','zxjYB3i','y3jLyxrPDMuTD3jPDgvY','qwDLBNqGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','ohHov251yW','zNvUy3rPB24','quDftLrtx0Lnue9sva','qvjdseLwruq','nJq2ndK0ogrKyKj1Bq','qwDLBNqGtwfUywDLBwvUDcaTieLTCg9YDhm','DxnLqwDLBNrZigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','ywn0AxzL','DxnLqwDLBNrZ','mZKXntu3BhLwq0vP','nda5mteWDwTZyKfX','q09esu5hx0ftu0Ltvefova','qwXSigfNzw50igvUzhbVAw50CYbMB2XSB3CGuKvtvgz1BcbWyxr0zxjU','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','quDftLrtx1nut1a','l2fWAs9VCMnOzxn0CMf0B3i','qwDLBNqGtwfUywDLBwvUDcaTienVBNn0yw50CW','ndbMDgjOBvu','oezkzNzMBG','Dg9czurLzMLUzwq','qunusvzf','q1jfqvrjvKvFv1jjvevs','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','oMfNzw50swq','Dg9nyxrJAa','q0Hbva','Cgf1C2vK','Bg9JywXOB3n0','y3vZDg9T','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq'];a0_0x484c=function(){return _0x2306d0;};return a0_0x484c();}
@@ -1 +1 @@
1
- function a0_0x3659(){const _0x1aacd5=['mZa3odz0zw1hs0S','mtiWnte4uw1bwvPX','mJDoqMHiDhK','sw5WDxrcB3G','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','mtqYodG1nZb3BgThy3e','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','CMvHy3q','Dg9czurLzMLUzwq','oti3ota4nwXUBLHwsq','twvZC2fNzuXPC3q','zgvMyxvSDa','ywXS','sgvHzgvY','odu3mZK5ne91A0vXEG','n3HlCe1qsa','tgf5B3v0','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','nZqZode2ofjHD2v1za','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBNrLz3jHDgLVBG','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','zNvUy3rPB24','ntC4otu4DKv2rNzL','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','nteYAujqsNrH','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbszwfJDc9jBMSGrgvWzw5Kzw5JAwvZ','Dg9czq'];a0_0x3659=function(){return _0x1aacd5;};return a0_0x3659();}const a0_0x386f18=a0_0x9674;(function(_0x8b088d,_0x325ae7){const _0x44befe=a0_0x9674,_0x3de63c=_0x8b088d();while(!![]){try{const _0x3e8ae0=-parseInt(_0x44befe(0x1aa))/0x1*(parseInt(_0x44befe(0x1a9))/0x2)+parseInt(_0x44befe(0x1a8))/0x3*(parseInt(_0x44befe(0x1a5))/0x4)+parseInt(_0x44befe(0x194))/0x5+-parseInt(_0x44befe(0x1a3))/0x6+-parseInt(_0x44befe(0x19a))/0x7*(parseInt(_0x44befe(0x19d))/0x8)+-parseInt(_0x44befe(0x199))/0x9+parseInt(_0x44befe(0x1ad))/0xa;if(_0x3e8ae0===_0x325ae7)break;else _0x3de63c['push'](_0x3de63c['shift']());}catch(_0x268d81){_0x3de63c['push'](_0x3de63c['shift']());}}}(a0_0x3659,0xf241f));import{describe,test,expect}from'@jest/globals';function a0_0x9674(_0x1df9fb,_0x32d49b){_0x1df9fb=_0x1df9fb-0x194;const _0x3659b3=a0_0x3659();let _0x967408=_0x3659b3[_0x1df9fb];if(a0_0x9674['qchCdY']===undefined){var _0x22f962=function(_0x2bd8a7){const _0x2a15a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x209f6f='',_0x3a2a68='';for(let _0x3d6463=0x0,_0x2c1c60,_0x121642,_0x5d4008=0x0;_0x121642=_0x2bd8a7['charAt'](_0x5d4008++);~_0x121642&&(_0x2c1c60=_0x3d6463%0x4?_0x2c1c60*0x40+_0x121642:_0x121642,_0x3d6463++%0x4)?_0x209f6f+=String['fromCharCode'](0xff&_0x2c1c60>>(-0x2*_0x3d6463&0x6)):0x0){_0x121642=_0x2a15a5['indexOf'](_0x121642);}for(let _0x4df296=0x0,_0x4c6879=_0x209f6f['length'];_0x4df296<_0x4c6879;_0x4df296++){_0x3a2a68+='%'+('00'+_0x209f6f['charCodeAt'](_0x4df296)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a2a68);};a0_0x9674['sjmOAO']=_0x22f962,a0_0x9674['bdCqji']={},a0_0x9674['qchCdY']=!![];}const _0x505893=_0x3659b3[0x0],_0x24876e=_0x1df9fb+_0x505893,_0xbcd21e=a0_0x9674['bdCqji'][_0x24876e];return!_0xbcd21e?(_0x967408=a0_0x9674['sjmOAO'](_0x967408),a0_0x9674['bdCqji'][_0x24876e]=_0x967408):_0x967408=_0xbcd21e,_0x967408;}describe('Component\x20Management\x20-\x20Imports',()=>{test('Layout component can be imported',async()=>{const {Layout:_0x209f6f}=await import('../../components/Layout.js');expect(_0x209f6f)['toBeDefined'](),expect(typeof _0x209f6f)['toBe']('function');}),test('Layout is default export',async()=>{const _0x1eed52=a0_0x9674,module=await import(_0x1eed52(0x1a0));expect(module[_0x1eed52(0x196)])[_0x1eed52(0x1b0)](),expect(typeof module[_0x1eed52(0x196)])['toBe']('function'),expect(module[_0x1eed52(0x196)])['toBe'](module['Layout']);}),test('Header component can be imported',async()=>{const _0x381e1f=a0_0x9674,{Header:_0x3a2a68}=await import('../../components/Header.js');expect(_0x3a2a68)[_0x381e1f(0x1b0)](),expect(typeof _0x3a2a68)[_0x381e1f(0x1a7)]('function');}),test('Header is default export',async()=>{const _0x574865=a0_0x9674,module=await import(_0x574865(0x1ae));expect(module['default'])[_0x574865(0x1b0)](),expect(module[_0x574865(0x196)])[_0x574865(0x1a7)](module[_0x574865(0x198)]);}),test('StatusBar component can be imported',async()=>{const _0x40a2fe=a0_0x9674,{StatusBar:_0x3d6463}=await import('../../components/StatusBar.js');expect(_0x3d6463)[_0x40a2fe(0x1b0)](),expect(typeof _0x3d6463)[_0x40a2fe(0x1a7)]('function');}),test('StatusBar is default export',async()=>{const _0xfc6f6c=a0_0x9674,module=await import('../../components/StatusBar.js');expect(module[_0xfc6f6c(0x196)])[_0xfc6f6c(0x1b0)](),expect(module[_0xfc6f6c(0x196)])[_0xfc6f6c(0x1a7)](module['StatusBar']);}),test('MessageList component can be imported',async()=>{const _0x2abd22=a0_0x9674,{MessageList:_0x2c1c60}=await import(_0x2abd22(0x19e));expect(_0x2c1c60)[_0x2abd22(0x1b0)](),expect(typeof _0x2c1c60)['toBe'](_0x2abd22(0x1a2));}),test('MessageList is default export',async()=>{const _0x37d396=a0_0x9674,module=await import(_0x37d396(0x19e));expect(module[_0x37d396(0x196)])[_0x37d396(0x1b0)](),expect(module[_0x37d396(0x196)])[_0x37d396(0x1a7)](module[_0x37d396(0x195)]);}),test('InputBox component can be imported',async()=>{const _0x2074dd=a0_0x9674,{InputBox:_0x121642}=await import('../../components/InputBox.js');expect(_0x121642)[_0x2074dd(0x1b0)](),expect(typeof _0x121642)['toBe']('function');}),test('InputBox is default export',async()=>{const _0x29585e=a0_0x9674,module=await import(_0x29585e(0x19c));expect(module['default'])['toBeDefined'](),expect(module[_0x29585e(0x196)])[_0x29585e(0x1a7)](module[_0x29585e(0x1ab)]);});}),describe(a0_0x386f18(0x19f),()=>{test('All components can be imported together',async()=>{const _0x5dd4ca=a0_0x9674,[_0x5d4008,_0x4df296,_0x4c6879,_0x54de5d,_0xd7cb33]=await Promise[_0x5dd4ca(0x197)]([import('../../components/Layout.js'),import('../../components/Header.js'),import(_0x5dd4ca(0x1a4)),import(_0x5dd4ca(0x19e)),import(_0x5dd4ca(0x19c))]);expect(_0x5d4008[_0x5dd4ca(0x19b)])[_0x5dd4ca(0x1b0)](),expect(_0x4df296[_0x5dd4ca(0x198)])[_0x5dd4ca(0x1b0)](),expect(_0x4c6879['StatusBar'])['toBeDefined'](),expect(_0x54de5d[_0x5dd4ca(0x195)])[_0x5dd4ca(0x1b0)](),expect(_0xd7cb33[_0x5dd4ca(0x1ab)])[_0x5dd4ca(0x1b0)]();}),test('Layout\x20component\x20integrates\x20with\x20all\x20state\x20hooks',async()=>{const _0x1e85d6=a0_0x9674,{Layout:_0x502b22}=await import('../../components/Layout.js'),{useConnection:_0x4b6aba}=await import('../../state/useConnection.js'),{useAgents:_0x38b514}=await import(_0x1e85d6(0x1a1)),{useMessages:_0x5f54bb}=await import('../../state/useMessages.js'),{useAgentControl:_0x5d5928}=await import(_0x1e85d6(0x1ac)),{useTools:_0x49e962}=await import('../../state/useTools.js');expect(_0x502b22)['toBeDefined'](),expect(_0x4b6aba)[_0x1e85d6(0x1b0)](),expect(_0x38b514)[_0x1e85d6(0x1b0)](),expect(_0x5f54bb)[_0x1e85d6(0x1b0)](),expect(_0x5d5928)['toBeDefined'](),expect(_0x49e962)[_0x1e85d6(0x1b0)]();});}),describe(a0_0x386f18(0x1a6),()=>{test('Ink components can be imported',async()=>{const _0x26d688=a0_0x9674,{Box:_0x175302,Text:_0x5936e6}=await import('ink');expect(_0x175302)[_0x26d688(0x1b0)](),expect(_0x5936e6)['toBeDefined']();}),test('React can be imported',async()=>{const _0x2673d5=a0_0x9674,_0x3304c7=await import(_0x2673d5(0x1af));expect(_0x3304c7['default'])['toBeDefined'](),expect(_0x3304c7['useState'])[_0x2673d5(0x1b0)](),expect(_0x3304c7['useEffect'])['toBeDefined']();});});
1
+ function a0_0x401e(_0x5374e9,_0x23721c){_0x5374e9=_0x5374e9-0x115;const _0x24923e=a0_0x2492();let _0x401e3f=_0x24923e[_0x5374e9];if(a0_0x401e['mugeya']===undefined){var _0x4ff207=function(_0x210c75){const _0x5eb14f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18d4e5='',_0x456af4='';for(let _0x227e4d=0x0,_0x27313d,_0x9a56f1,_0xa7f730=0x0;_0x9a56f1=_0x210c75['charAt'](_0xa7f730++);~_0x9a56f1&&(_0x27313d=_0x227e4d%0x4?_0x27313d*0x40+_0x9a56f1:_0x9a56f1,_0x227e4d++%0x4)?_0x18d4e5+=String['fromCharCode'](0xff&_0x27313d>>(-0x2*_0x227e4d&0x6)):0x0){_0x9a56f1=_0x5eb14f['indexOf'](_0x9a56f1);}for(let _0x38c367=0x0,_0x244158=_0x18d4e5['length'];_0x38c367<_0x244158;_0x38c367++){_0x456af4+='%'+('00'+_0x18d4e5['charCodeAt'](_0x38c367)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x456af4);};a0_0x401e['gzRzwA']=_0x4ff207,a0_0x401e['TUVtwu']={},a0_0x401e['mugeya']=!![];}const _0x51b2f3=_0x24923e[0x0],_0x40d462=_0x5374e9+_0x51b2f3,_0x2674fa=a0_0x401e['TUVtwu'][_0x40d462];return!_0x2674fa?(_0x401e3f=a0_0x401e['gzRzwA'](_0x401e3f),a0_0x401e['TUVtwu'][_0x40d462]=_0x401e3f):_0x401e3f=_0x2674fa,_0x401e3f;}const a0_0x271621=a0_0x401e;(function(_0x5907b1,_0x1c7d1c){const _0x58f8c7=a0_0x401e,_0x18265b=_0x5907b1();while(!![]){try{const _0x613296=-parseInt(_0x58f8c7(0x115))/0x1*(parseInt(_0x58f8c7(0x11d))/0x2)+-parseInt(_0x58f8c7(0x11e))/0x3*(parseInt(_0x58f8c7(0x117))/0x4)+parseInt(_0x58f8c7(0x116))/0x5+parseInt(_0x58f8c7(0x12c))/0x6+parseInt(_0x58f8c7(0x122))/0x7+-parseInt(_0x58f8c7(0x12f))/0x8+parseInt(_0x58f8c7(0x12a))/0x9;if(_0x613296===_0x1c7d1c)break;else _0x18265b['push'](_0x18265b['shift']());}catch(_0x20e5ba){_0x18265b['push'](_0x18265b['shift']());}}}(a0_0x2492,0x77ef6));import{describe,test,expect}from'@jest/globals';function a0_0x2492(){const _0x4e4b8a=['mZa4ody3mKfUDvv4yW','nLfvA3LJtG','mJi1mJy4nu93z2ziBa','odC5mdHws05Sru4','twvZC2fNzuXPC3q','zNvUy3rPB24','DxnLu3rHDgu','u3rHDhvZqMfY','sgvHzgvY','mZiZmtu2uNLOBK5f','nM94BurYrq','sw5WDxrcB3G','zgvMyxvSDa','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','nte2nZy4tNHYqMje','Dg9czq','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','Dg9czurLzMLUzwq','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','ndq5oti0ngPAANnyuq','Aw5R','nte5odG5oefms1zSDG','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBxbVCNrZ'];a0_0x2492=function(){return _0x4e4b8a;};return a0_0x2492();}describe(a0_0x271621(0x12e),()=>{test('Layout component can be imported',async()=>{const _0x3ee564=a0_0x401e,{Layout:_0x18d4e5}=await import('../../components/Layout.js');expect(_0x18d4e5)[_0x3ee564(0x128)](),expect(typeof _0x18d4e5)['toBe'](_0x3ee564(0x119));}),test('Layout is default export',async()=>{const _0x49cfdc=a0_0x401e,module=await import(_0x49cfdc(0x129));expect(module[_0x49cfdc(0x120)])['toBeDefined'](),expect(typeof module['default'])['toBe'](_0x49cfdc(0x119)),expect(module['default'])[_0x49cfdc(0x123)](module['Layout']);}),test('Header component can be imported',async()=>{const _0x39f659=a0_0x401e,{Header:_0x456af4}=await import('../../components/Header.js');expect(_0x456af4)['toBeDefined'](),expect(typeof _0x456af4)[_0x39f659(0x123)](_0x39f659(0x119));}),test('Header is default export',async()=>{const _0x2c11d0=a0_0x401e,module=await import('../../components/Header.js');expect(module['default'])[_0x2c11d0(0x128)](),expect(module['default'])['toBe'](module[_0x2c11d0(0x11c)]);}),test('StatusBar component can be imported',async()=>{const _0x18fab0=a0_0x401e,{StatusBar:_0x227e4d}=await import(_0x18fab0(0x127));expect(_0x227e4d)['toBeDefined'](),expect(typeof _0x227e4d)['toBe']('function');}),test('StatusBar is default export',async()=>{const _0x2c1664=a0_0x401e,module=await import(_0x2c1664(0x127));expect(module[_0x2c1664(0x120)])['toBeDefined'](),expect(module[_0x2c1664(0x120)])['toBe'](module[_0x2c1664(0x11b)]);}),test('MessageList component can be imported',async()=>{const _0x1e0fe3=a0_0x401e,{MessageList:_0x27313d}=await import(_0x1e0fe3(0x125));expect(_0x27313d)['toBeDefined'](),expect(typeof _0x27313d)['toBe']('function');}),test('MessageList is default export',async()=>{const _0x3b3fb1=a0_0x401e,module=await import(_0x3b3fb1(0x125));expect(module[_0x3b3fb1(0x120)])[_0x3b3fb1(0x128)](),expect(module['default'])['toBe'](module['MessageList']);}),test('InputBox component can be imported',async()=>{const _0x4cc244=a0_0x401e,{InputBox:_0x9a56f1}=await import(_0x4cc244(0x126));expect(_0x9a56f1)['toBeDefined'](),expect(typeof _0x9a56f1)[_0x4cc244(0x123)]('function');}),test('InputBox is default export',async()=>{const _0x5eafe0=a0_0x401e,module=await import('../../components/InputBox.js');expect(module['default'])[_0x5eafe0(0x128)](),expect(module['default'])[_0x5eafe0(0x123)](module[_0x5eafe0(0x11f)]);});}),describe('Component\x20Management\x20-\x20Integration',()=>{test('All components can be imported together',async()=>{const _0x5f3f83=a0_0x401e,[_0xa7f730,_0x38c367,_0x244158,_0x8736f5,_0xcee7c6]=await Promise['all']([import('../../components/Layout.js'),import(_0x5f3f83(0x124)),import('../../components/StatusBar.js'),import(_0x5f3f83(0x125)),import('../../components/InputBox.js')]);expect(_0xa7f730['Layout'])['toBeDefined'](),expect(_0x38c367['Header'])['toBeDefined'](),expect(_0x244158['StatusBar'])['toBeDefined'](),expect(_0x8736f5[_0x5f3f83(0x118)])['toBeDefined'](),expect(_0xcee7c6['InputBox'])[_0x5f3f83(0x128)]();}),test('Layout\x20component\x20integrates\x20with\x20all\x20state\x20hooks',async()=>{const _0x5cc48a=a0_0x401e,{Layout:_0x4426a0}=await import('../../components/Layout.js'),{useConnection:_0x2d0bcc}=await import(_0x5cc48a(0x12d)),{useAgents:_0x13b143}=await import('../../state/useAgents.js'),{useMessages:_0x2b5ba9}=await import('../../state/useMessages.js'),{useAgentControl:_0x1bc76b}=await import('../../state/useAgentControl.js'),{useTools:_0x478b79}=await import(_0x5cc48a(0x121));expect(_0x4426a0)[_0x5cc48a(0x128)](),expect(_0x2d0bcc)['toBeDefined'](),expect(_0x13b143)[_0x5cc48a(0x128)](),expect(_0x2b5ba9)['toBeDefined'](),expect(_0x1bc76b)['toBeDefined'](),expect(_0x478b79)['toBeDefined']();});}),describe('Component\x20Management\x20-\x20React/Ink\x20Dependencies',()=>{test('Ink components can be imported',async()=>{const _0x2ebc3e=a0_0x401e,{Box:_0x48661d,Text:_0x324feb}=await import(_0x2ebc3e(0x12b));expect(_0x48661d)[_0x2ebc3e(0x128)](),expect(_0x324feb)[_0x2ebc3e(0x128)]();}),test('React can be imported',async()=>{const _0x119be2=a0_0x401e,_0x5c18d1=await import('react');expect(_0x5c18d1[_0x119be2(0x120)])['toBeDefined'](),expect(_0x5c18d1[_0x119be2(0x11a)])[_0x119be2(0x128)](),expect(_0x5c18d1['useEffect'])['toBeDefined']();});});
@@ -1 +1 @@
1
- function a0_0x340d(){const _0x19697c=['q09otKvdveve','q09otKvdveLorW','Dg9dB250ywLU','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','C2vZC2LVBLzHBgLK','v2vIu29JA2v0twfUywDLCG','tufyx0fuvevnufrt','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieLUDgvNCMf0Aw9U','Dg9czurLzMLUzwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','uKvdt05orunusu5h','zgLZy29UBMvJDgvK','Cg93','nZyWnJe1s3HKrfDM','Dxb0Aw1L','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','ou1bqMrVDa','Dg9mB3DLCKnHC2u','mJmYntuWzuPjrNnU','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','qKfds09grL9nvuXusvbmsuvs','mtm2nJi4s3bJzLPR','Dg9czq','mZi4mdiYmvvLyvbpwa','Dg9czuXLC3nuAgfUt3jfCxvHBa','q09otKvdveLptL9tvefuvvmGAxmGywXPyxmGzM9YienptK5fq1rjt05Fu1rbveu','DgvZDc1ZzxnZAw9UlteYmW','nZvnqwDZteq','y29UBMvJDgvK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbnzxrYAwnZ','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbjBMzV','nZq2nZuWD0vIzwzf','Dg9czuDYzwf0zxjuAgfU','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','y29UBMvJDgLUzW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zNvUy3rPB24','B2zM','tufyx0rftefz','mtiYotKYmez4tMDfzW','BM93','AxnszwnVBM5Ly3rPBMC','BwLU','AxndB25Uzwn0zwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gtwf4ief0DgvTChrZieXPBwL0','CMvJB25Uzwn0Aw5N','reLtq09otKvdveve','ndeYody2uwvWwLH1','Dg9czu51BgW','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','uKvdt05orunux0nptKzjrYb2ywX1zxmGyxjLihjLyxnVBMfIBgu','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','q09otKvdveLptL9tvefuvvm','nKjZvhPbrq','su5jveLbtf9eruXbwq','q09otKvdveLptL9tvefuvvmGAgfZigfSBcbYzxf1AxjLzcbZDgf0zxm','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','Bg9JywXOB3n0','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','DxnLq29UBMvJDgLVBIbOB29RigLUDgvNCMf0zxmGD2L0AcbtzxnZAw9UtwfUywDLCIbHBMqGv2vIu29JA2v0twfUywDLCG','rxHWB25LBNrPywWGyMfJA29MzIbYzxnWzwn0CYbTyxGGzgvSyxK','DxnLq29UBMvJDgLVBG'];a0_0x340d=function(){return _0x19697c;};return a0_0x340d();}function a0_0x2c64(_0x3bc9a4,_0xf5ae11){_0x3bc9a4=_0x3bc9a4-0x1cd;const _0x340d0d=a0_0x340d();let _0x2c6405=_0x340d0d[_0x3bc9a4];if(a0_0x2c64['FaCesm']===undefined){var _0x212d0d=function(_0x16cf1b){const _0x20ee32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d0c8='',_0x1907f5='';for(let _0x35d851=0x0,_0x572a94,_0xc53a63,_0x5d58f1=0x0;_0xc53a63=_0x16cf1b['charAt'](_0x5d58f1++);~_0xc53a63&&(_0x572a94=_0x35d851%0x4?_0x572a94*0x40+_0xc53a63:_0xc53a63,_0x35d851++%0x4)?_0x17d0c8+=String['fromCharCode'](0xff&_0x572a94>>(-0x2*_0x35d851&0x6)):0x0){_0xc53a63=_0x20ee32['indexOf'](_0xc53a63);}for(let _0x4c9ee3=0x0,_0x9b3463=_0x17d0c8['length'];_0x4c9ee3<_0x9b3463;_0x4c9ee3++){_0x1907f5+='%'+('00'+_0x17d0c8['charCodeAt'](_0x4c9ee3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1907f5);};a0_0x2c64['oahcGB']=_0x212d0d,a0_0x2c64['sedTmu']={},a0_0x2c64['FaCesm']=!![];}const _0x365057=_0x340d0d[0x0],_0x66ea11=_0x3bc9a4+_0x365057,_0x4182f5=a0_0x2c64['sedTmu'][_0x66ea11];return!_0x4182f5?(_0x2c6405=a0_0x2c64['oahcGB'](_0x2c6405),a0_0x2c64['sedTmu'][_0x66ea11]=_0x2c6405):_0x2c6405=_0x4182f5,_0x2c6405;}const a0_0x6522d9=a0_0x2c64;(function(_0xfa108b,_0x26fd9d){const _0x37c459=a0_0x2c64,_0x34489b=_0xfa108b();while(!![]){try{const _0x341287=parseInt(_0x37c459(0x203))/0x1+-parseInt(_0x37c459(0x1e6))/0x2+parseInt(_0x37c459(0x1d1))/0x3*(-parseInt(_0x37c459(0x20b))/0x4)+parseInt(_0x37c459(0x1d6))/0x5+parseInt(_0x37c459(0x1ec))/0x6*(parseInt(_0x37c459(0x1cd))/0x7)+parseInt(_0x37c459(0x1de))/0x8+parseInt(_0x37c459(0x206))/0x9*(-parseInt(_0x37c459(0x208))/0xa);if(_0x341287===_0x26fd9d)break;else _0x34489b['push'](_0x34489b['shift']());}catch(_0x26bcf5){_0x34489b['push'](_0x34489b['shift']());}}}(a0_0x340d,0x6d8b7));import{describe,test,expect}from'@jest/globals';describe(a0_0x6522d9(0x1fe),()=>{test('useConnection hook can be imported',async()=>{const _0x298541=a0_0x2c64,{useConnection:_0x17d0c8}=await import('../../state/useConnection.js');expect(_0x17d0c8)[_0x298541(0x1fd)](),expect(typeof _0x17d0c8)['toBe'](_0x298541(0x1db));}),test('useConnection is default export',async()=>{const _0x3b53c4=a0_0x2c64,module=await import('../../state/useConnection.js');expect(module['default'])['toBeDefined'](),expect(typeof module['default'])[_0x3b53c4(0x20c)](_0x3b53c4(0x1db)),expect(module['default'])['toBe'](module['useConnection']);});}),describe(a0_0x6522d9(0x205),()=>{const _0x44e801=a0_0x6522d9;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x2e5dcb=a0_0x2c64,{CONNECTION_STATUS:_0x1907f5}=await import('../../config/constants.js');expect(_0x1907f5)[_0x2e5dcb(0x1fd)](),expect(_0x1907f5['CONNECTING'])['toBe'](_0x2e5dcb(0x1d9)),expect(_0x1907f5[_0x2e5dcb(0x1f5)])['toBe']('connected'),expect(_0x1907f5[_0x2e5dcb(0x1e5)])['toBe'](_0x2e5dcb(0x201)),expect(_0x1907f5[_0x2e5dcb(0x200)])[_0x2e5dcb(0x20c)]('reconnecting');}),test(_0x44e801(0x1cf),async()=>{const _0x19e289=_0x44e801,{CONNECTION_STATUS:_0x35d851,CONNECTION_STATE:_0x572a94}=await import('../../config/constants.js');expect(_0x35d851)[_0x19e289(0x20c)](_0x572a94);}),test('RECONNECT_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x2627ec=_0x44e801,{RECONNECT_CONFIG:_0xc53a63}=await import(_0x2627ec(0x1da));expect(_0xc53a63)['toBeDefined'](),expect(_0xc53a63['INITIAL_DELAY'])['toBeDefined'](),expect(_0xc53a63[_0x2627ec(0x1dd)])['toBeDefined'](),expect(_0xc53a63[_0x2627ec(0x20a)])['toBeDefined'](),expect(_0xc53a63[_0x2627ec(0x1fb)])['toBeDefined']();}),test(_0x44e801(0x1e9),async()=>{const _0x42d92a=_0x44e801,{RECONNECT_CONFIG:_0x5d58f1}=await import(_0x42d92a(0x1da));expect(_0x5d58f1['INITIAL_DELAY'])[_0x42d92a(0x1d7)](0x0),expect(_0x5d58f1['MAX_DELAY'])['toBeGreaterThan'](_0x5d58f1['INITIAL_DELAY']),expect(_0x5d58f1[_0x42d92a(0x20a)])[_0x42d92a(0x1d7)](0x1),expect(_0x5d58f1['MAX_ATTEMPTS'])['toBeGreaterThan'](0x0);});}),describe(a0_0x6522d9(0x1d8),()=>{const _0x1b0f6d=a0_0x6522d9;test(_0x1b0f6d(0x1f2),async()=>{const _0x4e38fd=_0x1b0f6d,{useConnection:_0x4c9ee3}=await import('../../state/useConnection.js'),{SessionManager:_0x9b3463}=await import('../../api/session.js'),{WebSocketManager:_0x61dd3a}=await import(_0x4e38fd(0x1ff)),_0x56b721=new _0x9b3463('localhost',0x1f90),_0x31a38d=new _0x61dd3a(_0x4e38fd(0x1f0),0x1f90);expect(_0x56b721)['toBeDefined'](),expect(_0x31a38d)[_0x4e38fd(0x1fd)](),expect(typeof _0x4c9ee3)['toBe'](_0x4e38fd(0x1db));}),test('Full connection stack can be imported together',async()=>{const _0x394c5c=_0x1b0f6d,[_0x479688,_0x3a380e,_0xd68ded,_0x525c04]=await Promise['all']([import(_0x394c5c(0x1da)),import('../../api/session.js'),import(_0x394c5c(0x1ff)),import(_0x394c5c(0x1e8))]);expect(_0x479688[_0x394c5c(0x1eb)])[_0x394c5c(0x1fd)](),expect(_0x479688['RECONNECT_CONFIG'])['toBeDefined'](),expect(_0x3a380e['SessionManager'])['toBeDefined'](),expect(_0xd68ded[_0x394c5c(0x1fa)])['toBeDefined'](),expect(_0x525c04[_0x394c5c(0x1f4)])['toBeDefined']();});}),describe(a0_0x6522d9(0x1f1),()=>{test('useConnection\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x377feb=a0_0x2c64,{useConnection:_0x13c09b}=await import(_0x377feb(0x1e8));expect(_0x13c09b['length'])[_0x377feb(0x20c)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0x4a9935=a0_0x6522d9;test(_0x4a9935(0x1ea),async()=>{const _0x2349de=_0x4a9935,{CONNECTION_STATUS:_0x383465}=await import('../../config/constants.js');expect(typeof _0x383465[_0x2349de(0x1f6)])[_0x2349de(0x20c)]('string'),expect(typeof _0x383465['CONNECTED'])['toBe']('string'),expect(typeof _0x383465['DISCONNECTED'])['toBe']('string'),expect(typeof _0x383465['RECONNECTING'])['toBe']('string'),expect(_0x383465['CONNECTING'])[_0x2349de(0x20c)](_0x383465['CONNECTING']['toLowerCase']()),expect(_0x383465[_0x2349de(0x1f5)])['toBe'](_0x383465['CONNECTED'][_0x2349de(0x207)]());}),test(_0x4a9935(0x1ee),async()=>{const _0x33d0fc=_0x4a9935,{CONNECTION_STATUS:_0x486749}=await import(_0x33d0fc(0x1da)),_0x28bf36=Object['keys'](_0x486749);expect(_0x28bf36)['toContain']('CONNECTING'),expect(_0x28bf36)['toContain']('CONNECTED'),expect(_0x28bf36)[_0x33d0fc(0x1f7)](_0x33d0fc(0x1e5)),expect(_0x28bf36)[_0x33d0fc(0x1f7)](_0x33d0fc(0x200));});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{const _0x4b89fe=a0_0x6522d9;test('Exponential\x20backoff\x20delay\x20calculation\x20works\x20correctly',async()=>{const _0x434369=a0_0x2c64,{RECONNECT_CONFIG:_0x62d15}=await import('../../config/constants.js'),_0x524bd7=_0x132622=>{const _0x2c9805=a0_0x2c64;return Math[_0x2c9805(0x1e1)](_0x62d15[_0x2c9805(0x1ed)]*Math[_0x2c9805(0x202)](_0x62d15[_0x2c9805(0x20a)],_0x132622),_0x62d15[_0x2c9805(0x1dd)]);},_0xdbee5c=_0x524bd7(0x0),_0x510ede=_0x524bd7(0x1),_0x58fc8d=_0x524bd7(0x2);expect(_0xdbee5c)[_0x434369(0x20c)](_0x62d15[_0x434369(0x1ed)]),expect(_0x510ede)['toBeGreaterThan'](_0xdbee5c),expect(_0x58fc8d)[_0x434369(0x1d7)](_0x510ede);}),test(_0x4b89fe(0x1f3),async()=>{const _0x370d72=_0x4b89fe,{RECONNECT_CONFIG:_0x3e1688}=await import(_0x370d72(0x1da)),_0x3ab039=_0x401d9d=>{const _0x1fe640=_0x370d72;return Math[_0x1fe640(0x1e1)](_0x3e1688[_0x1fe640(0x1ed)]*Math[_0x1fe640(0x202)](_0x3e1688['BACKOFF_MULTIPLIER'],_0x401d9d),_0x3e1688[_0x1fe640(0x1dd)]);},_0xe720ce=_0x3ab039(0x64);expect(_0xe720ce)[_0x370d72(0x20c)](_0x3e1688[_0x370d72(0x1dd)]),expect(_0xe720ce)['toBeLessThanOrEqual'](_0x3e1688[_0x370d72(0x1dd)]);});}),describe(a0_0x6522d9(0x1f8),()=>{const _0x475066=a0_0x6522d9;test('Session\x20state\x20should\x20track\x20validity',async()=>{const _0x1616d7=a0_0x2c64;let _0x37fa4e=null,_0x8bf898=![],_0x33a2d1=null;_0x37fa4e='test-session-123',_0x8bf898=!![],_0x33a2d1=Date[_0x1616d7(0x1df)]()+0x36ee80,expect(_0x37fa4e)['toBeDefined'](),expect(_0x8bf898)['toBe'](!![]),expect(_0x33a2d1)[_0x1616d7(0x1d7)](Date[_0x1616d7(0x1df)]());}),test(_0x475066(0x209),async()=>{const _0x143e24=_0x475066;let _0x17c88a=_0x143e24(0x1d0),_0x46711c=!![];_0x17c88a=null,_0x46711c=![],expect(_0x17c88a)[_0x143e24(0x1e7)](),expect(_0x46711c)['toBe'](![]);});}),describe(a0_0x6522d9(0x1d3),()=>{test('Connection\x20uptime\x20can\x20be\x20tracked',async()=>{const _0x540b07=a0_0x2c64,_0x38510a=Date['now']();await new Promise(_0x3c7065=>setTimeout(_0x3c7065,0x64));const _0x450eb5=Date[_0x540b07(0x1df)]()-_0x38510a;expect(_0x450eb5)[_0x540b07(0x1d7)](0x0),expect(_0x450eb5)['toBeGreaterThanOrEqual'](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x41031c=a0_0x2c64,_0x1065a7=Date['now']();await new Promise(_0x54ecf5=>setTimeout(_0x54ecf5,0x32));const _0x5e858c=Date['now']();expect(_0x1065a7)[_0x41031c(0x1fd)](),expect(_0x5e858c)['toBeDefined'](),expect(_0x5e858c)[_0x41031c(0x1d7)](_0x1065a7);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{const _0xcb2c69=a0_0x2c64;let _0x3aa03d=0x0;_0x3aa03d+=0x1,expect(_0x3aa03d)[_0xcb2c69(0x20c)](0x1),_0x3aa03d+=0x1,expect(_0x3aa03d)[_0xcb2c69(0x20c)](0x2),_0x3aa03d=0x0,expect(_0x3aa03d)['toBe'](0x0);});}),describe('Connection\x20Management\x20-\x20Connection\x20Status\x20Transitions',()=>{const _0x3bc339=a0_0x6522d9;test(_0x3bc339(0x1ef),async()=>{const _0x4ae5c8=_0x3bc339,{CONNECTION_STATUS:_0x4c46a5}=await import(_0x4ae5c8(0x1da));let _0x56c145=_0x4c46a5['DISCONNECTED'];expect(_0x56c145)[_0x4ae5c8(0x20c)]('disconnected'),_0x56c145=_0x4c46a5['CONNECTING'],expect(_0x56c145)['toBe']('connecting'),_0x56c145=_0x4c46a5[_0x4ae5c8(0x1f5)],expect(_0x56c145)['toBe'](_0x4ae5c8(0x1d2)),_0x56c145=_0x4c46a5[_0x4ae5c8(0x1e5)],expect(_0x56c145)['toBe'](_0x4ae5c8(0x201)),_0x56c145=_0x4c46a5[_0x4ae5c8(0x200)],expect(_0x56c145)[_0x4ae5c8(0x20c)](_0x4ae5c8(0x1e4)),_0x56c145=_0x4c46a5['CONNECTED'],expect(_0x56c145)[_0x4ae5c8(0x20c)](_0x4ae5c8(0x1d2));});}),describe(a0_0x6522d9(0x1fc),()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0xcebf5=a0_0x2c64,{WebSocketManager:_0x40d9f3}=await import(_0xcebf5(0x1ff)),_0x3884c5=new _0x40d9f3('localhost',0x1f90);expect(_0x3884c5['on'])['toBeDefined'](),expect(_0x3884c5['off'])['toBeDefined'](),expect(typeof _0x3884c5['on'])['toBe']('function'),expect(typeof _0x3884c5[_0xcebf5(0x1dc)])[_0xcebf5(0x20c)](_0xcebf5(0x1db));});}),describe(a0_0x6522d9(0x1e3),()=>{test('Reconnection\x20should\x20stop\x20after\x20max\x20attempts',async()=>{const _0x22408c=a0_0x2c64,{RECONNECT_CONFIG:_0x29f941}=await import(_0x22408c(0x1da));let _0x41e8d6=0x0;for(let _0x41055f=0x0;_0x41055f<_0x29f941['MAX_ATTEMPTS']+0x5;_0x41055f++){if(_0x41e8d6<_0x29f941[_0x22408c(0x1fb)])_0x41e8d6+=0x1;else break;}expect(_0x41e8d6)[_0x22408c(0x20c)](_0x29f941[_0x22408c(0x1fb)]),expect(_0x41e8d6)[_0x22408c(0x1ce)](_0x29f941['MAX_ATTEMPTS']);});}),describe(a0_0x6522d9(0x1d5),()=>{const _0x4b22ad=a0_0x6522d9;test(_0x4b22ad(0x1d4),async()=>{const _0x2050a3=_0x4b22ad,{CONNECTION_STATUS:_0x40ec2e}=await import('../../config/constants.js'),_0x2b7ea0={'status':_0x40ec2e[_0x2050a3(0x1f5)],'isConnected':!![],'isReconnecting':![],'sessionId':_0x2050a3(0x1d0),'sessionValid':!![],'sessionExpiration':Date[_0x2050a3(0x1df)]()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date[_0x2050a3(0x1df)]()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x2b7ea0['status'])[_0x2050a3(0x1fd)](),expect(_0x2b7ea0[_0x2050a3(0x1e2)])['toBe'](!![]),expect(_0x2b7ea0[_0x2050a3(0x1e0)])[_0x2050a3(0x20c)](![]),expect(_0x2b7ea0['sessionId'])['toBeDefined'](),expect(_0x2b7ea0[_0x2050a3(0x1f9)])[_0x2050a3(0x20c)](!![]),expect(_0x2b7ea0[_0x2050a3(0x204)])[_0x2050a3(0x1d7)](0x0);});});
1
+ function a0_0x142e(){const _0x189302=['v2vIu29JA2v0twfUywDLCIbOyxmGzxzLBNqGzw1PDhrLCIbTzxrOB2rZ','nJGXmtu3mhHPCgzWDG','uKvdt05orunusu5h','nZi1nZy5mfftAKPTEq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','uKvdt05orunux0nptKzjrYbJB25ZDgfUDhmGyxjLigrLzMLUzwq','qKfds09grL9nvuXusvbmsuvs','v2vIu29JA2v0twfUywDLCG','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbjBMzV','ndy4mtu4nhbLEK1Hsa','Dg9mB3DLCKnHC2u','mZmYmZG1nxLoBNzsvq','mJa0vgTws0jb','odi5ntjYCvzRtuC','zgLZy29UBMvJDgvK','Dg9czuXLC3nuAgfUt3jfCxvHBa','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieLUDgvNCMf0Aw9U','Dg9dB250ywLU','mtm3mZmZC01SBwz1','Dg9czuDYzwf0zxjuAgfU','CMvJB25Uzwn0Aw5N','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu3rHDhvZifzHBhvLCW','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','Dg9czq','zgvMyxvSDa','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','Bg9JywXOB3n0','DgvZDc1ZzxnZAw9UlteYmW','lI4VlI4VyxbPl3nLC3nPB24UANm','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','BM93','AxndB25Uzwn0zwq','mZnwtuXfqvK','u2vZC2LVBIbZDgf0zsbZAg91BgqGDhjHy2SGDMfSAwrPDhK','mtq5ntzys3nnt0W','u2vZC2LVBK1HBMfNzxi','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbtDgf0DxmGvhjHBNnPDgLVBNm','su5jveLbtf9eruXbwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbnzxrYAwnZ','uMvJB25Uzwn0Aw9UihnOB3vSzcbZDg9WigfMDgvYig1HEcbHDhrLBxb0CW','C3rYAw5N','ntaXDNbPzvzP','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','nfb2z3rrAq','zNvUy3rPB24','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','q09otKvdveLorW','BwLU','y29UBMvJDgvK','tufyx0rftefz','DxnLq29UBMvJDgLVBIbYzxr1CM5Zigv4CgvJDgvKigLUDgvYzMfJzsbZAgfWzq','tufyx0fuvevnufrt','q29UBMvJDgLVBIb1ChrPBwuGy2fUigjLihrYywnRzwq','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','q09otKvdveve','Dg9czurLzMLUzwq','Cg93'];a0_0x142e=function(){return _0x189302;};return a0_0x142e();}const a0_0x1608cc=a0_0x6c50;function a0_0x6c50(_0x47c465,_0x4c56b2){_0x47c465=_0x47c465-0xfd;const _0x142e22=a0_0x142e();let _0x6c50bf=_0x142e22[_0x47c465];if(a0_0x6c50['jrLKFp']===undefined){var _0x249ffa=function(_0x12c48f){const _0x4fefa3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57d63f='',_0x354d81='';for(let _0x18384d=0x0,_0x185f6a,_0x37eac3,_0x131802=0x0;_0x37eac3=_0x12c48f['charAt'](_0x131802++);~_0x37eac3&&(_0x185f6a=_0x18384d%0x4?_0x185f6a*0x40+_0x37eac3:_0x37eac3,_0x18384d++%0x4)?_0x57d63f+=String['fromCharCode'](0xff&_0x185f6a>>(-0x2*_0x18384d&0x6)):0x0){_0x37eac3=_0x4fefa3['indexOf'](_0x37eac3);}for(let _0x5e8deb=0x0,_0x5c3e77=_0x57d63f['length'];_0x5e8deb<_0x5c3e77;_0x5e8deb++){_0x354d81+='%'+('00'+_0x57d63f['charCodeAt'](_0x5e8deb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x354d81);};a0_0x6c50['siDmdf']=_0x249ffa,a0_0x6c50['rNyHla']={},a0_0x6c50['jrLKFp']=!![];}const _0x4d3525=_0x142e22[0x0],_0x1ad7f3=_0x47c465+_0x4d3525,_0x277c17=a0_0x6c50['rNyHla'][_0x1ad7f3];return!_0x277c17?(_0x6c50bf=a0_0x6c50['siDmdf'](_0x6c50bf),a0_0x6c50['rNyHla'][_0x1ad7f3]=_0x6c50bf):_0x6c50bf=_0x277c17,_0x6c50bf;}(function(_0x185609,_0x57b725){const _0x237f37=a0_0x6c50,_0x5b5ba5=_0x185609();while(!![]){try{const _0x2368d4=parseInt(_0x237f37(0x114))/0x1+-parseInt(_0x237f37(0x129))/0x2*(-parseInt(_0x237f37(0x130))/0x3)+parseInt(_0x237f37(0x133))/0x4*(-parseInt(_0x237f37(0x112))/0x5)+-parseInt(_0x237f37(0x113))/0x6*(parseInt(_0x237f37(0x119))/0x7)+-parseInt(_0x237f37(0x110))/0x8+-parseInt(_0x237f37(0x10a))/0x9+-parseInt(_0x237f37(0x108))/0xa*(-parseInt(_0x237f37(0x127))/0xb);if(_0x2368d4===_0x57b725)break;else _0x5b5ba5['push'](_0x5b5ba5['shift']());}catch(_0x1e0726){_0x5b5ba5['push'](_0x5b5ba5['shift']());}}}(a0_0x142e,0x9f230));import{describe,test,expect}from'@jest/globals';describe('Connection\x20Management\x20-\x20Imports',()=>{test('useConnection hook can be imported',async()=>{const _0x3d79c=a0_0x6c50,{useConnection:_0x57d63f}=await import('../../state/useConnection.js');expect(_0x57d63f)[_0x3d79c(0x105)](),expect(typeof _0x57d63f)[_0x3d79c(0x11e)]('function');}),test('useConnection is default export',async()=>{const _0xa42eef=a0_0x6c50,module=await import(_0xa42eef(0x135));expect(module['default'])['toBeDefined'](),expect(typeof module['default'])[_0xa42eef(0x11e)](_0xa42eef(0x134)),expect(module[_0xa42eef(0x11f)])[_0xa42eef(0x11e)](module['useConnection']);});}),describe(a0_0x1608cc(0x10b),()=>{const _0xe6abd5=a0_0x1608cc;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x5f3131=a0_0x6c50,{CONNECTION_STATUS:_0x354d81}=await import(_0x5f3131(0x131));expect(_0x354d81)[_0x5f3131(0x105)](),expect(_0x354d81['CONNECTING'])[_0x5f3131(0x11e)]('connecting'),expect(_0x354d81['CONNECTED'])[_0x5f3131(0x11e)]('connected'),expect(_0x354d81['DISCONNECTED'])['toBe']('disconnected'),expect(_0x354d81[_0x5f3131(0x109)])[_0x5f3131(0x11e)]('reconnecting');}),test('CONNECTION_STATUS\x20is\x20alias\x20for\x20CONNECTION_STATE',async()=>{const _0x56de87=a0_0x6c50,{CONNECTION_STATUS:_0x18384d,CONNECTION_STATE:_0x185f6a}=await import(_0x56de87(0x131));expect(_0x18384d)['toBe'](_0x185f6a);}),test(_0xe6abd5(0x10c),async()=>{const _0x4b30ae=_0xe6abd5,{RECONNECT_CONFIG:_0x37eac3}=await import(_0x4b30ae(0x131));expect(_0x37eac3)['toBeDefined'](),expect(_0x37eac3['INITIAL_DELAY'])[_0x4b30ae(0x105)](),expect(_0x37eac3[_0x4b30ae(0xff)])[_0x4b30ae(0x105)](),expect(_0x37eac3[_0x4b30ae(0x10d)])['toBeDefined'](),expect(_0x37eac3[_0x4b30ae(0x101)])['toBeDefined']();}),test('RECONNECT_CONFIG\x20values\x20are\x20reasonable',async()=>{const _0x3ed843=_0xe6abd5,{RECONNECT_CONFIG:_0x131802}=await import('../../config/constants.js');expect(_0x131802[_0x3ed843(0x12c)])['toBeGreaterThan'](0x0),expect(_0x131802['MAX_DELAY'])[_0x3ed843(0x11a)](_0x131802[_0x3ed843(0x12c)]),expect(_0x131802[_0x3ed843(0x10d)])['toBeGreaterThan'](0x1),expect(_0x131802[_0x3ed843(0x101)])['toBeGreaterThan'](0x0);});}),describe(a0_0x1608cc(0x132),()=>{test('useConnection\x20hook\x20integrates\x20with\x20SessionManager\x20and\x20WebSocketManager',async()=>{const _0x3cc92c=a0_0x6c50,{useConnection:_0x5e8deb}=await import('../../state/useConnection.js'),{SessionManager:_0x5c3e77}=await import(_0x3cc92c(0x123)),{WebSocketManager:_0x2c65ff}=await import('../../api/websocket.js'),_0x3595e6=new _0x5c3e77('localhost',0x1f90),_0x4688a7=new _0x2c65ff(_0x3cc92c(0x121),0x1f90);expect(_0x3595e6)['toBeDefined'](),expect(_0x4688a7)[_0x3cc92c(0x105)](),expect(typeof _0x5e8deb)['toBe'](_0x3cc92c(0x134));}),test('Full connection stack can be imported together',async()=>{const _0x1dc470=a0_0x6c50,[_0x301b5a,_0x5dc03f,_0xbd5580,_0x22b0de]=await Promise['all']([import('../../config/constants.js'),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x1dc470(0x135))]);expect(_0x301b5a['CONNECTION_STATUS'])[_0x1dc470(0x105)](),expect(_0x301b5a['RECONNECT_CONFIG'])['toBeDefined'](),expect(_0x5dc03f[_0x1dc470(0x12a)])[_0x1dc470(0x105)](),expect(_0xbd5580[_0x1dc470(0x10e)])[_0x1dc470(0x105)](),expect(_0x22b0de['useConnection'])['toBeDefined']();});}),describe(a0_0x1608cc(0x120),()=>{const _0x36f787=a0_0x1608cc;test(_0x36f787(0x100),async()=>{const _0x1e0bb9=_0x36f787,{useConnection:_0x382da8}=await import('../../state/useConnection.js');expect(_0x382da8['length'])[_0x1e0bb9(0x11e)](0x2);});}),describe(a0_0x1608cc(0x11c),()=>{const _0xac3060=a0_0x1608cc;test(_0xac3060(0x103),async()=>{const _0xc35604=_0xac3060,{CONNECTION_STATUS:_0x16e444}=await import(_0xc35604(0x131));expect(typeof _0x16e444['CONNECTING'])[_0xc35604(0x11e)](_0xc35604(0x12f)),expect(typeof _0x16e444[_0xc35604(0x104)])[_0xc35604(0x11e)](_0xc35604(0x12f)),expect(typeof _0x16e444['DISCONNECTED'])[_0xc35604(0x11e)](_0xc35604(0x12f)),expect(typeof _0x16e444[_0xc35604(0x109)])['toBe']('string'),expect(_0x16e444['CONNECTING'])[_0xc35604(0x11e)](_0x16e444[_0xc35604(0x136)][_0xc35604(0x111)]()),expect(_0x16e444['CONNECTED'])[_0xc35604(0x11e)](_0x16e444['CONNECTED'][_0xc35604(0x111)]());}),test('CONNECTION_STATUS\x20has\x20all\x20required\x20states',async()=>{const _0x520f93=_0xac3060,{CONNECTION_STATUS:_0x4c5dc1}=await import(_0x520f93(0x131)),_0x3400a8=Object['keys'](_0x4c5dc1);expect(_0x3400a8)['toContain']('CONNECTING'),expect(_0x3400a8)['toContain'](_0x520f93(0x104)),expect(_0x3400a8)[_0x520f93(0x118)]('DISCONNECTED'),expect(_0x3400a8)[_0x520f93(0x118)](_0x520f93(0x109));});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{test('Exponential\x20backoff\x20delay\x20calculation\x20works\x20correctly',async()=>{const {RECONNECT_CONFIG:_0x507d97}=await import('../../config/constants.js'),_0x5c00fa=_0x587749=>{const _0x3ae6d8=a0_0x6c50;return Math[_0x3ae6d8(0xfd)](_0x507d97['INITIAL_DELAY']*Math[_0x3ae6d8(0x106)](_0x507d97['BACKOFF_MULTIPLIER'],_0x587749),_0x507d97[_0x3ae6d8(0xff)]);},_0x593323=_0x5c00fa(0x0),_0x57a82c=_0x5c00fa(0x1),_0x54b327=_0x5c00fa(0x2);expect(_0x593323)['toBe'](_0x507d97['INITIAL_DELAY']),expect(_0x57a82c)['toBeGreaterThan'](_0x593323),expect(_0x54b327)['toBeGreaterThan'](_0x57a82c);}),test('Exponential\x20backoff\x20respects\x20max\x20delay',async()=>{const _0x316680=a0_0x6c50,{RECONNECT_CONFIG:_0x5a6f87}=await import(_0x316680(0x131)),_0x4b29b8=_0x490d50=>{const _0x9fbe22=_0x316680;return Math['min'](_0x5a6f87[_0x9fbe22(0x12c)]*Math[_0x9fbe22(0x106)](_0x5a6f87[_0x9fbe22(0x10d)],_0x490d50),_0x5a6f87[_0x9fbe22(0xff)]);},_0x17da08=_0x4b29b8(0x64);expect(_0x17da08)[_0x316680(0x11e)](_0x5a6f87['MAX_DELAY']),expect(_0x17da08)['toBeLessThanOrEqual'](_0x5a6f87[_0x316680(0xff)]);});}),describe('Connection\x20Management\x20-\x20Session\x20State',()=>{const _0xff4458=a0_0x1608cc;test(_0xff4458(0x128),async()=>{const _0x5e0614=_0xff4458;let _0x2541b5=null,_0xa0af32=![],_0xefe261=null;_0x2541b5=_0x5e0614(0x122),_0xa0af32=!![],_0xefe261=Date['now']()+0x36ee80,expect(_0x2541b5)[_0x5e0614(0x105)](),expect(_0xa0af32)['toBe'](!![]),expect(_0xefe261)['toBeGreaterThan'](Date['now']());}),test('Session\x20state\x20should\x20invalidate',async()=>{const _0x2020d4=_0xff4458;let _0x2fd69d='test-session-123',_0x1e0a8a=!![];_0x2fd69d=null,_0x1e0a8a=![],expect(_0x2fd69d)['toBeNull'](),expect(_0x1e0a8a)[_0x2020d4(0x11e)](![]);});}),describe(a0_0x1608cc(0x12d),()=>{const _0x167c71=a0_0x1608cc;test(_0x167c71(0x102),async()=>{const _0x2842ad=_0x167c71,_0x397205=Date['now']();await new Promise(_0x664059=>setTimeout(_0x664059,0x64));const _0x420859=Date[_0x2842ad(0x125)]()-_0x397205;expect(_0x420859)['toBeGreaterThan'](0x0),expect(_0x420859)['toBeGreaterThanOrEqual'](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x13a314=_0x167c71,_0x389271=Date[_0x13a314(0x125)]();await new Promise(_0x1e2bc3=>setTimeout(_0x1e2bc3,0x32));const _0x35149c=Date['now']();expect(_0x389271)[_0x13a314(0x105)](),expect(_0x35149c)['toBeDefined'](),expect(_0x35149c)['toBeGreaterThan'](_0x389271);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{let _0x294449=0x0;_0x294449+=0x1,expect(_0x294449)['toBe'](0x1),_0x294449+=0x1,expect(_0x294449)['toBe'](0x2),_0x294449=0x0,expect(_0x294449)['toBe'](0x0);});}),describe(a0_0x1608cc(0x12b),()=>{test('Connection\x20status\x20transitions\x20follow\x20valid\x20flow',async()=>{const _0x57906f=a0_0x6c50,{CONNECTION_STATUS:_0x3bfb03}=await import('../../config/constants.js');let _0x38ffb6=_0x3bfb03['DISCONNECTED'];expect(_0x38ffb6)[_0x57906f(0x11e)]('disconnected'),_0x38ffb6=_0x3bfb03['CONNECTING'],expect(_0x38ffb6)['toBe']('connecting'),_0x38ffb6=_0x3bfb03[_0x57906f(0x104)],expect(_0x38ffb6)[_0x57906f(0x11e)]('connected'),_0x38ffb6=_0x3bfb03['DISCONNECTED'],expect(_0x38ffb6)['toBe'](_0x57906f(0x115)),_0x38ffb6=_0x3bfb03[_0x57906f(0x109)],expect(_0x38ffb6)['toBe'](_0x57906f(0x11b)),_0x38ffb6=_0x3bfb03['CONNECTED'],expect(_0x38ffb6)[_0x57906f(0x11e)](_0x57906f(0xfe));});}),describe(a0_0x1608cc(0x117),()=>{const _0x522622=a0_0x1608cc;test(_0x522622(0x107),async()=>{const _0x1d1766=_0x522622,{WebSocketManager:_0x3d0c50}=await import(_0x1d1766(0x124)),_0x38965d=new _0x3d0c50('localhost',0x1f90);expect(_0x38965d['on'])[_0x1d1766(0x105)](),expect(_0x38965d['off'])[_0x1d1766(0x105)](),expect(typeof _0x38965d['on'])[_0x1d1766(0x11e)]('function'),expect(typeof _0x38965d['off'])[_0x1d1766(0x11e)](_0x1d1766(0x134));});}),describe('Connection\x20Management\x20-\x20Max\x20Attempts\x20Limit',()=>{const _0x4fdaac=a0_0x1608cc;test(_0x4fdaac(0x12e),async()=>{const _0x4f5095=_0x4fdaac,{RECONNECT_CONFIG:_0x4d4b75}=await import('../../config/constants.js');let _0x3506c1=0x0;for(let _0x134bc0=0x0;_0x134bc0<_0x4d4b75['MAX_ATTEMPTS']+0x5;_0x134bc0++){if(_0x3506c1<_0x4d4b75[_0x4f5095(0x101)])_0x3506c1+=0x1;else break;}expect(_0x3506c1)['toBe'](_0x4d4b75[_0x4f5095(0x101)]),expect(_0x3506c1)[_0x4f5095(0x116)](_0x4d4b75['MAX_ATTEMPTS']);});}),describe(a0_0x1608cc(0x10f),()=>{const _0x2f927b=a0_0x1608cc;test(_0x2f927b(0x11d),async()=>{const _0x3f7443=_0x2f927b,{CONNECTION_STATUS:_0x43f44e}=await import(_0x3f7443(0x131)),_0x2f329f={'status':_0x43f44e[_0x3f7443(0x104)],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date['now']()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date[_0x3f7443(0x125)]()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x2f329f['status'])[_0x3f7443(0x105)](),expect(_0x2f329f[_0x3f7443(0x126)])['toBe'](!![]),expect(_0x2f329f['isReconnecting'])[_0x3f7443(0x11e)](![]),expect(_0x2f329f['sessionId'])['toBeDefined'](),expect(_0x2f329f['sessionValid'])[_0x3f7443(0x11e)](!![]),expect(_0x2f329f['uptime'])['toBeGreaterThan'](0x0);});});
@@ -1 +1 @@
1
- const a0_0x262dab=a0_0x6150;(function(_0x2449de,_0x47e757){const _0x44769d=a0_0x6150,_0x544cb6=_0x2449de();while(!![]){try{const _0x2a4007=parseInt(_0x44769d(0x1be))/0x1+-parseInt(_0x44769d(0x1bc))/0x2*(parseInt(_0x44769d(0x1a4))/0x3)+-parseInt(_0x44769d(0x1ac))/0x4*(parseInt(_0x44769d(0x1b6))/0x5)+-parseInt(_0x44769d(0x1a1))/0x6*(parseInt(_0x44769d(0x1b4))/0x7)+parseInt(_0x44769d(0x1b1))/0x8+parseInt(_0x44769d(0x1a5))/0x9+-parseInt(_0x44769d(0x1aa))/0xa*(-parseInt(_0x44769d(0x1bb))/0xb);if(_0x2a4007===_0x47e757)break;else _0x544cb6['push'](_0x544cb6['shift']());}catch(_0x2c7261){_0x544cb6['push'](_0x544cb6['shift']());}}}(a0_0x18a0,0x359d8));import{describe,test,expect}from'@jest/globals';function a0_0x6150(_0x405e50,_0x2338b8){_0x405e50=_0x405e50-0x1a0;const _0x18a025=a0_0x18a0();let _0x61502b=_0x18a025[_0x405e50];if(a0_0x6150['pcIUBw']===undefined){var _0x4d438f=function(_0x2ca964){const _0x23d438='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x294825='',_0x2151d8='';for(let _0x5815c9=0x0,_0x49ee22,_0x42ee6c,_0x360fe0=0x0;_0x42ee6c=_0x2ca964['charAt'](_0x360fe0++);~_0x42ee6c&&(_0x49ee22=_0x5815c9%0x4?_0x49ee22*0x40+_0x42ee6c:_0x42ee6c,_0x5815c9++%0x4)?_0x294825+=String['fromCharCode'](0xff&_0x49ee22>>(-0x2*_0x5815c9&0x6)):0x0){_0x42ee6c=_0x23d438['indexOf'](_0x42ee6c);}for(let _0x133a61=0x0,_0x26dc18=_0x294825['length'];_0x133a61<_0x26dc18;_0x133a61++){_0x2151d8+='%'+('00'+_0x294825['charCodeAt'](_0x133a61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2151d8);};a0_0x6150['ijJZHs']=_0x4d438f,a0_0x6150['HeDPlX']={},a0_0x6150['pcIUBw']=!![];}const _0x4aad7a=_0x18a025[0x0],_0x1abfd1=_0x405e50+_0x4aad7a,_0x368f08=a0_0x6150['HeDPlX'][_0x1abfd1];return!_0x368f08?(_0x61502b=a0_0x6150['ijJZHs'](_0x61502b),a0_0x6150['HeDPlX'][_0x1abfd1]=_0x61502b):_0x61502b=_0x368f08,_0x61502b;}describe('Phase\x209\x20-\x20Enhanced\x20Components\x20-\x20Imports',()=>{const _0x2d6707=a0_0x6150;test('ErrorBoundary component can be imported',async()=>{const _0x4c250c=a0_0x6150,{ErrorBoundary:_0x294825}=await import(_0x4c250c(0x1ba));expect(_0x294825)['toBeDefined'](),expect(typeof _0x294825)[_0x4c250c(0x1af)](_0x4c250c(0x1b3));},0x7530),test('ErrorBoundary\x20is\x20a\x20class\x20component',async()=>{const _0x5d38cf=a0_0x6150,{ErrorBoundary:_0x2151d8}=await import('../../components/ErrorBoundary.js');expect(_0x2151d8[_0x5d38cf(0x1b7)])[_0x5d38cf(0x1a3)](),expect(typeof _0x2151d8['prototype'][_0x5d38cf(0x1b8)])[_0x5d38cf(0x1af)]('function');}),test('LoadingSpinner component can be imported',async()=>{const _0x4bfd79=a0_0x6150,{LoadingSpinner:_0x5815c9}=await import(_0x4bfd79(0x1ae));expect(_0x5815c9)[_0x4bfd79(0x1a3)](),expect(typeof _0x5815c9)['toBe'](_0x4bfd79(0x1b3));}),test('InlineSpinner component can be imported',async()=>{const _0x3c72b6=a0_0x6150,{InlineSpinner:_0x49ee22}=await import(_0x3c72b6(0x1ae));expect(_0x49ee22)[_0x3c72b6(0x1a3)](),expect(typeof _0x49ee22)['toBe']('function');}),test('LoadingSpinner is default export',async()=>{const _0x56bb5c=a0_0x6150,module=await import('../../components/LoadingSpinner.js');expect(module[_0x56bb5c(0x1b5)])['toBeDefined'](),expect(module[_0x56bb5c(0x1b5)])['toBe'](module[_0x56bb5c(0x1ab)]);}),test(_0x2d6707(0x1bd),async()=>{const _0x502557=_0x2d6707,{InputBox:_0x42ee6c}=await import('../../components/InputBox.js');expect(_0x42ee6c)[_0x502557(0x1a3)](),expect(typeof _0x42ee6c)['toBe'](_0x502557(0x1b3));});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{const _0x29f782=a0_0x6150;test(_0x29f782(0x1b2),async()=>{const _0x5dd310=_0x29f782,{ErrorBoundary:_0x360fe0}=await import('../../components/ErrorBoundary.js'),_0x133a61=await import(_0x5dd310(0x1a9));expect(_0x360fe0['prototype'])[_0x5dd310(0x1a3)](),expect(typeof _0x360fe0['prototype']['render'])[_0x5dd310(0x1af)]('function'),expect(typeof _0x360fe0['prototype'][_0x5dd310(0x1b0)])[_0x5dd310(0x1af)](_0x5dd310(0x1b3));}),test('ErrorBoundary\x20has\x20getDerivedStateFromError\x20static\x20method',async()=>{const _0x14dfed=_0x29f782,{ErrorBoundary:_0x26dc18}=await import(_0x14dfed(0x1ba));expect(typeof _0x26dc18['getDerivedStateFromError'])['toBe'](_0x14dfed(0x1b3));}),test(_0x29f782(0x1a6),async()=>{const _0x453938=_0x29f782,{ErrorBoundary:_0x3aeb7c}=await import('../../components/ErrorBoundary.js');expect(typeof _0x3aeb7c[_0x453938(0x1b7)]['componentDidCatch'])[_0x453938(0x1af)]('function');});}),describe(a0_0x262dab(0x1ad),()=>{const _0x5d9a50=a0_0x262dab;test('LoadingSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x23857d=a0_0x6150,{LoadingSpinner:_0x46803c}=await import('../../components/LoadingSpinner.js');expect(typeof _0x46803c)[_0x23857d(0x1af)](_0x23857d(0x1b3)),expect(_0x46803c[_0x23857d(0x1b7)]?.['render'])[_0x23857d(0x1b9)]();}),test(_0x5d9a50(0x1bf),async()=>{const _0x373b19=_0x5d9a50,{InlineSpinner:_0x2bcf05}=await import('../../components/LoadingSpinner.js');expect(typeof _0x2bcf05)[_0x373b19(0x1af)]('function'),expect(_0x2bcf05[_0x373b19(0x1b7)]?.[_0x373b19(0x1b8)])['toBeUndefined']();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x4ff464=a0_0x6150,_0x4b89fc=await import(_0x4ff464(0x1a8)),_0x53e431=await import('react');expect(_0x53e431[_0x4ff464(0x1a0)])['toBeDefined'](),expect(_0x53e431['useRef'])[_0x4ff464(0x1a3)]();}),test('InputBox component maintains exports',async()=>{const _0x3aade6=a0_0x6150,module=await import(_0x3aade6(0x1a8));expect(module[_0x3aade6(0x1c0)])['toBeDefined'](),expect(module['default'])['toBeDefined'](),expect(module[_0x3aade6(0x1b5)])['toBe'](module['InputBox']);});}),describe('Phase\x209\x20-\x20Integration',()=>{test('All enhanced components can be imported together',async()=>{const _0x1c8781=a0_0x6150,[_0x5cb675,_0x4e1b74,_0x59eda9]=await Promise['all']([import(_0x1c8781(0x1ba)),import(_0x1c8781(0x1ae)),import('../../components/InputBox.js')]);expect(_0x5cb675[_0x1c8781(0x1a2)])[_0x1c8781(0x1a3)](),expect(_0x4e1b74[_0x1c8781(0x1ab)])[_0x1c8781(0x1a3)](),expect(_0x4e1b74['InlineSpinner'])['toBeDefined'](),expect(_0x59eda9['InputBox'])[_0x1c8781(0x1a3)]();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x1f3399=a0_0x6150,_0x1b27dc=await import('react'),_0x5ef0bd=await import('ink');expect(_0x5ef0bd['useInput'])[_0x1f3399(0x1a3)](),expect(typeof _0x5ef0bd['useInput'])['toBe']('function');}),test('Layout component can still be imported after enhancements',async()=>{const _0x3e18b9=a0_0x6150,{Layout:_0x5df237}=await import('../../components/Layout.js');expect(_0x5df237)[_0x3e18b9(0x1a3)](),expect(typeof _0x5df237)['toBe'](_0x3e18b9(0x1b3));});}),describe(a0_0x262dab(0x1a7),()=>{test('InputBox\x20defines\x20MAX_HISTORY\x20constant',async()=>{const _0x45e840=a0_0x6150,module=await import('../../components/InputBox.js');expect(module[_0x45e840(0x1c0)])['toBeDefined']();});});function a0_0x18a0(){const _0xc17933=['lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','Dg9czq','y29TCg9Uzw50rgLKq2f0y2G','mJaXmZK4ngHSwKjwva','rxjYB3jcB3vUzgfYEsbPCYbHifjLywn0ienVBxbVBMvUDcbJBgfZCW','zNvUy3rPB24','mtrkCMX5CNC','zgvMyxvSDa','mJa3ndG1nuvyvK9jCG','ChjVDg90ExbL','CMvUzgvY','Dg9czvvUzgvMAw5Lza','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','otLXAwTkv2C','mtrnD05UD2i','rw5Oyw5JzwqGsw5WDxrcB3GGBwfPBNrHAw5ZigjHy2T3yxjKignVBxbHDgLIAwXPDhK','mJaWndf6uffIv2m','sw5SAw5Lu3bPBM5LCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','sw5WDxrcB3G','DxnLu3rHDgu','mZmWode2BxfTweDR','rxjYB3jcB3vUzgfYEq','Dg9czurLzMLUzwq','mtaZnda3t2jvEKj6','ndG5nZHwzu1YDeC','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','ugHHC2uGosaTievUAgfUy2vKiezLyxr1CMvZic0Gq29UC3rHBNrZ','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','CMvHy3q','nZG3nJCWsu9dzfb3','tg9HzgLUz1nWAw5Uzxi','nejAuurbEa','ugHHC2uGosaTieXVywrPBMDtCgLUBMvYic0Gu3rYDwn0DxjL'];a0_0x18a0=function(){return _0xc17933;};return a0_0x18a0();}
1
+ const a0_0x4cf663=a0_0x4c32;(function(_0x2d1343,_0x50dfe4){const _0x4ccd81=a0_0x4c32,_0x22e2e4=_0x2d1343();while(!![]){try{const _0x32e0b7=parseInt(_0x4ccd81(0xf4))/0x1*(-parseInt(_0x4ccd81(0x103))/0x2)+parseInt(_0x4ccd81(0xfa))/0x3+parseInt(_0x4ccd81(0x10c))/0x4+-parseInt(_0x4ccd81(0x10a))/0x5*(-parseInt(_0x4ccd81(0xfc))/0x6)+-parseInt(_0x4ccd81(0xf8))/0x7+parseInt(_0x4ccd81(0x108))/0x8+parseInt(_0x4ccd81(0x109))/0x9;if(_0x32e0b7===_0x50dfe4)break;else _0x22e2e4['push'](_0x22e2e4['shift']());}catch(_0x34698a){_0x22e2e4['push'](_0x22e2e4['shift']());}}}(a0_0x2f3e,0x5868b));function a0_0x4c32(_0x51d04f,_0xe2fa36){_0x51d04f=_0x51d04f-0xf2;const _0x2f3e00=a0_0x2f3e();let _0x4c3239=_0x2f3e00[_0x51d04f];if(a0_0x4c32['Eqiktz']===undefined){var _0x2979a5=function(_0x1a3976){const _0x5281f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ef3e4='',_0x40d442='';for(let _0x34fe66=0x0,_0x22510d,_0x372ca4,_0xc488b3=0x0;_0x372ca4=_0x1a3976['charAt'](_0xc488b3++);~_0x372ca4&&(_0x22510d=_0x34fe66%0x4?_0x22510d*0x40+_0x372ca4:_0x372ca4,_0x34fe66++%0x4)?_0x3ef3e4+=String['fromCharCode'](0xff&_0x22510d>>(-0x2*_0x34fe66&0x6)):0x0){_0x372ca4=_0x5281f5['indexOf'](_0x372ca4);}for(let _0x26615a=0x0,_0x636c0e=_0x3ef3e4['length'];_0x26615a<_0x636c0e;_0x26615a++){_0x40d442+='%'+('00'+_0x3ef3e4['charCodeAt'](_0x26615a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40d442);};a0_0x4c32['VDeyTl']=_0x2979a5,a0_0x4c32['LEDvyt']={},a0_0x4c32['Eqiktz']=!![];}const _0x478ace=_0x2f3e00[0x0],_0x196c80=_0x51d04f+_0x478ace,_0x4d8b7c=a0_0x4c32['LEDvyt'][_0x196c80];return!_0x4d8b7c?(_0x4c3239=a0_0x4c32['VDeyTl'](_0x4c3239),a0_0x4c32['LEDvyt'][_0x196c80]=_0x4c3239):_0x4c3239=_0x4d8b7c,_0x4c3239;}import{describe,test,expect}from'@jest/globals';function a0_0x2f3e(){const _0x4c76e6=['Dg9czurLzMLUzwq','tg9HzgLUz1nWAw5Uzxi','lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','mZaXnZm5ouDqrfzeuG','tg9HzgLUz1nWAw5UzxiGAxmGysbMDw5JDgLVBIbJB21WB25LBNq','mtmYmZu2mwvvCvzxDq','sw5WDxrcB3G','otaWvLH2sxLT','y29TCg9Uzw50rgLKq2f0y2G','ugHHC2uGosaTievUAgfUy2vKiezLyxr1CMvZic0Gq29UC3rHBNrZ','zNvUy3rPB24','Dg9czq','sw5SAw5Lu3bPBM5LCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','mJyXndu4wgTNu1zI','ugHHC2uGosaTievUAgfUy2vKienVBxbVBMvUDhmGlsbjBxbVCNrZ','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','ywXS','sw5WDxrcB3GGzgvMAw5LCYbnqvHFseLtve9swsbJB25ZDgfUDa','mJe1nte3nK5KvNb4vW','mZmWnJK3ogvbBfnmvq','mta5mfj2rwnAvq','Dg9czvvUzgvMAw5Lza','odiXndGWtfDQyxv1','rw5Oyw5JzwqGsw5WDxrcB3GGBwfPBNrHAw5ZigjHy2T3yxjKignVBxbHDgLIAwXPDhK','ChjVDg90ExbL','z2v0rgvYAxzLzfn0yxrLrNjVBuvYCM9Y','CMvUzgvY','CMvHy3q','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','zgvMyxvSDa','nhDKEvvnwa'];a0_0x2f3e=function(){return _0x4c76e6;};return a0_0x2f3e();}describe(a0_0x4cf663(0x104),()=>{const _0x4493a8=a0_0x4cf663;test('ErrorBoundary component can be imported',async()=>{const _0x317356=a0_0x4c32,{ErrorBoundary:_0x3ef3e4}=await import('../../components/ErrorBoundary.js');expect(_0x3ef3e4)[_0x317356(0xf5)](),expect(typeof _0x3ef3e4)['toBe']('function');},0x7530),test('ErrorBoundary\x20is\x20a\x20class\x20component',async()=>{const _0x323057=a0_0x4c32,{ErrorBoundary:_0x40d442}=await import(_0x323057(0xf2));expect(_0x40d442['prototype'])[_0x323057(0xf5)](),expect(typeof _0x40d442[_0x323057(0x10e)][_0x323057(0x110)])[_0x323057(0x100)]('function');}),test('LoadingSpinner component can be imported',async()=>{const _0x2338c1=a0_0x4c32,{LoadingSpinner:_0x34fe66}=await import('../../components/LoadingSpinner.js');expect(_0x34fe66)[_0x2338c1(0xf5)](),expect(typeof _0x34fe66)['toBe'](_0x2338c1(0xff));}),test('InlineSpinner component can be imported',async()=>{const _0x494aab=a0_0x4c32,{InlineSpinner:_0x22510d}=await import('../../components/LoadingSpinner.js');expect(_0x22510d)['toBeDefined'](),expect(typeof _0x22510d)[_0x494aab(0x100)](_0x494aab(0xff));}),test('LoadingSpinner is default export',async()=>{const _0x4e1330=a0_0x4c32,module=await import(_0x4e1330(0xf7));expect(module[_0x4e1330(0xf3)])[_0x4e1330(0xf5)](),expect(module['default'])['toBe'](module[_0x4e1330(0xf6)]);}),test(_0x4493a8(0x10d),async()=>{const _0x14772f=_0x4493a8,{InputBox:_0x372ca4}=await import(_0x14772f(0x105));expect(_0x372ca4)['toBeDefined'](),expect(typeof _0x372ca4)['toBe']('function');});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{const _0xd9dc9d=a0_0x4cf663;test('ErrorBoundary\x20is\x20a\x20React\x20Component\x20class',async()=>{const _0x1d2eff=a0_0x4c32,{ErrorBoundary:_0xc488b3}=await import(_0x1d2eff(0xf2)),_0x26615a=await import(_0x1d2eff(0x111));expect(_0xc488b3['prototype'])[_0x1d2eff(0xf5)](),expect(typeof _0xc488b3['prototype']['render'])[_0x1d2eff(0x100)](_0x1d2eff(0xff)),expect(typeof _0xc488b3['prototype'][_0x1d2eff(0xfd)])['toBe']('function');}),test('ErrorBoundary\x20has\x20getDerivedStateFromError\x20static\x20method',async()=>{const _0x173311=a0_0x4c32,{ErrorBoundary:_0x636c0e}=await import(_0x173311(0xf2));expect(typeof _0x636c0e[_0x173311(0x10f)])['toBe']('function');}),test(_0xd9dc9d(0x102),async()=>{const _0xd3deb3=_0xd9dc9d,{ErrorBoundary:_0x279eb1}=await import(_0xd3deb3(0xf2));expect(typeof _0x279eb1['prototype'][_0xd3deb3(0xfd)])[_0xd3deb3(0x100)]('function');});}),describe('Phase\x209\x20-\x20LoadingSpinner\x20-\x20Structure',()=>{const _0x5b054d=a0_0x4cf663;test(_0x5b054d(0xf9),async()=>{const _0x1969a6=_0x5b054d,{LoadingSpinner:_0x209658}=await import(_0x1969a6(0xf7));expect(typeof _0x209658)[_0x1969a6(0x100)]('function'),expect(_0x209658['prototype']?.[_0x1969a6(0x110)])[_0x1969a6(0x10b)]();}),test(_0x5b054d(0x101),async()=>{const _0x2b17d5=_0x5b054d,{InlineSpinner:_0x1ef463}=await import(_0x2b17d5(0xf7));expect(typeof _0x1ef463)['toBe'](_0x2b17d5(0xff)),expect(_0x1ef463[_0x2b17d5(0x10e)]?.['render'])['toBeUndefined']();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0xc4ab02=a0_0x4c32,_0x317c84=await import(_0xc4ab02(0x105)),_0x7a3939=await import(_0xc4ab02(0x111));expect(_0x7a3939['useState'])['toBeDefined'](),expect(_0x7a3939['useRef'])['toBeDefined']();}),test('InputBox component maintains exports',async()=>{const _0x685f23=a0_0x4c32,module=await import(_0x685f23(0x105));expect(module[_0x685f23(0xfb)])[_0x685f23(0xf5)](),expect(module[_0x685f23(0xf3)])['toBeDefined'](),expect(module['default'])[_0x685f23(0x100)](module[_0x685f23(0xfb)]);});}),describe('Phase\x209\x20-\x20Integration',()=>{test('All enhanced components can be imported together',async()=>{const _0x3d07fd=a0_0x4c32,[_0x551249,_0x38f98b,_0x100ccb]=await Promise[_0x3d07fd(0x106)]([import('../../components/ErrorBoundary.js'),import(_0x3d07fd(0xf7)),import(_0x3d07fd(0x105))]);expect(_0x551249['ErrorBoundary'])['toBeDefined'](),expect(_0x38f98b[_0x3d07fd(0xf6)])[_0x3d07fd(0xf5)](),expect(_0x38f98b['InlineSpinner'])[_0x3d07fd(0xf5)](),expect(_0x100ccb[_0x3d07fd(0xfb)])['toBeDefined']();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x2e8e90=a0_0x4c32,_0x3c29de=await import('react'),_0x3db66d=await import('ink');expect(_0x3db66d['useInput'])[_0x2e8e90(0xf5)](),expect(typeof _0x3db66d['useInput'])['toBe'](_0x2e8e90(0xff));}),test('Layout component can still be imported after enhancements',async()=>{const _0x505646=a0_0x4c32,{Layout:_0x53c7f4}=await import('../../components/Layout.js');expect(_0x53c7f4)[_0x505646(0xf5)](),expect(typeof _0x53c7f4)['toBe']('function');});}),describe(a0_0x4cf663(0xfe),()=>{const _0x15b80a=a0_0x4cf663;test(_0x15b80a(0x107),async()=>{const _0x2d4c80=_0x15b80a,module=await import('../../components/InputBox.js');expect(module[_0x2d4c80(0xfb)])['toBeDefined']();});});