@univerjs-pro/collaboration-worktree-service 1.0.0-insiders.20260727-46ed76c

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.
Files changed (33) hide show
  1. package/dist/database/adapter.d.ts +138 -0
  2. package/dist/database/adapter.js +1 -0
  3. package/dist/draft/worktree-draft-database-adapter-view.d.ts +26 -0
  4. package/dist/draft/worktree-draft-database-adapter-view.js +1 -0
  5. package/dist/errors/worktree-error.d.ts +12 -0
  6. package/dist/errors/worktree-error.js +1 -0
  7. package/dist/index.d.ts +10 -0
  8. package/dist/index.js +1 -0
  9. package/dist/merge/capture-worktree-unit-head-snapshot.d.ts +14 -0
  10. package/dist/merge/capture-worktree-unit-head-snapshot.js +1 -0
  11. package/dist/merge/capture-worktree-unit-merge-preview.d.ts +17 -0
  12. package/dist/merge/capture-worktree-unit-merge-preview.js +1 -0
  13. package/dist/middleware/middleware-registry.d.ts +7 -0
  14. package/dist/middleware/middleware-registry.js +1 -0
  15. package/dist/middleware/middleware.d.ts +65 -0
  16. package/dist/middleware/middleware.js +1 -0
  17. package/dist/model/types.d.ts +53 -0
  18. package/dist/model/types.js +1 -0
  19. package/dist/request/create-request.d.ts +11 -0
  20. package/dist/request/create-request.js +1 -0
  21. package/dist/request/request.d.ts +36 -0
  22. package/dist/request/request.js +1 -0
  23. package/dist/service/event-registry.d.ts +11 -0
  24. package/dist/service/event-registry.js +1 -0
  25. package/dist/service/events.d.ts +44 -0
  26. package/dist/service/events.js +1 -0
  27. package/dist/service/service-lifecycle.d.ts +11 -0
  28. package/dist/service/service-lifecycle.js +1 -0
  29. package/dist/service/service.d.ts +83 -0
  30. package/dist/service/service.js +1 -0
  31. package/dist/session/operations.d.ts +103 -0
  32. package/dist/session/operations.js +1 -0
  33. package/package.json +24 -0
