@univerjs-pro/collaboration-worktree-endpoint 1.0.0-rc.0 → 1.0.1

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'](_0x574838,_0x59aa3a){let _0x45d668=this['_middlewares']['get'](_0x574838)??[],_0x570d55=_0x59aa3a;_0x45d668['push'](_0x570d55),this['_middlewares']['set'](_0x574838,_0x45d668);let _0x4ffb94=!0x1;return{'dispose':()=>{if(_0x4ffb94)return;_0x4ffb94=!0x0;let _0x32473a=_0x45d668['indexOf'](_0x570d55);_0x32473a>=0x0&&_0x45d668['splice'](_0x32473a,0x1);}};}async['run'](_0x2a1763,_0x1aef05,_0x1881ac){let _0x24531c=[...this['_middlewares']['get'](_0x2a1763)??[]],_0x480f61=async _0x38c334=>{let _0x5c50ed=_0x24531c[_0x38c334];if(!_0x5c50ed){await _0x1881ac();return;}let _0x1434d5=!0x1,_0x461e14;if(await _0x5c50ed(_0x1aef05,()=>{if(_0x1434d5)throw Error('Middleware\x20for\x20action\x20'+String(_0x2a1763)+'\x20called\x20next()\x20twice');return _0x1434d5=!0x0,_0x461e14=_0x480f61(_0x38c334+0x1),_0x461e14;}),!_0x1434d5)throw Error('Middleware\x20for\x20action\x20'+String(_0x2a1763)+'\x20did\x20not\x20call\x20next()');await _0x461e14;};await _0x480f61(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(_0xce8e1,_0x5d4672){if(this['_service']=_0xce8e1,this['_options']=_0x5d4672,!_0xce8e1)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0x5d4672?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0x5d4672['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x4c7d56=>this['_enqueueWorktreeChanged'](_0x4c7d56['worktree'])),this['_service']['on']('worktreeCreated',_0x7f98a3=>this['_enqueueWorktreeChanged'](_0x7f98a3['worktree'])),this['_service']['on']('worktreeUnitAdded',_0xe94401=>this['_enqueueWorktreeChanged'](_0xe94401['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x502459=>this['_enqueueWorktreeChanged'](_0x502459['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x378fa8=>this['_enqueueWorktreeChanged'](_0x378fa8['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x437f3f=>this['_enqueueWorktreeChanged'](_0x437f3f['worktree']))];}['use'](_0x2e7cdf,_0x432a33){return this['_assertRunning'](),this['_middleware']['use'](_0x2e7cdf,_0x432a33);}['on'](_0x5d85b7,_0x4c70fd){this['_assertRunning']();let _0x12473c=this['_listeners']['get'](_0x5d85b7)??new Set(),_0x2787fc=_0x4c70fd;_0x12473c['add'](_0x2787fc),this['_listeners']['set'](_0x5d85b7,_0x12473c);let _0x176a3b=!0x1;return{'dispose':()=>{_0x176a3b||(_0x176a3b=!0x0,_0x12473c['delete'](_0x2787fc));}};}['register'](_0x478e2f){this['_assertRunning'](),_0x478e2f['get'](l,_0x47c448=>this['_handleTicket'](_0x47c448));let _0x44668f=_0xe5bd29=>_0x2bda2c=>this['_handleManagement'](_0x2bda2c,{..._0x2bda2c['params'],'action':_0xe5bd29});_0x478e2f['post'](c,_0x44668f('create')),_0x478e2f['get'](c+'/:worktreeID',_0x44668f('get')),_0x478e2f['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x44668f('evaluateUnitMerge'));for(let [_0x5c8b0f,_0x4b5a47]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x478e2f['post'](c+'/:worktreeID/'+_0x5c8b0f,_0x44668f(_0x4b5a47));for(let [_0x3d612b,_0x28ac3e]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 _0x570ba7=c+'/:worktreeID'+_0x28ac3e;_0x478e2f[_0x3d612b](_0x570ba7,_0x55c760=>{let _0x27b62d=this['_scopedEndpoint'](_0x55c760['params']['worktreeID'])['http']['get'](_0x3d612b+'\x20'+_0x570ba7);if(!_0x27b62d)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0x27b62d(_0x55c760);});}let _0x73849f=c+'/:worktreeID/comb/connect';_0x478e2f['upgrade'](_0x73849f,_0x529f51=>{let _0x43ff25=this['_scopedEndpoint'](_0x529f51['params']['worktreeID'])['upgrade']['get'](_0x73849f);if(!_0x43ff25)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x43ff25(_0x529f51);}),_0x478e2f['upgrade'](c+'/:worktreeID/events',_0x224669=>this['_handleEventUpgrade'](_0x224669));}async['_handleEventUpgrade'](_0x1ed7d8){this['_assertRunning']();let _0x5052d5=new URL(_0x1ed7d8['incomingMessage']['url']??'/','http://localhost'),_0x45c8f1=await this['_options']['ticketStore']['consume'](_0x5052d5['searchParams']['get']('sessionTicket')??'');if(!_0x45c8f1){_0x1ed7d8['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x15e20e=_0x1ed7d8['params']['worktreeID'];_0x1ed7d8['accept']({'open':({connection:_0x5d3703})=>this['_openEventConnection'](_0x5d3703,_0x45c8f1,_0x15e20e),'message':({connection:_0x474362})=>_0x474362['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0x358279})=>this['_removeEventBinding'](_0x358279['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x512fb3=>_0x512fb3['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x655c40 of this['_eventBindings']['values']())_0x655c40['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x163109=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x163109['map'](({endpoint:_0x29e0a2})=>_0x29e0a2['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x27f5b6){try{this['_assertRunning'](),this['_requireUser'](_0x27f5b6);let _0x3a6fd2=await this['_options']['ticketStore']['issue']({'userID':_0x27f5b6['userID'],'customData':_0x27f5b6['customData']},this['_ticketTtlMs']);b(_0x27f5b6,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x3a6fd2});}catch(_0x33ab23){this['_writeFailure'](_0x27f5b6,_0x33ab23);}}async['_handleManagement'](_0x26e24e,_0x34e0e2){try{this['_assertRunning'](),this['_requireUser'](_0x26e24e);let _0x36e8b4={'userID':_0x26e24e['userID'],'customData':_0x26e24e['customData']};if(_0x34e0e2['action']==='evaluateUnitMerge'){let _0x1138b5=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x34e0e2['worktreeID'],'unitID':_0x34e0e2['unitID']},_0x36e8b4);_0x26e24e['response']['setHeader']('cache-control','no-store'),b(_0x26e24e,0xc8,{'evaluation':_0x1138b5});return;}let _0x2777d4;switch(_0x34e0e2['action']){case'create':{let _0x583f1f=await _0x26e24e['readJson']();f(_0x583f1f),_0x2777d4=await this['_service']['createWorktree'](_0x583f1f,_0x36e8b4);break;}case'get':_0x2777d4=await this['_service']['getWorktree']({'worktreeID':_0x34e0e2['worktreeID']},_0x36e8b4);break;case'setUnitRemoved':{let _0x3a4e=await _0x26e24e['readJson']();if(!v(_0x3a4e)||typeof _0x3a4e['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x2777d4=await this['_service']['setUnitRemoved']({'worktreeID':_0x34e0e2['worktreeID'],'unitID':_0x34e0e2['unitID'],'removed':_0x3a4e['removed']},_0x36e8b4);break;}case'addUnit':{let _0x2577dc=await _0x26e24e['readJson']();p(_0x2577dc),_0x2777d4=await this['_service']['addUnit']({'worktreeID':_0x34e0e2['worktreeID'],'unitID':_0x2577dc['unitID']},_0x36e8b4);break;}case'createUnitFromSnapshot':{let _0x5d7ddc=m(await _0x26e24e['readJson']());_0x2777d4=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x34e0e2['worktreeID'],..._0x5d7ddc},_0x36e8b4);break;}case'createUnitFromData':{let _0x504449=h(await _0x26e24e['readJson']());_0x2777d4=await this['_service']['createUnitFromData']({'worktreeID':_0x34e0e2['worktreeID'],..._0x504449},_0x36e8b4);break;}case'ready':_0x2777d4=await this['_service']['markReady']({'worktreeID':_0x34e0e2['worktreeID']},_0x36e8b4);break;case'reopen':_0x2777d4=await this['_service']['reopenWorktree']({'worktreeID':_0x34e0e2['worktreeID']},_0x36e8b4);break;case'discard':_0x2777d4=await this['_service']['discardWorktree']({'worktreeID':_0x34e0e2['worktreeID']},_0x36e8b4);break;case'merge':_0x2777d4=await this['_service']['mergeWorktree']({'worktreeID':_0x34e0e2['worktreeID']},{..._0x36e8b4,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x26e24e,0xc8,{'worktree':_0x2777d4['worktree']});}catch(_0x2fea20){this['_writeFailure'](_0x26e24e,_0x2fea20);}}async['_openEventConnection'](_0x310632,_0xc47426,_0x1fbcd7){try{let _0x5a9d37=(0x0,e['randomUUID'])(),_0x137a50={'memberID':_0x5a9d37,'userID':_0xc47426['userID'],'customData':_0xc47426['customData']},_0xd6c5e8={'memberID':_0x5a9d37,'userID':_0xc47426['userID'],'name':_0xc47426['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x1fbcd7,'session':_0x137a50,'connection':_0x310632,'member':_0xd6c5e8},async()=>void 0x0);let _0x1445b7={'worktreeID':_0x1fbcd7,'connection':_0x310632,'session':_0x137a50,'ready':!0x1};this['_eventBindings']['set'](_0x310632['id'],_0x1445b7);let _0x215d83=this['_eventRooms']['get'](_0x1fbcd7)??new Map();_0x215d83['set'](_0x310632['id'],_0x1445b7),this['_eventRooms']['set'](_0x1fbcd7,_0x215d83);try{let {worktree:_0x34d87f}=await this['_service']['getWorktree']({'worktreeID':_0x1fbcd7},{'userID':_0x137a50['userID'],'customData':_0x310632['customData']});if(await this['_sendChanged'](_0x1445b7,_0x34d87f),_0x1445b7['ready']=!0x0,_0x1445b7['pending']){let _0x41824a=_0x1445b7['pending'];delete _0x1445b7['pending'],await this['_sendChanged'](_0x1445b7,_0x41824a);}}catch(_0x4b9c45){throw this['_removeEventBinding'](_0x310632['id']),_0x4b9c45;}}catch(_0x136a3d){_0x310632['close'](_0x136a3d instanceof n['CollabError']||_0x136a3d instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x13d4ae){this['_assertRunning']();let _0x22b343=this['_scopedEndpoints']['get'](_0x13d4ae);if(_0x22b343)return _0x22b343;let _0x41b58d=new t['UniverCollabEndpoint'](new d(this['_service'],_0x13d4ae),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x41b58d['use']('connect',(_0xb47f18,_0x18ebaf)=>this['_middleware']['run']('connect',{..._0xb47f18,'worktreeID':_0x13d4ae},_0x18ebaf)),_0x41b58d['use']('joinUnit',async(_0x4d49da,_0x2c33fc)=>{let {worktree:_0x19aaf3}=await this['_getJoinableWorktree'](_0x13d4ae,_0x4d49da['session']);if(!_0x19aaf3['units']['some'](({unitID:_0x7adcd8})=>_0x7adcd8===_0x4d49da['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x4d49da['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x13d4ae);await this['_middleware']['run']('joinUnit',{..._0x4d49da,'worktreeID':_0x13d4ae},_0x2c33fc);}),_0x41b58d['use']('receivePresence',(_0x5e9c5c,_0x250670)=>this['_middleware']['run']('receivePresence',{..._0x5e9c5c,'worktreeID':_0x13d4ae},_0x250670)),_0x41b58d['use']('sendPresence',(_0x5b7bbc,_0x3467ad)=>this['_middleware']['run']('sendPresence',{..._0x5b7bbc,'worktreeID':_0x13d4ae},_0x3467ad)),_0x41b58d['on']('memberLeftUnit',_0x2c848c=>this['_emit']('memberLeftUnit',{..._0x2c848c,'worktreeID':_0x13d4ae}));let _0x542b4f=new Map(),_0x469375=new Map();_0x41b58d['register']({'get':(_0x2012c9,_0x43b106)=>{_0x542b4f['set']('get\x20'+_0x2012c9,_0x43b106);},'post':(_0x23048a,_0x3f6c72)=>{_0x542b4f['set']('post\x20'+_0x23048a,_0x3f6c72);},'delete':(_0x147a60,_0x285f43)=>{_0x542b4f['set']('delete\x20'+_0x147a60,_0x285f43);},'upgrade':(_0x1dd504,_0x4a6bb4)=>{_0x469375['set'](_0x1dd504,_0x4a6bb4);}});let _0x231b25={'endpoint':_0x41b58d,'http':_0x542b4f,'upgrade':_0x469375};return this['_scopedEndpoints']['set'](_0x13d4ae,_0x231b25),_0x231b25;}async['_getJoinableWorktree'](_0xfde9ea,_0x30fc15){try{let _0x82ae8b=await this['_service']['getWorktree']({'worktreeID':_0xfde9ea},{'userID':_0x30fc15['userID']});if(_0x82ae8b['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x82ae8b;}catch(_0x4da4f9){throw _0x4da4f9 instanceof i['WorktreeError']&&_0x4da4f9['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x4da4f9['message']):_0x4da4f9;}}['_enqueueWorktreeChanged'](_0x910626){if(this['_disposed'])return;let _0x3d4270=_0x910626['worktreeID'],_0x1bc81c=(this['_eventQueues']['get'](_0x3d4270)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x2399d6=[...this['_eventRooms']['get'](_0x3d4270)?.['values']()??[]];for(let _0x4eebad of _0x2399d6){if(!_0x4eebad['ready']){_0x4eebad['pending']=_0x910626;continue;}await this['_sendChanged'](_0x4eebad,_0x910626);}});this['_eventQueues']['set'](_0x3d4270,_0x1bc81c),_0x1bc81c['finally'](()=>{this['_eventQueues']['get'](_0x3d4270)===_0x1bc81c&&this['_eventQueues']['delete'](_0x3d4270);});}['_sendChanged'](_0x1049a3,_0x298ef3){let _0x1135cd={'event':'worktreeChanged','worktree':_0x298ef3};return Promise['resolve'](_0x1049a3['connection']['send'](JSON['stringify'](_0x1135cd)));}['_removeEventBinding'](_0x3a92a6){let _0x1dd8dd=this['_eventBindings']['get'](_0x3a92a6);if(!_0x1dd8dd)return;this['_eventBindings']['delete'](_0x3a92a6);let _0x3a6308=this['_eventRooms']['get'](_0x1dd8dd['worktreeID']);_0x3a6308?.['delete'](_0x3a92a6),_0x3a6308?.['size']===0x0&&this['_eventRooms']['delete'](_0x1dd8dd['worktreeID']);}async['_emit'](_0x171872,_0x35c960){for(let _0x685e04 of[...this['_listeners']['get'](_0x171872)??[]])try{await _0x685e04(_0x35c960);}catch{}}['_requireUser'](_0x4bf245){if(!_0x4bf245['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0x1e52e3,_0x11ddfd){let _0x3288a6=x(_0x11ddfd);b(_0x1e52e3,_0x3288a6['status'],{'error':_0x3288a6['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x10da2b,_0x227475){this['_service']=_0x10da2b,this['_worktreeID']=_0x227475;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x34780d,_0x2873a2){return this['_service']['getUnitLoadData']({..._0x34780d,'worktreeID':this['_worktreeID']},_0x2873a2);}['getUnitLoadDataWithBlocks'](_0xd855a7,_0x4ed8ea){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x27e1cf,_0x61097){return this['_service']['getChangesets']({..._0x27e1cf,'worktreeID':this['_worktreeID']},_0x61097);}['getSheetBlock'](_0x391573,_0x417bef){return this['_service']['getSheetBlock']({..._0x391573,'worktreeID':this['_worktreeID']},_0x417bef);}['createUnitFromSnapshot'](_0x389b00,_0x4ed838){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x21a29d,_0x2958f4){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0xb56a69,_0x468864){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x84e62a,_0xa7246){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x2330ba,_0x206a19){return this['_service']['submitChangeset']({..._0x2330ba,'worktreeID':this['_worktreeID']},_0x206a19);}['on'](_0x27baae,_0x3583b5){return _0x27baae==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x4d1d6d=>{if(_0x4d1d6d['request']['worktreeID']===this['_worktreeID'])return _0x3583b5(_0x4d1d6d);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x58aefe){if(!_0x58aefe||typeof _0x58aefe!='object'||typeof _0x58aefe['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x46b2ff=_0x58aefe['units'];if(_0x46b2ff!==void 0x0&&(!Array['isArray'](_0x46b2ff)||_0x46b2ff['some'](_0x5ef420=>typeof _0x5ef420!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x191b01){if(!_0x191b01||typeof _0x191b01!='object'||typeof _0x191b01['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x4bac2e){if(!v(_0x4bac2e)||!v(_0x4bac2e['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x163084=_0x4bac2e['snapshot'];g(_0x163084);let _0x295502=_0x4bac2e['sheetBlocks'];if(_0x295502!==void 0x0&&(!Array['isArray'](_0x295502)||_0x295502['some'](_0x47f48c=>!v(_0x47f48c))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x3f130b of _0x295502??[])_0x3f130b['data']=_(_0x3f130b['data'],'sheetBlocks[].data');return{'snapshot':_0x163084,'sheetBlocks':_0x295502??[]};}function h(_0x350dcf){if(!v(_0x350dcf)||!y['has'](_0x350dcf['type'])||!v(_0x350dcf['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x350dcf;}function g(_0x222a89){let _0x5f38de=_0x222a89['workbook']??_0x222a89['doc']??_0x222a89['slide']??_0x222a89['board'];if(_0x5f38de&&(_0x5f38de['originalMeta']=_(_0x5f38de['originalMeta'],'snapshot\x20originalMeta'),_0x222a89['workbook'])){for(let _0x199617 of Object['values'](_0x222a89['workbook']['sheets']))_0x199617['originalMeta']=_(_0x199617['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0x2ff6f5,_0x570c26){if(_0x2ff6f5 instanceof Uint8Array)return _0x2ff6f5;if(typeof _0x2ff6f5!='string')throw new n['CollabError']('INVALID_REQUEST',_0x570c26+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0x2ff6f5,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x570c26+'\x20must\x20be\x20valid\x20base64');}}function v(_0x470cc7){return!!_0x470cc7&&typeof _0x470cc7=='object'&&!Array['isArray'](_0x470cc7);}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(_0x19d79e,_0x51fe51,_0x260a1c){let _0x5c19a1=_0x19d79e['response'];_0x5c19a1['writableEnded']||_0x5c19a1['destroyed']||(_0x5c19a1['statusCode']=_0x51fe51,_0x5c19a1['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x5c19a1['end'](JSON['stringify'](_0x260a1c,(_0x497a4c,_0x302c3f)=>_0x302c3f instanceof Uint8Array?Buffer['from'](_0x302c3f)['toString']('base64'):_0x302c3f)));}function x(_0x43faa6){return _0x43faa6 instanceof r['NodeTransportError']?{'status':_0x43faa6['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x43faa6['code']==='INVALID_JSON'||_0x43faa6['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x43faa6['code'],'message':_0x43faa6['message']}}:_0x43faa6 instanceof i['WorktreeError']?{'status':_0x43faa6['code']==='WORKTREE_NOT_FOUND'||_0x43faa6['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x43faa6['code'],'message':_0x43faa6['message'],'retryable':_0x43faa6['retryable']}}:_0x43faa6 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}[_0x43faa6['code']],'error':{'code':_0x43faa6['code'],'message':_0x43faa6['message'],'retryable':_0x43faa6['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'](_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;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x535225=_0x1f52;(function(_0x48f45c,_0x78f1e6){const _0x169e2d=_0x1f52,_0x3a7ef8=_0x48f45c();while(!![]){try{const _0x21032f=parseInt(_0x169e2d(0x1c8))/0x1*(parseInt(_0x169e2d(0x1c6))/0x2)+-parseInt(_0x169e2d(0x1ca))/0x3+parseInt(_0x169e2d(0x1c5))/0x4+parseInt(_0x169e2d(0x1cc))/0x5*(-parseInt(_0x169e2d(0x1cd))/0x6)+-parseInt(_0x169e2d(0x1c7))/0x7+parseInt(_0x169e2d(0x1ce))/0x8+-parseInt(_0x169e2d(0x1cb))/0x9;if(_0x21032f===_0x78f1e6)break;else _0x3a7ef8['push'](_0x3a7ef8['shift']());}catch(_0x4de9e3){_0x3a7ef8['push'](_0x3a7ef8['shift']());}}}(_0x459e,0xe3a20));import _0x268190 from'./index.cjs';function _0x1f52(_0x2fd293,_0x10aed6){_0x2fd293=_0x2fd293-0x1c5;const _0x459e5f=_0x459e();let _0x1f52d1=_0x459e5f[_0x2fd293];return _0x1f52d1;}const facadeExport0=_0x268190[_0x535225(0x1c9)];export{facadeExport0 as UniverCollabWorktreeEndpoint};function _0x459e(){const _0x226377=['6650676XylfWn','2562878cwAbFi','225134yICuFV','1ldShOr','UniverCollabWorktreeEndpoint','2091789ztxzJo','12991131HAyQDI','134765mOworY','186tRAwKW','7973624YDDZhs'];_0x459e=function(){return _0x226377;};return _0x459e();}
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};
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.0-rc.0",
4
+ "version": "1.0.1",
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.0-rc.0",
20
- "@univerjs-pro/collaboration-service": "1.0.0-rc.0",
21
- "@univerjs-pro/collaboration-transport-node": "1.0.0-rc.0",
22
- "@univerjs-pro/collaboration-worktree-service": "1.0.0-rc.0",
23
- "@univerjs/protocol": "1.0.0-rc.0"
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"
24
24
  }
25
25
  }