@univerjs-pro/collaboration-worktree-service 1.0.0 → 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(_0x9fd380,_0x8d3888,_0x5312ae={}){super(_0x8d3888,{'cause':_0x5312ae['cause']}),this['name']='WorktreeError',this['code']=_0x9fd380,this['retryable']=_0x5312ae['retryable']??!0x1,_0x5312ae['details']!==void 0x0&&(this['details']=_0x5312ae['details']);}},a=class{['_worktreeID'];['_trunk'];['_worktree'];constructor(_0x18050a,_0xfac114,_0x29e1e3){this['_worktreeID']=_0x18050a,this['_trunk']=_0xfac114,this['_worktree']=_0x29e1e3;}async['getUnit'](_0x2571f3,_0x388623){let _0x350c0f=await this['_worktree']['getWorktreeUnit'](_0x2571f3,this['_worktreeID'],_0x388623);return _0x350c0f?{'unitID':_0x350c0f['unitID'],'type':_0x350c0f['type'],'headRevision':_0x350c0f['draftHeadRevision'],'creatorID':_0x350c0f['creatorID'],'createdAt':_0x350c0f['createdAt']}:null;}async['getSnapshot'](_0x231c49,_0x49f2d1,_0x105993){let _0x59f116=await this['_getUnitRecord'](_0x231c49,_0x49f2d1);if(!_0x59f116)return null;let _0x48a03e=_0x105993?.['revision'],_0x1df7fb=_0x48a03e===void 0x0?_0x59f116['draftHeadRevision']:Math['min'](_0x48a03e,_0x59f116['draftHeadRevision']);if(_0x59f116['source']==='worktree')return _0x1df7fb<0x1?null:(await this['_worktree']['getUnitSeed'](_0x231c49,this['_worktreeID'],_0x49f2d1))?.['snapshot']??null;let _0xd45b9b=o(_0x59f116);return this['_trunk']['getSnapshot'](_0x231c49,_0x49f2d1,{'revision':Math['min'](_0x1df7fb,_0xd45b9b)});}async['getSnapshotInfo'](_0x566170,_0x55db66,_0x24161b){let _0x1c52ed=await this['_getUnitRecord'](_0x566170,_0x55db66);if(!_0x1c52ed)return null;let _0x372cef=_0x24161b?.['revision'],_0x2d4c16=_0x372cef===void 0x0?_0x1c52ed['draftHeadRevision']:Math['min'](_0x372cef,_0x1c52ed['draftHeadRevision']);return _0x1c52ed['source']==='worktree'?_0x2d4c16>=0x1?{'unitID':_0x1c52ed['unitID'],'type':_0x1c52ed['type'],'rev':0x1}:null:this['_trunk']['getSnapshotInfo'](_0x566170,_0x55db66,{'revision':Math['min'](_0x2d4c16,o(_0x1c52ed))});}async['getChangesets'](_0x2f4be5,_0xab8f26,_0x4abafb){let _0x1eac34=await this['_getUnitRecord'](_0x2f4be5,_0xab8f26);if(!_0x1eac34)return null;if(_0x1eac34['source']==='worktree')return this['_worktree']['getDraftChangesets'](_0x2f4be5,this['_worktreeID'],_0xab8f26,_0x4abafb);let _0xa2c4a8=o(_0x1eac34),_0x4501e3=Math['min'](_0x4abafb['to']??_0xa2c4a8,_0xa2c4a8),_0x5e34fd=_0x4abafb['from']<_0x4501e3?await this['_trunk']['getChangesets'](_0x2f4be5,_0xab8f26,{'from':_0x4abafb['from'],'to':_0x4501e3}):[];if(_0x5e34fd===null)return null;let _0x7ba6b0=Math['max'](_0x4abafb['from'],_0xa2c4a8),_0x2824d2=_0x4abafb['to']===void 0x0||_0x7ba6b0<_0x4abafb['to']?await this['_worktree']['getDraftChangesets'](_0x2f4be5,this['_worktreeID'],_0xab8f26,{..._0x4abafb,'from':_0x7ba6b0}):[];return _0x2824d2===null?null:[..._0x5e34fd,..._0x2824d2];}async['createUnit'](_0x3f7484,_0x48dc0a){let _0x148032=await this['_worktree']['createUnit'](_0x3f7484,{'unit':{'worktreeID':this['_worktreeID'],'unitID':_0x48dc0a['record']['unitID'],'type':_0x48dc0a['record']['type'],'source':'worktree','draftHeadRevision':0x1,'creatorID':_0x48dc0a['record']['creatorID'],'createdAt':_0x48dc0a['record']['createdAt']},'seed':{'snapshot':_0x48dc0a['snapshot'],..._0x48dc0a['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x48dc0a['sheetBlocks']}}});switch(_0x148032['status']){case'created':return{'status':'created','record':_0x48dc0a['record']};case'already-created':{let _0x58918d=_0x148032['aggregate']['units']['find'](_0x174a34=>_0x174a34['unitID']===_0x48dc0a['record']['unitID']);return{'status':'already-exists','record':{'unitID':_0x58918d['unitID'],'type':_0x58918d['type'],'headRevision':_0x58918d['draftHeadRevision'],'creatorID':_0x58918d['creatorID'],'createdAt':_0x58918d['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'+_0x48dc0a['record']['unitID']+'\x20already\x20exists\x20in\x20the\x20Worktree');case'status-mismatch':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20'+this['_worktreeID']+'\x20is\x20not\x20editable');}}['deleteUnits'](_0x25480c,_0x25b303){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20draft'));}['recoverUnits'](_0x2c1dab,_0x2780b5){return Promise['reject'](new n['CollabError']('INVALID_REQUEST','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20draft'));}async['commitChangeset'](_0x127a6f,_0x3184f6){let _0xe36d5e=await this['_worktree']['commitDraftChangeset'](_0x127a6f,{'worktreeID':this['_worktreeID'],'changeset':_0x3184f6['changeset']});switch(_0xe36d5e['status']){case'committed':case'revision-mismatch':return _0xe36d5e;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'+_0xe36d5e['worktreeStatus']);case'unit-frozen':throw new n['CollabError']('PERMISSION_DENIED','Worktree\x20Unit\x20has\x20already\x20been\x20merged');}}['saveSnapshot'](_0x40ff11,_0x13db2a){return Promise['reject'](new n['CollabError']('INTERNAL_ERROR','Worktree\x20draft\x20snapshots\x20are\x20disabled'));}async['getSheetBlock'](_0x577634,_0x526e5b,_0x1da023){let _0x20662d=await this['_getUnitRecord'](_0x577634,_0x526e5b);return _0x20662d?_0x20662d['source']==='worktree'?(await this['_worktree']['getUnitSeed'](_0x577634,this['_worktreeID'],_0x526e5b))?.['sheetBlocks']?.['find'](_0x3597a9=>_0x3597a9['id']===_0x1da023)??null:this['_trunk']['getSheetBlock'](_0x577634,_0x526e5b,_0x1da023):null;}['_getUnitRecord'](_0x15558f,_0x3a7e33){return this['_worktree']['getWorktreeUnit'](_0x15558f,this['_worktreeID'],_0x3a7e33);}};function o(_0x28f63f){if(_0x28f63f['source']!=='trunk'||!Number['isSafeInteger'](_0x28f63f['baselineTrunkRevision'])||_0x28f63f['baselineTrunkRevision']<0x1)throw new n['CollabError']('ADAPTER_FAILURE','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x28f63f['baselineTrunkRevision'];}async function s(_0x662d65){let _0x25cb14=new n['UniverUnitRuntime']({'reader':_0x662d65['dbAdapter'],..._0x662d65['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x662d65['runtime']['maxLoadedUnits']},..._0x662d65['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x662d65['runtime']['idleTimeoutMs']}});try{let _0x3fba45=await _0x25cb14['ensureUnit'](_0x662d65['context'],_0x662d65['unitID'],_0x662d65['type']);try{if(_0x3fba45['revision']!==_0x662d65['expectedRevision'])throw c('Unit\x20Runtime\x20did\x20not\x20reach\x20the\x20frozen\x20Worktree\x20revision');let _0x4b34d7=await _0x25cb14['createSnapshot'](_0x3fba45);if(_0x4b34d7['snapshot']['unitID']!==_0x662d65['unitID']||_0x4b34d7['snapshot']['type']!==_0x662d65['type']||_0x4b34d7['snapshot']['rev']!==_0x662d65['expectedRevision'])throw c('Unit\x20Runtime\x20returned\x20an\x20invalid\x20Worktree\x20snapshot');return _0x4b34d7;}finally{_0x25cb14['releaseUnit'](_0x3fba45);}}finally{await _0x25cb14['dispose']();}}function c(_0x460a7f){return new n['CollabError']('ADAPTER_FAILURE',_0x460a7f,{'retryable':!0x0});}async function l(_0x4a9f38){let _0x456a69=new n['UniverUnitRuntime']({'reader':_0x4a9f38['dbAdapter'],..._0x4a9f38['runtime']?.['maxLoadedUnits']===void 0x0?{}:{'maxLoadedUnits':_0x4a9f38['runtime']['maxLoadedUnits']},..._0x4a9f38['runtime']?.['idleTimeoutMs']===void 0x0?{}:{'idleTimeoutMs':_0x4a9f38['runtime']['idleTimeoutMs']}});try{let _0x337d50=u(_0x456a69,_0x4a9f38),_0x13e131=await _0x456a69['ensureUnit'](_0x4a9f38['context'],_0x4a9f38['unitID'],_0x4a9f38['type']);try{if(_0x13e131['revision']!==_0x4a9f38['trunkHeadRevision'])throw new n['CollabError']('REVISION_MISMATCH','Trunk\x20changed\x20while\x20materializing\x20Worktree\x20merge\x20preview',{'retryable':!0x0});if(await _0x456a69['applyChangeset'](_0x4a9f38['context'],_0x13e131,_0x337d50),_0x13e131['revision']!==_0x337d50['revision'])throw new n['CollabError']('INTERNAL_ERROR','Preview\x20Runtime\x20did\x20not\x20reach\x20the\x20merge\x20candidate\x20revision',{'retryable':!0x0});return await _0x456a69['createSnapshot'](_0x13e131);}finally{_0x456a69['releaseUnit'](_0x13e131);}}finally{await _0x456a69['dispose']();}}function u(_0x13047e,_0x579870){let _0x37233c=_0x13047e['changesetTransformer']['parseClient'](_0x579870['original']);return{..._0x13047e['changesetTransformer']['transform'](_0x37233c,_0x579870['trunkHistory']),'unitID':_0x579870['original']['unitID'],'type':_0x579870['original']['type'],'baseRev':_0x579870['trunkHeadRevision'],'revision':_0x579870['trunkHeadRevision']+0x1,'sid':_0x579870['original']['sid'],'reqId':_0x579870['original']['reqId']};}var d=class{['_middlewares']=new Map();['use'](_0x2d52e0,_0x1cebe6){let _0x5f1914=this['_middlewares']['get'](_0x2d52e0)??[],_0x3fc0ac=_0x1cebe6;_0x5f1914['push'](_0x3fc0ac),this['_middlewares']['set'](_0x2d52e0,_0x5f1914);let _0x3464ff=!0x1;return{'dispose':()=>{if(_0x3464ff)return;_0x3464ff=!0x0;let _0x21cba2=_0x5f1914['indexOf'](_0x3fc0ac);_0x21cba2>=0x0&&_0x5f1914['splice'](_0x21cba2,0x1);}};}async['run'](_0x6c83f2,_0x3a1695,_0x2bf72){let _0x155952=[...this['_middlewares']['get'](_0x6c83f2)??[]],_0x1853e3=async _0x55ed4a=>{let _0x2d9684=_0x155952[_0x55ed4a];if(!_0x2d9684){await _0x2bf72();return;}let _0x3bbe16=!0x1,_0x49d180,_0x16d194=()=>{if(_0x3bbe16)throw Error('Middleware\x20for\x20action\x20'+String(_0x6c83f2)+'\x20called\x20next()\x20more\x20than\x20once');return _0x3bbe16=!0x0,_0x49d180=_0x1853e3(_0x55ed4a+0x1),_0x49d180;};try{await _0x2d9684(_0x3a1695,_0x16d194);}catch(_0x3f69d0){if(_0x49d180)try{await _0x49d180;}catch{}throw _0x3f69d0;}if(!_0x3bbe16)throw Error('Middleware\x20for\x20action\x20'+String(_0x6c83f2)+'\x20completed\x20without\x20calling\x20next()');await _0x49d180;};await _0x1853e3(0x0);}['clear'](){this['_middlewares']['clear']();}};function f(_0x266c66){return{'worktreeID':_0x266c66['worktreeID'],'units':_0x266c66['units']??[]};}function p(_0xeca2a8){return{'worktreeID':_0xeca2a8['worktreeID']};}function m(_0x116d27){return{'worktreeID':_0x116d27['worktreeID'],'unitID':_0x116d27['unitID']};}function ee(_0x689dc0){return{'worktreeID':_0x689dc0['worktreeID']};}function te(_0x4ce618){return{'worktreeID':_0x4ce618['worktreeID']};}function h(_0x7cfb7b){return{'worktreeID':_0x7cfb7b['worktreeID']};}function g(_0xb34d16){return{'worktreeID':_0xb34d16['worktreeID']};}function _(_0x3f1765){return{'worktreeID':_0x3f1765['worktreeID'],'unitID':_0x3f1765['unitID']};}function v(_0x4d7ad7){return{'worktreeID':_0x4d7ad7['worktreeID'],'unitID':_0x4d7ad7['unitID'],'removed':_0x4d7ad7['removed']};}var y=class{['_onListenerError'];['_listeners']=new Map();constructor(_0x4773f6){this['_onListenerError']=_0x4773f6;}['on'](_0x2bcaca,_0x1c3466){let _0x33b41b=this['_listeners']['get'](_0x2bcaca)??[],_0x30f6a6=_0x1c3466;_0x33b41b['push'](_0x30f6a6),this['_listeners']['set'](_0x2bcaca,_0x33b41b);let _0x47b2f2=!0x1;return{'dispose':()=>{if(_0x47b2f2)return;_0x47b2f2=!0x0;let _0x2cfc07=_0x33b41b['indexOf'](_0x30f6a6);_0x2cfc07>=0x0&&_0x33b41b['splice'](_0x2cfc07,0x1);}};}async['emit'](_0xd19a98,_0x26ddbc){for(let _0x21ddac of[...this['_listeners']['get'](_0xd19a98)??[]])try{await _0x21ddac(_0x26ddbc);}catch(_0x59bd71){try{this['_onListenerError'](_0x59bd71);}catch{}}}['clear'](){this['_listeners']['clear']();}},b=class{['_state']='running';['_activeCalls']=0x0;['_resolveDrain'];['_disposePromise'];get['state'](){return this['_state'];}['run'](_0x2fbee5){return this['_state']==='running'?(this['_activeCalls']+=0x1,Promise['resolve']()['then'](_0x2fbee5)['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'](_0x56a39d){return this['_disposePromise']?this['_disposePromise']:(this['_state']='disposing',this['_disposePromise']=this['_finishDispose'](_0x56a39d),this['_disposePromise']);}async['_finishDispose'](_0x14633c){this['_activeCalls']>0x0&&await new Promise(_0x440c82=>{this['_resolveDrain']=_0x440c82;});try{await _0x14633c();}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(_0x46245f){if(!_0x46245f?.['trunk']?.['service']||!_0x46245f['trunk']['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20trunk\x20service\x20and\x20dbAdapter');if(!_0x46245f['dbAdapter'])throw TypeError('UniverCollabWorktreeService\x20requires\x20a\x20Worktree\x20dbAdapter');if(this['_trunkService']=_0x46245f['trunk']['service'],this['_trunkDbAdapter']=_0x46245f['trunk']['dbAdapter'],this['_dbAdapter']=_0x46245f['dbAdapter'],this['_runtimeOptions']=_0x46245f['runtime'],this['_enableUnitPermissionAnalysis']=_0x46245f['enableUnitPermissionAnalysis']??!0x1,this['_maxRevisionRetries']=_0x46245f['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(_0x46245f['logger']),this['_metrics']=ie(_0x46245f['metrics']),this['_events']=new y(_0x16e5ac=>{this['_logger']['error']('Worktree\x20Service\x20event\x20listener\x20failed',{'error':$(_0x16e5ac)});});}['use'](_0x3a62c9,_0x3ddd34){return this['_assertRunning'](),this['_middleware']['use'](_0x3a62c9,_0x3ddd34);}['on'](_0x281a43,_0x975667){return this['_assertRunning'](),this['_events']['on'](_0x281a43,_0x975667);}['createWorktree'](_0x12b8f1,_0x401102){return this['_call']('createWorktree',async()=>{let _0x566bb9=C(_0x401102),_0x302cf1=f(_0x12b8f1),_0xbf68b2={..._0x566bb9,'request':_0x302cf1},_0x4bb199;return await this['_middleware']['run']('createWorktree',_0xbf68b2,async()=>{S(_0x12b8f1['worktreeID']),D(_0x302cf1['units']);let _0x52039f=await Promise['all'](_0x302cf1['units']['map'](_0x180f98=>this['_requireTrunkUnit'](_0xbf68b2,_0x180f98))),_0x4e4f5f=await this['_database'](()=>this['_dbAdapter']['createWorktree'](_0xbf68b2,{'record':{'worktreeID':_0x12b8f1['worktreeID'],'sid':(0x0,e['randomUUID'])(),'status':'draft'},'units':_0x52039f['map'](_0x6d03c7=>({'worktreeID':_0x12b8f1['worktreeID'],'unitID':_0x6d03c7['unitID'],'type':_0x6d03c7['type'],'source':'trunk','baselineTrunkRevision':_0x6d03c7['headRevision'],'draftHeadRevision':_0x6d03c7['headRevision'],'creatorID':_0x6d03c7['creatorID'],'createdAt':_0x6d03c7['createdAt']}))})),_0x4de569=R(_0x4e4f5f['aggregate'],_0x12b8f1['worktreeID']);if(_0x4e4f5f['status']==='already-exists')throw new i('WORKTREE_ALREADY_EXISTS','Worktree\x20'+_0x12b8f1['worktreeID']+'\x20already\x20exists');L(_0x4de569,_0x302cf1['units']),_0x4bb199={'worktree':_0x4de569},await this['_events']['emit']('worktreeCreated',{'userID':_0x566bb9['userID'],'customData':_0x566bb9['customData'],'request':_0x302cf1,'worktree':_0x4de569,'occurredAt':Date['now']()});}),_0x4bb199;});}['getWorktree'](_0xd0ed27,_0xfde207){return this['_call']('getWorktree',async()=>{let _0x4e26b3=C(_0xfde207),_0x24cc13=p(_0xd0ed27),_0x20ca5f={..._0x4e26b3,'request':_0x24cc13},_0x235e81;return await this['_middleware']['run']('readWorktreeData',_0x20ca5f,async()=>{S(_0xd0ed27['worktreeID']);let _0x27787a=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x20ca5f,_0xd0ed27['worktreeID']));if(!_0x27787a)throw Y(_0xd0ed27['worktreeID']);_0x235e81={'worktree':R(_0x27787a,_0xd0ed27['worktreeID'])};}),_0x235e81;});}['addUnit'](_0x22d4fa,_0x2e5593){return this['_call']('addUnit',async()=>{let _0x3f01c9=C(_0x2e5593),_0xb2133c=m(_0x22d4fa),_0x5e21f6={..._0x3f01c9,'request':_0xb2133c},_0x518da0;return await this['_middleware']['run']('addWorktreeUnit',_0x5e21f6,async()=>{if(S(_0x22d4fa['worktreeID']),!_0x22d4fa['unitID'])throw X('unitID\x20is\x20required');let _0x369421=await this['_requireTrunkUnit'](_0x5e21f6,_0x22d4fa['unitID']),_0x38f97f=await this['_database'](()=>this['_dbAdapter']['addUnit'](_0x5e21f6,{'unit':{'worktreeID':_0x22d4fa['worktreeID'],'unitID':_0x369421['unitID'],'type':_0x369421['type'],'source':'trunk','baselineTrunkRevision':_0x369421['headRevision'],'draftHeadRevision':_0x369421['headRevision'],'creatorID':_0x369421['creatorID'],'createdAt':_0x369421['createdAt']}}));if(_0x38f97f['status']==='not-found')throw Y(_0x22d4fa['worktreeID']);let _0x1affca=R(_0x38f97f['aggregate'],_0x22d4fa['worktreeID']);if(_0x38f97f['status']==='status-mismatch')throw new i('WORKTREE_NOT_EDITABLE','Worktree\x20'+_0x22d4fa['worktreeID']+'\x20is\x20'+_0x1affca['status'],{'details':{'status':_0x1affca['status']}});if(_0x518da0={'worktree':_0x1affca},_0x38f97f['status']==='added'){let _0x3f9e26=U(_0x1affca,_0x22d4fa['unitID']);await this['_events']['emit']('worktreeUnitAdded',{'userID':_0x3f01c9['userID'],'customData':_0x3f01c9['customData'],'request':_0xb2133c,'worktree':_0x1affca,'unit':_0x3f9e26,'occurredAt':Date['now']()});}}),_0x518da0;});}['setUnitRemoved'](_0x3ce2ed,_0xef44c8){return this['_call']('setUnitRemoved',async()=>{let _0x4389fc=C(_0xef44c8),_0x57c9bf=v(_0x3ce2ed),_0x3eaf88={..._0x4389fc,'request':_0x57c9bf},_0x190334;return await this['_middleware']['run']('setWorktreeUnitRemoved',_0x3eaf88,async()=>{if(S(_0x57c9bf['worktreeID']),!_0x57c9bf['unitID']||typeof _0x57c9bf['removed']!='boolean')throw X('unitID\x20and\x20a\x20boolean\x20removed\x20flag\x20are\x20required');let _0x32a354=await this['_database'](()=>this['_dbAdapter']['setUnitRemoved'](_0x3eaf88,_0x57c9bf));if(_0x32a354['status']==='not-found')throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x57c9bf['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x57c9bf['worktreeID']);if(_0x32a354['status']==='not-editable')throw new i('WORKTREE_NOT_EDITABLE','Unit\x20removal\x20can\x20only\x20change\x20in\x20an\x20editable\x20draft');let _0x36f1ab=R(_0x32a354['aggregate'],_0x57c9bf['worktreeID']);_0x190334={'worktree':_0x36f1ab},_0x32a354['status']==='updated'&&await this['_events']['emit']('worktreeUnitRemovalChanged',{'userID':_0x4389fc['userID'],'customData':_0x4389fc['customData'],'request':_0x57c9bf,'worktree':_0x36f1ab,'unit':U(_0x36f1ab,_0x57c9bf['unitID']),'occurredAt':Date['now']()});}),_0x190334;});}['createUnitFromSnapshot'](_0x3934ad,_0x2a1d74){return this['_call']('createUnitFromSnapshot',async()=>{S(_0x3934ad['worktreeID']);let _0x2d233d=C(_0x2a1d74),{worktreeID:_0x59b8b8,..._0x1fa471}=_0x3934ad;await this['_draftService'](_0x59b8b8)['createUnitFromSnapshot'](_0x1fa471,_0x2d233d);let _0x534b53=p({'worktreeID':_0x59b8b8});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x2d233d,'request':_0x534b53},_0x59b8b8),_0x59b8b8)};});}['createUnitFromData'](_0x46f26f,_0x1ced37){return this['_call']('createUnitFromData',async()=>{S(_0x46f26f['worktreeID']);let _0x3aba43=C(_0x1ced37),{worktreeID:_0x165e17,..._0x4911a2}=_0x46f26f;await this['_draftService'](_0x165e17)['createUnitFromData'](_0x4911a2,_0x3aba43);let _0x21df38=p({'worktreeID':_0x165e17});return{'worktree':R(await this['_requireWorktreeAggregate']({..._0x3aba43,'request':_0x21df38},_0x165e17),_0x165e17)};});}['markReady'](_0x941d56,_0x340963){return this['_call']('markReady',async()=>{let _0x2fc9f7=C(_0x340963),_0x426fd8=ee(_0x941d56),_0x290728={..._0x2fc9f7,'request':_0x426fd8},_0x83df20;return await this['_middleware']['run']('markWorktreeReady',_0x290728,async()=>{_0x83df20=await this['_transition'](_0x941d56['worktreeID'],_0x2fc9f7,_0x426fd8,()=>this['_dbAdapter']['markReady'](_0x290728,_0x941d56['worktreeID']));}),_0x83df20;});}['reopenWorktree'](_0x47d224,_0x320594){return this['_call']('reopenWorktree',async()=>{let _0x537887=C(_0x320594),_0x1b9356=te(_0x47d224),_0x210930={..._0x537887,'request':_0x1b9356},_0x5d9d0e;return await this['_middleware']['run']('reopenWorktree',_0x210930,async()=>{_0x5d9d0e=await this['_transition'](_0x47d224['worktreeID'],_0x537887,_0x1b9356,()=>this['_dbAdapter']['reopenWorktree'](_0x210930,_0x47d224['worktreeID']));}),_0x5d9d0e;});}['discardWorktree'](_0x4bb0dc,_0x2b7bdf){return this['_call']('discardWorktree',async()=>{let _0x45d5ea=C(_0x2b7bdf),_0x15206f=h(_0x4bb0dc),_0x22ba92={..._0x45d5ea,'request':_0x15206f},_0x5512b9;return await this['_middleware']['run']('discardWorktree',_0x22ba92,async()=>{_0x5512b9=await this['_transition'](_0x4bb0dc['worktreeID'],_0x45d5ea,_0x15206f,()=>this['_dbAdapter']['discardWorktree'](_0x22ba92,_0x4bb0dc['worktreeID']));}),_0x5512b9;});}['mergeWorktree'](_0x3f8a4e,_0x5d5f73){return this['_call']('mergeWorktree',async()=>{let _0x25a837=w(_0x5d5f73),_0x210c2c=g(_0x3f8a4e),_0x5c8e95={..._0x25a837,'request':_0x210c2c},_0x5b57fb;return await this['_middleware']['run']('mergeWorktree',_0x5c8e95,async()=>{S(_0x3f8a4e['worktreeID']);let _0x5e94fb=await this['_database'](()=>this['_dbAdapter']['startOrResumeMerge'](_0x5c8e95,_0x3f8a4e['worktreeID']));if(_0x5e94fb['status']==='not-found')throw Y(_0x3f8a4e['worktreeID']);let _0x57019f=_0x5e94fb['aggregate'],_0x5c6557=R(_0x57019f,_0x3f8a4e['worktreeID']);if(_0x5e94fb['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x3f8a4e['worktreeID']+'\x20cannot\x20merge\x20from\x20'+_0x5c6557['status'],{'details':{'status':_0x5c6557['status']}});if(_0x5e94fb['status']==='already-merged'){_0x5b57fb={'worktree':_0x5c6557};return;}_0x5e94fb['status']==='started'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x25a837['userID'],'customData':_0x25a837['customData'],'request':_0x210c2c,'worktree':_0x5c6557,'previousStatus':'ready','status':'merging','occurredAt':Date['now']()});for(let _0x559d9e of _0x57019f['units']){if(J(_0x559d9e['mergeResult']))continue;let _0x2610ed=await this['_mergeUnit'](_0x5c8e95,_0x57019f['worktree']['sid'],_0x559d9e,_0x25a837),_0x3863c4=await this['_database'](()=>this['_dbAdapter']['recordUnitMergeResult'](_0x5c8e95,{'worktreeID':_0x3f8a4e['worktreeID'],'unitID':_0x559d9e['unitID'],'readyDraftHeadRevision':O(_0x559d9e),'mergeResult':_0x2610ed}));if(_0x3863c4['status']==='not-found')throw Y(_0x3f8a4e['worktreeID']);if(_0x3863c4['status']==='stale-merge'){if(_0x57019f=await this['_requireWorktreeAggregate'](_0x5c8e95,_0x3f8a4e['worktreeID']),_0x5c6557=R(_0x57019f,_0x3f8a4e['worktreeID']),_0x57019f['worktree']['status']!=='merging')break;continue;}if(_0x3863c4['status']!=='recorded'&&_0x3863c4['status']!=='already-recorded')throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20result\x20status');_0x57019f=_0x3863c4['aggregate'],_0x5c6557=R(_0x57019f,_0x3f8a4e['worktreeID']),_0x3863c4['status']==='recorded'&&await this['_events']['emit']('worktreeUnitMergeResultRecorded',{'userID':_0x25a837['userID'],'customData':_0x25a837['customData'],'request':_0x210c2c,'worktree':_0x5c6557,'unit':U(_0x5c6557,_0x559d9e['unitID']),'occurredAt':Date['now']()});}if(_0x57019f['worktree']['status']==='merging'){let _0x279eef=await this['_database'](()=>this['_dbAdapter']['finishMerge'](_0x5c8e95,_0x3f8a4e['worktreeID']));if(_0x279eef['status']==='not-found')throw Y(_0x3f8a4e['worktreeID']);if(_0x57019f=_0x279eef['aggregate'],_0x5c6557=R(_0x57019f,_0x3f8a4e['worktreeID']),_0x279eef['status']==='transitioned')await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x25a837['userID'],'customData':_0x25a837['customData'],'request':_0x210c2c,'worktree':_0x5c6557,'previousStatus':_0x279eef['previousStatus'],'status':_0x5c6557['status'],'occurredAt':Date['now']()});else{if(_0x279eef['status']==='status-mismatch'&&_0x5c6557['status']!=='ready'&&_0x5c6557['status']!=='merged')throw new i('WORKTREE_STALE_MERGE','Worktree\x20'+_0x3f8a4e['worktreeID']+'\x20merge\x20was\x20superseded',{'retryable':!0x0,'details':{'status':_0x5c6557['status']}});}}_0x5b57fb={'worktree':_0x5c6557};}),_0x5b57fb;});}['evaluateWorktreeUnitMerge'](_0x480189,_0x1e77f8){return this['_call']('evaluateWorktreeUnitMerge',async()=>{let _0x5b89d9=C(_0x1e77f8),_0x62e99e=_(_0x480189),_0x86d7c3={..._0x5b89d9,'request':_0x62e99e},_0x3f3632;return await this['_middleware']['run']('readUnitData',_0x86d7c3,async()=>{if(S(_0x480189['worktreeID']),!_0x480189['unitID'])throw X('unitID\x20is\x20required');let _0x558850=await this['_requireWorktreeAggregate'](_0x86d7c3,_0x480189['worktreeID']);if(_0x558850['worktree']['status']!=='ready')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x480189['worktreeID']+'\x20cannot\x20preview\x20from\x20'+_0x558850['worktree']['status'],{'details':{'status':_0x558850['worktree']['status']}});let _0xa242af=_0x558850['units']['find'](_0x3cad4b=>_0x3cad4b['unitID']===_0x480189['unitID']);if(!_0xa242af)throw new i('WORKTREE_UNIT_NOT_FOUND','Unit\x20'+_0x480189['unitID']+'\x20does\x20not\x20exist\x20in\x20Worktree\x20'+_0x480189['worktreeID']);if(_0xa242af['removed']){_0x3f3632={'status':'not-applicable','reason':'removed-unit','worktreeID':_0x480189['worktreeID'],'unitID':_0x480189['unitID']};return;}if(_0xa242af['source']==='worktree'){_0x3f3632={'status':'not-applicable','reason':'worktree-created-unit','worktreeID':_0x480189['worktreeID'],'unitID':_0x480189['unitID']};return;}if(J(_0xa242af['mergeResult'])){_0x3f3632={'status':'already-merged','worktreeID':_0x480189['worktreeID'],'unitID':_0x480189['unitID'],'mergeResult':q(_0xa242af['mergeResult'])};return;}let _0x1c0a3b=B(_0xa242af),_0x1bdc04=O(_0xa242af),_0x3c6943=await this['_trunkService']['getUnitLoadData']({'unitID':_0xa242af['unitID'],'type':_0xa242af['type'],'revision':0x0},_0x5b89d9);if(_0x3c6943['targetRevision']===_0x1c0a3b){_0x3f3632={'status':'not-behind','worktreeID':_0x480189['worktreeID'],'unitID':_0x480189['unitID']};return;}if(_0x3c6943['targetRevision']<_0x1c0a3b)throw Z('Trunk\x20head\x20is\x20behind\x20the\x20Worktree\x20baseline');let _0x2bc393=k(_0xa242af,_0x1bdc04,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x86d7c3,_0xa242af['worktreeID'],_0xa242af['unitID'],{'from':_0x1c0a3b,'to':_0x1bdc04}))),_0x4f7439=await this['_trunkService']['getChangesets']({'unitID':_0xa242af['unitID'],'type':_0xa242af['type'],'from':_0x1c0a3b,'to':_0x3c6943['targetRevision']},_0x5b89d9);try{let _0x1c2cb4={'context':_0x86d7c3,'dbAdapter':this['_trunkDbAdapter'],'unitID':_0xa242af['unitID'],'type':_0xa242af['type'],...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}},_0x41312b=_0x1bdc04===_0x1c0a3b?await s({..._0x1c2cb4,'expectedRevision':_0x3c6943['targetRevision']}):await l({..._0x1c2cb4,'trunkHeadRevision':_0x3c6943['targetRevision'],'original':A(_0x558850['worktree']['sid'],_0xa242af,_0x1bdc04,_0x2bc393,{'userID':_0x5b89d9['userID'],'memberID':'worktree-merge-preview'}),'trunkHistory':_0x4f7439['changesets']});_0x3f3632={'status':'preview','worktreeID':_0x480189['worktreeID'],'unitID':_0x480189['unitID'],'preview':_0x41312b};}catch(_0x301cee){if(_0x301cee instanceof n['CollabError']&&_0x301cee['code']==='OT_CONFLICT'){_0x3f3632={'status':'conflict','worktreeID':_0x480189['worktreeID'],'unitID':_0x480189['unitID'],'error':M(_0x301cee)};return;}throw _0x301cee;}}),_0x3f3632;});}['getUnitLoadData'](_0x3e5529,_0x2ff82f){return this['_call']('getUnitLoadData',()=>(S(_0x3e5529['worktreeID']),this['_draftService'](_0x3e5529['worktreeID'])['getUnitLoadData']({'unitID':_0x3e5529['unitID'],'type':_0x3e5529['type'],'revision':_0x3e5529['revision']},C(_0x2ff82f))));}['getChangesets'](_0x249711,_0x15772e){return this['_call']('getChangesets',()=>(S(_0x249711['worktreeID']),this['_draftService'](_0x249711['worktreeID'])['getChangesets']({'unitID':_0x249711['unitID'],'type':_0x249711['type'],'from':_0x249711['from'],'to':_0x249711['to']},C(_0x15772e))));}['getSheetBlock'](_0x1795d1,_0x555cef){return this['_call']('getSheetBlock',()=>(S(_0x1795d1['worktreeID']),this['_draftService'](_0x1795d1['worktreeID'])['getSheetBlock']({'unitID':_0x1795d1['unitID'],'type':_0x1795d1['type'],'blockID':_0x1795d1['blockID']},C(_0x555cef))));}['submitChangeset'](_0x1eeb65,_0x1c8274){return this['_call']('submitChangeset',()=>(S(_0x1eeb65['worktreeID']),this['_draftService'](_0x1eeb65['worktreeID'])['submitChangeset']({'changeset':_0x1eeb65['changeset']},w(_0x1c8274))));}['dispose'](){return this['_lifecycle']['dispose'](async()=>{this['_middleware']['clear'](),this['_events']['clear']();let _0x11725a=[...this['_draftServices']['values']()];this['_draftServices']['clear'](),await Promise['all'](_0x11725a['map'](_0x245b8c=>_0x245b8c['dispose']()));});}['_draftService'](_0x1c7c11){let _0x3f4bfa=this['_draftServices']['get'](_0x1c7c11);if(_0x3f4bfa)return _0x3f4bfa;let _0x4e37d5=new n['UniverCollabService']({'dbAdapter':new a(_0x1c7c11,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 _0x4e37d5['use']('createUnit',(_0x286ca9,_0x3d71a0)=>{let _0x62efaf=E(_0x286ca9['request'],_0x1c7c11);return this['_middleware']['run']('createWorktreeUnit',{'userID':_0x286ca9['userID'],'customData':_0x286ca9['customData'],'request':_0x62efaf},_0x3d71a0);}),_0x4e37d5['use']('readUnitData',(_0x46d75d,_0x2d83be)=>{let _0x13e3aa=E(_0x46d75d['request'],_0x1c7c11);return this['_middleware']['run']('readUnitData',{'userID':_0x46d75d['userID'],'customData':_0x46d75d['customData'],'request':_0x13e3aa},_0x2d83be);}),_0x4e37d5['use']('submitChangeset',(_0x50e66c,_0x3ed7a3)=>{let _0x7dca44=E(_0x50e66c['request'],_0x1c7c11);return this['_middleware']['run']('submitChangeset',{'userID':_0x50e66c['userID'],'memberID':_0x50e66c['memberID'],'customData':_0x50e66c['customData'],'request':_0x7dca44},_0x3ed7a3);}),_0x4e37d5['use']('applyChangeset',(_0x24f1ba,_0x186818)=>{let _0x3d0b70=E(_0x24f1ba['request'],_0x1c7c11);return this['_middleware']['run']('applyChangeset',{'userID':_0x24f1ba['userID'],'memberID':_0x24f1ba['memberID'],'customData':_0x24f1ba['customData'],'request':_0x3d0b70,'attempt':_0x24f1ba['attempt'],'currentRevision':_0x24f1ba['currentRevision'],'changeset':_0x24f1ba['changeset']},_0x186818);}),_0x4e37d5['use']('commitChangeset',(_0x498f5b,_0x1f1d26)=>{let _0x6aed05=E(_0x498f5b['request'],_0x1c7c11);return this['_middleware']['run']('commitChangeset',{'userID':_0x498f5b['userID'],'memberID':_0x498f5b['memberID'],'customData':_0x498f5b['customData'],'request':_0x6aed05,'attempt':_0x498f5b['attempt'],'expectedHeadRevision':_0x498f5b['expectedHeadRevision'],'requiredUnitPermissions':_0x498f5b['requiredUnitPermissions'],'changeset':_0x498f5b['changeset']},_0x1f1d26);}),_0x4e37d5['on']('changesetCommitted',_0x4ca888=>{let _0x3703cb=E(_0x4ca888['request'],_0x1c7c11);return this['_events']['emit']('changesetCommitted',{'userID':_0x4ca888['userID'],'memberID':_0x4ca888['memberID'],'customData':_0x4ca888['customData'],'request':_0x3703cb,'changeset':_0x4ca888['changeset'],'requiredUnitPermissions':_0x4ca888['requiredUnitPermissions'],'committedAt':_0x4ca888['committedAt']});}),_0x4e37d5['on']('unitCreated',async _0x4efb7d=>{let _0x554d6e=E(_0x4efb7d['request'],_0x1c7c11),_0x1adfb8=R(await this['_requireWorktreeAggregate']({'userID':_0x4efb7d['userID'],'customData':_0x4efb7d['customData'],'request':_0x554d6e},_0x1c7c11),_0x1c7c11);await this['_events']['emit']('worktreeUnitCreated',{'userID':_0x4efb7d['userID'],'customData':_0x4efb7d['customData'],'request':_0x554d6e,'worktree':_0x1adfb8,'unit':U(_0x1adfb8,_0x4efb7d['record']['unitID']),'occurredAt':_0x4efb7d['createdAt']});}),this['_draftServices']['set'](_0x1c7c11,_0x4e37d5),_0x4e37d5;}async['_mergeUnit'](_0x37df53,_0x24ba9f,_0x4b3d78,_0x376ab7){try{if(_0x4b3d78['removed'])return{'status':'removed'};if(_0x4b3d78['source']==='worktree')return await this['_mergeCreatedUnit'](_0x37df53,_0x4b3d78,_0x376ab7);let _0x8763f4=B(_0x4b3d78),_0xd48c9c=O(_0x4b3d78);if(_0xd48c9c===_0x8763f4)return{'status':'unchanged'};let _0x12ed79=k(_0x4b3d78,_0xd48c9c,await this['_database'](()=>this['_dbAdapter']['getDraftChangesets'](_0x37df53,_0x4b3d78['worktreeID'],_0x4b3d78['unitID'],{'from':_0x8763f4,'to':_0xd48c9c}))),_0xdc1566=await this['_trunkService']['submitChangeset']({'changeset':A(_0x24ba9f,_0x4b3d78,_0xd48c9c,_0x12ed79,_0x376ab7)},_0x376ab7);return _0xdc1566['status']==='committed'||_0xdc1566['status']==='already-committed'?{'status':'merged','trunkRevision':_0xdc1566['changeset']['revision']}:j('error'in _0xdc1566?_0xdc1566['error']:Error('Trunk\x20merge\x20failed'));}catch(_0x260f70){return j(_0x260f70);}}async['_mergeCreatedUnit'](_0x21e63f,_0x3c494c,_0x114d2f){let _0x45eb35=O(_0x3c494c),_0x243474=await this['_database'](()=>this['_dbAdapter']['getUnitMergeArtifact'](_0x21e63f,_0x3c494c['worktreeID'],_0x3c494c['unitID']));if(!_0x243474){let _0x435eef=await s({'context':_0x21e63f,'dbAdapter':new a(_0x3c494c['worktreeID'],this['_trunkDbAdapter'],this['_dbAdapter']),'unitID':_0x3c494c['unitID'],'type':_0x3c494c['type'],'expectedRevision':_0x45eb35,...this['_runtimeOptions']===void 0x0?{}:{'runtime':this['_runtimeOptions']}});if(!await this['_database'](()=>this['_dbAdapter']['getUnitSeed'](_0x21e63f,_0x3c494c['worktreeID'],_0x3c494c['unitID'])))throw Z('Worktree-created\x20Unit\x20seed\x20is\x20missing');let _0x5a9950=await this['_database'](()=>this['_dbAdapter']['saveUnitMergeArtifact'](_0x21e63f,{'worktreeID':_0x3c494c['worktreeID'],'unitID':_0x3c494c['unitID'],'artifact':{'readyDraftHeadRevision':_0x45eb35,'unit':{'snapshot':H(_0x435eef['snapshot']),..._0x435eef['sheetBlocks']===void 0x0?{}:{'sheetBlocks':_0x435eef['sheetBlocks']}}}}));if(_0x5a9950['status']==='not-found')throw Y(_0x3c494c['worktreeID']);if(_0x5a9950['status']==='stale-merge')throw new i('WORKTREE_STALE_MERGE','Worktree\x20Unit\x20changed\x20while\x20saving\x20its\x20merge\x20artifact',{'retryable':!0x0});if(!('artifact'in _0x5a9950))throw Z('Database\x20returned\x20an\x20invalid\x20merge\x20artifact\x20result');_0x243474=_0x5a9950['artifact'];}if(!_0x243474)throw Z('Worktree\x20Unit\x20merge\x20artifact\x20is\x20missing');V(_0x3c494c,_0x45eb35,_0x243474);let _0x5e98f5=_0x243474['unit'];if(await this['_trunkService']['createUnitFromSnapshot']({'snapshot':_0x5e98f5['snapshot'],'sheetBlocks':[..._0x5e98f5['sheetBlocks']??[]]},_0x114d2f),!await this['_matchesCreatedTrunkUnit'](_0x21e63f,_0x3c494c,_0x5e98f5))throw new P('Trunk\x20Unit\x20'+_0x3c494c['unitID']+'\x20already\x20exists\x20with\x20different\x20content');return{'status':'merged','trunkRevision':0x1};}async['_matchesCreatedTrunkUnit'](_0x4d2f13,_0x1f9e08,_0x428f5e){let _0x597be9=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x4d2f13,_0x1f9e08['unitID']));if(!_0x597be9||_0x597be9['type']!==_0x1f9e08['type']||_0x597be9['headRevision']<0x1||!F(await this['_database'](()=>this['_trunkDbAdapter']['getSnapshot'](_0x4d2f13,_0x1f9e08['unitID'],{'revision':0x1})),_0x428f5e['snapshot']))return!0x1;for(let _0x4462c5 of _0x428f5e['sheetBlocks']??[])if(!F(await this['_database'](()=>this['_trunkDbAdapter']['getSheetBlock'](_0x4d2f13,_0x1f9e08['unitID'],_0x4462c5['id'])),_0x4462c5))return!0x1;return!0x0;}async['_requireWorktreeAggregate'](_0x5eddc7,_0x16b473){let _0x44cf6f=await this['_database'](()=>this['_dbAdapter']['getWorktree'](_0x5eddc7,_0x16b473));if(!_0x44cf6f)throw Y(_0x16b473);return R(_0x44cf6f,_0x16b473),_0x44cf6f;}async['_transition'](_0x2c1b03,_0x5300dc,_0x2b269a,_0x9e1447){S(_0x2c1b03);let _0x40f981=await this['_database'](_0x9e1447);if(_0x40f981['status']==='not-found')throw Y(_0x2c1b03);let _0x51374e=R(_0x40f981['aggregate'],_0x2c1b03);if(_0x40f981['status']==='status-mismatch')throw new i('WORKTREE_STATUS_MISMATCH','Worktree\x20'+_0x2c1b03+'\x20cannot\x20transition\x20from\x20'+_0x51374e['status'],{'details':{'status':_0x51374e['status']}});return _0x40f981['status']==='transitioned'&&await this['_events']['emit']('worktreeStatusChanged',{'userID':_0x5300dc['userID'],'customData':_0x5300dc['customData'],'request':_0x2b269a,'worktree':_0x51374e,'previousStatus':_0x40f981['previousStatus'],'status':_0x51374e['status'],'occurredAt':Date['now']()}),{'worktree':_0x51374e};}async['_requireTrunkUnit'](_0x2b9fef,_0x3a72f4){let _0xcf4f4d=await this['_database'](()=>this['_trunkDbAdapter']['getUnit'](_0x2b9fef,_0x3a72f4));if(!_0xcf4f4d)throw new n['CollabError']('UNIT_NOT_FOUND','Trunk\x20Unit\x20'+_0x3a72f4+'\x20does\x20not\x20exist');if(_0xcf4f4d['unitID']!==_0x3a72f4||!x['has'](_0xcf4f4d['type'])||!Number['isSafeInteger'](_0xcf4f4d['headRevision'])||_0xcf4f4d['headRevision']<0x1)throw Z('Trunk\x20Database\x20returned\x20invalid\x20Unit\x20metadata');return _0xcf4f4d;}async['_database'](_0x12eda9){try{return await _0x12eda9();}catch(_0x5701b8){throw _0x5701b8 instanceof n['CollabError']||_0x5701b8 instanceof i?_0x5701b8:Z('Database\x20Adapter\x20failed',_0x5701b8);}}async['_call'](_0x2f0743,_0xd27f6a){try{return this['_metrics']['increment']('collaboration.worktree.service.call',{'operation':_0x2f0743}),await this['_lifecycle']['run'](_0xd27f6a);}catch(_0x2be1f8){throw _0x2be1f8 instanceof n['CollabError']||_0x2be1f8 instanceof i?_0x2be1f8:(this['_logger']['error']('Worktree\x20Service\x20operation\x20failed',{'operation':_0x2f0743,'error':$(_0x2be1f8)}),new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20failed',{'retryable':!0x0,'cause':_0x2be1f8}));}}['_assertRunning'](){if(this['_lifecycle']['state']!=='running')throw new n['CollabError']('INTERNAL_ERROR','Worktree\x20Service\x20is\x20'+this['_lifecycle']['state'],{'retryable':!0x0});}};function S(_0x1bea6b){if(!_0x1bea6b)throw X('worktreeID\x20is\x20required');}function C(_0x123e2f){return T(_0x123e2f),{'userID':_0x123e2f['userID'],'customData':_0x123e2f['customData']??Object['create'](null)};}function w(_0x5b9cfb){if(T(_0x5b9cfb),typeof _0x5b9cfb['memberID']!='string'||_0x5b9cfb['memberID']['length']===0x0)throw X('memberID\x20must\x20be\x20a\x20non-empty\x20string');return{'userID':_0x5b9cfb['userID'],'memberID':_0x5b9cfb['memberID'],'customData':_0x5b9cfb['customData']??Object['create'](null)};}function T(_0x59e0bc){if(!_0x59e0bc||typeof _0x59e0bc!='object')throw X('context\x20must\x20be\x20an\x20object');if(typeof _0x59e0bc['userID']!='string'||_0x59e0bc['userID']['length']===0x0)throw X('userID\x20must\x20be\x20a\x20non-empty\x20string');if(_0x59e0bc['customData']!==void 0x0&&(_0x59e0bc['customData']===null||typeof _0x59e0bc['customData']!='object'||Array['isArray'](_0x59e0bc['customData'])))throw X('customData\x20must\x20be\x20an\x20object');}function E(_0x4d7d0a,_0x2a186b){let _0x3d5d50=_0x4d7d0a;if(_0x3d5d50['worktreeID']!==void 0x0){if(_0x3d5d50['worktreeID']!==_0x2a186b)throw new n['CollabError']('INTERNAL_ERROR','Draft\x20Request\x20is\x20bound\x20to\x20a\x20different\x20Worktree',{'retryable':!0x0});return _0x3d5d50;}return Object['defineProperty'](_0x4d7d0a,'worktreeID',{'value':_0x2a186b,'enumerable':!0x0,'configurable':!0x1,'writable':!0x1}),_0x4d7d0a;}function D(_0x42d9e5){if(_0x42d9e5['some'](_0x2860d2=>!_0x2860d2))throw X('Initial\x20Unit\x20IDs\x20cannot\x20be\x20empty');if(new Set(_0x42d9e5)['size']!==_0x42d9e5['length'])throw X('Initial\x20Unit\x20IDs\x20must\x20be\x20unique');}function O(_0x41ad2c){let _0x3ae430=_0x41ad2c['readyDraftHeadRevision'],_0xafa6d0=_0x41ad2c['source']==='trunk'?B(_0x41ad2c):0x1;if(_0x3ae430===void 0x0||!Number['isSafeInteger'](_0x3ae430)||_0x3ae430<_0xafa6d0)throw Z('Merging\x20Worktree\x20Unit\x20has\x20no\x20valid\x20frozen\x20draft\x20head');return _0x3ae430;}function k(_0xca4543,_0x26ddb0,_0x2a516c){let _0x1c70bf=B(_0xca4543);if(_0x2a516c===null)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20no\x20longer\x20readable');let _0xa81f62=_0x1c70bf+0x1,_0x417c63=[];for(let _0x191958 of _0x2a516c){if(_0x191958['unitID']!==_0xca4543['unitID']||_0x191958['type']!==_0xca4543['type']||_0x191958['baseRev']!==_0xa81f62-0x1||_0x191958['revision']!==_0xa81f62)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20not\x20contiguous');_0x417c63['push'](...structuredClone(_0x191958['mutations'])),_0xa81f62+=0x1;}if(_0xa81f62-0x1!==_0x26ddb0)throw new N('Frozen\x20Worktree\x20draft\x20history\x20is\x20incomplete');return _0x417c63;}function A(_0x3c8886,_0x1bd4ea,_0x2273cf,_0x2e6216,_0x4a8cae){let _0x8aa7f1=B(_0x1bd4ea);return{'unitID':_0x1bd4ea['unitID'],'type':_0x1bd4ea['type'],'baseRev':_0x8aa7f1,'revision':_0x8aa7f1+0x1,'userID':_0x4a8cae['userID'],'memberID':_0x4a8cae['memberID'],'sid':_0x3c8886,'reqId':_0x2273cf-_0x8aa7f1,'mutations':_0x2e6216};}function j(_0x5ab010){let _0x3947e7=M(_0x5ab010);return _0x5ab010 instanceof N||_0x5ab010 instanceof P||_0x5ab010 instanceof n['CollabError']&&_0x5ab010['code']==='OT_CONFLICT'?{'status':'conflict','error':_0x3947e7}:{'status':'failed','error':_0x3947e7};}function M(_0x4a7310){return _0x4a7310 instanceof N?{'code':'WORKTREE_DRAFT_HISTORY_INVALID','message':_0x4a7310['message'],'retryable':!0x0}:_0x4a7310 instanceof P?{'code':'WORKTREE_CREATE_CONFLICT','message':_0x4a7310['message'],'retryable':!0x1}:_0x4a7310 instanceof n['CollabError']||_0x4a7310 instanceof i?{'code':_0x4a7310['code'],'message':_0x4a7310['message'],'retryable':_0x4a7310['retryable']}:{'code':'INTERNAL_ERROR','message':_0x4a7310 instanceof Error?_0x4a7310['message']:'Merge\x20failed','retryable':!0x0};}var N=class extends Error{constructor(_0x531601){super(_0x531601),this['name']='FrozenDraftConflict';}},P=class extends Error{constructor(_0x54bca1){super(_0x54bca1),this['name']='WorktreeCreateConflict';}};function F(_0x1646ca,_0x3d8ada){return(0x0,t['isDeepStrictEqual'])(I(_0x1646ca),I(_0x3d8ada));}function I(_0x3eac18){if(_0x3eac18!==void 0x0)return JSON['parse'](JSON['stringify'](_0x3eac18,(_0x35a86f,_0x2b0149)=>_0x2b0149 instanceof Uint8Array?{'__univerCollaborationBinary':[..._0x2b0149]}:_0x2b0149));}function L(_0x1800f6,_0x39dd05){let _0x53f534=new Set(_0x1800f6['units']['map'](({unitID:_0x493aa4})=>_0x493aa4));if(_0x53f534['size']!==_0x39dd05['length']||_0x39dd05['some'](_0x55fc9d=>!_0x53f534['has'](_0x55fc9d)))throw Z('Database\x20returned\x20incomplete\x20initial\x20Worktree\x20Units');}function R(_0x4d79b0,_0x5b238b){let {worktree:_0x16e2a6,units:_0x32085c}=_0x4d79b0;if(_0x16e2a6['worktreeID']!==_0x5b238b||!_0x16e2a6['sid']||!W(_0x16e2a6['status']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20metadata');let _0x233148=new Set(),_0x10523c=_0x32085c['map'](_0x55609b=>{let _0x1c7964=_0x55609b['source']==='trunk'&&Number['isSafeInteger'](_0x55609b['baselineTrunkRevision'])&&_0x55609b['baselineTrunkRevision']>=0x1&&_0x55609b['draftHeadRevision']>=_0x55609b['baselineTrunkRevision']||_0x55609b['source']==='worktree'&&_0x55609b['baselineTrunkRevision']===void 0x0&&_0x55609b['draftHeadRevision']>=0x1;if(_0x55609b['worktreeID']!==_0x5b238b||!_0x55609b['unitID']||_0x233148['has'](_0x55609b['unitID'])||!x['has'](_0x55609b['type'])||!_0x1c7964||!Number['isSafeInteger'](_0x55609b['draftHeadRevision'])||_0x55609b['readyDraftHeadRevision']!==void 0x0&&_0x55609b['readyDraftHeadRevision']!==_0x55609b['draftHeadRevision']||_0x55609b['mergeResult']!==void 0x0&&_0x55609b['readyDraftHeadRevision']===void 0x0||_0x55609b['removed']!==void 0x0&&typeof _0x55609b['removed']!='boolean'||!G(_0x55609b['mergeResult']))throw Z('Database\x20returned\x20invalid\x20Worktree\x20Unit\x20metadata');return _0x233148['add'](_0x55609b['unitID']),z(_0x55609b);});if(_0x16e2a6['status']==='merged'&&_0x10523c['some'](({mergeResult:_0x1342b6})=>!J(_0x1342b6)))throw Z('Merged\x20Worktree\x20contains\x20an\x20incomplete\x20Unit');return{'worktreeID':_0x16e2a6['worktreeID'],'status':_0x16e2a6['status'],'units':_0x10523c};}function z(_0x17ec2d){return{'unitID':_0x17ec2d['unitID'],'type':_0x17ec2d['type'],'source':_0x17ec2d['source'],..._0x17ec2d['baselineTrunkRevision']===void 0x0?{}:{'baselineTrunkRevision':_0x17ec2d['baselineTrunkRevision']},'draftHeadRevision':_0x17ec2d['draftHeadRevision'],..._0x17ec2d['readyDraftHeadRevision']===void 0x0?{}:{'readyDraftHeadRevision':_0x17ec2d['readyDraftHeadRevision']},..._0x17ec2d['removed']===void 0x0?{}:{'removed':_0x17ec2d['removed']},..._0x17ec2d['mergeResult']===void 0x0?{}:{'mergeResult':K(_0x17ec2d['mergeResult'])}};}function B(_0x5c77a9){if(_0x5c77a9['source']!=='trunk'||!Number['isSafeInteger'](_0x5c77a9['baselineTrunkRevision'])||_0x5c77a9['baselineTrunkRevision']<0x1)throw Z('Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline');return _0x5c77a9['baselineTrunkRevision'];}function V(_0x2c08e1,_0x3f2fc7,_0x39a4df){if(_0x39a4df['readyDraftHeadRevision']!==_0x3f2fc7||_0x39a4df['unit']['snapshot']['unitID']!==_0x2c08e1['unitID']||_0x39a4df['unit']['snapshot']['type']!==_0x2c08e1['type']||_0x39a4df['unit']['snapshot']['rev']!==0x1)throw Z('Database\x20returned\x20an\x20invalid\x20Worktree\x20Unit\x20merge\x20artifact');}function H(_0x5ceee9){let _0x190bce={..._0x5ceee9,'rev':0x1};return _0x5ceee9['workbook']?{..._0x190bce,'workbook':{..._0x5ceee9['workbook'],'rev':0x1}}:_0x5ceee9['doc']?{..._0x190bce,'doc':{..._0x5ceee9['doc'],'rev':0x1}}:_0x5ceee9['slide']?{..._0x190bce,'slide':{..._0x5ceee9['slide'],'rev':0x1}}:_0x5ceee9['board']?{..._0x190bce,'board':{..._0x5ceee9['board'],'rev':0x1}}:_0x190bce;}function U(_0x412992,_0xa087d7){let _0x521a64=_0x412992['units']['find'](_0x13776f=>_0x13776f['unitID']===_0xa087d7);if(!_0x521a64)throw Z('Database\x20omitted\x20the\x20added\x20Worktree\x20Unit');return _0x521a64;}function W(_0x5258b6){return _0x5258b6==='draft'||_0x5258b6==='ready'||_0x5258b6==='merging'||_0x5258b6==='merged'||_0x5258b6==='discarded';}function G(_0xe01eb5){return _0xe01eb5===void 0x0?!0x0:!_0xe01eb5||typeof _0xe01eb5!='object'||!('status'in _0xe01eb5)?!0x1:_0xe01eb5['status']==='unchanged'||_0xe01eb5['status']==='removed'?!0x0:_0xe01eb5['status']==='merged'&&'trunkRevision'in _0xe01eb5?typeof _0xe01eb5['trunkRevision']=='number'&&Number['isSafeInteger'](_0xe01eb5['trunkRevision'])&&_0xe01eb5['trunkRevision']>=0x1:_0xe01eb5['status']!=='conflict'&&_0xe01eb5['status']!=='failed'||!('error'in _0xe01eb5)||!_0xe01eb5['error']||typeof _0xe01eb5['error']!='object'||!('code'in _0xe01eb5['error'])||!('message'in _0xe01eb5['error'])||!('retryable'in _0xe01eb5['error'])?!0x1:typeof _0xe01eb5['error']['code']=='string'&&!!_0xe01eb5['error']['code']&&typeof _0xe01eb5['error']['message']=='string'&&!!_0xe01eb5['error']['message']&&typeof _0xe01eb5['error']['retryable']=='boolean';}function K(_0x4ce707){return _0x4ce707['status']==='merged'?{'status':'merged','trunkRevision':_0x4ce707['trunkRevision']}:_0x4ce707['status']==='unchanged'||_0x4ce707['status']==='removed'?{'status':_0x4ce707['status']}:{'status':_0x4ce707['status'],'error':{'code':_0x4ce707['error']['code'],'message':_0x4ce707['error']['message'],'retryable':_0x4ce707['error']['retryable']}};}function q(_0x5f0b50){if(_0x5f0b50?.['status']==='merged')return{'status':'merged','trunkRevision':_0x5f0b50['trunkRevision']};if(_0x5f0b50?.['status']==='unchanged')return{'status':'unchanged'};throw Z('Worktree\x20Unit\x20merge\x20result\x20is\x20not\x20terminal');}function J(_0x9ebf47){return _0x9ebf47?.['status']==='merged'||_0x9ebf47?.['status']==='unchanged'||_0x9ebf47?.['status']==='removed';}function Y(_0x2a5908){return new i('WORKTREE_NOT_FOUND','Worktree\x20'+_0x2a5908+'\x20does\x20not\x20exist');}function X(_0x39ba68){return new n['CollabError']('INVALID_REQUEST',_0x39ba68);}function Z(_0x2d014f,_0x2e5733){return new n['CollabError']('ADAPTER_FAILURE',_0x2d014f,{'retryable':!0x0,..._0x2e5733===void 0x0?{}:{'cause':_0x2e5733}});}function re(_0x44740e){return _0x44740e?{'debug':(..._0x321f67)=>Q(()=>_0x44740e['debug'](..._0x321f67)),'info':(..._0x534c09)=>Q(()=>_0x44740e['info'](..._0x534c09)),'warn':(..._0x320774)=>Q(()=>_0x44740e['warn'](..._0x320774)),'error':(..._0x10816b)=>Q(()=>_0x44740e['error'](..._0x10816b))}:{'debug':()=>void 0x0,'info':()=>void 0x0,'warn':()=>void 0x0,'error':()=>void 0x0};}function ie(_0x59379d){return _0x59379d?{'increment':(..._0x11edc5)=>Q(()=>_0x59379d['increment'](..._0x11edc5)),'observe':(..._0x3e23de)=>Q(()=>_0x59379d['observe'](..._0x3e23de))}:{'increment':()=>void 0x0,'observe':()=>void 0x0};}function Q(_0x521cf3){try{_0x521cf3();}catch{}}function $(_0xd73931){return _0xd73931 instanceof Error?_0xd73931['message']:String(_0xd73931);}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
- (function(_0x57d3bf,_0xc337e7){const _0x3aaa4c=_0x594d,_0x65cbbb=_0x57d3bf();while(!![]){try{const _0x164df1=parseInt(_0x3aaa4c(0x11a))/0x1*(parseInt(_0x3aaa4c(0x117))/0x2)+-parseInt(_0x3aaa4c(0x115))/0x3+-parseInt(_0x3aaa4c(0x114))/0x4+-parseInt(_0x3aaa4c(0x112))/0x5*(-parseInt(_0x3aaa4c(0x111))/0x6)+-parseInt(_0x3aaa4c(0x113))/0x7+-parseInt(_0x3aaa4c(0x110))/0x8*(-parseInt(_0x3aaa4c(0x118))/0x9)+-parseInt(_0x3aaa4c(0x119))/0xa*(-parseInt(_0x3aaa4c(0x116))/0xb);if(_0x164df1===_0xc337e7)break;else _0x65cbbb['push'](_0x65cbbb['shift']());}catch(_0x37830c){_0x65cbbb['push'](_0x65cbbb['shift']());}}}(_0x11c4,0x9d1a6));function _0x594d(_0x1a5b1a,_0x44c921){_0x1a5b1a=_0x1a5b1a-0x110;const _0x11c464=_0x11c4();let _0x594dfb=_0x11c464[_0x1a5b1a];return _0x594dfb;}import _0x31b48e from'./index.cjs';function _0x11c4(){const _0x5dfff7=['18UfZUGc','1335175PwZUOF','8950921kETsGu','443976bXTxQC','1355526KrsbGA','57167IzpHBT','71424eAFXTY','19953ijsmBE','1150jkWRjE','9ecsGBq','2760KHMQfk'];_0x11c4=function(){return _0x5dfff7;};return _0x11c4();}const facadeExport0=_0x31b48e['UniverCollabWorktreeService'],facadeExport1=_0x31b48e['WorktreeError'];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.0",
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.0",
20
- "@univerjs/protocol": "1.0.0"
19
+ "@univerjs-pro/collaboration-service": "1.0.2",
20
+ "@univerjs/protocol": "1.0.2"
21
21
  }
22
22
  }