@univerjs-pro/collaboration-worktree-endpoint 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +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'](_0x2faca9,_0x31814f){let _0x216f39=this['_middlewares']['get'](_0x2faca9)??[],_0x19fc98=_0x31814f;_0x216f39['push'](_0x19fc98),this['_middlewares']['set'](_0x2faca9,_0x216f39);let _0x2afcb6=!0x1;return{'dispose':()=>{if(_0x2afcb6)return;_0x2afcb6=!0x0;let _0x5ebded=_0x216f39['indexOf'](_0x19fc98);_0x5ebded>=0x0&&_0x216f39['splice'](_0x5ebded,0x1);}};}async['run'](_0x1e1b3f,_0x550457,_0x3b3509){let _0x22df73=[...this['_middlewares']['get'](_0x1e1b3f)??[]],_0x4d1738=async _0x1d2a86=>{let _0xaaca9a=_0x22df73[_0x1d2a86];if(!_0xaaca9a){await _0x3b3509();return;}let _0x1ff788=!0x1,_0xf27511;if(await _0xaaca9a(_0x550457,()=>{if(_0x1ff788)throw Error('Middleware\x20for\x20action\x20'+String(_0x1e1b3f)+'\x20called\x20next()\x20twice');return _0x1ff788=!0x0,_0xf27511=_0x4d1738(_0x1d2a86+0x1),_0xf27511;}),!_0x1ff788)throw Error('Middleware\x20for\x20action\x20'+String(_0x1e1b3f)+'\x20did\x20not\x20call\x20next()');await _0xf27511;};await _0x4d1738(0x0);}['clear'](){this['_middlewares']['clear']();}},s=0x5*0xea60,c='/universer-api/worktrees',l='/universer-api/user/session-ticket',u=class{['_service'];['_options'];['_middleware']=new o();['_listeners']=new Map();['_scopedEndpoints']=new Map();['_eventBindings']=new Map();['_eventRooms']=new Map();['_eventQueues']=new Map();['_subscriptions'];['_ticketTtlMs'];['_disposed']=!0x1;constructor(_0x171ff3,_0x31d3b2){if(this['_service']=_0x171ff3,this['_options']=_0x31d3b2,!_0x171ff3)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0x31d3b2?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0x31d3b2['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x1eb7ca=>this['_enqueueWorktreeChanged'](_0x1eb7ca['worktree'])),this['_service']['on']('worktreeCreated',_0x46e46b=>this['_enqueueWorktreeChanged'](_0x46e46b['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x55159f=>this['_enqueueWorktreeChanged'](_0x55159f['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x401548=>this['_enqueueWorktreeChanged'](_0x401548['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x43d7d9=>this['_enqueueWorktreeChanged'](_0x43d7d9['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x8e7648=>this['_enqueueWorktreeChanged'](_0x8e7648['worktree']))];}['use'](_0x5d2c94,_0x140177){return this['_assertRunning'](),this['_middleware']['use'](_0x5d2c94,_0x140177);}['on'](_0x70f15,_0x2fb121){this['_assertRunning']();let _0x10d7bf=this['_listeners']['get'](_0x70f15)??new Set(),_0x3c586e=_0x2fb121;_0x10d7bf['add'](_0x3c586e),this['_listeners']['set'](_0x70f15,_0x10d7bf);let _0x43e2e4=!0x1;return{'dispose':()=>{_0x43e2e4||(_0x43e2e4=!0x0,_0x10d7bf['delete'](_0x3c586e));}};}['register'](_0x5bc039){this['_assertRunning'](),_0x5bc039['get'](l,_0x24421a=>this['_handleTicket'](_0x24421a));let _0x3901ee=_0x50e783=>_0x29fa2c=>this['_handleManagement'](_0x29fa2c,{..._0x29fa2c['params'],'action':_0x50e783});_0x5bc039['post'](c,_0x3901ee('create')),_0x5bc039['get'](c+'/:worktreeID',_0x3901ee('get')),_0x5bc039['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x3901ee('evaluateUnitMerge'));for(let [_0x5988ef,_0x331125]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x5bc039['post'](c+'/:worktreeID/'+_0x5988ef,_0x3901ee(_0x331125));for(let [_0x290578,_0x44f46d]of[['get','/snapshot/:type/unit/:unitID/rev/:revision'],['get','/snapshot/:type/unit/:unitID/block/:blockID'],['get','/snapshot/block/:type/unit/:unitID/block/:blockID'],['get','/snapshot/:type/unit/:unitID/fetchmissing'],['post','/comb/:type/unit/:unitID/new_changes'],['delete','/snapshot/-/units'],['post','/snapshot/-/units/recover']]){let _0x12ae20=c+'/:worktreeID'+_0x44f46d;_0x5bc039[_0x290578](_0x12ae20,_0x1337e1=>{let _0xc8d14c=this['_scopedEndpoint'](_0x1337e1['params']['worktreeID'])['http']['get'](_0x290578+'\x20'+_0x12ae20);if(!_0xc8d14c)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0xc8d14c(_0x1337e1);});}let _0x59b0db=c+'/:worktreeID/comb/connect';_0x5bc039['upgrade'](_0x59b0db,_0x12da21=>{let _0x18d421=this['_scopedEndpoint'](_0x12da21['params']['worktreeID'])['upgrade']['get'](_0x59b0db);if(!_0x18d421)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x18d421(_0x12da21);}),_0x5bc039['upgrade'](c+'/:worktreeID/events',_0x187974=>this['_handleEventUpgrade'](_0x187974));}async['_handleEventUpgrade'](_0x41d7f5){this['_assertRunning']();let _0x34871c=new URL(_0x41d7f5['incomingMessage']['url']??'/','http://localhost'),_0x346dcc=await this['_options']['ticketStore']['consume'](_0x34871c['searchParams']['get']('sessionTicket')??'');if(!_0x346dcc){_0x41d7f5['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x587f68=_0x41d7f5['params']['worktreeID'];_0x41d7f5['accept']({'open':({connection:_0x573fb2})=>this['_openEventConnection'](_0x573fb2,_0x346dcc,_0x587f68),'message':({connection:_0x49734a})=>_0x49734a['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0x33a959})=>this['_removeEventBinding'](_0x33a959['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x3554f0=>_0x3554f0['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x25dc3b of this['_eventBindings']['values']())_0x25dc3b['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x33ecaa=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x33ecaa['map'](({endpoint:_0x5c2059})=>_0x5c2059['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x568edc){try{this['_assertRunning'](),this['_requireUser'](_0x568edc);let _0x5840c0=await this['_options']['ticketStore']['issue']({'userID':_0x568edc['userID'],'customData':_0x568edc['customData']},this['_ticketTtlMs']);b(_0x568edc,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x5840c0});}catch(_0x14b9fe){this['_writeFailure'](_0x568edc,_0x14b9fe);}}async['_handleManagement'](_0x3d8740,_0x231eb2){try{this['_assertRunning'](),this['_requireUser'](_0x3d8740);let _0x4adb98={'userID':_0x3d8740['userID'],'customData':_0x3d8740['customData']};if(_0x231eb2['action']==='evaluateUnitMerge'){let _0x7a1c7a=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x231eb2['worktreeID'],'unitID':_0x231eb2['unitID']},_0x4adb98);_0x3d8740['response']['setHeader']('cache-control','no-store'),b(_0x3d8740,0xc8,{'evaluation':_0x7a1c7a});return;}let _0x31daa8;switch(_0x231eb2['action']){case'create':{let _0x12afd9=await _0x3d8740['readJson']();f(_0x12afd9),_0x31daa8=await this['_service']['createWorktree'](_0x12afd9,_0x4adb98);break;}case'get':_0x31daa8=await this['_service']['getWorktree']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'setUnitRemoved':{let _0x2ece07=await _0x3d8740['readJson']();if(!v(_0x2ece07)||typeof _0x2ece07['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x31daa8=await this['_service']['setUnitRemoved']({'worktreeID':_0x231eb2['worktreeID'],'unitID':_0x231eb2['unitID'],'removed':_0x2ece07['removed']},_0x4adb98);break;}case'addUnit':{let _0x45751f=await _0x3d8740['readJson']();p(_0x45751f),_0x31daa8=await this['_service']['addUnit']({'worktreeID':_0x231eb2['worktreeID'],'unitID':_0x45751f['unitID']},_0x4adb98);break;}case'createUnitFromSnapshot':{let _0x51fff9=m(await _0x3d8740['readJson']());_0x31daa8=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x231eb2['worktreeID'],..._0x51fff9},_0x4adb98);break;}case'createUnitFromData':{let _0x264695=h(await _0x3d8740['readJson']());_0x31daa8=await this['_service']['createUnitFromData']({'worktreeID':_0x231eb2['worktreeID'],..._0x264695},_0x4adb98);break;}case'ready':_0x31daa8=await this['_service']['markReady']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'reopen':_0x31daa8=await this['_service']['reopenWorktree']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'discard':_0x31daa8=await this['_service']['discardWorktree']({'worktreeID':_0x231eb2['worktreeID']},_0x4adb98);break;case'merge':_0x31daa8=await this['_service']['mergeWorktree']({'worktreeID':_0x231eb2['worktreeID']},{..._0x4adb98,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x3d8740,0xc8,{'worktree':_0x31daa8['worktree']});}catch(_0x1d929e){this['_writeFailure'](_0x3d8740,_0x1d929e);}}async['_openEventConnection'](_0x454e87,_0x59c351,_0x572e4e){try{let _0x464d55=(0x0,e['randomUUID'])(),_0x5a8166={'memberID':_0x464d55,'userID':_0x59c351['userID'],'customData':_0x59c351['customData']},_0x45c04c={'memberID':_0x464d55,'userID':_0x59c351['userID'],'name':_0x59c351['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x572e4e,'session':_0x5a8166,'connection':_0x454e87,'member':_0x45c04c},async()=>void 0x0);let _0x40452c={'worktreeID':_0x572e4e,'connection':_0x454e87,'session':_0x5a8166,'ready':!0x1};this['_eventBindings']['set'](_0x454e87['id'],_0x40452c);let _0x2f90bf=this['_eventRooms']['get'](_0x572e4e)??new Map();_0x2f90bf['set'](_0x454e87['id'],_0x40452c),this['_eventRooms']['set'](_0x572e4e,_0x2f90bf);try{let {worktree:_0x244a18}=await this['_service']['getWorktree']({'worktreeID':_0x572e4e},{'userID':_0x5a8166['userID'],'customData':_0x454e87['customData']});if(await this['_sendChanged'](_0x40452c,_0x244a18),_0x40452c['ready']=!0x0,_0x40452c['pending']){let _0x521235=_0x40452c['pending'];delete _0x40452c['pending'],await this['_sendChanged'](_0x40452c,_0x521235);}}catch(_0x201c86){throw this['_removeEventBinding'](_0x454e87['id']),_0x201c86;}}catch(_0x418f2b){_0x454e87['close'](_0x418f2b instanceof n['CollabError']||_0x418f2b instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x445f65){this['_assertRunning']();let _0x95497=this['_scopedEndpoints']['get'](_0x445f65);if(_0x95497)return _0x95497;let _0x27110a=new t['UniverCollabEndpoint'](new d(this['_service'],_0x445f65),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x27110a['use']('connect',(_0x562e94,_0x371a3b)=>this['_middleware']['run']('connect',{..._0x562e94,'worktreeID':_0x445f65},_0x371a3b)),_0x27110a['use']('joinUnit',async(_0x4f1610,_0x5a5bc7)=>{let {worktree:_0x21db13}=await this['_getJoinableWorktree'](_0x445f65,_0x4f1610['session']);if(!_0x21db13['units']['some'](({unitID:_0x206f2d})=>_0x206f2d===_0x4f1610['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x4f1610['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x445f65);await this['_middleware']['run']('joinUnit',{..._0x4f1610,'worktreeID':_0x445f65},_0x5a5bc7);}),_0x27110a['use']('receivePresence',(_0x32a300,_0x3d63d5)=>this['_middleware']['run']('receivePresence',{..._0x32a300,'worktreeID':_0x445f65},_0x3d63d5)),_0x27110a['use']('sendPresence',(_0x2ef3d6,_0x3fa5ad)=>this['_middleware']['run']('sendPresence',{..._0x2ef3d6,'worktreeID':_0x445f65},_0x3fa5ad)),_0x27110a['on']('memberLeftUnit',_0x425196=>this['_emit']('memberLeftUnit',{..._0x425196,'worktreeID':_0x445f65}));let _0x8654ff=new Map(),_0xcbb03b=new Map();_0x27110a['register']({'get':(_0x2c623e,_0x4a2843)=>{_0x8654ff['set']('get\x20'+_0x2c623e,_0x4a2843);},'post':(_0x42e3d4,_0x27c497)=>{_0x8654ff['set']('post\x20'+_0x42e3d4,_0x27c497);},'delete':(_0x3141cd,_0x2b4b26)=>{_0x8654ff['set']('delete\x20'+_0x3141cd,_0x2b4b26);},'upgrade':(_0x7a0c26,_0x35a69e)=>{_0xcbb03b['set'](_0x7a0c26,_0x35a69e);}});let _0x27812a={'endpoint':_0x27110a,'http':_0x8654ff,'upgrade':_0xcbb03b};return this['_scopedEndpoints']['set'](_0x445f65,_0x27812a),_0x27812a;}async['_getJoinableWorktree'](_0x2f6a47,_0x373819){try{let _0x5049eb=await this['_service']['getWorktree']({'worktreeID':_0x2f6a47},{'userID':_0x373819['userID']});if(_0x5049eb['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x5049eb;}catch(_0x4808b7){throw _0x4808b7 instanceof i['WorktreeError']&&_0x4808b7['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x4808b7['message']):_0x4808b7;}}['_enqueueWorktreeChanged'](_0x2c26ec){if(this['_disposed'])return;let _0x17254=_0x2c26ec['worktreeID'],_0x1d0d66=(this['_eventQueues']['get'](_0x17254)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x13dfa8=[...this['_eventRooms']['get'](_0x17254)?.['values']()??[]];for(let _0x48b52c of _0x13dfa8){if(!_0x48b52c['ready']){_0x48b52c['pending']=_0x2c26ec;continue;}await this['_sendChanged'](_0x48b52c,_0x2c26ec);}});this['_eventQueues']['set'](_0x17254,_0x1d0d66),_0x1d0d66['finally'](()=>{this['_eventQueues']['get'](_0x17254)===_0x1d0d66&&this['_eventQueues']['delete'](_0x17254);});}['_sendChanged'](_0x52d307,_0x2ef8fa){let _0x14fcfe={'event':'worktreeChanged','worktree':_0x2ef8fa};return Promise['resolve'](_0x52d307['connection']['send'](JSON['stringify'](_0x14fcfe)));}['_removeEventBinding'](_0x421592){let _0x42f3e3=this['_eventBindings']['get'](_0x421592);if(!_0x42f3e3)return;this['_eventBindings']['delete'](_0x421592);let _0x28acb9=this['_eventRooms']['get'](_0x42f3e3['worktreeID']);_0x28acb9?.['delete'](_0x421592),_0x28acb9?.['size']===0x0&&this['_eventRooms']['delete'](_0x42f3e3['worktreeID']);}async['_emit'](_0x433c4c,_0x2aa17b){for(let _0x2f9350 of[...this['_listeners']['get'](_0x433c4c)??[]])try{await _0x2f9350(_0x2aa17b);}catch{}}['_requireUser'](_0x58c243){if(!_0x58c243['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0xb39df4,_0x33cf0e){let _0x3bdf6d=x(_0x33cf0e);b(_0xb39df4,_0x3bdf6d['status'],{'error':_0x3bdf6d['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x2fbf9b,_0x37cfff){this['_service']=_0x2fbf9b,this['_worktreeID']=_0x37cfff;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x5da31d,_0x406bcc){return this['_service']['getUnitLoadData']({..._0x5da31d,'worktreeID':this['_worktreeID']},_0x406bcc);}['getUnitLoadDataWithBlocks'](_0x493302,_0xafeca0){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x259502,_0xb9e2e7){return this['_service']['getChangesets']({..._0x259502,'worktreeID':this['_worktreeID']},_0xb9e2e7);}['getSheetBlock'](_0x347dbf,_0x384811){return this['_service']['getSheetBlock']({..._0x347dbf,'worktreeID':this['_worktreeID']},_0x384811);}['createUnitFromSnapshot'](_0x170a44,_0x51152d){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x34a66a,_0x463ba8){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0x3f63ef,_0x450215){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x31f5b6,_0x413568){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x2b8984,_0x4d0e3f){return this['_service']['submitChangeset']({..._0x2b8984,'worktreeID':this['_worktreeID']},_0x4d0e3f);}['on'](_0x4773e5,_0x2f4bec){return _0x4773e5==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x2f2cda=>{if(_0x2f2cda['request']['worktreeID']===this['_worktreeID'])return _0x2f4bec(_0x2f2cda);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x2e11fc){if(!_0x2e11fc||typeof _0x2e11fc!='object'||typeof _0x2e11fc['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x2f2fea=_0x2e11fc['units'];if(_0x2f2fea!==void 0x0&&(!Array['isArray'](_0x2f2fea)||_0x2f2fea['some'](_0x3da9bb=>typeof _0x3da9bb!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x504c0f){if(!_0x504c0f||typeof _0x504c0f!='object'||typeof _0x504c0f['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x5a0cfc){if(!v(_0x5a0cfc)||!v(_0x5a0cfc['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x4be3b5=_0x5a0cfc['snapshot'];g(_0x4be3b5);let _0x16c222=_0x5a0cfc['sheetBlocks'];if(_0x16c222!==void 0x0&&(!Array['isArray'](_0x16c222)||_0x16c222['some'](_0x3d9b6b=>!v(_0x3d9b6b))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x3d166d of _0x16c222??[])_0x3d166d['data']=_(_0x3d166d['data'],'sheetBlocks[].data');return{'snapshot':_0x4be3b5,'sheetBlocks':_0x16c222??[]};}function h(_0x5a2743){if(!v(_0x5a2743)||!y['has'](_0x5a2743['type'])||!v(_0x5a2743['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x5a2743;}function g(_0x4dbde7){let _0x1b9e08=_0x4dbde7['workbook']??_0x4dbde7['doc']??_0x4dbde7['slide']??_0x4dbde7['board'];if(_0x1b9e08&&(_0x1b9e08['originalMeta']=_(_0x1b9e08['originalMeta'],'snapshot\x20originalMeta'),_0x4dbde7['workbook'])){for(let _0x4b1eca of Object['values'](_0x4dbde7['workbook']['sheets']))_0x4b1eca['originalMeta']=_(_0x4b1eca['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0x5282ad,_0x2efc63){if(_0x5282ad instanceof Uint8Array)return _0x5282ad;if(typeof _0x5282ad!='string')throw new n['CollabError']('INVALID_REQUEST',_0x2efc63+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0x5282ad,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x2efc63+'\x20must\x20be\x20valid\x20base64');}}function v(_0x4567be){return!!_0x4567be&&typeof _0x4567be=='object'&&!Array['isArray'](_0x4567be);}var y=new Set([a['UniverType']['UNIVER_SHEET'],a['UniverType']['UNIVER_DOC'],a['UniverType']['UNIVER_SLIDE'],a['UniverType']['UNIVER_BOARD'],a['UniverType']['UNIVER_BASE']]);function b(_0x912276,_0x2e5657,_0x23a21b){let _0x2ab7be=_0x912276['response'];_0x2ab7be['writableEnded']||_0x2ab7be['destroyed']||(_0x2ab7be['statusCode']=_0x2e5657,_0x2ab7be['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x2ab7be['end'](JSON['stringify'](_0x23a21b,(_0x1bf47e,_0x437acf)=>_0x437acf instanceof Uint8Array?Buffer['from'](_0x437acf)['toString']('base64'):_0x437acf)));}function x(_0x14c6eb){return _0x14c6eb instanceof r['NodeTransportError']?{'status':_0x14c6eb['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x14c6eb['code']==='INVALID_JSON'||_0x14c6eb['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x14c6eb['code'],'message':_0x14c6eb['message']}}:_0x14c6eb instanceof i['WorktreeError']?{'status':_0x14c6eb['code']==='WORKTREE_NOT_FOUND'||_0x14c6eb['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x14c6eb['code'],'message':_0x14c6eb['message'],'retryable':_0x14c6eb['retryable']}}:_0x14c6eb instanceof n['CollabError']?{'status':{'UNAUTHENTICATED':0x191,'INVALID_REQUEST':0x190,'UNIT_NOT_FOUND':0x194,'PERMISSION_DENIED':0x193,'OT_CONFLICT':0x199,'REVISION_MISMATCH':0x199,'ADAPTER_FAILURE':0x1f7,'INTERNAL_ERROR':0x1f4}[_0x14c6eb['code']],'error':{'code':_0x14c6eb['code'],'message':_0x14c6eb['message'],'retryable':_0x14c6eb['retryable']}}:{'status':0x1f4,'error':{'code':'INTERNAL_ERROR','message':'Internal\x20server\x20error'}};}exports['UniverCollabWorktreeEndpoint']=u;
|
|
1
|
+
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('node:crypto'),t=require('@univerjs-pro/collaboration-endpoint'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs-pro/collaboration-transport-node'),i=require('@univerjs-pro/collaboration-worktree-service'),a=require('@univerjs/protocol');var o=class{['_middlewares']=new Map();['use'](_0x204305,_0xcb2b53){let _0x39b1e2=this['_middlewares']['get'](_0x204305)??[],_0x568a8e=_0xcb2b53;_0x39b1e2['push'](_0x568a8e),this['_middlewares']['set'](_0x204305,_0x39b1e2);let _0x22e093=!0x1;return{'dispose':()=>{if(_0x22e093)return;_0x22e093=!0x0;let _0x22e33b=_0x39b1e2['indexOf'](_0x568a8e);_0x22e33b>=0x0&&_0x39b1e2['splice'](_0x22e33b,0x1);}};}async['run'](_0x4aae4d,_0xa96e80,_0x21c3c4){let _0xede772=[...this['_middlewares']['get'](_0x4aae4d)??[]],_0x3ed925=async _0x2b36b3=>{let _0x326ad2=_0xede772[_0x2b36b3];if(!_0x326ad2){await _0x21c3c4();return;}let _0xac55da=!0x1,_0x4f12ad;if(await _0x326ad2(_0xa96e80,()=>{if(_0xac55da)throw Error('Middleware\x20for\x20action\x20'+String(_0x4aae4d)+'\x20called\x20next()\x20twice');return _0xac55da=!0x0,_0x4f12ad=_0x3ed925(_0x2b36b3+0x1),_0x4f12ad;}),!_0xac55da)throw Error('Middleware\x20for\x20action\x20'+String(_0x4aae4d)+'\x20did\x20not\x20call\x20next()');await _0x4f12ad;};await _0x3ed925(0x0);}['clear'](){this['_middlewares']['clear']();}},s=0x5*0xea60,c='/universer-api/worktrees',l='/universer-api/user/session-ticket',u=class{['_service'];['_options'];['_middleware']=new o();['_listeners']=new Map();['_scopedEndpoints']=new Map();['_eventBindings']=new Map();['_eventRooms']=new Map();['_eventQueues']=new Map();['_subscriptions'];['_ticketTtlMs'];['_disposed']=!0x1;constructor(_0x7922fd,_0xdfc70f){if(this['_service']=_0x7922fd,this['_options']=_0xdfc70f,!_0x7922fd)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0xdfc70f?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0xdfc70f['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x1f7ea7=>this['_enqueueWorktreeChanged'](_0x1f7ea7['worktree'])),this['_service']['on']('worktreeCreated',_0x3a0cf9=>this['_enqueueWorktreeChanged'](_0x3a0cf9['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x1ff4ed=>this['_enqueueWorktreeChanged'](_0x1ff4ed['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x30ef55=>this['_enqueueWorktreeChanged'](_0x30ef55['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x18783d=>this['_enqueueWorktreeChanged'](_0x18783d['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x1b2a48=>this['_enqueueWorktreeChanged'](_0x1b2a48['worktree']))];}['use'](_0x1da8cc,_0x35d60c){return this['_assertRunning'](),this['_middleware']['use'](_0x1da8cc,_0x35d60c);}['on'](_0x1a56f9,_0x3148c6){this['_assertRunning']();let _0x2f2650=this['_listeners']['get'](_0x1a56f9)??new Set(),_0xfe676d=_0x3148c6;_0x2f2650['add'](_0xfe676d),this['_listeners']['set'](_0x1a56f9,_0x2f2650);let _0x4ad352=!0x1;return{'dispose':()=>{_0x4ad352||(_0x4ad352=!0x0,_0x2f2650['delete'](_0xfe676d));}};}['register'](_0x22f6c9){this['_assertRunning'](),_0x22f6c9['get'](l,_0x536858=>this['_handleTicket'](_0x536858));let _0x227db3=_0x4a2d5d=>_0x3f0f65=>this['_handleManagement'](_0x3f0f65,{..._0x3f0f65['params'],'action':_0x4a2d5d});_0x22f6c9['post'](c,_0x227db3('create')),_0x22f6c9['get'](c+'/:worktreeID',_0x227db3('get')),_0x22f6c9['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x227db3('evaluateUnitMerge'));for(let [_0x5d18c7,_0x3e42ae]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x22f6c9['post'](c+'/:worktreeID/'+_0x5d18c7,_0x227db3(_0x3e42ae));for(let [_0x5f244d,_0x123321]of[['get','/snapshot/:type/unit/:unitID/rev/:revision'],['get','/snapshot/:type/unit/:unitID/block/:blockID'],['get','/snapshot/block/:type/unit/:unitID/block/:blockID'],['get','/snapshot/:type/unit/:unitID/fetchmissing'],['post','/comb/:type/unit/:unitID/new_changes'],['delete','/snapshot/-/units'],['post','/snapshot/-/units/recover']]){let _0x34516c=c+'/:worktreeID'+_0x123321;_0x22f6c9[_0x5f244d](_0x34516c,_0x555762=>{let _0x29339d=this['_scopedEndpoint'](_0x555762['params']['worktreeID'])['http']['get'](_0x5f244d+'\x20'+_0x34516c);if(!_0x29339d)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0x29339d(_0x555762);});}let _0x4854f6=c+'/:worktreeID/comb/connect';_0x22f6c9['upgrade'](_0x4854f6,_0x48723c=>{let _0x4643ac=this['_scopedEndpoint'](_0x48723c['params']['worktreeID'])['upgrade']['get'](_0x4854f6);if(!_0x4643ac)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x4643ac(_0x48723c);}),_0x22f6c9['upgrade'](c+'/:worktreeID/events',_0x10f972=>this['_handleEventUpgrade'](_0x10f972));}async['_handleEventUpgrade'](_0x4985d3){this['_assertRunning']();let _0x55f872=new URL(_0x4985d3['incomingMessage']['url']??'/','http://localhost'),_0x30e710=await this['_options']['ticketStore']['consume'](_0x55f872['searchParams']['get']('sessionTicket')??'');if(!_0x30e710){_0x4985d3['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x4c27eb=_0x4985d3['params']['worktreeID'];_0x4985d3['accept']({'open':({connection:_0xbef242})=>this['_openEventConnection'](_0xbef242,_0x30e710,_0x4c27eb),'message':({connection:_0x359c3e})=>_0x359c3e['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0xd5a264})=>this['_removeEventBinding'](_0xd5a264['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x27cd38=>_0x27cd38['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x4c90b3 of this['_eventBindings']['values']())_0x4c90b3['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x393d8c=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x393d8c['map'](({endpoint:_0x507056})=>_0x507056['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x38b996){try{this['_assertRunning'](),this['_requireUser'](_0x38b996);let _0x23e8e4=await this['_options']['ticketStore']['issue']({'userID':_0x38b996['userID'],'customData':_0x38b996['customData']},this['_ticketTtlMs']);b(_0x38b996,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x23e8e4});}catch(_0x4e1792){this['_writeFailure'](_0x38b996,_0x4e1792);}}async['_handleManagement'](_0x163609,_0x38b06f){try{this['_assertRunning'](),this['_requireUser'](_0x163609);let _0x3afb63={'userID':_0x163609['userID'],'customData':_0x163609['customData']};if(_0x38b06f['action']==='evaluateUnitMerge'){let _0x45032e=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x38b06f['worktreeID'],'unitID':_0x38b06f['unitID']},_0x3afb63);_0x163609['response']['setHeader']('cache-control','no-store'),b(_0x163609,0xc8,{'evaluation':_0x45032e});return;}let _0x52c935;switch(_0x38b06f['action']){case'create':{let _0x5bae64=await _0x163609['readJson']();f(_0x5bae64),_0x52c935=await this['_service']['createWorktree'](_0x5bae64,_0x3afb63);break;}case'get':_0x52c935=await this['_service']['getWorktree']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'setUnitRemoved':{let _0x2eb3b5=await _0x163609['readJson']();if(!v(_0x2eb3b5)||typeof _0x2eb3b5['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x52c935=await this['_service']['setUnitRemoved']({'worktreeID':_0x38b06f['worktreeID'],'unitID':_0x38b06f['unitID'],'removed':_0x2eb3b5['removed']},_0x3afb63);break;}case'addUnit':{let _0x374701=await _0x163609['readJson']();p(_0x374701),_0x52c935=await this['_service']['addUnit']({'worktreeID':_0x38b06f['worktreeID'],'unitID':_0x374701['unitID']},_0x3afb63);break;}case'createUnitFromSnapshot':{let _0x2ba9db=m(await _0x163609['readJson']());_0x52c935=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x38b06f['worktreeID'],..._0x2ba9db},_0x3afb63);break;}case'createUnitFromData':{let _0x17a4a6=h(await _0x163609['readJson']());_0x52c935=await this['_service']['createUnitFromData']({'worktreeID':_0x38b06f['worktreeID'],..._0x17a4a6},_0x3afb63);break;}case'ready':_0x52c935=await this['_service']['markReady']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'reopen':_0x52c935=await this['_service']['reopenWorktree']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'discard':_0x52c935=await this['_service']['discardWorktree']({'worktreeID':_0x38b06f['worktreeID']},_0x3afb63);break;case'merge':_0x52c935=await this['_service']['mergeWorktree']({'worktreeID':_0x38b06f['worktreeID']},{..._0x3afb63,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0x163609,0xc8,{'worktree':_0x52c935['worktree']});}catch(_0x454414){this['_writeFailure'](_0x163609,_0x454414);}}async['_openEventConnection'](_0x38e644,_0x6e474a,_0x7cde3){try{let _0x21abf7=(0x0,e['randomUUID'])(),_0x140db5={'memberID':_0x21abf7,'userID':_0x6e474a['userID'],'customData':_0x6e474a['customData']},_0x45f0a3={'memberID':_0x21abf7,'userID':_0x6e474a['userID'],'name':_0x6e474a['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x7cde3,'session':_0x140db5,'connection':_0x38e644,'member':_0x45f0a3},async()=>void 0x0);let _0x32def1={'worktreeID':_0x7cde3,'connection':_0x38e644,'session':_0x140db5,'ready':!0x1};this['_eventBindings']['set'](_0x38e644['id'],_0x32def1);let _0x46afe5=this['_eventRooms']['get'](_0x7cde3)??new Map();_0x46afe5['set'](_0x38e644['id'],_0x32def1),this['_eventRooms']['set'](_0x7cde3,_0x46afe5);try{let {worktree:_0x4dd636}=await this['_service']['getWorktree']({'worktreeID':_0x7cde3},{'userID':_0x140db5['userID'],'customData':_0x38e644['customData']});if(await this['_sendChanged'](_0x32def1,_0x4dd636),_0x32def1['ready']=!0x0,_0x32def1['pending']){let _0x3b4566=_0x32def1['pending'];delete _0x32def1['pending'],await this['_sendChanged'](_0x32def1,_0x3b4566);}}catch(_0x3e39af){throw this['_removeEventBinding'](_0x38e644['id']),_0x3e39af;}}catch(_0x532e68){_0x38e644['close'](_0x532e68 instanceof n['CollabError']||_0x532e68 instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x3c6dfa){this['_assertRunning']();let _0x4dda2b=this['_scopedEndpoints']['get'](_0x3c6dfa);if(_0x4dda2b)return _0x4dda2b;let _0x231bdd=new t['UniverCollabEndpoint'](new d(this['_service'],_0x3c6dfa),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x231bdd['use']('connect',(_0x33c7a8,_0x301b98)=>this['_middleware']['run']('connect',{..._0x33c7a8,'worktreeID':_0x3c6dfa},_0x301b98)),_0x231bdd['use']('joinUnit',async(_0x10b8a4,_0x5ccd5c)=>{let {worktree:_0x4191ba}=await this['_getJoinableWorktree'](_0x3c6dfa,_0x10b8a4['session']);if(!_0x4191ba['units']['some'](({unitID:_0xce7a8d})=>_0xce7a8d===_0x10b8a4['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x10b8a4['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x3c6dfa);await this['_middleware']['run']('joinUnit',{..._0x10b8a4,'worktreeID':_0x3c6dfa},_0x5ccd5c);}),_0x231bdd['use']('receivePresence',(_0x4fc992,_0x274558)=>this['_middleware']['run']('receivePresence',{..._0x4fc992,'worktreeID':_0x3c6dfa},_0x274558)),_0x231bdd['use']('sendPresence',(_0x43a4de,_0x475927)=>this['_middleware']['run']('sendPresence',{..._0x43a4de,'worktreeID':_0x3c6dfa},_0x475927)),_0x231bdd['on']('memberLeftUnit',_0x5259d9=>this['_emit']('memberLeftUnit',{..._0x5259d9,'worktreeID':_0x3c6dfa}));let _0x407701=new Map(),_0x5f23b7=new Map();_0x231bdd['register']({'get':(_0x3b9348,_0x3933a2)=>{_0x407701['set']('get\x20'+_0x3b9348,_0x3933a2);},'post':(_0x415f2f,_0x217be1)=>{_0x407701['set']('post\x20'+_0x415f2f,_0x217be1);},'delete':(_0x586d34,_0x1a2c9a)=>{_0x407701['set']('delete\x20'+_0x586d34,_0x1a2c9a);},'upgrade':(_0x24708f,_0x4dc480)=>{_0x5f23b7['set'](_0x24708f,_0x4dc480);}});let _0x5c2f6e={'endpoint':_0x231bdd,'http':_0x407701,'upgrade':_0x5f23b7};return this['_scopedEndpoints']['set'](_0x3c6dfa,_0x5c2f6e),_0x5c2f6e;}async['_getJoinableWorktree'](_0x4e19d9,_0x202cdc){try{let _0x5a378f=await this['_service']['getWorktree']({'worktreeID':_0x4e19d9},{'userID':_0x202cdc['userID']});if(_0x5a378f['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x5a378f;}catch(_0x18a6b0){throw _0x18a6b0 instanceof i['WorktreeError']&&_0x18a6b0['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x18a6b0['message']):_0x18a6b0;}}['_enqueueWorktreeChanged'](_0x453305){if(this['_disposed'])return;let _0x443d27=_0x453305['worktreeID'],_0x1a39a0=(this['_eventQueues']['get'](_0x443d27)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0x37a440=[...this['_eventRooms']['get'](_0x443d27)?.['values']()??[]];for(let _0x18e245 of _0x37a440){if(!_0x18e245['ready']){_0x18e245['pending']=_0x453305;continue;}await this['_sendChanged'](_0x18e245,_0x453305);}});this['_eventQueues']['set'](_0x443d27,_0x1a39a0),_0x1a39a0['finally'](()=>{this['_eventQueues']['get'](_0x443d27)===_0x1a39a0&&this['_eventQueues']['delete'](_0x443d27);});}['_sendChanged'](_0x2d5f64,_0x5d4498){let _0x5e1149={'event':'worktreeChanged','worktree':_0x5d4498};return Promise['resolve'](_0x2d5f64['connection']['send'](JSON['stringify'](_0x5e1149)));}['_removeEventBinding'](_0x30f037){let _0xa315d1=this['_eventBindings']['get'](_0x30f037);if(!_0xa315d1)return;this['_eventBindings']['delete'](_0x30f037);let _0x1de8e0=this['_eventRooms']['get'](_0xa315d1['worktreeID']);_0x1de8e0?.['delete'](_0x30f037),_0x1de8e0?.['size']===0x0&&this['_eventRooms']['delete'](_0xa315d1['worktreeID']);}async['_emit'](_0x3a5711,_0x3d4134){for(let _0x4ea0ea of[...this['_listeners']['get'](_0x3a5711)??[]])try{await _0x4ea0ea(_0x3d4134);}catch{}}['_requireUser'](_0x514f08){if(!_0x514f08['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0x45368b,_0x111410){let _0x49054e=x(_0x111410);b(_0x45368b,_0x49054e['status'],{'error':_0x49054e['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0x48f339,_0x1ef91e){this['_service']=_0x48f339,this['_worktreeID']=_0x1ef91e;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x5c219d,_0x3e8f56){return this['_service']['getUnitLoadData']({..._0x5c219d,'worktreeID':this['_worktreeID']},_0x3e8f56);}['getUnitLoadDataWithBlocks'](_0x41bad9,_0x540726){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x27c709,_0x2b6086){return this['_service']['getChangesets']({..._0x27c709,'worktreeID':this['_worktreeID']},_0x2b6086);}['getSheetBlock'](_0x1e2116,_0xedb7ff){return this['_service']['getSheetBlock']({..._0x1e2116,'worktreeID':this['_worktreeID']},_0xedb7ff);}['createUnitFromSnapshot'](_0x4b41bf,_0x447ea4){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x52add1,_0x32c448){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0x3f3b2f,_0x168fa6){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0x5411c3,_0x2932b0){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x491d32,_0x15c0dc){return this['_service']['submitChangeset']({..._0x491d32,'worktreeID':this['_worktreeID']},_0x15c0dc);}['on'](_0x43b6f0,_0x20d148){return _0x43b6f0==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x49622b=>{if(_0x49622b['request']['worktreeID']===this['_worktreeID'])return _0x20d148(_0x49622b);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x3e151b){if(!_0x3e151b||typeof _0x3e151b!='object'||typeof _0x3e151b['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x1a7bcb=_0x3e151b['units'];if(_0x1a7bcb!==void 0x0&&(!Array['isArray'](_0x1a7bcb)||_0x1a7bcb['some'](_0x2a9887=>typeof _0x2a9887!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x4d8bd1){if(!_0x4d8bd1||typeof _0x4d8bd1!='object'||typeof _0x4d8bd1['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x5e26c9){if(!v(_0x5e26c9)||!v(_0x5e26c9['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x46f67c=_0x5e26c9['snapshot'];g(_0x46f67c);let _0x5f0e7b=_0x5e26c9['sheetBlocks'];if(_0x5f0e7b!==void 0x0&&(!Array['isArray'](_0x5f0e7b)||_0x5f0e7b['some'](_0x2c69bd=>!v(_0x2c69bd))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x5af894 of _0x5f0e7b??[])_0x5af894['data']=_(_0x5af894['data'],'sheetBlocks[].data');return{'snapshot':_0x46f67c,'sheetBlocks':_0x5f0e7b??[]};}function h(_0x3a2778){if(!v(_0x3a2778)||!y['has'](_0x3a2778['type'])||!v(_0x3a2778['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x3a2778;}function g(_0x5052be){let _0x50c039=_0x5052be['workbook']??_0x5052be['doc']??_0x5052be['slide']??_0x5052be['board'];if(_0x50c039&&(_0x50c039['originalMeta']=_(_0x50c039['originalMeta'],'snapshot\x20originalMeta'),_0x5052be['workbook'])){for(let _0x464a68 of Object['values'](_0x5052be['workbook']['sheets']))_0x464a68['originalMeta']=_(_0x464a68['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0xcfa779,_0x3fafb8){if(_0xcfa779 instanceof Uint8Array)return _0xcfa779;if(typeof _0xcfa779!='string')throw new n['CollabError']('INVALID_REQUEST',_0x3fafb8+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0xcfa779,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x3fafb8+'\x20must\x20be\x20valid\x20base64');}}function v(_0x2e3b1d){return!!_0x2e3b1d&&typeof _0x2e3b1d=='object'&&!Array['isArray'](_0x2e3b1d);}var y=new Set([a['UniverType']['UNIVER_SHEET'],a['UniverType']['UNIVER_DOC'],a['UniverType']['UNIVER_SLIDE'],a['UniverType']['UNIVER_BOARD'],a['UniverType']['UNIVER_BASE']]);function b(_0x236943,_0x4df74f,_0x300585){let _0x51fba8=_0x236943['response'];_0x51fba8['writableEnded']||_0x51fba8['destroyed']||(_0x51fba8['statusCode']=_0x4df74f,_0x51fba8['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x51fba8['end'](JSON['stringify'](_0x300585,(_0x17cc64,_0x7b7c93)=>_0x7b7c93 instanceof Uint8Array?Buffer['from'](_0x7b7c93)['toString']('base64'):_0x7b7c93)));}function x(_0x2b5db1){return _0x2b5db1 instanceof r['NodeTransportError']?{'status':_0x2b5db1['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x2b5db1['code']==='INVALID_JSON'||_0x2b5db1['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x2b5db1['code'],'message':_0x2b5db1['message']}}:_0x2b5db1 instanceof i['WorktreeError']?{'status':_0x2b5db1['code']==='WORKTREE_NOT_FOUND'||_0x2b5db1['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x2b5db1['code'],'message':_0x2b5db1['message'],'retryable':_0x2b5db1['retryable']}}:_0x2b5db1 instanceof n['CollabError']?{'status':{'UNAUTHENTICATED':0x191,'INVALID_REQUEST':0x190,'UNIT_NOT_FOUND':0x194,'PERMISSION_DENIED':0x193,'OT_CONFLICT':0x199,'REVISION_MISMATCH':0x199,'ADAPTER_FAILURE':0x1f7,'INTERNAL_ERROR':0x1f4}[_0x2b5db1['code']],'error':{'code':_0x2b5db1['code'],'message':_0x2b5db1['message'],'retryable':_0x2b5db1['retryable']}}:{'status':0x1f4,'error':{'code':'INTERNAL_ERROR','message':'Internal\x20server\x20error'}};}exports['UniverCollabWorktreeEndpoint']=u;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function _0x3c46(_0x227333,_0x58a01f){_0x227333=_0x227333-0x135;const _0x8f658f=_0x8f65();let _0x3c46e4=_0x8f658f[_0x227333];return _0x3c46e4;}function _0x8f65(){const _0xfd0d82=['10031756sKBPUF','2680944xgWUKN','UniverCollabWorktreeEndpoint','4nxTahY','5435835RILeHz','348482jXyqaa','35394255ljXbIF','5239560uBbmgg','8iisemC','1372404HuCoFp'];_0x8f65=function(){return _0xfd0d82;};return _0x8f65();}const _0x1eb915=_0x3c46;(function(_0x4acd93,_0xc4b44){const _0x5b8ecf=_0x3c46,_0x1f19ca=_0x4acd93();while(!![]){try{const _0x2c81f9=-parseInt(_0x5b8ecf(0x13c))/0x1*(parseInt(_0x5b8ecf(0x13e))/0x2)+parseInt(_0x5b8ecf(0x138))/0x3*(-parseInt(_0x5b8ecf(0x137))/0x4)+parseInt(_0x5b8ecf(0x13d))/0x5+-parseInt(_0x5b8ecf(0x136))/0x6+-parseInt(_0x5b8ecf(0x139))/0x7+-parseInt(_0x5b8ecf(0x13a))/0x8+parseInt(_0x5b8ecf(0x135))/0x9;if(_0x2c81f9===_0xc4b44)break;else _0x1f19ca['push'](_0x1f19ca['shift']());}catch(_0x1fd3b6){_0x1f19ca['push'](_0x1f19ca['shift']());}}}(_0x8f65,0xbb20c));import _0x4798a6 from'./index.cjs';const facadeExport0=_0x4798a6[_0x1eb915(0x13b)];export{facadeExport0 as UniverCollabWorktreeEndpoint};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs-pro/collaboration-worktree-endpoint",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.3",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@univerjs-pro/collaboration-endpoint": "1.0.
|
|
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.3",
|
|
20
|
+
"@univerjs-pro/collaboration-service": "1.0.3",
|
|
21
|
+
"@univerjs-pro/collaboration-transport-node": "1.0.3",
|
|
22
|
+
"@univerjs-pro/collaboration-worktree-service": "1.0.3",
|
|
23
|
+
"@univerjs/protocol": "1.0.3"
|
|
24
24
|
}
|
|
25
25
|
}
|