@ckeditor/ckeditor-cloud-services-collaboration 26.0.0 → 29.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 +4 -3
  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 +23 -0
  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 +23 -0
  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(_0x1cde57){return _0x1cde57&&_0x1cde57['__esModule']?_0x1cde57:{'default':_0x1cde57};};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(_0x5ed57c){_0x5ed57c['DISCONNECTED']='disconnected',_0x5ed57c['CONNECTING']='connecting',_0x5ed57c['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES=exports['WEB_SOCKET_GATEWAY_STATES']||(exports['WEB_SOCKET_GATEWAY_STATES']={}));class WebSocketGateway{constructor(_0xdc6c76,_0x1d6588,_0x2d961a={},_0x13a62e=socket_io_client_1['default'],_0x416963=user_1['default']['get']){if(this['_token']=_0x1d6588,this['_options']=_0x2d961a,this['_connectionProvider']=_0x13a62e,this['_userFactory']=_0x416963,this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0xdc6c76)throw new TypeError('Api\x20address\x20must\x20be\x20provided.');if(!this['_token'])throw new TypeError('Token\x20must\x20be\x20provided.');this['_url']=url_parse_1['default'](_0xdc6c76['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state','disconnected'),this['set']('sessionId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x1bdd87,_0x1a43b6,_0x1db2b1)=>{var _0x403a15,_0x5a20d9;if(_0x1db2b1===WebSocketGateway['STATE_CONNECTED'])try{this['me']=await this['_userFactory']['call'](user_1['default'],this,null===(_0x5a20d9=null===(_0x403a15=this['_socket'])||void 0x0===_0x403a15?void 0x0:_0x403a15['auth'])||void 0x0===_0x5a20d9?void 0x0:_0x5a20d9['userId']);}catch(_0x254460){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x1a5866,_0x2e7a04)=>{this['_options']['onError']?this['_options']['onError'](_0x2e7a04):console['log'](_0x2e7a04);});}['disconnect'](){var _0x1b6178;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x1b6178=this['_socket'])||void 0x0===_0x1b6178||_0x1b6178['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'](_0x379aae,_0x507968='local.cs.dev:443/ws-v2',_0x9e8594={},_0x94f2cf=socket_io_client_1['default'],_0x628e8b=user_1['default']['get']){const _0x283a8c=new WebSocketGateway(_0x507968,_0x379aae,_0x9e8594,_0x94f2cf,_0x628e8b);return await _0x283a8c['_connect'](),_0x283a8c;}['_sendRequest'](_0x334f18,_0x4ea07f,_0x510263){if(!_0x334f18)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 _0x31b3c0=new ArrayBuffer(_0x510263['length']+0x2),_0x2597eb=new Uint8Array(_0x31b3c0);return _0x2597eb[0x0]=_0x334f18,_0x2597eb[0x1]=parseInt(_0x4ea07f),_0x2597eb['set'](_0x510263,0x2),this['_emit'](0x1,_0x2597eb);}['_getChannel'](_0x5b6cf1,_0x2b8e47){const _0x57709d=''+_0x5b6cf1+_0x2b8e47;return!this['_channels']['has'](_0x57709d)&&this['_socket']&&this['_channels']['set'](_0x57709d,new channel_1['default'](_0x57709d,this,this['_socket'])),this['_channels']['get'](_0x57709d);}['_connect'](){return new Promise((_0x4a6ff4,_0x2bfc9f)=>{const _0x584d27=this['_setupSocket']();!this['sessionId']&&_0x584d27['on']('reconnect_error',()=>{this['_reconnectionAttemptError'](_0x2bfc9f);}),_0x584d27['once']('connect',async()=>{try{await this['_onConnect'](),_0x4a6ff4();}catch(_0x59f3c7){_0x2bfc9f(_0x59f3c7);}}),_0x584d27['connect']();});}['_setupSocket'](){var _0xf5e88a;if(this['_socket'])return this['_socket'];const _0x144189=this['_url']['port']||('http:'===this['_url']['protocol']?0x50:0x1bb),_0x25f050=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x144189,_0xf4dd27=this['_connectionProvider'](_0x25f050,{'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!==(_0xf5e88a=this['_options']['agent'])&&void 0x0!==_0xf5e88a&&_0xf5e88a});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0xf4dd27['on']('connect',()=>{this['sessionId']=_0xf4dd27['id'];}),_0xf4dd27['on']('reconnecting',_0x47c5c0=>{this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x47c5c0;}),_0xf4dd27['on']('reconnect',this['_onReconnect']['bind'](this)),_0xf4dd27['on']('disconnect',this['_onDisconnect']['bind'](this)),_0xf4dd27['on']('error',this['_onError']['bind'](this)),_0xf4dd27['on']('unauthorized',this['_onUnauthorized']['bind'](this)),this['_socket']=_0xf4dd27,_0xf4dd27;}['_emit'](_0x388d21,_0x206117){const _0x550a7f=this['_socket'];return new Promise((_0xdcb295,_0x5f5baa)=>{_0x550a7f['binary'](!0x1)['emit'](_0x388d21,_0x206117,(_0x3dfa0f,_0x1a9acd)=>{_0x3dfa0f&&_0x5f5baa(ckeditorcloudserviceserror_1['default']['fromPublicError'](_0x3dfa0f,this)),_0xdcb295(_0x1a9acd);});});}['_addAuthData'](_0x204f4c,_0x23a840){this['_socket']['auth']={'environmentId':_0x204f4c,'userId':_0x23a840},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 _0x185ab9=async(_0x3dc099,_0x3ad55f,_0xede7f2)=>{try{await this['_authenticate'](_0xede7f2);}catch(_0x21e534){}};this['_token']['on']('change:value',_0x185ab9),this['_socket']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x185ab9);});}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 _0x5b2b25 of this['_channels']['values']())_0x5b2b25['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_onError'](_0x2d7165){this['fire']('error',new ckeditorcloudserviceserror_1['default'](_0x2d7165['message'],this,_0x2d7165['code']));}['_reconnectionAttemptError'](_0x4a8256){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x4a8256(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'](_0x491104){try{const _0x54e50d=await this['_emit'](0x2,{'token':_0x491104});this['_addAuthData'](_0x54e50d['environmentId'],_0x54e50d['userId']);}catch(_0x1b40fe){throw this['_removeAuthData'](),_0x1b40fe;}}}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(_0x1d0cf7){return _0x1d0cf7&&_0x1d0cf7['__esModule']?_0x1d0cf7:{'default':_0x1d0cf7};};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=__importDefault(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(_0xcc1138){_0xcc1138['DISCONNECTED']='disconnected',_0xcc1138['CONNECTING']='connecting',_0xcc1138['CONNECTED']='connected';}(WEB_SOCKET_GATEWAY_STATES=exports['WEB_SOCKET_GATEWAY_STATES']||(exports['WEB_SOCKET_GATEWAY_STATES']={}));class WebSocketGateway{constructor(_0x3167f0,_0x2a7eb6,_0x2f33bb={},_0x3d26dc=socket_io_client_1['default'],_0x5cef9f=user_1['default']['get']){if(this['_token']=_0x2a7eb6,this['_options']=_0x2f33bb,this['_connectionProvider']=_0x3d26dc,this['_userFactory']=_0x5cef9f,this['_requestsManager']=new requestsmanager_1['default'](this),this['_channels']=new Map(),this['_connectionAttempt']=0x0,!_0x3167f0)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'](_0x3167f0['replace'](/^(?!(?:\w+:)?\/\/)/,'https://')),this['set']('state','disconnected'),this['set']('socketId',void 0x0),this['set']('me',void 0x0),this['on']('change:state',async(_0x2cd9db,_0x2a3804,_0x935ef4)=>{var _0x370c5b,_0x3a223b;if(_0x935ef4!==WebSocketGateway['STATE_CONNECTED']){if(_0x935ef4===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===(_0x3a223b=null===(_0x370c5b=this['_socket'])||void 0x0===_0x370c5b?void 0x0:_0x370c5b['auth'])||void 0x0===_0x3a223b?void 0x0:_0x3a223b['userId']);}catch(_0x4bccad){}},{'priority':WebSocketGateway['_CHANGE_STATE_EVENT_PRIORITY']}),this['on']('error',(_0x5d7288,_0x5b3eb5)=>{this['_options']['onError']?this['_options']['onError'](_0x5b3eb5):console['log'](_0x5b3eb5);});}get['sessionId'](){return this['socketId'];}['disconnect'](){var _0x46f8af;this['state']!==WEB_SOCKET_GATEWAY_STATES['DISCONNECTED']&&(null===(_0x46f8af=this['_socket'])||void 0x0===_0x46f8af||_0x46f8af['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'](_0x5a950d,_0x1150e8='local.cs.dev:443/ws-v2',_0x1ac6c4={},_0x1d6945=socket_io_client_1['default'],_0x10610b=user_1['default']['get']){const _0x175be8=new WebSocketGateway(_0x1150e8,_0x5a950d,_0x1ac6c4,_0x1d6945,_0x10610b);return await _0x175be8['_connect'](),_0x175be8;}['_sendRequest'](_0x188f74,_0x47eb87,_0x558dc2){if(!_0x188f74)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 _0x2199a5=new ArrayBuffer(_0x558dc2['length']+0x2),_0x4b4431=new Uint8Array(_0x2199a5);return _0x4b4431[0x0]=_0x188f74,_0x4b4431[0x1]=parseInt(_0x47eb87),_0x4b4431['set'](_0x558dc2,0x2),this['_emit'](0x1,_0x4b4431);}['_getChannel'](_0x4d8998,_0x1a1290){const _0x248e0d=''+_0x4d8998+_0x1a1290;return!this['_channels']['has'](_0x248e0d)&&this['_socket']&&this['_channels']['set'](_0x248e0d,new channel_1['default'](_0x248e0d,this,this['_socket'])),this['_channels']['get'](_0x248e0d);}['_connect'](){return new Promise((_0x583f9b,_0x74abb5)=>{const _0x2217af=this['_setupSocket']();!this['socketId']&&_0x2217af['on']('reconnect_error',()=>{this['_reconnectionAttemptError'](_0x74abb5);}),_0x2217af['once']('connect',async()=>{try{await this['_onConnect'](),_0x583f9b();}catch(_0x1ee163){_0x74abb5(_0x1ee163);}}),_0x2217af['connect']();});}['_setupSocket'](){var _0x4a60f8;if(this['_socket'])return this['_socket'];const _0x50fdba=this['_url']['port']||('http:'===this['_url']['protocol']?0x50:0x1bb),_0x820c7b=(this['_url']['protocol']||'https:')+'//'+this['_url']['hostname']+':'+_0x50fdba,_0x28b994=this['_connectionProvider'](_0x820c7b,{'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!==(_0x4a60f8=this['_options']['agent'])&&void 0x0!==_0x4a60f8&&_0x4a60f8});return this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],_0x28b994['on']('connect',()=>{this['socketId']=_0x28b994['id'];}),_0x28b994['on']('reconnecting',_0x56e59d=>{this['state']=WEB_SOCKET_GATEWAY_STATES['CONNECTING'],this['_connectionAttempt']=_0x56e59d;}),_0x28b994['on']('reconnect',this['_onReconnect']['bind'](this)),_0x28b994['on']('disconnect',this['_onDisconnect']['bind'](this)),_0x28b994['on']('error',this['_onError']['bind'](this)),_0x28b994['on']('unauthorized',this['_onUnauthorized']['bind'](this)),this['_socket']=_0x28b994,_0x28b994;}['_emit'](_0x1c4334,_0x280c30){const _0x4b24ad=this['_socket'];return this['_requestsManager']['send'](_0x17d8f0=>{_0x4b24ad['binary'](!0x1)['emit'](_0x1c4334,_0x280c30,(_0x43d9d7,_0x725599)=>{if(_0x43d9d7)return _0x17d8f0['error'](ckeditorcloudserviceserror_1['default']['fromPublicError'](_0x43d9d7,this));_0x17d8f0['response'](_0x725599);});},this['_options']['requestTimeout']);}['_addAuthData'](_0x520494,_0x44e927){this['_socket']['auth']={'environmentId':_0x520494,'userId':_0x44e927},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 _0x238237=async(_0x36be43,_0x266d9f,_0x438250)=>{try{await this['_authenticate'](_0x438250);}catch(_0x3e9dc3){}};this['_token']['on']('change:value',_0x238237),this['_socket']['off']('reconnect_error'),this['on']('disconnect',()=>{this['_token']['off']('change:value',_0x238237);});}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 _0x4d0acb of this['_channels']['values']())_0x4d0acb['remove']();this['_channels']['clear'](),void 0x0===this['_options']['autoReconnect']||this['_options']['autoReconnect']||(this['_socket']=void 0x0);}['_onError'](_0x40a3dd){this['fire']('error',new ckeditorcloudserviceserror_1['default'](_0x40a3dd['message'],this,_0x40a3dd['code']));}['_reconnectionAttemptError'](_0x3e3784){this['_connectionAttempt']>=0x2&&(this['disconnect'](),_0x3e3784(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'](_0xd8161e){try{const _0x2bdb52=await this['_emit'](0x2,{'token':_0xd8161e});this['_addAuthData'](_0x2bdb52['environmentId'],_0x2bdb52['userId']);}catch(_0x5341ae){throw this['_removeAuthData'](),_0x5341ae;}}}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;