document-drive 4.0.0-staging.6 → 4.0.1

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 (254) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/prisma/schema.prisma +2 -1
  6. package/dist/src/drive-document-model/gen/document-model.js +3 -3
  7. package/dist/src/drive-document-model/gen/document-model.js.map +1 -1
  8. package/dist/src/drive-document-model/gen/node/creators.d.ts +2 -6
  9. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
  10. package/dist/src/drive-document-model/gen/node/creators.js +1 -8
  11. package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
  12. package/dist/src/drive-document-model/gen/schema/types.d.ts +14 -1
  13. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
  14. package/dist/src/drive-document-model/gen/schema/zod.d.ts +5 -1
  15. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
  16. package/dist/src/drive-document-model/gen/schema/zod.js +12 -0
  17. package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
  18. package/dist/src/drive-document-model/gen/types.d.ts +4 -13
  19. package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
  20. package/dist/src/drive-document-model/gen/types.js.map +1 -1
  21. package/dist/src/drive-document-model/module.d.ts +1 -2
  22. package/dist/src/drive-document-model/module.d.ts.map +1 -1
  23. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
  24. package/dist/src/drive-document-model/src/reducers/node.js +25 -1
  25. package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
  26. package/dist/src/drive-document-model/src/tests/actions.test.js +23 -1
  27. package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -1
  28. package/dist/src/drive-document-model/src/tests/base.test.js +32 -0
  29. package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -1
  30. package/dist/src/drive-document-model/src/tests/utils.test.js +37 -7
  31. package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -1
  32. package/dist/src/drive-document-model/src/utils.d.ts +8 -2
  33. package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
  34. package/dist/src/drive-document-model/src/utils.js +55 -6
  35. package/dist/src/drive-document-model/src/utils.js.map +1 -1
  36. package/dist/src/queue/base.d.ts +27 -6
  37. package/dist/src/queue/base.d.ts.map +1 -1
  38. package/dist/src/queue/base.js +203 -15
  39. package/dist/src/queue/base.js.map +1 -1
  40. package/dist/src/queue/redis.d.ts +27 -1
  41. package/dist/src/queue/redis.d.ts.map +1 -1
  42. package/dist/src/queue/redis.js +110 -122
  43. package/dist/src/queue/redis.js.map +1 -1
  44. package/dist/src/queue/types.d.ts +12 -18
  45. package/dist/src/queue/types.d.ts.map +1 -1
  46. package/dist/src/queue/types.js +0 -3
  47. package/dist/src/queue/types.js.map +1 -1
  48. package/dist/src/server/base-server.d.ts +11 -87
  49. package/dist/src/server/base-server.d.ts.map +1 -1
  50. package/dist/src/server/base-server.js +250 -549
  51. package/dist/src/server/base-server.js.map +1 -1
  52. package/dist/src/server/builder.js +2 -2
  53. package/dist/src/server/builder.js.map +1 -1
  54. package/dist/src/server/error.d.ts +3 -3
  55. package/dist/src/server/error.d.ts.map +1 -1
  56. package/dist/src/server/error.js +2 -2
  57. package/dist/src/server/error.js.map +1 -1
  58. package/dist/src/server/listener/listener-manager.d.ts +6 -5
  59. package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
  60. package/dist/src/server/listener/listener-manager.js +79 -62
  61. package/dist/src/server/listener/listener-manager.js.map +1 -1
  62. package/dist/src/server/listener/transmitter/internal.d.ts +1 -1
  63. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  64. package/dist/src/server/listener/transmitter/internal.js +12 -14
  65. package/dist/src/server/listener/transmitter/internal.js.map +1 -1
  66. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
  67. package/dist/src/server/listener/transmitter/pull-responder.js +8 -14
  68. package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
  69. package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
  70. package/dist/src/server/listener/transmitter/switchboard-push.js +8 -13
  71. package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
  72. package/dist/src/server/sync-manager.d.ts +10 -8
  73. package/dist/src/server/sync-manager.d.ts.map +1 -1
  74. package/dist/src/server/sync-manager.js +147 -62
  75. package/dist/src/server/sync-manager.js.map +1 -1
  76. package/dist/src/server/types.d.ts +31 -114
  77. package/dist/src/server/types.d.ts.map +1 -1
  78. package/dist/src/server/types.js.map +1 -1
  79. package/dist/src/server/utils.d.ts +1 -10
  80. package/dist/src/server/utils.d.ts.map +1 -1
  81. package/dist/src/server/utils.js +0 -41
  82. package/dist/src/server/utils.js.map +1 -1
  83. package/dist/src/storage/browser.d.ts +2 -7
  84. package/dist/src/storage/browser.d.ts.map +1 -1
  85. package/dist/src/storage/browser.js +22 -80
  86. package/dist/src/storage/browser.js.map +1 -1
  87. package/dist/src/storage/filesystem.d.ts +2 -7
  88. package/dist/src/storage/filesystem.d.ts.map +1 -1
  89. package/dist/src/storage/filesystem.js +22 -79
  90. package/dist/src/storage/filesystem.js.map +1 -1
  91. package/dist/src/storage/memory.d.ts +2 -7
  92. package/dist/src/storage/memory.d.ts.map +1 -1
  93. package/dist/src/storage/memory.js +22 -76
  94. package/dist/src/storage/memory.js.map +1 -1
  95. package/dist/src/storage/prisma/client/edge.js +4 -5
  96. package/dist/src/storage/prisma/client/index-browser.js +1 -2
  97. package/dist/src/storage/prisma/client/index.d.ts +249 -58
  98. package/dist/src/storage/prisma/client/index.js +4 -5
  99. package/dist/src/storage/prisma/client/package.json +1 -1
  100. package/dist/src/storage/prisma/client/schema.prisma +3 -2
  101. package/dist/src/storage/prisma/client/wasm.js +1 -2
  102. package/dist/src/storage/prisma/prisma.d.ts +4 -9
  103. package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
  104. package/dist/src/storage/prisma/prisma.js +51 -119
  105. package/dist/src/storage/prisma/prisma.js.map +1 -1
  106. package/dist/src/storage/types.d.ts +4 -43
  107. package/dist/src/storage/types.d.ts.map +1 -1
  108. package/dist/src/storage/utils.d.ts +0 -3
  109. package/dist/src/storage/utils.d.ts.map +1 -1
  110. package/dist/src/storage/utils.js +0 -14
  111. package/dist/src/storage/utils.js.map +1 -1
  112. package/dist/src/utils/gql-transformations.d.ts +5 -14
  113. package/dist/src/utils/gql-transformations.d.ts.map +1 -1
  114. package/dist/src/utils/gql-transformations.js +0 -1
  115. package/dist/src/utils/gql-transformations.js.map +1 -1
  116. package/dist/src/utils/misc.d.ts +0 -2
  117. package/dist/src/utils/misc.d.ts.map +1 -1
  118. package/dist/src/utils/misc.js +0 -4
  119. package/dist/src/utils/misc.js.map +1 -1
  120. package/dist/test/cache.test.d.ts +2 -0
  121. package/dist/test/cache.test.d.ts.map +1 -0
  122. package/dist/test/cache.test.js +281 -0
  123. package/dist/test/cache.test.js.map +1 -0
  124. package/dist/test/default-remote-drives.test.d.ts +2 -0
  125. package/dist/test/default-remote-drives.test.d.ts.map +1 -0
  126. package/dist/test/default-remote-drives.test.js +446 -0
  127. package/dist/test/default-remote-drives.test.js.map +1 -0
  128. package/dist/test/document-helpers/addUndo.test.d.ts +2 -0
  129. package/dist/test/document-helpers/addUndo.test.d.ts.map +1 -0
  130. package/dist/test/document-helpers/addUndo.test.js +120 -0
  131. package/dist/test/document-helpers/addUndo.test.js.map +1 -0
  132. package/dist/test/document-helpers/attachBranch.test.d.ts +2 -0
  133. package/dist/test/document-helpers/attachBranch.test.d.ts.map +1 -0
  134. package/dist/test/document-helpers/attachBranch.test.js +333 -0
  135. package/dist/test/document-helpers/attachBranch.test.js.map +1 -0
  136. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +2 -0
  137. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +1 -0
  138. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +252 -0
  139. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +1 -0
  140. package/dist/test/document-helpers/garbageCollect.test.d.ts +2 -0
  141. package/dist/test/document-helpers/garbageCollect.test.d.ts.map +1 -0
  142. package/dist/test/document-helpers/garbageCollect.test.js +136 -0
  143. package/dist/test/document-helpers/garbageCollect.test.js.map +1 -0
  144. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +2 -0
  145. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +1 -0
  146. package/dist/test/document-helpers/groupOperationsByScope.test.js +98 -0
  147. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +1 -0
  148. package/dist/test/document-helpers/merge.test.d.ts +2 -0
  149. package/dist/test/document-helpers/merge.test.d.ts.map +1 -0
  150. package/dist/test/document-helpers/merge.test.js +757 -0
  151. package/dist/test/document-helpers/merge.test.js.map +1 -0
  152. package/dist/test/document-helpers/nextSkipNumber.test.d.ts +2 -0
  153. package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +1 -0
  154. package/dist/test/document-helpers/nextSkipNumber.test.js +123 -0
  155. package/dist/test/document-helpers/nextSkipNumber.test.js.map +1 -0
  156. package/dist/test/document-helpers/prepareOperations.test.d.ts +2 -0
  157. package/dist/test/document-helpers/prepareOperations.test.d.ts.map +1 -0
  158. package/dist/test/document-helpers/prepareOperations.test.js +304 -0
  159. package/dist/test/document-helpers/prepareOperations.test.js.map +1 -0
  160. package/dist/test/document-helpers/removeExistingOperations.test.d.ts +2 -0
  161. package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +1 -0
  162. package/dist/test/document-helpers/removeExistingOperations.test.js +150 -0
  163. package/dist/test/document-helpers/removeExistingOperations.test.js.map +1 -0
  164. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +2 -0
  165. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +1 -0
  166. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +148 -0
  167. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +1 -0
  168. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +2 -0
  169. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +1 -0
  170. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +200 -0
  171. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +1 -0
  172. package/dist/test/document-helpers/sortOperations.test.d.ts +2 -0
  173. package/dist/test/document-helpers/sortOperations.test.d.ts.map +1 -0
  174. package/dist/test/document-helpers/sortOperations.test.js +101 -0
  175. package/dist/test/document-helpers/sortOperations.test.js.map +1 -0
  176. package/dist/test/document-helpers/split.test.d.ts +2 -0
  177. package/dist/test/document-helpers/split.test.d.ts.map +1 -0
  178. package/dist/test/document-helpers/split.test.js +121 -0
  179. package/dist/test/document-helpers/split.test.js.map +1 -0
  180. package/dist/test/document-helpers/utils.d.ts +8 -0
  181. package/dist/test/document-helpers/utils.d.ts.map +1 -0
  182. package/dist/test/document-helpers/utils.js +22 -0
  183. package/dist/test/document-helpers/utils.js.map +1 -0
  184. package/dist/test/drive-operations.test.d.ts +2 -0
  185. package/dist/test/drive-operations.test.d.ts.map +1 -0
  186. package/dist/test/drive-operations.test.js +145 -0
  187. package/dist/test/drive-operations.test.js.map +1 -0
  188. package/dist/test/graphql.test.d.ts +2 -0
  189. package/dist/test/graphql.test.d.ts.map +1 -0
  190. package/dist/test/graphql.test.js +10 -0
  191. package/dist/test/graphql.test.js.map +1 -0
  192. package/dist/test/internal-listener.test.d.ts +2 -0
  193. package/dist/test/internal-listener.test.d.ts.map +1 -0
  194. package/dist/test/internal-listener.test.js +277 -0
  195. package/dist/test/internal-listener.test.js.map +1 -0
  196. package/dist/test/queue.test.d.ts +2 -0
  197. package/dist/test/queue.test.d.ts.map +1 -0
  198. package/dist/test/queue.test.js +338 -0
  199. package/dist/test/queue.test.js.map +1 -0
  200. package/dist/test/read-mode.test.d.ts +2 -0
  201. package/dist/test/read-mode.test.d.ts.map +1 -0
  202. package/dist/test/read-mode.test.js +578 -0
  203. package/dist/test/read-mode.test.js.map +1 -0
  204. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +2 -0
  205. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +1 -0
  206. package/dist/test/server/driveOperationsConflictResolution.test.js +460 -0
  207. package/dist/test/server/driveOperationsConflictResolution.test.js.map +1 -0
  208. package/dist/test/server/mergeOperations.test.d.ts +2 -0
  209. package/dist/test/server/mergeOperations.test.d.ts.map +1 -0
  210. package/dist/test/server/mergeOperations.test.js +107 -0
  211. package/dist/test/server/mergeOperations.test.js.map +1 -0
  212. package/dist/test/server/processOperations.test.d.ts +2 -0
  213. package/dist/test/server/processOperations.test.d.ts.map +1 -0
  214. package/dist/test/server/processOperations.test.js +380 -0
  215. package/dist/test/server/processOperations.test.js.map +1 -0
  216. package/dist/test/server.test.d.ts +2 -0
  217. package/dist/test/server.test.d.ts.map +1 -0
  218. package/dist/test/server.test.js +899 -0
  219. package/dist/test/server.test.js.map +1 -0
  220. package/dist/test/signature-migration.test.d.ts +2 -0
  221. package/dist/test/signature-migration.test.d.ts.map +1 -0
  222. package/dist/test/signature-migration.test.js +239 -0
  223. package/dist/test/signature-migration.test.js.map +1 -0
  224. package/dist/test/storage.test.d.ts +2 -0
  225. package/dist/test/storage.test.d.ts.map +1 -0
  226. package/dist/test/storage.test.js +523 -0
  227. package/dist/test/storage.test.js.map +1 -0
  228. package/dist/test/utils.d.ts +48 -0
  229. package/dist/test/utils.d.ts.map +1 -0
  230. package/dist/test/utils.js +133 -0
  231. package/dist/test/utils.js.map +1 -0
  232. package/dist/test/utils.test.d.ts +2 -0
  233. package/dist/test/utils.test.d.ts.map +1 -0
  234. package/dist/test/utils.test.js +89 -0
  235. package/dist/test/utils.test.js.map +1 -0
  236. package/dist/test/vitest-setup.d.ts +2 -0
  237. package/dist/test/vitest-setup.d.ts.map +1 -0
  238. package/dist/test/vitest-setup.js +5 -0
  239. package/dist/test/vitest-setup.js.map +1 -0
  240. package/dist/tsconfig.tsbuildinfo +1 -0
  241. package/dist/vitest.config.d.ts +3 -0
  242. package/dist/vitest.config.d.ts.map +1 -0
  243. package/dist/vitest.config.js +27 -0
  244. package/dist/vitest.config.js.map +1 -0
  245. package/package.json +4 -4
  246. package/dist/src/queue/event.d.ts +0 -42
  247. package/dist/src/queue/event.d.ts.map +0 -1
  248. package/dist/src/queue/event.js +0 -222
  249. package/dist/src/queue/event.js.map +0 -1
  250. package/dist/src/server/sync-unit-map.d.ts +0 -137
  251. package/dist/src/server/sync-unit-map.d.ts.map +0 -1
  252. package/dist/src/server/sync-unit-map.js +0 -234
  253. package/dist/src/server/sync-unit-map.js.map +0 -1
  254. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -1,15 +1,13 @@
