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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +1 -1
  3. package/bin/loxia-terminal-v2.js +1 -1
  4. package/bin/loxia-terminal.js +1 -1
  5. package/bin/start-with-terminal.js +1 -1
  6. package/package.json +1 -1
  7. package/scripts/install-scanners.js +1 -1
  8. package/src/analyzers/CSSAnalyzer.js +1 -1
  9. package/src/analyzers/ConfigValidator.js +1 -1
  10. package/src/analyzers/ESLintAnalyzer.js +1 -1
  11. package/src/analyzers/JavaScriptAnalyzer.js +1 -1
  12. package/src/analyzers/PrettierFormatter.js +1 -1
  13. package/src/analyzers/PythonAnalyzer.js +1 -1
  14. package/src/analyzers/SecurityAnalyzer.js +1 -1
  15. package/src/analyzers/TypeScriptAnalyzer.js +1 -1
  16. package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
  17. package/src/analyzers/codeCloneDetector/detector.js +1 -1
  18. package/src/analyzers/codeCloneDetector/index.js +1 -1
  19. package/src/analyzers/codeCloneDetector/parser.js +1 -1
  20. package/src/analyzers/codeCloneDetector/reporter.js +1 -1
  21. package/src/analyzers/codeCloneDetector/scanner.js +1 -1
  22. package/src/core/agentPool.js +1 -1
  23. package/src/core/agentScheduler.js +1 -1
  24. package/src/core/contextManager.js +1 -1
  25. package/src/core/messageProcessor.js +1 -1
  26. package/src/core/orchestrator.js +1 -1
  27. package/src/core/stateManager.js +1 -1
  28. package/src/index.js +1 -1
  29. package/src/interfaces/cli.js +1 -1
  30. package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
  31. package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
  32. package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
  33. package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
  34. package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
  35. package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
  36. package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
  37. package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
  38. package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
  39. package/src/interfaces/terminal/api/apiClient.js +1 -1
  40. package/src/interfaces/terminal/api/messageRouter.js +1 -1
  41. package/src/interfaces/terminal/api/session.js +1 -1
  42. package/src/interfaces/terminal/api/websocket.js +1 -1
  43. package/src/interfaces/terminal/components/AgentCreator.js +1 -1
  44. package/src/interfaces/terminal/components/AgentEditor.js +1 -1
  45. package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
  46. package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
  47. package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
  48. package/src/interfaces/terminal/components/Header.js +1 -1
  49. package/src/interfaces/terminal/components/HelpPanel.js +1 -1
  50. package/src/interfaces/terminal/components/InputBox.js +1 -1
  51. package/src/interfaces/terminal/components/Layout.js +1 -1
  52. package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
  53. package/src/interfaces/terminal/components/MessageList.js +1 -1
  54. package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
  55. package/src/interfaces/terminal/components/SearchPanel.js +1 -1
  56. package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
  57. package/src/interfaces/terminal/components/StatusBar.js +1 -1
  58. package/src/interfaces/terminal/components/TextInput.js +1 -1
  59. package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
  60. package/src/interfaces/terminal/config/constants.js +1 -1
  61. package/src/interfaces/terminal/index.js +1 -1
  62. package/src/interfaces/terminal/state/useAgentControl.js +1 -1
  63. package/src/interfaces/terminal/state/useAgents.js +1 -1
  64. package/src/interfaces/terminal/state/useConnection.js +1 -1
  65. package/src/interfaces/terminal/state/useMessages.js +1 -1
  66. package/src/interfaces/terminal/state/useTools.js +1 -1
  67. package/src/interfaces/terminal/utils/debugLogger.js +1 -1
  68. package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
  69. package/src/interfaces/terminal/utils/theme.js +1 -1
  70. package/src/interfaces/webServer.js +1 -1
  71. package/src/modules/fileExplorer/controller.js +1 -1
  72. package/src/modules/fileExplorer/index.js +1 -1
  73. package/src/modules/fileExplorer/middleware.js +1 -1
  74. package/src/modules/fileExplorer/routes.js +1 -1
  75. package/src/services/aiService.js +1 -1
  76. package/src/services/apiKeyManager.js +1 -1
  77. package/src/services/benchmarkService.js +1 -1
  78. package/src/services/budgetService.js +1 -1
  79. package/src/services/contextInjectionService.js +1 -1
  80. package/src/services/conversationCompactionService.js +1 -1
  81. package/src/services/errorHandler.js +1 -1
  82. package/src/services/fileAttachmentService.js +1 -1
  83. package/src/services/modelRouterService.js +1 -1
  84. package/src/services/modelsService.js +1 -1
  85. package/src/services/qualityInspector.js +1 -1
  86. package/src/services/tokenCountingService.js +1 -1
  87. package/src/tools/agentCommunicationTool.js +1 -1
  88. package/src/tools/agentDelayTool.js +1 -1
  89. package/src/tools/asyncToolManager.js +1 -1
  90. package/src/tools/baseTool.js +1 -1
  91. package/src/tools/browserTool.js +1 -1
  92. package/src/tools/cloneDetectionTool.js +1 -1
  93. package/src/tools/dependencyResolverTool.js +1 -1
  94. package/src/tools/fileContentReplaceTool.js +1 -1
  95. package/src/tools/fileSystemTool.js +1 -1
  96. package/src/tools/fileTreeTool.js +1 -1
  97. package/src/tools/imageTool.js +1 -1
  98. package/src/tools/importAnalyzerTool.js +1 -1
  99. package/src/tools/jobDoneTool.js +1 -1
  100. package/src/tools/seekTool.js +1 -1
  101. package/src/tools/staticAnalysisTool.js +1 -1
  102. package/src/tools/taskManagerTool.js +1 -1
  103. package/src/tools/terminalTool.js +1 -1
  104. package/src/tools/webTool.js +1 -1
  105. package/src/types/agent.js +1 -1
  106. package/src/types/contextReference.js +1 -1
  107. package/src/types/conversation.js +1 -1
  108. package/src/types/toolCommand.js +1 -1
  109. package/src/utilities/attachmentValidator.js +1 -1
  110. package/src/utilities/configManager.js +1 -1
  111. package/src/utilities/constants.js +1 -1
  112. package/src/utilities/directoryAccessManager.js +1 -1
  113. package/src/utilities/fileProcessor.js +1 -1
  114. package/src/utilities/logger.js +1 -1
  115. package/src/utilities/tagParser.js +1 -1
  116. package/src/utilities/toolConstants.js +1 -1
  117. package/web-ui/build/index.html +2 -2
  118. package/web-ui/build/static/{index-CoRE46V-.js → index-C5X7qBNF.js} +63 -63
  119. package/web-ui/build/static/index-g2UFuTwG.css +1 -0
  120. package/web-ui/build/static/index-P281Rusr.css +0 -1
