document-drive 6.0.0-dev.104 → 6.0.0-dev.106

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 (564) hide show
  1. package/dist/chunk-CX61OkwL.mjs +16 -0
  2. package/dist/index-HOJm2mt2.d.mts +205 -0
  3. package/dist/index-HOJm2mt2.d.mts.map +1 -0
  4. package/dist/index.d.ts +1944 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +5170 -1
  7. package/dist/index.js.map +1 -1
  8. package/dist/storage/filesystem.d.mts +49 -0
  9. package/dist/storage/filesystem.d.mts.map +1 -0
  10. package/dist/storage/filesystem.mjs +371 -0
  11. package/dist/storage/filesystem.mjs.map +1 -0
  12. package/dist/storage/prisma.d.mts +11508 -0
  13. package/dist/storage/prisma.d.mts.map +1 -0
  14. package/dist/storage/prisma.mjs +7582 -0
  15. package/dist/storage/prisma.mjs.map +1 -0
  16. package/dist/utils-BI7cwVSp.mjs +74 -0
  17. package/dist/utils-BI7cwVSp.mjs.map +1 -0
  18. package/package.json +21 -38
  19. package/dist/prisma/schema.prisma +0 -93
  20. package/dist/src/cache/index.d.ts +0 -4
  21. package/dist/src/cache/index.d.ts.map +0 -1
  22. package/dist/src/cache/index.js +0 -4
  23. package/dist/src/cache/index.js.map +0 -1
  24. package/dist/src/cache/lru.d.ts +0 -22
  25. package/dist/src/cache/lru.d.ts.map +0 -1
  26. package/dist/src/cache/lru.js +0 -40
  27. package/dist/src/cache/lru.js.map +0 -1
  28. package/dist/src/cache/memory.d.ts +0 -27
  29. package/dist/src/cache/memory.d.ts.map +0 -1
  30. package/dist/src/cache/memory.js +0 -104
  31. package/dist/src/cache/memory.js.map +0 -1
  32. package/dist/src/cache/redis.d.ts +0 -22
  33. package/dist/src/cache/redis.d.ts.map +0 -1
  34. package/dist/src/cache/redis.js +0 -91
  35. package/dist/src/cache/redis.js.map +0 -1
  36. package/dist/src/cache/types.d.ts +0 -37
  37. package/dist/src/cache/types.d.ts.map +0 -1
  38. package/dist/src/cache/types.js +0 -2
  39. package/dist/src/cache/types.js.map +0 -1
  40. package/dist/src/cache/util.d.ts +0 -3
  41. package/dist/src/cache/util.d.ts.map +0 -1
  42. package/dist/src/cache/util.js +0 -16
  43. package/dist/src/cache/util.js.map +0 -1
  44. package/dist/src/drive-document-model/constants.d.ts +0 -2
  45. package/dist/src/drive-document-model/constants.d.ts.map +0 -1
  46. package/dist/src/drive-document-model/constants.js +0 -2
  47. package/dist/src/drive-document-model/constants.js.map +0 -1
  48. package/dist/src/drive-document-model/gen/creators.d.ts +0 -3
  49. package/dist/src/drive-document-model/gen/creators.d.ts.map +0 -1
  50. package/dist/src/drive-document-model/gen/creators.js +0 -3
  51. package/dist/src/drive-document-model/gen/creators.js.map +0 -1
  52. package/dist/src/drive-document-model/gen/document-model.d.ts +0 -3
  53. package/dist/src/drive-document-model/gen/document-model.d.ts.map +0 -1
  54. package/dist/src/drive-document-model/gen/document-model.js +0 -210
  55. package/dist/src/drive-document-model/gen/document-model.js.map +0 -1
  56. package/dist/src/drive-document-model/gen/document-schema.d.ts +0 -68
  57. package/dist/src/drive-document-model/gen/document-schema.d.ts.map +0 -1
  58. package/dist/src/drive-document-model/gen/document-schema.js +0 -35
  59. package/dist/src/drive-document-model/gen/document-schema.js.map +0 -1
  60. package/dist/src/drive-document-model/gen/document-type.d.ts +0 -2
  61. package/dist/src/drive-document-model/gen/document-type.d.ts.map +0 -1
  62. package/dist/src/drive-document-model/gen/document-type.js +0 -2
  63. package/dist/src/drive-document-model/gen/document-type.js.map +0 -1
  64. package/dist/src/drive-document-model/gen/drive/actions.d.ts +0 -46
  65. package/dist/src/drive-document-model/gen/drive/actions.d.ts.map +0 -1
  66. package/dist/src/drive-document-model/gen/drive/actions.js +0 -2
  67. package/dist/src/drive-document-model/gen/drive/actions.js.map +0 -1
  68. package/dist/src/drive-document-model/gen/drive/creators.d.ts +0 -10
  69. package/dist/src/drive-document-model/gen/drive/creators.d.ts.map +0 -1
  70. package/dist/src/drive-document-model/gen/drive/creators.js +0 -11
  71. package/dist/src/drive-document-model/gen/drive/creators.js.map +0 -1
  72. package/dist/src/drive-document-model/gen/drive/error.d.ts +0 -2
  73. package/dist/src/drive-document-model/gen/drive/error.d.ts.map +0 -1
  74. package/dist/src/drive-document-model/gen/drive/error.js +0 -2
  75. package/dist/src/drive-document-model/gen/drive/error.js.map +0 -1
  76. package/dist/src/drive-document-model/gen/drive/index.d.ts +0 -2
  77. package/dist/src/drive-document-model/gen/drive/index.d.ts.map +0 -1
  78. package/dist/src/drive-document-model/gen/drive/index.js +0 -2
  79. package/dist/src/drive-document-model/gen/drive/index.js.map +0 -1
  80. package/dist/src/drive-document-model/gen/drive/types.d.ts +0 -2
  81. package/dist/src/drive-document-model/gen/drive/types.d.ts.map +0 -1
  82. package/dist/src/drive-document-model/gen/drive/types.js +0 -2
  83. package/dist/src/drive-document-model/gen/drive/types.js.map +0 -1
  84. package/dist/src/drive-document-model/gen/index.d.ts +0 -10
  85. package/dist/src/drive-document-model/gen/index.d.ts.map +0 -1
  86. package/dist/src/drive-document-model/gen/index.js +0 -10
  87. package/dist/src/drive-document-model/gen/index.js.map +0 -1
  88. package/dist/src/drive-document-model/gen/node/actions.d.ts +0 -41
  89. package/dist/src/drive-document-model/gen/node/actions.d.ts.map +0 -1
  90. package/dist/src/drive-document-model/gen/node/actions.js +0 -2
  91. package/dist/src/drive-document-model/gen/node/actions.js.map +0 -1
  92. package/dist/src/drive-document-model/gen/node/creators.d.ts +0 -13
  93. package/dist/src/drive-document-model/gen/node/creators.d.ts.map +0 -1
  94. package/dist/src/drive-document-model/gen/node/creators.js +0 -17
  95. package/dist/src/drive-document-model/gen/node/creators.js.map +0 -1
  96. package/dist/src/drive-document-model/gen/node/error.d.ts +0 -2
  97. package/dist/src/drive-document-model/gen/node/error.d.ts.map +0 -1
  98. package/dist/src/drive-document-model/gen/node/error.js +0 -2
  99. package/dist/src/drive-document-model/gen/node/error.js.map +0 -1
  100. package/dist/src/drive-document-model/gen/node/index.d.ts +0 -2
  101. package/dist/src/drive-document-model/gen/node/index.d.ts.map +0 -1
  102. package/dist/src/drive-document-model/gen/node/index.js +0 -2
  103. package/dist/src/drive-document-model/gen/node/index.js.map +0 -1
  104. package/dist/src/drive-document-model/gen/node/types.d.ts +0 -2
  105. package/dist/src/drive-document-model/gen/node/types.d.ts.map +0 -1
  106. package/dist/src/drive-document-model/gen/node/types.js +0 -2
  107. package/dist/src/drive-document-model/gen/node/types.js.map +0 -1
  108. package/dist/src/drive-document-model/gen/ph-factories.d.ts +0 -12
  109. package/dist/src/drive-document-model/gen/ph-factories.d.ts.map +0 -1
  110. package/dist/src/drive-document-model/gen/ph-factories.js +0 -46
  111. package/dist/src/drive-document-model/gen/ph-factories.js.map +0 -1
  112. package/dist/src/drive-document-model/gen/reducer.d.ts +0 -4
  113. package/dist/src/drive-document-model/gen/reducer.d.ts.map +0 -1
  114. package/dist/src/drive-document-model/gen/reducer.js +0 -76
  115. package/dist/src/drive-document-model/gen/reducer.js.map +0 -1
  116. package/dist/src/drive-document-model/gen/schema/index.d.ts +0 -2
  117. package/dist/src/drive-document-model/gen/schema/index.d.ts.map +0 -1
  118. package/dist/src/drive-document-model/gen/schema/index.js +0 -2
  119. package/dist/src/drive-document-model/gen/schema/index.js.map +0 -1
  120. package/dist/src/drive-document-model/gen/schema/types.d.ts +0 -283
  121. package/dist/src/drive-document-model/gen/schema/types.d.ts.map +0 -1
  122. package/dist/src/drive-document-model/gen/schema/types.js +0 -2
  123. package/dist/src/drive-document-model/gen/schema/types.js.map +0 -1
  124. package/dist/src/drive-document-model/gen/schema/zod.d.ts +0 -67
  125. package/dist/src/drive-document-model/gen/schema/zod.d.ts.map +0 -1
  126. package/dist/src/drive-document-model/gen/schema/zod.js +0 -229
  127. package/dist/src/drive-document-model/gen/schema/zod.js.map +0 -1
  128. package/dist/src/drive-document-model/gen/types.d.ts +0 -21
  129. package/dist/src/drive-document-model/gen/types.d.ts.map +0 -1
  130. package/dist/src/drive-document-model/gen/types.js +0 -4
  131. package/dist/src/drive-document-model/gen/types.js.map +0 -1
  132. package/dist/src/drive-document-model/gen/utils.d.ts +0 -13
  133. package/dist/src/drive-document-model/gen/utils.d.ts.map +0 -1
  134. package/dist/src/drive-document-model/gen/utils.js +0 -48
  135. package/dist/src/drive-document-model/gen/utils.js.map +0 -1
  136. package/dist/src/drive-document-model/index.d.ts +0 -5
  137. package/dist/src/drive-document-model/index.d.ts.map +0 -1
  138. package/dist/src/drive-document-model/index.js +0 -5
  139. package/dist/src/drive-document-model/index.js.map +0 -1
  140. package/dist/src/drive-document-model/module.d.ts +0 -3
  141. package/dist/src/drive-document-model/module.d.ts.map +0 -1
  142. package/dist/src/drive-document-model/module.js +0 -24
  143. package/dist/src/drive-document-model/module.js.map +0 -1
  144. package/dist/src/drive-document-model/src/index.d.ts +0 -3
  145. package/dist/src/drive-document-model/src/index.d.ts.map +0 -1
  146. package/dist/src/drive-document-model/src/index.js +0 -3
  147. package/dist/src/drive-document-model/src/index.js.map +0 -1
  148. package/dist/src/drive-document-model/src/reducers/drive.d.ts +0 -8
  149. package/dist/src/drive-document-model/src/reducers/drive.d.ts.map +0 -1
  150. package/dist/src/drive-document-model/src/reducers/drive.js +0 -66
  151. package/dist/src/drive-document-model/src/reducers/drive.js.map +0 -1
  152. package/dist/src/drive-document-model/src/reducers/index.d.ts +0 -3
  153. package/dist/src/drive-document-model/src/reducers/index.d.ts.map +0 -1
  154. package/dist/src/drive-document-model/src/reducers/index.js +0 -3
  155. package/dist/src/drive-document-model/src/reducers/index.js.map +0 -1
  156. package/dist/src/drive-document-model/src/reducers/node.d.ts +0 -8
  157. package/dist/src/drive-document-model/src/reducers/node.d.ts.map +0 -1
  158. package/dist/src/drive-document-model/src/reducers/node.js +0 -187
  159. package/dist/src/drive-document-model/src/reducers/node.js.map +0 -1
  160. package/dist/src/drive-document-model/src/tests/actions.test.d.ts +0 -2
  161. package/dist/src/drive-document-model/src/tests/actions.test.d.ts.map +0 -1
  162. package/dist/src/drive-document-model/src/tests/actions.test.js +0 -197
  163. package/dist/src/drive-document-model/src/tests/actions.test.js.map +0 -1
  164. package/dist/src/drive-document-model/src/tests/base.test.d.ts +0 -2
  165. package/dist/src/drive-document-model/src/tests/base.test.d.ts.map +0 -1
  166. package/dist/src/drive-document-model/src/tests/base.test.js +0 -44
  167. package/dist/src/drive-document-model/src/tests/base.test.js.map +0 -1
  168. package/dist/src/drive-document-model/src/tests/document-model.test.d.ts +0 -6
  169. package/dist/src/drive-document-model/src/tests/document-model.test.d.ts.map +0 -1
  170. package/dist/src/drive-document-model/src/tests/document-model.test.js +0 -19
  171. package/dist/src/drive-document-model/src/tests/document-model.test.js.map +0 -1
  172. package/dist/src/drive-document-model/src/tests/drive.test.d.ts +0 -6
  173. package/dist/src/drive-document-model/src/tests/drive.test.d.ts.map +0 -1
  174. package/dist/src/drive-document-model/src/tests/drive.test.js +0 -38
  175. package/dist/src/drive-document-model/src/tests/drive.test.js.map +0 -1
  176. package/dist/src/drive-document-model/src/tests/generate-mock.d.ts +0 -3
  177. package/dist/src/drive-document-model/src/tests/generate-mock.d.ts.map +0 -1
  178. package/dist/src/drive-document-model/src/tests/generate-mock.js +0 -5
  179. package/dist/src/drive-document-model/src/tests/generate-mock.js.map +0 -1
  180. package/dist/src/drive-document-model/src/tests/node.test.d.ts +0 -6
  181. package/dist/src/drive-document-model/src/tests/node.test.d.ts.map +0 -1
  182. package/dist/src/drive-document-model/src/tests/node.test.js +0 -343
  183. package/dist/src/drive-document-model/src/tests/node.test.js.map +0 -1
  184. package/dist/src/drive-document-model/src/tests/test-factories.d.ts +0 -9
  185. package/dist/src/drive-document-model/src/tests/test-factories.d.ts.map +0 -1
  186. package/dist/src/drive-document-model/src/tests/test-factories.js +0 -17
  187. package/dist/src/drive-document-model/src/tests/test-factories.js.map +0 -1
  188. package/dist/src/drive-document-model/src/tests/utils.test.d.ts +0 -2
  189. package/dist/src/drive-document-model/src/tests/utils.test.d.ts.map +0 -1
  190. package/dist/src/drive-document-model/src/tests/utils.test.js +0 -232
  191. package/dist/src/drive-document-model/src/tests/utils.test.js.map +0 -1
  192. package/dist/src/drive-document-model/src/types.d.ts +0 -8
  193. package/dist/src/drive-document-model/src/types.d.ts.map +0 -1
  194. package/dist/src/drive-document-model/src/types.js +0 -2
  195. package/dist/src/drive-document-model/src/types.js.map +0 -1
  196. package/dist/src/drive-document-model/src/utils.d.ts +0 -23
  197. package/dist/src/drive-document-model/src/utils.d.ts.map +0 -1
  198. package/dist/src/drive-document-model/src/utils.js +0 -102
  199. package/dist/src/drive-document-model/src/utils.js.map +0 -1
  200. package/dist/src/drive-document-model/types.d.ts +0 -10
  201. package/dist/src/drive-document-model/types.d.ts.map +0 -1
  202. package/dist/src/drive-document-model/types.js +0 -3
  203. package/dist/src/drive-document-model/types.js.map +0 -1
  204. package/dist/src/index.d.ts +0 -17
  205. package/dist/src/index.d.ts.map +0 -1
  206. package/dist/src/index.js +0 -17
  207. package/dist/src/index.js.map +0 -1
  208. package/dist/src/processors/index.d.ts +0 -4
  209. package/dist/src/processors/index.d.ts.map +0 -1
  210. package/dist/src/processors/index.js +0 -4
  211. package/dist/src/processors/index.js.map +0 -1
  212. package/dist/src/processors/processor-manager.d.ts +0 -21
  213. package/dist/src/processors/processor-manager.d.ts.map +0 -1
  214. package/dist/src/processors/processor-manager.js +0 -104
  215. package/dist/src/processors/processor-manager.js.map +0 -1
  216. package/dist/src/processors/relational.d.ts +0 -49
  217. package/dist/src/processors/relational.d.ts.map +0 -1
  218. package/dist/src/processors/relational.js +0 -57
  219. package/dist/src/processors/relational.js.map +0 -1
  220. package/dist/src/processors/types.d.ts +0 -94
  221. package/dist/src/processors/types.d.ts.map +0 -1
  222. package/dist/src/processors/types.js +0 -2
  223. package/dist/src/processors/types.js.map +0 -1
  224. package/dist/src/processors/utils.d.ts +0 -29
  225. package/dist/src/processors/utils.d.ts.map +0 -1
  226. package/dist/src/processors/utils.js +0 -72
  227. package/dist/src/processors/utils.js.map +0 -1
  228. package/dist/src/queue/base.d.ts +0 -22
  229. package/dist/src/queue/base.d.ts.map +0 -1
  230. package/dist/src/queue/base.js +0 -54
  231. package/dist/src/queue/base.js.map +0 -1
  232. package/dist/src/queue/event.d.ts +0 -40
  233. package/dist/src/queue/event.d.ts.map +0 -1
  234. package/dist/src/queue/event.js +0 -226
  235. package/dist/src/queue/event.js.map +0 -1
  236. package/dist/src/queue/index.d.ts +0 -5
  237. package/dist/src/queue/index.d.ts.map +0 -1
  238. package/dist/src/queue/index.js +0 -5
  239. package/dist/src/queue/index.js.map +0 -1
  240. package/dist/src/queue/redis.d.ts +0 -2
  241. package/dist/src/queue/redis.d.ts.map +0 -1
  242. package/dist/src/queue/redis.js +0 -123
  243. package/dist/src/queue/redis.js.map +0 -1
  244. package/dist/src/queue/types.d.ts +0 -59
  245. package/dist/src/queue/types.d.ts.map +0 -1
  246. package/dist/src/queue/types.js +0 -2
  247. package/dist/src/queue/types.js.map +0 -1
  248. package/dist/src/queue/utils.d.ts +0 -5
  249. package/dist/src/queue/utils.d.ts.map +0 -1
  250. package/dist/src/queue/utils.js +0 -10
  251. package/dist/src/queue/utils.js.map +0 -1
  252. package/dist/src/read-mode/errors.d.ts +0 -12
  253. package/dist/src/read-mode/errors.d.ts.map +0 -1
  254. package/dist/src/read-mode/errors.js +0 -18
  255. package/dist/src/read-mode/errors.js.map +0 -1
  256. package/dist/src/read-mode/index.d.ts +0 -4
  257. package/dist/src/read-mode/index.d.ts.map +0 -1
  258. package/dist/src/read-mode/index.js +0 -4
  259. package/dist/src/read-mode/index.js.map +0 -1
  260. package/dist/src/read-mode/server.d.ts +0 -3
  261. package/dist/src/read-mode/server.d.ts.map +0 -1
  262. package/dist/src/read-mode/server.js +0 -78
  263. package/dist/src/read-mode/server.js.map +0 -1
  264. package/dist/src/read-mode/service.d.ts +0 -17
  265. package/dist/src/read-mode/service.d.ts.map +0 -1
  266. package/dist/src/read-mode/service.js +0 -119
  267. package/dist/src/read-mode/service.js.map +0 -1
  268. package/dist/src/read-mode/types.d.ts +0 -31
  269. package/dist/src/read-mode/types.d.ts.map +0 -1
  270. package/dist/src/read-mode/types.js +0 -2
  271. package/dist/src/read-mode/types.js.map +0 -1
  272. package/dist/src/server/base-server.d.ts +0 -177
  273. package/dist/src/server/base-server.d.ts.map +0 -1
  274. package/dist/src/server/base-server.js +0 -2000
  275. package/dist/src/server/base-server.js.map +0 -1
  276. package/dist/src/server/builder.d.ts +0 -27
  277. package/dist/src/server/builder.d.ts.map +0 -1
  278. package/dist/src/server/builder.js +0 -97
  279. package/dist/src/server/builder.js.map +0 -1
  280. package/dist/src/server/error.d.ts +0 -34
  281. package/dist/src/server/error.d.ts.map +0 -1
  282. package/dist/src/server/error.js +0 -56
  283. package/dist/src/server/error.js.map +0 -1
  284. package/dist/src/server/event-emitter.d.ts +0 -8
  285. package/dist/src/server/event-emitter.d.ts.map +0 -1
  286. package/dist/src/server/event-emitter.js +0 -11
  287. package/dist/src/server/event-emitter.js.map +0 -1
  288. package/dist/src/server/index.d.ts +0 -10
  289. package/dist/src/server/index.d.ts.map +0 -1
  290. package/dist/src/server/index.js +0 -10
  291. package/dist/src/server/index.js.map +0 -1
  292. package/dist/src/server/listener/constants.d.ts +0 -4
  293. package/dist/src/server/listener/constants.d.ts.map +0 -1
  294. package/dist/src/server/listener/constants.js +0 -4
  295. package/dist/src/server/listener/constants.js.map +0 -1
  296. package/dist/src/server/listener/index.d.ts +0 -4
  297. package/dist/src/server/listener/index.d.ts.map +0 -1
  298. package/dist/src/server/listener/index.js +0 -4
  299. package/dist/src/server/listener/index.js.map +0 -1
  300. package/dist/src/server/listener/listener-manager.d.ts +0 -28
  301. package/dist/src/server/listener/listener-manager.d.ts.map +0 -1
  302. package/dist/src/server/listener/listener-manager.js +0 -415
  303. package/dist/src/server/listener/listener-manager.js.map +0 -1
  304. package/dist/src/server/listener/util.d.ts +0 -2
  305. package/dist/src/server/listener/util.d.ts.map +0 -1
  306. package/dist/src/server/listener/util.js +0 -23
  307. package/dist/src/server/listener/util.js.map +0 -1
  308. package/dist/src/server/sync-manager.d.ts +0 -28
  309. package/dist/src/server/sync-manager.d.ts.map +0 -1
  310. package/dist/src/server/sync-manager.js +0 -222
  311. package/dist/src/server/sync-manager.js.map +0 -1
  312. package/dist/src/server/sync-unit-map.d.ts +0 -116
  313. package/dist/src/server/sync-unit-map.d.ts.map +0 -1
  314. package/dist/src/server/sync-unit-map.js +0 -233
  315. package/dist/src/server/sync-unit-map.js.map +0 -1
  316. package/dist/src/server/transmitter/constants.d.ts +0 -2
  317. package/dist/src/server/transmitter/constants.d.ts.map +0 -1
  318. package/dist/src/server/transmitter/constants.js +0 -2
  319. package/dist/src/server/transmitter/constants.js.map +0 -1
  320. package/dist/src/server/transmitter/factory.d.ts +0 -7
  321. package/dist/src/server/transmitter/factory.d.ts.map +0 -1
  322. package/dist/src/server/transmitter/factory.js +0 -25
  323. package/dist/src/server/transmitter/factory.js.map +0 -1
  324. package/dist/src/server/transmitter/index.d.ts +0 -6
  325. package/dist/src/server/transmitter/index.d.ts.map +0 -1
  326. package/dist/src/server/transmitter/index.js +0 -5
  327. package/dist/src/server/transmitter/index.js.map +0 -1
  328. package/dist/src/server/transmitter/internal.d.ts +0 -12
  329. package/dist/src/server/transmitter/internal.d.ts.map +0 -1
  330. package/dist/src/server/transmitter/internal.js +0 -113
  331. package/dist/src/server/transmitter/internal.js.map +0 -1
  332. package/dist/src/server/transmitter/pull-responder.d.ts +0 -30
  333. package/dist/src/server/transmitter/pull-responder.d.ts.map +0 -1
  334. package/dist/src/server/transmitter/pull-responder.js +0 -543
  335. package/dist/src/server/transmitter/pull-responder.js.map +0 -1
  336. package/dist/src/server/transmitter/switchboard-push.d.ts +0 -11
  337. package/dist/src/server/transmitter/switchboard-push.d.ts.map +0 -1
  338. package/dist/src/server/transmitter/switchboard-push.js +0 -130
  339. package/dist/src/server/transmitter/switchboard-push.js.map +0 -1
  340. package/dist/src/server/transmitter/types.d.ts +0 -53
  341. package/dist/src/server/transmitter/types.d.ts.map +0 -1
  342. package/dist/src/server/transmitter/types.js +0 -2
  343. package/dist/src/server/transmitter/types.js.map +0 -1
  344. package/dist/src/server/types.d.ts +0 -419
  345. package/dist/src/server/types.d.ts.map +0 -1
  346. package/dist/src/server/types.js +0 -10
  347. package/dist/src/server/types.js.map +0 -1
  348. package/dist/src/server/utils.d.ts +0 -19
  349. package/dist/src/server/utils.d.ts.map +0 -1
  350. package/dist/src/server/utils.js +0 -110
  351. package/dist/src/server/utils.js.map +0 -1
  352. package/dist/src/storage/browser.d.ts +0 -52
  353. package/dist/src/storage/browser.d.ts.map +0 -1
  354. package/dist/src/storage/browser.js +0 -430
  355. package/dist/src/storage/browser.js.map +0 -1
  356. package/dist/src/storage/filesystem.d.ts +0 -45
  357. package/dist/src/storage/filesystem.d.ts.map +0 -1
  358. package/dist/src/storage/filesystem.js +0 -457
  359. package/dist/src/storage/filesystem.js.map +0 -1
  360. package/dist/src/storage/index.d.ts +0 -5
  361. package/dist/src/storage/index.d.ts.map +0 -1
  362. package/dist/src/storage/index.js +0 -5
  363. package/dist/src/storage/index.js.map +0 -1
  364. package/dist/src/storage/ipfs.d.ts +0 -2
  365. package/dist/src/storage/ipfs.d.ts.map +0 -1
  366. package/dist/src/storage/ipfs.js +0 -491
  367. package/dist/src/storage/ipfs.js.map +0 -1
  368. package/dist/src/storage/memory.d.ts +0 -42
  369. package/dist/src/storage/memory.d.ts.map +0 -1
  370. package/dist/src/storage/memory.js +0 -355
  371. package/dist/src/storage/memory.js.map +0 -1
  372. package/dist/src/storage/path-encoding.d.ts +0 -21
  373. package/dist/src/storage/path-encoding.d.ts.map +0 -1
  374. package/dist/src/storage/path-encoding.js +0 -53
  375. package/dist/src/storage/path-encoding.js.map +0 -1
  376. package/dist/src/storage/prisma/client/default.d.ts +0 -1
  377. package/dist/src/storage/prisma/client/default.js +0 -1
  378. package/dist/src/storage/prisma/client/edge.d.ts +0 -1
  379. package/dist/src/storage/prisma/client/edge.js +0 -263
  380. package/dist/src/storage/prisma/client/index-browser.js +0 -246
  381. package/dist/src/storage/prisma/client/index.d.ts +0 -10318
  382. package/dist/src/storage/prisma/client/index.js +0 -292
  383. package/dist/src/storage/prisma/client/libquery_engine-darwin-arm64.dylib.node +0 -0
  384. package/dist/src/storage/prisma/client/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
  385. package/dist/src/storage/prisma/client/libquery_engine-linux-musl.so.node +0 -0
  386. package/dist/src/storage/prisma/client/package.json +0 -84
  387. package/dist/src/storage/prisma/client/runtime/edge-esm.js +0 -31
  388. package/dist/src/storage/prisma/client/runtime/edge.js +0 -31
  389. package/dist/src/storage/prisma/client/runtime/index-browser.d.ts +0 -365
  390. package/dist/src/storage/prisma/client/runtime/index-browser.js +0 -13
  391. package/dist/src/storage/prisma/client/runtime/library.d.ts +0 -3273
  392. package/dist/src/storage/prisma/client/runtime/library.js +0 -143
  393. package/dist/src/storage/prisma/client/runtime/react-native.js +0 -80
  394. package/dist/src/storage/prisma/client/runtime/wasm.js +0 -32
  395. package/dist/src/storage/prisma/client/schema.prisma +0 -93
  396. package/dist/src/storage/prisma/client/wasm.d.ts +0 -1
  397. package/dist/src/storage/prisma/client/wasm.js +0 -246
  398. package/dist/src/storage/prisma/factory.d.ts +0 -10
  399. package/dist/src/storage/prisma/factory.d.ts.map +0 -1
  400. package/dist/src/storage/prisma/factory.js +0 -23
  401. package/dist/src/storage/prisma/factory.js.map +0 -1
  402. package/dist/src/storage/prisma/index.d.ts +0 -3
  403. package/dist/src/storage/prisma/index.d.ts.map +0 -1
  404. package/dist/src/storage/prisma/index.js +0 -3
  405. package/dist/src/storage/prisma/index.js.map +0 -1
  406. package/dist/src/storage/prisma/prisma.d.ts +0 -73
  407. package/dist/src/storage/prisma/prisma.d.ts.map +0 -1
  408. package/dist/src/storage/prisma/prisma.js +0 -760
  409. package/dist/src/storage/prisma/prisma.js.map +0 -1
  410. package/dist/src/storage/types.d.ts +0 -187
  411. package/dist/src/storage/types.d.ts.map +0 -1
  412. package/dist/src/storage/types.js +0 -2
  413. package/dist/src/storage/types.js.map +0 -1
  414. package/dist/src/storage/utils.d.ts +0 -6
  415. package/dist/src/storage/utils.d.ts.map +0 -1
  416. package/dist/src/storage/utils.js +0 -33
  417. package/dist/src/storage/utils.js.map +0 -1
  418. package/dist/src/utils/default-drives-manager.d.ts +0 -18
  419. package/dist/src/utils/default-drives-manager.d.ts.map +0 -1
  420. package/dist/src/utils/default-drives-manager.js +0 -208
  421. package/dist/src/utils/default-drives-manager.js.map +0 -1
  422. package/dist/src/utils/errors.d.ts +0 -5
  423. package/dist/src/utils/errors.d.ts.map +0 -1
  424. package/dist/src/utils/errors.js +0 -10
  425. package/dist/src/utils/errors.js.map +0 -1
  426. package/dist/src/utils/gql-transformations.d.ts +0 -32
  427. package/dist/src/utils/gql-transformations.d.ts.map +0 -1
  428. package/dist/src/utils/gql-transformations.js +0 -39
  429. package/dist/src/utils/gql-transformations.js.map +0 -1
  430. package/dist/src/utils/graphql.d.ts +0 -13
  431. package/dist/src/utils/graphql.d.ts.map +0 -1
  432. package/dist/src/utils/graphql.js +0 -196
  433. package/dist/src/utils/graphql.js.map +0 -1
  434. package/dist/src/utils/index.d.ts +0 -9
  435. package/dist/src/utils/index.d.ts.map +0 -1
  436. package/dist/src/utils/index.js +0 -9
  437. package/dist/src/utils/index.js.map +0 -1
  438. package/dist/src/utils/logger.d.ts +0 -3
  439. package/dist/src/utils/logger.d.ts.map +0 -1
  440. package/dist/src/utils/logger.js +0 -2
  441. package/dist/src/utils/logger.js.map +0 -1
  442. package/dist/src/utils/migrations.d.ts +0 -4
  443. package/dist/src/utils/migrations.d.ts.map +0 -1
  444. package/dist/src/utils/migrations.js +0 -112
  445. package/dist/src/utils/migrations.js.map +0 -1
  446. package/dist/src/utils/misc.d.ts +0 -21
  447. package/dist/src/utils/misc.d.ts.map +0 -1
  448. package/dist/src/utils/misc.js +0 -55
  449. package/dist/src/utils/misc.js.map +0 -1
  450. package/dist/src/utils/run-asap.d.ts +0 -8
  451. package/dist/src/utils/run-asap.d.ts.map +0 -1
  452. package/dist/src/utils/run-asap.js +0 -120
  453. package/dist/src/utils/run-asap.js.map +0 -1
  454. package/dist/src/utils/test.d.ts +0 -63
  455. package/dist/src/utils/test.d.ts.map +0 -1
  456. package/dist/src/utils/test.js +0 -161
  457. package/dist/src/utils/test.js.map +0 -1
  458. package/dist/src/utils/types.d.ts +0 -44
  459. package/dist/src/utils/types.d.ts.map +0 -1
  460. package/dist/src/utils/types.js +0 -2
  461. package/dist/src/utils/types.js.map +0 -1
  462. package/dist/test/benchmarks/getDrive.json +0 -10
  463. package/dist/test/benchmarks/processOperations.bench.d.ts +0 -2
  464. package/dist/test/benchmarks/processOperations.bench.d.ts.map +0 -1
  465. package/dist/test/benchmarks/processOperations.bench.js +0 -148
  466. package/dist/test/benchmarks/processOperations.bench.js.map +0 -1
  467. package/dist/test/benchmarks/queue.bench.d.ts +0 -2
  468. package/dist/test/benchmarks/queue.bench.d.ts.map +0 -1
  469. package/dist/test/benchmarks/queue.bench.js +0 -55
  470. package/dist/test/benchmarks/queue.bench.js.map +0 -1
  471. package/dist/test/benchmarks/strands.small.json +0 -37085
  472. package/dist/test/cache.test.d.ts +0 -2
  473. package/dist/test/cache.test.d.ts.map +0 -1
  474. package/dist/test/cache.test.js +0 -276
  475. package/dist/test/cache.test.js.map +0 -1
  476. package/dist/test/default-remote-drives.test.d.ts +0 -2
  477. package/dist/test/default-remote-drives.test.d.ts.map +0 -1
  478. package/dist/test/default-remote-drives.test.js +0 -445
  479. package/dist/test/default-remote-drives.test.js.map +0 -1
  480. package/dist/test/drive-operations.test.d.ts +0 -2
  481. package/dist/test/drive-operations.test.d.ts.map +0 -1
  482. package/dist/test/drive-operations.test.js +0 -134
  483. package/dist/test/drive-operations.test.js.map +0 -1
  484. package/dist/test/dual-action-create.test.d.ts +0 -2
  485. package/dist/test/dual-action-create.test.d.ts.map +0 -1
  486. package/dist/test/dual-action-create.test.js +0 -187
  487. package/dist/test/dual-action-create.test.js.map +0 -1
  488. package/dist/test/dual-action-migration.test.d.ts +0 -2
  489. package/dist/test/dual-action-migration.test.d.ts.map +0 -1
  490. package/dist/test/dual-action-migration.test.js +0 -348
  491. package/dist/test/dual-action-migration.test.js.map +0 -1
  492. package/dist/test/graphql.test.d.ts +0 -2
  493. package/dist/test/graphql.test.d.ts.map +0 -1
  494. package/dist/test/graphql.test.js +0 -9
  495. package/dist/test/graphql.test.js.map +0 -1
  496. package/dist/test/internal-listener.test.d.ts +0 -2
  497. package/dist/test/internal-listener.test.d.ts.map +0 -1
  498. package/dist/test/internal-listener.test.js +0 -262
  499. package/dist/test/internal-listener.test.js.map +0 -1
  500. package/dist/test/path-encoding.test.d.ts +0 -2
  501. package/dist/test/path-encoding.test.d.ts.map +0 -1
  502. package/dist/test/path-encoding.test.js +0 -116
  503. package/dist/test/path-encoding.test.js.map +0 -1
  504. package/dist/test/queue.test.d.ts +0 -2
  505. package/dist/test/queue.test.d.ts.map +0 -1
  506. package/dist/test/queue.test.js +0 -325
  507. package/dist/test/queue.test.js.map +0 -1
  508. package/dist/test/reactor.test.d.ts +0 -2
  509. package/dist/test/reactor.test.d.ts.map +0 -1
  510. package/dist/test/reactor.test.js +0 -32
  511. package/dist/test/reactor.test.js.map +0 -1
  512. package/dist/test/read-mode.test.d.ts +0 -2
  513. package/dist/test/read-mode.test.d.ts.map +0 -1
  514. package/dist/test/read-mode.test.js +0 -569
  515. package/dist/test/read-mode.test.js.map +0 -1
  516. package/dist/test/server/driveOperationsConflictResolution.test.d.ts +0 -2
  517. package/dist/test/server/driveOperationsConflictResolution.test.d.ts.map +0 -1
  518. package/dist/test/server/driveOperationsConflictResolution.test.js +0 -486
  519. package/dist/test/server/driveOperationsConflictResolution.test.js.map +0 -1
  520. package/dist/test/server/mergeOperations.test.d.ts +0 -2
  521. package/dist/test/server/mergeOperations.test.d.ts.map +0 -1
  522. package/dist/test/server/mergeOperations.test.js +0 -131
  523. package/dist/test/server/mergeOperations.test.js.map +0 -1
  524. package/dist/test/server/processOperations.test.d.ts +0 -2
  525. package/dist/test/server/processOperations.test.d.ts.map +0 -1
  526. package/dist/test/server/processOperations.test.js +0 -392
  527. package/dist/test/server/processOperations.test.js.map +0 -1
  528. package/dist/test/server.test.d.ts +0 -2
  529. package/dist/test/server.test.d.ts.map +0 -1
  530. package/dist/test/server.test.js +0 -957
  531. package/dist/test/server.test.js.map +0 -1
  532. package/dist/test/signature-migration.test.d.ts +0 -2
  533. package/dist/test/signature-migration.test.d.ts.map +0 -1
  534. package/dist/test/signature-migration.test.js +0 -241
  535. package/dist/test/signature-migration.test.js.map +0 -1
  536. package/dist/test/storage.test.d.ts +0 -2
  537. package/dist/test/storage.test.d.ts.map +0 -1
  538. package/dist/test/storage.test.js +0 -457
  539. package/dist/test/storage.test.js.map +0 -1
  540. package/dist/test/switchboard-push-listener.test.d.ts +0 -2
  541. package/dist/test/switchboard-push-listener.test.d.ts.map +0 -1
  542. package/dist/test/switchboard-push-listener.test.js +0 -133
  543. package/dist/test/switchboard-push-listener.test.js.map +0 -1
  544. package/dist/test/sync-manager.test.d.ts +0 -2
  545. package/dist/test/sync-manager.test.d.ts.map +0 -1
  546. package/dist/test/sync-manager.test.js +0 -354
  547. package/dist/test/sync-manager.test.js.map +0 -1
  548. package/dist/test/undo-redo-clipboard.test.d.ts +0 -2
  549. package/dist/test/undo-redo-clipboard.test.d.ts.map +0 -1
  550. package/dist/test/undo-redo-clipboard.test.js +0 -108
  551. package/dist/test/undo-redo-clipboard.test.js.map +0 -1
  552. package/dist/test/utils.test.d.ts +0 -2
  553. package/dist/test/utils.test.d.ts.map +0 -1
  554. package/dist/test/utils.test.js +0 -86
  555. package/dist/test/utils.test.js.map +0 -1
  556. package/dist/test/vitest-setup.d.ts +0 -2
  557. package/dist/test/vitest-setup.d.ts.map +0 -1
  558. package/dist/test/vitest-setup.js +0 -5
  559. package/dist/test/vitest-setup.js.map +0 -1
  560. package/dist/tsconfig.tsbuildinfo +0 -1
  561. package/dist/vitest.config.d.ts +0 -3
  562. package/dist/vitest.config.d.ts.map +0 -1
  563. package/dist/vitest.config.js +0 -28
  564. package/dist/vitest.config.js.map +0 -1