1
- import { type DocumentDriveAction, type DocumentDriveDocument, type DocumentDriveLocalState, type LegacyAddFileAction, type ListenerCallInfo, type ListenerFilter, type Trigger } from "#drive-document-model/gen/types";
1
+ import { type DocumentDriveAction, type DocumentDriveDocument, type DocumentDriveLocalState, type ListenerCallInfo, type ListenerFilter, type Trigger } from "#drive-document-model/gen/types";
2
2
  import { type IReadModeDriveServer } from "#read-mode/types";
3
3
  import { type IDefaultDrivesManager } from "#utils/default-drives-manager";
4
4
  import { type DriveInfo } from "#utils/graphql";
5
5
  import { type RunAsap } from "#utils/run-asap";
6
- import { type Action, type ActionContext, type DocumentModelModule, type Operation, type OperationFromDocument, type OperationScope, type PHDocument, type PHDocumentHeader, type PHDocumentMeta, type ReducerOptions } from "document-model";
6
+ import { type Action, type ActionContext, type CreateChildDocumentInput, type DocumentModelModule, type Operation, type OperationFromDocument, type OperationScope, type PHDocument, type ReducerOptions, type Signal } from "document-model";
7
7
  import { type Unsubscribe } from "nanoevents";
8
- import { type SignalResult } from "../../../document-model/src/document/signal.js";
9
8
  import { type BaseDocumentDriveServer } from "./base-server.js";
