@univerjs-pro/collaboration-worktree-endpoint 1.0.2 → 1.0.4

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'](_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'](_0x1cdb8f,_0x3d4ba4){let _0x3b1369=this['_middlewares']['get'](_0x1cdb8f)??[],_0x59ef3c=_0x3d4ba4;_0x3b1369['push'](_0x59ef3c),this['_middlewares']['set'](_0x1cdb8f,_0x3b1369);let _0x2116fd=!0x1;return{'dispose':()=>{if(_0x2116fd)return;_0x2116fd=!0x0;let _0x80b8c1=_0x3b1369['indexOf'](_0x59ef3c);_0x80b8c1>=0x0&&_0x3b1369['splice'](_0x80b8c1,0x1);}};}async['run'](_0x5ae3b2,_0x1cfb82,_0x5450b1){let _0x4d4db7=[...this['_middlewares']['get'](_0x5ae3b2)??[]],_0x210d6f=async _0x502dfd=>{let _0x3e885e=_0x4d4db7[_0x502dfd];if(!_0x3e885e){await _0x5450b1();return;}let _0xd98456=!0x1,_0x4d7791;if(await _0x3e885e(_0x1cfb82,()=>{if(_0xd98456)throw Error('Middleware\x20for\x20action\x20'+String(_0x5ae3b2)+'\x20called\x20next()\x20twice');return _0xd98456=!0x0,_0x4d7791=_0x210d6f(_0x502dfd+0x1),_0x4d7791;}),!_0xd98456)throw Error('Middleware\x20for\x20action\x20'+String(_0x5ae3b2)+'\x20did\x20not\x20call\x20next()');await _0x4d7791;};await _0x210d6f(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(_0x24bebb,_0x2310ae){if(this['_service']=_0x24bebb,this['_options']=_0x2310ae,!_0x24bebb)throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20a\x20Worktree\x20Service');if(!_0x2310ae?.['ticketStore'])throw TypeError('UniverCollabWorktreeEndpoint\x20requires\x20the\x20shared\x20ticketStore');if(this['_ticketTtlMs']=_0x2310ae['sessionTicketTtlMs']??s,!Number['isSafeInteger'](this['_ticketTtlMs'])||this['_ticketTtlMs']<=0x0)throw TypeError('sessionTicketTtlMs\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_subscriptions']=[this['_service']['on']('worktreeUnitRemovalChanged',_0x2fb52b=>this['_enqueueWorktreeChanged'](_0x2fb52b['worktree'])),this['_service']['on']('worktreeCreated',_0x4409af=>this['_enqueueWorktreeChanged'](_0x4409af['worktree'])),this['_service']['on']('worktreeUnitAdded',_0x5803b8=>this['_enqueueWorktreeChanged'](_0x5803b8['worktree'])),this['_service']['on']('worktreeUnitCreated',_0x588749=>this['_enqueueWorktreeChanged'](_0x588749['worktree'])),this['_service']['on']('worktreeStatusChanged',_0x2cee22=>this['_enqueueWorktreeChanged'](_0x2cee22['worktree'])),this['_service']['on']('worktreeUnitMergeResultRecorded',_0x2d5821=>this['_enqueueWorktreeChanged'](_0x2d5821['worktree']))];}['use'](_0x51f43f,_0x35cdbf){return this['_assertRunning'](),this['_middleware']['use'](_0x51f43f,_0x35cdbf);}['on'](_0x520366,_0x2513bc){this['_assertRunning']();let _0x59df77=this['_listeners']['get'](_0x520366)??new Set(),_0x5b8ce1=_0x2513bc;_0x59df77['add'](_0x5b8ce1),this['_listeners']['set'](_0x520366,_0x59df77);let _0x61f109=!0x1;return{'dispose':()=>{_0x61f109||(_0x61f109=!0x0,_0x59df77['delete'](_0x5b8ce1));}};}['register'](_0x2f53c4){this['_assertRunning'](),_0x2f53c4['get'](l,_0x38f8b1=>this['_handleTicket'](_0x38f8b1));let _0x4f79a8=_0x1d0275=>_0x5b0775=>this['_handleManagement'](_0x5b0775,{..._0x5b0775['params'],'action':_0x1d0275});_0x2f53c4['post'](c,_0x4f79a8('create')),_0x2f53c4['get'](c+'/:worktreeID',_0x4f79a8('get')),_0x2f53c4['get'](c+'/:worktreeID/units/:unitID/merge-preview',_0x4f79a8('evaluateUnitMerge'));for(let [_0xfa48e8,_0x4b0bd4]of[['units','addUnit'],['units/:unitID/removal','setUnitRemoved'],['units/from-snapshot','createUnitFromSnapshot'],['units/from-data','createUnitFromData'],['ready','ready'],['reopen','reopen'],['discard','discard'],['merge','merge']])_0x2f53c4['post'](c+'/:worktreeID/'+_0xfa48e8,_0x4f79a8(_0x4b0bd4));for(let [_0x101284,_0x46ed7b]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 _0x40d424=c+'/:worktreeID'+_0x46ed7b;_0x2f53c4[_0x101284](_0x40d424,_0x204ab3=>{let _0x3b4061=this['_scopedEndpoint'](_0x204ab3['params']['worktreeID'])['http']['get'](_0x101284+'\x20'+_0x40d424);if(!_0x3b4061)throw Error('Scoped\x20collaboration\x20HTTP\x20route\x20is\x20not\x20registered');return _0x3b4061(_0x204ab3);});}let _0x4a4879=c+'/:worktreeID/comb/connect';_0x2f53c4['upgrade'](_0x4a4879,_0x4e5623=>{let _0x10be49=this['_scopedEndpoint'](_0x4e5623['params']['worktreeID'])['upgrade']['get'](_0x4a4879);if(!_0x10be49)throw Error('Scoped\x20collaboration\x20upgrade\x20route\x20is\x20not\x20registered');return _0x10be49(_0x4e5623);}),_0x2f53c4['upgrade'](c+'/:worktreeID/events',_0x2cbb47=>this['_handleEventUpgrade'](_0x2cbb47));}async['_handleEventUpgrade'](_0x256def){this['_assertRunning']();let _0x58c5da=new URL(_0x256def['incomingMessage']['url']??'/','http://localhost'),_0x50ea6e=await this['_options']['ticketStore']['consume'](_0x58c5da['searchParams']['get']('sessionTicket')??'');if(!_0x50ea6e){_0x256def['reject'](0x191,'Invalid\x20or\x20expired\x20session\x20ticket');return;}let _0x1ba7a6=_0x256def['params']['worktreeID'];_0x256def['accept']({'open':({connection:_0x30f658})=>this['_openEventConnection'](_0x30f658,_0x50ea6e,_0x1ba7a6),'message':({connection:_0x44291c})=>_0x44291c['close'](0x3eb,'Worktree\x20event\x20connection\x20is\x20server-only'),'close':({connection:_0x11363d})=>this['_removeEventBinding'](_0x11363d['id'])});}async['dispose'](){if(this['_disposed'])return;this['_disposed']=!0x0,this['_subscriptions']['forEach'](_0x576915=>_0x576915['dispose']()),await Promise['allSettled']([...this['_eventQueues']['values']()]);for(let _0x3e7cd0 of this['_eventBindings']['values']())_0x3e7cd0['connection']['close'](0x3e9,'Endpoint\x20disposed');this['_eventBindings']['clear'](),this['_eventRooms']['clear'](),this['_eventQueues']['clear']();let _0x2565fc=[...this['_scopedEndpoints']['values']()];this['_scopedEndpoints']['clear'](),await Promise['all'](_0x2565fc['map'](({endpoint:_0x5f1a0c})=>_0x5f1a0c['dispose']())),this['_middleware']['clear'](),this['_listeners']['clear']();}async['_handleTicket'](_0x5d8174){try{this['_assertRunning'](),this['_requireUser'](_0x5d8174);let _0x48b4be=await this['_options']['ticketStore']['issue']({'userID':_0x5d8174['userID'],'customData':_0x5d8174['customData']},this['_ticketTtlMs']);b(_0x5d8174,0xc8,{'error':{'code':a['ErrorCode']['OK'],'message':''},'ticket':_0x48b4be});}catch(_0x5ef67b){this['_writeFailure'](_0x5d8174,_0x5ef67b);}}async['_handleManagement'](_0xac1795,_0x3ce7f2){try{this['_assertRunning'](),this['_requireUser'](_0xac1795);let _0x460928={'userID':_0xac1795['userID'],'customData':_0xac1795['customData']};if(_0x3ce7f2['action']==='evaluateUnitMerge'){let _0x1aaf4d=await this['_service']['evaluateWorktreeUnitMerge']({'worktreeID':_0x3ce7f2['worktreeID'],'unitID':_0x3ce7f2['unitID']},_0x460928);_0xac1795['response']['setHeader']('cache-control','no-store'),b(_0xac1795,0xc8,{'evaluation':_0x1aaf4d});return;}let _0x925440;switch(_0x3ce7f2['action']){case'create':{let _0x4dec7f=await _0xac1795['readJson']();f(_0x4dec7f),_0x925440=await this['_service']['createWorktree'](_0x4dec7f,_0x460928);break;}case'get':_0x925440=await this['_service']['getWorktree']({'worktreeID':_0x3ce7f2['worktreeID']},_0x460928);break;case'setUnitRemoved':{let _0x4b0cf5=await _0xac1795['readJson']();if(!v(_0x4b0cf5)||typeof _0x4b0cf5['removed']!='boolean')throw new n['CollabError']('INVALID_REQUEST','removed\x20must\x20be\x20a\x20boolean');_0x925440=await this['_service']['setUnitRemoved']({'worktreeID':_0x3ce7f2['worktreeID'],'unitID':_0x3ce7f2['unitID'],'removed':_0x4b0cf5['removed']},_0x460928);break;}case'addUnit':{let _0x49b036=await _0xac1795['readJson']();p(_0x49b036),_0x925440=await this['_service']['addUnit']({'worktreeID':_0x3ce7f2['worktreeID'],'unitID':_0x49b036['unitID']},_0x460928);break;}case'createUnitFromSnapshot':{let _0x3c28de=m(await _0xac1795['readJson']());_0x925440=await this['_service']['createUnitFromSnapshot']({'worktreeID':_0x3ce7f2['worktreeID'],..._0x3c28de},_0x460928);break;}case'createUnitFromData':{let _0x3f95be=h(await _0xac1795['readJson']());_0x925440=await this['_service']['createUnitFromData']({'worktreeID':_0x3ce7f2['worktreeID'],..._0x3f95be},_0x460928);break;}case'ready':_0x925440=await this['_service']['markReady']({'worktreeID':_0x3ce7f2['worktreeID']},_0x460928);break;case'reopen':_0x925440=await this['_service']['reopenWorktree']({'worktreeID':_0x3ce7f2['worktreeID']},_0x460928);break;case'discard':_0x925440=await this['_service']['discardWorktree']({'worktreeID':_0x3ce7f2['worktreeID']},_0x460928);break;case'merge':_0x925440=await this['_service']['mergeWorktree']({'worktreeID':_0x3ce7f2['worktreeID']},{..._0x460928,'memberID':'http-'+(0x0,e['randomUUID'])()});break;}b(_0xac1795,0xc8,{'worktree':_0x925440['worktree']});}catch(_0x4dcbd9){this['_writeFailure'](_0xac1795,_0x4dcbd9);}}async['_openEventConnection'](_0x44ab69,_0x462fd4,_0x207dff){try{let _0x318558=(0x0,e['randomUUID'])(),_0x6b629={'memberID':_0x318558,'userID':_0x462fd4['userID'],'customData':_0x462fd4['customData']},_0x556d52={'memberID':_0x318558,'userID':_0x462fd4['userID'],'name':_0x462fd4['userID']};await this['_middleware']['run']('connect',{'worktreeID':_0x207dff,'session':_0x6b629,'connection':_0x44ab69,'member':_0x556d52},async()=>void 0x0);let _0x29558d={'worktreeID':_0x207dff,'connection':_0x44ab69,'session':_0x6b629,'ready':!0x1};this['_eventBindings']['set'](_0x44ab69['id'],_0x29558d);let _0x174113=this['_eventRooms']['get'](_0x207dff)??new Map();_0x174113['set'](_0x44ab69['id'],_0x29558d),this['_eventRooms']['set'](_0x207dff,_0x174113);try{let {worktree:_0x3b0c72}=await this['_service']['getWorktree']({'worktreeID':_0x207dff},{'userID':_0x6b629['userID'],'customData':_0x44ab69['customData']});if(await this['_sendChanged'](_0x29558d,_0x3b0c72),_0x29558d['ready']=!0x0,_0x29558d['pending']){let _0xe9780b=_0x29558d['pending'];delete _0x29558d['pending'],await this['_sendChanged'](_0x29558d,_0xe9780b);}}catch(_0x13f718){throw this['_removeEventBinding'](_0x44ab69['id']),_0x13f718;}}catch(_0x2464b5){_0x44ab69['close'](_0x2464b5 instanceof n['CollabError']||_0x2464b5 instanceof i['WorktreeError']?0x3f0:0x3f3,'Worktree\x20event\x20connection\x20rejected');}}['_scopedEndpoint'](_0x4da8ec){this['_assertRunning']();let _0x59f79b=this['_scopedEndpoints']['get'](_0x4da8ec);if(_0x59f79b)return _0x59f79b;let _0x3541ff=new t['UniverCollabEndpoint'](new d(this['_service'],_0x4da8ec),{'ticketStore':this['_options']['ticketStore'],'protocolBasePath':c+'/:worktreeID'});_0x3541ff['use']('connect',(_0x414e17,_0x3e195b)=>this['_middleware']['run']('connect',{..._0x414e17,'worktreeID':_0x4da8ec},_0x3e195b)),_0x3541ff['use']('joinUnit',async(_0x1fc834,_0x5c427b)=>{let {worktree:_0x342e5c}=await this['_getJoinableWorktree'](_0x4da8ec,_0x1fc834['session']);if(!_0x342e5c['units']['some'](({unitID:_0x3c6623})=>_0x3c6623===_0x1fc834['unitID']))throw new n['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x1fc834['unitID']+'\x20is\x20not\x20in\x20Worktree\x20'+_0x4da8ec);await this['_middleware']['run']('joinUnit',{..._0x1fc834,'worktreeID':_0x4da8ec},_0x5c427b);}),_0x3541ff['use']('receivePresence',(_0x39593e,_0x5b45f1)=>this['_middleware']['run']('receivePresence',{..._0x39593e,'worktreeID':_0x4da8ec},_0x5b45f1)),_0x3541ff['use']('sendPresence',(_0x59982a,_0x5eb642)=>this['_middleware']['run']('sendPresence',{..._0x59982a,'worktreeID':_0x4da8ec},_0x5eb642)),_0x3541ff['on']('memberLeftUnit',_0x2faac7=>this['_emit']('memberLeftUnit',{..._0x2faac7,'worktreeID':_0x4da8ec}));let _0x4bbb49=new Map(),_0x14054b=new Map();_0x3541ff['register']({'get':(_0x154932,_0x6fecf9)=>{_0x4bbb49['set']('get\x20'+_0x154932,_0x6fecf9);},'post':(_0x4ac1c3,_0x3fa278)=>{_0x4bbb49['set']('post\x20'+_0x4ac1c3,_0x3fa278);},'delete':(_0x263409,_0x8bb62)=>{_0x4bbb49['set']('delete\x20'+_0x263409,_0x8bb62);},'upgrade':(_0x14e2fa,_0x423453)=>{_0x14054b['set'](_0x14e2fa,_0x423453);}});let _0x210c17={'endpoint':_0x3541ff,'http':_0x4bbb49,'upgrade':_0x14054b};return this['_scopedEndpoints']['set'](_0x4da8ec,_0x210c17),_0x210c17;}async['_getJoinableWorktree'](_0x3b4835,_0x1788ac){try{let _0x565a35=await this['_service']['getWorktree']({'worktreeID':_0x3b4835},{'userID':_0x1788ac['userID']});if(_0x565a35['worktree']['status']==='discarded')throw new n['CollabError']('PERMISSION_DENIED','Discarded\x20Worktree\x20cannot\x20be\x20joined');return _0x565a35;}catch(_0x584cf7){throw _0x584cf7 instanceof i['WorktreeError']&&_0x584cf7['code']==='WORKTREE_NOT_FOUND'?new n['CollabError']('UNIT_NOT_FOUND',_0x584cf7['message']):_0x584cf7;}}['_enqueueWorktreeChanged'](_0x388503){if(this['_disposed'])return;let _0x2182d9=_0x388503['worktreeID'],_0x45ee57=(this['_eventQueues']['get'](_0x2182d9)??Promise['resolve']())['catch'](()=>void 0x0)['then'](async()=>{let _0xd80c71=[...this['_eventRooms']['get'](_0x2182d9)?.['values']()??[]];for(let _0x4517a0 of _0xd80c71){if(!_0x4517a0['ready']){_0x4517a0['pending']=_0x388503;continue;}await this['_sendChanged'](_0x4517a0,_0x388503);}});this['_eventQueues']['set'](_0x2182d9,_0x45ee57),_0x45ee57['finally'](()=>{this['_eventQueues']['get'](_0x2182d9)===_0x45ee57&&this['_eventQueues']['delete'](_0x2182d9);});}['_sendChanged'](_0x4867e2,_0x3bb35c){let _0x3f487f={'event':'worktreeChanged','worktree':_0x3bb35c};return Promise['resolve'](_0x4867e2['connection']['send'](JSON['stringify'](_0x3f487f)));}['_removeEventBinding'](_0x471576){let _0x34df7e=this['_eventBindings']['get'](_0x471576);if(!_0x34df7e)return;this['_eventBindings']['delete'](_0x471576);let _0x3a1d5e=this['_eventRooms']['get'](_0x34df7e['worktreeID']);_0x3a1d5e?.['delete'](_0x471576),_0x3a1d5e?.['size']===0x0&&this['_eventRooms']['delete'](_0x34df7e['worktreeID']);}async['_emit'](_0x406f2a,_0x444473){for(let _0x1efa78 of[...this['_listeners']['get'](_0x406f2a)??[]])try{await _0x1efa78(_0x444473);}catch{}}['_requireUser'](_0x1b19d6){if(!_0x1b19d6['userID'])throw new n['CollabError']('UNAUTHENTICATED','HTTP\x20user\x20is\x20not\x20authenticated');}['_writeFailure'](_0x2a96f8,_0x51224){let _0x469024=x(_0x51224);b(_0x2a96f8,_0x469024['status'],{'error':_0x469024['error']});}['_assertRunning'](){if(this['_disposed'])throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Endpoint\x20is\x20disposed');}},d=class{['_service'];['_worktreeID'];constructor(_0xaeb080,_0xf526be){this['_service']=_0xaeb080,this['_worktreeID']=_0xf526be;}['use'](){return{'dispose':()=>void 0x0};}['getUnitLoadData'](_0x3cf29b,_0x617742){return this['_service']['getUnitLoadData']({..._0x3cf29b,'worktreeID':this['_worktreeID']},_0x617742);}['getUnitLoadDataWithBlocks'](_0xce39af,_0x4a1e1a){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20read\x20Unit\x20blocks\x20through\x20a\x20Worktree\x20Endpoint'));}['getChangesets'](_0x3a8a1a,_0x51c423){return this['_service']['getChangesets']({..._0x3a8a1a,'worktreeID':this['_worktreeID']},_0x51c423);}['getSheetBlock'](_0x311136,_0x5c498b){return this['_service']['getSheetBlock']({..._0x311136,'worktreeID':this['_worktreeID']},_0x5c498b);}['createUnitFromSnapshot'](_0x5f3479,_0x412c25){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['createUnitFromData'](_0x1ad1a4,_0xfd3290){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20create\x20a\x20Unit\x20through\x20a\x20Worktree\x20Endpoint'));}['deleteUnits'](_0x2bb666,_0x3436a6){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['recoverUnits'](_0xc0496d,_0x3a6722){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20Endpoint'));}['submitChangeset'](_0x422d76,_0x483ab7){return this['_service']['submitChangeset']({..._0x422d76,'worktreeID':this['_worktreeID']},_0x483ab7);}['on'](_0x554388,_0x5df931){return _0x554388==='changesetCommitted'?this['_service']['on']('changesetCommitted',_0x3b8676=>{if(_0x3b8676['request']['worktreeID']===this['_worktreeID'])return _0x5df931(_0x3b8676);}):{'dispose':()=>void 0x0};}['dispose'](){return Promise['resolve']();}};function f(_0x513d6d){if(!_0x513d6d||typeof _0x513d6d!='object'||typeof _0x513d6d['worktreeID']!='string')throw new n['CollabError']('INVALID_REQUEST','worktreeID\x20must\x20be\x20a\x20string');let _0x417c2e=_0x513d6d['units'];if(_0x417c2e!==void 0x0&&(!Array['isArray'](_0x417c2e)||_0x417c2e['some'](_0x1a2976=>typeof _0x1a2976!='string')))throw new n['CollabError']('INVALID_REQUEST','units\x20must\x20be\x20a\x20string\x20array');}function p(_0x5602e5){if(!_0x5602e5||typeof _0x5602e5!='object'||typeof _0x5602e5['unitID']!='string')throw new n['CollabError']('INVALID_REQUEST','unitID\x20must\x20be\x20a\x20string');}function m(_0x5e19da){if(!v(_0x5e19da)||!v(_0x5e19da['snapshot']))throw new n['CollabError']('INVALID_REQUEST','snapshot\x20must\x20be\x20an\x20object');let _0x2a764d=_0x5e19da['snapshot'];g(_0x2a764d);let _0x2f0f6a=_0x5e19da['sheetBlocks'];if(_0x2f0f6a!==void 0x0&&(!Array['isArray'](_0x2f0f6a)||_0x2f0f6a['some'](_0x2cf838=>!v(_0x2cf838))))throw new n['CollabError']('INVALID_REQUEST','sheetBlocks\x20must\x20be\x20an\x20object\x20array');for(let _0x554073 of _0x2f0f6a??[])_0x554073['data']=_(_0x554073['data'],'sheetBlocks[].data');return{'snapshot':_0x2a764d,'sheetBlocks':_0x2f0f6a??[]};}function h(_0x2b19e8){if(!v(_0x2b19e8)||!y['has'](_0x2b19e8['type'])||!v(_0x2b19e8['data']))throw new n['CollabError']('INVALID_REQUEST','type\x20and\x20data\x20must\x20describe\x20a\x20supported\x20Unit');return _0x2b19e8;}function g(_0x5af381){let _0x17e566=_0x5af381['workbook']??_0x5af381['doc']??_0x5af381['slide']??_0x5af381['board'];if(_0x17e566&&(_0x17e566['originalMeta']=_(_0x17e566['originalMeta'],'snapshot\x20originalMeta'),_0x5af381['workbook'])){for(let _0x51f08d of Object['values'](_0x5af381['workbook']['sheets']))_0x51f08d['originalMeta']=_(_0x51f08d['originalMeta'],'snapshot\x20sheet\x20originalMeta');}}function _(_0x4bb96c,_0x4304cf){if(_0x4bb96c instanceof Uint8Array)return _0x4bb96c;if(typeof _0x4bb96c!='string')throw new n['CollabError']('INVALID_REQUEST',_0x4304cf+'\x20must\x20be\x20a\x20base64\x20string');try{return new Uint8Array(Buffer['from'](_0x4bb96c,'base64'));}catch{throw new n['CollabError']('INVALID_REQUEST',_0x4304cf+'\x20must\x20be\x20valid\x20base64');}}function v(_0x2450cf){return!!_0x2450cf&&typeof _0x2450cf=='object'&&!Array['isArray'](_0x2450cf);}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(_0x1703e0,_0x2b1b5e,_0x4b739a){let _0x150564=_0x1703e0['response'];_0x150564['writableEnded']||_0x150564['destroyed']||(_0x150564['statusCode']=_0x2b1b5e,_0x150564['setHeader']('content-type','application/json;\x20charset=utf-8'),_0x150564['end'](JSON['stringify'](_0x4b739a,function(_0x5225fd,_0x4f5dbc){let _0x320ca6=this[_0x5225fd];return _0x320ca6 instanceof Uint8Array?Buffer['from'](_0x320ca6)['toString']('base64'):_0x4f5dbc;})));}function x(_0x10bbcf){return _0x10bbcf instanceof r['NodeTransportError']?{'status':_0x10bbcf['code']==='REQUEST_BODY_TOO_LARGE'?0x19d:_0x10bbcf['code']==='INVALID_JSON'||_0x10bbcf['code']==='REQUEST_ABORTED'?0x190:0x1f7,'error':{'code':_0x10bbcf['code'],'message':_0x10bbcf['message']}}:_0x10bbcf instanceof i['WorktreeError']?{'status':_0x10bbcf['code']==='WORKTREE_NOT_FOUND'||_0x10bbcf['code']==='WORKTREE_UNIT_NOT_FOUND'?0x194:0x199,'error':{'code':_0x10bbcf['code'],'message':_0x10bbcf['message'],'retryable':_0x10bbcf['retryable']}}:_0x10bbcf 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}[_0x10bbcf['code']],'error':{'code':_0x10bbcf['code'],'message':_0x10bbcf['message'],'retryable':_0x10bbcf['retryable']}}:{'status':0x1f4,'error':{'code':'INTERNAL_ERROR','message':'Internal\x20server\x20error'}};}exports['UniverCollabWorktreeEndpoint']=u;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x5c9d5e=_0x325a;(function(_0x471eb4,_0x38d231){const _0x8c516b=_0x325a,_0x363ba6=_0x471eb4();while(!![]){try{const _0x1b827b=parseInt(_0x8c516b(0x17a))/0x1*(parseInt(_0x8c516b(0x185))/0x2)+-parseInt(_0x8c516b(0x17d))/0x3+-parseInt(_0x8c516b(0x17b))/0x4*(-parseInt(_0x8c516b(0x183))/0x5)+parseInt(_0x8c516b(0x17e))/0x6+-parseInt(_0x8c516b(0x17f))/0x7*(-parseInt(_0x8c516b(0x180))/0x8)+-parseInt(_0x8c516b(0x181))/0x9+parseInt(_0x8c516b(0x17c))/0xa*(-parseInt(_0x8c516b(0x184))/0xb);if(_0x1b827b===_0x38d231)break;else _0x363ba6['push'](_0x363ba6['shift']());}catch(_0xb7cdc5){_0x363ba6['push'](_0x363ba6['shift']());}}}(_0x4e40,0xdedab));function _0x4e40(){const _0x1b0b16=['9047322mGsYEe','7fbbcpI','8474104OKemnl','8698374zyhJNB','UniverCollabWorktreeEndpoint','9106730LqeCwT','23977261qcbgFi','44ZXNYgg','37123QNhriU','4rvxzST','10mEpsYF','3438462OEScRQ'];_0x4e40=function(){return _0x1b0b16;};return _0x4e40();}import _0x1332e3 from'./index.cjs';const facadeExport0=_0x1332e3[_0x5c9d5e(0x182)];function _0x325a(_0x4d3ee7,_0x3c349b){_0x4d3ee7=_0x4d3ee7-0x17a;const _0x4e403f=_0x4e40();let _0x325a85=_0x4e403f[_0x4d3ee7];return _0x325a85;}export{facadeExport0 as UniverCollabWorktreeEndpoint};
1
+ function _0x5b02(){const _0x13cd8f=['2YqmLqW','598121VsyDms','20jKnOTY','1067120WmZTiX','2651118JpLWsi','UniverCollabWorktreeEndpoint','72060MiCVKF','8358HAXPkN','7164243RrEaAv','8qFGKBP','55EOKLZM','5941YCtBNZ','3143290uDqsMj','6876YceVKM'];_0x5b02=function(){return _0x13cd8f;};return _0x5b02();}const _0x32397f=_0x472b;(function(_0x7c532,_0x11fa71){const _0x35030a=_0x472b,_0x613c1e=_0x7c532();while(!![]){try{const _0x4fcc33=parseInt(_0x35030a(0x1e3))/0x1*(-parseInt(_0x35030a(0x1e2))/0x2)+-parseInt(_0x35030a(0x1e6))/0x3+parseInt(_0x35030a(0x1e5))/0x4*(-parseInt(_0x35030a(0x1e4))/0x5)+-parseInt(_0x35030a(0x1e1))/0x6*(-parseInt(_0x35030a(0x1e9))/0x7)+parseInt(_0x35030a(0x1eb))/0x8*(parseInt(_0x35030a(0x1ea))/0x9)+-parseInt(_0x35030a(0x1ee))/0xa*(parseInt(_0x35030a(0x1ec))/0xb)+-parseInt(_0x35030a(0x1e8))/0xc*(-parseInt(_0x35030a(0x1ed))/0xd);if(_0x4fcc33===_0x11fa71)break;else _0x613c1e['push'](_0x613c1e['shift']());}catch(_0x2a9ac1){_0x613c1e['push'](_0x613c1e['shift']());}}}(_0x5b02,0xc064c));import _0xd3f5f5 from'./index.cjs';function _0x472b(_0xa58ba4,_0x19e7c5){_0xa58ba4=_0xa58ba4-0x1e1;const _0x5b0292=_0x5b02();let _0x472b12=_0x5b0292[_0xa58ba4];return _0x472b12;}const facadeExport0=_0xd3f5f5[_0x32397f(0x1e7)];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.2",
4
+ "version": "1.0.4",
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.2",
20
- "@univerjs-pro/collaboration-service": "1.0.2",
21
- "@univerjs-pro/collaboration-transport-node": "1.0.2",
22
- "@univerjs-pro/collaboration-worktree-service": "1.0.2",
23
- "@univerjs/protocol": "1.0.2"
19
+ "@univerjs-pro/collaboration-endpoint": "1.0.4",
20
+ "@univerjs-pro/collaboration-service": "1.0.4",
21
+ "@univerjs-pro/collaboration-transport-node": "1.0.4",
22
+ "@univerjs-pro/collaboration-worktree-service": "1.0.4",
23
+ "@univerjs/protocol": "1.0.4"
24
24
  }
25
25
  }