@univerjs-pro/collaboration-worktree-endpoint 1.0.1 → 1.0.2
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/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +6 -6
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('node:crypto'),t=require('@univerjs-pro/collaboration-endpoint'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs-pro/collaboration-transport-node'),i=require('@univerjs-pro/collaboration-worktree-service'),a=require('@univerjs/protocol');var o=class{['_middlewares']=new Map();['use'](_0x4cee71,_0x21bb96){let _0x225b7d=this['_middlewares']['get'](_0x4cee71)??[],_0x78befb=_0x21bb96;_0x225b7d['push'](_0x78befb),this['_middlewares']['set'](_0x4cee71,_0x225b7d);let _0x337b99=!0x1;return{'dispose':()=>{if(_0x337b99)return;_0x337b99=!0x0;let _0x38fe6c=_0x225b7d['indexOf'](_0x78befb);_0x38fe6c>=0x0&&_0x225b7d['splice'](_0x38fe6c,0x1);}};}async['run'](_0xef9d6e,_0x5224c4,_0x3ff5a3){let _0x253732=[...this['_middlewares']['get'](_0xef9d6e)??[]],_0x2f0255=async _0x120725=>{let _0x424515=_0x253732[_0x120725];if(!_0x424515){await _0x3ff5a3();return;}let _0x189366=!0x1,_0x40eab9;if(await _0x424515(_0x5224c4,()=>{if(_0x189366)throw Error('Middleware\x20for\x20action\x20'+String(_0xef9d6e)+'\x20called\x20next()\x20twice');return _0x189366=!0x0,_0x40eab9=_0x2f0255(_0x120725+0x1),_0x40eab9;}),!_0x189366)throw Error('Middleware\x20for\x20action\x20'+String(_0xef9d6e)+'\x20did\x20not\x20call\x20next()');await _0x40eab9;};await _0x2f0255(0x0);}['clear'](){this['_middlewares']['clear']();}},s=0x5*0xea60,c='/universer-api/worktrees',l='/universer-api/user/session-ticket',u=class{['_service'];['_options'];['_middleware']=new o();['_listeners']=new Map();['_scopedEndpoints']=new Map();['_eventBindings']=new Map();['_eventRooms']=new Map();['_eventQueues']=new Map();['_subscriptions'];['_ticketTtlMs'];['_disposed']=!0x1;constructor(_0x4889c6,_0x3b2af2){if(this['_service']=_0x4889c6,this['_options']=_0x3b2af2,!_0x4889c6)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0x3b2af2?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0x3b2af2['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x93eac1=>this['_enqueueWorktreeChanged'](_0x93eac1['worktree'])),this['_service']['on']('worktreeCreated',_0x47dd40=>this['_enqueueWorktreeChanged'](_0x47dd40['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x3e4aa3=>this['_enqueueWorktreeChanged'](_0x3e4aa3['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x4f9c32=>this['_enqueueWorktreeChanged'](_0x4f9c32['worktree'])),this['_service']['on']('worktreeStatusChanged',_0xd261b=>this['_enqueueWorktreeChanged'](_0xd261b['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x3ae9f5=>this['_enqueueWorktreeChanged'](_0x3ae9f5['worktree']))];}['use'](_0x555c78,_0x13cbac){return this['_assertRunning'](),this['_middleware']['use'](_0x555c78,_0x13cbac);}['on'](_0x274278,_0xe57d6a){this['_assertRunning']();let _0x512174=this['_listeners']['get'](_0x274278)??new Set(),_0x8bc213=_0xe57d6a;_0x512174['add'](_0x8bc213),this['_listeners']['set'](_0x274278,_0x512174);let _0x2694bf=!0x1;return{'dispose':()=>{_0x2694bf||(_0x2694bf=!0x0,_0x512174['delete'](_0x8bc213));}};}['register'](_0x38a0fc){this['_assertRunning'](),_0x38a0fc['get'](l,_0x3511b0=>this['_handleTicket'](_0x3511b0));let _0x39dde4=_0x3f0705=>_0x54ab2d=>this['_handleManagement'](_0x54ab2d,{..._0x54ab2d['params'],'action':_0x3f0705});_0x38a0fc['post'](c,_0x39dde4('create')),_0x38a0fc['get'](c+'/:worktreeID',_0x39dde4('get')),_0x38a0fc['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x39dde4('evaluateUnitMerge'));for(let [_0x29d738,_0x409c30]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x38a0fc['post'](c+'/:worktreeID/'+_0x29d738,_0x39dde4(_0x409c30));for(let [_0x58a6a8,_0xd088f6]of[['get','/snapshot/:type/unit/:unitID/rev/:revision'],['get','/snapshot/:type/unit/:unitID/block/:blockID'],['get','/snapshot/block/:type/unit/:unitID/block/:blockID'],['get','/snapshot/:type/unit/:unitID/fetchmissing'],['post','/comb/:type/unit/:unitID/new_changes'],['delete','/snapshot/-/units'],['post','/snapshot/-/units/recover']]){let _0x1c5ac5=c+'/:worktreeID'+_0xd088f6;_0x38a0fc[_0x58a6a8](_0x1c5ac5,_0x582c51=>{let _0x12d3d6=this['_scopedEndpoint'](_0x582c51['params']['worktreeID'])['http']['get'](_0x58a6a8+'\x20'+_0x1c5ac5);if(!_0x12d3d6)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0x12d3d6(_0x582c51);});}let _0x46d67e=c+'/:worktreeID/comb/connect';_0x38a0fc['upgrade'](_0x46d67e,_0x20deb9=>{let _0x1a1978=this['_scopedEndpoint'](_0x20deb9['params']['worktreeID'])['upgrade']['get'](_0x46d67e);if(!_0x1a1978)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x1a1978(_0x20deb9);}),_0x38a0fc['upgrade'](c+'/:worktreeID/events',_0x40b0ab=>this['_handleEventUpgrade'](_0x40b0ab));}async['_handleEventUpgrade'](_0x4578f8){this['_assertRunning']();let _0x55bf57=new URL(_0x4578f8['incomingMessage']['url']??'/','http://localhost'),_0x483236=await this['_options']['ticketStore']['consume'](_0x55bf57['searchParams']['get']('sessionTicket')??'');if(!_0x483236){_0x4578f8['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x581e79=_0x4578f8['params']['worktreeID'];_0x4578f8['accept']({'open':({connection:_0xe280a})=>this['_openEventConnection'](_0xe280a,_0x483236,_0x581e79),'message':({connection:_0x5a1563})=>_0x5a1563['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0x22fa13})=>this['_removeEventBinding'](_0x22fa13['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x1e5dbb=>_0x1e5dbb['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x976452 of this['_eventBindings']['values']())_0x976452['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0xa7efe7=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0xa7efe7['map'](({endpoint:_0x3ad8ca})=>_0x3ad8ca['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x57251d){try{this['_assertRunning'](),this['_requireUser'](_0x57251d);let _0x2636a2=await this['_options']['ticketStore']['issue']({'userID':_0x57251d['userID'],'customData':_0x57251d['customData']},this['_ticketTtlMs']);b(_0x57251d,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x2636a2});}catch(_0x28a846){this['_writeFailure'](_0x57251d,_0x28a846);}}async['_handleManagement'](_0x387948,_0x5512fa){try{this['_assertRunning'](),this['_requireUser'](_0x387948);let _0x147896={'userID':_0x387948['userID'],'customData':_0x387948['customData']};if(_0x5512fa['action']==='evaluateUnitMerge'){let _0x24eaa5=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x5512fa['worktreeID'],'unitID':_0x5512fa['unitID']},_0x147896);_0x387948['response']['setHeader']('cache-control','no-store'),b(_0x387948,0xc8,{'evaluation':_0x24eaa5});return;}let _0x4b8366;switch(_0x5512fa['action']){case'create':{let _0x4e20be=await _0x387948['readJson']();f(_0x4e20be),_0x4b8366=await this['_service']['createWorktree'](_0x4e20be,_0x147896);break;}case'get':_0x4b8366=await this['_service']['getWorktree']({'worktreeID':_0x5512fa['worktreeID']},_0x147896);break;case'setUnitRemoved':{let _0x267955=await _0x387948['readJson']();if(!v(_0x267955)||typeof _0x267955['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x4b8366=await this['_service']['setUnitRemoved']({'worktreeID':_0x5512fa['worktreeID'],'unitID':_0x5512fa['unitID'],'removed':_0x267955['removed']},_0x147896);break;}case'addUnit':{let _0x108bdd=await _0x387948['readJson']();p(_0x108bdd),_0x4b8366=await this['_service']['addUnit']({'worktreeID':_0x5512fa['worktreeID'],'unitID':_0x108bdd['unitID']},_0x147896);break;}case'createUnitFromSnapshot':{let _0x5a5bd3=m(await _0x387948['readJson']());_0x4b8366=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x5512fa['worktreeID'],..._0x5a5bd3},_0x147896);break;}case'createUnitFromData':{let _0x3cd7ae=h(await _0x387948['readJson']());_0x4b8366=await this['_service']['createUnitFromData']({'worktreeID':_0x5512fa['worktreeID'],..._0x3cd7ae},_0x147896);break;}case'ready':_0x4b8366=await this['_service']['markReady']({'worktreeID':_0x5512fa['worktreeID']},_0x147896);break;case'reopen':_0x4b8366=await this['_service']['reopenWorktree']({'worktreeID':_0x5512fa['worktreeID']},_0x147896);break;case'discard':_0x4b8366=await this['_service']['discardWorktree']({'worktreeID':_0x5512fa['worktreeID']},_0x147896);break;case'merge':_0x4b8366=await this['_service']['mergeWorktree']({'worktreeID':_0x5512fa['worktreeID']},{..._0x147896,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x387948,0xc8,{'worktree':_0x4b8366['worktree']});}catch(_0xa7bbf0){this['_writeFailure'](_0x387948,_0xa7bbf0);}}async['_openEventConnection'](_0xed42b5,_0x49ae5c,_0xed1ef8){try{let _0x4f5d89=(0x0,e['randomUUID'])(),_0x22be1a={'memberID':_0x4f5d89,'userID':_0x49ae5c['userID'],'customData':_0x49ae5c['customData']},_0x5b9940={'memberID':_0x4f5d89,'userID':_0x49ae5c['userID'],'name':_0x49ae5c['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0xed1ef8,'session':_0x22be1a,'connection':_0xed42b5,'member':_0x5b9940},async()=>void 0x0);let _0x46da6b={'worktreeID':_0xed1ef8,'connection':_0xed42b5,'session':_0x22be1a,'ready':!0x1};this['_eventBindings']['set'](_0xed42b5['id'],_0x46da6b);let _0x2c8327=this['_eventRooms']['get'](_0xed1ef8)??new Map();_0x2c8327['set'](_0xed42b5['id'],_0x46da6b),this['_eventRooms']['set'](_0xed1ef8,_0x2c8327);try{let {worktree:_0x24f02b}=await this['_service']['getWorktree']({'worktreeID':_0xed1ef8},{'userID':_0x22be1a['userID'],'customData':_0xed42b5['customData']});if(await this['_sendChanged'](_0x46da6b,_0x24f02b),_0x46da6b['ready']=!0x0,_0x46da6b['pending']){let _0x2fae8c=_0x46da6b['pending'];delete _0x46da6b['pending'],await this['_sendChanged'](_0x46da6b,_0x2fae8c);}}catch(_0xf90c8b){throw this['_removeEventBinding'](_0xed42b5['id']),_0xf90c8b;}}catch(_0x562864){_0xed42b5['close'](_0x562864 instanceof n['CollabError']||_0x562864 instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x350c5a){this['_assertRunning']();let _0x2987c3=this['_scopedEndpoints']['get'](_0x350c5a);if(_0x2987c3)return _0x2987c3;let _0x3c3f5a=new t['UniverCollabEndpoint'](new d(this['_service'],_0x350c5a),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x3c3f5a['use']('connect',(_0x4ae3cf,_0x2fc8c4)=>this['_middleware']['run']('connect',{..._0x4ae3cf,'worktreeID':_0x350c5a},_0x2fc8c4)),_0x3c3f5a['use']('joinUnit',async(_0xcb31ae,_0x26d272)=>{let {worktree:_0x222744}=await this['_getJoinableWorktree'](_0x350c5a,_0xcb31ae['session']);if(!_0x222744['units']['some'](({unitID:_0x48f54f})=>_0x48f54f===_0xcb31ae['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0xcb31ae['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x350c5a);await this['_middleware']['run']('joinUnit',{..._0xcb31ae,'worktreeID':_0x350c5a},_0x26d272);}),_0x3c3f5a['use']('receivePresence',(_0x1fa233,_0x4fe951)=>this['_middleware']['run']('receivePresence',{..._0x1fa233,'worktreeID':_0x350c5a},_0x4fe951)),_0x3c3f5a['use']('sendPresence',(_0x22006e,_0x49c10b)=>this['_middleware']['run']('sendPresence',{..._0x22006e,'worktreeID':_0x350c5a},_0x49c10b)),_0x3c3f5a['on']('memberLeftUnit',_0x584e88=>this['_emit']('memberLeftUnit',{..._0x584e88,'worktreeID':_0x350c5a}));let _0x5e3a21=new Map(),_0x463d0c=new Map();_0x3c3f5a['register']({'get':(_0x1f32bd,_0x3f8427)=>{_0x5e3a21['set']('get\x20'+_0x1f32bd,_0x3f8427);},'post':(_0x3de2ab,_0x59296e)=>{_0x5e3a21['set']('post\x20'+_0x3de2ab,_0x59296e);},'delete':(_0x140240,_0x31248c)=>{_0x5e3a21['set']('delete\x20'+_0x140240,_0x31248c);},'upgrade':(_0x426f27,_0x13c286)=>{_0x463d0c['set'](_0x426f27,_0x13c286);}});let _0x2dfe22={'endpoint':_0x3c3f5a,'http':_0x5e3a21,'upgrade':_0x463d0c};return this['_scopedEndpoints']['set'](_0x350c5a,_0x2dfe22),_0x2dfe22;}async['_getJoinableWorktree'](_0x38e1f9,_0x5ec5da){try{let _0x51f5d4=await this['_service']['getWorktree']({'worktreeID':_0x38e1f9},{'userID':_0x5ec5da['userID']});if(_0x51f5d4['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x51f5d4;}catch(_0x1fd2d3){throw _0x1fd2d3 instanceof i['WorktreeError']&&_0x1fd2d3['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x1fd2d3['message']):_0x1fd2d3;}}['_enqueueWorktreeChanged'](_0x1ccc22){if(this['_disposed'])return;let _0x9fd72b=_0x1ccc22['worktreeID'],_0x346168=(this['_eventQueues']['get'](_0x9fd72b)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x235339=[...this['_eventRooms']['get'](_0x9fd72b)?.['values']()??[]];for(let _0x98c01b of _0x235339){if(!_0x98c01b['ready']){_0x98c01b['pending']=_0x1ccc22;continue;}await this['_sendChanged'](_0x98c01b,_0x1ccc22);}});this['_eventQueues']['set'](_0x9fd72b,_0x346168),_0x346168['finally'](()=>{this['_eventQueues']['get'](_0x9fd72b)===_0x346168&&this['_eventQueues']['delete'](_0x9fd72b);});}['_sendChanged'](_0x625c71,_0x35a8f7){let _0x5d3506={'event':'worktreeChanged','worktree':_0x35a8f7};return Promise['resolve'](_0x625c71['connection']['send'](JSON['stringify'](_0x5d3506)));}['_removeEventBinding'](_0x2b964a){let _0x53b8b5=this['_eventBindings']['get'](_0x2b964a);if(!_0x53b8b5)return;this['_eventBindings']['delete'](_0x2b964a);let _0x107b8d=this['_eventRooms']['get'](_0x53b8b5['worktreeID']);_0x107b8d?.['delete'](_0x2b964a),_0x107b8d?.['size']===0x0&&this['_eventRooms']['delete'](_0x53b8b5['worktreeID']);}async['_emit'](_0xde582f,_0x1d4cac){for(let _0x5f2bac of[...this['_listeners']['get'](_0xde582f)??[]])try{await _0x5f2bac(_0x1d4cac);}catch{}}['_requireUser'](_0x3d631b){if(!_0x3d631b['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0x2f52f9,_0x462d91){let _0x30bc80=x(_0x462d91);b(_0x2f52f9,_0x30bc80['status'],{'error':_0x30bc80['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x3ce519,_0x214b7f){this['_service']=_0x3ce519,this['_worktreeID']=_0x214b7f;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x4df71b,_0x52a32b){return this['_service']['getUnitLoadData']({..._0x4df71b,'worktreeID':this['_worktreeID']},_0x52a32b);}['getUnitLoadDataWithBlocks'](_0x20823f,_0x214496){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x4df1f7,_0x54f84a){return this['_service']['getChangesets']({..._0x4df1f7,'worktreeID':this['_worktreeID']},_0x54f84a);}['getSheetBlock'](_0x2a5d12,_0x2b4a68){return this['_service']['getSheetBlock']({..._0x2a5d12,'worktreeID':this['_worktreeID']},_0x2b4a68);}['createUnitFromSnapshot'](_0x5a0c96,_0x33419a){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x45ea03,_0x23fc2b){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0xe429b7,_0x4b7732){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x2a57aa,_0x94a791){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x2d7123,_0x37027f){return this['_service']['submitChangeset']({..._0x2d7123,'worktreeID':this['_worktreeID']},_0x37027f);}['on'](_0x451aa5,_0x2177cd){return _0x451aa5==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x1227ee=>{if(_0x1227ee['request']['worktreeID']===this['_worktreeID'])return _0x2177cd(_0x1227ee);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x54f1c0){if(!_0x54f1c0||typeof _0x54f1c0!='object'||typeof _0x54f1c0['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x1ec040=_0x54f1c0['units'];if(_0x1ec040!==void 0x0&&(!Array['isArray'](_0x1ec040)||_0x1ec040['some'](_0x1de116=>typeof _0x1de116!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x12f400){if(!_0x12f400||typeof _0x12f400!='object'||typeof _0x12f400['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x4eda9b){if(!v(_0x4eda9b)||!v(_0x4eda9b['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x569ce7=_0x4eda9b['snapshot'];g(_0x569ce7);let _0x542c68=_0x4eda9b['sheetBlocks'];if(_0x542c68!==void 0x0&&(!Array['isArray'](_0x542c68)||_0x542c68['some'](_0x31faaf=>!v(_0x31faaf))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x5d11da of _0x542c68??[])_0x5d11da['data']=_(_0x5d11da['data'],'sheetBlocks[].data');return{'snapshot':_0x569ce7,'sheetBlocks':_0x542c68??[]};}function h(_0xb02efe){if(!v(_0xb02efe)||!y['has'](_0xb02efe['type'])||!v(_0xb02efe['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0xb02efe;}function g(_0x1405d8){let _0x3db78a=_0x1405d8['workbook']??_0x1405d8['doc']??_0x1405d8['slide']??_0x1405d8['board'];if(_0x3db78a&&(_0x3db78a['originalMeta']=_(_0x3db78a['originalMeta'],'snapshot\x20originalMeta'),_0x1405d8['workbook'])){for(let _0x1dd735 of Object['values'](_0x1405d8['workbook']['sheets']))_0x1dd735['originalMeta']=_(_0x1dd735['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0x19dfc4,_0x21173c){if(_0x19dfc4 instanceof Uint8Array)return _0x19dfc4;if(typeof _0x19dfc4!='string')throw new n['CollabError']('INVALID_REQUEST',_0x21173c+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0x19dfc4,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x21173c+'\x20must\x20be\x20valid\x20base64');}}function v(_0x4c8dc1){return!!_0x4c8dc1&&typeof _0x4c8dc1=='object'&&!Array['isArray'](_0x4c8dc1);}var y=new Set([a['UniverType']['UNIVER_SHEET'],a['UniverType']['UNIVER_DOC'],a['UniverType']['UNIVER_SLIDE'],a['UniverType']['UNIVER_BOARD'],a['UniverType']['UNIVER_BASE']]);function b(_0x1e603b,_0x9c1e74,_0x5aafed){let _0x29d81a=_0x1e603b['response'];_0x29d81a['writableEnded']||_0x29d81a['destroyed']||(_0x29d81a['statusCode']=_0x9c1e74,_0x29d81a['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x29d81a['end'](JSON['stringify'](_0x5aafed,(_0x44257b,_0x16009f)=>_0x16009f instanceof Uint8Array?Buffer['from'](_0x16009f)['toString']('base64'):_0x16009f)));}function x(_0x15f9b0){return _0x15f9b0 instanceof r['NodeTransportError']?{'status':_0x15f9b0['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x15f9b0['code']==='INVALID_JSON'||_0x15f9b0['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x15f9b0['code'],'message':_0x15f9b0['message']}}:_0x15f9b0 instanceof i['WorktreeError']?{'status':_0x15f9b0['code']==='WORKTREE_NOT_FOUND'||_0x15f9b0['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x15f9b0['code'],'message':_0x15f9b0['message'],'retryable':_0x15f9b0['retryable']}}:_0x15f9b0 instanceof n['CollabError']?{'status':{'UNAUTHENTICATED':0x191,'INVALID_REQUEST':0x190,'UNIT_NOT_FOUND':0x194,'PERMISSION_DENIED':0x193,'OT_CONFLICT':0x199,'REVISION_MISMATCH':0x199,'ADAPTER_FAILURE':0x1f7,'INTERNAL_ERROR':0x1f4}[_0x15f9b0['code']],'error':{'code':_0x15f9b0['code'],'message':_0x15f9b0['message'],'retryable':_0x15f9b0['retryable']}}:{'status':0x1f4,'error':{'code':'INTERNAL_ERROR','message':'Internal\x20server\x20error'}};}exports['UniverCollabWorktreeEndpoint']=u;
|
|
1
|
+
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('node:crypto'),t=require('@univerjs-pro/collaboration-endpoint'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs-pro/collaboration-transport-node'),i=require('@univerjs-pro/collaboration-worktree-service'),a=require('@univerjs/protocol');var o=class{['_middlewares']=new Map();['use'](_0x2faca9,_0x31814f){let _0x216f39=this['_middlewares']['get'](_0x2faca9)??[],_0x19fc98=_0x31814f;_0x216f39['push'](_0x19fc98),this['_middlewares']['set'](_0x2faca9,_0x216f39);let _0x2afcb6=!0x1;return{'dispose':()=>{if(_0x2afcb6)return;_0x2afcb6=!0x0;let _0x5ebded=_0x216f39['indexOf'](_0x19fc98);_0x5ebded>=0x0&&_0x216f39['splice'](_0x5ebded,0x1);}};}async['run'](_0x1e1b3f,_0x550457,_0x3b3509){let _0x22df73=[...this['_middlewares']['get'](_0x1e1b3f)??[]],_0x4d1738=async _0x1d2a86=>{let _0xaaca9a=_0x22df73[_0x1d2a86];if(!_0xaaca9a){await _0x3b3509();return;}let _0x1ff788=!0x1,_0xf27511;if(await _0xaaca9a(_0x550457,()=>{if(_0x1ff788)throw Error('Middleware\x20for\x20action\x20'+String(_0x1e1b3f)+'\x20called\x20next()\x20twice');return _0x1ff788=!0x0,_0xf27511=_0x4d1738(_0x1d2a86+0x1),_0xf27511;}),!_0x1ff788)throw Error('Middleware\x20for\x20action\x20'+String(_0x1e1b3f)+'\x20did\x20not\x20call\x20next()');await _0xf27511;};await _0x4d1738(0x0);}['clear'](){this['_middlewares']['clear']();}},s=0x5*0xea60,c='/universer-api/worktrees',l='/universer-api/user/session-ticket',u=class{['_service'];['_options'];['_middleware']=new o();['_listeners']=new Map();['_scopedEndpoints']=new Map();['_eventBindings']=new Map();['_eventRooms']=new Map();['_eventQueues']=new Map();['_subscriptions'];['_ticketTtlMs'];['_disposed']=!0x1;constructor(_0x171ff3,_0x31d3b2){if(this['_service']=_0x171ff3,this['_options']=_0x31d3b2,!_0x171ff3)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0x31d3b2?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0x31d3b2['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x1eb7ca=>this['_enqueueWorktreeChanged'](_0x1eb7ca['worktree'])),this['_service']['on']('worktreeCreated',_0x46e46b=>this['_enqueueWorktreeChanged'](_0x46e46b['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x55159f=>this['_enqueueWorktreeChanged'](_0x55159f['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x401548=>this['_enqueueWorktreeChanged'](_0x401548['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x43d7d9=>this['_enqueueWorktreeChanged'](_0x43d7d9['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x8e7648=>this['_enqueueWorktreeChanged'](_0x8e7648['worktree']))];}['use'](_0x5d2c94,_0x140177){return this['_assertRunning'](),this['_middleware']['use'](_0x5d2c94,_0x140177);}['on'](_0x70f15,_0x2fb121){this['_assertRunning']();let _0x10d7bf=this['_listeners']['get'](_0x70f15)??new Set(),_0x3c586e=_0x2fb121;_0x10d7bf['add'](_0x3c586e),this['_listeners']['set'](_0x70f15,_0x10d7bf);let _0x43e2e4=!0x1;return{'dispose':()=>{_0x43e2e4||(_0x43e2e4=!0x0,_0x10d7bf['delete'](_0x3c586e));}};}['register'](_0x5bc039){this['_assertRunning'](),_0x5bc039['get'](l,_0x24421a=>this['_handleTicket'](_0x24421a));let _0x3901ee=_0x50e783=>_0x29fa2c=>this['_handleManagement'](_0x29fa2c,{..._0x29fa2c['params'],'action':_0x50e783});_0x5bc039['post'](c,_0x3901ee('create')),_0x5bc039['get'](c+'/:worktreeID',_0x3901ee('get')),_0x5bc039['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x3901ee('evaluateUnitMerge'));for(let [_0x5988ef,_0x331125]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x5bc039['post'](c+'/:worktreeID/'+_0x5988ef,_0x3901ee(_0x331125));for(let [_0x290578,_0x44f46d]of[['get','/snapshot/:type/unit/:unitID/rev/:revision'],['get','/snapshot/:type/unit/:unitID/block/:blockID'],['get','/snapshot/block/:type/unit/:unitID/block/:blockID'],['get','/snapshot/:type/unit/:unitID/fetchmissing'],['post','/comb/:type/unit/:unitID/new_changes'],['delete','/snapshot/-/units'],['post','/snapshot/-/units/recover']]){let _0x12ae20=c+'/:worktreeID'+_0x44f46d;_0x5bc039[_0x290578](_0x12ae20,_0x1337e1=>{let _0xc8d14c=this['_scopedEndpoint'](_0x1337e1['params']['worktreeID'])['http']['get'](_0x290578+'\x20'+_0x12ae20);if(!_0xc8d14c)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0xc8d14c(_0x1337e1);});}let _0x59b0db=c+'/:worktreeID/comb/connect';_0x5bc039['upgrade'](_0x59b0db,_0x12da21=>{let _0x18d421=this['_scopedEndpoint'](_0x12da21['params']['worktreeID'])['upgrade']['get'](_0x59b0db);if(!_0x18d421)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x18d421(_0x12da21);}),_0x5bc039['upgrade'](c+'/:worktreeID/events',_0x187974=>this['_handleEventUpgrade'](_0x187974));}async['_handleEventUpgrade'](_0x41d7f5){this['_assertRunning']();let _0x34871c=new URL(_0x41d7f5['incomingMessage']['url']??'/','http://localhost'),_0x346dcc=await this['_options']['ticketStore']['consume'](_0x34871c['searchParams']['get']('sessionTicket')??'');if(!_0x346dcc){_0x41d7f5['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x587f68=_0x41d7f5['params']['worktreeID'];_0x41d7f5['accept']({'open':({connection:_0x573fb2})=>this['_openEventConnection'](_0x573fb2,_0x346dcc,_0x587f68),'message':({connection:_0x49734a})=>_0x49734a['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0x33a959})=>this['_removeEventBinding'](_0x33a959['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x3554f0=>_0x3554f0['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x25dc3b of this['_eventBindings']['values']())_0x25dc3b['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x33ecaa=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x33ecaa['map'](({endpoint:_0x5c2059})=>_0x5c2059['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x568edc){try{this['_assertRunning'](),this['_requireUser'](_0x568edc);let _0x5840c0=await this['_options']['ticketStore']['issue']({'userID':_0x568edc['userID'],'customData':_0x568edc['customData']},this['_ticketTtlMs']);b(_0x568edc,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x5840c0});}catch(_0x14b9fe){this['_writeFailure'](_0x568edc,_0x14b9fe);}}async['_handleManagement'](_0x3d8740,_0x231eb2){try{this['_assertRunning'](),this['_requireUser'](_0x3d8740);let _0x4adb98={'userID':_0x3d8740['userID'],'customData':_0x3d8740['customData']};if(_0x231eb2['action']==='evaluateUnitMerge'){let _0x7a1c7a=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x231eb2['worktreeID'],'unitID':_0x231eb2['unitID']},_0x4adb98);_0x3d8740['response']['setHeader']('cache-control','no-store'),b(_0x3d8740,0xc8,{'evaluation':_0x7a1c7a});return;}let _0x31daa8;switch(_0x231eb2['action']){case'create':{let _0x12afd9=await _0x3d8740['readJson']();f(_0x12afd9),_0x31daa8=await this['_service']['createWorktree'](_0x12afd9,_0x4adb98);break;}case'get':_0x31daa8=await this['_service']['getWorktree']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'setUnitRemoved':{let _0x2ece07=await _0x3d8740['readJson']();if(!v(_0x2ece07)||typeof _0x2ece07['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x31daa8=await this['_service']['setUnitRemoved']({'worktreeID':_0x231eb2['worktreeID'],'unitID':_0x231eb2['unitID'],'removed':_0x2ece07['removed']},_0x4adb98);break;}case'addUnit':{let _0x45751f=await _0x3d8740['readJson']();p(_0x45751f),_0x31daa8=await this['_service']['addUnit']({'worktreeID':_0x231eb2['worktreeID'],'unitID':_0x45751f['unitID']},_0x4adb98);break;}case'createUnitFromSnapshot':{let _0x51fff9=m(await _0x3d8740['readJson']());_0x31daa8=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x231eb2['worktreeID'],..._0x51fff9},_0x4adb98);break;}case'createUnitFromData':{let _0x264695=h(await _0x3d8740['readJson']());_0x31daa8=await this['_service']['createUnitFromData']({'worktreeID':_0x231eb2['worktreeID'],..._0x264695},_0x4adb98);break;}case'ready':_0x31daa8=await this['_service']['markReady']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'reopen':_0x31daa8=await this['_service']['reopenWorktree']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'discard':_0x31daa8=await this['_service']['discardWorktree']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'merge':_0x31daa8=await this['_service']['mergeWorktree']({'worktreeID':_0x231eb2['worktreeID']},{..._0x4adb98,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x3d8740,0xc8,{'worktree':_0x31daa8['worktree']});}catch(_0x1d929e){this['_writeFailure'](_0x3d8740,_0x1d929e);}}async['_openEventConnection'](_0x454e87,_0x59c351,_0x572e4e){try{let _0x464d55=(0x0,e['randomUUID'])(),_0x5a8166={'memberID':_0x464d55,'userID':_0x59c351['userID'],'customData':_0x59c351['customData']},_0x45c04c={'memberID':_0x464d55,'userID':_0x59c351['userID'],'name':_0x59c351['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x572e4e,'session':_0x5a8166,'connection':_0x454e87,'member':_0x45c04c},async()=>void 0x0);let _0x40452c={'worktreeID':_0x572e4e,'connection':_0x454e87,'session':_0x5a8166,'ready':!0x1};this['_eventBindings']['set'](_0x454e87['id'],_0x40452c);let _0x2f90bf=this['_eventRooms']['get'](_0x572e4e)??new Map();_0x2f90bf['set'](_0x454e87['id'],_0x40452c),this['_eventRooms']['set'](_0x572e4e,_0x2f90bf);try{let {worktree:_0x244a18}=await this['_service']['getWorktree']({'worktreeID':_0x572e4e},{'userID':_0x5a8166['userID'],'customData':_0x454e87['customData']});if(await this['_sendChanged'](_0x40452c,_0x244a18),_0x40452c['ready']=!0x0,_0x40452c['pending']){let _0x521235=_0x40452c['pending'];delete _0x40452c['pending'],await this['_sendChanged'](_0x40452c,_0x521235);}}catch(_0x201c86){throw this['_removeEventBinding'](_0x454e87['id']),_0x201c86;}}catch(_0x418f2b){_0x454e87['close'](_0x418f2b instanceof n['CollabError']||_0x418f2b instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x445f65){this['_assertRunning']();let _0x95497=this['_scopedEndpoints']['get'](_0x445f65);if(_0x95497)return _0x95497;let _0x27110a=new t['UniverCollabEndpoint'](new d(this['_service'],_0x445f65),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x27110a['use']('connect',(_0x562e94,_0x371a3b)=>this['_middleware']['run']('connect',{..._0x562e94,'worktreeID':_0x445f65},_0x371a3b)),_0x27110a['use']('joinUnit',async(_0x4f1610,_0x5a5bc7)=>{let {worktree:_0x21db13}=await this['_getJoinableWorktree'](_0x445f65,_0x4f1610['session']);if(!_0x21db13['units']['some'](({unitID:_0x206f2d})=>_0x206f2d===_0x4f1610['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x4f1610['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x445f65);await this['_middleware']['run']('joinUnit',{..._0x4f1610,'worktreeID':_0x445f65},_0x5a5bc7);}),_0x27110a['use']('receivePresence',(_0x32a300,_0x3d63d5)=>this['_middleware']['run']('receivePresence',{..._0x32a300,'worktreeID':_0x445f65},_0x3d63d5)),_0x27110a['use']('sendPresence',(_0x2ef3d6,_0x3fa5ad)=>this['_middleware']['run']('sendPresence',{..._0x2ef3d6,'worktreeID':_0x445f65},_0x3fa5ad)),_0x27110a['on']('memberLeftUnit',_0x425196=>this['_emit']('memberLeftUnit',{..._0x425196,'worktreeID':_0x445f65}));let _0x8654ff=new Map(),_0xcbb03b=new Map();_0x27110a['register']({'get':(_0x2c623e,_0x4a2843)=>{_0x8654ff['set']('get\x20'+_0x2c623e,_0x4a2843);},'post':(_0x42e3d4,_0x27c497)=>{_0x8654ff['set']('post\x20'+_0x42e3d4,_0x27c497);},'delete':(_0x3141cd,_0x2b4b26)=>{_0x8654ff['set']('delete\x20'+_0x3141cd,_0x2b4b26);},'upgrade':(_0x7a0c26,_0x35a69e)=>{_0xcbb03b['set'](_0x7a0c26,_0x35a69e);}});let _0x27812a={'endpoint':_0x27110a,'http':_0x8654ff,'upgrade':_0xcbb03b};return this['_scopedEndpoints']['set'](_0x445f65,_0x27812a),_0x27812a;}async['_getJoinableWorktree'](_0x2f6a47,_0x373819){try{let _0x5049eb=await this['_service']['getWorktree']({'worktreeID':_0x2f6a47},{'userID':_0x373819['userID']});if(_0x5049eb['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x5049eb;}catch(_0x4808b7){throw _0x4808b7 instanceof i['WorktreeError']&&_0x4808b7['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x4808b7['message']):_0x4808b7;}}['_enqueueWorktreeChanged'](_0x2c26ec){if(this['_disposed'])return;let _0x17254=_0x2c26ec['worktreeID'],_0x1d0d66=(this['_eventQueues']['get'](_0x17254)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x13dfa8=[...this['_eventRooms']['get'](_0x17254)?.['values']()??[]];for(let _0x48b52c of _0x13dfa8){if(!_0x48b52c['ready']){_0x48b52c['pending']=_0x2c26ec;continue;}await this['_sendChanged'](_0x48b52c,_0x2c26ec);}});this['_eventQueues']['set'](_0x17254,_0x1d0d66),_0x1d0d66['finally'](()=>{this['_eventQueues']['get'](_0x17254)===_0x1d0d66&&this['_eventQueues']['delete'](_0x17254);});}['_sendChanged'](_0x52d307,_0x2ef8fa){let _0x14fcfe={'event':'worktreeChanged','worktree':_0x2ef8fa};return Promise['resolve'](_0x52d307['connection']['send'](JSON['stringify'](_0x14fcfe)));}['_removeEventBinding'](_0x421592){let _0x42f3e3=this['_eventBindings']['get'](_0x421592);if(!_0x42f3e3)return;this['_eventBindings']['delete'](_0x421592);let _0x28acb9=this['_eventRooms']['get'](_0x42f3e3['worktreeID']);_0x28acb9?.['delete'](_0x421592),_0x28acb9?.['size']===0x0&&this['_eventRooms']['delete'](_0x42f3e3['worktreeID']);}async['_emit'](_0x433c4c,_0x2aa17b){for(let _0x2f9350 of[...this['_listeners']['get'](_0x433c4c)??[]])try{await _0x2f9350(_0x2aa17b);}catch{}}['_requireUser'](_0x58c243){if(!_0x58c243['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0xb39df4,_0x33cf0e){let _0x3bdf6d=x(_0x33cf0e);b(_0xb39df4,_0x3bdf6d['status'],{'error':_0x3bdf6d['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x2fbf9b,_0x37cfff){this['_service']=_0x2fbf9b,this['_worktreeID']=_0x37cfff;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x5da31d,_0x406bcc){return this['_service']['getUnitLoadData']({..._0x5da31d,'worktreeID':this['_worktreeID']},_0x406bcc);}['getUnitLoadDataWithBlocks'](_0x493302,_0xafeca0){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x259502,_0xb9e2e7){return this['_service']['getChangesets']({..._0x259502,'worktreeID':this['_worktreeID']},_0xb9e2e7);}['getSheetBlock'](_0x347dbf,_0x384811){return this['_service']['getSheetBlock']({..._0x347dbf,'worktreeID':this['_worktreeID']},_0x384811);}['createUnitFromSnapshot'](_0x170a44,_0x51152d){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x34a66a,_0x463ba8){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0x3f63ef,_0x450215){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x31f5b6,_0x413568){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x2b8984,_0x4d0e3f){return this['_service']['submitChangeset']({..._0x2b8984,'worktreeID':this['_worktreeID']},_0x4d0e3f);}['on'](_0x4773e5,_0x2f4bec){return _0x4773e5==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x2f2cda=>{if(_0x2f2cda['request']['worktreeID']===this['_worktreeID'])return _0x2f4bec(_0x2f2cda);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x2e11fc){if(!_0x2e11fc||typeof _0x2e11fc!='object'||typeof _0x2e11fc['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x2f2fea=_0x2e11fc['units'];if(_0x2f2fea!==void 0x0&&(!Array['isArray'](_0x2f2fea)||_0x2f2fea['some'](_0x3da9bb=>typeof _0x3da9bb!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x504c0f){if(!_0x504c0f||typeof _0x504c0f!='object'||typeof _0x504c0f['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x5a0cfc){if(!v(_0x5a0cfc)||!v(_0x5a0cfc['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x4be3b5=_0x5a0cfc['snapshot'];g(_0x4be3b5);let _0x16c222=_0x5a0cfc['sheetBlocks'];if(_0x16c222!==void 0x0&&(!Array['isArray'](_0x16c222)||_0x16c222['some'](_0x3d9b6b=>!v(_0x3d9b6b))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x3d166d of _0x16c222??[])_0x3d166d['data']=_(_0x3d166d['data'],'sheetBlocks[].data');return{'snapshot':_0x4be3b5,'sheetBlocks':_0x16c222??[]};}function h(_0x5a2743){if(!v(_0x5a2743)||!y['has'](_0x5a2743['type'])||!v(_0x5a2743['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x5a2743;}function g(_0x4dbde7){let _0x1b9e08=_0x4dbde7['workbook']??_0x4dbde7['doc']??_0x4dbde7['slide']??_0x4dbde7['board'];if(_0x1b9e08&&(_0x1b9e08['originalMeta']=_(_0x1b9e08['originalMeta'],'snapshot\x20originalMeta'),_0x4dbde7['workbook'])){for(let _0x4b1eca of Object['values'](_0x4dbde7['workbook']['sheets']))_0x4b1eca['originalMeta']=_(_0x4b1eca['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0x5282ad,_0x2efc63){if(_0x5282ad instanceof Uint8Array)return _0x5282ad;if(typeof _0x5282ad!='string')throw new n['CollabError']('INVALID_REQUEST',_0x2efc63+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0x5282ad,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x2efc63+'\x20must\x20be\x20valid\x20base64');}}function v(_0x4567be){return!!_0x4567be&&typeof _0x4567be=='object'&&!Array['isArray'](_0x4567be);}var y=new Set([a['UniverType']['UNIVER_SHEET'],a['UniverType']['UNIVER_DOC'],a['UniverType']['UNIVER_SLIDE'],a['UniverType']['UNIVER_BOARD'],a['UniverType']['UNIVER_BASE']]);function b(_0x912276,_0x2e5657,_0x23a21b){let _0x2ab7be=_0x912276['response'];_0x2ab7be['writableEnded']||_0x2ab7be['destroyed']||(_0x2ab7be['statusCode']=_0x2e5657,_0x2ab7be['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x2ab7be['end'](JSON['stringify'](_0x23a21b,(_0x1bf47e,_0x437acf)=>_0x437acf instanceof Uint8Array?Buffer['from'](_0x437acf)['toString']('base64'):_0x437acf)));}function x(_0x14c6eb){return _0x14c6eb instanceof r['NodeTransportError']?{'status':_0x14c6eb['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x14c6eb['code']==='INVALID_JSON'||_0x14c6eb['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x14c6eb['code'],'message':_0x14c6eb['message']}}:_0x14c6eb instanceof i['WorktreeError']?{'status':_0x14c6eb['code']==='WORKTREE_NOT_FOUND'||_0x14c6eb['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x14c6eb['code'],'message':_0x14c6eb['message'],'retryable':_0x14c6eb['retryable']}}:_0x14c6eb instanceof n['CollabError']?{'status':{'UNAUTHENTICATED':0x191,'INVALID_REQUEST':0x190,'UNIT_NOT_FOUND':0x194,'PERMISSION_DENIED':0x193,'OT_CONFLICT':0x199,'REVISION_MISMATCH':0x199,'ADAPTER_FAILURE':0x1f7,'INTERNAL_ERROR':0x1f4}[_0x14c6eb['code']],'error':{'code':_0x14c6eb['code'],'message':_0x14c6eb['message'],'retryable':_0x14c6eb['retryable']}}:{'status':0x1f4,'error':{'code':'INTERNAL_ERROR','message':'Internal\x20server\x20error'}};}exports['UniverCollabWorktreeEndpoint']=u;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x5c9d5e=_0x325a;(function(_0x471eb4,_0x38d231){const _0x8c516b=_0x325a,_0x363ba6=_0x471eb4();while(!![]){try{const _0x1b827b=parseInt(_0x8c516b(0x17a))/0x1*(parseInt(_0x8c516b(0x185))/0x2)+-parseInt(_0x8c516b(0x17d))/0x3+-parseInt(_0x8c516b(0x17b))/0x4*(-parseInt(_0x8c516b(0x183))/0x5)+parseInt(_0x8c516b(0x17e))/0x6+-parseInt(_0x8c516b(0x17f))/0x7*(-parseInt(_0x8c516b(0x180))/0x8)+-parseInt(_0x8c516b(0x181))/0x9+parseInt(_0x8c516b(0x17c))/0xa*(-parseInt(_0x8c516b(0x184))/0xb);if(_0x1b827b===_0x38d231)break;else _0x363ba6['push'](_0x363ba6['shift']());}catch(_0xb7cdc5){_0x363ba6['push'](_0x363ba6['shift']());}}}(_0x4e40,0xdedab));function _0x4e40(){const _0x1b0b16=['9047322mGsYEe','7fbbcpI','8474104OKemnl','8698374zyhJNB','UniverCollabWorktreeEndpoint','9106730LqeCwT','23977261qcbgFi','44ZXNYgg','37123QNhriU','4rvxzST','10mEpsYF','3438462OEScRQ'];_0x4e40=function(){return _0x1b0b16;};return _0x4e40();}import _0x1332e3 from'./index.cjs';const facadeExport0=_0x1332e3[_0x5c9d5e(0x182)];function _0x325a(_0x4d3ee7,_0x3c349b){_0x4d3ee7=_0x4d3ee7-0x17a;const _0x4e403f=_0x4e40();let _0x325a85=_0x4e403f[_0x4d3ee7];return _0x325a85;}export{facadeExport0 as UniverCollabWorktreeEndpoint};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs-pro/collaboration-worktree-endpoint",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.2",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@univerjs-pro/collaboration-endpoint": "1.0.
|
|
20
|
-
"@univerjs-pro/collaboration-service": "1.0.
|
|
21
|
-
"@univerjs-pro/collaboration-transport-node": "1.0.
|
|
22
|
-
"@univerjs-pro/collaboration-worktree-service": "1.0.
|
|
23
|
-
"@univerjs/protocol": "1.0.
|
|
19
|
+
"@univerjs-pro/collaboration-endpoint": "1.0.2",
|
|
20
|
+
"@univerjs-pro/collaboration-service": "1.0.2",
|
|
21
|
+
"@univerjs-pro/collaboration-transport-node": "1.0.2",
|
|
22
|
+
"@univerjs-pro/collaboration-worktree-service": "1.0.2",
|
|
23
|
+
"@univerjs/protocol": "1.0.2"
|
|
24
24
|
}
|
|
25
25
|
}
|