@loxia-labs/loxia-autopilot-one 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- 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_0x231ecd=a0_0x5aee;(function(_0x3897bd,_0x229e69){const _0x34d785=a0_0x5aee,_0xc9cf14=_0x3897bd();while(!![]){try{const _0x49ce67=parseInt(_0x34d785(0x120))/0x1+parseInt(_0x34d785(0x103))/0x2+parseInt(_0x34d785(0x112))/0x3+-parseInt(_0x34d785(0x108))/0x4+parseInt(_0x34d785(0xf8))/0x5+parseInt(_0x34d785(0x10b))/0x6*(parseInt(_0x34d785(0x118))/0x7)+-parseInt(_0x34d785(0x115))/0x8;if(_0x49ce67===_0x229e69)break;else _0xc9cf14['push'](_0xc9cf14['shift']());}catch(_0x5b9c55){_0xc9cf14['push'](_0xc9cf14['shift']());}}}(a0_0x43b4,0xcec5c));function a0_0x5aee(_0x58fe48,_0x5452e2){_0x58fe48=_0x58fe48-0xf3;const _0x43b451=a0_0x43b4();let _0x5aee0c=_0x43b451[_0x58fe48];if(a0_0x5aee['lYfslH']===undefined){var _0x4f3f99=function(_0x3f7944){const _0x3e7fc6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x423302='',_0x3528a1='';for(let _0x3ec3fb=0x0,_0x3240dc,_0x1d65b0,_0x50e991=0x0;_0x1d65b0=_0x3f7944['charAt'](_0x50e991++);~_0x1d65b0&&(_0x3240dc=_0x3ec3fb%0x4?_0x3240dc*0x40+_0x1d65b0:_0x1d65b0,_0x3ec3fb++%0x4)?_0x423302+=String['fromCharCode'](0xff&_0x3240dc>>(-0x2*_0x3ec3fb&0x6)):0x0){_0x1d65b0=_0x3e7fc6['indexOf'](_0x1d65b0);}for(let _0x124421=0x0,_0x1fe329=_0x423302['length'];_0x124421<_0x1fe329;_0x124421++){_0x3528a1+='%'+('00'+_0x423302['charCodeAt'](_0x124421)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3528a1);};a0_0x5aee['sVsNFy']=_0x4f3f99,a0_0x5aee['WHQpJv']={},a0_0x5aee['lYfslH']=!![];}const _0x427347=_0x43b451[0x0],_0x4df9e1=_0x58fe48+_0x427347,_0x3be849=a0_0x5aee['WHQpJv'][_0x4df9e1];return!_0x3be849?(_0x5aee0c=a0_0x5aee['sVsNFy'](_0x5aee0c),a0_0x5aee['WHQpJv'][_0x4df9e1]=_0x5aee0c):_0x5aee0c=_0x3be849,_0x5aee0c;}function a0_0x43b4(){const _0x113202=['u2v0DgLUz3nqyw5LBa','qwDLBNrdCMvHDg9Y','nZm3nJCWrwTSqKLR','lI4VlI4Vy29TCg9Uzw50CY9tzxr0Aw5NC1bHBMvSlMPZ','qM94','qwDLBNrdCMvHDg9YigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','zgvMyxvSDa','qwDLBNrdCMvHDg9YigrLzMLUzxmGC3rLCcbJB25ZDgfUDhm','BgvUz3rO','zNvUy3rPB24','lI4VlI4Vy29TCg9Uzw50CY9tzwfYy2Hqyw5LBc5QCW','y3jLyxrLrwXLBwvUDa','qwXSifbOyxnLideWignVBxbVBMvUDhmGDxnLifjLywn0igfUzcbjBMS','mZe1nZCWogrHrK5TsG','sgvSCfbHBMvSigLZigeGzNvUy3rPB24Gy29TCg9Uzw50','Dg9czvvUzgvMAw5Lza','C2L6zq','ugHHC2uGmtaGlsbbzhzHBMnLzcbgzwf0DxjLCYaTieLTCg9YDhm','mJK5nZCZnM1vtgXczq','BwfW','qwDLBNrtD2L0y2HLCG','mty2mLfsv2nyvG','DxnLsw5WDxq','u2v0DgLUz3nqyw5LBcbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','ugHHC2uGmtaGlsbtzxr0Aw5NC1bHBMvSic0Gu3rYDwn0DxjL','sgvSCfbHBMvS','ugHHC2uGmtaGlsbizwXWugfUzwWGlsbtDhj1y3r1CMu','Aw5R','ntG1odKXyNHbtfLH','lI4VlI4Vy29TCg9Uzw50CY9izwXWugfUzwWUANm','sgvSCfbHBMvSigrLzMLUzxmGC2HVCNrJDxqGy29UzMLNDxjHDgLVBNm','mJa1mdm0ndHZu0XPAvi','ugHHC2uGmtaGlsbtzwfYy2Hqyw5LBcaTifn0CNvJDhvYzq','ugHHC2uGmtaGlsbbz2vUDenYzwf0B3iGlsbtDhj1y3r1CMu','mtm5otntqK1Su2O','ugHHC2uGmtaGlsbbz2vUDfn3AxrJAgvYic0Gu3rYDwn0DxjL','ywXS','ugHHC2uGmtaGlsbjBNrLz3jHDgLVBIb3AxrOieXHEw91Da','Dg9czq','Dg9czurLzMLUzwq','ChjVDg90ExbL','CMvUzgvY','mty4mZG5n0LZzunpAq','vgv4Da','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDenYzwf0B3iUANm','lI4VlI4Vy29TCg9Uzw50CY9bz2vUDfn3AxrJAgvYlMPZ'];a0_0x43b4=function(){return _0x113202;};return a0_0x43b4();}import{describe,test,expect}from'@jest/globals';describe(a0_0x231ecd(0x107),()=>{test('AgentSwitcher component can be imported',async()=>{const _0x36dba9=a0_0x5aee,{AgentSwitcher:_0x423302}=await import(_0x36dba9(0xf5));expect(_0x423302)[_0x36dba9(0x11d)](),expect(typeof _0x423302)[_0x36dba9(0x11c)](_0x36dba9(0xff));},0x7530),test('AgentCreator component can be imported',async()=>{const {AgentCreator:_0x3528a1}=await import('../../components/AgentCreator.js');expect(_0x3528a1)['toBeDefined'](),expect(typeof _0x3528a1)['toBe']('function');}),test('SettingsPanel component can be imported',async()=>{const _0x5c7948=a0_0x5aee,{SettingsPanel:_0x3ec3fb}=await import('../../components/SettingsPanel.js');expect(_0x3ec3fb)['toBeDefined'](),expect(typeof _0x3ec3fb)[_0x5c7948(0x11c)](_0x5c7948(0xff));}),test('SearchPanel component can be imported',async()=>{const _0x157871=a0_0x5aee,{SearchPanel:_0x3240dc}=await import('../../components/SearchPanel.js');expect(_0x3240dc)[_0x157871(0x11d)](),expect(typeof _0x3240dc)[_0x157871(0x11c)]('function');}),test('HelpPanel component can be imported',async()=>{const _0x4d961d=a0_0x5aee,{HelpPanel:_0x1d65b0}=await import(_0x4d961d(0x113));expect(_0x1d65b0)[_0x4d961d(0x11d)](),expect(typeof _0x1d65b0)['toBe'](_0x4d961d(0xff));});}),describe(a0_0x231ecd(0x119),()=>{test('AgentSwitcher\x20is\x20a\x20function\x20component',async()=>{const _0x395e4f=a0_0x5aee,{AgentSwitcher:_0x50e991}=await import('../../components/AgentSwitcher.js');expect(typeof _0x50e991)[_0x395e4f(0x11c)](_0x395e4f(0xff)),expect(_0x50e991['prototype']?.['render'])[_0x395e4f(0x105)]();}),test('AgentSwitcher is default export',async()=>{const _0x145a77=a0_0x5aee,module=await import('../../components/AgentSwitcher.js');expect(module[_0x145a77(0xfc)])['toBeDefined'](),expect(module[_0x145a77(0xfc)])[_0x145a77(0x11c)](module[_0x145a77(0x10a)]);});}),describe(a0_0x231ecd(0x117),()=>{const _0x128ce6=a0_0x231ecd;test(_0x128ce6(0xfb),async()=>{const _0x392051=_0x128ce6,{AgentCreator:_0x124421}=await import(_0x392051(0xf4));expect(typeof _0x124421)['toBe'](_0x392051(0xff)),expect(_0x124421['prototype']?.['render'])['toBeUndefined']();}),test('AgentCreator is default export',async()=>{const _0x1980c0=_0x128ce6,module=await import('../../components/AgentCreator.js');expect(module[_0x1980c0(0xfc)])['toBeDefined'](),expect(module[_0x1980c0(0xfc)])['toBe'](module['AgentCreator']);});}),describe(a0_0x231ecd(0x10e),()=>{const _0x41bcd1=a0_0x231ecd;test(_0x41bcd1(0x10d),async()=>{const _0x139d38=_0x41bcd1,{SettingsPanel:_0x1fe329}=await import('../../components/SettingsPanel.js');expect(typeof _0x1fe329)['toBe'](_0x139d38(0xff)),expect(_0x1fe329['prototype']?.[_0x139d38(0x11f)])[_0x139d38(0x105)]();}),test('SettingsPanel is default export',async()=>{const _0x524abe=_0x41bcd1,module=await import(_0x524abe(0xf9));expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module[_0x524abe(0xf6)]);});}),describe(a0_0x231ecd(0x116),()=>{test('SearchPanel\x20is\x20a\x20function\x20component',async()=>{const _0x18b065=a0_0x5aee,{SearchPanel:_0x4c830d}=await import(_0x18b065(0x100));expect(typeof _0x4c830d)[_0x18b065(0x11c)]('function'),expect(_0x4c830d['prototype']?.[_0x18b065(0x11f)])[_0x18b065(0x105)]();}),test('SearchPanel is default export',async()=>{const _0x1a7c74=a0_0x5aee,module=await import(_0x1a7c74(0x100));expect(module['default'])[_0x1a7c74(0x11d)](),expect(module[_0x1a7c74(0xfc)])['toBe'](module['SearchPanel']);});}),describe(a0_0x231ecd(0x110),()=>{const _0x2ff1a3=a0_0x231ecd;test(_0x2ff1a3(0x104),async()=>{const _0x23669f=_0x2ff1a3,{HelpPanel:_0x59cb4e}=await import(_0x23669f(0x113));expect(typeof _0x59cb4e)[_0x23669f(0x11c)]('function'),expect(_0x59cb4e[_0x23669f(0x11e)]?.[_0x23669f(0x11f)])[_0x23669f(0x105)]();}),test('HelpPanel is default export',async()=>{const _0x5d25b8=_0x2ff1a3,module=await import(_0x5d25b8(0x113));expect(module['default'])[_0x5d25b8(0x11d)](),expect(module[_0x5d25b8(0xfc)])['toBe'](module[_0x5d25b8(0x10f)]);});}),describe(a0_0x231ecd(0x11b),()=>{const _0x5a99a9=a0_0x231ecd;test('Layout component can import all Phase 10 components',async()=>{const _0x4c1163=a0_0x5aee,[_0x3c91ec,_0x1a3a1e,_0x569381,_0x51b5f5,_0x409ec8]=await Promise[_0x4c1163(0x11a)]([import('../../components/AgentSwitcher.js'),import('../../components/AgentCreator.js'),import('../../components/SettingsPanel.js'),import('../../components/SearchPanel.js'),import('../../components/HelpPanel.js')]);expect(_0x3c91ec['AgentSwitcher'])['toBeDefined'](),expect(_0x1a3a1e['AgentCreator'])[_0x4c1163(0x11d)](),expect(_0x569381['SettingsPanel'])['toBeDefined'](),expect(_0x51b5f5['SearchPanel'])[_0x4c1163(0x11d)](),expect(_0x409ec8['HelpPanel'])['toBeDefined']();}),test('Layout\x20component\x20still\x20loads\x20after\x20Phase\x2010\x20additions',async()=>{const _0x21cfa0=a0_0x5aee,{Layout:_0xa91ee3}=await import(_0x21cfa0(0xf3));expect(_0xa91ee3)['toBeDefined'](),expect(typeof _0xa91ee3)['toBe']('function');}),test(_0x5a99a9(0x102),async()=>{const _0x16fad9=_0x5a99a9,_0x7ed59a=await import('react'),_0x3af13b=await import(_0x16fad9(0x111));expect(_0x7ed59a[_0x16fad9(0x101)])[_0x16fad9(0x11d)](),expect(_0x7ed59a['useState'])['toBeDefined'](),expect(_0x3af13b[_0x16fad9(0xfa)])['toBeDefined'](),expect(_0x3af13b[_0x16fad9(0x121)])[_0x16fad9(0x11d)](),expect(_0x3af13b[_0x16fad9(0x10c)])[_0x16fad9(0x11d)]();});}),describe('Phase\x2010\x20-\x20Component\x20Constants\x20and\x20Configurations',()=>{const _0x3d86f7=a0_0x231ecd;test(_0x3d86f7(0xfd),async()=>{const _0x5eee77=_0x3d86f7,module=await import('../../components/AgentCreator.js');expect(module[_0x5eee77(0xf7)])[_0x5eee77(0x11d)]();}),test('SettingsPanel\x20defines\x20category\x20constants',async()=>{const _0x48dd2a=_0x3d86f7,module=await import('../../components/SettingsPanel.js');expect(module[_0x48dd2a(0xf6)])['toBeDefined']();}),test(_0x3d86f7(0x114),async()=>{const _0x4b61af=_0x3d86f7,module=await import(_0x4b61af(0x113));expect(module['HelpPanel'])[_0x4b61af(0x11d)]();});}),describe('Phase\x2010\x20-\x20All\x20Components\x20Export\x20Correctly',()=>{test('All components can be imported together without conflicts',async()=>{const _0x43be5a=a0_0x5aee,_0x3812fc=await Promise['all']([import('../../components/AgentSwitcher.js'),import('../../components/AgentCreator.js'),import(_0x43be5a(0xf9)),import('../../components/SearchPanel.js'),import(_0x43be5a(0x113))]),_0x52bf80=_0x3812fc[_0x43be5a(0x109)](_0x537601=>Object['keys'](_0x537601)[0x0]),_0xab35de=new Set(_0x52bf80);expect(_0xab35de[_0x43be5a(0x106)])['toBe'](_0x52bf80[_0x43be5a(0xfe)]);});});
|
|
@@ -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
|
+
const a0_0xba9125=a0_0x2d61;(function(_0x29cc5c,_0x4d6e61){const _0x37c39b=a0_0x2d61,_0x28b887=_0x29cc5c();while(!![]){try{const _0x1d2f49=-parseInt(_0x37c39b(0xb4))/0x1*(parseInt(_0x37c39b(0xde))/0x2)+parseInt(_0x37c39b(0xc1))/0x3*(parseInt(_0x37c39b(0xd5))/0x4)+parseInt(_0x37c39b(0xce))/0x5*(parseInt(_0x37c39b(0xe1))/0x6)+parseInt(_0x37c39b(0xc5))/0x7+-parseInt(_0x37c39b(0xea))/0x8+-parseInt(_0x37c39b(0xd3))/0x9*(parseInt(_0x37c39b(0xb1))/0xa)+-parseInt(_0x37c39b(0xb7))/0xb*(-parseInt(_0x37c39b(0xbb))/0xc);if(_0x1d2f49===_0x4d6e61)break;else _0x28b887['push'](_0x28b887['shift']());}catch(_0x4d8a87){_0x28b887['push'](_0x28b887['shift']());}}}(a0_0x42c4,0xa0fdd));function a0_0x2d61(_0x4a9e79,_0x9e8e1e){_0x4a9e79=_0x4a9e79-0xae;const _0x42c45b=a0_0x42c4();let _0x2d61b6=_0x42c45b[_0x4a9e79];if(a0_0x2d61['CNNEAQ']===undefined){var _0x367096=function(_0x38f8fe){const _0x2d8979='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa3fb59='',_0x37b296='';for(let _0x2816f9=0x0,_0x444184,_0x469a88,_0x9105e=0x0;_0x469a88=_0x38f8fe['charAt'](_0x9105e++);~_0x469a88&&(_0x444184=_0x2816f9%0x4?_0x444184*0x40+_0x469a88:_0x469a88,_0x2816f9++%0x4)?_0xa3fb59+=String['fromCharCode'](0xff&_0x444184>>(-0x2*_0x2816f9&0x6)):0x0){_0x469a88=_0x2d8979['indexOf'](_0x469a88);}for(let _0x1c8a47=0x0,_0x4668d6=_0xa3fb59['length'];_0x1c8a47<_0x4668d6;_0x1c8a47++){_0x37b296+='%'+('00'+_0xa3fb59['charCodeAt'](_0x1c8a47)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37b296);};a0_0x2d61['vwcLZp']=_0x367096,a0_0x2d61['lxwmJY']={},a0_0x2d61['CNNEAQ']=!![];}const _0x323884=_0x42c45b[0x0],_0x4bc4fd=_0x4a9e79+_0x323884,_0x51d54d=a0_0x2d61['lxwmJY'][_0x4bc4fd];return!_0x51d54d?(_0x2d61b6=a0_0x2d61['vwcLZp'](_0x2d61b6),a0_0x2d61['lxwmJY'][_0x4bc4fd]=_0x2d61b6):_0x2d61b6=_0x51d54d,_0x2d61b6;}import{describe,test,expect}from'@jest/globals';function a0_0x42c4(){const _0x4c24a8=['tuLduK9tt0zu','Bg9JywXOB3n0','B3bLBMfP','v2vIu29JA2v0twfUywDLCG','zMLSDgvY','zNvUy3rPB24','DxnLqwDLBNrdB250CM9S','yw50AhjVCgLJ','nZGXnZCXmK9kzfbPua','q0Hbva','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','u2vZC2LVBK1HBMfNzxi','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','revfufnfruS','oMfNzw50swq','z3b0ltq','zgvLChnLzwS','zgvMyxvSDa','teXnig1VzgvSCYbLBMrWB2LUDcbLEgLZDhm','mtaWDeH4qu5Z','Dg9czurLzMLUzwq','tu9eruXFq0furuDpuLKGAw5JBhvKzxmGBwfQB3iGteXnihbYB3zPzgvYCW','mLn5wgvctW','t1jdsevtvfjbve9s','BwLJCM9ZB2z0','ndGYour4rvnfBa','qwDLBNqGBw9KzsbLBMrWB2LUDhmGzM9SBg93ifjfu1rMDwWGCgf0DgvYBG','twvZC2fNzvjVDxrLCIbOyxmGBw9KzsbJAgfUz2uGzxzLBNqGAgfUzgXLCIbYzwDPC3rLCMvK','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','odm3nMPMvgnpuW','quDftLrtx01prevFr0vu','tw9KzsbHBMqGBw9KzwWGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','twvZC2fNzvjVDxrLCG','qu5usfjpueLd','qvbjx0vorfbpsu5uuW','mtmYnZG5uKnyC2jK','ywDLBNrFBw9Kzv9JAgfUz2vK','quDftLrFtu9erv9dsefor0ve','DxnLqwDLBNrdB250CM9SigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','nZq4ndqZnxvYDNzjBW','lI4VlI4VyxbPl3nLC3nPB24UANm','Dg9czq','tu9eruXFq0furuDpuLKGy2fUigjLihvZzwqGDg8GzMLSDgvYig1VzgvSCYbIEsbJyxrLz29YEq','y2XHDwrLltmTns1ZB25Uzxq','BgvUz3rO','tu9eruXFq0furuDpuLKGy29UC3rHBNrZigfYzsbKzwzPBMvK','AgfZsgfUzgXLCG','Dg9nyxrJAa','mJbNsKjru0K','quDftLrFtu9ersb2ywX1zxmGyxjLihvWCgvYy2fZzq','zgvLChnLzwSTy2HHDa','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','quDftLrFtu9ersbZDxbWB3j0CYb0B2DNBgLUzYbIzxr3zwvUig1VzgvZ','mJa0ndG5r0rZsLLZ','A2v5CW','odHSq05iDhi','qwDLBNqGq29UDhjVBcbnyw5Hz2vTzw50ic0Gtw9KzwWGrMLSDgvYAw5N','quDftLq','quDftLrFtu9erq','t1bftKfj','teXnx01prevmuW','Dg9vChbLCKnHC2u','y2f0zwDVCNK','l2fWAs9SBg0VBw9KzwXZ','nti0mtq0DvjPsxfX','Dg9dB250ywLU','quDftLrtx01prevFu0vu','ntC4nJrxEw5dC2W'];a0_0x42c4=function(){return _0x4c24a8;};return a0_0x42c4();}describe(a0_0xba9125(0xd1),()=>{test('useAgentControl hook can be imported',async()=>{const _0x50df8f=a0_0x2d61,{useAgentControl:_0xa3fb59}=await import(_0x50df8f(0xee));expect(_0xa3fb59)['toBeDefined'](),expect(typeof _0xa3fb59)[_0x50df8f(0xc7)]('function');}),test('useAgentControl is default export',async()=>{const _0x4ba169=a0_0x2d61,module=await import('../../state/useAgentControl.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x4ba169(0xaf)])['toBe'](_0x4ba169(0xe7)),expect(module[_0x4ba169(0xaf)])['toBe'](module[_0x4ba169(0xe8)]);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants',()=>{const _0x706fc2=a0_0xba9125;test('AGENT_MODE\x20constants\x20are\x20defined',async()=>{const _0x33a912=a0_0x2d61,{AGENT_MODE:_0x37b296}=await import('../../config/constants.js');expect(_0x37b296)['toBeDefined'](),expect(_0x37b296[_0x33a912(0xeb)])['toBe'](_0x33a912(0xeb)),expect(_0x37b296['AGENT'])[_0x33a912(0xc7)]('AGENT');}),test(_0x706fc2(0xcb),async()=>{const _0xb08e5=_0x706fc2,{MODEL_CATEGORY:_0x2816f9}=await import(_0xb08e5(0xec));expect(_0x2816f9)['toBeDefined'](),expect(_0x2816f9[_0xb08e5(0xbf)])[_0xb08e5(0xc7)](_0xb08e5(0xe9)),expect(_0x2816f9[_0xb08e5(0xd9)])[_0xb08e5(0xc7)](_0xb08e5(0xe4)),expect(_0x2816f9['DEEPSEEK'])['toBe']('deepseek'),expect(_0x2816f9['MICROSOFT'])['toBe'](_0xb08e5(0xb6));}),test(_0x706fc2(0xbd),async()=>{const _0x261dd7=_0x706fc2,{API_ENDPOINTS:_0x444184}=await import('../../config/constants.js');expect(_0x444184[_0x261dd7(0xe0)])['toBe']('/api/agents/:agentId/mode'),expect(_0x444184[_0x261dd7(0xbc)])['toBe']('/api/agents/:agentId/mode'),expect(_0x444184[_0x261dd7(0xda)])[_0x261dd7(0xc7)]('/api/llm/models');}),test('WS_MESSAGE_TYPE\x20includes\x20mode\x20and\x20model\x20change\x20events',async()=>{const _0x57f9c3=_0x706fc2,{WS_MESSAGE_TYPE:_0x469a88}=await import(_0x57f9c3(0xec));expect(_0x469a88)[_0x57f9c3(0xb2)](),expect(_0x469a88['AGENT_MODE_CHANGED'])['toBe'](_0x57f9c3(0xc2));});}),describe('Agent\x20Control\x20Management\x20-\x20Integration',()=>{const _0x1b6f8d=a0_0xba9125;test(_0x1b6f8d(0xc4),async()=>{const _0x2babdc=_0x1b6f8d,{useAgentControl:_0x9105e}=await import('../../state/useAgentControl.js'),{SessionManager:_0x1c8a47}=await import('../../api/session.js'),{MessageRouter:_0x4668d6}=await import(_0x2babdc(0xba)),{WebSocketManager:_0x5afa71}=await import('../../api/websocket.js'),_0x5a50b9=new _0x1c8a47(_0x2babdc(0xe3),0x1f90),_0x52a7a8=new _0x5afa71(_0x2babdc(0xe3),0x1f90),_0x547a31=new _0x4668d6(_0x52a7a8);expect(_0x5a50b9)['toBeDefined'](),expect(_0x547a31)[_0x2babdc(0xb2)](),expect(typeof _0x9105e)['toBe']('function');}),test('Full agent control stack can be imported together',async()=>{const _0x399fb0=_0x1b6f8d,[_0x1c1af7,_0x2016bd,_0x16d18f,_0x34d3e7,_0x654497]=await Promise['all']([import('../../config/constants.js'),import(_0x399fb0(0xc6)),import('../../api/websocket.js'),import(_0x399fb0(0xba)),import(_0x399fb0(0xee))]);expect(_0x1c1af7[_0x399fb0(0xd8)])['toBeDefined'](),expect(_0x1c1af7['MODEL_CATEGORY'])['toBeDefined'](),expect(_0x1c1af7[_0x399fb0(0xc0)])['toBeDefined'](),expect(_0x2016bd[_0x399fb0(0xed)])['toBeDefined'](),expect(_0x16d18f[_0x399fb0(0xe5)])['toBeDefined'](),expect(_0x34d3e7[_0x399fb0(0xbe)])[_0x399fb0(0xb2)](),expect(_0x654497[_0x399fb0(0xe8)])['toBeDefined']();});}),describe('Agent\x20Control\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x209348=a0_0xba9125;test(_0x209348(0xb8),async()=>{const _0x556980=_0x209348,{API_ENDPOINTS:_0x2148ed}=await import('../../config/constants.js');expect(_0x2148ed[_0x556980(0xe0)])[_0x556980(0xcd)](/^\/api\/agents/),expect(_0x2148ed[_0x556980(0xbc)])[_0x556980(0xcd)](/^\/api\/agents/),expect(_0x2148ed[_0x556980(0xe0)])['toContain'](':agentId'),expect(_0x2148ed['AGENTS_MODE_GET'])[_0x556980(0xdf)](_0x556980(0xf0));}),test(_0x209348(0xb0),async()=>{const _0x4eb065=_0x209348,{API_ENDPOINTS:_0x421937}=await import(_0x4eb065(0xec));expect(_0x421937[_0x4eb065(0xda)])[_0x4eb065(0xb2)](),expect(_0x421937['LLM_MODELS'])[_0x4eb065(0xc7)](_0x4eb065(0xdd));}),test('Orchestrator\x20endpoint\x20exists\x20for\x20model\x20and\x20config\x20operations',async()=>{const _0x5d05b9=_0x209348,{API_ENDPOINTS:_0x3d5978}=await import(_0x5d05b9(0xec));expect(_0x3d5978[_0x5d05b9(0xb5)])['toBeDefined'](),expect(_0x3d5978['ORCHESTRATOR'])['toBe']('/api/orchestrator');});}),describe('Agent\x20Control\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{test('useAgentControl\x20returns\x20expected\x20interface\x20shape',async()=>{const {useAgentControl:_0x48a244}=await import('../../state/useAgentControl.js');expect(_0x48a244['length'])['toBe'](0x3);});}),describe('Agent\x20Control\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x56cc5e=a0_0xba9125;test('AGENT_MODE\x20has\x20exactly\x20two\x20modes',async()=>{const _0x15d10=a0_0x2d61,{AGENT_MODE:_0x4c18f8}=await import(_0x15d10(0xec)),_0x401563=Object[_0x15d10(0xd4)](_0x4c18f8);expect(_0x401563['length'])[_0x15d10(0xc7)](0x2),expect(_0x401563)[_0x15d10(0xdf)]('CHAT'),expect(_0x401563)[_0x15d10(0xdf)]('AGENT');}),test(_0x56cc5e(0xcf),async()=>{const _0x581f43=_0x56cc5e,{AGENT_MODE:_0x3f6d16}=await import('../../config/constants.js');expect(_0x3f6d16[_0x581f43(0xeb)])['toBe'](_0x581f43(0xeb)),expect(_0x3f6d16['AGENT'])['toBe'](_0x581f43(0xd7)),expect(_0x3f6d16[_0x581f43(0xeb)])['toBe'](_0x3f6d16['CHAT'][_0x581f43(0xdb)]()),expect(_0x3f6d16['AGENT'])[_0x581f43(0xc7)](_0x3f6d16[_0x581f43(0xd7)][_0x581f43(0xdb)]());}),test('MODEL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x5781d6=_0x56cc5e,{MODEL_CATEGORY:_0x260d5c}=await import('../../config/constants.js');expect(_0x260d5c[_0x5781d6(0xbf)])['toBe'](_0x5781d6(0xe9)),expect(_0x260d5c[_0x5781d6(0xd9)])['toBe']('openai'),expect(_0x260d5c['DEEPSEEK'])[_0x5781d6(0xc7)](_0x5781d6(0xae)),expect(_0x260d5c[_0x5781d6(0xe2)])['toBe']('microsoft'),expect(_0x260d5c['ANTHROPIC'])['toBe'](_0x260d5c['ANTHROPIC']['toLowerCase']()),expect(_0x260d5c['OPENAI'])['toBe'](_0x260d5c['OPENAI']['toLowerCase']());}),test(_0x56cc5e(0xb3),async()=>{const _0x5e9fd6=_0x56cc5e,{MODEL_CATEGORY:_0x14c5f6}=await import(_0x5e9fd6(0xec)),_0x108282=Object[_0x5e9fd6(0xd4)](_0x14c5f6);expect(_0x108282)[_0x5e9fd6(0xdf)](_0x5e9fd6(0xbf)),expect(_0x108282)['toContain'](_0x5e9fd6(0xd9)),expect(_0x108282)[_0x5e9fd6(0xdf)](_0x5e9fd6(0xef)),expect(_0x108282)[_0x5e9fd6(0xdf)](_0x5e9fd6(0xe2));});}),describe('Agent\x20Control\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{const _0x42cafe=a0_0xba9125;test(_0x42cafe(0xb9),async()=>{const _0x218133=_0x42cafe,{MessageRouter:_0xafb3fa}=await import(_0x218133(0xba)),{WebSocketManager:_0x5674ae}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x4ea2b8}=await import(_0x218133(0xec)),_0x4ebece=new _0x5674ae(_0x218133(0xe3),0x1f90),_0x589b33=new _0xafb3fa(_0x4ebece);expect(_0x589b33[_0x218133(0xcc)](_0x4ea2b8[_0x218133(0xc3)]))['toBe'](!![]);});}),describe('Agent\x20Control\x20Management\x20-\x20Mode\x20Switching\x20Logic',()=>{const _0x52d4ac=a0_0xba9125;test(_0x52d4ac(0xd2),async()=>{const _0x1d0dc9=_0x52d4ac,{AGENT_MODE:_0x2cf1ed}=await import(_0x1d0dc9(0xec));let _0x4f1fdb=_0x2cf1ed['CHAT'],_0x5832de=_0x4f1fdb===_0x2cf1ed['CHAT']?_0x2cf1ed[_0x1d0dc9(0xd7)]:_0x2cf1ed['CHAT'];expect(_0x5832de)['toBe'](_0x2cf1ed['AGENT']),_0x4f1fdb=_0x2cf1ed[_0x1d0dc9(0xd7)],_0x5832de=_0x4f1fdb===_0x2cf1ed['CHAT']?_0x2cf1ed[_0x1d0dc9(0xd7)]:_0x2cf1ed['CHAT'],expect(_0x5832de)['toBe'](_0x2cf1ed[_0x1d0dc9(0xeb)]);});}),describe(a0_0xba9125(0xd6),()=>{const _0xd88d70=a0_0xba9125;test(_0xd88d70(0xc8),async()=>{const _0x10b792=_0xd88d70,{MODEL_CATEGORY:_0x222a71}=await import(_0x10b792(0xec)),_0x2e8745=[{'id':_0x10b792(0xc9),'category':_0x222a71['ANTHROPIC']},{'id':'gpt-4','category':_0x222a71['OPENAI']},{'id':_0x10b792(0xd0),'category':_0x222a71[_0x10b792(0xef)]}],_0x481ec4=_0x2e8745['filter'](_0x6aa5c4=>_0x6aa5c4[_0x10b792(0xdc)]===_0x222a71['ANTHROPIC']),_0x4a40ea=_0x2e8745[_0x10b792(0xe6)](_0x1dad14=>_0x1dad14[_0x10b792(0xdc)]===_0x222a71[_0x10b792(0xd9)]);expect(_0x481ec4[_0x10b792(0xca)])[_0x10b792(0xc7)](0x1),expect(_0x481ec4[0x0]['id'])['toBe'](_0x10b792(0xc9)),expect(_0x4a40ea[_0x10b792(0xca)])['toBe'](0x1),expect(_0x4a40ea[0x0]['id'])['toBe'](_0x10b792(0xf1));});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x295a(_0x190dee,_0x5b7097){_0x190dee=_0x190dee-0x92;const _0x11db16=a0_0x11db();let _0x295a07=_0x11db16[_0x190dee];if(a0_0x295a['kHLuwb']===undefined){var _0x34f53e=function(_0x9c6bf5){const _0x58c8b7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52648e='',_0x1f2898='';for(let _0x5a0376=0x0,_0x2b8137,_0x3903b3,_0x3e1260=0x0;_0x3903b3=_0x9c6bf5['charAt'](_0x3e1260++);~_0x3903b3&&(_0x2b8137=_0x5a0376%0x4?_0x2b8137*0x40+_0x3903b3:_0x3903b3,_0x5a0376++%0x4)?_0x52648e+=String['fromCharCode'](0xff&_0x2b8137>>(-0x2*_0x5a0376&0x6)):0x0){_0x3903b3=_0x58c8b7['indexOf'](_0x3903b3);}for(let _0x95cf50=0x0,_0x4b9429=_0x52648e['length'];_0x95cf50<_0x4b9429;_0x95cf50++){_0x1f2898+='%'+('00'+_0x52648e['charCodeAt'](_0x95cf50)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2898);};a0_0x295a['WUxeLb']=_0x34f53e,a0_0x295a['nKxEwG']={},a0_0x295a['kHLuwb']=!![];}const _0xd71b8d=_0x11db16[0x0],_0x5ab1b8=_0x190dee+_0xd71b8d,_0x2e093d=a0_0x295a['nKxEwG'][_0x5ab1b8];return!_0x2e093d?(_0x295a07=a0_0x295a['WUxeLb'](_0x295a07),a0_0x295a['nKxEwG'][_0x5ab1b8]=_0x295a07):_0x295a07=_0x2e093d,_0x295a07;}const a0_0x272701=a0_0x295a;(function(_0x3e1476,_0x5115d4){const _0x435f83=a0_0x295a,_0x5136eb=_0x3e1476();while(!![]){try{const _0x4dfdfb=-parseInt(_0x435f83(0xa4))/0x1*(-parseInt(_0x435f83(0xa9))/0x2)+parseInt(_0x435f83(0x9b))/0x3*(-parseInt(_0x435f83(0x9a))/0x4)+-parseInt(_0x435f83(0xc1))/0x5*(parseInt(_0x435f83(0x9f))/0x6)+parseInt(_0x435f83(0xa1))/0x7*(parseInt(_0x435f83(0xb2))/0x8)+parseInt(_0x435f83(0xb0))/0x9*(-parseInt(_0x435f83(0xa5))/0xa)+-parseInt(_0x435f83(0xc6))/0xb*(-parseInt(_0x435f83(0x92))/0xc)+parseInt(_0x435f83(0x9d))/0xd*(-parseInt(_0x435f83(0xc8))/0xe);if(_0x4dfdfb===_0x5115d4)break;else _0x5136eb['push'](_0x5136eb['shift']());}catch(_0x229068){_0x5136eb['push'](_0x5136eb['shift']());}}}(a0_0x11db,0x4cfdc));import{describe,test,expect}from'@jest/globals';function a0_0x11db(){const _0x5ae818=['mtmWmtvxzfHuqvK','l2fWAs9Hz2vUDhmVyxzHAwXHyMXL','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','quDftLrtx01prevFr0vu','quDftLrtx0fwquLmqujmrq','mJi5mtKWnxHRqLL5yq','yxjJAgL2zwq','mtrKzxzJrxq','quDftLrtx0Lnue9sva','DxnLqwDLBNrZ','mZz5txPKAum','Dg9czurLzMLUzwq','qwDLBNqGqvbjigvUzhbVAw50CYbHCMuGzgvMAw5Lza','quDftLrtx1nut1a','Dg9dB250ywLU','DxnLqwDLBNrZigHVB2SGAw50zwDYyxrLCYb3AxrOifnLC3nPB24Gyw5Kie1LC3nHz2vsB3v0zxi','qwDLBNqGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','l2fWAs9Hz2vUDhmVoMfNzw50swqVBw9Kzq','ngjpzwnqBa','oti3odDZCLHADhC','uefvu0ve','mJy1nZC1ovD4vxfOra','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','nZa4qwnVvKTI','Dg9nyxrJAa','mtK1mdLXwLbOrKy','qwDLBNqGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','qvjdseLwruq','mJu2mJLRu2ncAMO','ntGWmZi3meXZqK5vuq','Dg9czq','q09esu5hx0ftu0Ltvefova','qwDLBNqGtwfUywDLBwvUDcaTienVBNn0yw50CW','mtH3t3byqKi','l2fWAs9VCMnOzxn0CMf0B3i','qunusvzf','zgf0ys1HBMfSExn0','zNvUy3rPB24','zgvMyxvSDa','t3jJAgvZDhjHDg9YigvUzhbVAw50igv4Axn0CYbMB3iGywDLBNqGB3bLCMf0Aw9UCW','ow1xtNH5ta','y3vZDg9T','mty3mLzPsg9svq','q1jfqvrjvKvFv1jjvevs','oMfNzw50swq','quDftLrtx01prevFu0vu','l2fWAs9Hz2vUDhmVoMfNzw50swqVBwv0ywrHDge','quDftLrtx01fvefeqvrb','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','ywXS','zxjYB3i','quDftLrFtu9erq','surmrq','y29KAw5NlwfZC2LZDgfUDa','quDftLq','l2fWAs9Hz2vUDhmVoMfNzw50swqVC3rVCa','quDftLrFtu9ersbJB25ZDgfUDhmGyxjLigrLzMLUzwq'];a0_0x11db=function(){return _0x5ae818;};return a0_0x11db();}describe('Agent\x20Management\x20-\x20Imports',()=>{test('useAgents hook can be imported',async()=>{const _0x46878c=a0_0x295a,{useAgents:_0x52648e}=await import(_0x46878c(0x9e));expect(_0x52648e)[_0x46878c(0x93)](),expect(typeof _0x52648e)[_0x46878c(0xa6)](_0x46878c(0xad));}),test('useAgents is default export',async()=>{const _0x53ada2=a0_0x295a,module=await import('../../state/useAgents.js');expect(module['default'])[_0x53ada2(0x93)](),expect(typeof module[_0x53ada2(0xae)])[_0x53ada2(0xa6)](_0x53ada2(0xad)),expect(module['default'])['toBe'](module['useAgents']);});}),describe(a0_0x272701(0xa8),()=>{const _0x15623a=a0_0x272701;test(_0x15623a(0xc0),async()=>{const _0x3d2451=_0x15623a,{AGENT_MODE:_0x1f2898}=await import(_0x3d2451(0xb8));expect(_0x1f2898)[_0x3d2451(0x93)](),expect(_0x1f2898['CHAT'])['toBe']('CHAT'),expect(_0x1f2898[_0x3d2451(0xbe)])['toBe'](_0x3d2451(0xbe));}),test('AGENT_STATUS\x20constants\x20are\x20defined',async()=>{const _0x20a1d8=_0x15623a,{AGENT_STATUS:_0x5a0376}=await import(_0x20a1d8(0xb8));expect(_0x5a0376)[_0x20a1d8(0x93)](),expect(_0x5a0376[_0x20a1d8(0xab)])[_0x20a1d8(0xa6)]('active'),expect(_0x5a0376[_0x20a1d8(0x9c)])['toBe']('paused'),expect(_0x5a0376[_0x20a1d8(0xbc)])[_0x20a1d8(0xa6)]('idle'),expect(_0x5a0376['ERROR'])['toBe'](_0x20a1d8(0xba)),expect(_0x5a0376[_0x20a1d8(0xa3)])['toBe'](_0x20a1d8(0xc7));}),test(_0x15623a(0x94),async()=>{const _0x1efb42=_0x15623a,{API_ENDPOINTS:_0x2b8137}=await import(_0x1efb42(0xb8));expect(_0x2b8137[_0x1efb42(0xc5)])[_0x1efb42(0xa6)](_0x1efb42(0xc2)),expect(_0x2b8137['AGENTS_METADATA'])['toBe'](_0x1efb42(0xb6)),expect(_0x2b8137[_0x1efb42(0xc9)])['toBe']('/api/agents/import'),expect(_0x2b8137['AGENTS_MODE_SET'])[_0x1efb42(0xa6)](_0x1efb42(0x99)),expect(_0x2b8137[_0x1efb42(0xc4)])[_0x1efb42(0xa6)]('/api/agents/:agentId/mode'),expect(_0x2b8137['AGENTS_STOP'])[_0x1efb42(0xa6)](_0x1efb42(0xbf));}),test('AGENT_TEMPLATES\x20constants\x20are\x20defined',async()=>{const _0x7d0dc2=_0x15623a,{AGENT_TEMPLATES:_0x3903b3}=await import('../../config/constants.js');expect(_0x3903b3)['toBeDefined'](),expect(_0x3903b3[_0x7d0dc2(0xa7)])['toBe'](_0x7d0dc2(0xbd)),expect(_0x3903b3['DATA_ANALYST'])['toBe'](_0x7d0dc2(0xac)),expect(_0x3903b3[_0x7d0dc2(0xb3)])[_0x7d0dc2(0xa6)]('creative-writer'),expect(_0x3903b3['SYSTEM_ADMINISTRATOR'])['toBe']('system-administrator'),expect(_0x3903b3['CUSTOM'])[_0x7d0dc2(0xa6)](_0x7d0dc2(0xb1));});}),describe(a0_0x272701(0xa2),()=>{const _0x3e3e3e=a0_0x272701;test(_0x3e3e3e(0x97),async()=>{const _0x55e083=_0x3e3e3e,{useAgents:_0x3e1260}=await import('../../state/useAgents.js'),{SessionManager:_0x95cf50}=await import('../../api/session.js'),{MessageRouter:_0x4b9429}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2f68ea}=await import(_0x55e083(0xc3)),_0x4e4f04=new _0x95cf50('localhost',0x1f90),_0x5d50e3=new _0x2f68ea('localhost',0x1f90),_0x1d335d=new _0x4b9429(_0x5d50e3);expect(_0x4e4f04)['toBeDefined'](),expect(_0x1d335d)['toBeDefined'](),expect(typeof _0x3e1260)[_0x55e083(0xa6)]('function');}),test('Full agent management stack can be imported together',async()=>{const _0x32fcca=_0x3e3e3e,[_0x9daceb,_0x43f981,_0x323958,_0x128fad,_0x442434]=await Promise[_0x32fcca(0xb9)]([import('../../config/constants.js'),import('../../api/session.js'),import('../../api/websocket.js'),import('../../api/messageRouter.js'),import('../../state/useAgents.js')]);expect(_0x9daceb[_0x32fcca(0xbb)])['toBeDefined'](),expect(_0x43f981['SessionManager'])['toBeDefined'](),expect(_0x323958['WebSocketManager'])['toBeDefined'](),expect(_0x128fad['MessageRouter'])['toBeDefined'](),expect(_0x442434[_0x32fcca(0xca)])[_0x32fcca(0x93)]();});}),describe(a0_0x272701(0x98),()=>{const _0x58bab7=a0_0x272701;test('All\x20agent\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0xdac964=a0_0x295a,{API_ENDPOINTS:_0x4aad9d}=await import('../../config/constants.js');expect(_0x4aad9d['AGENTS_AVAILABLE'])['toMatch'](/^\/api\/agents/),expect(_0x4aad9d['AGENTS_METADATA'])['toMatch'](/^\/api\/agents/),expect(_0x4aad9d['AGENTS_IMPORT'])[_0xdac964(0xa0)](/^\/api\/agents/),expect(_0x4aad9d[_0xdac964(0xb5)])['toMatch'](/^\/api\/agents/),expect(_0x4aad9d[_0xdac964(0xc4)])[_0xdac964(0xa0)](/^\/api\/agents/),expect(_0x4aad9d['AGENTS_STOP'])['toMatch'](/^\/api\/agents/),expect(_0x4aad9d[_0xdac964(0xb7)])['toContain'](_0xdac964(0xb4)),expect(_0x4aad9d['AGENTS_MODE_SET'])[_0xdac964(0x96)](':agentId'),expect(_0x4aad9d[_0xdac964(0xc4)])[_0xdac964(0x96)](_0xdac964(0xb4)),expect(_0x4aad9d[_0xdac964(0x95)])[_0xdac964(0x96)](_0xdac964(0xb4));}),test(_0x58bab7(0xaf),async()=>{const _0x11fb69=_0x58bab7,{API_ENDPOINTS:_0x2b9c68}=await import('../../config/constants.js');expect(_0x2b9c68['ORCHESTRATOR'])[_0x11fb69(0x93)](),expect(_0x2b9c68['ORCHESTRATOR'])['toBe'](_0x11fb69(0xaa));});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x54a0(){const _0xc482af=['mtGXndqXmeLOzKHKwq','lI4VlI4VC3rHDguVDxnLqwDLBNrZlMPZ','DxnLrwzMzwn0','zgvMyxvSDa','zNvUy3rPB24','sgvHzgvY','lI4VlI4VC3rHDguVDxnLqwDLBNrdB250CM9SlMPZ','Dg9czurLzMLUzwq','nwfAyufqzq','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW','mJyYmJq5ogjqyKrWva','mK9OEePPsW','mZC3nZCZsxroC0HQ','nti3oda5AM5LvLbQ','mtHNsND5B1C','mtKZnJeXnZn3zgjNAMO','lI4VlI4Vy29TCg9Uzw50CY9myxLVDxqUANm','nJe5ntzmshr4qMq','Dg9czq','u3rHDhvZqMfY','tgf5B3v0','mJa0AxDotMTW','mZLtqxbtq00','CMvHy3q','lI4VlI4Vy29TCg9Uzw50CY9nzxnZywDLtgLZDc5QCW','mtrxt2z0r0K','twvZC2fNzuXPC3q','Aw5R','q29TCg9Uzw50ie1HBMfNzw1LBNqGlsbjBxbVCNrZ','lI4VlI4Vy29TCg9Uzw50CY9tDgf0DxncyxiUANm','mZmXmtC2uxD3vufY','lI4VlI4Vy29TCg9Uzw50CY9izwfKzxiUANm'];a0_0x54a0=function(){return _0xc482af;};return a0_0x54a0();}function a0_0x1ec1(_0x5029e5,_0x173bbb){_0x5029e5=_0x5029e5-0x14e;const _0x54a068=a0_0x54a0();let _0x1ec127=_0x54a068[_0x5029e5];if(a0_0x1ec1['hJEbdv']===undefined){var _0x415345=function(_0x5cd3fd){const _0x55ebd2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x381436='',_0x26f7c7='';for(let _0x49393a=0x0,_0x14de89,_0x222be4,_0x6b2963=0x0;_0x222be4=_0x5cd3fd['charAt'](_0x6b2963++);~_0x222be4&&(_0x14de89=_0x49393a%0x4?_0x14de89*0x40+_0x222be4:_0x222be4,_0x49393a++%0x4)?_0x381436+=String['fromCharCode'](0xff&_0x14de89>>(-0x2*_0x49393a&0x6)):0x0){_0x222be4=_0x55ebd2['indexOf'](_0x222be4);}for(let _0x1735e0=0x0,_0xbd73a9=_0x381436['length'];_0x1735e0<_0xbd73a9;_0x1735e0++){_0x26f7c7+='%'+('00'+_0x381436['charCodeAt'](_0x1735e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26f7c7);};a0_0x1ec1['EUsqiG']=_0x415345,a0_0x1ec1['vQvvtb']={},a0_0x1ec1['hJEbdv']=!![];}const _0x506c3e=_0x54a068[0x0],_0x222312=_0x5029e5+_0x506c3e,_0x3138f5=a0_0x1ec1['vQvvtb'][_0x222312];return!_0x3138f5?(_0x1ec127=a0_0x1ec1['EUsqiG'](_0x1ec127),a0_0x1ec1['vQvvtb'][_0x222312]=_0x1ec127):_0x1ec127=_0x3138f5,_0x1ec127;}const a0_0x33e7cf=a0_0x1ec1;(function(_0x344f73,_0x470b45){const _0xe5a336=a0_0x1ec1,_0x4d3418=_0x344f73();while(!![]){try{const _0xbfc2c5=parseInt(_0xe5a336(0x166))/0x1*(-parseInt(_0xe5a336(0x164))/0x2)+-parseInt(_0xe5a336(0x14f))/0x3*(parseInt(_0xe5a336(0x16a))/0x4)+-parseInt(_0xe5a336(0x161))/0x5*(parseInt(_0xe5a336(0x163))/0x6)+parseInt(_0xe5a336(0x152))/0x7*(-parseInt(_0xe5a336(0x157))/0x8)+parseInt(_0xe5a336(0x167))/0x9*(-parseInt(_0xe5a336(0x159))/0xa)+-parseInt(_0xe5a336(0x165))/0xb*(-parseInt(_0xe5a336(0x14e))/0xc)+parseInt(_0xe5a336(0x168))/0xd;if(_0xbfc2c5===_0x470b45)break;else _0x4d3418['push'](_0x4d3418['shift']());}catch(_0x3a4641){_0x4d3418['push'](_0x4d3418['shift']());}}}(a0_0x54a0,0x709ab));import{describe,test,expect}from'@jest/globals';describe(a0_0x33e7cf(0x155),()=>{test('Layout component can be imported',async()=>{const _0x5c04c2=a0_0x1ec1,{Layout:_0x381436}=await import(_0x5c04c2(0x169));expect(_0x381436)['toBeDefined'](),expect(typeof _0x381436)['toBe'](_0x5c04c2(0x15d));}),test('Layout is default export',async()=>{const _0x2b6491=a0_0x1ec1,module=await import('../../components/Layout.js');expect(module['default'])[_0x2b6491(0x160)](),expect(typeof module[_0x2b6491(0x15c)])['toBe'](_0x2b6491(0x15d)),expect(module[_0x2b6491(0x15c)])[_0x2b6491(0x16b)](module[_0x2b6491(0x16d)]);}),test('Header component can be imported',async()=>{const {Header:_0x26f7c7}=await import('../../components/Header.js');expect(_0x26f7c7)['toBeDefined'](),expect(typeof _0x26f7c7)['toBe']('function');}),test('Header is default export',async()=>{const _0x42ed57=a0_0x1ec1,module=await import(_0x42ed57(0x158));expect(module[_0x42ed57(0x15c)])['toBeDefined'](),expect(module['default'])['toBe'](module['Header']);}),test('StatusBar component can be imported',async()=>{const _0x59da85=a0_0x1ec1,{StatusBar:_0x49393a}=await import(_0x59da85(0x156));expect(_0x49393a)[_0x59da85(0x160)](),expect(typeof _0x49393a)['toBe']('function');}),test('StatusBar is default export',async()=>{const _0x1c84e7=a0_0x1ec1,module=await import(_0x1c84e7(0x156));expect(module['default'])[_0x1c84e7(0x160)](),expect(module['default'])[_0x1c84e7(0x16b)](module[_0x1c84e7(0x16c)]);}),test('MessageList component can be imported',async()=>{const _0x59056b=a0_0x1ec1,{MessageList:_0x14de89}=await import(_0x59056b(0x151));expect(_0x14de89)['toBeDefined'](),expect(typeof _0x14de89)['toBe']('function');}),test('MessageList is default export',async()=>{const _0x55c266=a0_0x1ec1,module=await import(_0x55c266(0x151));expect(module[_0x55c266(0x15c)])[_0x55c266(0x160)](),expect(module['default'])[_0x55c266(0x16b)](module[_0x55c266(0x153)]);}),test('InputBox component can be imported',async()=>{const _0xe561ef=a0_0x1ec1,{InputBox:_0x222be4}=await import(_0xe561ef(0x162));expect(_0x222be4)['toBeDefined'](),expect(typeof _0x222be4)[_0xe561ef(0x16b)](_0xe561ef(0x15d));}),test('InputBox is default export',async()=>{const _0x5593d4=a0_0x1ec1,module=await import('../../components/InputBox.js');expect(module['default'])['toBeDefined'](),expect(module[_0x5593d4(0x15c)])['toBe'](module['InputBox']);});}),describe('Component\x20Management\x20-\x20Integration',()=>{test('All components can be imported together',async()=>{const _0x577684=a0_0x1ec1,[_0x6b2963,_0x1735e0,_0xbd73a9,_0x3765a8,_0x87ffba]=await Promise['all']([import(_0x577684(0x169)),import(_0x577684(0x158)),import(_0x577684(0x156)),import('../../components/MessageList.js'),import(_0x577684(0x162))]);expect(_0x6b2963['Layout'])[_0x577684(0x160)](),expect(_0x1735e0[_0x577684(0x15e)])[_0x577684(0x160)](),expect(_0xbd73a9[_0x577684(0x16c)])[_0x577684(0x160)](),expect(_0x3765a8['MessageList'])['toBeDefined'](),expect(_0x87ffba['InputBox'])[_0x577684(0x160)]();}),test('Layout\x20component\x20integrates\x20with\x20all\x20state\x20hooks',async()=>{const _0x28e9f0=a0_0x1ec1,{Layout:_0x45f706}=await import(_0x28e9f0(0x169)),{useConnection:_0x1bc922}=await import('../../state/useConnection.js'),{useAgents:_0x5ea32c}=await import(_0x28e9f0(0x15a)),{useMessages:_0x77f1d9}=await import('../../state/useMessages.js'),{useAgentControl:_0xcce15f}=await import(_0x28e9f0(0x15f)),{useTools:_0x1f810d}=await import('../../state/useTools.js');expect(_0x45f706)[_0x28e9f0(0x160)](),expect(_0x1bc922)[_0x28e9f0(0x160)](),expect(_0x5ea32c)[_0x28e9f0(0x160)](),expect(_0x77f1d9)[_0x28e9f0(0x160)](),expect(_0xcce15f)['toBeDefined'](),expect(_0x1f810d)[_0x28e9f0(0x160)]();});}),describe('Component\x20Management\x20-\x20React/Ink\x20Dependencies',()=>{test('Ink components can be imported',async()=>{const _0x5682d1=a0_0x1ec1,{Box:_0x1095d2,Text:_0xc8deab}=await import(_0x5682d1(0x154));expect(_0x1095d2)[_0x5682d1(0x160)](),expect(_0xc8deab)[_0x5682d1(0x160)]();}),test('React can be imported',async()=>{const _0x3ea1c4=a0_0x1ec1,_0x1cea99=await import(_0x3ea1c4(0x150));expect(_0x1cea99['default'])['toBeDefined'](),expect(_0x1cea99['useState'])[_0x3ea1c4(0x160)](),expect(_0x1cea99[_0x3ea1c4(0x15b)])['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
|
+
function a0_0x19fc(_0x3200ba,_0x244761){_0x3200ba=_0x3200ba-0x135;const _0x24458d=a0_0x2445();let _0x19fc36=_0x24458d[_0x3200ba];if(a0_0x19fc['ATSPzx']===undefined){var _0x330dcf=function(_0x406384){const _0x39fd92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3ac0dc='',_0x3552b3='';for(let _0x4e74fe=0x0,_0x58cda0,_0x2cc35a,_0x2e93d6=0x0;_0x2cc35a=_0x406384['charAt'](_0x2e93d6++);~_0x2cc35a&&(_0x58cda0=_0x4e74fe%0x4?_0x58cda0*0x40+_0x2cc35a:_0x2cc35a,_0x4e74fe++%0x4)?_0x3ac0dc+=String['fromCharCode'](0xff&_0x58cda0>>(-0x2*_0x4e74fe&0x6)):0x0){_0x2cc35a=_0x39fd92['indexOf'](_0x2cc35a);}for(let _0x2a7d5d=0x0,_0x36c0b7=_0x3ac0dc['length'];_0x2a7d5d<_0x36c0b7;_0x2a7d5d++){_0x3552b3+='%'+('00'+_0x3ac0dc['charCodeAt'](_0x2a7d5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3552b3);};a0_0x19fc['XLpmxK']=_0x330dcf,a0_0x19fc['bSBWuO']={},a0_0x19fc['ATSPzx']=!![];}const _0x3ea586=_0x24458d[0x0],_0x525709=_0x3200ba+_0x3ea586,_0x29b15b=a0_0x19fc['bSBWuO'][_0x525709];return!_0x29b15b?(_0x19fc36=a0_0x19fc['XLpmxK'](_0x19fc36),a0_0x19fc['bSBWuO'][_0x525709]=_0x19fc36):_0x19fc36=_0x29b15b,_0x19fc36;}function a0_0x2445(){const _0x16edcf=['q09otKvdveve','C3rHDhvZ','nKfMs3rPDW','tufyx0rftefz','y29UBMvJDgvK','mtmYmZiYnZDWtuXSzu8','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','q29UBMvJDgLVBIbPBMzVihnOB3vSzcbJB250ywLUigfSBcbTzxrYAwnZ','BM93','q29UBMvJDgLVBIbZDgf0DxmGDhjHBNnPDgLVBNmGzM9SBg93ihzHBgLKigzSB3C','B2zM','Dg9czu51BgW','nJq5mZmZnKXUzw5QBq','zNvUy3rPB24','qKfds09grL9nvuXusvbmsuvs','Dg9czuDYzwf0zxjuAgfU','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gu2vZC2LVBIbtDgf0zq','q09otKvdveLptL9tvefuvvmGAgfZigfSBcbYzxf1AxjLzcbZDgf0zxm','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','Dxb0Aw1L','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','u2vZC2LVBK1HBMfNzxi','DxnLq29UBMvJDgLVBIbOB29RigLUDgvNCMf0zxmGD2L0AcbtzxnZAw9UtwfUywDLCIbHBMqGv2vIu29JA2v0twfUywDLCG','q09otKvdveLptL9tvefuvvmGAxmGywXPyxmGzM9YienptK5fq1rjt05Fu1rbveu','mtK1ndmZEuzNvfPl','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gq29UBMvJDgLVBIbnzxrYAwnZ','Cg93','q09otKvdveLorW','q09otKvdveLptL9tvefuvvmGy29UC3rHBNrZigfYzsbKzwzPBMvK','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zgvMyxvSDa','su5jveLbtf9eruXbwq','Dg9czq','uMvJB25Uzwn0Aw9UihnOB3vSzcbZDg9WigfMDgvYig1HEcbHDhrLBxb0CW','y29UBMvJDgLUzW','nNzjq3DwBq','Bg9JywXOB3n0','rxHWB25LBNrPywWGyMfJA29MzIbKzwXHEsbJywXJDwXHDgLVBIb3B3jRCYbJB3jYzwn0BhK','mtbstvzntwG','uKvdt05orunusu5h','DxnLq29UBMvJDgLVBIbYzxr1CM5Zigv4CgvJDgvKigLUDgvYzMfJzsbZAgfWzq','q29UBMvJDgLVBIbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','ode3mda1u3jIug92','tufyx0fuvevnufrt','C2vZC2LVBKLK','Dg9czurLzMLUzwq','zgLZy29UBMvJDgvK','Dg9dB250ywLU','mZa1mtu3mMrisfHjtW','lI4VlI4VyxbPl3nLC3nPB24UANm','mtCXmdKYnhfqExbytG','uKvdt05orunux0nptKzjrW','DxnLq29UBMvJDgLVBG','reLtq09otKvdveve','DgvZDc1ZzxnZAw9UlteYmW','ywXS','v2vIu29JA2v0twfUywDLCG','mZu5nJuZmeXkCwz1rq'];a0_0x2445=function(){return _0x16edcf;};return a0_0x2445();}const a0_0x50c5fd=a0_0x19fc;(function(_0x4ee91b,_0xbd47f4){const _0x5ea120=a0_0x19fc,_0x35f89c=_0x4ee91b();while(!![]){try{const _0x10e317=-parseInt(_0x5ea120(0x142))/0x1*(parseInt(_0x5ea120(0x167))/0x2)+parseInt(_0x5ea120(0x15d))/0x3+parseInt(_0x5ea120(0x15b))/0x4+-parseInt(_0x5ea120(0x155))/0x5*(parseInt(_0x5ea120(0x14e))/0x6)+parseInt(_0x5ea120(0x164))/0x7+parseInt(_0x5ea120(0x136))/0x8+-parseInt(_0x5ea120(0x16a))/0x9*(parseInt(_0x5ea120(0x151))/0xa);if(_0x10e317===_0xbd47f4)break;else _0x35f89c['push'](_0x35f89c['shift']());}catch(_0x237bab){_0x35f89c['push'](_0x35f89c['shift']());}}}(a0_0x2445,0x6b1b1));import{describe,test,expect}from'@jest/globals';describe(a0_0x50c5fd(0x16b),()=>{test('useConnection hook can be imported',async()=>{const _0x47ce5f=a0_0x19fc,{useConnection:_0x3ac0dc}=await import('../../state/useConnection.js');expect(_0x3ac0dc)['toBeDefined'](),expect(typeof _0x3ac0dc)['toBe'](_0x47ce5f(0x137));}),test('useConnection is default export',async()=>{const _0x298b3b=a0_0x19fc,module=await import(_0x298b3b(0x13c));expect(module[_0x298b3b(0x149)])['toBeDefined'](),expect(typeof module['default'])[_0x298b3b(0x14b)](_0x298b3b(0x137)),expect(module[_0x298b3b(0x149)])[_0x298b3b(0x14b)](module['useConnection']);});}),describe('Connection\x20Management\x20-\x20Constants',()=>{const _0x31bf9e=a0_0x50c5fd;test(_0x31bf9e(0x147),async()=>{const _0x57c45a=_0x31bf9e,{CONNECTION_STATUS:_0x3552b3}=await import(_0x57c45a(0x148));expect(_0x3552b3)[_0x57c45a(0x158)](),expect(_0x3552b3[_0x57c45a(0x146)])[_0x57c45a(0x14b)]('connecting'),expect(_0x3552b3[_0x57c45a(0x165)])['toBe']('connected'),expect(_0x3552b3['DISCONNECTED'])[_0x57c45a(0x14b)]('disconnected'),expect(_0x3552b3[_0x57c45a(0x152)])[_0x57c45a(0x14b)]('reconnecting');}),test(_0x31bf9e(0x141),async()=>{const _0x19fc0a=_0x31bf9e,{CONNECTION_STATUS:_0x4e74fe,CONNECTION_STATE:_0x58cda0}=await import(_0x19fc0a(0x148));expect(_0x4e74fe)[_0x19fc0a(0x14b)](_0x58cda0);}),test('RECONNECT_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x338a34=_0x31bf9e,{RECONNECT_CONFIG:_0x2cc35a}=await import(_0x338a34(0x148));expect(_0x2cc35a)['toBeDefined'](),expect(_0x2cc35a['INITIAL_DELAY'])['toBeDefined'](),expect(_0x2cc35a['MAX_DELAY'])[_0x338a34(0x158)](),expect(_0x2cc35a['BACKOFF_MULTIPLIER'])[_0x338a34(0x158)](),expect(_0x2cc35a[_0x338a34(0x156)])['toBeDefined']();}),test('RECONNECT_CONFIG\x20values\x20are\x20reasonable',async()=>{const _0x2bd67d=_0x31bf9e,{RECONNECT_CONFIG:_0x2e93d6}=await import('../../config/constants.js');expect(_0x2e93d6['INITIAL_DELAY'])['toBeGreaterThan'](0x0),expect(_0x2e93d6['MAX_DELAY'])[_0x2bd67d(0x139)](_0x2e93d6[_0x2bd67d(0x14a)]),expect(_0x2e93d6['BACKOFF_MULTIPLIER'])[_0x2bd67d(0x139)](0x1),expect(_0x2e93d6['MAX_ATTEMPTS'])[_0x2bd67d(0x139)](0x0);});}),describe('Connection\x20Management\x20-\x20Integration',()=>{const _0x29cb6a=a0_0x50c5fd;test(_0x29cb6a(0x140),async()=>{const _0x3965c5=_0x29cb6a,{useConnection:_0x2a7d5d}=await import(_0x3965c5(0x13c)),{SessionManager:_0x36c0b7}=await import('../../api/session.js'),{WebSocketManager:_0x5744fe}=await import('../../api/websocket.js'),_0xc85054=new _0x36c0b7(_0x3965c5(0x14f),0x1f90),_0x5d8056=new _0x5744fe(_0x3965c5(0x14f),0x1f90);expect(_0xc85054)['toBeDefined'](),expect(_0x5d8056)[_0x3965c5(0x158)](),expect(typeof _0x2a7d5d)['toBe'](_0x3965c5(0x137));}),test('Full connection stack can be imported together',async()=>{const _0x1649c5=_0x29cb6a,[_0x535198,_0x29dc34,_0x289cef,_0x2d66f1]=await Promise[_0x1649c5(0x162)]([import(_0x1649c5(0x148)),import(_0x1649c5(0x15c)),import(_0x1649c5(0x13e)),import(_0x1649c5(0x13c))]);expect(_0x535198['CONNECTION_STATUS'])[_0x1649c5(0x158)](),expect(_0x535198[_0x1649c5(0x15e)])['toBeDefined'](),expect(_0x29dc34[_0x1649c5(0x13f)])[_0x1649c5(0x158)](),expect(_0x289cef[_0x1649c5(0x163)])[_0x1649c5(0x158)](),expect(_0x2d66f1[_0x1649c5(0x15f)])[_0x1649c5(0x158)]();});}),describe(a0_0x50c5fd(0x154),()=>{const _0x5da40a=a0_0x50c5fd;test(_0x5da40a(0x153),async()=>{const _0x1689e3=_0x5da40a,{useConnection:_0x26e17c}=await import(_0x1689e3(0x13c));expect(_0x26e17c['length'])[_0x1689e3(0x14b)](0x2);});}),describe('Connection\x20Management\x20-\x20Status\x20Values',()=>{const _0x2eeeb5=a0_0x50c5fd;test('CONNECTION_STATUS\x20values\x20are\x20lowercase\x20strings',async()=>{const _0x24f407=a0_0x19fc,{CONNECTION_STATUS:_0x5b6777}=await import('../../config/constants.js');expect(typeof _0x5b6777['CONNECTING'])[_0x24f407(0x14b)]('string'),expect(typeof _0x5b6777[_0x24f407(0x165)])['toBe']('string'),expect(typeof _0x5b6777['DISCONNECTED'])[_0x24f407(0x14b)]('string'),expect(typeof _0x5b6777[_0x24f407(0x152)])[_0x24f407(0x14b)]('string'),expect(_0x5b6777[_0x24f407(0x146)])[_0x24f407(0x14b)](_0x5b6777[_0x24f407(0x146)]['toLowerCase']()),expect(_0x5b6777[_0x24f407(0x165)])[_0x24f407(0x14b)](_0x5b6777[_0x24f407(0x165)]['toLowerCase']());}),test(_0x2eeeb5(0x13b),async()=>{const _0x4a5499=_0x2eeeb5,{CONNECTION_STATUS:_0x36379d}=await import('../../config/constants.js'),_0x4e07f0=Object['keys'](_0x36379d);expect(_0x4e07f0)['toContain']('CONNECTING'),expect(_0x4e07f0)[_0x4a5499(0x15a)](_0x4a5499(0x165)),expect(_0x4e07f0)['toContain'](_0x4a5499(0x160)),expect(_0x4e07f0)[_0x4a5499(0x15a)]('RECONNECTING');});}),describe('Connection\x20Management\x20-\x20Exponential\x20Backoff\x20Logic',()=>{const _0x459d03=a0_0x50c5fd;test(_0x459d03(0x150),async()=>{const _0x58f94e=_0x459d03,{RECONNECT_CONFIG:_0x3a8f37}=await import('../../config/constants.js'),_0x64e3e9=_0x53985b=>{const _0x36d79d=a0_0x19fc;return Math['min'](_0x3a8f37['INITIAL_DELAY']*Math[_0x36d79d(0x145)](_0x3a8f37['BACKOFF_MULTIPLIER'],_0x53985b),_0x3a8f37['MAX_DELAY']);},_0x1bdb46=_0x64e3e9(0x0),_0x1fa36a=_0x64e3e9(0x1),_0x57f47b=_0x64e3e9(0x2);expect(_0x1bdb46)['toBe'](_0x3a8f37['INITIAL_DELAY']),expect(_0x1fa36a)['toBeGreaterThan'](_0x1bdb46),expect(_0x57f47b)[_0x58f94e(0x139)](_0x1fa36a);}),test('Exponential\x20backoff\x20respects\x20max\x20delay',async()=>{const _0x56fe6a=_0x459d03,{RECONNECT_CONFIG:_0x1459e3}=await import(_0x56fe6a(0x148)),_0x353bab=_0x147d58=>{const _0x32765c=_0x56fe6a;return Math['min'](_0x1459e3['INITIAL_DELAY']*Math[_0x32765c(0x145)](_0x1459e3[_0x32765c(0x138)],_0x147d58),_0x1459e3[_0x32765c(0x168)]);},_0x4574d9=_0x353bab(0x64);expect(_0x4574d9)[_0x56fe6a(0x14b)](_0x1459e3['MAX_DELAY']),expect(_0x4574d9)['toBeLessThanOrEqual'](_0x1459e3[_0x56fe6a(0x168)]);});}),describe(a0_0x50c5fd(0x13a),()=>{test('Session\x20state\x20should\x20track\x20validity',async()=>{const _0x289899=a0_0x19fc;let _0xe8a60d=null,_0x31ad7d=![],_0x41bbf9=null;_0xe8a60d=_0x289899(0x161),_0x31ad7d=!![],_0x41bbf9=Date[_0x289899(0x16d)]()+0x36ee80,expect(_0xe8a60d)['toBeDefined'](),expect(_0x31ad7d)['toBe'](!![]),expect(_0x41bbf9)['toBeGreaterThan'](Date[_0x289899(0x16d)]());}),test('Session\x20state\x20should\x20invalidate',async()=>{const _0x1bef9c=a0_0x19fc;let _0x29b3cd=_0x1bef9c(0x161),_0x1af65a=!![];_0x29b3cd=null,_0x1af65a=![],expect(_0x29b3cd)[_0x1bef9c(0x135)](),expect(_0x1af65a)[_0x1bef9c(0x14b)](![]);});}),describe(a0_0x50c5fd(0x144),()=>{test('Connection\x20uptime\x20can\x20be\x20tracked',async()=>{const _0x18f66f=a0_0x19fc,_0x4f6abd=Date[_0x18f66f(0x16d)]();await new Promise(_0x42dc05=>setTimeout(_0x42dc05,0x64));const _0x1c93bf=Date['now']()-_0x4f6abd;expect(_0x1c93bf)[_0x18f66f(0x139)](0x0),expect(_0x1c93bf)[_0x18f66f(0x143)](0x64);}),test('Connection\x20metrics\x20track\x20timestamps',async()=>{const _0x1e52e6=a0_0x19fc,_0x49c88d=Date[_0x1e52e6(0x16d)]();await new Promise(_0x432df4=>setTimeout(_0x432df4,0x32));const _0x4c0b8f=Date['now']();expect(_0x49c88d)['toBeDefined'](),expect(_0x4c0b8f)[_0x1e52e6(0x158)](),expect(_0x4c0b8f)['toBeGreaterThan'](_0x49c88d);}),test('Reconnection\x20attempts\x20can\x20be\x20tracked',async()=>{const _0x68b7d0=a0_0x19fc;let _0x1c0377=0x0;_0x1c0377+=0x1,expect(_0x1c0377)[_0x68b7d0(0x14b)](0x1),_0x1c0377+=0x1,expect(_0x1c0377)['toBe'](0x2),_0x1c0377=0x0,expect(_0x1c0377)[_0x68b7d0(0x14b)](0x0);});}),describe('Connection\x20Management\x20-\x20Connection\x20Status\x20Transitions',()=>{const _0x27eaad=a0_0x50c5fd;test(_0x27eaad(0x16e),async()=>{const _0x5bd488=_0x27eaad,{CONNECTION_STATUS:_0x141f45}=await import(_0x5bd488(0x148));let _0x58df7e=_0x141f45['DISCONNECTED'];expect(_0x58df7e)['toBe']('disconnected'),_0x58df7e=_0x141f45['CONNECTING'],expect(_0x58df7e)['toBe'](_0x5bd488(0x14d)),_0x58df7e=_0x141f45[_0x5bd488(0x165)],expect(_0x58df7e)['toBe'](_0x5bd488(0x169)),_0x58df7e=_0x141f45[_0x5bd488(0x160)],expect(_0x58df7e)[_0x5bd488(0x14b)](_0x5bd488(0x159)),_0x58df7e=_0x141f45['RECONNECTING'],expect(_0x58df7e)['toBe']('reconnecting'),_0x58df7e=_0x141f45[_0x5bd488(0x165)],expect(_0x58df7e)[_0x5bd488(0x14b)](_0x5bd488(0x169));});}),describe('Connection\x20Management\x20-\x20WebSocket\x20Event\x20Integration',()=>{test('WebSocketManager\x20has\x20event\x20emitter\x20methods',async()=>{const _0x177354=a0_0x19fc,{WebSocketManager:_0x2db277}=await import(_0x177354(0x13e)),_0x272d9a=new _0x2db277('localhost',0x1f90);expect(_0x272d9a['on'])['toBeDefined'](),expect(_0x272d9a[_0x177354(0x16f)])[_0x177354(0x158)](),expect(typeof _0x272d9a['on'])[_0x177354(0x14b)]('function'),expect(typeof _0x272d9a['off'])['toBe']('function');});}),describe('Connection\x20Management\x20-\x20Max\x20Attempts\x20Limit',()=>{const _0x3291f7=a0_0x50c5fd;test(_0x3291f7(0x14c),async()=>{const _0x12a487=_0x3291f7,{RECONNECT_CONFIG:_0x2b1db0}=await import(_0x12a487(0x148));let _0x9fcd83=0x0;for(let _0x2d1011=0x0;_0x2d1011<_0x2b1db0[_0x12a487(0x156)]+0x5;_0x2d1011++){if(_0x9fcd83<_0x2b1db0[_0x12a487(0x156)])_0x9fcd83+=0x1;else break;}expect(_0x9fcd83)['toBe'](_0x2b1db0['MAX_ATTEMPTS']),expect(_0x9fcd83)['toBeLessThanOrEqual'](_0x2b1db0['MAX_ATTEMPTS']);});}),describe('Connection\x20Management\x20-\x20Connection\x20Info',()=>{const _0xc57bba=a0_0x50c5fd;test(_0xc57bba(0x16c),async()=>{const _0x3fca88=_0xc57bba,{CONNECTION_STATUS:_0x395ca9}=await import(_0x3fca88(0x148)),_0x53c5dc={'status':_0x395ca9['CONNECTED'],'isConnected':!![],'isReconnecting':![],'sessionId':'test-session-123','sessionValid':!![],'sessionExpiration':Date['now']()+0x36ee80,'uptime':0x1388,'lastConnectedAt':Date['now']()-0x1388,'lastDisconnectedAt':null,'reconnectAttempts':0x0};expect(_0x53c5dc[_0x3fca88(0x166)])['toBeDefined'](),expect(_0x53c5dc['isConnected'])['toBe'](!![]),expect(_0x53c5dc['isReconnecting'])[_0x3fca88(0x14b)](![]),expect(_0x53c5dc[_0x3fca88(0x157)])[_0x3fca88(0x158)](),expect(_0x53c5dc['sessionValid'])['toBe'](!![]),expect(_0x53c5dc[_0x3fca88(0x13d)])[_0x3fca88(0x139)](0x0);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x17140b=a0_0x2480;function a0_0x2480(_0x332812,_0x362612){_0x332812=_0x332812-0x10d;const _0x86f5cd=a0_0x86f5();let _0x248001=_0x86f5cd[_0x332812];if(a0_0x2480['GRwRKB']===undefined){var _0x2f850c=function(_0x2579fc){const _0x537576='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1817a5='',_0x33f6ac='';for(let _0x506345=0x0,_0x19e292,_0x1bb02e,_0x2dc578=0x0;_0x1bb02e=_0x2579fc['charAt'](_0x2dc578++);~_0x1bb02e&&(_0x19e292=_0x506345%0x4?_0x19e292*0x40+_0x1bb02e:_0x1bb02e,_0x506345++%0x4)?_0x1817a5+=String['fromCharCode'](0xff&_0x19e292>>(-0x2*_0x506345&0x6)):0x0){_0x1bb02e=_0x537576['indexOf'](_0x1bb02e);}for(let _0x359992=0x0,_0x389d4d=_0x1817a5['length'];_0x359992<_0x389d4d;_0x359992++){_0x33f6ac+='%'+('00'+_0x1817a5['charCodeAt'](_0x359992)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33f6ac);};a0_0x2480['KOkgLp']=_0x2f850c,a0_0x2480['ujYRaI']={},a0_0x2480['GRwRKB']=!![];}const _0x25fc12=_0x86f5cd[0x0],_0x24763e=_0x332812+_0x25fc12,_0x149bf0=a0_0x2480['ujYRaI'][_0x24763e];return!_0x149bf0?(_0x248001=a0_0x2480['KOkgLp'](_0x248001),a0_0x2480['ujYRaI'][_0x24763e]=_0x248001):_0x248001=_0x149bf0,_0x248001;}(function(_0x698bc4,_0x488794){const _0x14ff25=a0_0x2480,_0x371226=_0x698bc4();while(!![]){try{const _0x46a259=-parseInt(_0x14ff25(0x10f))/0x1+parseInt(_0x14ff25(0x127))/0x2+parseInt(_0x14ff25(0x124))/0x3*(parseInt(_0x14ff25(0x110))/0x4)+parseInt(_0x14ff25(0x10e))/0x5*(parseInt(_0x14ff25(0x123))/0x6)+-parseInt(_0x14ff25(0x115))/0x7+parseInt(_0x14ff25(0x11b))/0x8*(parseInt(_0x14ff25(0x126))/0x9)+-parseInt(_0x14ff25(0x117))/0xa;if(_0x46a259===_0x488794)break;else _0x371226['push'](_0x371226['shift']());}catch(_0x39ede5){_0x371226['push'](_0x371226['shift']());}}}(a0_0x86f5,0x61bfb));import{describe,test,expect}from'@jest/globals';function a0_0x86f5(){const _0x144eb9=['mtu5nZiXmKftB0vyBG','nJG5ntq3C3nXrhHJ','ugHHC2uGosaTievUAgfUy2vKienVBxbVBMvUDhmGlsbjBxbVCNrZ','nZCXnduZDLPHwwrd','nJi1mta4AfvWEffk','rxjYB3jcB3vUzgfYEq','tg9HzgLUz1nWAw5Uzxi','DxnLsw5WDxq','Dg9czurLzMLUzwq','zNvUy3rPB24','rxjYB3jcB3vUzgfYEsbJB21WB25LBNreAwrdyxrJAcbPCYbKzwzPBMvK','ChjVDg90ExbL','lI4VlI4Vy29TCg9Uzw50CY9fCNjVCKjVDw5Kyxj5lMPZ','Dg9czvvUzgvMAw5Lza','mtbdCgLRzue','ntqYnJeWA1fQs05n','nhvXDMTTyW','zgvMyxvSDa','CMvUzgvY','rxjYB3jcB3vUzgfYEsbPCYbHignSyxnZignVBxbVBMvUDa','lI4VlI4Vy29TCg9Uzw50CY9mB2fKAw5Nu3bPBM5LCI5QCW','ndiYndy5nMHLr1nXqG','y29TCg9Uzw50rgLKq2f0y2G','ndi1otiWrKnIz3n3','sw5WDxrcB3GGzgvMAw5LCYbnqvHFseLtve9swsbJB25ZDgfUDa','CMvHy3q','rw5Oyw5JzwqGsw5WDxrcB3GGBwfPBNrHAw5ZigjHy2T3yxjKignVBxbHDgLIAwXPDhK','ndHKwNn0EgK','sw5SAw5Lu3bPBM5LCIbPCYbHigz1BMn0Aw9UignVBxbVBMvUDa','sw5WDxrcB3G','DxnLu3rHDgu','z2v0rgvYAxzLzfn0yxrLrNjVBuvYCM9Y','Dg9czq','sw5SAw5Lu3bPBM5LCG','lI4VlI4Vy29TCg9Uzw50CY9jBNb1DejVEc5QCW'];a0_0x86f5=function(){return _0x144eb9;};return a0_0x86f5();}describe(a0_0x17140b(0x125),()=>{const _0x5a7d78=a0_0x17140b;test('ErrorBoundary component can be imported',async()=>{const _0x1e2587=a0_0x2480,{ErrorBoundary:_0x1817a5}=await import(_0x1e2587(0x12f));expect(_0x1817a5)['toBeDefined'](),expect(typeof _0x1817a5)['toBe']('function');},0x7530),test(_0x5a7d78(0x113),async()=>{const _0x1563bf=_0x5a7d78,{ErrorBoundary:_0x33f6ac}=await import('../../components/ErrorBoundary.js');expect(_0x33f6ac[_0x1563bf(0x12e)])['toBeDefined'](),expect(typeof _0x33f6ac[_0x1563bf(0x12e)][_0x1563bf(0x112)])['toBe'](_0x1563bf(0x12c));}),test('LoadingSpinner component can be imported',async()=>{const _0x58679c=_0x5a7d78,{LoadingSpinner:_0x506345}=await import('../../components/LoadingSpinner.js');expect(_0x506345)[_0x58679c(0x12b)](),expect(typeof _0x506345)['toBe']('function');}),test('InlineSpinner component can be imported',async()=>{const _0x517555=_0x5a7d78,{InlineSpinner:_0x19e292}=await import(_0x517555(0x114));expect(_0x19e292)['toBeDefined'](),expect(typeof _0x19e292)[_0x517555(0x120)](_0x517555(0x12c));}),test('LoadingSpinner is default export',async()=>{const _0x376e7c=_0x5a7d78,module=await import(_0x376e7c(0x114));expect(module['default'])['toBeDefined'](),expect(module['default'])['toBe'](module['LoadingSpinner']);}),test(_0x5a7d78(0x11a),async()=>{const _0x179097=_0x5a7d78,{InputBox:_0x1bb02e}=await import('../../components/InputBox.js');expect(_0x1bb02e)[_0x179097(0x12b)](),expect(typeof _0x1bb02e)['toBe'](_0x179097(0x12c));});}),describe('Phase\x209\x20-\x20ErrorBoundary\x20-\x20Structure',()=>{const _0x20ab80=a0_0x17140b;test('ErrorBoundary\x20is\x20a\x20React\x20Component\x20class',async()=>{const _0x403dc3=a0_0x2480,{ErrorBoundary:_0x2dc578}=await import('../../components/ErrorBoundary.js'),_0x359992=await import(_0x403dc3(0x119));expect(_0x2dc578['prototype'])['toBeDefined'](),expect(typeof _0x2dc578['prototype']['render'])['toBe'](_0x403dc3(0x12c)),expect(typeof _0x2dc578['prototype'][_0x403dc3(0x116)])['toBe'](_0x403dc3(0x12c));}),test('ErrorBoundary\x20has\x20getDerivedStateFromError\x20static\x20method',async()=>{const _0x45717b=a0_0x2480,{ErrorBoundary:_0x389d4d}=await import('../../components/ErrorBoundary.js');expect(typeof _0x389d4d[_0x45717b(0x11f)])[_0x45717b(0x120)](_0x45717b(0x12c));}),test(_0x20ab80(0x12d),async()=>{const _0x31d764=_0x20ab80,{ErrorBoundary:_0x5bc251}=await import('../../components/ErrorBoundary.js');expect(typeof _0x5bc251[_0x31d764(0x12e)][_0x31d764(0x116)])['toBe']('function');});}),describe('Phase\x209\x20-\x20LoadingSpinner\x20-\x20Structure',()=>{const _0x5e56be=a0_0x17140b;test('LoadingSpinner\x20is\x20a\x20function\x20component',async()=>{const _0x176267=a0_0x2480,{LoadingSpinner:_0xffd5b3}=await import(_0x176267(0x114));expect(typeof _0xffd5b3)[_0x176267(0x120)]('function'),expect(_0xffd5b3[_0x176267(0x12e)]?.['render'])['toBeUndefined']();}),test(_0x5e56be(0x11c),async()=>{const _0x1521f0=_0x5e56be,{InlineSpinner:_0x5e326e}=await import('../../components/LoadingSpinner.js');expect(typeof _0x5e326e)['toBe'](_0x1521f0(0x12c)),expect(_0x5e326e[_0x1521f0(0x12e)]?.['render'])[_0x1521f0(0x10d)]();});}),describe('Phase\x209\x20-\x20Enhanced\x20InputBox\x20-\x20History\x20Support',()=>{test('Enhanced InputBox imports useRef for history',async()=>{const _0x57a705=a0_0x2480,_0x4c551e=await import(_0x57a705(0x122)),_0x4a7a6f=await import('react');expect(_0x4a7a6f[_0x57a705(0x11e)])['toBeDefined'](),expect(_0x4a7a6f['useRef'])['toBeDefined']();}),test('InputBox component maintains exports',async()=>{const _0x261980=a0_0x2480,module=await import(_0x261980(0x122));expect(module['InputBox'])['toBeDefined'](),expect(module[_0x261980(0x111)])[_0x261980(0x12b)](),expect(module['default'])[_0x261980(0x120)](module[_0x261980(0x11d)]);});}),describe('Phase\x209\x20-\x20Integration',()=>{test('All enhanced components can be imported together',async()=>{const _0x4a9c33=a0_0x2480,[_0x448182,_0x5b622d,_0x39b6bb]=await Promise['all']([import('../../components/ErrorBoundary.js'),import('../../components/LoadingSpinner.js'),import('../../components/InputBox.js')]);expect(_0x448182[_0x4a9c33(0x128)])[_0x4a9c33(0x12b)](),expect(_0x5b622d[_0x4a9c33(0x129)])[_0x4a9c33(0x12b)](),expect(_0x5b622d[_0x4a9c33(0x121)])[_0x4a9c33(0x12b)](),expect(_0x39b6bb[_0x4a9c33(0x11d)])['toBeDefined']();}),test('Enhanced Layout component imports useInput for keyboard shortcuts',async()=>{const _0x4bb2e8=a0_0x2480,_0x37029e=await import(_0x4bb2e8(0x119)),_0x13aa39=await import('ink');expect(_0x13aa39[_0x4bb2e8(0x12a)])[_0x4bb2e8(0x12b)](),expect(typeof _0x13aa39['useInput'])['toBe']('function');}),test('Layout component can still be imported after enhancements',async()=>{const _0x32f808=a0_0x2480,{Layout:_0x32b2b4}=await import('../../components/Layout.js');expect(_0x32b2b4)['toBeDefined'](),expect(typeof _0x32b2b4)[_0x32f808(0x120)]('function');});}),describe('Phase\x209\x20-\x20Enhanced\x20Features\x20-\x20Constants',()=>{const _0x1dec9f=a0_0x17140b;test(_0x1dec9f(0x118),async()=>{const _0x177fba=_0x1dec9f,module=await import('../../components/InputBox.js');expect(module[_0x177fba(0x11d)])['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_0x5b3d06=a0_0x1a38;(function(_0x15ba76,_0x451568){const _0x2aff80=a0_0x1a38,_0x1eba85=_0x15ba76();while(!![]){try{const _0x13745d=-parseInt(_0x2aff80(0x146))/0x1*(parseInt(_0x2aff80(0x150))/0x2)+parseInt(_0x2aff80(0x140))/0x3*(parseInt(_0x2aff80(0x149))/0x4)+-parseInt(_0x2aff80(0x17f))/0x5+-parseInt(_0x2aff80(0x148))/0x6*(parseInt(_0x2aff80(0x177))/0x7)+parseInt(_0x2aff80(0x156))/0x8*(-parseInt(_0x2aff80(0x158))/0x9)+-parseInt(_0x2aff80(0x13c))/0xa+parseInt(_0x2aff80(0x151))/0xb;if(_0x13745d===_0x451568)break;else _0x1eba85['push'](_0x1eba85['shift']());}catch(_0x203153){_0x1eba85['push'](_0x1eba85['shift']());}}}(a0_0x4bf7,0x7a78e));import{describe,test,expect}from'@jest/globals';import{fileURLToPath}from'url';function a0_0x4bf7(){const _0x33bccb=['tKvuv09ssW','AxnwywXPza','Ag9ZDa','u2vZC2LVBK1HBMfNzxiGy2XLyxiOksbYzxnLDhmGywXSihn0yxrL','v0vcu09ds0vux1jfq09otKvdvf9eruXbwq','CgvUzgLUz1jLCxvLC3rZ','v2vIu29JA2v0twfUywDLCIbPBML0AwfSAxPLCYb3AxrOignVCNjLy3qGC3rHDgu','BM90','z2v0uhjVAMvJDerPCG','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','ChjVAMvJDerPCG','C3rHDgu','CxvLDwvKtwvZC2fNzxm','vuLFreLnru5tsu9ouW','l3rLC3qVzgLY','Dg9iyxzLuhjVCgvYDhK','z2v0u3rHDhm','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','mte5D3PHt2fj','yMXVy2TLzc10ExbL','quDftLrFtu9erq','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbTAwrKBgv3yxjL','DgvZDa','Dg9fCxvHBa','revgqvvmvf9qt1ju','BNvTyMvY','ndq0mZmXmeHTqxrAta','nJmZnZq5mgPIDMLtwG','C2vZC2LVBKLK','Bg9JywXOB3n0','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','mtvqAM1evLC','q09otKvdveLptL9tvefurq','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','DMvUzg9Ys2v5CW','reLtq09otKvdveve','DxnL','ndmZC1voEgLc','Bg94AwfbCgLlzxK','mtqXotb1qvPiCMy','odG1mtzKzwnVv2S','veLnsu5h','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','z2v0u2vZC2LVBKLK','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbfCNjVCIbiyw5KBgLUzW','AgfZsgfUzgXLCG','mtHPzgnKBfi','mJq4nZqXnZLiwuHvweO','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLigHLBhbLCNmGy3jLyxrLihzHBgLKig1PzgrSzxDHCMu','lI4VlI4VyxbPl3nLC3nPB24UANm','su1br0vFuKvtvuXu','ndG2mdqWtff5v1nf','sgfUzgXLCIbTDxn0igjLigeGzNvUy3rPB24','ndvvDhjtsKK','DgvZDc1TzxnZywDL','u0LerujbuL9xsurusa','zNvUy3rPB24','CMvJzwL2zwrbDa','revgqvvmvf9it1nu','BwLKzgXLD2fYzq','AgfZtg94AwflzxK','u2vZC2LVBK1HBMfNzxiGAgvSCgvYig1LDgHVzhmGD29YAW','Dg9czurLzMLUzwq','Dg9czq','BwvZC2fNzvf1zxvL','BM90lweTzNvUy3rPB24'];a0_0x4bf7=function(){return _0x33bccb;};return a0_0x4bf7();}import{dirname,join}from'path';function a0_0x1a38(_0x427b57,_0x4e01d2){_0x427b57=_0x427b57-0x13c;const _0x4bf7d8=a0_0x4bf7();let _0x1a389c=_0x4bf7d8[_0x427b57];if(a0_0x1a38['GVvhJa']===undefined){var _0x14708e=function(_0x2d0266){const _0x8e1ddf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4abc9c='',_0xd52901='';for(let _0x5f4eb7=0x0,_0x717056,_0x3de5a1,_0x38869c=0x0;_0x3de5a1=_0x2d0266['charAt'](_0x38869c++);~_0x3de5a1&&(_0x717056=_0x5f4eb7%0x4?_0x717056*0x40+_0x3de5a1:_0x3de5a1,_0x5f4eb7++%0x4)?_0x4abc9c+=String['fromCharCode'](0xff&_0x717056>>(-0x2*_0x5f4eb7&0x6)):0x0){_0x3de5a1=_0x8e1ddf['indexOf'](_0x3de5a1);}for(let _0x5c703f=0x0,_0x550ecb=_0x4abc9c['length'];_0x5c703f<_0x550ecb;_0x5c703f++){_0xd52901+='%'+('00'+_0x4abc9c['charCodeAt'](_0x5c703f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xd52901);};a0_0x1a38['pAkSfB']=_0x14708e,a0_0x1a38['cwchmu']={},a0_0x1a38['GVvhJa']=!![];}const _0x30752d=_0x4bf7d8[0x0],_0x470a9d=_0x427b57+_0x30752d,_0x4d3633=a0_0x1a38['cwchmu'][_0x470a9d];return!_0x4d3633?(_0x1a389c=a0_0x1a38['pAkSfB'](_0x1a389c),a0_0x1a38['cwchmu'][_0x470a9d]=_0x1a389c):_0x1a389c=_0x4d3633,_0x1a389c;}const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe('Terminal\x20UI\x20Infrastructure\x20-\x20Imports',()=>{test('constants module exports all required constants',async()=>{const _0x57cb86=a0_0x1a38,_0x4abc9c=await import(_0x57cb86(0x176));expect(_0x4abc9c['UI_DIMENSIONS'])['toBeDefined'](),expect(_0x4abc9c['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x4abc9c['PAGINATION'])['toBeDefined'](),expect(_0x4abc9c[_0x57cb86(0x14a)])['toBeDefined'](),expect(_0x4abc9c['NETWORK'])['toBeDefined'](),expect(_0x4abc9c[_0x57cb86(0x141)])[_0x57cb86(0x161)](),expect(_0x4abc9c[_0x57cb86(0x179)])['toBeDefined'](),expect(_0x4abc9c['WS_MESSAGE_TYPE'])['toBeDefined'](),expect(_0x4abc9c['API_ENDPOINTS'])[_0x57cb86(0x161)](),expect(_0x4abc9c['COMMANDS'])['toBeDefined'](),expect(_0x4abc9c[_0x57cb86(0x165)][_0x57cb86(0x15d)])['toBe'](_0x57cb86(0x13e)),expect(_0x4abc9c['NETWORK'][_0x57cb86(0x17d)])[_0x57cb86(0x162)](0x1f90),expect(_0x4abc9c[_0x57cb86(0x141)][_0x57cb86(0x144)])[_0x57cb86(0x162)]('disconnected'),expect(_0x4abc9c[_0x57cb86(0x141)]['CONNECTED'])[_0x57cb86(0x162)]('connected');}),test('WebSocketManager class can be imported',async()=>{const _0x1cfab6=a0_0x1a38,{WebSocketManager:_0xd52901}=await import(_0x1cfab6(0x14b));expect(_0xd52901)['toBeDefined'](),expect(typeof _0xd52901)['toBe']('function');const _0x5f4eb7=new _0xd52901('localhost',0x1f90);expect(_0x5f4eb7)['toBeDefined'](),expect(_0x5f4eb7['host'])[_0x1cfab6(0x162)](_0x1cfab6(0x13e)),expect(_0x5f4eb7['port'])['toBe'](0x1f90),expect(_0x5f4eb7['url'])[_0x1cfab6(0x162)]('ws://localhost:8080');}),test('SessionManager class can be imported',async()=>{const _0x2de0de=a0_0x1a38,{SessionManager:_0x717056}=await import('../../api/session.js');expect(_0x717056)['toBeDefined'](),expect(typeof _0x717056)[_0x2de0de(0x162)](_0x2de0de(0x15b));const _0x3de5a1=new _0x717056('localhost',0x1f90);expect(_0x3de5a1)[_0x2de0de(0x161)](),expect(_0x3de5a1[_0x2de0de(0x167)])['toBe'](_0x2de0de(0x13e)),expect(_0x3de5a1['port'])['toBe'](0x1f90),expect(_0x3de5a1['baseUrl'])['toBe']('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0x5f09ee=a0_0x1a38,{MessageRouter:_0x38869c}=await import(_0x5f09ee(0x14d)),{WebSocketManager:_0x5c703f}=await import(_0x5f09ee(0x14b));expect(_0x38869c)[_0x5f09ee(0x161)](),expect(typeof _0x38869c)[_0x5f09ee(0x162)](_0x5f09ee(0x15b));const _0x550ecb=new _0x5c703f('localhost',0x1f90),_0x5472fd=new _0x38869c(_0x550ecb);expect(_0x5472fd)['toBeDefined'](),expect(_0x5472fd['ws'])['toBe'](_0x550ecb);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x2efdf6=a0_0x1a38,{loggingMiddleware:_0x5c53f7,filterMiddleware:_0x4807e5,transformMiddleware:_0x512616,timestampMiddleware:_0x58ebbe,validationMiddleware:_0x5aac71}=await import(_0x2efdf6(0x14d));expect(typeof _0x5c53f7)[_0x2efdf6(0x162)]('function'),expect(typeof _0x4807e5)['toBe']('function'),expect(typeof _0x512616)[_0x2efdf6(0x162)](_0x2efdf6(0x15b)),expect(typeof _0x58ebbe)[_0x2efdf6(0x162)](_0x2efdf6(0x15b)),expect(typeof _0x5aac71)[_0x2efdf6(0x162)](_0x2efdf6(0x15b));}),test('useConnection hook can be imported',async()=>{const _0x1837bc=a0_0x1a38,{useConnection:_0x2dca6b,useConnectionStatus:_0x90b2d}=await import('../../state/useConnection.js');expect(_0x2dca6b)[_0x1837bc(0x161)](),expect(typeof _0x2dca6b)[_0x1837bc(0x162)]('function'),expect(_0x90b2d)['toBeDefined'](),expect(typeof _0x90b2d)['toBe']('function');});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Basic\x20Functionality',()=>{const _0x1a013b=a0_0x1a38;test(_0x1a013b(0x16b),async()=>{const _0x1bb25a=_0x1a013b,{WebSocketManager:_0x25b187}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x2af66d}=await import(_0x1bb25a(0x176)),_0x3e2b3b=new _0x25b187('test-host',0x2382);expect(_0x3e2b3b[_0x1bb25a(0x170)])[_0x1bb25a(0x162)](_0x2af66d['DISCONNECTED']),expect(_0x3e2b3b[_0x1bb25a(0x13d)])['toBe'](null),expect(_0x3e2b3b[_0x1bb25a(0x163)])['toEqual']([]),expect(_0x3e2b3b['reconnectAttempts'])[_0x1bb25a(0x162)](0x0),expect(_0x3e2b3b['shouldReconnect'])[_0x1bb25a(0x162)](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x29a53e=_0x1a013b,{SessionManager:_0xfd0bcd}=await import(_0x29a53e(0x154)),_0xe37cef=new _0xfd0bcd('test-host',0x2382);expect(_0xe37cef['sessionId'])['toBe'](null),expect(_0xe37cef[_0x29a53e(0x16f)])[_0x29a53e(0x162)](null),expect(_0xe37cef[_0x29a53e(0x147)])[_0x29a53e(0x162)](null),expect(_0xe37cef[_0x29a53e(0x143)])[_0x29a53e(0x17c)]({}),expect(_0xe37cef['isValid']())[_0x29a53e(0x162)](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x59fa3e=_0x1a013b,{MessageRouter:_0x3c8964}=await import(_0x59fa3e(0x14d)),{WebSocketManager:_0x443f11}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x1b807b}=await import('../../config/constants.js'),_0x55a0e9=new _0x443f11(_0x59fa3e(0x13e),0x1f90),_0x34cc3f=new _0x3c8964(_0x55a0e9);expect(_0x34cc3f['hasHandler'](_0x1b807b['MESSAGE_ADDED']))[_0x59fa3e(0x162)](!![]),expect(_0x34cc3f['hasHandler'](_0x1b807b['AGENT_MODE_CHANGED']))[_0x59fa3e(0x162)](!![]),expect(_0x34cc3f[_0x59fa3e(0x14f)](_0x1b807b['EXECUTION_STOPPED']))['toBe'](!![]),expect(_0x34cc3f[_0x59fa3e(0x14f)](_0x1b807b['COMPACTION_EVENT']))[_0x59fa3e(0x162)](!![]),expect(_0x34cc3f['hasHandler'](_0x1b807b[_0x59fa3e(0x155)]))['toBe'](!![]);}),test('MessageRouter\x20middleware\x20can\x20be\x20added\x20and\x20removed',async()=>{const _0x3dde69=_0x1a013b,{MessageRouter:_0x1ad3b4}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2ef148}=await import(_0x3dde69(0x14b)),_0x2c996a=new _0x2ef148(_0x3dde69(0x13e),0x1f90),_0x2fdc8a=new _0x1ad3b4(_0x2c996a),_0x1118f4=_0x4436cc=>_0x4436cc;expect(_0x2fdc8a['middleware']['length'])[_0x3dde69(0x142)](0x0),_0x2fdc8a[_0x3dde69(0x145)](_0x1118f4);const _0x1a6df4=_0x2fdc8a[_0x3dde69(0x15e)]['length'];expect(_0x1a6df4)['toBeGreaterThan'](0x0),_0x2fdc8a['removeMiddleware'](_0x1118f4),expect(_0x2fdc8a['middleware']['length'])[_0x3dde69(0x162)](_0x1a6df4-0x1);}),test(_0x1a013b(0x160),async()=>{const _0x55ad09=_0x1a013b,{SessionManager:_0x47eb92}=await import(_0x55ad09(0x154)),_0x45ed13=new _0x47eb92(_0x55ad09(0x13e),0x1f90);expect(_0x45ed13[_0x55ad09(0x14c)]())[_0x55ad09(0x162)](null),expect(_0x45ed13[_0x55ad09(0x16d)]())['toBe'](null),expect(_0x45ed13[_0x55ad09(0x166)]())[_0x55ad09(0x162)](![]);const _0x26a564=_0x45ed13['getSessionInfo']();expect(_0x26a564)[_0x55ad09(0x174)]('sessionId'),expect(_0x26a564)[_0x55ad09(0x174)]('projectDir'),expect(_0x26a564)[_0x55ad09(0x174)](_0x55ad09(0x15f)),expect(_0x26a564)['toHaveProperty']('vendorKeysCount');}),test('WebSocketManager\x20helper\x20methods\x20work',async()=>{const _0x531b9e=_0x1a013b,{WebSocketManager:_0x414c38}=await import(_0x531b9e(0x14b)),{CONNECTION_STATE:_0x5c260c}=await import('../../config/constants.js'),_0xf163e3=new _0x414c38(_0x531b9e(0x13e),0x1f90);expect(_0xf163e3['getState']())[_0x531b9e(0x162)](_0x5c260c[_0x531b9e(0x144)]),expect(_0xf163e3['isConnected']())['toBe'](![]),expect(_0xf163e3['getSessionId']())['toBe'](null);const _0x41ba94=_0xf163e3[_0x531b9e(0x175)]();expect(_0x41ba94)['toHaveProperty'](_0x531b9e(0x170)),expect(_0x41ba94)[_0x531b9e(0x174)](_0x531b9e(0x13d)),expect(_0x41ba94)['toHaveProperty']('reconnectAttempts'),expect(_0x41ba94)['toHaveProperty'](_0x531b9e(0x171)),expect(_0x41ba94)[_0x531b9e(0x174)](_0x531b9e(0x16a));}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0xd3cf6e=_0x1a013b,{MessageRouter:_0xa2e71f}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x3e0fbe}=await import(_0xd3cf6e(0x14b)),_0x2a5e31=new _0x3e0fbe('localhost',0x1f90),_0x3475d3=new _0xa2e71f(_0x2a5e31),_0x496cea=()=>{};expect(_0x3475d3[_0xd3cf6e(0x14f)]('test-message'))['toBe'](![]),_0x3475d3['registerHandler'](_0xd3cf6e(0x159),_0x496cea),expect(_0x3475d3[_0xd3cf6e(0x14f)](_0xd3cf6e(0x159)))['toBe'](!![]),_0x3475d3['unregisterHandler'](_0xd3cf6e(0x159)),expect(_0x3475d3[_0xd3cf6e(0x14f)](_0xd3cf6e(0x159)))[_0xd3cf6e(0x162)](![]);}),test(_0x1a013b(0x153),async()=>{const _0x28ab82=_0x1a013b,{loggingMiddleware:_0x47907a,timestampMiddleware:_0x46e24e,filterMiddleware:_0x79b11b}=await import(_0x28ab82(0x14d)),_0x511c48=_0x47907a();expect(typeof _0x511c48)[_0x28ab82(0x162)](_0x28ab82(0x15b));const _0x797689=_0x46e24e();expect(typeof _0x797689)['toBe'](_0x28ab82(0x15b));const _0x326865={'type':_0x28ab82(0x17b)},_0x46e577=_0x797689(_0x326865);expect(_0x46e577)['toHaveProperty'](_0x28ab82(0x15c)),expect(_0x46e577['type'])['toBe']('test');const _0x29a7fb=_0x79b11b(['allowed-type']);expect(typeof _0x29a7fb)['toBe'](_0x28ab82(0x15b)),expect(_0x29a7fb({'type':'allowed-type'}))['toBeTruthy'](),expect(_0x29a7fb({'type':_0x28ab82(0x178)}))['toBe'](null);}),test('Constants\x20have\x20no\x20magic\x20numbers',async()=>{const _0x37b452=_0x1a013b,_0x364916=await import(_0x37b452(0x176));expect(typeof _0x364916[_0x37b452(0x14a)][_0x37b452(0x169)])['toBe']('number'),expect(typeof _0x364916[_0x37b452(0x14a)]['WEBSOCKET_PING_INTERVAL'])['toBe']('number'),expect(typeof _0x364916[_0x37b452(0x165)]['DEFAULT_PORT'])[_0x37b452(0x162)](_0x37b452(0x17e)),expect(typeof _0x364916['NETWORK']['MAX_RETRIES'])['toBe'](_0x37b452(0x17e)),expect(typeof _0x364916['NETWORK']['HTTP_TIMEOUT'])[_0x37b452(0x162)]('number'),expect(typeof _0x364916[_0x37b452(0x172)]['MESSAGE_LIST_HEIGHT'])[_0x37b452(0x162)](_0x37b452(0x17e)),expect(typeof _0x364916[_0x37b452(0x172)][_0x37b452(0x15a)])['toBe']('number');});}),describe(a0_0x5b3d06(0x14e),()=>{const _0x2413bc=a0_0x5b3d06;test(_0x2413bc(0x16e),async()=>{const _0xa79b8d=_0x2413bc,{MessageRouter:_0x3d3c1d}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x482fd7}=await import(_0xa79b8d(0x14b)),_0x599265=new _0x482fd7(_0xa79b8d(0x13e),0x1f90),_0x50c699=new _0x3d3c1d(_0x599265);expect(()=>{const _0x372a38=_0xa79b8d;_0x50c699['registerHandler'](_0x372a38(0x17b),'not-a-function');})['toThrow'](_0xa79b8d(0x157));}),test(_0x2413bc(0x17a),async()=>{const _0x2108ec=_0x2413bc,{MessageRouter:_0x32a9c3}=await import(_0x2108ec(0x14d)),{WebSocketManager:_0x1f34ce}=await import(_0x2108ec(0x14b)),_0x1cbf0c=new _0x1f34ce(_0x2108ec(0x13e),0x1f90),_0x34b063=new _0x32a9c3(_0x1cbf0c);expect(()=>{const _0x4e9738=_0x2108ec;_0x34b063[_0x4e9738(0x145)](_0x4e9738(0x164));})['toThrow'](_0x2108ec(0x152));}),test(_0x2413bc(0x168),async()=>{const _0x542b19=_0x2413bc,{SessionManager:_0x32651d}=await import('../../api/session.js'),_0x8e0134=new _0x32651d(_0x542b19(0x13e),0x1f90);_0x8e0134[_0x542b19(0x13d)]='test-123',_0x8e0134['projectDir']=_0x542b19(0x173),_0x8e0134[_0x542b19(0x147)]='test-key',_0x8e0134[_0x542b19(0x143)]={'openai':'key'},expect(_0x8e0134[_0x542b19(0x166)]())['toBe'](!![]),_0x8e0134['clear'](),expect(_0x8e0134[_0x542b19(0x13d)])[_0x542b19(0x162)](null),expect(_0x8e0134['projectDir'])[_0x542b19(0x162)](null),expect(_0x8e0134['loxiaApiKey'])['toBe'](null),expect(_0x8e0134[_0x542b19(0x143)])['toEqual']({}),expect(_0x8e0134[_0x542b19(0x166)]())[_0x542b19(0x162)](![]);}),test(_0x2413bc(0x13f),async()=>{const _0x2e7dd6=_0x2413bc,{WebSocketManager:_0x292c4d}=await import('../../api/websocket.js'),_0x5325c4=new _0x292c4d(_0x2e7dd6(0x13e),0x1f90),_0x50a6f9=_0x5325c4['generateRequestId'](),_0x8d6802=_0x5325c4['generateRequestId'](),_0x391fcc=_0x5325c4['generateRequestId']();expect(_0x50a6f9)['not'][_0x2e7dd6(0x162)](_0x8d6802),expect(_0x8d6802)[_0x2e7dd6(0x16c)]['toBe'](_0x391fcc),expect(_0x50a6f9)['not']['toBe'](_0x391fcc),expect(_0x50a6f9)['toMatch'](/^req-\d+-\d+$/),expect(_0x8d6802)['toMatch'](/^req-\d+-\d+$/),expect(_0x391fcc)['toMatch'](/^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_0x5f4e(){const _0x48bf61=['Dg9czq','tuvtu0fhrv9dt05gsuCGy29UC3rHBNrZigfYzsbKzwzPBMvK','AgfZsgfUzgXLCG','vvnfuG','zgvMyxvSDa','BNvTyMvY','u1Ltvevn','mtDywer5u2u','Dg9czuXLC3nuAgfUt3jfCxvHBa','zNvUy3rPB24','mte4nZC0EMTNsuD0','tufyx01fu1nbr0vFtevor1ri','tufyx01fu1nbr0vtx0rju1bmqvK','ywDLBNqTCMvZCg9UC2u','mZu4mdC0nKv1yKXmza','zxHLy3v0Aw9Ux3n0B3bWzwq','twvZC2fNzsbnyw5Hz2vTzw50ic0GqvbjievUzhbVAw50CYbwywXPzgf0Aw9U','twvZC2fNzvjVDxrLCIbOyxmGBwvZC2fNzsbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','tuvtu0fhrv9st0XfignVBNn0yw50CYbHCMuGzgvMAw5Lza','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1LC3nHz2uGzxzLBNrZ','Dg9czuDYzwf0zxjuAgfU','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','nZmXnJu3me93swfIvW','mZy4nZqXohPzrNvXCG','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','BwvZC2fNzv9HzgrLza','tuvtu0fhrv9brerfra','mJrmyxboCwm','lI4VlI4VyxbPl3nLC3nPB24UANm','u1Ltvevnx05pveLgsunbveLptG','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','rvHfq1vusu9ox1nut1bqruq','mZyWCKz0yM95','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','qvntsvnuqu5u','t1jdsevtvfjbve9s','Dg9nyxrJAa','tufyx1bbr0vFu0LArq','mZe0nJbzqwTbz3a','DxnLtwvZC2fNzxmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','mZqYmJa2nJb5z1LYqwq','Bg9JywXOB3n0','ywXS','uefhrv9tsvPf','uefhsu5bveLptIbJB25ZDgfUDhmGyxjLigrLzMLUzwq','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbTzxnZywDLigXLBMD0Aa','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','Dg9czurLzMLUzwq','nZK2ntG1nu1VyunVtG','BwLU','quDftLrFtu9erv9dsefor0ve','BgvUz3rO','Dg9mB3DLCKnHC2u','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','CMvWzwf0','DxnLtwvZC2fNzxm'];a0_0x5f4e=function(){return _0x48bf61;};return a0_0x5f4e();}const a0_0x346684=a0_0x3c01;(function(_0x2db131,_0x4f9680){const _0xf2fe3c=a0_0x3c01,_0x106a17=_0x2db131();while(!![]){try{const _0x25dd82=-parseInt(_0xf2fe3c(0xeb))/0x1*(-parseInt(_0xf2fe3c(0xee))/0x2)+parseInt(_0xf2fe3c(0x106))/0x3*(parseInt(_0xf2fe3c(0x10c))/0x4)+-parseInt(_0xf2fe3c(0xfc))/0x5+-parseInt(_0xf2fe3c(0xf2))/0x6+-parseInt(_0xf2fe3c(0xfd))/0x7*(parseInt(_0xf2fe3c(0x101))/0x8)+-parseInt(_0xf2fe3c(0xdb))/0x9+parseInt(_0xf2fe3c(0x10e))/0xa;if(_0x25dd82===_0x4f9680)break;else _0x106a17['push'](_0x106a17['shift']());}catch(_0x40b88f){_0x106a17['push'](_0x106a17['shift']());}}}(a0_0x5f4e,0xcf803));function a0_0x3c01(_0x496ab0,_0x386eaf){_0x496ab0=_0x496ab0-0xd8;const _0x5f4e97=a0_0x5f4e();let _0x3c01aa=_0x5f4e97[_0x496ab0];if(a0_0x3c01['NGmuBt']===undefined){var _0x53b113=function(_0x105f6c){const _0x59795f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x299422='',_0x4b6e9e='';for(let _0x11b8a9=0x0,_0xb84c00,_0x2cad55,_0x13ad4a=0x0;_0x2cad55=_0x105f6c['charAt'](_0x13ad4a++);~_0x2cad55&&(_0xb84c00=_0x11b8a9%0x4?_0xb84c00*0x40+_0x2cad55:_0x2cad55,_0x11b8a9++%0x4)?_0x299422+=String['fromCharCode'](0xff&_0xb84c00>>(-0x2*_0x11b8a9&0x6)):0x0){_0x2cad55=_0x59795f['indexOf'](_0x2cad55);}for(let _0x1be59e=0x0,_0x4feda7=_0x299422['length'];_0x1be59e<_0x4feda7;_0x1be59e++){_0x4b6e9e+='%'+('00'+_0x299422['charCodeAt'](_0x1be59e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b6e9e);};a0_0x3c01['qvFDNR']=_0x53b113,a0_0x3c01['ukFacd']={},a0_0x3c01['NGmuBt']=!![];}const _0x216fa3=_0x5f4e97[0x0],_0x4dd997=_0x496ab0+_0x216fa3,_0x14512b=a0_0x3c01['ukFacd'][_0x4dd997];return!_0x14512b?(_0x3c01aa=a0_0x3c01['qvFDNR'](_0x3c01aa),a0_0x3c01['ukFacd'][_0x4dd997]=_0x3c01aa):_0x3c01aa=_0x14512b,_0x3c01aa;}import{describe,test,expect}from'@jest/globals';describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0x96d46e=a0_0x3c01,{useMessages:_0x299422}=await import(_0x96d46e(0xd9));expect(_0x299422)['toBeDefined'](),expect(typeof _0x299422)[_0x96d46e(0xe4)](_0x96d46e(0xed));}),test('useMessages is default export',async()=>{const _0x450fd3=a0_0x3c01,module=await import('../../state/useMessages.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x450fd3(0xe8)])[_0x450fd3(0xe4)]('function'),expect(module['default'])['toBe'](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const _0x2b0765=a0_0x3c01,{useMessageCount:_0x4b6e9e}=await import(_0x2b0765(0xd9));expect(_0x4b6e9e)['toBeDefined'](),expect(typeof _0x4b6e9e)[_0x2b0765(0xe4)](_0x2b0765(0xed));});}),describe(a0_0x346684(0xf8),()=>{const _0x6172fa=a0_0x346684;test(_0x6172fa(0xf6),async()=>{const _0x42a302=_0x6172fa,{MESSAGE_ROLE:_0x11b8a9}=await import(_0x42a302(0x104));expect(_0x11b8a9)['toBeDefined'](),expect(_0x11b8a9[_0x42a302(0xe7)])['toBe']('user'),expect(_0x11b8a9['ASSISTANT'])[_0x42a302(0xe4)]('assistant'),expect(_0x11b8a9['SYSTEM'])[_0x42a302(0xe4)]('system');}),test('MESSAGE_TYPE\x20constants\x20are\x20defined',async()=>{const _0x1058ad=_0x6172fa,{MESSAGE_TYPE:_0xb84c00}=await import(_0x1058ad(0x104));expect(_0xb84c00)['toBeDefined'](),expect(_0xb84c00['USER_MESSAGE'])[_0x1058ad(0xe4)]('user-message'),expect(_0xb84c00['AGENT_RESPONSE'])[_0x1058ad(0xe4)](_0x1058ad(0xf1)),expect(_0xb84c00[_0x1058ad(0x103)])['toBe']('system-notification');}),test(_0x6172fa(0xe5),async()=>{const _0x2524f5=_0x6172fa,{MESSAGE_CONFIG:_0x2cad55}=await import('../../config/constants.js');expect(_0x2cad55)[_0x2524f5(0xda)](),expect(_0x2cad55['MAX_MESSAGE_LENGTH'])[_0x2524f5(0xda)](),expect(_0x2cad55['MAX_MESSAGES_DISPLAY'])['toBeDefined'](),expect(typeof _0x2cad55['MAX_MESSAGE_LENGTH'])[_0x2524f5(0xe4)](_0x2524f5(0xe9)),expect(typeof _0x2cad55['MAX_MESSAGES_DISPLAY'])[_0x2524f5(0xe4)](_0x2524f5(0xe9));}),test(_0x6172fa(0x112),async()=>{const _0x1461f6=_0x6172fa,{PAGINATION:_0x13ad4a}=await import('../../config/constants.js');expect(_0x13ad4a)[_0x1461f6(0xda)](),expect(_0x13ad4a['PAGE_SIZE'])[_0x1461f6(0xda)](),expect(_0x13ad4a[_0x1461f6(0x10b)])['toBeDefined'](),expect(typeof _0x13ad4a[_0x1461f6(0x111)])['toBe'](_0x1461f6(0xe9)),expect(typeof _0x13ad4a['MAX_PAGE_SIZE'])[_0x1461f6(0xe4)]('number');}),test(_0x6172fa(0xf9),async()=>{const _0xa4448f=_0x6172fa,{WS_MESSAGE_TYPE:_0x1be59e}=await import(_0xa4448f(0x104));expect(_0x1be59e)['toBeDefined'](),expect(_0x1be59e[_0xa4448f(0x100)])[_0xa4448f(0xe4)](_0xa4448f(0xff)),expect(_0x1be59e[_0xa4448f(0xdd)])['toBe']('agent_mode_changed'),expect(_0x1be59e[_0xa4448f(0x105)])[_0xa4448f(0xe4)](_0xa4448f(0xf3));});}),describe(a0_0x346684(0xfe),()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x4666e0=a0_0x3c01,{useMessages:_0x4feda7}=await import(_0x4666e0(0xd9)),{SessionManager:_0x3e98d1}=await import(_0x4666e0(0x102)),{MessageRouter:_0x1a72eb}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x1c6c96}=await import('../../api/websocket.js'),_0x2b73f6=new _0x3e98d1('localhost',0x1f90),_0x17b229=new _0x1c6c96('localhost',0x1f90),_0x307c66=new _0x1a72eb(_0x17b229);expect(_0x2b73f6)[_0x4666e0(0xda)](),expect(_0x307c66)[_0x4666e0(0xda)](),expect(typeof _0x4feda7)[_0x4666e0(0xe4)]('function');}),test('Full message management stack can be imported together',async()=>{const _0x464e80=a0_0x3c01,[_0x3d4b60,_0x4b591f,_0x3360df,_0x3a78b5,_0x544170]=await Promise[_0x464e80(0x110)]([import('../../config/constants.js'),import('../../api/session.js'),import(_0x464e80(0xfb)),import('../../api/messageRouter.js'),import(_0x464e80(0xd9))]);expect(_0x3d4b60['MESSAGE_ROLE'])['toBeDefined'](),expect(_0x3d4b60['MESSAGE_TYPE'])[_0x464e80(0xda)](),expect(_0x3d4b60['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x4b591f['SessionManager'])['toBeDefined'](),expect(_0x3360df['WebSocketManager'])[_0x464e80(0xda)](),expect(_0x3a78b5['MessageRouter'])['toBeDefined'](),expect(_0x544170[_0x464e80(0xe3)])['toBeDefined']();});}),describe(a0_0x346684(0xf4),()=>{const _0x45df26=a0_0x346684;test('Orchestrator\x20endpoint\x20can\x20be\x20used\x20for\x20message\x20operations',async()=>{const _0xeaaf6e=a0_0x3c01,{API_ENDPOINTS:_0x51affc}=await import(_0xeaaf6e(0x104));expect(_0x51affc['ORCHESTRATOR'])['toBeDefined'](),expect(_0x51affc[_0xeaaf6e(0x109)])[_0xeaaf6e(0xe4)]('/api/orchestrator');}),test(_0x45df26(0xe1),async()=>{const _0x31009b=_0x45df26,{API_ENDPOINTS:_0x1cb9d7}=await import('../../config/constants.js');expect(_0x1cb9d7[_0x31009b(0x109)])[_0x31009b(0x10a)](/^\/api\//);});}),describe('Message\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x4c898e=a0_0x346684;test(_0x4c898e(0x10d),async()=>{const _0x10c1ad=_0x4c898e,{useMessages:_0x2622e9}=await import(_0x10c1ad(0xd9));expect(_0x2622e9[_0x10c1ad(0xde)])['toBe'](0x3);}),test('useMessageCount\x20returns\x20expected\x20interface\x20shape',async()=>{const {useMessageCount:_0x3b17f3}=await import('../../state/useMessages.js');expect(_0x3b17f3['length'])['toBe'](0x1);});}),describe('Message\x20Management\x20-\x20Constants\x20Validation',()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x489b02=a0_0x3c01,{MESSAGE_CONFIG:_0x276365}=await import('../../config/constants.js');expect(_0x276365[_0x489b02(0xef)])[_0x489b02(0xfa)](0x0),expect(_0x276365['MAX_MESSAGE_LENGTH'])['toBeLessThanOrEqual'](0x186a0),expect(_0x276365[_0x489b02(0xf0)])['toBeGreaterThan'](0x0),expect(_0x276365[_0x489b02(0xf0)])['toBeLessThanOrEqual'](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x23cb0b=a0_0x3c01,{PAGINATION:_0x1c83c2}=await import(_0x23cb0b(0x104));expect(_0x1c83c2[_0x23cb0b(0x111)])['toBeGreaterThan'](0x0),expect(_0x1c83c2['PAGE_SIZE'])['toBeLessThanOrEqual'](0x3e8),expect(_0x1c83c2[_0x23cb0b(0x10b)])[_0x23cb0b(0xf7)](_0x1c83c2[_0x23cb0b(0x111)]);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0x3a097a=a0_0x3c01,{MESSAGE_ROLE:_0x1437c7}=await import(_0x3a097a(0x104));expect(_0x1437c7[_0x3a097a(0xe7)])[_0x3a097a(0xe4)](_0x1437c7[_0x3a097a(0xe7)][_0x3a097a(0xdf)]()),expect(_0x1437c7['ASSISTANT'])['toBe'](_0x1437c7[_0x3a097a(0x108)]['toLowerCase']()),expect(_0x1437c7[_0x3a097a(0xea)])[_0x3a097a(0xe4)](_0x1437c7[_0x3a097a(0xea)][_0x3a097a(0xdf)]());});}),describe(a0_0x346684(0xe0),()=>{const _0x2692a7=a0_0x346684;test(_0x2692a7(0xf5),async()=>{const _0x2809ae=_0x2692a7,{MessageRouter:_0xe36a40}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x39dc57}=await import(_0x2809ae(0xfb)),{WS_MESSAGE_TYPE:_0x556585}=await import(_0x2809ae(0x104)),_0x2db172=new _0x39dc57(_0x2809ae(0x10f),0x1f90),_0x3f95d4=new _0xe36a40(_0x2db172);expect(_0x3f95d4[_0x2809ae(0xe6)](_0x556585['MESSAGE_ADDED']))[_0x2809ae(0xe4)](!![]),expect(_0x3f95d4[_0x2809ae(0xe6)](_0x556585[_0x2809ae(0xdd)]))['toBe'](!![]);});}),describe('Message\x20Management\x20-\x20Error\x20Handling',()=>{const _0xb57250=a0_0x346684;test(_0xb57250(0xd8),async()=>{const _0x3e659d=_0xb57250,{MESSAGE_CONFIG:_0x3c8db8}=await import('../../config/constants.js');expect(_0x3c8db8[_0x3e659d(0xef)])['toBeDefined'](),expect(typeof _0x3c8db8['MAX_MESSAGE_LENGTH'])['toBe']('number');const _0x45fe21='a'[_0x3e659d(0xe2)](_0x3c8db8[_0x3e659d(0xef)]+0x1);expect(_0x45fe21['length'])['toBeGreaterThan'](_0x3c8db8[_0x3e659d(0xef)]);}),test('MESSAGE_CONFIG\x20enforces\x20maximum\x20display\x20messages',async()=>{const _0x87a7d8=_0xb57250,{MESSAGE_CONFIG:_0x3bfd0d}=await import(_0x87a7d8(0x104));expect(_0x3bfd0d['MAX_MESSAGES_DISPLAY'])[_0x87a7d8(0xda)](),expect(typeof _0x3bfd0d[_0x87a7d8(0xf0)])[_0x87a7d8(0xe4)]('number'),expect(_0x3bfd0d['MAX_MESSAGES_DISPLAY'])['toBeGreaterThan'](0x0);});}),describe(a0_0x346684(0x107),()=>{test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x1c7d82=a0_0x3c01,{PAGINATION:_0x54f164}=await import(_0x1c7d82(0x104)),_0x51ac6f=0x0,_0x5d6d1b=_0x51ac6f*_0x54f164['PAGE_SIZE'];expect(_0x5d6d1b)['toBe'](0x0);const _0x178b8a=0x1,_0xc89684=_0x178b8a*_0x54f164['PAGE_SIZE'];expect(_0xc89684)['toBe'](_0x54f164[_0x1c7d82(0x111)]);}),test('PAGINATION\x20limit\x20does\x20not\x20exceed\x20MAX_PAGE_SIZE',async()=>{const _0x305571=a0_0x3c01,{PAGINATION:_0x2b364d}=await import(_0x305571(0x104)),_0x1ab011=0x3e8,_0x49f77e=Math[_0x305571(0xdc)](_0x1ab011,_0x2b364d['MAX_PAGE_SIZE']);expect(_0x49f77e)[_0x305571(0xec)](_0x2b364d['MAX_PAGE_SIZE']);});});
|