@syncular/server 0.0.6-96 → 0.1.0

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 (601) hide show
  1. package/README.md +1 -2
  2. package/dist/auth-leases.d.ts +85 -0
  3. package/dist/auth-leases.d.ts.map +1 -0
  4. package/dist/auth-leases.js +368 -0
  5. package/dist/auth-leases.js.map +1 -0
  6. package/dist/better-sqlite3.d.ts +22 -0
  7. package/dist/better-sqlite3.d.ts.map +1 -0
  8. package/dist/better-sqlite3.js +16 -0
  9. package/dist/better-sqlite3.js.map +1 -0
  10. package/dist/blobs/access.d.ts +35 -0
  11. package/dist/blobs/access.d.ts.map +1 -0
  12. package/dist/blobs/access.js +149 -0
  13. package/dist/blobs/access.js.map +1 -0
  14. package/dist/blobs/adapters/database.d.ts +26 -9
  15. package/dist/blobs/adapters/database.d.ts.map +1 -1
  16. package/dist/blobs/adapters/database.js +68 -23
  17. package/dist/blobs/adapters/database.js.map +1 -1
  18. package/dist/blobs/index.d.ts +1 -0
  19. package/dist/blobs/index.d.ts.map +1 -1
  20. package/dist/blobs/index.js +5 -4
  21. package/dist/blobs/index.js.map +1 -1
  22. package/dist/blobs/manager.d.ts +69 -44
  23. package/dist/blobs/manager.d.ts.map +1 -1
  24. package/dist/blobs/manager.js +250 -65
  25. package/dist/blobs/manager.js.map +1 -1
  26. package/dist/blobs/migrate.d.ts.map +1 -1
  27. package/dist/blobs/migrate.js +16 -8
  28. package/dist/blobs/migrate.js.map +1 -1
  29. package/dist/blobs/types.d.ts +4 -0
  30. package/dist/blobs/types.d.ts.map +1 -1
  31. package/dist/bun-sqlite.d.ts +19 -0
  32. package/dist/bun-sqlite.d.ts.map +1 -0
  33. package/dist/bun-sqlite.js +19 -0
  34. package/dist/bun-sqlite.js.map +1 -0
  35. package/dist/clients.d.ts +1 -0
  36. package/dist/clients.d.ts.map +1 -1
  37. package/dist/clients.js.map +1 -1
  38. package/dist/cloudflare/durable-object.d.ts +93 -0
  39. package/dist/cloudflare/durable-object.d.ts.map +1 -0
  40. package/dist/cloudflare/durable-object.js +210 -0
  41. package/dist/cloudflare/durable-object.js.map +1 -0
  42. package/dist/cloudflare/index.d.ts +22 -0
  43. package/dist/cloudflare/index.d.ts.map +1 -0
  44. package/dist/cloudflare/index.js +22 -0
  45. package/dist/cloudflare/index.js.map +1 -0
  46. package/dist/cloudflare/r2.d.ts +180 -0
  47. package/dist/cloudflare/r2.d.ts.map +1 -0
  48. package/dist/cloudflare/r2.js +258 -0
  49. package/dist/cloudflare/r2.js.map +1 -0
  50. package/dist/cloudflare/scope-cache.d.ts +54 -0
  51. package/dist/cloudflare/scope-cache.d.ts.map +1 -0
  52. package/dist/cloudflare/scope-cache.js +223 -0
  53. package/dist/cloudflare/scope-cache.js.map +1 -0
  54. package/dist/cloudflare/sentry.d.ts +47 -0
  55. package/dist/cloudflare/sentry.d.ts.map +1 -0
  56. package/dist/cloudflare/sentry.js +163 -0
  57. package/dist/cloudflare/sentry.js.map +1 -0
  58. package/dist/cloudflare/worker.d.ts +46 -0
  59. package/dist/cloudflare/worker.d.ts.map +1 -0
  60. package/dist/cloudflare/worker.js +63 -0
  61. package/dist/cloudflare/worker.js.map +1 -0
  62. package/dist/commit-integrity.d.ts +38 -0
  63. package/dist/commit-integrity.d.ts.map +1 -0
  64. package/dist/commit-integrity.js +260 -0
  65. package/dist/commit-integrity.js.map +1 -0
  66. package/dist/compaction.js.map +1 -1
  67. package/dist/crdt-yjs/index.d.ts +99 -0
  68. package/dist/crdt-yjs/index.d.ts.map +1 -0
  69. package/dist/crdt-yjs/index.js +629 -0
  70. package/dist/crdt-yjs/index.js.map +1 -0
  71. package/dist/d1.d.ts +13 -0
  72. package/dist/d1.d.ts.map +1 -0
  73. package/dist/d1.js +14 -0
  74. package/dist/d1.js.map +1 -0
  75. package/dist/dialect/base.d.ts +11 -1
  76. package/dist/dialect/base.d.ts.map +1 -1
  77. package/dist/dialect/base.js +43 -6
  78. package/dist/dialect/base.js.map +1 -1
  79. package/dist/dialect/helpers.d.ts +6 -0
  80. package/dist/dialect/helpers.d.ts.map +1 -1
  81. package/dist/dialect/helpers.js +24 -0
  82. package/dist/dialect/helpers.js.map +1 -1
  83. package/dist/dialect/index.js +3 -3
  84. package/dist/dialect/types.d.ts +40 -0
  85. package/dist/dialect/types.d.ts.map +1 -1
  86. package/dist/encrypted-crdt.d.ts +67 -0
  87. package/dist/encrypted-crdt.d.ts.map +1 -0
  88. package/dist/encrypted-crdt.js +426 -0
  89. package/dist/encrypted-crdt.js.map +1 -0
  90. package/dist/errors.d.ts +10 -0
  91. package/dist/errors.d.ts.map +1 -0
  92. package/dist/errors.js +13 -0
  93. package/dist/errors.js.map +1 -0
  94. package/dist/filesystem/index.d.ts +44 -0
  95. package/dist/filesystem/index.d.ts.map +1 -0
  96. package/dist/filesystem/index.js +164 -0
  97. package/dist/filesystem/index.js.map +1 -0
  98. package/dist/handlers/collection.d.ts +11 -3
  99. package/dist/handlers/collection.d.ts.map +1 -1
  100. package/dist/handlers/collection.js +34 -56
  101. package/dist/handlers/collection.js.map +1 -1
  102. package/dist/handlers/create-handler.d.ts +31 -7
  103. package/dist/handlers/create-handler.d.ts.map +1 -1
  104. package/dist/handlers/create-handler.js +332 -115
  105. package/dist/handlers/create-handler.js.map +1 -1
  106. package/dist/handlers/index.js +3 -3
  107. package/dist/handlers/types.d.ts +86 -1
  108. package/dist/handlers/types.d.ts.map +1 -1
  109. package/dist/helpers/conflict.js.map +1 -1
  110. package/dist/helpers/emitted-change.js.map +1 -1
  111. package/dist/helpers/index.d.ts +2 -0
  112. package/dist/helpers/index.d.ts.map +1 -1
  113. package/dist/helpers/index.js +6 -4
  114. package/dist/helpers/index.js.map +1 -1
  115. package/dist/helpers/paginate.js.map +1 -1
  116. package/dist/helpers/scope-authorization.d.ts +7 -0
  117. package/dist/helpers/scope-authorization.d.ts.map +1 -0
  118. package/dist/helpers/scope-authorization.js +19 -0
  119. package/dist/helpers/scope-authorization.js.map +1 -0
  120. package/dist/helpers/scope-commit-index.d.ts +12 -0
  121. package/dist/helpers/scope-commit-index.d.ts.map +1 -0
  122. package/dist/helpers/scope-commit-index.js +35 -0
  123. package/dist/helpers/scope-commit-index.js.map +1 -0
  124. package/dist/helpers/scope-strings.js.map +1 -1
  125. package/dist/hono/api-key-auth.d.ts +49 -0
  126. package/dist/hono/api-key-auth.d.ts.map +1 -0
  127. package/dist/hono/api-key-auth.js +108 -0
  128. package/dist/hono/api-key-auth.js.map +1 -0
  129. package/dist/hono/audit-redaction.d.ts +20 -0
  130. package/dist/hono/audit-redaction.d.ts.map +1 -0
  131. package/dist/hono/audit-redaction.js +85 -0
  132. package/dist/hono/audit-redaction.js.map +1 -0
  133. package/dist/hono/blobs.d.ts +75 -0
  134. package/dist/hono/blobs.d.ts.map +1 -0
  135. package/dist/hono/blobs.js +586 -0
  136. package/dist/hono/blobs.js.map +1 -0
  137. package/dist/hono/console/gateway.d.ts +42 -0
  138. package/dist/hono/console/gateway.d.ts.map +1 -0
  139. package/dist/hono/console/gateway.js +2158 -0
  140. package/dist/hono/console/gateway.js.map +1 -0
  141. package/dist/hono/console/live-auth.d.ts +7 -0
  142. package/dist/hono/console/live-auth.d.ts.map +1 -0
  143. package/dist/hono/console/live-auth.js +39 -0
  144. package/dist/hono/console/live-auth.js.map +1 -0
  145. package/dist/hono/console/route-descriptor.d.ts +6 -0
  146. package/dist/hono/console/route-descriptor.d.ts.map +1 -0
  147. package/dist/hono/console/route-descriptor.js +16 -0
  148. package/dist/hono/console/route-descriptor.js.map +1 -0
  149. package/dist/hono/console/routes/api-keys.d.ts +8 -0
  150. package/dist/hono/console/routes/api-keys.d.ts.map +1 -0
  151. package/dist/hono/console/routes/api-keys.js +575 -0
  152. package/dist/hono/console/routes/api-keys.js.map +1 -0
  153. package/dist/hono/console/routes/clients.d.ts +8 -0
  154. package/dist/hono/console/routes/clients.d.ts.map +1 -0
  155. package/dist/hono/console/routes/clients.js +322 -0
  156. package/dist/hono/console/routes/clients.js.map +1 -0
  157. package/dist/hono/console/routes/commits.d.ts +8 -0
  158. package/dist/hono/console/routes/commits.d.ts.map +1 -0
  159. package/dist/hono/console/routes/commits.js +882 -0
  160. package/dist/hono/console/routes/commits.js.map +1 -0
  161. package/dist/hono/console/routes/context.d.ts +188 -0
  162. package/dist/hono/console/routes/context.d.ts.map +1 -0
  163. package/dist/hono/console/routes/context.js +633 -0
  164. package/dist/hono/console/routes/context.js.map +1 -0
  165. package/dist/hono/console/routes/events.d.ts +8 -0
  166. package/dist/hono/console/routes/events.d.ts.map +1 -0
  167. package/dist/hono/console/routes/events.js +501 -0
  168. package/dist/hono/console/routes/events.js.map +1 -0
  169. package/dist/hono/console/routes/maintenance.d.ts +8 -0
  170. package/dist/hono/console/routes/maintenance.d.ts.map +1 -0
  171. package/dist/hono/console/routes/maintenance.js +341 -0
  172. package/dist/hono/console/routes/maintenance.js.map +1 -0
  173. package/dist/hono/console/routes/shared.d.ts +174 -0
  174. package/dist/hono/console/routes/shared.d.ts.map +1 -0
  175. package/dist/hono/console/routes/shared.js +583 -0
  176. package/dist/hono/console/routes/shared.js.map +1 -0
  177. package/dist/hono/console/routes/stats.d.ts +8 -0
  178. package/dist/hono/console/routes/stats.d.ts.map +1 -0
  179. package/dist/hono/console/routes/stats.js +295 -0
  180. package/dist/hono/console/routes/stats.js.map +1 -0
  181. package/dist/hono/console/routes/storage.d.ts +8 -0
  182. package/dist/hono/console/routes/storage.d.ts.map +1 -0
  183. package/dist/hono/console/routes/storage.js +121 -0
  184. package/dist/hono/console/routes/storage.js.map +1 -0
  185. package/dist/hono/console/routes.d.ts +36 -0
  186. package/dist/hono/console/routes.d.ts.map +1 -0
  187. package/dist/hono/console/routes.js +112 -0
  188. package/dist/hono/console/routes.js.map +1 -0
  189. package/dist/hono/console/schema-errors.d.ts +2 -0
  190. package/dist/hono/console/schema-errors.d.ts.map +1 -0
  191. package/dist/hono/console/schema-errors.js +17 -0
  192. package/dist/hono/console/schema-errors.js.map +1 -0
  193. package/dist/hono/console/schemas.d.ts +1515 -0
  194. package/dist/hono/console/schemas.d.ts.map +1 -0
  195. package/dist/hono/console/schemas.js +661 -0
  196. package/dist/hono/console/schemas.js.map +1 -0
  197. package/dist/hono/console/types.d.ts +213 -0
  198. package/dist/hono/console/types.d.ts.map +1 -0
  199. package/dist/hono/console/types.js +2 -0
  200. package/dist/hono/console/types.js.map +1 -0
  201. package/dist/hono/console/ui.d.ts +38 -0
  202. package/dist/hono/console/ui.d.ts.map +1 -0
  203. package/dist/hono/console/ui.js +43 -0
  204. package/dist/hono/console/ui.js.map +1 -0
  205. package/dist/hono/create-server.d.ts +71 -0
  206. package/dist/hono/create-server.d.ts.map +1 -0
  207. package/dist/hono/create-server.js +121 -0
  208. package/dist/hono/create-server.js.map +1 -0
  209. package/dist/hono/errors.d.ts +13 -0
  210. package/dist/hono/errors.d.ts.map +1 -0
  211. package/dist/hono/errors.js +21 -0
  212. package/dist/hono/errors.js.map +1 -0
  213. package/dist/hono/index.d.ts +20 -0
  214. package/dist/hono/index.d.ts.map +1 -0
  215. package/dist/hono/index.js +31 -0
  216. package/dist/hono/index.js.map +1 -0
  217. package/dist/hono/openapi.d.ts +72 -0
  218. package/dist/hono/openapi.d.ts.map +1 -0
  219. package/dist/hono/openapi.js +99 -0
  220. package/dist/hono/openapi.js.map +1 -0
  221. package/dist/hono/proxy/connection-manager.d.ts +78 -0
  222. package/dist/hono/proxy/connection-manager.d.ts.map +1 -0
  223. package/dist/hono/proxy/connection-manager.js +251 -0
  224. package/dist/hono/proxy/connection-manager.js.map +1 -0
  225. package/dist/hono/proxy/index.d.ts +8 -0
  226. package/dist/hono/proxy/index.d.ts.map +1 -0
  227. package/dist/hono/proxy/index.js +8 -0
  228. package/dist/hono/proxy/index.js.map +1 -0
  229. package/dist/hono/proxy/routes.d.ts +86 -0
  230. package/dist/hono/proxy/routes.d.ts.map +1 -0
  231. package/dist/hono/proxy/routes.js +183 -0
  232. package/dist/hono/proxy/routes.js.map +1 -0
  233. package/dist/hono/rate-limit.d.ts +101 -0
  234. package/dist/hono/rate-limit.d.ts.map +1 -0
  235. package/dist/hono/rate-limit.js +184 -0
  236. package/dist/hono/rate-limit.js.map +1 -0
  237. package/dist/hono/realtime-sync-packs.d.ts +43 -0
  238. package/dist/hono/realtime-sync-packs.d.ts.map +1 -0
  239. package/dist/hono/realtime-sync-packs.js +219 -0
  240. package/dist/hono/realtime-sync-packs.js.map +1 -0
  241. package/dist/hono/routes/audit.d.ts +12 -0
  242. package/dist/hono/routes/audit.d.ts.map +1 -0
  243. package/dist/hono/routes/audit.js +385 -0
  244. package/dist/hono/routes/audit.js.map +1 -0
  245. package/dist/hono/routes/auth-leases.d.ts +8 -0
  246. package/dist/hono/routes/auth-leases.d.ts.map +1 -0
  247. package/dist/hono/routes/auth-leases.js +88 -0
  248. package/dist/hono/routes/auth-leases.js.map +1 -0
  249. package/dist/hono/routes/combined.d.ts +8 -0
  250. package/dist/hono/routes/combined.d.ts.map +1 -0
  251. package/dist/hono/routes/combined.js +392 -0
  252. package/dist/hono/routes/combined.js.map +1 -0
  253. package/dist/hono/routes/context.d.ts +314 -0
  254. package/dist/hono/routes/context.d.ts.map +1 -0
  255. package/dist/hono/routes/context.js +1147 -0
  256. package/dist/hono/routes/context.js.map +1 -0
  257. package/dist/hono/routes/health.d.ts +8 -0
  258. package/dist/hono/routes/health.d.ts.map +1 -0
  259. package/dist/hono/routes/health.js +16 -0
  260. package/dist/hono/routes/health.js.map +1 -0
  261. package/dist/hono/routes/realtime.d.ts +9 -0
  262. package/dist/hono/routes/realtime.d.ts.map +1 -0
  263. package/dist/hono/routes/realtime.js +626 -0
  264. package/dist/hono/routes/realtime.js.map +1 -0
  265. package/dist/hono/routes/shared.d.ts +689 -0
  266. package/dist/hono/routes/shared.d.ts.map +1 -0
  267. package/dist/hono/routes/shared.js +972 -0
  268. package/dist/hono/routes/shared.js.map +1 -0
  269. package/dist/hono/routes/snapshots.d.ts +10 -0
  270. package/dist/hono/routes/snapshots.d.ts.map +1 -0
  271. package/dist/hono/routes/snapshots.js +281 -0
  272. package/dist/hono/routes/snapshots.js.map +1 -0
  273. package/dist/hono/routes.d.ts +19 -0
  274. package/dist/hono/routes.d.ts.map +1 -0
  275. package/dist/hono/routes.js +37 -0
  276. package/dist/hono/routes.js.map +1 -0
  277. package/dist/hono/validation.d.ts +5 -0
  278. package/dist/hono/validation.d.ts.map +1 -0
  279. package/dist/hono/validation.js +47 -0
  280. package/dist/hono/validation.js.map +1 -0
  281. package/dist/hono/websocket-origin.d.ts +9 -0
  282. package/dist/hono/websocket-origin.d.ts.map +1 -0
  283. package/dist/hono/websocket-origin.js +96 -0
  284. package/dist/hono/websocket-origin.js.map +1 -0
  285. package/dist/hono/ws.d.ts +341 -0
  286. package/dist/hono/ws.d.ts.map +1 -0
  287. package/dist/hono/ws.js +711 -0
  288. package/dist/hono/ws.js.map +1 -0
  289. package/dist/index.d.ts +6 -0
  290. package/dist/index.d.ts.map +1 -1
  291. package/dist/index.js +24 -18
  292. package/dist/index.js.map +1 -1
  293. package/dist/libsql.d.ts +29 -0
  294. package/dist/libsql.d.ts.map +1 -0
  295. package/dist/libsql.js +25 -0
  296. package/dist/libsql.js.map +1 -0
  297. package/dist/migrate.js.map +1 -1
  298. package/dist/neon.d.ts +21 -0
  299. package/dist/neon.d.ts.map +1 -0
  300. package/dist/neon.js +22 -0
  301. package/dist/neon.js.map +1 -0
  302. package/dist/notify.d.ts +30 -0
  303. package/dist/notify.d.ts.map +1 -1
  304. package/dist/notify.js +160 -41
  305. package/dist/notify.js.map +1 -1
  306. package/dist/pglite.d.ts +37 -0
  307. package/dist/pglite.d.ts.map +1 -0
  308. package/dist/pglite.js +37 -0
  309. package/dist/pglite.js.map +1 -0
  310. package/dist/plugins/index.d.ts +2 -0
  311. package/dist/plugins/index.d.ts.map +1 -0
  312. package/dist/plugins/index.js +2 -0
  313. package/dist/plugins/index.js.map +1 -0
  314. package/dist/plugins/types.d.ts +73 -0
  315. package/dist/plugins/types.d.ts.map +1 -0
  316. package/dist/plugins/types.js +30 -0
  317. package/dist/plugins/types.js.map +1 -0
  318. package/dist/postgres/index.d.ts +68 -0
  319. package/dist/postgres/index.d.ts.map +1 -0
  320. package/dist/postgres/index.js +924 -0
  321. package/dist/postgres/index.js.map +1 -0
  322. package/dist/proxy/collection.d.ts +0 -2
  323. package/dist/proxy/collection.d.ts.map +1 -1
  324. package/dist/proxy/collection.js +2 -17
  325. package/dist/proxy/collection.js.map +1 -1
  326. package/dist/proxy/handler.d.ts +1 -1
  327. package/dist/proxy/handler.d.ts.map +1 -1
  328. package/dist/proxy/handler.js +3 -4
  329. package/dist/proxy/handler.js.map +1 -1
  330. package/dist/proxy/index.d.ts +1 -1
  331. package/dist/proxy/index.d.ts.map +1 -1
  332. package/dist/proxy/index.js +3 -3
  333. package/dist/proxy/index.js.map +1 -1
  334. package/dist/proxy/mutation-detector.js.map +1 -1
  335. package/dist/proxy/oplog.d.ts.map +1 -1
  336. package/dist/proxy/oplog.js +32 -8
  337. package/dist/proxy/oplog.js.map +1 -1
  338. package/dist/prune.d.ts +8 -1
  339. package/dist/prune.d.ts.map +1 -1
  340. package/dist/prune.js +68 -28
  341. package/dist/prune.js.map +1 -1
  342. package/dist/pull.d.ts +31 -0
  343. package/dist/pull.d.ts.map +1 -1
  344. package/dist/pull.js +1014 -474
  345. package/dist/pull.js.map +1 -1
  346. package/dist/push.d.ts +36 -2
  347. package/dist/push.d.ts.map +1 -1
  348. package/dist/push.js +603 -358
  349. package/dist/push.js.map +1 -1
  350. package/dist/realtime/in-memory.js.map +1 -1
  351. package/dist/realtime/index.d.ts +2 -1
  352. package/dist/realtime/index.d.ts.map +1 -1
  353. package/dist/realtime/index.js +2 -1
  354. package/dist/realtime/index.js.map +1 -1
  355. package/dist/realtime/types.d.ts +12 -0
  356. package/dist/realtime/types.d.ts.map +1 -1
  357. package/dist/realtime/types.js +13 -1
  358. package/dist/realtime/types.js.map +1 -1
  359. package/dist/relay/client-role/forward-engine.d.ts +63 -0
  360. package/dist/relay/client-role/forward-engine.d.ts.map +1 -0
  361. package/dist/relay/client-role/forward-engine.js +267 -0
  362. package/dist/relay/client-role/forward-engine.js.map +1 -0
  363. package/dist/relay/client-role/index.d.ts +9 -0
  364. package/dist/relay/client-role/index.d.ts.map +1 -0
  365. package/dist/relay/client-role/index.js +9 -0
  366. package/dist/relay/client-role/index.js.map +1 -0
  367. package/dist/relay/client-role/pull-engine.d.ts +72 -0
  368. package/dist/relay/client-role/pull-engine.d.ts.map +1 -0
  369. package/dist/relay/client-role/pull-engine.js +249 -0
  370. package/dist/relay/client-role/pull-engine.js.map +1 -0
  371. package/dist/relay/client-role/sequence-mapper.d.ts +65 -0
  372. package/dist/relay/client-role/sequence-mapper.d.ts.map +1 -0
  373. package/dist/relay/client-role/sequence-mapper.js +161 -0
  374. package/dist/relay/client-role/sequence-mapper.js.map +1 -0
  375. package/dist/relay/evaluation/relay-paths.d.ts +41 -0
  376. package/dist/relay/evaluation/relay-paths.d.ts.map +1 -0
  377. package/dist/relay/evaluation/relay-paths.js +504 -0
  378. package/dist/relay/evaluation/relay-paths.js.map +1 -0
  379. package/dist/relay/evaluation/rust-boundary.d.ts +47 -0
  380. package/dist/relay/evaluation/rust-boundary.d.ts.map +1 -0
  381. package/dist/relay/evaluation/rust-boundary.js +220 -0
  382. package/dist/relay/evaluation/rust-boundary.js.map +1 -0
  383. package/dist/relay/index.d.ts +37 -0
  384. package/dist/relay/index.d.ts.map +1 -0
  385. package/dist/relay/index.js +44 -0
  386. package/dist/relay/index.js.map +1 -0
  387. package/dist/relay/migrate.d.ts +18 -0
  388. package/dist/relay/migrate.d.ts.map +1 -0
  389. package/dist/relay/migrate.js +99 -0
  390. package/dist/relay/migrate.js.map +1 -0
  391. package/dist/relay/mode-manager.d.ts +60 -0
  392. package/dist/relay/mode-manager.d.ts.map +1 -0
  393. package/dist/relay/mode-manager.js +114 -0
  394. package/dist/relay/mode-manager.js.map +1 -0
  395. package/dist/relay/realtime.d.ts +90 -0
  396. package/dist/relay/realtime.d.ts.map +1 -0
  397. package/dist/relay/realtime.js +147 -0
  398. package/dist/relay/realtime.js.map +1 -0
  399. package/dist/relay/relay.d.ts +190 -0
  400. package/dist/relay/relay.d.ts.map +1 -0
  401. package/dist/relay/relay.js +320 -0
  402. package/dist/relay/relay.js.map +1 -0
  403. package/dist/relay/schema.d.ts +158 -0
  404. package/dist/relay/schema.d.ts.map +1 -0
  405. package/dist/relay/schema.js +7 -0
  406. package/dist/relay/schema.js.map +1 -0
  407. package/dist/relay/server-role/index.d.ts +56 -0
  408. package/dist/relay/server-role/index.d.ts.map +1 -0
  409. package/dist/relay/server-role/index.js +193 -0
  410. package/dist/relay/server-role/index.js.map +1 -0
  411. package/dist/relay/server-role/pull.d.ts +27 -0
  412. package/dist/relay/server-role/pull.d.ts.map +1 -0
  413. package/dist/relay/server-role/pull.js +24 -0
  414. package/dist/relay/server-role/pull.js.map +1 -0
  415. package/dist/relay/server-role/push.d.ts +29 -0
  416. package/dist/relay/server-role/push.d.ts.map +1 -0
  417. package/dist/relay/server-role/push.js +122 -0
  418. package/dist/relay/server-role/push.js.map +1 -0
  419. package/dist/s3/index.d.ts +83 -0
  420. package/dist/s3/index.d.ts.map +1 -0
  421. package/dist/s3/index.js +223 -0
  422. package/dist/s3/index.js.map +1 -0
  423. package/dist/schema.d.ts +137 -1
  424. package/dist/schema.d.ts.map +1 -1
  425. package/dist/schema.js +1 -0
  426. package/dist/schema.js.map +1 -1
  427. package/dist/service-worker/index.d.ts +114 -0
  428. package/dist/service-worker/index.d.ts.map +1 -0
  429. package/dist/service-worker/index.js +487 -0
  430. package/dist/service-worker/index.js.map +1 -0
  431. package/dist/snapshot-artifacts/sqlite-bun.d.ts +15 -0
  432. package/dist/snapshot-artifacts/sqlite-bun.d.ts.map +1 -0
  433. package/dist/snapshot-artifacts/sqlite-bun.js +128 -0
  434. package/dist/snapshot-artifacts/sqlite-bun.js.map +1 -0
  435. package/dist/snapshot-artifacts.d.ts +206 -0
  436. package/dist/snapshot-artifacts.d.ts.map +1 -0
  437. package/dist/snapshot-artifacts.js +545 -0
  438. package/dist/snapshot-artifacts.js.map +1 -0
  439. package/dist/snapshot-chunks/db-metadata.d.ts +18 -0
  440. package/dist/snapshot-chunks/db-metadata.d.ts.map +1 -1
  441. package/dist/snapshot-chunks/db-metadata.js +91 -63
  442. package/dist/snapshot-chunks/db-metadata.js.map +1 -1
  443. package/dist/snapshot-chunks/index.js +2 -2
  444. package/dist/snapshot-chunks/types.d.ts +2 -0
  445. package/dist/snapshot-chunks/types.d.ts.map +1 -1
  446. package/dist/snapshot-chunks.d.ts +33 -3
  447. package/dist/snapshot-chunks.d.ts.map +1 -1
  448. package/dist/snapshot-chunks.js +136 -55
  449. package/dist/snapshot-chunks.js.map +1 -1
  450. package/dist/sqlite/index.d.ts +53 -0
  451. package/dist/sqlite/index.d.ts.map +1 -0
  452. package/dist/sqlite/index.js +795 -0
  453. package/dist/sqlite/index.js.map +1 -0
  454. package/dist/sqlite3.d.ts +22 -0
  455. package/dist/sqlite3.d.ts.map +1 -0
  456. package/dist/sqlite3.js +99 -0
  457. package/dist/sqlite3.js.map +1 -0
  458. package/dist/stats.d.ts +8 -0
  459. package/dist/stats.d.ts.map +1 -1
  460. package/dist/stats.js +45 -13
  461. package/dist/stats.js.map +1 -1
  462. package/dist/subscriptions/cache.d.ts +3 -0
  463. package/dist/subscriptions/cache.d.ts.map +1 -1
  464. package/dist/subscriptions/cache.js +44 -0
  465. package/dist/subscriptions/cache.js.map +1 -1
  466. package/dist/subscriptions/index.js +2 -2
  467. package/dist/subscriptions/resolve.d.ts +3 -1
  468. package/dist/subscriptions/resolve.d.ts.map +1 -1
  469. package/dist/subscriptions/resolve.js +91 -52
  470. package/dist/subscriptions/resolve.js.map +1 -1
  471. package/dist/sync.d.ts +3 -0
  472. package/dist/sync.d.ts.map +1 -1
  473. package/dist/sync.js +9 -5
  474. package/dist/sync.js.map +1 -1
  475. package/package.json +297 -8
  476. package/src/auth-leases.ts +649 -0
  477. package/src/better-sqlite3.ts +35 -0
  478. package/src/blobs/access.ts +244 -0
  479. package/src/blobs/adapters/database.ts +125 -43
  480. package/src/blobs/index.ts +1 -0
  481. package/src/blobs/manager.ts +366 -65
  482. package/src/blobs/migrate.ts +16 -8
  483. package/src/blobs/types.ts +4 -0
  484. package/src/bun-sqlite-ambient.d.ts +19 -0
  485. package/src/bun-sqlite.ts +27 -0
  486. package/src/clients.ts +1 -0
  487. package/src/cloudflare/durable-object.ts +289 -0
  488. package/src/cloudflare/index.ts +22 -0
  489. package/src/cloudflare/r2.ts +526 -0
  490. package/src/cloudflare/scope-cache.ts +341 -0
  491. package/src/cloudflare/sentry.ts +230 -0
  492. package/src/cloudflare/worker.ts +77 -0
  493. package/src/commit-integrity.ts +371 -0
  494. package/src/crdt-yjs/index.ts +931 -0
  495. package/src/d1.ts +16 -0
  496. package/src/dialect/base.ts +71 -5
  497. package/src/dialect/helpers.ts +31 -0
  498. package/src/dialect/types.ts +47 -0
  499. package/src/encrypted-crdt.ts +786 -0
  500. package/src/errors.ts +22 -0
  501. package/src/filesystem/index.ts +262 -0
  502. package/src/handlers/collection.ts +78 -78
  503. package/src/handlers/create-handler.ts +540 -147
  504. package/src/handlers/types.ts +116 -0
  505. package/src/helpers/index.ts +2 -0
  506. package/src/helpers/scope-authorization.ts +27 -0
  507. package/src/helpers/scope-commit-index.ts +52 -0
  508. package/src/hono/api-key-auth.ts +177 -0
  509. package/src/hono/audit-redaction.ts +135 -0
  510. package/src/hono/blobs.ts +851 -0
  511. package/src/hono/console/gateway.ts +3046 -0
  512. package/src/hono/console/live-auth.ts +46 -0
  513. package/src/hono/console/route-descriptor.ts +22 -0
  514. package/src/hono/console/routes/api-keys.ts +721 -0
  515. package/src/hono/console/routes/clients.ts +447 -0
  516. package/src/hono/console/routes/commits.ts +1137 -0
  517. package/src/hono/console/routes/context.ts +956 -0
  518. package/src/hono/console/routes/events.ts +669 -0
  519. package/src/hono/console/routes/maintenance.ts +461 -0
  520. package/src/hono/console/routes/shared.ts +816 -0
  521. package/src/hono/console/routes/stats.ts +392 -0
  522. package/src/hono/console/routes/storage.ts +159 -0
  523. package/src/hono/console/routes.ts +146 -0
  524. package/src/hono/console/schema-errors.ts +23 -0
  525. package/src/hono/console/schemas.ts +914 -0
  526. package/src/hono/console/types.ts +223 -0
  527. package/src/hono/console/ui.ts +100 -0
  528. package/src/hono/create-server.ts +230 -0
  529. package/src/hono/errors.ts +50 -0
  530. package/src/hono/index.ts +54 -0
  531. package/src/hono/openapi.ts +139 -0
  532. package/src/hono/proxy/connection-manager.ts +340 -0
  533. package/src/hono/proxy/index.ts +8 -0
  534. package/src/hono/proxy/routes.ts +272 -0
  535. package/src/hono/rate-limit.ts +319 -0
  536. package/src/hono/realtime-sync-packs.ts +354 -0
  537. package/src/hono/routes/audit.ts +499 -0
  538. package/src/hono/routes/auth-leases.ts +119 -0
  539. package/src/hono/routes/combined.ts +583 -0
  540. package/src/hono/routes/context.ts +1629 -0
  541. package/src/hono/routes/health.ts +26 -0
  542. package/src/hono/routes/realtime.ts +808 -0
  543. package/src/hono/routes/shared.ts +1626 -0
  544. package/src/hono/routes/snapshots.ts +345 -0
  545. package/src/hono/routes.ts +68 -0
  546. package/src/hono/validation.ts +81 -0
  547. package/src/hono/websocket-origin.ts +131 -0
  548. package/src/hono/ws.ts +1134 -0
  549. package/src/index.ts +6 -0
  550. package/src/libsql.ts +51 -0
  551. package/src/neon.ts +28 -0
  552. package/src/notify.ts +224 -44
  553. package/src/pglite.ts +68 -0
  554. package/src/plugins/index.ts +1 -0
  555. package/src/plugins/types.ts +144 -0
  556. package/src/postgres/index.ts +1291 -0
  557. package/src/proxy/collection.ts +5 -27
  558. package/src/proxy/handler.ts +2 -2
  559. package/src/proxy/index.ts +0 -2
  560. package/src/proxy/oplog.ts +41 -10
  561. package/src/prune.ts +137 -36
  562. package/src/pull.ts +1504 -591
  563. package/src/push.ts +881 -443
  564. package/src/realtime/index.ts +2 -0
  565. package/src/realtime/types.ts +35 -0
  566. package/src/relay/bun-types.d.ts +50 -0
  567. package/src/relay/client-role/forward-engine.ts +355 -0
  568. package/src/relay/client-role/index.ts +9 -0
  569. package/src/relay/client-role/pull-engine.ts +329 -0
  570. package/src/relay/client-role/sequence-mapper.ts +201 -0
  571. package/src/relay/evaluation/relay-paths.ts +699 -0
  572. package/src/relay/evaluation/rust-boundary.ts +464 -0
  573. package/src/relay/index.ts +50 -0
  574. package/src/relay/migrate.ts +113 -0
  575. package/src/relay/mode-manager.ts +142 -0
  576. package/src/relay/realtime.ts +207 -0
  577. package/src/relay/relay.ts +431 -0
  578. package/src/relay/schema.ts +171 -0
  579. package/src/relay/server-role/index.ts +338 -0
  580. package/src/relay/server-role/pull.ts +43 -0
  581. package/src/relay/server-role/push.ts +164 -0
  582. package/src/s3/index.ts +346 -0
  583. package/src/schema.ts +141 -1
  584. package/src/service-worker/index.ts +773 -0
  585. package/src/snapshot-artifacts/sqlite-bun.ts +168 -0
  586. package/src/snapshot-artifacts.ts +896 -0
  587. package/src/snapshot-chunks/db-metadata.ts +131 -72
  588. package/src/snapshot-chunks/types.ts +2 -0
  589. package/src/snapshot-chunks.ts +194 -70
  590. package/src/sqlite/index.ts +1064 -0
  591. package/src/sqlite3.ts +137 -0
  592. package/src/stats.ts +76 -13
  593. package/src/subscriptions/cache.ts +58 -0
  594. package/src/subscriptions/resolve.ts +99 -58
  595. package/src/sync.ts +16 -6
  596. package/src/blobs/adapters/database.test.ts +0 -67
  597. package/src/notify.test.ts +0 -520
  598. package/src/proxy/handler.test.ts +0 -126
  599. package/src/proxy/mutation-detector.test.ts +0 -71
  600. package/src/snapshot-chunks/db-metadata.test.ts +0 -172
  601. package/src/subscriptions/resolve.test.ts +0 -180
