@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
@@ -7,11 +7,17 @@ import type { ByteBudget } from "../../additions/budget.js";
7
7
  export interface StorageAdapter {
8
8
  /**
9
9
  * Upload an encrypted blob to the storage backend.
10
+ *
11
+ * A key names one data version, so a backend that can refuse to replace
12
+ * stored bytes (vana-storage keys are write-once) must do so: re-sending
13
+ * identical bytes succeeds, and different bytes throw
14
+ * {@link StoredBlobConflictError} with the stored bytes left unchanged.
10
15
  * @param key - unique storage key / path
11
16
  * @param data - encrypted binary data
17
+ * @param signal - cancels the transfer; the call settles once it stops
12
18
  * @returns URL where the blob is accessible
13
19
  */
14
- upload(key: string, data: Uint8Array): Promise<string>;
20
+ upload(key: string, data: Uint8Array, signal?: AbortSignal): Promise<string>;
15
21
  /**
16
22
  * Resolve the canonical URL for a storage key WITHOUT uploading.
17
23
  *
@@ -57,4 +63,15 @@ export interface StorageAdapter {
57
63
  */
58
64
  deleteAll?(): Promise<number>;
59
65
  }
66
+ /** An adapter whose every read stops at a caller's byte budget. */
67
+ export type BoundedStorageAdapter = StorageAdapter & Required<Pick<StorageAdapter, "downloadBounded">>;
68
+ /**
69
+ * The upload key already holds different bytes, which the backend kept.
70
+ * Callers decide whether those bytes are theirs (same plaintext, different
71
+ * ciphertext) or another writer's.
72
+ */
73
+ export declare class StoredBlobConflictError extends Error {
74
+ readonly key: string;
75
+ constructor(key: string);
76
+ }
60
77
  //# sourceMappingURL=interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvD;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,kFAAkF;IAClF,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvE;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7E;;;;;;;;OAQG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3C,kFAAkF;IAClF,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvE;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;;OAKG;IACH,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,SAAS,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,mEAAmE;AACnE,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAChD,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;CAIjC"}
@@ -1,2 +1,14 @@
1
- export {};
1
+ /**
2
+ * The upload key already holds different bytes, which the backend kept.
3
+ * Callers decide whether those bytes are theirs (same plaintext, different
4
+ * ciphertext) or another writer's.
5
+ */
6
+ export class StoredBlobConflictError extends Error {
7
+ key;
8
+ constructor(key) {
9
+ super(`Storage key ${key} already holds different bytes`);
10
+ this.key = key;
11
+ this.name = "StoredBlobConflictError";
12
+ }
13
+ }
2
14
  //# sourceMappingURL=interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/storage/adapters/interface.ts"],"names":[],"mappings":"AA6EA;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC3B;IAArB,YAAqB,GAAW;QAC9B,KAAK,CAAC,eAAe,GAAG,gCAAgC,CAAC,CAAC;QADvC,QAAG,GAAH,GAAG,CAAQ;QAE9B,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import type { StorageAdapter } from "./interface.js";
