document-drive 4.0.4 → 4.1.0-dev.10

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 (279) 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 +1 -2
  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/drive/actions.d.ts +34 -10
  9. package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +1 -1
  10. package/dist/src/drive-document-model/gen/node/actions.d.ts +30 -9
  11. package/dist/src/drive-document-model/gen/node/actions.d.ts.map +1 -1
  12. package/dist/src/drive-document-model/gen/node/creators.d.ts +6 -2
  13. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +1 -1
  14. package/dist/src/drive-document-model/gen/node/creators.js +8 -1
  15. package/dist/src/drive-document-model/gen/node/creators.js.map +1 -1
  16. package/dist/src/drive-document-model/gen/reducer.d.ts.map +1 -1
  17. package/dist/src/drive-document-model/gen/reducer.js +32 -31
  18. package/dist/src/drive-document-model/gen/reducer.js.map +1 -1
  19. package/dist/src/drive-document-model/gen/schema/types.d.ts +1 -14
  20. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +1 -1
  21. package/dist/src/drive-document-model/gen/schema/zod.d.ts +1 -5
  22. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +1 -1
  23. package/dist/src/drive-document-model/gen/schema/zod.js +0 -12
  24. package/dist/src/drive-document-model/gen/schema/zod.js.map +1 -1
  25. package/dist/src/drive-document-model/gen/types.d.ts +17 -5
  26. package/dist/src/drive-document-model/gen/types.d.ts.map +1 -1
  27. package/dist/src/drive-document-model/gen/types.js.map +1 -1
  28. package/dist/src/drive-document-model/module.d.ts +2 -1
  29. package/dist/src/drive-document-model/module.d.ts.map +1 -1
  30. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +1 -1
  31. package/dist/src/drive-document-model/src/reducers/node.js +1 -25
  32. package/dist/src/drive-document-model/src/reducers/node.js.map +1 -1
  33. package/dist/src/drive-document-model/src/tests/actions.test.js +1 -23
  34. package/dist/src/drive-document-model/src/tests/actions.test.js.map +1 -1
  35. package/dist/src/drive-document-model/src/tests/base.test.js +0 -32
  36. package/dist/src/drive-document-model/src/tests/base.test.js.map +1 -1
  37. package/dist/src/drive-document-model/src/tests/node.test.js +4 -0
  38. package/dist/src/drive-document-model/src/tests/node.test.js.map +1 -1
  39. package/dist/src/drive-document-model/src/tests/utils.test.js +7 -37
  40. package/dist/src/drive-document-model/src/tests/utils.test.js.map +1 -1
  41. package/dist/src/drive-document-model/src/utils.d.ts +2 -8
  42. package/dist/src/drive-document-model/src/utils.d.ts.map +1 -1
  43. package/dist/src/drive-document-model/src/utils.js +6 -55
  44. package/dist/src/drive-document-model/src/utils.js.map +1 -1
  45. package/dist/src/processors/types.d.ts +2 -1
  46. package/dist/src/processors/types.d.ts.map +1 -1
  47. package/dist/src/queue/base.d.ts +6 -27
  48. package/dist/src/queue/base.d.ts.map +1 -1
  49. package/dist/src/queue/base.js +15 -203
  50. package/dist/src/queue/base.js.map +1 -1
  51. package/dist/src/queue/event.d.ts +41 -0
  52. package/dist/src/queue/event.d.ts.map +1 -0
  53. package/dist/src/queue/event.js +222 -0
  54. package/dist/src/queue/event.js.map +1 -0
  55. package/dist/src/queue/redis.d.ts +1 -27
  56. package/dist/src/queue/redis.d.ts.map +1 -1
  57. package/dist/src/queue/redis.js +122 -110
  58. package/dist/src/queue/redis.js.map +1 -1
  59. package/dist/src/queue/types.d.ts +18 -12
  60. package/dist/src/queue/types.d.ts.map +1 -1
  61. package/dist/src/queue/types.js +3 -0
  62. package/dist/src/queue/types.js.map +1 -1
  63. package/dist/src/read-mode/server.js.map +1 -1
  64. package/dist/src/read-mode/types.d.ts.map +1 -1
  65. package/dist/src/server/base-server.d.ts +90 -13
  66. package/dist/src/server/base-server.d.ts.map +1 -1
  67. package/dist/src/server/base-server.js +552 -250
  68. package/dist/src/server/base-server.js.map +1 -1
  69. package/dist/src/server/builder.js +2 -2
  70. package/dist/src/server/builder.js.map +1 -1
  71. package/dist/src/server/error.d.ts +3 -3
  72. package/dist/src/server/error.d.ts.map +1 -1
  73. package/dist/src/server/error.js +2 -2
  74. package/dist/src/server/error.js.map +1 -1
  75. package/dist/src/server/listener/listener-manager.d.ts +5 -6
  76. package/dist/src/server/listener/listener-manager.d.ts.map +1 -1
  77. package/dist/src/server/listener/listener-manager.js +62 -79
  78. package/dist/src/server/listener/listener-manager.js.map +1 -1
  79. package/dist/src/server/listener/transmitter/internal.d.ts +4 -4
  80. package/dist/src/server/listener/transmitter/internal.d.ts.map +1 -1
  81. package/dist/src/server/listener/transmitter/internal.js +18 -13
  82. package/dist/src/server/listener/transmitter/internal.js.map +1 -1
  83. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
  84. package/dist/src/server/listener/transmitter/pull-responder.js +14 -8
  85. package/dist/src/server/listener/transmitter/pull-responder.js.map +1 -1
  86. package/dist/src/server/listener/transmitter/switchboard-push.d.ts.map +1 -1
  87. package/dist/src/server/listener/transmitter/switchboard-push.js +13 -8
  88. package/dist/src/server/listener/transmitter/switchboard-push.js.map +1 -1
  89. package/dist/src/server/listener/util.d.ts +1 -1
  90. package/dist/src/server/listener/util.d.ts.map +1 -1
  91. package/dist/src/server/listener/util.js +1 -1
  92. package/dist/src/server/listener/util.js.map +1 -1
  93. package/dist/src/server/sync-manager.d.ts +8 -10
  94. package/dist/src/server/sync-manager.d.ts.map +1 -1
  95. package/dist/src/server/sync-manager.js +62 -147
  96. package/dist/src/server/sync-manager.js.map +1 -1
  97. package/dist/src/server/sync-unit-map.d.ts +137 -0
  98. package/dist/src/server/sync-unit-map.d.ts.map +1 -0
  99. package/dist/src/server/sync-unit-map.js +234 -0
  100. package/dist/src/server/sync-unit-map.js.map +1 -0
  101. package/dist/src/server/types.d.ts +122 -38
  102. package/dist/src/server/types.d.ts.map +1 -1
  103. package/dist/src/server/types.js.map +1 -1
  104. package/dist/src/server/utils.d.ts +12 -3
  105. package/dist/src/server/utils.d.ts.map +1 -1
  106. package/dist/src/server/utils.js +44 -1
  107. package/dist/src/server/utils.js.map +1 -1
  108. package/dist/src/storage/browser.d.ts +8 -4
  109. package/dist/src/storage/browser.d.ts.map +1 -1
  110. package/dist/src/storage/browser.js +80 -22
  111. package/dist/src/storage/browser.js.map +1 -1
  112. package/dist/src/storage/filesystem.d.ts +8 -4
  113. package/dist/src/storage/filesystem.d.ts.map +1 -1
  114. package/dist/src/storage/filesystem.js +79 -22
  115. package/dist/src/storage/filesystem.js.map +1 -1
  116. package/dist/src/storage/ipfs.d.ts.map +1 -1
  117. package/dist/src/storage/ipfs.js.map +1 -1
  118. package/dist/src/storage/memory.d.ts +9 -5
  119. package/dist/src/storage/memory.d.ts.map +1 -1
  120. package/dist/src/storage/memory.js +76 -22
  121. package/dist/src/storage/memory.js.map +1 -1
  122. package/dist/src/storage/prisma/client/edge.js +5 -4
  123. package/dist/src/storage/prisma/client/index-browser.js +2 -1
  124. package/dist/src/storage/prisma/client/index.d.ts +58 -249
  125. package/dist/src/storage/prisma/client/index.js +5 -4
  126. package/dist/src/storage/prisma/client/package.json +1 -1
  127. package/dist/src/storage/prisma/client/schema.prisma +2 -3
  128. package/dist/src/storage/prisma/client/wasm.js +2 -1
  129. package/dist/src/storage/prisma/prisma.d.ts +13 -8
  130. package/dist/src/storage/prisma/prisma.d.ts.map +1 -1
  131. package/dist/src/storage/prisma/prisma.js +119 -51
  132. package/dist/src/storage/prisma/prisma.js.map +1 -1
  133. package/dist/src/storage/types.d.ts +45 -6
  134. package/dist/src/storage/types.d.ts.map +1 -1
  135. package/dist/src/storage/utils.d.ts +3 -0
  136. package/dist/src/storage/utils.d.ts.map +1 -1
  137. package/dist/src/storage/utils.js +14 -0
  138. package/dist/src/storage/utils.js.map +1 -1
  139. package/dist/src/utils/default-drives-manager.d.ts.map +1 -1
  140. package/dist/src/utils/default-drives-manager.js.map +1 -1
  141. package/dist/src/utils/gql-transformations.d.ts +14 -5
  142. package/dist/src/utils/gql-transformations.d.ts.map +1 -1
  143. package/dist/src/utils/gql-transformations.js +1 -0
  144. package/dist/src/utils/gql-transformations.js.map +1 -1
  145. package/dist/src/utils/graphql.d.ts +2 -2
  146. package/dist/src/utils/graphql.d.ts.map +1 -1
  147. package/dist/src/utils/migrations.d.ts.map +1 -1
  148. package/dist/src/utils/migrations.js.map +1 -1
  149. package/dist/src/utils/misc.d.ts +4 -2
  150. package/dist/src/utils/misc.d.ts.map +1 -1
  151. package/dist/src/utils/misc.js +4 -0
  152. package/dist/src/utils/misc.js.map +1 -1
  153. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  154. package/package.json +5 -4
  155. package/dist/test/cache.test.d.ts +0 -2
  156. package/dist/test/cache.test.d.ts.map +0 -1
  157. package/dist/test/cache.test.js +0 -281
  158. package/dist/test/cache.test.js.map +0 -1
  159. package/dist/test/default-remote-drives.test.d.ts +0 -2
  160. package/dist/test/default-remote-drives.test.d.ts.map +0 -1
  161. package/dist/test/default-remote-drives.test.js +0 -446
  162. package/dist/test/default-remote-drives.test.js.map +0 -1
  163. package/dist/test/document-helpers/addUndo.test.d.ts +0 -2
  164. package/dist/test/document-helpers/addUndo.test.d.ts.map +0 -1
  165. package/dist/test/document-helpers/addUndo.test.js +0 -120
  166. package/dist/test/document-helpers/addUndo.test.js.map +0 -1
  167. package/dist/test/document-helpers/attachBranch.test.d.ts +0 -2
  168. package/dist/test/document-helpers/attachBranch.test.d.ts.map +0 -1
  169. package/dist/test/document-helpers/attachBranch.test.js +0 -333
  170. package/dist/test/document-helpers/attachBranch.test.js.map +0 -1
  171. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts +0 -2
  172. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.d.ts.map +0 -1
  173. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js +0 -252
  174. package/dist/test/document-helpers/checkCleanedOperationsIntegrity.test.js.map +0 -1
  175. package/dist/test/document-helpers/garbageCollect.test.d.ts +0 -2
  176. package/dist/test/document-helpers/garbageCollect.test.d.ts.map +0 -1
  177. package/dist/test/document-helpers/garbageCollect.test.js +0 -136
  178. package/dist/test/document-helpers/garbageCollect.test.js.map +0 -1
  179. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts +0 -2
  180. package/dist/test/document-helpers/groupOperationsByScope.test.d.ts.map +0 -1
  181. package/dist/test/document-helpers/groupOperationsByScope.test.js +0 -98
  182. package/dist/test/document-helpers/groupOperationsByScope.test.js.map +0 -1
  183. package/dist/test/document-helpers/merge.test.d.ts +0 -2
  184. package/dist/test/document-helpers/merge.test.d.ts.map +0 -1
  185. package/dist/test/document-helpers/merge.test.js +0 -757
  186. package/dist/test/document-helpers/merge.test.js.map +0 -1
  187. package/dist/test/document-helpers/nextSkipNumber.test.d.ts +0 -2
  188. package/dist/test/document-helpers/nextSkipNumber.test.d.ts.map +0 -1
  189. package/dist/test/document-helpers/nextSkipNumber.test.js +0 -123
  190. package/dist/test/document-helpers/nextSkipNumber.test.js.map +0 -1
  191. package/dist/test/document-helpers/prepareOperations.test.d.ts +0 -2
  192. package/dist/test/document-helpers/prepareOperations.test.d.ts.map +0 -1
  193. package/dist/test/document-helpers/prepareOperations.test.js +0 -304
  194. package/dist/test/document-helpers/prepareOperations.test.js.map +0 -1
  195. package/dist/test/document-helpers/removeExistingOperations.test.d.ts +0 -2
  196. package/dist/test/document-helpers/removeExistingOperations.test.d.ts.map +0 -1
  197. package/dist/test/document-helpers/removeExistingOperations.test.js +0 -150
  198. package/dist/test/document-helpers/removeExistingOperations.test.js.map +0 -1
  199. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts +0 -2
  200. package/dist/test/document-helpers/reshuffleByTimestamp.test.d.ts.map +0 -1
  201. package/dist/test/document-helpers/reshuffleByTimestamp.test.js +0 -148
  202. package/dist/test/document-helpers/reshuffleByTimestamp.test.js.map +0 -1
  203. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts +0 -2
  204. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.d.ts.map +0 -1
  205. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js +0 -200
  206. package/dist/test/document-helpers/reshuffleByTimestampAndIndex.test.js.map +0 -1
  207. package/dist/test/document-helpers/sortOperations.test.d.ts +0 -2
  208. package/dist/test/document-helpers/sortOperations.test.d.ts.map +0 -1
  209. package/dist/test/document-helpers/sortOperations.test.js +0 -101
  210. package/dist/test/document-helpers/sortOperations.test.js.map +0 -1
  211. package/dist/test/document-helpers/split.test.d.ts +0 -2
  212. package/dist/test/document-helpers/split.test.d.ts.map +0 -1
  213. package/dist/test/document-helpers/split.test.js +0 -121
  214. package/dist/test/document-helpers/split.test.js.map +0 -1
  215. package/dist/test/document-helpers/utils.d.ts +0 -8
  216. package/dist/test/document-helpers/utils.d.ts.map +0 -1
  217. package/dist/test/document-helpers/utils.js +0 -22
  218. package/dist/test/document-helpers/utils.js.map +0 -1
  219. package/dist/test/drive-operations.test.d.ts +0 -2
  220. package/dist/test/drive-operations.test.d.ts.map +0 -1
  221. package/dist/test/drive-operations.test.js +0 -145
  222. package/dist/test/drive-operations.test.js.map +0 -1
  223. package/dist/test/graphql.test.d.ts +0 -2
  224. package/dist/test/graphql.test.d.ts.map +0 -1
  225. package/dist/test/graphql.test.js +0 -10
  226. package/dist/test/graphql.test.js.map +0 -1
  227. package/dist/test/internal-listener.test.d.ts +0 -2
  228. package/dist/test/internal-listener.test.d.ts.map +0 -1
  229. package/dist/test/internal-listener.test.js +0 -277
  230. package/dist/test/internal-listener.test.js.map +0 -1
  231. package/dist/test/queue.test.d.ts +0 -2
  232. package/dist/test/queue.test.d.ts.map +0 -1
  233. package/dist/test/queue.test.js +0 -338
  234. package/dist/test/queue.test.js.map +0 -1
  235. package/dist/test/read-mode.test.d.ts +0 -2
  236. package/dist/test/read-mode.test.d.ts.map +0 -1
  237. package/dist/test/read-mode.test.js +0 -578
  238. package/dist/test/read-mode.test.js.map +0 -1
  239. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +0 -2
  240. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +0 -1
  241. package/dist/test/server/driveOperationsConflictResolution.test.js +0 -460
  242. package/dist/test/server/driveOperationsConflictResolution.test.js.map +0 -1
  243. package/dist/test/server/mergeOperations.test.d.ts +0 -2
  244. package/dist/test/server/mergeOperations.test.d.ts.map +0 -1
  245. package/dist/test/server/mergeOperations.test.js +0 -107
  246. package/dist/test/server/mergeOperations.test.js.map +0 -1
  247. package/dist/test/server/processOperations.test.d.ts +0 -2
  248. package/dist/test/server/processOperations.test.d.ts.map +0 -1
  249. package/dist/test/server/processOperations.test.js +0 -380
  250. package/dist/test/server/processOperations.test.js.map +0 -1
  251. package/dist/test/server.test.d.ts +0 -2
  252. package/dist/test/server.test.d.ts.map +0 -1
  253. package/dist/test/server.test.js +0 -899
  254. package/dist/test/server.test.js.map +0 -1
  255. package/dist/test/signature-migration.test.d.ts +0 -2
  256. package/dist/test/signature-migration.test.d.ts.map +0 -1
  257. package/dist/test/signature-migration.test.js +0 -239
  258. package/dist/test/signature-migration.test.js.map +0 -1
  259. package/dist/test/storage.test.d.ts +0 -2
  260. package/dist/test/storage.test.d.ts.map +0 -1
  261. package/dist/test/storage.test.js +0 -523
  262. package/dist/test/storage.test.js.map +0 -1
  263. package/dist/test/utils.d.ts +0 -48
  264. package/dist/test/utils.d.ts.map +0 -1
  265. package/dist/test/utils.js +0 -133
  266. package/dist/test/utils.js.map +0 -1
  267. package/dist/test/utils.test.d.ts +0 -2
  268. package/dist/test/utils.test.d.ts.map +0 -1
  269. package/dist/test/utils.test.js +0 -89
  270. package/dist/test/utils.test.js.map +0 -1
  271. package/dist/test/vitest-setup.d.ts +0 -2
  272. package/dist/test/vitest-setup.d.ts.map +0 -1
  273. package/dist/test/vitest-setup.js +0 -5
  274. package/dist/test/vitest-setup.js.map +0 -1
  275. package/dist/tsconfig.tsbuildinfo +0 -1
  276. package/dist/vitest.config.d.ts +0 -3
  277. package/dist/vitest.config.d.ts.map +0 -1
  278. package/dist/vitest.config.js +0 -27
  279. package/dist/vitest.config.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../../src/drive-document-model/src/tests/utils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../../src/drive-document-model/src/tests/utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,4 @@
