@learncard/network-brain-service 4.1.2 → 5.0.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 (375) hide show
  1. package/.env.example +14 -0
  2. package/CHANGELOG.md +164 -0
  3. package/README.md +27 -1
  4. package/bootstrapLambda.test.ts +70 -32
  5. package/config/config.dev.json +1 -0
  6. package/config/config.example.json +2 -1
  7. package/config/config.production.json +1 -0
  8. package/config/config.scouts.dev.json +1 -0
  9. package/config/config.scouts.production.json +1 -0
  10. package/consentFlowDeadlineLambda.test.ts +108 -0
  11. package/consentFlowDeadlineLambda.ts +18 -0
  12. package/consentFlowDeadlineLambdaApp.ts +14 -0
  13. package/dist/accesslayer/boost/create.d.ts +8 -2
  14. package/dist/accesslayer/boost/create.d.ts.map +1 -1
  15. package/dist/accesslayer/campaign/audience.d.ts +4 -4
  16. package/dist/accesslayer/campaign/audience.d.ts.map +1 -1
  17. package/dist/accesslayer/campaign/create.d.ts +1 -1
  18. package/dist/accesslayer/campaign/create.d.ts.map +1 -1
  19. package/dist/accesslayer/campaign/delivery.d.ts +5 -0
  20. package/dist/accesslayer/campaign/delivery.d.ts.map +1 -0
  21. package/dist/accesslayer/campaign/dispatch.d.ts +5 -0
  22. package/dist/accesslayer/campaign/dispatch.d.ts.map +1 -0
  23. package/dist/accesslayer/campaign/dispatch.test.d.ts +2 -0
  24. package/dist/accesslayer/campaign/dispatch.test.d.ts.map +1 -0
  25. package/dist/accesslayer/campaign/email.d.ts +10 -0
  26. package/dist/accesslayer/campaign/email.d.ts.map +1 -0
  27. package/dist/accesslayer/campaign/email.test.d.ts +2 -0
  28. package/dist/accesslayer/campaign/email.test.d.ts.map +1 -0
  29. package/dist/accesslayer/campaign/preferences.d.ts +5 -0
  30. package/dist/accesslayer/campaign/preferences.d.ts.map +1 -0
  31. package/dist/accesslayer/campaign/read.d.ts.map +1 -1
  32. package/dist/accesslayer/campaign/test.d.ts +5 -0
  33. package/dist/accesslayer/campaign/test.d.ts.map +1 -0
  34. package/dist/accesslayer/campaign/test.test.d.ts +2 -0
  35. package/dist/accesslayer/campaign/test.test.d.ts.map +1 -0
  36. package/dist/accesslayer/campaign/update.d.ts.map +1 -1
  37. package/dist/accesslayer/consentflowcontract/create.d.ts.map +1 -1
  38. package/dist/accesslayer/consentflowcontract/delete.d.ts +1 -1
  39. package/dist/accesslayer/consentflowcontract/delete.d.ts.map +1 -1
  40. package/dist/accesslayer/consentflowcontract/read.d.ts.map +1 -1
  41. package/dist/accesslayer/consentflowcontract/relationships/create.d.ts +2 -1
  42. package/dist/accesslayer/consentflowcontract/relationships/create.d.ts.map +1 -1
  43. package/dist/accesslayer/consentflowcontract/relationships/read.d.ts +19 -4
  44. package/dist/accesslayer/consentflowcontract/relationships/read.d.ts.map +1 -1
  45. package/dist/accesslayer/consentflowcontract/relationships/update.d.ts +6 -1
  46. package/dist/accesslayer/consentflowcontract/relationships/update.d.ts.map +1 -1
  47. package/dist/accesslayer/consentflowcontract/versions.d.ts +68 -0
  48. package/dist/accesslayer/consentflowcontract/versions.d.ts.map +1 -0
  49. package/dist/accesslayer/credential/create.d.ts +3 -1
  50. package/dist/accesslayer/credential/create.d.ts.map +1 -1
  51. package/dist/accesslayer/credential/delete.d.ts +1 -0
  52. package/dist/accesslayer/credential/delete.d.ts.map +1 -1
  53. package/dist/accesslayer/credential/relationships/create.d.ts +15 -3
  54. package/dist/accesslayer/credential/relationships/create.d.ts.map +1 -1
  55. package/dist/accesslayer/credential/relationships/read.d.ts +2 -0
  56. package/dist/accesslayer/credential/relationships/read.d.ts.map +1 -1
  57. package/dist/accesslayer/credential/relationships/update.d.ts.map +1 -1
  58. package/dist/accesslayer/credential-refresh/read.d.ts +1 -0
  59. package/dist/accesslayer/credential-refresh/read.d.ts.map +1 -1
  60. package/dist/accesslayer/credential-refresh/update.d.ts.map +1 -1
  61. package/dist/accesslayer/inbox-credential/create.d.ts +1 -0
  62. package/dist/accesslayer/inbox-credential/create.d.ts.map +1 -1
  63. package/dist/accesslayer/inbox-credential/refresh.d.ts +7 -0
  64. package/dist/accesslayer/inbox-credential/refresh.d.ts.map +1 -1
  65. package/dist/app.d.ts +11 -1
  66. package/dist/app.d.ts.map +1 -1
  67. package/dist/cache/app-store.caches.d.ts +61 -1
  68. package/dist/cache/app-store.caches.d.ts.map +1 -1
  69. package/dist/campaign-unsubscribe.d.ts +7 -0
  70. package/dist/campaign-unsubscribe.d.ts.map +1 -0
  71. package/dist/campaign-unsubscribe.test.d.ts +2 -0
  72. package/dist/campaign-unsubscribe.test.d.ts.map +1 -0
  73. package/dist/config/environment.d.ts +42 -0
  74. package/dist/config/environment.d.ts.map +1 -1
  75. package/dist/config/stageConfig.d.ts +4 -0
  76. package/dist/config/stageConfig.d.ts.map +1 -1
  77. package/dist/credential-refresh.d.ts.map +1 -1
  78. package/dist/helpers/boost.helpers.d.ts +4 -1
  79. package/dist/helpers/boost.helpers.d.ts.map +1 -1
  80. package/dist/helpers/campaign-app-origin.helpers.d.ts +2 -0
  81. package/dist/helpers/campaign-app-origin.helpers.d.ts.map +1 -0
  82. package/dist/helpers/campaign-email.helpers.d.ts +13 -0
  83. package/dist/helpers/campaign-email.helpers.d.ts.map +1 -0
  84. package/dist/helpers/campaign-notifications.helpers.d.ts +7 -0
  85. package/dist/helpers/campaign-notifications.helpers.d.ts.map +1 -0
  86. package/dist/helpers/campaign-queue.helpers.d.ts +7 -0
  87. package/dist/helpers/campaign-queue.helpers.d.ts.map +1 -0
  88. package/dist/helpers/campaign-queue.helpers.test.d.ts +2 -0
  89. package/dist/helpers/campaign-queue.helpers.test.d.ts.map +1 -0
  90. package/dist/helpers/campaign-unsubscribe-page.d.ts +2 -0
  91. package/dist/helpers/campaign-unsubscribe-page.d.ts.map +1 -0
  92. package/dist/helpers/campaign-unsubscribe.helpers.d.ts +7 -0
  93. package/dist/helpers/campaign-unsubscribe.helpers.d.ts.map +1 -0
  94. package/dist/helpers/campaign-webhook.helpers.test.d.ts +2 -0
  95. package/dist/helpers/campaign-webhook.helpers.test.d.ts.map +1 -0
  96. package/dist/helpers/consentflow-deadline.helpers.d.ts +5 -0
  97. package/dist/helpers/consentflow-deadline.helpers.d.ts.map +1 -0
  98. package/dist/helpers/consentflow-legacy-migration.helpers.d.ts +2 -0
  99. package/dist/helpers/consentflow-legacy-migration.helpers.d.ts.map +1 -0
  100. package/dist/helpers/contract-events.helpers.d.ts.map +1 -1
  101. package/dist/helpers/contract.helpers.d.ts +1 -1
  102. package/dist/helpers/contract.helpers.d.ts.map +1 -1
  103. package/dist/helpers/credential-display.helpers.d.ts +5 -0
  104. package/dist/helpers/credential-display.helpers.d.ts.map +1 -0
  105. package/dist/helpers/credential-display.helpers.test.d.ts +2 -0
  106. package/dist/helpers/credential-display.helpers.test.d.ts.map +1 -0
  107. package/dist/helpers/credential-refresh-email.helpers.d.ts.map +1 -1
  108. package/dist/helpers/credential-refresh-materiality.helpers.d.ts +4 -0
  109. package/dist/helpers/credential-refresh-materiality.helpers.d.ts.map +1 -1
  110. package/dist/helpers/credential-refresh.helpers.d.ts +30 -1
  111. package/dist/helpers/credential-refresh.helpers.d.ts.map +1 -1
  112. package/dist/helpers/credential-status-mutation.helpers.d.ts +5 -0
  113. package/dist/helpers/credential-status-mutation.helpers.d.ts.map +1 -0
  114. package/dist/helpers/credential-status-mutation.helpers.test.d.ts +2 -0
  115. package/dist/helpers/credential-status-mutation.helpers.test.d.ts.map +1 -0
  116. package/dist/helpers/credential.helpers.d.ts +1 -1
  117. package/dist/helpers/credential.helpers.d.ts.map +1 -1
  118. package/dist/helpers/inbox-refresh.helpers.d.ts +4 -2
  119. package/dist/helpers/inbox-refresh.helpers.d.ts.map +1 -1
  120. package/dist/helpers/inbox.helpers.d.ts +1 -0
  121. package/dist/helpers/inbox.helpers.d.ts.map +1 -1
  122. package/dist/helpers/learnCard.helpers.d.ts +1 -0
  123. package/dist/helpers/learnCard.helpers.d.ts.map +1 -1
  124. package/dist/helpers/managed-status.helpers.d.ts +7 -0
  125. package/dist/helpers/managed-status.helpers.d.ts.map +1 -0
  126. package/dist/helpers/managed-status.helpers.test.d.ts +2 -0
  127. package/dist/helpers/managed-status.helpers.test.d.ts.map +1 -0
  128. package/dist/helpers/notification-delivery-boundary.helpers.test.d.ts +2 -0
  129. package/dist/helpers/notification-delivery-boundary.helpers.test.d.ts.map +1 -0
  130. package/dist/helpers/notification-webhook-fetch.helpers.d.ts +13 -0
  131. package/dist/helpers/notification-webhook-fetch.helpers.d.ts.map +1 -0
  132. package/dist/helpers/notification-webhook-fetch.helpers.test.d.ts +2 -0
  133. package/dist/helpers/notification-webhook-fetch.helpers.test.d.ts.map +1 -0
  134. package/dist/helpers/notificationQueue.helpers.d.ts.map +1 -1
  135. package/dist/helpers/notifications.helpers.d.ts.map +1 -1
  136. package/dist/helpers/refresh-send-intent.helpers.d.ts +13 -5
  137. package/dist/helpers/refresh-send-intent.helpers.d.ts.map +1 -1
  138. package/dist/helpers/refresh-send-intent.helpers.test.d.ts +2 -0
  139. package/dist/helpers/refresh-send-intent.helpers.test.d.ts.map +1 -0
  140. package/dist/helpers/send-contract.helpers.d.ts +11 -0
  141. package/dist/helpers/send-contract.helpers.d.ts.map +1 -0
  142. package/dist/helpers/status-list.helpers.d.ts +12 -1
  143. package/dist/helpers/status-list.helpers.d.ts.map +1 -1
  144. package/dist/index.js +2 -2
  145. package/dist/models/ConsentFlowContract.d.ts.map +1 -1
  146. package/dist/models/ConsentFlowContractVersion.d.ts +12 -0
  147. package/dist/models/ConsentFlowContractVersion.d.ts.map +1 -0
  148. package/dist/models/ConsentFlowTerms.d.ts.map +1 -1
  149. package/dist/models/Credential.d.ts +2 -0
  150. package/dist/models/Credential.d.ts.map +1 -1
  151. package/dist/models/CredentialRefresh.d.ts +5 -0
  152. package/dist/models/CredentialRefresh.d.ts.map +1 -1
  153. package/dist/models/Integration.d.ts +1 -1
  154. package/dist/models/Profile.d.ts.map +1 -1
  155. package/dist/models/campaign-constraints.d.ts.map +1 -1
  156. package/dist/models/index.d.ts +1 -0
  157. package/dist/models/index.d.ts.map +1 -1
  158. package/dist/openapi.d.ts.map +1 -1
  159. package/dist/publish-metafile.json +1 -1
  160. package/dist/routes/activity.d.ts +15 -5
  161. package/dist/routes/activity.d.ts.map +1 -1
  162. package/dist/routes/app-store.d.ts +15 -5
  163. package/dist/routes/app-store.d.ts.map +1 -1
  164. package/dist/routes/auth-grants.d.ts +12 -2
  165. package/dist/routes/auth-grants.d.ts.map +1 -1
  166. package/dist/routes/bench.d.ts +11 -1
  167. package/dist/routes/bench.d.ts.map +1 -1
  168. package/dist/routes/boosts.d.ts +70 -15
  169. package/dist/routes/boosts.d.ts.map +1 -1
  170. package/dist/routes/campaigns.d.ts +183 -51
  171. package/dist/routes/campaigns.d.ts.map +1 -1
  172. package/dist/routes/claim-hooks.d.ts +11 -1
  173. package/dist/routes/claim-hooks.d.ts.map +1 -1
  174. package/dist/routes/contact-methods.d.ts +11 -1
  175. package/dist/routes/contact-methods.d.ts.map +1 -1
  176. package/dist/routes/contracts.d.ts +374 -8
  177. package/dist/routes/contracts.d.ts.map +1 -1
  178. package/dist/routes/credential-input-privacy.test.d.ts +2 -0
  179. package/dist/routes/credential-input-privacy.test.d.ts.map +1 -0
  180. package/dist/routes/credential-refreshes.d.ts +210 -1
  181. package/dist/routes/credential-refreshes.d.ts.map +1 -1
  182. package/dist/routes/credential-share-previews.d.ts +11 -1
  183. package/dist/routes/credential-share-previews.d.ts.map +1 -1
  184. package/dist/routes/credentials.d.ts +132 -3
  185. package/dist/routes/credentials.d.ts.map +1 -1
  186. package/dist/routes/did-metadata.d.ts +11 -1
  187. package/dist/routes/did-metadata.d.ts.map +1 -1
  188. package/dist/routes/federation.d.ts +11 -1
  189. package/dist/routes/federation.d.ts.map +1 -1
  190. package/dist/routes/inbox.d.ts +54 -19
  191. package/dist/routes/inbox.d.ts.map +1 -1
  192. package/dist/routes/index.d.ts +100 -1
  193. package/dist/routes/index.d.ts.map +1 -1
  194. package/dist/routes/integrations.d.ts +14 -4
  195. package/dist/routes/integrations.d.ts.map +1 -1
  196. package/dist/routes/presentations.d.ts +11 -1
  197. package/dist/routes/presentations.d.ts.map +1 -1
  198. package/dist/routes/profile-manager.d.ts +11 -1
  199. package/dist/routes/profile-manager.d.ts.map +1 -1
  200. package/dist/routes/profiles.d.ts +11 -1
  201. package/dist/routes/profiles.d.ts.map +1 -1
  202. package/dist/routes/public-share-links.d.ts +22 -2
  203. package/dist/routes/public-share-links.d.ts.map +1 -1
  204. package/dist/routes/share-links.d.ts +36 -16
  205. package/dist/routes/share-links.d.ts.map +1 -1
  206. package/dist/routes/skill-frameworks.d.ts +11 -1
  207. package/dist/routes/skill-frameworks.d.ts.map +1 -1
  208. package/dist/routes/skills.d.ts +11 -1
  209. package/dist/routes/skills.d.ts.map +1 -1
  210. package/dist/routes/storage.d.ts +37 -23
  211. package/dist/routes/storage.d.ts.map +1 -1
  212. package/dist/routes/test.d.ts +79 -3
  213. package/dist/routes/test.d.ts.map +1 -1
  214. package/dist/routes/utilities.d.ts +11 -1
  215. package/dist/routes/utilities.d.ts.map +1 -1
  216. package/dist/routes/workflows.d.ts +11 -1
  217. package/dist/routes/workflows.d.ts.map +1 -1
  218. package/dist/services/delivery/adapters/postmark.adapter.d.ts +3 -0
  219. package/dist/services/delivery/adapters/postmark.adapter.d.ts.map +1 -1
  220. package/dist/services/delivery/delivery.service.d.ts +10 -0
  221. package/dist/services/delivery/delivery.service.d.ts.map +1 -1
  222. package/dist/types/activity.d.ts +3 -3
  223. package/dist/types/app-manifest.d.ts +10 -10
  224. package/dist/types/campaign.d.ts +13 -1
  225. package/dist/types/campaign.d.ts.map +1 -1
  226. package/dist/types/consentflowcontract.d.ts +175 -7
  227. package/dist/types/consentflowcontract.d.ts.map +1 -1
  228. package/dist/types/credential-refresh.d.ts +27 -0
  229. package/dist/types/credential-refresh.d.ts.map +1 -1
  230. package/dist/types/credential.d.ts +5 -0
  231. package/dist/types/credential.d.ts.map +1 -1
  232. package/dist/types/integration.d.ts +3 -3
  233. package/lambda.ts +44 -14
  234. package/lambdaApp.ts +20 -0
  235. package/package.json +20 -19
  236. package/project.json +5 -0
  237. package/scripts/migrate-consent-flow-versions.ts +9 -0
  238. package/scripts/report-send-template-exposure.ts +47 -0
  239. package/scripts/verify-python-contracts.ts +16 -1
  240. package/serverless-local.yml +15 -2
  241. package/serverless.function-env.cjs +4 -0
  242. package/serverless.local.yml +12 -0
  243. package/serverless.yml +48 -3
  244. package/src/accesslayer/boost/create.ts +62 -7
  245. package/src/accesslayer/campaign/README.md +275 -6
  246. package/src/accesslayer/campaign/audience.ts +39 -7
  247. package/src/accesslayer/campaign/create.ts +4 -2
  248. package/src/accesslayer/campaign/delivery.ts +66 -0
  249. package/src/accesslayer/campaign/dispatch.test.ts +59 -0
  250. package/src/accesslayer/campaign/dispatch.ts +172 -0
  251. package/src/accesslayer/campaign/email.test.ts +73 -0
  252. package/src/accesslayer/campaign/email.ts +91 -0
  253. package/src/accesslayer/campaign/preferences.ts +53 -0
  254. package/src/accesslayer/campaign/read.ts +3 -1
  255. package/src/accesslayer/campaign/state.ts +1 -1
  256. package/src/accesslayer/campaign/test.test.ts +31 -0
  257. package/src/accesslayer/campaign/test.ts +75 -0
  258. package/src/accesslayer/campaign/update.ts +15 -4
  259. package/src/accesslayer/consentflowcontract/create.ts +20 -1
  260. package/src/accesslayer/consentflowcontract/delete.ts +121 -3
  261. package/src/accesslayer/consentflowcontract/read.ts +15 -9
  262. package/src/accesslayer/consentflowcontract/relationships/create.ts +70 -36
  263. package/src/accesslayer/consentflowcontract/relationships/read.ts +305 -73
  264. package/src/accesslayer/consentflowcontract/relationships/smartResume.ts +1 -1
  265. package/src/accesslayer/consentflowcontract/relationships/update.ts +269 -98
  266. package/src/accesslayer/consentflowcontract/versions.ts +790 -0
  267. package/src/accesslayer/credential/create.ts +33 -9
  268. package/src/accesslayer/credential/delete.ts +45 -0
  269. package/src/accesslayer/credential/relationships/create.ts +102 -47
  270. package/src/accesslayer/credential/relationships/update.ts +8 -116
  271. package/src/accesslayer/credential-refresh/read.ts +26 -2
  272. package/src/accesslayer/credential-refresh/update.ts +6 -2
  273. package/src/accesslayer/inbox-credential/create.ts +7 -1
  274. package/src/accesslayer/inbox-credential/refresh.ts +14 -4
  275. package/src/campaign-unsubscribe.test.ts +158 -0
  276. package/src/campaign-unsubscribe.ts +86 -0
  277. package/src/config/environment.test.ts +52 -0
  278. package/src/config/environment.ts +58 -0
  279. package/src/config/serverlessFunctionEnv.test.ts +59 -0
  280. package/src/credential-refresh.ts +1 -0
  281. package/src/docker-entry.ts +26 -1
  282. package/src/helpers/boost-storage.helpers.test.ts +107 -41
  283. package/src/helpers/boost.helpers.ts +88 -40
  284. package/src/helpers/campaign-app-origin.helpers.ts +25 -0
  285. package/src/helpers/campaign-email.helpers.ts +113 -0
  286. package/src/helpers/campaign-notifications.helpers.ts +127 -0
  287. package/src/helpers/campaign-queue.helpers.test.ts +442 -0
  288. package/src/helpers/campaign-queue.helpers.ts +122 -0
  289. package/src/helpers/campaign-unsubscribe-page.ts +107 -0
  290. package/src/helpers/campaign-unsubscribe.helpers.ts +56 -0
  291. package/src/helpers/campaign-webhook.helpers.test.ts +137 -0
  292. package/src/helpers/consentflow-deadline.helpers.ts +22 -0
  293. package/src/helpers/consentflow-legacy-migration.helpers.ts +179 -0
  294. package/src/helpers/contract-events.helpers.ts +35 -3
  295. package/src/helpers/contract-requests.helpers.ts +1 -1
  296. package/src/helpers/contract.helpers.ts +5 -1
  297. package/src/helpers/credential-display.helpers.test.ts +68 -0
  298. package/src/helpers/credential-display.helpers.ts +15 -0
  299. package/src/helpers/credential-refresh-email.helpers.ts +5 -12
  300. package/src/helpers/credential-refresh-materiality.helpers.test.ts +138 -1
  301. package/src/helpers/credential-refresh-materiality.helpers.ts +62 -1
  302. package/src/helpers/credential-refresh-proof.helpers.test.ts +1 -1
  303. package/src/helpers/credential-refresh-proof.helpers.ts +2 -2
  304. package/src/helpers/credential-refresh.helpers.ts +1166 -376
  305. package/src/helpers/credential-status-mutation.helpers.test.ts +155 -0
  306. package/src/helpers/credential-status-mutation.helpers.ts +166 -0
  307. package/src/helpers/credential.helpers.ts +19 -11
  308. package/src/helpers/finalize-inbox.helpers.ts +1 -1
  309. package/src/helpers/inbox-refresh.helpers.ts +34 -8
  310. package/src/helpers/inbox.helpers.ts +2 -0
  311. package/src/helpers/learnCard.helpers.ts +23 -0
  312. package/src/helpers/managed-status.helpers.test.ts +101 -0
  313. package/src/helpers/managed-status.helpers.ts +147 -0
  314. package/src/helpers/notification-delivery-boundary.helpers.test.ts +114 -0
  315. package/src/helpers/notification-webhook-fetch.helpers.test.ts +228 -0
  316. package/src/helpers/notification-webhook-fetch.helpers.ts +166 -0
  317. package/src/helpers/notificationQueue.helpers.ts +5 -0
  318. package/src/helpers/notifications.helpers.ts +19 -12
  319. package/src/helpers/refresh-send-intent.helpers.test.ts +60 -0
  320. package/src/helpers/refresh-send-intent.helpers.ts +81 -18
  321. package/src/helpers/send-contract.helpers.ts +36 -0
  322. package/src/helpers/status-list.helpers.test.ts +29 -12
  323. package/src/helpers/status-list.helpers.ts +329 -20
  324. package/src/models/ConsentFlowContract.ts +3 -0
  325. package/src/models/ConsentFlowContractVersion.ts +50 -0
  326. package/src/models/ConsentFlowTerms.ts +4 -0
  327. package/src/models/Credential.ts +2 -0
  328. package/src/models/CredentialRefresh.ts +2 -0
  329. package/src/models/Profile.ts +2 -0
  330. package/src/models/campaign-constraints.ts +13 -8
  331. package/src/models/index.ts +2 -0
  332. package/src/openapi.ts +21 -0
  333. package/src/routes/app-store.ts +2 -1
  334. package/src/routes/boosts.ts +219 -137
  335. package/src/routes/campaigns.ts +98 -19
  336. package/src/routes/contracts.ts +433 -115
  337. package/src/routes/credential-input-privacy.test.ts +92 -0
  338. package/src/routes/credential-refreshes.ts +273 -2
  339. package/src/routes/federation.ts +7 -2
  340. package/src/routes/inbox.ts +6 -1
  341. package/src/routes/index.ts +31 -2
  342. package/src/routes/workflows.ts +61 -46
  343. package/src/services/delivery/adapters/postmark.adapter.test.ts +70 -1
  344. package/src/services/delivery/adapters/postmark.adapter.ts +84 -11
  345. package/src/services/delivery/delivery.service.ts +4 -0
  346. package/src/types/campaign.ts +14 -1
  347. package/src/types/consentflowcontract.ts +43 -2
  348. package/src/types/credential-refresh.ts +11 -1
  349. package/src/types/credential.ts +2 -0
  350. package/test/boost-status-cleanup.spec.ts +123 -0
  351. package/test/campaigns-email.unit.spec.ts +268 -0
  352. package/test/campaigns.spec.ts +804 -30
  353. package/test/consent-autoboost-idempotency.spec.ts +432 -0
  354. package/test/consent-data-boundaries.spec.ts +322 -26
  355. package/test/consent-legacy-migration.spec.ts +315 -0
  356. package/test/consent-recipients.spec.ts +7 -7
  357. package/test/consent-version-updates.spec.ts +761 -0
  358. package/test/consentflow.spec.ts +698 -226
  359. package/test/contract-requests.spec.ts +55 -9
  360. package/test/credential-refresh-allocation.spec.ts +212 -14
  361. package/test/credential-refresh-email.spec.ts +6 -10
  362. package/test/credential-refresh-endpoint.spec.ts +3 -0
  363. package/test/credential-refresh-publication.spec.ts +52 -15
  364. package/test/credential-storage.neo4j.spec.ts +33 -6
  365. package/test/helpers/legacy-autoboost.ts +48 -0
  366. package/test/holder-mode-send.spec.ts +710 -0
  367. package/test/inbox-refresh.spec.ts +105 -0
  368. package/test/inbox-security.e2e.ts +18 -22
  369. package/test/managed-status-revocation.spec.ts +970 -0
  370. package/test/notifications-worker.spec.ts +31 -25
  371. package/test/refresh-send.spec.ts +334 -5
  372. package/test/smart-resume-consent.spec.ts +1 -1
  373. package/test/verification/campaigns.ts +40 -0
  374. package/vitest.campaigns.config.ts +2 -0
  375. package/vitest.config.ts +14 -0
