@univerjs-pro/collaboration-history-service 1.0.1 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('@univerjs-pro/collaboration'),t=require('@univerjs-pro/collaboration-service');function n(_0x3adac9,_0x422f63){let _0x878440=0x0,_0x29ad21=_0x3adac9['length'];for(;_0x878440<_0x29ad21;){let _0x23ebfa=_0x878440+_0x29ad21>>>0x1;_0x3adac9[_0x23ebfa]['startRevision']<=_0x422f63?_0x878440=_0x23ebfa+0x1:_0x29ad21=_0x23ebfa;}return _0x878440;}function r(_0x120f26,_0x205f34){let _0x5b797b=new Set(_0x205f34['userIDs']??[]),_0x131d08=[],_0x531f02=Math['min'](_0x205f34['throughRevision'],(_0x205f34['beforeRevision']??0x1/0x0)-0x1);for(let _0x35879d=n(_0x120f26,_0x531f02)-0x1;_0x35879d>=0x0;_0x35879d--){let _0x2be7a9=_0x120f26[_0x35879d];if(!(_0x205f34['origin']&&_0x2be7a9['origin']!==_0x205f34['origin'])&&!(_0x5b797b['size']&&!_0x5b797b['has'](_0x2be7a9['userID']))){if(_0x131d08['length']===_0x205f34['length'])return{'records':_0x131d08,'hasMore':!0x0};_0x131d08['push']({'record':{..._0x2be7a9},'endRevision':Math['min'](_0x205f34['throughRevision'],(_0x120f26[_0x35879d+0x1]?.['startRevision']??0x1/0x0)-0x1)});}}return{'records':_0x131d08,'hasMore':!0x1};}function i(_0xe307ce,_0x9dc9a){let _0x4504f5=new Map();for(let _0x472460 of _0xe307ce){if(_0x472460['startRevision']>_0x9dc9a)break;let _0x158e26=_0x4504f5['get'](_0x472460['userID'])??new Set();_0x158e26['add'](_0x472460['origin']),_0x4504f5['set'](_0x472460['userID'],_0x158e26);}return[..._0x4504f5]['sort'](([_0x22af8a],[_0x147806])=>_0x22af8a<_0x147806?-0x1:+(_0x22af8a>_0x147806))['map'](([_0x12a9f7,_0x43baa5])=>({'userID':_0x12a9f7,'origins':[..._0x43baa5]['sort']((_0x3ff7a3,_0x5c23a6)=>_0x3ff7a3-_0x5c23a6)}));}function a(_0x17f69f,_0x50ffc6){return _0x17f69f['unitID']===_0x50ffc6['unitID']&&_0x17f69f['startRevision']===_0x50ffc6['startRevision']&&_0x17f69f['userID']===_0x50ffc6['userID']&&_0x17f69f['createdAt']===_0x50ffc6['createdAt']&&_0x17f69f['origin']===_0x50ffc6['origin']&&_0x17f69f['additionalFields']===_0x50ffc6['additionalFields'];}function o(_0x5ecb01){if(!_0x5ecb01['unitID']||!_0x5ecb01['userID']||!Number['isSafeInteger'](_0x5ecb01['startRevision'])||_0x5ecb01['startRevision']<0x1||!Number['isSafeInteger'](_0x5ecb01['createdAt'])||_0x5ecb01['createdAt']<0x0)throw TypeError('History\x20record\x20is\x20invalid');}var s=class{['_records']=new Map();['_disposed']=!0x1;async['getLatestRecord'](_0x53cc84,_0x321d49){this['_assertOpen']();let _0x4021d6=this['_records']['get'](_0x321d49)?.['at'](-0x1);return _0x4021d6?{..._0x4021d6}:null;}async['appendRecord'](_0x14193c,_0xd71cc0,_0x3b20c2){this['_assertOpen'](),o(_0xd71cc0);let _0x3662e5=this['_records']['get'](_0xd71cc0['unitID'])??[],_0x14387b=_0x3662e5[n(_0x3662e5,_0xd71cc0['startRevision'])-0x1];if(_0x14387b?.['startRevision']===_0xd71cc0['startRevision'])return{'status':a(_0x14387b,_0xd71cc0)?'already-exists':'conflict'};let _0x539da7=_0x3662e5['at'](-0x1)?.['startRevision']??null;return _0x539da7!==_0x3b20c2['expectedLatestStartRevision']||_0xd71cc0['startRevision']<=(_0x539da7??0x0)?{'status':'conflict'}:(_0x3662e5['push']({..._0xd71cc0}),this['_records']['set'](_0xd71cc0['unitID'],_0x3662e5),{'status':'appended'});}async['listRecords'](_0x585592,_0x5ea6d3,_0x2230a2){return this['_assertOpen'](),r(this['_records']['get'](_0x5ea6d3)??[],_0x2230a2);}async['listCreators'](_0x25e496,_0x1c423a,_0x29ed79){return this['_assertOpen'](),i(this['_records']['get'](_0x1c423a)??[],_0x29ed79['throughRevision']);}async['dispose'](){this['_disposed']=!0x0,this['_records']['clear']();}['_assertOpen'](){if(this['_disposed'])throw Error('Memory\x20History\x20Database\x20Adapter\x20is\x20disposed');}},c=class{['_timeIntervalMs'];['_singleHistoryMutationIds'];constructor(_0x577070={}){if(this['_timeIntervalMs']=_0x577070['timeIntervalMs']??0xea60,!Number['isSafeInteger'](this['_timeIntervalMs'])||this['_timeIntervalMs']<0x0)throw TypeError('timeIntervalMs\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this['_singleHistoryMutationIds']=_0x577070['singleHistoryMutationIds']??e['SINGLE_HISTORY_MUTATIONS'];}['evaluate'](_0x2e1612){let _0x13196b=!!_0x2e1612['changeset']['mutations']['some'](_0xaf9fc7=>this['_singleHistoryMutationIds']['has'](_0xaf9fc7['id']));return{'startsNewHistory':_0x2e1612['currentRecord']===null||_0x13196b||_0x2e1612['changeset']['createTime']*0x3e8-_0x2e1612['currentRecord']['createdAt']>=this['_timeIntervalMs'],'forceNextHistory':_0x13196b};}},l=class{['_middlewares']=new Map();['use'](_0x1e8237,_0x382d21){let _0x41786a=this['_middlewares']['get'](_0x1e8237)??[],_0xacf178=_0x382d21;_0x41786a['push'](_0xacf178),this['_middlewares']['set'](_0x1e8237,_0x41786a);let _0x9358de=!0x1;return{'dispose':()=>{if(_0x9358de)return;_0x9358de=!0x0;let _0x1b37ef=_0x41786a['indexOf'](_0xacf178);_0x1b37ef>=0x0&&_0x41786a['splice'](_0x1b37ef,0x1);}};}async['run'](_0x10e491,_0x55e39d,_0x139f1f){let _0x5be210=[...this['_middlewares']['get'](_0x10e491)??[]],_0x4bde9e=async _0x45d70d=>{let _0x5262ca=_0x5be210[_0x45d70d];if(!_0x5262ca){await _0x139f1f();return;}let _0x490538=!0x1,_0x332b1e,_0x57ce95=()=>{if(_0x490538)throw Error('Middleware\x20for\x20action\x20'+_0x10e491+'\x20called\x20next()\x20more\x20than\x20once');return _0x490538=!0x0,_0x332b1e=_0x4bde9e(_0x45d70d+0x1),_0x332b1e;};try{await _0x5262ca(_0x55e39d,_0x57ce95);}catch(_0x52517c){if(_0x332b1e)try{await _0x332b1e;}catch{}throw _0x52517c;}if(!_0x490538)throw Error('Middleware\x20for\x20action\x20'+_0x10e491+'\x20completed\x20without\x20calling\x20next()');await _0x332b1e;};await _0x4bde9e(0x0);}['clear'](){this['_middlewares']['clear']();}},u=0x100;function d(_0x5ea9b7){let _0x19c65b=_0x5ea9b7['createTime'];if(_0x19c65b===void 0x0||!Number['isSafeInteger'](_0x19c65b)||_0x19c65b<0x0||!Number['isSafeInteger'](_0x19c65b*0x3e8))throw new t['CollabError']('ADAPTER_FAILURE','History\x20requires\x20a\x20valid\x20persisted\x20changeset\x20createTime');return _0x19c65b*0x3e8;}async function f(_0x11bfde,_0x5d7ee9,_0x929555){let _0x2fd409=await _0x11bfde['dbAdapter']['getUnit'](_0x5d7ee9,_0x929555);if(!_0x2fd409)throw new t['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x929555+'\x20does\x20not\x20exist');if(_0x2fd409['unitID']!==_0x929555||!_0x2fd409['creatorID']||!Number['isSafeInteger'](_0x2fd409['createdAt'])||_0x2fd409['createdAt']<0x0||!Number['isSafeInteger'](_0x2fd409['headRevision'])||_0x2fd409['headRevision']<0x1)throw new t['CollabError']('ADAPTER_FAILURE','History\x20received\x20invalid\x20Unit\x20creation\x20facts');return _0x2fd409;}function p(_0x389149,_0xc0959c,_0x4056bd){if(_0x389149['unitID']!==_0xc0959c['unitID']||_0x389149['type']!==_0xc0959c['type']||_0x389149['revision']!==_0x4056bd||!_0x389149['userID'])throw new t['CollabError']('ADAPTER_FAILURE','History\x20received\x20incomplete\x20or\x20invalid\x20changesets');d(_0x389149);}async function*m(_0x55f683,_0xd4196c,_0x967442,_0x5a0e15,_0x58737e){let _0x49d5cc=Math['max'](_0x5a0e15,0x1);for(;_0x49d5cc<_0x58737e;){let _0xa71a2=Math['min'](_0x49d5cc+u,_0x58737e),{changesets:_0x28fe4e}=await _0x55f683['getChangesets']({'unitID':_0x967442['unitID'],'type':_0x967442['type'],'from':_0x49d5cc,'to':_0xa71a2},_0xd4196c);if(_0x28fe4e['length']!==_0xa71a2-_0x49d5cc)throw new t['CollabError']('ADAPTER_FAILURE','History\x20requires\x20continuous\x20Core\x20changesets');_0x28fe4e['forEach']((_0x4d9aac,_0x515be9)=>p(_0x4d9aac,_0x967442,_0x49d5cc+_0x515be9+0x1)),yield _0x28fe4e,_0x49d5cc=_0xa71a2;}}var h=class extends Error{},g=class{['_core'];['_database'];['_policy'];['_maxCachedUnits'];['_maxRetries'];['_log'];['_states']=new Map();['_queues']=new Map();['_initializations']=new Map();constructor(_0x38e1b7,_0x59d58d,_0x233c62,_0x2616fa,_0x1091f4,_0x233ba5){this['_core']=_0x38e1b7,this['_database']=_0x59d58d,this['_policy']=_0x233c62,this['_maxCachedUnits']=_0x2616fa,this['_maxRetries']=_0x1091f4,this['_log']=_0x233ba5;}['committed'](_0x2d6935,_0x517228){let {unitID:_0x39f0e1,revision:_0x5898e3}=_0x517228;this['_background'](_0x39f0e1,()=>this['_sync'](_0x2d6935,_0x39f0e1,_0x5898e3,_0x517228));}['created'](_0x52a833,_0x532cd4){this['_background'](_0x532cd4['unitID'],()=>this['_sync'](_0x52a833,_0x532cd4['unitID'],0x1));}['initializeIfEmpty'](_0x2340e7,_0x41ee7b){let _0x58f227=this['_initializations']['get'](_0x41ee7b['unitID']);if(_0x58f227)return _0x58f227;let _0x50c50f,_0x1dacbf,_0x1b02bf=new Promise((_0xdced8f,_0x127ae3)=>{_0x50c50f=_0xdced8f,_0x1dacbf=_0x127ae3;});return this['_initializations']['set'](_0x41ee7b['unitID'],_0x1b02bf),this['_serialize'](_0x41ee7b['unitID'],async()=>{try{if(await this['_database']['getLatestRecord'](_0x2340e7,_0x41ee7b['unitID'])){_0x50c50f(null);return;}let _0xa8697c=_(_0x41ee7b),_0x39fcc5=[_0xa8697c['currentRecord']];for await(let _0x481719 of m(this['_core'],_0x2340e7,_0x41ee7b,0x1,_0x41ee7b['headRevision']))for(let _0x692fc5 of _0x481719){let _0x192ae8=this['_advance'](_0xa8697c,_0x692fc5);_0x192ae8['currentRecord']!==_0xa8697c['currentRecord']&&_0x39fcc5['push'](_0x192ae8['currentRecord']),_0xa8697c=_0x192ae8;}_0x50c50f(_0x39fcc5);let _0x4438f1=null;for(let _0x1637e0 of _0x39fcc5)await this['_append'](_0x2340e7,_0x1637e0,_0x4438f1),_0x4438f1=_0x1637e0['startRevision'];this['_remember'](_0xa8697c);}catch(_0x2b70a2){throw this['_states']['delete'](_0x41ee7b['unitID']),_0x1dacbf(_0x2b70a2),_0x2b70a2;}finally{this['_initializations']['get'](_0x41ee7b['unitID'])===_0x1b02bf&&this['_initializations']['delete'](_0x41ee7b['unitID']);}})['catch'](this['_log']),_0x1b02bf;}async['dispose'](){for(;this['_queues']['size'];)await Promise['allSettled']([...this['_queues']['values']()]);this['_states']['clear'](),this['_initializations']['clear']();}async['_sync'](_0x228703,_0x567ef0,_0x431be3,_0xe88a0b){for(let _0x17bb52=0x0;_0x17bb52<=this['_maxRetries'];_0x17bb52++)try{let _0x415ad2=this['_states']['get'](_0x567ef0)??await this['_restore'](_0x228703,_0x567ef0);if(_0x431be3<=_0x415ad2['processedRevision']){this['_remember'](_0x415ad2);return;}if(_0xe88a0b&&_0xe88a0b['revision']===_0x415ad2['processedRevision']+0x1)p(_0xe88a0b,_0x415ad2['unit'],_0xe88a0b['revision']),_0x415ad2=await this['_apply'](_0x228703,_0x415ad2,_0xe88a0b);else{for await(let _0x5d8fdd of m(this['_core'],_0x228703,_0x415ad2['unit'],_0x415ad2['processedRevision'],_0x431be3))for(let _0x3a4e1f of _0x5d8fdd)_0x415ad2=await this['_apply'](_0x228703,_0x415ad2,_0x3a4e1f);}this['_remember'](_0x415ad2);return;}catch(_0x5b4499){if(this['_states']['delete'](_0x567ef0),!(_0x5b4499 instanceof h)||_0x17bb52===this['_maxRetries'])throw _0x5b4499;}}async['_restore'](_0x4ff926,_0x228d13){let _0x1a26c5=await f(this['_core'],_0x4ff926,_0x228d13),_0x2a8c38=await this['_database']['getLatestRecord'](_0x4ff926,_0x228d13);if(!_0x2a8c38){let _0x1a9de0=_(_0x1a26c5);return await this['_append'](_0x4ff926,_0x1a9de0['currentRecord'],null),_0x1a9de0;}if(_0x2a8c38['startRevision']>_0x1a26c5['headRevision'])throw new t['CollabError']('ADAPTER_FAILURE','History\x20boundary\x20exceeds\x20Core\x20head');if(_0x2a8c38['startRevision']===0x1)return{..._(_0x1a26c5),'currentRecord':_0x2a8c38};let _0xf7b4a0=await this['_database']['listRecords'](_0x4ff926,_0x228d13,{'throughRevision':_0x2a8c38['startRevision'],'beforeRevision':_0x2a8c38['startRevision'],'length':0x1});for await(let _0x24fbb4 of m(this['_core'],_0x4ff926,_0x1a26c5,_0x2a8c38['startRevision']-0x1,_0x2a8c38['startRevision'])){let _0x1b99ce=_0x24fbb4[0x0],_0x281f5b=this['_policy']['evaluate']({'unitID':_0x228d13,'type':_0x1a26c5['type'],'currentRecord':_0xf7b4a0['records'][0x0]?.['record']??null,'changeset':_0x1b99ce});return{'unit':_0x1a26c5,'processedRevision':_0x2a8c38['startRevision'],'currentRecord':_0x2a8c38,'forceNextHistory':_0x281f5b['forceNextHistory']};}throw new t['CollabError']('ADAPTER_FAILURE','History\x20starting\x20changeset\x20is\x20missing');}['_advance'](_0x40431b,_0x1b3986){p(_0x1b3986,_0x40431b['unit'],_0x40431b['processedRevision']+0x1);let _0x5e21ea=this['_policy']['evaluate']({'unitID':_0x40431b['unit']['unitID'],'type':_0x40431b['unit']['type'],'currentRecord':_0x40431b['currentRecord'],'changeset':_0x1b3986}),_0x241cf2=_0x40431b['currentRecord']['startRevision']===0x1||_0x40431b['forceNextHistory']||_0x5e21ea['startsNewHistory']?{'unitID':_0x1b3986['unitID'],'startRevision':_0x1b3986['revision'],'userID':_0x1b3986['userID'],'createdAt':d(_0x1b3986),'origin':v(_0x1b3986['additionalFields']),..._0x1b3986['additionalFields']===void 0x0?{}:{'additionalFields':_0x1b3986['additionalFields']}}:_0x40431b['currentRecord'];return{'unit':_0x40431b['unit'],'processedRevision':_0x1b3986['revision'],'currentRecord':_0x241cf2,'forceNextHistory':_0x5e21ea['forceNextHistory']};}async['_apply'](_0x183d44,_0x45bd7d,_0x17cc84){let _0x39f72d=this['_advance'](_0x45bd7d,_0x17cc84);return _0x39f72d['currentRecord']!==_0x45bd7d['currentRecord']&&await this['_append'](_0x183d44,_0x39f72d['currentRecord'],_0x45bd7d['currentRecord']['startRevision']),this['_remember'](_0x39f72d),_0x39f72d;}async['_append'](_0x512524,_0x35f999,_0x52fbaf){if((await this['_database']['appendRecord'](_0x512524,_0x35f999,{'expectedLatestStartRevision':_0x52fbaf}))['status']==='conflict')throw new h('History\x20boundary\x20changed\x20during\x20indexing');}['_remember'](_0x436c99){for(this['_states']['delete'](_0x436c99['unit']['unitID']),this['_states']['set'](_0x436c99['unit']['unitID'],_0x436c99);this['_states']['size']>this['_maxCachedUnits'];)this['_states']['delete'](this['_states']['keys']()['next']()['value']);}['_serialize'](_0x493d44,_0x22d738){let _0xd8a16b=(this['_queues']['get'](_0x493d44)??Promise['resolve']())['then'](_0x22d738,_0x22d738),_0x1df406=_0xd8a16b['then'](()=>void 0x0,()=>void 0x0)['finally'](()=>{this['_queues']['get'](_0x493d44)===_0x1df406&&this['_queues']['delete'](_0x493d44);});return this['_queues']['set'](_0x493d44,_0x1df406),_0xd8a16b;}['_background'](_0x57a8f5,_0x26e885){this['_serialize'](_0x57a8f5,_0x26e885)['catch'](this['_log']);}};function _(_0x59c177){return{'unit':_0x59c177,'processedRevision':0x1,'forceNextHistory':!0x1,'currentRecord':{'unitID':_0x59c177['unitID'],'startRevision':0x1,'userID':_0x59c177['creatorID'],'createdAt':_0x59c177['createdAt'],'origin':0x1}};}function v(_0x2f2a6d){if(!_0x2f2a6d)return 0x1;try{return JSON['parse'](_0x2f2a6d)?.['origin']===0x2?0x2:0x1;}catch{return 0x1;}}async function y(_0x17723e,_0x15ed64,_0x59dcbf,_0x3c27b4){let _0x119ff2=[..._0x3c27b4]['sort']((_0xb87f43,_0x1883a2)=>_0xb87f43['record']['startRevision']-_0x1883a2['record']['startRevision'])['map'](_0x4ca1dc=>({'range':_0x4ca1dc,'commands':new Set(_0x4ca1dc['record']['startRevision']===0x1?['univer.mutation.create-unit']:[]),'users':new Set(_0x4ca1dc['record']['startRevision']===0x1?[_0x59dcbf['creatorID']]:[]),'startTime':_0x4ca1dc['record']['startRevision']===0x1?_0x59dcbf['createdAt']:_0x4ca1dc['record']['createdAt'],'endTime':_0x4ca1dc['record']['createdAt']})),_0x5cd699=new Map([[0x1,_0x59dcbf['createdAt']]]);for(let _0x47c57f=0x0;_0x47c57f<_0x119ff2['length'];){let _0x518598=_0x47c57f;for(;_0x518598+0x1<_0x119ff2['length']&&_0x119ff2[_0x518598]['range']['endRevision']+0x1===_0x119ff2[_0x518598+0x1]['range']['record']['startRevision'];)_0x518598++;let _0x2e882e=_0x47c57f,_0x4631b0=_0x119ff2[_0x47c57f]['range']['record']['startRevision']-0x1,_0x12f2ce=_0x119ff2[_0x518598]['range']['endRevision'];for await(let _0x559fbc of m(_0x17723e,_0x15ed64,_0x59dcbf,_0x4631b0,_0x12f2ce))for(let _0x2e315a of _0x559fbc){for(;_0x2e315a['revision']>_0x119ff2[_0x2e882e]['range']['endRevision'];)_0x2e882e++;let _0x5eba24=_0x119ff2[_0x2e882e],_0x3e6664=d(_0x2e315a);_0x2e315a['revision']===_0x5eba24['range']['record']['startRevision']&&(_0x5eba24['startTime']=_0x3e6664),_0x5eba24['endTime']=_0x3e6664,_0x5eba24['users']['add'](_0x2e315a['userID']);for(let _0x1c4d75 of _0x2e315a['mutations']){if(_0x5eba24['commands']['add'](_0x1c4d75['id']),_0x1c4d75['id']!=='univer.mutation.revert-version')continue;let _0x2e20a5;try{_0x2e20a5=JSON['parse'](_0x1c4d75['data'])['revision'];}catch{throw new t['CollabError']('ADAPTER_FAILURE','History\x20contains\x20invalid\x20restore\x20data');}if(typeof _0x2e20a5!='number'||!Number['isSafeInteger'](_0x2e20a5)||_0x2e20a5<0x1||_0x2e20a5>=_0x2e315a['revision'])throw new t['CollabError']('ADAPTER_FAILURE','History\x20contains\x20an\x20invalid\x20restore\x20revision');_0x5eba24['restoredRevision']??=_0x2e20a5;}}_0x47c57f=_0x518598+0x1;}let _0xe4fbca=new Set(_0x119ff2['flatMap'](_0x29d0b6=>_0x29d0b6['restoredRevision']===void 0x0?[]:[_0x29d0b6['restoredRevision']]));for(let _0x105a01 of _0xe4fbca)if(!_0x5cd699['has'](_0x105a01)){for await(let _0x138fd5 of m(_0x17723e,_0x15ed64,_0x59dcbf,_0x105a01-0x1,_0x105a01))_0x5cd699['set'](_0x105a01,d(_0x138fd5[0x0]));}let _0xccc803=Object['create'](null);for(let _0x187e93 of _0x119ff2){let _0x5165e8=_0x187e93['range']['record'],_0x11ac47=_0x5165e8['additionalFields']??(_0x187e93['restoredRevision']===void 0x0?void 0x0:JSON['stringify']({'restoredRevision':_0x187e93['restoredRevision']}));_0xccc803[_0x59dcbf['unitID']+':'+_0x5165e8['startRevision']]={'unitID':_0x59dcbf['unitID'],'userID':_0x5165e8['userID'],'userIDs':[..._0x187e93['users']],'command':[..._0x187e93['commands']],'createTime':String(_0x5165e8['createdAt']),'startRevision':_0x5165e8['startRevision'],'endRevision':_0x187e93['range']['endRevision'],'startRevCreateTime':_0x187e93['startTime'],'endRevCreateTime':_0x187e93['endTime'],'recoverTime':_0x187e93['restoredRevision']===void 0x0?'':String(_0x5cd699['get'](_0x187e93['restoredRevision'])),'origin':_0x5165e8['origin'],..._0x11ac47===void 0x0?{}:{'additionalFields':_0x11ac47}};}return _0xccc803;}var b=class{['_options'];['_dbAdapter'];['_middleware']=new l();['_indexer'];['_subscriptions']=[];['_calls']=new Set();['_state']='running';['_disposePromise'];constructor(_0x21f246){if(this['_options']=_0x21f246,!_0x21f246?.['collabService']||!_0x21f246['collabService']['dbAdapter'])throw TypeError('History\x20requires\x20collabService\x20with\x20a\x20dbAdapter');let _0x18abb4=_0x21f246['maxIndexRetries']??0x3,_0x5c603f=_0x21f246['maxCachedUnits']??0x3e8;if(!Number['isSafeInteger'](_0x18abb4)||_0x18abb4<0x0)throw TypeError('maxIndexRetries\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');if(!Number['isSafeInteger'](_0x5c603f)||_0x5c603f<0x1)throw TypeError('maxCachedUnits\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_dbAdapter']=_0x21f246['dbAdapter']??new s(),this['_indexer']=new g(_0x21f246['collabService'],this['_dbAdapter'],_0x21f246['policy']??new c(),_0x5c603f,_0x18abb4,_0x44e4a0=>this['_logError']('History\x20background\x20indexing\x20failed',_0x44e4a0));try{this['_subscriptions']['push'](_0x21f246['collabService']['on']('unitCreated',_0x1f580f=>this['_indexer']['created'](_0x1f580f,_0x1f580f['record']))),this['_subscriptions']['push'](_0x21f246['collabService']['on']('changesetCommitted',_0x2ef6c1=>this['_indexer']['committed'](_0x2ef6c1,_0x2ef6c1['changeset'])));}catch(_0x1d492a){for(let _0x542513 of this['_subscriptions'])_0x542513['dispose']();throw _0x1d492a;}}['use'](_0x337469,_0x360d25){return this['_assertRunning'](),this['_middleware']['use'](_0x337469,_0x360d25);}['getHistoryList'](_0x27d810,_0x46fd7d){return this['_read']('getHistoryList',_0x27d810,_0x46fd7d,async _0x4dbbaa=>{if(!Number['isSafeInteger'](_0x27d810['length'])||_0x27d810['length']<0x1||_0x27d810['length']>0x64)throw E('length\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100');if(_0x27d810['origin']!==void 0x0&&![0x0,0x1,0x2]['includes'](_0x27d810['origin']))throw E('Invalid\x20History\x20origin');let _0xf841a8=w(_0x27d810['lastLabel']),_0x41b232=await f(this['_options']['collabService'],_0x4dbbaa,_0x27d810['unitID']),_0x43a938={'throughRevision':_0x41b232['headRevision'],'length':_0x27d810['length'],..._0xf841a8===void 0x0?{}:{'beforeRevision':_0xf841a8},..._0x27d810['origin']===void 0x0?{}:{'origin':_0x27d810['origin']},..._0x27d810['userIDs']===void 0x0?{}:{'userIDs':_0x27d810['userIDs']}},_0x5c3757=await this['_dbAdapter']['listRecords'](_0x4dbbaa,_0x41b232['unitID'],_0x43a938);if(!_0x5c3757['records']['length']&&!await this['_dbAdapter']['getLatestRecord'](_0x4dbbaa,_0x41b232['unitID'])){let _0x19c0fb=await this['_indexer']['initializeIfEmpty'](_0x4dbbaa,_0x41b232);_0x5c3757=_0x19c0fb?r(_0x19c0fb,_0x43a938):await this['_dbAdapter']['listRecords'](_0x4dbbaa,_0x41b232['unitID'],_0x43a938);}let _0x2ff3fd=await y(this['_options']['collabService'],_0x4dbbaa,_0x41b232,_0x5c3757['records']),_0x4e3638=await this['_resolveUsers'](Object['values'](_0x2ff3fd)['flatMap'](_0xd9dcc3=>_0xd9dcc3['userIDs']),_0x4dbbaa);return{'hasMore':_0x5c3757['hasMore'],'lastLabel':_0x5c3757['records']['at'](-0x1)?.['record']['startRevision']['toString']()??'','entities':{'datas':_0x2ff3fd,'users':_0x4e3638},'historyIds':_0x5c3757['records']['map'](({record:_0x156fd6})=>_0x156fd6['unitID']+':'+_0x156fd6['startRevision'])};});}['listHistoryCreators'](_0x1b8e81,_0x40481f){return this['_read']('listHistoryCreators',_0x1b8e81,_0x40481f,async _0x2e3391=>{let _0x30b9ce=await f(this['_options']['collabService'],_0x2e3391,_0x1b8e81['unitID']),_0x4a8337={'throughRevision':_0x30b9ce['headRevision']},_0x1f0567=await this['_dbAdapter']['listCreators'](_0x2e3391,_0x30b9ce['unitID'],_0x4a8337);if(!_0x1f0567['length']&&!await this['_dbAdapter']['getLatestRecord'](_0x2e3391,_0x30b9ce['unitID'])){let _0x36af83=await this['_indexer']['initializeIfEmpty'](_0x2e3391,_0x30b9ce);_0x1f0567=_0x36af83?i(_0x36af83,_0x30b9ce['headRevision']):await this['_dbAdapter']['listCreators'](_0x2e3391,_0x30b9ce['unitID'],_0x4a8337);}let _0x211eb3=await this['_resolveUsers'](_0x1f0567['map'](_0x4b1eb5=>_0x4b1eb5['userID']),_0x2e3391);return{'creators':_0x1f0567['map'](_0x356121=>({..._0x356121,'name':_0x211eb3[_0x356121['userID']]['name'],'avatar':_0x211eb3[_0x356121['userID']]['avatar']}))};});}['getHistoryChangesets'](_0x2f97c9,_0x1ff337){return this['_read']('getHistoryChangesets',_0x2f97c9,_0x1ff337,async _0x41caea=>{if(C('startRevision',_0x2f97c9['startRevision']),C('endRevision',_0x2f97c9['endRevision']),_0x2f97c9['endRevision']<_0x2f97c9['startRevision'])throw E('endRevision\x20must\x20not\x20precede\x20startRevision');let _0x18bce5=await f(this['_options']['collabService'],_0x41caea,_0x2f97c9['unitID']);if(_0x2f97c9['endRevision']>_0x18bce5['headRevision'])throw E('endRevision\x20exceeds\x20Core\x20head');let _0x913c4f=[];for await(let _0x40d9c3 of m(this['_options']['collabService'],_0x41caea,_0x18bce5,_0x2f97c9['startRevision']-0x1,_0x2f97c9['endRevision']))_0x913c4f['push'](..._0x40d9c3);let _0xb2dea4=_0x913c4f['map'](_0x215649=>_0x215649['userID']);return _0x2f97c9['startRevision']===0x1&&_0xb2dea4['push'](_0x18bce5['creatorID']),{'changesets':_0x913c4f,'users':await this['_resolveUsers'](_0xb2dea4,_0x41caea)};});}['dispose'](){if(this['_disposePromise'])return this['_disposePromise'];this['_state']='disposing';for(let _0x6e723 of this['_subscriptions']['splice'](0x0))_0x6e723['dispose']();return this['_disposePromise']=((async()=>{await Promise['allSettled']([...this['_calls']]),await this['_indexer']['dispose'](),this['_middleware']['clear'](),this['_options']['dbAdapter']||await this['_dbAdapter']['dispose']?.(),this['_state']='disposed';})()),this['_disposePromise'];}['_read'](_0x14d514,_0x3bde9a,_0xcf37e8,_0x2119a3){this['_assertRunning']();let _0x6a6754=((async()=>{let _0x5b1c4f={...x(_0xcf37e8),'request':{..._0x3bde9a}},_0x21c886;return await this['_middleware']['run'](_0x14d514,_0x5b1c4f,async()=>{S(_0x3bde9a['unitID']);try{_0x21c886=await _0x2119a3(_0x5b1c4f);}catch(_0x2c76c9){throw _0x2c76c9 instanceof t['CollabError']?_0x2c76c9:new t['CollabError']('ADAPTER_FAILURE','History\x20read\x20failed',{'cause':_0x2c76c9,'retryable':!0x0});}}),_0x21c886;})());return this['_calls']['add'](_0x6a6754),_0x6a6754['then'](()=>this['_calls']['delete'](_0x6a6754),()=>this['_calls']['delete'](_0x6a6754)),_0x6a6754;}async['_resolveUsers'](_0x1dff58,_0xb44aa3){let _0x2a6444=new Set(_0x1dff58),_0x42c73a=Object['create'](null);if(_0x2a6444['size']&&this['_options']['userProvider'])try{for(let _0x4bb4f5 of await this['_options']['userProvider']['getUsers']([..._0x2a6444],_0xb44aa3))_0x2a6444['has'](_0x4bb4f5['userID'])&&(_0x42c73a[_0x4bb4f5['userID']]=_0x4bb4f5);}catch(_0x1f1666){this['_logError']('History\x20user\x20lookup\x20failed',_0x1f1666);}for(let _0x36ce6c of _0x2a6444)_0x42c73a[_0x36ce6c]??=T(_0x36ce6c);return _0x42c73a;}['_assertRunning'](){if(this['_state']!=='running')throw new t['CollabError']('INTERNAL_ERROR','History\x20Service\x20is\x20'+this['_state']);}['_logError'](_0x5e552d,_0x2773f4){try{this['_options']['logger']?.['error'](_0x5e552d,{'error':_0x2773f4 instanceof Error?_0x2773f4['message']:String(_0x2773f4)});}catch{}}};function x(_0x19894b){if(!_0x19894b||typeof _0x19894b!='object')throw E('context\x20must\x20be\x20an\x20object');if(typeof _0x19894b['userID']!='string'||_0x19894b['userID']['length']===0x0)throw E('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x19894b['customData']!==void 0x0&&(_0x19894b['customData']===null||typeof _0x19894b['customData']!='object'||Array['isArray'](_0x19894b['customData'])))throw E('customData\x20must\x20be\x20an\x20object');return{'userID':_0x19894b['userID'],'customData':_0x19894b['customData']??Object['create'](null)};}function S(_0x32e8e5){if(!_0x32e8e5)throw E('unitID\x20is\x20required');}function C(_0x229abb,_0x4bc41c){if(!Number['isSafeInteger'](_0x4bc41c)||_0x4bc41c<0x1)throw E(_0x229abb+'\x20must\x20be\x20a\x20positive\x20safe\x20integer');}function w(_0x517b9f){if(!_0x517b9f)return;let _0x402652=Number(_0x517b9f);return C('lastLabel',_0x402652),_0x402652;}function T(_0x2c1754){return{'userID':_0x2c1754,'name':_0x2c1754,'avatar':'','anonymous':!0x0,'canBindAnonymous':!0x1,'phone':'','email':'','createTimestamp':0x0};}function E(_0x2611c7){return new t['CollabError']('INVALID_REQUEST',_0x2611c7);}exports['DefaultHistoryPolicy']=c,exports['MemoryHistoryDatabaseAdapter']=s,exports['UniverHistoryService']=b;
|
|
1
|
+
Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('@univerjs-pro/collaboration'),t=require('@univerjs-pro/collaboration-service');function n(_0x483fc9,_0x445abf){let _0x138e3d=0x0,_0x35190d=_0x483fc9['length'];for(;_0x138e3d<_0x35190d;){let _0x4730d4=_0x138e3d+_0x35190d>>>0x1;_0x483fc9[_0x4730d4]['startRevision']<=_0x445abf?_0x138e3d=_0x4730d4+0x1:_0x35190d=_0x4730d4;}return _0x138e3d;}function r(_0x1e067a,_0x3cd24d){let _0x403eb2=new Set(_0x3cd24d['userIDs']??[]),_0x40fed6=[],_0x4c93fe=Math['min'](_0x3cd24d['throughRevision'],(_0x3cd24d['beforeRevision']??0x1/0x0)-0x1);for(let _0x4bf2a9=n(_0x1e067a,_0x4c93fe)-0x1;_0x4bf2a9>=0x0;_0x4bf2a9--){let _0x5ab78f=_0x1e067a[_0x4bf2a9];if(!(_0x3cd24d['origin']&&_0x5ab78f['origin']!==_0x3cd24d['origin'])&&!(_0x403eb2['size']&&!_0x403eb2['has'](_0x5ab78f['userID']))){if(_0x40fed6['length']===_0x3cd24d['length'])return{'records':_0x40fed6,'hasMore':!0x0};_0x40fed6['push']({'record':{..._0x5ab78f},'endRevision':Math['min'](_0x3cd24d['throughRevision'],(_0x1e067a[_0x4bf2a9+0x1]?.['startRevision']??0x1/0x0)-0x1)});}}return{'records':_0x40fed6,'hasMore':!0x1};}function i(_0x565bef,_0xc9291b){let _0x5ac1d9=new Map();for(let _0x481717 of _0x565bef){if(_0x481717['startRevision']>_0xc9291b)break;let _0x5dae77=_0x5ac1d9['get'](_0x481717['userID'])??new Set();_0x5dae77['add'](_0x481717['origin']),_0x5ac1d9['set'](_0x481717['userID'],_0x5dae77);}return[..._0x5ac1d9]['sort'](([_0x42143],[_0x3c9727])=>_0x42143<_0x3c9727?-0x1:+(_0x42143>_0x3c9727))['map'](([_0x57661a,_0x446684])=>({'userID':_0x57661a,'origins':[..._0x446684]['sort']((_0x149112,_0x31759a)=>_0x149112-_0x31759a)}));}function a(_0x51bd7e,_0x1247f9){return _0x51bd7e['unitID']===_0x1247f9['unitID']&&_0x51bd7e['startRevision']===_0x1247f9['startRevision']&&_0x51bd7e['userID']===_0x1247f9['userID']&&_0x51bd7e['createdAt']===_0x1247f9['createdAt']&&_0x51bd7e['origin']===_0x1247f9['origin']&&_0x51bd7e['additionalFields']===_0x1247f9['additionalFields'];}function o(_0x4b119a){if(!_0x4b119a['unitID']||!_0x4b119a['userID']||!Number['isSafeInteger'](_0x4b119a['startRevision'])||_0x4b119a['startRevision']<0x1||!Number['isSafeInteger'](_0x4b119a['createdAt'])||_0x4b119a['createdAt']<0x0)throw TypeError('History\x20record\x20is\x20invalid');}var s=class{['_records']=new Map();['_disposed']=!0x1;async['getLatestRecord'](_0x49cfd0,_0xb30804){this['_assertOpen']();let _0x33689a=this['_records']['get'](_0xb30804)?.['at'](-0x1);return _0x33689a?{..._0x33689a}:null;}async['appendRecord'](_0x45eb5a,_0x2c4a9a,_0x37ad75){this['_assertOpen'](),o(_0x2c4a9a);let _0x2c50e2=this['_records']['get'](_0x2c4a9a['unitID'])??[],_0x18ac29=_0x2c50e2[n(_0x2c50e2,_0x2c4a9a['startRevision'])-0x1];if(_0x18ac29?.['startRevision']===_0x2c4a9a['startRevision'])return{'status':a(_0x18ac29,_0x2c4a9a)?'already-exists':'conflict'};let _0x3897e5=_0x2c50e2['at'](-0x1)?.['startRevision']??null;return _0x3897e5!==_0x37ad75['expectedLatestStartRevision']||_0x2c4a9a['startRevision']<=(_0x3897e5??0x0)?{'status':'conflict'}:(_0x2c50e2['push']({..._0x2c4a9a}),this['_records']['set'](_0x2c4a9a['unitID'],_0x2c50e2),{'status':'appended'});}async['listRecords'](_0x23f71e,_0x34a66a,_0x3af16e){return this['_assertOpen'](),r(this['_records']['get'](_0x34a66a)??[],_0x3af16e);}async['listCreators'](_0x406bcc,_0x241ab6,_0x159b99){return this['_assertOpen'](),i(this['_records']['get'](_0x241ab6)??[],_0x159b99['throughRevision']);}async['dispose'](){this['_disposed']=!0x0,this['_records']['clear']();}['_assertOpen'](){if(this['_disposed'])throw Error('Memory\x20History\x20Database\x20Adapter\x20is\x20disposed');}},c=class{['_timeIntervalMs'];['_singleHistoryMutationIds'];constructor(_0x500b2c={}){if(this['_timeIntervalMs']=_0x500b2c['timeIntervalMs']??0xea60,!Number['isSafeInteger'](this['_timeIntervalMs'])||this['_timeIntervalMs']<0x0)throw TypeError('timeIntervalMs\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this['_singleHistoryMutationIds']=_0x500b2c['singleHistoryMutationIds']??e['SINGLE_HISTORY_MUTATIONS'];}['evaluate'](_0x408727){let _0x8c8cfa=!!_0x408727['changeset']['mutations']['some'](_0x5defaa=>this['_singleHistoryMutationIds']['has'](_0x5defaa['id']));return{'startsNewHistory':_0x408727['currentRecord']===null||_0x8c8cfa||_0x408727['changeset']['createTime']*0x3e8-_0x408727['currentRecord']['createdAt']>=this['_timeIntervalMs'],'forceNextHistory':_0x8c8cfa};}},l=class{['_middlewares']=new Map();['use'](_0x262a9d,_0x5e20d5){let _0x4ac943=this['_middlewares']['get'](_0x262a9d)??[],_0x341270=_0x5e20d5;_0x4ac943['push'](_0x341270),this['_middlewares']['set'](_0x262a9d,_0x4ac943);let _0x83a615=!0x1;return{'dispose':()=>{if(_0x83a615)return;_0x83a615=!0x0;let _0x3fe9cb=_0x4ac943['indexOf'](_0x341270);_0x3fe9cb>=0x0&&_0x4ac943['splice'](_0x3fe9cb,0x1);}};}async['run'](_0x35aefe,_0x575e53,_0x3bef9c){let _0x3004df=[...this['_middlewares']['get'](_0x35aefe)??[]],_0x123bd0=async _0x55bb93=>{let _0x133d55=_0x3004df[_0x55bb93];if(!_0x133d55){await _0x3bef9c();return;}let _0x15b8f1=!0x1,_0x1a6294,_0x46cb18=()=>{if(_0x15b8f1)throw Error('Middleware\x20for\x20action\x20'+_0x35aefe+'\x20called\x20next()\x20more\x20than\x20once');return _0x15b8f1=!0x0,_0x1a6294=_0x123bd0(_0x55bb93+0x1),_0x1a6294;};try{await _0x133d55(_0x575e53,_0x46cb18);}catch(_0x1575b7){if(_0x1a6294)try{await _0x1a6294;}catch{}throw _0x1575b7;}if(!_0x15b8f1)throw Error('Middleware\x20for\x20action\x20'+_0x35aefe+'\x20completed\x20without\x20calling\x20next()');await _0x1a6294;};await _0x123bd0(0x0);}['clear'](){this['_middlewares']['clear']();}},u=0x100;function d(_0x377e6d){let _0x1072b1=_0x377e6d['createTime'];if(_0x1072b1===void 0x0||!Number['isSafeInteger'](_0x1072b1)||_0x1072b1<0x0||!Number['isSafeInteger'](_0x1072b1*0x3e8))throw new t['CollabError']('ADAPTER_FAILURE','History\x20requires\x20a\x20valid\x20persisted\x20changeset\x20createTime');return _0x1072b1*0x3e8;}async function f(_0x5a6f15,_0x1c3ff5,_0x4290e1){let _0x5522af=await _0x5a6f15['dbAdapter']['getUnit'](_0x1c3ff5,_0x4290e1);if(!_0x5522af)throw new t['CollabError']('UNIT_NOT_FOUND','Unit\x20'+_0x4290e1+'\x20does\x20not\x20exist');if(_0x5522af['unitID']!==_0x4290e1||!_0x5522af['creatorID']||!Number['isSafeInteger'](_0x5522af['createdAt'])||_0x5522af['createdAt']<0x0||!Number['isSafeInteger'](_0x5522af['headRevision'])||_0x5522af['headRevision']<0x1)throw new t['CollabError']('ADAPTER_FAILURE','History\x20received\x20invalid\x20Unit\x20creation\x20facts');return _0x5522af;}function p(_0x5c6789,_0x1c28bf,_0x59902b){if(_0x5c6789['unitID']!==_0x1c28bf['unitID']||_0x5c6789['type']!==_0x1c28bf['type']||_0x5c6789['revision']!==_0x59902b||!_0x5c6789['userID'])throw new t['CollabError']('ADAPTER_FAILURE','History\x20received\x20incomplete\x20or\x20invalid\x20changesets');d(_0x5c6789);}async function*m(_0x5275f0,_0x27f8f1,_0x1ee5bc,_0x38b77f,_0x252e09){let _0x428e40=Math['max'](_0x38b77f,0x1);for(;_0x428e40<_0x252e09;){let _0x48da10=Math['min'](_0x428e40+u,_0x252e09),{changesets:_0x4523fc}=await _0x5275f0['getChangesets']({'unitID':_0x1ee5bc['unitID'],'type':_0x1ee5bc['type'],'from':_0x428e40,'to':_0x48da10},_0x27f8f1);if(_0x4523fc['length']!==_0x48da10-_0x428e40)throw new t['CollabError']('ADAPTER_FAILURE','History\x20requires\x20continuous\x20Core\x20changesets');_0x4523fc['forEach']((_0x4e1895,_0x3354a1)=>p(_0x4e1895,_0x1ee5bc,_0x428e40+_0x3354a1+0x1)),yield _0x4523fc,_0x428e40=_0x48da10;}}var h=class extends Error{},g=class{['_core'];['_database'];['_policy'];['_maxCachedUnits'];['_maxRetries'];['_log'];['_states']=new Map();['_queues']=new Map();['_initializations']=new Map();constructor(_0x7896f1,_0x263ece,_0x5c8518,_0x3db86b,_0xe30f44,_0x40869b){this['_core']=_0x7896f1,this['_database']=_0x263ece,this['_policy']=_0x5c8518,this['_maxCachedUnits']=_0x3db86b,this['_maxRetries']=_0xe30f44,this['_log']=_0x40869b;}['committed'](_0x567e4f,_0x2f54b8){let {unitID:_0x4a2c4c,revision:_0xf27ade}=_0x2f54b8;this['_background'](_0x4a2c4c,()=>this['_sync'](_0x567e4f,_0x4a2c4c,_0xf27ade,_0x2f54b8));}['created'](_0x55d1e7,_0x5462f8){this['_background'](_0x5462f8['unitID'],()=>this['_sync'](_0x55d1e7,_0x5462f8['unitID'],0x1));}['initializeIfEmpty'](_0x43f2b2,_0x50cd9c){let _0x104948=this['_initializations']['get'](_0x50cd9c['unitID']);if(_0x104948)return _0x104948;let _0x9b3bad,_0x1e6aa2,_0x2c67a1=new Promise((_0x38736f,_0x323a51)=>{_0x9b3bad=_0x38736f,_0x1e6aa2=_0x323a51;});return this['_initializations']['set'](_0x50cd9c['unitID'],_0x2c67a1),this['_serialize'](_0x50cd9c['unitID'],async()=>{try{if(await this['_database']['getLatestRecord'](_0x43f2b2,_0x50cd9c['unitID'])){_0x9b3bad(null);return;}let _0x170056=_(_0x50cd9c),_0x51650b=[_0x170056['currentRecord']];for await(let _0x2d435e of m(this['_core'],_0x43f2b2,_0x50cd9c,0x1,_0x50cd9c['headRevision']))for(let _0x219b9c of _0x2d435e){let _0x58c59d=this['_advance'](_0x170056,_0x219b9c);_0x58c59d['currentRecord']!==_0x170056['currentRecord']&&_0x51650b['push'](_0x58c59d['currentRecord']),_0x170056=_0x58c59d;}_0x9b3bad(_0x51650b);let _0x4e1b11=null;for(let _0x1f76ef of _0x51650b)await this['_append'](_0x43f2b2,_0x1f76ef,_0x4e1b11),_0x4e1b11=_0x1f76ef['startRevision'];this['_remember'](_0x170056);}catch(_0x4cfd0f){throw this['_states']['delete'](_0x50cd9c['unitID']),_0x1e6aa2(_0x4cfd0f),_0x4cfd0f;}finally{this['_initializations']['get'](_0x50cd9c['unitID'])===_0x2c67a1&&this['_initializations']['delete'](_0x50cd9c['unitID']);}})['catch'](this['_log']),_0x2c67a1;}async['dispose'](){for(;this['_queues']['size'];)await Promise['allSettled']([...this['_queues']['values']()]);this['_states']['clear'](),this['_initializations']['clear']();}async['_sync'](_0x29a152,_0x3d5428,_0x4e3c5e,_0x2b0ef6){for(let _0x459e68=0x0;_0x459e68<=this['_maxRetries'];_0x459e68++)try{let _0x60e8d0=this['_states']['get'](_0x3d5428)??await this['_restore'](_0x29a152,_0x3d5428);if(_0x4e3c5e<=_0x60e8d0['processedRevision']){this['_remember'](_0x60e8d0);return;}if(_0x2b0ef6&&_0x2b0ef6['revision']===_0x60e8d0['processedRevision']+0x1)p(_0x2b0ef6,_0x60e8d0['unit'],_0x2b0ef6['revision']),_0x60e8d0=await this['_apply'](_0x29a152,_0x60e8d0,_0x2b0ef6);else{for await(let _0x24fe24 of m(this['_core'],_0x29a152,_0x60e8d0['unit'],_0x60e8d0['processedRevision'],_0x4e3c5e))for(let _0x1f713c of _0x24fe24)_0x60e8d0=await this['_apply'](_0x29a152,_0x60e8d0,_0x1f713c);}this['_remember'](_0x60e8d0);return;}catch(_0x2d65a5){if(this['_states']['delete'](_0x3d5428),!(_0x2d65a5 instanceof h)||_0x459e68===this['_maxRetries'])throw _0x2d65a5;}}async['_restore'](_0x453d6f,_0x50a182){let _0x1d090e=await f(this['_core'],_0x453d6f,_0x50a182),_0x917c24=await this['_database']['getLatestRecord'](_0x453d6f,_0x50a182);if(!_0x917c24){let _0x498c00=_(_0x1d090e);return await this['_append'](_0x453d6f,_0x498c00['currentRecord'],null),_0x498c00;}if(_0x917c24['startRevision']>_0x1d090e['headRevision'])throw new t['CollabError']('ADAPTER_FAILURE','History\x20boundary\x20exceeds\x20Core\x20head');if(_0x917c24['startRevision']===0x1)return{..._(_0x1d090e),'currentRecord':_0x917c24};let _0x40ed18=await this['_database']['listRecords'](_0x453d6f,_0x50a182,{'throughRevision':_0x917c24['startRevision'],'beforeRevision':_0x917c24['startRevision'],'length':0x1});for await(let _0x448bfe of m(this['_core'],_0x453d6f,_0x1d090e,_0x917c24['startRevision']-0x1,_0x917c24['startRevision'])){let _0x248cfa=_0x448bfe[0x0],_0x4719f9=this['_policy']['evaluate']({'unitID':_0x50a182,'type':_0x1d090e['type'],'currentRecord':_0x40ed18['records'][0x0]?.['record']??null,'changeset':_0x248cfa});return{'unit':_0x1d090e,'processedRevision':_0x917c24['startRevision'],'currentRecord':_0x917c24,'forceNextHistory':_0x4719f9['forceNextHistory']};}throw new t['CollabError']('ADAPTER_FAILURE','History\x20starting\x20changeset\x20is\x20missing');}['_advance'](_0x1417b2,_0x1383da){p(_0x1383da,_0x1417b2['unit'],_0x1417b2['processedRevision']+0x1);let _0x41d833=this['_policy']['evaluate']({'unitID':_0x1417b2['unit']['unitID'],'type':_0x1417b2['unit']['type'],'currentRecord':_0x1417b2['currentRecord'],'changeset':_0x1383da}),_0x5b6e31=_0x1417b2['currentRecord']['startRevision']===0x1||_0x1417b2['forceNextHistory']||_0x41d833['startsNewHistory']?{'unitID':_0x1383da['unitID'],'startRevision':_0x1383da['revision'],'userID':_0x1383da['userID'],'createdAt':d(_0x1383da),'origin':v(_0x1383da['additionalFields']),..._0x1383da['additionalFields']===void 0x0?{}:{'additionalFields':_0x1383da['additionalFields']}}:_0x1417b2['currentRecord'];return{'unit':_0x1417b2['unit'],'processedRevision':_0x1383da['revision'],'currentRecord':_0x5b6e31,'forceNextHistory':_0x41d833['forceNextHistory']};}async['_apply'](_0x17bb41,_0x46eb81,_0x9238fe){let _0x302a72=this['_advance'](_0x46eb81,_0x9238fe);return _0x302a72['currentRecord']!==_0x46eb81['currentRecord']&&await this['_append'](_0x17bb41,_0x302a72['currentRecord'],_0x46eb81['currentRecord']['startRevision']),this['_remember'](_0x302a72),_0x302a72;}async['_append'](_0x1c54ed,_0x29f811,_0x434423){if((await this['_database']['appendRecord'](_0x1c54ed,_0x29f811,{'expectedLatestStartRevision':_0x434423}))['status']==='conflict')throw new h('History\x20boundary\x20changed\x20during\x20indexing');}['_remember'](_0x5d097a){for(this['_states']['delete'](_0x5d097a['unit']['unitID']),this['_states']['set'](_0x5d097a['unit']['unitID'],_0x5d097a);this['_states']['size']>this['_maxCachedUnits'];)this['_states']['delete'](this['_states']['keys']()['next']()['value']);}['_serialize'](_0x1a108e,_0x48aa33){let _0x352bf1=(this['_queues']['get'](_0x1a108e)??Promise['resolve']())['then'](_0x48aa33,_0x48aa33),_0x21c1cc=_0x352bf1['then'](()=>void 0x0,()=>void 0x0)['finally'](()=>{this['_queues']['get'](_0x1a108e)===_0x21c1cc&&this['_queues']['delete'](_0x1a108e);});return this['_queues']['set'](_0x1a108e,_0x21c1cc),_0x352bf1;}['_background'](_0x9bb759,_0x28dc5b){this['_serialize'](_0x9bb759,_0x28dc5b)['catch'](this['_log']);}};function _(_0x41736d){return{'unit':_0x41736d,'processedRevision':0x1,'forceNextHistory':!0x1,'currentRecord':{'unitID':_0x41736d['unitID'],'startRevision':0x1,'userID':_0x41736d['creatorID'],'createdAt':_0x41736d['createdAt'],'origin':0x1}};}function v(_0x2ade38){if(!_0x2ade38)return 0x1;try{return JSON['parse'](_0x2ade38)?.['origin']===0x2?0x2:0x1;}catch{return 0x1;}}async function y(_0x5d71fc,_0x3a4d46,_0x4ce47c,_0x1877e8){let _0x592cc9=[..._0x1877e8]['sort']((_0x3bcd87,_0x3d24c6)=>_0x3bcd87['record']['startRevision']-_0x3d24c6['record']['startRevision'])['map'](_0xbd31a7=>({'range':_0xbd31a7,'commands':new Set(_0xbd31a7['record']['startRevision']===0x1?['univer.mutation.create-unit']:[]),'users':new Set(_0xbd31a7['record']['startRevision']===0x1?[_0x4ce47c['creatorID']]:[]),'startTime':_0xbd31a7['record']['startRevision']===0x1?_0x4ce47c['createdAt']:_0xbd31a7['record']['createdAt'],'endTime':_0xbd31a7['record']['createdAt']})),_0x151f19=new Map([[0x1,_0x4ce47c['createdAt']]]);for(let _0x1aaaf1=0x0;_0x1aaaf1<_0x592cc9['length'];){let _0x65c3d0=_0x1aaaf1;for(;_0x65c3d0+0x1<_0x592cc9['length']&&_0x592cc9[_0x65c3d0]['range']['endRevision']+0x1===_0x592cc9[_0x65c3d0+0x1]['range']['record']['startRevision'];)_0x65c3d0++;let _0x1c98e2=_0x1aaaf1,_0x5212b5=_0x592cc9[_0x1aaaf1]['range']['record']['startRevision']-0x1,_0x53f173=_0x592cc9[_0x65c3d0]['range']['endRevision'];for await(let _0x2d9186 of m(_0x5d71fc,_0x3a4d46,_0x4ce47c,_0x5212b5,_0x53f173))for(let _0x493ac7 of _0x2d9186){for(;_0x493ac7['revision']>_0x592cc9[_0x1c98e2]['range']['endRevision'];)_0x1c98e2++;let _0x3a2f8b=_0x592cc9[_0x1c98e2],_0x187479=d(_0x493ac7);_0x493ac7['revision']===_0x3a2f8b['range']['record']['startRevision']&&(_0x3a2f8b['startTime']=_0x187479),_0x3a2f8b['endTime']=_0x187479,_0x3a2f8b['users']['add'](_0x493ac7['userID']);for(let _0x1f0533 of _0x493ac7['mutations']){if(_0x3a2f8b['commands']['add'](_0x1f0533['id']),_0x1f0533['id']!=='univer.mutation.revert-version')continue;let _0x29b52d;try{_0x29b52d=JSON['parse'](_0x1f0533['data'])['revision'];}catch{throw new t['CollabError']('ADAPTER_FAILURE','History\x20contains\x20invalid\x20restore\x20data');}if(typeof _0x29b52d!='number'||!Number['isSafeInteger'](_0x29b52d)||_0x29b52d<0x1||_0x29b52d>=_0x493ac7['revision'])throw new t['CollabError']('ADAPTER_FAILURE','History\x20contains\x20an\x20invalid\x20restore\x20revision');_0x3a2f8b['restoredRevision']??=_0x29b52d;}}_0x1aaaf1=_0x65c3d0+0x1;}let _0x545cd5=new Set(_0x592cc9['flatMap'](_0x4d2e6=>_0x4d2e6['restoredRevision']===void 0x0?[]:[_0x4d2e6['restoredRevision']]));for(let _0x216510 of _0x545cd5)if(!_0x151f19['has'](_0x216510)){for await(let _0x44ec43 of m(_0x5d71fc,_0x3a4d46,_0x4ce47c,_0x216510-0x1,_0x216510))_0x151f19['set'](_0x216510,d(_0x44ec43[0x0]));}let _0x2909ff=Object['create'](null);for(let _0x3c25fe of _0x592cc9){let _0x49cbd8=_0x3c25fe['range']['record'],_0x3b939f=_0x49cbd8['additionalFields']??(_0x3c25fe['restoredRevision']===void 0x0?void 0x0:JSON['stringify']({'restoredRevision':_0x3c25fe['restoredRevision']}));_0x2909ff[_0x4ce47c['unitID']+':'+_0x49cbd8['startRevision']]={'unitID':_0x4ce47c['unitID'],'userID':_0x49cbd8['userID'],'userIDs':[..._0x3c25fe['users']],'command':[..._0x3c25fe['commands']],'createTime':String(_0x49cbd8['createdAt']),'startRevision':_0x49cbd8['startRevision'],'endRevision':_0x3c25fe['range']['endRevision'],'startRevCreateTime':_0x3c25fe['startTime'],'endRevCreateTime':_0x3c25fe['endTime'],'recoverTime':_0x3c25fe['restoredRevision']===void 0x0?'':String(_0x151f19['get'](_0x3c25fe['restoredRevision'])),'origin':_0x49cbd8['origin'],..._0x3b939f===void 0x0?{}:{'additionalFields':_0x3b939f}};}return _0x2909ff;}var b=class{['_options'];['_dbAdapter'];['_middleware']=new l();['_indexer'];['_subscriptions']=[];['_calls']=new Set();['_state']='running';['_disposePromise'];constructor(_0x329572){if(this['_options']=_0x329572,!_0x329572?.['collabService']||!_0x329572['collabService']['dbAdapter'])throw TypeError('History\x20requires\x20collabService\x20with\x20a\x20dbAdapter');let _0x312409=_0x329572['maxIndexRetries']??0x3,_0x113541=_0x329572['maxCachedUnits']??0x3e8;if(!Number['isSafeInteger'](_0x312409)||_0x312409<0x0)throw TypeError('maxIndexRetries\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');if(!Number['isSafeInteger'](_0x113541)||_0x113541<0x1)throw TypeError('maxCachedUnits\x20must\x20be\x20a\x20positive\x20safe\x20integer');this['_dbAdapter']=_0x329572['dbAdapter']??new s(),this['_indexer']=new g(_0x329572['collabService'],this['_dbAdapter'],_0x329572['policy']??new c(),_0x113541,_0x312409,_0x9db0f4=>this['_logError']('History\x20background\x20indexing\x20failed',_0x9db0f4));try{this['_subscriptions']['push'](_0x329572['collabService']['on']('unitCreated',_0x1acc36=>this['_indexer']['created'](_0x1acc36,_0x1acc36['record']))),this['_subscriptions']['push'](_0x329572['collabService']['on']('changesetCommitted',_0x1e3625=>this['_indexer']['committed'](_0x1e3625,_0x1e3625['changeset'])));}catch(_0x4d7916){for(let _0x29e1ee of this['_subscriptions'])_0x29e1ee['dispose']();throw _0x4d7916;}}['use'](_0x4f5231,_0x3202f7){return this['_assertRunning'](),this['_middleware']['use'](_0x4f5231,_0x3202f7);}['getHistoryList'](_0x353351,_0x1bbf33){return this['_read']('getHistoryList',_0x353351,_0x1bbf33,async _0x4b541c=>{if(!Number['isSafeInteger'](_0x353351['length'])||_0x353351['length']<0x1||_0x353351['length']>0x64)throw E('length\x20must\x20be\x20an\x20integer\x20from\x201\x20to\x20100');if(_0x353351['origin']!==void 0x0&&![0x0,0x1,0x2]['includes'](_0x353351['origin']))throw E('Invalid\x20History\x20origin');let _0x4cfd0c=w(_0x353351['lastLabel']),_0x55ff92=await f(this['_options']['collabService'],_0x4b541c,_0x353351['unitID']),_0x440f61={'throughRevision':_0x55ff92['headRevision'],'length':_0x353351['length'],..._0x4cfd0c===void 0x0?{}:{'beforeRevision':_0x4cfd0c},..._0x353351['origin']===void 0x0?{}:{'origin':_0x353351['origin']},..._0x353351['userIDs']===void 0x0?{}:{'userIDs':_0x353351['userIDs']}},_0x2898d1=await this['_dbAdapter']['listRecords'](_0x4b541c,_0x55ff92['unitID'],_0x440f61);if(!_0x2898d1['records']['length']&&!await this['_dbAdapter']['getLatestRecord'](_0x4b541c,_0x55ff92['unitID'])){let _0x33fe43=await this['_indexer']['initializeIfEmpty'](_0x4b541c,_0x55ff92);_0x2898d1=_0x33fe43?r(_0x33fe43,_0x440f61):await this['_dbAdapter']['listRecords'](_0x4b541c,_0x55ff92['unitID'],_0x440f61);}let _0x26dd81=await y(this['_options']['collabService'],_0x4b541c,_0x55ff92,_0x2898d1['records']),_0x1b1618=await this['_resolveUsers'](Object['values'](_0x26dd81)['flatMap'](_0x1fc872=>_0x1fc872['userIDs']),_0x4b541c);return{'hasMore':_0x2898d1['hasMore'],'lastLabel':_0x2898d1['records']['at'](-0x1)?.['record']['startRevision']['toString']()??'','entities':{'datas':_0x26dd81,'users':_0x1b1618},'historyIds':_0x2898d1['records']['map'](({record:_0x2cf791})=>_0x2cf791['unitID']+':'+_0x2cf791['startRevision'])};});}['listHistoryCreators'](_0x34edc8,_0x107fbd){return this['_read']('listHistoryCreators',_0x34edc8,_0x107fbd,async _0x37c5cc=>{let _0x1132a3=await f(this['_options']['collabService'],_0x37c5cc,_0x34edc8['unitID']),_0x4b14ac={'throughRevision':_0x1132a3['headRevision']},_0x5d146f=await this['_dbAdapter']['listCreators'](_0x37c5cc,_0x1132a3['unitID'],_0x4b14ac);if(!_0x5d146f['length']&&!await this['_dbAdapter']['getLatestRecord'](_0x37c5cc,_0x1132a3['unitID'])){let _0x403792=await this['_indexer']['initializeIfEmpty'](_0x37c5cc,_0x1132a3);_0x5d146f=_0x403792?i(_0x403792,_0x1132a3['headRevision']):await this['_dbAdapter']['listCreators'](_0x37c5cc,_0x1132a3['unitID'],_0x4b14ac);}let _0x20e829=await this['_resolveUsers'](_0x5d146f['map'](_0x1f75f4=>_0x1f75f4['userID']),_0x37c5cc);return{'creators':_0x5d146f['map'](_0x2e22b6=>({..._0x2e22b6,'name':_0x20e829[_0x2e22b6['userID']]['name'],'avatar':_0x20e829[_0x2e22b6['userID']]['avatar']}))};});}['getHistoryChangesets'](_0x2b68f4,_0x322f91){return this['_read']('getHistoryChangesets',_0x2b68f4,_0x322f91,async _0x13041a=>{if(C('startRevision',_0x2b68f4['startRevision']),C('endRevision',_0x2b68f4['endRevision']),_0x2b68f4['endRevision']<_0x2b68f4['startRevision'])throw E('endRevision\x20must\x20not\x20precede\x20startRevision');let _0x29efca=await f(this['_options']['collabService'],_0x13041a,_0x2b68f4['unitID']);if(_0x2b68f4['endRevision']>_0x29efca['headRevision'])throw E('endRevision\x20exceeds\x20Core\x20head');let _0x46221e=[];for await(let _0x247d88 of m(this['_options']['collabService'],_0x13041a,_0x29efca,_0x2b68f4['startRevision']-0x1,_0x2b68f4['endRevision']))_0x46221e['push'](..._0x247d88);let _0x3492fd=_0x46221e['map'](_0x919376=>_0x919376['userID']);return _0x2b68f4['startRevision']===0x1&&_0x3492fd['push'](_0x29efca['creatorID']),{'changesets':_0x46221e,'users':await this['_resolveUsers'](_0x3492fd,_0x13041a)};});}['dispose'](){if(this['_disposePromise'])return this['_disposePromise'];this['_state']='disposing';for(let _0x4bed69 of this['_subscriptions']['splice'](0x0))_0x4bed69['dispose']();return this['_disposePromise']=((async()=>{await Promise['allSettled']([...this['_calls']]),await this['_indexer']['dispose'](),this['_middleware']['clear'](),this['_options']['dbAdapter']||await this['_dbAdapter']['dispose']?.(),this['_state']='disposed';})()),this['_disposePromise'];}['_read'](_0x733205,_0x1b4729,_0x4700ea,_0x51a0ee){this['_assertRunning']();let _0x2842f2=((async()=>{let _0x58e4bc={...x(_0x4700ea),'request':{..._0x1b4729}},_0x5785de;return await this['_middleware']['run'](_0x733205,_0x58e4bc,async()=>{S(_0x1b4729['unitID']);try{_0x5785de=await _0x51a0ee(_0x58e4bc);}catch(_0x397713){throw _0x397713 instanceof t['CollabError']?_0x397713:new t['CollabError']('ADAPTER_FAILURE','History\x20read\x20failed',{'cause':_0x397713,'retryable':!0x0});}}),_0x5785de;})());return this['_calls']['add'](_0x2842f2),_0x2842f2['then'](()=>this['_calls']['delete'](_0x2842f2),()=>this['_calls']['delete'](_0x2842f2)),_0x2842f2;}async['_resolveUsers'](_0x6a135f,_0x1c2dcc){let _0x33f802=new Set(_0x6a135f),_0x3315ac=Object['create'](null);if(_0x33f802['size']&&this['_options']['userProvider'])try{for(let _0x3256cd of await this['_options']['userProvider']['getUsers']([..._0x33f802],_0x1c2dcc))_0x33f802['has'](_0x3256cd['userID'])&&(_0x3315ac[_0x3256cd['userID']]=_0x3256cd);}catch(_0x4cc9e9){this['_logError']('History\x20user\x20lookup\x20failed',_0x4cc9e9);}for(let _0xa8f880 of _0x33f802)_0x3315ac[_0xa8f880]??=T(_0xa8f880);return _0x3315ac;}['_assertRunning'](){if(this['_state']!=='running')throw new t['CollabError']('INTERNAL_ERROR','History\x20Service\x20is\x20'+this['_state']);}['_logError'](_0x3881c2,_0x12104e){try{this['_options']['logger']?.['error'](_0x3881c2,{'error':_0x12104e instanceof Error?_0x12104e['message']:String(_0x12104e)});}catch{}}};function x(_0x3924b3){if(!_0x3924b3||typeof _0x3924b3!='object')throw E('context\x20must\x20be\x20an\x20object');if(typeof _0x3924b3['userID']!='string'||_0x3924b3['userID']['length']===0x0)throw E('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x3924b3['customData']!==void 0x0&&(_0x3924b3['customData']===null||typeof _0x3924b3['customData']!='object'||Array['isArray'](_0x3924b3['customData'])))throw E('customData\x20must\x20be\x20an\x20object');return{'userID':_0x3924b3['userID'],'customData':_0x3924b3['customData']??Object['create'](null)};}function S(_0x2d3f67){if(!_0x2d3f67)throw E('unitID\x20is\x20required');}function C(_0x34903d,_0x15f5c7){if(!Number['isSafeInteger'](_0x15f5c7)||_0x15f5c7<0x1)throw E(_0x34903d+'\x20must\x20be\x20a\x20positive\x20safe\x20integer');}function w(_0x2e1974){if(!_0x2e1974)return;let _0x1c9130=Number(_0x2e1974);return C('lastLabel',_0x1c9130),_0x1c9130;}function T(_0x30bf25){return{'userID':_0x30bf25,'name':_0x30bf25,'avatar':'','anonymous':!0x0,'canBindAnonymous':!0x1,'phone':'','email':'','createTimestamp':0x0};}function E(_0x62d1ed){return new t['CollabError']('INVALID_REQUEST',_0x62d1ed);}exports['DefaultHistoryPolicy']=c,exports['MemoryHistoryDatabaseAdapter']=s,exports['UniverHistoryService']=b;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const _0x139c44=_0x5d1b;(function(_0xd7efdf,_0xd5f23b){const _0x447d72=_0x5d1b,_0x2538cb=_0xd7efdf();while(!![]){try{const _0x319641=-parseInt(_0x447d72(0x1db))/0x1+-parseInt(_0x447d72(0x1d9))/0x2+parseInt(_0x447d72(0x1e0))/0x3*(parseInt(_0x447d72(0x1dd))/0x4)+parseInt(_0x447d72(0x1df))/0x5*(-parseInt(_0x447d72(0x1d8))/0x6)+parseInt(_0x447d72(0x1d6))/0x7*(parseInt(_0x447d72(0x1da))/0x8)+-parseInt(_0x447d72(0x1d5))/0x9+-parseInt(_0x447d72(0x1d7))/0xa*(-parseInt(_0x447d72(0x1dc))/0xb);if(_0x319641===_0xd5f23b)break;else _0x2538cb['push'](_0x2538cb['shift']());}catch(_0x1470c5){_0x2538cb['push'](_0x2538cb['shift']());}}}(_0x4627,0xefb6c));import _0x2ceae2 from'./index.cjs';function _0x5d1b(_0x35be6f,_0x1b7b2c){_0x35be6f=_0x35be6f-0x1d5;const _0x462742=_0x4627();let _0x5d1ba4=_0x462742[_0x35be6f];return _0x5d1ba4;}function _0x4627(){const _0x9a1f61=['30svNlBD','4490070pPsIsJ','1189282tKarzv','10744kyfibA','797241jrKBsh','5499131xcjhPW','76xSmcCo','UniverHistoryService','5JOwbtS','41169pLyQuo','3470832bKkFzX','9107nIzlZo'];_0x4627=function(){return _0x9a1f61;};return _0x4627();}const facadeExport0=_0x2ceae2['DefaultHistoryPolicy'],facadeExport1=_0x2ceae2['MemoryHistoryDatabaseAdapter'],facadeExport2=_0x2ceae2[_0x139c44(0x1de)];export{facadeExport0 as DefaultHistoryPolicy,facadeExport1 as MemoryHistoryDatabaseAdapter,facadeExport2 as UniverHistoryService};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs-pro/collaboration-history-service",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.3",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@univerjs-pro/collaboration": "1.0.
|
|
20
|
-
"@univerjs-pro/collaboration-service": "1.0.
|
|
21
|
-
"@univerjs/protocol": "1.0.
|
|
19
|
+
"@univerjs-pro/collaboration": "1.0.3",
|
|
20
|
+
"@univerjs-pro/collaboration-service": "1.0.3",
|
|
21
|
+
"@univerjs/protocol": "1.0.3"
|
|
22
22
|
}
|
|
23
23
|
}
|