@@ -1,957 +0,0 @@
1
- import { BrowserStorage, InMemoryCache, MemoryStorage, ReactorBuilder, SynchronizationManager, addFile, addFolder, baseDocumentModels, copyNode, deleteNode, driveDocumentModelModule, driveDocumentReducer, expectUUID, setDriveName, } from "document-drive";
2
- import { FilesystemStorage } from "document-drive/storage/filesystem";
3
- import { PrismaStorage } from "document-drive/storage/prisma";
4
- import { PrismaClient } from "document-drive/storage/prisma/client";
5
- import { documentModelCreateDocument, documentModelDocumentModelModule, setModelName, } from "document-model";
6
- import { createPresignedHeader, generateId } from "document-model/core";
7
- import fs from "node:fs/promises";
8
- import path from "path";
9
- import { afterEach, beforeEach, describe, it, vi } from "vitest";
10
- const documentModels = baseDocumentModels;
11
- const DocumentDriveUtils = { ...driveDocumentModelModule.utils };
12
- const DocumentModelUtils = documentModelDocumentModelModule.utils;
13
- const FileStorageDir = path.join(__dirname, "./file-storage");
14
- const prismaClient = new PrismaClient();
15
- const cache = new InMemoryCache();
16
- const storageLayers = [
17
- ["MemoryStorage", async () => new MemoryStorage()],
18
- ["FilesystemStorage", async () => new FilesystemStorage(FileStorageDir)],
19
- [
20
- "BrowserStorage",
21
- async () => {
22
- const storage = new BrowserStorage();
23
- await storage.clear();
24
- return storage;
25
- },
26
- ],
27
- ["PrismaStorage", async () => new PrismaStorage(prismaClient, cache)],
28
- ];
29
- const file = undefined;
30
- // TODO import RealWorldAssets
31
- // try {
32
- // file = await DocumentModelsLibs.RealWorldAssets.utils.loadFromFile(
33
- // "./test/rwa-document.zip",
34
- // );
35
- // } catch {
36
- // /* empty */
37
- // }
38
- describe.each(storageLayers)("%s", (storageName, buildStorage) => {
39
- beforeEach(async () => {
40
- vi.setSystemTime(new Date("2024-01-01"));
41
- cache.clear();
42
- if (storageName === "FilesystemStorage") {
43
- return fs.rm(FileStorageDir, { recursive: true, force: true });
44
- }
45
- else if (storageName === "BrowserStorage") {
46
- return (await buildStorage()).clear();
47
- }
48
- else if (storageName === "PrismaStorage") {
49
- await prismaClient.$executeRawUnsafe('DELETE FROM "Attachment";');
50
- await prismaClient.$executeRawUnsafe('DELETE FROM "Operation";');
51
- await prismaClient.$executeRawUnsafe('DELETE FROM "DriveDocument";');
52
- await prismaClient.$executeRawUnsafe('DELETE FROM "Document";');
53
- await prismaClient.$executeRawUnsafe('DELETE FROM "Drive";');
54
- }
55
- });
56
- afterEach(async () => {
57
- vi.useRealTimers();
58
- if (storageName === "FilesystemStorage") {
59
- return fs.rm(FileStorageDir, { recursive: true, force: true });
60
- }
61
- else if (storageName === "BrowserStorage") {
62
- return (await buildStorage()).clear();
63
- }
64
- else if (storageName === "PrismaStorage") {
65
- //await prismaClient.$executeRawUnsafe('DELETE FROM "Attachment";');
66
- //await prismaClient.$executeRawUnsafe('DELETE FROM "Operation";');
67
- //await prismaClient.$executeRawUnsafe('DELETE FROM "Document";');
68
- //await prismaClient.$executeRawUnsafe('DELETE FROM "Drive";');
69
- }
70
- });
71
- function createDocumentModelWithId(id) {
72
- return {
73
- ...documentModelCreateDocument(),
74
- header: createPresignedHeader(id, documentModelDocumentModelModule.documentModel.global.id),
75
- };
76
- }
77
- it("adds drive to server", async ({ expect }) => {
78
- const driveId = generateId();
79
- const server = new ReactorBuilder(documentModels)
80
- .withCache(cache)
81
- .withStorage(await buildStorage())
82
- .build();
83
- await server.addDrive({
84
- id: driveId,
85
- global: {
86
- name: "name",
87
- icon: "icon",
88
- },
89
- local: {
90
- availableOffline: false,
91
- sharingType: "PUBLIC",
92
- listeners: [],
93
- triggers: [],
94
- },
95
- });
96
- const drive = await server.getDrive(driveId);
97
- expect(drive.state).toStrictEqual(DocumentDriveUtils.createState({
98
- global: {
99
- name: "name",
100
- icon: "icon",
101
- nodes: [],
102
- },
103
- local: {
104
- availableOffline: false,
105
- sharingType: "PUBLIC",
106
- listeners: [],
107
- triggers: [],
108
- },
109
- }));
110
- const drives = await server.getDrives();
111
- expect(drives.includes(driveId)).toBeTruthy();
112
- });
113
- it.skipIf(!file)("adds file to server", async ({ expect }) => {
114
- const driveId = generateId();
115
- const documentId = generateId();
116
- const server = new ReactorBuilder(documentModels)
117
- .withCache(cache)
118
- .withStorage(await buildStorage())
119
- .build();
120
- await server.addDocument(createDocumentModelWithId(documentId));
121
- await server.addDrive({
122
- id: driveId,
123
- slug: "slug",
124
- global: {
125
- name: "name",
126
- icon: "icon",
127
- },
128
- local: {
129
- availableOffline: false,
130
- sharingType: "public",
131
- listeners: [],
132
- triggers: [],
133
- },
134
- });
135
- let drive = await server.getDrive(driveId);
136
- // performs ADD_FILE operation locally
137
- drive = driveDocumentReducer(drive, addFile({
138
- id: documentId,
139
- name: "document 1",
140
- documentType: "powerhouse/document-model",
141
- }));
142
- // dispatches operation to server
143
- const operation = drive.operations.global[0];
144
- const operationResult = await server.addOperation(driveId, operation);
145
- expect(operationResult.status).toBe("SUCCESS");
146
- drive = await server.getDrive(driveId);
147
- expect(drive.state).toStrictEqual(operationResult.document?.state);
148
- expect(drive.state.global.nodes[0]).toStrictEqual({
149
- id: documentId,
150
- kind: "file",
151
- name: "document 1",
152
- documentType: "powerhouse/document-model",
153
- parentFolder: null,
154
- synchronizationUnits: [
155
- {
156
- branch: "main",
157
- scope: "global",
158
- syncId: expectUUID(expect),
159
- },
160
- {
161
- branch: "main",
162
- scope: "local",
163
- syncId: expectUUID(expect),
164
- },
165
- ],
166
- });
167
- });
168
- it("adds document as child when file is added to server", async ({ expect, }) => {
169
- const driveId = generateId();
170
- const documentId = generateId();
171
- const storage = await buildStorage();
172
- const server = new ReactorBuilder(documentModels)
173
- .withCache(cache)
174
- .withStorage(storage)
175
- .build();
176
- await server.addDrive({
177
- id: driveId,
178
- slug: "slug",
179
- global: {
180
- name: "name",
181
- icon: "icon",
182
- },
183
- local: {
184
- availableOffline: false,
185
- sharingType: "public",
186
- listeners: [],
187
- triggers: [],
188
- },
189
- });
190
- await server.addDocument(createDocumentModelWithId(documentId));
191
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([]);
192
- let drive = await server.getDrive(driveId);
193
- drive = driveDocumentReducer(drive, addFile({
194
- id: documentId,
195
- name: "document 1",
196
- documentType: "powerhouse/document-model",
197
- }));
198
- const operation = drive.operations.global[0];
199
- const result = await server.addOperation(driveId, operation);
200
- if (result.error) {
201
- console.error(result.error);
202
- throw result.error;
203
- }
204
- expect(result.status).toBe("SUCCESS");
205
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([documentId]);
206
- const document = await server.getDocument(documentId);
207
- expect(document.header.documentType).toBe("powerhouse/document-model");
208
- expect(document.state).toStrictEqual(DocumentModelUtils.createState());
209
- const driveDocuments = await server.getDocuments(driveId);
210
- expect(driveDocuments).toStrictEqual([documentId]);
211
- });
212
- it("adds document as child even if document is not previously added to server", async ({ expect, }) => {
213
- const driveId = generateId();
214
- const documentId = generateId();
215
- const storage = await buildStorage();
216
- const server = new ReactorBuilder(documentModels)
217
- .withCache(cache)
218
- .withStorage(storage)
219
- .build();
220
- await server.addDrive({
221
- id: driveId,
222
- slug: "slug",
223
- global: {
224
- name: "name",
225
- icon: "icon",
226
- },
227
- local: {
228
- availableOffline: false,
229
- sharingType: "public",
230
- listeners: [],
231
- triggers: [],
232
- },
233
- });
234
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([]);
235
- let drive = await server.getDrive(driveId);
236
- drive = driveDocumentReducer(drive, addFile({
237
- id: documentId,
238
- name: "document 1",
239
- documentType: "powerhouse/document-model",
240
- }));
241
- const operation = drive.operations.global[0];
242
- const result = await server.addOperation(driveId, operation);
243
- if (result.error) {
244
- console.error(result.error);
245
- throw result.error;
246
- }
247
- expect(result.status).toBe("SUCCESS");
248
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([documentId]);
249
- // const document = await server.getDocument(documentId);
250
- // expect(document.documentType).toBe("powerhouse/document-model");
251
- // expect(document.state).toStrictEqual(DocumentModelUtils.createState());
252
- // const driveDocuments = await server.getDocuments(driveId);
253
- // expect(driveDocuments).toStrictEqual([documentId]);
254
- });
255
- it("removes file as child", async ({ expect }) => {
256
- const driveId = generateId();
257
- const documentId = generateId();
258
- const storage = await buildStorage();
259
- const server = new ReactorBuilder(documentModels)
260
- .withCache(cache)
261
- .withStorage(storage)
262
- .build();
263
- await server.addDocument(createDocumentModelWithId(documentId));
264
- await server.addDrive({
265
- id: driveId,
266
- slug: "slug",
267
- global: {
268
- name: "name",
269
- icon: "icon",
270
- },
271
- local: {
272
- availableOffline: false,
273
- sharingType: "public",
274
- listeners: [],
275
- triggers: [],
276
- },
277
- });
278
- let drive = await server.getDrive(driveId);
279
- // adds file
280
- drive = driveDocumentReducer(drive, addFile({
281
- id: documentId,
282
- name: "document 1",
283
- documentType: "powerhouse/document-model",
284
- }));
285
- let result = await server.addOperation(driveId, drive.operations.global[0]);
286
- expect(result.status).toBe("SUCCESS");
287
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([documentId]);
288
- // removes file
289
- drive = driveDocumentReducer(drive, deleteNode({
290
- id: documentId,
291
- }));
292
- result = await server.addOperation(driveId, drive.operations.global[1]);
293
- expect(result.status).toBe("SUCCESS");
294
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([]);
295
- const serverDrive = await server.getDrive(driveId);
296
- expect(serverDrive.state.global.nodes).toStrictEqual([]);
297
- });
298
- it("deletes document node when file is removed from server", async ({ expect, }) => {
299
- const driveId = generateId();
300
- const documentId = generateId();
301
- const server = new ReactorBuilder(documentModels)
302
- .withCache(cache)
303
- .withStorage(await buildStorage())
304
- .build();
305
- await server.addDrive({
306
- id: driveId,
307
- slug: "slug",
308
- global: {
309
- name: "name",
310
- icon: "icon",
311
- },
312
- local: {
313
- availableOffline: false,
314
- sharingType: "public",
315
- listeners: [],
316
- triggers: [],
317
- },
318
- });
319
- let drive = await server.getDrive(driveId);
320
- drive = driveDocumentReducer(drive, addFile({
321
- id: documentId,
322
- name: "document 1",
323
- documentType: "powerhouse/document-model",
324
- }));
325
- drive = driveDocumentReducer(drive, deleteNode({
326
- id: documentId,
327
- }));
328
- const result = await server.addOperations(driveId, drive.operations.global);
329
- expect(result.status).toBe("SUCCESS");
330
- const documents = await server.getDocuments(driveId);
331
- expect(documents).toStrictEqual([]);
332
- await expect(server.getDocument(documentId)).rejects.toThrowError(`Document with id ${documentId} not found`);
333
- });
334
- it("removes documents as child when it is removed from inside a folder on a drive", async ({ expect, }) => {
335
- const driveId = generateId();
336
- const folderId = generateId();
337
- const documentId = generateId();
338
- const storage = await buildStorage();
339
- const server = new ReactorBuilder(documentModels)
340
- .withCache(cache)
341
- .withStorage(storage)
342
- .build();
343
- await server.addDrive({
344
- id: driveId,
345
- slug: "slug",
346
- global: {
347
- name: "name",
348
- icon: "icon",
349
- },
350
- local: {
351
- availableOffline: false,
352
- sharingType: "public",
353
- listeners: [],
354
- triggers: [],
355
- },
356
- });
357
- let drive = await server.getDrive(driveId);
358
- const document = createDocumentModelWithId(documentId);
359
- await server.addDocument(document);
360
- drive = driveDocumentReducer(drive, addFolder({
361
- id: folderId,
362
- name: "document 1",
363
- }));
364
- drive = driveDocumentReducer(drive, addFile({
365
- id: documentId,
366
- name: "document 1",
367
- documentType: "powerhouse/document-model",
368
- parentFolder: folderId,
369
- }));
370
- drive = driveDocumentReducer(drive, deleteNode({
371
- id: folderId,
372
- }));
373
- const result = await server.addOperations(driveId, drive.operations.global);
374
- expect(result.status).toBe("SUCCESS");
375
- await expect(storage.getChildren(driveId)).resolves.toStrictEqual([]);
376
- const documents = await server.getDocuments(driveId);
377
- expect(documents).toStrictEqual([]);
378
- await expect(server.getDocument(documentId)).resolves.toMatchObject(document);
379
- });
380
- it("deletes drive from server", async ({ expect }) => {
381
- const driveId = generateId();
382
- const server = new ReactorBuilder(documentModels)
383
- .withCache(cache)
384
- .withStorage(await buildStorage())
385
- .build();
386
- await server.addDrive({
387
- id: driveId,
388
- slug: "slug",
389
- global: {
390
- name: "name",
391
- icon: "icon",
392
- },
393
- local: {
394
- availableOffline: false,
395
- sharingType: "public",
396
- listeners: [],
397
- triggers: [],
398
- },
399
- });
400
- await server.deleteDrive(driveId);
401
- const drives = await server.getDrives();
402
- expect(drives).toStrictEqual([]);
403
- });
404
- it("deletes documents when drive is deleted from server", async ({ expect, }) => {
405
- const driveId = generateId();
406
- const documentId = generateId();
407
- const server = new ReactorBuilder(documentModels)
408
- .withCache(cache)
409
- .withStorage(await buildStorage())
410
- .build();
411
- await server.addDrive({
412
- id: driveId,
413
- slug: "slug",
414
- global: {
415
- name: "name",
416
- icon: "icon",
417
- },
418
- local: {
419
- availableOffline: false,
420
- sharingType: "public",
421
- listeners: [],
422
- triggers: [],
423
- },
424
- });
425
- const document = createDocumentModelWithId(documentId);
426
- await server.addDocument(document);
427
- let drive = await server.getDrive(driveId);
428
- drive = driveDocumentReducer(drive, addFile({
429
- id: documentId,
430
- name: "document 1",
431
- documentType: "powerhouse/document-model",
432
- }));
433
- const result = await server.addOperation(driveId, drive.operations.global[0]);
434
- expect(result.status).toBe("SUCCESS");
435
- await server.deleteDrive(driveId);
436
- const documents = await server.getDocuments(driveId);
437
- expect(documents).toStrictEqual([]);
438
- await expect(server.getDocument(documentId)).resolves.toMatchObject(document);
439
- });
440
- it("renames drive", async ({ expect }) => {
441
- const driveId = generateId();
442
- const server = new ReactorBuilder(documentModels)
443
- .withCache(cache)
444
- .withStorage(await buildStorage())
445
- .build();
446
- await server.addDrive({
447
- id: driveId,
448
- slug: "slug",
449
- global: {
450
- name: "name",
451
- icon: "icon",
452
- },
453
- local: {
454
- availableOffline: false,
455
- sharingType: "public",
456
- listeners: [],
457
- triggers: [],
458
- },
459
- });
460
- let drive = await server.getDrive(driveId);
461
- drive = driveDocumentReducer(drive, setDriveName({
462
- name: "new name",
463
- }));
464
- const result = await server.addOperation(driveId, drive.operations.global[0]);
465
- expect(result.status).toBe("SUCCESS");
466
- drive = await server.getDrive(driveId);
467
- expect(drive.state.global.name).toBe("new name");
468
- });
469
- it("copies document when file is copied drive", async ({ expect }) => {
470
- const driveId = generateId();
471
- const folder1Id = generateId();
472
- const folder2Id = generateId();
473
- const document1Id = generateId();
474
- const document2Id = generateId();
475
- const server = new ReactorBuilder(documentModels)
476
- .withCache(cache)
477
- .withStorage(await buildStorage())
478
- .build();
479
- await server.addDocument(createDocumentModelWithId(document1Id));
480
- await server.addDocument(createDocumentModelWithId(document2Id));
481
- await server.addDrive({
482
- id: driveId,
483
- slug: "drive",
484
- global: {
485
- name: "name",
486
- icon: "icon",
487
- },
488
- local: {
489
- availableOffline: false,
490
- sharingType: "public",
491
- listeners: [],
492
- triggers: [],
493
- },
494
- });
495
- let drive = await server.getDrive(driveId);
496
- drive = driveDocumentReducer(drive, addFolder({
497
- id: folder1Id,
498
- name: "1",
499
- }));
500
- drive = driveDocumentReducer(drive, addFolder({
501
- id: folder2Id,
502
- name: "2",
503
- }));
504
- drive = driveDocumentReducer(drive, addFile({
505
- id: document1Id,
506
- name: "1.1",
507
- documentType: "powerhouse/document-model",
508
- parentFolder: folder1Id,
509
- }));
510
- drive = driveDocumentReducer(drive, copyNode({
511
- srcId: document1Id,
512
- targetId: document2Id,
513
- targetName: "2.2",
514
- targetParentFolder: folder2Id,
515
- }));
516
- vi.useRealTimers();
517
- const result = await server.addOperations(driveId, drive.operations.global);
518
- expect(result.status).toBe("SUCCESS");
519
- drive = await server.getDrive(driveId);
520
- const document = await server.getDocument(document1Id);
521
- const documentB = await server.getDocument(document2Id);
522
- // slugs have to change, as they are unique
523
- expect(document.header.slug).not.toBe(documentB.header.slug);
524
- // compare everything but the slug + id (which are supposed to be different)
525
- const { header: { slug, id, ...restHeader }, ...rest } = document;
526
- const { header: { slug: slug2, id: id2, ...restHeader2 }, ...rest2 } = documentB;
527
- expect(rest).toStrictEqual(rest2);
528
- expect(restHeader).toStrictEqual(restHeader2);
529
- expect(id).toBe(document1Id);
530
- expect(slug).toBe(document1Id);
531
- expect(id2).toBe(document2Id);
532
- expect(slug2).toBe(document2Id);
533
- });
534
- it("adds document operation", async ({ expect }) => {
535
- const driveId = generateId();
536
- const documentId = generateId();
537
- const server = new ReactorBuilder(documentModels)
538
- .withCache(cache)
539
- .withStorage(await buildStorage())
540
- .build();
541
- await server.addDrive({
542
- id: driveId,
543
- slug: "slug",
544
- global: {
545
- name: "name",
546
- icon: "icon",
547
- },
548
- local: {
549
- availableOffline: false,
550
- sharingType: "public",
551
- listeners: [],
552
- triggers: [],
553
- },
554
- });
555
- let drive = await server.getDrive(driveId);
556
- await server.addDocument(createDocumentModelWithId(documentId));
557
- // adds file
558
- drive = driveDocumentReducer(drive, addFile({
559
- id: documentId,
560
- name: "document 1",
561
- documentType: "powerhouse/document-model",
562
- }));
563
- await server.addOperation(driveId, drive.operations.global[0]);
564
- let document = await server.getDocument(documentId);
565
- document = documentModelDocumentModelModule.reducer(document, setModelName({ name: "Test" }));
566
- const operation = document.operations.global[0];
567
- const result = await server.addOperation(documentId, operation);
568
- expect(result.error).toBeUndefined();
569
- expect(result.status).toBe("SUCCESS");
570
- expect(result.operations[0]).toStrictEqual(expect.objectContaining(operation));
571
- const storedDocument = await server.getDocument(documentId);
572
- expect(storedDocument.state).toStrictEqual(document.state);
573
- expect(storedDocument.operations).toMatchObject(document.operations);
574
- });
575
- it("adds document operations", async ({ expect }) => {
576
- const driveId = generateId();
577
- const server = new ReactorBuilder(documentModels)
578
- .withCache(cache)
579
- .withStorage(await buildStorage())
580
- .build();
581
- let document = documentModelCreateDocument();
582
- const documentId = document.header.id;
583
- // adds document
584
- await server.addDocument(document);
585
- document = await server.getDocument(documentId);
586
- document = documentModelDocumentModelModule.reducer(document, documentModelDocumentModelModule.actions.setModelName({ name: "Test" }));
587
- document = documentModelDocumentModelModule.reducer(document, documentModelDocumentModelModule.actions.setStateSchema({
588
- schema: 'type TestState {\n "Add your global state fields here"\n _placeholder: String\n}',
589
- scope: "global",
590
- }));
591
- const operations = document.operations.global;
592
- const result = await server.addOperations(documentId, operations);
593
- expect(result.error).toBeUndefined();
594
- expect(result.status).toBe("SUCCESS");
595
- expect(result.operations).toStrictEqual(expect.objectContaining(operations));
596
- const storedDocument = await server.getDocument(driveId, documentId);
597
- expect(storedDocument.state).toStrictEqual(document.state);
598
- expect(storedDocument.operations).toMatchObject(document.operations);
599
- });
600
- it("adds drive operations", async ({ expect }) => {
601
- const driveId = generateId();
602
- const server = new ReactorBuilder(documentModels)
603
- .withCache(cache)
604
- .withStorage(await buildStorage())
605
- .build();
606
- await server.addDrive({
607
- id: driveId,
608
- slug: "slug",
609
- global: {
610
- name: "name",
611
- icon: "icon",
612
- },
613
- local: {
614
- availableOffline: false,
615
- sharingType: "public",
616
- listeners: [],
617
- triggers: [],
618
- },
619
- });
620
- let drive = await server.getDrive(driveId);
621
- drive = driveDocumentReducer(drive, addFolder({ id: generateId(), name: "folder 1" }));
622
- drive = driveDocumentReducer(drive, addFolder({ id: generateId(), name: "folder 2" }));
623
- const operations = drive.operations.global;
624
- const result = await server.addDriveOperations(driveId, operations);
625
- expect(result.status).toBe("SUCCESS");
626
- expect(result.operations).toStrictEqual(expect.objectContaining(operations));
627
- const storedDrive = await server.getDrive(driveId);
628
- expect(storedDrive.state).toStrictEqual(drive.state);
629
- expect(storedDrive.operations).toMatchObject(drive.operations);
630
- });
631
- it("saves operation context", async ({ expect }) => {
632
- const driveId = generateId();
633
- const documentId = generateId();
634
- const server = new ReactorBuilder(documentModels)
635
- .withCache(cache)
636
- .withStorage(await buildStorage())
637
- .build();
638
- await server.addDrive({
639
- id: driveId,
640
- slug: "slug",
641
- global: {
642
- name: "name",
643
- icon: "icon",
644
- },
645
- local: {
646
- availableOffline: false,
647
- sharingType: "public",
648
- listeners: [],
649
- triggers: [],
650
- },
651
- });
652
- let drive = await server.getDrive(driveId);
653
- const context = {
654
- signer: {
655
- user: {
656
- address: "123",
657
- networkId: "1",
658
- chainId: 1,
659
- },
660
- app: {
661
- name: "name",
662
- key: "key",
663
- },
664
- signatures: ["test"],
665
- },
666
- };
667
- drive = driveDocumentReducer(drive, {
668
- ...addFile({
669
- id: documentId,
670
- name: "document 1",
671
- documentType: "powerhouse/document-model",
672
- }),
673
- context,
674
- });
675
- // dispatches operation to server
676
- const operation = drive.operations.global[0];
677
- const operationResult = await server.addOperation(driveId, operation);
678
- expect(operationResult.status).toBe("SUCCESS");
679
- drive = await server.getDrive(driveId);
680
- expect(drive.operations.global[0]?.action?.context).toStrictEqual(context);
681
- });
682
- it("get drives by slug", async ({ expect }) => {
683
- const driveId1 = generateId();
684
- const driveId2 = generateId();
685
- const driveId3 = generateId();
686
- const driveId4 = generateId();
687
- const server = new ReactorBuilder(documentModels)
688
- .withCache(cache)
689
- .withStorage(await buildStorage())
690
- .build();
691
- const addDrive = (driveId, slug) => server.addDrive({
692
- id: driveId,
693
- slug,
694
- global: {
695
- name: "name",
696
- icon: "icon",
697
- },
698
- local: {
699
- availableOffline: false,
700
- sharingType: "public",
701
- listeners: [],
702
- triggers: [],
703
- },
704
- });
705
- await addDrive(driveId1, "slug1");
706
- await addDrive(driveId2, "slug2");
707
- await addDrive(driveId3, "slug3");
708
- // add drive with the same slug as the first drive, which should throw an error
709
- try {
710
- await addDrive(driveId4, "slug1");
711
- throw new Error("created drive with duplicate slug");
712
- }
713
- catch (error) {
714
- expect(error.documentId).toContain(driveId4);
715
- }
716
- let drive = await server.getDriveBySlug("slug1");
717
- expect(drive.header.id).toBe(driveId1);
718
- drive = await server.getDriveBySlug("slug2");
719
- expect(drive.header.id).toBe(driveId2);
720
- drive = await server.getDriveBySlug("slug3");
721
- expect(drive.header.id).toBe(driveId3);
722
- });
723
- it.skipIf(!file)("import document from zip", async ({ expect }) => {
724
- const driveId = generateId();
725
- const storage = await buildStorage();
726
- const server = new ReactorBuilder(documentModels)
727
- .withCache(cache)
728
- .withStorage(storage)
729
- .build();
730
- const drive = await server.addDrive({
731
- id: driveId,
732
- slug: "slug",
733
- global: {
734
- name: "name",
735
- icon: "icon",
736
- },
737
- local: {
738
- availableOffline: false,
739
- sharingType: "public",
740
- listeners: [],
741
- triggers: [],
742
- },
743
- });
744
- const documentId = generateId();
745
- await server.addDocument({
746
- ...file,
747
- header: createPresignedHeader(documentId, file.header.documentType),
748
- });
749
- const action = addFile({
750
- id: documentId,
751
- name: "name",
752
- parentFolder: null,
753
- documentType: file.header.documentType,
754
- });
755
- const result = await server.addAction(driveId, action);
756
- expect(result.status).toBe("SUCCESS");
757
- const document = await server.getDocument(documentId);
758
- expect(document).toStrictEqual(file);
759
- });
760
- it("should get synchronization units revision", async ({ expect }) => {
761
- const driveId = generateId();
762
- const documentId = generateId();
763
- const storage = await buildStorage();
764
- const cache = new InMemoryCache();
765
- const syncManager = new SynchronizationManager(storage, storage, cache, documentModels);
766
- const server = new ReactorBuilder(documentModels)
767
- .withCache(cache)
768
- .withStorage(storage)
769
- .withSynchronizationManager(syncManager)
770
- .build();
771
- await server.addDrive({
772
- id: driveId,
773
- slug: "slug",
774
- global: {
775
- name: "name",
776
- icon: "icon",
777
- },
778
- local: {
779
- availableOffline: false,
780
- sharingType: "public",
781
- listeners: [],
782
- triggers: [],
783
- },
784
- });
785
- let drive = await server.getDrive(driveId);
786
- const syncUnitsInitial = await syncManager.getSynchronizationUnits(driveId, undefined, ["global"]);
787
- expect(syncUnitsInitial).toStrictEqual([
788
- {
789
- documentId: drive.header.id,
790
- documentType: "powerhouse/document-drive",
791
- scope: "global",
792
- branch: "main",
793
- lastUpdated: "2024-01-01T00:00:00.000Z",
794
- revision: 0,
795
- },
796
- ]);
797
- const storageUnitsInitial = await storage.findStorageUnitsBy({}, 10);
798
- expect(storageUnitsInitial.units).toHaveLength(4);
799
- await server.addDocument(createDocumentModelWithId(documentId));
800
- // adds file
801
- drive = driveDocumentReducer(drive, addFile({
802
- id: documentId,
803
- name: "document 1",
804
- documentType: "powerhouse/document-model",
805
- }));
806
- await server.addOperation(driveId, drive.operations.global[0]);
807
- let document = await server.getDocument(documentId);
808
- document = documentModelDocumentModelModule.reducer(document, setModelName({ name: "Test" }));
809
- const operation = document.operations.global[0];
810
- await server.addOperation(documentId, operation);
811
- await server.getDocument(documentId);
812
- const syncUnits = await syncManager.getSynchronizationUnits(driveId, undefined, ["global"]);
813
- expect(syncUnits).toStrictEqual([
814
- {
815
- documentId: drive.header.id,
816
- documentType: "powerhouse/document-drive",
817
- scope: "global",
818
- branch: "main",
819
- lastUpdated: "2024-01-01T00:00:00.000Z",
820
- revision: 1,
821
- },
822
- {
823
- documentId: documentId,
824
- documentType: "powerhouse/document-model",
825
- scope: "global",
826
- branch: "main",
827
- lastUpdated: "2024-01-01T00:00:00.000Z",
828
- revision: 1,
829
- },
830
- ]);
831
- const storageUnits = await storage.findStorageUnitsBy({}, 10);
832
- expect(storageUnits.units).toHaveLength(8);
833
- });
834
- it("should store all operation attributes", async ({ expect }) => {
835
- const driveId = generateId();
836
- const documentId = generateId();
837
- const storage = await buildStorage();
838
- const server = new ReactorBuilder(documentModels)
839
- .withCache(cache)
840
- .withStorage(storage)
841
- .build();
842
- await server.addDrive({
843
- id: driveId,
844
- slug: "slug",
845
- global: {
846
- name: "name",
847
- icon: "icon",
848
- },
849
- local: {
850
- availableOffline: false,
851
- sharingType: "public",
852
- listeners: [],
853
- triggers: [],
854
- },
855
- });
856
- let drive = await server.getDrive(driveId);
857
- const context = {
858
- signer: {
859
- user: {
860
- address: "123",
861
- networkId: "1",
862
- chainId: 1,
863
- },
864
- app: {
865
- name: "name",
866
- key: "key",
867
- },
868
- signatures: ["test"],
869
- },
870
- };
871
- // adds file
872
- drive = driveDocumentReducer(drive, {
873
- ...addFile({
874
- id: documentId,
875
- name: "document 1",
876
- documentType: "powerhouse/document-model",
877
- }),
878
- context,
879
- });
880
- await server.addOperation(driveId, drive.operations.global[0]);
881
- const storedDrive = await server.getDrive(driveId);
882
- expect(storedDrive.operations.global[0]).toMatchObject(drive.operations.global[0]);
883
- });
884
- it("gets document at specific revision", async ({ expect }) => {
885
- const driveId = generateId();
886
- const documentId = generateId();
887
- const server = new ReactorBuilder(documentModels)
888
- .withCache(cache)
889
- .withStorage(await buildStorage())
890
- .build();
891
- await server.addDrive({
892
- id: driveId,
893
- slug: "slug",
894
- global: {
895
- name: "name",
896
- icon: "icon",
897
- },
898
- local: {
899
- availableOffline: false,
900
- sharingType: "public",
901
- listeners: [],
902
- triggers: [],
903
- },
904
- });
905
- const drive = await server.getDrive(driveId);
906
- // adds file
907
- const newDrive = driveDocumentReducer(drive, addFile({
908
- id: documentId,
909
- name: "document 1",
910
- documentType: "powerhouse/document-model",
911
- }));
912
- await server.addOperation(driveId, newDrive.operations.global[0]);
913
- const drive0 = await server.getDrive(driveId, {
914
- revisions: { global: -1 },
915
- });
916
- expect(drive0.operations.global.length).toBe(0);
917
- expect(drive0).toStrictEqual(drive);
918
- });
919
- it("should allow removing a drive and then adding a new drive with the same id and slug", async ({ expect, }) => {
920
- const server = new ReactorBuilder(documentModels)
921
- .withCache(cache)
922
- .withStorage(await buildStorage())
923
- .build();
924
- await server.addDrive({
925
- id: "test-drive",
926
- slug: "test-drive",
927
- global: {
928
- name: "test-drive",
929
- icon: "icon",
930
- },
931
- local: {
932
- availableOffline: false,
933
- sharingType: "public",
934
- listeners: [],
935
- triggers: [],
936
- },
937
- });
938
- await server.deleteDrive("test-drive");
939
- await server.addDrive({
940
- id: "test-drive",
941
- slug: "test-drive",
942
- global: {
943
- name: "test-drive",
944
- icon: "icon",
945
- },
946
- local: {
947
- availableOffline: false,
948
- sharingType: "public",
949
- listeners: [],
950
- triggers: [],
951
- },
952
- });
953
- const drive = await server.getDriveBySlug("test-drive");
954
- expect(drive.header.slug).toBe("test-drive");
955
- });
956
- });
957
- //# sourceMappingURL=server.test.js.map