@@ -1,7 +1,17 @@
1
1
  export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
2
2
  ctx: import(".././routes/index").Context;
3
3
  meta: import(".././routes/index").RouteMetadata;
4
- errorShape: import("@trpc/server").TRPCDefaultErrorShape;
4
+ errorShape: {
5
+ data: {
6
+ reason: string | undefined;
7
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
8
+ httpStatus: number;
9
+ path?: string;
10
+ stack?: string;
11
+ };
12
+ message: string;
13
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
14
+ };
5
15
  transformer: true;
6
16
  }, import("@trpc/server").TRPCDecorateCreateRouterOptions<{
7
17
  createConsentFlowContract: import("@trpc/server").TRPCMutationProcedure<{
@@ -13,11 +23,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
13
23
  categories?: Record<string, {
14
24
  required: boolean;
15
25
  defaultEnabled?: boolean | undefined;
26
+ reason?: string | undefined;
16
27
  }> | undefined;
17
28
  } | undefined;
18
29
  personal?: Record<string, {
19
30
  required: boolean;
20
31
  defaultEnabled?: boolean | undefined;
32
+ reason?: string | undefined;
21
33
  }> | undefined;
22
34
  } | undefined;
23
35
  write?: {
@@ -25,11 +37,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
25
37
  categories?: Record<string, {
26
38
  required: boolean;
27
39
  defaultEnabled?: boolean | undefined;
40
+ reason?: string | undefined;
28
41
  }> | undefined;
29
42
  } | undefined;
