core-3nweb-client-lib 0.26.1 → 0.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/build/api-defs/asmail.d.ts +1 -1
  2. package/build/api-defs/files.d.ts +281 -75
  3. package/build/core/app-files.js +7 -7
  4. package/build/core/asmail/config/common.js +2 -2
  5. package/build/core/asmail/config/index.js +2 -2
  6. package/build/core/asmail/config/published-intro-key.js +1 -1
  7. package/build/core/asmail/delivery/common.js +7 -7
  8. package/build/core/asmail/delivery/index.js +5 -5
  9. package/build/core/asmail/delivery/msg.js +4 -4
  10. package/build/core/asmail/delivery/per-recipient-wip.js +1 -1
  11. package/build/core/asmail/inbox/attachments/fs.d.ts +2 -1
  12. package/build/core/asmail/inbox/attachments/fs.js +9 -4
  13. package/build/core/asmail/inbox/cached-msgs.js +1 -1
  14. package/build/core/asmail/inbox/inbox-events.js +4 -4
  15. package/build/core/asmail/inbox/index.js +10 -10
  16. package/build/core/asmail/inbox/msg-downloader.js +1 -1
  17. package/build/core/asmail/inbox/msg-indexing.js +1 -1
  18. package/build/core/asmail/inbox/msg-on-disk.js +5 -5
  19. package/build/core/asmail/index.d.ts +3 -3
  20. package/build/core/asmail/index.js +13 -8
  21. package/build/core/asmail/key-verification.js +5 -5
  22. package/build/core/asmail/keyring/common.js +7 -6
  23. package/build/core/asmail/keyring/correspondent-keys.js +8 -7
  24. package/build/core/asmail/keyring/id-to-email-map.js +2 -1
  25. package/build/core/asmail/keyring/index.d.ts +7 -8
  26. package/build/core/asmail/keyring/index.js +15 -14
  27. package/build/core/asmail/keyring/keyring-storage.js +2 -1
  28. package/build/core/asmail/msg/opener.js +3 -3
  29. package/build/core/asmail/msg/packer.js +13 -13
  30. package/build/core/asmail/sending-params/own-params.js +2 -2
  31. package/build/core/asmail/sending-params/params-from-others.js +1 -1
  32. package/build/core/id-manager/index.d.ts +43 -0
  33. package/build/core/{id-manager.js → id-manager/index.js} +36 -114
  34. package/build/core/id-manager/key-storage.d.ts +21 -0
  35. package/build/core/id-manager/key-storage.js +96 -0
  36. package/build/core/index.d.ts +2 -1
  37. package/build/core/index.js +31 -33
  38. package/build/core/sign-in.d.ts +1 -2
  39. package/build/core/sign-in.js +8 -17
  40. package/build/core/sign-up.d.ts +2 -0
  41. package/build/core/sign-up.js +11 -10
  42. package/build/core/storage/common/json-saving.js +2 -2
  43. package/build/core/storage/common/obj-info-file.d.ts +12 -4
  44. package/build/core/storage/common/obj-info-file.js +66 -34
  45. package/build/core/storage/common/utils.d.ts +2 -0
  46. package/build/core/storage/common/utils.js +32 -0
  47. package/build/core/storage/index.d.ts +5 -17
  48. package/build/core/storage/index.js +78 -119
  49. package/build/core/storage/local/obj-files-gc.d.ts +2 -0
  50. package/build/core/storage/local/obj-files-gc.js +49 -37
  51. package/build/core/storage/local/obj-files.d.ts +4 -7
  52. package/build/core/storage/local/obj-files.js +7 -10
  53. package/build/core/storage/local/obj-status.d.ts +12 -6
  54. package/build/core/storage/local/obj-status.js +24 -9
  55. package/build/core/storage/local/storage.d.ts +10 -7
  56. package/build/core/storage/local/storage.js +29 -18
  57. package/build/core/storage/synced/downloader.js +1 -1
  58. package/build/core/storage/synced/obj-files-gc.d.ts +1 -0
  59. package/build/core/storage/synced/obj-files-gc.js +76 -39
  60. package/build/core/storage/synced/obj-files.d.ts +50 -36
  61. package/build/core/storage/synced/obj-files.js +201 -162
  62. package/build/core/storage/synced/obj-status.d.ts +99 -86
  63. package/build/core/storage/synced/obj-status.js +520 -251
  64. package/build/core/storage/synced/remote-events.d.ts +11 -12
  65. package/build/core/storage/synced/remote-events.js +73 -56
  66. package/build/core/storage/synced/storage.d.ts +24 -10
  67. package/build/core/storage/synced/storage.js +147 -47
  68. package/build/core/storage/synced/upload-header-file.d.ts +4 -0
  69. package/build/core/storage/synced/upload-header-file.js +64 -0
  70. package/build/core/storage/synced/upsyncer.d.ts +12 -7
  71. package/build/core/storage/synced/upsyncer.js +210 -280
  72. package/build/core/storage/system-folders/apps-data.d.ts +16 -0
  73. package/build/core/storage/system-folders/apps-data.js +110 -0
  74. package/build/core/storage/system-folders/index.d.ts +18 -0
  75. package/build/core/storage/system-folders/index.js +77 -0
  76. package/build/core-ipc/common-caps.js +3 -3
  77. package/build/core-ipc/generic.js +8 -8
  78. package/build/core-ipc/startup-caps.js +2 -2
  79. package/build/cryptors.js +6 -2
  80. package/build/ipc-via-protobuf/asmail-cap.js +58 -57
  81. package/build/ipc-via-protobuf/bytes.js +16 -17
  82. package/build/ipc-via-protobuf/connector-clients-side.d.ts +1 -0
  83. package/build/ipc-via-protobuf/connector-clients-side.js +14 -15
  84. package/build/ipc-via-protobuf/connector-services-side.js +10 -10
  85. package/build/ipc-via-protobuf/connector.js +4 -4
  86. package/build/ipc-via-protobuf/file.d.ts +48 -12
  87. package/build/ipc-via-protobuf/file.js +474 -126
  88. package/build/ipc-via-protobuf/fs.d.ts +8 -0
  89. package/build/ipc-via-protobuf/fs.js +577 -142
  90. package/build/ipc-via-protobuf/log-cap.js +2 -2
  91. package/build/ipc-via-protobuf/mailerid.js +3 -3
  92. package/build/ipc-via-protobuf/protobuf-msg.d.ts +1 -0
  93. package/build/ipc-via-protobuf/protobuf-msg.js +11 -7
  94. package/build/ipc-via-protobuf/startup-cap.js +21 -21
  95. package/build/ipc-via-protobuf/storage-cap.js +12 -12
  96. package/build/ipc.js +7 -2
  97. package/build/lib-client/3nstorage/exceptions.d.ts +16 -1
  98. package/build/lib-client/3nstorage/exceptions.js +21 -3
  99. package/build/lib-client/3nstorage/service.d.ts +21 -3
  100. package/build/lib-client/3nstorage/service.js +128 -46
  101. package/build/lib-client/3nstorage/util/file-based-json.d.ts +2 -1
  102. package/build/lib-client/3nstorage/util/file-based-json.js +3 -2
  103. package/build/lib-client/3nstorage/util/for-arrays.d.ts +1 -0
  104. package/build/lib-client/3nstorage/util/for-arrays.js +32 -0
  105. package/build/lib-client/3nstorage/xsp-fs/attrs.js +17 -17
  106. package/build/lib-client/3nstorage/xsp-fs/common.d.ts +44 -19
  107. package/build/lib-client/3nstorage/xsp-fs/common.js +30 -19
  108. package/build/lib-client/3nstorage/xsp-fs/file-node.d.ts +1 -0
  109. package/build/lib-client/3nstorage/xsp-fs/file-node.js +17 -13
  110. package/build/lib-client/3nstorage/xsp-fs/file.d.ts +31 -6
  111. package/build/lib-client/3nstorage/xsp-fs/file.js +73 -25
  112. package/build/lib-client/3nstorage/xsp-fs/folder-node-serialization.js +4 -4
  113. package/build/lib-client/3nstorage/xsp-fs/folder-node.d.ts +32 -13
  114. package/build/lib-client/3nstorage/xsp-fs/folder-node.js +752 -192
  115. package/build/lib-client/3nstorage/xsp-fs/fs.d.ts +35 -4
  116. package/build/lib-client/3nstorage/xsp-fs/fs.js +236 -119
  117. package/build/lib-client/3nstorage/xsp-fs/link-node.d.ts +1 -0
  118. package/build/lib-client/3nstorage/xsp-fs/link-node.js +7 -2
  119. package/build/lib-client/3nstorage/xsp-fs/node-in-fs.d.ts +30 -29
  120. package/build/lib-client/3nstorage/xsp-fs/node-in-fs.js +232 -127
  121. package/build/lib-client/3nstorage/xsp-fs/node-persistence.d.ts +1 -1
  122. package/build/lib-client/3nstorage/xsp-fs/node-persistence.js +17 -18
  123. package/build/lib-client/3nstorage/xsp-fs/xsp-payload-v1.js +3 -3
  124. package/build/lib-client/3nstorage/xsp-fs/xsp-payload-v2.js +53 -53
  125. package/build/lib-client/3nweb-signup.js +4 -4
  126. package/build/lib-client/asmail/recipient.js +15 -15
  127. package/build/lib-client/asmail/sender.js +22 -22
  128. package/build/lib-client/asmail/service-config.js +3 -3
  129. package/build/lib-client/cryptor/cryptor-in-worker.js +18 -16
  130. package/build/lib-client/cryptor/cryptor-wasm.js +1 -1
  131. package/build/lib-client/cryptor/cryptor.js +4 -2
  132. package/build/lib-client/cryptor/cryptor.wasm +0 -0
  133. package/build/lib-client/cryptor/in-proc-js.js +1 -1
  134. package/build/lib-client/cryptor/in-proc-wasm.js +6 -6
  135. package/build/lib-client/cryptor/worker-js.js +2 -2
  136. package/build/lib-client/cryptor/worker-wasm.js +2 -2
  137. package/build/lib-client/files-select.js +1 -1
  138. package/build/lib-client/files.d.ts +1 -1
  139. package/build/lib-client/files.js +71 -6
  140. package/build/lib-client/fs-collection.js +1 -1
  141. package/build/lib-client/fs-sync-utils.d.ts +5 -0
  142. package/build/lib-client/fs-sync-utils.js +61 -0
  143. package/build/lib-client/fs-view.d.ts +14 -0
  144. package/build/lib-client/fs-view.js +33 -0
  145. package/build/lib-client/key-derivation.js +1 -1
  146. package/build/lib-client/local-files/dev-file-sink.js +9 -9
  147. package/build/lib-client/local-files/dev-file-src.js +2 -2
  148. package/build/lib-client/local-files/device-fs.d.ts +1 -1
  149. package/build/lib-client/local-files/device-fs.js +56 -54
  150. package/build/lib-client/logging/log-to-file.d.ts +1 -1
  151. package/build/lib-client/logging/log-to-file.js +7 -7
  152. package/build/lib-client/mailer-id/login.js +7 -7
  153. package/build/lib-client/mailer-id/provisioner.js +12 -12
  154. package/build/lib-client/objs-on-disk/file-writing-proc.js +3 -3
  155. package/build/lib-client/objs-on-disk/obj-folders.js +31 -31
  156. package/build/lib-client/objs-on-disk/obj-on-disk.d.ts +13 -2
  157. package/build/lib-client/objs-on-disk/obj-on-disk.js +24 -9
  158. package/build/lib-client/request-utils.d.ts +1 -0
  159. package/build/lib-client/request-utils.js +13 -13
  160. package/build/lib-client/server-events.d.ts +3 -3
  161. package/build/lib-client/server-events.js +9 -8
  162. package/build/lib-client/service-locator.js +10 -10
  163. package/build/lib-client/user-with-mid-session.d.ts +2 -1
  164. package/build/lib-client/user-with-mid-session.js +14 -8
  165. package/build/lib-client/user-with-pkl-session.js +25 -25
  166. package/build/lib-client/ws-utils.js +2 -2
  167. package/build/lib-common/async-cryptor-wrap.js +4 -4
  168. package/build/lib-common/async-fs-node.d.ts +5 -3
  169. package/build/lib-common/async-fs-node.js +17 -17
  170. package/build/lib-common/byte-streaming/pipe.js +1 -1
  171. package/build/lib-common/byte-streaming/wrapping.js +13 -13
  172. package/build/lib-common/canonical-address.js +1 -1
  173. package/build/lib-common/exceptions/error.d.ts +1 -0
  174. package/build/lib-common/exceptions/error.js +7 -6
  175. package/build/lib-common/exceptions/file.d.ts +4 -2
  176. package/build/lib-common/exceptions/file.js +24 -54
  177. package/build/lib-common/ipc/generic-ipc.js +5 -4
  178. package/build/lib-common/ipc/ws-ipc.js +2 -2
  179. package/build/lib-common/mid-sigs-NaCl-Ed.js +14 -14
  180. package/build/lib-common/objs-on-disk/file-layout.d.ts +19 -0
  181. package/build/lib-common/objs-on-disk/file-layout.js +130 -12
  182. package/build/lib-common/objs-on-disk/obj-file.d.ts +13 -2
  183. package/build/lib-common/objs-on-disk/obj-file.js +96 -35
  184. package/build/lib-common/objs-on-disk/utils.d.ts +1 -0
  185. package/build/lib-common/objs-on-disk/utils.js +3 -3
  186. package/build/lib-common/objs-on-disk/v1-obj-file-format.js +14 -14
  187. package/build/lib-common/processes/labelled-exec-pools.d.ts +1 -1
  188. package/build/lib-common/processes/labelled-exec-pools.js +1 -1
  189. package/build/lib-common/processes/pressure.js +2 -2
  190. package/build/lib-common/processes/synced.js +1 -1
  191. package/build/lib-common/processes/timeout.js +2 -2
  192. package/build/lib-common/random-node.js +7 -7
  193. package/build/lib-common/service-api/3nstorage/owner.d.ts +101 -42
  194. package/build/lib-common/service-api/3nstorage/owner.js +83 -40
  195. package/build/lib-common/service-api/asmail/delivery.js +2 -2
  196. package/build/lib-common/service-api/asmail/retrieval.js +1 -1
  197. package/build/lib-common/timed-cache.d.ts +1 -0
  198. package/build/lib-common/timed-non-weak-cache.d.ts +1 -0
  199. package/build/lib-common/timed-non-weak-cache.js +11 -0
  200. package/build/lib-common/utils-for-observables.js +4 -4
  201. package/build/lib-common/weak-cache.d.ts +1 -0
  202. package/build/lib-common/weak-cache.js +12 -1
  203. package/build/lib-index.d.ts +2 -1
  204. package/build/lib-index.js +10 -7
  205. package/build/protos/asmail.proto.js +12955 -7496
  206. package/build/protos/file.proto.js +4867 -2744
  207. package/build/protos/fs.proto.js +9227 -3768
  208. package/package.json +7 -5
  209. package/protos/file.proto +91 -19
  210. package/protos/fs.proto +107 -8
  211. package/build/core/id-manager.d.ts +0 -46
