@wildo-ai/saas-models 1.1.4 → 1.1.6

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 (1399) hide show
  1. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  2. package/dist/esm/_inspect.d.ts.map +1 -1
  3. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts +1 -1
  4. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
  5. package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts +1 -1
  7. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
  8. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +4 -3
  9. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
  10. package/dist/esm/applications/applications-context.schemas.d.ts +412 -20
  11. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  12. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts +1 -0
  13. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  14. package/dist/esm/applications/applications.shared.resources-config.schemas.js +4 -3
  15. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  16. package/dist/esm/applications/applications.shared.schemas.d.ts +10 -7
  17. package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
  18. package/dist/esm/applications/applications.shared.schemas.js +46 -9
  19. package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
  20. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +11 -3
  21. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  22. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +50 -17
  23. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
  24. package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
  25. package/dist/esm/billing/billing-account.shared.schemas.js +2 -2
  26. package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
  27. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +25 -0
  28. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
  29. package/dist/esm/billing/billing-configuration.shared.schemas.js +19 -0
  30. package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
  31. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +114 -10
  32. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  33. package/dist/esm/billing/billing-enums.shared.schemas.js +121 -9
  34. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  35. package/dist/esm/billing/billing-types.shared.schemas.d.ts +61 -15
  36. package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
  37. package/dist/esm/billing/billing-types.shared.schemas.js +54 -26
  38. package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
  39. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +2 -0
  40. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
  41. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +18 -7
  42. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
  43. package/dist/esm/billing/credit-pool.shared.schemas.d.ts +2 -0
  44. package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
  45. package/dist/esm/billing/credit-pool.shared.schemas.js +7 -1
  46. package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
  47. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
  48. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +6 -6
  49. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
  50. package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
  51. package/dist/esm/billing/invoice-ref.shared.schemas.js +1 -1
  52. package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
  53. package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
  54. package/dist/esm/billing/price.shared.resources-config.schemas.js +32 -2
  55. package/dist/esm/billing/price.shared.resources-config.schemas.js.map +1 -1
  56. package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
  57. package/dist/esm/billing/price.shared.schemas.js +5 -3
  58. package/dist/esm/billing/price.shared.schemas.js.map +1 -1
  59. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts +11 -1
  60. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  61. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +39 -23
  62. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  63. package/dist/esm/billing/product-definition.shared.schemas.d.ts +30 -2
  64. package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
  65. package/dist/esm/billing/product-definition.shared.schemas.js +35 -0
  66. package/dist/esm/billing/product-definition.shared.schemas.js.map +1 -1
  67. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +6 -3
  68. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
  69. package/dist/esm/billing/product.shared.resources-config.schemas.js +32 -2
  70. package/dist/esm/billing/product.shared.resources-config.schemas.js.map +1 -1
  71. package/dist/esm/billing/product.shared.schemas.d.ts +8 -3
  72. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  73. package/dist/esm/billing/product.shared.schemas.js +25 -7
  74. package/dist/esm/billing/product.shared.schemas.js.map +1 -1
  75. package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
  76. package/dist/esm/billing/promotions.shared.resources-config.schemas.js +41 -11
  77. package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
  78. package/dist/esm/billing/promotions.shared.schemas.d.ts.map +1 -1
  79. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts +135 -0
  80. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -0
  81. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js +112 -0
  82. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -0
  83. package/dist/esm/billing/public-pricing-catalog.shared.d.ts +30 -0
  84. package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -0
  85. package/dist/esm/billing/public-pricing-catalog.shared.js +53 -0
  86. package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -0
  87. package/dist/esm/billing/referral-reward.shared.schemas.d.ts +51 -0
  88. package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -0
  89. package/dist/esm/billing/referral-reward.shared.schemas.js +92 -0
  90. package/dist/esm/billing/referral-reward.shared.schemas.js.map +1 -0
  91. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts +54 -33
  92. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
  93. package/dist/esm/billing/referral.shared.resources-config.schemas.js +76 -2
  94. package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
  95. package/dist/esm/billing/referral.shared.schemas.d.ts +23 -37
  96. package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
  97. package/dist/esm/billing/referral.shared.schemas.js +27 -44
  98. package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
  99. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +32 -2
  100. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
  101. package/dist/esm/billing/subscription.shared.resources-config.schemas.js +95 -16
  102. package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
  103. package/dist/esm/billing/subscription.shared.schemas.d.ts +81 -5
  104. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  105. package/dist/esm/billing/subscription.shared.schemas.js +88 -25
  106. package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
  107. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts +49 -0
  108. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -0
  109. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js +48 -0
  110. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -0
  111. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
  112. package/dist/esm/billing/usage-record.shared.schemas.d.ts +1 -0
  113. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  114. package/dist/esm/billing/usage-record.shared.schemas.js +8 -5
  115. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  116. package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
  117. package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
  118. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +150 -3
  119. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  120. package/dist/esm/companion/provider-discovery.shared.schemas.js +84 -1
  121. package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
  122. package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
  123. package/dist/esm/companion-exports.d.ts.map +1 -1
  124. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +28 -4
  125. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  126. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +25 -7
  127. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
  128. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts +70 -0
  129. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
  130. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js +87 -0
  131. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
  132. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +484 -0
  133. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -0
  134. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +857 -0
  135. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -0
  136. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts +7 -0
  137. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
  138. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
  139. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +30 -4
  140. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  141. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +29 -8
  142. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
  143. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +37 -6
  144. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  145. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +53 -9
  146. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  147. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +2432 -162
  148. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  149. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +2545 -124
  150. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  151. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts +10 -0
  152. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  153. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +177 -7
  154. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  155. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts +463 -0
  156. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -0
  157. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js +526 -0
  158. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -0
  159. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts +539 -15
  160. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
  161. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js +402 -14
  162. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
  163. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts +18 -0
  164. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -0
  165. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js +89 -0
  166. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -0
  167. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts +47 -0
  168. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -0
  169. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js +73 -0
  170. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -0
  171. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +23 -0
  172. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
  173. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +41 -1
  174. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
  175. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts +33 -0
  176. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -0
  177. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js +30 -0
  178. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -0
  179. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts +6 -5
  180. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
  181. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js +15 -5
  182. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js.map +1 -1
  183. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts +127 -0
  184. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts.map +1 -0
  185. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js +94 -0
  186. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -0
  187. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts +125 -0
  188. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -0
  189. package/dist/esm/compliance/privacy/consent-purposes.shared.js +136 -0
  190. package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -0
  191. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts +0 -8
  192. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -1
  193. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -1
  194. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +100 -0
  195. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -0
  196. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +146 -0
  197. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -0
  198. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
  199. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +38 -0
  200. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
  201. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +39 -0
  202. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
  203. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts +35 -0
  204. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -0
  205. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js +82 -0
  206. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -0
  207. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts +37 -0
  208. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -0
  209. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js +223 -0
  210. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -0
  211. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts +222 -0
  212. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -0
  213. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js +331 -0
  214. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -0
  215. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
  216. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
  217. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +105 -28
  218. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  219. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +107 -26
  220. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
  221. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
  222. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
  223. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts +9 -17
  224. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  225. package/dist/esm/compliance/privacy/privacy.shared.schemas.js +74 -31
  226. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  227. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts +52 -0
  228. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -0
  229. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js +116 -0
  230. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -0
  231. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts +11 -0
  232. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -0
  233. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js +11 -0
  234. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -0
  235. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
  236. package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
  237. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts +93 -0
  238. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -0
  239. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js +149 -0
  240. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -0
  241. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts +43 -0
  242. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -0
  243. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js +106 -0
  244. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -0
  245. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +209 -0
  246. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -0
  247. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js +226 -0
  248. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -0
  249. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts +129 -5
  250. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
  251. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js +128 -4
  252. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
  253. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts +53 -0
  254. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -0
  255. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js +74 -0
  256. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -0
  257. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts +311 -0
  258. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -0
  259. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js +355 -0
  260. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -0
  261. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts +47 -0
  262. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -0
  263. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js +98 -0
  264. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -0
  265. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +507 -35
  266. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
  267. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +513 -17
  268. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
  269. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
  270. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js +26 -0
  271. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
  272. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts +9 -0
  273. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
  274. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
  275. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts +56 -0
  276. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -0
  277. package/dist/esm/compliance/review-cadence.shared.schemas.js +71 -0
  278. package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -0
  279. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts +161 -0
  280. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -0
  281. package/dist/esm/compliance/risk-posture.shared.schemas.js +166 -0
  282. package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -0
  283. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts +4 -3
  284. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  285. package/dist/esm/config/analytics-value-moments.shared.schemas.js +4 -3
  286. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  287. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +331 -10
  288. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  289. package/dist/esm/config/app-configuration-shared.shared.schemas.js +289 -9
  290. package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
  291. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts +75 -3
  292. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  293. package/dist/esm/config/auth-config-resolution.shared.utils.js +93 -4
  294. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  295. package/dist/esm/config/brand-assets.shared.schemas.d.ts +5 -4
  296. package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
  297. package/dist/esm/config/brand-assets.shared.schemas.js +14 -4
  298. package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
  299. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +532 -19
  300. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  301. package/dist/esm/config/entity-identity-config.shared.schemas.js +628 -28
  302. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  303. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +32 -32
  304. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
  305. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
  306. package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
  307. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +180 -77
  308. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  309. package/dist/esm/config/frontend/navigation.shared.schemas.js +354 -104
  310. package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
  311. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts +90 -133
  312. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
  313. package/dist/esm/config/frontend/onboarding.shared.schemas.js +148 -100
  314. package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
  315. package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
  316. package/dist/esm/config-authoring.entry.d.ts.map +1 -1
  317. package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
  318. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
  319. package/dist/esm/errors/caught-error-description.shared.utils.d.ts +69 -0
  320. package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -0
  321. package/dist/esm/errors/caught-error-description.shared.utils.js +77 -0
  322. package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -0
  323. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +212 -42
  324. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  325. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +214 -41
  326. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  327. package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
  328. package/dist/esm/errors/errors.shared.definitions.js +1 -1
  329. package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
  330. package/dist/esm/errors/errors.shared.schemas.d.ts +49 -41
  331. package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
  332. package/dist/esm/errors/errors.shared.schemas.js +52 -62
  333. package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
  334. package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
  335. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +26 -0
  336. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -0
  337. package/dist/esm/errors/thrown-value-description.shared.utils.js +66 -0
  338. package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -0
  339. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts +70 -0
  340. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -0
  341. package/dist/esm/external-data/external-data-pipeline-description.shared.js +92 -0
  342. package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -0
  343. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts +154 -0
  344. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -0
  345. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js +161 -0
  346. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -0
  347. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +1118 -95
  348. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  349. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js +1166 -24
  350. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  351. package/dist/esm/external-data/external-data-provenance.shared.d.ts +71 -0
  352. package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -0
  353. package/dist/esm/external-data/external-data-provenance.shared.js +88 -0
  354. package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -0
  355. package/dist/esm/external-data.exports.d.ts +6 -0
  356. package/dist/esm/external-data.exports.d.ts.map +1 -1
  357. package/dist/esm/external-data.exports.js +12 -0
  358. package/dist/esm/external-data.exports.js.map +1 -1
  359. package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
  360. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +28 -14
  361. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  362. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +33 -16
  363. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  364. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts +5 -3
  365. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  366. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +8 -3
  367. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  368. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts +77 -0
  369. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -0
  370. package/dist/esm/external-providers/engine-capability-surface.shared.js +175 -0
  371. package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -0
  372. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts +2 -0
  373. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
  374. package/dist/esm/external-providers/external-providers.shared.schemas.js +21 -0
  375. package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
  376. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +281 -10
  377. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  378. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +115 -0
  379. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
  380. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +149 -0
  381. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
  382. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +45 -0
  383. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
  384. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +14 -0
  385. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
  386. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +242 -7
  387. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  388. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +127 -3
  389. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  390. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +187 -36
  391. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
  392. package/dist/esm/external-providers/frontend-provider-public-config.shared.js +261 -47
  393. package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
  394. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts +53 -0
  395. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -0
  396. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js +41 -0
  397. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -0
  398. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts +150 -0
  399. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -0
  400. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js +22 -0
  401. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -0
  402. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts +42 -0
  403. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -0
  404. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js +49 -0
  405. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -0
  406. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts +30 -0
  407. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -0
  408. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js +32 -0
  409. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -0
  410. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +139 -0
  411. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -0
  412. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +141 -0
  413. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -0
  414. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +48 -13
  415. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  416. package/dist/esm/external-providers/provider-capability.shared.schemas.js +44 -10
  417. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  418. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +341 -4
  419. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  420. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +270 -20
  421. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  422. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +6 -2
  423. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -1
  424. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +6 -2
  425. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
  426. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +181 -6
  427. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
  428. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +132 -5
  429. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
  430. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +5 -2
  431. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  432. package/dist/esm/external-providers/provider-metadata.shared.schemas.js +5 -2
  433. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  434. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts +42 -0
  435. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -0
  436. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js +57 -0
  437. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -0
  438. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +6 -0
  439. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
  440. package/dist/esm/external-providers/provider-protocol.shared.schemas.js +6 -0
  441. package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
  442. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts +58 -0
  443. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -0
  444. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js +35 -0
  445. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -0
  446. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts +115 -0
  447. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -0
  448. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js +137 -0
  449. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -0
  450. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -1
  451. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -1
  452. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts +73 -0
  453. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -0
  454. package/dist/esm/external-providers/provider-usage-cost.shared.js +171 -0
  455. package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -0
  456. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts +12 -0
  457. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -0
  458. package/dist/esm/external-providers/provider-usage-pricing.example.js +40 -0
  459. package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -0
  460. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts +68 -32
  461. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
  462. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js +63 -52
  463. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
  464. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +7 -5
  465. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
  466. package/dist/esm/features/application-features.shared.resources-config.schemas.js +43 -8
  467. package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
  468. package/dist/esm/features/connected-feature.example.d.ts +64 -0
  469. package/dist/esm/features/connected-feature.example.d.ts.map +1 -0
  470. package/dist/esm/features/connected-feature.example.js +87 -0
  471. package/dist/esm/features/connected-feature.example.js.map +1 -0
  472. package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
  473. package/dist/esm/features/core-feature-definitions.shared.js +2 -1
  474. package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
  475. package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
  476. package/dist/esm/features/feature-builders.shared.js.map +1 -1
  477. package/dist/esm/features/feature-definition.shared.schemas.d.ts +2 -11
  478. package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
  479. package/dist/esm/features/feature-definition.shared.schemas.js +0 -12
  480. package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
  481. package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
  482. package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
  483. package/dist/esm/features/scope-features.shared.schemas.d.ts +74 -7
  484. package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
  485. package/dist/esm/features/scope-features.shared.schemas.js +64 -5
  486. package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
  487. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +6 -6
  488. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  489. package/dist/esm/features/user-features.shared.resources-config.schemas.js +34 -52
  490. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  491. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -1
  492. package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -1
  493. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
  494. package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
  495. package/dist/esm/files/files.shared.resources-config.schemas.d.ts +3 -3
  496. package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
  497. package/dist/esm/files/files.shared.resources-config.schemas.js +3 -3
  498. package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
  499. package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
  500. package/dist/esm/files/files.shared.schemas.js.map +1 -1
  501. package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
  502. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  503. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
  504. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
  505. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
  506. package/dist/esm/flows-actors/actors.shared.schemas.d.ts +279 -140
  507. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  508. package/dist/esm/flows-actors/actors.shared.schemas.js +130 -2
  509. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  510. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +22 -0
  511. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
  512. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js +7 -0
  513. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
  514. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts +68 -0
  515. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -0
  516. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js +276 -0
  517. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -0
  518. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts +468 -0
  519. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -0
  520. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js +472 -0
  521. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -0
  522. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +3 -3
  523. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  524. package/dist/esm/flows-actors/agents.shared.schemas.js +11 -5
  525. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  526. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts +118 -0
  527. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -0
  528. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js +144 -0
  529. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -0
  530. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +13 -0
  531. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  532. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  533. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts +45 -0
  534. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.map +1 -0
  535. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js +51 -0
  536. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -0
  537. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
  538. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +173 -8
  539. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  540. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +269 -13
  541. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  542. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
  543. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts +2 -2
  544. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
  545. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +51 -8
  546. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  547. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +51 -11
  548. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  549. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts +0 -200
  550. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
  551. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +25 -54
  552. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
  553. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +45 -9
  554. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
  555. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +31 -6
  556. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
  557. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
  558. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +30 -30
  559. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
  560. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
  561. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +16 -74
  562. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  563. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js +1 -2
  564. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  565. package/dist/esm/flows-actors/flows.shared.schemas.d.ts +15 -1
  566. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  567. package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
  568. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +627 -0
  569. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -0
  570. package/dist/esm/flows-actors/human-decision.shared.schemas.js +754 -0
  571. package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -0
  572. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
  573. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js +4 -2
  574. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
  575. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts +46 -0
  576. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -0
  577. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js +65 -0
  578. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -0
  579. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts +120 -0
  580. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -0
  581. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js +165 -0
  582. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -0
  583. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts +45 -0
  584. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -0
  585. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js +127 -0
  586. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -0
  587. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts +83 -0
  588. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -0
  589. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js +97 -0
  590. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -0
  591. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts +136 -0
  592. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -0
  593. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js +90 -0
  594. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -0
  595. package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
  596. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +28 -0
  597. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -0
  598. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +95 -0
  599. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -0
  600. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +121 -0
  601. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -0
  602. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +194 -0
  603. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -0
  604. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts +268 -0
  605. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -0
  606. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js +576 -0
  607. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -0
  608. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +88 -81
  609. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
  610. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js +75 -38
  611. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
  612. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts +129 -0
  613. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -0
  614. package/dist/esm/flows-actors/work-attribution.shared.schemas.js +141 -0
  615. package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -0
  616. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts +22 -1
  617. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
  618. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js +23 -0
  619. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
  620. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +167 -1
  621. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
  622. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +178 -0
  623. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
  624. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts +106 -24
  625. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
  626. package/dist/esm/guidance/guidance-flow.shared.schemas.js +152 -14
  627. package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
  628. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
  629. package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
  630. package/dist/esm/guidance/guidance-state.shared.schemas.js +11 -10
  631. package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
  632. package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
  633. package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
  634. package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
  635. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
  636. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts +0 -6
  637. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  638. package/dist/esm/guidance/lifecycle-state.shared.schemas.js +6 -25
  639. package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
  640. package/dist/esm/guidance/milestone-builders.shared.d.ts +4 -2
  641. package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
  642. package/dist/esm/guidance/milestone-builders.shared.js +4 -2
  643. package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
  644. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts +66 -4
  645. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
  646. package/dist/esm/guidance/milestone-definition.shared.schemas.js +50 -0
  647. package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
  648. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts +71 -0
  649. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -0
  650. package/dist/esm/guidance/progression-presentation.shared.schemas.js +72 -0
  651. package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -0
  652. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts +2 -0
  653. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  654. package/dist/esm/guidance/progression-state.shared.schemas.d.ts +4 -0
  655. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  656. package/dist/esm/guidance/progression-state.shared.schemas.js +12 -6
  657. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  658. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
  659. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +2 -1
  660. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
  661. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +730 -441
  662. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  663. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +747 -233
  664. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  665. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts +62 -0
  666. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -0
  667. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js +66 -0
  668. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -0
  669. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts +133 -0
  670. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -0
  671. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js +191 -0
  672. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -0
  673. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +138 -0
  674. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -0
  675. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +139 -0
  676. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -0
  677. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts +38 -0
  678. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -0
  679. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js +42 -0
  680. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -0
  681. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts +36 -0
  682. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -0
  683. package/dist/esm/i18n/application-config-vocabulary.shared.js +39 -0
  684. package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -0
  685. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts +11 -0
  686. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -0
  687. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js +14 -0
  688. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -0
  689. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts +20 -0
  690. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -0
  691. package/dist/esm/i18n/engine-open-vocabulary.shared.js +21 -0
  692. package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -0
  693. package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
  694. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts +94 -0
  695. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -0
  696. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js +206 -0
  697. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -0
  698. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts +169 -0
  699. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -0
  700. package/dist/esm/inbound/conversation-threads.shared.schemas.js +231 -0
  701. package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -0
  702. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts +195 -0
  703. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -0
  704. package/dist/esm/inbound/inbound-channels.shared.schemas.js +244 -0
  705. package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -0
  706. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts +36 -0
  707. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -0
  708. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js +169 -0
  709. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -0
  710. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts +404 -0
  711. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -0
  712. package/dist/esm/inbound/inbound-delivery.shared.schemas.js +449 -0
  713. package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -0
  714. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts +46 -0
  715. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -0
  716. package/dist/esm/inbound/inbound-endpoint-env.shared.js +57 -0
  717. package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -0
  718. package/dist/esm/index.d.ts +99 -5
  719. package/dist/esm/index.d.ts.map +1 -1
  720. package/dist/esm/index.js +138 -17
  721. package/dist/esm/index.js.map +1 -1
  722. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -0
  723. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -0
  724. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -0
  725. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -0
  726. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts +130 -0
  727. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -0
  728. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js +104 -0
  729. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -0
  730. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -0
  731. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -0
  732. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/decisions.meta-workflows.shared.schemas.d.ts +92 -0
  733. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -0
  734. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/decisions.meta-workflows.shared.schemas.js +76 -0
  735. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -0
  736. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +638 -0
  737. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -0
  738. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +759 -0
  739. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -0
  740. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/portable-primitives.meta-workflows.shared.schemas.d.ts +15 -8
  741. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -0
  742. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/portable-primitives.meta-workflows.shared.schemas.js +15 -8
  743. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -0
  744. package/dist/esm/meta-workflows.exports.d.ts +21 -26
  745. package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
  746. package/dist/esm/meta-workflows.exports.js +21 -26
  747. package/dist/esm/meta-workflows.exports.js.map +1 -1
  748. package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
  749. package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
  750. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts +16 -0
  751. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -0
  752. package/dist/esm/notifications/email/email-submission.shared.enums.js +17 -0
  753. package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -0
  754. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +43 -1
  755. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  756. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js +85 -3
  757. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  758. package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
  759. package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
  760. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts +131 -0
  761. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -0
  762. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js +258 -0
  763. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -0
  764. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts +448 -0
  765. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -0
  766. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js +530 -0
  767. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -0
  768. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
  769. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  770. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js +8 -4
  771. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
  772. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts +2 -1
  773. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
  774. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js +3 -2
  775. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js.map +1 -1
  776. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +16 -1
  777. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  778. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +86 -15
  779. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  780. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +19 -12
  781. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
  782. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +77 -12
  783. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
  784. package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
  785. package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
  786. package/dist/esm/notifications/notification-badges.schemas.d.ts +35 -3
  787. package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
  788. package/dist/esm/notifications/notification-badges.schemas.js +43 -3
  789. package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
  790. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts +1 -1
  791. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  792. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js +12 -33
  793. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
  794. package/dist/esm/notifications/notifications.shared.schemas.d.ts +85 -407
  795. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  796. package/dist/esm/notifications/notifications.shared.schemas.js +130 -66
  797. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  798. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts +145 -0
  799. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -0
  800. package/dist/esm/organizations/application-owner-organization.shared.schemas.js +146 -0
  801. package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -0
  802. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +7 -5
  803. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
  804. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +32 -9
  805. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
  806. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +4 -1
  807. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  808. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +78 -28
  809. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
  810. package/dist/esm/organizations/organization-members.shared.schemas.d.ts +4 -1
  811. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  812. package/dist/esm/organizations/organization-members.shared.schemas.js +39 -1
  813. package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
  814. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
  815. package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
  816. package/dist/esm/organizations/organization-notifications.shared.schemas.js +9 -9
  817. package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
  818. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  819. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts +2 -1
  820. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  821. package/dist/esm/organizations/organization-preferences.shared.schemas.js +7 -4
  822. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  823. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts +0 -1
  824. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
  825. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +8 -6
  826. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  827. package/dist/esm/organizations/organization-profile.shared.schemas.js +19 -12
  828. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  829. package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
  830. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
  831. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js +1 -1
  832. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
  833. package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
  834. package/dist/esm/organizations/organization-unit-members.shared.schemas.js +2 -1
  835. package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
  836. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts +63 -1
  837. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
  838. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js +106 -5
  839. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
  840. package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
  841. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts +29 -2
  842. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  843. package/dist/esm/organizations/organization-unit-narrowing.shared.js +36 -0
  844. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  845. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts +2 -0
  846. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
  847. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js +10 -2
  848. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
  849. package/dist/esm/organizations/organization-units.shared.schemas.d.ts +17 -5
  850. package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
  851. package/dist/esm/organizations/organization-units.shared.schemas.js +65 -5
  852. package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
  853. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +53 -7
  854. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  855. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +162 -14
  856. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  857. package/dist/esm/organizations/organizations.shared.schemas.d.ts +23 -83
  858. package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
  859. package/dist/esm/organizations/organizations.shared.schemas.js +87 -19
  860. package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
  861. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts +58 -0
  862. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -0
  863. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js +188 -0
  864. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -0
  865. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts +122 -0
  866. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -0
  867. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js +136 -0
  868. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -0
  869. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts +36 -0
  870. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -0
  871. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js +155 -0
  872. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -0
  873. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts +229 -0
  874. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -0
  875. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js +290 -0
  876. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -0
  877. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts +48 -0
  878. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -0
  879. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js +50 -0
  880. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -0
  881. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts +97 -0
  882. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -0
  883. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js +572 -0
  884. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -0
  885. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts +590 -0
  886. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -0
  887. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js +869 -0
  888. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -0
  889. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +36 -6
  890. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
  891. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +57 -16
  892. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
  893. package/dist/esm/provider-registration-runtime.exports.d.ts +1 -1
  894. package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
  895. package/dist/esm/provider-registration-runtime.exports.js +1 -1
  896. package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
  897. package/dist/esm/public-runtime/index.d.ts +65 -17
  898. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  899. package/dist/esm/public-runtime/index.js +65 -17
  900. package/dist/esm/public-runtime/index.js.map +1 -1
  901. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts +7 -8
  902. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  903. package/dist/esm/queue/jobs.shared.resources-config.schemas.js +30 -6
  904. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  905. package/dist/esm/queue/jobs.shared.schemas.d.ts +416 -2
  906. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  907. package/dist/esm/queue/jobs.shared.schemas.js +327 -11
  908. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  909. package/dist/esm/queue/jobs.shared.utils.d.ts +6 -4
  910. package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
  911. package/dist/esm/queue/jobs.shared.utils.js +5 -4
  912. package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
  913. package/dist/esm/queue/queues.shared.schemas.d.ts +20 -8
  914. package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
  915. package/dist/esm/queue/queues.shared.schemas.js +23 -18
  916. package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
  917. package/dist/esm/queue/queues.shared.utils.d.ts +4 -2
  918. package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
  919. package/dist/esm/queue/queues.shared.utils.js +4 -2
  920. package/dist/esm/queue/queues.shared.utils.js.map +1 -1
  921. package/dist/esm/rag/rag-retrieval-health.shared.d.ts +27 -0
  922. package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -0
  923. package/dist/esm/rag/rag-retrieval-health.shared.js +29 -0
  924. package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -0
  925. package/dist/esm/requests/header-keys.shared.d.ts +12 -0
  926. package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
  927. package/dist/esm/requests/header-keys.shared.js +14 -0
  928. package/dist/esm/requests/header-keys.shared.js.map +1 -1
  929. package/dist/esm/requests/idempotency-key.shared.d.ts +76 -0
  930. package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -0
  931. package/dist/esm/requests/idempotency-key.shared.js +112 -0
  932. package/dist/esm/requests/idempotency-key.shared.js.map +1 -0
  933. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
  934. package/dist/esm/requests/manual-controllers-routes-documentation.js +365 -25
  935. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
  936. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +138 -23
  937. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  938. package/dist/esm/requests/manual-controllers-routes-urls.js +166 -0
  939. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  940. package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
  941. package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
  942. package/dist/esm/requests/websocket.shared.schemas.d.ts +267 -26
  943. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  944. package/dist/esm/requests/websocket.shared.schemas.js +310 -23
  945. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  946. package/dist/esm/resources/child-operations.shared.schemas.d.ts +56 -5
  947. package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
  948. package/dist/esm/resources/child-operations.shared.schemas.js +97 -5
  949. package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
  950. package/dist/esm/resources/context-policy.shared.schemas.d.ts +20 -0
  951. package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
  952. package/dist/esm/resources/context-policy.shared.schemas.js +3 -0
  953. package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
  954. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts +21 -0
  955. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -0
  956. package/dist/esm/resources/embedded-resource-mark.shared.utils.js +22 -0
  957. package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -0
  958. package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
  959. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  960. package/dist/esm/resources/resources-config.shared.factory.js +1296 -47
  961. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  962. package/dist/esm/resources/resources-config.shared.schemas.d.ts +866 -92
  963. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  964. package/dist/esm/resources/resources-config.shared.schemas.js +460 -33
  965. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  966. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  967. package/dist/esm/resources/resources-registry.shared.core.definitions.js +730 -81
  968. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  969. package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
  970. package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
  971. package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
  972. package/dist/esm/resources/resources.shared.core.definitions.d.ts +64 -0
  973. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  974. package/dist/esm/resources/resources.shared.core.definitions.js +120 -0
  975. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  976. package/dist/esm/resources/resources.shared.schemas.d.ts +258 -27
  977. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  978. package/dist/esm/resources/resources.shared.schemas.js +233 -29
  979. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  980. package/dist/esm/resources/resources.shared.utils.d.ts +18 -9
  981. package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
  982. package/dist/esm/resources/resources.shared.utils.js +54 -14
  983. package/dist/esm/resources/resources.shared.utils.js.map +1 -1
  984. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts +2 -2
  985. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
  986. package/dist/esm/resources/utils/collection-export.shared.utils.js +4 -2
  987. package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
  988. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts +44 -12
  989. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
  990. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js +46 -23
  991. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
  992. package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
  993. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
  994. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts +61 -0
  995. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -0
  996. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js +79 -0
  997. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -0
  998. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
  999. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -1
  1000. package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -1
  1001. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts +103 -0
  1002. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -0
  1003. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js +275 -0
  1004. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -0
  1005. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts +60 -0
  1006. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -0
  1007. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js +80 -0
  1008. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -0
  1009. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts +51 -0
  1010. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -0
  1011. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js +28 -0
  1012. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -0
  1013. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
  1014. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts +21 -0
  1015. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -0
  1016. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +170 -0
  1017. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -0
  1018. package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
  1019. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts +2 -0
  1020. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -0
  1021. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js +33 -0
  1022. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -0
  1023. package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
  1024. package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
  1025. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts +15 -0
  1026. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
  1027. package/dist/esm/resources/utils/resource-polymorphism.factory.js +6 -1
  1028. package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
  1029. package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
  1030. package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
  1031. package/dist/esm/resources/utils/resource-polymorphism.schemas.js +30 -4
  1032. package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
  1033. package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
  1034. package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
  1035. package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
  1036. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts +15 -0
  1037. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
  1038. package/dist/esm/resources/utils/resources-config-naming.utils.js +56 -11
  1039. package/dist/esm/resources/utils/resources-config-naming.utils.js.map +1 -1
  1040. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +97 -1
  1041. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  1042. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +402 -60
  1043. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
  1044. package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
  1045. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts +34 -0
  1046. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
  1047. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js +45 -1
  1048. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js.map +1 -1
  1049. package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
  1050. package/dist/esm/resources/utils/resources-serialization.utils.d.ts +19 -2
  1051. package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
  1052. package/dist/esm/resources/utils/resources-serialization.utils.js +4 -0
  1053. package/dist/esm/resources/utils/resources-serialization.utils.js.map +1 -1
  1054. package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
  1055. package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
  1056. package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
  1057. package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
  1058. package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
  1059. package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
  1060. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts +29 -0
  1061. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  1062. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +45 -9
  1063. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  1064. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
  1065. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js +49 -11
  1066. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js.map +1 -1
  1067. package/dist/esm/resources/work-unit.shared.schemas.d.ts +20 -0
  1068. package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -0
  1069. package/dist/esm/resources/work-unit.shared.schemas.js +19 -0
  1070. package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -0
  1071. package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
  1072. package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
  1073. package/dist/esm/runtime/execution-context.shared.schemas.d.ts +48 -1
  1074. package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
  1075. package/dist/esm/runtime/execution-context.shared.schemas.js +101 -9
  1076. package/dist/esm/runtime/execution-context.shared.schemas.js.map +1 -1
  1077. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
  1078. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  1079. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +41 -21
  1080. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  1081. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
  1082. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1083. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +65 -49
  1084. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  1085. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts +26 -0
  1086. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
  1087. package/dist/esm/security/api-keys/api-keys.shared.schemas.js +39 -5
  1088. package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
  1089. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
  1090. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +133 -19
  1091. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  1092. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +166 -6
  1093. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  1094. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts +324 -9
  1095. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  1096. package/dist/esm/security/authentications/authentication.shared.schemas.js +411 -8
  1097. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  1098. package/dist/esm/security/authentications/authentication.shared.utils.d.ts +87 -4
  1099. package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
  1100. package/dist/esm/security/authentications/authentication.shared.utils.js +95 -6
  1101. package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -1
  1102. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts +23 -1
  1103. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  1104. package/dist/esm/security/authentications/consumable-token.shared.schemas.js +23 -1
  1105. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  1106. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts +7 -1
  1107. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
  1108. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js +7 -1
  1109. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js.map +1 -1
  1110. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts +74 -0
  1111. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -0
  1112. package/dist/esm/security/authentications/password-blocklist.shared.utils.js +122 -0
  1113. package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -0
  1114. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
  1115. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts +88 -2
  1116. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  1117. package/dist/esm/security/authentications/registration.shared.dto.schemas.js +149 -2
  1118. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  1119. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts +57 -11
  1120. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
  1121. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +46 -13
  1122. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
  1123. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts +11 -0
  1124. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
  1125. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +34 -10
  1126. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
  1127. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +16 -2
  1128. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  1129. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +36 -6
  1130. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  1131. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
  1132. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +18 -12
  1133. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
  1134. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts +2 -0
  1135. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
  1136. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js +9 -0
  1137. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
  1138. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts +169 -0
  1139. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -0
  1140. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js +162 -0
  1141. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js.map +1 -0
  1142. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
  1143. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js +14 -9
  1144. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
  1145. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
  1146. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts +27 -0
  1147. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -0
  1148. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js +109 -0
  1149. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -0
  1150. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts +66 -0
  1151. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -0
  1152. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js +107 -0
  1153. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -0
  1154. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
  1155. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
  1156. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts +19 -0
  1157. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
  1158. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js +50 -13
  1159. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js.map +1 -1
  1160. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts +18 -6
  1161. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
  1162. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +139 -10
  1163. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -1
  1164. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts +26 -0
  1165. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  1166. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +63 -33
  1167. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  1168. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts +0 -40
  1169. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  1170. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +127 -50
  1171. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  1172. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts +26 -7
  1173. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
  1174. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js +98 -38
  1175. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
  1176. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +6 -26
  1177. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  1178. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +153 -70
  1179. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  1180. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +13 -5
  1181. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
  1182. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +12 -4
  1183. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
  1184. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts +4 -0
  1185. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1186. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +9 -1
  1187. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
  1188. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts +44 -0
  1189. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -1
  1190. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js +52 -0
  1191. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -1
  1192. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1193. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +7 -7
  1194. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
  1195. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  1196. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  1197. package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
  1198. package/dist/esm/security/authorizations/roles.shared.defaults.js +62 -0
  1199. package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
  1200. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +91 -1
  1201. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  1202. package/dist/esm/security/authorizations/roles.shared.schemas.js +109 -0
  1203. package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
  1204. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  1205. package/dist/esm/security/authorizations/roles.shared.utils.js +2 -0
  1206. package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
  1207. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts +86 -0
  1208. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -0
  1209. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js +40 -0
  1210. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -0
  1211. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +6 -2
  1212. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1213. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +2 -1
  1214. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
  1215. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +7 -3
  1216. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
  1217. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +15 -43
  1218. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
  1219. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +242 -23
  1220. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
  1221. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +310 -62
  1222. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
  1223. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts +69 -0
  1224. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -0
  1225. package/dist/esm/security/credential-rotation-grace.shared.utils.js +77 -0
  1226. package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -0
  1227. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts +6 -3
  1228. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  1229. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +102 -12
  1230. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  1231. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +8 -3
  1232. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1233. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +194 -17
  1234. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  1235. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +1 -0
  1236. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
  1237. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +25 -4
  1238. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
  1239. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1240. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
  1241. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
  1242. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
  1243. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +73 -0
  1244. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -0
  1245. package/dist/esm/security/outbound-target-control.shared.schemas.js +75 -0
  1246. package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -0
  1247. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts +143 -0
  1248. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -0
  1249. package/dist/esm/security/submission-challenge/submission-challenge.shared.js +123 -0
  1250. package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -0
  1251. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts +384 -0
  1252. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -0
  1253. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js +327 -0
  1254. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -0
  1255. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts +159 -0
  1256. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -0
  1257. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js +164 -0
  1258. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -0
  1259. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +322 -0
  1260. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -0
  1261. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +229 -0
  1262. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -0
  1263. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts +79 -0
  1264. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -0
  1265. package/dist/esm/systems-of-record/system-of-record-env.shared.js +116 -0
  1266. package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -0
  1267. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +403 -0
  1268. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -0
  1269. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +430 -0
  1270. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -0
  1271. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +788 -0
  1272. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -0
  1273. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +985 -0
  1274. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -0
  1275. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts +31 -0
  1276. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -0
  1277. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +233 -0
  1278. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -0
  1279. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts +127 -0
  1280. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -0
  1281. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js +204 -0
  1282. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -0
  1283. package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
  1284. package/dist/esm/testing/resource-config-builders.js +10 -4
  1285. package/dist/esm/testing/resource-config-builders.js.map +1 -1
  1286. package/dist/esm/testing.d.ts.map +1 -1
  1287. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts +2 -1
  1288. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
  1289. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js +2 -1
  1290. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js.map +1 -1
  1291. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +141 -24
  1292. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
  1293. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +264 -0
  1294. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
  1295. package/dist/esm/users/anonymous-users.shared.schema.d.ts +5 -3
  1296. package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
  1297. package/dist/esm/users/anonymous-users.shared.schema.js +18 -1
  1298. package/dist/esm/users/anonymous-users.shared.schema.js.map +1 -1
  1299. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts +2 -1
  1300. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  1301. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +29 -0
  1302. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
  1303. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts +2 -1
  1304. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  1305. package/dist/esm/users/user-consent-decision.shared.utils.d.ts +127 -0
  1306. package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -0
  1307. package/dist/esm/users/user-consent-decision.shared.utils.js +189 -0
  1308. package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -0
  1309. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
  1310. package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
  1311. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts +1 -0
  1312. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  1313. package/dist/esm/users/user-identity-links.shared.schemas.d.ts +1 -0
  1314. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  1315. package/dist/esm/users/user-identity-links.shared.schemas.js +30 -0
  1316. package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
  1317. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts +6 -6
  1318. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
  1319. package/dist/esm/users/user-preferences-reset.shared.utils.js +8 -8
  1320. package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
  1321. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +71 -29
  1322. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1323. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js +99 -0
  1324. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
  1325. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1326. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js +25 -9
  1327. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
  1328. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +4 -7
  1329. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1330. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js +12 -1
  1331. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
  1332. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1333. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts +1 -0
  1334. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  1335. package/dist/esm/users/user-self.shared.resources-config.schemas.js +3 -3
  1336. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  1337. package/dist/esm/users/users.shared.resources-config.schemas.d.ts +1 -0
  1338. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  1339. package/dist/esm/users/users.shared.resources-config.schemas.js +84 -22
  1340. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  1341. package/dist/esm/users/users.shared.schemas.d.ts +23 -18
  1342. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  1343. package/dist/esm/users/users.shared.schemas.js +117 -27
  1344. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  1345. package/package.json +14 -35
  1346. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js +0 -7
  1347. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.d.ts +0 -19
  1348. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.d.ts.map +0 -1
  1349. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.js +0 -35
  1350. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.js.map +0 -1
  1351. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts +0 -213
  1352. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts.map +0 -1
  1353. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.js +0 -287
  1354. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.js.map +0 -1
  1355. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts +0 -236
  1356. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts.map +0 -1
  1357. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.js +0 -212
  1358. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.js.map +0 -1
  1359. package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +0 -1
  1360. package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.js.map +0 -1
  1361. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts +0 -17
  1362. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts.map +0 -1
  1363. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js +0 -31
  1364. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js.map +0 -1
  1365. package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +0 -1
  1366. package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +0 -1
  1367. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +0 -1
  1368. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +0 -1
  1369. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts +0 -28
  1370. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts.map +0 -1
  1371. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.js +0 -28
  1372. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.js.map +0 -1
  1373. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +0 -1
  1374. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +0 -1
  1375. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts +0 -100
  1376. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts.map +0 -1
  1377. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js +0 -232
  1378. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js.map +0 -1
  1379. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.d.ts +0 -29
  1380. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.d.ts.map +0 -1
  1381. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.js +0 -58
  1382. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.js.map +0 -1
  1383. package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +0 -1
  1384. package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +0 -1
  1385. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts +0 -81
  1386. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts.map +0 -1
  1387. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.js +0 -82
  1388. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.js.map +0 -1
  1389. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.d.ts +0 -2
  1390. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.d.ts.map +0 -1
  1391. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.js +0 -1
  1392. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.js.map +0 -1
  1393. package/dist/tsconfig.build.tsbuildinfo +0 -1
  1394. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/actions.meta-workflows.shared.schemas.d.ts +0 -0
  1395. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/actions.meta-workflows.shared.schemas.js +0 -0
  1396. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/catalog.meta-workflows.shared.schemas.d.ts +0 -0
  1397. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/catalog.meta-workflows.shared.schemas.js +0 -0
  1398. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/context-selection.meta-workflows.shared.schemas.d.ts +0 -0
  1399. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/context-selection.meta-workflows.shared.schemas.js +0 -0
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { DataProcessingConsent } from './privacy.shared.schemas.js';
2
+ import { ConsentPurpose } from './consent-purposes.shared.js';
3
+ import { LawfulBasisPurposeRefSchema } from './purpose-ref.shared.schemas.js';
3
4
  /**
4
5
  * GDPR Art. 6(1) — the six lawful bases, closed by the article.
5
6
  *
@@ -8,6 +9,8 @@ import { DataProcessingConsent } from './privacy.shared.schemas.js';
8
9
  * must name the law. "We have a lawful basis" is not a disclosure; a notice must say WHICH.
9
10
  *
10
11
  * spec-cite: GDPR Art. 6(1)(a)–(f).
12
+ *
13
+ * assurance-control: WILDO.PRIVACY.LAWFUL_BASIS — the closed set a processing purpose's ground is declared from.
11
14
  */