30
43
  personal?: Record<string, {
31
44
  required: boolean;
32
45
  defaultEnabled?: boolean | undefined;
46
+ reason?: string | undefined;
33
47
  }> | undefined;
34
48
  } | undefined;
35
49
  };
@@ -82,11 +96,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
82
96
  categories: Record<string, {
83
97
  required: boolean;
84
98
  defaultEnabled?: boolean | undefined;
99
+ reason?: string | undefined;
85
100
  }>;
86
101
  };
87
102
  personal: Record<string, {
88
103
  required: boolean;
89
104
  defaultEnabled?: boolean | undefined;
105
+ reason?: string | undefined;
90
106
  }>;
91
107
  anonymize?: boolean | undefined;
92
108
  };
@@ -95,11 +111,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
95
111
  categories: Record<string, {
96
112
  required: boolean;
97
113
  defaultEnabled?: boolean | undefined;
114
+ reason?: string | undefined;
98
115
  }>;
99
116
  };
100
117
  personal: Record<string, {
101
118
  required: boolean;
102
119
  defaultEnabled?: boolean | undefined;
120
+ reason?: string | undefined;
103
121
  }>;
104
122
  };
105
123
  };
@@ -145,6 +163,7 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
145
163
  uri: string;
146
164
  createdAt: string;
