@ckeditor/ckeditor-cloud-services-collaboration 27.0.0 → 31.0.0

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.
Files changed (96) hide show
  1. package/LICENSE.md +2 -2
  2. package/README.md +2 -3
  3. package/package.json +6 -5
  4. package/src/@types/ckeditor5-utils.js +1 -1
  5. package/src/ckeditorcloudserviceserror.js +2 -2
  6. package/src/collaborativeeditingservice/collaborativeeditingservice.js +2 -2
  7. package/src/collaborativeeditingservice/descriptors/operationmetadatadescriptor.js +2 -2
  8. package/src/collaborativeeditingservice/helpers/operationmetadatahelpers.js +2 -2
  9. package/src/collaborativeeditingservice/messages/collaborativeeditingconnectmessage.js +2 -2
  10. package/src/collaborativeeditingservice/messages/collaborativeeditingreconnectmessage.js +2 -2
  11. package/src/collaborativeeditingservice/messages/collaborativeeditingupdatemessage.js +2 -2
  12. package/src/collaborativeeditingservice/messages/getdocumentdetailsmessage.js +2 -2
  13. package/src/collaborativeeditingservice/responses/collaborativeeditingconnectresponse.js +2 -2
  14. package/src/collaborativeeditingservice/responses/collaborativeeditingresponse.js +2 -2
  15. package/src/collaborativeeditingservice/responses/getdocumentdetailsresponse.js +2 -2
  16. package/src/comments-v2/commentsservice.js +2 -2
  17. package/src/comments-v2/descriptors/commentdescriptor.js +2 -2
  18. package/src/comments-v2/descriptors/commentsthreaddescriptor.js +2 -2
  19. package/src/comments-v2/messages/addcommentmessage.js +2 -2
  20. package/src/comments-v2/messages/connectmessage.js +2 -2
  21. package/src/comments-v2/messages/getcommentthreadmessage.js +2 -2
  22. package/src/comments-v2/messages/getdocumentthreadsmessage.js +2 -2
  23. package/src/comments-v2/messages/removecommentmessage.js +2 -2
  24. package/src/comments-v2/messages/removecommentthreadmessage.js +2 -2
  25. package/src/comments-v2/messages/updatecommentmessage.js +2 -2
  26. package/src/comments-v2/responses/addcommentresponse.js +2 -2
  27. package/src/comments-v2/responses/connectresponse.js +2 -2
  28. package/src/comments-v2/responses/getcommentthreadresponse.js +2 -2
  29. package/src/comments-v2/responses/getdocumentthreadsresponse.js +2 -2
  30. package/src/descriptor.js +2 -2
  31. package/src/descriptors/keyvaluedescriptor.js +2 -2
  32. package/src/editor/editorservice.js +23 -0
  33. package/src/editor/messages/iseditorbundleuploadedmessage.js +23 -0
  34. package/src/editor/responses/iseditorbundleuploadedresponse.js +23 -0
  35. package/src/errors/ServiceNotConnectedError.js +2 -2
  36. package/src/index.js +2 -2
  37. package/src/message.js +2 -2
  38. package/src/messagescompressor.js +2 -2
  39. package/src/messagesmapper.js +2 -2
  40. package/src/revision-history/descriptors/revisiondescriptor.js +23 -0
  41. package/src/revision-history/messages/revisionhistoryconnectmessage.js +23 -0
  42. package/src/revision-history/messages/revisionhistorygetrevisionmessage.js +23 -0
  43. package/src/revision-history/messages/revisionhistoryreconnectmessage.js +23 -0
  44. package/src/revision-history/messages/revisionhistoryupdaterevisionsmessage.js +23 -0
  45. package/src/revision-history/responses/revisionhistoryconnectresponse.js +23 -0
  46. package/src/revision-history/responses/revisionhistorygetrevisionresponse.js +23 -0
  47. package/src/revision-history/responses/revisionhistoryupdaterevisionsresponse.js +23 -0
  48. package/src/revision-history/revision.js +23 -0
  49. package/src/revision-history/revisionhistoryservice.js +23 -0
  50. package/src/sessions/descriptors/sessiondescriptor.js +2 -2
  51. package/src/sessions/messages/sessionsconnectmessage.js +2 -2
  52. package/src/sessions/messages/socketconnectmessage.js +2 -2
  53. package/src/sessions/messages/socketdisconnectmessage.js +2 -2
  54. package/src/sessions/responses/sessionsconnectresponse.js +2 -2
  55. package/src/sessions/sessioncollection.js +2 -2
  56. package/src/sessions/sessions.js +2 -2
  57. package/src/track-changes/descriptors/suggestiondescriptor.js +2 -2
  58. package/src/track-changes/messages/addsuggestionmessage.js +2 -2
  59. package/src/track-changes/messages/connectmessage.js +2 -2
  60. package/src/track-changes/messages/getallsuggestionsmessage.js +2 -2
  61. package/src/track-changes/messages/getsuggestionmessage.js +2 -2
  62. package/src/track-changes/messages/updatesuggestionmessage.js +2 -2
  63. package/src/track-changes/responses/addsuggestionresponse.js +2 -2
  64. package/src/track-changes/responses/connectresponse.js +2 -2
  65. package/src/track-changes/responses/getallsuggestionsresponse.js +2 -2
  66. package/src/track-changes/responses/getsuggestionresponse.js +2 -2
  67. package/src/track-changes/trackchangesservice.js +2 -2
  68. package/src/types.js +1 -1
  69. package/src/users/descriptors/userdescriptor.js +2 -2
  70. package/src/users/messages/getmanyusersmessage.js +2 -2
  71. package/src/users/messages/getusermessage.js +2 -2
  72. package/src/users/responses/getmanyusersresponse.js +2 -2
  73. package/src/users/responses/getuserresponse.js +2 -2
  74. package/src/users/user.js +2 -2
  75. package/src/version.js +2 -2
  76. package/src/websocketgateway/channel.js +2 -2
  77. package/src/websocketgateway/messages/channelmessage.js +2 -2
  78. package/src/websocketgateway/parser/packetparser.js +2 -2
  79. package/src/websocketgateway/parser/packets/bytesbytespacketdatamessage.js +2 -2
  80. package/src/websocketgateway/parser/packets/numberbytespacketdatamessage.js +2 -2
  81. package/src/websocketgateway/parser/packets/numbernumberpacketdatamessag.js +2 -2
  82. package/src/websocketgateway/parser/packets/numberobjectpacketdatamessage.js +2 -2
  83. package/src/websocketgateway/parser/packets/numberstringpacketdatamessag.js +2 -2
  84. package/src/websocketgateway/parser/packets/objectbufferpacketdatamessage.js +2 -2
  85. package/src/websocketgateway/parser/packets/objectobjectpacketdatamessage.js +2 -2
  86. package/src/websocketgateway/parser/packets/packagedatamessage.js +2 -2
  87. package/src/websocketgateway/parser/packets/packetmessage.js +2 -2
  88. package/src/websocketgateway/parser/packets/packetoptionsmessage.js +2 -2
  89. package/src/websocketgateway/parser/packets/stringbytespacketdatamessage.js +2 -2
  90. package/src/websocketgateway/parser/packets/stringnumberpacketdatamessage.js +2 -2
  91. package/src/websocketgateway/parser/packets/stringobjectpacketdatamessage.js +2 -2
  92. package/src/websocketgateway/parser/packets/stringstringpacketdatamessage.js +2 -2
  93. package/src/websocketgateway/parser/parser.js +2 -2
  94. package/src/websocketgateway/parser/parserutils.js +2 -2
  95. package/src/websocketgateway/requestsmanager.js +23 -0
  96. package/src/websocketgateway/websocketgateway.js +2 -2
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2016 - 2021, CKSource - Frederico Knabben. All rights reserved.
2
+ * Copyright (c) 2016 - 2022, CKSource Holding sp. z o.o. All rights reserved.
3
3
  *
