@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
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Who may write (host contract §3). A device signs each batch with its
3
+ * registered PS server key. Writer ids are derived from that signer, so a
4
+ * receiver checks them from the signature and the roster alone. Nothing is
5
+ * bound on first contact.
6
+ */
7
+ import { z } from "zod";
8
+ import { bytesToHex, concatBytes, hexToBytes, recoverTypedDataAddress, sha256, stringToBytes, } from "viem";
9
+ import { ReplicaRosterUnavailableError, } from "./roster.js";
10
+ export const REPLICA_WRITER_DOMAIN = "vana-pdpp-replica-writer-v1";
11
+ /**
12
+ * Declared by a runtime that rotates the writer identity at boot when the
13
+ * host asks (host contract §3.2). A host checks it before it relies on the
14
+ * rotation.
15
+ */
16
+ export const REPLICA_WRITER_ROTATION_CONTRACT = "replica-writer-rotation-v1";
17
+ const address = z.string().regex(/^0x[0-9a-f]{40}$/);
18
+ const bytes32 = z.string().regex(/^0x[0-9a-f]{64}$/);
19
+ const bytes16 = z.string().regex(/^0x[0-9a-f]{32}$/);
20
+ const token = z.string().regex(/^[a-f0-9]{32}$/);
21
+ const uint = (max) => z.number().int().min(1).max(max);
22
+ const UINT32_MAX = 2 ** 32 - 1;
23
+ /** Everything a writer id is derived from. Hex values are lowercase. */
24
+ export const replicaWriterSeedSchema = z.strictObject({
25
+ /** The owner wallet. */
26
+ owner: address,
27
+ /** The signing server address. */
28
+ server: address,
29
+ /** The signer's gateway registration id: its incarnation. */
30
+ serverId: bytes32,
31
+ /** Disclosed in every statement; rotated on reset, new database and restore. */
32
+ writerNonce: bytes16,
33
+ });
34
+ /**
35
+ * writerId(role) = first 16 bytes of SHA-256 over the length-prefixed domain
36
+ * tag, owner, server, serverId, role and writer nonce. Each field is its byte
37
+ * length (4 bytes, big-endian) then its bytes. 32 lowercase hex characters.
38
+ */
39
+ export function deriveReplicaWriterId(seed, role) {
40
+ const s = replicaWriterSeedSchema.parse(seed);
41
+ const fields = [
42
+ stringToBytes(REPLICA_WRITER_DOMAIN),
43
+ hexToBytes(s.owner),
44
+ hexToBytes(s.server),
45
+ hexToBytes(s.serverId),
46
+ stringToBytes(role),
47
+ hexToBytes(s.writerNonce),
48
+ ];
49
+ const framed = concatBytes(fields.flatMap((field) => {
50
+ const length = new Uint8Array(4);
51
+ new DataView(length.buffer).setUint32(0, field.length);
52
+ return [length, field];
53
+ }));
54
+ return sha256(framed, "hex").slice(2, 34);
55
+ }
56
+ /** The transport and operation writers of one seed. They always come as a pair. */
57
+ export function deriveReplicaWriters(seed) {
58
+ return {
59
+ transport: deriveReplicaWriterId(seed, "transport"),
60
+ operation: deriveReplicaWriterId(seed, "operation"),
61
+ };
62
+ }
63
+ /** A fresh 16-byte writer nonce. */
64
+ export function randomReplicaWriterNonce() {
65
+ return bytesToHex(globalThis.crypto.getRandomValues(new Uint8Array(16)));
66
+ }
67
+ /**
68
+ * The signed batch statement (EIP-712 `PdppReplicaBatch`). With the writer
69
+ * scope, which the seed derives, it covers every field a receiver reads from
70
+ * a manifest and the registration slot the manifest is valid at.
71
+ */
72
+ export const replicaBatchStatementSchema = z.strictObject({
73
+ owner: address,
74
+ server: address,
75
+ serverId: bytes32,
76
+ environment: z.enum(["dev", "prod"]),
77
+ writerNonce: bytes16,
78
+ /** The DPv2 version of the writer scope that registers this batch. */
79
+ version: uint(Number.MAX_SAFE_INTEGER),
80
+ batch: token,
81
+ sequence: uint(Number.MAX_SAFE_INTEGER),
82
+ /** Digest of the previous batch, or zero for sequence 1. */
83
+ previous: bytes32,
84
+ /** Id of the previous batch, or empty for sequence 1. */
85
+ previousBatch: z.union([token, z.literal("")]),
86
+ collectedAt: z.string().datetime({ offset: true }),
87
+ /** SHA-256 of the assembled batch. */
88
+ digest: bytes32,
89
+ totalBytes: uint(Number.MAX_SAFE_INTEGER),
90
+ count: uint(UINT32_MAX),
91
+ /** replicaFragmentListDigest of the batch's fragments, in index order. */
92
+ fragments: bytes32,
93
+ });
94
+ /** The statement, its signature and the EIP-712 domain chain it was signed for. */
95
+ export const replicaBatchAuthoritySchema = z.strictObject({
96
+ chainId: z.number().int().min(1).max(Number.MAX_SAFE_INTEGER),
97
+ statement: replicaBatchStatementSchema,
98
+ signature: z.string().regex(/^0x[0-9a-f]{130}$/),
99
+ });
100
+ const BATCH_TYPES = {
101
+ PdppReplicaBatch: [
102
+ { name: "owner", type: "address" },
103
+ { name: "server", type: "address" },
104
+ { name: "serverId", type: "bytes32" },
105
+ { name: "environment", type: "string" },
106
+ { name: "writerNonce", type: "bytes16" },
107
+ { name: "version", type: "uint64" },
108
+ { name: "batch", type: "string" },
109
+ { name: "sequence", type: "uint64" },
110
+ { name: "previous", type: "bytes32" },
111
+ { name: "previousBatch", type: "string" },
112
+ { name: "collectedAt", type: "string" },
113
+ { name: "digest", type: "bytes32" },
114
+ { name: "totalBytes", type: "uint64" },
115
+ { name: "count", type: "uint32" },
116
+ { name: "fragments", type: "bytes32" },
117
+ ],
118
+ };
119
+ /** EIP-712 typed data for one statement: domain "Vana PDPP Replica", version "1". */
120
+ export function replicaBatchTypedData(chainId, statement) {
121
+ return {
122
+ domain: { name: "Vana PDPP Replica", version: "1", chainId },
123
+ types: BATCH_TYPES,
124
+ primaryType: "PdppReplicaBatch",
125
+ message: {
126
+ ...statement,
127
+ owner: statement.owner,
128
+ server: statement.server,
129
+ serverId: statement.serverId,
130
+ writerNonce: statement.writerNonce,
131
+ previous: statement.previous,
132
+ digest: statement.digest,
133
+ fragments: statement.fragments,
134
+ version: BigInt(statement.version),
135
+ sequence: BigInt(statement.sequence),
136
+ totalBytes: BigInt(statement.totalBytes),
137
+ count: statement.count,
138
+ },
139
+ };
140
+ }
141
+ const ZERO32 = `0x${"0".repeat(64)}`;
142
+ const digestBytes = (digest) => `0x${digest.replace(/^sha256:/, "")}`;
143
+ /**
144
+ * SHA-256 over the ordered fragment list: for each entry its 32-byte digest,
145
+ * then its length as 8 bytes, big-endian.
146
+ */
147
+ export function replicaFragmentListDigest(fragments) {
148
+ const framed = new Uint8Array(fragments.length * 40);
149
+ const view = new DataView(framed.buffer);
150
+ fragments.forEach((fragment, index) => {
151
+ const digest = hexToBytes(bytes32.parse(digestBytes(fragment.digest)));
152
+ framed.set(digest, index * 40);
153
+ view.setBigUint64(index * 40 + 32, BigInt(uint(Number.MAX_SAFE_INTEGER).parse(fragment.bytes)));
154
+ });
155
+ return sha256(framed, "hex");
156
+ }
157
+ /** The statement fields that come from the facts. Throws on malformed facts. */
158
+ function signedFacts(facts) {
159
+ return {
160
+ version: facts.version,
161
+ batch: facts.batch,
162
+ sequence: facts.sequence,
163
+ previous: facts.previous ? digestBytes(facts.previous.digest) : ZERO32,
164
+ previousBatch: facts.previous?.batch ?? "",
165
+ collectedAt: facts.collectedAt,
166
+ digest: digestBytes(facts.digest),
167
+ totalBytes: facts.totalBytes,
168
+ count: facts.fragments.length,
169
+ fragments: replicaFragmentListDigest(facts.fragments),
170
+ };
171
+ }
172
+ function statementOf(partition, seed, facts) {
173
+ return replicaBatchStatementSchema.parse({
174
+ ...seed,
175
+ environment: partition.environment,
176
+ ...signedFacts(facts),
177
+ });
178
+ }
179
+ /** Sign one batch with the server key. The signer must be the seed's server. */
180
+ export async function signReplicaBatch(input) {
181
+ const { signer, partition, seed } = input;
182
+ if (signer.address.toLowerCase() !== seed.server ||
183
+ partition.owner.toLowerCase() !== seed.owner)
184
+ throw new Error("replica signer is not the writer seed's server");
185
+ const statement = statementOf(partition, seed, input.facts);
186
+ const signature = await signer.signTypedData(replicaBatchTypedData(partition.chainId, statement));
187
+ return replicaBatchAuthoritySchema.parse({
188
+ chainId: partition.chainId,
189
+ statement,
190
+ signature: signature.toLowerCase(),
191
+ });
192
+ }
193
+ // Recovery is pure; a batch is authorized at download and at each import.
194
+ const recovered = new Map();
195
+ async function recoverSigner(authority) {
196
+ const key = JSON.stringify(authority);
197
+ let signer = recovered.get(key);
198
+ if (signer === undefined) {
199
+ signer = (await recoverTypedDataAddress({
200
+ ...replicaBatchTypedData(authority.chainId, authority.statement),
201
+ signature: authority.signature,
202
+ })).toLowerCase();
203
+ recovered.set(key, signer);
204
+ if (recovered.size > 1024)
205
+ recovered.delete(recovered.keys().next().value);
206
+ }
207
+ return signer;
208
+ }
209
+ /**
210
+ * Receiver checks 2-5 of host contract §3.4, in order. The carrier supplies
211
+ * its claimed facts and the transport writer of the scope it was registered
212
+ * in, so this does not depend on how the carrier names objects.
213
+ * `roster` throws when it cannot answer; that is a Wait, never acceptance.
214
+ */
215
+ export async function authorizeReplicaBatch(input) {
216
+ const refused = (reason) => ({ tag: "refused", reason });
217
+ // 2. The signer signed exactly these facts.
218
+ const parsed = replicaBatchAuthoritySchema.safeParse(input.authority);
219
+ if (!parsed.success)
220
+ return refused("signature_invalid");
221
+ const authority = parsed.data;
222
+ const { statement } = authority;
223
+ let claimed;
224
+ try {
225
+ claimed = signedFacts(input.facts);
226
+ }
227
+ catch {
228
+ return refused("signature_invalid");
229
+ }
230
+ if (Object.entries(claimed).some(([key, value]) => statement[key] !== value))
231
+ return refused("signature_invalid");
232
+ let signer;
233
+ try {
234
+ signer = await recoverSigner(authority);
235
+ }
236
+ catch {
237
+ return refused("signature_invalid");
238
+ }
239
+ if (signer !== statement.server)
240
+ return refused("signature_invalid");
241
+ // 3. Partition.
242
+ if (statement.owner !== input.receiver.owner.toLowerCase() ||
243
+ authority.chainId !== input.receiver.chainId ||
244
+ statement.environment !== input.receiver.environment)
245
+ return refused("partition_mismatch");
246
+ // 4. Roster: registered now, this incarnation, under this owner.
247
+ let record;
248
+ try {
249
+ record = await input.roster(statement.server);
250
+ }
251
+ catch (error) {
252
+ if (error instanceof ReplicaRosterUnavailableError)
253
+ return { tag: "wait", server: statement.server };
254
+ throw error;
255
+ }
256
+ if (!record)
257
+ return refused("server_not_registered");
258
+ if (record.owner.toLowerCase() !== statement.owner)
259
+ return refused("roster_owner_mismatch");
260
+ if (record.revokedAt !== null ||
261
+ record.id.toLowerCase() !== statement.serverId)
262
+ return refused("server_not_registered");
263
+ // 5. The carrier's writer is the one this signer derives.
264
+ const seed = replicaWriterSeedSchema.parse({
265
+ owner: statement.owner,
266
+ server: statement.server,
267
+ serverId: statement.serverId,
268
+ writerNonce: statement.writerNonce,
269
+ });
270
+ const writers = deriveReplicaWriters(seed);
271
+ if (input.transportWriter !== writers.transport)
272
+ return refused("writer_mismatch");
273
+ return { tag: "authorized", seed, writers };
274
+ }
275
+ /** Check 7: every operation of an authorized batch names its operation writer. */
276
+ export function replicaOperationWriterRefusal(operations, writers) {
277
+ return operations.every((op) => op.revision.writerId === writers.operation)
278
+ ? undefined
279
+ : "writer_mismatch";
280
+ }
281
+ //# sourceMappingURL=writer-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer-identity.js","sourceRoot":"","sources":["../../src/replication/writer-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { type ReplicaRosterPort } from "./roster.js";
2
+ import { type ReplicaBatchAuthority, type ReplicaBatchFacts, type ReplicaBatchSigner } from "./writer-identity.js";
3
+ /**
4
+ * Framing-only: a well-formed statement for `facts` with an invalid
5
+ * signature. Tests of byte framing use it; no receiver authorizes it.
6
+ */
7
+ export declare function unsignedReplicaBatch(facts: ReplicaBatchFacts): Promise<ReplicaBatchAuthority>;
8
+ /** An in-memory gateway roster with registration, revocation and outages. */
9
+ export declare function createTestReplicaRoster(): {
10
+ port: ReplicaRosterPort;
11
+ readonly reads: number;
12
+ setAvailable(value: boolean): void;
13
+ /** Register, or re-register a revoked address under a new id. */
14
+ register(address: string, owner: string, id?: string): string;
15
+ deregister(address: string): void;
16
+ };
17
+ /**
18
+ * A device's server key: a real secp256k1 account, like `key.json`. A name
19
+ * gives the same key in every process.
20
+ */
21
+ export declare function createTestReplicaSigner(name?: string): ReplicaBatchSigner & {
22
+ address: `0x${string}`;
23
+ };
24
+ //# sourceMappingURL=writer-identity.test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer-identity.test-utils.d.ts","sourceRoot":"","sources":["../../src/replication/writer-identity.test-utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAK9B;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,qBAAqB,CAAC,CAyBhC;AAED,6EAA6E;AAC7E,wBAAgB,uBAAuB;;;wBAiBf,OAAO;IAG3B,iEAAiE;sBAC/C,MAAM,SAAS,MAAM,OAAM,MAAM;wBAI/B,MAAM;EAQ7B;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG;IAC3E,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;CACxB,CAUA"}
@@ -0,0 +1,86 @@
1
+ /** Test doubles for replica writer authority. Never wire these into a host. */
2
+ import { bytesToHex, sha256, stringToBytes } from "viem";
3
+ import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
4
+ import { ReplicaRosterUnavailableError, } from "./roster.js";
5
+ import { replicaFragmentListDigest, } from "./writer-identity.js";
6
+ const random32 = () => bytesToHex(globalThis.crypto.getRandomValues(new Uint8Array(32)));
7
+ /**
8
+ * Framing-only: a well-formed statement for `facts` with an invalid
9
+ * signature. Tests of byte framing use it; no receiver authorizes it.
10
+ */
11
+ export async function unsignedReplicaBatch(facts) {
12
+ const digest = (value) => `0x${value.replace(/^sha256:/, "")}`;
13
+ return {
14
+ chainId: 1,
15
+ statement: {
16
+ owner: `0x${"0".repeat(39)}1`,
17
+ server: `0x${"0".repeat(39)}2`,
18
+ serverId: `0x${"0".repeat(64)}`,
19
+ environment: "dev",
20
+ writerNonce: `0x${"0".repeat(32)}`,
21
+ version: facts.version,
22
+ batch: facts.batch,
23
+ sequence: facts.sequence,
24
+ previous: facts.previous
25
+ ? digest(facts.previous.digest)
26
+ : `0x${"0".repeat(64)}`,
27
+ previousBatch: facts.previous?.batch ?? "",
28
+ collectedAt: facts.collectedAt,
29
+ digest: digest(facts.digest),
30
+ totalBytes: facts.totalBytes,
31
+ count: facts.fragments.length,
32
+ fragments: replicaFragmentListDigest(facts.fragments),
33
+ },
34
+ signature: `0x${"0".repeat(130)}`,
35
+ };
36
+ }
37
+ /** An in-memory gateway roster with registration, revocation and outages. */
38
+ export function createTestReplicaRoster() {
39
+ const records = new Map();
40
+ let available = true;
41
+ let reads = 0;
42
+ const port = {
43
+ async server(address) {
44
+ reads++;
45
+ if (!available)
46
+ throw new ReplicaRosterUnavailableError();
47
+ const record = records.get(address.toLowerCase());
48
+ return record ? { ...record } : null;
49
+ },
50
+ };
51
+ return {
52
+ port,
53
+ get reads() {
54
+ return reads;
55
+ },
56
+ setAvailable(value) {
57
+ available = value;
58
+ },
59
+ /** Register, or re-register a revoked address under a new id. */
60
+ register(address, owner, id = random32()) {
61
+ records.set(address.toLowerCase(), { owner, id, revokedAt: null });
62
+ return id;
63
+ },
64
+ deregister(address) {
65
+ const record = records.get(address.toLowerCase());
66
+ records.set(address.toLowerCase(), {
67
+ ...record,
68
+ revokedAt: "2026-10-27T00:00:00.000Z",
69
+ });
70
+ },
71
+ };
72
+ }
73
+ /**
74
+ * A device's server key: a real secp256k1 account, like `key.json`. A name
75
+ * gives the same key in every process.
76
+ */
77
+ export function createTestReplicaSigner(name) {
78
+ const account = privateKeyToAccount(name === undefined
79
+ ? generatePrivateKey()
80
+ : sha256(stringToBytes(`replica-test-signer:${name}`)));
81
+ return {
82
+ address: account.address,
83
+ signTypedData: (params) => account.signTypedData(params),
84
+ };
85
+ }
86
+ //# sourceMappingURL=writer-identity.test-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writer-identity.test-utils.js","sourceRoot":"","sources":["../../src/replication/writer-identity.test-utils.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,9 @@ export declare const DEFAULTS: {
38
38
  enabled: boolean;