@@ -1 +1 @@
1
- const a0_0x59410c=a0_0x38a3;(function(_0x45e1b3,_0x6fe3b7){const _0x2ee639=a0_0x38a3,_0x16d168=_0x45e1b3();while(!![]){try{const _0x45ee26=parseInt(_0x2ee639(0x194))/0x1*(parseInt(_0x2ee639(0x1cf))/0x2)+parseInt(_0x2ee639(0x1f4))/0x3*(-parseInt(_0x2ee639(0x1ec))/0x4)+-parseInt(_0x2ee639(0x199))/0x5+parseInt(_0x2ee639(0x1d2))/0x6+-parseInt(_0x2ee639(0x198))/0x7+-parseInt(_0x2ee639(0x1f2))/0x8*(-parseInt(_0x2ee639(0x1b9))/0x9)+-parseInt(_0x2ee639(0x1b3))/0xa;if(_0x45ee26===_0x6fe3b7)break;else _0x16d168['push'](_0x16d168['shift']());}catch(_0x511f0e){_0x16d168['push'](_0x16d168['shift']());}}}(a0_0xee5e,0x643fa));function a0_0xee5e(){const _0x2d9717=['icH1BNrPBca','ChjVAMvJDerPCG','Dg9mB3DLCKnHC2u','C2HVD1DLBgnVBwu','ChjVy2vZC1jLCxvLC3q','C3rKAw4','4P2miezHAwXLzcb0BYbZD2L0y2GGywDLBNq6','BMfTzq','C2vZC2LVBKLK','icaGicbnzxnZywDLCZOG','icaGuhjVAMvJDdOG','4P2miezHAwXLzcb0BYbWyxvZzsbHz2vUDdO','icaVCMvZDw1LidXHz2vUDc1Pzd4GicaTifjLC3vTzsbHihbHDxnLzcbHz2vUDa','zMLSzxn5C3rLBq','uefvu0vFquDftLq','y3jLyxrLqwDLBNq','ndi4DK1fAffc','icaGvhLWzsaVy3jLyxrLidXUyw1LpIb0BYbJCMvHDguGEw91CIbMAxjZDcbHz2vUDa','4P2mifbHDxnLigfNzw50ignVBw1HBMqGzMfPBgvKoG','4P2miezHAwXLzcb0BYbZzw5Kig1LC3nHz2u6','r0vux1nfu1njt05Fu1rbveu','icaGlI4UigfUzca','nZC2tMPsANze','C2HVD1n0yxr1CW','mJe5ow9SDNHPCa','C3vJy2vZCW','BwvZC2fNzq','AM9PBG','icaGu2vZC2LVBIbjrdOG','8j+oRYbxzwXJB21LihrVieXVEgLHief1Dg9WAwXVDcbpBMuGq0Xj','icaGsuq6ia','C2XPy2u','y2XLyxi','BgLZDefNzw50CW','C3rKB3v0','4PYfiefNzw50ihbHDxnLzcbMB3iG','mtvlvxHzweK','q1jfqvrfx0fhru5u','zxjYB3i','BM93','mJi3mtG1n01PthvsrW','mJm5mtq1ELjowfLA','y3vYCMvUDe1VzgvS','q0Xj','y3DK','y3jLyxrLsw50zxjMywnL','icaVC3rHDhvZicaGicaGicaGicaGicaTifnOB3CGC3LZDgvTihn0yxr1CW','ChjVy2vZC0LUChv0','C3rHCNrZv2L0Aa','icaGqwDLBNrZignHBIb1C2uGDg9VBhmGyw5KignVBw11BMLJyxrLihDPDgGGB3rOzxiGywDLBNrZ','Dg9VBfjLC3vSDhm','AgLZDg9YEvnPEMu','icaGq3vYCMvUDcbbz2vUDdOG','C2H1DgrVD24','B3jJAgvZDhjHDg9Y','C3rYAw5NAwz5','y3vYCMvUDefNzw50','4P2mifvUA25VD24Gy29TBwfUzdOGlW','uKvtvu1fx0fhru5u','icaGtMfTztOG','8j+tIIbtExn0zw0Gu3rHDhvZoG','C3rHDhvZ','Cgf1C2vKvw50AwW','yMLUza','4P2mifjLC3vTzsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','zxHPDa','icaG','mtq3nJa0mfHcvhLNsW','8j+tRsboBYbHz2vUDhmGy3jLyxrLzcb5zxq','zgf0yq','ywDLBNrZ','C3DPDgnOqwDLBNq','y29UDgvUDa','mJy5odjIwwrtqwS','DgvYBwLUywW','y29TBwfUzhm','4P2miezHAwXLzcb0BYbSAxn0igfNzw50CZO','z2v0uhjVBxb0','u0Lhsu5u','cIHuBYbLEgL0lcb0ExbLicjLEgL0iIbVCIbWCMvZCYbdDhjSk0mGywDHAw4P','4P2mienYzwf0zsbHz2vUDcbJB21Tyw5KigzHAwXLzdO','Dg9mB2nHBgvuAw1Lu3rYAw5N','icaVC3DPDgnOidXHz2vUDc1Pzd4GicaTifn3AxrJAcb0BYbKAwzMzxjLBNqGywDLBNq','ChvZAa','cVcFKySGr29Vzgj5zse','r0vux0fhru5ux1nuqvrvuW','4P2mifvZywDLoIaVCMvZDw1LidXHz2vUDc1Pzd4','CMvZDwX0','AgfUzgXLsw5WDxq','yNjVD3nLCG','icaGifjLC3vSDdOG','y29TBwfUzeHPC3rVCNK','BgvUz3rO','icaGvhLWzsaVAgvSCcbMB3iGyxzHAwXHyMXLignVBw1HBMrZ','AxnsDw5UAw5N','nJy3ndzTv1PIy1G','ChjVBxb0','8j+sRcbdAgf0ihDPDgGGywDLBNrZoG','mtmWntC5mNjiDwTRAG','yw50AhjVCgLJlxnVBM5LDa','C2vUze1LC3nHz2vuB0fNzw50','C2HVD0HPC3rVCNK','q0XjignVBw1HBMqGzxjYB3i','Bg9N','BM8TywDLBNq','4P2mievYCM9YoG','y2XVC2u','icHJDxjYzw50kq'];a0_0xee5e=function(){return _0x2d9717;};return a0_0xee5e();}import a0_0xb07fc2 from'readline';import{INTERFACE_TYPES,ORCHESTRATOR_ACTIONS}from'../utilities/constants.js';class CLIInterface{constructor(_0x3e86a5,_0x50e70e,_0x2a732d={}){const _0x577e04=a0_0x38a3;this[_0x577e04(0x1a6)]=_0x3e86a5,this['logger']=_0x50e70e,this['config']=_0x2a732d,this['rl']=null,this['sessionId']='cli-'+Date[_0x577e04(0x197)](),this[_0x577e04(0x1a8)]=null,this['isRunning']=![],this['historySize']=_0x2a732d['historySize']||0x3e8,this['commandHistory']=[],this['commands']={'help':this['showHelp']['bind'](this),'exit':this[_0x577e04(0x1b1)][_0x577e04(0x1af)](this),'quit':this[_0x577e04(0x1b1)][_0x577e04(0x1af)](this),'status':this[_0x577e04(0x1f3)]['bind'](this),'agents':this['listAgents'][_0x577e04(0x1af)](this),'create':this[_0x577e04(0x1eb)]['bind'](this),'switch':this[_0x577e04(0x1b7)]['bind'](this),'pause':this['pauseAgent'][_0x577e04(0x1af)](this),'resume':this['resumeAgent'][_0x577e04(0x1af)](this),'clear':this['clearScreen']['bind'](this),'history':this[_0x577e04(0x1d5)]['bind'](this)};}async['initialize'](){const _0x20772e=a0_0x38a3;this['rl']=a0_0xb07fc2[_0x20772e(0x19d)]({'input':process[_0x20772e(0x1e1)],'output':process[_0x20772e(0x1fe)],'prompt':this['getPrompt'](),'historySize':this['historySize']}),this['rl']['on']('line',this['handleInput'][_0x20772e(0x1af)](this)),this['rl']['on']('close',this['exit']['bind'](this)),this['rl']['on'](_0x20772e(0x1be),()=>{const _0x7c7ff3=_0x20772e;console['log'](_0x7c7ff3(0x1bf)),this['rl'][_0x7c7ff3(0x1d0)]();}),this['isRunning']=!![],this['showWelcome'](),this['rl'][_0x20772e(0x1d0)]();}async[a0_0x59410c(0x1c8)](_0x74534){const _0x4274d7=a0_0x59410c,_0xc67263=_0x74534['trim']();if(_0xc67263['length']===0x0){this['rl'][_0x4274d7(0x1d0)]();return;}this['commandHistory'][_0x4274d7(0x1c3)]({'command':_0xc67263,'timestamp':new Date()['toISOString']()});this[_0x4274d7(0x1cb)]['length']>this[_0x4274d7(0x1a3)]&&this['commandHistory']['shift']();try{await this[_0x4274d7(0x19f)](_0xc67263);}catch(_0x1a1425){console[_0x4274d7(0x196)](_0x4274d7(0x1d9),_0x1a1425['message']),this['logger']?.[_0x4274d7(0x196)](_0x4274d7(0x1d6),{'command':_0xc67263,'error':_0x1a1425[_0x4274d7(0x1f6)]});}this['isRunning']&&this['rl']['prompt']();}async['processInput'](_0x24c9b8){const _0x4c761c=a0_0x59410c;if(_0x24c9b8[_0x4c761c(0x1a0)]('/')){const _0x11119a=_0x24c9b8['slice'](0x1)['split']('\x20'),_0x1abbe1=_0x11119a[0x0][_0x4c761c(0x1de)](),_0x58ce48=_0x11119a[_0x4c761c(0x1fb)](0x1);if(this[_0x4c761c(0x1bb)][_0x1abbe1]){await this[_0x4c761c(0x1bb)][_0x1abbe1](_0x58ce48);return;}else{console[_0x4c761c(0x1d7)](_0x4c761c(0x1a9)+_0x1abbe1),console['log']('Type\x20/help\x20for\x20available\x20commands');return;}}if(!this[_0x4c761c(0x1a8)]){console[_0x4c761c(0x1d7)]('💡\x20No\x20agent\x20selected.\x20Create\x20an\x20agent\x20first\x20with:\x20/create\x20<agent-name>');return;}await this[_0x4c761c(0x1d4)](_0x24c9b8);}async[a0_0x59410c(0x1d4)](_0x3c1240){const _0x4883b7=a0_0x59410c;console['log']('📤\x20Sending\x20to\x20agent...');try{const _0x6ad31a={'interface':INTERFACE_TYPES['CLI'],'sessionId':this['sessionId'],'action':ORCHESTRATOR_ACTIONS['SEND_MESSAGE'],'payload':{'agentId':this[_0x4883b7(0x1a8)]['id'],'message':_0x3c1240,'mode':'chat'},'projectDir':process['cwd']()},_0x309a50=await this['orchestrator']['processRequest'](_0x6ad31a);if(_0x309a50['success']){console['log']('🤖\x20Agent\x20response:'),console['log'](_0x309a50[_0x4883b7(0x1b5)][_0x4883b7(0x1f6)][_0x4883b7(0x1b8)]);if(_0x309a50['data']['toolResults']&&_0x309a50[_0x4883b7(0x1b5)][_0x4883b7(0x1a2)]['length']>0x0){console['log']('\x0a🔧\x20Tool\x20execution\x20results:');for(const _0x5d8560 of _0x309a50[_0x4883b7(0x1b5)]['toolResults']){console[_0x4883b7(0x1d7)]('\x20\x20'+_0x5d8560['toolId']+':\x20'+_0x5d8560[_0x4883b7(0x1ad)]),_0x5d8560[_0x4883b7(0x1c7)]&&console[_0x4883b7(0x1d7)](_0x4883b7(0x1ca)+JSON[_0x4883b7(0x1a7)](_0x5d8560[_0x4883b7(0x1c7)],null,0x2));}}}else console[_0x4883b7(0x196)]('❌\x20Agent\x20response\x20failed:',_0x309a50[_0x4883b7(0x196)]);}catch(_0x17a4de){console['error'](_0x4883b7(0x1ef),_0x17a4de['message']);}}[a0_0x59410c(0x1df)](){const _0x1c6cf7=a0_0x59410c;console[_0x1c6cf7(0x1d7)](''),console['log'](_0x1c6cf7(0x1f9)),console['log'](_0x1c6cf7(0x1cd)),console['log'](_0x1c6cf7(0x1ed)),console[_0x1c6cf7(0x1d7)]('');}async['showHelp'](){const _0x15bc52=a0_0x59410c;console['log'](''),console[_0x15bc52(0x1d7)]('📚\x20Loxia\x20Autopilot\x20One\x20CLI\x20Commands:'),console['log'](''),console['log']('\x20\x20/help\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20this\x20help\x20message'),console['log'](_0x15bc52(0x19e)),console[_0x15bc52(0x1d7)]('\x20\x20/agents\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20List\x20all\x20agents'),console['log']('\x20\x20/create\x20<name>\x20\x20\x20\x20\x20\x20\x20-\x20Create\x20a\x20new\x20agent'),console[_0x15bc52(0x1d7)](_0x15bc52(0x1c2)),console[_0x15bc52(0x1d7)]('\x20\x20/pause\x20<agent-id>\x20\x20\x20\x20-\x20Pause\x20an\x20agent'),console[_0x15bc52(0x1d7)](_0x15bc52(0x1e8)),console[_0x15bc52(0x1d7)]('\x20\x20/history\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Show\x20command\x20history'),console['log']('\x20\x20/clear\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Clear\x20screen'),console[_0x15bc52(0x1d7)]('\x20\x20/exit\x20or\x20/quit\x20\x20\x20\x20\x20\x20\x20-\x20Exit\x20the\x20CLI'),console[_0x15bc52(0x1d7)](''),console['log'](_0x15bc52(0x1d1)),console[_0x15bc52(0x1d7)]('\x20\x20\x20Simply\x20type\x20your\x20message\x20to\x20send\x20it\x20to\x20the\x20current\x20agent'),console[_0x15bc52(0x1d7)](_0x15bc52(0x1a1)),console[_0x15bc52(0x1d7)]('');}async['showStatus'](){const _0x101286=a0_0x59410c;try{const _0x361b95={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x101286(0x1e4)],'action':ORCHESTRATOR_ACTIONS[_0x101286(0x1f0)],'payload':{},'projectDir':process['cwd']()},_0x45cd43=await this['orchestrator']['processRequest'](_0x361b95);if(_0x45cd43[_0x101286(0x1f5)]){const _0x6ebb31=_0x45cd43[_0x101286(0x1b5)];console['log'](''),console[_0x101286(0x1d7)](_0x101286(0x1ac)),console['log'](_0x101286(0x1f8)+_0x6ebb31[_0x101286(0x1e4)]),console['log'](_0x101286(0x1e6)+_0x6ebb31[_0x101286(0x1dd)]),console['log']('\x20\x20\x20Agents:\x20'+_0x6ebb31['agents']['length']),console['log'](_0x101286(0x1a4)+(this[_0x101286(0x1a8)]?this['currentAgent'][_0x101286(0x1e3)]:'None')),console['log']('');if(_0x6ebb31['agents'][_0x101286(0x1cc)]>0x0){console['log']('🤖\x20Active\x20Agents:');for(const _0xcb5c4d of _0x6ebb31[_0x101286(0x1b6)]){const _0x1fb47f=_0xcb5c4d['isPaused']?_0xcb5c4d['status']+_0x101286(0x1dc)+_0xcb5c4d[_0x101286(0x1ae)]+')':_0xcb5c4d[_0x101286(0x1ad)];console['log'](_0x101286(0x1b2)+_0xcb5c4d['id']+':\x20'+_0xcb5c4d['name']+'\x20('+_0x1fb47f+')');}console['log']('');}}else console['error']('❌\x20Failed\x20to\x20get\x20status:',_0x45cd43['error']);}catch(_0x2da591){console['error']('❌\x20Status\x20command\x20failed:',_0x2da591['message']);}}async[a0_0x59410c(0x1fd)](){const _0x307754=a0_0x59410c;try{const _0x2a7758={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x307754(0x1e4)],'action':ORCHESTRATOR_ACTIONS['LIST_AGENTS'],'payload':{},'projectDir':process['cwd']()},_0x5f3b1b=await this['orchestrator']['processRequest'](_0x2a7758);if(_0x5f3b1b[_0x307754(0x1f5)]){const _0x4640e3=_0x5f3b1b[_0x307754(0x1b5)];console[_0x307754(0x1d7)]('');if(_0x4640e3['length']===0x0)console[_0x307754(0x1d7)](_0x307754(0x1b4)),console[_0x307754(0x1d7)]('\x20\x20\x20Use\x20/create\x20<name>\x20to\x20create\x20your\x20first\x20agent');else{console['log']('🤖\x20Available\x20Agents:');for(const _0x170c81 of _0x4640e3){const _0x3cd47a=this[_0x307754(0x1a8)]&&this[_0x307754(0x1a8)]['id']===_0x170c81['id']?_0x307754(0x1db):'',_0x3a2872=_0x170c81['isPaused']?_0x170c81[_0x307754(0x1ad)]+_0x307754(0x1dc)+_0x170c81[_0x307754(0x1ae)]+')':_0x170c81[_0x307754(0x1ad)];console[_0x307754(0x1d7)](_0x307754(0x1b2)+_0x170c81['id']+':\x20'+_0x170c81[_0x307754(0x1e3)]+_0x3cd47a),console['log']('\x20\x20\x20\x20\x20Status:\x20'+_0x3a2872),console['log']('\x20\x20\x20\x20\x20Model:\x20'+_0x170c81[_0x307754(0x19a)]),console[_0x307754(0x1d7)](_0x307754(0x1e5)+_0x170c81['messageCount']),console[_0x307754(0x1d7)]('');}}}else console['error'](_0x307754(0x1bc),_0x5f3b1b[_0x307754(0x196)]);}catch(_0x2cb31f){console['error']('❌\x20List\x20agents\x20command\x20failed:',_0x2cb31f[_0x307754(0x1f6)]);}}async['createAgent'](_0x2bdd1d){const _0x5de76c=a0_0x59410c;if(_0x2bdd1d[_0x5de76c(0x1cc)]===0x0){console['log']('❌\x20Usage:\x20/create\x20<agent-name>\x20[model]');return;}const _0x48f468=_0x2bdd1d[0x0],_0x4cfe5a=_0x2bdd1d[0x1]||_0x5de76c(0x1d3);console['log']('🔨\x20Creating\x20agent\x20\x22'+_0x48f468+'\x22\x20with\x20model\x20'+_0x4cfe5a+'...');try{const _0x217957={'interface':INTERFACE_TYPES[_0x5de76c(0x19b)],'sessionId':this[_0x5de76c(0x1e4)],'action':ORCHESTRATOR_ACTIONS[_0x5de76c(0x195)],'payload':{'name':_0x48f468,'systemPrompt':'You\x20are\x20'+_0x48f468+',\x20an\x20AI\x20assistant\x20created\x20in\x20the\x20Loxia\x20Autopilot\x20One\x20system.\x20You\x20can\x20help\x20with\x20coding,\x20analysis,\x20and\x20various\x20tasks\x20using\x20the\x20available\x20tools.','model':_0x4cfe5a,'capabilities':[_0x5de76c(0x1ba),_0x5de76c(0x1e9),'agentdelay',_0x5de76c(0x1c9)]},'projectDir':process['cwd']()},_0x1f2074=await this[_0x5de76c(0x1a6)]['processRequest'](_0x217957);if(_0x1f2074[_0x5de76c(0x1f5)]){const _0x54bb03=_0x1f2074[_0x5de76c(0x1b5)];this['currentAgent']=_0x54bb03,console[_0x5de76c(0x1d7)]('✅\x20Agent\x20created\x20successfully!'),console['log'](_0x5de76c(0x1fa)+_0x54bb03['id']),console['log'](_0x5de76c(0x1ab)+_0x54bb03['name']),console['log']('\x20\x20\x20Model:\x20'+_0x54bb03['preferredModel']),console['log']('\x20\x20\x20Switched\x20to\x20this\x20agent\x20automatically'),this['rl']['setPrompt'](this['getPrompt']());}else console['error']('❌\x20Failed\x20to\x20create\x20agent:',_0x1f2074[_0x5de76c(0x196)]);}catch(_0xf854da){console['error'](_0x5de76c(0x1c0),_0xf854da[_0x5de76c(0x1f6)]);}}async[a0_0x59410c(0x1b7)](_0x137053){const _0x51b4f9=a0_0x59410c;if(_0x137053[_0x51b4f9(0x1cc)]===0x0){console[_0x51b4f9(0x1d7)]('❌\x20Usage:\x20/switch\x20<agent-id>');return;}const _0xd590cf=_0x137053[0x0];try{const _0x687b7={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x51b4f9(0x1e4)],'action':ORCHESTRATOR_ACTIONS[_0x51b4f9(0x1c5)],'payload':{'agentId':_0xd590cf},'projectDir':process['cwd']()},_0x72a6b4=await this['orchestrator'][_0x51b4f9(0x1e0)](_0x687b7);_0x72a6b4[_0x51b4f9(0x1f5)]?(this[_0x51b4f9(0x1a8)]=_0x72a6b4['data'],console['log']('✅\x20Switched\x20to\x20agent:\x20'+this[_0x51b4f9(0x1a8)][_0x51b4f9(0x1e3)]+'\x20('+this['currentAgent']['id']+')'),this['rl']['setPrompt'](this['getPrompt']())):console['error'](_0x51b4f9(0x1e2),_0x72a6b4[_0x51b4f9(0x196)]);}catch(_0x388b0d){console['error']('❌\x20Switch\x20agent\x20command\x20failed:',_0x388b0d[_0x51b4f9(0x1f6)]);}}async['pauseAgent'](_0x106b04){const _0x106f68=a0_0x59410c;if(_0x106b04[_0x106f68(0x1cc)]===0x0){console['log']('❌\x20Usage:\x20/pause\x20<agent-id>\x20[duration]\x20[reason]');return;}const _0x23760b=_0x106b04[0x0],_0xdc57be=parseInt(_0x106b04[0x1])||0x3c,_0x439456=_0x106b04['slice'](0x2)[_0x106f68(0x1f7)]('\x20')||'Manual pause from CLI';try{const _0x391180={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x106f68(0x1e4)],'action':ORCHESTRATOR_ACTIONS[_0x106f68(0x1ea)],'payload':{'agentId':_0x23760b,'duration':_0xdc57be,'reason':_0x439456},'projectDir':process[_0x106f68(0x19c)]()},_0x7a03f8=await this['orchestrator']['processRequest'](_0x391180);_0x7a03f8[_0x106f68(0x1f5)]?(console[_0x106f68(0x1d7)](_0x106f68(0x193)+_0xdc57be+'\x20seconds'),console[_0x106f68(0x1d7)]('\x20\x20\x20Reason:\x20'+_0x439456)):console['error'](_0x106f68(0x1e7),_0x7a03f8['error']);}catch(_0x3fb660){console['error'](_0x106f68(0x1ee),_0x3fb660[_0x106f68(0x1f6)]);}}async['resumeAgent'](_0x2b3340){const _0x4662ff=a0_0x59410c;if(_0x2b3340[_0x4662ff(0x1cc)]===0x0){console[_0x4662ff(0x1d7)](_0x4662ff(0x1c6));return;}const _0x22d4fa=_0x2b3340[0x0];try{const _0x5083d3={'interface':INTERFACE_TYPES['CLI'],'sessionId':this[_0x4662ff(0x1e4)],'action':ORCHESTRATOR_ACTIONS[_0x4662ff(0x1aa)],'payload':{'agentId':_0x22d4fa},'projectDir':process[_0x4662ff(0x19c)]()},_0x32652c=await this['orchestrator'][_0x4662ff(0x1e0)](_0x5083d3);_0x32652c['success']?console['log']('✅\x20Agent\x20resumed\x20successfully'):console['error']('❌\x20Failed\x20to\x20resume\x20agent:',_0x32652c['error']);}catch(_0xc90c48){console[_0x4662ff(0x196)](_0x4662ff(0x1b0),_0xc90c48[_0x4662ff(0x1f6)]);}}async['showHistory'](){const _0x3d6e2b=a0_0x59410c;console[_0x3d6e2b(0x1d7)](''),console['log']('📜\x20Command\x20History:');if(this[_0x3d6e2b(0x1cb)][_0x3d6e2b(0x1cc)]===0x0)console[_0x3d6e2b(0x1d7)]('\x20\x20\x20No\x20commands\x20executed\x20yet');else{const _0x414653=this['commandHistory'][_0x3d6e2b(0x1fb)](-0xa);for(let _0x3a3184=0x0;_0x3a3184<_0x414653['length'];_0x3a3184++){const _0x256689=_0x414653[_0x3a3184],_0x869ffb=new Date(_0x256689['timestamp'])[_0x3d6e2b(0x1c1)]();console[_0x3d6e2b(0x1d7)](_0x3d6e2b(0x1b2)+(_0x3a3184+0x1)+'.\x20['+_0x869ffb+']\x20'+_0x256689['command']);}this[_0x3d6e2b(0x1cb)][_0x3d6e2b(0x1cc)]>0xa&&console[_0x3d6e2b(0x1d7)](_0x3d6e2b(0x1f1)+(this[_0x3d6e2b(0x1cb)]['length']-0xa)+'\x20more\x20commands');}console[_0x3d6e2b(0x1d7)]('');}async['clearScreen'](){const _0x27f649=a0_0x59410c;console[_0x27f649(0x1fc)](),this['showWelcome']();}async['exit'](){const _0x51e52d=a0_0x59410c;this[_0x51e52d(0x1ce)]&&(console['log'](_0x51e52d(0x1c4)),this[_0x51e52d(0x1ce)]=![],this['rl']&&this['rl'][_0x51e52d(0x1da)]());}[a0_0x59410c(0x1bd)](){const _0x7665ad=a0_0x59410c,_0x29ec7f=this[_0x7665ad(0x1a8)]?this[_0x7665ad(0x1a8)][_0x7665ad(0x1e3)]:_0x7665ad(0x1d8);return'loxia:'+_0x29ec7f+'>\x20';}async[a0_0x59410c(0x1a5)](){const _0x578b8e=a0_0x59410c;await this[_0x578b8e(0x1b1)]();}}function a0_0x38a3(_0xe3b6e8,_0x28c0cd){_0xe3b6e8=_0xe3b6e8-0x193;const _0xee5ed=a0_0xee5e();let _0x38a377=_0xee5ed[_0xe3b6e8];if(a0_0x38a3['fEqMoH']===undefined){var _0x578d0c=function(_0x24d20a){const _0x28786d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb07fc2='',_0x3e86a5='';for(let _0x50e70e=0x0,_0x2a732d,_0x74534,_0xc67263=0x0;_0x74534=_0x24d20a['charAt'](_0xc67263++);~_0x74534&&(_0x2a732d=_0x50e70e%0x4?_0x2a732d*0x40+_0x74534:_0x74534,_0x50e70e++%0x4)?_0xb07fc2+=String['fromCharCode'](0xff&_0x2a732d>>(-0x2*_0x50e70e&0x6)):0x0){_0x74534=_0x28786d['indexOf'](_0x74534);}for(let _0x1a1425=0x0,_0x24c9b8=_0xb07fc2['length'];_0x1a1425<_0x24c9b8;_0x1a1425++){_0x3e86a5+='%'+('00'+_0xb07fc2['charCodeAt'](_0x1a1425)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e86a5);};a0_0x38a3['aSDHBn']=_0x578d0c,a0_0x38a3['HWYSRa']={},a0_0x38a3['fEqMoH']=!![];}const _0x4f7d9c=_0xee5ed[0x0],_0x1b641a=_0xe3b6e8+_0x4f7d9c,_0xb118f2=a0_0x38a3['HWYSRa'][_0x1b641a];return!_0xb118f2?(_0x38a377=a0_0x38a3['aSDHBn'](_0x38a377),a0_0x38a3['HWYSRa'][_0x1b641a]=_0x38a377):_0x38a377=_0xb118f2,_0x38a377;}export default CLIInterface;
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 +1 @@
1
- const a0_0x5c1cf1=a0_0x3fee;function a0_0x1632(){const _0x45861e=['Dg9czq','qwDLBNrdCMvHDg9Y','qwDLBNrtD2L0y2HLCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','CMvUzgvY','Dg9czurLzMLUzwq','nJeYntuWng9irNPiva','y3jLyxrLrwXLBwvUDa','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','zgvMyxvSDa','BgvUz3rO','ndm1nZa5og9euxjSvW','u2v0DgLUz3nqyw5LBcbKzwzPBMvZignHDgvNB3j5ignVBNn0yw50CW','mtaXmJmZouT3su13CW','ugHHC2uGmtaGlsbjBNrLz3jHDgLVBIb3AxrOieXHEw91Da','ugHHC2uGmtaGlsbbBgWGq29TCg9Uzw50CYbfEhbVCNqGq29YCMvJDgX5','u2vHCMnOugfUzwW','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','ugHHC2uGmtaGlsbdB21WB25LBNqGq29UC3rHBNrZigfUzcbdB25MAwD1CMf0Aw9UCW','u2v0DgLUz3nqyw5LBa','ywXS','CMvHy3q','sgvSCfbHBMvSigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','mJKYnZC2mhv1DMXuBa','tgf5B3v0ignVBxbVBMvUDcbZDgLSBcbSB2fKCYbHzNrLCIbqAgfZzsaXmcbHzgrPDgLVBNm','u2v0DgLUz3nqyw5LBcbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','ugHHC2uGmtaGlsbbz2vUDfn3AxrJAgvYic0Gu3rYDwn0DxjL','vgv4Da','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ','ChjVDg90ExbL','Dg9czvvUzgvMAw5Lza','nwrjvKLgsW','sgvSCfbHBMvS','mtyWmtyXnZzbqvDOwMC','ugHHC2uGmtaGlsbtzxr0Aw5NC1bHBMvSic0Gu3rYDwn0DxjL','mtG1odmZmNLqvePrsq','Aw5R','ugHHC2uGmtaGlsbbz2vUDenYzwf0B3iGlsbtDhj1y3r1CMu','C2L6zq','ugHHC2uGmtaGlsbizwXWugfUzwWGlsbtDhj1y3r1CMu','ugHHC2uGmtaGlsbtzwfYy2Hqyw5LBcaTifn0CNvJDhvYzq','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','DxnLu3rHDgu','zNvUy3rPB24','mtqYmtGWnNf4AxnhCq'];a0_0x1632=function(){return _0x45861e;};return a0_0x1632();}function a0_0x3fee(_0x2d0436,_0x30f1c4){_0x2d0436=_0x2d0436-0x70;const _0x1632bd=a0_0x1632();let _0x3fee10=_0x1632bd[_0x2d0436];if(a0_0x3fee['GuAaWr']===undefined){var _0x2cf0bf=function(_0x325b1b){const _0x1cc9f8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33bc06='',_0x30687e='';for(let _0x15aeff=0x0,_0x52c8c0,_0x16ff4f,_0x2d069d=0x0;_0x16ff4f=_0x325b1b['charAt'](_0x2d069d++);~_0x16ff4f&&(_0x52c8c0=_0x15aeff%0x4?_0x52c8c0*0x40+_0x16ff4f:_0x16ff4f,_0x15aeff++%0x4)?_0x33bc06+=String['fromCharCode'](0xff&_0x52c8c0>>(-0x2*_0x15aeff&0x6)):0x0){_0x16ff4f=_0x1cc9f8['indexOf'](_0x16ff4f);}for(let _0x1797ff=0x0,_0x8dc87b=_0x33bc06['length'];_0x1797ff<_0x8dc87b;_0x1797ff++){_0x30687e+='%'+('00'+_0x33bc06['charCodeAt'](_0x1797ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30687e);};a0_0x3fee['LhvYVH']=_0x2cf0bf,a0_0x3fee['IZlQfF']={},a0_0x3fee['GuAaWr']=!![];}const _0x45d796=_0x1632bd[0x0],_0xfc4b0b=_0x2d0436+_0x45d796,_0x5c3f4c=a0_0x3fee['IZlQfF'][_0xfc4b0b];return!_0x5c3f4c?(_0x3fee10=a0_0x3fee['LhvYVH'](_0x3fee10),a0_0x3fee['IZlQfF'][_0xfc4b0b]=_0x3fee10):_0x3fee10=_0x5c3f4c,_0x3fee10;}(function(_0x4ac369,_0x1e2ee5){const _0xcd5c88=a0_0x3fee,_0x58e3cd=_0x4ac369();while(!![]){try{const _0x49dd26=-parseInt(_0xcd5c88(0x9c))/0x1+parseInt(_0xcd5c88(0x8f))/0x2+parseInt(_0xcd5c88(0x86))/0x3+parseInt(_0xcd5c88(0x79))/0x4+parseInt(_0xcd5c88(0x82))/0x5*(parseInt(_0xcd5c88(0x9a))/0x6)+parseInt(_0xcd5c88(0x95))/0x7+-parseInt(_0xcd5c88(0x84))/0x8;if(_0x49dd26===_0x1e2ee5)break;else _0x58e3cd['push'](_0x58e3cd['shift']());}catch(_0x20ed83){_0x58e3cd['push'](_0x58e3cd['shift']());}}}(a0_0x1632,0x9e7dd));import{describe,test,expect}from'@jest/globals';describe('Phase\x2010\x20-\x20Advanced\x20Features\x20-\x20Imports',()=>{test('AgentSwitcher component can be imported',async()=>{const _0x284df9=a0_0x3fee,{AgentSwitcher:_0x33bc06}=await import('../../components/AgentSwitcher.js');expect(_0x33bc06)[_0x284df9(0x94)](),expect(typeof _0x33bc06)['toBe'](_0x284df9(0x8e));},0x7530),test('AgentCreator component can be imported',async()=>{const _0x2ffb2e=a0_0x3fee,{AgentCreator:_0x30687e}=await import('../../components/AgentCreator.js');expect(_0x30687e)[_0x2ffb2e(0x94)](),expect(typeof _0x30687e)[_0x2ffb2e(0x90)]('function');}),test('SettingsPanel component can be imported',async()=>{const _0x371a93=a0_0x3fee,{SettingsPanel:_0x15aeff}=await import('../../components/SettingsPanel.js');expect(_0x15aeff)[_0x371a93(0x94)](),expect(typeof _0x15aeff)[_0x371a93(0x90)]('function');}),test('SearchPanel component can be imported',async()=>{const _0x5ae07a=a0_0x3fee,{SearchPanel:_0x52c8c0}=await import('../../components/SearchPanel.js');expect(_0x52c8c0)[_0x5ae07a(0x94)](),expect(typeof _0x52c8c0)[_0x5ae07a(0x90)]('function');}),test('HelpPanel component can be imported',async()=>{const _0x50ed5c=a0_0x3fee,{HelpPanel:_0x16ff4f}=await import(_0x50ed5c(0x8c));expect(_0x16ff4f)[_0x50ed5c(0x94)](),expect(typeof _0x16ff4f)[_0x50ed5c(0x90)](_0x50ed5c(0x8e));});}),describe(a0_0x5c1cf1(0x7c),()=>{const _0x479da0=a0_0x5c1cf1;test(_0x479da0(0x92),async()=>{const _0x58b874=_0x479da0,{AgentSwitcher:_0x2d069d}=await import(_0x58b874(0x7f));expect(typeof _0x2d069d)[_0x58b874(0x90)]('function'),expect(_0x2d069d[_0x58b874(0x80)]?.['render'])[_0x58b874(0x81)]();}),test('AgentSwitcher is default export',async()=>{const _0x1887a1=_0x479da0,module=await import(_0x1887a1(0x7f));expect(module['default'])[_0x1887a1(0x94)](),expect(module['default'])[_0x1887a1(0x90)](module['AgentSwitcher']);});}),describe(a0_0x5c1cf1(0x88),()=>{test('AgentCreator\x20is\x20a\x20function\x20component',async()=>{const _0x37f89a=a0_0x3fee,{AgentCreator:_0x1797ff}=await import(_0x37f89a(0x7e));expect(typeof _0x1797ff)['toBe'](_0x37f89a(0x8e)),expect(_0x1797ff['prototype']?.[_0x37f89a(0x93)])[_0x37f89a(0x81)]();}),test('AgentCreator is default export',async()=>{const _0x3d1be5=a0_0x3fee,module=await import(_0x3d1be5(0x7e));expect(module['default'])['toBeDefined'](),expect(module['default'])[_0x3d1be5(0x90)](module['AgentCreator']);});}),describe(a0_0x5c1cf1(0x85),()=>{const _0x5731c9=a0_0x5c1cf1;test(_0x5731c9(0x7b),async()=>{const _0x59c7bb=_0x5731c9,{SettingsPanel:_0x8dc87b}=await import('../../components/SettingsPanel.js');expect(typeof _0x8dc87b)[_0x59c7bb(0x90)]('function'),expect(_0x8dc87b[_0x59c7bb(0x80)]?.[_0x59c7bb(0x93)])['toBeUndefined']();}),test('SettingsPanel is default export',async()=>{const _0x1d67f5=_0x5731c9,module=await import(_0x1d67f5(0x97));expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x1d67f5(0x75)]);});}),describe(a0_0x5c1cf1(0x8b),()=>{test('SearchPanel\x20is\x20a\x20function\x20component',async()=>{const _0x3a4cef=a0_0x3fee,{SearchPanel:_0x2a6e5b}=await import('../../components/SearchPanel.js');expect(typeof _0x2a6e5b)['toBe']('function'),expect(_0x2a6e5b[_0x3a4cef(0x80)]?.[_0x3a4cef(0x93)])['toBeUndefined']();}),test('SearchPanel is default export',async()=>{const _0xee938e=a0_0x3fee,module=await import('../../components/SearchPanel.js');expect(module['default'])[_0xee938e(0x94)](),expect(module[_0xee938e(0x98)])[_0xee938e(0x90)](module[_0xee938e(0x72)]);});}),describe(a0_0x5c1cf1(0x8a),()=>{const _0x240ca6=a0_0x5c1cf1;test(_0x240ca6(0x78),async()=>{const _0x4435a2=_0x240ca6,{HelpPanel:_0x2fba8d}=await import('../../components/HelpPanel.js');expect(typeof _0x2fba8d)['toBe'](_0x4435a2(0x8e)),expect(_0x2fba8d['prototype']?.['render'])['toBeUndefined']();}),test('HelpPanel is default export',async()=>{const _0xb9ec2d=_0x240ca6,module=await import('../../components/HelpPanel.js');expect(module['default'])[_0xb9ec2d(0x94)](),expect(module[_0xb9ec2d(0x98)])[_0xb9ec2d(0x90)](module['HelpPanel']);});}),describe(a0_0x5c1cf1(0x70),()=>{const _0x18d781=a0_0x5c1cf1;test('Layout component can import all Phase 10 components',async()=>{const _0x1a494d=a0_0x3fee,[_0x51bedf,_0x34e944,_0x39bf9e,_0x28697d,_0x4b109d]=await Promise['all']([import(_0x1a494d(0x7f)),import('../../components/AgentCreator.js'),import('../../components/SettingsPanel.js'),import(_0x1a494d(0x73)),import(_0x1a494d(0x8c))]);expect(_0x51bedf['AgentSwitcher'])[_0x1a494d(0x94)](),expect(_0x34e944[_0x1a494d(0x91)])['toBeDefined'](),expect(_0x39bf9e[_0x1a494d(0x75)])[_0x1a494d(0x94)](),expect(_0x28697d[_0x1a494d(0x72)])['toBeDefined'](),expect(_0x4b109d[_0x1a494d(0x83)])['toBeDefined']();}),test(_0x18d781(0x7a),async()=>{const {Layout:_0x39dfbb}=await import('../../components/Layout.js');expect(_0x39dfbb)['toBeDefined'](),expect(typeof _0x39dfbb)['toBe']('function');}),test('All\x20Phase\x2010\x20components\x20use\x20React\x20and\x20Ink',async()=>{const _0x1dac10=_0x18d781,_0x10081f=await import(_0x1dac10(0x77)),_0x5e4f32=await import(_0x1dac10(0x87));expect(_0x10081f[_0x1dac10(0x96)])['toBeDefined'](),expect(_0x10081f[_0x1dac10(0x8d)])['toBeDefined'](),expect(_0x5e4f32['Box'])[_0x1dac10(0x94)](),expect(_0x5e4f32[_0x1dac10(0x7d)])['toBeDefined'](),expect(_0x5e4f32['useInput'])[_0x1dac10(0x94)]();});}),describe(a0_0x5c1cf1(0x74),()=>{const _0x513482=a0_0x5c1cf1;test('AgentCreator\x20defines\x20step\x20constants',async()=>{const _0x5a8810=a0_0x3fee,module=await import('../../components/AgentCreator.js');expect(module[_0x5a8810(0x91)])[_0x5a8810(0x94)]();}),test(_0x513482(0x9b),async()=>{const _0x49e416=_0x513482,module=await import('../../components/SettingsPanel.js');expect(module[_0x49e416(0x75)])['toBeDefined']();}),test('HelpPanel\x20defines\x20shortcut\x20configurations',async()=>{const _0xe2ca9=_0x513482,module=await import('../../components/HelpPanel.js');expect(module[_0xe2ca9(0x83)])[_0xe2ca9(0x94)]();});}),describe(a0_0x5c1cf1(0x71),()=>{test('All components can be imported together without conflicts',async()=>{const _0x2fde73=a0_0x3fee,_0x5dc19c=await Promise[_0x2fde73(0x76)]([import(_0x2fde73(0x7f)),import(_0x2fde73(0x7e)),import(_0x2fde73(0x97)),import('../../components/SearchPanel.js'),import('../../components/HelpPanel.js')]),_0x4251e6=_0x5dc19c['map'](_0x1cdc24=>Object['keys'](_0x1cdc24)[0x0]),_0x314413=new Set(_0x4251e6);expect(_0x314413[_0x2fde73(0x89)])[_0x2fde73(0x90)](_0x4251e6[_0x2fde73(0x99)]);});});
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 +1 @@
1
- const a0_0xc25f7d=a0_0x1862;function a0_0x1862(_0x16c722,_0xc44f44){_0x16c722=_0x16c722-0x8a;const _0x3d198b=a0_0x3d19();let _0x18628e=_0x3d198b[_0x16c722];if(a0_0x1862['sBaoZS']===undefined){var _0x5626ce=function(_0x337127){const _0x4da72c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x367d7d='',_0xdc464a='';for(let _0x58d886=0x0,_0x2329f0,_0xdeeaaf,_0x40f1e8=0x0;_0xdeeaaf=_0x337127['charAt'](_0x40f1e8++);~_0xdeeaaf&&(_0x2329f0=_0x58d886%0x4?_0x2329f0*0x40+_0xdeeaaf:_0xdeeaaf,_0x58d886++%0x4)?_0x367d7d+=String['fromCharCode'](0xff&_0x2329f0>>(-0x2*_0x58d886&0x6)):0x0){_0xdeeaaf=_0x4da72c['indexOf'](_0xdeeaaf);}for(let _0x21a2d8=0x0,_0x4c8345=_0x367d7d['length'];_0x21a2d8<_0x4c8345;_0x21a2d8++){_0xdc464a+='%'+('00'+_0x367d7d['charCodeAt'](_0x21a2d8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdc464a);};a0_0x1862['KbQudz']=_0x5626ce,a0_0x1862['Nqdagt']={},a0_0x1862['sBaoZS']=!![];}const _0x312d84=_0x3d198b[0x0],_0x2a4e26=_0x16c722+_0x312d84,_0x70eece=a0_0x1862['Nqdagt'][_0x2a4e26];return!_0x70eece?(_0x18628e=a0_0x1862['KbQudz'](_0x18628e),a0_0x1862['Nqdagt'][_0x2a4e26]=_0x18628e):_0x18628e=_0x70eece,_0x18628e;}(function(_0x9abb09,_0x4151f2){const _0x3ae1ad=a0_0x1862,_0x272013=_0x9abb09();while(!![]){try{const _0x2a2662=parseInt(_0x3ae1ad(0xb5))/0x1*(-parseInt(_0x3ae1ad(0xa6))/0x2)+-parseInt(_0x3ae1ad(0xa1))/0x3*(parseInt(_0x3ae1ad(0xa0))/0x4)+parseInt(_0x3ae1ad(0x96))/0x5*(parseInt(_0x3ae1ad(0xbc))/0x6)+-parseInt(_0x3ae1ad(0x9b))/0x7+parseInt(_0x3ae1ad(0xa4))/0x8*(parseInt(_0x3ae1ad(0xa3))/0x9)+parseInt(_0x3ae1ad(0xc6))/0xa*(-parseInt(_0x3ae1ad(0xb1))/0xb)+-parseInt(_0x3ae1ad(0xcc))/0xc*(-parseInt(_0x3ae1ad(0xc0))/0xd);if(_0x2a2662===_0x4151f2)break;else _0x272013['push'](_0x272013['shift']());}catch(_0x2e3641){_0x272013['push'](_0x272013['shift']());}}}(a0_0x3d19,0xe9ec7));import{describe,test,expect}from'@jest/globals';function a0_0x3d19(){const _0x392e7d=['tu9eruXFq0furuDpuLKGDMfSDwvZigfYzsbSB3DLCMnHC2u','DxnLqwDLBNrdB250CM9SigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','DxnLqwDLBNrdB250CM9S','Dg9czurLzMLUzwq','quDftLq','ywDLBNrFBw9Kzv9JAgfUz2vK','nNPREejzzG','BgvUz3rO','teXnx01prevmuW','twvZC2fNzvjVDxrLCG','mteWmde1mJnPs29zzNO','zNvUy3rPB24','quDftLrtx01prevFr0vu','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','Dg9dB250ywLU','zgvLChnLzwS','mZbQBhboz3K','y2XHDwrLltmTns1ZB25Uzxq','revfufnfruS','yw50AhjVCgLJ','v2vIu29JA2v0twfUywDLCG','Dg9mB3DLCKnHC2u','mZz3y29rwMG','oMfNzw50swq','B3bLBMfP','zMLSDgvY','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','BwLJCM9ZB2z0','z3b0ltq','twvZC2fNzvjVDxrLCIbOyxmGBw9KzsbJAgfUz2uGzxzLBNqGAgfUzgXLCIbYzwDPC3rLCMvK','tuLduK9tt0zu','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','t1jdsevtvfjbve9s','lI4VlI4VyxbPl3nLC3nPB24UANm','Dg9vChbLCKnHC2u','ndu1odKXmgvMDhLLqG','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','q0Hbva','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','qwDLBNqGBw9KzsbLBMrWB2LUDhmGzM9SBg93ifjfu1rMDwWGCgf0DgvYBG','mti1nJeYnJjmAhLAEgq','quDftLrFtu9erv9dsefor0ve','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','Dg9czq','Bg9JywXOB3n0','mtC5ntK2rhH4vhzj','ndjHywrkwMO','A2v5CW','nJGWnti1mxz1tvjIBa','mtzXrhr3tgS','qu5usfjpueLd','mJeYmtKWmKH6B21sCa','zgvMyxvSDa','t1bftKfj','DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','quDftLrFtu9erq','qvbjx0vorfbpsu5uuW','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0GqvbjievUzhbVAw50CYbwywXPzgf0Aw9U','tw9KzsbHBMqGBw9KzwWGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','quDftLrFtu9ersbOyxmGzxHHy3rSEsb0D28GBw9Kzxm','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','mtKWotmWm2T4EK5gzW','quDftLrtx01prevFu0vu','l2fWAs9VCMnOzxn0CMf0B3i','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','mvr6vKPbtG'];a0_0x3d19=function(){return _0x392e7d;};return a0_0x3d19();}describe('Agent\x20Control\x20Management\x20-\x20Imports',()=>{test('useAgentControl hook can be imported',async()=>{const _0x17a607=a0_0x1862,{useAgentControl:_0x367d7d}=await import('../../state/useAgentControl.js');expect(_0x367d7d)['toBeDefined'](),expect(typeof _0x367d7d)[_0x17a607(0x9e)](_0x17a607(0xc1));}),test('useAgentControl is default export',async()=>{const _0x8a3e14=a0_0x1862,module=await import(_0x8a3e14(0x97));expect(module['default'])[_0x8a3e14(0xb9)](),expect(typeof module[_0x8a3e14(0xa7)])['toBe'](_0x8a3e14(0xc1)),expect(module[_0x8a3e14(0xa7)])['toBe'](module[_0x8a3e14(0xb8)]);});}),describe(a0_0xc25f7d(0xc3),()=>{const _0x518b71=a0_0xc25f7d;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x2955a6=a0_0x1862,{AGENT_MODE:_0xdc464a}=await import(_0x2955a6(0x91));expect(_0xdc464a)['toBeDefined'](),expect(_0xdc464a['CHAT'])[_0x2955a6(0x9e)](_0x2955a6(0x98)),expect(_0xdc464a['AGENT'])['toBe'](_0x2955a6(0xba));}),test(_0x518b71(0xb4),async()=>{const _0x2f1d83=_0x518b71,{MODEL_CATEGORY:_0x58d886}=await import('../../config/constants.js');expect(_0x58d886)['toBeDefined'](),expect(_0x58d886[_0x2f1d83(0xa5)])[_0x2f1d83(0x9e)](_0x2f1d83(0xc9)),expect(_0x58d886[_0x2f1d83(0xa8)])['toBe'](_0x2f1d83(0x8a)),expect(_0x58d886[_0x2f1d83(0xc8)])['toBe']('deepseek'),expect(_0x58d886[_0x2f1d83(0x90)])['toBe']('microsoft');}),test(_0x518b71(0xae),async()=>{const _0x2680d1=_0x518b71,{API_ENDPOINTS:_0x2329f0}=await import('../../config/constants.js');expect(_0x2329f0[_0x2680d1(0xb2)])['toBe']('/api/agents/:agentId/mode'),expect(_0x2329f0['AGENTS_MODE_GET'])['toBe'](_0x2680d1(0x99)),expect(_0x2329f0['LLM_MODELS'])[_0x2680d1(0x9e)]('/api/llm/models');}),test('WS_MESSAGE_TYPE\x20includes\x20mode\x20and\x20model\x20change\x20events',async()=>{const _0x2536ea=_0x518b71,{WS_MESSAGE_TYPE:_0xdeeaaf}=await import(_0x2536ea(0x91));expect(_0xdeeaaf)['toBeDefined'](),expect(_0xdeeaaf[_0x2536ea(0x9c)])['toBe'](_0x2536ea(0xbb));});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{const _0x549494=a0_0xc25f7d;test(_0x549494(0xb7),async()=>{const _0x5c7e5e=_0x549494,{useAgentControl:_0x40f1e8}=await import('../../state/useAgentControl.js'),{SessionManager:_0x21a2d8}=await import('../../api/session.js'),{MessageRouter:_0x4c8345}=await import(_0x5c7e5e(0x92)),{WebSocketManager:_0x4a79eb}=await import(_0x5c7e5e(0x8c)),_0x98748d=new _0x21a2d8(_0x5c7e5e(0x9f),0x1f90),_0x14b7ff=new _0x4a79eb('localhost',0x1f90),_0x58de12=new _0x4c8345(_0x14b7ff);expect(_0x98748d)[_0x5c7e5e(0xb9)](),expect(_0x58de12)[_0x5c7e5e(0xb9)](),expect(typeof _0x40f1e8)[_0x5c7e5e(0x9e)](_0x5c7e5e(0xc1));}),test('Full agent control stack can be imported together',async()=>{const _0x31f2fd=_0x549494,[_0x3ecb00,_0x13f7e4,_0x335fe2,_0xc5b8a8,_0x1c11aa]=await Promise['all']([import('../../config/constants.js'),import(_0x31f2fd(0x94)),import(_0x31f2fd(0x8c)),import(_0x31f2fd(0x92)),import('../../state/useAgentControl.js')]);expect(_0x3ecb00[_0x31f2fd(0xaa)])[_0x31f2fd(0xb9)](),expect(_0x3ecb00['MODEL_CATEGORY'])[_0x31f2fd(0xb9)](),expect(_0x3ecb00[_0x31f2fd(0xab)])['toBeDefined'](),expect(_0x13f7e4['SessionManager'])[_0x31f2fd(0xb9)](),expect(_0x335fe2[_0x31f2fd(0xca)])[_0x31f2fd(0xb9)](),expect(_0xc5b8a8[_0x31f2fd(0xbf)])['toBeDefined'](),expect(_0x1c11aa[_0x31f2fd(0xb8)])[_0x31f2fd(0xb9)]();});}),describe(a0_0xc25f7d(0xad),()=>{const _0x3b0b50=a0_0xc25f7d;test(_0x3b0b50(0x9a),async()=>{const _0x5b976b=_0x3b0b50,{API_ENDPOINTS:_0x4d98ba}=await import(_0x5b976b(0x91));expect(_0x4d98ba[_0x5b976b(0xb2)])['toMatch'](/^\/api\/agents/),expect(_0x4d98ba[_0x5b976b(0xc2)])['toMatch'](/^\/api\/agents/),expect(_0x4d98ba['AGENTS_MODE_SET'])[_0x5b976b(0xc4)](':agentId'),expect(_0x4d98ba['AGENTS_MODE_GET'])['toContain'](_0x5b976b(0xcd));}),test('LLM\x20models\x20endpoint\x20exists',async()=>{const _0x17f0c4=_0x3b0b50,{API_ENDPOINTS:_0x32a4ca}=await import('../../config/constants.js');expect(_0x32a4ca[_0x17f0c4(0xbe)])[_0x17f0c4(0xb9)](),expect(_0x32a4ca[_0x17f0c4(0xbe)])[_0x17f0c4(0x9e)]('/api/llm/models');}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x343b6b=_0x3b0b50,{API_ENDPOINTS:_0x155097}=await import(_0x343b6b(0x91));expect(_0x155097['ORCHESTRATOR'])['toBeDefined'](),expect(_0x155097[_0x343b6b(0x93)])['toBe'](_0x343b6b(0xb3));});}),describe(a0_0xc25f7d(0x9d),()=>{const _0x6540a5=a0_0xc25f7d;test(_0x6540a5(0xa9),async()=>{const _0x2784f7=_0x6540a5,{useAgentControl:_0x1475ef}=await import('../../state/useAgentControl.js');expect(_0x1475ef['length'])[_0x2784f7(0x9e)](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x59162f=a0_0xc25f7d;test(_0x59162f(0xaf),async()=>{const _0x11d93b=_0x59162f,{AGENT_MODE:_0x3ae069}=await import('../../config/constants.js'),_0x497d51=Object[_0x11d93b(0xa2)](_0x3ae069);expect(_0x497d51['length'])['toBe'](0x2),expect(_0x497d51)['toContain']('CHAT'),expect(_0x497d51)[_0x11d93b(0xc4)]('AGENT');}),test('AGENT_MODE\x20values\x20are\x20uppercase',async()=>{const _0x44f970=_0x59162f,{AGENT_MODE:_0x3cf88f}=await import('../../config/constants.js');expect(_0x3cf88f['CHAT'])[_0x44f970(0x9e)](_0x44f970(0x98)),expect(_0x3cf88f['AGENT'])['toBe']('AGENT'),expect(_0x3cf88f[_0x44f970(0x98)])['toBe'](_0x3cf88f[_0x44f970(0x98)]['toUpperCase']()),expect(_0x3cf88f[_0x44f970(0xba)])['toBe'](_0x3cf88f[_0x44f970(0xba)][_0x44f970(0x95)]());}),test(_0x59162f(0xb6),async()=>{const _0x35e995=_0x59162f,{MODEL_CATEGORY:_0x147e37}=await import(_0x35e995(0x91));expect(_0x147e37['ANTHROPIC'])[_0x35e995(0x9e)](_0x35e995(0xc9)),expect(_0x147e37[_0x35e995(0xa8)])['toBe']('openai'),expect(_0x147e37['DEEPSEEK'])['toBe'](_0x35e995(0xc5)),expect(_0x147e37[_0x35e995(0x90)])[_0x35e995(0x9e)](_0x35e995(0x8d)),expect(_0x147e37[_0x35e995(0xa5)])[_0x35e995(0x9e)](_0x147e37['ANTHROPIC'][_0x35e995(0xcb)]()),expect(_0x147e37['OPENAI'])['toBe'](_0x147e37['OPENAI'][_0x35e995(0xcb)]());}),test(_0x59162f(0xb0),async()=>{const _0xe5045a=_0x59162f,{MODEL_CATEGORY:_0x380d94}=await import('../../config/constants.js'),_0x5134b2=Object['keys'](_0x380d94);expect(_0x5134b2)[_0xe5045a(0xc4)]('ANTHROPIC'),expect(_0x5134b2)[_0xe5045a(0xc4)](_0xe5045a(0xa8)),expect(_0x5134b2)[_0xe5045a(0xc4)](_0xe5045a(0xc8)),expect(_0x5134b2)[_0xe5045a(0xc4)]('MICROSOFT');});}),describe(a0_0xc25f7d(0xac),()=>{const _0xa979df=a0_0xc25f7d;test(_0xa979df(0x8f),async()=>{const _0x3942a9=_0xa979df,{MessageRouter:_0xbae55c}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x11bbc1}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x2debe2}=await import('../../config/constants.js'),_0x4214ec=new _0x11bbc1('localhost',0x1f90),_0x4f47ea=new _0xbae55c(_0x4214ec);expect(_0x4f47ea['hasHandler'](_0x2debe2[_0x3942a9(0x9c)]))[_0x3942a9(0x9e)](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{test('AGENT_MODE\x20supports\x20toggling\x20between\x20modes',async()=>{const _0x508485=a0_0x1862,{AGENT_MODE:_0x4f6f5c}=await import(_0x508485(0x91));let _0x1713c7=_0x4f6f5c[_0x508485(0x98)],_0x5c6298=_0x1713c7===_0x4f6f5c[_0x508485(0x98)]?_0x4f6f5c[_0x508485(0xba)]:_0x4f6f5c['CHAT'];expect(_0x5c6298)[_0x508485(0x9e)](_0x4f6f5c['AGENT']),_0x1713c7=_0x4f6f5c['AGENT'],_0x5c6298=_0x1713c7===_0x4f6f5c['CHAT']?_0x4f6f5c['AGENT']:_0x4f6f5c[_0x508485(0x98)],expect(_0x5c6298)[_0x508485(0x9e)](_0x4f6f5c[_0x508485(0x98)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Model\x20Filtering',()=>{test('MODEL_CATEGORY\x20can\x20be\x20used\x20to\x20filter\x20models\x20by\x20category',async()=>{const _0x184287=a0_0x1862,{MODEL_CATEGORY:_0x44e6ee}=await import('../../config/constants.js'),_0x28171f=[{'id':_0x184287(0xc7),'category':_0x44e6ee[_0x184287(0xa5)]},{'id':'gpt-4','category':_0x44e6ee[_0x184287(0xa8)]},{'id':'deepseek-chat','category':_0x44e6ee[_0x184287(0xc8)]}],_0x42a70d=_0x28171f['filter'](_0x185a10=>_0x185a10['category']===_0x44e6ee[_0x184287(0xa5)]),_0x283ed6=_0x28171f[_0x184287(0x8b)](_0x5e4a5a=>_0x5e4a5a['category']===_0x44e6ee['OPENAI']);expect(_0x42a70d[_0x184287(0xbd)])[_0x184287(0x9e)](0x1),expect(_0x42a70d[0x0]['id'])[_0x184287(0x9e)](_0x184287(0xc7)),expect(_0x283ed6['length'])[_0x184287(0x9e)](0x1),expect(_0x283ed6[0x0]['id'])[_0x184287(0x9e)](_0x184287(0x8e));});});
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 +1 @@
1
- const a0_0x221b5e=a0_0x4bb1;(function(_0x526129,_0x288976){const _0x2196f1=a0_0x4bb1,_0x5a2a4a=_0x526129();while(!![]){try{const _0x57de63=parseInt(_0x2196f1(0x9d))/0x1+-parseInt(_0x2196f1(0x88))/0x2*(-parseInt(_0x2196f1(0xb2))/0x3)+-parseInt(_0x2196f1(0xaa))/0x4+-parseInt(_0x2196f1(0x90))/0x5+parseInt(_0x2196f1(0x8c))/0x6+-parseInt(_0x2196f1(0x92))/0x7*(-parseInt(_0x2196f1(0x94))/0x8)+parseInt(_0x2196f1(0x89))/0x9*(parseInt(_0x2196f1(0x9b))/0xa);if(_0x57de63===_0x288976)break;else _0x5a2a4a['push'](_0x5a2a4a['shift']());}catch(_0x4137b7){_0x5a2a4a['push'](_0x5a2a4a['shift']());}}}(a0_0xce24,0xdf820));import{describe,test,expect}from'@jest/globals';function a0_0x4bb1(_0x497b38,_0x49e0d1){_0x497b38=_0x497b38-0x86;const _0xce2494=a0_0xce24();let _0x4bb125=_0xce2494[_0x497b38];if(a0_0x4bb1['gkiILc']===undefined){var _0xd4b12b=function(_0x261423){const _0x5967d1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fd32e='',_0x4643d4='';for(let _0x3dd19e=0x0,_0x4e4e4b,_0x55462c,_0x382831=0x0;_0x55462c=_0x261423['charAt'](_0x382831++);~_0x55462c&&(_0x4e4e4b=_0x3dd19e%0x4?_0x4e4e4b*0x40+_0x55462c:_0x55462c,_0x3dd19e++%0x4)?_0x1fd32e+=String['fromCharCode'](0xff&_0x4e4e4b>>(-0x2*_0x3dd19e&0x6)):0x0){_0x55462c=_0x5967d1['indexOf'](_0x55462c);}for(let _0x5c7d9d=0x0,_0xb44a73=_0x1fd32e['length'];_0x5c7d9d<_0xb44a73;_0x5c7d9d++){_0x4643d4+='%'+('00'+_0x1fd32e['charCodeAt'](_0x5c7d9d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4643d4);};a0_0x4bb1['yMsDjj']=_0xd4b12b,a0_0x4bb1['jHrqpu']={},a0_0x4bb1['gkiILc']=!![];}const _0x8e964b=_0xce2494[0x0],_0x851e96=_0x497b38+_0x8e964b,_0x5e20bc=a0_0x4bb1['jHrqpu'][_0x851e96];return!_0x5e20bc?(_0x4bb125=a0_0x4bb1['yMsDjj'](_0x4bb125),a0_0x4bb1['jHrqpu'][_0x851e96]=_0x4bb125):_0x4bb125=_0x5e20bc,_0x4bb125;}describe(a0_0x221b5e(0xb3),()=>{test('useAgents hook can be imported',async()=>{const _0x7827ef=a0_0x4bb1,{useAgents:_0x1fd32e}=await import(_0x7827ef(0xab));expect(_0x1fd32e)['toBeDefined'](),expect(typeof _0x1fd32e)[_0x7827ef(0x9e)]('function');}),test('useAgents is default export',async()=>{const _0x3f5b2b=a0_0x4bb1,module=await import('../../state/useAgents.js');expect(module[_0x3f5b2b(0xa6)])['toBeDefined'](),expect(typeof module['default'])[_0x3f5b2b(0x9e)](_0x3f5b2b(0xae)),expect(module[_0x3f5b2b(0xa6)])['toBe'](module['useAgents']);});}),describe('Agent\x20Management\x20-\x20Constants',()=>{const _0x53b1ca=a0_0x221b5e;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x5dcaff=a0_0x4bb1,{AGENT_MODE:_0x4643d4}=await import('../../config/constants.js');expect(_0x4643d4)[_0x5dcaff(0xa3)](),expect(_0x4643d4[_0x5dcaff(0x8b)])['toBe']('CHAT'),expect(_0x4643d4[_0x5dcaff(0x8e)])[_0x5dcaff(0x9e)](_0x5dcaff(0x8e));}),test('AGENT_STATUS\x20constants\x20are\x20defined',async()=>{const _0x415f8a=a0_0x4bb1,{AGENT_STATUS:_0x3dd19e}=await import(_0x415f8a(0xa1));expect(_0x3dd19e)[_0x415f8a(0xa3)](),expect(_0x3dd19e[_0x415f8a(0x99)])['toBe']('active'),expect(_0x3dd19e['PAUSED'])['toBe']('paused'),expect(_0x3dd19e[_0x415f8a(0xb1)])[_0x415f8a(0x9e)]('idle'),expect(_0x3dd19e['ERROR'])[_0x415f8a(0x9e)](_0x415f8a(0xb0)),expect(_0x3dd19e['ARCHIVED'])['toBe'](_0x415f8a(0x9c));}),test('Agent\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x8ea43f=a0_0x4bb1,{API_ENDPOINTS:_0x4e4e4b}=await import(_0x8ea43f(0xa1));expect(_0x4e4e4b[_0x8ea43f(0x98)])['toBe']('/api/agents/available'),expect(_0x4e4e4b['AGENTS_METADATA'])[_0x8ea43f(0x9e)](_0x8ea43f(0x9a)),expect(_0x4e4e4b['AGENTS_IMPORT'])['toBe']('/api/agents/import'),expect(_0x4e4e4b[_0x8ea43f(0x8f)])[_0x8ea43f(0x9e)](_0x8ea43f(0xb4)),expect(_0x4e4e4b[_0x8ea43f(0x95)])[_0x8ea43f(0x9e)](_0x8ea43f(0xb4)),expect(_0x4e4e4b[_0x8ea43f(0x91)])[_0x8ea43f(0x9e)](_0x8ea43f(0xa8));}),test(_0x53b1ca(0xac),async()=>{const _0x33b74b=_0x53b1ca,{AGENT_TEMPLATES:_0x55462c}=await import(_0x33b74b(0xa1));expect(_0x55462c)['toBeDefined'](),expect(_0x55462c[_0x33b74b(0xa9)])[_0x33b74b(0x9e)](_0x33b74b(0xad)),expect(_0x55462c[_0x33b74b(0x9f)])[_0x33b74b(0x9e)]('data-analyst'),expect(_0x55462c[_0x33b74b(0xa5)])[_0x33b74b(0x9e)]('creative-writer'),expect(_0x55462c[_0x33b74b(0xa2)])[_0x33b74b(0x9e)]('system-administrator'),expect(_0x55462c['CUSTOM'])['toBe']('custom');});}),describe(a0_0x221b5e(0x8a),()=>{const _0x7330f9=a0_0x221b5e;test(_0x7330f9(0xa0),async()=>{const {useAgents:_0x382831}=await import('../../state/useAgents.js'),{SessionManager:_0x5c7d9d}=await import('../../api/session.js'),{MessageRouter:_0xb44a73}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x3ce448}=await import('../../api/websocket.js'),_0x1394dc=new _0x5c7d9d('localhost',0x1f90),_0x174a2a=new _0x3ce448('localhost',0x1f90),_0x50aae5=new _0xb44a73(_0x174a2a);expect(_0x1394dc)['toBeDefined'](),expect(_0x50aae5)['toBeDefined'](),expect(typeof _0x382831)['toBe']('function');}),test('Full agent management stack can be imported together',async()=>{const _0x56563c=_0x7330f9,[_0x5aacd0,_0xa21645,_0x491bd8,_0x3d86ea,_0x199470]=await Promise['all']([import('../../config/constants.js'),import('../../api/session.js'),import(_0x56563c(0xaf)),import('../../api/messageRouter.js'),import('../../state/useAgents.js')]);expect(_0x5aacd0['AGENT_MODE'])[_0x56563c(0xa3)](),expect(_0xa21645[_0x56563c(0x96)])['toBeDefined'](),expect(_0x491bd8['WebSocketManager'])[_0x56563c(0xa3)](),expect(_0x3d86ea[_0x56563c(0x87)])['toBeDefined'](),expect(_0x199470[_0x56563c(0xa4)])[_0x56563c(0xa3)]();});}),describe('Agent\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x202dcb=a0_0x221b5e;test(_0x202dcb(0x8d),async()=>{const _0x39cb1e=_0x202dcb,{API_ENDPOINTS:_0x46ffc4}=await import('../../config/constants.js');expect(_0x46ffc4[_0x39cb1e(0x98)])[_0x39cb1e(0x97)](/^\/api\/agents/),expect(_0x46ffc4['AGENTS_METADATA'])['toMatch'](/^\/api\/agents/),expect(_0x46ffc4[_0x39cb1e(0x93)])['toMatch'](/^\/api\/agents/),expect(_0x46ffc4['AGENTS_MODE_SET'])[_0x39cb1e(0x97)](/^\/api\/agents/),expect(_0x46ffc4['AGENTS_MODE_GET'])[_0x39cb1e(0x97)](/^\/api\/agents/),expect(_0x46ffc4['AGENTS_STOP'])[_0x39cb1e(0x97)](/^\/api\/agents/),expect(_0x46ffc4[_0x39cb1e(0x86)])['toContain'](_0x39cb1e(0xa7)),expect(_0x46ffc4['AGENTS_MODE_SET'])['toContain'](':agentId'),expect(_0x46ffc4[_0x39cb1e(0x95)])['toContain'](_0x39cb1e(0xa7)),expect(_0x46ffc4['AGENTS_STOP'])['toContain'](_0x39cb1e(0xa7));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20agent\x20operations',async()=>{const _0x238c59=_0x202dcb,{API_ENDPOINTS:_0x1b6ad3}=await import('../../config/constants.js');expect(_0x1b6ad3['ORCHESTRATOR'])['toBeDefined'](),expect(_0x1b6ad3['ORCHESTRATOR'])[_0x238c59(0x9e)]('/api/orchestrator');});});function a0_0xce24(){const _0xcb352b=['odDHu1jdzNa','qwDLBNqGtwfUywDLBwvUDcaTieLTCg9YDhm','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','quDftLrtx01fvefeqvrb','twvZC2fNzvjVDxrLCG','nJa0mdzIs0DouMu','nZq3CLnYufPl','qwDLBNqGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','q0Hbva','ntmYody5nMrezhbOyG','qwXSigfNzw50igvUzhbVAw50CYbMB2XSB3CGuKvtvgz1BcbWyxr0zxjU','quDftLq','quDftLrtx01prevFu0vu','nZiWntKYmg1QzhHfra','quDftLrtx1nut1a','mtyZmJyXsLDkzLfT','quDftLrtx0Lnue9sva','oe5urM1WrG','quDftLrtx01prevFr0vu','u2vZC2LVBK1HBMfNzxi','Dg9nyxrJAa','quDftLrtx0fwquLmqujmrq','qunusvzf','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','otiYnJbwCujSyMe','yxjJAgL2zwq','ntmXnJK0ENfUAxzS','Dg9czq','refuqv9btKfmwvnu','DxnLqwDLBNrZigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','u1Ltvevnx0fetuLosvnuuKfut1i','Dg9czurLzMLUzwq','DxnLqwDLBNrZ','q1jfqvrjvKvFv1jjvevs','zgvMyxvSDa','oMfNzw50swq','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','q09esu5hx0ftu0Ltvefova','mJKXmJqYngv3yLPguW','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','quDftLrFvevnueXbvevtignVBNn0yw50CYbHCMuGzgvMAw5Lza','y29KAw5NlwfZC2LZDgfUDa','zNvUy3rPB24','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','zxjYB3i','surmrq'];a0_0xce24=function(){return _0xcb352b;};return a0_0xce24();}
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 +1 @@
1
- (function(_0x4c2807,_0x16ef40){const _0x3563f3=a0_0xa06d,_0x48aad2=_0x4c2807();while(!![]){try{const _0x5eb192=-parseInt(_0x3563f3(0x9c))/0x1*(parseInt(_0x3563f3(0xa5))/0x2)+-parseInt(_0x3563f3(0x9e))/0x3*(-parseInt(_0x3563f3(0x8f))/0x4)+-parseInt(_0x3563f3(0xa3))/0x5+-parseInt(_0x3563f3(0x94))/0x6*(-parseInt(_0x3563f3(0x95))/0x7)+parseInt(_0x3563f3(0xa8))/0x8+-parseInt(_0x3563f3(0x8d))/0x9+parseInt(_0x3563f3(0xa6))/0xa;if(_0x5eb192===_0x16ef40)break;else _0x48aad2['push'](_0x48aad2['shift']());}catch(_0x5075dd){_0x48aad2['push'](_0x48aad2['shift']());}}}(a0_0x1e57,0x8fa90));function a0_0x1e57(){const _0x209cc7=['otCXnJHZvMLTAwm','mtqZmdm0ndbABfL3wKG','Dg9czurLzMLUzwq','mJyZntGXnMDAq0jIDq','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','otK4odiXogT6ENPgtq','zgvMyxvSDa','nfrrqM12ra','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','sw5WDxrcB3G','u3rHDhvZqMfY','DxnLu3rHDgu','mti2ndH6tKnJt0K','n2fbyxLozW','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','zNvUy3rPB24','Dg9czq','DxnLrwzMzwn0','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','oeDiv09XvW','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','mtq2ndC1m0zzA2v4uq','sgvHzgvY','twvZC2fNzuXPC3q','Aw5R','ywXS','ode2mZCWDNDTCwnu','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW'];a0_0x1e57=function(){return _0x209cc7;};return a0_0x1e57();}function a0_0xa06d(_0x485330,_0x9805bb){_0x485330=_0x485330-0x8b;const _0x1e57a7=a0_0x1e57();let _0xa06d6d=_0x1e57a7[_0x485330];if(a0_0xa06d['PbDxff']===undefined){var _0x1e9c56=function(_0x1ce2bb){const _0x1b6629='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e0e2b='',_0x5d70a3='';for(let _0x38a489=0x0,_0x4e74d9,_0x44aae4,_0x5160b8=0x0;_0x44aae4=_0x1ce2bb['charAt'](_0x5160b8++);~_0x44aae4&&(_0x4e74d9=_0x38a489%0x4?_0x4e74d9*0x40+_0x44aae4:_0x44aae4,_0x38a489++%0x4)?_0x5e0e2b+=String['fromCharCode'](0xff&_0x4e74d9>>(-0x2*_0x38a489&0x6)):0x0){_0x44aae4=_0x1b6629['indexOf'](_0x44aae4);}for(let _0x1e4f87=0x0,_0x207863=_0x5e0e2b['length'];_0x1e4f87<_0x207863;_0x1e4f87++){_0x5d70a3+='%'+('00'+_0x5e0e2b['charCodeAt'](_0x1e4f87)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d70a3);};a0_0xa06d['cggAtL']=_0x1e9c56,a0_0xa06d['Uzhoaq']={},a0_0xa06d['PbDxff']=!![];}const _0x263451=_0x1e57a7[0x0],_0x16fcec=_0x485330+_0x263451,_0x4a8900=a0_0xa06d['Uzhoaq'][_0x16fcec];return!_0x4a8900?(_0xa06d6d=a0_0xa06d['cggAtL'](_0xa06d6d),a0_0xa06d['Uzhoaq'][_0x16fcec]=_0xa06d6d):_0xa06d6d=_0x4a8900,_0xa06d6d;}import{describe,test,expect}from'@jest/globals';describe('Component\x20Management\x20-\x20Imports',()=>{test('Layout component can be imported',async()=>{const _0x445843=a0_0xa06d,{Layout:_0x5e0e2b}=await import(_0x445843(0x9a));expect(_0x5e0e2b)['toBeDefined'](),expect(typeof _0x5e0e2b)[_0x445843(0x98)]('function');}),test('Layout is default export',async()=>{const _0x1b5440=a0_0xa06d,module=await import('../../components/Layout.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x1b5440(0x8e)])[_0x1b5440(0x98)](_0x1b5440(0x97)),expect(module[_0x1b5440(0x8e)])['toBe'](module['Layout']);}),test('Header component can be imported',async()=>{const _0x267cb1=a0_0xa06d,{Header:_0x5d70a3}=await import(_0x267cb1(0x9b));expect(_0x5d70a3)['toBeDefined'](),expect(typeof _0x5d70a3)['toBe'](_0x267cb1(0x97));}),test('Header is default export',async()=>{const _0x1280cb=a0_0xa06d,module=await import('../../components/Header.js');expect(module[_0x1280cb(0x8e)])[_0x1280cb(0xa7)](),expect(module['default'])[_0x1280cb(0x98)](module[_0x1280cb(0x9f)]);}),test('StatusBar component can be imported',async()=>{const _0x266aa0=a0_0xa06d,{StatusBar:_0x38a489}=await import(_0x266aa0(0x8c));expect(_0x38a489)['toBeDefined'](),expect(typeof _0x38a489)[_0x266aa0(0x98)](_0x266aa0(0x97));}),test('StatusBar is default export',async()=>{const _0x3bfe4e=a0_0xa06d,module=await import('../../components/StatusBar.js');expect(module['default'])[_0x3bfe4e(0xa7)](),expect(module['default'])['toBe'](module[_0x3bfe4e(0x92)]);}),test('MessageList component can be imported',async()=>{const _0x9e7422=a0_0xa06d,{MessageList:_0x4e74d9}=await import(_0x9e7422(0x90));expect(_0x4e74d9)[_0x9e7422(0xa7)](),expect(typeof _0x4e74d9)[_0x9e7422(0x98)](_0x9e7422(0x97));}),test('MessageList is default export',async()=>{const _0x736f48=a0_0xa06d,module=await import(_0x736f48(0x90));expect(module[_0x736f48(0x8e)])[_0x736f48(0xa7)](),expect(module['default'])[_0x736f48(0x98)](module[_0x736f48(0xa0)]);}),test('InputBox component can be imported',async()=>{const _0x9b9d8a=a0_0xa06d,{InputBox:_0x44aae4}=await import(_0x9b9d8a(0x96));expect(_0x44aae4)['toBeDefined'](),expect(typeof _0x44aae4)['toBe'](_0x9b9d8a(0x97));}),test('InputBox is default export',async()=>{const _0xcfabd5=a0_0xa06d,module=await import(_0xcfabd5(0x96));expect(module['default'])['toBeDefined'](),expect(module[_0xcfabd5(0x8e)])['toBe'](module['InputBox']);});}),describe('Component\x20Management\x20-\x20Integration',()=>{test('All components can be imported together',async()=>{const _0x40362f=a0_0xa06d,[_0x5160b8,_0x1e4f87,_0x207863,_0x820131,_0x4260bc]=await Promise[_0x40362f(0xa2)]([import('../../components/Layout.js'),import('../../components/Header.js'),import(_0x40362f(0x8c)),import(_0x40362f(0x90)),import('../../components/InputBox.js')]);expect(_0x5160b8['Layout'])[_0x40362f(0xa7)](),expect(_0x1e4f87['Header'])[_0x40362f(0xa7)](),expect(_0x207863[_0x40362f(0x92)])[_0x40362f(0xa7)](),expect(_0x820131['MessageList'])['toBeDefined'](),expect(_0x4260bc[_0x40362f(0x91)])['toBeDefined']();}),test('Layout\x20component\x20integrates\x20with\x20all\x20state\x20hooks',async()=>{const _0x5efb25=a0_0xa06d,{Layout:_0x5cba53}=await import(_0x5efb25(0x9a)),{useConnection:_0x50ea0b}=await import(_0x5efb25(0xa4)),{useAgents:_0x17ce92}=await import(_0x5efb25(0x9d)),{useMessages:_0x14864f}=await import('../../state/useMessages.js'),{useAgentControl:_0x285ba8}=await import(_0x5efb25(0x8b)),{useTools:_0x2e0e64}=await import('../../state/useTools.js');expect(_0x5cba53)['toBeDefined'](),expect(_0x50ea0b)['toBeDefined'](),expect(_0x17ce92)[_0x5efb25(0xa7)](),expect(_0x14864f)['toBeDefined'](),expect(_0x285ba8)[_0x5efb25(0xa7)](),expect(_0x2e0e64)[_0x5efb25(0xa7)]();});}),describe('Component\x20Management\x20-\x20React/Ink\x20Dependencies',()=>{test('Ink components can be imported',async()=>{const _0x35f6c7=a0_0xa06d,{Box:_0x1e1549,Text:_0x40deae}=await import(_0x35f6c7(0xa1));expect(_0x1e1549)[_0x35f6c7(0xa7)](),expect(_0x40deae)[_0x35f6c7(0xa7)]();}),test('React can be imported',async()=>{const _0x20fd25=a0_0xa06d,_0x132069=await import('react');expect(_0x132069[_0x20fd25(0x8e)])[_0x20fd25(0xa7)](),expect(_0x132069[_0x20fd25(0x93)])['toBeDefined'](),expect(_0x132069[_0x20fd25(0x99)])['toBeDefined']();});});
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 +1 @@
1
- const a0_0xa9da78=a0_0x53cb;(function(_0x291898,_0x4f93a7){const _0x2c7b93=a0_0x53cb,_0x40f737=_0x291898();while(!![]){try{const _0x226542=parseInt(_0x2c7b93(0x146))/0x1+parseInt(_0x2c7b93(0x13a))/0x2+parseInt(_0x2c7b93(0x122))/0x3+-parseInt(_0x2c7b93(0x117))/0x4+-parseInt(_0x2c7b93(0x126))/0x5*(-parseInt(_0x2c7b93(0x120))/0x6)+-parseInt(_0x2c7b93(0x12b))/0x7+-parseInt(_0x2c7b93(0x14e))/0x8*(parseInt(_0x2c7b93(0x124))/0x9);if(_0x226542===_0x4f93a7)break;else _0x40f737['push'](_0x40f737['shift']());}catch(_0x50228d){_0x40f737['push'](_0x40f737['shift']());}}}(a0_0x8933,0xac435));function a0_0x8933(){const _0x2d8b6e=['zNvUy3rPB24','mJGYnhj2u0jctq','Bg9JywXOB3n0','B2zM','AxnszwnVBM5Ly3rPBMC','nZy2odi0D29QzgHW','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','Dg9czq','uKvdt05orunux0nptKzjrW','C3rYAw5N','zgLZy29UBMvJDgvK','q09otKvdveLorW','CMvJB25Uzwn0Aw5N','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','nMLeveruEa','DgvZDc1ZzxnZAw9UlteYmW','mZKWntu2nxPMrxL6ra','Dg9czuXLC3nuAgfUt3jfCxvHBa','mJy2nJD0vNrPwfe','q09otKvdveLptL9tvefuvvmGAgfZigfSBcbYzxf1AxjLzcbZDgf0zxm','mZe1nJm1mhvwBgvlDW','zgvMyxvSDa','q29UBMvJDgLVBIb1ChrPBwuGy2fUigjLihrYywnRzwq','q09otKvdveLptL9tvefuvvmGy29UC3rHBNrZigfYzsbKzwzPBMvK','Dg9czurLzMLUzwq','nde5mtq3nfzOEhfPCW','Dg9dB250ywLU','A2v5CW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','C3rHDhvZ','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','su5jveLbtf9eruXbwq','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','AxndB25Uzwn0zwq','uKvdt05orunusu5h','Dg9mB3DLCKnHC2u','reLtq09otKvdveve','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbtDgf0DxmGvhjHBNnPDgLVBNm','BM93','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','nJm4mZeWufnZt3vO','DxnLq29UBMvJDgLVBG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','DxnLq29UBMvJDgLVBIbYzxr1CM5Zigv4CgvJDgvKigLUDgvYzMfJzsbZAgfWzq','q29UBMvJDgLVBIbTzxrYAwnZihrYywnRihrPBwvZDgfTChm','uKvdt05orunux0nptKzjrYbJB25ZDgfUDhmGyxjLigrLzMLUzwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','y29UBMvJDgvK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','q09otKvdveve','Cg93','mJG5nZm2yMnQCfvh','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','qKfds09grL9nvuXusvbmsuvs','tufyx0rftefz','BwLU','Dg9czuDYzwf0zxjuAgfU','q09otKvdveLptL9tvefuvvm'];a0_0x8933=function(){return _0x2d8b6e;};return a0_0x8933();}import{describe,test,expect}from'@jest/globals';function a0_0x53cb(_0x34ace1,_0x4d4452){_0x34ace1=_0x34ace1-0x116;const _0x89333e=a0_0x8933();let _0x53cb0b=_0x89333e[_0x34ace1];if(a0_0x53cb['kTMnhB']===undefined){var _0xe6e97f=function(_0x131305){const _0x20ecdb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45950e='',_0x53b5d7='';for(let _0x219935=0x0,_0x2857b2,_0x380ad4,_0x1f2e7=0x0;_0x380ad4=_0x131305['charAt'](_0x1f2e7++);~_0x380ad4&&(_0x2857b2=_0x219935%0x4?_0x2857b2*0x40+_0x380ad4:_0x380ad4,_0x219935++%0x4)?_0x45950e+=String['fromCharCode'](0xff&_0x2857b2>>(-0x2*_0x219935&0x6)):0x0){_0x380ad4=_0x20ecdb['indexOf'](_0x380ad4);}for(let _0x9aa856=0x0,_0x2240fc=_0x45950e['length'];_0x9aa856<_0x2240fc;_0x9aa856++){_0x53b5d7+='%'+('00'+_0x45950e['charCodeAt'](_0x9aa856)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x53b5d7);};a0_0x53cb['HHKXdi']=_0xe6e97f,a0_0x53cb['RyKgBl']={},a0_0x53cb['kTMnhB']=!![];}const _0x53b991=_0x89333e[0x0],_0x23ecbf=_0x34ace1+_0x53b991,_0x4e4f7f=a0_0x53cb['RyKgBl'][_0x23ecbf];return!_0x4e4f7f?(_0x53cb0b=a0_0x53cb['HHKXdi'](_0x53cb0b),a0_0x53cb['RyKgBl'][_0x23ecbf]=_0x53cb0b):_0x53cb0b=_0x4e4f7f,_0x53cb0b;}describe(a0_0xa9da78(0x139),()=>{test('useConnection hook can be imported',async()=>{const _0x506c8d=a0_0x53cb,{useConnection:_0x45950e}=await import('../../state/useConnection.js');expect(_0x45950e)[_0x506c8d(0x12a)](),expect(typeof _0x45950e)['toBe']('function');}),test('useConnection is default export',async()=>{const _0x15a859=a0_0x53cb,module=await import('../../state/useConnection.js');expect(module[_0x15a859(0x127)])[_0x15a859(0x12a)](),expect(typeof module[_0x15a859(0x127)])['toBe']('function'),expect(module[_0x15a859(0x127)])[_0x15a859(0x119)](module[_0x15a859(0x13b)]);});}),describe(a0_0xa9da78(0x143),()=>{const _0x39eb5e=a0_0xa9da78;test(_0x39eb5e(0x129),async()=>{const _0x1556b1=_0x39eb5e,{CONNECTION_STATUS:_0x53b5d7}=await import(_0x1556b1(0x12e));expect(_0x53b5d7)['toBeDefined'](),expect(_0x53b5d7[_0x1556b1(0x11d)])['toBe']('connecting'),expect(_0x53b5d7['CONNECTED'])[_0x1556b1(0x119)]('connected'),expect(_0x53b5d7[_0x1556b1(0x136)])['toBe'](_0x1556b1(0x11c)),expect(_0x53b5d7[_0x1556b1(0x134)])[_0x1556b1(0x119)]('reconnecting');}),test('CONNECTION_STATUS\x20is\x20alias\x20for\x20CONNECTION_STATE',async()=>{const _0x173548=_0x39eb5e,{CONNECTION_STATUS:_0x219935,CONNECTION_STATE:_0x2857b2}=await import(_0x173548(0x12e));expect(_0x219935)['toBe'](_0x2857b2);}),test(_0x39eb5e(0x140),async()=>{const _0x2b30f9=_0x39eb5e,{RECONNECT_CONFIG:_0x380ad4}=await import('../../config/constants.js');expect(_0x380ad4)[_0x2b30f9(0x12a)](),expect(_0x380ad4[_0x2b30f9(0x131)])['toBeDefined'](),expect(_0x380ad4[_0x2b30f9(0x149)])[_0x2b30f9(0x12a)](),expect(_0x380ad4[_0x2b30f9(0x148)])['toBeDefined'](),expect(_0x380ad4['MAX_ATTEMPTS'])[_0x2b30f9(0x12a)]();}),test('RECONNECT_CONFIG\x20values\x20are\x20reasonable',async()=>{const _0x4af3fd=_0x39eb5e,{RECONNECT_CONFIG:_0x1f2e7}=await import('../../config/constants.js');expect(_0x1f2e7[_0x4af3fd(0x131)])['toBeGreaterThan'](0x0),expect(_0x1f2e7['MAX_DELAY'])['toBeGreaterThan'](_0x1f2e7['INITIAL_DELAY']),expect(_0x1f2e7[_0x4af3fd(0x148)])['toBeGreaterThan'](0x1),expect(_0x1f2e7['MAX_ATTEMPTS'])['toBeGreaterThan'](0x0);});}),describe(a0_0xa9da78(0x141),()=>{test('useConnection\x20hook\x20integrates\x20with\x20SessionManager\x20and\x20WebSocketManager',async()=>{const _0x2b75e2=a0_0x53cb,{useConnection:_0x9aa856}=await import(_0x2b75e2(0x118)),{SessionManager:_0x2240fc}=await import('../../api/session.js'),{WebSocketManager:_0x2c5aa0}=await import(_0x2b75e2(0x13c)),_0x2bd19e=new _0x2240fc(_0x2b75e2(0x14f),0x1f90),_0x7770aa=new _0x2c5aa0(_0x2b75e2(0x14f),0x1f90);expect(_0x2bd19e)['toBeDefined'](),expect(_0x7770aa)[_0x2b75e2(0x12a)](),expect(typeof _0x9aa856)[_0x2b75e2(0x119)](_0x2b75e2(0x14d));}),test('Full connection stack can be imported together',async()=>{const _0x1babba=a0_0x53cb,[_0x16f24a,_0x824733,_0x4c1edc,_0x41327d]=await Promise['all']([import(_0x1babba(0x12e)),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x1babba(0x118))]);expect(_0x16f24a[_0x1babba(0x14c)])[_0x1babba(0x12a)](),expect(_0x16f24a[_0x1babba(0x11a)])['toBeDefined'](),expect(_0x824733['SessionManager'])['toBeDefined'](),expect(_0x4c1edc['WebSocketManager'])[_0x1babba(0x12a)](),expect(_0x41327d[_0x1babba(0x13b)])['toBeDefined']();});}),describe(a0_0xa9da78(0x130),()=>{const _0x95cd53=a0_0xa9da78;test(_0x95cd53(0x13e),async()=>{const _0xaf1dce=_0x95cd53,{useConnection:_0x8de38e}=await import(_0xaf1dce(0x118));expect(_0x8de38e['length'])[_0xaf1dce(0x119)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0xc7113e=a0_0xa9da78;test('CONNECTION_STATUS\x20values\x20are\x20lowercase\x20strings',async()=>{const _0x5d633d=a0_0x53cb,{CONNECTION_STATUS:_0x5295e3}=await import('../../config/constants.js');expect(typeof _0x5295e3[_0x5d633d(0x11d)])[_0x5d633d(0x119)](_0x5d633d(0x11b)),expect(typeof _0x5295e3['CONNECTED'])[_0x5d633d(0x119)]('string'),expect(typeof _0x5295e3['DISCONNECTED'])[_0x5d633d(0x119)]('string'),expect(typeof _0x5295e3['RECONNECTING'])['toBe']('string'),expect(_0x5295e3['CONNECTING'])['toBe'](_0x5295e3['CONNECTING']['toLowerCase']()),expect(_0x5295e3[_0x5d633d(0x144)])['toBe'](_0x5295e3['CONNECTED'][_0x5d633d(0x135)]());}),test(_0xc7113e(0x125),async()=>{const _0x2a5c5b=_0xc7113e,{CONNECTION_STATUS:_0x176838}=await import(_0x2a5c5b(0x12e)),_0x1bbba4=Object[_0x2a5c5b(0x12d)](_0x176838);expect(_0x1bbba4)['toContain'](_0x2a5c5b(0x11d)),expect(_0x1bbba4)[_0x2a5c5b(0x12c)](_0x2a5c5b(0x144)),expect(_0x1bbba4)['toContain'](_0x2a5c5b(0x136)),expect(_0x1bbba4)['toContain'](_0x2a5c5b(0x134));});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{test('Exponential\x20backoff\x20delay\x20calculation\x20works\x20correctly',async()=>{const _0x5283c4=a0_0x53cb,{RECONNECT_CONFIG:_0x309886}=await import(_0x5283c4(0x12e)),_0x4a9e60=_0x5cbcc9=>{const _0x58b19a=_0x5283c4;return Math[_0x58b19a(0x14a)](_0x309886['INITIAL_DELAY']*Math['pow'](_0x309886[_0x58b19a(0x148)],_0x5cbcc9),_0x309886['MAX_DELAY']);},_0x27a810=_0x4a9e60(0x0),_0x3c8def=_0x4a9e60(0x1),_0x160f1a=_0x4a9e60(0x2);expect(_0x27a810)[_0x5283c4(0x119)](_0x309886[_0x5283c4(0x131)]),expect(_0x3c8def)['toBeGreaterThan'](_0x27a810),expect(_0x160f1a)[_0x5283c4(0x14b)](_0x3c8def);}),test('Exponential\x20backoff\x20respects\x20max\x20delay',async()=>{const _0x364520=a0_0x53cb,{RECONNECT_CONFIG:_0x50941b}=await import('../../config/constants.js'),_0x1f6831=_0x3e0021=>{const _0x1041eb=a0_0x53cb;return Math[_0x1041eb(0x14a)](_0x50941b['INITIAL_DELAY']*Math[_0x1041eb(0x145)](_0x50941b[_0x1041eb(0x148)],_0x3e0021),_0x50941b['MAX_DELAY']);},_0x20fc3d=_0x1f6831(0x64);expect(_0x20fc3d)[_0x364520(0x119)](_0x50941b['MAX_DELAY']),expect(_0x20fc3d)[_0x364520(0x123)](_0x50941b[_0x364520(0x149)]);});}),describe(a0_0xa9da78(0x13d),()=>{const _0x2af2ef=a0_0xa9da78;test('Session\x20state\x20should\x20track\x20validity',async()=>{const _0x3b1de4=a0_0x53cb;let _0x574d2b=null,_0x2c1d2c=![],_0x51d29a=null;_0x574d2b=_0x3b1de4(0x121),_0x2c1d2c=!![],_0x51d29a=Date[_0x3b1de4(0x138)]()+0x36ee80,expect(_0x574d2b)['toBeDefined'](),expect(_0x2c1d2c)['toBe'](!![]),expect(_0x51d29a)['toBeGreaterThan'](Date[_0x3b1de4(0x138)]());}),test(_0x2af2ef(0x132),async()=>{const _0x5504e8=_0x2af2ef;let _0x11e90a='test-session-123',_0x3650e7=!![];_0x11e90a=null,_0x3650e7=![],expect(_0x11e90a)['toBeNull'](),expect(_0x3650e7)[_0x5504e8(0x119)](![]);});}),describe('Connection\x20Management\x20-\x20Connection\x20Metrics',()=>{const _0x94665=a0_0xa9da78;test(_0x94665(0x128),async()=>{const _0xbda47b=_0x94665,_0x104ec4=Date['now']();await new Promise(_0x139ddb=>setTimeout(_0x139ddb,0x64));const _0x13bf7=Date['now']()-_0x104ec4;expect(_0x13bf7)[_0xbda47b(0x14b)](0x0),expect(_0x13bf7)['toBeGreaterThanOrEqual'](0x64);}),test(_0x94665(0x13f),async()=>{const _0x1bf058=_0x94665,_0x351a5b=Date[_0x1bf058(0x138)]();await new Promise(_0x24daad=>setTimeout(_0x24daad,0x32));const _0x280ce5=Date['now']();expect(_0x351a5b)[_0x1bf058(0x12a)](),expect(_0x280ce5)['toBeDefined'](),expect(_0x280ce5)[_0x1bf058(0x14b)](_0x351a5b);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{const _0x3900d6=_0x94665;let _0x1d7b1b=0x0;_0x1d7b1b+=0x1,expect(_0x1d7b1b)[_0x3900d6(0x119)](0x1),_0x1d7b1b+=0x1,expect(_0x1d7b1b)['toBe'](0x2),_0x1d7b1b=0x0,expect(_0x1d7b1b)['toBe'](0x0);});}),describe(a0_0xa9da78(0x137),()=>{const _0x5f43cc=a0_0xa9da78;test(_0x5f43cc(0x147),async()=>{const _0x26f13e=_0x5f43cc,{CONNECTION_STATUS:_0x3e97b6}=await import(_0x26f13e(0x12e));let _0x8bf0e7=_0x3e97b6['DISCONNECTED'];expect(_0x8bf0e7)['toBe'](_0x26f13e(0x11c)),_0x8bf0e7=_0x3e97b6['CONNECTING'],expect(_0x8bf0e7)['toBe']('connecting'),_0x8bf0e7=_0x3e97b6[_0x26f13e(0x144)],expect(_0x8bf0e7)[_0x26f13e(0x119)]('connected'),_0x8bf0e7=_0x3e97b6['DISCONNECTED'],expect(_0x8bf0e7)['toBe'](_0x26f13e(0x11c)),_0x8bf0e7=_0x3e97b6[_0x26f13e(0x134)],expect(_0x8bf0e7)['toBe'](_0x26f13e(0x11e)),_0x8bf0e7=_0x3e97b6[_0x26f13e(0x144)],expect(_0x8bf0e7)[_0x26f13e(0x119)](_0x26f13e(0x142));});}),describe('Connection\x20Management\x20-\x20WebSocket\x20Event\x20Integration',()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0x2b0e3f=a0_0x53cb,{WebSocketManager:_0x8c7ea3}=await import(_0x2b0e3f(0x13c)),_0x19a56d=new _0x8c7ea3(_0x2b0e3f(0x14f),0x1f90);expect(_0x19a56d['on'])['toBeDefined'](),expect(_0x19a56d[_0x2b0e3f(0x150)])[_0x2b0e3f(0x12a)](),expect(typeof _0x19a56d['on'])['toBe'](_0x2b0e3f(0x14d)),expect(typeof _0x19a56d['off'])['toBe']('function');});}),describe('Connection\x20Management\x20-\x20Max\x20Attempts\x20Limit',()=>{test('Reconnection\x20should\x20stop\x20after\x20max\x20attempts',async()=>{const {RECONNECT_CONFIG:_0x4504c3}=await import('../../config/constants.js');let _0x41f9bb=0x0;for(let _0x18aad8=0x0;_0x18aad8<_0x4504c3['MAX_ATTEMPTS']+0x5;_0x18aad8++){if(_0x41f9bb<_0x4504c3['MAX_ATTEMPTS'])_0x41f9bb+=0x1;else break;}expect(_0x41f9bb)['toBe'](_0x4504c3['MAX_ATTEMPTS']),expect(_0x41f9bb)['toBeLessThanOrEqual'](_0x4504c3['MAX_ATTEMPTS']);});}),describe('Connection\x20Management\x20-\x20Connection\x20Info',()=>{const _0x14f89e=a0_0xa9da78;test(_0x14f89e(0x11f),async()=>{const _0x204f45=_0x14f89e,{CONNECTION_STATUS:_0x20ae7c}=await import(_0x204f45(0x12e)),_0x1d818a={'status':_0x20ae7c['CONNECTED'],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date[_0x204f45(0x138)]()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date['now']()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x1d818a[_0x204f45(0x12f)])['toBeDefined'](),expect(_0x1d818a[_0x204f45(0x133)])['toBe'](!![]),expect(_0x1d818a[_0x204f45(0x116)])['toBe'](![]),expect(_0x1d818a['sessionId'])[_0x204f45(0x12a)](),expect(_0x1d818a['sessionValid'])['toBe'](!![]),expect(_0x1d818a['uptime'])[_0x204f45(0x14b)](0x0);});});
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 +1 @@
1
- const a0_0x2459ba=a0_0x48bc;(function(_0x9be030,_0x424b13){const _0x3ef857=a0_0x48bc,_0xfacf17=_0x9be030();while(!![]){try{const _0x5a6e21=parseInt(_0x3ef857(0x121))/0x1+-parseInt(_0x3ef857(0x101))/0x2+parseInt(_0x3ef857(0x115))/0x3*(parseInt(_0x3ef857(0x113))/0x4)+parseInt(_0x3ef857(0x11f))/0x5+-parseInt(_0x3ef857(0x107))/0x6+parseInt(_0x3ef857(0x11a))/0x7+parseInt(_0x3ef857(0x119))/0x8;if(_0x5a6e21===_0x424b13)break;else _0xfacf17['push'](_0xfacf17['shift']());}catch(_0x1f8ddd){_0xfacf17['push'](_0xfacf17['shift']());}}}(a0_0xf952,0x26b08));import{describe,test,expect}from'@jest/globals';describe(a0_0x2459ba(0x11e),()=>{const _0x8dfbe9=a0_0x2459ba;test('ErrorBoundary component can be imported',async()=>{const _0x11df9e=a0_0x48bc,{ErrorBoundary:_0x681ae7}=await import(_0x11df9e(0x112));expect(_0x681ae7)['toBeDefined'](),expect(typeof _0x681ae7)['toBe'](_0x11df9e(0x10d));},0x7530),test(_0x8dfbe9(0x118),async()=>{const _0x206947=_0x8dfbe9,{ErrorBoundary:_0xe90eb5}=await import('../../components/ErrorBoundary.js');expect(_0xe90eb5[_0x206947(0x10c)])[_0x206947(0x104)](),expect(typeof _0xe90eb5[_0x206947(0x10c)]['render'])[_0x206947(0xfe)]('function');}),test('LoadingSpinner component can be imported',async()=>{const _0x15bbb2=_0x8dfbe9,{LoadingSpinner:_0x30cdc0}=await import('../../components/LoadingSpinner.js');expect(_0x30cdc0)[_0x15bbb2(0x104)](),expect(typeof _0x30cdc0)['toBe']('function');}),test('InlineSpinner component can be imported',async()=>{const _0x18a4a2=_0x8dfbe9,{InlineSpinner:_0xbb7057}=await import('../../components/LoadingSpinner.js');expect(_0xbb7057)['toBeDefined'](),expect(typeof _0xbb7057)[_0x18a4a2(0xfe)](_0x18a4a2(0x10d));}),test('LoadingSpinner is default export',async()=>{const _0x4b8d39=_0x8dfbe9,module=await import('../../components/LoadingSpinner.js');expect(module['default'])[_0x4b8d39(0x104)](),expect(module[_0x4b8d39(0x10a)])[_0x4b8d39(0xfe)](module['LoadingSpinner']);}),test(_0x8dfbe9(0x108),async()=>{const _0x3494fc=_0x8dfbe9,{InputBox:_0x7df4d9}=await import(_0x3494fc(0x10b));expect(_0x7df4d9)[_0x3494fc(0x104)](),expect(typeof _0x7df4d9)[_0x3494fc(0xfe)](_0x3494fc(0x10d));});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{const _0x37f6be=a0_0x2459ba;test(_0x37f6be(0x10e),async()=>{const _0x4a4974=_0x37f6be,{ErrorBoundary:_0x394884}=await import('../../components/ErrorBoundary.js'),_0x532fa5=await import(_0x4a4974(0x100));expect(_0x394884['prototype'])['toBeDefined'](),expect(typeof _0x394884[_0x4a4974(0x10c)][_0x4a4974(0x116)])[_0x4a4974(0xfe)](_0x4a4974(0x10d)),expect(typeof _0x394884['prototype'][_0x4a4974(0xfc)])[_0x4a4974(0xfe)](_0x4a4974(0x10d));}),test(_0x37f6be(0x11b),async()=>{const _0x2692d0=_0x37f6be,{ErrorBoundary:_0x341ffc}=await import(_0x2692d0(0x112));expect(typeof _0x341ffc[_0x2692d0(0x103)])[_0x2692d0(0xfe)]('function');}),test(_0x37f6be(0xfd),async()=>{const _0x39c5aa=_0x37f6be,{ErrorBoundary:_0xcc188b}=await import(_0x39c5aa(0x112));expect(typeof _0xcc188b['prototype'][_0x39c5aa(0xfc)])[_0x39c5aa(0xfe)](_0x39c5aa(0x10d));});}),describe(a0_0x2459ba(0xff),()=>{const _0x4fcc14=a0_0x2459ba;test('LoadingSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x1ebed3=a0_0x48bc,{LoadingSpinner:_0x8a9458}=await import(_0x1ebed3(0x11d));expect(typeof _0x8a9458)[_0x1ebed3(0xfe)](_0x1ebed3(0x10d)),expect(_0x8a9458[_0x1ebed3(0x10c)]?.[_0x1ebed3(0x116)])['toBeUndefined']();}),test(_0x4fcc14(0x10f),async()=>{const _0x270ec7=_0x4fcc14,{InlineSpinner:_0x46c4b6}=await import('../../components/LoadingSpinner.js');expect(typeof _0x46c4b6)['toBe'](_0x270ec7(0x10d)),expect(_0x46c4b6[_0x270ec7(0x10c)]?.[_0x270ec7(0x116)])[_0x270ec7(0x11c)]();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x18df44=a0_0x48bc,_0x3a73ae=await import('../../components/InputBox.js'),_0x2ab6ba=await import('react');expect(_0x2ab6ba[_0x18df44(0x105)])[_0x18df44(0x104)](),expect(_0x2ab6ba[_0x18df44(0x110)])[_0x18df44(0x104)]();}),test('InputBox component maintains exports',async()=>{const _0x25a234=a0_0x48bc,module=await import(_0x25a234(0x10b));expect(module['InputBox'])['toBeDefined'](),expect(module['default'])['toBeDefined'](),expect(module[_0x25a234(0x10a)])[_0x25a234(0xfe)](module['InputBox']);});}),describe(a0_0x2459ba(0x114),()=>{test('All enhanced components can be imported together',async()=>{const _0x5c45b6=a0_0x48bc,[_0x58865d,_0x12529d,_0x30c708]=await Promise[_0x5c45b6(0x120)]([import(_0x5c45b6(0x112)),import('../../components/LoadingSpinner.js'),import(_0x5c45b6(0x10b))]);expect(_0x58865d[_0x5c45b6(0x117)])[_0x5c45b6(0x104)](),expect(_0x12529d['LoadingSpinner'])[_0x5c45b6(0x104)](),expect(_0x12529d['InlineSpinner'])[_0x5c45b6(0x104)](),expect(_0x30c708[_0x5c45b6(0x111)])[_0x5c45b6(0x104)]();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x277635=a0_0x48bc,_0x594e51=await import('react'),_0x3ec5ad=await import(_0x277635(0x106));expect(_0x3ec5ad['useInput'])['toBeDefined'](),expect(typeof _0x3ec5ad['useInput'])['toBe']('function');}),test('Layout component can still be imported after enhancements',async()=>{const _0x407672=a0_0x48bc,{Layout:_0x193824}=await import('../../components/Layout.js');expect(_0x193824)[_0x407672(0x104)](),expect(typeof _0x193824)[_0x407672(0xfe)]('function');});}),describe(a0_0x2459ba(0x102),()=>{const _0x5bee02=a0_0x2459ba;test(_0x5bee02(0x109),async()=>{const module=await import('../../components/InputBox.js');expect(module['InputBox'])['toBeDefined']();});});function a0_0x48bc(_0x49612c,_0x5ab315){_0x49612c=_0x49612c-0xfc;const _0xf9524d=a0_0xf952();let _0x48bc01=_0xf9524d[_0x49612c];if(a0_0x48bc['zuXyEu']===undefined){var _0x19569e=function(_0x3ce4b5){const _0x311d67='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x681ae7='',_0xe90eb5='';for(let _0x30cdc0=0x0,_0xbb7057,_0x7df4d9,_0x394884=0x0;_0x7df4d9=_0x3ce4b5['charAt'](_0x394884++);~_0x7df4d9&&(_0xbb7057=_0x30cdc0%0x4?_0xbb7057*0x40+_0x7df4d9:_0x7df4d9,_0x30cdc0++%0x4)?_0x681ae7+=String['fromCharCode'](0xff&_0xbb7057>>(-0x2*_0x30cdc0&0x6)):0x0){_0x7df4d9=_0x311d67['indexOf'](_0x7df4d9);}for(let _0x532fa5=0x0,_0x341ffc=_0x681ae7['length'];_0x532fa5<_0x341ffc;_0x532fa5++){_0xe90eb5+='%'+('00'+_0x681ae7['charCodeAt'](_0x532fa5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe90eb5);};a0_0x48bc['fsGzMX']=_0x19569e,a0_0x48bc['jFWwMJ']={},a0_0x48bc['zuXyEu']=!![];}const _0x447e2b=_0xf9524d[0x0],_0x457012=_0x49612c+_0x447e2b,_0x3b725c=a0_0x48bc['jFWwMJ'][_0x457012];return!_0x3b725c?(_0x48bc01=a0_0x48bc['fsGzMX'](_0x48bc01),a0_0x48bc['jFWwMJ'][_0x457012]=_0x48bc01):_0x48bc01=_0x3b725c,_0x48bc01;}function a0_0xf952(){const _0x299959=['mtKWmJy2suDYDxLx','ugHHC2uGosaTievUAgfUy2vKiezLyxr1CMvZic0Gq29UC3rHBNrZ','z2v0rgvYAxzLzfn0yxrLrNjVBuvYCM9Y','Dg9czurLzMLUzwq','DxnLu3rHDgu','Aw5R','mtC4otq4mM9mCe5tqW','rw5Oyw5JzwqGsw5WDxrcB3GGBwfPBNrHAw5ZigjHy2T3yxjKignVBxbHDgLIAwXPDhK','sw5WDxrcB3GGzgvMAw5LCYbnqvHFseLtve9swsbJB25ZDgfUDa','zgvMyxvSDa','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','ChjVDg90ExbL','zNvUy3rPB24','rxjYB3jcB3vUzgfYEsbPCYbHifjLywn0ienVBxbVBMvUDcbJBgfZCW','sw5SAw5Lu3bPBM5LCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','DxnLuMvM','sw5WDxrcB3G','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','nJy0meDMELnqqG','ugHHC2uGosaTieLUDgvNCMf0Aw9U','ndHlrhrtrNq','CMvUzgvY','rxjYB3jcB3vUzgfYEq','rxjYB3jcB3vUzgfYEsbPCYbHignSyxnZignVBxbVBMvUDa','otiYnZKYDenqzvzr','mJy3nZiYvgLyuNfM','rxjYB3jcB3vUzgfYEsbOyxmGz2v0rgvYAxzLzfn0yxrLrNjVBuvYCM9Yihn0yxrPyYbTzxrOB2q','Dg9czvvUzgvMAw5Lza','lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','ugHHC2uGosaTievUAgfUy2vKienVBxbVBMvUDhmGlsbjBxbVCNrZ','mte4nZyZmenVEMngsa','ywXS','mtm0mtCXELD5z0rT','y29TCg9Uzw50rgLKq2f0y2G','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','Dg9czq','ugHHC2uGosaTieXVywrPBMDtCgLUBMvYic0Gu3rYDwn0DxjL','CMvHy3q'];a0_0xf952=function(){return _0x299959;};return a0_0xf952();}
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)]();});});