@univerjs-pro/collaboration-worktree-endpoint 1.0.1 → 1.0.3

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 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'](_0x204305,_0xcb2b53){let _0x39b1e2=this['_middlewares']['get'](_0x204305)??[],_0x568a8e=_0xcb2b53;_0x39b1e2['push'](_0x568a8e),this['_middlewares']['set'](_0x204305,_0x39b1e2);let _0x22e093=!0x1;return{'dispose':()=>{if(_0x22e093)return;_0x22e093=!0x0;let _0x22e33b=_0x39b1e2['indexOf'](_0x568a8e);_0x22e33b>=0x0&&_0x39b1e2['splice'](_0x22e33b,0x1);}};}async['run'](_0x4aae4d,_0xa96e80,_0x21c3c4){let _0xede772=[...this['_middlewares']['get'](_0x4aae4d)??[]],_0x3ed925=async _0x2b36b3=>{let _0x326ad2=_0xede772[_0x2b36b3];if(!_0x326ad2){await _0x21c3c4();return;}let _0xac55da=!0x1,_0x4f12ad;if(await _0x326ad2(_0xa96e80,()=>{if(_0xac55da)throw Error('Middleware\x20for\x20action\x20'+String(_0x4aae4d)+'\x20called\x20next()\x20twice');return _0xac55da=!0x0,_0x4f12ad=_0x3ed925(_0x2b36b3+0x1),_0x4f12ad;}),!_0xac55da)throw Error('Middleware\x20for\x20action\x20'+String(_0x4aae4d)+'\x20did\x20not\x20call\x20next()');await _0x4f12ad;};await _0x3ed925(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(_0x7922fd,_0xdfc70f){if(this['_service']=_0x7922fd,this['_options']=_0xdfc70f,!_0x7922fd)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0xdfc70f?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0xdfc70f['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x1f7ea7=>this['_enqueueWorktreeChanged'](_0x1f7ea7['worktree'])),this['_service']['on']('worktreeCreated',_0x3a0cf9=>this['_enqueueWorktreeChanged'](_0x3a0cf9['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x1ff4ed=>this['_enqueueWorktreeChanged'](_0x1ff4ed['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x30ef55=>this['_enqueueWorktreeChanged'](_0x30ef55['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x18783d=>this['_enqueueWorktreeChanged'](_0x18783d['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x1b2a48=>this['_enqueueWorktreeChanged'](_0x1b2a48['worktree']))];}['use'](_0x1da8cc,_0x35d60c){return this['_assertRunning'](),this['_middleware']['use'](_0x1da8cc,_0x35d60c);}['on'](_0x1a56f9,_0x3148c6){this['_assertRunning']();let _0x2f2650=this['_listeners']['get'](_0x1a56f9)??new Set(),_0xfe676d=_0x3148c6;_0x2f2650['add'](_0xfe676d),this['_listeners']['set'](_0x1a56f9,_0x2f2650);let _0x4ad352=!0x1;return{'dispose':()=>{_0x4ad352||(_0x4ad352=!0x0,_0x2f2650['delete'](_0xfe676d));}};}['register'](_0x22f6c9){this['_assertRunning'](),_0x22f6c9['get'](l,_0x536858=>this['_handleTicket'](_0x536858));let _0x227db3=_0x4a2d5d=>_0x3f0f65=>this['_handleManagement'](_0x3f0f65,{..._0x3f0f65['params'],'action':_0x4a2d5d});_0x22f6c9['post'](c,_0x227db3('create')),_0x22f6c9['get'](c+'/:worktreeID',_0x227db3('get')),_0x22f6c9['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x227db3('evaluateUnitMerge'));for(let [_0x5d18c7,_0x3e42ae]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x22f6c9['post'](c+'/:worktreeID/'+_0x5d18c7,_0x227db3(_0x3e42ae));for(let [_0x5f244d,_0x123321]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 _0x34516c=c+'/:worktreeID'+_0x123321;_0x22f6c9[_0x5f244d](_0x34516c,_0x555762=>{let _0x29339d=this['_scopedEndpoint'](_0x555762['params']['worktreeID'])['http']['get'](_0x5f244d+'\x20'+_0x34516c);if(!_0x29339d)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0x29339d(_0x555762);});}let _0x4854f6=c+'/:worktreeID/comb/connect';_0x22f6c9['upgrade'](_0x4854f6,_0x48723c=>{let _0x4643ac=this['_scopedEndpoint'](_0x48723c['params']['worktreeID'])['upgrade']['get'](_0x4854f6);if(!_0x4643ac)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x4643ac(_0x48723c);}),_0x22f6c9['upgrade'](c+'/:worktreeID/events',_0x10f972=>this['_handleEventUpgrade'](_0x10f972));}async['_handleEventUpgrade'](_0x4985d3){this['_assertRunning']();let _0x55f872=new URL(_0x4985d3['incomingMessage']['url']??'/','http://localhost'),_0x30e710=await this['_options']['ticketStore']['consume'](_0x55f872['searchParams']['get']('sessionTicket')??'');if(!_0x30e710){_0x4985d3['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x4c27eb=_0x4985d3['params']['worktreeID'];_0x4985d3['accept']({'open':({connection:_0xbef242})=>this['_openEventConnection'](_0xbef242,_0x30e710,_0x4c27eb),'message':({connection:_0x359c3e})=>_0x359c3e['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0xd5a264})=>this['_removeEventBinding'](_0xd5a264['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x27cd38=>_0x27cd38['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x4c90b3 of this['_eventBindings']['values']())_0x4c90b3['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x393d8c=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x393d8c['map'](({endpoint:_0x507056})=>_0x507056['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x38b996){try{this['_assertRunning'](),this['_requireUser'](_0x38b996);let _0x23e8e4=await this['_options']['ticketStore']['issue']({'userID':_0x38b996['userID'],'customData':_0x38b996['customData']},this['_ticketTtlMs']);b(_0x38b996,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x23e8e4});}catch(_0x4e1792){this['_writeFailure'](_0x38b996,_0x4e1792);}}async['_handleManagement'](_0x163609,_0x38b06f){try{this['_assertRunning'](),this['_requireUser'](_0x163609);let _0x3afb63={'userID':_0x163609['userID'],'customData':_0x163609['customData']};if(_0x38b06f['action']==='evaluateUnitMerge'){let _0x45032e=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x38b06f['worktreeID'],'unitID':_0x38b06f['unitID']},_0x3afb63);_0x163609['response']['setHeader']('cache-control','no-store'),b(_0x163609,0xc8,{'evaluation':_0x45032e});return;}let _0x52c935;switch(_0x38b06f['action']){case'create':{let _0x5bae64=await _0x163609['readJson']();f(_0x5bae64),_0x52c935=await this['_service']['createWorktree'](_0x5bae64,_0x3afb63);break;}case'get':_0x52c935=await this['_service']['getWorktree']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'setUnitRemoved':{let _0x2eb3b5=await _0x163609['readJson']();if(!v(_0x2eb3b5)||typeof _0x2eb3b5['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x52c935=await this['_service']['setUnitRemoved']({'worktreeID':_0x38b06f['worktreeID'],'unitID':_0x38b06f['unitID'],'removed':_0x2eb3b5['removed']},_0x3afb63);break;}case'addUnit':{let _0x374701=await _0x163609['readJson']();p(_0x374701),_0x52c935=await this['_service']['addUnit']({'worktreeID':_0x38b06f['worktreeID'],'unitID':_0x374701['unitID']},_0x3afb63);break;}case'createUnitFromSnapshot':{let _0x2ba9db=m(await _0x163609['readJson']());_0x52c935=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x38b06f['worktreeID'],..._0x2ba9db},_0x3afb63);break;}case'createUnitFromData':{let _0x17a4a6=h(await _0x163609['readJson']());_0x52c935=await this['_service']['createUnitFromData']({'worktreeID':_0x38b06f['worktreeID'],..._0x17a4a6},_0x3afb63);break;}case'ready':_0x52c935=await this['_service']['markReady']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'reopen':_0x52c935=await this['_service']['reopenWorktree']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'discard':_0x52c935=await this['_service']['discardWorktree']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'merge':_0x52c935=await this['_service']['mergeWorktree']({'worktreeID':_0x38b06f['worktreeID']},{..._0x3afb63,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x163609,0xc8,{'worktree':_0x52c935['worktree']});}catch(_0x454414){this['_writeFailure'](_0x163609,_0x454414);}}async['_openEventConnection'](_0x38e644,_0x6e474a,_0x7cde3){try{let _0x21abf7=(0x0,e['randomUUID'])(),_0x140db5={'memberID':_0x21abf7,'userID':_0x6e474a['userID'],'customData':_0x6e474a['customData']},_0x45f0a3={'memberID':_0x21abf7,'userID':_0x6e474a['userID'],'name':_0x6e474a['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x7cde3,'session':_0x140db5,'connection':_0x38e644,'member':_0x45f0a3},async()=>void 0x0);let _0x32def1={'worktreeID':_0x7cde3,'connection':_0x38e644,'session':_0x140db5,'ready':!0x1};this['_eventBindings']['set'](_0x38e644['id'],_0x32def1);let _0x46afe5=this['_eventRooms']['get'](_0x7cde3)??new Map();_0x46afe5['set'](_0x38e644['id'],_0x32def1),this['_eventRooms']['set'](_0x7cde3,_0x46afe5);try{let {worktree:_0x4dd636}=await this['_service']['getWorktree']({'worktreeID':_0x7cde3},{'userID':_0x140db5['userID'],'customData':_0x38e644['customData']});if(await this['_sendChanged'](_0x32def1,_0x4dd636),_0x32def1['ready']=!0x0,_0x32def1['pending']){let _0x3b4566=_0x32def1['pending'];delete _0x32def1['pending'],await this['_sendChanged'](_0x32def1,_0x3b4566);}}catch(_0x3e39af){throw this['_removeEventBinding'](_0x38e644['id']),_0x3e39af;}}catch(_0x532e68){_0x38e644['close'](_0x532e68 instanceof n['CollabError']||_0x532e68 instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x3c6dfa){this['_assertRunning']();let _0x4dda2b=this['_scopedEndpoints']['get'](_0x3c6dfa);if(_0x4dda2b)return _0x4dda2b;let _0x231bdd=new t['UniverCollabEndpoint'](new d(this['_service'],_0x3c6dfa),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x231bdd['use']('connect',(_0x33c7a8,_0x301b98)=>this['_middleware']['run']('connect',{..._0x33c7a8,'worktreeID':_0x3c6dfa},_0x301b98)),_0x231bdd['use']('joinUnit',async(_0x10b8a4,_0x5ccd5c)=>{let {worktree:_0x4191ba}=await this['_getJoinableWorktree'](_0x3c6dfa,_0x10b8a4['session']);if(!_0x4191ba['units']['some'](({unitID:_0xce7a8d})=>_0xce7a8d===_0x10b8a4['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x10b8a4['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x3c6dfa);await this['_middleware']['run']('joinUnit',{..._0x10b8a4,'worktreeID':_0x3c6dfa},_0x5ccd5c);}),_0x231bdd['use']('receivePresence',(_0x4fc992,_0x274558)=>this['_middleware']['run']('receivePresence',{..._0x4fc992,'worktreeID':_0x3c6dfa},_0x274558)),_0x231bdd['use']('sendPresence',(_0x43a4de,_0x475927)=>this['_middleware']['run']('sendPresence',{..._0x43a4de,'worktreeID':_0x3c6dfa},_0x475927)),_0x231bdd['on']('memberLeftUnit',_0x5259d9=>this['_emit']('memberLeftUnit',{..._0x5259d9,'worktreeID':_0x3c6dfa}));let _0x407701=new Map(),_0x5f23b7=new Map();_0x231bdd['register']({'get':(_0x3b9348,_0x3933a2)=>{_0x407701['set']('get\x20'+_0x3b9348,_0x3933a2);},'post':(_0x415f2f,_0x217be1)=>{_0x407701['set']('post\x20'+_0x415f2f,_0x217be1);},'delete':(_0x586d34,_0x1a2c9a)=>{_0x407701['set']('delete\x20'+_0x586d34,_0x1a2c9a);},'upgrade':(_0x24708f,_0x4dc480)=>{_0x5f23b7['set'](_0x24708f,_0x4dc480);}});let _0x5c2f6e={'endpoint':_0x231bdd,'http':_0x407701,'upgrade':_0x5f23b7};return this['_scopedEndpoints']['set'](_0x3c6dfa,_0x5c2f6e),_0x5c2f6e;}async['_getJoinableWorktree'](_0x4e19d9,_0x202cdc){try{let _0x5a378f=await this['_service']['getWorktree']({'worktreeID':_0x4e19d9},{'userID':_0x202cdc['userID']});if(_0x5a378f['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x5a378f;}catch(_0x18a6b0){throw _0x18a6b0 instanceof i['WorktreeError']&&_0x18a6b0['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x18a6b0['message']):_0x18a6b0;}}['_enqueueWorktreeChanged'](_0x453305){if(this['_disposed'])return;let _0x443d27=_0x453305['worktreeID'],_0x1a39a0=(this['_eventQueues']['get'](_0x443d27)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x37a440=[...this['_eventRooms']['get'](_0x443d27)?.['values']()??[]];for(let _0x18e245 of _0x37a440){if(!_0x18e245['ready']){_0x18e245['pending']=_0x453305;continue;}await this['_sendChanged'](_0x18e245,_0x453305);}});this['_eventQueues']['set'](_0x443d27,_0x1a39a0),_0x1a39a0['finally'](()=>{this['_eventQueues']['get'](_0x443d27)===_0x1a39a0&&this['_eventQueues']['delete'](_0x443d27);});}['_sendChanged'](_0x2d5f64,_0x5d4498){let _0x5e1149={'event':'worktreeChanged','worktree':_0x5d4498};return Promise['resolve'](_0x2d5f64['connection']['send'](JSON['stringify'](_0x5e1149)));}['_removeEventBinding'](_0x30f037){let _0xa315d1=this['_eventBindings']['get'](_0x30f037);if(!_0xa315d1)return;this['_eventBindings']['delete'](_0x30f037);let _0x1de8e0=this['_eventRooms']['get'](_0xa315d1['worktreeID']);_0x1de8e0?.['delete'](_0x30f037),_0x1de8e0?.['size']===0x0&&this['_eventRooms']['delete'](_0xa315d1['worktreeID']);}async['_emit'](_0x3a5711,_0x3d4134){for(let _0x4ea0ea of[...this['_listeners']['get'](_0x3a5711)??[]])try{await _0x4ea0ea(_0x3d4134);}catch{}}['_requireUser'](_0x514f08){if(!_0x514f08['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0x45368b,_0x111410){let _0x49054e=x(_0x111410);b(_0x45368b,_0x49054e['status'],{'error':_0x49054e['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x48f339,_0x1ef91e){this['_service']=_0x48f339,this['_worktreeID']=_0x1ef91e;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x5c219d,_0x3e8f56){return this['_service']['getUnitLoadData']({..._0x5c219d,'worktreeID':this['_worktreeID']},_0x3e8f56);}['getUnitLoadDataWithBlocks'](_0x41bad9,_0x540726){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x27c709,_0x2b6086){return this['_service']['getChangesets']({..._0x27c709,'worktreeID':this['_worktreeID']},_0x2b6086);}['getSheetBlock'](_0x1e2116,_0xedb7ff){return this['_service']['getSheetBlock']({..._0x1e2116,'worktreeID':this['_worktreeID']},_0xedb7ff);}['createUnitFromSnapshot'](_0x4b41bf,_0x447ea4){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x52add1,_0x32c448){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0x3f3b2f,_0x168fa6){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x5411c3,_0x2932b0){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x491d32,_0x15c0dc){return this['_service']['submitChangeset']({..._0x491d32,'worktreeID':this['_worktreeID']},_0x15c0dc);}['on'](_0x43b6f0,_0x20d148){return _0x43b6f0==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x49622b=>{if(_0x49622b['request']['worktreeID']===this['_worktreeID'])return _0x20d148(_0x49622b);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x3e151b){if(!_0x3e151b||typeof _0x3e151b!='object'||typeof _0x3e151b['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x1a7bcb=_0x3e151b['units'];if(_0x1a7bcb!==void 0x0&&(!Array['isArray'](_0x1a7bcb)||_0x1a7bcb['some'](_0x2a9887=>typeof _0x2a9887!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x4d8bd1){if(!_0x4d8bd1||typeof _0x4d8bd1!='object'||typeof _0x4d8bd1['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x5e26c9){if(!v(_0x5e26c9)||!v(_0x5e26c9['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x46f67c=_0x5e26c9['snapshot'];g(_0x46f67c);let _0x5f0e7b=_0x5e26c9['sheetBlocks'];if(_0x5f0e7b!==void 0x0&&(!Array['isArray'](_0x5f0e7b)||_0x5f0e7b['some'](_0x2c69bd=>!v(_0x2c69bd))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x5af894 of _0x5f0e7b??[])_0x5af894['data']=_(_0x5af894['data'],'sheetBlocks[].data');return{'snapshot':_0x46f67c,'sheetBlocks':_0x5f0e7b??[]};}function h(_0x3a2778){if(!v(_0x3a2778)||!y['has'](_0x3a2778['type'])||!v(_0x3a2778['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x3a2778;}function g(_0x5052be){let _0x50c039=_0x5052be['workbook']??_0x5052be['doc']??_0x5052be['slide']??_0x5052be['board'];if(_0x50c039&&(_0x50c039['originalMeta']=_(_0x50c039['originalMeta'],'snapshot\x20originalMeta'),_0x5052be['workbook'])){for(let _0x464a68 of Object['values'](_0x5052be['workbook']['sheets']))_0x464a68['originalMeta']=_(_0x464a68['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0xcfa779,_0x3fafb8){if(_0xcfa779 instanceof Uint8Array)return _0xcfa779;if(typeof _0xcfa779!='string')throw new n['CollabError']('INVALID_REQUEST',_0x3fafb8+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0xcfa779,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x3fafb8+'\x20must\x20be\x20valid\x20base64');}}function v(_0x2e3b1d){return!!_0x2e3b1d&&typeof _0x2e3b1d=='object'&&!Array['isArray'](_0x2e3b1d);}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(_0x236943,_0x4df74f,_0x300585){let _0x51fba8=_0x236943['response'];_0x51fba8['writableEnded']||_0x51fba8['destroyed']||(_0x51fba8['statusCode']=_0x4df74f,_0x51fba8['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x51fba8['end'](JSON['stringify'](_0x300585,(_0x17cc64,_0x7b7c93)=>_0x7b7c93 instanceof Uint8Array?Buffer['from'](_0x7b7c93)['toString']('base64'):_0x7b7c93)));}function x(_0x2b5db1){return _0x2b5db1 instanceof r['NodeTransportError']?{'status':_0x2b5db1['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x2b5db1['code']==='INVALID_JSON'||_0x2b5db1['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x2b5db1['code'],'message':_0x2b5db1['message']}}:_0x2b5db1 instanceof i['WorktreeError']?{'status':_0x2b5db1['code']==='WORKTREE_NOT_FOUND'||_0x2b5db1['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x2b5db1['code'],'message':_0x2b5db1['message'],'retryable':_0x2b5db1['retryable']}}:_0x2b5db1 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}[_0x2b5db1['code']],'error':{'code':_0x2b5db1['code'],'message':_0x2b5db1['message'],'retryable':_0x2b5db1['retryable']}}:{'status':0x1f4,'error':{'code':'INTERNAL_ERROR','message':'Internal\x20server\x20error'}};}exports['UniverCollabWorktreeEndpoint']=u;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x39ea33=_0x3ed3;(function(_0x3f466a,_0x55440a){const _0xc23086=_0x3ed3,_0x34373d=_0x3f466a();while(!![]){try{const _0x3351df=parseInt(_0xc23086(0x145))/0x1+-parseInt(_0xc23086(0x13e))/0x2+parseInt(_0xc23086(0x140))/0x3*(parseInt(_0xc23086(0x141))/0x4)+parseInt(_0xc23086(0x143))/0x5*(-parseInt(_0xc23086(0x142))/0x6)+-parseInt(_0xc23086(0x13d))/0x7+parseInt(_0xc23086(0x144))/0x8+-parseInt(_0xc23086(0x13c))/0x9*(-parseInt(_0xc23086(0x13b))/0xa);if(_0x3351df===_0x55440a)break;else _0x34373d['push'](_0x34373d['shift']());}catch(_0x5e5d13){_0x34373d['push'](_0x34373d['shift']());}}}(_0x3151,0x815c7));function _0x3ed3(_0x464224,_0xd8c137){_0x464224=_0x464224-0x13b;const _0x315164=_0x3151();let _0x3ed305=_0x315164[_0x464224];return _0x3ed305;}import _0x3c13a0 from'./index.cjs';const facadeExport0=_0x3c13a0[_0x39ea33(0x13f)];function _0x3151(){const _0x581f17=['3485WzAucS','5292456MLjNtG','679658bRZDWX','101940rTmHqe','81MSpJLm','2185323YHcrDJ','1431050zFDUMg','UniverCollabWorktreeEndpoint','45ErGVRm','212964gMKpob','5802TOzLmD'];_0x3151=function(){return _0x581f17;};return _0x3151();}export{facadeExport0 as UniverCollabWorktreeEndpoint};
1
+ function _0x3c46(_0x227333,_0x58a01f){_0x227333=_0x227333-0x135;const _0x8f658f=_0x8f65();let _0x3c46e4=_0x8f658f[_0x227333];return _0x3c46e4;}function _0x8f65(){const _0xfd0d82=['10031756sKBPUF','2680944xgWUKN','UniverCollabWorktreeEndpoint','4nxTahY','5435835RILeHz','348482jXyqaa','35394255ljXbIF','5239560uBbmgg','8iisemC','1372404HuCoFp'];_0x8f65=function(){return _0xfd0d82;};return _0x8f65();}const _0x1eb915=_0x3c46;(function(_0x4acd93,_0xc4b44){const _0x5b8ecf=_0x3c46,_0x1f19ca=_0x4acd93();while(!![]){try{const _0x2c81f9=-parseInt(_0x5b8ecf(0x13c))/0x1*(parseInt(_0x5b8ecf(0x13e))/0x2)+parseInt(_0x5b8ecf(0x138))/0x3*(-parseInt(_0x5b8ecf(0x137))/0x4)+parseInt(_0x5b8ecf(0x13d))/0x5+-parseInt(_0x5b8ecf(0x136))/0x6+-parseInt(_0x5b8ecf(0x139))/0x7+-parseInt(_0x5b8ecf(0x13a))/0x8+parseInt(_0x5b8ecf(0x135))/0x9;if(_0x2c81f9===_0xc4b44)break;else _0x1f19ca['push'](_0x1f19ca['shift']());}catch(_0x1fd3b6){_0x1f19ca['push'](_0x1f19ca['shift']());}}}(_0x8f65,0xbb20c));import _0x4798a6 from'./index.cjs';const facadeExport0=_0x4798a6[_0x1eb915(0x13b)];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.1",
4
+ "version": "1.0.3",
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.1",
20
- "@univerjs-pro/collaboration-service": "1.0.1",
21
- "@univerjs-pro/collaboration-transport-node": "1.0.1",
22
- "@univerjs-pro/collaboration-worktree-service": "1.0.1",
23
- "@univerjs/protocol": "1.0.1"
19
+ "@univerjs-pro/collaboration-endpoint": "1.0.3",
20
+ "@univerjs-pro/collaboration-service": "1.0.3",
21
+ "@univerjs-pro/collaboration-transport-node": "1.0.3",
22
+ "@univerjs-pro/collaboration-worktree-service": "1.0.3",
23
+ "@univerjs/protocol": "1.0.3"
24
24
  }
25
25
  }