document-drive 6.0.0-dev.105 → 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
@@ -0,0 +1,74 @@
1
+ //#region src/utils/errors.ts
2
+ var AbortError = class extends Error {
3
+ constructor(message) {
4
+ super(message || "Aborted");
5
+ this.name = "AbortError";
6
+ }
7
+ };
8
+ //#endregion
9
+ //#region src/server/error.ts
10
+ var OperationError = class extends Error {
11
+ status;
12
+ operation;
13
+ constructor(status, operation, message, cause) {
14
+ super(message, { cause: cause ?? operation });
15
+ this.status = status;
16
+ this.operation = operation;
17
+ if (cause instanceof Error) this.stack = cause.stack;
18
+ }
19
+ };
20
+ var ConflictOperationError = class extends OperationError {
21
+ constructor(existingOperation, newOperation) {
22
+ super("CONFLICT", newOperation, `Conflicting operation on index ${newOperation.index}`, {
23
+ existingOperation,
24
+ newOperation
25
+ });
26
+ }
27
+ };
28
+ let DocumentAlreadyExistsReason = /* @__PURE__ */ function(DocumentAlreadyExistsReason) {
29
+ DocumentAlreadyExistsReason["ID"] = "id";
30
+ DocumentAlreadyExistsReason["SLUG"] = "slug";
31
+ return DocumentAlreadyExistsReason;
32
+ }({});
33
+ var DocumentAlreadyExistsError = class extends Error {
34
+ documentId;
35
+ constructor(documentId, reason = DocumentAlreadyExistsReason.ID) {
36
+ super(`Document (${documentId}) uses ${reason} that already exists`);
37
+ this.documentId = documentId;
38
+ }
39
+ };
40
+ var DocumentNotFoundError = class extends Error {
41
+ documentId;
42
+ constructor(documentId) {
43
+ super(`Document with id ${documentId} not found`);
44
+ this.documentId = documentId;
45
+ }
46
+ };
47
+ //#endregion
48
+ //#region src/storage/utils.ts
49
+ const resolveStorageUnitsFilterComponent = (component) => {
50
+ return component && component.length > 0 && !component.includes("*") ? new Set(component) : null;
51
+ };
52
+ const resolveStorageUnitsFilter = (filter) => {
53
+ return {
54
+ parentId: resolveStorageUnitsFilterComponent(filter.parentId),
55
+ documentId: resolveStorageUnitsFilterComponent(filter.documentId),
56
+ documentModelType: resolveStorageUnitsFilterComponent(filter.documentModelType),
57
+ scope: resolveStorageUnitsFilterComponent(filter.scope),
58
+ branch: resolveStorageUnitsFilterComponent(filter.branch)
59
+ };
60
+ };
61
+ const setUnion = (base, ...iterables) => {
62
+ const result = new Set(base);
63
+ for (const iterable of iterables) for (const value of iterable) result.add(value);
64
+ return result;
65
+ };
66
+ const setIntersection = (left, right) => {
67
+ const result = /* @__PURE__ */ new Set();
68
+ for (const value of left) if (right.has(value)) result.add(value);
69
+ return result;
70
+ };
71
+ //#endregion
72
+ export { DocumentAlreadyExistsError as a, OperationError as c, ConflictOperationError as i, AbortError as l, setIntersection as n, DocumentAlreadyExistsReason as o, setUnion as r, DocumentNotFoundError as s, resolveStorageUnitsFilter as t };
73
+
74
+ //# sourceMappingURL=utils-BI7cwVSp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-BI7cwVSp.mjs","names":[],"sources":["../src/utils/errors.ts","../src/server/error.ts","../src/storage/utils.ts"],"sourcesContent":["export class AbortError extends Error {\n constructor(message?: string) {\n super(message || \"Aborted\");\n\n this.name = \"AbortError\";\n }\n}\n\nexport const isAbortError = (error: unknown): boolean => {\n return error instanceof AbortError;\n};\n","import type { ErrorStatus, SynchronizationUnitId } from \"document-drive\";\nimport type { Operation } from \"@powerhousedao/shared/document-model\";\n\nexport class DocumentModelNotFoundError extends Error {\n constructor(\n public id: string,\n cause?: unknown,\n ) {\n super(`Document model \"${id}\" not found`, { cause });\n }\n}\nexport class OperationError extends Error {\n status: ErrorStatus;\n operation: Operation | undefined;\n\n constructor(\n status: ErrorStatus,\n operation?: Operation,\n message?: string,\n cause?: unknown,\n ) {\n super(message, { cause: cause ?? operation });\n this.status = status;\n this.operation = operation;\n if (cause instanceof Error) {\n this.stack = cause.stack;\n }\n }\n}\n\nexport class ConflictOperationError extends OperationError {\n constructor(existingOperation: Operation, newOperation: Operation) {\n super(\n \"CONFLICT\",\n newOperation,\n `Conflicting operation on index ${newOperation.index}`,\n { existingOperation, newOperation },\n );\n }\n}\n\nexport class MissingOperationError extends OperationError {\n constructor(index: number, operation: Operation) {\n super(\"MISSING\", operation, `Missing operation on index ${index}`);\n }\n}\n\nexport enum DocumentAlreadyExistsReason {\n ID = \"id\",\n SLUG = \"slug\",\n}\n\nexport class DocumentAlreadyExistsError extends Error {\n documentId: string;\n\n constructor(\n documentId: string,\n reason: DocumentAlreadyExistsReason = DocumentAlreadyExistsReason.ID,\n ) {\n super(`Document (${documentId}) uses ${reason} that already exists`);\n\n this.documentId = documentId;\n }\n}\n\nexport class DocumentNotFoundError extends Error {\n documentId: string;\n\n constructor(documentId: string) {\n super(`Document with id ${documentId} not found`);\n\n this.documentId = documentId;\n }\n}\n\nexport class SynchronizationUnitNotFoundError extends Error {\n syncUnitId: SynchronizationUnitId;\n\n constructor(syncUnitId: SynchronizationUnitId) {\n super(`Sync unit ${JSON.stringify(syncUnitId)} not found`);\n this.syncUnitId = syncUnitId;\n }\n}\n","import type {\n IStorageUnitFilter,\n ResolvedStorageUnitFilter,\n} from \"document-drive\";\n\nexport const resolveStorageUnitsFilterComponent = (\n component: string[] | undefined,\n) => {\n return component && component.length > 0 && !component.includes(\"*\")\n ? new Set(component)\n : null;\n};\n\nexport const resolveStorageUnitsFilter = (\n filter: IStorageUnitFilter,\n): ResolvedStorageUnitFilter => {\n return {\n parentId: resolveStorageUnitsFilterComponent(filter.parentId),\n documentId: resolveStorageUnitsFilterComponent(filter.documentId),\n documentModelType: resolveStorageUnitsFilterComponent(\n filter.documentModelType,\n ),\n scope: resolveStorageUnitsFilterComponent(filter.scope),\n branch: resolveStorageUnitsFilterComponent(filter.branch),\n };\n};\n\nexport const setUnion = <T>(\n base: Set<T>,\n ...iterables: Iterable<T>[]\n): Set<T> => {\n const result = new Set(base);\n for (const iterable of iterables) {\n for (const value of iterable) {\n result.add(value);\n }\n }\n return result;\n};\n\nexport const setIntersection = <T>(left: Set<T>, right: Set<T>): Set<T> => {\n const result = new Set<T>();\n for (const value of left) {\n if (right.has(value)) {\n result.add(value);\n }\n }\n return result;\n};\n"],"mappings":";AAAA,IAAa,aAAb,cAAgC,MAAM;CACpC,YAAY,SAAkB;AAC5B,QAAM,WAAW,UAAU;AAE3B,OAAK,OAAO;;;;;ACOhB,IAAa,iBAAb,cAAoC,MAAM;CACxC;CACA;CAEA,YACE,QACA,WACA,SACA,OACA;AACA,QAAM,SAAS,EAAE,OAAO,SAAS,WAAW,CAAC;AAC7C,OAAK,SAAS;AACd,OAAK,YAAY;AACjB,MAAI,iBAAiB,MACnB,MAAK,QAAQ,MAAM;;;AAKzB,IAAa,yBAAb,cAA4C,eAAe;CACzD,YAAY,mBAA8B,cAAyB;AACjE,QACE,YACA,cACA,kCAAkC,aAAa,SAC/C;GAAE;GAAmB;GAAc,CACpC;;;AAUL,IAAY,8BAAL,yBAAA,6BAAA;AACL,6BAAA,QAAA;AACA,6BAAA,UAAA;;KACD;AAED,IAAa,6BAAb,cAAgD,MAAM;CACpD;CAEA,YACE,YACA,SAAsC,4BAA4B,IAClE;AACA,QAAM,aAAa,WAAW,SAAS,OAAO,sBAAsB;AAEpE,OAAK,aAAa;;;AAItB,IAAa,wBAAb,cAA2C,MAAM;CAC/C;CAEA,YAAY,YAAoB;AAC9B,QAAM,oBAAoB,WAAW,YAAY;AAEjD,OAAK,aAAa;;;;;AClEtB,MAAa,sCACX,cACG;AACH,QAAO,aAAa,UAAU,SAAS,KAAK,CAAC,UAAU,SAAS,IAAI,GAChE,IAAI,IAAI,UAAU,GAClB;;AAGN,MAAa,6BACX,WAC8B;AAC9B,QAAO;EACL,UAAU,mCAAmC,OAAO,SAAS;EAC7D,YAAY,mCAAmC,OAAO,WAAW;EACjE,mBAAmB,mCACjB,OAAO,kBACR;EACD,OAAO,mCAAmC,OAAO,MAAM;EACvD,QAAQ,mCAAmC,OAAO,OAAO;EAC1D;;AAGH,MAAa,YACX,MACA,GAAG,cACQ;CACX,MAAM,SAAS,IAAI,IAAI,KAAK;AAC5B,MAAK,MAAM,YAAY,UACrB,MAAK,MAAM,SAAS,SAClB,QAAO,IAAI,MAAM;AAGrB,QAAO;;AAGT,MAAa,mBAAsB,MAAc,UAA0B;CACzE,MAAM,yBAAS,IAAI,KAAQ;AAC3B,MAAK,MAAM,SAAS,KAClB,KAAI,MAAM,IAAI,MAAM,CAClB,QAAO,IAAI,MAAM;AAGrB,QAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "document-drive",
3
- "version": "6.0.0-dev.105",
3
+ "version": "6.0.0-dev.106",
4
4
  "license": "AGPL-3.0-only",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -13,49 +13,29 @@
