@loxia-labs/loxia-autopilot-one 1.0.14 → 1.0.16
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.
- package/README.md +2 -2
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-DFmFvOoy.css +1 -0
- package/web-ui/build/static/index-DOk0l6Kf.js +348 -0
- package/web-ui/build/static/index-DXN850Y2.js +0 -400
- package/web-ui/build/static/index-an-YRzUX.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x425c9f=a0_0x1f66;(function(_0xa65b60,_0x25902f){const _0x517b34=a0_0x1f66,_0x2dc76f=_0xa65b60();while(!![]){try{const _0x4ddd4a=-parseInt(_0x517b34(0x9b))/0x1*(-parseInt(_0x517b34(0x90))/0x2)+-parseInt(_0x517b34(0x8c))/0x3*(parseInt(_0x517b34(0x8f))/0x4)+-parseInt(_0x517b34(0x9d))/0x5+-parseInt(_0x517b34(0xbb))/0x6*(-parseInt(_0x517b34(0x93))/0x7)+-parseInt(_0x517b34(0x9e))/0x8*(parseInt(_0x517b34(0xb5))/0x9)+-parseInt(_0x517b34(0xb3))/0xa+parseInt(_0x517b34(0x9c))/0xb;if(_0x4ddd4a===_0x25902f)break;else _0x2dc76f['push'](_0x2dc76f['shift']());}catch(_0xe1c7d7){_0x2dc76f['push'](_0x2dc76f['shift']());}}}(a0_0x6c8b,0xc3849));import{describe,test,expect}from'@jest/globals';function a0_0x1f66(_0x22e47f,_0x3bfcc7){_0x22e47f=_0x22e47f-0x7c;const _0x6c8ba0=a0_0x6c8b();let _0x1f6644=_0x6c8ba0[_0x22e47f];if(a0_0x1f66['WBhSZS']===undefined){var _0x5a2cd2=function(_0x86cc1){const _0x3d00ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x455680='',_0x6ae1fc='';for(let _0x54fe69=0x0,_0x500882,_0x48a16c,_0x966d2d=0x0;_0x48a16c=_0x86cc1['charAt'](_0x966d2d++);~_0x48a16c&&(_0x500882=_0x54fe69%0x4?_0x500882*0x40+_0x48a16c:_0x48a16c,_0x54fe69++%0x4)?_0x455680+=String['fromCharCode'](0xff&_0x500882>>(-0x2*_0x54fe69&0x6)):0x0){_0x48a16c=_0x3d00ad['indexOf'](_0x48a16c);}for(let _0x1bda16=0x0,_0x4573ef=_0x455680['length'];_0x1bda16<_0x4573ef;_0x1bda16++){_0x6ae1fc+='%'+('00'+_0x455680['charCodeAt'](_0x1bda16)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6ae1fc);};a0_0x1f66['vZUham']=_0x5a2cd2,a0_0x1f66['ijKSin']={},a0_0x1f66['WBhSZS']=!![];}const _0x300f5d=_0x6c8ba0[0x0],_0x5a06b5=_0x22e47f+_0x300f5d,_0x5ec753=a0_0x1f66['ijKSin'][_0x5a06b5];return!_0x5ec753?(_0x1f6644=a0_0x1f66['vZUham'](_0x1f6644),a0_0x1f66['ijKSin'][_0x5a06b5]=_0x1f6644):_0x1f6644=_0x5ec753,_0x1f6644;}describe(a0_0x425c9f(0x88),()=>{test('useAgentControl hook can be imported',async()=>{const _0x87ea83=a0_0x1f66,{useAgentControl:_0x455680}=await import(_0x87ea83(0x82));expect(_0x455680)[_0x87ea83(0x86)](),expect(typeof _0x455680)['toBe']('function');}),test('useAgentControl is default export',async()=>{const _0x4cac88=a0_0x1f66,module=await import('../../state/useAgentControl.js');expect(module['default'])[_0x4cac88(0x86)](),expect(typeof module['default'])[_0x4cac88(0xaf)](_0x4cac88(0x9a)),expect(module[_0x4cac88(0x98)])['toBe'](module[_0x4cac88(0x8d)]);});}),describe(a0_0x425c9f(0xba),()=>{const _0x5e28cc=a0_0x425c9f;test(_0x5e28cc(0xb8),async()=>{const _0x11f624=_0x5e28cc,{AGENT_MODE:_0x6ae1fc}=await import(_0x11f624(0xa2));expect(_0x6ae1fc)['toBeDefined'](),expect(_0x6ae1fc[_0x11f624(0xb7)])['toBe'](_0x11f624(0xb7)),expect(_0x6ae1fc[_0x11f624(0x96)])['toBe'](_0x11f624(0x96));}),test(_0x5e28cc(0xb2),async()=>{const _0x5c01f3=_0x5e28cc,{MODEL_CATEGORY:_0x54fe69}=await import('../../config/constants.js');expect(_0x54fe69)['toBeDefined'](),expect(_0x54fe69[_0x5c01f3(0xa9)])[_0x5c01f3(0xaf)]('anthropic'),expect(_0x54fe69['OPENAI'])['toBe']('openai'),expect(_0x54fe69[_0x5c01f3(0xb9)])['toBe'](_0x5c01f3(0x81)),expect(_0x54fe69['MICROSOFT'])['toBe'](_0x5c01f3(0x85));}),test('Mode\x20and\x20model\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x2f0299=_0x5e28cc,{API_ENDPOINTS:_0x500882}=await import('../../config/constants.js');expect(_0x500882['AGENTS_MODE_SET'])['toBe']('/api/agents/:agentId/mode'),expect(_0x500882[_0x2f0299(0x7d)])[_0x2f0299(0xaf)](_0x2f0299(0x8b)),expect(_0x500882[_0x2f0299(0xab)])[_0x2f0299(0xaf)]('/api/llm/models');}),test(_0x5e28cc(0x84),async()=>{const _0xa29d1c=_0x5e28cc,{WS_MESSAGE_TYPE:_0x48a16c}=await import(_0xa29d1c(0xa2));expect(_0x48a16c)['toBeDefined'](),expect(_0x48a16c[_0xa29d1c(0x80)])[_0xa29d1c(0xaf)](_0xa29d1c(0xb6));});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{test('useAgentControl\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x36a9db=a0_0x1f66,{useAgentControl:_0x966d2d}=await import('../../state/useAgentControl.js'),{SessionManager:_0x1bda16}=await import('../../api/session.js'),{MessageRouter:_0x4573ef}=await import(_0x36a9db(0xa5)),{WebSocketManager:_0x5d4b89}=await import('../../api/websocket.js'),_0x59b693=new _0x1bda16('localhost',0x1f90),_0x1afb68=new _0x5d4b89('localhost',0x1f90),_0x9963cb=new _0x4573ef(_0x1afb68);expect(_0x59b693)['toBeDefined'](),expect(_0x9963cb)[_0x36a9db(0x86)](),expect(typeof _0x966d2d)['toBe']('function');}),test('Full agent control stack can be imported together',async()=>{const _0x8184ea=a0_0x1f66,[_0x1234f3,_0x5a042b,_0x383af0,_0x184a8e,_0x374a84]=await Promise['all']([import(_0x8184ea(0xa2)),import('../../api/session.js'),import('../../api/websocket.js'),import('../../api/messageRouter.js'),import(_0x8184ea(0x82))]);expect(_0x1234f3[_0x8184ea(0x83)])['toBeDefined'](),expect(_0x1234f3['MODEL_CATEGORY'])['toBeDefined'](),expect(_0x1234f3['API_ENDPOINTS'])['toBeDefined'](),expect(_0x5a042b[_0x8184ea(0xae)])['toBeDefined'](),expect(_0x383af0['WebSocketManager'])['toBeDefined'](),expect(_0x184a8e['MessageRouter'])[_0x8184ea(0x86)](),expect(_0x374a84['useAgentControl'])[_0x8184ea(0x86)]();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x554b71=a0_0x425c9f;test(_0x554b71(0x8a),async()=>{const _0x9e7628=_0x554b71,{API_ENDPOINTS:_0x409e2f}=await import(_0x9e7628(0xa2));expect(_0x409e2f['AGENTS_MODE_SET'])[_0x9e7628(0x8e)](/^\/api\/agents/),expect(_0x409e2f['AGENTS_MODE_GET'])[_0x9e7628(0x8e)](/^\/api\/agents/),expect(_0x409e2f[_0x9e7628(0x7f)])[_0x9e7628(0x99)](_0x9e7628(0xa4)),expect(_0x409e2f[_0x9e7628(0x7d)])[_0x9e7628(0x99)](':agentId');}),test(_0x554b71(0xb4),async()=>{const _0x891945=_0x554b71,{API_ENDPOINTS:_0x134a06}=await import(_0x891945(0xa2));expect(_0x134a06[_0x891945(0xab)])['toBeDefined'](),expect(_0x134a06[_0x891945(0xab)])['toBe']('/api/llm/models');}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x3252b5=_0x554b71,{API_ENDPOINTS:_0x48147b}=await import('../../config/constants.js');expect(_0x48147b[_0x3252b5(0xa7)])[_0x3252b5(0x86)](),expect(_0x48147b[_0x3252b5(0xa7)])[_0x3252b5(0xaf)]('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x4c5891=a0_0x425c9f;test(_0x4c5891(0xad),async()=>{const _0x3051a9=_0x4c5891,{useAgentControl:_0x5aa825}=await import(_0x3051a9(0x82));expect(_0x5aa825[_0x3051a9(0xa8)])[_0x3051a9(0xaf)](0x3);});}),describe(a0_0x425c9f(0xac),()=>{const _0x3437c3=a0_0x425c9f;test(_0x3437c3(0x97),async()=>{const _0x4e102c=_0x3437c3,{AGENT_MODE:_0x8aaa4a}=await import(_0x4e102c(0xa2)),_0x856f53=Object[_0x4e102c(0x91)](_0x8aaa4a);expect(_0x856f53['length'])['toBe'](0x2),expect(_0x856f53)['toContain']('CHAT'),expect(_0x856f53)['toContain']('AGENT');}),test(_0x3437c3(0xb0),async()=>{const _0x3fa782=_0x3437c3,{AGENT_MODE:_0x13801c}=await import('../../config/constants.js');expect(_0x13801c['CHAT'])[_0x3fa782(0xaf)]('CHAT'),expect(_0x13801c['AGENT'])['toBe']('AGENT'),expect(_0x13801c[_0x3fa782(0xb7)])['toBe'](_0x13801c['CHAT'][_0x3fa782(0x92)]()),expect(_0x13801c[_0x3fa782(0x96)])[_0x3fa782(0xaf)](_0x13801c['AGENT'][_0x3fa782(0x92)]());}),test(_0x3437c3(0xaa),async()=>{const _0x4627dc=_0x3437c3,{MODEL_CATEGORY:_0x3b187c}=await import(_0x4627dc(0xa2));expect(_0x3b187c['ANTHROPIC'])[_0x4627dc(0xaf)]('anthropic'),expect(_0x3b187c['OPENAI'])['toBe'](_0x4627dc(0x89)),expect(_0x3b187c[_0x4627dc(0xb9)])['toBe'](_0x4627dc(0x81)),expect(_0x3b187c['MICROSOFT'])['toBe']('microsoft'),expect(_0x3b187c[_0x4627dc(0xa9)])['toBe'](_0x3b187c[_0x4627dc(0xa9)]['toLowerCase']()),expect(_0x3b187c[_0x4627dc(0x95)])['toBe'](_0x3b187c[_0x4627dc(0x95)][_0x4627dc(0xa3)]());}),test(_0x3437c3(0xa1),async()=>{const _0x24af07=_0x3437c3,{MODEL_CATEGORY:_0x3c86f4}=await import(_0x24af07(0xa2)),_0x5559d1=Object[_0x24af07(0x91)](_0x3c86f4);expect(_0x5559d1)['toContain'](_0x24af07(0xa9)),expect(_0x5559d1)[_0x24af07(0x99)]('OPENAI'),expect(_0x5559d1)[_0x24af07(0x99)](_0x24af07(0xb9)),expect(_0x5559d1)[_0x24af07(0x99)](_0x24af07(0xa6));});}),describe('Agent\x20Control\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{const _0x262f72=a0_0x425c9f;test(_0x262f72(0x94),async()=>{const _0x5c5df7=_0x262f72,{MessageRouter:_0x466fc4}=await import(_0x5c5df7(0xa5)),{WebSocketManager:_0x7b2fa7}=await import(_0x5c5df7(0x87)),{WS_MESSAGE_TYPE:_0x59aa14}=await import('../../config/constants.js'),_0x7ba42a=new _0x7b2fa7('localhost',0x1f90),_0x306b2c=new _0x466fc4(_0x7ba42a);expect(_0x306b2c[_0x5c5df7(0xb1)](_0x59aa14['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{test('AGENT_MODE\x20supports\x20toggling\x20between\x20modes',async()=>{const _0x4f5f91=a0_0x1f66,{AGENT_MODE:_0x51f6ad}=await import(_0x4f5f91(0xa2));let _0x2fcce2=_0x51f6ad[_0x4f5f91(0xb7)],_0x4c877b=_0x2fcce2===_0x51f6ad['CHAT']?_0x51f6ad[_0x4f5f91(0x96)]:_0x51f6ad[_0x4f5f91(0xb7)];expect(_0x4c877b)['toBe'](_0x51f6ad[_0x4f5f91(0x96)]),_0x2fcce2=_0x51f6ad['AGENT'],_0x4c877b=_0x2fcce2===_0x51f6ad[_0x4f5f91(0xb7)]?_0x51f6ad['AGENT']:_0x51f6ad[_0x4f5f91(0xb7)],expect(_0x4c877b)['toBe'](_0x51f6ad['CHAT']);});}),describe('Agent\x20Control\x20Management\x20-\x20Model\x20Filtering',()=>{const _0x22da36=a0_0x425c9f;test(_0x22da36(0x7c),async()=>{const _0x210007=_0x22da36,{MODEL_CATEGORY:_0x15c390}=await import(_0x210007(0xa2)),_0x100d64=[{'id':'claude-3-5-sonnet','category':_0x15c390['ANTHROPIC']},{'id':'gpt-4','category':_0x15c390['OPENAI']},{'id':_0x210007(0xa0),'category':_0x15c390[_0x210007(0xb9)]}],_0x3c0dc2=_0x100d64[_0x210007(0x9f)](_0x5302b4=>_0x5302b4[_0x210007(0x7e)]===_0x15c390['ANTHROPIC']),_0x176fe2=_0x100d64['filter'](_0x33eb49=>_0x33eb49['category']===_0x15c390[_0x210007(0x95)]);expect(_0x3c0dc2['length'])[_0x210007(0xaf)](0x1),expect(_0x3c0dc2[0x0]['id'])[_0x210007(0xaf)]('claude-3-5-sonnet'),expect(_0x176fe2[_0x210007(0xa8)])['toBe'](0x1),expect(_0x176fe2[0x0]['id'])[_0x210007(0xaf)]('gpt-4');});});function a0_0x6c8b(){const _0x5c66b4=['quDftLrFtu9ersbOyxmGzxHHy3rSEsb0D28GBw9Kzxm','zgvMyxvSDa','Dg9dB250ywLU','zNvUy3rPB24','nJCZnZGXBKjcrNPj','mtyXntiXodb4zgnTu1G','otiXnty1v0zUwvbf','oty4tevJD2nx','zMLSDgvY','zgvLChnLzwSTy2HHDa','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Dg9mB3DLCKnHC2u','oMfNzw50swq','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','tuLduK9tt0zu','t1jdsevtvfjbve9s','BgvUz3rO','qu5usfjpueLd','tu9eruXFq0furuDpuLKGDMfSDwvZigfYzsbSB3DLCMnHC2u','teXnx01prevmuW','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZifzHBgLKyxrPB24','DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','u2vZC2LVBK1HBMfNzxi','Dg9czq','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','AgfZsgfUzgXLCG','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','mtqZndu4odbLwujNzva','teXnig1VzgvSCYbLBMrWB2LUDcbLEgLZDhm','mteZmZfbuunevLO','ywDLBNrFBw9Kzv9JAgfUz2vK','q0Hbva','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq','revfufnfruS','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','nZuYndu0nMz5rvjNuq','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','quDftLrtx01prevFr0vu','y2f0zwDVCNK','quDftLrtx01prevFu0vu','quDftLrFtu9erv9dsefor0ve','zgvLChnLzwS','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','quDftLrFtu9erq','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1VzguGyw5Kig1VzgvSignOyw5NzsbLDMvUDhm','BwLJCM9ZB2z0','Dg9czurLzMLUzwq','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','B3bLBMfP','qwDLBNqGBw9KzsbLBMrWB2LUDhmGzM9SBg93ifjfu1rMDwWGCgf0DgvYBG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','nda1mZnPBejbqva','DxnLqwDLBNrdB250CM9S','Dg9nyxrJAa','mJq0B3z4C3LO','mNzdAxPtta','A2v5CW','Dg9vChbLCKnHC2u','n1fsrfPtAa','twvZC2fNzvjVDxrLCIbOyxmGBw9KzsbJAgfUz2uGzxzLBNqGAgfUzgXLCIbYzwDPC3rLCMvK','t1bftKfj','quDftLq'];a0_0x6c8b=function(){return _0x5c66b4;};return a0_0x6c8b();}
|
|
1
|
+
function a0_0x4089(_0x40aaa0,_0x311748){_0x40aaa0=_0x40aaa0-0xc7;const _0x578072=a0_0x5780();let _0x4089f7=_0x578072[_0x40aaa0];if(a0_0x4089['JPqbNx']===undefined){var _0x1432f7=function(_0x5bc693){const _0x5684e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x53d4d0='',_0x3e7685='';for(let _0x32adbb=0x0,_0x1e6bdd,_0x5464a9,_0xbd123b=0x0;_0x5464a9=_0x5bc693['charAt'](_0xbd123b++);~_0x5464a9&&(_0x1e6bdd=_0x32adbb%0x4?_0x1e6bdd*0x40+_0x5464a9:_0x5464a9,_0x32adbb++%0x4)?_0x53d4d0+=String['fromCharCode'](0xff&_0x1e6bdd>>(-0x2*_0x32adbb&0x6)):0x0){_0x5464a9=_0x5684e7['indexOf'](_0x5464a9);}for(let _0x4ef3dd=0x0,_0x52a58e=_0x53d4d0['length'];_0x4ef3dd<_0x52a58e;_0x4ef3dd++){_0x3e7685+='%'+('00'+_0x53d4d0['charCodeAt'](_0x4ef3dd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e7685);};a0_0x4089['BOTzUh']=_0x1432f7,a0_0x4089['XLJSJT']={},a0_0x4089['JPqbNx']=!![];}const _0x49bb0f=_0x578072[0x0],_0x4434c1=_0x40aaa0+_0x49bb0f,_0x493384=a0_0x4089['XLJSJT'][_0x4434c1];return!_0x493384?(_0x4089f7=a0_0x4089['BOTzUh'](_0x4089f7),a0_0x4089['XLJSJT'][_0x4434c1]=_0x4089f7):_0x4089f7=_0x493384,_0x4089f7;}const a0_0x6a5994=a0_0x4089;(function(_0x29eacb,_0x166d9f){const _0x24d048=a0_0x4089,_0x928048=_0x29eacb();while(!![]){try{const _0x668b34=parseInt(_0x24d048(0xc9))/0x1*(-parseInt(_0x24d048(0xd8))/0x2)+parseInt(_0x24d048(0xe0))/0x3+parseInt(_0x24d048(0xfa))/0x4+parseInt(_0x24d048(0xcb))/0x5+parseInt(_0x24d048(0xd4))/0x6+-parseInt(_0x24d048(0xfd))/0x7+-parseInt(_0x24d048(0xf7))/0x8*(parseInt(_0x24d048(0xe5))/0x9);if(_0x668b34===_0x166d9f)break;else _0x928048['push'](_0x928048['shift']());}catch(_0x158c30){_0x928048['push'](_0x928048['shift']());}}}(a0_0x5780,0x4c848));import{describe,test,expect}from'@jest/globals';function a0_0x5780(){const _0x1b5385=['Bg9JywXOB3n0','nZC0otqYBfrAueHk','t1jdsevtvfjbve9s','y2XHDwrLltmTns1ZB25Uzxq','Dg9czurLzMLUzwq','ndy5mtHpExHjDLC','yw50AhjVCgLJ','teXnig1VzgvSCYbLBMrWB2LUDcbLEgLZDhm','twvZC2fNzvjVDxrLCG','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Dg9czq','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1VzguGyw5Kig1VzgvSignOyw5NzsbLDMvUDhm','AgfZsgfUzgXLCG','mte2nZyWmhzOBxfWAq','Dg9mB3DLCKnHC2u','z3b0ltq','zNvUy3rPB24','zMLSDgvY','oujjyuXZsa','l2fWAs9SBg0VBw9KzwXZ','Dg9dB250ywLU','DxnLqwDLBNrdB250CM9S','tw9KzsbHBMqGBw9KzwWGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','revfufnfruS','quDftLrFtu9erv9dsefor0ve','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','Dg9nyxrJAa','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','ywXS','quDftLrtx01prevFr0vu','v2vIu29JA2v0twfUywDLCG','y2f0zwDVCNK','qu5usfjpueLd','tuLduK9tt0zu','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','teXnx01prevmuW','mtu3ntq2neLMserIwa','BgvUz3rO','u2vZC2LVBK1HBMfNzxi','mtuZntyWoeDZt3nrCW','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','nJuWotiZDNPQvKDR','q0Hbva','t1bftKfj','tu9eruXFq0furuDpuLK','DxnLqwDLBNrdB250CM9SihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','mtDJuND2DMC','lI4VlI4VyxbPl3nLC3nPB24UANm','ndK5ndeWweneEhnM','A2v5CW','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','zgvMyxvSDa','zgvLChnLzwSTy2HHDa','Dg9vChbLCKnHC2u','quDftLq','quDftLrtx01prevFu0vu'];a0_0x5780=function(){return _0x1b5385;};return a0_0x5780();}describe('Agent\x20Control\x20Management\x20-\x20Imports',()=>{test('useAgentControl hook can be imported',async()=>{const _0xc01b70=a0_0x4089,{useAgentControl:_0x53d4d0}=await import('../../state/useAgentControl.js');expect(_0x53d4d0)[_0xc01b70(0xd7)](),expect(typeof _0x53d4d0)['toBe']('function');}),test('useAgentControl is default export',async()=>{const _0x175d93=a0_0x4089,module=await import('../../state/useAgentControl.js');expect(module[_0x175d93(0xce)])[_0x175d93(0xd7)](),expect(typeof module[_0x175d93(0xce)])['toBe']('function'),expect(module[_0x175d93(0xce)])[_0x175d93(0xdd)](module[_0x175d93(0xe8)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants',()=>{const _0x6a571c=a0_0x4089;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x1caa02=a0_0x4089,{AGENT_MODE:_0x3e7685}=await import('../../config/constants.js');expect(_0x3e7685)['toBeDefined'](),expect(_0x3e7685['CHAT'])[_0x1caa02(0xdd)](_0x1caa02(0xfe)),expect(_0x3e7685['AGENT'])['toBe'](_0x1caa02(0xd1));}),test('MODEL_CATEGORY\x20constants\x20are\x20defined',async()=>{const _0x2844af=a0_0x4089,{MODEL_CATEGORY:_0x32adbb}=await import('../../config/constants.js');expect(_0x32adbb)[_0x2844af(0xd7)](),expect(_0x32adbb[_0x2844af(0xf3)])[_0x2844af(0xdd)](_0x2844af(0xd9)),expect(_0x32adbb['OPENAI'])[_0x2844af(0xdd)]('openai'),expect(_0x32adbb[_0x2844af(0xea)])[_0x2844af(0xdd)]('deepseek'),expect(_0x32adbb['MICROSOFT'])[_0x2844af(0xdd)]('microsoft');}),test(_0x6a571c(0xe9),async()=>{const _0x4a6f7a=_0x6a571c,{API_ENDPOINTS:_0x1e6bdd}=await import(_0x4a6f7a(0xdc));expect(_0x1e6bdd[_0x4a6f7a(0xd2)])['toBe'](_0x4a6f7a(0xc8)),expect(_0x1e6bdd[_0x4a6f7a(0xf0)])['toBe']('/api/agents/:agentId/mode'),expect(_0x1e6bdd['LLM_MODELS'])[_0x4a6f7a(0xdd)](_0x4a6f7a(0xe6));}),test(_0x6a571c(0xde),async()=>{const _0x110fea=_0x6a571c,{WS_MESSAGE_TYPE:_0x5464a9}=await import(_0x110fea(0xdc));expect(_0x5464a9)[_0x110fea(0xd7)](),expect(_0x5464a9[_0x110fea(0xeb)])['toBe']('agent_mode_changed');});}),describe(a0_0x6a5994(0xfc),()=>{test('useAgentControl\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x36fb11=a0_0x4089,{useAgentControl:_0xbd123b}=await import('../../state/useAgentControl.js'),{SessionManager:_0x4ef3dd}=await import(_0x36fb11(0xca)),{MessageRouter:_0x52a58e}=await import(_0x36fb11(0xf5)),{WebSocketManager:_0x16c335}=await import('../../api/websocket.js'),_0x20ebeb=new _0x4ef3dd(_0x36fb11(0xd3),0x1f90),_0x36d9bf=new _0x16c335('localhost',0x1f90),_0x38922a=new _0x52a58e(_0x36d9bf);expect(_0x20ebeb)[_0x36fb11(0xd7)](),expect(_0x38922a)[_0x36fb11(0xd7)](),expect(typeof _0xbd123b)['toBe'](_0x36fb11(0xe3));}),test('Full agent control stack can be imported together',async()=>{const _0x387a3e=a0_0x4089,[_0x4f1c3a,_0x2d2222,_0x2d1559,_0x3ef0fd,_0x592f8e]=await Promise[_0x387a3e(0xef)]([import(_0x387a3e(0xdc)),import('../../api/session.js'),import(_0x387a3e(0xfb)),import('../../api/messageRouter.js'),import('../../state/useAgentControl.js')]);expect(_0x4f1c3a['AGENT_MODE'])[_0x387a3e(0xd7)](),expect(_0x4f1c3a[_0x387a3e(0x100)])['toBeDefined'](),expect(_0x4f1c3a['API_ENDPOINTS'])['toBeDefined'](),expect(_0x2d2222[_0x387a3e(0xf9)])['toBeDefined'](),expect(_0x2d1559[_0x387a3e(0xf1)])['toBeDefined'](),expect(_0x3ef0fd[_0x387a3e(0xdb)])[_0x387a3e(0xd7)](),expect(_0x592f8e[_0x387a3e(0xe8)])['toBeDefined']();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x1cbdc9=a0_0x6a5994;test('Agent\x20mode\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x28eb96=a0_0x4089,{API_ENDPOINTS:_0x17af56}=await import('../../config/constants.js');expect(_0x17af56[_0x28eb96(0xd2)])[_0x28eb96(0xed)](/^\/api\/agents/),expect(_0x17af56['AGENTS_MODE_GET'])[_0x28eb96(0xed)](/^\/api\/agents/),expect(_0x17af56['AGENTS_MODE_SET'])[_0x28eb96(0xe7)](':agentId'),expect(_0x17af56['AGENTS_MODE_GET'])['toContain'](':agentId');}),test(_0x1cbdc9(0xda),async()=>{const _0x415ecc=_0x1cbdc9,{API_ENDPOINTS:_0x52f854}=await import('../../config/constants.js');expect(_0x52f854[_0x415ecc(0xf6)])['toBeDefined'](),expect(_0x52f854['LLM_MODELS'])['toBe'](_0x415ecc(0xe6));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x44956f=_0x1cbdc9,{API_ENDPOINTS:_0x366fb7}=await import(_0x44956f(0xdc));expect(_0x366fb7[_0x44956f(0xd5)])['toBeDefined'](),expect(_0x366fb7['ORCHESTRATOR'])[_0x44956f(0xdd)]('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x40556b=a0_0x6a5994;test(_0x40556b(0x101),async()=>{const _0x1a3333=_0x40556b,{useAgentControl:_0x549f93}=await import(_0x1a3333(0xcd));expect(_0x549f93[_0x1a3333(0xf8)])[_0x1a3333(0xdd)](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x2e434a=a0_0x6a5994;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x3217c8=a0_0x4089,{AGENT_MODE:_0x3be093}=await import(_0x3217c8(0xdc)),_0x253900=Object[_0x3217c8(0xcc)](_0x3be093);expect(_0x253900['length'])[_0x3217c8(0xdd)](0x2),expect(_0x253900)[_0x3217c8(0xe7)](_0x3217c8(0xfe)),expect(_0x253900)[_0x3217c8(0xe7)]('AGENT');}),test(_0x2e434a(0xc7),async()=>{const _0x59b535=_0x2e434a,{AGENT_MODE:_0x49b8b4}=await import('../../config/constants.js');expect(_0x49b8b4['CHAT'])[_0x59b535(0xdd)](_0x59b535(0xfe)),expect(_0x49b8b4[_0x59b535(0xd1)])[_0x59b535(0xdd)](_0x59b535(0xd1)),expect(_0x49b8b4[_0x59b535(0xfe)])['toBe'](_0x49b8b4['CHAT'][_0x59b535(0xd0)]()),expect(_0x49b8b4[_0x59b535(0xd1)])['toBe'](_0x49b8b4[_0x59b535(0xd1)]['toUpperCase']());}),test('MODEL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x1909ef=_0x2e434a,{MODEL_CATEGORY:_0x503724}=await import(_0x1909ef(0xdc));expect(_0x503724['ANTHROPIC'])[_0x1909ef(0xdd)](_0x1909ef(0xd9)),expect(_0x503724[_0x1909ef(0xff)])[_0x1909ef(0xdd)]('openai'),expect(_0x503724[_0x1909ef(0xea)])['toBe']('deepseek'),expect(_0x503724['MICROSOFT'])['toBe']('microsoft'),expect(_0x503724[_0x1909ef(0xf3)])['toBe'](_0x503724['ANTHROPIC'][_0x1909ef(0xe1)]()),expect(_0x503724['OPENAI'])['toBe'](_0x503724[_0x1909ef(0xff)]['toLowerCase']());}),test(_0x2e434a(0xec),async()=>{const _0x7f9707=_0x2e434a,{MODEL_CATEGORY:_0x37f604}=await import('../../config/constants.js'),_0x184833=Object[_0x7f9707(0xcc)](_0x37f604);expect(_0x184833)['toContain'](_0x7f9707(0xf3)),expect(_0x184833)[_0x7f9707(0xe7)]('OPENAI'),expect(_0x184833)['toContain']('DEEPSEEK'),expect(_0x184833)['toContain'](_0x7f9707(0xf4));});}),describe('Agent\x20Control\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{test('MessageRouter\x20has\x20mode\x20change\x20event\x20handler\x20registered',async()=>{const _0x29d426=a0_0x4089,{MessageRouter:_0x194f7e}=await import(_0x29d426(0xf5)),{WebSocketManager:_0x28cbb9}=await import(_0x29d426(0xfb)),{WS_MESSAGE_TYPE:_0xa21db4}=await import(_0x29d426(0xdc)),_0x58b90c=new _0x28cbb9(_0x29d426(0xd3),0x1f90),_0x28232e=new _0x194f7e(_0x58b90c);expect(_0x28232e[_0x29d426(0xdf)](_0xa21db4['AGENT_MODE_CHANGED']))[_0x29d426(0xdd)](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{test('AGENT_MODE\x20supports\x20toggling\x20between\x20modes',async()=>{const _0x85a4f8=a0_0x4089,{AGENT_MODE:_0x55eb57}=await import(_0x85a4f8(0xdc));let _0x41db60=_0x55eb57[_0x85a4f8(0xfe)],_0xf931cb=_0x41db60===_0x55eb57[_0x85a4f8(0xfe)]?_0x55eb57[_0x85a4f8(0xd1)]:_0x55eb57[_0x85a4f8(0xfe)];expect(_0xf931cb)[_0x85a4f8(0xdd)](_0x55eb57['AGENT']),_0x41db60=_0x55eb57[_0x85a4f8(0xd1)],_0xf931cb=_0x41db60===_0x55eb57[_0x85a4f8(0xfe)]?_0x55eb57[_0x85a4f8(0xd1)]:_0x55eb57['CHAT'],expect(_0xf931cb)[_0x85a4f8(0xdd)](_0x55eb57[_0x85a4f8(0xfe)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Model\x20Filtering',()=>{const _0x220455=a0_0x6a5994;test(_0x220455(0xee),async()=>{const _0x1d087c=_0x220455,{MODEL_CATEGORY:_0x408b0a}=await import(_0x1d087c(0xdc)),_0x249d88=[{'id':'claude-3-5-sonnet','category':_0x408b0a['ANTHROPIC']},{'id':_0x1d087c(0xe2),'category':_0x408b0a[_0x1d087c(0xff)]},{'id':_0x1d087c(0xcf),'category':_0x408b0a[_0x1d087c(0xea)]}],_0x2a5bf2=_0x249d88[_0x1d087c(0xe4)](_0x310edf=>_0x310edf[_0x1d087c(0xf2)]===_0x408b0a[_0x1d087c(0xf3)]),_0x6dd587=_0x249d88[_0x1d087c(0xe4)](_0x999efe=>_0x999efe[_0x1d087c(0xf2)]===_0x408b0a['OPENAI']);expect(_0x2a5bf2[_0x1d087c(0xf8)])[_0x1d087c(0xdd)](0x1),expect(_0x2a5bf2[0x0]['id'])['toBe'](_0x1d087c(0xd6)),expect(_0x6dd587[_0x1d087c(0xf8)])[_0x1d087c(0xdd)](0x1),expect(_0x6dd587[0x0]['id'])['toBe'](_0x1d087c(0xe2));});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x88543e=a0_0x182c;(function(_0x48dde4,_0x59840f){const _0x2ea6ab=a0_0x182c,_0x3e5f52=_0x48dde4();while(!![]){try{const _0x13a99f=parseInt(_0x2ea6ab(0x104))/0x1*(parseInt(_0x2ea6ab(0x114))/0x2)+-parseInt(_0x2ea6ab(0xe9))/0x3+parseInt(_0x2ea6ab(0xfa))/0x4*(parseInt(_0x2ea6ab(0xf8))/0x5)+parseInt(_0x2ea6ab(0x100))/0x6+parseInt(_0x2ea6ab(0xf4))/0x7*(-parseInt(_0x2ea6ab(0xf9))/0x8)+parseInt(_0x2ea6ab(0x118))/0x9+-parseInt(_0x2ea6ab(0xf5))/0xa;if(_0x13a99f===_0x59840f)break;else _0x3e5f52['push'](_0x3e5f52['shift']());}catch(_0x59ef8c){_0x3e5f52['push'](_0x3e5f52['shift']());}}}(a0_0x33a5,0x3b196));function a0_0x182c(_0x5ac363,_0x1a5c25){_0x5ac363=_0x5ac363-0xe8;const _0x33a556=a0_0x33a5();let _0x182cd4=_0x33a556[_0x5ac363];if(a0_0x182c['cuugrc']===undefined){var _0x218daa=function(_0x248160){const _0x4f1432='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f9029='',_0x22162c='';for(let _0x478790=0x0,_0x35bffe,_0x2ae883,_0x4ff7ba=0x0;_0x2ae883=_0x248160['charAt'](_0x4ff7ba++);~_0x2ae883&&(_0x35bffe=_0x478790%0x4?_0x35bffe*0x40+_0x2ae883:_0x2ae883,_0x478790++%0x4)?_0x1f9029+=String['fromCharCode'](0xff&_0x35bffe>>(-0x2*_0x478790&0x6)):0x0){_0x2ae883=_0x4f1432['indexOf'](_0x2ae883);}for(let _0x2d6c7d=0x0,_0x42e3fd=_0x1f9029['length'];_0x2d6c7d<_0x42e3fd;_0x2d6c7d++){_0x22162c+='%'+('00'+_0x1f9029['charCodeAt'](_0x2d6c7d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22162c);};a0_0x182c['fkqCaG']=_0x218daa,a0_0x182c['jVpPcn']={},a0_0x182c['cuugrc']=!![];}const _0xdcfb9e=_0x33a556[0x0],_0x500ead=_0x5ac363+_0xdcfb9e,_0x2a9fb8=a0_0x182c['jVpPcn'][_0x500ead];return!_0x2a9fb8?(_0x182cd4=a0_0x182c['fkqCaG'](_0x182cd4),a0_0x182c['jVpPcn'][_0x500ead]=_0x182cd4):_0x182cd4=_0x2a9fb8,_0x182cd4;}import{describe,test,expect}from'@jest/globals';function a0_0x33a5(){const _0x548f79=['u1Ltvevnx0fetuLosvnuuKfut1i','q1vtve9n','Dg9dB250ywLU','qwDLBNqGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','otmXnty2yNHbDuzT','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','y3jLyxrPDMuTD3jPDgvY','lI4VlI4VyxbPl3nLC3nPB24UANm','ody0n1Hbq0Dzzq','Dg9czurLzMLUzwq','zgvMyxvSDa','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','quDftLrFvevnueXbvevtignVBNn0yw50CYbHCMuGzgvMAw5Lza','t1jdsevtvfjbve9s','v2vIu29JA2v0twfUywDLCG','quDftLrtx0fwquLmqujmrq','Dg9nyxrJAa','quDftLrtx01fvefeqvrb','C3LZDgvTlwfKBwLUAxn0CMf0B3i','uefvu0ve','yxjJAgL2zwq','Dg9czq','qwDLBNqGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','quDftLrtx1nut1a','mNPIC2D0vW','qunusvzf','quDftLrFu1rbvfvtignVBNn0yw50CYbHCMuGzgvMAw5Lza','quDftLrtx01prevFr0vu','mZyYmde0mKPhBM5vzG','q1jfqvrjvKvFv1jjvevs','q0Hbva','zNvUy3rPB24','ndeXnZu5vM9brhLt','q09esu5hx0ftu0Ltvefova','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','ywXS','y3vZDg9T','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','oMfNzw50swq','quDftLrtx01prevFu0vu','qvjdseLwruq','mZG1uKPxzvf0','nde0mdq5meXxDhfWyW','DxnLqwDLBNrZ','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','nvzXuwvJsq','mJy3nZzMr21xAfO','mty0nti0nejzr1LHza','Cgf1C2vK'];a0_0x33a5=function(){return _0x548f79;};return a0_0x33a5();}describe('Agent\x20Management\x20-\x20Imports',()=>{test('useAgents hook can be imported',async()=>{const _0x135bc3=a0_0x182c,{useAgents:_0x1f9029}=await import('../../state/useAgents.js');expect(_0x1f9029)['toBeDefined'](),expect(typeof _0x1f9029)['toBe'](_0x135bc3(0xe8));}),test('useAgents is default export',async()=>{const _0x2deac1=a0_0x182c,module=await import('../../state/useAgents.js');expect(module[_0x2deac1(0x106)])[_0x2deac1(0x105)](),expect(typeof module['default'])['toBe'](_0x2deac1(0xe8)),expect(module[_0x2deac1(0x106)])['toBe'](module[_0x2deac1(0xf6)]);});}),describe('Agent\x20Management\x20-\x20Constants',()=>{const _0x570548=a0_0x182c;test(_0x570548(0xef),async()=>{const _0x2c4a81=_0x570548,{AGENT_MODE:_0x22162c}=await import(_0x2c4a81(0xf7));expect(_0x22162c)['toBeDefined'](),expect(_0x22162c[_0x2c4a81(0x11a)])['toBe']('CHAT'),expect(_0x22162c['AGENT'])['toBe']('AGENT');}),test(_0x570548(0x116),async()=>{const _0x4fceca=_0x570548,{AGENT_STATUS:_0x478790}=await import(_0x4fceca(0xf7));expect(_0x478790)[_0x4fceca(0x105)](),expect(_0x478790[_0x4fceca(0x115)])['toBe']('active'),expect(_0x478790[_0x4fceca(0x10f)])[_0x4fceca(0x111)](_0x4fceca(0xfb)),expect(_0x478790['IDLE'])['toBe']('idle'),expect(_0x478790['ERROR'])[_0x4fceca(0x111)]('error'),expect(_0x478790[_0x4fceca(0xf3)])[_0x4fceca(0x111)](_0x4fceca(0x110));}),test('Agent\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x2097e4=_0x570548,{API_ENDPOINTS:_0x35bffe}=await import(_0x2097e4(0xf7));expect(_0x35bffe[_0x2097e4(0x10b)])[_0x2097e4(0x111)]('/api/agents/available'),expect(_0x35bffe[_0x2097e4(0x10d)])[_0x2097e4(0x111)](_0x2097e4(0x101)),expect(_0x35bffe['AGENTS_IMPORT'])['toBe']('/api/agents/import'),expect(_0x35bffe['AGENTS_MODE_SET'])['toBe'](_0x2097e4(0xec)),expect(_0x35bffe['AGENTS_MODE_GET'])[_0x2097e4(0x111)]('/api/agents/:agentId/mode'),expect(_0x35bffe['AGENTS_STOP'])[_0x2097e4(0x111)](_0x2097e4(0xeb));}),test(_0x570548(0x108),async()=>{const _0x3d8e05=_0x570548,{AGENT_TEMPLATES:_0x2ae883}=await import(_0x3d8e05(0xf7));expect(_0x2ae883)['toBeDefined'](),expect(_0x2ae883[_0x3d8e05(0xea)])['toBe']('coding-assistant'),expect(_0x2ae883['DATA_ANALYST'])[_0x3d8e05(0x111)]('data-analyst'),expect(_0x2ae883[_0x3d8e05(0x119)])[_0x3d8e05(0x111)](_0x3d8e05(0x102)),expect(_0x2ae883[_0x3d8e05(0xfc)])[_0x3d8e05(0x111)](_0x3d8e05(0x10e)),expect(_0x2ae883[_0x3d8e05(0xfd)])['toBe'](_0x3d8e05(0xee));});}),describe(a0_0x88543e(0xff),()=>{test('useAgents\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x5dfc3e=a0_0x182c,{useAgents:_0x4ff7ba}=await import('../../state/useAgents.js'),{SessionManager:_0x2d6c7d}=await import(_0x5dfc3e(0x103)),{MessageRouter:_0x42e3fd}=await import(_0x5dfc3e(0xf0)),{WebSocketManager:_0x202fc1}=await import('../../api/websocket.js'),_0x65a1d=new _0x2d6c7d('localhost',0x1f90),_0x1b72cf=new _0x202fc1('localhost',0x1f90),_0x1f0db0=new _0x42e3fd(_0x1b72cf);expect(_0x65a1d)[_0x5dfc3e(0x105)](),expect(_0x1f0db0)['toBeDefined'](),expect(typeof _0x4ff7ba)['toBe']('function');}),test('Full agent management stack can be imported together',async()=>{const _0x488f52=a0_0x182c,[_0x115558,_0x18e73e,_0x3ee422,_0xd57c4a,_0xfed19a]=await Promise[_0x488f52(0xed)]([import('../../config/constants.js'),import(_0x488f52(0x103)),import('../../api/websocket.js'),import(_0x488f52(0xf0)),import(_0x488f52(0x107))]);expect(_0x115558['AGENT_MODE'])[_0x488f52(0x105)](),expect(_0x18e73e['SessionManager'])['toBeDefined'](),expect(_0x3ee422[_0x488f52(0x10a)])['toBeDefined'](),expect(_0xd57c4a['MessageRouter'])[_0x488f52(0x105)](),expect(_0xfed19a['useAgents'])[_0x488f52(0x105)]();});}),describe(a0_0x88543e(0x112),()=>{test('All\x20agent\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x393749=a0_0x182c,{API_ENDPOINTS:_0x5dc886}=await import('../../config/constants.js');expect(_0x5dc886['AGENTS_AVAILABLE'])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886[_0x393749(0x10d)])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886['AGENTS_IMPORT'])['toMatch'](/^\/api\/agents/),expect(_0x5dc886[_0x393749(0xf2)])['toMatch'](/^\/api\/agents/),expect(_0x5dc886['AGENTS_MODE_GET'])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886[_0x393749(0x113)])[_0x393749(0x10c)](/^\/api\/agents/),expect(_0x5dc886['AGENTS_METADATA'])[_0x393749(0xfe)](_0x393749(0xf1)),expect(_0x5dc886[_0x393749(0xf2)])['toContain'](':agentId'),expect(_0x5dc886[_0x393749(0x117)])['toContain'](':agentId'),expect(_0x5dc886[_0x393749(0x113)])[_0x393749(0xfe)](_0x393749(0xf1));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20agent\x20operations',async()=>{const _0x160661=a0_0x182c,{API_ENDPOINTS:_0x3c0244}=await import('../../config/constants.js');expect(_0x3c0244[_0x160661(0x109)])['toBeDefined'](),expect(_0x3c0244[_0x160661(0x109)])['toBe']('/api/orchestrator');});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
function a0_0x3659(){const _0x1aacd5=['mZa3odz0zw1hs0S','mtiWnte4uw1bwvPX','mJDoqMHiDhK','sw5WDxrcB3G','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','mtqYodG1nZb3BgThy3e','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','CMvHy3q','Dg9czurLzMLUzwq','oti3ota4nwXUBLHwsq','twvZC2fNzuXPC3q','zgvMyxvSDa','ywXS','sgvHzgvY','odu3mZK5ne91A0vXEG','n3HlCe1qsa','tgf5B3v0','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','nZqZode2ofjHD2v1za','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBNrLz3jHDgLVBG','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','zNvUy3rPB24','ntC4otu4DKv2rNzL','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','nteYAujqsNrH','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbszwfJDc9jBMSGrgvWzw5Kzw5JAwvZ','Dg9czq'];a0_0x3659=function(){return _0x1aacd5;};return a0_0x3659();}const a0_0x386f18=a0_0x9674;(function(_0x8b088d,_0x325ae7){const _0x44befe=a0_0x9674,_0x3de63c=_0x8b088d();while(!![]){try{const _0x3e8ae0=-parseInt(_0x44befe(0x1aa))/0x1*(parseInt(_0x44befe(0x1a9))/0x2)+parseInt(_0x44befe(0x1a8))/0x3*(parseInt(_0x44befe(0x1a5))/0x4)+parseInt(_0x44befe(0x194))/0x5+-parseInt(_0x44befe(0x1a3))/0x6+-parseInt(_0x44befe(0x19a))/0x7*(parseInt(_0x44befe(0x19d))/0x8)+-parseInt(_0x44befe(0x199))/0x9+parseInt(_0x44befe(0x1ad))/0xa;if(_0x3e8ae0===_0x325ae7)break;else _0x3de63c['push'](_0x3de63c['shift']());}catch(_0x268d81){_0x3de63c['push'](_0x3de63c['shift']());}}}(a0_0x3659,0xf241f));import{describe,test,expect}from'@jest/globals';function a0_0x9674(_0x1df9fb,_0x32d49b){_0x1df9fb=_0x1df9fb-0x194;const _0x3659b3=a0_0x3659();let _0x967408=_0x3659b3[_0x1df9fb];if(a0_0x9674['qchCdY']===undefined){var _0x22f962=function(_0x2bd8a7){const _0x2a15a5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x209f6f='',_0x3a2a68='';for(let _0x3d6463=0x0,_0x2c1c60,_0x121642,_0x5d4008=0x0;_0x121642=_0x2bd8a7['charAt'](_0x5d4008++);~_0x121642&&(_0x2c1c60=_0x3d6463%0x4?_0x2c1c60*0x40+_0x121642:_0x121642,_0x3d6463++%0x4)?_0x209f6f+=String['fromCharCode'](0xff&_0x2c1c60>>(-0x2*_0x3d6463&0x6)):0x0){_0x121642=_0x2a15a5['indexOf'](_0x121642);}for(let _0x4df296=0x0,_0x4c6879=_0x209f6f['length'];_0x4df296<_0x4c6879;_0x4df296++){_0x3a2a68+='%'+('00'+_0x209f6f['charCodeAt'](_0x4df296)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3a2a68);};a0_0x9674['sjmOAO']=_0x22f962,a0_0x9674['bdCqji']={},a0_0x9674['qchCdY']=!![];}const _0x505893=_0x3659b3[0x0],_0x24876e=_0x1df9fb+_0x505893,_0xbcd21e=a0_0x9674['bdCqji'][_0x24876e];return!_0xbcd21e?(_0x967408=a0_0x9674['sjmOAO'](_0x967408),a0_0x9674['bdCqji'][_0x24876e]=_0x967408):_0x967408=_0xbcd21e,_0x967408;}describe('Component\x20Management\x20-\x20Imports',()=>{test('Layout component can be imported',async()=>{const {Layout:_0x209f6f}=await import('../../components/Layout.js');expect(_0x209f6f)['toBeDefined'](),expect(typeof _0x209f6f)['toBe']('function');}),test('Layout is default export',async()=>{const _0x1eed52=a0_0x9674,module=await import(_0x1eed52(0x1a0));expect(module[_0x1eed52(0x196)])[_0x1eed52(0x1b0)](),expect(typeof module[_0x1eed52(0x196)])['toBe']('function'),expect(module[_0x1eed52(0x196)])['toBe'](module['Layout']);}),test('Header component can be imported',async()=>{const _0x381e1f=a0_0x9674,{Header:_0x3a2a68}=await import('../../components/Header.js');expect(_0x3a2a68)[_0x381e1f(0x1b0)](),expect(typeof _0x3a2a68)[_0x381e1f(0x1a7)]('function');}),test('Header is default export',async()=>{const _0x574865=a0_0x9674,module=await import(_0x574865(0x1ae));expect(module['default'])[_0x574865(0x1b0)](),expect(module[_0x574865(0x196)])[_0x574865(0x1a7)](module[_0x574865(0x198)]);}),test('StatusBar component can be imported',async()=>{const _0x40a2fe=a0_0x9674,{StatusBar:_0x3d6463}=await import('../../components/StatusBar.js');expect(_0x3d6463)[_0x40a2fe(0x1b0)](),expect(typeof _0x3d6463)[_0x40a2fe(0x1a7)]('function');}),test('StatusBar is default export',async()=>{const _0xfc6f6c=a0_0x9674,module=await import('../../components/StatusBar.js');expect(module[_0xfc6f6c(0x196)])[_0xfc6f6c(0x1b0)](),expect(module[_0xfc6f6c(0x196)])[_0xfc6f6c(0x1a7)](module['StatusBar']);}),test('MessageList component can be imported',async()=>{const _0x2abd22=a0_0x9674,{MessageList:_0x2c1c60}=await import(_0x2abd22(0x19e));expect(_0x2c1c60)[_0x2abd22(0x1b0)](),expect(typeof _0x2c1c60)['toBe'](_0x2abd22(0x1a2));}),test('MessageList is default export',async()=>{const _0x37d396=a0_0x9674,module=await import(_0x37d396(0x19e));expect(module[_0x37d396(0x196)])[_0x37d396(0x1b0)](),expect(module[_0x37d396(0x196)])[_0x37d396(0x1a7)](module[_0x37d396(0x195)]);}),test('InputBox component can be imported',async()=>{const _0x2074dd=a0_0x9674,{InputBox:_0x121642}=await import('../../components/InputBox.js');expect(_0x121642)[_0x2074dd(0x1b0)](),expect(typeof _0x121642)['toBe']('function');}),test('InputBox is default export',async()=>{const _0x29585e=a0_0x9674,module=await import(_0x29585e(0x19c));expect(module['default'])['toBeDefined'](),expect(module[_0x29585e(0x196)])[_0x29585e(0x1a7)](module[_0x29585e(0x1ab)]);});}),describe(a0_0x386f18(0x19f),()=>{test('All components can be imported together',async()=>{const _0x5dd4ca=a0_0x9674,[_0x5d4008,_0x4df296,_0x4c6879,_0x54de5d,_0xd7cb33]=await Promise[_0x5dd4ca(0x197)]([import('../../components/Layout.js'),import('../../components/Header.js'),import(_0x5dd4ca(0x1a4)),import(_0x5dd4ca(0x19e)),import(_0x5dd4ca(0x19c))]);expect(_0x5d4008[_0x5dd4ca(0x19b)])[_0x5dd4ca(0x1b0)](),expect(_0x4df296[_0x5dd4ca(0x198)])[_0x5dd4ca(0x1b0)](),expect(_0x4c6879['StatusBar'])['toBeDefined'](),expect(_0x54de5d[_0x5dd4ca(0x195)])[_0x5dd4ca(0x1b0)](),expect(_0xd7cb33[_0x5dd4ca(0x1ab)])[_0x5dd4ca(0x1b0)]();}),test('Layout\x20component\x20integrates\x20with\x20all\x20state\x20hooks',async()=>{const _0x1e85d6=a0_0x9674,{Layout:_0x502b22}=await import('../../components/Layout.js'),{useConnection:_0x4b6aba}=await import('../../state/useConnection.js'),{useAgents:_0x38b514}=await import(_0x1e85d6(0x1a1)),{useMessages:_0x5f54bb}=await import('../../state/useMessages.js'),{useAgentControl:_0x5d5928}=await import(_0x1e85d6(0x1ac)),{useTools:_0x49e962}=await import('../../state/useTools.js');expect(_0x502b22)['toBeDefined'](),expect(_0x4b6aba)[_0x1e85d6(0x1b0)](),expect(_0x38b514)[_0x1e85d6(0x1b0)](),expect(_0x5f54bb)[_0x1e85d6(0x1b0)](),expect(_0x5d5928)['toBeDefined'](),expect(_0x49e962)[_0x1e85d6(0x1b0)]();});}),describe(a0_0x386f18(0x1a6),()=>{test('Ink components can be imported',async()=>{const _0x26d688=a0_0x9674,{Box:_0x175302,Text:_0x5936e6}=await import('ink');expect(_0x175302)[_0x26d688(0x1b0)](),expect(_0x5936e6)['toBeDefined']();}),test('React can be imported',async()=>{const _0x2673d5=a0_0x9674,_0x3304c7=await import(_0x2673d5(0x1af));expect(_0x3304c7['default'])['toBeDefined'](),expect(_0x3304c7['useState'])[_0x2673d5(0x1b0)](),expect(_0x3304c7['useEffect'])['toBeDefined']();});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3efa8c=a0_0x45f0;function a0_0x45f0(_0x2b2ca5,_0x41b05c){_0x2b2ca5=_0x2b2ca5-0xd8;const _0x328c91=a0_0x328c();let _0x45f078=_0x328c91[_0x2b2ca5];if(a0_0x45f0['VodgVo']===undefined){var _0x41526c=function(_0x15c3ad){const _0x4e5abc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x30a671='',_0x3f41fd='';for(let _0x381e32=0x0,_0x283185,_0x3d7981,_0x20bafd=0x0;_0x3d7981=_0x15c3ad['charAt'](_0x20bafd++);~_0x3d7981&&(_0x283185=_0x381e32%0x4?_0x283185*0x40+_0x3d7981:_0x3d7981,_0x381e32++%0x4)?_0x30a671+=String['fromCharCode'](0xff&_0x283185>>(-0x2*_0x381e32&0x6)):0x0){_0x3d7981=_0x4e5abc['indexOf'](_0x3d7981);}for(let _0x303636=0x0,_0x7cffd3=_0x30a671['length'];_0x303636<_0x7cffd3;_0x303636++){_0x3f41fd+='%'+('00'+_0x30a671['charCodeAt'](_0x303636)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f41fd);};a0_0x45f0['AKDXRE']=_0x41526c,a0_0x45f0['jxJbPX']={},a0_0x45f0['VodgVo']=!![];}const _0x1eaee1=_0x328c91[0x0],_0x333f53=_0x2b2ca5+_0x1eaee1,_0x22bc0c=a0_0x45f0['jxJbPX'][_0x333f53];return!_0x22bc0c?(_0x45f078=a0_0x45f0['AKDXRE'](_0x45f078),a0_0x45f0['jxJbPX'][_0x333f53]=_0x45f078):_0x45f078=_0x22bc0c,_0x45f078;}function a0_0x328c(){const _0xcea700=['uKvdt05orunusu5h','q29UBMvJDgLVBIb1ChrPBwuGy2fUigjLihrYywnRzwq','su5jveLbtf9eruXbwq','BM93','v2vIu29JA2v0twfUywDLCIbOyxmGzxzLBNqGzw1PDhrLCIbTzxrOB2rZ','mte3ovP3DuPOEq','Dg9czq','mtm1mLPnBwvoEq','uKvdt05orunux0nptKzjrYbJB25ZDgfUDhmGyxjLigrLzMLUzwq','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','DgvZDc1ZzxnZAw9UlteYmW','AxndB25Uzwn0zwq','B2zM','qKfds09grL9nvuXusvbmsuvs','odeYmtbHyMvfquK','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','q09otKvdveLorW','mta2ntrZCgzkvhK','ntm3mte4zfjPvenb','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','ndqWwLPWvfHc','tufyx0rftefz','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','uMvJB25Uzwn0Aw9UihnOB3vSzcbZDg9WigfMDgvYig1HEcbHDhrLBxb0CW','mtaZmtK0nhDdvwLODW','DxnLq29UBMvJDgLVBIbYzxr1CM5Zigv4CgvJDgvKigLUDgvYzMfJzsbZAgfWzq','Dg9czurLzMLUzwq','reLtq09otKvdveve','u2vZC2LVBIbZDgf0zsbZAg91BgqGDhjHy2SGDMfSAwrPDhK','u2vZC2LVBK1HBMfNzxi','y29UBMvJDgvK','q09otKvdveve','nJKZodG1vKT6D09S','Dg9dB250ywLU','tufyx0fuvevnufrt','BgvUz3rO','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','C3rYAw5N','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbjBMzV','C2vZC2LVBKLK','Bg9JywXOB3n0','uKvdt05orunux0nptKzjrW','zgvMyxvSDa','zNvUy3rPB24','BwLU','zgLZy29UBMvJDgvK','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','ndq5ote5wKDiDhvp','C3rHDhvZ','Dg9czuDYzwf0zxjuAgfU','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','odmZmNnkvgLAza','DxnLq29UBMvJDgLVBG'];a0_0x328c=function(){return _0xcea700;};return a0_0x328c();}(function(_0x2f2bb2,_0x27d07e){const _0x408cc7=a0_0x45f0,_0x1933e1=_0x2f2bb2();while(!![]){try{const _0x3c0fff=-parseInt(_0x408cc7(0xf7))/0x1+-parseInt(_0x408cc7(0xfd))/0x2+-parseInt(_0x408cc7(0xea))/0x3*(parseInt(_0x408cc7(0xe3))/0x4)+-parseInt(_0x408cc7(0x105))/0x5+parseInt(_0x408cc7(0xf3))/0x6+-parseInt(_0x408cc7(0xf6))/0x7*(-parseInt(_0x408cc7(0xec))/0x8)+-parseInt(_0x408cc7(0xdf))/0x9*(-parseInt(_0x408cc7(0xf9))/0xa);if(_0x3c0fff===_0x27d07e)break;else _0x1933e1['push'](_0x1933e1['shift']());}catch(_0x5189cd){_0x1933e1['push'](_0x1933e1['shift']());}}}(a0_0x328c,0x7045f));import{describe,test,expect}from'@jest/globals';describe('Connection\x20Management\x20-\x20Imports',()=>{test('useConnection hook can be imported',async()=>{const _0x356a59=a0_0x45f0,{useConnection:_0x30a671}=await import(_0x356a59(0xee));expect(_0x30a671)[_0x356a59(0xff)](),expect(typeof _0x30a671)[_0x356a59(0xeb)]('function');}),test('useConnection is default export',async()=>{const _0xfd18a=a0_0x45f0,module=await import('../../state/useConnection.js');expect(module['default'])[_0xfd18a(0xff)](),expect(typeof module[_0xfd18a(0xda)])[_0xfd18a(0xeb)](_0xfd18a(0xdb)),expect(module[_0xfd18a(0xda)])[_0xfd18a(0xeb)](module['useConnection']);});}),describe('Connection\x20Management\x20-\x20Constants',()=>{const _0x51cb23=a0_0x45f0;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x2445f7=a0_0x45f0,{CONNECTION_STATUS:_0x3f41fd}=await import('../../config/constants.js');expect(_0x3f41fd)[_0x2445f7(0xff)](),expect(_0x3f41fd['CONNECTING'])['toBe']('connecting'),expect(_0x3f41fd['CONNECTED'])[_0x2445f7(0xeb)]('connected'),expect(_0x3f41fd[_0x2445f7(0x100)])['toBe'](_0x2445f7(0xdd)),expect(_0x3f41fd['RECONNECTING'])[_0x2445f7(0xeb)]('reconnecting');}),test('CONNECTION_STATUS\x20is\x20alias\x20for\x20CONNECTION_STATE',async()=>{const _0x53d205=a0_0x45f0,{CONNECTION_STATUS:_0x381e32,CONNECTION_STATE:_0x283185}=await import(_0x53d205(0xf4));expect(_0x381e32)['toBe'](_0x283185);}),test(_0x51cb23(0xed),async()=>{const _0x5e3b2f=_0x51cb23,{RECONNECT_CONFIG:_0x3d7981}=await import(_0x5e3b2f(0xf4));expect(_0x3d7981)[_0x5e3b2f(0xff)](),expect(_0x3d7981[_0x5e3b2f(0xe7)])[_0x5e3b2f(0xff)](),expect(_0x3d7981[_0x5e3b2f(0xfa)])['toBeDefined'](),expect(_0x3d7981[_0x5e3b2f(0xf2)])['toBeDefined'](),expect(_0x3d7981['MAX_ATTEMPTS'])[_0x5e3b2f(0xff)]();}),test('RECONNECT_CONFIG\x20values\x20are\x20reasonable',async()=>{const _0x47c6cc=_0x51cb23,{RECONNECT_CONFIG:_0x20bafd}=await import(_0x47c6cc(0xf4));expect(_0x20bafd['INITIAL_DELAY'])['toBeGreaterThan'](0x0),expect(_0x20bafd[_0x47c6cc(0xfa)])['toBeGreaterThan'](_0x20bafd[_0x47c6cc(0xe7)]),expect(_0x20bafd['BACKOFF_MULTIPLIER'])['toBeGreaterThan'](0x1),expect(_0x20bafd['MAX_ATTEMPTS'])['toBeGreaterThan'](0x0);});}),describe(a0_0x3efa8c(0xe2),()=>{test('useConnection\x20hook\x20integrates\x20with\x20SessionManager\x20and\x20WebSocketManager',async()=>{const _0x3c2874=a0_0x45f0,{useConnection:_0x303636}=await import(_0x3c2874(0xee)),{SessionManager:_0x7cffd3}=await import('../../api/session.js'),{WebSocketManager:_0x133500}=await import(_0x3c2874(0xde)),_0x1568e8=new _0x7cffd3('localhost',0x1f90),_0x1e70ae=new _0x133500(_0x3c2874(0xd8),0x1f90);expect(_0x1568e8)['toBeDefined'](),expect(_0x1e70ae)[_0x3c2874(0xff)](),expect(typeof _0x303636)[_0x3c2874(0xeb)](_0x3c2874(0xdb));}),test('Full connection stack can be imported together',async()=>{const _0x826b20=a0_0x45f0,[_0x50aca5,_0x3fcdf7,_0x34db6b,_0x1be9de]=await Promise['all']([import('../../config/constants.js'),import('../../api/session.js'),import(_0x826b20(0xde)),import(_0x826b20(0xee))]);expect(_0x50aca5['CONNECTION_STATUS'])[_0x826b20(0xff)](),expect(_0x50aca5[_0x826b20(0xd9)])[_0x826b20(0xff)](),expect(_0x3fcdf7[_0x826b20(0x102)])[_0x826b20(0xff)](),expect(_0x34db6b['WebSocketManager'])['toBeDefined'](),expect(_0x1be9de[_0x826b20(0xe4)])['toBeDefined']();});}),describe('Connection\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x3a95ad=a0_0x3efa8c;test(_0x3a95ad(0xfe),async()=>{const _0x51635b=_0x3a95ad,{useConnection:_0x18511e}=await import(_0x51635b(0xee));expect(_0x18511e[_0x51635b(0x108)])[_0x51635b(0xeb)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0x17e854=a0_0x3efa8c;test(_0x17e854(0xfb),async()=>{const _0x17b8f9=_0x17e854,{CONNECTION_STATUS:_0x44c6e6}=await import(_0x17b8f9(0xf4));expect(typeof _0x44c6e6['CONNECTING'])['toBe'](_0x17b8f9(0x10a)),expect(typeof _0x44c6e6['CONNECTED'])['toBe'](_0x17b8f9(0x10a)),expect(typeof _0x44c6e6['DISCONNECTED'])[_0x17b8f9(0xeb)](_0x17b8f9(0x10a)),expect(typeof _0x44c6e6[_0x17b8f9(0xe5)])['toBe']('string'),expect(_0x44c6e6[_0x17b8f9(0xf5)])[_0x17b8f9(0xeb)](_0x44c6e6['CONNECTING']['toLowerCase']()),expect(_0x44c6e6['CONNECTED'])[_0x17b8f9(0xeb)](_0x44c6e6[_0x17b8f9(0x104)]['toLowerCase']());}),test('CONNECTION_STATUS\x20has\x20all\x20required\x20states',async()=>{const _0x2b0d72=_0x17e854,{CONNECTION_STATUS:_0x3f21c5}=await import(_0x2b0d72(0xf4)),_0x5bf0af=Object['keys'](_0x3f21c5);expect(_0x5bf0af)['toContain'](_0x2b0d72(0xf5)),expect(_0x5bf0af)[_0x2b0d72(0x106)](_0x2b0d72(0x104)),expect(_0x5bf0af)['toContain']('DISCONNECTED'),expect(_0x5bf0af)['toContain']('RECONNECTING');});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{test('Exponential\x20backoff\x20delay\x20calculation\x20works\x20correctly',async()=>{const _0x5d0a1e=a0_0x45f0,{RECONNECT_CONFIG:_0xc52e87}=await import(_0x5d0a1e(0xf4)),_0x3776e6=_0x5eea3a=>{const _0x7d01fa=_0x5d0a1e;return Math['min'](_0xc52e87[_0x7d01fa(0xe7)]*Math['pow'](_0xc52e87['BACKOFF_MULTIPLIER'],_0x5eea3a),_0xc52e87['MAX_DELAY']);},_0x4436ac=_0x3776e6(0x0),_0x528c3f=_0x3776e6(0x1),_0x28c003=_0x3776e6(0x2);expect(_0x4436ac)[_0x5d0a1e(0xeb)](_0xc52e87[_0x5d0a1e(0xe7)]),expect(_0x528c3f)['toBeGreaterThan'](_0x4436ac),expect(_0x28c003)[_0x5d0a1e(0xe1)](_0x528c3f);}),test('Exponential\x20backoff\x20respects\x20max\x20delay',async()=>{const _0x3cf3d8=a0_0x45f0,{RECONNECT_CONFIG:_0x184ab8}=await import('../../config/constants.js'),_0x47a61e=_0x45a9b0=>{const _0x19796e=a0_0x45f0;return Math[_0x19796e(0xdc)](_0x184ab8['INITIAL_DELAY']*Math['pow'](_0x184ab8['BACKOFF_MULTIPLIER'],_0x45a9b0),_0x184ab8['MAX_DELAY']);},_0x28ddb0=_0x47a61e(0x64);expect(_0x28ddb0)[_0x3cf3d8(0xeb)](_0x184ab8[_0x3cf3d8(0xfa)]),expect(_0x28ddb0)['toBeLessThanOrEqual'](_0x184ab8['MAX_DELAY']);});}),describe('Connection\x20Management\x20-\x20Session\x20State',()=>{const _0x5cf788=a0_0x3efa8c;test(_0x5cf788(0x101),async()=>{const _0x2c542f=_0x5cf788;let _0x56388c=null,_0x1b4a5c=![],_0x9d9bdf=null;_0x56388c=_0x2c542f(0xef),_0x1b4a5c=!![],_0x9d9bdf=Date[_0x2c542f(0xe8)]()+0x36ee80,expect(_0x56388c)['toBeDefined'](),expect(_0x1b4a5c)['toBe'](!![]),expect(_0x9d9bdf)[_0x2c542f(0xe1)](Date['now']());}),test(_0x5cf788(0x109),async()=>{let _0x45ab71='test-session-123',_0x28f649=!![];_0x45ab71=null,_0x28f649=![],expect(_0x45ab71)['toBeNull'](),expect(_0x28f649)['toBe'](![]);});}),describe('Connection\x20Management\x20-\x20Connection\x20Metrics',()=>{const _0x102c85=a0_0x3efa8c;test(_0x102c85(0xe6),async()=>{const _0x2125ba=_0x102c85,_0x5000f7=Date['now']();await new Promise(_0x1da186=>setTimeout(_0x1da186,0x64));const _0x2231ba=Date[_0x2125ba(0xe8)]()-_0x5000f7;expect(_0x2231ba)[_0x2125ba(0xe1)](0x0),expect(_0x2231ba)['toBeGreaterThanOrEqual'](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0xd35eee=_0x102c85,_0x270a05=Date[_0xd35eee(0xe8)]();await new Promise(_0x28e8e3=>setTimeout(_0x28e8e3,0x32));const _0x315cea=Date[_0xd35eee(0xe8)]();expect(_0x270a05)['toBeDefined'](),expect(_0x315cea)[_0xd35eee(0xff)](),expect(_0x315cea)[_0xd35eee(0xe1)](_0x270a05);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{const _0x1a08dd=_0x102c85;let _0x5b4abc=0x0;_0x5b4abc+=0x1,expect(_0x5b4abc)[_0x1a08dd(0xeb)](0x1),_0x5b4abc+=0x1,expect(_0x5b4abc)['toBe'](0x2),_0x5b4abc=0x0,expect(_0x5b4abc)[_0x1a08dd(0xeb)](0x0);});}),describe('Connection\x20Management\x20-\x20Connection\x20Status\x20Transitions',()=>{test('Connection\x20status\x20transitions\x20follow\x20valid\x20flow',async()=>{const _0x341b3b=a0_0x45f0,{CONNECTION_STATUS:_0x1ebf0b}=await import('../../config/constants.js');let _0xada2f7=_0x1ebf0b[_0x341b3b(0x100)];expect(_0xada2f7)['toBe'](_0x341b3b(0xdd)),_0xada2f7=_0x1ebf0b[_0x341b3b(0xf5)],expect(_0xada2f7)[_0x341b3b(0xeb)]('connecting'),_0xada2f7=_0x1ebf0b['CONNECTED'],expect(_0xada2f7)[_0x341b3b(0xeb)](_0x341b3b(0x103)),_0xada2f7=_0x1ebf0b['DISCONNECTED'],expect(_0xada2f7)['toBe'](_0x341b3b(0xdd)),_0xada2f7=_0x1ebf0b[_0x341b3b(0xe5)],expect(_0xada2f7)['toBe']('reconnecting'),_0xada2f7=_0x1ebf0b['CONNECTED'],expect(_0xada2f7)['toBe']('connected');});}),describe('Connection\x20Management\x20-\x20WebSocket\x20Event\x20Integration',()=>{const _0x37a198=a0_0x3efa8c;test(_0x37a198(0xe9),async()=>{const _0x18967e=_0x37a198,{WebSocketManager:_0x4ad4cf}=await import('../../api/websocket.js'),_0x54b2d3=new _0x4ad4cf('localhost',0x1f90);expect(_0x54b2d3['on'])[_0x18967e(0xff)](),expect(_0x54b2d3[_0x18967e(0xf1)])[_0x18967e(0xff)](),expect(typeof _0x54b2d3['on'])['toBe'](_0x18967e(0xdb)),expect(typeof _0x54b2d3[_0x18967e(0xf1)])[_0x18967e(0xeb)]('function');});}),describe('Connection\x20Management\x20-\x20Max\x20Attempts\x20Limit',()=>{const _0x593ac1=a0_0x3efa8c;test(_0x593ac1(0xfc),async()=>{const _0x269bac=_0x593ac1,{RECONNECT_CONFIG:_0x24d301}=await import(_0x269bac(0xf4));let _0x598f0b=0x0;for(let _0x5a046c=0x0;_0x5a046c<_0x24d301['MAX_ATTEMPTS']+0x5;_0x5a046c++){if(_0x598f0b<_0x24d301[_0x269bac(0x107)])_0x598f0b+=0x1;else break;}expect(_0x598f0b)['toBe'](_0x24d301['MAX_ATTEMPTS']),expect(_0x598f0b)['toBeLessThanOrEqual'](_0x24d301[_0x269bac(0x107)]);});}),describe(a0_0x3efa8c(0x10b),()=>{const _0x1c236b=a0_0x3efa8c;test(_0x1c236b(0xf8),async()=>{const _0x1ff924=_0x1c236b,{CONNECTION_STATUS:_0x13ab73}=await import(_0x1ff924(0xf4)),_0x2023c3={'status':_0x13ab73['CONNECTED'],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date[_0x1ff924(0xe8)]()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date[_0x1ff924(0xe8)]()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x2023c3[_0x1ff924(0xe0)])[_0x1ff924(0xff)](),expect(_0x2023c3[_0x1ff924(0xf0)])['toBe'](!![]),expect(_0x2023c3['isReconnecting'])[_0x1ff924(0xeb)](![]),expect(_0x2023c3[_0x1ff924(0x10c)])[_0x1ff924(0xff)](),expect(_0x2023c3['sessionValid'])[_0x1ff924(0xeb)](!![]),expect(_0x2023c3['uptime'])['toBeGreaterThan'](0x0);});});
|
|
1
|
+
function a0_0x340d(){const _0x19697c=['q09otKvdveve','q09otKvdveLorW','Dg9dB250ywLU','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','C2vZC2LVBLzHBgLK','v2vIu29JA2v0twfUywDLCG','tufyx0fuvevnufrt','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieLUDgvNCMf0Aw9U','Dg9czurLzMLUzwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','uKvdt05orunusu5h','zgLZy29UBMvJDgvK','Cg93','nZyWnJe1s3HKrfDM','Dxb0Aw1L','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','ou1bqMrVDa','Dg9mB3DLCKnHC2u','mJmYntuWzuPjrNnU','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','qKfds09grL9nvuXusvbmsuvs','mtm2nJi4s3bJzLPR','Dg9czq','mZi4mdiYmvvLyvbpwa','Dg9czuXLC3nuAgfUt3jfCxvHBa','q09otKvdveLptL9tvefuvvmGAxmGywXPyxmGzM9YienptK5fq1rjt05Fu1rbveu','DgvZDc1ZzxnZAw9UlteYmW','nZvnqwDZteq','y29UBMvJDgvK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbnzxrYAwnZ','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbjBMzV','nZq2nZuWD0vIzwzf','Dg9czuDYzwf0zxjuAgfU','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','y29UBMvJDgLUzW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zNvUy3rPB24','B2zM','tufyx0rftefz','mtiYotKYmez4tMDfzW','BM93','AxnszwnVBM5Ly3rPBMC','BwLU','AxndB25Uzwn0zwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gtwf4ief0DgvTChrZieXPBwL0','CMvJB25Uzwn0Aw5N','reLtq09otKvdveve','ndeYody2uwvWwLH1','Dg9czu51BgW','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','uKvdt05orunux0nptKzjrYb2ywX1zxmGyxjLihjLyxnVBMfIBgu','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','q09otKvdveLptL9tvefuvvm','nKjZvhPbrq','su5jveLbtf9eruXbwq','q09otKvdveLptL9tvefuvvmGAgfZigfSBcbYzxf1AxjLzcbZDgf0zxm','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','Bg9JywXOB3n0','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','DxnLq29UBMvJDgLVBIbOB29RigLUDgvNCMf0zxmGD2L0AcbtzxnZAw9UtwfUywDLCIbHBMqGv2vIu29JA2v0twfUywDLCG','rxHWB25LBNrPywWGyMfJA29MzIbYzxnWzwn0CYbTyxGGzgvSyxK','DxnLq29UBMvJDgLVBG'];a0_0x340d=function(){return _0x19697c;};return a0_0x340d();}function a0_0x2c64(_0x3bc9a4,_0xf5ae11){_0x3bc9a4=_0x3bc9a4-0x1cd;const _0x340d0d=a0_0x340d();let _0x2c6405=_0x340d0d[_0x3bc9a4];if(a0_0x2c64['FaCesm']===undefined){var _0x212d0d=function(_0x16cf1b){const _0x20ee32='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17d0c8='',_0x1907f5='';for(let _0x35d851=0x0,_0x572a94,_0xc53a63,_0x5d58f1=0x0;_0xc53a63=_0x16cf1b['charAt'](_0x5d58f1++);~_0xc53a63&&(_0x572a94=_0x35d851%0x4?_0x572a94*0x40+_0xc53a63:_0xc53a63,_0x35d851++%0x4)?_0x17d0c8+=String['fromCharCode'](0xff&_0x572a94>>(-0x2*_0x35d851&0x6)):0x0){_0xc53a63=_0x20ee32['indexOf'](_0xc53a63);}for(let _0x4c9ee3=0x0,_0x9b3463=_0x17d0c8['length'];_0x4c9ee3<_0x9b3463;_0x4c9ee3++){_0x1907f5+='%'+('00'+_0x17d0c8['charCodeAt'](_0x4c9ee3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1907f5);};a0_0x2c64['oahcGB']=_0x212d0d,a0_0x2c64['sedTmu']={},a0_0x2c64['FaCesm']=!![];}const _0x365057=_0x340d0d[0x0],_0x66ea11=_0x3bc9a4+_0x365057,_0x4182f5=a0_0x2c64['sedTmu'][_0x66ea11];return!_0x4182f5?(_0x2c6405=a0_0x2c64['oahcGB'](_0x2c6405),a0_0x2c64['sedTmu'][_0x66ea11]=_0x2c6405):_0x2c6405=_0x4182f5,_0x2c6405;}const a0_0x6522d9=a0_0x2c64;(function(_0xfa108b,_0x26fd9d){const _0x37c459=a0_0x2c64,_0x34489b=_0xfa108b();while(!![]){try{const _0x341287=parseInt(_0x37c459(0x203))/0x1+-parseInt(_0x37c459(0x1e6))/0x2+parseInt(_0x37c459(0x1d1))/0x3*(-parseInt(_0x37c459(0x20b))/0x4)+parseInt(_0x37c459(0x1d6))/0x5+parseInt(_0x37c459(0x1ec))/0x6*(parseInt(_0x37c459(0x1cd))/0x7)+parseInt(_0x37c459(0x1de))/0x8+parseInt(_0x37c459(0x206))/0x9*(-parseInt(_0x37c459(0x208))/0xa);if(_0x341287===_0x26fd9d)break;else _0x34489b['push'](_0x34489b['shift']());}catch(_0x26bcf5){_0x34489b['push'](_0x34489b['shift']());}}}(a0_0x340d,0x6d8b7));import{describe,test,expect}from'@jest/globals';describe(a0_0x6522d9(0x1fe),()=>{test('useConnection hook can be imported',async()=>{const _0x298541=a0_0x2c64,{useConnection:_0x17d0c8}=await import('../../state/useConnection.js');expect(_0x17d0c8)[_0x298541(0x1fd)](),expect(typeof _0x17d0c8)['toBe'](_0x298541(0x1db));}),test('useConnection is default export',async()=>{const _0x3b53c4=a0_0x2c64,module=await import('../../state/useConnection.js');expect(module['default'])['toBeDefined'](),expect(typeof module['default'])[_0x3b53c4(0x20c)](_0x3b53c4(0x1db)),expect(module['default'])['toBe'](module['useConnection']);});}),describe(a0_0x6522d9(0x205),()=>{const _0x44e801=a0_0x6522d9;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x2e5dcb=a0_0x2c64,{CONNECTION_STATUS:_0x1907f5}=await import('../../config/constants.js');expect(_0x1907f5)[_0x2e5dcb(0x1fd)](),expect(_0x1907f5['CONNECTING'])['toBe'](_0x2e5dcb(0x1d9)),expect(_0x1907f5[_0x2e5dcb(0x1f5)])['toBe']('connected'),expect(_0x1907f5[_0x2e5dcb(0x1e5)])['toBe'](_0x2e5dcb(0x201)),expect(_0x1907f5[_0x2e5dcb(0x200)])[_0x2e5dcb(0x20c)]('reconnecting');}),test(_0x44e801(0x1cf),async()=>{const _0x19e289=_0x44e801,{CONNECTION_STATUS:_0x35d851,CONNECTION_STATE:_0x572a94}=await import('../../config/constants.js');expect(_0x35d851)[_0x19e289(0x20c)](_0x572a94);}),test('RECONNECT_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x2627ec=_0x44e801,{RECONNECT_CONFIG:_0xc53a63}=await import(_0x2627ec(0x1da));expect(_0xc53a63)['toBeDefined'](),expect(_0xc53a63['INITIAL_DELAY'])['toBeDefined'](),expect(_0xc53a63[_0x2627ec(0x1dd)])['toBeDefined'](),expect(_0xc53a63[_0x2627ec(0x20a)])['toBeDefined'](),expect(_0xc53a63[_0x2627ec(0x1fb)])['toBeDefined']();}),test(_0x44e801(0x1e9),async()=>{const _0x42d92a=_0x44e801,{RECONNECT_CONFIG:_0x5d58f1}=await import(_0x42d92a(0x1da));expect(_0x5d58f1['INITIAL_DELAY'])[_0x42d92a(0x1d7)](0x0),expect(_0x5d58f1['MAX_DELAY'])['toBeGreaterThan'](_0x5d58f1['INITIAL_DELAY']),expect(_0x5d58f1[_0x42d92a(0x20a)])[_0x42d92a(0x1d7)](0x1),expect(_0x5d58f1['MAX_ATTEMPTS'])['toBeGreaterThan'](0x0);});}),describe(a0_0x6522d9(0x1d8),()=>{const _0x1b0f6d=a0_0x6522d9;test(_0x1b0f6d(0x1f2),async()=>{const _0x4e38fd=_0x1b0f6d,{useConnection:_0x4c9ee3}=await import('../../state/useConnection.js'),{SessionManager:_0x9b3463}=await import('../../api/session.js'),{WebSocketManager:_0x61dd3a}=await import(_0x4e38fd(0x1ff)),_0x56b721=new _0x9b3463('localhost',0x1f90),_0x31a38d=new _0x61dd3a(_0x4e38fd(0x1f0),0x1f90);expect(_0x56b721)['toBeDefined'](),expect(_0x31a38d)[_0x4e38fd(0x1fd)](),expect(typeof _0x4c9ee3)['toBe'](_0x4e38fd(0x1db));}),test('Full connection stack can be imported together',async()=>{const _0x394c5c=_0x1b0f6d,[_0x479688,_0x3a380e,_0xd68ded,_0x525c04]=await Promise['all']([import(_0x394c5c(0x1da)),import('../../api/session.js'),import(_0x394c5c(0x1ff)),import(_0x394c5c(0x1e8))]);expect(_0x479688[_0x394c5c(0x1eb)])[_0x394c5c(0x1fd)](),expect(_0x479688['RECONNECT_CONFIG'])['toBeDefined'](),expect(_0x3a380e['SessionManager'])['toBeDefined'](),expect(_0xd68ded[_0x394c5c(0x1fa)])['toBeDefined'](),expect(_0x525c04[_0x394c5c(0x1f4)])['toBeDefined']();});}),describe(a0_0x6522d9(0x1f1),()=>{test('useConnection\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x377feb=a0_0x2c64,{useConnection:_0x13c09b}=await import(_0x377feb(0x1e8));expect(_0x13c09b['length'])[_0x377feb(0x20c)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0x4a9935=a0_0x6522d9;test(_0x4a9935(0x1ea),async()=>{const _0x2349de=_0x4a9935,{CONNECTION_STATUS:_0x383465}=await import('../../config/constants.js');expect(typeof _0x383465[_0x2349de(0x1f6)])[_0x2349de(0x20c)]('string'),expect(typeof _0x383465['CONNECTED'])['toBe']('string'),expect(typeof _0x383465['DISCONNECTED'])['toBe']('string'),expect(typeof _0x383465['RECONNECTING'])['toBe']('string'),expect(_0x383465['CONNECTING'])[_0x2349de(0x20c)](_0x383465['CONNECTING']['toLowerCase']()),expect(_0x383465[_0x2349de(0x1f5)])['toBe'](_0x383465['CONNECTED'][_0x2349de(0x207)]());}),test(_0x4a9935(0x1ee),async()=>{const _0x33d0fc=_0x4a9935,{CONNECTION_STATUS:_0x486749}=await import(_0x33d0fc(0x1da)),_0x28bf36=Object['keys'](_0x486749);expect(_0x28bf36)['toContain']('CONNECTING'),expect(_0x28bf36)['toContain']('CONNECTED'),expect(_0x28bf36)[_0x33d0fc(0x1f7)](_0x33d0fc(0x1e5)),expect(_0x28bf36)[_0x33d0fc(0x1f7)](_0x33d0fc(0x200));});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{const _0x4b89fe=a0_0x6522d9;test('Exponential\x20backoff\x20delay\x20calculation\x20works\x20correctly',async()=>{const _0x434369=a0_0x2c64,{RECONNECT_CONFIG:_0x62d15}=await import('../../config/constants.js'),_0x524bd7=_0x132622=>{const _0x2c9805=a0_0x2c64;return Math[_0x2c9805(0x1e1)](_0x62d15[_0x2c9805(0x1ed)]*Math[_0x2c9805(0x202)](_0x62d15[_0x2c9805(0x20a)],_0x132622),_0x62d15[_0x2c9805(0x1dd)]);},_0xdbee5c=_0x524bd7(0x0),_0x510ede=_0x524bd7(0x1),_0x58fc8d=_0x524bd7(0x2);expect(_0xdbee5c)[_0x434369(0x20c)](_0x62d15[_0x434369(0x1ed)]),expect(_0x510ede)['toBeGreaterThan'](_0xdbee5c),expect(_0x58fc8d)[_0x434369(0x1d7)](_0x510ede);}),test(_0x4b89fe(0x1f3),async()=>{const _0x370d72=_0x4b89fe,{RECONNECT_CONFIG:_0x3e1688}=await import(_0x370d72(0x1da)),_0x3ab039=_0x401d9d=>{const _0x1fe640=_0x370d72;return Math[_0x1fe640(0x1e1)](_0x3e1688[_0x1fe640(0x1ed)]*Math[_0x1fe640(0x202)](_0x3e1688['BACKOFF_MULTIPLIER'],_0x401d9d),_0x3e1688[_0x1fe640(0x1dd)]);},_0xe720ce=_0x3ab039(0x64);expect(_0xe720ce)[_0x370d72(0x20c)](_0x3e1688[_0x370d72(0x1dd)]),expect(_0xe720ce)['toBeLessThanOrEqual'](_0x3e1688[_0x370d72(0x1dd)]);});}),describe(a0_0x6522d9(0x1f8),()=>{const _0x475066=a0_0x6522d9;test('Session\x20state\x20should\x20track\x20validity',async()=>{const _0x1616d7=a0_0x2c64;let _0x37fa4e=null,_0x8bf898=![],_0x33a2d1=null;_0x37fa4e='test-session-123',_0x8bf898=!![],_0x33a2d1=Date[_0x1616d7(0x1df)]()+0x36ee80,expect(_0x37fa4e)['toBeDefined'](),expect(_0x8bf898)['toBe'](!![]),expect(_0x33a2d1)[_0x1616d7(0x1d7)](Date[_0x1616d7(0x1df)]());}),test(_0x475066(0x209),async()=>{const _0x143e24=_0x475066;let _0x17c88a=_0x143e24(0x1d0),_0x46711c=!![];_0x17c88a=null,_0x46711c=![],expect(_0x17c88a)[_0x143e24(0x1e7)](),expect(_0x46711c)['toBe'](![]);});}),describe(a0_0x6522d9(0x1d3),()=>{test('Connection\x20uptime\x20can\x20be\x20tracked',async()=>{const _0x540b07=a0_0x2c64,_0x38510a=Date['now']();await new Promise(_0x3c7065=>setTimeout(_0x3c7065,0x64));const _0x450eb5=Date[_0x540b07(0x1df)]()-_0x38510a;expect(_0x450eb5)[_0x540b07(0x1d7)](0x0),expect(_0x450eb5)['toBeGreaterThanOrEqual'](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x41031c=a0_0x2c64,_0x1065a7=Date['now']();await new Promise(_0x54ecf5=>setTimeout(_0x54ecf5,0x32));const _0x5e858c=Date['now']();expect(_0x1065a7)[_0x41031c(0x1fd)](),expect(_0x5e858c)['toBeDefined'](),expect(_0x5e858c)[_0x41031c(0x1d7)](_0x1065a7);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{const _0xcb2c69=a0_0x2c64;let _0x3aa03d=0x0;_0x3aa03d+=0x1,expect(_0x3aa03d)[_0xcb2c69(0x20c)](0x1),_0x3aa03d+=0x1,expect(_0x3aa03d)[_0xcb2c69(0x20c)](0x2),_0x3aa03d=0x0,expect(_0x3aa03d)['toBe'](0x0);});}),describe('Connection\x20Management\x20-\x20Connection\x20Status\x20Transitions',()=>{const _0x3bc339=a0_0x6522d9;test(_0x3bc339(0x1ef),async()=>{const _0x4ae5c8=_0x3bc339,{CONNECTION_STATUS:_0x4c46a5}=await import(_0x4ae5c8(0x1da));let _0x56c145=_0x4c46a5['DISCONNECTED'];expect(_0x56c145)[_0x4ae5c8(0x20c)]('disconnected'),_0x56c145=_0x4c46a5['CONNECTING'],expect(_0x56c145)['toBe']('connecting'),_0x56c145=_0x4c46a5[_0x4ae5c8(0x1f5)],expect(_0x56c145)['toBe'](_0x4ae5c8(0x1d2)),_0x56c145=_0x4c46a5[_0x4ae5c8(0x1e5)],expect(_0x56c145)['toBe'](_0x4ae5c8(0x201)),_0x56c145=_0x4c46a5[_0x4ae5c8(0x200)],expect(_0x56c145)[_0x4ae5c8(0x20c)](_0x4ae5c8(0x1e4)),_0x56c145=_0x4c46a5['CONNECTED'],expect(_0x56c145)[_0x4ae5c8(0x20c)](_0x4ae5c8(0x1d2));});}),describe(a0_0x6522d9(0x1fc),()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0xcebf5=a0_0x2c64,{WebSocketManager:_0x40d9f3}=await import(_0xcebf5(0x1ff)),_0x3884c5=new _0x40d9f3('localhost',0x1f90);expect(_0x3884c5['on'])['toBeDefined'](),expect(_0x3884c5['off'])['toBeDefined'](),expect(typeof _0x3884c5['on'])['toBe']('function'),expect(typeof _0x3884c5[_0xcebf5(0x1dc)])[_0xcebf5(0x20c)](_0xcebf5(0x1db));});}),describe(a0_0x6522d9(0x1e3),()=>{test('Reconnection\x20should\x20stop\x20after\x20max\x20attempts',async()=>{const _0x22408c=a0_0x2c64,{RECONNECT_CONFIG:_0x29f941}=await import(_0x22408c(0x1da));let _0x41e8d6=0x0;for(let _0x41055f=0x0;_0x41055f<_0x29f941['MAX_ATTEMPTS']+0x5;_0x41055f++){if(_0x41e8d6<_0x29f941[_0x22408c(0x1fb)])_0x41e8d6+=0x1;else break;}expect(_0x41e8d6)[_0x22408c(0x20c)](_0x29f941[_0x22408c(0x1fb)]),expect(_0x41e8d6)[_0x22408c(0x1ce)](_0x29f941['MAX_ATTEMPTS']);});}),describe(a0_0x6522d9(0x1d5),()=>{const _0x4b22ad=a0_0x6522d9;test(_0x4b22ad(0x1d4),async()=>{const _0x2050a3=_0x4b22ad,{CONNECTION_STATUS:_0x40ec2e}=await import('../../config/constants.js'),_0x2b7ea0={'status':_0x40ec2e[_0x2050a3(0x1f5)],'isConnected':!![],'isReconnecting':![],'sessionId':_0x2050a3(0x1d0),'sessionValid':!![],'sessionExpiration':Date[_0x2050a3(0x1df)]()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date[_0x2050a3(0x1df)]()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x2b7ea0['status'])[_0x2050a3(0x1fd)](),expect(_0x2b7ea0[_0x2050a3(0x1e2)])['toBe'](!![]),expect(_0x2b7ea0[_0x2050a3(0x1e0)])[_0x2050a3(0x20c)](![]),expect(_0x2b7ea0['sessionId'])['toBeDefined'](),expect(_0x2b7ea0[_0x2050a3(0x1f9)])[_0x2050a3(0x20c)](!![]),expect(_0x2b7ea0[_0x2050a3(0x204)])[_0x2050a3(0x1d7)](0x0);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x262dab=a0_0x6150;(function(_0x2449de,_0x47e757){const _0x44769d=a0_0x6150,_0x544cb6=_0x2449de();while(!![]){try{const _0x2a4007=parseInt(_0x44769d(0x1be))/0x1+-parseInt(_0x44769d(0x1bc))/0x2*(parseInt(_0x44769d(0x1a4))/0x3)+-parseInt(_0x44769d(0x1ac))/0x4*(parseInt(_0x44769d(0x1b6))/0x5)+-parseInt(_0x44769d(0x1a1))/0x6*(parseInt(_0x44769d(0x1b4))/0x7)+parseInt(_0x44769d(0x1b1))/0x8+parseInt(_0x44769d(0x1a5))/0x9+-parseInt(_0x44769d(0x1aa))/0xa*(-parseInt(_0x44769d(0x1bb))/0xb);if(_0x2a4007===_0x47e757)break;else _0x544cb6['push'](_0x544cb6['shift']());}catch(_0x2c7261){_0x544cb6['push'](_0x544cb6['shift']());}}}(a0_0x18a0,0x359d8));import{describe,test,expect}from'@jest/globals';function a0_0x6150(_0x405e50,_0x2338b8){_0x405e50=_0x405e50-0x1a0;const _0x18a025=a0_0x18a0();let _0x61502b=_0x18a025[_0x405e50];if(a0_0x6150['pcIUBw']===undefined){var _0x4d438f=function(_0x2ca964){const _0x23d438='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x294825='',_0x2151d8='';for(let _0x5815c9=0x0,_0x49ee22,_0x42ee6c,_0x360fe0=0x0;_0x42ee6c=_0x2ca964['charAt'](_0x360fe0++);~_0x42ee6c&&(_0x49ee22=_0x5815c9%0x4?_0x49ee22*0x40+_0x42ee6c:_0x42ee6c,_0x5815c9++%0x4)?_0x294825+=String['fromCharCode'](0xff&_0x49ee22>>(-0x2*_0x5815c9&0x6)):0x0){_0x42ee6c=_0x23d438['indexOf'](_0x42ee6c);}for(let _0x133a61=0x0,_0x26dc18=_0x294825['length'];_0x133a61<_0x26dc18;_0x133a61++){_0x2151d8+='%'+('00'+_0x294825['charCodeAt'](_0x133a61)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2151d8);};a0_0x6150['ijJZHs']=_0x4d438f,a0_0x6150['HeDPlX']={},a0_0x6150['pcIUBw']=!![];}const _0x4aad7a=_0x18a025[0x0],_0x1abfd1=_0x405e50+_0x4aad7a,_0x368f08=a0_0x6150['HeDPlX'][_0x1abfd1];return!_0x368f08?(_0x61502b=a0_0x6150['ijJZHs'](_0x61502b),a0_0x6150['HeDPlX'][_0x1abfd1]=_0x61502b):_0x61502b=_0x368f08,_0x61502b;}describe('Phase\x209\x20-\x20Enhanced\x20Components\x20-\x20Imports',()=>{const _0x2d6707=a0_0x6150;test('ErrorBoundary component can be imported',async()=>{const _0x4c250c=a0_0x6150,{ErrorBoundary:_0x294825}=await import(_0x4c250c(0x1ba));expect(_0x294825)['toBeDefined'](),expect(typeof _0x294825)[_0x4c250c(0x1af)](_0x4c250c(0x1b3));},0x7530),test('ErrorBoundary\x20is\x20a\x20class\x20component',async()=>{const _0x5d38cf=a0_0x6150,{ErrorBoundary:_0x2151d8}=await import('../../components/ErrorBoundary.js');expect(_0x2151d8[_0x5d38cf(0x1b7)])[_0x5d38cf(0x1a3)](),expect(typeof _0x2151d8['prototype'][_0x5d38cf(0x1b8)])[_0x5d38cf(0x1af)]('function');}),test('LoadingSpinner component can be imported',async()=>{const _0x4bfd79=a0_0x6150,{LoadingSpinner:_0x5815c9}=await import(_0x4bfd79(0x1ae));expect(_0x5815c9)[_0x4bfd79(0x1a3)](),expect(typeof _0x5815c9)['toBe'](_0x4bfd79(0x1b3));}),test('InlineSpinner component can be imported',async()=>{const _0x3c72b6=a0_0x6150,{InlineSpinner:_0x49ee22}=await import(_0x3c72b6(0x1ae));expect(_0x49ee22)[_0x3c72b6(0x1a3)](),expect(typeof _0x49ee22)['toBe']('function');}),test('LoadingSpinner is default export',async()=>{const _0x56bb5c=a0_0x6150,module=await import('../../components/LoadingSpinner.js');expect(module[_0x56bb5c(0x1b5)])['toBeDefined'](),expect(module[_0x56bb5c(0x1b5)])['toBe'](module[_0x56bb5c(0x1ab)]);}),test(_0x2d6707(0x1bd),async()=>{const _0x502557=_0x2d6707,{InputBox:_0x42ee6c}=await import('../../components/InputBox.js');expect(_0x42ee6c)[_0x502557(0x1a3)](),expect(typeof _0x42ee6c)['toBe'](_0x502557(0x1b3));});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{const _0x29f782=a0_0x6150;test(_0x29f782(0x1b2),async()=>{const _0x5dd310=_0x29f782,{ErrorBoundary:_0x360fe0}=await import('../../components/ErrorBoundary.js'),_0x133a61=await import(_0x5dd310(0x1a9));expect(_0x360fe0['prototype'])[_0x5dd310(0x1a3)](),expect(typeof _0x360fe0['prototype']['render'])[_0x5dd310(0x1af)]('function'),expect(typeof _0x360fe0['prototype'][_0x5dd310(0x1b0)])[_0x5dd310(0x1af)](_0x5dd310(0x1b3));}),test('ErrorBoundary\x20has\x20getDerivedStateFromError\x20static\x20method',async()=>{const _0x14dfed=_0x29f782,{ErrorBoundary:_0x26dc18}=await import(_0x14dfed(0x1ba));expect(typeof _0x26dc18['getDerivedStateFromError'])['toBe'](_0x14dfed(0x1b3));}),test(_0x29f782(0x1a6),async()=>{const _0x453938=_0x29f782,{ErrorBoundary:_0x3aeb7c}=await import('../../components/ErrorBoundary.js');expect(typeof _0x3aeb7c[_0x453938(0x1b7)]['componentDidCatch'])[_0x453938(0x1af)]('function');});}),describe(a0_0x262dab(0x1ad),()=>{const _0x5d9a50=a0_0x262dab;test('LoadingSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x23857d=a0_0x6150,{LoadingSpinner:_0x46803c}=await import('../../components/LoadingSpinner.js');expect(typeof _0x46803c)[_0x23857d(0x1af)](_0x23857d(0x1b3)),expect(_0x46803c[_0x23857d(0x1b7)]?.['render'])[_0x23857d(0x1b9)]();}),test(_0x5d9a50(0x1bf),async()=>{const _0x373b19=_0x5d9a50,{InlineSpinner:_0x2bcf05}=await import('../../components/LoadingSpinner.js');expect(typeof _0x2bcf05)[_0x373b19(0x1af)]('function'),expect(_0x2bcf05[_0x373b19(0x1b7)]?.[_0x373b19(0x1b8)])['toBeUndefined']();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x4ff464=a0_0x6150,_0x4b89fc=await import(_0x4ff464(0x1a8)),_0x53e431=await import('react');expect(_0x53e431[_0x4ff464(0x1a0)])['toBeDefined'](),expect(_0x53e431['useRef'])[_0x4ff464(0x1a3)]();}),test('InputBox component maintains exports',async()=>{const _0x3aade6=a0_0x6150,module=await import(_0x3aade6(0x1a8));expect(module[_0x3aade6(0x1c0)])['toBeDefined'](),expect(module['default'])['toBeDefined'](),expect(module[_0x3aade6(0x1b5)])['toBe'](module['InputBox']);});}),describe('Phase\x209\x20-\x20Integration',()=>{test('All enhanced components can be imported together',async()=>{const _0x1c8781=a0_0x6150,[_0x5cb675,_0x4e1b74,_0x59eda9]=await Promise['all']([import(_0x1c8781(0x1ba)),import(_0x1c8781(0x1ae)),import('../../components/InputBox.js')]);expect(_0x5cb675[_0x1c8781(0x1a2)])[_0x1c8781(0x1a3)](),expect(_0x4e1b74[_0x1c8781(0x1ab)])[_0x1c8781(0x1a3)](),expect(_0x4e1b74['InlineSpinner'])['toBeDefined'](),expect(_0x59eda9['InputBox'])[_0x1c8781(0x1a3)]();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x1f3399=a0_0x6150,_0x1b27dc=await import('react'),_0x5ef0bd=await import('ink');expect(_0x5ef0bd['useInput'])[_0x1f3399(0x1a3)](),expect(typeof _0x5ef0bd['useInput'])['toBe']('function');}),test('Layout component can still be imported after enhancements',async()=>{const _0x3e18b9=a0_0x6150,{Layout:_0x5df237}=await import('../../components/Layout.js');expect(_0x5df237)[_0x3e18b9(0x1a3)](),expect(typeof _0x5df237)['toBe'](_0x3e18b9(0x1b3));});}),describe(a0_0x262dab(0x1a7),()=>{test('InputBox\x20defines\x20MAX_HISTORY\x20constant',async()=>{const _0x45e840=a0_0x6150,module=await import('../../components/InputBox.js');expect(module[_0x45e840(0x1c0)])['toBeDefined']();});});function a0_0x18a0(){const _0xc17933=['lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','Dg9czq','y29TCg9Uzw50rgLKq2f0y2G','mJaXmZK4ngHSwKjwva','rxjYB3jcB3vUzgfYEsbPCYbHifjLywn0ienVBxbVBMvUDcbJBgfZCW','zNvUy3rPB24','mtrkCMX5CNC','zgvMyxvSDa','mJa3ndG1nuvyvK9jCG','ChjVDg90ExbL','CMvUzgvY','Dg9czvvUzgvMAw5Lza','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','otLXAwTkv2C','mtrnD05UD2i','rw5Oyw5JzwqGsw5WDxrcB3GGBwfPBNrHAw5ZigjHy2T3yxjKignVBxbHDgLIAwXPDhK','mJaWndf6uffIv2m','sw5SAw5Lu3bPBM5LCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','sw5WDxrcB3G','DxnLu3rHDgu','mZmWode2BxfTweDR','rxjYB3jcB3vUzgfYEq','Dg9czurLzMLUzwq','mtaZnda3t2jvEKj6','ndG5nZHwzu1YDeC','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','ugHHC2uGosaTievUAgfUy2vKiezLyxr1CMvZic0Gq29UC3rHBNrZ','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','CMvHy3q','nZG3nJCWsu9dzfb3','tg9HzgLUz1nWAw5Uzxi','nejAuurbEa','ugHHC2uGosaTieXVywrPBMDtCgLUBMvYic0Gu3rYDwn0DxjL'];a0_0x18a0=function(){return _0xc17933;};return a0_0x18a0();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2e0074=a0_0x3c5b;function a0_0x3c5b(_0x18b654,_0x641fbf){_0x18b654=_0x18b654-0x19d;const _0x1fc3a4=a0_0x1fc3();let _0x3c5b7b=_0x1fc3a4[_0x18b654];if(a0_0x3c5b['MgDTtd']===undefined){var _0x41bbf7=function(_0xecf91e){const _0x136246='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39ed86='',_0x52042a='';for(let _0x548c87=0x0,_0x2efba8,_0x305c93,_0x12ae6d=0x0;_0x305c93=_0xecf91e['charAt'](_0x12ae6d++);~_0x305c93&&(_0x2efba8=_0x548c87%0x4?_0x2efba8*0x40+_0x305c93:_0x305c93,_0x548c87++%0x4)?_0x39ed86+=String['fromCharCode'](0xff&_0x2efba8>>(-0x2*_0x548c87&0x6)):0x0){_0x305c93=_0x136246['indexOf'](_0x305c93);}for(let _0x481f13=0x0,_0x3f5aeb=_0x39ed86['length'];_0x481f13<_0x3f5aeb;_0x481f13++){_0x52042a+='%'+('00'+_0x39ed86['charCodeAt'](_0x481f13)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x52042a);};a0_0x3c5b['LnThSs']=_0x41bbf7,a0_0x3c5b['dXoElR']={},a0_0x3c5b['MgDTtd']=!![];}const _0x4527ce=_0x1fc3a4[0x0],_0xc49b28=_0x18b654+_0x4527ce,_0x456ff3=a0_0x3c5b['dXoElR'][_0xc49b28];return!_0x456ff3?(_0x3c5b7b=a0_0x3c5b['LnThSs'](_0x3c5b7b),a0_0x3c5b['dXoElR'][_0xc49b28]=_0x3c5b7b):_0x3c5b7b=_0x456ff3,_0x3c5b7b;}(function(_0x4cffbe,_0x2a866f){const _0x445664=a0_0x3c5b,_0x1478c6=_0x4cffbe();while(!![]){try{const _0x59e979=parseInt(_0x445664(0x1f1))/0x1*(-parseInt(_0x445664(0x1d8))/0x2)+parseInt(_0x445664(0x1ac))/0x3*(parseInt(_0x445664(0x1be))/0x4)+-parseInt(_0x445664(0x1a4))/0x5+parseInt(_0x445664(0x1de))/0x6+parseInt(_0x445664(0x1da))/0x7*(-parseInt(_0x445664(0x1e2))/0x8)+-parseInt(_0x445664(0x1d5))/0x9+parseInt(_0x445664(0x1dc))/0xa*(parseInt(_0x445664(0x1d0))/0xb);if(_0x59e979===_0x2a866f)break;else _0x1478c6['push'](_0x1478c6['shift']());}catch(_0x119621){_0x1478c6['push'](_0x1478c6['shift']());}}}(a0_0x1fc3,0x1ae72));import{describe,test,expect}from'@jest/globals';function a0_0x1fc3(){const _0x4c15f6=['AgfZtg94AwflzxK','otq0mdHvBePkCLm','DMvUzg9Ys2v5CW','CMvNAxn0zxjiyw5KBgvY','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','Bg94AwfbCgLlzxK','Bg9JywXOB3n0','BwLKzgXLD2fYzq','lI4VlI4VyxbPl3nLC3nPB24UANm','DhLWzq','Dg9czvrYDxrOEq','AgfZsgfUzgXLCG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','quDftLrFtu9erv9dsefor0ve','u2vZC2LVBK1HBMfNzxiGAgvSCgvYig1LDgHVzhmGD29YAW','oda4wwnTqxP3','v2vIu29JA2v0twfUywDLCIbPBML0AwfSAxPLCYb3AxrOignVCNjLy3qGC3rHDgu','z2v0u2vZC2LVBKLK','DMvUzg9Ys2v5C0nVDw50','Dg9nyxrJAa','CxvLDwvKtwvZC2fNzxm','DgvZDc1TzxnZywDL','q09otKvdveLptL9tvefurq','nZi4ntbxvg1cEwi','DgvZDc0XmJm','zNvUy3rPB24','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbfCNjVCIbiyw5KBgLUzW','C3rHDgu','DxjS','qvbjx0vorfbpsu5uuW','v2vIu29JA2v0twfUywDLCIbOzwXWzxiGBwv0Ag9KCYb3B3jR','oujPsg5kAa','revgqvvmvf9it1nu','reLtq09otKvdveve','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','tuvtu0fhrv9dt05gsuC','Dg9iyxzLuhjVCgvYDhK','DxnL','CMvJzwL2zwrbDa','tKvuv09ssW','DgvZDa','Dg9fCxvHBa','Cg9YDa','z2vUzxjHDgvszxf1zxn0swq','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbjBxbVCNrZ','C2HVDwXKuMvJB25Uzwn0','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','q09otKvdveve','BNvTyMvY','mJu5odeYExzXA0vW','z2v0uhjVAMvJDerPCG','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','C2vZC2LVBKLK','tuvtu0fhrv9msvnux0HfsuDiva','q09ntuforfm','sgfUzgXLCIbTDxn0igjLigeGzNvUy3rPB24','rvHfq1vusu9ox1nut1bqruq','yMXVy2TLzc10ExbL','q29UC3rHBNrZigHHDMuGBM8GBwfNAwmGBNvTyMvYCW','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbcyxnPyYbgDw5JDgLVBMfSAxr5','DgvZDc1OB3n0','ChjVAMvJDerPCG','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','CMvJB25Uzwn0qxr0zw1WDhm','Dg9czurLzMLUzwq','y29UBMvJDgvK','quDftLrFtu9erq','mJmXmJa5Buj2BMPV','Dg9uAhjVDW','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLigHLBhbLCNmGy3jLyxrLihzHBgLKig1PzgrSzxDHCMu','veLnsu5h','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','mtKXodGXogfhCeTVAa','AxnwywXPza','CMvTB3zLtwLKzgXLD2fYzq','mJaWqMfgsvHu','z2v0u2vZC2LVBKLUzM8','mJHor0HNrMS','BgvUz3rO','ntbiyNrNqM0','D3m6lY9SB2nHBgHVC3q6oda4ma','otK2mdK2EhHcuNvg','zgLZy29UBMvJDgvK','Dg9czq'];a0_0x1fc3=function(){return _0x4c15f6;};return a0_0x1fc3();}import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe(a0_0x2e0074(0x1b9),()=>{test('constants module exports all required constants',async()=>{const _0x15fea8=a0_0x3c5b,_0x39ed86=await import('../../config/constants.js');expect(_0x39ed86['UI_DIMENSIONS'])['toBeDefined'](),expect(_0x39ed86[_0x15fea8(0x1b0)])[_0x15fea8(0x1cd)](),expect(_0x39ed86['PAGINATION'])['toBeDefined'](),expect(_0x39ed86['TIMING'])['toBeDefined'](),expect(_0x39ed86[_0x15fea8(0x1b4)])[_0x15fea8(0x1cd)](),expect(_0x39ed86[_0x15fea8(0x1a3)])[_0x15fea8(0x1cd)](),expect(_0x39ed86[_0x15fea8(0x1cf)])[_0x15fea8(0x1cd)](),expect(_0x39ed86['WS_MESSAGE_TYPE'])['toBeDefined'](),expect(_0x39ed86[_0x15fea8(0x1aa)])['toBeDefined'](),expect(_0x39ed86[_0x15fea8(0x1c3)])['toBeDefined'](),expect(_0x39ed86[_0x15fea8(0x1b4)][_0x15fea8(0x1ad)])['toBe']('localhost'),expect(_0x39ed86[_0x15fea8(0x1b4)]['DEFAULT_PORT'])['toBe'](0x1f90),expect(_0x39ed86[_0x15fea8(0x1a3)][_0x15fea8(0x1ae)])['toBe'](_0x15fea8(0x1df)),expect(_0x39ed86[_0x15fea8(0x1a3)][_0x15fea8(0x1bc)])[_0x15fea8(0x1e0)](_0x15fea8(0x1ce));}),test('WebSocketManager class can be imported',async()=>{const _0x3bb82=a0_0x3c5b,{WebSocketManager:_0x52042a}=await import('../../api/websocket.js');expect(_0x52042a)['toBeDefined'](),expect(typeof _0x52042a)['toBe'](_0x3bb82(0x1a6));const _0x548c87=new _0x52042a('localhost',0x1f90);expect(_0x548c87)['toBeDefined'](),expect(_0x548c87['host'])[_0x3bb82(0x1e0)]('localhost'),expect(_0x548c87[_0x3bb82(0x1b7)])[_0x3bb82(0x1e0)](0x1f90),expect(_0x548c87[_0x3bb82(0x1a9)])['toBe'](_0x3bb82(0x1dd));}),test('SessionManager class can be imported',async()=>{const _0xf5a4c=a0_0x3c5b,{SessionManager:_0x2efba8}=await import(_0xf5a4c(0x1ea));expect(_0x2efba8)[_0xf5a4c(0x1cd)](),expect(typeof _0x2efba8)[_0xf5a4c(0x1e0)]('function');const _0x305c93=new _0x2efba8(_0xf5a4c(0x1e8),0x1f90);expect(_0x305c93)[_0xf5a4c(0x1cd)](),expect(_0x305c93['host'])[_0xf5a4c(0x1e0)]('localhost'),expect(_0x305c93[_0xf5a4c(0x1b7)])[_0xf5a4c(0x1e0)](0x1f90),expect(_0x305c93['baseUrl'])['toBe'](_0xf5a4c(0x1e6));}),test('MessageRouter class can be imported',async()=>{const _0x3ff872=a0_0x3c5b,{MessageRouter:_0x12ae6d}=await import(_0x3ff872(0x1cb)),{WebSocketManager:_0x481f13}=await import('../../api/websocket.js');expect(_0x12ae6d)[_0x3ff872(0x1cd)](),expect(typeof _0x12ae6d)['toBe']('function');const _0x3f5aeb=new _0x481f13('localhost',0x1f90),_0x29f4b5=new _0x12ae6d(_0x3f5aeb);expect(_0x29f4b5)['toBeDefined'](),expect(_0x29f4b5['ws'])['toBe'](_0x3f5aeb);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x3b6959=a0_0x3c5b,{loggingMiddleware:_0x3d8e94,filterMiddleware:_0x2fa872,transformMiddleware:_0x24eff3,timestampMiddleware:_0x7d8168,validationMiddleware:_0x343a9d}=await import(_0x3b6959(0x1cb));expect(typeof _0x3d8e94)[_0x3b6959(0x1e0)](_0x3b6959(0x1a6)),expect(typeof _0x2fa872)['toBe']('function'),expect(typeof _0x24eff3)['toBe']('function'),expect(typeof _0x7d8168)['toBe'](_0x3b6959(0x1a6)),expect(typeof _0x343a9d)[_0x3b6959(0x1e0)]('function');}),test('useConnection hook can be imported',async()=>{const _0x40579b=a0_0x3c5b,{useConnection:_0x475540,useConnectionStatus:_0x2ea0ba}=await import(_0x40579b(0x1d4));expect(_0x475540)['toBeDefined'](),expect(typeof _0x475540)[_0x40579b(0x1e0)](_0x40579b(0x1a6)),expect(_0x2ea0ba)['toBeDefined'](),expect(typeof _0x2ea0ba)[_0x40579b(0x1e0)](_0x40579b(0x1a6));});}),describe(a0_0x2e0074(0x1c8),()=>{const _0xde3e59=a0_0x2e0074;test(_0xde3e59(0x19d),async()=>{const _0x4199a7=_0xde3e59,{WebSocketManager:_0x5a9b86}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x403698}=await import(_0x4199a7(0x1e5)),_0x4481d8=new _0x5a9b86(_0x4199a7(0x1c9),0x2382);expect(_0x4481d8['state'])[_0x4199a7(0x1e0)](_0x403698['DISCONNECTED']),expect(_0x4481d8['sessionId'])['toBe'](null),expect(_0x4481d8['messageQueue'])['toEqual']([]),expect(_0x4481d8[_0x4199a7(0x1cc)])[_0x4199a7(0x1e0)](0x0),expect(_0x4481d8[_0x4199a7(0x1ba)])['toBe'](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x25c842=_0xde3e59,{SessionManager:_0x36dc30}=await import('../../api/session.js'),_0xd219cc=new _0x36dc30(_0x25c842(0x1c9),0x2382);expect(_0xd219cc['sessionId'])[_0x25c842(0x1e0)](null),expect(_0xd219cc['projectDir'])['toBe'](null),expect(_0xd219cc['loxiaApiKey'])[_0x25c842(0x1e0)](null),expect(_0xd219cc['vendorKeys'])[_0x25c842(0x1b6)]({}),expect(_0xd219cc['isValid']())['toBe'](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x38d276=_0xde3e59,{MessageRouter:_0x2fec92}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x4b4240}=await import(_0x38d276(0x1ee)),{WS_MESSAGE_TYPE:_0x4e3070}=await import('../../config/constants.js'),_0x266c54=new _0x4b4240(_0x38d276(0x1e8),0x1f90),_0x32fd23=new _0x2fec92(_0x266c54);expect(_0x32fd23['hasHandler'](_0x4e3070['MESSAGE_ADDED']))[_0x38d276(0x1e0)](!![]),expect(_0x32fd23[_0x38d276(0x1ed)](_0x4e3070[_0x38d276(0x1ef)]))['toBe'](!![]),expect(_0x32fd23['hasHandler'](_0x4e3070[_0x38d276(0x1c5)]))[_0x38d276(0x1e0)](!![]),expect(_0x32fd23['hasHandler'](_0x4e3070['COMPACTION_EVENT']))['toBe'](!![]),expect(_0x32fd23[_0x38d276(0x1ed)](_0x4e3070['IMAGE_RESULT']))['toBe'](!![]);}),test('MessageRouter\x20middleware\x20can\x20be\x20added\x20and\x20removed',async()=>{const _0x35059a=_0xde3e59,{MessageRouter:_0x1e91e5}=await import(_0x35059a(0x1cb)),{WebSocketManager:_0x599ce7}=await import('../../api/websocket.js'),_0x1ae9aa=new _0x599ce7(_0x35059a(0x1e8),0x1f90),_0x55c8a1=new _0x1e91e5(_0x1ae9aa),_0x2aa050=_0x5db5c0=>_0x5db5c0;expect(_0x55c8a1[_0x35059a(0x1e9)][_0x35059a(0x1db)])[_0x35059a(0x1c0)](0x0),_0x55c8a1['use'](_0x2aa050);const _0x28b15f=_0x55c8a1['middleware'][_0x35059a(0x1db)];expect(_0x28b15f)['toBeGreaterThan'](0x0),_0x55c8a1[_0x35059a(0x1d7)](_0x2aa050),expect(_0x55c8a1['middleware']['length'])[_0x35059a(0x1e0)](_0x28b15f-0x1);}),test(_0xde3e59(0x1f0),async()=>{const _0xffc274=_0xde3e59,{SessionManager:_0x5ba7e0}=await import(_0xffc274(0x1ea)),_0xb30026=new _0x5ba7e0('localhost',0x1f90);expect(_0xb30026[_0xffc274(0x19e)]())['toBe'](null),expect(_0xb30026[_0xffc274(0x1bf)]())['toBe'](null),expect(_0xb30026['isValid']())[_0xffc274(0x1e0)](![]);const _0x1db516=_0xb30026[_0xffc274(0x1d9)]();expect(_0x1db516)['toHaveProperty']('sessionId'),expect(_0x1db516)['toHaveProperty']('projectDir'),expect(_0x1db516)['toHaveProperty'](_0xffc274(0x1e1)),expect(_0x1db516)['toHaveProperty'](_0xffc274(0x19f));}),test(_0xde3e59(0x1ab),async()=>{const _0x5b2158=_0xde3e59,{WebSocketManager:_0x337212}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0xae6054}=await import(_0x5b2158(0x1e5)),_0x3e8f64=new _0x337212(_0x5b2158(0x1e8),0x1f90);expect(_0x3e8f64['getState']())[_0x5b2158(0x1e0)](_0xae6054['DISCONNECTED']),expect(_0x3e8f64['isConnected']())[_0x5b2158(0x1e0)](![]),expect(_0x3e8f64[_0x5b2158(0x19e)]())[_0x5b2158(0x1e0)](null);const _0x379434=_0x3e8f64['getStats']();expect(_0x379434)[_0x5b2158(0x1b1)](_0x5b2158(0x1a8)),expect(_0x379434)[_0x5b2158(0x1b1)](_0x5b2158(0x1c1)),expect(_0x379434)[_0x5b2158(0x1b1)](_0x5b2158(0x1cc)),expect(_0x379434)['toHaveProperty'](_0x5b2158(0x1a1)),expect(_0x379434)[_0x5b2158(0x1b1)]('pendingRequests');}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0x253ba1=_0xde3e59,{MessageRouter:_0x324aaa}=await import(_0x253ba1(0x1cb)),{WebSocketManager:_0xf11d8e}=await import('../../api/websocket.js'),_0x1b3231=new _0xf11d8e('localhost',0x1f90),_0x5dd287=new _0x324aaa(_0x1b3231),_0x5d8ca2=()=>{};expect(_0x5dd287['hasHandler']('test-message'))[_0x253ba1(0x1e0)](![]),_0x5dd287[_0x253ba1(0x1e4)](_0x253ba1(0x1a2),_0x5d8ca2),expect(_0x5dd287[_0x253ba1(0x1ed)]('test-message'))[_0x253ba1(0x1e0)](!![]),_0x5dd287['unregisterHandler']('test-message'),expect(_0x5dd287[_0x253ba1(0x1ed)](_0x253ba1(0x1a2)))[_0x253ba1(0x1e0)](![]);}),test(_0xde3e59(0x1d2),async()=>{const _0x3b0479=_0xde3e59,{loggingMiddleware:_0x1bde63,timestampMiddleware:_0x2748f5,filterMiddleware:_0x39762d}=await import('../../api/messageRouter.js'),_0x5d5169=_0x1bde63();expect(typeof _0x5d5169)[_0x3b0479(0x1e0)](_0x3b0479(0x1a6));const _0x12c14f=_0x2748f5();expect(typeof _0x12c14f)['toBe']('function');const _0x4beddc={'type':'test'},_0x193f57=_0x12c14f(_0x4beddc);expect(_0x193f57)['toHaveProperty'](_0x3b0479(0x1b3)),expect(_0x193f57[_0x3b0479(0x1eb)])['toBe']('test');const _0x33f5ca=_0x39762d(['allowed-type']);expect(typeof _0x33f5ca)[_0x3b0479(0x1e0)](_0x3b0479(0x1a6)),expect(_0x33f5ca({'type':'allowed-type'}))[_0x3b0479(0x1ec)](),expect(_0x33f5ca({'type':_0x3b0479(0x1c6)}))['toBe'](null);}),test(_0xde3e59(0x1c7),async()=>{const _0x8d4a8c=_0xde3e59,_0x1f7adf=await import(_0x8d4a8c(0x1e5));expect(typeof _0x1f7adf[_0x8d4a8c(0x1d3)]['WEBSOCKET_RECONNECT_DELAY'])[_0x8d4a8c(0x1e0)](_0x8d4a8c(0x1bd)),expect(typeof _0x1f7adf['TIMING']['WEBSOCKET_PING_INTERVAL'])['toBe']('number'),expect(typeof _0x1f7adf[_0x8d4a8c(0x1b4)]['DEFAULT_PORT'])[_0x8d4a8c(0x1e0)](_0x8d4a8c(0x1bd)),expect(typeof _0x1f7adf['NETWORK']['MAX_RETRIES'])['toBe']('number'),expect(typeof _0x1f7adf[_0x8d4a8c(0x1b4)]['HTTP_TIMEOUT'])['toBe'](_0x8d4a8c(0x1bd)),expect(typeof _0x1f7adf['UI_DIMENSIONS'][_0x8d4a8c(0x1c2)])['toBe'](_0x8d4a8c(0x1bd)),expect(typeof _0x1f7adf['UI_DIMENSIONS']['SIDEBAR_WIDTH'])[_0x8d4a8c(0x1e0)](_0x8d4a8c(0x1bd));});}),describe(a0_0x2e0074(0x1a7),()=>{const _0x521a1b=a0_0x2e0074;test(_0x521a1b(0x1af),async()=>{const _0x1e321b=_0x521a1b,{MessageRouter:_0x16c0d0}=await import(_0x1e321b(0x1cb)),{WebSocketManager:_0x11860c}=await import(_0x1e321b(0x1ee)),_0x4b6429=new _0x11860c('localhost',0x1f90),_0x23bd2f=new _0x16c0d0(_0x4b6429);expect(()=>{const _0x3e84fe=_0x1e321b;_0x23bd2f['registerHandler'](_0x3e84fe(0x1b5),'not-a-function');})[_0x1e321b(0x1d1)](_0x1e321b(0x1c4));}),test('MessageRouter\x20throws\x20on\x20invalid\x20middleware',async()=>{const _0x5a0964=_0x521a1b,{MessageRouter:_0x28c468}=await import(_0x5a0964(0x1cb)),{WebSocketManager:_0x5ce28f}=await import('../../api/websocket.js'),_0x2fdf8e=new _0x5ce28f(_0x5a0964(0x1e8),0x1f90),_0x1841ae=new _0x28c468(_0x2fdf8e);expect(()=>{const _0x59aef7=_0x5a0964;_0x1841ae[_0x59aef7(0x1b2)]('not-a-function');})[_0x5a0964(0x1d1)]('Middleware\x20must\x20be\x20a\x20function');}),test('SessionManager\x20clear()\x20resets\x20all\x20state',async()=>{const _0x370128=_0x521a1b,{SessionManager:_0x2efe16}=await import(_0x370128(0x1ea)),_0x366d58=new _0x2efe16('localhost',0x1f90);_0x366d58[_0x370128(0x1c1)]=_0x370128(0x1a5),_0x366d58[_0x370128(0x1ca)]='/test/dir',_0x366d58[_0x370128(0x1e7)]='test-key',_0x366d58['vendorKeys']={'openai':'key'},expect(_0x366d58['isValid']())[_0x370128(0x1e0)](!![]),_0x366d58['clear'](),expect(_0x366d58['sessionId'])[_0x370128(0x1e0)](null),expect(_0x366d58[_0x370128(0x1ca)])[_0x370128(0x1e0)](null),expect(_0x366d58[_0x370128(0x1e7)])['toBe'](null),expect(_0x366d58[_0x370128(0x1e3)])['toEqual']({}),expect(_0x366d58[_0x370128(0x1d6)]())['toBe'](![]);}),test(_0x521a1b(0x1bb),async()=>{const _0xdbf749=_0x521a1b,{WebSocketManager:_0x3eeb59}=await import(_0xdbf749(0x1ee)),_0x3dc391=new _0x3eeb59('localhost',0x1f90),_0x11353c=_0x3dc391[_0xdbf749(0x1b8)](),_0x387c96=_0x3dc391['generateRequestId'](),_0x5424be=_0x3dc391[_0xdbf749(0x1b8)]();expect(_0x11353c)['not']['toBe'](_0x387c96),expect(_0x387c96)['not'][_0xdbf749(0x1e0)](_0x5424be),expect(_0x11353c)['not'][_0xdbf749(0x1e0)](_0x5424be),expect(_0x11353c)['toMatch'](/^req-\d+-\d+$/),expect(_0x387c96)[_0xdbf749(0x1a0)](/^req-\d+-\d+$/),expect(_0x5424be)['toMatch'](/^req-\d+-\d+$/);});});
|
|
1
|
+
const a0_0xf2dfb8=a0_0x3eb8;function a0_0x364a(){const _0x5e1416=['BM90','mty1nde2vvr5ywzN','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','Ag9ZDa','BgvUz3rO','mteXmJGWodbtD1PSBgC','Cg9YDa','z2v0u2vZC2LVBKLUzM8','lI4VlI4VyxbPl3nLC3nPB24UANm','Dg9czurLzMLUzwq','veLnsu5h','CgvUzgLUz1jLCxvLC3rZ','DxjS','ndmWsenzqNHp','DMvUzg9Ys2v5C0nVDw50','Dg9iyxzLuhjVCgvYDhK','BM90lweTzNvUy3rPB24','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Bg94AwfbCgLlzxK','z2v0u3rHDhm','v0vcu09ds0vux1bjtKDFsu5urvjwquW','AgfZsgfUzgXLCG','su1br0vFuKvtvuXu','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','rvHfq1vusu9ox1nut1bqruq','q09otKvdveLptL9tvefurq','DgvZDc1OB3n0','Dg9uAhjVDW','A2v5','mtHRwwTtrwG','nZC1mZv2wKHtyKe','DgvZDc1TzxnZywDL','quDftLrFtu9erq','tuvtu0fhrv9brerfra','u2vZC2LVBK1HBMfNzxiGy2XLyxiOksbYzxnLDhmGywXSihn0yxrL','C2vZC2LVBKLK','v2vIu29JA2v0twfUywDLCIbPBML0AwfSAxPLCYb3AxrOignVCNjLy3qGC3rHDgu','BNvTyMvY','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbjBxbVCNrZ','zgLZy29UBMvJDgvK','ywXSB3DLzc10ExbL','Dg9nyxrJAa','yMXVy2TLzc10ExbL','CMvNAxn0zxjiyw5KBgvY','DgvZDc0XmJm','mZv1wLDJvfq','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbfCNjVCIbiyw5KBgLUzW','Dg9czvrYDxrOEq','u0LerujbuL9xsurusa','revgqvvmvf9qt1ju','mtuWmJyWnfbus0zYzq','y29UBMvJDgvK','AxnwywXPza','Dg9fCxvHBa','Bg9JywXOB3n0','mta4ntmWEvDdzg9Y','odaZntq1DhfqEwLz','v2vIu29JA2v0twfUywDLCIbOzwXWzxiGBwv0Ag9KCYb3B3jR','Dg9czq','mMrSrxjABq','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','revgqvvmvf9it1nu','mti2odeYmfPODMvvsa','BwLKzgXLD2fYzq','ChjVAMvJDerPCG','zNvUy3rPB24','sgfUzgXLCIbTDxn0igjLigeGzNvUy3rPB24','tKvuv09ssW','quDftLrFtu9erv9dsefor0ve','DxnL','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLignHBIbIzsbHzgrLzcbHBMqGCMvTB3zLza','vuLFreLnru5tsu9ouW','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','tuvtu0fhrv9msvnux0HfsuDiva','u2vZC2LVBK1HBMfNzxiGAw5PDgLHBgL6zxmGD2L0AcbJB3jYzwn0ihn0yxrL','mtf5svnQD2W','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','DgvZDc1RzxK','reLtq09otKvdveve','DgvZDa','DMvUzg9Ys2v5CW'];a0_0x364a=function(){return _0x5e1416;};return a0_0x364a();}(function(_0x5ce7c3,_0x5cc1ac){const _0x403441=a0_0x3eb8,_0xd96545=_0x5ce7c3();while(!![]){try{const _0x2721a8=-parseInt(_0x403441(0x116))/0x1*(parseInt(_0x403441(0x11a))/0x2)+parseInt(_0x403441(0x111))/0x3+-parseInt(_0x403441(0x11d))/0x4+-parseInt(_0x403441(0x117))/0x5*(parseInt(_0x403441(0xfc))/0x6)+-parseInt(_0x403441(0x10c))/0x7*(-parseInt(_0x403441(0x131))/0x8)+parseInt(_0x403441(0xfd))/0x9*(-parseInt(_0x403441(0x13d))/0xa)+-parseInt(_0x403441(0x12a))/0xb*(-parseInt(_0x403441(0x135))/0xc);if(_0x2721a8===_0x5cc1ac)break;else _0xd96545['push'](_0xd96545['shift']());}catch(_0x47f32d){_0xd96545['push'](_0xd96545['shift']());}}}(a0_0x364a,0x3de15));import{describe,test,expect}from'@jest/globals';function a0_0x3eb8(_0x2d9b26,_0x51724a){_0x2d9b26=_0x2d9b26-0xf2;const _0x364a05=a0_0x364a();let _0x3eb892=_0x364a05[_0x2d9b26];if(a0_0x3eb8['gIEKuv']===undefined){var _0x468a8e=function(_0x1a4ff2){const _0x2d2712='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c3603='',_0x5ebb71='';for(let _0x2ac0c4=0x0,_0x968808,_0x37dceb,_0x30dfdc=0x0;_0x37dceb=_0x1a4ff2['charAt'](_0x30dfdc++);~_0x37dceb&&(_0x968808=_0x2ac0c4%0x4?_0x968808*0x40+_0x37dceb:_0x37dceb,_0x2ac0c4++%0x4)?_0x3c3603+=String['fromCharCode'](0xff&_0x968808>>(-0x2*_0x2ac0c4&0x6)):0x0){_0x37dceb=_0x2d2712['indexOf'](_0x37dceb);}for(let _0x3566f5=0x0,_0x12d8dc=_0x3c3603['length'];_0x3566f5<_0x12d8dc;_0x3566f5++){_0x5ebb71+='%'+('00'+_0x3c3603['charCodeAt'](_0x3566f5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ebb71);};a0_0x3eb8['MPWxWu']=_0x468a8e,a0_0x3eb8['lhiUSx']={},a0_0x3eb8['gIEKuv']=!![];}const _0x5a5616=_0x364a05[0x0],_0x5de846=_0x2d9b26+_0x5a5616,_0x32b650=a0_0x3eb8['lhiUSx'][_0x5de846];return!_0x32b650?(_0x3eb892=a0_0x3eb8['MPWxWu'](_0x3eb892),a0_0x3eb8['lhiUSx'][_0x5de846]=_0x3eb892):_0x3eb892=_0x32b650,_0x3eb892;}import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe(a0_0xf2dfb8(0x105),()=>{test('constants module exports all required constants',async()=>{const _0x1e8d97=a0_0x3eb8,_0x3c3603=await import(_0x1e8d97(0x141));expect(_0x3c3603[_0x1e8d97(0x126)])['toBeDefined'](),expect(_0x3c3603['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x3c3603['PAGINATION'])['toBeDefined'](),expect(_0x3c3603[_0x1e8d97(0x13a)])['toBeDefined'](),expect(_0x3c3603['NETWORK'])['toBeDefined'](),expect(_0x3c3603[_0x1e8d97(0xf8)])[_0x1e8d97(0x139)](),expect(_0x3c3603[_0x1e8d97(0xff)])[_0x1e8d97(0x139)](),expect(_0x3c3603['WS_MESSAGE_TYPE'])['toBeDefined'](),expect(_0x3c3603['API_ENDPOINTS'])['toBeDefined'](),expect(_0x3c3603['COMMANDS'])[_0x1e8d97(0x139)](),expect(_0x3c3603[_0x1e8d97(0x122)][_0x1e8d97(0x11c)])[_0x1e8d97(0x119)]('localhost'),expect(_0x3c3603[_0x1e8d97(0x122)]['DEFAULT_PORT'])['toBe'](0x1f90),expect(_0x3c3603['CONNECTION_STATE']['DISCONNECTED'])[_0x1e8d97(0x119)](_0x1e8d97(0x106)),expect(_0x3c3603['CONNECTION_STATE']['CONNECTED'])['toBe'](_0x1e8d97(0x112));}),test('WebSocketManager class can be imported',async()=>{const _0x3f29c3=a0_0x3eb8,{WebSocketManager:_0x5ebb71}=await import('../../api/websocket.js');expect(_0x5ebb71)['toBeDefined'](),expect(typeof _0x5ebb71)['toBe']('function');const _0x2ac0c4=new _0x5ebb71(_0x3f29c3(0x115),0x1f90);expect(_0x2ac0c4)['toBeDefined'](),expect(_0x2ac0c4[_0x3f29c3(0x133)])[_0x3f29c3(0x119)]('localhost'),expect(_0x2ac0c4['port'])['toBe'](0x1f90),expect(_0x2ac0c4[_0x3f29c3(0x13c)])['toBe']('ws://localhost:8080');}),test('SessionManager class can be imported',async()=>{const _0x3ba311=a0_0x3eb8,{SessionManager:_0x968808}=await import('../../api/session.js');expect(_0x968808)['toBeDefined'](),expect(typeof _0x968808)[_0x3ba311(0x119)](_0x3ba311(0x120));const _0x37dceb=new _0x968808(_0x3ba311(0x115),0x1f90);expect(_0x37dceb)[_0x3ba311(0x139)](),expect(_0x37dceb['host'])['toBe']('localhost'),expect(_0x37dceb[_0x3ba311(0x136)])['toBe'](0x1f90),expect(_0x37dceb['baseUrl'])[_0x3ba311(0x119)]('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0x2fc7cb=a0_0x3eb8,{MessageRouter:_0x30dfdc}=await import(_0x2fc7cb(0x127)),{WebSocketManager:_0x3566f5}=await import(_0x2fc7cb(0x11b));expect(_0x30dfdc)[_0x2fc7cb(0x139)](),expect(typeof _0x30dfdc)['toBe'](_0x2fc7cb(0x120));const _0x12d8dc=new _0x3566f5('localhost',0x1f90),_0x3eb3d5=new _0x30dfdc(_0x12d8dc);expect(_0x3eb3d5)['toBeDefined'](),expect(_0x3eb3d5['ws'])[_0x2fc7cb(0x119)](_0x12d8dc);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x283429=a0_0x3eb8,{loggingMiddleware:_0x1d6155,filterMiddleware:_0x4213bf,transformMiddleware:_0x355694,timestampMiddleware:_0x524c3b,validationMiddleware:_0x169ed1}=await import(_0x283429(0x127));expect(typeof _0x1d6155)['toBe']('function'),expect(typeof _0x4213bf)['toBe']('function'),expect(typeof _0x355694)['toBe']('function'),expect(typeof _0x524c3b)[_0x283429(0x119)](_0x283429(0x120)),expect(typeof _0x169ed1)[_0x283429(0x119)]('function');}),test('useConnection hook can be imported',async()=>{const _0x55bad9=a0_0x3eb8,{useConnection:_0x25f4f2,useConnectionStatus:_0x371be7}=await import('../../state/useConnection.js');expect(_0x25f4f2)[_0x55bad9(0x139)](),expect(typeof _0x25f4f2)[_0x55bad9(0x119)]('function'),expect(_0x371be7)['toBeDefined'](),expect(typeof _0x371be7)['toBe'](_0x55bad9(0x120));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Basic\x20Functionality',()=>{const _0xcb01f3=a0_0xf2dfb8;test(_0xcb01f3(0x103),async()=>{const _0xb70966=_0xcb01f3,{WebSocketManager:_0x37572b}=await import(_0xb70966(0x11b)),{CONNECTION_STATE:_0xdc68b5}=await import(_0xb70966(0x141)),_0x1d586e=new _0x37572b(_0xb70966(0xf9),0x2382);expect(_0x1d586e['state'])['toBe'](_0xdc68b5['DISCONNECTED']),expect(_0x1d586e['sessionId'])[_0xb70966(0x119)](null),expect(_0x1d586e['messageQueue'])['toEqual']([]),expect(_0x1d586e['reconnectAttempts'])[_0xb70966(0x119)](0x0),expect(_0x1d586e['shouldReconnect'])['toBe'](!![]);}),test(_0xcb01f3(0x129),async()=>{const _0x54b2fb=_0xcb01f3,{SessionManager:_0x5008f3}=await import('../../api/session.js'),_0xf7ae92=new _0x5008f3('test-host',0x2382);expect(_0xf7ae92[_0x54b2fb(0x102)])['toBe'](null),expect(_0xf7ae92['projectDir'])[_0x54b2fb(0x119)](null),expect(_0xf7ae92[_0x54b2fb(0x142)])['toBe'](null),expect(_0xf7ae92[_0x54b2fb(0x12f)])[_0x54b2fb(0x114)]({}),expect(_0xf7ae92[_0x54b2fb(0x113)]())['toBe'](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x2539dd=_0xcb01f3,{MessageRouter:_0x3aede1}=await import(_0x2539dd(0x127)),{WebSocketManager:_0x2336bc}=await import(_0x2539dd(0x11b)),{WS_MESSAGE_TYPE:_0x28fb0a}=await import(_0x2539dd(0x141)),_0x4d2332=new _0x2336bc(_0x2539dd(0x115),0x1f90),_0x2a0d0e=new _0x3aede1(_0x4d2332);expect(_0x2a0d0e['hasHandler'](_0x28fb0a[_0x2539dd(0x100)]))[_0x2539dd(0x119)](!![]),expect(_0x2a0d0e[_0x2539dd(0xf4)](_0x28fb0a[_0x2539dd(0x123)]))[_0x2539dd(0x119)](!![]),expect(_0x2a0d0e['hasHandler'](_0x28fb0a[_0x2539dd(0xf7)]))[_0x2539dd(0x119)](!![]),expect(_0x2a0d0e[_0x2539dd(0xf4)](_0x28fb0a['COMPACTION_EVENT']))['toBe'](!![]),expect(_0x2a0d0e['hasHandler'](_0x28fb0a[_0x2539dd(0xf5)]))[_0x2539dd(0x119)](!![]);}),test(_0xcb01f3(0x125),async()=>{const _0x9df6dd=_0xcb01f3,{MessageRouter:_0x27cbed}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x5b6082}=await import(_0x9df6dd(0x11b)),_0x8898bf=new _0x5b6082('localhost',0x1f90),_0x32fb95=new _0x27cbed(_0x8898bf),_0x22e979=_0x5d8dba=>_0x5d8dba;expect(_0x32fb95['middleware']['length'])[_0x9df6dd(0x12b)](0x0),_0x32fb95[_0x9df6dd(0x124)](_0x22e979);const _0x58d2b4=_0x32fb95['middleware'][_0x9df6dd(0x134)];expect(_0x58d2b4)['toBeGreaterThan'](0x0),_0x32fb95['removeMiddleware'](_0x22e979),expect(_0x32fb95[_0x9df6dd(0x11e)][_0x9df6dd(0x134)])[_0x9df6dd(0x119)](_0x58d2b4-0x1);}),test('SessionManager\x20helper\x20methods\x20work',async()=>{const _0x684dee=_0xcb01f3,{SessionManager:_0x48a90a}=await import(_0x684dee(0x138)),_0x1ef58c=new _0x48a90a(_0x684dee(0x115),0x1f90);expect(_0x1ef58c['getSessionId']())[_0x684dee(0x119)](null),expect(_0x1ef58c['getProjectDir']())[_0x684dee(0x119)](null),expect(_0x1ef58c[_0x684dee(0x113)]())[_0x684dee(0x119)](![]);const _0x2d39bb=_0x1ef58c[_0x684dee(0x137)]();expect(_0x2d39bb)['toHaveProperty'](_0x684dee(0x102)),expect(_0x2d39bb)['toHaveProperty']('projectDir'),expect(_0x2d39bb)['toHaveProperty']('hasLoxiaKey'),expect(_0x2d39bb)[_0x684dee(0x13f)](_0x684dee(0x13e));}),test(_0xcb01f3(0x118),async()=>{const _0x33dacf=_0xcb01f3,{WebSocketManager:_0x208485}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x315a6f}=await import('../../config/constants.js'),_0x54ed86=new _0x208485('localhost',0x1f90);expect(_0x54ed86['getState']())[_0x33dacf(0x119)](_0x315a6f[_0x33dacf(0x12d)]),expect(_0x54ed86['isConnected']())['toBe'](![]),expect(_0x54ed86['getSessionId']())['toBe'](null);const _0x6e5b0f=_0x54ed86[_0x33dacf(0xf2)]();expect(_0x6e5b0f)['toHaveProperty']('state'),expect(_0x6e5b0f)['toHaveProperty'](_0x33dacf(0x102)),expect(_0x6e5b0f)['toHaveProperty']('reconnectAttempts'),expect(_0x6e5b0f)['toHaveProperty']('queuedMessages'),expect(_0x6e5b0f)['toHaveProperty'](_0x33dacf(0x13b));}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0x10d05b=_0xcb01f3,{MessageRouter:_0x3d8a94}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2be739}=await import('../../api/websocket.js'),_0x20af0e=new _0x2be739('localhost',0x1f90),_0x1203c3=new _0x3d8a94(_0x20af0e),_0x159f37=()=>{};expect(_0x1203c3[_0x10d05b(0xf4)]('test-message'))['toBe'](![]),_0x1203c3[_0x10d05b(0x10a)](_0x10d05b(0xfe),_0x159f37),expect(_0x1203c3[_0x10d05b(0xf4)]('test-message'))[_0x10d05b(0x119)](!![]),_0x1203c3['unregisterHandler']('test-message'),expect(_0x1203c3['hasHandler'](_0x10d05b(0xfe)))[_0x10d05b(0x119)](![]);}),test('MessageRouter\x20middleware\x20helpers\x20create\x20valid\x20middleware',async()=>{const _0x4e3fd6=_0xcb01f3,{loggingMiddleware:_0x188e09,timestampMiddleware:_0x112bc3,filterMiddleware:_0x15ea67}=await import(_0x4e3fd6(0x127)),_0x40761a=_0x188e09();expect(typeof _0x40761a)[_0x4e3fd6(0x119)]('function');const _0x115e31=_0x112bc3();expect(typeof _0x115e31)['toBe'](_0x4e3fd6(0x120));const _0x41049c={'type':_0x4e3fd6(0x12e)},_0x1f59ba=_0x115e31(_0x41049c);expect(_0x1f59ba)[_0x4e3fd6(0x13f)]('receivedAt'),expect(_0x1f59ba['type'])[_0x4e3fd6(0x119)](_0x4e3fd6(0x12e));const _0x510355=_0x15ea67(['allowed-type']);expect(typeof _0x510355)[_0x4e3fd6(0x119)](_0x4e3fd6(0x120)),expect(_0x510355({'type':_0x4e3fd6(0x107)}))[_0x4e3fd6(0x10e)](),expect(_0x510355({'type':_0x4e3fd6(0x109)}))[_0x4e3fd6(0x119)](null);}),test('Constants\x20have\x20no\x20magic\x20numbers',async()=>{const _0x4d9540=_0xcb01f3,_0xe24784=await import(_0x4d9540(0x141));expect(typeof _0xe24784['TIMING']['WEBSOCKET_RECONNECT_DELAY'])['toBe'](_0x4d9540(0x104)),expect(typeof _0xe24784['TIMING'][_0x4d9540(0xf3)])[_0x4d9540(0x119)](_0x4d9540(0x104)),expect(typeof _0xe24784['NETWORK'][_0x4d9540(0x110)])['toBe']('number'),expect(typeof _0xe24784[_0x4d9540(0x122)]['MAX_RETRIES'])['toBe'](_0x4d9540(0x104)),expect(typeof _0xe24784['NETWORK']['HTTP_TIMEOUT'])['toBe']('number'),expect(typeof _0xe24784['UI_DIMENSIONS'][_0x4d9540(0x128)])[_0x4d9540(0x119)](_0x4d9540(0x104)),expect(typeof _0xe24784['UI_DIMENSIONS'][_0x4d9540(0x10f)])['toBe'](_0x4d9540(0x104));});}),describe(a0_0xf2dfb8(0x10d),()=>{const _0x3238da=a0_0xf2dfb8;test(_0x3238da(0x132),async()=>{const _0x455d89=_0x3238da,{MessageRouter:_0x249460}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2420f6}=await import('../../api/websocket.js'),_0x135f35=new _0x2420f6('localhost',0x1f90),_0x1471d6=new _0x249460(_0x135f35);expect(()=>{const _0x42b5da=a0_0x3eb8;_0x1471d6['registerHandler'](_0x42b5da(0x12e),_0x42b5da(0x140));})[_0x455d89(0xfa)](_0x455d89(0x121));}),test('MessageRouter\x20throws\x20on\x20invalid\x20middleware',async()=>{const _0xb28784=_0x3238da,{MessageRouter:_0x138462}=await import(_0xb28784(0x127)),{WebSocketManager:_0x428ed1}=await import('../../api/websocket.js'),_0x27a2b8=new _0x428ed1(_0xb28784(0x115),0x1f90),_0x1c6188=new _0x138462(_0x27a2b8);expect(()=>{const _0x582c57=_0xb28784;_0x1c6188[_0x582c57(0x124)]('not-a-function');})[_0xb28784(0xfa)]('Middleware\x20must\x20be\x20a\x20function');}),test(_0x3238da(0x101),async()=>{const _0x16a791=_0x3238da,{SessionManager:_0x178172}=await import(_0x16a791(0x138)),_0x1fbc10=new _0x178172('localhost',0x1f90);_0x1fbc10['sessionId']=_0x16a791(0x10b),_0x1fbc10[_0x16a791(0x11f)]='/test/dir',_0x1fbc10[_0x16a791(0x142)]=_0x16a791(0x12c),_0x1fbc10[_0x16a791(0x12f)]={'openai':_0x16a791(0xfb)},expect(_0x1fbc10[_0x16a791(0x113)]())[_0x16a791(0x119)](!![]),_0x1fbc10['clear'](),expect(_0x1fbc10[_0x16a791(0x102)])['toBe'](null),expect(_0x1fbc10['projectDir'])['toBe'](null),expect(_0x1fbc10[_0x16a791(0x142)])['toBe'](null),expect(_0x1fbc10['vendorKeys'])['toEqual']({}),expect(_0x1fbc10[_0x16a791(0x113)]())['toBe'](![]);}),test(_0x3238da(0xf6),async()=>{const _0x357cc1=_0x3238da,{WebSocketManager:_0x10df33}=await import('../../api/websocket.js'),_0x278df0=new _0x10df33('localhost',0x1f90),_0x4e4b0b=_0x278df0['generateRequestId'](),_0x2b6098=_0x278df0['generateRequestId'](),_0x493724=_0x278df0['generateRequestId']();expect(_0x4e4b0b)[_0x357cc1(0x130)][_0x357cc1(0x119)](_0x2b6098),expect(_0x2b6098)[_0x357cc1(0x130)]['toBe'](_0x493724),expect(_0x4e4b0b)['not'][_0x357cc1(0x119)](_0x493724),expect(_0x4e4b0b)['toMatch'](/^req-\d+-\d+$/),expect(_0x2b6098)[_0x357cc1(0x108)](/^req-\d+-\d+$/),expect(_0x493724)[_0x357cc1(0x108)](/^req-\d+-\d+$/);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0xf810(_0x3a7057,_0xf256b6){_0x3a7057=_0x3a7057-0x19a;const _0x1d550b=a0_0x1d55();let _0xf81090=_0x1d550b[_0x3a7057];if(a0_0xf810['eQrMzs']===undefined){var _0x7aa2c0=function(_0x23732d){const _0x4b9b5d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x437494='',_0x183927='';for(let _0x2cb69c=0x0,_0x336f54,_0x3f8b84,_0x5eb937=0x0;_0x3f8b84=_0x23732d['charAt'](_0x5eb937++);~_0x3f8b84&&(_0x336f54=_0x2cb69c%0x4?_0x336f54*0x40+_0x3f8b84:_0x3f8b84,_0x2cb69c++%0x4)?_0x437494+=String['fromCharCode'](0xff&_0x336f54>>(-0x2*_0x2cb69c&0x6)):0x0){_0x3f8b84=_0x4b9b5d['indexOf'](_0x3f8b84);}for(let _0x31a865=0x0,_0x360b42=_0x437494['length'];_0x31a865<_0x360b42;_0x31a865++){_0x183927+='%'+('00'+_0x437494['charCodeAt'](_0x31a865)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x183927);};a0_0xf810['GGRGna']=_0x7aa2c0,a0_0xf810['WtDjWs']={},a0_0xf810['eQrMzs']=!![];}const _0xfa13d2=_0x1d550b[0x0],_0x2101f7=_0x3a7057+_0xfa13d2,_0x32ea05=a0_0xf810['WtDjWs'][_0x2101f7];return!_0x32ea05?(_0xf81090=a0_0xf810['GGRGna'](_0xf81090),a0_0xf810['WtDjWs'][_0x2101f7]=_0xf81090):_0xf81090=_0x32ea05,_0xf81090;}const a0_0xb6adff=a0_0xf810;(function(_0x237e09,_0x23f593){const _0x5d3f1e=a0_0xf810,_0x1eb036=_0x237e09();while(!![]){try{const _0x50d7f7=parseInt(_0x5d3f1e(0x1c3))/0x1+-parseInt(_0x5d3f1e(0x1b2))/0x2+parseInt(_0x5d3f1e(0x1c0))/0x3+-parseInt(_0x5d3f1e(0x1d1))/0x4*(-parseInt(_0x5d3f1e(0x1c5))/0x5)+parseInt(_0x5d3f1e(0x1ac))/0x6+-parseInt(_0x5d3f1e(0x1d0))/0x7*(-parseInt(_0x5d3f1e(0x1a2))/0x8)+parseInt(_0x5d3f1e(0x1b6))/0x9*(-parseInt(_0x5d3f1e(0x1c4))/0xa);if(_0x50d7f7===_0x23f593)break;else _0x1eb036['push'](_0x1eb036['shift']());}catch(_0x3deb27){_0x1eb036['push'](_0x1eb036['shift']());}}}(a0_0x1d55,0xe9870));function a0_0x1d55(){const _0x25fbc3=['u1Ltvevnx05pveLgsunbveLptG','ywDLBNqTCMvZCg9UC2u','BgvUz3rO','ndeXmdnRuu56s2e','u2vZC2LVBK1HBMfNzxi','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','BNvTyMvY','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbTzxnZywDLigXLBMD0Aa','zgvMyxvSDa','C3LZDgvT','l2fWAs9VCMnOzxn0CMf0B3i','tufyx01fu1nbr0vFtevor1ri','vvnfuL9nrvntquDf','ndC0mZi0ovDgrNfswG','quDftLrFtu9erv9dsefor0ve','yxnZAxn0yw50','mtGXnJi3ng50BKfeCG','odC3mgzQBhr6AG','mtbkEeLVz0m','u1Ltvevn','quDftLrFuKvtue9ou0u','Dg9czq','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','vvnfuG','DxnLCI1TzxnZywDL','qvntsvnuqu5u','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','uefhrv9tsvPf','tuvtu0fhrv9dt05gsuC','mtq4mZn5Ew5ksNK','mti3mdGYofflwvvOsa','twvZC2fNzsbnyw5Hz2vTzw50ic0GrxjYB3iGsgfUzgXPBMC','Dg9czuDYzwf0zxjuAgfU','Bg9JywXOB3n0','tufyx01fu1nbr0vtx0rju1bmqvK','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','t1jdsevtvfjbve9s','v2vIu29JA2v0twfUywDLCG','twvZC2fNzvjVDxrLCG','BwvZC2fNzv9HzgrLza','t3jJAgvZDhjHDg9YigvUzhbVAw50ignHBIbIzsb1C2vKigzVCIbTzxnZywDLig9WzxjHDgLVBNm','ntm5mKXKu3fXwa','AgfZsgfUzgXLCG','Dg9czurLzMLUzwq','Dg9czuXLC3nuAgfUt3jfCxvHBa','tuvtu0fhrv9uwvbf','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','BwLU','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','ywDLBNrFBw9Kzv9JAgfUz2vK','tufyx1bbr0vFu0LArq','nde5mtyYnhv5t3LWsa','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','DxnLtwvZC2fNzunVDw50ihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZifzHBgLKyxrPB24','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','tuvtu0fhrv9st0XfignVBNn0yw50CYbHCMuGzgvMAw5Lza','mJm5ntu4ogLRz2rlDq'];a0_0x1d55=function(){return _0x25fbc3;};return a0_0x1d55();}import{describe,test,expect}from'@jest/globals';describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0x295774=a0_0xf810,{useMessages:_0x437494}=await import(_0x295774(0x1cd));expect(_0x437494)['toBeDefined'](),expect(typeof _0x437494)['toBe']('function');}),test('useMessages is default export',async()=>{const _0x5dc61d=a0_0xf810,module=await import(_0x5dc61d(0x1cd));expect(module[_0x5dc61d(0x1bb)])[_0x5dc61d(0x1a4)](),expect(typeof module['default'])['toBe']('function'),expect(module[_0x5dc61d(0x1bb)])['toBe'](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const {useMessageCount:_0x183927}=await import('../../state/useMessages.js');expect(_0x183927)['toBeDefined'](),expect(typeof _0x183927)['toBe']('function');});}),describe('Message\x20Management\x20-\x20Constants',()=>{const _0x5b1155=a0_0xf810;test(_0x5b1155(0x1b1),async()=>{const _0x565866=_0x5b1155,{MESSAGE_ROLE:_0x2cb69c}=await import('../../config/constants.js');expect(_0x2cb69c)['toBeDefined'](),expect(_0x2cb69c[_0x565866(0x1ca)])[_0x565866(0x1c8)]('user'),expect(_0x2cb69c[_0x565866(0x1cc)])['toBe'](_0x565866(0x1c2)),expect(_0x2cb69c['SYSTEM'])[_0x565866(0x1c8)](_0x565866(0x1bc));}),test(_0x5b1155(0x1b8),async()=>{const _0x1e0eca=_0x5b1155,{MESSAGE_TYPE:_0x336f54}=await import('../../config/constants.js');expect(_0x336f54)[_0x1e0eca(0x1a4)](),expect(_0x336f54[_0x1e0eca(0x1bf)])['toBe'](_0x1e0eca(0x1cb)),expect(_0x336f54[_0x1e0eca(0x1c7)])['toBe'](_0x1e0eca(0x1b4)),expect(_0x336f54[_0x1e0eca(0x1b3)])[_0x1e0eca(0x1c8)]('system-notification');}),test('MESSAGE_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x56a092=_0x5b1155,{MESSAGE_CONFIG:_0x3f8b84}=await import('../../config/constants.js');expect(_0x3f8b84)['toBeDefined'](),expect(_0x3f8b84['MAX_MESSAGE_LENGTH'])[_0x56a092(0x1a4)](),expect(_0x3f8b84[_0x56a092(0x19b)])['toBeDefined'](),expect(typeof _0x3f8b84[_0x56a092(0x1be)])['toBe'](_0x56a092(0x1b9)),expect(typeof _0x3f8b84[_0x56a092(0x19b)])[_0x56a092(0x1c8)](_0x56a092(0x1b9));}),test('PAGINATION\x20constants\x20are\x20defined',async()=>{const _0xaeeebe=_0x5b1155,{PAGINATION:_0x5eb937}=await import(_0xaeeebe(0x1b0));expect(_0x5eb937)['toBeDefined'](),expect(_0x5eb937[_0xaeeebe(0x1ce)])['toBeDefined'](),expect(_0x5eb937[_0xaeeebe(0x1ab)])['toBeDefined'](),expect(typeof _0x5eb937['PAGE_SIZE'])['toBe'](_0xaeeebe(0x1b9)),expect(typeof _0x5eb937['MAX_PAGE_SIZE'])['toBe']('number');}),test('WS_MESSAGE_TYPE\x20includes\x20message\x20events',async()=>{const _0x5db810=_0x5b1155,{WS_MESSAGE_TYPE:_0x31a865}=await import('../../config/constants.js');expect(_0x31a865)['toBeDefined'](),expect(_0x31a865['MESSAGE_ADDED'])['toBe'](_0x5db810(0x1a0)),expect(_0x31a865[_0x5db810(0x1c1)])[_0x5db810(0x1c8)](_0x5db810(0x1aa)),expect(_0x31a865['EXECUTION_STOPPED'])[_0x5db810(0x1c8)]('execution_stopped');});}),describe('Message\x20Management\x20-\x20Integration',()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x3c2a60=a0_0xf810,{useMessages:_0x360b42}=await import(_0x3c2a60(0x1cd)),{SessionManager:_0x48dbfd}=await import('../../api/session.js'),{MessageRouter:_0x831dbe}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x5e6161}=await import('../../api/websocket.js'),_0x5eb323=new _0x48dbfd(_0x3c2a60(0x19a),0x1f90),_0x16ea1f=new _0x5e6161('localhost',0x1f90),_0x3c2bba=new _0x831dbe(_0x16ea1f);expect(_0x5eb323)[_0x3c2a60(0x1a4)](),expect(_0x3c2bba)['toBeDefined'](),expect(typeof _0x360b42)['toBe']('function');}),test('Full message management stack can be imported together',async()=>{const _0x7d19c=a0_0xf810,[_0x3c8df1,_0x15bf25,_0x5af6c0,_0x4635fb,_0x20a905]=await Promise['all']([import(_0x7d19c(0x1b0)),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x7d19c(0x1ad)),import(_0x7d19c(0x1cd))]);expect(_0x3c8df1['MESSAGE_ROLE'])[_0x7d19c(0x1a4)](),expect(_0x3c8df1[_0x7d19c(0x1a6)])['toBeDefined'](),expect(_0x3c8df1[_0x7d19c(0x1cf)])[_0x7d19c(0x1a4)](),expect(_0x15bf25[_0x7d19c(0x1b7)])[_0x7d19c(0x1a4)](),expect(_0x5af6c0[_0x7d19c(0x19e)])[_0x7d19c(0x1a4)](),expect(_0x4635fb[_0x7d19c(0x19f)])['toBeDefined'](),expect(_0x20a905['useMessages'])[_0x7d19c(0x1a4)]();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x48abcb=a0_0xf810;test(_0x48abcb(0x1a1),async()=>{const _0x15fb4e=_0x48abcb,{API_ENDPOINTS:_0x4e1201}=await import('../../config/constants.js');expect(_0x4e1201['ORCHESTRATOR'])['toBeDefined'](),expect(_0x4e1201[_0x15fb4e(0x19d)])['toBe'](_0x15fb4e(0x1bd));}),test(_0x48abcb(0x1a7),async()=>{const {API_ENDPOINTS:_0x1b99d6}=await import('../../config/constants.js');expect(_0x1b99d6['ORCHESTRATOR'])['toMatch'](/^\/api\//);});}),describe(a0_0xb6adff(0x19c),()=>{const _0x2f72b1=a0_0xb6adff;test('useMessages\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x20f663=a0_0xf810,{useMessages:_0xa12096}=await import('../../state/useMessages.js');expect(_0xa12096['length'])[_0x20f663(0x1c8)](0x3);}),test(_0x2f72b1(0x1ae),async()=>{const _0xfbb452=_0x2f72b1,{useMessageCount:_0x219cd6}=await import(_0xfbb452(0x1cd));expect(_0x219cd6[_0xfbb452(0x1b5)])['toBe'](0x1);});}),describe(a0_0xb6adff(0x1af),()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x57f3b0=a0_0xf810,{MESSAGE_CONFIG:_0x5162cc}=await import('../../config/constants.js');expect(_0x5162cc[_0x57f3b0(0x1be)])[_0x57f3b0(0x1d3)](0x0),expect(_0x5162cc[_0x57f3b0(0x1be)])[_0x57f3b0(0x1a5)](0x186a0),expect(_0x5162cc['MAX_MESSAGES_DISPLAY'])[_0x57f3b0(0x1d3)](0x0),expect(_0x5162cc[_0x57f3b0(0x19b)])[_0x57f3b0(0x1a5)](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x2f4bea=a0_0xf810,{PAGINATION:_0x5732f1}=await import('../../config/constants.js');expect(_0x5732f1[_0x2f4bea(0x1ce)])[_0x2f4bea(0x1d3)](0x0),expect(_0x5732f1['PAGE_SIZE'])[_0x2f4bea(0x1a5)](0x3e8),expect(_0x5732f1[_0x2f4bea(0x1ab)])['toBeGreaterThanOrEqual'](_0x5732f1['PAGE_SIZE']);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0x149232=a0_0xf810,{MESSAGE_ROLE:_0x422148}=await import(_0x149232(0x1b0));expect(_0x422148[_0x149232(0x1ca)])[_0x149232(0x1c8)](_0x422148['USER']['toLowerCase']()),expect(_0x422148[_0x149232(0x1cc)])['toBe'](_0x422148[_0x149232(0x1cc)]['toLowerCase']()),expect(_0x422148[_0x149232(0x1c6)])[_0x149232(0x1c8)](_0x422148[_0x149232(0x1c6)]['toLowerCase']());});}),describe(a0_0xb6adff(0x1a9),()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0x345296=a0_0xf810,{MessageRouter:_0x607ca5}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x22deaa}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x5d7735}=await import('../../config/constants.js'),_0x269aa3=new _0x22deaa('localhost',0x1f90),_0x4b15a4=new _0x607ca5(_0x269aa3);expect(_0x4b15a4[_0x345296(0x1a3)](_0x5d7735['MESSAGE_ADDED']))[_0x345296(0x1c8)](!![]),expect(_0x4b15a4[_0x345296(0x1a3)](_0x5d7735['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe(a0_0xb6adff(0x1d2),()=>{const _0x3fd8dc=a0_0xb6adff;test(_0x3fd8dc(0x1ba),async()=>{const _0x17394c=_0x3fd8dc,{MESSAGE_CONFIG:_0x2b8b7e}=await import(_0x17394c(0x1b0));expect(_0x2b8b7e[_0x17394c(0x1be)])[_0x17394c(0x1a4)](),expect(typeof _0x2b8b7e['MAX_MESSAGE_LENGTH'])[_0x17394c(0x1c8)]('number');const _0x2e53c4='a'['repeat'](_0x2b8b7e['MAX_MESSAGE_LENGTH']+0x1);expect(_0x2e53c4[_0x17394c(0x1b5)])[_0x17394c(0x1d3)](_0x2b8b7e[_0x17394c(0x1be)]);}),test('MESSAGE_CONFIG\x20enforces\x20maximum\x20display\x20messages',async()=>{const _0x13b875=_0x3fd8dc,{MESSAGE_CONFIG:_0x536eb7}=await import(_0x13b875(0x1b0));expect(_0x536eb7['MAX_MESSAGES_DISPLAY'])['toBeDefined'](),expect(typeof _0x536eb7[_0x13b875(0x19b)])['toBe']('number'),expect(_0x536eb7['MAX_MESSAGES_DISPLAY'])[_0x13b875(0x1d3)](0x0);});}),describe(a0_0xb6adff(0x1c9),()=>{test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x4b7311=a0_0xf810,{PAGINATION:_0x2099d4}=await import(_0x4b7311(0x1b0)),_0x53c2f1=0x0,_0x1a9eba=_0x53c2f1*_0x2099d4['PAGE_SIZE'];expect(_0x1a9eba)['toBe'](0x0);const _0x2efdcb=0x1,_0x33decd=_0x2efdcb*_0x2099d4[_0x4b7311(0x1ce)];expect(_0x33decd)[_0x4b7311(0x1c8)](_0x2099d4[_0x4b7311(0x1ce)]);}),test('PAGINATION\x20limit\x20does\x20not\x20exceed\x20MAX_PAGE_SIZE',async()=>{const _0x17af94=a0_0xf810,{PAGINATION:_0x4aa290}=await import('../../config/constants.js'),_0x14c8f4=0x3e8,_0x9fa545=Math[_0x17af94(0x1a8)](_0x14c8f4,_0x4aa290['MAX_PAGE_SIZE']);expect(_0x9fa545)[_0x17af94(0x1a5)](_0x4aa290['MAX_PAGE_SIZE']);});});
|
|
1
|
+
const a0_0xf72ec1=a0_0x10fd;(function(_0xfa8f8c,_0x4536b1){const _0x5a5d49=a0_0x10fd,_0x3a6059=_0xfa8f8c();while(!![]){try{const _0x52d5e1=-parseInt(_0x5a5d49(0x22c))/0x1*(parseInt(_0x5a5d49(0x203))/0x2)+parseInt(_0x5a5d49(0x213))/0x3+-parseInt(_0x5a5d49(0x212))/0x4+parseInt(_0x5a5d49(0x227))/0x5*(parseInt(_0x5a5d49(0x21f))/0x6)+-parseInt(_0x5a5d49(0x224))/0x7*(-parseInt(_0x5a5d49(0x228))/0x8)+parseInt(_0x5a5d49(0x209))/0x9*(parseInt(_0x5a5d49(0x20d))/0xa)+parseInt(_0x5a5d49(0x21a))/0xb*(parseInt(_0x5a5d49(0x219))/0xc);if(_0x52d5e1===_0x4536b1)break;else _0x3a6059['push'](_0x3a6059['shift']());}catch(_0xed07f1){_0x3a6059['push'](_0x3a6059['shift']());}}}(a0_0x59c3,0x626da));function a0_0x59c3(){const _0x19bb3d=['uefhrv9tsvPf','mtaXndGZmNvyB0LMwq','mJi0ntq3qMrpDwv6','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZifzHBgLKyxrPB24','Dg9czq','tufyx01fu1nbr0vFtevor1ri','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','zNvUy3rPB24','mtyWotjvtNf5D2m','nta2z0PbCwXk','vvnfuL9nrvntquDf','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','DxnLtwvZC2fNzunVDw50ihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','mZe0ntjOzxr2quq','zgvMyxvSDa','uefhsu5bveLptIbJB25ZDgfUDhmGyxjLigrLzMLUzwq','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','mtrxtuj6rLy','DxnLtwvZC2fNzxmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','ndbQANHNCeu','ntmZmtq0qwHhyNjK','tuvtu0fhrv9st0Xf','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','zxHLy3v0Aw9Ux3n0B3bWzwq','n1vSvhHmzG','rvHfq1vusu9ox1nut1bqruq','tuvtu0fhrv9dt05gsuCGy29UC3rHBNrZigfYzsbKzwzPBMvK','t1jdsevtvfjbve9s','Bg9JywXOB3n0','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1LC3nHz2uGzxzLBNrZ','BNvTyMvY','tufyx01fu1nbr0vtx0rju1bmqvK','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Dg9czuDYzwf0zxjuAgfU','BgvUz3rO','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbKAxnWBgf5ig1LC3nHz2vZ','Dg9czurLzMLUzwq','ywDLBNqTCMvZCg9UC2u','l2fWAs9VCMnOzxn0CMf0B3i','DxnLtwvZC2fNzxm','C3LZDgvTlw5VDgLMAwnHDgLVBG','t3jJAgvZDhjHDg9YigvUzhbVAw50ignHBIbIzsb1C2vKigzVCIbTzxnZywDLig9WzxjHDgLVBNm','uefhsu5bveLptIbSAw1PDcbKB2vZig5VDcbLEgnLzwqGtufyx1bbr0vFu0LArq','qvntsvnuqu5u','otaYnJjSvK1fuha','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','tufyx1bbr0vFu0LArq','C3LZDgvT','Dg9czuXLC3nuAgfUt3jfCxvHBa','AgfZsgfUzgXLCG','otbXrvP5AuK','lI4VlI4VyxbPl3nLC3nPB24UANm','twvZC2fNzvjVDxrLCG','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','nJyXmdmWCfHptvDt','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','u2vZC2LVBK1HBMfNzxi','u1Ltvevn'];a0_0x59c3=function(){return _0x19bb3d;};return a0_0x59c3();}import{describe,test,expect}from'@jest/globals';function a0_0x10fd(_0x4a98d6,_0x1e6a42){_0x4a98d6=_0x4a98d6-0x1f2;const _0x59c34c=a0_0x59c3();let _0x10fd79=_0x59c34c[_0x4a98d6];if(a0_0x10fd['IbWFXl']===undefined){var _0x1c8411=function(_0x571297){const _0x4fc56a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c9b0f='',_0x3f38bd='';for(let _0x515896=0x0,_0x3b9dea,_0x3052a1,_0x28c605=0x0;_0x3052a1=_0x571297['charAt'](_0x28c605++);~_0x3052a1&&(_0x3b9dea=_0x515896%0x4?_0x3b9dea*0x40+_0x3052a1:_0x3052a1,_0x515896++%0x4)?_0x2c9b0f+=String['fromCharCode'](0xff&_0x3b9dea>>(-0x2*_0x515896&0x6)):0x0){_0x3052a1=_0x4fc56a['indexOf'](_0x3052a1);}for(let _0x52c21d=0x0,_0x3ad727=_0x2c9b0f['length'];_0x52c21d<_0x3ad727;_0x52c21d++){_0x3f38bd+='%'+('00'+_0x2c9b0f['charCodeAt'](_0x52c21d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f38bd);};a0_0x10fd['eMSMlG']=_0x1c8411,a0_0x10fd['TWqAVt']={},a0_0x10fd['IbWFXl']=!![];}const _0x158eca=_0x59c34c[0x0],_0x4dd1df=_0x4a98d6+_0x158eca,_0x2318e8=a0_0x10fd['TWqAVt'][_0x4dd1df];return!_0x2318e8?(_0x10fd79=a0_0x10fd['eMSMlG'](_0x10fd79),a0_0x10fd['TWqAVt'][_0x4dd1df]=_0x10fd79):_0x10fd79=_0x2318e8,_0x10fd79;}describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0xad907d=a0_0x10fd,{useMessages:_0x2c9b0f}=await import('../../state/useMessages.js');expect(_0x2c9b0f)[_0xad907d(0x1fb)](),expect(typeof _0x2c9b0f)[_0xad907d(0x215)]('function');}),test('useMessages is default export',async()=>{const _0x5b7a85=a0_0x10fd,module=await import(_0x5b7a85(0x21c));expect(module['default'])[_0x5b7a85(0x1fb)](),expect(typeof module[_0x5b7a85(0x220)])[_0x5b7a85(0x215)]('function'),expect(module['default'])[_0x5b7a85(0x215)](module[_0x5b7a85(0x1fe)]);}),test('useMessageCount helper hook can be imported',async()=>{const _0x599488=a0_0x10fd,{useMessageCount:_0x3f38bd}=await import(_0x599488(0x21c));expect(_0x3f38bd)['toBeDefined'](),expect(typeof _0x3f38bd)['toBe'](_0x599488(0x218));});}),describe(a0_0xf72ec1(0x21e),()=>{const _0x296ab8=a0_0xf72ec1;test('MESSAGE_ROLE\x20constants\x20are\x20defined',async()=>{const _0x2664a6=a0_0x10fd,{MESSAGE_ROLE:_0x515896}=await import('../../config/constants.js');expect(_0x515896)['toBeDefined'](),expect(_0x515896['USER'])[_0x2664a6(0x215)]('user'),expect(_0x515896[_0x2664a6(0x202)])[_0x2664a6(0x215)]('assistant'),expect(_0x515896['SYSTEM'])['toBe'](_0x2664a6(0x206));}),test(_0x296ab8(0x204),async()=>{const _0x121688=_0x296ab8,{MESSAGE_TYPE:_0x3b9dea}=await import(_0x121688(0x1f7));expect(_0x3b9dea)[_0x121688(0x1fb)](),expect(_0x3b9dea[_0x121688(0x21b)])[_0x121688(0x215)]('user-message'),expect(_0x3b9dea['AGENT_RESPONSE'])['toBe'](_0x121688(0x1fc)),expect(_0x3b9dea['SYSTEM_NOTIFICATION'])['toBe'](_0x121688(0x1ff));}),test(_0x296ab8(0x22e),async()=>{const _0x1be95e=_0x296ab8,{MESSAGE_CONFIG:_0x3052a1}=await import(_0x1be95e(0x1f7));expect(_0x3052a1)[_0x1be95e(0x1fb)](),expect(_0x3052a1[_0x1be95e(0x216)])['toBeDefined'](),expect(_0x3052a1['MAX_MESSAGES_DISPLAY'])[_0x1be95e(0x1fb)](),expect(typeof _0x3052a1['MAX_MESSAGE_LENGTH'])['toBe']('number'),expect(typeof _0x3052a1['MAX_MESSAGES_DISPLAY'])[_0x1be95e(0x215)](_0x1be95e(0x1f5));}),test(_0x296ab8(0x221),async()=>{const _0x55b3ba=_0x296ab8,{PAGINATION:_0x28c605}=await import(_0x55b3ba(0x1f7));expect(_0x28c605)[_0x55b3ba(0x1fb)](),expect(_0x28c605[_0x55b3ba(0x211)])['toBeDefined'](),expect(_0x28c605[_0x55b3ba(0x205)])['toBeDefined'](),expect(typeof _0x28c605['PAGE_SIZE'])['toBe'](_0x55b3ba(0x1f5)),expect(typeof _0x28c605['MAX_PAGE_SIZE'])['toBe']('number');}),test(_0x296ab8(0x1f4),async()=>{const _0x88cce3=_0x296ab8,{WS_MESSAGE_TYPE:_0x52c21d}=await import('../../config/constants.js');expect(_0x52c21d)[_0x88cce3(0x1fb)](),expect(_0x52c21d['MESSAGE_ADDED'])['toBe']('message_added'),expect(_0x52c21d['AGENT_MODE_CHANGED'])[_0x88cce3(0x215)]('agent_mode_changed'),expect(_0x52c21d[_0x88cce3(0x22d)])['toBe'](_0x88cce3(0x22b));});}),describe('Message\x20Management\x20-\x20Integration',()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x23e81b=a0_0x10fd,{useMessages:_0x3ad727}=await import('../../state/useMessages.js'),{SessionManager:_0x5e4c89}=await import(_0x23e81b(0x20a)),{MessageRouter:_0x350e9a}=await import(_0x23e81b(0x20e)),{WebSocketManager:_0x1a8b72}=await import('../../api/websocket.js'),_0xb2f646=new _0x5e4c89(_0x23e81b(0x1f3),0x1f90),_0x4d1a8c=new _0x1a8b72('localhost',0x1f90),_0x13a403=new _0x350e9a(_0x4d1a8c);expect(_0xb2f646)['toBeDefined'](),expect(_0x13a403)['toBeDefined'](),expect(typeof _0x3ad727)['toBe'](_0x23e81b(0x218));}),test('Full message management stack can be imported together',async()=>{const _0x31fea9=a0_0x10fd,[_0x279bfe,_0x2cdfcd,_0x290dcb,_0x266384,_0x5c74be]=await Promise['all']([import(_0x31fea9(0x1f7)),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x31fea9(0x20e)),import('../../state/useMessages.js')]);expect(_0x279bfe[_0x31fea9(0x229)])[_0x31fea9(0x1fb)](),expect(_0x279bfe['MESSAGE_TYPE'])['toBeDefined'](),expect(_0x279bfe['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x2cdfcd[_0x31fea9(0x20f)])[_0x31fea9(0x1fb)](),expect(_0x290dcb['WebSocketManager'])[_0x31fea9(0x1fb)](),expect(_0x266384[_0x31fea9(0x20b)])[_0x31fea9(0x1fb)](),expect(_0x5c74be[_0x31fea9(0x1fe)])['toBeDefined']();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x26689f=a0_0xf72ec1;test(_0x26689f(0x200),async()=>{const _0x3f2107=_0x26689f,{API_ENDPOINTS:_0x407c73}=await import('../../config/constants.js');expect(_0x407c73[_0x3f2107(0x1f2)])['toBeDefined'](),expect(_0x407c73['ORCHESTRATOR'])['toBe'](_0x3f2107(0x1fd));}),test(_0x26689f(0x22a),async()=>{const _0x167ae4=_0x26689f,{API_ENDPOINTS:_0x49d276}=await import(_0x167ae4(0x1f7));expect(_0x49d276['ORCHESTRATOR'])['toMatch'](/^\/api\//);});}),describe(a0_0xf72ec1(0x222),()=>{const _0x19914c=a0_0xf72ec1;test(_0x19914c(0x225),async()=>{const _0x14532a=_0x19914c,{useMessages:_0x3c4148}=await import('../../state/useMessages.js');expect(_0x3c4148[_0x14532a(0x1f9)])['toBe'](0x3);}),test(_0x19914c(0x21d),async()=>{const _0x153a29=_0x19914c,{useMessageCount:_0x1953ee}=await import(_0x153a29(0x21c));expect(_0x1953ee[_0x153a29(0x1f9)])['toBe'](0x1);});}),describe(a0_0xf72ec1(0x214),()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x3ee358=a0_0x10fd,{MESSAGE_CONFIG:_0x59782d}=await import(_0x3ee358(0x1f7));expect(_0x59782d['MAX_MESSAGE_LENGTH'])[_0x3ee358(0x1f8)](0x0),expect(_0x59782d['MAX_MESSAGE_LENGTH'])[_0x3ee358(0x207)](0x186a0),expect(_0x59782d[_0x3ee358(0x1f6)])[_0x3ee358(0x1f8)](0x0),expect(_0x59782d['MAX_MESSAGES_DISPLAY'])['toBeLessThanOrEqual'](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x226aa6=a0_0x10fd,{PAGINATION:_0x38b908}=await import(_0x226aa6(0x1f7));expect(_0x38b908['PAGE_SIZE'])[_0x226aa6(0x1f8)](0x0),expect(_0x38b908['PAGE_SIZE'])[_0x226aa6(0x207)](0x3e8),expect(_0x38b908['MAX_PAGE_SIZE'])[_0x226aa6(0x217)](_0x38b908['PAGE_SIZE']);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0xaa307e=a0_0x10fd,{MESSAGE_ROLE:_0x459c86}=await import(_0xaa307e(0x1f7));expect(_0x459c86['USER'])['toBe'](_0x459c86['USER']['toLowerCase']()),expect(_0x459c86[_0xaa307e(0x202)])[_0xaa307e(0x215)](_0x459c86[_0xaa307e(0x202)]['toLowerCase']()),expect(_0x459c86[_0xaa307e(0x210)])['toBe'](_0x459c86['SYSTEM']['toLowerCase']());});}),describe(a0_0xf72ec1(0x20c),()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0xa300cb=a0_0x10fd,{MessageRouter:_0xe4f906}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x35e80e}=await import(_0xa300cb(0x226)),{WS_MESSAGE_TYPE:_0x21056c}=await import(_0xa300cb(0x1f7)),_0x271f94=new _0x35e80e(_0xa300cb(0x1f3),0x1f90),_0x3c25bb=new _0xe4f906(_0x271f94);expect(_0x3c25bb[_0xa300cb(0x208)](_0x21056c['MESSAGE_ADDED']))[_0xa300cb(0x215)](!![]),expect(_0x3c25bb['hasHandler'](_0x21056c['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe('Message\x20Management\x20-\x20Error\x20Handling',()=>{const _0x3a04c1=a0_0xf72ec1;test('MESSAGE_CONFIG\x20enforces\x20maximum\x20message\x20length',async()=>{const _0x2c7b30=a0_0x10fd,{MESSAGE_CONFIG:_0x147648}=await import(_0x2c7b30(0x1f7));expect(_0x147648[_0x2c7b30(0x216)])[_0x2c7b30(0x1fb)](),expect(typeof _0x147648['MAX_MESSAGE_LENGTH'])[_0x2c7b30(0x215)](_0x2c7b30(0x1f5));const _0x4a33a3='a'['repeat'](_0x147648['MAX_MESSAGE_LENGTH']+0x1);expect(_0x4a33a3[_0x2c7b30(0x1f9)])[_0x2c7b30(0x1f8)](_0x147648[_0x2c7b30(0x216)]);}),test(_0x3a04c1(0x1fa),async()=>{const _0xcf0025=_0x3a04c1,{MESSAGE_CONFIG:_0x353435}=await import(_0xcf0025(0x1f7));expect(_0x353435[_0xcf0025(0x1f6)])['toBeDefined'](),expect(typeof _0x353435[_0xcf0025(0x1f6)])[_0xcf0025(0x215)](_0xcf0025(0x1f5)),expect(_0x353435['MAX_MESSAGES_DISPLAY'])[_0xcf0025(0x1f8)](0x0);});}),describe(a0_0xf72ec1(0x223),()=>{const _0x2ee076=a0_0xf72ec1;test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x1f472e=a0_0x10fd,{PAGINATION:_0x119fe7}=await import(_0x1f472e(0x1f7)),_0x422a33=0x0,_0xf19710=_0x422a33*_0x119fe7['PAGE_SIZE'];expect(_0xf19710)['toBe'](0x0);const _0x4f6d03=0x1,_0x459a43=_0x4f6d03*_0x119fe7[_0x1f472e(0x211)];expect(_0x459a43)['toBe'](_0x119fe7[_0x1f472e(0x211)]);}),test(_0x2ee076(0x201),async()=>{const _0x42e439=_0x2ee076,{PAGINATION:_0xc4aabc}=await import('../../config/constants.js'),_0x370601=0x3e8,_0x228173=Math['min'](_0x370601,_0xc4aabc[_0x42e439(0x205)]);expect(_0x228173)['toBeLessThanOrEqual'](_0xc4aabc[_0x42e439(0x205)]);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x21f5(_0x3d568e,_0x2bdd36){_0x3d568e=_0x3d568e-0x103;const _0x5b8ffd=a0_0x5b8f();let _0x21f57d=_0x5b8ffd[_0x3d568e];if(a0_0x21f5['qyXgXr']===undefined){var _0x410efd=function(_0x20c02){const _0x28c961='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c433e='',_0xe4750b='';for(let _0x5a69b4=0x0,_0x511556,_0x3c208e,_0x4a4bef=0x0;_0x3c208e=_0x20c02['charAt'](_0x4a4bef++);~_0x3c208e&&(_0x511556=_0x5a69b4%0x4?_0x511556*0x40+_0x3c208e:_0x3c208e,_0x5a69b4++%0x4)?_0x2c433e+=String['fromCharCode'](0xff&_0x511556>>(-0x2*_0x5a69b4&0x6)):0x0){_0x3c208e=_0x28c961['indexOf'](_0x3c208e);}for(let _0x236124=0x0,_0x470327=_0x2c433e['length'];_0x236124<_0x470327;_0x236124++){_0xe4750b+='%'+('00'+_0x2c433e['charCodeAt'](_0x236124)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe4750b);};a0_0x21f5['fyNUub']=_0x410efd,a0_0x21f5['dSxoEQ']={},a0_0x21f5['qyXgXr']=!![];}const _0x3b85f6=_0x5b8ffd[0x0],_0x3f5e4c=_0x3d568e+_0x3b85f6,_0xcec0c3=a0_0x21f5['dSxoEQ'][_0x3f5e4c];return!_0xcec0c3?(_0x21f57d=a0_0x21f5['fyNUub'](_0x21f57d),a0_0x21f5['dSxoEQ'][_0x3f5e4c]=_0x21f57d):_0x21f57d=_0xcec0c3,_0x21f57d;}const a0_0xa95e53=a0_0x21f5;function a0_0x5b8f(){const _0x594090=['Dg9czurLzMLUzwq','zw5HyMXLza','BwfW','AgfZsgfUzgXLCG','BMfTzq','uMvHzcbJB250zw50CYbVzIbHigzPBgu','C2L6zq','mNDUCw1hyG','ve9ptf9dqvrfr09swsbJB25ZDgfUDhmGyxjLigrLzMLUzwq','vg9VBhmGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','l2fWAs9VCMnOzxn0CMf0B3i','Dg9czq','ve9ptfm','vg9VBhmGtwfUywDLBwvUDcaTienVBNn0yw50CW','vg9VBhmGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','mZzODxHsBMW','y2f0zwDVCNK','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','Dg9fCxvHBa','t3jJAgvZDhjHDg9YigvUzhbVAw50igLZihvZzwqGzM9YihrVB2WGB3bLCMf0Aw9UCW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','DxnLvg9VBhm','AgfZ','lI4VlI4VyxbPl3nLC3nPB24UANm','l2fWAs90B29SCW','qvvut01bveLptG','Dg9nyxrJAa','mtiYmJa1mhnsr2nvzq','zNvUy3rPB24','nZC3nZDLwgnACg4','ywLFyxnZAxn0yw50','mJGWndi0ofvOALrJCq','vvrjteLuwq','mZzpB3vREK4','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','nJq3mJm0nxP0yKnRqG','vg9VBhmGtwfUywDLBwvUDcaTieLTCg9YDhm','z2v0','zxHLy3v0zv9JB21Tyw5K','Dg9mB3DLCKnHC2u','q09mtefct1jbveLptG','ve9ptf9dqvrfr09swq','ve9ptf9dqvrfr09swsbPBMnSDwrLCYbHBgWGBwfQB3iGy2f0zwDVCMLLCW','C3vJy2vZCW','BM93','zxHLyY0X','yw5HBhL6zq','Dg9dB250ywLU','t1jdsevtvfjbve9s','DxnLvg9VBhmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','ndeXnZuYs0XVCxvr','vg9VBhmGtwfUywDLBwvUDcaTifDLyLnVy2TLDcbfDMvUDcbiyw5KBgvYCW','zgvMyxvSDa','ve9ptf9dqvrfr09swsb2ywX1zxmGyxjLigXVD2vYy2fZzq','rxHLy3v0Aw9Uihn0yxrLignHBIb0CMfJAYbTDwX0AxbSzsb0B29SCW','zMLSzsbJB250zw50CW','zgvSzxrL','DgvYBwLUywW','twvZC2fNzvjVDxrLCIbOyxmGDg9VBcbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','BgvUz3rO','vg9VBhmGtwfUywDLBwvUDcaTienVBNn0yw50CYbwywXPzgf0Aw9U','D2vIx3nLyxjJAa','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2fJAgLUzW','yw5HBhL6zv9JB2rL','CMvHzf9MAwXL','ywrK','q2f0zwDVCNKGy291BNrZignHBIbIzsbJywXJDwXHDgvK','Aw5JBhvKzxm','vg9VBcbJywnOzsbLEhbPCMvZigfMDgvYifruta','mtmZnZC5mefkEMjIEG','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGrMLSDgvYAw5N','nZKWnZa4seXZCMDO','nujJAfD5Ea','Bg9JywXOB3n0','vg9VBhmGqvbjigvUzhbVAw50igLZigrLzMLUzwq','qu5btfLtsvm','zMLSDgvY','u1Ltvevn'];a0_0x5b8f=function(){return _0x594090;};return a0_0x5b8f();}(function(_0x4c4b5f,_0x3eca6c){const _0x2754e6=a0_0x21f5,_0x20e353=_0x4c4b5f();while(!![]){try{const _0x5e5d61=parseInt(_0x2754e6(0x138))/0x1+parseInt(_0x2754e6(0x10c))/0x2*(parseInt(_0x2754e6(0x14b))/0x3)+-parseInt(_0x2754e6(0x14d))/0x4*(parseInt(_0x2754e6(0x14e))/0x5)+-parseInt(_0x2754e6(0x126))/0x6*(-parseInt(_0x2754e6(0x122))/0x7)+-parseInt(_0x2754e6(0x124))/0x8+parseInt(_0x2754e6(0x114))/0x9*(parseInt(_0x2754e6(0x120))/0xa)+-parseInt(_0x2754e6(0x128))/0xb;if(_0x5e5d61===_0x3eca6c)break;else _0x20e353['push'](_0x20e353['shift']());}catch(_0xe508b3){_0x20e353['push'](_0x20e353['shift']());}}}(a0_0x5b8f,0x43855));import{describe,test,expect}from'@jest/globals';describe(a0_0xa95e53(0x129),()=>{test('useTools hook can be imported',async()=>{const {useTools:_0x2c433e}=await import('../../state/useTools.js');expect(_0x2c433e)['toBeDefined'](),expect(typeof _0x2c433e)['toBe']('function');}),test('useTools is default export',async()=>{const _0x487e84=a0_0x21f5,module=await import('../../state/useTools.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x487e84(0x13a)])['toBe'](_0x487e84(0x121)),expect(module['default'])[_0x487e84(0x110)](module['useTools']);});}),describe(a0_0xa95e53(0x112),()=>{const _0x4b0017=a0_0xa95e53;test(_0x4b0017(0x10d),async()=>{const _0x177eec=_0x4b0017,{TOOL_CATEGORY:_0xe4750b}=await import(_0x177eec(0x119));expect(_0xe4750b)['toBeDefined'](),expect(_0xe4750b[_0x177eec(0x104)])['toBeDefined'](),expect(_0xe4750b['AUTOMATION'])['toBeDefined'](),expect(_0xe4750b[_0x177eec(0x151)])[_0x177eec(0x105)](),expect(_0xe4750b[_0x177eec(0x125)])['toBeDefined'](),expect(_0xe4750b[_0x177eec(0x12d)])[_0x177eec(0x105)](),expect(_0xe4750b['AI'])['toBeDefined']();}),test(_0x4b0017(0x13b),async()=>{const _0x3ce858=_0x4b0017,{TOOL_CATEGORY:_0x5a69b4}=await import(_0x3ce858(0x119));expect(_0x5a69b4['SYSTEM'])[_0x3ce858(0x110)](_0x5a69b4[_0x3ce858(0x104)][_0x3ce858(0x12c)]()),expect(_0x5a69b4[_0x3ce858(0x11e)])['toBe'](_0x5a69b4['AUTOMATION'][_0x3ce858(0x12c)]()),expect(_0x5a69b4['ANALYSIS'])[_0x3ce858(0x110)](_0x5a69b4['ANALYSIS'][_0x3ce858(0x12c)]()),expect(_0x5a69b4[_0x3ce858(0x125)])[_0x3ce858(0x110)](_0x5a69b4[_0x3ce858(0x125)][_0x3ce858(0x12c)]());}),test(_0x4b0017(0x150),async()=>{const _0x1063df=_0x4b0017,{API_ENDPOINTS:_0x511556}=await import(_0x1063df(0x119));expect(_0x511556[_0x1063df(0x111)])['toBeDefined'](),expect(_0x511556['TOOLS'])[_0x1063df(0x110)](_0x1063df(0x11d));}),test(_0x4b0017(0x118),async()=>{const _0x5ad519=_0x4b0017,{API_ENDPOINTS:_0x3c208e}=await import(_0x5ad519(0x119));expect(_0x3c208e[_0x5ad519(0x135)])[_0x5ad519(0x105)](),expect(_0x3c208e['ORCHESTRATOR'])['toBe'](_0x5ad519(0x10f));});}),describe(a0_0xa95e53(0x113),()=>{const _0x6f0a5f=a0_0xa95e53;test(_0x6f0a5f(0x136),async()=>{const _0x2d3e93=_0x6f0a5f,{useTools:_0x4a4bef}=await import(_0x2d3e93(0x127)),{SessionManager:_0x236124}=await import(_0x2d3e93(0x11c)),{MessageRouter:_0x470327}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x34f442}=await import(_0x2d3e93(0x116)),_0x2d133f=new _0x236124(_0x2d3e93(0x14f),0x1f90),_0x34555b=new _0x34f442(_0x2d3e93(0x14f),0x1f90),_0x11253e=new _0x470327(_0x34555b);expect(_0x2d133f)['toBeDefined'](),expect(_0x11253e)[_0x2d3e93(0x105)](),expect(typeof _0x4a4bef)['toBe'](_0x2d3e93(0x121));}),test('Full tools management stack can be imported together',async()=>{const _0x37668f=_0x6f0a5f,[_0x3e0285,_0x542869,_0x2867e3,_0x5abd95,_0x23b281]=await Promise['all']([import(_0x37668f(0x119)),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x37668f(0x137)),import('../../state/useTools.js')]);expect(_0x3e0285[_0x37668f(0x12e)])['toBeDefined'](),expect(_0x3e0285['API_ENDPOINTS'])['toBeDefined'](),expect(_0x542869['SessionManager'])['toBeDefined'](),expect(_0x2867e3['WebSocketManager'])['toBeDefined'](),expect(_0x5abd95['MessageRouter'])[_0x37668f(0x105)](),expect(_0x23b281[_0x37668f(0x11a)])['toBeDefined']();});}),describe(a0_0xa95e53(0x10e),()=>{test('Tools\x20endpoint\x20follows\x20RESTful\x20pattern',async()=>{const _0xa7e51f=a0_0x21f5,{API_ENDPOINTS:_0x1a858b}=await import(_0xa7e51f(0x119));expect(_0x1a858b['TOOLS'])[_0xa7e51f(0x11f)](/^\/api\//),expect(_0x1a858b[_0xa7e51f(0x111)])['toBe'](_0xa7e51f(0x11d));}),test('Tool\x20operations\x20use\x20orchestrator\x20endpoint',async()=>{const _0x56e2e1=a0_0x21f5,{API_ENDPOINTS:_0xd80206}=await import('../../config/constants.js');expect(_0xd80206[_0x56e2e1(0x135)])['toBeDefined'](),expect(_0xd80206['ORCHESTRATOR'])['toBe']('/api/orchestrator');});}),describe('Tools\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{test('useTools\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x191f65=a0_0x21f5,{useTools:_0x12f671}=await import('../../state/useTools.js');expect(_0x12f671[_0x191f65(0x141)])[_0x191f65(0x110)](0x3);});}),describe(a0_0xa95e53(0x142),()=>{const _0x399eab=a0_0xa95e53;test(_0x399eab(0x12f),async()=>{const _0x2fcbb9=_0x399eab,{TOOL_CATEGORY:_0x173085}=await import(_0x2fcbb9(0x119)),_0x5ade85=Object['keys'](_0x173085);expect(_0x5ade85)[_0x2fcbb9(0x134)]('SYSTEM'),expect(_0x5ade85)['toContain']('AUTOMATION'),expect(_0x5ade85)['toContain'](_0x2fcbb9(0x151)),expect(_0x5ade85)[_0x2fcbb9(0x134)]('UTILITY'),expect(_0x5ade85)[_0x2fcbb9(0x134)]('COLLABORATION'),expect(_0x5ade85)[_0x2fcbb9(0x134)]('AI');}),test('TOOL_CATEGORY\x20values\x20match\x20expected\x20format',async()=>{const _0x561c95=_0x399eab,{TOOL_CATEGORY:_0xaeedc7}=await import('../../config/constants.js');expect(_0xaeedc7[_0x561c95(0x104)])['toMatch'](/^[a-z_]+$/),expect(_0xaeedc7['AUTOMATION'])['toMatch'](/^[a-z_]+$/),expect(_0xaeedc7['ANALYSIS'])[_0x561c95(0x11f)](/^[a-z_]+$/),expect(_0xaeedc7[_0x561c95(0x125)])['toMatch'](/^[a-z_]+$/);});}),describe(a0_0xa95e53(0x139),()=>{const _0x3bc2ad=a0_0xa95e53;test(_0x3bc2ad(0x140),async()=>{const _0x1e36c2=_0x3bc2ad,{MessageRouter:_0x3b2949}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x373970}=await import(_0x1e36c2(0x116)),_0x3df326=new _0x373970('localhost',0x1f90),_0xcc36a9=new _0x3b2949(_0x3df326);expect(_0xcc36a9[_0x1e36c2(0x108)])['toBeDefined'](),expect(typeof _0xcc36a9[_0x1e36c2(0x108)])[_0x1e36c2(0x110)](_0x1e36c2(0x121));});}),describe('Tools\x20Management\x20-\x20Tool\x20Categorization',()=>{test('TOOL_CATEGORY\x20can\x20be\x20used\x20to\x20filter\x20tools\x20by\x20category',async()=>{const _0x1e7904=a0_0x21f5,{TOOL_CATEGORY:_0x483bdb}=await import('../../config/constants.js'),_0xd5eefc=[{'name':_0x1e7904(0x12b),'category':_0x483bdb[_0x1e7904(0x104)]},{'name':_0x1e7904(0x13f),'category':_0x483bdb['SYSTEM']},{'name':_0x1e7904(0x145),'category':_0x483bdb[_0x1e7904(0x151)]},{'name':_0x1e7904(0x143),'category':_0x483bdb[_0x1e7904(0x125)]},{'name':_0x1e7904(0x123),'category':_0x483bdb['AI']}],_0x6aa139=_0xd5eefc['filter'](_0x10e204=>_0x10e204['category']===_0x483bdb[_0x1e7904(0x104)]),_0x309aac=_0xd5eefc[_0x1e7904(0x103)](_0x54bb57=>_0x54bb57[_0x1e7904(0x115)]===_0x483bdb[_0x1e7904(0x151)]),_0x4c3bb0=_0xd5eefc['filter'](_0x1adfb8=>_0x1adfb8[_0x1e7904(0x115)]===_0x483bdb[_0x1e7904(0x125)]),_0x154552=_0xd5eefc[_0x1e7904(0x103)](_0xd2d0be=>_0xd2d0be['category']===_0x483bdb['AI']);expect(_0x6aa139['length'])[_0x1e7904(0x110)](0x2),expect(_0x309aac['length'])[_0x1e7904(0x110)](0x1),expect(_0x4c3bb0['length'])['toBe'](0x1),expect(_0x154552[_0x1e7904(0x141)])[_0x1e7904(0x110)](0x1),expect(_0x6aa139[0x0]['name'])[_0x1e7904(0x110)](_0x1e7904(0x12b)),expect(_0x309aac[0x0]['name'])['toBe'](_0x1e7904(0x145));});}),describe('Tools\x20Management\x20-\x20Tool\x20Search',()=>{test('Tool\x20search\x20should\x20work\x20with\x20name\x20and\x20description',async()=>{const _0x2cf65a=a0_0x21f5,_0x5a811c=[{'name':_0x2cf65a(0x146),'description':_0x2cf65a(0x10a)},{'name':'write_file','description':'Write\x20data\x20to\x20a\x20file'},{'name':_0x2cf65a(0x145),'description':'Perform\x20static\x20code\x20analysis'}],_0x2f164e=_0x4f87d9=>{const _0xc2f455=_0x2cf65a,_0x13eb11=_0x4f87d9[_0xc2f455(0x12c)]();return _0x5a811c['filter'](_0x38b3f5=>_0x38b3f5[_0xc2f455(0x109)]?.['toLowerCase']()[_0xc2f455(0x149)](_0x13eb11)||_0x38b3f5['description']?.[_0xc2f455(0x12c)]()['includes'](_0x13eb11));},_0x10247c=_0x2f164e('file');expect(_0x10247c['length'])['toBe'](0x2),expect(_0x10247c[_0x2cf65a(0x107)](_0x38ac3f=>_0x38ac3f[_0x2cf65a(0x109)]))['toContain'](_0x2cf65a(0x146)),expect(_0x10247c[_0x2cf65a(0x107)](_0x2f1952=>_0x2f1952[_0x2cf65a(0x109)]))['toContain']('write_file');const _0x1992b6=_0x2f164e(_0x2cf65a(0x133));expect(_0x1992b6[_0x2cf65a(0x141)])['toBe'](0x1),expect(_0x1992b6[0x0][_0x2cf65a(0x109)])[_0x2cf65a(0x110)](_0x2cf65a(0x145));});}),describe('Tools\x20Management\x20-\x20Execution\x20State\x20Tracking',()=>{const _0x546c9f=a0_0xa95e53;test(_0x546c9f(0x13c),async()=>{const _0x845df7=_0x546c9f,_0x5692a3=new Set();_0x5692a3[_0x845df7(0x147)]('read_file'),_0x5692a3['add'](_0x845df7(0x145)),expect(_0x5692a3[_0x845df7(0x11b)](_0x845df7(0x146)))[_0x845df7(0x110)](!![]),expect(_0x5692a3['has']('analyze_code'))['toBe'](!![]),expect(_0x5692a3[_0x845df7(0x10b)])[_0x845df7(0x110)](0x2),_0x5692a3[_0x845df7(0x13e)]('read_file'),expect(_0x5692a3['has']('read_file'))['toBe'](![]),expect(_0x5692a3['has']('analyze_code'))[_0x845df7(0x110)](!![]),expect(_0x5692a3['size'])[_0x845df7(0x110)](0x1);}),test('Tool\x20results\x20can\x20be\x20stored\x20by\x20execution\x20ID',async()=>{const _0x10e37d=_0x546c9f,_0x1c34c1=new Map();_0x1c34c1['set'](_0x10e37d(0x132),{'success':!![],'data':_0x10e37d(0x13d)}),_0x1c34c1['set']('exec-2',{'success':!![],'data':{'issues':[]}}),expect(_0x1c34c1['get'](_0x10e37d(0x132)))['toBeDefined'](),expect(_0x1c34c1[_0x10e37d(0x12a)](_0x10e37d(0x132))[_0x10e37d(0x130)])[_0x10e37d(0x110)](!![]),expect(_0x1c34c1['get']('exec-1')['data'])['toBe']('file\x20contents'),expect(_0x1c34c1[_0x10e37d(0x12a)]('exec-2'))['toBeDefined'](),expect(_0x1c34c1[_0x10e37d(0x12a)]('exec-2')['data']['issues'])[_0x10e37d(0x117)]([]),expect(_0x1c34c1['size'])[_0x10e37d(0x110)](0x2);});}),describe(a0_0xa95e53(0x144),()=>{const _0x1504d6=a0_0xa95e53;test('Tool\x20cache\x20supports\x20TTL-based\x20caching',async()=>{const _0x59faef=a0_0x21f5,_0x32080e=0x927c0;let _0x1dfd4d=null,_0x3ca177=0x0;const _0x41836b=[{'name':'read_file'}];_0x1dfd4d=_0x41836b,_0x3ca177=Date['now']();const _0x101bfc=Date['now'](),_0x218fe9=_0x101bfc-_0x3ca177<_0x32080e;expect(_0x218fe9)['toBe'](!![]),expect(_0x1dfd4d)[_0x59faef(0x110)](_0x41836b);}),test(_0x1504d6(0x14a),async()=>{const _0x458026=_0x1504d6,_0x39a06e=0x64;let _0x1db134=null,_0x1b08a9=0x0;const _0x599a3d=[{'name':'read_file'}];_0x1db134=_0x599a3d,_0x1b08a9=Date[_0x458026(0x131)](),await new Promise(_0xe96345=>setTimeout(_0xe96345,0x96));const _0x3de601=Date['now'](),_0x459d1b=_0x3de601-_0x1b08a9<_0x39a06e;expect(_0x459d1b)['toBe'](![]);});}),describe(a0_0xa95e53(0x14c),()=>{test('Tools\x20can\x20be\x20filtered\x20by\x20multiple\x20criteria',async()=>{const _0x39f1ab=a0_0x21f5,{TOOL_CATEGORY:_0xd665de}=await import('../../config/constants.js'),_0x30af38=[{'name':'execute_command','category':_0xd665de['SYSTEM'],'enabled':!![]},{'name':_0x39f1ab(0x13f),'category':_0xd665de['SYSTEM'],'enabled':![]},{'name':'analyze_code','category':_0xd665de['ANALYSIS'],'enabled':!![]}],_0x3f18eb=_0x59fdff=>{const _0x47c9cc=_0x39f1ab;let _0xdabebd=[..._0x30af38];return _0x59fdff[_0x47c9cc(0x115)]&&(_0xdabebd=_0xdabebd['filter'](_0x3f3690=>_0x3f3690[_0x47c9cc(0x115)]===_0x59fdff[_0x47c9cc(0x115)])),_0x59fdff['enabled']!==undefined&&(_0xdabebd=_0xdabebd[_0x47c9cc(0x103)](_0x46131e=>_0x46131e['enabled']===_0x59fdff[_0x47c9cc(0x106)])),_0xdabebd;},_0x34cf24=_0x3f18eb({'category':_0xd665de[_0x39f1ab(0x104)]});expect(_0x34cf24['length'])['toBe'](0x2);const _0x102037=_0x3f18eb({'enabled':!![]});expect(_0x102037['length'])[_0x39f1ab(0x110)](0x2);const _0x4fcd8d=_0x3f18eb({'category':_0xd665de[_0x39f1ab(0x104)],'enabled':!![]});expect(_0x4fcd8d['length'])[_0x39f1ab(0x110)](0x1),expect(_0x4fcd8d[0x0]['name'])[_0x39f1ab(0x110)]('execute_command');});}),describe('Tools\x20Management\x20-\x20Category\x20Counts',()=>{const _0x1fdff2=a0_0xa95e53;test(_0x1fdff2(0x148),async()=>{const _0x48f4d2=_0x1fdff2,{TOOL_CATEGORY:_0x2c41a5}=await import(_0x48f4d2(0x119)),_0x1e3e92=[{'name':_0x48f4d2(0x12b),'category':_0x2c41a5['SYSTEM']},{'name':_0x48f4d2(0x13f),'category':_0x2c41a5['SYSTEM']},{'name':'analyze_code','category':_0x2c41a5['ANALYSIS']},{'name':'web_search','category':_0x2c41a5[_0x48f4d2(0x125)]}],_0x13ec3a=_0x557b56=>{const _0x36f795=_0x48f4d2,_0x33aa2b={};for(const _0x12e8de of Object['values'](_0x2c41a5)){_0x33aa2b[_0x12e8de]=_0x557b56['filter'](_0x282ab3=>_0x282ab3[_0x36f795(0x115)]===_0x12e8de)[_0x36f795(0x141)];}return _0x33aa2b;},_0x18d359=_0x13ec3a(_0x1e3e92);expect(_0x18d359[_0x2c41a5[_0x48f4d2(0x104)]])[_0x48f4d2(0x110)](0x2),expect(_0x18d359[_0x2c41a5['ANALYSIS']])[_0x48f4d2(0x110)](0x1),expect(_0x18d359[_0x2c41a5['UTILITY']])['toBe'](0x1),expect(_0x18d359[_0x2c41a5['AUTOMATION']])[_0x48f4d2(0x110)](0x0);});});
|
|
1
|
+
function a0_0x1b7a(){const _0x4a8cc8=['Dg9czurLzMLUzwq','z2v0','l2fWAs9VCMnOzxn0CMf0B3i','mJCWmZG1mgvlqKL5sa','BgvUz3rO','vg9VBhmGtwfUywDLBwvUDcaTienVBNn0yw50CW','ve9ptf9dqvrfr09swsbPBMnSDwrLCYbHBgWGBwfQB3iGy2f0zwDVCMLLCW','u1Ltvevn','ve9ptfm','BM93','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','CMvHzf9MAwXL','zxHLyY0Y','u2vZC2LVBK1HBMfNzxi','mtCWmJGWogrYruvQyG','zxHLyY0X','D3jPDgvFzMLSzq','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','Dg9czq','y2f0zwDVCNK','mtmYm0vlBgDXuq','ugvYzM9YBsbZDgf0AwmGy29KzsbHBMfSExnPCW','Dg9nyxrJAa','vg9VBhmGqvbjigvUzhbVAw50igLZigrLzMLUzwq','mtu3mde1ohLeu0fqva','AgfZ','DgvYBwLUywW','Dg9dB250ywLU','ve9ptf9dqvrfr09swsb2ywX1zxmGBwf0y2GGzxHWzwn0zwqGzM9YBwf0','ywrK','Dg9mB3DLCKnHC2u','mJu2mdHRyujYs1e','l2fWAs90B29SCW','t1jdsevtvfjbve9s','AgfZsgfUzgXLCG','mte4odm3nMTIqujeva','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','lI4VlI4VyxbPl3nLC3nPB24UANm','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2f0zwDVCML6yxrPB24','ywLFyxnZAxn0yw50','C2L6zq','uMvHzcbJB250zw50CYbVzIbHigzPBgu','m0fovxrNDa','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2fJAgLUzW','ndq4ntHcCeXYBeC','DxnLvg9VBhmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','yw5HBhL6zv9JB2rL','nJK0mdyXmMLZyuvgAW','twvZC2fNzvjVDxrLCG','vg9VBcbYzxn1BhrZignHBIbIzsbZDg9YzwqGyNKGzxHLy3v0Aw9UieLe','q09mtefct1jbveLptG','zxHLy3v0zv9JB21Tyw5K','Aw5JBhvKzxm','t3jJAgvZDhjHDg9YigvUzhbVAw50igLZihvZzwqGzM9YihrVB2WGB3bLCMf0Aw9UCW','zgvZy3jPChrPB24','vg9VBhmGtwfUywDLBwvUDcaTienHDgvNB3j5ienVDw50CW','zMLSzq','C2v0','vg9VBcbJywnOzsbZDxbWB3j0CYbuveWTyMfZzwqGy2fJAgLUzW','A2v5CW','DxnLvg9VBhmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','twvZC2fNzvjVDxrLCIbOyxmGDg9VBcbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','q2f0zwDVCNKGy291BNrZignHBIbIzsbJywXJDwXHDgvK','qvbjx0vorfbpsu5uuW','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGu2vHCMnO','qu5btfLtsvm','zw5HyMXLza','qvvut01bveLptG','DxnLvg9VBhm','zNvUy3rPB24','Bg9JywXOB3n0','vvrjteLuwq','v3jPDguGzgf0ysb0BYbHigzPBgu','zMLSDgvY','BMfTzq','vg9VBhmGtwfUywDLBwvUDcaTiev4zwn1DgLVBIbtDgf0zsbuCMfJA2LUzW','ve9ptf9dqvrfr09swsbJyw4GyMuGDxnLzcb0BYbMAwX0zxiGDg9VBhmGyNKGy2f0zwDVCNK','vg9VBhmGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG'];a0_0x1b7a=function(){return _0x4a8cc8;};return a0_0x1b7a();}function a0_0x39a5(_0x5ab9c3,_0x26e0de){_0x5ab9c3=_0x5ab9c3-0x17f;const _0x1b7aa8=a0_0x1b7a();let _0x39a576=_0x1b7aa8[_0x5ab9c3];if(a0_0x39a5['RPmupK']===undefined){var _0x44c876=function(_0x13f43c){const _0x279164='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c4739='',_0x4de5f6='';for(let _0x4303f2=0x0,_0x418429,_0x5b74d6,_0x294903=0x0;_0x5b74d6=_0x13f43c['charAt'](_0x294903++);~_0x5b74d6&&(_0x418429=_0x4303f2%0x4?_0x418429*0x40+_0x5b74d6:_0x5b74d6,_0x4303f2++%0x4)?_0x1c4739+=String['fromCharCode'](0xff&_0x418429>>(-0x2*_0x4303f2&0x6)):0x0){_0x5b74d6=_0x279164['indexOf'](_0x5b74d6);}for(let _0x1334ec=0x0,_0x59f335=_0x1c4739['length'];_0x1334ec<_0x59f335;_0x1334ec++){_0x4de5f6+='%'+('00'+_0x1c4739['charCodeAt'](_0x1334ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4de5f6);};a0_0x39a5['WgFWCi']=_0x44c876,a0_0x39a5['rpyVVV']={},a0_0x39a5['RPmupK']=!![];}const _0x14d812=_0x1b7aa8[0x0],_0x20c4a9=_0x5ab9c3+_0x14d812,_0x58c23a=a0_0x39a5['rpyVVV'][_0x20c4a9];return!_0x58c23a?(_0x39a576=a0_0x39a5['WgFWCi'](_0x39a576),a0_0x39a5['rpyVVV'][_0x20c4a9]=_0x39a576):_0x39a576=_0x58c23a,_0x39a576;}const a0_0x1d03a5=a0_0x39a5;(function(_0x58fb11,_0xdfca11){const _0x26ba1f=a0_0x39a5,_0x360abf=_0x58fb11();while(!![]){try{const _0x149070=parseInt(_0x26ba1f(0x189))/0x1+-parseInt(_0x26ba1f(0x1b9))/0x2*(-parseInt(_0x26ba1f(0x187))/0x3)+parseInt(_0x26ba1f(0x180))/0x4+parseInt(_0x26ba1f(0x1ae))/0x5+parseInt(_0x26ba1f(0x1c3))/0x6+-parseInt(_0x26ba1f(0x18c))/0x7+-parseInt(_0x26ba1f(0x1ca))/0x8*(parseInt(_0x26ba1f(0x1bf))/0x9);if(_0x149070===_0xdfca11)break;else _0x360abf['push'](_0x360abf['shift']());}catch(_0x1d1f71){_0x360abf['push'](_0x360abf['shift']());}}}(a0_0x1b7a,0x824fc));import{describe,test,expect}from'@jest/globals';describe('Tools\x20Management\x20-\x20Imports',()=>{test('useTools hook can be imported',async()=>{const _0x555935=a0_0x39a5,{useTools:_0x1c4739}=await import('../../state/useTools.js');expect(_0x1c4739)[_0x555935(0x1ab)](),expect(typeof _0x1c4739)[_0x555935(0x1bd)](_0x555935(0x1a2));}),test('useTools is default export',async()=>{const _0x33cf32=a0_0x39a5,module=await import('../../state/useTools.js');expect(module['default'])[_0x33cf32(0x1ab)](),expect(typeof module['default'])['toBe']('function'),expect(module['default'])[_0x33cf32(0x1bd)](module[_0x33cf32(0x1a1)]);});}),describe(a0_0x1d03a5(0x1b0),()=>{const _0x4c037e=a0_0x1d03a5;test('TOOL_CATEGORY\x20constants\x20are\x20defined',async()=>{const _0x385bcf=a0_0x39a5,{TOOL_CATEGORY:_0x4de5f6}=await import('../../config/constants.js');expect(_0x4de5f6)[_0x385bcf(0x1ab)](),expect(_0x4de5f6[_0x385bcf(0x1b2)])['toBeDefined'](),expect(_0x4de5f6['AUTOMATION'])['toBeDefined'](),expect(_0x4de5f6['ANALYSIS'])[_0x385bcf(0x1ab)](),expect(_0x4de5f6['UTILITY'])['toBeDefined'](),expect(_0x4de5f6['COLLABORATION'])['toBeDefined'](),expect(_0x4de5f6['AI'])['toBeDefined']();}),test('TOOL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x3699ff=a0_0x39a5,{TOOL_CATEGORY:_0x4303f2}=await import('../../config/constants.js');expect(_0x4303f2[_0x3699ff(0x1b2)])['toBe'](_0x4303f2[_0x3699ff(0x1b2)]['toLowerCase']()),expect(_0x4303f2[_0x3699ff(0x1a0)])['toBe'](_0x4303f2['AUTOMATION'][_0x3699ff(0x1c9)]()),expect(_0x4303f2[_0x3699ff(0x19e)])[_0x3699ff(0x1bd)](_0x4303f2['ANALYSIS']['toLowerCase']()),expect(_0x4303f2[_0x3699ff(0x1a4)])[_0x3699ff(0x1bd)](_0x4303f2[_0x3699ff(0x1a4)]['toLowerCase']());}),test(_0x4c037e(0x1c2),async()=>{const _0x328dea=_0x4c037e,{API_ENDPOINTS:_0x418429}=await import('../../config/constants.js');expect(_0x418429['TOOLS'])['toBeDefined'](),expect(_0x418429['TOOLS'])[_0x328dea(0x1bd)]('/api/tools');}),test(_0x4c037e(0x192),async()=>{const _0x410394=_0x4c037e,{API_ENDPOINTS:_0x5b74d6}=await import('../../config/constants.js');expect(_0x5b74d6[_0x410394(0x1cc)])[_0x410394(0x1ab)](),expect(_0x5b74d6['ORCHESTRATOR'])['toBe'](_0x410394(0x1ad));});}),describe('Tools\x20Management\x20-\x20Integration',()=>{const _0x226c8b=a0_0x1d03a5;test(_0x226c8b(0x18a),async()=>{const _0x5ee57f=_0x226c8b,{useTools:_0x294903}=await import('../../state/useTools.js'),{SessionManager:_0x1334ec}=await import(_0x5ee57f(0x182)),{MessageRouter:_0x59f335}=await import(_0x5ee57f(0x181)),{WebSocketManager:_0x2073ad}=await import('../../api/websocket.js'),_0x3fbc7a=new _0x1334ec(_0x5ee57f(0x1a3),0x1f90),_0x3895c6=new _0x2073ad(_0x5ee57f(0x1a3),0x1f90),_0x37543c=new _0x59f335(_0x3895c6);expect(_0x3fbc7a)['toBeDefined'](),expect(_0x37543c)['toBeDefined'](),expect(typeof _0x294903)[_0x5ee57f(0x1bd)]('function');}),test('Full tools management stack can be imported together',async()=>{const _0x27722e=_0x226c8b,[_0x2f7cc2,_0x3c8750,_0x299877,_0x4ba62d,_0x3c8330]=await Promise['all']([import(_0x27722e(0x1b5)),import('../../api/session.js'),import('../../api/websocket.js'),import('../../api/messageRouter.js'),import(_0x27722e(0x1bc))]);expect(_0x2f7cc2['TOOL_CATEGORY'])[_0x27722e(0x1ab)](),expect(_0x2f7cc2[_0x27722e(0x19c)])['toBeDefined'](),expect(_0x3c8750[_0x27722e(0x1b8)])['toBeDefined'](),expect(_0x299877['WebSocketManager'])[_0x27722e(0x1ab)](),expect(_0x4ba62d[_0x27722e(0x18d)])[_0x27722e(0x1ab)](),expect(_0x3c8330[_0x27722e(0x1a1)])[_0x27722e(0x1ab)]();});}),describe(a0_0x1d03a5(0x1aa),()=>{test('Tools\x20endpoint\x20follows\x20RESTful\x20pattern',async()=>{const _0x351312=a0_0x39a5,{API_ENDPOINTS:_0x2d0da5}=await import(_0x351312(0x1b5));expect(_0x2d0da5['TOOLS'])['toMatch'](/^\/api\//),expect(_0x2d0da5[_0x351312(0x1b3)])[_0x351312(0x1bd)](_0x351312(0x1cb));}),test('Tool\x20operations\x20use\x20orchestrator\x20endpoint',async()=>{const _0x2b0d43=a0_0x39a5,{API_ENDPOINTS:_0x2e4f43}=await import(_0x2b0d43(0x1b5));expect(_0x2e4f43['ORCHESTRATOR'])['toBeDefined'](),expect(_0x2e4f43['ORCHESTRATOR'])[_0x2b0d43(0x1bd)](_0x2b0d43(0x1ad));});}),describe('Tools\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x59cceb=a0_0x1d03a5;test(_0x59cceb(0x199),async()=>{const _0x44ee08=_0x59cceb,{useTools:_0xd0fece}=await import('../../state/useTools.js');expect(_0xd0fece[_0x44ee08(0x1af)])[_0x44ee08(0x1bd)](0x3);});}),describe('Tools\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x1d82d5=a0_0x1d03a5;test(_0x1d82d5(0x1b1),async()=>{const _0x3704f9=_0x1d82d5,{TOOL_CATEGORY:_0x48d9cd}=await import(_0x3704f9(0x1b5)),_0x45648b=Object[_0x3704f9(0x198)](_0x48d9cd);expect(_0x45648b)[_0x3704f9(0x1c6)](_0x3704f9(0x1b2)),expect(_0x45648b)[_0x3704f9(0x1c6)](_0x3704f9(0x1a0)),expect(_0x45648b)[_0x3704f9(0x1c6)]('ANALYSIS'),expect(_0x45648b)[_0x3704f9(0x1c6)](_0x3704f9(0x1a4)),expect(_0x45648b)['toContain'](_0x3704f9(0x18f)),expect(_0x45648b)['toContain']('AI');}),test(_0x1d82d5(0x1c7),async()=>{const _0x32f8f7=_0x1d82d5,{TOOL_CATEGORY:_0x48a115}=await import(_0x32f8f7(0x1b5));expect(_0x48a115[_0x32f8f7(0x1b2)])[_0x32f8f7(0x1c1)](/^[a-z_]+$/),expect(_0x48a115['AUTOMATION'])[_0x32f8f7(0x1c1)](/^[a-z_]+$/),expect(_0x48a115[_0x32f8f7(0x19e)])['toMatch'](/^[a-z_]+$/),expect(_0x48a115[_0x32f8f7(0x1a4)])[_0x32f8f7(0x1c1)](/^[a-z_]+$/);});}),describe('Tools\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{const _0x188cb6=a0_0x1d03a5;test(_0x188cb6(0x19a),async()=>{const _0x4f47f8=_0x188cb6,{MessageRouter:_0x53ddc9}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x141f3e}=await import('../../api/websocket.js'),_0x3d1a41=new _0x141f3e(_0x4f47f8(0x1a3),0x1f90),_0x3b115b=new _0x53ddc9(_0x3d1a41);expect(_0x3b115b[_0x4f47f8(0x17f)])[_0x4f47f8(0x1ab)](),expect(typeof _0x3b115b['hasHandler'])[_0x4f47f8(0x1bd)]('function');});}),describe(a0_0x1d03a5(0x183),()=>{const _0x481ea9=a0_0x1d03a5;test(_0x481ea9(0x1a9),async()=>{const _0x442925=_0x481ea9,{TOOL_CATEGORY:_0x196284}=await import(_0x442925(0x1b5)),_0x5c87a3=[{'name':_0x442925(0x190),'category':_0x196284[_0x442925(0x1b2)]},{'name':_0x442925(0x1c5),'category':_0x196284[_0x442925(0x1b2)]},{'name':'analyze_code','category':_0x196284[_0x442925(0x19e)]},{'name':'web_search','category':_0x196284[_0x442925(0x1a4)]},{'name':_0x442925(0x184),'category':_0x196284['AI']}],_0x571632=_0x5c87a3['filter'](_0xf4958b=>_0xf4958b['category']===_0x196284[_0x442925(0x1b2)]),_0x137326=_0x5c87a3['filter'](_0x1ca118=>_0x1ca118[_0x442925(0x1be)]===_0x196284[_0x442925(0x19e)]),_0x37d02f=_0x5c87a3['filter'](_0x1070b3=>_0x1070b3[_0x442925(0x1be)]===_0x196284['UTILITY']),_0x255d10=_0x5c87a3['filter'](_0x1f1893=>_0x1f1893[_0x442925(0x1be)]===_0x196284['AI']);expect(_0x571632['length'])['toBe'](0x2),expect(_0x137326[_0x442925(0x1af)])['toBe'](0x1),expect(_0x37d02f[_0x442925(0x1af)])[_0x442925(0x1bd)](0x1),expect(_0x255d10['length'])[_0x442925(0x1bd)](0x1),expect(_0x571632[0x0]['name'])['toBe']('execute_command'),expect(_0x137326[0x0]['name'])['toBe'](_0x442925(0x18b));});}),describe(a0_0x1d03a5(0x19d),()=>{test('Tool\x20search\x20should\x20work\x20with\x20name\x20and\x20description',async()=>{const _0x17c8b4=a0_0x39a5,_0x22fbf6=[{'name':_0x17c8b4(0x1b6),'description':_0x17c8b4(0x186)},{'name':'write_file','description':_0x17c8b4(0x1a5)},{'name':_0x17c8b4(0x18b),'description':_0x17c8b4(0x1c0)}],_0x4c01c5=_0x1f6b75=>{const _0x54a79e=_0x17c8b4,_0x1b0618=_0x1f6b75['toLowerCase']();return _0x22fbf6[_0x54a79e(0x1a6)](_0x1394e4=>_0x1394e4[_0x54a79e(0x1a7)]?.[_0x54a79e(0x1c9)]()[_0x54a79e(0x191)](_0x1b0618)||_0x1394e4[_0x54a79e(0x193)]?.[_0x54a79e(0x1c9)]()['includes'](_0x1b0618));},_0x1b3bf3=_0x4c01c5(_0x17c8b4(0x195));expect(_0x1b3bf3[_0x17c8b4(0x1af)])[_0x17c8b4(0x1bd)](0x2),expect(_0x1b3bf3['map'](_0xe11d00=>_0xe11d00['name']))['toContain'](_0x17c8b4(0x1b6)),expect(_0x1b3bf3['map'](_0x8e7ef4=>_0x8e7ef4[_0x17c8b4(0x1a7)]))['toContain'](_0x17c8b4(0x1bb));const _0x4000e5=_0x4c01c5('analyze');expect(_0x4000e5['length'])[_0x17c8b4(0x1bd)](0x1),expect(_0x4000e5[0x0]['name'])[_0x17c8b4(0x1bd)]('analyze_code');});}),describe(a0_0x1d03a5(0x1a8),()=>{const _0x46abae=a0_0x1d03a5;test('Execution\x20state\x20can\x20track\x20multiple\x20tools',async()=>{const _0x19ab9f=a0_0x39a5,_0x4f28b9=new Set();_0x4f28b9['add'](_0x19ab9f(0x1b6)),_0x4f28b9[_0x19ab9f(0x1c8)]('analyze_code'),expect(_0x4f28b9[_0x19ab9f(0x1c4)](_0x19ab9f(0x1b6)))[_0x19ab9f(0x1bd)](!![]),expect(_0x4f28b9['has']('analyze_code'))[_0x19ab9f(0x1bd)](!![]),expect(_0x4f28b9[_0x19ab9f(0x185)])[_0x19ab9f(0x1bd)](0x2),_0x4f28b9['delete']('read_file'),expect(_0x4f28b9['has']('read_file'))[_0x19ab9f(0x1bd)](![]),expect(_0x4f28b9['has'](_0x19ab9f(0x18b)))['toBe'](!![]),expect(_0x4f28b9['size'])['toBe'](0x1);}),test(_0x46abae(0x18e),async()=>{const _0x58574b=_0x46abae,_0x155bca=new Map();_0x155bca[_0x58574b(0x196)](_0x58574b(0x1ba),{'success':!![],'data':'file\x20contents'}),_0x155bca[_0x58574b(0x196)](_0x58574b(0x1b7),{'success':!![],'data':{'issues':[]}}),expect(_0x155bca[_0x58574b(0x1ac)](_0x58574b(0x1ba)))['toBeDefined'](),expect(_0x155bca['get']('exec-1')['success'])[_0x58574b(0x1bd)](!![]),expect(_0x155bca['get']('exec-1')['data'])['toBe']('file\x20contents'),expect(_0x155bca['get']('exec-2'))[_0x58574b(0x1ab)](),expect(_0x155bca[_0x58574b(0x1ac)](_0x58574b(0x1b7))['data']['issues'])['toEqual']([]),expect(_0x155bca[_0x58574b(0x185)])[_0x58574b(0x1bd)](0x2);});}),describe(a0_0x1d03a5(0x188),()=>{const _0x5e3279=a0_0x1d03a5;test(_0x5e3279(0x197),async()=>{const _0x4a8603=_0x5e3279,_0x1aee54=0x927c0;let _0x556372=null,_0x50f8c7=0x0;const _0x53d2cb=[{'name':_0x4a8603(0x1b6)}];_0x556372=_0x53d2cb,_0x50f8c7=Date['now']();const _0x1b6acb=Date['now'](),_0x210dbd=_0x1b6acb-_0x50f8c7<_0x1aee54;expect(_0x210dbd)['toBe'](!![]),expect(_0x556372)[_0x4a8603(0x1bd)](_0x53d2cb);}),test('Tool\x20cache\x20expires\x20after\x20TTL',async()=>{const _0x10f4b9=_0x5e3279,_0x17d787=0x64;let _0xcc98e9=null,_0x3a8271=0x0;const _0x1d0fbd=[{'name':'read_file'}];_0xcc98e9=_0x1d0fbd,_0x3a8271=Date[_0x10f4b9(0x1b4)](),await new Promise(_0x567fa6=>setTimeout(_0x567fa6,0x96));const _0x1861fa=Date['now'](),_0x543bd4=_0x1861fa-_0x3a8271<_0x17d787;expect(_0x543bd4)['toBe'](![]);});}),describe('Tools\x20Management\x20-\x20Tool\x20Filtering',()=>{test('Tools\x20can\x20be\x20filtered\x20by\x20multiple\x20criteria',async()=>{const _0x1ba833=a0_0x39a5,{TOOL_CATEGORY:_0x376852}=await import(_0x1ba833(0x1b5)),_0x1b71c1=[{'name':_0x1ba833(0x190),'category':_0x376852['SYSTEM'],'enabled':!![]},{'name':'terminal','category':_0x376852['SYSTEM'],'enabled':![]},{'name':_0x1ba833(0x18b),'category':_0x376852[_0x1ba833(0x19e)],'enabled':!![]}],_0x8c8448=_0x2720fe=>{const _0x2c5899=_0x1ba833;let _0x2e7876=[..._0x1b71c1];return _0x2720fe[_0x2c5899(0x1be)]&&(_0x2e7876=_0x2e7876['filter'](_0x244289=>_0x244289[_0x2c5899(0x1be)]===_0x2720fe['category'])),_0x2720fe['enabled']!==undefined&&(_0x2e7876=_0x2e7876[_0x2c5899(0x1a6)](_0x48b839=>_0x48b839['enabled']===_0x2720fe[_0x2c5899(0x19f)])),_0x2e7876;},_0x343b77=_0x8c8448({'category':_0x376852[_0x1ba833(0x1b2)]});expect(_0x343b77[_0x1ba833(0x1af)])['toBe'](0x2);const _0x5cf072=_0x8c8448({'enabled':!![]});expect(_0x5cf072['length'])[_0x1ba833(0x1bd)](0x2);const _0x2efa09=_0x8c8448({'category':_0x376852[_0x1ba833(0x1b2)],'enabled':!![]});expect(_0x2efa09[_0x1ba833(0x1af)])[_0x1ba833(0x1bd)](0x1),expect(_0x2efa09[0x0]['name'])[_0x1ba833(0x1bd)]('execute_command');});}),describe(a0_0x1d03a5(0x194),()=>{const _0xe95a28=a0_0x1d03a5;test(_0xe95a28(0x19b),async()=>{const _0x2eb454=_0xe95a28,{TOOL_CATEGORY:_0x516a86}=await import('../../config/constants.js'),_0x1e7864=[{'name':'execute_command','category':_0x516a86['SYSTEM']},{'name':_0x2eb454(0x1c5),'category':_0x516a86['SYSTEM']},{'name':_0x2eb454(0x18b),'category':_0x516a86[_0x2eb454(0x19e)]},{'name':'web_search','category':_0x516a86[_0x2eb454(0x1a4)]}],_0x171d73=_0x11e97c=>{const _0x291924={};for(const _0x535c56 of Object['values'](_0x516a86)){_0x291924[_0x535c56]=_0x11e97c['filter'](_0x5c87d2=>_0x5c87d2['category']===_0x535c56)['length'];}return _0x291924;},_0x13558f=_0x171d73(_0x1e7864);expect(_0x13558f[_0x516a86['SYSTEM']])['toBe'](0x2),expect(_0x13558f[_0x516a86['ANALYSIS']])[_0x2eb454(0x1bd)](0x1),expect(_0x13558f[_0x516a86[_0x2eb454(0x1a4)]])['toBe'](0x1),expect(_0x13558f[_0x516a86[_0x2eb454(0x1a0)]])[_0x2eb454(0x1bd)](0x0);});});
|