10
9
  import { type OperationError, type SynchronizationUnitNotFoundError } from "./error.js";
11
10
  import { type ITransmitter, type StrandUpdateSource } from "./listener/transmitter/types.js";
12
- import { type ISyncUnitMap } from "./sync-unit-map.js";
13
11
  export type Constructor<T = object> = new (...args: any[]) => T;
14
12
  export type Mixin<T extends Constructor, I> = T & Constructor<InstanceType<T> & I>;
15
13
  export type DocumentDriveServerMixin<I> = Mixin<typeof BaseDocumentDriveServer, I>;
@@ -30,26 +28,11 @@ export type RemoteDriveOptions = DocumentDriveLocalState & {
30
28
  expectedDriveInfo?: DriveInfo;
31
29
  accessLevel?: RemoteDriveAccessLevel;
32
30
  };
33
- /**
34
- * @deprecated In the future we will disallow this. Use the header field instead.
35
- */
36
- export type LegacyCreateDocumentInput = {
37
- /**
38
- * @deprecated In the future we will disallow this. Use the header field instead.
39
- */
40
- id: string;
41
- documentType: string;
42
- };
43
- export type CreateDocumentInputWithDocument<TDocument extends PHDocument> = {
44
- document: TDocument;
45
- };
46
- export type CreateDocumentInputWithHeader = {
47
- header: PHDocumentHeader;
48
- };
49
- export type CreateDocumentInputWithDocumentId = {
50
- documentType: string;
31
+ export type CreateDocumentInput<TDocument extends PHDocument> = CreateChildDocumentInput<TDocument>;
32
+ export type SignalResult = {
33
+ signal: Signal;
34
+ result: unknown;
51
35
  };
52
- export type CreateDocumentInput<TDocument extends PHDocument> = LegacyCreateDocumentInput | CreateDocumentInputWithDocument<TDocument> | CreateDocumentInputWithHeader | CreateDocumentInputWithDocumentId;
53
36
  export type IOperationResult<TDocument extends PHDocument = PHDocument> = {
54
37
  status: UpdateStatus;
55
38
  error?: OperationError;
@@ -58,13 +41,12 @@ export type IOperationResult<TDocument extends PHDocument = PHDocument> = {
58
41
  signals: SignalResult[];
59
42
  };
60
43
  export type DriveOperationResult = IOperationResult<DocumentDriveDocument>;
61
- export type SynchronizationUnitId = {
44
+ export type SynchronizationUnit = {
45
+ syncId: string;
62
46
  documentId: string;
47
+ documentType: string;
63
48
  scope: string;
64
49
  branch: string;
65
- };
66
- export type SynchronizationUnit = SynchronizationUnitId & {
67
- documentType: string;
68
50
  lastUpdated: string;
69
51
  revision: number;
70
52
  };
@@ -98,7 +80,6 @@ export declare enum TransmitterType {
98
80
  export type ListenerRevision = {
99
81
  driveId: string;
100
82
  documentId: string;
101
- documentType: string;
102
83
  scope: string;
103
84
  branch: string;
104
85
  status: UpdateStatus;
@@ -127,7 +108,6 @@ export type OperationUpdate = {
127
108
  export type StrandUpdate = {
128
109
  driveId: string;
129
110
  documentId: string;
130
- documentType: string;
131
111
  scope: OperationScope;
132
112
  branch: string;
133
113
  operations: OperationUpdate[];
@@ -141,16 +121,16 @@ export type SyncUnitStatusObject = {
141
121
  };
142
122
  export type AddRemoteDriveStatus = "SUCCESS" | "ERROR" | "PENDING" | "ADDING" | "ALREADY_ADDED";
143
123
  export interface DriveEvents {
144
- syncStatus: (driveId: string, status: SyncStatus, error?: Error, syncUnitStatus?: SyncUnitStatusObject, scope?: string, branch?: string) => void;
124
+ syncStatus: (driveId: string, status: SyncStatus, error?: Error, syncUnitStatus?: SyncUnitStatusObject) => void;
145
125
  defaultRemoteDrive: (status: AddRemoteDriveStatus, defaultDrives: Map<string, DefaultRemoteDriveInfo>, driveInput: DefaultRemoteDriveInput, driveId?: string, driveName?: string, error?: Error) => void;
146
126
  strandUpdate: (update: StrandUpdate) => void;
147
127
  clientStrandsError: (driveId: string, trigger: Trigger, status: number, errorMessage: string) => void;
148
128
  documentModelModules: (documentModelModules: DocumentModelModule[]) => void;
149
129
  driveAdded: (drive: DocumentDriveDocument) => void;
150
130
  driveDeleted: (driveId: string) => void;
151
- documentOperationsAdded: (documentId: string, operations: Operation[]) => void;
131
+ documentOperationsAdded: (driveId: string, documentId: string, operations: Operation[]) => void;
152
132
  driveOperationsAdded: (driveId: string, operations: Operation[]) => void;
153
- operationsAdded: (documentId: string, operations: Operation[]) => void;
133
+ operationsAdded: (driveId: string, documentId: string | undefined | null, operations: Operation[]) => void;
154
134
  }
155
135
  export type PartialRecord<K extends keyof any, T> = {
156
136
  [P in K]?: T;
@@ -254,92 +234,30 @@ export interface IBaseDocumentDriveServer {
254
234
  getDrive(driveId: string, options?: GetDocumentOptions): Promise<DocumentDriveDocument>;
255
235
  getDriveBySlug(slug: string): Promise<DocumentDriveDocument>;
256
236
  getDriveIdBySlug(slug: string): Promise<DocumentDriveDocument["header"]["id"]>;
257
- addDocument<TDocument extends PHDocument>(input: TDocument, meta?: PHDocumentMeta): Promise<TDocument>;
258
- deleteDocument(documentId: string): Promise<void>;
259
- getDocuments(parentId: string): Promise<string[]>;
260
- /**
261
- * @deprecated Use getDocument(documentId, options) instead. This method will be removed in the future.
262
- */
237
+ getDocuments(driveId: string): Promise<string[]>;
263
238
  getDocument<TDocument extends PHDocument>(driveId: string, documentId: string, options?: GetDocumentOptions): Promise<TDocument>;
264
- getDocument<TDocument extends PHDocument>(documentId: string, options?: GetDocumentOptions): Promise<TDocument>;
265
- queueDocument<TDocument extends PHDocument>(input: CreateDocumentInput<TDocument>, options?: AddOperationOptions): Promise<IOperationResult>;
266
- /**
267
- * @deprecated Use addOperation(documentId, operation, options) instead. This method will be removed in the future.
268
- */
269
239
  addOperation(driveId: string, documentId: string, operation: Operation, options?: AddOperationOptions): Promise<IOperationResult>;
270
- addOperation(documentId: string, operation: Operation, options?: AddOperationOptions): Promise<IOperationResult>;
271
- /**
272
- * @deprecated Use addOperations(documentId, operations, options) instead. This method will be removed in the future.
273
- */
274
240
  addOperations(driveId: string, documentId: string, operations: Operation[], options?: AddOperationOptions): Promise<IOperationResult>;
275
- addOperations(documentId: string, operations: Operation[], options?: AddOperationOptions): Promise<IOperationResult>;
276
- /**
277
- * @deprecated Use queueOperation(documentId, operation, options) instead. This method will be removed in the future.
278
- */
279
241
  queueOperation(driveId: string, documentId: string, operation: Operation, options?: AddOperationOptions): Promise<IOperationResult>;
280
- queueOperation(documentId: string, operation: Operation, options?: AddOperationOptions): Promise<IOperationResult>;
281
- /**
282
- * @deprecated Use queueOperations(documentId, operations, options) instead. This method will be removed in the future.
283
- */
284
242
  queueOperations(driveId: string, documentId: string, operations: Operation[], options?: AddOperationOptions): Promise<IOperationResult>;
285
- queueOperations(documentId: string, operations: Operation[], options?: AddOperationOptions): Promise<IOperationResult>;
286
- /**
287
- * @deprecated Use queueAction(documentId, action, options) instead. This method will be removed in the future.
288
- */
289
243
  queueAction(driveId: string, documentId: string, action: Action, options?: AddOperationOptions): Promise<IOperationResult>;
290
- queueAction(documentId: string, action: Action, options?: AddOperationOptions): Promise<IOperationResult>;
291
- /**
292
- * @deprecated Use queueActions(documentId, actions, options) instead. This method will be removed in the future.
293
- */
294
244
  queueActions(driveId: string, documentId: string, actions: Action[], options?: AddOperationOptions): Promise<IOperationResult>;
295
- queueActions(documentId: string, actions: Action[], options?: AddOperationOptions): Promise<IOperationResult>;
296
- /**
297
- * @deprecated Use the {@link addOperation} method instead.
298
- */
299
245
  addDriveOperation(driveId: string, operation: Operation<DocumentDriveAction>, options?: AddOperationOptions): Promise<DriveOperationResult>;
300
- /**
301
- * @deprecated Use the {@link addOperations} method instead.
302
- */
303
246
  addDriveOperations(driveId: string, operations: Operation<DocumentDriveAction>[], options?: AddOperationOptions): Promise<DriveOperationResult>;
304
- /**
305
- * @deprecated Use the {@link queueOperation} method instead.
306
- */
307
247
  queueDriveOperation(driveId: string, operation: Operation<DocumentDriveAction>, options?: AddOperationOptions): Promise<DriveOperationResult>;
308
- /**
309
- * @deprecated Use the {@link queueOperations} method instead.
310
- */
311
248
  queueDriveOperations(driveId: string, operations: Operation<DocumentDriveAction>[], options?: AddOperationOptions): Promise<DriveOperationResult>;
312
- /**
313
- * @deprecated Use the {@link queueAction} method instead.
314
- */
315
249
  queueDriveAction(driveId: string, action: DocumentDriveAction, options?: AddOperationOptions): Promise<IOperationResult>;
316
- /**
317
- * @deprecated Use the {@link queueActions} method instead.
318
- */
319
250
  queueDriveActions(driveId: string, actions: DocumentDriveAction[], options?: AddOperationOptions): Promise<IOperationResult>;
320
- /**
321
- * @deprecated Use addAction(documentId, action, options) method instead. This method will be removed in the future.
322
- */
323
251
  addAction(driveId: string, documentId: string, action: Action, options?: AddOperationOptions): Promise<IOperationResult>;
324
- addAction(documentId: string, action: Action, options?: AddOperationOptions): Promise<IOperationResult>;
325
- /**
326
- * @deprecated Use addActions(documentId, actions, options) instead. This method will be removed in the future.
327
- */
328
252
  addActions(driveId: string, documentId: string, actions: Action[], options?: AddOperationOptions): Promise<IOperationResult>;
329
- addActions(documentId: string, actions: Action[], options?: AddOperationOptions): Promise<IOperationResult>;
330
- /**
331
- * @deprecated Use the {@link addAction} method with a {@link AddFileAction} and call {@link addDocument} if the document needs to be created.
332
- */
333
- addDriveAction(driveId: string, action: LegacyAddFileAction, options?: AddOperationOptions): Promise<DriveOperationResult>;
334
- /**
335
- * @deprecated Use the {@link addAction} method instead.
336
- */
337
253
  addDriveAction(driveId: string, action: DocumentDriveAction, options?: AddOperationOptions): Promise<DriveOperationResult>;
338
- /**
339
- * @deprecated Use the {@link addActions} method instead.
340
- */
341
254
  addDriveActions(driveId: string, actions: DocumentDriveAction[], options?: AddOperationOptions): Promise<DriveOperationResult>;
342
- getSyncStatus(documentId: string, scope?: string, branch?: string): SyncStatus | SynchronizationUnitNotFoundError;
255
+ getSyncStatus(syncUnitId: string): SyncStatus | SynchronizationUnitNotFoundError;
256
+ /** Synchronization methods */
257
+ getSynchronizationUnits(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnit[]>;
258
+ getSynchronizationUnit(driveId: string, syncId: string, loadedDrive?: DocumentDriveDocument): Promise<SynchronizationUnit | undefined>;
259
+ getSynchronizationUnitsIds(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnitQuery[]>;
260
+ getOperationData(driveId: string, syncId: string, filter: GetStrandsOptions): Promise<OperationUpdate[]>;
343
261
  /** Internal methods **/
344
262
  getDocumentModelModules(): DocumentModelModule[];
345
263
  on<K extends keyof DriveEvents>(event: K, cb: DriveEvents[K]): Unsubscribe;
@@ -357,21 +275,21 @@ export interface IListenerManager {
357
275
  removeListener(driveId: string, listenerId: string): Promise<boolean>;
358
276
  getListenerState(driveId: string, listenerId: string): ListenerState;
359
277
  getStrands(driveId: string, listenerId: string, options?: GetStrandsOptions): Promise<StrandUpdate[]>;
360
- updateSynchronizationRevisions(syncUnits: SynchronizationUnit[], source: StrandUpdateSource, willUpdate?: (listeners: Listener[]) => void, onError?: (error: Error, driveId: string, listener: ListenerState) => void, forceSync?: boolean): Promise<ListenerUpdate[]>;
361
- updateListenerRevision(listenerId: string, driveId: string, syncUnitId: SynchronizationUnitId, listenerRev: number): Promise<void>;
362
- removeSyncUnits(parentId: string, syncUnits: SynchronizationUnitId[]): Promise<void>;
278
+ updateSynchronizationRevisions(driveId: string, syncUnits: SynchronizationUnit[], source: StrandUpdateSource, willUpdate?: (listeners: Listener[]) => void, onError?: (error: Error, driveId: string, listener: ListenerState) => void, forceSync?: boolean): Promise<ListenerUpdate[]>;
279
+ updateListenerRevision(listenerId: string, driveId: string, syncId: string, listenerRev: number): Promise<void>;
280
+ getListenerSyncUnitIds(driveId: string, listenerId: string): Promise<SynchronizationUnitQuery[]>;
281
+ removeSyncUnits(driveId: string, syncUnits: Pick<SynchronizationUnit, "syncId">[]): Promise<void>;
363
282
  setGenerateJwtHandler(handler: (driveUrl: string) => Promise<string>): void;
364
283
  removeJwtHandler(): void;
365
284
  generateJwtHandler?: (driveUrl: string) => Promise<string>;
366
285
  }
367
286
  export type ListenerStatus = "CREATED" | "PENDING" | "SUCCESS" | "MISSING" | "CONFLICT" | "ERROR";
368
- export type SynchronizationUnitMap = ISyncUnitMap<SyncronizationUnitState>;
369
287
  export interface ListenerState {
370
288
  driveId: string;
371
289
  block: boolean;
372
290
  pendingTimeout: string;
373
291
  listener: Listener;
374
- syncUnits: SynchronizationUnitMap;
292
+ syncUnits: Map<SynchronizationUnit["syncId"], SyncronizationUnitState>;
375
293
  listenerStatus: ListenerStatus;
376
294
  }
377
295
  export interface SyncronizationUnitState {
@@ -387,14 +305,13 @@ export interface IEventEmitter {
387
305
  }
388
306
  export interface ISynchronizationManager {
389
307
  setDocumentModelModules(arg0: DocumentModelModule[]): void;
390
- getSynchronizationUnits(parentId?: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnit[]>;
391
- getSynchronizationUnitsIds(parentId?: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnitQuery[]>;
392
- getSynchronizationUnit(syncId: SynchronizationUnitId): Promise<SynchronizationUnit | undefined>;
393
- getOperationData(syncId: SynchronizationUnitId, filter: GetStrandsOptions): Promise<OperationUpdate[]>;
394
- getSyncStatus(documentId: string, scope?: string, branch?: string): SyncStatus | SynchronizationUnitNotFoundError;
395
- getSyncStatus(syncId: SynchronizationUnitId): SyncStatus | SynchronizationUnitNotFoundError;
396
- updateSyncStatus(documentId: string, status: Partial<SyncUnitStatusObject> | null, error?: Error, scope?: string, branch?: string): void;
397
- updateSyncStatus(syncId: SynchronizationUnitId, status: Partial<SyncUnitStatusObject> | null, error?: Error): void;
308
+ getSynchronizationUnits(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnit[]>;
309
+ getSynchronizationUnitsIds(driveId: string, documentId?: string[], scope?: string[], branch?: string[], documentType?: string[]): Promise<SynchronizationUnitQuery[]>;
310
+ getSynchronizationUnit(driveId: string, syncId: string): Promise<SynchronizationUnit | undefined>;
311
+ getOperationData(driveId: string, syncId: string, filter: GetStrandsOptions): Promise<OperationUpdate[]>;
312
+ getSynchronizationUnitsRevision(driveId: string, syncUnitsQuery: SynchronizationUnitQuery[]): Promise<SynchronizationUnit[]>;
313
+ getSyncStatus(syncUnitId: string): SyncStatus | SynchronizationUnitNotFoundError;
314
+ updateSyncStatus(syncUnitId: string, status: Partial<SyncUnitStatusObject> | null, error?: Error): void;
398
315
  initializeDriveSyncStatus(driveId: string, drive: DocumentDriveDocument): Promise<void>;
399
316
  getCombinedSyncUnitStatus(syncUnitStatus: SyncUnitStatusObject): SyncStatus;
400
317
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"AAmJA,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,6DAAQ,CAAA;IACR,2EAAe,CAAA;IACf,uEAAa,CAAA;IACb,uEAAa,CAAA;IACb,uEAAa,CAAA;IACb,mEAAW,CAAA;AACb,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAqND,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,iBAAiB,EAAE,IAAI;CACxB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/types.ts"],"names":[],"mappings":"AAwHA,MAAM,CAAN,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,6DAAQ,CAAA;IACR,2EAAe,CAAA;IACf,uEAAa,CAAA;IACb,uEAAa,CAAA;IACb,uEAAa,CAAA;IACb,mEAAW,CAAA;AACb,CAAC,EAPW,eAAe,KAAf,eAAe,QAO1B;AAsND,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,iBAAiB,EAAE,IAAI;CACxB,CAAC"}
@@ -1,17 +1,8 @@
1
1
  import type { Action, DocumentOperations, PHDocument } from "document-model";
2
- import { type CreateDocumentInput, type RevisionsFilter, type StrandUpdate, type SynchronizationUnitId } from "./types.js";
2
+ import { type RevisionsFilter, type StrandUpdate } from "./types.js";
3
3
  export declare function buildRevisionsFilter(strands: StrandUpdate[], driveId: string, documentId: string): RevisionsFilter;
4
4
  export declare function buildDocumentRevisionsFilter(document: PHDocument): RevisionsFilter;
5
5
  export declare function filterOperationsByRevision<TAction extends Action = Action>(operations: DocumentOperations<TAction>, revisions?: RevisionsFilter): DocumentOperations<TAction>;
6
6
  export declare function isAtRevision(document: PHDocument, revisions?: RevisionsFilter): boolean;
7
7
  export declare function isAfterRevision(document: PHDocument, revisions?: RevisionsFilter): boolean;
8
- export declare function compareSyncUnits(a: SynchronizationUnitId, b: SynchronizationUnitId): boolean;
9
- export declare function resolveCreateDocumentInput<TDocument extends PHDocument>(input: CreateDocumentInput<TDocument>): {
10
- id: string | undefined;
11
- documentType: string;
12
- document: TDocument | undefined;
13
- };
14
- export declare function resolveCreateDocumentInputId(input: CreateDocumentInput<PHDocument>): string | undefined;
15
- export declare function resolveCreateDocumentInputDocumentType(input: CreateDocumentInput<PHDocument>): string;
16
- export declare function resolveCreateDocumentInputDocument<TDocument extends PHDocument>(input: CreateDocumentInput<TDocument>): TDocument | undefined;
17
8
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAElB,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC3B,MAAM,YAAY,CAAC;AAEpB,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,eAAe,CAQjB;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,UAAU,GACnB,eAAe,CAQjB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACxE,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACvC,SAAS,CAAC,EAAE,eAAe,GAC1B,kBAAkB,CAAC,OAAO,CAAC,CAgB7B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAWT;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAYT;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,qBAAqB,EACxB,CAAC,EAAE,qBAAqB,WAOzB;AAED,wBAAgB,0BAA0B,CAAC,SAAS,SAAS,UAAU,EACrE,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC;;;;EAOtC;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,sBAYvC;AAED,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,mBAAmB,CAAC,UAAU,CAAC,UASvC;AAED,wBAAgB,kCAAkC,CAChD,SAAS,SAAS,UAAU,EAC5B,KAAK,EAAE,mBAAmB,CAAC,SAAS,CAAC,yBAEtC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/server/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,kBAAkB,EAElB,UAAU,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAErE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,eAAe,CAQjB;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,UAAU,GACnB,eAAe,CAQjB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,SAAS,MAAM,GAAG,MAAM,EACxE,UAAU,EAAE,kBAAkB,CAAC,OAAO,CAAC,EACvC,SAAS,CAAC,EAAE,eAAe,GAC1B,kBAAkB,CAAC,OAAO,CAAC,CAgB7B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAWT;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,UAAU,EACpB,SAAS,CAAC,EAAE,eAAe,GAC1B,OAAO,CAYT"}
@@ -45,45 +45,4 @@ export function isAfterRevision(document, revisions) {
45
45
  return operation && operation.index > revision;
46
46
  }));
47
47
  }
48
- export function compareSyncUnits(a, b) {
49
- return (a.documentId === b.documentId &&
50
- a.scope === b.scope &&
51
- a.branch === b.branch);
52
- }
53
- export function resolveCreateDocumentInput(input) {
54
- return {
55
- id: resolveCreateDocumentInputId(input),
56
- documentType: resolveCreateDocumentInputDocumentType(input),
57
- document: resolveCreateDocumentInputDocument(input),
58
- };
59
- }
60
- export function resolveCreateDocumentInputId(input) {
61
- if ("id" in input) {
62
- // eslint-disable-next-line @typescript-eslint/no-deprecated
63
- return input.id;
64
- }
65
- else if ("header" in input) {
66
- return input.header.id;
67
- }
68
- else if ("document" in input) {
69
- return input.document.header.id;
70
- }
71
- else {
72
- return undefined;
73
- }
74
- }
75
- export function resolveCreateDocumentInputDocumentType(input) {
76
- if ("documentType" in input) {
77
- return input.documentType;
78
- }
79
- else if ("header" in input) {
80
- return input.header.documentType;
81
- }
82
- else {
83
- return input.document.header.documentType;
84
- }
85
- }
86
- export function resolveCreateDocumentInputDocument(input) {
87
- return "document" in input ? input.document : undefined;
88
- }
89
48
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/server/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/server/utils.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,oBAAoB,CAClC,OAAuB,EACvB,OAAe,EACf,UAAkB;IAElB,OAAO,OAAO,CAAC,MAAM,CAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAChD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,QAAoB;IAEpB,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAC/C,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,EAAE;QAC3B,GAAG,CAAC,KAAuB,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QAC9D,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAqB,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,UAAuC,EACvC,SAA2B;IAE3B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACb,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAuB,CAAC,CAAC;QACpD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,KAAuB,CAAC,GAAG,UAAU,CACvC,KAAuB,CACxB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAiC,CACzD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAoB,EACpB,SAA2B;IAE3B,OAAO,CACL,CAAC,SAAS;QACV,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE;YACnD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,OAAO,SAAS,KAAK,SAAS,CAAC;YACjC,CAAC;YACD,OAAO,SAAS,EAAE,KAAK,KAAK,QAAQ,CAAC;QACvC,CAAC,CAAC,KAAK,SAAS,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,QAAoB,EACpB,SAA2B;IAE3B,OAAO,CACL,CAAC,SAAS;QACV,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE;YACpD,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtE,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpB,OAAO,SAAS,KAAK,SAAS,CAAC;YACjC,CAAC;YACD,OAAO,SAAS,IAAI,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC;QACjD,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type DocumentDriveAction } from "#drive-document-model/gen/types";
2
2
  import { type SynchronizationUnitQuery } from "#server/types";
3
3
  import type { Operation, PHDocument } from "document-model";
4
- import { type IDocumentAdminStorage, type IDocumentStorage, type IDriveOperationStorage, type IStorageUnit, type IStorageUnitFilter } from "./types.js";
4
+ import { type IDocumentAdminStorage, type IDocumentStorage, type IDriveOperationStorage } from "./types.js";
5
5
  export declare class BrowserStorage implements IDriveOperationStorage, IDocumentStorage, IDocumentAdminStorage {
6
6
  private db;
7
7
  static DBName: string;
@@ -10,10 +10,6 @@ export declare class BrowserStorage implements IDriveOperationStorage, IDocument
10
10
  static MANIFEST_KEY: string;
11
11
  static SLUG_MANIFEST_KEY: string;
12
12
  constructor(namespace?: string);
13
- findStorageUnitsBy(filter: IStorageUnitFilter, limit: number, cursor?: string): Promise<{
14
- units: IStorageUnit[];
15
- nextCursor?: string;
16
- }>;
17
13
  resolveIds(slugs: string[], signal?: AbortSignal): Promise<string[]>;
18
14
  resolveSlugs(ids: string[], signal?: AbortSignal): Promise<string[]>;
19
15
  clear(): Promise<void>;
@@ -34,11 +30,10 @@ export declare class BrowserStorage implements IDriveOperationStorage, IDocument
34
30
  private updateDriveManifest;
35
31
  private getSlugManifest;
36
32
  private updateSlugManifest;
37
- addDocumentOperations(id: string, operations: Operation[], document: PHDocument): Promise<void>;
33
+ addDocumentOperations(drive: string, id: string, operations: Operation[], document: PHDocument): Promise<void>;
38
34
  addDriveOperations(id: string, operations: Operation<DocumentDriveAction>[], document: PHDocument): Promise<void>;
39
35
  getSynchronizationUnitsRevision(units: SynchronizationUnitQuery[]): Promise<{
40
36
  documentId: string;
41
- documentType: string;
42
37
  scope: string;
43
38
  branch: string;
44
39
  lastUpdated: string;
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/storage/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/storage/browser.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { DocumentAlreadyExistsError, DocumentIdValidationError, DocumentNotFoundError, DocumentSlugValidationError, } from "#server/error";
2
2
  import { AbortError } from "#utils/errors";
3
3
  import { migrateDocumentOperationSignatures } from "#utils/migrations";
4
- import { mergeOperations, operationsToRevision } from "#utils/misc";
4
+ import { mergeOperations } from "#utils/misc";
5
5
  import LocalForage from "localforage";
6
- import { isValidDocumentId, isValidSlug, resolveStorageUnitsFilter, } from "./utils.js";
6
+ import { isValidDocumentId, isValidSlug } from "./utils.js";
7
7
  export class BrowserStorage {
8
8
  db;
9
9
  static DBName = "DOCUMENT_DRIVES";
@@ -19,73 +19,6 @@ export class BrowserStorage {
19
19
  }));
20
20
  }
21
21
  ////////////////////////////////
22
- // IStorageUnitStorage
23
- ////////////////////////////////
24
- async findStorageUnitsBy(filter, limit, cursor) {
25
- const storageUnits = [];
26
- const { parentId: parentIds, documentId: documentIds, documentModelType: documentTypes, scope: scopes, branch: branches, } = resolveStorageUnitsFilter(filter);
27
- const db = await this.db;
28
- const keys = await db.keys();
29
- const documentKeys = keys
30
- .filter((key) => key.startsWith(`${BrowserStorage.DOCUMENT_KEY}${BrowserStorage.SEP}`))
31
- .map((key) => key.slice(BrowserStorage.DOCUMENT_KEY.length + BrowserStorage.SEP.length));
32
- let documents;
33
- // apply parent id filter
34
- if (parentIds) {
35
- // join children from all parents
36
- const childrenIds = new Set();
37
- for (const parentId of parentIds) {
38
- const ids = await this.getChildren(parentId);
39
- ids.forEach((id) => childrenIds.add(id));
40
- }
41
- documents = parentIds.union(childrenIds);
42
- }
43
- else {
44
- documents = new Set(documentKeys);
45
- }
46
- // apply document id filter
47
- documents = documentIds ? documentIds.intersection(documents) : documents;
48
- for (const documentId of documents) {
49
- const document = await this.get(documentId).catch(() => null);
50
- // might be a child that has not been synced yet
51
- if (!document)
52
- continue;
53
- // apply document type filter
54
- if (documentTypes && !documentTypes.has(document.header.documentType))
55
- continue;
56
- // For each operation scope in the document
57
- for (const [scope] of Object.entries(document.state)) {
58
- // apply scope filter
59
- if (scopes && !scopes.has(scope))
60
- continue;
61
- // Create storage unit for this document+scope combination
62
- storageUnits.push({
63
- documentId,
64
- documentModelType: document.header.documentType,
65
- scope,
66
- branch: "main", // Default branch
67
- });
68
- }
69
- }
70
- // Handle pagination
71
- let startIndex = 0;
72
- if (cursor) {
73
- const index = storageUnits.findIndex((unit) => unit.documentId === cursor);
74
- if (index !== -1) {
75
- startIndex = index;
76
- }
77
- }
78
- // Calculate the range to return
79
- const endIndex = Math.min(startIndex + limit, storageUnits.length);
80
- const nextCursor = endIndex < storageUnits.length
81
- ? storageUnits[endIndex].documentId
82
- : undefined;
83
- return {
84
- units: storageUnits.slice(startIndex, endIndex),
85
- nextCursor,
86
- };
87
- }
88
- ////////////////////////////////
89
22
  // IDocumentView
90
23
  ////////////////////////////////
91
24
  async resolveIds(slugs, signal) {
@@ -266,6 +199,14 @@ export class BrowserStorage {
266
199
  for (const parent of parents) {
267
200
  await this.removeChild(parent, documentId);
268
201
  }
202
+ // check children: any children that are only children of this document should be deleted
203
+ const children = await this.getChildren(documentId);
204
+ for (const child of children) {
205
+ const childParents = await this.getParents(child);
206
+ if (childParents.length === 1 && childParents[0] === documentId) {
207
+ await this.delete(child);
208
+ }
209
+ }
269
210
  // delete any manifest for this document
270
211
  await db.removeItem(this.buildManifestKey(documentId));
271
212
  // finally, delete the specified document
@@ -339,7 +280,7 @@ export class BrowserStorage {
339
280
  const db = await this.db;
340
281
  await db.setItem(BrowserStorage.SLUG_MANIFEST_KEY, manifest);
341
282
  }
342
- async addDocumentOperations(id, operations, document) {
283
+ async addDocumentOperations(drive, id, operations, document) {
343
284
  const existingDocument = await this.get(id);
344
285
  if (!existingDocument) {
345
286
  throw new Error(`Document with id ${id} not found`);
@@ -366,18 +307,19 @@ export class BrowserStorage {
366
307
  const results = await Promise.allSettled(units.map(async (unit) => {
367
308
  try {
368
309
  const document = await this.get(unit.documentId);
369
- if (!document || !document.operations[unit.scope]) {
310
+ if (!document) {
370
311
  return undefined;
371
312
  }
372
- const operations = document.operations[unit.scope];
373
- return {
374
- documentId: unit.documentId,
375
- documentType: unit.documentType,
376
- scope: unit.scope,
377
- branch: unit.branch,
378
- lastUpdated: operations.at(-1)?.timestamp ?? document.header.createdAtUtcIso,
379
- revision: operationsToRevision(operations),
380
- };
313
+ const operation = document.operations[unit.scope].at(-1);
314
+ if (operation) {
315
+ return {
316
+ documentId: unit.documentId,
317
+ scope: unit.scope,
318
+ branch: unit.branch,
319
+ lastUpdated: operation.timestamp,
320
+ revision: operation.index,
321
+ };
322
+ }
381
323
  }
382
324
  catch {
383
325
  return undefined;