@opendatalabs/personal-server-ts-core 1.34.2 → 1.35.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/dist/additions/durable.d.ts +32 -2
  2. package/dist/additions/durable.d.ts.map +1 -1
  3. package/dist/additions/durable.js +237 -88
  4. package/dist/additions/durable.js.map +1 -1
  5. package/dist/additions/version-inventory.d.ts +4 -0
  6. package/dist/additions/version-inventory.d.ts.map +1 -1
  7. package/dist/additions/version-inventory.js +11 -1
  8. package/dist/additions/version-inventory.js.map +1 -1
  9. package/dist/api/index.d.ts +18 -1
  10. package/dist/api/index.d.ts.map +1 -1
  11. package/dist/api/index.js +172 -4
  12. package/dist/api/index.js.map +1 -1
  13. package/dist/api/oura-collection-requirements.d.ts +16 -0
  14. package/dist/api/oura-collection-requirements.d.ts.map +1 -0
  15. package/dist/api/oura-collection-requirements.js +70 -0
  16. package/dist/api/oura-collection-requirements.js.map +1 -0
  17. package/dist/api/scope-upload-batches.d.ts +18 -0
  18. package/dist/api/scope-upload-batches.d.ts.map +1 -0
  19. package/dist/api/scope-upload-batches.js +71 -0
  20. package/dist/api/scope-upload-batches.js.map +1 -0
  21. package/dist/api/scope-uploads.d.ts +112 -0
  22. package/dist/api/scope-uploads.d.ts.map +1 -0
  23. package/dist/api/scope-uploads.js +369 -0
  24. package/dist/api/scope-uploads.js.map +1 -0
  25. package/dist/client.d.ts +70 -0
  26. package/dist/client.d.ts.map +1 -1
  27. package/dist/client.js +1 -0
  28. package/dist/client.js.map +1 -1
  29. package/dist/contracts/data.d.ts +8 -0
  30. package/dist/contracts/data.d.ts.map +1 -1
  31. package/dist/contracts/data.js +31 -1
  32. package/dist/contracts/data.js.map +1 -1
  33. package/dist/contracts/grants.d.ts.map +1 -1
  34. package/dist/contracts/grants.js +3 -0
  35. package/dist/contracts/grants.js.map +1 -1
  36. package/dist/contracts/index.d.ts +3 -1
  37. package/dist/contracts/index.d.ts.map +1 -1
  38. package/dist/contracts/index.js +3 -1
  39. package/dist/contracts/index.js.map +1 -1
  40. package/dist/contracts/oura-collection-requirements.d.ts +17 -0
  41. package/dist/contracts/oura-collection-requirements.d.ts.map +1 -0
  42. package/dist/contracts/oura-collection-requirements.js +49 -0
  43. package/dist/contracts/oura-collection-requirements.js.map +1 -0
  44. package/dist/legacy-projection/bindings.d.ts +1 -7
  45. package/dist/legacy-projection/bindings.d.ts.map +1 -1
  46. package/dist/legacy-projection/bindings.js +162 -28
  47. package/dist/legacy-projection/bindings.js.map +1 -1
  48. package/dist/legacy-projection/index.d.ts +6 -5
  49. package/dist/legacy-projection/index.d.ts.map +1 -1
  50. package/dist/legacy-projection/index.js +9 -21
  51. package/dist/legacy-projection/index.js.map +1 -1
  52. package/dist/legacy-projection/oura-browser-bindings.d.ts +2 -0
  53. package/dist/legacy-projection/oura-browser-bindings.d.ts.map +1 -1
  54. package/dist/legacy-projection/oura-browser-bindings.js +2 -0
  55. package/dist/legacy-projection/oura-browser-bindings.js.map +1 -1
  56. package/dist/legacy-projection/strava-browser-bindings.d.ts +3 -0
  57. package/dist/legacy-projection/strava-browser-bindings.d.ts.map +1 -0
  58. package/dist/legacy-projection/strava-browser-bindings.js +32 -0
  59. package/dist/legacy-projection/strava-browser-bindings.js.map +1 -0
  60. package/dist/legacy-projection/types.d.ts +44 -12
  61. package/dist/legacy-projection/types.d.ts.map +1 -1
  62. package/dist/mcp/connection-api.d.ts +11 -1
  63. package/dist/mcp/connection-api.d.ts.map +1 -1
  64. package/dist/mcp/connection-api.js +94 -9
  65. package/dist/mcp/connection-api.js.map +1 -1
  66. package/dist/mcp/index.d.ts +1 -0
  67. package/dist/mcp/index.d.ts.map +1 -1
  68. package/dist/mcp/index.js +1 -0
  69. package/dist/mcp/index.js.map +1 -1
  70. package/dist/mcp/server.d.ts +9 -0
  71. package/dist/mcp/server.d.ts.map +1 -1
  72. package/dist/mcp/server.js +19 -6
  73. package/dist/mcp/server.js.map +1 -1
  74. package/dist/mcp/store.d.ts +10 -1
  75. package/dist/mcp/store.d.ts.map +1 -1
  76. package/dist/mcp/store.js +51 -0
  77. package/dist/mcp/store.js.map +1 -1
  78. package/dist/mcp/tools.d.ts +52 -2
  79. package/dist/mcp/tools.d.ts.map +1 -1
  80. package/dist/mcp/tools.js +395 -11
  81. package/dist/mcp/tools.js.map +1 -1
  82. package/dist/mcp/types.d.ts +36 -2
  83. package/dist/mcp/types.d.ts.map +1 -1
  84. package/dist/mcp/types.js +12 -0
  85. package/dist/mcp/types.js.map +1 -1
  86. package/dist/mcp/write-client.d.ts +81 -0
  87. package/dist/mcp/write-client.d.ts.map +1 -0
  88. package/dist/mcp/write-client.js +140 -0
  89. package/dist/mcp/write-client.js.map +1 -0
  90. package/dist/oura/history-policy.d.ts +12 -0
  91. package/dist/oura/history-policy.d.ts.map +1 -0
  92. package/dist/oura/history-policy.js +54 -0
  93. package/dist/oura/history-policy.js.map +1 -0
  94. package/dist/oura/index.d.ts +51 -0
  95. package/dist/oura/index.d.ts.map +1 -0
  96. package/dist/oura/index.js +315 -0
  97. package/dist/oura/index.js.map +1 -0
  98. package/dist/pdpp/approval.d.ts +1 -1
  99. package/dist/pdpp/approval.d.ts.map +1 -1
  100. package/dist/pdpp/approval.js +29 -10
  101. package/dist/pdpp/approval.js.map +1 -1
  102. package/dist/pdpp/declaration-limits.d.ts +7 -0
  103. package/dist/pdpp/declaration-limits.d.ts.map +1 -0
  104. package/dist/pdpp/declaration-limits.js +7 -0
  105. package/dist/pdpp/declaration-limits.js.map +1 -0
  106. package/dist/pdpp/declaration.d.ts +2 -1
  107. package/dist/pdpp/declaration.d.ts.map +1 -1
  108. package/dist/pdpp/declaration.js +2 -1
  109. package/dist/pdpp/declaration.js.map +1 -1
  110. package/dist/pdpp/index.d.ts +3 -2
  111. package/dist/pdpp/index.d.ts.map +1 -1
  112. package/dist/pdpp/index.js +3 -2
  113. package/dist/pdpp/index.js.map +1 -1
  114. package/dist/pdpp/issuance.d.ts.map +1 -1
  115. package/dist/pdpp/issuance.js +6 -2
  116. package/dist/pdpp/issuance.js.map +1 -1
  117. package/dist/pdpp/resolve.d.ts +12 -1
  118. package/dist/pdpp/resolve.d.ts.map +1 -1
  119. package/dist/pdpp/resolve.js +156 -58
  120. package/dist/pdpp/resolve.js.map +1 -1
  121. package/dist/pdpp/selection.d.ts +30 -1
  122. package/dist/pdpp/selection.d.ts.map +1 -1
  123. package/dist/pdpp/selection.js +77 -26
  124. package/dist/pdpp/selection.js.map +1 -1
  125. package/dist/pdpp/time.d.ts +39 -0
  126. package/dist/pdpp/time.d.ts.map +1 -0
  127. package/dist/pdpp/time.js +173 -0
  128. package/dist/pdpp/time.js.map +1 -0
  129. package/dist/pdpp/tokens.d.ts.map +1 -1
  130. package/dist/pdpp/tokens.js +4 -2
  131. package/dist/pdpp/tokens.js.map +1 -1
  132. package/dist/pdpp/types.d.ts +18 -2
  133. package/dist/pdpp/types.d.ts.map +1 -1
  134. package/dist/pdpp/types.js +7 -0
  135. package/dist/pdpp/types.js.map +1 -1
  136. package/dist/policy/reserved-scopes.d.ts +7 -0
  137. package/dist/policy/reserved-scopes.d.ts.map +1 -1
  138. package/dist/policy/reserved-scopes.js +12 -1
  139. package/dist/policy/reserved-scopes.js.map +1 -1
  140. package/dist/ports/index.d.ts +85 -1
  141. package/dist/ports/index.d.ts.map +1 -1
  142. package/dist/ports/index.js.map +1 -1
  143. package/dist/ports/pdpp-auth.d.ts +17 -27
  144. package/dist/ports/pdpp-auth.d.ts.map +1 -1
  145. package/dist/ports/pdpp-auth.js +14 -28
  146. package/dist/ports/pdpp-auth.js.map +1 -1
  147. package/dist/publication/publish.d.ts +96 -0
  148. package/dist/publication/publish.d.ts.map +1 -0
  149. package/dist/publication/publish.js +261 -0
  150. package/dist/publication/publish.js.map +1 -0
  151. package/dist/replication/completion.d.ts +20 -0
  152. package/dist/replication/completion.d.ts.map +1 -0
  153. package/dist/replication/completion.js +73 -0
  154. package/dist/replication/completion.js.map +1 -0
  155. package/dist/replication/coordinator-state.d.ts +29 -0
  156. package/dist/replication/coordinator-state.d.ts.map +1 -0
  157. package/dist/replication/coordinator-state.js +88 -0
  158. package/dist/replication/coordinator-state.js.map +1 -0
  159. package/dist/replication/coordinator-state.test-utils.d.ts +32 -0
  160. package/dist/replication/coordinator-state.test-utils.d.ts.map +1 -0
  161. package/dist/replication/coordinator-state.test-utils.js +113 -0
  162. package/dist/replication/coordinator-state.test-utils.js.map +1 -0
  163. package/dist/replication/coordinator.d.ts +264 -0
  164. package/dist/replication/coordinator.d.ts.map +1 -0
  165. package/dist/replication/coordinator.js +499 -0
  166. package/dist/replication/coordinator.js.map +1 -0
  167. package/dist/replication/copies.d.ts +126 -0
  168. package/dist/replication/copies.d.ts.map +1 -0
  169. package/dist/replication/copies.js +437 -0
  170. package/dist/replication/copies.js.map +1 -0
  171. package/dist/replication/copy-promotion.d.ts +132 -0
  172. package/dist/replication/copy-promotion.d.ts.map +1 -0
  173. package/dist/replication/copy-promotion.js +126 -0
  174. package/dist/replication/copy-promotion.js.map +1 -0
  175. package/dist/replication/door.d.ts +33 -0
  176. package/dist/replication/door.d.ts.map +1 -0
  177. package/dist/replication/door.js +10 -0
  178. package/dist/replication/door.js.map +1 -0
  179. package/dist/replication/dpv2.d.ts +141 -0
  180. package/dist/replication/dpv2.d.ts.map +1 -0
  181. package/dist/replication/dpv2.js +320 -0
  182. package/dist/replication/dpv2.js.map +1 -0
  183. package/dist/replication/effects.d.ts +68 -0
  184. package/dist/replication/effects.d.ts.map +1 -0
  185. package/dist/replication/effects.js +89 -0
  186. package/dist/replication/effects.js.map +1 -0
  187. package/dist/replication/engine.d.ts +378 -0
  188. package/dist/replication/engine.d.ts.map +1 -0
  189. package/dist/replication/engine.js +3197 -0
  190. package/dist/replication/engine.js.map +1 -0
  191. package/dist/replication/envelope.d.ts +481 -0
  192. package/dist/replication/envelope.d.ts.map +1 -0
  193. package/dist/replication/envelope.js +192 -0
  194. package/dist/replication/envelope.js.map +1 -0
  195. package/dist/replication/evidence.d.ts +118 -0
  196. package/dist/replication/evidence.d.ts.map +1 -0
  197. package/dist/replication/evidence.js +198 -0
  198. package/dist/replication/evidence.js.map +1 -0
  199. package/dist/replication/finality.d.ts +16 -0
  200. package/dist/replication/finality.d.ts.map +1 -0
  201. package/dist/replication/finality.js +11 -0
  202. package/dist/replication/finality.js.map +1 -0
  203. package/dist/replication/fixtures.d.ts +16 -0
  204. package/dist/replication/fixtures.d.ts.map +1 -0
  205. package/dist/replication/fixtures.js +47 -0
  206. package/dist/replication/fixtures.js.map +1 -0
  207. package/dist/replication/host-config.d.ts +52 -0
  208. package/dist/replication/host-config.d.ts.map +1 -0
  209. package/dist/replication/host-config.js +111 -0
  210. package/dist/replication/host-config.js.map +1 -0
  211. package/dist/replication/host-driver.d.ts +95 -0
  212. package/dist/replication/host-driver.d.ts.map +1 -0
  213. package/dist/replication/host-driver.js +202 -0
  214. package/dist/replication/host-driver.js.map +1 -0
  215. package/dist/replication/host-ports.d.ts +48 -0
  216. package/dist/replication/host-ports.d.ts.map +1 -0
  217. package/dist/replication/host-ports.js +69 -0
  218. package/dist/replication/host-ports.js.map +1 -0
  219. package/dist/replication/identity.d.ts +13 -0
  220. package/dist/replication/identity.d.ts.map +1 -0
  221. package/dist/replication/identity.js +22 -0
  222. package/dist/replication/identity.js.map +1 -0
  223. package/dist/replication/limits.d.ts +124 -0
  224. package/dist/replication/limits.d.ts.map +1 -0
  225. package/dist/replication/limits.js +182 -0
  226. package/dist/replication/limits.js.map +1 -0
  227. package/dist/replication/merge-plan.d.ts +92 -0
  228. package/dist/replication/merge-plan.d.ts.map +1 -0
  229. package/dist/replication/merge-plan.js +229 -0
  230. package/dist/replication/merge-plan.js.map +1 -0
  231. package/dist/replication/namespace.d.ts +4 -0
  232. package/dist/replication/namespace.d.ts.map +1 -0
  233. package/dist/replication/namespace.js +7 -0
  234. package/dist/replication/namespace.js.map +1 -0
  235. package/dist/replication/outcome.d.ts +178 -0
  236. package/dist/replication/outcome.d.ts.map +1 -0
  237. package/dist/replication/outcome.js +83 -0
  238. package/dist/replication/outcome.js.map +1 -0
  239. package/dist/replication/payload.d.ts +39 -0
  240. package/dist/replication/payload.d.ts.map +1 -0
  241. package/dist/replication/payload.js +137 -0
  242. package/dist/replication/payload.js.map +1 -0
  243. package/dist/replication/preparation.d.ts +42 -0
  244. package/dist/replication/preparation.d.ts.map +1 -0
  245. package/dist/replication/preparation.js +118 -0
  246. package/dist/replication/preparation.js.map +1 -0
  247. package/dist/replication/rebaseline.d.ts +33 -0
  248. package/dist/replication/rebaseline.d.ts.map +1 -0
  249. package/dist/replication/rebaseline.js +40 -0
  250. package/dist/replication/rebaseline.js.map +1 -0
  251. package/dist/replication/rebinding.d.ts +43 -0
  252. package/dist/replication/rebinding.d.ts.map +1 -0
  253. package/dist/replication/rebinding.js +52 -0
  254. package/dist/replication/rebinding.js.map +1 -0
  255. package/dist/replication/receive.d.ts +57 -0
  256. package/dist/replication/receive.d.ts.map +1 -0
  257. package/dist/replication/receive.js +114 -0
  258. package/dist/replication/receive.js.map +1 -0
  259. package/dist/replication/record-reducer.d.ts +16 -0
  260. package/dist/replication/record-reducer.d.ts.map +1 -0
  261. package/dist/replication/record-reducer.js +52 -0
  262. package/dist/replication/record-reducer.js.map +1 -0
  263. package/dist/replication/revision.d.ts +24 -0
  264. package/dist/replication/revision.d.ts.map +1 -0
  265. package/dist/replication/revision.js +35 -0
  266. package/dist/replication/revision.js.map +1 -0
  267. package/dist/replication/roster.d.ts +53 -0
  268. package/dist/replication/roster.d.ts.map +1 -0
  269. package/dist/replication/roster.js +115 -0
  270. package/dist/replication/roster.js.map +1 -0
  271. package/dist/replication/schedule.d.ts +73 -0
  272. package/dist/replication/schedule.d.ts.map +1 -0
  273. package/dist/replication/schedule.js +182 -0
  274. package/dist/replication/schedule.js.map +1 -0
  275. package/dist/replication/stream.d.ts +73 -0
  276. package/dist/replication/stream.d.ts.map +1 -0
  277. package/dist/replication/stream.js +542 -0
  278. package/dist/replication/stream.js.map +1 -0
  279. package/dist/replication/transport.d.ts +236 -0
  280. package/dist/replication/transport.d.ts.map +1 -0
  281. package/dist/replication/transport.js +440 -0
  282. package/dist/replication/transport.js.map +1 -0
  283. package/dist/replication/visibility-engine.d.ts +337 -0
  284. package/dist/replication/visibility-engine.d.ts.map +1 -0
  285. package/dist/replication/visibility-engine.js +602 -0
  286. package/dist/replication/visibility-engine.js.map +1 -0
  287. package/dist/replication/visibility-policy.d.ts +26 -0
  288. package/dist/replication/visibility-policy.d.ts.map +1 -0
  289. package/dist/replication/visibility-policy.js +33 -0
  290. package/dist/replication/visibility-policy.js.map +1 -0
  291. package/dist/replication/writer-identity-store.d.ts +100 -0
  292. package/dist/replication/writer-identity-store.d.ts.map +1 -0
  293. package/dist/replication/writer-identity-store.js +218 -0
  294. package/dist/replication/writer-identity-store.js.map +1 -0
  295. package/dist/replication/writer-identity.d.ts +252 -0
  296. package/dist/replication/writer-identity.d.ts.map +1 -0
  297. package/dist/replication/writer-identity.js +281 -0
  298. package/dist/replication/writer-identity.js.map +1 -0
  299. package/dist/replication/writer-identity.test-utils.d.ts +24 -0
  300. package/dist/replication/writer-identity.test-utils.d.ts.map +1 -0
  301. package/dist/replication/writer-identity.test-utils.js +86 -0
  302. package/dist/replication/writer-identity.test-utils.js.map +1 -0
  303. package/dist/schemas/server-config.d.ts +13 -0
  304. package/dist/schemas/server-config.d.ts.map +1 -1
  305. package/dist/schemas/server-config.js +24 -0
  306. package/dist/schemas/server-config.js.map +1 -1
  307. package/dist/storage/adapters/index.d.ts +3 -1
  308. package/dist/storage/adapters/index.d.ts.map +1 -1
  309. package/dist/storage/adapters/index.js +2 -0
  310. package/dist/storage/adapters/index.js.map +1 -1
  311. package/dist/storage/adapters/interface.d.ts +18 -1
  312. package/dist/storage/adapters/interface.d.ts.map +1 -1
  313. package/dist/storage/adapters/interface.js +13 -1
  314. package/dist/storage/adapters/interface.js.map +1 -1
  315. package/dist/storage/adapters/sdk.d.ts +2 -1
  316. package/dist/storage/adapters/sdk.d.ts.map +1 -1
  317. package/dist/storage/adapters/sdk.js +21 -3
  318. package/dist/storage/adapters/sdk.js.map +1 -1
  319. package/dist/storage/adapters/vana-audience.d.ts +17 -5
  320. package/dist/storage/adapters/vana-audience.d.ts.map +1 -1
  321. package/dist/storage/adapters/vana-audience.js +24 -9
  322. package/dist/storage/adapters/vana-audience.js.map +1 -1
  323. package/dist/storage/adapters/vana.d.ts +2 -2
  324. package/dist/storage/adapters/vana.d.ts.map +1 -1
  325. package/dist/storage/adapters/vana.js +30 -22
  326. package/dist/storage/adapters/vana.js.map +1 -1
  327. package/dist/storage/canonical-legacy-projection.d.ts +1 -1
  328. package/dist/storage/canonical-legacy-projection.d.ts.map +1 -1
  329. package/dist/storage/canonical-legacy-projection.js +13 -15
  330. package/dist/storage/canonical-legacy-projection.js.map +1 -1
  331. package/dist/storage/legacy-projection.d.ts.map +1 -1
  332. package/dist/storage/legacy-projection.js +16 -1
  333. package/dist/storage/legacy-projection.js.map +1 -1
  334. package/dist/storage/legacy-scope-coverage-exceptions.d.ts +5 -0
  335. package/dist/storage/legacy-scope-coverage-exceptions.d.ts.map +1 -1
  336. package/dist/storage/legacy-scope-coverage-exceptions.js +4 -0
  337. package/dist/storage/legacy-scope-coverage-exceptions.js.map +1 -1
  338. package/dist/storage/legacy-scope-coverage.d.ts.map +1 -1
  339. package/dist/storage/legacy-scope-coverage.js +14 -1
  340. package/dist/storage/legacy-scope-coverage.js.map +1 -1
  341. package/dist/storage/legacy-scope-entity-keys.d.ts +14 -1
  342. package/dist/storage/legacy-scope-entity-keys.d.ts.map +1 -1
  343. package/dist/storage/legacy-scope-entity-keys.js +18 -1
  344. package/dist/storage/legacy-scope-entity-keys.js.map +1 -1
  345. package/dist/storage/legacy-scope-view.d.ts +57 -5
  346. package/dist/storage/legacy-scope-view.d.ts.map +1 -1
  347. package/dist/storage/legacy-scope-view.js +644 -318
  348. package/dist/storage/legacy-scope-view.js.map +1 -1
  349. package/dist/storage/pdpp-records/cursor.d.ts +47 -2
  350. package/dist/storage/pdpp-records/cursor.d.ts.map +1 -1
  351. package/dist/storage/pdpp-records/cursor.js +7 -0
  352. package/dist/storage/pdpp-records/cursor.js.map +1 -1
  353. package/dist/storage/pdpp-records/enforcement.d.ts +3 -16
  354. package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -1
  355. package/dist/storage/pdpp-records/enforcement.js +40 -13
  356. package/dist/storage/pdpp-records/enforcement.js.map +1 -1
  357. package/dist/storage/pdpp-records/index.d.ts +2 -0
  358. package/dist/storage/pdpp-records/index.d.ts.map +1 -1
  359. package/dist/storage/pdpp-records/index.js +1 -0
  360. package/dist/storage/pdpp-records/index.js.map +1 -1
  361. package/dist/storage/pdpp-records/interface.d.ts +8 -1
  362. package/dist/storage/pdpp-records/interface.d.ts.map +1 -1
  363. package/dist/storage/pdpp-records/list-page.d.ts +35 -0
  364. package/dist/storage/pdpp-records/list-page.d.ts.map +1 -0
  365. package/dist/storage/pdpp-records/list-page.js +106 -0
  366. package/dist/storage/pdpp-records/list-page.js.map +1 -0
  367. package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -1
  368. package/dist/storage/pdpp-records/memory-store.js +95 -99
  369. package/dist/storage/pdpp-records/memory-store.js.map +1 -1
  370. package/dist/storage/pdpp-records/portable.d.ts +3 -0
  371. package/dist/storage/pdpp-records/portable.d.ts.map +1 -1
  372. package/dist/storage/pdpp-records/portable.js +3 -0
  373. package/dist/storage/pdpp-records/portable.js.map +1 -1
  374. package/dist/storage/pdpp-records/replication-journal.d.ts +20 -0
  375. package/dist/storage/pdpp-records/replication-journal.d.ts.map +1 -0
  376. package/dist/storage/pdpp-records/replication-journal.js +2 -0
  377. package/dist/storage/pdpp-records/replication-journal.js.map +1 -0
  378. package/dist/storage/pdpp-records/stream-declaration.d.ts +0 -2
  379. package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -1
  380. package/dist/storage/pdpp-records/stream-declaration.js +0 -9
  381. package/dist/storage/pdpp-records/stream-declaration.js.map +1 -1
  382. package/dist/storage/pdpp-records/sync-selection.d.ts +4 -0
  383. package/dist/storage/pdpp-records/sync-selection.d.ts.map +1 -0
  384. package/dist/storage/pdpp-records/sync-selection.js +37 -0
  385. package/dist/storage/pdpp-records/sync-selection.js.map +1 -0
  386. package/dist/storage/pdpp-records/types.d.ts +64 -0
  387. package/dist/storage/pdpp-records/types.d.ts.map +1 -1
  388. package/dist/storage/pdpp-records/types.js.map +1 -1
  389. package/dist/sync/delete-data-port.d.ts +15 -0
  390. package/dist/sync/delete-data-port.d.ts.map +1 -1
  391. package/dist/sync/delete-data-port.js +19 -7
  392. package/dist/sync/delete-data-port.js.map +1 -1
  393. package/dist/sync/index.d.ts +2 -1
  394. package/dist/sync/index.d.ts.map +1 -1
  395. package/dist/sync/index.js +2 -1
  396. package/dist/sync/index.js.map +1 -1
  397. package/dist/sync/pending-blob-deletions.d.ts +18 -2
  398. package/dist/sync/pending-blob-deletions.d.ts.map +1 -1
  399. package/dist/sync/pending-blob-deletions.js +69 -23
  400. package/dist/sync/pending-blob-deletions.js.map +1 -1
  401. package/dist/sync/workers/delete.d.ts.map +1 -1
  402. package/dist/sync/workers/delete.js +332 -142
  403. package/dist/sync/workers/delete.js.map +1 -1
  404. package/dist/sync/workers/download.d.ts.map +1 -1
  405. package/dist/sync/workers/download.js +53 -5
  406. package/dist/sync/workers/download.js.map +1 -1
  407. package/dist/sync/workers/upload.d.ts +24 -5
  408. package/dist/sync/workers/upload.d.ts.map +1 -1
  409. package/dist/sync/workers/upload.js +160 -275
  410. package/dist/sync/workers/upload.js.map +1 -1
  411. package/dist/test-utils/memory-storage.d.ts.map +1 -1
  412. package/dist/test-utils/memory-storage.js +17 -2
  413. package/dist/test-utils/memory-storage.js.map +1 -1
  414. package/package.json +24 -2
