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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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'](_0x404b9c,_0x4161e4){let _0x13d4b9=this['_middlewares']['get'](_0x404b9c)??[],_0x1232b4=_0x4161e4;_0x13d4b9['push'](_0x1232b4),this['_middlewares']['set'](_0x404b9c,_0x13d4b9);let _0xb94060=!0x1;return{'dispose':()=>{if(_0xb94060)return;_0xb94060=!0x0;let _0x4ab94a=_0x13d4b9['indexOf'](_0x1232b4);_0x4ab94a>=0x0&&_0x13d4b9['splice'](_0x4ab94a,0x1);}};}async['run'](_0x1c1ef3,_0x57ebd4,_0x14b53d){let _0x3fe3d7=[...this['_middlewares']['get'](_0x1c1ef3)??[]],_0x462e94=async _0x2d9eeb=>{let _0x4bb132=_0x3fe3d7[_0x2d9eeb];if(!_0x4bb132){await _0x14b53d();return;}let _0x38baa2=!0x1,_0x2eb933;if(await _0x4bb132(_0x57ebd4,()=>{if(_0x38baa2)throw Error('Middleware\x20for\x20action\x20'+String(_0x1c1ef3)+'\x20called\x20next()\x20twice');return _0x38baa2=!0x0,_0x2eb933=_0x462e94(_0x2d9eeb+0x1),_0x2eb933;}),!_0x38baa2)throw Error('Middleware\x20for\x20action\x20'+String(_0x1c1ef3)+'\x20did\x20not\x20call\x20next()');await _0x2eb933;};await _0x462e94(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(_0x506dd9,_0x19887f){if(this['_service']=_0x506dd9,this['_options']=_0x19887f,!_0x506dd9)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0x19887f?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0x19887f['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x5236b6=>this['_enqueueWorktreeChanged'](_0x5236b6['worktree'])),this['_service']['on']('worktreeCreated',_0x5e5c7a=>this['_enqueueWorktreeChanged'](_0x5e5c7a['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x26955d=>this['_enqueueWorktreeChanged'](_0x26955d['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x228211=>this['_enqueueWorktreeChanged'](_0x228211['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x4b65cb=>this['_enqueueWorktreeChanged'](_0x4b65cb['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x2d929b=>this['_enqueueWorktreeChanged'](_0x2d929b['worktree']))];}['use'](_0x4a1431,_0x44961e){return this['_assertRunning'](),this['_middleware']['use'](_0x4a1431,_0x44961e);}['on'](_0x49a8e3,_0xfb3d86){this['_assertRunning']();let _0x567dce=this['_listeners']['get'](_0x49a8e3)??new Set(),_0x1d5ec9=_0xfb3d86;_0x567dce['add'](_0x1d5ec9),this['_listeners']['set'](_0x49a8e3,_0x567dce);let _0x3c70fe=!0x1;return{'dispose':()=>{_0x3c70fe||(_0x3c70fe=!0x0,_0x567dce['delete'](_0x1d5ec9));}};}['register'](_0x4940fa){this['_assertRunning'](),_0x4940fa['get'](l,_0x3a44d4=>this['_handleTicket'](_0x3a44d4));let _0x13de8d=_0x13dcc3=>_0x47e6a8=>this['_handleManagement'](_0x47e6a8,{..._0x47e6a8['params'],'action':_0x13dcc3});_0x4940fa['post'](c,_0x13de8d('create')),_0x4940fa['get'](c+'/:worktreeID',_0x13de8d('get')),_0x4940fa['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x13de8d('evaluateUnitMerge'));for(let [_0x26351c,_0x1588ba]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x4940fa['post'](c+'/:worktreeID/'+_0x26351c,_0x13de8d(_0x1588ba));for(let [_0xd39b99,_0x62e204]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 _0x1793d4=c+'/:worktreeID'+_0x62e204;_0x4940fa[_0xd39b99](_0x1793d4,_0x3c0097=>{let _0x34880b=this['_scopedEndpoint'](_0x3c0097['params']['worktreeID'])['http']['get'](_0xd39b99+'\x20'+_0x1793d4);if(!_0x34880b)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0x34880b(_0x3c0097);});}let _0xb76c79=c+'/:worktreeID/comb/connect';_0x4940fa['upgrade'](_0xb76c79,_0x3dc218=>{let _0x38d3b8=this['_scopedEndpoint'](_0x3dc218['params']['worktreeID'])['upgrade']['get'](_0xb76c79);if(!_0x38d3b8)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x38d3b8(_0x3dc218);}),_0x4940fa['upgrade'](c+'/:worktreeID/events',_0x580c9d=>this['_handleEventUpgrade'](_0x580c9d));}async['_handleEventUpgrade'](_0x285d41){this['_assertRunning']();let _0x594682=new URL(_0x285d41['incomingMessage']['url']??'/','http://localhost'),_0x3cba51=await this['_options']['ticketStore']['consume'](_0x594682['searchParams']['get']('sessionTicket')??'');if(!_0x3cba51){_0x285d41['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x4113b7=_0x285d41['params']['worktreeID'];_0x285d41['accept']({'open':({connection:_0x3e11d7})=>this['_openEventConnection'](_0x3e11d7,_0x3cba51,_0x4113b7),'message':({connection:_0x4902a4})=>_0x4902a4['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0x2b8532})=>this['_removeEventBinding'](_0x2b8532['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x38e046=>_0x38e046['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x596113 of this['_eventBindings']['values']())_0x596113['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x49238c=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x49238c['map'](({endpoint:_0x22d3d3})=>_0x22d3d3['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x1c5463){try{this['_assertRunning'](),this['_requireUser'](_0x1c5463);let _0x19a2a7=await this['_options']['ticketStore']['issue']({'userID':_0x1c5463['userID'],'customData':_0x1c5463['customData']},this['_ticketTtlMs']);b(_0x1c5463,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x19a2a7});}catch(_0xa3955c){this['_writeFailure'](_0x1c5463,_0xa3955c);}}async['_handleManagement'](_0x153248,_0x4e0088){try{this['_assertRunning'](),this['_requireUser'](_0x153248);let _0x470a55={'userID':_0x153248['userID'],'customData':_0x153248['customData']};if(_0x4e0088['action']==='evaluateUnitMerge'){let _0x573cb4=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x4e0088['worktreeID'],'unitID':_0x4e0088['unitID']},_0x470a55);_0x153248['response']['setHeader']('cache-control','no-store'),b(_0x153248,0xc8,{'evaluation':_0x573cb4});return;}let _0x4a00e5;switch(_0x4e0088['action']){case'create':{let _0x2826eb=await _0x153248['readJson']();f(_0x2826eb),_0x4a00e5=await this['_service']['createWorktree'](_0x2826eb,_0x470a55);break;}case'get':_0x4a00e5=await this['_service']['getWorktree']({'worktreeID':_0x4e0088['worktreeID']},_0x470a55);break;case'setUnitRemoved':{let _0x2165f5=await _0x153248['readJson']();if(!v(_0x2165f5)||typeof _0x2165f5['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x4a00e5=await this['_service']['setUnitRemoved']({'worktreeID':_0x4e0088['worktreeID'],'unitID':_0x4e0088['unitID'],'removed':_0x2165f5['removed']},_0x470a55);break;}case'addUnit':{let _0x30cd11=await _0x153248['readJson']();p(_0x30cd11),_0x4a00e5=await this['_service']['addUnit']({'worktreeID':_0x4e0088['worktreeID'],'unitID':_0x30cd11['unitID']},_0x470a55);break;}case'createUnitFromSnapshot':{let _0x5a07c1=m(await _0x153248['readJson']());_0x4a00e5=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x4e0088['worktreeID'],..._0x5a07c1},_0x470a55);break;}case'createUnitFromData':{let _0x364800=h(await _0x153248['readJson']());_0x4a00e5=await this['_service']['createUnitFromData']({'worktreeID':_0x4e0088['worktreeID'],..._0x364800},_0x470a55);break;}case'ready':_0x4a00e5=await this['_service']['markReady']({'worktreeID':_0x4e0088['worktreeID']},_0x470a55);break;case'reopen':_0x4a00e5=await this['_service']['reopenWorktree']({'worktreeID':_0x4e0088['worktreeID']},_0x470a55);break;case'discard':_0x4a00e5=await this['_service']['discardWorktree']({'worktreeID':_0x4e0088['worktreeID']},_0x470a55);break;case'merge':_0x4a00e5=await this['_service']['mergeWorktree']({'worktreeID':_0x4e0088['worktreeID']},{..._0x470a55,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x153248,0xc8,{'worktree':_0x4a00e5['worktree']});}catch(_0x28143f){this['_writeFailure'](_0x153248,_0x28143f);}}async['_openEventConnection'](_0x1469f3,_0x3d7da5,_0x38de32){try{let _0x3027fb=(0x0,e['randomUUID'])(),_0x5ed3d6={'memberID':_0x3027fb,'userID':_0x3d7da5['userID'],'customData':_0x3d7da5['customData']},_0x1cb11f={'memberID':_0x3027fb,'userID':_0x3d7da5['userID'],'name':_0x3d7da5['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x38de32,'session':_0x5ed3d6,'connection':_0x1469f3,'member':_0x1cb11f},async()=>void 0x0);let _0x17b6e1={'worktreeID':_0x38de32,'connection':_0x1469f3,'session':_0x5ed3d6,'ready':!0x1};this['_eventBindings']['set'](_0x1469f3['id'],_0x17b6e1);let _0x165faa=this['_eventRooms']['get'](_0x38de32)??new Map();_0x165faa['set'](_0x1469f3['id'],_0x17b6e1),this['_eventRooms']['set'](_0x38de32,_0x165faa);try{let {worktree:_0x4ce549}=await this['_service']['getWorktree']({'worktreeID':_0x38de32},{'userID':_0x5ed3d6['userID'],'customData':_0x1469f3['customData']});if(await this['_sendChanged'](_0x17b6e1,_0x4ce549),_0x17b6e1['ready']=!0x0,_0x17b6e1['pending']){let _0x30a1f1=_0x17b6e1['pending'];delete _0x17b6e1['pending'],await this['_sendChanged'](_0x17b6e1,_0x30a1f1);}}catch(_0x495839){throw this['_removeEventBinding'](_0x1469f3['id']),_0x495839;}}catch(_0x55749a){_0x1469f3['close'](_0x55749a instanceof n['CollabError']||_0x55749a instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x1710f2){this['_assertRunning']();let _0x4a0cfd=this['_scopedEndpoints']['get'](_0x1710f2);if(_0x4a0cfd)return _0x4a0cfd;let _0x17d15b=new t['UniverCollabEndpoint'](new d(this['_service'],_0x1710f2),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x17d15b['use']('connect',(_0x3b619b,_0x1b8b11)=>this['_middleware']['run']('connect',{..._0x3b619b,'worktreeID':_0x1710f2},_0x1b8b11)),_0x17d15b['use']('joinUnit',async(_0x52ae49,_0xe5ed1e)=>{let {worktree:_0x3c5f50}=await this['_getJoinableWorktree'](_0x1710f2,_0x52ae49['session']);if(!_0x3c5f50['units']['some'](({unitID:_0x575d29})=>_0x575d29===_0x52ae49['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x52ae49['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x1710f2);await this['_middleware']['run']('joinUnit',{..._0x52ae49,'worktreeID':_0x1710f2},_0xe5ed1e);}),_0x17d15b['use']('receivePresence',(_0xe04f7f,_0x2b4890)=>this['_middleware']['run']('receivePresence',{..._0xe04f7f,'worktreeID':_0x1710f2},_0x2b4890)),_0x17d15b['use']('sendPresence',(_0x23d7be,_0x263054)=>this['_middleware']['run']('sendPresence',{..._0x23d7be,'worktreeID':_0x1710f2},_0x263054)),_0x17d15b['on']('memberLeftUnit',_0x534ac6=>this['_emit']('memberLeftUnit',{..._0x534ac6,'worktreeID':_0x1710f2}));let _0xab8ff7=new Map(),_0x1b00ed=new Map();_0x17d15b['register']({'get':(_0x6fb5aa,_0x71c940)=>{_0xab8ff7['set']('get\x20'+_0x6fb5aa,_0x71c940);},'post':(_0x26ec6f,_0x23d716)=>{_0xab8ff7['set']('post\x20'+_0x26ec6f,_0x23d716);},'delete':(_0xf6fa5f,_0x126b1c)=>{_0xab8ff7['set']('delete\x20'+_0xf6fa5f,_0x126b1c);},'upgrade':(_0x2be682,_0x42926a)=>{_0x1b00ed['set'](_0x2be682,_0x42926a);}});let _0x1da0c3={'endpoint':_0x17d15b,'http':_0xab8ff7,'upgrade':_0x1b00ed};return this['_scopedEndpoints']['set'](_0x1710f2,_0x1da0c3),_0x1da0c3;}async['_getJoinableWorktree'](_0x5c962f,_0x2ea6cf){try{let _0x2e463e=await this['_service']['getWorktree']({'worktreeID':_0x5c962f},{'userID':_0x2ea6cf['userID']});if(_0x2e463e['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x2e463e;}catch(_0x468511){throw _0x468511 instanceof i['WorktreeError']&&_0x468511['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x468511['message']):_0x468511;}}['_enqueueWorktreeChanged'](_0x43940f){if(this['_disposed'])return;let _0x28e842=_0x43940f['worktreeID'],_0x4327d4=(this['_eventQueues']['get'](_0x28e842)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x4cb2f6=[...this['_eventRooms']['get'](_0x28e842)?.['values']()??[]];for(let _0x10104c of _0x4cb2f6){if(!_0x10104c['ready']){_0x10104c['pending']=_0x43940f;continue;}await this['_sendChanged'](_0x10104c,_0x43940f);}});this['_eventQueues']['set'](_0x28e842,_0x4327d4),_0x4327d4['finally'](()=>{this['_eventQueues']['get'](_0x28e842)===_0x4327d4&&this['_eventQueues']['delete'](_0x28e842);});}['_sendChanged'](_0xa603cb,_0x35a2d8){let _0x1fe4d1={'event':'worktreeChanged','worktree':_0x35a2d8};return Promise['resolve'](_0xa603cb['connection']['send'](JSON['stringify'](_0x1fe4d1)));}['_removeEventBinding'](_0x494517){let _0x35da8b=this['_eventBindings']['get'](_0x494517);if(!_0x35da8b)return;this['_eventBindings']['delete'](_0x494517);let _0x4cbb26=this['_eventRooms']['get'](_0x35da8b['worktreeID']);_0x4cbb26?.['delete'](_0x494517),_0x4cbb26?.['size']===0x0&&this['_eventRooms']['delete'](_0x35da8b['worktreeID']);}async['_emit'](_0xdd0fb6,_0x2ef057){for(let _0x2ed960 of[...this['_listeners']['get'](_0xdd0fb6)??[]])try{await _0x2ed960(_0x2ef057);}catch{}}['_requireUser'](_0x53f927){if(!_0x53f927['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0x4d3b24,_0x15fa2e){let _0x266256=x(_0x15fa2e);b(_0x4d3b24,_0x266256['status'],{'error':_0x266256['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x34fa4e,_0x30cfdd){this['_service']=_0x34fa4e,this['_worktreeID']=_0x30cfdd;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x30a48d,_0x2a0515){return this['_service']['getUnitLoadData']({..._0x30a48d,'worktreeID':this['_worktreeID']},_0x2a0515);}['getUnitLoadDataWithBlocks'](_0x524bea,_0x48f2e6){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x582d33,_0x268bb9){return this['_service']['getChangesets']({..._0x582d33,'worktreeID':this['_worktreeID']},_0x268bb9);}['getSheetBlock'](_0x1d2606,_0x40e702){return this['_service']['getSheetBlock']({..._0x1d2606,'worktreeID':this['_worktreeID']},_0x40e702);}['createUnitFromSnapshot'](_0x569d9d,_0xc59b40){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x137843,_0x26c9f3){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0x11f459,_0x4b45a2){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x1ce64b,_0xd7ef6e){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x3c1c52,_0x13ea00){return this['_service']['submitChangeset']({..._0x3c1c52,'worktreeID':this['_worktreeID']},_0x13ea00);}['on'](_0x3bbea3,_0x15cad){return _0x3bbea3==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x2ba2b8=>{if(_0x2ba2b8['request']['worktreeID']===this['_worktreeID'])return _0x15cad(_0x2ba2b8);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x4e4497){if(!_0x4e4497||typeof _0x4e4497!='object'||typeof _0x4e4497['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x32b15a=_0x4e4497['units'];if(_0x32b15a!==void 0x0&&(!Array['isArray'](_0x32b15a)||_0x32b15a['some'](_0x2e72c7=>typeof _0x2e72c7!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x5c0752){if(!_0x5c0752||typeof _0x5c0752!='object'||typeof _0x5c0752['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x6ff1e5){if(!v(_0x6ff1e5)||!v(_0x6ff1e5['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x3861a0=_0x6ff1e5['snapshot'];g(_0x3861a0);let _0x2f7b86=_0x6ff1e5['sheetBlocks'];if(_0x2f7b86!==void 0x0&&(!Array['isArray'](_0x2f7b86)||_0x2f7b86['some'](_0x16899d=>!v(_0x16899d))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x5b9ac7 of _0x2f7b86??[])_0x5b9ac7['data']=_(_0x5b9ac7['data'],'sheetBlocks[].data');return{'snapshot':_0x3861a0,'sheetBlocks':_0x2f7b86??[]};}function h(_0x4598cd){if(!v(_0x4598cd)||!y['has'](_0x4598cd['type'])||!v(_0x4598cd['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x4598cd;}function g(_0x3780b4){let _0x2445e4=_0x3780b4['workbook']??_0x3780b4['doc']??_0x3780b4['slide']??_0x3780b4['board'];if(_0x2445e4&&(_0x2445e4['originalMeta']=_(_0x2445e4['originalMeta'],'snapshot\x20originalMeta'),_0x3780b4['workbook'])){for(let _0x21206e of Object['values'](_0x3780b4['workbook']['sheets']))_0x21206e['originalMeta']=_(_0x21206e['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0x1a9f00,_0x28554e){if(_0x1a9f00 instanceof Uint8Array)return _0x1a9f00;if(typeof _0x1a9f00!='string')throw new n['CollabError']('INVALID_REQUEST',_0x28554e+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0x1a9f00,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x28554e+'\x20must\x20be\x20valid\x20base64');}}function v(_0x254898){return!!_0x254898&&typeof _0x254898=='object'&&!Array['isArray'](_0x254898);}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(_0x546500,_0x50eae2,_0x4d2da1){let _0xcf3dc1=_0x546500['response'];_0xcf3dc1['writableEnded']||_0xcf3dc1['destroyed']||(_0xcf3dc1['statusCode']=_0x50eae2,_0xcf3dc1['setHeader']('content-type','application/json;\x20charset=utf-8'),_0xcf3dc1['end'](JSON['stringify'](_0x4d2da1,(_0x46d942,_0x5392c9)=>_0x5392c9 instanceof Uint8Array?Buffer['from'](_0x5392c9)['toString']('base64'):_0x5392c9)));}function x(_0x22925f){return _0x22925f instanceof r['NodeTransportError']?{'status':_0x22925f['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x22925f['code']==='INVALID_JSON'||_0x22925f['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x22925f['code'],'message':_0x22925f['message']}}:_0x22925f instanceof i['WorktreeError']?{'status':_0x22925f['code']==='WORKTREE_NOT_FOUND'||_0x22925f['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x22925f['code'],'message':_0x22925f['message'],'retryable':_0x22925f['retryable']}}:_0x22925f 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}[_0x22925f['code']],'error':{'code':_0x22925f['code'],'message':_0x22925f['message'],'retryable':_0x22925f['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 _0x1e270a=_0x4a06;function _0x5221(){const _0x58d707=['1983544GCNogo','527515sZimSk','2xvwhnU','282768xYMCHc','26533910VJZwha','2730750BkSOoJ','20AuODIz','4794783NASGVz','UniverCollabWorktreeEndpoint','36ZwmAqj','1375901rhiUFF'];_0x5221=function(){return _0x58d707;};return _0x5221();}(function(_0x25195c,_0x374ff3){const _0x2ef1f7=_0x4a06,_0x4c6ede=_0x25195c();while(!![]){try{const _0x15d655=parseInt(_0x2ef1f7(0x1e8))/0x1*(parseInt(_0x2ef1f7(0x1eb))/0x2)+parseInt(_0x2ef1f7(0x1ee))/0x3+-parseInt(_0x2ef1f7(0x1ef))/0x4*(parseInt(_0x2ef1f7(0x1ea))/0x5)+-parseInt(_0x2ef1f7(0x1ec))/0x6+parseInt(_0x2ef1f7(0x1e5))/0x7+-parseInt(_0x2ef1f7(0x1e9))/0x8*(-parseInt(_0x2ef1f7(0x1e7))/0x9)+-parseInt(_0x2ef1f7(0x1ed))/0xa;if(_0x15d655===_0x374ff3)break;else _0x4c6ede['push'](_0x4c6ede['shift']());}catch(_0xefd472){_0x4c6ede['push'](_0x4c6ede['shift']());}}}(_0x5221,0xb368a));function _0x4a06(_0x3d2484,_0xa2b67){_0x3d2484=_0x3d2484-0x1e5;const _0x522117=_0x5221();let _0x4a068a=_0x522117[_0x3d2484];return _0x4a068a;}import _0x4fc783 from'./index.cjs';const facadeExport0=_0x4fc783[_0x1e270a(0x1e6)];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.0",
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.0",
20
+ "@univerjs-pro/collaboration-service": "1.0.0",
21
+ "@univerjs-pro/collaboration-transport-node": "1.0.0",
22
+ "@univerjs-pro/collaboration-worktree-service": "1.0.0",
23
+ "@univerjs/protocol": "1.0.0"
24
24
  }
25
25
  }