39
39
  lastProcessedTimestamp: null;
40
40
  };
41
+ replication: {
42
+ enabled: boolean;
43
+ };
41
44
  tunnel: {
42
45
  enabled: boolean;
43
46
  serverAddr: string;
@@ -52,6 +55,7 @@ export declare const DEFAULTS: {
52
55
  };
53
56
  pdpp: {
54
57
  enabled: boolean;
58
+ protocolProfile: "current" | "candidate-0.1.0";
55
59
  declarationPaths: Array<string | {
56
60
  path: string;
57
61
  sha256: string;
@@ -60,6 +64,7 @@ export declare const DEFAULTS: {
60
64
  method_id: string;
61
65
  declaration_path: string;
62
66
  }>;
67
+ optInMethods: string[];
63
68
  connectionMethods: Array<{
64
69
  source_id: string;
65
70
  method_id: string;
@@ -134,6 +139,9 @@ export declare const ServerConfigSchema: z.ZodObject<{
134
139
  enabled: z.ZodDefault<z.ZodBoolean>;
135
140
  lastProcessedTimestamp: z.ZodDefault<z.ZodNullable<z.ZodString>>;
136
141
  }, z.core.$strip>>;
142
+ replication: z.ZodDefault<z.ZodObject<{
143
+ enabled: z.ZodDefault<z.ZodBoolean>;
144
+ }, z.core.$strip>>;
137
145
  tunnel: z.ZodDefault<z.ZodObject<{
138
146
  enabled: z.ZodDefault<z.ZodBoolean>;
139
147
  serverAddr: z.ZodDefault<z.ZodString>;
@@ -149,6 +157,10 @@ export declare const ServerConfigSchema: z.ZodObject<{
149
157
  }, z.core.$strip>>;
150
158
  pdpp: z.ZodDefault<z.ZodObject<{
151
159
  enabled: z.ZodDefault<z.ZodBoolean>;
160
+ protocolProfile: z.ZodDefault<z.ZodEnum<{
161
+ current: "current";
162
+ "candidate-0.1.0": "candidate-0.1.0";
163
+ }>>;
152
164
  declarationPaths: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
153
165
  path: z.ZodString;
154
166
  sha256: z.ZodString;
@@ -157,6 +169,7 @@ export declare const ServerConfigSchema: z.ZodObject<{
157
169
  method_id: z.ZodString;
158
170
  declaration_path: z.ZodString;
159
171
  }, z.core.$strip>>>;
172
+ optInMethods: z.ZodDefault<z.ZodArray<z.ZodString>>;
160
173
  connectionMethods: z.ZodDefault<z.ZodArray<z.ZodObject<{
161
174
  source_id: z.ZodString;
162
175
  method_id: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/schemas/server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAkFO,KAAK,CAAC,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;iBAGzD,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,CAAC;2BAI5C,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;;iBAUzD,KAAK,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,EAAE,CAAC;YAKvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;8BAK0B,MAAM,EAAE;;CAEvC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuL7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEpD,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,0BAA0B,EAAE,MAAM,CAAC;QACnC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,uBAAuB,EAAE,MAAM,CAAC;QAEhC,qBAAqB,EAAE,MAAM,CAAC;QAG9B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAAqB,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAY5E"}
1
+ {"version":3,"file":"server-config.d.ts","sourceRoot":"","sources":["../../src/schemas/server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiFa,SAAS,GAAG,iBAAiB;0BAQnC,KAAK,CAAC,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC;iBAGzD,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,gBAAgB,EAAE,MAAM,CAAA;SAAE,CAAC;sBACjD,MAAM,EAAE;2BAIH,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;;iBAUzD,KAAK,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,EAAE,MAAM,EAAE,CAAC;YAKvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;SAC/B,CAAC;8BAK0B,MAAM,EAAE;;CAEvC,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuM7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAEpD,0DAA0D;AAC1D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,0BAA0B,EAAE,MAAM,CAAC;QACnC,qBAAqB,EAAE,MAAM,CAAC;QAC9B,uBAAuB,EAAE,MAAM,CAAC;QAEhC,qBAAqB,EAAE,MAAM,CAAC;QAG9B,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAAqB,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAY5E"}
@@ -50,6 +50,12 @@ export const DEFAULTS = {
50
50
  enabled: false,
51
51
  lastProcessedTimestamp: null,
52
52
  },
53
+ replication: {
54
+ // Off by default. When false, no replica code runs and no replica
55
+ // schema is created. When true, the record store is built with the
56
+ // replica port and applies the replica schema on open.
57
+ enabled: false,
58
+ },
53
59
  tunnel: {
54
60
  enabled: true,
55
61
  serverAddr: "frpc.server.vana.org",
@@ -74,6 +80,7 @@ export const DEFAULTS = {
74
80
  // The PDPP Authorization Server is opt-in. Off by default so an existing
75
81
  // deployment gains no new authorization surface on upgrade.
76
82
  enabled: false,
83
+ protocolProfile: "current",
77
84
  // Absolute file paths of retained SourceDeclaration documents. There is
78
85
  // deliberately no trust-all option and no default: an AS that accepts any
79
86
  // declaration it can reach will issue grants over data it was never meant
@@ -85,6 +92,7 @@ export const DEFAULTS = {
85
92
  // At most one acquisition method may write each retained source. The
86
93
  // declaration path ties an artifact method id to the source it produces.
87
94
  methods: [],
95
+ optInMethods: [],
88
96
  // Per-source connection methods are independent of canonical record
89
97
  // declarations. They let Desktop manage account handles while canonical
90
98
  // writers remain disabled for sources absent from declarationPaths.
@@ -195,6 +203,11 @@ export const ServerConfigSchema = z.object({
195
203
  .default(DEFAULTS.sync.lastProcessedTimestamp),
196
204
  })
197
205
  .default(DEFAULTS.sync),
206
+ replication: z
207
+ .object({
208
+ enabled: z.boolean().default(DEFAULTS.replication.enabled),
209
+ })
210
+ .default(DEFAULTS.replication),
198
211
  tunnel: z
199
212
  .object({
200
213
  enabled: z.boolean().default(DEFAULTS.tunnel.enabled),
@@ -238,6 +251,9 @@ export const ServerConfigSchema = z.object({
238
251
  pdpp: z
239
252
  .object({
240
253
  enabled: z.boolean().default(DEFAULTS.pdpp.enabled),
254
+ protocolProfile: z
255
+ .enum(["current", "candidate-0.1.0"])
256
+ .default(DEFAULTS.pdpp.protocolProfile),
241
257
  // No trust-all switch by design. A declaration is trusted because an
242
258
  // operator retained this exact document, not because it was reachable.
243
259
  declarationPaths: z
@@ -257,6 +273,14 @@ export const ServerConfigSchema = z.object({
257
273
  declaration_path: z.string().min(1),
258
274
  }))
259
275
  .default(DEFAULTS.pdpp.methods),
276
+ // Methods the host runs only at the owner's explicit opt-in, beside
277
+ // the source's legacy collector: they do not take a legacy scope over
278
+ // from the owner's legacy file (see `LegacyScopeView`). A boot policy
279
+ // of its own: it applies whether or not a listed method is configured
280
+ // or PDPP is enabled, so rows a method already wrote stay gated.
281
+ optInMethods: z
282
+ .array(z.string().min(1))
283
+ .default(DEFAULTS.pdpp.optInMethods),
260
284
  connectionMethods: z
261
285
  .array(z.object({
262
286
  source_id: z.string().url(),
@@ -1 +1 @@
1
- {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/schemas/server-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-config.js","sourceRoot":"","sources":["../../src/schemas/server-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE;QACN,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,uBAAuB;KAChC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAe;QACtB,MAAM,EAAE,KAAK;KACd;IACD,OAAO,EAAE;QACP,OAAO,EAAE,OAAgB;QACzB,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,MAAM,EAAE,0BAA0B;aACnC;SACF;KACF;IACD,OAAO,EAAE;QACP,GAAG,EAAE,sDAAsD;QAC3D,OAAO,EAAE,KAAK;QACd,SAAS,EAAE;YACT,6CAA6C;YAC7C,YAAY,EAAE,4CAA4C;YAC1D,uDAAuD;YACvD,0BAA0B,EAAE,4CAA4C;YACxE,+DAA+D;YAC/D,qBAAqB,EAAE,4CAA4C;YACnE,wCAAwC;YACxC,uBAAuB,EAAE,4CAA4C;YACrE,mEAAmE;YACnE,oDAAoD;YACpD,qBAAqB,EAAE,4CAA4C;YACnE,kEAAkE;YAClE,8DAA8D;YAC9D,qEAAqE;YACrE,WAAW,EAAE,4CAA4C;YACzD,oEAAoE;SACrE;KACF;IACD,KAAK,EAAE;QACL,OAAO,EAAE,IAAI;KACd;IACD,OAAO,EAAE;QACP,iEAAiE;QACjE,wCAAwC;QACxC,OAAO,EAAE,KAAK;KACf;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,KAAK;QACd,sBAAsB,EAAE,IAAI;KAC7B;IACD,WAAW,EAAE;QACX,kEAAkE;QAClE,mEAAmE;QACnE,uDAAuD;QACvD,OAAO,EAAE,KAAK;KACf;IACD,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,sBAAsB;QAClC,UAAU,EAAE,IAAI;KACjB;IACD,SAAS,EAAE;QACT,qEAAqE;QACrE,qEAAqE;QACrE,iEAAiE;QACjE,OAAO,EAAE,gCAAgC;QACzC,KAAK,EAAE,oBAAoB;QAC3B,kEAAkE;QAClE,sEAAsE;QACtE,0DAA0D;QAC1D,IAAI,EAAE,IAAI;QACV,uEAAuE;QACvE,cAAc,EAAE,EAAE;QAClB,uEAAuE;QACvE,mBAAmB,EAAE,KAAK;KAC3B;IACD,IAAI,EAAE;QACJ,yEAAyE;QACzE,4DAA4D;QAC5D,OAAO,EAAE,KAAK;QACd,eAAe,EAAE,SAA0C;QAC3D,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,0CAA0C;QAC1C,gBAAgB,EAAE,EAAsD;QACxE,qEAAqE;QACrE,yEAAyE;QACzE,OAAO,EAAE,EAA4D;QACrE,YAAY,EAAE,EAAc;QAC5B,oEAAoE;QACpE,wEAAwE;QACxE,oEAAoE;QACpE,iBAAiB,EAAE,EAAqD;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,wCAAwC;QACxC,WAAW,EAAE,IAAI;QACjB,yEAAyE;QACzE,mEAAmE;QACnE,iEAAiE;QACjE,mEAAmE;QACnE,oEAAoE;QACpE,OAAO,EAAE,EAQP;QACF,iEAAiE;QACjE,wEAAwE;QACxE,oEAAoE;QACpE,+DAA+D;QAC/D,oBAAoB,EAAE,EAAc;KACrC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC;IACnC,OAAO;IACP,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACtE,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KAChD,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QAClC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;KACrD,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QACzD,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,IAAI,EAAE,uBAAuB,CAAC,QAAQ,EAAE;SACzC,CAAC;aACD,OAAO,CAAC,EAAE,CAAC;KACf,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;QACtE,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC;YACnD,0BAA0B,EAAE,CAAC;iBAC1B,MAAM,EAAE;iBACR,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC;YACjE,qBAAqB,EAAE,CAAC;iBACrB,MAAM,EAAE;iBACR,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;YAC5D,uBAAuB,EAAE,CAAC;iBACvB,MAAM,EAAE;iBACR,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,uBAAuB,CAAC;YAC9D,qBAAqB,EAAE,CAAC;iBACrB,MAAM,EAAE;iBACR,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC;YAC5D,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;SACnD,CAAC;aACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;KACvC,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5B,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;KACrD,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC1B,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC;KACvD,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAC5B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,sBAAsB,EAAE,CAAC;aACtB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC;KACjD,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC;SACX,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC;KAC3D,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAChC,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QAC1D,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,KAAK,CAAC;aACV,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC;QACtC;;;;;;;WAOG;QACH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC3B,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC;QACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1D,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;QAClD,cAAc,EAAE,CAAC;aACd,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,MAAM,CAAC;aACX,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC;QAC7C,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,SAAS,CAAC;aACd,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC;KACnD,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC9B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACnD,eAAe,EAAE,CAAC;aACf,IAAI,CAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;aACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC;QACzC,qEAAqE;QACrE,uEAAuE;QACvE,gBAAgB,EAAE,CAAC;aAChB,KAAK,CACJ,CAAC,CAAC,KAAK,CAAC;YACN,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvB,MAAM,EAAE,CAAC;qBACN,MAAM,EAAE;qBACR,KAAK,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;aACnD,CAAC;SACH,CAAC,CACH;aACA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC1C,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACpC,CAAC,CACH;aACA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,oEAAoE;QACpE,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,iEAAiE;QACjE,YAAY,EAAE,CAAC;aACZ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;QACtC,iBAAiB,EAAE,CAAC;aACjB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;YAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B,CAAC,CACH;aACA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC3C,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3D,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3B,6DAA6D;YAC7D,qDAAqD;YACrD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,+DAA+D;YAC/D,oCAAoC;YACpC,gEAAgE;YAChE,gEAAgE;YAChE,kDAAkD;YAClD,oBAAoB,EAAE,CAAC;iBACpB,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;iBAC7B,QAAQ,EAAE;SACd,CAAC,CACH;aACA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QACjC,gEAAgE;QAChE,uEAAuE;QACvE,2CAA2C;QAC3C,oBAAoB,EAAE,CAAC;aACpB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC;KAC/C,CAAC;SACD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC1B,CAAC,CAAC;AAqBH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsB,CAAC,cAAc,CAAC,CAAC;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,yBAAyB,CAAC,MAAoB;IAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;IACrC,IACE,KAAK,KAAK,QAAQ,CAAC,SAAS,CAAC,KAAK;QAClC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO;QACL,GAAG,MAAM;QACT,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;KACpE,CAAC;AACJ,CAAC"}
@@ -1,4 +1,6 @@
1
- export type { StorageAdapter } from "./interface.js";
1
+ export type { BoundedStorageAdapter, StorageAdapter } from "./interface.js";
2
+ export { StoredBlobConflictError } from "./interface.js";
2
3
  export { createSdkStorageAdapter, type SdkStorageProvider, type SdkStorageProviderFactory, } from "./sdk.js";
3
4
  export { createVanaSyncStorageAdapter, resolveVanaStorageEndpoint, } from "./vana.js";
5
+ export { vanaBlobRequests } from "./vana-audience.js";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/adapters/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,uBAAuB,EACvB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,5 @@
1
+ export { StoredBlobConflictError } from "./interface.js";
1
2
  export { createSdkStorageAdapter, } from "./sdk.js";
2
3
  export { createVanaSyncStorageAdapter, resolveVanaStorageEndpoint, } from "./vana.js";
4
+ export { vanaBlobRequests } from "./vana-audience.js";
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/adapters/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,uBAAuB,GAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/adapters/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,uBAAuB,GAGxB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}