147
165
  updatedAt: string;
166
+ version: number;
148
167
  subtitle?: string | undefined;
149
168
  description?: string | undefined;
150
169
  reasonForAccessing?: string | undefined;
@@ -217,6 +236,169 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
217
236
  } | undefined;
218
237
  }[] | undefined;
219
238
  audienceVersion?: number | undefined;
239
+ status?: "active" | "retired" | undefined;
240
+ latestUpdate?: {
241
+ fromVersion: number;
242
+ toVersion: number;
243
+ kind: "relaxed" | "expanded_optional" | "requires_consent";
244
+ diff: {
245
+ added: {
246
+ area: "read" | "write";
247
+ type: "personal" | "credential";
248
+ key: string;
249
+ required: boolean;
250
+ reason?: string | undefined;
251
+ }[];
252
+ removed: {
253
+ area: "read" | "write";
254
+ type: "personal" | "credential";
255
+ key: string;
256
+ required: boolean;
257
+ reason?: string | undefined;
258
+ }[];
259
+ changed: {
260
+ area: "read" | "write";
261
+ type: "personal" | "credential";
262
+ key: string;
263
+ required: boolean;
264
+ reason?: string | undefined;
265
+ }[];
266
+ details?: {
267
+ field: "description" | "name" | "subtitle" | "reasonForAccessing" | "image" | "needsGuardianConsent" | "redirectUrl" | "frontDoorBoostUri" | "expiresAt" | "autoboosts" | "writers";
268
+ before?: string | boolean | string[] | undefined;
269
+ after?: string | boolean | string[] | undefined;
270
+ }[] | undefined;
271
+ };
272
+ createdAt: string;
273
+ preview: {
274
+ headline: string;
275
+ subhead: string;
276
+ rows: {
277
+ scope: {
278
+ area: "read" | "write";
279
+ type: "personal" | "credential";
280
+ key: string;
281
+ required: boolean;
282
+ reason?: string | undefined;
283
+ };
284
+ change: "added" | "removed" | "changed";
285
+ label: string;
286
+ subtitle: string;
287
+ }[];
288
+ primaryLabel: string;
289
+ };
290
+ reason?: string | undefined;
291
+ reconsentDeadline?: string | undefined;
292
+ } | undefined;
293
+ };
294
+ meta: import(".././routes/index").RouteMetadata;
295
+ }>;
296
+ updateConsentFlowContract: import("@trpc/server").TRPCMutationProcedure<{
297
+ input: {
298
+ uri: string;
299
+ changes: {
300
+ contract?: {
301
+ read?: {
302
+ anonymize?: boolean | undefined;
303
+ credentials?: {
304
+ categories?: Record<string, {
305
+ required: boolean;
306
+ defaultEnabled?: boolean | undefined;
307
+ reason?: string | undefined;
308
+ } | null> | undefined;
309
+ } | undefined;
310
+ personal?: Record<string, {
311
+ required: boolean;
312
+ defaultEnabled?: boolean | undefined;
313
+ reason?: string | undefined;
314
+ } | null> | undefined;
315
+ } | undefined;
316
+ write?: {
317
+ credentials?: {
318
+ categories?: Record<string, {
319
+ required: boolean;
320
+ defaultEnabled?: boolean | undefined;
321
+ reason?: string | undefined;
322
+ } | null> | undefined;
323
+ } | undefined;
324
+ personal?: Record<string, {
325
+ required: boolean;
326
+ defaultEnabled?: boolean | undefined;
327
+ reason?: string | undefined;
328
+ } | null> | undefined;
329
+ } | undefined;
330
+ } | undefined;
331
+ name?: string | undefined;
332
+ subtitle?: string | undefined;
333
+ description?: string | undefined;
334
+ reasonForAccessing?: string | undefined;
335
+ image?: string | undefined;
336
+ needsGuardianConsent?: boolean | undefined;
337
+ redirectUrl?: string | undefined;
338
+ frontDoorBoostUri?: string | undefined;
339
+ expiresAt?: string | null | undefined;
340
+ autoboosts?: {
341
+ boostUri: string;
342
+ signingAuthority: {
343
+ endpoint: string;
344
+ name: string;
345
+ };
346
+ }[] | undefined;
347
+ writers?: string[] | undefined;
348
+ recipients?: string[] | undefined;
349
+ };
350
+ reason?: string | undefined;
351
+ reconsentDeadline?: string | undefined;
352
+ dryRun?: boolean | undefined;
353
+ expectedVersion?: number | undefined;
354
+ };
355
+ output: {
356
+ version: number;
357
+ kind: "relaxed" | "expanded_optional" | "requires_consent";
358
+ affectedUsers: number;
359
+ preview: {
360
+ headline: string;
361
+ subhead: string;
362
+ rows: {
363
+ scope: {
364
+ area: "read" | "write";
365
+ type: "personal" | "credential";
366
+ key: string;
367
+ required: boolean;
368
+ reason?: string | undefined;
369
+ };
370
+ change: "added" | "removed" | "changed";
371
+ label: string;
372
+ subtitle: string;
373
+ }[];
374
+ primaryLabel: string;
375
+ };
376
+ };
377
+ meta: import(".././routes/index").RouteMetadata;
378
+ }>;
379
+ getContractVersions: import("@trpc/server").TRPCQueryProcedure<{
380
+ input: {
381
+ uri: string;
382
+ };
383
+ output: {
384
+ version: number;
385
+ createdAt: string;
386
+ reason?: string | undefined;
387
+ kind?: "relaxed" | "expanded_optional" | "requires_consent" | undefined;
388
+ }[];
389
+ meta: import(".././routes/index").RouteMetadata;
390
+ }>;
391
+ getConsentStatus: import("@trpc/server").TRPCQueryProcedure<{
392
+ input: {
393
+ uri: string;
394
+ profileId: string;
395
+ };
396
+ output: {
397
+ status: "live" | "suspended" | "consumed" | "withdrawn" | "needs_reconsent" | "not_consented";
398
+ currentVersion: number;
399
+ needsReconsent: boolean;
400
+ consentedVersion?: number | undefined;
401
+ reviewUrl?: string | undefined;
220
402
  };
221
403
  meta: import(".././routes/index").RouteMetadata;
222
404
  }>;