@@ -1,8 +1,9 @@
1
- import { keccak256, stringToHex } from "viem";
2
- import { deriveScopeKey, encryptWithPassword, } from "@opendatalabs/vana-sdk/browser";
1
+ import { isMemoryScope } from "../../policy/reserved-scopes.js";
2
+ import { isReplicaScope } from "../../replication/namespace.js";
3
+ import { publishVersion, } from "../../publication/publish.js";
4
+ export { parseGatewayNextVersion } from "../../publication/publish.js";
3
5
  import { computeDataPointId } from "../data-point-id.js";
4
6
  import { deletionTimestamp, isEntryCoveredByTombstone, tombstoneVersion, } from "../scope-deletions.js";
5
- import { readStoredLineage } from "../../lineage/lineage.js";
6
7
  export { computeDataPointId } from "../data-point-id.js";
7
8
  export { isEntryCoveredByTombstone } from "../scope-deletions.js";
8
9
  /**
@@ -34,35 +35,13 @@ export class DeletedScopeEntryError extends Error {
34
35
  * self-heal. Returns without effect when the entry was ingested with
35
36
  * knowledge of the tombstone (`afterTombstoneVersion`): a legitimate re-add.
36
37
  *
37
- * When the entry's ciphertext already went up (`uploaded`: the tombstone
38
- * landed between the deletion guard and the registration), that exact blob
39
- * is deleted too, so abandoning the entry never leaves owner-decryptable
40
- * deleted data in storage. If the delete fails the scope is queued for the
41
- * exact-key cleanup the sync cycle retries.
38
+ * Remote cleanup belongs to the deletion pipeline. Registry refusal does
39
+ * not grant this publisher authority to delete a potentially committed blob.
42
40
  */