@@ -1,117 +1,130 @@
1
- import { ObjId } from '../../../lib-client/3nstorage/xsp-fs/common';
2
- import { VersionsInfo } from '../common/obj-info-file';
1
+ import { ObjId, SyncedObjStatus } from '../../../lib-client/3nstorage/xsp-fs/common';
2
+ import { NonGarbageVersions, VersionsInfo } from '../common/obj-info-file';
3
3
  import { LogError } from '../../../lib-client/logging/log-to-file';
4
- declare type Stats = web3n.files.Stats;
4
+ import { DiffInfo, ObjStatus as RemoteObjStatus } from '../../../lib-common/service-api/3nstorage/owner';
5
+ import { FiniteChunk } from '../../../lib-common/objs-on-disk/file-layout';
6
+ import { UploadStatusRecorder } from './upsyncer';
7
+ declare type SyncStatus = web3n.files.SyncStatus;
5
8
  /**
6
- * Storage object can be in following states:
7
- * 1. Synced state indicates that current local version and one on the server
8
- * are same.
9
- * 2. Behind state indicates that while current local version is synced,
10
- * server already has a newer version.
11
- * 3. Unsynced state indicates that current local version hasn't been uploaded
12
- * to the server. Current is just the next version, following the server one.
13
- * 4. Conflicting state indicates that current unsynced local version conflicts
14
- * with version on the server, uploaded by other client.
9
+ * This is status information of an object in synced storage.
10
+ * Local references versions that haven't been synced/uploaded.
11
+ * Remote enumerates versions on the server.
12
+ * Synced marks version of latest synchronized moment.
13
+ * Local versions must be on disk as it is the only copy. Remote versions can
14
+ * be present as needed/desired.
15
15
  */