@@ -0,0 +1,138 @@
1
+ import type { ChangesetRange, DatabaseContext } from "@univerjs-pro/collaboration-service";
2
+ import type { IChangeset, IGetResourcesResponse, ISheetBlock, ISnapshot } from "@univerjs/protocol";
3
+ import type { WorktreeAggregateRecord, WorktreeRecord, WorktreeStatus, WorktreeUnitMergeResult, WorktreeUnitRecord } from "../model/types.js";
4
+ export interface WorktreeRevisionRange {
5
+ readonly from: number;
6
+ readonly to: number;
7
+ }
8
+ export interface CreateWorktreeDatabaseInput {
9
+ readonly record: WorktreeRecord;
10
+ readonly units: readonly WorktreeUnitRecord[];
11
+ }
12
+ export type CreateWorktreeDatabaseResult = {
13
+ readonly status: "created";
14
+ readonly aggregate: WorktreeAggregateRecord;
15
+ } | {
16
+ readonly status: "already-exists";
17
+ readonly aggregate: WorktreeAggregateRecord;
18
+ };
19
+ export interface AddWorktreeUnitDatabaseInput {
20
+ readonly unit: WorktreeUnitRecord;
21
+ }
22
+ export type AddWorktreeUnitDatabaseResult = {
23
+ readonly status: "added" | "already-exists";
24
+ readonly aggregate: WorktreeAggregateRecord;
25
+ } | {
26
+ readonly status: "status-mismatch";
27
+ readonly aggregate: WorktreeAggregateRecord;
28
+ } | {
29
+ readonly status: "not-found";
30
+ };
31
+ export interface WorktreeUnitSeed {
32
+ readonly snapshot: ISnapshot;
33
+ readonly sheetBlocks?: readonly ISheetBlock[];
34
+ readonly resources?: Readonly<IGetResourcesResponse["resources"]>;
35
+ }
36
+ export interface WorktreeUnitMergeArtifact {
37
+ readonly readyDraftHeadRevision: number;
38
+ readonly unit: WorktreeUnitSeed;
39
+ }
40
+ export interface SaveWorktreeUnitMergeArtifactInput {
41
+ readonly worktreeID: string;
42
+ readonly unitID: string;
43
+ readonly artifact: WorktreeUnitMergeArtifact;
44
+ }
45
+ export type SaveWorktreeUnitMergeArtifactResult = {
46
+ readonly status: "saved" | "already-saved";
47
+ readonly artifact: WorktreeUnitMergeArtifact;
48
+ } | {
49
+ readonly status: "stale-merge" | "not-found";
50
+ };
51
+ export interface CreateWorktreeUnitDatabaseInput {
52
+ readonly unit: WorktreeUnitRecord;
53
+ readonly seed: WorktreeUnitSeed;
54
+ }
55
+ export type CreateWorktreeUnitDatabaseResult = {
56
+ readonly status: "created" | "already-created";
57
+ readonly aggregate: WorktreeAggregateRecord;
58
+ } | {
59
+ readonly status: "unit-exists" | "status-mismatch";
60
+ readonly aggregate: WorktreeAggregateRecord;
61
+ } | {
62
+ readonly status: "not-found";
63
+ };
64
+ export interface CommitWorktreeChangesetInput {
65
+ readonly worktreeID: string;
66
+ readonly expectedHeadRevision: number;
67
+ readonly changeset: IChangeset;
68
+ }
69
+ export type CommitWorktreeChangesetResult = {
70
+ readonly status: "committed";
71
+ readonly changeset: IChangeset;
72
+ readonly headRevision: number;
73
+ } | {
74
+ readonly status: "already-committed";
75
+ readonly changeset: IChangeset;
76
+ } | {
77
+ readonly status: "revision-mismatch";
78
+ readonly actualHeadRevision: number;
79
+ } | {
80
+ readonly status: "not-editable";
81
+ readonly worktreeStatus: WorktreeStatus;
82
+ } | {
83
+ readonly status: "unit-frozen" | "not-found";
84
+ };
85
+ export type WorktreeTransitionResult = {
86
+ readonly status: "transitioned";
87
+ readonly previousStatus: WorktreeStatus;
88
+ readonly aggregate: WorktreeAggregateRecord;
89
+ } | {
90
+ readonly status: "already-in-target";
91
+ readonly aggregate: WorktreeAggregateRecord;
92
+ } | {
93
+ readonly status: "status-mismatch";
94
+ readonly aggregate: WorktreeAggregateRecord;
95
+ } | {
96
+ readonly status: "not-found";
97
+ };
98
+ export type StartMergeResult = {
99
+ readonly status: "started" | "resumed" | "already-merged";
100
+ readonly aggregate: WorktreeAggregateRecord;
101
+ } | {
102
+ readonly status: "status-mismatch";
103
+ readonly aggregate: WorktreeAggregateRecord;
104
+ } | {
105
+ readonly status: "not-found";
106
+ };
107
+ export interface RecordUnitMergeResultInput {
108
+ readonly worktreeID: string;
109
+ readonly unitID: string;
110
+ readonly readyDraftHeadRevision: number;
111
+ readonly mergeResult: WorktreeUnitMergeResult;
112
+ }
113
+ export type RecordUnitMergeResultResult = {
114
+ readonly status: "recorded" | "already-recorded";
115
+ readonly aggregate: WorktreeAggregateRecord;
116
+ } | {
117
+ readonly status: "stale-merge" | "not-found";
118
+ };
119
+ export interface IWorktreeDatabaseAdapter {
120
+ getWorktree(context: DatabaseContext, worktreeID: string): Promise<WorktreeAggregateRecord | null>;
121
+ getWorktreeUnit(context: DatabaseContext, worktreeID: string, unitID: string): Promise<WorktreeUnitRecord | null>;
122
+ getDraftChangesets(context: DatabaseContext, worktreeID: string, unitID: string, range: WorktreeRevisionRange): Promise<ChangesetRange>;
123
+ getDraftSubmission(context: DatabaseContext, worktreeID: string, unitID: string, sid: string, reqId: number): Promise<IChangeset | null>;
124
+ getUnitSeed(context: DatabaseContext, worktreeID: string, unitID: string): Promise<WorktreeUnitSeed | null>;
125
+ getUnitMergeArtifact(context: DatabaseContext, worktreeID: string, unitID: string): Promise<WorktreeUnitMergeArtifact | null>;
126
+ createWorktree(context: DatabaseContext, input: CreateWorktreeDatabaseInput): Promise<CreateWorktreeDatabaseResult>;
127
+ addUnit(context: DatabaseContext, input: AddWorktreeUnitDatabaseInput): Promise<AddWorktreeUnitDatabaseResult>;
128
+ createUnit(context: DatabaseContext, input: CreateWorktreeUnitDatabaseInput): Promise<CreateWorktreeUnitDatabaseResult>;
129
+ saveUnitMergeArtifact(context: DatabaseContext, input: SaveWorktreeUnitMergeArtifactInput): Promise<SaveWorktreeUnitMergeArtifactResult>;
130
+ commitDraftChangeset(context: DatabaseContext, input: CommitWorktreeChangesetInput): Promise<CommitWorktreeChangesetResult>;
131
+ markReady(context: DatabaseContext, worktreeID: string): Promise<WorktreeTransitionResult>;
132
+ reopenWorktree(context: DatabaseContext, worktreeID: string): Promise<WorktreeTransitionResult>;
133
+ discardWorktree(context: DatabaseContext, worktreeID: string): Promise<WorktreeTransitionResult>;
134
+ startOrResumeMerge(context: DatabaseContext, worktreeID: string): Promise<StartMergeResult>;
135
+ recordUnitMergeResult(context: DatabaseContext, input: RecordUnitMergeResultInput): Promise<RecordUnitMergeResultResult>;
136
+ finishMerge(context: DatabaseContext, worktreeID: string): Promise<WorktreeTransitionResult>;
137
+ dispose?(): Promise<void>;
138
+ }
@@ -0,0 +1 @@
1
+ 'use strict';var _0x54d522=_0xe828;(function(_0x11c958,_0x38693e){var _0x18e4b5=_0xe828,_0x105f97=_0x11c958();while(!![]){try{var _0x11879c=-parseInt(_0x18e4b5(0x12c))/0x1+parseInt(_0x18e4b5(0x12f))/0x2*(parseInt(_0x18e4b5(0x129))/0x3)+-parseInt(_0x18e4b5(0x133))/0x4+parseInt(_0x18e4b5(0x131))/0x5+parseInt(_0x18e4b5(0x12e))/0x6+parseInt(_0x18e4b5(0x12d))/0x7+parseInt(_0x18e4b5(0x132))/0x8*(-parseInt(_0x18e4b5(0x12b))/0x9);if(_0x11879c===_0x38693e)break;else _0x105f97['push'](_0x105f97['shift']());}catch(_0x50917c){_0x105f97['push'](_0x105f97['shift']());}}}(_0x4546,0x342a3));function _0x4546(){var _0x172a4a=['2545056RLRXaK','2dKDQdq','__esModule','303720qnwPub','54856OXNRvw','63760GswoCd','1041393QxVvfv','defineProperty','1089FjCRbm','30003nTDiFU','1800792nyWxVX'];_0x4546=function(){return _0x172a4a;};return _0x4546();}function _0xe828(_0x4fe75a,_0x1aa730){_0x4fe75a=_0x4fe75a-0x129;var _0x45460e=_0x4546();var _0xe82805=_0x45460e[_0x4fe75a];return _0xe82805;}Object[_0x54d522(0x12a)](exports,_0x54d522(0x130),{'value':!![]});
@@ -0,0 +1,26 @@
1
+ import { type ChangesetRange, type CommitChangesetInput, type CommitChangesetResult, type CreateUnitDatabaseInput, type CreateUnitDatabaseResult, type DatabaseContext, type DeleteUnitsDatabaseInput, type DeleteUnitsDatabaseResult, type IDatabaseAdapter, type RecoverUnitsDatabaseInput, type RecoverUnitsDatabaseResult, type SaveSnapshotInput, type UnitRecord } from "@univerjs-pro/collaboration-service";
2
+ import type { IChangeset, IGetResourcesResponse, ISheetBlock, ISnapshot } from "@univerjs/protocol";
3
+ import type { IWorktreeDatabaseAdapter } from "../database/adapter.js";
4
+ export declare class WorktreeDraftDatabaseAdapterView implements IDatabaseAdapter {
5
+ private readonly _worktreeID;
6
+ private readonly _trunk;
7
+ private readonly _worktree;
8
+ constructor(_worktreeID: string, _trunk: IDatabaseAdapter, _worktree: IWorktreeDatabaseAdapter);
9
+ getUnit(context: DatabaseContext, unitID: string): Promise<UnitRecord | null>;
10
+ getSnapshot(context: DatabaseContext, unitID: string, options?: {
11
+ readonly revision?: number;
12
+ }): Promise<ISnapshot | null>;
13
+ getChangesets(context: DatabaseContext, unitID: string, range: {
14
+ readonly from: number;
15
+ readonly to: number;
16
+ }): Promise<ChangesetRange>;
17
+ getSubmission(context: DatabaseContext, unitID: string, sid: string, reqId: number): Promise<IChangeset | null>;
18
+ createUnit(context: DatabaseContext, input: CreateUnitDatabaseInput): Promise<CreateUnitDatabaseResult>;
19
+ deleteUnits(_context: DatabaseContext, _input: DeleteUnitsDatabaseInput): Promise<DeleteUnitsDatabaseResult>;
20
+ recoverUnits(_context: DatabaseContext, _input: RecoverUnitsDatabaseInput): Promise<RecoverUnitsDatabaseResult>;
21
+ commitChangeset(context: DatabaseContext, input: CommitChangesetInput): Promise<CommitChangesetResult>;
22
+ saveSnapshot(_context: DatabaseContext, _input: SaveSnapshotInput): Promise<void>;
23
+ getSheetBlock(context: DatabaseContext, unitID: string, blockID: string): Promise<ISheetBlock | null>;
24
+ getResources(context: DatabaseContext, unitID: string, resourceIDs: readonly string[]): Promise<Readonly<IGetResourcesResponse["resources"]>>;
25
+ private _getUnitRecord;
26
+ }
@@ -0,0 +1 @@
1
+ 'use strict';const _0x1923db=_0x33a1;(function(_0x510b6b,_0x5cb9bc){const _0x59da88=_0x33a1,_0x9b79f2=_0x510b6b();while(!![]){try{const _0x32a249=-parseInt(_0x59da88(0x1ae))/0x1*(-parseInt(_0x59da88(0x17b))/0x2)+parseInt(_0x59da88(0x1a0))/0x3+parseInt(_0x59da88(0x172))/0x4*(parseInt(_0x59da88(0x189))/0x5)+parseInt(_0x59da88(0x1a3))/0x6+parseInt(_0x59da88(0x19f))/0x7*(parseInt(_0x59da88(0x18c))/0x8)+-parseInt(_0x59da88(0x17d))/0x9+parseInt(_0x59da88(0x1b5))/0xa*(-parseInt(_0x59da88(0x1ad))/0xb);if(_0x32a249===_0x5cb9bc)break;else _0x9b79f2['push'](_0x9b79f2['shift']());}catch(_0x5c2070){_0x9b79f2['push'](_0x9b79f2['shift']());}}}(_0x467d,0x9b5b8));Object[_0x1923db(0x16e)](exports,_0x1923db(0x1a7),{'value':!![]}),exports[_0x1923db(0x19a)]=void 0x0;function _0x467d(){const _0xbfd9eb=['_worktreeID','INVALID_REQUEST','isSafeInteger','Worktree\x20','created','expectedHeadRevision','record','getUnitSeed','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline','sheetBlocks','flatMap','5UjxbUs','UNIT_NOT_FOUND','\x20already\x20exists\x20in\x20the\x20Worktree','8jGKqTN','fromEntries','snapshot','already-exists','not-found','status','getChangesets','changesets','INTERNAL_ERROR','reject','getUnit','Cannot\x20recover\x20Units\x20through\x20a\x20Worktree\x20draft','ADAPTER_FAILURE','max','WorktreeDraftDatabaseAdapterView','from','getSubmission','getDraftSubmission','changeset','5077023bQIIez','388629VMpIaL','_worktree','baselineTrunkRevision','7193136mmBZDG','Worktree\x20draft\x20snapshots\x20are\x20disabled','already-created','getSnapshot','__esModule','find','resources','getWorktreeUnit','getSheetBlock','_getUnitRecord','143nUPNHK','36837KDpaBc','already-committed','trunk','Unit\x20','\x20is\x20not\x20editable','createUnit','unitID','2068770sNLTcW','PERMISSION_DENIED','status-mismatch','Worktree\x20is\x20','getDraftChangesets','recoverUnits','worktree','Worktree\x20or\x20Worktree\x20Unit\x20does\x20not\x20exist','defineProperty','min','not-editable','\x20does\x20not\x20exist','3766796NrNlXr','getResources','revision-mismatch','revision','saveSnapshot','CollabError','type','source','draftHeadRevision','44QgWMPj','_trunk','4320504ZBVGEF'];_0x467d=function(){return _0xbfd9eb;};return _0x467d();}const collaboration_service_1=require('@univerjs-pro/collaboration-service');class WorktreeDraftDatabaseAdapterView{['_worktreeID'];[_0x1923db(0x17c)];[_0x1923db(0x1a1)];constructor(_0x4e2d5c,_0x439135,_0x264db2){const _0x2c8e34=_0x1923db;this[_0x2c8e34(0x17e)]=_0x4e2d5c,this[_0x2c8e34(0x17c)]=_0x439135,this[_0x2c8e34(0x1a1)]=_0x264db2;}async[_0x1923db(0x196)](_0xfd0370,_0x55f0ee){const _0x5a184e=_0x1923db,_0x17a900=await this['_worktree'][_0x5a184e(0x1aa)](_0xfd0370,this['_worktreeID'],_0x55f0ee);return _0x17a900?{'unitID':_0x17a900[_0x5a184e(0x1b4)],'type':_0x17a900['type'],'headRevision':_0x17a900[_0x5a184e(0x17a)]}:null;}async[_0x1923db(0x1a6)](_0x5a9c3d,_0x538e1d,_0x187c6d){const _0x456662=_0x1923db,_0x5587ce=await this['_getUnitRecord'](_0x5a9c3d,_0x538e1d);if(!_0x5587ce)return null;const _0x477347=_0x187c6d?.[_0x456662(0x175)],_0x3cd244=_0x477347===undefined||_0x477347===0x0?_0x5587ce['draftHeadRevision']:Math[_0x456662(0x16f)](_0x477347,_0x5587ce[_0x456662(0x17a)]);if(_0x5587ce['source']==='worktree'){const _0x10a3c4=await this[_0x456662(0x1a1)][_0x456662(0x185)](_0x5a9c3d,this[_0x456662(0x17e)],_0x538e1d);return _0x10a3c4?.[_0x456662(0x18e)]??null;}const _0x5a4dfe=requireTrunkBaseline(_0x5587ce);return this['_trunk'][_0x456662(0x1a6)](_0x5a9c3d,_0x538e1d,{'revision':Math['min'](_0x3cd244,_0x5a4dfe)});}async[_0x1923db(0x192)](_0x112f3f,_0x31a527,_0x1cfc83){const _0x3f5f03=_0x1923db,_0x4314e9=await this[_0x3f5f03(0x1ac)](_0x112f3f,_0x31a527);if(!_0x4314e9)return{'changesets':[],'latestRevision':0x0};const _0x23dfa0=_0x1cfc83['to']===0x0?_0x4314e9[_0x3f5f03(0x17a)]:Math[_0x3f5f03(0x16f)](_0x1cfc83['to'],_0x4314e9['draftHeadRevision']);if(_0x4314e9[_0x3f5f03(0x179)]===_0x3f5f03(0x16c)){const _0x2ffb6b=_0x1cfc83[_0x3f5f03(0x19b)]<_0x23dfa0?await this[_0x3f5f03(0x1a1)][_0x3f5f03(0x16a)](_0x112f3f,this[_0x3f5f03(0x17e)],_0x31a527,{'from':Math['max'](_0x1cfc83[_0x3f5f03(0x19b)],0x1),'to':_0x23dfa0}):{'changesets':[]};return{'changesets':[..._0x2ffb6b['changesets']],'latestRevision':_0x4314e9[_0x3f5f03(0x17a)]};}const _0x43e473=requireTrunkBaseline(_0x4314e9),_0x25dea1=Math['min'](_0x23dfa0,_0x43e473),_0x358455=_0x1cfc83[_0x3f5f03(0x19b)]<_0x25dea1?await this[_0x3f5f03(0x17c)][_0x3f5f03(0x192)](_0x112f3f,_0x31a527,{'from':_0x1cfc83[_0x3f5f03(0x19b)],'to':_0x25dea1}):{'changesets':[]},_0x5a28e3=Math[_0x3f5f03(0x199)](_0x1cfc83['from'],_0x43e473),_0x6c34d4=_0x5a28e3<_0x23dfa0?await this[_0x3f5f03(0x1a1)][_0x3f5f03(0x16a)](_0x112f3f,this[_0x3f5f03(0x17e)],_0x31a527,{'from':_0x5a28e3,'to':_0x23dfa0}):{'changesets':[]};return{'changesets':[..._0x358455[_0x3f5f03(0x193)],..._0x6c34d4[_0x3f5f03(0x193)]],'latestRevision':_0x4314e9[_0x3f5f03(0x17a)]};}[_0x1923db(0x19c)](_0x284151,_0x254e7f,_0x4c1ff9,_0x6bc2f9){const _0x2087ed=_0x1923db;return this[_0x2087ed(0x1a1)][_0x2087ed(0x19d)](_0x284151,this[_0x2087ed(0x17e)],_0x254e7f,_0x4c1ff9,_0x6bc2f9);}async[_0x1923db(0x1b3)](_0x2ad20c,_0x2254dc){const _0x210f3a=_0x1923db,_0x5f415e=await this[_0x210f3a(0x1a1)][_0x210f3a(0x1b3)](_0x2ad20c,{'unit':{'worktreeID':this['_worktreeID'],'unitID':_0x2254dc[_0x210f3a(0x184)][_0x210f3a(0x1b4)],'type':_0x2254dc[_0x210f3a(0x184)][_0x210f3a(0x178)],'source':_0x210f3a(0x16c),'draftHeadRevision':0x1},'seed':{'snapshot':_0x2254dc[_0x210f3a(0x18e)],..._0x2254dc['sheetBlocks']===undefined?{}:{'sheetBlocks':_0x2254dc[_0x210f3a(0x187)]},..._0x2254dc[_0x210f3a(0x1a9)]===undefined?{}:{'resources':_0x2254dc[_0x210f3a(0x1a9)]}}});switch(_0x5f415e[_0x210f3a(0x191)]){case _0x210f3a(0x182):return{'status':_0x210f3a(0x182),'record':_0x2254dc['record']};case _0x210f3a(0x1a5):return{'status':_0x210f3a(0x18f),'record':_0x2254dc[_0x210f3a(0x184)]};case'not-found':throw new collaboration_service_1[(_0x210f3a(0x177))]('UNIT_NOT_FOUND',_0x210f3a(0x181)+this[_0x210f3a(0x17e)]+_0x210f3a(0x171));case'unit-exists':throw new collaboration_service_1[(_0x210f3a(0x177))](_0x210f3a(0x17f),_0x210f3a(0x1b1)+_0x2254dc['record'][_0x210f3a(0x1b4)]+_0x210f3a(0x18b));case _0x210f3a(0x1b7):throw new collaboration_service_1[(_0x210f3a(0x177))]('PERMISSION_DENIED','Worktree\x20'+this['_worktreeID']+_0x210f3a(0x1b2));}}['deleteUnits'](_0x7a90c0,_0x34bfaa){const _0x2352ec=_0x1923db;return Promise[_0x2352ec(0x195)](new collaboration_service_1[(_0x2352ec(0x177))](_0x2352ec(0x17f),'Cannot\x20delete\x20Units\x20through\x20a\x20Worktree\x20draft'));}[_0x1923db(0x16b)](_0x308b9d,_0x215b3e){const _0x593059=_0x1923db;return Promise['reject'](new collaboration_service_1['CollabError'](_0x593059(0x17f),_0x593059(0x197)));}async['commitChangeset'](_0x3308cb,_0x215588){const _0x1d8c1c=_0x1923db,_0x42d245=await this[_0x1d8c1c(0x1a1)]['commitDraftChangeset'](_0x3308cb,{'worktreeID':this[_0x1d8c1c(0x17e)],'expectedHeadRevision':_0x215588[_0x1d8c1c(0x183)],'changeset':_0x215588[_0x1d8c1c(0x19e)]});switch(_0x42d245[_0x1d8c1c(0x191)]){case'committed':case _0x1d8c1c(0x1af):case _0x1d8c1c(0x174):return _0x42d245;case _0x1d8c1c(0x190):throw new collaboration_service_1[(_0x1d8c1c(0x177))](_0x1d8c1c(0x18a),_0x1d8c1c(0x16d));case _0x1d8c1c(0x170):throw new collaboration_service_1[(_0x1d8c1c(0x177))](_0x1d8c1c(0x1b6),_0x1d8c1c(0x1b8)+_0x42d245['worktreeStatus']);case'unit-frozen':throw new collaboration_service_1['CollabError']('PERMISSION_DENIED','Worktree\x20Unit\x20has\x20already\x20been\x20merged');}}[_0x1923db(0x176)](_0x11ccda,_0x4e2dd7){const _0x21a4b8=_0x1923db;return Promise[_0x21a4b8(0x195)](new collaboration_service_1[(_0x21a4b8(0x177))](_0x21a4b8(0x194),_0x21a4b8(0x1a4)));}async['getSheetBlock'](_0x5b767f,_0x2c242d,_0x4f8b58){const _0x387def=_0x1923db,_0x10144f=await this['_getUnitRecord'](_0x5b767f,_0x2c242d);if(!_0x10144f)return null;if(_0x10144f[_0x387def(0x179)]===_0x387def(0x16c)){const _0x45fb62=await this[_0x387def(0x1a1)][_0x387def(0x185)](_0x5b767f,this[_0x387def(0x17e)],_0x2c242d);return _0x45fb62?.['sheetBlocks']?.[_0x387def(0x1a8)](_0x3e716e=>_0x3e716e['id']===_0x4f8b58)??null;}return this['_trunk'][_0x387def(0x1ab)](_0x5b767f,_0x2c242d,_0x4f8b58);}async[_0x1923db(0x173)](_0x49c7a4,_0x5154ed,_0x597f01){const _0xb3fddc=_0x1923db,_0x4b25e9=await this[_0xb3fddc(0x1ac)](_0x49c7a4,_0x5154ed);if(!_0x4b25e9)return{};if(_0x4b25e9[_0xb3fddc(0x179)]==='worktree'){const _0x1f22d0=await this[_0xb3fddc(0x1a1)][_0xb3fddc(0x185)](_0x49c7a4,this[_0xb3fddc(0x17e)],_0x5154ed),_0x433990=_0x1f22d0?.['resources']??{};return Object[_0xb3fddc(0x18d)](_0x597f01[_0xb3fddc(0x188)](_0x33f76e=>_0x433990[_0x33f76e]===undefined?[]:[[_0x33f76e,_0x433990[_0x33f76e]]]));}return this[_0xb3fddc(0x17c)][_0xb3fddc(0x173)](_0x49c7a4,_0x5154ed,_0x597f01);}['_getUnitRecord'](_0x37b770,_0x16e33c){const _0x148263=_0x1923db;return this[_0x148263(0x1a1)][_0x148263(0x1aa)](_0x37b770,this['_worktreeID'],_0x16e33c);}}exports[_0x1923db(0x19a)]=WorktreeDraftDatabaseAdapterView;function _0x33a1(_0x26d867,_0x3da713){_0x26d867=_0x26d867-0x16a;const _0x467da0=_0x467d();let _0x33a1aa=_0x467da0[_0x26d867];return _0x33a1aa;}function requireTrunkBaseline(_0x121c95){const _0x4aac01=_0x1923db;if(_0x121c95['source']!==_0x4aac01(0x1b0)||!Number[_0x4aac01(0x180)](_0x121c95[_0x4aac01(0x1a2)])||_0x121c95[_0x4aac01(0x1a2)]<0x1)throw new collaboration_service_1[(_0x4aac01(0x177))](_0x4aac01(0x198),_0x4aac01(0x186));return _0x121c95['baselineTrunkRevision'];}
@@ -0,0 +1,12 @@
1
+ import type { JsonObject } from "@univerjs-pro/collaboration-service";
2
+ export type WorktreeErrorCode = "WORKTREE_NOT_FOUND" | "WORKTREE_ALREADY_EXISTS" | "WORKTREE_UNIT_NOT_FOUND" | "WORKTREE_NOT_EDITABLE" | "WORKTREE_STATUS_MISMATCH" | "WORKTREE_UNIT_FROZEN" | "WORKTREE_STALE_MERGE";
3
+ export declare class WorktreeError extends Error {
4
+ readonly code: WorktreeErrorCode;
5
+ readonly retryable: boolean;
6
+ readonly details?: Readonly<JsonObject>;
7
+ constructor(code: WorktreeErrorCode, message: string, options?: {
8
+ readonly retryable?: boolean;
9
+ readonly details?: Readonly<JsonObject>;
10
+ readonly cause?: unknown;
11
+ });
12
+ }
@@ -0,0 +1 @@
1
+ 'use strict';var _0x2ac579=_0x40dc;(function(_0x4ad496,_0x22742b){var _0x15ae1c=_0x40dc,_0x4262d3=_0x4ad496();while(!![]){try{var _0x1f04fc=-parseInt(_0x15ae1c(0x204))/0x1+-parseInt(_0x15ae1c(0x1f8))/0x2+parseInt(_0x15ae1c(0x1f6))/0x3*(-parseInt(_0x15ae1c(0x1fb))/0x4)+parseInt(_0x15ae1c(0x1f3))/0x5+-parseInt(_0x15ae1c(0x1ff))/0x6*(parseInt(_0x15ae1c(0x1fd))/0x7)+-parseInt(_0x15ae1c(0x203))/0x8*(parseInt(_0x15ae1c(0x1fc))/0x9)+parseInt(_0x15ae1c(0x202))/0xa;if(_0x1f04fc===_0x22742b)break;else _0x4262d3['push'](_0x4262d3['shift']());}catch(_0x1ee4b6){_0x4262d3['push'](_0x4262d3['shift']());}}}(_0x2f66,0x84252));function _0x2f66(){var _0x200ba9=['2151122ziMqal','code','cause','4RdhlRH','55998nPOmUM','245zODZmj','name','150636KoHLZe','__esModule','details','21460710ZbDWML','248ultCVb','356941NxOxBx','5282035PSNZDE','WorktreeError','retryable','471354VdzYQO','defineProperty'];_0x2f66=function(){return _0x200ba9;};return _0x2f66();}function _0x40dc(_0x4aacda,_0x37933c){_0x4aacda=_0x4aacda-0x1f3;var _0x2f66fb=_0x2f66();var _0x40dcdf=_0x2f66fb[_0x4aacda];return _0x40dcdf;}Object[_0x2ac579(0x1f7)](exports,_0x2ac579(0x200),{'value':!![]}),exports[_0x2ac579(0x1f4)]=void 0x0;class WorktreeError extends Error{[_0x2ac579(0x1f9)];[_0x2ac579(0x1f5)];[_0x2ac579(0x201)];constructor(_0xde29a9,_0x27eabb,_0x800da={}){var _0x13a8bd=_0x2ac579;super(_0x27eabb,{'cause':_0x800da[_0x13a8bd(0x1fa)]}),this[_0x13a8bd(0x1fe)]=_0x13a8bd(0x1f4),this[_0x13a8bd(0x1f9)]=_0xde29a9,this[_0x13a8bd(0x1f5)]=_0x800da[_0x13a8bd(0x1f5)]??![],_0x800da[_0x13a8bd(0x201)]!==undefined&&(this[_0x13a8bd(0x201)]=_0x800da[_0x13a8bd(0x201)]);}}exports[_0x2ac579(0x1f4)]=WorktreeError;
@@ -0,0 +1,10 @@
1
+ export type { AddWorktreeUnitDatabaseInput, AddWorktreeUnitDatabaseResult, CommitWorktreeChangesetInput, CommitWorktreeChangesetResult, CreateWorktreeDatabaseInput, CreateWorktreeDatabaseResult, CreateWorktreeUnitDatabaseInput, CreateWorktreeUnitDatabaseResult, IWorktreeDatabaseAdapter, RecordUnitMergeResultInput, RecordUnitMergeResultResult, SaveWorktreeUnitMergeArtifactInput, SaveWorktreeUnitMergeArtifactResult, StartMergeResult, WorktreeRevisionRange, WorktreeTransitionResult, WorktreeUnitSeed, WorktreeUnitMergeArtifact, } from "./database/adapter.js";
2
+ export { WorktreeError } from "./errors/worktree-error.js";
3
+ export type { WorktreeErrorCode } from "./errors/worktree-error.js";
4
+ export type { AddWorktreeUnitMiddlewareContext, ApplyWorktreeChangesetMiddlewareContext, BaseWorktreeMiddlewareContext, CommitWorktreeChangesetMiddlewareContext, CreateWorktreeMiddlewareContext, CreateWorktreeUnitMiddlewareContext, DiscardWorktreeMiddlewareContext, MarkWorktreeReadyMiddlewareContext, MergeWorktreeMiddlewareContext, ReadWorktreeDataMiddlewareContext, ReadWorktreeUnitDataMiddlewareContext, ReopenWorktreeMiddlewareContext, SubmitWorktreeChangesetMiddlewareContext, WorktreeMiddleware, WorktreeMiddlewareAction, WorktreeMiddlewareMap, WorktreeMiddlewareNext, } from "./middleware/middleware.js";
5
+ export type { WorktreeAggregateRecord, WorktreeData, WorktreeMergeError, WorktreeRecord, WorktreeStatus, WorktreeUnitData, WorktreeUnitMergeResult, WorktreeUnitRecord, WorktreeUnitSource, } from "./model/types.js";
6
+ export type { AddWorktreeUnitRequest, BaseWorktreeRequest, CreateWorktreeRequest, CreateWorktreeUnitRequest, DiscardWorktreeRequest, EvaluateWorktreeUnitMergeRequest, GetWorktreeChangesetsRequest, GetWorktreeRequest, GetWorktreeResourcesRequest, GetWorktreeSheetBlockRequest, GetWorktreeUnitRequest, MarkWorktreeReadyRequest, MergeWorktreeRequest, ReadWorktreeUnitDataRequest, ReopenWorktreeRequest, SubmitWorktreeChangesetRequest, } from "./request/request.js";
7
+ export type { WorktreeChangesetCommittedEvent, WorktreeCreatedEvent, WorktreeServiceEventMap, WorktreeStatusChangedEvent, WorktreeUnitAddedEvent, WorktreeUnitCreatedEvent, WorktreeUnitMergeResultRecordedEvent, } from "./service/events.js";
8
+ export type { IUniverCollabWorktreeService, UniverCollabWorktreeServiceOptions, } from "./service/service.js";
9
+ export { UniverCollabWorktreeService } from "./service/service.js";
10
+ export type { AddWorktreeUnitInput, CreateWorktreeInput, CreateWorktreeUnitFromDataInput, CreateWorktreeUnitInput, DiscardWorktreeInput, EvaluateWorktreeUnitMergeInput, GetWorktreeChangesetsInput, GetWorktreeChangesetsResult, GetWorktreeInput, GetWorktreeResourcesInput, GetWorktreeResourcesResult, GetWorktreeSheetBlockInput, GetWorktreeSheetBlockResult, GetWorktreeUnitInput, GetWorktreeUnitResult, MarkWorktreeReadyInput, MergeWorktreeInput, ReopenWorktreeInput, SubmitWorktreeChangesetInput, SubmitWorktreeChangesetResult, WorktreeUnitMergeEvaluation, WorktreeResult, } from "./session/operations.js";
package/dist/index.js ADDED
@@ -0,0 +1 @@
1
+ 'use strict';Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['UniverCollabWorktreeService']=exports['WorktreeError']=void 0x0;var worktree_error_js_1=require('./errors/worktree-error.js');Object['defineProperty'](exports,'WorktreeError',{'enumerable':!![],'get':function(){return worktree_error_js_1['WorktreeError'];}});var service_js_1=require('./service/service.js');Object['defineProperty'](exports,'UniverCollabWorktreeService',{'enumerable':!![],'get':function(){return service_js_1['UniverCollabWorktreeService'];}});
@@ -0,0 +1,14 @@
1
+ import { type DatabaseContext, type IDatabaseAdapter, type SaveSnapshotInput } from "@univerjs-pro/collaboration-service";
2
+ import type { UniverType } from "@univerjs/protocol";
3
+ export interface CaptureWorktreeUnitHeadSnapshotInput {
4
+ readonly context: DatabaseContext;
5
+ readonly dbAdapter: IDatabaseAdapter;
6
+ readonly unitID: string;
7
+ readonly type: UniverType;
8
+ readonly expectedRevision: number;
9
+ readonly runtime?: {
10
+ readonly maxLoadedUnits?: number;
11
+ readonly idleTimeoutMs?: number;
12
+ };
13
+ }
14
+ export declare function captureWorktreeUnitHeadSnapshot(input: CaptureWorktreeUnitHeadSnapshotInput): Promise<SaveSnapshotInput>;
@@ -0,0 +1 @@
1
+ 'use strict';const _0x2aca4d=_0x335e;(function(_0x5c3580,_0x275a88){const _0x10593a=_0x335e,_0x4989ee=_0x5c3580();while(!![]){try{const _0x14032f=parseInt(_0x10593a(0xc3))/0x1+-parseInt(_0x10593a(0xc8))/0x2*(-parseInt(_0x10593a(0xaf))/0x3)+parseInt(_0x10593a(0xc0))/0x4*(-parseInt(_0x10593a(0xb3))/0x5)+parseInt(_0x10593a(0xbf))/0x6+parseInt(_0x10593a(0xc1))/0x7*(parseInt(_0x10593a(0xbe))/0x8)+-parseInt(_0x10593a(0xb4))/0x9+-parseInt(_0x10593a(0xc2))/0xa;if(_0x14032f===_0x275a88)break;else _0x4989ee['push'](_0x4989ee['shift']());}catch(_0x3558ca){_0x4989ee['push'](_0x4989ee['shift']());}}}(_0x1f4b,0xd5e1b));Object[_0x2aca4d(0xc6)](exports,_0x2aca4d(0xc4),{'value':!![]}),exports[_0x2aca4d(0xc5)]=captureWorktreeUnitHeadSnapshot;const collaboration_service_1=require('@univerjs-pro/collaboration-service');async function captureWorktreeUnitHeadSnapshot(_0x3ca0bf){const _0x52278d=_0x2aca4d,_0x249e20=new collaboration_service_1[(_0x52278d(0xb8))]({'dbAdapter':_0x3ca0bf['dbAdapter'],..._0x3ca0bf[_0x52278d(0xb1)]?.['maxLoadedUnits']===undefined?{}:{'maxLoadedUnits':_0x3ca0bf[_0x52278d(0xb1)][_0x52278d(0xb7)]},..._0x3ca0bf[_0x52278d(0xb1)]?.[_0x52278d(0xb0)]===undefined?{}:{'idleTimeoutMs':_0x3ca0bf['runtime'][_0x52278d(0xb0)]}});try{const _0x3d4c73=await _0x249e20[_0x52278d(0xb6)](_0x3ca0bf[_0x52278d(0xc7)],_0x3ca0bf['unitID'],_0x3ca0bf[_0x52278d(0xbd)]);try{if(_0x3d4c73[_0x52278d(0xbc)]!==_0x3ca0bf[_0x52278d(0xba)])throw adapterFailure('Unit\x20Runtime\x20did\x20not\x20reach\x20the\x20frozen\x20Worktree\x20revision');const _0x427b86=await _0x249e20[_0x52278d(0xbb)](_0x3d4c73);if(_0x427b86[_0x52278d(0xca)][_0x52278d(0xae)]!==_0x3ca0bf[_0x52278d(0xae)]||_0x427b86[_0x52278d(0xca)][_0x52278d(0xbd)]!==_0x3ca0bf[_0x52278d(0xbd)]||_0x427b86['snapshot'][_0x52278d(0xc9)]!==_0x3ca0bf[_0x52278d(0xba)])throw adapterFailure(_0x52278d(0xb2));return _0x427b86;}finally{_0x249e20['releaseUnit'](_0x3d4c73);}}finally{await _0x249e20[_0x52278d(0xb5)]();}}function _0x335e(_0x4bc23b,_0x38ca4a){_0x4bc23b=_0x4bc23b-0xae;const _0x1f4bb0=_0x1f4b();let _0x335eb8=_0x1f4bb0[_0x4bc23b];return _0x335eb8;}function adapterFailure(_0x4b9041){const _0x333bb3=_0x2aca4d;return new collaboration_service_1['CollabError'](_0x333bb3(0xb9),_0x4b9041,{'retryable':!![]});}function _0x1f4b(){const _0x8c2b50=['10772195hlllyJ','18774340YXRBzv','956554ytrMod','__esModule','captureWorktreeUnitHeadSnapshot','defineProperty','context','68898rhycUm','rev','snapshot','unitID','39FXWIxJ','idleTimeoutMs','runtime','Unit\x20Runtime\x20returned\x20an\x20invalid\x20Worktree\x20snapshot','85SyZeLo','8517753BWMEoF','dispose','ensureUnit','maxLoadedUnits','UniverUnitRuntime','ADAPTER_FAILURE','expectedRevision','createSnapshot','revision','type','8jbBLvQ','7631526TCLxIq','121244wWiEDn'];_0x1f4b=function(){return _0x8c2b50;};return _0x1f4b();}
@@ -0,0 +1,17 @@
1
+ import { type CollabSession, type DatabaseContext, type IDatabaseAdapter, type SaveSnapshotInput } from "@univerjs-pro/collaboration-service";
2
+ import type { IChangeset, UniverType } from "@univerjs/protocol";
3
+ export interface CaptureWorktreeUnitMergePreviewInput {
4
+ readonly context: DatabaseContext;
5
+ readonly dbAdapter: IDatabaseAdapter;
6
+ readonly unitID: string;
7
+ readonly type: UniverType;
8
+ readonly trunkHeadRevision: number;
9
+ readonly original: IChangeset;
10
+ readonly trunkHistory: readonly IChangeset[];
11
+ readonly session: CollabSession;
12
+ readonly runtime?: {
13
+ readonly maxLoadedUnits?: number;
14
+ readonly idleTimeoutMs?: number;
15
+ };
16
+ }
17
+ export declare function captureWorktreeUnitMergePreview(input: CaptureWorktreeUnitMergePreviewInput): Promise<SaveSnapshotInput>;
@@ -0,0 +1 @@
1
+ 'use strict';const _0x8d6d0a=_0x5790;(function(_0xe47e99,_0x2e4d0f){const _0x38aa1c=_0x5790,_0x16bc5d=_0xe47e99();while(!![]){try{const _0x279623=-parseInt(_0x38aa1c(0x146))/0x1*(-parseInt(_0x38aa1c(0x147))/0x2)+parseInt(_0x38aa1c(0x168))/0x3*(parseInt(_0x38aa1c(0x153))/0x4)+-parseInt(_0x38aa1c(0x152))/0x5*(-parseInt(_0x38aa1c(0x15e))/0x6)+parseInt(_0x38aa1c(0x141))/0x7+parseInt(_0x38aa1c(0x159))/0x8*(-parseInt(_0x38aa1c(0x154))/0x9)+-parseInt(_0x38aa1c(0x14d))/0xa+-parseInt(_0x38aa1c(0x15f))/0xb;if(_0x279623===_0x2e4d0f)break;else _0x16bc5d['push'](_0x16bc5d['shift']());}catch(_0x3fb19f){_0x16bc5d['push'](_0x16bc5d['shift']());}}}(_0x495e,0xa73fa));Object[_0x8d6d0a(0x162)](exports,_0x8d6d0a(0x15b),{'value':!![]}),exports[_0x8d6d0a(0x143)]=captureWorktreeUnitMergePreview;function _0x495e(){const _0x10e910=['dispose','6393pPmFTS','parseClient','idleTimeoutMs','reqId','5650750byPjAs','userId','captureWorktreeUnitMergePreview','UniverUnitRuntime','INTERNAL_ERROR','17GcwjBZ','135314BppOOx','unitID','Trunk\x20changed\x20while\x20materializing\x20Worktree\x20merge\x20preview','sid','releaseUnit','applyChangeset','8432610dlhJoU','type','Preview\x20Runtime\x20did\x20not\x20reach\x20the\x20merge\x20candidate\x20revision','runtime','trunkHeadRevision','15CUiYrD','836mudcKt','9sODyOg','CollabError','context','baseRev','changesetTransformer','7415976pMTBwV','createSnapshot','__esModule','revision','memberId','1564182NjuSnu','8025391jmxuLO','transform','original','defineProperty','session','ensureUnit','dbAdapter','maxLoadedUnits'];_0x495e=function(){return _0x10e910;};return _0x495e();}const collaboration_service_1=require('@univerjs-pro/collaboration-service');async function captureWorktreeUnitMergePreview(_0x150494){const _0x320fc5=_0x8d6d0a,_0x3e2ba3=new collaboration_service_1[(_0x320fc5(0x144))]({'dbAdapter':_0x150494[_0x320fc5(0x165)],..._0x150494[_0x320fc5(0x150)]?.[_0x320fc5(0x166)]===undefined?{}:{'maxLoadedUnits':_0x150494[_0x320fc5(0x150)][_0x320fc5(0x166)]},..._0x150494['runtime']?.[_0x320fc5(0x16a)]===undefined?{}:{'idleTimeoutMs':_0x150494['runtime']['idleTimeoutMs']}});try{const _0x40e688=prepareMergePreviewCandidate(_0x3e2ba3,_0x150494),_0x508583=await _0x3e2ba3[_0x320fc5(0x164)](_0x150494[_0x320fc5(0x156)],_0x150494[_0x320fc5(0x148)],_0x150494[_0x320fc5(0x14e)]);try{if(_0x508583[_0x320fc5(0x15c)]!==_0x150494[_0x320fc5(0x151)])throw new collaboration_service_1[(_0x320fc5(0x155))]('REVISION_MISMATCH',_0x320fc5(0x149),{'retryable':!![]});await _0x3e2ba3[_0x320fc5(0x14c)](_0x150494[_0x320fc5(0x156)],_0x508583,_0x40e688);if(_0x508583['revision']!==_0x40e688['revision'])throw new collaboration_service_1[(_0x320fc5(0x155))](_0x320fc5(0x145),_0x320fc5(0x14f),{'retryable':!![]});return await _0x3e2ba3[_0x320fc5(0x15a)](_0x508583);}finally{_0x3e2ba3[_0x320fc5(0x14b)](_0x508583);}}finally{await _0x3e2ba3[_0x320fc5(0x167)]();}}function _0x5790(_0x38c24e,_0x42d90a){_0x38c24e=_0x38c24e-0x141;const _0x495ee5=_0x495e();let _0x57908b=_0x495ee5[_0x38c24e];return _0x57908b;}function prepareMergePreviewCandidate(_0x5f465b,_0x5f580d){const _0x460b9e=_0x8d6d0a,_0xc97fff={...structuredClone(_0x5f580d['original']),'userID':_0x5f580d[_0x460b9e(0x163)][_0x460b9e(0x142)],'memberID':_0x5f580d[_0x460b9e(0x163)]['memberId'],'revision':_0x5f580d[_0x460b9e(0x161)][_0x460b9e(0x157)]+0x1},_0x2552ba=_0x5f465b[_0x460b9e(0x158)][_0x460b9e(0x169)](_0xc97fff),_0x25a857=_0x5f465b[_0x460b9e(0x158)][_0x460b9e(0x160)](_0x2552ba,_0x5f580d['trunkHistory']);return{..._0x25a857,'unitID':_0x5f580d[_0x460b9e(0x161)]['unitID'],'type':_0x5f580d[_0x460b9e(0x161)][_0x460b9e(0x14e)],'baseRev':_0x5f580d['trunkHeadRevision'],'revision':_0x5f580d[_0x460b9e(0x151)]+0x1,'userID':_0x5f580d[_0x460b9e(0x163)][_0x460b9e(0x142)],'memberID':_0x5f580d[_0x460b9e(0x163)][_0x460b9e(0x15d)],'sid':_0x5f580d[_0x460b9e(0x161)][_0x460b9e(0x14a)],'reqId':_0x5f580d[_0x460b9e(0x161)][_0x460b9e(0x16b)]};}
@@ -0,0 +1,7 @@
1
+ import type { Disposable, Middleware } from "@univerjs-pro/collaboration-service";
2
+ export declare class MiddlewareRegistry<TAction extends PropertyKey> {
3
+ private readonly _middlewares;
4
+ use<TContext>(action: TAction, middleware: Middleware<TContext>): Disposable;
5
+ run<TContext>(action: TAction, context: TContext, terminal: () => void | Promise<void>): Promise<void>;
6
+ clear(): void;
7
+ }
@@ -0,0 +1 @@
1
+ 'use strict';const _0x36572f=_0x35f3;(function(_0x238f48,_0x49b03f){const _0x35aca5=_0x35f3,_0x416907=_0x238f48();while(!![]){try{const _0x38287a=parseInt(_0x35aca5(0x1fa))/0x1+-parseInt(_0x35aca5(0x201))/0x2+-parseInt(_0x35aca5(0x1fc))/0x3*(-parseInt(_0x35aca5(0x1ff))/0x4)+parseInt(_0x35aca5(0x1f5))/0x5*(parseInt(_0x35aca5(0x1f9))/0x6)+-parseInt(_0x35aca5(0x1f8))/0x7+parseInt(_0x35aca5(0x1fe))/0x8+-parseInt(_0x35aca5(0x205))/0x9;if(_0x38287a===_0x49b03f)break;else _0x416907['push'](_0x416907['shift']());}catch(_0x1189bf){_0x416907['push'](_0x416907['shift']());}}}(_0x1924,0xce114));function _0x35f3(_0x49ffa1,_0x5c03f0){_0x49ffa1=_0x49ffa1-0x1f3;const _0x1924aa=_0x1924();let _0x35f359=_0x1924aa[_0x49ffa1];return _0x35f359;}function _0x1924(){const _0x3b2d58=['18935sdeAXJ','set','__esModule','4072327besehf','2118urtRMq','228360btDoSh','_middlewares','4236eFqcyG','splice','8142240uMNupJ','608Dwoolg','defineProperty','1487180MZSlIP','use','indexOf','\x20called\x20next()\x20more\x20than\x20once','5653548flenLG','Middleware\x20for\x20action\x20','clear','push','MiddlewareRegistry'];_0x1924=function(){return _0x3b2d58;};return _0x1924();}Object[_0x36572f(0x200)](exports,_0x36572f(0x1f7),{'value':!![]}),exports['MiddlewareRegistry']=void 0x0;class MiddlewareRegistry{[_0x36572f(0x1fb)]=new Map();[_0x36572f(0x202)](_0x4035a6,_0x1c32e8){const _0x442528=_0x36572f,_0x44392c=this[_0x442528(0x1fb)]['get'](_0x4035a6)??[],_0x2f53d4=_0x1c32e8;_0x44392c[_0x442528(0x1f3)](_0x2f53d4),this[_0x442528(0x1fb)][_0x442528(0x1f6)](_0x4035a6,_0x44392c);let _0x32c607=![];return{'dispose':()=>{const _0x4618c5=_0x442528;if(_0x32c607)return;_0x32c607=!![];const _0x5631ce=_0x44392c[_0x4618c5(0x203)](_0x2f53d4);if(_0x5631ce>=0x0)_0x44392c[_0x4618c5(0x1fd)](_0x5631ce,0x1);}};}async['run'](_0x3429bf,_0x565ab7,_0x4735bb){const _0x5dba7d=[...this['_middlewares']['get'](_0x3429bf)??[]],_0x29cf7c=async _0x9da145=>{const _0xf13370=_0x35f3,_0xe11edd=_0x5dba7d[_0x9da145];if(!_0xe11edd){await _0x4735bb();return;}let _0x4ccb26=![],_0x3a7b59;const _0x84ef2c=()=>{const _0x3ed43e=_0x35f3;if(_0x4ccb26)throw new Error(_0x3ed43e(0x206)+String(_0x3429bf)+_0x3ed43e(0x204));return _0x4ccb26=!![],_0x3a7b59=_0x29cf7c(_0x9da145+0x1),_0x3a7b59;};try{await _0xe11edd(_0x565ab7,_0x84ef2c);}catch(_0xa28256){if(_0x3a7b59)try{await _0x3a7b59;}catch{}throw _0xa28256;}if(!_0x4ccb26)throw new Error(_0xf13370(0x206)+String(_0x3429bf)+'\x20completed\x20without\x20calling\x20next()');await _0x3a7b59;};await _0x29cf7c(0x0);}['clear'](){const _0x36c1d6=_0x36572f;this['_middlewares'][_0x36c1d6(0x207)]();}}exports[_0x36572f(0x1f4)]=MiddlewareRegistry;
@@ -0,0 +1,65 @@
1
+ import type { CollabSession, Middleware, MiddlewareNext } from "@univerjs-pro/collaboration-service";
2
+ import type { IChangeset } from "@univerjs/protocol";
3
+ import type { AddWorktreeUnitRequest, CreateWorktreeRequest, CreateWorktreeUnitRequest, DiscardWorktreeRequest, GetWorktreeRequest, MarkWorktreeReadyRequest, MergeWorktreeRequest, ReadWorktreeUnitDataRequest, ReopenWorktreeRequest, SubmitWorktreeChangesetRequest } from "../request/request.js";
4
+ export type WorktreeMiddlewareAction = "readWorktreeData" | "createWorktree" | "addWorktreeUnit" | "createWorktreeUnit" | "markWorktreeReady" | "reopenWorktree" | "discardWorktree" | "mergeWorktree" | "readUnitData" | "submitChangeset" | "applyChangeset" | "commitChangeset";
5
+ export type WorktreeMiddlewareNext = MiddlewareNext;
6
+ export type WorktreeMiddleware<TContext> = Middleware<TContext>;
7
+ export interface BaseWorktreeMiddlewareContext {
8
+ readonly session: CollabSession;
9
+ }
10
+ export interface ReadWorktreeDataMiddlewareContext extends BaseWorktreeMiddlewareContext {
11
+ readonly request: GetWorktreeRequest;
12
+ }
13
+ export interface CreateWorktreeMiddlewareContext extends BaseWorktreeMiddlewareContext {
14
+ readonly request: CreateWorktreeRequest;
15
+ }
16
+ export interface AddWorktreeUnitMiddlewareContext extends BaseWorktreeMiddlewareContext {
17
+ readonly request: AddWorktreeUnitRequest;
18
+ }
19
+ export interface CreateWorktreeUnitMiddlewareContext extends BaseWorktreeMiddlewareContext {
20
+ readonly request: CreateWorktreeUnitRequest;
21
+ }
22
+ export interface MarkWorktreeReadyMiddlewareContext extends BaseWorktreeMiddlewareContext {
23
+ readonly request: MarkWorktreeReadyRequest;
24
+ }
25
+ export interface ReopenWorktreeMiddlewareContext extends BaseWorktreeMiddlewareContext {
26
+ readonly request: ReopenWorktreeRequest;
27
+ }
28
+ export interface DiscardWorktreeMiddlewareContext extends BaseWorktreeMiddlewareContext {
29
+ readonly request: DiscardWorktreeRequest;
30
+ }
31
+ export interface MergeWorktreeMiddlewareContext extends BaseWorktreeMiddlewareContext {
32
+ readonly request: MergeWorktreeRequest;
33
+ }
34
+ export interface ReadWorktreeUnitDataMiddlewareContext extends BaseWorktreeMiddlewareContext {
35
+ readonly request: ReadWorktreeUnitDataRequest;
36
+ }
37
+ export interface SubmitWorktreeChangesetMiddlewareContext extends BaseWorktreeMiddlewareContext {
38
+ readonly request: SubmitWorktreeChangesetRequest;
39
+ }
40
+ export interface ApplyWorktreeChangesetMiddlewareContext extends BaseWorktreeMiddlewareContext {
41
+ readonly request: SubmitWorktreeChangesetRequest;
42
+ readonly attempt: number;
43
+ readonly currentRevision: number;
44
+ readonly changeset: Readonly<IChangeset>;
45
+ }
46
+ export interface CommitWorktreeChangesetMiddlewareContext extends BaseWorktreeMiddlewareContext {
47
+ readonly request: SubmitWorktreeChangesetRequest;
48
+ readonly attempt: number;
49
+ readonly expectedHeadRevision: number;
50
+ readonly changeset: Readonly<IChangeset>;
51
+ }
52
+ export interface WorktreeMiddlewareMap {
53
+ readonly readWorktreeData: Middleware<ReadWorktreeDataMiddlewareContext>;
54
+ readonly createWorktree: Middleware<CreateWorktreeMiddlewareContext>;
55
+ readonly addWorktreeUnit: Middleware<AddWorktreeUnitMiddlewareContext>;
56
+ readonly createWorktreeUnit: Middleware<CreateWorktreeUnitMiddlewareContext>;
57
+ readonly markWorktreeReady: Middleware<MarkWorktreeReadyMiddlewareContext>;
58
+ readonly reopenWorktree: Middleware<ReopenWorktreeMiddlewareContext>;
59
+ readonly discardWorktree: Middleware<DiscardWorktreeMiddlewareContext>;
60
+ readonly mergeWorktree: Middleware<MergeWorktreeMiddlewareContext>;
61
+ readonly readUnitData: Middleware<ReadWorktreeUnitDataMiddlewareContext>;
62
+ readonly submitChangeset: Middleware<SubmitWorktreeChangesetMiddlewareContext>;
63
+ readonly applyChangeset: Middleware<ApplyWorktreeChangesetMiddlewareContext>;
64
+ readonly commitChangeset: Middleware<CommitWorktreeChangesetMiddlewareContext>;
65
+ }
@@ -0,0 +1 @@
1
+ 'use strict';var _0x2429df=_0x5515;function _0x5515(_0x4a4fe7,_0x179fd3){_0x4a4fe7=_0x4a4fe7-0x104;var _0x55293f=_0x5529();var _0x551581=_0x55293f[_0x4a4fe7];return _0x551581;}(function(_0x4a2404,_0x2426d4){var _0x70adee=_0x5515,_0x389881=_0x4a2404();while(!![]){try{var _0x34a262=-parseInt(_0x70adee(0x10b))/0x1+parseInt(_0x70adee(0x106))/0x2+parseInt(_0x70adee(0x105))/0x3+parseInt(_0x70adee(0x104))/0x4+parseInt(_0x70adee(0x10c))/0x5*(parseInt(_0x70adee(0x107))/0x6)+-parseInt(_0x70adee(0x10a))/0x7*(-parseInt(_0x70adee(0x10d))/0x8)+-parseInt(_0x70adee(0x109))/0x9;if(_0x34a262===_0x2426d4)break;else _0x389881['push'](_0x389881['shift']());}catch(_0x275771){_0x389881['push'](_0x389881['shift']());}}}(_0x5529,0x2400d));Object[_0x2429df(0x108)](exports,'__esModule',{'value':!![]});function _0x5529(){var _0x318239=['7EImwMT','177089PGdvfY','233605JqZzOF','222856wTdSRF','152012SZjbWN','124791nWugKU','382824uxAEov','24gocjnc','defineProperty','1450755nJRldt'];_0x5529=function(){return _0x318239;};return _0x5529();}
@@ -0,0 +1,53 @@
1
+ import type { UniverType } from "@univerjs/protocol";
2
+ export type WorktreeStatus = "draft" | "ready" | "merging" | "merged" | "discarded";
3
+ export type WorktreeUnitSource = "trunk" | "worktree";
4
+ export interface WorktreeMergeError {
5
+ readonly code: string;
6
+ readonly message: string;
7
+ readonly retryable: boolean;
8
+ }
9
+ export type WorktreeUnitMergeResult = {
10
+ readonly status: "merged";
11
+ readonly trunkRevision: number;
12
+ } | {
13
+ readonly status: "unchanged";
14
+ } | {
15
+ readonly status: "conflict";
16
+ readonly error: WorktreeMergeError;
17
+ } | {
18
+ readonly status: "failed";
19
+ readonly error: WorktreeMergeError;
20
+ };
21
+ export interface WorktreeRecord {
22
+ readonly worktreeID: string;
23
+ readonly sid: string;
24
+ readonly status: WorktreeStatus;
25
+ }
26
+ export interface WorktreeUnitRecord {
27
+ readonly worktreeID: string;
28
+ readonly unitID: string;
29
+ readonly type: UniverType;
30
+ readonly source: WorktreeUnitSource;
31
+ readonly baselineTrunkRevision?: number;
32
+ readonly draftHeadRevision: number;
33
+ readonly readyDraftHeadRevision?: number;
34
+ readonly mergeResult?: WorktreeUnitMergeResult;
35
+ }
36
+ export interface WorktreeAggregateRecord {
37
+ readonly worktree: WorktreeRecord;
38
+ readonly units: readonly WorktreeUnitRecord[];
39
+ }
40
+ export interface WorktreeData {
41
+ readonly worktreeID: string;
42
+ readonly status: WorktreeStatus;
43
+ readonly units: readonly WorktreeUnitData[];
44
+ }
45
+ export interface WorktreeUnitData {
46
+ readonly unitID: string;
47
+ readonly type: UniverType;
48
+ readonly source: WorktreeUnitSource;
49
+ readonly baselineTrunkRevision?: number;
50
+ readonly draftHeadRevision: number;
51
+ readonly readyDraftHeadRevision?: number;
52
+ readonly mergeResult?: WorktreeUnitMergeResult;
53
+ }
@@ -0,0 +1 @@
1
+ 'use strict';var _0x36671c=_0x2a79;(function(_0x22dbcd,_0x51a1e7){var _0x4c6f58=_0x2a79,_0x209534=_0x22dbcd();while(!![]){try{var _0x4aa181=parseInt(_0x4c6f58(0xa7))/0x1*(parseInt(_0x4c6f58(0x9e))/0x2)+-parseInt(_0x4c6f58(0xa8))/0x3*(parseInt(_0x4c6f58(0x9f))/0x4)+-parseInt(_0x4c6f58(0x9d))/0x5*(parseInt(_0x4c6f58(0xa1))/0x6)+-parseInt(_0x4c6f58(0xa2))/0x7+-parseInt(_0x4c6f58(0xa4))/0x8*(parseInt(_0x4c6f58(0xa0))/0x9)+-parseInt(_0x4c6f58(0xaa))/0xa*(-parseInt(_0x4c6f58(0xa3))/0xb)+parseInt(_0x4c6f58(0xa9))/0xc*(parseInt(_0x4c6f58(0xa6))/0xd);if(_0x4aa181===_0x51a1e7)break;else _0x209534['push'](_0x209534['shift']());}catch(_0x1fbb71){_0x209534['push'](_0x209534['shift']());}}}(_0x4967,0x588c8));function _0x2a79(_0x3fead7,_0x3b864f){_0x3fead7=_0x3fead7-0x9d;var _0x49678c=_0x4967();var _0x2a791a=_0x49678c[_0x3fead7];return _0x2a791a;}function _0x4967(){var _0x1c3b29=['12bjPqPF','2695980DepcUP','139502dCjooh','8rvNjet','defineProperty','26aPaKnr','21906IZYMqQ','93459cIjPiL','7413936ZMcqfl','290FOJnUi','1693805PsUiQN','2NsDshi','4IGAUdv','1519461fprDhT'];_0x4967=function(){return _0x1c3b29;};return _0x4967();}Object[_0x36671c(0xa5)](exports,'__esModule',{'value':!![]});
@@ -0,0 +1,11 @@
1
+ import type { CollabCallOptions } from "@univerjs-pro/collaboration-service";
2
+ import type { AddWorktreeUnitRequest, CreateWorktreeRequest, DiscardWorktreeRequest, EvaluateWorktreeUnitMergeRequest, GetWorktreeRequest, MarkWorktreeReadyRequest, MergeWorktreeRequest, ReopenWorktreeRequest } from "./request.js";
3
+ import type { AddWorktreeUnitInput, CreateWorktreeInput, DiscardWorktreeInput, EvaluateWorktreeUnitMergeInput, GetWorktreeInput, MarkWorktreeReadyInput, MergeWorktreeInput, ReopenWorktreeInput } from "../session/operations.js";
4
+ export declare function createCreateWorktreeRequest(input: CreateWorktreeInput, options: CollabCallOptions): CreateWorktreeRequest;
5
+ export declare function createGetWorktreeRequest(input: GetWorktreeInput, options: CollabCallOptions): GetWorktreeRequest;
6
+ export declare function createAddWorktreeUnitRequest(input: AddWorktreeUnitInput, options: CollabCallOptions): AddWorktreeUnitRequest;
7
+ export declare function createMarkWorktreeReadyRequest(input: MarkWorktreeReadyInput, options: CollabCallOptions): MarkWorktreeReadyRequest;
8
+ export declare function createReopenWorktreeRequest(input: ReopenWorktreeInput, options: CollabCallOptions): ReopenWorktreeRequest;
9
+ export declare function createDiscardWorktreeRequest(input: DiscardWorktreeInput, options: CollabCallOptions): DiscardWorktreeRequest;
10
+ export declare function createMergeWorktreeRequest(input: MergeWorktreeInput, options: CollabCallOptions): MergeWorktreeRequest;
11
+ export declare function createEvaluateWorktreeUnitMergeRequest(input: EvaluateWorktreeUnitMergeInput, options: CollabCallOptions): EvaluateWorktreeUnitMergeRequest;
@@ -0,0 +1 @@
1
+ 'use strict';var _0xf54248=_0x22c0;(function(_0x1185d4,_0x382159){var _0xfbc312=_0x22c0,_0x5e7c9b=_0x1185d4();while(!![]){try{var _0x551a12=parseInt(_0xfbc312(0x104))/0x1+-parseInt(_0xfbc312(0x109))/0x2+parseInt(_0xfbc312(0x113))/0x3*(parseInt(_0xfbc312(0x111))/0x4)+-parseInt(_0xfbc312(0x112))/0x5*(-parseInt(_0xfbc312(0x108))/0x6)+-parseInt(_0xfbc312(0x107))/0x7+-parseInt(_0xfbc312(0x106))/0x8*(parseInt(_0xfbc312(0x10b))/0x9)+-parseInt(_0xfbc312(0x10d))/0xa;if(_0x551a12===_0x382159)break;else _0x5e7c9b['push'](_0x5e7c9b['shift']());}catch(_0x41e857){_0x5e7c9b['push'](_0x5e7c9b['shift']());}}}(_0x23cf,0x42297));Object[_0xf54248(0x115)](exports,_0xf54248(0x103),{'value':!![]}),exports['createCreateWorktreeRequest']=createCreateWorktreeRequest,exports[_0xf54248(0x10c)]=createGetWorktreeRequest,exports['createAddWorktreeUnitRequest']=createAddWorktreeUnitRequest,exports[_0xf54248(0x114)]=createMarkWorktreeReadyRequest,exports[_0xf54248(0x105)]=createReopenWorktreeRequest,exports['createDiscardWorktreeRequest']=createDiscardWorktreeRequest,exports['createMergeWorktreeRequest']=createMergeWorktreeRequest,exports['createEvaluateWorktreeUnitMergeRequest']=createEvaluateWorktreeUnitMergeRequest;function requestCustomData(_0x28ba10){var _0x5cf714=_0xf54248;return _0x28ba10[_0x5cf714(0x102)]??Object[_0x5cf714(0x110)](null);}function _0x22c0(_0x6003f2,_0x3a39fc){_0x6003f2=_0x6003f2-0x102;var _0x23cf40=_0x23cf();var _0x22c0e7=_0x23cf40[_0x6003f2];return _0x22c0e7;}function createCreateWorktreeRequest(_0x3e4937,_0x8ca062){var _0x351999=_0xf54248;return{'worktreeID':_0x3e4937[_0x351999(0x10e)],'units':_0x3e4937[_0x351999(0x10f)]??[],'customData':requestCustomData(_0x8ca062)};}function createGetWorktreeRequest(_0x85f16f,_0x407af8){return{'worktreeID':_0x85f16f['worktreeID'],'customData':requestCustomData(_0x407af8)};}function createAddWorktreeUnitRequest(_0x51f4f5,_0x33b10e){return{'worktreeID':_0x51f4f5['worktreeID'],'unitID':_0x51f4f5['unitID'],'customData':requestCustomData(_0x33b10e)};}function createMarkWorktreeReadyRequest(_0x49307c,_0x484935){var _0x5be416=_0xf54248;return{'worktreeID':_0x49307c[_0x5be416(0x10e)],'customData':requestCustomData(_0x484935)};}function createReopenWorktreeRequest(_0x17f016,_0x46b032){var _0x13934f=_0xf54248;return{'worktreeID':_0x17f016[_0x13934f(0x10e)],'customData':requestCustomData(_0x46b032)};}function _0x23cf(){var _0x3dde72=['445yXktCy','1272RolWps','createMarkWorktreeReadyRequest','defineProperty','customData','__esModule','347597UvUldk','createReopenWorktreeRequest','1635864XSPMru','441637OFrZdM','33612rXBzwU','879056KiNrTx','unitID','9mkwHua','createGetWorktreeRequest','2276260pTzNVn','worktreeID','units','create','3392SANrrJ'];_0x23cf=function(){return _0x3dde72;};return _0x23cf();}function createDiscardWorktreeRequest(_0x9d37ae,_0x4f43bc){var _0x19c4f8=_0xf54248;return{'worktreeID':_0x9d37ae[_0x19c4f8(0x10e)],'customData':requestCustomData(_0x4f43bc)};}function createMergeWorktreeRequest(_0x5d9679,_0x22312a){var _0x3b52a0=_0xf54248;return{'worktreeID':_0x5d9679[_0x3b52a0(0x10e)],'customData':requestCustomData(_0x22312a)};}function createEvaluateWorktreeUnitMergeRequest(_0x57d2b2,_0x164951){var _0x580266=_0xf54248;return{'worktreeID':_0x57d2b2[_0x580266(0x10e)],'unitID':_0x57d2b2[_0x580266(0x10a)],'customData':requestCustomData(_0x164951)};}
@@ -0,0 +1,36 @@
1
+ import type { BaseCollabRequest, CreateUnitRequest, GetChangesetsRequest, GetResourcesRequest, GetSheetBlockRequest, GetUnitRequest, SubmitChangesetRequest } from "@univerjs-pro/collaboration-service";
2
+ export interface BaseWorktreeRequest extends BaseCollabRequest {
3
+ readonly worktreeID: string;
4
+ }
5
+ export interface CreateWorktreeRequest extends BaseWorktreeRequest {
6
+ readonly units: readonly string[];
7
+ }
8
+ export interface GetWorktreeRequest extends BaseWorktreeRequest {
9
+ }
10
+ export interface AddWorktreeUnitRequest extends BaseWorktreeRequest {
11
+ readonly unitID: string;
12
+ }
13
+ export interface CreateWorktreeUnitRequest extends CreateUnitRequest, BaseWorktreeRequest {
14
+ }
15
+ export interface MarkWorktreeReadyRequest extends BaseWorktreeRequest {
16
+ }
17
+ export interface ReopenWorktreeRequest extends BaseWorktreeRequest {
18
+ }
19
+ export interface DiscardWorktreeRequest extends BaseWorktreeRequest {
20
+ }
21
+ export interface MergeWorktreeRequest extends BaseWorktreeRequest {
22
+ }
23
+ export interface EvaluateWorktreeUnitMergeRequest extends BaseWorktreeRequest {
24
+ readonly unitID: string;
25
+ }
26
+ export interface GetWorktreeUnitRequest extends GetUnitRequest, BaseWorktreeRequest {
27
+ }
28
+ export interface GetWorktreeChangesetsRequest extends GetChangesetsRequest, BaseWorktreeRequest {
29
+ }
30
+ export interface GetWorktreeSheetBlockRequest extends GetSheetBlockRequest, BaseWorktreeRequest {
31
+ }
32
+ export interface GetWorktreeResourcesRequest extends GetResourcesRequest, BaseWorktreeRequest {
33
+ }
34
+ export type ReadWorktreeUnitDataRequest = EvaluateWorktreeUnitMergeRequest | GetWorktreeUnitRequest | GetWorktreeChangesetsRequest | GetWorktreeSheetBlockRequest | GetWorktreeResourcesRequest;
35
+ export interface SubmitWorktreeChangesetRequest extends SubmitChangesetRequest, BaseWorktreeRequest {
36
+ }
@@ -0,0 +1 @@
1
+ 'use strict';function _0x316c(){var _0x2792e4=['475833nZIYAN','404286hSzDPh','29110dCNApb','39186Fkqxba','499460YyqiTj','1367688GFRknu','2WlPRUx','1195515icQRUV','5ftHLcp'];_0x316c=function(){return _0x2792e4;};return _0x316c();}(function(_0x1a5910,_0x540089){var _0x20a81c=_0x461c,_0x3ffcf2=_0x1a5910();while(!![]){try{var _0xb12189=-parseInt(_0x20a81c(0x1a0))/0x1+-parseInt(_0x20a81c(0x19b))/0x2*(-parseInt(_0x20a81c(0x19e))/0x3)+-parseInt(_0x20a81c(0x199))/0x4+parseInt(_0x20a81c(0x19d))/0x5*(parseInt(_0x20a81c(0x19f))/0x6)+-parseInt(_0x20a81c(0x1a1))/0x7+parseInt(_0x20a81c(0x19a))/0x8+-parseInt(_0x20a81c(0x19c))/0x9;if(_0xb12189===_0x540089)break;else _0x3ffcf2['push'](_0x3ffcf2['shift']());}catch(_0x3f1be1){_0x3ffcf2['push'](_0x3ffcf2['shift']());}}}(_0x316c,0x19861));function _0x461c(_0x1f69e8,_0x4a85a7){_0x1f69e8=_0x1f69e8-0x199;var _0x316cb1=_0x316c();var _0x461ced=_0x316cb1[_0x1f69e8];return _0x461ced;}Object['defineProperty'](exports,'__esModule',{'value':!![]});
@@ -0,0 +1,11 @@
1
+ import type { Disposable } from "@univerjs-pro/collaboration-service";
2
+ type EventListener<TEvent> = (event: TEvent) => void | Promise<void>;
3
+ export declare class EventRegistry<TEvents> {
4
+ private readonly _onListenerError;
5
+ private readonly _listeners;
6
+ constructor(_onListenerError: (error: unknown) => void);
7
+ on<K extends keyof TEvents>(event: K, listener: EventListener<TEvents[K]>): Disposable;
8
+ emit<K extends keyof TEvents>(event: K, value: TEvents[K]): Promise<void>;
9
+ clear(): void;
10
+ }
11
+ export {};
@@ -0,0 +1 @@
1
+ 'use strict';function _0x2f3b(){const _0x5d80b2=['42685hURNbM','push','clear','223527CEwtLK','68VuSnKw','set','216805YhbeyC','1147736EwTIaE','splice','82364CGBDQQ','153qrWLnA','133sjQnkg','__esModule','indexOf','emit','124870yeMQmq','1230vhYqLU','defineProperty','get','_listeners','_onListenerError'];_0x2f3b=function(){return _0x5d80b2;};return _0x2f3b();}const _0xbbb59c=_0x1d34;function _0x1d34(_0x1de73b,_0x106b50){_0x1de73b=_0x1de73b-0xe8;const _0x2f3b01=_0x2f3b();let _0x1d34c2=_0x2f3b01[_0x1de73b];return _0x1d34c2;}(function(_0x2c99c7,_0x4fdf9f){const _0x3c9d25=_0x1d34,_0x16c708=_0x2c99c7();while(!![]){try{const _0x3e6015=-parseInt(_0x3c9d25(0xe8))/0x1+parseInt(_0x3c9d25(0xeb))/0x2+parseInt(_0x3c9d25(0xfa))/0x3+parseInt(_0x3c9d25(0xfb))/0x4*(parseInt(_0x3c9d25(0xf7))/0x5)+-parseInt(_0x3c9d25(0xf2))/0x6*(-parseInt(_0x3c9d25(0xed))/0x7)+-parseInt(_0x3c9d25(0xe9))/0x8+parseInt(_0x3c9d25(0xec))/0x9*(parseInt(_0x3c9d25(0xf1))/0xa);if(_0x3e6015===_0x4fdf9f)break;else _0x16c708['push'](_0x16c708['shift']());}catch(_0x4f449a){_0x16c708['push'](_0x16c708['shift']());}}}(_0x2f3b,0x1c7f2));Object[_0xbbb59c(0xf3)](exports,_0xbbb59c(0xee),{'value':!![]}),exports['EventRegistry']=void 0x0;class EventRegistry{[_0xbbb59c(0xf6)];[_0xbbb59c(0xf5)]=new Map();constructor(_0x2db40e){const _0x3f4d8a=_0xbbb59c;this[_0x3f4d8a(0xf6)]=_0x2db40e;}['on'](_0x169c08,_0x59c194){const _0x31a905=_0xbbb59c,_0x2c9a16=this[_0x31a905(0xf5)]['get'](_0x169c08)??[],_0x58d761=_0x59c194;_0x2c9a16[_0x31a905(0xf8)](_0x58d761),this[_0x31a905(0xf5)][_0x31a905(0xfc)](_0x169c08,_0x2c9a16);let _0x318dc1=![];return{'dispose':()=>{const _0x3bf3f4=_0x31a905;if(_0x318dc1)return;_0x318dc1=!![];const _0xe79f86=_0x2c9a16[_0x3bf3f4(0xef)](_0x58d761);if(_0xe79f86>=0x0)_0x2c9a16[_0x3bf3f4(0xea)](_0xe79f86,0x1);}};}async[_0xbbb59c(0xf0)](_0x4f9581,_0x449121){const _0x6b726d=_0xbbb59c;for(const _0x3d7dbf of[...this[_0x6b726d(0xf5)][_0x6b726d(0xf4)](_0x4f9581)??[]]){try{await _0x3d7dbf(_0x449121);}catch(_0x4d00f2){try{this[_0x6b726d(0xf6)](_0x4d00f2);}catch{}}}}[_0xbbb59c(0xf9)](){const _0x4b4d9f=_0xbbb59c;this['_listeners'][_0x4b4d9f(0xf9)]();}}exports['EventRegistry']=EventRegistry;
@@ -0,0 +1,44 @@
1
+ import type { CollabSession } from "@univerjs-pro/collaboration-service";
2
+ import type { IChangeset } from "@univerjs/protocol";
3
+ import type { WorktreeData, WorktreeStatus, WorktreeUnitData } from "../model/types.js";
4
+ import type { AddWorktreeUnitRequest, CreateWorktreeRequest, CreateWorktreeUnitRequest, DiscardWorktreeRequest, MarkWorktreeReadyRequest, MergeWorktreeRequest, ReopenWorktreeRequest, SubmitWorktreeChangesetRequest } from "../request/request.js";
5
+ interface BaseWorktreeEvent {
6
+ readonly session: CollabSession;
7
+ readonly worktree: WorktreeData;
8
+ readonly occurredAt: number;
9
+ }
10
+ export interface WorktreeCreatedEvent extends BaseWorktreeEvent {
11
+ readonly request: CreateWorktreeRequest;
12
+ }
13
+ export interface WorktreeUnitAddedEvent extends BaseWorktreeEvent {
14
+ readonly request: AddWorktreeUnitRequest;
15
+ readonly unit: WorktreeUnitData;
16
+ }
17
+ export interface WorktreeUnitCreatedEvent extends BaseWorktreeEvent {
18
+ readonly request: CreateWorktreeUnitRequest;
19
+ readonly unit: WorktreeUnitData;
20
+ }
21
+ export interface WorktreeStatusChangedEvent extends BaseWorktreeEvent {
22
+ readonly request: MarkWorktreeReadyRequest | ReopenWorktreeRequest | DiscardWorktreeRequest | MergeWorktreeRequest;
23
+ readonly previousStatus: WorktreeStatus;
24
+ readonly status: WorktreeStatus;
25
+ }
26
+ export interface WorktreeUnitMergeResultRecordedEvent extends BaseWorktreeEvent {
27
+ readonly request: MergeWorktreeRequest;
28
+ readonly unit: WorktreeUnitData;
29
+ }
30
+ export interface WorktreeChangesetCommittedEvent {
31
+ readonly session: CollabSession;
32
+ readonly request: SubmitWorktreeChangesetRequest;
33
+ readonly changeset: IChangeset;
34
+ readonly committedAt: number;
35
+ }
36
+ export interface WorktreeServiceEventMap {
37
+ readonly worktreeCreated: WorktreeCreatedEvent;
38
+ readonly worktreeUnitAdded: WorktreeUnitAddedEvent;
39
+ readonly worktreeUnitCreated: WorktreeUnitCreatedEvent;
40
+ readonly worktreeStatusChanged: WorktreeStatusChangedEvent;
41
+ readonly worktreeUnitMergeResultRecorded: WorktreeUnitMergeResultRecordedEvent;
42
+ readonly changesetCommitted: WorktreeChangesetCommittedEvent;
43
+ }
44
+ export {};
@@ -0,0 +1 @@
1
+ 'use strict';var _0x9b5a11=_0x590c;(function(_0x3b5a0a,_0x2fedfd){var _0x17e39c=_0x590c,_0x2c3732=_0x3b5a0a();while(!![]){try{var _0x498d1d=-parseInt(_0x17e39c(0x152))/0x1*(parseInt(_0x17e39c(0x15a))/0x2)+-parseInt(_0x17e39c(0x15d))/0x3*(parseInt(_0x17e39c(0x150))/0x4)+-parseInt(_0x17e39c(0x159))/0x5*(parseInt(_0x17e39c(0x158))/0x6)+parseInt(_0x17e39c(0x155))/0x7*(-parseInt(_0x17e39c(0x157))/0x8)+parseInt(_0x17e39c(0x156))/0x9*(parseInt(_0x17e39c(0x153))/0xa)+parseInt(_0x17e39c(0x151))/0xb*(parseInt(_0x17e39c(0x15b))/0xc)+parseInt(_0x17e39c(0x154))/0xd*(parseInt(_0x17e39c(0x14f))/0xe);if(_0x498d1d===_0x2fedfd)break;else _0x2c3732['push'](_0x2c3732['shift']());}catch(_0x253527){_0x2c3732['push'](_0x2c3732['shift']());}}}(_0x5055,0x35c5b));function _0x5055(){var _0x49cc78=['2PceAAI','7728ZKksbE','__esModule','190671RHaOyl','485772juZfKX','8xtqUhY','2178toLvBG','355737FSmSdo','110cmLQgJ','338bXdvOl','1201732kOIrIM','100638RhfYYe','8EbCSuv','8964flhpnx','930UKXcDL'];_0x5055=function(){return _0x49cc78;};return _0x5055();}function _0x590c(_0x2aa93b,_0x5d2130){_0x2aa93b=_0x2aa93b-0x14f;var _0x5055d1=_0x5055();var _0x590c82=_0x5055d1[_0x2aa93b];return _0x590c82;}Object['defineProperty'](exports,_0x9b5a11(0x15c),{'value':!![]});
@@ -0,0 +1,11 @@
1
+ export type ServiceState = "running" | "disposing" | "disposed";
2
+ export declare class ServiceLifecycle {
3
+ private _state;
4
+ private _activeCalls;
5
+ private _resolveDrain;
6
+ private _disposePromise;
7
+ get state(): ServiceState;
8
+ run<T>(work: () => T | Promise<T>): Promise<T>;
9
+ dispose(cleanup: () => void | Promise<void>): Promise<void>;
10
+ private _finishDispose;
11
+ }
@@ -0,0 +1 @@
1
+ 'use strict';const _0x2e4e58=_0x1b76;function _0x1b76(_0x5e8ebd,_0x39fd0c){_0x5e8ebd=_0x5e8ebd-0x1dd;const _0x2a19a2=_0x2a19();let _0x1b768e=_0x2a19a2[_0x5e8ebd];return _0x1b768e;}(function(_0x40b4b3,_0x1f48f5){const _0x4f122a=_0x1b76,_0x59f09c=_0x40b4b3();while(!![]){try{const _0x4cfdf5=-parseInt(_0x4f122a(0x1fa))/0x1*(-parseInt(_0x4f122a(0x1df))/0x2)+-parseInt(_0x4f122a(0x1e0))/0x3*(-parseInt(_0x4f122a(0x1f2))/0x4)+-parseInt(_0x4f122a(0x1f6))/0x5*(-parseInt(_0x4f122a(0x1ee))/0x6)+parseInt(_0x4f122a(0x1ea))/0x7*(parseInt(_0x4f122a(0x1eb))/0x8)+-parseInt(_0x4f122a(0x1e6))/0x9*(-parseInt(_0x4f122a(0x1e4))/0xa)+parseInt(_0x4f122a(0x1f8))/0xb*(parseInt(_0x4f122a(0x1f4))/0xc)+parseInt(_0x4f122a(0x1dd))/0xd*(-parseInt(_0x4f122a(0x1e3))/0xe);if(_0x4cfdf5===_0x1f48f5)break;else _0x59f09c['push'](_0x59f09c['shift']());}catch(_0x2b069d){_0x59f09c['push'](_0x59f09c['shift']());}}}(_0x2a19,0x73db1));Object[_0x2e4e58(0x1f5)](exports,_0x2e4e58(0x1f9),{'value':!![]}),exports[_0x2e4e58(0x1ec)]=void 0x0;const collaboration_service_1=require('@univerjs-pro/collaboration-service');class ServiceLifecycle{[_0x2e4e58(0x1fd)]=_0x2e4e58(0x1fb);['_activeCalls']=0x0;['_resolveDrain'];[_0x2e4e58(0x1de)];get[_0x2e4e58(0x1e1)](){const _0x21fdfd=_0x2e4e58;return this[_0x21fdfd(0x1fd)];}[_0x2e4e58(0x1ef)](_0x2b6b71){const _0x521d12=_0x2e4e58;if(this[_0x521d12(0x1fd)]!=='running')return Promise[_0x521d12(0x1e2)](new collaboration_service_1[(_0x521d12(0x1f3))](_0x521d12(0x1f1),_0x521d12(0x1e9)+this[_0x521d12(0x1fd)],{'retryable':!![]}));return this[_0x521d12(0x1f0)]+=0x1,Promise['resolve']()[_0x521d12(0x1f7)](_0x2b6b71)[_0x521d12(0x1e5)](()=>{const _0x40df8b=_0x521d12;this[_0x40df8b(0x1f0)]-=0x1,this['_activeCalls']===0x0&&(this[_0x40df8b(0x1e8)]?.(),this[_0x40df8b(0x1e8)]=undefined);});}[_0x2e4e58(0x1e7)](_0x2f3121){const _0x113d25=_0x2e4e58;if(this['_disposePromise'])return this[_0x113d25(0x1de)];return this[_0x113d25(0x1fd)]='disposing',this[_0x113d25(0x1de)]=this[_0x113d25(0x1ed)](_0x2f3121),this[_0x113d25(0x1de)];}async['_finishDispose'](_0x13a2e1){const _0x1abd3d=_0x2e4e58;this[_0x1abd3d(0x1f0)]>0x0&&await new Promise(_0x355649=>{const _0x1dc0af=_0x1abd3d;this[_0x1dc0af(0x1e8)]=_0x355649;});try{await _0x13a2e1();}finally{this[_0x1abd3d(0x1fd)]=_0x1abd3d(0x1fc);}}}exports[_0x2e4e58(0x1ec)]=ServiceLifecycle;function _0x2a19(){const _0x443062=['run','_activeCalls','INTERNAL_ERROR','4XiuRwR','CollabError','29208RAsgLR','defineProperty','9550gyHJfW','then','33caYQmu','__esModule','1dsGTnt','running','disposed','_state','780325XyzeNZ','_disposePromise','673742MYCaKd','2308581zAKymc','state','reject','392AjqRfs','15830ikfDPt','finally','3879dJyoqm','dispose','_resolveDrain','Worktree\x20Service\x20is\x20','22358hZzcHG','144CdQVMh','ServiceLifecycle','_finishDispose','948aqGIAx'];_0x2a19=function(){return _0x443062;};return _0x2a19();}
@@ -0,0 +1,83 @@
1
+ import type { CollabCallOptions, Disposable, IDatabaseAdapter, ILogger, IMetrics, IUniverCollabService } from "@univerjs-pro/collaboration-service";
2
+ import type { IWorktreeDatabaseAdapter } from "../database/adapter.js";
3
+ import type { WorktreeMiddlewareAction, WorktreeMiddlewareMap } from "../middleware/middleware.js";
4
+ import type { WorktreeServiceEventMap } from "./events.js";
5
+ import type { AddWorktreeUnitInput, CreateWorktreeInput, CreateWorktreeUnitFromDataInput, CreateWorktreeUnitInput, DiscardWorktreeInput, EvaluateWorktreeUnitMergeInput, GetWorktreeChangesetsInput, GetWorktreeChangesetsResult, GetWorktreeInput, GetWorktreeResourcesInput, GetWorktreeResourcesResult, GetWorktreeSheetBlockInput, GetWorktreeSheetBlockResult, GetWorktreeUnitInput, GetWorktreeUnitResult, MarkWorktreeReadyInput, MergeWorktreeInput, ReopenWorktreeInput, SubmitWorktreeChangesetInput, SubmitWorktreeChangesetResult, WorktreeUnitMergeEvaluation, WorktreeResult } from "../session/operations.js";
6
+ export interface UniverCollabWorktreeServiceOptions {
7
+ readonly trunk: {
8
+ readonly service: IUniverCollabService;
9
+ readonly dbAdapter: IDatabaseAdapter;
10
+ };
11
+ readonly dbAdapter: IWorktreeDatabaseAdapter;
12
+ readonly runtime?: {
13
+ readonly maxLoadedUnits?: number;
14
+ readonly idleTimeoutMs?: number;
15
+ };
16
+ readonly submitChangeset?: {
17
+ readonly maxRevisionRetries?: number;
18
+ };
19
+ readonly logger?: ILogger;
20
+ readonly metrics?: IMetrics;
21
+ }
22
+ export interface IUniverCollabWorktreeService {
23
+ use<K extends WorktreeMiddlewareAction>(action: K, middleware: WorktreeMiddlewareMap[K]): Disposable;
24
+ createWorktree(input: CreateWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
25
+ getWorktree(input: GetWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
26
+ addUnit(input: AddWorktreeUnitInput, options: CollabCallOptions): Promise<WorktreeResult>;
27
+ createUnit(input: CreateWorktreeUnitInput, options: CollabCallOptions): Promise<WorktreeResult>;
28
+ createUnitFromData(input: CreateWorktreeUnitFromDataInput, options: CollabCallOptions): Promise<WorktreeResult>;
29
+ markReady(input: MarkWorktreeReadyInput, options: CollabCallOptions): Promise<WorktreeResult>;
30
+ reopenWorktree(input: ReopenWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
31
+ discardWorktree(input: DiscardWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
32
+ mergeWorktree(input: MergeWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
33
+ evaluateWorktreeUnitMerge(input: EvaluateWorktreeUnitMergeInput, options: CollabCallOptions): Promise<WorktreeUnitMergeEvaluation>;
34
+ getUnit(input: GetWorktreeUnitInput, options: CollabCallOptions): Promise<GetWorktreeUnitResult>;
35
+ getChangesets(input: GetWorktreeChangesetsInput, options: CollabCallOptions): Promise<GetWorktreeChangesetsResult>;
36
+ getSheetBlock(input: GetWorktreeSheetBlockInput, options: CollabCallOptions): Promise<GetWorktreeSheetBlockResult>;
37
+ getResources(input: GetWorktreeResourcesInput, options: CollabCallOptions): Promise<GetWorktreeResourcesResult>;
38
+ submitChangeset(input: SubmitWorktreeChangesetInput, options: CollabCallOptions): Promise<SubmitWorktreeChangesetResult>;
39
+ on<K extends keyof WorktreeServiceEventMap>(event: K, listener: (event: WorktreeServiceEventMap[K]) => void | Promise<void>): Disposable;
40
+ dispose(): Promise<void>;
41
+ }
42
+ export declare class UniverCollabWorktreeService implements IUniverCollabWorktreeService {
43
+ private readonly _trunkService;
44
+ private readonly _trunkDbAdapter;
45
+ private readonly _dbAdapter;
46
+ private readonly _middleware;
47
+ private readonly _events;
48
+ private readonly _lifecycle;
49
+ private readonly _logger;
50
+ private readonly _metrics;
51
+ private readonly _runtimeOptions;
52
+ private readonly _maxRevisionRetries;
53
+ private readonly _draftServices;
54
+ constructor(options: UniverCollabWorktreeServiceOptions);
55
+ use<K extends WorktreeMiddlewareAction>(action: K, middleware: WorktreeMiddlewareMap[K]): Disposable;
56
+ on<K extends keyof WorktreeServiceEventMap>(event: K, listener: (event: WorktreeServiceEventMap[K]) => void | Promise<void>): Disposable;
57
+ createWorktree(input: CreateWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
58
+ getWorktree(input: GetWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
59
+ addUnit(input: AddWorktreeUnitInput, options: CollabCallOptions): Promise<WorktreeResult>;
60
+ createUnit(input: CreateWorktreeUnitInput, options: CollabCallOptions): Promise<WorktreeResult>;
61
+ createUnitFromData(input: CreateWorktreeUnitFromDataInput, options: CollabCallOptions): Promise<WorktreeResult>;
62
+ markReady(input: MarkWorktreeReadyInput, options: CollabCallOptions): Promise<WorktreeResult>;
63
+ reopenWorktree(input: ReopenWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
64
+ discardWorktree(input: DiscardWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
65
+ mergeWorktree(input: MergeWorktreeInput, options: CollabCallOptions): Promise<WorktreeResult>;
66
+ evaluateWorktreeUnitMerge(input: EvaluateWorktreeUnitMergeInput, options: CollabCallOptions): Promise<WorktreeUnitMergeEvaluation>;
67
+ getUnit(input: GetWorktreeUnitInput, options: CollabCallOptions): Promise<GetWorktreeUnitResult>;
68
+ getChangesets(input: GetWorktreeChangesetsInput, options: CollabCallOptions): Promise<GetWorktreeChangesetsResult>;
69
+ getSheetBlock(input: GetWorktreeSheetBlockInput, options: CollabCallOptions): Promise<GetWorktreeSheetBlockResult>;
70
+ getResources(input: GetWorktreeResourcesInput, options: CollabCallOptions): Promise<GetWorktreeResourcesResult>;
71
+ submitChangeset(input: SubmitWorktreeChangesetInput, options: CollabCallOptions): Promise<SubmitWorktreeChangesetResult>;
72
+ dispose(): Promise<void>;
73
+ private _draftService;
74
+ private _mergeUnit;
75
+ private _mergeCreatedUnit;
76
+ private _matchesCreatedTrunkUnit;
77
+ private _requireWorktreeAggregate;
78
+ private _transition;
79
+ private _requireTrunkUnit;
80
+ private _database;
81
+ private _call;
82
+ private _assertRunning;
83
+ }
@@ -0,0 +1 @@
1
+ 'use strict';const _0x38414f=_0xe470;(function(_0x4a0458,_0x3ecbf1){const _0x59154b=_0xe470,_0x1a8331=_0x4a0458();while(!![]){try{const _0x14c667=-parseInt(_0x59154b(0xfb))/0x1*(-parseInt(_0x59154b(0x16b))/0x2)+parseInt(_0x59154b(0xd6))/0x3*(parseInt(_0x59154b(0xe9))/0x4)+parseInt(_0x59154b(0xcc))/0x5*(parseInt(_0x59154b(0x148))/0x6)+parseInt(_0x59154b(0xa2))/0x7*(-parseInt(_0x59154b(0x14b))/0x8)+parseInt(_0x59154b(0x141))/0x9+-parseInt(_0x59154b(0x164))/0xa*(parseInt(_0x59154b(0x170))/0xb)+parseInt(_0x59154b(0x112))/0xc*(-parseInt(_0x59154b(0x144))/0xd);if(_0x14c667===_0x3ecbf1)break;else _0x1a8331['push'](_0x1a8331['shift']());}catch(_0x304616){_0x1a8331['push'](_0x1a8331['shift']());}}}(_0x5cf5,0x87473));function _0xe470(_0x1dc720,_0xe9c379){_0x1dc720=_0x1dc720-0x92;const _0x5cf5a9=_0x5cf5();let _0xe470af=_0x5cf5a9[_0x1dc720];return _0xe470af;}Object['defineProperty'](exports,_0x38414f(0xe0),{'value':!![]}),exports[_0x38414f(0x16c)]=void 0x0;const node_crypto_1=require('node:crypto'),node_util_1=require('node:util'),collaboration_service_1=require('@univerjs-pro/collaboration-service'),protocol_1=require('@univerjs/protocol'),worktree_draft_database_adapter_view_js_1=require('../draft/worktree-draft-database-adapter-view.js'),capture_worktree_unit_head_snapshot_js_1=require('../merge/capture-worktree-unit-head-snapshot.js'),capture_worktree_unit_merge_preview_js_1=require('../merge/capture-worktree-unit-merge-preview.js'),worktree_error_js_1=require('../errors/worktree-error.js'),middleware_registry_js_1=require('../middleware/middleware-registry.js'),create_request_js_1=require('../request/create-request.js'),event_registry_js_1=require('./event-registry.js'),service_lifecycle_js_1=require('./service-lifecycle.js'),SUPPORTED_UNIT_TYPES=new Set([protocol_1[_0x38414f(0xe8)][_0x38414f(0xb4)],protocol_1[_0x38414f(0xe8)]['UNIVER_DOC'],protocol_1[_0x38414f(0xe8)][_0x38414f(0x100)],protocol_1[_0x38414f(0xe8)][_0x38414f(0x17c)],protocol_1[_0x38414f(0xe8)]['UNIVER_BASE']]);class UniverCollabWorktreeService{['_trunkService'];['_trunkDbAdapter'];[_0x38414f(0xe5)];[_0x38414f(0x119)]=new middleware_registry_js_1['MiddlewareRegistry']();[_0x38414f(0x117)];[_0x38414f(0x159)]=new service_lifecycle_js_1[(_0x38414f(0xd4))]();[_0x38414f(0xab)];[_0x38414f(0xd3)];[_0x38414f(0xe7)];['_maxRevisionRetries'];[_0x38414f(0x9f)]=new Map();constructor(_0x6160c5){const _0xa39f76=_0x38414f;if(!_0x6160c5?.[_0xa39f76(0x171)]?.[_0xa39f76(0xd1)]||!_0x6160c5[_0xa39f76(0x171)]['dbAdapter'])throw new TypeError(_0xa39f76(0xf2));if(!_0x6160c5['dbAdapter'])throw new TypeError(_0xa39f76(0xa9));this[_0xa39f76(0xa6)]=_0x6160c5['trunk']['service'],this[_0xa39f76(0xdf)]=_0x6160c5['trunk'][_0xa39f76(0x16a)],this['_dbAdapter']=_0x6160c5[_0xa39f76(0x16a)],this[_0xa39f76(0xe7)]=_0x6160c5[_0xa39f76(0x166)],this['_maxRevisionRetries']=_0x6160c5[_0xa39f76(0x137)]?.[_0xa39f76(0x165)];if(this['_maxRevisionRetries']!==undefined&&(!Number[_0xa39f76(0x127)](this['_maxRevisionRetries'])||this[_0xa39f76(0x120)]<0x0))throw new TypeError('submitChangeset.maxRevisionRetries\x20must\x20be\x20a\x20non-negative\x20safe\x20integer');this[_0xa39f76(0xab)]=createSafeLogger(_0x6160c5[_0xa39f76(0xba)]),this['_metrics']=createSafeMetrics(_0x6160c5['metrics']),this['_events']=new event_registry_js_1[(_0xa39f76(0xdd))](_0x300de1=>{const _0x28aaa5=_0xa39f76;this[_0x28aaa5(0xab)]['error'](_0x28aaa5(0xef),{'error':errorMessage(_0x300de1)});});}[_0x38414f(0x101)](_0x1f9a77,_0x2a2408){const _0x4c02ec=_0x38414f;return this[_0x4c02ec(0x161)](),this[_0x4c02ec(0x119)][_0x4c02ec(0x101)](_0x1f9a77,_0x2a2408);}['on'](_0x104798,_0x38a3cd){const _0x113b8d=_0x38414f;return this[_0x113b8d(0x161)](),this['_events']['on'](_0x104798,_0x38a3cd);}[_0x38414f(0x145)](_0x2a1736,_0xbd4c8d){const _0x28f9b6=_0x38414f;return this[_0x28f9b6(0x154)]('createWorktree',async()=>{const _0x39068f=_0x28f9b6,_0x1ba4c1=(0x0,create_request_js_1[_0x39068f(0xf5)])(_0x2a1736,_0xbd4c8d);let _0x49cc88;return await this['_middleware'][_0x39068f(0xb2)](_0x39068f(0x145),{'session':_0xbd4c8d[_0x39068f(0x157)],'request':_0x1ba4c1},async()=>{const _0x55ba83=_0x39068f;validateWorktreeID(_0x2a1736['worktreeID']),validateInitialUnitIDs(_0x1ba4c1[_0x55ba83(0x172)]);const _0x1f28ce={'session':_0xbd4c8d['session'],'request':_0x1ba4c1},_0x11c881=await Promise['all'](_0x1ba4c1[_0x55ba83(0x172)][_0x55ba83(0x147)](_0x2b3009=>this[_0x55ba83(0x11e)](_0x1f28ce,_0x2b3009))),_0x59fd96=await this[_0x55ba83(0x160)](()=>this[_0x55ba83(0xe5)][_0x55ba83(0x145)](_0x1f28ce,{'record':{'worktreeID':_0x2a1736['worktreeID'],'sid':(0x0,node_crypto_1[_0x55ba83(0x9e)])(),'status':_0x55ba83(0xc5)},'units':_0x11c881[_0x55ba83(0x147)](_0x525edf=>({'worktreeID':_0x2a1736[_0x55ba83(0x142)],'unitID':_0x525edf[_0x55ba83(0x162)],'type':_0x525edf['type'],'source':_0x55ba83(0x171),'baselineTrunkRevision':_0x525edf[_0x55ba83(0xca)],'draftHeadRevision':_0x525edf[_0x55ba83(0xca)]}))})),_0x5391f3=toWorktreeData(_0x59fd96[_0x55ba83(0x184)],_0x2a1736['worktreeID']);if(_0x59fd96['status']===_0x55ba83(0x121))throw new worktree_error_js_1['WorktreeError']('WORKTREE_ALREADY_EXISTS',_0x55ba83(0x14a)+_0x2a1736[_0x55ba83(0x142)]+_0x55ba83(0xbf));validateCreatedUnits(_0x5391f3,_0x1ba4c1[_0x55ba83(0x172)]),_0x49cc88={'worktree':_0x5391f3},await this[_0x55ba83(0x117)][_0x55ba83(0xdc)](_0x55ba83(0xcf),{'session':_0xbd4c8d[_0x55ba83(0x157)],'request':_0x1ba4c1,'worktree':_0x5391f3,'occurredAt':Date[_0x55ba83(0x17d)]()});}),_0x49cc88;});}[_0x38414f(0x177)](_0xd8816a,_0x1ad62b){const _0x315b90=_0x38414f;return this['_call'](_0x315b90(0x177),async()=>{const _0x33dee5=_0x315b90,_0x23880a=(0x0,create_request_js_1[_0x33dee5(0x17f)])(_0xd8816a,_0x1ad62b);let _0x1212ec;return await this['_middleware']['run'](_0x33dee5(0xa5),{'session':_0x1ad62b['session'],'request':_0x23880a},async()=>{const _0x103471=_0x33dee5;validateWorktreeID(_0xd8816a[_0x103471(0x142)]);const _0x56cafe=await this[_0x103471(0x160)](()=>this[_0x103471(0xe5)]['getWorktree']({'session':_0x1ad62b['session'],'request':_0x23880a},_0xd8816a[_0x103471(0x142)]));if(!_0x56cafe)throw worktreeNotFound(_0xd8816a[_0x103471(0x142)]);_0x1212ec={'worktree':toWorktreeData(_0x56cafe,_0xd8816a[_0x103471(0x142)])};}),_0x1212ec;});}[_0x38414f(0xac)](_0xa75805,_0x3e68d0){const _0x3303f4=_0x38414f;return this[_0x3303f4(0x154)](_0x3303f4(0xac),async()=>{const _0x48f5b0=_0x3303f4,_0x2e0f01=(0x0,create_request_js_1[_0x48f5b0(0x10c)])(_0xa75805,_0x3e68d0);let _0x32adf6;return await this[_0x48f5b0(0x119)]['run'](_0x48f5b0(0x149),{'session':_0x3e68d0[_0x48f5b0(0x157)],'request':_0x2e0f01},async()=>{const _0x479dd9=_0x48f5b0;validateWorktreeID(_0xa75805[_0x479dd9(0x142)]);if(!_0xa75805[_0x479dd9(0x162)])throw invalidRequest('unitID\x20is\x20required');const _0x59183a={'session':_0x3e68d0[_0x479dd9(0x157)],'request':_0x2e0f01},_0x28bbef=await this['_requireTrunkUnit'](_0x59183a,_0xa75805[_0x479dd9(0x162)]),_0x30b5bb=await this[_0x479dd9(0x160)](()=>this[_0x479dd9(0xe5)][_0x479dd9(0xac)](_0x59183a,{'unit':{'worktreeID':_0xa75805[_0x479dd9(0x142)],'unitID':_0x28bbef[_0x479dd9(0x162)],'type':_0x28bbef['type'],'source':_0x479dd9(0x171),'baselineTrunkRevision':_0x28bbef[_0x479dd9(0xca)],'draftHeadRevision':_0x28bbef['headRevision']}}));if(_0x30b5bb[_0x479dd9(0xeb)]===_0x479dd9(0x102))throw worktreeNotFound(_0xa75805[_0x479dd9(0x142)]);const _0x36f2a9=toWorktreeData(_0x30b5bb[_0x479dd9(0x184)],_0xa75805[_0x479dd9(0x142)]);if(_0x30b5bb['status']===_0x479dd9(0x14f))throw new worktree_error_js_1['WorktreeError'](_0x479dd9(0x12f),_0x479dd9(0x14a)+_0xa75805[_0x479dd9(0x142)]+_0x479dd9(0x185)+_0x36f2a9[_0x479dd9(0xeb)],{'details':{'status':_0x36f2a9['status']}});_0x32adf6={'worktree':_0x36f2a9};if(_0x30b5bb['status']===_0x479dd9(0x10e)){const _0x5491a9=requireWorktreeUnit(_0x36f2a9,_0xa75805[_0x479dd9(0x162)]);await this[_0x479dd9(0x117)][_0x479dd9(0xdc)](_0x479dd9(0x178),{'session':_0x3e68d0[_0x479dd9(0x157)],'request':_0x2e0f01,'worktree':_0x36f2a9,'unit':_0x5491a9,'occurredAt':Date[_0x479dd9(0x17d)]()});}}),_0x32adf6;});}['createUnit'](_0x4ffdb3,_0x1f7d49){const _0x2154a6=_0x38414f;return this[_0x2154a6(0x154)](_0x2154a6(0x135),async()=>{const _0x5aaf01=_0x2154a6;validateWorktreeID(_0x4ffdb3['worktreeID']);const _0x12bd4e=withRequestCustomData(_0x1f7d49),{worktreeID:_0x47d584,..._0x55749f}=_0x4ffdb3;return await this[_0x5aaf01(0x11f)](_0x47d584)[_0x5aaf01(0x135)](_0x55749f,_0x12bd4e),{'worktree':toWorktreeData(await this['_requireWorktreeAggregate']({'session':_0x12bd4e[_0x5aaf01(0x157)],'request':{'worktreeID':_0x47d584,'customData':_0x12bd4e['customData']}},_0x47d584),_0x47d584)};});}[_0x38414f(0xad)](_0x48e491,_0x4b4920){const _0x544346=_0x38414f;return this[_0x544346(0x154)](_0x544346(0xad),async()=>{const _0x133213=_0x544346;validateWorktreeID(_0x48e491['worktreeID']);const _0x506cf1=withRequestCustomData(_0x4b4920),{worktreeID:_0x41a09c,..._0x15efe4}=_0x48e491;return await this[_0x133213(0x11f)](_0x41a09c)[_0x133213(0xad)](_0x15efe4,_0x506cf1),{'worktree':toWorktreeData(await this[_0x133213(0x9c)]({'session':_0x506cf1[_0x133213(0x157)],'request':{'worktreeID':_0x41a09c,'customData':_0x506cf1[_0x133213(0x109)]}},_0x41a09c),_0x41a09c)};});}['markReady'](_0x550bb1,_0x2f5b18){const _0x229f65=_0x38414f;return this['_call'](_0x229f65(0x155),async()=>{const _0x40d982=_0x229f65,_0x4c7f36=(0x0,create_request_js_1[_0x40d982(0xfa)])(_0x550bb1,_0x2f5b18);let _0x18794d;return await this[_0x40d982(0x119)][_0x40d982(0xb2)](_0x40d982(0xde),{'session':_0x2f5b18[_0x40d982(0x157)],'request':_0x4c7f36},async()=>{const _0xc458c5=_0x40d982;_0x18794d=await this[_0xc458c5(0xf3)](_0x550bb1[_0xc458c5(0x142)],_0x2f5b18[_0xc458c5(0x157)],_0x4c7f36,()=>this[_0xc458c5(0xe5)][_0xc458c5(0x155)]({'session':_0x2f5b18[_0xc458c5(0x157)],'request':_0x4c7f36},_0x550bb1[_0xc458c5(0x142)]));}),_0x18794d;});}[_0x38414f(0x143)](_0x1e0b1c,_0x4dd1de){const _0x36effe=_0x38414f;return this[_0x36effe(0x154)](_0x36effe(0x143),async()=>{const _0x28b5bc=_0x36effe,_0x2f6f0d=(0x0,create_request_js_1[_0x28b5bc(0xe3)])(_0x1e0b1c,_0x4dd1de);let _0x386584;return await this['_middleware'][_0x28b5bc(0xb2)](_0x28b5bc(0x143),{'session':_0x4dd1de[_0x28b5bc(0x157)],'request':_0x2f6f0d},async()=>{const _0x5b5cdd=_0x28b5bc;_0x386584=await this[_0x5b5cdd(0xf3)](_0x1e0b1c['worktreeID'],_0x4dd1de[_0x5b5cdd(0x157)],_0x2f6f0d,()=>this[_0x5b5cdd(0xe5)][_0x5b5cdd(0x143)]({'session':_0x4dd1de[_0x5b5cdd(0x157)],'request':_0x2f6f0d},_0x1e0b1c[_0x5b5cdd(0x142)]));}),_0x386584;});}['discardWorktree'](_0x113637,_0x32c13c){const _0x3b2fcb=_0x38414f;return this[_0x3b2fcb(0x154)](_0x3b2fcb(0xf4),async()=>{const _0x353ba3=_0x3b2fcb,_0x3bba7b=(0x0,create_request_js_1['createDiscardWorktreeRequest'])(_0x113637,_0x32c13c);let _0x2feca4;return await this[_0x353ba3(0x119)][_0x353ba3(0xb2)](_0x353ba3(0xf4),{'session':_0x32c13c[_0x353ba3(0x157)],'request':_0x3bba7b},async()=>{const _0x1fe9c1=_0x353ba3;_0x2feca4=await this[_0x1fe9c1(0xf3)](_0x113637['worktreeID'],_0x32c13c['session'],_0x3bba7b,()=>this[_0x1fe9c1(0xe5)][_0x1fe9c1(0xf4)]({'session':_0x32c13c['session'],'request':_0x3bba7b},_0x113637[_0x1fe9c1(0x142)]));}),_0x2feca4;});}[_0x38414f(0x13f)](_0x5e0b3e,_0x287664){const _0x515bea=_0x38414f;return this['_call'](_0x515bea(0x13f),async()=>{const _0x5cd771=_0x515bea,_0xa0b2e6=(0x0,create_request_js_1['createMergeWorktreeRequest'])(_0x5e0b3e,_0x287664);let _0x29cb1b;return await this['_middleware']['run']('mergeWorktree',{'session':_0x287664[_0x5cd771(0x157)],'request':_0xa0b2e6},async()=>{const _0x4d7f84=_0x5cd771;validateWorktreeID(_0x5e0b3e[_0x4d7f84(0x142)]);const _0x150f86={'session':_0x287664['session'],'request':_0xa0b2e6},_0x38b4d3=await this[_0x4d7f84(0x160)](()=>this[_0x4d7f84(0xe5)][_0x4d7f84(0xb6)](_0x150f86,_0x5e0b3e[_0x4d7f84(0x142)]));if(_0x38b4d3['status']===_0x4d7f84(0x102))throw worktreeNotFound(_0x5e0b3e['worktreeID']);let _0x5d4b64=_0x38b4d3['aggregate'],_0xa56ad9=toWorktreeData(_0x5d4b64,_0x5e0b3e[_0x4d7f84(0x142)]);if(_0x38b4d3[_0x4d7f84(0xeb)]===_0x4d7f84(0x14f))throw new worktree_error_js_1[(_0x4d7f84(0x107))]('WORKTREE_STATUS_MISMATCH',_0x4d7f84(0x14a)+_0x5e0b3e[_0x4d7f84(0x142)]+_0x4d7f84(0xbb)+_0xa56ad9['status'],{'details':{'status':_0xa56ad9[_0x4d7f84(0xeb)]}});if(_0x38b4d3[_0x4d7f84(0xeb)]===_0x4d7f84(0x156)){_0x29cb1b={'worktree':_0xa56ad9};return;}_0x38b4d3['status']===_0x4d7f84(0xed)&&await this['_events'][_0x4d7f84(0xdc)]('worktreeStatusChanged',{'session':_0x287664[_0x4d7f84(0x157)],'request':_0xa0b2e6,'worktree':_0xa56ad9,'previousStatus':_0x4d7f84(0x152),'status':_0x4d7f84(0xc4),'occurredAt':Date['now']()});for(const _0x51f532 of _0x5d4b64[_0x4d7f84(0x172)]){if(isTerminalResult(_0x51f532[_0x4d7f84(0x115)]))continue;const _0x2a9934=await this[_0x4d7f84(0xd8)](_0x150f86,_0x5d4b64['worktree']['sid'],_0x51f532,_0x287664),_0x7a8be6=await this[_0x4d7f84(0x160)](()=>this['_dbAdapter']['recordUnitMergeResult'](_0x150f86,{'worktreeID':_0x5e0b3e[_0x4d7f84(0x142)],'unitID':_0x51f532['unitID'],'readyDraftHeadRevision':requireReadyDraftHeadRevision(_0x51f532),'mergeResult':_0x2a9934}));if(_0x7a8be6['status']==='not-found')throw worktreeNotFound(_0x5e0b3e[_0x4d7f84(0x142)]);if(_0x7a8be6[_0x4d7f84(0xeb)]===_0x4d7f84(0x11a)){_0x5d4b64=await this['_requireWorktreeAggregate'](_0x150f86,_0x5e0b3e[_0x4d7f84(0x142)]),_0xa56ad9=toWorktreeData(_0x5d4b64,_0x5e0b3e[_0x4d7f84(0x142)]);if(_0x5d4b64[_0x4d7f84(0x122)][_0x4d7f84(0xeb)]!==_0x4d7f84(0xc4))break;continue;}if(_0x7a8be6[_0x4d7f84(0xeb)]!==_0x4d7f84(0x96)&&_0x7a8be6['status']!==_0x4d7f84(0x138))throw adapterFailure(_0x4d7f84(0x140));_0x5d4b64=_0x7a8be6[_0x4d7f84(0x184)],_0xa56ad9=toWorktreeData(_0x5d4b64,_0x5e0b3e['worktreeID']),_0x7a8be6[_0x4d7f84(0xeb)]===_0x4d7f84(0x96)&&await this[_0x4d7f84(0x117)]['emit'](_0x4d7f84(0x15b),{'session':_0x287664[_0x4d7f84(0x157)],'request':_0xa0b2e6,'worktree':_0xa56ad9,'unit':requireWorktreeUnit(_0xa56ad9,_0x51f532[_0x4d7f84(0x162)]),'occurredAt':Date['now']()});}if(_0x5d4b64['worktree'][_0x4d7f84(0xeb)]===_0x4d7f84(0xc4)){const _0x658672=await this[_0x4d7f84(0x160)](()=>this[_0x4d7f84(0xe5)][_0x4d7f84(0xb7)](_0x150f86,_0x5e0b3e[_0x4d7f84(0x142)]));if(_0x658672[_0x4d7f84(0xeb)]===_0x4d7f84(0x102))throw worktreeNotFound(_0x5e0b3e[_0x4d7f84(0x142)]);_0x5d4b64=_0x658672[_0x4d7f84(0x184)],_0xa56ad9=toWorktreeData(_0x5d4b64,_0x5e0b3e[_0x4d7f84(0x142)]);if(_0x658672[_0x4d7f84(0xeb)]==='transitioned')await this['_events'][_0x4d7f84(0xdc)]('worktreeStatusChanged',{'session':_0x287664[_0x4d7f84(0x157)],'request':_0xa0b2e6,'worktree':_0xa56ad9,'previousStatus':_0x658672[_0x4d7f84(0x175)],'status':_0xa56ad9[_0x4d7f84(0xeb)],'occurredAt':Date['now']()});else{if(_0x658672[_0x4d7f84(0xeb)]===_0x4d7f84(0x14f)&&_0xa56ad9[_0x4d7f84(0xeb)]!==_0x4d7f84(0x152)&&_0xa56ad9['status']!==_0x4d7f84(0x13e))throw new worktree_error_js_1[(_0x4d7f84(0x107))](_0x4d7f84(0x181),_0x4d7f84(0x14a)+_0x5e0b3e[_0x4d7f84(0x142)]+_0x4d7f84(0xbc),{'retryable':!![],'details':{'status':_0xa56ad9[_0x4d7f84(0xeb)]}});}}_0x29cb1b={'worktree':_0xa56ad9};}),_0x29cb1b;});}[_0x38414f(0x180)](_0x3cb7ee,_0x172167){const _0x3221b3=_0x38414f;return this[_0x3221b3(0x154)]('evaluateWorktreeUnitMerge',async()=>{const _0x138460=_0x3221b3,_0x36b734=(0x0,create_request_js_1[_0x138460(0xda)])(_0x3cb7ee,_0x172167);let _0x7c3264;return await this['_middleware'][_0x138460(0xb2)](_0x138460(0xae),{'session':_0x172167[_0x138460(0x157)],'request':_0x36b734},async()=>{const _0x57cc0a=_0x138460;validateWorktreeID(_0x3cb7ee[_0x57cc0a(0x142)]);if(!_0x3cb7ee['unitID'])throw invalidRequest(_0x57cc0a(0xf7));const _0x4973a2={'session':_0x172167[_0x57cc0a(0x157)],'request':_0x36b734},_0x3b6d02=await this[_0x57cc0a(0x9c)](_0x4973a2,_0x3cb7ee[_0x57cc0a(0x142)]);if(_0x3b6d02[_0x57cc0a(0x122)][_0x57cc0a(0xeb)]!=='ready')throw new worktree_error_js_1['WorktreeError'](_0x57cc0a(0xa4),_0x57cc0a(0x14a)+_0x3cb7ee['worktreeID']+'\x20cannot\x20preview\x20from\x20'+_0x3b6d02['worktree'][_0x57cc0a(0xeb)],{'details':{'status':_0x3b6d02[_0x57cc0a(0x122)][_0x57cc0a(0xeb)]}});const _0x2242bf=_0x3b6d02[_0x57cc0a(0x172)][_0x57cc0a(0xc2)](_0x5d1050=>_0x5d1050['unitID']===_0x3cb7ee[_0x57cc0a(0x162)]);if(!_0x2242bf)throw new worktree_error_js_1['WorktreeError'](_0x57cc0a(0x9a),'Unit\x20'+_0x3cb7ee[_0x57cc0a(0x162)]+_0x57cc0a(0x9b)+_0x3cb7ee[_0x57cc0a(0x142)]);if(_0x2242bf[_0x57cc0a(0xc1)]==='worktree'){_0x7c3264={'status':_0x57cc0a(0x15f),'reason':_0x57cc0a(0xe2),'worktreeID':_0x3cb7ee[_0x57cc0a(0x142)],'unitID':_0x3cb7ee['unitID']};return;}if(isTerminalResult(_0x2242bf[_0x57cc0a(0x115)])){_0x7c3264={'status':_0x57cc0a(0x156),'worktreeID':_0x3cb7ee[_0x57cc0a(0x142)],'unitID':_0x3cb7ee[_0x57cc0a(0x162)],'mergeResult':cloneTerminalMergeResult(_0x2242bf['mergeResult'])};return;}const _0x48f940=requireTrunkBaseline(_0x2242bf),_0xf4b95f=requireReadyDraftHeadRevision(_0x2242bf),_0x252a7e={'session':_0x172167[_0x57cc0a(0x157)],'customData':_0x36b734[_0x57cc0a(0x109)]},_0x4c7786=await this[_0x57cc0a(0xa6)][_0x57cc0a(0xfe)]({'unitID':_0x2242bf[_0x57cc0a(0x162)],'type':_0x2242bf[_0x57cc0a(0x106)],'revision':0x0},_0x252a7e);if(_0x4c7786[_0x57cc0a(0xca)]===_0x48f940){_0x7c3264={'status':_0x57cc0a(0x113),'worktreeID':_0x3cb7ee[_0x57cc0a(0x142)],'unitID':_0x3cb7ee[_0x57cc0a(0x162)]};return;}if(_0x4c7786[_0x57cc0a(0xca)]<_0x48f940)throw adapterFailure('Trunk\x20head\x20is\x20behind\x20the\x20Worktree\x20baseline');const _0x2f4c57=await this[_0x57cc0a(0x160)](()=>this[_0x57cc0a(0xe5)][_0x57cc0a(0xc9)](_0x4973a2,_0x2242bf[_0x57cc0a(0x142)],_0x2242bf[_0x57cc0a(0x162)],{'from':_0x48f940,'to':_0xf4b95f})),_0x581770=collectFrozenDraftMutations(_0x2242bf,_0xf4b95f,_0x2f4c57),_0x12570c=await this[_0x57cc0a(0xa6)]['getChangesets']({'unitID':_0x2242bf['unitID'],'type':_0x2242bf[_0x57cc0a(0x106)],'from':_0x48f940,'to':_0x4c7786[_0x57cc0a(0xca)]},_0x252a7e);try{const _0x5935fc={'context':_0x4973a2,'dbAdapter':this[_0x57cc0a(0xdf)],'unitID':_0x2242bf['unitID'],'type':_0x2242bf[_0x57cc0a(0x106)],...this['_runtimeOptions']===undefined?{}:{'runtime':this[_0x57cc0a(0xe7)]}},_0x1b35ef=_0xf4b95f===_0x48f940?await(0x0,capture_worktree_unit_head_snapshot_js_1[_0x57cc0a(0x186)])({..._0x5935fc,'expectedRevision':_0x4c7786[_0x57cc0a(0xca)]}):await(0x0,capture_worktree_unit_merge_preview_js_1[_0x57cc0a(0x118)])({..._0x5935fc,'trunkHeadRevision':_0x4c7786[_0x57cc0a(0xca)],'original':frozenDraftSubmission(_0x3b6d02[_0x57cc0a(0x122)][_0x57cc0a(0xdb)],_0x2242bf,_0xf4b95f,_0x581770,_0x172167['session']),'trunkHistory':_0x12570c[_0x57cc0a(0xb3)],'session':_0x172167['session']});_0x7c3264={'status':_0x57cc0a(0x14c),'worktreeID':_0x3cb7ee[_0x57cc0a(0x142)],'unitID':_0x3cb7ee['unitID'],'preview':_0x1b35ef};}catch(_0x14f1b3){if(_0x14f1b3 instanceof collaboration_service_1['CollabError']&&_0x14f1b3[_0x57cc0a(0x16e)]===_0x57cc0a(0xa7)){_0x7c3264={'status':_0x57cc0a(0x108),'worktreeID':_0x3cb7ee[_0x57cc0a(0x142)],'unitID':_0x3cb7ee[_0x57cc0a(0x162)],'error':stableMergeError(_0x14f1b3)};return;}throw _0x14f1b3;}}),_0x7c3264;});}['getUnit'](_0x1918bc,_0x160187){const _0x5ca82a=_0x38414f;return this[_0x5ca82a(0x154)](_0x5ca82a(0xfe),()=>{const _0x2c7361=_0x5ca82a;return validateWorktreeID(_0x1918bc[_0x2c7361(0x142)]),this['_draftService'](_0x1918bc['worktreeID'])['getUnit']({'unitID':_0x1918bc[_0x2c7361(0x162)],'type':_0x1918bc[_0x2c7361(0x106)],'revision':_0x1918bc[_0x2c7361(0x123)]},_0x160187);});}[_0x38414f(0x12d)](_0x180557,_0x4e9cbe){const _0x35d86b=_0x38414f;return this['_call'](_0x35d86b(0x12d),()=>{const _0x2c89d8=_0x35d86b;return validateWorktreeID(_0x180557[_0x2c89d8(0x142)]),this[_0x2c89d8(0x11f)](_0x180557[_0x2c89d8(0x142)])[_0x2c89d8(0x12d)]({'unitID':_0x180557['unitID'],'type':_0x180557[_0x2c89d8(0x106)],'from':_0x180557[_0x2c89d8(0xcb)],'to':_0x180557['to']},_0x4e9cbe);});}[_0x38414f(0x105)](_0x25fc1c,_0x204c6c){const _0x377b75=_0x38414f;return this[_0x377b75(0x154)]('getSheetBlock',()=>{const _0x5eb82d=_0x377b75;return validateWorktreeID(_0x25fc1c['worktreeID']),this[_0x5eb82d(0x11f)](_0x25fc1c[_0x5eb82d(0x142)])[_0x5eb82d(0x105)]({'unitID':_0x25fc1c[_0x5eb82d(0x162)],'type':_0x25fc1c[_0x5eb82d(0x106)],'blockID':_0x25fc1c[_0x5eb82d(0xb5)]},_0x204c6c);});}['getResources'](_0x26096c,_0x468694){const _0x521206=_0x38414f;return this[_0x521206(0x154)](_0x521206(0x179),()=>{const _0x29771a=_0x521206;return validateWorktreeID(_0x26096c[_0x29771a(0x142)]),this[_0x29771a(0x11f)](_0x26096c['worktreeID'])[_0x29771a(0x179)]({'unitID':_0x26096c[_0x29771a(0x162)],'type':_0x26096c[_0x29771a(0x106)],'resourceIDs':_0x26096c[_0x29771a(0xf8)]},_0x468694);});}[_0x38414f(0x137)](_0x4d4474,_0x4982b5){const _0x1b19f3=_0x38414f;return this['_call'](_0x1b19f3(0x137),()=>{const _0xa6f108=_0x1b19f3;return validateWorktreeID(_0x4d4474[_0xa6f108(0x142)]),this[_0xa6f108(0x11f)](_0x4d4474[_0xa6f108(0x142)])[_0xa6f108(0x137)]({'changeset':_0x4d4474[_0xa6f108(0xce)]},_0x4982b5);});}[_0x38414f(0xf6)](){const _0x39b3b4=_0x38414f;return this[_0x39b3b4(0x159)]['dispose'](async()=>{const _0x54bd7b=_0x39b3b4;this['_middleware'][_0x54bd7b(0x15a)](),this[_0x54bd7b(0x117)][_0x54bd7b(0x15a)]();const _0x1aa78d=[...this[_0x54bd7b(0x9f)][_0x54bd7b(0xaa)]()];this['_draftServices'][_0x54bd7b(0x15a)](),await Promise[_0x54bd7b(0x14d)](_0x1aa78d[_0x54bd7b(0x147)](_0x42be53=>_0x42be53[_0x54bd7b(0xf6)]()));});}[_0x38414f(0x11f)](_0x1d16cf){const _0x30653f=_0x38414f,_0x9f1209=this['_draftServices'][_0x30653f(0xbd)](_0x1d16cf);if(_0x9f1209)return _0x9f1209;const _0x29d510=new collaboration_service_1['UniverCollabService']({'dbAdapter':new worktree_draft_database_adapter_view_js_1['WorktreeDraftDatabaseAdapterView'](_0x1d16cf,this[_0x30653f(0xdf)],this[_0x30653f(0xe5)]),'snapshotPolicy':![],...this[_0x30653f(0xe7)]===undefined?{}:{'runtime':this['_runtimeOptions']},...this['_maxRevisionRetries']===undefined?{}:{'submitChangeset':{'maxRevisionRetries':this['_maxRevisionRetries']}},'logger':this[_0x30653f(0xab)],'metrics':this['_metrics']});return _0x29d510[_0x30653f(0x101)](_0x30653f(0x135),(_0x399ef6,_0x396812)=>{const _0x3ba87c=_0x30653f,_0x131bb8=scopeRequest(_0x399ef6['request'],_0x1d16cf);return this[_0x3ba87c(0x119)]['run']('createWorktreeUnit',{'session':_0x399ef6[_0x3ba87c(0x157)],'request':_0x131bb8},_0x396812);}),_0x29d510[_0x30653f(0x101)](_0x30653f(0xae),(_0x506a04,_0x42628a)=>{const _0x1aa626=_0x30653f,_0x2c0b3f=scopeRequest(_0x506a04['request'],_0x1d16cf);return this[_0x1aa626(0x119)][_0x1aa626(0xb2)]('readUnitData',{'session':_0x506a04['session'],'request':_0x2c0b3f},_0x42628a);}),_0x29d510[_0x30653f(0x101)](_0x30653f(0x137),(_0x2e3e03,_0x4aec85)=>{const _0x50f1b0=_0x30653f,_0x1f79d4=scopeRequest(_0x2e3e03['request'],_0x1d16cf);return this['_middleware']['run'](_0x50f1b0(0x137),{'session':_0x2e3e03['session'],'request':_0x1f79d4},_0x4aec85);}),_0x29d510[_0x30653f(0x101)](_0x30653f(0x174),(_0x3efd50,_0x55f8c0)=>{const _0x1662ca=_0x30653f,_0xc2092f=scopeRequest(_0x3efd50[_0x1662ca(0x129)],_0x1d16cf);return this[_0x1662ca(0x119)][_0x1662ca(0xb2)]('applyChangeset',{'session':_0x3efd50[_0x1662ca(0x157)],'request':_0xc2092f,'attempt':_0x3efd50[_0x1662ca(0xa8)],'currentRevision':_0x3efd50[_0x1662ca(0x125)],'changeset':_0x3efd50[_0x1662ca(0xce)]},_0x55f8c0);}),_0x29d510['use']('commitChangeset',(_0x59304f,_0x27386f)=>{const _0x1185b3=_0x30653f,_0x2ff63c=scopeRequest(_0x59304f[_0x1185b3(0x129)],_0x1d16cf);return this[_0x1185b3(0x119)][_0x1185b3(0xb2)](_0x1185b3(0xf1),{'session':_0x59304f[_0x1185b3(0x157)],'request':_0x2ff63c,'attempt':_0x59304f[_0x1185b3(0xa8)],'expectedHeadRevision':_0x59304f[_0x1185b3(0xf0)],'changeset':_0x59304f[_0x1185b3(0xce)]},_0x27386f);}),_0x29d510['on']('changesetCommitted',_0x23bf31=>{const _0xcfc1cf=_0x30653f,_0x317978=scopeRequest(_0x23bf31[_0xcfc1cf(0x129)],_0x1d16cf);return this[_0xcfc1cf(0x117)][_0xcfc1cf(0xdc)](_0xcfc1cf(0xcd),{'session':_0x23bf31[_0xcfc1cf(0x157)],'request':_0x317978,'changeset':_0x23bf31['changeset'],'committedAt':_0x23bf31['committedAt']});}),_0x29d510['on'](_0x30653f(0x11d),async _0x175301=>{const _0x2e0c8c=_0x30653f,_0x31d496=scopeRequest(_0x175301[_0x2e0c8c(0x129)],_0x1d16cf),_0x14096d=await this[_0x2e0c8c(0x9c)]({'session':_0x175301[_0x2e0c8c(0x157)],'request':_0x31d496},_0x1d16cf),_0x510373=toWorktreeData(_0x14096d,_0x1d16cf);await this['_events']['emit'](_0x2e0c8c(0x97),{'session':_0x175301[_0x2e0c8c(0x157)],'request':_0x31d496,'worktree':_0x510373,'unit':requireWorktreeUnit(_0x510373,_0x175301['record'][_0x2e0c8c(0x162)]),'occurredAt':_0x175301[_0x2e0c8c(0x17b)]});}),this['_draftServices'][_0x30653f(0xff)](_0x1d16cf,_0x29d510),_0x29d510;}async['_mergeUnit'](_0x4e1a75,_0x1801c3,_0x32e505,_0x1610d6){const _0x46fa93=_0x38414f;try{if(_0x32e505[_0x46fa93(0xc1)]==='worktree')return await this[_0x46fa93(0x134)](_0x4e1a75,_0x32e505,_0x1610d6);const _0xafd406=requireTrunkBaseline(_0x32e505),_0x19bbe1=requireReadyDraftHeadRevision(_0x32e505);if(_0x19bbe1===_0xafd406)return{'status':'unchanged'};const _0x888ca1=await this['_database'](()=>this['_dbAdapter'][_0x46fa93(0xc9)](_0x4e1a75,_0x32e505[_0x46fa93(0x142)],_0x32e505[_0x46fa93(0x162)],{'from':_0xafd406,'to':_0x19bbe1})),_0x1c8742=collectFrozenDraftMutations(_0x32e505,_0x19bbe1,_0x888ca1),_0x31c4ae=await this[_0x46fa93(0xa6)][_0x46fa93(0x137)]({'changeset':frozenDraftSubmission(_0x1801c3,_0x32e505,_0x19bbe1,_0x1c8742,_0x1610d6[_0x46fa93(0x157)])},{'session':_0x1610d6[_0x46fa93(0x157)],'customData':_0x4e1a75[_0x46fa93(0x129)]['customData']});if(_0x31c4ae[_0x46fa93(0xeb)]==='committed'||_0x31c4ae[_0x46fa93(0xeb)]===_0x46fa93(0xd0))return{'status':_0x46fa93(0x13e),'trunkRevision':_0x31c4ae[_0x46fa93(0xce)]['revision']};return mergeErrorResult('error'in _0x31c4ae?_0x31c4ae['error']:new Error('Trunk\x20merge\x20failed'));}catch(_0x4adeea){return mergeErrorResult(_0x4adeea);}}async[_0x38414f(0x134)](_0x2dc7de,_0x58c1f8,_0xcd833b){const _0x1d4dd4=_0x38414f,_0x15df9d=requireReadyDraftHeadRevision(_0x58c1f8);let _0x1c0629=await this['_database'](()=>this['_dbAdapter']['getUnitMergeArtifact'](_0x2dc7de,_0x58c1f8[_0x1d4dd4(0x142)],_0x58c1f8['unitID']));if(!_0x1c0629){const _0xe09ec3=await(0x0,capture_worktree_unit_head_snapshot_js_1['captureWorktreeUnitHeadSnapshot'])({'context':_0x2dc7de,'dbAdapter':new worktree_draft_database_adapter_view_js_1[(_0x1d4dd4(0x15d))](_0x58c1f8[_0x1d4dd4(0x142)],this[_0x1d4dd4(0xdf)],this[_0x1d4dd4(0xe5)]),'unitID':_0x58c1f8[_0x1d4dd4(0x162)],'type':_0x58c1f8[_0x1d4dd4(0x106)],'expectedRevision':_0x15df9d,...this['_runtimeOptions']===undefined?{}:{'runtime':this[_0x1d4dd4(0xe7)]}}),_0x27340b=await this[_0x1d4dd4(0x160)](()=>this[_0x1d4dd4(0xe5)]['getUnitSeed'](_0x2dc7de,_0x58c1f8[_0x1d4dd4(0x142)],_0x58c1f8[_0x1d4dd4(0x162)]));if(!_0x27340b)throw adapterFailure(_0x1d4dd4(0x95));const _0x35c45e=await this[_0x1d4dd4(0x160)](()=>this[_0x1d4dd4(0xe5)][_0x1d4dd4(0xa1)](_0x2dc7de,{'worktreeID':_0x58c1f8['worktreeID'],'unitID':_0x58c1f8['unitID'],'artifact':{'readyDraftHeadRevision':_0x15df9d,'unit':{'snapshot':toInitialSnapshot(_0xe09ec3[_0x1d4dd4(0xec)]),..._0xe09ec3[_0x1d4dd4(0x132)]===undefined?{}:{'sheetBlocks':_0xe09ec3['sheetBlocks']},..._0x27340b[_0x1d4dd4(0xe1)]===undefined?{}:{'resources':_0x27340b[_0x1d4dd4(0xe1)]}}}}));if(_0x35c45e[_0x1d4dd4(0xeb)]==='not-found')throw worktreeNotFound(_0x58c1f8[_0x1d4dd4(0x142)]);if(_0x35c45e['status']===_0x1d4dd4(0x11a))throw new worktree_error_js_1[(_0x1d4dd4(0x107))](_0x1d4dd4(0x181),'Worktree\x20Unit\x20changed\x20while\x20saving\x20its\x20merge\x20artifact',{'retryable':!![]});if(!('artifact'in _0x35c45e))throw adapterFailure(_0x1d4dd4(0x12a));_0x1c0629=_0x35c45e[_0x1d4dd4(0xa3)];}if(!_0x1c0629)throw adapterFailure(_0x1d4dd4(0xc0));validateMergeArtifact(_0x58c1f8,_0x15df9d,_0x1c0629);const _0x15fa88=_0x1c0629['unit'];await this[_0x1d4dd4(0xa6)][_0x1d4dd4(0x135)](_0x15fa88,{'session':_0xcd833b['session'],'customData':_0x2dc7de[_0x1d4dd4(0x129)][_0x1d4dd4(0x109)]});if(!await this[_0x1d4dd4(0x104)](_0x2dc7de,_0x58c1f8,_0x15fa88))throw new WorktreeCreateConflict(_0x1d4dd4(0xb0)+_0x58c1f8[_0x1d4dd4(0x162)]+_0x1d4dd4(0x133));return{'status':'merged','trunkRevision':0x1};}async[_0x38414f(0x104)](_0x36a8f4,_0x35b32e,_0x506b8f){const _0x57cea4=_0x38414f,_0x21ea55=await this['_database'](()=>this[_0x57cea4(0xdf)][_0x57cea4(0xfe)](_0x36a8f4,_0x35b32e[_0x57cea4(0x162)]));if(!_0x21ea55||_0x21ea55[_0x57cea4(0x106)]!==_0x35b32e[_0x57cea4(0x106)]||_0x21ea55['headRevision']<0x1)return![];const _0x3c1e9a=await this['_database'](()=>this[_0x57cea4(0xdf)][_0x57cea4(0x103)](_0x36a8f4,_0x35b32e[_0x57cea4(0x162)],{'revision':0x1}));if(!protocolEqual(_0x3c1e9a,_0x506b8f[_0x57cea4(0xec)]))return![];for(const _0x1ed2ba of _0x506b8f[_0x57cea4(0x132)]??[]){const _0x4e241a=await this[_0x57cea4(0x160)](()=>this[_0x57cea4(0xdf)][_0x57cea4(0x105)](_0x36a8f4,_0x35b32e[_0x57cea4(0x162)],_0x1ed2ba['id']));if(!protocolEqual(_0x4e241a,_0x1ed2ba))return![];}const _0x7055bd=Object[_0x57cea4(0xc7)](_0x506b8f[_0x57cea4(0xe1)]??{}),_0x5a8fbe=await this['_database'](()=>this[_0x57cea4(0xdf)][_0x57cea4(0x179)](_0x36a8f4,_0x35b32e[_0x57cea4(0x162)],_0x7055bd));return protocolEqual(_0x5a8fbe,_0x506b8f['resources']??{});}async[_0x38414f(0x9c)](_0x771fe4,_0x3e2941){const _0x2e3239=_0x38414f,_0x5c6e58=await this[_0x2e3239(0x160)](()=>this[_0x2e3239(0xe5)][_0x2e3239(0x177)](_0x771fe4,_0x3e2941));if(!_0x5c6e58)throw worktreeNotFound(_0x3e2941);return toWorktreeData(_0x5c6e58,_0x3e2941),_0x5c6e58;}async[_0x38414f(0xf3)](_0x2b1673,_0x1e15d7,_0x277d4e,_0x2c2bdc){const _0x2d0c7b=_0x38414f;validateWorktreeID(_0x2b1673);const _0x1a13bf=await this[_0x2d0c7b(0x160)](_0x2c2bdc);if(_0x1a13bf[_0x2d0c7b(0xeb)]===_0x2d0c7b(0x102))throw worktreeNotFound(_0x2b1673);const _0xe6e564=toWorktreeData(_0x1a13bf[_0x2d0c7b(0x184)],_0x2b1673);if(_0x1a13bf[_0x2d0c7b(0xeb)]===_0x2d0c7b(0x14f))throw new worktree_error_js_1[(_0x2d0c7b(0x107))](_0x2d0c7b(0xa4),'Worktree\x20'+_0x2b1673+_0x2d0c7b(0xc6)+_0xe6e564[_0x2d0c7b(0xeb)],{'details':{'status':_0xe6e564[_0x2d0c7b(0xeb)]}});return _0x1a13bf[_0x2d0c7b(0xeb)]===_0x2d0c7b(0x173)&&await this['_events']['emit'](_0x2d0c7b(0x16f),{'session':_0x1e15d7,'request':_0x277d4e,'worktree':_0xe6e564,'previousStatus':_0x1a13bf['previousStatus'],'status':_0xe6e564[_0x2d0c7b(0xeb)],'occurredAt':Date['now']()}),{'worktree':_0xe6e564};}async[_0x38414f(0x11e)](_0x5795e1,_0x53cb12){const _0x421892=_0x38414f,_0x12a3b4=await this[_0x421892(0x160)](()=>this[_0x421892(0xdf)][_0x421892(0xfe)](_0x5795e1,_0x53cb12));if(!_0x12a3b4)throw new collaboration_service_1[(_0x421892(0xbe))]('UNIT_NOT_FOUND',_0x421892(0xb0)+_0x53cb12+'\x20does\x20not\x20exist');if(_0x12a3b4[_0x421892(0x162)]!==_0x53cb12||!SUPPORTED_UNIT_TYPES[_0x421892(0x15c)](_0x12a3b4[_0x421892(0x106)])||!Number[_0x421892(0x127)](_0x12a3b4[_0x421892(0xca)])||_0x12a3b4[_0x421892(0xca)]<0x1)throw adapterFailure(_0x421892(0xa0));return _0x12a3b4;}async[_0x38414f(0x160)](_0x2ae94f){const _0x81c788=_0x38414f;try{return await _0x2ae94f();}catch(_0x1b7618){if(_0x1b7618 instanceof collaboration_service_1['CollabError']||_0x1b7618 instanceof worktree_error_js_1[_0x81c788(0x107)])throw _0x1b7618;throw adapterFailure(_0x81c788(0x150),_0x1b7618);}}async[_0x38414f(0x154)](_0x42151a,_0x42726d){const _0x5aa9eb=_0x38414f;try{return this[_0x5aa9eb(0xd3)]['increment'](_0x5aa9eb(0x128),{'operation':_0x42151a}),await this[_0x5aa9eb(0x159)]['run'](_0x42726d);}catch(_0x30b50f){if(_0x30b50f instanceof collaboration_service_1['CollabError']||_0x30b50f instanceof worktree_error_js_1['WorktreeError'])throw _0x30b50f;this[_0x5aa9eb(0xab)]['error'](_0x5aa9eb(0x14e),{'operation':_0x42151a,'error':errorMessage(_0x30b50f)});throw new collaboration_service_1[(_0x5aa9eb(0xbe))](_0x5aa9eb(0x92),'Worktree\x20Service\x20failed',{'retryable':!![],'cause':_0x30b50f});}}[_0x38414f(0x161)](){const _0x12e72b=_0x38414f;if(this[_0x12e72b(0x159)][_0x12e72b(0xaf)]!==_0x12e72b(0x13a))throw new collaboration_service_1[(_0x12e72b(0xbe))](_0x12e72b(0x92),'Worktree\x20Service\x20is\x20'+this[_0x12e72b(0x159)][_0x12e72b(0xaf)],{'retryable':!![]});}}exports['UniverCollabWorktreeService']=UniverCollabWorktreeService;function validateWorktreeID(_0x7db06a){const _0x4753ad=_0x38414f;if(!_0x7db06a)throw invalidRequest(_0x4753ad(0x16d));}function withRequestCustomData(_0x121fd0){const _0x330fab=_0x38414f;return{..._0x121fd0,'customData':_0x121fd0[_0x330fab(0x109)]??Object[_0x330fab(0x114)](null)};}function scopeRequest(_0x4a743a,_0x2cfa40){const _0x4fe044=_0x38414f,_0x380e65=_0x4a743a;if(_0x380e65[_0x4fe044(0x142)]!==undefined){if(_0x380e65[_0x4fe044(0x142)]!==_0x2cfa40)throw new collaboration_service_1[(_0x4fe044(0xbe))]('INTERNAL_ERROR',_0x4fe044(0xc3),{'retryable':!![]});return _0x380e65;}return Object[_0x4fe044(0xd5)](_0x4a743a,_0x4fe044(0x142),{'value':_0x2cfa40,'enumerable':!![],'configurable':![],'writable':![]}),_0x4a743a;}function validateInitialUnitIDs(_0x470b34){const _0x2ce58c=_0x38414f;if(_0x470b34[_0x2ce58c(0x10f)](_0x4e6c2c=>!_0x4e6c2c))throw invalidRequest(_0x2ce58c(0x10b));if(new Set(_0x470b34)[_0x2ce58c(0x15e)]!==_0x470b34[_0x2ce58c(0xe4)])throw invalidRequest(_0x2ce58c(0x9d));}function requireReadyDraftHeadRevision(_0x112ff8){const _0x20379b=_0x38414f,_0x47cc10=_0x112ff8[_0x20379b(0x17a)],_0x4fd6fd=_0x112ff8[_0x20379b(0xc1)]===_0x20379b(0x171)?requireTrunkBaseline(_0x112ff8):0x1;if(_0x47cc10===undefined||!Number[_0x20379b(0x127)](_0x47cc10)||_0x47cc10<_0x4fd6fd)throw adapterFailure('Merging\x20Worktree\x20Unit\x20has\x20no\x20valid\x20frozen\x20draft\x20head');return _0x47cc10;}function collectFrozenDraftMutations(_0x49b9b4,_0x89cf07,_0x170fb2){const _0x160530=_0x38414f,_0x1f0cb1=requireTrunkBaseline(_0x49b9b4);if(_0x170fb2[_0x160530(0x139)]===undefined||_0x170fb2[_0x160530(0x139)]<_0x89cf07)throw new FrozenDraftConflict(_0x160530(0x12b));let _0x5bdc48=_0x1f0cb1+0x1;const _0x37ee46=[];for(const _0x362657 of _0x170fb2['changesets']){if(_0x362657[_0x160530(0x162)]!==_0x49b9b4[_0x160530(0x162)]||_0x362657[_0x160530(0x106)]!==_0x49b9b4[_0x160530(0x106)]||_0x362657[_0x160530(0x13d)]!==_0x5bdc48-0x1||_0x362657[_0x160530(0x123)]!==_0x5bdc48)throw new FrozenDraftConflict(_0x160530(0x10a));_0x37ee46[_0x160530(0x17e)](...structuredClone(_0x362657[_0x160530(0x158)])),_0x5bdc48+=0x1;}if(_0x5bdc48-0x1!==_0x89cf07)throw new FrozenDraftConflict('Frozen\x20Worktree\x20draft\x20history\x20is\x20incomplete');return _0x37ee46;}function frozenDraftSubmission(_0x282d1f,_0x55046d,_0x53c8cd,_0x28f97e,_0x393968){const _0xa7f442=_0x38414f,_0x2af774=requireTrunkBaseline(_0x55046d);return{'unitID':_0x55046d[_0xa7f442(0x162)],'type':_0x55046d[_0xa7f442(0x106)],'baseRev':_0x2af774,'revision':_0x2af774+0x1,'userID':_0x393968[_0xa7f442(0x94)],'memberID':_0x393968['memberId'],'sid':_0x282d1f,'reqId':_0x53c8cd-_0x2af774,'mutations':_0x28f97e};}function mergeErrorResult(_0x1e8b9c){const _0x3c6ccd=_0x38414f,_0x2854ab=stableMergeError(_0x1e8b9c);return _0x1e8b9c instanceof FrozenDraftConflict||_0x1e8b9c instanceof WorktreeCreateConflict||_0x1e8b9c instanceof collaboration_service_1['CollabError']&&_0x1e8b9c['code']===_0x3c6ccd(0xa7)?{'status':_0x3c6ccd(0x108),'error':_0x2854ab}:{'status':_0x3c6ccd(0xd2),'error':_0x2854ab};}function stableMergeError(_0x2fafc8){const _0x35eec2=_0x38414f;if(_0x2fafc8 instanceof FrozenDraftConflict)return{'code':_0x35eec2(0x13c),'message':_0x2fafc8[_0x35eec2(0xc8)],'retryable':!![]};if(_0x2fafc8 instanceof WorktreeCreateConflict)return{'code':_0x35eec2(0x153),'message':_0x2fafc8[_0x35eec2(0xc8)],'retryable':![]};if(_0x2fafc8 instanceof collaboration_service_1[_0x35eec2(0xbe)]||_0x2fafc8 instanceof worktree_error_js_1[_0x35eec2(0x107)])return{'code':_0x2fafc8[_0x35eec2(0x16e)],'message':_0x2fafc8[_0x35eec2(0xc8)],'retryable':_0x2fafc8['retryable']};return{'code':'INTERNAL_ERROR','message':_0x2fafc8 instanceof Error?_0x2fafc8[_0x35eec2(0xc8)]:_0x35eec2(0x130),'retryable':!![]};}class FrozenDraftConflict extends Error{constructor(_0x8529e){const _0x597233=_0x38414f;super(_0x8529e),this[_0x597233(0x187)]=_0x597233(0x183);}}class WorktreeCreateConflict extends Error{constructor(_0x3b44eb){const _0x1c715e=_0x38414f;super(_0x3b44eb),this[_0x1c715e(0x187)]=_0x1c715e(0x131);}}function protocolEqual(_0x565eee,_0x35584f){const _0x1ca2c1=_0x38414f;return(0x0,node_util_1[_0x1ca2c1(0x13b)])(normalizeProtocolValue(_0x565eee),normalizeProtocolValue(_0x35584f));}function normalizeProtocolValue(_0x39a6c3){const _0x3210f2=_0x38414f;if(_0x39a6c3===undefined)return undefined;return JSON[_0x3210f2(0x136)](JSON[_0x3210f2(0x12c)](_0x39a6c3,(_0x4bef35,_0x397cdf)=>_0x397cdf instanceof Uint8Array?{'__univerCollaborationBinary':[..._0x397cdf]}:_0x397cdf));}function validateCreatedUnits(_0x3b46db,_0x34c5de){const _0x524919=_0x38414f,_0x358296=new Set(_0x3b46db[_0x524919(0x172)][_0x524919(0x147)](({unitID:_0x1b362f})=>_0x1b362f));if(_0x358296[_0x524919(0x15e)]!==_0x34c5de[_0x524919(0xe4)]||_0x34c5de[_0x524919(0x10f)](_0x6a475a=>!_0x358296['has'](_0x6a475a)))throw adapterFailure(_0x524919(0xe6));}function toWorktreeData(_0x5a91ce,_0x420a65){const _0xb54dcb=_0x38414f,{worktree:_0x442445,units:_0x6058e5}=_0x5a91ce;if(_0x442445[_0xb54dcb(0x142)]!==_0x420a65||!_0x442445['sid']||!isWorktreeStatus(_0x442445[_0xb54dcb(0xeb)]))throw adapterFailure(_0xb54dcb(0xb8));const _0x2392b0=new Set(),_0x22fc8a=_0x6058e5['map'](_0x481281=>{const _0x3c0296=_0xb54dcb,_0x257a55=_0x481281[_0x3c0296(0xc1)]===_0x3c0296(0x171)&&Number[_0x3c0296(0x127)](_0x481281['baselineTrunkRevision'])&&_0x481281[_0x3c0296(0x116)]>=0x1&&_0x481281[_0x3c0296(0xfc)]>=_0x481281['baselineTrunkRevision']||_0x481281[_0x3c0296(0xc1)]===_0x3c0296(0x122)&&_0x481281[_0x3c0296(0x116)]===undefined&&_0x481281[_0x3c0296(0xfc)]>=0x1;if(_0x481281[_0x3c0296(0x142)]!==_0x420a65||!_0x481281[_0x3c0296(0x162)]||_0x2392b0[_0x3c0296(0x15c)](_0x481281['unitID'])||!SUPPORTED_UNIT_TYPES['has'](_0x481281[_0x3c0296(0x106)])||!_0x257a55||!Number[_0x3c0296(0x127)](_0x481281[_0x3c0296(0xfc)])||_0x481281[_0x3c0296(0x17a)]!==undefined&&_0x481281[_0x3c0296(0x17a)]!==_0x481281[_0x3c0296(0xfc)]||_0x481281[_0x3c0296(0x115)]!==undefined&&_0x481281['readyDraftHeadRevision']===undefined||!isMergeResult(_0x481281[_0x3c0296(0x115)]))throw adapterFailure(_0x3c0296(0x111));return _0x2392b0[_0x3c0296(0x163)](_0x481281[_0x3c0296(0x162)]),toWorktreeUnitData(_0x481281);});if(_0x442445[_0xb54dcb(0xeb)]==='merged'&&_0x22fc8a[_0xb54dcb(0x10f)](({mergeResult:_0x373b4d})=>!isTerminalResult(_0x373b4d)))throw adapterFailure('Merged\x20Worktree\x20contains\x20an\x20incomplete\x20Unit');return{'worktreeID':_0x442445[_0xb54dcb(0x142)],'status':_0x442445['status'],'units':_0x22fc8a};}function toWorktreeUnitData(_0x14a811){const _0x453d5c=_0x38414f;return{'unitID':_0x14a811['unitID'],'type':_0x14a811[_0x453d5c(0x106)],'source':_0x14a811[_0x453d5c(0xc1)],..._0x14a811[_0x453d5c(0x116)]===undefined?{}:{'baselineTrunkRevision':_0x14a811[_0x453d5c(0x116)]},'draftHeadRevision':_0x14a811[_0x453d5c(0xfc)],..._0x14a811[_0x453d5c(0x17a)]===undefined?{}:{'readyDraftHeadRevision':_0x14a811[_0x453d5c(0x17a)]},..._0x14a811['mergeResult']===undefined?{}:{'mergeResult':cloneMergeResult(_0x14a811['mergeResult'])}};}function requireTrunkBaseline(_0x80f886){const _0x499bcc=_0x38414f;if(_0x80f886[_0x499bcc(0xc1)]!==_0x499bcc(0x171)||!Number['isSafeInteger'](_0x80f886[_0x499bcc(0x116)])||_0x80f886[_0x499bcc(0x116)]<0x1)throw adapterFailure(_0x499bcc(0x11c));return _0x80f886[_0x499bcc(0x116)];}function validateMergeArtifact(_0x3b6d76,_0x28ea4a,_0x44ea0a){const _0x56ddbb=_0x38414f;if(_0x44ea0a[_0x56ddbb(0x17a)]!==_0x28ea4a||_0x44ea0a[_0x56ddbb(0x169)][_0x56ddbb(0xec)]['unitID']!==_0x3b6d76[_0x56ddbb(0x162)]||_0x44ea0a[_0x56ddbb(0x169)]['snapshot'][_0x56ddbb(0x106)]!==_0x3b6d76['type']||_0x44ea0a[_0x56ddbb(0x169)]['snapshot']['rev']!==0x1)throw adapterFailure(_0x56ddbb(0xea));}function toInitialSnapshot(_0x5a6395){const _0x3a76b7=_0x38414f,_0x37cf7c={..._0x5a6395,'rev':0x1};if(_0x5a6395[_0x3a76b7(0x10d)])return{..._0x37cf7c,'workbook':{..._0x5a6395[_0x3a76b7(0x10d)],'rev':0x1}};if(_0x5a6395['doc'])return{..._0x37cf7c,'doc':{..._0x5a6395[_0x3a76b7(0xd7)],'rev':0x1}};if(_0x5a6395[_0x3a76b7(0xee)])return{..._0x37cf7c,'slide':{..._0x5a6395['slide'],'rev':0x1}};if(_0x5a6395[_0x3a76b7(0xb9)])return{..._0x37cf7c,'board':{..._0x5a6395[_0x3a76b7(0xb9)],'rev':0x1}};return _0x37cf7c;}function requireWorktreeUnit(_0x490bba,_0x16859d){const _0x4d32cd=_0x38414f,_0x3f55df=_0x490bba[_0x4d32cd(0x172)][_0x4d32cd(0xc2)](_0x22a0f7=>_0x22a0f7['unitID']===_0x16859d);if(!_0x3f55df)throw adapterFailure(_0x4d32cd(0x182));return _0x3f55df;}function isWorktreeStatus(_0x254a65){const _0x1b7e66=_0x38414f;return _0x254a65===_0x1b7e66(0xc5)||_0x254a65==='ready'||_0x254a65===_0x1b7e66(0xc4)||_0x254a65==='merged'||_0x254a65==='discarded';}function isMergeResult(_0x1cae4f){const _0x1d043e=_0x38414f;if(_0x1cae4f===undefined)return!![];if(!_0x1cae4f||typeof _0x1cae4f!==_0x1d043e(0xf9)||!(_0x1d043e(0xeb)in _0x1cae4f))return![];if(_0x1cae4f[_0x1d043e(0xeb)]===_0x1d043e(0x151))return!![];if(_0x1cae4f[_0x1d043e(0xeb)]===_0x1d043e(0x13e)&&'trunkRevision'in _0x1cae4f)return typeof _0x1cae4f[_0x1d043e(0x110)]===_0x1d043e(0x176)&&Number[_0x1d043e(0x127)](_0x1cae4f[_0x1d043e(0x110)])&&_0x1cae4f[_0x1d043e(0x110)]>=0x1;if(_0x1cae4f['status']!==_0x1d043e(0x108)&&_0x1cae4f[_0x1d043e(0xeb)]!=='failed'||!('error'in _0x1cae4f)||!_0x1cae4f['error']||typeof _0x1cae4f[_0x1d043e(0xfd)]!==_0x1d043e(0xf9)||!(_0x1d043e(0x16e)in _0x1cae4f[_0x1d043e(0xfd)])||!(_0x1d043e(0xc8)in _0x1cae4f['error'])||!('retryable'in _0x1cae4f['error']))return![];return typeof _0x1cae4f['error']['code']===_0x1d043e(0x124)&&!!_0x1cae4f[_0x1d043e(0xfd)]['code']&&typeof _0x1cae4f[_0x1d043e(0xfd)][_0x1d043e(0xc8)]===_0x1d043e(0x124)&&!!_0x1cae4f[_0x1d043e(0xfd)][_0x1d043e(0xc8)]&&typeof _0x1cae4f['error']['retryable']===_0x1d043e(0x99);}function cloneMergeResult(_0x142cf0){const _0x14e8cd=_0x38414f;if(_0x142cf0[_0x14e8cd(0xeb)]===_0x14e8cd(0x13e))return{'status':_0x14e8cd(0x13e),'trunkRevision':_0x142cf0[_0x14e8cd(0x110)]};if(_0x142cf0[_0x14e8cd(0xeb)]===_0x14e8cd(0x151))return{'status':_0x14e8cd(0x151)};return{'status':_0x142cf0[_0x14e8cd(0xeb)],'error':{'code':_0x142cf0[_0x14e8cd(0xfd)]['code'],'message':_0x142cf0['error'][_0x14e8cd(0xc8)],'retryable':_0x142cf0[_0x14e8cd(0xfd)][_0x14e8cd(0x12e)]}};}function cloneTerminalMergeResult(_0x5e6580){const _0x5c88ab=_0x38414f;if(_0x5e6580?.[_0x5c88ab(0xeb)]===_0x5c88ab(0x13e))return{'status':_0x5c88ab(0x13e),'trunkRevision':_0x5e6580['trunkRevision']};if(_0x5e6580?.[_0x5c88ab(0xeb)]===_0x5c88ab(0x151))return{'status':_0x5c88ab(0x151)};throw adapterFailure('Worktree\x20Unit\x20merge\x20result\x20is\x20not\x20terminal');}function isTerminalResult(_0x1139f0){const _0x4a8eb6=_0x38414f;return _0x1139f0?.['status']===_0x4a8eb6(0x13e)||_0x1139f0?.[_0x4a8eb6(0xeb)]===_0x4a8eb6(0x151);}function _0x5cf5(){const _0x48e583=['Trunk\x20Database\x20returned\x20invalid\x20Unit\x20metadata','saveUnitMergeArtifact','413wJANio','artifact','WORKTREE_STATUS_MISMATCH','readWorktreeData','_trunkService','OT_CONFLICT','attempt','UniverCollabWorktreeService\x20requires\x20a\x20Worktree\x20dbAdapter','values','_logger','addUnit','createUnitFromData','readUnitData','state','Trunk\x20Unit\x20','WORKTREE_NOT_FOUND','run','changesets','UNIVER_SHEET','blockID','startOrResumeMerge','finishMerge','Database\x20returned\x20invalid\x20Worktree\x20metadata','board','logger','\x20cannot\x20merge\x20from\x20','\x20merge\x20was\x20superseded','get','CollabError','\x20already\x20exists','Worktree\x20Unit\x20merge\x20artifact\x20is\x20missing','source','find','Draft\x20Request\x20is\x20bound\x20to\x20a\x20different\x20Worktree','merging','draft','\x20cannot\x20transition\x20from\x20','keys','message','getDraftChangesets','headRevision','from','171705sGRgvP','changesetCommitted','changeset','worktreeCreated','already-committed','service','failed','_metrics','ServiceLifecycle','defineProperty','3162yQRicX','doc','_mergeUnit','observe','createEvaluateWorktreeUnitMergeRequest','sid','emit','EventRegistry','markWorktreeReady','_trunkDbAdapter','__esModule','resources','worktree-created-unit','createReopenWorktreeRequest','length','_dbAdapter','Database\x20returned\x20incomplete\x20initial\x20Worktree\x20Units','_runtimeOptions','UniverType','3324jdUutb','Database\x20returned\x20an\x20invalid\x20Worktree\x20Unit\x20merge\x20artifact','status','snapshot','started','slide','Worktree\x20Service\x20event\x20listener\x20failed','expectedHeadRevision','commitChangeset','UniverCollabWorktreeService\x20requires\x20trunk\x20service\x20and\x20dbAdapter','_transition','discardWorktree','createCreateWorktreeRequest','dispose','unitID\x20is\x20required','resourceIDs','object','createMarkWorktreeReadyRequest','199cLJJgO','draftHeadRevision','error','getUnit','set','UNIVER_SLIDE','use','not-found','getSnapshot','_matchesCreatedTrunkUnit','getSheetBlock','type','WorktreeError','conflict','customData','Frozen\x20Worktree\x20draft\x20history\x20is\x20not\x20contiguous','Initial\x20Unit\x20IDs\x20cannot\x20be\x20empty','createAddWorktreeUnitRequest','workbook','added','some','trunkRevision','Database\x20returned\x20invalid\x20Worktree\x20Unit\x20metadata','12PBctKP','not-behind','create','mergeResult','baselineTrunkRevision','_events','captureWorktreeUnitMergePreview','_middleware','stale-merge','info','Trunk-sourced\x20Worktree\x20Unit\x20has\x20no\x20valid\x20baseline','unitCreated','_requireTrunkUnit','_draftService','_maxRevisionRetries','already-exists','worktree','revision','string','currentRevision','ADAPTER_FAILURE','isSafeInteger','collaboration.worktree.service.call','request','Database\x20returned\x20an\x20invalid\x20merge\x20artifact\x20result','Frozen\x20Worktree\x20draft\x20history\x20is\x20no\x20longer\x20readable','stringify','getChangesets','retryable','WORKTREE_NOT_EDITABLE','Merge\x20failed','WorktreeCreateConflict','sheetBlocks','\x20already\x20exists\x20with\x20different\x20content','_mergeCreatedUnit','createUnit','parse','submitChangeset','already-recorded','latestRevision','running','isDeepStrictEqual','WORKTREE_DRAFT_HISTORY_INVALID','baseRev','merged','mergeWorktree','Database\x20returned\x20an\x20invalid\x20merge\x20result\x20status','4081977dCLzjm','worktreeID','reopenWorktree','23837411ZsAGhH','createWorktree','debug','map','78QqXyYo','addWorktreeUnit','Worktree\x20','53064xdiXNv','preview','all','Worktree\x20Service\x20operation\x20failed','status-mismatch','Database\x20Adapter\x20failed','unchanged','ready','WORKTREE_CREATE_CONFLICT','_call','markReady','already-merged','session','mutations','_lifecycle','clear','worktreeUnitMergeResultRecorded','has','WorktreeDraftDatabaseAdapterView','size','not-applicable','_database','_assertRunning','unitID','add','50mVMcqs','maxRevisionRetries','runtime','\x20does\x20not\x20exist','INVALID_REQUEST','unit','dbAdapter','10524XzotTv','UniverCollabWorktreeService','worktreeID\x20is\x20required','code','worktreeStatusChanged','96591mlaYyR','trunk','units','transitioned','applyChangeset','previousStatus','number','getWorktree','worktreeUnitAdded','getResources','readyDraftHeadRevision','createdAt','UNIVER_BOARD','now','push','createGetWorktreeRequest','evaluateWorktreeUnitMerge','WORKTREE_STALE_MERGE','Database\x20omitted\x20the\x20added\x20Worktree\x20Unit','FrozenDraftConflict','aggregate','\x20is\x20','captureWorktreeUnitHeadSnapshot','name','INTERNAL_ERROR','increment','userId','Worktree-created\x20Unit\x20seed\x20is\x20missing','recorded','worktreeUnitCreated','warn','boolean','WORKTREE_UNIT_NOT_FOUND','\x20does\x20not\x20exist\x20in\x20Worktree\x20','_requireWorktreeAggregate','Initial\x20Unit\x20IDs\x20must\x20be\x20unique','randomUUID','_draftServices'];_0x5cf5=function(){return _0x48e583;};return _0x5cf5();}function worktreeNotFound(_0x39573e){const _0x216375=_0x38414f;return new worktree_error_js_1[(_0x216375(0x107))](_0x216375(0xb1),_0x216375(0x14a)+_0x39573e+_0x216375(0x167));}function invalidRequest(_0x2bb39f){const _0x29ee11=_0x38414f;return new collaboration_service_1[(_0x29ee11(0xbe))](_0x29ee11(0x168),_0x2bb39f);}function adapterFailure(_0x2e9543,_0x2b2e96){const _0x24a9a7=_0x38414f;return new collaboration_service_1[(_0x24a9a7(0xbe))](_0x24a9a7(0x126),_0x2e9543,{'retryable':!![],..._0x2b2e96===undefined?{}:{'cause':_0x2b2e96}});}function createSafeLogger(_0x580795){const _0x59985b=_0x38414f,_0x8ae817={'debug':()=>undefined,'info':()=>undefined,'warn':()=>undefined,'error':()=>undefined};if(!_0x580795)return _0x8ae817;return{'debug':(..._0x51a414)=>safelyCall(()=>_0x580795[_0x59985b(0x146)](..._0x51a414)),'info':(..._0x5dff2c)=>safelyCall(()=>_0x580795[_0x59985b(0x11b)](..._0x5dff2c)),'warn':(..._0xd1d50e)=>safelyCall(()=>_0x580795[_0x59985b(0x98)](..._0xd1d50e)),'error':(..._0x42ecdf)=>safelyCall(()=>_0x580795[_0x59985b(0xfd)](..._0x42ecdf))};}function createSafeMetrics(_0x1c7aa0){const _0xeab1d9=_0x38414f,_0x3f417d={'increment':()=>undefined,'observe':()=>undefined};if(!_0x1c7aa0)return _0x3f417d;return{'increment':(..._0x38e1c2)=>safelyCall(()=>_0x1c7aa0[_0xeab1d9(0x93)](..._0x38e1c2)),'observe':(..._0x17034e)=>safelyCall(()=>_0x1c7aa0[_0xeab1d9(0xd9)](..._0x17034e))};}function safelyCall(_0x29186b){try{_0x29186b();}catch{}}function errorMessage(_0x15dd1d){const _0x409e9c=_0x38414f;return _0x15dd1d instanceof Error?_0x15dd1d[_0x409e9c(0xc8)]:String(_0x15dd1d);}
@@ -0,0 +1,103 @@
1
+ import type { CreateUnitFromDataInput, CreateUnitInput, GetChangesetsResult, GetResourcesResult, GetSheetBlockResult, GetUnitResult, SaveSnapshotInput, SubmitChangesetResult } from "@univerjs-pro/collaboration-service";
2
+ import type { IChangeset, UniverType } from "@univerjs/protocol";
3
+ import type { WorktreeData, WorktreeMergeError } from "../model/types.js";
4
+ export interface WorktreeResult {
5
+ readonly worktree: WorktreeData;
6
+ }
7
+ export interface CreateWorktreeInput {
8
+ readonly worktreeID: string;
9
+ readonly units?: readonly string[];
10
+ }
11
+ export interface GetWorktreeInput {
12
+ readonly worktreeID: string;
13
+ }
14
+ export interface AddWorktreeUnitInput {
15
+ readonly worktreeID: string;
16
+ readonly unitID: string;
17
+ }
18
+ export interface CreateWorktreeUnitInput extends CreateUnitInput {
19
+ readonly worktreeID: string;
20
+ }
21
+ export type CreateWorktreeUnitFromDataInput = CreateUnitFromDataInput & {
22
+ readonly worktreeID: string;
23
+ };
24
+ export interface MarkWorktreeReadyInput {
25
+ readonly worktreeID: string;
26
+ }
27
+ export interface ReopenWorktreeInput {
28
+ readonly worktreeID: string;
29
+ }
30
+ export interface DiscardWorktreeInput {
31
+ readonly worktreeID: string;
32
+ }
33
+ export interface MergeWorktreeInput {
34
+ readonly worktreeID: string;
35
+ }
36
+ export interface EvaluateWorktreeUnitMergeInput {
37
+ readonly worktreeID: string;
38
+ readonly unitID: string;
39
+ }
40
+ export type WorktreeUnitMergeEvaluation = {
41
+ readonly status: "not-behind";
42
+ readonly worktreeID: string;
43
+ readonly unitID: string;
44
+ } | {
45
+ readonly status: "preview";
46
+ readonly worktreeID: string;
47
+ readonly unitID: string;
48
+ readonly preview: SaveSnapshotInput;
49
+ } | {
50
+ readonly status: "conflict";
51
+ readonly worktreeID: string;
52
+ readonly unitID: string;
53
+ readonly error: WorktreeMergeError;
54
+ } | {
55
+ readonly status: "already-merged";
56
+ readonly worktreeID: string;
57
+ readonly unitID: string;
58
+ readonly mergeResult: {
59
+ readonly status: "merged";
60
+ readonly trunkRevision: number;
61
+ } | {
62
+ readonly status: "unchanged";
63
+ };
64
+ } | {
65
+ readonly status: "not-applicable";
66
+ readonly worktreeID: string;
67
+ readonly unitID: string;
68
+ readonly reason: "worktree-created-unit";
69
+ };
70
+ export interface GetWorktreeUnitInput {
71
+ readonly worktreeID: string;
72
+ readonly unitID: string;
73
+ readonly type: UniverType;
74
+ readonly revision: number;
75
+ }
76
+ export interface GetWorktreeChangesetsInput {
77
+ readonly worktreeID: string;
78
+ readonly unitID: string;
79
+ readonly type: UniverType;
80
+ readonly from: number;
81
+ readonly to: number;
82
+ }
83
+ export interface GetWorktreeSheetBlockInput {
84
+ readonly worktreeID: string;
85
+ readonly unitID: string;
86
+ readonly type: UniverType;
87
+ readonly blockID: string;
88
+ }
89
+ export interface GetWorktreeResourcesInput {
90
+ readonly worktreeID: string;
91
+ readonly unitID: string;
92
+ readonly type: UniverType;
93
+ readonly resourceIDs: readonly string[];
94
+ }
95
+ export interface SubmitWorktreeChangesetInput {
96
+ readonly worktreeID: string;
97
+ readonly changeset: IChangeset;
98
+ }
99
+ export type GetWorktreeUnitResult = GetUnitResult;
100
+ export type GetWorktreeChangesetsResult = GetChangesetsResult;
101
+ export type GetWorktreeSheetBlockResult = GetSheetBlockResult;
102
+ export type GetWorktreeResourcesResult = GetResourcesResult;
103
+ export type SubmitWorktreeChangesetResult = SubmitChangesetResult;
@@ -0,0 +1 @@
1
+ 'use strict';var _0x44e528=_0x2c8a;(function(_0x3a75d4,_0x211db5){var _0x5020d9=_0x2c8a,_0x2ec6a6=_0x3a75d4();while(!![]){try{var _0x4763d5=parseInt(_0x5020d9(0x93))/0x1*(-parseInt(_0x5020d9(0x8e))/0x2)+-parseInt(_0x5020d9(0x8d))/0x3*(parseInt(_0x5020d9(0x8f))/0x4)+parseInt(_0x5020d9(0x90))/0x5*(-parseInt(_0x5020d9(0x95))/0x6)+parseInt(_0x5020d9(0x98))/0x7*(-parseInt(_0x5020d9(0x97))/0x8)+-parseInt(_0x5020d9(0x92))/0x9*(parseInt(_0x5020d9(0x8c))/0xa)+-parseInt(_0x5020d9(0x99))/0xb+-parseInt(_0x5020d9(0x94))/0xc*(-parseInt(_0x5020d9(0x91))/0xd);if(_0x4763d5===_0x211db5)break;else _0x2ec6a6['push'](_0x2ec6a6['shift']());}catch(_0x37aaf5){_0x2ec6a6['push'](_0x2ec6a6['shift']());}}}(_0x4e89,0x3b285));function _0x2c8a(_0x33486d,_0x2a17b7){_0x33486d=_0x33486d-0x8c;var _0x4e897b=_0x4e89();var _0x2c8a61=_0x4e897b[_0x33486d];return _0x2c8a61;}Object['defineProperty'](exports,_0x44e528(0x96),{'value':!![]});function _0x4e89(){var _0x1fd749=['10908jyfFwM','__esModule','8IaaXgm','329861BPLLPj','3138564UHtpSi','2367330YhLtyq','178056OtwTaw','1218hYcRgD','28kMRJDF','785GhaZST','4859621ELMObP','18ChMzYI','197mrWvzm','60oMbNFb'];_0x4e89=function(){return _0x1fd749;};return _0x4e89();}
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "@univerjs-pro/collaboration-worktree-service",
3
+ "type": "commonjs",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.js",
10
+ "require": "./dist/index.js"
11
+ }
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "version": "1.0.0-insiders.20260727-46ed76c",
17
+ "dependencies": {
18
+ "@univerjs-pro/collaboration-service": "1.0.0-insiders.20260727-46ed76c",
19
+ "@univerjs/protocol": "1.0.0-insiders.20260727-46ed76c"
20
+ },
21
+ "publishConfig": {
22
+ "access": "public"
23
+ }
24
+ }