@loxia-labs/loxia-autopilot-one 1.0.3 → 1.0.4
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/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 +2 -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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x54449f=a0_0x2da2;(function(_0x4afe34,_0x39b669){const _0x2afc78=a0_0x2da2,_0x388f89=_0x4afe34();while(!![]){try{const _0xda1cdc=-parseInt(_0x2afc78(0xbe))/0x1+parseInt(_0x2afc78(0xd0))/0x2*(parseInt(_0x2afc78(0xd4))/0x3)+parseInt(_0x2afc78(0xd3))/0x4+parseInt(_0x2afc78(0xdc))/0x5+-parseInt(_0x2afc78(0xd6))/0x6*(-parseInt(_0x2afc78(0xbd))/0x7)+parseInt(_0x2afc78(0xcc))/0x8+-parseInt(_0x2afc78(0xce))/0x9;if(_0xda1cdc===_0x39b669)break;else _0x388f89['push'](_0x388f89['shift']());}catch(_0x4ebd9c){_0x388f89['push'](_0x388f89['shift']());}}}(a0_0x14bc,0x1edaf));function a0_0x14bc(){const _0x28b3f6=['tgf5B3v0ignVBxbVBMvUDcbZDgLSBcbSB2fKCYbHzNrLCIbqAgfZzsaXmcbHzgrPDgLVBNm','ChjVDg90ExbL','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','ugHHC2uGmtaGlsbbzhzHBMnLzcbgzwf0DxjLCYaTieLTCg9YDhm','ugHHC2uGmtaGlsbbz2vUDfn3AxrJAgvYic0Gu3rYDwn0DxjL','Dg9czvvUzgvMAw5Lza','u2vHCMnOugfUzwW','sgvSCfbHBMvSigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','Dg9czq','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ','ntu2nJrgueTOz2C','qwDLBNrdCMvHDg9YigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','mJy1odiWnfnuzhbIvq','ugHHC2uGmtaGlsbdB21WB25LBNqGq29UC3rHBNrZigfUzcbdB25MAwD1CMf0Aw9UCW','oezPrLHLuW','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','qM94','odm4mti0BNnYrwf2','mtq1ndyXrKXfzfvd','zNvUy3rPB24','nJy1ntHsCxzXD1G','u2v0DgLUz3nqyw5LBa','u2vHCMnOugfUzwWGAxmGysbMDw5JDgLVBIbJB21WB25LBNq','CMvUzgvY','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','sgvSCfbHBMvS','mtu3ntyWq2z5EfrU','Dg9czurLzMLUzwq','sgvSCfbHBMvSigrLzMLUzxmGC2HVCNrJDxqGy29UzMLNDxjHDgLVBNm','qwDLBNrtD2L0y2HLCG','ugHHC2uGmtaGlsbtzwfYy2Hqyw5LBcaTifn0CNvJDhvYzq','vgv4Da','ugHHC2uGmtaGlsbizwXWugfUzwWGlsbtDhj1y3r1CMu','mJH0rLLYCMm','nJq1odj1vuPlEK4','BwfW','zgvMyxvSDa'];a0_0x14bc=function(){return _0x28b3f6;};return a0_0x14bc();}import{describe,test,expect}from'@jest/globals';function a0_0x2da2(_0x2e247b,_0x312554){_0x2e247b=_0x2e247b-0xb7;const _0x14bcb0=a0_0x14bc();let _0x2da27d=_0x14bcb0[_0x2e247b];if(a0_0x2da2['UoixoN']===undefined){var _0x3573e8=function(_0x356182){const _0x544661='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7779='',_0x42b911='';for(let _0x552a4b=0x0,_0x496172,_0x464930,_0x54de1a=0x0;_0x464930=_0x356182['charAt'](_0x54de1a++);~_0x464930&&(_0x496172=_0x552a4b%0x4?_0x496172*0x40+_0x464930:_0x464930,_0x552a4b++%0x4)?_0x3f7779+=String['fromCharCode'](0xff&_0x496172>>(-0x2*_0x552a4b&0x6)):0x0){_0x464930=_0x544661['indexOf'](_0x464930);}for(let _0x2a462d=0x0,_0x2d2469=_0x3f7779['length'];_0x2a462d<_0x2d2469;_0x2a462d++){_0x42b911+='%'+('00'+_0x3f7779['charCodeAt'](_0x2a462d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42b911);};a0_0x2da2['aPYrpD']=_0x3573e8,a0_0x2da2['IHurEk']={},a0_0x2da2['UoixoN']=!![];}const _0x1e0592=_0x14bcb0[0x0],_0x2759fe=_0x2e247b+_0x1e0592,_0x58816e=a0_0x2da2['IHurEk'][_0x2759fe];return!_0x58816e?(_0x2da27d=a0_0x2da2['aPYrpD'](_0x2da27d),a0_0x2da2['IHurEk'][_0x2759fe]=_0x2da27d):_0x2da27d=_0x58816e,_0x2da27d;}describe(a0_0x54449f(0xc4),()=>{test('AgentSwitcher component can be imported',async()=>{const {AgentSwitcher:_0x3f7779}=await import('../../components/AgentSwitcher.js');expect(_0x3f7779)['toBeDefined'](),expect(typeof _0x3f7779)['toBe']('function');},0x7530),test('AgentCreator component can be imported',async()=>{const _0xc876b9=a0_0x2da2,{AgentCreator:_0x42b911}=await import(_0xc876b9(0xda));expect(_0x42b911)['toBeDefined'](),expect(typeof _0x42b911)[_0xc876b9(0xca)]('function');}),test('SettingsPanel component can be imported',async()=>{const _0x442498=a0_0x2da2,{SettingsPanel:_0x552a4b}=await import('../../components/SettingsPanel.js');expect(_0x552a4b)['toBeDefined'](),expect(typeof _0x552a4b)[_0x442498(0xca)](_0x442498(0xd5));}),test('SearchPanel component can be imported',async()=>{const _0x872d5=a0_0x2da2,{SearchPanel:_0x496172}=await import(_0x872d5(0xc3));expect(_0x496172)[_0x872d5(0xb7)](),expect(typeof _0x496172)['toBe'](_0x872d5(0xd5));}),test('HelpPanel component can be imported',async()=>{const _0x5c9be9=a0_0x2da2,{HelpPanel:_0x464930}=await import(_0x5c9be9(0xd1));expect(_0x464930)[_0x5c9be9(0xb7)](),expect(typeof _0x464930)['toBe'](_0x5c9be9(0xd5));});}),describe(a0_0x54449f(0xc5),()=>{test('AgentSwitcher\x20is\x20a\x20function\x20component',async()=>{const _0xc1b4eb=a0_0x2da2,{AgentSwitcher:_0x54de1a}=await import('../../components/AgentSwitcher.js');expect(typeof _0x54de1a)['toBe'](_0xc1b4eb(0xd5)),expect(_0x54de1a[_0xc1b4eb(0xc2)]?.['render'])['toBeUndefined']();}),test('AgentSwitcher is default export',async()=>{const _0x658e60=a0_0x2da2,module=await import(_0x658e60(0xcb));expect(module['default'])[_0x658e60(0xb7)](),expect(module[_0x658e60(0xc0)])['toBe'](module[_0x658e60(0xb9)]);});}),describe('Phase\x2010\x20-\x20AgentCreator\x20-\x20Structure',()=>{const _0x3a0634=a0_0x54449f;test(_0x3a0634(0xcd),async()=>{const _0x5a496c=_0x3a0634,{AgentCreator:_0x2a462d}=await import('../../components/AgentCreator.js');expect(typeof _0x2a462d)['toBe']('function'),expect(_0x2a462d['prototype']?.[_0x5a496c(0xd9)])[_0x5a496c(0xc6)]();}),test('AgentCreator is default export',async()=>{const _0x4ca0ca=_0x3a0634,module=await import(_0x4ca0ca(0xda));expect(module[_0x4ca0ca(0xc0)])[_0x4ca0ca(0xb7)](),expect(module['default'])['toBe'](module['AgentCreator']);});}),describe('Phase\x2010\x20-\x20SettingsPanel\x20-\x20Structure',()=>{test('SettingsPanel\x20is\x20a\x20function\x20component',async()=>{const _0x1a4ca5=a0_0x2da2,{SettingsPanel:_0x2d2469}=await import(_0x1a4ca5(0xc9));expect(typeof _0x2d2469)['toBe'](_0x1a4ca5(0xd5)),expect(_0x2d2469['prototype']?.['render'])[_0x1a4ca5(0xc6)]();}),test('SettingsPanel is default export',async()=>{const _0x5e8b87=a0_0x2da2,module=await import('../../components/SettingsPanel.js');expect(module[_0x5e8b87(0xc0)])['toBeDefined'](),expect(module[_0x5e8b87(0xc0)])['toBe'](module['SettingsPanel']);});}),describe(a0_0x54449f(0xba),()=>{const _0x47135c=a0_0x54449f;test(_0x47135c(0xd8),async()=>{const _0x40fa02=_0x47135c,{SearchPanel:_0x19b3cb}=await import(_0x40fa02(0xc3));expect(typeof _0x19b3cb)[_0x40fa02(0xca)]('function'),expect(_0x19b3cb['prototype']?.['render'])[_0x40fa02(0xc6)]();}),test('SearchPanel is default export',async()=>{const _0x1ab31b=_0x47135c,module=await import('../../components/SearchPanel.js');expect(module[_0x1ab31b(0xc0)])[_0x1ab31b(0xb7)](),expect(module['default'])[_0x1ab31b(0xca)](module[_0x1ab31b(0xc7)]);});}),describe(a0_0x54449f(0xbc),()=>{const _0x3f95aa=a0_0x54449f;test(_0x3f95aa(0xc8),async()=>{const _0x12c110=_0x3f95aa,{HelpPanel:_0x27345b}=await import('../../components/HelpPanel.js');expect(typeof _0x27345b)[_0x12c110(0xca)](_0x12c110(0xd5)),expect(_0x27345b[_0x12c110(0xc2)]?.[_0x12c110(0xd9)])[_0x12c110(0xc6)]();}),test('HelpPanel is default export',async()=>{const _0x3ac225=_0x3f95aa,module=await import(_0x3ac225(0xd1));expect(module['default'])[_0x3ac225(0xb7)](),expect(module[_0x3ac225(0xc0)])['toBe'](module['HelpPanel']);});}),describe('Phase\x2010\x20-\x20Integration\x20with\x20Layout',()=>{const _0x36e476=a0_0x54449f;test('Layout component can import all Phase 10 components',async()=>{const _0x1a4033=a0_0x2da2,[_0x38f00c,_0xff39df,_0x3cc750,_0x4ab064,_0x393023]=await Promise['all']([import(_0x1a4033(0xcb)),import('../../components/AgentCreator.js'),import(_0x1a4033(0xc9)),import(_0x1a4033(0xc3)),import(_0x1a4033(0xd1))]);expect(_0x38f00c['AgentSwitcher'])['toBeDefined'](),expect(_0xff39df['AgentCreator'])['toBeDefined'](),expect(_0x3cc750['SettingsPanel'])[_0x1a4033(0xb7)](),expect(_0x4ab064[_0x1a4033(0xc7)])[_0x1a4033(0xb7)](),expect(_0x393023[_0x1a4033(0xdb)])['toBeDefined']();}),test(_0x36e476(0xc1),async()=>{const _0x288357=_0x36e476,{Layout:_0x3cd1fe}=await import('../../components/Layout.js');expect(_0x3cd1fe)[_0x288357(0xb7)](),expect(typeof _0x3cd1fe)['toBe']('function');}),test('All\x20Phase\x2010\x20components\x20use\x20React\x20and\x20Ink',async()=>{const _0x292a50=_0x36e476,_0x37010f=await import('react'),_0x4f36e5=await import('ink');expect(_0x37010f['createElement'])['toBeDefined'](),expect(_0x37010f['useState'])['toBeDefined'](),expect(_0x4f36e5[_0x292a50(0xd2)])['toBeDefined'](),expect(_0x4f36e5[_0x292a50(0xbb)])[_0x292a50(0xb7)](),expect(_0x4f36e5['useInput'])[_0x292a50(0xb7)]();});}),describe(a0_0x54449f(0xcf),()=>{const _0x10ac16=a0_0x54449f;test('AgentCreator\x20defines\x20step\x20constants',async()=>{const _0x430ab2=a0_0x2da2,module=await import('../../components/AgentCreator.js');expect(module['AgentCreator'])[_0x430ab2(0xb7)]();}),test('SettingsPanel\x20defines\x20category\x20constants',async()=>{const _0x1514cc=a0_0x2da2,module=await import('../../components/SettingsPanel.js');expect(module[_0x1514cc(0xd7)])['toBeDefined']();}),test(_0x10ac16(0xb8),async()=>{const _0xc6f8bb=_0x10ac16,module=await import(_0xc6f8bb(0xd1));expect(module['HelpPanel'])['toBeDefined']();});}),describe('Phase\x2010\x20-\x20All\x20Components\x20Export\x20Correctly',()=>{test('All components can be imported together without conflicts',async()=>{const _0x55ceb4=a0_0x2da2,_0x5e6c3e=await Promise['all']([import('../../components/AgentSwitcher.js'),import('../../components/AgentCreator.js'),import('../../components/SettingsPanel.js'),import(_0x55ceb4(0xc3)),import(_0x55ceb4(0xd1))]),_0x34035e=_0x5e6c3e[_0x55ceb4(0xbf)](_0x39dce4=>Object['keys'](_0x39dce4)[0x0]),_0x42f0ef=new Set(_0x34035e);expect(_0x42f0ef['size'])[_0x55ceb4(0xca)](_0x34035e['length']);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x442454=a0_0x162f;(function(_0x1bb071,_0x2c26c6){const _0x35172c=a0_0x162f,_0x53fd42=_0x1bb071();while(!![]){try{const _0x4ce1fe=-parseInt(_0x35172c(0x1df))/0x1*(parseInt(_0x35172c(0x1ec))/0x2)+-parseInt(_0x35172c(0x202))/0x3+parseInt(_0x35172c(0x20f))/0x4+-parseInt(_0x35172c(0x1d7))/0x5*(-parseInt(_0x35172c(0x20c))/0x6)+-parseInt(_0x35172c(0x1dc))/0x7+-parseInt(_0x35172c(0x1e2))/0x8+parseInt(_0x35172c(0x1e5))/0x9*(parseInt(_0x35172c(0x1fd))/0xa);if(_0x4ce1fe===_0x2c26c6)break;else _0x53fd42['push'](_0x53fd42['shift']());}catch(_0x1257ff){_0x53fd42['push'](_0x53fd42['shift']());}}}(a0_0x15d6,0x40f55));function a0_0x15d6(){const _0x61d3f=['oMfNzw50swq','nJC3mJC0m3vKrhvoBW','tuLduK9tt0zu','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','q0Hbva','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','Bg9JywXOB3n0','mZuXmJKYzxfdD3bP','AgfZsgfUzgXLCG','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','zMLSDgvY','teXnx01prevmuW','zNvUy3rPB24','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','BgvUz3rO','u2vZC2LVBK1HBMfNzxi','z3b0ltq','zgvMyxvSDa','ywXS','revfufnfruS','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gtw9KzwWGrMLSDgvYAw5N','BwLJCM9ZB2z0','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZifzHBgLKyxrPB24','mtbezvPcA1e','t1jdsevtvfjbve9s','t3jJAgvZDhjHDg9YigvUzhbVAw50igv4Axn0CYbMB3iGBw9KzwWGyw5KignVBMzPzYbVCgvYyxrPB25Z','Dg9nyxrJAa','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','nta0nJyZywfWyu5k','lI4VlI4VyxbPl3nLC3nPB24UANm','quDftLq','y2XHDwrLltmTns1ZB25Uzxq','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','t1bftKfj','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','twvZC2fNzvjVDxrLCG','Dg9mB3DLCKnHC2u','Dg9czq','mtjsz0P0Dee','qwDLBNqGBw9KzsbLBMrWB2LUDhmGzM9SBg93ifjfu1rMDwWGCgf0DgvYBG','tw9KzsbHBMqGBw9KzwWGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','mtK4ndu4ngvKu2DXEa','qvbjx0vorfbpsu5uuW','Dg9dB250ywLU','tu9eruXFq0furuDpuLKGDMfSDwvZigfYzsbSB3DLCMnHC2u','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1VzguGyw5Kig1VzgvSignOyw5NzsbLDMvUDhm','yw50AhjVCgLJ','mJuYmZCWsg1OwwTH','qu5usfjpueLd','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','y2f0zwDVCNK','l2fWAs9SBg0VBw9KzwXZ','nJCZnZKYvgHgy1Du','quDftLrtx01prevFu0vu','Dg9vChbLCKnHC2u','m2PNCLfyDG','Dg9czurLzMLUzwq','zgvLChnLzwS','mJmZnZa5nK1OvhrQCW','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW'];a0_0x15d6=function(){return _0x61d3f;};return a0_0x15d6();}import{describe,test,expect}from'@jest/globals';function a0_0x162f(_0x23245e,_0x209266){_0x23245e=_0x23245e-0x1d3;const _0x15d632=a0_0x15d6();let _0x162f99=_0x15d632[_0x23245e];if(a0_0x162f['GnQWuY']===undefined){var _0x5b1a6c=function(_0x20e5e8){const _0x3bcdab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ceb29='',_0x27ed28='';for(let _0x2859e9=0x0,_0x10b286,_0x1de5fd,_0x3db843=0x0;_0x1de5fd=_0x20e5e8['charAt'](_0x3db843++);~_0x1de5fd&&(_0x10b286=_0x2859e9%0x4?_0x10b286*0x40+_0x1de5fd:_0x1de5fd,_0x2859e9++%0x4)?_0x1ceb29+=String['fromCharCode'](0xff&_0x10b286>>(-0x2*_0x2859e9&0x6)):0x0){_0x1de5fd=_0x3bcdab['indexOf'](_0x1de5fd);}for(let _0x4d2e3d=0x0,_0x4f3c00=_0x1ceb29['length'];_0x4d2e3d<_0x4f3c00;_0x4d2e3d++){_0x27ed28+='%'+('00'+_0x1ceb29['charCodeAt'](_0x4d2e3d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27ed28);};a0_0x162f['NfIVjb']=_0x5b1a6c,a0_0x162f['tajvdl']={},a0_0x162f['GnQWuY']=!![];}const _0x4b55e2=_0x15d632[0x0],_0x53b49e=_0x23245e+_0x4b55e2,_0x1beb1b=a0_0x162f['tajvdl'][_0x53b49e];return!_0x1beb1b?(_0x162f99=a0_0x162f['NfIVjb'](_0x162f99),a0_0x162f['tajvdl'][_0x53b49e]=_0x162f99):_0x162f99=_0x1beb1b,_0x162f99;}describe('Agent\x20Control\x20Management\x20-\x20Imports',()=>{test('useAgentControl hook can be imported',async()=>{const _0xab0aa9=a0_0x162f,{useAgentControl:_0x1ceb29}=await import(_0xab0aa9(0x1e7));expect(_0x1ceb29)[_0xab0aa9(0x1e0)](),expect(typeof _0x1ceb29)[_0xab0aa9(0x20b)](_0xab0aa9(0x1f1));}),test('useAgentControl is default export',async()=>{const _0x3fa635=a0_0x162f,module=await import(_0x3fa635(0x1e7));expect(module[_0x3fa635(0x1f7)])[_0x3fa635(0x1e0)](),expect(typeof module[_0x3fa635(0x1f7)])[_0x3fa635(0x20b)]('function'),expect(module[_0x3fa635(0x1f7)])['toBe'](module['useAgentControl']);});}),describe(a0_0x442454(0x1ee),()=>{const _0x393169=a0_0x442454;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x6b86d6=a0_0x162f,{AGENT_MODE:_0x27ed28}=await import('../../config/constants.js');expect(_0x27ed28)['toBeDefined'](),expect(_0x27ed28[_0x6b86d6(0x1e8)])[_0x6b86d6(0x20b)](_0x6b86d6(0x1e8)),expect(_0x27ed28['AGENT'])[_0x6b86d6(0x20b)]('AGENT');}),test('MODEL_CATEGORY\x20constants\x20are\x20defined',async()=>{const _0x35293c=a0_0x162f,{MODEL_CATEGORY:_0x2859e9}=await import(_0x35293c(0x1f3));expect(_0x2859e9)['toBeDefined'](),expect(_0x2859e9[_0x35293c(0x1d8)])[_0x35293c(0x20b)](_0x35293c(0x1d6)),expect(_0x2859e9['OPENAI'])['toBe']('openai'),expect(_0x2859e9[_0x35293c(0x1f9)])[_0x35293c(0x20b)](_0x35293c(0x1e1)),expect(_0x2859e9['MICROSOFT'])[_0x35293c(0x20b)](_0x35293c(0x1fb));}),test(_0x393169(0x20e),async()=>{const _0x2b321a=_0x393169,{API_ENDPOINTS:_0x10b286}=await import('../../config/constants.js');expect(_0x10b286[_0x2b321a(0x1dd)])['toBe'](_0x2b321a(0x1d9)),expect(_0x10b286['AGENTS_MODE_GET'])[_0x2b321a(0x20b)]('/api/agents/:agentId/mode'),expect(_0x10b286['LLM_MODELS'])['toBe'](_0x2b321a(0x1db));}),test(_0x393169(0x1d5),async()=>{const _0x423ec0=_0x393169,{WS_MESSAGE_TYPE:_0x1de5fd}=await import(_0x423ec0(0x1f3));expect(_0x1de5fd)['toBeDefined'](),expect(_0x1de5fd['AGENT_MODE_CHANGED'])['toBe']('agent_mode_changed');});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{test('useAgentControl\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x268fcd=a0_0x162f,{useAgentControl:_0x3db843}=await import('../../state/useAgentControl.js'),{SessionManager:_0x4d2e3d}=await import(_0x268fcd(0x203)),{MessageRouter:_0x4f3c00}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x5a3469}=await import('../../api/websocket.js'),_0x416f4b=new _0x4d2e3d(_0x268fcd(0x1eb),0x1f90),_0x4db320=new _0x5a3469('localhost',0x1f90),_0x4b6e9e=new _0x4f3c00(_0x4db320);expect(_0x416f4b)[_0x268fcd(0x1e0)](),expect(_0x4b6e9e)['toBeDefined'](),expect(typeof _0x3db843)[_0x268fcd(0x20b)](_0x268fcd(0x1f1));}),test('Full agent control stack can be imported together',async()=>{const _0x3763e6=a0_0x162f,[_0x5abb0c,_0x4bd6a8,_0x5f0176,_0x589641,_0x4a0879]=await Promise[_0x3763e6(0x1f8)]([import('../../config/constants.js'),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x3763e6(0x201)),import(_0x3763e6(0x1e7))]);expect(_0x5abb0c['AGENT_MODE'])['toBeDefined'](),expect(_0x5abb0c['MODEL_CATEGORY'])['toBeDefined'](),expect(_0x5abb0c[_0x3763e6(0x210)])['toBeDefined'](),expect(_0x4bd6a8[_0x3763e6(0x1f5)])['toBeDefined'](),expect(_0x5f0176['WebSocketManager'])['toBeDefined'](),expect(_0x589641[_0x3763e6(0x209)])['toBeDefined'](),expect(_0x4a0879['useAgentControl'])[_0x3763e6(0x1e0)]();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x1f8a00=a0_0x442454;test(_0x1f8a00(0x20d),async()=>{const _0x1c3bdd=_0x1f8a00,{API_ENDPOINTS:_0x146183}=await import('../../config/constants.js');expect(_0x146183[_0x1c3bdd(0x1dd)])[_0x1c3bdd(0x200)](/^\/api\/agents/),expect(_0x146183['AGENTS_MODE_GET'])[_0x1c3bdd(0x200)](/^\/api\/agents/),expect(_0x146183[_0x1c3bdd(0x1dd)])['toContain'](_0x1c3bdd(0x1e4)),expect(_0x146183['AGENTS_MODE_GET'])['toContain'](':agentId');}),test('LLM\x20models\x20endpoint\x20exists',async()=>{const _0x1ed144=_0x1f8a00,{API_ENDPOINTS:_0x1bb6bb}=await import(_0x1ed144(0x1f3));expect(_0x1bb6bb[_0x1ed144(0x1f0)])[_0x1ed144(0x1e0)](),expect(_0x1bb6bb['LLM_MODELS'])['toBe']('/api/llm/models');}),test(_0x1f8a00(0x1ff),async()=>{const _0x2e2f08=_0x1f8a00,{API_ENDPOINTS:_0xdbeb22}=await import('../../config/constants.js');expect(_0xdbeb22[_0x2e2f08(0x1fe)])[_0x2e2f08(0x1e0)](),expect(_0xdbeb22[_0x2e2f08(0x1fe)])[_0x2e2f08(0x20b)]('/api/orchestrator');});}),describe(a0_0x442454(0x208),()=>{test('useAgentControl\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x46853a=a0_0x162f,{useAgentControl:_0x1f2724}=await import(_0x46853a(0x1e7));expect(_0x1f2724['length'])[_0x46853a(0x20b)](0x3);});}),describe(a0_0x442454(0x1fc),()=>{const _0x565b22=a0_0x442454;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x43ff72=a0_0x162f,{AGENT_MODE:_0x5aae9c}=await import('../../config/constants.js'),_0xf15c8d=Object['keys'](_0x5aae9c);expect(_0xf15c8d[_0x43ff72(0x1f4)])['toBe'](0x2),expect(_0xf15c8d)[_0x43ff72(0x1d3)]('CHAT'),expect(_0xf15c8d)['toContain']('AGENT');}),test(_0x565b22(0x1ea),async()=>{const _0x36fcdc=_0x565b22,{AGENT_MODE:_0x74bd7b}=await import(_0x36fcdc(0x1f3));expect(_0x74bd7b[_0x36fcdc(0x1e8)])['toBe'](_0x36fcdc(0x1e8)),expect(_0x74bd7b['AGENT'])[_0x36fcdc(0x20b)](_0x36fcdc(0x204)),expect(_0x74bd7b['CHAT'])[_0x36fcdc(0x20b)](_0x74bd7b['CHAT'][_0x36fcdc(0x1de)]()),expect(_0x74bd7b[_0x36fcdc(0x204)])[_0x36fcdc(0x20b)](_0x74bd7b['AGENT']['toUpperCase']());}),test(_0x565b22(0x1d4),async()=>{const _0x2e461f=_0x565b22,{MODEL_CATEGORY:_0x52c4f4}=await import('../../config/constants.js');expect(_0x52c4f4['ANTHROPIC'])['toBe']('anthropic'),expect(_0x52c4f4[_0x2e461f(0x207)])[_0x2e461f(0x20b)]('openai'),expect(_0x52c4f4[_0x2e461f(0x1f9)])[_0x2e461f(0x20b)]('deepseek'),expect(_0x52c4f4[_0x2e461f(0x1e6)])['toBe']('microsoft'),expect(_0x52c4f4[_0x2e461f(0x1d8)])[_0x2e461f(0x20b)](_0x52c4f4[_0x2e461f(0x1d8)][_0x2e461f(0x20a)]()),expect(_0x52c4f4['OPENAI'])[_0x2e461f(0x20b)](_0x52c4f4[_0x2e461f(0x207)][_0x2e461f(0x20a)]());}),test(_0x565b22(0x206),async()=>{const _0x49e431=_0x565b22,{MODEL_CATEGORY:_0x38dcb2}=await import(_0x49e431(0x1f3)),_0x395473=Object['keys'](_0x38dcb2);expect(_0x395473)['toContain'](_0x49e431(0x1d8)),expect(_0x395473)[_0x49e431(0x1d3)]('OPENAI'),expect(_0x395473)[_0x49e431(0x1d3)](_0x49e431(0x1f9)),expect(_0x395473)['toContain']('MICROSOFT');});}),describe(a0_0x442454(0x1e9),()=>{test('MessageRouter\x20has\x20mode\x20change\x20event\x20handler\x20registered',async()=>{const _0x307c5b=a0_0x162f,{MessageRouter:_0x24e7e8}=await import(_0x307c5b(0x201)),{WebSocketManager:_0x13dd12}=await import(_0x307c5b(0x1e3)),{WS_MESSAGE_TYPE:_0x5e3448}=await import('../../config/constants.js'),_0x5f0a83=new _0x13dd12('localhost',0x1f90),_0xa56def=new _0x24e7e8(_0x5f0a83);expect(_0xa56def[_0x307c5b(0x1ed)](_0x5e3448['AGENT_MODE_CHANGED']))[_0x307c5b(0x20b)](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{test('AGENT_MODE\x20supports\x20toggling\x20between\x20modes',async()=>{const _0x28f5b8=a0_0x162f,{AGENT_MODE:_0x51d36a}=await import(_0x28f5b8(0x1f3));let _0x3f4629=_0x51d36a['CHAT'],_0x5c616e=_0x3f4629===_0x51d36a['CHAT']?_0x51d36a['AGENT']:_0x51d36a['CHAT'];expect(_0x5c616e)['toBe'](_0x51d36a[_0x28f5b8(0x204)]),_0x3f4629=_0x51d36a[_0x28f5b8(0x204)],_0x5c616e=_0x3f4629===_0x51d36a[_0x28f5b8(0x1e8)]?_0x51d36a[_0x28f5b8(0x204)]:_0x51d36a['CHAT'],expect(_0x5c616e)['toBe'](_0x51d36a[_0x28f5b8(0x1e8)]);});}),describe(a0_0x442454(0x1fa),()=>{const _0x46e2d6=a0_0x442454;test(_0x46e2d6(0x1f2),async()=>{const _0x19b464=_0x46e2d6,{MODEL_CATEGORY:_0xacecf8}=await import('../../config/constants.js'),_0xd85690=[{'id':_0x19b464(0x205),'category':_0xacecf8[_0x19b464(0x1d8)]},{'id':_0x19b464(0x1f6),'category':_0xacecf8[_0x19b464(0x207)]},{'id':'deepseek-chat','category':_0xacecf8[_0x19b464(0x1f9)]}],_0x7daa51=_0xd85690[_0x19b464(0x1ef)](_0x200fb1=>_0x200fb1[_0x19b464(0x1da)]===_0xacecf8['ANTHROPIC']),_0x5efa06=_0xd85690[_0x19b464(0x1ef)](_0x3a5429=>_0x3a5429[_0x19b464(0x1da)]===_0xacecf8['OPENAI']);expect(_0x7daa51[_0x19b464(0x1f4)])[_0x19b464(0x20b)](0x1),expect(_0x7daa51[0x0]['id'])['toBe']('claude-3-5-sonnet'),expect(_0x5efa06[_0x19b464(0x1f4)])['toBe'](0x1),expect(_0x5efa06[0x0]['id'])[_0x19b464(0x20b)]('gpt-4');});});
|
|
1
|
+
function a0_0x1269(){const _0x554cb4=['A2v5CW','quDftLq','ywDLBNrFBw9Kzv9JAgfUz2vK','tu9eruXFq0furuDpuLK','ywXS','Dg9vChbLCKnHC2u','mZuWsvr5sNLW','quDftLrtx01prevFr0vu','BgvUz3rO','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','revfufnfruS','mZy4mfvqy3b4CG','t1jdsevtvfjbve9s','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gtw9KzwWGrMLSDgvYAw5N','otDRrKXKB1e','Dg9dB250ywLU','oMfNzw50swq','qu5usfjpueLd','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','zMLSDgvY','l2fWAs9SBg0VBw9KzwXZ','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','teXnx01prevmuW','q0Hbva','y2XHDwrLltmTns1ZB25Uzxq','y2f0zwDVCNK','mtm1mMrQzK9wuW','Bg9JywXOB3n0','Dg9czq','tuLduK9tt0zu','u2vZC2LVBK1HBMfNzxi','yw50AhjVCgLJ','mZG2mZm2DNrMCNDN','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','quDftLrtx01prevFu0vu','quDftLrFtu9erv9dsefor0ve','lI4VlI4VyxbPl3nLC3nPB24UANm','nZeWndaZEMDQuNPQ','qvbjx0vorfbpsu5uuW','BwLJCM9ZB2z0','t1bftKfj','Dg9nyxrJAa','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','Dg9czurLzMLUzwq','ndqXodDqEw53CKG','twvZC2fNzvjVDxrLCG','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','DxnLqwDLBNrdB250CM9S','mte1yuLhyuzH','zgvLChnLzwS','odKYmZvRwgPuv04','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','z3b0ltq','quDftLrFtu9ersbZDxbWB3j0CYb0B2DNBgLUzYbIzxr3zwvUig1VzgvZ','teXnig1VzgvSCYbLBMrWB2LUDcbLEgLZDhm','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gtw9KzsbtD2L0y2HPBMCGtg9NAwm','zNvUy3rPB24','mta4mdHKyvL6s0O','Dg9mB3DLCKnHC2u','qwDLBNqGBw9KzsbLBMrWB2LUDhmGzM9SBg93ifjfu1rMDwWGCgf0DgvYBG','nZK5mZHJzhvjAMK'];a0_0x1269=function(){return _0x554cb4;};return a0_0x1269();}const a0_0x710662=a0_0x556f;(function(_0x2d6c29,_0x24e5ea){const _0x31d9e7=a0_0x556f,_0x41d065=_0x2d6c29();while(!![]){try{const _0x296c5b=parseInt(_0x31d9e7(0xa2))/0x1*(-parseInt(_0x31d9e7(0x9f))/0x2)+parseInt(_0x31d9e7(0x7b))/0x3+-parseInt(_0x31d9e7(0x76))/0x4+-parseInt(_0x31d9e7(0x86))/0x5*(parseInt(_0x31d9e7(0x93))/0x6)+parseInt(_0x31d9e7(0x90))/0x7*(parseInt(_0x31d9e7(0x70))/0x8)+-parseInt(_0x31d9e7(0x88))/0x9*(-parseInt(_0x31d9e7(0x9a))/0xa)+parseInt(_0x31d9e7(0x82))/0xb;if(_0x296c5b===_0x24e5ea)break;else _0x41d065['push'](_0x41d065['shift']());}catch(_0x1c9091){_0x41d065['push'](_0x41d065['shift']());}}}(a0_0x1269,0x41416));function a0_0x556f(_0x31af30,_0x2bb236){_0x31af30=_0x31af30-0x6e;const _0x126941=a0_0x1269();let _0x556fc2=_0x126941[_0x31af30];if(a0_0x556f['uqghAH']===undefined){var _0x39b9d2=function(_0x414c67){const _0x27a280='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x49a8eb='',_0x4dc86f='';for(let _0x3b090e=0x0,_0x61a7,_0x1c256a,_0x13c832=0x0;_0x1c256a=_0x414c67['charAt'](_0x13c832++);~_0x1c256a&&(_0x61a7=_0x3b090e%0x4?_0x61a7*0x40+_0x1c256a:_0x1c256a,_0x3b090e++%0x4)?_0x49a8eb+=String['fromCharCode'](0xff&_0x61a7>>(-0x2*_0x3b090e&0x6)):0x0){_0x1c256a=_0x27a280['indexOf'](_0x1c256a);}for(let _0x42ab24=0x0,_0x19cef8=_0x49a8eb['length'];_0x42ab24<_0x19cef8;_0x42ab24++){_0x4dc86f+='%'+('00'+_0x49a8eb['charCodeAt'](_0x42ab24)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dc86f);};a0_0x556f['mTNfzQ']=_0x39b9d2,a0_0x556f['tvider']={},a0_0x556f['uqghAH']=!![];}const _0x122daf=_0x126941[0x0],_0x563a01=_0x31af30+_0x122daf,_0x40304e=a0_0x556f['tvider'][_0x563a01];return!_0x40304e?(_0x556fc2=a0_0x556f['mTNfzQ'](_0x556fc2),a0_0x556f['tvider'][_0x563a01]=_0x556fc2):_0x556fc2=_0x40304e,_0x556fc2;}import{describe,test,expect}from'@jest/globals';describe(a0_0x710662(0x77),()=>{test('useAgentControl hook can be imported',async()=>{const _0x5c33aa=a0_0x556f,{useAgentControl:_0x49a8eb}=await import('../../state/useAgentControl.js');expect(_0x49a8eb)['toBeDefined'](),expect(typeof _0x49a8eb)[_0x5c33aa(0x72)]('function');}),test('useAgentControl is default export',async()=>{const _0x1a3d76=a0_0x556f,module=await import(_0x1a3d76(0x89));expect(module['default'])['toBeDefined'](),expect(typeof module['default'])['toBe'](_0x1a3d76(0x8f)),expect(module['default'])['toBe'](module[_0x1a3d76(0x85)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants',()=>{const _0x28d315=a0_0x710662;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x2c3811=a0_0x556f,{AGENT_MODE:_0x4dc86f}=await import('../../config/constants.js');expect(_0x4dc86f)[_0x2c3811(0x81)](),expect(_0x4dc86f[_0x2c3811(0xad)])[_0x2c3811(0x72)](_0x2c3811(0xad)),expect(_0x4dc86f['AGENT'])['toBe'](_0x2c3811(0x95));}),test(_0x28d315(0xa9),async()=>{const _0x3c2320=_0x28d315,{MODEL_CATEGORY:_0x3b090e}=await import(_0x3c2320(0x9d));expect(_0x3b090e)[_0x3c2320(0x81)](),expect(_0x3b090e['ANTHROPIC'])[_0x3c2320(0x72)]('anthropic'),expect(_0x3b090e[_0x3c2320(0x7e)])['toBe']('openai'),expect(_0x3b090e['DEEPSEEK'])['toBe']('deepseek'),expect(_0x3b090e[_0x3c2320(0x73)])[_0x3c2320(0x72)]('microsoft');}),test('Mode\x20and\x20model\x20API\x20endpoints\x20are\x20defined',async()=>{const _0x3600d4=_0x28d315,{API_ENDPOINTS:_0x61a7}=await import(_0x3600d4(0x9d));expect(_0x61a7[_0x3600d4(0x78)])[_0x3600d4(0x72)]('/api/agents/:agentId/mode'),expect(_0x61a7[_0x3600d4(0x9b)])['toBe']('/api/agents/:agentId/mode'),expect(_0x61a7[_0x3600d4(0xac)])[_0x3600d4(0x72)](_0x3600d4(0xa8));}),test('WS_MESSAGE_TYPE\x20includes\x20mode\x20and\x20model\x20change\x20events',async()=>{const _0x3d99d6=_0x28d315,{WS_MESSAGE_TYPE:_0x1c256a}=await import(_0x3d99d6(0x9d));expect(_0x1c256a)[_0x3d99d6(0x81)](),expect(_0x1c256a['AGENT_MODE_CHANGED'])['toBe'](_0x3d99d6(0x96));});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{test('useAgentControl\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x33b4dc=a0_0x556f,{useAgentControl:_0x13c832}=await import('../../state/useAgentControl.js'),{SessionManager:_0x42ab24}=await import(_0x33b4dc(0x7a)),{MessageRouter:_0x19cef8}=await import(_0x33b4dc(0xaa)),{WebSocketManager:_0x3fd204}=await import(_0x33b4dc(0xa6)),_0x1c93a7=new _0x42ab24('localhost',0x1f90),_0x1b5404=new _0x3fd204(_0x33b4dc(0x71),0x1f90),_0x59a47a=new _0x19cef8(_0x1b5404);expect(_0x1c93a7)['toBeDefined'](),expect(_0x59a47a)['toBeDefined'](),expect(typeof _0x13c832)[_0x33b4dc(0x72)]('function');}),test('Full agent control stack can be imported together',async()=>{const _0x2da4a2=a0_0x556f,[_0x525c24,_0x450004,_0x1829ef,_0x29abc2,_0x338f70]=await Promise[_0x2da4a2(0x98)]([import('../../config/constants.js'),import(_0x2da4a2(0x7a)),import(_0x2da4a2(0xa6)),import('../../api/messageRouter.js'),import('../../state/useAgentControl.js')]);expect(_0x525c24['AGENT_MODE'])[_0x2da4a2(0x81)](),expect(_0x525c24[_0x2da4a2(0x97)])['toBeDefined'](),expect(_0x525c24[_0x2da4a2(0x7c)])[_0x2da4a2(0x81)](),expect(_0x450004[_0x2da4a2(0x74)])[_0x2da4a2(0x81)](),expect(_0x1829ef['WebSocketManager'])['toBeDefined'](),expect(_0x29abc2[_0x2da4a2(0x83)])[_0x2da4a2(0x81)](),expect(_0x338f70['useAgentControl'])['toBeDefined']();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x166192=a0_0x710662;test(_0x166192(0x92),async()=>{const _0x24831d=_0x166192,{API_ENDPOINTS:_0x1dcb15}=await import(_0x24831d(0x9d));expect(_0x1dcb15[_0x24831d(0x78)])['toMatch'](/^\/api\/agents/),expect(_0x1dcb15[_0x24831d(0x9b)])[_0x24831d(0x7f)](/^\/api\/agents/),expect(_0x1dcb15[_0x24831d(0x78)])[_0x24831d(0xa3)](_0x24831d(0xa4)),expect(_0x1dcb15[_0x24831d(0x9b)])[_0x24831d(0xa3)](_0x24831d(0xa4));}),test(_0x166192(0x8d),async()=>{const _0x5e217c=_0x166192,{API_ENDPOINTS:_0x5bc611}=await import(_0x5e217c(0x9d));expect(_0x5bc611['LLM_MODELS'])[_0x5e217c(0x81)](),expect(_0x5bc611[_0x5e217c(0xac)])[_0x5e217c(0x72)](_0x5e217c(0xa8));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x31c7dc=_0x166192,{API_ENDPOINTS:_0x589c05}=await import('../../config/constants.js');expect(_0x589c05['ORCHESTRATOR'])[_0x31c7dc(0x81)](),expect(_0x589c05[_0x31c7dc(0xa0)])[_0x31c7dc(0x72)]('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{test('useAgentControl\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x11ad86=a0_0x556f,{useAgentControl:_0x14f831}=await import(_0x11ad86(0x89));expect(_0x14f831['length'])[_0x11ad86(0x72)](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x1b6597=a0_0x710662;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x1bfbe9=a0_0x556f,{AGENT_MODE:_0x592286}=await import('../../config/constants.js'),_0x331c2f=Object['keys'](_0x592286);expect(_0x331c2f[_0x1bfbe9(0x9c)])[_0x1bfbe9(0x72)](0x2),expect(_0x331c2f)['toContain'](_0x1bfbe9(0xad)),expect(_0x331c2f)[_0x1bfbe9(0xa3)]('AGENT');}),test(_0x1b6597(0x80),async()=>{const _0x1ce62d=_0x1b6597,{AGENT_MODE:_0x296c96}=await import(_0x1ce62d(0x9d));expect(_0x296c96[_0x1ce62d(0xad)])['toBe'](_0x1ce62d(0xad)),expect(_0x296c96['AGENT'])[_0x1ce62d(0x72)](_0x1ce62d(0x95)),expect(_0x296c96[_0x1ce62d(0xad)])[_0x1ce62d(0x72)](_0x296c96['CHAT'][_0x1ce62d(0x99)]()),expect(_0x296c96['AGENT'])['toBe'](_0x296c96['AGENT']['toUpperCase']());}),test('MODEL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x36c727=_0x1b6597,{MODEL_CATEGORY:_0x4d94ee}=await import(_0x36c727(0x9d));expect(_0x4d94ee[_0x36c727(0xa5)])['toBe'](_0x36c727(0x75)),expect(_0x4d94ee['OPENAI'])['toBe']('openai'),expect(_0x4d94ee['DEEPSEEK'])['toBe'](_0x36c727(0x87)),expect(_0x4d94ee[_0x36c727(0x73)])['toBe'](_0x36c727(0x7d)),expect(_0x4d94ee[_0x36c727(0xa5)])[_0x36c727(0x72)](_0x4d94ee['ANTHROPIC'][_0x36c727(0x91)]()),expect(_0x4d94ee[_0x36c727(0x7e)])[_0x36c727(0x72)](_0x4d94ee['OPENAI']['toLowerCase']());}),test(_0x1b6597(0xab),async()=>{const _0x16a048=_0x1b6597,{MODEL_CATEGORY:_0x23c7eb}=await import('../../config/constants.js'),_0x212ff0=Object[_0x16a048(0x94)](_0x23c7eb);expect(_0x212ff0)[_0x16a048(0xa3)](_0x16a048(0xa5)),expect(_0x212ff0)['toContain']('OPENAI'),expect(_0x212ff0)['toContain'](_0x16a048(0x9e)),expect(_0x212ff0)[_0x16a048(0xa3)](_0x16a048(0x73));});}),describe(a0_0x710662(0x84),()=>{test('MessageRouter\x20has\x20mode\x20change\x20event\x20handler\x20registered',async()=>{const _0x11fe8b=a0_0x556f,{MessageRouter:_0x241c13}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x3bf5c0}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x46760c}=await import(_0x11fe8b(0x9d)),_0x224b74=new _0x3bf5c0(_0x11fe8b(0x71),0x1f90),_0x4c74a5=new _0x241c13(_0x224b74);expect(_0x4c74a5['hasHandler'](_0x46760c[_0x11fe8b(0x79)]))['toBe'](!![]);});}),describe(a0_0x710662(0x8e),()=>{const _0x2919c2=a0_0x710662;test(_0x2919c2(0x8c),async()=>{const _0x2c1bf5=_0x2919c2,{AGENT_MODE:_0x208ce0}=await import('../../config/constants.js');let _0x5e9f0f=_0x208ce0[_0x2c1bf5(0xad)],_0x3d4bc1=_0x5e9f0f===_0x208ce0['CHAT']?_0x208ce0[_0x2c1bf5(0x95)]:_0x208ce0[_0x2c1bf5(0xad)];expect(_0x3d4bc1)['toBe'](_0x208ce0['AGENT']),_0x5e9f0f=_0x208ce0[_0x2c1bf5(0x95)],_0x3d4bc1=_0x5e9f0f===_0x208ce0['CHAT']?_0x208ce0[_0x2c1bf5(0x95)]:_0x208ce0['CHAT'],expect(_0x3d4bc1)[_0x2c1bf5(0x72)](_0x208ce0[_0x2c1bf5(0xad)]);});}),describe(a0_0x710662(0xa1),()=>{const _0x5731db=a0_0x710662;test(_0x5731db(0x8a),async()=>{const _0x3e878b=_0x5731db,{MODEL_CATEGORY:_0x2fad0d}=await import(_0x3e878b(0x9d)),_0x2c239f=[{'id':_0x3e878b(0x6e),'category':_0x2fad0d['ANTHROPIC']},{'id':_0x3e878b(0x8b),'category':_0x2fad0d['OPENAI']},{'id':'deepseek-chat','category':_0x2fad0d[_0x3e878b(0x9e)]}],_0x118f85=_0x2c239f[_0x3e878b(0xa7)](_0x25b7a7=>_0x25b7a7[_0x3e878b(0x6f)]===_0x2fad0d['ANTHROPIC']),_0xb462ed=_0x2c239f[_0x3e878b(0xa7)](_0x74e857=>_0x74e857[_0x3e878b(0x6f)]===_0x2fad0d[_0x3e878b(0x7e)]);expect(_0x118f85[_0x3e878b(0x9c)])[_0x3e878b(0x72)](0x1),expect(_0x118f85[0x0]['id'])[_0x3e878b(0x72)]('claude-3-5-sonnet'),expect(_0xb462ed[_0x3e878b(0x9c)])[_0x3e878b(0x72)](0x1),expect(_0xb462ed[0x0]['id'])['toBe'](_0x3e878b(0x8b));});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x573a7e=a0_0x4e8a;function a0_0x28b6(){const _0x20d820=['mty5odCYogn2rgrfCG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','y3vZDg9T','nefytfbTtq','nZC5nJqWmefnvunMDW','C3LZDgvTlwfKBwLUAxn0CMf0B3i','DxnLqwDLBNrZ','nZyYnJLpuNPdEu0','mJrzufvSCNG','zxjYB3i','Bg9JywXOB3n0','qwDLBNqGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','y29KAw5NlwfZC2LZDgfUDa','zNvUy3rPB24','l2fWAs9VCMnOzxn0CMf0B3i','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','zgvMyxvSDa','Dg9czurLzMLUzwq','q09esu5hx0ftu0Ltvefova','ywn0AxzL','qwDLBNqGtwfUywDLBwvUDcaTieLTCg9YDhm','Dg9dB250ywLU','q1vtve9n','u2vZC2LVBK1HBMfNzxi','oMfNzw50swq','mtqWmZmWCNHjBfPH','qwXSigfNzw50igvUzhbVAw50CYbMB2XSB3CGuKvtvgz1BcbWyxr0zxjU','AwrSzq','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','qwDLBNqGtwfUywDLBwvUDcaTienVBNn0yw50CW','rvjst1i','qunusvzf','odaXnJGXmfDrqvPdBG','mtrnD1DYvKW','quDftLrtx0Lnue9sva','zgf0ys1HBMfSExn0','u1Ltvevnx0fetuLosvnuuKfut1i','Dg9nyxrJAa','Dg9czq','mZC0otG0mxLAz09rzq','quDftLrtx01prevFr0vu','quDftLrtx1nut1a','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','quDftLrFu1rbvfvtignVBNn0yw50CYbHCMuGzgvMAw5Lza','twvZC2fNzvjVDxrLCG','q1jfqvrjvKvFv1jjvevs','y3jLyxrPDMuTD3jPDgvY','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','quDftLrtx01prevFu0vu','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq','mtq4odyXndbbwuLnuKK','uefvu0ve','qwDLBNqGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','quDftLrtx0fwquLmqujmrq'];a0_0x28b6=function(){return _0x20d820;};return a0_0x28b6();}(function(_0xc0bc70,_0x54a1e7){const _0x1b559c=a0_0x4e8a,_0x5c936a=_0xc0bc70();while(!![]){try{const _0x3c43e9=parseInt(_0x1b559c(0x1d0))/0x1*(-parseInt(_0x1b559c(0x1b0))/0x2)+-parseInt(_0x1b559c(0x1d4))/0x3*(parseInt(_0x1b559c(0x1d5))/0x4)+-parseInt(_0x1b559c(0x1d1))/0x5+parseInt(_0x1b559c(0x1b7))/0x6+parseInt(_0x1b559c(0x1b8))/0x7*(parseInt(_0x1b559c(0x1cd))/0x8)+-parseInt(_0x1b559c(0x1be))/0x9+parseInt(_0x1b559c(0x1c9))/0xa;if(_0x3c43e9===_0x54a1e7)break;else _0x5c936a['push'](_0x5c936a['shift']());}catch(_0x52cce2){_0x5c936a['push'](_0x5c936a['shift']());}}}(a0_0x28b6,0xcd270));function a0_0x4e8a(_0x4024b9,_0x4acc9c){_0x4024b9=_0x4024b9-0x1a5;const _0x28b6f3=a0_0x28b6();let _0x4e8a49=_0x28b6f3[_0x4024b9];if(a0_0x4e8a['OvuVmc']===undefined){var _0x479807=function(_0x3b80c9){const _0x46f9e7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58e01a='',_0x2ececd='';for(let _0x43a4cc=0x0,_0x479dc6,_0x38098c,_0x276f8d=0x0;_0x38098c=_0x3b80c9['charAt'](_0x276f8d++);~_0x38098c&&(_0x479dc6=_0x43a4cc%0x4?_0x479dc6*0x40+_0x38098c:_0x38098c,_0x43a4cc++%0x4)?_0x58e01a+=String['fromCharCode'](0xff&_0x479dc6>>(-0x2*_0x43a4cc&0x6)):0x0){_0x38098c=_0x46f9e7['indexOf'](_0x38098c);}for(let _0x161d7e=0x0,_0x267f31=_0x58e01a['length'];_0x161d7e<_0x267f31;_0x161d7e++){_0x2ececd+='%'+('00'+_0x58e01a['charCodeAt'](_0x161d7e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ececd);};a0_0x4e8a['igzLZV']=_0x479807,a0_0x4e8a['NQhBVd']={},a0_0x4e8a['OvuVmc']=!![];}const _0x147c55=_0x28b6f3[0x0],_0xc9d15b=_0x4024b9+_0x147c55,_0x5c32b1=a0_0x4e8a['NQhBVd'][_0xc9d15b];return!_0x5c32b1?(_0x4e8a49=a0_0x4e8a['igzLZV'](_0x4e8a49),a0_0x4e8a['NQhBVd'][_0xc9d15b]=_0x4e8a49):_0x4e8a49=_0x5c32b1,_0x4e8a49;}import{describe,test,expect}from'@jest/globals';describe(a0_0x573a7e(0x1ab),()=>{test('useAgents hook can be imported',async()=>{const _0x5e79f0=a0_0x4e8a,{useAgents:_0x58e01a}=await import('../../state/useAgents.js');expect(_0x58e01a)['toBeDefined'](),expect(typeof _0x58e01a)[_0x5e79f0(0x1bd)](_0x5e79f0(0x1da));}),test('useAgents is default export',async()=>{const _0x252a34=a0_0x4e8a,module=await import(_0x252a34(0x1a6));expect(module[_0x252a34(0x1a7)])[_0x252a34(0x1a8)](),expect(typeof module['default'])[_0x252a34(0x1bd)](_0x252a34(0x1da)),expect(module['default'])['toBe'](module[_0x252a34(0x1d3)]);});}),describe(a0_0x573a7e(0x1b4),()=>{const _0x1beda1=a0_0x573a7e;test(_0x1beda1(0x1c8),async()=>{const _0x4075d8=_0x1beda1,{AGENT_MODE:_0x2ececd}=await import('../../config/constants.js');expect(_0x2ececd)['toBeDefined'](),expect(_0x2ececd['CHAT'])[_0x4075d8(0x1bd)]('CHAT'),expect(_0x2ececd['AGENT'])['toBe']('AGENT');}),test(_0x1beda1(0x1c2),async()=>{const _0x4ad8eb=_0x1beda1,{AGENT_STATUS:_0x43a4cc}=await import('../../config/constants.js');expect(_0x43a4cc)['toBeDefined'](),expect(_0x43a4cc[_0x4ad8eb(0x1b6)])[_0x4ad8eb(0x1bd)](_0x4ad8eb(0x1aa)),expect(_0x43a4cc[_0x4ad8eb(0x1ca)])[_0x4ad8eb(0x1bd)]('paused'),expect(_0x43a4cc['IDLE'])[_0x4ad8eb(0x1bd)](_0x4ad8eb(0x1b2)),expect(_0x43a4cc[_0x4ad8eb(0x1b5)])['toBe'](_0x4ad8eb(0x1d6)),expect(_0x43a4cc['ARCHIVED'])['toBe']('archived');}),test(_0x1beda1(0x1cb),async()=>{const _0x9a5029=_0x1beda1,{API_ENDPOINTS:_0x479dc6}=await import(_0x9a5029(0x1c1));expect(_0x479dc6[_0x9a5029(0x1cc)])['toBe']('/api/agents/available'),expect(_0x479dc6['AGENTS_METADATA'])['toBe']('/api/agents/:agentId/metadata'),expect(_0x479dc6['AGENTS_IMPORT'])['toBe']('/api/agents/import'),expect(_0x479dc6[_0x9a5029(0x1c7)])['toBe']('/api/agents/:agentId/mode'),expect(_0x479dc6[_0x9a5029(0x1bf)])[_0x9a5029(0x1bd)]('/api/agents/:agentId/mode'),expect(_0x479dc6[_0x9a5029(0x1c0)])['toBe'](_0x9a5029(0x1c6));}),test('AGENT_TEMPLATES\x20constants\x20are\x20defined',async()=>{const _0x476cd4=_0x1beda1,{AGENT_TEMPLATES:_0x38098c}=await import('../../config/constants.js');expect(_0x38098c)[_0x476cd4(0x1a8)](),expect(_0x38098c[_0x476cd4(0x1a9)])['toBe'](_0x476cd4(0x1d9)),expect(_0x38098c['DATA_ANALYST'])[_0x476cd4(0x1bd)](_0x476cd4(0x1ba)),expect(_0x38098c[_0x476cd4(0x1c4)])['toBe'](_0x476cd4(0x1c5)),expect(_0x38098c[_0x476cd4(0x1bb)])[_0x476cd4(0x1bd)](_0x476cd4(0x1d2)),expect(_0x38098c[_0x476cd4(0x1ad)])['toBe'](_0x476cd4(0x1cf));});}),describe('Agent\x20Management\x20-\x20Integration',()=>{test('useAgents\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x56326c=a0_0x4e8a,{useAgents:_0x276f8d}=await import(_0x56326c(0x1a6)),{SessionManager:_0x161d7e}=await import('../../api/session.js'),{MessageRouter:_0x267f31}=await import(_0x56326c(0x1b3)),{WebSocketManager:_0x5a82bd}=await import('../../api/websocket.js'),_0x1fcc3f=new _0x161d7e(_0x56326c(0x1d7),0x1f90),_0x4a41de=new _0x5a82bd(_0x56326c(0x1d7),0x1f90),_0x40d31d=new _0x267f31(_0x4a41de);expect(_0x1fcc3f)['toBeDefined'](),expect(_0x40d31d)['toBeDefined'](),expect(typeof _0x276f8d)[_0x56326c(0x1bd)](_0x56326c(0x1da));}),test('Full agent management stack can be imported together',async()=>{const _0x47d16d=a0_0x4e8a,[_0x57d4ac,_0x28c1c5,_0x5bd981,_0x4d0069,_0x503385]=await Promise['all']([import('../../config/constants.js'),import('../../api/session.js'),import(_0x47d16d(0x1ce)),import(_0x47d16d(0x1b3)),import(_0x47d16d(0x1a6))]);expect(_0x57d4ac['AGENT_MODE'])['toBeDefined'](),expect(_0x28c1c5[_0x47d16d(0x1ae)])['toBeDefined'](),expect(_0x5bd981['WebSocketManager'])[_0x47d16d(0x1a8)](),expect(_0x4d0069[_0x47d16d(0x1c3)])[_0x47d16d(0x1a8)](),expect(_0x503385['useAgents'])['toBeDefined']();});}),describe(a0_0x573a7e(0x1d8),()=>{const _0x1a9b66=a0_0x573a7e;test(_0x1a9b66(0x1b1),async()=>{const _0x4514b7=_0x1a9b66,{API_ENDPOINTS:_0x1edfbe}=await import(_0x4514b7(0x1c1));expect(_0x1edfbe['AGENTS_AVAILABLE'])['toMatch'](/^\/api\/agents/),expect(_0x1edfbe['AGENTS_METADATA'])['toMatch'](/^\/api\/agents/),expect(_0x1edfbe[_0x4514b7(0x1b9)])['toMatch'](/^\/api\/agents/),expect(_0x1edfbe['AGENTS_MODE_SET'])[_0x4514b7(0x1bc)](/^\/api\/agents/),expect(_0x1edfbe['AGENTS_MODE_GET'])[_0x4514b7(0x1bc)](/^\/api\/agents/),expect(_0x1edfbe['AGENTS_STOP'])['toMatch'](/^\/api\/agents/),expect(_0x1edfbe['AGENTS_METADATA'])['toContain'](_0x4514b7(0x1af)),expect(_0x1edfbe[_0x4514b7(0x1c7)])['toContain'](':agentId'),expect(_0x1edfbe[_0x4514b7(0x1bf)])[_0x4514b7(0x1ac)](':agentId'),expect(_0x1edfbe['AGENTS_STOP'])[_0x4514b7(0x1ac)](_0x4514b7(0x1af));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20agent\x20operations',async()=>{const _0x2fcdfa=_0x1a9b66,{API_ENDPOINTS:_0x5a2c51}=await import('../../config/constants.js');expect(_0x5a2c51['ORCHESTRATOR'])['toBeDefined'](),expect(_0x5a2c51['ORCHESTRATOR'])[_0x2fcdfa(0x1bd)](_0x2fcdfa(0x1a5));});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x358662=a0_0xee17;(function(_0xe9eee8,_0x18887b){const _0x4df07d=a0_0xee17,_0x47bfdc=_0xe9eee8();while(!![]){try{const _0x435efe=parseInt(_0x4df07d(0x190))/0x1+-parseInt(_0x4df07d(0x194))/0x2+-parseInt(_0x4df07d(0x18b))/0x3*(parseInt(_0x4df07d(0x185))/0x4)+parseInt(_0x4df07d(0x187))/0x5*(-parseInt(_0x4df07d(0x17c))/0x6)+-parseInt(_0x4df07d(0x18a))/0x7+parseInt(_0x4df07d(0x17f))/0x8+parseInt(_0x4df07d(0x18f))/0x9*(parseInt(_0x4df07d(0x181))/0xa);if(_0x435efe===_0x18887b)break;else _0x47bfdc['push'](_0x47bfdc['shift']());}catch(_0xf70cd6){_0x47bfdc['push'](_0x47bfdc['shift']());}}}(a0_0x5a7c,0x8340c));function a0_0xee17(_0x18e8a5,_0x165923){_0x18e8a5=_0x18e8a5-0x17c;const _0x5a7ca2=a0_0x5a7c();let _0xee1742=_0x5a7ca2[_0x18e8a5];if(a0_0xee17['NjqBVw']===undefined){var _0x3ea21c=function(_0x2c9258){const _0x9c98f3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10839f='',_0x5ea5df='';for(let _0x778632=0x0,_0x5752f4,_0x43dad2,_0x2f8668=0x0;_0x43dad2=_0x2c9258['charAt'](_0x2f8668++);~_0x43dad2&&(_0x5752f4=_0x778632%0x4?_0x5752f4*0x40+_0x43dad2:_0x43dad2,_0x778632++%0x4)?_0x10839f+=String['fromCharCode'](0xff&_0x5752f4>>(-0x2*_0x778632&0x6)):0x0){_0x43dad2=_0x9c98f3['indexOf'](_0x43dad2);}for(let _0x18c61c=0x0,_0x1d48c5=_0x10839f['length'];_0x18c61c<_0x1d48c5;_0x18c61c++){_0x5ea5df+='%'+('00'+_0x10839f['charCodeAt'](_0x18c61c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ea5df);};a0_0xee17['OFRGnJ']=_0x3ea21c,a0_0xee17['loFmrd']={},a0_0xee17['NjqBVw']=!![];}const _0x46250c=_0x5a7ca2[0x0],_0x5b439f=_0x18e8a5+_0x46250c,_0x48a0f1=a0_0xee17['loFmrd'][_0x5b439f];return!_0x48a0f1?(_0xee1742=a0_0xee17['OFRGnJ'](_0xee1742),a0_0xee17['loFmrd'][_0x5b439f]=_0xee1742):_0xee1742=_0x48a0f1,_0xee1742;}import{describe,test,expect}from'@jest/globals';function a0_0x5a7c(){const _0x32b0f9=['DxnLu3rHDgu','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','DxnLrwzMzwn0','nfLfz2T0ta','tgf5B3v0','nvjqyM9Jta','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBNrLz3jHDgLVBG','mZKXmJCYn1zLquTtrq','mtK4ntCYmxflz0TVqq','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','sgvHzgvY','oxPIAgrMqW','nJCWndC1C3DbAM9I','Dg9czurLzMLUzwq','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm','mtqZodu4zvDPswfr','tgf5B3v0ignVBxbVBMvUDcbPBNrLz3jHDgvZihDPDgGGywXSihn0yxrLigHVB2TZ','Dg9czq','nJi0ntCWme5dt3PqAW','u3rHDhvZqMfY','zgvMyxvSDa','mtiZodu1mM5uthrNyW','zNvUy3rPB24','mJa0nJa2ntbYD3jYvhO'];a0_0x5a7c=function(){return _0x32b0f9;};return a0_0x5a7c();}describe('Component\x20Management\x20-\x20Imports',()=>{test('Layout component can be imported',async()=>{const _0x22a454=a0_0xee17,{Layout:_0x10839f}=await import(_0x22a454(0x18d));expect(_0x10839f)['toBeDefined'](),expect(typeof _0x10839f)[_0x22a454(0x196)](_0x22a454(0x180));}),test('Layout is default export',async()=>{const _0x25f4eb=a0_0xee17,module=await import(_0x25f4eb(0x18d));expect(module['default'])[_0x25f4eb(0x191)](),expect(typeof module['default'])['toBe'](_0x25f4eb(0x180)),expect(module['default'])['toBe'](module[_0x25f4eb(0x186)]);}),test('Header component can be imported',async()=>{const _0x1d32b6=a0_0xee17,{Header:_0x5ea5df}=await import('../../components/Header.js');expect(_0x5ea5df)[_0x1d32b6(0x191)](),expect(typeof _0x5ea5df)['toBe'](_0x1d32b6(0x180));}),test('Header is default export',async()=>{const _0x52630d=a0_0xee17,module=await import(_0x52630d(0x193));expect(module[_0x52630d(0x17e)])[_0x52630d(0x191)](),expect(module[_0x52630d(0x17e)])['toBe'](module[_0x52630d(0x18e)]);}),test('StatusBar component can be imported',async()=>{const _0x1f4f9a=a0_0xee17,{StatusBar:_0x778632}=await import(_0x1f4f9a(0x183));expect(_0x778632)['toBeDefined'](),expect(typeof _0x778632)['toBe']('function');}),test('StatusBar is default export',async()=>{const _0x4c06b1=a0_0xee17,module=await import(_0x4c06b1(0x183));expect(module[_0x4c06b1(0x17e)])[_0x4c06b1(0x191)](),expect(module[_0x4c06b1(0x17e)])[_0x4c06b1(0x196)](module['StatusBar']);}),test('MessageList component can be imported',async()=>{const _0x31eb48=a0_0xee17,{MessageList:_0x5752f4}=await import(_0x31eb48(0x192));expect(_0x5752f4)[_0x31eb48(0x191)](),expect(typeof _0x5752f4)['toBe'](_0x31eb48(0x180));}),test('MessageList is default export',async()=>{const _0x2fd414=a0_0xee17,module=await import('../../components/MessageList.js');expect(module[_0x2fd414(0x17e)])['toBeDefined'](),expect(module['default'])[_0x2fd414(0x196)](module['MessageList']);}),test('InputBox component can be imported',async()=>{const _0x4586f3=a0_0xee17,{InputBox:_0x43dad2}=await import(_0x4586f3(0x18c));expect(_0x43dad2)['toBeDefined'](),expect(typeof _0x43dad2)['toBe']('function');}),test('InputBox is default export',async()=>{const _0x42497b=a0_0xee17,module=await import(_0x42497b(0x18c));expect(module[_0x42497b(0x17e)])[_0x42497b(0x191)](),expect(module[_0x42497b(0x17e)])['toBe'](module['InputBox']);});}),describe(a0_0x358662(0x189),()=>{const _0x374915=a0_0x358662;test('All components can be imported together',async()=>{const _0x10d95d=a0_0xee17,[_0x2f8668,_0x18c61c,_0x1d48c5,_0x32990d,_0xd4a3c4]=await Promise['all']([import(_0x10d95d(0x18d)),import(_0x10d95d(0x193)),import(_0x10d95d(0x183)),import(_0x10d95d(0x192)),import(_0x10d95d(0x18c))]);expect(_0x2f8668[_0x10d95d(0x186)])['toBeDefined'](),expect(_0x18c61c['Header'])['toBeDefined'](),expect(_0x1d48c5[_0x10d95d(0x17d)])[_0x10d95d(0x191)](),expect(_0x32990d['MessageList'])[_0x10d95d(0x191)](),expect(_0xd4a3c4['InputBox'])['toBeDefined']();}),test(_0x374915(0x195),async()=>{const _0x2fa89e=_0x374915,{Layout:_0x2821c5}=await import('../../components/Layout.js'),{useConnection:_0x59fb32}=await import('../../state/useConnection.js'),{useAgents:_0x1311cf}=await import('../../state/useAgents.js'),{useMessages:_0x32cc9c}=await import('../../state/useMessages.js'),{useAgentControl:_0x55eae4}=await import('../../state/useAgentControl.js'),{useTools:_0x3a88f7}=await import(_0x2fa89e(0x188));expect(_0x2821c5)['toBeDefined'](),expect(_0x59fb32)[_0x2fa89e(0x191)](),expect(_0x1311cf)[_0x2fa89e(0x191)](),expect(_0x32cc9c)[_0x2fa89e(0x191)](),expect(_0x55eae4)['toBeDefined'](),expect(_0x3a88f7)[_0x2fa89e(0x191)]();});}),describe('Component\x20Management\x20-\x20React/Ink\x20Dependencies',()=>{test('Ink components can be imported',async()=>{const {Box:_0x2102e,Text:_0x3d7fdc}=await import('ink');expect(_0x2102e)['toBeDefined'](),expect(_0x3d7fdc)['toBeDefined']();}),test('React can be imported',async()=>{const _0x31d925=a0_0xee17,_0x254934=await import('react');expect(_0x254934['default'])['toBeDefined'](),expect(_0x254934[_0x31d925(0x182)])['toBeDefined'](),expect(_0x254934[_0x31d925(0x184)])['toBeDefined']();});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x31a7dd=a0_0x25a8;function a0_0x25a8(_0x49b198,_0x2412ff){_0x49b198=_0x49b198-0x7b;const _0x2b41db=a0_0x2b41();let _0x25a80b=_0x2b41db[_0x49b198];if(a0_0x25a8['dtrkqr']===undefined){var _0x4101e2=function(_0x58e029){const _0x1ed30d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x44e423='',_0x4f0132='';for(let _0x17655b=0x0,_0xd61434,_0x25cd97,_0xc1ed5e=0x0;_0x25cd97=_0x58e029['charAt'](_0xc1ed5e++);~_0x25cd97&&(_0xd61434=_0x17655b%0x4?_0xd61434*0x40+_0x25cd97:_0x25cd97,_0x17655b++%0x4)?_0x44e423+=String['fromCharCode'](0xff&_0xd61434>>(-0x2*_0x17655b&0x6)):0x0){_0x25cd97=_0x1ed30d['indexOf'](_0x25cd97);}for(let _0x184b52=0x0,_0x5b9f3d=_0x44e423['length'];_0x184b52<_0x5b9f3d;_0x184b52++){_0x4f0132+='%'+('00'+_0x44e423['charCodeAt'](_0x184b52)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4f0132);};a0_0x25a8['wLtFqJ']=_0x4101e2,a0_0x25a8['RNQzWo']={},a0_0x25a8['dtrkqr']=!![];}const _0x5a712d=_0x2b41db[0x0],_0x277264=_0x49b198+_0x5a712d,_0x38151c=a0_0x25a8['RNQzWo'][_0x277264];return!_0x38151c?(_0x25a80b=a0_0x25a8['wLtFqJ'](_0x25a80b),a0_0x25a8['RNQzWo'][_0x277264]=_0x25a80b):_0x25a80b=_0x38151c,_0x25a80b;}function a0_0x2b41(){const _0x2e8833=['tufyx0fuvevnufrt','y29UBMvJDgLUzW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','reLtq09otKvdveve','AxnszwnVBM5Ly3rPBMC','CMvJB25Uzwn0Aw5N','mJjyyMHQAee','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu3rHDhvZifzHBhvLCW','q29UBMvJDgLVBIbTzxrYAwnZihrYywnRihrPBwvZDgfTChm','uKvdt05orunusu5h','rxHWB25LBNrPywWGyMfJA29MzIbKzwXHEsbJywXJDwXHDgLVBIb3B3jRCYbJB3jYzwn0BhK','mtu5nta5nM9lBwPtyq','q09otKvdveLorW','C3rHDhvZ','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','n2npturOvG','nJK2ntG4zgnSyxb4','Dg9czurLzMLUzwq','DgvZDc1ZzxnZAw9UlteYmW','C2vZC2LVBKLK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbtDgf0DxmGvhjHBNnPDgLVBNm','C3rYAw5N','lI4VlI4VyxbPl3nLC3nPB24UANm','uMvJB25Uzwn0Aw9Uigf0DgvTChrZignHBIbIzsb0CMfJA2vK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gtwf4ief0DgvTChrZieXPBwL0','uKvdt05orunux0nptKzjrW','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','uKvdt05orunux0nptKzjrYbJB25ZDgfUDhmGyxjLigrLzMLUzwq','DxnLq29UBMvJDgLVBG','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','zNvUy3rPB24','Dg9czq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','Cg93','BgvUz3rO','mZGYnJe3y0rSuKrw','u2vZC2LVBIbZDgf0zsbZAg91BgqGDhjHy2SGDMfSAwrPDhK','AxndB25Uzwn0zwq','owLrtfrzsa','Bg9JywXOB3n0','Dg9czuDYzwf0zxjuAgfU','DxnLq29UBMvJDgLVBIbOB29RigLUDgvNCMf0zxmGD2L0AcbtzxnZAw9UtwfUywDLCIbHBMqGv2vIu29JA2v0twfUywDLCG','zgvMyxvSDa','y29UBMvJDgvK','ywXS','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','nJa4odaYDfPiu1zX','u2vZC2LVBK1HBMfNzxi','nurpBMnhEa','q09otKvdveve','BwLU','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','qKfds09grL9nvuXusvbmsuvs','BM93','su5jveLbtf9eruXbwq','tufyx0rftefz','q09otKvdveLptL9tvefuvvmGAgfZigfSBcbYzxf1AxjLzcbZDgf0zxm','Dg9dB250ywLU','mtuZodC4r0vSsNzq','ndq5nvn4rhDvBW','nJm0odmWv21TEMfN','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieLUDgvNCMf0Aw9U'];a0_0x2b41=function(){return _0x2e8833;};return a0_0x2b41();}(function(_0x21a379,_0x20b726){const _0xab1ba0=a0_0x25a8,_0x588bf2=_0x21a379();while(!![]){try{const _0x4fb0e9=-parseInt(_0xab1ba0(0x7f))/0x1+parseInt(_0xab1ba0(0x7e))/0x2+-parseInt(_0xab1ba0(0xa6))/0x3+-parseInt(_0xab1ba0(0x92))/0x4*(-parseInt(_0xab1ba0(0xb3))/0x5)+parseInt(_0xab1ba0(0xb1))/0x6*(parseInt(_0xab1ba0(0x91))/0x7)+parseInt(_0xab1ba0(0x8d))/0x8*(-parseInt(_0xab1ba0(0xa9))/0x9)+parseInt(_0xab1ba0(0x80))/0xa*(parseInt(_0xab1ba0(0x88))/0xb);if(_0x4fb0e9===_0x20b726)break;else _0x588bf2['push'](_0x588bf2['shift']());}catch(_0x346af7){_0x588bf2['push'](_0x588bf2['shift']());}}}(a0_0x2b41,0x24282));import{describe,test,expect}from'@jest/globals';describe(a0_0x31a7dd(0xb0),()=>{test('useConnection hook can be imported',async()=>{const _0x3aab5b=a0_0x25a8,{useConnection:_0x44e423}=await import('../../state/useConnection.js');expect(_0x44e423)[_0x3aab5b(0x93)](),expect(typeof _0x44e423)[_0x3aab5b(0xa2)](_0x3aab5b(0xa1));}),test('useConnection is default export',async()=>{const _0x4e5903=a0_0x25a8,module=await import(_0x4e5903(0x9f));expect(module[_0x4e5903(0xad)])[_0x4e5903(0x93)](),expect(typeof module['default'])['toBe']('function'),expect(module['default'])['toBe'](module['useConnection']);});}),describe('Connection\x20Management\x20-\x20Constants',()=>{const _0x549300=a0_0x31a7dd;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x5c01db=a0_0x25a8,{CONNECTION_STATUS:_0x4f0132}=await import('../../config/constants.js');expect(_0x4f0132)['toBeDefined'](),expect(_0x4f0132['CONNECTING'])['toBe'](_0x5c01db(0x83)),expect(_0x4f0132[_0x5c01db(0xb4)])[_0x5c01db(0xa2)]('connected'),expect(_0x4f0132[_0x5c01db(0x85)])['toBe']('disconnected'),expect(_0x4f0132['RECONNECTING'])[_0x5c01db(0xa2)]('reconnecting');}),test('CONNECTION_STATUS\x20is\x20alias\x20for\x20CONNECTION_STATE',async()=>{const _0x25fd17=a0_0x25a8,{CONNECTION_STATUS:_0x17655b,CONNECTION_STATE:_0xd61434}=await import(_0x25fd17(0x84));expect(_0x17655b)[_0x25fd17(0xa2)](_0xd61434);}),test(_0x549300(0x9d),async()=>{const _0x47629a=_0x549300,{RECONNECT_CONFIG:_0x25cd97}=await import('../../config/constants.js');expect(_0x25cd97)['toBeDefined'](),expect(_0x25cd97['INITIAL_DELAY'])[_0x47629a(0x93)](),expect(_0x25cd97[_0x47629a(0x7b)])['toBeDefined'](),expect(_0x25cd97[_0x47629a(0xb7)])['toBeDefined'](),expect(_0x25cd97[_0x47629a(0x82)])[_0x47629a(0x93)]();}),test('RECONNECT_CONFIG\x20values\x20are\x20reasonable',async()=>{const _0x89dcf1=_0x549300,{RECONNECT_CONFIG:_0xc1ed5e}=await import('../../config/constants.js');expect(_0xc1ed5e[_0x89dcf1(0xb9)])['toBeGreaterThan'](0x0),expect(_0xc1ed5e['MAX_DELAY'])[_0x89dcf1(0xab)](_0xc1ed5e['INITIAL_DELAY']),expect(_0xc1ed5e[_0x89dcf1(0xb7)])[_0x89dcf1(0xab)](0x1),expect(_0xc1ed5e['MAX_ATTEMPTS'])['toBeGreaterThan'](0x0);});}),describe('Connection\x20Management\x20-\x20Integration',()=>{const _0x217bd8=a0_0x31a7dd;test(_0x217bd8(0xac),async()=>{const _0x4f7df3=_0x217bd8,{useConnection:_0x184b52}=await import(_0x4f7df3(0x9f)),{SessionManager:_0x5b9f3d}=await import(_0x4f7df3(0x98)),{WebSocketManager:_0x4f7eec}=await import('../../api/websocket.js'),_0x5ba21f=new _0x5b9f3d(_0x4f7df3(0xaa),0x1f90),_0x18326b=new _0x4f7eec(_0x4f7df3(0xaa),0x1f90);expect(_0x5ba21f)['toBeDefined'](),expect(_0x18326b)['toBeDefined'](),expect(typeof _0x184b52)[_0x4f7df3(0xa2)](_0x4f7df3(0xa1));}),test('Full connection stack can be imported together',async()=>{const _0x53a7e0=_0x217bd8,[_0x4e4095,_0xb50683,_0xe66096,_0x562a29]=await Promise[_0x53a7e0(0xaf)]([import(_0x53a7e0(0x84)),import(_0x53a7e0(0x98)),import(_0x53a7e0(0x90)),import('../../state/useConnection.js')]);expect(_0x4e4095['CONNECTION_STATUS'])['toBeDefined'](),expect(_0x4e4095[_0x53a7e0(0x9b)])['toBeDefined'](),expect(_0xb50683[_0x53a7e0(0xb2)])[_0x53a7e0(0x93)](),expect(_0xe66096['WebSocketManager'])[_0x53a7e0(0x93)](),expect(_0x562a29[_0x53a7e0(0x9e)])['toBeDefined']();});}),describe(a0_0x31a7dd(0xa0),()=>{test('useConnection\x20returns\x20expected\x20interface\x20shape',async()=>{const _0xd1255=a0_0x25a8,{useConnection:_0xab316e}=await import('../../state/useConnection.js');expect(_0xab316e[_0xd1255(0xa5)])['toBe'](0x2);});}),describe(a0_0x31a7dd(0x89),()=>{const _0x318f6b=a0_0x31a7dd;test(_0x318f6b(0x9c),async()=>{const _0x321b0d=_0x318f6b,{CONNECTION_STATUS:_0x276b46}=await import('../../config/constants.js');expect(typeof _0x276b46['CONNECTING'])['toBe']('string'),expect(typeof _0x276b46['CONNECTED'])[_0x321b0d(0xa2)](_0x321b0d(0x97)),expect(typeof _0x276b46['DISCONNECTED'])['toBe'](_0x321b0d(0x97)),expect(typeof _0x276b46[_0x321b0d(0x8b)])[_0x321b0d(0xa2)]('string'),expect(_0x276b46[_0x321b0d(0x8e)])['toBe'](_0x276b46['CONNECTING']['toLowerCase']()),expect(_0x276b46['CONNECTED'])['toBe'](_0x276b46['CONNECTED']['toLowerCase']());}),test(_0x318f6b(0x7c),async()=>{const _0x5580f4=_0x318f6b,{CONNECTION_STATUS:_0x368102}=await import(_0x5580f4(0x84)),_0x315753=Object['keys'](_0x368102);expect(_0x315753)[_0x5580f4(0x7d)](_0x5580f4(0x8e)),expect(_0x315753)['toContain'](_0x5580f4(0xb4)),expect(_0x315753)[_0x5580f4(0x7d)](_0x5580f4(0x85)),expect(_0x315753)[_0x5580f4(0x7d)](_0x5580f4(0x8b));});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{const _0x19aab1=a0_0x31a7dd;test(_0x19aab1(0x8c),async()=>{const _0x55ea2a=_0x19aab1,{RECONNECT_CONFIG:_0x2bbeae}=await import('../../config/constants.js'),_0x1740f5=_0x152b17=>{const _0x884654=a0_0x25a8;return Math[_0x884654(0xb5)](_0x2bbeae[_0x884654(0xb9)]*Math['pow'](_0x2bbeae['BACKOFF_MULTIPLIER'],_0x152b17),_0x2bbeae['MAX_DELAY']);},_0x438377=_0x1740f5(0x0),_0x2be6b4=_0x1740f5(0x1),_0x53d4ed=_0x1740f5(0x2);expect(_0x438377)['toBe'](_0x2bbeae[_0x55ea2a(0xb9)]),expect(_0x2be6b4)[_0x55ea2a(0xab)](_0x438377),expect(_0x53d4ed)[_0x55ea2a(0xab)](_0x2be6b4);}),test('Exponential\x20backoff\x20respects\x20max\x20delay',async()=>{const _0x34a2d3=_0x19aab1,{RECONNECT_CONFIG:_0x1faea8}=await import(_0x34a2d3(0x84)),_0x5ce049=_0x2749ff=>{const _0x4cd831=_0x34a2d3;return Math['min'](_0x1faea8['INITIAL_DELAY']*Math[_0x4cd831(0xa4)](_0x1faea8[_0x4cd831(0xb7)],_0x2749ff),_0x1faea8[_0x4cd831(0x7b)]);},_0x3cd2c6=_0x5ce049(0x64);expect(_0x3cd2c6)['toBe'](_0x1faea8['MAX_DELAY']),expect(_0x3cd2c6)['toBeLessThanOrEqual'](_0x1faea8[_0x34a2d3(0x7b)]);});}),describe(a0_0x31a7dd(0xa3),()=>{const _0x4021b8=a0_0x31a7dd;test(_0x4021b8(0xa7),async()=>{const _0x415f09=_0x4021b8;let _0x4da40f=null,_0x11d598=![],_0x24aa02=null;_0x4da40f='test-session-123',_0x11d598=!![],_0x24aa02=Date['now']()+0x36ee80,expect(_0x4da40f)['toBeDefined'](),expect(_0x11d598)[_0x415f09(0xa2)](!![]),expect(_0x24aa02)[_0x415f09(0xab)](Date[_0x415f09(0xb8)]());}),test(_0x4021b8(0xb6),async()=>{let _0x140fde='test-session-123',_0x5955d3=!![];_0x140fde=null,_0x5955d3=![],expect(_0x140fde)['toBeNull'](),expect(_0x5955d3)['toBe'](![]);});}),describe('Connection\x20Management\x20-\x20Connection\x20Metrics',()=>{const _0x45561e=a0_0x31a7dd;test('Connection\x20uptime\x20can\x20be\x20tracked',async()=>{const _0xcc90d0=a0_0x25a8,_0x5f4e41=Date[_0xcc90d0(0xb8)]();await new Promise(_0x5f4afa=>setTimeout(_0x5f4afa,0x64));const _0x6f2ebc=Date['now']()-_0x5f4e41;expect(_0x6f2ebc)['toBeGreaterThan'](0x0),expect(_0x6f2ebc)['toBeGreaterThanOrEqual'](0x64);}),test(_0x45561e(0x8a),async()=>{const _0x113f42=_0x45561e,_0x32b210=Date['now']();await new Promise(_0xf74f5d=>setTimeout(_0xf74f5d,0x32));const _0x3382cd=Date['now']();expect(_0x32b210)[_0x113f42(0x93)](),expect(_0x3382cd)['toBeDefined'](),expect(_0x3382cd)[_0x113f42(0xab)](_0x32b210);}),test(_0x45561e(0x99),async()=>{let _0x3705ab=0x0;_0x3705ab+=0x1,expect(_0x3705ab)['toBe'](0x1),_0x3705ab+=0x1,expect(_0x3705ab)['toBe'](0x2),_0x3705ab=0x0,expect(_0x3705ab)['toBe'](0x0);});}),describe(a0_0x31a7dd(0x96),()=>{test('Connection\x20status\x20transitions\x20follow\x20valid\x20flow',async()=>{const _0x4a5183=a0_0x25a8,{CONNECTION_STATUS:_0x448c3d}=await import(_0x4a5183(0x84));let _0x3e3b54=_0x448c3d[_0x4a5183(0x85)];expect(_0x3e3b54)[_0x4a5183(0xa2)]('disconnected'),_0x3e3b54=_0x448c3d['CONNECTING'],expect(_0x3e3b54)[_0x4a5183(0xa2)](_0x4a5183(0x83)),_0x3e3b54=_0x448c3d[_0x4a5183(0xb4)],expect(_0x3e3b54)[_0x4a5183(0xa2)]('connected'),_0x3e3b54=_0x448c3d[_0x4a5183(0x85)],expect(_0x3e3b54)['toBe']('disconnected'),_0x3e3b54=_0x448c3d['RECONNECTING'],expect(_0x3e3b54)['toBe'](_0x4a5183(0x87)),_0x3e3b54=_0x448c3d['CONNECTED'],expect(_0x3e3b54)['toBe'](_0x4a5183(0xae));});}),describe(a0_0x31a7dd(0x81),()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0x1abb95=a0_0x25a8,{WebSocketManager:_0x163b0b}=await import('../../api/websocket.js'),_0x447928=new _0x163b0b('localhost',0x1f90);expect(_0x447928['on'])['toBeDefined'](),expect(_0x447928['off'])['toBeDefined'](),expect(typeof _0x447928['on'])[_0x1abb95(0xa2)](_0x1abb95(0xa1)),expect(typeof _0x447928['off'])[_0x1abb95(0xa2)]('function');});}),describe(a0_0x31a7dd(0x9a),()=>{test('Reconnection\x20should\x20stop\x20after\x20max\x20attempts',async()=>{const _0x272901=a0_0x25a8,{RECONNECT_CONFIG:_0x5b1277}=await import('../../config/constants.js');let _0x1b71c3=0x0;for(let _0x51481a=0x0;_0x51481a<_0x5b1277['MAX_ATTEMPTS']+0x5;_0x51481a++){if(_0x1b71c3<_0x5b1277['MAX_ATTEMPTS'])_0x1b71c3+=0x1;else break;}expect(_0x1b71c3)['toBe'](_0x5b1277[_0x272901(0x82)]),expect(_0x1b71c3)['toBeLessThanOrEqual'](_0x5b1277['MAX_ATTEMPTS']);});}),describe('Connection\x20Management\x20-\x20Connection\x20Info',()=>{test('Connection\x20info\x20should\x20contain\x20all\x20metrics',async()=>{const _0x2081a4=a0_0x25a8,{CONNECTION_STATUS:_0xa482e7}=await import(_0x2081a4(0x84)),_0x40291a={'status':_0xa482e7[_0x2081a4(0xb4)],'isConnected':!![],'isReconnecting':![],'sessionId':_0x2081a4(0x94),'sessionValid':!![],'sessionExpiration':Date[_0x2081a4(0xb8)]()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date[_0x2081a4(0xb8)]()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x40291a[_0x2081a4(0x8f)])['toBeDefined'](),expect(_0x40291a[_0x2081a4(0xa8)])[_0x2081a4(0xa2)](!![]),expect(_0x40291a[_0x2081a4(0x86)])[_0x2081a4(0xa2)](![]),expect(_0x40291a[_0x2081a4(0x95)])['toBeDefined'](),expect(_0x40291a['sessionValid'])['toBe'](!![]),expect(_0x40291a['uptime'])[_0x2081a4(0xab)](0x0);});});
|
|
1
|
+
const a0_0x51452a=a0_0x59db;(function(_0x3085fb,_0xf4f301){const _0x1118f9=a0_0x59db,_0x598d7e=_0x3085fb();while(!![]){try{const _0x252452=parseInt(_0x1118f9(0x1b0))/0x1*(-parseInt(_0x1118f9(0x1a3))/0x2)+-parseInt(_0x1118f9(0x1a7))/0x3+parseInt(_0x1118f9(0x1c6))/0x4*(parseInt(_0x1118f9(0x1a5))/0x5)+parseInt(_0x1118f9(0x1aa))/0x6*(parseInt(_0x1118f9(0x1b1))/0x7)+parseInt(_0x1118f9(0x1b2))/0x8+-parseInt(_0x1118f9(0x1a9))/0x9*(parseInt(_0x1118f9(0x1ce))/0xa)+parseInt(_0x1118f9(0x1a2))/0xb;if(_0x252452===_0xf4f301)break;else _0x598d7e['push'](_0x598d7e['shift']());}catch(_0x2cdd1b){_0x598d7e['push'](_0x598d7e['shift']());}}}(a0_0x1fe8,0x667df));function a0_0x1fe8(){const _0x18cddc=['Dg9mB3DLCKnHC2u','Cg93','u2vZC2LVBIbZDgf0zsbZAg91BgqGDhjHy2SGDMfSAwrPDhK','rxHWB25LBNrPywWGyMfJA29MzIbYzxnWzwn0CYbTyxGGzgvSyxK','Dg9czu51BgW','Bg9JywXOB3n0','C2vZC2LVBLzHBgLK','u2vZC2LVBK1HBMfNzxi','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','y29UBMvJDgvK','q09otKvdveve','y29UBMvJDgLUzW','BwLU','qKfds09grL9nvuXusvbmsuvs','q09otKvdveLptL9tvefuvvmGAxmGywXPyxmGzM9YienptK5fq1rjt05Fu1rbveu','uKvdt05orunux0nptKzjrW','mJa3nJG3ntLvsffhrwS','mtKXnZiYAfLAtNbq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbtDgf0DxmGvhjHBNnPDgLVBNm','mtG3nJa1Ag5yAM1P','BgvUz3rO','mtG0odm1n2jUrLrmsG','DgvZDc1ZzxnZAw9UlteYmW','mtHlBvnmB0m','nJC0ndq4s0D6suzR','Dg9czurLzMLUzwq','zgvMyxvSDa','AxndB25Uzwn0zwq','q29UBMvJDgLVBIb1ChrPBwuGy2fUigjLihrYywnRzwq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','ofDgqKXgEG','n1DkwfPcuW','mtCXote4nevRuePoDq','CMvJB25Uzwn0Aw5N','zgLZy29UBMvJDgvK','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gtwf4ief0DgvTChrZieXPBwL0','zNvUy3rPB24','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Dg9czuDYzwf0zxjuAgfU','v2vIu29JA2v0twfUywDLCG','uMvJB25Uzwn0Aw9Uigf0DgvTChrZignHBIbIzsb0CMfJA2vK','uMvJB25Uzwn0Aw9UihnOB3vSzcbZDg9WigfMDgvYig1HEcbHDhrLBxb0CW','q09otKvdveLorW','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','lI4VlI4VyxbPl3nLC3nPB24UANm','Dg9dB250ywLU','u2vZC2LVBIbZDgf0zsbZAg91BgqGAw52ywXPzgf0zq','su5jveLbtf9eruXbwq','reLtq09otKvdveve','BM93','Dxb0Aw1L','q09otKvdveLptL9tvefuvvm','mJbbyKj3vui','tufyx0fuvevnufrt','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','uKvdt05orunux0nptKzjrYb2ywX1zxmGyxjLihjLyxnVBMfIBgu','tufyx0rftefz','Dg9czq','q09otKvdveLptL9tvefuvvmGDMfSDwvZigfYzsbSB3DLCMnHC2uGC3rYAw5NCW','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','mZaWmdGZmhHYqxPAvW','rxHWB25LBNrPywWGyMfJA29MzIbKzwXHEsbJywXJDwXHDgLVBIb3B3jRCYbJB3jYzwn0BhK'];a0_0x1fe8=function(){return _0x18cddc;};return a0_0x1fe8();}function a0_0x59db(_0x58faee,_0x3c608f){_0x58faee=_0x58faee-0x19f;const _0x1fe85c=a0_0x1fe8();let _0x59dbba=_0x1fe85c[_0x58faee];if(a0_0x59db['YfEFIH']===undefined){var _0x113608=function(_0x17af62){const _0x52d83b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ceeb2='',_0x240f01='';for(let _0xbb9080=0x0,_0x258bc1,_0x2d40e3,_0x2f3f12=0x0;_0x2d40e3=_0x17af62['charAt'](_0x2f3f12++);~_0x2d40e3&&(_0x258bc1=_0xbb9080%0x4?_0x258bc1*0x40+_0x2d40e3:_0x2d40e3,_0xbb9080++%0x4)?_0x3ceeb2+=String['fromCharCode'](0xff&_0x258bc1>>(-0x2*_0xbb9080&0x6)):0x0){_0x2d40e3=_0x52d83b['indexOf'](_0x2d40e3);}for(let _0x5c7668=0x0,_0x54cba8=_0x3ceeb2['length'];_0x5c7668<_0x54cba8;_0x5c7668++){_0x240f01+='%'+('00'+_0x3ceeb2['charCodeAt'](_0x5c7668)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x240f01);};a0_0x59db['UPXLsM']=_0x113608,a0_0x59db['inMHXh']={},a0_0x59db['YfEFIH']=!![];}const _0x320574=_0x1fe85c[0x0],_0x2e8dac=_0x58faee+_0x320574,_0xd5401a=a0_0x59db['inMHXh'][_0x2e8dac];return!_0xd5401a?(_0x59dbba=a0_0x59db['UPXLsM'](_0x59dbba),a0_0x59db['inMHXh'][_0x2e8dac]=_0x59dbba):_0x59dbba=_0xd5401a,_0x59dbba;}import{describe,test,expect}from'@jest/globals';describe('Connection\x20Management\x20-\x20Imports',()=>{test('useConnection hook can be imported',async()=>{const _0xbcfe26=a0_0x59db,{useConnection:_0x3ceeb2}=await import(_0xbcfe26(0x1d8));expect(_0x3ceeb2)[_0xbcfe26(0x1ab)](),expect(typeof _0x3ceeb2)[_0xbcfe26(0x1cb)]('function');}),test('useConnection is default export',async()=>{const _0x4b5602=a0_0x59db,module=await import('../../state/useConnection.js');expect(module[_0x4b5602(0x1ac)])[_0x4b5602(0x1ab)](),expect(typeof module['default'])['toBe'](_0x4b5602(0x1b6)),expect(module['default'])[_0x4b5602(0x1cb)](module['useConnection']);});}),describe(a0_0x51452a(0x1bd),()=>{const _0x3f8bf6=a0_0x51452a;test('CONNECTION_STATUS\x20constants\x20are\x20defined',async()=>{const _0x54dedb=a0_0x59db,{CONNECTION_STATUS:_0x240f01}=await import(_0x54dedb(0x1b7));expect(_0x240f01)[_0x54dedb(0x1ab)](),expect(_0x240f01['CONNECTING'])['toBe']('connecting'),expect(_0x240f01['CONNECTED'])['toBe'](_0x54dedb(0x1d9)),expect(_0x240f01['DISCONNECTED'])[_0x54dedb(0x1cb)]('disconnected'),expect(_0x240f01['RECONNECTING'])[_0x54dedb(0x1cb)](_0x54dedb(0x1b3));}),test(_0x3f8bf6(0x1a0),async()=>{const _0x1da791=_0x3f8bf6,{CONNECTION_STATUS:_0xbb9080,CONNECTION_STATE:_0x258bc1}=await import(_0x1da791(0x1b7));expect(_0xbb9080)['toBe'](_0x258bc1);}),test('RECONNECT_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x49e13e=_0x3f8bf6,{RECONNECT_CONFIG:_0x2d40e3}=await import(_0x49e13e(0x1b7));expect(_0x2d40e3)['toBeDefined'](),expect(_0x2d40e3[_0x49e13e(0x1c1)])[_0x49e13e(0x1ab)](),expect(_0x2d40e3['MAX_DELAY'])[_0x49e13e(0x1ab)](),expect(_0x2d40e3[_0x49e13e(0x19f)])['toBeDefined'](),expect(_0x2d40e3['MAX_ATTEMPTS'])['toBeDefined']();}),test(_0x3f8bf6(0x1c9),async()=>{const _0x40e363=_0x3f8bf6,{RECONNECT_CONFIG:_0x2f3f12}=await import(_0x40e363(0x1b7));expect(_0x2f3f12[_0x40e363(0x1c1)])['toBeGreaterThan'](0x0),expect(_0x2f3f12['MAX_DELAY'])[_0x40e363(0x1b8)](_0x2f3f12[_0x40e363(0x1c1)]),expect(_0x2f3f12[_0x40e363(0x19f)])[_0x40e363(0x1b8)](0x1),expect(_0x2f3f12[_0x40e363(0x1c7)])['toBeGreaterThan'](0x0);});}),describe('Connection\x20Management\x20-\x20Integration',()=>{test('useConnection\x20hook\x20integrates\x20with\x20SessionManager\x20and\x20WebSocketManager',async()=>{const _0x40a440=a0_0x59db,{useConnection:_0x5c7668}=await import('../../state/useConnection.js'),{SessionManager:_0x54cba8}=await import(_0x40a440(0x1be)),{WebSocketManager:_0x3485ba}=await import('../../api/websocket.js'),_0x4b82ee=new _0x54cba8(_0x40a440(0x1d5),0x1f90),_0x4b2f5a=new _0x3485ba(_0x40a440(0x1d5),0x1f90);expect(_0x4b82ee)[_0x40a440(0x1ab)](),expect(_0x4b2f5a)[_0x40a440(0x1ab)](),expect(typeof _0x5c7668)[_0x40a440(0x1cb)]('function');}),test('Full connection stack can be imported together',async()=>{const _0x21340e=a0_0x59db,[_0x3d4d8f,_0x294428,_0x3bdc8b,_0x3eef55]=await Promise['all']([import(_0x21340e(0x1b7)),import('../../api/session.js'),import('../../api/websocket.js'),import('../../state/useConnection.js')]);expect(_0x3d4d8f[_0x21340e(0x1c5)])['toBeDefined'](),expect(_0x3d4d8f[_0x21340e(0x1a1)])[_0x21340e(0x1ab)](),expect(_0x294428[_0x21340e(0x1d7)])['toBeDefined'](),expect(_0x3bdc8b[_0x21340e(0x1b9)])['toBeDefined'](),expect(_0x3eef55['useConnection'])['toBeDefined']();});}),describe(a0_0x51452a(0x1c8),()=>{test('useConnection\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x1a3faf=a0_0x59db,{useConnection:_0x2b1341}=await import('../../state/useConnection.js');expect(_0x2b1341[_0x1a3faf(0x1a6)])[_0x1a3faf(0x1cb)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0x2dba6f=a0_0x51452a;test(_0x2dba6f(0x1cc),async()=>{const _0xec2d76=_0x2dba6f,{CONNECTION_STATUS:_0x1a1b9a}=await import('../../config/constants.js');expect(typeof _0x1a1b9a[_0xec2d76(0x1bc)])[_0xec2d76(0x1cb)]('string'),expect(typeof _0x1a1b9a[_0xec2d76(0x1da)])[_0xec2d76(0x1cb)]('string'),expect(typeof _0x1a1b9a[_0xec2d76(0x1c2)])[_0xec2d76(0x1cb)]('string'),expect(typeof _0x1a1b9a['RECONNECTING'])['toBe']('string'),expect(_0x1a1b9a['CONNECTING'])[_0xec2d76(0x1cb)](_0x1a1b9a[_0xec2d76(0x1bc)][_0xec2d76(0x1d0)]()),expect(_0x1a1b9a[_0xec2d76(0x1da)])['toBe'](_0x1a1b9a['CONNECTED'][_0xec2d76(0x1d0)]());}),test('CONNECTION_STATUS\x20has\x20all\x20required\x20states',async()=>{const _0x3eb51c=_0x2dba6f,{CONNECTION_STATUS:_0x212ca4}=await import('../../config/constants.js'),_0x22fcc9=Object['keys'](_0x212ca4);expect(_0x22fcc9)[_0x3eb51c(0x1bf)](_0x3eb51c(0x1bc)),expect(_0x22fcc9)[_0x3eb51c(0x1bf)](_0x3eb51c(0x1da)),expect(_0x22fcc9)['toContain'](_0x3eb51c(0x1c2)),expect(_0x22fcc9)['toContain']('RECONNECTING');});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{const _0x3d4090=a0_0x51452a;test(_0x3d4090(0x1cf),async()=>{const _0x47ada5=_0x3d4090,{RECONNECT_CONFIG:_0x1bfc5c}=await import(_0x47ada5(0x1b7)),_0x1fa931=_0x42a05d=>{const _0x1196ea=_0x47ada5;return Math[_0x1196ea(0x1dc)](_0x1bfc5c[_0x1196ea(0x1c1)]*Math['pow'](_0x1bfc5c[_0x1196ea(0x19f)],_0x42a05d),_0x1bfc5c['MAX_DELAY']);},_0x3dadd2=_0x1fa931(0x0),_0x59297b=_0x1fa931(0x1),_0x441357=_0x1fa931(0x2);expect(_0x3dadd2)['toBe'](_0x1bfc5c[_0x47ada5(0x1c1)]),expect(_0x59297b)[_0x47ada5(0x1b8)](_0x3dadd2),expect(_0x441357)['toBeGreaterThan'](_0x59297b);}),test(_0x3d4090(0x1d3),async()=>{const _0x17d5ee=_0x3d4090,{RECONNECT_CONFIG:_0x124432}=await import(_0x17d5ee(0x1b7)),_0x55f3cb=_0x556273=>{const _0x508c65=_0x17d5ee;return Math[_0x508c65(0x1dc)](_0x124432['INITIAL_DELAY']*Math[_0x508c65(0x1d1)](_0x124432[_0x508c65(0x19f)],_0x556273),_0x124432[_0x508c65(0x1ca)]);},_0x57687f=_0x55f3cb(0x64);expect(_0x57687f)[_0x17d5ee(0x1cb)](_0x124432[_0x17d5ee(0x1ca)]),expect(_0x57687f)['toBeLessThanOrEqual'](_0x124432['MAX_DELAY']);});}),describe(a0_0x51452a(0x1af),()=>{const _0x6641cc=a0_0x51452a;test(_0x6641cc(0x1d2),async()=>{const _0x248f24=_0x6641cc;let _0x5b7f70=null,_0x2c6e6b=![],_0x38b190=null;_0x5b7f70=_0x248f24(0x1a8),_0x2c6e6b=!![],_0x38b190=Date[_0x248f24(0x1c3)]()+0x36ee80,expect(_0x5b7f70)['toBeDefined'](),expect(_0x2c6e6b)['toBe'](!![]),expect(_0x38b190)[_0x248f24(0x1b8)](Date[_0x248f24(0x1c3)]());}),test(_0x6641cc(0x1c0),async()=>{const _0x1ac107=_0x6641cc;let _0xcb6f5b='test-session-123',_0x10bda5=!![];_0xcb6f5b=null,_0x10bda5=![],expect(_0xcb6f5b)[_0x1ac107(0x1d4)](),expect(_0x10bda5)['toBe'](![]);});}),describe('Connection\x20Management\x20-\x20Connection\x20Metrics',()=>{const _0x479314=a0_0x51452a;test(_0x479314(0x1ae),async()=>{const _0x3aa9bc=_0x479314,_0x37e43d=Date[_0x3aa9bc(0x1c3)]();await new Promise(_0x13dda3=>setTimeout(_0x13dda3,0x64));const _0x46e30e=Date[_0x3aa9bc(0x1c3)]()-_0x37e43d;expect(_0x46e30e)['toBeGreaterThan'](0x0),expect(_0x46e30e)['toBeGreaterThanOrEqual'](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x360585=_0x479314,_0x2ca6cb=Date['now']();await new Promise(_0x18d473=>setTimeout(_0x18d473,0x32));const _0x54145d=Date['now']();expect(_0x2ca6cb)['toBeDefined'](),expect(_0x54145d)['toBeDefined'](),expect(_0x54145d)[_0x360585(0x1b8)](_0x2ca6cb);}),test(_0x479314(0x1ba),async()=>{let _0x42e665=0x0;_0x42e665+=0x1,expect(_0x42e665)['toBe'](0x1),_0x42e665+=0x1,expect(_0x42e665)['toBe'](0x2),_0x42e665=0x0,expect(_0x42e665)['toBe'](0x0);});}),describe(a0_0x51452a(0x1a4),()=>{const _0x5a8a54=a0_0x51452a;test(_0x5a8a54(0x1cd),async()=>{const _0x1eb37b=_0x5a8a54,{CONNECTION_STATUS:_0x1835fc}=await import('../../config/constants.js');let _0x3e7e66=_0x1835fc['DISCONNECTED'];expect(_0x3e7e66)['toBe'](_0x1eb37b(0x1b4)),_0x3e7e66=_0x1835fc['CONNECTING'],expect(_0x3e7e66)[_0x1eb37b(0x1cb)](_0x1eb37b(0x1db)),_0x3e7e66=_0x1835fc[_0x1eb37b(0x1da)],expect(_0x3e7e66)['toBe'](_0x1eb37b(0x1d9)),_0x3e7e66=_0x1835fc['DISCONNECTED'],expect(_0x3e7e66)[_0x1eb37b(0x1cb)](_0x1eb37b(0x1b4)),_0x3e7e66=_0x1835fc['RECONNECTING'],expect(_0x3e7e66)[_0x1eb37b(0x1cb)](_0x1eb37b(0x1b3)),_0x3e7e66=_0x1835fc[_0x1eb37b(0x1da)],expect(_0x3e7e66)['toBe'](_0x1eb37b(0x1d9));});}),describe('Connection\x20Management\x20-\x20WebSocket\x20Event\x20Integration',()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0x1835d1=a0_0x59db,{WebSocketManager:_0x4299a9}=await import('../../api/websocket.js'),_0x18b7cb=new _0x4299a9('localhost',0x1f90);expect(_0x18b7cb['on'])[_0x1835d1(0x1ab)](),expect(_0x18b7cb['off'])[_0x1835d1(0x1ab)](),expect(typeof _0x18b7cb['on'])['toBe'](_0x1835d1(0x1b6)),expect(typeof _0x18b7cb['off'])['toBe'](_0x1835d1(0x1b6));});}),describe(a0_0x51452a(0x1b5),()=>{const _0x102302=a0_0x51452a;test(_0x102302(0x1bb),async()=>{const _0xe56077=_0x102302,{RECONNECT_CONFIG:_0xedbfcc}=await import('../../config/constants.js');let _0x402ebc=0x0;for(let _0x1df9df=0x0;_0x1df9df<_0xedbfcc['MAX_ATTEMPTS']+0x5;_0x1df9df++){if(_0x402ebc<_0xedbfcc['MAX_ATTEMPTS'])_0x402ebc+=0x1;else break;}expect(_0x402ebc)['toBe'](_0xedbfcc[_0xe56077(0x1c7)]),expect(_0x402ebc)['toBeLessThanOrEqual'](_0xedbfcc[_0xe56077(0x1c7)]);});}),describe('Connection\x20Management\x20-\x20Connection\x20Info',()=>{test('Connection\x20info\x20should\x20contain\x20all\x20metrics',async()=>{const _0x5f3bb0=a0_0x59db,{CONNECTION_STATUS:_0x42eed1}=await import('../../config/constants.js'),_0x9d269={'status':_0x42eed1['CONNECTED'],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date['now']()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date['now']()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x9d269['status'])[_0x5f3bb0(0x1ab)](),expect(_0x9d269[_0x5f3bb0(0x1ad)])['toBe'](!![]),expect(_0x9d269['isReconnecting'])[_0x5f3bb0(0x1cb)](![]),expect(_0x9d269['sessionId'])['toBeDefined'](),expect(_0x9d269[_0x5f3bb0(0x1d6)])[_0x5f3bb0(0x1cb)](!![]),expect(_0x9d269[_0x5f3bb0(0x1c4)])['toBeGreaterThan'](0x0);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x3d681d=a0_0x2ce7;(function(_0x4a83f7,_0x4f1eda){const _0x51e4a0=a0_0x2ce7,_0x3e7d0f=_0x4a83f7();while(!![]){try{const _0x45b94f=-parseInt(_0x51e4a0(0x1e4))/0x1*(-parseInt(_0x51e4a0(0x1e2))/0x2)+-parseInt(_0x51e4a0(0x1f7))/0x3+parseInt(_0x51e4a0(0x1dc))/0x4+-parseInt(_0x51e4a0(0x1f3))/0x5*(-parseInt(_0x51e4a0(0x1d8))/0x6)+-parseInt(_0x51e4a0(0x1ea))/0x7*(-parseInt(_0x51e4a0(0x1ee))/0x8)+parseInt(_0x51e4a0(0x1ed))/0x9+parseInt(_0x51e4a0(0x1ef))/0xa*(-parseInt(_0x51e4a0(0x1f4))/0xb);if(_0x45b94f===_0x4f1eda)break;else _0x3e7d0f['push'](_0x3e7d0f['shift']());}catch(_0x3ae139){_0x3e7d0f['push'](_0x3e7d0f['shift']());}}}(a0_0x3e5e,0x68937));import{describe,test,expect}from'@jest/globals';function a0_0x3e5e(){const _0x1278f0=['zNvUy3rPB24','y29TCg9Uzw50rgLKq2f0y2G','ywXS','mKXNuK5Yza','Dg9czurLzMLUzwq','mtm0mJyXyu5RAKjf','zgvMyxvSDa','rxjYB3jcB3vUzgfYEsbOyxmGz2v0rgvYAxzLzfn0yxrLrNjVBuvYCM9Yihn0yxrPyYbTzxrOB2q','ChjVDg90ExbL','Dg9czvvUzgvMAw5Lza','rxjYB3jcB3vUzgfYEsbPCYbHignSyxnZignVBxbVBMvUDa','mtK4ntGZDuPwsLj3','tg9HzgLUz1nWAw5Uzxi','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','mtG5otG3m1Hswfrgra','mty4u09kvuDe','nJeXntmWELfVz2zQ','DxnLuMvM','lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','mte0nxD2vwH5wG','mteWAhDQCffy','CMvUzgvY','DxnLu3rHDgu','mJe0nte5nwPutvjxAq','ugHHC2uGosaTievUAgfUy2vKienVBxbVBMvUDhmGlsbjBxbVCNrZ','mtm5ogXKCNrAqW','CMvHy3q','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','rxjYB3jcB3vUzgfYEsbPCYbHifjLywn0ienVBxbVBMvUDcbJBgfZCW','mZa0mtG5nM5iwKfosW','Dg9czq','sw5WDxrcB3G'];a0_0x3e5e=function(){return _0x1278f0;};return a0_0x3e5e();}function a0_0x2ce7(_0x283136,_0x1a7bc3){_0x283136=_0x283136-0x1d8;const _0x3e5e29=a0_0x3e5e();let _0x2ce721=_0x3e5e29[_0x283136];if(a0_0x2ce7['ZSgdhw']===undefined){var _0x38ffc8=function(_0x3590a6){const _0x11c75e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15a621='',_0x5e2e30='';for(let _0x369620=0x0,_0x2bda3d,_0x33f5d3,_0x18cbe3=0x0;_0x33f5d3=_0x3590a6['charAt'](_0x18cbe3++);~_0x33f5d3&&(_0x2bda3d=_0x369620%0x4?_0x2bda3d*0x40+_0x33f5d3:_0x33f5d3,_0x369620++%0x4)?_0x15a621+=String['fromCharCode'](0xff&_0x2bda3d>>(-0x2*_0x369620&0x6)):0x0){_0x33f5d3=_0x11c75e['indexOf'](_0x33f5d3);}for(let _0x317090=0x0,_0x515cd0=_0x15a621['length'];_0x317090<_0x515cd0;_0x317090++){_0x5e2e30+='%'+('00'+_0x15a621['charCodeAt'](_0x317090)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e2e30);};a0_0x2ce7['AamYqw']=_0x38ffc8,a0_0x2ce7['leuRMA']={},a0_0x2ce7['ZSgdhw']=!![];}const _0x30c89c=_0x3e5e29[0x0],_0x42c4ed=_0x283136+_0x30c89c,_0x4f4a11=a0_0x2ce7['leuRMA'][_0x42c4ed];return!_0x4f4a11?(_0x2ce721=a0_0x2ce7['AamYqw'](_0x2ce721),a0_0x2ce7['leuRMA'][_0x42c4ed]=_0x2ce721):_0x2ce721=_0x4f4a11,_0x2ce721;}describe(a0_0x3d681d(0x1f8),()=>{const _0x51d6b8=a0_0x3d681d;test('ErrorBoundary component can be imported',async()=>{const _0x47154e=a0_0x2ce7,{ErrorBoundary:_0x15a621}=await import(_0x47154e(0x1da));expect(_0x15a621)[_0x47154e(0x1e3)](),expect(typeof _0x15a621)['toBe']('function');},0x7530),test(_0x51d6b8(0x1e9),async()=>{const _0x53a12d=_0x51d6b8,{ErrorBoundary:_0x5e2e30}=await import('../../components/ErrorBoundary.js');expect(_0x5e2e30[_0x53a12d(0x1e7)])[_0x53a12d(0x1e3)](),expect(typeof _0x5e2e30[_0x53a12d(0x1e7)]['render'])['toBe'](_0x53a12d(0x1df));}),test('LoadingSpinner component can be imported',async()=>{const _0x75c485=_0x51d6b8,{LoadingSpinner:_0x369620}=await import(_0x75c485(0x1f1));expect(_0x369620)[_0x75c485(0x1e3)](),expect(typeof _0x369620)[_0x75c485(0x1dd)]('function');}),test('InlineSpinner component can be imported',async()=>{const _0xa9a1bd=_0x51d6b8,{InlineSpinner:_0x2bda3d}=await import('../../components/LoadingSpinner.js');expect(_0x2bda3d)[_0xa9a1bd(0x1e3)](),expect(typeof _0x2bda3d)['toBe']('function');}),test('LoadingSpinner is default export',async()=>{const _0x43957f=_0x51d6b8,module=await import('../../components/LoadingSpinner.js');expect(module[_0x43957f(0x1e5)])[_0x43957f(0x1e3)](),expect(module['default'])['toBe'](module[_0x43957f(0x1eb)]);}),test('Enhanced\x20InputBox\x20maintains\x20backward\x20compatibility',async()=>{const {InputBox:_0x33f5d3}=await import('../../components/InputBox.js');expect(_0x33f5d3)['toBeDefined'](),expect(typeof _0x33f5d3)['toBe']('function');});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{const _0x5959ce=a0_0x3d681d;test(_0x5959ce(0x1db),async()=>{const _0x5ada74=_0x5959ce,{ErrorBoundary:_0x18cbe3}=await import(_0x5ada74(0x1da)),_0x317090=await import(_0x5ada74(0x1d9));expect(_0x18cbe3['prototype'])[_0x5ada74(0x1e3)](),expect(typeof _0x18cbe3[_0x5ada74(0x1e7)][_0x5ada74(0x1f5)])[_0x5ada74(0x1dd)](_0x5ada74(0x1df)),expect(typeof _0x18cbe3[_0x5ada74(0x1e7)][_0x5ada74(0x1e0)])['toBe'](_0x5ada74(0x1df));}),test(_0x5959ce(0x1e6),async()=>{const _0x4167e3=_0x5959ce,{ErrorBoundary:_0x515cd0}=await import(_0x4167e3(0x1da));expect(typeof _0x515cd0['getDerivedStateFromError'])[_0x4167e3(0x1dd)]('function');}),test(_0x5959ce(0x1ec),async()=>{const _0x11caa3=_0x5959ce,{ErrorBoundary:_0x4df9d7}=await import('../../components/ErrorBoundary.js');expect(typeof _0x4df9d7[_0x11caa3(0x1e7)][_0x11caa3(0x1e0)])['toBe']('function');});}),describe('Phase\x209\x20-\x20LoadingSpinner\x20-\x20Structure',()=>{test('LoadingSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x2acf25=a0_0x2ce7,{LoadingSpinner:_0x5e0860}=await import('../../components/LoadingSpinner.js');expect(typeof _0x5e0860)[_0x2acf25(0x1dd)](_0x2acf25(0x1df)),expect(_0x5e0860['prototype']?.[_0x2acf25(0x1f5)])['toBeUndefined']();}),test('InlineSpinner\x20is\x20a\x20function\x20component',async()=>{const _0xd24283=a0_0x2ce7,{InlineSpinner:_0x50a551}=await import('../../components/LoadingSpinner.js');expect(typeof _0x50a551)['toBe']('function'),expect(_0x50a551[_0xd24283(0x1e7)]?.['render'])[_0xd24283(0x1e8)]();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x287f79=a0_0x2ce7,_0x1311bb=await import(_0x287f79(0x1f2)),_0x1a5b79=await import(_0x287f79(0x1d9));expect(_0x1a5b79[_0x287f79(0x1f6)])['toBeDefined'](),expect(_0x1a5b79[_0x287f79(0x1f0)])[_0x287f79(0x1e3)]();}),test('InputBox component maintains exports',async()=>{const _0x38c4c7=a0_0x2ce7,module=await import(_0x38c4c7(0x1f2));expect(module['InputBox'])['toBeDefined'](),expect(module[_0x38c4c7(0x1e5)])['toBeDefined'](),expect(module['default'])[_0x38c4c7(0x1dd)](module['InputBox']);});}),describe('Phase\x209\x20-\x20Integration',()=>{test('All enhanced components can be imported together',async()=>{const _0x1c380c=a0_0x2ce7,[_0x43825c,_0x930c9b,_0x3abd37]=await Promise[_0x1c380c(0x1e1)]([import(_0x1c380c(0x1da)),import(_0x1c380c(0x1f1)),import('../../components/InputBox.js')]);expect(_0x43825c['ErrorBoundary'])[_0x1c380c(0x1e3)](),expect(_0x930c9b['LoadingSpinner'])[_0x1c380c(0x1e3)](),expect(_0x930c9b['InlineSpinner'])[_0x1c380c(0x1e3)](),expect(_0x3abd37[_0x1c380c(0x1de)])['toBeDefined']();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x44a265=a0_0x2ce7,_0x2ff7e0=await import(_0x44a265(0x1d9)),_0x390edf=await import('ink');expect(_0x390edf['useInput'])[_0x44a265(0x1e3)](),expect(typeof _0x390edf['useInput'])['toBe']('function');}),test('Layout component can still be imported after enhancements',async()=>{const _0x470583=a0_0x2ce7,{Layout:_0x39cdce}=await import('../../components/Layout.js');expect(_0x39cdce)[_0x470583(0x1e3)](),expect(typeof _0x39cdce)[_0x470583(0x1dd)]('function');});}),describe('Phase\x209\x20-\x20Enhanced\x20Features\x20-\x20Constants',()=>{test('InputBox\x20defines\x20MAX_HISTORY\x20constant',async()=>{const _0x23c9b0=a0_0x2ce7,module=await import('../../components/InputBox.js');expect(module[_0x23c9b0(0x1de)])['toBeDefined']();});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5592a1=a0_0x308c;(function(_0x16e24b,_0x395c9b){const _0x218633=a0_0x308c,_0x43a0eb=_0x16e24b();while(!![]){try{const _0x500a3f=parseInt(_0x218633(0x13f))/0x1+parseInt(_0x218633(0x10f))/0x2*(parseInt(_0x218633(0x110))/0x3)+-parseInt(_0x218633(0x132))/0x4+-parseInt(_0x218633(0x12f))/0x5+parseInt(_0x218633(0x122))/0x6+parseInt(_0x218633(0x13d))/0x7+-parseInt(_0x218633(0x130))/0x8;if(_0x500a3f===_0x395c9b)break;else _0x43a0eb['push'](_0x43a0eb['shift']());}catch(_0xd78000){_0x43a0eb['push'](_0x43a0eb['shift']());}}}(a0_0xde38,0x26d54));import{describe,test,expect}from'@jest/globals';function a0_0xde38(){const _0x50d292=['DxnL','zgLZy29UBMvJDgvK','zNvUy3rPB24','AgfZtg94AwflzxK','yMXVy2TLzc10ExbL','CMvJzwL2zwrbDa','u2vZC2LVBK1HBMfNzxiGAgvSCgvYig1LDgHVzhmGD29YAW','u0LerujbuL9xsurusa','Dg9nyxrJAa','vuLFreLnru5tsu9ouW','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','twvZC2fNzvjVDxrLCIbJyw4GCMvNAxn0zxiGyw5KihvUCMvNAxn0zxiGAgfUzgXLCNm','AxnwywXPza','BM90','DgvZDc1TzxnZywDL','Bg9JywXOB3n0','Dg9iyxzLuhjVCgvYDhK','uefhsu5bveLptG','mtbXyLzxu0q','ndK2mJLAyMHAqKG','DxjS','z2v0u3rHDgu','z2v0uhjVAMvJDerPCG','Dg9fCxvHBa','yMfZzvvYBa','Ag9ZDa','su1br0vFuKvtvuXu','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbcyxnPyYbgDw5JDgLVBMfSAxr5','qvbjx0vorfbpsu5uuW','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','Dg9uAhjVDW','Dg9czurLzMLUzwq','z2v0u2vZC2LVBKLUzM8','Dg9czq','tuvtu0fhrv9brerfra','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','v2vIu29JA2v0twfUywDLCIbPBML0AwfSAxPLCYb3AxrOignVCNjLy3qGC3rHDgu','ndqWnZq4EgjVtMnn','C2vZC2LVBKLK','v1nFtuvtu0fhrv9uwvbf','quDftLrFtu9erv9dsefor0ve','q09ntuforfm','lI4VlI4VyxbPl3nLC3nPB24UANm','DhLWzq','z2vUzxjHDgvszxf1zxn0swq','sfruuf9usu1ft1vu','CMvJB25Uzwn0qxr0zw1WDhm','D3m6lY9SB2nHBgHVC3q6oda4ma','DgvZDc1OB3n0','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','mtq4mdGXnvzlCejoCW','nZyYmtG0rxP5vwH3','ywXSB3DLzc10ExbL','mtm3otu2vurizgjX','q09otKvdveLptL9tvefurq','tKvuv09ssW','BNvTyMvY','Cg9YDa','u2vZC2LVBK1HBMfNzxiGy2XLyxiOksbYzxnLDhmGywXSihn0yxrL','C3rHDgu','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbjBxbVCNrZ','DMvUzg9Ys2v5CW','revgqvvmvf9qt1ju','z2v0u2vZC2LVBKLK','mtyZndmZowX6qwzzyG','tuvtu0fhrv9msvnux0HfsuDiva','mtK1mZm1tNntt3jf','y29UBMvJDgvK','veLnsu5h','reLtq09otKvdveve','BM90lweTzNvUy3rPB24','tufyx1jfvfjjrvm','BgvUz3rO','Bg94AwfbCgLlzxK','DgvZDc1RzxK','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','rvHfq1vusu9ox1nut1bqruq','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','AgfZsgfUzgXLCG'];a0_0xde38=function(){return _0x50d292;};return a0_0xde38();}import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function a0_0x308c(_0x1fbc55,_0x1e5af0){_0x1fbc55=_0x1fbc55-0x102;const _0xde38e8=a0_0xde38();let _0x308cf7=_0xde38e8[_0x1fbc55];if(a0_0x308c['liySIy']===undefined){var _0x2bde28=function(_0x5537bf){const _0x58f294='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15277f='',_0xb5df58='';for(let _0x53f0e0=0x0,_0x112c2d,_0x74922e,_0x1a6980=0x0;_0x74922e=_0x5537bf['charAt'](_0x1a6980++);~_0x74922e&&(_0x112c2d=_0x53f0e0%0x4?_0x112c2d*0x40+_0x74922e:_0x74922e,_0x53f0e0++%0x4)?_0x15277f+=String['fromCharCode'](0xff&_0x112c2d>>(-0x2*_0x53f0e0&0x6)):0x0){_0x74922e=_0x58f294['indexOf'](_0x74922e);}for(let _0x143896=0x0,_0x19a573=_0x15277f['length'];_0x143896<_0x19a573;_0x143896++){_0xb5df58+='%'+('00'+_0x15277f['charCodeAt'](_0x143896)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb5df58);};a0_0x308c['FcSnpU']=_0x2bde28,a0_0x308c['JULQrj']={},a0_0x308c['liySIy']=!![];}const _0xc550be=_0xde38e8[0x0],_0x365c7b=_0x1fbc55+_0xc550be,_0x531004=a0_0x308c['JULQrj'][_0x365c7b];return!_0x531004?(_0x308cf7=a0_0x308c['FcSnpU'](_0x308cf7),a0_0x308c['JULQrj'][_0x365c7b]=_0x308cf7):_0x308cf7=_0x531004,_0x308cf7;}describe(a0_0x5592a1(0x139),()=>{test('constants module exports all required constants',async()=>{const _0x4736c4=a0_0x308c,_0x15277f=await import('../../config/constants.js');expect(_0x15277f['UI_DIMENSIONS'])['toBeDefined'](),expect(_0x15277f['MESSAGE_CONFIG'])[_0x4736c4(0x11c)](),expect(_0x15277f[_0x4736c4(0x10e)])[_0x4736c4(0x11c)](),expect(_0x15277f[_0x4736c4(0x141)])[_0x4736c4(0x11c)](),expect(_0x15277f[_0x4736c4(0x134)])[_0x4736c4(0x11c)](),expect(_0x15277f['CONNECTION_STATE'])['toBeDefined'](),expect(_0x15277f['AGENT_MODE'])['toBeDefined'](),expect(_0x15277f[_0x4736c4(0x124)])[_0x4736c4(0x11c)](),expect(_0x15277f[_0x4736c4(0x119)])[_0x4736c4(0x11c)](),expect(_0x15277f[_0x4736c4(0x126)])['toBeDefined'](),expect(_0x15277f['NETWORK']['DEFAULT_HOST'])[_0x4736c4(0x11e)]('localhost'),expect(_0x15277f[_0x4736c4(0x134)][_0x4736c4(0x13b)])['toBe'](0x1f90),expect(_0x15277f['CONNECTION_STATE'][_0x4736c4(0x142)])[_0x4736c4(0x11e)](_0x4736c4(0x14d)),expect(_0x15277f[_0x4736c4(0x133)]['CONNECTED'])['toBe'](_0x4736c4(0x140));}),test('WebSocketManager class can be imported',async()=>{const _0x358f37=a0_0x308c,{WebSocketManager:_0xb5df58}=await import('../../api/websocket.js');expect(_0xb5df58)[_0x358f37(0x11c)](),expect(typeof _0xb5df58)['toBe'](_0x358f37(0x14e));const _0x53f0e0=new _0xb5df58(_0x358f37(0x10c),0x1f90);expect(_0x53f0e0)['toBeDefined'](),expect(_0x53f0e0[_0x358f37(0x116)])[_0x358f37(0x11e)](_0x358f37(0x10c)),expect(_0x53f0e0[_0x358f37(0x136)])['toBe'](0x1f90),expect(_0x53f0e0[_0x358f37(0x111)])[_0x358f37(0x11e)](_0x358f37(0x12c));}),test('SessionManager class can be imported',async()=>{const _0x1502c9=a0_0x308c,{SessionManager:_0x112c2d}=await import(_0x1502c9(0x127));expect(_0x112c2d)['toBeDefined'](),expect(typeof _0x112c2d)[_0x1502c9(0x11e)](_0x1502c9(0x14e));const _0x74922e=new _0x112c2d(_0x1502c9(0x10c),0x1f90);expect(_0x74922e)[_0x1502c9(0x11c)](),expect(_0x74922e[_0x1502c9(0x116)])[_0x1502c9(0x11e)]('localhost'),expect(_0x74922e[_0x1502c9(0x136)])['toBe'](0x1f90),expect(_0x74922e[_0x1502c9(0x115)])['toBe']('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0xf9387d=a0_0x308c,{MessageRouter:_0x1a6980}=await import(_0xf9387d(0x12e)),{WebSocketManager:_0x143896}=await import('../../api/websocket.js');expect(_0x1a6980)['toBeDefined'](),expect(typeof _0x1a6980)[_0xf9387d(0x11e)](_0xf9387d(0x14e));const _0x19a573=new _0x143896('localhost',0x1f90),_0xf46f43=new _0x1a6980(_0x19a573);expect(_0xf46f43)['toBeDefined'](),expect(_0xf46f43['ws'])['toBe'](_0x19a573);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x3717c6=a0_0x308c,{loggingMiddleware:_0x14aaf7,filterMiddleware:_0x25dd37,transformMiddleware:_0xafd801,timestampMiddleware:_0x4279d7,validationMiddleware:_0x28d794}=await import('../../api/messageRouter.js');expect(typeof _0x14aaf7)[_0x3717c6(0x11e)]('function'),expect(typeof _0x25dd37)['toBe'](_0x3717c6(0x14e)),expect(typeof _0xafd801)['toBe'](_0x3717c6(0x14e)),expect(typeof _0x4279d7)['toBe'](_0x3717c6(0x14e)),expect(typeof _0x28d794)['toBe']('function');}),test('useConnection hook can be imported',async()=>{const _0x27931=a0_0x308c,{useConnection:_0x1fde27,useConnectionStatus:_0x53f577}=await import('../../state/useConnection.js');expect(_0x1fde27)['toBeDefined'](),expect(typeof _0x1fde27)['toBe']('function'),expect(_0x53f577)[_0x27931(0x11c)](),expect(typeof _0x53f577)[_0x27931(0x11e)]('function');});}),describe(a0_0x5592a1(0x118),()=>{const _0x52c82b=a0_0x5592a1;test(_0x52c82b(0x121),async()=>{const _0x73cdb9=_0x52c82b,{WebSocketManager:_0x4f3369}=await import(_0x73cdb9(0x148)),{CONNECTION_STATE:_0x594963}=await import('../../config/constants.js'),_0x458aab=new _0x4f3369(_0x73cdb9(0x12d),0x2382);expect(_0x458aab['state'])['toBe'](_0x594963['DISCONNECTED']),expect(_0x458aab['sessionId'])['toBe'](null),expect(_0x458aab['messageQueue'])['toEqual']([]),expect(_0x458aab[_0x73cdb9(0x12b)])[_0x73cdb9(0x11e)](0x0),expect(_0x458aab['shouldReconnect'])['toBe'](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x27c8ce=_0x52c82b,{SessionManager:_0x16c2d3}=await import('../../api/session.js'),_0x118c5f=new _0x16c2d3('test-host',0x2382);expect(_0x118c5f['sessionId'])[_0x27c8ce(0x11e)](null),expect(_0x118c5f['projectDir'])[_0x27c8ce(0x11e)](null),expect(_0x118c5f[_0x27c8ce(0x146)])[_0x27c8ce(0x11e)](null),expect(_0x118c5f[_0x27c8ce(0x13a)])[_0x27c8ce(0x114)]({}),expect(_0x118c5f['isValid']())[_0x27c8ce(0x11e)](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x429807=_0x52c82b,{MessageRouter:_0x3c1b3c}=await import('../../api/messageRouter.js'),{WebSocketManager:_0xc37ffb}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x445d8c}=await import(_0x429807(0x120)),_0xb7a752=new _0xc37ffb(_0x429807(0x10c),0x1f90),_0x174d8d=new _0x3c1b3c(_0xb7a752);expect(_0x174d8d[_0x429807(0x14b)](_0x445d8c[_0x429807(0x11f)]))[_0x429807(0x11e)](!![]),expect(_0x174d8d['hasHandler'](_0x445d8c[_0x429807(0x125)]))[_0x429807(0x11e)](!![]),expect(_0x174d8d['hasHandler'](_0x445d8c[_0x429807(0x149)]))['toBe'](!![]),expect(_0x174d8d[_0x429807(0x14b)](_0x445d8c['COMPACTION_EVENT']))['toBe'](!![]),expect(_0x174d8d['hasHandler'](_0x445d8c[_0x429807(0x117)]))['toBe'](!![]);}),test('MessageRouter\x20middleware\x20can\x20be\x20added\x20and\x20removed',async()=>{const _0x179f76=_0x52c82b,{MessageRouter:_0x35fd0e}=await import(_0x179f76(0x12e)),{WebSocketManager:_0x525b58}=await import(_0x179f76(0x148)),_0x5ca7cf=new _0x525b58(_0x179f76(0x10c),0x1f90),_0x5258d7=new _0x35fd0e(_0x5ca7cf),_0x59522b=_0x5017ad=>_0x5017ad;expect(_0x5258d7['middleware'][_0x179f76(0x145)])['toBeGreaterThanOrEqual'](0x0),_0x5258d7['use'](_0x59522b);const _0x25f95d=_0x5258d7['middleware']['length'];expect(_0x25f95d)['toBeGreaterThan'](0x0),_0x5258d7['removeMiddleware'](_0x59522b),expect(_0x5258d7['middleware'][_0x179f76(0x145)])['toBe'](_0x25f95d-0x1);}),test(_0x52c82b(0x103),async()=>{const _0x34b2f3=_0x52c82b,{SessionManager:_0x5e21c6}=await import(_0x34b2f3(0x127)),_0x442bb8=new _0x5e21c6('localhost',0x1f90);expect(_0x442bb8[_0x34b2f3(0x13c)]())['toBe'](null),expect(_0x442bb8[_0x34b2f3(0x113)]())[_0x34b2f3(0x11e)](null),expect(_0x442bb8[_0x34b2f3(0x109)]())['toBe'](![]);const _0x3f4198=_0x442bb8[_0x34b2f3(0x11d)]();expect(_0x3f4198)[_0x34b2f3(0x10d)]('sessionId'),expect(_0x3f4198)['toHaveProperty']('projectDir'),expect(_0x3f4198)[_0x34b2f3(0x10d)](_0x34b2f3(0x14f)),expect(_0x3f4198)[_0x34b2f3(0x10d)]('vendorKeysCount');}),test('WebSocketManager\x20helper\x20methods\x20work',async()=>{const _0x522706=_0x52c82b,{WebSocketManager:_0x3c66e9}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x3637a5}=await import('../../config/constants.js'),_0x53e052=new _0x3c66e9(_0x522706(0x10c),0x1f90);expect(_0x53e052[_0x522706(0x112)]())[_0x522706(0x11e)](_0x3637a5[_0x522706(0x142)]),expect(_0x53e052['isConnected']())['toBe'](![]),expect(_0x53e052['getSessionId']())['toBe'](null);const _0x3b6824=_0x53e052['getStats']();expect(_0x3b6824)['toHaveProperty'](_0x522706(0x138)),expect(_0x3b6824)[_0x522706(0x10d)]('sessionId'),expect(_0x3b6824)[_0x522706(0x10d)](_0x522706(0x12b)),expect(_0x3b6824)['toHaveProperty']('queuedMessages'),expect(_0x3b6824)['toHaveProperty']('pendingRequests');}),test(_0x52c82b(0x108),async()=>{const _0x233750=_0x52c82b,{MessageRouter:_0x34ae27}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x131cfa}=await import(_0x233750(0x148)),_0x218c82=new _0x131cfa('localhost',0x1f90),_0x99d8c1=new _0x34ae27(_0x218c82),_0x32a7dd=()=>{};expect(_0x99d8c1[_0x233750(0x14b)](_0x233750(0x10b)))['toBe'](![]),_0x99d8c1['registerHandler']('test-message',_0x32a7dd),expect(_0x99d8c1[_0x233750(0x14b)]('test-message'))[_0x233750(0x11e)](!![]),_0x99d8c1['unregisterHandler'](_0x233750(0x10b)),expect(_0x99d8c1['hasHandler']('test-message'))['toBe'](![]);}),test('MessageRouter\x20middleware\x20helpers\x20create\x20valid\x20middleware',async()=>{const _0x44bcf6=_0x52c82b,{loggingMiddleware:_0x2cbd2a,timestampMiddleware:_0x3f975d,filterMiddleware:_0x55b103}=await import('../../api/messageRouter.js'),_0x428680=_0x2cbd2a();expect(typeof _0x428680)[_0x44bcf6(0x11e)]('function');const _0x4555a9=_0x3f975d();expect(typeof _0x4555a9)['toBe'](_0x44bcf6(0x14e));const _0x3b712a={'type':'test'},_0x587caa=_0x4555a9(_0x3b712a);expect(_0x587caa)[_0x44bcf6(0x10d)](_0x44bcf6(0x102)),expect(_0x587caa[_0x44bcf6(0x128)])[_0x44bcf6(0x11e)]('test');const _0xd5bf93=_0x55b103(['allowed-type']);expect(typeof _0xd5bf93)[_0x44bcf6(0x11e)](_0x44bcf6(0x14e)),expect(_0xd5bf93({'type':_0x44bcf6(0x131)}))['toBeTruthy'](),expect(_0xd5bf93({'type':_0x44bcf6(0x150)}))['toBe'](null);}),test('Constants\x20have\x20no\x20magic\x20numbers',async()=>{const _0x53a985=_0x52c82b,_0x343b54=await import('../../config/constants.js');expect(typeof _0x343b54['TIMING']['WEBSOCKET_RECONNECT_DELAY'])['toBe']('number'),expect(typeof _0x343b54[_0x53a985(0x141)]['WEBSOCKET_PING_INTERVAL'])['toBe'](_0x53a985(0x135)),expect(typeof _0x343b54[_0x53a985(0x134)]['DEFAULT_PORT'])[_0x53a985(0x11e)]('number'),expect(typeof _0x343b54[_0x53a985(0x134)][_0x53a985(0x144)])['toBe'](_0x53a985(0x135)),expect(typeof _0x343b54['NETWORK'][_0x53a985(0x12a)])['toBe'](_0x53a985(0x135)),expect(typeof _0x343b54[_0x53a985(0x106)][_0x53a985(0x13e)])['toBe']('number'),expect(typeof _0x343b54['UI_DIMENSIONS'][_0x53a985(0x104)])['toBe'](_0x53a985(0x135));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Error\x20Handling',()=>{const _0x2e78fc=a0_0x5592a1;test(_0x2e78fc(0x11a),async()=>{const _0x2556d3=_0x2e78fc,{MessageRouter:_0x965d4a}=await import('../../api/messageRouter.js'),{WebSocketManager:_0xe96a73}=await import(_0x2556d3(0x148)),_0x317728=new _0xe96a73('localhost',0x1f90),_0x3cca09=new _0x965d4a(_0x317728);expect(()=>{const _0x334997=_0x2556d3;_0x3cca09['registerHandler']('test',_0x334997(0x143));})['toThrow']('Handler\x20must\x20be\x20a\x20function');}),test('MessageRouter\x20throws\x20on\x20invalid\x20middleware',async()=>{const _0x211b24=_0x2e78fc,{MessageRouter:_0x1e0aca}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2cc9e6}=await import('../../api/websocket.js'),_0x2d58a9=new _0x2cc9e6(_0x211b24(0x10c),0x1f90),_0x3ea32c=new _0x1e0aca(_0x2d58a9);expect(()=>{const _0x5ecd7a=_0x211b24;_0x3ea32c[_0x5ecd7a(0x14c)](_0x5ecd7a(0x143));})[_0x211b24(0x11b)](_0x211b24(0x14a));}),test(_0x2e78fc(0x137),async()=>{const _0x2a4daf=_0x2e78fc,{SessionManager:_0x34f33a}=await import('../../api/session.js'),_0x316e68=new _0x34f33a(_0x2a4daf(0x10c),0x1f90);_0x316e68['sessionId']='test-123',_0x316e68['projectDir']='/test/dir',_0x316e68[_0x2a4daf(0x146)]=_0x2a4daf(0x147),_0x316e68[_0x2a4daf(0x13a)]={'openai':'key'},expect(_0x316e68['isValid']())[_0x2a4daf(0x11e)](!![]),_0x316e68['clear'](),expect(_0x316e68[_0x2a4daf(0x123)])['toBe'](null),expect(_0x316e68['projectDir'])[_0x2a4daf(0x11e)](null),expect(_0x316e68['loxiaApiKey'])['toBe'](null),expect(_0x316e68[_0x2a4daf(0x13a)])['toEqual']({}),expect(_0x316e68['isValid']())['toBe'](![]);}),test(_0x2e78fc(0x107),async()=>{const _0x351710=_0x2e78fc,{WebSocketManager:_0x27b670}=await import(_0x351710(0x148)),_0x489370=new _0x27b670(_0x351710(0x10c),0x1f90),_0x241d99=_0x489370[_0x351710(0x129)](),_0xd49541=_0x489370[_0x351710(0x129)](),_0xdd2f33=_0x489370['generateRequestId']();expect(_0x241d99)[_0x351710(0x10a)][_0x351710(0x11e)](_0xd49541),expect(_0xd49541)[_0x351710(0x10a)]['toBe'](_0xdd2f33),expect(_0x241d99)['not'][_0x351710(0x11e)](_0xdd2f33),expect(_0x241d99)['toMatch'](/^req-\d+-\d+$/),expect(_0xd49541)[_0x351710(0x105)](/^req-\d+-\d+$/),expect(_0xdd2f33)['toMatch'](/^req-\d+-\d+$/);});});
|
|
1
|
+
const a0_0x2ea39f=a0_0x2df9;(function(_0x4f1f53,_0x3d9d54){const _0x42d080=a0_0x2df9,_0x517921=_0x4f1f53();while(!![]){try{const _0x452077=parseInt(_0x42d080(0x1e4))/0x1+parseInt(_0x42d080(0x1dc))/0x2+parseInt(_0x42d080(0x1c7))/0x3*(parseInt(_0x42d080(0x1b3))/0x4)+parseInt(_0x42d080(0x1b1))/0x5*(parseInt(_0x42d080(0x1c6))/0x6)+-parseInt(_0x42d080(0x1b7))/0x7*(parseInt(_0x42d080(0x1d4))/0x8)+parseInt(_0x42d080(0x1be))/0x9*(parseInt(_0x42d080(0x1a7))/0xa)+parseInt(_0x42d080(0x1c2))/0xb*(-parseInt(_0x42d080(0x1d1))/0xc);if(_0x452077===_0x3d9d54)break;else _0x517921['push'](_0x517921['shift']());}catch(_0x4151c6){_0x517921['push'](_0x517921['shift']());}}}(a0_0x2b3b,0xe784f));import{describe,test,expect}from'@jest/globals';import{fileURLToPath}from'url';function a0_0x2df9(_0x8dd24,_0x50f264){_0x8dd24=_0x8dd24-0x1a2;const _0x2b3b1b=a0_0x2b3b();let _0x2df93e=_0x2b3b1b[_0x8dd24];if(a0_0x2df9['clkMOK']===undefined){var _0x4515ba=function(_0x309361){const _0x51c94c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39b3d1='',_0x49f689='';for(let _0x2fe951=0x0,_0x3a1837,_0x3dba89,_0x1781ba=0x0;_0x3dba89=_0x309361['charAt'](_0x1781ba++);~_0x3dba89&&(_0x3a1837=_0x2fe951%0x4?_0x3a1837*0x40+_0x3dba89:_0x3dba89,_0x2fe951++%0x4)?_0x39b3d1+=String['fromCharCode'](0xff&_0x3a1837>>(-0x2*_0x2fe951&0x6)):0x0){_0x3dba89=_0x51c94c['indexOf'](_0x3dba89);}for(let _0x371d3c=0x0,_0x3ae600=_0x39b3d1['length'];_0x371d3c<_0x3ae600;_0x371d3c++){_0x49f689+='%'+('00'+_0x39b3d1['charCodeAt'](_0x371d3c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49f689);};a0_0x2df9['yKYlyK']=_0x4515ba,a0_0x2df9['UmidfR']={},a0_0x2df9['clkMOK']=!![];}const _0xdced90=_0x2b3b1b[0x0],_0x438c77=_0x8dd24+_0xdced90,_0x8697af=a0_0x2df9['UmidfR'][_0x438c77];return!_0x8697af?(_0x2df93e=a0_0x2df9['yKYlyK'](_0x2df93e),a0_0x2df9['UmidfR'][_0x438c77]=_0x2df93e):_0x2df93e=_0x8697af,_0x2df93e;}function a0_0x2b3b(){const _0x2a5320=['nZjKwKzgwfe','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLignHBIbIzsbHzgrLzcbHBMqGCMvTB3zLza','AxnwywXPza','Dg9fCxvHBa','q09ntuforfm','z2v0uhjVAMvJDerPCG','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbjBxbVCNrZ','BwLKzgXLD2fYzq','mJG4nJm1ngfQChvmsW','AgfZtg94AwflzxK','Bg94AwfbCgLlzxK','quDftLrFtu9erv9dsefor0ve','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','zNvUy3rPB24','sgfUzgXLCIbTDxn0igjLigeGzNvUy3rPB24','ywXSB3DLzc10ExbL','mtu2nZm2m0vbtw1RsW','C2vZC2LVBKLK','Cg9YDa','ChjVAMvJDerPCG','tKvuv09ssW','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLigHLBhbLCNmGy3jLyxrLihzHBgLKig1PzgrSzxDHCMu','D3m6lY9SB2nHBgHVC3q6oda4ma','DMvUzg9Ys2v5CW','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','q09nuefdveLptL9fvKvova','Dg9nyxrJAa','y2XLyxi','BgvUz3rO','Dg9iyxzLuhjVCgvYDhK','mtGXotmXmgvNwvv1AG','DgvZDa','Dg9czurLzMLUzwq','DgvZDc1TzxnZywDL','yMfZzvvYBa','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','BM90lweTzNvUy3rPB24','Dw5YzwDPC3rLCKHHBMrSzxi','Dg9czq','v1nFtuvtu0fhrv9uwvbf','ntm2ota1B3LQDvnb','DgvZDc1OB3n0','ndqYmtC0mg53rfr2sa','Bg9JywXOB3n0','AgfZsgfUzgXLCG','Dg9czvrYDxrOEq','mtaWotq5oePoCLP3BG','revgqvvmvf9qt1ju','BNvTyMvY','z2v0u2vZC2LVBKLK','CMvJB25Uzwn0qxr0zw1WDhm','CMvJzwL2zwrbDa','z2vUzxjHDgvszxf1zxn0swq','mJDksfrjBKm','lI4VlI4VyxbPl3nLC3nPB24UANm','reLtq09otKvdveve','q09otKvdveLptL9tvefurq','ndmXmdC2mdnAyLfcEKu','CMvTB3zLtwLKzgXLD2fYzq','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','odrWCM9TAgO','m09oC0HqDW','C3rHDgu','BM90','DxjS','veLnsu5h','vuLFreLnru5tsu9ouW','BwvZC2fNzvf1zxvL','CxvLDwvKtwvZC2fNzxm','sfruuf9usu1ft1vu','u0LerujbuL9xsurusa','mtjNuM10uKu','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ'];a0_0x2b3b=function(){return _0x2a5320;};return a0_0x2b3b();}import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe(a0_0x2ea39f(0x1da),()=>{test('constants module exports all required constants',async()=>{const _0x5fcdc0=a0_0x2df9,_0x39b3d1=await import(_0x5fcdc0(0x1d2));expect(_0x39b3d1[_0x5fcdc0(0x1cc)])['toBeDefined'](),expect(_0x39b3d1['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x39b3d1['PAGINATION'])[_0x5fcdc0(0x1a9)](),expect(_0x39b3d1[_0x5fcdc0(0x1cb)])[_0x5fcdc0(0x1a9)](),expect(_0x39b3d1['NETWORK'])[_0x5fcdc0(0x1a9)](),expect(_0x39b3d1[_0x5fcdc0(0x1c1)])['toBeDefined'](),expect(_0x39b3d1['AGENT_MODE'])[_0x5fcdc0(0x1a9)](),expect(_0x39b3d1[_0x5fcdc0(0x1b0)])['toBeDefined'](),expect(_0x39b3d1['API_ENDPOINTS'])[_0x5fcdc0(0x1a9)](),expect(_0x39b3d1[_0x5fcdc0(0x1d8)])['toBeDefined'](),expect(_0x39b3d1[_0x5fcdc0(0x1e8)]['DEFAULT_HOST'])['toBe']('localhost'),expect(_0x39b3d1['NETWORK']['DEFAULT_PORT'])['toBe'](0x1f90),expect(_0x39b3d1['CONNECTION_STATE'][_0x5fcdc0(0x1c0)])[_0x5fcdc0(0x1af)]('disconnected'),expect(_0x39b3d1[_0x5fcdc0(0x1c1)]['CONNECTED'])[_0x5fcdc0(0x1af)]('connected');}),test('WebSocketManager class can be imported',async()=>{const _0x411231=a0_0x2df9,{WebSocketManager:_0x49f689}=await import(_0x411231(0x1ac));expect(_0x49f689)['toBeDefined'](),expect(typeof _0x49f689)[_0x411231(0x1af)](_0x411231(0x1e1));const _0x2fe951=new _0x49f689('localhost',0x1f90);expect(_0x2fe951)['toBeDefined'](),expect(_0x2fe951['host'])['toBe']('localhost'),expect(_0x2fe951['port'])[_0x411231(0x1af)](0x1f90),expect(_0x2fe951[_0x411231(0x1ca)])[_0x411231(0x1af)](_0x411231(0x1ea));}),test('SessionManager class can be imported',async()=>{const _0x3e2a80=a0_0x2df9,{SessionManager:_0x3a1837}=await import('../../api/session.js');expect(_0x3a1837)['toBeDefined'](),expect(typeof _0x3a1837)['toBe'](_0x3e2a80(0x1e1));const _0x3dba89=new _0x3a1837(_0x3e2a80(0x1b4),0x1f90);expect(_0x3dba89)['toBeDefined'](),expect(_0x3dba89['host'])['toBe']('localhost'),expect(_0x3dba89[_0x3e2a80(0x1e6)])['toBe'](0x1f90),expect(_0x3dba89[_0x3e2a80(0x1ab)])['toBe']('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0x1b7371=a0_0x2df9,{MessageRouter:_0x1781ba}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x371d3c}=await import('../../api/websocket.js');expect(_0x1781ba)[_0x1b7371(0x1a9)](),expect(typeof _0x1781ba)[_0x1b7371(0x1af)](_0x1b7371(0x1e1));const _0x3ae600=new _0x371d3c('localhost',0x1f90),_0x2c328c=new _0x1781ba(_0x3ae600);expect(_0x2c328c)[_0x1b7371(0x1a9)](),expect(_0x2c328c['ws'])[_0x1b7371(0x1af)](_0x3ae600);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x200084=a0_0x2df9,{loggingMiddleware:_0x5a1354,filterMiddleware:_0x1f7c1e,transformMiddleware:_0x1307d8,timestampMiddleware:_0x4722d6,validationMiddleware:_0x3f44fc}=await import(_0x200084(0x1ec));expect(typeof _0x5a1354)['toBe']('function'),expect(typeof _0x1f7c1e)[_0x200084(0x1af)](_0x200084(0x1e1)),expect(typeof _0x1307d8)[_0x200084(0x1af)](_0x200084(0x1e1)),expect(typeof _0x4722d6)['toBe']('function'),expect(typeof _0x3f44fc)[_0x200084(0x1af)]('function');}),test('useConnection hook can be imported',async()=>{const _0x2b5ee8=a0_0x2df9,{useConnection:_0x548b30,useConnectionStatus:_0x2f1688}=await import(_0x2b5ee8(0x1c5));expect(_0x548b30)[_0x2b5ee8(0x1a9)](),expect(typeof _0x548b30)['toBe']('function'),expect(_0x2f1688)['toBeDefined'](),expect(typeof _0x2f1688)['toBe'](_0x2b5ee8(0x1e1));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Basic\x20Functionality',()=>{const _0x3bbaac=a0_0x2ea39f;test('WebSocketManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0xca2cb7=a0_0x2df9,{WebSocketManager:_0x3e2803}=await import(_0xca2cb7(0x1ac)),{CONNECTION_STATE:_0x332924}=await import('../../config/constants.js'),_0x518dbc=new _0x3e2803('test-host',0x2382);expect(_0x518dbc[_0xca2cb7(0x1c8)])['toBe'](_0x332924['DISCONNECTED']),expect(_0x518dbc[_0xca2cb7(0x1e5)])[_0xca2cb7(0x1af)](null),expect(_0x518dbc[_0xca2cb7(0x1cd)])[_0xca2cb7(0x1d7)]([]),expect(_0x518dbc['reconnectAttempts'])[_0xca2cb7(0x1af)](0x0),expect(_0x518dbc['shouldReconnect'])[_0xca2cb7(0x1af)](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x33ac99=a0_0x2df9,{SessionManager:_0x21b26c}=await import(_0x33ac99(0x1bf)),_0x1dce26=new _0x21b26c(_0x33ac99(0x1b2),0x2382);expect(_0x1dce26[_0x33ac99(0x1e5)])[_0x33ac99(0x1af)](null),expect(_0x1dce26['projectDir'])[_0x33ac99(0x1af)](null),expect(_0x1dce26['loxiaApiKey'])[_0x33ac99(0x1af)](null),expect(_0x1dce26['vendorKeys'])[_0x33ac99(0x1d7)]({}),expect(_0x1dce26[_0x33ac99(0x1d6)]())[_0x33ac99(0x1af)](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x5e6ab4=a0_0x2df9,{MessageRouter:_0x24484d}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x4525b6}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x28a421}=await import(_0x5e6ab4(0x1d2)),_0x41f57c=new _0x4525b6('localhost',0x1f90),_0x552ed2=new _0x24484d(_0x41f57c);expect(_0x552ed2['hasHandler'](_0x28a421['MESSAGE_ADDED']))['toBe'](!![]),expect(_0x552ed2[_0x5e6ab4(0x1b5)](_0x28a421[_0x5e6ab4(0x1df)]))[_0x5e6ab4(0x1af)](!![]),expect(_0x552ed2['hasHandler'](_0x28a421['EXECUTION_STOPPED']))['toBe'](!![]),expect(_0x552ed2['hasHandler'](_0x28a421[_0x5e6ab4(0x1a2)]))[_0x5e6ab4(0x1af)](!![]),expect(_0x552ed2[_0x5e6ab4(0x1b5)](_0x28a421['IMAGE_RESULT']))[_0x5e6ab4(0x1af)](!![]);}),test(_0x3bbaac(0x1d5),async()=>{const _0x5a4b94=_0x3bbaac,{MessageRouter:_0x23fe59}=await import(_0x5a4b94(0x1ec)),{WebSocketManager:_0x3889c6}=await import('../../api/websocket.js'),_0x3c23d6=new _0x3889c6('localhost',0x1f90),_0x347d66=new _0x23fe59(_0x3c23d6),_0x26fdeb=_0x32d63b=>_0x32d63b;expect(_0x347d66[_0x5a4b94(0x1db)][_0x5a4b94(0x1a5)])[_0x5a4b94(0x1e0)](0x0),_0x347d66['use'](_0x26fdeb);const _0x3b73f6=_0x347d66[_0x5a4b94(0x1db)]['length'];expect(_0x3b73f6)['toBeGreaterThan'](0x0),_0x347d66[_0x5a4b94(0x1c3)](_0x26fdeb),expect(_0x347d66[_0x5a4b94(0x1db)][_0x5a4b94(0x1a5)])['toBe'](_0x3b73f6-0x1);}),test('SessionManager\x20helper\x20methods\x20work',async()=>{const _0x169db8=_0x3bbaac,{SessionManager:_0x16394b}=await import(_0x169db8(0x1bf)),_0x328b6f=new _0x16394b(_0x169db8(0x1b4),0x1f90);expect(_0x328b6f['getSessionId']())['toBe'](null),expect(_0x328b6f[_0x169db8(0x1d9)]())[_0x169db8(0x1af)](null),expect(_0x328b6f['isValid']())[_0x169db8(0x1af)](![]);const _0x1b35d2=_0x328b6f['getSessionInfo']();expect(_0x1b35d2)['toHaveProperty']('sessionId'),expect(_0x1b35d2)['toHaveProperty'](_0x169db8(0x1e7)),expect(_0x1b35d2)['toHaveProperty'](_0x169db8(0x1dd)),expect(_0x1b35d2)[_0x169db8(0x1a6)]('vendorKeysCount');}),test('WebSocketManager\x20helper\x20methods\x20work',async()=>{const _0x2f0b0e=_0x3bbaac,{WebSocketManager:_0x1b9921}=await import(_0x2f0b0e(0x1ac)),{CONNECTION_STATE:_0xd4aa64}=await import(_0x2f0b0e(0x1d2)),_0x5b94f5=new _0x1b9921(_0x2f0b0e(0x1b4),0x1f90);expect(_0x5b94f5['getState']())['toBe'](_0xd4aa64['DISCONNECTED']),expect(_0x5b94f5['isConnected']())[_0x2f0b0e(0x1af)](![]),expect(_0x5b94f5[_0x2f0b0e(0x1ba)]())[_0x2f0b0e(0x1af)](null);const _0x400922=_0x5b94f5['getStats']();expect(_0x400922)['toHaveProperty']('state'),expect(_0x400922)['toHaveProperty'](_0x2f0b0e(0x1e5)),expect(_0x400922)[_0x2f0b0e(0x1a6)](_0x2f0b0e(0x1bb)),expect(_0x400922)['toHaveProperty'](_0x2f0b0e(0x1ce)),expect(_0x400922)[_0x2f0b0e(0x1a6)]('pendingRequests');}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0x3de564=_0x3bbaac,{MessageRouter:_0x5986d6}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x4b1508}=await import(_0x3de564(0x1ac)),_0x4c3118=new _0x4b1508('localhost',0x1f90),_0x7e1b4e=new _0x5986d6(_0x4c3118),_0x311370=()=>{};expect(_0x7e1b4e[_0x3de564(0x1b5)]('test-message'))['toBe'](![]),_0x7e1b4e['registerHandler']('test-message',_0x311370),expect(_0x7e1b4e[_0x3de564(0x1b5)](_0x3de564(0x1aa)))['toBe'](!![]),_0x7e1b4e[_0x3de564(0x1ae)](_0x3de564(0x1aa)),expect(_0x7e1b4e['hasHandler'](_0x3de564(0x1aa)))[_0x3de564(0x1af)](![]);}),test(_0x3bbaac(0x1e9),async()=>{const _0x5122ba=_0x3bbaac,{loggingMiddleware:_0x2ec0d4,timestampMiddleware:_0x23afa4,filterMiddleware:_0x244e29}=await import(_0x5122ba(0x1ec)),_0x39fd0a=_0x2ec0d4();expect(typeof _0x39fd0a)[_0x5122ba(0x1af)](_0x5122ba(0x1e1));const _0x1b4101=_0x23afa4();expect(typeof _0x1b4101)[_0x5122ba(0x1af)]('function');const _0x660a14={'type':'test'},_0x1fa581=_0x1b4101(_0x660a14);expect(_0x1fa581)[_0x5122ba(0x1a6)](_0x5122ba(0x1bc)),expect(_0x1fa581['type'])[_0x5122ba(0x1af)](_0x5122ba(0x1a8));const _0x3755dc=_0x244e29([_0x5122ba(0x1e3)]);expect(typeof _0x3755dc)[_0x5122ba(0x1af)]('function'),expect(_0x3755dc({'type':'allowed-type'}))[_0x5122ba(0x1b6)](),expect(_0x3755dc({'type':'blocked-type'}))['toBe'](null);}),test('Constants\x20have\x20no\x20magic\x20numbers',async()=>{const _0x1240f5=_0x3bbaac,_0x2e8711=await import(_0x1240f5(0x1d2));expect(typeof _0x2e8711[_0x1240f5(0x1cb)]['WEBSOCKET_RECONNECT_DELAY'])['toBe']('number'),expect(typeof _0x2e8711[_0x1240f5(0x1cb)]['WEBSOCKET_PING_INTERVAL'])[_0x1240f5(0x1af)](_0x1240f5(0x1b9)),expect(typeof _0x2e8711[_0x1240f5(0x1e8)][_0x1240f5(0x1b8)])['toBe'](_0x1240f5(0x1b9)),expect(typeof _0x2e8711['NETWORK']['MAX_RETRIES'])['toBe']('number'),expect(typeof _0x2e8711[_0x1240f5(0x1e8)][_0x1240f5(0x1cf)])[_0x1240f5(0x1af)]('number'),expect(typeof _0x2e8711['UI_DIMENSIONS']['MESSAGE_LIST_HEIGHT'])[_0x1240f5(0x1af)]('number'),expect(typeof _0x2e8711[_0x1240f5(0x1cc)][_0x1240f5(0x1d0)])['toBe'](_0x1240f5(0x1b9));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Error\x20Handling',()=>{const _0x5bbdad=a0_0x2ea39f;test('MessageRouter\x20throws\x20on\x20invalid\x20handler',async()=>{const _0x2a7bc7=a0_0x2df9,{MessageRouter:_0x284dc8}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x458518}=await import('../../api/websocket.js'),_0x569064=new _0x458518('localhost',0x1f90),_0x4a0033=new _0x284dc8(_0x569064);expect(()=>{const _0x50200f=a0_0x2df9;_0x4a0033['registerHandler'](_0x50200f(0x1a8),_0x50200f(0x1ad));})['toThrow'](_0x2a7bc7(0x1e2));}),test('MessageRouter\x20throws\x20on\x20invalid\x20middleware',async()=>{const _0x3fe5a8=a0_0x2df9,{MessageRouter:_0x5ac0ab}=await import(_0x3fe5a8(0x1ec)),{WebSocketManager:_0x3264dc}=await import(_0x3fe5a8(0x1ac)),_0x3c9c76=new _0x3264dc(_0x3fe5a8(0x1b4),0x1f90),_0x38805a=new _0x5ac0ab(_0x3c9c76);expect(()=>{_0x38805a['use']('not-a-function');})['toThrow'](_0x3fe5a8(0x1c4));}),test('SessionManager\x20clear()\x20resets\x20all\x20state',async()=>{const _0x5ac38d=a0_0x2df9,{SessionManager:_0xf8e949}=await import('../../api/session.js'),_0x57727d=new _0xf8e949('localhost',0x1f90);_0x57727d['sessionId']='test-123',_0x57727d[_0x5ac38d(0x1e7)]='/test/dir',_0x57727d[_0x5ac38d(0x1de)]='test-key',_0x57727d['vendorKeys']={'openai':'key'},expect(_0x57727d[_0x5ac38d(0x1d6)]())[_0x5ac38d(0x1af)](!![]),_0x57727d[_0x5ac38d(0x1a4)](),expect(_0x57727d[_0x5ac38d(0x1e5)])[_0x5ac38d(0x1af)](null),expect(_0x57727d[_0x5ac38d(0x1e7)])[_0x5ac38d(0x1af)](null),expect(_0x57727d['loxiaApiKey'])['toBe'](null),expect(_0x57727d[_0x5ac38d(0x1eb)])['toEqual']({}),expect(_0x57727d[_0x5ac38d(0x1d6)]())['toBe'](![]);}),test(_0x5bbdad(0x1d3),async()=>{const _0x4738a7=_0x5bbdad,{WebSocketManager:_0x95832b}=await import('../../api/websocket.js'),_0x46bfa8=new _0x95832b(_0x4738a7(0x1b4),0x1f90),_0x4dfd3e=_0x46bfa8[_0x4738a7(0x1bd)](),_0x303a9c=_0x46bfa8['generateRequestId'](),_0x10503a=_0x46bfa8[_0x4738a7(0x1bd)]();expect(_0x4dfd3e)[_0x4738a7(0x1c9)]['toBe'](_0x303a9c),expect(_0x303a9c)['not'][_0x4738a7(0x1af)](_0x10503a),expect(_0x4dfd3e)['not'][_0x4738a7(0x1af)](_0x10503a),expect(_0x4dfd3e)[_0x4738a7(0x1a3)](/^req-\d+-\d+$/),expect(_0x303a9c)[_0x4738a7(0x1a3)](/^req-\d+-\d+$/),expect(_0x10503a)[_0x4738a7(0x1a3)](/^req-\d+-\d+$/);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x36545b=a0_0x20d7;(function(_0x16695e,_0x1ece5e){const _0x2f5a76=a0_0x20d7,_0x2d8b94=_0x16695e();while(!![]){try{const _0x111e9d=parseInt(_0x2f5a76(0x1a7))/0x1+-parseInt(_0x2f5a76(0x1ba))/0x2+parseInt(_0x2f5a76(0x1ad))/0x3+parseInt(_0x2f5a76(0x198))/0x4+-parseInt(_0x2f5a76(0x1bb))/0x5*(-parseInt(_0x2f5a76(0x1bc))/0x6)+parseInt(_0x2f5a76(0x1c5))/0x7+parseInt(_0x2f5a76(0x1b2))/0x8*(-parseInt(_0x2f5a76(0x1a3))/0x9);if(_0x111e9d===_0x1ece5e)break;else _0x2d8b94['push'](_0x2d8b94['shift']());}catch(_0xd001bc){_0x2d8b94['push'](_0x2d8b94['shift']());}}}(a0_0x114c,0x2e7a7));function a0_0x20d7(_0x2d2308,_0x363f73){_0x2d2308=_0x2d2308-0x195;const _0x114c99=a0_0x114c();let _0x20d703=_0x114c99[_0x2d2308];if(a0_0x20d7['JymIPy']===undefined){var _0x5d5c4d=function(_0x11c2b4){const _0x12b861='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x83e342='',_0x101f2b='';for(let _0x1e8116=0x0,_0x4bce9e,_0x3a7a20,_0x1846e8=0x0;_0x3a7a20=_0x11c2b4['charAt'](_0x1846e8++);~_0x3a7a20&&(_0x4bce9e=_0x1e8116%0x4?_0x4bce9e*0x40+_0x3a7a20:_0x3a7a20,_0x1e8116++%0x4)?_0x83e342+=String['fromCharCode'](0xff&_0x4bce9e>>(-0x2*_0x1e8116&0x6)):0x0){_0x3a7a20=_0x12b861['indexOf'](_0x3a7a20);}for(let _0x2bb744=0x0,_0x35bfac=_0x83e342['length'];_0x2bb744<_0x35bfac;_0x2bb744++){_0x101f2b+='%'+('00'+_0x83e342['charCodeAt'](_0x2bb744)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x101f2b);};a0_0x20d7['KGeeaR']=_0x5d5c4d,a0_0x20d7['FddNeb']={},a0_0x20d7['JymIPy']=!![];}const _0xdaf4fb=_0x114c99[0x0],_0x1a3a82=_0x2d2308+_0xdaf4fb,_0x3d6839=a0_0x20d7['FddNeb'][_0x1a3a82];return!_0x3d6839?(_0x20d703=a0_0x20d7['KGeeaR'](_0x20d703),a0_0x20d7['FddNeb'][_0x1a3a82]=_0x20d703):_0x20d703=_0x3d6839,_0x20d703;}function a0_0x114c(){const _0x1d6d96=['ntiZndaXrKXcwuPx','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','quDftLrFtu9erv9dsefor0ve','u2vZC2LVBK1HBMfNzxi','rvHfq1vusu9ox1nut1bqruq','mJG3mKrhyMDrwq','zgvMyxvSDa','qvntsvnuqu5u','BNvTyMvY','quDftLrFuKvtue9ou0u','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','C3LZDgvT','u1Ltvevn','ntKWmZuYtMjQAwTq','nwL0s0viDW','mJeWmtiZnM1xwhHIqG','ywDLBNqTCMvZCg9UC2u','ywXS','zxHLy3v0Aw9Ux3n0B3bWzwq','AgfZsgfUzgXLCG','BwvZC2fNzv9HzgrLza','Bg9JywXOB3n0','lI4VlI4VyxbPl3nLC3nPB24UANm','tufyx1bbr0vFu0LArq','mtu4mZmZmejmrhv5DW','tufyx01fu1nbr0vtx0rju1bmqvK','DxnLtwvZC2fNzxmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','tuvtu0fhrv9uwvbf','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','Dg9czuDYzwf0zxjuAgfU','ndu3mdCYtwfzvNvu','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','v2vIu29JA2v0twfUywDLCG','uefhrv9tsvPf','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','ywDLBNrFBw9Kzv9JAgfUz2vK','Dg9mB3DLCKnHC2u','Dg9czq','t1jdsevtvfjbve9s','Dg9czurLzMLUzwq','t3jJAgvZDhjHDg9YigvUzhbVAw50ignHBIbIzsb1C2vKigzVCIbTzxnZywDLig9WzxjHDgLVBNm','otC2nwDRCfnTqG','Dg9czuXLC3nuAgfUt3jfCxvHBa','tuvtu0fhrv9st0XfihzHBhvLCYbHCMuGBg93zxjJyxnL','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','otKZnxj5y3DrCa','BgvUz3rO','tufyx01fu1nbr0vFtevor1ri','zNvUy3rPB24','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','C3LZDgvTlw5VDgLMAwnHDgLVBG'];a0_0x114c=function(){return _0x1d6d96;};return a0_0x114c();}import{describe,test,expect}from'@jest/globals';describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0x1d6e03=a0_0x20d7,{useMessages:_0x83e342}=await import('../../state/useMessages.js');expect(_0x83e342)[_0x1d6e03(0x1a1)](),expect(typeof _0x83e342)['toBe'](_0x1d6e03(0x1aa));}),test('useMessages is default export',async()=>{const _0xc26366=a0_0x20d7,module=await import('../../state/useMessages.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0xc26366(0x1b3)])[_0xc26366(0x19f)]('function'),expect(module[_0xc26366(0x1b3)])['toBe'](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const _0x13fe41=a0_0x20d7,{useMessageCount:_0x101f2b}=await import(_0x13fe41(0x195));expect(_0x101f2b)[_0x13fe41(0x1a1)](),expect(typeof _0x101f2b)['toBe']('function');});}),describe('Message\x20Management\x20-\x20Constants',()=>{const _0x305dd0=a0_0x20d7;test('MESSAGE_ROLE\x20constants\x20are\x20defined',async()=>{const _0x3d77e0=a0_0x20d7,{MESSAGE_ROLE:_0x1e8116}=await import('../../config/constants.js');expect(_0x1e8116)['toBeDefined'](),expect(_0x1e8116['USER'])[_0x3d77e0(0x19f)]('user'),expect(_0x1e8116['ASSISTANT'])[_0x3d77e0(0x19f)]('assistant'),expect(_0x1e8116[_0x3d77e0(0x1b9)])['toBe'](_0x3d77e0(0x1b8));}),test(_0x305dd0(0x19c),async()=>{const _0x4ae498=_0x305dd0,{MESSAGE_TYPE:_0x4bce9e}=await import('../../config/constants.js');expect(_0x4bce9e)['toBeDefined'](),expect(_0x4bce9e['USER_MESSAGE'])[_0x4ae498(0x19f)]('user-message'),expect(_0x4bce9e[_0x4ae498(0x1b6)])['toBe'](_0x4ae498(0x1bd)),expect(_0x4bce9e['SYSTEM_NOTIFICATION'])['toBe'](_0x4ae498(0x1ac));}),test('MESSAGE_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x49d0bd=_0x305dd0,{MESSAGE_CONFIG:_0x3a7a20}=await import('../../config/constants.js');expect(_0x3a7a20)['toBeDefined'](),expect(_0x3a7a20['MAX_MESSAGE_LENGTH'])[_0x49d0bd(0x1a1)](),expect(_0x3a7a20['MAX_MESSAGES_DISPLAY'])['toBeDefined'](),expect(typeof _0x3a7a20[_0x49d0bd(0x1a9)])[_0x49d0bd(0x19f)](_0x49d0bd(0x1b5)),expect(typeof _0x3a7a20['MAX_MESSAGES_DISPLAY'])['toBe']('number');}),test('PAGINATION\x20constants\x20are\x20defined',async()=>{const _0x280848=_0x305dd0,{PAGINATION:_0x1846e8}=await import('../../config/constants.js');expect(_0x1846e8)[_0x280848(0x1a1)](),expect(_0x1846e8[_0x280848(0x19b)])['toBeDefined'](),expect(_0x1846e8['MAX_PAGE_SIZE'])[_0x280848(0x1a1)](),expect(typeof _0x1846e8[_0x280848(0x19b)])[_0x280848(0x19f)]('number'),expect(typeof _0x1846e8['MAX_PAGE_SIZE'])[_0x280848(0x19f)]('number');}),test('WS_MESSAGE_TYPE\x20includes\x20message\x20events',async()=>{const _0x254181=_0x305dd0,{WS_MESSAGE_TYPE:_0x2bb744}=await import(_0x254181(0x199));expect(_0x2bb744)['toBeDefined'](),expect(_0x2bb744['MESSAGE_ADDED'])['toBe'](_0x254181(0x1c1)),expect(_0x2bb744['AGENT_MODE_CHANGED'])['toBe'](_0x254181(0x19d)),expect(_0x2bb744[_0x254181(0x1b1)])[_0x254181(0x19f)](_0x254181(0x1bf));});}),describe(a0_0x36545b(0x1b7),()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x1db8f8=a0_0x20d7,{useMessages:_0x35bfac}=await import('../../state/useMessages.js'),{SessionManager:_0x186c3e}=await import('../../api/session.js'),{MessageRouter:_0x4ffdf9}=await import(_0x1db8f8(0x1a6)),{WebSocketManager:_0x5aed90}=await import(_0x1db8f8(0x1ae)),_0x29a972=new _0x186c3e('localhost',0x1f90),_0x41b55e=new _0x5aed90('localhost',0x1f90),_0x60e77e=new _0x4ffdf9(_0x41b55e);expect(_0x29a972)[_0x1db8f8(0x1a1)](),expect(_0x60e77e)['toBeDefined'](),expect(typeof _0x35bfac)['toBe']('function');}),test('Full message management stack can be imported together',async()=>{const _0x2c5c79=a0_0x20d7,[_0x5980c2,_0x5260ca,_0x4ebb6a,_0x3e2b18,_0x114b7c]=await Promise[_0x2c5c79(0x1be)]([import(_0x2c5c79(0x199)),import(_0x2c5c79(0x1c3)),import('../../api/websocket.js'),import(_0x2c5c79(0x1a6)),import('../../state/useMessages.js')]);expect(_0x5980c2['MESSAGE_ROLE'])['toBeDefined'](),expect(_0x5980c2[_0x2c5c79(0x1c8)])[_0x2c5c79(0x1a1)](),expect(_0x5980c2['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x5260ca[_0x2c5c79(0x1b0)])['toBeDefined'](),expect(_0x4ebb6a[_0x2c5c79(0x19a)])['toBeDefined'](),expect(_0x3e2b18['MessageRouter'])['toBeDefined'](),expect(_0x114b7c['useMessages'])['toBeDefined']();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x2d3618=a0_0x36545b;test(_0x2d3618(0x1a2),async()=>{const _0x3f36da=_0x2d3618,{API_ENDPOINTS:_0x28de8}=await import('../../config/constants.js');expect(_0x28de8['ORCHESTRATOR'])['toBeDefined'](),expect(_0x28de8[_0x3f36da(0x1a0)])[_0x3f36da(0x19f)]('/api/orchestrator');}),test(_0x2d3618(0x1ab),async()=>{const {API_ENDPOINTS:_0x13b6b9}=await import('../../config/constants.js');expect(_0x13b6b9['ORCHESTRATOR'])['toMatch'](/^\/api\//);});}),describe('Message\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x3eb07b=a0_0x36545b;test(_0x3eb07b(0x1c7),async()=>{const _0x14a54a=_0x3eb07b,{useMessages:_0x3f62d9}=await import('../../state/useMessages.js');expect(_0x3f62d9[_0x14a54a(0x1a8)])[_0x14a54a(0x19f)](0x3);}),test('useMessageCount\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x5110aa=_0x3eb07b,{useMessageCount:_0x29a5b6}=await import(_0x5110aa(0x195));expect(_0x29a5b6['length'])[_0x5110aa(0x19f)](0x1);});}),describe('Message\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x270284=a0_0x36545b;test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x59b23a=a0_0x20d7,{MESSAGE_CONFIG:_0x54ba35}=await import('../../config/constants.js');expect(_0x54ba35['MAX_MESSAGE_LENGTH'])['toBeGreaterThan'](0x0),expect(_0x54ba35[_0x59b23a(0x1a9)])['toBeLessThanOrEqual'](0x186a0),expect(_0x54ba35['MAX_MESSAGES_DISPLAY'])['toBeGreaterThan'](0x0),expect(_0x54ba35['MAX_MESSAGES_DISPLAY'])[_0x59b23a(0x1a4)](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x50f6a4=a0_0x20d7,{PAGINATION:_0x36b6d1}=await import('../../config/constants.js');expect(_0x36b6d1[_0x50f6a4(0x19b)])[_0x50f6a4(0x197)](0x0),expect(_0x36b6d1[_0x50f6a4(0x19b)])['toBeLessThanOrEqual'](0x3e8),expect(_0x36b6d1[_0x50f6a4(0x1c4)])['toBeGreaterThanOrEqual'](_0x36b6d1[_0x50f6a4(0x19b)]);}),test(_0x270284(0x1a5),async()=>{const _0x2f14a9=_0x270284,{MESSAGE_ROLE:_0x3d3fab}=await import('../../config/constants.js');expect(_0x3d3fab['USER'])['toBe'](_0x3d3fab['USER'][_0x2f14a9(0x19e)]()),expect(_0x3d3fab[_0x2f14a9(0x1b4)])[_0x2f14a9(0x19f)](_0x3d3fab['ASSISTANT'][_0x2f14a9(0x19e)]()),expect(_0x3d3fab[_0x2f14a9(0x1b9)])[_0x2f14a9(0x19f)](_0x3d3fab['SYSTEM']['toLowerCase']());});}),describe('Message\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0x588cb4=a0_0x20d7,{MessageRouter:_0x22f1af}=await import(_0x588cb4(0x1a6)),{WebSocketManager:_0xc721cc}=await import(_0x588cb4(0x1ae)),{WS_MESSAGE_TYPE:_0x4f67c9}=await import(_0x588cb4(0x199)),_0x3cc23d=new _0xc721cc(_0x588cb4(0x1c2),0x1f90),_0x59bba4=new _0x22f1af(_0x3cc23d);expect(_0x59bba4[_0x588cb4(0x1c0)](_0x4f67c9['MESSAGE_ADDED']))['toBe'](!![]),expect(_0x59bba4[_0x588cb4(0x1c0)](_0x4f67c9[_0x588cb4(0x1af)]))['toBe'](!![]);});}),describe('Message\x20Management\x20-\x20Error\x20Handling',()=>{test('MESSAGE_CONFIG\x20enforces\x20maximum\x20message\x20length',async()=>{const _0x1181e5=a0_0x20d7,{MESSAGE_CONFIG:_0x4ba0b2}=await import('../../config/constants.js');expect(_0x4ba0b2['MAX_MESSAGE_LENGTH'])['toBeDefined'](),expect(typeof _0x4ba0b2[_0x1181e5(0x1a9)])['toBe']('number');const _0x5b119b='a'['repeat'](_0x4ba0b2[_0x1181e5(0x1a9)]+0x1);expect(_0x5b119b[_0x1181e5(0x1a8)])[_0x1181e5(0x197)](_0x4ba0b2['MAX_MESSAGE_LENGTH']);}),test('MESSAGE_CONFIG\x20enforces\x20maximum\x20display\x20messages',async()=>{const _0x386fd7=a0_0x20d7,{MESSAGE_CONFIG:_0x4ee741}=await import(_0x386fd7(0x199));expect(_0x4ee741[_0x386fd7(0x1c6)])[_0x386fd7(0x1a1)](),expect(typeof _0x4ee741['MAX_MESSAGES_DISPLAY'])[_0x386fd7(0x19f)]('number'),expect(_0x4ee741['MAX_MESSAGES_DISPLAY'])['toBeGreaterThan'](0x0);});}),describe(a0_0x36545b(0x196),()=>{test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x5b6c10=a0_0x20d7,{PAGINATION:_0x39e3d4}=await import('../../config/constants.js'),_0x14a99c=0x0,_0x467421=_0x14a99c*_0x39e3d4[_0x5b6c10(0x19b)];expect(_0x467421)[_0x5b6c10(0x19f)](0x0);const _0x4cbc75=0x1,_0x396028=_0x4cbc75*_0x39e3d4[_0x5b6c10(0x19b)];expect(_0x396028)['toBe'](_0x39e3d4[_0x5b6c10(0x19b)]);}),test('PAGINATION\x20limit\x20does\x20not\x20exceed\x20MAX_PAGE_SIZE',async()=>{const _0x2cb4ab=a0_0x20d7,{PAGINATION:_0xc94117}=await import(_0x2cb4ab(0x199)),_0x299a3e=0x3e8,_0x5ae94c=Math['min'](_0x299a3e,_0xc94117['MAX_PAGE_SIZE']);expect(_0x5ae94c)['toBeLessThanOrEqual'](_0xc94117['MAX_PAGE_SIZE']);});});
|
|
1
|
+
function a0_0x4d6b(_0x4cf1c6,_0x2800b7){_0x4cf1c6=_0x4cf1c6-0x1ea;const _0x4b48a4=a0_0x4b48();let _0x4d6b41=_0x4b48a4[_0x4cf1c6];if(a0_0x4d6b['XoOycR']===undefined){var _0xc34ce1=function(_0x596d1b){const _0x4da1bd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a6b80='',_0x9fe1df='';for(let _0x4a7da2=0x0,_0x3fef64,_0x33dbde,_0x488ca9=0x0;_0x33dbde=_0x596d1b['charAt'](_0x488ca9++);~_0x33dbde&&(_0x3fef64=_0x4a7da2%0x4?_0x3fef64*0x40+_0x33dbde:_0x33dbde,_0x4a7da2++%0x4)?_0x1a6b80+=String['fromCharCode'](0xff&_0x3fef64>>(-0x2*_0x4a7da2&0x6)):0x0){_0x33dbde=_0x4da1bd['indexOf'](_0x33dbde);}for(let _0x52d715=0x0,_0x2f7554=_0x1a6b80['length'];_0x52d715<_0x2f7554;_0x52d715++){_0x9fe1df+='%'+('00'+_0x1a6b80['charCodeAt'](_0x52d715)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9fe1df);};a0_0x4d6b['UBSMaj']=_0xc34ce1,a0_0x4d6b['aRAzzy']={},a0_0x4d6b['XoOycR']=!![];}const _0x109f71=_0x4b48a4[0x0],_0xc026d6=_0x4cf1c6+_0x109f71,_0x130541=a0_0x4d6b['aRAzzy'][_0xc026d6];return!_0x130541?(_0x4d6b41=a0_0x4d6b['UBSMaj'](_0x4d6b41),a0_0x4d6b['aRAzzy'][_0xc026d6]=_0x4d6b41):_0x4d6b41=_0x130541,_0x4d6b41;}const a0_0x3a831c=a0_0x4d6b;function a0_0x4b48(){const _0x1a0aec=['t1jdsevtvfjbve9s','ywXS','quDftLrFtu9erv9dsefor0ve','mZu1mJyWtLzxEwv5','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','v2vIu29JA2v0twfUywDLCG','tuvtu0fhrv9st0XfignVBNn0yw50CYbHCMuGzgvMAw5Lza','C3LZDgvT','AgfZsgfUzgXLCG','DxnLtwvZC2fNzxm','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','nJG2mJjguKXIBvK','vvnfuG','tufyx1bbr0vFu0LArq','nti5owD3q0PeAW','tuvtu0fhrv9dt05gsuCGy29UC3rHBNrZigfYzsbKzwzPBMvK','ywDLBNrFBw9Kzv9JAgfUz2vK','Dg9czuDYzwf0zxjuAgfU','uefhsu5bveLptIbSAw1PDcbKB2vZig5VDcbLEgnLzwqGtufyx1bbr0vFu0LArq','uefhrv9tsvPf','CMvWzwf0','mte5ndu3nJbPtfrNAuG','DxnLtwvZC2fNzxmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','Dg9czuXLC3nuAgfUt3jfCxvHBa','qvntsvnuqu5u','tuvtu0fhrv9uwvbf','tufyx01fu1nbr0vtx0rju1bmqvK','BgvUz3rO','vvnfuL9nrvntquDf','ndeWnhbKq3vTqW','mJmWntCWn0XHz0nZrG','Dg9mB3DLCKnHC2u','BwvZC2fNzv9HzgrLza','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','odaWmgT6DwrXCW','tuvtu0fhrv9brerfra','u1Ltvevnx05pveLgsunbveLptG','zxHLy3v0Aw9Ux3n0B3bWzwq','Dg9czurLzMLUzwq','u1Ltvevn','mtm1nNHiy0XrCG','Dg9czq','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZifzHBgLKyxrPB24','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbTzxnZywDLigXLBMD0Aa','C3LZDgvTlw5VDgLMAwnHDgLVBG','l2fWAs9VCMnOzxn0CMf0B3i','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','BNvTyMvY','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','mte2mJCXnxHysMXYAG','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','tufyx01fu1nbr0vFtevor1ri','mKjHuM51tq','twvZC2fNzsbnyw5Hz2vTzw50ic0GrxjYB3iGsgfUzgXPBMC','zgvMyxvSDa'];a0_0x4b48=function(){return _0x1a0aec;};return a0_0x4b48();}(function(_0x232460,_0x6dbf9f){const _0x331abc=a0_0x4d6b,_0x5e8da6=_0x232460();while(!![]){try{const _0x291104=-parseInt(_0x331abc(0x1fe))/0x1*(-parseInt(_0x331abc(0x20c))/0x2)+parseInt(_0x331abc(0x220))/0x3+-parseInt(_0x331abc(0x204))/0x4+parseInt(_0x331abc(0x1fb))/0x5+-parseInt(_0x331abc(0x1f2))/0x6*(-parseInt(_0x331abc(0x20f))/0x7)+parseInt(_0x331abc(0x1ec))/0x8*(parseInt(_0x331abc(0x21f))/0x9)+-parseInt(_0x331abc(0x216))/0xa;if(_0x291104===_0x6dbf9f)break;else _0x5e8da6['push'](_0x5e8da6['shift']());}catch(_0x574311){_0x5e8da6['push'](_0x5e8da6['shift']());}}}(a0_0x4b48,0x64ef1));import{describe,test,expect}from'@jest/globals';describe(a0_0x3a831c(0x1f8),()=>{test('useMessages hook can be imported',async()=>{const {useMessages:_0x1a6b80}=await import('../../state/useMessages.js');expect(_0x1a6b80)['toBeDefined'](),expect(typeof _0x1a6b80)['toBe']('function');}),test('useMessages is default export',async()=>{const _0x38a6b9=a0_0x4d6b,module=await import('../../state/useMessages.js');expect(module['default'])[_0x38a6b9(0x1f0)](),expect(typeof module[_0x38a6b9(0x200)])['toBe']('function'),expect(module['default'])['toBe'](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const _0x25fefb=a0_0x4d6b,{useMessageCount:_0x9fe1df}=await import('../../state/useMessages.js');expect(_0x9fe1df)['toBeDefined'](),expect(typeof _0x9fe1df)[_0x25fefb(0x1f3)]('function');});}),describe('Message\x20Management\x20-\x20Constants',()=>{const _0x352fd8=a0_0x3a831c;test(_0x352fd8(0x207),async()=>{const _0x1fdb8c=_0x352fd8,{MESSAGE_ROLE:_0x4a7da2}=await import('../../config/constants.js');expect(_0x4a7da2)['toBeDefined'](),expect(_0x4a7da2[_0x1fdb8c(0x20d)])['toBe']('user'),expect(_0x4a7da2[_0x1fdb8c(0x21a)])[_0x1fdb8c(0x1f3)]('assistant'),expect(_0x4a7da2['SYSTEM'])[_0x1fdb8c(0x1f3)](_0x1fdb8c(0x208));}),test('MESSAGE_TYPE\x20constants\x20are\x20defined',async()=>{const _0x30fa36=_0x352fd8,{MESSAGE_TYPE:_0x3fef64}=await import(_0x30fa36(0x1fc));expect(_0x3fef64)[_0x30fa36(0x1f0)](),expect(_0x3fef64[_0x30fa36(0x21e)])[_0x30fa36(0x1f3)]('user-message'),expect(_0x3fef64['AGENT_RESPONSE'])['toBe']('agent-response'),expect(_0x3fef64[_0x30fa36(0x1ee)])[_0x30fa36(0x1f3)](_0x30fa36(0x1f6));}),test(_0x352fd8(0x210),async()=>{const _0xac7b61=_0x352fd8,{MESSAGE_CONFIG:_0x33dbde}=await import('../../config/constants.js');expect(_0x33dbde)['toBeDefined'](),expect(_0x33dbde['MAX_MESSAGE_LENGTH'])['toBeDefined'](),expect(_0x33dbde[_0xac7b61(0x21c)])['toBeDefined'](),expect(typeof _0x33dbde[_0xac7b61(0x1fd)])['toBe'](_0xac7b61(0x1f9)),expect(typeof _0x33dbde['MAX_MESSAGES_DISPLAY'])['toBe']('number');}),test('PAGINATION\x20constants\x20are\x20defined',async()=>{const _0x31be37=_0x352fd8,{PAGINATION:_0x488ca9}=await import(_0x31be37(0x1fc));expect(_0x488ca9)['toBeDefined'](),expect(_0x488ca9['PAGE_SIZE'])['toBeDefined'](),expect(_0x488ca9['MAX_PAGE_SIZE'])['toBeDefined'](),expect(typeof _0x488ca9[_0x31be37(0x214)])[_0x31be37(0x1f3)]('number'),expect(typeof _0x488ca9[_0x31be37(0x20e)])['toBe'](_0x31be37(0x1f9));}),test('WS_MESSAGE_TYPE\x20includes\x20message\x20events',async()=>{const _0x26bef6=_0x352fd8,{WS_MESSAGE_TYPE:_0x52d715}=await import(_0x26bef6(0x1fc));expect(_0x52d715)[_0x26bef6(0x1f0)](),expect(_0x52d715['MESSAGE_ADDED'])[_0x26bef6(0x1f3)](_0x26bef6(0x1ea)),expect(_0x52d715[_0x26bef6(0x203)])['toBe'](_0x26bef6(0x211)),expect(_0x52d715['EXECUTION_STOPPED'])['toBe'](_0x26bef6(0x1ef));});}),describe('Message\x20Management\x20-\x20Integration',()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x2c238c=a0_0x4d6b,{useMessages:_0x2f7554}=await import('../../state/useMessages.js'),{SessionManager:_0x3610e4}=await import('../../api/session.js'),{MessageRouter:_0x3a5321}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x15b90e}=await import(_0x2c238c(0x20b)),_0x290e1c=new _0x3610e4('localhost',0x1f90),_0x24585e=new _0x15b90e('localhost',0x1f90),_0x76c1c2=new _0x3a5321(_0x24585e);expect(_0x290e1c)[_0x2c238c(0x1f0)](),expect(_0x76c1c2)[_0x2c238c(0x1f0)](),expect(typeof _0x2f7554)['toBe']('function');}),test('Full message management stack can be imported together',async()=>{const _0x2d3b92=a0_0x4d6b,[_0x4d1a55,_0x3f98af,_0x84ee58,_0x4d2ec1,_0x20b5a3]=await Promise[_0x2d3b92(0x202)]([import(_0x2d3b92(0x1fc)),import('../../api/session.js'),import(_0x2d3b92(0x20b)),import('../../api/messageRouter.js'),import('../../state/useMessages.js')]);expect(_0x4d1a55['MESSAGE_ROLE'])[_0x2d3b92(0x1f0)](),expect(_0x4d1a55[_0x2d3b92(0x21b)])['toBeDefined'](),expect(_0x4d1a55['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x3f98af['SessionManager'])[_0x2d3b92(0x1f0)](),expect(_0x84ee58[_0x2d3b92(0x206)])[_0x2d3b92(0x1f0)](),expect(_0x4d2ec1['MessageRouter'])['toBeDefined'](),expect(_0x20b5a3[_0x2d3b92(0x20a)])[_0x2d3b92(0x1f0)]();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{test('Orchestrator\x20endpoint\x20can\x20be\x20used\x20for\x20message\x20operations',async()=>{const _0x3651d1=a0_0x4d6b,{API_ENDPOINTS:_0x2b2551}=await import('../../config/constants.js');expect(_0x2b2551[_0x3651d1(0x201)])[_0x3651d1(0x1f0)](),expect(_0x2b2551['ORCHESTRATOR'])['toBe'](_0x3651d1(0x1f7));}),test('Message\x20API\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x5a5eaa=a0_0x4d6b,{API_ENDPOINTS:_0x293684}=await import(_0x5a5eaa(0x1fc));expect(_0x293684['ORCHESTRATOR'])['toMatch'](/^\/api\//);});}),describe('Message\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x11b322=a0_0x3a831c;test(_0x11b322(0x217),async()=>{const _0x5c2a66=_0x11b322,{useMessages:_0x356618}=await import(_0x5c2a66(0x1eb));expect(_0x356618['length'])[_0x5c2a66(0x1f3)](0x3);}),test('useMessageCount\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x21cc00=_0x11b322,{useMessageCount:_0x30fb93}=await import(_0x21cc00(0x1eb));expect(_0x30fb93['length'])[_0x21cc00(0x1f3)](0x1);});}),describe(a0_0x3a831c(0x1f4),()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0xdc69a3=a0_0x4d6b,{MESSAGE_CONFIG:_0x5082b8}=await import(_0xdc69a3(0x1fc));expect(_0x5082b8['MAX_MESSAGE_LENGTH'])['toBeGreaterThan'](0x0),expect(_0x5082b8[_0xdc69a3(0x1fd)])['toBeLessThanOrEqual'](0x186a0),expect(_0x5082b8[_0xdc69a3(0x21c)])['toBeGreaterThan'](0x0),expect(_0x5082b8[_0xdc69a3(0x21c)])[_0xdc69a3(0x219)](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x7ea158=a0_0x4d6b,{PAGINATION:_0x4b7db2}=await import(_0x7ea158(0x1fc));expect(_0x4b7db2[_0x7ea158(0x214)])['toBeGreaterThan'](0x0),expect(_0x4b7db2[_0x7ea158(0x214)])['toBeLessThanOrEqual'](0x3e8),expect(_0x4b7db2['MAX_PAGE_SIZE'])['toBeGreaterThanOrEqual'](_0x4b7db2['PAGE_SIZE']);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0x29f33b=a0_0x4d6b,{MESSAGE_ROLE:_0x2cc2dd}=await import(_0x29f33b(0x1fc));expect(_0x2cc2dd['USER'])['toBe'](_0x2cc2dd['USER'][_0x29f33b(0x221)]()),expect(_0x2cc2dd['ASSISTANT'])['toBe'](_0x2cc2dd['ASSISTANT']['toLowerCase']()),expect(_0x2cc2dd[_0x29f33b(0x1f1)])['toBe'](_0x2cc2dd['SYSTEM']['toLowerCase']());});}),describe(a0_0x3a831c(0x218),()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0xc05d2d=a0_0x4d6b,{MessageRouter:_0x5e5bbe}=await import(_0xc05d2d(0x205)),{WebSocketManager:_0x501dd7}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x1e6649}=await import('../../config/constants.js'),_0x257984=new _0x501dd7('localhost',0x1f90),_0x15ef6b=new _0x5e5bbe(_0x257984);expect(_0x15ef6b[_0xc05d2d(0x209)](_0x1e6649[_0xc05d2d(0x1ed)]))[_0xc05d2d(0x1f3)](!![]),expect(_0x15ef6b[_0xc05d2d(0x209)](_0x1e6649['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe(a0_0x3a831c(0x1ff),()=>{const _0x3094a2=a0_0x3a831c;test(_0x3094a2(0x1f5),async()=>{const _0x4df890=_0x3094a2,{MESSAGE_CONFIG:_0x549708}=await import('../../config/constants.js');expect(_0x549708['MAX_MESSAGE_LENGTH'])['toBeDefined'](),expect(typeof _0x549708[_0x4df890(0x1fd)])[_0x4df890(0x1f3)]('number');const _0x191d29='a'[_0x4df890(0x215)](_0x549708['MAX_MESSAGE_LENGTH']+0x1);expect(_0x191d29[_0x4df890(0x21d)])[_0x4df890(0x212)](_0x549708[_0x4df890(0x1fd)]);}),test('MESSAGE_CONFIG\x20enforces\x20maximum\x20display\x20messages',async()=>{const _0xd4dd1d=_0x3094a2,{MESSAGE_CONFIG:_0x1d5350}=await import('../../config/constants.js');expect(_0x1d5350[_0xd4dd1d(0x21c)])['toBeDefined'](),expect(typeof _0x1d5350[_0xd4dd1d(0x21c)])['toBe'](_0xd4dd1d(0x1f9)),expect(_0x1d5350[_0xd4dd1d(0x21c)])['toBeGreaterThan'](0x0);});}),describe(a0_0x3a831c(0x1fa),()=>{const _0x37400c=a0_0x3a831c;test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x596677=a0_0x4d6b,{PAGINATION:_0x45533e}=await import('../../config/constants.js'),_0x31ec6f=0x0,_0x51e968=_0x31ec6f*_0x45533e[_0x596677(0x214)];expect(_0x51e968)[_0x596677(0x1f3)](0x0);const _0x521991=0x1,_0x4fbe35=_0x521991*_0x45533e['PAGE_SIZE'];expect(_0x4fbe35)['toBe'](_0x45533e[_0x596677(0x214)]);}),test(_0x37400c(0x213),async()=>{const _0x4de4a7=_0x37400c,{PAGINATION:_0x1670a3}=await import(_0x4de4a7(0x1fc)),_0x5c8f20=0x3e8,_0x550aa3=Math['min'](_0x5c8f20,_0x1670a3['MAX_PAGE_SIZE']);expect(_0x550aa3)['toBeLessThanOrEqual'](_0x1670a3['MAX_PAGE_SIZE']);});});
|