@univerjs-pro/collaboration-worktree-service 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('node:util'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs/protocol');var i=class extends Error{['code'];['retryable'];['details'];constructor(_0xa8732a,_0x30f368,_0x452d0c={}){super(_0x30f368,{'cause':_0x452d0c['cause']}),this['name']='WorktreeError',this['code']=_0xa8732a,this['retryable']=_0x452d0c['retryable']??!0x1,_0x452d0c['details']!==void 0x0&&(this['details']=_0x452d0c['details']);}},a=class{['_worktreeID'];['_trunk'];['_worktree'];constructor(_0x534fbc,_0x5822f0,_0x20386a){this['_worktreeID']=_0x534fbc,this['_trunk']=_0x5822f0,this['_worktree']=_0x20386a;}async['getUnit'](_0x31af52,_0x25e5c8){let _0x38f400=await this['_worktree']['getWorktreeUnit'](_0x31af52,this['_worktreeID'],_0x25e5c8);return _0x38f400?{'unitID':_0x38f400['unitID'],'type':_0x38f400['type'],'headRevision':_0x38f400['draftHeadRevision'],'creatorID':_0x38f400['creatorID'],'createdAt':_0x38f400['createdAt']}:null;}async['getSnapshot'](_0x27ad16,_0x14f6c5,_0x2ff7c2){let _0x393807=await this['_getUnitRecord'](_0x27ad16,_0x14f6c5);if(!_0x393807)return null;let _0x20683e=_0x2ff7c2?.['revision'],_0x4d8f86=_0x20683e===void 0x0?_0x393807['draftHeadRevision']:Math['min'](_0x20683e,_0x393807['draftHeadRevision']);if(_0x393807['source']==='worktree')return _0x4d8f86<0x1?null:(await this['_worktree']['getUnitSeed'](_0x27ad16,this['_worktreeID'],_0x14f6c5))?.['snapshot']??null;let _0x1ad481=o(_0x393807);return this['_trunk']['getSnapshot'](_0x27ad16,_0x14f6c5,{'revision':Math['min'](_0x4d8f86,_0x1ad481)});}async['getSnapshotInfo'](_0x338114,_0x5e65f0,_0x3ac4bb){let _0x5e997a=await this['_getUnitRecord'](_0x338114,_0x5e65f0);if(!_0x5e997a)return null;let _0xeadd1d=_0x3ac4bb?.['revision'],_0x5a2859=_0xeadd1d===void 0x0?_0x5e997a['draftHeadRevision']:Math['min'](_0xeadd1d,_0x5e997a['draftHeadRevision']);return _0x5e997a['source']==='worktree'?_0x5a2859>=0x1?{'unitID':_0x5e997a['unitID'],'type':_0x5e997a['type'],'rev':0x1}:null:this['_trunk']['getSnapshotInfo'](_0x338114,_0x5e65f0,{'revision':Math['min'](_0x5a2859,o(_0x5e997a))});}async['getChangesets'](_0x41d6db,_0x35396a,_0x375482){let _0x97afc8=await this['_getUnitRecord'](_0x41d6db,_0x35396a);if(!_0x97afc8)return null;if(_0x97afc8['source']==='worktree')return this['_worktree']['getDraftChangesets'](_0x41d6db,this['_worktreeID'],_0x35396a,_0x375482);let _0x584e1c=o(_0x97afc8),_0xeaa06d=Math['min'](_0x375482['to']??_0x584e1c,_0x584e1c),_0x417138=_0x375482['from']<_0xeaa06d?await this['_trunk']['getChangesets'](_0x41d6db,_0x35396a,{'from':_0x375482['from'],'to':_0xeaa06d}):[];if(_0x417138===null)return null;let _0x37e1d7=Math['max'](_0x375482['from'],_0x584e1c),_0x2f4cd8=_0x375482['to']===void 0x0||_0x37e1d7<_0x375482['to']?await this['_worktree']['getDraftChangesets'](_0x41d6db,this['_worktreeID'],_0x35396a,{..._0x375482,'from':_0x37e1d7}):[];return _0x2f4cd8===null?null:[..._0x417138,..._0x2f4cd8];}async['createUnit'](_0x1cb03c,_0x1d673e){let _0x3efaf7=await this['_worktree']['createUnit'](_0x1cb03c,{'unit':{'worktreeID':this['_worktreeID'],'unitID':_0x1d673e['record']['unitID'],'type':_0x1d673e['record']['type'],'source':'worktree','draftHeadRevision':0x1,'creatorID':_0x1d673e['record']['creatorID'],'createdAt':_0x1d673e['record']['createdAt']},'seed':{'snapshot':_0x1d673e['snapshot'],..._0x1d673e['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x1d673e['sheetBlocks']}}});switch(_0x3efaf7['status']){case'created':return{'status':'created','record':_0x1d673e['record']};case'already-created':{let _0x5368ab=_0x3efaf7['aggregate']['units']['find'](_0x48d541=>_0x48d541['unitID']===_0x1d673e['record']['unitID']);return{'status':'already-exists','record':{'unitID':_0x5368ab['unitID'],'type':_0x5368ab['type'],'headRevision':_0x5368ab['draftHeadRevision'],'creatorID':_0x5368ab['creatorID'],'createdAt':_0x5368ab['createdAt']}};}case'not-found':throw new n['CollabError']('UNIT_NOT_FOUND','Worktree\x20'+this['_worktreeID']+'\x20does\x20not\x20exist');case'unit-exists':throw new n['CollabError']('INVALID_REQUEST','Unit\x20'+_0x1d673e['record']['unitID']+'\x20already\x20exists\x20in\x20the\x20Worktree');case'status-mismatch':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20'+this['_worktreeID']+'\x20is\x20not\x20editable');}}['deleteUnits'](_0x53c06f,_0x70cb38){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20draft'));}['recoverUnits'](_0x3a5446,_0x1e4e3a){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20draft'));}async['commitChangeset'](_0x390de1,_0x9efde7){let _0x4cc1ff=await this['_worktree']['commitDraftChangeset'](_0x390de1,{'worktreeID':this['_worktreeID'],'changeset':_0x9efde7['changeset']});switch(_0x4cc1ff['status']){case'committed':case'revision-mismatch':return _0x4cc1ff;case'not-found':throw new n['CollabError']('UNIT_NOT_FOUND','Worktree\x20or\x20Worktree\x20Unit\x20does\x20not\x20exist');case'not-editable':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20is\x20'+_0x4cc1ff['worktreeStatus']);case'unit-frozen':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20Unit\x20has\x20already\x20been\x20merged');}}['saveSnapshot'](_0x166017,_0x535227){return Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20draft\x20snapshots\x20are\x20disabled'));}async['getSheetBlock'](_0x46b555,_0x1a977a,_0x20b78a){let _0x38436e=await this['_getUnitRecord'](_0x46b555,_0x1a977a);return _0x38436e?_0x38436e['source']==='worktree'?(await this['_worktree']['getUnitSeed'](_0x46b555,this['_worktreeID'],_0x1a977a))?.['sheetBlocks']?.['find'](_0x1c8f7c=>_0x1c8f7c['id']===_0x20b78a)??null:this['_trunk']['getSheetBlock'](_0x46b555,_0x1a977a,_0x20b78a):null;}['_getUnitRecord'](_0x470f08,_0x1cd01e){return this['_worktree']['getWorktreeUnit'](_0x470f08,this['_worktreeID'],_0x1cd01e);}};function o(_0x57e29b){if(_0x57e29b['source']!=='trunk'||!Number['isSafeInteger'](_0x57e29b['baselineTrunkRevision'])||_0x57e29b['baselineTrunkRevision']<0x1)throw new n['CollabError']('ADAPTER_FAILURE','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x57e29b['baselineTrunkRevision'];}async function s(_0x478e2c){let _0x15a310=new n['UniverUnitRuntime']({'reader':_0x478e2c['dbAdapter'],..._0x478e2c['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x478e2c['runtime']['maxLoadedUnits']},..._0x478e2c['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x478e2c['runtime']['idleTimeoutMs']}});try{let _0x1c1fa=await _0x15a310['ensureUnit'](_0x478e2c['context'],_0x478e2c['unitID'],_0x478e2c['type']);try{if(_0x1c1fa['revision']!==_0x478e2c['expectedRevision'])throw c('Unit\x20Runtime\x20did\x20not\x20reach\x20the\x20frozen\x20Worktree\x20revision');let _0x1d5ae9=await _0x15a310['createSnapshot'](_0x1c1fa);if(_0x1d5ae9['snapshot']['unitID']!==_0x478e2c['unitID']||_0x1d5ae9['snapshot']['type']!==_0x478e2c['type']||_0x1d5ae9['snapshot']['rev']!==_0x478e2c['expectedRevision'])throw c('Unit\x20Runtime\x20returned\x20an\x20invalid\x20Worktree\x20snapshot');return _0x1d5ae9;}finally{_0x15a310['releaseUnit'](_0x1c1fa);}}finally{await _0x15a310['dispose']();}}function c(_0x9a89dd){return new n['CollabError']('ADAPTER_FAILURE',_0x9a89dd,{'retryable':!0x0});}async function l(_0x39ffd5){let _0x470e63=new n['UniverUnitRuntime']({'reader':_0x39ffd5['dbAdapter'],..._0x39ffd5['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x39ffd5['runtime']['maxLoadedUnits']},..._0x39ffd5['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x39ffd5['runtime']['idleTimeoutMs']}});try{let _0x5b13fa=u(_0x470e63,_0x39ffd5),_0x42447f=await _0x470e63['ensureUnit'](_0x39ffd5['context'],_0x39ffd5['unitID'],_0x39ffd5['type']);try{if(_0x42447f['revision']!==_0x39ffd5['trunkHeadRevision'])throw new n['CollabError']('REVISION_MISMATCH','Trunk\x20changed\x20while\x20materializing\x20Worktree\x20merge\x20preview',{'retryable':!0x0});if(await _0x470e63['applyChangeset'](_0x39ffd5['context'],_0x42447f,_0x5b13fa),_0x42447f['revision']!==_0x5b13fa['revision'])throw new n['CollabError']('INTERNAL_ERROR','Preview\x20Runtime\x20did\x20not\x20reach\x20the\x20merge\x20candidate\x20revision',{'retryable':!0x0});return await _0x470e63['createSnapshot'](_0x42447f);}finally{_0x470e63['releaseUnit'](_0x42447f);}}finally{await _0x470e63['dispose']();}}function u(_0x42c58a,_0x46241f){let _0x2b3162=_0x42c58a['changesetTransformer']['parseClient'](_0x46241f['original']);return{..._0x42c58a['changesetTransformer']['transform'](_0x2b3162,_0x46241f['trunkHistory']),'unitID':_0x46241f['original']['unitID'],'type':_0x46241f['original']['type'],'baseRev':_0x46241f['trunkHeadRevision'],'revision':_0x46241f['trunkHeadRevision']+0x1,'sid':_0x46241f['original']['sid'],'reqId':_0x46241f['original']['reqId']};}var d=class{['_middlewares']=new Map();['use'](_0x12d661,_0x393a30){let _0xd33866=this['_middlewares']['get'](_0x12d661)??[],_0x260b0d=_0x393a30;_0xd33866['push'](_0x260b0d),this['_middlewares']['set'](_0x12d661,_0xd33866);let _0x5fa0d7=!0x1;return{'dispose':()=>{if(_0x5fa0d7)return;_0x5fa0d7=!0x0;let _0x5e906d=_0xd33866['indexOf'](_0x260b0d);_0x5e906d>=0x0&&_0xd33866['splice'](_0x5e906d,0x1);}};}async['run'](_0x28b4c9,_0x2b9a0d,_0x991a88){let _0x5750d0=[...this['_middlewares']['get'](_0x28b4c9)??[]],_0x4a3d0b=async _0x36f9d4=>{let _0x27b91a=_0x5750d0[_0x36f9d4];if(!_0x27b91a){await _0x991a88();return;}let _0x4ffb4e=!0x1,_0x5a015d,_0x5e16e2=()=>{if(_0x4ffb4e)throw Error('Middleware\x20for\x20action\x20'+String(_0x28b4c9)+'\x20called\x20next()\x20more\x20than\x20once');return _0x4ffb4e=!0x0,_0x5a015d=_0x4a3d0b(_0x36f9d4+0x1),_0x5a015d;};try{await _0x27b91a(_0x2b9a0d,_0x5e16e2);}catch(_0x3db278){if(_0x5a015d)try{await _0x5a015d;}catch{}throw _0x3db278;}if(!_0x4ffb4e)throw Error('Middleware\x20for\x20action\x20'+String(_0x28b4c9)+'\x20completed\x20without\x20calling\x20next()');await _0x5a015d;};await _0x4a3d0b(0x0);}['clear'](){this['_middlewares']['clear']();}};function f(_0x13ae1b){return{'worktreeID':_0x13ae1b['worktreeID'],'units':_0x13ae1b['units']??[]};}function p(_0x282622){return{'worktreeID':_0x282622['worktreeID']};}function m(_0x455238){return{'worktreeID':_0x455238['worktreeID'],'unitID':_0x455238['unitID']};}function ee(_0x42cb88){return{'worktreeID':_0x42cb88['worktreeID']};}function te(_0x41cf60){return{'worktreeID':_0x41cf60['worktreeID']};}function h(_0x2004f1){return{'worktreeID':_0x2004f1['worktreeID']};}function g(_0x530207){return{'worktreeID':_0x530207['worktreeID']};}function _(_0xcfb424){return{'worktreeID':_0xcfb424['worktreeID'],'unitID':_0xcfb424['unitID']};}function v(_0x2ef67a){return{'worktreeID':_0x2ef67a['worktreeID'],'unitID':_0x2ef67a['unitID'],'removed':_0x2ef67a['removed']};}var y=class{['_onListenerError'];['_listeners']=new Map();constructor(_0x1c09ac){this['_onListenerError']=_0x1c09ac;}['on'](_0xfd7aa,_0x4c25ed){let _0x580f94=this['_listeners']['get'](_0xfd7aa)??[],_0x433235=_0x4c25ed;_0x580f94['push'](_0x433235),this['_listeners']['set'](_0xfd7aa,_0x580f94);let _0x3f4e5e=!0x1;return{'dispose':()=>{if(_0x3f4e5e)return;_0x3f4e5e=!0x0;let _0x5f364e=_0x580f94['indexOf'](_0x433235);_0x5f364e>=0x0&&_0x580f94['splice'](_0x5f364e,0x1);}};}async['emit'](_0x4c1fee,_0x5cc62b){for(let _0x466be4 of[...this['_listeners']['get'](_0x4c1fee)??[]])try{await _0x466be4(_0x5cc62b);}catch(_0x227968){try{this['_onListenerError'](_0x227968);}catch{}}}['clear'](){this['_listeners']['clear']();}},b=class{['_state']='running';['_activeCalls']=0x0;['_resolveDrain'];['_disposePromise'];get['state'](){return this['_state'];}['run'](_0x2c43e1){return this['_state']==='running'?(this['_activeCalls']+=0x1,Promise['resolve']()['then'](_0x2c43e1)['finally'](()=>{--this['_activeCalls'],this['_activeCalls']===0x0&&(this['_resolveDrain']?.(),this['_resolveDrain']=void 0x0);})):Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_state'],{'retryable':!0x0}));}['dispose'](_0x58ee94){return this['_disposePromise']?this['_disposePromise']:(this['_state']='disposing',this['_disposePromise']=this['_finishDispose'](_0x58ee94),this['_disposePromise']);}async['_finishDispose'](_0x3bf984){this['_activeCalls']>0x0&&await new Promise(_0x42cdc7=>{this['_resolveDrain']=_0x42cdc7;});try{await _0x3bf984();}finally{this['_state']='disposed';}}},x=new Set([r['UniverType']['UNIVER_SHEET'],r['UniverType']['UNIVER_DOC'],r['UniverType']['UNIVER_SLIDE'],r['UniverType']['UNIVER_BOARD'],r['UniverType']['UNIVER_BASE']]),ne=class{['_trunkService'];['_trunkDbAdapter'];['_dbAdapter'];['_middleware']=new d();['_events'];['_lifecycle']=new b();['_logger'];['_metrics'];['_runtimeOptions'];['_enableUnitPermissionAnalysis'];['_maxRevisionRetries'];['_draftServices']=new Map();constructor(_0x1febff){if(!_0x1febff?.['trunk']?.['service']||!_0x1febff['trunk']['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20trunk\x20service\x20and\x20dbAdapter');if(!_0x1febff['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20a\x20Worktree\x20dbAdapter');if(this['_trunkService']=_0x1febff['trunk']['service'],this['_trunkDbAdapter']=_0x1febff['trunk']['dbAdapter'],this['_dbAdapter']=_0x1febff['dbAdapter'],this['_runtimeOptions']=_0x1febff['runtime'],this['_enableUnitPermissionAnalysis']=_0x1febff['enableUnitPermissionAnalysis']??!0x1,this['_maxRevisionRetries']=_0x1febff['submitChangeset']?.['maxRevisionRetries'],this['_maxRevisionRetries']!==void 0x0&&(!Number['isSafeInteger'](this['_maxRevisionRetries'])||this['_maxRevisionRetries']<0x0))throw TypeError('submitChangeset.maxRevisionRetries\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this['_logger']=re(_0x1febff['logger']),this['_metrics']=ie(_0x1febff['metrics']),this['_events']=new y(_0x242e3a=>{this['_logger']['error']('Worktree\x20Service\x20event\x20listener\x20failed',{'error':$(_0x242e3a)});});}['use'](_0x492f03,_0x12da1d){return this['_assertRunning'](),this['_middleware']['use'](_0x492f03,_0x12da1d);}['on'](_0x5518e5,_0x30f48e){return this['_assertRunning'](),this['_events']['on'](_0x5518e5,_0x30f48e);}['createWorktree'](_0x28223a,_0x48d471){return this['_call']('createWorktree',async()=>{let _0x5d13cf=C(_0x48d471),_0x124063=f(_0x28223a),_0xaec2ac={..._0x5d13cf,'request':_0x124063},_0x4251b8;return await this['_middleware']['run']('createWorktree',_0xaec2ac,async()=>{S(_0x28223a['worktreeID']),D(_0x124063['units']);let _0x10dc55=await Promise['all'](_0x124063['units']['map'](_0x2bd369=>this['_requireTrunkUnit'](_0xaec2ac,_0x2bd369))),_0x1e1e38=await this['_database'](()=>this['_dbAdapter']['createWorktree'](_0xaec2ac,{'record':{'worktreeID':_0x28223a['worktreeID'],'sid':(0x0,e['randomUUID'])(),'status':'draft'},'units':_0x10dc55['map'](_0x1ba856=>({'worktreeID':_0x28223a['worktreeID'],'unitID':_0x1ba856['unitID'],'type':_0x1ba856['type'],'source':'trunk','baselineTrunkRevision':_0x1ba856['headRevision'],'draftHeadRevision':_0x1ba856['headRevision'],'creatorID':_0x1ba856['creatorID'],'createdAt':_0x1ba856['createdAt']}))})),_0x270aaa=R(_0x1e1e38['aggregate'],_0x28223a['worktreeID']);if(_0x1e1e38['status']==='already-exists')throw new i('WORKTREE_ALREADY_EXISTS','Worktree\x20'+_0x28223a['worktreeID']+'\x20already\x20exists');L(_0x270aaa,_0x124063['units']),_0x4251b8={'worktree':_0x270aaa},await this['_events']['emit']('worktreeCreated',{'userID':_0x5d13cf['userID'],'customData':_0x5d13cf['customData'],'request':_0x124063,'worktree':_0x270aaa,'occurredAt':Date['now']()});}),_0x4251b8;});}['getWorktree'](_0xbc2d53,_0x358e4b){return this['_call']('getWorktree',async()=>{let _0x287184=C(_0x358e4b),_0x1a5f1a=p(_0xbc2d53),_0x447a91={..._0x287184,'request':_0x1a5f1a},_0x5de92f;return await this['_middleware']['run']('readWorktreeData',_0x447a91,async()=>{S(_0xbc2d53['worktreeID']);let _0x4a81a1=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x447a91,_0xbc2d53['worktreeID']));if(!_0x4a81a1)throw Y(_0xbc2d53['worktreeID']);_0x5de92f={'worktree':R(_0x4a81a1,_0xbc2d53['worktreeID'])};}),_0x5de92f;});}['addUnit'](_0x1db774,_0x2620d1){return this['_call']('addUnit',async()=>{let _0x276019=C(_0x2620d1),_0x226be2=m(_0x1db774),_0x13d8d8={..._0x276019,'request':_0x226be2},_0x3e2371;return await this['_middleware']['run']('addWorktreeUnit',_0x13d8d8,async()=>{if(S(_0x1db774['worktreeID']),!_0x1db774['unitID'])throw X('unitID\x20is\x20required');let _0x1aa58d=await this['_requireTrunkUnit'](_0x13d8d8,_0x1db774['unitID']),_0x3c996a=await this['_database'](()=>this['_dbAdapter']['addUnit'](_0x13d8d8,{'unit':{'worktreeID':_0x1db774['worktreeID'],'unitID':_0x1aa58d['unitID'],'type':_0x1aa58d['type'],'source':'trunk','baselineTrunkRevision':_0x1aa58d['headRevision'],'draftHeadRevision':_0x1aa58d['headRevision'],'creatorID':_0x1aa58d['creatorID'],'createdAt':_0x1aa58d['createdAt']}}));if(_0x3c996a['status']==='not-found')throw Y(_0x1db774['worktreeID']);let _0x5563d9=R(_0x3c996a['aggregate'],_0x1db774['worktreeID']);if(_0x3c996a['status']==='status-mismatch')throw new i('WORKTREE_NOT_EDITABLE','Worktree\x20'+_0x1db774['worktreeID']+'\x20is\x20'+_0x5563d9['status'],{'details':{'status':_0x5563d9['status']}});if(_0x3e2371={'worktree':_0x5563d9},_0x3c996a['status']==='added'){let _0x5a5ca4=U(_0x5563d9,_0x1db774['unitID']);await this['_events']['emit']('worktreeUnitAdded',{'userID':_0x276019['userID'],'customData':_0x276019['customData'],'request':_0x226be2,'worktree':_0x5563d9,'unit':_0x5a5ca4,'occurredAt':Date['now']()});}}),_0x3e2371;});}['setUnitRemoved'](_0x1c6d96,_0x18e86f){return this['_call']('setUnitRemoved',async()=>{let _0xaa6394=C(_0x18e86f),_0x458a9a=v(_0x1c6d96),_0x42c2f6={..._0xaa6394,'request':_0x458a9a},_0x54a32a;return await this['_middleware']['run']('setWorktreeUnitRemoved',_0x42c2f6,async()=>{if(S(_0x458a9a['worktreeID']),!_0x458a9a['unitID']||typeof _0x458a9a['removed']!='boolean')throw X('unitID\x20and\x20a\x20boolean\x20removed\x20flag\x20are\x20required');let _0x480baa=await this['_database'](()=>this['_dbAdapter']['setUnitRemoved'](_0x42c2f6,_0x458a9a));if(_0x480baa['status']==='not-found')throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x458a9a['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x458a9a['worktreeID']);if(_0x480baa['status']==='not-editable')throw new i('WORKTREE_NOT_EDITABLE','Unit\x20removal\x20can\x20only\x20change\x20in\x20an\x20editable\x20draft');let _0x3a0318=R(_0x480baa['aggregate'],_0x458a9a['worktreeID']);_0x54a32a={'worktree':_0x3a0318},_0x480baa['status']==='updated'&&await this['_events']['emit']('worktreeUnitRemovalChanged',{'userID':_0xaa6394['userID'],'customData':_0xaa6394['customData'],'request':_0x458a9a,'worktree':_0x3a0318,'unit':U(_0x3a0318,_0x458a9a['unitID']),'occurredAt':Date['now']()});}),_0x54a32a;});}['createUnitFromSnapshot'](_0x476e10,_0x543117){return this['_call']('createUnitFromSnapshot',async()=>{S(_0x476e10['worktreeID']);let _0x4ee993=C(_0x543117),{worktreeID:_0x42675a,..._0x203132}=_0x476e10;await this['_draftService'](_0x42675a)['createUnitFromSnapshot'](_0x203132,_0x4ee993);let _0x32b657=p({'worktreeID':_0x42675a});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x4ee993,'request':_0x32b657},_0x42675a),_0x42675a)};});}['createUnitFromData'](_0x4290b1,_0xe515ca){return this['_call']('createUnitFromData',async()=>{S(_0x4290b1['worktreeID']);let _0x5a2d73=C(_0xe515ca),{worktreeID:_0x484892,..._0x120315}=_0x4290b1;await this['_draftService'](_0x484892)['createUnitFromData'](_0x120315,_0x5a2d73);let _0x4765c2=p({'worktreeID':_0x484892});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x5a2d73,'request':_0x4765c2},_0x484892),_0x484892)};});}['markReady'](_0x5387f6,_0x540870){return this['_call']('markReady',async()=>{let _0x1a5a12=C(_0x540870),_0x49695e=ee(_0x5387f6),_0x438044={..._0x1a5a12,'request':_0x49695e},_0x11e897;return await this['_middleware']['run']('markWorktreeReady',_0x438044,async()=>{_0x11e897=await this['_transition'](_0x5387f6['worktreeID'],_0x1a5a12,_0x49695e,()=>this['_dbAdapter']['markReady'](_0x438044,_0x5387f6['worktreeID']));}),_0x11e897;});}['reopenWorktree'](_0x4cf927,_0x26d3db){return this['_call']('reopenWorktree',async()=>{let _0xae47d=C(_0x26d3db),_0x2a346d=te(_0x4cf927),_0x1b00e6={..._0xae47d,'request':_0x2a346d},_0x43f658;return await this['_middleware']['run']('reopenWorktree',_0x1b00e6,async()=>{_0x43f658=await this['_transition'](_0x4cf927['worktreeID'],_0xae47d,_0x2a346d,()=>this['_dbAdapter']['reopenWorktree'](_0x1b00e6,_0x4cf927['worktreeID']));}),_0x43f658;});}['discardWorktree'](_0x5096eb,_0x4b9695){return this['_call']('discardWorktree',async()=>{let _0x36d314=C(_0x4b9695),_0x519226=h(_0x5096eb),_0x5569ef={..._0x36d314,'request':_0x519226},_0x287ebf;return await this['_middleware']['run']('discardWorktree',_0x5569ef,async()=>{_0x287ebf=await this['_transition'](_0x5096eb['worktreeID'],_0x36d314,_0x519226,()=>this['_dbAdapter']['discardWorktree'](_0x5569ef,_0x5096eb['worktreeID']));}),_0x287ebf;});}['mergeWorktree'](_0x1890a0,_0x375441){return this['_call']('mergeWorktree',async()=>{let _0x3a6e71=w(_0x375441),_0x45f997=g(_0x1890a0),_0x17e337={..._0x3a6e71,'request':_0x45f997},_0x21ba21;return await this['_middleware']['run']('mergeWorktree',_0x17e337,async()=>{S(_0x1890a0['worktreeID']);let _0x15414a=await this['_database'](()=>this['_dbAdapter']['startOrResumeMerge'](_0x17e337,_0x1890a0['worktreeID']));if(_0x15414a['status']==='not-found')throw Y(_0x1890a0['worktreeID']);let _0x1d3059=_0x15414a['aggregate'],_0x112b15=R(_0x1d3059,_0x1890a0['worktreeID']);if(_0x15414a['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x1890a0['worktreeID']+'\x20cannot\x20merge\x20from\x20'+_0x112b15['status'],{'details':{'status':_0x112b15['status']}});if(_0x15414a['status']==='already-merged'){_0x21ba21={'worktree':_0x112b15};return;}_0x15414a['status']==='started'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x3a6e71['userID'],'customData':_0x3a6e71['customData'],'request':_0x45f997,'worktree':_0x112b15,'previousStatus':'ready','status':'merging','occurredAt':Date['now']()});for(let _0x41d527 of _0x1d3059['units']){if(J(_0x41d527['mergeResult']))continue;let _0x477e7e=await this['_mergeUnit'](_0x17e337,_0x1d3059['worktree']['sid'],_0x41d527,_0x3a6e71),_0x36520f=await this['_database'](()=>this['_dbAdapter']['recordUnitMergeResult'](_0x17e337,{'worktreeID':_0x1890a0['worktreeID'],'unitID':_0x41d527['unitID'],'readyDraftHeadRevision':O(_0x41d527),'mergeResult':_0x477e7e}));if(_0x36520f['status']==='not-found')throw Y(_0x1890a0['worktreeID']);if(_0x36520f['status']==='stale-merge'){if(_0x1d3059=await this['_requireWorktreeAggregate'](_0x17e337,_0x1890a0['worktreeID']),_0x112b15=R(_0x1d3059,_0x1890a0['worktreeID']),_0x1d3059['worktree']['status']!=='merging')break;continue;}if(_0x36520f['status']!=='recorded'&&_0x36520f['status']!=='already-recorded')throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20result\x20status');_0x1d3059=_0x36520f['aggregate'],_0x112b15=R(_0x1d3059,_0x1890a0['worktreeID']),_0x36520f['status']==='recorded'&&await this['_events']['emit']('worktreeUnitMergeResultRecorded',{'userID':_0x3a6e71['userID'],'customData':_0x3a6e71['customData'],'request':_0x45f997,'worktree':_0x112b15,'unit':U(_0x112b15,_0x41d527['unitID']),'occurredAt':Date['now']()});}if(_0x1d3059['worktree']['status']==='merging'){let _0x49a01b=await this['_database'](()=>this['_dbAdapter']['finishMerge'](_0x17e337,_0x1890a0['worktreeID']));if(_0x49a01b['status']==='not-found')throw Y(_0x1890a0['worktreeID']);if(_0x1d3059=_0x49a01b['aggregate'],_0x112b15=R(_0x1d3059,_0x1890a0['worktreeID']),_0x49a01b['status']==='transitioned')await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x3a6e71['userID'],'customData':_0x3a6e71['customData'],'request':_0x45f997,'worktree':_0x112b15,'previousStatus':_0x49a01b['previousStatus'],'status':_0x112b15['status'],'occurredAt':Date['now']()});else{if(_0x49a01b['status']==='status-mismatch'&&_0x112b15['status']!=='ready'&&_0x112b15['status']!=='merged')throw new i('WORKTREE_STALE_MERGE','Worktree\x20'+_0x1890a0['worktreeID']+'\x20merge\x20was\x20superseded',{'retryable':!0x0,'details':{'status':_0x112b15['status']}});}}_0x21ba21={'worktree':_0x112b15};}),_0x21ba21;});}['evaluateWorktreeUnitMerge'](_0x47f21d,_0x23d245){return this['_call']('evaluateWorktreeUnitMerge',async()=>{let _0x1e9237=C(_0x23d245),_0x5b7004=_(_0x47f21d),_0x4be5fa={..._0x1e9237,'request':_0x5b7004},_0x92ec0c;return await this['_middleware']['run']('readUnitData',_0x4be5fa,async()=>{if(S(_0x47f21d['worktreeID']),!_0x47f21d['unitID'])throw X('unitID\x20is\x20required');let _0x5a4ff4=await this['_requireWorktreeAggregate'](_0x4be5fa,_0x47f21d['worktreeID']);if(_0x5a4ff4['worktree']['status']!=='ready')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x47f21d['worktreeID']+'\x20cannot\x20preview\x20from\x20'+_0x5a4ff4['worktree']['status'],{'details':{'status':_0x5a4ff4['worktree']['status']}});let _0x794388=_0x5a4ff4['units']['find'](_0x278bc5=>_0x278bc5['unitID']===_0x47f21d['unitID']);if(!_0x794388)throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x47f21d['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x47f21d['worktreeID']);if(_0x794388['removed']){_0x92ec0c={'status':'not-applicable','reason':'removed-unit','worktreeID':_0x47f21d['worktreeID'],'unitID':_0x47f21d['unitID']};return;}if(_0x794388['source']==='worktree'){_0x92ec0c={'status':'not-applicable','reason':'worktree-created-unit','worktreeID':_0x47f21d['worktreeID'],'unitID':_0x47f21d['unitID']};return;}if(J(_0x794388['mergeResult'])){_0x92ec0c={'status':'already-merged','worktreeID':_0x47f21d['worktreeID'],'unitID':_0x47f21d['unitID'],'mergeResult':q(_0x794388['mergeResult'])};return;}let _0x4212a0=B(_0x794388),_0x3cd621=O(_0x794388),_0xc3cb09=await this['_trunkService']['getUnitLoadData']({'unitID':_0x794388['unitID'],'type':_0x794388['type'],'revision':0x0},_0x1e9237);if(_0xc3cb09['targetRevision']===_0x4212a0){_0x92ec0c={'status':'not-behind','worktreeID':_0x47f21d['worktreeID'],'unitID':_0x47f21d['unitID']};return;}if(_0xc3cb09['targetRevision']<_0x4212a0)throw Z('Trunk\x20head\x20is\x20behind\x20the\x20Worktree\x20baseline');let _0x175ed2=k(_0x794388,_0x3cd621,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x4be5fa,_0x794388['worktreeID'],_0x794388['unitID'],{'from':_0x4212a0,'to':_0x3cd621}))),_0x2e9304=await this['_trunkService']['getChangesets']({'unitID':_0x794388['unitID'],'type':_0x794388['type'],'from':_0x4212a0,'to':_0xc3cb09['targetRevision']},_0x1e9237);try{let _0x1267cf={'context':_0x4be5fa,'dbAdapter':this['_trunkDbAdapter'],'unitID':_0x794388['unitID'],'type':_0x794388['type'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}},_0x494573=_0x3cd621===_0x4212a0?await s({..._0x1267cf,'expectedRevision':_0xc3cb09['targetRevision']}):await l({..._0x1267cf,'trunkHeadRevision':_0xc3cb09['targetRevision'],'original':A(_0x5a4ff4['worktree']['sid'],_0x794388,_0x3cd621,_0x175ed2,{'userID':_0x1e9237['userID'],'memberID':'worktree-merge-preview'}),'trunkHistory':_0x2e9304['changesets']});_0x92ec0c={'status':'preview','worktreeID':_0x47f21d['worktreeID'],'unitID':_0x47f21d['unitID'],'preview':_0x494573};}catch(_0x162eb8){if(_0x162eb8 instanceof n['CollabError']&&_0x162eb8['code']==='OT_CONFLICT'){_0x92ec0c={'status':'conflict','worktreeID':_0x47f21d['worktreeID'],'unitID':_0x47f21d['unitID'],'error':M(_0x162eb8)};return;}throw _0x162eb8;}}),_0x92ec0c;});}['getUnitLoadData'](_0xf989e2,_0xcf8241){return this['_call']('getUnitLoadData',()=>(S(_0xf989e2['worktreeID']),this['_draftService'](_0xf989e2['worktreeID'])['getUnitLoadData']({'unitID':_0xf989e2['unitID'],'type':_0xf989e2['type'],'revision':_0xf989e2['revision']},C(_0xcf8241))));}['getChangesets'](_0x3e8ff2,_0x2706e8){return this['_call']('getChangesets',()=>(S(_0x3e8ff2['worktreeID']),this['_draftService'](_0x3e8ff2['worktreeID'])['getChangesets']({'unitID':_0x3e8ff2['unitID'],'type':_0x3e8ff2['type'],'from':_0x3e8ff2['from'],'to':_0x3e8ff2['to']},C(_0x2706e8))));}['getSheetBlock'](_0x393508,_0x9b6972){return this['_call']('getSheetBlock',()=>(S(_0x393508['worktreeID']),this['_draftService'](_0x393508['worktreeID'])['getSheetBlock']({'unitID':_0x393508['unitID'],'type':_0x393508['type'],'blockID':_0x393508['blockID']},C(_0x9b6972))));}['submitChangeset'](_0x1be97f,_0x51b73d){return this['_call']('submitChangeset',()=>(S(_0x1be97f['worktreeID']),this['_draftService'](_0x1be97f['worktreeID'])['submitChangeset']({'changeset':_0x1be97f['changeset']},w(_0x51b73d))));}['dispose'](){return this['_lifecycle']['dispose'](async()=>{this['_middleware']['clear'](),this['_events']['clear']();let _0x392b9a=[...this['_draftServices']['values']()];this['_draftServices']['clear'](),await Promise['all'](_0x392b9a['map'](_0x4c1ca6=>_0x4c1ca6['dispose']()));});}['_draftService'](_0x2da664){let _0x362509=this['_draftServices']['get'](_0x2da664);if(_0x362509)return _0x362509;let _0x2ef159=new n['UniverCollabService']({'dbAdapter':new a(_0x2da664,this['_trunkDbAdapter'],this['_dbAdapter']),'snapshotPolicy':!0x1,'enableUnitPermissionAnalysis':this['_enableUnitPermissionAnalysis'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']},...this['_maxRevisionRetries']===void 0x0?{}:{'submitChangeset':{'maxRevisionRetries':this['_maxRevisionRetries']}},'logger':this['_logger'],'metrics':this['_metrics']});return _0x2ef159['use']('createUnit',(_0x213e99,_0x104317)=>{let _0x20b2c5=E(_0x213e99['request'],_0x2da664);return this['_middleware']['run']('createWorktreeUnit',{'userID':_0x213e99['userID'],'customData':_0x213e99['customData'],'request':_0x20b2c5},_0x104317);}),_0x2ef159['use']('readUnitData',(_0x7c54e7,_0x36c3e1)=>{let _0x2369d0=E(_0x7c54e7['request'],_0x2da664);return this['_middleware']['run']('readUnitData',{'userID':_0x7c54e7['userID'],'customData':_0x7c54e7['customData'],'request':_0x2369d0},_0x36c3e1);}),_0x2ef159['use']('submitChangeset',(_0x34d376,_0xb83bc)=>{let _0x53d001=E(_0x34d376['request'],_0x2da664);return this['_middleware']['run']('submitChangeset',{'userID':_0x34d376['userID'],'memberID':_0x34d376['memberID'],'customData':_0x34d376['customData'],'request':_0x53d001},_0xb83bc);}),_0x2ef159['use']('applyChangeset',(_0x157128,_0x475d9b)=>{let _0xc1e222=E(_0x157128['request'],_0x2da664);return this['_middleware']['run']('applyChangeset',{'userID':_0x157128['userID'],'memberID':_0x157128['memberID'],'customData':_0x157128['customData'],'request':_0xc1e222,'attempt':_0x157128['attempt'],'currentRevision':_0x157128['currentRevision'],'changeset':_0x157128['changeset']},_0x475d9b);}),_0x2ef159['use']('commitChangeset',(_0x108500,_0x2faa95)=>{let _0x542208=E(_0x108500['request'],_0x2da664);return this['_middleware']['run']('commitChangeset',{'userID':_0x108500['userID'],'memberID':_0x108500['memberID'],'customData':_0x108500['customData'],'request':_0x542208,'attempt':_0x108500['attempt'],'expectedHeadRevision':_0x108500['expectedHeadRevision'],'requiredUnitPermissions':_0x108500['requiredUnitPermissions'],'changeset':_0x108500['changeset']},_0x2faa95);}),_0x2ef159['on']('changesetCommitted',_0x2bd07d=>{let _0x1129e6=E(_0x2bd07d['request'],_0x2da664);return this['_events']['emit']('changesetCommitted',{'userID':_0x2bd07d['userID'],'memberID':_0x2bd07d['memberID'],'customData':_0x2bd07d['customData'],'request':_0x1129e6,'changeset':_0x2bd07d['changeset'],'requiredUnitPermissions':_0x2bd07d['requiredUnitPermissions'],'committedAt':_0x2bd07d['committedAt']});}),_0x2ef159['on']('unitCreated',async _0x21b113=>{let _0x165a26=E(_0x21b113['request'],_0x2da664),_0x259a83=R(await this['_requireWorktreeAggregate']({'userID':_0x21b113['userID'],'customData':_0x21b113['customData'],'request':_0x165a26},_0x2da664),_0x2da664);await this['_events']['emit']('worktreeUnitCreated',{'userID':_0x21b113['userID'],'customData':_0x21b113['customData'],'request':_0x165a26,'worktree':_0x259a83,'unit':U(_0x259a83,_0x21b113['record']['unitID']),'occurredAt':_0x21b113['createdAt']});}),this['_draftServices']['set'](_0x2da664,_0x2ef159),_0x2ef159;}async['_mergeUnit'](_0x32cf2f,_0x10bd64,_0x2097b7,_0x27aa79){try{if(_0x2097b7['removed'])return{'status':'removed'};if(_0x2097b7['source']==='worktree')return await this['_mergeCreatedUnit'](_0x32cf2f,_0x2097b7,_0x27aa79);let _0x485a8d=B(_0x2097b7),_0x4d8e5c=O(_0x2097b7);if(_0x4d8e5c===_0x485a8d)return{'status':'unchanged'};let _0x8f690e=k(_0x2097b7,_0x4d8e5c,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x32cf2f,_0x2097b7['worktreeID'],_0x2097b7['unitID'],{'from':_0x485a8d,'to':_0x4d8e5c}))),_0x4cd3ec=await this['_trunkService']['submitChangeset']({'changeset':A(_0x10bd64,_0x2097b7,_0x4d8e5c,_0x8f690e,_0x27aa79)},_0x27aa79);return _0x4cd3ec['status']==='committed'||_0x4cd3ec['status']==='already-committed'?{'status':'merged','trunkRevision':_0x4cd3ec['changeset']['revision']}:j('error'in _0x4cd3ec?_0x4cd3ec['error']:Error('Trunk\x20merge\x20failed'));}catch(_0x22a7f5){return j(_0x22a7f5);}}async['_mergeCreatedUnit'](_0x5114e7,_0x4dfcfc,_0x1ee8e8){let _0x57275e=O(_0x4dfcfc),_0x45edd4=await this['_database'](()=>this['_dbAdapter']['getUnitMergeArtifact'](_0x5114e7,_0x4dfcfc['worktreeID'],_0x4dfcfc['unitID']));if(!_0x45edd4){let _0x4d0515=await s({'context':_0x5114e7,'dbAdapter':new a(_0x4dfcfc['worktreeID'],this['_trunkDbAdapter'],this['_dbAdapter']),'unitID':_0x4dfcfc['unitID'],'type':_0x4dfcfc['type'],'expectedRevision':_0x57275e,...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}});if(!await this['_database'](()=>this['_dbAdapter']['getUnitSeed'](_0x5114e7,_0x4dfcfc['worktreeID'],_0x4dfcfc['unitID'])))throw Z('Worktree-created\x20Unit\x20seed\x20is\x20missing');let _0x5a8913=await this['_database'](()=>this['_dbAdapter']['saveUnitMergeArtifact'](_0x5114e7,{'worktreeID':_0x4dfcfc['worktreeID'],'unitID':_0x4dfcfc['unitID'],'artifact':{'readyDraftHeadRevision':_0x57275e,'unit':{'snapshot':H(_0x4d0515['snapshot']),..._0x4d0515['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x4d0515['sheetBlocks']}}}}));if(_0x5a8913['status']==='not-found')throw Y(_0x4dfcfc['worktreeID']);if(_0x5a8913['status']==='stale-merge')throw new i('WORKTREE_STALE_MERGE','Worktree\x20Unit\x20changed\x20while\x20saving\x20its\x20merge\x20artifact',{'retryable':!0x0});if(!('artifact'in _0x5a8913))throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20artifact\x20result');_0x45edd4=_0x5a8913['artifact'];}if(!_0x45edd4)throw Z('Worktree\x20Unit\x20merge\x20artifact\x20is\x20missing');V(_0x4dfcfc,_0x57275e,_0x45edd4);let _0x12a5e5=_0x45edd4['unit'];if(await this['_trunkService']['createUnitFromSnapshot']({'snapshot':_0x12a5e5['snapshot'],'sheetBlocks':[..._0x12a5e5['sheetBlocks']??[]]},_0x1ee8e8),!await this['_matchesCreatedTrunkUnit'](_0x5114e7,_0x4dfcfc,_0x12a5e5))throw new P('Trunk\x20Unit\x20'+_0x4dfcfc['unitID']+'\x20already\x20exists\x20with\x20different\x20content');return{'status':'merged','trunkRevision':0x1};}async['_matchesCreatedTrunkUnit'](_0x22bd0d,_0x50859f,_0x480a9a){let _0x2bf25a=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x22bd0d,_0x50859f['unitID']));if(!_0x2bf25a||_0x2bf25a['type']!==_0x50859f['type']||_0x2bf25a['headRevision']<0x1||!F(await this['_database'](()=>this['_trunkDbAdapter']['getSnapshot'](_0x22bd0d,_0x50859f['unitID'],{'revision':0x1})),_0x480a9a['snapshot']))return!0x1;for(let _0x55cf9f of _0x480a9a['sheetBlocks']??[])if(!F(await this['_database'](()=>this['_trunkDbAdapter']['getSheetBlock'](_0x22bd0d,_0x50859f['unitID'],_0x55cf9f['id'])),_0x55cf9f))return!0x1;return!0x0;}async['_requireWorktreeAggregate'](_0x366c68,_0x1b545c){let _0x15106f=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x366c68,_0x1b545c));if(!_0x15106f)throw Y(_0x1b545c);return R(_0x15106f,_0x1b545c),_0x15106f;}async['_transition'](_0x37b73b,_0x1740b6,_0x21c60b,_0x41d9a4){S(_0x37b73b);let _0xd7f7c1=await this['_database'](_0x41d9a4);if(_0xd7f7c1['status']==='not-found')throw Y(_0x37b73b);let _0x19cc4a=R(_0xd7f7c1['aggregate'],_0x37b73b);if(_0xd7f7c1['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x37b73b+'\x20cannot\x20transition\x20from\x20'+_0x19cc4a['status'],{'details':{'status':_0x19cc4a['status']}});return _0xd7f7c1['status']==='transitioned'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x1740b6['userID'],'customData':_0x1740b6['customData'],'request':_0x21c60b,'worktree':_0x19cc4a,'previousStatus':_0xd7f7c1['previousStatus'],'status':_0x19cc4a['status'],'occurredAt':Date['now']()}),{'worktree':_0x19cc4a};}async['_requireTrunkUnit'](_0x4450a1,_0x4ff279){let _0x1d92d1=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x4450a1,_0x4ff279));if(!_0x1d92d1)throw new n['CollabError']('UNIT_NOT_FOUND','Trunk\x20Unit\x20'+_0x4ff279+'\x20does\x20not\x20exist');if(_0x1d92d1['unitID']!==_0x4ff279||!x['has'](_0x1d92d1['type'])||!Number['isSafeInteger'](_0x1d92d1['headRevision'])||_0x1d92d1['headRevision']<0x1)throw Z('Trunk\x20Database\x20returned\x20invalid\x20Unit\x20metadata');return _0x1d92d1;}async['_database'](_0x44aa66){try{return await _0x44aa66();}catch(_0x2c18f6){throw _0x2c18f6 instanceof n['CollabError']||_0x2c18f6 instanceof i?_0x2c18f6:Z('Database\x20Adapter\x20failed',_0x2c18f6);}}async['_call'](_0x5d6b37,_0x4ae699){try{return this['_metrics']['increment']('collaboration.worktree.service.call',{'operation':_0x5d6b37}),await this['_lifecycle']['run'](_0x4ae699);}catch(_0x160897){throw _0x160897 instanceof n['CollabError']||_0x160897 instanceof i?_0x160897:(this['_logger']['error']('Worktree\x20Service\x20operation\x20failed',{'operation':_0x5d6b37,'error':$(_0x160897)}),new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20failed',{'retryable':!0x0,'cause':_0x160897}));}}['_assertRunning'](){if(this['_lifecycle']['state']!=='running')throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_lifecycle']['state'],{'retryable':!0x0});}};function S(_0x47656e){if(!_0x47656e)throw X('worktreeID\x20is\x20required');}function C(_0x503136){return T(_0x503136),{'userID':_0x503136['userID'],'customData':_0x503136['customData']??Object['create'](null)};}function w(_0x3a07a7){if(T(_0x3a07a7),typeof _0x3a07a7['memberID']!='string'||_0x3a07a7['memberID']['length']===0x0)throw X('memberID\x20must\x20be\x20a\x20non-empty\x20string');return{'userID':_0x3a07a7['userID'],'memberID':_0x3a07a7['memberID'],'customData':_0x3a07a7['customData']??Object['create'](null)};}function T(_0x5de802){if(!_0x5de802||typeof _0x5de802!='object')throw X('context\x20must\x20be\x20an\x20object');if(typeof _0x5de802['userID']!='string'||_0x5de802['userID']['length']===0x0)throw X('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x5de802['customData']!==void 0x0&&(_0x5de802['customData']===null||typeof _0x5de802['customData']!='object'||Array['isArray'](_0x5de802['customData'])))throw X('customData\x20must\x20be\x20an\x20object');}function E(_0x140528,_0x48b450){let _0x5e572d=_0x140528;if(_0x5e572d['worktreeID']!==void 0x0){if(_0x5e572d['worktreeID']!==_0x48b450)throw new n['CollabError']('INTERNAL_ERROR','Draft\x20Request\x20is\x20bound\x20to\x20a\x20different\x20Worktree',{'retryable':!0x0});return _0x5e572d;}return Object['defineProperty'](_0x140528,'worktreeID',{'value':_0x48b450,'enumerable':!0x0,'configurable':!0x1,'writable':!0x1}),_0x140528;}function D(_0x727a0a){if(_0x727a0a['some'](_0x19bbfb=>!_0x19bbfb))throw X('Initial\x20Unit\x20IDs\x20cannot\x20be\x20empty');if(new Set(_0x727a0a)['size']!==_0x727a0a['length'])throw X('Initial\x20Unit\x20IDs\x20must\x20be\x20unique');}function O(_0x53eee6){let _0x22850d=_0x53eee6['readyDraftHeadRevision'],_0x5c8b8f=_0x53eee6['source']==='trunk'?B(_0x53eee6):0x1;if(_0x22850d===void 0x0||!Number['isSafeInteger'](_0x22850d)||_0x22850d<_0x5c8b8f)throw Z('Merging\x20Worktree\x20Unit\x20has\x20no\x20valid\x20frozen\x20draft\x20head');return _0x22850d;}function k(_0x2f14b2,_0x3d0559,_0x52da57){let _0x415713=B(_0x2f14b2);if(_0x52da57===null)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20no\x20longer\x20readable');let _0x480c5b=_0x415713+0x1,_0x27e6bd=[];for(let _0x1bd014 of _0x52da57){if(_0x1bd014['unitID']!==_0x2f14b2['unitID']||_0x1bd014['type']!==_0x2f14b2['type']||_0x1bd014['baseRev']!==_0x480c5b-0x1||_0x1bd014['revision']!==_0x480c5b)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20not\x20contiguous');_0x27e6bd['push'](...structuredClone(_0x1bd014['mutations'])),_0x480c5b+=0x1;}if(_0x480c5b-0x1!==_0x3d0559)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20incomplete');return _0x27e6bd;}function A(_0x2bd7b7,_0x210d31,_0x103f1,_0x422c1f,_0x33d558){let _0x30f47b=B(_0x210d31);return{'unitID':_0x210d31['unitID'],'type':_0x210d31['type'],'baseRev':_0x30f47b,'revision':_0x30f47b+0x1,'userID':_0x33d558['userID'],'memberID':_0x33d558['memberID'],'sid':_0x2bd7b7,'reqId':_0x103f1-_0x30f47b,'mutations':_0x422c1f};}function j(_0x304cff){let _0x363d91=M(_0x304cff);return _0x304cff instanceof N||_0x304cff instanceof P||_0x304cff instanceof n['CollabError']&&_0x304cff['code']==='OT_CONFLICT'?{'status':'conflict','error':_0x363d91}:{'status':'failed','error':_0x363d91};}function M(_0x37b558){return _0x37b558 instanceof N?{'code':'WORKTREE_DRAFT_HISTORY_INVALID','message':_0x37b558['message'],'retryable':!0x0}:_0x37b558 instanceof P?{'code':'WORKTREE_CREATE_CONFLICT','message':_0x37b558['message'],'retryable':!0x1}:_0x37b558 instanceof n['CollabError']||_0x37b558 instanceof i?{'code':_0x37b558['code'],'message':_0x37b558['message'],'retryable':_0x37b558['retryable']}:{'code':'INTERNAL_ERROR','message':_0x37b558 instanceof Error?_0x37b558['message']:'Merge\x20failed','retryable':!0x0};}var N=class extends Error{constructor(_0x4ee316){super(_0x4ee316),this['name']='FrozenDraftConflict';}},P=class extends Error{constructor(_0x37cbe4){super(_0x37cbe4),this['name']='WorktreeCreateConflict';}};function F(_0x434d42,_0x2a6f13){return(0x0,t['isDeepStrictEqual'])(I(_0x434d42),I(_0x2a6f13));}function I(_0x335f27){if(_0x335f27!==void 0x0)return JSON['parse'](JSON['stringify'](_0x335f27,(_0xd8f2ab,_0x40f620)=>_0x40f620 instanceof Uint8Array?{'__univerCollaborationBinary':[..._0x40f620]}:_0x40f620));}function L(_0x22e586,_0x10ba9a){let _0x110f69=new Set(_0x22e586['units']['map'](({unitID:_0xbce0ca})=>_0xbce0ca));if(_0x110f69['size']!==_0x10ba9a['length']||_0x10ba9a['some'](_0x2ba80e=>!_0x110f69['has'](_0x2ba80e)))throw Z('Database\x20returned\x20incomplete\x20initial\x20Worktree\x20Units');}function R(_0x2a293c,_0x3f8400){let {worktree:_0x2574d0,units:_0x7e99b4}=_0x2a293c;if(_0x2574d0['worktreeID']!==_0x3f8400||!_0x2574d0['sid']||!W(_0x2574d0['status']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20metadata');let _0x1a9173=new Set(),_0x3d44c0=_0x7e99b4['map'](_0x5831ba=>{let _0x37ad87=_0x5831ba['source']==='trunk'&&Number['isSafeInteger'](_0x5831ba['baselineTrunkRevision'])&&_0x5831ba['baselineTrunkRevision']>=0x1&&_0x5831ba['draftHeadRevision']>=_0x5831ba['baselineTrunkRevision']||_0x5831ba['source']==='worktree'&&_0x5831ba['baselineTrunkRevision']===void 0x0&&_0x5831ba['draftHeadRevision']>=0x1;if(_0x5831ba['worktreeID']!==_0x3f8400||!_0x5831ba['unitID']||_0x1a9173['has'](_0x5831ba['unitID'])||!x['has'](_0x5831ba['type'])||!_0x37ad87||!Number['isSafeInteger'](_0x5831ba['draftHeadRevision'])||_0x5831ba['readyDraftHeadRevision']!==void 0x0&&_0x5831ba['readyDraftHeadRevision']!==_0x5831ba['draftHeadRevision']||_0x5831ba['mergeResult']!==void 0x0&&_0x5831ba['readyDraftHeadRevision']===void 0x0||_0x5831ba['removed']!==void 0x0&&typeof _0x5831ba['removed']!='boolean'||!G(_0x5831ba['mergeResult']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20Unit\x20metadata');return _0x1a9173['add'](_0x5831ba['unitID']),z(_0x5831ba);});if(_0x2574d0['status']==='merged'&&_0x3d44c0['some'](({mergeResult:_0x351abd})=>!J(_0x351abd)))throw Z('Merged\x20Worktree\x20contains\x20an\x20incomplete\x20Unit');return{'worktreeID':_0x2574d0['worktreeID'],'status':_0x2574d0['status'],'units':_0x3d44c0};}function z(_0x418b0f){return{'unitID':_0x418b0f['unitID'],'type':_0x418b0f['type'],'source':_0x418b0f['source'],..._0x418b0f['baselineTrunkRevision']===void 0x0?{}:{'baselineTrunkRevision':_0x418b0f['baselineTrunkRevision']},'draftHeadRevision':_0x418b0f['draftHeadRevision'],..._0x418b0f['readyDraftHeadRevision']===void 0x0?{}:{'readyDraftHeadRevision':_0x418b0f['readyDraftHeadRevision']},..._0x418b0f['removed']===void 0x0?{}:{'removed':_0x418b0f['removed']},..._0x418b0f['mergeResult']===void 0x0?{}:{'mergeResult':K(_0x418b0f['mergeResult'])}};}function B(_0x326ead){if(_0x326ead['source']!=='trunk'||!Number['isSafeInteger'](_0x326ead['baselineTrunkRevision'])||_0x326ead['baselineTrunkRevision']<0x1)throw Z('Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x326ead['baselineTrunkRevision'];}function V(_0x31b3cc,_0x456add,_0x45280b){if(_0x45280b['readyDraftHeadRevision']!==_0x456add||_0x45280b['unit']['snapshot']['unitID']!==_0x31b3cc['unitID']||_0x45280b['unit']['snapshot']['type']!==_0x31b3cc['type']||_0x45280b['unit']['snapshot']['rev']!==0x1)throw Z('Database\x20returned\x20an\x20invalid\x20Worktree\x20Unit\x20merge\x20artifact');}function H(_0x57c67c){let _0xad1027={..._0x57c67c,'rev':0x1};return _0x57c67c['workbook']?{..._0xad1027,'workbook':{..._0x57c67c['workbook'],'rev':0x1}}:_0x57c67c['doc']?{..._0xad1027,'doc':{..._0x57c67c['doc'],'rev':0x1}}:_0x57c67c['slide']?{..._0xad1027,'slide':{..._0x57c67c['slide'],'rev':0x1}}:_0x57c67c['board']?{..._0xad1027,'board':{..._0x57c67c['board'],'rev':0x1}}:_0xad1027;}function U(_0x7721fa,_0x39a4bd){let _0x73e916=_0x7721fa['units']['find'](_0x3cf752=>_0x3cf752['unitID']===_0x39a4bd);if(!_0x73e916)throw Z('Database\x20omitted\x20the\x20added\x20Worktree\x20Unit');return _0x73e916;}function W(_0x5e2d0d){return _0x5e2d0d==='draft'||_0x5e2d0d==='ready'||_0x5e2d0d==='merging'||_0x5e2d0d==='merged'||_0x5e2d0d==='discarded';}function G(_0x50dd96){return _0x50dd96===void 0x0?!0x0:!_0x50dd96||typeof _0x50dd96!='object'||!('status'in _0x50dd96)?!0x1:_0x50dd96['status']==='unchanged'||_0x50dd96['status']==='removed'?!0x0:_0x50dd96['status']==='merged'&&'trunkRevision'in _0x50dd96?typeof _0x50dd96['trunkRevision']=='number'&&Number['isSafeInteger'](_0x50dd96['trunkRevision'])&&_0x50dd96['trunkRevision']>=0x1:_0x50dd96['status']!=='conflict'&&_0x50dd96['status']!=='failed'||!('error'in _0x50dd96)||!_0x50dd96['error']||typeof _0x50dd96['error']!='object'||!('code'in _0x50dd96['error'])||!('message'in _0x50dd96['error'])||!('retryable'in _0x50dd96['error'])?!0x1:typeof _0x50dd96['error']['code']=='string'&&!!_0x50dd96['error']['code']&&typeof _0x50dd96['error']['message']=='string'&&!!_0x50dd96['error']['message']&&typeof _0x50dd96['error']['retryable']=='boolean';}function K(_0x28dc0c){return _0x28dc0c['status']==='merged'?{'status':'merged','trunkRevision':_0x28dc0c['trunkRevision']}:_0x28dc0c['status']==='unchanged'||_0x28dc0c['status']==='removed'?{'status':_0x28dc0c['status']}:{'status':_0x28dc0c['status'],'error':{'code':_0x28dc0c['error']['code'],'message':_0x28dc0c['error']['message'],'retryable':_0x28dc0c['error']['retryable']}};}function q(_0x3e2938){if(_0x3e2938?.['status']==='merged')return{'status':'merged','trunkRevision':_0x3e2938['trunkRevision']};if(_0x3e2938?.['status']==='unchanged')return{'status':'unchanged'};throw Z('Worktree\x20Unit\x20merge\x20result\x20is\x20not\x20terminal');}function J(_0x5f5cf9){return _0x5f5cf9?.['status']==='merged'||_0x5f5cf9?.['status']==='unchanged'||_0x5f5cf9?.['status']==='removed';}function Y(_0x4773a6){return new i('WORKTREE_NOT_FOUND','Worktree\x20'+_0x4773a6+'\x20does\x20not\x20exist');}function X(_0x337853){return new n['CollabError']('INVALID_REQUEST',_0x337853);}function Z(_0x923a9c,_0x306413){return new n['CollabError']('ADAPTER_FAILURE',_0x923a9c,{'retryable':!0x0,..._0x306413===void 0x0?{}:{'cause':_0x306413}});}function re(_0x1a24de){return _0x1a24de?{'debug':(..._0x11c633)=>Q(()=>_0x1a24de['debug'](..._0x11c633)),'info':(..._0x1ee15f)=>Q(()=>_0x1a24de['info'](..._0x1ee15f)),'warn':(..._0x875a80)=>Q(()=>_0x1a24de['warn'](..._0x875a80)),'error':(..._0x2d8cf4)=>Q(()=>_0x1a24de['error'](..._0x2d8cf4))}:{'debug':()=>void 0x0,'info':()=>void 0x0,'warn':()=>void 0x0,'error':()=>void 0x0};}function ie(_0x4835ad){return _0x4835ad?{'increment':(..._0x4392fb)=>Q(()=>_0x4835ad['increment'](..._0x4392fb)),'observe':(..._0xe188ad)=>Q(()=>_0x4835ad['observe'](..._0xe188ad))}:{'increment':()=>void 0x0,'observe':()=>void 0x0};}function Q(_0x18ff61){try{_0x18ff61();}catch{}}function $(_0x1e522d){return _0x1e522d instanceof Error?_0x1e522d['message']:String(_0x1e522d);}exports['UniverCollabWorktreeService']=ne,exports['WorktreeError']=i;
1
+ Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('node:crypto'),t=require('node:util'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs/protocol'),i=require('@univerjs/core'),a=require('@univerjs-pro/collaboration');var o=class extends Error{['code'];['retryable'];['details'];constructor(_0x532e5c,_0x338738,_0x24885b={}){super(_0x338738,{'cause':_0x24885b['cause']}),this['name']='WorktreeError',this['code']=_0x532e5c,this['retryable']=_0x24885b['retryable']??!0x1,_0x24885b['details']!==void 0x0&&(this['details']=_0x24885b['details']);}},s=class{['_worktreeID'];['_trunk'];['_worktree'];constructor(_0x55ffdd,_0x5a6959,_0x1c9d32){this['_worktreeID']=_0x55ffdd,this['_trunk']=_0x5a6959,this['_worktree']=_0x1c9d32;}async['getUnit'](_0x3b7e12,_0x3514eb){let _0x5f2fd1=await this['_worktree']['getWorktreeUnit'](_0x3b7e12,this['_worktreeID'],_0x3514eb);return _0x5f2fd1?{'unitID':_0x5f2fd1['unitID'],'type':_0x5f2fd1['type'],'headRevision':_0x5f2fd1['draftHeadRevision'],'creatorID':_0x5f2fd1['creatorID'],'createdAt':_0x5f2fd1['createdAt']}:null;}async['getSnapshot'](_0x35eaee,_0x55b55d,_0x3a1af4){let _0x312e0e=await this['_getUnitRecord'](_0x35eaee,_0x55b55d);if(!_0x312e0e)return null;let _0x2a63e3=_0x3a1af4?.['revision'],_0x59c6f0=_0x2a63e3===void 0x0?_0x312e0e['draftHeadRevision']:Math['min'](_0x2a63e3,_0x312e0e['draftHeadRevision']);if(_0x312e0e['source']==='worktree')return _0x59c6f0<0x1?null:(await this['_worktree']['getUnitSeed'](_0x35eaee,this['_worktreeID'],_0x55b55d))?.['snapshot']??null;let _0x53e998=c(_0x312e0e);return this['_trunk']['getSnapshot'](_0x35eaee,_0x55b55d,{'revision':Math['min'](_0x59c6f0,_0x53e998)});}async['getSnapshotInfo'](_0x5bc659,_0x584f4c,_0x160e22){let _0x6c123b=await this['_getUnitRecord'](_0x5bc659,_0x584f4c);if(!_0x6c123b)return null;let _0x5edd37=_0x160e22?.['revision'],_0x3cef37=_0x5edd37===void 0x0?_0x6c123b['draftHeadRevision']:Math['min'](_0x5edd37,_0x6c123b['draftHeadRevision']);return _0x6c123b['source']==='worktree'?_0x3cef37>=0x1?{'unitID':_0x6c123b['unitID'],'type':_0x6c123b['type'],'rev':0x1}:null:this['_trunk']['getSnapshotInfo'](_0x5bc659,_0x584f4c,{'revision':Math['min'](_0x3cef37,c(_0x6c123b))});}async['getChangesets'](_0x334ee6,_0x2be529,_0x56f9a6){let _0x43aa51=await this['_getUnitRecord'](_0x334ee6,_0x2be529);if(!_0x43aa51)return null;if(_0x43aa51['source']==='worktree')return this['_worktree']['getDraftChangesets'](_0x334ee6,this['_worktreeID'],_0x2be529,_0x56f9a6);let _0x3909c2=c(_0x43aa51),_0x348208=Math['min'](_0x56f9a6['to']??_0x3909c2,_0x3909c2),_0x1c713f=_0x56f9a6['from']<_0x348208?await this['_trunk']['getChangesets'](_0x334ee6,_0x2be529,{'from':_0x56f9a6['from'],'to':_0x348208}):[];if(_0x1c713f===null)return null;let _0x23a8b8=Math['max'](_0x56f9a6['from'],_0x3909c2),_0x13feb5=_0x56f9a6['to']===void 0x0||_0x23a8b8<_0x56f9a6['to']?await this['_worktree']['getDraftChangesets'](_0x334ee6,this['_worktreeID'],_0x2be529,{..._0x56f9a6,'from':_0x23a8b8}):[];return _0x13feb5===null?null:[..._0x1c713f,..._0x13feb5];}async['createUnit'](_0x1835f0,_0xe6161c){let _0x3a0d7e=await this['_worktree']['createUnit'](_0x1835f0,{'unit':{'worktreeID':this['_worktreeID'],'unitID':_0xe6161c['record']['unitID'],'type':_0xe6161c['record']['type'],'source':'worktree','draftHeadRevision':0x1,'creatorID':_0xe6161c['record']['creatorID'],'createdAt':_0xe6161c['record']['createdAt']},'seed':{'snapshot':_0xe6161c['snapshot'],..._0xe6161c['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0xe6161c['sheetBlocks']}}});switch(_0x3a0d7e['status']){case'created':return{'status':'created','record':_0xe6161c['record']};case'already-created':{let _0x1e1c44=_0x3a0d7e['aggregate']['units']['find'](_0x3c725b=>_0x3c725b['unitID']===_0xe6161c['record']['unitID']);return{'status':'already-exists','record':{'unitID':_0x1e1c44['unitID'],'type':_0x1e1c44['type'],'headRevision':_0x1e1c44['draftHeadRevision'],'creatorID':_0x1e1c44['creatorID'],'createdAt':_0x1e1c44['createdAt']}};}case'not-found':throw new n['CollabError']('UNIT_NOT_FOUND','Worktree\x20'+this['_worktreeID']+'\x20does\x20not\x20exist');case'unit-exists':throw new n['CollabError']('INVALID_REQUEST','Unit\x20'+_0xe6161c['record']['unitID']+'\x20already\x20exists\x20in\x20the\x20Worktree');case'status-mismatch':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20'+this['_worktreeID']+'\x20is\x20not\x20editable');}}['deleteUnits'](_0x3bbe12,_0x810553){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20draft'));}['recoverUnits'](_0x8d6fb7,_0x3ee8d4){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20draft'));}async['commitChangeset'](_0x329d91,_0x5b3667){let _0x1948a4=await this['_worktree']['commitDraftChangeset'](_0x329d91,{'worktreeID':this['_worktreeID'],'changeset':_0x5b3667['changeset']});switch(_0x1948a4['status']){case'committed':case'revision-mismatch':return _0x1948a4;case'not-found':throw new n['CollabError']('UNIT_NOT_FOUND','Worktree\x20or\x20Worktree\x20Unit\x20does\x20not\x20exist');case'not-editable':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20is\x20'+_0x1948a4['worktreeStatus']);case'unit-frozen':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20Unit\x20has\x20already\x20been\x20merged');}}['saveSnapshot'](_0x2df58a,_0xb04e8e){return Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20draft\x20snapshots\x20are\x20disabled'));}async['getSheetBlock'](_0x28ddc1,_0x558874,_0x577b95){let _0x32bd66=await this['_getUnitRecord'](_0x28ddc1,_0x558874);return _0x32bd66?_0x32bd66['source']==='worktree'?(await this['_worktree']['getUnitSeed'](_0x28ddc1,this['_worktreeID'],_0x558874))?.['sheetBlocks']?.['find'](_0x16e186=>_0x16e186['id']===_0x577b95)??null:this['_trunk']['getSheetBlock'](_0x28ddc1,_0x558874,_0x577b95):null;}['_getUnitRecord'](_0x22b700,_0x37353a){return this['_worktree']['getWorktreeUnit'](_0x22b700,this['_worktreeID'],_0x37353a);}};function c(_0x39d64c){if(_0x39d64c['source']!=='trunk'||!Number['isSafeInteger'](_0x39d64c['baselineTrunkRevision'])||_0x39d64c['baselineTrunkRevision']<0x1)throw new n['CollabError']('ADAPTER_FAILURE','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x39d64c['baselineTrunkRevision'];}async function l(_0x412ac2){let _0x49b0a7=(0x0,n['createUnitRuntime'])({..._0x412ac2['runtime'],'reader':_0x412ac2['dbAdapter']});try{let _0x14d7d6=await _0x49b0a7['ensureUnit'](_0x412ac2['context'],_0x412ac2['unitID'],_0x412ac2['type']);try{if(_0x14d7d6['revision']!==_0x412ac2['expectedRevision'])throw u('Unit\x20Runtime\x20did\x20not\x20reach\x20the\x20frozen\x20Worktree\x20revision');let _0x55c427=await _0x49b0a7['createSnapshot'](_0x14d7d6);if(_0x55c427['snapshot']['unitID']!==_0x412ac2['unitID']||_0x55c427['snapshot']['type']!==_0x412ac2['type']||_0x55c427['snapshot']['rev']!==_0x412ac2['expectedRevision'])throw u('Unit\x20Runtime\x20returned\x20an\x20invalid\x20Worktree\x20snapshot');return _0x55c427;}finally{_0x49b0a7['releaseUnit'](_0x14d7d6);}}finally{await _0x49b0a7['dispose']();}}function u(_0xee63aa){return new n['CollabError']('ADAPTER_FAILURE',_0xee63aa,{'retryable':!0x0});}var d=class{['_univer'];['_transformService'];constructor(){this['_univer']=new i['Univer']({'locale':i['LocaleType']['EN_US'],'logLevel':i['LogLevel']['SILENT']}),this['_univer']['registerPlugin'](a['UniverCollaborationPlugin']),this['_transformService']=this['_univer']['__getInjector']()['get'](a['ITransformService']);}['transform'](_0x43b970,_0x4ad566){let _0x52897d;try{_0x52897d=(0x0,a['parseProtocolChangeset'])(structuredClone(_0x43b970));}catch(_0x59ebb2){throw new n['CollabError']('INVALID_REQUEST','Changeset\x20is\x20malformed',{'cause':_0x59ebb2});}let _0x23c28f;try{_0x23c28f=_0x4ad566['map'](_0x475837=>(0x0,a['parseProtocolChangeset'])(structuredClone(_0x475837)));}catch(_0x203fb7){throw new n['CollabError']('ADAPTER_FAILURE','Stored\x20changeset\x20cannot\x20be\x20parsed',{'retryable':!0x0,'cause':_0x203fb7});}if(_0x23c28f['length']>0x0){let _0x37467c=this['_transformService']['transformChangesets'](_0x23c28f,[_0x52897d],!0x1);if((0x0,a['isTransformChangesetsFailure'])(_0x37467c)||!_0x37467c['c2Prime'][0x0])throw new n['CollabError']('OT_CONFLICT','Changeset\x20cannot\x20be\x20transformed',{'cause':(0x0,a['isTransformChangesetsFailure'])(_0x37467c)?_0x37467c['error']:void 0x0});_0x52897d=_0x37467c['c2Prime'][0x0];}try{return(0x0,a['parseChangesetToProtocol'])(_0x52897d);}catch(_0x24a5f5){throw new n['CollabError']('INTERNAL_ERROR','Transformed\x20changeset\x20cannot\x20be\x20serialized',{'retryable':!0x0,'cause':_0x24a5f5});}}['dispose'](){this['_univer']['dispose']();}};async function f(_0x3a2108){let _0x148cbf=(0x0,n['createUnitRuntime'])({..._0x3a2108['runtime'],'reader':_0x3a2108['dbAdapter']}),_0x4a80a0=new d();try{let _0x4654a7=p(_0x4a80a0,_0x3a2108),_0x4fcd26=await _0x148cbf['ensureUnit'](_0x3a2108['context'],_0x3a2108['unitID'],_0x3a2108['type']);try{if(_0x4fcd26['revision']!==_0x3a2108['trunkHeadRevision'])throw new n['CollabError']('REVISION_MISMATCH','Trunk\x20changed\x20while\x20materializing\x20Worktree\x20merge\x20preview',{'retryable':!0x0});if(await _0x148cbf['applyChangeset'](_0x3a2108['context'],_0x4fcd26,_0x4654a7),_0x4fcd26['revision']!==_0x4654a7['revision'])throw new n['CollabError']('INTERNAL_ERROR','Preview\x20Runtime\x20did\x20not\x20reach\x20the\x20merge\x20candidate\x20revision',{'retryable':!0x0});return await _0x148cbf['createSnapshot'](_0x4fcd26);}finally{_0x148cbf['releaseUnit'](_0x4fcd26);}}finally{await _0x148cbf['dispose'](),_0x4a80a0['dispose']();}}function p(_0xcb0b73,_0x550dac){return{..._0xcb0b73['transform'](_0x550dac['original'],_0x550dac['trunkHistory']),'unitID':_0x550dac['original']['unitID'],'type':_0x550dac['original']['type'],'baseRev':_0x550dac['trunkHeadRevision'],'revision':_0x550dac['trunkHeadRevision']+0x1,'sid':_0x550dac['original']['sid'],'reqId':_0x550dac['original']['reqId']};}var m=class{['_middlewares']=new Map();['use'](_0x26e757,_0x24a238){let _0x2ecc4e=this['_middlewares']['get'](_0x26e757)??[],_0xad0421=_0x24a238;_0x2ecc4e['push'](_0xad0421),this['_middlewares']['set'](_0x26e757,_0x2ecc4e);let _0xd47c23=!0x1;return{'dispose':()=>{if(_0xd47c23)return;_0xd47c23=!0x0;let _0x459a8f=_0x2ecc4e['indexOf'](_0xad0421);_0x459a8f>=0x0&&_0x2ecc4e['splice'](_0x459a8f,0x1);}};}async['run'](_0x48be8f,_0x54baba,_0x3b19b4){let _0x3e72b0=[...this['_middlewares']['get'](_0x48be8f)??[]],_0x479f66=async _0x2ad1a4=>{let _0x70132f=_0x3e72b0[_0x2ad1a4];if(!_0x70132f){await _0x3b19b4();return;}let _0x565ae0=!0x1,_0x48b791,_0x28ee79=()=>{if(_0x565ae0)throw Error('Middleware\x20for\x20action\x20'+String(_0x48be8f)+'\x20called\x20next()\x20more\x20than\x20once');return _0x565ae0=!0x0,_0x48b791=_0x479f66(_0x2ad1a4+0x1),_0x48b791;};try{await _0x70132f(_0x54baba,_0x28ee79);}catch(_0x1ecf8d){if(_0x48b791)try{await _0x48b791;}catch{}throw _0x1ecf8d;}if(!_0x565ae0)throw Error('Middleware\x20for\x20action\x20'+String(_0x48be8f)+'\x20completed\x20without\x20calling\x20next()');await _0x48b791;};await _0x479f66(0x0);}['clear'](){this['_middlewares']['clear']();}};function h(_0x171519){return{'worktreeID':_0x171519['worktreeID'],'units':_0x171519['units']??[]};}function g(_0x5f3669){return{'worktreeID':_0x5f3669['worktreeID']};}function _(_0x18fed6){return{'worktreeID':_0x18fed6['worktreeID'],'unitID':_0x18fed6['unitID']};}function ee(_0x5d10ef){return{'worktreeID':_0x5d10ef['worktreeID']};}function te(_0x2fe07f){return{'worktreeID':_0x2fe07f['worktreeID']};}function ne(_0x37d626){return{'worktreeID':_0x37d626['worktreeID']};}function v(_0x1a4480){return{'worktreeID':_0x1a4480['worktreeID']};}function y(_0x5c1768){return{'worktreeID':_0x5c1768['worktreeID'],'unitID':_0x5c1768['unitID']};}function b(_0x4893ef){return{'worktreeID':_0x4893ef['worktreeID'],'unitID':_0x4893ef['unitID'],'removed':_0x4893ef['removed']};}var re=class{['_onListenerError'];['_listeners']=new Map();constructor(_0x5175ab){this['_onListenerError']=_0x5175ab;}['on'](_0x44b289,_0xd87811){let _0x20cca7=this['_listeners']['get'](_0x44b289)??[],_0x31abee=_0xd87811;_0x20cca7['push'](_0x31abee),this['_listeners']['set'](_0x44b289,_0x20cca7);let _0x303739=!0x1;return{'dispose':()=>{if(_0x303739)return;_0x303739=!0x0;let _0x56dd39=_0x20cca7['indexOf'](_0x31abee);_0x56dd39>=0x0&&_0x20cca7['splice'](_0x56dd39,0x1);}};}async['emit'](_0x4fef80,_0x1c0a05){for(let _0x5c9317 of[...this['_listeners']['get'](_0x4fef80)??[]])try{await _0x5c9317(_0x1c0a05);}catch(_0x168069){try{this['_onListenerError'](_0x168069);}catch{}}}['clear'](){this['_listeners']['clear']();}},ie=class{['_state']='running';['_activeCalls']=0x0;['_resolveDrain'];['_disposePromise'];get['state'](){return this['_state'];}['run'](_0x3f9162){return this['_state']==='running'?(this['_activeCalls']+=0x1,Promise['resolve']()['then'](_0x3f9162)['finally'](()=>{--this['_activeCalls'],this['_activeCalls']===0x0&&(this['_resolveDrain']?.(),this['_resolveDrain']=void 0x0);})):Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_state'],{'retryable':!0x0}));}['dispose'](_0xf171a7){return this['_disposePromise']?this['_disposePromise']:(this['_state']='disposing',this['_disposePromise']=this['_finishDispose'](_0xf171a7),this['_disposePromise']);}async['_finishDispose'](_0x3fb1bb){this['_activeCalls']>0x0&&await new Promise(_0x154b6e=>{this['_resolveDrain']=_0x154b6e;});try{await _0x3fb1bb();}finally{this['_state']='disposed';}}},x=new Set([r['UniverType']['UNIVER_SHEET'],r['UniverType']['UNIVER_DOC'],r['UniverType']['UNIVER_SLIDE'],r['UniverType']['UNIVER_BOARD'],r['UniverType']['UNIVER_BASE']]),ae=class{['_trunkService'];['_trunkDbAdapter'];['_dbAdapter'];['_middleware']=new m();['_events'];['_lifecycle']=new ie();['_logger'];['_metrics'];['_runtimeOptions'];['_enableUnitPermissionAnalysis'];['_maxRevisionRetries'];['_draftServices']=new Map();constructor(_0x26490c){if(!_0x26490c?.['trunk']?.['service']||!_0x26490c['trunk']['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20trunk\x20service\x20and\x20dbAdapter');if(!_0x26490c['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20a\x20Worktree\x20dbAdapter');if(this['_trunkService']=_0x26490c['trunk']['service'],this['_trunkDbAdapter']=_0x26490c['trunk']['dbAdapter'],this['_dbAdapter']=_0x26490c['dbAdapter'],this['_runtimeOptions']=_0x26490c['runtime'],this['_enableUnitPermissionAnalysis']=_0x26490c['enableUnitPermissionAnalysis']??!0x1,this['_maxRevisionRetries']=_0x26490c['submitChangeset']?.['maxRevisionRetries'],this['_maxRevisionRetries']!==void 0x0&&(!Number['isSafeInteger'](this['_maxRevisionRetries'])||this['_maxRevisionRetries']<0x0))throw TypeError('submitChangeset.maxRevisionRetries\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this['_logger']=oe(_0x26490c['logger']),this['_metrics']=se(_0x26490c['metrics']),this['_events']=new re(_0x11e8fe=>{this['_logger']['error']('Worktree\x20Service\x20event\x20listener\x20failed',{'error':$(_0x11e8fe)});});}['use'](_0x5e95f8,_0x4074c8){return this['_assertRunning'](),this['_middleware']['use'](_0x5e95f8,_0x4074c8);}['on'](_0x309e09,_0x4add30){return this['_assertRunning'](),this['_events']['on'](_0x309e09,_0x4add30);}['createWorktree'](_0x53c284,_0x1fd561){return this['_call']('createWorktree',async()=>{let _0x5a1f4c=C(_0x1fd561),_0x40b969=h(_0x53c284),_0x2c9411={..._0x5a1f4c,'request':_0x40b969},_0x3807cb;return await this['_middleware']['run']('createWorktree',_0x2c9411,async()=>{S(_0x53c284['worktreeID']),D(_0x40b969['units']);let _0x35effc=await Promise['all'](_0x40b969['units']['map'](_0x47cd59=>this['_requireTrunkUnit'](_0x2c9411,_0x47cd59))),_0x4e2f80=await this['_database'](()=>this['_dbAdapter']['createWorktree'](_0x2c9411,{'record':{'worktreeID':_0x53c284['worktreeID'],'sid':(0x0,e['randomUUID'])(),'status':'draft'},'units':_0x35effc['map'](_0x446724=>({'worktreeID':_0x53c284['worktreeID'],'unitID':_0x446724['unitID'],'type':_0x446724['type'],'source':'trunk','baselineTrunkRevision':_0x446724['headRevision'],'draftHeadRevision':_0x446724['headRevision'],'creatorID':_0x446724['creatorID'],'createdAt':_0x446724['createdAt']}))})),_0x495b7b=R(_0x4e2f80['aggregate'],_0x53c284['worktreeID']);if(_0x4e2f80['status']==='already-exists')throw new o('WORKTREE_ALREADY_EXISTS','Worktree\x20'+_0x53c284['worktreeID']+'\x20already\x20exists');L(_0x495b7b,_0x40b969['units']),_0x3807cb={'worktree':_0x495b7b},await this['_events']['emit']('worktreeCreated',{'userID':_0x5a1f4c['userID'],'customData':_0x5a1f4c['customData'],'request':_0x40b969,'worktree':_0x495b7b,'occurredAt':Date['now']()});}),_0x3807cb;});}['getWorktree'](_0x427a84,_0xc249cd){return this['_call']('getWorktree',async()=>{let _0x4d4b81=C(_0xc249cd),_0x3f0a8e=g(_0x427a84),_0x430554={..._0x4d4b81,'request':_0x3f0a8e},_0x42388a;return await this['_middleware']['run']('readWorktreeData',_0x430554,async()=>{S(_0x427a84['worktreeID']);let _0xbb2bbd=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x430554,_0x427a84['worktreeID']));if(!_0xbb2bbd)throw Y(_0x427a84['worktreeID']);_0x42388a={'worktree':R(_0xbb2bbd,_0x427a84['worktreeID'])};}),_0x42388a;});}['addUnit'](_0x3dcd28,_0x575237){return this['_call']('addUnit',async()=>{let _0x2ea40f=C(_0x575237),_0xb47354=_(_0x3dcd28),_0x3984aa={..._0x2ea40f,'request':_0xb47354},_0x440025;return await this['_middleware']['run']('addWorktreeUnit',_0x3984aa,async()=>{if(S(_0x3dcd28['worktreeID']),!_0x3dcd28['unitID'])throw X('unitID\x20is\x20required');let _0x318d93=await this['_requireTrunkUnit'](_0x3984aa,_0x3dcd28['unitID']),_0x2c85d0=await this['_database'](()=>this['_dbAdapter']['addUnit'](_0x3984aa,{'unit':{'worktreeID':_0x3dcd28['worktreeID'],'unitID':_0x318d93['unitID'],'type':_0x318d93['type'],'source':'trunk','baselineTrunkRevision':_0x318d93['headRevision'],'draftHeadRevision':_0x318d93['headRevision'],'creatorID':_0x318d93['creatorID'],'createdAt':_0x318d93['createdAt']}}));if(_0x2c85d0['status']==='not-found')throw Y(_0x3dcd28['worktreeID']);let _0x434c83=R(_0x2c85d0['aggregate'],_0x3dcd28['worktreeID']);if(_0x2c85d0['status']==='status-mismatch')throw new o('WORKTREE_NOT_EDITABLE','Worktree\x20'+_0x3dcd28['worktreeID']+'\x20is\x20'+_0x434c83['status'],{'details':{'status':_0x434c83['status']}});if(_0x440025={'worktree':_0x434c83},_0x2c85d0['status']==='added'){let _0x1c497d=U(_0x434c83,_0x3dcd28['unitID']);await this['_events']['emit']('worktreeUnitAdded',{'userID':_0x2ea40f['userID'],'customData':_0x2ea40f['customData'],'request':_0xb47354,'worktree':_0x434c83,'unit':_0x1c497d,'occurredAt':Date['now']()});}}),_0x440025;});}['setUnitRemoved'](_0x5ce9e6,_0x240093){return this['_call']('setUnitRemoved',async()=>{let _0x23a12b=C(_0x240093),_0x33901c=b(_0x5ce9e6),_0x4be14f={..._0x23a12b,'request':_0x33901c},_0x563bed;return await this['_middleware']['run']('setWorktreeUnitRemoved',_0x4be14f,async()=>{if(S(_0x33901c['worktreeID']),!_0x33901c['unitID']||typeof _0x33901c['removed']!='boolean')throw X('unitID\x20and\x20a\x20boolean\x20removed\x20flag\x20are\x20required');let _0x2c3690=await this['_database'](()=>this['_dbAdapter']['setUnitRemoved'](_0x4be14f,_0x33901c));if(_0x2c3690['status']==='not-found')throw new o('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x33901c['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x33901c['worktreeID']);if(_0x2c3690['status']==='not-editable')throw new o('WORKTREE_NOT_EDITABLE','Unit\x20removal\x20can\x20only\x20change\x20in\x20an\x20editable\x20draft');let _0x54cc89=R(_0x2c3690['aggregate'],_0x33901c['worktreeID']);_0x563bed={'worktree':_0x54cc89},_0x2c3690['status']==='updated'&&await this['_events']['emit']('worktreeUnitRemovalChanged',{'userID':_0x23a12b['userID'],'customData':_0x23a12b['customData'],'request':_0x33901c,'worktree':_0x54cc89,'unit':U(_0x54cc89,_0x33901c['unitID']),'occurredAt':Date['now']()});}),_0x563bed;});}['createUnitFromSnapshot'](_0xc87f,_0x211c14){return this['_call']('createUnitFromSnapshot',async()=>{S(_0xc87f['worktreeID']);let _0x52d8e2=C(_0x211c14),{worktreeID:_0x165cc6,..._0x21cd04}=_0xc87f;await this['_draftService'](_0x165cc6)['createUnitFromSnapshot'](_0x21cd04,_0x52d8e2);let _0x414279=g({'worktreeID':_0x165cc6});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x52d8e2,'request':_0x414279},_0x165cc6),_0x165cc6)};});}['createUnitFromData'](_0x400e9e,_0x57e88c){return this['_call']('createUnitFromData',async()=>{S(_0x400e9e['worktreeID']);let _0x30eb0b=C(_0x57e88c),{worktreeID:_0x562edb,..._0x2740a0}=_0x400e9e;await this['_draftService'](_0x562edb)['createUnitFromData'](_0x2740a0,_0x30eb0b);let _0x1f9a64=g({'worktreeID':_0x562edb});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x30eb0b,'request':_0x1f9a64},_0x562edb),_0x562edb)};});}['markReady'](_0x52e587,_0x48ba19){return this['_call']('markReady',async()=>{let _0xbb1f0c=C(_0x48ba19),_0x5115c1=ee(_0x52e587),_0x37de89={..._0xbb1f0c,'request':_0x5115c1},_0x4874c6;return await this['_middleware']['run']('markWorktreeReady',_0x37de89,async()=>{_0x4874c6=await this['_transition'](_0x52e587['worktreeID'],_0xbb1f0c,_0x5115c1,()=>this['_dbAdapter']['markReady'](_0x37de89,_0x52e587['worktreeID']));}),_0x4874c6;});}['reopenWorktree'](_0x1f2204,_0x40ef51){return this['_call']('reopenWorktree',async()=>{let _0x36630d=C(_0x40ef51),_0x478aa2=te(_0x1f2204),_0x138861={..._0x36630d,'request':_0x478aa2},_0x975a31;return await this['_middleware']['run']('reopenWorktree',_0x138861,async()=>{_0x975a31=await this['_transition'](_0x1f2204['worktreeID'],_0x36630d,_0x478aa2,()=>this['_dbAdapter']['reopenWorktree'](_0x138861,_0x1f2204['worktreeID']));}),_0x975a31;});}['discardWorktree'](_0x44db80,_0x239a70){return this['_call']('discardWorktree',async()=>{let _0x33488b=C(_0x239a70),_0x8aa766=ne(_0x44db80),_0x17bb4f={..._0x33488b,'request':_0x8aa766},_0x239250;return await this['_middleware']['run']('discardWorktree',_0x17bb4f,async()=>{_0x239250=await this['_transition'](_0x44db80['worktreeID'],_0x33488b,_0x8aa766,()=>this['_dbAdapter']['discardWorktree'](_0x17bb4f,_0x44db80['worktreeID']));}),_0x239250;});}['mergeWorktree'](_0x5d9d1c,_0x52192b){return this['_call']('mergeWorktree',async()=>{let _0x5b1c28=w(_0x52192b),_0x22e3e1=v(_0x5d9d1c),_0x497481={..._0x5b1c28,'request':_0x22e3e1},_0x5c3955;return await this['_middleware']['run']('mergeWorktree',_0x497481,async()=>{S(_0x5d9d1c['worktreeID']);let _0x3f8879=await this['_database'](()=>this['_dbAdapter']['startOrResumeMerge'](_0x497481,_0x5d9d1c['worktreeID']));if(_0x3f8879['status']==='not-found')throw Y(_0x5d9d1c['worktreeID']);let _0x21e12a=_0x3f8879['aggregate'],_0x176b07=R(_0x21e12a,_0x5d9d1c['worktreeID']);if(_0x3f8879['status']==='status-mismatch')throw new o('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x5d9d1c['worktreeID']+'\x20cannot\x20merge\x20from\x20'+_0x176b07['status'],{'details':{'status':_0x176b07['status']}});if(_0x3f8879['status']==='already-merged'){_0x5c3955={'worktree':_0x176b07};return;}_0x3f8879['status']==='started'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x5b1c28['userID'],'customData':_0x5b1c28['customData'],'request':_0x22e3e1,'worktree':_0x176b07,'previousStatus':'ready','status':'merging','occurredAt':Date['now']()});for(let _0x3f68d3 of _0x21e12a['units']){if(J(_0x3f68d3['mergeResult']))continue;let _0x5c9ebf=await this['_mergeUnit'](_0x497481,_0x21e12a['worktree']['sid'],_0x3f68d3,_0x5b1c28),_0x33ef81=await this['_database'](()=>this['_dbAdapter']['recordUnitMergeResult'](_0x497481,{'worktreeID':_0x5d9d1c['worktreeID'],'unitID':_0x3f68d3['unitID'],'readyDraftHeadRevision':O(_0x3f68d3),'mergeResult':_0x5c9ebf}));if(_0x33ef81['status']==='not-found')throw Y(_0x5d9d1c['worktreeID']);if(_0x33ef81['status']==='stale-merge'){if(_0x21e12a=await this['_requireWorktreeAggregate'](_0x497481,_0x5d9d1c['worktreeID']),_0x176b07=R(_0x21e12a,_0x5d9d1c['worktreeID']),_0x21e12a['worktree']['status']!=='merging')break;continue;}if(_0x33ef81['status']!=='recorded'&&_0x33ef81['status']!=='already-recorded')throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20result\x20status');_0x21e12a=_0x33ef81['aggregate'],_0x176b07=R(_0x21e12a,_0x5d9d1c['worktreeID']),_0x33ef81['status']==='recorded'&&await this['_events']['emit']('worktreeUnitMergeResultRecorded',{'userID':_0x5b1c28['userID'],'customData':_0x5b1c28['customData'],'request':_0x22e3e1,'worktree':_0x176b07,'unit':U(_0x176b07,_0x3f68d3['unitID']),'occurredAt':Date['now']()});}if(_0x21e12a['worktree']['status']==='merging'){let _0x265ec3=await this['_database'](()=>this['_dbAdapter']['finishMerge'](_0x497481,_0x5d9d1c['worktreeID']));if(_0x265ec3['status']==='not-found')throw Y(_0x5d9d1c['worktreeID']);if(_0x21e12a=_0x265ec3['aggregate'],_0x176b07=R(_0x21e12a,_0x5d9d1c['worktreeID']),_0x265ec3['status']==='transitioned')await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x5b1c28['userID'],'customData':_0x5b1c28['customData'],'request':_0x22e3e1,'worktree':_0x176b07,'previousStatus':_0x265ec3['previousStatus'],'status':_0x176b07['status'],'occurredAt':Date['now']()});else{if(_0x265ec3['status']==='status-mismatch'&&_0x176b07['status']!=='ready'&&_0x176b07['status']!=='merged')throw new o('WORKTREE_STALE_MERGE','Worktree\x20'+_0x5d9d1c['worktreeID']+'\x20merge\x20was\x20superseded',{'retryable':!0x0,'details':{'status':_0x176b07['status']}});}}_0x5c3955={'worktree':_0x176b07};}),_0x5c3955;});}['evaluateWorktreeUnitMerge'](_0x504469,_0x1a6f99){return this['_call']('evaluateWorktreeUnitMerge',async()=>{let _0x11b3ff=C(_0x1a6f99),_0x54d19e=y(_0x504469),_0x532613={..._0x11b3ff,'request':_0x54d19e},_0x3fe83e;return await this['_middleware']['run']('readUnitData',_0x532613,async()=>{if(S(_0x504469['worktreeID']),!_0x504469['unitID'])throw X('unitID\x20is\x20required');let _0x2689ad=await this['_requireWorktreeAggregate'](_0x532613,_0x504469['worktreeID']);if(_0x2689ad['worktree']['status']!=='ready')throw new o('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x504469['worktreeID']+'\x20cannot\x20preview\x20from\x20'+_0x2689ad['worktree']['status'],{'details':{'status':_0x2689ad['worktree']['status']}});let _0x694e0d=_0x2689ad['units']['find'](_0x477a30=>_0x477a30['unitID']===_0x504469['unitID']);if(!_0x694e0d)throw new o('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x504469['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x504469['worktreeID']);if(_0x694e0d['removed']){_0x3fe83e={'status':'not-applicable','reason':'removed-unit','worktreeID':_0x504469['worktreeID'],'unitID':_0x504469['unitID']};return;}if(_0x694e0d['source']==='worktree'){_0x3fe83e={'status':'not-applicable','reason':'worktree-created-unit','worktreeID':_0x504469['worktreeID'],'unitID':_0x504469['unitID']};return;}if(J(_0x694e0d['mergeResult'])){_0x3fe83e={'status':'already-merged','worktreeID':_0x504469['worktreeID'],'unitID':_0x504469['unitID'],'mergeResult':q(_0x694e0d['mergeResult'])};return;}let _0x387c69=B(_0x694e0d),_0x544a64=O(_0x694e0d),_0x32f69a=await this['_trunkService']['getUnitLoadData']({'unitID':_0x694e0d['unitID'],'type':_0x694e0d['type'],'revision':0x0},_0x11b3ff);if(_0x32f69a['targetRevision']===_0x387c69){_0x3fe83e={'status':'not-behind','worktreeID':_0x504469['worktreeID'],'unitID':_0x504469['unitID']};return;}if(_0x32f69a['targetRevision']<_0x387c69)throw Z('Trunk\x20head\x20is\x20behind\x20the\x20Worktree\x20baseline');let _0x39da07=k(_0x694e0d,_0x544a64,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x532613,_0x694e0d['worktreeID'],_0x694e0d['unitID'],{'from':_0x387c69,'to':_0x544a64}))),_0x19111d=await this['_trunkService']['getChangesets']({'unitID':_0x694e0d['unitID'],'type':_0x694e0d['type'],'from':_0x387c69,'to':_0x32f69a['targetRevision']},_0x11b3ff);try{let _0x26c0f0={'context':_0x532613,'dbAdapter':this['_trunkDbAdapter'],'unitID':_0x694e0d['unitID'],'type':_0x694e0d['type'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}},_0x12b2d6=_0x544a64===_0x387c69?await l({..._0x26c0f0,'expectedRevision':_0x32f69a['targetRevision']}):await f({..._0x26c0f0,'trunkHeadRevision':_0x32f69a['targetRevision'],'original':A(_0x2689ad['worktree']['sid'],_0x694e0d,_0x544a64,_0x39da07,{'userID':_0x11b3ff['userID'],'memberID':'worktree-merge-preview'}),'trunkHistory':_0x19111d['changesets']});_0x3fe83e={'status':'preview','worktreeID':_0x504469['worktreeID'],'unitID':_0x504469['unitID'],'preview':_0x12b2d6};}catch(_0x5550cb){if(_0x5550cb instanceof n['CollabError']&&_0x5550cb['code']==='OT_CONFLICT'){_0x3fe83e={'status':'conflict','worktreeID':_0x504469['worktreeID'],'unitID':_0x504469['unitID'],'error':M(_0x5550cb)};return;}throw _0x5550cb;}}),_0x3fe83e;});}['getUnitLoadData'](_0x37e508,_0x30ab55){return this['_call']('getUnitLoadData',()=>(S(_0x37e508['worktreeID']),this['_draftService'](_0x37e508['worktreeID'])['getUnitLoadData']({'unitID':_0x37e508['unitID'],'type':_0x37e508['type'],'revision':_0x37e508['revision']},C(_0x30ab55))));}['getChangesets'](_0x1d4d26,_0x373a3e){return this['_call']('getChangesets',()=>(S(_0x1d4d26['worktreeID']),this['_draftService'](_0x1d4d26['worktreeID'])['getChangesets']({'unitID':_0x1d4d26['unitID'],'type':_0x1d4d26['type'],'from':_0x1d4d26['from'],'to':_0x1d4d26['to']},C(_0x373a3e))));}['getSheetBlock'](_0x14e14d,_0x2cf232){return this['_call']('getSheetBlock',()=>(S(_0x14e14d['worktreeID']),this['_draftService'](_0x14e14d['worktreeID'])['getSheetBlock']({'unitID':_0x14e14d['unitID'],'type':_0x14e14d['type'],'blockID':_0x14e14d['blockID']},C(_0x2cf232))));}['submitChangeset'](_0x237803,_0x5d158c){return this['_call']('submitChangeset',()=>(S(_0x237803['worktreeID']),this['_draftService'](_0x237803['worktreeID'])['submitChangeset']({'changeset':_0x237803['changeset']},w(_0x5d158c))));}['dispose'](){return this['_lifecycle']['dispose'](async()=>{this['_middleware']['clear'](),this['_events']['clear']();let _0x32dfe7=[...this['_draftServices']['values']()];this['_draftServices']['clear'](),await Promise['all'](_0x32dfe7['map'](_0x47c729=>_0x47c729['dispose']()));});}['_draftService'](_0x3efdb0){let _0x420377=this['_draftServices']['get'](_0x3efdb0);if(_0x420377)return _0x420377;let _0xde9ae0=new n['UniverCollabService']({'dbAdapter':new s(_0x3efdb0,this['_trunkDbAdapter'],this['_dbAdapter']),'snapshotPolicy':!0x1,'enableUnitPermissionAnalysis':this['_enableUnitPermissionAnalysis'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']},...this['_maxRevisionRetries']===void 0x0?{}:{'submitChangeset':{'maxRevisionRetries':this['_maxRevisionRetries']}},'logger':this['_logger'],'metrics':this['_metrics']});return _0xde9ae0['use']('createUnit',(_0xa408d1,_0x52e87c)=>{let _0x3de328=E(_0xa408d1['request'],_0x3efdb0);return this['_middleware']['run']('createWorktreeUnit',{'userID':_0xa408d1['userID'],'customData':_0xa408d1['customData'],'request':_0x3de328},_0x52e87c);}),_0xde9ae0['use']('readUnitData',(_0x543408,_0x7869ef)=>{let _0x5a5bde=E(_0x543408['request'],_0x3efdb0);return this['_middleware']['run']('readUnitData',{'userID':_0x543408['userID'],'customData':_0x543408['customData'],'request':_0x5a5bde},_0x7869ef);}),_0xde9ae0['use']('submitChangeset',(_0x57de01,_0x158338)=>{let _0xcc2638=E(_0x57de01['request'],_0x3efdb0);return this['_middleware']['run']('submitChangeset',{'userID':_0x57de01['userID'],'memberID':_0x57de01['memberID'],'customData':_0x57de01['customData'],'request':_0xcc2638},_0x158338);}),_0xde9ae0['use']('applyChangeset',(_0x3f4a00,_0xf9ee3f)=>{let _0x692032=E(_0x3f4a00['request'],_0x3efdb0);return this['_middleware']['run']('applyChangeset',{'userID':_0x3f4a00['userID'],'memberID':_0x3f4a00['memberID'],'customData':_0x3f4a00['customData'],'request':_0x692032,'attempt':_0x3f4a00['attempt'],'currentRevision':_0x3f4a00['currentRevision'],'changeset':_0x3f4a00['changeset']},_0xf9ee3f);}),_0xde9ae0['use']('commitChangeset',(_0x5ddb98,_0x4c14eb)=>{let _0x5db4e8=E(_0x5ddb98['request'],_0x3efdb0);return this['_middleware']['run']('commitChangeset',{'userID':_0x5ddb98['userID'],'memberID':_0x5ddb98['memberID'],'customData':_0x5ddb98['customData'],'request':_0x5db4e8,'attempt':_0x5ddb98['attempt'],'expectedHeadRevision':_0x5ddb98['expectedHeadRevision'],'requiredUnitPermissions':_0x5ddb98['requiredUnitPermissions'],'changeset':_0x5ddb98['changeset']},_0x4c14eb);}),_0xde9ae0['on']('changesetCommitted',_0x8be21c=>{let _0x105bdf=E(_0x8be21c['request'],_0x3efdb0);return this['_events']['emit']('changesetCommitted',{'userID':_0x8be21c['userID'],'memberID':_0x8be21c['memberID'],'customData':_0x8be21c['customData'],'request':_0x105bdf,'changeset':_0x8be21c['changeset'],'requiredUnitPermissions':_0x8be21c['requiredUnitPermissions'],'committedAt':_0x8be21c['committedAt']});}),_0xde9ae0['on']('unitCreated',async _0x177f27=>{let _0x1aac40=E(_0x177f27['request'],_0x3efdb0),_0x5407f9=R(await this['_requireWorktreeAggregate']({'userID':_0x177f27['userID'],'customData':_0x177f27['customData'],'request':_0x1aac40},_0x3efdb0),_0x3efdb0);await this['_events']['emit']('worktreeUnitCreated',{'userID':_0x177f27['userID'],'customData':_0x177f27['customData'],'request':_0x1aac40,'worktree':_0x5407f9,'unit':U(_0x5407f9,_0x177f27['record']['unitID']),'occurredAt':_0x177f27['createdAt']});}),this['_draftServices']['set'](_0x3efdb0,_0xde9ae0),_0xde9ae0;}async['_mergeUnit'](_0x5177c6,_0x27f58d,_0x26417e,_0x562b85){try{if(_0x26417e['removed'])return{'status':'removed'};if(_0x26417e['source']==='worktree')return await this['_mergeCreatedUnit'](_0x5177c6,_0x26417e,_0x562b85);let _0x2a76c6=B(_0x26417e),_0x400547=O(_0x26417e);if(_0x400547===_0x2a76c6)return{'status':'unchanged'};let _0x63fef2=k(_0x26417e,_0x400547,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x5177c6,_0x26417e['worktreeID'],_0x26417e['unitID'],{'from':_0x2a76c6,'to':_0x400547}))),_0x399e75=await this['_trunkService']['submitChangeset']({'changeset':A(_0x27f58d,_0x26417e,_0x400547,_0x63fef2,_0x562b85)},_0x562b85);return _0x399e75['status']==='committed'||_0x399e75['status']==='already-committed'?{'status':'merged','trunkRevision':_0x399e75['changeset']['revision']}:j('error'in _0x399e75?_0x399e75['error']:Error('Trunk\x20merge\x20failed'));}catch(_0x1893e1){return j(_0x1893e1);}}async['_mergeCreatedUnit'](_0x1591bb,_0x44c2cc,_0x360059){let _0x2085e3=O(_0x44c2cc),_0x2d2755=await this['_database'](()=>this['_dbAdapter']['getUnitMergeArtifact'](_0x1591bb,_0x44c2cc['worktreeID'],_0x44c2cc['unitID']));if(!_0x2d2755){let _0x458250=await l({'context':_0x1591bb,'dbAdapter':new s(_0x44c2cc['worktreeID'],this['_trunkDbAdapter'],this['_dbAdapter']),'unitID':_0x44c2cc['unitID'],'type':_0x44c2cc['type'],'expectedRevision':_0x2085e3,...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}});if(!await this['_database'](()=>this['_dbAdapter']['getUnitSeed'](_0x1591bb,_0x44c2cc['worktreeID'],_0x44c2cc['unitID'])))throw Z('Worktree-created\x20Unit\x20seed\x20is\x20missing');let _0x4ed102=await this['_database'](()=>this['_dbAdapter']['saveUnitMergeArtifact'](_0x1591bb,{'worktreeID':_0x44c2cc['worktreeID'],'unitID':_0x44c2cc['unitID'],'artifact':{'readyDraftHeadRevision':_0x2085e3,'unit':{'snapshot':H(_0x458250['snapshot']),..._0x458250['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x458250['sheetBlocks']}}}}));if(_0x4ed102['status']==='not-found')throw Y(_0x44c2cc['worktreeID']);if(_0x4ed102['status']==='stale-merge')throw new o('WORKTREE_STALE_MERGE','Worktree\x20Unit\x20changed\x20while\x20saving\x20its\x20merge\x20artifact',{'retryable':!0x0});if(!('artifact'in _0x4ed102))throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20artifact\x20result');_0x2d2755=_0x4ed102['artifact'];}if(!_0x2d2755)throw Z('Worktree\x20Unit\x20merge\x20artifact\x20is\x20missing');V(_0x44c2cc,_0x2085e3,_0x2d2755);let _0x19db65=_0x2d2755['unit'];if(await this['_trunkService']['createUnitFromSnapshot']({'snapshot':_0x19db65['snapshot'],'sheetBlocks':[..._0x19db65['sheetBlocks']??[]]},_0x360059),!await this['_matchesCreatedTrunkUnit'](_0x1591bb,_0x44c2cc,_0x19db65))throw new P('Trunk\x20Unit\x20'+_0x44c2cc['unitID']+'\x20already\x20exists\x20with\x20different\x20content');return{'status':'merged','trunkRevision':0x1};}async['_matchesCreatedTrunkUnit'](_0x285cd0,_0x82b2f6,_0x2fb128){let _0x7cc730=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x285cd0,_0x82b2f6['unitID']));if(!_0x7cc730||_0x7cc730['type']!==_0x82b2f6['type']||_0x7cc730['headRevision']<0x1||!F(await this['_database'](()=>this['_trunkDbAdapter']['getSnapshot'](_0x285cd0,_0x82b2f6['unitID'],{'revision':0x1})),_0x2fb128['snapshot']))return!0x1;for(let _0x4a7f06 of _0x2fb128['sheetBlocks']??[])if(!F(await this['_database'](()=>this['_trunkDbAdapter']['getSheetBlock'](_0x285cd0,_0x82b2f6['unitID'],_0x4a7f06['id'])),_0x4a7f06))return!0x1;return!0x0;}async['_requireWorktreeAggregate'](_0xdaadcf,_0x21a761){let _0x2eac2f=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0xdaadcf,_0x21a761));if(!_0x2eac2f)throw Y(_0x21a761);return R(_0x2eac2f,_0x21a761),_0x2eac2f;}async['_transition'](_0x3d487e,_0x4c1696,_0x3e3828,_0x4be9a5){S(_0x3d487e);let _0x2bc2a3=await this['_database'](_0x4be9a5);if(_0x2bc2a3['status']==='not-found')throw Y(_0x3d487e);let _0x4a85a2=R(_0x2bc2a3['aggregate'],_0x3d487e);if(_0x2bc2a3['status']==='status-mismatch')throw new o('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x3d487e+'\x20cannot\x20transition\x20from\x20'+_0x4a85a2['status'],{'details':{'status':_0x4a85a2['status']}});return _0x2bc2a3['status']==='transitioned'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x4c1696['userID'],'customData':_0x4c1696['customData'],'request':_0x3e3828,'worktree':_0x4a85a2,'previousStatus':_0x2bc2a3['previousStatus'],'status':_0x4a85a2['status'],'occurredAt':Date['now']()}),{'worktree':_0x4a85a2};}async['_requireTrunkUnit'](_0x3c40aa,_0xb8e3d5){let _0x4268ac=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x3c40aa,_0xb8e3d5));if(!_0x4268ac)throw new n['CollabError']('UNIT_NOT_FOUND','Trunk\x20Unit\x20'+_0xb8e3d5+'\x20does\x20not\x20exist');if(_0x4268ac['unitID']!==_0xb8e3d5||!x['has'](_0x4268ac['type'])||!Number['isSafeInteger'](_0x4268ac['headRevision'])||_0x4268ac['headRevision']<0x1)throw Z('Trunk\x20Database\x20returned\x20invalid\x20Unit\x20metadata');return _0x4268ac;}async['_database'](_0x100b5d){try{return await _0x100b5d();}catch(_0xcb1c75){throw _0xcb1c75 instanceof n['CollabError']||_0xcb1c75 instanceof o?_0xcb1c75:Z('Database\x20Adapter\x20failed',_0xcb1c75);}}async['_call'](_0x3b2ffa,_0x502de7){try{return this['_metrics']['increment']('collaboration.worktree.service.call',{'operation':_0x3b2ffa}),await this['_lifecycle']['run'](_0x502de7);}catch(_0x1938c4){throw _0x1938c4 instanceof n['CollabError']||_0x1938c4 instanceof o?_0x1938c4:(this['_logger']['error']('Worktree\x20Service\x20operation\x20failed',{'operation':_0x3b2ffa,'error':$(_0x1938c4)}),new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20failed',{'retryable':!0x0,'cause':_0x1938c4}));}}['_assertRunning'](){if(this['_lifecycle']['state']!=='running')throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_lifecycle']['state'],{'retryable':!0x0});}};function S(_0x914332){if(!_0x914332)throw X('worktreeID\x20is\x20required');}function C(_0x4f3f98){return T(_0x4f3f98),{'userID':_0x4f3f98['userID'],'customData':_0x4f3f98['customData']??Object['create'](null)};}function w(_0x158d93){if(T(_0x158d93),typeof _0x158d93['memberID']!='string'||_0x158d93['memberID']['length']===0x0)throw X('memberID\x20must\x20be\x20a\x20non-empty\x20string');return{'userID':_0x158d93['userID'],'memberID':_0x158d93['memberID'],'customData':_0x158d93['customData']??Object['create'](null)};}function T(_0x1aa5d1){if(!_0x1aa5d1||typeof _0x1aa5d1!='object')throw X('context\x20must\x20be\x20an\x20object');if(typeof _0x1aa5d1['userID']!='string'||_0x1aa5d1['userID']['length']===0x0)throw X('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x1aa5d1['customData']!==void 0x0&&(_0x1aa5d1['customData']===null||typeof _0x1aa5d1['customData']!='object'||Array['isArray'](_0x1aa5d1['customData'])))throw X('customData\x20must\x20be\x20an\x20object');}function E(_0x597268,_0x2a6b91){let _0x5aed48=_0x597268;if(_0x5aed48['worktreeID']!==void 0x0){if(_0x5aed48['worktreeID']!==_0x2a6b91)throw new n['CollabError']('INTERNAL_ERROR','Draft\x20Request\x20is\x20bound\x20to\x20a\x20different\x20Worktree',{'retryable':!0x0});return _0x5aed48;}return Object['defineProperty'](_0x597268,'worktreeID',{'value':_0x2a6b91,'enumerable':!0x0,'configurable':!0x1,'writable':!0x1}),_0x597268;}function D(_0x1fbff3){if(_0x1fbff3['some'](_0x11281b=>!_0x11281b))throw X('Initial\x20Unit\x20IDs\x20cannot\x20be\x20empty');if(new Set(_0x1fbff3)['size']!==_0x1fbff3['length'])throw X('Initial\x20Unit\x20IDs\x20must\x20be\x20unique');}function O(_0x291f5a){let _0x2a316e=_0x291f5a['readyDraftHeadRevision'],_0x141479=_0x291f5a['source']==='trunk'?B(_0x291f5a):0x1;if(_0x2a316e===void 0x0||!Number['isSafeInteger'](_0x2a316e)||_0x2a316e<_0x141479)throw Z('Merging\x20Worktree\x20Unit\x20has\x20no\x20valid\x20frozen\x20draft\x20head');return _0x2a316e;}function k(_0x479efd,_0x3fe000,_0x5a7e8f){let _0x53af2c=B(_0x479efd);if(_0x5a7e8f===null)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20no\x20longer\x20readable');let _0x57f187=_0x53af2c+0x1,_0x417c93=[];for(let _0x2b9e7e of _0x5a7e8f){if(_0x2b9e7e['unitID']!==_0x479efd['unitID']||_0x2b9e7e['type']!==_0x479efd['type']||_0x2b9e7e['baseRev']!==_0x57f187-0x1||_0x2b9e7e['revision']!==_0x57f187)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20not\x20contiguous');_0x417c93['push'](...structuredClone(_0x2b9e7e['mutations'])),_0x57f187+=0x1;}if(_0x57f187-0x1!==_0x3fe000)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20incomplete');return _0x417c93;}function A(_0xca75f2,_0x60a3e9,_0x130416,_0x30d6ba,_0x665990){let _0xbc4248=B(_0x60a3e9);return{'unitID':_0x60a3e9['unitID'],'type':_0x60a3e9['type'],'baseRev':_0xbc4248,'revision':_0xbc4248+0x1,'userID':_0x665990['userID'],'memberID':_0x665990['memberID'],'sid':_0xca75f2,'reqId':_0x130416-_0xbc4248,'mutations':_0x30d6ba};}function j(_0x1e5140){let _0x214f0d=M(_0x1e5140);return _0x1e5140 instanceof N||_0x1e5140 instanceof P||_0x1e5140 instanceof n['CollabError']&&_0x1e5140['code']==='OT_CONFLICT'?{'status':'conflict','error':_0x214f0d}:{'status':'failed','error':_0x214f0d};}function M(_0x4422f1){return _0x4422f1 instanceof N?{'code':'WORKTREE_DRAFT_HISTORY_INVALID','message':_0x4422f1['message'],'retryable':!0x0}:_0x4422f1 instanceof P?{'code':'WORKTREE_CREATE_CONFLICT','message':_0x4422f1['message'],'retryable':!0x1}:_0x4422f1 instanceof n['CollabError']||_0x4422f1 instanceof o?{'code':_0x4422f1['code'],'message':_0x4422f1['message'],'retryable':_0x4422f1['retryable']}:{'code':'INTERNAL_ERROR','message':_0x4422f1 instanceof Error?_0x4422f1['message']:'Merge\x20failed','retryable':!0x0};}var N=class extends Error{constructor(_0x3eb4ba){super(_0x3eb4ba),this['name']='FrozenDraftConflict';}},P=class extends Error{constructor(_0x4e795f){super(_0x4e795f),this['name']='WorktreeCreateConflict';}};function F(_0x47f82e,_0x431600){return(0x0,t['isDeepStrictEqual'])(I(_0x47f82e),I(_0x431600));}function I(_0x5544f9){if(_0x5544f9!==void 0x0)return JSON['parse'](JSON['stringify'](_0x5544f9,(_0x533880,_0x5f3749)=>_0x5f3749 instanceof Uint8Array?{'__univerCollaborationBinary':[..._0x5f3749]}:_0x5f3749));}function L(_0x5e6e58,_0x96dc56){let _0x3ac4a7=new Set(_0x5e6e58['units']['map'](({unitID:_0x584712})=>_0x584712));if(_0x3ac4a7['size']!==_0x96dc56['length']||_0x96dc56['some'](_0x436ca3=>!_0x3ac4a7['has'](_0x436ca3)))throw Z('Database\x20returned\x20incomplete\x20initial\x20Worktree\x20Units');}function R(_0x33ef0a,_0x44864b){let {worktree:_0x371318,units:_0x424da5}=_0x33ef0a;if(_0x371318['worktreeID']!==_0x44864b||!_0x371318['sid']||!W(_0x371318['status']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20metadata');let _0x4d3301=new Set(),_0x236c93=_0x424da5['map'](_0x1fd911=>{let _0x20357e=_0x1fd911['source']==='trunk'&&Number['isSafeInteger'](_0x1fd911['baselineTrunkRevision'])&&_0x1fd911['baselineTrunkRevision']>=0x1&&_0x1fd911['draftHeadRevision']>=_0x1fd911['baselineTrunkRevision']||_0x1fd911['source']==='worktree'&&_0x1fd911['baselineTrunkRevision']===void 0x0&&_0x1fd911['draftHeadRevision']>=0x1;if(_0x1fd911['worktreeID']!==_0x44864b||!_0x1fd911['unitID']||_0x4d3301['has'](_0x1fd911['unitID'])||!x['has'](_0x1fd911['type'])||!_0x20357e||!Number['isSafeInteger'](_0x1fd911['draftHeadRevision'])||_0x1fd911['readyDraftHeadRevision']!==void 0x0&&_0x1fd911['readyDraftHeadRevision']!==_0x1fd911['draftHeadRevision']||_0x1fd911['mergeResult']!==void 0x0&&_0x1fd911['readyDraftHeadRevision']===void 0x0||_0x1fd911['removed']!==void 0x0&&typeof _0x1fd911['removed']!='boolean'||!G(_0x1fd911['mergeResult']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20Unit\x20metadata');return _0x4d3301['add'](_0x1fd911['unitID']),z(_0x1fd911);});if(_0x371318['status']==='merged'&&_0x236c93['some'](({mergeResult:_0x36759b})=>!J(_0x36759b)))throw Z('Merged\x20Worktree\x20contains\x20an\x20incomplete\x20Unit');return{'worktreeID':_0x371318['worktreeID'],'status':_0x371318['status'],'units':_0x236c93};}function z(_0xa84b2f){return{'unitID':_0xa84b2f['unitID'],'type':_0xa84b2f['type'],'source':_0xa84b2f['source'],..._0xa84b2f['baselineTrunkRevision']===void 0x0?{}:{'baselineTrunkRevision':_0xa84b2f['baselineTrunkRevision']},'draftHeadRevision':_0xa84b2f['draftHeadRevision'],..._0xa84b2f['readyDraftHeadRevision']===void 0x0?{}:{'readyDraftHeadRevision':_0xa84b2f['readyDraftHeadRevision']},..._0xa84b2f['removed']===void 0x0?{}:{'removed':_0xa84b2f['removed']},..._0xa84b2f['mergeResult']===void 0x0?{}:{'mergeResult':K(_0xa84b2f['mergeResult'])}};}function B(_0x4a2a03){if(_0x4a2a03['source']!=='trunk'||!Number['isSafeInteger'](_0x4a2a03['baselineTrunkRevision'])||_0x4a2a03['baselineTrunkRevision']<0x1)throw Z('Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x4a2a03['baselineTrunkRevision'];}function V(_0xa39fc9,_0x4af6d8,_0x13c092){if(_0x13c092['readyDraftHeadRevision']!==_0x4af6d8||_0x13c092['unit']['snapshot']['unitID']!==_0xa39fc9['unitID']||_0x13c092['unit']['snapshot']['type']!==_0xa39fc9['type']||_0x13c092['unit']['snapshot']['rev']!==0x1)throw Z('Database\x20returned\x20an\x20invalid\x20Worktree\x20Unit\x20merge\x20artifact');}function H(_0x5bfbd7){let _0x1482b0={..._0x5bfbd7,'rev':0x1};return _0x5bfbd7['workbook']?{..._0x1482b0,'workbook':{..._0x5bfbd7['workbook'],'rev':0x1}}:_0x5bfbd7['doc']?{..._0x1482b0,'doc':{..._0x5bfbd7['doc'],'rev':0x1}}:_0x5bfbd7['slide']?{..._0x1482b0,'slide':{..._0x5bfbd7['slide'],'rev':0x1}}:_0x5bfbd7['board']?{..._0x1482b0,'board':{..._0x5bfbd7['board'],'rev':0x1}}:_0x1482b0;}function U(_0x240f87,_0x56662d){let _0x3a5ce7=_0x240f87['units']['find'](_0x24f143=>_0x24f143['unitID']===_0x56662d);if(!_0x3a5ce7)throw Z('Database\x20omitted\x20the\x20added\x20Worktree\x20Unit');return _0x3a5ce7;}function W(_0x481801){return _0x481801==='draft'||_0x481801==='ready'||_0x481801==='merging'||_0x481801==='merged'||_0x481801==='discarded';}function G(_0x24aa11){return _0x24aa11===void 0x0?!0x0:!_0x24aa11||typeof _0x24aa11!='object'||!('status'in _0x24aa11)?!0x1:_0x24aa11['status']==='unchanged'||_0x24aa11['status']==='removed'?!0x0:_0x24aa11['status']==='merged'&&'trunkRevision'in _0x24aa11?typeof _0x24aa11['trunkRevision']=='number'&&Number['isSafeInteger'](_0x24aa11['trunkRevision'])&&_0x24aa11['trunkRevision']>=0x1:_0x24aa11['status']!=='conflict'&&_0x24aa11['status']!=='failed'||!('error'in _0x24aa11)||!_0x24aa11['error']||typeof _0x24aa11['error']!='object'||!('code'in _0x24aa11['error'])||!('message'in _0x24aa11['error'])||!('retryable'in _0x24aa11['error'])?!0x1:typeof _0x24aa11['error']['code']=='string'&&!!_0x24aa11['error']['code']&&typeof _0x24aa11['error']['message']=='string'&&!!_0x24aa11['error']['message']&&typeof _0x24aa11['error']['retryable']=='boolean';}function K(_0x2c901d){return _0x2c901d['status']==='merged'?{'status':'merged','trunkRevision':_0x2c901d['trunkRevision']}:_0x2c901d['status']==='unchanged'||_0x2c901d['status']==='removed'?{'status':_0x2c901d['status']}:{'status':_0x2c901d['status'],'error':{'code':_0x2c901d['error']['code'],'message':_0x2c901d['error']['message'],'retryable':_0x2c901d['error']['retryable']}};}function q(_0x49c4fd){if(_0x49c4fd?.['status']==='merged')return{'status':'merged','trunkRevision':_0x49c4fd['trunkRevision']};if(_0x49c4fd?.['status']==='unchanged')return{'status':'unchanged'};throw Z('Worktree\x20Unit\x20merge\x20result\x20is\x20not\x20terminal');}function J(_0x6b337c){return _0x6b337c?.['status']==='merged'||_0x6b337c?.['status']==='unchanged'||_0x6b337c?.['status']==='removed';}function Y(_0x379bfa){return new o('WORKTREE_NOT_FOUND','Worktree\x20'+_0x379bfa+'\x20does\x20not\x20exist');}function X(_0x292590){return new n['CollabError']('INVALID_REQUEST',_0x292590);}function Z(_0x1b20db,_0x17eede){return new n['CollabError']('ADAPTER_FAILURE',_0x1b20db,{'retryable':!0x0,..._0x17eede===void 0x0?{}:{'cause':_0x17eede}});}function oe(_0x43e5a8){return _0x43e5a8?{'debug':(..._0x121ce6)=>Q(()=>_0x43e5a8['debug'](..._0x121ce6)),'info':(..._0x43fdec)=>Q(()=>_0x43e5a8['info'](..._0x43fdec)),'warn':(..._0x256d91)=>Q(()=>_0x43e5a8['warn'](..._0x256d91)),'error':(..._0x226004)=>Q(()=>_0x43e5a8['error'](..._0x226004))}:{'debug':()=>void 0x0,'info':()=>void 0x0,'warn':()=>void 0x0,'error':()=>void 0x0};}function se(_0x29da86){return _0x29da86?{'increment':(..._0x5de812)=>Q(()=>_0x29da86['increment'](..._0x5de812)),'observe':(..._0x7082db)=>Q(()=>_0x29da86['observe'](..._0x7082db))}:{'increment':()=>void 0x0,'observe':()=>void 0x0};}function Q(_0x45f50b){try{_0x45f50b();}catch{}}function $(_0x2c55c5){return _0x2c55c5 instanceof Error?_0x2c55c5['message']:String(_0x2c55c5);}exports['UniverCollabWorktreeService']=ae,exports['WorktreeError']=o;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CollabContext, CollabMemberContext, CreateUnitFromDataInput, CreateUnitFromSnapshotInput, CreateUnitRequest, CustomData, Disposable, GetChangesetsRequest, GetChangesetsResult, GetSheetBlockRequest, GetSheetBlockResult, GetUnitLoadDataRequest, IDatabaseAdapter, ILogger, IMetrics, IUniverCollabService, JsonObject, Middleware, MiddlewareNext, RequiredUnitPermission, SaveSnapshotInput, SubmitChangesetRequest, SubmitChangesetResult, UnitLoadData } from "@univerjs-pro/collaboration-service";
1
+ import { CollabContext, CollabMemberContext, CreateUnitFromDataInput, CreateUnitFromSnapshotInput, CreateUnitRequest, CustomData, Disposable, GetChangesetsRequest, GetChangesetsResult, GetSheetBlockRequest, GetSheetBlockResult, GetUnitLoadDataRequest, IDatabaseAdapter, ILogger, IMetrics, IUniverCollabService, JsonObject, Middleware, MiddlewareNext, RequiredUnitPermission, SaveSnapshotInput, SubmitChangesetRequest, SubmitChangesetResult, UnitLoadData, UnitRuntimeConfig } from "@univerjs-pro/collaboration-service";
2
2
  import { IChangeset, ISheetBlock, ISnapshot, UniverType } from "@univerjs/protocol";
3
3
 
4
4
  //#region src/model/types.d.ts
@@ -485,10 +485,7 @@ interface UniverCollabWorktreeServiceOptions {
485
485
  };
486
486
  readonly dbAdapter: IWorktreeDatabaseAdapter;
487
487
  readonly enableUnitPermissionAnalysis?: boolean;
488
- readonly runtime?: {
489
- readonly maxLoadedUnits?: number;
490
- readonly idleTimeoutMs?: number;
491
- };
488
+ readonly runtime?: UnitRuntimeConfig;
492
489
  readonly submitChangeset?: {
493
490
  readonly maxRevisionRetries?: number;
494
491
  };
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x5d58d0=_0xb0c1;function _0xb0c1(_0x5296a5,_0x28afa5){_0x5296a5=_0x5296a5-0xe3;const _0x10cc77=_0x10cc();let _0xb0c156=_0x10cc77[_0x5296a5];return _0xb0c156;}(function(_0x5a281d,_0x35f825){const _0x2a82da=_0xb0c1,_0x39ba3d=_0x5a281d();while(!![]){try{const _0xb300f7=parseInt(_0x2a82da(0xe3))/0x1+-parseInt(_0x2a82da(0xec))/0x2+parseInt(_0x2a82da(0xe6))/0x3*(-parseInt(_0x2a82da(0xe9))/0x4)+parseInt(_0x2a82da(0xe8))/0x5*(-parseInt(_0x2a82da(0xe7))/0x6)+parseInt(_0x2a82da(0xed))/0x7+-parseInt(_0x2a82da(0xeb))/0x8+-parseInt(_0x2a82da(0xea))/0x9*(-parseInt(_0x2a82da(0xe5))/0xa);if(_0xb300f7===_0x35f825)break;else _0x39ba3d['push'](_0x39ba3d['shift']());}catch(_0x44d936){_0x39ba3d['push'](_0x39ba3d['shift']());}}}(_0x10cc,0x4709e));function _0x10cc(){const _0x506448=['20oglAfu','27efXYFa','3897120LVfdmd','1107022ynPgFa','1324708ZNGNkq','317527cfgwXy','WorktreeError','5694940ANAZEk','205953LZcwWC','6bUJnGt','2701865uHnvrb'];_0x10cc=function(){return _0x506448;};return _0x10cc();}import _0x490681 from'./index.cjs';const facadeExport0=_0x490681['UniverCollabWorktreeService'],facadeExport1=_0x490681[_0x5d58d0(0xe4)];export{facadeExport0 as UniverCollabWorktreeService,facadeExport1 as WorktreeError};
1
+ const _0x56b94c=_0x984e;(function(_0x4f0dc7,_0xafef84){const _0x6883ba=_0x984e,_0x2c31ae=_0x4f0dc7();while(!![]){try{const _0x158885=parseInt(_0x6883ba(0x1da))/0x1*(-parseInt(_0x6883ba(0x1dd))/0x2)+-parseInt(_0x6883ba(0x1d8))/0x3*(-parseInt(_0x6883ba(0x1db))/0x4)+parseInt(_0x6883ba(0x1de))/0x5*(-parseInt(_0x6883ba(0x1d6))/0x6)+-parseInt(_0x6883ba(0x1dc))/0x7*(parseInt(_0x6883ba(0x1e1))/0x8)+-parseInt(_0x6883ba(0x1e0))/0x9+-parseInt(_0x6883ba(0x1df))/0xa+parseInt(_0x6883ba(0x1d7))/0xb;if(_0x158885===_0xafef84)break;else _0x2c31ae['push'](_0x2c31ae['shift']());}catch(_0x3fe63d){_0x2c31ae['push'](_0x2c31ae['shift']());}}}(_0x2500,0x6eaab));function _0x984e(_0x8ec55e,_0x34e4ca){_0x8ec55e=_0x8ec55e-0x1d6;const _0x250009=_0x2500();let _0x984e2e=_0x250009[_0x8ec55e];return _0x984e2e;}import _0x49c524 from'./index.cjs';const facadeExport0=_0x49c524[_0x56b94c(0x1d9)],facadeExport1=_0x49c524['WorktreeError'];export{facadeExport0 as UniverCollabWorktreeService,facadeExport1 as WorktreeError};function _0x2500(){const _0x4eb038=['3506305NxNuaF','8727850WulBjp','5188887BkBMGK','88cgszFP','6ANFnjk','24693328SPMGWc','3oaEFdt','UniverCollabWorktreeService','30196rzVjZf','3495432AcIiNP','250754AzQFFI','8XNxipM'];_0x2500=function(){return _0x4eb038;};return _0x2500();}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@univerjs-pro/collaboration-worktree-service",
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,7 +16,9 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@univerjs-pro/collaboration-service": "1.0.3",
20
- "@univerjs/protocol": "1.0.3"
19
+ "@univerjs-pro/collaboration": "1.0.4",
20
+ "@univerjs-pro/collaboration-service": "1.0.4",
21
+ "@univerjs/core": "1.0.4",
22
+ "@univerjs/protocol": "1.0.4"
21
23
  }
22
24
  }