@futdevpro/nts-dynamo 1.15.140 → 1.15.142

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 (294) hide show
  1. package/README.md +27 -0
  2. package/__documentations/2026-08-18-standalone-account-security-and-privacy-bedrock.md +132 -0
  3. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts +6 -0
  4. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.d.ts.map +1 -0
  5. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js +10 -0
  6. package/build/_modules/account-security/_enums/account-challenge-purpose.type-enum.js.map +1 -0
  7. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts +7 -0
  8. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.d.ts.map +1 -0
  9. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js +11 -0
  10. package/build/_modules/account-security/_enums/account-refresh-token-state.type-enum.js.map +1 -0
  11. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts +7 -0
  12. package/build/_modules/account-security/_enums/account-session-state.type-enum.d.ts.map +1 -0
  13. package/build/_modules/account-security/_enums/account-session-state.type-enum.js +11 -0
  14. package/build/_modules/account-security/_enums/account-session-state.type-enum.js.map +1 -0
  15. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts +9 -0
  16. package/build/_modules/account-security/_models/account-challenge-adapter.interface.d.ts.map +1 -0
  17. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js +3 -0
  18. package/build/_modules/account-security/_models/account-challenge-adapter.interface.js.map +1 -0
  19. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts +7 -0
  20. package/build/_modules/account-security/_models/account-challenge-issued.interface.d.ts.map +1 -0
  21. package/build/_modules/account-security/_models/account-challenge-issued.interface.js +3 -0
  22. package/build/_modules/account-security/_models/account-challenge-issued.interface.js.map +1 -0
  23. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts +13 -0
  24. package/build/_modules/account-security/_models/account-challenge-record.interface.d.ts.map +1 -0
  25. package/build/_modules/account-security/_models/account-challenge-record.interface.js +3 -0
  26. package/build/_modules/account-security/_models/account-challenge-record.interface.js.map +1 -0
  27. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts +8 -0
  28. package/build/_modules/account-security/_models/account-challenge-result.interface.d.ts.map +1 -0
  29. package/build/_modules/account-security/_models/account-challenge-result.interface.js +3 -0
  30. package/build/_modules/account-security/_models/account-challenge-result.interface.js.map +1 -0
  31. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts +9 -0
  32. package/build/_modules/account-security/_models/account-challenge-settings.interface.d.ts.map +1 -0
  33. package/build/_modules/account-security/_models/account-challenge-settings.interface.js +3 -0
  34. package/build/_modules/account-security/_models/account-challenge-settings.interface.js.map +1 -0
  35. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts +12 -0
  36. package/build/_modules/account-security/_models/account-password-policy.interface.d.ts.map +1 -0
  37. package/build/_modules/account-security/_models/account-password-policy.interface.js +3 -0
  38. package/build/_modules/account-security/_models/account-password-policy.interface.js.map +1 -0
  39. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts +6 -0
  40. package/build/_modules/account-security/_models/account-password-verification.interface.d.ts.map +1 -0
  41. package/build/_modules/account-security/_models/account-password-verification.interface.js +3 -0
  42. package/build/_modules/account-security/_models/account-password-verification.interface.js.map +1 -0
  43. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts +13 -0
  44. package/build/_modules/account-security/_models/account-refresh-token-record.interface.d.ts.map +1 -0
  45. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js +3 -0
  46. package/build/_modules/account-security/_models/account-refresh-token-record.interface.js.map +1 -0
  47. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts +19 -0
  48. package/build/_modules/account-security/_models/account-session-adapter.interface.d.ts.map +1 -0
  49. package/build/_modules/account-security/_models/account-session-adapter.interface.js +3 -0
  50. package/build/_modules/account-security/_models/account-session-adapter.interface.js.map +1 -0
  51. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts +8 -0
  52. package/build/_modules/account-security/_models/account-session-claims.interface.d.ts.map +1 -0
  53. package/build/_modules/account-security/_models/account-session-claims.interface.js +3 -0
  54. package/build/_modules/account-security/_models/account-session-claims.interface.js.map +1 -0
  55. package/build/_modules/account-security/_models/account-session-context.interface.d.ts +7 -0
  56. package/build/_modules/account-security/_models/account-session-context.interface.d.ts.map +1 -0
  57. package/build/_modules/account-security/_models/account-session-context.interface.js +3 -0
  58. package/build/_modules/account-security/_models/account-session-context.interface.js.map +1 -0
  59. package/build/_modules/account-security/_models/account-session-create.interface.d.ts +8 -0
  60. package/build/_modules/account-security/_models/account-session-create.interface.d.ts.map +1 -0
  61. package/build/_modules/account-security/_models/account-session-create.interface.js +3 -0
  62. package/build/_modules/account-security/_models/account-session-create.interface.js.map +1 -0
  63. package/build/_modules/account-security/_models/account-session-record.interface.d.ts +21 -0
  64. package/build/_modules/account-security/_models/account-session-record.interface.d.ts.map +1 -0
  65. package/build/_modules/account-security/_models/account-session-record.interface.js +3 -0
  66. package/build/_modules/account-security/_models/account-session-record.interface.js.map +1 -0
  67. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts +11 -0
  68. package/build/_modules/account-security/_models/account-session-rotate.interface.d.ts.map +1 -0
  69. package/build/_modules/account-security/_models/account-session-rotate.interface.js +3 -0
  70. package/build/_modules/account-security/_models/account-session-rotate.interface.js.map +1 -0
  71. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts +11 -0
  72. package/build/_modules/account-security/_models/account-session-settings.interface.d.ts.map +1 -0
  73. package/build/_modules/account-security/_models/account-session-settings.interface.js +3 -0
  74. package/build/_modules/account-security/_models/account-session-settings.interface.js.map +1 -0
  75. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts +9 -0
  76. package/build/_modules/account-security/_models/account-session-token-pair.interface.d.ts.map +1 -0
  77. package/build/_modules/account-security/_models/account-session-token-pair.interface.js +3 -0
  78. package/build/_modules/account-security/_models/account-session-token-pair.interface.js.map +1 -0
  79. package/build/_modules/account-security/_models/account-session-view.interface.d.ts +13 -0
  80. package/build/_modules/account-security/_models/account-session-view.interface.d.ts.map +1 -0
  81. package/build/_modules/account-security/_models/account-session-view.interface.js +3 -0
  82. package/build/_modules/account-security/_models/account-session-view.interface.js.map +1 -0
  83. package/build/_modules/account-security/account-challenge.control-service.d.ts +24 -0
  84. package/build/_modules/account-security/account-challenge.control-service.d.ts.map +1 -0
  85. package/build/_modules/account-security/account-challenge.control-service.js +117 -0
  86. package/build/_modules/account-security/account-challenge.control-service.js.map +1 -0
  87. package/build/_modules/account-security/account-password.control-service.d.ts +24 -0
  88. package/build/_modules/account-security/account-password.control-service.d.ts.map +1 -0
  89. package/build/_modules/account-security/account-password.control-service.js +214 -0
  90. package/build/_modules/account-security/account-password.control-service.js.map +1 -0
  91. package/build/_modules/account-security/account-session.control-service.d.ts +39 -0
  92. package/build/_modules/account-security/account-session.control-service.d.ts.map +1 -0
  93. package/build/_modules/account-security/account-session.control-service.js +277 -0
  94. package/build/_modules/account-security/account-session.control-service.js.map +1 -0
  95. package/build/_modules/account-security/index.d.ts +24 -0
  96. package/build/_modules/account-security/index.d.ts.map +1 -0
  97. package/build/_modules/account-security/index.js +16 -0
  98. package/build/_modules/account-security/index.js.map +1 -0
  99. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts +6 -0
  100. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.d.ts.map +1 -0
  101. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js +10 -0
  102. package/build/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.js.map +1 -0
  103. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts +11 -0
  104. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.d.ts.map +1 -0
  105. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js +15 -0
  106. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.js.map +1 -0
  107. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts +8 -0
  108. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.d.ts.map +1 -0
  109. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js +12 -0
  110. package/build/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.js.map +1 -0
  111. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts +16 -0
  112. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.d.ts.map +1 -0
  113. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js +20 -0
  114. package/build/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.js.map +1 -0
  115. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts +10 -0
  116. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.d.ts.map +1 -0
  117. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js +14 -0
  118. package/build/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.js.map +1 -0
  119. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts +12 -0
  120. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.d.ts.map +1 -0
  121. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js +3 -0
  122. package/build/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.js.map +1 -0
  123. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts +7 -0
  124. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.d.ts.map +1 -0
  125. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js +3 -0
  126. package/build/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.js.map +1 -0
  127. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts +15 -0
  128. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.d.ts.map +1 -0
  129. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js +3 -0
  130. package/build/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.js.map +1 -0
  131. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts +7 -0
  132. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.d.ts.map +1 -0
  133. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js +3 -0
  134. package/build/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.js.map +1 -0
  135. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts +13 -0
  136. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.d.ts.map +1 -0
  137. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js +3 -0
  138. package/build/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.js.map +1 -0
  139. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts +9 -0
  140. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.d.ts.map +1 -0
  141. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js +3 -0
  142. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.js.map +1 -0
  143. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts +14 -0
  144. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.d.ts.map +1 -0
  145. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js +3 -0
  146. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.js.map +1 -0
  147. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts +8 -0
  148. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.d.ts.map +1 -0
  149. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js +3 -0
  150. package/build/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.js.map +1 -0
  151. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +11 -0
  152. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts.map +1 -0
  153. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js +3 -0
  154. package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.js.map +1 -0
  155. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts +13 -0
  156. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.d.ts.map +1 -0
  157. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js +3 -0
  158. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.js.map +1 -0
  159. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts +9 -0
  160. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.d.ts.map +1 -0
  161. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js +3 -0
  162. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.js.map +1 -0
  163. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts +7 -0
  164. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.d.ts.map +1 -0
  165. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js +3 -0
  166. package/build/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.js.map +1 -0
  167. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts +11 -0
  168. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.d.ts.map +1 -0
  169. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js +3 -0
  170. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.js.map +1 -0
  171. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts +7 -0
  172. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.d.ts.map +1 -0
  173. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js +3 -0
  174. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.js.map +1 -0
  175. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts +7 -0
  176. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.d.ts.map +1 -0
  177. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js +3 -0
  178. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.js.map +1 -0
  179. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts +12 -0
  180. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.d.ts.map +1 -0
  181. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js +3 -0
  182. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.js.map +1 -0
  183. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts +14 -0
  184. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.d.ts.map +1 -0
  185. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js +3 -0
  186. package/build/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.js.map +1 -0
  187. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts +15 -0
  188. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.d.ts.map +1 -0
  189. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js +3 -0
  190. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.js.map +1 -0
  191. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts +9 -0
  192. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.d.ts.map +1 -0
  193. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js +3 -0
  194. package/build/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.js.map +1 -0
  195. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts +7 -0
  196. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.d.ts.map +1 -0
  197. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js +3 -0
  198. package/build/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.js.map +1 -0
  199. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts +10 -0
  200. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.d.ts.map +1 -0
  201. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js +3 -0
  202. package/build/_modules/privacy-lifecycle/_models/privacy-request-open.interface.js.map +1 -0
  203. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts +7 -0
  204. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.d.ts.map +1 -0
  205. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js +3 -0
  206. package/build/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.js.map +1 -0
  207. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts +21 -0
  208. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.d.ts.map +1 -0
  209. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js +3 -0
  210. package/build/_modules/privacy-lifecycle/_models/privacy-request-record.interface.js.map +1 -0
  211. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts +8 -0
  212. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.d.ts.map +1 -0
  213. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js +3 -0
  214. package/build/_modules/privacy-lifecycle/_models/privacy-request-result.interface.js.map +1 -0
  215. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts +20 -0
  216. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.d.ts.map +1 -0
  217. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js +3 -0
  218. package/build/_modules/privacy-lifecycle/_models/privacy-request-view.interface.js.map +1 -0
  219. package/build/_modules/privacy-lifecycle/index.d.ts +33 -0
  220. package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -0
  221. package/build/_modules/privacy-lifecycle/index.js +18 -0
  222. package/build/_modules/privacy-lifecycle/index.js.map +1 -0
  223. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts +28 -0
  224. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.d.ts.map +1 -0
  225. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js +168 -0
  226. package/build/_modules/privacy-lifecycle/privacy-ledger.control-service.js.map +1 -0
  227. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts +42 -0
  228. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.d.ts.map +1 -0
  229. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js +364 -0
  230. package/build/_modules/privacy-lifecycle/privacy-lifecycle.control-service.js.map +1 -0
  231. package/package.json +19 -1
  232. package/src/_modules/account-security/_enums/account-challenge-purpose.type-enum.ts +5 -0
  233. package/src/_modules/account-security/_enums/account-refresh-token-state.type-enum.ts +6 -0
  234. package/src/_modules/account-security/_enums/account-session-state.type-enum.ts +6 -0
  235. package/src/_modules/account-security/_models/account-challenge-adapter.interface.ts +17 -0
  236. package/src/_modules/account-security/_models/account-challenge-issued.interface.ts +6 -0
  237. package/src/_modules/account-security/_models/account-challenge-record.interface.ts +13 -0
  238. package/src/_modules/account-security/_models/account-challenge-result.interface.ts +8 -0
  239. package/src/_modules/account-security/_models/account-challenge-settings.interface.ts +9 -0
  240. package/src/_modules/account-security/_models/account-password-policy.interface.ts +11 -0
  241. package/src/_modules/account-security/_models/account-password-verification.interface.ts +5 -0
  242. package/src/_modules/account-security/_models/account-refresh-token-record.interface.ts +13 -0
  243. package/src/_modules/account-security/_models/account-session-adapter.interface.ts +19 -0
  244. package/src/_modules/account-security/_models/account-session-claims.interface.ts +7 -0
  245. package/src/_modules/account-security/_models/account-session-context.interface.ts +6 -0
  246. package/src/_modules/account-security/_models/account-session-create.interface.ts +8 -0
  247. package/src/_modules/account-security/_models/account-session-record.interface.ts +21 -0
  248. package/src/_modules/account-security/_models/account-session-rotate.interface.ts +11 -0
  249. package/src/_modules/account-security/_models/account-session-settings.interface.ts +11 -0
  250. package/src/_modules/account-security/_models/account-session-token-pair.interface.ts +8 -0
  251. package/src/_modules/account-security/_models/account-session-view.interface.ts +13 -0
  252. package/src/_modules/account-security/account-challenge.control-service.spec.ts +195 -0
  253. package/src/_modules/account-security/account-challenge.control-service.ts +164 -0
  254. package/src/_modules/account-security/account-password.control-service.spec.ts +96 -0
  255. package/src/_modules/account-security/account-password.control-service.ts +288 -0
  256. package/src/_modules/account-security/account-session.control-service.spec.ts +294 -0
  257. package/src/_modules/account-security/account-session.control-service.ts +376 -0
  258. package/src/_modules/account-security/index.ts +31 -0
  259. package/src/_modules/privacy-lifecycle/_enums/privacy-consent-decision.type-enum.ts +5 -0
  260. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-action.type-enum.ts +10 -0
  261. package/src/_modules/privacy-lifecycle/_enums/privacy-contributor-outcome.type-enum.ts +7 -0
  262. package/src/_modules/privacy-lifecycle/_enums/privacy-request-state.type-enum.ts +15 -0
  263. package/src/_modules/privacy-lifecycle/_enums/privacy-request.type-enum.ts +9 -0
  264. package/src/_modules/privacy-lifecycle/_models/privacy-consent-input.interface.ts +12 -0
  265. package/src/_modules/privacy-lifecycle/_models/privacy-consent-persistence-result.interface.ts +7 -0
  266. package/src/_modules/privacy-lifecycle/_models/privacy-consent-record.interface.ts +15 -0
  267. package/src/_modules/privacy-lifecycle/_models/privacy-consent-result.interface.ts +7 -0
  268. package/src/_modules/privacy-lifecycle/_models/privacy-consent-view.interface.ts +13 -0
  269. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-context.interface.ts +9 -0
  270. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-outcome.interface.ts +14 -0
  271. package/src/_modules/privacy-lifecycle/_models/privacy-contributor-plan.interface.ts +8 -0
  272. package/src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts +17 -0
  273. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-adapter.interface.ts +21 -0
  274. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-result.interface.ts +9 -0
  275. package/src/_modules/privacy-lifecycle/_models/privacy-ledger-settings.interface.ts +7 -0
  276. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-input.interface.ts +10 -0
  277. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-persistence-result.interface.ts +7 -0
  278. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-result.interface.ts +7 -0
  279. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance-view.interface.ts +11 -0
  280. package/src/_modules/privacy-lifecycle/_models/privacy-legal-acceptance.interface.ts +13 -0
  281. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-adapter.interface.ts +19 -0
  282. package/src/_modules/privacy-lifecycle/_models/privacy-lifecycle-settings.interface.ts +9 -0
  283. package/src/_modules/privacy-lifecycle/_models/privacy-request-create-result.interface.ts +7 -0
  284. package/src/_modules/privacy-lifecycle/_models/privacy-request-open.interface.ts +10 -0
  285. package/src/_modules/privacy-lifecycle/_models/privacy-request-persistence-create-result.interface.ts +7 -0
  286. package/src/_modules/privacy-lifecycle/_models/privacy-request-record.interface.ts +21 -0
  287. package/src/_modules/privacy-lifecycle/_models/privacy-request-result.interface.ts +8 -0
  288. package/src/_modules/privacy-lifecycle/_models/privacy-request-view.interface.ts +20 -0
  289. package/src/_modules/privacy-lifecycle/index.ts +40 -0
  290. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.spec.ts +206 -0
  291. package/src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts +253 -0
  292. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.spec.ts +353 -0
  293. package/src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts +586 -0
  294. package/SKILLS.md +0 -75