@@ -254,19 +436,22 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
254
436
  records: {
255
437
  name: string;
256
438
  uri: string;
257
- createdAt: string;
439
+ version: number;
258
440
  updatedAt: string;
441
+ createdAt: string;
259
442
  contract: {
260
443
  read: {
261
444
  credentials: {
262
445
  categories: Record<string, {
263
446
  required: boolean;
264
447
  defaultEnabled?: boolean | undefined;
448
+ reason?: string | undefined;
265
449
  }>;
266
450
  };
267
451
  personal: Record<string, {
268
452
  required: boolean;
269
453
  defaultEnabled?: boolean | undefined;
454
+ reason?: string | undefined;
270
455
  }>;
271
456
  anonymize?: boolean | undefined;
272
457
  };
@@ -275,16 +460,20 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
275
460
  categories: Record<string, {
276
461
  required: boolean;
277
462
  defaultEnabled?: boolean | undefined;
463
+ reason?: string | undefined;
278
464
  }>;
279
465
  };
280
466
  personal: Record<string, {
281
467
  required: boolean;
282
468
  defaultEnabled?: boolean | undefined;
469
+ reason?: string | undefined;
283
470
  }>;
284
471
  };
285
472
  };
286
473
  description?: string | undefined;
287
474
  image?: string | undefined;