13
13
  "import": "./dist/index.js",
14
14
  "types": "./dist/index.d.ts"
15
15
  },
16
- "./*": {
17
- "import": "./dist/src/*.js",
18
- "types": "./dist/src/*.d.ts"
19
- },
20
- "./drive-document-model": {
21
- "import": "./dist/src/drive-document-model/index.js",
22
- "types": "./dist/src/drive-document-model/index.d.ts"
23
- },
24
16
  "./storage/filesystem": {
25
- "import": "./dist/src/storage/filesystem.js",
26
- "types": "./dist/src/storage/filesystem.d.ts"
27
- },
28
- "./storage/ipfs": {
29
- "import": "./dist/src/storage/ipfs.js",
30
- "types": "./dist/src/storage/ipfs.d.ts"
17
+ "import": "./dist/storage/filesystem.mjs",
18
+ "types": "./dist/storage/filesystem.d.mts"
31
19
  },
32
20
  "./storage/prisma": {
33
- "import": "./dist/src/storage/prisma/index.js",
34
- "types": "./dist/src/storage/prisma/index.d.ts"
21
+ "import": "./dist/storage/prisma.mjs",
22
+ "types": "./dist/storage/prisma.d.mts"
35
23
  },
36
24
  "./storage/prisma/client": {
37
25
  "import": "./src/storage/prisma/client/default.js",
38
26
  "types": "./src/storage/prisma/client/default.d.ts"
39
- },
40
- "./run-asap": {
41
- "import": "./dist/src/utils/run-asap.js",
42
- "types": "./dist/src/utils/run-asap.d.ts"
43
27
  }