1
- import { type OperationScope } from "document-model";
2
- import { type AddFileAction, type CopyNodeAction } from "../gen/node/actions.js";
3
- import { type AddFileInput, type CopyNodeInput, type DocumentDriveState, type FileNode, type FolderNode, type Node, type SynchronizationUnit } from "../gen/types.js";
1
+ import { type CopyNodeInput, type FileNode, type FolderNode, type Node } from "../gen/types.js";
4
2
  export declare function isFileNode(node: Node): node is FileNode;
5
3
  export declare function isFolderNode(node: Node): node is FolderNode;
6
4
  export declare function getAncestors(node: Node, allNodes: Node[]): Node[];
@@ -10,7 +8,7 @@ export type GenerateNodesCopySrc = {
10
8
  targetName?: Node["name"];
11
9
  targetParentFolder?: Node["parentFolder"];
12
10
  };
13
- export type GenerateNodesCopyIdGenerator = (prevId: Node["id"]) => Node["id"];
11
+ export type GenerateNodesCopyIdGenerator = (nodeToCopy: Node) => Node["id"];
14
12
  /**
15
13
  * Generates a copy of nodes based on the provided source and target information.
16
14
  * @param src - The source information for generating the copy.
@@ -20,10 +18,6 @@ export type GenerateNodesCopyIdGenerator = (prevId: Node["id"]) => Node["id"];
20
18
  * @throws Error if the root node with the specified ID is not found.
21
19
  */
