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

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'](_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'](_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;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x1e270a=_0x4a06;function _0x5221(){const _0x58d707=['1983544GCNogo','527515sZimSk','2xvwhnU','282768xYMCHc','26533910VJZwha','2730750BkSOoJ','20AuODIz','4794783NASGVz','UniverCollabWorktreeEndpoint','36ZwmAqj','1375901rhiUFF'];_0x5221=function(){return _0x58d707;};return _0x5221();}(function(_0x25195c,_0x374ff3){const _0x2ef1f7=_0x4a06,_0x4c6ede=_0x25195c();while(!![]){try{const _0x15d655=parseInt(_0x2ef1f7(0x1e8))/0x1*(parseInt(_0x2ef1f7(0x1eb))/0x2)+parseInt(_0x2ef1f7(0x1ee))/0x3+-parseInt(_0x2ef1f7(0x1ef))/0x4*(parseInt(_0x2ef1f7(0x1ea))/0x5)+-parseInt(_0x2ef1f7(0x1ec))/0x6+parseInt(_0x2ef1f7(0x1e5))/0x7+-parseInt(_0x2ef1f7(0x1e9))/0x8*(-parseInt(_0x2ef1f7(0x1e7))/0x9)+-parseInt(_0x2ef1f7(0x1ed))/0xa;if(_0x15d655===_0x374ff3)break;else _0x4c6ede['push'](_0x4c6ede['shift']());}catch(_0xefd472){_0x4c6ede['push'](_0x4c6ede['shift']());}}}(_0x5221,0xb368a));function _0x4a06(_0x3d2484,_0xa2b67){_0x3d2484=_0x3d2484-0x1e5;const _0x522117=_0x5221();let _0x4a068a=_0x522117[_0x3d2484];return _0x4a068a;}import _0x4fc783 from'./index.cjs';const facadeExport0=_0x4fc783[_0x1e270a(0x1e6)];export{facadeExport0 as UniverCollabWorktreeEndpoint};
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};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@univerjs-pro/collaboration-worktree-endpoint",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.2",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
7
7
  "types": "./dist/index.d.ts",
@@ -16,10 +16,10 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@univerjs-pro/collaboration-endpoint": "1.0.0",
20
- "@univerjs-pro/collaboration-service": "1.0.0",
21
- "@univerjs-pro/collaboration-transport-node": "1.0.0",
22
- "@univerjs-pro/collaboration-worktree-service": "1.0.0",
23
- "@univerjs/protocol": "1.0.0"
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"
24
24
  }
25
25
  }