@univerjs-pro/collaboration-worktree-endpoint 1.0.3 → 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'](_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;
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
- 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};
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.3",
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.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"
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
  }