@loxia-labs/loxia-autopilot-one 1.0.16 → 1.0.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +2 -2
- package/web-ui/build/static/index-CRkOpV4k.css +1 -0
- package/web-ui/build/static/index-DzOU48ux.js +367 -0
- package/web-ui/build/static/index-DFmFvOoy.css +0 -1
- package/web-ui/build/static/index-DOk0l6Kf.js +0 -348
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xf2dfb8=a0_0x3eb8;function a0_0x364a(){const _0x5e1416=['BM90','mty1nde2vvr5ywzN','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','Ag9ZDa','BgvUz3rO','mteXmJGWodbtD1PSBgC','Cg9YDa','z2v0u2vZC2LVBKLUzM8','lI4VlI4VyxbPl3nLC3nPB24UANm','Dg9czurLzMLUzwq','veLnsu5h','CgvUzgLUz1jLCxvLC3rZ','DxjS','ndmWsenzqNHp','DMvUzg9Ys2v5C0nVDw50','Dg9iyxzLuhjVCgvYDhK','BM90lweTzNvUy3rPB24','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Bg94AwfbCgLlzxK','z2v0u3rHDhm','v0vcu09ds0vux1bjtKDFsu5urvjwquW','AgfZsgfUzgXLCG','su1br0vFuKvtvuXu','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','rvHfq1vusu9ox1nut1bqruq','q09otKvdveLptL9tvefurq','DgvZDc1OB3n0','Dg9uAhjVDW','A2v5','mtHRwwTtrwG','nZC1mZv2wKHtyKe','DgvZDc1TzxnZywDL','quDftLrFtu9erq','tuvtu0fhrv9brerfra','u2vZC2LVBK1HBMfNzxiGy2XLyxiOksbYzxnLDhmGywXSihn0yxrL','C2vZC2LVBKLK','v2vIu29JA2v0twfUywDLCIbPBML0AwfSAxPLCYb3AxrOignVCNjLy3qGC3rHDgu','BNvTyMvY','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbjBxbVCNrZ','zgLZy29UBMvJDgvK','ywXSB3DLzc10ExbL','Dg9nyxrJAa','yMXVy2TLzc10ExbL','CMvNAxn0zxjiyw5KBgvY','DgvZDc0XmJm','mZv1wLDJvfq','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbfCNjVCIbiyw5KBgLUzW','Dg9czvrYDxrOEq','u0LerujbuL9xsurusa','revgqvvmvf9qt1ju','mtuWmJyWnfbus0zYzq','y29UBMvJDgvK','AxnwywXPza','Dg9fCxvHBa','Bg9JywXOB3n0','mta4ntmWEvDdzg9Y','odaZntq1DhfqEwLz','v2vIu29JA2v0twfUywDLCIbOzwXWzxiGBwv0Ag9KCYb3B3jR','Dg9czq','mMrSrxjABq','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','revgqvvmvf9it1nu','mti2odeYmfPODMvvsa','BwLKzgXLD2fYzq','ChjVAMvJDerPCG','zNvUy3rPB24','sgfUzgXLCIbTDxn0igjLigeGzNvUy3rPB24','tKvuv09ssW','quDftLrFtu9erv9dsefor0ve','DxnL','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLignHBIbIzsbHzgrLzcbHBMqGCMvTB3zLza','vuLFreLnru5tsu9ouW','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','tuvtu0fhrv9msvnux0HfsuDiva','u2vZC2LVBK1HBMfNzxiGAw5PDgLHBgL6zxmGD2L0AcbJB3jYzwn0ihn0yxrL','mtf5svnQD2W','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','DgvZDc1RzxK','reLtq09otKvdveve','DgvZDa','DMvUzg9Ys2v5CW'];a0_0x364a=function(){return _0x5e1416;};return a0_0x364a();}(function(_0x5ce7c3,_0x5cc1ac){const _0x403441=a0_0x3eb8,_0xd96545=_0x5ce7c3();while(!![]){try{const _0x2721a8=-parseInt(_0x403441(0x116))/0x1*(parseInt(_0x403441(0x11a))/0x2)+parseInt(_0x403441(0x111))/0x3+-parseInt(_0x403441(0x11d))/0x4+-parseInt(_0x403441(0x117))/0x5*(parseInt(_0x403441(0xfc))/0x6)+-parseInt(_0x403441(0x10c))/0x7*(-parseInt(_0x403441(0x131))/0x8)+parseInt(_0x403441(0xfd))/0x9*(-parseInt(_0x403441(0x13d))/0xa)+-parseInt(_0x403441(0x12a))/0xb*(-parseInt(_0x403441(0x135))/0xc);if(_0x2721a8===_0x5cc1ac)break;else _0xd96545['push'](_0xd96545['shift']());}catch(_0x47f32d){_0xd96545['push'](_0xd96545['shift']());}}}(a0_0x364a,0x3de15));import{describe,test,expect}from'@jest/globals';function a0_0x3eb8(_0x2d9b26,_0x51724a){_0x2d9b26=_0x2d9b26-0xf2;const _0x364a05=a0_0x364a();let _0x3eb892=_0x364a05[_0x2d9b26];if(a0_0x3eb8['gIEKuv']===undefined){var _0x468a8e=function(_0x1a4ff2){const _0x2d2712='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c3603='',_0x5ebb71='';for(let _0x2ac0c4=0x0,_0x968808,_0x37dceb,_0x30dfdc=0x0;_0x37dceb=_0x1a4ff2['charAt'](_0x30dfdc++);~_0x37dceb&&(_0x968808=_0x2ac0c4%0x4?_0x968808*0x40+_0x37dceb:_0x37dceb,_0x2ac0c4++%0x4)?_0x3c3603+=String['fromCharCode'](0xff&_0x968808>>(-0x2*_0x2ac0c4&0x6)):0x0){_0x37dceb=_0x2d2712['indexOf'](_0x37dceb);}for(let _0x3566f5=0x0,_0x12d8dc=_0x3c3603['length'];_0x3566f5<_0x12d8dc;_0x3566f5++){_0x5ebb71+='%'+('00'+_0x3c3603['charCodeAt'](_0x3566f5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ebb71);};a0_0x3eb8['MPWxWu']=_0x468a8e,a0_0x3eb8['lhiUSx']={},a0_0x3eb8['gIEKuv']=!![];}const _0x5a5616=_0x364a05[0x0],_0x5de846=_0x2d9b26+_0x5a5616,_0x32b650=a0_0x3eb8['lhiUSx'][_0x5de846];return!_0x32b650?(_0x3eb892=a0_0x3eb8['MPWxWu'](_0x3eb892),a0_0x3eb8['lhiUSx'][_0x5de846]=_0x3eb892):_0x3eb892=_0x32b650,_0x3eb892;}import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe(a0_0xf2dfb8(0x105),()=>{test('constants module exports all required constants',async()=>{const _0x1e8d97=a0_0x3eb8,_0x3c3603=await import(_0x1e8d97(0x141));expect(_0x3c3603[_0x1e8d97(0x126)])['toBeDefined'](),expect(_0x3c3603['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x3c3603['PAGINATION'])['toBeDefined'](),expect(_0x3c3603[_0x1e8d97(0x13a)])['toBeDefined'](),expect(_0x3c3603['NETWORK'])['toBeDefined'](),expect(_0x3c3603[_0x1e8d97(0xf8)])[_0x1e8d97(0x139)](),expect(_0x3c3603[_0x1e8d97(0xff)])[_0x1e8d97(0x139)](),expect(_0x3c3603['WS_MESSAGE_TYPE'])['toBeDefined'](),expect(_0x3c3603['API_ENDPOINTS'])['toBeDefined'](),expect(_0x3c3603['COMMANDS'])[_0x1e8d97(0x139)](),expect(_0x3c3603[_0x1e8d97(0x122)][_0x1e8d97(0x11c)])[_0x1e8d97(0x119)]('localhost'),expect(_0x3c3603[_0x1e8d97(0x122)]['DEFAULT_PORT'])['toBe'](0x1f90),expect(_0x3c3603['CONNECTION_STATE']['DISCONNECTED'])[_0x1e8d97(0x119)](_0x1e8d97(0x106)),expect(_0x3c3603['CONNECTION_STATE']['CONNECTED'])['toBe'](_0x1e8d97(0x112));}),test('WebSocketManager class can be imported',async()=>{const _0x3f29c3=a0_0x3eb8,{WebSocketManager:_0x5ebb71}=await import('../../api/websocket.js');expect(_0x5ebb71)['toBeDefined'](),expect(typeof _0x5ebb71)['toBe']('function');const _0x2ac0c4=new _0x5ebb71(_0x3f29c3(0x115),0x1f90);expect(_0x2ac0c4)['toBeDefined'](),expect(_0x2ac0c4[_0x3f29c3(0x133)])[_0x3f29c3(0x119)]('localhost'),expect(_0x2ac0c4['port'])['toBe'](0x1f90),expect(_0x2ac0c4[_0x3f29c3(0x13c)])['toBe']('ws://localhost:8080');}),test('SessionManager class can be imported',async()=>{const _0x3ba311=a0_0x3eb8,{SessionManager:_0x968808}=await import('../../api/session.js');expect(_0x968808)['toBeDefined'](),expect(typeof _0x968808)[_0x3ba311(0x119)](_0x3ba311(0x120));const _0x37dceb=new _0x968808(_0x3ba311(0x115),0x1f90);expect(_0x37dceb)[_0x3ba311(0x139)](),expect(_0x37dceb['host'])['toBe']('localhost'),expect(_0x37dceb[_0x3ba311(0x136)])['toBe'](0x1f90),expect(_0x37dceb['baseUrl'])[_0x3ba311(0x119)]('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0x2fc7cb=a0_0x3eb8,{MessageRouter:_0x30dfdc}=await import(_0x2fc7cb(0x127)),{WebSocketManager:_0x3566f5}=await import(_0x2fc7cb(0x11b));expect(_0x30dfdc)[_0x2fc7cb(0x139)](),expect(typeof _0x30dfdc)['toBe'](_0x2fc7cb(0x120));const _0x12d8dc=new _0x3566f5('localhost',0x1f90),_0x3eb3d5=new _0x30dfdc(_0x12d8dc);expect(_0x3eb3d5)['toBeDefined'](),expect(_0x3eb3d5['ws'])[_0x2fc7cb(0x119)](_0x12d8dc);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x283429=a0_0x3eb8,{loggingMiddleware:_0x1d6155,filterMiddleware:_0x4213bf,transformMiddleware:_0x355694,timestampMiddleware:_0x524c3b,validationMiddleware:_0x169ed1}=await import(_0x283429(0x127));expect(typeof _0x1d6155)['toBe']('function'),expect(typeof _0x4213bf)['toBe']('function'),expect(typeof _0x355694)['toBe']('function'),expect(typeof _0x524c3b)[_0x283429(0x119)](_0x283429(0x120)),expect(typeof _0x169ed1)[_0x283429(0x119)]('function');}),test('useConnection hook can be imported',async()=>{const _0x55bad9=a0_0x3eb8,{useConnection:_0x25f4f2,useConnectionStatus:_0x371be7}=await import('../../state/useConnection.js');expect(_0x25f4f2)[_0x55bad9(0x139)](),expect(typeof _0x25f4f2)[_0x55bad9(0x119)]('function'),expect(_0x371be7)['toBeDefined'](),expect(typeof _0x371be7)['toBe'](_0x55bad9(0x120));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Basic\x20Functionality',()=>{const _0xcb01f3=a0_0xf2dfb8;test(_0xcb01f3(0x103),async()=>{const _0xb70966=_0xcb01f3,{WebSocketManager:_0x37572b}=await import(_0xb70966(0x11b)),{CONNECTION_STATE:_0xdc68b5}=await import(_0xb70966(0x141)),_0x1d586e=new _0x37572b(_0xb70966(0xf9),0x2382);expect(_0x1d586e['state'])['toBe'](_0xdc68b5['DISCONNECTED']),expect(_0x1d586e['sessionId'])[_0xb70966(0x119)](null),expect(_0x1d586e['messageQueue'])['toEqual']([]),expect(_0x1d586e['reconnectAttempts'])[_0xb70966(0x119)](0x0),expect(_0x1d586e['shouldReconnect'])['toBe'](!![]);}),test(_0xcb01f3(0x129),async()=>{const _0x54b2fb=_0xcb01f3,{SessionManager:_0x5008f3}=await import('../../api/session.js'),_0xf7ae92=new _0x5008f3('test-host',0x2382);expect(_0xf7ae92[_0x54b2fb(0x102)])['toBe'](null),expect(_0xf7ae92['projectDir'])[_0x54b2fb(0x119)](null),expect(_0xf7ae92[_0x54b2fb(0x142)])['toBe'](null),expect(_0xf7ae92[_0x54b2fb(0x12f)])[_0x54b2fb(0x114)]({}),expect(_0xf7ae92[_0x54b2fb(0x113)]())['toBe'](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x2539dd=_0xcb01f3,{MessageRouter:_0x3aede1}=await import(_0x2539dd(0x127)),{WebSocketManager:_0x2336bc}=await import(_0x2539dd(0x11b)),{WS_MESSAGE_TYPE:_0x28fb0a}=await import(_0x2539dd(0x141)),_0x4d2332=new _0x2336bc(_0x2539dd(0x115),0x1f90),_0x2a0d0e=new _0x3aede1(_0x4d2332);expect(_0x2a0d0e['hasHandler'](_0x28fb0a[_0x2539dd(0x100)]))[_0x2539dd(0x119)](!![]),expect(_0x2a0d0e[_0x2539dd(0xf4)](_0x28fb0a[_0x2539dd(0x123)]))[_0x2539dd(0x119)](!![]),expect(_0x2a0d0e['hasHandler'](_0x28fb0a[_0x2539dd(0xf7)]))[_0x2539dd(0x119)](!![]),expect(_0x2a0d0e[_0x2539dd(0xf4)](_0x28fb0a['COMPACTION_EVENT']))['toBe'](!![]),expect(_0x2a0d0e['hasHandler'](_0x28fb0a[_0x2539dd(0xf5)]))[_0x2539dd(0x119)](!![]);}),test(_0xcb01f3(0x125),async()=>{const _0x9df6dd=_0xcb01f3,{MessageRouter:_0x27cbed}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x5b6082}=await import(_0x9df6dd(0x11b)),_0x8898bf=new _0x5b6082('localhost',0x1f90),_0x32fb95=new _0x27cbed(_0x8898bf),_0x22e979=_0x5d8dba=>_0x5d8dba;expect(_0x32fb95['middleware']['length'])[_0x9df6dd(0x12b)](0x0),_0x32fb95[_0x9df6dd(0x124)](_0x22e979);const _0x58d2b4=_0x32fb95['middleware'][_0x9df6dd(0x134)];expect(_0x58d2b4)['toBeGreaterThan'](0x0),_0x32fb95['removeMiddleware'](_0x22e979),expect(_0x32fb95[_0x9df6dd(0x11e)][_0x9df6dd(0x134)])[_0x9df6dd(0x119)](_0x58d2b4-0x1);}),test('SessionManager\x20helper\x20methods\x20work',async()=>{const _0x684dee=_0xcb01f3,{SessionManager:_0x48a90a}=await import(_0x684dee(0x138)),_0x1ef58c=new _0x48a90a(_0x684dee(0x115),0x1f90);expect(_0x1ef58c['getSessionId']())[_0x684dee(0x119)](null),expect(_0x1ef58c['getProjectDir']())[_0x684dee(0x119)](null),expect(_0x1ef58c[_0x684dee(0x113)]())[_0x684dee(0x119)](![]);const _0x2d39bb=_0x1ef58c[_0x684dee(0x137)]();expect(_0x2d39bb)['toHaveProperty'](_0x684dee(0x102)),expect(_0x2d39bb)['toHaveProperty']('projectDir'),expect(_0x2d39bb)['toHaveProperty']('hasLoxiaKey'),expect(_0x2d39bb)[_0x684dee(0x13f)](_0x684dee(0x13e));}),test(_0xcb01f3(0x118),async()=>{const _0x33dacf=_0xcb01f3,{WebSocketManager:_0x208485}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x315a6f}=await import('../../config/constants.js'),_0x54ed86=new _0x208485('localhost',0x1f90);expect(_0x54ed86['getState']())[_0x33dacf(0x119)](_0x315a6f[_0x33dacf(0x12d)]),expect(_0x54ed86['isConnected']())['toBe'](![]),expect(_0x54ed86['getSessionId']())['toBe'](null);const _0x6e5b0f=_0x54ed86[_0x33dacf(0xf2)]();expect(_0x6e5b0f)['toHaveProperty']('state'),expect(_0x6e5b0f)['toHaveProperty'](_0x33dacf(0x102)),expect(_0x6e5b0f)['toHaveProperty']('reconnectAttempts'),expect(_0x6e5b0f)['toHaveProperty']('queuedMessages'),expect(_0x6e5b0f)['toHaveProperty'](_0x33dacf(0x13b));}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0x10d05b=_0xcb01f3,{MessageRouter:_0x3d8a94}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2be739}=await import('../../api/websocket.js'),_0x20af0e=new _0x2be739('localhost',0x1f90),_0x1203c3=new _0x3d8a94(_0x20af0e),_0x159f37=()=>{};expect(_0x1203c3[_0x10d05b(0xf4)]('test-message'))['toBe'](![]),_0x1203c3[_0x10d05b(0x10a)](_0x10d05b(0xfe),_0x159f37),expect(_0x1203c3[_0x10d05b(0xf4)]('test-message'))[_0x10d05b(0x119)](!![]),_0x1203c3['unregisterHandler']('test-message'),expect(_0x1203c3['hasHandler'](_0x10d05b(0xfe)))[_0x10d05b(0x119)](![]);}),test('MessageRouter\x20middleware\x20helpers\x20create\x20valid\x20middleware',async()=>{const _0x4e3fd6=_0xcb01f3,{loggingMiddleware:_0x188e09,timestampMiddleware:_0x112bc3,filterMiddleware:_0x15ea67}=await import(_0x4e3fd6(0x127)),_0x40761a=_0x188e09();expect(typeof _0x40761a)[_0x4e3fd6(0x119)]('function');const _0x115e31=_0x112bc3();expect(typeof _0x115e31)['toBe'](_0x4e3fd6(0x120));const _0x41049c={'type':_0x4e3fd6(0x12e)},_0x1f59ba=_0x115e31(_0x41049c);expect(_0x1f59ba)[_0x4e3fd6(0x13f)]('receivedAt'),expect(_0x1f59ba['type'])[_0x4e3fd6(0x119)](_0x4e3fd6(0x12e));const _0x510355=_0x15ea67(['allowed-type']);expect(typeof _0x510355)[_0x4e3fd6(0x119)](_0x4e3fd6(0x120)),expect(_0x510355({'type':_0x4e3fd6(0x107)}))[_0x4e3fd6(0x10e)](),expect(_0x510355({'type':_0x4e3fd6(0x109)}))[_0x4e3fd6(0x119)](null);}),test('Constants\x20have\x20no\x20magic\x20numbers',async()=>{const _0x4d9540=_0xcb01f3,_0xe24784=await import(_0x4d9540(0x141));expect(typeof _0xe24784['TIMING']['WEBSOCKET_RECONNECT_DELAY'])['toBe'](_0x4d9540(0x104)),expect(typeof _0xe24784['TIMING'][_0x4d9540(0xf3)])[_0x4d9540(0x119)](_0x4d9540(0x104)),expect(typeof _0xe24784['NETWORK'][_0x4d9540(0x110)])['toBe']('number'),expect(typeof _0xe24784[_0x4d9540(0x122)]['MAX_RETRIES'])['toBe'](_0x4d9540(0x104)),expect(typeof _0xe24784['NETWORK']['HTTP_TIMEOUT'])['toBe']('number'),expect(typeof _0xe24784['UI_DIMENSIONS'][_0x4d9540(0x128)])[_0x4d9540(0x119)](_0x4d9540(0x104)),expect(typeof _0xe24784['UI_DIMENSIONS'][_0x4d9540(0x10f)])['toBe'](_0x4d9540(0x104));});}),describe(a0_0xf2dfb8(0x10d),()=>{const _0x3238da=a0_0xf2dfb8;test(_0x3238da(0x132),async()=>{const _0x455d89=_0x3238da,{MessageRouter:_0x249460}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x2420f6}=await import('../../api/websocket.js'),_0x135f35=new _0x2420f6('localhost',0x1f90),_0x1471d6=new _0x249460(_0x135f35);expect(()=>{const _0x42b5da=a0_0x3eb8;_0x1471d6['registerHandler'](_0x42b5da(0x12e),_0x42b5da(0x140));})[_0x455d89(0xfa)](_0x455d89(0x121));}),test('MessageRouter\x20throws\x20on\x20invalid\x20middleware',async()=>{const _0xb28784=_0x3238da,{MessageRouter:_0x138462}=await import(_0xb28784(0x127)),{WebSocketManager:_0x428ed1}=await import('../../api/websocket.js'),_0x27a2b8=new _0x428ed1(_0xb28784(0x115),0x1f90),_0x1c6188=new _0x138462(_0x27a2b8);expect(()=>{const _0x582c57=_0xb28784;_0x1c6188[_0x582c57(0x124)]('not-a-function');})[_0xb28784(0xfa)]('Middleware\x20must\x20be\x20a\x20function');}),test(_0x3238da(0x101),async()=>{const _0x16a791=_0x3238da,{SessionManager:_0x178172}=await import(_0x16a791(0x138)),_0x1fbc10=new _0x178172('localhost',0x1f90);_0x1fbc10['sessionId']=_0x16a791(0x10b),_0x1fbc10[_0x16a791(0x11f)]='/test/dir',_0x1fbc10[_0x16a791(0x142)]=_0x16a791(0x12c),_0x1fbc10[_0x16a791(0x12f)]={'openai':_0x16a791(0xfb)},expect(_0x1fbc10[_0x16a791(0x113)]())[_0x16a791(0x119)](!![]),_0x1fbc10['clear'](),expect(_0x1fbc10[_0x16a791(0x102)])['toBe'](null),expect(_0x1fbc10['projectDir'])['toBe'](null),expect(_0x1fbc10[_0x16a791(0x142)])['toBe'](null),expect(_0x1fbc10['vendorKeys'])['toEqual']({}),expect(_0x1fbc10[_0x16a791(0x113)]())['toBe'](![]);}),test(_0x3238da(0xf6),async()=>{const _0x357cc1=_0x3238da,{WebSocketManager:_0x10df33}=await import('../../api/websocket.js'),_0x278df0=new _0x10df33('localhost',0x1f90),_0x4e4b0b=_0x278df0['generateRequestId'](),_0x2b6098=_0x278df0['generateRequestId'](),_0x493724=_0x278df0['generateRequestId']();expect(_0x4e4b0b)[_0x357cc1(0x130)][_0x357cc1(0x119)](_0x2b6098),expect(_0x2b6098)[_0x357cc1(0x130)]['toBe'](_0x493724),expect(_0x4e4b0b)['not'][_0x357cc1(0x119)](_0x493724),expect(_0x4e4b0b)['toMatch'](/^req-\d+-\d+$/),expect(_0x2b6098)[_0x357cc1(0x108)](/^req-\d+-\d+$/),expect(_0x493724)[_0x357cc1(0x108)](/^req-\d+-\d+$/);});});
|
|
1
|
+
const a0_0x237a75=a0_0xc46e;function a0_0xc46e(_0x210c20,_0x354964){_0x210c20=_0x210c20-0xd4;const _0x5e0214=a0_0x5e02();let _0xc46edb=_0x5e0214[_0x210c20];if(a0_0xc46e['XOngOr']===undefined){var _0x2df674=function(_0x4b73bd){const _0x2aea9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xa3e356='',_0x5c7525='';for(let _0x3fc95b=0x0,_0x4b6940,_0x40ddd8,_0x18ebdd=0x0;_0x40ddd8=_0x4b73bd['charAt'](_0x18ebdd++);~_0x40ddd8&&(_0x4b6940=_0x3fc95b%0x4?_0x4b6940*0x40+_0x40ddd8:_0x40ddd8,_0x3fc95b++%0x4)?_0xa3e356+=String['fromCharCode'](0xff&_0x4b6940>>(-0x2*_0x3fc95b&0x6)):0x0){_0x40ddd8=_0x2aea9f['indexOf'](_0x40ddd8);}for(let _0x58c33c=0x0,_0x552742=_0xa3e356['length'];_0x58c33c<_0x552742;_0x58c33c++){_0x5c7525+='%'+('00'+_0xa3e356['charCodeAt'](_0x58c33c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c7525);};a0_0xc46e['NDLnqs']=_0x2df674,a0_0xc46e['zsREos']={},a0_0xc46e['XOngOr']=!![];}const _0x598ee3=_0x5e0214[0x0],_0x3d29b6=_0x210c20+_0x598ee3,_0x12baec=a0_0xc46e['zsREos'][_0x3d29b6];return!_0x12baec?(_0xc46edb=a0_0xc46e['NDLnqs'](_0xc46edb),a0_0xc46e['zsREos'][_0x3d29b6]=_0xc46edb):_0xc46edb=_0x12baec,_0xc46edb;}(function(_0x4cecfb,_0x5aace9){const _0x3cb2b2=a0_0xc46e,_0x3c5e7a=_0x4cecfb();while(!![]){try{const _0x35abd9=-parseInt(_0x3cb2b2(0xef))/0x1+parseInt(_0x3cb2b2(0x123))/0x2*(parseInt(_0x3cb2b2(0x10c))/0x3)+parseInt(_0x3cb2b2(0xdb))/0x4+-parseInt(_0x3cb2b2(0xdc))/0x5+parseInt(_0x3cb2b2(0xe8))/0x6+parseInt(_0x3cb2b2(0x103))/0x7+-parseInt(_0x3cb2b2(0x122))/0x8*(parseInt(_0x3cb2b2(0x116))/0x9);if(_0x35abd9===_0x5aace9)break;else _0x3c5e7a['push'](_0x3c5e7a['shift']());}catch(_0x5c051c){_0x3c5e7a['push'](_0x3c5e7a['shift']());}}}(a0_0x5e02,0xe1d4f));import{describe,test,expect}from'@jest/globals';import{fileURLToPath}from'url';function a0_0x5e02(){const _0x6e7dee=['BwLKzgXLD2fYzq','q09ntuforfm','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','ntq0nty0ngTdq2zUtW','mZK5ndKYmgDwzevVta','uefhsu5bveLptG','z2v0u2vZC2LVBKLK','CMvTB3zLtwLKzgXLD2fYzq','Bg94AwfbCgLlzxK','z2v0uhjVAMvJDerPCG','BNvTyMvY','qvbjx0vorfbpsu5uuW','Dg9czvrYDxrOEq','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','BwvZC2fNzvf1zxvL','su1br0vFuKvtvuXu','mJC2mJyXnNLfB1vNtG','DMvUzg9Ys2v5CW','Dw5YzwDPC3rLCKHHBMrSzxi','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLignHBIbIzsbHzgrLzcbHBMqGCMvTB3zLza','ChjVAMvJDerPCG','CMvNAxn0zxjiyw5KBgvY','revgqvvmvf9it1nu','mteZodK4mwTPBeXNDa','q09otKvdveLptL9tvefurq','AxnwywXPza','v1nFtuvtu0fhrv9uwvbf','yMXVy2TLzc10ExbL','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','AgfZsgfUzgXLCG','l3rLC3qVzgLY','reLtq09otKvdveve','Bg9JywXOB3n0','DgvZDc1OB3n0','revgqvvmvf9qt1ju','C2vZC2LVBKLK','z2v0u3rHDhm','Dg9czq','Dg9czurLzMLUzwq','BM90','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','z2vUzxjHDgvszxf1zxn0swq','Dg9iyxzLuhjVCgvYDhK','nJC3mJm2mhHwB3jsCG','sfruuf9usu1ft1vu','BM90lweTzNvUy3rPB24','twvZC2fNzvjVDxrLCIbJyw4GCMvNAxn0zxiGyw5KihvUCMvNAxn0zxiGAgfUzgXLCNm','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','DgvZDa','u2vZC2LVBK1HBMfNzxiGy2XLyxiOksbYzxnLDhmGywXSihn0yxrL','CgvUzgLUz1jLCxvLC3rZ','CMvJzwL2zwrbDa','ndvMs0vKs0S','v0vcu09ds0vux1bjtKDFsu5urvjwquW','zgLZy29UBMvJDgvK','q09otKvdveve','tKvuv09ssW','DgvZDc1RzxK','u0LerujbuL9xsurusa','CxvLDwvKtwvZC2fNzxm','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','tuvtu0fhrv9brerfra','mtq3otKXnvHhtw1Mzq','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbcyxnPyYbgDw5JDgLVBMfSAxr5','C2HVDwXKuMvJB25Uzwn0','AxndB25Uzwn0zwq','veLnsu5h','DgvZDc1TzxnZywDL','y2XLyxi','zNvUy3rPB24','Dg9fCxvHBa','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','A2v5','odbjyLPoALC','mJi5mdy2BejKwvLJ','v0vcu09ds0vux1jfq09otKvdvf9eruXbwq','vuLFreLnru5tsu9ouW','DxnL','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLigHLBhbLCNmGy3jLyxrLihzHBgLKig1PzgrSzxDHCMu','quDftLrFtu9erq','lI4VlI4VyxbPl3nLC3nPB24UANm','DxjS'];a0_0x5e02=function(){return _0x6e7dee;};return a0_0x5e02();}import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe('Terminal\x20UI\x20Infrastructure\x20-\x20Imports',()=>{test('constants module exports all required constants',async()=>{const _0x2f3638=a0_0xc46e,_0xa3e356=await import(_0x2f3638(0xda));expect(_0xa3e356['UI_DIMENSIONS'])['toBeDefined'](),expect(_0xa3e356['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0xa3e356[_0x2f3638(0xdd)])[_0x2f3638(0xfe)](),expect(_0xa3e356[_0x2f3638(0x11b)])['toBeDefined'](),expect(_0xa3e356['NETWORK'])[_0x2f3638(0xfe)](),expect(_0xa3e356[_0x2f3638(0xf0)])['toBeDefined'](),expect(_0xa3e356[_0x2f3638(0xd5)])[_0x2f3638(0xfe)](),expect(_0xa3e356[_0x2f3638(0xf2)])['toBeDefined'](),expect(_0xa3e356[_0x2f3638(0xe3)])['toBeDefined'](),expect(_0xa3e356[_0x2f3638(0xd9)])['toBeDefined'](),expect(_0xa3e356[_0x2f3638(0x110)][_0x2f3638(0xee)])[_0x2f3638(0xfd)]('localhost'),expect(_0xa3e356['NETWORK'][_0x2f3638(0xfa)])['toBe'](0x1f90),expect(_0xa3e356[_0x2f3638(0xf0)][_0x2f3638(0xf7)])['toBe'](_0x2f3638(0x10e)),expect(_0xa3e356['CONNECTION_STATE'][_0x2f3638(0x10f)])['toBe']('connected');}),test('WebSocketManager class can be imported',async()=>{const _0xd7672e=a0_0xc46e,{WebSocketManager:_0x5c7525}=await import('../../api/websocket.js');expect(_0x5c7525)['toBeDefined'](),expect(typeof _0x5c7525)['toBe']('function');const _0x3fc95b=new _0x5c7525(_0xd7672e(0xf8),0x1f90);expect(_0x3fc95b)['toBeDefined'](),expect(_0x3fc95b['host'])[_0xd7672e(0xfd)](_0xd7672e(0xf8)),expect(_0x3fc95b['port'])[_0xd7672e(0xfd)](0x1f90),expect(_0x3fc95b[_0xd7672e(0xd7)])['toBe']('ws://localhost:8080');}),test('SessionManager class can be imported',async()=>{const _0xc17eb=a0_0xc46e,{SessionManager:_0x4b6940}=await import('../../api/session.js');expect(_0x4b6940)['toBeDefined'](),expect(typeof _0x4b6940)['toBe']('function');const _0x40ddd8=new _0x4b6940('localhost',0x1f90);expect(_0x40ddd8)[_0xc17eb(0xfe)](),expect(_0x40ddd8['host'])['toBe'](_0xc17eb(0xf8)),expect(_0x40ddd8['port'])[_0xc17eb(0xfd)](0x1f90),expect(_0x40ddd8['baseUrl'])[_0xc17eb(0xfd)]('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0x40bce3=a0_0xc46e,{MessageRouter:_0x18ebdd}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x58c33c}=await import('../../api/websocket.js');expect(_0x18ebdd)['toBeDefined'](),expect(typeof _0x18ebdd)[_0x40bce3(0xfd)]('function');const _0x552742=new _0x58c33c(_0x40bce3(0xf8),0x1f90),_0x59dd54=new _0x18ebdd(_0x552742);expect(_0x59dd54)['toBeDefined'](),expect(_0x59dd54['ws'])['toBe'](_0x552742);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x2089e0=a0_0xc46e,{loggingMiddleware:_0xa2396a,filterMiddleware:_0x54e3e4,transformMiddleware:_0x1d2122,timestampMiddleware:_0x11966c,validationMiddleware:_0x1d660a}=await import('../../api/messageRouter.js');expect(typeof _0xa2396a)['toBe']('function'),expect(typeof _0x54e3e4)['toBe'](_0x2089e0(0x11e)),expect(typeof _0x1d2122)['toBe'](_0x2089e0(0x11e)),expect(typeof _0x11966c)[_0x2089e0(0xfd)](_0x2089e0(0x11e)),expect(typeof _0x1d660a)[_0x2089e0(0xfd)]('function');}),test('useConnection hook can be imported',async()=>{const _0x81cfd2=a0_0xc46e,{useConnection:_0x582f7d,useConnectionStatus:_0x491e37}=await import(_0x81cfd2(0xf4));expect(_0x582f7d)[_0x81cfd2(0xfe)](),expect(typeof _0x582f7d)['toBe']('function'),expect(_0x491e37)['toBeDefined'](),expect(typeof _0x491e37)[_0x81cfd2(0xfd)](_0x81cfd2(0x11e));});}),describe(a0_0x237a75(0x118),()=>{const _0x27908d=a0_0x237a75;test('WebSocketManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x23d51f=a0_0xc46e,{WebSocketManager:_0x1bba12}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x200cb}=await import('../../config/constants.js'),_0x426b59=new _0x1bba12('test-host',0x2382);expect(_0x426b59['state'])[_0x23d51f(0xfd)](_0x200cb[_0x23d51f(0xf7)]),expect(_0x426b59['sessionId'])[_0x23d51f(0xfd)](null),expect(_0x426b59[_0x23d51f(0xe6)])['toEqual']([]),expect(_0x426b59['reconnectAttempts'])['toBe'](0x0),expect(_0x426b59[_0x23d51f(0x119)])[_0x23d51f(0xfd)](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0xeeb161=a0_0xc46e,{SessionManager:_0x1beb81}=await import('../../api/session.js'),_0x260bb9=new _0x1beb81(_0xeeb161(0xf9),0x2382);expect(_0x260bb9['sessionId'])[_0xeeb161(0xfd)](null),expect(_0x260bb9['projectDir'])[_0xeeb161(0xfd)](null),expect(_0x260bb9['loxiaApiKey'])['toBe'](null),expect(_0x260bb9['vendorKeys'])[_0xeeb161(0x11f)]({}),expect(_0x260bb9['isValid']())['toBe'](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x5a5917=a0_0xc46e,{MessageRouter:_0x38e8e8}=await import(_0x5a5917(0x100)),{WebSocketManager:_0x386de3}=await import(_0x5a5917(0x114)),{WS_MESSAGE_TYPE:_0x33eea3}=await import(_0x5a5917(0xda)),_0x2088b3=new _0x386de3(_0x5a5917(0xf8),0x1f90),_0x250363=new _0x38e8e8(_0x2088b3);expect(_0x250363[_0x5a5917(0xf5)](_0x33eea3[_0x5a5917(0x115)]))[_0x5a5917(0xfd)](!![]),expect(_0x250363['hasHandler'](_0x33eea3['AGENT_MODE_CHANGED']))[_0x5a5917(0xfd)](!![]),expect(_0x250363['hasHandler'](_0x33eea3['EXECUTION_STOPPED']))[_0x5a5917(0xfd)](!![]),expect(_0x250363[_0x5a5917(0xf5)](_0x33eea3['COMPACTION_EVENT']))[_0x5a5917(0xfd)](!![]),expect(_0x250363['hasHandler'](_0x33eea3[_0x5a5917(0xe7)]))[_0x5a5917(0xfd)](!![]);}),test(_0x27908d(0xeb),async()=>{const _0x55ecd4=_0x27908d,{MessageRouter:_0x4c7f90}=await import(_0x55ecd4(0x100)),{WebSocketManager:_0x76e06b}=await import('../../api/websocket.js'),_0x567ed6=new _0x76e06b(_0x55ecd4(0xf8),0x1f90),_0x4c0aed=new _0x4c7f90(_0x567ed6),_0x4241d=_0xad504a=>_0xad504a;expect(_0x4c0aed['middleware']['length'])[_0x55ecd4(0x107)](0x0),_0x4c0aed[_0x55ecd4(0x126)](_0x4241d);const _0x1dfbad=_0x4c0aed[_0x55ecd4(0xd8)]['length'];expect(_0x1dfbad)['toBeGreaterThan'](0x0),_0x4c0aed[_0x55ecd4(0xdf)](_0x4241d),expect(_0x4c0aed['middleware']['length'])['toBe'](_0x1dfbad-0x1);}),test('SessionManager\x20helper\x20methods\x20work',async()=>{const _0x1f68b2=_0x27908d,{SessionManager:_0x3dd410}=await import(_0x1f68b2(0xd6)),_0x3c580b=new _0x3dd410('localhost',0x1f90);expect(_0x3c580b['getSessionId']())['toBe'](null),expect(_0x3c580b[_0x1f68b2(0xe1)]())['toBe'](null),expect(_0x3c580b['isValid']())['toBe'](![]);const _0xe79636=_0x3c580b['getSessionInfo']();expect(_0xe79636)[_0x1f68b2(0x102)]('sessionId'),expect(_0xe79636)['toHaveProperty']('projectDir'),expect(_0xe79636)[_0x1f68b2(0x102)]('hasLoxiaKey'),expect(_0xe79636)['toHaveProperty']('vendorKeysCount');}),test('WebSocketManager\x20helper\x20methods\x20work',async()=>{const _0x575ca3=_0x27908d,{WebSocketManager:_0xc64384}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x154fa5}=await import(_0x575ca3(0xda)),_0x4d0045=new _0xc64384('localhost',0x1f90);expect(_0x4d0045['getState']())[_0x575ca3(0xfd)](_0x154fa5['DISCONNECTED']),expect(_0x4d0045[_0x575ca3(0x11a)]())['toBe'](![]),expect(_0x4d0045[_0x575ca3(0xde)]())['toBe'](null);const _0x46d087=_0x4d0045[_0x575ca3(0xfc)]();expect(_0x46d087)['toHaveProperty']('state'),expect(_0x46d087)[_0x575ca3(0x102)]('sessionId'),expect(_0x46d087)['toHaveProperty']('reconnectAttempts'),expect(_0x46d087)['toHaveProperty'](_0x575ca3(0x113)),expect(_0x46d087)['toHaveProperty'](_0x575ca3(0x10a));}),test(_0x27908d(0x106),async()=>{const _0x1206d8=_0x27908d,{MessageRouter:_0x3e9ed2}=await import(_0x1206d8(0x100)),{WebSocketManager:_0xee8c29}=await import(_0x1206d8(0x114)),_0x1dc348=new _0xee8c29('localhost',0x1f90),_0x5f2959=new _0x3e9ed2(_0x1dc348),_0x29ad3c=()=>{};expect(_0x5f2959[_0x1206d8(0xf5)](_0x1206d8(0x11c)))[_0x1206d8(0xfd)](![]),_0x5f2959[_0x1206d8(0xed)](_0x1206d8(0x11c),_0x29ad3c),expect(_0x5f2959['hasHandler']('test-message'))['toBe'](!![]),_0x5f2959[_0x1206d8(0xea)](_0x1206d8(0x11c)),expect(_0x5f2959[_0x1206d8(0xf5)]('test-message'))[_0x1206d8(0xfd)](![]);}),test(_0x27908d(0xd4),async()=>{const _0x564431=_0x27908d,{loggingMiddleware:_0x3abf5d,timestampMiddleware:_0x436ae7,filterMiddleware:_0x122513}=await import(_0x564431(0x100)),_0x5f171a=_0x3abf5d();expect(typeof _0x5f171a)['toBe']('function');const _0x3c6b8f=_0x436ae7();expect(typeof _0x3c6b8f)[_0x564431(0xfd)](_0x564431(0x11e));const _0x39993a={'type':_0x564431(0x108)},_0x36d76b=_0x3c6b8f(_0x39993a);expect(_0x36d76b)['toHaveProperty'](_0x564431(0x10b)),expect(_0x36d76b['type'])[_0x564431(0xfd)](_0x564431(0x108));const _0x3c58b1=_0x122513(['allowed-type']);expect(typeof _0x3c58b1)['toBe'](_0x564431(0x11e)),expect(_0x3c58b1({'type':'allowed-type'}))[_0x564431(0xe4)](),expect(_0x3c58b1({'type':_0x564431(0xf3)}))['toBe'](null);}),test('Constants\x20have\x20no\x20magic\x20numbers',async()=>{const _0x403942=_0x27908d,_0x248c1e=await import(_0x403942(0xda));expect(typeof _0x248c1e[_0x403942(0x11b)][_0x403942(0x124)])['toBe'](_0x403942(0xe2)),expect(typeof _0x248c1e[_0x403942(0x11b)][_0x403942(0x10d)])[_0x403942(0xfd)]('number'),expect(typeof _0x248c1e[_0x403942(0x110)]['DEFAULT_PORT'])['toBe'](_0x403942(0xe2)),expect(typeof _0x248c1e['NETWORK']['MAX_RETRIES'])[_0x403942(0xfd)]('number'),expect(typeof _0x248c1e['NETWORK'][_0x403942(0x104)])[_0x403942(0xfd)](_0x403942(0xe2)),expect(typeof _0x248c1e[_0x403942(0x125)]['MESSAGE_LIST_HEIGHT'])['toBe'](_0x403942(0xe2)),expect(typeof _0x248c1e['UI_DIMENSIONS'][_0x403942(0x112)])[_0x403942(0xfd)]('number');});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Error\x20Handling',()=>{const _0x1b2842=a0_0x237a75;test(_0x1b2842(0xe5),async()=>{const _0x195b4d=_0x1b2842,{MessageRouter:_0x172c65}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x1d958}=await import(_0x195b4d(0x114)),_0x37ab1f=new _0x1d958('localhost',0x1f90),_0x533541=new _0x172c65(_0x37ab1f);expect(()=>{const _0x223382=_0x195b4d;_0x533541['registerHandler'](_0x223382(0x108),_0x223382(0x105));})['toThrow']('Handler\x20must\x20be\x20a\x20function');}),test('MessageRouter\x20throws\x20on\x20invalid\x20middleware',async()=>{const _0x53fdae=_0x1b2842,{MessageRouter:_0x55a5c3}=await import(_0x53fdae(0x100)),{WebSocketManager:_0xe66182}=await import(_0x53fdae(0x114)),_0x3cae4b=new _0xe66182('localhost',0x1f90),_0x42cbf2=new _0x55a5c3(_0x3cae4b);expect(()=>{const _0x23e346=_0x53fdae;_0x42cbf2['use'](_0x23e346(0x105));})['toThrow'](_0x53fdae(0x120));}),test(_0x1b2842(0x109),async()=>{const _0x3f70a7=_0x1b2842,{SessionManager:_0x1323b8}=await import(_0x3f70a7(0xd6)),_0x4fdabd=new _0x1323b8('localhost',0x1f90);_0x4fdabd['sessionId']='test-123',_0x4fdabd[_0x3f70a7(0xec)]=_0x3f70a7(0xf6),_0x4fdabd[_0x3f70a7(0xe0)]=_0x3f70a7(0x111),_0x4fdabd['vendorKeys']={'openai':_0x3f70a7(0x121)},expect(_0x4fdabd[_0x3f70a7(0xf1)]())['toBe'](!![]),_0x4fdabd[_0x3f70a7(0x11d)](),expect(_0x4fdabd[_0x3f70a7(0xfb)])[_0x3f70a7(0xfd)](null),expect(_0x4fdabd['projectDir'])[_0x3f70a7(0xfd)](null),expect(_0x4fdabd['loxiaApiKey'])[_0x3f70a7(0xfd)](null),expect(_0x4fdabd[_0x3f70a7(0xe9)])['toEqual']({}),expect(_0x4fdabd['isValid']())[_0x3f70a7(0xfd)](![]);}),test(_0x1b2842(0x117),async()=>{const _0x5827f9=_0x1b2842,{WebSocketManager:_0x549520}=await import('../../api/websocket.js'),_0x181520=new _0x549520(_0x5827f9(0xf8),0x1f90),_0x32f819=_0x181520['generateRequestId'](),_0x16f7f8=_0x181520[_0x5827f9(0x101)](),_0x3442dd=_0x181520['generateRequestId']();expect(_0x32f819)[_0x5827f9(0xff)][_0x5827f9(0xfd)](_0x16f7f8),expect(_0x16f7f8)[_0x5827f9(0xff)][_0x5827f9(0xfd)](_0x3442dd),expect(_0x32f819)['not'][_0x5827f9(0xfd)](_0x3442dd),expect(_0x32f819)['toMatch'](/^req-\d+-\d+$/),expect(_0x16f7f8)['toMatch'](/^req-\d+-\d+$/),expect(_0x3442dd)['toMatch'](/^req-\d+-\d+$/);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xf72ec1=a0_0x10fd;(function(_0xfa8f8c,_0x4536b1){const _0x5a5d49=a0_0x10fd,_0x3a6059=_0xfa8f8c();while(!![]){try{const _0x52d5e1=-parseInt(_0x5a5d49(0x22c))/0x1*(parseInt(_0x5a5d49(0x203))/0x2)+parseInt(_0x5a5d49(0x213))/0x3+-parseInt(_0x5a5d49(0x212))/0x4+parseInt(_0x5a5d49(0x227))/0x5*(parseInt(_0x5a5d49(0x21f))/0x6)+-parseInt(_0x5a5d49(0x224))/0x7*(-parseInt(_0x5a5d49(0x228))/0x8)+parseInt(_0x5a5d49(0x209))/0x9*(parseInt(_0x5a5d49(0x20d))/0xa)+parseInt(_0x5a5d49(0x21a))/0xb*(parseInt(_0x5a5d49(0x219))/0xc);if(_0x52d5e1===_0x4536b1)break;else _0x3a6059['push'](_0x3a6059['shift']());}catch(_0xed07f1){_0x3a6059['push'](_0x3a6059['shift']());}}}(a0_0x59c3,0x626da));function a0_0x59c3(){const _0x19bb3d=['uefhrv9tsvPf','mtaXndGZmNvyB0LMwq','mJi0ntq3qMrpDwv6','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZifzHBgLKyxrPB24','Dg9czq','tufyx01fu1nbr0vFtevor1ri','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','zNvUy3rPB24','mtyWotjvtNf5D2m','nta2z0PbCwXk','vvnfuL9nrvntquDf','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','DxnLtwvZC2fNzunVDw50ihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','mZe0ntjOzxr2quq','zgvMyxvSDa','uefhsu5bveLptIbJB25ZDgfUDhmGyxjLigrLzMLUzwq','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsg9VAYbjBNrLCMzHy2uGvMvYAwzPy2f0Aw9U','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','mtrxtuj6rLy','DxnLtwvZC2fNzxmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','ndbQANHNCeu','ntmZmtq0qwHhyNjK','tuvtu0fhrv9st0Xf','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','zxHLy3v0Aw9Ux3n0B3bWzwq','n1vSvhHmzG','rvHfq1vusu9ox1nut1bqruq','tuvtu0fhrv9dt05gsuCGy29UC3rHBNrZigfYzsbKzwzPBMvK','t1jdsevtvfjbve9s','Bg9JywXOB3n0','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1LC3nHz2uGzxzLBNrZ','BNvTyMvY','tufyx01fu1nbr0vtx0rju1bmqvK','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','Dg9czuDYzwf0zxjuAgfU','BgvUz3rO','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbKAxnWBgf5ig1LC3nHz2vZ','Dg9czurLzMLUzwq','ywDLBNqTCMvZCg9UC2u','l2fWAs9VCMnOzxn0CMf0B3i','DxnLtwvZC2fNzxm','C3LZDgvTlw5VDgLMAwnHDgLVBG','t3jJAgvZDhjHDg9YigvUzhbVAw50ignHBIbIzsb1C2vKigzVCIbTzxnZywDLig9WzxjHDgLVBNm','uefhsu5bveLptIbSAw1PDcbKB2vZig5VDcbLEgnLzwqGtufyx1bbr0vFu0LArq','qvntsvnuqu5u','otaYnJjSvK1fuha','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','tufyx1bbr0vFu0LArq','C3LZDgvT','Dg9czuXLC3nuAgfUt3jfCxvHBa','AgfZsgfUzgXLCG','otbXrvP5AuK','lI4VlI4VyxbPl3nLC3nPB24UANm','twvZC2fNzvjVDxrLCG','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','nJyXmdmWCfHptvDt','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','u2vZC2LVBK1HBMfNzxi','u1Ltvevn'];a0_0x59c3=function(){return _0x19bb3d;};return a0_0x59c3();}import{describe,test,expect}from'@jest/globals';function a0_0x10fd(_0x4a98d6,_0x1e6a42){_0x4a98d6=_0x4a98d6-0x1f2;const _0x59c34c=a0_0x59c3();let _0x10fd79=_0x59c34c[_0x4a98d6];if(a0_0x10fd['IbWFXl']===undefined){var _0x1c8411=function(_0x571297){const _0x4fc56a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c9b0f='',_0x3f38bd='';for(let _0x515896=0x0,_0x3b9dea,_0x3052a1,_0x28c605=0x0;_0x3052a1=_0x571297['charAt'](_0x28c605++);~_0x3052a1&&(_0x3b9dea=_0x515896%0x4?_0x3b9dea*0x40+_0x3052a1:_0x3052a1,_0x515896++%0x4)?_0x2c9b0f+=String['fromCharCode'](0xff&_0x3b9dea>>(-0x2*_0x515896&0x6)):0x0){_0x3052a1=_0x4fc56a['indexOf'](_0x3052a1);}for(let _0x52c21d=0x0,_0x3ad727=_0x2c9b0f['length'];_0x52c21d<_0x3ad727;_0x52c21d++){_0x3f38bd+='%'+('00'+_0x2c9b0f['charCodeAt'](_0x52c21d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f38bd);};a0_0x10fd['eMSMlG']=_0x1c8411,a0_0x10fd['TWqAVt']={},a0_0x10fd['IbWFXl']=!![];}const _0x158eca=_0x59c34c[0x0],_0x4dd1df=_0x4a98d6+_0x158eca,_0x2318e8=a0_0x10fd['TWqAVt'][_0x4dd1df];return!_0x2318e8?(_0x10fd79=a0_0x10fd['eMSMlG'](_0x10fd79),a0_0x10fd['TWqAVt'][_0x4dd1df]=_0x10fd79):_0x10fd79=_0x2318e8,_0x10fd79;}describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0xad907d=a0_0x10fd,{useMessages:_0x2c9b0f}=await import('../../state/useMessages.js');expect(_0x2c9b0f)[_0xad907d(0x1fb)](),expect(typeof _0x2c9b0f)[_0xad907d(0x215)]('function');}),test('useMessages is default export',async()=>{const _0x5b7a85=a0_0x10fd,module=await import(_0x5b7a85(0x21c));expect(module['default'])[_0x5b7a85(0x1fb)](),expect(typeof module[_0x5b7a85(0x220)])[_0x5b7a85(0x215)]('function'),expect(module['default'])[_0x5b7a85(0x215)](module[_0x5b7a85(0x1fe)]);}),test('useMessageCount helper hook can be imported',async()=>{const _0x599488=a0_0x10fd,{useMessageCount:_0x3f38bd}=await import(_0x599488(0x21c));expect(_0x3f38bd)['toBeDefined'](),expect(typeof _0x3f38bd)['toBe'](_0x599488(0x218));});}),describe(a0_0xf72ec1(0x21e),()=>{const _0x296ab8=a0_0xf72ec1;test('MESSAGE_ROLE\x20constants\x20are\x20defined',async()=>{const _0x2664a6=a0_0x10fd,{MESSAGE_ROLE:_0x515896}=await import('../../config/constants.js');expect(_0x515896)['toBeDefined'](),expect(_0x515896['USER'])[_0x2664a6(0x215)]('user'),expect(_0x515896[_0x2664a6(0x202)])[_0x2664a6(0x215)]('assistant'),expect(_0x515896['SYSTEM'])['toBe'](_0x2664a6(0x206));}),test(_0x296ab8(0x204),async()=>{const _0x121688=_0x296ab8,{MESSAGE_TYPE:_0x3b9dea}=await import(_0x121688(0x1f7));expect(_0x3b9dea)[_0x121688(0x1fb)](),expect(_0x3b9dea[_0x121688(0x21b)])[_0x121688(0x215)]('user-message'),expect(_0x3b9dea['AGENT_RESPONSE'])['toBe'](_0x121688(0x1fc)),expect(_0x3b9dea['SYSTEM_NOTIFICATION'])['toBe'](_0x121688(0x1ff));}),test(_0x296ab8(0x22e),async()=>{const _0x1be95e=_0x296ab8,{MESSAGE_CONFIG:_0x3052a1}=await import(_0x1be95e(0x1f7));expect(_0x3052a1)[_0x1be95e(0x1fb)](),expect(_0x3052a1[_0x1be95e(0x216)])['toBeDefined'](),expect(_0x3052a1['MAX_MESSAGES_DISPLAY'])[_0x1be95e(0x1fb)](),expect(typeof _0x3052a1['MAX_MESSAGE_LENGTH'])['toBe']('number'),expect(typeof _0x3052a1['MAX_MESSAGES_DISPLAY'])[_0x1be95e(0x215)](_0x1be95e(0x1f5));}),test(_0x296ab8(0x221),async()=>{const _0x55b3ba=_0x296ab8,{PAGINATION:_0x28c605}=await import(_0x55b3ba(0x1f7));expect(_0x28c605)[_0x55b3ba(0x1fb)](),expect(_0x28c605[_0x55b3ba(0x211)])['toBeDefined'](),expect(_0x28c605[_0x55b3ba(0x205)])['toBeDefined'](),expect(typeof _0x28c605['PAGE_SIZE'])['toBe'](_0x55b3ba(0x1f5)),expect(typeof _0x28c605['MAX_PAGE_SIZE'])['toBe']('number');}),test(_0x296ab8(0x1f4),async()=>{const _0x88cce3=_0x296ab8,{WS_MESSAGE_TYPE:_0x52c21d}=await import('../../config/constants.js');expect(_0x52c21d)[_0x88cce3(0x1fb)](),expect(_0x52c21d['MESSAGE_ADDED'])['toBe']('message_added'),expect(_0x52c21d['AGENT_MODE_CHANGED'])[_0x88cce3(0x215)]('agent_mode_changed'),expect(_0x52c21d[_0x88cce3(0x22d)])['toBe'](_0x88cce3(0x22b));});}),describe('Message\x20Management\x20-\x20Integration',()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0x23e81b=a0_0x10fd,{useMessages:_0x3ad727}=await import('../../state/useMessages.js'),{SessionManager:_0x5e4c89}=await import(_0x23e81b(0x20a)),{MessageRouter:_0x350e9a}=await import(_0x23e81b(0x20e)),{WebSocketManager:_0x1a8b72}=await import('../../api/websocket.js'),_0xb2f646=new _0x5e4c89(_0x23e81b(0x1f3),0x1f90),_0x4d1a8c=new _0x1a8b72('localhost',0x1f90),_0x13a403=new _0x350e9a(_0x4d1a8c);expect(_0xb2f646)['toBeDefined'](),expect(_0x13a403)['toBeDefined'](),expect(typeof _0x3ad727)['toBe'](_0x23e81b(0x218));}),test('Full message management stack can be imported together',async()=>{const _0x31fea9=a0_0x10fd,[_0x279bfe,_0x2cdfcd,_0x290dcb,_0x266384,_0x5c74be]=await Promise['all']([import(_0x31fea9(0x1f7)),import('../../api/session.js'),import('../../api/websocket.js'),import(_0x31fea9(0x20e)),import('../../state/useMessages.js')]);expect(_0x279bfe[_0x31fea9(0x229)])[_0x31fea9(0x1fb)](),expect(_0x279bfe['MESSAGE_TYPE'])['toBeDefined'](),expect(_0x279bfe['MESSAGE_CONFIG'])['toBeDefined'](),expect(_0x2cdfcd[_0x31fea9(0x20f)])[_0x31fea9(0x1fb)](),expect(_0x290dcb['WebSocketManager'])[_0x31fea9(0x1fb)](),expect(_0x266384[_0x31fea9(0x20b)])[_0x31fea9(0x1fb)](),expect(_0x5c74be[_0x31fea9(0x1fe)])['toBeDefined']();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x26689f=a0_0xf72ec1;test(_0x26689f(0x200),async()=>{const _0x3f2107=_0x26689f,{API_ENDPOINTS:_0x407c73}=await import('../../config/constants.js');expect(_0x407c73[_0x3f2107(0x1f2)])['toBeDefined'](),expect(_0x407c73['ORCHESTRATOR'])['toBe'](_0x3f2107(0x1fd));}),test(_0x26689f(0x22a),async()=>{const _0x167ae4=_0x26689f,{API_ENDPOINTS:_0x49d276}=await import(_0x167ae4(0x1f7));expect(_0x49d276['ORCHESTRATOR'])['toMatch'](/^\/api\//);});}),describe(a0_0xf72ec1(0x222),()=>{const _0x19914c=a0_0xf72ec1;test(_0x19914c(0x225),async()=>{const _0x14532a=_0x19914c,{useMessages:_0x3c4148}=await import('../../state/useMessages.js');expect(_0x3c4148[_0x14532a(0x1f9)])['toBe'](0x3);}),test(_0x19914c(0x21d),async()=>{const _0x153a29=_0x19914c,{useMessageCount:_0x1953ee}=await import(_0x153a29(0x21c));expect(_0x1953ee[_0x153a29(0x1f9)])['toBe'](0x1);});}),describe(a0_0xf72ec1(0x214),()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x3ee358=a0_0x10fd,{MESSAGE_CONFIG:_0x59782d}=await import(_0x3ee358(0x1f7));expect(_0x59782d['MAX_MESSAGE_LENGTH'])[_0x3ee358(0x1f8)](0x0),expect(_0x59782d['MAX_MESSAGE_LENGTH'])[_0x3ee358(0x207)](0x186a0),expect(_0x59782d[_0x3ee358(0x1f6)])[_0x3ee358(0x1f8)](0x0),expect(_0x59782d['MAX_MESSAGES_DISPLAY'])['toBeLessThanOrEqual'](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x226aa6=a0_0x10fd,{PAGINATION:_0x38b908}=await import(_0x226aa6(0x1f7));expect(_0x38b908['PAGE_SIZE'])[_0x226aa6(0x1f8)](0x0),expect(_0x38b908['PAGE_SIZE'])[_0x226aa6(0x207)](0x3e8),expect(_0x38b908['MAX_PAGE_SIZE'])[_0x226aa6(0x217)](_0x38b908['PAGE_SIZE']);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0xaa307e=a0_0x10fd,{MESSAGE_ROLE:_0x459c86}=await import(_0xaa307e(0x1f7));expect(_0x459c86['USER'])['toBe'](_0x459c86['USER']['toLowerCase']()),expect(_0x459c86[_0xaa307e(0x202)])[_0xaa307e(0x215)](_0x459c86[_0xaa307e(0x202)]['toLowerCase']()),expect(_0x459c86[_0xaa307e(0x210)])['toBe'](_0x459c86['SYSTEM']['toLowerCase']());});}),describe(a0_0xf72ec1(0x20c),()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0xa300cb=a0_0x10fd,{MessageRouter:_0xe4f906}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x35e80e}=await import(_0xa300cb(0x226)),{WS_MESSAGE_TYPE:_0x21056c}=await import(_0xa300cb(0x1f7)),_0x271f94=new _0x35e80e(_0xa300cb(0x1f3),0x1f90),_0x3c25bb=new _0xe4f906(_0x271f94);expect(_0x3c25bb[_0xa300cb(0x208)](_0x21056c['MESSAGE_ADDED']))[_0xa300cb(0x215)](!![]),expect(_0x3c25bb['hasHandler'](_0x21056c['AGENT_MODE_CHANGED']))['toBe'](!![]);});}),describe('Message\x20Management\x20-\x20Error\x20Handling',()=>{const _0x3a04c1=a0_0xf72ec1;test('MESSAGE_CONFIG\x20enforces\x20maximum\x20message\x20length',async()=>{const _0x2c7b30=a0_0x10fd,{MESSAGE_CONFIG:_0x147648}=await import(_0x2c7b30(0x1f7));expect(_0x147648[_0x2c7b30(0x216)])[_0x2c7b30(0x1fb)](),expect(typeof _0x147648['MAX_MESSAGE_LENGTH'])[_0x2c7b30(0x215)](_0x2c7b30(0x1f5));const _0x4a33a3='a'['repeat'](_0x147648['MAX_MESSAGE_LENGTH']+0x1);expect(_0x4a33a3[_0x2c7b30(0x1f9)])[_0x2c7b30(0x1f8)](_0x147648[_0x2c7b30(0x216)]);}),test(_0x3a04c1(0x1fa),async()=>{const _0xcf0025=_0x3a04c1,{MESSAGE_CONFIG:_0x353435}=await import(_0xcf0025(0x1f7));expect(_0x353435[_0xcf0025(0x1f6)])['toBeDefined'](),expect(typeof _0x353435[_0xcf0025(0x1f6)])[_0xcf0025(0x215)](_0xcf0025(0x1f5)),expect(_0x353435['MAX_MESSAGES_DISPLAY'])[_0xcf0025(0x1f8)](0x0);});}),describe(a0_0xf72ec1(0x223),()=>{const _0x2ee076=a0_0xf72ec1;test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x1f472e=a0_0x10fd,{PAGINATION:_0x119fe7}=await import(_0x1f472e(0x1f7)),_0x422a33=0x0,_0xf19710=_0x422a33*_0x119fe7['PAGE_SIZE'];expect(_0xf19710)['toBe'](0x0);const _0x4f6d03=0x1,_0x459a43=_0x4f6d03*_0x119fe7[_0x1f472e(0x211)];expect(_0x459a43)['toBe'](_0x119fe7[_0x1f472e(0x211)]);}),test(_0x2ee076(0x201),async()=>{const _0x42e439=_0x2ee076,{PAGINATION:_0xc4aabc}=await import('../../config/constants.js'),_0x370601=0x3e8,_0x228173=Math['min'](_0x370601,_0xc4aabc[_0x42e439(0x205)]);expect(_0x228173)['toBeLessThanOrEqual'](_0xc4aabc[_0x42e439(0x205)]);});});
|
|
1
|
+
const a0_0x2b063f=a0_0x4ca3;(function(_0x5df66a,_0x5102a6){const _0x44b014=a0_0x4ca3,_0x440772=_0x5df66a();while(!![]){try{const _0x45a953=parseInt(_0x44b014(0x16c))/0x1+-parseInt(_0x44b014(0x159))/0x2+parseInt(_0x44b014(0x17c))/0x3+-parseInt(_0x44b014(0x165))/0x4+-parseInt(_0x44b014(0x166))/0x5+parseInt(_0x44b014(0x158))/0x6*(parseInt(_0x44b014(0x146))/0x7)+parseInt(_0x44b014(0x155))/0x8;if(_0x45a953===_0x5102a6)break;else _0x440772['push'](_0x440772['shift']());}catch(_0x4ea24a){_0x440772['push'](_0x440772['shift']());}}}(a0_0x4766,0x7cc1c));import{describe,test,expect}from'@jest/globals';describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0x5a01eb=a0_0x4ca3,{useMessages:_0x3e99f7}=await import(_0x5a01eb(0x180));expect(_0x3e99f7)['toBeDefined'](),expect(typeof _0x3e99f7)[_0x5a01eb(0x149)](_0x5a01eb(0x16f));}),test('useMessages is default export',async()=>{const _0x3e53e3=a0_0x4ca3,module=await import(_0x3e53e3(0x180));expect(module[_0x3e53e3(0x150)])['toBeDefined'](),expect(typeof module[_0x3e53e3(0x150)])[_0x3e53e3(0x149)]('function'),expect(module[_0x3e53e3(0x150)])[_0x3e53e3(0x149)](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const _0x587828=a0_0x4ca3,{useMessageCount:_0x5d1da5}=await import(_0x587828(0x180));expect(_0x5d1da5)['toBeDefined'](),expect(typeof _0x5d1da5)[_0x587828(0x149)](_0x587828(0x16f));});}),describe('Message\x20Management\x20-\x20Constants',()=>{const _0x999b20=a0_0x4ca3;test(_0x999b20(0x14a),async()=>{const _0x4b0966=_0x999b20,{MESSAGE_ROLE:_0x434183}=await import('../../config/constants.js');expect(_0x434183)[_0x4b0966(0x176)](),expect(_0x434183[_0x4b0966(0x156)])[_0x4b0966(0x149)]('user'),expect(_0x434183[_0x4b0966(0x170)])[_0x4b0966(0x149)]('assistant'),expect(_0x434183[_0x4b0966(0x17b)])['toBe'](_0x4b0966(0x154));}),test(_0x999b20(0x160),async()=>{const _0x30491f=_0x999b20,{MESSAGE_TYPE:_0x134501}=await import(_0x30491f(0x168));expect(_0x134501)[_0x30491f(0x176)](),expect(_0x134501['USER_MESSAGE'])[_0x30491f(0x149)](_0x30491f(0x15b)),expect(_0x134501[_0x30491f(0x15c)])[_0x30491f(0x149)]('agent-response'),expect(_0x134501[_0x30491f(0x162)])['toBe'](_0x30491f(0x16a));}),test(_0x999b20(0x148),async()=>{const _0x6f1dda=_0x999b20,{MESSAGE_CONFIG:_0x57d3d1}=await import(_0x6f1dda(0x168));expect(_0x57d3d1)['toBeDefined'](),expect(_0x57d3d1[_0x6f1dda(0x153)])['toBeDefined'](),expect(_0x57d3d1[_0x6f1dda(0x14c)])[_0x6f1dda(0x176)](),expect(typeof _0x57d3d1[_0x6f1dda(0x153)])[_0x6f1dda(0x149)]('number'),expect(typeof _0x57d3d1[_0x6f1dda(0x14c)])['toBe']('number');}),test(_0x999b20(0x147),async()=>{const _0x594a0d=_0x999b20,{PAGINATION:_0x4927d3}=await import(_0x594a0d(0x168));expect(_0x4927d3)[_0x594a0d(0x176)](),expect(_0x4927d3['PAGE_SIZE'])['toBeDefined'](),expect(_0x4927d3[_0x594a0d(0x175)])['toBeDefined'](),expect(typeof _0x4927d3[_0x594a0d(0x16e)])['toBe'](_0x594a0d(0x151)),expect(typeof _0x4927d3[_0x594a0d(0x175)])['toBe'](_0x594a0d(0x151));}),test(_0x999b20(0x169),async()=>{const _0x190cc1=_0x999b20,{WS_MESSAGE_TYPE:_0x380bda}=await import('../../config/constants.js');expect(_0x380bda)[_0x190cc1(0x176)](),expect(_0x380bda['MESSAGE_ADDED'])['toBe']('message_added'),expect(_0x380bda[_0x190cc1(0x179)])[_0x190cc1(0x149)]('agent_mode_changed'),expect(_0x380bda['EXECUTION_STOPPED'])['toBe']('execution_stopped');});}),describe(a0_0x2b063f(0x15f),()=>{const _0x2b744a=a0_0x2b063f;test(_0x2b744a(0x161),async()=>{const _0x5b3c2f=_0x2b744a,{useMessages:_0x305942}=await import(_0x5b3c2f(0x180)),{SessionManager:_0x587ed8}=await import(_0x5b3c2f(0x16b)),{MessageRouter:_0x5651c2}=await import(_0x5b3c2f(0x17f)),{WebSocketManager:_0x2c9e8c}=await import(_0x5b3c2f(0x173)),_0x9d576c=new _0x587ed8(_0x5b3c2f(0x15e),0x1f90),_0x1ec04c=new _0x2c9e8c('localhost',0x1f90),_0x59e9c1=new _0x5651c2(_0x1ec04c);expect(_0x9d576c)[_0x5b3c2f(0x176)](),expect(_0x59e9c1)['toBeDefined'](),expect(typeof _0x305942)[_0x5b3c2f(0x149)](_0x5b3c2f(0x16f));}),test('Full message management stack can be imported together',async()=>{const _0xcee8e=_0x2b744a,[_0x46e050,_0xc0b1a4,_0x37d4ca,_0x4bfe26,_0x5b8d3b]=await Promise['all']([import('../../config/constants.js'),import(_0xcee8e(0x16b)),import(_0xcee8e(0x173)),import(_0xcee8e(0x17f)),import('../../state/useMessages.js')]);expect(_0x46e050['MESSAGE_ROLE'])['toBeDefined'](),expect(_0x46e050[_0xcee8e(0x152)])[_0xcee8e(0x176)](),expect(_0x46e050[_0xcee8e(0x17d)])['toBeDefined'](),expect(_0xc0b1a4[_0xcee8e(0x15a)])['toBeDefined'](),expect(_0x37d4ca['WebSocketManager'])[_0xcee8e(0x176)](),expect(_0x4bfe26[_0xcee8e(0x14f)])['toBeDefined'](),expect(_0x5b8d3b[_0xcee8e(0x15d)])[_0xcee8e(0x176)]();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x1ff67f=a0_0x2b063f;test('Orchestrator\x20endpoint\x20can\x20be\x20used\x20for\x20message\x20operations',async()=>{const _0x18e6e9=a0_0x4ca3,{API_ENDPOINTS:_0x3ac300}=await import('../../config/constants.js');expect(_0x3ac300[_0x18e6e9(0x177)])[_0x18e6e9(0x176)](),expect(_0x3ac300['ORCHESTRATOR'])[_0x18e6e9(0x149)]('/api/orchestrator');}),test(_0x1ff67f(0x167),async()=>{const _0x4fa357=_0x1ff67f,{API_ENDPOINTS:_0x2f7799}=await import(_0x4fa357(0x168));expect(_0x2f7799['ORCHESTRATOR'])[_0x4fa357(0x174)](/^\/api\//);});}),describe('Message\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x112716=a0_0x2b063f;test('useMessages\x20returns\x20expected\x20interface\x20shape',async()=>{const {useMessages:_0x7dceca}=await import('../../state/useMessages.js');expect(_0x7dceca['length'])['toBe'](0x3);}),test(_0x112716(0x17e),async()=>{const _0x15fe0b=_0x112716,{useMessageCount:_0x38b6dd}=await import(_0x15fe0b(0x180));expect(_0x38b6dd['length'])['toBe'](0x1);});}),describe('Message\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x307619=a0_0x2b063f;test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x519af0=a0_0x4ca3,{MESSAGE_CONFIG:_0x23b94c}=await import(_0x519af0(0x168));expect(_0x23b94c[_0x519af0(0x153)])['toBeGreaterThan'](0x0),expect(_0x23b94c['MAX_MESSAGE_LENGTH'])[_0x519af0(0x178)](0x186a0),expect(_0x23b94c['MAX_MESSAGES_DISPLAY'])['toBeGreaterThan'](0x0),expect(_0x23b94c[_0x519af0(0x14c)])[_0x519af0(0x178)](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x40e392=a0_0x4ca3,{PAGINATION:_0x4aeaec}=await import(_0x40e392(0x168));expect(_0x4aeaec['PAGE_SIZE'])['toBeGreaterThan'](0x0),expect(_0x4aeaec['PAGE_SIZE'])['toBeLessThanOrEqual'](0x3e8),expect(_0x4aeaec['MAX_PAGE_SIZE'])['toBeGreaterThanOrEqual'](_0x4aeaec['PAGE_SIZE']);}),test(_0x307619(0x172),async()=>{const _0x58c3d1=_0x307619,{MESSAGE_ROLE:_0x4ca944}=await import(_0x58c3d1(0x168));expect(_0x4ca944['USER'])['toBe'](_0x4ca944['USER'][_0x58c3d1(0x14b)]()),expect(_0x4ca944[_0x58c3d1(0x170)])['toBe'](_0x4ca944[_0x58c3d1(0x170)][_0x58c3d1(0x14b)]()),expect(_0x4ca944['SYSTEM'])[_0x58c3d1(0x149)](_0x4ca944['SYSTEM'][_0x58c3d1(0x14b)]());});}),describe(a0_0x2b063f(0x171),()=>{const _0x5cbb30=a0_0x2b063f;test(_0x5cbb30(0x164),async()=>{const _0x201df6=_0x5cbb30,{MessageRouter:_0x1c6f6c}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x4d0502}=await import(_0x201df6(0x173)),{WS_MESSAGE_TYPE:_0x2b355a}=await import(_0x201df6(0x168)),_0x37d90e=new _0x4d0502('localhost',0x1f90),_0x186c5c=new _0x1c6f6c(_0x37d90e);expect(_0x186c5c[_0x201df6(0x181)](_0x2b355a[_0x201df6(0x16d)]))['toBe'](!![]),expect(_0x186c5c[_0x201df6(0x181)](_0x2b355a['AGENT_MODE_CHANGED']))[_0x201df6(0x149)](!![]);});}),describe('Message\x20Management\x20-\x20Error\x20Handling',()=>{const _0x2cc40f=a0_0x2b063f;test(_0x2cc40f(0x182),async()=>{const _0xa06e23=_0x2cc40f,{MESSAGE_CONFIG:_0x56bbe0}=await import('../../config/constants.js');expect(_0x56bbe0[_0xa06e23(0x153)])[_0xa06e23(0x176)](),expect(typeof _0x56bbe0['MAX_MESSAGE_LENGTH'])['toBe']('number');const _0x146df3='a'[_0xa06e23(0x14d)](_0x56bbe0[_0xa06e23(0x153)]+0x1);expect(_0x146df3[_0xa06e23(0x17a)])['toBeGreaterThan'](_0x56bbe0['MAX_MESSAGE_LENGTH']);}),test('MESSAGE_CONFIG\x20enforces\x20maximum\x20display\x20messages',async()=>{const _0x32adb2=_0x2cc40f,{MESSAGE_CONFIG:_0x240ab5}=await import('../../config/constants.js');expect(_0x240ab5['MAX_MESSAGES_DISPLAY'])['toBeDefined'](),expect(typeof _0x240ab5[_0x32adb2(0x14c)])['toBe'](_0x32adb2(0x151)),expect(_0x240ab5[_0x32adb2(0x14c)])[_0x32adb2(0x14e)](0x0);});}),describe(a0_0x2b063f(0x157),()=>{test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x4545e5=a0_0x4ca3,{PAGINATION:_0x1002b5}=await import(_0x4545e5(0x168)),_0x51009f=0x0,_0xc13ca7=_0x51009f*_0x1002b5[_0x4545e5(0x16e)];expect(_0xc13ca7)['toBe'](0x0);const _0xacf0c=0x1,_0xc4d824=_0xacf0c*_0x1002b5['PAGE_SIZE'];expect(_0xc4d824)['toBe'](_0x1002b5['PAGE_SIZE']);}),test('PAGINATION\x20limit\x20does\x20not\x20exceed\x20MAX_PAGE_SIZE',async()=>{const _0x595038=a0_0x4ca3,{PAGINATION:_0x350dce}=await import(_0x595038(0x168)),_0x398e29=0x3e8,_0x1a9a60=Math[_0x595038(0x163)](_0x398e29,_0x350dce[_0x595038(0x175)]);expect(_0x1a9a60)[_0x595038(0x178)](_0x350dce['MAX_PAGE_SIZE']);});});function a0_0x4ca3(_0x3254f7,_0x29d085){_0x3254f7=_0x3254f7-0x146;const _0x4766cb=a0_0x4766();let _0x4ca3cb=_0x4766cb[_0x3254f7];if(a0_0x4ca3['YRYXOI']===undefined){var _0x311457=function(_0x4b614){const _0x2b98c8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e99f7='',_0x5d1da5='';for(let _0x434183=0x0,_0x134501,_0x57d3d1,_0x4927d3=0x0;_0x57d3d1=_0x4b614['charAt'](_0x4927d3++);~_0x57d3d1&&(_0x134501=_0x434183%0x4?_0x134501*0x40+_0x57d3d1:_0x57d3d1,_0x434183++%0x4)?_0x3e99f7+=String['fromCharCode'](0xff&_0x134501>>(-0x2*_0x434183&0x6)):0x0){_0x57d3d1=_0x2b98c8['indexOf'](_0x57d3d1);}for(let _0x380bda=0x0,_0x305942=_0x3e99f7['length'];_0x380bda<_0x305942;_0x380bda++){_0x5d1da5+='%'+('00'+_0x3e99f7['charCodeAt'](_0x380bda)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d1da5);};a0_0x4ca3['EtXnvx']=_0x311457,a0_0x4ca3['pYzBFa']={},a0_0x4ca3['YRYXOI']=!![];}const _0x48f272=_0x4766cb[0x0],_0x1abbdb=_0x3254f7+_0x48f272,_0x189233=a0_0x4ca3['pYzBFa'][_0x1abbdb];return!_0x189233?(_0x4ca3cb=a0_0x4ca3['EtXnvx'](_0x4ca3cb),a0_0x4ca3['pYzBFa'][_0x1abbdb]=_0x4ca3cb):_0x4ca3cb=_0x189233,_0x4ca3cb;}function a0_0x4766(){const _0x8b27a1=['Dg9czurLzMLUzwq','t1jdsevtvfjbve9s','Dg9czuXLC3nuAgfUt3jfCxvHBa','quDftLrFtu9erv9dsefor0ve','BgvUz3rO','u1Ltvevn','mJCXndKYofHtqvLVAW','tuvtu0fhrv9dt05gsuC','DxnLtwvZC2fNzunVDw50ihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','AgfZsgfUzgXLCG','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbTzxnZywDLigXLBMD0Aa','mtaWnJuZu1LRzfH3','uefhsu5bveLptIbJB25ZDgfUDhmGyxjLigrLzMLUzwq','tuvtu0fhrv9dt05gsuCGy29UC3rHBNrZigfYzsbKzwzPBMvK','Dg9czq','tuvtu0fhrv9st0XfignVBNn0yw50CYbHCMuGzgvMAw5Lza','Dg9mB3DLCKnHC2u','tufyx01fu1nbr0vtx0rju1bmqvK','CMvWzwf0','Dg9czuDYzwf0zxjuAgfU','twvZC2fNzvjVDxrLCG','zgvMyxvSDa','BNvTyMvY','tuvtu0fhrv9uwvbf','tufyx01fu1nbr0vFtevor1ri','C3LZDgvT','ndeXotmXmNrWwvvSqW','vvnfuG','twvZC2fNzsbnyw5Hz2vTzw50ic0GugfNAw5HDgLVBIbmB2DPyW','mZzZruT0rvC','mte4ntKXmgXdtxvzra','u2vZC2LVBK1HBMfNzxi','DxnLCI1TzxnZywDL','quDftLrFuKvtue9ou0u','DxnLtwvZC2fNzxm','Bg9JywXOB3n0','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','DxnLtwvZC2fNzxmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','u1Ltvevnx05pveLgsunbveLptG','BwLU','twvZC2fNzvjVDxrLCIbOyxmGBwvZC2fNzsbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','mJy0nZq1nMvLr3n5za','mta5nda2mfbtCffuBG','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1LC3nHz2uGzxzLBNrZ','C3LZDgvTlw5VDgLMAwnHDgLVBG','lI4VlI4VyxbPl3nLC3nPB24UANm','ndC4ndCXvvzvu3vQ','tuvtu0fhrv9brerfra','uefhrv9tsvPf','zNvUy3rPB24','qvntsvnuqu5u','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','tuvtu0fhrv9st0XfihzHBhvLCYbHCMuGBg93zxjJyxnL','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','Dg9nyxrJAa','tufyx1bbr0vFu0LArq'];a0_0x4766=function(){return _0x8b27a1;};return a0_0x4766();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1b7a(){const _0x4a8cc8=['Dg9czurLzMLUzwq','z2v0','l2fWAs9VCMnOzxn0CMf0B3i','mJCWmZG1mgvlqKL5sa','BgvUz3rO','vg9VBhmGtwfUywDLBwvUDcaTienVBNn0yw50CW','ve9ptf9dqvrfr09swsbPBMnSDwrLCYbHBgWGBwfQB3iGy2f0zwDVCMLLCW','u1Ltvevn','ve9ptfm','BM93','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','CMvHzf9MAwXL','zxHLyY0Y','u2vZC2LVBK1HBMfNzxi','mtCWmJGWogrYruvQyG','zxHLyY0X','D3jPDgvFzMLSzq','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','Dg9czq','y2f0zwDVCNK','mtmYm0vlBgDXuq','ugvYzM9YBsbZDgf0AwmGy29KzsbHBMfSExnPCW','Dg9nyxrJAa','vg9VBhmGqvbjigvUzhbVAw50igLZigrLzMLUzwq','mtu3mde1ohLeu0fqva','AgfZ','DgvYBwLUywW','Dg9dB250ywLU','ve9ptf9dqvrfr09swsb2ywX1zxmGBwf0y2GGzxHWzwn0zwqGzM9YBwf0','ywrK','Dg9mB3DLCKnHC2u','mJu2mdHRyujYs1e','l2fWAs90B29SCW','t1jdsevtvfjbve9s','AgfZsgfUzgXLCG','mte4odm3nMTIqujeva','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','lI4VlI4VyxbPl3nLC3nPB24UANm','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2f0zwDVCML6yxrPB24','ywLFyxnZAxn0yw50','C2L6zq','uMvHzcbJB250zw50CYbVzIbHigzPBgu','m0fovxrNDa','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2fJAgLUzW','ndq4ntHcCeXYBeC','DxnLvg9VBhmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','yw5HBhL6zv9JB2rL','nJK0mdyXmMLZyuvgAW','twvZC2fNzvjVDxrLCG','vg9VBcbYzxn1BhrZignHBIbIzsbZDg9YzwqGyNKGzxHLy3v0Aw9UieLe','q09mtefct1jbveLptG','zxHLy3v0zv9JB21Tyw5K','Aw5JBhvKzxm','t3jJAgvZDhjHDg9YigvUzhbVAw50igLZihvZzwqGzM9YihrVB2WGB3bLCMf0Aw9UCW','zgvZy3jPChrPB24','vg9VBhmGtwfUywDLBwvUDcaTienHDgvNB3j5ienVDw50CW','zMLSzq','C2v0','vg9VBcbJywnOzsbZDxbWB3j0CYbuveWTyMfZzwqGy2fJAgLUzW','A2v5CW','DxnLvg9VBhmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','twvZC2fNzvjVDxrLCIbOyxmGDg9VBcbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','q2f0zwDVCNKGy291BNrZignHBIbIzsbJywXJDwXHDgvK','qvbjx0vorfbpsu5uuW','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGu2vHCMnO','qu5btfLtsvm','zw5HyMXLza','qvvut01bveLptG','DxnLvg9VBhm','zNvUy3rPB24','Bg9JywXOB3n0','vvrjteLuwq','v3jPDguGzgf0ysb0BYbHigzPBgu','zMLSDgvY','BMfTzq','vg9VBhmGtwfUywDLBwvUDcaTiev4zwn1DgLVBIbtDgf0zsbuCMfJA2LUzW','ve9ptf9dqvrfr09swsbJyw4GyMuGDxnLzcb0BYbMAwX0zxiGDg9VBhmGyNKGy2f0zwDVCNK','vg9VBhmGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG'];a0_0x1b7a=function(){return _0x4a8cc8;};return a0_0x1b7a();}function a0_0x39a5(_0x5ab9c3,_0x26e0de){_0x5ab9c3=_0x5ab9c3-0x17f;const _0x1b7aa8=a0_0x1b7a();let _0x39a576=_0x1b7aa8[_0x5ab9c3];if(a0_0x39a5['RPmupK']===undefined){var _0x44c876=function(_0x13f43c){const _0x279164='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c4739='',_0x4de5f6='';for(let _0x4303f2=0x0,_0x418429,_0x5b74d6,_0x294903=0x0;_0x5b74d6=_0x13f43c['charAt'](_0x294903++);~_0x5b74d6&&(_0x418429=_0x4303f2%0x4?_0x418429*0x40+_0x5b74d6:_0x5b74d6,_0x4303f2++%0x4)?_0x1c4739+=String['fromCharCode'](0xff&_0x418429>>(-0x2*_0x4303f2&0x6)):0x0){_0x5b74d6=_0x279164['indexOf'](_0x5b74d6);}for(let _0x1334ec=0x0,_0x59f335=_0x1c4739['length'];_0x1334ec<_0x59f335;_0x1334ec++){_0x4de5f6+='%'+('00'+_0x1c4739['charCodeAt'](_0x1334ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4de5f6);};a0_0x39a5['WgFWCi']=_0x44c876,a0_0x39a5['rpyVVV']={},a0_0x39a5['RPmupK']=!![];}const _0x14d812=_0x1b7aa8[0x0],_0x20c4a9=_0x5ab9c3+_0x14d812,_0x58c23a=a0_0x39a5['rpyVVV'][_0x20c4a9];return!_0x58c23a?(_0x39a576=a0_0x39a5['WgFWCi'](_0x39a576),a0_0x39a5['rpyVVV'][_0x20c4a9]=_0x39a576):_0x39a576=_0x58c23a,_0x39a576;}const a0_0x1d03a5=a0_0x39a5;(function(_0x58fb11,_0xdfca11){const _0x26ba1f=a0_0x39a5,_0x360abf=_0x58fb11();while(!![]){try{const _0x149070=parseInt(_0x26ba1f(0x189))/0x1+-parseInt(_0x26ba1f(0x1b9))/0x2*(-parseInt(_0x26ba1f(0x187))/0x3)+parseInt(_0x26ba1f(0x180))/0x4+parseInt(_0x26ba1f(0x1ae))/0x5+parseInt(_0x26ba1f(0x1c3))/0x6+-parseInt(_0x26ba1f(0x18c))/0x7+-parseInt(_0x26ba1f(0x1ca))/0x8*(parseInt(_0x26ba1f(0x1bf))/0x9);if(_0x149070===_0xdfca11)break;else _0x360abf['push'](_0x360abf['shift']());}catch(_0x1d1f71){_0x360abf['push'](_0x360abf['shift']());}}}(a0_0x1b7a,0x824fc));import{describe,test,expect}from'@jest/globals';describe('Tools\x20Management\x20-\x20Imports',()=>{test('useTools hook can be imported',async()=>{const _0x555935=a0_0x39a5,{useTools:_0x1c4739}=await import('../../state/useTools.js');expect(_0x1c4739)[_0x555935(0x1ab)](),expect(typeof _0x1c4739)[_0x555935(0x1bd)](_0x555935(0x1a2));}),test('useTools is default export',async()=>{const _0x33cf32=a0_0x39a5,module=await import('../../state/useTools.js');expect(module['default'])[_0x33cf32(0x1ab)](),expect(typeof module['default'])['toBe']('function'),expect(module['default'])[_0x33cf32(0x1bd)](module[_0x33cf32(0x1a1)]);});}),describe(a0_0x1d03a5(0x1b0),()=>{const _0x4c037e=a0_0x1d03a5;test('TOOL_CATEGORY\x20constants\x20are\x20defined',async()=>{const _0x385bcf=a0_0x39a5,{TOOL_CATEGORY:_0x4de5f6}=await import('../../config/constants.js');expect(_0x4de5f6)[_0x385bcf(0x1ab)](),expect(_0x4de5f6[_0x385bcf(0x1b2)])['toBeDefined'](),expect(_0x4de5f6['AUTOMATION'])['toBeDefined'](),expect(_0x4de5f6['ANALYSIS'])[_0x385bcf(0x1ab)](),expect(_0x4de5f6['UTILITY'])['toBeDefined'](),expect(_0x4de5f6['COLLABORATION'])['toBeDefined'](),expect(_0x4de5f6['AI'])['toBeDefined']();}),test('TOOL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x3699ff=a0_0x39a5,{TOOL_CATEGORY:_0x4303f2}=await import('../../config/constants.js');expect(_0x4303f2[_0x3699ff(0x1b2)])['toBe'](_0x4303f2[_0x3699ff(0x1b2)]['toLowerCase']()),expect(_0x4303f2[_0x3699ff(0x1a0)])['toBe'](_0x4303f2['AUTOMATION'][_0x3699ff(0x1c9)]()),expect(_0x4303f2[_0x3699ff(0x19e)])[_0x3699ff(0x1bd)](_0x4303f2['ANALYSIS']['toLowerCase']()),expect(_0x4303f2[_0x3699ff(0x1a4)])[_0x3699ff(0x1bd)](_0x4303f2[_0x3699ff(0x1a4)]['toLowerCase']());}),test(_0x4c037e(0x1c2),async()=>{const _0x328dea=_0x4c037e,{API_ENDPOINTS:_0x418429}=await import('../../config/constants.js');expect(_0x418429['TOOLS'])['toBeDefined'](),expect(_0x418429['TOOLS'])[_0x328dea(0x1bd)]('/api/tools');}),test(_0x4c037e(0x192),async()=>{const _0x410394=_0x4c037e,{API_ENDPOINTS:_0x5b74d6}=await import('../../config/constants.js');expect(_0x5b74d6[_0x410394(0x1cc)])[_0x410394(0x1ab)](),expect(_0x5b74d6['ORCHESTRATOR'])['toBe'](_0x410394(0x1ad));});}),describe('Tools\x20Management\x20-\x20Integration',()=>{const _0x226c8b=a0_0x1d03a5;test(_0x226c8b(0x18a),async()=>{const _0x5ee57f=_0x226c8b,{useTools:_0x294903}=await import('../../state/useTools.js'),{SessionManager:_0x1334ec}=await import(_0x5ee57f(0x182)),{MessageRouter:_0x59f335}=await import(_0x5ee57f(0x181)),{WebSocketManager:_0x2073ad}=await import('../../api/websocket.js'),_0x3fbc7a=new _0x1334ec(_0x5ee57f(0x1a3),0x1f90),_0x3895c6=new _0x2073ad(_0x5ee57f(0x1a3),0x1f90),_0x37543c=new _0x59f335(_0x3895c6);expect(_0x3fbc7a)['toBeDefined'](),expect(_0x37543c)['toBeDefined'](),expect(typeof _0x294903)[_0x5ee57f(0x1bd)]('function');}),test('Full tools management stack can be imported together',async()=>{const _0x27722e=_0x226c8b,[_0x2f7cc2,_0x3c8750,_0x299877,_0x4ba62d,_0x3c8330]=await Promise['all']([import(_0x27722e(0x1b5)),import('../../api/session.js'),import('../../api/websocket.js'),import('../../api/messageRouter.js'),import(_0x27722e(0x1bc))]);expect(_0x2f7cc2['TOOL_CATEGORY'])[_0x27722e(0x1ab)](),expect(_0x2f7cc2[_0x27722e(0x19c)])['toBeDefined'](),expect(_0x3c8750[_0x27722e(0x1b8)])['toBeDefined'](),expect(_0x299877['WebSocketManager'])[_0x27722e(0x1ab)](),expect(_0x4ba62d[_0x27722e(0x18d)])[_0x27722e(0x1ab)](),expect(_0x3c8330[_0x27722e(0x1a1)])[_0x27722e(0x1ab)]();});}),describe(a0_0x1d03a5(0x1aa),()=>{test('Tools\x20endpoint\x20follows\x20RESTful\x20pattern',async()=>{const _0x351312=a0_0x39a5,{API_ENDPOINTS:_0x2d0da5}=await import(_0x351312(0x1b5));expect(_0x2d0da5['TOOLS'])['toMatch'](/^\/api\//),expect(_0x2d0da5[_0x351312(0x1b3)])[_0x351312(0x1bd)](_0x351312(0x1cb));}),test('Tool\x20operations\x20use\x20orchestrator\x20endpoint',async()=>{const _0x2b0d43=a0_0x39a5,{API_ENDPOINTS:_0x2e4f43}=await import(_0x2b0d43(0x1b5));expect(_0x2e4f43['ORCHESTRATOR'])['toBeDefined'](),expect(_0x2e4f43['ORCHESTRATOR'])[_0x2b0d43(0x1bd)](_0x2b0d43(0x1ad));});}),describe('Tools\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x59cceb=a0_0x1d03a5;test(_0x59cceb(0x199),async()=>{const _0x44ee08=_0x59cceb,{useTools:_0xd0fece}=await import('../../state/useTools.js');expect(_0xd0fece[_0x44ee08(0x1af)])[_0x44ee08(0x1bd)](0x3);});}),describe('Tools\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x1d82d5=a0_0x1d03a5;test(_0x1d82d5(0x1b1),async()=>{const _0x3704f9=_0x1d82d5,{TOOL_CATEGORY:_0x48d9cd}=await import(_0x3704f9(0x1b5)),_0x45648b=Object[_0x3704f9(0x198)](_0x48d9cd);expect(_0x45648b)[_0x3704f9(0x1c6)](_0x3704f9(0x1b2)),expect(_0x45648b)[_0x3704f9(0x1c6)](_0x3704f9(0x1a0)),expect(_0x45648b)[_0x3704f9(0x1c6)]('ANALYSIS'),expect(_0x45648b)[_0x3704f9(0x1c6)](_0x3704f9(0x1a4)),expect(_0x45648b)['toContain'](_0x3704f9(0x18f)),expect(_0x45648b)['toContain']('AI');}),test(_0x1d82d5(0x1c7),async()=>{const _0x32f8f7=_0x1d82d5,{TOOL_CATEGORY:_0x48a115}=await import(_0x32f8f7(0x1b5));expect(_0x48a115[_0x32f8f7(0x1b2)])[_0x32f8f7(0x1c1)](/^[a-z_]+$/),expect(_0x48a115['AUTOMATION'])[_0x32f8f7(0x1c1)](/^[a-z_]+$/),expect(_0x48a115[_0x32f8f7(0x19e)])['toMatch'](/^[a-z_]+$/),expect(_0x48a115[_0x32f8f7(0x1a4)])[_0x32f8f7(0x1c1)](/^[a-z_]+$/);});}),describe('Tools\x20Management\x20-\x20WebSocket\x20Event\x20Handlers',()=>{const _0x188cb6=a0_0x1d03a5;test(_0x188cb6(0x19a),async()=>{const _0x4f47f8=_0x188cb6,{MessageRouter:_0x53ddc9}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x141f3e}=await import('../../api/websocket.js'),_0x3d1a41=new _0x141f3e(_0x4f47f8(0x1a3),0x1f90),_0x3b115b=new _0x53ddc9(_0x3d1a41);expect(_0x3b115b[_0x4f47f8(0x17f)])[_0x4f47f8(0x1ab)](),expect(typeof _0x3b115b['hasHandler'])[_0x4f47f8(0x1bd)]('function');});}),describe(a0_0x1d03a5(0x183),()=>{const _0x481ea9=a0_0x1d03a5;test(_0x481ea9(0x1a9),async()=>{const _0x442925=_0x481ea9,{TOOL_CATEGORY:_0x196284}=await import(_0x442925(0x1b5)),_0x5c87a3=[{'name':_0x442925(0x190),'category':_0x196284[_0x442925(0x1b2)]},{'name':_0x442925(0x1c5),'category':_0x196284[_0x442925(0x1b2)]},{'name':'analyze_code','category':_0x196284[_0x442925(0x19e)]},{'name':'web_search','category':_0x196284[_0x442925(0x1a4)]},{'name':_0x442925(0x184),'category':_0x196284['AI']}],_0x571632=_0x5c87a3['filter'](_0xf4958b=>_0xf4958b['category']===_0x196284[_0x442925(0x1b2)]),_0x137326=_0x5c87a3['filter'](_0x1ca118=>_0x1ca118[_0x442925(0x1be)]===_0x196284[_0x442925(0x19e)]),_0x37d02f=_0x5c87a3['filter'](_0x1070b3=>_0x1070b3[_0x442925(0x1be)]===_0x196284['UTILITY']),_0x255d10=_0x5c87a3['filter'](_0x1f1893=>_0x1f1893[_0x442925(0x1be)]===_0x196284['AI']);expect(_0x571632['length'])['toBe'](0x2),expect(_0x137326[_0x442925(0x1af)])['toBe'](0x1),expect(_0x37d02f[_0x442925(0x1af)])[_0x442925(0x1bd)](0x1),expect(_0x255d10['length'])[_0x442925(0x1bd)](0x1),expect(_0x571632[0x0]['name'])['toBe']('execute_command'),expect(_0x137326[0x0]['name'])['toBe'](_0x442925(0x18b));});}),describe(a0_0x1d03a5(0x19d),()=>{test('Tool\x20search\x20should\x20work\x20with\x20name\x20and\x20description',async()=>{const _0x17c8b4=a0_0x39a5,_0x22fbf6=[{'name':_0x17c8b4(0x1b6),'description':_0x17c8b4(0x186)},{'name':'write_file','description':_0x17c8b4(0x1a5)},{'name':_0x17c8b4(0x18b),'description':_0x17c8b4(0x1c0)}],_0x4c01c5=_0x1f6b75=>{const _0x54a79e=_0x17c8b4,_0x1b0618=_0x1f6b75['toLowerCase']();return _0x22fbf6[_0x54a79e(0x1a6)](_0x1394e4=>_0x1394e4[_0x54a79e(0x1a7)]?.[_0x54a79e(0x1c9)]()[_0x54a79e(0x191)](_0x1b0618)||_0x1394e4[_0x54a79e(0x193)]?.[_0x54a79e(0x1c9)]()['includes'](_0x1b0618));},_0x1b3bf3=_0x4c01c5(_0x17c8b4(0x195));expect(_0x1b3bf3[_0x17c8b4(0x1af)])[_0x17c8b4(0x1bd)](0x2),expect(_0x1b3bf3['map'](_0xe11d00=>_0xe11d00['name']))['toContain'](_0x17c8b4(0x1b6)),expect(_0x1b3bf3['map'](_0x8e7ef4=>_0x8e7ef4[_0x17c8b4(0x1a7)]))['toContain'](_0x17c8b4(0x1bb));const _0x4000e5=_0x4c01c5('analyze');expect(_0x4000e5['length'])[_0x17c8b4(0x1bd)](0x1),expect(_0x4000e5[0x0]['name'])[_0x17c8b4(0x1bd)]('analyze_code');});}),describe(a0_0x1d03a5(0x1a8),()=>{const _0x46abae=a0_0x1d03a5;test('Execution\x20state\x20can\x20track\x20multiple\x20tools',async()=>{const _0x19ab9f=a0_0x39a5,_0x4f28b9=new Set();_0x4f28b9['add'](_0x19ab9f(0x1b6)),_0x4f28b9[_0x19ab9f(0x1c8)]('analyze_code'),expect(_0x4f28b9[_0x19ab9f(0x1c4)](_0x19ab9f(0x1b6)))[_0x19ab9f(0x1bd)](!![]),expect(_0x4f28b9['has']('analyze_code'))[_0x19ab9f(0x1bd)](!![]),expect(_0x4f28b9[_0x19ab9f(0x185)])[_0x19ab9f(0x1bd)](0x2),_0x4f28b9['delete']('read_file'),expect(_0x4f28b9['has']('read_file'))[_0x19ab9f(0x1bd)](![]),expect(_0x4f28b9['has'](_0x19ab9f(0x18b)))['toBe'](!![]),expect(_0x4f28b9['size'])['toBe'](0x1);}),test(_0x46abae(0x18e),async()=>{const _0x58574b=_0x46abae,_0x155bca=new Map();_0x155bca[_0x58574b(0x196)](_0x58574b(0x1ba),{'success':!![],'data':'file\x20contents'}),_0x155bca[_0x58574b(0x196)](_0x58574b(0x1b7),{'success':!![],'data':{'issues':[]}}),expect(_0x155bca[_0x58574b(0x1ac)](_0x58574b(0x1ba)))['toBeDefined'](),expect(_0x155bca['get']('exec-1')['success'])[_0x58574b(0x1bd)](!![]),expect(_0x155bca['get']('exec-1')['data'])['toBe']('file\x20contents'),expect(_0x155bca['get']('exec-2'))[_0x58574b(0x1ab)](),expect(_0x155bca[_0x58574b(0x1ac)](_0x58574b(0x1b7))['data']['issues'])['toEqual']([]),expect(_0x155bca[_0x58574b(0x185)])[_0x58574b(0x1bd)](0x2);});}),describe(a0_0x1d03a5(0x188),()=>{const _0x5e3279=a0_0x1d03a5;test(_0x5e3279(0x197),async()=>{const _0x4a8603=_0x5e3279,_0x1aee54=0x927c0;let _0x556372=null,_0x50f8c7=0x0;const _0x53d2cb=[{'name':_0x4a8603(0x1b6)}];_0x556372=_0x53d2cb,_0x50f8c7=Date['now']();const _0x1b6acb=Date['now'](),_0x210dbd=_0x1b6acb-_0x50f8c7<_0x1aee54;expect(_0x210dbd)['toBe'](!![]),expect(_0x556372)[_0x4a8603(0x1bd)](_0x53d2cb);}),test('Tool\x20cache\x20expires\x20after\x20TTL',async()=>{const _0x10f4b9=_0x5e3279,_0x17d787=0x64;let _0xcc98e9=null,_0x3a8271=0x0;const _0x1d0fbd=[{'name':'read_file'}];_0xcc98e9=_0x1d0fbd,_0x3a8271=Date[_0x10f4b9(0x1b4)](),await new Promise(_0x567fa6=>setTimeout(_0x567fa6,0x96));const _0x1861fa=Date['now'](),_0x543bd4=_0x1861fa-_0x3a8271<_0x17d787;expect(_0x543bd4)['toBe'](![]);});}),describe('Tools\x20Management\x20-\x20Tool\x20Filtering',()=>{test('Tools\x20can\x20be\x20filtered\x20by\x20multiple\x20criteria',async()=>{const _0x1ba833=a0_0x39a5,{TOOL_CATEGORY:_0x376852}=await import(_0x1ba833(0x1b5)),_0x1b71c1=[{'name':_0x1ba833(0x190),'category':_0x376852['SYSTEM'],'enabled':!![]},{'name':'terminal','category':_0x376852['SYSTEM'],'enabled':![]},{'name':_0x1ba833(0x18b),'category':_0x376852[_0x1ba833(0x19e)],'enabled':!![]}],_0x8c8448=_0x2720fe=>{const _0x2c5899=_0x1ba833;let _0x2e7876=[..._0x1b71c1];return _0x2720fe[_0x2c5899(0x1be)]&&(_0x2e7876=_0x2e7876['filter'](_0x244289=>_0x244289[_0x2c5899(0x1be)]===_0x2720fe['category'])),_0x2720fe['enabled']!==undefined&&(_0x2e7876=_0x2e7876[_0x2c5899(0x1a6)](_0x48b839=>_0x48b839['enabled']===_0x2720fe[_0x2c5899(0x19f)])),_0x2e7876;},_0x343b77=_0x8c8448({'category':_0x376852[_0x1ba833(0x1b2)]});expect(_0x343b77[_0x1ba833(0x1af)])['toBe'](0x2);const _0x5cf072=_0x8c8448({'enabled':!![]});expect(_0x5cf072['length'])[_0x1ba833(0x1bd)](0x2);const _0x2efa09=_0x8c8448({'category':_0x376852[_0x1ba833(0x1b2)],'enabled':!![]});expect(_0x2efa09[_0x1ba833(0x1af)])[_0x1ba833(0x1bd)](0x1),expect(_0x2efa09[0x0]['name'])[_0x1ba833(0x1bd)]('execute_command');});}),describe(a0_0x1d03a5(0x194),()=>{const _0xe95a28=a0_0x1d03a5;test(_0xe95a28(0x19b),async()=>{const _0x2eb454=_0xe95a28,{TOOL_CATEGORY:_0x516a86}=await import('../../config/constants.js'),_0x1e7864=[{'name':'execute_command','category':_0x516a86['SYSTEM']},{'name':_0x2eb454(0x1c5),'category':_0x516a86['SYSTEM']},{'name':_0x2eb454(0x18b),'category':_0x516a86[_0x2eb454(0x19e)]},{'name':'web_search','category':_0x516a86[_0x2eb454(0x1a4)]}],_0x171d73=_0x11e97c=>{const _0x291924={};for(const _0x535c56 of Object['values'](_0x516a86)){_0x291924[_0x535c56]=_0x11e97c['filter'](_0x5c87d2=>_0x5c87d2['category']===_0x535c56)['length'];}return _0x291924;},_0x13558f=_0x171d73(_0x1e7864);expect(_0x13558f[_0x516a86['SYSTEM']])['toBe'](0x2),expect(_0x13558f[_0x516a86['ANALYSIS']])[_0x2eb454(0x1bd)](0x1),expect(_0x13558f[_0x516a86[_0x2eb454(0x1a4)]])['toBe'](0x1),expect(_0x13558f[_0x516a86[_0x2eb454(0x1a0)]])[_0x2eb454(0x1bd)](0x0);});});
|
|
1
|
+
function a0_0x3498(_0x342e6f,_0x38eed1){_0x342e6f=_0x342e6f-0x199;const _0x45c95c=a0_0x45c9();let _0x3498f6=_0x45c95c[_0x342e6f];if(a0_0x3498['gGMoPP']===undefined){var _0x4f97fc=function(_0x27a3ed){const _0x1788d3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe91c77='',_0x15e021='';for(let _0x2d96ce=0x0,_0x217afa,_0x4240f6,_0x2b2eaf=0x0;_0x4240f6=_0x27a3ed['charAt'](_0x2b2eaf++);~_0x4240f6&&(_0x217afa=_0x2d96ce%0x4?_0x217afa*0x40+_0x4240f6:_0x4240f6,_0x2d96ce++%0x4)?_0xe91c77+=String['fromCharCode'](0xff&_0x217afa>>(-0x2*_0x2d96ce&0x6)):0x0){_0x4240f6=_0x1788d3['indexOf'](_0x4240f6);}for(let _0x106d68=0x0,_0x13da3d=_0xe91c77['length'];_0x106d68<_0x13da3d;_0x106d68++){_0x15e021+='%'+('00'+_0xe91c77['charCodeAt'](_0x106d68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15e021);};a0_0x3498['QBGrvj']=_0x4f97fc,a0_0x3498['YXBczr']={},a0_0x3498['gGMoPP']=!![];}const _0x47ce16=_0x45c95c[0x0],_0x4c8c08=_0x342e6f+_0x47ce16,_0x1b3d9c=a0_0x3498['YXBczr'][_0x4c8c08];return!_0x1b3d9c?(_0x3498f6=a0_0x3498['QBGrvj'](_0x3498f6),a0_0x3498['YXBczr'][_0x4c8c08]=_0x3498f6):_0x3498f6=_0x1b3d9c,_0x3498f6;}const a0_0x4f437a=a0_0x3498;function a0_0x45c9(){const _0x13b190=['AgfZ','zgvMyxvSDa','CMvHzf9MAwXL','ve9ptf9dqvrfr09swq','mtK0mdC4ntjWCuTOr1G','DgvYBwLUywW','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGrMLSDgvYAw5N','Bg9JywXOB3n0','mtb2sK9Rzfq','DxnLvg9VBhmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','mtnHA2nMENK','zNvUy3rPB24','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','BwfW','mJu4nefPr3bfwa','q2f0zwDVCNKGy291BNrZignHBIbIzsbJywXJDwXHDgvK','ywrK','ve9ptf9dqvrfr09swsb2ywX1zxmGyxjLigXVD2vYy2fZzq','l2fWAs9VCMnOzxn0CMf0B3i','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zMLSzq','Aw5JBhvKzxm','C3vJy2vZCW','vg9VBcbJywnOzsbZDxbWB3j0CYbuveWTyMfZzwqGy2fJAgLUzW','u1Ltvevn','y2f0zwDVCNK','mZm5odb0D2Luq0K','Dg9czq','zgvZy3jPChrPB24','DxnLvg9VBhm','ugvYzM9YBsbZDgf0AwmGy29KzsbHBMfSExnPCW','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','twvZC2fNzvjVDxrLCIbOyxmGDg9VBcbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','zMLSzsbJB250zw50CW','zxHLyY0X','n09LyxPxvW','nJqXnZCWofz3q3PTDa','vg9VBhmGtwfUywDLBwvUDcaTifDLyLnVy2TLDcbfDMvUDcbiyw5KBgvYCW','nfLZrfrMCa','vvrjteLuwq','v2vIu29JA2v0twfUywDLCG','z2v0','qvvut01bveLptG','vg9VBhmGy2fUigjLigzPBhrLCMvKigj5ig11BhrPCgXLignYAxrLCMLH','t1jdsevtvfjbve9s','vg9VBhmGqvbjigvUzhbVAw50igLZigrLzMLUzwq','u2vZC2LVBK1HBMfNzxi','Dg9dB250ywLU','lI4VlI4VyxbPl3nLC3nPB24UANm','mZLhBKz5z3C','zw5HyMXLza','mZa0mJG3nNjer2jlyG','ve9ptf9dqvrfr09swsbJB25ZDgfUDhmGyxjLigrLzMLUzwq','ve9ptfm','BM93','qu5btfLtsvm','t3jJAgvZDhjHDg9YigvUzhbVAw50igLZihvZzwqGzM9YihrVB2WGB3bLCMf0Aw9UCW','zgf0yq','q09mtefct1jbveLptG','zxHLy3v0zv9JB21Tyw5K','D2vIx3nLyxjJAa','qvbjx0vorfbpsu5uuW','vg9VBhmGtwfUywDLBwvUDcaTieHVB2SGsw50zxjMywnLifzLCMLMAwnHDgLVBG','yw5HBhL6zv9JB2rL','BMfTzq','vg9VBcbJywnOzsbLEhbPCMvZigfMDgvYifruta','Dg9fCxvHBa','Dg9czurLzMLUzwq','zxHLyY0Y','ywLFyxnZAxn0yw50','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGu2vHCMnO','mZiWoteZnvPgq1nRsq','odu1ntu1wuPuv2HO','Dg9mB3DLCKnHC2u','Dg9nyxrJAa','mtyYodfpvNLlEeS','ve9ptf9dqvrfr09swsb2ywX1zxmGBwf0y2GGzxHWzwn0zwqGzM9YBwf0','zgvSzxrL','C2v0','zMLSDgvY','ywXS','BgvUz3rO','l2fWAs90B29SCW','AxnZDwvZ','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','vg9VBhmGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2fJAgLUzW','C2L6zq'];a0_0x45c9=function(){return _0x13b190;};return a0_0x45c9();}(function(_0x2c44d9,_0x397cdc){const _0x4d1142=a0_0x3498,_0x3d373b=_0x2c44d9();while(!![]){try{const _0x2e85f8=parseInt(_0x4d1142(0x1ea))/0x1*(parseInt(_0x4d1142(0x1d3))/0x2)+parseInt(_0x4d1142(0x1a9))/0x3*(parseInt(_0x4d1142(0x1df))/0x4)+parseInt(_0x4d1142(0x1a8))/0x5+parseInt(_0x4d1142(0x1ec))/0x6*(parseInt(_0x4d1142(0x1dc))/0x7)+parseInt(_0x4d1142(0x1c7))/0x8*(-parseInt(_0x4d1142(0x1ac))/0x9)+parseInt(_0x4d1142(0x1c1))/0xa*(parseInt(_0x4d1142(0x1dd))/0xb)+-parseInt(_0x4d1142(0x1bd))/0xc*(parseInt(_0x4d1142(0x1c3))/0xd);if(_0x2e85f8===_0x397cdc)break;else _0x3d373b['push'](_0x3d373b['shift']());}catch(_0x31261f){_0x3d373b['push'](_0x3d373b['shift']());}}}(a0_0x45c9,0x74d68));import{describe,test,expect}from'@jest/globals';describe('Tools\x20Management\x20-\x20Imports',()=>{test('useTools hook can be imported',async()=>{const _0x343b33=a0_0x3498,{useTools:_0xe91c77}=await import('../../state/useTools.js');expect(_0xe91c77)['toBeDefined'](),expect(typeof _0xe91c77)[_0x343b33(0x1d4)](_0x343b33(0x1c4));}),test('useTools is default export',async()=>{const _0x3f800d=a0_0x3498,module=await import('../../state/useTools.js');expect(module[_0x3f800d(0x1ba)])[_0x3f800d(0x1a4)](),expect(typeof module['default'])['toBe'](_0x3f800d(0x1c4)),expect(module[_0x3f800d(0x1ba)])[_0x3f800d(0x1d4)](module['useTools']);});}),describe('Tools\x20Management\x20-\x20Constants',()=>{const _0x4c5d3f=a0_0x3498;test(_0x4c5d3f(0x1ed),async()=>{const _0x6647e3=_0x4c5d3f,{TOOL_CATEGORY:_0x15e021}=await import(_0x6647e3(0x1cc));expect(_0x15e021)[_0x6647e3(0x1a4)](),expect(_0x15e021['SYSTEM'])['toBeDefined'](),expect(_0x15e021['AUTOMATION'])[_0x6647e3(0x1a4)](),expect(_0x15e021['ANALYSIS'])['toBeDefined'](),expect(_0x15e021['UTILITY'])['toBeDefined'](),expect(_0x15e021[_0x6647e3(0x19b)])['toBeDefined'](),expect(_0x15e021['AI'])[_0x6647e3(0x1a4)]();}),test(_0x4c5d3f(0x1ca),async()=>{const _0x571ac3=_0x4c5d3f,{TOOL_CATEGORY:_0x2d96ce}=await import('../../config/constants.js');expect(_0x2d96ce['SYSTEM'])['toBe'](_0x2d96ce[_0x571ac3(0x1d1)][_0x571ac3(0x1aa)]()),expect(_0x2d96ce['AUTOMATION'])['toBe'](_0x2d96ce['AUTOMATION']['toLowerCase']()),expect(_0x2d96ce[_0x571ac3(0x1f0)])[_0x571ac3(0x1d4)](_0x2d96ce['ANALYSIS']['toLowerCase']()),expect(_0x2d96ce['UTILITY'])[_0x571ac3(0x1d4)](_0x2d96ce[_0x571ac3(0x1e0)]['toLowerCase']());}),test(_0x4c5d3f(0x1e6),async()=>{const _0x59ac9a=_0x4c5d3f,{API_ENDPOINTS:_0x217afa}=await import(_0x59ac9a(0x1cc));expect(_0x217afa['TOOLS'])[_0x59ac9a(0x1a4)](),expect(_0x217afa[_0x59ac9a(0x1ee)])['toBe'](_0x59ac9a(0x1b3));}),test(_0x4c5d3f(0x199),async()=>{const _0x4c5f90=_0x4c5d3f,{API_ENDPOINTS:_0x4240f6}=await import('../../config/constants.js');expect(_0x4240f6['ORCHESTRATOR'])['toBeDefined'](),expect(_0x4240f6['ORCHESTRATOR'])[_0x4c5f90(0x1d4)](_0x4c5f90(0x1cb));});}),describe(a0_0x4f437a(0x1b6),()=>{const _0x5f0de2=a0_0x4f437a;test(_0x5f0de2(0x1c2),async()=>{const _0x5235d6=_0x5f0de2,{useTools:_0x2b2eaf}=await import(_0x5235d6(0x1c5)),{SessionManager:_0x106d68}=await import(_0x5235d6(0x1e9)),{MessageRouter:_0x13da3d}=await import(_0x5235d6(0x1b5)),{WebSocketManager:_0xd0e389}=await import(_0x5235d6(0x1d8)),_0xe2e1cb=new _0x106d68(_0x5235d6(0x1c0),0x1f90),_0x1ab44d=new _0xd0e389(_0x5235d6(0x1c0),0x1f90),_0x2d41a5=new _0x13da3d(_0x1ab44d);expect(_0xe2e1cb)[_0x5235d6(0x1a4)](),expect(_0x2d41a5)['toBeDefined'](),expect(typeof _0x2b2eaf)['toBe']('function');}),test('Full tools management stack can be imported together',async()=>{const _0x3614bb=_0x5f0de2,[_0x2f791c,_0x3fcb18,_0x2099e8,_0x28e590,_0xcf12bb]=await Promise[_0x3614bb(0x1b1)]([import(_0x3614bb(0x1cc)),import('../../api/session.js'),import(_0x3614bb(0x1d8)),import('../../api/messageRouter.js'),import(_0x3614bb(0x1c5))]);expect(_0x2f791c[_0x3614bb(0x1bc)])[_0x3614bb(0x1a4)](),expect(_0x2f791c[_0x3614bb(0x19e)])[_0x3614bb(0x1a4)](),expect(_0x3fcb18[_0x3614bb(0x1e7)])['toBeDefined'](),expect(_0x2099e8[_0x3614bb(0x1e1)])[_0x3614bb(0x1a4)](),expect(_0x28e590['MessageRouter'])['toBeDefined'](),expect(_0xcf12bb[_0x3614bb(0x1d6)])[_0x3614bb(0x1a4)]();});}),describe('Tools\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{test('Tools\x20endpoint\x20follows\x20RESTful\x20pattern',async()=>{const _0x584be6=a0_0x3498,{API_ENDPOINTS:_0x4d549d}=await import('../../config/constants.js');expect(_0x4d549d[_0x584be6(0x1ee)])['toMatch'](/^\/api\//),expect(_0x4d549d['TOOLS'])['toBe']('/api/tools');}),test('Tool\x20operations\x20use\x20orchestrator\x20endpoint',async()=>{const _0x180a42=a0_0x3498,{API_ENDPOINTS:_0x13d7f0}=await import(_0x180a42(0x1cc));expect(_0x13d7f0[_0x180a42(0x1e5)])[_0x180a42(0x1a4)](),expect(_0x13d7f0['ORCHESTRATOR'])[_0x180a42(0x1d4)](_0x180a42(0x1cb));});}),describe(a0_0x4f437a(0x19f),()=>{test('useTools\x20returns\x20expected\x20interface\x20shape',async()=>{const {useTools:_0xf991f3}=await import('../../state/useTools.js');expect(_0xf991f3['length'])['toBe'](0x3);});}),describe('Tools\x20Management\x20-\x20Constants\x20Validation',()=>{const _0x47b1ca=a0_0x4f437a;test('TOOL_CATEGORY\x20includes\x20all\x20major\x20categories',async()=>{const _0x32a339=a0_0x3498,{TOOL_CATEGORY:_0x40aa46}=await import(_0x32a339(0x1cc)),_0x1fba5a=Object['keys'](_0x40aa46);expect(_0x1fba5a)['toContain'](_0x32a339(0x1d1)),expect(_0x1fba5a)[_0x32a339(0x1e8)](_0x32a339(0x1e3)),expect(_0x1fba5a)['toContain']('ANALYSIS'),expect(_0x1fba5a)['toContain'](_0x32a339(0x1e0)),expect(_0x1fba5a)['toContain']('COLLABORATION'),expect(_0x1fba5a)[_0x32a339(0x1e8)]('AI');}),test(_0x47b1ca(0x1ad),async()=>{const _0x272ebb=_0x47b1ca,{TOOL_CATEGORY:_0x293346}=await import(_0x272ebb(0x1cc));expect(_0x293346[_0x272ebb(0x1d1)])['toMatch'](/^[a-z_]+$/),expect(_0x293346[_0x272ebb(0x1e3)])[_0x272ebb(0x1ab)](/^[a-z_]+$/),expect(_0x293346[_0x272ebb(0x1f0)])['toMatch'](/^[a-z_]+$/),expect(_0x293346['UTILITY'])[_0x272ebb(0x1ab)](/^[a-z_]+$/);});}),describe(a0_0x4f437a(0x1de),()=>{const _0x50f2c5=a0_0x4f437a;test(_0x50f2c5(0x1d9),async()=>{const _0x2f3595=_0x50f2c5,{MessageRouter:_0x54dc5b}=await import(_0x2f3595(0x1b5)),{WebSocketManager:_0x4c8571}=await import(_0x2f3595(0x1d8)),_0x577d74=new _0x4c8571('localhost',0x1f90),_0x2e035a=new _0x54dc5b(_0x577d74);expect(_0x2e035a['hasHandler'])[_0x2f3595(0x1a4)](),expect(typeof _0x2e035a['hasHandler'])['toBe'](_0x2f3595(0x1c4));});}),describe('Tools\x20Management\x20-\x20Tool\x20Categorization',()=>{test('TOOL_CATEGORY\x20can\x20be\x20used\x20to\x20filter\x20tools\x20by\x20category',async()=>{const _0x3a7290=a0_0x3498,{TOOL_CATEGORY:_0xaf19dc}=await import(_0x3a7290(0x1cc)),_0x4231a4=[{'name':_0x3a7290(0x19c),'category':_0xaf19dc['SYSTEM']},{'name':_0x3a7290(0x1be),'category':_0xaf19dc['SYSTEM']},{'name':_0x3a7290(0x1a0),'category':_0xaf19dc[_0x3a7290(0x1f0)]},{'name':'web_search','category':_0xaf19dc['UTILITY']},{'name':_0x3a7290(0x1a6),'category':_0xaf19dc['AI']}],_0x2d4fb4=_0x4231a4['filter'](_0x25c914=>_0x25c914['category']===_0xaf19dc[_0x3a7290(0x1d1)]),_0x77112f=_0x4231a4['filter'](_0x557dcf=>_0x557dcf['category']===_0xaf19dc['ANALYSIS']),_0x182267=_0x4231a4['filter'](_0x2c706a=>_0x2c706a[_0x3a7290(0x1d2)]===_0xaf19dc['UTILITY']),_0x1da85b=_0x4231a4[_0x3a7290(0x1b0)](_0x238ccc=>_0x238ccc['category']===_0xaf19dc['AI']);expect(_0x2d4fb4[_0x3a7290(0x1b2)])['toBe'](0x2),expect(_0x77112f['length'])[_0x3a7290(0x1d4)](0x1),expect(_0x182267['length'])[_0x3a7290(0x1d4)](0x1),expect(_0x1da85b[_0x3a7290(0x1b2)])[_0x3a7290(0x1d4)](0x1),expect(_0x2d4fb4[0x0]['name'])[_0x3a7290(0x1d4)]('execute_command'),expect(_0x77112f[0x0][_0x3a7290(0x1a1)])[_0x3a7290(0x1d4)](_0x3a7290(0x1a0));});}),describe(a0_0x4f437a(0x1a7),()=>{test('Tool\x20search\x20should\x20work\x20with\x20name\x20and\x20description',async()=>{const _0x3818b3=a0_0x3498,_0x4b7ff1=[{'name':'read_file','description':'Read\x20contents\x20of\x20a\x20file'},{'name':'write_file','description':'Write\x20data\x20to\x20a\x20file'},{'name':'analyze_code','description':_0x3818b3(0x1d7)}],_0xa08f85=_0x4f7b89=>{const _0x4be7c9=_0x3818b3,_0x131421=_0x4f7b89[_0x4be7c9(0x1aa)]();return _0x4b7ff1[_0x4be7c9(0x1b0)](_0x475b4c=>_0x475b4c[_0x4be7c9(0x1a1)]?.['toLowerCase']()[_0x4be7c9(0x1ce)](_0x131421)||_0x475b4c[_0x4be7c9(0x1d5)]?.[_0x4be7c9(0x1aa)]()['includes'](_0x131421));},_0x5773f2=_0xa08f85(_0x3818b3(0x1cd));expect(_0x5773f2[_0x3818b3(0x1b2)])['toBe'](0x2),expect(_0x5773f2['map'](_0x363ede=>_0x363ede[_0x3818b3(0x1a1)]))['toContain']('read_file'),expect(_0x5773f2[_0x3818b3(0x1c6)](_0x17ddd8=>_0x17ddd8['name']))['toContain']('write_file');const _0x4d7ccd=_0xa08f85('analyze');expect(_0x4d7ccd['length'])['toBe'](0x1),expect(_0x4d7ccd[0x0][_0x3818b3(0x1a1)])[_0x3818b3(0x1d4)](_0x3818b3(0x1a0));});}),describe('Tools\x20Management\x20-\x20Execution\x20State\x20Tracking',()=>{test('Execution\x20state\x20can\x20track\x20multiple\x20tools',async()=>{const _0x5619d7=a0_0x3498,_0x3ce87b=new Set();_0x3ce87b[_0x5619d7(0x1c9)]('read_file'),_0x3ce87b['add']('analyze_code'),expect(_0x3ce87b['has'](_0x5619d7(0x1bb)))['toBe'](!![]),expect(_0x3ce87b[_0x5619d7(0x1b9)]('analyze_code'))['toBe'](!![]),expect(_0x3ce87b[_0x5619d7(0x1b8)])['toBe'](0x2),_0x3ce87b[_0x5619d7(0x1ae)](_0x5619d7(0x1bb)),expect(_0x3ce87b['has']('read_file'))[_0x5619d7(0x1d4)](![]),expect(_0x3ce87b['has'](_0x5619d7(0x1a0)))['toBe'](!![]),expect(_0x3ce87b['size'])['toBe'](0x1);}),test('Tool\x20results\x20can\x20be\x20stored\x20by\x20execution\x20ID',async()=>{const _0x16c27e=a0_0x3498,_0xb925b8=new Map();_0xb925b8[_0x16c27e(0x1af)](_0x16c27e(0x1db),{'success':!![],'data':'file\x20contents'}),_0xb925b8['set']('exec-2',{'success':!![],'data':{'issues':[]}}),expect(_0xb925b8[_0x16c27e(0x1e2)]('exec-1'))[_0x16c27e(0x1a4)](),expect(_0xb925b8['get'](_0x16c27e(0x1db))[_0x16c27e(0x1cf)])['toBe'](!![]),expect(_0xb925b8[_0x16c27e(0x1e2)]('exec-1')[_0x16c27e(0x19a)])[_0x16c27e(0x1d4)](_0x16c27e(0x1da)),expect(_0xb925b8[_0x16c27e(0x1e2)](_0x16c27e(0x1a5)))[_0x16c27e(0x1a4)](),expect(_0xb925b8[_0x16c27e(0x1e2)]('exec-2')['data'][_0x16c27e(0x1b4)])[_0x16c27e(0x1a3)]([]),expect(_0xb925b8[_0x16c27e(0x1b8)])['toBe'](0x2);});}),describe(a0_0x4f437a(0x1b7),()=>{const _0x5cbfc3=a0_0x4f437a;test(_0x5cbfc3(0x1d0),async()=>{const _0x457690=_0x5cbfc3,_0x43b548=0x927c0;let _0xa71435=null,_0x5d24c9=0x0;const _0x401db8=[{'name':'read_file'}];_0xa71435=_0x401db8,_0x5d24c9=Date[_0x457690(0x1ef)]();const _0x1b6143=Date[_0x457690(0x1ef)](),_0x24e749=_0x1b6143-_0x5d24c9<_0x43b548;expect(_0x24e749)['toBe'](!![]),expect(_0xa71435)['toBe'](_0x401db8);}),test(_0x5cbfc3(0x1a2),async()=>{const _0x4b47ab=_0x5cbfc3,_0xe0405a=0x64;let _0x36e192=null,_0x2a531a=0x0;const _0x3f6ffd=[{'name':'read_file'}];_0x36e192=_0x3f6ffd,_0x2a531a=Date['now'](),await new Promise(_0x547ba8=>setTimeout(_0x547ba8,0x96));const _0x304324=Date[_0x4b47ab(0x1ef)](),_0x4b9412=_0x304324-_0x2a531a<_0xe0405a;expect(_0x4b9412)[_0x4b47ab(0x1d4)](![]);});}),describe(a0_0x4f437a(0x1bf),()=>{const _0x374b88=a0_0x4f437a;test(_0x374b88(0x1e4),async()=>{const _0x1519f3=_0x374b88,{TOOL_CATEGORY:_0x4726a5}=await import(_0x1519f3(0x1cc)),_0x51a1fc=[{'name':'execute_command','category':_0x4726a5[_0x1519f3(0x1d1)],'enabled':!![]},{'name':'terminal','category':_0x4726a5['SYSTEM'],'enabled':![]},{'name':'analyze_code','category':_0x4726a5['ANALYSIS'],'enabled':!![]}],_0x714637=_0x1309c5=>{const _0x12d50a=_0x1519f3;let _0x566bdf=[..._0x51a1fc];return _0x1309c5[_0x12d50a(0x1d2)]&&(_0x566bdf=_0x566bdf[_0x12d50a(0x1b0)](_0x4404c1=>_0x4404c1['category']===_0x1309c5[_0x12d50a(0x1d2)])),_0x1309c5['enabled']!==undefined&&(_0x566bdf=_0x566bdf['filter'](_0x34ebd8=>_0x34ebd8[_0x12d50a(0x1eb)]===_0x1309c5[_0x12d50a(0x1eb)])),_0x566bdf;},_0x266db1=_0x714637({'category':_0x4726a5['SYSTEM']});expect(_0x266db1['length'])[_0x1519f3(0x1d4)](0x2);const _0x44ed08=_0x714637({'enabled':!![]});expect(_0x44ed08[_0x1519f3(0x1b2)])[_0x1519f3(0x1d4)](0x2);const _0x2ab8c3=_0x714637({'category':_0x4726a5['SYSTEM'],'enabled':!![]});expect(_0x2ab8c3['length'])['toBe'](0x1),expect(_0x2ab8c3[0x0][_0x1519f3(0x1a1)])['toBe'](_0x1519f3(0x19c));});}),describe('Tools\x20Management\x20-\x20Category\x20Counts',()=>{const _0x2ad649=a0_0x4f437a;test(_0x2ad649(0x1c8),async()=>{const _0x34800e=_0x2ad649,{TOOL_CATEGORY:_0x822ea3}=await import(_0x34800e(0x1cc)),_0x5ea7ce=[{'name':_0x34800e(0x19c),'category':_0x822ea3['SYSTEM']},{'name':'terminal','category':_0x822ea3[_0x34800e(0x1d1)]},{'name':_0x34800e(0x1a0),'category':_0x822ea3['ANALYSIS']},{'name':_0x34800e(0x19d),'category':_0x822ea3['UTILITY']}],_0x31c64a=_0x1bc91d=>{const _0x53272e={};for(const _0x364cc6 of Object['values'](_0x822ea3)){_0x53272e[_0x364cc6]=_0x1bc91d['filter'](_0x53cb44=>_0x53cb44['category']===_0x364cc6)['length'];}return _0x53272e;},_0x295cd=_0x31c64a(_0x5ea7ce);expect(_0x295cd[_0x822ea3['SYSTEM']])[_0x34800e(0x1d4)](0x2),expect(_0x295cd[_0x822ea3['ANALYSIS']])[_0x34800e(0x1d4)](0x1),expect(_0x295cd[_0x822ea3[_0x34800e(0x1e0)]])['toBe'](0x1),expect(_0x295cd[_0x822ea3[_0x34800e(0x1e3)]])[_0x34800e(0x1d4)](0x0);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x597422=a0_0x3e42;function a0_0x3e42(_0x535bea,_0x58fc70){_0x535bea=_0x535bea-0xf7;const _0x394612=a0_0x3946();let _0x3e4295=_0x394612[_0x535bea];if(a0_0x3e42['uxqeDU']===undefined){var _0x167d94=function(_0x1d1db5){const _0x2de5ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6ebd60='',_0xb69b3='';for(let _0x1e921f=0x0,_0x5d3f02,_0x5baa23,_0x21e017=0x0;_0x5baa23=_0x1d1db5['charAt'](_0x21e017++);~_0x5baa23&&(_0x5d3f02=_0x1e921f%0x4?_0x5d3f02*0x40+_0x5baa23:_0x5baa23,_0x1e921f++%0x4)?_0x6ebd60+=String['fromCharCode'](0xff&_0x5d3f02>>(-0x2*_0x1e921f&0x6)):0x0){_0x5baa23=_0x2de5ad['indexOf'](_0x5baa23);}for(let _0x5b6a4a=0x0,_0x1b8c3b=_0x6ebd60['length'];_0x5b6a4a<_0x1b8c3b;_0x5b6a4a++){_0xb69b3+='%'+('00'+_0x6ebd60['charCodeAt'](_0x5b6a4a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb69b3);};a0_0x3e42['hLasLe']=_0x167d94,a0_0x3e42['MQkviz']={},a0_0x3e42['uxqeDU']=!![];}const _0x1d46fe=_0x394612[0x0],_0x56bca8=_0x535bea+_0x1d46fe,_0x5f12ec=a0_0x3e42['MQkviz'][_0x56bca8];return!_0x5f12ec?(_0x3e4295=a0_0x3e42['hLasLe'](_0x3e4295),a0_0x3e42['MQkviz'][_0x56bca8]=_0x3e4295):_0x3e4295=_0x5f12ec,_0x3e4295;}(function(_0x58e0d3,_0x112600){const _0x462b4b=a0_0x3e42,_0x1a9bc4=_0x58e0d3();while(!![]){try{const _0x43aa9e=parseInt(_0x462b4b(0xff))/0x1*(-parseInt(_0x462b4b(0xf7))/0x2)+-parseInt(_0x462b4b(0x101))/0x3+-parseInt(_0x462b4b(0x111))/0x4*(-parseInt(_0x462b4b(0x11c))/0x5)+parseInt(_0x462b4b(0xf9))/0x6*(parseInt(_0x462b4b(0xfd))/0x7)+-parseInt(_0x462b4b(0xfe))/0x8*(-parseInt(_0x462b4b(0x112))/0x9)+parseInt(_0x462b4b(0x114))/0xa+-parseInt(_0x462b4b(0xf8))/0xb*(-parseInt(_0x462b4b(0x10f))/0xc);if(_0x43aa9e===_0x112600)break;else _0x1a9bc4['push'](_0x1a9bc4['shift']());}catch(_0x1e88de){_0x1a9bc4['push'](_0x1a9bc4['shift']());}}}(a0_0x3946,0x36790));import{ERROR_MESSAGE}from'../config/constants.js';export class ApiClient{constructor(_0x6ebd60,_0xb69b3=null){const _0x2b5795=a0_0x3e42;this[_0x2b5795(0x106)]=_0x6ebd60,this[_0x2b5795(0x104)]=_0xb69b3;}[a0_0x597422(0x10c)](_0x1e921f){this['apiKey']=_0x1e921f;}[a0_0x597422(0x113)](){const _0xe15109=a0_0x597422;return this[_0xe15109(0x104)];}[a0_0x597422(0x108)](){const _0x15a1ad=a0_0x597422;this[_0x15a1ad(0x104)]=null;}['buildHeaders'](_0x5d3f02={}){const _0x336b3a=a0_0x597422,_0x5baa23={'Content-Type':_0x336b3a(0x105),..._0x5d3f02};return this[_0x336b3a(0x104)]&&(_0x5baa23[_0x336b3a(0x102)]='Bearer\x20'+this[_0x336b3a(0x104)]),_0x5baa23;}async[a0_0x597422(0xfa)](_0x21e017,_0x5b6a4a,_0x1b8c3b={}){const _0x1092f5=a0_0x597422,{body:body=null,headers:headers={},query:query=null}=_0x1b8c3b;let _0x17bc70=''+this[_0x1092f5(0x106)]+_0x5b6a4a;if(query){const _0x1ca292=new URLSearchParams(query)[_0x1092f5(0x115)]();_0x17bc70+='?'+_0x1ca292;}const _0x483ab2={'method':_0x21e017,'headers':this[_0x1092f5(0x118)](headers)};body&&[_0x1092f5(0x10e),_0x1092f5(0x100),_0x1092f5(0x10a)][_0x1092f5(0xfc)](_0x21e017[_0x1092f5(0x107)]())&&(_0x483ab2['body']=JSON[_0x1092f5(0x119)](body));try{const _0x51c0a2=await fetch(_0x17bc70,_0x483ab2),_0x4a3983=await _0x51c0a2[_0x1092f5(0x10d)]()[_0x1092f5(0x116)](()=>({}));if(!_0x51c0a2['ok']){const _0x38f4f0=new Error(_0x4a3983['error']||_0x1092f5(0x103)+_0x51c0a2['status']+':\x20'+_0x51c0a2[_0x1092f5(0x117)]);_0x38f4f0['status']=_0x51c0a2['status'],_0x38f4f0[_0x1092f5(0x11a)]=_0x4a3983;throw _0x38f4f0;}return _0x4a3983;}catch(_0x352c52){if(_0x352c52['message']['includes']('fetch')||_0x352c52[_0x1092f5(0xfb)]==='TypeError'){const _0x54df7d=new Error(ERROR_MESSAGE[_0x1092f5(0x110)]+':\x20'+_0x352c52['message']);_0x54df7d['originalError']=_0x352c52;throw _0x54df7d;}throw _0x352c52;}}async['get'](_0x32ff61,_0x468a82={}){const _0x7f2d5=a0_0x597422;return this[_0x7f2d5(0xfa)]('GET',_0x32ff61,_0x468a82);}async['post'](_0x36711a,_0xf21022=null,_0x6e2780={}){return this['request']('POST',_0x36711a,{..._0x6e2780,'body':_0xf21022});}async['put'](_0x36d8ca,_0x50daad=null,_0x4df9e3={}){return this['request']('PUT',_0x36d8ca,{..._0x4df9e3,'body':_0x50daad});}async[a0_0x597422(0x11b)](_0x37d42f,_0x38424b=null,_0x2db3f5={}){const _0x1b4f8e=a0_0x597422;return this[_0x1b4f8e(0xfa)]('PATCH',_0x37d42f,{..._0x2db3f5,'body':_0x38424b});}async[a0_0x597422(0x109)](_0x2ad8cc,_0xaca74d={}){return this['request']('DELETE',_0x2ad8cc,_0xaca74d);}}export function createApiClient(_0x5ce4dc=a0_0x597422(0x10b),_0x21632f=0x1f90,_0x474715=null){const _0x3e0ebb='http://'+_0x5ce4dc+':'+_0x21632f;return new ApiClient(_0x3e0ebb,_0x474715);}export default ApiClient;function a0_0x3946(){const _0x4ae5f2=['ANnVBG','ue9tva','mtiWrwj0BMf0','tKvuv09ss19fuLjpuG','ne1jzuzAuG','odq2uNbsuMXQ','z2v0qxbPs2v5','mZiZmJGWyLbnEhLJ','Dg9tDhjPBMC','y2f0y2G','C3rHDhvZvgv4Da','yNvPBgrizwfKzxjZ','C3rYAw5NAwz5','CMvZCg9UC2u','Cgf0y2G','mta3ntyWD1fRqw1p','mti2mdG4DwvVuNLm','mtiYotq3BMrdtgnK','nZm4mtaYEKTru0rU','CMvXDwvZDa','BMfTzq','Aw5JBhvKzxm','mtrHEKH3qNu','mJCWmdHhrNnSvKS','mwnTuuznEq','ufvu','mtmYodq3mK9psg5Kva','qxv0Ag9YAxPHDgLVBG','sfruuca','yxbPs2v5','yxbWBgLJyxrPB24VANnVBG','yMfZzvvYBa','Dg9vChbLCKnHC2u','y2XLyxjbCgLlzxK','zgvSzxrL','uefuq0G','Bg9JywXOB3n0','C2v0qxbPs2v5'];a0_0x3946=function(){return _0x4ae5f2;};return a0_0x3946();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x5354(){const _0xc7feb1=['Aw5KzxHpzG','mZy5mJCZnvfSwwDjvG','nJe0mdG5v09Ts3LS','mtyYnte0mM1lDMPNtq','AgfZ','y29UDMvYC2f0Aw9UoMnVBxbHy3rPB24','CMvNAxn0zxjezwzHDwX0sgfUzgXLCNm','w01LC3nHz2vsB3v0zxjD','ywDLBNq6zxHLy3v0Aw9Ux3n0B3bWzwq','AgfUzgXLCNm','z2v0','BwLKzgXLD2fYzq','DhLWzq','tuvtu0fhrv9brerfra','Dg9ju09tDhjPBMC','su1br0vFuKvtvuXu','ywDLBNq','zgvSzxrL','ywDLBNq6D2fYBMLUzW','odG5mdy0ogfVDLHVwq','ywDLBNq6BwvZC2fNzv9HzgrLza','BwvZC2fNztO','rvHfq1vusu9ox1nut1bqruq','zgf0yq','CMvNAxn0zxjiyw5KBgvY','rvjst1i','ywDLBNq6Bw9Kzv9JAgfUz2vK','zNjVBq','AgfUzgXLCL9LCNjVCG','C3bSAwnL','nJaWotq5nKjZrvbkyG','A2v5CW','Aw52ywXPzf9TzxnZywDL','mZq3mJiZmen2qxzmCG','ote1mJK4mNjgs0rzwq','quDftLrFsu1qt1juruq','ywDLBNq6zxjYB3i','mLLHA1DUAG','CM91Dgu','y2XLyxjnAwrKBgv3yxjL','zw1PDa','ywDLBNq6y29TBxvUAwnHDgLVBG','mJHou0DKt0y','quDftLrFv0fstKLorW'];a0_0x5354=function(){return _0xc7feb1;};return a0_0x5354();}const a0_0x2bebca=a0_0x57d5;(function(_0x3b87b1,_0x3563f0){const _0x2c9ed1=a0_0x57d5,_0x384711=_0x3b87b1();while(!![]){try{const _0x2d3271=-parseInt(_0x2c9ed1(0xa2))/0x1*(-parseInt(_0x2c9ed1(0xc5))/0x2)+parseInt(_0x2c9ed1(0xc1))/0x3+parseInt(_0x2c9ed1(0xbe))/0x4+parseInt(_0x2c9ed1(0xa1))/0x5+parseInt(_0x2c9ed1(0xa3))/0x6*(-parseInt(_0x2c9ed1(0xca))/0x7)+-parseInt(_0x2c9ed1(0xb3))/0x8+-parseInt(_0x2c9ed1(0xc2))/0x9;if(_0x2d3271===_0x3563f0)break;else _0x384711['push'](_0x384711['shift']());}catch(_0x115489){_0x384711['push'](_0x384711['shift']());}}}(a0_0x5354,0xc3797));import{EventEmitter}from'events';import{WS_MESSAGE_TYPE}from'../config/constants.js';export class MessageRouter extends EventEmitter{constructor(_0x4ff3cc){const _0x4c70cd=a0_0x57d5;super(),this['ws']=_0x4ff3cc,this['handlers']=new Map(),this['middleware']=[],this['ws']['on']('message',_0x441105=>this[_0x4c70cd(0xc6)](_0x441105)),this[_0x4c70cd(0xa6)]();}[a0_0x2bebca(0xa6)](){const _0xc90efb=a0_0x2bebca;this['registerHandler'](WS_MESSAGE_TYPE[_0xc90efb(0xad)],_0x3e7c8b=>{const _0x4728a2=_0xc90efb;this['emit'](_0x4728a2(0xb4),_0x3e7c8b['data']);}),this['registerHandler'](WS_MESSAGE_TYPE['AGENT_MODE_CHANGED'],_0x66a01e=>{const _0x37a013=_0xc90efb;this['emit'](_0x37a013(0xba),_0x66a01e);}),this[_0xc90efb(0xb8)](WS_MESSAGE_TYPE[_0xc90efb(0xb6)],_0x111889=>{const _0x514117=_0xc90efb;this['emit'](_0x514117(0xa8),_0x111889['data']);}),this[_0xc90efb(0xb8)](WS_MESSAGE_TYPE['AGENT_ERROR'],_0x46a86f=>{const _0x250b07=_0xc90efb;this['emit'](_0x250b07(0xc4),_0x46a86f);}),this[_0xc90efb(0xb8)](WS_MESSAGE_TYPE[_0xc90efb(0xcb)],_0x385265=>{const _0x91ee21=_0xc90efb;this[_0x91ee21(0xc8)](_0x91ee21(0xb2),_0x385265);}),this['registerHandler'](WS_MESSAGE_TYPE[_0xc90efb(0xc3)],_0x15f84d=>{const _0x5dc1a5=_0xc90efb;this[_0x5dc1a5(0xc8)]('agent:imported',_0x15f84d[_0x5dc1a5(0xb0)]);}),this[_0xc90efb(0xb8)](WS_MESSAGE_TYPE['AGENT_COMMUNICATION'],_0x3ca922=>{const _0x5d1106=_0xc90efb;this[_0x5d1106(0xc8)](_0x5d1106(0xc9),_0x3ca922[_0x5d1106(0xb7)]);}),this['registerHandler'](WS_MESSAGE_TYPE['COMPACTION_EVENT'],_0x2a3162=>{const _0x45fa56=_0xc90efb;this[_0x45fa56(0xc8)](_0x45fa56(0xa5),_0x2a3162[_0x45fa56(0xb7)]);}),this['registerHandler'](WS_MESSAGE_TYPE[_0xc90efb(0xaf)],_0x4466d1=>{const _0x5ef24e=_0xc90efb;this[_0x5ef24e(0xc8)]('image:result',_0x4466d1[_0x5ef24e(0xb7)]);}),this['registerHandler'](WS_MESSAGE_TYPE['IMAGE_GENERATED'],_0x5ed568=>{const _0x56baff=_0xc90efb;this[_0x56baff(0xc8)]('image:generated',_0x5ed568['data']);}),this[_0xc90efb(0xb8)](WS_MESSAGE_TYPE[_0xc90efb(0xb9)],_0x5724d3=>{const _0x44ab47=_0xc90efb;this[_0x44ab47(0xc8)]('error',_0x5724d3);});}async['route'](_0x3ea33d){const _0xfcb66f=a0_0x2bebca;let processedMessage=_0x3ea33d;for(const _0x4bc93c of this[_0xfcb66f(0xab)]){try{processedMessage=await _0x4bc93c(processedMessage);if(!processedMessage)return;}catch(_0x273a44){this['emit']('middleware_error',{'error':_0x273a44,'message':_0x3ea33d});return;}}const _0x56540f=processedMessage[_0xfcb66f(0xac)];if(!_0x56540f){this['emit'](_0xfcb66f(0xc0),processedMessage);return;}if(this[_0xfcb66f(0xa9)][_0xfcb66f(0xa4)](_0x56540f)){const _0x33fb5f=this[_0xfcb66f(0xa9)][_0xfcb66f(0xaa)](_0x56540f);try{await _0x33fb5f(processedMessage);}catch(_0x1db0c7){this[_0xfcb66f(0xc8)](_0xfcb66f(0xbc),{'error':_0x1db0c7,'message':processedMessage,'messageType':_0x56540f});}}this[_0xfcb66f(0xc8)](_0xfcb66f(0xb5)+_0x56540f,processedMessage),this[_0xfcb66f(0xc8)]('message',processedMessage);}['registerHandler'](_0x4de988,_0x445175){if(typeof _0x445175!=='function')throw new Error('Handler\x20must\x20be\x20a\x20function');this['handlers']['set'](_0x4de988,_0x445175);}['unregisterHandler'](_0x1242ac){const _0x5165cf=a0_0x2bebca;this['handlers'][_0x5165cf(0xb1)](_0x1242ac);}['use'](_0x41fb29){if(typeof _0x41fb29!=='function')throw new Error('Middleware\x20must\x20be\x20a\x20function');this['middleware']['push'](_0x41fb29);}['removeMiddleware'](_0x84ba60){const _0x53e5d7=a0_0x2bebca,_0x586e19=this[_0x53e5d7(0xab)][_0x53e5d7(0xcc)](_0x84ba60);_0x586e19>-0x1&&this[_0x53e5d7(0xab)][_0x53e5d7(0xbd)](_0x586e19,0x1);}[a0_0x2bebca(0xc7)](){const _0x4300bc=a0_0x2bebca;this[_0x4300bc(0xab)]=[];}['getRegisteredTypes'](){const _0x1c938b=a0_0x2bebca;return Array[_0x1c938b(0xbb)](this[_0x1c938b(0xa9)][_0x1c938b(0xbf)]());}['hasHandler'](_0x2efb2e){const _0x344480=a0_0x2bebca;return this['handlers'][_0x344480(0xa4)](_0x2efb2e);}['clearHandlers'](){this['handlers']['clear']();}['reset'](){const _0x16f559=a0_0x2bebca;this['clearHandlers'](),this[_0x16f559(0xc7)](),this['registerDefaultHandlers']();}}export function loggingMiddleware(_0xce5622=console['log']){return _0x354e83=>{const _0x468805=a0_0x57d5;return _0xce5622(_0x468805(0xa7),_0x354e83['type'],_0x354e83),_0x354e83;};}export function filterMiddleware(_0x525f9a){return _0x2d519a=>{if(_0x525f9a['includes'](_0x2d519a['type']))return _0x2d519a;return null;};}export function transformMiddleware(_0x3eb735){return async _0x557a68=>{return await _0x3eb735(_0x557a68);};}export function timestampMiddleware(){return _0x3b9c92=>{const _0x21d365=a0_0x57d5;return{..._0x3b9c92,'receivedAt':new Date()[_0x21d365(0xae)]()};};}export function validationMiddleware(_0x2021b5){return _0x3f2e57=>{if(_0x2021b5(_0x3f2e57))return _0x3f2e57;throw new Error('Message\x20validation\x20failed');};}function a0_0x57d5(_0x1e6593,_0x3f30da){_0x1e6593=_0x1e6593-0xa1;const _0x535425=a0_0x5354();let _0x57d52e=_0x535425[_0x1e6593];if(a0_0x57d5['daRBOF']===undefined){var _0xcad15d=function(_0xb9a33a){const _0x1fe560='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ff3cc='',_0x441105='';for(let _0x3e7c8b=0x0,_0x66a01e,_0x111889,_0x46a86f=0x0;_0x111889=_0xb9a33a['charAt'](_0x46a86f++);~_0x111889&&(_0x66a01e=_0x3e7c8b%0x4?_0x66a01e*0x40+_0x111889:_0x111889,_0x3e7c8b++%0x4)?_0x4ff3cc+=String['fromCharCode'](0xff&_0x66a01e>>(-0x2*_0x3e7c8b&0x6)):0x0){_0x111889=_0x1fe560['indexOf'](_0x111889);}for(let _0x385265=0x0,_0x15f84d=_0x4ff3cc['length'];_0x385265<_0x15f84d;_0x385265++){_0x441105+='%'+('00'+_0x4ff3cc['charCodeAt'](_0x385265)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x441105);};a0_0x57d5['zvlAOi']=_0xcad15d,a0_0x57d5['WugwhZ']={},a0_0x57d5['daRBOF']=!![];}const _0x42d661=_0x535425[0x0],_0x5d39ad=_0x1e6593+_0x42d661,_0x52350b=a0_0x57d5['WugwhZ'][_0x5d39ad];return!_0x52350b?(_0x57d52e=a0_0x57d5['zvlAOi'](_0x57d52e),a0_0x57d5['WugwhZ'][_0x5d39ad]=_0x57d52e):_0x57d52e=_0x52350b,_0x57d52e;}export default MessageRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2e66ef=a0_0x4b2f;(function(_0x3ef2cd,_0x5c04e7){const _0x2e9ac8=a0_0x4b2f,_0x36a6ec=_0x3ef2cd();while(!![]){try{const _0xc582b3=-parseInt(_0x2e9ac8(0x10e))/0x1+parseInt(_0x2e9ac8(0xff))/0x2+-parseInt(_0x2e9ac8(0x115))/0x3*(parseInt(_0x2e9ac8(0xfe))/0x4)+-parseInt(_0x2e9ac8(0xfd))/0x5+-parseInt(_0x2e9ac8(0x117))/0x6+parseInt(_0x2e9ac8(0x10f))/0x7+-parseInt(_0x2e9ac8(0x107))/0x8*(-parseInt(_0x2e9ac8(0x113))/0x9);if(_0xc582b3===_0x5c04e7)break;else _0x36a6ec['push'](_0x36a6ec['shift']());}catch(_0x3b6bd3){_0x36a6ec['push'](_0x36a6ec['shift']());}}}(a0_0x3e89,0x5a3f7));function a0_0x4b2f(_0x466899,_0x23e123){_0x466899=_0x466899-0xe9;const _0x3e8917=a0_0x3e89();let _0x4b2fad=_0x3e8917[_0x466899];if(a0_0x4b2f['aIvjRZ']===undefined){var _0x2eceee=function(_0x1525ab){const _0x3a1ad1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35478d='',_0x2b0b22='';for(let _0x4c928d=0x0,_0x539e04,_0xf0c96c,_0x2db837=0x0;_0xf0c96c=_0x1525ab['charAt'](_0x2db837++);~_0xf0c96c&&(_0x539e04=_0x4c928d%0x4?_0x539e04*0x40+_0xf0c96c:_0xf0c96c,_0x4c928d++%0x4)?_0x35478d+=String['fromCharCode'](0xff&_0x539e04>>(-0x2*_0x4c928d&0x6)):0x0){_0xf0c96c=_0x3a1ad1['indexOf'](_0xf0c96c);}for(let _0x4f03ee=0x0,_0x17431e=_0x35478d['length'];_0x4f03ee<_0x17431e;_0x4f03ee++){_0x2b0b22+='%'+('00'+_0x35478d['charCodeAt'](_0x4f03ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b0b22);};a0_0x4b2f['lQrDSY']=_0x2eceee,a0_0x4b2f['YxPLJu']={},a0_0x4b2f['aIvjRZ']=!![];}const _0x4cdc9d=_0x3e8917[0x0],_0x28c6d4=_0x466899+_0x4cdc9d,_0x3fa8b7=a0_0x4b2f['YxPLJu'][_0x28c6d4];return!_0x3fa8b7?(_0x4b2fad=a0_0x4b2f['lQrDSY'](_0x4b2fad),a0_0x4b2f['YxPLJu'][_0x28c6d4]=_0x4b2fad):_0x4b2fad=_0x3fa8b7,_0x4b2fad;}import{NETWORK,API_ENDPOINTS,ERROR_MESSAGE,SUCCESS_MESSAGE}from'../config/constants.js';function a0_0x3e89(){const _0x173fb5=['mtKXodi2D0v6qKHM','s0vzu19hrvq','rMfPBgvKihrVigDLDcbbueKGA2v5ihn0yxr1CW','Cg9YDa','DMvYC2LVBG','y3jLyxrLzef0','u0vtu0LptL9jtLzbteLe','C2vZC2LVBG','BgfZDefJDgL2Axr5','z2v0u2vZC2LVBKLUzM8','yMfZzvvYBa','Dg9ju09tDhjPBMC','DxbKyxrLqwn0AxzPDhK','u0vtu0LptL9duKvbvevFrKfjteve','sevbtfri','Ahr0CdOVlW','C3vJy2vZCW','rMfPBgvKihrVihnLDcbbueKGA2v5CW','C3rHDhvZ','Ag9ZDa','oNnLC3nPB25jza','Aw5PDgLHBgL6zq','rMfPBgvKihrVigrLBgv0zsbbueKGA2v5CW','nZm1ntCWtNbxtKHe','otuZmNLbv1DKqq','nZm0odeWAxbfDe1n','AgfZtg94AwflzxK','BwvZC2fNzq','revgqvvmvf9it1nu','Bg94AwfbCgLlzxK','revmrvrf','C2vZC2LVBKLK','C2v0qxbPs2v5CW','mtm1nJiWoeL5u0ffDG','zxjYB3i','DMvUzg9Ys2v5CW','ChjVAMvJDerPCG','y3DK','rMfPBgvKihrVigrLBgv0zsbbueKGA2v5CZOG','DxbKyxrLzef0','nJi2mJq5veHgDhjY','mte3mdKYnwHMD1nlAq','s0vzu19eruXfveu','y3jLyxrLu2vZC2LVBG','z2v0qxbPs2v5u3rHDhvZ','ndvnr3rAD2C','yxbPq2XPzw50','mJyXsMHvt0Li','BwfRzvjLCxvLC3q'];a0_0x3e89=function(){return _0x173fb5;};return a0_0x3e89();}import{ApiClient}from'./apiClient.js';export class SessionManager{constructor(_0x35478d=NETWORK[a0_0x2e66ef(0x102)],_0x2b0b22=NETWORK['DEFAULT_PORT']){const _0x559b55=a0_0x2e66ef;this[_0x559b55(0xf9)]=_0x35478d,this[_0x559b55(0xe9)]=_0x2b0b22,this['baseUrl']=_0x559b55(0xf5)+_0x35478d+':'+_0x2b0b22,this[_0x559b55(0x105)]=null,this['projectDir']=null,this[_0x559b55(0xeb)]=null,this[_0x559b55(0xee)]=null,this[_0x559b55(0x103)]=null,this['vendorKeys']={},this[_0x559b55(0x114)]=new ApiClient(this[_0x559b55(0xf0)],this['loxiaApiKey']);}async['createSession'](_0x4c928d=process[a0_0x2e66ef(0x10b)]()){const _0x2e767d=a0_0x2e66ef;try{const _0x539e04=await this[_0x2e767d(0x116)]('POST',API_ENDPOINTS['SESSION_CREATE'],{'projectDir':_0x4c928d});if(_0x539e04['success']&&_0x539e04['session'])return this['sessionId']=_0x539e04[_0x2e767d(0xed)]['id'],this['projectDir']=_0x4c928d,this[_0x2e767d(0xeb)]=_0x539e04['session']['createdAt'],this['lastActivity']=_0x539e04['session'][_0x2e767d(0xee)],{'success':!![],'sessionId':this[_0x2e767d(0x105)],'session':_0x539e04['session']};else throw new Error(_0x539e04['error']||ERROR_MESSAGE[_0x2e767d(0xf3)]);}catch(_0xf0c96c){throw new Error(ERROR_MESSAGE['SESSION_CREATE_FAILED']+':\x20'+_0xf0c96c[_0x2e767d(0x101)]);}}async[a0_0x2e66ef(0x106)](_0x2db837=null,_0x4f03ee={}){const _0x1286c3=a0_0x2e66ef;if(!this['sessionId'])throw new Error(ERROR_MESSAGE[_0x1286c3(0xec)]);try{const _0x17431e=await this['makeRequest']('POST',API_ENDPOINTS['KEYS_SET'],{'sessionId':this[_0x1286c3(0x105)],'loxiaApiKey':_0x2db837,'vendorKeys':_0x4f03ee});if(_0x17431e['success'])return this[_0x1286c3(0x103)]=_0x2db837,this[_0x1286c3(0x109)]=_0x4f03ee,this[_0x1286c3(0x114)]['setApiKey'](_0x2db837),{'success':!![],'message':_0x17431e[_0x1286c3(0x101)],'hasLoxiaKey':_0x17431e[_0x1286c3(0x100)],'vendorKeys':_0x17431e[_0x1286c3(0x109)]};else throw new Error(_0x17431e['error']||_0x1286c3(0xf7));}catch(_0x1f1f18){throw new Error('Failed\x20to\x20set\x20API\x20keys:\x20'+_0x1f1f18['message']);}}async[a0_0x2e66ef(0x112)](){const _0x51855f=a0_0x2e66ef;if(!this[_0x51855f(0x105)])throw new Error(ERROR_MESSAGE['SESSION_INVALID']);try{const _0x3f4ab2=API_ENDPOINTS[_0x51855f(0x118)]['replace'](_0x51855f(0xfa),this['sessionId']),_0x13ea57=await this[_0x51855f(0x116)]('GET',_0x3f4ab2);if(_0x13ea57['success'])return{'success':!![],'hasLoxiaKey':_0x13ea57['hasLoxiaKey'],'vendorKeys':_0x13ea57['vendorKeys'],'updatedAt':_0x13ea57[_0x51855f(0x10d)]};else throw new Error(_0x13ea57['error']||_0x51855f(0x119));}catch(_0x3aa18a){throw new Error('Failed\x20to\x20get\x20API\x20key\x20status:\x20'+_0x3aa18a[_0x51855f(0x101)]);}}async['deleteApiKeys'](){const _0xc626c4=a0_0x2e66ef;if(!this[_0xc626c4(0x105)])throw new Error(ERROR_MESSAGE['SESSION_INVALID']);try{const _0x436d5b=API_ENDPOINTS[_0xc626c4(0x110)]['replace'](':sessionId',this['sessionId']),_0x341212=await this[_0xc626c4(0x116)](_0xc626c4(0x104),_0x436d5b);if(_0x341212['success'])return this['loxiaApiKey']=null,this['vendorKeys']={},{'success':!![],'message':_0x341212['message']};else throw new Error(_0x341212[_0xc626c4(0x108)]||_0xc626c4(0xfc));}catch(_0x4f9175){throw new Error(_0xc626c4(0x10c)+_0x4f9175['message']);}}async[a0_0x2e66ef(0xfb)](_0x2ee597=process['cwd']()){const _0xbdf166=a0_0x2e66ef;try{const _0x4f58e8=await this['checkHealth']();if(!_0x4f58e8[_0xbdf166(0xf6)])throw new Error('Server\x20health\x20check\x20failed:\x20'+_0x4f58e8[_0xbdf166(0x108)]);const _0x49c0c8=await this[_0xbdf166(0x111)](_0x2ee597);return{'success':!![],'sessionId':_0x49c0c8[_0xbdf166(0x105)],'session':_0x49c0c8[_0xbdf166(0xed)]};}catch(_0x5ce10c){return{'success':![],'error':_0x5ce10c['message']};}}async['checkHealth'](){const _0xdc4e78=a0_0x2e66ef;try{const _0x561316=await this[_0xdc4e78(0x116)]('GET',API_ENDPOINTS[_0xdc4e78(0xf4)]);return{'success':!![],'status':_0x561316[_0xdc4e78(0xf8)],'version':_0x561316[_0xdc4e78(0xea)],'timestamp':_0x561316['timestamp']};}catch(_0x5329c9){return{'success':![],'error':_0x5329c9[_0xdc4e78(0x101)]};}}async[a0_0x2e66ef(0x116)](_0x3f96e7,_0x1183aa,_0x53b1ad=null){const _0x275168=a0_0x2e66ef;return this[_0x275168(0x114)]['request'](_0x3f96e7,_0x1183aa,{'body':_0x53b1ad});}['getSessionId'](){return this['sessionId'];}['getProjectDir'](){const _0x1563ae=a0_0x2e66ef;return this[_0x1563ae(0x10a)];}['isValid'](){return this['sessionId']!==null;}[a0_0x2e66ef(0xf2)](){const _0x53f2cb=a0_0x2e66ef;this['lastActivity']=new Date()[_0x53f2cb(0xf1)]();}[a0_0x2e66ef(0xef)](){const _0x5bb960=a0_0x2e66ef;return{'sessionId':this[_0x5bb960(0x105)],'projectDir':this['projectDir'],'createdAt':this[_0x5bb960(0xeb)],'lastActivity':this[_0x5bb960(0xee)],'hasLoxiaKey':!!this[_0x5bb960(0x103)],'vendorKeysCount':Object['keys'](this['vendorKeys'])['length']};}['clear'](){const _0x50c171=a0_0x2e66ef;this['sessionId']=null,this['projectDir']=null,this[_0x50c171(0xeb)]=null,this['lastActivity']=null,this[_0x50c171(0x103)]=null,this['vendorKeys']={};}}export default SessionManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc40102=a0_0x3855;(function(_0x352960,_0x11e8b2){const _0x1192f4=a0_0x3855,_0x4b4126=_0x352960();while(!![]){try{const _0x471c20=parseInt(_0x1192f4(0x8e))/0x1*(-parseInt(_0x1192f4(0xb2))/0x2)+parseInt(_0x1192f4(0x94))/0x3+-parseInt(_0x1192f4(0x8a))/0x4+parseInt(_0x1192f4(0xab))/0x5+parseInt(_0x1192f4(0x9c))/0x6+parseInt(_0x1192f4(0xc4))/0x7+-parseInt(_0x1192f4(0xd5))/0x8*(parseInt(_0x1192f4(0xaa))/0x9);if(_0x471c20===_0x11e8b2)break;else _0x4b4126['push'](_0x4b4126['shift']());}catch(_0x37a0f3){_0x4b4126['push'](_0x4b4126['shift']());}}}(a0_0x1989,0xa9f53));import a0_0x39dca0 from'ws';import{EventEmitter}from'events';function a0_0x3855(_0x285128,_0x1c89f3){_0x285128=_0x285128-0x8a;const _0x198914=a0_0x1989();let _0x38556e=_0x198914[_0x285128];if(a0_0x3855['pLyENg']===undefined){var _0x2fc34a=function(_0x35f470){const _0x55500a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39dca0='',_0x70d2b='';for(let _0x42039d=0x0,_0x28c57d,_0xf271b,_0x3f8271=0x0;_0xf271b=_0x35f470['charAt'](_0x3f8271++);~_0xf271b&&(_0x28c57d=_0x42039d%0x4?_0x28c57d*0x40+_0xf271b:_0xf271b,_0x42039d++%0x4)?_0x39dca0+=String['fromCharCode'](0xff&_0x28c57d>>(-0x2*_0x42039d&0x6)):0x0){_0xf271b=_0x55500a['indexOf'](_0xf271b);}for(let _0x41a4ee=0x0,_0x1d452d=_0x39dca0['length'];_0x41a4ee<_0x1d452d;_0x41a4ee++){_0x70d2b+='%'+('00'+_0x39dca0['charCodeAt'](_0x41a4ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x70d2b);};a0_0x3855['AWqoHq']=_0x2fc34a,a0_0x3855['KQxZfj']={},a0_0x3855['pLyENg']=!![];}const _0x21f43c=_0x198914[0x0],_0x11f8fd=_0x285128+_0x21f43c,_0x46e247=a0_0x3855['KQxZfj'][_0x11f8fd];return!_0x46e247?(_0x38556e=a0_0x3855['AWqoHq'](_0x38556e),a0_0x3855['KQxZfj'][_0x11f8fd]=_0x38556e):_0x38556e=_0x46e247,_0x38556e;}import{TIMING,NETWORK,CONNECTION_STATE,WS_MESSAGE_TYPE,ERROR_MESSAGE}from'../config/constants.js';export class WebSocketManager extends EventEmitter{constructor(_0x70d2b=NETWORK['DEFAULT_HOST'],_0x42039d=NETWORK[a0_0xc40102(0xc2)],_0x28c57d={}){const _0x41da31=a0_0xc40102;super(),this[_0x41da31(0xca)]=_0x70d2b,this['port']=_0x42039d,this[_0x41da31(0x97)]='ws://'+_0x70d2b+':'+_0x42039d,this['ws']=null,this['state']=CONNECTION_STATE[_0x41da31(0x9f)],this[_0x41da31(0xce)]=null,this['reconnectAttempts']=0x0,this['reconnectDelay']=_0x28c57d[_0x41da31(0x92)]??TIMING['WEBSOCKET_RECONNECT_DELAY'],this['baseReconnectDelay']=this[_0x41da31(0x92)],this[_0x41da31(0x95)]=null,this[_0x41da31(0xc3)]=!![],this['heartbeatInterval']=_0x28c57d['heartbeatInterval']??TIMING[_0x41da31(0xb4)],this[_0x41da31(0xd6)]=null,this['pongTimeout']=null,this[_0x41da31(0xc7)]=null,this[_0x41da31(0xd1)]=[],this[_0x41da31(0x96)]=0x0,this['pendingRequests']=new Map();}async['connect'](){const _0x3f9b50=a0_0xc40102;if(this[_0x3f9b50(0xcf)]===CONNECTION_STATE[_0x3f9b50(0xd3)]||this[_0x3f9b50(0xcf)]===CONNECTION_STATE[_0x3f9b50(0x8f)])return{'success':![],'error':_0x3f9b50(0xbf)};this[_0x3f9b50(0xc6)](CONNECTION_STATE['CONNECTING']),this['emit'](_0x3f9b50(0xbe));try{return this['ws']=new a0_0x39dca0(this[_0x3f9b50(0x97)]),this[_0x3f9b50(0xc5)](),await this[_0x3f9b50(0xbc)](),{'success':!![]};}catch(_0xf271b){return this['handleConnectionError'](_0xf271b),{'success':![],'error':_0xf271b['message']};}}[a0_0xc40102(0xbc)](){return new Promise((_0x3f8271,_0x41a4ee)=>{const _0x569140=a0_0x3855,_0x1d452d=setTimeout(()=>{const _0xe04b47=a0_0x3855;_0x41a4ee(new Error(_0xe04b47(0xa4)));},TIMING['WEBSOCKET_CONNECT_TIMEOUT']);this['ws'][_0x569140(0xd4)]('open',()=>{clearTimeout(_0x1d452d),_0x3f8271();}),this['ws']['once']('error',_0x2a26da=>{clearTimeout(_0x1d452d),_0x41a4ee(_0x2a26da);});});}[a0_0xc40102(0xc5)](){const _0x5e8530=a0_0xc40102;this['ws']['on']('open',()=>this[_0x5e8530(0x9d)]()),this['ws']['on']('message',_0x13ac7d=>this[_0x5e8530(0xb1)](_0x13ac7d)),this['ws']['on'](_0x5e8530(0xad),(_0x3555ff,_0x5b5f93)=>this['handleClose'](_0x3555ff,_0x5b5f93)),this['ws']['on'](_0x5e8530(0xb5),_0x536c01=>this['handleError'](_0x536c01));}['handleOpen'](){const _0x567319=a0_0xc40102;this[_0x567319(0xc6)](CONNECTION_STATE[_0x567319(0xd3)]),this[_0x567319(0xb0)]=0x0,this['reconnectDelay']=this[_0x567319(0xd7)],this['emit'](_0x567319(0xa8)),this[_0x567319(0xc8)](),this['processMessageQueue']();}['handleMessage'](_0x11dd02){const _0x5d2912=a0_0xc40102;try{const _0x310c99=JSON['parse'](_0x11dd02['toString']());if(_0x310c99[_0x5d2912(0xa2)]===WS_MESSAGE_TYPE['PONG']){this['handlePong']();return;}if(_0x310c99[_0x5d2912(0xa2)]===WS_MESSAGE_TYPE[_0x5d2912(0xd3)]){this[_0x5d2912(0xa7)](_0x5d2912(0xb8),_0x310c99);return;}if(_0x310c99[_0x5d2912(0xa2)]===WS_MESSAGE_TYPE[_0x5d2912(0xc9)]){this[_0x5d2912(0xce)]=_0x310c99['sessionId'],this[_0x5d2912(0xa7)]('session_joined',_0x310c99);return;}if(_0x310c99[_0x5d2912(0xa2)]===WS_MESSAGE_TYPE['ORCHESTRATOR_RESPONSE']){this['handleOrchestratorResponse'](_0x310c99);return;}this['emit']('message',_0x310c99),_0x310c99['type']&&this['emit'](_0x310c99[_0x5d2912(0xa2)],_0x310c99);}catch(_0x37f4){this['emit'](_0x5d2912(0xc1),{'error':_0x37f4,'data':_0x11dd02});}}['handleClose'](_0x302a26,_0x590dee){const _0x2cd7ea=a0_0xc40102;this['cleanup']();const _0x32e43f=_0x590dee[_0x2cd7ea(0x8d)]()||'Unknown\x20reason';this[_0x2cd7ea(0xa7)](_0x2cd7ea(0xcb),{'code':_0x302a26,'reason':_0x32e43f}),this['shouldReconnect']&&_0x302a26!==0x3e8?this[_0x2cd7ea(0xcc)]():this['setState'](CONNECTION_STATE[_0x2cd7ea(0x9f)]);}['handleError'](_0x518ddf){const _0x5ba398=a0_0xc40102;this['emit'](_0x5ba398(0xb5),_0x518ddf);}[a0_0xc40102(0x91)](_0x2d8e76){const _0x3ceffd=a0_0xc40102;this['setState'](CONNECTION_STATE[_0x3ceffd(0xc0)]),this['emit']('connection_error',_0x2d8e76),this['shouldReconnect']&&this['scheduleReconnect']();}[a0_0xc40102(0xcc)](){const _0x4bbba3=a0_0xc40102;if(this['reconnectTimer'])return;this[_0x4bbba3(0xc6)](CONNECTION_STATE['RECONNECTING']),this['reconnectAttempts']++;const _0x4b74f5=Math['min'](this['reconnectDelay']*Math['pow'](TIMING['WEBSOCKET_RECONNECT_MULTIPLIER'],this[_0x4bbba3(0xb0)]-0x1),TIMING[_0x4bbba3(0xa3)]);this[_0x4bbba3(0xa7)]('reconnecting',{'attempt':this[_0x4bbba3(0xb0)],'delay':_0x4b74f5}),this[_0x4bbba3(0x95)]=setTimeout(()=>{const _0x3d9d50=_0x4bbba3;this[_0x3d9d50(0x95)]=null,this['connect']();},_0x4b74f5);}['startHeartbeat'](){const _0x3a1174=a0_0xc40102;this[_0x3a1174(0xd0)](),this['pingInterval']=setInterval(()=>{this['state']===CONNECTION_STATE['CONNECTED']&&this['sendPing']();},this[_0x3a1174(0x8c)]);}[a0_0xc40102(0xd0)](){const _0x39b63c=a0_0xc40102;this[_0x39b63c(0xd6)]&&(clearInterval(this['pingInterval']),this['pingInterval']=null),this[_0x39b63c(0xb9)]&&(clearTimeout(this['pongTimeout']),this['pongTimeout']=null);}[a0_0xc40102(0xcd)](){const _0x2c7e17=a0_0xc40102;if(this[_0x2c7e17(0xcf)]!==CONNECTION_STATE[_0x2c7e17(0xd3)])return;try{this['send']({'type':WS_MESSAGE_TYPE['PING']}),this['pongTimeout']=setTimeout(()=>{const _0x24ccba=_0x2c7e17;this[_0x24ccba(0xb6)]();},TIMING['WEBSOCKET_PONG_TIMEOUT']);}catch(_0x437b14){this[_0x2c7e17(0xa7)](_0x2c7e17(0x9b),_0x437b14);}}['handlePong'](){const _0xc81ddc=a0_0xc40102;this[_0xc81ddc(0xc7)]=Date[_0xc81ddc(0xbb)](),this['pongTimeout']&&(clearTimeout(this[_0xc81ddc(0xb9)]),this[_0xc81ddc(0xb9)]=null);}['handlePongTimeout'](){const _0x221c71=a0_0xc40102;this['emit']('heartbeat_timeout'),this['disconnect'](),this['shouldReconnect']&&this[_0x221c71(0xcc)]();}['joinSession'](_0x3fa676){const _0x432f3d=a0_0xc40102;this['sessionId']=_0x3fa676,this[_0x432f3d(0x93)]({'type':WS_MESSAGE_TYPE['JOIN_SESSION'],'sessionId':_0x3fa676});}['sendOrchestratorRequest'](_0x1f0b87,_0x58a665,_0x1d011d){const _0x1b6ae3=a0_0xc40102,_0x1f0523=this[_0x1b6ae3(0x8b)](),_0x46ce1e={'type':WS_MESSAGE_TYPE['ORCHESTRATOR_REQUEST'],'requestId':_0x1f0523,'action':_0x1f0b87,'payload':_0x58a665,'projectDir':_0x1d011d};return new Promise((_0x118b8c,_0x331ea8)=>{const _0x40f4e5=_0x1b6ae3;this[_0x40f4e5(0xa6)][_0x40f4e5(0x9e)](_0x1f0523,{'resolve':_0x118b8c,'reject':_0x331ea8,'timestamp':Date['now']()});try{this['send'](_0x46ce1e);}catch(_0x9ea60b){this[_0x40f4e5(0xa6)]['delete'](_0x1f0523),_0x331ea8(_0x9ea60b);}setTimeout(()=>{const _0x1c6eb2=_0x40f4e5;this[_0x1c6eb2(0xa6)]['has'](_0x1f0523)&&(this['pendingRequests']['delete'](_0x1f0523),_0x331ea8(new Error(_0x1c6eb2(0xae))));},TIMING[_0x40f4e5(0x90)]);});}[a0_0xc40102(0x9a)](_0x22d91e){const _0x59fd6f=a0_0xc40102,{requestId:_0x4613cf,response:_0x1f00c6,error:_0x9c7c57}=_0x22d91e;if(this['pendingRequests']['has'](_0x4613cf)){const {resolve:_0x1e0378,reject:_0x35f1a0}=this[_0x59fd6f(0xa6)][_0x59fd6f(0xd2)](_0x4613cf);this['pendingRequests'][_0x59fd6f(0xa1)](_0x4613cf),_0x9c7c57?_0x35f1a0(new Error(_0x9c7c57)):_0x1e0378(_0x1f00c6);}}[a0_0xc40102(0x93)](_0x9f7a8e){const _0x2dac7f=a0_0xc40102;if(this[_0x2dac7f(0xcf)]!==CONNECTION_STATE[_0x2dac7f(0xd3)]){this['messageQueue']['push'](_0x9f7a8e);return;}try{this['ws'][_0x2dac7f(0x93)](JSON['stringify'](_0x9f7a8e));}catch(_0x26053b){this[_0x2dac7f(0xa7)]('send_error',_0x26053b);throw _0x26053b;}}['processMessageQueue'](){const _0x59c055=a0_0xc40102;while(this['messageQueue']['length']>0x0&&this['state']===CONNECTION_STATE[_0x59c055(0xd3)]){const _0x57c580=this['messageQueue'][_0x59c055(0xaf)]();try{this['ws'][_0x59c055(0x93)](JSON[_0x59c055(0xa5)](_0x57c580));}catch(_0x225e53){this['emit']('queue_process_error',_0x225e53),this['messageQueue']['unshift'](_0x57c580);break;}}}[a0_0xc40102(0xa0)](){const _0x191ac2=a0_0xc40102;this['shouldReconnect']=![],this['cleanup']();if(this['ws']){try{this['ws'][_0x191ac2(0xad)](0x3e8,_0x191ac2(0x98));}catch(_0x38c1d5){}this['ws']=null;}this['setState'](CONNECTION_STATE[_0x191ac2(0x9f)]);}[a0_0xc40102(0xbd)](){const _0x834d7=a0_0xc40102;this['stopHeartbeat'](),this[_0x834d7(0x95)]&&(clearTimeout(this[_0x834d7(0x95)]),this['reconnectTimer']=null),this['ws']&&this['ws'][_0x834d7(0xb3)]();}[a0_0xc40102(0xc6)](_0xe8d4f8){const _0x3203e1=this['state'];this['state']=_0xe8d4f8,_0x3203e1!==_0xe8d4f8&&this['emit']('state_change',{'oldState':_0x3203e1,'newState':_0xe8d4f8});}['generateRequestId'](){const _0x2da8b7=a0_0xc40102;return this[_0x2da8b7(0x96)]++,'req-'+Date['now']()+'-'+this[_0x2da8b7(0x96)];}[a0_0xc40102(0xb7)](){const _0x1ab6a4=a0_0xc40102;return this[_0x1ab6a4(0xcf)];}[a0_0xc40102(0xac)](){const _0x581d4b=a0_0xc40102;return this[_0x581d4b(0xcf)]===CONNECTION_STATE[_0x581d4b(0xd3)];}[a0_0xc40102(0x99)](){return this['sessionId'];}['getStats'](){const _0x3aeb6b=a0_0xc40102;return{'state':this[_0x3aeb6b(0xcf)],'sessionId':this[_0x3aeb6b(0xce)],'reconnectAttempts':this[_0x3aeb6b(0xb0)],'queuedMessages':this['messageQueue'][_0x3aeb6b(0xba)],'pendingRequests':this[_0x3aeb6b(0xa6)][_0x3aeb6b(0xa9)],'lastPongReceived':this[_0x3aeb6b(0xc7)]};}}function a0_0x1989(){const _0x10c5f6=['C2v0DxbfDMvUDeHHBMrSzxjZ','C2v0u3rHDgu','BgfZDfbVBMDszwnLAxzLza','C3rHCNrizwfYDgjLyxq','u0vtu0LptL9kt0Loruq','Ag9ZDa','zgLZy29UBMvJDgvK','C2nOzwr1BgvszwnVBM5Ly3q','C2vUzfbPBMC','C2vZC2LVBKLK','C3rHDgu','C3rVCeHLyxj0yMvHDa','BwvZC2fNzvf1zxvL','z2v0','q09otKvdveve','B25Jzq','ndHnEKDmDuK','CgLUz0LUDgvYDMfS','yMfZzvjLy29UBMvJDerLBgf5','ndu2oty4neTTDKX3Aa','z2vUzxjHDgvszxf1zxn0swq','AgvHCNrIzwf0sw50zxj2ywW','Dg9tDhjPBMC','nZGYv0zRywzc','q09otKvdveLorW','sfruuf9usu1ft1vu','AgfUzgXLq29UBMvJDgLVBKvYCM9Y','CMvJB25Uzwn0rgvSyxK','C2vUza','otm4ndK5CMDbtw55','CMvJB25Uzwn0vgLTzxi','CMvXDwvZDeLKq291BNrLCG','DxjS','q2XPzw50igrPC2nVBM5Ly3q','z2v0u2vZC2LVBKLK','AgfUzgXLt3jJAgvZDhjHDg9YuMvZCg9UC2u','CgLUz19LCNjVCG','nJm2mZqWmMHKEKP2vq','AgfUzgXLt3bLBG','C2v0','reLtq09otKvdveve','zgLZy29UBMvJDa','zgvSzxrL','DhLWzq','v0vcu09ds0vux1jfq09otKvdvf9nqvHFrevmqvK','q29UBMvJDgLVBIb0Aw1LB3v0','C3rYAw5NAwz5','CgvUzgLUz1jLCxvLC3rZ','zw1PDa','y29UBMvJDgvK','C2L6zq','mtCYndi1nMLSz1PfuW','nte5ntGYnxj6ufbqvq','AxndB25Uzwn0zwq','y2XVC2u','uMvXDwvZDcb0Aw1LB3v0','C2HPzNq','CMvJB25Uzwn0qxr0zw1WDhm','AgfUzgXLtwvZC2fNzq','nJi2zhzgsvbx','CMvTB3zLqwXStgLZDgvUzxjZ','v0vcu09ds0vux1bjtKDFsu5urvjwquW','zxjYB3i','AgfUzgXLug9Uz1rPBwvVDxq','z2v0u3rHDgu','D2vSy29Tzq','Cg9Uz1rPBwvVDxq','BgvUz3rO','BM93','D2fPDezVCKnVBM5Ly3rPB24','y2XLyw51Ca','y29UBMvJDgLUzW','qwXYzwfKEsbJB25Uzwn0zwqGB3iGy29UBMvJDgLUzW','rvjst1i','CgfYC2vFzxjYB3i','revgqvvmvf9qt1ju','C2HVDwXKuMvJB25Uzwn0','ntC0mtKXmwzfwuDSDW'];a0_0x1989=function(){return _0x10c5f6;};return a0_0x1989();}export default WebSocketManager;
|
|
1
|
+
const a0_0x5a54e7=a0_0x3738;function a0_0x3738(_0x3da092,_0x59167e){_0x3da092=_0x3da092-0x11a;const _0x35b8bf=a0_0x35b8();let _0x37384a=_0x35b8bf[_0x3da092];if(a0_0x3738['eUnOTb']===undefined){var _0x20767a=function(_0x298aa1){const _0x311e3f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x54d0b9='',_0x4a3fb1='';for(let _0x301578=0x0,_0x73172,_0x256d1f,_0x1a1cba=0x0;_0x256d1f=_0x298aa1['charAt'](_0x1a1cba++);~_0x256d1f&&(_0x73172=_0x301578%0x4?_0x73172*0x40+_0x256d1f:_0x256d1f,_0x301578++%0x4)?_0x54d0b9+=String['fromCharCode'](0xff&_0x73172>>(-0x2*_0x301578&0x6)):0x0){_0x256d1f=_0x311e3f['indexOf'](_0x256d1f);}for(let _0x339bca=0x0,_0x2584e5=_0x54d0b9['length'];_0x339bca<_0x2584e5;_0x339bca++){_0x4a3fb1+='%'+('00'+_0x54d0b9['charCodeAt'](_0x339bca)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a3fb1);};a0_0x3738['QidQtd']=_0x20767a,a0_0x3738['SuFtih']={},a0_0x3738['eUnOTb']=!![];}const _0x5f16e5=_0x35b8bf[0x0],_0x4fcb07=_0x3da092+_0x5f16e5,_0x4c26b9=a0_0x3738['SuFtih'][_0x4fcb07];return!_0x4c26b9?(_0x37384a=a0_0x3738['QidQtd'](_0x37384a),a0_0x3738['SuFtih'][_0x4fcb07]=_0x37384a):_0x37384a=_0x4c26b9,_0x37384a;}(function(_0x393498,_0x1f8595){const _0x3c279a=a0_0x3738,_0x922df0=_0x393498();while(!![]){try{const _0x3fb697=parseInt(_0x3c279a(0x121))/0x1+-parseInt(_0x3c279a(0x139))/0x2+-parseInt(_0x3c279a(0x157))/0x3+parseInt(_0x3c279a(0x168))/0x4+parseInt(_0x3c279a(0x143))/0x5*(-parseInt(_0x3c279a(0x160))/0x6)+parseInt(_0x3c279a(0x124))/0x7*(-parseInt(_0x3c279a(0x12f))/0x8)+-parseInt(_0x3c279a(0x13c))/0x9*(-parseInt(_0x3c279a(0x161))/0xa);if(_0x3fb697===_0x1f8595)break;else _0x922df0['push'](_0x922df0['shift']());}catch(_0x4edc47){_0x922df0['push'](_0x922df0['shift']());}}}(a0_0x35b8,0xd7960));import a0_0x54d0b9 from'ws';import{EventEmitter}from'events';function a0_0x35b8(){const _0xa38b46=['C2HVDwXKuMvJB25Uzwn0','sK9jtL9trvntsu9o','v0vcu09ds0vux0nptK5fq1rFveLnru9vva','q09otKvdveve','CMvXlq','zxjYB3i','mZbND0LLD3m','C2vZC2LVBKLK','C2v0DxbfDMvUDeHHBMrSzxjZ','C3rVCeHLyxj0yMvHDa','ChjVy2vZC01LC3nHz2vrDwv1zq','C2vUze9Yy2HLC3rYyxrVCLjLCxvLC3q','zgLZy29UBMvJDa','C3rYAw5NAwz5','C2nOzwr1BgvszwnVBM5Ly3q','BM93','CMvJB25Uzwn0qxr0zw1WDhm','AgfUzgXLq2XVC2u','z2v0u2vZC2LVBKLK','BgfZDfbVBMDszwnLAxzLza','AgfZ','AgfUzgXLrxjYB3i','BgvUz3rO','D2vSy29Tzq','C2vUza','y2XLyw51Ca','mJa5oda4m214EhnxEG','C2L6zq','uKvdt05orunusu5h','C2vZC2LVBL9QB2LUzwq','ue9orW','CMvJB25Uzwn0vgLTzxi','CxvLDwvFChjVy2vZC19LCNjVCG','Cg93','BwLU','mtm2nZK0s0XLt1DX','mJbNzKLUDMm','Dg9tDhjPBMC','z2vUzxjHDgvszxf1zxn0swq','u0vtu0LptL9kt0Loruq','AgfUzgXLtwvZC2fNzq','B25Jzq','v0vcu09ds0vux1jfq09otKvdvf9eruXbwq','mZu5mtG5nKjduevRAG','y29UBMvJDgvK','C2v0u3rHDgu','BwvZC2fNzvf1zxvL','DxjS','CMvJB25Uzwn0rgvSyxK','DhLWzq','D2fPDezVCKnVBM5Ly3rPB24','y2XVC2u','mty5mdG2nvPMu0fJuq','CMvXDwvZDeLKq291BNrLCG','v0vcu09ds0vux1jfq09otKvdvf9nvuXusvbmsuvs','nZeWmJu1C2DkEvPR','D3m6lY8','CgLUz19LCNjVCG','CgvUzgLUz1jLCxvLC3rZ','CgfYC2u','AgfUzgXLt3jJAgvZDhjHDg9YuMvZCg9UC2u','yMfZzvjLy29UBMvJDerLBgf5','BwvZC2fNzq','Cg9YDa','zw1PDa','t1jdsevtvfjbve9sx1jfu1bptLnf','mtz1BfHeDfG','C2v0','Cg9Uz1rPBwvVDxq','C3rHCNrizwfYDgjLyxq','C2vUzfbPBMC','uMvXDwvZDcb0Aw1LB3v0','q09otKvdveLorW','zgvSzxrL','AgfUzgXLt3bLBG','Ag9ZDa','mtG0mtyXmKLmrhbyqq','C3rHDgu','CgLUz0LUDgvYDMfS','mte0mZqXne5VufLXsG'];a0_0x35b8=function(){return _0xa38b46;};return a0_0x35b8();}import{TIMING,NETWORK,CONNECTION_STATE,WS_MESSAGE_TYPE,ERROR_MESSAGE}from'../config/constants.js';export class WebSocketManager extends EventEmitter{constructor(_0x4a3fb1=NETWORK['DEFAULT_HOST'],_0x301578=NETWORK['DEFAULT_PORT'],_0x73172={}){const _0x504a57=a0_0x3738;super(),this[_0x504a57(0x138)]=_0x4a3fb1,this[_0x504a57(0x12c)]=_0x301578,this[_0x504a57(0x11c)]=_0x504a57(0x125)+_0x4a3fb1+':'+_0x301578,this['ws']=null,this['state']=CONNECTION_STATE['DISCONNECTED'],this['sessionId']=null,this[_0x504a57(0x14d)]=0x0,this[_0x504a57(0x11d)]=_0x73172['reconnectDelay']??TIMING[_0x504a57(0x167)],this[_0x504a57(0x12a)]=this['reconnectDelay'],this['reconnectTimer']=null,this['shouldReconnect']=!![],this['heartbeatInterval']=_0x73172['heartbeatInterval']??TIMING['WEBSOCKET_PING_INTERVAL'],this[_0x504a57(0x13b)]=null,this['pongTimeout']=null,this['lastPongReceived']=null,this[_0x504a57(0x11b)]=[],this['requestIdCounter']=0x0,this[_0x504a57(0x127)]=new Map();}async['connect'](){const _0xd8eaa0=a0_0x3738;if(this[_0xd8eaa0(0x13a)]===CONNECTION_STATE['CONNECTED']||this[_0xd8eaa0(0x13a)]===CONNECTION_STATE[_0xd8eaa0(0x135)])return{'success':![],'error':'Already\x20connected\x20or\x20connecting'};this[_0xd8eaa0(0x11a)](CONNECTION_STATE[_0xd8eaa0(0x135)]),this[_0xd8eaa0(0x12d)]('connecting');try{return this['ws']=new a0_0x54d0b9(this['url']),this[_0xd8eaa0(0x145)](),await this['waitForConnection'](),{'success':!![]};}catch(_0x256d1f){return this['handleConnectionError'](_0x256d1f),{'success':![],'error':_0x256d1f[_0xd8eaa0(0x12b)]};}}[a0_0x5a54e7(0x11f)](){return new Promise((_0x1a1cba,_0x339bca)=>{const _0x234bb9=a0_0x3738,_0x2584e5=setTimeout(()=>{_0x339bca(new Error('Connection\x20timeout'));},TIMING[_0x234bb9(0x13f)]);this['ws'][_0x234bb9(0x166)]('open',()=>{clearTimeout(_0x2584e5),_0x1a1cba();}),this['ws'][_0x234bb9(0x166)](_0x234bb9(0x142),_0x3b9606=>{clearTimeout(_0x2584e5),_0x339bca(_0x3b9606);});});}['setupEventHandlers'](){const _0x450e21=a0_0x5a54e7;this['ws']['on']('open',()=>this[_0x450e21(0x137)]()),this['ws']['on']('message',_0x2c9449=>this[_0x450e21(0x165)](_0x2c9449)),this['ws']['on'](_0x450e21(0x120),(_0x69653a,_0xf1ceb6)=>this[_0x450e21(0x14e)](_0x69653a,_0xf1ceb6)),this['ws']['on'](_0x450e21(0x142),_0x5d7913=>this[_0x450e21(0x152)](_0x5d7913));}['handleOpen'](){const _0x5e9e15=a0_0x5a54e7;this['setState'](CONNECTION_STATE['CONNECTED']),this['reconnectAttempts']=0x0,this[_0x5e9e15(0x11d)]=this['baseReconnectDelay'],this[_0x5e9e15(0x12d)](_0x5e9e15(0x169)),this[_0x5e9e15(0x132)](),this[_0x5e9e15(0x147)]();}['handleMessage'](_0x518c12){const _0x31f1c3=a0_0x5a54e7;try{const _0x59df47=JSON[_0x31f1c3(0x128)](_0x518c12['toString']());if(_0x59df47[_0x31f1c3(0x11e)]===WS_MESSAGE_TYPE[_0x31f1c3(0x15b)]){this['handlePong']();return;}if(_0x59df47['type']===WS_MESSAGE_TYPE[_0x31f1c3(0x140)]){this['emit'](_0x31f1c3(0x154),_0x59df47);return;}if(_0x59df47[_0x31f1c3(0x11e)]===WS_MESSAGE_TYPE[_0x31f1c3(0x164)]){this[_0x31f1c3(0x144)]=_0x59df47[_0x31f1c3(0x144)],this['emit'](_0x31f1c3(0x15a),_0x59df47);return;}if(_0x59df47[_0x31f1c3(0x11e)]===WS_MESSAGE_TYPE[_0x31f1c3(0x12e)]){this[_0x31f1c3(0x129)](_0x59df47);return;}this[_0x31f1c3(0x12d)](_0x31f1c3(0x12b),_0x59df47),_0x59df47[_0x31f1c3(0x11e)]&&this['emit'](_0x59df47[_0x31f1c3(0x11e)],_0x59df47);}catch(_0x36975a){this[_0x31f1c3(0x12d)]('parse_error',{'error':_0x36975a,'data':_0x518c12});}}[a0_0x5a54e7(0x14e)](_0x430010,_0x2b7a57){const _0x2be4bb=a0_0x5a54e7;this[_0x2be4bb(0x156)]();const _0x326ccf=_0x2b7a57[_0x2be4bb(0x162)]()||'Unknown\x20reason';this[_0x2be4bb(0x12d)]('disconnected',{'code':_0x430010,'reason':_0x326ccf}),this[_0x2be4bb(0x13d)]&&_0x430010!==0x3e8?this[_0x2be4bb(0x14b)]():this['setState'](CONNECTION_STATE['DISCONNECTED']);}[a0_0x5a54e7(0x152)](_0x350562){const _0x41da6e=a0_0x5a54e7;this[_0x41da6e(0x12d)](_0x41da6e(0x142),_0x350562);}['handleConnectionError'](_0x4986c4){const _0x861eea=a0_0x5a54e7;this[_0x861eea(0x11a)](CONNECTION_STATE['ERROR']),this[_0x861eea(0x12d)]('connection_error',_0x4986c4),this['shouldReconnect']&&this[_0x861eea(0x14b)]();}['scheduleReconnect'](){const _0x12ee0e=a0_0x5a54e7;if(this[_0x12ee0e(0x15c)])return;this[_0x12ee0e(0x11a)](CONNECTION_STATE[_0x12ee0e(0x159)]),this[_0x12ee0e(0x14d)]++;const _0x4c98b8=Math[_0x12ee0e(0x15f)](this['reconnectDelay']*Math[_0x12ee0e(0x15e)](TIMING[_0x12ee0e(0x123)],this[_0x12ee0e(0x14d)]-0x1),TIMING['WEBSOCKET_RECONNECT_MAX_DELAY']);this[_0x12ee0e(0x12d)]('reconnecting',{'attempt':this[_0x12ee0e(0x14d)],'delay':_0x4c98b8}),this['reconnectTimer']=setTimeout(()=>{this['reconnectTimer']=null,this['connect']();},_0x4c98b8);}['startHeartbeat'](){const _0x5db511=a0_0x5a54e7;this['stopHeartbeat'](),this[_0x5db511(0x13b)]=setInterval(()=>{const _0x43a140=_0x5db511;this['state']===CONNECTION_STATE[_0x43a140(0x140)]&&this[_0x43a140(0x133)]();},this['heartbeatInterval']);}[a0_0x5a54e7(0x146)](){const _0x5bfa75=a0_0x5a54e7;this['pingInterval']&&(clearInterval(this[_0x5bfa75(0x13b)]),this[_0x5bfa75(0x13b)]=null),this['pongTimeout']&&(clearTimeout(this['pongTimeout']),this[_0x5bfa75(0x131)]=null);}[a0_0x5a54e7(0x133)](){const _0x27342a=a0_0x5a54e7;if(this[_0x27342a(0x13a)]!==CONNECTION_STATE['CONNECTED'])return;try{this[_0x27342a(0x155)]({'type':WS_MESSAGE_TYPE['PING']}),this['pongTimeout']=setTimeout(()=>{this['handlePongTimeout']();},TIMING['WEBSOCKET_PONG_TIMEOUT']);}catch(_0x5c3f58){this[_0x27342a(0x12d)](_0x27342a(0x126),_0x5c3f58);}}['handlePong'](){const _0x37ac4a=a0_0x5a54e7;this[_0x37ac4a(0x150)]=Date[_0x37ac4a(0x14c)](),this[_0x37ac4a(0x131)]&&(clearTimeout(this[_0x37ac4a(0x131)]),this[_0x37ac4a(0x131)]=null);}['handlePongTimeout'](){const _0x28d9cd=a0_0x5a54e7;this[_0x28d9cd(0x12d)]('heartbeat_timeout'),this[_0x28d9cd(0x149)](),this['shouldReconnect']&&this['scheduleReconnect']();}['joinSession'](_0x58b7fa){const _0x682957=a0_0x5a54e7;this[_0x682957(0x144)]=_0x58b7fa,this[_0x682957(0x155)]({'type':WS_MESSAGE_TYPE[_0x682957(0x13e)],'sessionId':_0x58b7fa});}[a0_0x5a54e7(0x148)](_0x362031,_0x416a1e,_0x2e5ab7){const _0x465d13=this['generateRequestId'](),_0x21ab8b={'type':WS_MESSAGE_TYPE['ORCHESTRATOR_REQUEST'],'requestId':_0x465d13,'action':_0x362031,'payload':_0x416a1e,'projectDir':_0x2e5ab7};return new Promise((_0x5ec1c0,_0x4d502f)=>{const _0x34051b=a0_0x3738;this[_0x34051b(0x127)][_0x34051b(0x130)](_0x465d13,{'resolve':_0x5ec1c0,'reject':_0x4d502f,'timestamp':Date[_0x34051b(0x14c)]()});try{this['send'](_0x21ab8b);}catch(_0x44d919){this['pendingRequests'][_0x34051b(0x136)](_0x465d13),_0x4d502f(_0x44d919);}setTimeout(()=>{const _0x5e1d21=_0x34051b;this['pendingRequests']['has'](_0x465d13)&&(this['pendingRequests']['delete'](_0x465d13),_0x4d502f(new Error(_0x5e1d21(0x134))));},TIMING['HTTP_TIMEOUT']);});}['handleOrchestratorResponse'](_0x1ecf51){const _0x429eb9=a0_0x5a54e7,{requestId:_0x524b44,response:_0xedf573,error:_0xcc5227}=_0x1ecf51;if(this[_0x429eb9(0x127)][_0x429eb9(0x151)](_0x524b44)){const {resolve:_0x5d0bca,reject:_0x14fbd8}=this[_0x429eb9(0x127)]['get'](_0x524b44);this['pendingRequests'][_0x429eb9(0x136)](_0x524b44),_0xcc5227?_0x14fbd8(new Error(_0xcc5227)):_0x5d0bca(_0xedf573);}}['send'](_0x2873a6){const _0x1a9be6=a0_0x5a54e7;if(this['state']!==CONNECTION_STATE[_0x1a9be6(0x140)]){this[_0x1a9be6(0x11b)]['push'](_0x2873a6);return;}try{this['ws'][_0x1a9be6(0x155)](JSON[_0x1a9be6(0x14a)](_0x2873a6));}catch(_0xe06e01){this['emit']('send_error',_0xe06e01);throw _0xe06e01;}}['processMessageQueue'](){const _0x54c321=a0_0x5a54e7;while(this['messageQueue']['length']>0x0&&this[_0x54c321(0x13a)]===CONNECTION_STATE['CONNECTED']){const _0x223aee=this[_0x54c321(0x11b)]['shift']();try{this['ws'][_0x54c321(0x155)](JSON['stringify'](_0x223aee));}catch(_0x197262){this['emit'](_0x54c321(0x15d),_0x197262),this['messageQueue']['unshift'](_0x223aee);break;}}}['disconnect'](){const _0x141ab7=a0_0x5a54e7;this['shouldReconnect']=![],this[_0x141ab7(0x156)]();if(this['ws']){try{this['ws']['close'](0x3e8,'Client\x20disconnect');}catch(_0x2c8cba){}this['ws']=null;}this['setState'](CONNECTION_STATE['DISCONNECTED']);}[a0_0x5a54e7(0x156)](){const _0x527040=a0_0x5a54e7;this['stopHeartbeat'](),this[_0x527040(0x15c)]&&(clearTimeout(this['reconnectTimer']),this['reconnectTimer']=null),this['ws']&&this['ws']['removeAllListeners']();}[a0_0x5a54e7(0x11a)](_0x47c51f){const _0x55c14b=a0_0x5a54e7,_0x430606=this['state'];this['state']=_0x47c51f,_0x430606!==_0x47c51f&&this[_0x55c14b(0x12d)]('state_change',{'oldState':_0x430606,'newState':_0x47c51f});}[a0_0x5a54e7(0x163)](){const _0x137024=a0_0x5a54e7;return this[_0x137024(0x122)]++,_0x137024(0x141)+Date['now']()+'-'+this['requestIdCounter'];}['getState'](){const _0x4ba1be=a0_0x5a54e7;return this[_0x4ba1be(0x13a)];}['isConnected'](){const _0x59c5e9=a0_0x5a54e7;return this[_0x59c5e9(0x13a)]===CONNECTION_STATE[_0x59c5e9(0x140)];}[a0_0x5a54e7(0x14f)](){return this['sessionId'];}['getStats'](){const _0x5aa0cc=a0_0x5a54e7;return{'state':this[_0x5aa0cc(0x13a)],'sessionId':this[_0x5aa0cc(0x144)],'reconnectAttempts':this[_0x5aa0cc(0x14d)],'queuedMessages':this[_0x5aa0cc(0x11b)][_0x5aa0cc(0x153)],'pendingRequests':this['pendingRequests'][_0x5aa0cc(0x158)],'lastPongReceived':this['lastPongReceived']};}}export default WebSocketManager;
|