16
- export declare type SyncState = 'synced' | 'behind' | 'unsynced' | 'conflicting';
17
16
  export interface ObjStatusInfo {
18
17
  objId: ObjId;
18
+ local?: LocalVersions;
19
+ synced?: SyncMarker;
20
+ remote: VersionsOnServer;
21
+ upload?: UploadInfo;
22
+ }
23
+ export interface LocalVersions extends VersionsInfo {
19
24
  isArchived?: boolean;
20
- versions: VersionsInfo;
21
- sync: {
22
- state: SyncState;
23
- latest?: number;
24
- conflictingRemote?: number[];
25
- remote?: number;
26
- deletedOnRemote?: true;
27
- };
28
- syncTasks?: {
29
- queued: UpSyncTaskInfo[];
30
- current?: UpSyncTaskInfo;
31
- };
25
+ archived?: undefined;
32
26
  }
33
- export interface UploadInfo {
34
- type: 'upload';
35
- transactionId?: string;
36
- createObj?: true;
37
- needUpload?: {
38
- header?: number;
39
- segs: BytesSection[];
40
- allByteOnDisk?: true;
41
- };
42
- version: number;
27
+ export interface SyncMarker {
28
+ version?: number;
29
+ isArchived?: boolean;
30
+ base?: number;
31
+ }
32
+ export interface VersionsOnServer extends VersionsInfo {
33
+ isArchived?: boolean;
34
+ }
35
+ export declare type UploadInfo = NewVersionUpload | RemovalUpload;
36
+ export interface NewVersionUpload {
37
+ type: 'new-version';
38
+ localVersion: number;
39
+ uploadVersion: number;
43
40
  baseVersion?: number;
41
+ needUpload?: WholeVerOrderedUpload | DiffVerOrderedUpload;
42
+ }
43
+ export interface RemovalUpload {
44
+ type: 'removal';
45
+ isPostponed: boolean;
46
+ localVersion?: number;
47
+ }
48
+ export interface WholeVerOrderedUpload {
49
+ type: 'ordered-whole';
50
+ createObj?: boolean;
51
+ header?: number;
52
+ segsLeft: number;
53
+ segsOfs: number;
54
+ transactionId?: string;
55
+ }
56
+ export interface DiffVerOrderedUpload {
57
+ type: 'ordered-diff';
58
+ diff: DiffInfo;
59
+ header?: number;
60
+ newSegsLeft: FiniteChunk[];
61
+ transactionId?: string;
44
62
  }
45
63
  export interface BytesSection {
46
64
  ofs: number;
47
65
  len: number;
48
66
  }
49
- export interface RemovalInfo {
50
- type: 'removal';
51
- archivedVersions?: number[] | number;
52
- currentVersion?: true;
53
- }
54
- export interface ArchivalInfo {
55
- type: 'archiving';
56
- archivalOfCurrent?: true;
57
- }
58
- export declare type UpSyncTaskInfo = UploadInfo | RemovalInfo | ArchivalInfo;
59
- export interface UpSyncStatus {
60
- queueTask(t: UpSyncTaskInfo): void;
61
- getTaskForProcessing(): Promise<UpSyncTaskInfo | undefined>;
62
- glanceOnNextTask(): UpSyncTaskInfo | undefined;
63
- recordInterimStateOfCurrentTask(t: UploadInfo): Promise<void>;
64
- recordTaskCompletion(t: UpSyncTaskInfo): Promise<void>;
65
- isSyncDone(): boolean;
66
- stat(): NonNullable<Stats['sync']>;
67
+ export interface NonGarbage {
68
+ local?: NonGarbageVersions;
69
+ remote: NonGarbageVersions;
70
+ uploadVersion?: number;
67
71
  }
68
72
  export declare const STATUS_FILE_NAME = "status";
69
- export declare class ObjStatus implements UpSyncStatus {
73
+ export declare class ObjStatus implements SyncedObjStatus, UploadStatusRecorder {
70
74
  private readonly objFolder;
71
75
  private readonly status;
72
76
  private readonly logError;
73
77
  private readonly saveProc;
78
+ private stateIndicator;
74
79
  private constructor();
75
80
  static readFrom(objFolder: string, objId: ObjId, logError: LogError): Promise<ObjStatus>;
76
81
  static makeNew(objFolder: string, objId: ObjId, logError: LogError): Promise<ObjStatus>;
77
82
  static makeForDownloadedVersion(objFolder: string, objId: ObjId, version: number, currentRemote: number, logError: LogError): Promise<ObjStatus>;
78
83
  static fileShowsObjNotInSyncedState(objFolder: string, objId: ObjId): Promise<boolean>;
84
+ static fileShowsObjNeedsRemovalOnRemote(objFolder: string, objId: ObjId): Promise<boolean>;
85
+ needsRemovalOnRemote(): boolean;
86
+ clearPostponeFlagInRemovalOnRemote(): Promise<boolean>;
87
+ private updateStateIndicator;
79
88
  isArchived(): boolean;
80
- getCurrentVersionOrThrow(): number;
81
- getNonGarbageVersions(): {
82
- gcMaxVer?: number;
83
- nonGarbage: Set<number>;
84
- };
85
- isRemoteVersionGreaterOrEqualTo(newRemoteVersion: number): boolean;
86
- isDeletedOnRemote(): boolean;
87
- syncedVersionGreaterOrEqual(version: number): boolean;
88
- removeCurrentVersion(verObjs: ContainerWithDelete<number>): Promise<void>;
89
+ getCurrentLocalOrSynced(): number;
90
+ getNonGarbageVersions(): NonGarbage;
91
+ removeCurrentVersion(): Promise<void>;
89
92
  private triggerSaveProc;
90
- setDeletedOnRemote(): Promise<void>;
91
- setRemoteVersion(version: number): Promise<void>;
92
- markVersionSynced(version: number): Promise<void>;
93
- setUnsyncedCurrentVersion(version: number, baseVer: number | undefined): Promise<void>;
93
+ recordUploadStart(info: NewVersionUpload): Promise<void>;
94
+ recordUploadInterimState(info: NewVersionUpload): Promise<void>;
95
+ recordUploadCancellation(info: NewVersionUpload): Promise<void>;
96
+ recordUploadCompletion(localVersion: number, uploadVersion: number): Promise<void>;
97
+ recordArchVersionRemoval(version: number): Promise<void>;
98
+ recordVersionArchival(version: number): Promise<void>;
99
+ recordRemoteRemoval(): Promise<void>;
100
+ recordRemoteRemovalCompletion(): Promise<void>;
101
+ recordRemoteChange(version: number): Promise<void>;
102
+ recordStatusFromServer({ archived, current }: RemoteObjStatus): Promise<void>;
94
103
  /**
95
- * This method ignores remote conflicting versions.
96
- * @param version
104
+ * When given object version is a diff on some base, this method returns
105
+ * a whole trace of local base versions up to synced one.
106
+ * Local bases, if present, are return in an array with highest version
107
+ * first.
108
+ * This returns undefined, when given object version is not a diff.
109
+ * @param version that is local, for which we want to get base versions, if
110
+ * it is a diff version.
97
111
  */
98
- isVersionSynced(version: number): boolean;
99
- isVersionArchived(version: number): boolean;
100
- queueTask(t: UpSyncTaskInfo): void;
101
- private addUploadToQueue;
102
- private addRemoveCurrentToQueue;
103
- private addRemoveArchivedToQueue;
104
- private addArchivalToQueue;
105
- getTaskForProcessing(): Promise<UpSyncTaskInfo | undefined>;
106
- glanceOnNextTask(): UpSyncTaskInfo | undefined;
107
- recordInterimStateOfCurrentTask(t: UploadInfo): Promise<void>;
108
- recordTaskCompletion(t: UpSyncTaskInfo): Promise<void>;
109
- isSyncDone(): boolean;
110
- isFileSaved(): boolean;
111
- stat(): NonNullable<Stats['sync']>;
112
- }
113
- interface ContainerWithDelete<T> {
114
- delete(key: T): void;
112
+ baseOfLocalVersion(version: number): {
113
+ localBases?: number[];
114
+ syncedBase?: number;
115
+ } | undefined;
116
+ setLocalCurrentVersion(version: number, baseVer: number | undefined): Promise<void>;
117
+ listVersions(): {
118
+ current?: number;
119
+ archived?: number[];
120
+ };
121
+ archiveCurrentVersion(): Promise<void>;
122
+ absorbLocalVersionBase(version: number, localBase: number): Promise<void>;
123
+ latestSyncedVersion(): number | undefined;
124
+ syncStatus(): SyncStatus;
125
+ neverUploaded(): boolean;
126
+ versionBeforeUnsyncedRemoval(): number | undefined;
127
+ adoptRemoteVersion(version?: number, dropLocalVer?: boolean): Promise<void>;
115
128
  }
116
129
  export declare function readAndCheckStatus(objFolder: string, objId: ObjId): Promise<ObjStatusInfo>;
117
130
  export {};