@loxia-labs/loxia-autopilot-one 1.0.11 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/bin/cli.js +1 -1
  2. package/bin/loxia-terminal-v2.js +1 -1
  3. package/bin/loxia-terminal.js +1 -1
  4. package/bin/start-with-terminal.js +1 -1
  5. package/package.json +1 -2
  6. package/scripts/install-scanners.js +1 -1
  7. package/src/analyzers/CSSAnalyzer.js +1 -1
  8. package/src/analyzers/ConfigValidator.js +1 -1
  9. package/src/analyzers/ESLintAnalyzer.js +1 -1
  10. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  11. package/src/analyzers/PrettierFormatter.js +1 -1
  12. package/src/analyzers/PythonAnalyzer.js +1 -1
  13. package/src/analyzers/SecurityAnalyzer.js +1 -1
  14. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  15. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  17. package/src/analyzers/codeCloneDetector/index.js +1 -1
  18. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  19. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  20. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  21. package/src/core/agentPool.js +1 -1
  22. package/src/core/agentScheduler.js +1 -1
  23. package/src/core/contextManager.js +1 -1
  24. package/src/core/messageProcessor.js +1 -1
  25. package/src/core/orchestrator.js +1 -1
  26. package/src/core/stateManager.js +1 -1
  27. package/src/index.js +1 -1
  28. package/src/interfaces/cli.js +1 -1
  29. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  38. package/src/interfaces/terminal/api/apiClient.js +1 -1
  39. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  40. package/src/interfaces/terminal/api/session.js +1 -1
  41. package/src/interfaces/terminal/api/websocket.js +1 -1
  42. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  43. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  44. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  45. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  47. package/src/interfaces/terminal/components/Header.js +1 -1
  48. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  49. package/src/interfaces/terminal/components/InputBox.js +1 -1
  50. package/src/interfaces/terminal/components/Layout.js +1 -1
  51. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  52. package/src/interfaces/terminal/components/MessageList.js +1 -1
  53. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  54. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  55. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  56. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  57. package/src/interfaces/terminal/components/TextInput.js +1 -1
  58. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  59. package/src/interfaces/terminal/config/constants.js +1 -1
  60. package/src/interfaces/terminal/index.js +1 -1
  61. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  62. package/src/interfaces/terminal/state/useAgents.js +1 -1
  63. package/src/interfaces/terminal/state/useConnection.js +1 -1
  64. package/src/interfaces/terminal/state/useMessages.js +1 -1
  65. package/src/interfaces/terminal/state/useTools.js +1 -1
  66. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  67. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  68. package/src/interfaces/terminal/utils/theme.js +1 -1
  69. package/src/interfaces/webServer.js +1 -1
  70. package/src/modules/fileExplorer/controller.js +1 -1
  71. package/src/modules/fileExplorer/index.js +1 -1
  72. package/src/modules/fileExplorer/middleware.js +1 -1
  73. package/src/modules/fileExplorer/routes.js +1 -1
  74. package/src/services/aiService.js +1 -1
  75. package/src/services/apiKeyManager.js +1 -1
  76. package/src/services/benchmarkService.js +1 -1
  77. package/src/services/budgetService.js +1 -1
  78. package/src/services/contextInjectionService.js +1 -1
  79. package/src/services/conversationCompactionService.js +1 -1
  80. package/src/services/errorHandler.js +1 -1
  81. package/src/services/fileAttachmentService.js +1 -1
  82. package/src/services/modelRouterService.js +1 -1
  83. package/src/services/modelsService.js +1 -1
  84. package/src/services/qualityInspector.js +1 -1
  85. package/src/services/tokenCountingService.js +1 -1
  86. package/src/tools/agentCommunicationTool.js +1 -1
  87. package/src/tools/agentDelayTool.js +1 -1
  88. package/src/tools/asyncToolManager.js +1 -1
  89. package/src/tools/baseTool.js +1 -1
  90. package/src/tools/browserTool.js +1 -1
  91. package/src/tools/cloneDetectionTool.js +1 -1
  92. package/src/tools/dependencyResolverTool.js +1 -1
  93. package/src/tools/fileContentReplaceTool.js +1 -1
  94. package/src/tools/fileSystemTool.js +1 -1
  95. package/src/tools/fileTreeTool.js +1 -1
  96. package/src/tools/imageTool.js +1 -1
  97. package/src/tools/importAnalyzerTool.js +1 -1
  98. package/src/tools/jobDoneTool.js +1 -1
  99. package/src/tools/seekTool.js +1 -1
  100. package/src/tools/staticAnalysisTool.js +1 -1
  101. package/src/tools/taskManagerTool.js +1 -1
  102. package/src/tools/terminalTool.js +1 -1
  103. package/src/tools/webTool.js +1 -1
  104. package/src/types/agent.js +1 -1
  105. package/src/types/contextReference.js +1 -1
  106. package/src/types/conversation.js +1 -1
  107. package/src/types/toolCommand.js +1 -1
  108. package/src/utilities/attachmentValidator.js +1 -1
  109. package/src/utilities/configManager.js +1 -1
  110. package/src/utilities/constants.js +1 -1
  111. package/src/utilities/directoryAccessManager.js +1 -1
  112. package/src/utilities/fileProcessor.js +1 -1
  113. package/src/utilities/logger.js +1 -1
  114. package/src/utilities/tagParser.js +1 -1
  115. package/src/utilities/toolConstants.js +1 -1
  116. package/src/utilities/userDataDir.js +1 -0
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-C5X7qBNF.js → index-DXN850Y2.js} +69 -65
  119. package/web-ui/build/static/index-an-YRzUX.css +1 -0
  120. package/web-ui/build/static/index-g2UFuTwG.css +0 -1
