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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +316 -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,54 @@
1
+ /** A completed Oura checkpoint window never proves deletion of omitted history. */
2
+ export const OURA_BROWSER_HISTORY_POLICY = {
3
+ allowProvenDeletion: false,
4
+ preserveRetainedEntities: true,
5
+ };
6
+ /** Common `time_range.since` day of an eligible selection; null is full history. */
7
+ export function ouraTakeoverSelectionSince(value) {
8
+ if (!value || typeof value !== "object" || Array.isArray(value))
9
+ return null;
10
+ const selection = value;
11
+ if (Object.keys(selection).length !== 1 ||
12
+ !Array.isArray(selection.streams) ||
13
+ selection.streams.length !== 3)
14
+ return null;
15
+ const names = new Set();
16
+ let commonSince;
17
+ for (const entry of selection.streams) {
18
+ if (!entry || typeof entry !== "object" || Array.isArray(entry))
19
+ return null;
20
+ const stream = entry;
21
+ if (typeof stream.name !== "string" ||
22
+ Object.keys(stream).some((key) => key !== "name" && key !== "time_range"))
23
+ return null;
24
+ const name = stream.name.replace(/^oura\./, "");
25
+ if (!["sleep", "readiness", "activity"].includes(name) || names.has(name))
26
+ return null;
27
+ names.add(name);
28
+ let since = null;
29
+ if (stream.time_range !== undefined) {
30
+ const range = stream.time_range;
31
+ if (!range ||
32
+ typeof range !== "object" ||
33
+ Array.isArray(range) ||
34
+ Object.keys(range).length !== 1)
35
+ return null;
36
+ const day = range.since;
37
+ if (typeof day !== "string" ||
38
+ !/^\d{4}-\d{2}-\d{2}$/.test(day) ||
39
+ !Number.isFinite(Date.parse(day)) ||
40
+ new Date(day).toISOString().slice(0, 10) !== day)
41
+ return null;
42
+ since = day;
43
+ }
44
+ if (commonSince !== undefined && commonSince !== since)
45
+ return null;
46
+ commonSince = since;
47
+ }
48
+ return { since: commonSince ?? null };
49
+ }
50
+ /** Completion is eligible only for one three-stream selection with one common since. */
51
+ export function isOuraTakeoverSelection(value) {
52
+ return ouraTakeoverSelectionSince(value) !== null;
53
+ }
54
+ //# sourceMappingURL=history-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-policy.js","sourceRoot":"","sources":["../../src/oura/history-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ import { type PersonalServerDataApiDeps } from "../api/index.js";
2
+ import type { DataStoragePort } from "../ports/index.js";
3
+ import { type PdppRecord } from "../legacy-projection/index.js";
4
+ declare const STREAMS: readonly ["sleep", "readiness", "activity"];
5
+ export interface OuraBrowserImportInput {
6
+ /** The START selection the batch was collected with. Required for every batch. */
7
+ selection?: {
8
+ streams: unknown[];
9
+ };
10
+ records: PdppRecord[];
11
+ collectedAt: string;
12
+ completion: {
13
+ streams: {
14
+ stream: (typeof STREAMS)[number];
15
+ status: "complete";
16
+ recordCount: number;
17
+ }[];
18
+ };
19
+ }
20
+ /** Current-generation retained rows, including deleted IDs, as coverage constraints only. */
21
+ export interface OuraRetainedHistory {
22
+ records: PdppRecord[];
23
+ collectedAt: string;
24
+ }
25
+ /** Ordinary owner-ingest effects supplied by the runtime after owner authentication. */
26
+ export type OuraBrowserImportOptions = Pick<PersonalServerDataApiDeps, "syncManager" | "scopeDeletions" | "additions" | "onDataWritten" | "legacyScopeView"> & {
27
+ /** Read once by the importer under its import lock, never before it. */
28
+ retainedCanonicalHistory?: () => OuraRetainedHistory | undefined;
29
+ /** Node commits the validated current batch to its existing canonical store. */
30
+ beforeCommit?: (input: OuraBrowserImportInput) => Promise<Extract<OuraBrowserImportResult, {
31
+ ok: false;
32
+ }> | void>;
33
+ };
34
+ export interface OuraImportReceipt {
35
+ scope: string;
36
+ collectedAt: string;
37
+ plaintextBytes: number;
38
+ }
39
+ export type OuraBrowserImportResult = {
40
+ ok: true;
41
+ scopes: string[];
42
+ receipts: OuraImportReceipt[];
43
+ } | {
44
+ ok: false;
45
+ reason: string;
46
+ scope?: string;
47
+ };
48
+ /** Eligible fresh complete imports replace current data while retaining historical files. */
49
+ export declare function importOuraBrowserRecords(storage: DataStoragePort, input: OuraBrowserImportInput, options?: OuraBrowserImportOptions): Promise<OuraBrowserImportResult>;
50
+ export {};
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/oura/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,+BAA+B,CAAC;AAUvC,QAAA,MAAM,OAAO,6CAA8C,CAAC;AAC5D,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,SAAS,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IACnC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,OAAO,EAAE;YACP,MAAM,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC;YACnB,WAAW,EAAE,MAAM,CAAC;SACrB,EAAE,CAAC;KACL,CAAC;CACH;AACD,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AACD,wFAAwF;AACxF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,yBAAyB,EACvB,aAAa,GACb,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,iBAAiB,CACpB,GAAG;IACF,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACjE,gFAAgF;IAChF,YAAY,CAAC,EAAE,CACb,KAAK,EAAE,sBAAsB,KAC1B,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE;QAAE,EAAE,EAAE,KAAK,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CAAC;CACtE,CAAC;AACF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAC7D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAMlD,6FAA6F;AAC7F,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,sBAAsB,EAC7B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CAkFlC"}
@@ -0,0 +1,315 @@
1
+ import { withLegacyProjection } from "../storage/legacy-projection.js";
2
+ import { handlePersonalServerDataRequest, } from "../api/index.js";
3
+ import { canonicalJsonBytes, sha256Hex } from "../contracts/index.js";
4
+ import { withScopeLock } from "../additions/index.js";
5
+ import { projectPdppRecordsToLegacyPayload, OURA_BROWSER_DECLARATION_DIGEST, } from "../legacy-projection/index.js";
6
+ import { compareLegacyCoverage } from "../storage/legacy-scope-coverage.js";
7
+ import { LEGACY_SCOPE_ENTITY_KEYS } from "../storage/legacy-scope-entity-keys.js";
8
+ import { readOuraCollectionRequirements } from "../api/oura-collection-requirements.js";
9
+ import { OURA_BROWSER_HISTORY_POLICY, isOuraTakeoverSelection, ouraTakeoverSelectionSince, } from "./history-policy.js";
10
+ const STREAMS = ["sleep", "readiness", "activity"];
11
+ function object(value) {
12
+ return value !== null && typeof value === "object" && !Array.isArray(value);
13
+ }
14
+ /** Eligible fresh complete imports replace current data while retaining historical files. */
15
+ export async function importOuraBrowserRecords(storage, input, options = {}) {
16
+ // This public boundary also receives untrusted JSON from the owner route.
17
+ if (!object(input) ||
18
+ !Array.isArray(input.records) ||
19
+ ("complete" in input && input.complete === false) ||
20
+ typeof input.collectedAt !== "string" ||
21
+ !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z$/.test(input.collectedAt) ||
22
+ !Number.isFinite(Date.parse(input.collectedAt)) ||
23
+ new Date(input.collectedAt).toISOString() !==
24
+ input.collectedAt.replace(/Z$/, input.collectedAt.includes(".") ? "Z" : ".000Z") ||
25
+ !object(input.completion) ||
26
+ !Array.isArray(input.completion.streams) ||
27
+ input.completion.streams.length !== STREAMS.length) {
28
+ return { ok: false, reason: "invalid_completion" };
29
+ }
30
+ const counts = new Map(STREAMS.map((stream) => [stream, 0]));
31
+ // Native and browser batches alike must carry the START selection they ran with.
32
+ if (!isOuraTakeoverSelection(input.selection)) {
33
+ return { ok: false, reason: "selection_not_eligible" };
34
+ }
35
+ const ids = new Set();
36
+ for (const record of input.records) {
37
+ if (!object(record) ||
38
+ !counts.has(record.stream) ||
39
+ !object(record.data) ||
40
+ typeof record.data.id !== "string" ||
41
+ !record.data.id.trim()) {
42
+ return { ok: false, reason: "invalid_records" };
43
+ }
44
+ const key = JSON.stringify([record.stream, record.data.id]);
45
+ if (ids.has(key))
46
+ return { ok: false, reason: "duplicate_record" };
47
+ ids.add(key);
48
+ counts.set(record.stream, counts.get(record.stream) + 1);
49
+ for (const field of [
50
+ "timestamp",
51
+ "daily_sleep_timestamp",
52
+ "bedtime_start",
53
+ "bedtime_end",
54
+ ]) {
55
+ const value = record.data[field];
56
+ if (value !== undefined &&
57
+ value !== null &&
58
+ (typeof value !== "string" ||
59
+ !/^\d{4}-\d{2}-\d{2}T/.test(value) ||
60
+ !Number.isFinite(Date.parse(value)))) {
61
+ return { ok: false, reason: "invalid_records" };
62
+ }
63
+ }
64
+ }
65
+ const proven = new Set();
66
+ for (const proof of input.completion.streams) {
67
+ if (!object(proof) ||
68
+ !counts.has(proof.stream) ||
69
+ proven.has(proof.stream) ||
70
+ proof.status !== "complete" ||
71
+ !Number.isSafeInteger(proof.recordCount) ||
72
+ proof.recordCount < 0 ||
73
+ proof.recordCount !== counts.get(proof.stream)) {
74
+ return { ok: false, reason: "invalid_completion" };
75
+ }
76
+ proven.add(proof.stream);
77
+ }
78
+ // Snapshot caller-owned input before awaiting locks/reads.
79
+ const snapshot = structuredClone(input);
80
+ // Ingest updates the per-scope first-seen ledger under its own scope lock.
81
+ // Serialize imports with a distinct mutex; those locks are not re-entrant.
82
+ return withScopeLock("ps-lite:oura-browser-import", () => importLocked(storage, snapshot, options));
83
+ }
84
+ /**
85
+ * A window must reach back to the earliest day of the history it would replace.
86
+ * The caller reads the retained rows under the import lock, so a stale preparation
87
+ * cannot authorize truncation.
88
+ */
89
+ async function narrowerThanHistory(storage, input, options, retained) {
90
+ // The selection was validated before the lock.
91
+ const authorized = ouraTakeoverSelectionSince(input.selection).since;
92
+ // Full history cannot be narrower than what it replaces.
93
+ if (authorized === null)
94
+ return;
95
+ const required = await readOuraCollectionRequirements(storage, options.legacyScopeView, retained?.records).catch(() => undefined);
96
+ if (!required)
97
+ return { ok: false, reason: "prior_projection_unavailable" };
98
+ if (!required.ok)
99
+ return { ok: false, reason: required.reason, scope: required.scope };
100
+ // Absent or empty history has no day that a narrower window could drop.
101
+ if (required.since === null)
102
+ return;
103
+ if (authorized > required.since)
104
+ return { ok: false, reason: "selection_narrower_than_history" };
105
+ }
106
+ async function importLocked(storage, input, options) {
107
+ // One read under the lock: the boundary, stale and parity checks share this snapshot.
108
+ const retained = options.retainedCanonicalHistory?.();
109
+ const narrower = await narrowerThanHistory(storage, input, options, retained);
110
+ if (narrower)
111
+ return narrower;
112
+ // Current connector records have no trusted upstream account identity.
113
+ // Compare this complete batch alone; never union raw windows across requests.
114
+ const plans = [];
115
+ for (const stream of STREAMS) {
116
+ const scope = `oura.${stream}`;
117
+ const projection = projectPdppRecordsToLegacyPayload(scope, input.records, {
118
+ profileKey: "oura-browser",
119
+ fetchedStreams: [...STREAMS],
120
+ });
121
+ if (!projection.ok || (projection.diagnostics?.length ?? 0) > 0) {
122
+ return { ok: false, reason: "projection_incomplete", scope };
123
+ }
124
+ if (retained) {
125
+ if (Date.parse(input.collectedAt) < Date.parse(retained.collectedAt))
126
+ return { ok: false, reason: "stale_collection", scope };
127
+ const baseline = projectPdppRecordsToLegacyPayload(scope, retained.records, {
128
+ profileKey: "oura-browser",
129
+ fetchedStreams: [...STREAMS],
130
+ });
131
+ if (!baseline.ok || (baseline.diagnostics?.length ?? 0) > 0)
132
+ return { ok: false, reason: "prior_projection_unavailable", scope };
133
+ // Fresh eligible completion replaces current data; only same-time retries need parity.
134
+ if (Date.parse(input.collectedAt) === Date.parse(retained.collectedAt)) {
135
+ const verdict = compareLegacyCoverage(baseline.payload, projection.payload, {
136
+ scope,
137
+ entityKeys: LEGACY_SCOPE_ENTITY_KEYS[scope],
138
+ projectionOmissions: projection.projectionOmissions,
139
+ canonicalNewer: Date.parse(input.collectedAt) > Date.parse(retained.collectedAt),
140
+ ...OURA_BROWSER_HISTORY_POLICY,
141
+ });
142
+ if (!verdict.covered)
143
+ return { ok: false, reason: verdict.reason, scope };
144
+ }
145
+ }
146
+ const served = await options.legacyScopeView?.readLatest(scope);
147
+ if (served?.kind === "refused" &&
148
+ !["no_connection", "no_synced_data"].includes(served.refusal.reason) &&
149
+ !(retained && served.refusal.reason === "canonical_view_incomplete"))
150
+ return { ok: false, reason: "canonical_view_unavailable", scope };
151
+ if (served?.kind === "canonical") {
152
+ if (Date.parse(input.collectedAt) < Date.parse(served.envelope.collectedAt))
153
+ return { ok: false, reason: "stale_collection", scope };
154
+ // Fresh eligible completion replaces current data; only same-time retries need parity.
155
+ if (Date.parse(input.collectedAt) ===
156
+ Date.parse(served.envelope.collectedAt)) {
157
+ const verdict = compareLegacyCoverage(served.envelope.data, projection.payload, {
158
+ scope,
159
+ entityKeys: LEGACY_SCOPE_ENTITY_KEYS[scope],
160
+ projectionOmissions: projection.projectionOmissions,
161
+ canonicalNewer: Date.parse(input.collectedAt) >
162
+ Date.parse(served.envelope.collectedAt),
163
+ ...OURA_BROWSER_HISTORY_POLICY,
164
+ });
165
+ if (!verdict.covered)
166
+ return { ok: false, reason: verdict.reason, scope };
167
+ }
168
+ }
169
+ const head = storage.findEntry({ scope });
170
+ let headTime = head?.collectedAt;
171
+ if (head?.producer === "pdpp-import-projection" &&
172
+ head.producerProvenance) {
173
+ try {
174
+ const provenance = JSON.parse(head.producerProvenance);
175
+ if (object(provenance) &&
176
+ provenance.method === "oura-browser" &&
177
+ typeof provenance.sourceCollectedAt === "string")
178
+ headTime = provenance.sourceCollectedAt;
179
+ }
180
+ catch {
181
+ return { ok: false, reason: "invalid_prior_provenance", scope };
182
+ }
183
+ }
184
+ if (head) {
185
+ const priorTime = Date.parse(headTime ?? "");
186
+ if (!Number.isFinite(priorTime) ||
187
+ Date.parse(input.collectedAt) < priorTime) {
188
+ return { ok: false, reason: "stale_collection", scope };
189
+ }
190
+ // Stored PDPP heads constrain the next batch through the same projected
191
+ // form apps read. Diagnostic omissions must never weaken this check.
192
+ let legacy;
193
+ try {
194
+ legacy = await withLegacyProjection(storage, {
195
+ onIssue: () => {
196
+ throw new Error("Incomplete stored Oura projection");
197
+ },
198
+ }).readEnvelope(scope, head.collectedAt);
199
+ }
200
+ catch {
201
+ return { ok: false, reason: "prior_projection_unavailable", scope };
202
+ }
203
+ // Fresh eligible completion replaces current data; only same-time retries need parity.
204
+ if (Date.parse(input.collectedAt) === priorTime) {
205
+ const verdict = compareLegacyCoverage(legacy.data, projection.payload, {
206
+ scope,
207
+ entityKeys: LEGACY_SCOPE_ENTITY_KEYS[scope],
208
+ projectionOmissions: projection.projectionOmissions,
209
+ canonicalNewer: Date.parse(input.collectedAt) > priorTime,
210
+ ...OURA_BROWSER_HISTORY_POLICY,
211
+ });
212
+ if (!verdict.covered)
213
+ return { ok: false, reason: verdict.reason, scope };
214
+ }
215
+ if (head.producer === "pdpp-import-projection" &&
216
+ headTime === input.collectedAt &&
217
+ JSON.stringify(legacy.data) === JSON.stringify(projection.payload))
218
+ continue;
219
+ }
220
+ // File names use collectedAt. Allocate a distinct instant on same-time import;
221
+ // retain the source horizon separately so retries/freshness use collection time.
222
+ const storedAt = new Date(Math.max(Date.parse(input.collectedAt), head ? Date.parse(head.collectedAt) + 1 : 0)).toISOString();
223
+ plans.push({
224
+ scope,
225
+ head,
226
+ collectedAt: storedAt,
227
+ payload: projection.payload,
228
+ });
229
+ }
230
+ // Recheck the selected heads after asynchronous reads, before touching any file.
231
+ if (plans.some(({ scope, head }) => storage.findEntry({ scope })?.path !== head?.path)) {
232
+ return { ok: false, reason: "head_changed" };
233
+ }
234
+ const refused = await options.beforeCommit?.(input);
235
+ if (refused)
236
+ return refused;
237
+ for (const { scope, collectedAt, payload, head } of plans) {
238
+ const provenance = {
239
+ method: "oura-browser",
240
+ sourceCollectedAt: input.collectedAt,
241
+ projector_version: "oura-browser-lite/1",
242
+ declaration_digest: OURA_BROWSER_DECLARATION_DIGEST,
243
+ inputs: [], // This batch has no durable canonical change cursor.
244
+ payload_sha256: await sha256Hex(canonicalJsonBytes(payload)),
245
+ };
246
+ const encodedProvenance = btoa(JSON.stringify(provenance))
247
+ .replace(/\+/g, "-")
248
+ .replace(/\//g, "_")
249
+ .replace(/=+$/, "");
250
+ const headers = new Headers({
251
+ "content-type": "application/json",
252
+ "vana-producer": "pdpp-import-projection",
253
+ "vana-producer-provenance": encodedProvenance,
254
+ });
255
+ if (storage.commitEnvelope) {
256
+ if (head)
257
+ headers.set("if-match", `"${head.casRevision ?? head.version}"`);
258
+ else
259
+ headers.set("if-none-match", "*");
260
+ }
261
+ // The public runtime authorizes the owner before entering this helper.
262
+ // This in-process call runs the same body/provenance validation, tombstone
263
+ // ordering, commit, additions ledger, derivative hook and sync path as POST.
264
+ const response = await handlePersonalServerDataRequest(new Request(`https://ps-lite.internal/v1/data/${scope}`, {
265
+ method: "POST",
266
+ headers,
267
+ body: JSON.stringify(payload),
268
+ }), {
269
+ ...options,
270
+ storage,
271
+ auth: {
272
+ authorizeOwner: async () => { },
273
+ authorizeBuilderList: async () => {
274
+ throw new Error("Owner ingest only");
275
+ },
276
+ authorizeBuilderRead: async () => {
277
+ throw new Error("Owner ingest only");
278
+ },
279
+ },
280
+ accessLogWriter: { write: async () => { } },
281
+ now: () => new Date(collectedAt),
282
+ }, { basePath: "/v1/data" });
283
+ if (!response.ok) {
284
+ const failure = (await response.json());
285
+ return { ok: false, reason: failure.error ?? "ingest_failed", scope };
286
+ }
287
+ }
288
+ const receipts = [];
289
+ for (const stream of STREAMS) {
290
+ const scope = `oura.${stream}`;
291
+ const current = await options.legacyScopeView?.readLatest(scope);
292
+ if (current?.kind === "refused")
293
+ return { ok: false, reason: "canonical_view_unavailable", scope };
294
+ const head = storage.findEntry({ scope });
295
+ const envelope = current?.kind === "canonical"
296
+ ? current.envelope
297
+ : head
298
+ ? await (storage.readStoredEnvelope ?? storage.readEnvelope).call(storage, scope, head.collectedAt)
299
+ : null;
300
+ if (!envelope)
301
+ return { ok: false, reason: "committed_head_unavailable", scope };
302
+ receipts.push({
303
+ scope,
304
+ collectedAt: envelope.collectedAt,
305
+ plaintextBytes: new TextEncoder().encode(JSON.stringify(envelope))
306
+ .byteLength,
307
+ });
308
+ }
309
+ return {
310
+ ok: true,
311
+ scopes: STREAMS.map((stream) => `oura.${stream}`),
312
+ receipts,
313
+ };
314
+ }
315
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/oura/index.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ import { type ConsentEvidence } from "./issuance.js";
30
30
  import { type InstanceInventory, type OwnerChoices } from "./resolve.js";
31
31
  import type { PdppAuthStore } from "./store.js";
32
32
  import type { PdppTokenService } from "./tokens.js";
33
- import type { DeclarationSnapshot, Grant, OwnerConditions, RecipientTerms, SelectionRequest } from "./types.js";
33
+ import { type DeclarationSnapshot, type Grant, type OwnerConditions, type RecipientTerms, type SelectionRequest } from "./types.js";
34
34
  /** How long an owner has to act on a consent screen before it goes stale. */
35
35
  export declare const REVIEW_SESSION_TTL_SECONDS: number;
36
36
  export type SessionState = "pending" | "approved" | "denied";
@@ -1 +1 @@
1
- {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/pdpp/approval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EAEL,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EACV,mBAAmB,EACnB,KAAK,EACL,eAAe,EACf,cAAc,EACd,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,QAAU,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,oDAAoD;IACpD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,mBAAmB;AAC7B,6EAA6E;AAC3E,cAAc,GACd,mBAAmB,GACnB,cAAc,GACd,8BAA8B;AAChC,sEAAsE;GACpE,eAAe;AACjB;;;;;;;;GAQG;GACD,mBAAmB;AACrB;;;;;GAKG;GACD,6BAA6B,GAC7B,6BAA6B,GAC7B,iBAAiB,CAAC;AAEtB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,eAAe,EAAE,eAAe,CAAA;CAAE,GAC5D;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CAAC;AAE5C;;;;;GAKG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2C;IAEpE,MAAM,CAAC,KAAK,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,QAAQ,EAAE,mBAAmB,CAAC;QAC9B,SAAS,EAAE,iBAAiB,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,IAAI,CAAC;KACZ,GAAG,oBAAoB;IA2BxB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAInD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI;IAKxD;;;;;;OAMG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAIzD;AA8ED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;OAGG;IACH,wBAAwB,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5C,UAAU,EAAE,MAAM,CAAC;CACpB;AAuGD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qEAAqE;IACrE,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B;;;;OAIG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GACG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GACvC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CA2H1C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG,cAAc,CA+FjB;AAaD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,EAAE,yBAAyB,CAAC;IACpC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,CA6BzD"}
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/pdpp/approval.ts"],"names":[],"mappings":"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"}
@@ -28,8 +28,9 @@
28
28
  import { randomBytes } from "node:crypto";
29
29
  import { buildConsentReview, } from "./review.js";
30
30
  import { issueGrant } from "./issuance.js";
31
- import { expandSelections, resolveSelection, } from "./resolve.js";
31
+ import { expandSelections, streamIsOmitted, resolveSelection, } from "./resolve.js";
32
32
  import { resolveCommitments } from "./commitments.js";
33
+ import { PDPP_DATA_ACCESS_TYPE_CANDIDATE, } from "./types.js";
33
34
  /** How long an owner has to act on a consent screen before it goes stale. */
34
35
  export const REVIEW_SESSION_TTL_SECONDS = 10 * 60;
35
36
  /**
@@ -186,9 +187,11 @@ function withInstanceChoices(inventory, choices) {
186
187
  * move. Sharing the expansion is what makes that class of divergence
187
188
  * impossible rather than merely fixed.
188
189
  */
189
- function pendingInstanceChoices(session, inventory) {
190
+ function pendingInstanceChoices(session, inventory, ownerChoices) {
190
191
  const choices = [];
191
192
  for (const stream of expandSelections(session.request, session.snapshot)) {
193
+ if (streamIsOmitted(session.request, stream, ownerChoices))
194
+ continue;
192
195
  // An explicitly named handle set is already a decision; no choice needed.
193
196
  if (stream.instance_ids && stream.instance_ids.length > 0)
194
197
  continue;
@@ -247,7 +250,7 @@ export function fetchReview(input) {
247
250
  },
248
251
  };
249
252
  }
250
- if (requestsFanIn(session.request, session.snapshot, input.instanceChoices)) {
253
+ if (requestsFanIn(session.request, session.snapshot, input.instanceChoices, input.ownerChoices)) {
251
254
  return {
252
255
  ok: false,
253
256
  failure: {
@@ -259,7 +262,7 @@ export function fetchReview(input) {
259
262
  const inventory = withInstanceChoices(input.inventory, input.instanceChoices);
260
263
  // Surface outstanding choices before attempting resolution: an unresolvable
261
264
  // instance is a consent step, not an error the owner can do nothing about.
262
- const choices = pendingInstanceChoices(session, inventory);
265
+ const choices = pendingInstanceChoices(session, inventory, input.ownerChoices);
263
266
  if (choices.length > 0) {
264
267
  return {
265
268
  ok: true,
@@ -271,7 +274,13 @@ export function fetchReview(input) {
271
274
  };
272
275
  }
273
276
  const resolution = resolveSelection(session.request, session.snapshot, inventory, input.ownerChoices);
274
- if (!resolution.ok) {
277
+ // A candidate's optional streams start unselected. With none selected yet
278
+ // the owner still needs the review to choose from; only issuance refuses
279
+ // an empty grant (`approveAuthorization` resolves again and refuses it).
280
+ const pendingSelection = !resolution.ok &&
281
+ resolution.failure.code === "no_streams_approved" &&
282
+ session.request.type === PDPP_DATA_ACCESS_TYPE_CANDIDATE;
283
+ if (!resolution.ok && !pendingSelection) {
275
284
  // A narrowing incompatible with the request's own requirements is the
276
285
  // owner's choice colliding with the client's floor, not a malformed
277
286
  // request. Reporting it as `access_denied` is what lets the consent UI
@@ -312,9 +321,17 @@ export function fetchReview(input) {
312
321
  subjectId: session.subject_id,
313
322
  request: session.request,
314
323
  snapshot: session.snapshot,
315
- resolvedStreams: resolution.streams,
316
- omittedStreams: resolution.omittedStreams,
317
- requestedStreams: resolution.requestedStreams,
324
+ ...(resolution.ok
325
+ ? {
326
+ resolvedStreams: resolution.streams,
327
+ omittedStreams: resolution.omittedStreams,
328
+ requestedStreams: resolution.requestedStreams,
329
+ }
330
+ : {
331
+ resolvedStreams: [],
332
+ omittedStreams: resolution.failure.omittedStreams,
333
+ requestedStreams: resolution.failure.requestedStreams,
334
+ }),
318
335
  requester: session.requester,
319
336
  expiresAt: session.grant_expires_at,
320
337
  streamDescriptions: session.stream_descriptions,
@@ -363,7 +380,7 @@ export function approveAuthorization(input) {
363
380
  },
364
381
  };
365
382
  }
366
- if (requestsFanIn(session.request, session.snapshot, input.instanceChoices)) {
383
+ if (requestsFanIn(session.request, session.snapshot, input.instanceChoices, input.ownerChoices)) {
367
384
  return {
368
385
  ok: false,
369
386
  failure: {
@@ -431,8 +448,10 @@ export function approveAuthorization(input) {
431
448
  consentEvidence: issuance.consentEvidence,
432
449
  };
433
450
  }
434
- function requestsFanIn(request, snapshot, choices) {
451
+ function requestsFanIn(request, snapshot, choices, ownerChoices) {
435
452
  return expandSelections(request, snapshot).some((stream) => {
453
+ if (streamIsOmitted(request, stream, ownerChoices))
454
+ return false;
436
455
  const ids = choices?.[stream.name] ?? stream.instance_ids ?? [];
437
456
  return new Set(ids).size > 1;
438
457
  });
@@ -1 +1 @@
1
- {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/pdpp/approval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/pdpp/approval.ts"],"names":[],"mappings":"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"}