@loxia-labs/loxia-autopilot-one 1.0.17 → 1.0.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- 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-Cb8CHAFw.css +1 -0
- package/web-ui/build/static/{index-DzOU48ux.js → index-CcwO7jS4.js} +72 -72
- package/web-ui/build/static/index-CRkOpV4k.css +0 -1
|
@@ -1 +1 @@
|
|
|
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
|
+
function a0_0x5f33(_0x23f95e,_0x1c6f48){_0x23f95e=_0x23f95e-0x97;const _0x2b19db=a0_0x2b19();let _0x5f33d6=_0x2b19db[_0x23f95e];if(a0_0x5f33['mmCPVl']===undefined){var _0x5f0f71=function(_0x3ed1e4){const _0x16b8ff='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x117e80='',_0x386c73='';for(let _0x34f065=0x0,_0x923299,_0x2d1e5a,_0x5309c4=0x0;_0x2d1e5a=_0x3ed1e4['charAt'](_0x5309c4++);~_0x2d1e5a&&(_0x923299=_0x34f065%0x4?_0x923299*0x40+_0x2d1e5a:_0x2d1e5a,_0x34f065++%0x4)?_0x117e80+=String['fromCharCode'](0xff&_0x923299>>(-0x2*_0x34f065&0x6)):0x0){_0x2d1e5a=_0x16b8ff['indexOf'](_0x2d1e5a);}for(let _0x1398a6=0x0,_0x47b2ab=_0x117e80['length'];_0x1398a6<_0x47b2ab;_0x1398a6++){_0x386c73+='%'+('00'+_0x117e80['charCodeAt'](_0x1398a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x386c73);};a0_0x5f33['RvrNeV']=_0x5f0f71,a0_0x5f33['RtibhV']={},a0_0x5f33['mmCPVl']=!![];}const _0x27f547=_0x2b19db[0x0],_0x4d9404=_0x23f95e+_0x27f547,_0x492c2a=a0_0x5f33['RtibhV'][_0x4d9404];return!_0x492c2a?(_0x5f33d6=a0_0x5f33['RvrNeV'](_0x5f33d6),a0_0x5f33['RtibhV'][_0x4d9404]=_0x5f33d6):_0x5f33d6=_0x492c2a,_0x5f33d6;}const a0_0x21558f=a0_0x5f33;(function(_0x3a5a2b,_0x404901){const _0x32b11f=a0_0x5f33,_0x75aee2=_0x3a5a2b();while(!![]){try{const _0x36ffbb=parseInt(_0x32b11f(0xb9))/0x1*(parseInt(_0x32b11f(0xda))/0x2)+parseInt(_0x32b11f(0xb5))/0x3*(-parseInt(_0x32b11f(0xc9))/0x4)+parseInt(_0x32b11f(0xdd))/0x5+parseInt(_0x32b11f(0xd2))/0x6+parseInt(_0x32b11f(0xa8))/0x7*(-parseInt(_0x32b11f(0xcb))/0x8)+parseInt(_0x32b11f(0xbd))/0x9+-parseInt(_0x32b11f(0xbf))/0xa;if(_0x36ffbb===_0x404901)break;else _0x75aee2['push'](_0x75aee2['shift']());}catch(_0x12802b){_0x75aee2['push'](_0x75aee2['shift']());}}}(a0_0x2b19,0x6edf6));import{describe,test,expect}from'@jest/globals';function a0_0x2b19(){const _0x5d0ab3=['v1nFtuvtu0fhrv9uwvbf','AxnwywXPza','tufyx1jfvfjjrvm','q29UC3rHBNrZigHHDMuGBM8GBwfNAwmGBNvTyMvYCW','DgvZDa','Bg9JywXOB3n0','veLnsu5h','DgvZDc1OB3n0','Dg9czq','lI4VlI4VC3rHDguVDxnLq29UBMvJDgLVBI5QCW','m0nkrgDhDq','C3rHDgu','BwLKzgXLD2fYzq','lI4VlI4VyxbPl3nLC3nPB24UANm','mvHmtMXltW','z2v0u2vZC2LVBKLUzM8','Dg9czurLzMLUzwq','twvZC2fNzvjVDxrLCIbTAwrKBgv3yxjLigHLBhbLCNmGy3jLyxrLihzHBgLKig1PzgrSzxDHCMu','nJy2mJK2mwDIuxv3uq','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbjBxbVCNrZ','ndKZmZGXmg5Mue5LAq','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','rvHfq1vusu9ox1nut1bqruq','reLtq09otKvdveve','zNvUy3rPB24','Dg9iyxzLuhjVCgvYDhK','vuLFreLnru5tsu9ouW','ChjVAMvJDerPCG','Ahr0CdOVl2XVy2fSAg9ZDdO4mdGW','DxnL','mZq1mta3nNrhvhnuCa','CxvLDwvKtwvZC2fNzxm','mJK2oe5dz1bhuq','DgvZDc1TzxnZywDL','sfruuf9usu1ft1vu','u2vZC2LVBK1HBMfNzxiGAgvSCgvYig1LDgHVzhmGD29YAW','tKvuv09ssW','D3m6lY9SB2nHBgHVC3q6oda4ma','CMvJzwL2zwrbDa','nduWntq2mgrjEgvZBa','v0vcu09ds0vux1bjtKDFsu5urvjwquW','BNvTyMvY','BgvUz3rO','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbTAwrKBgv3yxjL','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','zgLZy29UBMvJDgvK','uefhsu5bveLptG','odeYmZG4DhjgAhDQ','Dg9nyxrJAa','y2XLyxi','mta2ody2mgz5Eev3DG','Dw5YzwDPC3rLCKHHBMrSzxi','revgqvvmvf9it1nu','v2vIu29JA2v0twfUywDLCIbOzwXWzxiGBwv0Ag9KCYb3B3jR','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','AgfZsgfUzgXLCG','C2HVDwXKuMvJB25Uzwn0','z2vUzxjHDgvszxf1zxn0swq','Cg9YDa','Dg9czvrYDxrOEq','Bg94AwfbCgLlzxK','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbOyw5KBgvY','su1br0vFuKvtvuXu','DMvUzg9Ys2v5CW','q09otKvdveve','Dg9czuDYzwf0zxjuAgfU','z2v0uhjVAMvJDerPCG','DgvZDc0XmJm','Dg9uAhjVDW','Dg9fCxvHBa','DhLWzq','revgqvvmvf9qt1ju','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','BM90','u2vZC2LVBK1HBMfNzxiGy2XLyxiOksbYzxnLDhmGywXSihn0yxrL','C2vZC2LVBKLK','nty3n3rYDgDtBG','BM90lweTzNvUy3rPB24','z2v0u3rHDgu'];a0_0x2b19=function(){return _0x5d0ab3;};return a0_0x2b19();}import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);describe(a0_0x21558f(0xbe),()=>{test('constants module exports all required constants',async()=>{const _0x3c57d5=a0_0x5f33,_0x117e80=await import(_0x3c57d5(0xe1));expect(_0x117e80['UI_DIMENSIONS'])['toBeDefined'](),expect(_0x117e80['MESSAGE_CONFIG'])[_0x3c57d5(0xbb)](),expect(_0x117e80[_0x3c57d5(0xd9)])[_0x3c57d5(0xbb)](),expect(_0x117e80[_0x3c57d5(0xb1)])['toBeDefined'](),expect(_0x117e80['NETWORK'])['toBeDefined'](),expect(_0x117e80['CONNECTION_STATE'])[_0x3c57d5(0xbb)](),expect(_0x117e80['AGENT_MODE'])['toBeDefined'](),expect(_0x117e80[_0x3c57d5(0xab)])['toBeDefined'](),expect(_0x117e80['API_ENDPOINTS'])['toBeDefined'](),expect(_0x117e80['COMMANDS'])[_0x3c57d5(0xbb)](),expect(_0x117e80['NETWORK'][_0x3c57d5(0xdf)])['toBe'](_0x3c57d5(0xb0)),expect(_0x117e80['NETWORK'][_0x3c57d5(0xa3)])[_0x3c57d5(0xb3)](0x1f90),expect(_0x117e80['CONNECTION_STATE'][_0x3c57d5(0xc2)])[_0x3c57d5(0xb3)](_0x3c57d5(0xd8)),expect(_0x117e80['CONNECTION_STATE'][_0x3c57d5(0x9c)])['toBe']('connected');}),test('WebSocketManager class can be imported',async()=>{const _0x1ca6e9=a0_0x5f33,{WebSocketManager:_0x386c73}=await import('../../api/websocket.js');expect(_0x386c73)['toBeDefined'](),expect(typeof _0x386c73)[_0x1ca6e9(0xb3)](_0x1ca6e9(0xc3));const _0x34f065=new _0x386c73(_0x1ca6e9(0xb0),0x1f90);expect(_0x34f065)[_0x1ca6e9(0xbb)](),expect(_0x34f065['host'])[_0x1ca6e9(0xb3)](_0x1ca6e9(0xb0)),expect(_0x34f065['port'])[_0x1ca6e9(0xb3)](0x1f90),expect(_0x34f065['url'])['toBe'](_0x1ca6e9(0xd0));}),test('SessionManager class can be imported',async()=>{const _0x7551a7=a0_0x5f33,{SessionManager:_0x923299}=await import('../../api/session.js');expect(_0x923299)['toBeDefined'](),expect(typeof _0x923299)['toBe'](_0x7551a7(0xc3));const _0x2d1e5a=new _0x923299('localhost',0x1f90);expect(_0x2d1e5a)['toBeDefined'](),expect(_0x2d1e5a['host'])[_0x7551a7(0xb3)]('localhost'),expect(_0x2d1e5a[_0x7551a7(0xe5)])[_0x7551a7(0xb3)](0x1f90),expect(_0x2d1e5a['baseUrl'])['toBe'](_0x7551a7(0xc7));}),test('MessageRouter class can be imported',async()=>{const _0x8cba94=a0_0x5f33,{MessageRouter:_0x5309c4}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x1398a6}=await import('../../api/websocket.js');expect(_0x5309c4)[_0x8cba94(0xbb)](),expect(typeof _0x5309c4)[_0x8cba94(0xb3)](_0x8cba94(0xc3));const _0x47b2ab=new _0x1398a6(_0x8cba94(0xb0),0x1f90),_0x428cef=new _0x5309c4(_0x47b2ab);expect(_0x428cef)['toBeDefined'](),expect(_0x428cef['ws'])['toBe'](_0x47b2ab);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x476065=a0_0x5f33,{loggingMiddleware:_0x5bc388,filterMiddleware:_0x65051e,transformMiddleware:_0x3d525b,timestampMiddleware:_0x4dff21,validationMiddleware:_0x45efef}=await import(_0x476065(0xc0));expect(typeof _0x5bc388)[_0x476065(0xb3)]('function'),expect(typeof _0x65051e)[_0x476065(0xb3)]('function'),expect(typeof _0x3d525b)[_0x476065(0xb3)](_0x476065(0xc3)),expect(typeof _0x4dff21)['toBe'](_0x476065(0xc3)),expect(typeof _0x45efef)[_0x476065(0xb3)]('function');}),test('useConnection hook can be imported',async()=>{const _0x2250c8=a0_0x5f33,{useConnection:_0x2b9f22,useConnectionStatus:_0x2137de}=await import(_0x2250c8(0xb4));expect(_0x2b9f22)['toBeDefined'](),expect(typeof _0x2b9f22)['toBe'](_0x2250c8(0xc3)),expect(_0x2137de)[_0x2250c8(0xbb)](),expect(typeof _0x2137de)[_0x2250c8(0xb3)](_0x2250c8(0xc3));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Basic\x20Functionality',()=>{const _0x52847a=a0_0x21558f;test('WebSocketManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x1c9f6b=a0_0x5f33,{WebSocketManager:_0x225661}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x560ea9}=await import('../../config/constants.js'),_0x99016b=new _0x225661('test-host',0x2382);expect(_0x99016b['state'])[_0x1c9f6b(0xb3)](_0x560ea9['DISCONNECTED']),expect(_0x99016b[_0x1c9f6b(0xa7)])[_0x1c9f6b(0xb3)](null),expect(_0x99016b['messageQueue'])[_0x1c9f6b(0xa1)]([]),expect(_0x99016b['reconnectAttempts'])[_0x1c9f6b(0xb3)](0x0),expect(_0x99016b[_0x1c9f6b(0xe3)])['toBe'](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x2cb805=a0_0x5f33,{SessionManager:_0x2df19e}=await import(_0x2cb805(0xb8)),_0x320da5=new _0x2df19e(_0x2cb805(0xb2),0x2382);expect(_0x320da5['sessionId'])[_0x2cb805(0xb3)](null),expect(_0x320da5['projectDir'])['toBe'](null),expect(_0x320da5[_0x2cb805(0x98)])[_0x2cb805(0xb3)](null),expect(_0x320da5['vendorKeys'])['toEqual']({}),expect(_0x320da5[_0x2cb805(0xac)]())['toBe'](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x556576=a0_0x5f33,{MessageRouter:_0xef94b0}=await import(_0x556576(0xc0)),{WebSocketManager:_0x5c9b61}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0x234f33}=await import('../../config/constants.js'),_0x522545=new _0x5c9b61(_0x556576(0xb0),0x1f90),_0x1555cf=new _0xef94b0(_0x522545);expect(_0x1555cf['hasHandler'](_0x234f33['MESSAGE_ADDED']))[_0x556576(0xb3)](!![]),expect(_0x1555cf['hasHandler'](_0x234f33['AGENT_MODE_CHANGED']))[_0x556576(0xb3)](!![]),expect(_0x1555cf['hasHandler'](_0x234f33[_0x556576(0xc1)]))['toBe'](!![]),expect(_0x1555cf[_0x556576(0xe2)](_0x234f33['COMPACTION_EVENT']))[_0x556576(0xb3)](!![]),expect(_0x1555cf[_0x556576(0xe2)](_0x234f33[_0x556576(0x9a)]))['toBe'](!![]);}),test('MessageRouter\x20middleware\x20can\x20be\x20added\x20and\x20removed',async()=>{const _0xeb895=a0_0x5f33,{MessageRouter:_0x471274}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x5bf51d}=await import('../../api/websocket.js'),_0x5881a8=new _0x5bf51d(_0xeb895(0xb0),0x1f90),_0x597ba6=new _0x471274(_0x5881a8),_0x430f83=_0x17610d=>_0x17610d;expect(_0x597ba6[_0xeb895(0xb7)][_0xeb895(0xd5)])['toBeGreaterThanOrEqual'](0x0),_0x597ba6['use'](_0x430f83);const _0x4d04b5=_0x597ba6[_0xeb895(0xb7)][_0xeb895(0xd5)];expect(_0x4d04b5)[_0xeb895(0x9d)](0x0),_0x597ba6['removeMiddleware'](_0x430f83),expect(_0x597ba6['middleware'][_0xeb895(0xd5)])[_0xeb895(0xb3)](_0x4d04b5-0x1);}),test(_0x52847a(0xce),async()=>{const _0x4f761b=_0x52847a,{SessionManager:_0x43ba37}=await import(_0x4f761b(0xb8)),_0x5c8317=new _0x43ba37('localhost',0x1f90);expect(_0x5c8317['getSessionId']())[_0x4f761b(0xb3)](null),expect(_0x5c8317[_0x4f761b(0x9e)]())['toBe'](null),expect(_0x5c8317[_0x4f761b(0xac)]())['toBe'](![]);const _0x598f3d=_0x5c8317[_0x4f761b(0xba)]();expect(_0x598f3d)[_0x4f761b(0xc4)](_0x4f761b(0xa7)),expect(_0x598f3d)[_0x4f761b(0xc4)]('projectDir'),expect(_0x598f3d)[_0x4f761b(0xc4)]('hasLoxiaKey'),expect(_0x598f3d)[_0x4f761b(0xc4)]('vendorKeysCount');}),test(_0x52847a(0xe0),async()=>{const _0x467233=_0x52847a,{WebSocketManager:_0x36c92d}=await import(_0x467233(0xd7)),{CONNECTION_STATE:_0xcae210}=await import('../../config/constants.js'),_0x1dcd16=new _0x36c92d(_0x467233(0xb0),0x1f90);expect(_0x1dcd16[_0x467233(0xaa)]())[_0x467233(0xb3)](_0xcae210[_0x467233(0xc2)]),expect(_0x1dcd16['isConnected']())[_0x467233(0xb3)](![]),expect(_0x1dcd16['getSessionId']())[_0x467233(0xb3)](null);const _0x5e6708=_0x1dcd16['getStats']();expect(_0x5e6708)['toHaveProperty'](_0x467233(0xb6)),expect(_0x5e6708)['toHaveProperty']('sessionId'),expect(_0x5e6708)[_0x467233(0xc4)]('reconnectAttempts'),expect(_0x5e6708)[_0x467233(0xc4)](_0x467233(0xca)),expect(_0x5e6708)[_0x467233(0xc4)]('pendingRequests');}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0x164282=_0x52847a,{MessageRouter:_0x36cce9}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x556deb}=await import(_0x164282(0xd7)),_0x302f61=new _0x556deb(_0x164282(0xb0),0x1f90),_0x54fa90=new _0x36cce9(_0x302f61),_0xbc30b7=()=>{};expect(_0x54fa90[_0x164282(0xe2)](_0x164282(0xcc)))['toBe'](![]),_0x54fa90['registerHandler']('test-message',_0xbc30b7),expect(_0x54fa90[_0x164282(0xe2)](_0x164282(0xcc)))['toBe'](!![]),_0x54fa90[_0x164282(0xde)](_0x164282(0xcc)),expect(_0x54fa90[_0x164282(0xe2)]('test-message'))['toBe'](![]);}),test(_0x52847a(0xbc),async()=>{const _0x489ca8=_0x52847a,{loggingMiddleware:_0x204412,timestampMiddleware:_0x4cb998,filterMiddleware:_0x1f41e4}=await import(_0x489ca8(0xc0)),_0x44ef6e=_0x204412();expect(typeof _0x44ef6e)[_0x489ca8(0xb3)](_0x489ca8(0xc3));const _0x1e2d58=_0x4cb998();expect(typeof _0x1e2d58)[_0x489ca8(0xb3)](_0x489ca8(0xc3));const _0x2599f8={'type':'test'},_0x40b3f5=_0x1e2d58(_0x2599f8);expect(_0x40b3f5)['toHaveProperty'](_0x489ca8(0xd1)),expect(_0x40b3f5[_0x489ca8(0xa2)])[_0x489ca8(0xb3)](_0x489ca8(0xaf));const _0x44fa01=_0x1f41e4(['allowed-type']);expect(typeof _0x44fa01)['toBe']('function'),expect(_0x44fa01({'type':'allowed-type'}))[_0x489ca8(0x97)](),expect(_0x44fa01({'type':'blocked-type'}))[_0x489ca8(0xb3)](null);}),test(_0x52847a(0xae),async()=>{const _0x50ff23=_0x52847a,_0x2acd2a=await import(_0x50ff23(0xe1));expect(typeof _0x2acd2a[_0x50ff23(0xb1)]['WEBSOCKET_RECONNECT_DELAY'])['toBe'](_0x50ff23(0xd4)),expect(typeof _0x2acd2a[_0x50ff23(0xb1)][_0x50ff23(0xd3)])['toBe']('number'),expect(typeof _0x2acd2a[_0x50ff23(0xcf)]['DEFAULT_PORT'])[_0x50ff23(0xb3)](_0x50ff23(0xd4)),expect(typeof _0x2acd2a[_0x50ff23(0xcf)][_0x50ff23(0xad)])[_0x50ff23(0xb3)](_0x50ff23(0xd4)),expect(typeof _0x2acd2a[_0x50ff23(0xcf)][_0x50ff23(0xcd)])[_0x50ff23(0xb3)](_0x50ff23(0xd4)),expect(typeof _0x2acd2a[_0x50ff23(0xc5)]['MESSAGE_LIST_HEIGHT'])['toBe'](_0x50ff23(0xd4)),expect(typeof _0x2acd2a[_0x50ff23(0xc5)]['SIDEBAR_WIDTH'])[_0x50ff23(0xb3)](_0x50ff23(0xd4));});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Error\x20Handling',()=>{const _0x5a1ddd=a0_0x21558f;test(_0x5a1ddd(0x99),async()=>{const _0x2329c5=_0x5a1ddd,{MessageRouter:_0x57b9d3}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x1a02b2}=await import('../../api/websocket.js'),_0x363099=new _0x1a02b2(_0x2329c5(0xb0),0x1f90),_0x5f5513=new _0x57b9d3(_0x363099);expect(()=>{const _0xfcab3d=_0x2329c5;_0x5f5513['registerHandler']('test',_0xfcab3d(0xa9));})['toThrow']('Handler\x20must\x20be\x20a\x20function');}),test(_0x5a1ddd(0xd6),async()=>{const _0x373fbc=_0x5a1ddd,{MessageRouter:_0x3687a6}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x1c7da7}=await import(_0x373fbc(0xd7)),_0x4aaaa5=new _0x1c7da7('localhost',0x1f90),_0x9c1771=new _0x3687a6(_0x4aaaa5);expect(()=>{const _0x2eb25c=_0x373fbc;_0x9c1771[_0x2eb25c(0xc8)]('not-a-function');})[_0x373fbc(0xa0)](_0x373fbc(0xa4));}),test(_0x5a1ddd(0xa6),async()=>{const _0x3f004a=_0x5a1ddd,{SessionManager:_0x108b03}=await import('../../api/session.js'),_0x422a08=new _0x108b03(_0x3f004a(0xb0),0x1f90);_0x422a08['sessionId']=_0x3f004a(0x9f),_0x422a08['projectDir']='/test/dir',_0x422a08[_0x3f004a(0x98)]='test-key',_0x422a08[_0x3f004a(0x9b)]={'openai':'key'},expect(_0x422a08['isValid']())['toBe'](!![]),_0x422a08[_0x3f004a(0xdc)](),expect(_0x422a08['sessionId'])['toBe'](null),expect(_0x422a08[_0x3f004a(0xc6)])[_0x3f004a(0xb3)](null),expect(_0x422a08[_0x3f004a(0x98)])['toBe'](null),expect(_0x422a08[_0x3f004a(0x9b)])['toEqual']({}),expect(_0x422a08['isValid']())[_0x3f004a(0xb3)](![]);}),test('WebSocketManager\x20generates\x20unique\x20request\x20IDs',async()=>{const _0x29b489=_0x5a1ddd,{WebSocketManager:_0x6a835d}=await import('../../api/websocket.js'),_0xb89b1d=new _0x6a835d(_0x29b489(0xb0),0x1f90),_0x1519fe=_0xb89b1d['generateRequestId'](),_0x2b922b=_0xb89b1d['generateRequestId'](),_0x5c7f11=_0xb89b1d[_0x29b489(0xe4)]();expect(_0x1519fe)['not']['toBe'](_0x2b922b),expect(_0x2b922b)['not']['toBe'](_0x5c7f11),expect(_0x1519fe)[_0x29b489(0xa5)][_0x29b489(0xb3)](_0x5c7f11),expect(_0x1519fe)['toMatch'](/^req-\d+-\d+$/),expect(_0x2b922b)[_0x29b489(0xdb)](/^req-\d+-\d+$/),expect(_0x5c7f11)[_0x29b489(0xdb)](/^req-\d+-\d+$/);});});
|
|
@@ -1 +1 @@
|
|
|
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
|
+
const a0_0x93df08=a0_0x2ec8;(function(_0x3ebb09,_0x15d028){const _0x48d617=a0_0x2ec8,_0x4884ef=_0x3ebb09();while(!![]){try{const _0x4c452a=parseInt(_0x48d617(0xd2))/0x1*(-parseInt(_0x48d617(0xbc))/0x2)+parseInt(_0x48d617(0xe3))/0x3+-parseInt(_0x48d617(0xdd))/0x4*(-parseInt(_0x48d617(0xaf))/0x5)+parseInt(_0x48d617(0xda))/0x6+parseInt(_0x48d617(0xc0))/0x7+-parseInt(_0x48d617(0xbf))/0x8*(parseInt(_0x48d617(0xd1))/0x9)+-parseInt(_0x48d617(0xcc))/0xa;if(_0x4c452a===_0x15d028)break;else _0x4884ef['push'](_0x4884ef['shift']());}catch(_0x56277f){_0x4884ef['push'](_0x4884ef['shift']());}}}(a0_0x2cee,0x864ef));import{describe,test,expect}from'@jest/globals';describe(a0_0x93df08(0xb0),()=>{test('useMessages hook can be imported',async()=>{const _0x3bba9a=a0_0x2ec8,{useMessages:_0xd0ec0a}=await import('../../state/useMessages.js');expect(_0xd0ec0a)['toBeDefined'](),expect(typeof _0xd0ec0a)[_0x3bba9a(0xd5)]('function');}),test('useMessages is default export',async()=>{const _0x31dd2=a0_0x2ec8,module=await import('../../state/useMessages.js');expect(module[_0x31dd2(0xc6)])['toBeDefined'](),expect(typeof module[_0x31dd2(0xc6)])['toBe'](_0x31dd2(0xd9)),expect(module[_0x31dd2(0xc6)])['toBe'](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const {useMessageCount:_0x5ec332}=await import('../../state/useMessages.js');expect(_0x5ec332)['toBeDefined'](),expect(typeof _0x5ec332)['toBe']('function');});}),describe('Message\x20Management\x20-\x20Constants',()=>{const _0x1db962=a0_0x93df08;test(_0x1db962(0xd3),async()=>{const _0x384732=_0x1db962,{MESSAGE_ROLE:_0x490768}=await import(_0x384732(0xb4));expect(_0x490768)[_0x384732(0xcb)](),expect(_0x490768['USER'])['toBe']('user'),expect(_0x490768[_0x384732(0xe5)])[_0x384732(0xd5)]('assistant'),expect(_0x490768[_0x384732(0xc8)])[_0x384732(0xd5)](_0x384732(0xe4));}),test(_0x1db962(0xc7),async()=>{const _0x35329a=_0x1db962,{MESSAGE_TYPE:_0x19260f}=await import('../../config/constants.js');expect(_0x19260f)['toBeDefined'](),expect(_0x19260f[_0x35329a(0xcd)])[_0x35329a(0xd5)]('user-message'),expect(_0x19260f['AGENT_RESPONSE'])['toBe'](_0x35329a(0xc9)),expect(_0x19260f[_0x35329a(0xad)])['toBe']('system-notification');}),test('MESSAGE_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x58d0d8=_0x1db962,{MESSAGE_CONFIG:_0x2c29a3}=await import(_0x58d0d8(0xb4));expect(_0x2c29a3)['toBeDefined'](),expect(_0x2c29a3['MAX_MESSAGE_LENGTH'])['toBeDefined'](),expect(_0x2c29a3['MAX_MESSAGES_DISPLAY'])[_0x58d0d8(0xcb)](),expect(typeof _0x2c29a3[_0x58d0d8(0xd7)])['toBe']('number'),expect(typeof _0x2c29a3['MAX_MESSAGES_DISPLAY'])['toBe']('number');}),test(_0x1db962(0xb7),async()=>{const _0x575caa=_0x1db962,{PAGINATION:_0x51f8d2}=await import('../../config/constants.js');expect(_0x51f8d2)[_0x575caa(0xcb)](),expect(_0x51f8d2['PAGE_SIZE'])['toBeDefined'](),expect(_0x51f8d2[_0x575caa(0xd6)])['toBeDefined'](),expect(typeof _0x51f8d2[_0x575caa(0xc3)])[_0x575caa(0xd5)](_0x575caa(0xca)),expect(typeof _0x51f8d2['MAX_PAGE_SIZE'])[_0x575caa(0xd5)]('number');}),test(_0x1db962(0xde),async()=>{const _0x46322b=_0x1db962,{WS_MESSAGE_TYPE:_0x20dc68}=await import('../../config/constants.js');expect(_0x20dc68)['toBeDefined'](),expect(_0x20dc68['MESSAGE_ADDED'])['toBe'](_0x46322b(0xdc)),expect(_0x20dc68['AGENT_MODE_CHANGED'])['toBe']('agent_mode_changed'),expect(_0x20dc68[_0x46322b(0xdf)])['toBe']('execution_stopped');});}),describe(a0_0x93df08(0xbd),()=>{const _0x56d49e=a0_0x93df08;test(_0x56d49e(0xc5),async()=>{const _0x2be160=_0x56d49e,{useMessages:_0x559a02}=await import(_0x2be160(0xba)),{SessionManager:_0x1b271e}=await import(_0x2be160(0xd8)),{MessageRouter:_0x1c5dba}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x44d8e4}=await import('../../api/websocket.js'),_0x400b37=new _0x1b271e('localhost',0x1f90),_0x3742ed=new _0x44d8e4('localhost',0x1f90),_0x19cc3d=new _0x1c5dba(_0x3742ed);expect(_0x400b37)['toBeDefined'](),expect(_0x19cc3d)['toBeDefined'](),expect(typeof _0x559a02)[_0x2be160(0xd5)](_0x2be160(0xd9));}),test('Full message management stack can be imported together',async()=>{const _0x458975=_0x56d49e,[_0x5ec974,_0xc75bdc,_0x50c53a,_0x50c67a,_0x3d99d5]=await Promise['all']([import('../../config/constants.js'),import(_0x458975(0xd8)),import('../../api/websocket.js'),import(_0x458975(0xe0)),import(_0x458975(0xba))]);expect(_0x5ec974[_0x458975(0xbb)])[_0x458975(0xcb)](),expect(_0x5ec974[_0x458975(0xb3)])['toBeDefined'](),expect(_0x5ec974[_0x458975(0xd4)])[_0x458975(0xcb)](),expect(_0xc75bdc[_0x458975(0xc2)])['toBeDefined'](),expect(_0x50c53a[_0x458975(0xe2)])[_0x458975(0xcb)](),expect(_0x50c67a['MessageRouter'])[_0x458975(0xcb)](),expect(_0x3d99d5[_0x458975(0xe1)])[_0x458975(0xcb)]();});}),describe(a0_0x93df08(0xb6),()=>{const _0x56215b=a0_0x93df08;test('Orchestrator\x20endpoint\x20can\x20be\x20used\x20for\x20message\x20operations',async()=>{const _0x23b43e=a0_0x2ec8,{API_ENDPOINTS:_0x3dde9e}=await import(_0x23b43e(0xb4));expect(_0x3dde9e[_0x23b43e(0xce)])[_0x23b43e(0xcb)](),expect(_0x3dde9e[_0x23b43e(0xce)])[_0x23b43e(0xd5)]('/api/orchestrator');}),test(_0x56215b(0xb5),async()=>{const _0x35c7c5=_0x56215b,{API_ENDPOINTS:_0x7e1431}=await import('../../config/constants.js');expect(_0x7e1431[_0x35c7c5(0xce)])[_0x35c7c5(0xcf)](/^\/api\//);});}),describe('Message\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{test('useMessages\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x3f544d=a0_0x2ec8,{useMessages:_0x42c351}=await import(_0x3f544d(0xba));expect(_0x42c351['length'])['toBe'](0x3);}),test('useMessageCount\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x5b2b04=a0_0x2ec8,{useMessageCount:_0x2d413c}=await import('../../state/useMessages.js');expect(_0x2d413c[_0x5b2b04(0xb9)])[_0x5b2b04(0xd5)](0x1);});}),describe('Message\x20Management\x20-\x20Constants\x20Validation',()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x22160a=a0_0x2ec8,{MESSAGE_CONFIG:_0x470e5b}=await import(_0x22160a(0xb4));expect(_0x470e5b['MAX_MESSAGE_LENGTH'])['toBeGreaterThan'](0x0),expect(_0x470e5b[_0x22160a(0xd7)])['toBeLessThanOrEqual'](0x186a0),expect(_0x470e5b['MAX_MESSAGES_DISPLAY'])['toBeGreaterThan'](0x0),expect(_0x470e5b[_0x22160a(0xd0)])['toBeLessThanOrEqual'](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0xe5a99b=a0_0x2ec8,{PAGINATION:_0x473214}=await import('../../config/constants.js');expect(_0x473214[_0xe5a99b(0xc3)])[_0xe5a99b(0xae)](0x0),expect(_0x473214['PAGE_SIZE'])[_0xe5a99b(0xc4)](0x3e8),expect(_0x473214[_0xe5a99b(0xd6)])['toBeGreaterThanOrEqual'](_0x473214['PAGE_SIZE']);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0x3a9017=a0_0x2ec8,{MESSAGE_ROLE:_0x7d83ed}=await import('../../config/constants.js');expect(_0x7d83ed[_0x3a9017(0xb1)])['toBe'](_0x7d83ed[_0x3a9017(0xb1)]['toLowerCase']()),expect(_0x7d83ed[_0x3a9017(0xe5)])['toBe'](_0x7d83ed[_0x3a9017(0xe5)]['toLowerCase']()),expect(_0x7d83ed[_0x3a9017(0xc8)])[_0x3a9017(0xd5)](_0x7d83ed[_0x3a9017(0xc8)]['toLowerCase']());});}),describe(a0_0x93df08(0xac),()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0x45481e=a0_0x2ec8,{MessageRouter:_0x282d76}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x380954}=await import(_0x45481e(0xc1)),{WS_MESSAGE_TYPE:_0x4e91ee}=await import(_0x45481e(0xb4)),_0x10cb7e=new _0x380954('localhost',0x1f90),_0x5a7cc5=new _0x282d76(_0x10cb7e);expect(_0x5a7cc5['hasHandler'](_0x4e91ee['MESSAGE_ADDED']))[_0x45481e(0xd5)](!![]),expect(_0x5a7cc5['hasHandler'](_0x4e91ee[_0x45481e(0xb2)]))['toBe'](!![]);});}),describe(a0_0x93df08(0xdb),()=>{const _0x946f6a=a0_0x93df08;test(_0x946f6a(0xbe),async()=>{const _0x241b79=_0x946f6a,{MESSAGE_CONFIG:_0x430ea8}=await import(_0x241b79(0xb4));expect(_0x430ea8[_0x241b79(0xd7)])['toBeDefined'](),expect(typeof _0x430ea8[_0x241b79(0xd7)])[_0x241b79(0xd5)](_0x241b79(0xca));const _0x4cda21='a'['repeat'](_0x430ea8['MAX_MESSAGE_LENGTH']+0x1);expect(_0x4cda21['length'])[_0x241b79(0xae)](_0x430ea8[_0x241b79(0xd7)]);}),test('MESSAGE_CONFIG\x20enforces\x20maximum\x20display\x20messages',async()=>{const _0x297726=_0x946f6a,{MESSAGE_CONFIG:_0x513b99}=await import('../../config/constants.js');expect(_0x513b99['MAX_MESSAGES_DISPLAY'])[_0x297726(0xcb)](),expect(typeof _0x513b99['MAX_MESSAGES_DISPLAY'])[_0x297726(0xd5)](_0x297726(0xca)),expect(_0x513b99[_0x297726(0xd0)])[_0x297726(0xae)](0x0);});}),describe('Message\x20Management\x20-\x20Pagination\x20Logic',()=>{test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0xff65bd=a0_0x2ec8,{PAGINATION:_0x2d0636}=await import('../../config/constants.js'),_0x4165ac=0x0,_0x10fd49=_0x4165ac*_0x2d0636[_0xff65bd(0xc3)];expect(_0x10fd49)['toBe'](0x0);const _0x453a4d=0x1,_0x4c32e1=_0x453a4d*_0x2d0636[_0xff65bd(0xc3)];expect(_0x4c32e1)['toBe'](_0x2d0636['PAGE_SIZE']);}),test('PAGINATION\x20limit\x20does\x20not\x20exceed\x20MAX_PAGE_SIZE',async()=>{const _0x100afe=a0_0x2ec8,{PAGINATION:_0x1bc2ef}=await import(_0x100afe(0xb4)),_0x29c4bb=0x3e8,_0x19a9f1=Math[_0x100afe(0xb8)](_0x29c4bb,_0x1bc2ef[_0x100afe(0xd6)]);expect(_0x19a9f1)['toBeLessThanOrEqual'](_0x1bc2ef['MAX_PAGE_SIZE']);});});function a0_0x2ec8(_0x2584f4,_0x1e0981){_0x2584f4=_0x2584f4-0xac;const _0x2cee1e=a0_0x2cee();let _0x2ec8d5=_0x2cee1e[_0x2584f4];if(a0_0x2ec8['uWgAFF']===undefined){var _0x2b63e5=function(_0x103f84){const _0x295120='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xd0ec0a='',_0x5ec332='';for(let _0x490768=0x0,_0x19260f,_0x2c29a3,_0x51f8d2=0x0;_0x2c29a3=_0x103f84['charAt'](_0x51f8d2++);~_0x2c29a3&&(_0x19260f=_0x490768%0x4?_0x19260f*0x40+_0x2c29a3:_0x2c29a3,_0x490768++%0x4)?_0xd0ec0a+=String['fromCharCode'](0xff&_0x19260f>>(-0x2*_0x490768&0x6)):0x0){_0x2c29a3=_0x295120['indexOf'](_0x2c29a3);}for(let _0x20dc68=0x0,_0x559a02=_0xd0ec0a['length'];_0x20dc68<_0x559a02;_0x20dc68++){_0x5ec332+='%'+('00'+_0xd0ec0a['charCodeAt'](_0x20dc68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ec332);};a0_0x2ec8['ShmXPK']=_0x2b63e5,a0_0x2ec8['wLZRfl']={},a0_0x2ec8['uWgAFF']=!![];}const _0x5520a2=_0x2cee1e[0x0],_0x2a8db0=_0x2584f4+_0x5520a2,_0xdd4c33=a0_0x2ec8['wLZRfl'][_0x2a8db0];return!_0xdd4c33?(_0x2ec8d5=a0_0x2ec8['ShmXPK'](_0x2ec8d5),a0_0x2ec8['wLZRfl'][_0x2a8db0]=_0x2ec8d5):_0x2ec8d5=_0xdd4c33,_0x2ec8d5;}function a0_0x2cee(){const _0x13c230=['v2vIu29JA2v0twfUywDLCG','mte2mtiZmw9ZD1j1sG','C3LZDgvT','qvntsvnuqu5u','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','u1Ltvevnx05pveLgsunbveLptG','Dg9czuDYzwf0zxjuAgfU','mtKWEwzwvgDw','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw1WB3j0CW','vvnfuG','quDftLrFtu9erv9dsefor0ve','tuvtu0fhrv9uwvbf','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','twvZC2fNzsbbueKGzw5KCg9PBNrZigzVBgXVDYbsrvnuzNvSihbHDhrLCM4','twvZC2fNzsbnyw5Hz2vTzw50ic0GqvbjievUzhbVAw50CYbwywXPzgf0Aw9U','uefhsu5bveLptIbJB25ZDgfUDhmGyxjLigrLzMLUzwq','BwLU','BgvUz3rO','lI4VlI4VC3rHDguVDxnLtwvZC2fNzxmUANm','tuvtu0fhrv9st0Xf','ntm1nZG2Cwvushfv','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbTzxnZywDLigXLBMD0Aa','oti0mdHYze56v2S','nZiWmJK1ogLQDLHQsG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','u2vZC2LVBK1HBMfNzxi','uefhrv9tsvPf','Dg9czuXLC3nuAgfUt3jfCxvHBa','DxnLtwvZC2fNzxmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','zgvMyxvSDa','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','u1Ltvevn','ywDLBNqTCMvZCg9UC2u','BNvTyMvY','Dg9czurLzMLUzwq','mteXntGZmJbNy0n1v3G','vvnfuL9nrvntquDf','t1jdsevtvfjbve9s','Dg9nyxrJAa','tufyx01fu1nbr0vtx0rju1bmqvK','odfyq1vjv3y','mxH2yNPdzG','tuvtu0fhrv9st0XfignVBNn0yw50CYbHCMuGzgvMAw5Lza','tuvtu0fhrv9dt05gsuC','Dg9czq','tufyx1bbr0vFu0LArq','tufyx01fu1nbr0vFtevor1ri','lI4VlI4VyxbPl3nLC3nPB24UANm','zNvUy3rPB24','mtq2mZG5mKT2qMvLEG','twvZC2fNzsbnyw5Hz2vTzw50ic0GrxjYB3iGsgfUzgXPBMC','BwvZC2fNzv9HzgrLza','mZK3nJr5te9bvue','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1LC3nHz2uGzxzLBNrZ','rvHfq1vusu9ox1nut1bqruq','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','DxnLtwvZC2fNzxm'];a0_0x2cee=function(){return _0x13c230;};return a0_0x2cee();}
|
|
@@ -1 +1 @@
|
|
|
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
|
+
function a0_0xebd5(){const _0x281d6c=['uMvHzcbJB250zw50CYbVzIbHigzPBgu','mZzLAuPbtfO','ve9ptf9dqvrfr09swsbJB25ZDgfUDhmGyxjLigrLzMLUzwq','vg9VBhmGtwfUywDLBwvUDcaTiev4zwn1DgLVBIbtDgf0zsbuCMfJA2LUzW','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','zMLSzsbJB250zw50CW','Dg9nyxrJAa','nJiWnZjVzhf1AMO','D2vIx3nLyxjJAa','nti3mtG5CgXWsxLX','vg9VBhmGzw5KCg9PBNqGzM9SBg93CYbsrvnuzNvSihbHDhrLCM4','zgf0yq','vg9VBhmGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','q2f0zwDVCNKGy291BNrZignHBIbIzsbJywXJDwXHDgvK','twvZC2fNzvjVDxrLCG','zw5HyMXLza','mJy0otuYCvP2CgLV','Aw5JBhvKzxm','DxnLvg9VBhmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','zNvUy3rPB24','lI4VlI4VyxbPl3nLC3nPB24UANm','vg9VBhmGtwfUywDLBwvUDcaTieLTCg9YDhm','yw5HBhL6zv9JB2rL','z2v0','DxnLvg9VBhm','BMfTzq','qvvut01bveLptG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','DxnLvg9VBhmGCMv0DxjUCYbLEhbLy3rLzcbPBNrLCMzHy2uGC2HHCgu','mtiYmJqWmMfbz1LQta','vg9VBcbVCgvYyxrPB25ZihvZzsbVCMnOzxn0CMf0B3iGzw5KCg9PBNq','nJKXmtm1DfHrzM13','Bg9JywXOB3n0','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','y2f0zwDVCNK','Dg9czurLzMLUzwq','CMvHzf9MAwXL','zgvZy3jPChrPB24','zgvMyxvSDa','ve9ptfm','AgfZ','ve9ptf9dqvrfr09swsbJyw4GyMuGDxnLzcb0BYbMAwX0zxiGDg9VBhmGyNKGy2f0zwDVCNK','Dg9czq','v3jPDguGzgf0ysb0BYbHigzPBgu','t1jdsevtvfjbve9s','zxHLyY0Y','mJi1nJy2mfjvs0nZwG','nZaZnZGYowzzEwPNAa','qu5btfLtsvm','vg9VBcbZzwfYy2GGC2HVDwXKihDVCMSGD2L0AcbUyw1LigfUzcbKzxnJCMLWDgLVBG','AgfZsgfUzgXLCG','yw5HBhL6zq','zxHLy3v0zv9JB21Tyw5K','zMLSDgvY','ywrK','BM93','vvrjteLuwq','BgvUz3rO','vg9VBhmGy2fUigjLigzPBhrLCMvKigj5ig11BhrPCgXLignYAxrLCMLH','l2fWAs90B29SCW','vg9VBhmGtwfUywDLBwvUDcaTienVBNn0yw50CYbwywXPzgf0Aw9U','Dg9mB3DLCKnHC2u','zxHLyY0X','mZvrr1fgyu0','C2v0','Dg9dB250ywLU','C2L6zq','DgvYBwLUywW','u1Ltvevn','vg9VBhmGtwfUywDLBwvUDcaTifDLyLnVy2TLDcbfDMvUDcbiyw5KBgvYCW','ywXS'];a0_0xebd5=function(){return _0x281d6c;};return a0_0xebd5();}const a0_0x2d8126=a0_0x5ed1;function a0_0x5ed1(_0x57eee6,_0x1ed74b){_0x57eee6=_0x57eee6-0x1a2;const _0xebd51a=a0_0xebd5();let _0x5ed103=_0xebd51a[_0x57eee6];if(a0_0x5ed1['alHlpO']===undefined){var _0x4ca6a5=function(_0x1fc02d){const _0xe45f07='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x452fb3='',_0x42b1bf='';for(let _0x1f2750=0x0,_0x41a666,_0x42908c,_0x416306=0x0;_0x42908c=_0x1fc02d['charAt'](_0x416306++);~_0x42908c&&(_0x41a666=_0x1f2750%0x4?_0x41a666*0x40+_0x42908c:_0x42908c,_0x1f2750++%0x4)?_0x452fb3+=String['fromCharCode'](0xff&_0x41a666>>(-0x2*_0x1f2750&0x6)):0x0){_0x42908c=_0xe45f07['indexOf'](_0x42908c);}for(let _0x349b75=0x0,_0xd95ee2=_0x452fb3['length'];_0x349b75<_0xd95ee2;_0x349b75++){_0x42b1bf+='%'+('00'+_0x452fb3['charCodeAt'](_0x349b75)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42b1bf);};a0_0x5ed1['Ootysz']=_0x4ca6a5,a0_0x5ed1['GAWvPO']={},a0_0x5ed1['alHlpO']=!![];}const _0x1b2fec=_0xebd51a[0x0],_0x53bb3e=_0x57eee6+_0x1b2fec,_0x42b683=a0_0x5ed1['GAWvPO'][_0x53bb3e];return!_0x42b683?(_0x5ed103=a0_0x5ed1['Ootysz'](_0x5ed103),a0_0x5ed1['GAWvPO'][_0x53bb3e]=_0x5ed103):_0x5ed103=_0x42b683,_0x5ed103;}(function(_0x357397,_0x15bfb8){const _0x5671f2=a0_0x5ed1,_0x442c2a=_0x357397();while(!![]){try{const _0x4bdac3=parseInt(_0x5671f2(0x1b7))/0x1+-parseInt(_0x5671f2(0x1cc))/0x2+parseInt(_0x5671f2(0x1dd))/0x3+parseInt(_0x5671f2(0x1b5))/0x4+parseInt(_0x5671f2(0x1ce))/0x5*(parseInt(_0x5671f2(0x1af))/0x6)+-parseInt(_0x5671f2(0x1a6))/0x7*(parseInt(_0x5671f2(0x1bf))/0x8)+-parseInt(_0x5671f2(0x1de))/0x9;if(_0x4bdac3===_0x15bfb8)break;else _0x442c2a['push'](_0x442c2a['shift']());}catch(_0x363a66){_0x442c2a['push'](_0x442c2a['shift']());}}}(a0_0xebd5,0x8a108));import{describe,test,expect}from'@jest/globals';describe(a0_0x2d8126(0x1c4),()=>{test('useTools hook can be imported',async()=>{const _0x5e2dc7=a0_0x5ed1,{useTools:_0x452fb3}=await import('../../state/useTools.js');expect(_0x452fb3)[_0x5e2dc7(0x1d2)](),expect(typeof _0x452fb3)['toBe']('function');}),test('useTools is default export',async()=>{const _0x1e0f8c=a0_0x5ed1,module=await import(_0x1e0f8c(0x1d0));expect(module[_0x1e0f8c(0x1d5)])[_0x1e0f8c(0x1d2)](),expect(typeof module[_0x1e0f8c(0x1d5)])[_0x1e0f8c(0x1d9)](_0x1e0f8c(0x1c2)),expect(module[_0x1e0f8c(0x1d5)])[_0x1e0f8c(0x1d9)](module['useTools']);});}),describe('Tools\x20Management\x20-\x20Constants',()=>{const _0x484eb6=a0_0x2d8126;test(_0x484eb6(0x1b0),async()=>{const _0x11babd=_0x484eb6,{TOOL_CATEGORY:_0x42b1bf}=await import('../../config/constants.js');expect(_0x42b1bf)['toBeDefined'](),expect(_0x42b1bf['SYSTEM'])[_0x11babd(0x1d2)](),expect(_0x42b1bf['AUTOMATION'])['toBeDefined'](),expect(_0x42b1bf['ANALYSIS'])[_0x11babd(0x1d2)](),expect(_0x42b1bf['UTILITY'])[_0x11babd(0x1d2)](),expect(_0x42b1bf['COLLABORATION'])['toBeDefined'](),expect(_0x42b1bf['AI'])['toBeDefined']();}),test('TOOL_CATEGORY\x20values\x20are\x20lowercase',async()=>{const _0x35c817=_0x484eb6,{TOOL_CATEGORY:_0x1f2750}=await import(_0x35c817(0x1b2));expect(_0x1f2750['SYSTEM'])[_0x35c817(0x1d9)](_0x1f2750['SYSTEM'][_0x35c817(0x1a4)]()),expect(_0x1f2750[_0x35c817(0x1c9)])['toBe'](_0x1f2750['AUTOMATION']['toLowerCase']()),expect(_0x1f2750[_0x35c817(0x1df)])[_0x35c817(0x1d9)](_0x1f2750[_0x35c817(0x1df)][_0x35c817(0x1a4)]()),expect(_0x1f2750[_0x35c817(0x1e7)])['toBe'](_0x1f2750[_0x35c817(0x1e7)]['toLowerCase']());}),test('Tools\x20API\x20endpoint\x20is\x20defined',async()=>{const _0x17df05=_0x484eb6,{API_ENDPOINTS:_0x41a666}=await import(_0x17df05(0x1b2));expect(_0x41a666['TOOLS'])[_0x17df05(0x1d2)](),expect(_0x41a666['TOOLS'])['toBe'](_0x17df05(0x1a2));}),test('Orchestrator\x20endpoint\x20is\x20used\x20for\x20tool\x20operations',async()=>{const _0x2bcc40=_0x484eb6,{API_ENDPOINTS:_0x42908c}=await import(_0x2bcc40(0x1b2));expect(_0x42908c['ORCHESTRATOR'])['toBeDefined'](),expect(_0x42908c['ORCHESTRATOR'])['toBe']('/api/orchestrator');});}),describe('Tools\x20Management\x20-\x20Integration',()=>{const _0xf4461f=a0_0x2d8126;test(_0xf4461f(0x1c1),async()=>{const _0x2da13c=_0xf4461f,{useTools:_0x416306}=await import(_0x2da13c(0x1d0)),{SessionManager:_0x349b75}=await import(_0x2da13c(0x1c3)),{MessageRouter:_0xd95ee2}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x4db4b0}=await import('../../api/websocket.js'),_0x2c2cd8=new _0x349b75(_0x2da13c(0x1cf),0x1f90),_0x12c810=new _0x4db4b0(_0x2da13c(0x1cf),0x1f90),_0x29cb5f=new _0xd95ee2(_0x12c810);expect(_0x2c2cd8)['toBeDefined'](),expect(_0x29cb5f)['toBeDefined'](),expect(typeof _0x416306)[_0x2da13c(0x1d9)]('function');}),test('Full tools management stack can be imported together',async()=>{const _0x2f12a7=_0xf4461f,[_0x30d70f,_0x2f9f4e,_0x250cb3,_0x23e392,_0x29613a]=await Promise[_0x2f12a7(0x1ad)]([import(_0x2f12a7(0x1b2)),import('../../api/session.js'),import(_0x2f12a7(0x1ca)),import(_0x2f12a7(0x1bb)),import(_0x2f12a7(0x1d0))]);expect(_0x30d70f['TOOL_CATEGORY'])[_0x2f12a7(0x1d2)](),expect(_0x30d70f['API_ENDPOINTS'])[_0x2f12a7(0x1d2)](),expect(_0x2f9f4e['SessionManager'])[_0x2f12a7(0x1d2)](),expect(_0x250cb3['WebSocketManager'])[_0x2f12a7(0x1d2)](),expect(_0x23e392[_0x2f12a7(0x1bd)])['toBeDefined'](),expect(_0x29613a[_0x2f12a7(0x1c7)])[_0x2f12a7(0x1d2)]();});}),describe(a0_0x2d8126(0x1ba),()=>{const _0x9e4daa=a0_0x2d8126;test(_0x9e4daa(0x1b8),async()=>{const _0x100057=_0x9e4daa,{API_ENDPOINTS:_0x2bcd4b}=await import(_0x100057(0x1b2));expect(_0x2bcd4b[_0x100057(0x1d6)])['toMatch'](/^\/api\//),expect(_0x2bcd4b[_0x100057(0x1d6)])['toBe']('/api/tools');}),test(_0x9e4daa(0x1cd),async()=>{const _0x54d4fe=_0x9e4daa,{API_ENDPOINTS:_0x53f746}=await import(_0x54d4fe(0x1b2));expect(_0x53f746[_0x54d4fe(0x1db)])[_0x54d4fe(0x1d2)](),expect(_0x53f746[_0x54d4fe(0x1db)])['toBe']('/api/orchestrator');});}),describe('Tools\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0xd4f84d=a0_0x2d8126;test(_0xd4f84d(0x1cb),async()=>{const _0x20dc1b=_0xd4f84d,{useTools:_0x140ba8}=await import(_0x20dc1b(0x1d0));expect(_0x140ba8[_0x20dc1b(0x1e8)])['toBe'](0x3);});}),describe(a0_0x2d8126(0x1a3),()=>{test('TOOL_CATEGORY\x20includes\x20all\x20major\x20categories',async()=>{const _0x5858a0=a0_0x5ed1,{TOOL_CATEGORY:_0x266f2a}=await import('../../config/constants.js'),_0x46b05b=Object['keys'](_0x266f2a);expect(_0x46b05b)['toContain']('SYSTEM'),expect(_0x46b05b)[_0x5858a0(0x1a8)](_0x5858a0(0x1c9)),expect(_0x46b05b)[_0x5858a0(0x1a8)](_0x5858a0(0x1df)),expect(_0x46b05b)[_0x5858a0(0x1a8)](_0x5858a0(0x1e7)),expect(_0x46b05b)[_0x5858a0(0x1a8)]('COLLABORATION'),expect(_0x46b05b)[_0x5858a0(0x1a8)]('AI');}),test('TOOL_CATEGORY\x20values\x20match\x20expected\x20format',async()=>{const _0x398daf=a0_0x5ed1,{TOOL_CATEGORY:_0x178775}=await import('../../config/constants.js');expect(_0x178775['SYSTEM'])['toMatch'](/^[a-z_]+$/),expect(_0x178775[_0x398daf(0x1c9)])[_0x398daf(0x1b4)](/^[a-z_]+$/),expect(_0x178775['ANALYSIS'])['toMatch'](/^[a-z_]+$/),expect(_0x178775['UTILITY'])[_0x398daf(0x1b4)](/^[a-z_]+$/);});}),describe(a0_0x2d8126(0x1ac),()=>{test('MessageRouter\x20has\x20tool\x20event\x20handlers\x20registered',async()=>{const _0x5d05ae=a0_0x5ed1,{MessageRouter:_0x4ed7e3}=await import(_0x5d05ae(0x1bb)),{WebSocketManager:_0x429f7e}=await import('../../api/websocket.js'),_0x301b7e=new _0x429f7e(_0x5d05ae(0x1cf),0x1f90),_0x3a7324=new _0x4ed7e3(_0x301b7e);expect(_0x3a7324[_0x5d05ae(0x1e1)])[_0x5d05ae(0x1d2)](),expect(typeof _0x3a7324['hasHandler'])['toBe'](_0x5d05ae(0x1c2));});}),describe('Tools\x20Management\x20-\x20Tool\x20Categorization',()=>{const _0x1216ae=a0_0x2d8126;test(_0x1216ae(0x1d8),async()=>{const _0x4dd359=_0x1216ae,{TOOL_CATEGORY:_0x302834}=await import('../../config/constants.js'),_0x4c161d=[{'name':'execute_command','category':_0x302834[_0x4dd359(0x1ab)]},{'name':'terminal','category':_0x302834['SYSTEM']},{'name':_0x4dd359(0x1c5),'category':_0x302834[_0x4dd359(0x1df)]},{'name':_0x4dd359(0x1b6),'category':_0x302834[_0x4dd359(0x1e7)]},{'name':'ai_assistant','category':_0x302834['AI']}],_0x445fd9=_0x4c161d['filter'](_0x3cd6b3=>_0x3cd6b3['category']===_0x302834[_0x4dd359(0x1ab)]),_0x1af61c=_0x4c161d['filter'](_0x3cf683=>_0x3cf683[_0x4dd359(0x1d1)]===_0x302834[_0x4dd359(0x1df)]),_0x321e41=_0x4c161d['filter'](_0xdd1c7a=>_0xdd1c7a['category']===_0x302834[_0x4dd359(0x1e7)]),_0x154e05=_0x4c161d['filter'](_0x44378f=>_0x44378f['category']===_0x302834['AI']);expect(_0x445fd9[_0x4dd359(0x1e8)])['toBe'](0x2),expect(_0x1af61c[_0x4dd359(0x1e8)])[_0x4dd359(0x1d9)](0x1),expect(_0x321e41['length'])[_0x4dd359(0x1d9)](0x1),expect(_0x154e05[_0x4dd359(0x1e8)])[_0x4dd359(0x1d9)](0x1),expect(_0x445fd9[0x0][_0x4dd359(0x1c8)])['toBe'](_0x4dd359(0x1e3)),expect(_0x1af61c[0x0][_0x4dd359(0x1c8)])[_0x4dd359(0x1d9)](_0x4dd359(0x1c5));});}),describe('Tools\x20Management\x20-\x20Tool\x20Search',()=>{const _0x46cfc9=a0_0x2d8126;test(_0x46cfc9(0x1e0),async()=>{const _0x58f996=_0x46cfc9,_0x2b5ef2=[{'name':'read_file','description':_0x58f996(0x1ae)},{'name':'write_file','description':_0x58f996(0x1da)},{'name':_0x58f996(0x1c5),'description':'Perform\x20static\x20code\x20analysis'}],_0x28d159=_0x14be4b=>{const _0x5471bc=_0x58f996,_0x52a5db=_0x14be4b['toLowerCase']();return _0x2b5ef2['filter'](_0x1ef420=>_0x1ef420['name']?.[_0x5471bc(0x1a4)]()[_0x5471bc(0x1c0)](_0x52a5db)||_0x1ef420[_0x5471bc(0x1d4)]?.['toLowerCase']()['includes'](_0x52a5db));},_0x101bfb=_0x28d159('file');expect(_0x101bfb[_0x58f996(0x1e8)])['toBe'](0x2),expect(_0x101bfb['map'](_0x5b5fca=>_0x5b5fca['name']))[_0x58f996(0x1a8)](_0x58f996(0x1d3)),expect(_0x101bfb['map'](_0x1deccb=>_0x1deccb[_0x58f996(0x1c8)]))['toContain']('write_file');const _0x188c92=_0x28d159(_0x58f996(0x1e2));expect(_0x188c92['length'])['toBe'](0x1),expect(_0x188c92[0x0]['name'])[_0x58f996(0x1d9)](_0x58f996(0x1c5));});}),describe(a0_0x2d8126(0x1b1),()=>{test('Execution\x20state\x20can\x20track\x20multiple\x20tools',async()=>{const _0x584468=a0_0x5ed1,_0xd664da=new Set();_0xd664da[_0x584468(0x1e5)]('read_file'),_0xd664da[_0x584468(0x1e5)]('analyze_code'),expect(_0xd664da['has']('read_file'))['toBe'](!![]),expect(_0xd664da[_0x584468(0x1d7)]('analyze_code'))['toBe'](!![]),expect(_0xd664da['size'])['toBe'](0x2),_0xd664da['delete'](_0x584468(0x1d3)),expect(_0xd664da[_0x584468(0x1d7)](_0x584468(0x1d3)))['toBe'](![]),expect(_0xd664da['has'](_0x584468(0x1c5)))[_0x584468(0x1d9)](!![]),expect(_0xd664da[_0x584468(0x1a9)])[_0x584468(0x1d9)](0x1);}),test('Tool\x20results\x20can\x20be\x20stored\x20by\x20execution\x20ID',async()=>{const _0x57fdb9=a0_0x5ed1,_0x174abd=new Map();_0x174abd[_0x57fdb9(0x1a7)](_0x57fdb9(0x1a5),{'success':!![],'data':_0x57fdb9(0x1b3)}),_0x174abd['set'](_0x57fdb9(0x1dc),{'success':!![],'data':{'issues':[]}}),expect(_0x174abd[_0x57fdb9(0x1c6)]('exec-1'))['toBeDefined'](),expect(_0x174abd['get'](_0x57fdb9(0x1a5))['success'])[_0x57fdb9(0x1d9)](!![]),expect(_0x174abd[_0x57fdb9(0x1c6)]('exec-1')[_0x57fdb9(0x1b9)])['toBe']('file\x20contents'),expect(_0x174abd['get']('exec-2'))['toBeDefined'](),expect(_0x174abd['get'](_0x57fdb9(0x1dc))[_0x57fdb9(0x1b9)]['issues'])['toEqual']([]),expect(_0x174abd['size'])['toBe'](0x2);});}),describe('Tools\x20Management\x20-\x20Tool\x20Caching',()=>{test('Tool\x20cache\x20supports\x20TTL-based\x20caching',async()=>{const _0x2b9573=a0_0x5ed1,_0x2fbb81=0x927c0;let _0x2ca7a4=null,_0x373cc4=0x0;const _0x570498=[{'name':'read_file'}];_0x2ca7a4=_0x570498,_0x373cc4=Date['now']();const _0x14eb7c=Date['now'](),_0x5ab5e7=_0x14eb7c-_0x373cc4<_0x2fbb81;expect(_0x5ab5e7)[_0x2b9573(0x1d9)](!![]),expect(_0x2ca7a4)['toBe'](_0x570498);}),test('Tool\x20cache\x20expires\x20after\x20TTL',async()=>{const _0x7b26fd=a0_0x5ed1,_0x140cc5=0x64;let _0x26404f=null,_0x170320=0x0;const _0x7d9819=[{'name':'read_file'}];_0x26404f=_0x7d9819,_0x170320=Date['now'](),await new Promise(_0xead341=>setTimeout(_0xead341,0x96));const _0x5b611e=Date[_0x7b26fd(0x1e6)](),_0x1faaa2=_0x5b611e-_0x170320<_0x140cc5;expect(_0x1faaa2)['toBe'](![]);});}),describe('Tools\x20Management\x20-\x20Tool\x20Filtering',()=>{const _0x5929a0=a0_0x2d8126;test(_0x5929a0(0x1e9),async()=>{const _0x5f42ee=_0x5929a0,{TOOL_CATEGORY:_0x1981b0}=await import(_0x5f42ee(0x1b2)),_0x1b2e71=[{'name':'execute_command','category':_0x1981b0['SYSTEM'],'enabled':!![]},{'name':_0x5f42ee(0x1aa),'category':_0x1981b0[_0x5f42ee(0x1ab)],'enabled':![]},{'name':'analyze_code','category':_0x1981b0['ANALYSIS'],'enabled':!![]}],_0x21f230=_0x7ac92b=>{const _0x459237=_0x5f42ee;let _0x48c7fd=[..._0x1b2e71];return _0x7ac92b['category']&&(_0x48c7fd=_0x48c7fd[_0x459237(0x1e4)](_0x25ac14=>_0x25ac14['category']===_0x7ac92b[_0x459237(0x1d1)])),_0x7ac92b[_0x459237(0x1be)]!==undefined&&(_0x48c7fd=_0x48c7fd[_0x459237(0x1e4)](_0x5a2b87=>_0x5a2b87[_0x459237(0x1be)]===_0x7ac92b['enabled'])),_0x48c7fd;},_0x57fbfa=_0x21f230({'category':_0x1981b0[_0x5f42ee(0x1ab)]});expect(_0x57fbfa['length'])['toBe'](0x2);const _0x33544d=_0x21f230({'enabled':!![]});expect(_0x33544d[_0x5f42ee(0x1e8)])[_0x5f42ee(0x1d9)](0x2);const _0x4bfab9=_0x21f230({'category':_0x1981b0['SYSTEM'],'enabled':!![]});expect(_0x4bfab9[_0x5f42ee(0x1e8)])[_0x5f42ee(0x1d9)](0x1),expect(_0x4bfab9[0x0]['name'])[_0x5f42ee(0x1d9)](_0x5f42ee(0x1e3));});}),describe('Tools\x20Management\x20-\x20Category\x20Counts',()=>{const _0x1ffaab=a0_0x2d8126;test(_0x1ffaab(0x1bc),async()=>{const _0x2e11c9=_0x1ffaab,{TOOL_CATEGORY:_0x28be0b}=await import('../../config/constants.js'),_0x4d5d53=[{'name':'execute_command','category':_0x28be0b['SYSTEM']},{'name':'terminal','category':_0x28be0b[_0x2e11c9(0x1ab)]},{'name':'analyze_code','category':_0x28be0b['ANALYSIS']},{'name':_0x2e11c9(0x1b6),'category':_0x28be0b[_0x2e11c9(0x1e7)]}],_0x5b9850=_0x2bbcaa=>{const _0x4c0824=_0x2e11c9,_0x597668={};for(const _0x3e960d of Object['values'](_0x28be0b)){_0x597668[_0x3e960d]=_0x2bbcaa['filter'](_0x1f4038=>_0x1f4038[_0x4c0824(0x1d1)]===_0x3e960d)['length'];}return _0x597668;},_0x4ca128=_0x5b9850(_0x4d5d53);expect(_0x4ca128[_0x28be0b[_0x2e11c9(0x1ab)]])[_0x2e11c9(0x1d9)](0x2),expect(_0x4ca128[_0x28be0b[_0x2e11c9(0x1df)]])['toBe'](0x1),expect(_0x4ca128[_0x28be0b[_0x2e11c9(0x1e7)]])[_0x2e11c9(0x1d9)](0x1),expect(_0x4ca128[_0x28be0b['AUTOMATION']])[_0x2e11c9(0x1d9)](0x0);});});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xe27a14=a0_0x5292;(function(_0x37fec1,_0x1fe1be){const _0x4ec8c7=a0_0x5292,_0x2413d5=_0x37fec1();while(!![]){try{const _0x32c982=-parseInt(_0x4ec8c7(0x1f8))/0x1+-parseInt(_0x4ec8c7(0x1f1))/0x2+parseInt(_0x4ec8c7(0x1fb))/0x3+parseInt(_0x4ec8c7(0x1ef))/0x4*(parseInt(_0x4ec8c7(0x1ea))/0x5)+parseInt(_0x4ec8c7(0x1f2))/0x6+-parseInt(_0x4ec8c7(0x1df))/0x7*(-parseInt(_0x4ec8c7(0x1ed))/0x8)+-parseInt(_0x4ec8c7(0x1f5))/0x9*(parseInt(_0x4ec8c7(0x1ec))/0xa);if(_0x32c982===_0x1fe1be)break;else _0x2413d5['push'](_0x2413d5['shift']());}catch(_0x5dc2cf){_0x2413d5['push'](_0x2413d5['shift']());}}}(a0_0x291f,0xbda9c));function a0_0x5292(_0x22d7ef,_0x48743d){_0x22d7ef=_0x22d7ef-0x1dd;const _0x291f93=a0_0x291f();let _0x529250=_0x291f93[_0x22d7ef];if(a0_0x5292['khWJCX']===undefined){var _0x415ba6=function(_0xdb5c5c){const _0x1dd51f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x489173='',_0x2f5ae3='';for(let _0xd729b4=0x0,_0x41a9b0,_0x424d6f,_0x2aa081=0x0;_0x424d6f=_0xdb5c5c['charAt'](_0x2aa081++);~_0x424d6f&&(_0x41a9b0=_0xd729b4%0x4?_0x41a9b0*0x40+_0x424d6f:_0x424d6f,_0xd729b4++%0x4)?_0x489173+=String['fromCharCode'](0xff&_0x41a9b0>>(-0x2*_0xd729b4&0x6)):0x0){_0x424d6f=_0x1dd51f['indexOf'](_0x424d6f);}for(let _0x4eb8fc=0x0,_0x5ba653=_0x489173['length'];_0x4eb8fc<_0x5ba653;_0x4eb8fc++){_0x2f5ae3+='%'+('00'+_0x489173['charCodeAt'](_0x4eb8fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f5ae3);};a0_0x5292['XyRFBL']=_0x415ba6,a0_0x5292['FytwjZ']={},a0_0x5292['khWJCX']=!![];}const _0x2677ba=_0x291f93[0x0],_0x36f51d=_0x22d7ef+_0x2677ba,_0x4998f1=a0_0x5292['FytwjZ'][_0x36f51d];return!_0x4998f1?(_0x529250=a0_0x5292['XyRFBL'](_0x529250),a0_0x5292['FytwjZ'][_0x36f51d]=_0x529250):_0x529250=_0x4998f1,_0x529250;}import{ERROR_MESSAGE}from'../config/constants.js';function a0_0x291f(){const _0x11c125=['tKvuv09ss19fuLjpuG','Ahr0CdOVlW','ndCYotK1EKr4Dg5y','qxv0Ag9YAxPHDgLVBG','mtiZmeLgBwz4ra','mty1ndu2CfbxEgvA','C3rHDhvZ','nerZDfDKqW','z2v0','mtiXmJG1mM1JuvnPDa','nZy5nJu2nKniswnuua','yxbPs2v5','uefuq0G','odeWotL0CfnJvgG','CMvZCg9UC2u','C3rHDhvZvgv4Da','mZK2nJmXrurpBuH1','Bg9JywXOB3n0','r0vu','mti3ndy0zK5bA0H6','Cg9ZDa','CMvXDwvZDa','zxjYB3i','ndK3DM5uCvPh','yM9KEq','ufvu','BwvZC2fNzq','Cgf0y2G','C3rYAw5NAwz5','ue9tva','yxbWBgLJyxrPB24VANnVBG','Dg9vChbLCKnHC2u'];a0_0x291f=function(){return _0x11c125;};return a0_0x291f();}export class ApiClient{constructor(_0x489173,_0x2f5ae3=null){const _0x34023a=a0_0x5292;this['baseUrl']=_0x489173,this[_0x34023a(0x1f3)]=_0x2f5ae3;}['setApiKey'](_0xd729b4){const _0x50ef18=a0_0x5292;this[_0x50ef18(0x1f3)]=_0xd729b4;}['getApiKey'](){const _0x23513f=a0_0x5292;return this[_0x23513f(0x1f3)];}['clearApiKey'](){const _0x2f5b01=a0_0x5292;this[_0x2f5b01(0x1f3)]=null;}['buildHeaders'](_0x41a9b0={}){const _0x22781f=a0_0x5292,_0x424d6f={'Content-Type':_0x22781f(0x1e6),..._0x41a9b0};return this['apiKey']&&(_0x424d6f[_0x22781f(0x1eb)]='Bearer\x20'+this['apiKey']),_0x424d6f;}async[a0_0xe27a14(0x1dd)](_0x2aa081,_0x4eb8fc,_0x5ba653={}){const _0x2b04b4=a0_0xe27a14,{body:body=null,headers:headers={},query:query=null}=_0x5ba653;let _0x57a495=''+this['baseUrl']+_0x4eb8fc;if(query){const _0x2110ac=new URLSearchParams(query)['toString']();_0x57a495+='?'+_0x2110ac;}const _0x709fd3={'method':_0x2aa081,'headers':this['buildHeaders'](headers)};body&&[_0x2b04b4(0x1e5),'PUT',_0x2b04b4(0x1f4)]['includes'](_0x2aa081[_0x2b04b4(0x1e7)]())&&(_0x709fd3[_0x2b04b4(0x1e0)]=JSON[_0x2b04b4(0x1e4)](body));try{const _0x5784de=await fetch(_0x57a495,_0x709fd3),_0xe78dba=await _0x5784de['json']()['catch'](()=>({}));if(!_0x5784de['ok']){const _0x55ae48=new Error(_0xe78dba[_0x2b04b4(0x1de)]||'HTTP\x20'+_0x5784de['status']+':\x20'+_0x5784de[_0x2b04b4(0x1f7)]);_0x55ae48[_0x2b04b4(0x1ee)]=_0x5784de['status'],_0x55ae48[_0x2b04b4(0x1f6)]=_0xe78dba;throw _0x55ae48;}return _0xe78dba;}catch(_0x226343){if(_0x226343['message']['includes']('fetch')||_0x226343['name']==='TypeError'){const _0x2bead4=new Error(ERROR_MESSAGE[_0x2b04b4(0x1e8)]+':\x20'+_0x226343[_0x2b04b4(0x1e2)]);_0x2bead4['originalError']=_0x226343;throw _0x2bead4;}throw _0x226343;}}async[a0_0xe27a14(0x1f0)](_0x30da91,_0x5a079e={}){const _0x23db73=a0_0xe27a14;return this['request'](_0x23db73(0x1fa),_0x30da91,_0x5a079e);}async[a0_0xe27a14(0x1fc)](_0x15ff6c,_0x2ba065=null,_0x5f586a={}){const _0x554793=a0_0xe27a14;return this[_0x554793(0x1dd)](_0x554793(0x1e5),_0x15ff6c,{..._0x5f586a,'body':_0x2ba065});}async['put'](_0x286fb3,_0x2b3f2f=null,_0x19f8c3={}){const _0xfc7edd=a0_0xe27a14;return this['request'](_0xfc7edd(0x1e1),_0x286fb3,{..._0x19f8c3,'body':_0x2b3f2f});}async[a0_0xe27a14(0x1e3)](_0x3fc205,_0x1a5b99=null,_0x38a910={}){const _0x590eba=a0_0xe27a14;return this['request'](_0x590eba(0x1f4),_0x3fc205,{..._0x38a910,'body':_0x1a5b99});}async['delete'](_0x337180,_0x193f30={}){return this['request']('DELETE',_0x337180,_0x193f30);}}export function createApiClient(_0x48e1c0=a0_0xe27a14(0x1f9),_0xb919b9=0x1f90,_0x5f8e26=null){const _0x418fae=a0_0xe27a14,_0xc999de=_0x418fae(0x1e9)+_0x48e1c0+':'+_0xb919b9;return new ApiClient(_0xc999de,_0x5f8e26);}export default ApiClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x2e14bd=a0_0x3119;(function(_0x55329c,_0x418845){const _0x18b9a8=a0_0x3119,_0x3a2ca7=_0x55329c();while(!![]){try{const _0x26e25a=parseInt(_0x18b9a8(0x200))/0x1+parseInt(_0x18b9a8(0x1f1))/0x2+parseInt(_0x18b9a8(0x1e0))/0x3*(-parseInt(_0x18b9a8(0x204))/0x4)+-parseInt(_0x18b9a8(0x207))/0x5*(-parseInt(_0x18b9a8(0x1df))/0x6)+parseInt(_0x18b9a8(0x1f4))/0x7+-parseInt(_0x18b9a8(0x1f7))/0x8+parseInt(_0x18b9a8(0x1e9))/0x9;if(_0x26e25a===_0x418845)break;else _0x3a2ca7['push'](_0x3a2ca7['shift']());}catch(_0x2cc62f){_0x3a2ca7['push'](_0x3a2ca7['shift']());}}}(a0_0x332e,0xc9288));function a0_0x3119(_0x2b40d6,_0x59a2cf){_0x2b40d6=_0x2b40d6-0x1de;const _0x332edb=a0_0x332e();let _0x311940=_0x332edb[_0x2b40d6];if(a0_0x3119['YvydBa']===undefined){var _0x3a7329=function(_0x47b27f){const _0x3417cf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x565556='',_0x50e11c='';for(let _0x568e4a=0x0,_0x48a272,_0xcceba4,_0x51f305=0x0;_0xcceba4=_0x47b27f['charAt'](_0x51f305++);~_0xcceba4&&(_0x48a272=_0x568e4a%0x4?_0x48a272*0x40+_0xcceba4:_0xcceba4,_0x568e4a++%0x4)?_0x565556+=String['fromCharCode'](0xff&_0x48a272>>(-0x2*_0x568e4a&0x6)):0x0){_0xcceba4=_0x3417cf['indexOf'](_0xcceba4);}for(let _0x22237e=0x0,_0x1568de=_0x565556['length'];_0x22237e<_0x1568de;_0x22237e++){_0x50e11c+='%'+('00'+_0x565556['charCodeAt'](_0x22237e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50e11c);};a0_0x3119['HuijqJ']=_0x3a7329,a0_0x3119['MdYito']={},a0_0x3119['YvydBa']=!![];}const _0xa1fbd7=_0x332edb[0x0],_0x417525=_0x2b40d6+_0xa1fbd7,_0x372af6=a0_0x3119['MdYito'][_0x417525];return!_0x372af6?(_0x311940=a0_0x3119['HuijqJ'](_0x311940),a0_0x3119['MdYito'][_0x417525]=_0x311940):_0x311940=_0x372af6,_0x311940;}import{EventEmitter}from'events';import{WS_MESSAGE_TYPE}from'../config/constants.js';function a0_0x332e(){const _0x13ce51=['q09nuefdveLptL9fvKvova','C2v0','DxnL','CM91Dgu','ndGWnJeWvLzgvLLu','zxjYB3i','ywDLBNq6BwvZC2fNzv9HzgrLza','Aw1Hz2u6z2vUzxjHDgvK','ngrqqwTjqG','zgvSzxrL','ywDLBNq6D2fYBMLUzW','mtvxrKvHBfK','CMvNAxn0zxjiyw5KBgvY','rvjst1i','zw1PDa','BwvZC2fNzq','ywDLBNq6zxHLy3v0Aw9Ux3n0B3bWzwq','su1br0vFr0vorvjbveve','mJaYnty0mKzjyufyCq','ndCXndu4n0DIsK5cBq','zgf0yq','AgfUzgXLCNm','BwLKzgXLD2fYzv9LCNjVCG','ChvZAa','tuvtu0fhrv9brerfra','Aw5JBhvKzxm','y2XLyxjiyw5KBgvYCW','CMvNAxn0zxjezwzHDwX0sgfUzgXLCNm','mJCXntuZneTcD3H3ta','ywDLBNq6zxjYB3i','BwLKzgXLD2fYzq','Dw5YzwDPC3rLCKHHBMrSzxi','y2XLyxjnAwrKBgv3yxjL','z2v0','zNjVBq','AgfZsgfUzgXLCG','mtG4mZK1mLjfBK9tEq','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','ywDLBNq','nJq2oeHcwhzODq','DhLWzq','ywDLBNq6y29TBxvUAwnHDgLVBG','mJC0mdy3mNzSALbLAa','y2XLyxi','rvHfq1vusu9ox1nut1bqruq','BwvZC2fNztO','AgfUzgXLCL9LCNjVCG'];a0_0x332e=function(){return _0x13ce51;};return a0_0x332e();}export class MessageRouter extends EventEmitter{constructor(_0x565556){const _0x6ea2d1=a0_0x3119;super(),this['ws']=_0x565556,this['handlers']=new Map(),this[_0x6ea2d1(0x1eb)]=[],this['ws']['on']('message',_0x50e11c=>this['route'](_0x50e11c)),this['registerDefaultHandlers']();}['registerDefaultHandlers'](){const _0x5e5e6c=a0_0x3119;this['registerHandler'](WS_MESSAGE_TYPE[_0x5e5e6c(0x1e5)],_0x568e4a=>{const _0x5c0e42=_0x5e5e6c;this['emit'](_0x5c0e42(0x202),_0x568e4a['data']);}),this[_0x5e5e6c(0x208)](WS_MESSAGE_TYPE['AGENT_MODE_CHANGED'],_0x48a272=>{const _0x19ae5b=_0x5e5e6c;this[_0x19ae5b(0x20a)]('agent:mode_changed',_0x48a272);}),this[_0x5e5e6c(0x208)](WS_MESSAGE_TYPE[_0x5e5e6c(0x1f9)],_0xcceba4=>{const _0x11ba98=_0x5e5e6c;this[_0x11ba98(0x20a)](_0x11ba98(0x20c),_0xcceba4[_0x11ba98(0x1e1)]);}),this[_0x5e5e6c(0x208)](WS_MESSAGE_TYPE['AGENT_ERROR'],_0x51f305=>{const _0x4fe7e7=_0x5e5e6c;this['emit'](_0x4fe7e7(0x1ea),_0x51f305);}),this['registerHandler'](WS_MESSAGE_TYPE['AGENT_WARNING'],_0x22237e=>{const _0x2c935a=_0x5e5e6c;this['emit'](_0x2c935a(0x206),_0x22237e);}),this['registerHandler'](WS_MESSAGE_TYPE['AGENT_IMPORTED'],_0x1568de=>{const _0x3650a3=_0x5e5e6c;this[_0x3650a3(0x20a)]('agent:imported',_0x1568de[_0x3650a3(0x1f3)]);}),this[_0x5e5e6c(0x208)](WS_MESSAGE_TYPE['AGENT_COMMUNICATION'],_0x212564=>{const _0xe535dc=_0x5e5e6c;this[_0xe535dc(0x20a)](_0xe535dc(0x1f6),_0x212564[_0xe535dc(0x1e1)]);}),this[_0x5e5e6c(0x208)](WS_MESSAGE_TYPE[_0x5e5e6c(0x1fc)],_0x1646a9=>{const _0x21850a=_0x5e5e6c;this[_0x21850a(0x20a)]('conversation:compaction',_0x1646a9[_0x21850a(0x1e1)]);}),this[_0x5e5e6c(0x208)](WS_MESSAGE_TYPE['IMAGE_RESULT'],_0x10089c=>{const _0x13a20a=_0x5e5e6c;this['emit']('image:result',_0x10089c[_0x13a20a(0x1e1)]);}),this['registerHandler'](WS_MESSAGE_TYPE[_0x5e5e6c(0x1de)],_0x40600b=>{const _0x28bb14=_0x5e5e6c;this[_0x28bb14(0x20a)](_0x28bb14(0x203),_0x40600b[_0x28bb14(0x1e1)]);}),this['registerHandler'](WS_MESSAGE_TYPE[_0x5e5e6c(0x209)],_0x25795f=>{const _0x267e2e=_0x5e5e6c;this['emit'](_0x267e2e(0x201),_0x25795f);});}async[a0_0x2e14bd(0x1ff)](_0x1b37c4){const _0x410be1=a0_0x2e14bd;let processedMessage=_0x1b37c4;for(const _0x24bdaf of this['middleware']){try{processedMessage=await _0x24bdaf(processedMessage);if(!processedMessage)return;}catch(_0x2900af){this[_0x410be1(0x20a)](_0x410be1(0x1e3),{'error':_0x2900af,'message':_0x1b37c4});return;}}const _0x1e327b=processedMessage[_0x410be1(0x1f5)];if(!_0x1e327b){this['emit']('invalid_message',processedMessage);return;}if(this[_0x410be1(0x1e2)]['has'](_0x1e327b)){const _0x4d01f7=this[_0x410be1(0x1e2)][_0x410be1(0x1ee)](_0x1e327b);try{await _0x4d01f7(processedMessage);}catch(_0x128bdd){this[_0x410be1(0x20a)](_0x410be1(0x1fb),{'error':_0x128bdd,'message':processedMessage,'messageType':_0x1e327b});}}this['emit'](_0x410be1(0x1fa)+_0x1e327b,processedMessage),this['emit'](_0x410be1(0x20b),processedMessage);}[a0_0x2e14bd(0x208)](_0x51eba1,_0xab442c){const _0x1ce1e7=a0_0x2e14bd;if(typeof _0xab442c!=='function')throw new Error('Handler\x20must\x20be\x20a\x20function');this['handlers'][_0x1ce1e7(0x1fd)](_0x51eba1,_0xab442c);}[a0_0x2e14bd(0x1ec)](_0x47eea8){const _0x59cfdd=a0_0x2e14bd;this['handlers'][_0x59cfdd(0x205)](_0x47eea8);}[a0_0x2e14bd(0x1fe)](_0x59c94a){const _0x5bc02d=a0_0x2e14bd;if(typeof _0x59c94a!=='function')throw new Error(_0x5bc02d(0x1f2));this['middleware'][_0x5bc02d(0x1e4)](_0x59c94a);}['removeMiddleware'](_0x1533f7){const _0x1fc34f=a0_0x2e14bd,_0xe0fcef=this[_0x1fc34f(0x1eb)]['indexOf'](_0x1533f7);_0xe0fcef>-0x1&&this['middleware']['splice'](_0xe0fcef,0x1);}[a0_0x2e14bd(0x1ed)](){const _0x35a001=a0_0x2e14bd;this[_0x35a001(0x1eb)]=[];}['getRegisteredTypes'](){const _0x5b9ebc=a0_0x2e14bd;return Array[_0x5b9ebc(0x1ef)](this['handlers']['keys']());}[a0_0x2e14bd(0x1f0)](_0x1ab0ba){return this['handlers']['has'](_0x1ab0ba);}['clearHandlers'](){const _0x961103=a0_0x2e14bd;this[_0x961103(0x1e2)][_0x961103(0x1f8)]();}['reset'](){const _0x2454b7=a0_0x2e14bd;this[_0x2454b7(0x1e7)](),this['clearMiddleware'](),this[_0x2454b7(0x1e8)]();}}export function loggingMiddleware(_0x14f37e=console['log']){return _0x3c9f4f=>{return _0x14f37e('[MessageRouter]',_0x3c9f4f['type'],_0x3c9f4f),_0x3c9f4f;};}export function filterMiddleware(_0xd1d4c0){return _0x5d0863=>{const _0x9c2515=a0_0x3119;if(_0xd1d4c0[_0x9c2515(0x1e6)](_0x5d0863['type']))return _0x5d0863;return null;};}export function transformMiddleware(_0x24f2de){return async _0x5d0330=>{return await _0x24f2de(_0x5d0330);};}export function timestampMiddleware(){return _0x3b23f3=>{return{..._0x3b23f3,'receivedAt':new Date()['toISOString']()};};}export function validationMiddleware(_0x50dc70){return _0x859008=>{if(_0x50dc70(_0x859008))return _0x859008;throw new Error('Message\x20validation\x20failed');};}export default MessageRouter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x3201(_0xf34fb9,_0x274391){_0xf34fb9=_0xf34fb9-0x1b9;const _0x2a80fd=a0_0x2a80();let _0x3201fe=_0x2a80fd[_0xf34fb9];if(a0_0x3201['kYKSKW']===undefined){var _0x5c5582=function(_0x280677){const _0x4f6c9c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4254bc='',_0x31a92a='';for(let _0x929351=0x0,_0x437500,_0x5dd78c,_0x4a7639=0x0;_0x5dd78c=_0x280677['charAt'](_0x4a7639++);~_0x5dd78c&&(_0x437500=_0x929351%0x4?_0x437500*0x40+_0x5dd78c:_0x5dd78c,_0x929351++%0x4)?_0x4254bc+=String['fromCharCode'](0xff&_0x437500>>(-0x2*_0x929351&0x6)):0x0){_0x5dd78c=_0x4f6c9c['indexOf'](_0x5dd78c);}for(let _0x50e30f=0x0,_0x955d37=_0x4254bc['length'];_0x50e30f<_0x955d37;_0x50e30f++){_0x31a92a+='%'+('00'+_0x4254bc['charCodeAt'](_0x50e30f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31a92a);};a0_0x3201['WyIOLn']=_0x5c5582,a0_0x3201['bIIGVx']={},a0_0x3201['kYKSKW']=!![];}const _0x23f9e3=_0x2a80fd[0x0],_0x337d9f=_0xf34fb9+_0x23f9e3,_0x21f72b=a0_0x3201['bIIGVx'][_0x337d9f];return!_0x21f72b?(_0x3201fe=a0_0x3201['WyIOLn'](_0x3201fe),a0_0x3201['bIIGVx'][_0x337d9f]=_0x3201fe):_0x3201fe=_0x21f72b,_0x3201fe;}function a0_0x2a80(){const _0x6e22ce=['u0vtu0LptL9jtLzbteLe','z2v0qxbPs2v5u3rHDhvZ','AgfZtg94AwflzxK','m0f6z3nJDW','y3jLyxrLzef0','ndG5otC0nhb6CML2zW','y3jLyxrLu2vZC2LVBG','CMvWBgfJzq','mtKYnZfYsxrWuu0','C2vZC2LVBKLK','oNnLC3nPB25jza','C2vZC2LVBG','nZe5nZKYnhjnB29nrq','Aw5PDgLHBgL6zq','Dg9ju09tDhjPBMC','zxjYB3i','mZnbr1j4sLa','rMfPBgvKihrVigrLBgv0zsbbueKGA2v5CW','C2v0qxbPs2v5','BwfRzvjLCxvLC3q','ChjVAMvJDerPCG','nZq4nZC4mhvfrNfiAq','sevbtfri','ntqYtfrwrKnZ','yxbPq2XPzw50','mtGXnNbxDKToyG','nJu2ndbNz3LvBNy','mJiYn2PZy3zyrW','BwvZC2fNzq','yMfZzvvYBa','rMfPBgvKihrVihnLDcbbueKGA2v5CZOG','y3DK','DMvUzg9Ys2v5CW','mte1Cfbgs1re','BgfZDefJDgL2Axr5','z2v0u2vZC2LVBKLK','Bg94AwfbCgLlzxK','mZCWmJC2Ag1Py0DH','C2v0qxbPs2v5CW','revmrvrf','zgvSzxrLqxbPs2v5CW','r0vu','revgqvvmvf9it1nu','s0vzu19eruXfveu','Cg9YDa','DxbKyxrLqwn0AxzPDhK','ue9tva','z2v0u2vZC2LVBKLUzM8','AxnwywXPza'];a0_0x2a80=function(){return _0x6e22ce;};return a0_0x2a80();}const a0_0xa41b8e=a0_0x3201;(function(_0x24e332,_0x47baf7){const _0x25dbb8=a0_0x3201,_0x4d7c80=_0x24e332();while(!![]){try{const _0x56f9ac=-parseInt(_0x25dbb8(0x1bd))/0x1*(-parseInt(_0x25dbb8(0x1b9))/0x2)+parseInt(_0x25dbb8(0x1d6))/0x3*(-parseInt(_0x25dbb8(0x1c7))/0x4)+parseInt(_0x25dbb8(0x1c3))/0x5*(parseInt(_0x25dbb8(0x1bc))/0x6)+-parseInt(_0x25dbb8(0x1db))/0x7*(parseInt(_0x25dbb8(0x1bb))/0x8)+-parseInt(_0x25dbb8(0x1d8))/0x9+-parseInt(_0x25dbb8(0x1e8))/0xa+-parseInt(_0x25dbb8(0x1e3))/0xb*(-parseInt(_0x25dbb8(0x1df))/0xc);if(_0x56f9ac===_0x47baf7)break;else _0x4d7c80['push'](_0x4d7c80['shift']());}catch(_0x3828d8){_0x4d7c80['push'](_0x4d7c80['shift']());}}}(a0_0x2a80,0x9d354));import{NETWORK,API_ENDPOINTS,ERROR_MESSAGE,SUCCESS_MESSAGE}from'../config/constants.js';import{ApiClient}from'./apiClient.js';export class SessionManager{constructor(_0x4254bc=NETWORK[a0_0xa41b8e(0x1cc)],_0x31a92a=NETWORK['DEFAULT_PORT']){const _0x523ea1=a0_0xa41b8e;this['host']=_0x4254bc,this[_0x523ea1(0x1ce)]=_0x31a92a,this['baseUrl']='http://'+_0x4254bc+':'+_0x31a92a,this[_0x523ea1(0x1dc)]=null,this['projectDir']=null,this[_0x523ea1(0x1d7)]=null,this['lastActivity']=null,this['loxiaApiKey']=null,this['vendorKeys']={},this['apiClient']=new ApiClient(this[_0x523ea1(0x1bf)],this[_0x523ea1(0x1c6)]);}async[a0_0xa41b8e(0x1d9)](_0x929351=process['cwd']()){const _0xf6f971=a0_0xa41b8e;try{const _0x437500=await this['makeRequest'](_0xf6f971(0x1d0),API_ENDPOINTS['SESSION_CREATE'],{'projectDir':_0x929351});if(_0x437500['success']&&_0x437500['session'])return this[_0xf6f971(0x1dc)]=_0x437500['session']['id'],this['projectDir']=_0x929351,this['createdAt']=_0x437500[_0xf6f971(0x1de)][_0xf6f971(0x1d7)],this['lastActivity']=_0x437500['session'][_0xf6f971(0x1c4)],{'success':!![],'sessionId':this['sessionId'],'session':_0x437500[_0xf6f971(0x1de)]};else throw new Error(_0x437500['error']||ERROR_MESSAGE['SESSION_CREATE_FAILED']);}catch(_0x5dd78c){throw new Error(ERROR_MESSAGE['SESSION_CREATE_FAILED']+':\x20'+_0x5dd78c['message']);}}async[a0_0xa41b8e(0x1c8)](_0x4a7639=null,_0x50e30f={}){const _0x39e5b7=a0_0xa41b8e;if(!this['sessionId'])throw new Error(ERROR_MESSAGE[_0x39e5b7(0x1d3)]);try{const _0x955d37=await this['makeRequest']('POST',API_ENDPOINTS['KEYS_SET'],{'sessionId':this[_0x39e5b7(0x1dc)],'loxiaApiKey':_0x4a7639,'vendorKeys':_0x50e30f});if(_0x955d37['success'])return this[_0x39e5b7(0x1c6)]=_0x4a7639,this['vendorKeys']=_0x50e30f,this[_0x39e5b7(0x1ba)][_0x39e5b7(0x1e5)](_0x4a7639),{'success':!![],'message':_0x955d37['message'],'hasLoxiaKey':_0x955d37[_0x39e5b7(0x1d5)],'vendorKeys':_0x955d37[_0x39e5b7(0x1c2)]};else throw new Error(_0x955d37['error']||'Failed\x20to\x20set\x20API\x20keys');}catch(_0x130f2d){throw new Error(_0x39e5b7(0x1c0)+_0x130f2d[_0x39e5b7(0x1be)]);}}async[a0_0xa41b8e(0x1d4)](){const _0x1acef5=a0_0xa41b8e;if(!this['sessionId'])throw new Error(ERROR_MESSAGE['SESSION_INVALID']);try{const _0x2a2d92=API_ENDPOINTS['KEYS_GET'][_0x1acef5(0x1da)](_0x1acef5(0x1dd),this[_0x1acef5(0x1dc)]),_0xed2d05=await this['makeRequest']('GET',_0x2a2d92);if(_0xed2d05['success'])return{'success':!![],'hasLoxiaKey':_0xed2d05[_0x1acef5(0x1d5)],'vendorKeys':_0xed2d05[_0x1acef5(0x1c2)],'updatedAt':_0xed2d05['updatedAt']};else throw new Error(_0xed2d05[_0x1acef5(0x1e2)]||'Failed\x20to\x20get\x20API\x20key\x20status');}catch(_0x5c344b){throw new Error('Failed\x20to\x20get\x20API\x20key\x20status:\x20'+_0x5c344b['message']);}}async[a0_0xa41b8e(0x1ca)](){const _0x1ec7ab=a0_0xa41b8e;if(!this['sessionId'])throw new Error(ERROR_MESSAGE[_0x1ec7ab(0x1d3)]);try{const _0x314211=API_ENDPOINTS[_0x1ec7ab(0x1cd)][_0x1ec7ab(0x1da)](_0x1ec7ab(0x1dd),this[_0x1ec7ab(0x1dc)]),_0x9e5c32=await this[_0x1ec7ab(0x1e6)](_0x1ec7ab(0x1c9),_0x314211);if(_0x9e5c32['success'])return this['loxiaApiKey']=null,this['vendorKeys']={},{'success':!![],'message':_0x9e5c32['message']};else throw new Error(_0x9e5c32[_0x1ec7ab(0x1e2)]||_0x1ec7ab(0x1e4));}catch(_0x105870){throw new Error('Failed\x20to\x20delete\x20API\x20keys:\x20'+_0x105870['message']);}}async[a0_0xa41b8e(0x1e0)](_0x3f0039=process[a0_0xa41b8e(0x1c1)]()){try{const _0x1a3fc0=await this['checkHealth']();if(!_0x1a3fc0['success'])throw new Error('Server\x20health\x20check\x20failed:\x20'+_0x1a3fc0['error']);const _0x569c82=await this['createSession'](_0x3f0039);return{'success':!![],'sessionId':_0x569c82['sessionId'],'session':_0x569c82['session']};}catch(_0x1aae8f){return{'success':![],'error':_0x1aae8f['message']};}}async['checkHealth'](){const _0x5573da=a0_0xa41b8e;try{const _0x3dd77a=await this[_0x5573da(0x1e6)](_0x5573da(0x1cb),API_ENDPOINTS[_0x5573da(0x1e9)]);return{'success':!![],'status':_0x3dd77a['status'],'version':_0x3dd77a['version'],'timestamp':_0x3dd77a['timestamp']};}catch(_0x7c3831){return{'success':![],'error':_0x7c3831[_0x5573da(0x1be)]};}}async[a0_0xa41b8e(0x1e6)](_0x177ba2,_0x45e52f,_0x43e18c=null){const _0x2c0dcc=a0_0xa41b8e;return this[_0x2c0dcc(0x1ba)]['request'](_0x177ba2,_0x45e52f,{'body':_0x43e18c});}[a0_0xa41b8e(0x1c5)](){const _0x2358af=a0_0xa41b8e;return this[_0x2358af(0x1dc)];}['getProjectDir'](){return this['projectDir'];}[a0_0xa41b8e(0x1d2)](){return this['sessionId']!==null;}[a0_0xa41b8e(0x1cf)](){const _0x54615e=a0_0xa41b8e;this['lastActivity']=new Date()[_0x54615e(0x1e1)]();}[a0_0xa41b8e(0x1d1)](){const _0x509130=a0_0xa41b8e;return{'sessionId':this[_0x509130(0x1dc)],'projectDir':this[_0x509130(0x1e7)],'createdAt':this['createdAt'],'lastActivity':this['lastActivity'],'hasLoxiaKey':!!this['loxiaApiKey'],'vendorKeysCount':Object['keys'](this[_0x509130(0x1c2)])['length']};}['clear'](){const _0xa940bd=a0_0xa41b8e;this[_0xa940bd(0x1dc)]=null,this['projectDir']=null,this[_0xa940bd(0x1d7)]=null,this['lastActivity']=null,this[_0xa940bd(0x1c6)]=null,this['vendorKeys']={};}}export default SessionManager;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
const a0_0x472e3e=a0_0x5a01;(function(_0x5d244a,_0x2b5d39){const _0x4bb97b=a0_0x5a01,_0x1bf7e4=_0x5d244a();while(!![]){try{const _0x53ac5c=-parseInt(_0x4bb97b(0x1db))/0x1+-parseInt(_0x4bb97b(0x1d5))/0x2+-parseInt(_0x4bb97b(0x192))/0x3+parseInt(_0x4bb97b(0x1ba))/0x4*(parseInt(_0x4bb97b(0x19a))/0x5)+parseInt(_0x4bb97b(0x1c2))/0x6+parseInt(_0x4bb97b(0x1ab))/0x7+parseInt(_0x4bb97b(0x1a8))/0x8;if(_0x53ac5c===_0x2b5d39)break;else _0x1bf7e4['push'](_0x1bf7e4['shift']());}catch(_0x37b502){_0x1bf7e4['push'](_0x1bf7e4['shift']());}}}(a0_0x5e94,0x1c163));import a0_0x102321 from'ws';import{EventEmitter}from'events';function a0_0x5e94(){const _0x5eeb52=['y2XVC2u','nJKWmJjtAwnqqvG','y29UBMvJDa','AgfUzgXLq2XVC2u','C3rHCNrizwfYDgjLyxq','t1jdsevtvfjbve9sx1jfu1bptLnf','revgqvvmvf9qt1ju','mtK1ntG3Cg5Xs2zn','D3m6lY8','BwvZC2fNzq','C2HVDwXKuMvJB25Uzwn0','ChjVy2vZC01LC3nHz2vrDwv1zq','C3rVCeHLyxj0yMvHDa','BgfZDfbVBMDszwnLAxzLza','t1jdsevtvfjbve9sx1jfuvvfu1q','ndeXmdu0t1npq3Du','yMfZzvjLy29UBMvJDerLBgf5','Cg9Uz1rPBwvVDxq','q2XPzw50igrPC2nVBM5Ly3q','AxndB25Uzwn0zwq','Ag9ZDa','AgfUzgXLtwvZC2fNzq','AgfUzgXLrxjYB3i','mtv3EuLjsw0','C3rHDgvFy2HHBMDL','zw1PDa','v0vcu09ds0vux1jfq09otKvdvf9nqvHFrevmqvK','CMvXlq','reLtq09otKvdveve','BgvUz3rO','C2L6zq','AgfUzgXLug9Uz1rPBwvVDxq','C3rHDgu','BwvZC2fNzvf1zxvL','C2vUza','AgfUzgXLt3bLBG','BwLU','nZqYodmYr3Dntgj6','z2vUzxjHDgvszxf1zxn0swq','C2nOzwr1BgvszwnVBM5Ly3q','mteWnJe2mwfRuMzQEa','C2v0','AgvHCNrIzwf0sw50zxj2ywW','CgvUzgLUz1jLCxvLC3rZ','Cg9YDa','z2v0u3rHDhm','v0vcu09ds0vux1jfq09otKvdvf9nvuXusvbmsuvs','DxjS','uMvXDwvZDcb0Aw1LB3v0','v0vcu09ds0vux1bjtKDFsu5urvjwquW','v0vcu09ds0vux1bptKDFveLnru9vva','q09otKvdveLorW','zgLZy29UBMvJDgvK','CMvJB25Uzwn0rgvSyxK','v0vcu09ds0vux0nptK5fq1rFveLnru9vva','ntGWmJbgsNDszLq','Dw5ZAgLMDa','CMvTB3zLqwXStgLZDgvUzxjZ','AgfUzgXLq29UBMvJDgLVBKvYCM9Y','sK9jtL9trvntsu9o','C2v0u3rHDgu','DhLWzq','C2vUzf9LCNjVCG','mteYnJyWmNPvwgvVBW','uKvdt05orunusu5h','D2fPDezVCKnVBM5Ly3rPB24','CgLUz0LUDgvYDMfS','q09otKvdveve','BM93','C2vUzfbPBMC','D2vSy29Tzq','y2XLyw51Ca','CMvJB25Uzwn0vgLTzxi','AM9PBLnLC3nPB24','C2vZC2LVBKLK','qwXYzwfKEsbJB25Uzwn0zwqGB3iGy29UBMvJDgLUzW','C3rYAw5NAwz5','CMvXDwvZDeLKq291BNrLCG','zxjYB3i','z2v0u3rHDgu','CMvJB25Uzwn0qxr0zw1WDhm'];a0_0x5e94=function(){return _0x5eeb52;};return a0_0x5e94();}import{TIMING,NETWORK,CONNECTION_STATE,WS_MESSAGE_TYPE,ERROR_MESSAGE}from'../config/constants.js';function a0_0x5a01(_0x1f1744,_0x54579f){_0x1f1744=_0x1f1744-0x18f;const _0x5e94c8=a0_0x5e94();let _0x5a0160=_0x5e94c8[_0x1f1744];if(a0_0x5a01['ZohtZo']===undefined){var _0x24e958=function(_0x48da89){const _0x4e402e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x102321='',_0x5d20aa='';for(let _0xdf0641=0x0,_0x1c54f6,_0x1ddf0e,_0x443e=0x0;_0x1ddf0e=_0x48da89['charAt'](_0x443e++);~_0x1ddf0e&&(_0x1c54f6=_0xdf0641%0x4?_0x1c54f6*0x40+_0x1ddf0e:_0x1ddf0e,_0xdf0641++%0x4)?_0x102321+=String['fromCharCode'](0xff&_0x1c54f6>>(-0x2*_0xdf0641&0x6)):0x0){_0x1ddf0e=_0x4e402e['indexOf'](_0x1ddf0e);}for(let _0x736ac5=0x0,_0x424831=_0x102321['length'];_0x736ac5<_0x424831;_0x736ac5++){_0x5d20aa+='%'+('00'+_0x102321['charCodeAt'](_0x736ac5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d20aa);};a0_0x5a01['GDNVZl']=_0x24e958,a0_0x5a01['rJZMcL']={},a0_0x5a01['ZohtZo']=!![];}const _0x17b188=_0x5e94c8[0x0],_0x5723df=_0x1f1744+_0x17b188,_0x30bc7a=a0_0x5a01['rJZMcL'][_0x5723df];return!_0x30bc7a?(_0x5a0160=a0_0x5a01['GDNVZl'](_0x5a0160),a0_0x5a01['rJZMcL'][_0x5723df]=_0x5a0160):_0x5a0160=_0x30bc7a,_0x5a0160;}export class WebSocketManager extends EventEmitter{constructor(_0x5d20aa=NETWORK['DEFAULT_HOST'],_0xdf0641=NETWORK[a0_0x472e3e(0x1da)],_0x1c54f6={}){const _0x540e70=a0_0x472e3e;super(),this[_0x540e70(0x197)]=_0x5d20aa,this[_0x540e70(0x1af)]=_0xdf0641,this[_0x540e70(0x1b2)]=_0x540e70(0x1dc)+_0x5d20aa+':'+_0xdf0641,this['ws']=null,this['state']=CONNECTION_STATE[_0x540e70(0x19f)],this[_0x540e70(0x1cd)]=null,this[_0x540e70(0x1d3)]=0x0,this[_0x540e70(0x1b8)]=_0x1c54f6['reconnectDelay']??TIMING['WEBSOCKET_RECONNECT_DELAY'],this[_0x540e70(0x193)]=this[_0x540e70(0x1b8)],this['reconnectTimer']=null,this[_0x540e70(0x1de)]=!![],this[_0x540e70(0x1ad)]=_0x1c54f6['heartbeatInterval']??TIMING[_0x540e70(0x1b4)],this[_0x540e70(0x1c5)]=null,this[_0x540e70(0x194)]=null,this['lastPongReceived']=null,this[_0x540e70(0x1a4)]=[],this[_0x540e70(0x1d0)]=0x0,this[_0x540e70(0x1ae)]=new Map();}async['connect'](){const _0x216a47=a0_0x472e3e;if(this['state']===CONNECTION_STATE['CONNECTED']||this[_0x216a47(0x1a3)]===CONNECTION_STATE['CONNECTING'])return{'success':![],'error':_0x216a47(0x1ce)};this[_0x216a47(0x1bf)](CONNECTION_STATE[_0x216a47(0x1b6)]),this[_0x216a47(0x19c)]('connecting');try{return this['ws']=new a0_0x102321(this[_0x216a47(0x1b2)]),this['setupEventHandlers'](),await this[_0x216a47(0x1c4)](),{'success':!![]};}catch(_0x1ddf0e){return this['handleConnectionError'](_0x1ddf0e),{'success':![],'error':_0x1ddf0e[_0x216a47(0x1dd)]};}}[a0_0x472e3e(0x1c4)](){return new Promise((_0x443e,_0x736ac5)=>{const _0x3ff893=a0_0x5a01,_0x424831=setTimeout(()=>{_0x736ac5(new Error('Connection\x20timeout'));},TIMING[_0x3ff893(0x1b9)]);this['ws']['once']('open',()=>{clearTimeout(_0x424831),_0x443e();}),this['ws']['once'](_0x3ff893(0x1d1),_0x346416=>{clearTimeout(_0x424831),_0x736ac5(_0x346416);});});}['setupEventHandlers'](){const _0x44c79c=a0_0x472e3e;this['ws']['on']('open',()=>this[_0x44c79c(0x1a6)]()),this['ws']['on']('message',_0x4eb3b3=>this['handleMessage'](_0x4eb3b3)),this['ws']['on']('close',(_0x35f047,_0x106aa8)=>this[_0x44c79c(0x1d7)](_0x35f047,_0x106aa8)),this['ws']['on']('error',_0x2d81c4=>this[_0x44c79c(0x199)](_0x2d81c4));}['handleOpen'](){const _0x35f3ea=a0_0x472e3e;this['setState'](CONNECTION_STATE[_0x35f3ea(0x1c6)]),this[_0x35f3ea(0x1d3)]=0x0,this['reconnectDelay']=this['baseReconnectDelay'],this[_0x35f3ea(0x19c)]('connected'),this[_0x35f3ea(0x1d8)](),this[_0x35f3ea(0x1df)]();}[a0_0x472e3e(0x198)](_0x417c9){const _0xb7db46=a0_0x472e3e;try{const _0x345e3f=JSON['parse'](_0x417c9['toString']());if(_0x345e3f[_0xb7db46(0x1c0)]===WS_MESSAGE_TYPE['PONG']){this['handlePong']();return;}if(_0x345e3f['type']===WS_MESSAGE_TYPE['CONNECTED']){this['emit'](_0xb7db46(0x1c9),_0x345e3f);return;}if(_0x345e3f['type']===WS_MESSAGE_TYPE['SESSION_JOINED']){this['sessionId']=_0x345e3f[_0xb7db46(0x1cd)],this[_0xb7db46(0x19c)]('session_joined',_0x345e3f);return;}if(_0x345e3f[_0xb7db46(0x1c0)]===WS_MESSAGE_TYPE[_0xb7db46(0x1d9)]){this['handleOrchestratorResponse'](_0x345e3f);return;}this['emit']('message',_0x345e3f),_0x345e3f['type']&&this['emit'](_0x345e3f[_0xb7db46(0x1c0)],_0x345e3f);}catch(_0x3ffae4){this[_0xb7db46(0x19c)]('parse_error',{'error':_0x3ffae4,'data':_0x417c9});}}[a0_0x472e3e(0x1d7)](_0x3499f7,_0x32cffe){const _0x20937d=a0_0x472e3e;this[_0x20937d(0x1ca)]();const _0x2817bf=_0x32cffe['toString']()||'Unknown\x20reason';this['emit'](_0x20937d(0x1b7),{'code':_0x3499f7,'reason':_0x2817bf}),this[_0x20937d(0x1de)]&&_0x3499f7!==0x3e8?this[_0x20937d(0x1aa)]():this['setState'](CONNECTION_STATE[_0x20937d(0x19f)]);}['handleError'](_0x585688){this['emit']('error',_0x585688);}[a0_0x472e3e(0x1bd)](_0x4ea571){const _0x402448=a0_0x472e3e;this['setState'](CONNECTION_STATE['ERROR']),this[_0x402448(0x19c)]('connection_error',_0x4ea571),this[_0x402448(0x1de)]&&this[_0x402448(0x1aa)]();}[a0_0x472e3e(0x1aa)](){const _0x511567=a0_0x472e3e;if(this[_0x511567(0x1cb)])return;this[_0x511567(0x1bf)](CONNECTION_STATE[_0x511567(0x1c3)]),this[_0x511567(0x1d3)]++;const _0x480e96=Math[_0x511567(0x1a7)](this['reconnectDelay']*Math['pow'](TIMING[_0x511567(0x1b1)],this[_0x511567(0x1d3)]-0x1),TIMING[_0x511567(0x19d)]);this['emit']('reconnecting',{'attempt':this[_0x511567(0x1d3)],'delay':_0x480e96}),this[_0x511567(0x1cb)]=setTimeout(()=>{const _0x10da5c=_0x511567;this['reconnectTimer']=null,this[_0x10da5c(0x1d6)]();},_0x480e96);}[a0_0x472e3e(0x1d8)](){const _0x34106b=a0_0x472e3e;this[_0x34106b(0x18f)](),this['pingInterval']=setInterval(()=>{const _0x3d8cbf=_0x34106b;this[_0x3d8cbf(0x1a3)]===CONNECTION_STATE['CONNECTED']&&this[_0x3d8cbf(0x1c8)]();},this[_0x34106b(0x1ad)]);}['stopHeartbeat'](){const _0x25f440=a0_0x472e3e;this[_0x25f440(0x1c5)]&&(clearInterval(this[_0x25f440(0x1c5)]),this['pingInterval']=null),this[_0x25f440(0x194)]&&(clearTimeout(this[_0x25f440(0x194)]),this['pongTimeout']=null);}[a0_0x472e3e(0x1c8)](){const _0xcf2efc=a0_0x472e3e;if(this[_0xcf2efc(0x1a3)]!==CONNECTION_STATE[_0xcf2efc(0x1c6)])return;try{this['send']({'type':WS_MESSAGE_TYPE['PING']}),this['pongTimeout']=setTimeout(()=>{const _0xcba290=_0xcf2efc;this[_0xcba290(0x1a2)]();},TIMING[_0xcf2efc(0x1b5)]);}catch(_0xccee64){this[_0xcf2efc(0x19c)]('ping_error',_0xccee64);}}['handlePong'](){const _0xbdb3cf=a0_0x472e3e;this[_0xbdb3cf(0x190)]=Date[_0xbdb3cf(0x1c7)](),this['pongTimeout']&&(clearTimeout(this['pongTimeout']),this['pongTimeout']=null);}['handlePongTimeout'](){const _0x598a1d=a0_0x472e3e;this[_0x598a1d(0x19c)]('heartbeat_timeout'),this['disconnect'](),this['shouldReconnect']&&this['scheduleReconnect']();}[a0_0x472e3e(0x1cc)](_0x290242){const _0x1d62c9=a0_0x472e3e;this['sessionId']=_0x290242,this[_0x1d62c9(0x1a5)]({'type':WS_MESSAGE_TYPE[_0x1d62c9(0x1be)],'sessionId':_0x290242});}['sendOrchestratorRequest'](_0x36a2d1,_0x2c4562,_0x31030b){const _0x5a135c=a0_0x472e3e,_0x2e2644=this['generateRequestId'](),_0x1de55a={'type':WS_MESSAGE_TYPE[_0x5a135c(0x191)],'requestId':_0x2e2644,'action':_0x36a2d1,'payload':_0x2c4562,'projectDir':_0x31030b};return new Promise((_0x34299d,_0x3eba21)=>{const _0x206700=_0x5a135c;this['pendingRequests'][_0x206700(0x1ac)](_0x2e2644,{'resolve':_0x34299d,'reject':_0x3eba21,'timestamp':Date[_0x206700(0x1c7)]()});try{this['send'](_0x1de55a);}catch(_0xaa8500){this['pendingRequests']['delete'](_0x2e2644),_0x3eba21(_0xaa8500);}setTimeout(()=>{const _0x20ae2d=_0x206700;this['pendingRequests']['has'](_0x2e2644)&&(this['pendingRequests']['delete'](_0x2e2644),_0x3eba21(new Error(_0x20ae2d(0x1b3))));},TIMING['HTTP_TIMEOUT']);});}['handleOrchestratorResponse'](_0x3b95f5){const _0x18b1e6=a0_0x472e3e,{requestId:_0x48e4f4,response:_0xe62658,error:_0x4b013b}=_0x3b95f5;if(this[_0x18b1e6(0x1ae)]['has'](_0x48e4f4)){const {resolve:_0x35fd02,reject:_0x23b429}=this[_0x18b1e6(0x1ae)]['get'](_0x48e4f4);this[_0x18b1e6(0x1ae)]['delete'](_0x48e4f4),_0x4b013b?_0x23b429(new Error(_0x4b013b)):_0x35fd02(_0xe62658);}}['send'](_0x1404e8){const _0x16c4a9=a0_0x472e3e;if(this[_0x16c4a9(0x1a3)]!==CONNECTION_STATE['CONNECTED']){this['messageQueue']['push'](_0x1404e8);return;}try{this['ws']['send'](JSON[_0x16c4a9(0x1cf)](_0x1404e8));}catch(_0x541178){this[_0x16c4a9(0x19c)](_0x16c4a9(0x1c1),_0x541178);throw _0x541178;}}['processMessageQueue'](){const _0x3b2054=a0_0x472e3e;while(this[_0x3b2054(0x1a4)][_0x3b2054(0x1a0)]>0x0&&this[_0x3b2054(0x1a3)]===CONNECTION_STATE[_0x3b2054(0x1c6)]){const _0x4e241d=this['messageQueue']['shift']();try{this['ws'][_0x3b2054(0x1a5)](JSON['stringify'](_0x4e241d));}catch(_0x1e24f6){this[_0x3b2054(0x19c)]('queue_process_error',_0x1e24f6),this[_0x3b2054(0x1a4)][_0x3b2054(0x1bb)](_0x4e241d);break;}}}['disconnect'](){const _0x4ee410=a0_0x472e3e;this['shouldReconnect']=![],this['cleanup']();if(this['ws']){try{this['ws'][_0x4ee410(0x1d4)](0x3e8,_0x4ee410(0x195));}catch(_0x26057e){}this['ws']=null;}this[_0x4ee410(0x1bf)](CONNECTION_STATE[_0x4ee410(0x19f)]);}[a0_0x472e3e(0x1ca)](){const _0x46fc5d=a0_0x472e3e;this['stopHeartbeat'](),this[_0x46fc5d(0x1cb)]&&(clearTimeout(this[_0x46fc5d(0x1cb)]),this['reconnectTimer']=null),this['ws']&&this['ws'][_0x46fc5d(0x1bc)]();}[a0_0x472e3e(0x1bf)](_0x590ac7){const _0x1280f2=a0_0x472e3e,_0x5d7311=this[_0x1280f2(0x1a3)];this['state']=_0x590ac7,_0x5d7311!==_0x590ac7&&this[_0x1280f2(0x19c)](_0x1280f2(0x19b),{'oldState':_0x5d7311,'newState':_0x590ac7});}[a0_0x472e3e(0x1a9)](){const _0x564f1e=a0_0x472e3e;return this[_0x564f1e(0x1d0)]++,_0x564f1e(0x19e)+Date['now']()+'-'+this[_0x564f1e(0x1d0)];}[a0_0x472e3e(0x1d2)](){return this['state'];}[a0_0x472e3e(0x196)](){const _0x4bc6f7=a0_0x472e3e;return this[_0x4bc6f7(0x1a3)]===CONNECTION_STATE[_0x4bc6f7(0x1c6)];}['getSessionId'](){return this['sessionId'];}[a0_0x472e3e(0x1b0)](){const _0xbcaf6f=a0_0x472e3e;return{'state':this['state'],'sessionId':this['sessionId'],'reconnectAttempts':this[_0xbcaf6f(0x1d3)],'queuedMessages':this['messageQueue']['length'],'pendingRequests':this[_0xbcaf6f(0x1ae)][_0xbcaf6f(0x1a1)],'lastPongReceived':this[_0xbcaf6f(0x190)]};}}export default WebSocketManager;
|