@@ -1 +1 @@
1
- function a0_0x1faa(){const _0xf810ed=['4PYfiefNzw50ihjLC3vTzwqGC3vJy2vZC2z1BgX5','y3vYCMvUDefNzw50','icaGtw9KzwW6ia','C3vJy2vZCW','icaGuMvHC29UoIa','Aw5PDgLHBgL6zq','8j+tPcbtzw5KAw5NihrVigfNzw50lI4U','q0Xj','8j+KLIbbz2vUDcbYzxnWB25ZztO','nZa3mJK4uuThExbc','icaVAgvSCcaGicaGicaGicaGicaGicaGlsbtAg93ihrOAxmGAgvSCcbTzxnZywDL','ndbPsgDjvKu','Dg9ju09tDhjPBMC','icaVCgf1C2uGpgfNzw50lwLKpIaGicaTifbHDxnLigfUigfNzw50','teLtvf9br0vovfm','Bg9N','y3jLyxrLqwDLBNq','zxjYB3i','icaGicbnB2rLBdOG','mtjuwMTprKC','ChvZAa','AgfUzgXLsw5WDxq','zxHPDa','C2v0uhjVBxb0','icaGicbtDgf0Dxm6ia','CMvZDwX0','icaGu2vZC2LVBIbjrdOG','icaGq3vYCMvUDcbbz2vUDdOG','C2HVD1n0yxr1CW','4P2mifvZywDLoIaVCMvZDw1LidXHz2vUDc1Pzd4','AgLZDg9YEvnPEMu','mtuZmZmWodrvDKHYuvC','4P2mifn3AxrJAcbHz2vUDcbJB21Tyw5KigzHAwXLzdO','yw50AhjVCgLJlxnVBM5LDa','mtbRq29nuMW','mtfruu5YEhC','lIbB','y29UzMLN','C2HVD1DLBgnVBwu','8j+tRsboBYbHz2vUDhmGy3jLyxrLzcb5zxq','8j+oRYbxzwXJB21LihrVieXVEgLHief1Dg9WAwXVDcbpBMuGq0Xj','BgvUz3rO','ihnLy29Uzhm','zgf0yq','yNjVD3nLCG','B3jJAgvZDhjHDg9Y','C3rHDhvZ','y29TBwfUza','icaGqwDLBNrZoIa','4P2mifvZywDLoIaVC3DPDgnOidXHz2vUDc1Pzd4','vhLWzsaVAgvSCcbMB3iGyxzHAwXHyMXLignVBw1HBMrZ','8j+tNcbdB21Tyw5KieHPC3rVCNK6','z2v0uhjVBxb0','4P2miezHAwXLzcb0BYbSAxn0igfNzw50CZO','CMvZDw1LqwDLBNq','y2XLyxjty3jLzw4','zMLSzxn5C3rLBq','C3rKB3v0','4P2mienYzwf0zsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','y2XVC2u','BM93','BwvZC2fNzq','C3rHCNrZv2L0Aa','yMLUza','icaVC3rHDhvZicaGicaGicaGicaGicaTifnOB3CGC3LZDgvTihn0yxr1CW','iIb3AxrOig1VzgvSia','mtqXmJu5mJH0yM90tKm','lI4U','cVcFLkCGvg9VBcbLEgvJDxrPB24GCMvZDwX0CZO','u0vorf9nrvntquDf','y3DK','C2vZC2LVBKLK','y3vYCMvUDe1VzgvS','4P2miezHAwXLzcb0BYbNzxqGC3rHDhvZoG','mtiXmZqZnJbzqxverMK','y29UDgvUDa','icH1BNrPBca','AxnqyxvZzwq','y29TBwfUzeHPC3rVCNK','icaGicbnzxnZywDLCZOG','Bg9Nz2vY','4P2miefNzw50ihjLC3bVBNnLigzHAwXLzdO','icaVzxHPDcbVCIaVCxvPDcaGicaGicaTiev4AxqGDgHLienmsq','Dg9VBfjLC3vSDhm','ww91igfYzsa','icaG','AxnsDw5UAw5N','nZqZndq5mZj3vfvAs00','cIHuBYbLEgL0lcb0ExbLicjLEgL0iIbVCIbWCMvZCYbdDhjSk0mGywDHAw4P','4P2miezHAwXLzcb0BYbJCMvHDguGywDLBNq6','C2vUze1LC3nHz2vuB0fNzw50','ywDLBNrKzwXHEq','8j+uQcbdCMvHDgLUzYbHz2vUDcaI','ywDLBNrZ','uKvtvu1fx0fhru5u','8j+tIIbtExn0zw0Gu3rHDhvZoG','ChjVy2vZC0LUChv0','4P2mifjLC3vTzsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','C2HVD0HPC3rVCNK','4P2mifn0yxr1CYbJB21Tyw5KigzHAwXLzdO','lcbHBIbbssbHC3nPC3rHBNqGy3jLyxrLzcbPBIb0AguGtg94AweGqxv0B3bPBg90ie9UzsbZExn0zw0UifLVDsbJyw4GAgvSCcb3AxrOignVzgLUzYWGyw5HBhLZAxmSigfUzcb2yxjPB3vZihrHC2TZihvZAw5NihrOzsbHDMfPBgfIBguGDg9VBhmU','icaGvhLWzsaVy3jLyxrLidXUyw1LpIb0BYbJCMvHDguGEw91CIbMAxjZDcbHz2vUDa','4P2mifvZywDLoIaVCgf1C2uGpgfNzw50lwLKpIbBzhvYyxrPB25DifTYzwfZB25D','ChjVy2vZC1jLCxvLC3q','C2HVD0HLBha','BgLZDefNzw50CW','C2XPy2u','mteZmZG0mezLC2PZrq','mtmXnunPt0HMyG','icaVC3DPDgnOidXHz2vUDc1Pzd4GicaTifn3AxrJAcb0BYbKAwzMzxjLBNqGywDLBNq','ChjVBxb0','4P2miezHAwXLzcb0BYbZzw5Kig1LC3nHz2u6','C3rKAw4','C3DPDgnOqwDLBNq','Cgf1C2vKvw50AwW','C2H1DgrVD24','BMfTzq','8j+KLIbbDMfPBgfIBguGqwDLBNrZoG','mJa2nMfbtNjyBW','tM9Uzq','icaGvhLWzsaVAgvSCcbMB3iGyxzHAwXHyMXLignVBw1HBMrZ','DgLTzxn0yw1W','q0XjignVBw1HBMqGzxjYB3i','y29TBwfUzhm'];a0_0x1faa=function(){return _0xf810ed;};return a0_0x1faa();}const a0_0xed480f=a0_0xbb6b;(function(_0x3375a4,_0x477229){const _0x55be46=a0_0xbb6b,_0x263ede=_0x3375a4();while(!![]){try{const _0x2bb46d=parseInt(_0x55be46(0xc1))/0x1*(-parseInt(_0x55be46(0xcb))/0x2)+-parseInt(_0x55be46(0xe4))/0x3*(parseInt(_0x55be46(0xc0))/0x4)+-parseInt(_0x55be46(0xdc))/0x5*(parseInt(_0x55be46(0xda))/0x6)+-parseInt(_0x55be46(0x9f))/0x7+-parseInt(_0x55be46(0x97))/0x8+-parseInt(_0x55be46(0xf0))/0x9*(-parseInt(_0x55be46(0xf3))/0xa)+parseInt(_0x55be46(0xf4))/0xb*(parseInt(_0x55be46(0xac))/0xc);if(_0x2bb46d===_0x477229)break;else _0x263ede['push'](_0x263ede['shift']());}catch(_0x18d0c6){_0x263ede['push'](_0x263ede['shift']());}}}(a0_0x1faa,0xeb7d7));import a0_0x1351d6 from'readline';function a0_0xbb6b(_0x507a72,_0x5ec4ef){_0x507a72=_0x507a72-0x81;const _0x1faa0c=a0_0x1faa();let _0xbb6b69=_0x1faa0c[_0x507a72];if(a0_0xbb6b['bHiZvd']===undefined){var _0x4995fe=function(_0x4ca2d1){const _0x1ffe88='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1351d6='',_0x1538f7='';for(let _0x48cbea=0x0,_0xb91949,_0x110f19,_0x203f36=0x0;_0x110f19=_0x4ca2d1['charAt'](_0x203f36++);~_0x110f19&&(_0xb91949=_0x48cbea%0x4?_0xb91949*0x40+_0x110f19:_0x110f19,_0x48cbea++%0x4)?_0x1351d6+=String['fromCharCode'](0xff&_0xb91949>>(-0x2*_0x48cbea&0x6)):0x0){_0x110f19=_0x1ffe88['indexOf'](_0x110f19);}for(let _0xd48ea7=0x0,_0x45aa1f=_0x1351d6['length'];_0xd48ea7<_0x45aa1f;_0xd48ea7++){_0x1538f7+='%'+('00'+_0x1351d6['charCodeAt'](_0xd48ea7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1538f7);};a0_0xbb6b['tifDBx']=_0x4995fe,a0_0xbb6b['JsDhjI']={},a0_0xbb6b['bHiZvd']=!![];}const _0x561938=_0x1faa0c[0x0],_0x3fecc1=_0x507a72+_0x561938,_0x28b9e8=a0_0xbb6b['JsDhjI'][_0x3fecc1];return!_0x28b9e8?(_0xbb6b69=a0_0xbb6b['tifDBx'](_0xbb6b69),a0_0xbb6b['JsDhjI'][_0x3fecc1]=_0xbb6b69):_0xbb6b69=_0x28b9e8,_0xbb6b69;}import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS}from'../utilities/constants.js';class CLIInterface{constructor(_0x1538f7,_0x48cbea,_0xb91949={}){const _0x10f229=a0_0xbb6b;this[_0x10f229(0x82)]=_0x1538f7,this[_0x10f229(0xa5)]=_0x48cbea,this[_0x10f229(0xf6)]=_0xb91949,this['rl']=null,this['sessionId']='cli-'+Date[_0x10f229(0x91)](),this[_0x10f229(0xd2)]=null,this[_0x10f229(0xab)]=![],this[_0x10f229(0xef)]=_0xb91949[_0x10f229(0xef)]||0x3e8,this['commandHistory']=[],this[_0x10f229(0xd0)]={'help':this[_0x10f229(0xbd)]['bind'](this),'exit':this[_0x10f229(0xe7)][_0x10f229(0x94)](this),'quit':this['exit'][_0x10f229(0x94)](this),'status':this[_0x10f229(0xed)][_0x10f229(0x94)](this),'agents':this[_0x10f229(0xbe)]['bind'](this),'create':this[_0x10f229(0xe1)][_0x10f229(0x94)](this),'switch':this['switchAgent'][_0x10f229(0x94)](this),'pause':this['pauseAgent']['bind'](this),'resume':this['resumeAgent']['bind'](this),'clear':this[_0x10f229(0x8c)][_0x10f229(0x94)](this),'history':this['showHistory']['bind'](this)};}async[a0_0xed480f(0xd6)](){const _0xa5378d=a0_0xed480f;this['rl']=a0_0x1351d6['createInterface']({'input':process[_0xa5378d(0xc5)],'output':process[_0xa5378d(0x8e)],'prompt':this['getPrompt'](),'historySize':this[_0xa5378d(0xef)]}),this['rl']['on']('line',this[_0xa5378d(0xe6)][_0xa5378d(0x94)](this)),this['rl']['on'](_0xa5378d(0x90),this['exit'][_0xa5378d(0x94)](this)),this['rl']['on']('SIGINT',()=>{const _0x38edd9=_0xa5378d;console[_0x38edd9(0xe0)](_0x38edd9(0xad)),this['rl']['prompt']();}),this[_0xa5378d(0xab)]=!![],this[_0xa5378d(0xf7)](),this['rl']['prompt']();}async[a0_0xed480f(0xe6)](_0x110f19){const _0x13ee98=a0_0xed480f,_0x203f36=_0x110f19['trim']();if(_0x203f36[_0x13ee98(0xfa)]===0x0){this['rl'][_0x13ee98(0xc3)]();return;}this[_0x13ee98(0xa3)][_0x13ee98(0xe5)]({'command':_0x203f36,'timestamp':new Date()[_0x13ee98(0xdd)]()});this[_0x13ee98(0xa3)][_0x13ee98(0xfa)]>this[_0x13ee98(0xef)]&&this['commandHistory']['shift']();try{await this[_0x13ee98(0xb5)](_0x203f36);}catch(_0xd48ea7){console[_0x13ee98(0xe2)]('❌\x20Error:',_0xd48ea7[_0x13ee98(0x92)]),this[_0x13ee98(0xa5)]?.[_0x13ee98(0xe2)](_0x13ee98(0xcf),{'command':_0x203f36,'error':_0xd48ea7['message']});}this['isRunning']&&this['rl'][_0x13ee98(0xc3)]();}async[a0_0xed480f(0xb5)](_0x45aa1f){const _0x136971=a0_0xed480f;if(_0x45aa1f[_0x136971(0x93)]('/')){const _0x4410fc=_0x45aa1f['slice'](0x1)['split']('\x20'),_0x2357d4=_0x4410fc[0x0]['toLowerCase'](),_0x5c2c2b=_0x4410fc['slice'](0x1);if(this['commands'][_0x2357d4]){await this[_0x136971(0xd0)][_0x2357d4](_0x5c2c2b);return;}else{console['log']('❌\x20Unknown\x20command:\x20/'+_0x2357d4),console[_0x136971(0xe0)](_0x136971(0x87));return;}}if(!this['currentAgent']){console[_0x136971(0xe0)]('💡\x20No\x20agent\x20selected.\x20Create\x20an\x20agent\x20first\x20with:\x20/create\x20<agent-name>');return;}await this[_0x136971(0xaf)](_0x45aa1f);}async['sendMessageToAgent'](_0x12851a){const _0xa4318e=a0_0xed480f;console[_0xa4318e(0xe0)](_0xa4318e(0xd7));try{const _0x542f78={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0xa4318e(0x9a)],'payload':{'agentId':this[_0xa4318e(0xd2)]['id'],'message':_0x12851a,'mode':'chat'},'projectDir':process['cwd']()},_0x2e70aa=await this[_0xa4318e(0x82)]['processRequest'](_0x542f78);if(_0x2e70aa[_0xa4318e(0xd4)]){console[_0xa4318e(0xe0)](_0xa4318e(0xd9)),console['log'](_0x2e70aa['data']['message'][_0xa4318e(0xa0)]);if(_0x2e70aa[_0xa4318e(0xfc)][_0xa4318e(0xa8)]&&_0x2e70aa['data']['toolResults'][_0xa4318e(0xfa)]>0x0){console[_0xa4318e(0xe0)](_0xa4318e(0x99));for(const _0x23aaf9 of _0x2e70aa[_0xa4318e(0xfc)][_0xa4318e(0xa8)]){console['log']('\x20\x20'+_0x23aaf9['toolId']+':\x20'+_0x23aaf9['status']),_0x23aaf9['result']&&console[_0xa4318e(0xe0)]('\x20\x20\x20\x20Result:\x20'+JSON['stringify'](_0x23aaf9[_0xa4318e(0xea)],null,0x2));}}}else console['error'](_0xa4318e(0xa6),_0x2e70aa['error']);}catch(_0x5e975e){console['error'](_0xa4318e(0xc4),_0x5e975e[_0xa4318e(0x92)]);}}[a0_0xed480f(0xf7)](){const _0x361174=a0_0xed480f;console[_0x361174(0xe0)](''),console['log'](_0x361174(0xf9)),console['log'](_0x361174(0xcd)),console['log'](_0x361174(0xba)),console[_0x361174(0xe0)]('');}async['showHelp'](){const _0xb0818=a0_0xed480f;console['log'](''),console['log']('📚\x20Loxia\x20Autopilot\x20One\x20CLI\x20Commands:'),console['log'](''),console['log'](_0xb0818(0xdb)),console[_0xb0818(0xe0)](_0xb0818(0x95)),console[_0xb0818(0xe0)]('\x20\x20/agents\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20List\x20all\x20agents'),console[_0xb0818(0xe0)]('\x20\x20/create\x20<name>\x20\x20\x20\x20\x20\x20\x20-\x20Create\x20a\x20new\x20agent'),console[_0xb0818(0xe0)](_0xb0818(0xc2)),console[_0xb0818(0xe0)](_0xb0818(0xde)),console['log']('\x20\x20/resume\x20<agent-id>\x20\x20\x20-\x20Resume\x20a\x20paused\x20agent'),console['log']('\x20\x20/history\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20command\x20history'),console[_0xb0818(0xe0)]('\x20\x20/clear\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Clear\x20screen'),console['log'](_0xb0818(0xa7)),console['log'](''),console[_0xb0818(0xe0)]('💬\x20Chat\x20with\x20agents:'),console[_0xb0818(0xe0)]('\x20\x20\x20Simply\x20type\x20your\x20message\x20to\x20send\x20it\x20to\x20the\x20current\x20agent'),console[_0xb0818(0xe0)]('\x20\x20\x20Agents\x20can\x20use\x20tools\x20and\x20communicate\x20with\x20other\x20agents'),console[_0xb0818(0xe0)]('');}async['showStatus'](){const _0xb81912=a0_0xed480f;try{const _0x306319={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['GET_SESSION_STATE'],'payload':{},'projectDir':process[_0xb81912(0x9b)]()},_0x379f06=await this['orchestrator'][_0xb81912(0xbc)](_0x306319);if(_0x379f06[_0xb81912(0xd4)]){const _0x357c91=_0x379f06['data'];console[_0xb81912(0xe0)](''),console[_0xb81912(0xe0)](_0xb81912(0xb4)),console[_0xb81912(0xe0)](_0xb81912(0xeb)+_0x357c91['sessionId']),console[_0xb81912(0xe0)]('\x20\x20\x20Project:\x20'+_0x357c91['projectDir']),console['log'](_0xb81912(0x85)+_0x357c91[_0xb81912(0xb2)]['length']),console['log'](_0xb81912(0xec)+(this['currentAgent']?this['currentAgent'][_0xb81912(0xc9)]:_0xb81912(0xcc))),console['log']('');if(_0x357c91[_0xb81912(0xb2)][_0xb81912(0xfa)]>0x0){console['log']('🤖\x20Active\x20Agents:');for(const _0x1bb965 of _0x357c91['agents']){const _0x22c5a4=_0x1bb965[_0xb81912(0xa2)]?_0x1bb965[_0xb81912(0x83)]+_0xb81912(0xa1)+_0x1bb965[_0xb81912(0xc7)]+')':_0x1bb965[_0xb81912(0x83)];console['log'](_0xb81912(0xaa)+_0x1bb965['id']+':\x20'+_0x1bb965['name']+'\x20('+_0x22c5a4+')');}console[_0xb81912(0xe0)]('');}}else console[_0xb81912(0xe2)](_0xb81912(0x9e),_0x379f06[_0xb81912(0xe2)]);}catch(_0xba0937){console['error'](_0xb81912(0xb8),_0xba0937[_0xb81912(0x92)]);}}async[a0_0xed480f(0xbe)](){const _0xa0489c=a0_0xed480f;try{const _0x4d661b={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0xa0489c(0xdf)],'payload':{},'projectDir':process['cwd']()},_0x5f4f4a=await this[_0xa0489c(0x82)][_0xa0489c(0xbc)](_0x4d661b);if(_0x5f4f4a['success']){const _0x1bccfa=_0x5f4f4a[_0xa0489c(0xfc)];console[_0xa0489c(0xe0)]('');if(_0x1bccfa['length']===0x0)console['log'](_0xa0489c(0xf8)),console['log']('\x20\x20\x20Use\x20/create\x20<name>\x20to\x20create\x20your\x20first\x20agent');else{console[_0xa0489c(0xe0)](_0xa0489c(0xca));for(const _0x632ccb of _0x1bccfa){const _0x26d62e=this[_0xa0489c(0xd2)]&&this[_0xa0489c(0xd2)]['id']===_0x632ccb['id']?'\x20(current)':'',_0x588172=_0x632ccb[_0xa0489c(0xa2)]?_0x632ccb[_0xa0489c(0x83)]+'\x20(until\x20'+_0x632ccb[_0xa0489c(0xc7)]+')':_0x632ccb[_0xa0489c(0x83)];console[_0xa0489c(0xe0)](_0xa0489c(0xaa)+_0x632ccb['id']+':\x20'+_0x632ccb['name']+_0x26d62e),console['log'](_0xa0489c(0xe9)+_0x588172),console[_0xa0489c(0xe0)](_0xa0489c(0xe3)+_0x632ccb[_0xa0489c(0x9d)]),console['log'](_0xa0489c(0xa4)+_0x632ccb['messageCount']),console['log']('');}}}else console[_0xa0489c(0xe2)](_0xa0489c(0x8a),_0x5f4f4a[_0xa0489c(0xe2)]);}catch(_0x170bac){console['error']('❌\x20List\x20agents\x20command\x20failed:',_0x170bac[_0xa0489c(0x92)]);}}async[a0_0xed480f(0xe1)](_0x441d36){const _0x247a2c=a0_0xed480f;if(_0x441d36[_0x247a2c(0xfa)]===0x0){console['log']('❌\x20Usage:\x20/create\x20<agent-name>\x20[model]');return;}const _0x2d3917=_0x441d36[0x0],_0x401b6f=_0x441d36[0x1]||_0x247a2c(0xf2);console['log'](_0x247a2c(0xb1)+_0x2d3917+_0x247a2c(0x96)+_0x401b6f+_0x247a2c(0x98));try{const _0x448058={'interface':INTERFACE_TYPES[_0x247a2c(0xd8)],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['CREATE_AGENT'],'payload':{'name':_0x2d3917,'systemPrompt':_0x247a2c(0xa9)+_0x2d3917+_0x247a2c(0xb9),'model':_0x401b6f,'capabilities':['terminal',_0x247a2c(0x8d),_0x247a2c(0xb0),_0x247a2c(0x81)]},'projectDir':process[_0x247a2c(0x9b)]()},_0x2cb007=await this[_0x247a2c(0x82)]['processRequest'](_0x448058);if(_0x2cb007[_0x247a2c(0xd4)]){const _0x5a4552=_0x2cb007['data'];this[_0x247a2c(0xd2)]=_0x5a4552,console[_0x247a2c(0xe0)]('✅\x20Agent\x20created\x20successfully!'),console[_0x247a2c(0xe0)]('\x20\x20\x20ID:\x20'+_0x5a4552['id']),console[_0x247a2c(0xe0)]('\x20\x20\x20Name:\x20'+_0x5a4552['name']),console[_0x247a2c(0xe0)](_0x247a2c(0xd3)+_0x5a4552['preferredModel']),console['log']('\x20\x20\x20Switched\x20to\x20this\x20agent\x20automatically'),this['rl']['setPrompt'](this[_0x247a2c(0x89)]());}else console['error'](_0x247a2c(0xae),_0x2cb007[_0x247a2c(0xe2)]);}catch(_0x538cfc){console['error'](_0x247a2c(0x8f),_0x538cfc['message']);}}async[a0_0xed480f(0xc6)](_0x277bdc){const _0x56695a=a0_0xed480f;if(_0x277bdc['length']===0x0){console[_0x56695a(0xe0)](_0x56695a(0x86));return;}const _0x3422dc=_0x277bdc[0x0];try{const _0x31e3df={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x56695a(0x9c)],'action':ORCHESTRATOR_ACTIONS['GET_AGENT_STATUS'],'payload':{'agentId':_0x3422dc},'projectDir':process[_0x56695a(0x9b)]()},_0x12a2cb=await this[_0x56695a(0x82)][_0x56695a(0xbc)](_0x31e3df);_0x12a2cb[_0x56695a(0xd4)]?(this[_0x56695a(0xd2)]=_0x12a2cb[_0x56695a(0xfc)],console['log']('✅\x20Switched\x20to\x20agent:\x20'+this['currentAgent']['name']+'\x20('+this[_0x56695a(0xd2)]['id']+')'),this['rl'][_0x56695a(0xe8)](this['getPrompt']())):console[_0x56695a(0xe2)]('❌\x20Failed\x20to\x20switch\x20agent:',_0x12a2cb['error']);}catch(_0x41ff5a){console['error'](_0x56695a(0xf1),_0x41ff5a[_0x56695a(0x92)]);}}async['pauseAgent'](_0x3fcaad){const _0xcb952=a0_0xed480f;if(_0x3fcaad[_0xcb952(0xfa)]===0x0){console['log'](_0xcb952(0xbb));return;}const _0x192436=_0x3fcaad[0x0],_0xe6cd63=parseInt(_0x3fcaad[0x1])||0x3c,_0x3b37ec=_0x3fcaad['slice'](0x2)['join']('\x20')||'Manual pause from CLI';try{const _0x1ba2ac={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['PAUSE_AGENT'],'payload':{'agentId':_0x192436,'duration':_0xe6cd63,'reason':_0x3b37ec},'projectDir':process[_0xcb952(0x9b)]()},_0x2e4a75=await this[_0xcb952(0x82)]['processRequest'](_0x1ba2ac);_0x2e4a75[_0xcb952(0xd4)]?(console['log']('✅\x20Agent\x20paused\x20for\x20'+_0xe6cd63+_0xcb952(0xfb)),console[_0xcb952(0xe0)](_0xcb952(0xd5)+_0x3b37ec)):console[_0xcb952(0xe2)]('❌\x20Failed\x20to\x20pause\x20agent:',_0x2e4a75['error']);}catch(_0x56f44d){console[_0xcb952(0xe2)]('❌\x20Pause\x20agent\x20command\x20failed:',_0x56f44d[_0xcb952(0x92)]);}}async[a0_0xed480f(0x8b)](_0x5267cf){const _0x4f189e=a0_0xed480f;if(_0x5267cf['length']===0x0){console[_0x4f189e(0xe0)](_0x4f189e(0xee));return;}const _0x3b8c30=_0x5267cf[0x0];try{const _0x26c85f={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x4f189e(0x9c)],'action':ORCHESTRATOR_ACTIONS[_0x4f189e(0xb3)],'payload':{'agentId':_0x3b8c30},'projectDir':process['cwd']()},_0x31167e=await this['orchestrator']['processRequest'](_0x26c85f);_0x31167e['success']?console['log'](_0x4f189e(0xd1)):console['error']('❌\x20Failed\x20to\x20resume\x20agent:',_0x31167e[_0x4f189e(0xe2)]);}catch(_0x584815){console['error'](_0x4f189e(0xb6),_0x584815['message']);}}async[a0_0xed480f(0xb7)](){const _0x4ba334=a0_0xed480f;console['log'](''),console['log'](_0x4ba334(0x88));if(this['commandHistory']['length']===0x0)console[_0x4ba334(0xe0)]('\x20\x20\x20No\x20commands\x20executed\x20yet');else{const _0x2eac39=this[_0x4ba334(0xa3)][_0x4ba334(0xbf)](-0xa);for(let _0x5bdd0a=0x0;_0x5bdd0a<_0x2eac39[_0x4ba334(0xfa)];_0x5bdd0a++){const _0x56c138=_0x2eac39[_0x5bdd0a],_0x294eb9=new Date(_0x56c138[_0x4ba334(0xce)])['toLocaleTimeString']();console[_0x4ba334(0xe0)](_0x4ba334(0xaa)+(_0x5bdd0a+0x1)+_0x4ba334(0xf5)+_0x294eb9+']\x20'+_0x56c138[_0x4ba334(0x84)]);}this[_0x4ba334(0xa3)][_0x4ba334(0xfa)]>0xa&&console['log']('\x20\x20\x20...\x20and\x20'+(this[_0x4ba334(0xa3)][_0x4ba334(0xfa)]-0xa)+'\x20more\x20commands');}console['log']('');}async['clearScreen'](){const _0x55302d=a0_0xed480f;console['clear'](),this[_0x55302d(0xf7)]();}async[a0_0xed480f(0xe7)](){const _0x185feb=a0_0xed480f;this['isRunning']&&(console[_0x185feb(0xe0)]('\x0a👋\x20Goodbye!'),this['isRunning']=![],this['rl']&&this['rl'][_0x185feb(0x90)]());}[a0_0xed480f(0x89)](){const _0x1c054d=a0_0xed480f,_0x301050=this[_0x1c054d(0xd2)]?this['currentAgent'][_0x1c054d(0xc9)]:'no-agent';return'loxia:'+_0x301050+'>\x20';}async[a0_0xed480f(0xc8)](){await this['exit']();}}export default CLIInterface;
1
+ function a0_0x29fa(_0x2587f3,_0x45b2b5){_0x2587f3=_0x2587f3-0x184;const _0x5d8b67=a0_0x5d8b();let _0x29fa1d=_0x5d8b67[_0x2587f3];if(a0_0x29fa['PphZcL']===undefined){var _0x4b071e=function(_0x45187c){const _0x26f20a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5a09a4='',_0x47d9c4='';for(let _0x4a5a14=0x0,_0x19d39f,_0x2c0b03,_0x38e2c0=0x0;_0x2c0b03=_0x45187c['charAt'](_0x38e2c0++);~_0x2c0b03&&(_0x19d39f=_0x4a5a14%0x4?_0x19d39f*0x40+_0x2c0b03:_0x2c0b03,_0x4a5a14++%0x4)?_0x5a09a4+=String['fromCharCode'](0xff&_0x19d39f>>(-0x2*_0x4a5a14&0x6)):0x0){_0x2c0b03=_0x26f20a['indexOf'](_0x2c0b03);}for(let _0x26ce9a=0x0,_0x129f5f=_0x5a09a4['length'];_0x26ce9a<_0x129f5f;_0x26ce9a++){_0x47d9c4+='%'+('00'+_0x5a09a4['charCodeAt'](_0x26ce9a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47d9c4);};a0_0x29fa['vGZkVy']=_0x4b071e,a0_0x29fa['iddUTW']={},a0_0x29fa['PphZcL']=!![];}const _0x130dd0=_0x5d8b67[0x0],_0x2a33a6=_0x2587f3+_0x130dd0,_0x13e715=a0_0x29fa['iddUTW'][_0x2a33a6];return!_0x13e715?(_0x29fa1d=a0_0x29fa['vGZkVy'](_0x29fa1d),a0_0x29fa['iddUTW'][_0x2a33a6]=_0x29fa1d):_0x29fa1d=_0x13e715,_0x29fa1d;}const a0_0x55bd47=a0_0x29fa;(function(_0x308267,_0x133374){const _0x320157=a0_0x29fa,_0x1cab90=_0x308267();while(!![]){try{const _0x426a88=parseInt(_0x320157(0x1f8))/0x1*(parseInt(_0x320157(0x1dd))/0x2)+parseInt(_0x320157(0x1d1))/0x3*(-parseInt(_0x320157(0x1ce))/0x4)+parseInt(_0x320157(0x19a))/0x5+parseInt(_0x320157(0x1df))/0x6*(parseInt(_0x320157(0x1c0))/0x7)+parseInt(_0x320157(0x191))/0x8*(parseInt(_0x320157(0x192))/0x9)+parseInt(_0x320157(0x19c))/0xa*(-parseInt(_0x320157(0x186))/0xb)+-parseInt(_0x320157(0x18e))/0xc*(parseInt(_0x320157(0x193))/0xd);if(_0x426a88===_0x133374)break;else _0x1cab90['push'](_0x1cab90['shift']());}catch(_0x553224){_0x1cab90['push'](_0x1cab90['shift']());}}}(a0_0x5d8b,0x7c54a));import a0_0x5a09a4 from'readline';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS}from'../utilities/constants.js';class CLIInterface{constructor(_0x47d9c4,_0x4a5a14,_0x19d39f={}){const _0xcb47ce=a0_0x29fa;this[_0xcb47ce(0x1af)]=_0x47d9c4,this[_0xcb47ce(0x1c6)]=_0x4a5a14,this['config']=_0x19d39f,this['rl']=null,this['sessionId']=_0xcb47ce(0x1ae)+Date['now'](),this['currentAgent']=null,this['isRunning']=![],this['historySize']=_0x19d39f[_0xcb47ce(0x18b)]||0x3e8,this['commandHistory']=[],this['commands']={'help':this[_0xcb47ce(0x1a5)]['bind'](this),'exit':this['exit'][_0xcb47ce(0x1e7)](this),'quit':this[_0xcb47ce(0x1d5)]['bind'](this),'status':this['showStatus']['bind'](this),'agents':this['listAgents']['bind'](this),'create':this['createAgent'][_0xcb47ce(0x1e7)](this),'switch':this['switchAgent'][_0xcb47ce(0x1e7)](this),'pause':this[_0xcb47ce(0x1ac)]['bind'](this),'resume':this[_0xcb47ce(0x1bb)]['bind'](this),'clear':this['clearScreen']['bind'](this),'history':this['showHistory']['bind'](this)};}async['initialize'](){const _0x29b935=a0_0x29fa;this['rl']=a0_0x5a09a4['createInterface']({'input':process[_0x29b935(0x1f3)],'output':process['stdout'],'prompt':this['getPrompt'](),'historySize':this[_0x29b935(0x18b)]}),this['rl']['on'](_0x29b935(0x1a3),this['handleInput'][_0x29b935(0x1e7)](this)),this['rl']['on'](_0x29b935(0x1fc),this['exit']['bind'](this)),this['rl']['on'](_0x29b935(0x1d8),()=>{const _0xa89542=_0x29b935;console[_0xa89542(0x18c)]('\x0a(To\x20exit,\x20type\x20\x22exit\x22\x20or\x20press\x20Ctrl+C\x20again)'),this['rl']['prompt']();}),this[_0x29b935(0x1ca)]=!![],this['showWelcome'](),this['rl']['prompt']();}async['handleInput'](_0x2c0b03){const _0x331a51=a0_0x29fa,_0x38e2c0=_0x2c0b03[_0x331a51(0x1fd)]();if(_0x38e2c0[_0x331a51(0x1e1)]===0x0){this['rl']['prompt']();return;}this[_0x331a51(0x1e4)][_0x331a51(0x1d7)]({'command':_0x38e2c0,'timestamp':new Date()['toISOString']()});this[_0x331a51(0x1e4)][_0x331a51(0x1e1)]>this['historySize']&&this['commandHistory'][_0x331a51(0x1cb)]();try{await this['processInput'](_0x38e2c0);}catch(_0x26ce9a){console['error'](_0x331a51(0x1db),_0x26ce9a['message']),this['logger']?.['error'](_0x331a51(0x18a),{'command':_0x38e2c0,'error':_0x26ce9a[_0x331a51(0x1c9)]});}this[_0x331a51(0x1ca)]&&this['rl']['prompt']();}async[a0_0x55bd47(0x1cd)](_0x129f5f){const _0x4062bf=a0_0x55bd47;if(_0x129f5f[_0x4062bf(0x1cf)]('/')){const _0x24bf4b=_0x129f5f['slice'](0x1)['split']('\x20'),_0x1cf4f5=_0x24bf4b[0x0][_0x4062bf(0x1b4)](),_0x254179=_0x24bf4b[_0x4062bf(0x1e6)](0x1);if(this['commands'][_0x1cf4f5]){await this[_0x4062bf(0x1d0)][_0x1cf4f5](_0x254179);return;}else{console[_0x4062bf(0x18c)](_0x4062bf(0x1b5)+_0x1cf4f5),console[_0x4062bf(0x18c)](_0x4062bf(0x1ab));return;}}if(!this[_0x4062bf(0x1ef)]){console[_0x4062bf(0x18c)](_0x4062bf(0x188));return;}await this['sendMessageToAgent'](_0x129f5f);}async[a0_0x55bd47(0x1e3)](_0x4e52ca){const _0x28e97b=a0_0x55bd47;console['log']('📤\x20Sending\x20to\x20agent...');try{const _0x31741d={'interface':INTERFACE_TYPES[_0x28e97b(0x1f5)],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS[_0x28e97b(0x1b2)],'payload':{'agentId':this[_0x28e97b(0x1ef)]['id'],'message':_0x4e52ca,'mode':'chat'},'projectDir':process['cwd']()},_0x4a58aa=await this['orchestrator']['processRequest'](_0x31741d);if(_0x4a58aa[_0x28e97b(0x1f6)]){console[_0x28e97b(0x18c)](_0x28e97b(0x194)),console['log'](_0x4a58aa['data']['message'][_0x28e97b(0x1b8)]);if(_0x4a58aa['data'][_0x28e97b(0x1fa)]&&_0x4a58aa['data']['toolResults']['length']>0x0){console['log'](_0x28e97b(0x1a2));for(const _0xbe203f of _0x4a58aa['data']['toolResults']){console['log']('\x20\x20'+_0xbe203f['toolId']+':\x20'+_0xbe203f[_0x28e97b(0x1f0)]),_0xbe203f['result']&&console[_0x28e97b(0x18c)](_0x28e97b(0x18d)+JSON['stringify'](_0xbe203f[_0x28e97b(0x1e9)],null,0x2));}}}else console['error'](_0x28e97b(0x1a6),_0x4a58aa[_0x28e97b(0x1bf)]);}catch(_0x412ade){console['error'](_0x28e97b(0x1bd),_0x412ade['message']);}}['showWelcome'](){const _0x543998=a0_0x55bd47;console[_0x543998(0x18c)](''),console['log']('🎯\x20Welcome\x20to\x20Loxia\x20Autopilot\x20One\x20CLI'),console[_0x543998(0x18c)]('\x20\x20\x20Type\x20/help\x20for\x20available\x20commands'),console['log']('\x20\x20\x20Type\x20/create\x20<name>\x20to\x20create\x20your\x20first\x20agent'),console['log']('');}async[a0_0x55bd47(0x1a5)](){const _0x46d31d=a0_0x55bd47;console['log'](''),console[_0x46d31d(0x18c)]('📚\x20Loxia\x20Autopilot\x20One\x20CLI\x20Commands:'),console[_0x46d31d(0x18c)](''),console[_0x46d31d(0x18c)]('\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[_0x46d31d(0x18c)]('\x20\x20/status\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20system\x20status'),console[_0x46d31d(0x18c)](_0x46d31d(0x189)),console['log'](_0x46d31d(0x187)),console['log']('\x20\x20/switch\x20<agent-id>\x20\x20\x20-\x20Switch\x20to\x20different\x20agent'),console[_0x46d31d(0x18c)](_0x46d31d(0x184)),console['log'](_0x46d31d(0x1b6)),console['log'](_0x46d31d(0x1d2)),console[_0x46d31d(0x18c)]('\x20\x20/clear\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Clear\x20screen'),console[_0x46d31d(0x18c)]('\x20\x20/exit\x20or\x20/quit\x20\x20\x20\x20\x20\x20\x20-\x20Exit\x20the\x20CLI'),console['log'](''),console[_0x46d31d(0x18c)](_0x46d31d(0x1f9)),console['log'](_0x46d31d(0x1a8)),console['log'](_0x46d31d(0x1c8)),console[_0x46d31d(0x18c)]('');}async[a0_0x55bd47(0x1f1)](){const _0x3ce717=a0_0x55bd47;try{const _0x1198a0={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x3ce717(0x190)],'action':ORCHESTRATOR_ACTIONS[_0x3ce717(0x1a7)],'payload':{},'projectDir':process['cwd']()},_0x4439e1=await this[_0x3ce717(0x1af)]['processRequest'](_0x1198a0);if(_0x4439e1[_0x3ce717(0x1f6)]){const _0x4b91cc=_0x4439e1[_0x3ce717(0x1f2)];console['log'](''),console['log'](_0x3ce717(0x1f4)),console[_0x3ce717(0x18c)]('\x20\x20\x20Session\x20ID:\x20'+_0x4b91cc[_0x3ce717(0x190)]),console[_0x3ce717(0x18c)](_0x3ce717(0x1c3)+_0x4b91cc[_0x3ce717(0x1e0)]),console[_0x3ce717(0x18c)](_0x3ce717(0x19e)+_0x4b91cc['agents']['length']),console['log']('\x20\x20\x20Current\x20Agent:\x20'+(this['currentAgent']?this['currentAgent']['name']:_0x3ce717(0x1be))),console[_0x3ce717(0x18c)]('');if(_0x4b91cc['agents']['length']>0x0){console[_0x3ce717(0x18c)](_0x3ce717(0x1a4));for(const _0x1fd672 of _0x4b91cc[_0x3ce717(0x1cc)]){const _0x4415eb=_0x1fd672[_0x3ce717(0x1a0)]?_0x1fd672['status']+'\x20(until\x20'+_0x1fd672[_0x3ce717(0x1bc)]+')':_0x1fd672[_0x3ce717(0x1f0)];console['log'](_0x3ce717(0x1ed)+_0x1fd672['id']+':\x20'+_0x1fd672['name']+'\x20('+_0x4415eb+')');}console[_0x3ce717(0x18c)]('');}}else console[_0x3ce717(0x1bf)]('❌\x20Failed\x20to\x20get\x20status:',_0x4439e1['error']);}catch(_0x327d81){console[_0x3ce717(0x1bf)]('❌\x20Status\x20command\x20failed:',_0x327d81[_0x3ce717(0x1c9)]);}}async['listAgents'](){const _0x367329=a0_0x55bd47;try{const _0x432b51={'interface':INTERFACE_TYPES[_0x367329(0x1f5)],'sessionId':this[_0x367329(0x190)],'action':ORCHESTRATOR_ACTIONS[_0x367329(0x19d)],'payload':{},'projectDir':process[_0x367329(0x1c1)]()},_0x185db4=await this['orchestrator'][_0x367329(0x195)](_0x432b51);if(_0x185db4['success']){const _0x19ebaa=_0x185db4['data'];console['log']('');if(_0x19ebaa[_0x367329(0x1e1)]===0x0)console['log'](_0x367329(0x1fb)),console[_0x367329(0x18c)](_0x367329(0x1d4));else{console['log']('🤖\x20Available\x20Agents:');for(const _0x404df8 of _0x19ebaa){const _0x48c2b0=this['currentAgent']&&this[_0x367329(0x1ef)]['id']===_0x404df8['id']?'\x20(current)':'',_0xfe761b=_0x404df8['isPaused']?_0x404df8['status']+_0x367329(0x1a9)+_0x404df8['pausedUntil']+')':_0x404df8[_0x367329(0x1f0)];console[_0x367329(0x18c)](_0x367329(0x1ed)+_0x404df8['id']+':\x20'+_0x404df8['name']+_0x48c2b0),console['log']('\x20\x20\x20\x20\x20Status:\x20'+_0xfe761b),console['log'](_0x367329(0x1e5)+_0x404df8['currentModel']),console['log']('\x20\x20\x20\x20\x20Messages:\x20'+_0x404df8[_0x367329(0x1e2)]),console[_0x367329(0x18c)]('');}}}else console['error'](_0x367329(0x1de),_0x185db4['error']);}catch(_0x46186f){console[_0x367329(0x1bf)]('❌\x20List\x20agents\x20command\x20failed:',_0x46186f[_0x367329(0x1c9)]);}}async[a0_0x55bd47(0x1c7)](_0xfe1f15){const _0x338aba=a0_0x55bd47;if(_0xfe1f15[_0x338aba(0x1e1)]===0x0){console[_0x338aba(0x18c)]('❌\x20Usage:\x20/create\x20<agent-name>\x20[model]');return;}const _0x2e0197=_0xfe1f15[0x0],_0x4c7af1=_0xfe1f15[0x1]||'anthropic-sonnet';console[_0x338aba(0x18c)](_0x338aba(0x1b1)+_0x2e0197+'\x22\x20with\x20model\x20'+_0x4c7af1+_0x338aba(0x1eb));try{const _0x4f0191={'interface':INTERFACE_TYPES[_0x338aba(0x1f5)],'sessionId':this[_0x338aba(0x190)],'action':ORCHESTRATOR_ACTIONS[_0x338aba(0x1a1)],'payload':{'name':_0x2e0197,'systemPrompt':'You\x20are\x20'+_0x2e0197+_0x338aba(0x1da),'model':_0x4c7af1,'capabilities':[_0x338aba(0x1aa),_0x338aba(0x1b0),'agentdelay',_0x338aba(0x1c4)]},'projectDir':process[_0x338aba(0x1c1)]()},_0x5a6111=await this[_0x338aba(0x1af)][_0x338aba(0x195)](_0x4f0191);if(_0x5a6111[_0x338aba(0x1f6)]){const _0x48047b=_0x5a6111[_0x338aba(0x1f2)];this[_0x338aba(0x1ef)]=_0x48047b,console['log']('✅\x20Agent\x20created\x20successfully!'),console['log']('\x20\x20\x20ID:\x20'+_0x48047b['id']),console['log']('\x20\x20\x20Name:\x20'+_0x48047b['name']),console[_0x338aba(0x18c)]('\x20\x20\x20Model:\x20'+_0x48047b['preferredModel']),console[_0x338aba(0x18c)]('\x20\x20\x20Switched\x20to\x20this\x20agent\x20automatically'),this['rl'][_0x338aba(0x1c5)](this['getPrompt']());}else console[_0x338aba(0x1bf)]('❌\x20Failed\x20to\x20create\x20agent:',_0x5a6111['error']);}catch(_0x319fed){console[_0x338aba(0x1bf)](_0x338aba(0x19f),_0x319fed[_0x338aba(0x1c9)]);}}async['switchAgent'](_0x21fef3){const _0x570d28=a0_0x55bd47;if(_0x21fef3[_0x570d28(0x1e1)]===0x0){console[_0x570d28(0x18c)](_0x570d28(0x1e8));return;}const _0x2188e8=_0x21fef3[0x0];try{const _0x147697={'interface':INTERFACE_TYPES[_0x570d28(0x1f5)],'sessionId':this[_0x570d28(0x190)],'action':ORCHESTRATOR_ACTIONS['GET_AGENT_STATUS'],'payload':{'agentId':_0x2188e8},'projectDir':process['cwd']()},_0x5a87f0=await this[_0x570d28(0x1af)]['processRequest'](_0x147697);_0x5a87f0[_0x570d28(0x1f6)]?(this['currentAgent']=_0x5a87f0['data'],console[_0x570d28(0x18c)](_0x570d28(0x1ec)+this['currentAgent'][_0x570d28(0x1b3)]+'\x20('+this['currentAgent']['id']+')'),this['rl']['setPrompt'](this[_0x570d28(0x1f7)]())):console[_0x570d28(0x1bf)]('❌\x20Failed\x20to\x20switch\x20agent:',_0x5a87f0['error']);}catch(_0x33c3fe){console[_0x570d28(0x1bf)](_0x570d28(0x19b),_0x33c3fe['message']);}}async['pauseAgent'](_0x4a6c0c){const _0x342b66=a0_0x55bd47;if(_0x4a6c0c['length']===0x0){console['log']('❌\x20Usage:\x20/pause\x20<agent-id>\x20[duration]\x20[reason]');return;}const _0x257625=_0x4a6c0c[0x0],_0x27c9e0=parseInt(_0x4a6c0c[0x1])||0x3c,_0x391942=_0x4a6c0c['slice'](0x2)['join']('\x20')||'Manual pause from CLI';try{const _0x1e89a6={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x342b66(0x190)],'action':ORCHESTRATOR_ACTIONS[_0x342b66(0x1b9)],'payload':{'agentId':_0x257625,'duration':_0x27c9e0,'reason':_0x391942},'projectDir':process[_0x342b66(0x1c1)]()},_0x505124=await this[_0x342b66(0x1af)][_0x342b66(0x195)](_0x1e89a6);_0x505124['success']?(console['log']('✅\x20Agent\x20paused\x20for\x20'+_0x27c9e0+_0x342b66(0x1dc)),console['log'](_0x342b66(0x1d6)+_0x391942)):console['error'](_0x342b66(0x197),_0x505124[_0x342b66(0x1bf)]);}catch(_0x238c04){console[_0x342b66(0x1bf)](_0x342b66(0x1d9),_0x238c04['message']);}}async[a0_0x55bd47(0x1bb)](_0x30ab99){const _0x338851=a0_0x55bd47;if(_0x30ab99[_0x338851(0x1e1)]===0x0){console[_0x338851(0x18c)]('❌\x20Usage:\x20/resume\x20<agent-id>');return;}const _0x2ea0ae=_0x30ab99[0x0];try{const _0x3dd8bb={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['RESUME_AGENT'],'payload':{'agentId':_0x2ea0ae},'projectDir':process['cwd']()},_0x88e1bc=await this[_0x338851(0x1af)]['processRequest'](_0x3dd8bb);_0x88e1bc['success']?console[_0x338851(0x18c)](_0x338851(0x196)):console['error'](_0x338851(0x1d3),_0x88e1bc['error']);}catch(_0xabdb04){console['error']('❌\x20Resume\x20agent\x20command\x20failed:',_0xabdb04['message']);}}async[a0_0x55bd47(0x1ba)](){const _0x10ced8=a0_0x55bd47;console['log'](''),console[_0x10ced8(0x18c)]('📜\x20Command\x20History:');if(this[_0x10ced8(0x1e4)][_0x10ced8(0x1e1)]===0x0)console[_0x10ced8(0x18c)]('\x20\x20\x20No\x20commands\x20executed\x20yet');else{const _0x1631f4=this['commandHistory']['slice'](-0xa);for(let _0x29d4de=0x0;_0x29d4de<_0x1631f4['length'];_0x29d4de++){const _0x2ac259=_0x1631f4[_0x29d4de],_0x1220b1=new Date(_0x2ac259[_0x10ced8(0x18f)])[_0x10ced8(0x1c2)]();console[_0x10ced8(0x18c)](_0x10ced8(0x1ed)+(_0x29d4de+0x1)+_0x10ced8(0x198)+_0x1220b1+']\x20'+_0x2ac259[_0x10ced8(0x185)]);}this['commandHistory'][_0x10ced8(0x1e1)]>0xa&&console['log']('\x20\x20\x20...\x20and\x20'+(this[_0x10ced8(0x1e4)]['length']-0xa)+_0x10ced8(0x1ee));}console['log']('');}async[a0_0x55bd47(0x1ad)](){const _0x1c777c=a0_0x55bd47;console[_0x1c777c(0x199)](),this[_0x1c777c(0x1b7)]();}async['exit'](){this['isRunning']&&(console['log']('\x0a👋\x20Goodbye!'),this['isRunning']=![],this['rl']&&this['rl']['close']());}[a0_0x55bd47(0x1f7)](){const _0x472282=a0_0x55bd47,_0x6df60b=this['currentAgent']?this['currentAgent'][_0x472282(0x1b3)]:'no-agent';return _0x472282(0x1ea)+_0x6df60b+'>\x20';}async['shutdown'](){await this['exit']();}}export default CLIInterface;function a0_0x5d8b(){const _0x141413=['ywDLBNrZ','ChjVy2vZC0LUChv0','mtK2vLjguKPf','C3rHCNrZv2L0Aa','y29TBwfUzhm','mta1mZnVt1rtBuy','icaVAgLZDg9YEsaGicaGicaGicaGicaTifnOB3CGy29TBwfUzcbOAxn0B3j5','4P2miezHAwXLzcb0BYbYzxn1BwuGywDLBNq6','icaGvxnLic9JCMvHDguGpg5HBwu+ihrVignYzwf0zsb5B3vYigzPCNn0igfNzw50','zxHPDa','icaGuMvHC29UoIa','ChvZAa','u0Lhsu5u','4P2mifbHDxnLigfNzw50ignVBw1HBMqGzMfPBgvKoG','lcbHBIbbssbHC3nPC3rHBNqGy3jLyxrLzcbPBIb0AguGtg94AweGqxv0B3bPBg90ie9UzsbZExn0zw0UifLVDsbJyw4GAgvSCcb3AxrOignVzgLUzYWGyw5HBhLZAxmSigfUzcb2yxjPB3vZihrHC2TZihvZAw5NihrOzsbHDMfPBgfIBguGDg9VBhmU','4P2mievYCM9YoG','ihnLy29Uzhm','mte0ndmYnMTdD2n4ra','4P2miezHAwXLzcb0BYbSAxn0igfNzw50CZO','mZyWndjvEenmBwG','ChjVAMvJDerPCG','BgvUz3rO','BwvZC2fNzunVDw50','C2vUze1LC3nHz2vuB0fNzw50','y29TBwfUzeHPC3rVCNK','icaGicbnB2rLBdOG','C2XPy2u','yMLUza','4P2mifvZywDLoIaVC3DPDgnOidXHz2vUDc1Pzd4','CMvZDwX0','Bg94Awe6','lI4U','4PYfifn3AxrJAgvKihrVigfNzw50oIa','icaG','ig1VCMuGy29TBwfUzhm','y3vYCMvUDefNzw50','C3rHDhvZ','C2HVD1n0yxr1CW','zgf0yq','C3rKAw4','8j+tIIbtExn0zw0Gu3rHDhvZoG','q0Xj','C3vJy2vZCW','z2v0uhjVBxb0','mwnwEMLPza','8j+sRcbdAgf0ihDPDgGGywDLBNrZoG','Dg9VBfjLC3vSDhm','8j+tRsboBYbHz2vUDhmGy3jLyxrLzcb5zxq','y2XVC2u','DhjPBq','icaVCgf1C2uGpgfNzw50lwLKpIaGicaTifbHDxnLigfUigfNzw50','y29TBwfUza','mtfJrNbhu1y','icaVy3jLyxrLidXUyw1LpIaGicaGicaTienYzwf0zsbHig5LDYbHz2vUDa','8j+sOsboBYbHz2vUDcbZzwXLy3rLzc4Gq3jLyxrLigfUigfNzw50igzPCNn0ihDPDgG6ic9JCMvHDguGpgfNzw50lw5HBwu+','icaVywDLBNrZicaGicaGicaGicaGicaTieXPC3qGywXSigfNzw50CW','q0XjignVBw1HBMqGzxjYB3i','AgLZDg9YEvnPEMu','Bg9N','icaGifjLC3vSDdOG','nte2nZG2mfrRDM9Pva','DgLTzxn0yw1W','C2vZC2LVBKLK','ndaXmJCYzunMsKrm','ndvPr2DpALm','mtncAfnbrKK','8j+KLIbbz2vUDcbYzxnWB25ZztO','ChjVy2vZC1jLCxvLC3q','4PYfiefNzw50ihjLC3vTzwqGC3vJy2vZC2z1BgX5','4P2miezHAwXLzcb0BYbWyxvZzsbHz2vUDdO','lIbB','y2XLyxi','mJeWmtCWwwrTCNjW','4P2mifn3AxrJAcbHz2vUDcbJB21Tyw5KigzHAwXLzdO','mZe3nJK4me1Xy2fAva','teLtvf9br0vovfm','icaGqwDLBNrZoIa','4P2mienYzwf0zsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','AxnqyxvZzwq','q1jfqvrfx0fhru5u','cVcFLkCGvg9VBcbLEgvJDxrPB24GCMvZDwX0CZO','BgLUzq','8j+KLIbby3rPDMuGqwDLBNrZoG','C2HVD0HLBha','4P2miefNzw50ihjLC3bVBNnLigzHAwXLzdO','r0vux1nfu1njt05Fu1rbveu','icaGu2LTCgX5ihr5CguGEw91CIbTzxnZywDLihrVihnLBMqGAxqGDg8GDgHLign1CNjLBNqGywDLBNq','icH1BNrPBca','DgvYBwLUywW','vhLWzsaVAgvSCcbMB3iGyxzHAwXHyMXLignVBw1HBMrZ','Cgf1C2vbz2vUDa','y2XLyxjty3jLzw4','y2XPlq','B3jJAgvZDhjHDg9Y','zMLSzxn5C3rLBq','8j+uQcbdCMvHDgLUzYbHz2vUDcaI','u0vorf9nrvntquDf','BMfTzq','Dg9mB3DLCKnHC2u','4P2mifvUA25VD24Gy29TBwfUzdOGlW','icaVCMvZDw1LidXHz2vUDc1Pzd4GicaTifjLC3vTzsbHihbHDxnLzcbHz2vUDa','C2HVD1DLBgnVBwu','y29UDgvUDa','uefvu0vFquDftLq','C2HVD0HPC3rVCNK','CMvZDw1LqwDLBNq','Cgf1C2vKvw50AwW','4P2miezHAwXLzcb0BYbZzw5Kig1LC3nHz2u6','tM9Uzq','zxjYB3i','nJu4qu9NsvbV','y3DK','Dg9mB2nHBgvuAw1Lu3rYAw5N','icaGuhjVAMvJDdOG','yNjVD3nLCG','C2v0uhjVBxb0','Bg9Nz2vY','y3jLyxrLqwDLBNq','icaGqwDLBNrZignHBIb1C2uGDg9VBhmGyw5KignVBw11BMLJyxrLihDPDgGGB3rOzxiGywDLBNrZ','BwvZC2fNzq','AxnsDw5UAw5N','C2HPzNq'];a0_0x5d8b=function(){return _0x141413;};return a0_0x5d8b();}
@@ -1 +1 @@
1
- const a0_0x1b0a42=a0_0x45fe;function a0_0x5d9d(){const _0x31ce27=['mtqWmevkEfvQDG','nda3mtu4thbfsvjr','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','BwfW','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','ugHHC2uGmtaGlsbbz2vUDfn3AxrJAgvYic0Gu3rYDwn0DxjL','nKzsvwDivq','ntC0oe5uANjmrq','CMvUzgvY','mJe2ofLmsM52za','BgvUz3rO','ugHHC2uGmtaGlsbjBNrLz3jHDgLVBIb3AxrOieXHEw91Da','mJK1mZK4nvj6sK5Sra','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','ndKWotK2ohPlzwX5yG','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ','u2v0DgLUz3nqyw5LBa','otb4zKPcDuy','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','CMvHy3q','zNvUy3rPB24','qwDLBNrdCMvHDg9Y','mtC4nZeYnM91CunHDa','Aw5R','ugHHC2uGmtaGlsbbBgWGq29TCg9Uzw50CYbfEhbVCNqGq29YCMvJDgX5','zgvMyxvSDa','qwDLBNrtD2L0y2HLCG','Dg9czq','mtaYn1D2twzUrq','mta2odHvuwvWAfC','y3jLyxrLrwXLBwvUDa','ugHHC2uGmtaGlsbtzxr0Aw5NC1bHBMvSic0Gu3rYDwn0DxjL','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','ChjVDg90ExbL','sgvSCfbHBMvS','qwDLBNrdCMvHDg9YigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','ywXS','nZK2ndr6Ahrcz1K','mKflwK9Xra','Dg9czvvUzgvMAw5Lza','Dg9czurLzMLUzwq'];a0_0x5d9d=function(){return _0x31ce27;};return a0_0x5d9d();}(function(_0x44e513,_0x460a65){const _0x539bd0=a0_0x45fe,_0x1bf3bd=_0x44e513();while(!![]){try{const _0x4108ec=parseInt(_0x539bd0(0xeb))/0x1*(parseInt(_0x539bd0(0xef))/0x2)+-parseInt(_0x539bd0(0xf5))/0x3*(-parseInt(_0x539bd0(0xf7))/0x4)+parseInt(_0x539bd0(0xfa))/0x5*(parseInt(_0x539bd0(0xf4))/0x6)+-parseInt(_0x539bd0(0xee))/0x7*(-parseInt(_0x539bd0(0xe2))/0x8)+-parseInt(_0x539bd0(0xfc))/0x9+-parseInt(_0x539bd0(0xff))/0xa*(parseInt(_0x539bd0(0x104))/0xb)+-parseInt(_0x539bd0(0xea))/0xc*(-parseInt(_0x539bd0(0xe1))/0xd);if(_0x4108ec===_0x460a65)break;else _0x1bf3bd['push'](_0x1bf3bd['shift']());}catch(_0xbbfe79){_0x1bf3bd['push'](_0x1bf3bd['shift']());}}}(a0_0x5d9d,0xc83ec));function a0_0x45fe(_0x1306a2,_0x3b3788){_0x1306a2=_0x1306a2-0xdd;const _0x5d9df7=a0_0x5d9d();let _0x45fe2a=_0x5d9df7[_0x1306a2];if(a0_0x45fe['ThpUYh']===undefined){var _0x2c981b=function(_0x112e00){const _0x3937b2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe8ca82='',_0x491b80='';for(let _0x1cce3a=0x0,_0x2249ac,_0x54140f,_0x3489c5=0x0;_0x54140f=_0x112e00['charAt'](_0x3489c5++);~_0x54140f&&(_0x2249ac=_0x1cce3a%0x4?_0x2249ac*0x40+_0x54140f:_0x54140f,_0x1cce3a++%0x4)?_0xe8ca82+=String['fromCharCode'](0xff&_0x2249ac>>(-0x2*_0x1cce3a&0x6)):0x0){_0x54140f=_0x3937b2['indexOf'](_0x54140f);}for(let _0x4da69d=0x0,_0x361a48=_0xe8ca82['length'];_0x4da69d<_0x361a48;_0x4da69d++){_0x491b80+='%'+('00'+_0xe8ca82['charCodeAt'](_0x4da69d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x491b80);};a0_0x45fe['fatFss']=_0x2c981b,a0_0x45fe['hrITrp']={},a0_0x45fe['ThpUYh']=!![];}const _0x5428f2=_0x5d9df7[0x0],_0x579828=_0x1306a2+_0x5428f2,_0x4f51fd=a0_0x45fe['hrITrp'][_0x579828];return!_0x4f51fd?(_0x45fe2a=a0_0x45fe['fatFss'](_0x45fe2a),a0_0x45fe['hrITrp'][_0x579828]=_0x45fe2a):_0x45fe2a=_0x4f51fd,_0x45fe2a;}import{describe,test,expect}from'@jest/globals';describe('Phase\x2010\x20-\x20Advanced\x20Features\x20-\x20Imports',()=>{test('AgentSwitcher component can be imported',async()=>{const _0x4978aa=a0_0x45fe,{AgentSwitcher:_0xe8ca82}=await import(_0x4978aa(0xfd));expect(_0xe8ca82)['toBeDefined'](),expect(typeof _0xe8ca82)[_0x4978aa(0xe0)]('function');},0x7530),test('AgentCreator component can be imported',async()=>{const _0x340784=a0_0x45fe,{AgentCreator:_0x491b80}=await import(_0x340784(0x100));expect(_0x491b80)[_0x340784(0xed)](),expect(typeof _0x491b80)[_0x340784(0xe0)]('function');}),test('SettingsPanel component can be imported',async()=>{const _0x27e35d=a0_0x45fe,{SettingsPanel:_0x1cce3a}=await import('../../components/SettingsPanel.js');expect(_0x1cce3a)['toBeDefined'](),expect(typeof _0x1cce3a)['toBe'](_0x27e35d(0x102));}),test('SearchPanel component can be imported',async()=>{const _0x5486da=a0_0x45fe,{SearchPanel:_0x2249ac}=await import('../../components/SearchPanel.js');expect(_0x2249ac)[_0x5486da(0xed)](),expect(typeof _0x2249ac)['toBe'](_0x5486da(0x102));}),test('HelpPanel component can be imported',async()=>{const {HelpPanel:_0x54140f}=await import('../../components/HelpPanel.js');expect(_0x54140f)['toBeDefined'](),expect(typeof _0x54140f)['toBe']('function');});}),describe(a0_0x1b0a42(0xf3),()=>{test('AgentSwitcher\x20is\x20a\x20function\x20component',async()=>{const _0x2de321=a0_0x45fe,{AgentSwitcher:_0x3489c5}=await import(_0x2de321(0xfd));expect(typeof _0x3489c5)[_0x2de321(0xe0)](_0x2de321(0x102)),expect(_0x3489c5['prototype']?.[_0x2de321(0xf6)])['toBeUndefined']();}),test('AgentSwitcher is default export',async()=>{const _0x48b47e=a0_0x45fe,module=await import(_0x48b47e(0xfd));expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x48b47e(0xdf)]);});}),describe('Phase\x2010\x20-\x20AgentCreator\x20-\x20Structure',()=>{const _0x406a0b=a0_0x1b0a42;test(_0x406a0b(0xe8),async()=>{const _0x282ecb=_0x406a0b,{AgentCreator:_0x4da69d}=await import(_0x282ecb(0x100));expect(typeof _0x4da69d)['toBe']('function'),expect(_0x4da69d[_0x282ecb(0xe6)]?.['render'])[_0x282ecb(0xec)]();}),test('AgentCreator is default export',async()=>{const _0x5f34b3=_0x406a0b,module=await import(_0x5f34b3(0x100));expect(module[_0x5f34b3(0xde)])[_0x5f34b3(0xed)](),expect(module['default'])['toBe'](module[_0x5f34b3(0x103)]);});}),describe(a0_0x1b0a42(0xe4),()=>{test('SettingsPanel\x20is\x20a\x20function\x20component',async()=>{const _0x5a195a=a0_0x45fe,{SettingsPanel:_0x361a48}=await import(_0x5a195a(0xe5));expect(typeof _0x361a48)['toBe']('function'),expect(_0x361a48[_0x5a195a(0xe6)]?.['render'])['toBeUndefined']();}),test('SettingsPanel is default export',async()=>{const _0x5b5a65=a0_0x45fe,module=await import('../../components/SettingsPanel.js');expect(module[_0x5b5a65(0xde)])['toBeDefined'](),expect(module['default'])[_0x5b5a65(0xe0)](module[_0x5b5a65(0xfe)]);});}),describe('Phase\x2010\x20-\x20SearchPanel\x20-\x20Structure',()=>{test('SearchPanel\x20is\x20a\x20function\x20component',async()=>{const _0x416027=a0_0x45fe,{SearchPanel:_0x3e0a92}=await import(_0x416027(0xf2));expect(typeof _0x3e0a92)['toBe'](_0x416027(0x102)),expect(_0x3e0a92[_0x416027(0xe6)]?.['render'])['toBeUndefined']();}),test('SearchPanel is default export',async()=>{const module=await import('../../components/SearchPanel.js');expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module['SearchPanel']);});}),describe('Phase\x2010\x20-\x20HelpPanel\x20-\x20Structure',()=>{test('HelpPanel\x20is\x20a\x20function\x20component',async()=>{const _0x15908c=a0_0x45fe,{HelpPanel:_0x52fb1f}=await import(_0x15908c(0xfb));expect(typeof _0x52fb1f)['toBe']('function'),expect(_0x52fb1f['prototype']?.[_0x15908c(0xf6)])['toBeUndefined']();}),test('HelpPanel is default export',async()=>{const _0x41810e=a0_0x45fe,module=await import('../../components/HelpPanel.js');expect(module['default'])[_0x41810e(0xed)](),expect(module[_0x41810e(0xde)])[_0x41810e(0xe0)](module[_0x41810e(0xe7)]);});}),describe(a0_0x1b0a42(0xf9),()=>{test('Layout component can import all Phase 10 components',async()=>{const _0x3e6d2d=a0_0x45fe,[_0x4dd799,_0x21f693,_0x4dc83,_0x37a870,_0x574456]=await Promise[_0x3e6d2d(0xe9)]([import(_0x3e6d2d(0xfd)),import(_0x3e6d2d(0x100)),import(_0x3e6d2d(0xe5)),import(_0x3e6d2d(0xf2)),import('../../components/HelpPanel.js')]);expect(_0x4dd799[_0x3e6d2d(0xdf)])[_0x3e6d2d(0xed)](),expect(_0x21f693['AgentCreator'])['toBeDefined'](),expect(_0x4dc83['SettingsPanel'])['toBeDefined'](),expect(_0x37a870['SearchPanel'])[_0x3e6d2d(0xed)](),expect(_0x574456['HelpPanel'])['toBeDefined']();}),test('Layout\x20component\x20still\x20loads\x20after\x20Phase\x2010\x20additions',async()=>{const _0x42d1ac=a0_0x45fe,{Layout:_0x5341c1}=await import(_0x42d1ac(0xf0));expect(_0x5341c1)[_0x42d1ac(0xed)](),expect(typeof _0x5341c1)['toBe']('function');}),test('All\x20Phase\x2010\x20components\x20use\x20React\x20and\x20Ink',async()=>{const _0x4dc2d7=a0_0x45fe,_0x409c32=await import(_0x4dc2d7(0x101)),_0x201544=await import(_0x4dc2d7(0x105));expect(_0x409c32[_0x4dc2d7(0xe3)])['toBeDefined'](),expect(_0x409c32['useState'])['toBeDefined'](),expect(_0x201544['Box'])['toBeDefined'](),expect(_0x201544['Text'])[_0x4dc2d7(0xed)](),expect(_0x201544['useInput'])[_0x4dc2d7(0xed)]();});}),describe('Phase\x2010\x20-\x20Component\x20Constants\x20and\x20Configurations',()=>{test('AgentCreator\x20defines\x20step\x20constants',async()=>{const _0xf9d083=a0_0x45fe,module=await import('../../components/AgentCreator.js');expect(module[_0xf9d083(0x103)])['toBeDefined']();}),test('SettingsPanel\x20defines\x20category\x20constants',async()=>{const _0x3261f2=a0_0x45fe,module=await import(_0x3261f2(0xe5));expect(module[_0x3261f2(0xfe)])[_0x3261f2(0xed)]();}),test('HelpPanel\x20defines\x20shortcut\x20configurations',async()=>{const _0x3b99f5=a0_0x45fe,module=await import('../../components/HelpPanel.js');expect(module['HelpPanel'])[_0x3b99f5(0xed)]();});}),describe(a0_0x1b0a42(0xdd),()=>{test('All components can be imported together without conflicts',async()=>{const _0x126653=a0_0x45fe,_0x1d0907=await Promise['all']([import('../../components/AgentSwitcher.js'),import(_0x126653(0x100)),import(_0x126653(0xe5)),import('../../components/SearchPanel.js'),import(_0x126653(0xfb))]),_0x344b74=_0x1d0907[_0x126653(0xf1)](_0x5457c5=>Object['keys'](_0x5457c5)[0x0]),_0xe7854d=new Set(_0x344b74);expect(_0xe7854d['size'])[_0x126653(0xe0)](_0x344b74[_0x126653(0xf8)]);});});
1
+ const a0_0x187c22=a0_0x4fc2;function a0_0xe1c5(){const _0x23ffcb=['ogPHzK1jyW','m2n0ywDWzW','ugHHC2uGmtaGlsbbzhzHBMnLzcbgzwf0DxjLCYaTieLTCg9YDhm','zgvMyxvSDa','qwXSifbOyxnLideWignVBxbVBMvUDhmGDxnLifjLywn0igfUzcbjBMS','u2v0DgLUz3nqyw5LBa','sgvSCfbHBMvS','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','CMvUzgvY','Dg9czvvUzgvMAw5Lza','mtC3mJG1D1LUzg1u','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','ywXS','sgvSCfbHBMvSigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','u2vHCMnOugfUzwWGAxmGysbMDw5JDgLVBIbJB21WB25LBNq','mJa1meTmBxbuBG','A2v5CW','mtG4neDMDvjVyW','qwDLBNrdCMvHDg9YigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ','Aw5R','BwfW','mZG5nZmZngrbEeLKvG','BgvUz3rO','ugHHC2uGmtaGlsbbz2vUDfn3AxrJAgvYic0Gu3rYDwn0DxjL','ugHHC2uGmtaGlsbbz2vUDenYzwf0B3iGlsbtDhj1y3r1CMu','ntm1mNjzy2jHsG','mJi3ntqYofroDwvpwq','odm2mZnVv0jwt3K','ntC1ntC4rK9IAgjc','u2v0DgLUz3nqyw5LBcbKzwzPBMvZignHDgvNB3j5ignVBNn0yw50CW','Dg9czurLzMLUzwq','y3jLyxrLrwXLBwvUDa','sgvSCfbHBMvSigrLzMLUzxmGC2HVCNrJDxqGy29UzMLNDxjHDgLVBNm','ugHHC2uGmtaGlsbbBgWGq29TCg9Uzw50CYbfEhbVCNqGq29YCMvJDgX5','ChjVDg90ExbL','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','qwDLBNrdCMvHDg9Y','otblzvrrrNi','mJmYmhHdvfbdrq','zNvUy3rPB24','ugHHC2uGmtaGlsbtzxr0Aw5NC1bHBMvSic0Gu3rYDwn0DxjL','Dg9czq','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','ugHHC2uGmtaGlsbdB21WB25LBNqGq29UC3rHBNrZigfUzcbdB25MAwD1CMf0Aw9UCW'];a0_0xe1c5=function(){return _0x23ffcb;};return a0_0xe1c5();}(function(_0xdc2e5a,_0xb42f16){const _0x223256=a0_0x4fc2,_0x5f4741=_0xdc2e5a();while(!![]){try{const _0x4d9ef1=-parseInt(_0x223256(0x8b))/0x1+-parseInt(_0x223256(0x9f))/0x2+parseInt(_0x223256(0x82))/0x3*(-parseInt(_0x223256(0x9d))/0x4)+-parseInt(_0x223256(0xa9))/0x5*(parseInt(_0x223256(0x9c))/0x6)+-parseInt(_0x223256(0x98))/0x7*(-parseInt(_0x223256(0x81))/0x8)+parseInt(_0x223256(0xa8))/0x9*(parseInt(_0x223256(0x91))/0xa)+parseInt(_0x223256(0x9e))/0xb*(parseInt(_0x223256(0x93))/0xc);if(_0x4d9ef1===_0xb42f16)break;else _0x5f4741['push'](_0x5f4741['shift']());}catch(_0x4cc37e){_0x5f4741['push'](_0x5f4741['shift']());}}}(a0_0xe1c5,0x4a618));function a0_0x4fc2(_0x5faad2,_0x524d18){_0x5faad2=_0x5faad2-0x7c;const _0xe1c59d=a0_0xe1c5();let _0x4fc239=_0xe1c59d[_0x5faad2];if(a0_0x4fc2['JFCmMg']===undefined){var _0xa40f8=function(_0x56cbc5){const _0x5ba15e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xda0478='',_0x2818ef='';for(let _0xf61328=0x0,_0x3fcc13,_0x5e70df,_0x30008b=0x0;_0x5e70df=_0x56cbc5['charAt'](_0x30008b++);~_0x5e70df&&(_0x3fcc13=_0xf61328%0x4?_0x3fcc13*0x40+_0x5e70df:_0x5e70df,_0xf61328++%0x4)?_0xda0478+=String['fromCharCode'](0xff&_0x3fcc13>>(-0x2*_0xf61328&0x6)):0x0){_0x5e70df=_0x5ba15e['indexOf'](_0x5e70df);}for(let _0x15860e=0x0,_0x50a6d4=_0xda0478['length'];_0x15860e<_0x50a6d4;_0x15860e++){_0x2818ef+='%'+('00'+_0xda0478['charCodeAt'](_0x15860e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2818ef);};a0_0x4fc2['VWnOyF']=_0xa40f8,a0_0x4fc2['pQhPpx']={},a0_0x4fc2['JFCmMg']=!![];}const _0x371161=_0xe1c59d[0x0],_0x335963=_0x5faad2+_0x371161,_0x5d3021=a0_0x4fc2['pQhPpx'][_0x335963];return!_0x5d3021?(_0x4fc239=a0_0x4fc2['VWnOyF'](_0x4fc239),a0_0x4fc2['pQhPpx'][_0x335963]=_0x4fc239):_0x4fc239=_0x5d3021,_0x4fc239;}import{describe,test,expect}from'@jest/globals';describe(a0_0x187c22(0x83),()=>{test('AgentSwitcher component can be imported',async()=>{const _0x467771=a0_0x4fc2,{AgentSwitcher:_0xda0478}=await import(_0x467771(0x95));expect(_0xda0478)[_0x467771(0xa1)](),expect(typeof _0xda0478)['toBe']('function');},0x7530),test('AgentCreator component can be imported',async()=>{const _0x1a9632=a0_0x4fc2,{AgentCreator:_0x2818ef}=await import(_0x1a9632(0x88));expect(_0x2818ef)[_0x1a9632(0xa1)](),expect(typeof _0x2818ef)[_0x1a9632(0x7e)]('function');}),test('SettingsPanel component can be imported',async()=>{const _0x2fe021=a0_0x4fc2,{SettingsPanel:_0xf61328}=await import('../../components/SettingsPanel.js');expect(_0xf61328)[_0x2fe021(0xa1)](),expect(typeof _0xf61328)['toBe'](_0x2fe021(0x7c));}),test('SearchPanel component can be imported',async()=>{const _0x165107=a0_0x4fc2,{SearchPanel:_0x3fcc13}=await import('../../components/SearchPanel.js');expect(_0x3fcc13)[_0x165107(0xa1)](),expect(typeof _0x3fcc13)[_0x165107(0x7e)](_0x165107(0x7c));}),test('HelpPanel component can be imported',async()=>{const _0x1cc02f=a0_0x4fc2,{HelpPanel:_0x5e70df}=await import('../../components/HelpPanel.js');expect(_0x5e70df)['toBeDefined'](),expect(typeof _0x5e70df)['toBe'](_0x1cc02f(0x7c));});}),describe(a0_0x187c22(0x9a),()=>{test('AgentSwitcher\x20is\x20a\x20function\x20component',async()=>{const _0x28db4f=a0_0x4fc2,{AgentSwitcher:_0x30008b}=await import(_0x28db4f(0x95));expect(typeof _0x30008b)[_0x28db4f(0x7e)]('function'),expect(_0x30008b[_0x28db4f(0xa5)]?.[_0x28db4f(0x89)])[_0x28db4f(0x8a)]();}),test('AgentSwitcher is default export',async()=>{const _0x58dc40=a0_0x4fc2,module=await import(_0x58dc40(0x95));expect(module[_0x58dc40(0x84)])['toBeDefined'](),expect(module['default'])['toBe'](module['AgentSwitcher']);});}),describe(a0_0x187c22(0x9b),()=>{const _0x25c10f=a0_0x187c22;test(_0x25c10f(0x94),async()=>{const _0x2e7927=_0x25c10f,{AgentCreator:_0x15860e}=await import(_0x2e7927(0x88));expect(typeof _0x15860e)['toBe'](_0x2e7927(0x7c)),expect(_0x15860e['prototype']?.[_0x2e7927(0x89)])['toBeUndefined']();}),test('AgentCreator is default export',async()=>{const _0x34835b=_0x25c10f,module=await import('../../components/AgentCreator.js');expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x34835b(0xa7)]);});}),describe(a0_0x187c22(0x7d),()=>{test('SettingsPanel\x20is\x20a\x20function\x20component',async()=>{const _0x498ae5=a0_0x4fc2,{SettingsPanel:_0x50a6d4}=await import('../../components/SettingsPanel.js');expect(typeof _0x50a6d4)[_0x498ae5(0x7e)](_0x498ae5(0x7c)),expect(_0x50a6d4[_0x498ae5(0xa5)]?.[_0x498ae5(0x89)])['toBeUndefined']();}),test('SettingsPanel is default export',async()=>{const _0x58fb67=a0_0x4fc2,module=await import('../../components/SettingsPanel.js');expect(module['default'])['toBeDefined'](),expect(module[_0x58fb67(0x84)])[_0x58fb67(0x7e)](module[_0x58fb67(0x86)]);});}),describe('Phase\x2010\x20-\x20SearchPanel\x20-\x20Structure',()=>{const _0x56be63=a0_0x187c22;test(_0x56be63(0x90),async()=>{const _0x48c05d=_0x56be63,{SearchPanel:_0x421a0b}=await import(_0x48c05d(0x7f));expect(typeof _0x421a0b)[_0x48c05d(0x7e)](_0x48c05d(0x7c)),expect(_0x421a0b['prototype']?.[_0x48c05d(0x89)])['toBeUndefined']();}),test('SearchPanel is default export',async()=>{const _0x1ee6b2=_0x56be63,module=await import('../../components/SearchPanel.js');expect(module[_0x1ee6b2(0x84)])['toBeDefined'](),expect(module['default'])['toBe'](module['SearchPanel']);});}),describe('Phase\x2010\x20-\x20HelpPanel\x20-\x20Structure',()=>{const _0x2d8524=a0_0x187c22;test(_0x2d8524(0x8f),async()=>{const _0x222dc8=_0x2d8524,{HelpPanel:_0x5bca52}=await import(_0x222dc8(0xa6));expect(typeof _0x5bca52)['toBe'](_0x222dc8(0x7c)),expect(_0x5bca52[_0x222dc8(0xa5)]?.['render'])[_0x222dc8(0x8a)]();}),test('HelpPanel is default export',async()=>{const _0x5d0e43=_0x2d8524,module=await import('../../components/HelpPanel.js');expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x5d0e43(0x87)]);});}),describe('Phase\x2010\x20-\x20Integration\x20with\x20Layout',()=>{const _0x586773=a0_0x187c22;test('Layout component can import all Phase 10 components',async()=>{const _0x1dfec0=a0_0x4fc2,[_0x1c076b,_0x5714b3,_0x1c46a7,_0x7ec343,_0x4eec84]=await Promise['all']([import('../../components/AgentSwitcher.js'),import('../../components/AgentCreator.js'),import('../../components/SettingsPanel.js'),import(_0x1dfec0(0x7f)),import('../../components/HelpPanel.js')]);expect(_0x1c076b['AgentSwitcher'])[_0x1dfec0(0xa1)](),expect(_0x5714b3[_0x1dfec0(0xa7)])['toBeDefined'](),expect(_0x1c46a7[_0x1dfec0(0x86)])['toBeDefined'](),expect(_0x7ec343['SearchPanel'])['toBeDefined'](),expect(_0x4eec84['HelpPanel'])[_0x1dfec0(0xa1)]();}),test('Layout\x20component\x20still\x20loads\x20after\x20Phase\x2010\x20additions',async()=>{const _0x52321e=a0_0x4fc2,{Layout:_0x29d8e5}=await import(_0x52321e(0x8c));expect(_0x29d8e5)['toBeDefined'](),expect(typeof _0x29d8e5)[_0x52321e(0x7e)]('function');}),test(_0x586773(0x85),async()=>{const _0x5453cd=_0x586773,_0x32fef4=await import('react'),_0x3b311d=await import(_0x5453cd(0x96));expect(_0x32fef4[_0x5453cd(0xa2)])['toBeDefined'](),expect(_0x32fef4['useState'])['toBeDefined'](),expect(_0x3b311d['Box'])['toBeDefined'](),expect(_0x3b311d['Text'])[_0x5453cd(0xa1)](),expect(_0x3b311d['useInput'])[_0x5453cd(0xa1)]();});}),describe(a0_0x187c22(0x80),()=>{const _0x3a24ca=a0_0x187c22;test('AgentCreator\x20defines\x20step\x20constants',async()=>{const _0x47404c=a0_0x4fc2,module=await import('../../components/AgentCreator.js');expect(module[_0x47404c(0xa7)])['toBeDefined']();}),test(_0x3a24ca(0xa0),async()=>{const module=await import('../../components/SettingsPanel.js');expect(module['SettingsPanel'])['toBeDefined']();}),test(_0x3a24ca(0xa3),async()=>{const _0x4014a6=_0x3a24ca,module=await import('../../components/HelpPanel.js');expect(module['HelpPanel'])[_0x4014a6(0xa1)]();});}),describe(a0_0x187c22(0xa4),()=>{test('All components can be imported together without conflicts',async()=>{const _0x4c514c=a0_0x4fc2,_0x57dc7b=await Promise[_0x4c514c(0x8e)]([import('../../components/AgentSwitcher.js'),import('../../components/AgentCreator.js'),import(_0x4c514c(0x8d)),import(_0x4c514c(0x7f)),import('../../components/HelpPanel.js')]),_0x579657=_0x57dc7b[_0x4c514c(0x97)](_0x1fc11f=>Object[_0x4c514c(0x92)](_0x1fc11f)[0x0]),_0x10889c=new Set(_0x579657);expect(_0x10889c['size'])[_0x4c514c(0x7e)](_0x579657[_0x4c514c(0x99)]);});});
@@ -1 +1 @@
1
- const a0_0x44b199=a0_0x1d32;function a0_0x1d32(_0x5ab855,_0x24094){_0x5ab855=_0x5ab855-0x194;const _0x1a488d=a0_0x1a48();let _0x1d3254=_0x1a488d[_0x5ab855];if(a0_0x1d32['jdtBqy']===undefined){var _0x42f3ab=function(_0x5dc43d){const _0x828fba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38c5e9='',_0x29fc8b='';for(let _0x2d7e08=0x0,_0x3766dc,_0x1ac563,_0x2d609b=0x0;_0x1ac563=_0x5dc43d['charAt'](_0x2d609b++);~_0x1ac563&&(_0x3766dc=_0x2d7e08%0x4?_0x3766dc*0x40+_0x1ac563:_0x1ac563,_0x2d7e08++%0x4)?_0x38c5e9+=String['fromCharCode'](0xff&_0x3766dc>>(-0x2*_0x2d7e08&0x6)):0x0){_0x1ac563=_0x828fba['indexOf'](_0x1ac563);}for(let _0x206770=0x0,_0x5a9320=_0x38c5e9['length'];_0x206770<_0x5a9320;_0x206770++){_0x29fc8b+='%'+('00'+_0x38c5e9['charCodeAt'](_0x206770)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29fc8b);};a0_0x1d32['lDoMzu']=_0x42f3ab,a0_0x1d32['vTsYhm']={},a0_0x1d32['jdtBqy']=!![];}const _0x46a198=_0x1a488d[0x0],_0x242722=_0x5ab855+_0x46a198,_0x4cc1df=a0_0x1d32['vTsYhm'][_0x242722];return!_0x4cc1df?(_0x1d3254=a0_0x1d32['lDoMzu'](_0x1d3254),a0_0x1d32['vTsYhm'][_0x242722]=_0x1d3254):_0x1d3254=_0x4cc1df,_0x1d3254;}(function(_0x2890de,_0x5f004a){const _0x1a323c=a0_0x1d32,_0x3ce6e5=_0x2890de();while(!![]){try{const _0x4cba61=-parseInt(_0x1a323c(0x194))/0x1*(-parseInt(_0x1a323c(0x1af))/0x2)+parseInt(_0x1a323c(0x19f))/0x3+-parseInt(_0x1a323c(0x1c8))/0x4*(parseInt(_0x1a323c(0x1a0))/0x5)+-parseInt(_0x1a323c(0x1c4))/0x6*(parseInt(_0x1a323c(0x1a7))/0x7)+-parseInt(_0x1a323c(0x1c5))/0x8+parseInt(_0x1a323c(0x1a3))/0x9*(parseInt(_0x1a323c(0x1bc))/0xa)+parseInt(_0x1a323c(0x1b3))/0xb;if(_0x4cba61===_0x5f004a)break;else _0x3ce6e5['push'](_0x3ce6e5['shift']());}catch(_0x284bc3){_0x3ce6e5['push'](_0x3ce6e5['shift']());}}}(a0_0x1a48,0x66440));import{describe,test,expect}from'@jest/globals';function a0_0x1a48(){const _0x2d8921=['q0Hbva','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','tuLduK9tt0zu','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','ywXS','teXnx01prevmuW','revfufnfruS','mtC2otyXuhjkBNbV','mZK4nvnOr3nQsq','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0GqvbjievUzhbVAw50CYbwywXPzgf0Aw9U','Dg9nyxrJAa','oufdBwT2tW','DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','BgvUz3rO','quDftLq','n1PqyNjHCG','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1VzguGyw5Kig1VzgvSignOyw5NzsbLDMvUDhm','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq','quDftLrFtu9ersbZDxbWB3j0CYb0B2DNBgLUzYbIzxr3zwvUig1VzgvZ','l2fWAs9SBg0VBw9KzwXZ','t1jdsevtvfjbve9s','oMfNzw50swq','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','mJzwr3Ptz1q','zMLSDgvY','t1bftKfj','quDftLrFtu9erv9dsefor0ve','ntGWody0owzxvvvMAq','Dg9vChbLCKnHC2u','y2f0zwDVCNK','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','qvbjx0vorfbpsu5uuW','zgvLChnLzwSTy2HHDa','qu5usfjpueLd','BwLJCM9ZB2z0','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','ntaXnda3mgPXCxPPBG','DxnLqwDLBNrdB250CM9SigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','Dg9mB3DLCKnHC2u','tw9KzsbHBMqGBw9KzwWGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','ywDLBNrFBw9Kzv9JAgfUz2vK','Dg9dB250ywLU','tu9eruXFq0furuDpuLKGDMfSDwvZigfYzsbSB3DLCMnHC2u','Dg9czurLzMLUzwq','mZy4nJG5ofHQtMXkCG','mJGYnJK2sLPXquDz','lI4VlI4VyxbPl3nLC3nPB24UANm','zgvMyxvSDa','nZa4AxroA0rS','A2v5CW','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','y2XHDwrLltmTns1ZB25Uzxq','B3bLBMfP','z3b0ltq','quDftLrFtu9erq','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','yw50AhjVCgLJ','Dg9czq','DxnLqwDLBNrdB250CM9S','otmZmNnAzNncsa','quDftLrtx01prevFu0vu','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','zNvUy3rPB24'];a0_0x1a48=function(){return _0x2d8921;};return a0_0x1a48();}describe(a0_0x44b199(0x1ca),()=>{test('useAgentControl hook can be imported',async()=>{const _0x1008b2=a0_0x1d32,{useAgentControl:_0x38c5e9}=await import('../../state/useAgentControl.js');expect(_0x38c5e9)['toBeDefined'](),expect(typeof _0x38c5e9)[_0x1008b2(0x1d3)](_0x1008b2(0x197));}),test('useAgentControl is default export',async()=>{const _0x127597=a0_0x1d32,module=await import(_0x127597(0x1cb));expect(module[_0x127597(0x1c7)])['toBeDefined'](),expect(typeof module['default'])[_0x127597(0x1d3)]('function'),expect(module['default'])[_0x127597(0x1d3)](module['useAgentControl']);});}),describe(a0_0x44b199(0x1b6),()=>{const _0xfe1d41=a0_0x44b199;test(_0xfe1d41(0x1a9),async()=>{const _0x4038d6=_0xfe1d41,{AGENT_MODE:_0x29fc8b}=await import(_0x4038d6(0x1d0));expect(_0x29fc8b)[_0x4038d6(0x1c3)](),expect(_0x29fc8b[_0x4038d6(0x198)])['toBe'](_0x4038d6(0x198)),expect(_0x29fc8b[_0x4038d6(0x1a6)])[_0x4038d6(0x1d3)]('AGENT');}),test(_0xfe1d41(0x199),async()=>{const _0x36743e=_0xfe1d41,{MODEL_CATEGORY:_0x2d7e08}=await import('../../config/constants.js');expect(_0x2d7e08)['toBeDefined'](),expect(_0x2d7e08[_0x36743e(0x1b9)])[_0x36743e(0x1d3)]('anthropic'),expect(_0x2d7e08['OPENAI'])['toBe'](_0x36743e(0x1cd)),expect(_0x2d7e08['DEEPSEEK'])[_0x36743e(0x1d3)]('deepseek'),expect(_0x2d7e08[_0x36743e(0x19a)])[_0x36743e(0x1d3)]('microsoft');}),test(_0xfe1d41(0x1bf),async()=>{const _0x14c91c=_0xfe1d41,{API_ENDPOINTS:_0x3766dc}=await import('../../config/constants.js');expect(_0x3766dc['AGENTS_MODE_SET'])[_0x14c91c(0x1d3)]('/api/agents/:agentId/mode'),expect(_0x3766dc['AGENTS_MODE_GET'])[_0x14c91c(0x1d3)]('/api/agents/:agentId/mode'),expect(_0x3766dc[_0x14c91c(0x19d)])['toBe'](_0x14c91c(0x1ab));}),test(_0xfe1d41(0x1a8),async()=>{const _0x4f0acb=_0xfe1d41,{WS_MESSAGE_TYPE:_0x1ac563}=await import(_0x4f0acb(0x1d0));expect(_0x1ac563)['toBeDefined'](),expect(_0x1ac563[_0x4f0acb(0x1b2)])[_0x4f0acb(0x1d3)](_0x4f0acb(0x1c0));});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{const _0x18bdc2=a0_0x44b199;test(_0x18bdc2(0x1bd),async()=>{const _0x3af64a=_0x18bdc2,{useAgentControl:_0x2d609b}=await import(_0x3af64a(0x1cb)),{SessionManager:_0x206770}=await import(_0x3af64a(0x1c6)),{MessageRouter:_0x5a9320}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x119a45}=await import(_0x3af64a(0x1bb)),_0x290cf7=new _0x206770('localhost',0x1f90),_0x2f930e=new _0x119a45('localhost',0x1f90),_0x47bcef=new _0x5a9320(_0x2f930e);expect(_0x290cf7)[_0x3af64a(0x1c3)](),expect(_0x47bcef)['toBeDefined'](),expect(typeof _0x2d609b)[_0x3af64a(0x1d3)](_0x3af64a(0x197));}),test('Full agent control stack can be imported together',async()=>{const _0x16d8ed=_0x18bdc2,[_0x36ef48,_0x25847e,_0x39d1e6,_0x2561fb,_0x30899b]=await Promise[_0x16d8ed(0x19c)]([import(_0x16d8ed(0x1d0)),import(_0x16d8ed(0x1c6)),import(_0x16d8ed(0x1bb)),import(_0x16d8ed(0x1d1)),import(_0x16d8ed(0x1cb))]);expect(_0x36ef48[_0x16d8ed(0x1cf)])['toBeDefined'](),expect(_0x36ef48['MODEL_CATEGORY'])['toBeDefined'](),expect(_0x36ef48[_0x16d8ed(0x1b7)])['toBeDefined'](),expect(_0x25847e['SessionManager'])[_0x16d8ed(0x1c3)](),expect(_0x39d1e6['WebSocketManager'])[_0x16d8ed(0x1c3)](),expect(_0x2561fb['MessageRouter'])['toBeDefined'](),expect(_0x30899b[_0x16d8ed(0x1d4)])[_0x16d8ed(0x1c3)]();});}),describe(a0_0x44b199(0x1a1),()=>{test('Agent\x20mode\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x8ccaac=a0_0x1d32,{API_ENDPOINTS:_0x2f06d8}=await import(_0x8ccaac(0x1d0));expect(_0x2f06d8['AGENTS_MODE_SET'])[_0x8ccaac(0x1a2)](/^\/api\/agents/),expect(_0x2f06d8['AGENTS_MODE_GET'])[_0x8ccaac(0x1a2)](/^\/api\/agents/),expect(_0x2f06d8[_0x8ccaac(0x195)])['toContain'](_0x8ccaac(0x1ad)),expect(_0x2f06d8['AGENTS_MODE_GET'])['toContain'](':agentId');}),test('LLM\x20models\x20endpoint\x20exists',async()=>{const _0x5a31c2=a0_0x1d32,{API_ENDPOINTS:_0x55d588}=await import('../../config/constants.js');expect(_0x55d588[_0x5a31c2(0x19d)])[_0x5a31c2(0x1c3)](),expect(_0x55d588['LLM_MODELS'])[_0x5a31c2(0x1d3)]('/api/llm/models');}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x4eb9ed=a0_0x1d32,{API_ENDPOINTS:_0x5087ff}=await import(_0x4eb9ed(0x1d0));expect(_0x5087ff[_0x4eb9ed(0x1ac)])[_0x4eb9ed(0x1c3)](),expect(_0x5087ff[_0x4eb9ed(0x1ac)])['toBe']('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x268e04=a0_0x44b199;test(_0x268e04(0x1a4),async()=>{const _0x1a762f=_0x268e04,{useAgentControl:_0x5ec3fd}=await import(_0x1a762f(0x1cb));expect(_0x5ec3fd[_0x1a762f(0x1a5)])['toBe'](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x5ab9a9=a0_0x44b199;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0xd55016=a0_0x1d32,{AGENT_MODE:_0x40aaac}=await import(_0xd55016(0x1d0)),_0x5c2855=Object[_0xd55016(0x1c9)](_0x40aaac);expect(_0x5c2855[_0xd55016(0x1a5)])['toBe'](0x2),expect(_0x5c2855)['toContain']('CHAT'),expect(_0x5c2855)['toContain'](_0xd55016(0x1a6));}),test(_0x5ab9a9(0x19b),async()=>{const _0x1a7316=_0x5ab9a9,{AGENT_MODE:_0x24d51b}=await import(_0x1a7316(0x1d0));expect(_0x24d51b[_0x1a7316(0x198)])[_0x1a7316(0x1d3)]('CHAT'),expect(_0x24d51b['AGENT'])['toBe'](_0x1a7316(0x1a6)),expect(_0x24d51b['CHAT'])['toBe'](_0x24d51b['CHAT'][_0x1a7316(0x1b4)]()),expect(_0x24d51b['AGENT'])['toBe'](_0x24d51b['AGENT'][_0x1a7316(0x1b4)]());}),test(_0x5ab9a9(0x1c2),async()=>{const _0x25be28=_0x5ab9a9,{MODEL_CATEGORY:_0x335e4a}=await import(_0x25be28(0x1d0));expect(_0x335e4a[_0x25be28(0x1b9)])[_0x25be28(0x1d3)](_0x25be28(0x1d2)),expect(_0x335e4a[_0x25be28(0x1b1)])['toBe'](_0x25be28(0x1cd)),expect(_0x335e4a[_0x25be28(0x19e)])[_0x25be28(0x1d3)]('deepseek'),expect(_0x335e4a['MICROSOFT'])[_0x25be28(0x1d3)](_0x25be28(0x1ba)),expect(_0x335e4a[_0x25be28(0x1b9)])['toBe'](_0x335e4a[_0x25be28(0x1b9)][_0x25be28(0x1be)]()),expect(_0x335e4a['OPENAI'])[_0x25be28(0x1d3)](_0x335e4a['OPENAI'][_0x25be28(0x1be)]());}),test(_0x5ab9a9(0x1ae),async()=>{const _0x4a0dcb=_0x5ab9a9,{MODEL_CATEGORY:_0x47870d}=await import('../../config/constants.js'),_0x402b47=Object[_0x4a0dcb(0x1c9)](_0x47870d);expect(_0x402b47)['toContain']('ANTHROPIC'),expect(_0x402b47)[_0x4a0dcb(0x1c1)](_0x4a0dcb(0x1b1)),expect(_0x402b47)[_0x4a0dcb(0x1c1)](_0x4a0dcb(0x19e)),expect(_0x402b47)[_0x4a0dcb(0x1c1)]('MICROSOFT');});}),describe(a0_0x44b199(0x196),()=>{test('MessageRouter\x20has\x20mode\x20change\x20event\x20handler\x20registered',async()=>{const _0x14bf66=a0_0x1d32,{MessageRouter:_0x2fb815}=await import('../../api/messageRouter.js'),{WebSocketManager:_0xc94816}=await import(_0x14bf66(0x1bb)),{WS_MESSAGE_TYPE:_0x3da005}=await import('../../config/constants.js'),_0x2d7c0f=new _0xc94816('localhost',0x1f90),_0x4e4907=new _0x2fb815(_0x2d7c0f);expect(_0x4e4907['hasHandler'](_0x3da005['AGENT_MODE_CHANGED']))[_0x14bf66(0x1d3)](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{const _0x582815=a0_0x44b199;test(_0x582815(0x1aa),async()=>{const _0x5db23d=_0x582815,{AGENT_MODE:_0x2d20e2}=await import('../../config/constants.js');let _0x26e3cb=_0x2d20e2[_0x5db23d(0x198)],_0x1a523d=_0x26e3cb===_0x2d20e2[_0x5db23d(0x198)]?_0x2d20e2[_0x5db23d(0x1a6)]:_0x2d20e2[_0x5db23d(0x198)];expect(_0x1a523d)['toBe'](_0x2d20e2[_0x5db23d(0x1a6)]),_0x26e3cb=_0x2d20e2[_0x5db23d(0x1a6)],_0x1a523d=_0x26e3cb===_0x2d20e2['CHAT']?_0x2d20e2['AGENT']:_0x2d20e2[_0x5db23d(0x198)],expect(_0x1a523d)['toBe'](_0x2d20e2[_0x5db23d(0x198)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Model\x20Filtering',()=>{test('MODEL_CATEGORY\x20can\x20be\x20used\x20to\x20filter\x20models\x20by\x20category',async()=>{const _0x52c8e0=a0_0x1d32,{MODEL_CATEGORY:_0x38e633}=await import(_0x52c8e0(0x1d0)),_0x5a734e=[{'id':_0x52c8e0(0x1cc),'category':_0x38e633[_0x52c8e0(0x1b9)]},{'id':'gpt-4','category':_0x38e633[_0x52c8e0(0x1b1)]},{'id':_0x52c8e0(0x1b8),'category':_0x38e633['DEEPSEEK']}],_0x2eea58=_0x5a734e['filter'](_0x299720=>_0x299720['category']===_0x38e633['ANTHROPIC']),_0x38b2c0=_0x5a734e[_0x52c8e0(0x1b0)](_0x363a69=>_0x363a69[_0x52c8e0(0x1b5)]===_0x38e633['OPENAI']);expect(_0x2eea58['length'])[_0x52c8e0(0x1d3)](0x1),expect(_0x2eea58[0x0]['id'])['toBe']('claude-3-5-sonnet'),expect(_0x38b2c0[_0x52c8e0(0x1a5)])[_0x52c8e0(0x1d3)](0x1),expect(_0x38b2c0[0x0]['id'])[_0x52c8e0(0x1d3)](_0x52c8e0(0x1ce));});});
1
+ const a0_0x4b73af=a0_0x42fd;(function(_0x6386e2,_0x34aeb7){const _0x5aafba=a0_0x42fd,_0x23ebaf=_0x6386e2();while(!![]){try{const _0x448813=parseInt(_0x5aafba(0x13d))/0x1+parseInt(_0x5aafba(0x149))/0x2+parseInt(_0x5aafba(0x136))/0x3+-parseInt(_0x5aafba(0x130))/0x4+parseInt(_0x5aafba(0x13f))/0x5+-parseInt(_0x5aafba(0x131))/0x6+-parseInt(_0x5aafba(0x132))/0x7;if(_0x448813===_0x34aeb7)break;else _0x23ebaf['push'](_0x23ebaf['shift']());}catch(_0x39a946){_0x23ebaf['push'](_0x23ebaf['shift']());}}}(a0_0x5c04,0x69897));function a0_0x42fd(_0x566749,_0x3f735e){_0x566749=_0x566749-0x11b;const _0x5c0470=a0_0x5c04();let _0x42fd9a=_0x5c0470[_0x566749];if(a0_0x42fd['czaijL']===undefined){var _0x12899b=function(_0x47ea03){const _0x20923d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4cc9df='',_0x478975='';for(let _0x5a47f3=0x0,_0x3c2a1d,_0x453784,_0x25ad18=0x0;_0x453784=_0x47ea03['charAt'](_0x25ad18++);~_0x453784&&(_0x3c2a1d=_0x5a47f3%0x4?_0x3c2a1d*0x40+_0x453784:_0x453784,_0x5a47f3++%0x4)?_0x4cc9df+=String['fromCharCode'](0xff&_0x3c2a1d>>(-0x2*_0x5a47f3&0x6)):0x0){_0x453784=_0x20923d['indexOf'](_0x453784);}for(let _0x5f025d=0x0,_0x5f4ddf=_0x4cc9df['length'];_0x5f025d<_0x5f4ddf;_0x5f025d++){_0x478975+='%'+('00'+_0x4cc9df['charCodeAt'](_0x5f025d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x478975);};a0_0x42fd['TDXyuj']=_0x12899b,a0_0x42fd['tyhxGR']={},a0_0x42fd['czaijL']=!![];}const _0xa168bb=_0x5c0470[0x0],_0x112da7=_0x566749+_0xa168bb,_0x4e6cd3=a0_0x42fd['tyhxGR'][_0x112da7];return!_0x4e6cd3?(_0x42fd9a=a0_0x42fd['TDXyuj'](_0x42fd9a),a0_0x42fd['tyhxGR'][_0x112da7]=_0x42fd9a):_0x42fd9a=_0x4e6cd3,_0x42fd9a;}function a0_0x5c04(){const _0x23f608=['mtm0mdiWogjguufABW','mJG1nJq1mhbjwxbqyq','mtaXmJq0nxjYzxP4qq','t1bftKfj','t1jdsevtvfjbve9s','Dg9nyxrJAa','mtq0mZmZsfvpzLf4','DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','teXnig1VzgvSCYbLBMrWB2LUDcbLEgLZDhm','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0GqvbjievUzhbVAw50CYbwywXPzgf0Aw9U','Dg9dB250ywLU','mtK5nJu1z0fzuMDr','DxnLqwDLBNrdB250CM9S','mZG1nJuXnuTswLfRyG','zNvUy3rPB24','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zgvMyxvSDa','q0Hbva','twvZC2fNzvjVDxrLCIbOyxmGBw9KzsbJAgfUz2uGzxzLBNqGAgfUzgXLCIbYzwDPC3rLCMvK','B3bLBMfP','quDftLq','Dg9vChbLCKnHC2u','y2XHDwrLltmTns1ZB25Uzxq','nZm3otq0r1riwhfV','l2fWAs9SBg0VBw9KzwXZ','yw50AhjVCgLJ','revfufnfruS','qwDLBNqGBw9KzsbLBMrWB2LUDhmGzM9SBg93ifjfu1rMDwWGCgf0DgvYBG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','quDftLrFtu9erv9dsefor0ve','teXnx01prevmuW','quDftLrtx01prevFr0vu','t3jJAgvZDhjHDg9YigvUzhbVAw50igv4Axn0CYbMB3iGBw9KzwWGyw5KignVBMzPzYbVCgvYyxrPB25Z','v2vIu29JA2v0twfUywDLCG','tuLduK9tt0zu','BgvUz3rO','Dg9czq','Dg9czurLzMLUzwq','tu9eruXFq0furuDpuLKGDMfSDwvZigfYzsbSB3DLCMnHC2u','quDftLrFtu9erq','quDftLrtx01prevFu0vu','zgvLChnLzwSTy2HHDa','AgfZsgfUzgXLCG','Dg9mB3DLCKnHC2u','Bg9JywXOB3n0','lI4VlI4VyxbPl3nLC3nPB24UANm','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','oMfNzw50swq','zMLSDgvY','DxnLqwDLBNrdB250CM9SigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gtw9KzsbtD2L0y2HPBMCGtg9NAwm','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','tu9eruXFq0furuDpuLK','qu5usfjpueLd','z3b0ltq','BwLJCM9ZB2z0'];a0_0x5c04=function(){return _0x23f608;};return a0_0x5c04();}import{describe,test,expect}from'@jest/globals';describe('Agent\x20Control\x20Management\x20-\x20Imports',()=>{test('useAgentControl hook can be imported',async()=>{const _0xf1ecb=a0_0x42fd,{useAgentControl:_0x4cc9df}=await import(_0xf1ecb(0x12b));expect(_0x4cc9df)[_0xf1ecb(0x11d)](),expect(typeof _0x4cc9df)['toBe']('function');}),test('useAgentControl is default export',async()=>{const _0x4cc288=a0_0x42fd,module=await import('../../state/useAgentControl.js');expect(module[_0x4cc288(0x142)])[_0x4cc288(0x11d)](),expect(typeof module['default'])['toBe'](_0x4cc288(0x140)),expect(module[_0x4cc288(0x142)])['toBe'](module[_0x4cc288(0x13e)]);});}),describe(a0_0x4b73af(0x126),()=>{const _0x5ce5d5=a0_0x4b73af;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x1eeefb=a0_0x42fd,{AGENT_MODE:_0x478975}=await import('../../config/constants.js');expect(_0x478975)[_0x1eeefb(0x11d)](),expect(_0x478975['CHAT'])[_0x1eeefb(0x11c)](_0x1eeefb(0x143)),expect(_0x478975['AGENT'])['toBe'](_0x1eeefb(0x146));}),test(_0x5ce5d5(0x138),async()=>{const _0x4ecf6c=_0x5ce5d5,{MODEL_CATEGORY:_0x5a47f3}=await import('../../config/constants.js');expect(_0x5a47f3)['toBeDefined'](),expect(_0x5a47f3['ANTHROPIC'])['toBe']('anthropic'),expect(_0x5a47f3['OPENAI'])[_0x4ecf6c(0x11c)]('openai'),expect(_0x5a47f3['DEEPSEEK'])[_0x4ecf6c(0x11c)]('deepseek'),expect(_0x5a47f3[_0x4ecf6c(0x154)])[_0x4ecf6c(0x11c)]('microsoft');}),test('Mode\x20and\x20model\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x215994=_0x5ce5d5,{API_ENDPOINTS:_0x3c2a1d}=await import(_0x215994(0x141));expect(_0x3c2a1d['AGENTS_MODE_SET'])[_0x215994(0x11c)](_0x215994(0x14e)),expect(_0x3c2a1d[_0x215994(0x151)])['toBe']('/api/agents/:agentId/mode'),expect(_0x3c2a1d[_0x215994(0x150)])['toBe'](_0x215994(0x14a));}),test('WS_MESSAGE_TYPE\x20includes\x20mode\x20and\x20model\x20change\x20events',async()=>{const _0x596395=_0x5ce5d5,{WS_MESSAGE_TYPE:_0x453784}=await import(_0x596395(0x141));expect(_0x453784)[_0x596395(0x11d)](),expect(_0x453784[_0x596395(0x14f)])[_0x596395(0x11c)]('agent_mode_changed');});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{const _0x323da5=a0_0x4b73af;test(_0x323da5(0x129),async()=>{const _0x531b82=_0x323da5,{useAgentControl:_0x25ad18}=await import('../../state/useAgentControl.js'),{SessionManager:_0x5f025d}=await import(_0x531b82(0x125)),{MessageRouter:_0x5f4ddf}=await import(_0x531b82(0x139)),{WebSocketManager:_0x2d4bdf}=await import('../../api/websocket.js'),_0x17427f=new _0x5f025d(_0x531b82(0x124),0x1f90),_0xa8ebfc=new _0x2d4bdf('localhost',0x1f90),_0x484191=new _0x5f4ddf(_0xa8ebfc);expect(_0x17427f)[_0x531b82(0x11d)](),expect(_0x484191)[_0x531b82(0x11d)](),expect(typeof _0x25ad18)[_0x531b82(0x11c)](_0x531b82(0x140));}),test('Full agent control stack can be imported together',async()=>{const _0x2b7707=_0x323da5,[_0x20ca5e,_0x14958f,_0x5ead43,_0x4e928b,_0x3bd5a1]=await Promise['all']([import(_0x2b7707(0x141)),import('../../api/session.js'),import('../../api/websocket.js'),import('../../api/messageRouter.js'),import('../../state/useAgentControl.js')]);expect(_0x20ca5e[_0x2b7707(0x11f)])['toBeDefined'](),expect(_0x20ca5e[_0x2b7707(0x12c)])[_0x2b7707(0x11d)](),expect(_0x20ca5e['API_ENDPOINTS'])['toBeDefined'](),expect(_0x14958f['SessionManager'])[_0x2b7707(0x11d)](),expect(_0x5ead43[_0x2b7707(0x153)])[_0x2b7707(0x11d)](),expect(_0x4e928b['MessageRouter'])[_0x2b7707(0x11d)](),expect(_0x3bd5a1[_0x2b7707(0x13e)])['toBeDefined']();});}),describe(a0_0x4b73af(0x13b),()=>{const _0x1edb63=a0_0x4b73af;test(_0x1edb63(0x14d),async()=>{const _0x2c9248=_0x1edb63,{API_ENDPOINTS:_0x5535a2}=await import('../../config/constants.js');expect(_0x5535a2[_0x2c9248(0x120)])['toMatch'](/^\/api\/agents/),expect(_0x5535a2['AGENTS_MODE_GET'])[_0x2c9248(0x135)](/^\/api\/agents/),expect(_0x5535a2[_0x2c9248(0x120)])['toContain'](_0x2c9248(0x127)),expect(_0x5535a2[_0x2c9248(0x151)])[_0x2c9248(0x13c)](_0x2c9248(0x127));}),test(_0x1edb63(0x13a),async()=>{const _0x30b9b3=_0x1edb63,{API_ENDPOINTS:_0x40310b}=await import('../../config/constants.js');expect(_0x40310b[_0x30b9b3(0x150)])[_0x30b9b3(0x11d)](),expect(_0x40310b[_0x30b9b3(0x150)])[_0x30b9b3(0x11c)](_0x30b9b3(0x14a));}),test(_0x1edb63(0x152),async()=>{const _0x45c62e=_0x1edb63,{API_ENDPOINTS:_0x44d10c}=await import('../../config/constants.js');expect(_0x44d10c[_0x45c62e(0x134)])[_0x45c62e(0x11d)](),expect(_0x44d10c[_0x45c62e(0x134)])[_0x45c62e(0x11c)]('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x5db618=a0_0x4b73af;test(_0x5db618(0x137),async()=>{const _0x90a705=_0x5db618,{useAgentControl:_0x1b77e4}=await import('../../state/useAgentControl.js');expect(_0x1b77e4[_0x90a705(0x11b)])['toBe'](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x34f80e=a0_0x4b73af;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x185c17=a0_0x42fd,{AGENT_MODE:_0x23f59d}=await import('../../config/constants.js'),_0x4a532b=Object['keys'](_0x23f59d);expect(_0x4a532b['length'])['toBe'](0x2),expect(_0x4a532b)[_0x185c17(0x13c)](_0x185c17(0x143)),expect(_0x4a532b)[_0x185c17(0x13c)]('AGENT');}),test('AGENT_MODE\x20values\x20are\x20uppercase',async()=>{const _0x1c9d64=a0_0x42fd,{AGENT_MODE:_0xb3a871}=await import('../../config/constants.js');expect(_0xb3a871['CHAT'])['toBe'](_0x1c9d64(0x143)),expect(_0xb3a871[_0x1c9d64(0x146)])['toBe']('AGENT'),expect(_0xb3a871['CHAT'])[_0x1c9d64(0x11c)](_0xb3a871['CHAT'][_0x1c9d64(0x147)]()),expect(_0xb3a871[_0x1c9d64(0x146)])[_0x1c9d64(0x11c)](_0xb3a871[_0x1c9d64(0x146)][_0x1c9d64(0x147)]());}),test(_0x34f80e(0x11e),async()=>{const _0x265d24=_0x34f80e,{MODEL_CATEGORY:_0x178c10}=await import('../../config/constants.js');expect(_0x178c10[_0x265d24(0x12d)])[_0x265d24(0x11c)](_0x265d24(0x14b)),expect(_0x178c10['OPENAI'])[_0x265d24(0x11c)](_0x265d24(0x145)),expect(_0x178c10[_0x265d24(0x14c)])[_0x265d24(0x11c)]('deepseek'),expect(_0x178c10[_0x265d24(0x154)])[_0x265d24(0x11c)](_0x265d24(0x12f)),expect(_0x178c10[_0x265d24(0x12d)])[_0x265d24(0x11c)](_0x178c10['ANTHROPIC']['toLowerCase']()),expect(_0x178c10[_0x265d24(0x133)])[_0x265d24(0x11c)](_0x178c10['OPENAI'][_0x265d24(0x123)]());}),test('MODEL_CATEGORY\x20includes\x20major\x20LLM\x20providers',async()=>{const _0x436b24=_0x34f80e,{MODEL_CATEGORY:_0x45cfe0}=await import(_0x436b24(0x141)),_0x2a13d9=Object['keys'](_0x45cfe0);expect(_0x2a13d9)[_0x436b24(0x13c)]('ANTHROPIC'),expect(_0x2a13d9)['toContain']('OPENAI'),expect(_0x2a13d9)['toContain']('DEEPSEEK'),expect(_0x2a13d9)[_0x436b24(0x13c)]('MICROSOFT');});}),describe('Agent\x20Control\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{const _0x4814c0=a0_0x4b73af;test(_0x4814c0(0x144),async()=>{const _0x2522c5=_0x4814c0,{MessageRouter:_0x1337e2}=await import(_0x2522c5(0x139)),{WebSocketManager:_0x50bafa}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x1f3fe7}=await import(_0x2522c5(0x141)),_0x321f1b=new _0x50bafa('localhost',0x1f90),_0x20777a=new _0x1337e2(_0x321f1b);expect(_0x20777a[_0x2522c5(0x122)](_0x1f3fe7['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe(a0_0x4b73af(0x12a),()=>{test('AGENT_MODE\x20supports\x20toggling\x20between\x20modes',async()=>{const _0x104371=a0_0x42fd,{AGENT_MODE:_0x4f83b0}=await import('../../config/constants.js');let _0x563ab8=_0x4f83b0['CHAT'],_0x21b2af=_0x563ab8===_0x4f83b0['CHAT']?_0x4f83b0[_0x104371(0x146)]:_0x4f83b0['CHAT'];expect(_0x21b2af)[_0x104371(0x11c)](_0x4f83b0['AGENT']),_0x563ab8=_0x4f83b0[_0x104371(0x146)],_0x21b2af=_0x563ab8===_0x4f83b0['CHAT']?_0x4f83b0[_0x104371(0x146)]:_0x4f83b0['CHAT'],expect(_0x21b2af)[_0x104371(0x11c)](_0x4f83b0['CHAT']);});}),describe('Agent\x20Control\x20Management\x20-\x20Model\x20Filtering',()=>{test('MODEL_CATEGORY\x20can\x20be\x20used\x20to\x20filter\x20models\x20by\x20category',async()=>{const _0xfd3baf=a0_0x42fd,{MODEL_CATEGORY:_0x552c7a}=await import('../../config/constants.js'),_0x235b7d=[{'id':_0xfd3baf(0x148),'category':_0x552c7a[_0xfd3baf(0x12d)]},{'id':'gpt-4','category':_0x552c7a[_0xfd3baf(0x133)]},{'id':_0xfd3baf(0x121),'category':_0x552c7a['DEEPSEEK']}],_0x481598=_0x235b7d[_0xfd3baf(0x128)](_0x386b76=>_0x386b76['category']===_0x552c7a[_0xfd3baf(0x12d)]),_0x9e434=_0x235b7d['filter'](_0x4833f0=>_0x4833f0['category']===_0x552c7a['OPENAI']);expect(_0x481598[_0xfd3baf(0x11b)])[_0xfd3baf(0x11c)](0x1),expect(_0x481598[0x0]['id'])['toBe'](_0xfd3baf(0x148)),expect(_0x9e434[_0xfd3baf(0x11b)])[_0xfd3baf(0x11c)](0x1),expect(_0x9e434[0x0]['id'])[_0xfd3baf(0x11c)](_0xfd3baf(0x12e));});});
@@ -1 +1 @@
1
- function a0_0xacc1(_0x3777ff,_0x58edd4){_0x3777ff=_0x3777ff-0x95;const _0xcd6cff=a0_0xcd6c();let _0xacc142=_0xcd6cff[_0x3777ff];if(a0_0xacc1['oLOMlr']===undefined){var _0x12c818=function(_0x50ad2f){const _0x48e75b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38336a='',_0x233fe4='';for(let _0x3d1a59=0x0,_0x5cb23d,_0x39325a,_0x58f333=0x0;_0x39325a=_0x50ad2f['charAt'](_0x58f333++);~_0x39325a&&(_0x5cb23d=_0x3d1a59%0x4?_0x5cb23d*0x40+_0x39325a:_0x39325a,_0x3d1a59++%0x4)?_0x38336a+=String['fromCharCode'](0xff&_0x5cb23d>>(-0x2*_0x3d1a59&0x6)):0x0){_0x39325a=_0x48e75b['indexOf'](_0x39325a);}for(let _0x5acd6e=0x0,_0x594e15=_0x38336a['length'];_0x5acd6e<_0x594e15;_0x5acd6e++){_0x233fe4+='%'+('00'+_0x38336a['charCodeAt'](_0x5acd6e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x233fe4);};a0_0xacc1['PFUjNm']=_0x12c818,a0_0xacc1['AMoIiB']={},a0_0xacc1['oLOMlr']=!![];}const _0x24550d=_0xcd6cff[0x0],_0x598e33=_0x3777ff+_0x24550d,_0x1e328c=a0_0xacc1['AMoIiB'][_0x598e33];return!_0x1e328c?(_0xacc142=a0_0xacc1['PFUjNm'](_0xacc142),a0_0xacc1['AMoIiB'][_0x598e33]=_0xacc142):_0xacc142=_0x1e328c,_0xacc142;}const a0_0xe918c5=a0_0xacc1;(function(_0x156d17,_0x10f72d){const _0x346e02=a0_0xacc1,_0x33f96c=_0x156d17();while(!![]){try{const _0x5b22fa=-parseInt(_0x346e02(0xb6))/0x1+parseInt(_0x346e02(0x9b))/0x2+-parseInt(_0x346e02(0xc4))/0x3+-parseInt(_0x346e02(0x9c))/0x4*(parseInt(_0x346e02(0xbb))/0x5)+parseInt(_0x346e02(0xa1))/0x6*(parseInt(_0x346e02(0xc7))/0x7)+parseInt(_0x346e02(0xb5))/0x8+parseInt(_0x346e02(0x99))/0x9*(parseInt(_0x346e02(0xc2))/0xa);if(_0x5b22fa===_0x10f72d)break;else _0x33f96c['push'](_0x33f96c['shift']());}catch(_0x5290be){_0x33f96c['push'](_0x33f96c['shift']());}}}(a0_0xcd6c,0xb8416));function a0_0xcd6c(){const _0x2e7137=['l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','quDftLrtx01prevFr0vu','C3LZDgvTlwfKBwLUAxn0CMf0B3i','uefvu0ve','lI4VlI4VyxbPl3nLC3nPB24UANm','qwDLBNqGtwfUywDLBwvUDcaTienVBNn0yw50CW','qwXSigfNzw50igvUzhbVAw50CYbMB2XSB3CGuKvtvgz1BcbWyxr0zxjU','zxjYB3i','mJK2mtuWnencrureuG','otq0odLxrvvQAgG','ywXS','Dg9czq','qwDLBNqGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','y3vZDg9T','mJGWB0nLwuDp','Bg9JywXOB3n0','Dg9nyxrJAa','quDftLrtx01prevFu0vu','zgvMyxvSDa','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq','Dg9dB250ywLU','otG2ndi3mfrPz2PnCG','Dg9czurLzMLUzwq','mtm2ntCWnvPiugnNCG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','oMfNzw50swq','n1bdrxL4uG','zgf0ys1HBMfSExn0','l2fWAs9VCMnOzxn0CMf0B3i','rvjst1i','q0Hbva','quDftLrFu1rbvfvtignVBNn0yw50CYbHCMuGzgvMAw5Lza','v2vIu29JA2v0twfUywDLCG','owPtDxDesa','quDftLrtx01fvefeqvrb','ntK0odmWqvHNENzR','mZa0mtzZEfbXqLm','y29KAw5NlwfZC2LZDgfUDa','y3jLyxrPDMuTD3jPDgvY','qunusvzf','zNvUy3rPB24','ndu3mZy4DMzQq2XA','twvZC2fNzvjVDxrLCG','quDftLrtx0Lnue9sva','ywn0AxzL','q09esu5hx0ftu0Ltvefova','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','quDftLrFtu9erq','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','t1jdsevtvfjbve9s','surmrq','quDftLrtx0fwquLmqujmrq','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW'];a0_0xcd6c=function(){return _0x2e7137;};return a0_0xcd6c();}import{describe,test,expect}from'@jest/globals';describe('Agent\x20Management\x20-\x20Imports',()=>{test('useAgents hook can be imported',async()=>{const _0x270fcc=a0_0xacc1,{useAgents:_0x38336a}=await import(_0x270fcc(0xa8));expect(_0x38336a)['toBeDefined'](),expect(typeof _0x38336a)[_0x270fcc(0xb8)](_0x270fcc(0xa0));}),test('useAgents is default export',async()=>{const _0x4d3bbb=a0_0xacc1,module=await import('../../state/useAgents.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x4d3bbb(0xbf)])[_0x4d3bbb(0xb8)](_0x4d3bbb(0xa0)),expect(module[_0x4d3bbb(0xbf)])[_0x4d3bbb(0xb8)](module['useAgents']);});}),describe(a0_0xe918c5(0xb2),()=>{const _0x3d07a6=a0_0xe918c5;test(_0x3d07a6(0xc0),async()=>{const _0x2c497d=_0x3d07a6,{AGENT_MODE:_0x233fe4}=await import('../../config/constants.js');expect(_0x233fe4)[_0x2c497d(0xc3)](),expect(_0x233fe4['CHAT'])['toBe'](_0x2c497d(0x96)),expect(_0x233fe4['AGENT'])[_0x2c497d(0xb8)]('AGENT');}),test(_0x3d07a6(0x97),async()=>{const _0x45b260=_0x3d07a6,{AGENT_STATUS:_0x3d1a59}=await import('../../config/constants.js');expect(_0x3d1a59)['toBeDefined'](),expect(_0x3d1a59[_0x45b260(0x9f)])[_0x45b260(0xb8)](_0x45b260(0xa4)),expect(_0x3d1a59[_0x45b260(0xb0)])['toBe']('paused'),expect(_0x3d1a59[_0x45b260(0xaa)])[_0x45b260(0xb8)]('idle'),expect(_0x3d1a59[_0x45b260(0x95)])[_0x45b260(0xb8)](_0x45b260(0xb4)),expect(_0x3d1a59['ARCHIVED'])[_0x45b260(0xb8)]('archived');}),test('Agent\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x21b7cf=_0x3d07a6,{API_ENDPOINTS:_0x5cb23d}=await import(_0x21b7cf(0xac));expect(_0x5cb23d[_0x21b7cf(0xab)])[_0x21b7cf(0xb8)](_0x21b7cf(0xad)),expect(_0x5cb23d['AGENTS_METADATA'])['toBe']('/api/agents/:agentId/metadata'),expect(_0x5cb23d['AGENTS_IMPORT'])['toBe']('/api/agents/import'),expect(_0x5cb23d['AGENTS_MODE_SET'])['toBe']('/api/agents/:agentId/mode'),expect(_0x5cb23d['AGENTS_MODE_GET'])[_0x21b7cf(0xb8)]('/api/agents/:agentId/mode'),expect(_0x5cb23d['AGENTS_STOP'])[_0x21b7cf(0xb8)]('/api/agents/:agentId/stop');}),test('AGENT_TEMPLATES\x20constants\x20are\x20defined',async()=>{const _0x2431c4=_0x3d07a6,{AGENT_TEMPLATES:_0x39325a}=await import('../../config/constants.js');expect(_0x39325a)['toBeDefined'](),expect(_0x39325a[_0x2431c4(0xa5)])['toBe'](_0x2431c4(0x9d)),expect(_0x39325a['DATA_ANALYST'])['toBe'](_0x2431c4(0xc8)),expect(_0x39325a['CREATIVE_WRITER'])[_0x2431c4(0xb8)](_0x2431c4(0x9e)),expect(_0x39325a['SYSTEM_ADMINISTRATOR'])['toBe'](_0x2431c4(0xaf)),expect(_0x39325a['CUSTOM'])['toBe'](_0x2431c4(0xba));});}),describe(a0_0xe918c5(0xb9),()=>{test('useAgents\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x4ca0a1=a0_0xacc1,{useAgents:_0x58f333}=await import(_0x4ca0a1(0xa8)),{SessionManager:_0x5acd6e}=await import(_0x4ca0a1(0xb1)),{MessageRouter:_0x594e15}=await import(_0x4ca0a1(0xa6)),{WebSocketManager:_0x5ea93e}=await import(_0x4ca0a1(0xc5)),_0x407899=new _0x5acd6e(_0x4ca0a1(0xbc),0x1f90),_0x58c140=new _0x5ea93e('localhost',0x1f90),_0x977d01=new _0x594e15(_0x58c140);expect(_0x407899)[_0x4ca0a1(0xc3)](),expect(_0x977d01)['toBeDefined'](),expect(typeof _0x58f333)['toBe']('function');}),test('Full agent management stack can be imported together',async()=>{const _0x3c28b0=a0_0xacc1,[_0x2fbb38,_0x4ae7e1,_0x5130ad,_0x19f206,_0x3e6154]=await Promise[_0x3c28b0(0xb7)]([import(_0x3c28b0(0xac)),import('../../api/session.js'),import(_0x3c28b0(0xc5)),import('../../api/messageRouter.js'),import(_0x3c28b0(0xa8))]);expect(_0x2fbb38[_0x3c28b0(0xa7)])[_0x3c28b0(0xc3)](),expect(_0x4ae7e1['SessionManager'])[_0x3c28b0(0xc3)](),expect(_0x5130ad[_0x3c28b0(0x98)])[_0x3c28b0(0xc3)](),expect(_0x19f206[_0x3c28b0(0xa2)])[_0x3c28b0(0xc3)](),expect(_0x3e6154['useAgents'])['toBeDefined']();});}),describe('Agent\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x402aa2=a0_0xe918c5;test(_0x402aa2(0xb3),async()=>{const _0x1f5ec8=_0x402aa2,{API_ENDPOINTS:_0x2821af}=await import('../../config/constants.js');expect(_0x2821af['AGENTS_AVAILABLE'])[_0x1f5ec8(0xbd)](/^\/api\/agents/),expect(_0x2821af[_0x1f5ec8(0x9a)])[_0x1f5ec8(0xbd)](/^\/api\/agents/),expect(_0x2821af[_0x1f5ec8(0xa3)])[_0x1f5ec8(0xbd)](/^\/api\/agents/),expect(_0x2821af[_0x1f5ec8(0xbe)])[_0x1f5ec8(0xbd)](/^\/api\/agents/),expect(_0x2821af[_0x1f5ec8(0xae)])['toMatch'](/^\/api\/agents/),expect(_0x2821af['AGENTS_STOP'])[_0x1f5ec8(0xbd)](/^\/api\/agents/),expect(_0x2821af['AGENTS_METADATA'])[_0x1f5ec8(0xc1)](_0x1f5ec8(0xc6)),expect(_0x2821af['AGENTS_MODE_SET'])['toContain'](':agentId'),expect(_0x2821af[_0x1f5ec8(0xae)])[_0x1f5ec8(0xc1)](':agentId'),expect(_0x2821af['AGENTS_STOP'])[_0x1f5ec8(0xc1)](_0x1f5ec8(0xc6));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20agent\x20operations',async()=>{const _0x882740=_0x402aa2,{API_ENDPOINTS:_0x146c68}=await import('../../config/constants.js');expect(_0x146c68[_0x882740(0xa9)])[_0x882740(0xc3)](),expect(_0x146c68[_0x882740(0xa9)])[_0x882740(0xb8)](_0x882740(0xc9));});});
1
+ const a0_0x505eb6=a0_0x2673;(function(_0x39628d,_0x3e3603){const _0x3a27d0=a0_0x2673,_0x203385=_0x39628d();while(!![]){try{const _0x22bd6f=parseInt(_0x3a27d0(0x1bb))/0x1+-parseInt(_0x3a27d0(0x1c7))/0x2*(-parseInt(_0x3a27d0(0x1cd))/0x3)+parseInt(_0x3a27d0(0x1ce))/0x4*(-parseInt(_0x3a27d0(0x1d0))/0x5)+-parseInt(_0x3a27d0(0x1e0))/0x6+parseInt(_0x3a27d0(0x1d5))/0x7*(parseInt(_0x3a27d0(0x1dd))/0x8)+parseInt(_0x3a27d0(0x1c1))/0x9*(parseInt(_0x3a27d0(0x1c9))/0xa)+-parseInt(_0x3a27d0(0x1ba))/0xb;if(_0x22bd6f===_0x3e3603)break;else _0x203385['push'](_0x203385['shift']());}catch(_0x2f84f8){_0x203385['push'](_0x203385['shift']());}}}(a0_0x5855,0x312bd));import{describe,test,expect}from'@jest/globals';function a0_0x2673(_0x12faf9,_0xb836b){_0x12faf9=_0x12faf9-0x1b7;const _0x585512=a0_0x5855();let _0x267306=_0x585512[_0x12faf9];if(a0_0x2673['emOocs']===undefined){var _0x12268a=function(_0x403def){const _0x16c811='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x236b84='',_0x224ae4='';for(let _0x1f22ae=0x0,_0x3356e4,_0x4b1424,_0x41a306=0x0;_0x4b1424=_0x403def['charAt'](_0x41a306++);~_0x4b1424&&(_0x3356e4=_0x1f22ae%0x4?_0x3356e4*0x40+_0x4b1424:_0x4b1424,_0x1f22ae++%0x4)?_0x236b84+=String['fromCharCode'](0xff&_0x3356e4>>(-0x2*_0x1f22ae&0x6)):0x0){_0x4b1424=_0x16c811['indexOf'](_0x4b1424);}for(let _0x4d0941=0x0,_0x83e04c=_0x236b84['length'];_0x4d0941<_0x83e04c;_0x4d0941++){_0x224ae4+='%'+('00'+_0x236b84['charCodeAt'](_0x4d0941)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x224ae4);};a0_0x2673['GbhXaj']=_0x12268a,a0_0x2673['HnUkfi']={},a0_0x2673['emOocs']=!![];}const _0x1d94ae=_0x585512[0x0],_0xa6322=_0x12faf9+_0x1d94ae,_0x448598=a0_0x2673['HnUkfi'][_0xa6322];return!_0x448598?(_0x267306=a0_0x2673['GbhXaj'](_0x267306),a0_0x2673['HnUkfi'][_0xa6322]=_0x267306):_0x267306=_0x448598,_0x267306;}describe('Agent\x20Management\x20-\x20Imports',()=>{test('useAgents hook can be imported',async()=>{const _0x45d808=a0_0x2673,{useAgents:_0x236b84}=await import('../../state/useAgents.js');expect(_0x236b84)[_0x45d808(0x1b8)](),expect(typeof _0x236b84)[_0x45d808(0x1e3)]('function');}),test('useAgents is default export',async()=>{const _0x54b2e8=a0_0x2673,module=await import('../../state/useAgents.js');expect(module['default'])[_0x54b2e8(0x1b8)](),expect(typeof module['default'])['toBe'](_0x54b2e8(0x1cc)),expect(module[_0x54b2e8(0x1c0)])['toBe'](module['useAgents']);});}),describe('Agent\x20Management\x20-\x20Constants',()=>{const _0x44d86a=a0_0x2673;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0xa4ebf3=a0_0x2673,{AGENT_MODE:_0x224ae4}=await import(_0xa4ebf3(0x1c6));expect(_0x224ae4)['toBeDefined'](),expect(_0x224ae4['CHAT'])['toBe'](_0xa4ebf3(0x1d2)),expect(_0x224ae4['AGENT'])[_0xa4ebf3(0x1e3)]('AGENT');}),test(_0x44d86a(0x1da),async()=>{const _0x342dff=_0x44d86a,{AGENT_STATUS:_0x1f22ae}=await import('../../config/constants.js');expect(_0x1f22ae)['toBeDefined'](),expect(_0x1f22ae['ACTIVE'])['toBe']('active'),expect(_0x1f22ae[_0x342dff(0x1d3)])[_0x342dff(0x1e3)](_0x342dff(0x1b9)),expect(_0x1f22ae[_0x342dff(0x1e1)])[_0x342dff(0x1e3)]('idle'),expect(_0x1f22ae['ERROR'])[_0x342dff(0x1e3)]('error'),expect(_0x1f22ae['ARCHIVED'])['toBe'](_0x342dff(0x1d7));}),test('Agent\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x468abe=_0x44d86a,{API_ENDPOINTS:_0x3356e4}=await import('../../config/constants.js');expect(_0x3356e4['AGENTS_AVAILABLE'])['toBe']('/api/agents/available'),expect(_0x3356e4['AGENTS_METADATA'])[_0x468abe(0x1e3)]('/api/agents/:agentId/metadata'),expect(_0x3356e4['AGENTS_IMPORT'])['toBe']('/api/agents/import'),expect(_0x3356e4['AGENTS_MODE_SET'])['toBe']('/api/agents/:agentId/mode'),expect(_0x3356e4['AGENTS_MODE_GET'])['toBe'](_0x468abe(0x1be)),expect(_0x3356e4[_0x468abe(0x1e6)])[_0x468abe(0x1e3)]('/api/agents/:agentId/stop');}),test(_0x44d86a(0x1e4),async()=>{const _0x12dd5b=_0x44d86a,{AGENT_TEMPLATES:_0x4b1424}=await import('../../config/constants.js');expect(_0x4b1424)[_0x12dd5b(0x1b8)](),expect(_0x4b1424[_0x12dd5b(0x1cb)])['toBe']('coding-assistant'),expect(_0x4b1424[_0x12dd5b(0x1e2)])['toBe']('data-analyst'),expect(_0x4b1424['CREATIVE_WRITER'])[_0x12dd5b(0x1e3)]('creative-writer'),expect(_0x4b1424[_0x12dd5b(0x1b7)])['toBe']('system-administrator'),expect(_0x4b1424['CUSTOM'])[_0x12dd5b(0x1e3)](_0x12dd5b(0x1e5));});}),describe(a0_0x505eb6(0x1c5),()=>{test('useAgents\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x583a4c=a0_0x2673,{useAgents:_0x41a306}=await import(_0x583a4c(0x1d4)),{SessionManager:_0x4d0941}=await import(_0x583a4c(0x1ca)),{MessageRouter:_0x83e04c}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x33e7f7}=await import('../../api/websocket.js'),_0x195f52=new _0x4d0941(_0x583a4c(0x1db),0x1f90),_0x4f71d2=new _0x33e7f7(_0x583a4c(0x1db),0x1f90),_0x51f408=new _0x83e04c(_0x4f71d2);expect(_0x195f52)['toBeDefined'](),expect(_0x51f408)[_0x583a4c(0x1b8)](),expect(typeof _0x41a306)[_0x583a4c(0x1e3)](_0x583a4c(0x1cc));}),test('Full agent management stack can be imported together',async()=>{const _0x1a76bb=a0_0x2673,[_0x4add34,_0x3e6243,_0x2de2c2,_0x50b596,_0x32b5e8]=await Promise['all']([import(_0x1a76bb(0x1c6)),import(_0x1a76bb(0x1ca)),import(_0x1a76bb(0x1de)),import('../../api/messageRouter.js'),import(_0x1a76bb(0x1d4))]);expect(_0x4add34[_0x1a76bb(0x1bf)])['toBeDefined'](),expect(_0x3e6243['SessionManager'])['toBeDefined'](),expect(_0x2de2c2[_0x1a76bb(0x1bd)])[_0x1a76bb(0x1b8)](),expect(_0x50b596[_0x1a76bb(0x1bc)])['toBeDefined'](),expect(_0x32b5e8[_0x1a76bb(0x1cf)])['toBeDefined']();});}),describe(a0_0x505eb6(0x1d8),()=>{const _0x383d01=a0_0x505eb6;test(_0x383d01(0x1d6),async()=>{const _0x256929=_0x383d01,{API_ENDPOINTS:_0x213717}=await import(_0x256929(0x1c6));expect(_0x213717[_0x256929(0x1c2)])[_0x256929(0x1c8)](/^\/api\/agents/),expect(_0x213717['AGENTS_METADATA'])['toMatch'](/^\/api\/agents/),expect(_0x213717['AGENTS_IMPORT'])['toMatch'](/^\/api\/agents/),expect(_0x213717[_0x256929(0x1df)])['toMatch'](/^\/api\/agents/),expect(_0x213717['AGENTS_MODE_GET'])[_0x256929(0x1c8)](/^\/api\/agents/),expect(_0x213717['AGENTS_STOP'])['toMatch'](/^\/api\/agents/),expect(_0x213717[_0x256929(0x1d1)])[_0x256929(0x1c4)](':agentId'),expect(_0x213717[_0x256929(0x1df)])['toContain'](_0x256929(0x1c3)),expect(_0x213717['AGENTS_MODE_GET'])['toContain'](_0x256929(0x1c3)),expect(_0x213717['AGENTS_STOP'])[_0x256929(0x1c4)](_0x256929(0x1c3));}),test(_0x383d01(0x1dc),async()=>{const _0x19339a=_0x383d01,{API_ENDPOINTS:_0x2cb718}=await import(_0x19339a(0x1c6));expect(_0x2cb718[_0x19339a(0x1d9)])['toBeDefined'](),expect(_0x2cb718[_0x19339a(0x1d9)])[_0x19339a(0x1e3)]('/api/orchestrator');});});function a0_0x5855(){const _0x512235=['nZu3odC4tM1AueXx','surmrq','refuqv9btKfmwvnu','Dg9czq','quDftLrFvevnueXbvevtignVBNn0yw50CYbHCMuGzgvMAw5Lza','y3vZDg9T','quDftLrtx1nut1a','u1Ltvevnx0fetuLosvnuuKfut1i','Dg9czurLzMLUzwq','Cgf1C2vK','mtqXode1m1H4yNLsqG','otaXmJfHwLLrruq','twvZC2fNzvjVDxrLCG','v2vIu29JA2v0twfUywDLCG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','quDftLrFtu9erq','zgvMyxvSDa','mZzitKTYBwi','quDftLrtx0fwquLmqujmrq','oMfNzw50swq','Dg9dB250ywLU','qwDLBNqGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','nZi5ndHKy2reu0q','Dg9nyxrJAa','ndiWodbstxbHwhm','lI4VlI4VyxbPl3nLC3nPB24UANm','q09esu5hx0ftu0Ltvefova','zNvUy3rPB24','mtjLu2DHD1C','mtyWy2jHELDd','DxnLqwDLBNrZ','mti5ntvOzvn0vhq','quDftLrtx01fvefeqvrb','q0Hbva','uefvu0ve','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','mti5nJroCLPYEgu','qwXSigfNzw50igvUzhbVAw50CYbMB2XSB3CGuKvtvgz1BcbWyxr0zxjU','yxjJAgL2zwq','qwDLBNqGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','t1jdsevtvfjbve9s','quDftLrFu1rbvfvtignVBNn0yw50CYbHCMuGzgvMAw5Lza','Bg9JywXOB3n0','t3jJAgvZDhjHDg9YigvUzhbVAw50igv4Axn0CYbMB3iGywDLBNqGB3bLCMf0Aw9UCW','mtmYofPJy0fhzG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','quDftLrtx01prevFu0vu'];a0_0x5855=function(){return _0x512235;};return a0_0x5855();}
@@ -1 +1 @@
1
- function a0_0x2cba(){const _0xe8f434=['mJa3nda1nMTzz1j0tq','ndy2mZi5wePMBwzb','nfPzzMjrDG','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','Dg9czurLzMLUzwq','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','u3rHDhvZqMfY','nJm1otiXmvnIs1Hxra','mtiXnJa0mxDtAu1xtW','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBNrLz3jHDgLVBG','mJmWmJyWq01OuKfH','mNjlwu9tAa','zgvMyxvSDa','Dg9czq','ntaXnZa2mvfNzwv4uW','mtqXmZbKEwjNuw4','Aw5R','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','mtu0zwPKD3nZ','twvZC2fNzuXPC3q','ody1rKz0CuTK','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbszwfJDc9jBMSGrgvWzw5Kzw5JAwvZ','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','sw5WDxrcB3G','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','zNvUy3rPB24','tgf5B3v0'];a0_0x2cba=function(){return _0xe8f434;};return a0_0x2cba();}function a0_0x3c2b(_0x5e2d04,_0x5ad8db){_0x5e2d04=_0x5e2d04-0x1c2;const _0x2cba4e=a0_0x2cba();let _0x3c2bd3=_0x2cba4e[_0x5e2d04];if(a0_0x3c2b['huLtCG']===undefined){var _0x5086cc=function(_0xf90dd0){const _0x26815c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x372ccd='',_0x39ecc8='';for(let _0x341b7d=0x0,_0x55374a,_0x13593e,_0x478fce=0x0;_0x13593e=_0xf90dd0['charAt'](_0x478fce++);~_0x13593e&&(_0x55374a=_0x341b7d%0x4?_0x55374a*0x40+_0x13593e:_0x13593e,_0x341b7d++%0x4)?_0x372ccd+=String['fromCharCode'](0xff&_0x55374a>>(-0x2*_0x341b7d&0x6)):0x0){_0x13593e=_0x26815c['indexOf'](_0x13593e);}for(let _0x96cc08=0x0,_0x51f6b6=_0x372ccd['length'];_0x96cc08<_0x51f6b6;_0x96cc08++){_0x39ecc8+='%'+('00'+_0x372ccd['charCodeAt'](_0x96cc08)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x39ecc8);};a0_0x3c2b['RRmWne']=_0x5086cc,a0_0x3c2b['KTzTPQ']={},a0_0x3c2b['huLtCG']=!![];}const _0x13a6df=_0x2cba4e[0x0],_0x3871c5=_0x5e2d04+_0x13a6df,_0x27c773=a0_0x3c2b['KTzTPQ'][_0x3871c5];return!_0x27c773?(_0x3c2bd3=a0_0x3c2b['RRmWne'](_0x3c2bd3),a0_0x3c2b['KTzTPQ'][_0x3871c5]=_0x3c2bd3):_0x3c2bd3=_0x27c773,_0x3c2bd3;}const a0_0x475ff1=a0_0x3c2b;(function(_0x503939,_0xaca70f){const _0x35517b=a0_0x3c2b,_0x87561=_0x503939();while(!![]){try{const _0x542c0d=-parseInt(_0x35517b(0x1c7))/0x1*(parseInt(_0x35517b(0x1d3))/0x2)+-parseInt(_0x35517b(0x1d0))/0x3*(-parseInt(_0x35517b(0x1c8))/0x4)+parseInt(_0x35517b(0x1dd))/0x5*(parseInt(_0x35517b(0x1d7))/0x6)+parseInt(_0x35517b(0x1d6))/0x7+-parseInt(_0x35517b(0x1c6))/0x8+-parseInt(_0x35517b(0x1cf))/0x9+-parseInt(_0x35517b(0x1d2))/0xa*(-parseInt(_0x35517b(0x1db))/0xb);if(_0x542c0d===_0xaca70f)break;else _0x87561['push'](_0x87561['shift']());}catch(_0x4c180f){_0x87561['push'](_0x87561['shift']());}}}(a0_0x2cba,0x66764));import{describe,test,expect}from'@jest/globals';describe('Component\x20Management\x20-\x20Imports',()=>{test('Layout component can be imported',async()=>{const _0x156534=a0_0x3c2b,{Layout:_0x372ccd}=await import(_0x156534(0x1d9));expect(_0x372ccd)[_0x156534(0x1cc)](),expect(typeof _0x372ccd)['toBe']('function');}),test('Layout is default export',async()=>{const _0x3db00a=a0_0x3c2b,module=await import(_0x3db00a(0x1d9));expect(module[_0x3db00a(0x1d4)])['toBeDefined'](),expect(typeof module[_0x3db00a(0x1d4)])[_0x3db00a(0x1d5)](_0x3db00a(0x1c4)),expect(module[_0x3db00a(0x1d4)])[_0x3db00a(0x1d5)](module[_0x3db00a(0x1c5)]);}),test('Header component can be imported',async()=>{const _0x3d876f=a0_0x3c2b,{Header:_0x39ecc8}=await import(_0x3d876f(0x1cd));expect(_0x39ecc8)['toBeDefined'](),expect(typeof _0x39ecc8)['toBe'](_0x3d876f(0x1c4));}),test('Header is default export',async()=>{const _0x185298=a0_0x3c2b,module=await import('../../components/Header.js');expect(module['default'])['toBeDefined'](),expect(module['default'])[_0x185298(0x1d5)](module['Header']);}),test('StatusBar component can be imported',async()=>{const _0x1e1229=a0_0x3c2b,{StatusBar:_0x341b7d}=await import(_0x1e1229(0x1df));expect(_0x341b7d)['toBeDefined'](),expect(typeof _0x341b7d)[_0x1e1229(0x1d5)](_0x1e1229(0x1c4));}),test('StatusBar is default export',async()=>{const _0x49c890=a0_0x3c2b,module=await import('../../components/StatusBar.js');expect(module[_0x49c890(0x1d4)])['toBeDefined'](),expect(module['default'])[_0x49c890(0x1d5)](module[_0x49c890(0x1ce)]);}),test('MessageList component can be imported',async()=>{const _0x359fd5=a0_0x3c2b,{MessageList:_0x55374a}=await import(_0x359fd5(0x1c9));expect(_0x55374a)[_0x359fd5(0x1cc)](),expect(typeof _0x55374a)[_0x359fd5(0x1d5)]('function');}),test('MessageList is default export',async()=>{const _0xc852b3=a0_0x3c2b,module=await import('../../components/MessageList.js');expect(module['default'])[_0xc852b3(0x1cc)](),expect(module['default'])[_0xc852b3(0x1d5)](module[_0xc852b3(0x1dc)]);}),test('InputBox component can be imported',async()=>{const _0x39123d=a0_0x3c2b,{InputBox:_0x13593e}=await import(_0x39123d(0x1ca));expect(_0x13593e)['toBeDefined'](),expect(typeof _0x13593e)[_0x39123d(0x1d5)]('function');}),test('InputBox is default export',async()=>{const _0x4e291d=a0_0x3c2b,module=await import('../../components/InputBox.js');expect(module['default'])[_0x4e291d(0x1cc)](),expect(module['default'])[_0x4e291d(0x1d5)](module[_0x4e291d(0x1c2)]);});}),describe(a0_0x475ff1(0x1d1),()=>{test('All components can be imported together',async()=>{const _0x42217d=a0_0x3c2b,[_0x478fce,_0x96cc08,_0x51f6b6,_0x4d8890,_0x24b74d]=await Promise['all']([import(_0x42217d(0x1d9)),import(_0x42217d(0x1cd)),import('../../components/StatusBar.js'),import(_0x42217d(0x1c9)),import(_0x42217d(0x1ca))]);expect(_0x478fce[_0x42217d(0x1c5)])['toBeDefined'](),expect(_0x96cc08['Header'])['toBeDefined'](),expect(_0x51f6b6[_0x42217d(0x1ce)])[_0x42217d(0x1cc)](),expect(_0x4d8890['MessageList'])['toBeDefined'](),expect(_0x24b74d['InputBox'])['toBeDefined']();}),test('Layout\x20component\x20integrates\x20with\x20all\x20state\x20hooks',async()=>{const _0x10a572=a0_0x3c2b,{Layout:_0x1c37ad}=await import('../../components/Layout.js'),{useConnection:_0x51bd4e}=await import('../../state/useConnection.js'),{useAgents:_0x117e1d}=await import(_0x10a572(0x1da)),{useMessages:_0x42059a}=await import(_0x10a572(0x1cb)),{useAgentControl:_0x183e0d}=await import(_0x10a572(0x1c3)),{useTools:_0x5629b1}=await import('../../state/useTools.js');expect(_0x1c37ad)[_0x10a572(0x1cc)](),expect(_0x51bd4e)['toBeDefined'](),expect(_0x117e1d)[_0x10a572(0x1cc)](),expect(_0x42059a)[_0x10a572(0x1cc)](),expect(_0x183e0d)['toBeDefined'](),expect(_0x5629b1)[_0x10a572(0x1cc)]();});}),describe(a0_0x475ff1(0x1de),()=>{test('Ink components can be imported',async()=>{const _0xca28f=a0_0x3c2b,{Box:_0x2fa69b,Text:_0x51c187}=await import(_0xca28f(0x1d8));expect(_0x2fa69b)['toBeDefined'](),expect(_0x51c187)[_0xca28f(0x1cc)]();}),test('React can be imported',async()=>{const _0x48ad28=await import('react');expect(_0x48ad28['default'])['toBeDefined'](),expect(_0x48ad28['useState'])['toBeDefined'](),expect(_0x48ad28['useEffect'])['toBeDefined']();});});
1
+ function a0_0x3c53(){const _0x462e87=['sgvHzgvY','zNvUy3rPB24','DxnLrwzMzwn0','mtzns0LwBNG','Dg9czurLzMLUzwq','twvZC2fNzuXPC3q','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','mJrOBMnwBfq','mJrTtNLRBwu','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbszwfJDc9jBMSGrgvWzw5Kzw5JAwvZ','mJK3nZG3ALHJu3v1','ywXS','Aw5R','mtC5mtCWtLDStM5j','mJuWntKZwKnpsez6','zgvMyxvSDa','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','DxnLu3rHDgu','ndaWote0v1rnB1PN','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','mJrPAvrpzxO','tgf5B3v0ignVBxbVBMvUDcbPBNrLz3jHDgvZihDPDgGGywXSihn0yxrLigHVB2TZ','sw5WDxrcB3G','mtbAq01gBLG','ndm5otC0merAzxj5AW','odG4mJe3qKz5DhzA','u3rHDhvZqMfY','mJCXmdqXv0TAqwHQ','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','CMvHy3q','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBNrLz3jHDgLVBG','Dg9czq'];a0_0x3c53=function(){return _0x462e87;};return a0_0x3c53();}const a0_0x33a82d=a0_0x3cc5;function a0_0x3cc5(_0x5277a6,_0x44231a){_0x5277a6=_0x5277a6-0x174;const _0x3c536c=a0_0x3c53();let _0x3cc5f9=_0x3c536c[_0x5277a6];if(a0_0x3cc5['bZKhoE']===undefined){var _0x10280f=function(_0x30e8f1){const _0x2b41b5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x42ec27='',_0x2c2a1e='';for(let _0x1fbab4=0x0,_0x2a531d,_0x24746d,_0x8af352=0x0;_0x24746d=_0x30e8f1['charAt'](_0x8af352++);~_0x24746d&&(_0x2a531d=_0x1fbab4%0x4?_0x2a531d*0x40+_0x24746d:_0x24746d,_0x1fbab4++%0x4)?_0x42ec27+=String['fromCharCode'](0xff&_0x2a531d>>(-0x2*_0x1fbab4&0x6)):0x0){_0x24746d=_0x2b41b5['indexOf'](_0x24746d);}for(let _0xea6378=0x0,_0x3932c7=_0x42ec27['length'];_0xea6378<_0x3932c7;_0xea6378++){_0x2c2a1e+='%'+('00'+_0x42ec27['charCodeAt'](_0xea6378)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c2a1e);};a0_0x3cc5['rlDLSe']=_0x10280f,a0_0x3cc5['YOoyjJ']={},a0_0x3cc5['bZKhoE']=!![];}const _0x5afd9a=_0x3c536c[0x0],_0x1f000b=_0x5277a6+_0x5afd9a,_0x5f29fd=a0_0x3cc5['YOoyjJ'][_0x1f000b];return!_0x5f29fd?(_0x3cc5f9=a0_0x3cc5['rlDLSe'](_0x3cc5f9),a0_0x3cc5['YOoyjJ'][_0x1f000b]=_0x3cc5f9):_0x3cc5f9=_0x5f29fd,_0x3cc5f9;}(function(_0x44363a,_0x4ea0d1){const _0x3cda0f=a0_0x3cc5,_0x41d23f=_0x44363a();while(!![]){try{const _0x21a1d2=parseInt(_0x3cda0f(0x179))/0x1+-parseInt(_0x3cda0f(0x183))/0x2*(parseInt(_0x3cda0f(0x187))/0x3)+-parseInt(_0x3cda0f(0x18f))/0x4*(parseInt(_0x3cda0f(0x178))/0x5)+-parseInt(_0x3cda0f(0x194))/0x6*(-parseInt(_0x3cda0f(0x175))/0x7)+-parseInt(_0x3cda0f(0x180))/0x8*(-parseInt(_0x3cda0f(0x17e))/0x9)+parseInt(_0x3cda0f(0x184))/0xa+parseInt(_0x3cda0f(0x185))/0xb*(-parseInt(_0x3cda0f(0x193))/0xc);if(_0x21a1d2===_0x4ea0d1)break;else _0x41d23f['push'](_0x41d23f['shift']());}catch(_0x4dae08){_0x41d23f['push'](_0x41d23f['shift']());}}}(a0_0x3c53,0x3a0ec));import{describe,test,expect}from'@jest/globals';describe('Component\x20Management\x20-\x20Imports',()=>{test('Layout component can be imported',async()=>{const _0x3579bd=a0_0x3cc5,{Layout:_0x42ec27}=await import(_0x3579bd(0x192));expect(_0x42ec27)[_0x3579bd(0x190)](),expect(typeof _0x42ec27)['toBe']('function');}),test('Layout is default export',async()=>{const _0x5aba69=a0_0x3cc5,module=await import(_0x5aba69(0x192));expect(module['default'])['toBeDefined'](),expect(typeof module['default'])[_0x5aba69(0x18b)](_0x5aba69(0x18d)),expect(module[_0x5aba69(0x17a)])[_0x5aba69(0x18b)](module['Layout']);}),test('Header component can be imported',async()=>{const _0x375824=a0_0x3cc5,{Header:_0x2c2a1e}=await import('../../components/Header.js');expect(_0x2c2a1e)[_0x375824(0x190)](),expect(typeof _0x2c2a1e)[_0x375824(0x18b)](_0x375824(0x18d));}),test('Header is default export',async()=>{const _0x4d5780=a0_0x3cc5,module=await import(_0x4d5780(0x17c));expect(module[_0x4d5780(0x17a)])['toBeDefined'](),expect(module['default'])[_0x4d5780(0x18b)](module['Header']);}),test('StatusBar component can be imported',async()=>{const _0x34ef34=a0_0x3cc5,{StatusBar:_0x1fbab4}=await import(_0x34ef34(0x188));expect(_0x1fbab4)['toBeDefined'](),expect(typeof _0x1fbab4)[_0x34ef34(0x18b)]('function');}),test('StatusBar is default export',async()=>{const _0x4bc41d=a0_0x3cc5,module=await import(_0x4bc41d(0x188));expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x4bc41d(0x186)]);}),test('MessageList component can be imported',async()=>{const _0x1311ac=a0_0x3cc5,{MessageList:_0x2a531d}=await import(_0x1311ac(0x17f));expect(_0x2a531d)['toBeDefined'](),expect(typeof _0x2a531d)[_0x1311ac(0x18b)]('function');}),test('MessageList is default export',async()=>{const _0x1446dd=a0_0x3cc5,module=await import(_0x1446dd(0x17f));expect(module[_0x1446dd(0x17a)])[_0x1446dd(0x190)](),expect(module['default'])[_0x1446dd(0x18b)](module['MessageList']);}),test('InputBox component can be imported',async()=>{const _0x30ef1a=a0_0x3cc5,{InputBox:_0x24746d}=await import('../../components/InputBox.js');expect(_0x24746d)[_0x30ef1a(0x190)](),expect(typeof _0x24746d)[_0x30ef1a(0x18b)]('function');}),test('InputBox is default export',async()=>{const module=await import('../../components/InputBox.js');expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module['InputBox']);});}),describe(a0_0x33a82d(0x18a),()=>{const _0x8cd600=a0_0x33a82d;test('All components can be imported together',async()=>{const _0x56120b=a0_0x3cc5,[_0x8af352,_0xea6378,_0x3932c7,_0x4b6359,_0x694ca4]=await Promise[_0x56120b(0x176)]([import(_0x56120b(0x192)),import(_0x56120b(0x17c)),import('../../components/StatusBar.js'),import('../../components/MessageList.js'),import(_0x56120b(0x17b))]);expect(_0x8af352['Layout'])['toBeDefined'](),expect(_0xea6378[_0x56120b(0x18c)])[_0x56120b(0x190)](),expect(_0x3932c7['StatusBar'])[_0x56120b(0x190)](),expect(_0x4b6359[_0x56120b(0x191)])[_0x56120b(0x190)](),expect(_0x694ca4[_0x56120b(0x182)])['toBeDefined']();}),test(_0x8cd600(0x181),async()=>{const _0x5094b9=_0x8cd600,{Layout:_0x5a33be}=await import('../../components/Layout.js'),{useConnection:_0x42fcd7}=await import('../../state/useConnection.js'),{useAgents:_0x620708}=await import('../../state/useAgents.js'),{useMessages:_0x4b33ff}=await import('../../state/useMessages.js'),{useAgentControl:_0x8dce37}=await import('../../state/useAgentControl.js'),{useTools:_0x5d5d19}=await import('../../state/useTools.js');expect(_0x5a33be)[_0x5094b9(0x190)](),expect(_0x42fcd7)['toBeDefined'](),expect(_0x620708)['toBeDefined'](),expect(_0x4b33ff)[_0x5094b9(0x190)](),expect(_0x8dce37)[_0x5094b9(0x190)](),expect(_0x5d5d19)[_0x5094b9(0x190)]();});}),describe(a0_0x33a82d(0x174),()=>{test('Ink components can be imported',async()=>{const _0xebeacf=a0_0x3cc5,{Box:_0x4f6bb6,Text:_0xf342cf}=await import(_0xebeacf(0x177));expect(_0x4f6bb6)['toBeDefined'](),expect(_0xf342cf)['toBeDefined']();}),test('React can be imported',async()=>{const _0x5a7c50=a0_0x3cc5,_0x5ead1e=await import(_0x5a7c50(0x189));expect(_0x5ead1e[_0x5a7c50(0x17a)])['toBeDefined'](),expect(_0x5ead1e[_0x5a7c50(0x17d)])['toBeDefined'](),expect(_0x5ead1e[_0x5a7c50(0x18e)])['toBeDefined']();});});
@@ -1 +1 @@
1
- const a0_0xbee003=a0_0x1cee;(function(_0x3cade3,_0x1e336a){const _0xe6e35d=a0_0x1cee,_0x3687ef=_0x3cade3();while(!![]){try{const _0x589550=-parseInt(_0xe6e35d(0x1de))/0x1+-parseInt(_0xe6e35d(0x212))/0x2*(parseInt(_0xe6e35d(0x216))/0x3)+-parseInt(_0xe6e35d(0x1f6))/0x4+-parseInt(_0xe6e35d(0x1ea))/0x5*(parseInt(_0xe6e35d(0x1d5))/0x6)+-parseInt(_0xe6e35d(0x213))/0x7*(-parseInt(_0xe6e35d(0x1f4))/0x8)+parseInt(_0xe6e35d(0x1fe))/0x9+-parseInt(_0xe6e35d(0x1f8))/0xa*(-parseInt(_0xe6e35d(0x1d6))/0xb);if(_0x589550===_0x1e336a)break;else _0x3687ef['push'](_0x3687ef['shift']());}catch(_0x9c5fc3){_0x3687ef['push'](_0x3687ef['shift']());}}}(a0_0x170c,0xf0599));function a0_0x170c(){const _0xa31931=['q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbnzxrYAwnZ','su5jveLbtf9eruXbwq','mJmYmZi2nKT3sLDmDG','zNvUy3rPB24','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zgvMyxvSDa','Dg9czq','ntu3odKWoevts0HIza','ndu5mtK2muDbBwrqua','DxnLq29UBMvJDgLVBIbYzxr1CM5Zigv4CgvJDgvKigLUDgvYzMfJzsbZAgfWzq','DxnLq29UBMvJDgLVBIbOB29RigLUDgvNCMf0zxmGD2L0AcbtzxnZAw9UtwfUywDLCIbHBMqGv2vIu29JA2v0twfUywDLCG','Dg9czuXLC3nuAgfUt3jfCxvHBa','DgvZDc1ZzxnZAw9UlteYmW','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','lI4VlI4VyxbPl3nLC3nPB24UANm','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gtwf4ief0DgvTChrZieXPBwL0','mtaXotGXm3r4CNrfzq','uKvdt05orunux0nptKzjrYb2ywX1zxmGyxjLihjLyxnVBMfIBgu','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbjBMzV','Dg9czuDYzwf0zxjuAgfU','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','Dg9czurLzMLUzwq','C2vZC2LVBKLK','ywXS','BwLU','uKvdt05orunusu5h','uMvJB25Uzwn0Aw9UihnOB3vSzcbZDg9WigfMDgvYig1HEcbHDhrLBxb0CW','BM93','nuPAr0fTBW','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbtDgf0DxmGvhjHBNnPDgLVBNm','Dg9dB250ywLU','v2vIu29JA2v0twfUywDLCIbOyxmGzxzLBNqGzw1PDhrLCIbTzxrOB2rZ','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','Bg9JywXOB3n0','Dxb0Aw1L','q09otKvdveve','reLtq09otKvdveve','nZjnCwnlzxe','tufyx0fuvevnufrt','mJy4nJy1mNzlv0XNqq','C3rYAw5N','nZbivefeqM8','q09otKvdveLptL9tvefuvvmGAxmGywXPyxmGzM9YienptK5fq1rjt05Fu1rbveu','C3rHDhvZ','qKfds09grL9nvuXusvbmsuvs','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','q09otKvdveLptL9tvefuvvm','mZy4nZaWm21LENDiAa','uKvdt05orunux0nptKzjrYbJB25ZDgfUDhmGyxjLigrLzMLUzwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','y29UBMvJDgLUzW','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','BgvUz3rO','q29UBMvJDgLVBIb1ChrPBwuGy2fUigjLihrYywnRzwq','q09otKvdveLptL9tvefuvvmGAgfZigfSBcbYzxf1AxjLzcbZDgf0zxm','Cg93','uKvdt05orunux0nptKzjrW','y29UBMvJDgvK','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','AxndB25Uzwn0zwq','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','rxHWB25LBNrPywWGyMfJA29MzIbYzxnWzwn0CYbTyxGGzgvSyxK','uMvJB25Uzwn0Aw9Uigf0DgvTChrZignHBIbIzsb0CMfJA2vK','zgLZy29UBMvJDgvK','q09otKvdveLorW','u2vZC2LVBIbZDgf0zsbZAg91BgqGDhjHy2SGDMfSAwrPDhK','tufyx0rftefz','mK5SCxL6Ea','ode1mZK1rw9mBMnY'];a0_0x170c=function(){return _0xa31931;};return a0_0x170c();}import{describe,test,expect}from'@jest/globals';function a0_0x1cee(_0x17914c,_0x298069){_0x17914c=_0x17914c-0x1d3;const _0x170c10=a0_0x170c();let _0x1cee4a=_0x170c10[_0x17914c];if(a0_0x1cee['drCSDb']===undefined){var _0x4b509c=function(_0x429c3a){const _0xe14a91='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x485eda='',_0x46a990='';for(let _0x55ba2a=0x0,_0x1ecb09,_0x217de6,_0x2fceb2=0x0;_0x217de6=_0x429c3a['charAt'](_0x2fceb2++);~_0x217de6&&(_0x1ecb09=_0x55ba2a%0x4?_0x1ecb09*0x40+_0x217de6:_0x217de6,_0x55ba2a++%0x4)?_0x485eda+=String['fromCharCode'](0xff&_0x1ecb09>>(-0x2*_0x55ba2a&0x6)):0x0){_0x217de6=_0xe14a91['indexOf'](_0x217de6);}for(let _0x116f53=0x0,_0x2dfdf3=_0x485eda['length'];_0x116f53<_0x2dfdf3;_0x116f53++){_0x46a990+='%'+('00'+_0x485eda['charCodeAt'](_0x116f53)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x46a990);};a0_0x1cee['ESExFo']=_0x4b509c,a0_0x1cee['nMpMTq']={},a0_0x1cee['drCSDb']=!![];}const _0x53aa0d=_0x170c10[0x0],_0x4fc133=_0x17914c+_0x53aa0d,_0x804f75=a0_0x1cee['nMpMTq'][_0x4fc133];return!_0x804f75?(_0x1cee4a=a0_0x1cee['ESExFo'](_0x1cee4a),a0_0x1cee['nMpMTq'][_0x4fc133]=_0x1cee4a):_0x1cee4a=_0x804f75,_0x1cee4a;}describe('Connection\x20Management\x20-\x20Imports',()=>{test('useConnection hook can be imported',async()=>{const _0x12b1fa=a0_0x1cee,{useConnection:_0x485eda}=await import(_0x12b1fa(0x20b));expect(_0x485eda)['toBeDefined'](),expect(typeof _0x485eda)[_0x12b1fa(0x1d4)](_0x12b1fa(0x217));}),test('useConnection is default export',async()=>{const _0x26f51=a0_0x1cee,module=await import(_0x26f51(0x20b));expect(module['default'])[_0x26f51(0x1e3)](),expect(typeof module[_0x26f51(0x1d3)])[_0x26f51(0x1d4)]('function'),expect(module['default'])['toBe'](module['useConnection']);});}),describe(a0_0xbee003(0x1fc),()=>{const _0x1f2bf2=a0_0xbee003;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x1f1964=a0_0x1cee,{CONNECTION_STATUS:_0x46a990}=await import(_0x1f1964(0x218));expect(_0x46a990)[_0x1f1964(0x1e3)](),expect(_0x46a990['CONNECTING'])[_0x1f1964(0x1d4)](_0x1f1964(0x201)),expect(_0x46a990['CONNECTED'])[_0x1f1964(0x1d4)]('connected'),expect(_0x46a990[_0x1f1964(0x1f3)])['toBe'](_0x1f1964(0x20e)),expect(_0x46a990['RECONNECTING'])[_0x1f1964(0x1d4)]('reconnecting');}),test(_0x1f2bf2(0x1f9),async()=>{const {CONNECTION_STATUS:_0x55ba2a,CONNECTION_STATE:_0x1ecb09}=await import('../../config/constants.js');expect(_0x55ba2a)['toBe'](_0x1ecb09);}),test(_0x1f2bf2(0x1ff),async()=>{const _0x1ca2f8=_0x1f2bf2,{RECONNECT_CONFIG:_0x217de6}=await import('../../config/constants.js');expect(_0x217de6)['toBeDefined'](),expect(_0x217de6['INITIAL_DELAY'])['toBeDefined'](),expect(_0x217de6[_0x1ca2f8(0x211)])[_0x1ca2f8(0x1e3)](),expect(_0x217de6['BACKOFF_MULTIPLIER'])[_0x1ca2f8(0x1e3)](),expect(_0x217de6[_0x1ca2f8(0x1f5)])[_0x1ca2f8(0x1e3)]();}),test(_0x1f2bf2(0x1df),async()=>{const _0x4604de=_0x1f2bf2,{RECONNECT_CONFIG:_0x2fceb2}=await import(_0x4604de(0x218));expect(_0x2fceb2['INITIAL_DELAY'])[_0x4604de(0x1e1)](0x0),expect(_0x2fceb2['MAX_DELAY'])['toBeGreaterThan'](_0x2fceb2[_0x4604de(0x215)]),expect(_0x2fceb2[_0x4604de(0x1fb)])['toBeGreaterThan'](0x1),expect(_0x2fceb2[_0x4604de(0x1f5)])[_0x4604de(0x1e1)](0x0);});}),describe(a0_0xbee003(0x200),()=>{const _0x1bb8be=a0_0xbee003;test(_0x1bb8be(0x1d8),async()=>{const _0x2deac0=_0x1bb8be,{useConnection:_0x116f53}=await import(_0x2deac0(0x20b)),{SessionManager:_0x2dfdf3}=await import(_0x2deac0(0x1dc)),{WebSocketManager:_0x326cbf}=await import(_0x2deac0(0x1e2)),_0x84a889=new _0x2dfdf3(_0x2deac0(0x1f0),0x1f90),_0x4ce046=new _0x326cbf('localhost',0x1f90);expect(_0x84a889)[_0x2deac0(0x1e3)](),expect(_0x4ce046)[_0x2deac0(0x1e3)](),expect(typeof _0x116f53)[_0x2deac0(0x1d4)](_0x2deac0(0x217));}),test('Full connection stack can be imported together',async()=>{const _0x333b3a=_0x1bb8be,[_0x10cc25,_0x4a694e,_0x3ad156,_0x2da38c]=await Promise[_0x333b3a(0x1e5)]([import('../../config/constants.js'),import('../../api/session.js'),import(_0x333b3a(0x1e2)),import('../../state/useConnection.js')]);expect(_0x10cc25[_0x333b3a(0x1fd)])[_0x333b3a(0x1e3)](),expect(_0x10cc25[_0x333b3a(0x207)])['toBeDefined'](),expect(_0x4a694e['SessionManager'])[_0x333b3a(0x1e3)](),expect(_0x3ad156['WebSocketManager'])[_0x333b3a(0x1e3)](),expect(_0x2da38c['useConnection'])[_0x333b3a(0x1e3)]();});}),describe('Connection\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x45a3cb=a0_0xbee003;test(_0x45a3cb(0x1d7),async()=>{const _0x5d2b2=_0x45a3cb,{useConnection:_0x1d1534}=await import('../../state/useConnection.js');expect(_0x1d1534[_0x5d2b2(0x203)])[_0x5d2b2(0x1d4)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0x5b7368=a0_0xbee003;test(_0x5b7368(0x1ef),async()=>{const _0x4e1e78=_0x5b7368,{CONNECTION_STATUS:_0x534c50}=await import('../../config/constants.js');expect(typeof _0x534c50[_0x4e1e78(0x20f)])[_0x4e1e78(0x1d4)]('string'),expect(typeof _0x534c50[_0x4e1e78(0x1f2)])[_0x4e1e78(0x1d4)](_0x4e1e78(0x1f7)),expect(typeof _0x534c50['DISCONNECTED'])['toBe']('string'),expect(typeof _0x534c50[_0x4e1e78(0x1e7)])[_0x4e1e78(0x1d4)]('string'),expect(_0x534c50[_0x4e1e78(0x20f)])[_0x4e1e78(0x1d4)](_0x534c50[_0x4e1e78(0x20f)]['toLowerCase']()),expect(_0x534c50['CONNECTED'])['toBe'](_0x534c50[_0x4e1e78(0x1f2)]['toLowerCase']());}),test(_0x5b7368(0x205),async()=>{const _0x5cd42a=_0x5b7368,{CONNECTION_STATUS:_0x304543}=await import(_0x5cd42a(0x218)),_0x318b28=Object['keys'](_0x304543);expect(_0x318b28)['toContain']('CONNECTING'),expect(_0x318b28)['toContain']('CONNECTED'),expect(_0x318b28)[_0x5cd42a(0x1ed)](_0x5cd42a(0x1f3)),expect(_0x318b28)[_0x5cd42a(0x1ed)]('RECONNECTING');});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{const _0x1727a5=a0_0xbee003;test('Exponential\x20backoff\x20delay\x20calculation\x20works\x20correctly',async()=>{const _0x1aa5be=a0_0x1cee,{RECONNECT_CONFIG:_0x2e86ae}=await import(_0x1aa5be(0x218)),_0x26ca9f=_0x3d96c6=>{const _0x11390e=_0x1aa5be;return Math[_0x11390e(0x1e6)](_0x2e86ae['INITIAL_DELAY']*Math[_0x11390e(0x206)](_0x2e86ae[_0x11390e(0x1fb)],_0x3d96c6),_0x2e86ae['MAX_DELAY']);},_0x2a09cb=_0x26ca9f(0x0),_0x3379cd=_0x26ca9f(0x1),_0x1f5cdd=_0x26ca9f(0x2);expect(_0x2a09cb)['toBe'](_0x2e86ae['INITIAL_DELAY']),expect(_0x3379cd)[_0x1aa5be(0x1e1)](_0x2a09cb),expect(_0x1f5cdd)[_0x1aa5be(0x1e1)](_0x3379cd);}),test(_0x1727a5(0x20c),async()=>{const _0x28235f=_0x1727a5,{RECONNECT_CONFIG:_0x268f7c}=await import(_0x28235f(0x218)),_0x5db10e=_0x3b49aa=>{const _0x1648ad=_0x28235f;return Math[_0x1648ad(0x1e6)](_0x268f7c[_0x1648ad(0x215)]*Math[_0x1648ad(0x206)](_0x268f7c[_0x1648ad(0x1fb)],_0x3b49aa),_0x268f7c[_0x1648ad(0x211)]);},_0xcbd804=_0x5db10e(0x64);expect(_0xcbd804)[_0x28235f(0x1d4)](_0x268f7c[_0x28235f(0x211)]),expect(_0xcbd804)[_0x28235f(0x1d9)](_0x268f7c['MAX_DELAY']);});}),describe(a0_0xbee003(0x1eb),()=>{const _0x5c7909=a0_0xbee003;test(_0x5c7909(0x210),async()=>{const _0x4ecdc6=_0x5c7909;let _0x390a28=null,_0x5af4e9=![],_0x384db7=null;_0x390a28=_0x4ecdc6(0x1da),_0x5af4e9=!![],_0x384db7=Date[_0x4ecdc6(0x1e9)]()+0x36ee80,expect(_0x390a28)[_0x4ecdc6(0x1e3)](),expect(_0x5af4e9)[_0x4ecdc6(0x1d4)](!![]),expect(_0x384db7)['toBeGreaterThan'](Date['now']());}),test(_0x5c7909(0x202),async()=>{const _0x2fe437=_0x5c7909;let _0x112c06=_0x2fe437(0x1da),_0x479ef5=!![];_0x112c06=null,_0x479ef5=![],expect(_0x112c06)['toBeNull'](),expect(_0x479ef5)['toBe'](![]);});}),describe(a0_0xbee003(0x214),()=>{const _0x68cffd=a0_0xbee003;test(_0x68cffd(0x204),async()=>{const _0x597a4a=_0x68cffd,_0x3b1046=Date['now']();await new Promise(_0x2e31fc=>setTimeout(_0x2e31fc,0x64));const _0x4ca2f5=Date['now']()-_0x3b1046;expect(_0x4ca2f5)[_0x597a4a(0x1e1)](0x0),expect(_0x4ca2f5)[_0x597a4a(0x1db)](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x578135=Date['now']();await new Promise(_0x32fd0e=>setTimeout(_0x32fd0e,0x32));const _0x28af12=Date['now']();expect(_0x578135)['toBeDefined'](),expect(_0x28af12)['toBeDefined'](),expect(_0x28af12)['toBeGreaterThan'](_0x578135);}),test(_0x68cffd(0x20d),async()=>{const _0x40b30d=_0x68cffd;let _0x4fc942=0x0;_0x4fc942+=0x1,expect(_0x4fc942)['toBe'](0x1),_0x4fc942+=0x1,expect(_0x4fc942)[_0x40b30d(0x1d4)](0x2),_0x4fc942=0x0,expect(_0x4fc942)['toBe'](0x0);});}),describe(a0_0xbee003(0x1ec),()=>{const _0x1eeea0=a0_0xbee003;test(_0x1eeea0(0x209),async()=>{const _0x4c72b5=_0x1eeea0,{CONNECTION_STATUS:_0x8ba224}=await import('../../config/constants.js');let _0x2da126=_0x8ba224[_0x4c72b5(0x1f3)];expect(_0x2da126)['toBe'](_0x4c72b5(0x20e)),_0x2da126=_0x8ba224['CONNECTING'],expect(_0x2da126)['toBe'](_0x4c72b5(0x201)),_0x2da126=_0x8ba224['CONNECTED'],expect(_0x2da126)['toBe'](_0x4c72b5(0x208)),_0x2da126=_0x8ba224['DISCONNECTED'],expect(_0x2da126)[_0x4c72b5(0x1d4)](_0x4c72b5(0x20e)),_0x2da126=_0x8ba224['RECONNECTING'],expect(_0x2da126)['toBe']('reconnecting'),_0x2da126=_0x8ba224[_0x4c72b5(0x1f2)],expect(_0x2da126)[_0x4c72b5(0x1d4)](_0x4c72b5(0x208));});}),describe('Connection\x20Management\x20-\x20WebSocket\x20Event\x20Integration',()=>{const _0x277ed7=a0_0xbee003;test(_0x277ed7(0x1ee),async()=>{const _0x4380d3=_0x277ed7,{WebSocketManager:_0x514ebd}=await import('../../api/websocket.js'),_0x129817=new _0x514ebd(_0x4380d3(0x1f0),0x1f90);expect(_0x129817['on'])['toBeDefined'](),expect(_0x129817['off'])[_0x4380d3(0x1e3)](),expect(typeof _0x129817['on'])['toBe']('function'),expect(typeof _0x129817['off'])[_0x4380d3(0x1d4)](_0x4380d3(0x217));});}),describe(a0_0xbee003(0x1dd),()=>{const _0x29ad8a=a0_0xbee003;test(_0x29ad8a(0x1e8),async()=>{const _0x510b43=_0x29ad8a,{RECONNECT_CONFIG:_0x271643}=await import(_0x510b43(0x218));let _0x5c49b3=0x0;for(let _0x4bd512=0x0;_0x4bd512<_0x271643[_0x510b43(0x1f5)]+0x5;_0x4bd512++){if(_0x5c49b3<_0x271643[_0x510b43(0x1f5)])_0x5c49b3+=0x1;else break;}expect(_0x5c49b3)['toBe'](_0x271643['MAX_ATTEMPTS']),expect(_0x5c49b3)['toBeLessThanOrEqual'](_0x271643['MAX_ATTEMPTS']);});}),describe(a0_0xbee003(0x1e0),()=>{test('Connection\x20info\x20should\x20contain\x20all\x20metrics',async()=>{const _0x56e5b0=a0_0x1cee,{CONNECTION_STATUS:_0x398492}=await import('../../config/constants.js'),_0x3a4e59={'status':_0x398492['CONNECTED'],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date['now']()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date['now']()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x3a4e59[_0x56e5b0(0x1fa)])['toBeDefined'](),expect(_0x3a4e59[_0x56e5b0(0x20a)])[_0x56e5b0(0x1d4)](!![]),expect(_0x3a4e59['isReconnecting'])[_0x56e5b0(0x1d4)](![]),expect(_0x3a4e59[_0x56e5b0(0x1e4)])['toBeDefined'](),expect(_0x3a4e59['sessionValid'])['toBe'](!![]),expect(_0x3a4e59[_0x56e5b0(0x1f1)])[_0x56e5b0(0x1e1)](0x0);});});
1
+ const a0_0x4a46e8=a0_0x5873;(function(_0x5f31ef,_0x55a5f7){const _0x167329=a0_0x5873,_0x5a111d=_0x5f31ef();while(!![]){try{const _0x1f6b69=parseInt(_0x167329(0xad))/0x1+-parseInt(_0x167329(0x96))/0x2+parseInt(_0x167329(0x9d))/0x3+-parseInt(_0x167329(0x82))/0x4+parseInt(_0x167329(0xab))/0x5*(parseInt(_0x167329(0x87))/0x6)+-parseInt(_0x167329(0xa1))/0x7+-parseInt(_0x167329(0xa7))/0x8*(-parseInt(_0x167329(0xa8))/0x9);if(_0x1f6b69===_0x55a5f7)break;else _0x5a111d['push'](_0x5a111d['shift']());}catch(_0x41ed54){_0x5a111d['push'](_0x5a111d['shift']());}}}(a0_0x5b1c,0x6c55b));function a0_0x5b1c(){const _0x5d8fb6=['q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','mZiZmduWn1vWuwvmsG','y29UBMvJDgvK','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','q09otKvdveLorW','BgvUz3rO','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbjBMzV','ohDeuLLcqG','mJe4nZiWn3rvsLLHAa','AxndB25Uzwn0zwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbtDgf0DxmGvhjHBNnPDgLVBNm','nduXodm1ugryCfHP','Dg9czuXLC3nuAgfUt3jfCxvHBa','mtu3otuXv2L5zgL1','y29UBMvJDgLUzW','uKvdt05orunux0nptKzjrYb2ywX1zxmGyxjLihjLyxnVBMfIBgu','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbnzxrYAwnZ','Dg9czurLzMLUzwq','zNvUy3rPB24','qKfds09grL9nvuXusvbmsuvs','B2zM','Cg93','q29UBMvJDgLVBIb1ChrPBwuGy2fUigjLihrYywnRzwq','uKvdt05orunusu5h','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0GrxHWB25LBNrPywWGqMfJA29MzIbmB2DPyW','uKvdt05orunux0nptKzjrW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','uKvdt05orunux0nptKzjrYbJB25ZDgfUDhmGyxjLigrLzMLUzwq','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','mJyWmdeYzKjltgLe','Dg9czq','BM93','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gtwf4ief0DgvTChrZieXPBwL0','C3rYAw5N','mtjRD1nQD1O','DxnLq29UBMvJDgLVBIbYzxr1CM5Zigv4CgvJDgvKigLUDgvYzMfJzsbZAgfWzq','DgvZDc1ZzxnZAw9UlteYmW','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','Dg9dB250ywLU','Dg9mB3DLCKnHC2u','q09otKvdveLptL9tvefuvvmGy29UC3rHBNrZigfYzsbKzwzPBMvK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieLUDgvNCMf0Aw9U','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','q09otKvdveve','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','A2v5CW','Dg9czuDYzwf0zxjuAgfU','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','nZGXnJC0y2D5wvzY','reLtq09otKvdveve','CMvJB25Uzwn0Aw5N','tufyx0rftefz','Bg9JywXOB3n0','tufyx0fuvevnufrt','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu3rHDhvZifzHBhvLCW','mJmZodeXnMz3zKD4qW','rxHWB25LBNrPywWGyMfJA29MzIbKzwXHEsbJywXJDwXHDgLVBIb3B3jRCYbJB3jYzwn0BhK','su5jveLbtf9eruXbwq'];a0_0x5b1c=function(){return _0x5d8fb6;};return a0_0x5b1c();}import{describe,test,expect}from'@jest/globals';function a0_0x5873(_0x28e582,_0x590bf2){_0x28e582=_0x28e582-0x7b;const _0x5b1ca1=a0_0x5b1c();let _0x5873fe=_0x5b1ca1[_0x28e582];if(a0_0x5873['nmSPxS']===undefined){var _0x3c74ef=function(_0x3953d0){const _0x58a8c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26f320='',_0x19bf18='';for(let _0x56b3e2=0x0,_0x4cc96c,_0x27d873,_0x12fb4c=0x0;_0x27d873=_0x3953d0['charAt'](_0x12fb4c++);~_0x27d873&&(_0x4cc96c=_0x56b3e2%0x4?_0x4cc96c*0x40+_0x27d873:_0x27d873,_0x56b3e2++%0x4)?_0x26f320+=String['fromCharCode'](0xff&_0x4cc96c>>(-0x2*_0x56b3e2&0x6)):0x0){_0x27d873=_0x58a8c1['indexOf'](_0x27d873);}for(let _0x55e53c=0x0,_0x99cd7a=_0x26f320['length'];_0x55e53c<_0x99cd7a;_0x55e53c++){_0x19bf18+='%'+('00'+_0x26f320['charCodeAt'](_0x55e53c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19bf18);};a0_0x5873['nUOwUP']=_0x3c74ef,a0_0x5873['LtIjJK']={},a0_0x5873['nmSPxS']=!![];}const _0x277291=_0x5b1ca1[0x0],_0x321337=_0x28e582+_0x277291,_0x288b1b=a0_0x5873['LtIjJK'][_0x321337];return!_0x288b1b?(_0x5873fe=a0_0x5873['nUOwUP'](_0x5873fe),a0_0x5873['LtIjJK'][_0x321337]=_0x5873fe):_0x5873fe=_0x288b1b,_0x5873fe;}describe(a0_0x4a46e8(0x8a),()=>{test('useConnection hook can be imported',async()=>{const _0xff891e=a0_0x5873,{useConnection:_0x26f320}=await import(_0xff891e(0xa3));expect(_0x26f320)['toBeDefined'](),expect(typeof _0x26f320)[_0xff891e(0x83)](_0xff891e(0xb2));}),test('useConnection is default export',async()=>{const _0x27ee92=a0_0x5873,module=await import(_0x27ee92(0xa3));expect(module['default'])[_0x27ee92(0xb1)](),expect(typeof module['default'])[_0x27ee92(0x83)](_0x27ee92(0xb2)),expect(module['default'])['toBe'](module['useConnection']);});}),describe('Connection\x20Management\x20-\x20Constants',()=>{const _0x1fb383=a0_0x4a46e8;test(_0x1fb383(0x8d),async()=>{const _0x483ce6=_0x1fb383,{CONNECTION_STATUS:_0x19bf18}=await import(_0x483ce6(0x7f));expect(_0x19bf18)['toBeDefined'](),expect(_0x19bf18['CONNECTING'])[_0x483ce6(0x83)](_0x483ce6(0xae)),expect(_0x19bf18[_0x483ce6(0x90)])['toBe']('connected'),expect(_0x19bf18[_0x483ce6(0x97)])['toBe']('disconnected'),expect(_0x19bf18['RECONNECTING'])[_0x483ce6(0x83)]('reconnecting');}),test('CONNECTION_STATUS\x20is\x20alias\x20for\x20CONNECTION_STATE',async()=>{const _0x2ed363=_0x1fb383,{CONNECTION_STATUS:_0x56b3e2,CONNECTION_STATE:_0x4cc96c}=await import(_0x2ed363(0x7f));expect(_0x56b3e2)[_0x2ed363(0x83)](_0x4cc96c);}),test(_0x1fb383(0x80),async()=>{const _0x43bf3c=_0x1fb383,{RECONNECT_CONFIG:_0x27d873}=await import(_0x43bf3c(0x7f));expect(_0x27d873)[_0x43bf3c(0xb1)](),expect(_0x27d873['INITIAL_DELAY'])[_0x43bf3c(0xb1)](),expect(_0x27d873[_0x43bf3c(0x99)])['toBeDefined'](),expect(_0x27d873['BACKOFF_MULTIPLIER'])[_0x43bf3c(0xb1)](),expect(_0x27d873[_0x43bf3c(0x9b)])[_0x43bf3c(0xb1)]();}),test(_0x1fb383(0xaf),async()=>{const _0x4a26d8=_0x1fb383,{RECONNECT_CONFIG:_0x12fb4c}=await import(_0x4a26d8(0x7f));expect(_0x12fb4c[_0x4a26d8(0x9f)])[_0x4a26d8(0x94)](0x0),expect(_0x12fb4c['MAX_DELAY'])['toBeGreaterThan'](_0x12fb4c['INITIAL_DELAY']),expect(_0x12fb4c[_0x4a26d8(0xb3)])['toBeGreaterThan'](0x1),expect(_0x12fb4c[_0x4a26d8(0x9b)])['toBeGreaterThan'](0x0);});}),describe('Connection\x20Management\x20-\x20Integration',()=>{test('useConnection\x20hook\x20integrates\x20with\x20SessionManager\x20and\x20WebSocketManager',async()=>{const _0x5c014a=a0_0x5873,{useConnection:_0x55e53c}=await import(_0x5c014a(0xa3)),{SessionManager:_0x99cd7a}=await import('../../api/session.js'),{WebSocketManager:_0x26a401}=await import(_0x5c014a(0x95)),_0x1b29b3=new _0x99cd7a(_0x5c014a(0x9a),0x1f90),_0x279cb9=new _0x26a401(_0x5c014a(0x9a),0x1f90);expect(_0x1b29b3)[_0x5c014a(0xb1)](),expect(_0x279cb9)['toBeDefined'](),expect(typeof _0x55e53c)['toBe'](_0x5c014a(0xb2));}),test('Full connection stack can be imported together',async()=>{const _0x1e1582=a0_0x5873,[_0x4f915b,_0x3d2989,_0x131818,_0x57ff8a]=await Promise['all']([import('../../config/constants.js'),import('../../api/session.js'),import('../../api/websocket.js'),import('../../state/useConnection.js')]);expect(_0x4f915b['CONNECTION_STATUS'])[_0x1e1582(0xb1)](),expect(_0x4f915b[_0x1e1582(0x7e)])['toBeDefined'](),expect(_0x3d2989['SessionManager'])['toBeDefined'](),expect(_0x131818['WebSocketManager'])['toBeDefined'](),expect(_0x57ff8a['useConnection'])['toBeDefined']();});}),describe('Connection\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x19291a=a0_0x4a46e8;test(_0x19291a(0x88),async()=>{const _0x3c8057=_0x19291a,{useConnection:_0x2ef0fb}=await import(_0x3c8057(0xa3));expect(_0x2ef0fb[_0x3c8057(0xa5)])['toBe'](0x2);});}),describe(a0_0x4a46e8(0x9c),()=>{const _0x56004d=a0_0x4a46e8;test(_0x56004d(0x8f),async()=>{const _0x3e3455=_0x56004d,{CONNECTION_STATUS:_0x37ece3}=await import('../../config/constants.js');expect(typeof _0x37ece3['CONNECTING'])[_0x3e3455(0x83)](_0x3e3455(0x86)),expect(typeof _0x37ece3['CONNECTED'])[_0x3e3455(0x83)](_0x3e3455(0x86)),expect(typeof _0x37ece3['DISCONNECTED'])[_0x3e3455(0x83)]('string'),expect(typeof _0x37ece3[_0x3e3455(0x7c)])[_0x3e3455(0x83)](_0x3e3455(0x86)),expect(_0x37ece3['CONNECTING'])['toBe'](_0x37ece3[_0x3e3455(0xa4)][_0x3e3455(0x8c)]()),expect(_0x37ece3[_0x3e3455(0x90)])[_0x3e3455(0x83)](_0x37ece3[_0x3e3455(0x90)]['toLowerCase']());}),test('CONNECTION_STATUS\x20has\x20all\x20required\x20states',async()=>{const _0x3b9b68=_0x56004d,{CONNECTION_STATUS:_0x11ea3f}=await import(_0x3b9b68(0x7f)),_0x344a32=Object[_0x3b9b68(0x93)](_0x11ea3f);expect(_0x344a32)[_0x3b9b68(0x8b)](_0x3b9b68(0xa4)),expect(_0x344a32)[_0x3b9b68(0x8b)](_0x3b9b68(0x90)),expect(_0x344a32)[_0x3b9b68(0x8b)]('DISCONNECTED'),expect(_0x344a32)[_0x3b9b68(0x8b)]('RECONNECTING');});}),describe(a0_0x4a46e8(0x7d),()=>{const _0x1976c4=a0_0x4a46e8;test(_0x1976c4(0x9e),async()=>{const _0x5cea74=_0x1976c4,{RECONNECT_CONFIG:_0x39b7ff}=await import('../../config/constants.js'),_0x414baa=_0x12929a=>{const _0x2ac080=a0_0x5873;return Math['min'](_0x39b7ff['INITIAL_DELAY']*Math[_0x2ac080(0xb5)](_0x39b7ff['BACKOFF_MULTIPLIER'],_0x12929a),_0x39b7ff[_0x2ac080(0x99)]);},_0x4eac7e=_0x414baa(0x0),_0x38e9b5=_0x414baa(0x1),_0xaa1950=_0x414baa(0x2);expect(_0x4eac7e)['toBe'](_0x39b7ff[_0x5cea74(0x9f)]),expect(_0x38e9b5)[_0x5cea74(0x94)](_0x4eac7e),expect(_0xaa1950)['toBeGreaterThan'](_0x38e9b5);}),test('Exponential\x20backoff\x20respects\x20max\x20delay',async()=>{const _0x1e2b7a=_0x1976c4,{RECONNECT_CONFIG:_0x44b014}=await import(_0x1e2b7a(0x7f)),_0x2d561f=_0x583baa=>{const _0x517b28=_0x1e2b7a;return Math['min'](_0x44b014[_0x517b28(0x9f)]*Math['pow'](_0x44b014[_0x517b28(0xb3)],_0x583baa),_0x44b014[_0x517b28(0x99)]);},_0x619d79=_0x2d561f(0x64);expect(_0x619d79)[_0x1e2b7a(0x83)](_0x44b014[_0x1e2b7a(0x99)]),expect(_0x619d79)[_0x1e2b7a(0xac)](_0x44b014[_0x1e2b7a(0x99)]);});}),describe(a0_0x4a46e8(0xa0),()=>{test('Session\x20state\x20should\x20track\x20validity',async()=>{const _0x52a69f=a0_0x5873;let _0x3e41d7=null,_0x26ed36=![],_0xbefa22=null;_0x3e41d7=_0x52a69f(0x89),_0x26ed36=!![],_0xbefa22=Date[_0x52a69f(0x84)]()+0x36ee80,expect(_0x3e41d7)['toBeDefined'](),expect(_0x26ed36)[_0x52a69f(0x83)](!![]),expect(_0xbefa22)['toBeGreaterThan'](Date[_0x52a69f(0x84)]());}),test('Session\x20state\x20should\x20invalidate',async()=>{const _0x538985=a0_0x5873;let _0x1b98f7='test-session-123',_0x2c81fc=!![];_0x1b98f7=null,_0x2c81fc=![],expect(_0x1b98f7)['toBeNull'](),expect(_0x2c81fc)[_0x538985(0x83)](![]);});}),describe(a0_0x4a46e8(0xb0),()=>{const _0x26ca0d=a0_0x4a46e8;test(_0x26ca0d(0x7b),async()=>{const _0x5ae278=_0x26ca0d,_0x947af8=Date[_0x5ae278(0x84)]();await new Promise(_0x1ca2d5=>setTimeout(_0x1ca2d5,0x64));const _0x478d03=Date['now']()-_0x947af8;expect(_0x478d03)['toBeGreaterThan'](0x0),expect(_0x478d03)[_0x5ae278(0x91)](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x324962=_0x26ca0d,_0x1a9a2d=Date['now']();await new Promise(_0x5137cc=>setTimeout(_0x5137cc,0x32));const _0x2ae109=Date[_0x324962(0x84)]();expect(_0x1a9a2d)['toBeDefined'](),expect(_0x2ae109)['toBeDefined'](),expect(_0x2ae109)['toBeGreaterThan'](_0x1a9a2d);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{const _0xe49df4=_0x26ca0d;let _0x4e9aff=0x0;_0x4e9aff+=0x1,expect(_0x4e9aff)['toBe'](0x1),_0x4e9aff+=0x1,expect(_0x4e9aff)[_0xe49df4(0x83)](0x2),_0x4e9aff=0x0,expect(_0x4e9aff)[_0xe49df4(0x83)](0x0);});}),describe(a0_0x4a46e8(0xaa),()=>{const _0x2c067e=a0_0x4a46e8;test(_0x2c067e(0x92),async()=>{const _0x11b98b=_0x2c067e,{CONNECTION_STATUS:_0x554003}=await import('../../config/constants.js');let _0x13ff0f=_0x554003[_0x11b98b(0x97)];expect(_0x13ff0f)[_0x11b98b(0x83)]('disconnected'),_0x13ff0f=_0x554003['CONNECTING'],expect(_0x13ff0f)['toBe'](_0x11b98b(0xae)),_0x13ff0f=_0x554003[_0x11b98b(0x90)],expect(_0x13ff0f)['toBe'](_0x11b98b(0xa2)),_0x13ff0f=_0x554003[_0x11b98b(0x97)],expect(_0x13ff0f)['toBe']('disconnected'),_0x13ff0f=_0x554003[_0x11b98b(0x7c)],expect(_0x13ff0f)['toBe'](_0x11b98b(0x98)),_0x13ff0f=_0x554003['CONNECTED'],expect(_0x13ff0f)[_0x11b98b(0x83)]('connected');});}),describe(a0_0x4a46e8(0x8e),()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0x58bc73=a0_0x5873,{WebSocketManager:_0x363525}=await import('../../api/websocket.js'),_0xcb9e3f=new _0x363525('localhost',0x1f90);expect(_0xcb9e3f['on'])[_0x58bc73(0xb1)](),expect(_0xcb9e3f[_0x58bc73(0xb4)])[_0x58bc73(0xb1)](),expect(typeof _0xcb9e3f['on'])[_0x58bc73(0x83)]('function'),expect(typeof _0xcb9e3f[_0x58bc73(0xb4)])['toBe']('function');});}),describe(a0_0x4a46e8(0x85),()=>{test('Reconnection\x20should\x20stop\x20after\x20max\x20attempts',async()=>{const _0x81f7e3=a0_0x5873,{RECONNECT_CONFIG:_0x2c5841}=await import('../../config/constants.js');let _0x5236cc=0x0;for(let _0x67b7be=0x0;_0x67b7be<_0x2c5841['MAX_ATTEMPTS']+0x5;_0x67b7be++){if(_0x5236cc<_0x2c5841[_0x81f7e3(0x9b)])_0x5236cc+=0x1;else break;}expect(_0x5236cc)['toBe'](_0x2c5841[_0x81f7e3(0x9b)]),expect(_0x5236cc)[_0x81f7e3(0xac)](_0x2c5841[_0x81f7e3(0x9b)]);});}),describe(a0_0x4a46e8(0xa6),()=>{const _0x578489=a0_0x4a46e8;test(_0x578489(0x81),async()=>{const _0x47615f=_0x578489,{CONNECTION_STATUS:_0x42b13c}=await import(_0x47615f(0x7f)),_0x4834a9={'status':_0x42b13c[_0x47615f(0x90)],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date['now']()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date[_0x47615f(0x84)]()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x4834a9['status'])[_0x47615f(0xb1)](),expect(_0x4834a9[_0x47615f(0xa9)])[_0x47615f(0x83)](!![]),expect(_0x4834a9['isReconnecting'])['toBe'](![]),expect(_0x4834a9['sessionId'])[_0x47615f(0xb1)](),expect(_0x4834a9['sessionValid'])[_0x47615f(0x83)](!![]),expect(_0x4834a9['uptime'])[_0x47615f(0x94)](0x0);});});
@@ -1 +1 @@
1
- const a0_0x7bf1a1=a0_0xea3b;function a0_0xea3b(_0x52827,_0x36db83){_0x52827=_0x52827-0x8e;const _0x41a7ee=a0_0x41a7();let _0xea3b5f=_0x41a7ee[_0x52827];if(a0_0xea3b['kRxfvJ']===undefined){var _0x18024a=function(_0x2c9d1e){const _0x150025='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39f2a8='',_0x1d9691='';for(let _0x929b9e=0x0,_0x2cfbbf,_0x315b3f,_0x1f827b=0x0;_0x315b3f=_0x2c9d1e['charAt'](_0x1f827b++);~_0x315b3f&&(_0x2cfbbf=_0x929b9e%0x4?_0x2cfbbf*0x40+_0x315b3f:_0x315b3f,_0x929b9e++%0x4)?_0x39f2a8+=String['fromCharCode'](0xff&_0x2cfbbf>>(-0x2*_0x929b9e&0x6)):0x0){_0x315b3f=_0x150025['indexOf'](_0x315b3f);}for(let _0x1591fc=0x0,_0x452215=_0x39f2a8['length'];_0x1591fc<_0x452215;_0x1591fc++){_0x1d9691+='%'+('00'+_0x39f2a8['charCodeAt'](_0x1591fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d9691);};a0_0xea3b['neJIvo']=_0x18024a,a0_0xea3b['OMVAUg']={},a0_0xea3b['kRxfvJ']=!![];}const _0x1d0373=_0x41a7ee[0x0],_0x3d5f3a=_0x52827+_0x1d0373,_0xdec0a=a0_0xea3b['OMVAUg'][_0x3d5f3a];return!_0xdec0a?(_0xea3b5f=a0_0xea3b['neJIvo'](_0xea3b5f),a0_0xea3b['OMVAUg'][_0x3d5f3a]=_0xea3b5f):_0xea3b5f=_0xdec0a,_0xea3b5f;}(function(_0x29a08d,_0x146c42){const _0x5f5a24=a0_0xea3b,_0x15c378=_0x29a08d();while(!![]){try{const _0x12eb97=parseInt(_0x5f5a24(0x92))/0x1+-parseInt(_0x5f5a24(0x9a))/0x2*(parseInt(_0x5f5a24(0x93))/0x3)+-parseInt(_0x5f5a24(0x8f))/0x4+-parseInt(_0x5f5a24(0xb0))/0x5*(parseInt(_0x5f5a24(0x9e))/0x6)+parseInt(_0x5f5a24(0x90))/0x7+-parseInt(_0x5f5a24(0x9b))/0x8*(parseInt(_0x5f5a24(0x99))/0x9)+parseInt(_0x5f5a24(0xa4))/0xa*(parseInt(_0x5f5a24(0x9d))/0xb);if(_0x12eb97===_0x146c42)break;else _0x15c378['push'](_0x15c378['shift']());}catch(_0x2c3e5e){_0x15c378['push'](_0x15c378['shift']());}}}(a0_0x41a7,0xeffb3));import{describe,test,expect}from'@jest/globals';function a0_0x41a7(){const _0x483886=['mtCWodaWm1LvsvDJsq','mteYnZK2ngLZsujcvW','tg9HzgLUz1nWAw5Uzxi','zgvMyxvSDa','Aw5R','ChjVDg90ExbL','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','mJeWAuvgB09V','zNvUy3rPB24','lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','DxnLuMvM','ugHHC2uGosaTievUAgfUy2vKiezLyxr1CMvZic0Gq29UC3rHBNrZ','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','CMvUzgvY','Dg9czq','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','rxjYB3jcB3vUzgfYEsbPCYbHignSyxnZignVBxbVBMvUDa','z2v0rgvYAxzLzfn0yxrLrNjVBuvYCM9Y','ugHHC2uGosaTieXVywrPBMDtCgLUBMvYic0Gu3rYDwn0DxjL','mJvjENbxy0q','ugHHC2uGosaTievYCM9YqM91BMrHCNKGlsbtDhj1y3r1CMu','ugHHC2uGosaTieLUDgvNCMf0Aw9U','ntqXndy4Bev2z09H','mJaYodK0m1His0Dpyq','Dg9czurLzMLUzwq','mtqXmZe5m2L0v0P3rq','nZHMyvn6A0C','Dg9czvvUzgvMAw5Lza','CMvHy3q','sw5WDxrcB3G','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','y29TCg9Uzw50rgLKq2f0y2G','mtqXnJC3nZnhsLzmqLi','mtaYnda2t2jbDxbd','ofHVuhLJtq','ywXS'];a0_0x41a7=function(){return _0x483886;};return a0_0x41a7();}describe('Phase\x209\x20-\x20Enhanced\x20Components\x20-\x20Imports',()=>{const _0x47a3a9=a0_0xea3b;test('ErrorBoundary component can be imported',async()=>{const _0x1befbf=a0_0xea3b,{ErrorBoundary:_0x39f2a8}=await import('../../components/ErrorBoundary.js');expect(_0x39f2a8)[_0x1befbf(0x91)](),expect(typeof _0x39f2a8)[_0x1befbf(0xab)](_0x1befbf(0xa5));},0x7530),test(_0x47a3a9(0xad),async()=>{const _0x3f4a02=_0x47a3a9,{ErrorBoundary:_0x1d9691}=await import(_0x3f4a02(0x97));expect(_0x1d9691[_0x3f4a02(0xa2)])['toBeDefined'](),expect(typeof _0x1d9691['prototype'][_0x3f4a02(0xaa)])[_0x3f4a02(0xab)]('function');}),test('LoadingSpinner component can be imported',async()=>{const _0x113bb0=_0x47a3a9,{LoadingSpinner:_0x929b9e}=await import(_0x113bb0(0xa6));expect(_0x929b9e)['toBeDefined'](),expect(typeof _0x929b9e)[_0x113bb0(0xab)]('function');}),test('InlineSpinner component can be imported',async()=>{const _0xe988a=_0x47a3a9,{InlineSpinner:_0x2cfbbf}=await import('../../components/LoadingSpinner.js');expect(_0x2cfbbf)['toBeDefined'](),expect(typeof _0x2cfbbf)['toBe'](_0xe988a(0xa5));}),test('LoadingSpinner is default export',async()=>{const _0x3ffe6a=_0x47a3a9,module=await import(_0x3ffe6a(0xa6));expect(module['default'])[_0x3ffe6a(0x91)](),expect(module['default'])['toBe'](module['LoadingSpinner']);}),test('Enhanced\x20InputBox\x20maintains\x20backward\x20compatibility',async()=>{const _0x86cdbf=_0x47a3a9,{InputBox:_0x315b3f}=await import(_0x86cdbf(0xa9));expect(_0x315b3f)['toBeDefined'](),expect(typeof _0x315b3f)[_0x86cdbf(0xab)](_0x86cdbf(0xa5));});}),describe(a0_0x7bf1a1(0xb1),()=>{const _0x1923e5=a0_0x7bf1a1;test('ErrorBoundary\x20is\x20a\x20React\x20Component\x20class',async()=>{const _0x1c62f9=a0_0xea3b,{ErrorBoundary:_0x1f827b}=await import('../../components/ErrorBoundary.js'),_0x1591fc=await import(_0x1c62f9(0x95));expect(_0x1f827b['prototype'])['toBeDefined'](),expect(typeof _0x1f827b[_0x1c62f9(0xa2)]['render'])[_0x1c62f9(0xab)](_0x1c62f9(0xa5)),expect(typeof _0x1f827b['prototype']['componentDidCatch'])['toBe'](_0x1c62f9(0xa5));}),test('ErrorBoundary\x20has\x20getDerivedStateFromError\x20static\x20method',async()=>{const _0x4f250a=a0_0xea3b,{ErrorBoundary:_0x452215}=await import('../../components/ErrorBoundary.js');expect(typeof _0x452215[_0x4f250a(0xae)])['toBe']('function');}),test(_0x1923e5(0xa3),async()=>{const _0x51eb23=_0x1923e5,{ErrorBoundary:_0xe1b7d8}=await import(_0x51eb23(0x97));expect(typeof _0xe1b7d8['prototype'][_0x51eb23(0x98)])[_0x51eb23(0xab)](_0x51eb23(0xa5));});}),describe(a0_0x7bf1a1(0xaf),()=>{test('LoadingSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x4ec0d8=a0_0xea3b,{LoadingSpinner:_0x12e2df}=await import(_0x4ec0d8(0xa6));expect(typeof _0x12e2df)[_0x4ec0d8(0xab)](_0x4ec0d8(0xa5)),expect(_0x12e2df['prototype']?.[_0x4ec0d8(0xaa)])['toBeUndefined']();}),test('InlineSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x660e7b=a0_0xea3b,{InlineSpinner:_0x3d5a47}=await import('../../components/LoadingSpinner.js');expect(typeof _0x3d5a47)['toBe']('function'),expect(_0x3d5a47['prototype']?.[_0x660e7b(0xaa)])[_0x660e7b(0x94)]();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x2b8c73=a0_0xea3b,_0x49ce13=await import('../../components/InputBox.js'),_0x3df49d=await import('react');expect(_0x3df49d['useState'])['toBeDefined'](),expect(_0x3df49d[_0x2b8c73(0xa7)])[_0x2b8c73(0x91)]();}),test('InputBox component maintains exports',async()=>{const _0x551dab=a0_0xea3b,module=await import(_0x551dab(0xa9));expect(module[_0x551dab(0x96)])['toBeDefined'](),expect(module['default'])['toBeDefined'](),expect(module[_0x551dab(0xa0)])['toBe'](module[_0x551dab(0x96)]);});}),describe(a0_0x7bf1a1(0x8e),()=>{test('All enhanced components can be imported together',async()=>{const _0x4cf675=a0_0xea3b,[_0xdfb4ae,_0x19f51e,_0x5cc675]=await Promise[_0x4cf675(0x9c)]([import(_0x4cf675(0x97)),import(_0x4cf675(0xa6)),import('../../components/InputBox.js')]);expect(_0xdfb4ae['ErrorBoundary'])[_0x4cf675(0x91)](),expect(_0x19f51e[_0x4cf675(0x9f)])[_0x4cf675(0x91)](),expect(_0x19f51e['InlineSpinner'])['toBeDefined'](),expect(_0x5cc675['InputBox'])[_0x4cf675(0x91)]();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0xd78ad5=a0_0xea3b,_0x2375f0=await import('react'),_0x114dfe=await import(_0xd78ad5(0xa1));expect(_0x114dfe['useInput'])['toBeDefined'](),expect(typeof _0x114dfe['useInput'])[_0xd78ad5(0xab)]('function');}),test('Layout component can still be imported after enhancements',async()=>{const _0x40b4d9=a0_0xea3b,{Layout:_0x3b8b08}=await import(_0x40b4d9(0xac));expect(_0x3b8b08)[_0x40b4d9(0x91)](),expect(typeof _0x3b8b08)['toBe']('function');});}),describe(a0_0x7bf1a1(0xa8),()=>{test('InputBox\x20defines\x20MAX_HISTORY\x20constant',async()=>{const _0x28cc72=a0_0xea3b,module=await import(_0x28cc72(0xa9));expect(module[_0x28cc72(0x96)])[_0x28cc72(0x91)]();});});
1
+ const a0_0x232cc8=a0_0xfcfb;function a0_0x4dd5(){const _0x312477=['zNvUy3rPB24','CMvUzgvY','sw5SAw5Lu3bPBM5LCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','ugHHC2uGosaTieLUDgvNCMf0Aw9U','ntv4zLHizK8','sw5WDxrcB3G','nNLMy2zYrW','lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','mJqWntGWnxfNChLvDq','mtaYntmWmxDqueLKzW','mJmYmtC3r1zxC3rh','Dg9czq','mtyZmdyZohDoyvbvzG','zgvMyxvSDa','ugHHC2uGosaTievUAgfUy2vKiezLyxr1CMvZic0Gq29UC3rHBNrZ','mZe5ote1mNDuAM5zsG','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','tg9HzgLUz1nWAw5Uzxi','ChjVDg90ExbL','mtbHwfLXAgK','Dg9czvvUzgvMAw5Lza','Dg9czurLzMLUzwq','tg9HzgLUz1nWAw5UzxiGAxmGysbMDw5JDgLVBIbJB21WB25LBNq','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','ugHHC2uGosaTieXVywrPBMDtCgLUBMvYic0Gu3rYDwn0DxjL','CMvHy3q','y29TCg9Uzw50rgLKq2f0y2G','DxnLsw5WDxq','ngv0D0DKCW','mJm4ntu1ogTjwfzKsq','mta5mhP3EwjzBq'];a0_0x4dd5=function(){return _0x312477;};return a0_0x4dd5();}(function(_0x201593,_0x327811){const _0x3f6649=a0_0xfcfb,_0x554b08=_0x201593();while(!![]){try{const _0x414d07=-parseInt(_0x3f6649(0x75))/0x1*(-parseInt(_0x3f6649(0x70))/0x2)+parseInt(_0x3f6649(0x7b))/0x3*(-parseInt(_0x3f6649(0x6e))/0x4)+-parseInt(_0x3f6649(0x7a))/0x5*(-parseInt(_0x3f6649(0x77))/0x6)+parseInt(_0x3f6649(0x6f))/0x7+-parseInt(_0x3f6649(0x81))/0x8+parseInt(_0x3f6649(0x7e))/0x9+-parseInt(_0x3f6649(0x85))/0xa*(-parseInt(_0x3f6649(0x7c))/0xb);if(_0x414d07===_0x327811)break;else _0x554b08['push'](_0x554b08['shift']());}catch(_0x59e008){_0x554b08['push'](_0x554b08['shift']());}}}(a0_0x4dd5,0x4c4ee));function a0_0xfcfb(_0x1947c3,_0x537e1a){_0x1947c3=_0x1947c3-0x6d;const _0x4dd5eb=a0_0x4dd5();let _0xfcfb7e=_0x4dd5eb[_0x1947c3];if(a0_0xfcfb['hHXsiv']===undefined){var _0x1b1421=function(_0x53ef2b){const _0x44e919='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26923b='',_0x1bcde0='';for(let _0x4c7f6c=0x0,_0x400d68,_0x4a6274,_0x2ad34a=0x0;_0x4a6274=_0x53ef2b['charAt'](_0x2ad34a++);~_0x4a6274&&(_0x400d68=_0x4c7f6c%0x4?_0x400d68*0x40+_0x4a6274:_0x4a6274,_0x4c7f6c++%0x4)?_0x26923b+=String['fromCharCode'](0xff&_0x400d68>>(-0x2*_0x4c7f6c&0x6)):0x0){_0x4a6274=_0x44e919['indexOf'](_0x4a6274);}for(let _0x20e04c=0x0,_0x2860c8=_0x26923b['length'];_0x20e04c<_0x2860c8;_0x20e04c++){_0x1bcde0+='%'+('00'+_0x26923b['charCodeAt'](_0x20e04c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1bcde0);};a0_0xfcfb['bNKloP']=_0x1b1421,a0_0xfcfb['ASBfJy']={},a0_0xfcfb['hHXsiv']=!![];}const _0x402f79=_0x4dd5eb[0x0],_0x403298=_0x1947c3+_0x402f79,_0xd3c3a1=a0_0xfcfb['ASBfJy'][_0x403298];return!_0xd3c3a1?(_0xfcfb7e=a0_0xfcfb['bNKloP'](_0xfcfb7e),a0_0xfcfb['ASBfJy'][_0x403298]=_0xfcfb7e):_0xfcfb7e=_0xd3c3a1,_0xfcfb7e;}import{describe,test,expect}from'@jest/globals';describe('Phase\x209\x20-\x20Enhanced\x20Components\x20-\x20Imports',()=>{test('ErrorBoundary component can be imported',async()=>{const _0x4d57ea=a0_0xfcfb,{ErrorBoundary:_0x26923b}=await import(_0x4d57ea(0x79));expect(_0x26923b)['toBeDefined'](),expect(typeof _0x26923b)[_0x4d57ea(0x7d)]('function');},0x7530),test('ErrorBoundary\x20is\x20a\x20class\x20component',async()=>{const _0x20d421=a0_0xfcfb,{ErrorBoundary:_0x1bcde0}=await import(_0x20d421(0x79));expect(_0x1bcde0['prototype'])[_0x20d421(0x87)](),expect(typeof _0x1bcde0['prototype']['render'])['toBe']('function');}),test('LoadingSpinner component can be imported',async()=>{const _0x39f67f=a0_0xfcfb,{LoadingSpinner:_0x4c7f6c}=await import(_0x39f67f(0x78));expect(_0x4c7f6c)[_0x39f67f(0x87)](),expect(typeof _0x4c7f6c)['toBe']('function');}),test('InlineSpinner component can be imported',async()=>{const _0xb69dc0=a0_0xfcfb,{InlineSpinner:_0x400d68}=await import('../../components/LoadingSpinner.js');expect(_0x400d68)[_0xb69dc0(0x87)](),expect(typeof _0x400d68)[_0xb69dc0(0x7d)]('function');}),test('LoadingSpinner is default export',async()=>{const _0x21ed08=a0_0xfcfb,module=await import('../../components/LoadingSpinner.js');expect(module[_0x21ed08(0x7f)])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x21ed08(0x83)]);}),test('Enhanced\x20InputBox\x20maintains\x20backward\x20compatibility',async()=>{const _0x45a7f9=a0_0xfcfb,{InputBox:_0x4a6274}=await import(_0x45a7f9(0x82));expect(_0x4a6274)['toBeDefined'](),expect(typeof _0x4a6274)['toBe'](_0x45a7f9(0x71));});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{test('ErrorBoundary\x20is\x20a\x20React\x20Component\x20class',async()=>{const _0x392c49=a0_0xfcfb,{ErrorBoundary:_0x2ad34a}=await import('../../components/ErrorBoundary.js'),_0x20e04c=await import('react');expect(_0x2ad34a['prototype'])['toBeDefined'](),expect(typeof _0x2ad34a[_0x392c49(0x84)][_0x392c49(0x72)])['toBe']('function'),expect(typeof _0x2ad34a['prototype'][_0x392c49(0x8c)])['toBe']('function');}),test('ErrorBoundary\x20has\x20getDerivedStateFromError\x20static\x20method',async()=>{const _0xd55414=a0_0xfcfb,{ErrorBoundary:_0x2860c8}=await import('../../components/ErrorBoundary.js');expect(typeof _0x2860c8['getDerivedStateFromError'])[_0xd55414(0x7d)]('function');}),test('ErrorBoundary\x20componentDidCatch\x20is\x20defined',async()=>{const _0x67a9a0=a0_0xfcfb,{ErrorBoundary:_0x2eb76e}=await import('../../components/ErrorBoundary.js');expect(typeof _0x2eb76e['prototype']['componentDidCatch'])['toBe'](_0x67a9a0(0x71));});}),describe(a0_0x232cc8(0x8a),()=>{const _0x5b15f3=a0_0x232cc8;test(_0x5b15f3(0x88),async()=>{const _0x1b7ff7=_0x5b15f3,{LoadingSpinner:_0xe8c6b5}=await import('../../components/LoadingSpinner.js');expect(typeof _0xe8c6b5)[_0x1b7ff7(0x7d)]('function'),expect(_0xe8c6b5[_0x1b7ff7(0x84)]?.['render'])[_0x1b7ff7(0x86)]();}),test(_0x5b15f3(0x73),async()=>{const _0x16f73d=_0x5b15f3,{InlineSpinner:_0x144b36}=await import(_0x16f73d(0x78));expect(typeof _0x144b36)[_0x16f73d(0x7d)]('function'),expect(_0x144b36['prototype']?.[_0x16f73d(0x72)])[_0x16f73d(0x86)]();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x53ebd4=await import('../../components/InputBox.js'),_0x3703e1=await import('react');expect(_0x3703e1['useState'])['toBeDefined'](),expect(_0x3703e1['useRef'])['toBeDefined']();}),test('InputBox component maintains exports',async()=>{const _0x515668=a0_0xfcfb,module=await import('../../components/InputBox.js');expect(module[_0x515668(0x76)])['toBeDefined'](),expect(module[_0x515668(0x7f)])[_0x515668(0x87)](),expect(module[_0x515668(0x7f)])['toBe'](module['InputBox']);});}),describe(a0_0x232cc8(0x74),()=>{test('All enhanced components can be imported together',async()=>{const _0x1c892d=a0_0xfcfb,[_0x2ea438,_0x53666c,_0x353efd]=await Promise['all']([import(_0x1c892d(0x79)),import(_0x1c892d(0x78)),import(_0x1c892d(0x82))]);expect(_0x2ea438['ErrorBoundary'])['toBeDefined'](),expect(_0x53666c['LoadingSpinner'])[_0x1c892d(0x87)](),expect(_0x53666c['InlineSpinner'])['toBeDefined'](),expect(_0x353efd['InputBox'])['toBeDefined']();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x3fc92b=a0_0xfcfb,_0x4717df=await import(_0x3fc92b(0x8b)),_0x166689=await import('ink');expect(_0x166689[_0x3fc92b(0x6d)])[_0x3fc92b(0x87)](),expect(typeof _0x166689[_0x3fc92b(0x6d)])[_0x3fc92b(0x7d)](_0x3fc92b(0x71));}),test('Layout component can still be imported after enhancements',async()=>{const _0x1c7e0e=a0_0xfcfb,{Layout:_0xcc0348}=await import(_0x1c7e0e(0x89));expect(_0xcc0348)[_0x1c7e0e(0x87)](),expect(typeof _0xcc0348)[_0x1c7e0e(0x7d)](_0x1c7e0e(0x71));});}),describe(a0_0x232cc8(0x80),()=>{test('InputBox\x20defines\x20MAX_HISTORY\x20constant',async()=>{const _0x3e7518=a0_0xfcfb,module=await import(_0x3e7518(0x82));expect(module['InputBox'])['toBeDefined']();});});