@@ -6,11 +6,72 @@
6
6
  */
7
7
  import { parseBlobHash } from '@syncular/core';
8
8
  import { sql } from 'kysely';
9
+ export const BLOB_CLEANUP_TUNING_PRESETS = {
10
+ server: {
11
+ batchSize: 500,
12
+ storageDeleteConcurrency: 16,
13
+ referenceCheckConcurrency: 24,
14
+ },
15
+ edge: {
16
+ batchSize: 100,
17
+ storageDeleteConcurrency: 4,
18
+ referenceCheckConcurrency: 8,
19
+ },
20
+ };
9
21
  /**
10
22
  * Create a blob manager for handling server-side blob operations.
11
23
  */
12
24
  export function createBlobManager(options) {
13
- const { db, adapter, defaultExpiresIn = 3600, uploadTtlSeconds = 86400, } = options;
25
+ const { db, adapter, defaultExpiresIn = 3600, uploadTtlSeconds = 86400, cleanupTuning, } = options;
26
+ function positiveIntOrDefault(value, fallback) {
27
+ if (value === undefined)
28
+ return fallback;
29
+ if (!Number.isFinite(value))
30
+ return fallback;
31
+ const normalized = Math.trunc(value);
32
+ return normalized > 0 ? normalized : fallback;
33
+ }
34
+ function resolvePartitionId(partitionId) {
35
+ return partitionId ?? 'default';
36
+ }
37
+ function normalizeBlobSizeValue(value) {
38
+ return typeof value === 'number' ? value : Number(value);
39
+ }
40
+ function toStoragePartitionOptions(partitionId) {
41
+ if (partitionId === 'default')
42
+ return {};
43
+ return { partitionId };
44
+ }
45
+ const CLEANUP_BATCH_SIZE = positiveIntOrDefault(cleanupTuning?.batchSize, 250);
46
+ const STORAGE_DELETE_CONCURRENCY = positiveIntOrDefault(cleanupTuning?.storageDeleteConcurrency, 8);
47
+ const REFERENCE_CHECK_CONCURRENCY = positiveIntOrDefault(cleanupTuning?.referenceCheckConcurrency, 16);
48
+ async function runWithConcurrency(items, concurrency, worker) {
49
+ if (items.length === 0)
50
+ return;
51
+ const workerCount = Math.max(1, Math.min(concurrency, items.length));
52
+ let nextIndex = 0;
53
+ async function runWorker() {
54
+ while (nextIndex < items.length) {
55
+ const index = nextIndex;
56
+ nextIndex += 1;
57
+ const item = items[index];
58
+ if (item === undefined)
59
+ continue;
60
+ await worker(item);
61
+ }
62
+ }
63
+ await Promise.all(Array.from({ length: workerCount }, () => runWorker()));
64
+ }
65
+ async function deleteUploadRowsByHashes(partitionId, hashes) {
66
+ if (hashes.length === 0)
67
+ return 0;
68
+ const deletedResult = await sql `
69
+ delete from ${sql.table('sync_blob_uploads')}
70
+ where partition_id = ${partitionId}
71
+ and hash in (${sql.join(hashes)})
72
+ `.execute(db);
73
+ return Number(deletedResult.numAffectedRows ?? 0);
74
+ }
14
75
  return {
15
76
  /**
16
77
  * Initiate a blob upload.
@@ -19,18 +80,22 @@ export function createBlobManager(options) {
19
80
  */
20
81
  async initiateUpload(opts) {
21
82
  const { hash, size, mimeType, actorId } = opts;
83
+ const partitionId = resolvePartitionId(opts.partitionId);
84
+ const storagePartitionOptions = toStoragePartitionOptions(partitionId);
22
85
  // Validate hash format
23
86
  if (!parseBlobHash(hash)) {
24
87
  throw new BlobValidationError('Invalid blob hash format');
25
88
  }
26
89
  // Check if blob already exists (deduplication)
27
- const exists = await adapter.exists(hash);
90
+ const exists = await adapter.exists(hash, storagePartitionOptions);
28
91
  if (exists) {
29
92
  // Also check if we have a complete upload record
30
93
  const existingResult = await sql `
31
94
  select status
32
95
  from ${sql.table('sync_blob_uploads')}
33
- where hash = ${hash} and status = 'complete'
96
+ where partition_id = ${partitionId}
97
+ and hash = ${hash}
98
+ and status = 'complete'
34
99
  limit 1
35
100
  `.execute(db);
36
101
  const existing = existingResult.rows[0];
@@ -42,6 +107,7 @@ export function createBlobManager(options) {
42
107
  const existsCompletedAt = new Date().toISOString();
43
108
  await sql `
44
109
  insert into ${sql.table('sync_blob_uploads')} (
110
+ partition_id,
45
111
  hash,
46
112
  size,
47
113
  mime_type,
@@ -51,6 +117,7 @@ export function createBlobManager(options) {
51
117
  completed_at
52
118
  )
53
119
  values (
120
+ ${partitionId},
54
121
  ${hash},
55
122
  ${size},
56
123
  ${mimeType},
@@ -59,7 +126,7 @@ export function createBlobManager(options) {
59
126
  ${existsExpiresAt},
60
127
  ${existsCompletedAt}
61
128
  )
62
- on conflict (hash) do nothing
129
+ on conflict (partition_id, hash) do nothing
63
130
  `.execute(db);
64
131
  return { exists: true };
65
132
  }
@@ -67,6 +134,7 @@ export function createBlobManager(options) {
67
134
  const expiresAt = new Date(Date.now() + uploadTtlSeconds * 1000).toISOString();
68
135
  await sql `
69
136
  insert into ${sql.table('sync_blob_uploads')} (
137
+ partition_id,
70
138
  hash,
71
139
  size,
72
140
  mime_type,
@@ -76,6 +144,7 @@ export function createBlobManager(options) {
76
144
  completed_at
77
145
  )
78
146
  values (
147
+ ${partitionId},
79
148
  ${hash},
80
149
  ${size},
81
150
  ${mimeType},
@@ -84,7 +153,7 @@ export function createBlobManager(options) {
84
153
  ${expiresAt},
85
154
  ${null}
86
155
  )
87
- on conflict (hash)
156
+ on conflict (partition_id, hash)
88
157
  do update set
89
158
  size = ${size},
90
159
  mime_type = ${mimeType},
@@ -96,6 +165,7 @@ export function createBlobManager(options) {
96
165
  // Generate presigned upload URL
97
166
  const signed = await adapter.signUpload({
98
167
  hash,
168
+ partitionId: storagePartitionOptions.partitionId,
99
169
  size,
100
170
  mimeType,
101
171
  expiresIn: defaultExpiresIn,
@@ -113,29 +183,40 @@ export function createBlobManager(options) {
113
183
  *
114
184
  * Verifies the blob exists in storage and marks the upload as complete.
115
185
  */
116
- async completeUpload(hash) {
186
+ async completeUpload(hash, options) {
187
+ const partitionId = resolvePartitionId(options?.partitionId);
188
+ const storagePartitionOptions = toStoragePartitionOptions(partitionId);
117
189
  // Validate hash format
118
190
  if (!parseBlobHash(hash)) {
119
- return { ok: false, error: 'Invalid blob hash format' };
191
+ return {
192
+ ok: false,
193
+ error: 'Invalid blob hash format',
194
+ code: 'blob.invalid_request',
195
+ };
120
196
  }
121
197
  // Check upload record exists
122
198
  const uploadResult = await sql `
123
- select hash, size, mime_type, status, created_at
199
+ select hash, size, mime_type, status, actor_id, created_at
124
200
  from ${sql.table('sync_blob_uploads')}
125
- where hash = ${hash}
201
+ where partition_id = ${partitionId} and hash = ${hash}
126
202
  limit 1
127
203
  `.execute(db);
128
204
  const upload = uploadResult.rows[0];
129
205
  if (!upload) {
130
- return { ok: false, error: 'Upload not found' };
206
+ return { ok: false, error: 'Upload not found', code: 'blob.not_found' };
207
+ }
208
+ if (options?.actorId !== undefined &&
209
+ upload.actor_id !== options.actorId) {
210
+ return { ok: false, error: 'Forbidden', code: 'blob.forbidden' };
131
211
  }
132
212
  if (upload.status === 'complete') {
213
+ const uploadSize = normalizeBlobSizeValue(upload.size);
133
214
  // Already complete - return metadata
134
215
  return {
135
216
  ok: true,
136
217
  metadata: {
137
218
  hash: upload.hash,
138
- size: upload.size,
219
+ size: uploadSize,
139
220
  mimeType: upload.mime_type,
140
221
  createdAt: upload.created_at,
141
222
  uploadComplete: true,
@@ -143,17 +224,23 @@ export function createBlobManager(options) {
143
224
  };
144
225
  }
145
226
  // Verify blob exists in storage
146
- const exists = await adapter.exists(hash);
227
+ const exists = await adapter.exists(hash, storagePartitionOptions);
147
228
  if (!exists) {
148
- return { ok: false, error: 'Blob not found in storage' };
229
+ return {
230
+ ok: false,
231
+ error: 'Blob not found in storage',
232
+ code: 'blob.not_found',
233
+ };
149
234
  }
150
235
  // Optionally verify size matches
236
+ const uploadSize = normalizeBlobSizeValue(upload.size);
151
237
  if (adapter.getMetadata) {
152
- const meta = await adapter.getMetadata(hash);
153
- if (meta && meta.size !== upload.size) {
238
+ const meta = await adapter.getMetadata(hash, storagePartitionOptions);
239
+ if (meta && meta.size !== uploadSize) {
154
240
  return {
155
241
  ok: false,
156
- error: `Size mismatch: expected ${upload.size}, got ${meta.size}`,
242
+ error: `Size mismatch: expected ${uploadSize}, got ${meta.size}`,
243
+ code: 'blob.size_mismatch',
157
244
  };
158
245
  }
159
246
  }
@@ -162,13 +249,13 @@ export function createBlobManager(options) {
162
249
  await sql `
163
250
  update ${sql.table('sync_blob_uploads')}
164
251
  set status = 'complete', completed_at = ${completedAt}
165
- where hash = ${hash}
252
+ where partition_id = ${partitionId} and hash = ${hash}
166
253
  `.execute(db);
167
254
  return {
168
255
  ok: true,
169
256
  metadata: {
170
257
  hash: upload.hash,
171
- size: upload.size,
258
+ size: uploadSize,
172
259
  mimeType: upload.mime_type,
173
260
  createdAt: upload.created_at,
174
261
  uploadComplete: true,
@@ -180,6 +267,8 @@ export function createBlobManager(options) {
180
267
  */
181
268
  async getDownloadUrl(opts) {
182
269
  const { hash } = opts;
270
+ const partitionId = resolvePartitionId(opts.partitionId);
271
+ const storagePartitionOptions = toStoragePartitionOptions(partitionId);
183
272
  // Validate hash format
184
273
  if (!parseBlobHash(hash)) {
185
274
  throw new BlobNotFoundError('Invalid blob hash format');
@@ -188,7 +277,9 @@ export function createBlobManager(options) {
188
277
  const uploadResult = await sql `
189
278
  select hash, size, mime_type, status, created_at
190
279
  from ${sql.table('sync_blob_uploads')}
191
- where hash = ${hash} and status = 'complete'
280
+ where partition_id = ${partitionId}
281
+ and hash = ${hash}
282
+ and status = 'complete'
192
283
  limit 1
193
284
  `.execute(db);
194
285
  const upload = uploadResult.rows[0];
@@ -198,6 +289,7 @@ export function createBlobManager(options) {
198
289
  // Generate presigned download URL
199
290
  const url = await adapter.signDownload({
200
291
  hash,
292
+ partitionId: storagePartitionOptions.partitionId,
201
293
  expiresIn: defaultExpiresIn,
202
294
  });
203
295
  const expiresAt = new Date(Date.now() + defaultExpiresIn * 1000).toISOString();
@@ -206,17 +298,57 @@ export function createBlobManager(options) {
206
298
  expiresAt,
207
299
  metadata: {
208
300
  hash: upload.hash,
209
- size: upload.size,
301
+ size: normalizeBlobSizeValue(upload.size),
210
302
  mimeType: upload.mime_type,
211
303
  createdAt: upload.created_at,
212
304
  uploadComplete: true,
213
305
  },
214
306
  };
215
307
  },
308
+ /**
309
+ * Get upload record for a blob hash, including pending uploads.
310
+ */
311
+ async getUploadRecord(hash, options) {
312
+ const partitionId = resolvePartitionId(options?.partitionId);
313
+ if (!parseBlobHash(hash)) {
314
+ return null;
315
+ }
316
+ const uploadResult = await sql `
317
+ select
318
+ partition_id,
319
+ hash,
320
+ size,
321
+ mime_type,
322
+ status,
323
+ actor_id,
324
+ created_at,
325
+ expires_at,
326
+ completed_at
327
+ from ${sql.table('sync_blob_uploads')}
328
+ where partition_id = ${partitionId} and hash = ${hash}
329
+ limit 1
330
+ `.execute(db);
331
+ const upload = uploadResult.rows[0];
332
+ if (!upload) {
333
+ return null;
334
+ }
335
+ return {
336
+ partitionId: upload.partition_id,
337
+ hash: upload.hash,
338
+ size: normalizeBlobSizeValue(upload.size),
339
+ mimeType: upload.mime_type,
340
+ status: upload.status,
341
+ actorId: upload.actor_id,
342
+ createdAt: upload.created_at,
343
+ expiresAt: upload.expires_at,
344
+ completedAt: upload.completed_at,
345
+ };
346
+ },
216
347
  /**
217
348
  * Get blob metadata without generating a download URL.
218
349
  */
219
- async getMetadata(hash) {
350
+ async getMetadata(hash, options) {
351
+ const partitionId = resolvePartitionId(options?.partitionId);
220
352
  // Validate hash format
221
353
  if (!parseBlobHash(hash)) {
222
354
  return null;
@@ -224,7 +356,9 @@ export function createBlobManager(options) {
224
356
  const uploadResult = await sql `
225
357
  select hash, size, mime_type, status, created_at
226
358
  from ${sql.table('sync_blob_uploads')}
227
- where hash = ${hash} and status = 'complete'
359
+ where partition_id = ${partitionId}
360
+ and hash = ${hash}
361
+ and status = 'complete'
228
362
  limit 1
229
363
  `.execute(db);
230
364
  const upload = uploadResult.rows[0];
@@ -233,7 +367,7 @@ export function createBlobManager(options) {
233
367
  }
234
368
  return {
235
369
  hash: upload.hash,
236
- size: upload.size,
370
+ size: normalizeBlobSizeValue(upload.size),
237
371
  mimeType: upload.mime_type,
238
372
  createdAt: upload.created_at,
239
373
  uploadComplete: true,
@@ -242,13 +376,16 @@ export function createBlobManager(options) {
242
376
  /**
243
377
  * Check if a blob exists and is complete.
244
378
  */
245
- async exists(hash) {
379
+ async exists(hash, options) {
380
+ const partitionId = resolvePartitionId(options?.partitionId);
246
381
  if (!parseBlobHash(hash))
247
382
  return false;
248
383
  const rowResult = await sql `
249
384
  select hash
250
385
  from ${sql.table('sync_blob_uploads')}
251
- where hash = ${hash} and status = 'complete'
386
+ where partition_id = ${partitionId}
387
+ and hash = ${hash}
388
+ and status = 'complete'
252
389
  limit 1
253
390
  `.execute(db);
254
391
  return rowResult.rows.length > 0;
@@ -262,53 +399,100 @@ export function createBlobManager(options) {
262
399
  */
263
400
  async cleanup(options) {
264
401
  const now = new Date().toISOString();
265
- // Find expired pending uploads
266
- const expiredResult = await sql `
267
- select hash
268
- from ${sql.table('sync_blob_uploads')}
269
- where status = 'pending' and expires_at < ${now}
270
- `.execute(db);
271
- const expired = expiredResult.rows;
402
+ const partitionId = resolvePartitionId(options?.partitionId);
403
+ const storagePartitionOptions = toStoragePartitionOptions(partitionId);
272
404
  let deleted = 0;
273
- for (const row of expired) {
405
+ // Find and delete expired pending uploads in batches.
406
+ while (true) {
407
+ const expiredResult = await sql `
408
+ select hash
409
+ from ${sql.table('sync_blob_uploads')}
410
+ where partition_id = ${partitionId}
411
+ and status = 'pending'
412
+ and expires_at < ${now}
413
+ order by expires_at asc
414
+ limit ${CLEANUP_BATCH_SIZE}
415
+ `.execute(db);
416
+ const expiredHashes = expiredResult.rows
417
+ .map((row) => row.hash)
418
+ .filter((hash) => typeof hash === 'string');
419
+ if (expiredHashes.length === 0) {
420
+ break;
421
+ }
274
422
  if (options?.deleteFromStorage) {
275
- try {
276
- await adapter.delete(row.hash);
277
- }
278
- catch {
279
- // Ignore storage errors during cleanup
280
- }
423
+ await runWithConcurrency(expiredHashes, STORAGE_DELETE_CONCURRENCY, async (hash) => {
424
+ try {
425
+ await adapter.delete(hash, storagePartitionOptions);
426
+ }
427
+ catch {
428
+ // Ignore storage errors during cleanup
429
+ }
430
+ });
431
+ }
432
+ deleted += await deleteUploadRowsByHashes(partitionId, expiredHashes);
433
+ if (expiredHashes.length < CLEANUP_BATCH_SIZE) {
434
+ break;
281
435
  }
282
- await sql `
283
- delete from ${sql.table('sync_blob_uploads')}
284
- where hash = ${row.hash}
285
- `.execute(db);
286
- deleted++;
287
436
  }
288
437
  // If reference check provided, also clean up unreferenced complete uploads
438
+ // in batches with bounded parallelism.
289
439
  if (options?.isReferenced) {
290
- const completeResult = await sql `
291
- select hash
292
- from ${sql.table('sync_blob_uploads')}
293
- where status = 'complete'
294
- `.execute(db);
295
- const complete = completeResult.rows;
296
- for (const row of complete) {
297
- const referenced = await options.isReferenced(row.hash);
298
- if (!referenced) {
440
+ const isReferenced = options.isReferenced;
441
+ let afterHash = null;
442
+ while (true) {
443
+ let completeRows;
444
+ if (afterHash === null) {
445
+ const completeResult = await sql `
446
+ select hash
447
+ from ${sql.table('sync_blob_uploads')}
448
+ where partition_id = ${partitionId}
449
+ and status = 'complete'
450
+ order by hash asc
451
+ limit ${CLEANUP_BATCH_SIZE}
452
+ `.execute(db);
453
+ completeRows = completeResult.rows;
454
+ }
455
+ else {
456
+ const completeResult = await sql `
457
+ select hash
458
+ from ${sql.table('sync_blob_uploads')}
459
+ where partition_id = ${partitionId}
460
+ and status = 'complete'
461
+ and hash > ${afterHash}
462
+ order by hash asc
463
+ limit ${CLEANUP_BATCH_SIZE}
464
+ `.execute(db);
465
+ completeRows = completeResult.rows;
466
+ }
467
+ const completeHashes = completeRows
468
+ .map((row) => row.hash)
469
+ .filter((hash) => typeof hash === 'string');
470
+ if (completeHashes.length === 0) {
471
+ break;
472
+ }
473
+ afterHash = completeHashes[completeHashes.length - 1] ?? afterHash;
474
+ const unreferencedHashes = [];
475
+ await runWithConcurrency(completeHashes, REFERENCE_CHECK_CONCURRENCY, async (hash) => {
476
+ const referenced = await isReferenced(hash);
477
+ if (!referenced) {
478
+ unreferencedHashes.push(hash);
479
+ }
480
+ });
481
+ if (unreferencedHashes.length > 0) {
299
482
  if (options?.deleteFromStorage) {
300
- try {
301
- await adapter.delete(row.hash);
302
- }
303
- catch {
304
- // Ignore storage errors during cleanup
305
- }
483
+ await runWithConcurrency(unreferencedHashes, STORAGE_DELETE_CONCURRENCY, async (hash) => {
484
+ try {
485
+ await adapter.delete(hash, storagePartitionOptions);
486
+ }
487
+ catch {
488
+ // Ignore storage errors during cleanup
489
+ }
490
+ });
306
491
  }
307
- await sql `
308
- delete from ${sql.table('sync_blob_uploads')}
309
- where hash = ${row.hash}
310
- `.execute(db);
311
- deleted++;
492
+ deleted += await deleteUploadRowsByHashes(partitionId, unreferencedHashes);
493
+ }
494
+ if (completeHashes.length < CLEANUP_BATCH_SIZE) {
495
+ break;
312
496
  }
313
497
  }
314
498
  }
@@ -352,7 +536,7 @@ export function createBlobManager(options) {
352
536
  */
353
537
  export function createBlobCleanupScheduler(options) {
354
538
  const { blobManager, intervalMs = 3600000, // 1 hour
355
- deleteFromStorage = true, isReferenced, onCleanup, } = options;
539
+ deleteFromStorage = true, isReferenced, partitionId, onCleanup, } = options;
356
540
  let intervalId = null;
357
541
  let isRunning = false;
358
542
  const runCleanup = async () => {
@@ -364,6 +548,7 @@ export function createBlobCleanupScheduler(options) {
364
548
  const result = await blobManager.cleanup({
365
549
  deleteFromStorage,
366
550
  isReferenced,
551
+ partitionId,
367
552
  });
368
553
  onCleanup?.({ deleted: result.deleted });
369
554
  return { deleted: result.deleted };
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/blobs/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/blobs/manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAe,GAAG,EAAE,MAAM,QAAQ,CAAC;AA+B1C,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,MAAM,EAAE;QACN,SAAS,EAAE,GAAG;QACd,wBAAwB,EAAE,EAAE;QAC5B,yBAAyB,EAAE,EAAE;KAC9B;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,GAAG;QACd,wBAAwB,EAAE,CAAC;QAC3B,yBAAyB,EAAE,CAAC;KAC7B;CACwE,CAAC;AAsC5E;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA+B;IAE/B,MAAM,EACJ,EAAE,EACF,OAAO,EACP,gBAAgB,GAAG,IAAI,EACvB,gBAAgB,GAAG,KAAK,EACxB,aAAa,GACd,GAAG,OAAO,CAAC;IAEZ,SAAS,oBAAoB,CAAC,KAAyB,EAAE,QAAgB;QACvE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChD,CAAC;IAED,SAAS,kBAAkB,CAAC,WAAoB;QAC9C,OAAO,WAAW,IAAI,SAAS,CAAC;IAClC,CAAC;IAED,SAAS,sBAAsB,CAAC,KAAsB;QACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,SAAS,yBAAyB,CAAC,WAAmB;QAGpD,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACzC,OAAO,EAAE,WAAW,EAAE,CAAC;IACzB,CAAC;IAED,MAAM,kBAAkB,GAAG,oBAAoB,CAC7C,aAAa,EAAE,SAAS,EACxB,GAAG,CACJ,CAAC;IACF,MAAM,0BAA0B,GAAG,oBAAoB,CACrD,aAAa,EAAE,wBAAwB,EACvC,CAAC,CACF,CAAC;IACF,MAAM,2BAA2B,GAAG,oBAAoB,CACtD,aAAa,EAAE,yBAAyB,EACxC,EAAE,CACH,CAAC;IAEF,KAAK,UAAU,kBAAkB,CAC/B,KAAmB,EACnB,WAAmB,EACnB,MAAkC;QAElC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,KAAK,UAAU,SAAS;YACtB,OAAO,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,SAAS,CAAC;gBACxB,SAAS,IAAI,CAAC,CAAC;gBACf,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,IAAI,KAAK,SAAS;oBAAE,SAAS;gBACjC,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,UAAU,wBAAwB,CACrC,WAAmB,EACnB,MAAyB;QAEzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAElC,MAAM,aAAa,GAAG,MAAM,GAAG,CAAA;oBACf,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;6BACrB,WAAW;uBACjB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;KAClC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEd,OAAO,MAAM,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACL;;;;WAIG;QACH,KAAK,CAAC,cAAc,CAClB,IAA2B;YAE3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;YAC/C,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAEvE,uBAAuB;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,mBAAmB,CAAC,0BAA0B,CAAC,CAAC;YAC5D,CAAC;YAED,+CAA+C;YAC/C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YACnE,IAAI,MAAM,EAAE,CAAC;gBACX,iDAAiD;gBACjD,MAAM,cAAc,GAAG,MAAM,GAAG,CAAoC;;iBAE3D,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;iCACd,WAAW;yBACnB,IAAI;;;SAGpB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAExC,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC1B,CAAC;gBAED,iEAAiE;gBACjE,MAAM,eAAe,GAAG,IAAI,IAAI,CAC9B,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,IAAI,CACrC,CAAC,WAAW,EAAE,CAAC;gBAChB,MAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAEnD,MAAM,GAAG,CAAA;wBACO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;;;;;;;;;;;cAWxC,WAAW;cACX,IAAI;cACJ,IAAI;cACJ,QAAQ;;cAER,OAAO;cACP,eAAe;cACf,iBAAiB;;;SAGtB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YAC1B,CAAC;YAED,+BAA+B;YAC/B,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,IAAI,CACrC,CAAC,WAAW,EAAE,CAAC;YAEhB,MAAM,GAAG,CAAA;sBACO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;;;;;;;;;;;YAWxC,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,QAAQ;;YAER,OAAO;YACP,SAAS;YACT,IAAI;;;;mBAIG,IAAI;wBACC,QAAQ;;uBAET,OAAO;yBACL,SAAS;2BACP,IAAI;OACxB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEd,gCAAgC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC;gBACtC,IAAI;gBACJ,WAAW,EAAE,uBAAuB,CAAC,WAAW;gBAChD,IAAI;gBACJ,QAAQ;gBACR,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI,EAAE,wBAAwB;gBACxC,SAAS,EAAE,MAAM,CAAC,GAAG;gBACrB,YAAY,EAAE,MAAM,CAAC,MAAM;gBAC3B,aAAa,EAAE,MAAM,CAAC,OAAO;aAC9B,CAAC;QACJ,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,cAAc,CAClB,IAAY,EACZ,OAA+B;YAE/B,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAEvE,uBAAuB;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,0BAA0B;oBACjC,IAAI,EAAE,sBAAsB;iBAC7B,CAAC;YACJ,CAAC;YAED,6BAA6B;YAC7B,MAAM,YAAY,GAAG,MAAM,GAAG,CAO5B;;eAEO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;+BACd,WAAW,eAAe,IAAI;;OAEtD,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;YAC1E,CAAC;YAED,IACE,OAAO,EAAE,OAAO,KAAK,SAAS;gBAC9B,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,EACnC,CAAC;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;YACnE,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACvD,qCAAqC;gBACrC,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,QAAQ,EAAE;wBACR,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,IAAI,EAAE,UAAU;wBAChB,QAAQ,EAAE,MAAM,CAAC,SAAS;wBAC1B,SAAS,EAAE,MAAM,CAAC,UAAU;wBAC5B,cAAc,EAAE,IAAI;qBACrB;iBACF,CAAC;YACJ,CAAC;YAED,gCAAgC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,2BAA2B;oBAClC,IAAI,EAAE,gBAAgB;iBACvB,CAAC;YACJ,CAAC;YAED,iCAAiC;YACjC,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gBACtE,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,OAAO;wBACL,EAAE,EAAE,KAAK;wBACT,KAAK,EAAE,2BAA2B,UAAU,SAAS,IAAI,CAAC,IAAI,EAAE;wBAChE,IAAI,EAAE,oBAAoB;qBAC3B,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,0BAA0B;YAC1B,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,GAAG,CAAA;iBACE,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;kDACG,WAAW;+BAC9B,WAAW,eAAe,IAAI;OACtD,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEd,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,MAAM,CAAC,SAAS;oBAC1B,SAAS,EAAE,MAAM,CAAC,UAAU;oBAC5B,cAAc,EAAE,IAAI;iBACrB;aACF,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,cAAc,CAClB,IAA2B;YAE3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAEvE,uBAAuB;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;YAC1D,CAAC;YAED,uCAAuC;YACvC,MAAM,YAAY,GAAG,MAAM,GAAG,CAM5B;;eAEO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;+BACd,WAAW;uBACnB,IAAI;;;OAGpB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAChD,CAAC;YAED,kCAAkC;YAClC,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;gBACrC,IAAI;gBACJ,WAAW,EAAE,uBAAuB,CAAC,WAAW;gBAChD,SAAS,EAAE,gBAAgB;aAC5B,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,IAAI,CACxB,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,IAAI,CACrC,CAAC,WAAW,EAAE,CAAC;YAEhB,OAAO;gBACL,GAAG;gBACH,SAAS;gBACT,QAAQ,EAAE;oBACR,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;oBACzC,QAAQ,EAAE,MAAM,CAAC,SAAS;oBAC1B,SAAS,EAAE,MAAM,CAAC,UAAU;oBAC5B,cAAc,EAAE,IAAI;iBACrB;aACF,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,eAAe,CACnB,IAAY,EACZ,OAAkC;YAElC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAU5B;;;;;;;;;;;eAWO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;+BACd,WAAW,eAAe,IAAI;;OAEtD,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,YAAY;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzC,QAAQ,EAAE,MAAM,CAAC,SAAS;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,QAAQ;gBACxB,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,WAAW,EAAE,MAAM,CAAC,YAAY;aACjC,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,WAAW,CACf,IAAY,EACZ,OAAkC;YAElC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,uBAAuB;YACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,GAAG,CAM5B;;eAEO,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;+BACd,WAAW;uBACnB,IAAI;;;OAGpB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACd,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC;gBACzC,QAAQ,EAAE,MAAM,CAAC,SAAS;gBAC1B,SAAS,EAAE,MAAM,CAAC,UAAU;gBAC5B,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,MAAM,CACV,IAAY,EACZ,OAAkC;YAElC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,CAAC;YAEvC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAkB;;eAEpC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;+BACd,WAAW;uBACnB,IAAI;;;OAGpB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEd,OAAO,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,OAAO,CAAC,OAOb;YACC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7D,MAAM,uBAAuB,GAAG,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAEvE,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,sDAAsD;YACtD,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,aAAa,GAAG,MAAM,GAAG,CAAkB;;iBAExC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;iCACd,WAAW;;+BAEb,GAAG;;kBAEhB,kBAAkB;SAC3B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACd,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI;qBACrC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;qBACtB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;gBAE9D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM;gBACR,CAAC;gBAED,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;oBAC/B,MAAM,kBAAkB,CACtB,aAAa,EACb,0BAA0B,EAC1B,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,IAAI,CAAC;4BACH,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;wBACtD,CAAC;wBAAC,MAAM,CAAC;4BACP,uCAAuC;wBACzC,CAAC;oBACH,CAAC,CACF,CAAC;gBACJ,CAAC;gBAED,OAAO,IAAI,MAAM,wBAAwB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;gBAEtE,IAAI,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;oBAC9C,MAAM;gBACR,CAAC;YACH,CAAC;YAED,2EAA2E;YAC3E,uCAAuC;YACvC,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;gBAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;gBAC1C,IAAI,SAAS,GAAkB,IAAI,CAAC;gBAEpC,OAAO,IAAI,EAAE,CAAC;oBACZ,IAAI,YAAqC,CAAC;oBAC1C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;wBACvB,MAAM,cAAc,GAAG,MAAM,GAAG,CAAkB;;qBAEzC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;qCACd,WAAW;;;sBAG1B,kBAAkB;aAC3B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACd,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,MAAM,cAAc,GAAG,MAAM,GAAG,CAAkB;;qBAEzC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC;qCACd,WAAW;;6BAEnB,SAAS;;sBAEhB,kBAAkB;aAC3B,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;wBACd,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;oBACrC,CAAC;oBAED,MAAM,cAAc,GAAG,YAAY;yBAChC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;yBACtB,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;oBAE9D,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAChC,MAAM;oBACR,CAAC;oBAED,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;oBAEnE,MAAM,kBAAkB,GAAa,EAAE,CAAC;oBACxC,MAAM,kBAAkB,CACtB,cAAc,EACd,2BAA2B,EAC3B,KAAK,EAAE,IAAI,EAAE,EAAE;wBACb,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;wBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;4BAChB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC,CACF,CAAC;oBAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,IAAI,OAAO,EAAE,iBAAiB,EAAE,CAAC;4BAC/B,MAAM,kBAAkB,CACtB,kBAAkB,EAClB,0BAA0B,EAC1B,KAAK,EAAE,IAAI,EAAE,EAAE;gCACb,IAAI,CAAC;oCACH,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;gCACtD,CAAC;gCAAC,MAAM,CAAC;oCACP,uCAAuC;gCACzC,CAAC;4BACH,CAAC,CACF,CAAC;wBACJ,CAAC;wBAED,OAAO,IAAI,MAAM,wBAAwB,CACvC,WAAW,EACX,kBAAkB,CACnB,CAAC;oBACJ,CAAC;oBAED,IAAI,cAAc,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;wBAC/C,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,qCAAqC;QACrC,OAAO;KACR,CAAC;AACJ,CAAC;AAuBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAoC;IAEpC,MAAM,EACJ,WAAW,EACX,UAAU,GAAG,OAAO,EAAE,SAAS;IAC/B,iBAAiB,GAAG,IAAI,EACxB,YAAY,EACZ,WAAW,EACX,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,IAAI,UAAU,GAA0C,IAAI,CAAC;IAC7D,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,MAAM,UAAU,GAAG,KAAK,IAAiD,EAAE;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACxB,CAAC;QAED,SAAS,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC;gBACvC,iBAAiB;gBACjB,YAAY;gBACZ,WAAW;aACZ,CAAC,CAAC;YAEH,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;QAC/B,CAAC;gBAAS,CAAC;YACT,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO;QACL;;;WAGG;QACH,KAAK,CAAC,OAAiC;YACrC,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,kBAAkB;YAC5B,CAAC;YAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,KAAK,UAAU,EAAE,CAAC;YACpB,CAAC;YAED,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC5B,KAAK,UAAU,EAAE,CAAC;YACpB,CAAC,EAAE,UAAU,CAAC,CAAC;QACjB,CAAC;QAED;;WAEG;QACH,IAAI;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;QACH,CAAC;QAED;;WAEG;QACH,KAAK,CAAC,OAAO;YACX,OAAO,UAAU,EAAE,CAAC;QACtB,CAAC;QAED;;WAEG;QACH,IAAI,MAAM;YACR,OAAO,UAAU,KAAK,IAAI,CAAC;QAC7B,CAAC;QAED;;WAEG;QACH,IAAI,OAAO;YACT,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS;AACT,+EAA+E;AAE/E,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/blobs/migrate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAgF7D;;;;;GAKG;AACH,wBAAsB,+BAA+B,CAAC,EAAE,SAAS,UAAU,EACzE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,EAAE,SAAS,UAAU,EACvE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EAAE,SAAS,UAAU,EACxD,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,IAAI,CAAC,CAGf"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/blobs/migrate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAoF7D;;;;;GAKG;AACH,wBAAsB,+BAA+B,CAAC,EAAE,SAAS,UAAU,EACzE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;;;;GAKG;AACH,wBAAsB,6BAA6B,CAAC,EAAE,SAAS,UAAU,EACvE,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,EAAE,SAAS,UAAU,EACxD,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,GACb,OAAO,CAAC,IAAI,CAAC,CAGf"}