@opendatalabs/personal-server-ts-core 1.34.1 → 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 (421) 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 +19 -2
  10. package/dist/api/index.d.ts.map +1 -1
  11. package/dist/api/index.js +185 -13
  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 +89 -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 +17 -9
  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/data-point-feed.d.ts.map +1 -1
  390. package/dist/sync/data-point-feed.js +4 -1
  391. package/dist/sync/data-point-feed.js.map +1 -1
  392. package/dist/sync/delete-data-port.d.ts +15 -0
  393. package/dist/sync/delete-data-port.d.ts.map +1 -1
  394. package/dist/sync/delete-data-port.js +19 -7
  395. package/dist/sync/delete-data-port.js.map +1 -1
  396. package/dist/sync/index.d.ts +2 -1
  397. package/dist/sync/index.d.ts.map +1 -1
  398. package/dist/sync/index.js +2 -1
  399. package/dist/sync/index.js.map +1 -1
  400. package/dist/sync/pending-blob-deletions.d.ts +18 -2
  401. package/dist/sync/pending-blob-deletions.d.ts.map +1 -1
  402. package/dist/sync/pending-blob-deletions.js +69 -23
  403. package/dist/sync/pending-blob-deletions.js.map +1 -1
  404. package/dist/sync/scope-deletions.d.ts +2 -0
  405. package/dist/sync/scope-deletions.d.ts.map +1 -1
  406. package/dist/sync/scope-deletions.js +60 -19
  407. package/dist/sync/scope-deletions.js.map +1 -1
  408. package/dist/sync/workers/delete.d.ts.map +1 -1
  409. package/dist/sync/workers/delete.js +316 -142
  410. package/dist/sync/workers/delete.js.map +1 -1
  411. package/dist/sync/workers/download.d.ts.map +1 -1
  412. package/dist/sync/workers/download.js +53 -5
  413. package/dist/sync/workers/download.js.map +1 -1
  414. package/dist/sync/workers/upload.d.ts +24 -5
  415. package/dist/sync/workers/upload.d.ts.map +1 -1
  416. package/dist/sync/workers/upload.js +160 -275
  417. package/dist/sync/workers/upload.js.map +1 -1
  418. package/dist/test-utils/memory-storage.d.ts.map +1 -1
  419. package/dist/test-utils/memory-storage.js +17 -2
  420. package/dist/test-utils/memory-storage.js.map +1 -1
  421. package/package.json +24 -2
@@ -1,3 +1,5 @@
1
+ import { expandedRequestFields, validateTimeRangeBounds } from "./selection.js";
2
+ import { declaredTimeType, compareTime, compareLegacyTimeBounds, } from "./time.js";
1
3
  /**
2
4
  * PDPP Core §6→§7 resolution: turn a validated selection request into the
3
5
  * explicit grant facts that get frozen at issuance.
@@ -14,7 +16,7 @@
14
16
  * against. Passing a newer declaration here is the bug §9 AS item 16 exists to
15
17
  * prevent: it would let a later declaration widen an in-flight authorization.
16
18
  */
17
- import { PDPP_DATA_ACCESS_TYPE_V02, } from "./types.js";
19
+ import { PDPP_DATA_ACCESS_TYPE_V02, PDPP_DATA_ACCESS_TYPE_CANDIDATE, } from "./types.js";
18
20
  function failure(code, message, extra) {
19
21
  return { ok: false, failure: { code, message, ...extra } };
20
22
  }