1
+ import { type StorageAdapter } from "./interface.js";
2
2
  export interface SdkStorageProvider {
3
3
  upload(file: Blob, filename?: string): Promise<{
4
4
  url: string;
@@ -20,4 +20,5 @@ export interface SdkStorageAdapterOptions {
20
20
  urlForKey?: (key: string) => string;
21
21
  }
22
22
  export declare function createSdkStorageAdapter(providerOrFactory: SdkStorageProvider | SdkStorageProviderFactory, options?: SdkStorageAdapterOptions): StorageAdapter;
23
+ export declare function isDefinitiveNotFound(err: unknown): boolean;
23
24
  //# sourceMappingURL=sdk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CACJ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AACD,MAAM,MAAM,yBAAyB,GAAG,MAAM,kBAAkB,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,kBAAkB,GAAG,yBAAyB,EACjE,OAAO,CAAC,EAAE,wBAAwB,GACjC,cAAc,CAmDhB"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9E,MAAM,WAAW,kBAAkB;IACjC,MAAM,CACJ,IAAI,EAAE,IAAI,EACV,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC;AACD,MAAM,MAAM,yBAAyB,GAAG,MAAM,kBAAkB,CAAC;AAEjE,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAED,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,kBAAkB,GAAG,yBAAyB,EACjE,OAAO,CAAC,EAAE,wBAAwB,GACjC,cAAc,CAwDhB;AAUD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ1D"}
@@ -1,3 +1,4 @@
1
+ import { StoredBlobConflictError } from "./interface.js";
1
2
  export function createSdkStorageAdapter(providerOrFactory, options) {
2
3
  let cachedProvider;
3
4
  const urlForKey = options?.urlForKey ?? ((key) => key);
@@ -10,8 +11,15 @@ export function createSdkStorageAdapter(providerOrFactory, options) {
10
11
  }
11
12
  return {
12
13
  async upload(key, data) {
13
- const result = await provider().upload(new Blob([copyBytes(data)], { type: "application/octet-stream" }), key);
14
- return result.url;
14
+ try {
15
+ const result = await provider().upload(new Blob([copyBytes(data)], { type: "application/octet-stream" }), key);
16
+ return result.url;
17
+ }
18
+ catch (err) {
19
+ if (isWriteConflict(err))
20
+ throw new StoredBlobConflictError(key);
21
+ throw err;
22
+ }
15
23
  },
16
24
  urlForKey,
17
25
  async download(storageUrl) {
@@ -50,7 +58,7 @@ export function createSdkStorageAdapter(providerOrFactory, options) {
50
58
  // neither and so surface as errors — safe, never a false "missing". When
51
59
  // vana-sdk grows a status field on StorageError, the property check takes
52
60
  // over and the regex becomes dead fallback.
53
- function isDefinitiveNotFound(err) {
61
+ export function isDefinitiveNotFound(err) {
54
62
  const status = numericProperty(err, "status") ?? numericProperty(err, "statusCode");
55
63
  if (status !== undefined) {
56
64
  return status === 404 || status === 410;
@@ -58,6 +66,16 @@ function isDefinitiveNotFound(err) {
58
66
  const message = err instanceof Error ? err.message : String(err);
59
67
  return /download failed: (404|410)\b/.test(message);
60
68
  }
69
+ // vana-storage answers a PUT of different bytes to an existing key with 409.
70
+ // The SDK's StorageError carries the status only in its message
71
+ // ("vana-storage upload failed: 409 Conflict - ..."), like downloads above.
72
+ function isWriteConflict(err) {
73
+ const status = numericProperty(err, "status") ?? numericProperty(err, "statusCode");
74
+ if (status !== undefined)
75
+ return status === 409;
76
+ const message = err instanceof Error ? err.message : String(err);
77
+ return /upload failed: 409\b/.test(message);
78
+ }
61
79
  function numericProperty(value, key) {
62
80
  if (typeof value !== "object" || value === null || !(key in value)) {
63
81
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/storage/adapters/sdk.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,24 @@
1
1
  import type { ServerAccount } from "../../keys/server-account.js";
2
- import type { StorageAdapter } from "./interface.js";
3
- /** SDK 3.x couples routing and authentication origins. This adapter supplies the
4
- * explicit audience needed by preview workers without rewriting a signed claim. */
5
- export declare function createAudienceVanaAdapter(input: {
2
+ import { type StorageAdapter } from "./interface.js";
3
+ interface VanaBlobNamespace {
6
4
  endpoint: string;
7
5
  audience: string;
8
6
  chainId: number;
9
7
  owner: string;
10
8
  signer: Pick<ServerAccount, "signMessage">;
11
- }): StorageAdapter;
9
+ }
10
+ /**
11
+ * The URL layout and Web3Signed authorization of one owner's blobs. A host
12
+ * that moves the bytes itself (PS-Lite native transfers) signs with this, so
13
+ * its requests match the adapter below.
14
+ */
15
+ export declare function vanaBlobRequests(input: VanaBlobNamespace): {
16
+ urlForKey: (key: string) => string;
17
+ validate: (url: string) => URL;
18
+ authorization: (method: "PUT" | "GET" | "DELETE", url: string, body?: Uint8Array) => Promise<string>;
19
+ };
20
+ /** SDK 3.x couples routing and authentication origins. This adapter supplies the
21
+ * explicit audience needed by preview workers without rewriting a signed claim. */
22
+ export declare function createAudienceVanaAdapter(input: VanaBlobNamespace): StorageAdapter;
23
+ export {};
12
24
  //# sourceMappingURL=vana-audience.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vana-audience.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;mFACmF;AACnF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAC5C,GAAG,cAAc,CAsEjB"}
1
+ {"version":3,"file":"vana-audience.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAE9E,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB;qBASpC,MAAM;oBAPF,MAAM;4BAWjB,KAAK,GAAG,KAAK,GAAG,QAAQ,OAC3B,MAAM,SACJ,UAAU;EAUtB;AAED;mFACmF;AACnF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,iBAAiB,GACvB,cAAc,CA0DhB"}
@@ -1,24 +1,37 @@
1
1
  import { buildWeb3SignedHeader } from "@opendatalabs/vana-sdk/browser";
2
- /** SDK 3.x couples routing and authentication origins. This adapter supplies the
3
- * explicit audience needed by preview workers without rewriting a signed claim. */
4
- export function createAudienceVanaAdapter(input) {
2
+ import { StoredBlobConflictError } from "./interface.js";
3
+ /**
4
+ * The URL layout and Web3Signed authorization of one owner's blobs. A host
5
+ * that moves the bytes itself (PS-Lite native transfers) signs with this, so
6
+ * its requests match the adapter below.
7
+ */
8
+ export function vanaBlobRequests(input) {
5
9
  const prefix = `${input.endpoint}/v1/chains/${input.chainId}/blobs/${input.owner}/`;
6
- const urlForKey = (key) => prefix + key.split("/").map(encodeURIComponent).join("/");
7
10
  function validate(url) {
8
11
  const parsed = new URL(url);
9
12
  if (!parsed.href.startsWith(prefix) || /%(?:2f|5c)/i.test(parsed.pathname))
10
13
  throw new Error("Blob URL does not match configured namespace");
11
14
  return parsed;
12
15
  }
13
- async function request(url, method, body) {
14
- const parsed = validate(url);
15
- const authorization = await buildWeb3SignedHeader({
16
+ return {
17
+ urlForKey: (key) => prefix + key.split("/").map(encodeURIComponent).join("/"),
18
+ validate,
19
+ authorization: (method, url, body) => buildWeb3SignedHeader({
16
20
  aud: input.audience,
17
21
  method,
18
- uri: parsed.pathname,
22
+ uri: validate(url).pathname,
19
23
  body,
20
24
  signMessage: (message) => input.signer.signMessage(message),
21
- });
25
+ }),
26
+ };
27
+ }
28
+ /** SDK 3.x couples routing and authentication origins. This adapter supplies the
29
+ * explicit audience needed by preview workers without rewriting a signed claim. */
30
+ export function createAudienceVanaAdapter(input) {
31
+ const { urlForKey, validate, authorization: sign } = vanaBlobRequests(input);
32
+ async function request(url, method, body) {
33
+ const parsed = validate(url);
34
+ const authorization = await sign(method, url, body);
22
35
  const response = await fetch(parsed.href, {
23
36
  method,
24
37
  headers: {
@@ -30,6 +43,8 @@ export function createAudienceVanaAdapter(input) {
30
43
  });
31
44
  if (!response.ok && response.status !== 404) {
32
45
  await response.body?.cancel();
46
+ if (method === "PUT" && response.status === 409)
47
+ throw new StoredBlobConflictError(new URL(url).pathname);
33
48
  throw new Error(`Storage ${method} failed (${response.status})`);
34
49
  }
35
50
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"vana-audience.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vana-audience.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana-audience.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ServerConfig } from "../../schemas/server-config.js";
2
2
  import type { ServerAccount } from "../../keys/server-account.js";
3
- import type { StorageAdapter } from "./interface.js";
3
+ import type { BoundedStorageAdapter } from "./interface.js";
4
4
  /** Storage base URL the sync adapter targets (config override or SDK default). */
5
5
  export declare function resolveVanaStorageEndpoint(config: ServerConfig): string;
6
6
  export declare function createVanaSyncStorageAdapter(params: {
@@ -10,5 +10,5 @@ export declare function createVanaSyncStorageAdapter(params: {
10
10
  reads?: "signed" | "public";
11
11
  /** Authentication origin, independently of a preview routing endpoint. */
12
12
  audience?: string;
13
- }): StorageAdapter;
13
+ }): BoundedStorageAdapter;
14
14
  //# sourceMappingURL=vana.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vana.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAerD,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAIvE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,cAAc,CAkFjB"}
1
+ {"version":3,"file":"vana.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,gBAAgB,CAAC;AAe5E,kFAAkF;AAClF,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAIvE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE;IACnD,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC;IAC9D,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,qBAAqB,CAgExB"}
@@ -35,9 +35,13 @@ export function createVanaSyncStorageAdapter(params) {
35
35
  const chainId = params.config.gateway.chainId;
36
36
  // enclave sandbox --> public blob GET ----------> vana-storage
37
37
  // desktop/cloud ---> signed PUT / GET / DELETE -> vana-storage
38
+ const downloadBounded = boundedBlobDownload(`${endpoint}/v1/chains/${chainId}/blobs/${owner}/`);
38
39
  if (params.reads === PUBLIC_READS) {
39
40
  // TODO(decision): blob reads stay public (architecture, resolved 2026-09-02); revisit if storage adds read auth.
40
- return createPublicReadAdapter({ endpoint, chainId, owner });
41
+ return {
42
+ ...createPublicReadAdapter({ endpoint, chainId, owner }),
43
+ downloadBounded,
44
+ };
41
45
  }
42
46
  const adapter = params.audience && params.audience !== endpoint
43
47
  ? createAudienceVanaAdapter({
@@ -68,28 +72,32 @@ export function createVanaSyncStorageAdapter(params) {
68
72
  return `${endpoint}/v1/chains/${chainId}/blobs/${owner}/${subpath}`;
69
73
  },
70
74
  });
71
- // Blob GET is public by the existing storage contract. Use the supported
72
- // canonical URL directly so bounded recovery never enters SDK blob buffering.
73
- return {
74
- ...adapter,
75
- async downloadBounded(url, budget) {
76
- const prefix = `${endpoint}/v1/chains/${chainId}/blobs/${owner}/`;
77
- const parsed = new URL(url);
78
- if (!parsed.href.startsWith(prefix) ||
79
- ENCODED_PATH_SEPARATOR_PATTERN.test(parsed.pathname))
80
- throw new Error("Blob URL does not match configured namespace");
81
- budget.charge();
82
- const response = await fetch(parsed.href, {
83
- signal: budget.signal,
84
- cache: "no-store",
85
- redirect: "error",
75
+ return { ...adapter, downloadBounded };
76
+ }
77
+ /**
78
+ * Blob GET is public by the existing storage contract, so signed and public
79
+ * adapters read the canonical URL directly. The read never enters SDK blob
80
+ * buffering: it stops on `Content-Length` or cancels the stream at the budget.
81
+ */
82
+ function boundedBlobDownload(prefix) {
83
+ return async (url, budget) => {
84
+ const parsed = new URL(url);
85
+ if (!parsed.href.startsWith(prefix) ||
86
+ ENCODED_PATH_SEPARATOR_PATTERN.test(parsed.pathname))
87
+ throw new Error("Blob URL does not match configured namespace");
88
+ budget.charge();
89
+ const response = await fetch(parsed.href, {
90
+ signal: budget.signal,
91
+ cache: "no-store",
92
+ redirect: "error",
93
+ });
94
+ if (!response.ok) {
95
+ await response.body?.cancel();
96
+ throw Object.assign(new Error(`Blob download failed (${response.status})`), {
97
+ status: response.status,
86
98
  });
87
- if (!response.ok) {
88
- await response.body?.cancel();
89
- throw new Error(`Blob download failed (${response.status})`);
90
- }
91
- return readBoundedResponse(response, budget);
92
- },
99
+ }
100
+ return readBoundedResponse(response, budget);
93
101
  };
94
102
  }
95
103
  function createPublicReadAdapter(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"vana.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vana.js","sourceRoot":"","sources":["../../../src/storage/adapters/vana.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { type PdppRecordStore } from "./pdpp-records/portable.js";
15
15
  * auth/grants, and the sync `DataStoragePort` listing surface.
16
16
  */
17
17
  /** Bump when a change to this module (or the pure projector) can change bytes. */
18
- export declare const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/7";
18
+ export declare const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/9";
19
19
  export interface CanonicalConnectionBinding {
20
20
  instance: string;
21
21
  sourceId: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-legacy-projection.d.ts","sourceRoot":"","sources":["../../src/storage/canonical-legacy-projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-legacy-projection.d.ts","sourceRoot":"","sources":["../../src/storage/canonical-legacy-projection.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { CursorExpiredError, InvalidCursorError, } from "./pdpp-records/portable
15
15
  * auth/grants, and the sync `DataStoragePort` listing surface.
16
16
  */
17
17
  /** Bump when a change to this module (or the pure projector) can change bytes. */
18
- export const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/7";
18
+ export const CANONICAL_LEGACY_VIEW_CONTRACT = "canonical-legacy-view/9";
19
19
  const DEFAULT_PAGE_SIZE = 500;
20
20
  const MAX_BLOB_READ_BYTES = 64 * 1024 * 1024;
21
21
  const SOURCE_ID_PREFIX = "https://registry.pdpp.dev/sources/";
@@ -80,7 +80,7 @@ export async function readCanonicalLegacyScope(input) {
80
80
  : collectSnapshot(store, selection, streams, binding.rowOrder === "arrival", pageSize, Number.isSafeInteger(input.blobByteBudget) &&
81
81
  (input.blobByteBudget ?? -1) >= 0
82
82
  ? Math.min(MAX_BLOB_READ_BYTES, input.blobByteBudget)
83
- : MAX_BLOB_READ_BYTES, input.requireCompletionReceipts === true, input.allowUnprovenEmptyStreams === true, input.declarations));
83
+ : MAX_BLOB_READ_BYTES, input.requireCompletionReceipts === true, input.allowUnprovenEmptyStreams === true, new Set(binding.ancillaryBlobStreams), input.declarations));
84
84
  if (!snapshot.ok)
85
85
  return snapshot.result;
86
86
  return projectSnapshot({
@@ -95,7 +95,7 @@ export async function readCanonicalLegacyScope(input) {
95
95
  });
96
96
  }
97
97
  /** Everything the view needs from the store, read inside one snapshot. */
98
- function collectSnapshot(store, selection, streams, arrivalOrder, pageSize, blobByteBudget, requireCompletionReceipts, allowUnprovenEmptyStreams, declarations) {
98
+ function collectSnapshot(store, selection, streams, arrivalOrder, pageSize, blobByteBudget, requireCompletionReceipts, allowUnprovenEmptyStreams, ancillaryBlobStreams, declarations) {
99
99
  const { instance } = selection;
100
100
  const binding = store.getInstanceBinding(instance);
101
101
  const rejected = checkConnection(binding, selection);
@@ -172,6 +172,9 @@ function collectSnapshot(store, selection, streams, arrivalOrder, pageSize, blob
172
172
  let requiredBytes = 0;
173
173
  const declaredBlobIds = new Set();
174
174
  for (const stream of streams) {
175
+ // The binding projects these rows from their typed fields alone.
176
+ if (ancillaryBlobStreams.has(stream))
177
+ continue;
175
178
  const blobBacked = (rowsByStream.get(stream) ?? []).filter(hasBlobRef);
176
179
  if (blobBacked.length === 0)
177
180
  continue;
@@ -345,6 +348,7 @@ async function projectSnapshot(input) {
345
348
  const sourceRowCounts = Object.fromEntries(streams.map((stream) => [stream, rowsByStream.get(stream)?.length ?? 0]));
346
349
  const expanded = [];
347
350
  const canExpandClaude = selection.sourceId === CLAUDE_SOURCE_ID &&
351
+ selection.method === "anthropic" &&
348
352
  (scope === "claude.conversations" || scope === "claude.projects");
349
353
  if (canExpandClaude && input.requireClaudeRawBlobs) {
350
354
  const parentStream = scope === "claude.conversations" ? "conversations" : "projects";
@@ -357,6 +361,8 @@ async function projectSnapshot(input) {
357
361
  }
358
362
  }
359
363
  for (const stream of streams) {
364
+ if (binding.ancillaryBlobStreams?.includes(stream))
365
+ continue;
360
366
  const blobBacked = (rowsByStream.get(stream) ?? []).filter(hasBlobRef);
361
367
  if (canExpandClaude &&
362
368
  !declaredBlobField(input.streamSchemas[stream]) &&
@@ -603,19 +609,10 @@ function checkConnection(binding, selection) {
603
609
  return null;
604
610
  }
605
611
  function rejection(error, sourceRowCounts) {
606
- if (error.kind === "unknown_scope" ||
607
- error.kind === "unsupported_profile" ||
608
- error.kind === "gap") {
612
+ if (error.kind === "unknown_scope" || error.kind === "unsupported_profile") {
609
613
  return unavailable({
610
614
  reason: "unbound_scope",
611
- lookup: error.kind === "gap"
612
- ? {
613
- kind: "gap",
614
- scope: error.scope,
615
- reason: error.reason,
616
- provenanceChecked: [],
617
- }
618
- : error,
615
+ lookup: error,
619
616
  });
620
617
  }
621
618
  return {
@@ -752,7 +749,8 @@ export function legacyConnectorKey(pdppSource) {
752
749
  }
753
750
  /** Most connector keys match their public source; Anthropic collects Claude. */
754
751
  function canonicalSourceId(pdppSource) {
755
- if (pdppSource === ANTHROPIC_CONNECTOR_ID)
752
+ if (pdppSource === ANTHROPIC_CONNECTOR_ID ||
753
+ pdppSource === "https://registry.pdpp.dev/connectors/anthropic-live")
756
754
  return CLAUDE_SOURCE_ID;
757
755
  return pdppSource.startsWith(CONNECTOR_ID_PREFIX)
758
756
  ? SOURCE_ID_PREFIX + pdppSource.slice(CONNECTOR_ID_PREFIX.length)