475
+ status?: "active" | "retired" | undefined;
476
+ expiresAt?: string | undefined;
288
477
  recipients?: {
289
478
  profileId: string;
290
479
  displayName: string;
@@ -309,13 +498,11 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
309
498
  repeatIdBackgroundImage?: boolean | undefined;
310
499
  } | undefined;
311
500
  }[] | undefined;
312
- expiresAt?: string | undefined;
313
501
  subtitle?: string | undefined;
314
502
  reasonForAccessing?: string | undefined;
315
503
  needsGuardianConsent?: boolean | undefined;
316
504
  redirectUrl?: string | undefined;
317
505
  frontDoorBoostUri?: string | undefined;
318
- autoBoosts?: string[] | undefined;
319
506
  writers?: {
320
507
  profileId: string;
321
508
  displayName: string;
@@ -354,7 +541,61 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
354
541
  locale?: string | undefined;
355
542
  approved?: boolean | undefined;
356
543
  }[] | undefined;
544
+ autoBoosts?: string[] | undefined;
357
545
  audienceVersion?: number | undefined;
546
+ latestUpdate?: {
547
+ fromVersion: number;
548
+ toVersion: number;
549
+ kind: "relaxed" | "expanded_optional" | "requires_consent";
550
+ diff: {
551
+ added: {
552
+ area: "read" | "write";
553
+ type: "personal" | "credential";
554
+ key: string;
555
+ required: boolean;
556
+ reason?: string | undefined;
557
+ }[];
558
+ removed: {
559
+ area: "read" | "write";
560
+ type: "personal" | "credential";
561
+ key: string;
562
+ required: boolean;
563
+ reason?: string | undefined;
564
+ }[];
565
+ changed: {
566
+ area: "read" | "write";
567
+ type: "personal" | "credential";
568
+ key: string;
569
+ required: boolean;
570
+ reason?: string | undefined;
571
+ }[];
572
+ details?: {
573
+ field: "description" | "name" | "subtitle" | "reasonForAccessing" | "image" | "needsGuardianConsent" | "redirectUrl" | "frontDoorBoostUri" | "expiresAt" | "autoboosts" | "writers";
574
+ before?: string | boolean | string[] | undefined;
575
+ after?: string | boolean | string[] | undefined;
576
+ }[] | undefined;
577
+ };
578
+ createdAt: string;
579
+ preview: {
580
+ headline: string;
581
+ subhead: string;
582
+ rows: {
583
+ scope: {
584
+ area: "read" | "write";
585
+ type: "personal" | "credential";
586
+ key: string;
587
+ required: boolean;
588
+ reason?: string | undefined;
589
+ };
590
+ change: "added" | "removed" | "changed";
591
+ label: string;
592
+ subtitle: string;
593
+ }[];
594
+ primaryLabel: string;
595
+ };
596
+ reason?: string | undefined;
597
+ reconsentDeadline?: string | undefined;
598
+ } | undefined;
358
599
  }[];
