@opendatalabs/personal-server-ts-core 1.33.7 → 1.34.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 (341) hide show
  1. package/dist/additions/budget.d.ts +28 -0
  2. package/dist/additions/budget.d.ts.map +1 -0
  3. package/dist/additions/budget.js +119 -0
  4. package/dist/additions/budget.js.map +1 -0
  5. package/dist/additions/durable.d.ts +64 -0
  6. package/dist/additions/durable.d.ts.map +1 -0
  7. package/dist/additions/durable.js +591 -0
  8. package/dist/additions/durable.js.map +1 -0
  9. package/dist/additions/first-added.d.ts +32 -48
  10. package/dist/additions/first-added.d.ts.map +1 -1
  11. package/dist/additions/first-added.js +68 -123
  12. package/dist/additions/first-added.js.map +1 -1
  13. package/dist/additions/index.d.ts +3 -0
  14. package/dist/additions/index.d.ts.map +1 -1
  15. package/dist/additions/index.js +3 -0
  16. package/dist/additions/index.js.map +1 -1
  17. package/dist/additions/ledger-store.js +1 -1
  18. package/dist/additions/record-rules.d.ts.map +1 -1
  19. package/dist/additions/record-rules.js +7 -0
  20. package/dist/additions/record-rules.js.map +1 -1
  21. package/dist/additions/summary.d.ts +88 -1
  22. package/dist/additions/summary.d.ts.map +1 -1
  23. package/dist/additions/summary.js +173 -8
  24. package/dist/additions/summary.js.map +1 -1
  25. package/dist/additions/version-inventory.d.ts +80 -0
  26. package/dist/additions/version-inventory.d.ts.map +1 -0
  27. package/dist/additions/version-inventory.js +232 -0
  28. package/dist/additions/version-inventory.js.map +1 -0
  29. package/dist/api/index.d.ts +70 -2
  30. package/dist/api/index.d.ts.map +1 -1
  31. package/dist/api/index.js +506 -79
  32. package/dist/api/index.js.map +1 -1
  33. package/dist/auth/index.d.ts +1 -1
  34. package/dist/auth/index.d.ts.map +1 -1
  35. package/dist/auth/index.js +1 -1
  36. package/dist/auth/index.js.map +1 -1
  37. package/dist/auth/request.d.ts +6 -0
  38. package/dist/auth/request.d.ts.map +1 -1
  39. package/dist/auth/request.js +66 -4
  40. package/dist/auth/request.js.map +1 -1
  41. package/dist/contracts/data.d.ts +54 -8
  42. package/dist/contracts/data.d.ts.map +1 -1
  43. package/dist/contracts/data.js +178 -35
  44. package/dist/contracts/data.js.map +1 -1
  45. package/dist/contracts/index.d.ts +1 -1
  46. package/dist/contracts/index.d.ts.map +1 -1
  47. package/dist/derivatives/registration.d.ts +0 -5
  48. package/dist/derivatives/registration.d.ts.map +1 -1
  49. package/dist/derivatives/registration.js +2 -1
  50. package/dist/derivatives/registration.js.map +1 -1
  51. package/dist/errors/pdpp-catalog.d.ts +36 -0
  52. package/dist/errors/pdpp-catalog.d.ts.map +1 -0
  53. package/dist/errors/pdpp-catalog.js +86 -0
  54. package/dist/errors/pdpp-catalog.js.map +1 -0
  55. package/dist/grants/index.d.ts +2 -0
  56. package/dist/grants/index.d.ts.map +1 -1
  57. package/dist/grants/index.js +4 -0
  58. package/dist/grants/index.js.map +1 -1
  59. package/dist/grants/pdpp-binding-store.d.ts +89 -0
  60. package/dist/grants/pdpp-binding-store.d.ts.map +1 -0
  61. package/dist/grants/pdpp-binding-store.js +112 -0
  62. package/dist/grants/pdpp-binding-store.js.map +1 -0
  63. package/dist/grants/pdpp-binding.d.ts +169 -0
  64. package/dist/grants/pdpp-binding.d.ts.map +1 -0
  65. package/dist/grants/pdpp-binding.js +236 -0
  66. package/dist/grants/pdpp-binding.js.map +1 -0
  67. package/dist/legacy-projection/bindings.d.ts +28 -1
  68. package/dist/legacy-projection/bindings.d.ts.map +1 -1
  69. package/dist/legacy-projection/bindings.js +622 -189
  70. package/dist/legacy-projection/bindings.js.map +1 -1
  71. package/dist/legacy-projection/claude-source-record.d.ts +22 -0
  72. package/dist/legacy-projection/claude-source-record.d.ts.map +1 -0
  73. package/dist/legacy-projection/claude-source-record.js +360 -0
  74. package/dist/legacy-projection/claude-source-record.js.map +1 -0
  75. package/dist/legacy-projection/declared-text.d.ts +41 -0
  76. package/dist/legacy-projection/declared-text.d.ts.map +1 -0
  77. package/dist/legacy-projection/declared-text.js +199 -0
  78. package/dist/legacy-projection/declared-text.js.map +1 -0
  79. package/dist/legacy-projection/github-browser-bindings.d.ts.map +1 -1
  80. package/dist/legacy-projection/github-browser-bindings.js +89 -5
  81. package/dist/legacy-projection/github-browser-bindings.js.map +1 -1
  82. package/dist/legacy-projection/github-legacy-fields.d.ts +6 -0
  83. package/dist/legacy-projection/github-legacy-fields.d.ts.map +1 -0
  84. package/dist/legacy-projection/github-legacy-fields.js +202 -0
  85. package/dist/legacy-projection/github-legacy-fields.js.map +1 -0
  86. package/dist/legacy-projection/index.d.ts +3 -1
  87. package/dist/legacy-projection/index.d.ts.map +1 -1
  88. package/dist/legacy-projection/index.js +49 -1
  89. package/dist/legacy-projection/index.js.map +1 -1
  90. package/dist/legacy-projection/oura-browser-bindings.d.ts.map +1 -1
  91. package/dist/legacy-projection/oura-browser-bindings.js +43 -41
  92. package/dist/legacy-projection/oura-browser-bindings.js.map +1 -1
  93. package/dist/legacy-projection/types.d.ts +38 -2
  94. package/dist/legacy-projection/types.d.ts.map +1 -1
  95. package/dist/mcp/connection-api.d.ts.map +1 -1
  96. package/dist/mcp/connection-api.js +4 -0
  97. package/dist/mcp/connection-api.js.map +1 -1
  98. package/dist/mcp/index.d.ts +1 -0
  99. package/dist/mcp/index.d.ts.map +1 -1
  100. package/dist/mcp/index.js +1 -0
  101. package/dist/mcp/index.js.map +1 -1
  102. package/dist/mcp/oauth-redirect.d.ts +14 -0
  103. package/dist/mcp/oauth-redirect.d.ts.map +1 -0
  104. package/dist/mcp/oauth-redirect.js +51 -0
  105. package/dist/mcp/oauth-redirect.js.map +1 -0
  106. package/dist/mcp/resources.d.ts.map +1 -1
  107. package/dist/mcp/resources.js +3 -0
  108. package/dist/mcp/resources.js.map +1 -1
  109. package/dist/mcp/tools.d.ts.map +1 -1
  110. package/dist/mcp/tools.js +11 -2
  111. package/dist/mcp/tools.js.map +1 -1
  112. package/dist/pdpp/approval.d.ts +271 -0
  113. package/dist/pdpp/approval.d.ts.map +1 -0
  114. package/dist/pdpp/approval.js +467 -0
  115. package/dist/pdpp/approval.js.map +1 -0
  116. package/dist/pdpp/client-identity.d.ts +88 -0
  117. package/dist/pdpp/client-identity.d.ts.map +1 -0
  118. package/dist/pdpp/client-identity.js +196 -0
  119. package/dist/pdpp/client-identity.js.map +1 -0
  120. package/dist/pdpp/client-metadata.d.ts +95 -0
  121. package/dist/pdpp/client-metadata.d.ts.map +1 -0
  122. package/dist/pdpp/client-metadata.js +96 -0
  123. package/dist/pdpp/client-metadata.js.map +1 -0
  124. package/dist/pdpp/commitments.d.ts +75 -0
  125. package/dist/pdpp/commitments.d.ts.map +1 -0
  126. package/dist/pdpp/commitments.js +113 -0
  127. package/dist/pdpp/commitments.js.map +1 -0
  128. package/dist/pdpp/declaration.d.ts +118 -0
  129. package/dist/pdpp/declaration.d.ts.map +1 -0
  130. package/dist/pdpp/declaration.js +836 -0
  131. package/dist/pdpp/declaration.js.map +1 -0
  132. package/dist/pdpp/index.d.ts +37 -0
  133. package/dist/pdpp/index.d.ts.map +1 -0
  134. package/dist/pdpp/index.js +23 -0
  135. package/dist/pdpp/index.js.map +1 -0
  136. package/dist/pdpp/issuance.d.ts +126 -0
  137. package/dist/pdpp/issuance.d.ts.map +1 -0
  138. package/dist/pdpp/issuance.js +180 -0
  139. package/dist/pdpp/issuance.js.map +1 -0
  140. package/dist/pdpp/pkce.d.ts +53 -0
  141. package/dist/pdpp/pkce.d.ts.map +1 -0
  142. package/dist/pdpp/pkce.js +109 -0
  143. package/dist/pdpp/pkce.js.map +1 -0
  144. package/dist/pdpp/redirect.d.ts +60 -0
  145. package/dist/pdpp/redirect.d.ts.map +1 -0
  146. package/dist/pdpp/redirect.js +125 -0
  147. package/dist/pdpp/redirect.js.map +1 -0
  148. package/dist/pdpp/resolve.d.ts +109 -0
  149. package/dist/pdpp/resolve.d.ts.map +1 -0
  150. package/dist/pdpp/resolve.js +393 -0
  151. package/dist/pdpp/resolve.js.map +1 -0
  152. package/dist/pdpp/review.d.ts +280 -0
  153. package/dist/pdpp/review.d.ts.map +1 -0
  154. package/dist/pdpp/review.js +205 -0
  155. package/dist/pdpp/review.js.map +1 -0
  156. package/dist/pdpp/selection.d.ts +50 -0
  157. package/dist/pdpp/selection.d.ts.map +1 -0
  158. package/dist/pdpp/selection.js +442 -0
  159. package/dist/pdpp/selection.js.map +1 -0
  160. package/dist/pdpp/store.d.ts +228 -0
  161. package/dist/pdpp/store.d.ts.map +1 -0
  162. package/dist/pdpp/store.js +542 -0
  163. package/dist/pdpp/store.js.map +1 -0
  164. package/dist/pdpp/tokens.d.ts +181 -0
  165. package/dist/pdpp/tokens.d.ts.map +1 -0
  166. package/dist/pdpp/tokens.js +419 -0
  167. package/dist/pdpp/tokens.js.map +1 -0
  168. package/dist/pdpp/types.d.ts +441 -0
  169. package/dist/pdpp/types.d.ts.map +1 -0
  170. package/dist/pdpp/types.js +61 -0
  171. package/dist/pdpp/types.js.map +1 -0
  172. package/dist/pdpp-version.d.ts +28 -0
  173. package/dist/pdpp-version.d.ts.map +1 -0
  174. package/dist/pdpp-version.js +28 -0
  175. package/dist/pdpp-version.js.map +1 -0
  176. package/dist/policy/data-read.d.ts +24 -0
  177. package/dist/policy/data-read.d.ts.map +1 -1
  178. package/dist/policy/data-read.js +60 -3
  179. package/dist/policy/data-read.js.map +1 -1
  180. package/dist/policy/data-write.d.ts.map +1 -1
  181. package/dist/policy/data-write.js +3 -0
  182. package/dist/policy/data-write.js.map +1 -1
  183. package/dist/policy/index.d.ts +1 -0
  184. package/dist/policy/index.d.ts.map +1 -1
  185. package/dist/policy/index.js +1 -0
  186. package/dist/policy/index.js.map +1 -1
  187. package/dist/policy/reserved-scopes.d.ts +3 -0
  188. package/dist/policy/reserved-scopes.d.ts.map +1 -0
  189. package/dist/policy/reserved-scopes.js +5 -0
  190. package/dist/policy/reserved-scopes.js.map +1 -0
  191. package/dist/ports/index.d.ts +63 -0
  192. package/dist/ports/index.d.ts.map +1 -1
  193. package/dist/ports/index.js.map +1 -1
  194. package/dist/ports/pdpp-auth.d.ts +129 -0
  195. package/dist/ports/pdpp-auth.d.ts.map +1 -0
  196. package/dist/ports/pdpp-auth.js +60 -0
  197. package/dist/ports/pdpp-auth.js.map +1 -0
  198. package/dist/ports/pdpp-auth.test-utils.d.ts +9 -0
  199. package/dist/ports/pdpp-auth.test-utils.d.ts.map +1 -0
  200. package/dist/ports/pdpp-auth.test-utils.js +18 -0
  201. package/dist/ports/pdpp-auth.test-utils.js.map +1 -0
  202. package/dist/schemas/server-config.d.ts +44 -0
  203. package/dist/schemas/server-config.d.ts.map +1 -1
  204. package/dist/schemas/server-config.js +91 -0
  205. package/dist/schemas/server-config.js.map +1 -1
  206. package/dist/signing/request-signer.d.ts +2 -0
  207. package/dist/signing/request-signer.d.ts.map +1 -1
  208. package/dist/signing/request-signer.js +1 -0
  209. package/dist/signing/request-signer.js.map +1 -1
  210. package/dist/storage/adapters/interface.d.ts +3 -0
  211. package/dist/storage/adapters/interface.d.ts.map +1 -1
  212. package/dist/storage/adapters/vana-audience.d.ts +12 -0
  213. package/dist/storage/adapters/vana-audience.d.ts.map +1 -0
  214. package/dist/storage/adapters/vana-audience.js +72 -0
  215. package/dist/storage/adapters/vana-audience.js.map +1 -0
  216. package/dist/storage/adapters/vana.d.ts +2 -0
  217. package/dist/storage/adapters/vana.d.ts.map +1 -1
  218. package/dist/storage/adapters/vana.js +53 -20
  219. package/dist/storage/adapters/vana.js.map +1 -1
  220. package/dist/storage/canonical-legacy-projection.d.ts +262 -0
  221. package/dist/storage/canonical-legacy-projection.d.ts.map +1 -0
  222. package/dist/storage/canonical-legacy-projection.js +761 -0
  223. package/dist/storage/canonical-legacy-projection.js.map +1 -0
  224. package/dist/storage/index/manager.d.ts +29 -2
  225. package/dist/storage/index/manager.d.ts.map +1 -1
  226. package/dist/storage/index/schema.d.ts +1 -1
  227. package/dist/storage/index/schema.js +1 -1
  228. package/dist/storage/index/types.d.ts +7 -1
  229. package/dist/storage/index/types.d.ts.map +1 -1
  230. package/dist/storage/legacy-projection.d.ts +4 -3
  231. package/dist/storage/legacy-projection.d.ts.map +1 -1
  232. package/dist/storage/legacy-projection.js +145 -42
  233. package/dist/storage/legacy-projection.js.map +1 -1
  234. package/dist/storage/legacy-scope-coverage-exceptions.d.ts +8 -0
  235. package/dist/storage/legacy-scope-coverage-exceptions.d.ts.map +1 -0
  236. package/dist/storage/legacy-scope-coverage-exceptions.js +10 -0
  237. package/dist/storage/legacy-scope-coverage-exceptions.js.map +1 -0
  238. package/dist/storage/legacy-scope-coverage.d.ts +53 -0
  239. package/dist/storage/legacy-scope-coverage.d.ts.map +1 -0
  240. package/dist/storage/legacy-scope-coverage.js +403 -0
  241. package/dist/storage/legacy-scope-coverage.js.map +1 -0
  242. package/dist/storage/legacy-scope-entity-keys.d.ts +4 -0
  243. package/dist/storage/legacy-scope-entity-keys.d.ts.map +1 -0
  244. package/dist/storage/legacy-scope-entity-keys.js +92 -0
  245. package/dist/storage/legacy-scope-entity-keys.js.map +1 -0
  246. package/dist/storage/legacy-scope-view.d.ts +154 -0
  247. package/dist/storage/legacy-scope-view.d.ts.map +1 -0
  248. package/dist/storage/legacy-scope-view.js +735 -0
  249. package/dist/storage/legacy-scope-view.js.map +1 -0
  250. package/dist/storage/pdpp-records/completion.d.ts +91 -0
  251. package/dist/storage/pdpp-records/completion.d.ts.map +1 -0
  252. package/dist/storage/pdpp-records/completion.js +170 -0
  253. package/dist/storage/pdpp-records/completion.js.map +1 -0
  254. package/dist/storage/pdpp-records/cursor.d.ts +41 -0
  255. package/dist/storage/pdpp-records/cursor.d.ts.map +1 -0
  256. package/dist/storage/pdpp-records/cursor.js +49 -0
  257. package/dist/storage/pdpp-records/cursor.js.map +1 -0
  258. package/dist/storage/pdpp-records/declaration-witness.d.ts +58 -0
  259. package/dist/storage/pdpp-records/declaration-witness.d.ts.map +1 -0
  260. package/dist/storage/pdpp-records/declaration-witness.js +230 -0
  261. package/dist/storage/pdpp-records/declaration-witness.js.map +1 -0
  262. package/dist/storage/pdpp-records/enforcement.d.ts +52 -0
  263. package/dist/storage/pdpp-records/enforcement.d.ts.map +1 -0
  264. package/dist/storage/pdpp-records/enforcement.js +116 -0
  265. package/dist/storage/pdpp-records/enforcement.js.map +1 -0
  266. package/dist/storage/pdpp-records/index.d.ts +5 -0
  267. package/dist/storage/pdpp-records/index.d.ts.map +1 -0
  268. package/dist/storage/pdpp-records/index.js +5 -0
  269. package/dist/storage/pdpp-records/index.js.map +1 -0
  270. package/dist/storage/pdpp-records/ingest-plan.d.ts +39 -0
  271. package/dist/storage/pdpp-records/ingest-plan.d.ts.map +1 -0
  272. package/dist/storage/pdpp-records/ingest-plan.js +103 -0
  273. package/dist/storage/pdpp-records/ingest-plan.js.map +1 -0
  274. package/dist/storage/pdpp-records/interface.d.ts +104 -0
  275. package/dist/storage/pdpp-records/interface.d.ts.map +1 -0
  276. package/dist/storage/pdpp-records/interface.js +2 -0
  277. package/dist/storage/pdpp-records/interface.js.map +1 -0
  278. package/dist/storage/pdpp-records/memory-store.d.ts +9 -0
  279. package/dist/storage/pdpp-records/memory-store.d.ts.map +1 -0
  280. package/dist/storage/pdpp-records/memory-store.js +466 -0
  281. package/dist/storage/pdpp-records/memory-store.js.map +1 -0
  282. package/dist/storage/pdpp-records/portable.d.ts +9 -0
  283. package/dist/storage/pdpp-records/portable.d.ts.map +1 -0
  284. package/dist/storage/pdpp-records/portable.js +8 -0
  285. package/dist/storage/pdpp-records/portable.js.map +1 -0
  286. package/dist/storage/pdpp-records/read-port.d.ts +44 -0
  287. package/dist/storage/pdpp-records/read-port.d.ts.map +1 -0
  288. package/dist/storage/pdpp-records/read-port.js +22 -0
  289. package/dist/storage/pdpp-records/read-port.js.map +1 -0
  290. package/dist/storage/pdpp-records/record-key.d.ts +52 -0
  291. package/dist/storage/pdpp-records/record-key.d.ts.map +1 -0
  292. package/dist/storage/pdpp-records/record-key.js +97 -0
  293. package/dist/storage/pdpp-records/record-key.js.map +1 -0
  294. package/dist/storage/pdpp-records/schema.d.ts +41 -0
  295. package/dist/storage/pdpp-records/schema.d.ts.map +1 -0
  296. package/dist/storage/pdpp-records/schema.js +153 -0
  297. package/dist/storage/pdpp-records/schema.js.map +1 -0
  298. package/dist/storage/pdpp-records/stream-declaration.d.ts +88 -0
  299. package/dist/storage/pdpp-records/stream-declaration.d.ts.map +1 -0
  300. package/dist/storage/pdpp-records/stream-declaration.js +57 -0
  301. package/dist/storage/pdpp-records/stream-declaration.js.map +1 -0
  302. package/dist/storage/pdpp-records/types.d.ts +138 -0
  303. package/dist/storage/pdpp-records/types.d.ts.map +1 -0
  304. package/dist/storage/pdpp-records/types.js +38 -0
  305. package/dist/storage/pdpp-records/types.js.map +1 -0
  306. package/dist/sync/data-point-feed.d.ts +3 -0
  307. package/dist/sync/data-point-feed.d.ts.map +1 -1
  308. package/dist/sync/data-point-feed.js +17 -1
  309. package/dist/sync/data-point-feed.js.map +1 -1
  310. package/dist/sync/delete-data-port.d.ts +2 -0
  311. package/dist/sync/delete-data-port.d.ts.map +1 -1
  312. package/dist/sync/delete-data-port.js +1 -1
  313. package/dist/sync/delete-data-port.js.map +1 -1
  314. package/dist/sync/engine/sync-manager.d.ts.map +1 -1
  315. package/dist/sync/engine/sync-manager.js +5 -2
  316. package/dist/sync/engine/sync-manager.js.map +1 -1
  317. package/dist/sync/index.d.ts +3 -1
  318. package/dist/sync/index.d.ts.map +1 -1
  319. package/dist/sync/index.js +4 -0
  320. package/dist/sync/index.js.map +1 -1
  321. package/dist/sync/pdpp-import.d.ts +192 -0
  322. package/dist/sync/pdpp-import.d.ts.map +1 -0
  323. package/dist/sync/pdpp-import.js +441 -0
  324. package/dist/sync/pdpp-import.js.map +1 -0
  325. package/dist/sync/scope-deletions.d.ts +10 -0
  326. package/dist/sync/scope-deletions.d.ts.map +1 -1
  327. package/dist/sync/scope-deletions.js +40 -7
  328. package/dist/sync/scope-deletions.js.map +1 -1
  329. package/dist/sync/workers/download.d.ts +14 -0
  330. package/dist/sync/workers/download.d.ts.map +1 -1
  331. package/dist/sync/workers/download.js +149 -13
  332. package/dist/sync/workers/download.js.map +1 -1
  333. package/dist/sync/workers/upload.d.ts +2 -0
  334. package/dist/sync/workers/upload.d.ts.map +1 -1
  335. package/dist/sync/workers/upload.js +7 -0
  336. package/dist/sync/workers/upload.js.map +1 -1
  337. package/dist/test-utils/memory-storage.d.ts +1 -1
  338. package/dist/test-utils/memory-storage.d.ts.map +1 -1
  339. package/dist/test-utils/memory-storage.js +11 -5
  340. package/dist/test-utils/memory-storage.js.map +1 -1
  341. package/package.json +54 -4
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,271 @@
1
+ /**
2
+ * Authorization sessions and authenticated owner approval.
3
+ *
4
+ * This is the module that decides whether a consent decision is real. The
5
+ * threat it exists to stop is an approval that looks right — correct session,
6
+ * correct review digest, arriving from the first-party consent UI — but that
7
+ * no authenticated owner actually made.
8
+ *
9
+ * The rule: **affiliation is not authentication.** The AS does not accept an
10
+ * approval because it came from an allowlisted origin, a first-party console,
11
+ * a shared UI/server secret, or a signed assertion from the consent broker
12
+ * saying "the owner agreed". Each of those authenticates a *channel* or
13
+ * delegates the decision to a browser-reachable component; compromise it and
14
+ * it mints approvals for any subject. Instead, the owner authenticates to the
15
+ * PS itself, and the resulting owner token — resolved through the same token
16
+ * service the RS uses — is what authorizes the decision. The consent UI
17
+ * forwards that token; it can never substitute for it.
18
+ *
19
+ * Two independent checks must both pass, and neither implies the other:
20
+ *
21
+ * 1. The caller presents an active token with `pdpp_token_kind: "owner"`
22
+ * whose `subject_id` equals the session's subject. Possession of the
23
+ * session id is not authority over it.
24
+ * 2. The presented `review_digest` matches a re-derivation over what is
25
+ * about to be issued (§7 staleness). Authenticating the owner does not
26
+ * excuse approving something other than what they reviewed.
27
+ */
28
+ import { type ConsentReviewModel, type RequesterIdentity } from "./review.js";
29
+ import { type ConsentEvidence } from "./issuance.js";
30
+ import { type InstanceInventory, type OwnerChoices } from "./resolve.js";
31
+ import type { PdppAuthStore } from "./store.js";
32
+ import type { PdppTokenService } from "./tokens.js";
33
+ import type { DeclarationSnapshot, Grant, OwnerConditions, RecipientTerms, SelectionRequest } from "./types.js";
34
+ /** How long an owner has to act on a consent screen before it goes stale. */
35
+ export declare const REVIEW_SESSION_TTL_SECONDS: number;
36
+ export type SessionState = "pending" | "approved" | "denied";
37
+ export interface AuthorizationSession {
38
+ session_id: string;
39
+ /** The subject this session belongs to. An approval must authenticate as this. */
40
+ subject_id: string;
41
+ request: SelectionRequest;
42
+ snapshot: DeclarationSnapshot;
43
+ requester: RequesterIdentity;
44
+ redirect_uri: string;
45
+ state_param?: string;
46
+ /** RFC 7636 challenge, carried to the authorization code minted on approval. */
47
+ code_challenge?: string;
48
+ code_challenge_method?: string;
49
+ expires_at: string;
50
+ status: SessionState;
51
+ /** AS-policy grant expiry carried into issuance. */
52
+ grant_expires_at?: string;
53
+ stream_descriptions?: Record<string, string>;
54
+ /** The owner's optional reason for denying. Never sent to the client. */
55
+ denial_reason?: string;
56
+ }
57
+ export type ApprovalFailureCode =
58
+ /** No owner token, an inactive one, a client token, or the wrong subject. */
59
+ "unauthorized" | "session_not_found" | "stale_review" | "ai_training_consent_required"
60
+ /** The session is already decided. Not a v0.2 refusal — see below. */
61
+ | "access_denied"
62
+ /**
63
+ * v0.2: the owner's choices cannot satisfy the request's own requirements —
64
+ * a declined required stream, an unmet required minimum, or an approval with
65
+ * no stream left. PR #1 names `access_denied` as the OAuth error for this,
66
+ * but it is deliberately a *separate* Core code from the already-decided
67
+ * `access_denied` above: the two want different HTTP statuses and different
68
+ * consent-UI handling (adjust your choices vs. start over), and collapsing
69
+ * them changed the status of the existing session-state case.
70
+ */
71
+ | "selection_refused"
72
+ /**
73
+ * v0.2: an owner condition on purpose or retention the recipient's authority
74
+ * does not cover. Separate from `selection_refused` because the resolution
75
+ * differs: the owner can adjust a selection themselves, but only the
76
+ * recipient can accept a term.
77
+ */
78
+ | "recipient_terms_unsupported" | "unsupported_instance_fan_in" | "invalid_request";
79
+ export interface ApprovalFailure {
80
+ code: ApprovalFailureCode;
81
+ message: string;
82
+ }
83
+ export type ApprovalResult = {
84
+ ok: true;
85
+ grant: Grant;
86
+ consentEvidence: ConsentEvidence;
87
+ } | {
88
+ ok: false;
89
+ failure: ApprovalFailure;
90
+ };
91
+ /**
92
+ * In-memory pending-session store. Sessions are short-lived and pre-decision,
93
+ * so they hold no issued authority — losing them on restart costs an owner a
94
+ * re-click, not a grant. Issued grants and tokens go to SQLite, where
95
+ * durability actually matters.
96
+ */
97
+ export declare class AuthorizationSessionStore {
98
+ private readonly sessions;
99
+ create(input: {
100
+ subjectId: string;
101
+ request: SelectionRequest;
102
+ snapshot: DeclarationSnapshot;
103
+ requester: RequesterIdentity;
104
+ redirectUri: string;
105
+ stateParam?: string;
106
+ codeChallenge?: string;
107
+ codeChallengeMethod?: string;
108
+ grantExpiresAt?: string;
109
+ streamDescriptions?: Record<string, string>;
110
+ now?: Date;
111
+ }): AuthorizationSession;
112
+ get(sessionId: string): AuthorizationSession | null;
113
+ setStatus(sessionId: string, status: SessionState): void;
114
+ /**
115
+ * Retain the owner's reason for denying, beside the denial itself.
116
+ *
117
+ * Kept on the session rather than in the grant store because there is no
118
+ * grant: a denial produces no authorization, and the reason is the owner's
119
+ * note about a decision, not a term of one.
120
+ */
121
+ setDenialReason(sessionId: string, reason: string): void;
122
+ }
123
+ /**
124
+ * A stream the owner must pick an instance for before the review can resolve.
125
+ *
126
+ * §6 is strict that omitting `instance_ids` never means fan-in, so a stream
127
+ * with several eligible handles and none named is a decision only the owner
128
+ * can make. Surfacing the candidates as first-class review data is what turns
129
+ * that from a dead-end resolution failure into a consent step: the UI renders
130
+ * the choice, the owner picks, and the pick flows back through
131
+ * `instanceChoices` on the next review fetch and on approval.
132
+ */
133
+ export interface InstanceChoice {
134
+ stream: string;
135
+ candidates: string[];
136
+ }
137
+ export interface ReviewFetchResult {
138
+ session_id: string;
139
+ /** Present only once every stream resolves. Absent while a choice is pending. */
140
+ review?: ConsentReviewModel;
141
+ /**
142
+ * Non-empty when the owner must choose instance handles before there is a
143
+ * decision to review. The UI collects these and re-fetches with the picks.
144
+ */
145
+ instance_choice_required?: InstanceChoice[];
146
+ expires_at: string;
147
+ }
148
+ /**
149
+ * Build the review an authenticated owner sees.
150
+ *
151
+ * Resolution runs here against current inventory, so the digest the owner is
152
+ * handed reflects the world as it is right now. If it changes before they
153
+ * approve, `approveAuthorization` will re-derive a different digest and reject.
154
+ */
155
+ export declare function fetchReview(input: {
156
+ sessions: AuthorizationSessionStore;
157
+ tokens: PdppTokenService;
158
+ sessionId: string;
159
+ ownerToken: string | undefined;
160
+ inventory: InstanceInventory;
161
+ /** The owner's instance picks, keyed by stream, from a prior choice step. */
162
+ instanceChoices?: Record<string, string[]>;
163
+ /**
164
+ * The owner's v0.2 narrowing so far. The review re-resolves against it, so
165
+ * the surface always shows the *current* proposal and its digest — which is
166
+ * what the owner then approves. A narrowing that would refuse issuance
167
+ * surfaces here as a failure rather than at approval, so the owner learns
168
+ * their choice is incompatible while they can still change it.
169
+ */
170
+ ownerChoices?: OwnerChoices;
171
+ /** v0.2: conditions the owner attached beyond narrowing the data. */
172
+ ownerConditions?: OwnerConditions;
173
+ /** v0.2: standing terms the recipient authorized, when the AS tracks them. */
174
+ standingTerms?: RecipientTerms;
175
+ /**
176
+ * When given, the review lists this requesting client's other active
177
+ * grants for this owner, so the consent surface can say what is already
178
+ * shared. Approval itself is unaffected either way.
179
+ */
180
+ store?: PdppAuthStore;
181
+ /**
182
+ * Optional owner-token instance scope for `existing_grants`. When present,
183
+ * only grants wholly contained by this scope are included in the review.
184
+ */
185
+ existingGrantInstanceIds?: string[];
186
+ now?: Date;
187
+ }): {
188
+ ok: true;
189
+ result: ReviewFetchResult;
190
+ } | {
191
+ ok: false;
192
+ failure: ApprovalFailure;
193
+ };
194
+ /**
195
+ * Approve an authorization: authenticate the owner, then issue.
196
+ *
197
+ * Order is deliberate. Authentication runs before anything else, so an
198
+ * unauthenticated caller cannot learn from the error whether their digest was
199
+ * fresh — a spoofed approval with a perfectly valid digest gets the same
200
+ * `unauthorized` as one with a garbage digest.
201
+ *
202
+ * This function does not mark the session `"approved"` — it only decides
203
+ * whether the review is valid and computes what to issue. The session
204
+ * transitions to `"approved"` only once the caller has durably persisted the
205
+ * grant and its authorization code (see `pdpp-auth.ts`'s approve route). A
206
+ * session marked approved before that write lands would leave a caller whose
207
+ * persistence failed with no way to retry: the session is already terminal
208
+ * (`status !== "pending"` above), so a retry of the same reviewed approval
209
+ * would be rejected as already-decided even though nothing durable exists.
210
+ */
211
+ export declare function approveAuthorization(input: {
212
+ sessions: AuthorizationSessionStore;
213
+ tokens: PdppTokenService;
214
+ sessionId: string;
215
+ ownerToken: string | undefined;
216
+ reviewDigest: string;
217
+ inventory: InstanceInventory;
218
+ /**
219
+ * The owner's instance picks, which must match the ones the review was
220
+ * rendered with. They feed resolution, so they land inside the recomputed
221
+ * digest — a different pick than the owner reviewed fails as stale rather
222
+ * than silently issuing a grant over another instance.
223
+ */
224
+ instanceChoices?: Record<string, string[]>;
225
+ /**
226
+ * The owner's v0.2 narrowing, which must match the narrowing the review was
227
+ * rendered with. Like `instanceChoices`, it feeds resolution and so lands
228
+ * inside the recomputed digest: a narrowing other than the reviewed one
229
+ * fails as stale rather than silently issuing a different grant.
230
+ */
231
+ ownerChoices?: OwnerChoices;
232
+ /**
233
+ * The owner's v0.2 conditions and the standing terms that may cover them.
234
+ * These feed commitment resolution, whose output is a digest field, so a
235
+ * commitment other than the reviewed one fails as stale.
236
+ */
237
+ ownerConditions?: OwnerConditions;
238
+ standingTerms?: RecipientTerms;
239
+ explicitAiTrainingConsent?: boolean;
240
+ now?: Date;
241
+ }): ApprovalResult;
242
+ /**
243
+ * Deny an authorization. Terminal, and retains no consent evidence — there is
244
+ * nothing the owner consented to, so there is nothing to hold evidence of.
245
+ */
246
+ export declare function denyAuthorization(input: {
247
+ sessions: AuthorizationSessionStore;
248
+ tokens: PdppTokenService;
249
+ sessionId: string;
250
+ ownerToken: string | undefined;
251
+ /**
252
+ * The owner's optional free-text reason for refusing.
253
+ *
254
+ * Retained with the denial, and deliberately NOT forwarded to the client:
255
+ * the OAuth binding answers a denial with `access_denied` and nothing more,
256
+ * so a reason that reached the requester would turn an optional courtesy
257
+ * into a disclosure the owner did not intend. It exists so the owner's own
258
+ * record of the decision says why.
259
+ *
260
+ * A consent surface must not offer a box whose contents are discarded. The
261
+ * parameter exists so the control on the screen is real.
262
+ */
263
+ reason?: string;
264
+ now?: Date;
265
+ }): {
266
+ ok: true;
267
+ } | {
268
+ ok: false;
269
+ failure: ApprovalFailure;
270
+ };
271
+ //# sourceMappingURL=approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"approval.d.ts","sourceRoot":"","sources":["../../src/pdpp/approval.ts"],"names":[],"mappings":"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"}