4
4
  *
5
5
  *
@@ -20,4 +20,4 @@
20
20
  *
21
21
  *
22
22
  */
23
- 'use strict';var __importDefault=this&&this['__importDefault']||function(_0x381a9d){return _0x381a9d&&_0x381a9d['__esModule']?_0x381a9d:{'default':_0x381a9d};};Object['defineProperty'](exports,'__esModule',{'value':!0x0});const socket_io_client_1=__importDefault(require('socket.io-client')),url_parse_1=__importDefault(require('url-parse')),mix_1=__importDefault(require('@ckeditor/ckeditor5-utils/src/mix')),priorities_1=__importDefault(require('@ckeditor/ckeditor5-utils/src/priorities')),observablemixin_1=__importDefault(require('@ckeditor/ckeditor5-utils/src/observablemixin')),channel_1=__importDefault(require('./channel')),user_1=__importDefault(require('./../users/user')),version_1=__importDefault(require('./../version')),ckeditorcloudserviceserror_1=__importDefault(require('./../ckeditorcloudserviceserror')),parser_1=require('./parser/parser');var WEB_SOCKET_GATEWAY_STATES;!function(_0x5b312d){_0x5b312d['DISCONNECTED']='disconnected',_0x5b312d['CONNECTING']='connecting',_0x5b312d['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES=exports['WEB_SOCKET_GATEWAY_STATES']||(exports['WEB_SOCKET_GATEWAY_STATES']={}));class WebSocketGateway{constructor(_0x3f5c29,_0x2cb950,_0x197c89={},_0x493a19=socket_io_client_1['default'],_0x52395e=user_1['default']['get']){if(this['_token']=_0x2cb950,this['_options']=_0x197c89,this['_connectionProvider']=_0x493a19,this['_userFactory']=_0x52395e,this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x3f5c29)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_url']=url_parse_1['default'](_0x3f5c29['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state','disconnected'),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x467867,_0x42ba59,_0x3e3649)=>{var _0x27cdfd,_0x9e0ceb;if(_0x3e3649===WebSocketGateway['STATE_CONNECTED'])try{this['me']=await this['_userFactory']['call'](user_1['default'],this,null===(_0x9e0ceb=null===(_0x27cdfd=this['_socket'])||void 0x0===_0x27cdfd?void 0x0:_0x27cdfd['auth'])||void 0x0===_0x9e0ceb?void 0x0:_0x9e0ceb['userId']);}catch(_0x9f344e){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x379154,_0x287785)=>{this['_options']['onError']?this['_options']['onError'](_0x287785):console['log'](_0x287785);});}get['sessionId'](){return this['socketId'];}['disconnect'](){var _0x1d52f2;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x1d52f2=this['_socket'])||void 0x0===_0x1d52f2||_0x1d52f2['disconnect'](),this['_socket']=void 0x0,this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']);}async['reconnect'](){this['_socket']||this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']||(await this['_token']['refreshToken'](),await this['_connect']());}static async['connect'](_0x170a43,_0x4aad93='local.cs.dev:443/ws-v2',_0x49ad5={},_0x4b52b7=socket_io_client_1['default'],_0x2e331d=user_1['default']['get']){const _0x143eb3=new WebSocketGateway(_0x4aad93,_0x170a43,_0x49ad5,_0x4b52b7,_0x2e331d);return await _0x143eb3['_connect'](),_0x143eb3;}['_sendRequest'](_0x57d08e,_0x5b84bd,_0x2c5464){if(!_0x57d08e)throw new ckeditorcloudserviceserror_1['default']('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new ckeditorcloudserviceserror_1['default']('Not\x20connected.',this);if(!this['_socket']||!this['_socket']['isAuthenticated'])throw new ckeditorcloudserviceserror_1['default']('Not\x20authenticated.',this);const _0x9eb2f1=new ArrayBuffer(_0x2c5464['length']+0x2),_0x224725=new Uint8Array(_0x9eb2f1);return _0x224725[0x0]=_0x57d08e,_0x224725[0x1]=parseInt(_0x5b84bd),_0x224725['set'](_0x2c5464,0x2),this['_emit'](0x1,_0x224725);}['_getChannel'](_0x4371d2,_0x4b70f5){const _0x3e906c=''+_0x4371d2+_0x4b70f5;return!this['_channels']['has'](_0x3e906c)&&this['_socket']&&this['_channels']['set'](_0x3e906c,new channel_1['default'](_0x3e906c,this,this['_socket'])),this['_channels']['get'](_0x3e906c);}['_connect'](){return new Promise((_0xf21204,_0x1714e5)=>{const _0x71492d=this['_setupSocket']();!this['socketId']&&_0x71492d['on']('reconnect_error',()=>{this['_reconnectionAttemptError'](_0x1714e5);}),_0x71492d['once']('connect',async()=>{try{await this['_onConnect'](),_0xf21204();}catch(_0x136f8f){_0x1714e5(_0x136f8f);}}),_0x71492d['connect']();});}['_setupSocket'](){var _0x17fa93;if(this['_socket'])return this['_socket'];const _0x1d9c63=this['_url']['port']||('http:'===this['_url']['protocol']?0x50:0x1bb),_0x515d2f=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x1d9c63,_0x46193b=this['_connectionProvider'](_0x515d2f,{'parser':{'Encoder':parser_1['Encoder'],'Decoder':parser_1['Decoder']},'path':'/ws-v2/ws','transports':['websocket'],'timeout':void 0x0!==this['_options']['timeout']?this['_options']['timeout']:0x1388,'reconnection':void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect'],'reconnectionDelay':0x3e8,'reconnectionDelayMax':0x1388,'rejectUnauthorized':void 0x0===this['_options']['rejectUnauthorized']||this['_options']['rejectUnauthorized'],'query':{'version':version_1['default']},'agent':null!==(_0x17fa93=this['_options']['agent'])&&void 0x0!==_0x17fa93&&_0x17fa93});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0x46193b['on']('connect',()=>{this['socketId']=_0x46193b['id'];}),_0x46193b['on']('reconnecting',_0x2f68fe=>{this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x2f68fe;}),_0x46193b['on']('reconnect',this['_onReconnect']['bind'](this)),_0x46193b['on']('disconnect',this['_onDisconnect']['bind'](this)),_0x46193b['on']('error',this['_onError']['bind'](this)),_0x46193b['on']('unauthorized',this['_onUnauthorized']['bind'](this)),this['_socket']=_0x46193b,_0x46193b;}['_emit'](_0x2244fa,_0x561594){const _0x4cb910=this['_socket'];return new Promise((_0x5d4e4b,_0x38977f)=>{_0x4cb910['binary'](!0x1)['emit'](_0x2244fa,_0x561594,(_0x507571,_0x40da72)=>{_0x507571&&_0x38977f(ckeditorcloudserviceserror_1['default']['fromPublicError'](_0x507571,this)),_0x5d4e4b(_0x40da72);});});}['_addAuthData'](_0x47534b,_0x430c57){this['_socket']['auth']={'environmentId':_0x47534b,'userId':_0x430c57},this['_socket']['isAuthenticated']=!0x0;}['_removeAuthData'](){this['_socket']['isAuthenticated']=!0x1,delete this['_socket']['auth'];}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x24f03a=async(_0x5f0f4e,_0x578dee,_0x2797e5)=>{try{await this['_authenticate'](_0x2797e5);}catch(_0x3d2b6c){}};this['_token']['on']('change:value',_0x24f03a),this['_socket']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x24f03a);});}async['_onReconnect'](){await this['_token']['refreshToken'](),await this['_onConnect']();}['_onDisconnect'](){this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],this['_connectionAttempt']=0x0,this['fire']('disconnect');for(const _0x3a5303 of this['_channels']['values']())_0x3a5303['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_onError'](_0x101674){this['fire']('error',new ckeditorcloudserviceserror_1['default'](_0x101674['message'],this,_0x101674['code']));}['_reconnectionAttemptError'](_0x511fc0){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x511fc0(new ckeditorcloudserviceserror_1['default']('The\x20number\x20of\x20initial\x20connection\x20attempts\x20exceeded.')));}['_onUnauthorized']({error:error}){this['_removeAuthData'](),this['fire']('error',ckeditorcloudserviceserror_1['default']['fromPublicError'](error,this));}async['_authenticate'](_0x339e96){try{const _0x57651d=await this['_emit'](0x2,{'token':_0x339e96});this['_addAuthData'](_0x57651d['environmentId'],_0x57651d['userId']);}catch(_0x4c033){throw this['_removeAuthData'](),_0x4c033;}}}WebSocketGateway['STATE_DISCONNECTED']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],WebSocketGateway['STATE_CONNECTING']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],WebSocketGateway['STATE_CONNECTED']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'],WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']=priorities_1['default']['get']('highest')+0xf423f,mix_1['default'](WebSocketGateway,observablemixin_1['default']),exports['default']=WebSocketGateway;
23
+ 'use strict';var _a,__importDefault=this&&this['__importDefault']||function(_0x5c21d5){return _0x5c21d5&&_0x5c21d5['__esModule']?_0x5c21d5:{'default':_0x5c21d5};};Object['defineProperty'](exports,'__esModule',{'value':!0x0}),'E2E_TEST_WINDOW'===(null===(_a=global['window'])||void 0x0===_a?void 0x0:_a['type'])&&(global['window']=void 0x0);const socket_io_client_1=require('socket.io-client'),url_parse_1=__importDefault(require('url-parse')),utils_1=require('ckeditor5/src/utils'),channel_1=__importDefault(require('./channel')),user_1=__importDefault(require('./../users/user')),version_1=__importDefault(require('./../version')),ckeditorcloudserviceserror_1=__importDefault(require('./../ckeditorcloudserviceserror')),parser_1=require('./parser/parser'),requestsmanager_1=__importDefault(require('./requestsmanager'));var WEB_SOCKET_GATEWAY_STATES;!function(_0x2348a1){_0x2348a1['DISCONNECTED']='disconnected',_0x2348a1['CONNECTING']='connecting',_0x2348a1['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES=exports['WEB_SOCKET_GATEWAY_STATES']||(exports['WEB_SOCKET_GATEWAY_STATES']={}));class WebSocketGateway{constructor(_0x294d4a,_0x40a2e3,_0x3a2792={},_0x546622=socket_io_client_1['io'],_0xb5ed59=user_1['default']['get']){if(this['_token']=_0x40a2e3,this['_options']=_0x3a2792,this['_connectionProvider']=_0x546622,this['_userFactory']=_0xb5ed59,this['_requestsManager']=new requestsmanager_1['default'](this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x294d4a)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_options']['requestTimeout']||(this['_options']['requestTimeout']=0x2710),this['_url']=url_parse_1['default'](_0x294d4a['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state','disconnected'),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x2c81e6,_0x15f198,_0x1e80b5)=>{var _0x5c4c3b;if(_0x1e80b5!==WebSocketGateway['STATE_CONNECTED']){if(_0x1e80b5===WebSocketGateway['STATE_DISCONNECTED'])return this['_requestsManager']['errorAll'](new ckeditorcloudserviceserror_1['default']('Not\x20connected.',this));}else try{this['me']=await this['_userFactory']['call'](user_1['default'],this,null===(_0x5c4c3b=this['_socketAuth'])||void 0x0===_0x5c4c3b?void 0x0:_0x5c4c3b['userId']);}catch(_0x156b93){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x40a48c,_0x33f385)=>{this['_options']['onError']?this['_options']['onError'](_0x33f385):console['log'](_0x33f385);});}get['sessionId'](){return this['socketId'];}['disconnect'](){var _0xff43dd;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0xff43dd=this['_socket'])||void 0x0===_0xff43dd||_0xff43dd['disconnect'](),this['_socket']=void 0x0,this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']);}async['reconnect'](){this['_socket']||this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']||(await this['_token']['refreshToken'](),await this['_connect']());}static async['connect'](_0x3b34b9,_0x38dcf8='local.cs.dev:443/ws-v2',_0x59c293={},_0x1ced85=socket_io_client_1['io'],_0x451d22=user_1['default']['get']){const _0x11af12=new WebSocketGateway(_0x38dcf8,_0x3b34b9,_0x59c293,_0x1ced85,_0x451d22);return await _0x11af12['_connect'](),_0x11af12;}['_sendRequest'](_0x98a423,_0x9e4526,_0xb015bd){if(!_0x98a423)throw new ckeditorcloudserviceserror_1['default']('`serviceName`\x20must\x20be\x20provided.',this);if(this['state']!==WebSocketGateway['STATE_CONNECTED'])throw new ckeditorcloudserviceserror_1['default']('Not\x20connected.',this);if(!this['_socketAuth']||!this['_socketAuth']['isAuthenticated'])throw new ckeditorcloudserviceserror_1['default']('Not\x20authenticated.',this);const _0x2e1dbd=new ArrayBuffer(_0xb015bd['length']+0x2),_0xd5760d=new Uint8Array(_0x2e1dbd);return _0xd5760d[0x0]=_0x98a423,_0xd5760d[0x1]=parseInt(_0x9e4526),_0xd5760d['set'](_0xb015bd,0x2),this['_emit'](0x1,_0xd5760d);}['_getChannel'](_0x4aa988,_0x57f1ad){const _0x53ac1e=''+_0x4aa988+_0x57f1ad;return!this['_channels']['has'](_0x53ac1e)&&this['_socket']&&this['_channels']['set'](_0x53ac1e,new channel_1['default'](_0x53ac1e,this,this['_socket'])),this['_channels']['get'](_0x53ac1e);}['_connect'](){return new Promise((_0x54cce5,_0x42fc29)=>{const _0x18f923=this['_setupSocket']();!this['socketId']&&_0x18f923['io']['on']('reconnect_error',()=>{this['_reconnectionAttemptError'](_0x42fc29);}),_0x18f923['once']('connect',async()=>{try{await this['_onConnect'](),_0x54cce5();}catch(_0x592176){_0x42fc29(_0x592176);}}),_0x18f923['connect']();});}['_setupSocket'](){var _0x1eba2a;if(this['_socket'])return this['_socket'];const _0x2475da=this['_url']['port']||('http:'===this['_url']['protocol']?0x50:0x1bb),_0xb568d7=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x2475da,_0x47306e=this['_connectionProvider'](_0xb568d7,{'parser':{'Encoder':parser_1['Encoder'],'Decoder':parser_1['Decoder']},'path':'/ws-v2/ws','transports':['websocket'],'timeout':void 0x0!==this['_options']['timeout']?this['_options']['timeout']:0x1388,'reconnection':void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect'],'reconnectionDelay':0x3e8,'reconnectionDelayMax':0x1388,'rejectUnauthorized':void 0x0===this['_options']['rejectUnauthorized']||this['_options']['rejectUnauthorized'],'query':{'version':version_1['default']},'agent':null!==(_0x1eba2a=this['_options']['agent'])&&void 0x0!==_0x1eba2a&&_0x1eba2a});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0x47306e['on']('connect',()=>{this['socketId']=_0x47306e['id'];}),_0x47306e['on']('connect_error',this['_onError']['bind'](this)),_0x47306e['on']('disconnect',this['_onDisconnect']['bind'](this)),_0x47306e['io']['on']('reconnect',this['_onReconnect']['bind'](this)),_0x47306e['io']['on']('reconnect_attempt',_0x5e543b=>{this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x5e543b;}),_0x47306e['on']('unauthorized',this['_onUnauthorized']['bind'](this)),this['_socket']=_0x47306e,_0x47306e;}['_emit'](_0x480713,_0x4e26e8){const _0x1405c7=this['_socket'];return this['_requestsManager']['send'](_0x13f39d=>{_0x1405c7['emit'](_0x480713,_0x4e26e8,(_0x36cd92,_0x792e7)=>{if(_0x36cd92)return _0x13f39d['error'](ckeditorcloudserviceserror_1['default']['fromPublicError'](_0x36cd92,this));_0x13f39d['response'](_0x792e7);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x4dc0aa,_0x34ab77){this['_socketAuth']={'environmentId':_0x4dc0aa,'userId':_0x34ab77,'isAuthenticated':!0x0};}['_removeAuthData'](){this['_socketAuth']=void 0x0;}async['_onConnect'](){await this['_authenticate'](this['_token']['value']),this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'];const _0x426374=async(_0xf9be0c,_0x55abd2,_0x5e20c4)=>{try{await this['_authenticate'](_0x5e20c4);}catch(_0x4a7c13){}};this['_token']['on']('change:value',_0x426374),this['_socket']['io']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x426374);});}async['_onReconnect'](){await this['_token']['refreshToken'](),await this['_onConnect']();}['_onDisconnect'](){this['state']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],this['_connectionAttempt']=0x0,this['fire']('disconnect');for(const _0x34dcc3 of this['_channels']['values']())_0x34dcc3['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_onError'](_0x5bf8f9){this['fire']('error',new ckeditorcloudserviceserror_1['default'](_0x5bf8f9['message'],this,_0x5bf8f9['code']));}['_reconnectionAttemptError'](_0x1f1871){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x1f1871(new ckeditorcloudserviceserror_1['default']('The\x20number\x20of\x20initial\x20connection\x20attempts\x20exceeded.')));}['_onUnauthorized']({error:error}){this['_removeAuthData'](),this['fire']('error',ckeditorcloudserviceserror_1['default']['fromPublicError'](error,this));}async['_authenticate'](_0xb55204){try{const _0x37677e=await this['_emit'](0x2,{'token':_0xb55204});this['_addAuthData'](_0x37677e['environmentId'],_0x37677e['userId']);}catch(_0xf1a8e1){throw this['_removeAuthData'](),_0xf1a8e1;}}}WebSocketGateway['STATE_DISCONNECTED']=WEB_SOCKET_GATEWAY_STATES['DISCONNECTED'],WebSocketGateway['STATE_CONNECTING']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],WebSocketGateway['STATE_CONNECTED']=WEB_SOCKET_GATEWAY_STATES['CONNECTED'],WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']=utils_1['priorities']['get']('highest')+0xf423f,utils_1['mix'](WebSocketGateway,utils_1['ObservableMixin']),exports['default']=WebSocketGateway;