359
600
  cursor?: string | undefined;
360
601
  };
@@ -440,7 +681,7 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
440
681
  };
441
682
  contractUri: string;
442
683
  termsUri: string;
443
- status: "stale" | "live" | "withdrawn";
684
+ status: "live" | "suspended" | "consumed" | "withdrawn" | "needs_reconsent";
444
685
  terms: {
445
686
  read: {
446
687
  credentials: {
@@ -812,11 +1053,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
812
1053
  categories: Record<string, {
813
1054
  required: boolean;
814
1055
  defaultEnabled?: boolean | undefined;
1056
+ reason?: string | undefined;
815
1057
  }>;
816
1058
  };
817
1059
  personal: Record<string, {
818
1060
  required: boolean;
819
1061
  defaultEnabled?: boolean | undefined;
1062
+ reason?: string | undefined;
820
1063
  }>;
821
1064
  anonymize?: boolean | undefined;
822
1065
  };
@@ -825,11 +1068,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
825
1068
  categories: Record<string, {
826
1069
  required: boolean;
827
1070
  defaultEnabled?: boolean | undefined;
1071
+ reason?: string | undefined;
828
1072
  }>;
829
1073
  };
830
1074
  personal: Record<string, {
831
1075
  required: boolean;
832
1076
  defaultEnabled?: boolean | undefined;
1077
+ reason?: string | undefined;
833
1078
  }>;
834
1079
  };
835
1080
  };
@@ -875,6 +1120,7 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
875
1120
  uri: string;
876
1121
  createdAt: string;
877
1122
  updatedAt: string;
1123
+ version: number;
878
1124
  subtitle?: string | undefined;
879
1125
  description?: string | undefined;
880
1126
  reasonForAccessing?: string | undefined;
@@ -947,6 +1193,60 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
947
1193
  } | undefined;
948
1194
  }[] | undefined;
949
1195
  audienceVersion?: number | undefined;
1196
+ status?: "active" | "retired" | undefined;
1197
+ latestUpdate?: {
1198
+ fromVersion: number;
1199
+ toVersion: number;
1200
+ kind: "relaxed" | "expanded_optional" | "requires_consent";
1201
+ diff: {
1202
+ added: {
1203
+ area: "read" | "write";
1204
+ type: "personal" | "credential";
1205
+ key: string;
1206
+ required: boolean;
1207
+ reason?: string | undefined;
1208
+ }[];
1209
+ removed: {
1210
+ area: "read" | "write";
1211
+ type: "personal" | "credential";
1212
+ key: string;
1213
+ required: boolean;
1214
+ reason?: string | undefined;
1215
+ }[];
1216
+ changed: {
1217
+ area: "read" | "write";
1218
+ type: "personal" | "credential";
1219
+ key: string;
1220
+ required: boolean;
1221
+ reason?: string | undefined;
1222
+ }[];
1223
+ details?: {
1224
+ field: "description" | "name" | "subtitle" | "reasonForAccessing" | "image" | "needsGuardianConsent" | "redirectUrl" | "frontDoorBoostUri" | "expiresAt" | "autoboosts" | "writers";
1225
+ before?: string | boolean | string[] | undefined;
1226
+ after?: string | boolean | string[] | undefined;
1227
+ }[] | undefined;
1228
+ };
1229
+ createdAt: string;
1230
+ preview: {
1231
+ headline: string;
1232
+ subhead: string;
1233
+ rows: {
1234
+ scope: {
1235
+ area: "read" | "write";
1236
+ type: "personal" | "credential";
1237
+ key: string;
1238
+ required: boolean;
1239
+ reason?: string | undefined;
1240
+ };
1241
+ change: "added" | "removed" | "changed";
1242
+ label: string;
1243
+ subtitle: string;
1244
+ }[];
1245
+ primaryLabel: string;
1246
+ };
1247
+ reason?: string | undefined;
1248
+ reconsentDeadline?: string | undefined;
1249
+ } | undefined;
950
1250
  };
951
1251
  uri: string;