44
28
  },
45
29
  "files": [
46
30
  "./dist",
47
- "./src/storage/prisma/client",
48
- "./prisma/schema.prisma"
31
+ "./prisma/schema.prisma",
32
+ "./src/storage/prisma/client"
49
33
  ],
50
34
  "sideEffects": false,
51
- "optionalDependencies": {
52
- "@prisma/client": "5.17.0",
53
- "localforage": "^1.10.0",
35
+ "dependencies": {
54
36
  "redis": "^4.6.15",
55
37
  "sequelize": "^6.37.3",
56
- "sqlite3": "^5.1.7"
57
- },
58
- "dependencies": {
38
+ "sqlite3": "^5.1.7",
59
39
  "@prisma/client": "5.17.0",
60
40
  "@sindresorhus/fnv1a": "3.1.0",
61
41
  "change-case": "5.4.4",
@@ -69,26 +49,29 @@
69
49
  "nanoevents": "^9.0.0",
70
50
  "object-sizeof": "^2.6.5",
71
51
  "prisma": "5.17.0",
72
- "zod": "4.3.6",
73
52
  "zocker": "3.0.0",
74
- "@powerhousedao/analytics-engine-core": "6.0.0-dev.105",
75
- "document-model": "6.0.0-dev.105",
76
- "@powerhousedao/shared": "6.0.0-dev.105"
53
+ "zod": "4.3.6",
54
+ "vite": "7.3.1",
55
+ "vitest": "3.2.4",
56
+ "vitest-fetch-mock": "^0.4.5",
57
+ "fake-indexeddb": "^5.0.2",
58
+ "msw": "^2.3.1",
59
+ "document-model": "6.0.0-dev.106",
60
+ "@powerhousedao/analytics-engine-core": "6.0.0-dev.106",
61
+ "@powerhousedao/shared": "6.0.0-dev.106"
77
62
  },
78
63
  "devDependencies": {
79
64
  "@types/node": "25.2.3",
80
65
  "@vitest/coverage-v8": "^3.2.4",
81
66
  "copyfiles": "2.4.1",
82
- "fake-indexeddb": "^5.0.2",
83
- "msw": "^2.3.1",
84
- "vite": "7.3.1",
85
- "vitest": "3.2.4",
86
- "vitest-fetch-mock": "^0.4.5"
67
+ "tsdown": "0.21.0",
68
+ "tsx": "4.21.0"
87
69
  },
88
70
  "scripts": {
89
71
  "tsc": "tsc",
90
72
  "lint": "eslint",
91
73
  "build:misc": "pnpm run copy-prisma",
74
+ "build:bundle": "tsx ./bundle.ts",
92
75
  "release": "semantic-release",
93
76
  "test:legacy": "vitest run --coverage --exclude \"test/flaky/**\"",
94
77
  "test:flaky": "vitest run --coverage test/flaky",
@@ -1,93 +0,0 @@
1
- // This is your Prisma schema file,
2
- // learn more about it in the docs: https://pris.ly/d/prisma-schema
3
-
4
- generator client {
5
- provider = "prisma-client-js"
6
- binaryTargets = ["native", "linux-musl", "debian-openssl-3.0.x"]
7
- output = "../src/storage/prisma/client"
8
- }
9
-
10
- datasource db {
11
- provider = "postgresql"
12
- url = env("DATABASE_URL")
13
- }
14
-
15
- model Drive {
16
- id String @id
17
- driveDocuments DriveDocument[]
18
- }
19
-
20
- model Document {
21
- id String @id
22
- // ordinal used only for paging
23
- ordinal Int @default(autoincrement()) @unique
24
- created DateTime @default(now())
25
- lastModified DateTime @default(now())
26
- slug String? @unique
27
- revision String
28
- name String?
29
- operations Operation[]
30
- initialState String // json object with the scope as keys of the root object
31
- documentType String
32
- meta String?
33
- synchronizationUnits SynchronizationUnit[]
34
- scopes String[]
35
- }
36
-
37
- // Model to map the many-to-many relationship between drives and documents
38
- model DriveDocument {
39
- driveId String
40
- documentId String
41
- drive Drive @relation(fields: [driveId], references: [id], onDelete: Cascade)
42
-
43
- @@id([driveId, documentId])
44
- @@index([driveId])
45
- @@index([documentId])
46
- }
47
-
48
- model Operation {
49
- id String @id @default(uuid())
50
- opId String?
51
- Document Document? @relation(fields: [documentId], references: [id], onDelete: Cascade)
52
- documentId String
53
- scope String
54
- branch String
55
- index Int
56
- skip Int
57
- hash String
58
- timestamp DateTime
59
- actionId String
60
- input String
61
- type String
62
- attachments Attachment[]
63
- syncId String?
64
- clipboard Boolean? @default(false)
65
- context Json?
66
- resultingState Bytes?
67
-
68
- SynchronizationUnit SynchronizationUnit? @relation(fields: [syncId], references: [id], onDelete: Cascade)
69
-
70
- @@unique([documentId, scope, branch, index(sort: Asc)], name: "unique_operation")
71
- }
72
-
73
- model SynchronizationUnit {
74
- id String @id
75
- documentId String
76
-
77
- Document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
78
- scope String
79
- branch String
80
- operations Operation[]
81
- }
82
-
83
- model Attachment {
84
- id String @id @default(uuid())
85
- operationId String
86
- Operation Operation @relation(fields: [operationId], references: [id], onDelete: Cascade)
87
-
88
- mimeType String
89
- data String
90
- filename String?
91
- extension String?
92
- hash String
93
- }
@@ -1,4 +0,0 @@
1
- export * from "./memory.js";
2
- export * from "./redis.js";
3
- export * from "./util.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from "./memory.js";
2
- export * from "./redis.js";
3
- export * from "./util.js";
4
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
@@ -1,22 +0,0 @@
1
- import type { ICacheStorage, LRUCacheStorageOptions } from "document-drive";
2
- /**
3
- * An implementation of a Least Recently Used (LRU) cache storage that evicts items
4
- * based on their total size in bytes. This cache storage is designed to work with
5
- * the InMemoryCache class to provide size-limited caching of documents and drives.
6
- *
7
- * When the cache reaches its maximum size limit, it automatically removes the least
8
- * recently accessed items to make space for new ones. The size of each cached item
9
- * is calculated using the provided sizeCalculation function (defaults to object-sizeof).
10
- *
11
- * @template Value - The type of values stored in the cache.
12
- */
13
- export declare class LRUCacheStorage<Value extends {}> implements ICacheStorage {
14
- private cache;
15
- private logger;
16
- constructor(options: LRUCacheStorageOptions);
17
- get(key: string): Value | undefined;
18
- set(key: string, value: Value): this;
19
- delete(key: string): boolean;
20
- clear(): void;
21
- }
22
- //# sourceMappingURL=lru.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lru.d.ts","sourceRoot":"","sources":["../../../src/cache/lru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAM5E;;;;;;;;;;GAUG;AAEH,qBAAa,eAAe,CAAC,KAAK,SAAS,EAAE,CAAE,YAAW,aAAa;IACrE,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,MAAM,CAAsC;gBAExC,OAAO,EAAE,sBAAsB;IAS3C,GAAG,CAAC,GAAG,EAAE,MAAM;IAGf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAI7B,MAAM,CAAC,GAAG,EAAE,MAAM;IAGlB,KAAK,IAAI,IAAI;CAGd"}
@@ -1,40 +0,0 @@
1
- import { childLogger } from "document-drive/utils/logger";
2
- import { LRUCache as BaseLRUCache } from "lru-cache";
3
- import sizeof from "object-sizeof";
4
- /**
5
- * An implementation of a Least Recently Used (LRU) cache storage that evicts items
6
- * based on their total size in bytes. This cache storage is designed to work with
7
- * the InMemoryCache class to provide size-limited caching of documents and drives.
8
- *
9
- * When the cache reaches its maximum size limit, it automatically removes the least
10
- * recently accessed items to make space for new ones. The size of each cached item
11
- * is calculated using the provided sizeCalculation function (defaults to object-sizeof).
12
- *
13
- * @template Value - The type of values stored in the cache.
14
- */
15
- export class LRUCacheStorage {
16
- cache;
17
- logger = childLogger(["cache", "LRUCache"]);
18
- constructor(options) {
19
- const { maxSize, sizeCalculation = sizeof } = options;
20
- this.cache = new BaseLRUCache({
21
- maxSize,
22
- sizeCalculation,
23
- });
24
- this.logger.info("Created LRUCache with maxSize: @maxSize bytes", maxSize);
25
- }
26
- get(key) {
27
- return this.cache.get(key);
28
- }
29
- set(key, value) {
30
- this.cache.set(key, value);
31
- return this;
32
- }
33
- delete(key) {
34
- return this.cache.delete(key);
35
- }
36
- clear() {
37
- return this.cache.clear();
38
- }
39
- }
40
- //# sourceMappingURL=lru.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lru.js","sourceRoot":"","sources":["../../../src/cache/lru.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,MAAM,MAAM,eAAe,CAAC;AAEnC;;;;;;;;;;GAUG;AAEH,MAAM,OAAO,eAAe;IAClB,KAAK,CAA0B;IAC/B,MAAM,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpD,YAAY,OAA+B;QACzC,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAgB;YAC3C,OAAO;YACP,eAAe;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,GAAW,EAAE,KAAY;QAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;CACF"}
@@ -1,27 +0,0 @@
1
- import type { DocumentDriveDocument, ICache, ICacheStorage, ICacheStorageManager } from "document-drive";
2
- import type { PHDocument } from "document-model";
3
- export declare class CacheStorageManager implements ICacheStorageManager {
4
- private index;
5
- private cache;
6
- constructor(cache: ICacheStorage);
7
- createStorage<Value>(): ICacheStorage<Value>;
8
- }
9
- export declare class InMemoryCache implements ICache {
10
- private cache;
11
- private cacheStorageManager;
12
- private idToDocument;
13
- private idToDrive;
14
- private slugToDriveId;
15
- constructor(cache?: ICacheStorage);
16
- clear(): void;
17
- setDocument(documentId: string, document: PHDocument): Promise<void>;
18
- getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
19
- deleteDocument(documentId: string): Promise<boolean>;
20
- setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
21
- getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
22
- deleteDrive(driveId: string): Promise<boolean>;
23
- setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
24
- getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
25
- deleteDriveBySlug(slug: string): Promise<boolean>;
26
- }
27
- //# sourceMappingURL=memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,MAAM,EACN,aAAa,EACb,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,qBAAa,mBAAoB,YAAW,oBAAoB;IAC9D,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAgB;gBAEjB,KAAK,EAAE,aAAa;IAGhC,aAAa,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC;CAyB7C;AAED,qBAAa,aAAc,YAAW,MAAM;IAM9B,OAAO,CAAC,KAAK;IALzB,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,aAAa,CAAwB;gBAEzB,KAAK,GAAE,aAA0C;IAQrE,KAAK;IAUC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAKpD,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI3B,cAAc,CAAC,UAAU,EAAE,MAAM;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAKtD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIrE,WAAW,CAAC,OAAO,EAAE,MAAM;IAe3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAMzD,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAQvC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CASrC"}
@@ -1,104 +0,0 @@
1
- import { trimResultingState } from "./util.js";
2
- export class CacheStorageManager {
3
- index = 0;
4
- cache;
5
- constructor(cache) {
6
- this.cache = cache;
7
- }
8
- createStorage() {
9
- const index = this.index;
10
- this.index += 1;
11
- function buildKey(key) {
12
- return `${index}-${key}`;
13
- }
14
- const storage = {
15
- get: (key) => {
16
- return this.cache.get(buildKey(key));
17
- },
18
- set: (key, value) => {
19
- this.cache.set(buildKey(key), value);
20
- return storage;
21
- },
22
- delete: (key) => {
23
- return this.cache.delete(buildKey(key));
24
- },
25
- clear: () => {
26
- this.cache.clear();
27
- },
28
- };
29
- return storage;
30
- }
31
- }
32
- export class InMemoryCache {
33
- cache;
34
- cacheStorageManager;
35
- idToDocument;
36
- idToDrive;
37
- slugToDriveId;
38
- constructor(cache = new Map()) {
39
- this.cache = cache;
40
- this.cacheStorageManager = new CacheStorageManager(cache);
41
- this.idToDocument = this.cacheStorageManager.createStorage();
42
- this.idToDrive =
43
- this.cacheStorageManager.createStorage();
44
- this.slugToDriveId = this.cacheStorageManager.createStorage();
45
- }
46
- clear() {
47
- this.idToDocument.clear();
48
- this.idToDrive.clear();
49
- this.slugToDriveId.clear();
50
- }
51
- /////////////////////////////////////////////////////////////////////////////
52
- // ICache
53
- /////////////////////////////////////////////////////////////////////////////
54
- async setDocument(documentId, document) {
55
- const doc = trimResultingState(document);
56
- this.idToDocument.set(documentId, doc);
57
- }
58
- async getDocument(documentId) {
59
- return this.idToDocument.get(documentId);
60
- }
61
- async deleteDocument(documentId) {
62
- return this.idToDocument.delete(documentId);
63
- }
64
- async setDrive(driveId, drive) {
65
- const doc = trimResultingState(drive);
66
- this.idToDrive.set(driveId, doc);
67
- }
68
- async getDrive(driveId) {
69
- return this.idToDrive.get(driveId);
70
- }
71
- async deleteDrive(driveId) {
72
- // look up the slug
73
- const drive = this.idToDrive.get(driveId);
74
- if (!drive) {
75
- return false;
76
- }
77
- const slug = drive.header.slug.length > 0 ? drive.header.slug : driveId;
78
- if (slug) {
79
- this.slugToDriveId.delete(slug);
80
- }
81
- return this.idToDrive.delete(driveId);
82
- }
83
- async setDriveBySlug(slug, drive) {
84
- const driveId = drive.header.id;
85
- this.slugToDriveId.set(slug, driveId);
86
- this.setDrive(driveId, drive);
87
- }
88
- async getDriveBySlug(slug) {
89
- const driveId = this.slugToDriveId.get(slug);
90
- if (!driveId) {
91
- return undefined;
92
- }
93
- return this.getDrive(driveId);
94
- }
95
- async deleteDriveBySlug(slug) {
96
- const driveId = this.slugToDriveId.get(slug);
97
- if (!driveId) {
98
- return false;
99
- }
100
- this.slugToDriveId.delete(slug);
101
- return this.deleteDrive(driveId);
102
- }
103
- }
104
- //# sourceMappingURL=memory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cache/memory.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { DocumentDriveDocument, ICache } from "document-drive";
2
- import type { PHDocument } from "document-model";
3
- import type { RedisClientType } from "redis";
4
- export declare class RedisCache implements ICache {
5
- private logger;
6
- private redis;
7
- private timeoutInSeconds;
8
- constructor(redis: RedisClientType, timeoutInSeconds?: number | undefined);
9
- private static _getDocumentKey;
10
- private static _getDriveKey;
11
- private static _getDriveBySlugKey;
12
- setDocument(documentId: string, document: PHDocument): Promise<void>;
13
- getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
14
- deleteDocument(documentId: string): Promise<boolean>;
15
- setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
16
- getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
17
- deleteDrive(driveId: string): Promise<boolean>;
18
- setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
19
- getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
20
- deleteDriveBySlug(slug: string): Promise<boolean>;
21
- }
22
- //# sourceMappingURL=redis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAG7C,qBAAa,UAAW,YAAW,MAAM;IACvC,OAAO,CAAC,MAAM,CAA+B;IAE7C,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAS;gBAG/B,KAAK,EAAE,eAAe,EACtB,gBAAgB,GAAE,MAAM,GAAG,SAAkB;IAM/C,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAQ3B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAcpD,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAO3B,cAAc,CAAC,UAAU,EAAE,MAAM;IAKjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IActD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAMrE,WAAW,CAAC,OAAO,EAAE,MAAM;IAgB3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAgBzD,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAMvC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CAIrC"}
@@ -1,91 +0,0 @@
1
- import { childLogger } from "document-drive/utils/logger";
2
- import { trimResultingState } from "./util.js";
3
- export class RedisCache {
4
- logger = childLogger(["RedisCache"]);
5
- redis;
6
- timeoutInSeconds;
7
- constructor(redis, timeoutInSeconds = 5 * 60) {
8
- this.redis = redis;
9
- this.timeoutInSeconds = timeoutInSeconds;
10
- }
11
- static _getDocumentKey(documentId) {
12
- return `cache:document:${documentId}`;
13
- }
14
- static _getDriveKey(driveId) {
15
- return `cache:drive:${driveId}`;
16
- }
17
- static _getDriveBySlugKey(slug) {
18
- return `cache:drive:slug:${slug}`;
19
- }
20
- /////////////////////////////////////////////////////////////////////////////
21
- // ICache
22
- /////////////////////////////////////////////////////////////////////////////
23
- async setDocument(documentId, document) {
24
- const doc = trimResultingState(document);
25
- const redisId = RedisCache._getDocumentKey(documentId);
26
- const result = await this.redis.set(redisId, JSON.stringify(doc), {
27
- EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
28
- });
29
- if (result !== "OK") {
30
- throw new Error(`Failed to set document ${documentId} in redis. Got '${result}'`);
31
- }
32
- }
33
- async getDocument(documentId) {
34
- const redisId = RedisCache._getDocumentKey(documentId);
35
- const doc = await this.redis.get(redisId);
36
- return doc ? JSON.parse(doc) : undefined;
37
- }
38
- async deleteDocument(documentId) {
39
- const redisId = RedisCache._getDocumentKey(documentId);
40
- return (await this.redis.del(redisId)) > 0;
41
- }
42
- async setDrive(driveId, drive) {
43
- const doc = trimResultingState(drive);
44
- const redisId = RedisCache._getDriveKey(driveId);
45
- const result = await this.redis.set(redisId, JSON.stringify(doc), {
46
- EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
47
- });
48
- if (result !== "OK") {
49
- throw new Error(`Failed to set drive ${driveId} in redis. Got '${result}'`);
50
- }
51
- }
52
- async getDrive(driveId) {
53
- const redisId = RedisCache._getDriveKey(driveId);
54
- const doc = await this.redis.get(redisId);
55
- return doc ? JSON.parse(doc) : undefined;
56
- }
57
- async deleteDrive(driveId) {
58
- const redisId = RedisCache._getDriveKey(driveId);
59
- const drive = await this.getDrive(driveId);
60
- if (!drive) {
61
- return false;
62
- }
63
- if (drive.header.slug.length > 0) {
64
- const slugRedisId = RedisCache._getDriveBySlugKey(drive.header.slug);
65
- await this.redis.del(slugRedisId);
66
- }
67
- return (await this.redis.del(redisId)) > 0;
68
- }
69
- // We store two pices: slug -> driveId, and driveId -> drive
70
- async setDriveBySlug(slug, drive) {
71
- const driveId = drive.header.id;
72
- const redisId = RedisCache._getDriveBySlugKey(slug);
73
- const result = await this.redis.set(redisId, driveId, {
74
- EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
75
- });
76
- if (result !== "OK") {
77
- throw new Error(`Failed to set drive slug mapping for ${slug} -> ${driveId} in redis. Got '${result}'`);
78
- }
79
- await this.setDrive(driveId, drive);
80
- }
81
- async getDriveBySlug(slug) {
82
- const redisId = RedisCache._getDriveBySlugKey(slug);
83
- const driveId = await this.redis.get(redisId);
84
- return driveId ? await this.getDrive(driveId) : undefined;
85
- }
86
- async deleteDriveBySlug(slug) {
87
- const redisId = RedisCache._getDriveBySlugKey(slug);
88
- return (await this.redis.del(redisId)) > 0;
89
- }
90
- }
91
- //# sourceMappingURL=redis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis.js","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"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"}