22
20
  export declare function generateNodesCopy(src: GenerateNodesCopySrc, idGenerator: GenerateNodesCopyIdGenerator, nodes: Node[]): CopyNodeInput[];
23
- export declare function generateSynchronizationUnitId(nodes: DocumentDriveState["nodes"]): string;
24
- export declare function generateSynchronizationUnits(state: DocumentDriveState, scopes: OperationScope[], branch?: string): SynchronizationUnit[];
25
- export declare function generateAddNodeAction(state: DocumentDriveState, action: Omit<AddFileInput, "synchronizationUnits">, scopes: OperationScope[]): AddFileAction;
26
- export declare function generateCopyNodeAction(state: DocumentDriveState, action: Omit<CopyNodeInput, "synchronizationUnits">): CopyNodeAction;
27
21
  export declare function getNextCopyNumber(files: string[], baseFilename: string): number;
28
22
  export declare function escapeRegExp(string: string): string;
29
23
  export declare function handleTargetNameCollisions(params: {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/drive-document-model/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,mBAAmB,EACzB,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,QAAQ,CAEvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,UAAU,CAE3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAUjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAInE;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,oBAAoB,EACzB,WAAW,EAAE,4BAA4B,EACzC,KAAK,EAAE,IAAI,EAAE,GACZ,aAAa,EAAE,CAmDjB;AAED,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,GACjC,MAAM,CAaR;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,cAAc,EAAE,EACxB,MAAM,SAAS,GACd,mBAAmB,EAAE,CAMvB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,sBAAsB,CAAC,EAClD,MAAM,EAAE,cAAc,EAAE,GACvB,aAAa,CAKf;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,EACzB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,sBAAsB,CAAC,GAClD,cAAc,CAqBhB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,CAmBR;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAE1C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB,UAkBA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/drive-document-model/src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,IAAI,EACV,MAAM,iBAAiB,CAAC;AAEzB,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,QAAQ,CAEvD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,UAAU,CAE3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAUjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAInE;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,UAAU,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,kBAAkB,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,UAAU,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,oBAAoB,EACzB,WAAW,EAAE,4BAA4B,EACzC,KAAK,EAAE,IAAI,EAAE,GACZ,aAAa,EAAE,CA2CjB;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,CAmBR;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,UAE1C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE;IACjD,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB,UAkBA"}
@@ -1,5 +1,3 @@
1
- import { generateId } from "document-model";
2
- import { addFile, copyNode } from "../gen/node/creators.js";
3
1
  export function isFileNode(node) {
4
2
  return node.kind === "file";
5
3
  }
@@ -49,70 +47,23 @@ export function generateNodesCopy(src, idGenerator, nodes) {
49
47
  if (src.targetParentFolder) {
50
48
  ids[src.targetParentFolder] = src.targetParentFolder;
51
49
  }
52
- const getNewNodeId = (id) => {
53
- let newId = ids[id];
50
+ const getNewNodeId = (node) => {
51
+ let newId = ids[node.id];
54
52
  if (!newId) {
55
- const oldId = id;
56
- newId = idGenerator(id);
53
+ const oldId = node.id;
54
+ newId = idGenerator(node);
57
55
  ids[oldId] = newId;
58
56
  }
59
57
  return newId;
60
58
  };
61
59
  const copyNodesInput = nodesToCopy.map((node) => ({
62
60
  srcId: node.id,
63
- targetId: getNewNodeId(node.id),
61
+ targetId: getNewNodeId(node),
64
62
  targetName: node.name,
65
- targetParentFolder: node.parentFolder
66
- ? getNewNodeId(node.parentFolder)
67
- : null,
68
- synchronizationUnits: isFileNode(node)
69
- ? node.synchronizationUnits.map((unit) => ({
70
- ...unit,
71
- syncId: generateSynchronizationUnitId(nodes),
72
- }))
73
- : undefined,
63
+ targetParentFolder: node.parentFolder ? ids[node.parentFolder] : null,
74
64
  }));
75
65
  return copyNodesInput;
76
66
  }
77
- export function generateSynchronizationUnitId(nodes) {
78
- let syncId = "";
79
- while (!syncId ||
80
- nodes.find((node) => isFileNode(node) &&
81
- node.synchronizationUnits.find((unit) => unit.syncId === syncId))) {
82
- syncId = generateId();
83
- }
84
- return syncId;
85
- }
86
- export function generateSynchronizationUnits(state, scopes, branch = "main") {
87
- return scopes.map((scope) => ({
88
- scope,
89
- branch,
90
- syncId: generateSynchronizationUnitId(state.nodes),
91
- }));
92
- }
93
- export function generateAddNodeAction(state, action, scopes) {
94
- return addFile({
95
- ...action,
96
- synchronizationUnits: generateSynchronizationUnits(state, scopes),
97
- });
98
- }
99
- export function generateCopyNodeAction(state, action) {
100
- const originalNode = state.nodes.find((node) => node.id === action.srcId);
101
- if (!originalNode) {
102
- throw new Error(`Node with id ${action.srcId} not found`);
103
- }
104
- let synchronizationUnits = undefined;
105
- if (isFileNode(originalNode)) {
106
- synchronizationUnits = originalNode.synchronizationUnits.map((syncUnit) => ({
107
- ...syncUnit,
108
- syncId: generateSynchronizationUnitId(state.nodes),
109
- }));
110
- }
111
- return copyNode({
112
- ...action,
113
- synchronizationUnits,
114
- });
115
- }
116
67
  export function getNextCopyNumber(files, baseFilename) {
117
68
  let maxNumber = 0; // Start by assuming no copies exist
118
69
  // Regex to find files that match the base filename followed by " (copy)" and possibly a number
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/drive-document-model/src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/drive-document-model/src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { type ListenerFilter } from "#drive-document-model/gen/schema/types";
2
2
  import { type InternalTransmitterUpdate } from "#server/listener/transmitter/internal";
3
- import { type IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
4
3
  import { type PHDocument } from "document-model";
5
4
  import { type Kysely, type QueryCreator } from "kysely";
6
5
  import { type ExtractProcessorSchemaOrSelf } from "./relational.js";
6
+ type IAnalyticsStore = any;
7
7
  export type IRelationalQueryMethods = "selectFrom" | "selectNoFrom" | "with" | "withRecursive";
8
8
  export type IRelationalQueryBuilder<Schema = unknown> = Pick<QueryCreator<Schema>, IRelationalQueryMethods> & {
9
9
  withSchema: (schema: string) => IRelationalQueryBuilder<Schema>;
@@ -79,4 +79,5 @@ export interface IProcessorManager {
79
79
  */
80
80
  registerDrive(driveId: string): Promise<void>;
81
81
  }
82
+ export {};
82
83
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/processors/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,cAAc,GACd,MAAM,GACN,eAAe,CAAC;AAEpB,MAAM,MAAM,uBAAuB,CAAC,MAAM,GAAG,OAAO,IAAI,IAAI,CAC1D,YAAY,CAAC,MAAM,CAAC,EACpB,uBAAuB,CACxB,GAAG;IACF,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAEjE;;;;IAII;AACJ,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG;IACxE,eAAe,CAAC,eAAe,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzE,cAAc,CAAC,eAAe,EAC5B,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAAC,eAAe,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,SAAS,CAAC,SAAS,SAAS,UAAU,EACpC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,KACZ,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/processors/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxD,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,iBAAiB,CAAC;AAGpE,KAAK,eAAe,GAAG,GAAG,CAAC;AAE3B,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,cAAc,GACd,MAAM,GACN,eAAe,CAAC;AAEpB,MAAM,MAAM,uBAAuB,CAAC,MAAM,GAAG,OAAO,IAAI,IAAI,CAC1D,YAAY,CAAC,MAAM,CAAC,EACpB,uBAAuB,CACxB,GAAG;IACF,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,uBAAuB,CAAC,MAAM,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;AAEjE;;;;IAII;AACJ,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,GAAG;IACxE,eAAe,CAAC,eAAe,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,4BAA4B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IACzE,cAAc,CAAC,eAAe,EAC5B,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAAC,eAAe,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,eAAe,CAAC;IAChC,YAAY,EAAE,aAAa,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;OAIG;IACH,SAAS,CAAC,SAAS,SAAS,UAAU,EACpC,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,EAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,KACZ,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
@@ -1,43 +1,22 @@
1
- import { type Unsubscribe } from "nanoevents";
2
- import { type IJob, type IJobQueue, type IQueue, type IQueueManager, type IServerDelegate, type Job, type JobId, type QueueEvents } from "./types.js";
1
+ import { type IJob, type IQueue, type Job } from "./types.js";
3
2
  export declare class MemoryQueue<T> implements IQueue<T> {
4
3
  private id;
5
- private blocked;
4
+ private running;
6
5
  private deleted;
7
6
  private items;
8
7
  private dependencies;
9
8
  constructor(id: string);
9
+ isRunning(): Promise<boolean>;
10
+ setRunning(running: boolean): Promise<void>;
10
11
  setDeleted(deleted: boolean): Promise<void>;
11
12
  isDeleted(): Promise<boolean>;
12
13
  addJob(data: IJob<T>): Promise<void>;
13
14
  getNextJob(): Promise<IJob<T> | undefined>;
14
15
  amountOfJobs(): Promise<number>;
15
16
  getId(): string;
16
- setBlocked(blocked: boolean): Promise<void>;
17
17
  isBlocked(): Promise<boolean>;
18
18
  getJobs(): Promise<IJob<T>[]>;
19
- addDependencies(job: IJob<Job>): Promise<void>;
20
- removeDependencies(job: IJob<Job>): Promise<void>;
21
- }
22
- export declare class BaseQueueManager implements IQueueManager {
23
- protected emitter: import("nanoevents").Emitter<QueueEvents>;
24
- protected ticker: number;
25
- protected queues: IJobQueue[];
26
- protected workers: number;
27
- protected timeout: number;
28
- private delegate;
29
- constructor(workers?: number, timeout?: number);
30
- init(delegate: IServerDelegate, onError: (error: Error) => void): Promise<void>;
31
- addJob(job: Job): Promise<JobId>;
32
- getQueue(driveId: string, documentId?: string): IJobQueue;
33
- removeQueue(driveId: string, documentId?: string): void;
34
- getQueueByIndex(index: number): IJobQueue | null;
35
- getQueues(): string[];
36
- private retryNextJob;
37
- private findFirstNonEmptyQueue;
38
- private processNextJob;
39
- protected emit<K extends keyof QueueEvents>(event: K, ...args: Parameters<QueueEvents[K]>): void;
40
- on<K extends keyof QueueEvents>(event: K, cb: QueueEvents[K]): Unsubscribe;
41
- protected getQueueId(driveId: string, documentId?: string): string;
19
+ addDependency(job: IJob<Job>): Promise<void>;
20
+ removeDependency(job: IJob<Job>): Promise<void>;
42
21
  }
43
22
  //# sourceMappingURL=base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/queue/base.ts"],"names":[],"mappings":"AAKA,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,eAAe,EAEpB,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,YAAY,CAA0B;gBAElC,EAAE,EAAE,MAAM;IAIhB,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAKpB,UAAU;IAKV,YAAY;IAIlB,KAAK;IAIC,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,OAAO;IAIP,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IAS9B,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;CAQxC;AAED,qBAAa,gBAAiB,YAAW,aAAa;IACpD,SAAS,CAAC,OAAO,4CAAmC;IACpD,SAAS,CAAC,MAAM,SAAK;IACrB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAM;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAA8B;gBAElC,OAAO,SAAI,EAAE,OAAO,SAAI;IAK9B,IAAI,CACR,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC;IAWV,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;IA6DtC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAY7C,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAMhD,eAAe,CAAC,KAAK,EAAE,MAAM;IAS7B,SAAS;IAIT,OAAO,CAAC,YAAY;YAON,sBAAsB;YAatB,cAAc;IA0E5B,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EACxC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAK9B,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EACnC,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GACjB,WAAW;IAId,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAG1D"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/queue/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,EAAc,MAAM,YAAY,CAAC;AAE1E,qBAAa,WAAW,CAAC,CAAC,CAAE,YAAW,MAAM,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAS;IACnB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,YAAY,CAAsB;gBAE9B,EAAE,EAAE,MAAM;IAGhB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAG7B,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,UAAU,CAAC,OAAO,EAAE,OAAO;IAI3B,SAAS;IAIT,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAKpB,UAAU;IAKV,YAAY;IAIlB,KAAK;IAIC,SAAS;IAIT,OAAO;IAIP,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;IAM5B,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;CAMtC"}
@@ -1,17 +1,18 @@
1
- import { logger } from "#utils/logger";
2
- import { runAsap } from "#utils/misc";
3
- import { generateId } from "document-model";
4
- import { createNanoEvents } from "nanoevents";
5
- import { isOperationJob, } from "./types.js";
6
1
  export class MemoryQueue {
7
2
  id;
8
- blocked = false;
3
+ running = false;
9
4
  deleted = false;
10
5
  items = [];
11
6
  dependencies = new Array();
12
7
  constructor(id) {
13
8
  this.id = id;
14
9
  }
10
+ async isRunning() {
11
+ return this.running;
12
+ }
13
+ async setRunning(running) {
14
+ this.running = running;
15
+ }
15
16
  async setDeleted(deleted) {
16
17
  this.deleted = deleted;
17
18
  }
@@ -32,211 +33,22 @@ export class MemoryQueue {
32
33
  getId() {
33
34
  return this.id;
34
35
  }
35
- async setBlocked(blocked) {
36
- this.blocked = blocked;
37
- }
38
36
  async isBlocked() {
39
- return this.blocked;
37
+ return this.running || this.deleted || this.dependencies.length > 0;
40
38
  }
41
39
  async getJobs() {
42
40
  return this.items;
43
41
  }
44
- async addDependencies(job) {
45
- if (!this.dependencies.find((j) => j.jobId === job.jobId)) {
46
- this.dependencies.push(job);
47
- }
48
- if (!this.isBlocked()) {
49
- this.setBlocked(true);
50
- }
51
- }
52
- async removeDependencies(job) {
53
- this.dependencies = this.dependencies.filter((j) => j.jobId !== job.jobId && j.driveId !== job.driveId);
54
- if (this.dependencies.length === 0) {
55
- await this.setBlocked(false);
42
+ async addDependency(job) {
43
+ if (!this.dependencies.includes(job.jobId)) {
44
+ this.dependencies.push(job.jobId);
56
45
  }
57
46
  }
58
- }
59
- export class BaseQueueManager {
60
- emitter = createNanoEvents();
61
- ticker = 0;
62
- queues = [];
63
- workers;
64
- timeout;
65
- delegate;
66
- constructor(workers = 3, timeout = 0) {
67
- this.workers = workers;
68
- this.timeout = timeout;
69
- }
70
- async init(delegate, onError) {
71
- this.delegate = delegate;
72
- for (let i = 0; i < this.workers; i++) {
73
- setTimeout(() => this.processNextJob.bind(this)().catch(onError), 100 * i);
47
+ async removeDependency(job) {
48
+ const index = this.dependencies.indexOf(job.jobId);
49
+ if (index > -1) {
50
+ this.dependencies.splice(index, 1);
74
51
  }
75
- return Promise.resolve();
76
- }
77
- async addJob(job) {
78
- if (!this.delegate) {
79
- throw new Error("No server delegate defined");
80
- }
81
- const jobId = generateId();
82
- const queue = this.getQueue(job.driveId, job.documentId);
83
- if (await queue.isDeleted()) {
84
- throw new Error("Queue is deleted");
85
- }
86
- // checks if the job is for a document that doesn't exist in storage yet
87
- const newDocument = job.documentId && !(await this.delegate.exists(job.documentId));
88
- // if it is a new document and queue is not yet blocked then
89
- // blocks it so the jobs are not processed until it's ready
90
- if (newDocument && !(await queue.isBlocked())) {
91
- await queue.setBlocked(true);
92
- // checks if there any job in the queue adding the file and adds as dependency
93
- const driveQueue = this.getQueue(job.driveId);
94
- const jobs = await driveQueue.getJobs();
95
- for (const driveJob of jobs) {
96
- const actions = isOperationJob(driveJob)
97
- ? driveJob.operations
98
- : driveJob.actions;
99
- const op = actions.find((j) => {
100
- const input = j.input;
101
- return j.type === "ADD_FILE" && input.id === job.documentId;
102
- });
103
- if (op) {
104
- await queue.addDependencies(driveJob);
105
- }
106
- }
107
- }
108
- // if it has ADD_FILE operations then adds the job as
109
- // a dependency to the corresponding document queues
110
- const actions = isOperationJob(job) ? job.operations : (job.actions ?? []);
111
- const addFileOps = actions.filter((j) => j.type === "ADD_FILE");
112
- for (const addFileOp of addFileOps) {
113
- const input = addFileOp.input;
114
- const q = this.getQueue(job.driveId, input.id);
115
- await q.addDependencies({ jobId, ...job });
116
- }
117
- // remove document if operations contains delete_node
118
- const removeFileOps = actions.filter((j) => j.type === "DELETE_NODE");
119
- for (const removeFileOp of removeFileOps) {
120
- const input = removeFileOp.input;
121
- const queue = this.getQueue(job.driveId, input.id);
122
- await queue.setDeleted(true);
123
- }
124
- await queue.addJob({ jobId, ...job });
125
- return jobId;
126
- }
127
- getQueue(driveId, documentId) {
128
- const queueId = this.getQueueId(driveId, documentId);
129
- let queue = this.queues.find((q) => q.getId() === queueId);
130
- if (!queue) {
131
- queue = new MemoryQueue(queueId);
132
- this.queues.push(queue);
133
- }
134
- return queue;
135
- }
136
- removeQueue(driveId, documentId) {
137
- const queueId = this.getQueueId(driveId, documentId);
138
- this.queues = this.queues.filter((q) => q.getId() !== queueId);
139
- this.emit("queueRemoved", queueId);
140
- }
141
- getQueueByIndex(index) {
142
- const queue = this.queues[index];
143
- if (queue) {
144
- return queue;
145
- }
146
- return null;
147
- }
148
- getQueues() {
149
- return this.queues.map((q) => q.getId());
150
- }
151
- retryNextJob(timeout) {
152
- const _timeout = timeout !== undefined ? timeout : this.timeout;
153
- const retry = _timeout > 0 ? (fn) => setTimeout(fn, _timeout) : runAsap;
154
- retry(() => this.processNextJob());
155
- }
156
- async findFirstNonEmptyQueue(ticker) {
157
- const numQueues = this.queues.length;
158
- for (let i = 0; i < numQueues; i++) {
159
- const index = (ticker + i) % numQueues;
160
- const queue = this.queues[index];
161
- if (queue && (await queue.amountOfJobs()) > 0) {
162
- return index;
163
- }
164
- }
165
- return null;
166
- }
167
- async processNextJob() {
168
- if (!this.delegate) {
169
- throw new Error("No server delegate defined");
170
- }
171
- if (this.queues.length === 0) {
172
- this.retryNextJob();
173
- return;
174
- }
175
- const queue = this.queues[this.ticker];
176
- if (!queue) {
177
- this.ticker = 0;
178
- this.retryNextJob();
179
- return;
180
- }
181
- // if no jobs in the current queue then looks for the
182
- // next queue with jobs. If no jobs in any queue then
183
- // retries after a timeout
184
- const amountOfJobs = await queue.amountOfJobs();
185
- if (amountOfJobs === 0) {
186
- const nextTicker = await this.findFirstNonEmptyQueue(this.ticker);
187
- if (nextTicker !== null) {
188
- this.ticker = nextTicker;
189
- this.retryNextJob(0);
190
- }
191
- else {
192
- this.retryNextJob();
193
- }
194
- return;
195
- }
196
- this.ticker = this.ticker === this.queues.length - 1 ? 0 : this.ticker + 1;
197
- const isBlocked = await queue.isBlocked();
198
- if (isBlocked) {
199
- this.retryNextJob();
200
- return;
201
- }
202
- await queue.setBlocked(true);
203
- const nextJob = await queue.getNextJob();
204
- if (!nextJob) {
205
- this.retryNextJob();
206
- return;
207
- }
208
- try {
209
- const result = await this.delegate.processJob(nextJob);
210
- // unblock the document queues of each add_file operation
211
- const actions = isOperationJob(nextJob)
212
- ? nextJob.operations
213
- : nextJob.actions;
214
- const addFileActions = actions.filter((op) => op.type === "ADD_FILE");
215
- if (addFileActions.length > 0) {
216
- for (const addFile of addFileActions) {
217
- const documentQueue = this.getQueue(nextJob.driveId, addFile.input.id);
218
- await documentQueue.removeDependencies(nextJob);
219
- }
220
- }
221
- this.emit("jobCompleted", nextJob, result);
222
- }
223
- catch (e) {
224
- logger.error(`job failed`, e);
225
- this.emit("jobFailed", nextJob, e);
226
- }
227
- finally {
228
- await queue.setBlocked(false);
229
- this.retryNextJob(0);
230
- }
231
- }
232
- emit(event, ...args) {
233
- this.emitter.emit(event, ...args);
234
- }
235
- on(event, cb) {
236
- return this.emitter.on(event, cb);
237
- }
238
- getQueueId(driveId, documentId) {
239
- return `queue:${driveId}${documentId ? `:${documentId}` : ""}`;
240
52
  }
241
53
  }
242
54
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/queue/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/queue/base.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IACd,EAAE,CAAS;IACX,OAAO,GAAG,KAAK,CAAC;IAChB,OAAO,GAAG,KAAK,CAAC;IAChB,KAAK,GAAc,EAAE,CAAC;IACtB,YAAY,GAAG,IAAI,KAAK,EAAS,CAAC;IAE1C,YAAY,EAAU;QACpB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IACD,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAa;QACxB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAc;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,GAAc;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,41 @@
1
+ import { type IOperationResult } from "#server/types";
2
+ import { type Unsubscribe } from "nanoevents";
3
+ import { type IJob, type IJobQueue, type IQueueManager, type IServerDelegate, type Job, type JobId, type QueueEvents } from "./types.js";
4
+ interface EnqueuedJob {
5
+ jobId: string;
6
+ documentId: string;
7
+ scope: string;
8
+ timestamp: string;
9
+ }
10
+ export declare class EventQueueManager implements IQueueManager {
11
+ protected logger: import("#utils/logger").ILogger;
12
+ protected emitter: import("nanoevents").Emitter<QueueEvents>;
13
+ protected queues: Map<string, Map<string, IJobQueue>>;
14
+ protected globalQueue: EnqueuedJob[];
15
+ protected isFindingJob: boolean;
16
+ protected maxWorkers: number;
17
+ protected workers: number;
18
+ protected runningJobs: IJob<Job>[];
19
+ protected timeout: number;
20
+ protected delegate: IServerDelegate | undefined;
21
+ protected onError: ((error: Error) => void) | undefined;
22
+ constructor(maxWorkers?: number, timeout?: number);
23
+ init(delegate: IServerDelegate, onError: (error: Error) => void): Promise<void>;
24
+ addJob(job: Job): Promise<JobId>;
25
+ getQueue(documentId: string, scope: string): IJobQueue;
26
+ getDocumentQueues(documentId: string): Map<string, IJobQueue> | undefined;
27
+ removeQueue(documentId: string, scope: string): boolean | undefined;
28
+ removeDocumentQueues(documentId: string): void;
29
+ protected removeJob(job: IJob<Job>): void;
30
+ protected handleJobCompleted(job: IJob<Job>, result: IOperationResult): Promise<void>;
31
+ protected isBusy(): boolean;
32
+ protected processNextJob(): Promise<void>;
33
+ protected findNextJob(): Promise<{
34
+ queue: IJobQueue;
35
+ job: IJob<Job>;
36
+ } | undefined>;
37
+ protected emit<K extends keyof QueueEvents>(event: K, ...args: Parameters<QueueEvents[K]>): void;
38
+ on<K extends keyof QueueEvents>(event: K, cb: QueueEvents[K]): Unsubscribe;
39
+ }
40
+ export {};
41
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../../src/queue/event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EACL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,aAAa,EAElB,KAAK,eAAe,EAEpB,KAAK,GAAG,EACR,KAAK,KAAK,EACV,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAIpB,UAAU,WAAW;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,iBAAkB,YAAW,aAAa;IACrD,SAAS,CAAC,MAAM,kCAAsC;IACtD,SAAS,CAAC,OAAO,4CAAmC;IACpD,SAAS,CAAC,MAAM,sCAA4C;IAC5D,SAAS,CAAC,WAAW,gBAA4B;IACjD,SAAS,CAAC,YAAY,UAAS;IAC/B,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,WAAW,cAA0B;IAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,CAAC;IAChD,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;gBAE5C,UAAU,SAAI,EAAE,OAAO,SAAI;IAMjC,IAAI,CACR,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC;IAyDV,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;IA8CtC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAgB1C,iBAAiB,CAAC,UAAU,EAAE,MAAM;IAIpC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAS7C,oBAAoB,CAAC,UAAU,EAAE,MAAM;IAOvC,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;cAkBlB,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB;IAI3E,SAAS,CAAC,MAAM;cAIA,cAAc;cA0Dd,WAAW,IAAI,OAAO,CACpC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;KAAE,GAAG,SAAS,CACjD;IAuBD,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,WAAW,EACxC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAK9B,EAAE,CAAC,CAAC,SAAS,MAAM,WAAW,EACnC,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,GACjB,WAAW;CAGf"}