952
1252
  consenter: {
@@ -987,7 +1287,8 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
987
1287
  locale?: string | undefined;
988
1288
  approved?: boolean | undefined;
989
1289
  };
990
- status: "stale" | "live" | "withdrawn";
1290
+ status: "live" | "suspended" | "consumed" | "withdrawn" | "needs_reconsent";
1291
+ consentedVersion: number;
991
1292
  expiresAt?: string | undefined;
992
1293
  oneTime?: boolean | undefined;
993
1294
  referral?: {
@@ -995,6 +1296,62 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
995
1296
  requestedBy: string;
996
1297
  externalReferenceId?: string | undefined;
997
1298
  } | undefined;
1299
+ lastReviewedVersion?: number | undefined;
1300
+ reconsentDeadline?: string | undefined;
1301
+ newOptionsUntil?: string | undefined;
1302
+ cumulativeUpdate?: {
1303
+ fromVersion: number;
1304
+ toVersion: number;
1305
+ kind: "relaxed" | "expanded_optional" | "requires_consent";
1306
+ diff: {
1307
+ added: {
1308
+ area: "read" | "write";
1309
+ type: "personal" | "credential";
1310
+ key: string;
1311
+ required: boolean;
1312
+ reason?: string | undefined;
1313
+ }[];
1314
+ removed: {
1315
+ area: "read" | "write";
1316
+ type: "personal" | "credential";
1317
+ key: string;
1318
+ required: boolean;
1319
+ reason?: string | undefined;
1320
+ }[];
1321
+ changed: {
1322
+ area: "read" | "write";
1323
+ type: "personal" | "credential";
1324
+ key: string;
1325
+ required: boolean;
1326
+ reason?: string | undefined;
1327
+ }[];
1328
+ details?: {
1329
+ field: "description" | "name" | "subtitle" | "reasonForAccessing" | "image" | "needsGuardianConsent" | "redirectUrl" | "frontDoorBoostUri" | "expiresAt" | "autoboosts" | "writers";
1330
+ before?: string | boolean | string[] | undefined;
1331
+ after?: string | boolean | string[] | undefined;
1332
+ }[] | undefined;
1333
+ };
1334
+ createdAt: string;
1335
+ preview: {
1336
+ headline: string;
1337
+ subhead: string;
1338
+ rows: {
1339
+ scope: {
1340
+ area: "read" | "write";
1341
+ type: "personal" | "credential";
1342
+ key: string;
1343
+ required: boolean;
1344
+ reason?: string | undefined;
1345
+ };
1346
+ change: "added" | "removed" | "changed";
1347
+ label: string;
1348
+ subtitle: string;
1349
+ }[];
1350
+ primaryLabel: string;
1351
+ };
1352
+ reason?: string | undefined;
1353
+ reconsentDeadline?: string | undefined;
1354
+ } | undefined;
998
1355
  }[];
999
1356
  cursor?: string | undefined;
1000
1357
  };
@@ -1026,6 +1383,7 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
1026
1383
  } | undefined;
1027
1384
  deniedWriters?: string[] | undefined;
1028
1385
  };
1386
+ acceptVersion?: number | undefined;
1029
1387
  expiresAt?: string | undefined;
1030
1388
  oneTime?: boolean | undefined;
1031
1389
  audienceVersion?: number | undefined;
@@ -1078,7 +1436,7 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
1078
1436
  personal?: Record<string, boolean> | undefined;
1079
1437
  } | undefined;
1080
1438
  } | undefined;
1081
- action?: "update" | "write" | "consent" | "sync" | "withdraw" | ("update" | "write" | "consent" | "sync" | "withdraw")[] | undefined;
1439
+ action?: "write" | "consent" | "update" | "sync" | "withdraw" | "reconsent" | ("write" | "consent" | "update" | "sync" | "withdraw" | "reconsent")[] | undefined;
1082
1440
  date?: {
1083
1441
  $gt: string;
1084
1442
  } | {
@@ -1101,7 +1459,7 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
1101
1459
  hasMore: boolean;
1102
1460
  records: {
1103
1461
  id: string;
1104
- action: "update" | "write" | "consent" | "sync" | "withdraw";
1462
+ action: "write" | "consent" | "update" | "sync" | "withdraw" | "reconsent";
1105
1463
  date: string;
1106
1464
  expiresAt?: string | undefined;
1107
1465
  oneTime?: boolean | undefined;
@@ -1139,7 +1497,11 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
1139
1497
  requestedBy: string;
1140
1498
  externalReferenceId?: string | undefined;
1141
1499
  } | undefined;
1500
+ kind?: "relaxed" | "expanded_optional" | "requires_consent" | undefined;
1142
1501
  uris?: string[] | undefined;
1502
+ consentedVersion?: number | undefined;
1503
+ reconsentDeadline?: string | undefined;
1504
+ newOptionsUntil?: string | undefined;
1143
1505
  }[];
1144
1506
  cursor?: string | undefined;
1145
1507
  };
@@ -1397,11 +1759,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
1397
1759
  categories: Record<string, {
1398
1760
  required: boolean;
1399
1761
  defaultEnabled?: boolean | undefined;
1762
+ reason?: string | undefined;
1400
1763
  }>;
1401
1764
  };
1402
1765
  personal: Record<string, {
1403
1766
  required: boolean;
1404
1767
  defaultEnabled?: boolean | undefined;
1768
+ reason?: string | undefined;
1405
1769
  }>;
1406
1770
  anonymize?: boolean | undefined;
1407
1771
  };
@@ -1410,11 +1774,13 @@ export declare const contractsRouter: import("@trpc/server").TRPCBuiltRouter<{
1410
1774
  categories: Record<string, {
1411
1775
  required: boolean;
1412
1776
  defaultEnabled?: boolean | undefined;
1777
+ reason?: string | undefined;
1413
1778
  }>;
1414
1779
  };
1415
1780
  personal: Record<string, {
1416
1781
  required: boolean;
1417
1782
  defaultEnabled?: boolean | undefined;
1783
+ reason?: string | undefined;
1418
1784
  }>;
1419
1785
  };
1420
1786
  uri: string;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/routes/contracts.ts"],"names":[],"mappings":"AAuIA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA66E1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/routes/contracts.ts"],"names":[],"mappings":"AAsKA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4sF1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=credential-input-privacy.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-input-privacy.test.d.ts","sourceRoot":"","sources":["../../src/routes/credential-input-privacy.test.ts"],"names":[],"mappings":""}