43
- async function dropIfCoveredByDeletion(deps, entry, tombstone, deletedAt, uploaded) {
41
+ async function dropIfCoveredByDeletion(deps, entry, tombstone, deletedAt) {
44
42
  const version = tombstoneVersion(tombstone);
45
43
  if (!isEntryCoveredByTombstone(entry, { version }))
46
44
  return;
47
- if (uploaded) {
48
- try {
49
- await deps.storageAdapter.delete(uploaded.url);
50
- }
51
- catch (err) {
52
- const message = err instanceof Error ? err.message : String(err);
53
- if (deps.pendingBlobDeletions) {
54
- await deps.pendingBlobDeletions.add([
55
- { scope: entry.scope, version: String(entry.version) },
56
- ]);
57
- }
58
- deps.logger.warn({
59
- scope: entry.scope,
60
- url: uploaded.url,
61
- error: message,
62
- queuedForCleanup: Boolean(deps.pendingBlobDeletions),
63
- }, "Could not delete the ciphertext uploaded for an entry the tombstone covers");
64
- }
65
- }
66
45
  await deps.storage.deleteVersion(entry.scope, entry.collectedAt);
67
46
  deps.logger.warn({
68
47
  path: entry.path,
@@ -96,6 +75,8 @@ function isMissingPayloadError(err) {
96
75
  * 7. Persist the gateway-assigned dataPointId (marks the entry synced)
97
76
  */
98
77
  export async function uploadOne(deps, entry) {
78
+ if (isReplicaScope(entry.scope))
79
+ throw new Error("replica scopes require immutable transport");
99
80
  const { storage, storageAdapter, gateway, signer, masterKey, serverOwner, logger, } = deps;
100
81
  // 1. Read local data file
101
82
  let envelope;
@@ -118,228 +99,51 @@ export async function uploadOne(deps, entry) {
118
99
  }
119
100
  throw err;
120
101
  }
121
- // 1b. Deletion guard. If the gateway holds a tombstone for this scope, an
122
- // unsynced entry from before the deletion must never be uploaded: the
123
- // owner deleted it (possibly on another replica) and registering it again
124
- // would resurrect the scope. An entry ingested after the deletion is a
125
- // real re-add and goes up at a version strictly after the tombstone.
126
- let registerVersion = BigInt(entry.version);
127
- if (!entry.dataPointId && deps.dataPointFeed) {
128
- const remote = await deps.dataPointFeed.getDataPoint({
102
+ const readHead = async () => deps.dataPointFeed
103
+ ? deps.dataPointFeed.getDataPoint({
129
104
  ownerAddress: serverOwner,
130
105
  scope: entry.scope,
131
- });
132
- const deletedAt = deletionTimestamp(remote);
133
- if (remote && deletedAt !== null) {
106
+ })
107
+ : gateway.getDataPoint(computeDataPointId(serverOwner, entry.scope));
108
+ const checkHead = async (remote) => {
109
+ const deletedAt = remote?.deletedAt ??
110
+ (remote?.addedAt
111
+ ? deletionTimestamp({ ...remote, addedAt: remote.addedAt })
112
+ : null);
113
+ if (remote && deletedAt !== null)
134
114
  await dropIfCoveredByDeletion(deps, entry, remote, deletedAt);
135
- const afterTombstone = BigInt(remote.expectedVersion) + 1n;
136
- if (afterTombstone > registerVersion)
137
- registerVersion = afterTombstone;
115
+ };
116
+ const initialHead = !entry.dataPointId && deps.dataPointFeed ? await readHead() : undefined;
117
+ await checkHead(initialHead ?? null);
118
+ const proof = entry.dataPointId
119
+ ? {
120
+ dataPointId: entry.dataPointId,
121
+ url: storageAdapter.urlForKey(`${entry.scope}/${entry.version}`),
122
+ version: BigInt(entry.version),
123
+ sizeBytes: entry.sizeBytes,
138
124
  }
139
- }
140
- // 2. Derive scope key → hex-encode as OpenPGP password
141
- const scopeKey = deriveScopeKey(masterKey, entry.scope);
142
- const scopeKeyHex = uint8ToHex(scopeKey);
143
- // 3. Encrypt with OpenPGP password-based encryption
144
- const plaintext = new TextEncoder().encode(JSON.stringify(envelope));
145
- const encrypted = await encryptWithPassword(plaintext, scopeKeyHex);
146
- // 4. Compute the on-chain commitments.
147
- // dataHash = keccak256 of the plaintext envelope JSON. Commits to the
148
- // canonical content, not the ciphertext — OpenPGP
149
- // password-based encryption embeds random salts so
150
- // re-encrypting the same plaintext yields different bytes;
151
- // hashing the plaintext keeps the on-chain commitment
152
- // reproducible across replicas serving the same version.
153
- // metadataHash = keccak256 of canonical-JSON({scope, collectedAt,
154
- // sizeBytes}). Commits to the off-chain metadata that
155
- // describes this version without leaking the payload. DPv2
156
- // is scope-addressed with no schema concept — the gateway
157
- // neither records nor registers schemas — so no schemaId is
158
- // looked up or committed.
159
- const dataHash = keccak256(plaintext);
160
- const metadataHash = keccak256(stringToHex(JSON.stringify({
161
- scope: entry.scope,
162
- collectedAt: entry.collectedAt,
163
- sizeBytes: encrypted.byteLength,
164
- })));
165
- // 5. Upload ciphertext to storage backend FIRST, version-keyed so the
166
- // download worker can reconstruct the URL from a DataPointRecord's
167
- // (scope, expectedVersion) — DataPointRecords carry no URL. We upload
168
- // before registering so the on-chain data point (the synced marker) is
169
- // never stamped ahead of a blob that failed to land.
170
- const storageKey = `${entry.scope}/${registerVersion}`;
171
- let url = await storageAdapter.upload(storageKey, encrypted);
172
- // 6. DPv2 data-point registration (idempotent — skipped when a prior run
173
- // already persisted a dataPointId on this entry). registerDataPoint stamps
174
- // the synced marker that excludes this entry from findUnsynced next time.
175
- let dataPointId;
176
- if (entry.dataPointId) {
177
- dataPointId = entry.dataPointId;
178
- }
179
- else {
180
- const registerAt = async (version) => {
181
- const addDataSignature = await signer.signAddData({
182
- ownerAddress: serverOwner,
183
- scope: entry.scope,
184
- dataHash,
185
- metadataHash,
186
- expectedVersion: version,
187
- });
188
- const registration = {
189
- ownerAddress: serverOwner,
190
- scope: entry.scope,
191
- dataHash,
192
- metadataHash,
193
- expectedVersion: String(version),
194
- signature: addDataSignature,
195
- };
196
- // A derivative carries its validated `$lineage` inside the envelope;
197
- // the gateway stores the same sources next to this (dataPointId,
198
- // version) so lineage can be walked without the plaintext. The
199
- // AddData signature is unchanged (dataHash already commits to the
200
- // plaintext, `$lineage` included); the plaintext list the gateway
201
- // keeps is covered by a separate LineageAttestation signature bound
202
- // to this version and dataHash, so a replayed registration cannot
203
- // swap it (see lineage/attestation.ts).
204
- const lineage = readStoredLineage(envelope.data);
205
- // An empty `$lineage` is an explicit root statement and is registered
206
- // as such (attested empty list); only an ABSENT `$lineage` makes no
207
- // statement and goes through the plain client.
208
- let dataPointResult;
209
- if (lineage) {
210
- if (!deps.lineageGateway) {
211
- throw new Error(`Cannot register derivative ${entry.path} (scope=${entry.scope}): lineage registration needs a gateway URL (lineageGateway is not configured)`);
212
- }
213
- const lineageSignature = await signer.signLineageAttestation({
214
- ownerAddress: serverOwner,
215
- scope: entry.scope,
216
- expectedVersion: version,
217
- dataHash,
218
- sources: lineage.sources,
219
- });
220
- dataPointResult = await deps.lineageGateway.registerDataPoint({
221
- ...registration,
222
- lineage: lineage.sources,
223
- lineageSignature,
224
- });
225
- }
226
- else {
227
- dataPointResult = await gateway.registerDataPoint(registration);
228
- }
229
- const id = dataPointResult.dataPointId ?? null;
230
- if (!id) {
231
- throw new Error(`Gateway registerDataPoint did not return a dataPointId for ${entry.path} (scope=${entry.scope}, version=${version})`);
232
- }
233
- return id;
234
- };
235
- try {
236
- dataPointId = await registerAt(registerVersion);
237
- if (registerVersion !== BigInt(entry.version)) {
238
- // Re-add after a deletion: the row must follow the registered
239
- // version (the blob key embeds it).
240
- await storage.updateEntryVersion(entry.path, Number(registerVersion));
241
- }
242
- }
243
- catch (err) {
244
- if (!isStaleVersionConflict(err))
245
- throw err;
246
- // The registry's version for this (owner, scope) is ahead of the local
247
- // index: pre-DPv2 rows were backfilled to version 1, and other replicas
248
- // (PS Lite in the browser) advance the same per-scope sequence. The
249
- // gateway 409s precisely so the client can re-sign against the live
250
- // version — retrying the same version every cycle head-blocks the
251
- // scope's whole upload queue.
252
- // Prefer the deletion-aware feed: the SDK client throws on a 410 for
253
- // a tombstoned point, which would wedge this entry forever.
254
- const record = deps.dataPointFeed
255
- ? await deps.dataPointFeed.getDataPoint({
256
- ownerAddress: serverOwner,
257
- scope: entry.scope,
258
- })
259
- : await gateway.getDataPoint(computeDataPointId(serverOwner, entry.scope));
260
- // The 409 may be a tombstone that landed after the deletion guard in
261
- // step 1b ran (a delete on another replica racing this upload). Apply
262
- // the same rule again before rebasing: a covered entry is dropped, a
263
- // genuine re-add rebases past the tombstone below.
264
- const conflictDeletedAt = record ? deletionTimestamp(record) : null;
265
- if (record && conflictDeletedAt !== null) {
266
- await dropIfCoveredByDeletion(deps, entry, record, conflictDeletedAt, {
267
- url,
268
- });
269
- }
270
- if (record && record.dataHash.toLowerCase() === dataHash.toLowerCase()) {
271
- // Identical content is already registered (this entry, or a replica's
272
- // copy of it) — adopt the registered data point rather than minting a
273
- // new version of the same bytes.
274
- dataPointId = record.id;
275
- // Align the local row with the adopted registry version — downstream
276
- // consumers sign from the row's version (e.g. x402 RecordDataAccess),
277
- // so a stale local version would emit records the registry rejects.
278
- const adoptedVersion = Number(record.expectedVersion);
279
- if (adoptedVersion !== entry.version) {
280
- // Cross-replica adopt: "the registrant already uploaded the blob
281
- // under the registered version key" is an assumption, not a fact —
282
- // a replica that crashed between register and upload leaves a
283
- // registry row whose bytes 404 for every consumer (readers
284
- // reconstruct the URL from the record's (scope, expectedVersion);
285
- // records carry no URL). Verify, and heal from our identical
286
- // plaintext (dataHash matched, so our ciphertext decrypts to the
287
- // registered content).
288
- const adoptedKey = `${entry.scope}/${adoptedVersion}`;
289
- const adoptedBlobExists = await storageAdapter.exists(storageAdapter.urlForKey(adoptedKey));
290
- if (!adoptedBlobExists) {
291
- logger.warn({ scope: entry.scope, version: adoptedVersion, dataPointId }, "Adopted registry version has no blob in storage; re-uploading from local content");
292
- url = await storageAdapter.upload(adoptedKey, encrypted);
293
- }
294
- await storage.updateEntryVersion(entry.path, adoptedVersion);
295
- }
296
- }
297
- else {
298
- // Rebase onto the gateway's live next-valid version. Two independent
299
- // signals for what that is:
300
- // • the registry row — a replica racing AHEAD advances it past the
301
- // version this error was raised against;
302
- // • the 409 message itself — authoritative when the registry
303
- // regressed BEHIND the local index (a moksha/DataRegistry reset,
304
- // or duplicate re-snapshots pushing the local counter ahead), and
305
- // the only signal at all when the reset left no row for
306
- // getDataPoint to return (BUI-715).
307
- // Take the max so the scope converges from either direction; when
308
- // neither signal is available there is nothing to rebase onto, so
309
- // surface the conflict rather than guess.
310
- const recordNext = record ? Number(record.expectedVersion) + 1 : 0;
311
- const errorNext = parseGatewayNextVersion(err.message) ?? 0;
312
- const target = Math.max(recordNext, errorNext);
313
- if (target <= 0)
314
- throw err;
315
- const rebased = BigInt(target);
316
- // Known limitation (BUI-715 follow-up): when the registry regressed
317
- // BELOW the local index, `target` can land on a version this scope
318
- // already has an (older, now-defunct) synced row for. We realign only
319
- // this entry, so the scope's other stale rows stay bound to gateway
320
- // versions the reset dropped until their next sync cycle re-registers
321
- // them. That is transient and fail-safe — readers resolve blobs from
322
- // the gateway record (consistent with what we just re-registered), and
323
- // x402 signed from a stale local version is rejected by the gateway
324
- // rather than serving wrong bytes. A full scope reconcile (clear +
325
- // renumber every row for the scope from the gateway's version) is
326
- // tracked separately; head-block recovery is the fix that matters here.
327
- // The blob key embeds the version (replicas reconstruct URLs from the
328
- // registry record), so the rebased version needs its own blob; the one
329
- // written under the stale key above is orphaned, which storage
330
- // tolerates.
331
- url = await storageAdapter.upload(`${entry.scope}/${rebased}`, encrypted);
332
- // A concurrent replica can still win the race to `rebased`; the next
333
- // sync cycle re-reads the registry and rebases again, so this stays
334
- // convergent without looping here.
335
- dataPointId = await registerAt(rebased);
336
- await storage.updateEntryVersion(entry.path, Number(rebased));
337
- }
338
- }
339
- // 7. Stamp the dataPointId on the local index entry — marks it synced.
125
+ : await publishVersion({
126
+ ownerAddress: serverOwner,
127
+ envelope,
128
+ preferredVersion: BigInt(entry.version),
129
+ masterKey,
130
+ storageAdapter,
131
+ gateway,
132
+ signer,
133
+ lineageGateway: deps.lineageGateway,
134
+ fencedPublication: deps.fencedPublication,
135
+ head: initialHead,
136
+ readHead,
137
+ checkHead,
138
+ acknowledgedDeletionVersion: entry.afterTombstoneVersion == null
139
+ ? undefined
140
+ : BigInt(entry.afterTombstoneVersion),
141
+ });
142
+ const { dataPointId, url, sizeBytes } = proof;
143
+ if (!entry.dataPointId) {
144
+ if (proof.version !== BigInt(entry.version))
145
+ await storage.updateEntryVersion(entry.path, Number(proof.version));
340
146
  await storage.updateDataPointId(entry.path, dataPointId);
341
- // The registry now holds a live row for the scope (fresh registration or
342
- // an adopted one): reads must stop treating it as deleted.
343
147
  deps.scopeDeletions?.markLive(entry.scope);
344
148
  }
345
149
  if (deps.additions) {
@@ -347,7 +151,7 @@ export async function uploadOne(deps, entry) {
347
151
  scope: entry.scope,
348
152
  collectedAt: envelope.collectedAt,
349
153
  data: envelope.data,
350
- }, { envelope, encryptedSize: encrypted.byteLength });
154
+ }, { envelope, encryptedSize: sizeBytes });
351
155
  }
352
156
  logger.info({
353
157
  path: entry.path,
@@ -358,19 +162,128 @@ export async function uploadOne(deps, entry) {
358
162
  }, "Uploaded and registered DPv2 data point");
359
163
  return { path: entry.path, url, dataPointId };
360
164
  }
165
+ /**
166
+ * Agent-memory scopes (see `isMemoryScope`): every save stores a full snapshot,
167
+ * so publishing each intermediate one would cost a registration per save.
168
+ */
169
+ export function isCoalescedScope(scope) {
170
+ return isMemoryScope(scope);
171
+ }
172
+ /**
173
+ * A coalesced scope is published once its newest snapshot has been quiet this
174
+ * long (saves have stopped) ...
175
+ */
176
+ export const COALESCE_QUIET_MS = 2 * 60_000;
177
+ /** ... or once its oldest unpublished snapshot has waited this long. */
178
+ export const COALESCE_MAX_WAIT_MS = 10 * 60_000;
179
+ const at = (entry) => Date.parse(entry.collectedAt);
180
+ const VERSION_PAGE = 200;
181
+ /**
182
+ * One plan per coalesced scope in the batch. The head is the scope's latest
183
+ * local version (`findEntry`), not the batch's latest. Only the head is ever
184
+ * published: readers serve the latest version, which is a full state, so an
185
+ * older unpublished snapshot is never what anyone sees and publishing it would
186
+ * roll the scope back.
187
+ */
188
+ function coalescePlan(deps, entries, nowMs) {
189
+ const byScope = new Map();
190
+ for (const entry of entries) {
191
+ if (!isCoalescedScope(entry.scope))
192
+ continue;
193
+ byScope.set(entry.scope, [...(byScope.get(entry.scope) ?? []), entry]);
194
+ }
195
+ const plans = new Map();
196
+ for (const [scope, inBatch] of byScope) {
197
+ const batchHead = inBatch.reduce((a, b) => (at(b) > at(a) ? b : a));
198
+ const latest = deps.storage.findEntry?.({ scope });
199
+ const head = latest && at(latest) >= at(batchHead) ? latest : batchHead;
200
+ const oldest = Math.min(...inBatch.map(at), at(head));
201
+ const deferred = head.dataPointId === null &&
202
+ nowMs - at(head) < COALESCE_QUIET_MS &&
203
+ nowMs - oldest < COALESCE_MAX_WAIT_MS;
204
+ plans.set(scope, { head, deferred });
205
+ }
206
+ return plans;
207
+ }
208
+ /** Every unpublished version of `head`'s scope older than `head`. */
209
+ function olderUnsynced(deps, head) {
210
+ const older = [];
211
+ for (let offset = 0;; offset += VERSION_PAGE) {
212
+ const page = deps.storage.listVersions(head.scope, {
213
+ limit: VERSION_PAGE,
214
+ offset,
215
+ });
216
+ for (const entry of page) {
217
+ if (entry.id !== head.id &&
218
+ entry.dataPointId === null &&
219
+ at(entry) < at(head)) {
220
+ older.push(entry);
221
+ }
222
+ }
223
+ if (page.length < VERSION_PAGE)
224
+ return older;
225
+ }
226
+ }
227
+ /**
228
+ * Erase the older unsynced snapshots of a coalesced scope once its newest
229
+ * snapshot is published. Fenced to the exact rows selected, so a row that
230
+ * changed since is left alone. A failed erase is logged; the row stays and is
231
+ * superseded again on the next pass.
232
+ */
233
+ async function eraseSuperseded(deps, entries) {
234
+ for (const entry of entries) {
235
+ try {
236
+ await deps.storage.deleteVersion(entry.scope, entry.collectedAt, {
237
+ id: entry.id,
238
+ path: entry.path,
239
+ });
240
+ }
241
+ catch (err) {
242
+ deps.logger.warn({
243
+ path: entry.path,
244
+ scope: entry.scope,
245
+ error: err instanceof Error ? err.message : String(err),
246
+ }, "Failed to erase a superseded memory snapshot");
247
+ }
248
+ }
249
+ }
361
250
  /**
362
251
  * Process all unsynced entries (dataPointId === null).
363
252
  * Processes sequentially to avoid overwhelming storage backend.
364
253
  * Returns array of results (skips failures, logs errors).
254
+ *
255
+ * Coalesced scopes (see `isCoalescedScope`) publish only their newest
256
+ * unsynced snapshot in the batch, after a quiet window; the older ones are
257
+ * erased after it lands.
365
258
  */
366
259
  export async function uploadAll(deps, options) {
367
260
  const batchSize = options?.batchSize ?? 50;
368
261
  const entries = deps.storage.findUnsynced({ limit: batchSize });
262
+ const nowMs = (options?.now ?? (() => new Date()))().getTime();
263
+ const plans = coalescePlan(deps, entries, nowMs);
264
+ const handled = new Set();
369
265
  const results = [];
370
266
  for (const entry of entries) {
267
+ const plan = plans.get(entry.scope);
268
+ if (plan) {
269
+ if (handled.has(entry.scope))
270
+ continue;
271
+ handled.add(entry.scope);
272
+ if (plan.deferred)
273
+ continue;
274
+ if (plan.head.dataPointId !== null) {
275
+ // The latest version is already published: older unpublished
276
+ // snapshots are superseded, never published.
277
+ await eraseSuperseded(deps, olderUnsynced(deps, plan.head));
278
+ continue;
279
+ }
280
+ }
281
+ const target = plan ? plan.head : entry;
371
282
  try {
372
- const result = await uploadOne(deps, entry);
283
+ const result = await uploadOne(deps, target);
373
284
  results.push(result);
285
+ if (plan)
286
+ await eraseSuperseded(deps, olderUnsynced(deps, plan.head));
374
287
  }
375
288
  catch (err) {
376
289
  // A dropped orphan is a self-heal, not a failure: the row is already
@@ -388,32 +301,4 @@ export async function uploadAll(deps, options) {
388
301
  }
389
302
  return results;
390
303
  }
391
- function uint8ToHex(bytes) {
392
- return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
393
- }
394
- // The gateway rejects a registration whose expectedVersion is not strictly
395
- // greater than its stored value with a 409; the SDK client surfaces it as
396
- // `Gateway error: 409 <detail>`. Anything else is not a version conflict.
397
- function isStaleVersionConflict(err) {
398
- return err instanceof Error && /Gateway error: 409\b/.test(err.message);
399
- }
400
- // Extract the gateway's authoritative next-valid version from a 409 body so a
401
- // rebase can target it directly instead of only inferring from a registry row
402
- // (which is absent after a reset that dropped the scope's row entirely).
403
- // Handles the current "Gap in version sequence … next valid version is N"
404
- // phrasing (and its "effective max (M" form) as well as the older "Stale
405
- // expectedVersion … must be strictly greater than the stored value N" one.
406
- // Returns null when no version can be parsed.
407
- export function parseGatewayNextVersion(message) {
408
- const nextValid = message.match(/next valid version is (\d+)/i);
409
- if (nextValid)
410
- return Number(nextValid[1]);
411
- const effectiveMax = message.match(/effective max \((\d+)/i);
412
- if (effectiveMax)
413
- return Number(effectiveMax[1]) + 1;
414
- const storedValue = message.match(/strictly greater than the stored value (\d+)/i);
415
- if (storedValue)
416
- return Number(storedValue[1]) + 1;
417
- return null;
418
- }
419
304
  //# sourceMappingURL=upload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/sync/workers/upload.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE9C,OAAO,EACL,cAAc,EACd,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AAUxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,gBAAgB,GAEjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAyDlE;;;;;GAKG;AACH,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,IAAY;QACtB,KAAK,CAAC,mDAAmD,IAAI,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,IAAY,EAAE,SAAiB;QACzC,KAAK,CAAC,8CAA8C,SAAS,KAAK,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,uBAAuB,CACpC,IAGC,EACD,KAAiB,EACjB,SAAuD,EACvD,SAAiB,EACjB,QAA0B;IAE1B,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC;QAAE,OAAO;IAC3D,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBAClC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;iBACvD,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;gBACE,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,KAAK,EAAE,OAAO;gBACd,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;aACrD,EACD,4EAA4E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd;QACE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS;QACT,gBAAgB,EAAE,OAAO;QACzB,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB,IAAI,IAAI;KAC3D,EACD,wEAAwE,CACzE,CAAC;IACF,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,KAAK,IAAK,GAA0B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAsB,EACtB,KAAiB;IAEjB,MAAM,EACJ,OAAO,EACP,cAAc,EACd,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,MAAM,GACP,GAAG,IAAI,CAAC;IAET,0BAA0B;IAC1B,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,uEAAuE;QACvE,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EACxC,6DAA6D,CAC9D,CAAC;gBACF,MAAM,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,uEAAuE;IACvE,qEAAqE;IACrE,IAAI,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YACnD,YAAY,EAAE,WAAW;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,MAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YAC3D,IAAI,cAAc,GAAG,eAAe;gBAAE,eAAe,GAAG,cAAc,CAAC;QACzE,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEzC,oDAAoD;IACpD,MAAM,SAAS,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEpE,uCAAuC;IACvC,4EAA4E;IAC5E,mEAAmE;IACnE,oEAAoE;IACpE,4EAA4E;IAC5E,uEAAuE;IACvE,0EAA0E;IAC1E,oEAAoE;IACpE,uEAAuE;IACvE,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,SAAS,CAC5B,WAAW,CACT,IAAI,CAAC,SAAS,CAAC;QACb,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,SAAS,CAAC,UAAU;KAChC,CAAC,CACH,CACF,CAAC;IAEF,sEAAsE;IACtE,mEAAmE;IACnE,sEAAsE;IACtE,uEAAuE;IACvE,qDAAqD;IACrD,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC;IACvD,IAAI,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAE7D,yEAAyE;IACzE,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,WAAmB,CAAC;IACxB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAmB,EAAE;YAC5D,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;gBAChD,YAAY,EAAE,WAA4B;gBAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ;gBACR,YAAY;gBACZ,eAAe,EAAE,OAAO;aACzB,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG;gBACnB,YAAY,EAAE,WAAW;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ;gBACR,YAAY;gBACZ,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC;gBAChC,SAAS,EAAE,gBAAgB;aAC5B,CAAC;YACF,qEAAqE;YACrE,iEAAiE;YACjE,+DAA+D;YAC/D,kEAAkE;YAClE,kEAAkE;YAClE,oEAAoE;YACpE,kEAAkE;YAClE,wCAAwC;YACxC,MAAM,OAAO,GAAG,iBAAiB,CAC/B,QAAQ,CAAC,IAA2C,CACrD,CAAC;YACF,sEAAsE;YACtE,oEAAoE;YACpE,+CAA+C;YAC/C,IAAI,eAAe,CAAC;YACpB,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACzB,MAAM,IAAI,KAAK,CACb,8BAA8B,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,KAAK,gFAAgF,CAC/I,CAAC;gBACJ,CAAC;gBACD,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC;oBAC3D,YAAY,EAAE,WAA4B;oBAC1C,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,eAAe,EAAE,OAAO;oBACxB,QAAQ;oBACR,OAAO,EAAE,OAAO,CAAC,OAAO;iBACzB,CAAC,CAAC;gBACH,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;oBAC5D,GAAG,YAAY;oBACf,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,gBAAgB;iBACjB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAClE,CAAC;YAED,MAAM,EAAE,GAAG,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC;YAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CACb,8DAA8D,KAAK,CAAC,IAAI,WAAW,KAAK,CAAC,KAAK,aAAa,OAAO,GAAG,CACtH,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC;YAChD,IAAI,eAAe,KAAK,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9C,8DAA8D;gBAC9D,oCAAoC;gBACpC,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAC5C,uEAAuE;YACvE,wEAAwE;YACxE,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,8BAA8B;YAC9B,qEAAqE;YACrE,4DAA4D;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa;gBAC/B,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBACpC,YAAY,EAAE,WAAW;oBACzB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;gBACJ,CAAC,CAAC,MAAM,OAAO,CAAC,YAAY,CACxB,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAC7C,CAAC;YAEN,qEAAqE;YACrE,sEAAsE;YACtE,qEAAqE;YACrE,mDAAmD;YACnD,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpE,IAAI,MAAM,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBACzC,MAAM,uBAAuB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE;oBACpE,GAAG;iBACJ,CAAC,CAAC;YACL,CAAC;YAED,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvE,sEAAsE;gBACtE,sEAAsE;gBACtE,iCAAiC;gBACjC,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC;gBACxB,qEAAqE;gBACrE,sEAAsE;gBACtE,oEAAoE;gBACpE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;gBACtD,IAAI,cAAc,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;oBACrC,iEAAiE;oBACjE,mEAAmE;oBACnE,8DAA8D;oBAC9D,2DAA2D;oBAC3D,kEAAkE;oBAClE,6DAA6D;oBAC7D,iEAAiE;oBACjE,uBAAuB;oBACvB,MAAM,UAAU,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,cAAc,EAAE,CAAC;oBACtD,MAAM,iBAAiB,GAAG,MAAM,cAAc,CAAC,MAAM,CACnD,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CACrC,CAAC;oBACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,MAAM,CAAC,IAAI,CACT,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,EAC5D,kFAAkF,CACnF,CAAC;wBACF,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC3D,CAAC;oBACD,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qEAAqE;gBACrE,4BAA4B;gBAC5B,qEAAqE;gBACrE,6CAA6C;gBAC7C,+DAA+D;gBAC/D,qEAAqE;gBACrE,sEAAsE;gBACtE,4DAA4D;gBAC5D,wCAAwC;gBACxC,kEAAkE;gBAClE,kEAAkE;gBAClE,0CAA0C;gBAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,uBAAuB,CAAE,GAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACvE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAC/C,IAAI,MAAM,IAAI,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/B,oEAAoE;gBACpE,mEAAmE;gBACnE,sEAAsE;gBACtE,oEAAoE;gBACpE,sEAAsE;gBACtE,qEAAqE;gBACrE,uEAAuE;gBACvE,oEAAoE;gBACpE,mEAAmE;gBACnE,kEAAkE;gBAClE,wEAAwE;gBACxE,sEAAsE;gBACtE,uEAAuE;gBACvE,+DAA+D;gBAC/D,aAAa;gBACb,GAAG,GAAG,MAAM,cAAc,CAAC,MAAM,CAC/B,GAAG,KAAK,CAAC,KAAK,IAAI,OAAO,EAAE,EAC3B,SAAS,CACV,CAAC;gBACF,qEAAqE;gBACrE,oEAAoE;gBACpE,mCAAmC;gBACnC,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;QAED,uEAAuE;QACvE,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACzD,yEAAyE;QACzE,2DAA2D;QAC3D,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,SAAS,CAAC,YAAY,CAC/B;YACE,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,QAAQ,CAAC,IAA+B;SAC/C,EACD,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,UAAU,EAAE,CAClD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CACT;QACE,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,GAAG;QACH,WAAW;KACZ,EACD,yCAAyC,CAC1C,CAAC;IAEF,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAsB,EACtB,OAA0B;IAE1B,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAChE,MAAM,OAAO,GAAmB,EAAE,CAAC;IAEnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,qEAAqE;YACrE,mEAAmE;YACnE,qEAAqE;YACrE,sEAAsE;YACtE,IACE,GAAG,YAAY,kBAAkB;gBACjC,GAAG,YAAY,sBAAsB,EACrC,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,GAAY,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAC9D,wBAAwB,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CACzE,EAAE,CACH,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,SAAS,sBAAsB,CAAC,GAAY;IAC1C,OAAO,GAAG,YAAY,KAAK,IAAI,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC1E,CAAC;AAED,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AACzE,0EAA0E;AAC1E,yEAAyE;AACzE,2EAA2E;AAC3E,8CAA8C;AAC9C,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChE,IAAI,SAAS;QAAE,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7D,IAAI,YAAY;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAC/B,+CAA+C,CAChD,CAAC;IACF,IAAI,WAAW;QAAE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/sync/workers/upload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../../src/test-utils/memory-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;CAChC;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CA+M3D"}
1
+ {"version":3,"file":"memory-storage.d.ts","sourceRoot":"","sources":["../../src/test-utils/memory-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACxD,uDAAuD;IACvD,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC;CAChC;AAED,wBAAgB,uBAAuB,IAAI,iBAAiB,CAiO3D"}
@@ -172,9 +172,24 @@ export function createMemoryDataStorage() {
172
172
  return removed;
173
173
  });
174
174
  },
175
- async deleteVersion(scope, collectedAt) {
175
+ async deleteVersion(scope, collectedAt, fence) {
176
176
  return withScopeLock(scope, async () => {
177
- const removed = remove((entry) => entry.scope === scope && entry.collectedAt === collectedAt) > 0;
177
+ const removed = remove((entry) => entry.scope === scope &&
178
+ entry.collectedAt === collectedAt &&
179
+ (fence === undefined ||
180
+ (entry.id === fence.id && entry.path === fence.path))) > 0;
181
+ dropEmptyLedger(scope);
182
+ return removed;
183
+ });
184
+ },
185
+ async deleteVersionIfEnvelopeMissing(scope, collectedAt, fence) {
186
+ return withScopeLock(scope, async () => {
187
+ if (envelopes.has(key(scope, collectedAt)))
188
+ return false;
189
+ const removed = remove((entry) => entry.scope === scope &&
190
+ entry.collectedAt === collectedAt &&
191
+ entry.id === fence.id &&
192
+ entry.path === fence.path) > 0;
178
193
  dropEmptyLedger(scope);
179
194
  return removed;
180
195
  });
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../../src/test-utils/memory-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-storage.js","sourceRoot":"","sources":["../../src/test-utils/memory-storage.ts"],"names":[],"mappings":"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"}