12
15
  export var LawfulBasis;
13
16
  (function (LawfulBasis) {
@@ -46,19 +49,40 @@ export var OperatorProcessingRole;
46
49
  * A B2B SaaS is typically a PROCESSOR for the records its customers put in, and a CONTROLLER for the
47
50
  * account and billing data of the people who administer them — simultaneously, in one product.
48
51
  *
49
- * `dataScope` is prose the operator writes, deliberately. Nothing structured exists to key it to: the
50
- * processing purposes a notice states are derived from the application's vision and requirements as
51
- * PROSE, so a ref here would point at nothing.
52
+ * `dataScope` is prose the operator writes, deliberately: it names a POPULATION of data ("customer records in a
53
+ * workspace"), not a processing purpose, so a lawful basis's `purposeRef` (#1709) is not what it would key to. No
54
+ * structured population vocabulary exists yet, and a ref to nothing would be worse than prose.
52
55
  */
53
56
  export const OperatorRoleAllocationSchema = z.strictObject({
54
57
  /** Which data this role covers, in the operator's own words — "customer records in a workspace". */
55
58
  dataScope: z.string().trim().min(1),
56
59
  role: z.enum(OperatorProcessingRole),
60
+ /**
61
+ * The resource types this role covers — the TYPED half of `dataScope` (#1710), so a running erasure or export can
62
+ * say who owes the Art. 19 communication for the subject in front of it. Optional: an allocation in prose only is
63
+ * still a valid statement for a notice, and a subject whose resource type no allocation names is reported as
64
+ * ROLE UNDECLARED, never guessed. `dataScope` stays the words a notice uses.
65
+ */
66
+ resourceTypes: z.array(z.string().trim().min(1)).min(1).optional(),
57
67
  });
58
- /** One processing purpose and the basis the operator relies on for it. */
68
+ /**
69
+ * One processing purpose and the basis the operator relies on for it.
70
+ *
71
+ * assurance-control: WILDO.PRIVACY.LAWFUL_BASIS — refuses a legitimate-interests basis that records no balancing assessment.
72
+ */
59
73
  export const OperatorLawfulBasisSchema = z.strictObject({
60
74
  /** The purpose, in the operator's own words. Matches how the notice states purposes: prose, not a ref. */
61
75
  purpose: z.string().trim().min(1),
76
+ /**
77
+ * A STABLE id for this purpose, which a provider's or a system of record's compliance choice names
78
+ * (`providerComplianceChoices.<ref>.purposeRefs`) to say which purpose sending it data serves (#1709).
79
+ *
80
+ * Separate from `purpose` because the prose is the notice's wording and changes when the operator rewords it, while
81
+ * a link to it must survive the rewording. OPTIONAL, like every other part of this identity (#225): a basis with no
82
+ * ref is still a basis, and a recipient cannot link to it — which the recipients report names as a purpose not
83
+ * linked, never as a recipient with no purpose.
84
+ */
85
+ purposeRef: LawfulBasisPurposeRefSchema.optional(),
62
86
  basis: z.enum(LawfulBasis),
63
87
  /**
64
88
  * The assessment behind the basis. REQUIRED for `LEGITIMATE_INTERESTS`, which is the only basis
@@ -85,7 +109,7 @@ export const OperatorLawfulBasisSchema = z.strictObject({
85
109
  *
86
110
  * ## The near-miss this exists because of
87
111
  *
88
- * `analytics.requiredConsent` already exists and governs ANALYTICS alone. The compliance partial
112
+ * `analytics.requiresConsent` already exists and governs ANALYTICS alone. The compliance partial
89
113
  * described it as "the minimum a person must give to use the service" until 2026-08-30 — a much
90
114
  * larger claim about a much narrower field. A drafter following that wording would have published
91
115
  * that a person must consent to analytics in order to use the product: false, and false about the one
@@ -95,50 +119,83 @@ export const OperatorLawfulBasisSchema = z.strictObject({
95
119
  * *"There is no declared surface for recording a service-wide consent requirement distinct from
96
120
  * analytics consent."* This is that surface.
97
121
  *
98
- * ## Why the floor may be NONE, and usually should be
122
+ * ## Why the required set may be empty, and usually should be
99
123
  *
100
124
  * Consent is ONE Art. 6(1) basis among six, and for most B2B SaaS the basis for core processing is
101
125
  * CONTRACT — a person uses the product because their employer signed for it, not because they
102
- * consented. A required level above `NONE` says the opposite, so declaring one is a claim about the
126
+ * consented. A non-empty required set says the opposite, so declaring one is a claim about the
103
127
  * lawful basis and not merely a UI gate.
104
128
  *
105
- * `NONE` is therefore both the default and the honest answer for most applications: *nothing is
106
- * gated on consent; the lawful basis lives in {@link ApplicationOperatorComplianceIdentitySchema.lawfulBases}.*
129
+ * An EMPTY set is therefore the honest answer for most applications: *nothing is gated on consent;
130
+ * the lawful basis lives in {@link ApplicationOperatorComplianceIdentitySchema.lawfulBases}.*
107
131
  * A field that pushed applications toward declaring consent would be worse than the gap it closes.
108
132
  *
109
- * ⚠️ Declaring a level here does NOT make consent the lawful basis for anything. It states a gate.
133
+ * ## This is the ENFORCED half of the identity (#453)
134
+ *
135
+ * Everything else in {@link ApplicationOperatorComplianceIdentitySchema} is DECLARATION — it is
136
+ * rendered into documents and checked for coherence, and nothing at runtime acts on it. This field is
137
+ * the exception. `wildo config service-consent` projects it into the running application's
138
+ * `compliance.serviceConsentRequirement`. Until the person has granted every purpose in
139
+ * `requiredPurposes`, the backend refuses every operation they initiate — resource operations over REST,
140
+ * MCP tools, queued operations, WebSocket rows and subscriptions, agent tool calls and retrieval, the
141
+ * manual controllers (charts, analytics, features, flows-actors, provider operations and connections),
142
+ * notification badge reads, reading or following an A2A task (its status, reply, artifacts and push
143
+ * configuration), and every A2A or WebSocket conversational turn, whether started or resumed after an
144
+ * approval — except their own context and preferences, where they grant it, and cancelling an A2A task they
145
+ * already started. Signing in, refreshing a session and signing out are not resource operations and stay
146
+ * open, so the person can always reach that decision. Updates the server pushes on its own (a badge count
147
+ * changing) are not a person initiating anything and are not held back. The authenticated application shell shows the consent gate in
148
+ * place of every signed-in route. A reader of
149
+ * this schema must be able to tell the two apart without tracing the runtime, which is why it is said
150
+ * here.
151
+ *
152
+ * ⚠️ Declaring purposes here does NOT make consent the lawful basis for anything. It states a gate.
110
153
  * The basis is declared per purpose, separately, and the two disagreeing is the shape a reviewer
111
154
  * needs to see rather than one the schema should quietly reconcile.
112
155
  */
113
156
  export const ServiceConsentRequirementSchema = z.strictObject({
114
157
  /**
115
- * The minimum consent a person must give to use the service.
158
+ * The purposes a person must grant before they may use the service — a SET, never a level (#453).
159
+ *
160
+ * EMPTY means nothing is gated on consent — the common and usually correct answer. It is a
161
+ * DECLARATION, not an absence: an application that declares `[]` has answered the question, which is
162
+ * what separates it from one whose `serviceConsentRequirement` is absent and was never asked.
116
163
  *
117
- * `NONE` means nothing is gated on consent — the common and usually correct answer. It is a
118
- * DECLARATION, not an absence: an application that says `NONE` has answered the question, which is
119
- * what separates it from one that has not been asked.
164
+ * Replaces `requiredLevel`, which was typed on the ordered `DataProcessingConsent` and so claimed that
165
+ * requiring MARKETING also required ANALYTICS. A required set names exactly what it gates on.
120
166
  */
121
- requiredLevel: z.enum(DataProcessingConsent),
167
+ requiredPurposes: z.array(z.enum(ConsentPurpose)),
122
168
  /**
123
169
  * What this gate actually controls, in the operator's own words.
124
170
  *
125
- * REQUIRED whenever the level is above `NONE`, because a gate nobody can describe is a gate nobody
171
+ * REQUIRED whenever any purpose is required, because a gate nobody can describe is a gate nobody
126
172
  * can honour — enforced below. A notice stating "consent is required" without saying what it
127
173
  * governs tells a person they must agree to something unnamed.
128
174
  */
129
175
  gatedProcessing: z.string().trim().min(1).optional(),
130
176
  }).superRefine((requirement, context) => {
131
177
  /*
132
- * A required level above NONE with nothing described is the shape that satisfies the field and
133
- * discloses nothing — the same defect as a revision recording no superseded rationale, and as a
178
+ * A required purpose with nothing described is the shape that satisfies the field and discloses
179
+ * nothing — the same defect as a revision recording no superseded rationale, and as a
134
180
  * legitimate-interests basis with no assessment. Each time, the value is the easy half and the
135
181
  * explanation is the half that makes it mean anything.
136
182
  */
137
- if (requirement.requiredLevel !== DataProcessingConsent.NONE && requirement.gatedProcessing === undefined) {
183
+ if (requirement.requiredPurposes.length > 0 && requirement.gatedProcessing === undefined) {
138
184
  context.addIssue({
139
185
  code: 'custom',
140
186
  path: ['gatedProcessing'],
141
- message: `a required consent level of ${requirement.requiredLevel} gates something — say what, or declare NONE. A notice stating that consent is required without naming what it governs tells a person they must agree to something unnamed`,
187
+ message: `requiring consent to ${requirement.requiredPurposes.join(', ')} gates something — say what, or declare no required purposes. A notice stating that consent is required without naming what it governs tells a person they must agree to something unnamed`,
188
+ });
189
+ }
190
+ /*
191
+ * A purpose listed twice is not a stronger requirement, and a set that reads differently from how it
192
+ * compares is how two surfaces come to describe one gate differently.
193
+ */
194
+ if (new Set(requirement.requiredPurposes).size !== requirement.requiredPurposes.length) {
195
+ context.addIssue({
196
+ code: 'custom',
197
+ path: ['requiredPurposes'],
198
+ message: 'a required purpose is listed more than once — a set names each purpose once',
142
199
  });
143
200
  }
144
201
  });
@@ -183,7 +240,7 @@ export const ServiceConsentRequirementSchema = z.strictObject({
183
240
  * optional and {@link outstandingOperatorComplianceIdentityParts} names what is still owed.
184
241
  *
185
242
  * What did NOT weaken: every refinement guarding a STATED claim. A legitimate-interests basis still
186
- * requires its assessment, and a consent level above `NONE` still requires what it gates. Those
243
+ * requires its assessment, and a non-empty required purpose set still requires what it gates. Those
187
244
  * refuse an INCOHERENT answer, never an ABSENT one, and the distinction is the whole design — a
188
245
  * partial declaration is honest, a self-contradicting one is not.
189
246
  */
@@ -223,15 +280,37 @@ export const ApplicationOperatorComplianceIdentitySchema = z.strictObject({
223
280
  * declaring no basis at all is a refusal wearing a declaration's clothes, and it would land as a
224
281
  * complete answer.
225
282
  */
226
- lawfulBases: z.array(OperatorLawfulBasisSchema).min(1).optional(),
283
+ lawfulBases: z.array(OperatorLawfulBasisSchema).min(1).superRefine((bases, context) => {
284
+ // A purpose ref names ONE purpose, or a recipient linking to it would be linked to two (#1709).
285
+ const seen = new Set();
286
+ bases.forEach((entry, index) => {
287
+ if (entry.purposeRef === undefined)
288
+ return;
289
+ if (seen.has(entry.purposeRef)) {
290
+ context.addIssue({ code: 'custom', path: [index, 'purposeRef'], message: `purpose ref "${entry.purposeRef}" names more than one purpose` });
291
+ }
292
+ seen.add(entry.purposeRef);
293
+ });
294
+ }).optional(),
227
295
  /**
228
296
  * What a person must consent to in order to use the service at all (issue #139).
229
297
  *
230
- * OPTIONAL, and absent means UNANSWERED rather than `NONE`. The distinction is the one this whole
231
- * lane turns on: a declared `NONE` is the operator saying nothing is gated on consent, while
298
+ * OPTIONAL, and absent means UNANSWERED rather than an empty set. The distinction is the one this
299
+ * whole lane turns on: a declared `requiredPurposes: []` is the operator saying nothing is gated on consent, while
232
300
  * absence is nobody having been asked, and a notice must not render the second as the first.
233
301
  */
234
302
  serviceConsentRequirement: ServiceConsentRequirementSchema.optional(),
303
+ /**
304
+ * How the operator confirms that a person exercising a data-subject right is that person, before acting.
305
+ *
306
+ * The one part of the rights clause the law leaves to the operator: WHICH rights apply follows from the
307
+ * jurisdictions and the lawful bases, and the complaint route from the regime, but the verification step
308
+ * is a procedure the operator runs (GDPR Art. 12(6) lets a controller ask for what it reasonably needs).
309
+ * Prose, because procedures differ — "requests from a signed-in account are verified by that session;
310
+ * requests by email are answered at the account's address". Absent means undecided, and the
311
+ * `rights-and-complaint-route` fact then answers nothing (#454).
312
+ */
313
+ subjectRequestIdentityVerification: z.string().trim().min(1).optional(),
235
314
  }).superRefine((identity, context) => {
236
315
  /*
237
316
  * A declaration with nothing in it is a no-op that reads as an answer.
@@ -262,7 +341,7 @@ export const ApplicationOperatorComplianceIdentitySchema = z.strictObject({
262
341
  * `representative` and `serviceConsentRequirement` are deliberately absent from this list. Both are
263
342
  * legitimately unset on a COMPLETE identity: an operator established where its subjects are needs no
264
343
  * Art. 27 representative, and a declared absence of a consent gate is expressed by
265
- * `serviceConsentRequirement.requiredLevel = NONE`, which is a value rather than an omission. Listing
344
+ * `serviceConsentRequirement.requiredPurposes = []`, which is a value rather than an omission. Listing
266
345
  * them would report every correct identity as incomplete.
267
346
  */
268
347
  export var OperatorComplianceIdentityPart;
@@ -272,6 +351,7 @@ export var OperatorComplianceIdentityPart;
272
351
  OperatorComplianceIdentityPart["PRIVACY_CONTACT"] = "privacyContact";
273
352
  OperatorComplianceIdentityPart["ROLE_ALLOCATIONS"] = "roleAllocations";
274
353
  OperatorComplianceIdentityPart["LAWFUL_BASES"] = "lawfulBases";
354
+ OperatorComplianceIdentityPart["SUBJECT_REQUEST_IDENTITY_VERIFICATION"] = "subjectRequestIdentityVerification";
275
355
  })(OperatorComplianceIdentityPart || (OperatorComplianceIdentityPart = {}));
276
356
  /**
277
357
  * Which parts of the identity are still owed, in declaration order.
@@ -288,6 +368,7 @@ export function outstandingOperatorComplianceIdentityParts(identity) {
288
368
  identity?.privacyContact === undefined ? OperatorComplianceIdentityPart.PRIVACY_CONTACT : undefined,
289
369
  identity?.roleAllocations === undefined ? OperatorComplianceIdentityPart.ROLE_ALLOCATIONS : undefined,
290
370
  identity?.lawfulBases === undefined ? OperatorComplianceIdentityPart.LAWFUL_BASES : undefined,
371
+ identity?.subjectRequestIdentityVerification === undefined ? OperatorComplianceIdentityPart.SUBJECT_REQUEST_IDENTITY_VERIFICATION : undefined,
291
372
  ].filter((part) => part !== undefined);
292
373
  }
293
374
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"operator-compliance-identity.shared.schemas.js","sourceRoot":"","sources":["../../../../../src/compliance/privacy/operator-compliance-identity.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\nimport { DataProcessingConsent } from './privacy.shared.schemas';\n\n/**\n * GDPR Art. 6(1) — the six lawful bases, closed by the article.\n *\n * Enumerated individually rather than carried as prose because each carries a different obligation:\n * consent must be withdrawable, legitimate interests needs a balancing assessment, a legal obligation\n * must name the law. \"We have a lawful basis\" is not a disclosure; a notice must say WHICH.\n *\n * spec-cite: GDPR Art. 6(1)(a)–(f).\n */\nexport enum LawfulBasis {\n /** Art. 6(1)(a) — the subject consented to the processing for one or more specific purposes. */\n CONSENT = 'CONSENT',\n /** Art. 6(1)(b) — necessary to perform a contract with the subject, or pre-contractual steps. */\n CONTRACT = 'CONTRACT',\n /** Art. 6(1)(c) — necessary to comply with a legal obligation the controller is subject to. */\n LEGAL_OBLIGATION = 'LEGAL_OBLIGATION',\n /** Art. 6(1)(d) — necessary to protect vital interests of the subject or another person. */\n VITAL_INTERESTS = 'VITAL_INTERESTS',\n /** Art. 6(1)(e) — necessary for a task in the public interest or official authority. */\n PUBLIC_TASK = 'PUBLIC_TASK',\n /**\n * Art. 6(1)(f) — necessary for legitimate interests, except where overridden by the subject's\n * rights. The only basis requiring a balancing assessment, which is why declaring it without one\n * is refused below.\n */\n LEGITIMATE_INTERESTS = 'LEGITIMATE_INTERESTS',\n}\n\n/** Whether the operator decides the purposes of a processing, carries them out for someone else, or both. */\nexport enum OperatorProcessingRole {\n /** The operator determines the purposes and means. */\n CONTROLLER = 'CONTROLLER',\n /** The operator processes on a customer's documented instructions — the usual B2B posture for customer records. */\n PROCESSOR = 'PROCESSOR',\n /** The operator and another party jointly determine purposes and means, and must have an arrangement saying how. */\n JOINT_CONTROLLER = 'JOINT_CONTROLLER',\n}\n\n/**\n * ONE role, over ONE population of data.\n *\n * A single role field would be the wrong shape, and the produced notice said so before this existed:\n * *\"This notice therefore does not assign a single legal role to all data processed in a workspace.\"*\n * A B2B SaaS is typically a PROCESSOR for the records its customers put in, and a CONTROLLER for the\n * account and billing data of the people who administer them — simultaneously, in one product.\n *\n * `dataScope` is prose the operator writes, deliberately. Nothing structured exists to key it to: the\n * processing purposes a notice states are derived from the application's vision and requirements as\n * PROSE, so a ref here would point at nothing.\n */\nexport const OperatorRoleAllocationSchema = z.strictObject({\n /** Which data this role covers, in the operator's own words — \"customer records in a workspace\". */\n dataScope: z.string().trim().min(1),\n role: z.enum(OperatorProcessingRole),\n});\nexport type OperatorRoleAllocation = z.infer<typeof OperatorRoleAllocationSchema>;\n\n/** One processing purpose and the basis the operator relies on for it. */\nexport const OperatorLawfulBasisSchema = z.strictObject({\n /** The purpose, in the operator's own words. Matches how the notice states purposes: prose, not a ref. */\n purpose: z.string().trim().min(1),\n basis: z.enum(LawfulBasis),\n /**\n * The assessment behind the basis. REQUIRED for `LEGITIMATE_INTERESTS`, which is the only basis\n * that needs a balancing test — see the superRefine below.\n */\n assessmentNote: z.string().trim().min(1).optional(),\n}).superRefine((entry, context) => {\n /*\n * A legitimate-interests claim with no assessment is the shape that satisfies a field and discloses\n * nothing — the same defect as a revision that records no superseded rationale. Art. 6(1)(f) is the\n * only basis whose lawfulness depends on a balancing test, so a declaration without one asserts a\n * conclusion nobody reached.\n */\n if (entry.basis === LawfulBasis.LEGITIMATE_INTERESTS && entry.assessmentNote === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['assessmentNote'],\n message: `purpose \"${entry.purpose}\" relies on LEGITIMATE_INTERESTS and records no assessment — that basis is lawful only where the balancing test was actually done, so state it or choose the basis that applies`,\n });\n }\n});\nexport type OperatorLawfulBasis = z.infer<typeof OperatorLawfulBasisSchema>;\n\n/**\n * What a person must agree to in order to USE the service at all (issue #139).\n *\n * ## The near-miss this exists because of\n *\n * `analytics.requiredConsent` already exists and governs ANALYTICS alone. The compliance partial\n * described it as \"the minimum a person must give to use the service\" until 2026-08-30 — a much\n * larger claim about a much narrower field. A drafter following that wording would have published\n * that a person must consent to analytics in order to use the product: false, and false about the one\n * subject a reader is most likely to act on.\n *\n * Correcting it left a real hole, which a produced notice then reported in its own words:\n * *\"There is no declared surface for recording a service-wide consent requirement distinct from\n * analytics consent.\"* This is that surface.\n *\n * ## Why the floor may be NONE, and usually should be\n *\n * Consent is ONE Art. 6(1) basis among six, and for most B2B SaaS the basis for core processing is\n * CONTRACT — a person uses the product because their employer signed for it, not because they\n * consented. A required level above `NONE` says the opposite, so declaring one is a claim about the\n * lawful basis and not merely a UI gate.\n *\n * `NONE` is therefore both the default and the honest answer for most applications: *nothing is\n * gated on consent; the lawful basis lives in {@link ApplicationOperatorComplianceIdentitySchema.lawfulBases}.*\n * A field that pushed applications toward declaring consent would be worse than the gap it closes.\n *\n * ⚠️ Declaring a level here does NOT make consent the lawful basis for anything. It states a gate.\n * The basis is declared per purpose, separately, and the two disagreeing is the shape a reviewer\n * needs to see rather than one the schema should quietly reconcile.\n */\nexport const ServiceConsentRequirementSchema = z.strictObject({\n /**\n * The minimum consent a person must give to use the service.\n *\n * `NONE` means nothing is gated on consent — the common and usually correct answer. It is a\n * DECLARATION, not an absence: an application that says `NONE` has answered the question, which is\n * what separates it from one that has not been asked.\n */\n requiredLevel: z.enum(DataProcessingConsent),\n /**\n * What this gate actually controls, in the operator's own words.\n *\n * REQUIRED whenever the level is above `NONE`, because a gate nobody can describe is a gate nobody\n * can honour — enforced below. A notice stating \"consent is required\" without saying what it\n * governs tells a person they must agree to something unnamed.\n */\n gatedProcessing: z.string().trim().min(1).optional(),\n}).superRefine((requirement, context) => {\n /*\n * A required level above NONE with nothing described is the shape that satisfies the field and\n * discloses nothing — the same defect as a revision recording no superseded rationale, and as a\n * legitimate-interests basis with no assessment. Each time, the value is the easy half and the\n * explanation is the half that makes it mean anything.\n */\n if (requirement.requiredLevel !== DataProcessingConsent.NONE && requirement.gatedProcessing === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['gatedProcessing'],\n message: `a required consent level of ${requirement.requiredLevel} gates something — say what, or declare NONE. A notice stating that consent is required without naming what it governs tells a person they must agree to something unnamed`,\n });\n }\n});\nexport type ServiceConsentRequirement = z.infer<typeof ServiceConsentRequirementSchema>;\n\n/**\n * WHO is publishing this notice, under what legal role, on what basis — the operator's own compliance\n * identity (issue #131).\n *\n * ## Why this exists, and why in configuration\n *\n * A produced compliance document asked three questions the application had nowhere to answer:\n * who operates the service, in what role, and on what lawful basis. Measured 2026-08-30, the only\n * `legalEntityName` anywhere in the compliance model was the PROCESSOR's, from the register in issue\n * #88 — nothing described the operator.\n *\n * That is not merely an empty field. A landing REPLACES the produced document on every run, so an\n * operator who answered by editing the document lost the answer on the next regeneration:\n * `.claude/rules/one-source-of-truth.md`'s test failing in the direction that matters — delete and\n * re-run, and you lose TRUTH rather than TIME.\n *\n * Configuration rather than a governed document, and identity and basis together rather than split.\n * They are two halves of ONE clause a reader meets in the first paragraph, and separating them would\n * put those halves in two places with two lifecycles for no benefit a reader can perceive. The\n * ASSESSMENT behind a basis is reviewed work and lives in `assessmentNote`; the conclusion belongs\n * with the identity that publishes it.\n *\n * ## What is deliberately NOT here\n *\n * A DPO appointment record, a processing-activities register (Art. 30), a retention schedule\n * (`dataRetention`), a processor register (#88). This is the operator's identity and legal posture —\n * the answers a notice needs in its opening sections — not a compliance programme.\n *\n * ## Every part is independently declarable, and that is the point (issue #228)\n *\n * This schema was optional AS A WHOLE and all-or-nothing INSIDE until 2026-09-02: the entity name,\n * address, contact, role allocations and lawful bases were each required, so an operator who knew\n * the registered name but had not settled lawful bases with counsel could record NOTHING. They\n * answered by editing the produced document, and a landing REPLACES it — losing the answer on the\n * next regeneration, which is the exact failure this schema was created to end.\n *\n * Paul's decision (#225) is that filling the entity must never block, and that generation is\n * resilient to what is missing while saying plainly that the result is incomplete. So every part is\n * optional and {@link outstandingOperatorComplianceIdentityParts} names what is still owed.\n *\n * What did NOT weaken: every refinement guarding a STATED claim. A legitimate-interests basis still\n * requires its assessment, and a consent level above `NONE` still requires what it gates. Those\n * refuse an INCOHERENT answer, never an ABSENT one, and the distinction is the whole design — a\n * partial declaration is honest, a self-contradicting one is not.\n */\nexport const ApplicationOperatorComplianceIdentitySchema = z.strictObject({\n /** The legal entity operating the service, as registered. Absent means unanswered — see the partial-filling note above. */\n legalEntityName: z.string().trim().min(1).optional(),\n /** Its registered address, as a reader would need it to serve a request. Absent means unanswered. */\n registeredAddress: z.string().trim().min(1).optional(),\n /**\n * How a data subject reaches the operator about privacy — an address, an email, or a URL.\n *\n * Open string because all three are legitimate and the law names none: what matters is that a route\n * exists and is stated, not what shape it takes.\n */\n privacyContact: z.string().trim().min(1).optional(),\n /**\n * An Art. 27 representative in the origin jurisdiction, where the operator is established outside it.\n *\n * Optional, because most operators are established where their subjects are and appointing one\n * would be a fiction. Absent means \"not required\", never \"not considered\" — a notice states it only\n * when declared.\n */\n representative: z.strictObject({\n name: z.string().trim().min(1),\n address: z.string().trim().min(1),\n }).optional(),\n /**\n * The operator's role, per population of data. At least one.\n *\n * See {@link OperatorRoleAllocationSchema} for why this is a list rather than a field.\n */\n roleAllocations: z.array(OperatorRoleAllocationSchema).min(1).optional(),\n /**\n * The lawful basis relied on, per processing purpose. At least one.\n *\n * `min(1)` at the schema for the same reason the placement plan requires one decision: an identity\n * declaring no basis at all is a refusal wearing a declaration's clothes, and it would land as a\n * complete answer.\n */\n lawfulBases: z.array(OperatorLawfulBasisSchema).min(1).optional(),\n /**\n * What a person must consent to in order to use the service at all (issue #139).\n *\n * OPTIONAL, and absent means UNANSWERED rather than `NONE`. The distinction is the one this whole\n * lane turns on: a declared `NONE` is the operator saying nothing is gated on consent, while\n * absence is nobody having been asked, and a notice must not render the second as the first.\n */\n serviceConsentRequirement: ServiceConsentRequirementSchema.optional(),\n}).superRefine((identity, context) => {\n /*\n * A declaration with nothing in it is a no-op that reads as an answer.\n *\n * Every part is independently optional so an operator can record the half they know (#228), and the\n * cost of that is a new shape the old schema could not express: `operatorComplianceIdentity: {}`.\n * Absent and empty must not mean the same thing — absence is \"nobody was asked\", which every\n * consumer already renders as outstanding, while an empty object would satisfy the field and\n * disclose nothing. Same defect the file refuses twice already, for a legitimate-interests basis\n * with no assessment and a consent gate that names nothing.\n */\n if (Object.values(identity).every((part) => part === undefined)) {\n context.addIssue({\n code: 'custom',\n path: [],\n message:\n 'an operator compliance identity that declares nothing is not a partial answer, it is an empty one — '\n + 'record the part you know, or omit `operatorComplianceIdentity` entirely so it reads as unanswered',\n });\n }\n});\nexport type ApplicationOperatorComplianceIdentity = z.infer<typeof ApplicationOperatorComplianceIdentitySchema>;\n\n\n/**\n * The parts of an operator's compliance identity, so \"what is still owed\" has one named home.\n *\n * A closed vocabulary rather than free strings: every consumer that reports an incomplete identity —\n * a drafter's brief, a document's marked gap, an operator-facing check — must name the same parts by\n * the same names, or two surfaces tell an operator to fill two different things.\n *\n * `representative` and `serviceConsentRequirement` are deliberately absent from this list. Both are\n * legitimately unset on a COMPLETE identity: an operator established where its subjects are needs no\n * Art. 27 representative, and a declared absence of a consent gate is expressed by\n * `serviceConsentRequirement.requiredLevel = NONE`, which is a value rather than an omission. Listing\n * them would report every correct identity as incomplete.\n */\nexport enum OperatorComplianceIdentityPart {\n LEGAL_ENTITY_NAME = 'legalEntityName',\n REGISTERED_ADDRESS = 'registeredAddress',\n PRIVACY_CONTACT = 'privacyContact',\n ROLE_ALLOCATIONS = 'roleAllocations',\n LAWFUL_BASES = 'lawfulBases',\n}\n\n/**\n * Which parts of the identity are still owed, in declaration order.\n *\n * Empty means complete. An UNDECLARED identity is not this function's case — pass it and you get every\n * part back, which is correct but says less than the caller needs: \"nobody has been asked\" and \"four of\n * five parts are outstanding\" are different things to tell an operator, and the caller distinguishes\n * them by checking for the identity itself first.\n */\nexport function outstandingOperatorComplianceIdentityParts(\n identity: ApplicationOperatorComplianceIdentity | undefined,\n): readonly OperatorComplianceIdentityPart[] {\n return [\n identity?.legalEntityName === undefined ? OperatorComplianceIdentityPart.LEGAL_ENTITY_NAME : undefined,\n identity?.registeredAddress === undefined ? OperatorComplianceIdentityPart.REGISTERED_ADDRESS : undefined,\n identity?.privacyContact === undefined ? OperatorComplianceIdentityPart.PRIVACY_CONTACT : undefined,\n identity?.roleAllocations === undefined ? OperatorComplianceIdentityPart.ROLE_ALLOCATIONS : undefined,\n identity?.lawfulBases === undefined ? OperatorComplianceIdentityPart.LAWFUL_BASES : undefined,\n ].filter((part): part is OperatorComplianceIdentityPart => part !== undefined);\n}\n\n/**\n * The lawful bases an operator declares, deduplicated — what a notice enumerates when it says which\n * bases the service relies on.\n *\n * `undefined` when none are declared, and NOT an empty array. A notice rendering an empty list would\n * say the service relies on no lawful basis, which is a claim nobody made and one no processing could\n * survive; the caller has to meet the absent case rather than fall into it.\n */\nexport function declaredLawfulBases(identity: ApplicationOperatorComplianceIdentity): readonly LawfulBasis[] | undefined {\n if (identity.lawfulBases === undefined) return undefined;\n const order = Object.values(LawfulBasis);\n return [...new Set(identity.lawfulBases.map((entry) => entry.basis))]\n .sort((left, right) => order.indexOf(left) - order.indexOf(right));\n}\n\n/**\n * True when the operator declares more than one role, so a notice must not assign a single one.\n *\n * `undefined` when no roles are declared — the question cannot be answered, and `false` would be read\n * as \"one role\", licensing exactly the collapse {@link OperatorRoleAllocationSchema} exists to prevent.\n */\nexport function operatorHoldsSeveralProcessingRoles(identity: ApplicationOperatorComplianceIdentity): boolean | undefined {\n if (identity.roleAllocations === undefined) return undefined;\n return new Set(identity.roleAllocations.map((allocation) => allocation.role)).size > 1;\n}\n"]}
1
+ {"version":3,"file":"operator-compliance-identity.shared.schemas.js","sourceRoot":"","sources":["../../../../../src/compliance/privacy/operator-compliance-identity.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["import { z } from 'zod';\n\nimport { ConsentPurpose } from './consent-purposes.shared';\nimport { LawfulBasisPurposeRefSchema } from './purpose-ref.shared.schemas';\n\n/**\n * GDPR Art. 6(1) — the six lawful bases, closed by the article.\n *\n * Enumerated individually rather than carried as prose because each carries a different obligation:\n * consent must be withdrawable, legitimate interests needs a balancing assessment, a legal obligation\n * must name the law. \"We have a lawful basis\" is not a disclosure; a notice must say WHICH.\n *\n * spec-cite: GDPR Art. 6(1)(a)–(f).\n *\n * assurance-control: WILDO.PRIVACY.LAWFUL_BASIS — the closed set a processing purpose's ground is declared from.\n */\nexport enum LawfulBasis {\n /** Art. 6(1)(a) — the subject consented to the processing for one or more specific purposes. */\n CONSENT = 'CONSENT',\n /** Art. 6(1)(b) — necessary to perform a contract with the subject, or pre-contractual steps. */\n CONTRACT = 'CONTRACT',\n /** Art. 6(1)(c) — necessary to comply with a legal obligation the controller is subject to. */\n LEGAL_OBLIGATION = 'LEGAL_OBLIGATION',\n /** Art. 6(1)(d) — necessary to protect vital interests of the subject or another person. */\n VITAL_INTERESTS = 'VITAL_INTERESTS',\n /** Art. 6(1)(e) — necessary for a task in the public interest or official authority. */\n PUBLIC_TASK = 'PUBLIC_TASK',\n /**\n * Art. 6(1)(f) — necessary for legitimate interests, except where overridden by the subject's\n * rights. The only basis requiring a balancing assessment, which is why declaring it without one\n * is refused below.\n */\n LEGITIMATE_INTERESTS = 'LEGITIMATE_INTERESTS',\n}\n\n/** Whether the operator decides the purposes of a processing, carries them out for someone else, or both. */\nexport enum OperatorProcessingRole {\n /** The operator determines the purposes and means. */\n CONTROLLER = 'CONTROLLER',\n /** The operator processes on a customer's documented instructions — the usual B2B posture for customer records. */\n PROCESSOR = 'PROCESSOR',\n /** The operator and another party jointly determine purposes and means, and must have an arrangement saying how. */\n JOINT_CONTROLLER = 'JOINT_CONTROLLER',\n}\n\n/**\n * ONE role, over ONE population of data.\n *\n * A single role field would be the wrong shape, and the produced notice said so before this existed:\n * *\"This notice therefore does not assign a single legal role to all data processed in a workspace.\"*\n * A B2B SaaS is typically a PROCESSOR for the records its customers put in, and a CONTROLLER for the\n * account and billing data of the people who administer them — simultaneously, in one product.\n *\n * `dataScope` is prose the operator writes, deliberately: it names a POPULATION of data (\"customer records in a\n * workspace\"), not a processing purpose, so a lawful basis's `purposeRef` (#1709) is not what it would key to. No\n * structured population vocabulary exists yet, and a ref to nothing would be worse than prose.\n */\nexport const OperatorRoleAllocationSchema = z.strictObject({\n /** Which data this role covers, in the operator's own words — \"customer records in a workspace\". */\n dataScope: z.string().trim().min(1),\n role: z.enum(OperatorProcessingRole),\n /**\n * The resource types this role covers — the TYPED half of `dataScope` (#1710), so a running erasure or export can\n * say who owes the Art. 19 communication for the subject in front of it. Optional: an allocation in prose only is\n * still a valid statement for a notice, and a subject whose resource type no allocation names is reported as\n * ROLE UNDECLARED, never guessed. `dataScope` stays the words a notice uses.\n */\n resourceTypes: z.array(z.string().trim().min(1)).min(1).optional(),\n});\nexport type OperatorRoleAllocation = z.infer<typeof OperatorRoleAllocationSchema>;\n\n/**\n * One processing purpose and the basis the operator relies on for it.\n *\n * assurance-control: WILDO.PRIVACY.LAWFUL_BASIS — refuses a legitimate-interests basis that records no balancing assessment.\n */\nexport const OperatorLawfulBasisSchema = z.strictObject({\n /** The purpose, in the operator's own words. Matches how the notice states purposes: prose, not a ref. */\n purpose: z.string().trim().min(1),\n /**\n * A STABLE id for this purpose, which a provider's or a system of record's compliance choice names\n * (`providerComplianceChoices.<ref>.purposeRefs`) to say which purpose sending it data serves (#1709).\n *\n * Separate from `purpose` because the prose is the notice's wording and changes when the operator rewords it, while\n * a link to it must survive the rewording. OPTIONAL, like every other part of this identity (#225): a basis with no\n * ref is still a basis, and a recipient cannot link to it — which the recipients report names as a purpose not\n * linked, never as a recipient with no purpose.\n */\n purposeRef: LawfulBasisPurposeRefSchema.optional(),\n basis: z.enum(LawfulBasis),\n /**\n * The assessment behind the basis. REQUIRED for `LEGITIMATE_INTERESTS`, which is the only basis\n * that needs a balancing test — see the superRefine below.\n */\n assessmentNote: z.string().trim().min(1).optional(),\n}).superRefine((entry, context) => {\n /*\n * A legitimate-interests claim with no assessment is the shape that satisfies a field and discloses\n * nothing — the same defect as a revision that records no superseded rationale. Art. 6(1)(f) is the\n * only basis whose lawfulness depends on a balancing test, so a declaration without one asserts a\n * conclusion nobody reached.\n */\n if (entry.basis === LawfulBasis.LEGITIMATE_INTERESTS && entry.assessmentNote === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['assessmentNote'],\n message: `purpose \"${entry.purpose}\" relies on LEGITIMATE_INTERESTS and records no assessment — that basis is lawful only where the balancing test was actually done, so state it or choose the basis that applies`,\n });\n }\n});\nexport type OperatorLawfulBasis = z.infer<typeof OperatorLawfulBasisSchema>;\n\n/**\n * What a person must agree to in order to USE the service at all (issue #139).\n *\n * ## The near-miss this exists because of\n *\n * `analytics.requiresConsent` already exists and governs ANALYTICS alone. The compliance partial\n * described it as \"the minimum a person must give to use the service\" until 2026-08-30 — a much\n * larger claim about a much narrower field. A drafter following that wording would have published\n * that a person must consent to analytics in order to use the product: false, and false about the one\n * subject a reader is most likely to act on.\n *\n * Correcting it left a real hole, which a produced notice then reported in its own words:\n * *\"There is no declared surface for recording a service-wide consent requirement distinct from\n * analytics consent.\"* This is that surface.\n *\n * ## Why the required set may be empty, and usually should be\n *\n * Consent is ONE Art. 6(1) basis among six, and for most B2B SaaS the basis for core processing is\n * CONTRACT — a person uses the product because their employer signed for it, not because they\n * consented. A non-empty required set says the opposite, so declaring one is a claim about the\n * lawful basis and not merely a UI gate.\n *\n * An EMPTY set is therefore the honest answer for most applications: *nothing is gated on consent;\n * the lawful basis lives in {@link ApplicationOperatorComplianceIdentitySchema.lawfulBases}.*\n * A field that pushed applications toward declaring consent would be worse than the gap it closes.\n *\n * ## This is the ENFORCED half of the identity (#453)\n *\n * Everything else in {@link ApplicationOperatorComplianceIdentitySchema} is DECLARATION — it is\n * rendered into documents and checked for coherence, and nothing at runtime acts on it. This field is\n * the exception. `wildo config service-consent` projects it into the running application's\n * `compliance.serviceConsentRequirement`. Until the person has granted every purpose in\n * `requiredPurposes`, the backend refuses every operation they initiate — resource operations over REST,\n * MCP tools, queued operations, WebSocket rows and subscriptions, agent tool calls and retrieval, the\n * manual controllers (charts, analytics, features, flows-actors, provider operations and connections),\n * notification badge reads, reading or following an A2A task (its status, reply, artifacts and push\n * configuration), and every A2A or WebSocket conversational turn, whether started or resumed after an\n * approval — except their own context and preferences, where they grant it, and cancelling an A2A task they\n * already started. Signing in, refreshing a session and signing out are not resource operations and stay\n * open, so the person can always reach that decision. Updates the server pushes on its own (a badge count\n * changing) are not a person initiating anything and are not held back. The authenticated application shell shows the consent gate in\n * place of every signed-in route. A reader of\n * this schema must be able to tell the two apart without tracing the runtime, which is why it is said\n * here.\n *\n * ⚠️ Declaring purposes here does NOT make consent the lawful basis for anything. It states a gate.\n * The basis is declared per purpose, separately, and the two disagreeing is the shape a reviewer\n * needs to see rather than one the schema should quietly reconcile.\n */\nexport const ServiceConsentRequirementSchema = z.strictObject({\n /**\n * The purposes a person must grant before they may use the service — a SET, never a level (#453).\n *\n * EMPTY means nothing is gated on consent — the common and usually correct answer. It is a\n * DECLARATION, not an absence: an application that declares `[]` has answered the question, which is\n * what separates it from one whose `serviceConsentRequirement` is absent and was never asked.\n *\n * Replaces `requiredLevel`, which was typed on the ordered `DataProcessingConsent` and so claimed that\n * requiring MARKETING also required ANALYTICS. A required set names exactly what it gates on.\n */\n requiredPurposes: z.array(z.enum(ConsentPurpose)),\n /**\n * What this gate actually controls, in the operator's own words.\n *\n * REQUIRED whenever any purpose is required, because a gate nobody can describe is a gate nobody\n * can honour — enforced below. A notice stating \"consent is required\" without saying what it\n * governs tells a person they must agree to something unnamed.\n */\n gatedProcessing: z.string().trim().min(1).optional(),\n}).superRefine((requirement, context) => {\n /*\n * A required purpose with nothing described is the shape that satisfies the field and discloses\n * nothing — the same defect as a revision recording no superseded rationale, and as a\n * legitimate-interests basis with no assessment. Each time, the value is the easy half and the\n * explanation is the half that makes it mean anything.\n */\n if (requirement.requiredPurposes.length > 0 && requirement.gatedProcessing === undefined) {\n context.addIssue({\n code: 'custom',\n path: ['gatedProcessing'],\n message: `requiring consent to ${requirement.requiredPurposes.join(', ')} gates something — say what, or declare no required purposes. A notice stating that consent is required without naming what it governs tells a person they must agree to something unnamed`,\n });\n }\n /*\n * A purpose listed twice is not a stronger requirement, and a set that reads differently from how it\n * compares is how two surfaces come to describe one gate differently.\n */\n if (new Set(requirement.requiredPurposes).size !== requirement.requiredPurposes.length) {\n context.addIssue({\n code: 'custom',\n path: ['requiredPurposes'],\n message: 'a required purpose is listed more than once — a set names each purpose once',\n });\n }\n});\nexport type ServiceConsentRequirement = z.infer<typeof ServiceConsentRequirementSchema>;\n\n/**\n * WHO is publishing this notice, under what legal role, on what basis — the operator's own compliance\n * identity (issue #131).\n *\n * ## Why this exists, and why in configuration\n *\n * A produced compliance document asked three questions the application had nowhere to answer:\n * who operates the service, in what role, and on what lawful basis. Measured 2026-08-30, the only\n * `legalEntityName` anywhere in the compliance model was the PROCESSOR's, from the register in issue\n * #88 — nothing described the operator.\n *\n * That is not merely an empty field. A landing REPLACES the produced document on every run, so an\n * operator who answered by editing the document lost the answer on the next regeneration:\n * `.claude/rules/one-source-of-truth.md`'s test failing in the direction that matters — delete and\n * re-run, and you lose TRUTH rather than TIME.\n *\n * Configuration rather than a governed document, and identity and basis together rather than split.\n * They are two halves of ONE clause a reader meets in the first paragraph, and separating them would\n * put those halves in two places with two lifecycles for no benefit a reader can perceive. The\n * ASSESSMENT behind a basis is reviewed work and lives in `assessmentNote`; the conclusion belongs\n * with the identity that publishes it.\n *\n * ## What is deliberately NOT here\n *\n * A DPO appointment record, a processing-activities register (Art. 30), a retention schedule\n * (`dataRetention`), a processor register (#88). This is the operator's identity and legal posture —\n * the answers a notice needs in its opening sections — not a compliance programme.\n *\n * ## Every part is independently declarable, and that is the point (issue #228)\n *\n * This schema was optional AS A WHOLE and all-or-nothing INSIDE until 2026-09-02: the entity name,\n * address, contact, role allocations and lawful bases were each required, so an operator who knew\n * the registered name but had not settled lawful bases with counsel could record NOTHING. They\n * answered by editing the produced document, and a landing REPLACES it — losing the answer on the\n * next regeneration, which is the exact failure this schema was created to end.\n *\n * Paul's decision (#225) is that filling the entity must never block, and that generation is\n * resilient to what is missing while saying plainly that the result is incomplete. So every part is\n * optional and {@link outstandingOperatorComplianceIdentityParts} names what is still owed.\n *\n * What did NOT weaken: every refinement guarding a STATED claim. A legitimate-interests basis still\n * requires its assessment, and a non-empty required purpose set still requires what it gates. Those\n * refuse an INCOHERENT answer, never an ABSENT one, and the distinction is the whole design — a\n * partial declaration is honest, a self-contradicting one is not.\n */\nexport const ApplicationOperatorComplianceIdentitySchema = z.strictObject({\n /** The legal entity operating the service, as registered. Absent means unanswered — see the partial-filling note above. */\n legalEntityName: z.string().trim().min(1).optional(),\n /** Its registered address, as a reader would need it to serve a request. Absent means unanswered. */\n registeredAddress: z.string().trim().min(1).optional(),\n /**\n * How a data subject reaches the operator about privacy — an address, an email, or a URL.\n *\n * Open string because all three are legitimate and the law names none: what matters is that a route\n * exists and is stated, not what shape it takes.\n */\n privacyContact: z.string().trim().min(1).optional(),\n /**\n * An Art. 27 representative in the origin jurisdiction, where the operator is established outside it.\n *\n * Optional, because most operators are established where their subjects are and appointing one\n * would be a fiction. Absent means \"not required\", never \"not considered\" — a notice states it only\n * when declared.\n */\n representative: z.strictObject({\n name: z.string().trim().min(1),\n address: z.string().trim().min(1),\n }).optional(),\n /**\n * The operator's role, per population of data. At least one.\n *\n * See {@link OperatorRoleAllocationSchema} for why this is a list rather than a field.\n */\n roleAllocations: z.array(OperatorRoleAllocationSchema).min(1).optional(),\n /**\n * The lawful basis relied on, per processing purpose. At least one.\n *\n * `min(1)` at the schema for the same reason the placement plan requires one decision: an identity\n * declaring no basis at all is a refusal wearing a declaration's clothes, and it would land as a\n * complete answer.\n */\n lawfulBases: z.array(OperatorLawfulBasisSchema).min(1).superRefine((bases, context) => {\n // A purpose ref names ONE purpose, or a recipient linking to it would be linked to two (#1709).\n const seen = new Set<string>();\n bases.forEach((entry, index) => {\n if (entry.purposeRef === undefined) return;\n if (seen.has(entry.purposeRef)) {\n context.addIssue({ code: 'custom', path: [index, 'purposeRef'], message: `purpose ref \"${entry.purposeRef}\" names more than one purpose` });\n }\n seen.add(entry.purposeRef);\n });\n }).optional(),\n /**\n * What a person must consent to in order to use the service at all (issue #139).\n *\n * OPTIONAL, and absent means UNANSWERED rather than an empty set. The distinction is the one this\n * whole lane turns on: a declared `requiredPurposes: []` is the operator saying nothing is gated on consent, while\n * absence is nobody having been asked, and a notice must not render the second as the first.\n */\n serviceConsentRequirement: ServiceConsentRequirementSchema.optional(),\n /**\n * How the operator confirms that a person exercising a data-subject right is that person, before acting.\n *\n * The one part of the rights clause the law leaves to the operator: WHICH rights apply follows from the\n * jurisdictions and the lawful bases, and the complaint route from the regime, but the verification step\n * is a procedure the operator runs (GDPR Art. 12(6) lets a controller ask for what it reasonably needs).\n * Prose, because procedures differ — \"requests from a signed-in account are verified by that session;\n * requests by email are answered at the account's address\". Absent means undecided, and the\n * `rights-and-complaint-route` fact then answers nothing (#454).\n */\n subjectRequestIdentityVerification: z.string().trim().min(1).optional(),\n}).superRefine((identity, context) => {\n /*\n * A declaration with nothing in it is a no-op that reads as an answer.\n *\n * Every part is independently optional so an operator can record the half they know (#228), and the\n * cost of that is a new shape the old schema could not express: `operatorComplianceIdentity: {}`.\n * Absent and empty must not mean the same thing — absence is \"nobody was asked\", which every\n * consumer already renders as outstanding, while an empty object would satisfy the field and\n * disclose nothing. Same defect the file refuses twice already, for a legitimate-interests basis\n * with no assessment and a consent gate that names nothing.\n */\n if (Object.values(identity).every((part) => part === undefined)) {\n context.addIssue({\n code: 'custom',\n path: [],\n message:\n 'an operator compliance identity that declares nothing is not a partial answer, it is an empty one — '\n + 'record the part you know, or omit `operatorComplianceIdentity` entirely so it reads as unanswered',\n });\n }\n});\nexport type ApplicationOperatorComplianceIdentity = z.infer<typeof ApplicationOperatorComplianceIdentitySchema>;\n\n\n/**\n * The parts of an operator's compliance identity, so \"what is still owed\" has one named home.\n *\n * A closed vocabulary rather than free strings: every consumer that reports an incomplete identity —\n * a drafter's brief, a document's marked gap, an operator-facing check — must name the same parts by\n * the same names, or two surfaces tell an operator to fill two different things.\n *\n * `representative` and `serviceConsentRequirement` are deliberately absent from this list. Both are\n * legitimately unset on a COMPLETE identity: an operator established where its subjects are needs no\n * Art. 27 representative, and a declared absence of a consent gate is expressed by\n * `serviceConsentRequirement.requiredPurposes = []`, which is a value rather than an omission. Listing\n * them would report every correct identity as incomplete.\n */\nexport enum OperatorComplianceIdentityPart {\n LEGAL_ENTITY_NAME = 'legalEntityName',\n REGISTERED_ADDRESS = 'registeredAddress',\n PRIVACY_CONTACT = 'privacyContact',\n ROLE_ALLOCATIONS = 'roleAllocations',\n LAWFUL_BASES = 'lawfulBases',\n SUBJECT_REQUEST_IDENTITY_VERIFICATION = 'subjectRequestIdentityVerification',\n}\n\n/**\n * Which parts of the identity are still owed, in declaration order.\n *\n * Empty means complete. An UNDECLARED identity is not this function's case — pass it and you get every\n * part back, which is correct but says less than the caller needs: \"nobody has been asked\" and \"four of\n * five parts are outstanding\" are different things to tell an operator, and the caller distinguishes\n * them by checking for the identity itself first.\n */\nexport function outstandingOperatorComplianceIdentityParts(\n identity: ApplicationOperatorComplianceIdentity | undefined,\n): readonly OperatorComplianceIdentityPart[] {\n return [\n identity?.legalEntityName === undefined ? OperatorComplianceIdentityPart.LEGAL_ENTITY_NAME : undefined,\n identity?.registeredAddress === undefined ? OperatorComplianceIdentityPart.REGISTERED_ADDRESS : undefined,\n identity?.privacyContact === undefined ? OperatorComplianceIdentityPart.PRIVACY_CONTACT : undefined,\n identity?.roleAllocations === undefined ? OperatorComplianceIdentityPart.ROLE_ALLOCATIONS : undefined,\n identity?.lawfulBases === undefined ? OperatorComplianceIdentityPart.LAWFUL_BASES : undefined,\n identity?.subjectRequestIdentityVerification === undefined ? OperatorComplianceIdentityPart.SUBJECT_REQUEST_IDENTITY_VERIFICATION : undefined,\n ].filter((part): part is OperatorComplianceIdentityPart => part !== undefined);\n}\n\n/**\n * The lawful bases an operator declares, deduplicated — what a notice enumerates when it says which\n * bases the service relies on.\n *\n * `undefined` when none are declared, and NOT an empty array. A notice rendering an empty list would\n * say the service relies on no lawful basis, which is a claim nobody made and one no processing could\n * survive; the caller has to meet the absent case rather than fall into it.\n */\nexport function declaredLawfulBases(identity: ApplicationOperatorComplianceIdentity): readonly LawfulBasis[] | undefined {\n if (identity.lawfulBases === undefined) return undefined;\n const order = Object.values(LawfulBasis);\n return [...new Set(identity.lawfulBases.map((entry) => entry.basis))]\n .sort((left, right) => order.indexOf(left) - order.indexOf(right));\n}\n\n/**\n * True when the operator declares more than one role, so a notice must not assign a single one.\n *\n * `undefined` when no roles are declared — the question cannot be answered, and `false` would be read\n * as \"one role\", licensing exactly the collapse {@link OperatorRoleAllocationSchema} exists to prevent.\n */\nexport function operatorHoldsSeveralProcessingRoles(identity: ApplicationOperatorComplianceIdentity): boolean | undefined {\n if (identity.roleAllocations === undefined) return undefined;\n return new Set(identity.roleAllocations.map((allocation) => allocation.role)).size > 1;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"personal-data-category.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/compliance/privacy/personal-data-category.shared.schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,oBAAY,oBAAoB;IAC9B,mFAAmF;IACnF,QAAQ,aAAa;IACrB,kFAAkF;IAClF,eAAe,oBAAoB;IACnC;;;;;;OAMG;IACH,WAAW,gBAAgB;IAC3B,wFAAwF;IACxF,SAAS,cAAc;IACvB,mGAAmG;IACnG,KAAK,UAAU;IACf,qFAAqF;IACrF,QAAQ,aAAa;IACrB;;;;;;;OAOG;IACH,YAAY,iBAAiB;IAC7B,iGAAiG;IACjG,YAAY,iBAAiB;IAI7B,0CAA0C;IAC1C,wCAAwC,6CAA6C;IACrF,qCAAqC;IACrC,mCAAmC,wCAAwC;IAC3E,qDAAqD;IACrD,mDAAmD,wDAAwD;IAC3G,yCAAyC;IACzC,uCAAuC,4CAA4C;IACnF,+BAA+B;IAC/B,wBAAwB,6BAA6B;IACrD;;;;;OAKG;IACH,0BAA0B,+BAA+B;IACzD,yCAAyC;IACzC,uBAAuB,4BAA4B;IACnD,oFAAoF;IACpF,+CAA+C,oDAAoD;IAEnG;;;;;;OAMG;IACH,gBAAgB,qBAAqB;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAgC,CAAC;AAE/G;;;;;;;GAOG;AACH,eAAO,MAAM,yCAAyC,EAAE,WAAW,CAAC,oBAAoB,CAEvF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAErF;AACD,4DAA4D;AAE5D,8EAA8E;AAC9E,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAG5F;AAED;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,8CAA8C;IAC9C,QAAQ,aAAa;IACrB,6GAA6G;IAC7G,iBAAiB,sBAAsB;IACvC,gGAAgG;IAChG,aAAa,kBAAkB;IAC/B,0GAA0G;IAC1G,sBAAsB,2BAA2B;CAClD;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAED,2FAA2F;AAC3F,MAAM,WAAW,mCAAmC;IAClD,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,2BAA2B,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC7E,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAID;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,SAAS,oBAAoB,EAAE,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,OAAO,GAAG,mCAAmC,CA6C9G"}
1
+ {"version":3,"file":"personal-data-category.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/compliance/privacy/personal-data-category.shared.schemas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,oBAAY,oBAAoB;IAC9B,mFAAmF;IACnF,QAAQ,aAAa;IACrB,kFAAkF;IAClF,eAAe,oBAAoB;IACnC;;;;;;OAMG;IACH,WAAW,gBAAgB;IAC3B,wFAAwF;IACxF,SAAS,cAAc;IACvB,mGAAmG;IACnG,KAAK,UAAU;IACf,qFAAqF;IACrF,QAAQ,aAAa;IACrB;;;;;;;OAOG;IACH,YAAY,iBAAiB;IAC7B,iGAAiG;IACjG,YAAY,iBAAiB;IAI7B,0CAA0C;IAC1C,wCAAwC,6CAA6C;IACrF,qCAAqC;IACrC,mCAAmC,wCAAwC;IAC3E,qDAAqD;IACrD,mDAAmD,wDAAwD;IAC3G,yCAAyC;IACzC,uCAAuC,4CAA4C;IACnF,+BAA+B;IAC/B,wBAAwB,6BAA6B;IACrD;;;;;OAKG;IACH,0BAA0B,+BAA+B;IACzD,yCAAyC;IACzC,uBAAuB,4BAA4B;IACnD,oFAAoF;IACpF,+CAA+C,oDAAoD;IAEnG;;;;;;OAMG;IACH,gBAAgB,qBAAqB;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,gDAAgD;AAChD,eAAO,MAAM,0BAA0B,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAgC,CAAC;AAE/G;;;;;;;GAOG;AACH,eAAO,MAAM,yCAAyC,EAAE,WAAW,CAAC,oBAAoB,CAEvF,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAErF;AACD,4DAA4D;AAE5D,8EAA8E;AAC9E,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,CAG5F;AAED;;;;GAIG;AACH,oBAAY,sBAAsB;IAChC,8CAA8C;IAC9C,QAAQ,aAAa;IACrB,6GAA6G;IAC7G,iBAAiB,sBAAsB;IACvC,gGAAgG;IAChG,aAAa,kBAAkB;IAC/B,0GAA0G;IAC1G,sBAAsB,2BAA2B;CAClD;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAED,2FAA2F;AAC3F,MAAM,WAAW,mCAAmC;IAClD,mEAAmE;IACnE,QAAQ,CAAC,cAAc,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAChE;;;;;;OAMG;IACH,QAAQ,CAAC,2BAA2B,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC7E,uFAAuF;IACvF,QAAQ,CAAC,UAAU,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACtD;AAID;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,SAAS,oBAAoB,EAAE,CAEtH;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,OAAO,GAAG,mCAAmC,CA6C9G"}
@@ -1 +1 @@
1
- {"version":3,"file":"personal-data-declaration.shared.utils.d.ts","sourceRoot":"","sources":["../../../../src/compliance/privacy/personal-data-declaration.shared.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAGtJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,6GAA6G;AAC7G,wBAAgB,uCAAuC,CAAC,aAAa,EAAE,8BAA8B,GAAG,OAAO,CAK9G;AAED,iGAAiG;AACjG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wDAAwD,CAAC,MAAM,EAAE;IAC/E,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtD,GAAG,SAAS,8BAA8B,EAAE,CAgB5C;AAED,gIAAgI;AAChI,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,8BAA8B,GAAG,8BAA8B,CAE9H"}
1
+ {"version":3,"file":"personal-data-declaration.shared.utils.d.ts","sourceRoot":"","sources":["../../../../../src/compliance/privacy/personal-data-declaration.shared.utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAGtJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,eAAe,CAAC,EAAE,uBAAuB,CAAC;IACnD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IACvD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IACzD,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,6GAA6G;AAC7G,wBAAgB,uCAAuC,CAAC,aAAa,EAAE,8BAA8B,GAAG,OAAO,CAK9G;AAED,iGAAiG;AACjG,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wDAAwD,CAAC,MAAM,EAAE;IAC/E,QAAQ,CAAC,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,wBAAwB,EAAE,SAAS,MAAM,EAAE,CAAC;CACtD,GAAG,SAAS,8BAA8B,EAAE,CAgB5C;AAED,gIAAgI;AAChI,wBAAgB,gCAAgC,CAAC,aAAa,EAAE,8BAA8B,GAAG,8BAA8B,CAE9H"}
@@ -4,6 +4,8 @@
4
4
  * Privacy-related schemas and enums for user data management
5
5
  */
6
6
  import { z } from "zod";
7
+ import "@wildo-ai/zod-decorators";
8
+ import { ConsentPurpose } from "./consent-purposes.shared";
7
9
  /**
8
10
  * Profile Visibility Enum
9
11
  *
@@ -20,18 +22,6 @@ export declare enum OrganizationProfileVisibility {
20
22
  APPLICATION_INTERNAL = "application_internal",// Visible within application, for connected users only
21
23
  PRIVATE = "private"
22
24
  }
23
- export declare enum DataProcessingConsent {
24
- NONE = "none",
25
- BASIC = "basic",
26
- ANALYTICS = "analytics",
27
- MARKETING = "marketing",
28
- FULL = "full"
29
- }
30
- export declare enum PrivacyLevel {
31
- MINIMAL = "minimal",// Minimum data collection
32
- STANDARD = "standard",// Standard data collection
33
- ENHANCED = "enhanced"
34
- }
35
25
  /**
36
26
  * Whether — and with what lifetime — this application identifies the CLIENT INSTALL
37
27
  * (`clientInstanceId`, sent as `x-client-instance-id` and recorded on the audit row).
@@ -98,18 +88,20 @@ export declare enum ClientInstanceIdScope {
98
88
  */
99
89
  PERSISTENT = "persistent"
100
90
  }
101
- /** @wildo_source:part:end saas.models.privacy.client-instance-id-scope */
102
91
  export declare const AnonymousUserPrivacySchema: z.ZodObject<{
103
- dataProcessingConsent: z.ZodDefault<z.ZodEnum<typeof DataProcessingConsent>>;
92
+ consentedPurposes: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof ConsentPurpose>>>>;
93
+ offeredPurposes: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof ConsentPurpose>>>>;
94
+ consentDecidedAt: z.ZodOptional<z.ZodDate>;
104
95
  }, z.core.$strip>;
105
96
  export type AnonymousUserPrivacy = z.infer<typeof AnonymousUserPrivacySchema>;
106
97
  export declare const InboundContactPrivacySchema: z.ZodObject<{
107
- dataProcessingConsent: z.ZodDefault<z.ZodEnum<typeof DataProcessingConsent>>;
98
+ consentedPurposes: z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof ConsentPurpose>>>>;
99
+ consentDecidedAt: z.ZodOptional<z.ZodDate>;
108
100
  }, z.core.$strip>;
109
101
  export type InboundContactPrivacy = z.infer<typeof InboundContactPrivacySchema>;
110
102
  export declare const UserPrivacySchema: z.ZodObject<{
111
- dataProcessingConsent: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodEnum<typeof DataProcessingConsent>>>;
112
- privacyLevel: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodEnum<typeof PrivacyLevel>>>;
103
+ consentedPurposes: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof ConsentPurpose>>>>>;
104
+ consentDecidedAt: z.ZodOptional<z.ZodDate>;
113
105
  }, z.core.$strip>;
114
106
  export type UserPrivacy = z.infer<typeof UserPrivacySchema>;
115
107
  //# sourceMappingURL=privacy.shared.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"privacy.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/compliance/privacy/privacy.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,oBAAY,qBAAqB;IAC/B,MAAM,WAAW,CAAE,sBAAsB;IACzC,oBAAoB,yBAAyB,CAAE,uDAAuD;IACtG,YAAY,iBAAiB,CAAE,mCAAmC;IAClE,OAAO,YAAY;CACpB;AAED,oBAAY,6BAA6B;IACvC,MAAM,WAAW,CAAE,sBAAsB;IACzC,oBAAoB,yBAAyB,CAAE,uDAAuD;IACtG,OAAO,YAAY;CACpB;AAED,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,oBAAY,YAAY;IACtB,OAAO,YAAY,CAAE,0BAA0B;IAC/C,QAAQ,aAAa,CAAE,2BAA2B;IAClD,QAAQ,aAAa;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,qBAAqB;IAC/B;;;;;OAKG;IACH,QAAQ,aAAa;IACrB;;;;OAIG;IACH,OAAO,YAAY;IACnB;;;;;;OAMG;IACH,UAAU,eAAe;CAC1B;AACD,0EAA0E;AAE1E,eAAO,MAAM,0BAA0B;;iBAKrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;iBAKtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,iBAAiB;;;iBAuB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"privacy.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/compliance/privacy/privacy.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D;;;;GAIG;AACH,oBAAY,qBAAqB;IAC/B,MAAM,WAAW,CAAE,sBAAsB;IACzC,oBAAoB,yBAAyB,CAAE,uDAAuD;IACtG,YAAY,iBAAiB,CAAE,mCAAmC;IAClE,OAAO,YAAY;CACpB;AAED,oBAAY,6BAA6B;IACvC,MAAM,WAAW,CAAE,sBAAsB;IACzC,oBAAoB,yBAAyB,CAAE,uDAAuD;IACtG,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,qBAAqB;IAC/B;;;;;OAKG;IACH,QAAQ,aAAa;IACrB;;;;OAIG;IACH,OAAO,YAAY;IACnB;;;;;;OAMG;IACH,UAAU,eAAe;CAC1B;AAoED,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,iBAAiB;;;iBAiB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -4,6 +4,10 @@
4
4
  * Privacy-related schemas and enums for user data management
5
5
  */
6
6
  import { z } from "zod";
7
+ // Side-effect import: this module calls `.systemEnum()` at load, so the decorators must be installed first —
8
+ // never by the importer's luck (#966). A named import used only as a type would be elided and install nothing.
9
+ import "@wildo-ai/zod-decorators";
10
+ import { ConsentPurpose } from "./consent-purposes.shared.js";
7
11
  /**
8
12
  * Profile Visibility Enum
9
13
  *
@@ -22,20 +26,6 @@ export var OrganizationProfileVisibility;
22
26
  OrganizationProfileVisibility["APPLICATION_INTERNAL"] = "application_internal";
23
27
  OrganizationProfileVisibility["PRIVATE"] = "private";
24
28
  })(OrganizationProfileVisibility || (OrganizationProfileVisibility = {}));
25
- export var DataProcessingConsent;
26
- (function (DataProcessingConsent) {
27
- DataProcessingConsent["NONE"] = "none";
28
- DataProcessingConsent["BASIC"] = "basic";
29
- DataProcessingConsent["ANALYTICS"] = "analytics";
30
- DataProcessingConsent["MARKETING"] = "marketing";
31
- DataProcessingConsent["FULL"] = "full";
32
- })(DataProcessingConsent || (DataProcessingConsent = {}));
33
- export var PrivacyLevel;
34
- (function (PrivacyLevel) {
35
- PrivacyLevel["MINIMAL"] = "minimal";
36
- PrivacyLevel["STANDARD"] = "standard";
37
- PrivacyLevel["ENHANCED"] = "enhanced";
38
- })(PrivacyLevel || (PrivacyLevel = {}));
39
29
  /**
40
30
  * Whether — and with what lifetime — this application identifies the CLIENT INSTALL
41
31
  * (`clientInstanceId`, sent as `x-client-instance-id` and recorded on the audit row).
@@ -104,34 +94,87 @@ export var ClientInstanceIdScope;
104
94
  ClientInstanceIdScope["PERSISTENT"] = "persistent";
105
95
  })(ClientInstanceIdScope || (ClientInstanceIdScope = {}));
106
96
  /** @wildo_source:part:end saas.models.privacy.client-instance-id-scope */
97
+ /**
98
+ * The purposes a person has granted, and whether they have decided at all — the two facts every
99
+ * consent surface reads (#534).
100
+ *
101
+ * `consentedPurposes` defaults to the EMPTY set, and that default is the point. It used to be
102
+ * `.default(DataProcessingConsent.BASIC)`: every record asserted a consent its subject never gave.
103
+ * The empty set asserts nothing.
104
+ *
105
+ * `consentDecidedAt` is what separates "declined everything" from "was never asked" — the two are the
106
+ * same empty set and must not be the same fact. Absent means undecided, so a consent surface asks; set
107
+ * means the person made an affirmative choice at that instant, whatever they chose.
108
+ */
109
+ /*
110
+ * `.systemEnum('ConsentPurpose')` names the ONE vocabulary a purpose is worded by, everywhere it is stored —
111
+ * a person's preferences, an anonymous visitor, a lead — and on the application consent gate that asks for
112
+ * it. A purpose is a legal statement to the person deciding, so it gets one wording, authored once under
113
+ * `system_enums.ConsentPurpose.<value>`; the labelling planner plans it there and the frontend reads it
114
+ * there, both because this field declares it (#966).
115
+ */
116
+ const consentedPurposesField = (subject) => z.array(z.enum(ConsentPurpose).systemEnum('ConsentPurpose')).default([])
117
+ .describe(`The optional purposes ${subject} has granted, each independently. A set, not a level: granting one purpose implies nothing about another. Empty means nothing optional was granted.`);
118
+ const consentDecidedAtField = (subject) => z.date().optional()
119
+ .describe(`When ${subject} last made an affirmative consent choice. Absent means no choice was ever made, which is different from choosing to grant nothing.`);
120
+ /**
121
+ * The purposes a surface actually PUT IN FRONT of the person when they decided.
122
+ *
123
+ * ## Why a decision is not describable by its grants alone
124
+ *
125
+ * A grant set says what was agreed to. It cannot say what was ASKED, and the two differ by surface:
126
+ * a website panel offers `purposesInUse`, derived from that site's own live providers, while the
127
+ * application's gate offers `optionalPurposes`, derived from that application's configuration. A
128
+ * marketing site running analytics and an application that also does marketing legitimately ask
129
+ * different questions.
130
+ *
131
+ * Without this field, carrying a visitor's decision to their new account records
132
+ * `consentDecidedAt` — which every consent surface reads as *"this person was asked and answered"* —
133
+ * for purposes they were never shown. The application then stops prompting, and a purpose nobody
134
+ * displayed is stored as declined. The existing surfaces already avoid this internally (*"Purposes
135
+ * the panel does not offer keep their stored grant"*); only the CARRY crossed a surface boundary, and
136
+ * it needed to know where the boundary was.
137
+ *
138
+ * So a decision is `(granted ⊆ offered, at an instant)`, and the carry adopts grants for offered
139
+ * purposes while leaving an unoffered one genuinely undecided.
140
+ *
141
+ * ## Why only the anonymous holder declares it
142
+ *
143
+ * It is the only holder whose decision is taken on one surface and read on another. A member's
144
+ * preferences are written and read by the same application, and a lead's opt-in is never carried
145
+ * anywhere — adding the field there would be a second thing to keep true with no reader.
146
+ *
147
+ * Defaults to the EMPTY set, which is the honest value for every row written before this existed and
148
+ * for a session that has been initialized but never asked: an empty offered set means no question was
149
+ * put, so a carry from it carries nothing, which is the same outcome those rows have today.
150
+ */
151
+ const offeredPurposesField = (subject) => z.array(z.enum(ConsentPurpose).systemEnum('ConsentPurpose')).default([])
152
+ .describe(`The optional purposes actually shown to ${subject} by the surface they decided on. What is NOT here was never asked, and must not be read as declined.`);
107
153
  export const AnonymousUserPrivacySchema = z.object({
108
- dataProcessingConsent: z.enum(DataProcessingConsent).default(DataProcessingConsent.BASIC)
109
- .describe('The processing this anonymous visitor has agreed to. The application decides what each level permits — the framework stores the decision, it does not attach a fixed meaning to the levels.'),
154
+ consentedPurposes: consentedPurposesField('this anonymous visitor'),
155
+ offeredPurposes: offeredPurposesField('this anonymous visitor'),
156
+ consentDecidedAt: consentDecidedAtField('this anonymous visitor'),
110
157
  });
111
158
  export const InboundContactPrivacySchema = z.object({
112
- dataProcessingConsent: z.enum(DataProcessingConsent).default(DataProcessingConsent.BASIC)
113
- .describe('The processing this lead has agreed to. The application decides what each level permits — the framework stores the decision, it does not attach a fixed meaning to the levels.'),
159
+ consentedPurposes: consentedPurposesField('this lead'),
160
+ consentDecidedAt: consentDecidedAtField('this lead'),
114
161
  });
115
162
  export const UserPrivacySchema = z.object({
116
- // `.isAuditEvidence()` on these two, and deliberately NOT on the block that contains them.
163
+ // `.isAuditEvidence()` on the granted purposes, and deliberately NOT on the block that contains them.
117
164
  //
118
- // Both are the subject's own privacy DECISIONS — the lawful basis for processing and the
119
- // collection scope — held as closed vocabularies, so recording their before/after values on
120
- // `resource_operation_performed` is exactly the "mark what decides authority, never what
121
- // identifies a person" rule that governs the same decorator on `UserSchema`.
165
+ // The granted set is the subject's own privacy DECISION held as a closed vocabulary, so recording its
166
+ // before/after values on `resource_operation_performed` is exactly the "mark what decides authority,
167
+ // never what identifies a person" rule that governs the same decorator on `UserSchema`.
122
168
  //
123
169
  // Evidence is selected per leaf; the audit walker resolves the dotted path. Governed-document
124
170
  // interactions are separate immutable release-bound records and are never embedded in preferences.
125
171
  //
126
172
  // assurance-control: WILDO.PRIVACY.CONSENT_RECORD — a consent change is a security-relevant
127
- // decision and must leave a trail naming the previous and resulting value. Reached today by the
128
- // preferences RESET, the generic UPDATE, and `update_privacy`, all of which route through the
129
- // same emission point, so no verb can change consent without a record.
130
- dataProcessingConsent: z.enum(DataProcessingConsent).default(DataProcessingConsent.BASIC)
131
- .describe('The processing this person has agreed to. It is the subject\'s own decision and only they (or an administrator acting for them) change it. The application decides what each level permits — the framework stores the decision and records every change, it does not attach a fixed meaning to the levels.')
132
- .isAuditEvidence(),
133
- privacyLevel: z.enum(PrivacyLevel).default(PrivacyLevel.STANDARD)
134
- .describe('How much this person has agreed the application may collect about them, alongside the processing consent. The application decides what each level permits.')
173
+ // decision and must leave a trail naming the previous and resulting set. Reached by the consent
174
+ // gate and prompt, the self-service preferences RESET and self/admin UPDATE. UPDATE explicitly opts
175
+ // into audit emission below the risk floor; only marked decision leaves enter the evidence.
176
+ consentedPurposes: consentedPurposesField('this person')
135
177
  .isAuditEvidence(),
178
+ consentDecidedAt: consentDecidedAtField('this person'),
136
179
  });
137
180
  //# sourceMappingURL=privacy.shared.schemas.js.map