@univerjs-pro/collaboration-worktree-endpoint 1.0.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 +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +6 -6
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('node:crypto'),t=require('@univerjs-pro/collaboration-endpoint'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs-pro/collaboration-transport-node'),i=require('@univerjs-pro/collaboration-worktree-service'),a=require('@univerjs/protocol');var o=class{['_middlewares']=new Map();['use'](_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;
|
|
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
|
|
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.
|
|
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.
|
|
20
|
-
"@univerjs-pro/collaboration-service": "1.0.
|
|
21
|
-
"@univerjs-pro/collaboration-transport-node": "1.0.
|
|
22
|
-
"@univerjs-pro/collaboration-worktree-service": "1.0.
|
|
23
|
-
"@univerjs/protocol": "1.0.
|
|
19
|
+
"@univerjs-pro/collaboration-endpoint": "1.0.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
|
}
|