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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});let e=require('node:crypto'),t=require('node:util'),n=require('@univerjs-pro/collaboration-service'),r=require('@univerjs/protocol');var i=class extends Error{['code'];['retryable'];['details'];constructor(_0x2e9981,_0x59e953,_0x53611f={}){super(_0x59e953,{'cause':_0x53611f['cause']}),this['name']='WorktreeError',this['code']=_0x2e9981,this['retryable']=_0x53611f['retryable']??!0x1,_0x53611f['details']!==void 0x0&&(this['details']=_0x53611f['details']);}},a=class{['_worktreeID'];['_trunk'];['_worktree'];constructor(_0x50d4e1,_0x23f79b,_0x52b599){this['_worktreeID']=_0x50d4e1,this['_trunk']=_0x23f79b,this['_worktree']=_0x52b599;}async['getUnit'](_0x167ba6,_0x4e4d8e){let _0x4eec16=await this['_worktree']['getWorktreeUnit'](_0x167ba6,this['_worktreeID'],_0x4e4d8e);return _0x4eec16?{'unitID':_0x4eec16['unitID'],'type':_0x4eec16['type'],'headRevision':_0x4eec16['draftHeadRevision'],'creatorID':_0x4eec16['creatorID'],'createdAt':_0x4eec16['createdAt']}:null;}async['getSnapshot'](_0x26d6ca,_0x49314b,_0x12500a){let _0x29958c=await this['_getUnitRecord'](_0x26d6ca,_0x49314b);if(!_0x29958c)return null;let _0x4d5028=_0x12500a?.['revision'],_0x552b10=_0x4d5028===void 0x0?_0x29958c['draftHeadRevision']:Math['min'](_0x4d5028,_0x29958c['draftHeadRevision']);if(_0x29958c['source']==='worktree')return _0x552b10<0x1?null:(await this['_worktree']['getUnitSeed'](_0x26d6ca,this['_worktreeID'],_0x49314b))?.['snapshot']??null;let _0x7249a9=o(_0x29958c);return this['_trunk']['getSnapshot'](_0x26d6ca,_0x49314b,{'revision':Math['min'](_0x552b10,_0x7249a9)});}async['getSnapshotInfo'](_0x53c7ad,_0x5b9a49,_0x5ad691){let _0x7a6bd7=await this['_getUnitRecord'](_0x53c7ad,_0x5b9a49);if(!_0x7a6bd7)return null;let _0x3ed348=_0x5ad691?.['revision'],_0x468ca0=_0x3ed348===void 0x0?_0x7a6bd7['draftHeadRevision']:Math['min'](_0x3ed348,_0x7a6bd7['draftHeadRevision']);return _0x7a6bd7['source']==='worktree'?_0x468ca0>=0x1?{'unitID':_0x7a6bd7['unitID'],'type':_0x7a6bd7['type'],'rev':0x1}:null:this['_trunk']['getSnapshotInfo'](_0x53c7ad,_0x5b9a49,{'revision':Math['min'](_0x468ca0,o(_0x7a6bd7))});}async['getChangesets'](_0x548961,_0x20e118,_0x543590){let _0x1534b0=await this['_getUnitRecord'](_0x548961,_0x20e118);if(!_0x1534b0)return null;if(_0x1534b0['source']==='worktree')return this['_worktree']['getDraftChangesets'](_0x548961,this['_worktreeID'],_0x20e118,_0x543590);let _0x55f326=o(_0x1534b0),_0x203774=Math['min'](_0x543590['to']??_0x55f326,_0x55f326),_0x256255=_0x543590['from']<_0x203774?await this['_trunk']['getChangesets'](_0x548961,_0x20e118,{'from':_0x543590['from'],'to':_0x203774}):[];if(_0x256255===null)return null;let _0x56c65c=Math['max'](_0x543590['from'],_0x55f326),_0x1fafc4=_0x543590['to']===void 0x0||_0x56c65c<_0x543590['to']?await this['_worktree']['getDraftChangesets'](_0x548961,this['_worktreeID'],_0x20e118,{..._0x543590,'from':_0x56c65c}):[];return _0x1fafc4===null?null:[..._0x256255,..._0x1fafc4];}async['createUnit'](_0x542e28,_0x10cda3){let _0x3129b1=await this['_worktree']['createUnit'](_0x542e28,{'unit':{'worktreeID':this['_worktreeID'],'unitID':_0x10cda3['record']['unitID'],'type':_0x10cda3['record']['type'],'source':'worktree','draftHeadRevision':0x1,'creatorID':_0x10cda3['record']['creatorID'],'createdAt':_0x10cda3['record']['createdAt']},'seed':{'snapshot':_0x10cda3['snapshot'],..._0x10cda3['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x10cda3['sheetBlocks']}}});switch(_0x3129b1['status']){case'created':return{'status':'created','record':_0x10cda3['record']};case'already-created':{let _0x16b4fa=_0x3129b1['aggregate']['units']['find'](_0x645507=>_0x645507['unitID']===_0x10cda3['record']['unitID']);return{'status':'already-exists','record':{'unitID':_0x16b4fa['unitID'],'type':_0x16b4fa['type'],'headRevision':_0x16b4fa['draftHeadRevision'],'creatorID':_0x16b4fa['creatorID'],'createdAt':_0x16b4fa['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'+_0x10cda3['record']['unitID']+'\x20already\x20exists\x20in\x20the\x20Worktree');case'status-mismatch':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20'+this['_worktreeID']+'\x20is\x20not\x20editable');}}['deleteUnits'](_0x2c00da,_0x1c30a8){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20draft'));}['recoverUnits'](_0x6413bd,_0x3490d3){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20draft'));}async['commitChangeset'](_0x1b84f2,_0x5b688b){let _0x2574ee=await this['_worktree']['commitDraftChangeset'](_0x1b84f2,{'worktreeID':this['_worktreeID'],'changeset':_0x5b688b['changeset']});switch(_0x2574ee['status']){case'committed':case'revision-mismatch':return _0x2574ee;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'+_0x2574ee['worktreeStatus']);case'unit-frozen':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20Unit\x20has\x20already\x20been\x20merged');}}['saveSnapshot'](_0x1897e6,_0x4f114b){return Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20draft\x20snapshots\x20are\x20disabled'));}async['getSheetBlock'](_0x270651,_0x59aa6a,_0xe5567e){let _0xd65895=await this['_getUnitRecord'](_0x270651,_0x59aa6a);return _0xd65895?_0xd65895['source']==='worktree'?(await this['_worktree']['getUnitSeed'](_0x270651,this['_worktreeID'],_0x59aa6a))?.['sheetBlocks']?.['find'](_0x57c7d1=>_0x57c7d1['id']===_0xe5567e)??null:this['_trunk']['getSheetBlock'](_0x270651,_0x59aa6a,_0xe5567e):null;}['_getUnitRecord'](_0x4b15be,_0x350e69){return this['_worktree']['getWorktreeUnit'](_0x4b15be,this['_worktreeID'],_0x350e69);}};function o(_0x49e933){if(_0x49e933['source']!=='trunk'||!Number['isSafeInteger'](_0x49e933['baselineTrunkRevision'])||_0x49e933['baselineTrunkRevision']<0x1)throw new n['CollabError']('ADAPTER_FAILURE','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x49e933['baselineTrunkRevision'];}async function s(_0x37699e){let _0x5bf56a=new n['UniverUnitRuntime']({'reader':_0x37699e['dbAdapter'],..._0x37699e['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x37699e['runtime']['maxLoadedUnits']},..._0x37699e['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x37699e['runtime']['idleTimeoutMs']}});try{let _0xb43be6=await _0x5bf56a['ensureUnit'](_0x37699e['context'],_0x37699e['unitID'],_0x37699e['type']);try{if(_0xb43be6['revision']!==_0x37699e['expectedRevision'])throw c('Unit\x20Runtime\x20did\x20not\x20reach\x20the\x20frozen\x20Worktree\x20revision');let _0x4d9e0e=await _0x5bf56a['createSnapshot'](_0xb43be6);if(_0x4d9e0e['snapshot']['unitID']!==_0x37699e['unitID']||_0x4d9e0e['snapshot']['type']!==_0x37699e['type']||_0x4d9e0e['snapshot']['rev']!==_0x37699e['expectedRevision'])throw c('Unit\x20Runtime\x20returned\x20an\x20invalid\x20Worktree\x20snapshot');return _0x4d9e0e;}finally{_0x5bf56a['releaseUnit'](_0xb43be6);}}finally{await _0x5bf56a['dispose']();}}function c(_0x51a457){return new n['CollabError']('ADAPTER_FAILURE',_0x51a457,{'retryable':!0x0});}async function l(_0x2678a2){let _0x568bb4=new n['UniverUnitRuntime']({'reader':_0x2678a2['dbAdapter'],..._0x2678a2['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x2678a2['runtime']['maxLoadedUnits']},..._0x2678a2['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x2678a2['runtime']['idleTimeoutMs']}});try{let _0x346421=u(_0x568bb4,_0x2678a2),_0x1c992a=await _0x568bb4['ensureUnit'](_0x2678a2['context'],_0x2678a2['unitID'],_0x2678a2['type']);try{if(_0x1c992a['revision']!==_0x2678a2['trunkHeadRevision'])throw new n['CollabError']('REVISION_MISMATCH','Trunk\x20changed\x20while\x20materializing\x20Worktree\x20merge\x20preview',{'retryable':!0x0});if(await _0x568bb4['applyChangeset'](_0x2678a2['context'],_0x1c992a,_0x346421),_0x1c992a['revision']!==_0x346421['revision'])throw new n['CollabError']('INTERNAL_ERROR','Preview\x20Runtime\x20did\x20not\x20reach\x20the\x20merge\x20candidate\x20revision',{'retryable':!0x0});return await _0x568bb4['createSnapshot'](_0x1c992a);}finally{_0x568bb4['releaseUnit'](_0x1c992a);}}finally{await _0x568bb4['dispose']();}}function u(_0x2bd56c,_0x348d99){let _0x49925a=_0x2bd56c['changesetTransformer']['parseClient'](_0x348d99['original']);return{..._0x2bd56c['changesetTransformer']['transform'](_0x49925a,_0x348d99['trunkHistory']),'unitID':_0x348d99['original']['unitID'],'type':_0x348d99['original']['type'],'baseRev':_0x348d99['trunkHeadRevision'],'revision':_0x348d99['trunkHeadRevision']+0x1,'sid':_0x348d99['original']['sid'],'reqId':_0x348d99['original']['reqId']};}var d=class{['_middlewares']=new Map();['use'](_0x1e44a0,_0x421264){let _0x1b682a=this['_middlewares']['get'](_0x1e44a0)??[],_0xaf145a=_0x421264;_0x1b682a['push'](_0xaf145a),this['_middlewares']['set'](_0x1e44a0,_0x1b682a);let _0x2dcf83=!0x1;return{'dispose':()=>{if(_0x2dcf83)return;_0x2dcf83=!0x0;let _0x149132=_0x1b682a['indexOf'](_0xaf145a);_0x149132>=0x0&&_0x1b682a['splice'](_0x149132,0x1);}};}async['run'](_0x52d415,_0x5f0a77,_0x468869){let _0x3217ba=[...this['_middlewares']['get'](_0x52d415)??[]],_0x3a511e=async _0x2e64fe=>{let _0x1bcc8e=_0x3217ba[_0x2e64fe];if(!_0x1bcc8e){await _0x468869();return;}let _0xc8482c=!0x1,_0x1ac174,_0x1870f8=()=>{if(_0xc8482c)throw Error('Middleware\x20for\x20action\x20'+String(_0x52d415)+'\x20called\x20next()\x20more\x20than\x20once');return _0xc8482c=!0x0,_0x1ac174=_0x3a511e(_0x2e64fe+0x1),_0x1ac174;};try{await _0x1bcc8e(_0x5f0a77,_0x1870f8);}catch(_0x1fd096){if(_0x1ac174)try{await _0x1ac174;}catch{}throw _0x1fd096;}if(!_0xc8482c)throw Error('Middleware\x20for\x20action\x20'+String(_0x52d415)+'\x20completed\x20without\x20calling\x20next()');await _0x1ac174;};await _0x3a511e(0x0);}['clear'](){this['_middlewares']['clear']();}};function f(_0x946bf){return{'worktreeID':_0x946bf['worktreeID'],'units':_0x946bf['units']??[]};}function p(_0x27a182){return{'worktreeID':_0x27a182['worktreeID']};}function m(_0x63510d){return{'worktreeID':_0x63510d['worktreeID'],'unitID':_0x63510d['unitID']};}function ee(_0x39528a){return{'worktreeID':_0x39528a['worktreeID']};}function te(_0x251ad7){return{'worktreeID':_0x251ad7['worktreeID']};}function h(_0x3357e3){return{'worktreeID':_0x3357e3['worktreeID']};}function g(_0x3488bb){return{'worktreeID':_0x3488bb['worktreeID']};}function _(_0xcf2df8){return{'worktreeID':_0xcf2df8['worktreeID'],'unitID':_0xcf2df8['unitID']};}function v(_0x3530cf){return{'worktreeID':_0x3530cf['worktreeID'],'unitID':_0x3530cf['unitID'],'removed':_0x3530cf['removed']};}var y=class{['_onListenerError'];['_listeners']=new Map();constructor(_0x887cae){this['_onListenerError']=_0x887cae;}['on'](_0x5b8dd3,_0x5de6eb){let _0x26ee93=this['_listeners']['get'](_0x5b8dd3)??[],_0x43d7ce=_0x5de6eb;_0x26ee93['push'](_0x43d7ce),this['_listeners']['set'](_0x5b8dd3,_0x26ee93);let _0x4261b2=!0x1;return{'dispose':()=>{if(_0x4261b2)return;_0x4261b2=!0x0;let _0x453bb2=_0x26ee93['indexOf'](_0x43d7ce);_0x453bb2>=0x0&&_0x26ee93['splice'](_0x453bb2,0x1);}};}async['emit'](_0x3d7d6f,_0x28c4c8){for(let _0xfebe9e of[...this['_listeners']['get'](_0x3d7d6f)??[]])try{await _0xfebe9e(_0x28c4c8);}catch(_0x300963){try{this['_onListenerError'](_0x300963);}catch{}}}['clear'](){this['_listeners']['clear']();}},b=class{['_state']='running';['_activeCalls']=0x0;['_resolveDrain'];['_disposePromise'];get['state'](){return this['_state'];}['run'](_0x848f2b){return this['_state']==='running'?(this['_activeCalls']+=0x1,Promise['resolve']()['then'](_0x848f2b)['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'](_0x39d4b3){return this['_disposePromise']?this['_disposePromise']:(this['_state']='disposing',this['_disposePromise']=this['_finishDispose'](_0x39d4b3),this['_disposePromise']);}async['_finishDispose'](_0xd46ad5){this['_activeCalls']>0x0&&await new Promise(_0x341534=>{this['_resolveDrain']=_0x341534;});try{await _0xd46ad5();}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(_0x1a3529){if(!_0x1a3529?.['trunk']?.['service']||!_0x1a3529['trunk']['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20trunk\x20service\x20and\x20dbAdapter');if(!_0x1a3529['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20a\x20Worktree\x20dbAdapter');if(this['_trunkService']=_0x1a3529['trunk']['service'],this['_trunkDbAdapter']=_0x1a3529['trunk']['dbAdapter'],this['_dbAdapter']=_0x1a3529['dbAdapter'],this['_runtimeOptions']=_0x1a3529['runtime'],this['_enableUnitPermissionAnalysis']=_0x1a3529['enableUnitPermissionAnalysis']??!0x1,this['_maxRevisionRetries']=_0x1a3529['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(_0x1a3529['logger']),this['_metrics']=ie(_0x1a3529['metrics']),this['_events']=new y(_0x4f6e14=>{this['_logger']['error']('Worktree\x20Service\x20event\x20listener\x20failed',{'error':$(_0x4f6e14)});});}['use'](_0x4bc20d,_0xaccfa6){return this['_assertRunning'](),this['_middleware']['use'](_0x4bc20d,_0xaccfa6);}['on'](_0x117325,_0x12456b){return this['_assertRunning'](),this['_events']['on'](_0x117325,_0x12456b);}['createWorktree'](_0xa056c,_0x2fb940){return this['_call']('createWorktree',async()=>{let _0x1e7421=C(_0x2fb940),_0x3ab88d=f(_0xa056c),_0x4496af={..._0x1e7421,'request':_0x3ab88d},_0x2c61de;return await this['_middleware']['run']('createWorktree',_0x4496af,async()=>{S(_0xa056c['worktreeID']),D(_0x3ab88d['units']);let _0x5c336d=await Promise['all'](_0x3ab88d['units']['map'](_0x2595f7=>this['_requireTrunkUnit'](_0x4496af,_0x2595f7))),_0x4e44a2=await this['_database'](()=>this['_dbAdapter']['createWorktree'](_0x4496af,{'record':{'worktreeID':_0xa056c['worktreeID'],'sid':(0x0,e['randomUUID'])(),'status':'draft'},'units':_0x5c336d['map'](_0x3f40b3=>({'worktreeID':_0xa056c['worktreeID'],'unitID':_0x3f40b3['unitID'],'type':_0x3f40b3['type'],'source':'trunk','baselineTrunkRevision':_0x3f40b3['headRevision'],'draftHeadRevision':_0x3f40b3['headRevision'],'creatorID':_0x3f40b3['creatorID'],'createdAt':_0x3f40b3['createdAt']}))})),_0x188896=R(_0x4e44a2['aggregate'],_0xa056c['worktreeID']);if(_0x4e44a2['status']==='already-exists')throw new i('WORKTREE_ALREADY_EXISTS','Worktree\x20'+_0xa056c['worktreeID']+'\x20already\x20exists');L(_0x188896,_0x3ab88d['units']),_0x2c61de={'worktree':_0x188896},await this['_events']['emit']('worktreeCreated',{'userID':_0x1e7421['userID'],'customData':_0x1e7421['customData'],'request':_0x3ab88d,'worktree':_0x188896,'occurredAt':Date['now']()});}),_0x2c61de;});}['getWorktree'](_0x40d383,_0x350c2b){return this['_call']('getWorktree',async()=>{let _0x42cfb1=C(_0x350c2b),_0x20ae2e=p(_0x40d383),_0x13c3df={..._0x42cfb1,'request':_0x20ae2e},_0x48b923;return await this['_middleware']['run']('readWorktreeData',_0x13c3df,async()=>{S(_0x40d383['worktreeID']);let _0x5de2bc=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x13c3df,_0x40d383['worktreeID']));if(!_0x5de2bc)throw Y(_0x40d383['worktreeID']);_0x48b923={'worktree':R(_0x5de2bc,_0x40d383['worktreeID'])};}),_0x48b923;});}['addUnit'](_0x5c0363,_0x373826){return this['_call']('addUnit',async()=>{let _0x26074a=C(_0x373826),_0x1b0760=m(_0x5c0363),_0x193316={..._0x26074a,'request':_0x1b0760},_0x53010b;return await this['_middleware']['run']('addWorktreeUnit',_0x193316,async()=>{if(S(_0x5c0363['worktreeID']),!_0x5c0363['unitID'])throw X('unitID\x20is\x20required');let _0x6094cb=await this['_requireTrunkUnit'](_0x193316,_0x5c0363['unitID']),_0x54a592=await this['_database'](()=>this['_dbAdapter']['addUnit'](_0x193316,{'unit':{'worktreeID':_0x5c0363['worktreeID'],'unitID':_0x6094cb['unitID'],'type':_0x6094cb['type'],'source':'trunk','baselineTrunkRevision':_0x6094cb['headRevision'],'draftHeadRevision':_0x6094cb['headRevision'],'creatorID':_0x6094cb['creatorID'],'createdAt':_0x6094cb['createdAt']}}));if(_0x54a592['status']==='not-found')throw Y(_0x5c0363['worktreeID']);let _0x435fc9=R(_0x54a592['aggregate'],_0x5c0363['worktreeID']);if(_0x54a592['status']==='status-mismatch')throw new i('WORKTREE_NOT_EDITABLE','Worktree\x20'+_0x5c0363['worktreeID']+'\x20is\x20'+_0x435fc9['status'],{'details':{'status':_0x435fc9['status']}});if(_0x53010b={'worktree':_0x435fc9},_0x54a592['status']==='added'){let _0x196b9f=U(_0x435fc9,_0x5c0363['unitID']);await this['_events']['emit']('worktreeUnitAdded',{'userID':_0x26074a['userID'],'customData':_0x26074a['customData'],'request':_0x1b0760,'worktree':_0x435fc9,'unit':_0x196b9f,'occurredAt':Date['now']()});}}),_0x53010b;});}['setUnitRemoved'](_0x350281,_0x58b697){return this['_call']('setUnitRemoved',async()=>{let _0x18eb4a=C(_0x58b697),_0x4a6a08=v(_0x350281),_0x54ea25={..._0x18eb4a,'request':_0x4a6a08},_0x17a342;return await this['_middleware']['run']('setWorktreeUnitRemoved',_0x54ea25,async()=>{if(S(_0x4a6a08['worktreeID']),!_0x4a6a08['unitID']||typeof _0x4a6a08['removed']!='boolean')throw X('unitID\x20and\x20a\x20boolean\x20removed\x20flag\x20are\x20required');let _0xa8b68a=await this['_database'](()=>this['_dbAdapter']['setUnitRemoved'](_0x54ea25,_0x4a6a08));if(_0xa8b68a['status']==='not-found')throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x4a6a08['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x4a6a08['worktreeID']);if(_0xa8b68a['status']==='not-editable')throw new i('WORKTREE_NOT_EDITABLE','Unit\x20removal\x20can\x20only\x20change\x20in\x20an\x20editable\x20draft');let _0x30e92d=R(_0xa8b68a['aggregate'],_0x4a6a08['worktreeID']);_0x17a342={'worktree':_0x30e92d},_0xa8b68a['status']==='updated'&&await this['_events']['emit']('worktreeUnitRemovalChanged',{'userID':_0x18eb4a['userID'],'customData':_0x18eb4a['customData'],'request':_0x4a6a08,'worktree':_0x30e92d,'unit':U(_0x30e92d,_0x4a6a08['unitID']),'occurredAt':Date['now']()});}),_0x17a342;});}['createUnitFromSnapshot'](_0x1bcd07,_0xfd3729){return this['_call']('createUnitFromSnapshot',async()=>{S(_0x1bcd07['worktreeID']);let _0x99a8a2=C(_0xfd3729),{worktreeID:_0x5d8053,..._0x3c9161}=_0x1bcd07;await this['_draftService'](_0x5d8053)['createUnitFromSnapshot'](_0x3c9161,_0x99a8a2);let _0x231a49=p({'worktreeID':_0x5d8053});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x99a8a2,'request':_0x231a49},_0x5d8053),_0x5d8053)};});}['createUnitFromData'](_0x3274de,_0x4a5292){return this['_call']('createUnitFromData',async()=>{S(_0x3274de['worktreeID']);let _0x850153=C(_0x4a5292),{worktreeID:_0x155552,..._0xe8c5fc}=_0x3274de;await this['_draftService'](_0x155552)['createUnitFromData'](_0xe8c5fc,_0x850153);let _0x154866=p({'worktreeID':_0x155552});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x850153,'request':_0x154866},_0x155552),_0x155552)};});}['markReady'](_0x5ae3e1,_0x1f2a83){return this['_call']('markReady',async()=>{let _0x402dac=C(_0x1f2a83),_0x396549=ee(_0x5ae3e1),_0x546244={..._0x402dac,'request':_0x396549},_0x3ba7d9;return await this['_middleware']['run']('markWorktreeReady',_0x546244,async()=>{_0x3ba7d9=await this['_transition'](_0x5ae3e1['worktreeID'],_0x402dac,_0x396549,()=>this['_dbAdapter']['markReady'](_0x546244,_0x5ae3e1['worktreeID']));}),_0x3ba7d9;});}['reopenWorktree'](_0x50e738,_0x46025a){return this['_call']('reopenWorktree',async()=>{let _0x1f5ebe=C(_0x46025a),_0x260c8c=te(_0x50e738),_0x30d6d1={..._0x1f5ebe,'request':_0x260c8c},_0x3503d5;return await this['_middleware']['run']('reopenWorktree',_0x30d6d1,async()=>{_0x3503d5=await this['_transition'](_0x50e738['worktreeID'],_0x1f5ebe,_0x260c8c,()=>this['_dbAdapter']['reopenWorktree'](_0x30d6d1,_0x50e738['worktreeID']));}),_0x3503d5;});}['discardWorktree'](_0x25a9b6,_0x36da1f){return this['_call']('discardWorktree',async()=>{let _0xc1ac39=C(_0x36da1f),_0xc4c17=h(_0x25a9b6),_0x21d3be={..._0xc1ac39,'request':_0xc4c17},_0x1115db;return await this['_middleware']['run']('discardWorktree',_0x21d3be,async()=>{_0x1115db=await this['_transition'](_0x25a9b6['worktreeID'],_0xc1ac39,_0xc4c17,()=>this['_dbAdapter']['discardWorktree'](_0x21d3be,_0x25a9b6['worktreeID']));}),_0x1115db;});}['mergeWorktree'](_0x4aaa05,_0x5aa013){return this['_call']('mergeWorktree',async()=>{let _0x128d94=w(_0x5aa013),_0x1545ee=g(_0x4aaa05),_0x582ced={..._0x128d94,'request':_0x1545ee},_0xaa45d2;return await this['_middleware']['run']('mergeWorktree',_0x582ced,async()=>{S(_0x4aaa05['worktreeID']);let _0x4f29e0=await this['_database'](()=>this['_dbAdapter']['startOrResumeMerge'](_0x582ced,_0x4aaa05['worktreeID']));if(_0x4f29e0['status']==='not-found')throw Y(_0x4aaa05['worktreeID']);let _0x7f91ea=_0x4f29e0['aggregate'],_0x3b5703=R(_0x7f91ea,_0x4aaa05['worktreeID']);if(_0x4f29e0['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x4aaa05['worktreeID']+'\x20cannot\x20merge\x20from\x20'+_0x3b5703['status'],{'details':{'status':_0x3b5703['status']}});if(_0x4f29e0['status']==='already-merged'){_0xaa45d2={'worktree':_0x3b5703};return;}_0x4f29e0['status']==='started'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x128d94['userID'],'customData':_0x128d94['customData'],'request':_0x1545ee,'worktree':_0x3b5703,'previousStatus':'ready','status':'merging','occurredAt':Date['now']()});for(let _0x1d24f1 of _0x7f91ea['units']){if(J(_0x1d24f1['mergeResult']))continue;let _0x293e46=await this['_mergeUnit'](_0x582ced,_0x7f91ea['worktree']['sid'],_0x1d24f1,_0x128d94),_0x5ba892=await this['_database'](()=>this['_dbAdapter']['recordUnitMergeResult'](_0x582ced,{'worktreeID':_0x4aaa05['worktreeID'],'unitID':_0x1d24f1['unitID'],'readyDraftHeadRevision':O(_0x1d24f1),'mergeResult':_0x293e46}));if(_0x5ba892['status']==='not-found')throw Y(_0x4aaa05['worktreeID']);if(_0x5ba892['status']==='stale-merge'){if(_0x7f91ea=await this['_requireWorktreeAggregate'](_0x582ced,_0x4aaa05['worktreeID']),_0x3b5703=R(_0x7f91ea,_0x4aaa05['worktreeID']),_0x7f91ea['worktree']['status']!=='merging')break;continue;}if(_0x5ba892['status']!=='recorded'&&_0x5ba892['status']!=='already-recorded')throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20result\x20status');_0x7f91ea=_0x5ba892['aggregate'],_0x3b5703=R(_0x7f91ea,_0x4aaa05['worktreeID']),_0x5ba892['status']==='recorded'&&await this['_events']['emit']('worktreeUnitMergeResultRecorded',{'userID':_0x128d94['userID'],'customData':_0x128d94['customData'],'request':_0x1545ee,'worktree':_0x3b5703,'unit':U(_0x3b5703,_0x1d24f1['unitID']),'occurredAt':Date['now']()});}if(_0x7f91ea['worktree']['status']==='merging'){let _0x389ef6=await this['_database'](()=>this['_dbAdapter']['finishMerge'](_0x582ced,_0x4aaa05['worktreeID']));if(_0x389ef6['status']==='not-found')throw Y(_0x4aaa05['worktreeID']);if(_0x7f91ea=_0x389ef6['aggregate'],_0x3b5703=R(_0x7f91ea,_0x4aaa05['worktreeID']),_0x389ef6['status']==='transitioned')await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x128d94['userID'],'customData':_0x128d94['customData'],'request':_0x1545ee,'worktree':_0x3b5703,'previousStatus':_0x389ef6['previousStatus'],'status':_0x3b5703['status'],'occurredAt':Date['now']()});else{if(_0x389ef6['status']==='status-mismatch'&&_0x3b5703['status']!=='ready'&&_0x3b5703['status']!=='merged')throw new i('WORKTREE_STALE_MERGE','Worktree\x20'+_0x4aaa05['worktreeID']+'\x20merge\x20was\x20superseded',{'retryable':!0x0,'details':{'status':_0x3b5703['status']}});}}_0xaa45d2={'worktree':_0x3b5703};}),_0xaa45d2;});}['evaluateWorktreeUnitMerge'](_0x3a0c6e,_0x31daef){return this['_call']('evaluateWorktreeUnitMerge',async()=>{let _0x3d11ae=C(_0x31daef),_0x4d52d5=_(_0x3a0c6e),_0x2dbbb0={..._0x3d11ae,'request':_0x4d52d5},_0x59b4bc;return await this['_middleware']['run']('readUnitData',_0x2dbbb0,async()=>{if(S(_0x3a0c6e['worktreeID']),!_0x3a0c6e['unitID'])throw X('unitID\x20is\x20required');let _0x4d1094=await this['_requireWorktreeAggregate'](_0x2dbbb0,_0x3a0c6e['worktreeID']);if(_0x4d1094['worktree']['status']!=='ready')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x3a0c6e['worktreeID']+'\x20cannot\x20preview\x20from\x20'+_0x4d1094['worktree']['status'],{'details':{'status':_0x4d1094['worktree']['status']}});let _0x3e2ca5=_0x4d1094['units']['find'](_0xbcc4dc=>_0xbcc4dc['unitID']===_0x3a0c6e['unitID']);if(!_0x3e2ca5)throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x3a0c6e['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x3a0c6e['worktreeID']);if(_0x3e2ca5['removed']){_0x59b4bc={'status':'not-applicable','reason':'removed-unit','worktreeID':_0x3a0c6e['worktreeID'],'unitID':_0x3a0c6e['unitID']};return;}if(_0x3e2ca5['source']==='worktree'){_0x59b4bc={'status':'not-applicable','reason':'worktree-created-unit','worktreeID':_0x3a0c6e['worktreeID'],'unitID':_0x3a0c6e['unitID']};return;}if(J(_0x3e2ca5['mergeResult'])){_0x59b4bc={'status':'already-merged','worktreeID':_0x3a0c6e['worktreeID'],'unitID':_0x3a0c6e['unitID'],'mergeResult':q(_0x3e2ca5['mergeResult'])};return;}let _0x1484f7=B(_0x3e2ca5),_0x8689f7=O(_0x3e2ca5),_0x2d1275=await this['_trunkService']['getUnitLoadData']({'unitID':_0x3e2ca5['unitID'],'type':_0x3e2ca5['type'],'revision':0x0},_0x3d11ae);if(_0x2d1275['targetRevision']===_0x1484f7){_0x59b4bc={'status':'not-behind','worktreeID':_0x3a0c6e['worktreeID'],'unitID':_0x3a0c6e['unitID']};return;}if(_0x2d1275['targetRevision']<_0x1484f7)throw Z('Trunk\x20head\x20is\x20behind\x20the\x20Worktree\x20baseline');let _0x3d03b6=k(_0x3e2ca5,_0x8689f7,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x2dbbb0,_0x3e2ca5['worktreeID'],_0x3e2ca5['unitID'],{'from':_0x1484f7,'to':_0x8689f7}))),_0x2ba6ab=await this['_trunkService']['getChangesets']({'unitID':_0x3e2ca5['unitID'],'type':_0x3e2ca5['type'],'from':_0x1484f7,'to':_0x2d1275['targetRevision']},_0x3d11ae);try{let _0x45431c={'context':_0x2dbbb0,'dbAdapter':this['_trunkDbAdapter'],'unitID':_0x3e2ca5['unitID'],'type':_0x3e2ca5['type'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}},_0x1ef788=_0x8689f7===_0x1484f7?await s({..._0x45431c,'expectedRevision':_0x2d1275['targetRevision']}):await l({..._0x45431c,'trunkHeadRevision':_0x2d1275['targetRevision'],'original':A(_0x4d1094['worktree']['sid'],_0x3e2ca5,_0x8689f7,_0x3d03b6,{'userID':_0x3d11ae['userID'],'memberID':'worktree-merge-preview'}),'trunkHistory':_0x2ba6ab['changesets']});_0x59b4bc={'status':'preview','worktreeID':_0x3a0c6e['worktreeID'],'unitID':_0x3a0c6e['unitID'],'preview':_0x1ef788};}catch(_0x5589a3){if(_0x5589a3 instanceof n['CollabError']&&_0x5589a3['code']==='OT_CONFLICT'){_0x59b4bc={'status':'conflict','worktreeID':_0x3a0c6e['worktreeID'],'unitID':_0x3a0c6e['unitID'],'error':M(_0x5589a3)};return;}throw _0x5589a3;}}),_0x59b4bc;});}['getUnitLoadData'](_0x3e6755,_0x39b644){return this['_call']('getUnitLoadData',()=>(S(_0x3e6755['worktreeID']),this['_draftService'](_0x3e6755['worktreeID'])['getUnitLoadData']({'unitID':_0x3e6755['unitID'],'type':_0x3e6755['type'],'revision':_0x3e6755['revision']},C(_0x39b644))));}['getChangesets'](_0x33772e,_0x3f4a9b){return this['_call']('getChangesets',()=>(S(_0x33772e['worktreeID']),this['_draftService'](_0x33772e['worktreeID'])['getChangesets']({'unitID':_0x33772e['unitID'],'type':_0x33772e['type'],'from':_0x33772e['from'],'to':_0x33772e['to']},C(_0x3f4a9b))));}['getSheetBlock'](_0x367405,_0x3eb6b1){return this['_call']('getSheetBlock',()=>(S(_0x367405['worktreeID']),this['_draftService'](_0x367405['worktreeID'])['getSheetBlock']({'unitID':_0x367405['unitID'],'type':_0x367405['type'],'blockID':_0x367405['blockID']},C(_0x3eb6b1))));}['submitChangeset'](_0xe14186,_0x55b157){return this['_call']('submitChangeset',()=>(S(_0xe14186['worktreeID']),this['_draftService'](_0xe14186['worktreeID'])['submitChangeset']({'changeset':_0xe14186['changeset']},w(_0x55b157))));}['dispose'](){return this['_lifecycle']['dispose'](async()=>{this['_middleware']['clear'](),this['_events']['clear']();let _0x171820=[...this['_draftServices']['values']()];this['_draftServices']['clear'](),await Promise['all'](_0x171820['map'](_0x2819ec=>_0x2819ec['dispose']()));});}['_draftService'](_0x1edd47){let _0xc49bff=this['_draftServices']['get'](_0x1edd47);if(_0xc49bff)return _0xc49bff;let _0x1ad3ed=new n['UniverCollabService']({'dbAdapter':new a(_0x1edd47,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 _0x1ad3ed['use']('createUnit',(_0x54246b,_0xaf2a23)=>{let _0x4ebd26=E(_0x54246b['request'],_0x1edd47);return this['_middleware']['run']('createWorktreeUnit',{'userID':_0x54246b['userID'],'customData':_0x54246b['customData'],'request':_0x4ebd26},_0xaf2a23);}),_0x1ad3ed['use']('readUnitData',(_0x495993,_0x5654ba)=>{let _0x3e8d0c=E(_0x495993['request'],_0x1edd47);return this['_middleware']['run']('readUnitData',{'userID':_0x495993['userID'],'customData':_0x495993['customData'],'request':_0x3e8d0c},_0x5654ba);}),_0x1ad3ed['use']('submitChangeset',(_0x6bf649,_0x685b06)=>{let _0x1fb0ba=E(_0x6bf649['request'],_0x1edd47);return this['_middleware']['run']('submitChangeset',{'userID':_0x6bf649['userID'],'memberID':_0x6bf649['memberID'],'customData':_0x6bf649['customData'],'request':_0x1fb0ba},_0x685b06);}),_0x1ad3ed['use']('applyChangeset',(_0x5ea0fb,_0x1883f4)=>{let _0xb659df=E(_0x5ea0fb['request'],_0x1edd47);return this['_middleware']['run']('applyChangeset',{'userID':_0x5ea0fb['userID'],'memberID':_0x5ea0fb['memberID'],'customData':_0x5ea0fb['customData'],'request':_0xb659df,'attempt':_0x5ea0fb['attempt'],'currentRevision':_0x5ea0fb['currentRevision'],'changeset':_0x5ea0fb['changeset']},_0x1883f4);}),_0x1ad3ed['use']('commitChangeset',(_0x16af16,_0x4a7f9e)=>{let _0x18ea4f=E(_0x16af16['request'],_0x1edd47);return this['_middleware']['run']('commitChangeset',{'userID':_0x16af16['userID'],'memberID':_0x16af16['memberID'],'customData':_0x16af16['customData'],'request':_0x18ea4f,'attempt':_0x16af16['attempt'],'expectedHeadRevision':_0x16af16['expectedHeadRevision'],'requiredUnitPermissions':_0x16af16['requiredUnitPermissions'],'changeset':_0x16af16['changeset']},_0x4a7f9e);}),_0x1ad3ed['on']('changesetCommitted',_0x487946=>{let _0x53685a=E(_0x487946['request'],_0x1edd47);return this['_events']['emit']('changesetCommitted',{'userID':_0x487946['userID'],'memberID':_0x487946['memberID'],'customData':_0x487946['customData'],'request':_0x53685a,'changeset':_0x487946['changeset'],'requiredUnitPermissions':_0x487946['requiredUnitPermissions'],'committedAt':_0x487946['committedAt']});}),_0x1ad3ed['on']('unitCreated',async _0x5e9f61=>{let _0x3e92aa=E(_0x5e9f61['request'],_0x1edd47),_0x165b53=R(await this['_requireWorktreeAggregate']({'userID':_0x5e9f61['userID'],'customData':_0x5e9f61['customData'],'request':_0x3e92aa},_0x1edd47),_0x1edd47);await this['_events']['emit']('worktreeUnitCreated',{'userID':_0x5e9f61['userID'],'customData':_0x5e9f61['customData'],'request':_0x3e92aa,'worktree':_0x165b53,'unit':U(_0x165b53,_0x5e9f61['record']['unitID']),'occurredAt':_0x5e9f61['createdAt']});}),this['_draftServices']['set'](_0x1edd47,_0x1ad3ed),_0x1ad3ed;}async['_mergeUnit'](_0x589ee4,_0x4dab7d,_0xd30d05,_0x23af44){try{if(_0xd30d05['removed'])return{'status':'removed'};if(_0xd30d05['source']==='worktree')return await this['_mergeCreatedUnit'](_0x589ee4,_0xd30d05,_0x23af44);let _0x4ef411=B(_0xd30d05),_0x2b7928=O(_0xd30d05);if(_0x2b7928===_0x4ef411)return{'status':'unchanged'};let _0x4d663f=k(_0xd30d05,_0x2b7928,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x589ee4,_0xd30d05['worktreeID'],_0xd30d05['unitID'],{'from':_0x4ef411,'to':_0x2b7928}))),_0x2c1f20=await this['_trunkService']['submitChangeset']({'changeset':A(_0x4dab7d,_0xd30d05,_0x2b7928,_0x4d663f,_0x23af44)},_0x23af44);return _0x2c1f20['status']==='committed'||_0x2c1f20['status']==='already-committed'?{'status':'merged','trunkRevision':_0x2c1f20['changeset']['revision']}:j('error'in _0x2c1f20?_0x2c1f20['error']:Error('Trunk\x20merge\x20failed'));}catch(_0x213e33){return j(_0x213e33);}}async['_mergeCreatedUnit'](_0x2566f9,_0x2fc61b,_0x2c917e){let _0x31ad14=O(_0x2fc61b),_0x411cb1=await this['_database'](()=>this['_dbAdapter']['getUnitMergeArtifact'](_0x2566f9,_0x2fc61b['worktreeID'],_0x2fc61b['unitID']));if(!_0x411cb1){let _0x17a5e6=await s({'context':_0x2566f9,'dbAdapter':new a(_0x2fc61b['worktreeID'],this['_trunkDbAdapter'],this['_dbAdapter']),'unitID':_0x2fc61b['unitID'],'type':_0x2fc61b['type'],'expectedRevision':_0x31ad14,...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}});if(!await this['_database'](()=>this['_dbAdapter']['getUnitSeed'](_0x2566f9,_0x2fc61b['worktreeID'],_0x2fc61b['unitID'])))throw Z('Worktree-created\x20Unit\x20seed\x20is\x20missing');let _0x4b5001=await this['_database'](()=>this['_dbAdapter']['saveUnitMergeArtifact'](_0x2566f9,{'worktreeID':_0x2fc61b['worktreeID'],'unitID':_0x2fc61b['unitID'],'artifact':{'readyDraftHeadRevision':_0x31ad14,'unit':{'snapshot':H(_0x17a5e6['snapshot']),..._0x17a5e6['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x17a5e6['sheetBlocks']}}}}));if(_0x4b5001['status']==='not-found')throw Y(_0x2fc61b['worktreeID']);if(_0x4b5001['status']==='stale-merge')throw new i('WORKTREE_STALE_MERGE','Worktree\x20Unit\x20changed\x20while\x20saving\x20its\x20merge\x20artifact',{'retryable':!0x0});if(!('artifact'in _0x4b5001))throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20artifact\x20result');_0x411cb1=_0x4b5001['artifact'];}if(!_0x411cb1)throw Z('Worktree\x20Unit\x20merge\x20artifact\x20is\x20missing');V(_0x2fc61b,_0x31ad14,_0x411cb1);let _0x3f8674=_0x411cb1['unit'];if(await this['_trunkService']['createUnitFromSnapshot']({'snapshot':_0x3f8674['snapshot'],'sheetBlocks':[..._0x3f8674['sheetBlocks']??[]]},_0x2c917e),!await this['_matchesCreatedTrunkUnit'](_0x2566f9,_0x2fc61b,_0x3f8674))throw new P('Trunk\x20Unit\x20'+_0x2fc61b['unitID']+'\x20already\x20exists\x20with\x20different\x20content');return{'status':'merged','trunkRevision':0x1};}async['_matchesCreatedTrunkUnit'](_0x5950df,_0x40ad39,_0x15c83e){let _0x3d4bf8=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x5950df,_0x40ad39['unitID']));if(!_0x3d4bf8||_0x3d4bf8['type']!==_0x40ad39['type']||_0x3d4bf8['headRevision']<0x1||!F(await this['_database'](()=>this['_trunkDbAdapter']['getSnapshot'](_0x5950df,_0x40ad39['unitID'],{'revision':0x1})),_0x15c83e['snapshot']))return!0x1;for(let _0x252807 of _0x15c83e['sheetBlocks']??[])if(!F(await this['_database'](()=>this['_trunkDbAdapter']['getSheetBlock'](_0x5950df,_0x40ad39['unitID'],_0x252807['id'])),_0x252807))return!0x1;return!0x0;}async['_requireWorktreeAggregate'](_0xabeb1f,_0xececf0){let _0x42402c=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0xabeb1f,_0xececf0));if(!_0x42402c)throw Y(_0xececf0);return R(_0x42402c,_0xececf0),_0x42402c;}async['_transition'](_0x4e4983,_0x21bdc6,_0x4c26f2,_0x5ca1c1){S(_0x4e4983);let _0x157b52=await this['_database'](_0x5ca1c1);if(_0x157b52['status']==='not-found')throw Y(_0x4e4983);let _0x2d6fbd=R(_0x157b52['aggregate'],_0x4e4983);if(_0x157b52['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x4e4983+'\x20cannot\x20transition\x20from\x20'+_0x2d6fbd['status'],{'details':{'status':_0x2d6fbd['status']}});return _0x157b52['status']==='transitioned'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x21bdc6['userID'],'customData':_0x21bdc6['customData'],'request':_0x4c26f2,'worktree':_0x2d6fbd,'previousStatus':_0x157b52['previousStatus'],'status':_0x2d6fbd['status'],'occurredAt':Date['now']()}),{'worktree':_0x2d6fbd};}async['_requireTrunkUnit'](_0x2e430b,_0x41ca39){let _0x377669=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x2e430b,_0x41ca39));if(!_0x377669)throw new n['CollabError']('UNIT_NOT_FOUND','Trunk\x20Unit\x20'+_0x41ca39+'\x20does\x20not\x20exist');if(_0x377669['unitID']!==_0x41ca39||!x['has'](_0x377669['type'])||!Number['isSafeInteger'](_0x377669['headRevision'])||_0x377669['headRevision']<0x1)throw Z('Trunk\x20Database\x20returned\x20invalid\x20Unit\x20metadata');return _0x377669;}async['_database'](_0x816729){try{return await _0x816729();}catch(_0x4a8d5e){throw _0x4a8d5e instanceof n['CollabError']||_0x4a8d5e instanceof i?_0x4a8d5e:Z('Database\x20Adapter\x20failed',_0x4a8d5e);}}async['_call'](_0x2a655f,_0x2dcc62){try{return this['_metrics']['increment']('collaboration.worktree.service.call',{'operation':_0x2a655f}),await this['_lifecycle']['run'](_0x2dcc62);}catch(_0x22f48b){throw _0x22f48b instanceof n['CollabError']||_0x22f48b instanceof i?_0x22f48b:(this['_logger']['error']('Worktree\x20Service\x20operation\x20failed',{'operation':_0x2a655f,'error':$(_0x22f48b)}),new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20failed',{'retryable':!0x0,'cause':_0x22f48b}));}}['_assertRunning'](){if(this['_lifecycle']['state']!=='running')throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_lifecycle']['state'],{'retryable':!0x0});}};function S(_0x193642){if(!_0x193642)throw X('worktreeID\x20is\x20required');}function C(_0x4789df){return T(_0x4789df),{'userID':_0x4789df['userID'],'customData':_0x4789df['customData']??Object['create'](null)};}function w(_0x21ab58){if(T(_0x21ab58),typeof _0x21ab58['memberID']!='string'||_0x21ab58['memberID']['length']===0x0)throw X('memberID\x20must\x20be\x20a\x20non-empty\x20string');return{'userID':_0x21ab58['userID'],'memberID':_0x21ab58['memberID'],'customData':_0x21ab58['customData']??Object['create'](null)};}function T(_0x3cd9a0){if(!_0x3cd9a0||typeof _0x3cd9a0!='object')throw X('context\x20must\x20be\x20an\x20object');if(typeof _0x3cd9a0['userID']!='string'||_0x3cd9a0['userID']['length']===0x0)throw X('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x3cd9a0['customData']!==void 0x0&&(_0x3cd9a0['customData']===null||typeof _0x3cd9a0['customData']!='object'||Array['isArray'](_0x3cd9a0['customData'])))throw X('customData\x20must\x20be\x20an\x20object');}function E(_0x2eb4d5,_0x3622eb){let _0x1629fe=_0x2eb4d5;if(_0x1629fe['worktreeID']!==void 0x0){if(_0x1629fe['worktreeID']!==_0x3622eb)throw new n['CollabError']('INTERNAL_ERROR','Draft\x20Request\x20is\x20bound\x20to\x20a\x20different\x20Worktree',{'retryable':!0x0});return _0x1629fe;}return Object['defineProperty'](_0x2eb4d5,'worktreeID',{'value':_0x3622eb,'enumerable':!0x0,'configurable':!0x1,'writable':!0x1}),_0x2eb4d5;}function D(_0x50654d){if(_0x50654d['some'](_0x4f1f8a=>!_0x4f1f8a))throw X('Initial\x20Unit\x20IDs\x20cannot\x20be\x20empty');if(new Set(_0x50654d)['size']!==_0x50654d['length'])throw X('Initial\x20Unit\x20IDs\x20must\x20be\x20unique');}function O(_0x360f06){let _0x197edd=_0x360f06['readyDraftHeadRevision'],_0x5dccc3=_0x360f06['source']==='trunk'?B(_0x360f06):0x1;if(_0x197edd===void 0x0||!Number['isSafeInteger'](_0x197edd)||_0x197edd<_0x5dccc3)throw Z('Merging\x20Worktree\x20Unit\x20has\x20no\x20valid\x20frozen\x20draft\x20head');return _0x197edd;}function k(_0x4c843d,_0x30d536,_0x5cf761){let _0xe7d471=B(_0x4c843d);if(_0x5cf761===null)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20no\x20longer\x20readable');let _0x5aef8d=_0xe7d471+0x1,_0x391de6=[];for(let _0x5f0712 of _0x5cf761){if(_0x5f0712['unitID']!==_0x4c843d['unitID']||_0x5f0712['type']!==_0x4c843d['type']||_0x5f0712['baseRev']!==_0x5aef8d-0x1||_0x5f0712['revision']!==_0x5aef8d)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20not\x20contiguous');_0x391de6['push'](...structuredClone(_0x5f0712['mutations'])),_0x5aef8d+=0x1;}if(_0x5aef8d-0x1!==_0x30d536)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20incomplete');return _0x391de6;}function A(_0x550d1d,_0x3ca36f,_0x45099c,_0x451ff1,_0x34de76){let _0x46cf5f=B(_0x3ca36f);return{'unitID':_0x3ca36f['unitID'],'type':_0x3ca36f['type'],'baseRev':_0x46cf5f,'revision':_0x46cf5f+0x1,'userID':_0x34de76['userID'],'memberID':_0x34de76['memberID'],'sid':_0x550d1d,'reqId':_0x45099c-_0x46cf5f,'mutations':_0x451ff1};}function j(_0x46bff5){let _0x49a7da=M(_0x46bff5);return _0x46bff5 instanceof N||_0x46bff5 instanceof P||_0x46bff5 instanceof n['CollabError']&&_0x46bff5['code']==='OT_CONFLICT'?{'status':'conflict','error':_0x49a7da}:{'status':'failed','error':_0x49a7da};}function M(_0x2816df){return _0x2816df instanceof N?{'code':'WORKTREE_DRAFT_HISTORY_INVALID','message':_0x2816df['message'],'retryable':!0x0}:_0x2816df instanceof P?{'code':'WORKTREE_CREATE_CONFLICT','message':_0x2816df['message'],'retryable':!0x1}:_0x2816df instanceof n['CollabError']||_0x2816df instanceof i?{'code':_0x2816df['code'],'message':_0x2816df['message'],'retryable':_0x2816df['retryable']}:{'code':'INTERNAL_ERROR','message':_0x2816df instanceof Error?_0x2816df['message']:'Merge\x20failed','retryable':!0x0};}var N=class extends Error{constructor(_0x96b13b){super(_0x96b13b),this['name']='FrozenDraftConflict';}},P=class extends Error{constructor(_0x5db713){super(_0x5db713),this['name']='WorktreeCreateConflict';}};function F(_0x3c8773,_0x5cd56d){return(0x0,t['isDeepStrictEqual'])(I(_0x3c8773),I(_0x5cd56d));}function I(_0x600e49){if(_0x600e49!==void 0x0)return JSON['parse'](JSON['stringify'](_0x600e49,(_0x189e48,_0x1a6eec)=>_0x1a6eec instanceof Uint8Array?{'__univerCollaborationBinary':[..._0x1a6eec]}:_0x1a6eec));}function L(_0x505709,_0x1409ab){let _0x529e98=new Set(_0x505709['units']['map'](({unitID:_0xb61fea})=>_0xb61fea));if(_0x529e98['size']!==_0x1409ab['length']||_0x1409ab['some'](_0x5c3650=>!_0x529e98['has'](_0x5c3650)))throw Z('Database\x20returned\x20incomplete\x20initial\x20Worktree\x20Units');}function R(_0x708424,_0x5a6e9b){let {worktree:_0x120838,units:_0x5b7c36}=_0x708424;if(_0x120838['worktreeID']!==_0x5a6e9b||!_0x120838['sid']||!W(_0x120838['status']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20metadata');let _0x175f0e=new Set(),_0xf80041=_0x5b7c36['map'](_0x83eff=>{let _0x55c6ee=_0x83eff['source']==='trunk'&&Number['isSafeInteger'](_0x83eff['baselineTrunkRevision'])&&_0x83eff['baselineTrunkRevision']>=0x1&&_0x83eff['draftHeadRevision']>=_0x83eff['baselineTrunkRevision']||_0x83eff['source']==='worktree'&&_0x83eff['baselineTrunkRevision']===void 0x0&&_0x83eff['draftHeadRevision']>=0x1;if(_0x83eff['worktreeID']!==_0x5a6e9b||!_0x83eff['unitID']||_0x175f0e['has'](_0x83eff['unitID'])||!x['has'](_0x83eff['type'])||!_0x55c6ee||!Number['isSafeInteger'](_0x83eff['draftHeadRevision'])||_0x83eff['readyDraftHeadRevision']!==void 0x0&&_0x83eff['readyDraftHeadRevision']!==_0x83eff['draftHeadRevision']||_0x83eff['mergeResult']!==void 0x0&&_0x83eff['readyDraftHeadRevision']===void 0x0||_0x83eff['removed']!==void 0x0&&typeof _0x83eff['removed']!='boolean'||!G(_0x83eff['mergeResult']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20Unit\x20metadata');return _0x175f0e['add'](_0x83eff['unitID']),z(_0x83eff);});if(_0x120838['status']==='merged'&&_0xf80041['some'](({mergeResult:_0x5598bf})=>!J(_0x5598bf)))throw Z('Merged\x20Worktree\x20contains\x20an\x20incomplete\x20Unit');return{'worktreeID':_0x120838['worktreeID'],'status':_0x120838['status'],'units':_0xf80041};}function z(_0x170069){return{'unitID':_0x170069['unitID'],'type':_0x170069['type'],'source':_0x170069['source'],..._0x170069['baselineTrunkRevision']===void 0x0?{}:{'baselineTrunkRevision':_0x170069['baselineTrunkRevision']},'draftHeadRevision':_0x170069['draftHeadRevision'],..._0x170069['readyDraftHeadRevision']===void 0x0?{}:{'readyDraftHeadRevision':_0x170069['readyDraftHeadRevision']},..._0x170069['removed']===void 0x0?{}:{'removed':_0x170069['removed']},..._0x170069['mergeResult']===void 0x0?{}:{'mergeResult':K(_0x170069['mergeResult'])}};}function B(_0x4e92e2){if(_0x4e92e2['source']!=='trunk'||!Number['isSafeInteger'](_0x4e92e2['baselineTrunkRevision'])||_0x4e92e2['baselineTrunkRevision']<0x1)throw Z('Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x4e92e2['baselineTrunkRevision'];}function V(_0x2c74e3,_0x48ae70,_0xd1035b){if(_0xd1035b['readyDraftHeadRevision']!==_0x48ae70||_0xd1035b['unit']['snapshot']['unitID']!==_0x2c74e3['unitID']||_0xd1035b['unit']['snapshot']['type']!==_0x2c74e3['type']||_0xd1035b['unit']['snapshot']['rev']!==0x1)throw Z('Database\x20returned\x20an\x20invalid\x20Worktree\x20Unit\x20merge\x20artifact');}function H(_0x3f77b7){let _0x176fa9={..._0x3f77b7,'rev':0x1};return _0x3f77b7['workbook']?{..._0x176fa9,'workbook':{..._0x3f77b7['workbook'],'rev':0x1}}:_0x3f77b7['doc']?{..._0x176fa9,'doc':{..._0x3f77b7['doc'],'rev':0x1}}:_0x3f77b7['slide']?{..._0x176fa9,'slide':{..._0x3f77b7['slide'],'rev':0x1}}:_0x3f77b7['board']?{..._0x176fa9,'board':{..._0x3f77b7['board'],'rev':0x1}}:_0x176fa9;}function U(_0xeb9cd9,_0x20a616){let _0x14b093=_0xeb9cd9['units']['find'](_0xba2fc=>_0xba2fc['unitID']===_0x20a616);if(!_0x14b093)throw Z('Database\x20omitted\x20the\x20added\x20Worktree\x20Unit');return _0x14b093;}function W(_0xb332bc){return _0xb332bc==='draft'||_0xb332bc==='ready'||_0xb332bc==='merging'||_0xb332bc==='merged'||_0xb332bc==='discarded';}function G(_0x32125c){return _0x32125c===void 0x0?!0x0:!_0x32125c||typeof _0x32125c!='object'||!('status'in _0x32125c)?!0x1:_0x32125c['status']==='unchanged'||_0x32125c['status']==='removed'?!0x0:_0x32125c['status']==='merged'&&'trunkRevision'in _0x32125c?typeof _0x32125c['trunkRevision']=='number'&&Number['isSafeInteger'](_0x32125c['trunkRevision'])&&_0x32125c['trunkRevision']>=0x1:_0x32125c['status']!=='conflict'&&_0x32125c['status']!=='failed'||!('error'in _0x32125c)||!_0x32125c['error']||typeof _0x32125c['error']!='object'||!('code'in _0x32125c['error'])||!('message'in _0x32125c['error'])||!('retryable'in _0x32125c['error'])?!0x1:typeof _0x32125c['error']['code']=='string'&&!!_0x32125c['error']['code']&&typeof _0x32125c['error']['message']=='string'&&!!_0x32125c['error']['message']&&typeof _0x32125c['error']['retryable']=='boolean';}function K(_0x2ad003){return _0x2ad003['status']==='merged'?{'status':'merged','trunkRevision':_0x2ad003['trunkRevision']}:_0x2ad003['status']==='unchanged'||_0x2ad003['status']==='removed'?{'status':_0x2ad003['status']}:{'status':_0x2ad003['status'],'error':{'code':_0x2ad003['error']['code'],'message':_0x2ad003['error']['message'],'retryable':_0x2ad003['error']['retryable']}};}function q(_0x298d7c){if(_0x298d7c?.['status']==='merged')return{'status':'merged','trunkRevision':_0x298d7c['trunkRevision']};if(_0x298d7c?.['status']==='unchanged')return{'status':'unchanged'};throw Z('Worktree\x20Unit\x20merge\x20result\x20is\x20not\x20terminal');}function J(_0x3e8582){return _0x3e8582?.['status']==='merged'||_0x3e8582?.['status']==='unchanged'||_0x3e8582?.['status']==='removed';}function Y(_0x28149d){return new i('WORKTREE_NOT_FOUND','Worktree\x20'+_0x28149d+'\x20does\x20not\x20exist');}function X(_0x54a577){return new n['CollabError']('INVALID_REQUEST',_0x54a577);}function Z(_0x3514ae,_0x62f9e9){return new n['CollabError']('ADAPTER_FAILURE',_0x3514ae,{'retryable':!0x0,..._0x62f9e9===void 0x0?{}:{'cause':_0x62f9e9}});}function re(_0x346970){return _0x346970?{'debug':(..._0x4e96c2)=>Q(()=>_0x346970['debug'](..._0x4e96c2)),'info':(..._0x5420fc)=>Q(()=>_0x346970['info'](..._0x5420fc)),'warn':(..._0x12d35b)=>Q(()=>_0x346970['warn'](..._0x12d35b)),'error':(..._0x3bd7b5)=>Q(()=>_0x346970['error'](..._0x3bd7b5))}:{'debug':()=>void 0x0,'info':()=>void 0x0,'warn':()=>void 0x0,'error':()=>void 0x0};}function ie(_0x342666){return _0x342666?{'increment':(..._0x47c576)=>Q(()=>_0x342666['increment'](..._0x47c576)),'observe':(..._0x253e11)=>Q(()=>_0x342666['observe'](..._0x253e11))}:{'increment':()=>void 0x0,'observe':()=>void 0x0};}function Q(_0x4510ab){try{_0x4510ab();}catch{}}function $(_0x1d03d1){return _0x1d03d1 instanceof Error?_0x1d03d1['message']:String(_0x1d03d1);}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(_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;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- const _0x25e3f3=_0x500d;function _0x500d(_0x3891d9,_0x5e998c){_0x3891d9=_0x3891d9-0xf2;const _0x23fbb5=_0x23fb();let _0x500d77=_0x23fbb5[_0x3891d9];return _0x500d77;}(function(_0x4fe487,_0x169947){const _0x31edb4=_0x500d,_0x37cb74=_0x4fe487();while(!![]){try{const _0x39f11c=parseInt(_0x31edb4(0xfc))/0x1*(-parseInt(_0x31edb4(0xf5))/0x2)+-parseInt(_0x31edb4(0xf7))/0x3+-parseInt(_0x31edb4(0xf8))/0x4+-parseInt(_0x31edb4(0xfa))/0x5*(-parseInt(_0x31edb4(0xf6))/0x6)+parseInt(_0x31edb4(0xf4))/0x7+parseInt(_0x31edb4(0xfb))/0x8*(-parseInt(_0x31edb4(0xf3))/0x9)+parseInt(_0x31edb4(0xf2))/0xa;if(_0x39f11c===_0x169947)break;else _0x37cb74['push'](_0x37cb74['shift']());}catch(_0x1cee4f){_0x37cb74['push'](_0x37cb74['shift']());}}}(_0x23fb,0xa4260));import _0x301c68 from'./index.cjs';const facadeExport0=_0x301c68[_0x25e3f3(0xf9)],facadeExport1=_0x301c68['WorktreeError'];function _0x23fb(){const _0xaf6ec8=['1982968OOYyTY','1pbGbTf','17475560zpdzAk','36SLGMRV','5545925foaCGU','1083766uxJUop','18JdPbsU','3168195LOyuEQ','195936ElpsXQ','UniverCollabWorktreeService','1284895bArWii'];_0x23fb=function(){return _0xaf6ec8;};return _0x23fb();}export{facadeExport0 as UniverCollabWorktreeService,facadeExport1 as WorktreeError};
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};
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.1",
4
+ "version": "1.0.2",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
7
7
  "types": "./dist/index.d.ts",
@@ -16,7 +16,7 @@
16
16
  "dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@univerjs-pro/collaboration-service": "1.0.1",
20
- "@univerjs/protocol": "1.0.1"
19
+ "@univerjs-pro/collaboration-service": "1.0.2",
20
+ "@univerjs/protocol": "1.0.2"
21
21
  }
22
22
  }