@loxia-labs/loxia-autopilot-one 1.0.18 → 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 +2 -2
- package/bin/cli.js +1 -1
- package/bin/loxia-terminal-v2.js +1 -1
- package/bin/loxia-terminal.js +1 -1
- package/bin/start-with-terminal.js +1 -1
- package/package.json +1 -1
- package/scripts/install-scanners.js +1 -1
- package/src/analyzers/CSSAnalyzer.js +1 -1
- package/src/analyzers/ConfigValidator.js +1 -1
- package/src/analyzers/ESLintAnalyzer.js +1 -1
- package/src/analyzers/JavaScriptAnalyzer.js +1 -1
- package/src/analyzers/PrettierFormatter.js +1 -1
- package/src/analyzers/PythonAnalyzer.js +1 -1
- package/src/analyzers/SecurityAnalyzer.js +1 -1
- package/src/analyzers/TypeScriptAnalyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/analyzer.js +1 -1
- package/src/analyzers/codeCloneDetector/detector.js +1 -1
- package/src/analyzers/codeCloneDetector/index.js +1 -1
- package/src/analyzers/codeCloneDetector/parser.js +1 -1
- package/src/analyzers/codeCloneDetector/reporter.js +1 -1
- package/src/analyzers/codeCloneDetector/scanner.js +1 -1
- package/src/core/agentPool.js +1 -1
- package/src/core/agentScheduler.js +1 -1
- package/src/core/contextManager.js +1 -1
- package/src/core/messageProcessor.js +1 -1
- package/src/core/orchestrator.js +1 -1
- package/src/core/stateManager.js +1 -1
- package/src/index.js +1 -1
- package/src/interfaces/cli.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/advancedFeatures.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agentControl.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/agents.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/components.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/connection.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/enhancements.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/imports.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/messages.test.js +1 -1
- package/src/interfaces/terminal/__tests__/smoke/tools.test.js +1 -1
- package/src/interfaces/terminal/api/apiClient.js +1 -1
- package/src/interfaces/terminal/api/messageRouter.js +1 -1
- package/src/interfaces/terminal/api/session.js +1 -1
- package/src/interfaces/terminal/api/websocket.js +1 -1
- package/src/interfaces/terminal/components/AgentCreator.js +1 -1
- package/src/interfaces/terminal/components/AgentEditor.js +1 -1
- package/src/interfaces/terminal/components/AgentSwitcher.js +1 -1
- package/src/interfaces/terminal/components/ErrorBoundary.js +1 -1
- package/src/interfaces/terminal/components/ErrorPanel.js +1 -1
- package/src/interfaces/terminal/components/Header.js +1 -1
- package/src/interfaces/terminal/components/HelpPanel.js +1 -1
- package/src/interfaces/terminal/components/InputBox.js +1 -1
- package/src/interfaces/terminal/components/Layout.js +1 -1
- package/src/interfaces/terminal/components/LoadingSpinner.js +1 -1
- package/src/interfaces/terminal/components/MessageList.js +1 -1
- package/src/interfaces/terminal/components/MultilineTextInput.js +1 -1
- package/src/interfaces/terminal/components/SearchPanel.js +1 -1
- package/src/interfaces/terminal/components/SettingsPanel.js +1 -1
- package/src/interfaces/terminal/components/StatusBar.js +1 -1
- package/src/interfaces/terminal/components/TextInput.js +1 -1
- package/src/interfaces/terminal/config/agentEditorConstants.js +1 -1
- package/src/interfaces/terminal/config/constants.js +1 -1
- package/src/interfaces/terminal/index.js +1 -1
- package/src/interfaces/terminal/state/useAgentControl.js +1 -1
- package/src/interfaces/terminal/state/useAgents.js +1 -1
- package/src/interfaces/terminal/state/useConnection.js +1 -1
- package/src/interfaces/terminal/state/useMessages.js +1 -1
- package/src/interfaces/terminal/state/useTools.js +1 -1
- package/src/interfaces/terminal/utils/debugLogger.js +1 -1
- package/src/interfaces/terminal/utils/settingsStorage.js +1 -1
- package/src/interfaces/terminal/utils/theme.js +1 -1
- package/src/interfaces/webServer.js +1 -1
- package/src/modules/fileExplorer/controller.js +1 -1
- package/src/modules/fileExplorer/index.js +1 -1
- package/src/modules/fileExplorer/middleware.js +1 -1
- package/src/modules/fileExplorer/routes.js +1 -1
- package/src/services/agentActivityService.js +1 -1
- package/src/services/aiService.js +1 -1
- package/src/services/apiKeyManager.js +1 -1
- package/src/services/benchmarkService.js +1 -1
- package/src/services/budgetService.js +1 -1
- package/src/services/contextInjectionService.js +1 -1
- package/src/services/conversationCompactionService.js +1 -1
- package/src/services/errorHandler.js +1 -1
- package/src/services/fileAttachmentService.js +1 -1
- package/src/services/modelRouterService.js +1 -1
- package/src/services/modelsService.js +1 -1
- package/src/services/qualityInspector.js +1 -1
- package/src/services/tokenCountingService.js +1 -1
- package/src/tools/agentCommunicationTool.js +1 -1
- package/src/tools/agentDelayTool.js +1 -1
- package/src/tools/asyncToolManager.js +1 -1
- package/src/tools/baseTool.js +1 -1
- package/src/tools/browserTool.js +1 -1
- package/src/tools/cloneDetectionTool.js +1 -1
- package/src/tools/dependencyResolverTool.js +1 -1
- package/src/tools/fileContentReplaceTool.js +1 -1
- package/src/tools/fileSystemTool.js +1 -1
- package/src/tools/fileTreeTool.js +1 -1
- package/src/tools/imageTool.js +1 -1
- package/src/tools/importAnalyzerTool.js +1 -1
- package/src/tools/jobDoneTool.js +1 -1
- package/src/tools/seekTool.js +1 -1
- package/src/tools/staticAnalysisTool.js +1 -1
- package/src/tools/taskManagerTool.js +1 -1
- package/src/tools/terminalTool.js +1 -1
- package/src/tools/webTool.js +1 -1
- package/src/types/agent.js +1 -1
- package/src/types/contextReference.js +1 -1
- package/src/types/conversation.js +1 -1
- package/src/types/toolCommand.js +1 -1
- package/src/utilities/attachmentValidator.js +1 -1
- package/src/utilities/configManager.js +1 -1
- package/src/utilities/constants.js +1 -1
- package/src/utilities/directoryAccessManager.js +1 -1
- package/src/utilities/fileProcessor.js +1 -1
- package/src/utilities/logger.js +1 -1
- package/src/utilities/tagParser.js +1 -1
- package/src/utilities/toolConstants.js +1 -1
- package/src/utilities/userDataDir.js +1 -1
- package/web-ui/build/index.html +1 -1
- package/web-ui/build/static/{index-DL2-PyNX.js → index-CcwO7jS4.js} +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2213c7=a0_0x2de3;(function(_0x20d46f,_0x1294fe){const _0x3675de=a0_0x2de3,_0x227870=_0x20d46f();while(!![]){try{const _0x2ecad9=parseInt(_0x3675de(0xed))/0x1+parseInt(_0x3675de(0xfb))/0x2*(parseInt(_0x3675de(0x129))/0x3)+parseInt(_0x3675de(0x11b))/0x4*(parseInt(_0x3675de(0x105))/0x5)+-parseInt(_0x3675de(0x121))/0x6*(parseInt(_0x3675de(0x122))/0x7)+parseInt(_0x3675de(0x12c))/0x8+-parseInt(_0x3675de(0xff))/0x9+-parseInt(_0x3675de(0x115))/0xa;if(_0x2ecad9===_0x1294fe)break;else _0x227870['push'](_0x227870['shift']());}catch(_0x51861c){_0x227870['push'](_0x227870['shift']());}}}(a0_0x128e,0xb1e92));function a0_0x2de3(_0x19e610,_0x5e7f0b){_0x19e610=_0x19e610-0xe8;const _0x128e92=a0_0x128e();let _0x2de32a=_0x128e92[_0x19e610];if(a0_0x2de3['JCjbyM']===undefined){var _0x2e4dbd=function(_0xa2e142){const _0x52e788='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51436a='',_0x467422='';for(let _0x1c5984=0x0,_0x211e03,_0x192421,_0x11f0c8=0x0;_0x192421=_0xa2e142['charAt'](_0x11f0c8++);~_0x192421&&(_0x211e03=_0x1c5984%0x4?_0x211e03*0x40+_0x192421:_0x192421,_0x1c5984++%0x4)?_0x51436a+=String['fromCharCode'](0xff&_0x211e03>>(-0x2*_0x1c5984&0x6)):0x0){_0x192421=_0x52e788['indexOf'](_0x192421);}for(let _0x535251=0x0,_0x43318f=_0x51436a['length'];_0x535251<_0x43318f;_0x535251++){_0x467422+='%'+('00'+_0x51436a['charCodeAt'](_0x535251)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x467422);};a0_0x2de3['JrGOAA']=_0x2e4dbd,a0_0x2de3['VbCNmH']={},a0_0x2de3['JCjbyM']=!![];}const _0x2ace67=_0x128e92[0x0],_0x39c6ac=_0x19e610+_0x2ace67,_0x5044a7=a0_0x2de3['VbCNmH'][_0x39c6ac];return!_0x5044a7?(_0x2de32a=a0_0x2de3['JrGOAA'](_0x2de32a),a0_0x2de3['VbCNmH'][_0x39c6ac]=_0x2de32a):_0x2de32a=_0x5044a7,_0x2de32a;}import{describe,test,expect}from'@jest/globals';import{fileURLToPath}from'url';import{dirname,join}from'path';const __filename=fileURLToPath(import.meta.url),__dirname=dirname(__filename);function a0_0x128e(){const _0x2662a7=['DhLWzq','v1nFtuvtu0fhrv9uwvbf','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','z2v0u3rHDgu','DgvZDc1RzxK','revgqvvmvf9qt1ju','Dg9czq','AxnwywXPza','twvZC2fNzvjVDxrLCIb0AhjVD3mGB24GAw52ywXPzcbTAwrKBgv3yxjL','v2vIu29JA2v0twfUywDLCIbNzw5LCMf0zxmGDw5PCxvLihjLCxvLC3qGsurZ','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','q29UC3rHBNrZigHHDMuGBM8GBwfNAwmGBNvTyMvYCW','BM90lweTzNvUy3rPB24','BwLKzgXLD2fYzq','z2v0u2vZC2LVBKLK','otC1nZy4meLsuMvYEa','quDftLrFtu9erv9dsefor0ve','ChjVAMvJDerPCG','yMfZzvvYBa','Dg9czurLzMLUzwq','Dg9uAhjVDW','mta0mtuWnhHYChfVDa','Ag9ZDa','Dg9iyxzLuhjVCgvYDhK','DgvZDc1TzxnZywDL','Bg94AwfbCgLlzxK','Dg9fCxvHBa','mJi5ogPSvfbVBG','mtGWnJD1yNjcEwq','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','tuvtu0fhrv9brerfra','rvHfq1vusu9ox1nut1bqruq','Dg9czuDYzwf0zxjuAgfU','yMXVy2TLzc10ExbL','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','mZaWnLvzzuTkAW','C2vZC2LVBKLK','CxvLDwvKtwvZC2fNzxm','ntKXnJq4me9PwNvvsW','BgvUz3rO','DgvZDc0XmJm','ywXSB3DLzc10ExbL','D3m6lY9SB2nHBgHVC3q6oda4ma','v0vcu09ds0vux1bjtKDFsu5urvjwquW','otuWotaZDu5bD2Pn','Bg9JywXOB3n0','AgfZsgfUzgXLCG','Dg9nyxrJAa','CgvUzgLUz1jLCxvLC3rZ','tuvtu0fhrv9dt05gsuC','twLKzgXLD2fYzsbTDxn0igjLigeGzNvUy3rPB24','DgvZDa','CMvJB25Uzwn0qxr0zw1WDhm','v2vIu29JA2v0twfUywDLCIbPBML0AwfSAxPLCYb3AxrOignVCNjLy3qGC3rHDgu','revgqvvmvf9it1nu','q09ntuforfm','lI4VlI4VyxbPl3nLC3nPB24UANm','veLnsu5h','mJe0meLwrwz2Aa','BM90','tufyx1jfvfjjrvm','tKvuv09ssW','ntmXmZa3ofD6zgfRqW','zNvUy3rPB24','DgvZDc1OB3n0','BNvTyMvY','vgvYBwLUywWGvuKGsw5MCMfZDhj1y3r1CMuGlsbfCNjVCIbiyw5KBgLUzW','vuLFreLnru5tsu9ouW','mtbSrKntthO'];a0_0x128e=function(){return _0x2662a7;};return a0_0x128e();}describe('Terminal\x20UI\x20Infrastructure\x20-\x20Imports',()=>{test('constants module exports all required constants',async()=>{const _0x2c2d05=a0_0x2de3,_0x51436a=await import('../../config/constants.js');expect(_0x51436a['UI_DIMENSIONS'])[_0x2c2d05(0x119)](),expect(_0x51436a[_0x2c2d05(0xf2)])[_0x2c2d05(0x119)](),expect(_0x51436a['PAGINATION'])[_0x2c2d05(0x119)](),expect(_0x51436a[_0x2c2d05(0xfa)])[_0x2c2d05(0x119)](),expect(_0x51436a[_0x2c2d05(0xfe)])['toBeDefined'](),expect(_0x51436a['CONNECTION_STATE'])['toBeDefined'](),expect(_0x51436a['AGENT_MODE'])[_0x2c2d05(0x119)](),expect(_0x51436a[_0x2c2d05(0x107)])[_0x2c2d05(0x119)](),expect(_0x51436a['API_ENDPOINTS'])['toBeDefined'](),expect(_0x51436a[_0x2c2d05(0xf8)])[_0x2c2d05(0x119)](),expect(_0x51436a['NETWORK'][_0x2c2d05(0xf7)])[_0x2c2d05(0x10c)]('localhost'),expect(_0x51436a['NETWORK']['DEFAULT_PORT'])['toBe'](0x1f90),expect(_0x51436a['CONNECTION_STATE']['DISCONNECTED'])[_0x2c2d05(0x10c)]('disconnected'),expect(_0x51436a['CONNECTION_STATE']['CONNECTED'])[_0x2c2d05(0x10c)]('connected');}),test('WebSocketManager class can be imported',async()=>{const _0x3db50a=a0_0x2de3,{WebSocketManager:_0x467422}=await import('../../api/websocket.js');expect(_0x467422)['toBeDefined'](),expect(typeof _0x467422)[_0x3db50a(0x10c)](_0x3db50a(0x100));const _0x1c5984=new _0x467422('localhost',0x1f90);expect(_0x1c5984)[_0x3db50a(0x119)](),expect(_0x1c5984[_0x3db50a(0x11c)])[_0x3db50a(0x10c)](_0x3db50a(0xee)),expect(_0x1c5984['port'])['toBe'](0x1f90),expect(_0x1c5984['url'])['toBe'](_0x3db50a(0xeb));}),test('SessionManager class can be imported',async()=>{const _0x2f0949=a0_0x2de3,{SessionManager:_0x211e03}=await import(_0x2f0949(0xf9));expect(_0x211e03)[_0x2f0949(0x119)](),expect(typeof _0x211e03)['toBe']('function');const _0x192421=new _0x211e03('localhost',0x1f90);expect(_0x192421)[_0x2f0949(0x119)](),expect(_0x192421[_0x2f0949(0x11c)])['toBe']('localhost'),expect(_0x192421['port'])[_0x2f0949(0x10c)](0x1f90),expect(_0x192421[_0x2f0949(0x118)])[_0x2f0949(0x10c)]('http://localhost:8080');}),test('MessageRouter class can be imported',async()=>{const _0x45b14d=a0_0x2de3,{MessageRouter:_0x11f0c8}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x535251}=await import('../../api/websocket.js');expect(_0x11f0c8)[_0x45b14d(0x119)](),expect(typeof _0x11f0c8)[_0x45b14d(0x10c)](_0x45b14d(0x100));const _0x43318f=new _0x535251(_0x45b14d(0xee),0x1f90),_0x1a00b4=new _0x11f0c8(_0x43318f);expect(_0x1a00b4)['toBeDefined'](),expect(_0x1a00b4['ws'])[_0x45b14d(0x10c)](_0x43318f);}),test('MessageRouter middleware helpers can be imported',async()=>{const _0x1af636=a0_0x2de3,{loggingMiddleware:_0x395a8b,filterMiddleware:_0x4d518f,transformMiddleware:_0x3d0cf2,timestampMiddleware:_0x13f39c,validationMiddleware:_0x4ab934}=await import(_0x1af636(0x128));expect(typeof _0x395a8b)[_0x1af636(0x10c)](_0x1af636(0x100)),expect(typeof _0x4d518f)['toBe']('function'),expect(typeof _0x3d0cf2)[_0x1af636(0x10c)](_0x1af636(0x100)),expect(typeof _0x13f39c)['toBe']('function'),expect(typeof _0x4ab934)['toBe']('function');}),test('useConnection hook can be imported',async()=>{const _0x50a1a7=a0_0x2de3,{useConnection:_0x4c5d7c,useConnectionStatus:_0x31575a}=await import('../../state/useConnection.js');expect(_0x4c5d7c)[_0x50a1a7(0x119)](),expect(typeof _0x4c5d7c)['toBe'](_0x50a1a7(0x100)),expect(_0x31575a)[_0x50a1a7(0x119)](),expect(typeof _0x31575a)['toBe']('function');});}),describe('Terminal\x20UI\x20Infrastructure\x20-\x20Basic\x20Functionality',()=>{const _0x4b3117=a0_0x2de3;test(_0x4b3117(0xf6),async()=>{const _0x469084=_0x4b3117,{WebSocketManager:_0x326456}=await import('../../api/websocket.js'),{CONNECTION_STATE:_0x580c8d}=await import('../../config/constants.js'),_0x4d6036=new _0x326456(_0x469084(0x101),0x2382);expect(_0x4d6036['state'])['toBe'](_0x580c8d['DISCONNECTED']),expect(_0x4d6036[_0x469084(0x12a)])['toBe'](null),expect(_0x4d6036['messageQueue'])['toEqual']([]),expect(_0x4d6036[_0x469084(0xf5)])[_0x469084(0x10c)](0x0),expect(_0x4d6036['shouldReconnect'])['toBe'](!![]);}),test('SessionManager\x20initializes\x20with\x20correct\x20state',async()=>{const _0x169eac=_0x4b3117,{SessionManager:_0x5c1024}=await import(_0x169eac(0xf9)),_0x5ac026=new _0x5c1024(_0x169eac(0x101),0x2382);expect(_0x5ac026['sessionId'])[_0x169eac(0x10c)](null),expect(_0x5ac026[_0x169eac(0x117)])['toBe'](null),expect(_0x5ac026['loxiaApiKey'])[_0x169eac(0x10c)](null),expect(_0x5ac026['vendorKeys'])[_0x169eac(0x120)]({}),expect(_0x5ac026['isValid']())[_0x169eac(0x10c)](![]);}),test('MessageRouter initializes with default handlers',async()=>{const _0x62406c=_0x4b3117,{MessageRouter:_0x443fb1}=await import(_0x62406c(0x128)),{WebSocketManager:_0x14fb37}=await import(_0x62406c(0x110)),{WS_MESSAGE_TYPE:_0x156dec}=await import(_0x62406c(0x123)),_0x267266=new _0x14fb37(_0x62406c(0xee),0x1f90),_0xeed31f=new _0x443fb1(_0x267266);expect(_0xeed31f[_0x62406c(0xef)](_0x156dec[_0x62406c(0x124)]))['toBe'](!![]),expect(_0xeed31f[_0x62406c(0xef)](_0x156dec[_0x62406c(0x116)]))['toBe'](!![]),expect(_0xeed31f[_0x62406c(0xef)](_0x156dec[_0x62406c(0x125)]))['toBe'](!![]),expect(_0xeed31f['hasHandler'](_0x156dec['COMPACTION_EVENT']))['toBe'](!![]),expect(_0xeed31f[_0x62406c(0xef)](_0x156dec['IMAGE_RESULT']))[_0x62406c(0x10c)](!![]);}),test('MessageRouter\x20middleware\x20can\x20be\x20added\x20and\x20removed',async()=>{const _0x1d6d2b=_0x4b3117,{MessageRouter:_0x4983d4}=await import(_0x1d6d2b(0x128)),{WebSocketManager:_0x54724e}=await import('../../api/websocket.js'),_0x4ef1e5=new _0x54724e(_0x1d6d2b(0xee),0x1f90),_0x3fefe9=new _0x4983d4(_0x4ef1e5),_0x2cbee9=_0x2b088a=>_0x2b088a;expect(_0x3fefe9['middleware'][_0x1d6d2b(0xe8)])[_0x1d6d2b(0x108)](0x0),_0x3fefe9['use'](_0x2cbee9);const _0x4fb2ff=_0x3fefe9['middleware'][_0x1d6d2b(0xe8)];expect(_0x4fb2ff)[_0x1d6d2b(0x126)](0x0),_0x3fefe9['removeMiddleware'](_0x2cbee9),expect(_0x3fefe9[_0x1d6d2b(0x113)]['length'])['toBe'](_0x4fb2ff-0x1);}),test('SessionManager\x20helper\x20methods\x20work',async()=>{const _0x50b059=_0x4b3117,{SessionManager:_0x44e372}=await import(_0x50b059(0xf9)),_0x224095=new _0x44e372('localhost',0x1f90);expect(_0x224095[_0x50b059(0x114)]())['toBe'](null),expect(_0x224095['getProjectDir']())['toBe'](null),expect(_0x224095[_0x50b059(0x10d)]())[_0x50b059(0x10c)](![]);const _0x264850=_0x224095['getSessionInfo']();expect(_0x264850)['toHaveProperty'](_0x50b059(0x12a)),expect(_0x264850)[_0x50b059(0x11d)](_0x50b059(0x117)),expect(_0x264850)[_0x50b059(0x11d)]('hasLoxiaKey'),expect(_0x264850)['toHaveProperty']('vendorKeysCount');}),test('WebSocketManager\x20helper\x20methods\x20work',async()=>{const _0x5a95ed=_0x4b3117,{WebSocketManager:_0x245577}=await import(_0x5a95ed(0x110)),{CONNECTION_STATE:_0x1ebf69}=await import('../../config/constants.js'),_0x5a13a3=new _0x245577(_0x5a95ed(0xee),0x1f90);expect(_0x5a13a3[_0x5a95ed(0x109)]())['toBe'](_0x1ebf69['DISCONNECTED']),expect(_0x5a13a3['isConnected']())[_0x5a95ed(0x10c)](![]),expect(_0x5a13a3[_0x5a95ed(0x114)]())['toBe'](null);const _0x676b03=_0x5a13a3['getStats']();expect(_0x676b03)['toHaveProperty']('state'),expect(_0x676b03)[_0x5a95ed(0x11d)]('sessionId'),expect(_0x676b03)[_0x5a95ed(0x11d)](_0x5a95ed(0xf5)),expect(_0x676b03)[_0x5a95ed(0x11d)](_0x5a95ed(0x12b)),expect(_0x676b03)[_0x5a95ed(0x11d)](_0x5a95ed(0xf1));}),test('MessageRouter\x20can\x20register\x20and\x20unregister\x20handlers',async()=>{const _0x16fb46=_0x4b3117,{MessageRouter:_0x1d93a2}=await import(_0x16fb46(0x128)),{WebSocketManager:_0x5847e5}=await import('../../api/websocket.js'),_0x1d22c8=new _0x5847e5('localhost',0x1f90),_0x4b1797=new _0x1d93a2(_0x1d22c8),_0x1ea22f=()=>{};expect(_0x4b1797['hasHandler'](_0x16fb46(0x11e)))[_0x16fb46(0x10c)](![]),_0x4b1797['registerHandler']('test-message',_0x1ea22f),expect(_0x4b1797[_0x16fb46(0xef)]('test-message'))['toBe'](!![]),_0x4b1797['unregisterHandler']('test-message'),expect(_0x4b1797[_0x16fb46(0xef)](_0x16fb46(0x11e)))['toBe'](![]);}),test('MessageRouter\x20middleware\x20helpers\x20create\x20valid\x20middleware',async()=>{const _0x43a406=_0x4b3117,{loggingMiddleware:_0xa8bda,timestampMiddleware:_0x3f8ecc,filterMiddleware:_0x1442c5}=await import('../../api/messageRouter.js'),_0x30f3e7=_0xa8bda();expect(typeof _0x30f3e7)['toBe']('function');const _0x47d391=_0x3f8ecc();expect(typeof _0x47d391)['toBe']('function');const _0x17aa57={'type':_0x43a406(0xf4)},_0x3ea09f=_0x47d391(_0x17aa57);expect(_0x3ea09f)[_0x43a406(0x11d)]('receivedAt'),expect(_0x3ea09f[_0x43a406(0x106)])['toBe']('test');const _0x245d0e=_0x1442c5(['allowed-type']);expect(typeof _0x245d0e)['toBe'](_0x43a406(0x100)),expect(_0x245d0e({'type':_0x43a406(0xea)}))['toBeTruthy'](),expect(_0x245d0e({'type':_0x43a406(0x127)}))[_0x43a406(0x10c)](null);}),test(_0x4b3117(0x111),async()=>{const _0x50dd6a=_0x4b3117,_0x2c00ce=await import(_0x50dd6a(0x123));expect(typeof _0x2c00ce['TIMING']['WEBSOCKET_RECONNECT_DELAY'])[_0x50dd6a(0x10c)](_0x50dd6a(0x102)),expect(typeof _0x2c00ce[_0x50dd6a(0xfa)][_0x50dd6a(0xec)])['toBe'](_0x50dd6a(0x102)),expect(typeof _0x2c00ce[_0x50dd6a(0xfe)][_0x50dd6a(0x10b)])[_0x50dd6a(0x10c)](_0x50dd6a(0x102)),expect(typeof _0x2c00ce['NETWORK'][_0x50dd6a(0xfd)])[_0x50dd6a(0x10c)](_0x50dd6a(0x102)),expect(typeof _0x2c00ce[_0x50dd6a(0xfe)]['HTTP_TIMEOUT'])[_0x50dd6a(0x10c)]('number'),expect(typeof _0x2c00ce[_0x50dd6a(0x104)]['MESSAGE_LIST_HEIGHT'])[_0x50dd6a(0x10c)](_0x50dd6a(0x102)),expect(typeof _0x2c00ce['UI_DIMENSIONS']['SIDEBAR_WIDTH'])['toBe']('number');});}),describe(a0_0x2213c7(0x103),()=>{const _0xb7be3a=a0_0x2213c7;test('MessageRouter\x20throws\x20on\x20invalid\x20handler',async()=>{const _0x55b481=a0_0x2de3,{MessageRouter:_0x43b262}=await import(_0x55b481(0x128)),{WebSocketManager:_0x17b1cd}=await import('../../api/websocket.js'),_0x3a305e=new _0x17b1cd(_0x55b481(0xee),0x1f90),_0x3308e7=new _0x43b262(_0x3a305e);expect(()=>{const _0xdc45e8=_0x55b481;_0x3308e7['registerHandler'](_0xdc45e8(0xf4),_0xdc45e8(0x112));})['toThrow']('Handler\x20must\x20be\x20a\x20function');}),test(_0xb7be3a(0x10e),async()=>{const _0x38ea53=_0xb7be3a,{MessageRouter:_0x2c459c}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x527c77}=await import(_0x38ea53(0x110)),_0x1ef468=new _0x527c77(_0x38ea53(0xee),0x1f90),_0x22278f=new _0x2c459c(_0x1ef468);expect(()=>{const _0x10456c=_0x38ea53;_0x22278f['use'](_0x10456c(0x112));})[_0x38ea53(0x11a)](_0x38ea53(0xf3));}),test('SessionManager\x20clear()\x20resets\x20all\x20state',async()=>{const _0x3bfa7b=_0xb7be3a,{SessionManager:_0x1d920d}=await import('../../api/session.js'),_0x36e11e=new _0x1d920d(_0x3bfa7b(0xee),0x1f90);_0x36e11e[_0x3bfa7b(0x12a)]=_0x3bfa7b(0xe9),_0x36e11e[_0x3bfa7b(0x117)]='/test/dir',_0x36e11e[_0x3bfa7b(0x11f)]=_0x3bfa7b(0x10a),_0x36e11e['vendorKeys']={'openai':'key'},expect(_0x36e11e[_0x3bfa7b(0x10d)]())[_0x3bfa7b(0x10c)](!![]),_0x36e11e['clear'](),expect(_0x36e11e['sessionId'])[_0x3bfa7b(0x10c)](null),expect(_0x36e11e[_0x3bfa7b(0x117)])[_0x3bfa7b(0x10c)](null),expect(_0x36e11e[_0x3bfa7b(0x11f)])[_0x3bfa7b(0x10c)](null),expect(_0x36e11e['vendorKeys'])['toEqual']({}),expect(_0x36e11e['isValid']())['toBe'](![]);}),test(_0xb7be3a(0x10f),async()=>{const _0x29f903=_0xb7be3a,{WebSocketManager:_0x37851e}=await import('../../api/websocket.js'),_0x23cb79=new _0x37851e(_0x29f903(0xee),0x1f90),_0x4c1f56=_0x23cb79['generateRequestId'](),_0x100a3b=_0x23cb79['generateRequestId'](),_0x460c19=_0x23cb79['generateRequestId']();expect(_0x4c1f56)[_0x29f903(0xfc)][_0x29f903(0x10c)](_0x100a3b),expect(_0x100a3b)['not'][_0x29f903(0x10c)](_0x460c19),expect(_0x4c1f56)[_0x29f903(0xfc)]['toBe'](_0x460c19),expect(_0x4c1f56)[_0x29f903(0xf0)](/^req-\d+-\d+$/),expect(_0x100a3b)['toMatch'](/^req-\d+-\d+$/),expect(_0x460c19)['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_0x4fa6a9=a0_0xfd36;function a0_0xfd36(_0xd8adab,_0x5d9d1a){_0xd8adab=_0xd8adab-0x144;const _0x255b31=a0_0x255b();let _0xfd367b=_0x255b31[_0xd8adab];if(a0_0xfd36['XqTuxv']===undefined){var _0x97c5fa=function(_0x44781e){const _0xa45248='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f8624='',_0x2f00cf='';for(let _0x8728ab=0x0,_0x3dba18,_0x4d5d61,_0x2ffbdf=0x0;_0x4d5d61=_0x44781e['charAt'](_0x2ffbdf++);~_0x4d5d61&&(_0x3dba18=_0x8728ab%0x4?_0x3dba18*0x40+_0x4d5d61:_0x4d5d61,_0x8728ab++%0x4)?_0x4f8624+=String['fromCharCode'](0xff&_0x3dba18>>(-0x2*_0x8728ab&0x6)):0x0){_0x4d5d61=_0xa45248['indexOf'](_0x4d5d61);}for(let _0x5b5e02=0x0,_0x5afffe=_0x4f8624['length'];_0x5b5e02<_0x5afffe;_0x5b5e02++){_0x2f00cf+='%'+('00'+_0x4f8624['charCodeAt'](_0x5b5e02)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f00cf);};a0_0xfd36['LSQrOF']=_0x97c5fa,a0_0xfd36['ekmNnw']={},a0_0xfd36['XqTuxv']=!![];}const _0x16391e=_0x255b31[0x0],_0x3b6691=_0xd8adab+_0x16391e,_0x149eee=a0_0xfd36['ekmNnw'][_0x3b6691];return!_0x149eee?(_0xfd367b=a0_0xfd36['LSQrOF'](_0xfd367b),a0_0xfd36['ekmNnw'][_0x3b6691]=_0xfd367b):_0xfd367b=_0x149eee,_0xfd367b;}(function(_0x6b4a38,_0x4ba0e7){const _0x32ad16=a0_0xfd36,_0x2b74aa=_0x6b4a38();while(!![]){try{const _0x47cdf4=-parseInt(_0x32ad16(0x150))/0x1+-parseInt(_0x32ad16(0x169))/0x2*(-parseInt(_0x32ad16(0x174))/0x3)+-parseInt(_0x32ad16(0x17f))/0x4*(-parseInt(_0x32ad16(0x160))/0x5)+-parseInt(_0x32ad16(0x168))/0x6+-parseInt(_0x32ad16(0x161))/0x7*(parseInt(_0x32ad16(0x17b))/0x8)+-parseInt(_0x32ad16(0x149))/0x9*(-parseInt(_0x32ad16(0x15b))/0xa)+parseInt(_0x32ad16(0x175))/0xb;if(_0x47cdf4===_0x4ba0e7)break;else _0x2b74aa['push'](_0x2b74aa['shift']());}catch(_0x180ac5){_0x2b74aa['push'](_0x2b74aa['shift']());}}}(a0_0x255b,0x55094));import{describe,test,expect}from'@jest/globals';function a0_0x255b(){const _0x3258c1=['mJK5mJa1z2zQreHZ','twvZC2fNzsbnyw5Hz2vTzw50ic0Gv2vIu29JA2v0iev2zw50ieHHBMrSzxjZ','u1Ltvevn','CMvWzwf0','v1nFtuvtu0fhrv9uwvbfigLUy2X1zgvZig1LC3nHz2uGzxzLBNrZ','v2vIu29JA2v0twfUywDLCG','quDftLrFtu9erv9dsefor0ve','mtaXmtqZt3Pyr1fj','tufyx01fu1nbr0vFtevor1ri','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','BgvUz3rO','Dg9mB3DLCKnHC2u','Dg9nyxrJAa','t3jJAgvZDhjHDg9YigvUzhbVAw50ignHBIbIzsb1C2vKigzVCIbTzxnZywDLig9WzxjHDgLVBNm','Bg9JywXOB3n0','BNvTyMvY','rvHfq1vusu9ox1nut1bqruq','Dg9czuDYzwf0zxjuAgfUt3jfCxvHBa','mZbAvxfwq1O','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','C3LZDgvTlw5VDgLMAwnHDgLVBG','u2vZC2LVBK1HBMfNzxi','tufyx01fu1nbr0vtx0rju1bmqvK','nta4nZq1AxPbDwvK','mtu1mJGXz1HZywDx','tuvtu0fhrv9st0Xf','DxnLtwvZC2fNzunVDw50ihjLDhvYBNmGzxHWzwn0zwqGAw50zxjMywnLihnOyxbL','tuvtu0fhrv9dt05gsuC','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW','t1jdsevtvfjbve9s','uefhrv9tsvPf','mZyYmtq5mNDLCKrhwa','nte1ndbLzgXZvu8','Dg9czuXLC3nuAgfUt3jfCxvHBa','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbTzxnZywDLigXLBMD0Aa','tuvtu0fhrv9brerfra','qvntsvnuqu5u','uefhsu5bveLptIbSAw1PDcbKB2vZig5VDcbLEgnLzwqGtufyx1bbr0vFu0LArq','C3LZDgvT','DxnLCI1TzxnZywDL','l2fWAs9VCMnOzxn0CMf0B3i','twvZC2fNzsbnyw5Hz2vTzw50ic0Gq29UC3rHBNrZ','AgfZsgfUzgXLCG','mZLfBLzywfy','ntKYntK0mLbUs0vgEG','tufyx1bbr0vFu0LArq','zNvUy3rPB24','zgvMyxvSDa','twvZC2fNzsbnyw5Hz2vTzw50ic0Gsw50zwDYyxrPB24','lI4VlI4VyxbPl3nLC3nPB24UANm','og1xu2HyyG','tuvtu0fhrv9dt05gsuCGzw5MB3jJzxmGBwf4Aw11BsbKAxnWBgf5ig1LC3nHz2vZ','ywDLBNqTCMvZCg9UC2u','Dg9czuDYzwf0zxjuAgfU','ngz5wfrWAW','twvZC2fNzvjVDxrLCG','tuvtu0fhrv9uwvbfignVBNn0yw50CYbHCMuGzgvMAw5Lza','ywDLBNrFBw9Kzv9JAgfUz2vK','Dg9czq','Dg9czurLzMLUzwq'];a0_0x255b=function(){return _0x3258c1;};return a0_0x255b();}describe('Message\x20Management\x20-\x20Imports',()=>{test('useMessages hook can be imported',async()=>{const _0x1678db=a0_0xfd36,{useMessages:_0x4f8624}=await import('../../state/useMessages.js');expect(_0x4f8624)[_0x1678db(0x148)](),expect(typeof _0x4f8624)[_0x1678db(0x147)](_0x1678db(0x177));}),test('useMessages is default export',async()=>{const _0x26511a=a0_0xfd36,module=await import('../../state/useMessages.js');expect(module['default'])['toBeDefined'](),expect(typeof module[_0x26511a(0x178)])[_0x26511a(0x147)]('function'),expect(module[_0x26511a(0x178)])['toBe'](module['useMessages']);}),test('useMessageCount helper hook can be imported',async()=>{const _0x9de2a3=a0_0xfd36,{useMessageCount:_0x2f00cf}=await import('../../state/useMessages.js');expect(_0x2f00cf)[_0x9de2a3(0x148)](),expect(typeof _0x2f00cf)[_0x9de2a3(0x147)](_0x9de2a3(0x177));});}),describe(a0_0x4fa6a9(0x172),()=>{const _0x598d62=a0_0x4fa6a9;test('MESSAGE_ROLE\x20constants\x20are\x20defined',async()=>{const _0xfc36b1=a0_0xfd36,{MESSAGE_ROLE:_0x8728ab}=await import('../../config/constants.js');expect(_0x8728ab)[_0xfc36b1(0x148)](),expect(_0x8728ab['USER'])[_0xfc36b1(0x147)]('user'),expect(_0x8728ab[_0xfc36b1(0x16d)])[_0xfc36b1(0x147)]('assistant'),expect(_0x8728ab['SYSTEM'])[_0xfc36b1(0x147)](_0xfc36b1(0x16f));}),test(_0x598d62(0x145),async()=>{const _0x52f318=_0x598d62,{MESSAGE_TYPE:_0x3dba18}=await import('../../config/constants.js');expect(_0x3dba18)[_0x52f318(0x148)](),expect(_0x3dba18['USER_MESSAGE'])['toBe'](_0x52f318(0x170)),expect(_0x3dba18['AGENT_RESPONSE'])[_0x52f318(0x147)](_0x52f318(0x17d)),expect(_0x3dba18['SYSTEM_NOTIFICATION'])['toBe'](_0x52f318(0x15d));}),test('MESSAGE_CONFIG\x20constants\x20are\x20defined',async()=>{const _0x15648e=_0x598d62,{MESSAGE_CONFIG:_0x4d5d61}=await import(_0x15648e(0x165));expect(_0x4d5d61)[_0x15648e(0x148)](),expect(_0x4d5d61[_0x15648e(0x151)])['toBeDefined'](),expect(_0x4d5d61['MAX_MESSAGES_DISPLAY'])[_0x15648e(0x148)](),expect(typeof _0x4d5d61[_0x15648e(0x151)])[_0x15648e(0x147)]('number'),expect(typeof _0x4d5d61[_0x15648e(0x15f)])[_0x15648e(0x147)](_0x15648e(0x158));}),test('PAGINATION\x20constants\x20are\x20defined',async()=>{const _0x1942ea=_0x598d62,{PAGINATION:_0x2ffbdf}=await import('../../config/constants.js');expect(_0x2ffbdf)[_0x1942ea(0x148)](),expect(_0x2ffbdf[_0x1942ea(0x167)])[_0x1942ea(0x148)](),expect(_0x2ffbdf[_0x1942ea(0x176)])['toBeDefined'](),expect(typeof _0x2ffbdf['PAGE_SIZE'])[_0x1942ea(0x147)]('number'),expect(typeof _0x2ffbdf[_0x1942ea(0x176)])['toBe']('number');}),test(_0x598d62(0x14d),async()=>{const _0x23abdd=_0x598d62,{WS_MESSAGE_TYPE:_0x5b5e02}=await import('../../config/constants.js');expect(_0x5b5e02)['toBeDefined'](),expect(_0x5b5e02['MESSAGE_ADDED'])[_0x23abdd(0x147)]('message_added'),expect(_0x5b5e02[_0x23abdd(0x14f)])[_0x23abdd(0x147)](_0x23abdd(0x146)),expect(_0x5b5e02[_0x23abdd(0x159)])['toBe']('execution_stopped');});}),describe(a0_0x4fa6a9(0x179),()=>{test('useMessages\x20hook\x20integrates\x20with\x20Session\x20and\x20MessageRouter',async()=>{const _0xcc13dd=a0_0xfd36,{useMessages:_0x5afffe}=await import('../../state/useMessages.js'),{SessionManager:_0x357d04}=await import(_0xcc13dd(0x17a)),{MessageRouter:_0x37f08e}=await import(_0xcc13dd(0x152)),{WebSocketManager:_0x5a0c9a}=await import('../../api/websocket.js'),_0x4d76db=new _0x357d04(_0xcc13dd(0x157),0x1f90),_0x56513b=new _0x5a0c9a(_0xcc13dd(0x157),0x1f90),_0xbab412=new _0x37f08e(_0x56513b);expect(_0x4d76db)[_0xcc13dd(0x148)](),expect(_0xbab412)[_0xcc13dd(0x148)](),expect(typeof _0x5afffe)[_0xcc13dd(0x147)]('function');}),test('Full message management stack can be imported together',async()=>{const _0x1c50ce=a0_0xfd36,[_0x4914e0,_0x58d30e,_0x4d556e,_0x493e20,_0x14bb89]=await Promise['all']([import('../../config/constants.js'),import('../../api/session.js'),import(_0x1c50ce(0x15c)),import('../../api/messageRouter.js'),import('../../state/useMessages.js')]);expect(_0x4914e0[_0x1c50ce(0x162)])['toBeDefined'](),expect(_0x4914e0['MESSAGE_TYPE'])[_0x1c50ce(0x148)](),expect(_0x4914e0[_0x1c50ce(0x164)])[_0x1c50ce(0x148)](),expect(_0x58d30e[_0x1c50ce(0x15e)])[_0x1c50ce(0x148)](),expect(_0x4d556e[_0x1c50ce(0x14e)])[_0x1c50ce(0x148)](),expect(_0x493e20[_0x1c50ce(0x144)])[_0x1c50ce(0x148)](),expect(_0x14bb89['useMessages'])['toBeDefined']();});}),describe('Message\x20Management\x20-\x20API\x20Endpoints\x20Validation',()=>{const _0x3ebfd5=a0_0x4fa6a9;test(_0x3ebfd5(0x156),async()=>{const _0x450d1c=_0x3ebfd5,{API_ENDPOINTS:_0xdea0a3}=await import(_0x450d1c(0x165));expect(_0xdea0a3['ORCHESTRATOR'])['toBeDefined'](),expect(_0xdea0a3[_0x450d1c(0x166)])['toBe'](_0x450d1c(0x171));}),test('Message\x20API\x20endpoints\x20follow\x20RESTful\x20pattern',async()=>{const _0x22ec41=_0x3ebfd5,{API_ENDPOINTS:_0x48995a}=await import(_0x22ec41(0x165));expect(_0x48995a[_0x22ec41(0x166)])[_0x22ec41(0x155)](/^\/api\//);});}),describe('Message\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{const _0x2f610b=a0_0x4fa6a9;test('useMessages\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x371351=a0_0xfd36,{useMessages:_0x3f815b}=await import('../../state/useMessages.js');expect(_0x3f815b[_0x371351(0x153)])[_0x371351(0x147)](0x3);}),test(_0x2f610b(0x163),async()=>{const {useMessageCount:_0x597962}=await import('../../state/useMessages.js');expect(_0x597962['length'])['toBe'](0x1);});}),describe('Message\x20Management\x20-\x20Constants\x20Validation',()=>{test('MESSAGE_CONFIG has sensible defaults',async()=>{const _0x22158c=a0_0xfd36,{MESSAGE_CONFIG:_0x7db91e}=await import(_0x22158c(0x165));expect(_0x7db91e['MAX_MESSAGE_LENGTH'])[_0x22158c(0x17e)](0x0),expect(_0x7db91e['MAX_MESSAGE_LENGTH'])['toBeLessThanOrEqual'](0x186a0),expect(_0x7db91e[_0x22158c(0x15f)])['toBeGreaterThan'](0x0),expect(_0x7db91e['MAX_MESSAGES_DISPLAY'])[_0x22158c(0x16a)](0x2710);}),test('PAGINATION has sensible defaults',async()=>{const _0x44d066=a0_0xfd36,{PAGINATION:_0x157d8}=await import(_0x44d066(0x165));expect(_0x157d8[_0x44d066(0x167)])[_0x44d066(0x17e)](0x0),expect(_0x157d8[_0x44d066(0x167)])['toBeLessThanOrEqual'](0x3e8),expect(_0x157d8[_0x44d066(0x176)])[_0x44d066(0x15a)](_0x157d8[_0x44d066(0x167)]);}),test('MESSAGE_ROLE\x20values\x20are\x20lowercase',async()=>{const _0x371f8d=a0_0xfd36,{MESSAGE_ROLE:_0x4fca1b}=await import('../../config/constants.js');expect(_0x4fca1b['USER'])['toBe'](_0x4fca1b['USER'][_0x371f8d(0x154)]()),expect(_0x4fca1b['ASSISTANT'])['toBe'](_0x4fca1b[_0x371f8d(0x16d)][_0x371f8d(0x154)]()),expect(_0x4fca1b['SYSTEM'])['toBe'](_0x4fca1b[_0x371f8d(0x14b)]['toLowerCase']());});}),describe(a0_0x4fa6a9(0x14a),()=>{test('MessageRouter\x20has\x20message\x20event\x20handlers\x20registered',async()=>{const _0x319ea3=a0_0xfd36,{MessageRouter:_0xc97724}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x3278fd}=await import('../../api/websocket.js'),{WS_MESSAGE_TYPE:_0xd7e15b}=await import(_0x319ea3(0x165)),_0x456181=new _0x3278fd(_0x319ea3(0x157),0x1f90),_0x7a6be5=new _0xc97724(_0x456181);expect(_0x7a6be5['hasHandler'](_0xd7e15b[_0x319ea3(0x16c)]))['toBe'](!![]),expect(_0x7a6be5[_0x319ea3(0x173)](_0xd7e15b[_0x319ea3(0x14f)]))['toBe'](!![]);});}),describe('Message\x20Management\x20-\x20Error\x20Handling',()=>{const _0x2974fb=a0_0x4fa6a9;test(_0x2974fb(0x16b),async()=>{const _0x4d71ef=_0x2974fb,{MESSAGE_CONFIG:_0x46cb30}=await import(_0x4d71ef(0x165));expect(_0x46cb30[_0x4d71ef(0x151)])['toBeDefined'](),expect(typeof _0x46cb30[_0x4d71ef(0x151)])[_0x4d71ef(0x147)](_0x4d71ef(0x158));const _0x44c9ff='a'[_0x4d71ef(0x14c)](_0x46cb30[_0x4d71ef(0x151)]+0x1);expect(_0x44c9ff['length'])['toBeGreaterThan'](_0x46cb30['MAX_MESSAGE_LENGTH']);}),test(_0x2974fb(0x17c),async()=>{const _0x8afc2=_0x2974fb,{MESSAGE_CONFIG:_0x273076}=await import('../../config/constants.js');expect(_0x273076[_0x8afc2(0x15f)])[_0x8afc2(0x148)](),expect(typeof _0x273076[_0x8afc2(0x15f)])[_0x8afc2(0x147)]('number'),expect(_0x273076['MAX_MESSAGES_DISPLAY'])[_0x8afc2(0x17e)](0x0);});}),describe('Message\x20Management\x20-\x20Pagination\x20Logic',()=>{const _0x38b094=a0_0x4fa6a9;test('PAGINATION\x20supports\x20offset-based\x20pagination',async()=>{const _0x1b4db3=a0_0xfd36,{PAGINATION:_0x31939a}=await import(_0x1b4db3(0x165)),_0x2d260b=0x0,_0x3f151a=_0x2d260b*_0x31939a[_0x1b4db3(0x167)];expect(_0x3f151a)['toBe'](0x0);const _0x1cf14a=0x1,_0x469beb=_0x1cf14a*_0x31939a['PAGE_SIZE'];expect(_0x469beb)['toBe'](_0x31939a['PAGE_SIZE']);}),test(_0x38b094(0x16e),async()=>{const _0x4f9ed8=_0x38b094,{PAGINATION:_0x1a8150}=await import('../../config/constants.js'),_0x4dd8f8=0x3e8,_0x229e06=Math['min'](_0x4dd8f8,_0x1a8150[_0x4f9ed8(0x176)]);expect(_0x229e06)[_0x4f9ed8(0x16a)](_0x1a8150[_0x4f9ed8(0x176)]);});});
|
|
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
|
-
const a0_0x2d37d9=a0_0x4db0;(function(_0x20e291,_0x886170){const _0x289115=a0_0x4db0,_0x1501cb=_0x20e291();while(!![]){try{const _0x24cb64=parseInt(_0x289115(0x147))/0x1+parseInt(_0x289115(0x148))/0x2*(parseInt(_0x289115(0x13d))/0x3)+-parseInt(_0x289115(0x16c))/0x4*(-parseInt(_0x289115(0x15c))/0x5)+-parseInt(_0x289115(0x15f))/0x6*(parseInt(_0x289115(0x167))/0x7)+parseInt(_0x289115(0x170))/0x8*(-parseInt(_0x289115(0x137))/0x9)+parseInt(_0x289115(0x15d))/0xa+parseInt(_0x289115(0x169))/0xb;if(_0x24cb64===_0x886170)break;else _0x1501cb['push'](_0x1501cb['shift']());}catch(_0x267be5){_0x1501cb['push'](_0x1501cb['shift']());}}}(a0_0x6291,0xa7c69));function a0_0x4db0(_0x43cdf8,_0x1230ea){_0x43cdf8=_0x43cdf8-0x12f;const _0x6291a4=a0_0x6291();let _0x4db074=_0x6291a4[_0x43cdf8];if(a0_0x4db0['QoraCv']===undefined){var _0x562bfe=function(_0x257a2a){const _0x499f22='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f6ed9='',_0x18fded='';for(let _0x30d2c6=0x0,_0x10dad5,_0xc851f8,_0x336ba6=0x0;_0xc851f8=_0x257a2a['charAt'](_0x336ba6++);~_0xc851f8&&(_0x10dad5=_0x30d2c6%0x4?_0x10dad5*0x40+_0xc851f8:_0xc851f8,_0x30d2c6++%0x4)?_0x3f6ed9+=String['fromCharCode'](0xff&_0x10dad5>>(-0x2*_0x30d2c6&0x6)):0x0){_0xc851f8=_0x499f22['indexOf'](_0xc851f8);}for(let _0xc21e56=0x0,_0x56ca92=_0x3f6ed9['length'];_0xc21e56<_0x56ca92;_0xc21e56++){_0x18fded+='%'+('00'+_0x3f6ed9['charCodeAt'](_0xc21e56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18fded);};a0_0x4db0['KFPmlk']=_0x562bfe,a0_0x4db0['gcvaBX']={},a0_0x4db0['QoraCv']=!![];}const _0x591650=_0x6291a4[0x0],_0xea174c=_0x43cdf8+_0x591650,_0x516576=a0_0x4db0['gcvaBX'][_0xea174c];return!_0x516576?(_0x4db074=a0_0x4db0['KFPmlk'](_0x4db074),a0_0x4db0['gcvaBX'][_0xea174c]=_0x4db074):_0x4db074=_0x516576,_0x4db074;}import{describe,test,expect}from'@jest/globals';function a0_0x6291(){const _0x1c74fa=['Dg9dB250ywLU','CMvHzf9MAwXL','nuvoqMHPwq','odeYndbpCffmshy','vg9VBhmGtwfUywDLBwvUDcaTifDLyLnVy2TLDcbfDMvUDcbiyw5KBgvYCW','mtG2nZK4whLnwxnq','vg9VBcbYzxn1BhrZignHBIbIzsbZDg9YzwqGyNKGzxHLy3v0Aw9UieLe','AgfZ','uMvHzcbJB250zw50CYbVzIbHigzPBgu','zNvUy3rPB24','ywLFyxnZAxn0yw50','Dg9czurLzMLUzwq','z2v0','mJe3v1PkyNvw','Dg9fCxvHBa','ndG5mdq3ounsD0zsDW','BMfTzq','ve9ptf9dqvrfr09swsb2ywX1zxmGBwf0y2GGzxHWzwn0zwqGzM9YBwf0','mtyYmtu0mfbnC0zMqG','DgvYBwLUywW','vg9VBhmGtwfUywDLBwvUDcaTienHDgvNB3j5ienVDw50CW','BM93','nda0odi2nhfftMTKra','ve9ptf9dqvrfr09swsb2ywX1zxmGyxjLigXVD2vYy2fZzq','zMLSDgvY','vg9VBhmGtwfUywDLBwvUDcaTienVBNn0yw50CYbwywXPzgf0Aw9U','Dg9czq','C2L6zq','q09mtefct1jbveLptG','Dg9mB3DLCKnHC2u','zgf0yq','DMfSDwvZ','vg9VBhmGtwfUywDLBwvUDcaTifrVB2WGq2f0zwDVCML6yxrPB24','Dg9nyxrJAa','ve9ptf9dqvrfr09swsbJB25ZDgfUDhmGyxjLigrLzMLUzwq','zxHLyY0Y','qvvut01bveLptG','rxHLy3v0Aw9Uihn0yxrLignHBIb0CMfJAYbTDwX0AxbSzsb0B29SCW','zMLSzq','vg9VBhmGtwfUywDLBwvUDcaTiev4zwn1DgLVBIbtDgf0zsbuCMfJA2LUzW','BgvUz3rO','vvrjteLuwq','ve9ptf9dqvrfr09swsbJyw4GyMuGDxnLzcb0BYbMAwX0zxiGDg9VBhmGyNKGy2f0zwDVCNK','vg9VBhmGzw5KCg9PBNqGzM9SBg93CYbsrvnuzNvSihbHDhrLCM4','BwfW','vg9VBhmGqvbjigvUzhbVAw50igLZigrLzMLUzwq','t1jdsevtvfjbve9s','ow1xswrzyq','qu5btfLtsvm','v2vIu29JA2v0twfUywDLCG','lI4VlI4VyxbPl3DLyNnVy2TLDc5QCW','Aw5JBhvKzxm','vg9VBcbZzwfYy2GGC2HVDwXKihDVCMSGD2L0AcbUyw1LigfUzcbKzxnJCMLWDgLVBG','mZm0ntiYmMnssKfxrq','y2f0zwDVCNK','vg9VBhmGtwfUywDLBwvUDcaTieLUDgvNCMf0Aw9U','zxHLy3v0zv9JB21Tyw5K','vg9VBhmGtwfUywDLBwvUDcaTiefqssbfBMrWB2LUDhmGvMfSAwrHDgLVBG','v3jPDguGzgf0ysb0BYbHigzPBgu','vg9VBhmGy2fUigjLigzPBhrLCMvKigj5ig11BhrPCgXLignYAxrLCMLH','vg9VBcbVCgvYyxrPB25ZihvZzsbVCMnOzxn0CMf0B3iGzw5KCg9PBNq','zxHLyY0X','zgvSzxrL','mtG1mtKZrLncy1PW','mMLdCKnVAq','lI4VlI4VyxbPl3nLC3nPB24UANm','Bg9JywXOB3n0','zgvMyxvSDa','ugvYzM9YBsbZDgf0AwmGy29KzsbHBMfSExnPCW','twvZC2fNzvjVDxrLCIbOyxmGDg9VBcbLDMvUDcbOyw5KBgvYCYbYzwDPC3rLCMvK','lI4VlI4VyxbPl21LC3nHz2vsB3v0zxiUANm','l2fWAs9VCMnOzxn0CMf0B3i','qvbjx0vorfbpsu5uuW','zw5HyMXLza','yw5HBhL6zv9JB2rL','zMLSzsbJB250zw50CW','D3jPDgvFzMLSzq','u1Ltvevn','DxnLvg9VBhmGAg9VAYbPBNrLz3jHDgvZihDPDgGGu2vZC2LVBIbHBMqGtwvZC2fNzvjVDxrLCG','ve9ptfm','lI4VlI4VC3rHDguVDxnLvg9VBhmUANm','lI4VlI4Vy29UzMLNl2nVBNn0yw50CY5QCW'];a0_0x6291=function(){return _0x1c74fa;};return a0_0x6291();}describe('Tools\x20Management\x20-\x20Imports',()=>{test('useTools hook can be imported',async()=>{const _0x32f2c7=a0_0x4db0,{useTools:_0x3f6ed9}=await import(_0x32f2c7(0x158));expect(_0x3f6ed9)[_0x32f2c7(0x165)](),expect(typeof _0x3f6ed9)[_0x32f2c7(0x174)](_0x32f2c7(0x163));}),test('useTools is default export',async()=>{const _0x193e32=a0_0x4db0,module=await import('../../state/useTools.js');expect(module[_0x193e32(0x14b)])[_0x193e32(0x165)](),expect(typeof module['default'])['toBe']('function'),expect(module[_0x193e32(0x14b)])['toBe'](module['useTools']);});}),describe('Tools\x20Management\x20-\x20Constants',()=>{const _0x3e77c5=a0_0x4db0;test(_0x3e77c5(0x17c),async()=>{const _0x1b2275=_0x3e77c5,{TOOL_CATEGORY:_0x18fded}=await import('../../config/constants.js');expect(_0x18fded)['toBeDefined'](),expect(_0x18fded['SYSTEM'])['toBeDefined'](),expect(_0x18fded[_0x1b2275(0x17e)])['toBeDefined'](),expect(_0x18fded['ANALYSIS'])[_0x1b2275(0x165)](),expect(_0x18fded[_0x1b2275(0x131)])[_0x1b2275(0x165)](),expect(_0x18fded[_0x1b2275(0x176)])[_0x1b2275(0x165)](),expect(_0x18fded['AI'])['toBeDefined']();}),test(_0x3e77c5(0x171),async()=>{const _0x293a82=_0x3e77c5,{TOOL_CATEGORY:_0x30d2c6}=await import('../../config/constants.js');expect(_0x30d2c6['SYSTEM'])[_0x293a82(0x174)](_0x30d2c6['SYSTEM'][_0x293a82(0x177)]()),expect(_0x30d2c6[_0x293a82(0x17e)])['toBe'](_0x30d2c6['AUTOMATION']['toLowerCase']()),expect(_0x30d2c6[_0x293a82(0x138)])[_0x293a82(0x174)](_0x30d2c6[_0x293a82(0x138)]['toLowerCase']()),expect(_0x30d2c6[_0x293a82(0x131)])[_0x293a82(0x174)](_0x30d2c6['UTILITY']['toLowerCase']());}),test(_0x3e77c5(0x135),async()=>{const _0x45ff05=_0x3e77c5,{API_ENDPOINTS:_0x10dad5}=await import(_0x45ff05(0x159));expect(_0x10dad5[_0x45ff05(0x157)])[_0x45ff05(0x165)](),expect(_0x10dad5['TOOLS'])[_0x45ff05(0x174)]('/api/tools');}),test('Orchestrator\x20endpoint\x20is\x20used\x20for\x20tool\x20operations',async()=>{const _0x70d922=_0x3e77c5,{API_ENDPOINTS:_0xc851f8}=await import('../../config/constants.js');expect(_0xc851f8[_0x70d922(0x136)])[_0x70d922(0x165)](),expect(_0xc851f8[_0x70d922(0x136)])['toBe'](_0x70d922(0x14f));});}),describe(a0_0x2d37d9(0x13f),()=>{const _0x43dab4=a0_0x2d37d9;test(_0x43dab4(0x156),async()=>{const _0x43b686=_0x43dab4,{useTools:_0x336ba6}=await import('../../state/useTools.js'),{SessionManager:_0xc21e56}=await import('../../api/session.js'),{MessageRouter:_0x56ca92}=await import('../../api/messageRouter.js'),{WebSocketManager:_0x16d0f2}=await import(_0x43b686(0x13a)),_0x3b03ab=new _0xc21e56('localhost',0x1f90),_0x3a3e29=new _0x16d0f2(_0x43b686(0x14a),0x1f90),_0x1489dd=new _0x56ca92(_0x3a3e29);expect(_0x3b03ab)['toBeDefined'](),expect(_0x1489dd)[_0x43b686(0x165)](),expect(typeof _0x336ba6)['toBe'](_0x43b686(0x163));}),test('Full tools management stack can be imported together',async()=>{const _0x2f59bf=_0x43dab4,[_0x1e4f78,_0x2211d0,_0x598193,_0x3d98d0,_0x1d2b6b]=await Promise['all']([import('../../config/constants.js'),import(_0x2f59bf(0x149)),import(_0x2f59bf(0x13a)),import(_0x2f59bf(0x14e)),import(_0x2f59bf(0x158))]);expect(_0x1e4f78['TOOL_CATEGORY'])[_0x2f59bf(0x165)](),expect(_0x1e4f78[_0x2f59bf(0x150)])[_0x2f59bf(0x165)](),expect(_0x2211d0['SessionManager'])[_0x2f59bf(0x165)](),expect(_0x598193[_0x2f59bf(0x139)])['toBeDefined'](),expect(_0x3d98d0['MessageRouter'])['toBeDefined'](),expect(_0x1d2b6b['useTools'])[_0x2f59bf(0x165)]();});}),describe(a0_0x2d37d9(0x141),()=>{const _0x1a7b49=a0_0x2d37d9;test(_0x1a7b49(0x133),async()=>{const _0x4503fc=_0x1a7b49,{API_ENDPOINTS:_0x487c7a}=await import('../../config/constants.js');expect(_0x487c7a[_0x4503fc(0x157)])['toMatch'](/^\/api\//),expect(_0x487c7a[_0x4503fc(0x157)])[_0x4503fc(0x174)]('/api/tools');}),test(_0x1a7b49(0x144),async()=>{const _0x1133fa=_0x1a7b49,{API_ENDPOINTS:_0x199fc6}=await import('../../config/constants.js');expect(_0x199fc6['ORCHESTRATOR'])['toBeDefined'](),expect(_0x199fc6[_0x1133fa(0x136)])[_0x1133fa(0x174)](_0x1133fa(0x14f));});}),describe('Tools\x20Management\x20-\x20Hook\x20Interface\x20Verification',()=>{test('useTools\x20returns\x20expected\x20interface\x20shape',async()=>{const _0x1a0f33=a0_0x4db0,{useTools:_0x13e8fb}=await import(_0x1a0f33(0x158));expect(_0x13e8fb['length'])['toBe'](0x3);});}),describe(a0_0x2d37d9(0x173),()=>{const _0x3cf61c=a0_0x2d37d9;test('TOOL_CATEGORY\x20includes\x20all\x20major\x20categories',async()=>{const _0x1f3a97=a0_0x4db0,{TOOL_CATEGORY:_0x239eb6}=await import('../../config/constants.js'),_0x42c1ea=Object['keys'](_0x239eb6);expect(_0x42c1ea)['toContain']('SYSTEM'),expect(_0x42c1ea)['toContain']('AUTOMATION'),expect(_0x42c1ea)['toContain']('ANALYSIS'),expect(_0x42c1ea)['toContain'](_0x1f3a97(0x131)),expect(_0x42c1ea)[_0x1f3a97(0x15a)]('COLLABORATION'),expect(_0x42c1ea)[_0x1f3a97(0x15a)]('AI');}),test(_0x3cf61c(0x16b),async()=>{const _0x506197=_0x3cf61c,{TOOL_CATEGORY:_0x266f8f}=await import(_0x506197(0x159));expect(_0x266f8f['SYSTEM'])[_0x506197(0x17b)](/^[a-z_]+$/),expect(_0x266f8f[_0x506197(0x17e)])[_0x506197(0x17b)](/^[a-z_]+$/),expect(_0x266f8f['ANALYSIS'])[_0x506197(0x17b)](/^[a-z_]+$/),expect(_0x266f8f[_0x506197(0x131)])[_0x506197(0x17b)](/^[a-z_]+$/);});}),describe(a0_0x2d37d9(0x15e),()=>{const _0x707c9e=a0_0x2d37d9;test(_0x707c9e(0x14d),async()=>{const _0x4f7518=_0x707c9e,{MessageRouter:_0xb08e98}=await import(_0x4f7518(0x14e)),{WebSocketManager:_0x40c1e3}=await import(_0x4f7518(0x13a)),_0x4620f8=new _0x40c1e3(_0x4f7518(0x14a),0x1f90),_0x457dc5=new _0xb08e98(_0x4620f8);expect(_0x457dc5['hasHandler'])[_0x4f7518(0x165)](),expect(typeof _0x457dc5['hasHandler'])['toBe']('function');});}),describe(a0_0x2d37d9(0x17a),()=>{const _0x5453f0=a0_0x2d37d9;test(_0x5453f0(0x132),async()=>{const _0xf15047=_0x5453f0,{TOOL_CATEGORY:_0x401180}=await import('../../config/constants.js'),_0xba6403=[{'name':_0xf15047(0x140),'category':_0x401180[_0xf15047(0x155)]},{'name':_0xf15047(0x16d),'category':_0x401180[_0xf15047(0x155)]},{'name':'analyze_code','category':_0x401180['ANALYSIS']},{'name':'web_search','category':_0x401180[_0xf15047(0x131)]},{'name':_0xf15047(0x164),'category':_0x401180['AI']}],_0x56f63a=_0xba6403[_0xf15047(0x172)](_0x597f9=>_0x597f9[_0xf15047(0x13e)]===_0x401180['SYSTEM']),_0x18152b=_0xba6403['filter'](_0x39b4c1=>_0x39b4c1[_0xf15047(0x13e)]===_0x401180[_0xf15047(0x138)]),_0x2b05f5=_0xba6403['filter'](_0xb387bb=>_0xb387bb['category']===_0x401180['UTILITY']),_0x2cf90a=_0xba6403[_0xf15047(0x172)](_0x572b77=>_0x572b77['category']===_0x401180['AI']);expect(_0x56f63a['length'])['toBe'](0x2),expect(_0x18152b[_0xf15047(0x130)])['toBe'](0x1),expect(_0x2b05f5[_0xf15047(0x130)])[_0xf15047(0x174)](0x1),expect(_0x2cf90a['length'])[_0xf15047(0x174)](0x1),expect(_0x56f63a[0x0][_0xf15047(0x16a)])[_0xf15047(0x174)](_0xf15047(0x140)),expect(_0x18152b[0x0][_0xf15047(0x16a)])['toBe']('analyze_code');});}),describe('Tools\x20Management\x20-\x20Tool\x20Search',()=>{const _0x36bd7f=a0_0x2d37d9;test(_0x36bd7f(0x13c),async()=>{const _0x11cc97=_0x36bd7f,_0x30058e=[{'name':'read_file','description':_0x11cc97(0x162)},{'name':_0x11cc97(0x154),'description':_0x11cc97(0x142)},{'name':'analyze_code','description':_0x11cc97(0x14c)}],_0x40a18f=_0x477d16=>{const _0x11646d=_0x11cc97,_0x5c7a86=_0x477d16[_0x11646d(0x177)]();return _0x30058e[_0x11646d(0x172)](_0x3e227b=>_0x3e227b[_0x11646d(0x16a)]?.['toLowerCase']()[_0x11646d(0x13b)](_0x5c7a86)||_0x3e227b['description']?.['toLowerCase']()[_0x11646d(0x13b)](_0x5c7a86));},_0x4f66ef=_0x40a18f(_0x11cc97(0x180));expect(_0x4f66ef[_0x11cc97(0x130)])[_0x11cc97(0x174)](0x2),expect(_0x4f66ef['map'](_0x2c2437=>_0x2c2437[_0x11cc97(0x16a)]))['toContain'](_0x11cc97(0x15b)),expect(_0x4f66ef[_0x11cc97(0x134)](_0x70a3c1=>_0x70a3c1[_0x11cc97(0x16a)]))[_0x11cc97(0x15a)]('write_file');const _0x249bb7=_0x40a18f('analyze');expect(_0x249bb7['length'])[_0x11cc97(0x174)](0x1),expect(_0x249bb7[0x0][_0x11cc97(0x16a)])['toBe']('analyze_code');});}),describe(a0_0x2d37d9(0x12f),()=>{const _0x4c8ec1=a0_0x2d37d9;test(_0x4c8ec1(0x17f),async()=>{const _0x56e896=_0x4c8ec1,_0x934ede=new Set();_0x934ede['add']('read_file'),_0x934ede['add']('analyze_code'),expect(_0x934ede['has'](_0x56e896(0x15b)))[_0x56e896(0x174)](!![]),expect(_0x934ede['has'](_0x56e896(0x152)))[_0x56e896(0x174)](!![]),expect(_0x934ede[_0x56e896(0x175)])['toBe'](0x2),_0x934ede[_0x56e896(0x146)](_0x56e896(0x15b)),expect(_0x934ede[_0x56e896(0x161)](_0x56e896(0x15b)))['toBe'](![]),expect(_0x934ede['has'](_0x56e896(0x152)))['toBe'](!![]),expect(_0x934ede[_0x56e896(0x175)])[_0x56e896(0x174)](0x1);}),test(_0x4c8ec1(0x160),async()=>{const _0x5078d3=_0x4c8ec1,_0xa2b2d3=new Map();_0xa2b2d3['set']('exec-1',{'success':!![],'data':_0x5078d3(0x153)}),_0xa2b2d3['set']('exec-2',{'success':!![],'data':{'issues':[]}}),expect(_0xa2b2d3[_0x5078d3(0x166)]('exec-1'))['toBeDefined'](),expect(_0xa2b2d3['get'](_0x5078d3(0x145))['success'])[_0x5078d3(0x174)](!![]),expect(_0xa2b2d3['get'](_0x5078d3(0x145))[_0x5078d3(0x178)])[_0x5078d3(0x174)](_0x5078d3(0x153)),expect(_0xa2b2d3[_0x5078d3(0x166)](_0x5078d3(0x17d)))[_0x5078d3(0x165)](),expect(_0xa2b2d3['get'](_0x5078d3(0x17d))[_0x5078d3(0x178)]['issues'])[_0x5078d3(0x168)]([]),expect(_0xa2b2d3['size'])['toBe'](0x2);});}),describe('Tools\x20Management\x20-\x20Tool\x20Caching',()=>{test('Tool\x20cache\x20supports\x20TTL-based\x20caching',async()=>{const _0x465002=a0_0x4db0,_0x9acc45=0x927c0;let _0x2fc0ec=null,_0x40e9c6=0x0;const _0x19acc4=[{'name':'read_file'}];_0x2fc0ec=_0x19acc4,_0x40e9c6=Date[_0x465002(0x16f)]();const _0x21fd19=Date[_0x465002(0x16f)](),_0x208992=_0x21fd19-_0x40e9c6<_0x9acc45;expect(_0x208992)['toBe'](!![]),expect(_0x2fc0ec)['toBe'](_0x19acc4);}),test('Tool\x20cache\x20expires\x20after\x20TTL',async()=>{const _0x49c635=a0_0x4db0,_0x5f094c=0x64;let _0x3fa771=null,_0x435f90=0x0;const _0x2600c7=[{'name':'read_file'}];_0x3fa771=_0x2600c7,_0x435f90=Date['now'](),await new Promise(_0x2262cb=>setTimeout(_0x2262cb,0x96));const _0x27fb71=Date[_0x49c635(0x16f)](),_0x324437=_0x27fb71-_0x435f90<_0x5f094c;expect(_0x324437)[_0x49c635(0x174)](![]);});}),describe('Tools\x20Management\x20-\x20Tool\x20Filtering',()=>{const _0x1796d9=a0_0x2d37d9;test(_0x1796d9(0x143),async()=>{const _0x3e9a3a=_0x1796d9,{TOOL_CATEGORY:_0x5ce959}=await import('../../config/constants.js'),_0x2e6505=[{'name':_0x3e9a3a(0x140),'category':_0x5ce959[_0x3e9a3a(0x155)],'enabled':!![]},{'name':_0x3e9a3a(0x16d),'category':_0x5ce959[_0x3e9a3a(0x155)],'enabled':![]},{'name':'analyze_code','category':_0x5ce959[_0x3e9a3a(0x138)],'enabled':!![]}],_0x5ed91d=_0x261d18=>{const _0x2ec745=_0x3e9a3a;let _0x532878=[..._0x2e6505];return _0x261d18['category']&&(_0x532878=_0x532878['filter'](_0x374309=>_0x374309['category']===_0x261d18[_0x2ec745(0x13e)])),_0x261d18['enabled']!==undefined&&(_0x532878=_0x532878[_0x2ec745(0x172)](_0x2feb67=>_0x2feb67['enabled']===_0x261d18[_0x2ec745(0x151)])),_0x532878;},_0x468cc4=_0x5ed91d({'category':_0x5ce959['SYSTEM']});expect(_0x468cc4['length'])['toBe'](0x2);const _0x12861a=_0x5ed91d({'enabled':!![]});expect(_0x12861a[_0x3e9a3a(0x130)])[_0x3e9a3a(0x174)](0x2);const _0x5ad221=_0x5ed91d({'category':_0x5ce959['SYSTEM'],'enabled':!![]});expect(_0x5ad221[_0x3e9a3a(0x130)])[_0x3e9a3a(0x174)](0x1),expect(_0x5ad221[0x0]['name'])['toBe'](_0x3e9a3a(0x140));});}),describe(a0_0x2d37d9(0x16e),()=>{test('Category\x20counts\x20can\x20be\x20calculated',async()=>{const _0x1f5b33=a0_0x4db0,{TOOL_CATEGORY:_0x249707}=await import(_0x1f5b33(0x159)),_0x2fbff3=[{'name':'execute_command','category':_0x249707['SYSTEM']},{'name':'terminal','category':_0x249707[_0x1f5b33(0x155)]},{'name':_0x1f5b33(0x152),'category':_0x249707['ANALYSIS']},{'name':'web_search','category':_0x249707['UTILITY']}],_0x15a363=_0xfed8f3=>{const _0x2be2d7=_0x1f5b33,_0xe71046={};for(const _0x5155c0 of Object[_0x2be2d7(0x179)](_0x249707)){_0xe71046[_0x5155c0]=_0xfed8f3[_0x2be2d7(0x172)](_0xa7c304=>_0xa7c304[_0x2be2d7(0x13e)]===_0x5155c0)[_0x2be2d7(0x130)];}return _0xe71046;},_0x2d0f10=_0x15a363(_0x2fbff3);expect(_0x2d0f10[_0x249707[_0x1f5b33(0x155)]])['toBe'](0x2),expect(_0x2d0f10[_0x249707[_0x1f5b33(0x138)]])['toBe'](0x1),expect(_0x2d0f10[_0x249707['UTILITY']])[_0x1f5b33(0x174)](0x1),expect(_0x2d0f10[_0x249707[_0x1f5b33(0x17e)]])[_0x1f5b33(0x174)](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
|
-
const
|
|
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
|
-
function a0_0x4c00(_0x46aab0,_0x52e3ee){_0x46aab0=_0x46aab0-0x128;const _0x49f308=a0_0x49f3();let _0x4c00cc=_0x49f308[_0x46aab0];if(a0_0x4c00['WBUuXJ']===undefined){var _0x4828bf=function(_0xd2b8be){const _0x177682='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35113d='',_0x1e1a52='';for(let _0x1178c0=0x0,_0x12ab95,_0x39b19c,_0x490086=0x0;_0x39b19c=_0xd2b8be['charAt'](_0x490086++);~_0x39b19c&&(_0x12ab95=_0x1178c0%0x4?_0x12ab95*0x40+_0x39b19c:_0x39b19c,_0x1178c0++%0x4)?_0x35113d+=String['fromCharCode'](0xff&_0x12ab95>>(-0x2*_0x1178c0&0x6)):0x0){_0x39b19c=_0x177682['indexOf'](_0x39b19c);}for(let _0x575a43=0x0,_0x20f57c=_0x35113d['length'];_0x575a43<_0x20f57c;_0x575a43++){_0x1e1a52+='%'+('00'+_0x35113d['charCodeAt'](_0x575a43)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e1a52);};a0_0x4c00['CViQCV']=_0x4828bf,a0_0x4c00['iWllft']={},a0_0x4c00['WBUuXJ']=!![];}const _0x2be1f2=_0x49f308[0x0],_0x3616e3=_0x46aab0+_0x2be1f2,_0x5119ad=a0_0x4c00['iWllft'][_0x3616e3];return!_0x5119ad?(_0x4c00cc=a0_0x4c00['CViQCV'](_0x4c00cc),a0_0x4c00['iWllft'][_0x3616e3]=_0x4c00cc):_0x4c00cc=_0x5119ad,_0x4c00cc;}const a0_0x33e51e=a0_0x4c00;(function(_0x3e8cef,_0x48ecba){const _0x3c637e=a0_0x4c00,_0x27e988=_0x3e8cef();while(!![]){try{const _0x583e8a=parseInt(_0x3c637e(0x16f))/0x1+-parseInt(_0x3c637e(0x12a))/0x2*(parseInt(_0x3c637e(0x141))/0x3)+parseInt(_0x3c637e(0x136))/0x4+parseInt(_0x3c637e(0x149))/0x5+-parseInt(_0x3c637e(0x13a))/0x6*(-parseInt(_0x3c637e(0x153))/0x7)+-parseInt(_0x3c637e(0x16b))/0x8+-parseInt(_0x3c637e(0x12b))/0x9;if(_0x583e8a===_0x48ecba)break;else _0x27e988['push'](_0x27e988['shift']());}catch(_0x47868f){_0x27e988['push'](_0x27e988['shift']());}}}(a0_0x49f3,0xb5735));import a0_0x35113d from'ws';function a0_0x49f3(){const _0x2e6823=['Cg9Uz1rPBwvVDxq','C3rYAw5NAwz5','odm5mJaXnLrjuNrjqW','BwvZC2fNzvf1zxvL','q2XPzw50igrPC2nVBM5Ly3q','C2vZC2LVBL9QB2LUzwq','mtmYotK5n1PTzhfLBW','reLtq09otKvdveve','y2XVC2u','DhLWzq','BgfZDfbVBMDszwnLAxzLza','q09otKvdveLorW','mte4ntG2mK1YsuXrzG','ntq0odGYnu12sg9WuG','v0vcu09ds0vux1bptKDFveLnru9vva','CMvJB25Uzwn0vgLTzxi','revgqvvmvf9it1nu','CMvJB25Uzwn0rgvSyxK','C2v0u3rHDgu','AgvHCNrIzwf0sw50zxj2ywW','sfruuf9usu1ft1vu','D2fPDezVCKnVBM5Ly3rPB24','z2v0u3rHDhm','C2v0','odq3mZa4ueTxzfLA','CMvXDwvZDeLKq291BNrLCG','v0vcu09ds0vux1jfq09otKvdvf9nvuXusvbmsuvs','CgLUz0LUDgvYDMfS','mtHAqK5mDfe','rvjst1i','C2HVDwXKuMvJB25Uzwn0','zxjYB3i','y29UBMvJDgLVBL9LCNjVCG','v0vcu09ds0vux1jfq09otKvdvf9eruXbwq','B3bLBG','nLP4qxPLtq','AgfUzgXLq2XVC2u','CgvUzgLUz1jLCxvLC3rZ','revgqvvmvf9qt1ju','q29UBMvJDgLVBIb0Aw1LB3v0','C2vUzfbPBMC','z2v0','AgfUzgXLrxjYB3i','nti1ote2nvvizxnJwG','v0vcu09ds0vux1jfq09otKvdvf9nqvHFrevmqvK','AgfZ','BwvZC2fNzq','qwXYzwfKEsbJB25Uzwn0zwqGB3iGy29UBMvJDgLUzW','C2HPzNq','C3rVCeHLyxj0yMvHDa','z2v0u2vZC2LVBKLK','CgfYC2u','AgfUzgXLt3bLBG','mJmWoty1n1jwyMrWBG','z2v0u3rHDgu','yMfZzvjLy29UBMvJDerLBgf5','zw1PDa','C3rHDgu','CMvJB25Uzwn0qxr0zw1WDhm','ChjVy2vZC01LC3nHz2vrDwv1zq','zgLZy29UBMvJDa','AgfUzgXLug9Uz1rPBwvVDxq','Cg9YDa','q09otKvdveve','C3rHCNrizwfYDgjLyxq','AgfUzgXLq29UBMvJDgLVBKvYCM9Y','v0vcu09ds0vux0nptK5fq1rFveLnru9vva','C2vUza','C2vZC2LVBKLK','y2XLyw51Ca','ChvZAa','zgvSzxrL','y29UBMvJDa','zgLZy29UBMvJDgvK','y29UBMvJDgvK'];a0_0x49f3=function(){return _0x2e6823;};return a0_0x49f3();}import{EventEmitter}from'events';import{TIMING,NETWORK,CONNECTION_STATE,WS_MESSAGE_TYPE,ERROR_MESSAGE}from'../config/constants.js';export class WebSocketManager extends EventEmitter{constructor(_0x1e1a52=NETWORK[a0_0x33e51e(0x12e)],_0x1178c0=NETWORK[a0_0x33e51e(0x144)],_0x12ab95={}){const _0x14bd9f=a0_0x33e51e;super(),this['host']=_0x1e1a52,this[_0x14bd9f(0x15c)]=_0x1178c0,this['url']='ws://'+_0x1e1a52+':'+_0x1178c0,this['ws']=null,this[_0x14bd9f(0x157)]=CONNECTION_STATE['DISCONNECTED'],this[_0x14bd9f(0x162)]=null,this[_0x14bd9f(0x158)]=0x0,this[_0x14bd9f(0x12f)]=_0x12ab95[_0x14bd9f(0x12f)]??TIMING[_0x14bd9f(0x13f)],this[_0x14bd9f(0x155)]=this[_0x14bd9f(0x12f)],this['reconnectTimer']=null,this[_0x14bd9f(0x13c)]=!![],this['heartbeatInterval']=_0x12ab95[_0x14bd9f(0x131)]??TIMING['WEBSOCKET_PING_INTERVAL'],this['pingInterval']=null,this['pongTimeout']=null,this[_0x14bd9f(0x128)]=null,this[_0x14bd9f(0x16c)]=[],this[_0x14bd9f(0x137)]=0x0,this['pendingRequests']=new Map();}async[a0_0x33e51e(0x166)](){const _0x759d4d=a0_0x33e51e;if(this['state']===CONNECTION_STATE[_0x759d4d(0x15d)]||this['state']===CONNECTION_STATE[_0x759d4d(0x129)])return{'success':![],'error':_0x759d4d(0x14d)};this[_0x759d4d(0x130)](CONNECTION_STATE['CONNECTING']),this['emit']('connecting');try{return this['ws']=new a0_0x35113d(this['url']),this['setupEventHandlers'](),await this['waitForConnection'](),{'success':!![]};}catch(_0x39b19c){return this[_0x759d4d(0x15f)](_0x39b19c),{'success':![],'error':_0x39b19c[_0x759d4d(0x14c)]};}}[a0_0x33e51e(0x133)](){return new Promise((_0x490086,_0x575a43)=>{const _0x1040c3=a0_0x4c00,_0x20f57c=setTimeout(()=>{const _0x3d29bd=a0_0x4c00;_0x575a43(new Error(_0x3d29bd(0x145)));},TIMING[_0x1040c3(0x160)]);this['ws']['once'](_0x1040c3(0x140),()=>{clearTimeout(_0x20f57c),_0x490086();}),this['ws']['once'](_0x1040c3(0x13d),_0x31691e=>{clearTimeout(_0x20f57c),_0x575a43(_0x31691e);});});}['setupEventHandlers'](){const _0x28fda0=a0_0x33e51e;this['ws']['on'](_0x28fda0(0x140),()=>this['handleOpen']()),this['ws']['on']('message',_0x17597a=>this['handleMessage'](_0x17597a)),this['ws']['on'](_0x28fda0(0x171),(_0x3f2d1b,_0x255e94)=>this[_0x28fda0(0x142)](_0x3f2d1b,_0x255e94)),this['ws']['on'](_0x28fda0(0x13d),_0x56de95=>this[_0x28fda0(0x148)](_0x56de95));}[a0_0x33e51e(0x152)](){const _0x36e852=a0_0x33e51e;this[_0x36e852(0x130)](CONNECTION_STATE['CONNECTED']),this['reconnectAttempts']=0x0,this['reconnectDelay']=this[_0x36e852(0x155)],this[_0x36e852(0x156)](_0x36e852(0x168)),this[_0x36e852(0x15e)](),this['processMessageQueue']();}['handleMessage'](_0x3fff4f){const _0x2705ba=a0_0x33e51e;try{const _0x16053c=JSON[_0x2705ba(0x151)](_0x3fff4f['toString']());if(_0x16053c[_0x2705ba(0x172)]===WS_MESSAGE_TYPE['PONG']){this['handlePong']();return;}if(_0x16053c[_0x2705ba(0x172)]===WS_MESSAGE_TYPE['CONNECTED']){this['emit']('welcome',_0x16053c);return;}if(_0x16053c['type']===WS_MESSAGE_TYPE['SESSION_JOINED']){this['sessionId']=_0x16053c['sessionId'],this[_0x2705ba(0x156)](_0x2705ba(0x16e),_0x16053c);return;}if(_0x16053c[_0x2705ba(0x172)]===WS_MESSAGE_TYPE['ORCHESTRATOR_RESPONSE']){this['handleOrchestratorResponse'](_0x16053c);return;}this[_0x2705ba(0x156)](_0x2705ba(0x14c),_0x16053c),_0x16053c['type']&&this[_0x2705ba(0x156)](_0x16053c[_0x2705ba(0x172)],_0x16053c);}catch(_0x30c049){this['emit']('parse_error',{'error':_0x30c049,'data':_0x3fff4f});}}['handleClose'](_0x4b3bf6,_0x593a7f){const _0x4b5714=a0_0x33e51e;this['cleanup']();const _0x1fd59c=_0x593a7f['toString']()||'Unknown\x20reason';this[_0x4b5714(0x156)](_0x4b5714(0x167),{'code':_0x4b3bf6,'reason':_0x1fd59c}),this['shouldReconnect']&&_0x4b3bf6!==0x3e8?this['scheduleReconnect']():this[_0x4b5714(0x130)](CONNECTION_STATE[_0x4b5714(0x170)]);}[a0_0x33e51e(0x148)](_0x1c41c3){const _0x415a9a=a0_0x33e51e;this['emit'](_0x415a9a(0x13d),_0x1c41c3);}[a0_0x33e51e(0x15f)](_0x5f3c90){const _0x57e936=a0_0x33e51e;this[_0x57e936(0x130)](CONNECTION_STATE[_0x57e936(0x13b)]),this[_0x57e936(0x156)](_0x57e936(0x13e),_0x5f3c90),this[_0x57e936(0x13c)]&&this['scheduleReconnect']();}['scheduleReconnect'](){const _0x53b3bb=a0_0x33e51e;if(this[_0x53b3bb(0x12d)])return;this['setState'](CONNECTION_STATE['RECONNECTING']),this['reconnectAttempts']++;const _0x5af850=Math['min'](this['reconnectDelay']*Math['pow'](TIMING[_0x53b3bb(0x138)],this['reconnectAttempts']-0x1),TIMING[_0x53b3bb(0x14a)]);this[_0x53b3bb(0x156)]('reconnecting',{'attempt':this[_0x53b3bb(0x158)],'delay':_0x5af850}),this['reconnectTimer']=setTimeout(()=>{const _0x5b7b10=_0x53b3bb;this[_0x5b7b10(0x12d)]=null,this['connect']();},_0x5af850);}['startHeartbeat'](){const _0x4e85c9=a0_0x33e51e;this[_0x4e85c9(0x14f)](),this[_0x4e85c9(0x139)]=setInterval(()=>{const _0x8eeae7=_0x4e85c9;this['state']===CONNECTION_STATE['CONNECTED']&&this[_0x8eeae7(0x146)]();},this['heartbeatInterval']);}['stopHeartbeat'](){const _0x4d58a8=a0_0x33e51e;this[_0x4d58a8(0x139)]&&(clearInterval(this[_0x4d58a8(0x139)]),this['pingInterval']=null),this['pongTimeout']&&(clearTimeout(this[_0x4d58a8(0x169)]),this['pongTimeout']=null);}[a0_0x33e51e(0x146)](){const _0xd45085=a0_0x33e51e;if(this[_0xd45085(0x157)]!==CONNECTION_STATE['CONNECTED'])return;try{this[_0xd45085(0x161)]({'type':WS_MESSAGE_TYPE['PING']}),this[_0xd45085(0x169)]=setTimeout(()=>{const _0x311663=_0xd45085;this[_0x311663(0x15b)]();},TIMING[_0xd45085(0x12c)]);}catch(_0x5e00bd){this['emit']('ping_error',_0x5e00bd);}}['handlePong'](){const _0x9ab659=a0_0x33e51e;this['lastPongReceived']=Date['now'](),this[_0x9ab659(0x169)]&&(clearTimeout(this['pongTimeout']),this[_0x9ab659(0x169)]=null);}[a0_0x33e51e(0x15b)](){const _0x278b47=a0_0x33e51e;this[_0x278b47(0x156)]('heartbeat_timeout'),this[_0x278b47(0x15a)](),this['shouldReconnect']&&this['scheduleReconnect']();}['joinSession'](_0x192852){const _0x5b2b8b=a0_0x33e51e;this['sessionId']=_0x192852,this[_0x5b2b8b(0x161)]({'type':WS_MESSAGE_TYPE['JOIN_SESSION'],'sessionId':_0x192852});}['sendOrchestratorRequest'](_0x3a5c11,_0x5e445c,_0xebc5f){const _0xfa3bf=this['generateRequestId'](),_0x39309a={'type':WS_MESSAGE_TYPE['ORCHESTRATOR_REQUEST'],'requestId':_0xfa3bf,'action':_0x3a5c11,'payload':_0x5e445c,'projectDir':_0xebc5f};return new Promise((_0x53c952,_0x3ec4cc)=>{const _0xc0c395=a0_0x4c00;this['pendingRequests'][_0xc0c395(0x135)](_0xfa3bf,{'resolve':_0x53c952,'reject':_0x3ec4cc,'timestamp':Date['now']()});try{this['send'](_0x39309a);}catch(_0xf8b35f){this[_0xc0c395(0x143)]['delete'](_0xfa3bf),_0x3ec4cc(_0xf8b35f);}setTimeout(()=>{const _0xb442b0=_0xc0c395;this['pendingRequests'][_0xb442b0(0x14b)](_0xfa3bf)&&(this['pendingRequests'][_0xb442b0(0x165)](_0xfa3bf),_0x3ec4cc(new Error('Request\x20timeout')));},TIMING[_0xc0c395(0x132)]);});}['handleOrchestratorResponse'](_0x4a6a83){const _0x1453f3=a0_0x33e51e,{requestId:_0xf99bc,response:_0x33c452,error:_0x37bc5b}=_0x4a6a83;if(this[_0x1453f3(0x143)]['has'](_0xf99bc)){const {resolve:_0x19dd88,reject:_0x3eabda}=this['pendingRequests'][_0x1453f3(0x147)](_0xf99bc);this['pendingRequests']['delete'](_0xf99bc),_0x37bc5b?_0x3eabda(new Error(_0x37bc5b)):_0x19dd88(_0x33c452);}}[a0_0x33e51e(0x161)](_0x437083){const _0x3b0b85=a0_0x33e51e;if(this['state']!==CONNECTION_STATE[_0x3b0b85(0x15d)]){this[_0x3b0b85(0x16c)][_0x3b0b85(0x164)](_0x437083);return;}try{this['ws']['send'](JSON['stringify'](_0x437083));}catch(_0x290887){this[_0x3b0b85(0x156)]('send_error',_0x290887);throw _0x290887;}}[a0_0x33e51e(0x159)](){const _0x568952=a0_0x33e51e;while(this['messageQueue']['length']>0x0&&this['state']===CONNECTION_STATE['CONNECTED']){const _0x288f06=this['messageQueue'][_0x568952(0x14e)]();try{this['ws']['send'](JSON[_0x568952(0x16a)](_0x288f06));}catch(_0x38741d){this['emit']('queue_process_error',_0x38741d),this[_0x568952(0x16c)]['unshift'](_0x288f06);break;}}}['disconnect'](){const _0x244576=a0_0x33e51e;this['shouldReconnect']=![],this[_0x244576(0x163)]();if(this['ws']){try{this['ws'][_0x244576(0x171)](0x3e8,_0x244576(0x16d));}catch(_0x18ee5c){}this['ws']=null;}this[_0x244576(0x130)](CONNECTION_STATE[_0x244576(0x170)]);}[a0_0x33e51e(0x163)](){const _0x233999=a0_0x33e51e;this['stopHeartbeat'](),this['reconnectTimer']&&(clearTimeout(this['reconnectTimer']),this[_0x233999(0x12d)]=null),this['ws']&&this['ws']['removeAllListeners']();}['setState'](_0x218a99){const _0x3e8bfe=a0_0x33e51e,_0x2676a3=this[_0x3e8bfe(0x157)];this[_0x3e8bfe(0x157)]=_0x218a99,_0x2676a3!==_0x218a99&&this['emit']('state_change',{'oldState':_0x2676a3,'newState':_0x218a99});}['generateRequestId'](){const _0xc9d534=a0_0x33e51e;return this['requestIdCounter']++,'req-'+Date['now']()+'-'+this[_0xc9d534(0x137)];}[a0_0x33e51e(0x154)](){const _0x52762c=a0_0x33e51e;return this[_0x52762c(0x157)];}['isConnected'](){return this['state']===CONNECTION_STATE['CONNECTED'];}[a0_0x33e51e(0x150)](){const _0x3ee782=a0_0x33e51e;return this[_0x3ee782(0x162)];}[a0_0x33e51e(0x134)](){const _0x51c4d5=a0_0x33e51e;return{'state':this['state'],'sessionId':this[_0x51c4d5(0x162)],'reconnectAttempts':this['reconnectAttempts'],'queuedMessages':this['messageQueue']['length'],'pendingRequests':this['pendingRequests']['size'],'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;
|