@univerjs-pro/collaboration-worktree-service 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs 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(_0x37c69d,_0x792d84,_0xb18227={}){super(_0x792d84,{'cause':_0xb18227['cause']}),this['name']='WorktreeError',this['code']=_0x37c69d,this['retryable']=_0xb18227['retryable']??!0x1,_0xb18227['details']!==void 0x0&&(this['details']=_0xb18227['details']);}},a=class{['_worktreeID'];['_trunk'];['_worktree'];constructor(_0x41cde9,_0x319836,_0x3598ea){this['_worktreeID']=_0x41cde9,this['_trunk']=_0x319836,this['_worktree']=_0x3598ea;}async['getUnit'](_0x54b3a0,_0x1a444b){let _0x2480a9=await this['_worktree']['getWorktreeUnit'](_0x54b3a0,this['_worktreeID'],_0x1a444b);return _0x2480a9?{'unitID':_0x2480a9['unitID'],'type':_0x2480a9['type'],'headRevision':_0x2480a9['draftHeadRevision'],'creatorID':_0x2480a9['creatorID'],'createdAt':_0x2480a9['createdAt']}:null;}async['getSnapshot'](_0x190bd3,_0x48ab46,_0x1c6595){let _0x504c8f=await this['_getUnitRecord'](_0x190bd3,_0x48ab46);if(!_0x504c8f)return null;let _0x45b1ec=_0x1c6595?.['revision'],_0x3bd672=_0x45b1ec===void 0x0?_0x504c8f['draftHeadRevision']:Math['min'](_0x45b1ec,_0x504c8f['draftHeadRevision']);if(_0x504c8f['source']==='worktree')return _0x3bd672<0x1?null:(await this['_worktree']['getUnitSeed'](_0x190bd3,this['_worktreeID'],_0x48ab46))?.['snapshot']??null;let _0x4d9cec=o(_0x504c8f);return this['_trunk']['getSnapshot'](_0x190bd3,_0x48ab46,{'revision':Math['min'](_0x3bd672,_0x4d9cec)});}async['getSnapshotInfo'](_0x123db9,_0x3c0444,_0x4923f1){let _0x574257=await this['_getUnitRecord'](_0x123db9,_0x3c0444);if(!_0x574257)return null;let _0x2a4b23=_0x4923f1?.['revision'],_0x99a457=_0x2a4b23===void 0x0?_0x574257['draftHeadRevision']:Math['min'](_0x2a4b23,_0x574257['draftHeadRevision']);return _0x574257['source']==='worktree'?_0x99a457>=0x1?{'unitID':_0x574257['unitID'],'type':_0x574257['type'],'rev':0x1}:null:this['_trunk']['getSnapshotInfo'](_0x123db9,_0x3c0444,{'revision':Math['min'](_0x99a457,o(_0x574257))});}async['getChangesets'](_0x5a2849,_0x243dde,_0x14c150){let _0x51b21e=await this['_getUnitRecord'](_0x5a2849,_0x243dde);if(!_0x51b21e)return null;if(_0x51b21e['source']==='worktree')return this['_worktree']['getDraftChangesets'](_0x5a2849,this['_worktreeID'],_0x243dde,_0x14c150);let _0x433d9c=o(_0x51b21e),_0x2b9c20=Math['min'](_0x14c150['to']??_0x433d9c,_0x433d9c),_0x4f4fb1=_0x14c150['from']<_0x2b9c20?await this['_trunk']['getChangesets'](_0x5a2849,_0x243dde,{'from':_0x14c150['from'],'to':_0x2b9c20}):[];if(_0x4f4fb1===null)return null;let _0x58d43c=Math['max'](_0x14c150['from'],_0x433d9c),_0xe4ce3a=_0x14c150['to']===void 0x0||_0x58d43c<_0x14c150['to']?await this['_worktree']['getDraftChangesets'](_0x5a2849,this['_worktreeID'],_0x243dde,{..._0x14c150,'from':_0x58d43c}):[];return _0xe4ce3a===null?null:[..._0x4f4fb1,..._0xe4ce3a];}async['createUnit'](_0x54a550,_0x372da6){let _0x1f4025=await this['_worktree']['createUnit'](_0x54a550,{'unit':{'worktreeID':this['_worktreeID'],'unitID':_0x372da6['record']['unitID'],'type':_0x372da6['record']['type'],'source':'worktree','draftHeadRevision':0x1,'creatorID':_0x372da6['record']['creatorID'],'createdAt':_0x372da6['record']['createdAt']},'seed':{'snapshot':_0x372da6['snapshot'],..._0x372da6['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x372da6['sheetBlocks']}}});switch(_0x1f4025['status']){case'created':return{'status':'created','record':_0x372da6['record']};case'already-created':{let _0x1ff7b1=_0x1f4025['aggregate']['units']['find'](_0x8dc304=>_0x8dc304['unitID']===_0x372da6['record']['unitID']);return{'status':'already-exists','record':{'unitID':_0x1ff7b1['unitID'],'type':_0x1ff7b1['type'],'headRevision':_0x1ff7b1['draftHeadRevision'],'creatorID':_0x1ff7b1['creatorID'],'createdAt':_0x1ff7b1['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'+_0x372da6['record']['unitID']+'\x20already\x20exists\x20in\x20the\x20Worktree');case'status-mismatch':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20'+this['_worktreeID']+'\x20is\x20not\x20editable');}}['deleteUnits'](_0x59ba47,_0x38b5d2){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20draft'));}['recoverUnits'](_0x3c5b54,_0x5767c1){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20draft'));}async['commitChangeset'](_0x6c748a,_0x1941d7){let _0x5d02ee=await this['_worktree']['commitDraftChangeset'](_0x6c748a,{'worktreeID':this['_worktreeID'],'changeset':_0x1941d7['changeset']});switch(_0x5d02ee['status']){case'committed':case'revision-mismatch':return _0x5d02ee;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'+_0x5d02ee['worktreeStatus']);case'unit-frozen':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20Unit\x20has\x20already\x20been\x20merged');}}['saveSnapshot'](_0x3bbe69,_0x251c06){return Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20draft\x20snapshots\x20are\x20disabled'));}async['getSheetBlock'](_0x523bdc,_0xa92894,_0x5ee52d){let _0x545d4b=await this['_getUnitRecord'](_0x523bdc,_0xa92894);return _0x545d4b?_0x545d4b['source']==='worktree'?(await this['_worktree']['getUnitSeed'](_0x523bdc,this['_worktreeID'],_0xa92894))?.['sheetBlocks']?.['find'](_0xef2ecd=>_0xef2ecd['id']===_0x5ee52d)??null:this['_trunk']['getSheetBlock'](_0x523bdc,_0xa92894,_0x5ee52d):null;}['_getUnitRecord'](_0x39ef79,_0x402762){return this['_worktree']['getWorktreeUnit'](_0x39ef79,this['_worktreeID'],_0x402762);}};function o(_0x4101fa){if(_0x4101fa['source']!=='trunk'||!Number['isSafeInteger'](_0x4101fa['baselineTrunkRevision'])||_0x4101fa['baselineTrunkRevision']<0x1)throw new n['CollabError']('ADAPTER_FAILURE','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x4101fa['baselineTrunkRevision'];}async function s(_0x52213c){let _0x6b603a=new n['UniverUnitRuntime']({'reader':_0x52213c['dbAdapter'],..._0x52213c['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x52213c['runtime']['maxLoadedUnits']},..._0x52213c['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x52213c['runtime']['idleTimeoutMs']}});try{let _0x45e661=await _0x6b603a['ensureUnit'](_0x52213c['context'],_0x52213c['unitID'],_0x52213c['type']);try{if(_0x45e661['revision']!==_0x52213c['expectedRevision'])throw c('Unit\x20Runtime\x20did\x20not\x20reach\x20the\x20frozen\x20Worktree\x20revision');let _0x4ba2e1=await _0x6b603a['createSnapshot'](_0x45e661);if(_0x4ba2e1['snapshot']['unitID']!==_0x52213c['unitID']||_0x4ba2e1['snapshot']['type']!==_0x52213c['type']||_0x4ba2e1['snapshot']['rev']!==_0x52213c['expectedRevision'])throw c('Unit\x20Runtime\x20returned\x20an\x20invalid\x20Worktree\x20snapshot');return _0x4ba2e1;}finally{_0x6b603a['releaseUnit'](_0x45e661);}}finally{await _0x6b603a['dispose']();}}function c(_0x1ecfcb){return new n['CollabError']('ADAPTER_FAILURE',_0x1ecfcb,{'retryable':!0x0});}async function l(_0x2b5c19){let _0x5f0849=new n['UniverUnitRuntime']({'reader':_0x2b5c19['dbAdapter'],..._0x2b5c19['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x2b5c19['runtime']['maxLoadedUnits']},..._0x2b5c19['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x2b5c19['runtime']['idleTimeoutMs']}});try{let _0x53a700=u(_0x5f0849,_0x2b5c19),_0x301642=await _0x5f0849['ensureUnit'](_0x2b5c19['context'],_0x2b5c19['unitID'],_0x2b5c19['type']);try{if(_0x301642['revision']!==_0x2b5c19['trunkHeadRevision'])throw new n['CollabError']('REVISION_MISMATCH','Trunk\x20changed\x20while\x20materializing\x20Worktree\x20merge\x20preview',{'retryable':!0x0});if(await _0x5f0849['applyChangeset'](_0x2b5c19['context'],_0x301642,_0x53a700),_0x301642['revision']!==_0x53a700['revision'])throw new n['CollabError']('INTERNAL_ERROR','Preview\x20Runtime\x20did\x20not\x20reach\x20the\x20merge\x20candidate\x20revision',{'retryable':!0x0});return await _0x5f0849['createSnapshot'](_0x301642);}finally{_0x5f0849['releaseUnit'](_0x301642);}}finally{await _0x5f0849['dispose']();}}function u(_0x2c52b5,_0x138b07){let _0x222be4=_0x2c52b5['changesetTransformer']['parseClient'](_0x138b07['original']);return{..._0x2c52b5['changesetTransformer']['transform'](_0x222be4,_0x138b07['trunkHistory']),'unitID':_0x138b07['original']['unitID'],'type':_0x138b07['original']['type'],'baseRev':_0x138b07['trunkHeadRevision'],'revision':_0x138b07['trunkHeadRevision']+0x1,'sid':_0x138b07['original']['sid'],'reqId':_0x138b07['original']['reqId']};}var d=class{['_middlewares']=new Map();['use'](_0x4d4c42,_0x13fa3b){let _0x735afa=this['_middlewares']['get'](_0x4d4c42)??[],_0x56ef89=_0x13fa3b;_0x735afa['push'](_0x56ef89),this['_middlewares']['set'](_0x4d4c42,_0x735afa);let _0x522bd1=!0x1;return{'dispose':()=>{if(_0x522bd1)return;_0x522bd1=!0x0;let _0x4222d4=_0x735afa['indexOf'](_0x56ef89);_0x4222d4>=0x0&&_0x735afa['splice'](_0x4222d4,0x1);}};}async['run'](_0x3d3748,_0x354326,_0x47b72b){let _0xe7d8c2=[...this['_middlewares']['get'](_0x3d3748)??[]],_0x36b401=async _0x246d09=>{let _0xce1ed7=_0xe7d8c2[_0x246d09];if(!_0xce1ed7){await _0x47b72b();return;}let _0x166d1e=!0x1,_0x3af355,_0x426343=()=>{if(_0x166d1e)throw Error('Middleware\x20for\x20action\x20'+String(_0x3d3748)+'\x20called\x20next()\x20more\x20than\x20once');return _0x166d1e=!0x0,_0x3af355=_0x36b401(_0x246d09+0x1),_0x3af355;};try{await _0xce1ed7(_0x354326,_0x426343);}catch(_0x216379){if(_0x3af355)try{await _0x3af355;}catch{}throw _0x216379;}if(!_0x166d1e)throw Error('Middleware\x20for\x20action\x20'+String(_0x3d3748)+'\x20completed\x20without\x20calling\x20next()');await _0x3af355;};await _0x36b401(0x0);}['clear'](){this['_middlewares']['clear']();}};function f(_0x4331c6){return{'worktreeID':_0x4331c6['worktreeID'],'units':_0x4331c6['units']??[]};}function p(_0xeac98c){return{'worktreeID':_0xeac98c['worktreeID']};}function m(_0xe21c20){return{'worktreeID':_0xe21c20['worktreeID'],'unitID':_0xe21c20['unitID']};}function ee(_0x5d0392){return{'worktreeID':_0x5d0392['worktreeID']};}function te(_0x4047f3){return{'worktreeID':_0x4047f3['worktreeID']};}function h(_0x30b28d){return{'worktreeID':_0x30b28d['worktreeID']};}function g(_0x44c518){return{'worktreeID':_0x44c518['worktreeID']};}function _(_0x597070){return{'worktreeID':_0x597070['worktreeID'],'unitID':_0x597070['unitID']};}function v(_0x1e00b9){return{'worktreeID':_0x1e00b9['worktreeID'],'unitID':_0x1e00b9['unitID'],'removed':_0x1e00b9['removed']};}var y=class{['_onListenerError'];['_listeners']=new Map();constructor(_0x54f4ae){this['_onListenerError']=_0x54f4ae;}['on'](_0x853b1e,_0x1e701a){let _0x28bbf7=this['_listeners']['get'](_0x853b1e)??[],_0x4c8e1f=_0x1e701a;_0x28bbf7['push'](_0x4c8e1f),this['_listeners']['set'](_0x853b1e,_0x28bbf7);let _0x438341=!0x1;return{'dispose':()=>{if(_0x438341)return;_0x438341=!0x0;let _0x21567d=_0x28bbf7['indexOf'](_0x4c8e1f);_0x21567d>=0x0&&_0x28bbf7['splice'](_0x21567d,0x1);}};}async['emit'](_0x269b35,_0x4062c8){for(let _0x27a052 of[...this['_listeners']['get'](_0x269b35)??[]])try{await _0x27a052(_0x4062c8);}catch(_0x2a9a1c){try{this['_onListenerError'](_0x2a9a1c);}catch{}}}['clear'](){this['_listeners']['clear']();}},b=class{['_state']='running';['_activeCalls']=0x0;['_resolveDrain'];['_disposePromise'];get['state'](){return this['_state'];}['run'](_0x2454ff){return this['_state']==='running'?(this['_activeCalls']+=0x1,Promise['resolve']()['then'](_0x2454ff)['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'](_0x56ca6e){return this['_disposePromise']?this['_disposePromise']:(this['_state']='disposing',this['_disposePromise']=this['_finishDispose'](_0x56ca6e),this['_disposePromise']);}async['_finishDispose'](_0x40607a){this['_activeCalls']>0x0&&await new Promise(_0x53d211=>{this['_resolveDrain']=_0x53d211;});try{await _0x40607a();}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(_0x582284){if(!_0x582284?.['trunk']?.['service']||!_0x582284['trunk']['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20trunk\x20service\x20and\x20dbAdapter');if(!_0x582284['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20a\x20Worktree\x20dbAdapter');if(this['_trunkService']=_0x582284['trunk']['service'],this['_trunkDbAdapter']=_0x582284['trunk']['dbAdapter'],this['_dbAdapter']=_0x582284['dbAdapter'],this['_runtimeOptions']=_0x582284['runtime'],this['_enableUnitPermissionAnalysis']=_0x582284['enableUnitPermissionAnalysis']??!0x1,this['_maxRevisionRetries']=_0x582284['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(_0x582284['logger']),this['_metrics']=ie(_0x582284['metrics']),this['_events']=new y(_0x4457a0=>{this['_logger']['error']('Worktree\x20Service\x20event\x20listener\x20failed',{'error':$(_0x4457a0)});});}['use'](_0x2bc068,_0x147e7e){return this['_assertRunning'](),this['_middleware']['use'](_0x2bc068,_0x147e7e);}['on'](_0x2a1bc3,_0xc91a68){return this['_assertRunning'](),this['_events']['on'](_0x2a1bc3,_0xc91a68);}['createWorktree'](_0x5d67e4,_0x3c7899){return this['_call']('createWorktree',async()=>{let _0x3827e1=C(_0x3c7899),_0x483059=f(_0x5d67e4),_0x1ab3b0={..._0x3827e1,'request':_0x483059},_0x8638fd;return await this['_middleware']['run']('createWorktree',_0x1ab3b0,async()=>{S(_0x5d67e4['worktreeID']),D(_0x483059['units']);let _0x365d1a=await Promise['all'](_0x483059['units']['map'](_0x4930f6=>this['_requireTrunkUnit'](_0x1ab3b0,_0x4930f6))),_0x119067=await this['_database'](()=>this['_dbAdapter']['createWorktree'](_0x1ab3b0,{'record':{'worktreeID':_0x5d67e4['worktreeID'],'sid':(0x0,e['randomUUID'])(),'status':'draft'},'units':_0x365d1a['map'](_0x327d67=>({'worktreeID':_0x5d67e4['worktreeID'],'unitID':_0x327d67['unitID'],'type':_0x327d67['type'],'source':'trunk','baselineTrunkRevision':_0x327d67['headRevision'],'draftHeadRevision':_0x327d67['headRevision'],'creatorID':_0x327d67['creatorID'],'createdAt':_0x327d67['createdAt']}))})),_0x2924d5=R(_0x119067['aggregate'],_0x5d67e4['worktreeID']);if(_0x119067['status']==='already-exists')throw new i('WORKTREE_ALREADY_EXISTS','Worktree\x20'+_0x5d67e4['worktreeID']+'\x20already\x20exists');L(_0x2924d5,_0x483059['units']),_0x8638fd={'worktree':_0x2924d5},await this['_events']['emit']('worktreeCreated',{'userID':_0x3827e1['userID'],'customData':_0x3827e1['customData'],'request':_0x483059,'worktree':_0x2924d5,'occurredAt':Date['now']()});}),_0x8638fd;});}['getWorktree'](_0x367d30,_0x3ab4da){return this['_call']('getWorktree',async()=>{let _0x10173a=C(_0x3ab4da),_0x1c0915=p(_0x367d30),_0x404772={..._0x10173a,'request':_0x1c0915},_0x240573;return await this['_middleware']['run']('readWorktreeData',_0x404772,async()=>{S(_0x367d30['worktreeID']);let _0x5c57e8=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x404772,_0x367d30['worktreeID']));if(!_0x5c57e8)throw Y(_0x367d30['worktreeID']);_0x240573={'worktree':R(_0x5c57e8,_0x367d30['worktreeID'])};}),_0x240573;});}['addUnit'](_0x246eba,_0x3c7142){return this['_call']('addUnit',async()=>{let _0x348b5b=C(_0x3c7142),_0x11dd72=m(_0x246eba),_0x41b881={..._0x348b5b,'request':_0x11dd72},_0x13af32;return await this['_middleware']['run']('addWorktreeUnit',_0x41b881,async()=>{if(S(_0x246eba['worktreeID']),!_0x246eba['unitID'])throw X('unitID\x20is\x20required');let _0x131df1=await this['_requireTrunkUnit'](_0x41b881,_0x246eba['unitID']),_0x391964=await this['_database'](()=>this['_dbAdapter']['addUnit'](_0x41b881,{'unit':{'worktreeID':_0x246eba['worktreeID'],'unitID':_0x131df1['unitID'],'type':_0x131df1['type'],'source':'trunk','baselineTrunkRevision':_0x131df1['headRevision'],'draftHeadRevision':_0x131df1['headRevision'],'creatorID':_0x131df1['creatorID'],'createdAt':_0x131df1['createdAt']}}));if(_0x391964['status']==='not-found')throw Y(_0x246eba['worktreeID']);let _0x413e5a=R(_0x391964['aggregate'],_0x246eba['worktreeID']);if(_0x391964['status']==='status-mismatch')throw new i('WORKTREE_NOT_EDITABLE','Worktree\x20'+_0x246eba['worktreeID']+'\x20is\x20'+_0x413e5a['status'],{'details':{'status':_0x413e5a['status']}});if(_0x13af32={'worktree':_0x413e5a},_0x391964['status']==='added'){let _0x358acd=U(_0x413e5a,_0x246eba['unitID']);await this['_events']['emit']('worktreeUnitAdded',{'userID':_0x348b5b['userID'],'customData':_0x348b5b['customData'],'request':_0x11dd72,'worktree':_0x413e5a,'unit':_0x358acd,'occurredAt':Date['now']()});}}),_0x13af32;});}['setUnitRemoved'](_0x2ddce9,_0x5ebf2b){return this['_call']('setUnitRemoved',async()=>{let _0x11d489=C(_0x5ebf2b),_0x209d89=v(_0x2ddce9),_0x26ad4c={..._0x11d489,'request':_0x209d89},_0x1dbe21;return await this['_middleware']['run']('setWorktreeUnitRemoved',_0x26ad4c,async()=>{if(S(_0x209d89['worktreeID']),!_0x209d89['unitID']||typeof _0x209d89['removed']!='boolean')throw X('unitID\x20and\x20a\x20boolean\x20removed\x20flag\x20are\x20required');let _0x5026ea=await this['_database'](()=>this['_dbAdapter']['setUnitRemoved'](_0x26ad4c,_0x209d89));if(_0x5026ea['status']==='not-found')throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x209d89['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x209d89['worktreeID']);if(_0x5026ea['status']==='not-editable')throw new i('WORKTREE_NOT_EDITABLE','Unit\x20removal\x20can\x20only\x20change\x20in\x20an\x20editable\x20draft');let _0x41c760=R(_0x5026ea['aggregate'],_0x209d89['worktreeID']);_0x1dbe21={'worktree':_0x41c760},_0x5026ea['status']==='updated'&&await this['_events']['emit']('worktreeUnitRemovalChanged',{'userID':_0x11d489['userID'],'customData':_0x11d489['customData'],'request':_0x209d89,'worktree':_0x41c760,'unit':U(_0x41c760,_0x209d89['unitID']),'occurredAt':Date['now']()});}),_0x1dbe21;});}['createUnitFromSnapshot'](_0x2d2b92,_0x3a602d){return this['_call']('createUnitFromSnapshot',async()=>{S(_0x2d2b92['worktreeID']);let _0x63da3e=C(_0x3a602d),{worktreeID:_0x1edd0a,..._0x27b29c}=_0x2d2b92;await this['_draftService'](_0x1edd0a)['createUnitFromSnapshot'](_0x27b29c,_0x63da3e);let _0x32cbc6=p({'worktreeID':_0x1edd0a});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x63da3e,'request':_0x32cbc6},_0x1edd0a),_0x1edd0a)};});}['createUnitFromData'](_0x165db0,_0x1601ef){return this['_call']('createUnitFromData',async()=>{S(_0x165db0['worktreeID']);let _0x1947e3=C(_0x1601ef),{worktreeID:_0x1699c9,..._0x263787}=_0x165db0;await this['_draftService'](_0x1699c9)['createUnitFromData'](_0x263787,_0x1947e3);let _0x4eb8c7=p({'worktreeID':_0x1699c9});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x1947e3,'request':_0x4eb8c7},_0x1699c9),_0x1699c9)};});}['markReady'](_0x1ab162,_0x4caefa){return this['_call']('markReady',async()=>{let _0x559829=C(_0x4caefa),_0x324943=ee(_0x1ab162),_0x476776={..._0x559829,'request':_0x324943},_0x44c6d6;return await this['_middleware']['run']('markWorktreeReady',_0x476776,async()=>{_0x44c6d6=await this['_transition'](_0x1ab162['worktreeID'],_0x559829,_0x324943,()=>this['_dbAdapter']['markReady'](_0x476776,_0x1ab162['worktreeID']));}),_0x44c6d6;});}['reopenWorktree'](_0x34235a,_0x5501ea){return this['_call']('reopenWorktree',async()=>{let _0xf630ba=C(_0x5501ea),_0xba1f4d=te(_0x34235a),_0x5bebea={..._0xf630ba,'request':_0xba1f4d},_0x4e7160;return await this['_middleware']['run']('reopenWorktree',_0x5bebea,async()=>{_0x4e7160=await this['_transition'](_0x34235a['worktreeID'],_0xf630ba,_0xba1f4d,()=>this['_dbAdapter']['reopenWorktree'](_0x5bebea,_0x34235a['worktreeID']));}),_0x4e7160;});}['discardWorktree'](_0x4366a8,_0x2855df){return this['_call']('discardWorktree',async()=>{let _0x1030de=C(_0x2855df),_0x156ae1=h(_0x4366a8),_0x2c175a={..._0x1030de,'request':_0x156ae1},_0x4898ad;return await this['_middleware']['run']('discardWorktree',_0x2c175a,async()=>{_0x4898ad=await this['_transition'](_0x4366a8['worktreeID'],_0x1030de,_0x156ae1,()=>this['_dbAdapter']['discardWorktree'](_0x2c175a,_0x4366a8['worktreeID']));}),_0x4898ad;});}['mergeWorktree'](_0x416196,_0x22a722){return this['_call']('mergeWorktree',async()=>{let _0x2b4de5=w(_0x22a722),_0x40ada9=g(_0x416196),_0x190bc6={..._0x2b4de5,'request':_0x40ada9},_0x50149d;return await this['_middleware']['run']('mergeWorktree',_0x190bc6,async()=>{S(_0x416196['worktreeID']);let _0x4096b0=await this['_database'](()=>this['_dbAdapter']['startOrResumeMerge'](_0x190bc6,_0x416196['worktreeID']));if(_0x4096b0['status']==='not-found')throw Y(_0x416196['worktreeID']);let _0x2be6e3=_0x4096b0['aggregate'],_0x4b132e=R(_0x2be6e3,_0x416196['worktreeID']);if(_0x4096b0['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x416196['worktreeID']+'\x20cannot\x20merge\x20from\x20'+_0x4b132e['status'],{'details':{'status':_0x4b132e['status']}});if(_0x4096b0['status']==='already-merged'){_0x50149d={'worktree':_0x4b132e};return;}_0x4096b0['status']==='started'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x2b4de5['userID'],'customData':_0x2b4de5['customData'],'request':_0x40ada9,'worktree':_0x4b132e,'previousStatus':'ready','status':'merging','occurredAt':Date['now']()});for(let _0x460eb8 of _0x2be6e3['units']){if(J(_0x460eb8['mergeResult']))continue;let _0x29dc09=await this['_mergeUnit'](_0x190bc6,_0x2be6e3['worktree']['sid'],_0x460eb8,_0x2b4de5),_0x135edd=await this['_database'](()=>this['_dbAdapter']['recordUnitMergeResult'](_0x190bc6,{'worktreeID':_0x416196['worktreeID'],'unitID':_0x460eb8['unitID'],'readyDraftHeadRevision':O(_0x460eb8),'mergeResult':_0x29dc09}));if(_0x135edd['status']==='not-found')throw Y(_0x416196['worktreeID']);if(_0x135edd['status']==='stale-merge'){if(_0x2be6e3=await this['_requireWorktreeAggregate'](_0x190bc6,_0x416196['worktreeID']),_0x4b132e=R(_0x2be6e3,_0x416196['worktreeID']),_0x2be6e3['worktree']['status']!=='merging')break;continue;}if(_0x135edd['status']!=='recorded'&&_0x135edd['status']!=='already-recorded')throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20result\x20status');_0x2be6e3=_0x135edd['aggregate'],_0x4b132e=R(_0x2be6e3,_0x416196['worktreeID']),_0x135edd['status']==='recorded'&&await this['_events']['emit']('worktreeUnitMergeResultRecorded',{'userID':_0x2b4de5['userID'],'customData':_0x2b4de5['customData'],'request':_0x40ada9,'worktree':_0x4b132e,'unit':U(_0x4b132e,_0x460eb8['unitID']),'occurredAt':Date['now']()});}if(_0x2be6e3['worktree']['status']==='merging'){let _0x10a518=await this['_database'](()=>this['_dbAdapter']['finishMerge'](_0x190bc6,_0x416196['worktreeID']));if(_0x10a518['status']==='not-found')throw Y(_0x416196['worktreeID']);if(_0x2be6e3=_0x10a518['aggregate'],_0x4b132e=R(_0x2be6e3,_0x416196['worktreeID']),_0x10a518['status']==='transitioned')await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x2b4de5['userID'],'customData':_0x2b4de5['customData'],'request':_0x40ada9,'worktree':_0x4b132e,'previousStatus':_0x10a518['previousStatus'],'status':_0x4b132e['status'],'occurredAt':Date['now']()});else{if(_0x10a518['status']==='status-mismatch'&&_0x4b132e['status']!=='ready'&&_0x4b132e['status']!=='merged')throw new i('WORKTREE_STALE_MERGE','Worktree\x20'+_0x416196['worktreeID']+'\x20merge\x20was\x20superseded',{'retryable':!0x0,'details':{'status':_0x4b132e['status']}});}}_0x50149d={'worktree':_0x4b132e};}),_0x50149d;});}['evaluateWorktreeUnitMerge'](_0x18004b,_0xc35e75){return this['_call']('evaluateWorktreeUnitMerge',async()=>{let _0x2c9ea3=C(_0xc35e75),_0x1de26c=_(_0x18004b),_0x5ddbc4={..._0x2c9ea3,'request':_0x1de26c},_0x193be6;return await this['_middleware']['run']('readUnitData',_0x5ddbc4,async()=>{if(S(_0x18004b['worktreeID']),!_0x18004b['unitID'])throw X('unitID\x20is\x20required');let _0x149e62=await this['_requireWorktreeAggregate'](_0x5ddbc4,_0x18004b['worktreeID']);if(_0x149e62['worktree']['status']!=='ready')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x18004b['worktreeID']+'\x20cannot\x20preview\x20from\x20'+_0x149e62['worktree']['status'],{'details':{'status':_0x149e62['worktree']['status']}});let _0x2b8c47=_0x149e62['units']['find'](_0x7dd795=>_0x7dd795['unitID']===_0x18004b['unitID']);if(!_0x2b8c47)throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x18004b['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x18004b['worktreeID']);if(_0x2b8c47['removed']){_0x193be6={'status':'not-applicable','reason':'removed-unit','worktreeID':_0x18004b['worktreeID'],'unitID':_0x18004b['unitID']};return;}if(_0x2b8c47['source']==='worktree'){_0x193be6={'status':'not-applicable','reason':'worktree-created-unit','worktreeID':_0x18004b['worktreeID'],'unitID':_0x18004b['unitID']};return;}if(J(_0x2b8c47['mergeResult'])){_0x193be6={'status':'already-merged','worktreeID':_0x18004b['worktreeID'],'unitID':_0x18004b['unitID'],'mergeResult':q(_0x2b8c47['mergeResult'])};return;}let _0x1a1fdd=B(_0x2b8c47),_0x36620b=O(_0x2b8c47),_0x41cddd=await this['_trunkService']['getUnitLoadData']({'unitID':_0x2b8c47['unitID'],'type':_0x2b8c47['type'],'revision':0x0},_0x2c9ea3);if(_0x41cddd['targetRevision']===_0x1a1fdd){_0x193be6={'status':'not-behind','worktreeID':_0x18004b['worktreeID'],'unitID':_0x18004b['unitID']};return;}if(_0x41cddd['targetRevision']<_0x1a1fdd)throw Z('Trunk\x20head\x20is\x20behind\x20the\x20Worktree\x20baseline');let _0x44ee3a=k(_0x2b8c47,_0x36620b,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x5ddbc4,_0x2b8c47['worktreeID'],_0x2b8c47['unitID'],{'from':_0x1a1fdd,'to':_0x36620b}))),_0x47faa2=await this['_trunkService']['getChangesets']({'unitID':_0x2b8c47['unitID'],'type':_0x2b8c47['type'],'from':_0x1a1fdd,'to':_0x41cddd['targetRevision']},_0x2c9ea3);try{let _0x4daa51={'context':_0x5ddbc4,'dbAdapter':this['_trunkDbAdapter'],'unitID':_0x2b8c47['unitID'],'type':_0x2b8c47['type'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}},_0x37b50b=_0x36620b===_0x1a1fdd?await s({..._0x4daa51,'expectedRevision':_0x41cddd['targetRevision']}):await l({..._0x4daa51,'trunkHeadRevision':_0x41cddd['targetRevision'],'original':A(_0x149e62['worktree']['sid'],_0x2b8c47,_0x36620b,_0x44ee3a,{'userID':_0x2c9ea3['userID'],'memberID':'worktree-merge-preview'}),'trunkHistory':_0x47faa2['changesets']});_0x193be6={'status':'preview','worktreeID':_0x18004b['worktreeID'],'unitID':_0x18004b['unitID'],'preview':_0x37b50b};}catch(_0xdafe23){if(_0xdafe23 instanceof n['CollabError']&&_0xdafe23['code']==='OT_CONFLICT'){_0x193be6={'status':'conflict','worktreeID':_0x18004b['worktreeID'],'unitID':_0x18004b['unitID'],'error':M(_0xdafe23)};return;}throw _0xdafe23;}}),_0x193be6;});}['getUnitLoadData'](_0x24d85f,_0xbb4d92){return this['_call']('getUnitLoadData',()=>(S(_0x24d85f['worktreeID']),this['_draftService'](_0x24d85f['worktreeID'])['getUnitLoadData']({'unitID':_0x24d85f['unitID'],'type':_0x24d85f['type'],'revision':_0x24d85f['revision']},C(_0xbb4d92))));}['getChangesets'](_0xb9518e,_0x7ccc2e){return this['_call']('getChangesets',()=>(S(_0xb9518e['worktreeID']),this['_draftService'](_0xb9518e['worktreeID'])['getChangesets']({'unitID':_0xb9518e['unitID'],'type':_0xb9518e['type'],'from':_0xb9518e['from'],'to':_0xb9518e['to']},C(_0x7ccc2e))));}['getSheetBlock'](_0x587bc5,_0x2af860){return this['_call']('getSheetBlock',()=>(S(_0x587bc5['worktreeID']),this['_draftService'](_0x587bc5['worktreeID'])['getSheetBlock']({'unitID':_0x587bc5['unitID'],'type':_0x587bc5['type'],'blockID':_0x587bc5['blockID']},C(_0x2af860))));}['submitChangeset'](_0x248a50,_0x235d74){return this['_call']('submitChangeset',()=>(S(_0x248a50['worktreeID']),this['_draftService'](_0x248a50['worktreeID'])['submitChangeset']({'changeset':_0x248a50['changeset']},w(_0x235d74))));}['dispose'](){return this['_lifecycle']['dispose'](async()=>{this['_middleware']['clear'](),this['_events']['clear']();let _0x57d91d=[...this['_draftServices']['values']()];this['_draftServices']['clear'](),await Promise['all'](_0x57d91d['map'](_0x20e649=>_0x20e649['dispose']()));});}['_draftService'](_0x5ec435){let _0x569b33=this['_draftServices']['get'](_0x5ec435);if(_0x569b33)return _0x569b33;let _0x1e2ebd=new n['UniverCollabService']({'dbAdapter':new a(_0x5ec435,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 _0x1e2ebd['use']('createUnit',(_0x2c595f,_0xaea7e8)=>{let _0x56465b=E(_0x2c595f['request'],_0x5ec435);return this['_middleware']['run']('createWorktreeUnit',{'userID':_0x2c595f['userID'],'customData':_0x2c595f['customData'],'request':_0x56465b},_0xaea7e8);}),_0x1e2ebd['use']('readUnitData',(_0xe5d65b,_0x12e8e4)=>{let _0x31c364=E(_0xe5d65b['request'],_0x5ec435);return this['_middleware']['run']('readUnitData',{'userID':_0xe5d65b['userID'],'customData':_0xe5d65b['customData'],'request':_0x31c364},_0x12e8e4);}),_0x1e2ebd['use']('submitChangeset',(_0x571f85,_0x8de2f0)=>{let _0x14b9ce=E(_0x571f85['request'],_0x5ec435);return this['_middleware']['run']('submitChangeset',{'userID':_0x571f85['userID'],'memberID':_0x571f85['memberID'],'customData':_0x571f85['customData'],'request':_0x14b9ce},_0x8de2f0);}),_0x1e2ebd['use']('applyChangeset',(_0x32fd39,_0x3918a4)=>{let _0x108b80=E(_0x32fd39['request'],_0x5ec435);return this['_middleware']['run']('applyChangeset',{'userID':_0x32fd39['userID'],'memberID':_0x32fd39['memberID'],'customData':_0x32fd39['customData'],'request':_0x108b80,'attempt':_0x32fd39['attempt'],'currentRevision':_0x32fd39['currentRevision'],'changeset':_0x32fd39['changeset']},_0x3918a4);}),_0x1e2ebd['use']('commitChangeset',(_0x311869,_0x289c2c)=>{let _0x587eb9=E(_0x311869['request'],_0x5ec435);return this['_middleware']['run']('commitChangeset',{'userID':_0x311869['userID'],'memberID':_0x311869['memberID'],'customData':_0x311869['customData'],'request':_0x587eb9,'attempt':_0x311869['attempt'],'expectedHeadRevision':_0x311869['expectedHeadRevision'],'requiredUnitPermissions':_0x311869['requiredUnitPermissions'],'changeset':_0x311869['changeset']},_0x289c2c);}),_0x1e2ebd['on']('changesetCommitted',_0x4f6d9a=>{let _0x29bb2f=E(_0x4f6d9a['request'],_0x5ec435);return this['_events']['emit']('changesetCommitted',{'userID':_0x4f6d9a['userID'],'memberID':_0x4f6d9a['memberID'],'customData':_0x4f6d9a['customData'],'request':_0x29bb2f,'changeset':_0x4f6d9a['changeset'],'requiredUnitPermissions':_0x4f6d9a['requiredUnitPermissions'],'committedAt':_0x4f6d9a['committedAt']});}),_0x1e2ebd['on']('unitCreated',async _0x16d7af=>{let _0x37439e=E(_0x16d7af['request'],_0x5ec435),_0x3bff76=R(await this['_requireWorktreeAggregate']({'userID':_0x16d7af['userID'],'customData':_0x16d7af['customData'],'request':_0x37439e},_0x5ec435),_0x5ec435);await this['_events']['emit']('worktreeUnitCreated',{'userID':_0x16d7af['userID'],'customData':_0x16d7af['customData'],'request':_0x37439e,'worktree':_0x3bff76,'unit':U(_0x3bff76,_0x16d7af['record']['unitID']),'occurredAt':_0x16d7af['createdAt']});}),this['_draftServices']['set'](_0x5ec435,_0x1e2ebd),_0x1e2ebd;}async['_mergeUnit'](_0x31ad78,_0x29a248,_0x2fabf0,_0x45393d){try{if(_0x2fabf0['removed'])return{'status':'removed'};if(_0x2fabf0['source']==='worktree')return await this['_mergeCreatedUnit'](_0x31ad78,_0x2fabf0,_0x45393d);let _0xd4b160=B(_0x2fabf0),_0x46085e=O(_0x2fabf0);if(_0x46085e===_0xd4b160)return{'status':'unchanged'};let _0x473b7c=k(_0x2fabf0,_0x46085e,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x31ad78,_0x2fabf0['worktreeID'],_0x2fabf0['unitID'],{'from':_0xd4b160,'to':_0x46085e}))),_0x1d1fb0=await this['_trunkService']['submitChangeset']({'changeset':A(_0x29a248,_0x2fabf0,_0x46085e,_0x473b7c,_0x45393d)},_0x45393d);return _0x1d1fb0['status']==='committed'||_0x1d1fb0['status']==='already-committed'?{'status':'merged','trunkRevision':_0x1d1fb0['changeset']['revision']}:j('error'in _0x1d1fb0?_0x1d1fb0['error']:Error('Trunk\x20merge\x20failed'));}catch(_0x4caae2){return j(_0x4caae2);}}async['_mergeCreatedUnit'](_0x12e0ca,_0x1c65b4,_0x52004f){let _0x1a70fc=O(_0x1c65b4),_0x325f0a=await this['_database'](()=>this['_dbAdapter']['getUnitMergeArtifact'](_0x12e0ca,_0x1c65b4['worktreeID'],_0x1c65b4['unitID']));if(!_0x325f0a){let _0x3edf77=await s({'context':_0x12e0ca,'dbAdapter':new a(_0x1c65b4['worktreeID'],this['_trunkDbAdapter'],this['_dbAdapter']),'unitID':_0x1c65b4['unitID'],'type':_0x1c65b4['type'],'expectedRevision':_0x1a70fc,...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}});if(!await this['_database'](()=>this['_dbAdapter']['getUnitSeed'](_0x12e0ca,_0x1c65b4['worktreeID'],_0x1c65b4['unitID'])))throw Z('Worktree-created\x20Unit\x20seed\x20is\x20missing');let _0x4dc2d5=await this['_database'](()=>this['_dbAdapter']['saveUnitMergeArtifact'](_0x12e0ca,{'worktreeID':_0x1c65b4['worktreeID'],'unitID':_0x1c65b4['unitID'],'artifact':{'readyDraftHeadRevision':_0x1a70fc,'unit':{'snapshot':H(_0x3edf77['snapshot']),..._0x3edf77['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x3edf77['sheetBlocks']}}}}));if(_0x4dc2d5['status']==='not-found')throw Y(_0x1c65b4['worktreeID']);if(_0x4dc2d5['status']==='stale-merge')throw new i('WORKTREE_STALE_MERGE','Worktree\x20Unit\x20changed\x20while\x20saving\x20its\x20merge\x20artifact',{'retryable':!0x0});if(!('artifact'in _0x4dc2d5))throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20artifact\x20result');_0x325f0a=_0x4dc2d5['artifact'];}if(!_0x325f0a)throw Z('Worktree\x20Unit\x20merge\x20artifact\x20is\x20missing');V(_0x1c65b4,_0x1a70fc,_0x325f0a);let _0x2f5522=_0x325f0a['unit'];if(await this['_trunkService']['createUnitFromSnapshot']({'snapshot':_0x2f5522['snapshot'],'sheetBlocks':[..._0x2f5522['sheetBlocks']??[]]},_0x52004f),!await this['_matchesCreatedTrunkUnit'](_0x12e0ca,_0x1c65b4,_0x2f5522))throw new P('Trunk\x20Unit\x20'+_0x1c65b4['unitID']+'\x20already\x20exists\x20with\x20different\x20content');return{'status':'merged','trunkRevision':0x1};}async['_matchesCreatedTrunkUnit'](_0x297fd3,_0x32671b,_0x29d207){let _0x55da6e=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x297fd3,_0x32671b['unitID']));if(!_0x55da6e||_0x55da6e['type']!==_0x32671b['type']||_0x55da6e['headRevision']<0x1||!F(await this['_database'](()=>this['_trunkDbAdapter']['getSnapshot'](_0x297fd3,_0x32671b['unitID'],{'revision':0x1})),_0x29d207['snapshot']))return!0x1;for(let _0x23c79a of _0x29d207['sheetBlocks']??[])if(!F(await this['_database'](()=>this['_trunkDbAdapter']['getSheetBlock'](_0x297fd3,_0x32671b['unitID'],_0x23c79a['id'])),_0x23c79a))return!0x1;return!0x0;}async['_requireWorktreeAggregate'](_0x399ac4,_0x148860){let _0x3cb95b=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x399ac4,_0x148860));if(!_0x3cb95b)throw Y(_0x148860);return R(_0x3cb95b,_0x148860),_0x3cb95b;}async['_transition'](_0x2b19fc,_0x20dc46,_0x29522d,_0x505fd0){S(_0x2b19fc);let _0x3c5b05=await this['_database'](_0x505fd0);if(_0x3c5b05['status']==='not-found')throw Y(_0x2b19fc);let _0xef9d18=R(_0x3c5b05['aggregate'],_0x2b19fc);if(_0x3c5b05['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x2b19fc+'\x20cannot\x20transition\x20from\x20'+_0xef9d18['status'],{'details':{'status':_0xef9d18['status']}});return _0x3c5b05['status']==='transitioned'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x20dc46['userID'],'customData':_0x20dc46['customData'],'request':_0x29522d,'worktree':_0xef9d18,'previousStatus':_0x3c5b05['previousStatus'],'status':_0xef9d18['status'],'occurredAt':Date['now']()}),{'worktree':_0xef9d18};}async['_requireTrunkUnit'](_0x4bb6d2,_0x1abb0f){let _0x4fcb84=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x4bb6d2,_0x1abb0f));if(!_0x4fcb84)throw new n['CollabError']('UNIT_NOT_FOUND','Trunk\x20Unit\x20'+_0x1abb0f+'\x20does\x20not\x20exist');if(_0x4fcb84['unitID']!==_0x1abb0f||!x['has'](_0x4fcb84['type'])||!Number['isSafeInteger'](_0x4fcb84['headRevision'])||_0x4fcb84['headRevision']<0x1)throw Z('Trunk\x20Database\x20returned\x20invalid\x20Unit\x20metadata');return _0x4fcb84;}async['_database'](_0x121828){try{return await _0x121828();}catch(_0x31c726){throw _0x31c726 instanceof n['CollabError']||_0x31c726 instanceof i?_0x31c726:Z('Database\x20Adapter\x20failed',_0x31c726);}}async['_call'](_0x461541,_0x1fe7e4){try{return this['_metrics']['increment']('collaboration.worktree.service.call',{'operation':_0x461541}),await this['_lifecycle']['run'](_0x1fe7e4);}catch(_0x43e2d7){throw _0x43e2d7 instanceof n['CollabError']||_0x43e2d7 instanceof i?_0x43e2d7:(this['_logger']['error']('Worktree\x20Service\x20operation\x20failed',{'operation':_0x461541,'error':$(_0x43e2d7)}),new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20failed',{'retryable':!0x0,'cause':_0x43e2d7}));}}['_assertRunning'](){if(this['_lifecycle']['state']!=='running')throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_lifecycle']['state'],{'retryable':!0x0});}};function S(_0x1534e1){if(!_0x1534e1)throw X('worktreeID\x20is\x20required');}function C(_0x481b03){return T(_0x481b03),{'userID':_0x481b03['userID'],'customData':_0x481b03['customData']??Object['create'](null)};}function w(_0x4bc78f){if(T(_0x4bc78f),typeof _0x4bc78f['memberID']!='string'||_0x4bc78f['memberID']['length']===0x0)throw X('memberID\x20must\x20be\x20a\x20non-empty\x20string');return{'userID':_0x4bc78f['userID'],'memberID':_0x4bc78f['memberID'],'customData':_0x4bc78f['customData']??Object['create'](null)};}function T(_0x4e33aa){if(!_0x4e33aa||typeof _0x4e33aa!='object')throw X('context\x20must\x20be\x20an\x20object');if(typeof _0x4e33aa['userID']!='string'||_0x4e33aa['userID']['length']===0x0)throw X('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x4e33aa['customData']!==void 0x0&&(_0x4e33aa['customData']===null||typeof _0x4e33aa['customData']!='object'||Array['isArray'](_0x4e33aa['customData'])))throw X('customData\x20must\x20be\x20an\x20object');}function E(_0x151b4d,_0x402880){let _0x1c4a2c=_0x151b4d;if(_0x1c4a2c['worktreeID']!==void 0x0){if(_0x1c4a2c['worktreeID']!==_0x402880)throw new n['CollabError']('INTERNAL_ERROR','Draft\x20Request\x20is\x20bound\x20to\x20a\x20different\x20Worktree',{'retryable':!0x0});return _0x1c4a2c;}return Object['defineProperty'](_0x151b4d,'worktreeID',{'value':_0x402880,'enumerable':!0x0,'configurable':!0x1,'writable':!0x1}),_0x151b4d;}function D(_0x4121be){if(_0x4121be['some'](_0x3799db=>!_0x3799db))throw X('Initial\x20Unit\x20IDs\x20cannot\x20be\x20empty');if(new Set(_0x4121be)['size']!==_0x4121be['length'])throw X('Initial\x20Unit\x20IDs\x20must\x20be\x20unique');}function O(_0x35ae15){let _0x3c9dac=_0x35ae15['readyDraftHeadRevision'],_0x522588=_0x35ae15['source']==='trunk'?B(_0x35ae15):0x1;if(_0x3c9dac===void 0x0||!Number['isSafeInteger'](_0x3c9dac)||_0x3c9dac<_0x522588)throw Z('Merging\x20Worktree\x20Unit\x20has\x20no\x20valid\x20frozen\x20draft\x20head');return _0x3c9dac;}function k(_0x5739c7,_0x26d06c,_0x180a5c){let _0x265128=B(_0x5739c7);if(_0x180a5c===null)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20no\x20longer\x20readable');let _0x4145e3=_0x265128+0x1,_0x4a690c=[];for(let _0x3ba76b of _0x180a5c){if(_0x3ba76b['unitID']!==_0x5739c7['unitID']||_0x3ba76b['type']!==_0x5739c7['type']||_0x3ba76b['baseRev']!==_0x4145e3-0x1||_0x3ba76b['revision']!==_0x4145e3)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20not\x20contiguous');_0x4a690c['push'](...structuredClone(_0x3ba76b['mutations'])),_0x4145e3+=0x1;}if(_0x4145e3-0x1!==_0x26d06c)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20incomplete');return _0x4a690c;}function A(_0x20cb33,_0x188b3f,_0x5df94d,_0x180a42,_0x5b4ed5){let _0x534660=B(_0x188b3f);return{'unitID':_0x188b3f['unitID'],'type':_0x188b3f['type'],'baseRev':_0x534660,'revision':_0x534660+0x1,'userID':_0x5b4ed5['userID'],'memberID':_0x5b4ed5['memberID'],'sid':_0x20cb33,'reqId':_0x5df94d-_0x534660,'mutations':_0x180a42};}function j(_0x595b08){let _0x2bfb18=M(_0x595b08);return _0x595b08 instanceof N||_0x595b08 instanceof P||_0x595b08 instanceof n['CollabError']&&_0x595b08['code']==='OT_CONFLICT'?{'status':'conflict','error':_0x2bfb18}:{'status':'failed','error':_0x2bfb18};}function M(_0x301291){return _0x301291 instanceof N?{'code':'WORKTREE_DRAFT_HISTORY_INVALID','message':_0x301291['message'],'retryable':!0x0}:_0x301291 instanceof P?{'code':'WORKTREE_CREATE_CONFLICT','message':_0x301291['message'],'retryable':!0x1}:_0x301291 instanceof n['CollabError']||_0x301291 instanceof i?{'code':_0x301291['code'],'message':_0x301291['message'],'retryable':_0x301291['retryable']}:{'code':'INTERNAL_ERROR','message':_0x301291 instanceof Error?_0x301291['message']:'Merge\x20failed','retryable':!0x0};}var N=class extends Error{constructor(_0x2a8023){super(_0x2a8023),this['name']='FrozenDraftConflict';}},P=class extends Error{constructor(_0x4f0062){super(_0x4f0062),this['name']='WorktreeCreateConflict';}};function F(_0x13661b,_0x658f1b){return(0x0,t['isDeepStrictEqual'])(I(_0x13661b),I(_0x658f1b));}function I(_0x439866){if(_0x439866!==void 0x0)return JSON['parse'](JSON['stringify'](_0x439866,(_0x4e1cf4,_0x32219a)=>_0x32219a instanceof Uint8Array?{'__univerCollaborationBinary':[..._0x32219a]}:_0x32219a));}function L(_0x2a0845,_0x1505e6){let _0x98c3da=new Set(_0x2a0845['units']['map'](({unitID:_0xaa94f2})=>_0xaa94f2));if(_0x98c3da['size']!==_0x1505e6['length']||_0x1505e6['some'](_0x11ac3a=>!_0x98c3da['has'](_0x11ac3a)))throw Z('Database\x20returned\x20incomplete\x20initial\x20Worktree\x20Units');}function R(_0x280c37,_0x51063b){let {worktree:_0x3063e0,units:_0x14ad20}=_0x280c37;if(_0x3063e0['worktreeID']!==_0x51063b||!_0x3063e0['sid']||!W(_0x3063e0['status']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20metadata');let _0x264d90=new Set(),_0x18a549=_0x14ad20['map'](_0x7c17e0=>{let _0x12bc60=_0x7c17e0['source']==='trunk'&&Number['isSafeInteger'](_0x7c17e0['baselineTrunkRevision'])&&_0x7c17e0['baselineTrunkRevision']>=0x1&&_0x7c17e0['draftHeadRevision']>=_0x7c17e0['baselineTrunkRevision']||_0x7c17e0['source']==='worktree'&&_0x7c17e0['baselineTrunkRevision']===void 0x0&&_0x7c17e0['draftHeadRevision']>=0x1;if(_0x7c17e0['worktreeID']!==_0x51063b||!_0x7c17e0['unitID']||_0x264d90['has'](_0x7c17e0['unitID'])||!x['has'](_0x7c17e0['type'])||!_0x12bc60||!Number['isSafeInteger'](_0x7c17e0['draftHeadRevision'])||_0x7c17e0['readyDraftHeadRevision']!==void 0x0&&_0x7c17e0['readyDraftHeadRevision']!==_0x7c17e0['draftHeadRevision']||_0x7c17e0['mergeResult']!==void 0x0&&_0x7c17e0['readyDraftHeadRevision']===void 0x0||_0x7c17e0['removed']!==void 0x0&&typeof _0x7c17e0['removed']!='boolean'||!G(_0x7c17e0['mergeResult']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20Unit\x20metadata');return _0x264d90['add'](_0x7c17e0['unitID']),z(_0x7c17e0);});if(_0x3063e0['status']==='merged'&&_0x18a549['some'](({mergeResult:_0x35f9a5})=>!J(_0x35f9a5)))throw Z('Merged\x20Worktree\x20contains\x20an\x20incomplete\x20Unit');return{'worktreeID':_0x3063e0['worktreeID'],'status':_0x3063e0['status'],'units':_0x18a549};}function z(_0x3fba78){return{'unitID':_0x3fba78['unitID'],'type':_0x3fba78['type'],'source':_0x3fba78['source'],..._0x3fba78['baselineTrunkRevision']===void 0x0?{}:{'baselineTrunkRevision':_0x3fba78['baselineTrunkRevision']},'draftHeadRevision':_0x3fba78['draftHeadRevision'],..._0x3fba78['readyDraftHeadRevision']===void 0x0?{}:{'readyDraftHeadRevision':_0x3fba78['readyDraftHeadRevision']},..._0x3fba78['removed']===void 0x0?{}:{'removed':_0x3fba78['removed']},..._0x3fba78['mergeResult']===void 0x0?{}:{'mergeResult':K(_0x3fba78['mergeResult'])}};}function B(_0x33d57c){if(_0x33d57c['source']!=='trunk'||!Number['isSafeInteger'](_0x33d57c['baselineTrunkRevision'])||_0x33d57c['baselineTrunkRevision']<0x1)throw Z('Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x33d57c['baselineTrunkRevision'];}function V(_0x430a48,_0x136fa4,_0x370ed0){if(_0x370ed0['readyDraftHeadRevision']!==_0x136fa4||_0x370ed0['unit']['snapshot']['unitID']!==_0x430a48['unitID']||_0x370ed0['unit']['snapshot']['type']!==_0x430a48['type']||_0x370ed0['unit']['snapshot']['rev']!==0x1)throw Z('Database\x20returned\x20an\x20invalid\x20Worktree\x20Unit\x20merge\x20artifact');}function H(_0x307e10){let _0x52b29d={..._0x307e10,'rev':0x1};return _0x307e10['workbook']?{..._0x52b29d,'workbook':{..._0x307e10['workbook'],'rev':0x1}}:_0x307e10['doc']?{..._0x52b29d,'doc':{..._0x307e10['doc'],'rev':0x1}}:_0x307e10['slide']?{..._0x52b29d,'slide':{..._0x307e10['slide'],'rev':0x1}}:_0x307e10['board']?{..._0x52b29d,'board':{..._0x307e10['board'],'rev':0x1}}:_0x52b29d;}function U(_0x375df8,_0x38379c){let _0x54e238=_0x375df8['units']['find'](_0x527aa1=>_0x527aa1['unitID']===_0x38379c);if(!_0x54e238)throw Z('Database\x20omitted\x20the\x20added\x20Worktree\x20Unit');return _0x54e238;}function W(_0x5f0aae){return _0x5f0aae==='draft'||_0x5f0aae==='ready'||_0x5f0aae==='merging'||_0x5f0aae==='merged'||_0x5f0aae==='discarded';}function G(_0x11bcb){return _0x11bcb===void 0x0?!0x0:!_0x11bcb||typeof _0x11bcb!='object'||!('status'in _0x11bcb)?!0x1:_0x11bcb['status']==='unchanged'||_0x11bcb['status']==='removed'?!0x0:_0x11bcb['status']==='merged'&&'trunkRevision'in _0x11bcb?typeof _0x11bcb['trunkRevision']=='number'&&Number['isSafeInteger'](_0x11bcb['trunkRevision'])&&_0x11bcb['trunkRevision']>=0x1:_0x11bcb['status']!=='conflict'&&_0x11bcb['status']!=='failed'||!('error'in _0x11bcb)||!_0x11bcb['error']||typeof _0x11bcb['error']!='object'||!('code'in _0x11bcb['error'])||!('message'in _0x11bcb['error'])||!('retryable'in _0x11bcb['error'])?!0x1:typeof _0x11bcb['error']['code']=='string'&&!!_0x11bcb['error']['code']&&typeof _0x11bcb['error']['message']=='string'&&!!_0x11bcb['error']['message']&&typeof _0x11bcb['error']['retryable']=='boolean';}function K(_0x56dede){return _0x56dede['status']==='merged'?{'status':'merged','trunkRevision':_0x56dede['trunkRevision']}:_0x56dede['status']==='unchanged'||_0x56dede['status']==='removed'?{'status':_0x56dede['status']}:{'status':_0x56dede['status'],'error':{'code':_0x56dede['error']['code'],'message':_0x56dede['error']['message'],'retryable':_0x56dede['error']['retryable']}};}function q(_0x2fae02){if(_0x2fae02?.['status']==='merged')return{'status':'merged','trunkRevision':_0x2fae02['trunkRevision']};if(_0x2fae02?.['status']==='unchanged')return{'status':'unchanged'};throw Z('Worktree\x20Unit\x20merge\x20result\x20is\x20not\x20terminal');}function J(_0x559f27){return _0x559f27?.['status']==='merged'||_0x559f27?.['status']==='unchanged'||_0x559f27?.['status']==='removed';}function Y(_0x56c1ab){return new i('WORKTREE_NOT_FOUND','Worktree\x20'+_0x56c1ab+'\x20does\x20not\x20exist');}function X(_0x50dd95){return new n['CollabError']('INVALID_REQUEST',_0x50dd95);}function Z(_0x23027e,_0xe3c6a9){return new n['CollabError']('ADAPTER_FAILURE',_0x23027e,{'retryable':!0x0,..._0xe3c6a9===void 0x0?{}:{'cause':_0xe3c6a9}});}function re(_0x458e73){return _0x458e73?{'debug':(..._0x45bd68)=>Q(()=>_0x458e73['debug'](..._0x45bd68)),'info':(..._0x412ab6)=>Q(()=>_0x458e73['info'](..._0x412ab6)),'warn':(..._0xcb699e)=>Q(()=>_0x458e73['warn'](..._0xcb699e)),'error':(..._0x5bcf2c)=>Q(()=>_0x458e73['error'](..._0x5bcf2c))}:{'debug':()=>void 0x0,'info':()=>void 0x0,'warn':()=>void 0x0,'error':()=>void 0x0};}function ie(_0xbf8635){return _0xbf8635?{'increment':(..._0x19a77c)=>Q(()=>_0xbf8635['increment'](..._0x19a77c)),'observe':(..._0x84b1c5)=>Q(()=>_0xbf8635['observe'](..._0x84b1c5))}:{'increment':()=>void 0x0,'observe':()=>void 0x0};}function Q(_0x890c56){try{_0x890c56();}catch{}}function $(_0x471b5d){return _0x471b5d instanceof Error?_0x471b5d['message']:String(_0x471b5d);}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');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;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- function _0x6a37(_0x139ba9,_0x370c57){_0x139ba9=_0x139ba9-0x151;const _0x45556e=_0x4555();let _0x6a3780=_0x45556e[_0x139ba9];return _0x6a3780;}function _0x4555(){const _0x14a6eb=['2114127pJilpT','480dksDey','WorktreeError','1577878ncxvpB','79282Pwelje','3WWEewE','2863428zuYSSc','190bogwWN','1511665AfZvpY','252308mEEXOK','5790184KpcRls'];_0x4555=function(){return _0x14a6eb;};return _0x4555();}const _0x34042b=_0x6a37;(function(_0x2c12e5,_0x4e35e3){const _0x3b0d4d=_0x6a37,_0x121e33=_0x2c12e5();while(!![]){try{const _0x4237b2=-parseInt(_0x3b0d4d(0x154))/0x1+-parseInt(_0x3b0d4d(0x159))/0x2+parseInt(_0x3b0d4d(0x15b))/0x3*(-parseInt(_0x3b0d4d(0x151))/0x4)+-parseInt(_0x3b0d4d(0x153))/0x5+parseInt(_0x3b0d4d(0x157))/0x6*(-parseInt(_0x3b0d4d(0x15a))/0x7)+-parseInt(_0x3b0d4d(0x155))/0x8+-parseInt(_0x3b0d4d(0x156))/0x9*(-parseInt(_0x3b0d4d(0x152))/0xa);if(_0x4237b2===_0x4e35e3)break;else _0x121e33['push'](_0x121e33['shift']());}catch(_0x50cc28){_0x121e33['push'](_0x121e33['shift']());}}}(_0x4555,0xbceeb));import _0x32a57f from'./index.cjs';const facadeExport0=_0x32a57f['UniverCollabWorktreeService'],facadeExport1=_0x32a57f[_0x34042b(0x158)];export{facadeExport0 as UniverCollabWorktreeService,facadeExport1 as WorktreeError};
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};
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.2",
4
+ "version": "1.0.3",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
7
7
  "types": "./dist/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@univerjs-pro/collaboration-service": "1.0.2",
20
- "@univerjs/protocol": "1.0.2"
19
+ "@univerjs-pro/collaboration-service": "1.0.3",
20
+ "@univerjs/protocol": "1.0.3"
21
21
  }
22
22
  }