@@ -0,0 +1,33 @@
1
+ export { DyNTS_PrivacyLifecycle_ControlService } from './privacy-lifecycle.control-service';
2
+ export { DyNTS_PrivacyLedger_ControlService } from './privacy-ledger.control-service';
3
+ export { DyNTS_PrivacyConsentDecision_Type } from './_enums/privacy-consent-decision.type-enum';
4
+ export { DyNTS_PrivacyContributorAction_Type } from './_enums/privacy-contributor-action.type-enum';
5
+ export { DyNTS_PrivacyContributorOutcome_Type } from './_enums/privacy-contributor-outcome.type-enum';
6
+ export { DyNTS_PrivacyRequestState_Type } from './_enums/privacy-request-state.type-enum';
7
+ export { DyNTS_PrivacyRequest_Type } from './_enums/privacy-request.type-enum';
8
+ export { DyNTS_PrivacyContributorContext_Interface } from './_models/privacy-contributor-context.interface';
9
+ export { DyNTS_PrivacyContributorOutcome_Interface } from './_models/privacy-contributor-outcome.interface';
10
+ export { DyNTS_PrivacyContributorPlan_Interface } from './_models/privacy-contributor-plan.interface';
11
+ export { DyNTS_PrivacyContributor_Interface } from './_models/privacy-contributor.interface';
12
+ export { DyNTS_PrivacyLifecycleAdapter_Interface } from './_models/privacy-lifecycle-adapter.interface';
13
+ export { DyNTS_PrivacyLifecycleSettings_Interface } from './_models/privacy-lifecycle-settings.interface';
14
+ export { DyNTS_PrivacyConsentInput_Interface } from './_models/privacy-consent-input.interface';
15
+ export { DyNTS_PrivacyConsentPersistenceResult_Interface } from './_models/privacy-consent-persistence-result.interface';
16
+ export { DyNTS_PrivacyConsentRecord_Interface } from './_models/privacy-consent-record.interface';
17
+ export { DyNTS_PrivacyConsentResult_Interface } from './_models/privacy-consent-result.interface';
18
+ export { DyNTS_PrivacyConsentView_Interface } from './_models/privacy-consent-view.interface';
19
+ export { DyNTS_PrivacyLedgerAdapter_Interface } from './_models/privacy-ledger-adapter.interface';
20
+ export { DyNTS_PrivacyLedgerResult_Interface } from './_models/privacy-ledger-result.interface';
21
+ export { DyNTS_PrivacyLedgerSettings_Interface } from './_models/privacy-ledger-settings.interface';
22
+ export { DyNTS_PrivacyLegalAcceptanceInput_Interface } from './_models/privacy-legal-acceptance-input.interface';
23
+ export { DyNTS_PrivacyLegalAcceptancePersistenceResult_Interface } from './_models/privacy-legal-acceptance-persistence-result.interface';
24
+ export { DyNTS_PrivacyLegalAcceptanceResult_Interface } from './_models/privacy-legal-acceptance-result.interface';
25
+ export { DyNTS_PrivacyLegalAcceptanceView_Interface } from './_models/privacy-legal-acceptance-view.interface';
26
+ export { DyNTS_PrivacyLegalAcceptance_Interface } from './_models/privacy-legal-acceptance.interface';
27
+ export { DyNTS_PrivacyRequestCreateResult_Interface } from './_models/privacy-request-create-result.interface';
28
+ export { DyNTS_PrivacyRequestOpen_Interface } from './_models/privacy-request-open.interface';
29
+ export { DyNTS_PrivacyRequestPersistenceCreateResult_Interface } from './_models/privacy-request-persistence-create-result.interface';
30
+ export { DyNTS_PrivacyRequestRecord_Interface } from './_models/privacy-request-record.interface';
31
+ export { DyNTS_PrivacyRequestResult_Interface } from './_models/privacy-request-result.interface';
32
+ export { DyNTS_PrivacyRequestView_Interface } from './_models/privacy-request-view.interface';
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qCAAqC,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AACtF,OAAO,EAAE,iCAAiC,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EAAE,oCAAoC,EAAE,MAAM,gDAAgD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,yCAAyC,EAAE,MAAM,iDAAiD,CAAC;AAC5G,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,wCAAwC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EACL,+CAA+C,EAChD,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,2CAA2C,EAAE,MAAM,oDAAoD,CAAC;AACjH,OAAO,EACL,uDAAuD,EACxD,MAAM,iEAAiE,CAAC;AACzE,OAAO,EAAE,4CAA4C,EAAE,MAAM,qDAAqD,CAAC;AACnH,OAAO,EACL,0CAA0C,EAC3C,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,sCAAsC,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,0CAA0C,EAAE,MAAM,mDAAmD,CAAC;AAC/G,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EACL,qDAAqD,EACtD,MAAM,+DAA+D,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_PrivacyRequest_Type = exports.DyNTS_PrivacyRequestState_Type = exports.DyNTS_PrivacyContributorOutcome_Type = exports.DyNTS_PrivacyContributorAction_Type = exports.DyNTS_PrivacyConsentDecision_Type = exports.DyNTS_PrivacyLedger_ControlService = exports.DyNTS_PrivacyLifecycle_ControlService = void 0;
4
+ var privacy_lifecycle_control_service_1 = require("./privacy-lifecycle.control-service");
5
+ Object.defineProperty(exports, "DyNTS_PrivacyLifecycle_ControlService", { enumerable: true, get: function () { return privacy_lifecycle_control_service_1.DyNTS_PrivacyLifecycle_ControlService; } });
6
+ var privacy_ledger_control_service_1 = require("./privacy-ledger.control-service");
7
+ Object.defineProperty(exports, "DyNTS_PrivacyLedger_ControlService", { enumerable: true, get: function () { return privacy_ledger_control_service_1.DyNTS_PrivacyLedger_ControlService; } });
8
+ var privacy_consent_decision_type_enum_1 = require("./_enums/privacy-consent-decision.type-enum");
9
+ Object.defineProperty(exports, "DyNTS_PrivacyConsentDecision_Type", { enumerable: true, get: function () { return privacy_consent_decision_type_enum_1.DyNTS_PrivacyConsentDecision_Type; } });
10
+ var privacy_contributor_action_type_enum_1 = require("./_enums/privacy-contributor-action.type-enum");
11
+ Object.defineProperty(exports, "DyNTS_PrivacyContributorAction_Type", { enumerable: true, get: function () { return privacy_contributor_action_type_enum_1.DyNTS_PrivacyContributorAction_Type; } });
12
+ var privacy_contributor_outcome_type_enum_1 = require("./_enums/privacy-contributor-outcome.type-enum");
13
+ Object.defineProperty(exports, "DyNTS_PrivacyContributorOutcome_Type", { enumerable: true, get: function () { return privacy_contributor_outcome_type_enum_1.DyNTS_PrivacyContributorOutcome_Type; } });
14
+ var privacy_request_state_type_enum_1 = require("./_enums/privacy-request-state.type-enum");
15
+ Object.defineProperty(exports, "DyNTS_PrivacyRequestState_Type", { enumerable: true, get: function () { return privacy_request_state_type_enum_1.DyNTS_PrivacyRequestState_Type; } });
16
+ var privacy_request_type_enum_1 = require("./_enums/privacy-request.type-enum");
17
+ Object.defineProperty(exports, "DyNTS_PrivacyRequest_Type", { enumerable: true, get: function () { return privacy_request_type_enum_1.DyNTS_PrivacyRequest_Type; } });
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,yFAA4F;AAAnF,0JAAA,qCAAqC,OAAA;AAC9C,mFAAsF;AAA7E,oJAAA,kCAAkC,OAAA;AAC3C,kGAAgG;AAAvF,uJAAA,iCAAiC,OAAA;AAC1C,sGAAoG;AAA3F,2JAAA,mCAAmC,OAAA;AAC5C,wGAAsG;AAA7F,6JAAA,oCAAoC,OAAA;AAC7C,4FAA0F;AAAjF,iJAAA,8BAA8B,OAAA;AACvC,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA"}
@@ -0,0 +1,28 @@
1
+ import { DyNTS_PrivacyConsentInput_Interface } from './_models/privacy-consent-input.interface';
2
+ import { DyNTS_PrivacyConsentResult_Interface } from './_models/privacy-consent-result.interface';
3
+ import { DyNTS_PrivacyLedgerResult_Interface } from './_models/privacy-ledger-result.interface';
4
+ import { DyNTS_PrivacyLedgerSettings_Interface } from './_models/privacy-ledger-settings.interface';
5
+ import { DyNTS_PrivacyLegalAcceptanceInput_Interface } from './_models/privacy-legal-acceptance-input.interface';
6
+ import { DyNTS_PrivacyLegalAcceptanceResult_Interface } from './_models/privacy-legal-acceptance-result.interface';
7
+ /** Maintains immutable legal acceptance and purpose-specific consent evidence. */
8
+ export declare class DyNTS_PrivacyLedger_ControlService {
9
+ private readonly adapter;
10
+ private readonly clock;
11
+ /** Creates a privacy ledger over an append-only persistence adapter. */
12
+ constructor(set: DyNTS_PrivacyLedgerSettings_Interface);
13
+ /** Appends or replays acceptance of one exact checksummed legal document version. */
14
+ acceptLegalDocument(set: DyNTS_PrivacyLegalAcceptanceInput_Interface): Promise<DyNTS_PrivacyLegalAcceptanceResult_Interface>;
15
+ /** Appends or replays a purpose-specific consent grant or withdrawal. */
16
+ recordConsent(set: DyNTS_PrivacyConsentInput_Interface): Promise<DyNTS_PrivacyConsentResult_Interface>;
17
+ /** Returns immutable history plus the latest decision for every purpose. */
18
+ getLedger(subjectId: string, organizationId: string): Promise<DyNTS_PrivacyLedgerResult_Interface>;
19
+ private validateCommon;
20
+ private hashInput;
21
+ private hashContent;
22
+ private isSafeCode;
23
+ private isBoundedText;
24
+ private toLegalView;
25
+ private toConsentView;
26
+ private buildError;
27
+ }
28
+ //# sourceMappingURL=privacy-ledger.control-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy-ledger.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAKhG,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAGlG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,qCAAqC,EAAE,MAAM,6CAA6C,CAAC;AACpG,OAAO,EAAE,2CAA2C,EAAE,MAAM,oDAAoD,CAAC;AAIjH,OAAO,EAAE,4CAA4C,EAAE,MAAM,qDAAqD,CAAC;AAMnH,kFAAkF;AAClF,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC,wEAAwE;gBAC5D,GAAG,EAAE,qCAAqC;IAStD,qFAAqF;IACxE,mBAAmB,CAC9B,GAAG,EAAE,2CAA2C,GAC/C,OAAO,CAAC,4CAA4C,CAAC;IA2CxD,yEAAyE;IAC5D,aAAa,CACxB,GAAG,EAAE,mCAAmC,GACvC,OAAO,CAAC,oCAAoC,CAAC;IA0ChD,4EAA4E;IAC/D,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mCAAmC,CAAC;IA0C/G,OAAO,CAAC,cAAc;IAgBtB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAenB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,UAAU;CASnB"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyNTS_PrivacyLedger_ControlService = void 0;
4
+ const crypto_1 = require("crypto");
5
+ const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
6
+ const global_settings_const_1 = require("../../_collections/global-settings.const");
7
+ const privacy_consent_decision_type_enum_1 = require("./_enums/privacy-consent-decision.type-enum");
8
+ /** Maintains immutable legal acceptance and purpose-specific consent evidence. */
9
+ class DyNTS_PrivacyLedger_ControlService {
10
+ adapter;
11
+ clock;
12
+ /** Creates a privacy ledger over an append-only persistence adapter. */
13
+ constructor(set) {
14
+ this.adapter = set.adapter;
15
+ this.clock = set.clock ?? (() => new Date());
16
+ if (!this.adapter) {
17
+ throw this.buildError(500, 'SETTINGS_INVALID', 'The privacy ledger settings are invalid.');
18
+ }
19
+ }
20
+ /** Appends or replays acceptance of one exact checksummed legal document version. */
21
+ async acceptLegalDocument(set) {
22
+ this.validateCommon(set);
23
+ if (!this.isSafeCode(set.documentType)
24
+ || !this.isSafeCode(set.documentVersion)
25
+ || !/^[a-f0-9]{64}$/u.test(set.documentChecksum)) {
26
+ throw this.buildError(400, 'LEGAL_ACCEPTANCE_INVALID', 'The legal acceptance is invalid.');
27
+ }
28
+ const acceptance = {
29
+ acceptanceId: (0, crypto_1.randomUUID)(),
30
+ subjectId: set.subjectId,
31
+ organizationId: set.organizationId,
32
+ documentType: set.documentType,
33
+ documentVersion: set.documentVersion,
34
+ documentChecksum: set.documentChecksum,
35
+ sourceCode: set.sourceCode,
36
+ idempotencyHash: this.hashInput('legal', set),
37
+ requestFingerprint: this.hashContent([
38
+ set.documentType,
39
+ set.documentVersion,
40
+ set.documentChecksum,
41
+ set.sourceCode,
42
+ ]),
43
+ acceptedAt: this.clock().toISOString(),
44
+ };
45
+ const result = await this.adapter.appendLegalAcceptance(acceptance);
46
+ if (result.acceptance.requestFingerprint !== acceptance.requestFingerprint
47
+ || result.acceptance.idempotencyHash !== acceptance.idempotencyHash
48
+ || result.acceptance.subjectId !== acceptance.subjectId
49
+ || result.acceptance.organizationId !== acceptance.organizationId) {
50
+ throw this.buildError(409, 'IDEMPOTENCY_CONFLICT', 'The idempotency key belongs to another ledger event.');
51
+ }
52
+ return { acceptance: this.toLegalView(result.acceptance), created: result.created };
53
+ }
54
+ /** Appends or replays a purpose-specific consent grant or withdrawal. */
55
+ async recordConsent(set) {
56
+ this.validateCommon(set);
57
+ if (!this.isSafeCode(set.purposeCode)
58
+ || !this.isSafeCode(set.policyVersion)
59
+ || !Object.values(privacy_consent_decision_type_enum_1.DyNTS_PrivacyConsentDecision_Type).includes(set.decision)) {
60
+ throw this.buildError(400, 'CONSENT_INVALID', 'The consent decision is invalid.');
61
+ }
62
+ const consent = {
63
+ consentId: (0, crypto_1.randomUUID)(),
64
+ subjectId: set.subjectId,
65
+ organizationId: set.organizationId,
66
+ purposeCode: set.purposeCode,
67
+ policyVersion: set.policyVersion,
68
+ decision: set.decision,
69
+ sourceCode: set.sourceCode,
70
+ idempotencyHash: this.hashInput('consent', set),
71
+ requestFingerprint: this.hashContent([
72
+ set.purposeCode,
73
+ set.policyVersion,
74
+ set.decision,
75
+ set.sourceCode,
76
+ ]),
77
+ occurredAt: this.clock().toISOString(),
78
+ };
79
+ const result = await this.adapter.appendConsent(consent);
80
+ if (result.consent.requestFingerprint !== consent.requestFingerprint
81
+ || result.consent.idempotencyHash !== consent.idempotencyHash
82
+ || result.consent.subjectId !== consent.subjectId
83
+ || result.consent.organizationId !== consent.organizationId) {
84
+ throw this.buildError(409, 'IDEMPOTENCY_CONFLICT', 'The idempotency key belongs to another ledger event.');
85
+ }
86
+ return { consent: this.toConsentView(result.consent), created: result.created };
87
+ }
88
+ /** Returns immutable history plus the latest decision for every purpose. */
89
+ async getLedger(subjectId, organizationId) {
90
+ if (!subjectId || !organizationId) {
91
+ throw this.buildError(400, 'LEDGER_OWNER_INVALID', 'The privacy ledger owner is invalid.');
92
+ }
93
+ const legalAcceptances = await this.adapter.listLegalAcceptances(subjectId, organizationId);
94
+ const consentHistory = await this.adapter.listConsentHistory(subjectId, organizationId);
95
+ if (legalAcceptances.some((item) => (item.subjectId !== subjectId || item.organizationId !== organizationId))
96
+ || consentHistory.some((item) => (item.subjectId !== subjectId || item.organizationId !== organizationId))) {
97
+ throw this.buildError(500, 'LEDGER_SCOPE_VIOLATION', 'The privacy ledger returned an invalid scope.');
98
+ }
99
+ const consentViews = consentHistory.map((item) => this.toConsentView(item));
100
+ const currentByPurpose = new Map();
101
+ consentViews.forEach((record) => {
102
+ currentByPurpose.set(record.purposeCode, { ...record });
103
+ });
104
+ return {
105
+ legalAcceptances: [...legalAcceptances].map((item) => this.toLegalView(item)),
106
+ consentHistory: consentViews,
107
+ currentConsents: Array.from(currentByPurpose.values())
108
+ .sort((first, second) => first.purposeCode.localeCompare(second.purposeCode)),
109
+ };
110
+ }
111
+ validateCommon(set) {
112
+ if (!this.isBoundedText(set.subjectId, 256)
113
+ || !this.isBoundedText(set.organizationId, 256)
114
+ || !this.isSafeCode(set.sourceCode)
115
+ || !this.isBoundedText(set.idempotencyKey, 256)) {
116
+ throw this.buildError(400, 'LEDGER_EVENT_INVALID', 'The privacy ledger event is invalid.');
117
+ }
118
+ }
119
+ hashInput(category, set) {
120
+ return (0, crypto_1.createHash)('sha256')
121
+ .update(`${category}\u0000${set.subjectId}\u0000${set.organizationId}\u0000${set.idempotencyKey}`)
122
+ .digest('hex');
123
+ }
124
+ hashContent(parts) {
125
+ return (0, crypto_1.createHash)('sha256').update(parts.join('\u0000')).digest('hex');
126
+ }
127
+ isSafeCode(value) {
128
+ return typeof value === 'string' && /^[a-zA-Z0-9._:-]{1,128}$/u.test(value);
129
+ }
130
+ isBoundedText(value, maxLength) {
131
+ return typeof value === 'string' && !!value && value.length <= maxLength && !value.includes('\u0000');
132
+ }
133
+ toLegalView(acceptance) {
134
+ return {
135
+ acceptanceId: acceptance.acceptanceId,
136
+ subjectId: acceptance.subjectId,
137
+ organizationId: acceptance.organizationId,
138
+ documentType: acceptance.documentType,
139
+ documentVersion: acceptance.documentVersion,
140
+ documentChecksum: acceptance.documentChecksum,
141
+ sourceCode: acceptance.sourceCode,
142
+ acceptedAt: acceptance.acceptedAt,
143
+ };
144
+ }
145
+ toConsentView(record) {
146
+ return {
147
+ consentId: record.consentId,
148
+ subjectId: record.subjectId,
149
+ organizationId: record.organizationId,
150
+ purposeCode: record.purposeCode,
151
+ policyVersion: record.policyVersion,
152
+ decision: record.decision,
153
+ sourceCode: record.sourceCode,
154
+ occurredAt: record.occurredAt,
155
+ };
156
+ }
157
+ buildError(status, errorCode, message) {
158
+ return new fsm_dynamo_1.DyFM_Error({
159
+ status: status,
160
+ errorCode: `${global_settings_const_1.DyNTS_global_settings.systemShortCodeName}|PRIVACY_LEDGER|${errorCode}`,
161
+ message: message,
162
+ userMessage: status < 500 ? message : 'The privacy ledger is unavailable. Please try again later.',
163
+ issuerService: this.constructor.name,
164
+ });
165
+ }
166
+ }
167
+ exports.DyNTS_PrivacyLedger_ControlService = DyNTS_PrivacyLedger_ControlService;
168
+ //# sourceMappingURL=privacy-ledger.control-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy-ledger.control-service.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-ledger.control-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { DyNTS_PrivacyLifecycleSettings_Interface } from './_models/privacy-lifecycle-settings.interface';
2
+ import { DyNTS_PrivacyRequestCreateResult_Interface } from './_models/privacy-request-create-result.interface';
3
+ import { DyNTS_PrivacyRequestOpen_Interface } from './_models/privacy-request-open.interface';
4
+ import { DyNTS_PrivacyRequestResult_Interface } from './_models/privacy-request-result.interface';
5
+ import { DyNTS_PrivacyRequestView_Interface } from './_models/privacy-request-view.interface';
6
+ /** Coordinates identity-gated, resumable data-subject requests across product-owned data contributors. */
7
+ export declare class DyNTS_PrivacyLifecycle_ControlService {
8
+ private readonly adapter;
9
+ private readonly contributors;
10
+ private readonly clock;
11
+ /** Creates an orchestrator with a stable contributor registry. */
12
+ constructor(set: DyNTS_PrivacyLifecycleSettings_Interface);
13
+ /** Opens or safely replays a subject-scoped request without persisting the raw idempotency key. */
14
+ openRequest(set: DyNTS_PrivacyRequestOpen_Interface): Promise<DyNTS_PrivacyRequestCreateResult_Interface>;
15
+ /** Marks request identity verified after the application has completed its security challenge. */
16
+ verifyIdentity(requestId: string, subjectId: string): Promise<DyNTS_PrivacyRequestView_Interface>;
17
+ /** Executes or resumes all contributors and never reports complete while one contributor failed. */
18
+ processRequest(requestId: string, subjectId: string): Promise<DyNTS_PrivacyRequestResult_Interface>;
19
+ /** Returns an owned request and its content-free contributor outcomes. */
20
+ getRequest(requestId: string, subjectId: string): Promise<DyNTS_PrivacyRequestResult_Interface>;
21
+ private planMissingContributors;
22
+ private executeMissingContributors;
23
+ private executeContributor;
24
+ private verifyContributorOutcomes;
25
+ private validatePlan;
26
+ private validateOutcome;
27
+ private buildFailedOutcome;
28
+ private requireOwnedRequest;
29
+ private replaceState;
30
+ private buildContext;
31
+ private buildResult;
32
+ private toRequestView;
33
+ private hashIdempotency;
34
+ private isFutureDate;
35
+ private isBoundedText;
36
+ private hasAllContributorPlans;
37
+ private validateStoredPlans;
38
+ private isValidCompletedOutcome;
39
+ private validateSettings;
40
+ private buildError;
41
+ }
42
+ //# sourceMappingURL=privacy-lifecycle.control-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privacy-lifecycle.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-lifecycle.control-service.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,wCAAwC,EAAE,MAAM,gDAAgD,CAAC;AAC1G,OAAO,EAAE,0CAA0C,EAAE,MAAM,mDAAmD,CAAC;AAC/G,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAK9F,OAAO,EAAE,oCAAoC,EAAE,MAAM,4CAA4C,CAAC;AAClG,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAE9F,0GAA0G;AAC1G,qBAAa,qCAAqC;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0C;IAClE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IACpE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IAEnC,kEAAkE;gBACtD,GAAG,EAAE,wCAAwC;IAUzD,mGAAmG;IACtF,WAAW,CACtB,GAAG,EAAE,kCAAkC,GACtC,OAAO,CAAC,0CAA0C,CAAC;IAkDtD,kGAAkG;IACrF,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,kCAAkC,CAAC;IAsB9C,oGAAoG;IACvF,cAAc,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oCAAoC,CAAC;IA0FhD,0EAA0E;IAC7D,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oCAAoC,CAAC;YAMlC,uBAAuB;YA6BvB,0BAA0B;YA0C1B,kBAAkB;YAoBlB,yBAAyB;IAqCvC,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,kBAAkB;YAiBZ,mBAAmB;YAanB,YAAY;IA2B1B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,uBAAuB;IAc/B,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,UAAU;CAWnB"}