@univerjs-pro/collaboration-worktree-database-sqlite 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});var e=Object['create'],t=Object['defineProperty'],n=Object['getOwnPropertyDescriptor'],r=Object['getOwnPropertyNames'],i=Object['getPrototypeOf'],a=Object['prototype']['hasOwnProperty'],o=(_0x5e38bd,_0x43c140,_0x1893e3,_0x2820c6)=>{if(_0x43c140&&typeof _0x43c140=='object'||typeof _0x43c140=='function'){for(var _0x2142fe=r(_0x43c140),_0x7546eb=0x0,_0x1b39bf=_0x2142fe['length'],_0x4aa32e;_0x7546eb<_0x1b39bf;_0x7546eb++)_0x4aa32e=_0x2142fe[_0x7546eb],!a['call'](_0x5e38bd,_0x4aa32e)&&_0x4aa32e!==_0x1893e3&&t(_0x5e38bd,_0x4aa32e,{'get':(_0x3f998f=>_0x43c140[_0x3f998f])['bind'](null,_0x4aa32e),'enumerable':!(_0x2820c6=n(_0x43c140,_0x4aa32e))||_0x2820c6['enumerable']});}return _0x5e38bd;},s=(_0x3c8825,_0x51e8fa,_0x55b326)=>(_0x55b326=_0x3c8825==null?{}:e(i(_0x3c8825)),o(_0x51e8fa||!_0x3c8825||!_0x3c8825['__esModule']?t(_0x55b326,'default',{'value':_0x3c8825,'enumerable':!0x0}):_0x55b326,_0x3c8825));let c=require('node:util'),l=require('libsql');l=s(l,0x1);let u=require('@univerjs-pro/collaboration-service'),d=require('@univerjs/protocol');var f='worktree',p=0x3,m=['collaboration_worktrees','collaboration_worktree_units','collaboration_worktree_changesets','collaboration_worktree_unit_seeds','collaboration_worktree_unit_merge_artifacts'],h=0x1388,g='__univerCollaborationBinary',_=new Set([d['UniverType']['UNIVER_SHEET'],d['UniverType']['UNIVER_DOC'],d['UniverType']['UNIVER_SLIDE'],d['UniverType']['UNIVER_BOARD'],d['UniverType']['UNIVER_BASE']]),v=class{['_database'];['_disposed']=!0x1;constructor(_0x56dd6e){b(_0x56dd6e),this['_database']=new l['default'](_0x56dd6e['filename'],{'timeout':_0x56dd6e['busyTimeoutMs']??h});try{this['_database']['exec']('PRAGMA\x20foreign_keys\x20=\x20ON;'),this['_database']['exec']('PRAGMA\x20busy_timeout\x20=\x20'+(_0x56dd6e['busyTimeoutMs']??h)+';'),this['_initializeSchema']();}catch(_0x12af48){throw this['_database']['close'](),_0x12af48;}}async['getWorktree'](_0x569076,_0x4f9db5){return this['_assertOpen'](),this['_getAggregate'](_0x4f9db5);}async['getWorktreeUnit'](_0x3259e9,_0x4b3686,_0x131ba5){this['_assertOpen']();let _0x227ce2=this['_getUnitRow'](_0x4b3686,_0x131ba5);return _0x227ce2?y(_0x227ce2):null;}async['getDraftChangesets'](_0x37e276,_0x1cd0bc,_0x1fbc57,_0x981fb9){this['_assertOpen'](),T(_0x981fb9);let _0x356981=this['_database']['prepare']('SELECT\x20changesets.payload_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x20AS\x20units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20LEFT\x20JOIN\x20collaboration_worktree_changesets\x20AS\x20changesets\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20changesets.worktree_id\x20=\x20units.worktree_id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20changesets.unit_id\x20=\x20units.unit_id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20changesets.revision\x20>\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x981fb9['to']===void 0x0?'':'AND\x20changesets.revision\x20<=\x20?')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20units.worktree_id\x20=\x20?\x20AND\x20units.unit_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20changesets.revision\x20ASC')['all'](_0x981fb9['from'],..._0x981fb9['to']===void 0x0?[]:[_0x981fb9['to']],_0x1cd0bc,_0x1fbc57);return _0x356981['length']===0x0?null:_0x356981['flatMap'](({payload_json:_0x19e77a})=>_0x19e77a?[F(_0x19e77a)]:[]);}async['getUnitSeed'](_0x3c952c,_0x4f6eaa,_0x3a0dbd){return this['_assertOpen'](),this['_getUnitSeed'](_0x4f6eaa,_0x3a0dbd);}async['getUnitMergeArtifact'](_0x5da93b,_0x2c95d9,_0x595383){return this['_assertOpen'](),this['_getUnitMergeArtifact'](_0x2c95d9,_0x595383);}async['createWorktree'](_0x4e8665,_0x404b6b){return this['_assertOpen'](),x(_0x404b6b),this['_transaction'](()=>{let _0x5032c3=this['_getAggregate'](_0x404b6b['record']['worktreeID']);if(_0x5032c3)return{'status':'already-exists','aggregate':_0x5032c3};this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktrees\x20(worktree_id,\x20sid,\x20status)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20\x27draft\x27)')['run'](_0x404b6b['record']['worktreeID'],_0x404b6b['record']['sid']);let _0x4563a0=this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20unit_order,\x20type,\x20source,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision,\x20draft_head_revision,\x20creator_id,\x20created_at_ms)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20\x27trunk\x27,\x20?,\x20?,\x20?,\x20?)');return _0x404b6b['units']['forEach']((_0x22bceb,_0x574ad3)=>{_0x4563a0['run'](_0x22bceb['worktreeID'],_0x22bceb['unitID'],_0x574ad3,_0x22bceb['type'],_0x22bceb['baselineTrunkRevision'],_0x22bceb['draftHeadRevision'],_0x22bceb['creatorID'],_0x22bceb['createdAt']);}),{'status':'created','aggregate':this['_requireAggregate'](_0x404b6b['record']['worktreeID'])};});}async['addUnit'](_0xf17e24,_0x287eb4){return this['_assertOpen'](),w(_0x287eb4['unit']),this['_transaction'](()=>{let {unit:_0x1b9f01}=_0x287eb4,_0x1b6855=this['_getWorktreeRow'](_0x1b9f01['worktreeID']);if(!_0x1b6855)return{'status':'not-found'};if(this['_getUnitRow'](_0x1b9f01['worktreeID'],_0x1b9f01['unitID']))return{'status':'already-exists','aggregate':this['_requireAggregate'](_0x1b9f01['worktreeID'])};if(_0x1b6855['status']!=='draft')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x1b9f01['worktreeID'])};S(_0x1b9f01);let _0x3f0cf1=this['_database']['prepare']('SELECT\x20COALESCE(MAX(unit_order),\x20-1)\x20+\x201\x20AS\x20next_order\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?')['get'](_0x1b9f01['worktreeID']);return this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20unit_order,\x20type,\x20source,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision,\x20draft_head_revision,\x20creator_id,\x20created_at_ms)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20\x27trunk\x27,\x20?,\x20?,\x20?,\x20?)')['run'](_0x1b9f01['worktreeID'],_0x1b9f01['unitID'],_0x3f0cf1['next_order'],_0x1b9f01['type'],_0x1b9f01['baselineTrunkRevision'],_0x1b9f01['draftHeadRevision'],_0x1b9f01['creatorID'],_0x1b9f01['createdAt']),{'status':'added','aggregate':this['_requireAggregate'](_0x1b9f01['worktreeID'])};});}async['createUnit'](_0x3d433a,_0x4fffa6){return this['_assertOpen'](),C(_0x4fffa6['unit'],_0x4fffa6['seed']),this['_transaction'](()=>{let {unit:_0x592679,seed:_0x52531f}=_0x4fffa6,_0x4f4228=this['_getWorktreeRow'](_0x592679['worktreeID']);if(!_0x4f4228)return{'status':'not-found'};let _0x996328=this['_getUnitRow'](_0x592679['worktreeID'],_0x592679['unitID']);if(_0x996328){let _0x52b3ea=this['_getUnitSeed'](_0x592679['worktreeID'],_0x592679['unitID']);return{'status':_0x996328['source']==='worktree'&&_0x996328['type']===_0x592679['type']&&_0x52b3ea!==null&&P(_0x52b3ea)===P(_0x52531f)?'already-created':'unit-exists','aggregate':this['_requireAggregate'](_0x592679['worktreeID'])};}if(_0x4f4228['status']!=='draft')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x592679['worktreeID'])};let _0x1facc2=this['_database']['prepare']('SELECT\x20COALESCE(MAX(unit_order),\x20-1)\x20+\x201\x20AS\x20next_order\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?')['get'](_0x592679['worktreeID']);return this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20unit_order,\x20type,\x20source,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision,\x20draft_head_revision,\x20creator_id,\x20created_at_ms)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20\x27worktree\x27,\x201,\x201,\x20?,\x20?)')['run'](_0x592679['worktreeID'],_0x592679['unitID'],_0x1facc2['next_order'],_0x592679['type'],_0x592679['creatorID'],_0x592679['createdAt']),this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_unit_seeds\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20snapshot_json,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?)')['run'](_0x592679['worktreeID'],_0x592679['unitID'],P(_0x52531f['snapshot']),_0x52531f['sheetBlocks']===void 0x0?null:P(_0x52531f['sheetBlocks'])),{'status':'created','aggregate':this['_requireAggregate'](_0x592679['worktreeID'])};});}async['saveUnitMergeArtifact'](_0x2accfa,_0x2fe49e){return this['_assertOpen'](),this['_transaction'](()=>{let _0x3352d1=this['_getWorktreeRow'](_0x2fe49e['worktreeID']),_0x2931e2=this['_getUnitRow'](_0x2fe49e['worktreeID'],_0x2fe49e['unitID']);if(!_0x3352d1||!_0x2931e2)return{'status':'not-found'};let _0x9bab01=y(_0x2931e2);if(_0x3352d1['status']!=='merging'||_0x9bab01['source']!=='worktree'||_0x9bab01['readyDraftHeadRevision']!==_0x2fe49e['artifact']['readyDraftHeadRevision']||O(_0x9bab01))return{'status':'stale-merge'};let _0x34eeae=this['_getUnitMergeArtifact'](_0x2fe49e['worktreeID'],_0x2fe49e['unitID']);return _0x34eeae?{'status':'already-saved','artifact':_0x34eeae}:(D(_0x9bab01,_0x2fe49e['artifact']),this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20ready_draft_head_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_json,\x20sheet_blocks_json)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)')['run'](_0x2fe49e['worktreeID'],_0x2fe49e['unitID'],_0x2fe49e['artifact']['readyDraftHeadRevision'],P(_0x2fe49e['artifact']['unit']['snapshot']),_0x2fe49e['artifact']['unit']['sheetBlocks']===void 0x0?null:P(_0x2fe49e['artifact']['unit']['sheetBlocks'])),{'status':'saved','artifact':F(P(_0x2fe49e['artifact']))});});}async['setUnitRemoved'](_0x254822,_0x13493e){return this['_assertOpen'](),this['_transaction'](()=>{let _0x569ed7=this['_getWorktreeRow'](_0x13493e['worktreeID']),_0x1f8a2c=this['_getUnitRow'](_0x13493e['worktreeID'],_0x13493e['unitID']);return!_0x569ed7||!_0x1f8a2c?{'status':'not-found'}:_0x569ed7['status']!=='draft'||O(y(_0x1f8a2c))?{'status':'not-editable','aggregate':this['_requireAggregate'](_0x13493e['worktreeID'])}:_0x1f8a2c['removed']===0x1===_0x13493e['removed']?{'status':'unchanged','aggregate':this['_requireAggregate'](_0x13493e['worktreeID'])}:(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x20SET\x20removed\x20=\x20?\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](+!!_0x13493e['removed'],_0x13493e['worktreeID'],_0x13493e['unitID']),{'status':'updated','aggregate':this['_requireAggregate'](_0x13493e['worktreeID'])});});}async['commitDraftChangeset'](_0x3e07d1,_0x2336f9){return this['_assertOpen'](),this['_transaction'](()=>{let {worktreeID:_0x3333e4,changeset:_0x454085}=_0x2336f9,_0x395314=this['_getWorktreeRow'](_0x3333e4),_0xadc9a7=this['_getUnitRow'](_0x3333e4,_0x454085['unitID']);if(!_0x395314||!_0xadc9a7)return{'status':'not-found'};if(_0x395314['status']!=='draft')return{'status':'not-editable','worktreeStatus':A(_0x395314['status'])};let _0x16303e=y(_0xadc9a7);if(_0x16303e['removed']||O(_0x16303e))return{'status':'unit-frozen'};if(_0x16303e['draftHeadRevision']!==_0x454085['revision']-0x1)return{'status':'revision-mismatch','actualHeadRevision':_0x16303e['draftHeadRevision']};let _0x131f40=Date['now'](),_0x34b913=P({..._0x454085,'createTime':Math['floor'](_0x131f40/0x3e8)});if(this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_changesets\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20revision,\x20base_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sid,\x20req_id,\x20created_at_ms,\x20payload_json)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](_0x3333e4,_0x454085['unitID'],_0x454085['revision'],_0x454085['baseRev'],_0x454085['sid'],_0x454085['reqId'],_0x131f40,_0x34b913),this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20draft_head_revision\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20draft_head_revision\x20=\x20?')['run'](_0x454085['revision'],_0x3333e4,_0x454085['unitID'],_0x454085['revision']-0x1)['changes']!==0x1)throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20draft\x20head\x20changed\x20inside\x20a\x20write\x20transaction');return{'status':'committed','changeset':F(_0x34b913),'headRevision':_0x454085['revision']};});}async['markReady'](_0x5c8b27,_0x4ed662){return this['_assertOpen'](),this['_transaction'](()=>{let _0x622864=this['_getWorktreeRow'](_0x4ed662);if(!_0x622864)return{'status':'not-found'};if(_0x622864['status']==='ready')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x4ed662)};if(_0x622864['status']!=='draft')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x4ed662)};for(let _0x1924e8 of this['_getUnitRows'](_0x4ed662))O(y(_0x1924e8))||(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20ready_draft_head_revision\x20=\x20draft_head_revision\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0x4ed662,_0x1924e8['unit_id']),this['_database']['prepare']('DELETE\x20FROM\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0x4ed662,_0x1924e8['unit_id']));return this['_updateStatus'](_0x4ed662,'ready'),{'status':'transitioned','previousStatus':'draft','aggregate':this['_requireAggregate'](_0x4ed662)};});}async['reopenWorktree'](_0x3aa9d2,_0xa3989){return this['_assertOpen'](),this['_transaction'](()=>{let _0x45fe91=this['_getWorktreeRow'](_0xa3989);if(!_0x45fe91)return{'status':'not-found'};if(_0x45fe91['status']==='draft')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0xa3989)};if(_0x45fe91['status']!=='ready')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0xa3989)};for(let _0x61c5fa of this['_getUnitRows'](_0xa3989))O(y(_0x61c5fa))||(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20ready_draft_head_revision\x20=\x20NULL,\x20merge_result_json\x20=\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0xa3989,_0x61c5fa['unit_id']),this['_database']['prepare']('DELETE\x20FROM\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0xa3989,_0x61c5fa['unit_id']));return this['_updateStatus'](_0xa3989,'draft'),{'status':'transitioned','previousStatus':'ready','aggregate':this['_requireAggregate'](_0xa3989)};});}async['discardWorktree'](_0x187b7a,_0x3515b2){return this['_assertOpen'](),this['_transaction'](()=>{let _0x3eab06=this['_getWorktreeRow'](_0x3515b2);if(!_0x3eab06)return{'status':'not-found'};if(_0x3eab06['status']==='discarded')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x3515b2)};if(_0x3eab06['status']!=='draft'&&_0x3eab06['status']!=='ready')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x3515b2)};let _0x4b3c9c=A(_0x3eab06['status']);return this['_updateStatus'](_0x3515b2,'discarded'),{'status':'transitioned','previousStatus':_0x4b3c9c,'aggregate':this['_requireAggregate'](_0x3515b2)};});}async['startOrResumeMerge'](_0x413dbc,_0x347c08){return this['_assertOpen'](),this['_transaction'](()=>{let _0x3e7112=this['_getWorktreeRow'](_0x347c08);return _0x3e7112?_0x3e7112['status']==='merged'?{'status':'already-merged','aggregate':this['_requireAggregate'](_0x347c08)}:_0x3e7112['status']==='merging'?{'status':'resumed','aggregate':this['_requireAggregate'](_0x347c08)}:_0x3e7112['status']==='ready'?(this['_updateStatus'](_0x347c08,'merging'),{'status':'started','aggregate':this['_requireAggregate'](_0x347c08)}):{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x347c08)}:{'status':'not-found'};});}async['recordUnitMergeResult'](_0xa34990,_0x21f9ec){return this['_assertOpen'](),E(_0x21f9ec['mergeResult']),this['_transaction'](()=>{let _0x16096a=this['_getWorktreeRow'](_0x21f9ec['worktreeID']),_0x8dae13=this['_getUnitRow'](_0x21f9ec['worktreeID'],_0x21f9ec['unitID']);if(!_0x16096a||!_0x8dae13)return{'status':'not-found'};let _0x1addcc=y(_0x8dae13);if(_0x16096a['status']!=='merging'||_0x1addcc['readyDraftHeadRevision']!==_0x21f9ec['readyDraftHeadRevision'])return{'status':'stale-merge'};if(_0x21f9ec['mergeResult']['status']==='removed'&&!_0x1addcc['removed']||_0x1addcc['removed']&&(_0x21f9ec['mergeResult']['status']==='merged'||_0x21f9ec['mergeResult']['status']==='unchanged'))throw new u['CollabError']('INVALID_REQUEST','Merge\x20result\x20does\x20not\x20match\x20frozen\x20Unit\x20removal\x20intent');let _0x581cdd=_0x1addcc['mergeResult'];return _0x581cdd&&(0x0,c['isDeepStrictEqual'])(_0x581cdd,_0x21f9ec['mergeResult'])?{'status':'already-recorded','aggregate':this['_requireAggregate'](_0x21f9ec['worktreeID'])}:_0x581cdd&&k(_0x581cdd)?{'status':'stale-merge'}:(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20merge_result_json\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](P(_0x21f9ec['mergeResult']),_0x21f9ec['worktreeID'],_0x21f9ec['unitID']),{'status':'recorded','aggregate':this['_requireAggregate'](_0x21f9ec['worktreeID'])});});}async['finishMerge'](_0x393d85,_0x1d20fb){return this['_assertOpen'](),this['_transaction'](()=>{let _0x44b069=this['_getWorktreeRow'](_0x1d20fb);if(!_0x44b069)return{'status':'not-found'};if(_0x44b069['status']==='merged')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x1d20fb)};if(_0x44b069['status']!=='merging')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x1d20fb)};let _0x4cf04c=this['_getUnitRows'](_0x1d20fb)['every'](_0x444ec2=>O(y(_0x444ec2)));return this['_updateStatus'](_0x1d20fb,_0x4cf04c?'merged':'ready'),{'status':'transitioned','previousStatus':'merging','aggregate':this['_requireAggregate'](_0x1d20fb)};});}async['dispose'](){this['_disposed']||(this['_disposed']=!0x0,this['_database']['close']());}['_initializeSchema'](){this['_transaction'](()=>{if(!this['_hasTable']('collaboration_schema_versions')){if(this['_hasAnyOwnedTable']())throw N('SQLite\x20Worktree\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_schema_versions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20component\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20version\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(version\x20>=\x201)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20');}let _0x5cddae=this['_database']['prepare']('SELECT\x20version\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_schema_versions\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20component\x20=\x20?')['get'](f);if(_0x5cddae){if(_0x5cddae['version']!==p)throw N('SQLite\x20Worktree\x20schema\x20version\x20'+_0x5cddae['version']+'\x20is\x20not\x20supported;\x20run\x20the\x20explicit\x20versioned\x20migrations\x20first');let _0x44f84a=m['filter'](_0x14b3d7=>!this['_hasTable'](_0x14b3d7));if(_0x44f84a['length']>0x0)throw N('SQLite\x20Worktree\x20schema\x20v'+_0x5cddae['version']+'\x20is\x20incomplete:\x20missing\x20'+_0x44f84a['join'](',\x20'));if(!this['_database']['prepare']('PRAGMA\x20table_info(collaboration_worktree_changesets)')['all']()['some'](_0x4afe6a=>_0x4afe6a['name']==='created_at_ms'&&_0x4afe6a['notnull']===0x1))throw N('Changeset\x20schema\x20requires\x20NOT\x20NULL\x20created_at_ms');let _0x15491d=this['_database']['prepare']('PRAGMA\x20table_info(collaboration_worktree_units)')['all']();if(!['removed','creator_id','created_at_ms']['every'](_0x5657c4=>_0x15491d['some'](_0x2596d1=>_0x2596d1['name']===_0x5657c4&&_0x2596d1['notnull']===0x1)))throw N('SQLite\x20Worktree\x20schema\x20v3\x20is\x20missing\x20required\x20Unit\x20columns');return;}if(this['_hasAnyOwnedTable']())throw N('SQLite\x20Worktree\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktrees\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sid\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(status\x20IN\x20(\x27draft\x27,\x20\x27ready\x27,\x20\x27merging\x27,\x20\x27merged\x27,\x20\x27discarded\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_units\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20removed\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200\x20CHECK\x20(removed\x20IN\x20(0,\x201)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_order\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(unit_order\x20>=\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20TEXT\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(source\x20IN\x20(\x27trunk\x27,\x20\x27worktree\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision\x20INTEGER\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(baseline_trunk_revision\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20draft_head_revision\x20INTEGER\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(draft_head_revision\x20>=\x20baseline_trunk_revision),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ready_draft_head_revision\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20merge_result_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UNIQUE\x20(worktree_id,\x20unit_order),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktrees(worktree_id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_changesets\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20revision\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(revision\x20>=\x202),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20base_revision\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(base_revision\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sid\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20req_id\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(req_id\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20payload_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id,\x20revision),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UNIQUE\x20(worktree_id,\x20unit_id,\x20sid,\x20req_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktree_units(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20collaboration_worktree_changesets_revision\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20collaboration_worktree_changesets(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id,\x20unit_id,\x20revision\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_unit_seeds\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resources_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktree_units(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_unit_merge_artifacts\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ready_draft_head_revision\x20INTEGER\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(ready_draft_head_revision\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resources_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktree_units(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20collaboration_schema_versions\x20(component,\x20version)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(\x27worktree\x27,\x20'+p+');\x0a\x20\x20\x20\x20\x20\x20');});}['_hasTable'](_0x26946e){return!!this['_database']['prepare']('SELECT\x201\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20sqlite_schema\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20?')['get'](_0x26946e);}['_hasAnyOwnedTable'](){return m['some'](_0x155e76=>this['_hasTable'](_0x155e76));}['_getWorktreeRow'](_0x293e2b){return this['_database']['prepare']('SELECT\x20worktree_id,\x20sid,\x20status\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktrees\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?')['get'](_0x293e2b)??null;}['_getUnitRow'](_0x4ea267,_0x4ac465){return this['_database']['prepare']('SELECT\x20worktree_id,\x20unit_id,\x20type,\x20source,\x20baseline_trunk_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20draft_head_revision,\x20ready_draft_head_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator_id,\x20created_at_ms,\x20removed,\x20merge_result_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['get'](_0x4ea267,_0x4ac465)??null;}['_getUnitRows'](_0x543d7c){return this['_database']['prepare']('SELECT\x20worktree_id,\x20unit_id,\x20type,\x20source,\x20baseline_trunk_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20draft_head_revision,\x20ready_draft_head_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator_id,\x20created_at_ms,\x20removed,\x20merge_result_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20unit_order\x20ASC')['all'](_0x543d7c);}['_getUnitSeed'](_0x52cd02,_0xa1bdc){let _0x191a00=this['_database']['prepare']('SELECT\x20snapshot_json,\x20sheet_blocks_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_unit_seeds\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['get'](_0x52cd02,_0xa1bdc);return _0x191a00?{'snapshot':F(_0x191a00['snapshot_json']),..._0x191a00['sheet_blocks_json']===null?{}:{'sheetBlocks':F(_0x191a00['sheet_blocks_json'])}}:null;}['_getUnitMergeArtifact'](_0x440cfc,_0x190bd0){let _0x236d23=this['_database']['prepare']('SELECT\x20ready_draft_head_revision,\x20snapshot_json,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['get'](_0x440cfc,_0x190bd0);return _0x236d23?{'readyDraftHeadRevision':_0x236d23['ready_draft_head_revision'],'unit':{'snapshot':F(_0x236d23['snapshot_json']),..._0x236d23['sheet_blocks_json']===null?{}:{'sheetBlocks':F(_0x236d23['sheet_blocks_json'])}}}:null;}['_getAggregate'](_0x31736b){let _0xa8b564=this['_getWorktreeRow'](_0x31736b);return _0xa8b564?{'worktree':{'worktreeID':_0xa8b564['worktree_id'],'sid':_0xa8b564['sid'],'status':A(_0xa8b564['status'])},'units':this['_getUnitRows'](_0x31736b)['map'](y)}:null;}['_requireAggregate'](_0x365e1d){let _0x524ad4=this['_getAggregate'](_0x365e1d);if(!_0x524ad4)throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20Worktree\x20disappeared\x20inside\x20a\x20write\x20transaction');return _0x524ad4;}['_updateStatus'](_0x4b7388,_0x4628df){if(this['_database']['prepare']('UPDATE\x20collaboration_worktrees\x20SET\x20status\x20=\x20?\x20WHERE\x20worktree_id\x20=\x20?')['run'](_0x4628df,_0x4b7388)['changes']!==0x1)throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20Worktree\x20status\x20update\x20did\x20not\x20affect\x20one\x20record');}['_transaction'](_0x476510){this['_database']['exec']('BEGIN\x20IMMEDIATE;');try{let _0x33f467=_0x476510();return this['_database']['exec']('COMMIT;'),_0x33f467;}catch(_0x19d94b){throw this['_database']['inTransaction']&&this['_database']['exec']('ROLLBACK;'),_0x19d94b;}}['_assertOpen'](){if(this['_disposed'])throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20Worktree\x20Database\x20Adapter\x20is\x20disposed');}};function y(_0x5735c7){let _0x238207=j(_0x5735c7['source']);return{'worktreeID':_0x5735c7['worktree_id'],'unitID':_0x5735c7['unit_id'],'type':_0x5735c7['type'],'source':_0x238207,..._0x238207==='trunk'?{'baselineTrunkRevision':_0x5735c7['baseline_trunk_revision']}:{},'draftHeadRevision':_0x5735c7['draft_head_revision'],..._0x5735c7['ready_draft_head_revision']===null?{}:{'readyDraftHeadRevision':_0x5735c7['ready_draft_head_revision']},'creatorID':_0x5735c7['creator_id'],'createdAt':_0x5735c7['created_at_ms'],..._0x5735c7['removed']===0x1?{'removed':!0x0}:{},..._0x5735c7['merge_result_json']===null?{}:{'mergeResult':F(_0x5735c7['merge_result_json'])}};}function b(_0x3069c4){if(!_0x3069c4['filename'])throw M('SQLite\x20filename\x20is\x20required');if(_0x3069c4['busyTimeoutMs']!==void 0x0&&(!Number['isSafeInteger'](_0x3069c4['busyTimeoutMs'])||_0x3069c4['busyTimeoutMs']<0x0))throw M('SQLite\x20busyTimeoutMs\x20must\x20be\x20a\x20non-negative\x20integer');}function x(_0x320f6f){if(!_0x320f6f['record']['worktreeID']||!_0x320f6f['record']['sid']||_0x320f6f['record']['status']!=='draft')throw M('New\x20Worktree\x20must\x20be\x20a\x20draft\x20with\x20identity');let _0x5b83ee=new Set();for(let _0x4506c1 of _0x320f6f['units']){if(_0x4506c1['worktreeID']!==_0x320f6f['record']['worktreeID']||_0x5b83ee['has'](_0x4506c1['unitID']))throw M('Initial\x20Worktree\x20Units\x20must\x20be\x20unique\x20and\x20share\x20identity');_0x5b83ee['add'](_0x4506c1['unitID']),S(_0x4506c1);}}function S(_0x1361cb){if(w(_0x1361cb),_0x1361cb['source']!=='trunk'||!_['has'](_0x1361cb['type'])||!Number['isSafeInteger'](_0x1361cb['baselineTrunkRevision'])||_0x1361cb['baselineTrunkRevision']<0x1||_0x1361cb['draftHeadRevision']!==_0x1361cb['baselineTrunkRevision']||_0x1361cb['readyDraftHeadRevision']!==void 0x0||_0x1361cb['mergeResult']!==void 0x0)throw M('New\x20Worktree\x20Unit\x20must\x20start\x20at\x20its\x20trunk\x20baseline');}function C(_0x483772,_0x499058){if(w(_0x483772),_0x483772['source']!=='worktree'||_0x483772['baselineTrunkRevision']!==void 0x0||!_['has'](_0x483772['type'])||_0x483772['draftHeadRevision']!==0x1||_0x483772['readyDraftHeadRevision']!==void 0x0||_0x483772['mergeResult']!==void 0x0||_0x499058['snapshot']['unitID']!==_0x483772['unitID']||_0x499058['snapshot']['type']!==_0x483772['type']||_0x499058['snapshot']['rev']!==0x1)throw M('Worktree-created\x20Unit\x20must\x20start\x20from\x20its\x20revision\x201\x20seed');}function w(_0x236ae4){if(typeof _0x236ae4['creatorID']!='string'||_0x236ae4['creatorID']['length']===0x0||!Number['isSafeInteger'](_0x236ae4['createdAt'])||_0x236ae4['createdAt']<0x0)throw M('Unit\x20creation\x20requires\x20creatorID\x20and\x20createdAt\x20in\x20Unix\x20milliseconds');if(!_0x236ae4['worktreeID']||!_0x236ae4['unitID'])throw M('Worktree\x20and\x20Unit\x20identity\x20are\x20required');}function T(_0x5b7bbc){if(!Number['isSafeInteger'](_0x5b7bbc['from'])||_0x5b7bbc['from']<0x0||_0x5b7bbc['to']!==void 0x0&&(!Number['isSafeInteger'](_0x5b7bbc['to'])||_0x5b7bbc['to']<0x0))throw M('Draft\x20revision\x20range\x20cannot\x20be\x20negative');}function E(_0x3530f6){if(_0x3530f6['status']==='merged'){if(!Number['isSafeInteger'](_0x3530f6['trunkRevision'])||_0x3530f6['trunkRevision']<0x1)throw M('Merged\x20result\x20requires\x20a\x20trunk\x20revision');return;}if(!(_0x3530f6['status']==='unchanged'||_0x3530f6['status']==='removed')&&(!_0x3530f6['error']['code']||!_0x3530f6['error']['message']||typeof _0x3530f6['error']['retryable']!='boolean'))throw M('Merge\x20error\x20must\x20be\x20stable\x20and\x20serializable');}function D(_0x421db8,_0x2ea040){if(_0x2ea040['unit']['snapshot']['unitID']!==_0x421db8['unitID']||_0x2ea040['unit']['snapshot']['type']!==_0x421db8['type']||_0x2ea040['unit']['snapshot']['rev']!==0x1)throw M('Worktree\x20Unit\x20merge\x20artifact\x20must\x20be\x20a\x20revision\x201\x20snapshot');}function O(_0x1c51e3){return k(_0x1c51e3['mergeResult']);}function k(_0x349824){return _0x349824?.['status']==='merged'||_0x349824?.['status']==='unchanged'||_0x349824?.['status']==='removed';}function A(_0x4e03b0){if(_0x4e03b0==='draft'||_0x4e03b0==='ready'||_0x4e03b0==='merging'||_0x4e03b0==='merged'||_0x4e03b0==='discarded')return _0x4e03b0;throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20contains\x20invalid\x20Worktree\x20status\x20'+_0x4e03b0);}function j(_0x27f63e){if(_0x27f63e==='trunk'||_0x27f63e==='worktree')return _0x27f63e;throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20contains\x20invalid\x20Worktree\x20Unit\x20source\x20'+_0x27f63e);}function M(_0xfd0f31){return new u['CollabError']('INVALID_REQUEST',_0xfd0f31);}function N(_0x4f4e67){return new u['CollabError']('INTERNAL_ERROR',_0x4f4e67);}function P(_0x3a7d1c){return JSON['stringify'](_0x3a7d1c,function(_0x3a05e9,_0x46737a){let _0x2a8617=this[_0x3a05e9];return _0x2a8617 instanceof Uint8Array?{[g]:Buffer['from'](_0x2a8617)['toString']('base64')}:_0x46737a;});}function F(_0x4dd159){return JSON['parse'](_0x4dd159,(_0x47f53e,_0x254f57)=>I(_0x254f57)?Uint8Array['from'](Buffer['from'](_0x254f57[g],'base64')):_0x254f57);}function I(_0x13ecc5){return typeof _0x13ecc5=='object'&&!!_0x13ecc5&&Object['keys'](_0x13ecc5)['length']===0x1&&typeof _0x13ecc5[g]=='string';}function L(_0x585c41){let _0xb522b6=new l['default'](_0x585c41['filename'],{'fileMustExist':!0x0}),_0x1d5852=!0x1;try{if(_0xb522b6['exec']('BEGIN\x20IMMEDIATE;'),_0x1d5852=!0x0,_0xb522b6['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27worktree\x27')['get']()?.['version']!==0x1)throw new u['CollabError']('INVALID_REQUEST','Worktree\x20v1-to-v2\x20migration\x20requires\x20schema\x20version\x201');_0xb522b6['exec']('\x0a\x20\x20\x20\x20\x20\x20ALTER\x20TABLE\x20collaboration_worktree_units\x20ADD\x20COLUMN\x20removed\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200\x20CHECK\x20(removed\x20IN\x20(0,\x201));\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20collaboration_schema_versions\x20SET\x20version\x20=\x202\x20WHERE\x20component\x20=\x20\x27worktree\x27;\x0a\x20\x20\x20\x20\x20\x20COMMIT;\x0a\x20\x20\x20\x20'),_0x1d5852=!0x1;}finally{try{_0x1d5852&&_0xb522b6['exec']('ROLLBACK;');}finally{_0xb522b6['close']();}}}async function R(_0x22deb5){let _0x461be0=Date['now'](),_0x462903=new l['default'](_0x22deb5['filename'],{'fileMustExist':!0x0}),_0x1263fc=!0x1;try{if(_0x462903['exec']('PRAGMA\x20foreign_keys\x20=\x20OFF;\x20PRAGMA\x20legacy_alter_table\x20=\x20ON;\x20BEGIN\x20IMMEDIATE;'),_0x1263fc=!0x0,_0x462903['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27worktree\x27')['get']()?.['version']!==0x2)throw new u['CollabError']('INVALID_REQUEST','Worktree\x20v2-to-v3\x20migration\x20requires\x20schema\x20version\x202');for(let _0x191ddb of['collaboration_worktrees','collaboration_worktree_changesets','collaboration_worktree_unit_seeds','collaboration_worktree_unit_merge_artifacts'])_0x462903['prepare']('SELECT\x201\x20FROM\x20'+_0x191ddb+'\x20LIMIT\x200')['all']();let _0x498d00=_0x462903['prepare']('SELECT\x201\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20\x27collaboration_history_revisions\x27')['get']()?_0x462903['prepare']('SELECT\x20user_id,\x20committed_at\x20FROM\x20collaboration_history_revisions\x20WHERE\x20unit_id\x20=\x20?\x20AND\x20revision\x20=\x20?'):void 0x0,_0x3101b2=(_0x3937ae,_0x17fe21)=>_0x498d00?.['get'](_0x3937ae,_0x17fe21),_0x4362f4=_0x462903['prepare']('PRAGMA\x20table_info(collaboration_worktree_units)')['all']();if(!_0x4362f4['some'](_0x1aa4ea=>_0x1aa4ea['name']==='removed')||_0x4362f4['some'](_0x45ae32=>['creator_id','created_at_ms']['includes'](_0x45ae32['name'])))throw new u['CollabError']('INVALID_REQUEST','Unexpected\x20Worktree\x20v2\x20Unit\x20schema');let _0x20ae85=_0x462903['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20\x27collaboration_worktree_units\x27')['get'](),_0x446871=_0x462903['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20tbl_name\x20=\x20\x27collaboration_worktree_units\x27\x20AND\x20type\x20IN\x20(\x27index\x27,\x20\x27trigger\x27)\x20AND\x20sql\x20IS\x20NOT\x20NULL')['all']();_0x462903['exec']('CREATE\x20TABLE\x20collaboration_worktree_units_v3\x20(\x0a\x20\x20\x20\x20\x20\x20creator_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20'+_0x20ae85['sql']['slice'](_0x20ae85['sql']['indexOf']('(')+0x1));let _0x23bc11=B(_0x462903,'collaboration_worktree_units',['worktree_id','unit_id']),_0x559254=_0x4362f4['map'](_0xdbec3c=>'\x22'+_0xdbec3c['name']['replaceAll']('\x22','\x22\x22')+'\x22')['join'](',\x20'),_0x54968b=_0x462903['prepare']('INSERT\x20INTO\x20collaboration_worktree_units_v3\x20('+_0x559254+',\x20creator_id,\x20created_at_ms)\x20VALUES\x20('+_0x4362f4['map'](()=>'?')['join'](',\x20')+',\x20?,\x20?)');for(let _0x39e36b of _0x23bc11){let _0x28b38e=!_0x22deb5['resolveUnitCreation']&&_0x39e36b['source']==='trunk'?_0x3101b2(_0x39e36b['unit_id'],0x1):void 0x0,_0x2e2c34=_0x22deb5['resolveUnitCreation']?await _0x22deb5['resolveUnitCreation'](_0x39e36b['worktree_id'],_0x39e36b['unit_id']):{'creatorID':_0x28b38e?.['user_id']||'anonymous','createdAt':z(_0x28b38e?.['committed_at'])?_0x28b38e['committed_at']:_0x461be0};if(!_0x2e2c34||typeof _0x2e2c34['creatorID']!='string'||_0x2e2c34['creatorID']['length']===0x0||!Number['isSafeInteger'](_0x2e2c34['createdAt'])||_0x2e2c34['createdAt']<0x0)throw new u['CollabError']('INVALID_REQUEST','Missing\x20or\x20invalid\x20creation\x20facts\x20for\x20Worktree\x20'+_0x39e36b['worktree_id']+'\x20Unit\x20'+_0x39e36b['unit_id']);_0x54968b['run'](..._0x4362f4['map'](_0x2c8169=>_0x39e36b[_0x2c8169['name']]),_0x2e2c34['creatorID'],_0x2e2c34['createdAt']);}_0x462903['exec']('DROP\x20TABLE\x20collaboration_worktree_units;\x20ALTER\x20TABLE\x20collaboration_worktree_units_v3\x20RENAME\x20TO\x20collaboration_worktree_units;');for(let _0x8ccbe1 of _0x446871)_0x462903['exec'](_0x8ccbe1['sql']);let _0x48a2ce=_0x462903['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20\x27collaboration_worktree_changesets\x27')['get'](),_0x3caf08=_0x462903['prepare']('PRAGMA\x20table_info(collaboration_worktree_changesets)')['all']();if(_0x3caf08['some'](_0x484bc3=>_0x484bc3['name']==='created_at_ms'))throw new u['CollabError']('INVALID_REQUEST','Unexpected\x20changeset\x20creation-time\x20column\x20in\x20legacy\x20schema');let _0x3c45b5=_0x462903['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20tbl_name\x20=\x20\x27collaboration_worktree_changesets\x27\x20AND\x20type\x20IN\x20(\x27index\x27,\x20\x27trigger\x27)\x20AND\x20sql\x20IS\x20NOT\x20NULL')['all']();_0x462903['exec']('CREATE\x20TABLE\x20collaboration_worktree_changesets_new\x20(\x0a\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20'+_0x48a2ce['sql']['slice'](_0x48a2ce['sql']['indexOf']('(')+0x1));let _0x201de6=B(_0x462903,'collaboration_worktree_changesets',['worktree_id','unit_id','revision']),_0x2d5864=_0x3caf08['map'](_0x29965d=>'\x22'+_0x29965d['name']['replaceAll']('\x22','\x22\x22')+'\x22')['join'](',\x20'),_0x27917a=_0x462903['prepare']('INSERT\x20INTO\x20collaboration_worktree_changesets_new\x20('+_0x2d5864+',\x20created_at_ms)\x20VALUES\x20('+_0x3caf08['map'](()=>'?')['join'](',\x20')+',\x20?)');for(let _0x12f12d of _0x201de6){let _0x3c017c=JSON['parse'](_0x12f12d['payload_json']),_0x124122=typeof _0x3c017c['createTime']=='number'?_0x3c017c['createTime']*0x3e8:void 0x0,_0x3d568e=_0x22deb5['resolveChangesetCreatedAt']?await _0x22deb5['resolveChangesetCreatedAt'](_0x12f12d['worktree_id'],_0x12f12d['unit_id'],_0x12f12d['revision']):z(_0x124122)?_0x124122:_0x461be0;if(!Number['isSafeInteger'](_0x3d568e)||_0x3d568e<0x0)throw new u['CollabError']('INVALID_REQUEST','Missing\x20or\x20invalid\x20changeset\x20time\x20for\x20Unit\x20'+_0x12f12d['unit_id']+'\x20revision\x20'+_0x12f12d['revision']);_0x3c017c['createTime']=Math['floor'](_0x3d568e/0x3e8),_0x27917a['run'](..._0x3caf08['map'](_0x6c9880=>_0x6c9880['name']==='payload_json'?JSON['stringify'](_0x3c017c):_0x12f12d[_0x6c9880['name']]),_0x3d568e);}_0x462903['exec']('DROP\x20TABLE\x20collaboration_worktree_changesets;\x20ALTER\x20TABLE\x20collaboration_worktree_changesets_new\x20RENAME\x20TO\x20collaboration_worktree_changesets;');for(let _0xdbb3cc of _0x3c45b5)_0x462903['exec'](_0xdbb3cc['sql']);if(_0x462903['prepare']('PRAGMA\x20foreign_key_check')['all']()['length'])throw new u['CollabError']('INVALID_REQUEST','Foreign\x20key\x20validation\x20failed\x20during\x20Worktree\x20migration');_0x462903['exec']('UPDATE\x20collaboration_schema_versions\x20SET\x20version\x20=\x203\x20WHERE\x20component\x20=\x20\x27worktree\x27;\x20COMMIT;'),_0x1263fc=!0x1;}finally{try{_0x1263fc&&_0x462903['exec']('ROLLBACK;');}finally{_0x462903['close']();}}}function z(_0x279494){return typeof _0x279494=='number'&&Number['isSafeInteger'](_0x279494)&&_0x279494>=0x0;}function*B(_0x56c918,_0x49116c,_0x12e6b1){let _0x330824=_0x12e6b1['join'](',\x20'),_0x3cf9b1=_0x56c918['prepare']('SELECT\x20*\x20FROM\x20'+_0x49116c+'\x20ORDER\x20BY\x20'+_0x330824+'\x20LIMIT\x20100'),_0x26b2a1=_0x56c918['prepare']('SELECT\x20*\x20FROM\x20'+_0x49116c+'\x20WHERE\x20('+_0x330824+')\x20>\x20('+_0x12e6b1['map'](()=>'?')['join'](',\x20')+')\x20ORDER\x20BY\x20'+_0x330824+'\x20LIMIT\x20100'),_0x485b00=_0x3cf9b1['all']();for(;_0x485b00['length']>0x0;){yield*_0x485b00;let _0x554b17=_0x12e6b1['map'](_0x9e648f=>_0x485b00[_0x485b00['length']-0x1][_0x9e648f]);_0x485b00=[],_0x485b00=_0x26b2a1['all'](..._0x554b17);}}exports['SQLiteWorktreeDatabaseAdapter']=v,exports['migrateSQLiteWorktreeV1ToV2']=L,exports['migrateSQLiteWorktreeV2ToV3']=R;
1
+ Object['defineProperty'](exports,Symbol['toStringTag'],{'value':'Module'});var e=Object['create'],t=Object['defineProperty'],n=Object['getOwnPropertyDescriptor'],r=Object['getOwnPropertyNames'],i=Object['getPrototypeOf'],a=Object['prototype']['hasOwnProperty'],o=(_0x2f604,_0x183d3a,_0x442f7a,_0x290e89)=>{if(_0x183d3a&&typeof _0x183d3a=='object'||typeof _0x183d3a=='function'){for(var _0x551b8a=r(_0x183d3a),_0x13dd22=0x0,_0x269d05=_0x551b8a['length'],_0x2a7c9f;_0x13dd22<_0x269d05;_0x13dd22++)_0x2a7c9f=_0x551b8a[_0x13dd22],!a['call'](_0x2f604,_0x2a7c9f)&&_0x2a7c9f!==_0x442f7a&&t(_0x2f604,_0x2a7c9f,{'get':(_0x2db53c=>_0x183d3a[_0x2db53c])['bind'](null,_0x2a7c9f),'enumerable':!(_0x290e89=n(_0x183d3a,_0x2a7c9f))||_0x290e89['enumerable']});}return _0x2f604;},s=(_0x21cc26,_0x11f272,_0x42f001)=>(_0x42f001=_0x21cc26==null?{}:e(i(_0x21cc26)),o(_0x11f272||!_0x21cc26||!_0x21cc26['__esModule']?t(_0x42f001,'default',{'value':_0x21cc26,'enumerable':!0x0}):_0x42f001,_0x21cc26));let c=require('node:util'),l=require('libsql');l=s(l,0x1);let u=require('@univerjs-pro/collaboration-service'),d=require('@univerjs/protocol');var f='worktree',p=0x3,m=['collaboration_worktrees','collaboration_worktree_units','collaboration_worktree_changesets','collaboration_worktree_unit_seeds','collaboration_worktree_unit_merge_artifacts'],h=0x1388,g='__univerCollaborationBinary',_=new Set([d['UniverType']['UNIVER_SHEET'],d['UniverType']['UNIVER_DOC'],d['UniverType']['UNIVER_SLIDE'],d['UniverType']['UNIVER_BOARD'],d['UniverType']['UNIVER_BASE']]),v=class{['_database'];['_disposed']=!0x1;constructor(_0x50b6a5){b(_0x50b6a5),this['_database']=new l['default'](_0x50b6a5['filename'],{'timeout':_0x50b6a5['busyTimeoutMs']??h});try{this['_database']['exec']('PRAGMA\x20foreign_keys\x20=\x20ON;'),this['_database']['exec']('PRAGMA\x20busy_timeout\x20=\x20'+(_0x50b6a5['busyTimeoutMs']??h)+';'),this['_initializeSchema']();}catch(_0x3a2c7d){throw this['_database']['close'](),_0x3a2c7d;}}async['getWorktree'](_0x414487,_0x487233){return this['_assertOpen'](),this['_getAggregate'](_0x487233);}async['getWorktreeUnit'](_0x417f18,_0x285d7d,_0x563de2){this['_assertOpen']();let _0x919f7a=this['_getUnitRow'](_0x285d7d,_0x563de2);return _0x919f7a?y(_0x919f7a):null;}async['getDraftChangesets'](_0x5d82dd,_0x14400d,_0x2f5cd8,_0x202f0c){this['_assertOpen'](),T(_0x202f0c);let _0x504239=this['_database']['prepare']('SELECT\x20changesets.payload_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x20AS\x20units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20LEFT\x20JOIN\x20collaboration_worktree_changesets\x20AS\x20changesets\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20changesets.worktree_id\x20=\x20units.worktree_id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20changesets.unit_id\x20=\x20units.unit_id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20changesets.revision\x20>\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(_0x202f0c['to']===void 0x0?'':'AND\x20changesets.revision\x20<=\x20?')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20units.worktree_id\x20=\x20?\x20AND\x20units.unit_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20changesets.revision\x20ASC')['all'](_0x202f0c['from'],..._0x202f0c['to']===void 0x0?[]:[_0x202f0c['to']],_0x14400d,_0x2f5cd8);return _0x504239['length']===0x0?null:_0x504239['flatMap'](({payload_json:_0x385df8})=>_0x385df8?[F(_0x385df8)]:[]);}async['getUnitSeed'](_0x1fd219,_0x11a907,_0x59ea28){return this['_assertOpen'](),this['_getUnitSeed'](_0x11a907,_0x59ea28);}async['getUnitMergeArtifact'](_0x57a050,_0x569747,_0x17de49){return this['_assertOpen'](),this['_getUnitMergeArtifact'](_0x569747,_0x17de49);}async['createWorktree'](_0x12335e,_0x12baf3){return this['_assertOpen'](),x(_0x12baf3),this['_transaction'](()=>{let _0x277661=this['_getAggregate'](_0x12baf3['record']['worktreeID']);if(_0x277661)return{'status':'already-exists','aggregate':_0x277661};this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktrees\x20(worktree_id,\x20sid,\x20status)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20\x27draft\x27)')['run'](_0x12baf3['record']['worktreeID'],_0x12baf3['record']['sid']);let _0x28c540=this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20unit_order,\x20type,\x20source,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision,\x20draft_head_revision,\x20creator_id,\x20created_at_ms)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20\x27trunk\x27,\x20?,\x20?,\x20?,\x20?)');return _0x12baf3['units']['forEach']((_0x5aea16,_0x166312)=>{_0x28c540['run'](_0x5aea16['worktreeID'],_0x5aea16['unitID'],_0x166312,_0x5aea16['type'],_0x5aea16['baselineTrunkRevision'],_0x5aea16['draftHeadRevision'],_0x5aea16['creatorID'],_0x5aea16['createdAt']);}),{'status':'created','aggregate':this['_requireAggregate'](_0x12baf3['record']['worktreeID'])};});}async['addUnit'](_0x4c8f34,_0x5c58bc){return this['_assertOpen'](),w(_0x5c58bc['unit']),this['_transaction'](()=>{let {unit:_0x3487b2}=_0x5c58bc,_0x51acc3=this['_getWorktreeRow'](_0x3487b2['worktreeID']);if(!_0x51acc3)return{'status':'not-found'};if(this['_getUnitRow'](_0x3487b2['worktreeID'],_0x3487b2['unitID']))return{'status':'already-exists','aggregate':this['_requireAggregate'](_0x3487b2['worktreeID'])};if(_0x51acc3['status']!=='draft')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x3487b2['worktreeID'])};S(_0x3487b2);let _0x14185a=this['_database']['prepare']('SELECT\x20COALESCE(MAX(unit_order),\x20-1)\x20+\x201\x20AS\x20next_order\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?')['get'](_0x3487b2['worktreeID']);return this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20unit_order,\x20type,\x20source,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision,\x20draft_head_revision,\x20creator_id,\x20created_at_ms)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20\x27trunk\x27,\x20?,\x20?,\x20?,\x20?)')['run'](_0x3487b2['worktreeID'],_0x3487b2['unitID'],_0x14185a['next_order'],_0x3487b2['type'],_0x3487b2['baselineTrunkRevision'],_0x3487b2['draftHeadRevision'],_0x3487b2['creatorID'],_0x3487b2['createdAt']),{'status':'added','aggregate':this['_requireAggregate'](_0x3487b2['worktreeID'])};});}async['createUnit'](_0x320de6,_0x54fd79){return this['_assertOpen'](),C(_0x54fd79['unit'],_0x54fd79['seed']),this['_transaction'](()=>{let {unit:_0x1badac,seed:_0x17a31f}=_0x54fd79,_0x569066=this['_getWorktreeRow'](_0x1badac['worktreeID']);if(!_0x569066)return{'status':'not-found'};let _0x4cdfa6=this['_getUnitRow'](_0x1badac['worktreeID'],_0x1badac['unitID']);if(_0x4cdfa6){let _0x3e9094=this['_getUnitSeed'](_0x1badac['worktreeID'],_0x1badac['unitID']);return{'status':_0x4cdfa6['source']==='worktree'&&_0x4cdfa6['type']===_0x1badac['type']&&_0x3e9094!==null&&P(_0x3e9094)===P(_0x17a31f)?'already-created':'unit-exists','aggregate':this['_requireAggregate'](_0x1badac['worktreeID'])};}if(_0x569066['status']!=='draft')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x1badac['worktreeID'])};let _0x48b74d=this['_database']['prepare']('SELECT\x20COALESCE(MAX(unit_order),\x20-1)\x20+\x201\x20AS\x20next_order\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?')['get'](_0x1badac['worktreeID']);return this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20unit_order,\x20type,\x20source,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision,\x20draft_head_revision,\x20creator_id,\x20created_at_ms)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20\x27worktree\x27,\x201,\x201,\x20?,\x20?)')['run'](_0x1badac['worktreeID'],_0x1badac['unitID'],_0x48b74d['next_order'],_0x1badac['type'],_0x1badac['creatorID'],_0x1badac['createdAt']),this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_unit_seeds\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20snapshot_json,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?)')['run'](_0x1badac['worktreeID'],_0x1badac['unitID'],P(_0x17a31f['snapshot']),_0x17a31f['sheetBlocks']===void 0x0?null:P(_0x17a31f['sheetBlocks'])),{'status':'created','aggregate':this['_requireAggregate'](_0x1badac['worktreeID'])};});}async['saveUnitMergeArtifact'](_0x5832f0,_0x5c7032){return this['_assertOpen'](),this['_transaction'](()=>{let _0x1247af=this['_getWorktreeRow'](_0x5c7032['worktreeID']),_0x48fd05=this['_getUnitRow'](_0x5c7032['worktreeID'],_0x5c7032['unitID']);if(!_0x1247af||!_0x48fd05)return{'status':'not-found'};let _0x2be9a1=y(_0x48fd05);if(_0x1247af['status']!=='merging'||_0x2be9a1['source']!=='worktree'||_0x2be9a1['readyDraftHeadRevision']!==_0x5c7032['artifact']['readyDraftHeadRevision']||O(_0x2be9a1))return{'status':'stale-merge'};let _0x14cf3b=this['_getUnitMergeArtifact'](_0x5c7032['worktreeID'],_0x5c7032['unitID']);return _0x14cf3b?{'status':'already-saved','artifact':_0x14cf3b}:(D(_0x2be9a1,_0x5c7032['artifact']),this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20ready_draft_head_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_json,\x20sheet_blocks_json)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)')['run'](_0x5c7032['worktreeID'],_0x5c7032['unitID'],_0x5c7032['artifact']['readyDraftHeadRevision'],P(_0x5c7032['artifact']['unit']['snapshot']),_0x5c7032['artifact']['unit']['sheetBlocks']===void 0x0?null:P(_0x5c7032['artifact']['unit']['sheetBlocks'])),{'status':'saved','artifact':F(P(_0x5c7032['artifact']))});});}async['setUnitRemoved'](_0x193969,_0x2d9435){return this['_assertOpen'](),this['_transaction'](()=>{let _0x4937a8=this['_getWorktreeRow'](_0x2d9435['worktreeID']),_0x2791a4=this['_getUnitRow'](_0x2d9435['worktreeID'],_0x2d9435['unitID']);return!_0x4937a8||!_0x2791a4?{'status':'not-found'}:_0x4937a8['status']!=='draft'||O(y(_0x2791a4))?{'status':'not-editable','aggregate':this['_requireAggregate'](_0x2d9435['worktreeID'])}:_0x2791a4['removed']===0x1===_0x2d9435['removed']?{'status':'unchanged','aggregate':this['_requireAggregate'](_0x2d9435['worktreeID'])}:(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x20SET\x20removed\x20=\x20?\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](+!!_0x2d9435['removed'],_0x2d9435['worktreeID'],_0x2d9435['unitID']),{'status':'updated','aggregate':this['_requireAggregate'](_0x2d9435['worktreeID'])});});}async['commitDraftChangeset'](_0x291661,_0x4c7afe){return this['_assertOpen'](),this['_transaction'](()=>{let {worktreeID:_0x560561,changeset:_0x32cbf5}=_0x4c7afe,_0xa836db=this['_getWorktreeRow'](_0x560561),_0x293a76=this['_getUnitRow'](_0x560561,_0x32cbf5['unitID']);if(!_0xa836db||!_0x293a76)return{'status':'not-found'};if(_0xa836db['status']!=='draft')return{'status':'not-editable','worktreeStatus':A(_0xa836db['status'])};let _0x14c3d9=y(_0x293a76);if(_0x14c3d9['removed']||O(_0x14c3d9))return{'status':'unit-frozen'};if(_0x14c3d9['draftHeadRevision']!==_0x32cbf5['revision']-0x1)return{'status':'revision-mismatch','actualHeadRevision':_0x14c3d9['draftHeadRevision']};let _0x17c748=Date['now'](),_0x4c27c2=P({..._0x32cbf5,'createTime':Math['floor'](_0x17c748/0x3e8)});if(this['_database']['prepare']('INSERT\x20INTO\x20collaboration_worktree_changesets\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(worktree_id,\x20unit_id,\x20revision,\x20base_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sid,\x20req_id,\x20created_at_ms,\x20payload_json)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)')['run'](_0x560561,_0x32cbf5['unitID'],_0x32cbf5['revision'],_0x32cbf5['baseRev'],_0x32cbf5['sid'],_0x32cbf5['reqId'],_0x17c748,_0x4c27c2),this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20draft_head_revision\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20draft_head_revision\x20=\x20?')['run'](_0x32cbf5['revision'],_0x560561,_0x32cbf5['unitID'],_0x32cbf5['revision']-0x1)['changes']!==0x1)throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20draft\x20head\x20changed\x20inside\x20a\x20write\x20transaction');return{'status':'committed','changeset':F(_0x4c27c2),'headRevision':_0x32cbf5['revision']};});}async['markReady'](_0x3bdddc,_0x4fcbda){return this['_assertOpen'](),this['_transaction'](()=>{let _0x173d6e=this['_getWorktreeRow'](_0x4fcbda);if(!_0x173d6e)return{'status':'not-found'};if(_0x173d6e['status']==='ready')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x4fcbda)};if(_0x173d6e['status']!=='draft')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x4fcbda)};for(let _0x1d3c66 of this['_getUnitRows'](_0x4fcbda))O(y(_0x1d3c66))||(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20ready_draft_head_revision\x20=\x20draft_head_revision\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0x4fcbda,_0x1d3c66['unit_id']),this['_database']['prepare']('DELETE\x20FROM\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0x4fcbda,_0x1d3c66['unit_id']));return this['_updateStatus'](_0x4fcbda,'ready'),{'status':'transitioned','previousStatus':'draft','aggregate':this['_requireAggregate'](_0x4fcbda)};});}async['reopenWorktree'](_0x3bcd97,_0x523ced){return this['_assertOpen'](),this['_transaction'](()=>{let _0x1086d4=this['_getWorktreeRow'](_0x523ced);if(!_0x1086d4)return{'status':'not-found'};if(_0x1086d4['status']==='draft')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x523ced)};if(_0x1086d4['status']!=='ready')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x523ced)};for(let _0x4918be of this['_getUnitRows'](_0x523ced))O(y(_0x4918be))||(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20ready_draft_head_revision\x20=\x20NULL,\x20merge_result_json\x20=\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0x523ced,_0x4918be['unit_id']),this['_database']['prepare']('DELETE\x20FROM\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](_0x523ced,_0x4918be['unit_id']));return this['_updateStatus'](_0x523ced,'draft'),{'status':'transitioned','previousStatus':'ready','aggregate':this['_requireAggregate'](_0x523ced)};});}async['discardWorktree'](_0x19be72,_0x4c6e7e){return this['_assertOpen'](),this['_transaction'](()=>{let _0x3774a2=this['_getWorktreeRow'](_0x4c6e7e);if(!_0x3774a2)return{'status':'not-found'};if(_0x3774a2['status']==='discarded')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x4c6e7e)};if(_0x3774a2['status']!=='draft'&&_0x3774a2['status']!=='ready')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x4c6e7e)};let _0x1d96d4=A(_0x3774a2['status']);return this['_updateStatus'](_0x4c6e7e,'discarded'),{'status':'transitioned','previousStatus':_0x1d96d4,'aggregate':this['_requireAggregate'](_0x4c6e7e)};});}async['startOrResumeMerge'](_0x22cadc,_0x35e526){return this['_assertOpen'](),this['_transaction'](()=>{let _0x280168=this['_getWorktreeRow'](_0x35e526);return _0x280168?_0x280168['status']==='merged'?{'status':'already-merged','aggregate':this['_requireAggregate'](_0x35e526)}:_0x280168['status']==='merging'?{'status':'resumed','aggregate':this['_requireAggregate'](_0x35e526)}:_0x280168['status']==='ready'?(this['_updateStatus'](_0x35e526,'merging'),{'status':'started','aggregate':this['_requireAggregate'](_0x35e526)}):{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x35e526)}:{'status':'not-found'};});}async['recordUnitMergeResult'](_0x2d9a54,_0x3457d3){return this['_assertOpen'](),E(_0x3457d3['mergeResult']),this['_transaction'](()=>{let _0x3a57c2=this['_getWorktreeRow'](_0x3457d3['worktreeID']),_0x5547da=this['_getUnitRow'](_0x3457d3['worktreeID'],_0x3457d3['unitID']);if(!_0x3a57c2||!_0x5547da)return{'status':'not-found'};let _0xdfa76=y(_0x5547da);if(_0x3a57c2['status']!=='merging'||_0xdfa76['readyDraftHeadRevision']!==_0x3457d3['readyDraftHeadRevision'])return{'status':'stale-merge'};if(_0x3457d3['mergeResult']['status']==='removed'&&!_0xdfa76['removed']||_0xdfa76['removed']&&(_0x3457d3['mergeResult']['status']==='merged'||_0x3457d3['mergeResult']['status']==='unchanged'))throw new u['CollabError']('INVALID_REQUEST','Merge\x20result\x20does\x20not\x20match\x20frozen\x20Unit\x20removal\x20intent');let _0x61b902=_0xdfa76['mergeResult'];return _0x61b902&&(0x0,c['isDeepStrictEqual'])(_0x61b902,_0x3457d3['mergeResult'])?{'status':'already-recorded','aggregate':this['_requireAggregate'](_0x3457d3['worktreeID'])}:_0x61b902&&k(_0x61b902)?{'status':'stale-merge'}:(this['_database']['prepare']('UPDATE\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SET\x20merge_result_json\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['run'](P(_0x3457d3['mergeResult']),_0x3457d3['worktreeID'],_0x3457d3['unitID']),{'status':'recorded','aggregate':this['_requireAggregate'](_0x3457d3['worktreeID'])});});}async['finishMerge'](_0x31c3a2,_0x4b7f00){return this['_assertOpen'](),this['_transaction'](()=>{let _0x22e98c=this['_getWorktreeRow'](_0x4b7f00);if(!_0x22e98c)return{'status':'not-found'};if(_0x22e98c['status']==='merged')return{'status':'already-in-target','aggregate':this['_requireAggregate'](_0x4b7f00)};if(_0x22e98c['status']!=='merging')return{'status':'status-mismatch','aggregate':this['_requireAggregate'](_0x4b7f00)};let _0x5c0321=this['_getUnitRows'](_0x4b7f00)['every'](_0x310007=>O(y(_0x310007)));return this['_updateStatus'](_0x4b7f00,_0x5c0321?'merged':'ready'),{'status':'transitioned','previousStatus':'merging','aggregate':this['_requireAggregate'](_0x4b7f00)};});}async['dispose'](){this['_disposed']||(this['_disposed']=!0x0,this['_database']['close']());}['_initializeSchema'](){this['_transaction'](()=>{if(!this['_hasTable']('collaboration_schema_versions')){if(this['_hasAnyOwnedTable']())throw N('SQLite\x20Worktree\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_schema_versions\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20component\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20version\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(version\x20>=\x201)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20');}let _0x367cf6=this['_database']['prepare']('SELECT\x20version\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_schema_versions\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20component\x20=\x20?')['get'](f);if(_0x367cf6){if(_0x367cf6['version']!==p)throw N('SQLite\x20Worktree\x20schema\x20version\x20'+_0x367cf6['version']+'\x20is\x20not\x20supported;\x20run\x20the\x20explicit\x20versioned\x20migrations\x20first');let _0x3dac62=m['filter'](_0x12db66=>!this['_hasTable'](_0x12db66));if(_0x3dac62['length']>0x0)throw N('SQLite\x20Worktree\x20schema\x20v'+_0x367cf6['version']+'\x20is\x20incomplete:\x20missing\x20'+_0x3dac62['join'](',\x20'));if(!this['_database']['prepare']('PRAGMA\x20table_info(collaboration_worktree_changesets)')['all']()['some'](_0x39ed77=>_0x39ed77['name']==='created_at_ms'&&_0x39ed77['notnull']===0x1))throw N('Changeset\x20schema\x20requires\x20NOT\x20NULL\x20created_at_ms');let _0x25088d=this['_database']['prepare']('PRAGMA\x20table_info(collaboration_worktree_units)')['all']();if(!['removed','creator_id','created_at_ms']['every'](_0x2c249f=>_0x25088d['some'](_0x336f56=>_0x336f56['name']===_0x2c249f&&_0x336f56['notnull']===0x1)))throw N('SQLite\x20Worktree\x20schema\x20v3\x20is\x20missing\x20required\x20Unit\x20columns');return;}if(this['_hasAnyOwnedTable']())throw N('SQLite\x20Worktree\x20tables\x20exist\x20without\x20a\x20schema\x20version');this['_database']['exec']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktrees\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sid\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(status\x20IN\x20(\x27draft\x27,\x20\x27ready\x27,\x20\x27merging\x27,\x20\x27merged\x27,\x20\x27discarded\x27))\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_units\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20removed\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200\x20CHECK\x20(removed\x20IN\x20(0,\x201)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_order\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(unit_order\x20>=\x200),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20source\x20TEXT\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(source\x20IN\x20(\x27trunk\x27,\x20\x27worktree\x27)),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20baseline_trunk_revision\x20INTEGER\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(baseline_trunk_revision\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20draft_head_revision\x20INTEGER\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(draft_head_revision\x20>=\x20baseline_trunk_revision),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ready_draft_head_revision\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20merge_result_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UNIQUE\x20(worktree_id,\x20unit_order),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktrees(worktree_id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_changesets\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20revision\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(revision\x20>=\x202),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20base_revision\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(base_revision\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sid\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20req_id\x20INTEGER\x20NOT\x20NULL\x20CHECK\x20(req_id\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20payload_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id,\x20revision),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20UNIQUE\x20(worktree_id,\x20unit_id,\x20sid,\x20req_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktree_units(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20collaboration_worktree_changesets_revision\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20collaboration_worktree_changesets(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id,\x20unit_id,\x20revision\x20ASC\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_unit_seeds\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resources_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktree_units(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20collaboration_worktree_unit_merge_artifacts\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20worktree_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20unit_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ready_draft_head_revision\x20INTEGER\x20NOT\x20NULL\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CHECK\x20(ready_draft_head_revision\x20>=\x201),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20snapshot_json\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20resources_json\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(worktree_id,\x20unit_id),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20REFERENCES\x20collaboration_worktree_units(worktree_id,\x20unit_id)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20collaboration_schema_versions\x20(component,\x20version)\x0a\x20\x20\x20\x20\x20\x20\x20\x20VALUES\x20(\x27worktree\x27,\x20'+p+');\x0a\x20\x20\x20\x20\x20\x20');});}['_hasTable'](_0x41667d){return!!this['_database']['prepare']('SELECT\x201\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20sqlite_schema\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20?')['get'](_0x41667d);}['_hasAnyOwnedTable'](){return m['some'](_0x5bd188=>this['_hasTable'](_0x5bd188));}['_getWorktreeRow'](_0x468a5a){return this['_database']['prepare']('SELECT\x20worktree_id,\x20sid,\x20status\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktrees\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?')['get'](_0x468a5a)??null;}['_getUnitRow'](_0x554dfb,_0x3c28ed){return this['_database']['prepare']('SELECT\x20worktree_id,\x20unit_id,\x20type,\x20source,\x20baseline_trunk_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20draft_head_revision,\x20ready_draft_head_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator_id,\x20created_at_ms,\x20removed,\x20merge_result_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['get'](_0x554dfb,_0x3c28ed)??null;}['_getUnitRows'](_0x289e99){return this['_database']['prepare']('SELECT\x20worktree_id,\x20unit_id,\x20type,\x20source,\x20baseline_trunk_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20draft_head_revision,\x20ready_draft_head_revision,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator_id,\x20created_at_ms,\x20removed,\x20merge_result_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_units\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20unit_order\x20ASC')['all'](_0x289e99);}['_getUnitSeed'](_0x31d723,_0x52e8e3){let _0x5835de=this['_database']['prepare']('SELECT\x20snapshot_json,\x20sheet_blocks_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_unit_seeds\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['get'](_0x31d723,_0x52e8e3);return _0x5835de?{'snapshot':F(_0x5835de['snapshot_json']),..._0x5835de['sheet_blocks_json']===null?{}:{'sheetBlocks':F(_0x5835de['sheet_blocks_json'])}}:null;}['_getUnitMergeArtifact'](_0x220ae6,_0x544e8c){let _0x51fe0d=this['_database']['prepare']('SELECT\x20ready_draft_head_revision,\x20snapshot_json,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sheet_blocks_json\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20collaboration_worktree_unit_merge_artifacts\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20worktree_id\x20=\x20?\x20AND\x20unit_id\x20=\x20?')['get'](_0x220ae6,_0x544e8c);return _0x51fe0d?{'readyDraftHeadRevision':_0x51fe0d['ready_draft_head_revision'],'unit':{'snapshot':F(_0x51fe0d['snapshot_json']),..._0x51fe0d['sheet_blocks_json']===null?{}:{'sheetBlocks':F(_0x51fe0d['sheet_blocks_json'])}}}:null;}['_getAggregate'](_0x3c0d56){let _0x18764c=this['_getWorktreeRow'](_0x3c0d56);return _0x18764c?{'worktree':{'worktreeID':_0x18764c['worktree_id'],'sid':_0x18764c['sid'],'status':A(_0x18764c['status'])},'units':this['_getUnitRows'](_0x3c0d56)['map'](y)}:null;}['_requireAggregate'](_0x50fb70){let _0x3f58e1=this['_getAggregate'](_0x50fb70);if(!_0x3f58e1)throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20Worktree\x20disappeared\x20inside\x20a\x20write\x20transaction');return _0x3f58e1;}['_updateStatus'](_0x15bf4e,_0x503209){if(this['_database']['prepare']('UPDATE\x20collaboration_worktrees\x20SET\x20status\x20=\x20?\x20WHERE\x20worktree_id\x20=\x20?')['run'](_0x503209,_0x15bf4e)['changes']!==0x1)throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20Worktree\x20status\x20update\x20did\x20not\x20affect\x20one\x20record');}['_transaction'](_0x2164f8){this['_database']['exec']('BEGIN\x20IMMEDIATE;');try{let _0x1b8e48=_0x2164f8();return this['_database']['exec']('COMMIT;'),_0x1b8e48;}catch(_0x5861d6){throw this['_database']['inTransaction']&&this['_database']['exec']('ROLLBACK;'),_0x5861d6;}}['_assertOpen'](){if(this['_disposed'])throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20Worktree\x20Database\x20Adapter\x20is\x20disposed');}};function y(_0x349d10){let _0x41e434=j(_0x349d10['source']);return{'worktreeID':_0x349d10['worktree_id'],'unitID':_0x349d10['unit_id'],'type':_0x349d10['type'],'source':_0x41e434,..._0x41e434==='trunk'?{'baselineTrunkRevision':_0x349d10['baseline_trunk_revision']}:{},'draftHeadRevision':_0x349d10['draft_head_revision'],..._0x349d10['ready_draft_head_revision']===null?{}:{'readyDraftHeadRevision':_0x349d10['ready_draft_head_revision']},'creatorID':_0x349d10['creator_id'],'createdAt':_0x349d10['created_at_ms'],..._0x349d10['removed']===0x1?{'removed':!0x0}:{},..._0x349d10['merge_result_json']===null?{}:{'mergeResult':F(_0x349d10['merge_result_json'])}};}function b(_0x1b3639){if(!_0x1b3639['filename'])throw M('SQLite\x20filename\x20is\x20required');if(_0x1b3639['busyTimeoutMs']!==void 0x0&&(!Number['isSafeInteger'](_0x1b3639['busyTimeoutMs'])||_0x1b3639['busyTimeoutMs']<0x0))throw M('SQLite\x20busyTimeoutMs\x20must\x20be\x20a\x20non-negative\x20integer');}function x(_0xc0aa2){if(!_0xc0aa2['record']['worktreeID']||!_0xc0aa2['record']['sid']||_0xc0aa2['record']['status']!=='draft')throw M('New\x20Worktree\x20must\x20be\x20a\x20draft\x20with\x20identity');let _0x108b95=new Set();for(let _0x10e801 of _0xc0aa2['units']){if(_0x10e801['worktreeID']!==_0xc0aa2['record']['worktreeID']||_0x108b95['has'](_0x10e801['unitID']))throw M('Initial\x20Worktree\x20Units\x20must\x20be\x20unique\x20and\x20share\x20identity');_0x108b95['add'](_0x10e801['unitID']),S(_0x10e801);}}function S(_0x3b0417){if(w(_0x3b0417),_0x3b0417['source']!=='trunk'||!_['has'](_0x3b0417['type'])||!Number['isSafeInteger'](_0x3b0417['baselineTrunkRevision'])||_0x3b0417['baselineTrunkRevision']<0x1||_0x3b0417['draftHeadRevision']!==_0x3b0417['baselineTrunkRevision']||_0x3b0417['readyDraftHeadRevision']!==void 0x0||_0x3b0417['mergeResult']!==void 0x0)throw M('New\x20Worktree\x20Unit\x20must\x20start\x20at\x20its\x20trunk\x20baseline');}function C(_0x17271a,_0x4a2f4c){if(w(_0x17271a),_0x17271a['source']!=='worktree'||_0x17271a['baselineTrunkRevision']!==void 0x0||!_['has'](_0x17271a['type'])||_0x17271a['draftHeadRevision']!==0x1||_0x17271a['readyDraftHeadRevision']!==void 0x0||_0x17271a['mergeResult']!==void 0x0||_0x4a2f4c['snapshot']['unitID']!==_0x17271a['unitID']||_0x4a2f4c['snapshot']['type']!==_0x17271a['type']||_0x4a2f4c['snapshot']['rev']!==0x1)throw M('Worktree-created\x20Unit\x20must\x20start\x20from\x20its\x20revision\x201\x20seed');}function w(_0xc87d12){if(typeof _0xc87d12['creatorID']!='string'||_0xc87d12['creatorID']['length']===0x0||!Number['isSafeInteger'](_0xc87d12['createdAt'])||_0xc87d12['createdAt']<0x0)throw M('Unit\x20creation\x20requires\x20creatorID\x20and\x20createdAt\x20in\x20Unix\x20milliseconds');if(!_0xc87d12['worktreeID']||!_0xc87d12['unitID'])throw M('Worktree\x20and\x20Unit\x20identity\x20are\x20required');}function T(_0xf726e7){if(!Number['isSafeInteger'](_0xf726e7['from'])||_0xf726e7['from']<0x0||_0xf726e7['to']!==void 0x0&&(!Number['isSafeInteger'](_0xf726e7['to'])||_0xf726e7['to']<0x0))throw M('Draft\x20revision\x20range\x20cannot\x20be\x20negative');}function E(_0x312a62){if(_0x312a62['status']==='merged'){if(!Number['isSafeInteger'](_0x312a62['trunkRevision'])||_0x312a62['trunkRevision']<0x1)throw M('Merged\x20result\x20requires\x20a\x20trunk\x20revision');return;}if(!(_0x312a62['status']==='unchanged'||_0x312a62['status']==='removed')&&(!_0x312a62['error']['code']||!_0x312a62['error']['message']||typeof _0x312a62['error']['retryable']!='boolean'))throw M('Merge\x20error\x20must\x20be\x20stable\x20and\x20serializable');}function D(_0x22563d,_0x4ba71c){if(_0x4ba71c['unit']['snapshot']['unitID']!==_0x22563d['unitID']||_0x4ba71c['unit']['snapshot']['type']!==_0x22563d['type']||_0x4ba71c['unit']['snapshot']['rev']!==0x1)throw M('Worktree\x20Unit\x20merge\x20artifact\x20must\x20be\x20a\x20revision\x201\x20snapshot');}function O(_0x3a893d){return k(_0x3a893d['mergeResult']);}function k(_0x19223d){return _0x19223d?.['status']==='merged'||_0x19223d?.['status']==='unchanged'||_0x19223d?.['status']==='removed';}function A(_0x18c744){if(_0x18c744==='draft'||_0x18c744==='ready'||_0x18c744==='merging'||_0x18c744==='merged'||_0x18c744==='discarded')return _0x18c744;throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20contains\x20invalid\x20Worktree\x20status\x20'+_0x18c744);}function j(_0x494592){if(_0x494592==='trunk'||_0x494592==='worktree')return _0x494592;throw new u['CollabError']('INTERNAL_ERROR','SQLite\x20contains\x20invalid\x20Worktree\x20Unit\x20source\x20'+_0x494592);}function M(_0x283d54){return new u['CollabError']('INVALID_REQUEST',_0x283d54);}function N(_0x89cb6a){return new u['CollabError']('INTERNAL_ERROR',_0x89cb6a);}function P(_0x605a02){return JSON['stringify'](_0x605a02,function(_0x596e78,_0x5873aa){let _0x5e1502=this[_0x596e78];return _0x5e1502 instanceof Uint8Array?{[g]:Buffer['from'](_0x5e1502)['toString']('base64')}:_0x5873aa;});}function F(_0x421317){return JSON['parse'](_0x421317,(_0x37d54f,_0x197386)=>I(_0x197386)?Uint8Array['from'](Buffer['from'](_0x197386[g],'base64')):_0x197386);}function I(_0x4c1a36){return typeof _0x4c1a36=='object'&&!!_0x4c1a36&&Object['keys'](_0x4c1a36)['length']===0x1&&typeof _0x4c1a36[g]=='string';}function L(_0x3a3092){let _0xaea2e4=new l['default'](_0x3a3092['filename'],{'fileMustExist':!0x0}),_0x5c2a3b=!0x1;try{if(_0xaea2e4['exec']('BEGIN\x20IMMEDIATE;'),_0x5c2a3b=!0x0,_0xaea2e4['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27worktree\x27')['get']()?.['version']!==0x1)throw new u['CollabError']('INVALID_REQUEST','Worktree\x20v1-to-v2\x20migration\x20requires\x20schema\x20version\x201');_0xaea2e4['exec']('\x0a\x20\x20\x20\x20\x20\x20ALTER\x20TABLE\x20collaboration_worktree_units\x20ADD\x20COLUMN\x20removed\x20INTEGER\x20NOT\x20NULL\x20DEFAULT\x200\x20CHECK\x20(removed\x20IN\x20(0,\x201));\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20collaboration_schema_versions\x20SET\x20version\x20=\x202\x20WHERE\x20component\x20=\x20\x27worktree\x27;\x0a\x20\x20\x20\x20\x20\x20COMMIT;\x0a\x20\x20\x20\x20'),_0x5c2a3b=!0x1;}finally{try{_0x5c2a3b&&_0xaea2e4['exec']('ROLLBACK;');}finally{_0xaea2e4['close']();}}}async function R(_0x4db327){let _0x39ce1d=Date['now'](),_0x3d3f91=new l['default'](_0x4db327['filename'],{'fileMustExist':!0x0}),_0x43429f=!0x1;try{if(_0x3d3f91['exec']('PRAGMA\x20foreign_keys\x20=\x20OFF;\x20PRAGMA\x20legacy_alter_table\x20=\x20ON;\x20BEGIN\x20IMMEDIATE;'),_0x43429f=!0x0,_0x3d3f91['prepare']('SELECT\x20version\x20FROM\x20collaboration_schema_versions\x20WHERE\x20component\x20=\x20\x27worktree\x27')['get']()?.['version']!==0x2)throw new u['CollabError']('INVALID_REQUEST','Worktree\x20v2-to-v3\x20migration\x20requires\x20schema\x20version\x202');for(let _0xbdb9d7 of['collaboration_worktrees','collaboration_worktree_changesets','collaboration_worktree_unit_seeds','collaboration_worktree_unit_merge_artifacts'])_0x3d3f91['prepare']('SELECT\x201\x20FROM\x20'+_0xbdb9d7+'\x20LIMIT\x200')['all']();let _0x1fba5d=_0x3d3f91['prepare']('SELECT\x201\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20\x27collaboration_history_revisions\x27')['get']()?_0x3d3f91['prepare']('SELECT\x20user_id,\x20committed_at\x20FROM\x20collaboration_history_revisions\x20WHERE\x20unit_id\x20=\x20?\x20AND\x20revision\x20=\x20?'):void 0x0,_0x1786af=(_0x30a591,_0x23046a)=>_0x1fba5d?.['get'](_0x30a591,_0x23046a),_0x1d742f=_0x3d3f91['prepare']('PRAGMA\x20table_info(collaboration_worktree_units)')['all']();if(!_0x1d742f['some'](_0x2c0b82=>_0x2c0b82['name']==='removed')||_0x1d742f['some'](_0x2cc3d1=>['creator_id','created_at_ms']['includes'](_0x2cc3d1['name'])))throw new u['CollabError']('INVALID_REQUEST','Unexpected\x20Worktree\x20v2\x20Unit\x20schema');let _0x2086d5=_0x3d3f91['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20\x27collaboration_worktree_units\x27')['get'](),_0x26885f=_0x3d3f91['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20tbl_name\x20=\x20\x27collaboration_worktree_units\x27\x20AND\x20type\x20IN\x20(\x27index\x27,\x20\x27trigger\x27)\x20AND\x20sql\x20IS\x20NOT\x20NULL')['all']();_0x3d3f91['exec']('CREATE\x20TABLE\x20collaboration_worktree_units_v3\x20(\x0a\x20\x20\x20\x20\x20\x20creator_id\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20'+_0x2086d5['sql']['slice'](_0x2086d5['sql']['indexOf']('(')+0x1));let _0x4b8af8=B(_0x3d3f91,'collaboration_worktree_units',['worktree_id','unit_id']),_0x3f6a7b=_0x1d742f['map'](_0x20b950=>'\x22'+_0x20b950['name']['replaceAll']('\x22','\x22\x22')+'\x22')['join'](',\x20'),_0x577ead=_0x3d3f91['prepare']('INSERT\x20INTO\x20collaboration_worktree_units_v3\x20('+_0x3f6a7b+',\x20creator_id,\x20created_at_ms)\x20VALUES\x20('+_0x1d742f['map'](()=>'?')['join'](',\x20')+',\x20?,\x20?)');for(let _0x31d9b5 of _0x4b8af8){let _0x1d7e3b=!_0x4db327['resolveUnitCreation']&&_0x31d9b5['source']==='trunk'?_0x1786af(_0x31d9b5['unit_id'],0x1):void 0x0,_0x2b9a30=_0x4db327['resolveUnitCreation']?await _0x4db327['resolveUnitCreation'](_0x31d9b5['worktree_id'],_0x31d9b5['unit_id']):{'creatorID':_0x1d7e3b?.['user_id']||'anonymous','createdAt':z(_0x1d7e3b?.['committed_at'])?_0x1d7e3b['committed_at']:_0x39ce1d};if(!_0x2b9a30||typeof _0x2b9a30['creatorID']!='string'||_0x2b9a30['creatorID']['length']===0x0||!Number['isSafeInteger'](_0x2b9a30['createdAt'])||_0x2b9a30['createdAt']<0x0)throw new u['CollabError']('INVALID_REQUEST','Missing\x20or\x20invalid\x20creation\x20facts\x20for\x20Worktree\x20'+_0x31d9b5['worktree_id']+'\x20Unit\x20'+_0x31d9b5['unit_id']);_0x577ead['run'](..._0x1d742f['map'](_0x2fc37a=>_0x31d9b5[_0x2fc37a['name']]),_0x2b9a30['creatorID'],_0x2b9a30['createdAt']);}_0x3d3f91['exec']('DROP\x20TABLE\x20collaboration_worktree_units;\x20ALTER\x20TABLE\x20collaboration_worktree_units_v3\x20RENAME\x20TO\x20collaboration_worktree_units;');for(let _0x906bfe of _0x26885f)_0x3d3f91['exec'](_0x906bfe['sql']);let _0x4d1f67=_0x3d3f91['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20type\x20=\x20\x27table\x27\x20AND\x20name\x20=\x20\x27collaboration_worktree_changesets\x27')['get'](),_0x139e33=_0x3d3f91['prepare']('PRAGMA\x20table_info(collaboration_worktree_changesets)')['all']();if(_0x139e33['some'](_0x455d56=>_0x455d56['name']==='created_at_ms'))throw new u['CollabError']('INVALID_REQUEST','Unexpected\x20changeset\x20creation-time\x20column\x20in\x20legacy\x20schema');let _0x2e74d4=_0x3d3f91['prepare']('SELECT\x20sql\x20FROM\x20sqlite_schema\x20WHERE\x20tbl_name\x20=\x20\x27collaboration_worktree_changesets\x27\x20AND\x20type\x20IN\x20(\x27index\x27,\x20\x27trigger\x27)\x20AND\x20sql\x20IS\x20NOT\x20NULL')['all']();_0x3d3f91['exec']('CREATE\x20TABLE\x20collaboration_worktree_changesets_new\x20(\x0a\x20\x20\x20\x20\x20\x20created_at_ms\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20'+_0x4d1f67['sql']['slice'](_0x4d1f67['sql']['indexOf']('(')+0x1));let _0x499ec4=B(_0x3d3f91,'collaboration_worktree_changesets',['worktree_id','unit_id','revision']),_0x3d6fe8=_0x139e33['map'](_0x75bc8c=>'\x22'+_0x75bc8c['name']['replaceAll']('\x22','\x22\x22')+'\x22')['join'](',\x20'),_0x5d09a4=_0x3d3f91['prepare']('INSERT\x20INTO\x20collaboration_worktree_changesets_new\x20('+_0x3d6fe8+',\x20created_at_ms)\x20VALUES\x20('+_0x139e33['map'](()=>'?')['join'](',\x20')+',\x20?)');for(let _0x54b2a8 of _0x499ec4){let _0x474d8c=JSON['parse'](_0x54b2a8['payload_json']),_0x56c973=typeof _0x474d8c['createTime']=='number'?_0x474d8c['createTime']*0x3e8:void 0x0,_0x5bcbea=_0x4db327['resolveChangesetCreatedAt']?await _0x4db327['resolveChangesetCreatedAt'](_0x54b2a8['worktree_id'],_0x54b2a8['unit_id'],_0x54b2a8['revision']):z(_0x56c973)?_0x56c973:_0x39ce1d;if(!Number['isSafeInteger'](_0x5bcbea)||_0x5bcbea<0x0)throw new u['CollabError']('INVALID_REQUEST','Missing\x20or\x20invalid\x20changeset\x20time\x20for\x20Unit\x20'+_0x54b2a8['unit_id']+'\x20revision\x20'+_0x54b2a8['revision']);_0x474d8c['createTime']=Math['floor'](_0x5bcbea/0x3e8),_0x5d09a4['run'](..._0x139e33['map'](_0x195ab5=>_0x195ab5['name']==='payload_json'?JSON['stringify'](_0x474d8c):_0x54b2a8[_0x195ab5['name']]),_0x5bcbea);}_0x3d3f91['exec']('DROP\x20TABLE\x20collaboration_worktree_changesets;\x20ALTER\x20TABLE\x20collaboration_worktree_changesets_new\x20RENAME\x20TO\x20collaboration_worktree_changesets;');for(let _0x50e662 of _0x2e74d4)_0x3d3f91['exec'](_0x50e662['sql']);if(_0x3d3f91['prepare']('PRAGMA\x20foreign_key_check')['all']()['length'])throw new u['CollabError']('INVALID_REQUEST','Foreign\x20key\x20validation\x20failed\x20during\x20Worktree\x20migration');_0x3d3f91['exec']('UPDATE\x20collaboration_schema_versions\x20SET\x20version\x20=\x203\x20WHERE\x20component\x20=\x20\x27worktree\x27;\x20COMMIT;'),_0x43429f=!0x1;}finally{try{_0x43429f&&_0x3d3f91['exec']('ROLLBACK;');}finally{_0x3d3f91['close']();}}}function z(_0xc5245a){return typeof _0xc5245a=='number'&&Number['isSafeInteger'](_0xc5245a)&&_0xc5245a>=0x0;}function*B(_0x152a4d,_0x596d12,_0x73a576){let _0x382095=_0x73a576['join'](',\x20'),_0x55ad0c=_0x152a4d['prepare']('SELECT\x20*\x20FROM\x20'+_0x596d12+'\x20ORDER\x20BY\x20'+_0x382095+'\x20LIMIT\x20100'),_0x4a82bf=_0x152a4d['prepare']('SELECT\x20*\x20FROM\x20'+_0x596d12+'\x20WHERE\x20('+_0x382095+')\x20>\x20('+_0x73a576['map'](()=>'?')['join'](',\x20')+')\x20ORDER\x20BY\x20'+_0x382095+'\x20LIMIT\x20100'),_0x485d05=_0x55ad0c['all']();for(;_0x485d05['length']>0x0;){yield*_0x485d05;let _0x4773ff=_0x73a576['map'](_0x101405=>_0x485d05[_0x485d05['length']-0x1][_0x101405]);_0x485d05=[],_0x485d05=_0x4a82bf['all'](..._0x4773ff);}}exports['SQLiteWorktreeDatabaseAdapter']=v,exports['migrateSQLiteWorktreeV1ToV2']=L,exports['migrateSQLiteWorktreeV2ToV3']=R;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- function _0x44b6(){const _0x33099e=['9XlPcEV','3512649ygBKTc','256203snOifG','migrateSQLiteWorktreeV2ToV3','58679RoJqkF','5KXOFSK','10832745gqwkhx','8kPFAMI','migrateSQLiteWorktreeV1ToV2','3355062nTUePu','SQLiteWorktreeDatabaseAdapter','4430368SWsqpa','26CEFeur','1338870ffZonF'];_0x44b6=function(){return _0x33099e;};return _0x44b6();}function _0x2a10(_0x781b25,_0x548043){_0x781b25=_0x781b25-0x8e;const _0x44b678=_0x44b6();let _0x2a105f=_0x44b678[_0x781b25];return _0x2a105f;}const _0x454b73=_0x2a10;(function(_0x1abf82,_0x4bdce4){const _0x7380ce=_0x2a10,_0x1347e5=_0x1abf82();while(!![]){try{const _0xf4fc33=-parseInt(_0x7380ce(0x99))/0x1*(-parseInt(_0x7380ce(0x93))/0x2)+-parseInt(_0x7380ce(0x97))/0x3+-parseInt(_0x7380ce(0x92))/0x4+-parseInt(_0x7380ce(0x9a))/0x5*(parseInt(_0x7380ce(0x90))/0x6)+parseInt(_0x7380ce(0x96))/0x7*(parseInt(_0x7380ce(0x8e))/0x8)+-parseInt(_0x7380ce(0x95))/0x9*(-parseInt(_0x7380ce(0x94))/0xa)+parseInt(_0x7380ce(0x9b))/0xb;if(_0xf4fc33===_0x4bdce4)break;else _0x1347e5['push'](_0x1347e5['shift']());}catch(_0x2dd39c){_0x1347e5['push'](_0x1347e5['shift']());}}}(_0x44b6,0x9a16a));import _0x4db01a from'./index.cjs';const facadeExport0=_0x4db01a[_0x454b73(0x91)],facadeExport1=_0x4db01a[_0x454b73(0x8f)],facadeExport2=_0x4db01a[_0x454b73(0x98)];export{facadeExport0 as SQLiteWorktreeDatabaseAdapter,facadeExport1 as migrateSQLiteWorktreeV1ToV2,facadeExport2 as migrateSQLiteWorktreeV2ToV3};
1
+ const _0xff3615=_0x5bc5;(function(_0x511526,_0x283408){const _0xc78c2e=_0x5bc5,_0x3f9687=_0x511526();while(!![]){try{const _0x2872ed=parseInt(_0xc78c2e(0x1ed))/0x1*(-parseInt(_0xc78c2e(0x1ec))/0x2)+-parseInt(_0xc78c2e(0x1f5))/0x3+-parseInt(_0xc78c2e(0x1f4))/0x4+-parseInt(_0xc78c2e(0x1f1))/0x5+-parseInt(_0xc78c2e(0x1ee))/0x6+-parseInt(_0xc78c2e(0x1f2))/0x7+parseInt(_0xc78c2e(0x1f0))/0x8;if(_0x2872ed===_0x283408)break;else _0x3f9687['push'](_0x3f9687['shift']());}catch(_0x314dc5){_0x3f9687['push'](_0x3f9687['shift']());}}}(_0xad16,0xd1d36));import _0x45738b from'./index.cjs';function _0x5bc5(_0x3f066e,_0x23849f){_0x3f066e=_0x3f066e-0x1ec;const _0xad1644=_0xad16();let _0x5bc5f6=_0xad1644[_0x3f066e];return _0x5bc5f6;}const facadeExport0=_0x45738b['SQLiteWorktreeDatabaseAdapter'],facadeExport1=_0x45738b[_0xff3615(0x1f3)],facadeExport2=_0x45738b[_0xff3615(0x1ef)];function _0xad16(){const _0x499f7d=['126775ZLCSVd','133252VkMlJM','migrateSQLiteWorktreeV1ToV2','5434332nQrNMa','3162375Xniyyl','2YRAalo','439823ooCWJV','5646744AUiaxN','migrateSQLiteWorktreeV2ToV3','37579936QeHnVo'];_0xad16=function(){return _0x499f7d;};return _0xad16();}export{facadeExport0 as SQLiteWorktreeDatabaseAdapter,facadeExport1 as migrateSQLiteWorktreeV1ToV2,facadeExport2 as migrateSQLiteWorktreeV2ToV3};
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "engines": {
5
5
  "node": ">=22"
6
6
  },
7
- "version": "1.0.3",
7
+ "version": "1.0.4",
8
8
  "main": "./dist/index.cjs",
9
9
  "module": "./dist/index.mjs",
10
10
  "types": "./dist/index.d.ts",
@@ -19,9 +19,9 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@univerjs-pro/collaboration-service": "1.0.3",
23
- "@univerjs-pro/collaboration-worktree-service": "1.0.3",
24
- "@univerjs/protocol": "1.0.3",
22
+ "@univerjs-pro/collaboration-service": "1.0.4",
23
+ "@univerjs-pro/collaboration-worktree-service": "1.0.4",
24
+ "@univerjs/protocol": "1.0.4",
25
25
  "libsql": "^0.5.29"
26
26
  }
27
27
  }