@@ -38,33 +40,19 @@ function unique(values) {
38
40
  * saw a choice about it.
39
41
  */
40
42
  function requestedFields(request, declared, snapshot, revision) {
41
- let requested;
42
- if (request.view !== undefined) {
43
- const view = snapshot.views?.find((v) => v.name === request.view);
44
- if (!view) {
45
- return {
46
- ok: false,
47
- failure: {
48
- code: "unknown_view",
49
- message: `view '${request.view}' is not defined for this source`,
50
- stream: declared.name,
51
- },
52
- };
53
- }
54
- requested = view.fields;
55
- }
56
- else if (request.fields !== undefined) {
57
- requested = request.fields;
58
- }
59
- else {
60
- // §6 "Note on defaults": omitting both asks the AS to resolve all
61
- // permitted fields from the retained snapshot.
62
- requested = declared.fields;
43
+ if (request.view !== undefined &&
44
+ !snapshot.views?.some((v) => v.name === request.view)) {
45
+ return {
46
+ ok: false,
47
+ failure: {
48
+ code: "unknown_view",
49
+ message: `view '${request.view}' is not defined for this source`,
50
+ stream: declared.name,
51
+ },
52
+ };
63
53
  }
64
- // Intersect with the declared schema first, so a view or allowlist can
65
- // never introduce a field the snapshot does not define.
66
- const permitted = requested.filter((f) => declared.fields.includes(f));
67
- const fields = revision === "0.1"
54
+ const permitted = expandedRequestFields(request, declared, snapshot, revision === "candidate");
55
+ const fields = revision !== "0.2"
68
56
  ? unique([...permitted, ...declared.required_fields])
69
57
  : unique(permitted);
70
58
  if (fields.length === 0) {
@@ -93,10 +81,6 @@ function narrowFields(ceiling, chosen) {
93
81
  return ceiling;
94
82
  return ceiling.filter((f) => chosen.includes(f));
95
83
  }
96
- /** Instant for a bound, with an absent bound reading as the open end. */
97
- function instant(value, open) {
98
- return value === undefined ? open : Date.parse(value);
99
- }
100
84
  /**
101
85
  * Clamp the owner's window into the requested window.
102
86
  *
@@ -104,15 +88,19 @@ function instant(value, open) {
104
88
  * `until` win. An owner asking for more history than the client requested
105
89
  * gets the client's limit, not their own ask.
106
90
  */
107
- function narrowTimeRange(ceiling, chosen) {
91
+ function narrowTimeRange(ceiling, chosen, type) {
108
92
  if (chosen === undefined)
109
93
  return ceiling;
110
94
  const since = [ceiling?.since, chosen.since]
111
95
  .filter((v) => v !== undefined)
112
- .sort((a, b) => Date.parse(b) - Date.parse(a))[0];
96
+ .sort((a, b) => type
97
+ ? (compareTime(b, a, type) ?? 0)
98
+ : (compareLegacyTimeBounds(b, a) ?? 0))[0];
113
99
  const until = [ceiling?.until, chosen.until]
114
100
  .filter((v) => v !== undefined)
115
- .sort((a, b) => Date.parse(a) - Date.parse(b))[0];
101
+ .sort((a, b) => type
102
+ ? (compareTime(a, b, type) ?? 0)
103
+ : (compareLegacyTimeBounds(a, b) ?? 0))[0];
116
104
  if (since === undefined && until === undefined)
117
105
  return undefined;
118
106
  return {
@@ -129,7 +117,7 @@ function narrowTimeRange(ceiling, chosen) {
129
117
  * suitability, and that the AS must not require records to exist to satisfy
130
118
  * one. So this function never touches a record.
131
119
  */
132
- function minimumSatisfied(minimum, fields, window) {
120
+ function minimumSatisfied(minimum, fields, window, type) {
133
121
  if (!minimum)
134
122
  return { ok: true };
135
123
  if (minimum.fields) {
@@ -145,10 +133,11 @@ function minimumSatisfied(minimum, fields, window) {
145
133
  // The resolved window must *contain* the entire minimum window. An absent
146
134
  // resolved lower bound is negative infinity and an absent upper bound is
147
135
  // positive infinity, so an unbounded window contains every floor.
148
- const from = instant(window?.since, -Infinity);
149
- const to = instant(window?.until, Infinity);
150
- if (Date.parse(minimum.time_range.since) < from ||
151
- Date.parse(minimum.time_range.until) > to) {
136
+ const compare = (a, b) => type ? compareTime(a, b, type) : compareLegacyTimeBounds(a, b);
137
+ if ((window?.since !== undefined &&
138
+ compare(minimum.time_range.since, window.since) < 0) ||
139
+ (window?.until !== undefined &&
140
+ compare(minimum.time_range.until, window.until) > 0)) {
152
141
  return {
153
142
  ok: false,
154
143
  reason: "the approved time window does not contain the required minimum window",
@@ -212,7 +201,7 @@ function resolveInstances(request, streamName, inventory) {
212
201
  * Freezing the field name (not just the bounds) is what stops a later
213
202
  * declaration that renames its time field from silently re-scoping the grant.
214
203
  */
215
- function resolveTimeConstraint(window, declared) {
204
+ function resolveTimeConstraint(window, declared, candidate) {
216
205
  if (!window)
217
206
  return undefined;
218
207
  const { since, until } = window;
@@ -224,6 +213,7 @@ function resolveTimeConstraint(window, declared) {
224
213
  return undefined;
225
214
  return {
226
215
  field,
216
+ ...(candidate && { type: declaredTimeType(declared) }),
227
217
  ...(since !== undefined && { since }),
228
218
  ...(until !== undefined && { until }),
229
219
  };
@@ -233,9 +223,14 @@ function resolveOneStream(request, declared, snapshot, inventory, revision, choi
233
223
  if (!ceiling.ok)
234
224
  return { kind: "failed", failure: ceiling.failure };
235
225
  // v0.1 has no narrowing step, so its resolution is untouched by choices.
236
- const fields = revision === "0.2"
226
+ const narrowedFields = revision !== "0.1"
237
227
  ? narrowFields(ceiling.fields, choices?.fields?.[declared.name])
238
228
  : ceiling.fields;
229
+ // Core candidate retains the schema-required floor at issuance, unlike
230
+ // the independent private-v0.2 proposal. The RS only sees frozen authority.
231
+ const fields = revision === "candidate"
232
+ ? unique([...narrowedFields, ...declared.required_fields])
233
+ : narrowedFields;
239
234
  if (fields.length === 0) {
240
235
  // The resolved selection must contain at least one field per retained
241
236
  // stream, so an owner who narrowed everything away has refused the
@@ -249,15 +244,44 @@ function resolveOneStream(request, declared, snapshot, inventory, revision, choi
249
244
  },
250
245
  };
251
246
  }
252
- const window = revision === "0.2"
253
- ? narrowTimeRange(request.time_range, choices?.time_ranges?.[declared.name])
247
+ if (revision === "candidate" &&
248
+ choices?.time_ranges?.[declared.name] !== undefined) {
249
+ const type = declaredTimeType(declared);
250
+ const chosen = type &&
251
+ validateTimeRangeBounds(choices.time_ranges[declared.name], `owner time range for '${declared.name}'`, type);
252
+ if (!chosen || !chosen.ok)
253
+ return {
254
+ kind: "failed",
255
+ failure: {
256
+ code: "invalid_time_range",
257
+ message: "candidate owner bounds must be valid values of the frozen temporal type",
258
+ stream: declared.name,
259
+ },
260
+ };
261
+ }
262
+ const window = revision !== "0.1"
263
+ ? narrowTimeRange(request.time_range, choices?.time_ranges?.[declared.name], revision === "candidate" ? declaredTimeType(declared) : undefined)
254
264
  : request.time_range;
255
- if (revision === "0.2") {
265
+ if (revision === "candidate" && window) {
266
+ const type = declaredTimeType(declared);
267
+ const valid = type &&
268
+ validateTimeRangeBounds(window, `stream '${declared.name}'`, type);
269
+ if (!valid || !valid.ok)
270
+ return {
271
+ kind: "failed",
272
+ failure: {
273
+ code: "invalid_time_range",
274
+ message: "candidate temporal narrowing must have valid typed bounds in increasing order",
275
+ stream: declared.name,
276
+ },
277
+ };
278
+ }
279
+ if (revision !== "0.1") {
256
280
  // Checked before instance resolution: an unsatisfiable minimum is a
257
281
  // decision about this stream that does not depend on which handle serves
258
282
  // it, and an optional stream that is about to drop out should not fail
259
283
  // the whole authorization on a missing instance it will never use.
260
- const satisfied = minimumSatisfied(request.minimum, fields, window);
284
+ const satisfied = minimumSatisfied(request.minimum, fields, window, revision === "candidate" ? declaredTimeType(declared) : undefined);
261
285
  if (!satisfied.ok) {
262
286
  return { kind: "minimum_unmet", reason: satisfied.reason };
263
287
  }
@@ -265,13 +289,16 @@ function resolveOneStream(request, declared, snapshot, inventory, revision, choi
265
289
  const instances = resolveInstances(request, declared.name, inventory);
266
290
  if (!instances.ok)
267
291
  return { kind: "failed", failure: instances.failure };
268
- const timeConstraint = resolveTimeConstraint(window, declared);
292
+ const timeConstraint = resolveTimeConstraint(window, declared, revision === "candidate");
269
293
  return {
270
294
  kind: "resolved",
271
295
  stream: {
272
296
  name: declared.name,
273
297
  instance_ids: instances.instanceIds,
274
298
  fields,
299
+ ...(revision === "candidate" && {
300
+ required_fields: declared.required_fields.filter((f) => fields.includes(f)),
301
+ }),
275
302
  ...(timeConstraint && { time_constraint: timeConstraint }),
276
303
  ...(request.resources && { resources: unique(request.resources) }),
277
304
  },
@@ -295,7 +322,15 @@ function resolveOneStream(request, declared, snapshot, inventory, revision, choi
295
322
  export function expandSelections(request, snapshot) {
296
323
  if (request.selection_preset !== undefined) {
297
324
  const preset = snapshot.selection_presets?.find((p) => p.name === request.selection_preset);
298
- return preset ? preset.streams : [];
325
+ return !preset
326
+ ? []
327
+ : request.type === PDPP_DATA_ACCESS_TYPE_CANDIDATE
328
+ ? expandSelections({
329
+ ...request,
330
+ selection_preset: undefined,
331
+ streams: preset.streams,
332
+ }, snapshot)
333
+ : preset.streams;
299
334
  }
300
335
  const streams = request.streams ?? [];
301
336
  const wildcard = streams.find((s) => s.name === "*");
@@ -322,8 +357,70 @@ export function expandSelections(request, snapshot) {
322
357
  * names, fields, resources, and temporal bounds, which only exist once this
323
358
  * has run.
324
359
  */
360
+ export function streamIsOmitted(request, selection, choices) {
361
+ if (request.type !== PDPP_DATA_ACCESS_TYPE_V02 &&
362
+ request.type !== PDPP_DATA_ACCESS_TYPE_CANDIDATE)
363
+ return false;
364
+ if (Array.isArray(choices?.declined_streams) &&
365
+ choices.declined_streams.includes(selection.name))
366
+ return true;
367
+ return (request.type === PDPP_DATA_ACCESS_TYPE_CANDIDATE &&
368
+ (selection.necessity ?? "optional") === "optional" &&
369
+ !(Array.isArray(choices?.approved_streams) &&
370
+ choices.approved_streams.includes(selection.name)));
371
+ }
372
+ /** The single candidate owner-choice boundary, before choices affect consent. */
373
+ export function validateCandidateOwnerChoices(request, snapshot, choices) {
374
+ if (choices === undefined)
375
+ return undefined;
376
+ const object = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
377
+ const names = (value) => Array.isArray(value) &&
378
+ value.every((name) => typeof name === "string" && name.length > 0);
379
+ if (!object(choices))
380
+ return "owner choices must be an object";
381
+ if (Object.keys(choices).some((key) => ![
382
+ "approved_streams",
383
+ "declined_streams",
384
+ "fields",
385
+ "time_ranges",
386
+ ].includes(key)))
387
+ return "unknown owner choice member";
388
+ const selected = new Set(expandSelections(request, snapshot).map((stream) => stream.name));
389
+ for (const key of ["approved_streams", "declined_streams"]) {
390
+ const values = choices[key];
391
+ if (values === undefined)
392
+ continue;
393
+ if (!names(values) || values.some((name) => !selected.has(name)))
394
+ return `${key} must name only requested streams`;
395
+ }
396
+ if (choices.approved_streams?.some((name) => choices.declined_streams?.includes(name)))
397
+ return "a stream cannot be both approved and declined";
398
+ if (choices.fields !== undefined) {
399
+ if (!object(choices.fields) ||
400
+ Object.entries(choices.fields).some(([name, fields]) => !selected.has(name) || !names(fields)))
401
+ return "fields must map requested streams to field lists";
402
+ }
403
+ if (choices.time_ranges !== undefined) {
404
+ if (!object(choices.time_ranges) ||
405
+ Object.entries(choices.time_ranges).some(([name, range]) => !selected.has(name) ||
406
+ !object(range) ||
407
+ Object.keys(range).length === 0 ||
408
+ Object.entries(range).some(([key, value]) => !["since", "until"].includes(key) || typeof value !== "string")))
409
+ return "time_ranges must map requested streams to non-empty bound objects";
410
+ }
411
+ return undefined;
412
+ }
325
413
  export function resolveSelection(request, snapshot, inventory, choices) {
326
- const revision = request.type === PDPP_DATA_ACCESS_TYPE_V02 ? "0.2" : "0.1";
414
+ const revision = request.type === PDPP_DATA_ACCESS_TYPE_CANDIDATE
415
+ ? "candidate"
416
+ : request.type === PDPP_DATA_ACCESS_TYPE_V02
417
+ ? "0.2"
418
+ : "0.1";
419
+ if (revision === "candidate") {
420
+ const invalid = validateCandidateOwnerChoices(request, snapshot, choices);
421
+ if (invalid)
422
+ return failure("invalid_owner_choices", invalid);
423
+ }
327
424
  const selections = expandSelections(request, snapshot);
328
425
  if (selections.length === 0) {
329
426
  return failure("unknown_stream", "the selection resolved to no streams against the retained snapshot");
@@ -336,13 +433,11 @@ export function resolveSelection(request, snapshot, inventory, choices) {
336
433
  if (!declared) {
337
434
  return failure("unknown_stream", `stream '${selection.name}' is not declared by the retained snapshot`, { stream: selection.name });
338
435
  }
339
- // `necessity` defaults to `required`, so an unmarked stream is one the AS
340
- // must retain or refuse. Inferring "optional" from omission would let a
341
- // client's silence become the owner's permission to drop a stream the
342
- // client actually depends on.
343
- const necessity = selection.necessity ?? "required";
344
- if (revision === "0.2") {
345
- const ceiling = requestedFields(selection, declared, snapshot, "0.2");
436
+ // Legacy profiles default to required; candidate streams default optional.
437
+ const necessity = selection.necessity ??
438
+ (revision === "candidate" ? "optional" : "required");
439
+ if (revision !== "0.1") {
440
+ const ceiling = requestedFields(selection, declared, snapshot, revision);
346
441
  requestedStreams.push({
347
442
  name: declared.name,
348
443
  necessity,
@@ -350,7 +445,7 @@ export function resolveSelection(request, snapshot, inventory, choices) {
350
445
  ...(selection.time_range && { time_range: selection.time_range }),
351
446
  ...(selection.minimum && { minimum: selection.minimum }),
352
447
  });
353
- if (choices?.declined_streams?.includes(declared.name)) {
448
+ if (streamIsOmitted(request, selection, choices)) {
354
449
  if (necessity === "required") {
355
450
  // A required stream is retained or the authorization is refused.
356
451
  // There is no third outcome, and in particular no weaker grant.
@@ -381,13 +476,16 @@ export function resolveSelection(request, snapshot, inventory, choices) {
381
476
  if (resolved.length === 0) {
382
477
  // No empty grants, and nothing added to compensate for a refused
383
478
  // selection. A different proposal needs a new authorization request.
384
- return failure("no_streams_approved", "the owner approved no streams; a grant with no authorized stream cannot be issued");
479
+ return failure("no_streams_approved", "the owner approved no streams; a grant with no authorized stream cannot be issued", {
480
+ ...(omitted.length > 0 && { omittedStreams: omitted }),
481
+ ...(revision !== "0.1" && { requestedStreams }),
482
+ });
385
483
  }
386
484
  return {
387
485
  ok: true,
388
486
  streams: resolved,
389
487
  ...(omitted.length > 0 && { omittedStreams: omitted }),
390
- ...(revision === "0.2" && { requestedStreams }),
488
+ ...(revision !== "0.1" && { requestedStreams }),
391
489
  };
392
490
  }
393
491
  //# sourceMappingURL=resolve.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/pdpp/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/pdpp/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type TimeType } from "./time.js";
1
2
  /**
2
3
  * PDPP Core §6 selection-request validation.
3
4
  *
@@ -12,7 +13,7 @@
12
13
  * on any owner-specific state. We return a binding-neutral failure and let the
13
14
  * OAuth/RAR layer map it to RFC 9396 `invalid_authorization_details`.
14
15
  */
15
- import { type DeclarationSnapshot, type SelectionRequest } from "./types.js";
16
+ import { type DeclarationSnapshot, type DeclaredStream, type SelectionRequest, type StreamRequest } from "./types.js";
16
17
  /**
17
18
  * Binding-neutral validation failure codes. The OAuth/RAR binding maps these
18
19
  * to wire errors in `../../../server/src/routes/pdpp-authorize.ts`; Core
@@ -38,6 +39,34 @@ export type SelectionValidation = {
38
39
  ok: false;
39
40
  failure: SelectionFailure;
40
41
  };
42
+ /**
43
+ * The field set a `minimum.fields` member must be drawn from: the *expanded
44
+ * request*, not the declaration.
45
+ *
46
+ * v0.2 requires rejecting fields "outside the expanded request", which is a
47
+ * stricter gate than the declared schema. A floor naming a field the client
48
+ * did not request is incoherent — the upper limit already excludes it, so the
49
+ * minimum could never be met and the request could never succeed. Catching it
50
+ * here turns a guaranteed `access_denied` at issuance into a fixable shape
51
+ * error before a human is asked to decide anything.
52
+ */
53
+ export declare function expandedRequestFields(stream: StreamRequest, declared: DeclaredStream, snapshot: DeclarationSnapshot, allFieldsMarker?: boolean): string[];
54
+ /**
55
+ * Validate a request `time_range`'s own shape, independent of which stream
56
+ * carries it.
57
+ *
58
+ * Shared by the named-stream path and the wildcard path so the two cannot
59
+ * disagree about what a well-formed window is. Before this was factored out,
60
+ * a wildcard's window skipped every check here — unparseable bounds, an
61
+ * inverted `since`/`until`, and an empty `{}` were all accepted, while the
62
+ * same values written longhand were rejected. A shorthand that validates less
63
+ * than the form it stands for is a hole, not a convenience.
64
+ *
65
+ * `value` is untrusted JSON, so the object and string types are checked
66
+ * rather than assumed: a `null` or a number here must be a validation failure,
67
+ * not a `TypeError` that the binding turns into a 500.
68
+ */
69
+ export declare function validateTimeRangeBounds(value: unknown, subject: string, type?: TimeType): SelectionValidation;
41
70
  /**
42
71
  * Validate one selection request against the retained declaration snapshot.
43
72
  *
@@ -1 +1 @@
1
- {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/pdpp/selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAGL,KAAK,mBAAmB,EAExB,KAAK,gBAAgB,EAEtB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,MAAM,oBAAoB;AAC9B,2DAA2D;AACzD,0BAA0B,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,iCAAiC,GACjC,sBAAsB;AACxB;;;;;GAKG;GACD,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAga1D;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,mBAAmB,GAC5B,mBAAmB,CAwJrB"}
1
+ {"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../src/pdpp/selection.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,QAAQ,EACd,MAAM,WAAW,CAAC;AACnB;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,MAAM,MAAM,oBAAoB;AAC9B,2DAA2D;AACzD,0BAA0B,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,iCAAiC,GACjC,sBAAsB;AACxB;;;;;GAKG;GACD,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,mBAAmB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAAC;AA0C1D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,cAAc,EACxB,QAAQ,EAAE,mBAAmB,EAC7B,eAAe,UAAQ,GACtB,MAAM,EAAE,CAgBV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,QAAQ,GACd,mBAAmB,CAoCrB;AA+WD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,QAAQ,EAAE,mBAAmB,GAC5B,mBAAmB,CAuKrB"}