@wildo-ai/saas-models 1.1.5 → 1.1.7

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 (1295) hide show
  1. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  2. package/dist/esm/__tests__/setup.js.map +1 -1
  3. package/dist/esm/_inspect.d.ts.map +1 -1
  4. package/dist/esm/_inspect.js.map +1 -1
  5. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.js.map +1 -1
  7. package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
  8. package/dist/esm/applications/application-subject.shared.schemas.js.map +1 -1
  9. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
  10. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -1
  11. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
  12. package/dist/esm/applications/applications-context.schemas.d.ts +176 -2
  13. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  14. package/dist/esm/applications/applications-context.schemas.js.map +1 -1
  15. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  16. package/dist/esm/applications/applications.shared.resources-config.schemas.js +3 -2
  17. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  18. package/dist/esm/applications/applications.shared.schemas.d.ts +7 -5
  19. package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
  20. package/dist/esm/applications/applications.shared.schemas.js +6 -4
  21. package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
  22. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +10 -1
  23. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  24. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +49 -15
  25. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
  26. package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
  27. package/dist/esm/billing/billing-account.shared.schemas.js +2 -2
  28. package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
  29. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +25 -0
  30. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
  31. package/dist/esm/billing/billing-configuration.shared.schemas.js +19 -0
  32. package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
  33. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +27 -5
  34. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  35. package/dist/esm/billing/billing-enums.shared.schemas.js +30 -4
  36. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  37. package/dist/esm/billing/billing-types.shared.schemas.d.ts +37 -11
  38. package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
  39. package/dist/esm/billing/billing-types.shared.schemas.js +31 -19
  40. package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
  41. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +2 -0
  42. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
  43. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +18 -7
  44. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
  45. package/dist/esm/billing/credit-pool.shared.schemas.d.ts +2 -0
  46. package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/billing/credit-pool.shared.schemas.js +7 -1
  48. package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
  49. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
  50. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +6 -6
  51. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
  52. package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
  53. package/dist/esm/billing/invoice-ref.shared.schemas.js +1 -1
  54. package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
  55. package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
  56. package/dist/esm/billing/price.shared.resources-config.schemas.js.map +1 -1
  57. package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
  58. package/dist/esm/billing/price.shared.schemas.js +5 -3
  59. package/dist/esm/billing/price.shared.schemas.js.map +1 -1
  60. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts +11 -1
  61. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  62. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +39 -23
  63. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  64. package/dist/esm/billing/product-definition.shared.schemas.d.ts +30 -2
  65. package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
  66. package/dist/esm/billing/product-definition.shared.schemas.js +35 -0
  67. package/dist/esm/billing/product-definition.shared.schemas.js.map +1 -1
  68. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +6 -3
  69. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
  70. package/dist/esm/billing/product.shared.resources-config.schemas.js.map +1 -1
  71. package/dist/esm/billing/product.shared.schemas.d.ts +7 -3
  72. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  73. package/dist/esm/billing/product.shared.schemas.js +22 -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 +8 -8
  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/promotions.shared.schemas.js.map +1 -1
  80. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts +135 -0
  81. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -0
  82. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js +112 -0
  83. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -0
  84. package/dist/esm/billing/public-pricing-catalog.shared.d.ts +30 -0
  85. package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -0
  86. package/dist/esm/billing/public-pricing-catalog.shared.js +53 -0
  87. package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -0
  88. package/dist/esm/billing/referral-reward.shared.schemas.d.ts +51 -0
  89. package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -0
  90. package/dist/esm/billing/referral-reward.shared.schemas.js +92 -0
  91. package/dist/esm/billing/referral-reward.shared.schemas.js.map +1 -0
  92. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts +54 -33
  93. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
  94. package/dist/esm/billing/referral.shared.resources-config.schemas.js +56 -2
  95. package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
  96. package/dist/esm/billing/referral.shared.schemas.d.ts +22 -37
  97. package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
  98. package/dist/esm/billing/referral.shared.schemas.js +24 -44
  99. package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
  100. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +9 -1
  101. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
  102. package/dist/esm/billing/subscription.shared.resources-config.schemas.js +55 -22
  103. package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
  104. package/dist/esm/billing/subscription.shared.schemas.d.ts +80 -5
  105. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  106. package/dist/esm/billing/subscription.shared.schemas.js +85 -25
  107. package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
  108. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -1
  109. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -1
  110. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
  111. package/dist/esm/billing/usage-record.shared.resources-config.schemas.js.map +1 -1
  112. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  113. package/dist/esm/billing/usage-record.shared.schemas.js +5 -5
  114. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  115. package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
  116. package/dist/esm/charts/aggregation-query.shared.schemas.js.map +1 -1
  117. package/dist/esm/charts/aggregation.shared.definitions.d.ts.map +1 -1
  118. package/dist/esm/charts/aggregation.shared.definitions.js.map +1 -1
  119. package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
  120. package/dist/esm/charts/chart-definition-builder.shared.js.map +1 -1
  121. package/dist/esm/companion/artifact-placement.shared.definitions.d.ts.map +1 -1
  122. package/dist/esm/companion/artifact-placement.shared.definitions.js.map +1 -1
  123. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +143 -2
  124. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  125. package/dist/esm/companion/provider-discovery.shared.schemas.js +84 -1
  126. package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
  127. package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
  128. package/dist/esm/companion/shared-library-companion.shared.definitions.js.map +1 -1
  129. package/dist/esm/companion-exports.d.ts.map +1 -1
  130. package/dist/esm/companion-exports.js.map +1 -1
  131. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -1
  132. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  133. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +4 -0
  134. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
  135. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts +70 -0
  136. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
  137. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js +87 -0
  138. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
  139. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +34 -0
  140. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -1
  141. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +137 -3
  142. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -1
  143. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts +7 -0
  144. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
  145. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
  146. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +28 -2
  147. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  148. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +29 -8
  149. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
  150. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +29 -6
  151. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  152. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +38 -9
  153. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  154. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +1822 -146
  155. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  156. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +1777 -87
  157. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  158. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts +10 -0
  159. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  160. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +148 -7
  161. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  162. package/dist/esm/compliance/data-classification/data-classification.shared.schemas.d.ts.map +1 -1
  163. package/dist/esm/compliance/data-classification/data-classification.shared.schemas.js.map +1 -1
  164. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -1
  165. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -1
  166. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
  167. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
  168. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -1
  169. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -1
  170. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -1
  171. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -1
  172. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +2 -0
  173. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
  174. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +2 -0
  175. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
  176. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -1
  177. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -1
  178. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
  179. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js.map +1 -1
  180. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts.map +1 -1
  181. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -1
  182. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -1
  183. package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -1
  184. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +17 -8
  185. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -1
  186. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +43 -20
  187. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -1
  188. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
  189. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.js.map +1 -1
  190. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +38 -0
  191. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
  192. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +39 -0
  193. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
  194. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts +35 -0
  195. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -0
  196. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js +82 -0
  197. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -0
  198. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts +37 -0
  199. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -0
  200. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js +223 -0
  201. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -0
  202. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts +222 -0
  203. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -0
  204. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js +331 -0
  205. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -0
  206. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
  207. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
  208. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +37 -3
  209. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  210. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +33 -4
  211. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
  212. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
  213. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.js.map +1 -1
  214. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
  215. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.js.map +1 -1
  216. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  217. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  218. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts +52 -0
  219. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -0
  220. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js +116 -0
  221. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -0
  222. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts +11 -0
  223. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -0
  224. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js +11 -0
  225. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -0
  226. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
  227. package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
  228. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts +93 -0
  229. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -0
  230. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js +149 -0
  231. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -0
  232. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts +43 -0
  233. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -0
  234. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js +106 -0
  235. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -0
  236. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +209 -0
  237. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -0
  238. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js +226 -0
  239. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -0
  240. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts +129 -5
  241. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
  242. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js +128 -4
  243. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
  244. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts +53 -0
  245. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -0
  246. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js +74 -0
  247. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -0
  248. package/dist/esm/compliance/privacy/sharing.shared.schemas.d.ts.map +1 -1
  249. package/dist/esm/compliance/privacy/sharing.shared.schemas.js.map +1 -1
  250. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts +311 -0
  251. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -0
  252. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js +355 -0
  253. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -0
  254. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -1
  255. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -1
  256. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +178 -39
  257. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
  258. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +145 -35
  259. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
  260. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
  261. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js +26 -0
  262. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
  263. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts +9 -0
  264. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
  265. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
  266. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -1
  267. package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -1
  268. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -1
  269. package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -1
  270. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  271. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  272. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +109 -1
  273. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  274. package/dist/esm/config/app-configuration-shared.shared.schemas.js +57 -0
  275. package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
  276. package/dist/esm/config/app-frontend-type.shared.schemas.d.ts.map +1 -1
  277. package/dist/esm/config/app-frontend-type.shared.schemas.js.map +1 -1
  278. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  279. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  280. package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
  281. package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
  282. package/dist/esm/config/configuration-validation.shared.schemas.d.ts.map +1 -1
  283. package/dist/esm/config/configuration-validation.shared.schemas.js.map +1 -1
  284. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +69 -0
  285. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  286. package/dist/esm/config/entity-identity-config.shared.schemas.js +93 -0
  287. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  288. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +16 -16
  289. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
  290. package/dist/esm/config/frontend/chart-definition.shared.schemas.js.map +1 -1
  291. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
  292. package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
  293. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +160 -61
  294. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  295. package/dist/esm/config/frontend/navigation.shared.schemas.js +297 -65
  296. package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
  297. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
  298. package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
  299. package/dist/esm/config/postgresql.shared.schemas.d.ts.map +1 -1
  300. package/dist/esm/config/postgresql.shared.schemas.js.map +1 -1
  301. package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
  302. package/dist/esm/config/registration-acquisition-policy.shared.utils.js.map +1 -1
  303. package/dist/esm/config-authoring.entry.d.ts.map +1 -1
  304. package/dist/esm/config-authoring.entry.js.map +1 -1
  305. package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
  306. package/dist/esm/crdt/crdt-merge.shared.utils.js.map +1 -1
  307. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
  308. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.js.map +1 -1
  309. package/dist/esm/errors/caught-error-description.shared.utils.d.ts +69 -0
  310. package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -0
  311. package/dist/esm/errors/caught-error-description.shared.utils.js +77 -0
  312. package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -0
  313. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +76 -3
  314. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  315. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +76 -2
  316. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  317. package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
  318. package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
  319. package/dist/esm/errors/errors.shared.schemas.d.ts +20 -1
  320. package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
  321. package/dist/esm/errors/errors.shared.schemas.js +16 -9
  322. package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
  323. package/dist/esm/errors/errors.shared.utils.d.ts +0 -24
  324. package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
  325. package/dist/esm/errors/errors.shared.utils.js +0 -39
  326. package/dist/esm/errors/errors.shared.utils.js.map +1 -1
  327. package/dist/esm/errors/resource-access-forbidden.shared.error.d.ts.map +1 -1
  328. package/dist/esm/errors/resource-access-forbidden.shared.error.js.map +1 -1
  329. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +6 -7
  330. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -1
  331. package/dist/esm/errors/thrown-value-description.shared.utils.js +6 -7
  332. package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -1
  333. package/dist/esm/errors/zod-issue-formatting.shared.utils.d.ts.map +1 -1
  334. package/dist/esm/errors/zod-issue-formatting.shared.utils.js.map +1 -1
  335. package/dist/esm/exports/tabular-csv.shared.utils.d.ts.map +1 -1
  336. package/dist/esm/exports/tabular-csv.shared.utils.js.map +1 -1
  337. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts +70 -0
  338. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -0
  339. package/dist/esm/external-data/external-data-pipeline-description.shared.js +92 -0
  340. package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -0
  341. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts +154 -0
  342. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -0
  343. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js +161 -0
  344. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -0
  345. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +1071 -23
  346. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  347. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js +1065 -17
  348. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  349. package/dist/esm/external-data/external-data-provenance.shared.d.ts +71 -0
  350. package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -0
  351. package/dist/esm/external-data/external-data-provenance.shared.js +88 -0
  352. package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -0
  353. package/dist/esm/external-data.exports.d.ts +5 -0
  354. package/dist/esm/external-data.exports.d.ts.map +1 -1
  355. package/dist/esm/external-data.exports.js +11 -0
  356. package/dist/esm/external-data.exports.js.map +1 -1
  357. package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
  358. package/dist/esm/external-providers/compose-provider-registry.shared.js.map +1 -1
  359. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +17 -2
  360. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  361. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +22 -4
  362. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  363. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  364. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +3 -0
  365. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  366. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -1
  367. package/dist/esm/external-providers/engine-capability-surface.shared.js +2 -0
  368. package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -1
  369. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
  370. package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
  371. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +152 -1
  372. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  373. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.js.map +1 -1
  374. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +4 -3
  375. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
  376. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +4 -3
  377. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
  378. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +45 -0
  379. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
  380. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +14 -0
  381. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
  382. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +188 -4
  383. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  384. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +76 -9
  385. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  386. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +175 -33
  387. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
  388. package/dist/esm/external-providers/frontend-provider-public-config.shared.js +247 -42
  389. package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
  390. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts +53 -0
  391. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -0
  392. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js +41 -0
  393. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -0
  394. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts +150 -0
  395. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -0
  396. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js +22 -0
  397. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -0
  398. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts +42 -0
  399. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -0
  400. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js +49 -0
  401. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -0
  402. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -1
  403. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -1
  404. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +53 -0
  405. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -1
  406. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +56 -0
  407. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -1
  408. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +34 -0
  409. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  410. package/dist/esm/external-providers/provider-capability.shared.schemas.js +34 -0
  411. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  412. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +341 -4
  413. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  414. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +270 -20
  415. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  416. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +6 -2
  417. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -1
  418. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +6 -2
  419. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
  420. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +174 -1
  421. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
  422. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +125 -0
  423. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
  424. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +3 -3
  425. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  426. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  427. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts +42 -0
  428. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -0
  429. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js +57 -0
  430. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -0
  431. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +6 -0
  432. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
  433. package/dist/esm/external-providers/provider-protocol.shared.schemas.js +6 -0
  434. package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
  435. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts +58 -0
  436. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -0
  437. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js +35 -0
  438. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -0
  439. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts +115 -0
  440. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -0
  441. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js +137 -0
  442. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -0
  443. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -1
  444. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -1
  445. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts +73 -0
  446. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -0
  447. package/dist/esm/external-providers/provider-usage-cost.shared.js +171 -0
  448. package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -0
  449. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts +12 -0
  450. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -0
  451. package/dist/esm/external-providers/provider-usage-pricing.example.js +40 -0
  452. package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -0
  453. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts +68 -32
  454. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
  455. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js +63 -52
  456. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
  457. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +5 -5
  458. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
  459. package/dist/esm/features/application-features.shared.resources-config.schemas.js +13 -5
  460. package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
  461. package/dist/esm/features/connected-feature.example.d.ts.map +1 -1
  462. package/dist/esm/features/connected-feature.example.js +2 -1
  463. package/dist/esm/features/connected-feature.example.js.map +1 -1
  464. package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
  465. package/dist/esm/features/core-feature-definitions.shared.js +2 -1
  466. package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
  467. package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
  468. package/dist/esm/features/feature-builders.shared.js.map +1 -1
  469. package/dist/esm/features/feature-definition.shared.schemas.d.ts +2 -11
  470. package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
  471. package/dist/esm/features/feature-definition.shared.schemas.js +0 -12
  472. package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
  473. package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
  474. package/dist/esm/features/feature-registry.shared.js.map +1 -1
  475. package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
  476. package/dist/esm/features/feature-resolution.shared.schemas.js.map +1 -1
  477. package/dist/esm/features/scope-features.shared.schemas.d.ts +31 -17
  478. package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
  479. package/dist/esm/features/scope-features.shared.schemas.js +27 -5
  480. package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
  481. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +5 -5
  482. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  483. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  484. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -1
  485. package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -1
  486. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
  487. package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
  488. package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
  489. package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
  490. package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
  491. package/dist/esm/files/files.shared.schemas.js.map +1 -1
  492. package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
  493. package/dist/esm/files/files.shared.utils.js.map +1 -1
  494. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  495. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.js.map +1 -1
  496. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
  497. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.js.map +1 -1
  498. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
  499. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.js.map +1 -1
  500. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
  501. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.js.map +1 -1
  502. package/dist/esm/flows-actors/actors.shared.schemas.d.ts +127 -11
  503. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  504. package/dist/esm/flows-actors/actors.shared.schemas.js +32 -1
  505. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  506. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +16 -0
  507. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
  508. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js +7 -0
  509. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
  510. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts +68 -0
  511. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -0
  512. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js +276 -0
  513. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -0
  514. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts +468 -0
  515. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -0
  516. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js +472 -0
  517. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -0
  518. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +2 -2
  519. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  520. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  521. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts +118 -0
  522. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -0
  523. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js +144 -0
  524. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -0
  525. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  526. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  527. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.map +1 -1
  528. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -1
  529. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
  530. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.js.map +1 -1
  531. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +142 -8
  532. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  533. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +209 -11
  534. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  535. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
  536. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.js.map +1 -1
  537. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
  538. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.js.map +1 -1
  539. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +37 -2
  540. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  541. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +30 -2
  542. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  543. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts +0 -11
  544. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
  545. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +12 -5
  546. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
  547. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +45 -6
  548. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
  549. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +31 -5
  550. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
  551. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
  552. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +30 -30
  553. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
  554. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
  555. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.js.map +1 -1
  556. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +15 -7
  557. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  558. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  559. package/dist/esm/flows-actors/flows.shared.schemas.d.ts +15 -0
  560. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  561. package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
  562. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +506 -0
  563. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -1
  564. package/dist/esm/flows-actors/human-decision.shared.schemas.js +502 -0
  565. package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -1
  566. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
  567. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
  568. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts +46 -0
  569. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -0
  570. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js +65 -0
  571. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -0
  572. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts +120 -0
  573. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -0
  574. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js +165 -0
  575. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -0
  576. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts +45 -0
  577. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -0
  578. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js +127 -0
  579. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -0
  580. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts +83 -0
  581. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -0
  582. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js +97 -0
  583. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -0
  584. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts +136 -0
  585. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -0
  586. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js +90 -0
  587. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -0
  588. package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
  589. package/dist/esm/flows-actors/prompt-ir.shared.schemas.js.map +1 -1
  590. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +5 -1
  591. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -1
  592. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +19 -4
  593. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -1
  594. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +13 -15
  595. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -1
  596. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +30 -17
  597. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -1
  598. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts +268 -0
  599. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -0
  600. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js +576 -0
  601. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -0
  602. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +30 -0
  603. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
  604. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
  605. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts +129 -0
  606. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -0
  607. package/dist/esm/flows-actors/work-attribution.shared.schemas.js +141 -0
  608. package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -0
  609. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts +22 -1
  610. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
  611. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js +23 -0
  612. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
  613. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +61 -0
  614. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
  615. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +61 -0
  616. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
  617. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
  618. package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
  619. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
  620. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.js.map +1 -1
  621. package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
  622. package/dist/esm/guidance/guidance-state.shared.schemas.js +11 -10
  623. package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
  624. package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
  625. package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
  626. package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
  627. package/dist/esm/guidance/lifecycle-config.shared.schemas.js.map +1 -1
  628. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
  629. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.js.map +1 -1
  630. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  631. package/dist/esm/guidance/lifecycle-state.shared.schemas.js +6 -6
  632. package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
  633. package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
  634. package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
  635. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
  636. package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
  637. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -1
  638. package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -1
  639. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  640. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.js.map +1 -1
  641. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  642. package/dist/esm/guidance/progression-state.shared.schemas.js +8 -7
  643. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  644. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
  645. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +1 -1
  646. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
  647. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +550 -30
  648. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  649. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +498 -34
  650. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  651. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts +62 -0
  652. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -0
  653. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js +66 -0
  654. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -0
  655. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts +133 -0
  656. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -0
  657. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js +191 -0
  658. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -0
  659. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +37 -6
  660. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -1
  661. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +37 -6
  662. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -1
  663. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -1
  664. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -1
  665. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts +36 -0
  666. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -0
  667. package/dist/esm/i18n/application-config-vocabulary.shared.js +39 -0
  668. package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -0
  669. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts +11 -0
  670. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -0
  671. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js +14 -0
  672. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -0
  673. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts +20 -0
  674. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -0
  675. package/dist/esm/i18n/engine-open-vocabulary.shared.js +21 -0
  676. package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -0
  677. package/dist/esm/i18n/interpolate-label-params.shared.utils.d.ts.map +1 -1
  678. package/dist/esm/i18n/interpolate-label-params.shared.utils.js.map +1 -1
  679. package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
  680. package/dist/esm/i18n/labelling.dto.shared.schemas.js.map +1 -1
  681. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts +94 -0
  682. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -0
  683. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js +206 -0
  684. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -0
  685. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts +169 -0
  686. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -0
  687. package/dist/esm/inbound/conversation-threads.shared.schemas.js +231 -0
  688. package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -0
  689. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts +195 -0
  690. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -0
  691. package/dist/esm/inbound/inbound-channels.shared.schemas.js +244 -0
  692. package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -0
  693. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts +36 -0
  694. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -0
  695. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js +169 -0
  696. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -0
  697. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts +404 -0
  698. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -0
  699. package/dist/esm/inbound/inbound-delivery.shared.schemas.js +449 -0
  700. package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -0
  701. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts +46 -0
  702. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -0
  703. package/dist/esm/inbound/inbound-endpoint-env.shared.js +57 -0
  704. package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -0
  705. package/dist/esm/index.d.ts +58 -1
  706. package/dist/esm/index.d.ts.map +1 -1
  707. package/dist/esm/index.js +67 -1
  708. package/dist/esm/index.js.map +1 -1
  709. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -1
  710. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -1
  711. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -1
  712. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -1
  713. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -1
  714. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -1
  715. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
  716. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
  717. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +28 -0
  718. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
  719. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js +29 -0
  720. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
  721. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +95 -1
  722. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -1
  723. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +121 -0
  724. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -1
  725. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -1
  726. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -1
  727. package/dist/esm/meta-workflows.exports.d.ts +0 -1
  728. package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
  729. package/dist/esm/meta-workflows.exports.js +0 -1
  730. package/dist/esm/meta-workflows.exports.js.map +1 -1
  731. package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
  732. package/dist/esm/monitoring/monitoring.shared.schemas.js.map +1 -1
  733. package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
  734. package/dist/esm/notifications/email/email-context.shared.schemas.js.map +1 -1
  735. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -1
  736. package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -1
  737. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +7 -1
  738. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  739. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js +35 -0
  740. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  741. package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
  742. package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
  743. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts +131 -0
  744. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -0
  745. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js +258 -0
  746. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -0
  747. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts +448 -0
  748. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -0
  749. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js +530 -0
  750. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -0
  751. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
  752. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.js.map +1 -1
  753. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  754. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js +4 -3
  755. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
  756. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
  757. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js.map +1 -1
  758. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +16 -1
  759. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  760. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +46 -16
  761. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  762. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +19 -12
  763. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
  764. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +77 -12
  765. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
  766. package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
  767. package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
  768. package/dist/esm/notifications/notification-badges.schemas.d.ts +35 -3
  769. package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
  770. package/dist/esm/notifications/notification-badges.schemas.js +43 -3
  771. package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
  772. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  773. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
  774. package/dist/esm/notifications/notifications.shared.schemas.d.ts +66 -399
  775. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  776. package/dist/esm/notifications/notifications.shared.schemas.js +111 -58
  777. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  778. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -1
  779. package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -1
  780. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +5 -5
  781. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
  782. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +6 -6
  783. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
  784. package/dist/esm/organizations/organization-features.shared.schemas.d.ts.map +1 -1
  785. package/dist/esm/organizations/organization-features.shared.schemas.js.map +1 -1
  786. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +3 -0
  787. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  788. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +60 -14
  789. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
  790. package/dist/esm/organizations/organization-members.shared.schemas.d.ts +3 -0
  791. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  792. package/dist/esm/organizations/organization-members.shared.schemas.js +30 -0
  793. package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
  794. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
  795. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.js.map +1 -1
  796. package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
  797. package/dist/esm/organizations/organization-notifications.shared.schemas.js +9 -9
  798. package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
  799. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  800. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.js.map +1 -1
  801. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  802. package/dist/esm/organizations/organization-preferences.shared.schemas.js +4 -4
  803. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  804. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts +0 -1
  805. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
  806. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.js.map +1 -1
  807. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +5 -5
  808. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  809. package/dist/esm/organizations/organization-profile.shared.schemas.js +15 -10
  810. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  811. package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
  812. package/dist/esm/organizations/organization-unit-inheritance.shared.js.map +1 -1
  813. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
  814. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js +1 -1
  815. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
  816. package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
  817. package/dist/esm/organizations/organization-unit-members.shared.schemas.js +2 -1
  818. package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
  819. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts +63 -1
  820. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
  821. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js +106 -5
  822. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
  823. package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
  824. package/dist/esm/organizations/organization-unit-narrowing.example.js.map +1 -1
  825. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  826. package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -0
  827. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  828. package/dist/esm/organizations/organization-units.shared.path.d.ts.map +1 -1
  829. package/dist/esm/organizations/organization-units.shared.path.js.map +1 -1
  830. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
  831. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js +7 -2
  832. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
  833. package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
  834. package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
  835. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +3 -1
  836. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  837. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +12 -8
  838. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  839. package/dist/esm/organizations/organizations.shared.schemas.d.ts +7 -2
  840. package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
  841. package/dist/esm/organizations/organizations.shared.schemas.js +51 -1
  842. package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
  843. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts +58 -0
  844. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -0
  845. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js +188 -0
  846. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -0
  847. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts +122 -0
  848. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -0
  849. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js +136 -0
  850. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -0
  851. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts +36 -0
  852. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -0
  853. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js +155 -0
  854. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -0
  855. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts +229 -0
  856. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -0
  857. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js +290 -0
  858. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -0
  859. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts +48 -0
  860. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -0
  861. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js +50 -0
  862. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -0
  863. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts +97 -0
  864. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -0
  865. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js +572 -0
  866. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -0
  867. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts +590 -0
  868. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -0
  869. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js +869 -0
  870. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -0
  871. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +36 -6
  872. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
  873. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +57 -16
  874. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
  875. package/dist/esm/provider-registration-runtime.exports.d.ts +0 -1
  876. package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
  877. package/dist/esm/provider-registration-runtime.exports.js +0 -1
  878. package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
  879. package/dist/esm/public-runtime/index.d.ts +30 -11
  880. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  881. package/dist/esm/public-runtime/index.js +30 -11
  882. package/dist/esm/public-runtime/index.js.map +1 -1
  883. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  884. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  885. package/dist/esm/queue/jobs.shared.schemas.d.ts +30 -2
  886. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  887. package/dist/esm/queue/jobs.shared.schemas.js +12 -0
  888. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  889. package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
  890. package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
  891. package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
  892. package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
  893. package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
  894. package/dist/esm/queue/queues.shared.utils.js.map +1 -1
  895. package/dist/esm/queue/rabbitmq-queue-args.shared.d.ts.map +1 -1
  896. package/dist/esm/queue/rabbitmq-queue-args.shared.js.map +1 -1
  897. package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -1
  898. package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -1
  899. package/dist/esm/requests/header-keys.shared.d.ts +6 -0
  900. package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
  901. package/dist/esm/requests/header-keys.shared.js +7 -0
  902. package/dist/esm/requests/header-keys.shared.js.map +1 -1
  903. package/dist/esm/requests/http-requests.shared.d.ts.map +1 -1
  904. package/dist/esm/requests/http-requests.shared.js.map +1 -1
  905. package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -1
  906. package/dist/esm/requests/idempotency-key.shared.js.map +1 -1
  907. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
  908. package/dist/esm/requests/manual-controllers-routes-documentation.js +147 -8
  909. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
  910. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +51 -23
  911. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  912. package/dist/esm/requests/manual-controllers-routes-urls.js +64 -0
  913. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  914. package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
  915. package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
  916. package/dist/esm/requests/websocket.shared.schemas.d.ts +78 -13
  917. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  918. package/dist/esm/requests/websocket.shared.schemas.js +91 -18
  919. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  920. package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
  921. package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
  922. package/dist/esm/resources/collection-query-parameters.shared.d.ts.map +1 -1
  923. package/dist/esm/resources/collection-query-parameters.shared.js.map +1 -1
  924. package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
  925. package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
  926. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts +21 -0
  927. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -0
  928. package/dist/esm/resources/embedded-resource-mark.shared.utils.js +22 -0
  929. package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -0
  930. package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
  931. package/dist/esm/resources/relationship-display.shared.schemas.js.map +1 -1
  932. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  933. package/dist/esm/resources/resources-config.shared.factory.js +812 -32
  934. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  935. package/dist/esm/resources/resources-config.shared.schemas.d.ts +244 -48
  936. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  937. package/dist/esm/resources/resources-config.shared.schemas.js +151 -17
  938. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  939. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  940. package/dist/esm/resources/resources-registry.shared.core.definitions.js +369 -12
  941. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  942. package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
  943. package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
  944. package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
  945. package/dist/esm/resources/resources-serialization.shared.schemas.js.map +1 -1
  946. package/dist/esm/resources/resources.shared.core.definitions.d.ts +45 -0
  947. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  948. package/dist/esm/resources/resources.shared.core.definitions.js +92 -0
  949. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  950. package/dist/esm/resources/resources.shared.schemas.d.ts +2 -17
  951. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  952. package/dist/esm/resources/resources.shared.schemas.js +24 -20
  953. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  954. package/dist/esm/resources/resources.shared.utils.d.ts +16 -8
  955. package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
  956. package/dist/esm/resources/resources.shared.utils.js +16 -8
  957. package/dist/esm/resources/resources.shared.utils.js.map +1 -1
  958. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts +2 -2
  959. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
  960. package/dist/esm/resources/utils/collection-export.shared.utils.js +4 -2
  961. package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
  962. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
  963. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
  964. package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
  965. package/dist/esm/resources/utils/composition-seedability.validation.js.map +1 -1
  966. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
  967. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.js.map +1 -1
  968. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -1
  969. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -1
  970. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
  971. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.js.map +1 -1
  972. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -1
  973. package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -1
  974. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts +103 -0
  975. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -0
  976. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js +275 -0
  977. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -0
  978. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -1
  979. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -1
  980. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts +51 -0
  981. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -0
  982. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js +28 -0
  983. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -0
  984. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
  985. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.js.map +1 -1
  986. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -1
  987. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +30 -19
  988. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -1
  989. package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
  990. package/dist/esm/resources/utils/repository-dto-builder.utils.js.map +1 -1
  991. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts +2 -0
  992. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -0
  993. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js +33 -0
  994. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -0
  995. package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
  996. package/dist/esm/resources/utils/required-fk-fillability.validation.js.map +1 -1
  997. package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
  998. package/dist/esm/resources/utils/resource-operation-type-guards.utils.js.map +1 -1
  999. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts +15 -0
  1000. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
  1001. package/dist/esm/resources/utils/resource-polymorphism.factory.js +6 -1
  1002. package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
  1003. package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
  1004. package/dist/esm/resources/utils/resource-polymorphism.relationships.js.map +1 -1
  1005. package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
  1006. package/dist/esm/resources/utils/resource-polymorphism.schemas.js +30 -4
  1007. package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
  1008. package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
  1009. package/dist/esm/resources/utils/resource-polymorphism.utils.js.map +1 -1
  1010. package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
  1011. package/dist/esm/resources/utils/resource-subtree.utils.js.map +1 -1
  1012. package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
  1013. package/dist/esm/resources/utils/resources-config-context-needs.utils.js.map +1 -1
  1014. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
  1015. package/dist/esm/resources/utils/resources-config-naming.utils.js.map +1 -1
  1016. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +46 -0
  1017. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  1018. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +205 -22
  1019. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
  1020. package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
  1021. package/dist/esm/resources/utils/resources-config-operations.path.utils.js.map +1 -1
  1022. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
  1023. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js.map +1 -1
  1024. package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
  1025. package/dist/esm/resources/utils/resources-config-operations.utils.js.map +1 -1
  1026. package/dist/esm/resources/utils/resources-serialization.utils.d.ts +19 -2
  1027. package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
  1028. package/dist/esm/resources/utils/resources-serialization.utils.js +4 -0
  1029. package/dist/esm/resources/utils/resources-serialization.utils.js.map +1 -1
  1030. package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
  1031. package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
  1032. package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
  1033. package/dist/esm/resources/utils/schema-family-builder.utils.js.map +1 -1
  1034. package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
  1035. package/dist/esm/resources/utils/schema-type-inference.utils.js.map +1 -1
  1036. package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
  1037. package/dist/esm/resources/utils/schema-type-utils.js.map +1 -1
  1038. package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
  1039. package/dist/esm/resources/utils/schema-variant-resolver.utils.js.map +1 -1
  1040. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  1041. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +15 -9
  1042. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  1043. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
  1044. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js.map +1 -1
  1045. package/dist/esm/resources/work-unit.shared.schemas.d.ts +20 -0
  1046. package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -0
  1047. package/dist/esm/resources/work-unit.shared.schemas.js +19 -0
  1048. package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -0
  1049. package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
  1050. package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
  1051. package/dist/esm/runtime/execution-context.shared.schemas.d.ts +48 -1
  1052. package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
  1053. package/dist/esm/runtime/execution-context.shared.schemas.js +101 -9
  1054. package/dist/esm/runtime/execution-context.shared.schemas.js.map +1 -1
  1055. package/dist/esm/runtime/runtime.shared.schemas.d.ts.map +1 -1
  1056. package/dist/esm/runtime/runtime.shared.schemas.js.map +1 -1
  1057. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
  1058. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  1059. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +37 -20
  1060. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  1061. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
  1062. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1063. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +61 -48
  1064. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  1065. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts +26 -0
  1066. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
  1067. package/dist/esm/security/api-keys/api-keys.shared.schemas.js +39 -5
  1068. package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
  1069. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
  1070. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.js.map +1 -1
  1071. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -3
  1072. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  1073. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +6 -0
  1074. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  1075. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  1076. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  1077. package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
  1078. package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -1
  1079. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  1080. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  1081. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
  1082. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js.map +1 -1
  1083. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.d.ts.map +1 -1
  1084. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.js.map +1 -1
  1085. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -1
  1086. package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -1
  1087. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
  1088. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.js.map +1 -1
  1089. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  1090. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  1091. package/dist/esm/security/authentications/same-origin-redirect-path.shared.d.ts.map +1 -1
  1092. package/dist/esm/security/authentications/same-origin-redirect-path.shared.js.map +1 -1
  1093. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
  1094. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +2 -2
  1095. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
  1096. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts +11 -0
  1097. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
  1098. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +19 -8
  1099. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
  1100. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +1 -1
  1101. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  1102. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +5 -5
  1103. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  1104. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
  1105. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +11 -11
  1106. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
  1107. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts +2 -0
  1108. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
  1109. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js +9 -0
  1110. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
  1111. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts +169 -0
  1112. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -0
  1113. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js +162 -0
  1114. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js.map +1 -0
  1115. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
  1116. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js +10 -8
  1117. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
  1118. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
  1119. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.js.map +1 -1
  1120. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -1
  1121. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -1
  1122. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -1
  1123. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -1
  1124. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
  1125. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
  1126. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
  1127. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js.map +1 -1
  1128. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
  1129. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +8 -8
  1130. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -1
  1131. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  1132. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +17 -16
  1133. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  1134. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  1135. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +28 -25
  1136. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  1137. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts +17 -6
  1138. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
  1139. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js +90 -38
  1140. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
  1141. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +0 -24
  1142. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  1143. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +79 -68
  1144. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  1145. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +8 -1
  1146. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
  1147. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +7 -0
  1148. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
  1149. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1150. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +1 -1
  1151. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
  1152. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -1
  1153. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -1
  1154. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1155. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +7 -7
  1156. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
  1157. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  1158. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  1159. package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
  1160. package/dist/esm/security/authorizations/roles.shared.defaults.js +56 -0
  1161. package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
  1162. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +77 -1
  1163. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  1164. package/dist/esm/security/authorizations/roles.shared.schemas.js +90 -0
  1165. package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
  1166. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  1167. package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
  1168. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts +86 -0
  1169. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -0
  1170. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js +40 -0
  1171. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -0
  1172. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +2 -1
  1173. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1174. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +2 -1
  1175. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
  1176. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +2 -1
  1177. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
  1178. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +2 -1
  1179. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
  1180. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +46 -14
  1181. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
  1182. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +81 -21
  1183. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
  1184. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts +69 -0
  1185. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -0
  1186. package/dist/esm/security/credential-rotation-grace.shared.utils.js +77 -0
  1187. package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -0
  1188. package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.d.ts.map +1 -1
  1189. package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.js.map +1 -1
  1190. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  1191. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +28 -8
  1192. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  1193. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +3 -1
  1194. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1195. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +89 -14
  1196. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  1197. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +1 -0
  1198. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
  1199. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +25 -4
  1200. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
  1201. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1202. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.js.map +1 -1
  1203. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
  1204. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
  1205. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
  1206. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.js.map +1 -1
  1207. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +7 -1
  1208. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -1
  1209. package/dist/esm/security/outbound-target-control.shared.schemas.js +6 -0
  1210. package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -1
  1211. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts +143 -0
  1212. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -0
  1213. package/dist/esm/security/submission-challenge/submission-challenge.shared.js +123 -0
  1214. package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -0
  1215. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts +384 -0
  1216. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -0
  1217. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js +327 -0
  1218. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -0
  1219. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -1
  1220. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -1
  1221. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +121 -8
  1222. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -1
  1223. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +83 -4
  1224. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -1
  1225. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -1
  1226. package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -1
  1227. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +266 -8
  1228. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -1
  1229. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +291 -7
  1230. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -1
  1231. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +313 -3
  1232. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -1
  1233. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +369 -3
  1234. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -1
  1235. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -1
  1236. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +2 -1
  1237. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -1
  1238. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -1
  1239. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -1
  1240. package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
  1241. package/dist/esm/testing/resource-config-builders.js.map +1 -1
  1242. package/dist/esm/testing.d.ts.map +1 -1
  1243. package/dist/esm/testing.js.map +1 -1
  1244. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
  1245. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js.map +1 -1
  1246. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +5 -3
  1247. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
  1248. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +19 -10
  1249. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
  1250. package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
  1251. package/dist/esm/users/anonymous-users.shared.schema.js.map +1 -1
  1252. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  1253. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +6 -0
  1254. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
  1255. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  1256. package/dist/esm/users/inbound-contacts.shared.schemas.js.map +1 -1
  1257. package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -1
  1258. package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -1
  1259. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
  1260. package/dist/esm/users/user-credentials.shared.resources-config.schemas.js.map +1 -1
  1261. package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
  1262. package/dist/esm/users/user-credentials.shared.schemas.js.map +1 -1
  1263. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  1264. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.js.map +1 -1
  1265. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  1266. package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
  1267. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
  1268. package/dist/esm/users/user-preferences-reset.shared.utils.js +2 -2
  1269. package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
  1270. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +0 -3
  1271. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1272. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
  1273. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1274. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
  1275. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +0 -3
  1276. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1277. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
  1278. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1279. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.js.map +1 -1
  1280. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  1281. package/dist/esm/users/user-self.shared.resources-config.schemas.js +1 -1
  1282. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  1283. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  1284. package/dist/esm/users/users.shared.resources-config.schemas.js +82 -20
  1285. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  1286. package/dist/esm/users/users.shared.schemas.d.ts +12 -9
  1287. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  1288. package/dist/esm/users/users.shared.schemas.js +49 -18
  1289. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  1290. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1291. package/package.json +4 -4
  1292. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts +0 -8
  1293. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -1
  1294. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js +0 -7
  1295. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -1
@@ -0,0 +1,275 @@
1
+ /**
2
+ * The authoring contract of a WRITABLE read-through resource (#1679) — what a resource must declare
3
+ * before the engine will send a create, update or delete to a system of record it does not own.
4
+ *
5
+ * Checked in the resource FACTORY, at authoring, because every rule here is decidable from the one
6
+ * file an author is writing: the binding, the operation list and the schema. What is NOT decidable
7
+ * here — the instance's partition field, whether the dialect implements writes — needs the saas
8
+ * configuration and the engine's dialect registry, so it is checked at boot registration instead.
9
+ *
10
+ * Every refusal names the fix. A write door into somebody else's ERP is the declaration where a
11
+ * silently-accepted mistake costs the most, because the mistake is made against data the platform
12
+ * cannot restore.
13
+ */
14
+ import { getZodObjectShape, isExcludedFromCreate, isExcludedFromUpdate, isZodObject, unwrapSchema } from '@wildo-ai/zod-decorators';
15
+ import { HttpApiWriteConcurrencyMode, HttpApiWriteVerb, } from '../../http-api-binding/http-api-binding.shared.schemas.js';
16
+ import { ResourceOperationIdempotencyKeyRequirement } from '../../requests/idempotency-key.shared.js';
17
+ import { CoreResourceOperation } from '../resources.shared.core.definitions.js';
18
+ import { ResourceOperation_ServiceRuntimeMode } from '../resources.shared.schemas.js';
19
+ /**
20
+ * The core operation each opened verb reaches, and the only three a read-through resource may write
21
+ * through. Total over {@link HttpApiWriteVerb}, so a fourth verb is a compile error here until
22
+ * somebody decides which operation it is.
23
+ */
24
+ export const HTTP_API_WRITE_VERB_CORE_OPERATION = Object.freeze({
25
+ [HttpApiWriteVerb.CREATE]: CoreResourceOperation.CREATE,
26
+ [HttpApiWriteVerb.UPDATE]: CoreResourceOperation.UPDATE,
27
+ [HttpApiWriteVerb.DELETE]: CoreResourceOperation.DELETE,
28
+ });
29
+ /**
30
+ * The write verb a core operation IS on a read-through resource, or `undefined` for a read.
31
+ *
32
+ * The one mapping both the authoring check and the repository's dispatch read, so the two cannot
33
+ * disagree about whether an operation is a write.
34
+ */
35
+ export function resolveHttpApiWriteVerb(coreOperation) {
36
+ for (const [verb, operation] of Object.entries(HTTP_API_WRITE_VERB_CORE_OPERATION)) {
37
+ if (operation === coreOperation)
38
+ return verb;
39
+ }
40
+ return undefined;
41
+ }
42
+ /**
43
+ * The BULK write operations, refused on a read-through resource whatever the binding opens.
44
+ *
45
+ * A bulk write against a system the platform does not own is N remote calls with no atomicity: any
46
+ * of them can fail after the earlier ones landed, and there is no transaction to roll back into. The
47
+ * engine opens single-row writes only, which is what an author can reason about one row at a time.
48
+ */
49
+ const BULK_WRITE_OPERATIONS = new Set([
50
+ CoreResourceOperation.CREATE_MANY,
51
+ CoreResourceOperation.UPDATE_MANY,
52
+ CoreResourceOperation.DELETE_MANY,
53
+ ]);
54
+ /**
55
+ * Reduce the authored operation declarations to {@link HttpApiWriteOperationFacts}.
56
+ *
57
+ * Enumerated by EFFECTIVE semantics, the way the pipeline's CLOSED-population rule enumerates
58
+ * creates: a core operation is its own semantics, a custom one borrows them per variant through
59
+ * `resourceOperationLike`, and both sources are unioned because neither sees the other's members.
60
+ * A custom operation that borrows UPDATE is exactly how an author would write a remote "confirm"
61
+ * without thinking of it as a write — so it is a write here too.
62
+ */
63
+ export function collectHttpApiWriteOperationFacts(coreOperations, operationsConfiguration) {
64
+ const facts = new Map();
65
+ for (const operation of coreOperations) {
66
+ facts.set(String(operation), { operationKey: String(operation), effectiveOperations: [operation], variants: [] });
67
+ }
68
+ for (const [operationKey, operationConfig] of Object.entries(operationsConfiguration ?? {})) {
69
+ const config = (operationConfig ?? {});
70
+ const variants = config.variants ?? [];
71
+ const isCore = coreOperations.includes(operationKey);
72
+ facts.set(operationKey, {
73
+ operationKey,
74
+ effectiveOperations: variants.length > 0 && !isCore
75
+ ? variants.map((variant) => variant.resourceOperationLike ?? operationKey)
76
+ : [operationKey],
77
+ variants,
78
+ serviceRuntimeMode: config.serviceRuntimeMode,
79
+ });
80
+ }
81
+ return [...facts.values()];
82
+ }
83
+ /**
84
+ * The `Idempotency-Key` requirement a variant of a read-through WRITE carries — always REQUIRED.
85
+ *
86
+ * DERIVED rather than demanded from the author, because it has one legal value: a remote write cannot
87
+ * be rolled back, so a retry after a lost response must replay the first outcome instead of writing a
88
+ * second time, and only a required key makes every retry replayable. Asking an author to type the one
89
+ * answer the mechanism already knows is a question nobody should be asked (`derive-before-you-ask`).
90
+ * `ACCEPTED` is refused by {@link assertHttpApiWriteDeclarationCoherence}, never silently upgraded.
91
+ *
92
+ * The AUTHORED value comes first so the factory's forwarding line still reads
93
+ * `idempotencyKey: resolveHttpApiWriteIdempotencyKeyRequirement(variantParams.idempotencyKey, …)`, the shape
94
+ * `operation-variant-field-forwarding.guard.test.ts` recognises as forwarding.
95
+ */
96
+ export function resolveHttpApiWriteIdempotencyKeyRequirement(authored, isReadThroughWrite) {
97
+ if (!isReadThroughWrite)
98
+ return authored;
99
+ return ResourceOperationIdempotencyKeyRequirement.REQUIRED;
100
+ }
101
+ /**
102
+ * The operations the binding's declared actions name as their HTTP doors, keyed by operation.
103
+ *
104
+ * One operation runs one action: two actions naming the same door would make the operation's meaning depend on which
105
+ * one its implementation happens to hand to the executor, so it is refused here rather than decided there.
106
+ */
107
+ function collectSystemOfRecordActionDoors(binding) {
108
+ const doors = new Map();
109
+ for (const [actionName, action] of Object.entries(binding.actions ?? {})) {
110
+ if (action.operation === undefined)
111
+ continue;
112
+ const existing = doors.get(action.operation);
113
+ if (existing !== undefined) {
114
+ throw new Error(`operation '${action.operation}' is named as the door of two actions, '${existing.actionName}' and '${actionName}'. `
115
+ + 'One operation runs one action; declare a second operation for the second action.');
116
+ }
117
+ doors.set(action.operation, { actionName, writes: action.writes });
118
+ }
119
+ return doors;
120
+ }
121
+ /**
122
+ * Hold an action's HTTP door to the ACTION's rules instead of the row-write rules (#1678 review, F1).
123
+ *
124
+ * A door does not write a row of the bound entity: its implementation hands the request to the system-of-record action
125
+ * executor, which authorizes, confines, sends and audits the action. So `writableVerbs` does not open it, and it opens
126
+ * nothing. What it must still be is honest about the effect it has:
127
+ *
128
+ * - a WRITING action changes remote state that cannot be rolled back, so every variant borrows a SINGLE-ROW mutation verb
129
+ * (never a read: a read-shaped route is a GET and claims its repeat is harmless, and the boot validator refuses a key on
130
+ * one), requires the `Idempotency-Key` (the executor refuses a writing action without one, so anything less is a door
131
+ * that always refuses), and runs INLINE (a queued execution cannot carry the key);
132
+ * - a NON-writing action (a vendor computation) is left to the ordinary rules for the verb it borrows.
133
+ *
134
+ * Never a bulk borrow: one request is one action on one target.
135
+ */
136
+ function assertSystemOfRecordActionDoorCoherence(operation, door) {
137
+ const bulk = operation.effectiveOperations.find((effective) => BULK_WRITE_OPERATIONS.has(effective));
138
+ if (bulk !== undefined) {
139
+ throw new Error(`operation '${operation.operationKey}' is the door of action '${door.actionName}' and borrows a bulk verb ('${String(bulk)}'). `
140
+ + 'One request runs one action on one target; borrow a single-row verb.');
141
+ }
142
+ if (!door.writes)
143
+ return;
144
+ const readBorrow = operation.effectiveOperations.find((effective) => resolveHttpApiWriteVerb(effective) === undefined);
145
+ if (readBorrow !== undefined) {
146
+ throw new Error(`operation '${operation.operationKey}' is the door of action '${door.actionName}', which writes, and borrows '${String(readBorrow)}', `
147
+ + 'which is not a mutation. A state-changing route must not be read-shaped: it would be a GET, and a required Idempotency-Key '
148
+ + 'on a read is refused at boot. Borrow update (an action on one record) or create (an action that makes one) in resourceOperationLike.');
149
+ }
150
+ const unkeyed = operation.variants.find((variant) => variant.idempotencyKey !== ResourceOperationIdempotencyKeyRequirement.REQUIRED);
151
+ if (unkeyed !== undefined) {
152
+ throw new Error(`operation '${operation.operationKey}' is the door of action '${door.actionName}', which writes, and does not require an `
153
+ + 'Idempotency-Key on every variant. The executor refuses a writing action without one, so the route would refuse every request; '
154
+ + `declare idempotencyKey: '${ResourceOperationIdempotencyKeyRequirement.REQUIRED}'.`);
155
+ }
156
+ if (operation.serviceRuntimeMode !== undefined
157
+ && operation.serviceRuntimeMode !== ResourceOperation_ServiceRuntimeMode.INLINE) {
158
+ throw new Error(`operation '${operation.operationKey}' is the door of action '${door.actionName}' and runs '${operation.serviceRuntimeMode}'. `
159
+ + 'A writing action runs INLINE: a queued or background execution cannot carry its Idempotency-Key. Remove serviceRuntimeMode.');
160
+ }
161
+ }
162
+ /**
163
+ * Refuse every write declaration on a read-through resource that the engine could not honour.
164
+ *
165
+ * Throws a plain `Error` naming the rule and the fix; the factory wraps it into its own configuration
166
+ * error with the resource identifier in front.
167
+ *
168
+ * The rules, and why each one exists:
169
+ *
170
+ * 1. **No bulk write operation**, opened or not — see {@link BULK_WRITE_OPERATIONS}. Nor a
171
+ * `haveBulkOperation` twin of a write, which every tier would run as N single-row writes.
172
+ * 2. **Every write operation's verb is OPENED by the binding**, and **every opened verb has an
173
+ * operation**. Both directions: the first is a route that would answer a refusal forever, the
174
+ * second a declared door nobody can reach — and an inert declaration that looks like a control is
175
+ * worse than none.
176
+ * 3. **Every write variant runs INLINE.** A queued or background execution cannot carry the
177
+ * `Idempotency-Key`, so a retried request could not replay; the service tier refuses a key on a
178
+ * non-INLINE operation already, and a key is required here.
179
+ * 4. **No write variant declares `Idempotency-Key: ACCEPTED`.** See
180
+ * {@link resolveHttpApiWriteIdempotencyKeyRequirement}.
181
+ * 5. *(Moved, #2010.)* The erasure-stance rule this list carried — a binding that WRITES personal-data fields
182
+ * may not declare `NO_SUBJECT_DATA` — is now `personalFieldsContradictingNoSubjectDataStance`, which the
183
+ * factory applies to EVERY read-through binding and every pipeline copy. Reading those fields out of a
184
+ * system that "holds no subject data" is the same contradiction as writing them into it.
185
+ * 6. **A `VERSION_CHECKED` binding's version field is one the UPDATE can carry and the CREATE cannot** (#1724). The
186
+ * field must exist on the schema, be admitted to the update payload (the caller sends the version it read), and be
187
+ * excluded from create (a new row has no version yet, and the vendor stamps it). It must be a STRING: the check
188
+ * compares the caller's value byte for byte with the vendor's raw one, and a date schema would coerce it on the way
189
+ * in and make every update stale. Whether it maps onto the vendor's `rowVersionField` needs the facet, and is
190
+ * checked at boot.
191
+ */
192
+ export function assertHttpApiWriteDeclarationCoherence(params) {
193
+ const { binding, operations, mainSchema } = params;
194
+ const opened = new Set(binding.writableVerbs);
195
+ const reached = new Set();
196
+ const actionDoors = collectSystemOfRecordActionDoors(binding);
197
+ // Checked BEFORE the operations: a door named after a missing operation usually means the author mistyped it, and the
198
+ // operation they meant would otherwise be refused first as an unopened row write — a message about the wrong thing.
199
+ const declaredOperationKeys = new Set(operations.map((operation) => operation.operationKey));
200
+ for (const [operationKey, door] of actionDoors) {
201
+ if (!declaredOperationKeys.has(operationKey)) {
202
+ throw new Error(`actions.${door.actionName} names '${operationKey}' as its door, and this resource declares no such operation. `
203
+ + 'Declare the custom operation, or remove the `operation` from the action.');
204
+ }
205
+ }
206
+ for (const operation of operations) {
207
+ const door = actionDoors.get(operation.operationKey);
208
+ if (door !== undefined) {
209
+ assertSystemOfRecordActionDoorCoherence(operation, door);
210
+ continue;
211
+ }
212
+ const bulk = operation.effectiveOperations.find((effective) => BULK_WRITE_OPERATIONS.has(effective));
213
+ if (bulk !== undefined) {
214
+ throw new Error(`operation '${operation.operationKey}' is a bulk write ('${String(bulk)}'), which a read-through resource never runs: `
215
+ + 'N remote writes have no transaction to roll back into when one of them fails after the others landed. '
216
+ + 'Declare the single-row create/update/delete instead.');
217
+ }
218
+ const verbs = operation.effectiveOperations
219
+ .map((effective) => resolveHttpApiWriteVerb(effective))
220
+ .filter((verb) => verb !== undefined);
221
+ if (verbs.length === 0)
222
+ continue;
223
+ for (const verb of verbs) {
224
+ if (!opened.has(verb)) {
225
+ throw new Error(`operation '${operation.operationKey}' writes ('${verb}'), and httpApiBinding.writableVerbs does not open '${verb}'. `
226
+ + `Add '${verb}' to writableVerbs to open the write toward '${binding.system}', or remove the operation.`);
227
+ }
228
+ reached.add(verb);
229
+ }
230
+ if (operation.variants.some((variant) => variant.haveBulkOperation === true)) {
231
+ throw new Error(`operation '${operation.operationKey}' declares a bulk twin (haveBulkOperation), which a read-through resource never runs — `
232
+ + 'one request would become N remote writes with no atomicity. Remove haveBulkOperation.');
233
+ }
234
+ if (operation.serviceRuntimeMode !== undefined
235
+ && operation.serviceRuntimeMode !== ResourceOperation_ServiceRuntimeMode.INLINE) {
236
+ throw new Error(`operation '${operation.operationKey}' writes to '${binding.system}' with serviceRuntimeMode '${operation.serviceRuntimeMode}'. `
237
+ + 'A remote write runs INLINE: its Idempotency-Key is required, and a queued or background execution cannot carry one, '
238
+ + 'so a retried request could not replay its first outcome. Remove serviceRuntimeMode.');
239
+ }
240
+ const accepted = operation.variants.find((variant) => variant.idempotencyKey === ResourceOperationIdempotencyKeyRequirement.ACCEPTED);
241
+ if (accepted !== undefined) {
242
+ throw new Error(`operation '${operation.operationKey}' declares idempotencyKey 'accepted'. A write to a system of record cannot be rolled back, `
243
+ + 'so every retry must replay the first outcome: the key is REQUIRED on every write variant, and the engine sets it for you. '
244
+ + 'Remove the idempotencyKey declaration.');
245
+ }
246
+ }
247
+ for (const verb of opened) {
248
+ if (!reached.has(verb)) {
249
+ throw new Error(`httpApiBinding.writableVerbs opens '${verb}', and no operation of this resource performs it. An opened write nobody can `
250
+ + `reach is a declaration that decides nothing; declare the ${HTTP_API_WRITE_VERB_CORE_OPERATION[verb]} operation, or remove the verb.`);
251
+ }
252
+ }
253
+ if (binding.writeConcurrency?.mode === HttpApiWriteConcurrencyMode.VERSION_CHECKED && isZodObject(mainSchema)) {
254
+ const versionField = binding.writeConcurrency.versionField;
255
+ const fieldSchema = getZodObjectShape(mainSchema)[versionField];
256
+ if (fieldSchema === undefined) {
257
+ throw new Error(`httpApiBinding.writeConcurrency.versionField names '${versionField}', which this resource's schema does not declare. `
258
+ + 'Declare the field (mapped to the vendor\'s row version, e.g. Odoo `write_date`) so a caller can read it and send it back.');
259
+ }
260
+ const unwrapped = unwrapSchema(fieldSchema);
261
+ if (unwrapped?._zod?.def?.type !== 'string') {
262
+ throw new Error(`httpApiBinding.writeConcurrency.versionField '${versionField}' must be a string schema: the version is compared byte for `
263
+ + 'byte with what the vendor served (Odoo `write_date`, "YYYY-MM-DD HH:MM:SS"), and a date or number schema would re-format it.');
264
+ }
265
+ if (isExcludedFromUpdate(fieldSchema)) {
266
+ throw new Error(`httpApiBinding.writeConcurrency.versionField '${versionField}' is excluded from UPDATE, so no caller could send the version `
267
+ + 'it read and every update would be refused. Remove .excludeFromUpdate() from it.');
268
+ }
269
+ if (opened.has(HttpApiWriteVerb.CREATE) && !isExcludedFromCreate(fieldSchema)) {
270
+ throw new Error(`httpApiBinding.writeConcurrency.versionField '${versionField}' may be sent on CREATE, and a new row has no version: the `
271
+ + 'vendor stamps it. Declare it .excludeFromCreate().');
272
+ }
273
+ }
274
+ }
275
+ //# sourceMappingURL=http-api-write-declaration.shared.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-api-write-declaration.shared.utils.js","sourceRoot":"","sources":["../../../../src/resources/utils/http-api-write-declaration.shared.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEpI,OAAO,EACL,2BAA2B,EAC3B,gBAAgB,GAEjB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,oCAAoC,EAAE,MAAM,6BAA6B,CAAC;AAEnF;;;;GAIG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA8D,MAAM,CAAC,MAAM,CAAC;IACzH,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM;IACvD,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM;IACvD,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,MAAM;CACxD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,aAAsB;IAC5D,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAqD,EAAE,CAAC;QACvI,IAAI,SAAS,KAAK,aAAa;YAAE,OAAO,IAAI,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,qBAAqB,GAAyB,IAAI,GAAG,CAAU;IACnE,qBAAqB,CAAC,WAAW;IACjC,qBAAqB,CAAC,WAAW;IACjC,qBAAqB,CAAC,WAAW;CAClC,CAAC,CAAC;AAcH;;;;;;;;GAQG;AACH,MAAM,UAAU,iCAAiC,CAC/C,cAAkC,EAClC,uBAAsE;IAEtE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC5D,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;QACvC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,KAAK,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,uBAAuB,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,CAAC,eAAe,IAAI,EAAE,CAGpC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrD,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE;YACtB,YAAY;YACZ,mBAAmB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM;gBACjD,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,IAAI,YAAY,CAAC;gBAC1E,CAAC,CAAC,CAAC,YAAY,CAAC;YAClB,QAAQ;YACR,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SAC9C,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,4CAA4C,CAC1D,QAAgE,EAChE,kBAA2B;IAE3B,IAAI,CAAC,kBAAkB;QAAE,OAAO,QAAQ,CAAC;IACzC,OAAO,0CAA0C,CAAC,QAAQ,CAAC;AAC7D,CAAC;AAQD;;;;;GAKG;AACH,SAAS,gCAAgC,CAAC,OAA+B;IACvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;IAC1D,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;YAAE,SAAS;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,cAAc,MAAM,CAAC,SAAS,2CAA2C,QAAQ,CAAC,UAAU,UAAU,UAAU,KAAK;kBACnH,kFAAkF,CACrF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,uCAAuC,CAAC,SAAqC,EAAE,IAA8B;IACpH,MAAM,IAAI,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACrG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,4BAA4B,IAAI,CAAC,UAAU,+BAA+B,MAAM,CAAC,IAAI,CAAC,MAAM;cAC9H,sEAAsE,CACzE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO;IACzB,MAAM,UAAU,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC;IACvH,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,4BAA4B,IAAI,CAAC,UAAU,iCAAiC,MAAM,CAAC,UAAU,CAAC,KAAK;cACrI,6HAA6H;cAC7H,sIAAsI,CACzI,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,0CAA0C,CAAC,QAAQ,CAAC,CAAC;IACrI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,4BAA4B,IAAI,CAAC,UAAU,2CAA2C;cACxH,gIAAgI;cAChI,4BAA4B,0CAA0C,CAAC,QAAQ,IAAI,CACtF,CAAC;IACJ,CAAC;IACD,IACE,SAAS,CAAC,kBAAkB,KAAK,SAAS;WACvC,SAAS,CAAC,kBAAkB,KAAK,oCAAoC,CAAC,MAAM,EAC/E,CAAC;QACD,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,4BAA4B,IAAI,CAAC,UAAU,eAAe,SAAS,CAAC,kBAAkB,KAAK;cAC7H,6HAA6H,CAChI,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,sCAAsC,CAAC,MAItD;IACC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IACnD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAmB,OAAO,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC5C,MAAM,WAAW,GAAG,gCAAgC,CAAC,OAAO,CAAC,CAAC;IAC9D,sHAAsH;IACtH,oHAAoH;IACpH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7F,KAAK,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CACb,WAAW,IAAI,CAAC,UAAU,WAAW,YAAY,+DAA+D;kBAC9G,0EAA0E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,uCAAuC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACrG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,uBAAuB,MAAM,CAAC,IAAI,CAAC,gDAAgD;kBACrH,wGAAwG;kBACxG,sDAAsD,CACzD,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,mBAAmB;aACxC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,cAAc,IAAI,uDAAuD,IAAI,KAAK;sBACpH,QAAQ,IAAI,gDAAgD,OAAO,CAAC,MAAM,6BAA6B,CAC1G,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7E,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,yFAAyF;kBAC3H,uFAAuF,CAC1F,CAAC;QACJ,CAAC;QACD,IACE,SAAS,CAAC,kBAAkB,KAAK,SAAS;eACvC,SAAS,CAAC,kBAAkB,KAAK,oCAAoC,CAAC,MAAM,EAC/E,CAAC;YACD,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,gBAAgB,OAAO,CAAC,MAAM,8BAA8B,SAAS,CAAC,kBAAkB,KAAK;kBAC/H,sHAAsH;kBACtH,qFAAqF,CACxF,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,KAAK,0CAA0C,CAAC,QAAQ,CAAC,CAAC;QACtI,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,CAAC,YAAY,6FAA6F;kBAC/H,4HAA4H;kBAC5H,wCAAwC,CAC3C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,+EAA+E;kBACxH,4DAA4D,kCAAkC,CAAC,IAAI,CAAC,iCAAiC,CACxI,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,EAAE,IAAI,KAAK,2BAA2B,CAAC,eAAe,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9G,MAAM,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;QAC3D,MAAM,WAAW,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC,YAAY,CAA6B,CAAC;QAC5F,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,uDAAuD,YAAY,oDAAoD;kBACrH,2HAA2H,CAC9H,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,YAAY,CAAC,WAAoB,CAA4C,CAAC;QAChG,IAAI,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,8DAA8D;kBACzH,8HAA8H,CACjI,CAAC;QACJ,CAAC;QACD,IAAI,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,iEAAiE;kBAC5H,iFAAiF,CACpF,CAAC;QACJ,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,KAAK,CACb,iDAAiD,YAAY,6DAA6D;kBACxH,oDAAoD,CACvD,CAAC;QACJ,CAAC;IACH,CAAC;AAEH,CAAC","sourcesContent":["/**\n * The authoring contract of a WRITABLE read-through resource (#1679) — what a resource must declare\n * before the engine will send a create, update or delete to a system of record it does not own.\n *\n * Checked in the resource FACTORY, at authoring, because every rule here is decidable from the one\n * file an author is writing: the binding, the operation list and the schema. What is NOT decidable\n * here — the instance's partition field, whether the dialect implements writes — needs the saas\n * configuration and the engine's dialect registry, so it is checked at boot registration instead.\n *\n * Every refusal names the fix. A write door into somebody else's ERP is the declaration where a\n * silently-accepted mistake costs the most, because the mistake is made against data the platform\n * cannot restore.\n */\n\nimport type { z } from 'zod';\nimport { getZodObjectShape, isExcludedFromCreate, isExcludedFromUpdate, isZodObject, unwrapSchema } from '@wildo-ai/zod-decorators';\n\nimport {\n HttpApiWriteConcurrencyMode,\n HttpApiWriteVerb,\n type HttpApiResourceBinding,\n} from '../../http-api-binding/http-api-binding.shared.schemas';\nimport { ResourceOperationIdempotencyKeyRequirement } from '../../requests/idempotency-key.shared';\nimport { CoreResourceOperation } from '../resources.shared.core.definitions';\nimport { ResourceOperation_ServiceRuntimeMode } from '../resources.shared.schemas';\n\n/**\n * The core operation each opened verb reaches, and the only three a read-through resource may write\n * through. Total over {@link HttpApiWriteVerb}, so a fourth verb is a compile error here until\n * somebody decides which operation it is.\n */\nexport const HTTP_API_WRITE_VERB_CORE_OPERATION: Readonly<Record<HttpApiWriteVerb, CoreResourceOperation>> = Object.freeze({\n [HttpApiWriteVerb.CREATE]: CoreResourceOperation.CREATE,\n [HttpApiWriteVerb.UPDATE]: CoreResourceOperation.UPDATE,\n [HttpApiWriteVerb.DELETE]: CoreResourceOperation.DELETE,\n});\n\n/**\n * The write verb a core operation IS on a read-through resource, or `undefined` for a read.\n *\n * The one mapping both the authoring check and the repository's dispatch read, so the two cannot\n * disagree about whether an operation is a write.\n */\nexport function resolveHttpApiWriteVerb(coreOperation: unknown): HttpApiWriteVerb | undefined {\n for (const [verb, operation] of Object.entries(HTTP_API_WRITE_VERB_CORE_OPERATION) as Array<[HttpApiWriteVerb, CoreResourceOperation]>) {\n if (operation === coreOperation) return verb;\n }\n return undefined;\n}\n\n/**\n * The BULK write operations, refused on a read-through resource whatever the binding opens.\n *\n * A bulk write against a system the platform does not own is N remote calls with no atomicity: any\n * of them can fail after the earlier ones landed, and there is no transaction to roll back into. The\n * engine opens single-row writes only, which is what an author can reason about one row at a time.\n */\nconst BULK_WRITE_OPERATIONS: ReadonlySet<unknown> = new Set<unknown>([\n CoreResourceOperation.CREATE_MANY,\n CoreResourceOperation.UPDATE_MANY,\n CoreResourceOperation.DELETE_MANY,\n]);\n\n/** What the factory knows about ONE declared operation, reduced to what these rules read. */\ninterface HttpApiWriteOperationFacts {\n readonly operationKey: string;\n /** The core semantics of each variant: the operation itself for a core one, `resourceOperationLike` for a custom one. */\n readonly effectiveOperations: readonly unknown[];\n readonly variants: ReadonlyArray<{\n readonly idempotencyKey?: ResourceOperationIdempotencyKeyRequirement;\n readonly haveBulkOperation?: boolean;\n }>;\n readonly serviceRuntimeMode?: ResourceOperation_ServiceRuntimeMode;\n}\n\n/**\n * Reduce the authored operation declarations to {@link HttpApiWriteOperationFacts}.\n *\n * Enumerated by EFFECTIVE semantics, the way the pipeline's CLOSED-population rule enumerates\n * creates: a core operation is its own semantics, a custom one borrows them per variant through\n * `resourceOperationLike`, and both sources are unioned because neither sees the other's members.\n * A custom operation that borrows UPDATE is exactly how an author would write a remote \"confirm\"\n * without thinking of it as a write — so it is a write here too.\n */\nexport function collectHttpApiWriteOperationFacts(\n coreOperations: readonly unknown[],\n operationsConfiguration: Readonly<Record<string, unknown>> | undefined,\n): HttpApiWriteOperationFacts[] {\n const facts = new Map<string, HttpApiWriteOperationFacts>();\n for (const operation of coreOperations) {\n facts.set(String(operation), { operationKey: String(operation), effectiveOperations: [operation], variants: [] });\n }\n for (const [operationKey, operationConfig] of Object.entries(operationsConfiguration ?? {})) {\n const config = (operationConfig ?? {}) as {\n variants?: Array<{ resourceOperationLike?: unknown; idempotencyKey?: ResourceOperationIdempotencyKeyRequirement; haveBulkOperation?: boolean }>;\n serviceRuntimeMode?: ResourceOperation_ServiceRuntimeMode;\n };\n const variants = config.variants ?? [];\n const isCore = coreOperations.includes(operationKey);\n facts.set(operationKey, {\n operationKey,\n effectiveOperations: variants.length > 0 && !isCore\n ? variants.map((variant) => variant.resourceOperationLike ?? operationKey)\n : [operationKey],\n variants,\n serviceRuntimeMode: config.serviceRuntimeMode,\n });\n }\n return [...facts.values()];\n}\n\n/**\n * The `Idempotency-Key` requirement a variant of a read-through WRITE carries — always REQUIRED.\n *\n * DERIVED rather than demanded from the author, because it has one legal value: a remote write cannot\n * be rolled back, so a retry after a lost response must replay the first outcome instead of writing a\n * second time, and only a required key makes every retry replayable. Asking an author to type the one\n * answer the mechanism already knows is a question nobody should be asked (`derive-before-you-ask`).\n * `ACCEPTED` is refused by {@link assertHttpApiWriteDeclarationCoherence}, never silently upgraded.\n *\n * The AUTHORED value comes first so the factory's forwarding line still reads\n * `idempotencyKey: resolveHttpApiWriteIdempotencyKeyRequirement(variantParams.idempotencyKey, …)`, the shape\n * `operation-variant-field-forwarding.guard.test.ts` recognises as forwarding.\n */\nexport function resolveHttpApiWriteIdempotencyKeyRequirement(\n authored: ResourceOperationIdempotencyKeyRequirement | undefined,\n isReadThroughWrite: boolean,\n): ResourceOperationIdempotencyKeyRequirement | undefined {\n if (!isReadThroughWrite) return authored;\n return ResourceOperationIdempotencyKeyRequirement.REQUIRED;\n}\n\n/** A resource operation a declared system-of-record action names as its HTTP door (`actions.<name>.operation`). */\ninterface SystemOfRecordActionDoor {\n readonly actionName: string;\n readonly writes: boolean;\n}\n\n/**\n * The operations the binding's declared actions name as their HTTP doors, keyed by operation.\n *\n * One operation runs one action: two actions naming the same door would make the operation's meaning depend on which\n * one its implementation happens to hand to the executor, so it is refused here rather than decided there.\n */\nfunction collectSystemOfRecordActionDoors(binding: HttpApiResourceBinding): ReadonlyMap<string, SystemOfRecordActionDoor> {\n const doors = new Map<string, SystemOfRecordActionDoor>();\n for (const [actionName, action] of Object.entries(binding.actions ?? {})) {\n if (action.operation === undefined) continue;\n const existing = doors.get(action.operation);\n if (existing !== undefined) {\n throw new Error(\n `operation '${action.operation}' is named as the door of two actions, '${existing.actionName}' and '${actionName}'. `\n + 'One operation runs one action; declare a second operation for the second action.',\n );\n }\n doors.set(action.operation, { actionName, writes: action.writes });\n }\n return doors;\n}\n\n/**\n * Hold an action's HTTP door to the ACTION's rules instead of the row-write rules (#1678 review, F1).\n *\n * A door does not write a row of the bound entity: its implementation hands the request to the system-of-record action\n * executor, which authorizes, confines, sends and audits the action. So `writableVerbs` does not open it, and it opens\n * nothing. What it must still be is honest about the effect it has:\n *\n * - a WRITING action changes remote state that cannot be rolled back, so every variant borrows a SINGLE-ROW mutation verb\n * (never a read: a read-shaped route is a GET and claims its repeat is harmless, and the boot validator refuses a key on\n * one), requires the `Idempotency-Key` (the executor refuses a writing action without one, so anything less is a door\n * that always refuses), and runs INLINE (a queued execution cannot carry the key);\n * - a NON-writing action (a vendor computation) is left to the ordinary rules for the verb it borrows.\n *\n * Never a bulk borrow: one request is one action on one target.\n */\nfunction assertSystemOfRecordActionDoorCoherence(operation: HttpApiWriteOperationFacts, door: SystemOfRecordActionDoor): void {\n const bulk = operation.effectiveOperations.find((effective) => BULK_WRITE_OPERATIONS.has(effective));\n if (bulk !== undefined) {\n throw new Error(\n `operation '${operation.operationKey}' is the door of action '${door.actionName}' and borrows a bulk verb ('${String(bulk)}'). `\n + 'One request runs one action on one target; borrow a single-row verb.',\n );\n }\n if (!door.writes) return;\n const readBorrow = operation.effectiveOperations.find((effective) => resolveHttpApiWriteVerb(effective) === undefined);\n if (readBorrow !== undefined) {\n throw new Error(\n `operation '${operation.operationKey}' is the door of action '${door.actionName}', which writes, and borrows '${String(readBorrow)}', `\n + 'which is not a mutation. A state-changing route must not be read-shaped: it would be a GET, and a required Idempotency-Key '\n + 'on a read is refused at boot. Borrow update (an action on one record) or create (an action that makes one) in resourceOperationLike.',\n );\n }\n const unkeyed = operation.variants.find((variant) => variant.idempotencyKey !== ResourceOperationIdempotencyKeyRequirement.REQUIRED);\n if (unkeyed !== undefined) {\n throw new Error(\n `operation '${operation.operationKey}' is the door of action '${door.actionName}', which writes, and does not require an `\n + 'Idempotency-Key on every variant. The executor refuses a writing action without one, so the route would refuse every request; '\n + `declare idempotencyKey: '${ResourceOperationIdempotencyKeyRequirement.REQUIRED}'.`,\n );\n }\n if (\n operation.serviceRuntimeMode !== undefined\n && operation.serviceRuntimeMode !== ResourceOperation_ServiceRuntimeMode.INLINE\n ) {\n throw new Error(\n `operation '${operation.operationKey}' is the door of action '${door.actionName}' and runs '${operation.serviceRuntimeMode}'. `\n + 'A writing action runs INLINE: a queued or background execution cannot carry its Idempotency-Key. Remove serviceRuntimeMode.',\n );\n }\n}\n\n/**\n * Refuse every write declaration on a read-through resource that the engine could not honour.\n *\n * Throws a plain `Error` naming the rule and the fix; the factory wraps it into its own configuration\n * error with the resource identifier in front.\n *\n * The rules, and why each one exists:\n *\n * 1. **No bulk write operation**, opened or not — see {@link BULK_WRITE_OPERATIONS}. Nor a\n * `haveBulkOperation` twin of a write, which every tier would run as N single-row writes.\n * 2. **Every write operation's verb is OPENED by the binding**, and **every opened verb has an\n * operation**. Both directions: the first is a route that would answer a refusal forever, the\n * second a declared door nobody can reach — and an inert declaration that looks like a control is\n * worse than none.\n * 3. **Every write variant runs INLINE.** A queued or background execution cannot carry the\n * `Idempotency-Key`, so a retried request could not replay; the service tier refuses a key on a\n * non-INLINE operation already, and a key is required here.\n * 4. **No write variant declares `Idempotency-Key: ACCEPTED`.** See\n * {@link resolveHttpApiWriteIdempotencyKeyRequirement}.\n * 5. *(Moved, #2010.)* The erasure-stance rule this list carried — a binding that WRITES personal-data fields\n * may not declare `NO_SUBJECT_DATA` — is now `personalFieldsContradictingNoSubjectDataStance`, which the\n * factory applies to EVERY read-through binding and every pipeline copy. Reading those fields out of a\n * system that \"holds no subject data\" is the same contradiction as writing them into it.\n * 6. **A `VERSION_CHECKED` binding's version field is one the UPDATE can carry and the CREATE cannot** (#1724). The\n * field must exist on the schema, be admitted to the update payload (the caller sends the version it read), and be\n * excluded from create (a new row has no version yet, and the vendor stamps it). It must be a STRING: the check\n * compares the caller's value byte for byte with the vendor's raw one, and a date schema would coerce it on the way\n * in and make every update stale. Whether it maps onto the vendor's `rowVersionField` needs the facet, and is\n * checked at boot.\n */\nexport function assertHttpApiWriteDeclarationCoherence(params: {\n readonly binding: HttpApiResourceBinding;\n readonly operations: readonly HttpApiWriteOperationFacts[];\n readonly mainSchema: z.ZodTypeAny;\n}): void {\n const { binding, operations, mainSchema } = params;\n const opened = new Set<HttpApiWriteVerb>(binding.writableVerbs);\n const reached = new Set<HttpApiWriteVerb>();\n const actionDoors = collectSystemOfRecordActionDoors(binding);\n // Checked BEFORE the operations: a door named after a missing operation usually means the author mistyped it, and the\n // operation they meant would otherwise be refused first as an unopened row write — a message about the wrong thing.\n const declaredOperationKeys = new Set(operations.map((operation) => operation.operationKey));\n for (const [operationKey, door] of actionDoors) {\n if (!declaredOperationKeys.has(operationKey)) {\n throw new Error(\n `actions.${door.actionName} names '${operationKey}' as its door, and this resource declares no such operation. `\n + 'Declare the custom operation, or remove the `operation` from the action.',\n );\n }\n }\n\n for (const operation of operations) {\n const door = actionDoors.get(operation.operationKey);\n if (door !== undefined) {\n assertSystemOfRecordActionDoorCoherence(operation, door);\n continue;\n }\n const bulk = operation.effectiveOperations.find((effective) => BULK_WRITE_OPERATIONS.has(effective));\n if (bulk !== undefined) {\n throw new Error(\n `operation '${operation.operationKey}' is a bulk write ('${String(bulk)}'), which a read-through resource never runs: `\n + 'N remote writes have no transaction to roll back into when one of them fails after the others landed. '\n + 'Declare the single-row create/update/delete instead.',\n );\n }\n const verbs = operation.effectiveOperations\n .map((effective) => resolveHttpApiWriteVerb(effective))\n .filter((verb): verb is HttpApiWriteVerb => verb !== undefined);\n if (verbs.length === 0) continue;\n\n for (const verb of verbs) {\n if (!opened.has(verb)) {\n throw new Error(\n `operation '${operation.operationKey}' writes ('${verb}'), and httpApiBinding.writableVerbs does not open '${verb}'. `\n + `Add '${verb}' to writableVerbs to open the write toward '${binding.system}', or remove the operation.`,\n );\n }\n reached.add(verb);\n }\n if (operation.variants.some((variant) => variant.haveBulkOperation === true)) {\n throw new Error(\n `operation '${operation.operationKey}' declares a bulk twin (haveBulkOperation), which a read-through resource never runs — `\n + 'one request would become N remote writes with no atomicity. Remove haveBulkOperation.',\n );\n }\n if (\n operation.serviceRuntimeMode !== undefined\n && operation.serviceRuntimeMode !== ResourceOperation_ServiceRuntimeMode.INLINE\n ) {\n throw new Error(\n `operation '${operation.operationKey}' writes to '${binding.system}' with serviceRuntimeMode '${operation.serviceRuntimeMode}'. `\n + 'A remote write runs INLINE: its Idempotency-Key is required, and a queued or background execution cannot carry one, '\n + 'so a retried request could not replay its first outcome. Remove serviceRuntimeMode.',\n );\n }\n const accepted = operation.variants.find((variant) => variant.idempotencyKey === ResourceOperationIdempotencyKeyRequirement.ACCEPTED);\n if (accepted !== undefined) {\n throw new Error(\n `operation '${operation.operationKey}' declares idempotencyKey 'accepted'. A write to a system of record cannot be rolled back, `\n + 'so every retry must replay the first outcome: the key is REQUIRED on every write variant, and the engine sets it for you. '\n + 'Remove the idempotencyKey declaration.',\n );\n }\n }\n\n for (const verb of opened) {\n if (!reached.has(verb)) {\n throw new Error(\n `httpApiBinding.writableVerbs opens '${verb}', and no operation of this resource performs it. An opened write nobody can `\n + `reach is a declaration that decides nothing; declare the ${HTTP_API_WRITE_VERB_CORE_OPERATION[verb]} operation, or remove the verb.`,\n );\n }\n }\n\n if (binding.writeConcurrency?.mode === HttpApiWriteConcurrencyMode.VERSION_CHECKED && isZodObject(mainSchema)) {\n const versionField = binding.writeConcurrency.versionField;\n const fieldSchema = getZodObjectShape(mainSchema)[versionField] as z.ZodTypeAny | undefined;\n if (fieldSchema === undefined) {\n throw new Error(\n `httpApiBinding.writeConcurrency.versionField names '${versionField}', which this resource's schema does not declare. `\n + 'Declare the field (mapped to the vendor\\'s row version, e.g. Odoo `write_date`) so a caller can read it and send it back.',\n );\n }\n const unwrapped = unwrapSchema(fieldSchema as never) as { _zod?: { def?: { type?: unknown } } };\n if (unwrapped?._zod?.def?.type !== 'string') {\n throw new Error(\n `httpApiBinding.writeConcurrency.versionField '${versionField}' must be a string schema: the version is compared byte for `\n + 'byte with what the vendor served (Odoo `write_date`, \"YYYY-MM-DD HH:MM:SS\"), and a date or number schema would re-format it.',\n );\n }\n if (isExcludedFromUpdate(fieldSchema)) {\n throw new Error(\n `httpApiBinding.writeConcurrency.versionField '${versionField}' is excluded from UPDATE, so no caller could send the version `\n + 'it read and every update would be refused. Remove .excludeFromUpdate() from it.',\n );\n }\n if (opened.has(HttpApiWriteVerb.CREATE) && !isExcludedFromCreate(fieldSchema)) {\n throw new Error(\n `httpApiBinding.writeConcurrency.versionField '${versionField}' may be sent on CREATE, and a new row has no version: the `\n + 'vendor stamps it. Declare it .excludeFromCreate().',\n );\n }\n }\n\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"initiator-stamped-field-satisfiability.validation.d.ts","sourceRoot":"","sources":["../../../../../src/resources/utils/initiator-stamped-field-satisfiability.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,wCAAwC,wEAAyE,CAAC;AAE/H,MAAM,MAAM,mCAAmC,GAAG,OAAO,wCAAwC,CAAC,MAAM,CAAC,CAAC;AAE1G,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,mCAAmC,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAaD;;;;GAIG;AACH,wBAAgB,2CAA2C,CACzD,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC,GACnF,8BAA8B,EAAE,CAoBlC"}
1
+ {"version":3,"file":"initiator-stamped-field-satisfiability.validation.d.ts","sourceRoot":"","sources":["../../../../src/resources/utils/initiator-stamped-field-satisfiability.validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,wCAAwC,wEAAyE,CAAC;AAE/H,MAAM,MAAM,mCAAmC,GAAG,OAAO,wCAAwC,CAAC,MAAM,CAAC,CAAC;AAE1G,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,mCAAmC,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,0EAA0E;AAC1E,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,kBAAkB,EAAE,YAAY,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACrC;AAaD;;;;GAIG;AACH,wBAAgB,2CAA2C,CACzD,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC,GACnF,8BAA8B,EAAE,CAoBlC"}
@@ -1 +1 @@
1
- {"version":3,"file":"initiator-stamped-field-satisfiability.validation.js","sourceRoot":"","sources":["../../../../../src/resources/utils/initiator-stamped-field-satisfiability.validation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,EACV,YAAY,GACb,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,CAAU,CAAC;AAiB/H,iGAAiG;AACjG,SAAS,cAAc,CAAC,UAAwB;IAC9C,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,OAAO,CAAC,MAAsC,CAAC,CAAC;IAC5D,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;SACzD,MAAM,CAAC,YAAY,CAAC;SACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,KAAK,EAAyC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2CAA2C,CACzD,sBAAoF;IAEpF,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,aAAa,EAAE,UAAU,IAAI,aAAa,CAAC,gBAAgB;YAAE,SAAS;QAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,wCAAwC,EAAE,CAAC;YAC7D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,iBAAiB;gBAAE,SAAS;YACjC,UAAU,CAAC,IAAI,CAAC;gBACd,YAAY,EAAE,aAAa,CAAC,kBAAkB;gBAC9C,KAAK;gBACL,OAAO,EACL,IAAI,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,KAAK,mDAAmD;sBACjH,8GAA8G;sBAC9G,2FAA2F;sBAC3F,uFAAuF;aAC5F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n getObjectShape,\n getZodDefArrayProperty,\n isDiscriminatedUnion,\n isOptional,\n isZodTypeAny,\n} from '@wildo-ai/zod-decorators';\nimport type { ResourceType } from '../resources.shared.core.definitions';\n\n/**\n * Registry-level guard: a field the ENGINE stamps from the initiator's USER must not be REQUIRED.\n *\n * ## The shape (#584)\n *\n * `createdByUserId` is stripped from the CREATE DTO by name — a client may never author it — and is\n * stamped by the repository from `executionContext.initiatorIds.userId`, guarded by `if (userId)` in\n * both adapters (`addUserTracking`, and the PostgreSQL adapter's own copy). `updatedByUserId` /\n * `lastUpdatedByUserId` are stamped the same way on UPDATE.\n *\n * **A machine principal has no `userId`.** An org or application service acting over MCP, A2A,\n * client credentials, a worker or a batch supplies none, so a REQUIRED one of these fields is\n * satisfied by nobody: not the client (stripped), not the repository (the guard skips). Nothing said\n * so at registration or at exposure, and the write failed — or committed and then failed to describe\n * itself — the first time a machine caller reached the resource. That is how `todos` and `todoLists`\n * were found (#577), each only after being exposed.\n *\n * ## A refusal at boot, and why it was a report first\n *\n * The backend refuses to start when this returns anything — the engine's own measurement is that a\n * declaration gets made if and only if the framework refuses to start without it.\n *\n * It shipped as a startup REPORT on the belief that flipping the existing declarations to optional\n * changes PostgreSQL column nullability and so owes a migration in every surface. It does not: the\n * schema planner's contract (version 3) records `sqlType`, `hasIndex`, `isPrimaryKey`, `unique` and\n * `defaultClause` per column and no nullability, so a required-vs-optional change is enforced by the\n * Zod layer alone and leaves every lockfile in sync. Measured on all three PostgreSQL surfaces\n * before the promotion, with the existing declarations flipped in the same change.\n *\n * ## Scope\n *\n * - Only the user-stamped identifiers. The primary-scope foreign keys (`organizationId`, …) are also\n * context-populated, but from the SCOPE, which a machine principal does carry — they are required on\n * purpose.\n * - System resources are skipped: the framework owns their write paths and supplies or refuses the\n * attribution explicitly (the SCIM token mint refuses a principal with no user).\n * - Discriminated-union (polymorphic) schemas are checked on every variant that declares the field.\n */\nexport const INITIATOR_USER_STAMPED_FIELD_IDENTIFIERS = ['createdByUserId', 'updatedByUserId', 'lastUpdatedByUserId'] as const;\n\nexport type InitiatorUserStampedFieldIdentifier = typeof INITIATOR_USER_STAMPED_FIELD_IDENTIFIERS[number];\n\nexport interface InitiatorStampedFieldViolation {\n readonly resourceType: ResourceType;\n readonly field: InitiatorUserStampedFieldIdentifier;\n readonly message: string;\n}\n\n/** Structural subset of a resource configuration this validator needs. */\nexport interface InitiatorStampedFieldResourceInput {\n readonly resourceIdentifier: ResourceType;\n readonly mainSchema: z.ZodTypeAny;\n readonly isSystemResource?: boolean;\n}\n\n/** Every object shape a main schema can present: itself, or each discriminated-union variant. */\nfunction objectShapesOf(mainSchema: z.ZodTypeAny): Record<string, z.ZodTypeAny>[] {\n const direct = getObjectShape(mainSchema);\n if (direct) return [direct as Record<string, z.ZodTypeAny>];\n if (!isDiscriminatedUnion(mainSchema)) return [];\n return (getZodDefArrayProperty(mainSchema, 'options') ?? [])\n .filter(isZodTypeAny)\n .map((option) => getObjectShape(option))\n .filter((shape): shape is Record<string, z.ZodTypeAny> => !!shape);\n}\n\n/**\n * Report every non-system resource that declares an initiator-user-stamped field as REQUIRED.\n * `isOptional` treats `.optional()`, `.default()` and `.nullish()` as optional; a bare `.nullable()`\n * stays required, which is correct — `null` is not what the stamp's absence produces.\n */\nexport function validateInitiatorStampedFieldSatisfiability(\n resourceConfigurations: Readonly<Record<string, InitiatorStampedFieldResourceInput>>,\n): InitiatorStampedFieldViolation[] {\n const violations: InitiatorStampedFieldViolation[] = [];\n for (const configuration of Object.values(resourceConfigurations)) {\n if (!configuration?.mainSchema || configuration.isSystemResource) continue;\n const shapes = objectShapesOf(configuration.mainSchema);\n for (const field of INITIATOR_USER_STAMPED_FIELD_IDENTIFIERS) {\n const requiredSomewhere = shapes.some((shape) => shape[field] && !isOptional(shape[field]));\n if (!requiredSomewhere) continue;\n violations.push({\n resourceType: configuration.resourceIdentifier,\n field,\n message:\n `[${String(configuration.resourceIdentifier)}] declares '${field}' as REQUIRED, but the engine stamps it only when`\n + ' the initiator has a userId. A machine principal (MCP, A2A, client credentials, a worker, a batch) has none,'\n + ' and a client may never send it, so a machine write to this resource cannot be satisfied.'\n + ` Declare it \\`.optional()\\` — and generate the migration its nullability change owes.`,\n });\n }\n }\n return violations;\n}\n"]}
1
+ {"version":3,"file":"initiator-stamped-field-satisfiability.validation.js","sourceRoot":"","sources":["../../../../src/resources/utils/initiator-stamped-field-satisfiability.validation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,UAAU,EACV,YAAY,GACb,MAAM,0BAA0B,CAAC;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,qBAAqB,CAAU,CAAC;AAiB/H,iGAAiG;AACjG,SAAS,cAAc,CAAC,UAAwB;IAC9C,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,MAAM;QAAE,OAAO,CAAC,MAAsC,CAAC,CAAC;IAC5D,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,OAAO,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC;SACzD,MAAM,CAAC,YAAY,CAAC;SACpB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACvC,MAAM,CAAC,CAAC,KAAK,EAAyC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2CAA2C,CACzD,sBAAoF;IAEpF,MAAM,UAAU,GAAqC,EAAE,CAAC;IACxD,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAClE,IAAI,CAAC,aAAa,EAAE,UAAU,IAAI,aAAa,CAAC,gBAAgB;YAAE,SAAS;QAC3E,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,KAAK,MAAM,KAAK,IAAI,wCAAwC,EAAE,CAAC;YAC7D,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,CAAC,iBAAiB;gBAAE,SAAS;YACjC,UAAU,CAAC,IAAI,CAAC;gBACd,YAAY,EAAE,aAAa,CAAC,kBAAkB;gBAC9C,KAAK;gBACL,OAAO,EACL,IAAI,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,eAAe,KAAK,mDAAmD;sBACjH,8GAA8G;sBAC9G,2FAA2F;sBAC3F,uFAAuF;aAC5F,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["import { z } from 'zod';\nimport {\n getObjectShape,\n getZodDefArrayProperty,\n isDiscriminatedUnion,\n isOptional,\n isZodTypeAny,\n} from '@wildo-ai/zod-decorators';\nimport type { ResourceType } from '../resources.shared.core.definitions';\n\n/**\n * Registry-level guard: a field the ENGINE stamps from the initiator's USER must not be REQUIRED.\n *\n * ## The shape (#584)\n *\n * `createdByUserId` is stripped from the CREATE DTO by name — a client may never author it — and is\n * stamped by the repository from `executionContext.initiatorIds.userId`, guarded by `if (userId)` in\n * both adapters (`addUserTracking`, and the PostgreSQL adapter's own copy). `updatedByUserId` /\n * `lastUpdatedByUserId` are stamped the same way on UPDATE.\n *\n * **A machine principal has no `userId`.** An org or application service acting over MCP, A2A,\n * client credentials, a worker or a batch supplies none, so a REQUIRED one of these fields is\n * satisfied by nobody: not the client (stripped), not the repository (the guard skips). Nothing said\n * so at registration or at exposure, and the write failed — or committed and then failed to describe\n * itself — the first time a machine caller reached the resource. That is how `todos` and `todoLists`\n * were found (#577), each only after being exposed.\n *\n * ## A refusal at boot, and why it was a report first\n *\n * The backend refuses to start when this returns anything — the engine's own measurement is that a\n * declaration gets made if and only if the framework refuses to start without it.\n *\n * It shipped as a startup REPORT on the belief that flipping the existing declarations to optional\n * changes PostgreSQL column nullability and so owes a migration in every surface. It does not: the\n * schema planner's contract (version 3) records `sqlType`, `hasIndex`, `isPrimaryKey`, `unique` and\n * `defaultClause` per column and no nullability, so a required-vs-optional change is enforced by the\n * Zod layer alone and leaves every lockfile in sync. Measured on all three PostgreSQL surfaces\n * before the promotion, with the existing declarations flipped in the same change.\n *\n * ## Scope\n *\n * - Only the user-stamped identifiers. The primary-scope foreign keys (`organizationId`, …) are also\n * context-populated, but from the SCOPE, which a machine principal does carry — they are required on\n * purpose.\n * - System resources are skipped: the framework owns their write paths and supplies or refuses the\n * attribution explicitly (the SCIM token mint refuses a principal with no user).\n * - Discriminated-union (polymorphic) schemas are checked on every variant that declares the field.\n */\nexport const INITIATOR_USER_STAMPED_FIELD_IDENTIFIERS = ['createdByUserId', 'updatedByUserId', 'lastUpdatedByUserId'] as const;\n\nexport type InitiatorUserStampedFieldIdentifier = typeof INITIATOR_USER_STAMPED_FIELD_IDENTIFIERS[number];\n\nexport interface InitiatorStampedFieldViolation {\n readonly resourceType: ResourceType;\n readonly field: InitiatorUserStampedFieldIdentifier;\n readonly message: string;\n}\n\n/** Structural subset of a resource configuration this validator needs. */\nexport interface InitiatorStampedFieldResourceInput {\n readonly resourceIdentifier: ResourceType;\n readonly mainSchema: z.ZodTypeAny;\n readonly isSystemResource?: boolean;\n}\n\n/** Every object shape a main schema can present: itself, or each discriminated-union variant. */\nfunction objectShapesOf(mainSchema: z.ZodTypeAny): Record<string, z.ZodTypeAny>[] {\n const direct = getObjectShape(mainSchema);\n if (direct) return [direct as Record<string, z.ZodTypeAny>];\n if (!isDiscriminatedUnion(mainSchema)) return [];\n return (getZodDefArrayProperty(mainSchema, 'options') ?? [])\n .filter(isZodTypeAny)\n .map((option) => getObjectShape(option))\n .filter((shape): shape is Record<string, z.ZodTypeAny> => !!shape);\n}\n\n/**\n * Report every non-system resource that declares an initiator-user-stamped field as REQUIRED.\n * `isOptional` treats `.optional()`, `.default()` and `.nullish()` as optional; a bare `.nullable()`\n * stays required, which is correct — `null` is not what the stamp's absence produces.\n */\nexport function validateInitiatorStampedFieldSatisfiability(\n resourceConfigurations: Readonly<Record<string, InitiatorStampedFieldResourceInput>>,\n): InitiatorStampedFieldViolation[] {\n const violations: InitiatorStampedFieldViolation[] = [];\n for (const configuration of Object.values(resourceConfigurations)) {\n if (!configuration?.mainSchema || configuration.isSystemResource) continue;\n const shapes = objectShapesOf(configuration.mainSchema);\n for (const field of INITIATOR_USER_STAMPED_FIELD_IDENTIFIERS) {\n const requiredSomewhere = shapes.some((shape) => shape[field] && !isOptional(shape[field]));\n if (!requiredSomewhere) continue;\n violations.push({\n resourceType: configuration.resourceIdentifier,\n field,\n message:\n `[${String(configuration.resourceIdentifier)}] declares '${field}' as REQUIRED, but the engine stamps it only when`\n + ' the initiator has a userId. A machine principal (MCP, A2A, client credentials, a worker, a batch) has none,'\n + ' and a client may never send it, so a machine write to this resource cannot be satisfied.'\n + ` Declare it \\`.optional()\\` — and generate the migration its nullability change owes.`,\n });\n }\n }\n return violations;\n}\n"]}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * `NO_SUBJECT_DATA` against the personal data a resource declares it gets from the system (#2010).
3
+ *
4
+ * `HttpApiErasureStance.NO_SUBJECT_DATA` says the remote rows hold no data about a person, which is why a
5
+ * subject erasure reports `DECLARED_NO_SUBJECT_DATA` for them and reaches nothing. A resource that declares
6
+ * personal-data categories (`.dataCategories()`) on the fields it takes FROM that system says the opposite about
7
+ * the same rows. Both cannot be true, and the stance is the half that erasure acts on, so the contradiction is
8
+ * refused where it is authored, in the resource factory.
9
+ *
10
+ * Which fields come from the system depends on the lane:
11
+ * - a READ-THROUGH binding keeps the rows in the system of record, so every field of the resource is the remote
12
+ * row's, except the tenant anchors the engine stamps (`HTTP_API_ENGINE_INJECTED_FIELDS`). Whether the resource
13
+ * also WRITES does not matter: the rows hold the data either way;
14
+ * - a PIPELINE copies only its mapped fields. A field no mapping writes is the application's own, and a `CONSTANT`
15
+ * entry reads nothing from the source. These are the same fields the privacy notice's source statement counts
16
+ * (`systemOfRecordFlowsOfResource`), so the refusal and the notice cannot disagree about what came from where.
17
+ *
18
+ * Replaces the narrower write-only rule that `assertHttpApiWriteDeclarationCoherence` carried (#1679 rule 5), which
19
+ * asked only whether a binding WRITES personal fields. Reading them is the same contradiction, and a pipeline copy
20
+ * of them was not checked at all. Wonder Todos' `externalCustomers` held both declarations for twelve days.
21
+ *
22
+ * Fixing a refusal is a question of fact, never of preference:
23
+ * - if the fields really are about a person, the rows hold subject data: declare the stance that says so
24
+ * (`EXTERNAL_ERASURE_OPERATION`, or `CONTROLLER_ACKNOWLEDGED_NON_ERASURE`);
25
+ * - if they are not (a company's name and its contact details are data about a legal person, outside personal
26
+ * data), remove the categories.
27
+ *
28
+ * spec-cite: GDPR Recital 14, https://gdpr-info.eu/recitals/no-14/ — "This Regulation does not cover the processing
29
+ * of personal data which concerns legal persons and in particular undertakings established as legal persons,
30
+ * including the name and the form of the legal person and the contact details of the legal person."
31
+ */
32
+ import type { z } from 'zod';
33
+ import { HttpApiErasureStance } from '../../http-api-binding/http-api-erasure-stance.shared';
34
+ /**
35
+ * The fields that declare personal-data categories while the binding they come from declares `NO_SUBJECT_DATA`,
36
+ * sorted. Empty for any other stance, and for a schema that is not an object.
37
+ *
38
+ * `sourcedFields` is the set of fields that come from the system: omit it for a read-through binding (every field
39
+ * but the engine-stamped anchors), pass the pipeline's mapped non-constant local fields for a copy.
40
+ */
41
+ export declare function personalFieldsContradictingNoSubjectDataStance(params: {
42
+ readonly stance: HttpApiErasureStance;
43
+ readonly mainSchema: z.ZodTypeAny;
44
+ readonly sourcedFields?: ReadonlySet<string>;
45
+ }): readonly string[];
46
+ /** The refusal's text, shared by both lanes so the remedy reads the same wherever it fires. */
47
+ export declare function describeNoSubjectDataStanceContradiction(params: {
48
+ readonly system: string;
49
+ readonly personalFields: readonly string[];
50
+ }): string;
51
+ //# sourceMappingURL=no-subject-data-stance-coherence.shared.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-subject-data-stance-coherence.shared.utils.d.ts","sourceRoot":"","sources":["../../../../src/resources/utils/no-subject-data-stance-coherence.shared.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAG7F;;;;;;GAMG;AACH,wBAAgB,8CAA8C,CAAC,MAAM,EAAE;IACrE,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC9C,GAAG,SAAS,MAAM,EAAE,CAOpB;AAED,+FAA+F;AAC/F,wBAAgB,wCAAwC,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,MAAM,CAMhJ"}
@@ -0,0 +1,28 @@
1
+ import { getDataCategories, getZodObjectShape, isZodObject } from '@wildo-ai/zod-decorators';
2
+ import { HttpApiErasureStance } from '../../http-api-binding/http-api-erasure-stance.shared.js';
3
+ import { HTTP_API_ENGINE_INJECTED_FIELDS } from '../../http-api-binding/read-through-engine-anchors.shared.js';
4
+ /**
5
+ * The fields that declare personal-data categories while the binding they come from declares `NO_SUBJECT_DATA`,
6
+ * sorted. Empty for any other stance, and for a schema that is not an object.
7
+ *
8
+ * `sourcedFields` is the set of fields that come from the system: omit it for a read-through binding (every field
9
+ * but the engine-stamped anchors), pass the pipeline's mapped non-constant local fields for a copy.
10
+ */
11
+ export function personalFieldsContradictingNoSubjectDataStance(params) {
12
+ if (params.stance !== HttpApiErasureStance.NO_SUBJECT_DATA || !isZodObject(params.mainSchema))
13
+ return [];
14
+ return Object.entries(getZodObjectShape(params.mainSchema))
15
+ .filter(([fieldName]) => (params.sourcedFields === undefined ? !HTTP_API_ENGINE_INJECTED_FIELDS.includes(fieldName) : params.sourcedFields.has(fieldName)))
16
+ .filter(([, fieldSchema]) => getDataCategories(fieldSchema) !== undefined)
17
+ .map(([fieldName]) => fieldName)
18
+ .sort();
19
+ }
20
+ /** The refusal's text, shared by both lanes so the remedy reads the same wherever it fires. */
21
+ export function describeNoSubjectDataStanceContradiction(params) {
22
+ return `the fields [${params.personalFields.join(', ')}] come from '${params.system}' and declare personal-data categories, `
23
+ + `while the binding's erasure stance is '${HttpApiErasureStance.NO_SUBJECT_DATA}' — that those rows hold no data about a person. `
24
+ + 'Both cannot be true. If the fields are about a person, declare '
25
+ + `'${HttpApiErasureStance.EXTERNAL_ERASURE_OPERATION}' or '${HttpApiErasureStance.CONTROLLER_ACKNOWLEDGED_NON_ERASURE}'. `
26
+ + 'If they are not (a company\'s name and its contact details are data about a legal person), remove their .dataCategories().';
27
+ }
28
+ //# sourceMappingURL=no-subject-data-stance-coherence.shared.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-subject-data-stance-coherence.shared.utils.js","sourceRoot":"","sources":["../../../../src/resources/utils/no-subject-data-stance-coherence.shared.utils.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,uDAAuD,CAAC;AAC7F,OAAO,EAAE,+BAA+B,EAAE,MAAM,2DAA2D,CAAC;AAE5G;;;;;;GAMG;AACH,MAAM,UAAU,8CAA8C,CAAC,MAI9D;IACC,IAAI,MAAM,CAAC,MAAM,KAAK,oBAAoB,CAAC,eAAe,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;QAAE,OAAO,EAAE,CAAC;IACzG,OAAO,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;SACxD,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;SAC1J,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAA2B,CAAC,KAAK,SAAS,CAAC;SACzF,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC;SAC/B,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,wCAAwC,CAAC,MAA+E;IACtI,OAAO,eAAe,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,MAAM,0CAA0C;UACzH,0CAA0C,oBAAoB,CAAC,eAAe,mDAAmD;UACjI,iEAAiE;UACjE,IAAI,oBAAoB,CAAC,0BAA0B,SAAS,oBAAoB,CAAC,mCAAmC,KAAK;UACzH,4HAA4H,CAAC;AACnI,CAAC","sourcesContent":["/**\n * `NO_SUBJECT_DATA` against the personal data a resource declares it gets from the system (#2010).\n *\n * `HttpApiErasureStance.NO_SUBJECT_DATA` says the remote rows hold no data about a person, which is why a\n * subject erasure reports `DECLARED_NO_SUBJECT_DATA` for them and reaches nothing. A resource that declares\n * personal-data categories (`.dataCategories()`) on the fields it takes FROM that system says the opposite about\n * the same rows. Both cannot be true, and the stance is the half that erasure acts on, so the contradiction is\n * refused where it is authored, in the resource factory.\n *\n * Which fields come from the system depends on the lane:\n * - a READ-THROUGH binding keeps the rows in the system of record, so every field of the resource is the remote\n * row's, except the tenant anchors the engine stamps (`HTTP_API_ENGINE_INJECTED_FIELDS`). Whether the resource\n * also WRITES does not matter: the rows hold the data either way;\n * - a PIPELINE copies only its mapped fields. A field no mapping writes is the application's own, and a `CONSTANT`\n * entry reads nothing from the source. These are the same fields the privacy notice's source statement counts\n * (`systemOfRecordFlowsOfResource`), so the refusal and the notice cannot disagree about what came from where.\n *\n * Replaces the narrower write-only rule that `assertHttpApiWriteDeclarationCoherence` carried (#1679 rule 5), which\n * asked only whether a binding WRITES personal fields. Reading them is the same contradiction, and a pipeline copy\n * of them was not checked at all. Wonder Todos' `externalCustomers` held both declarations for twelve days.\n *\n * Fixing a refusal is a question of fact, never of preference:\n * - if the fields really are about a person, the rows hold subject data: declare the stance that says so\n * (`EXTERNAL_ERASURE_OPERATION`, or `CONTROLLER_ACKNOWLEDGED_NON_ERASURE`);\n * - if they are not (a company's name and its contact details are data about a legal person, outside personal\n * data), remove the categories.\n *\n * spec-cite: GDPR Recital 14, https://gdpr-info.eu/recitals/no-14/ — \"This Regulation does not cover the processing\n * of personal data which concerns legal persons and in particular undertakings established as legal persons,\n * including the name and the form of the legal person and the contact details of the legal person.\"\n */\nimport type { z } from 'zod';\nimport { getDataCategories, getZodObjectShape, isZodObject } from '@wildo-ai/zod-decorators';\n\nimport { HttpApiErasureStance } from '../../http-api-binding/http-api-erasure-stance.shared';\nimport { HTTP_API_ENGINE_INJECTED_FIELDS } from '../../http-api-binding/read-through-engine-anchors.shared';\n\n/**\n * The fields that declare personal-data categories while the binding they come from declares `NO_SUBJECT_DATA`,\n * sorted. Empty for any other stance, and for a schema that is not an object.\n *\n * `sourcedFields` is the set of fields that come from the system: omit it for a read-through binding (every field\n * but the engine-stamped anchors), pass the pipeline's mapped non-constant local fields for a copy.\n */\nexport function personalFieldsContradictingNoSubjectDataStance(params: {\n readonly stance: HttpApiErasureStance;\n readonly mainSchema: z.ZodTypeAny;\n readonly sourcedFields?: ReadonlySet<string>;\n}): readonly string[] {\n if (params.stance !== HttpApiErasureStance.NO_SUBJECT_DATA || !isZodObject(params.mainSchema)) return [];\n return Object.entries(getZodObjectShape(params.mainSchema))\n .filter(([fieldName]) => (params.sourcedFields === undefined ? !HTTP_API_ENGINE_INJECTED_FIELDS.includes(fieldName) : params.sourcedFields.has(fieldName)))\n .filter(([, fieldSchema]) => getDataCategories(fieldSchema as z.ZodTypeAny) !== undefined)\n .map(([fieldName]) => fieldName)\n .sort();\n}\n\n/** The refusal's text, shared by both lanes so the remedy reads the same wherever it fires. */\nexport function describeNoSubjectDataStanceContradiction(params: { readonly system: string; readonly personalFields: readonly string[] }): string {\n return `the fields [${params.personalFields.join(', ')}] come from '${params.system}' and declare personal-data categories, `\n + `while the binding's erasure stance is '${HttpApiErasureStance.NO_SUBJECT_DATA}' — that those rows hold no data about a person. `\n + 'Both cannot be true. If the fields are about a person, declare '\n + `'${HttpApiErasureStance.EXTERNAL_ERASURE_OPERATION}' or '${HttpApiErasureStance.CONTROLLER_ACKNOWLEDGED_NON_ERASURE}'. `\n + 'If they are not (a company\\'s name and its contact details are data about a legal person), remove their .dataCategories().';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"persistence-adapter-discrimination.shared.utils.d.ts","sourceRoot":"","sources":["../../../../../src/resources/utils/persistence-adapter-discrimination.shared.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAElB,KAAK,sBAAsB,EAC5B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,kBAAkB,GAAG,CAAC;CAAE,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAChC,CAAC,CAUH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC7B,sBAAsB,CAYxB"}
1
+ {"version":3,"file":"persistence-adapter-discrimination.shared.utils.d.ts","sourceRoot":"","sources":["../../../../src/resources/utils/persistence-adapter-discrimination.shared.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAElB,KAAK,sBAAsB,EAC5B,MAAM,oCAAoC,CAAC;AAE5C;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI;IAAE,QAAQ,EAAE,CAAC,IAAI,kBAAkB,GAAG,CAAC;CAAE,CAAC;AAEnF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAC1C,OAAO,EAAE,sBAAsB,EAC/B,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAChC,CAAC,CAUH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC7B,sBAAsB,CAYxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"persistence-adapter-discrimination.shared.utils.js","sourceRoot":"","sources":["../../../../../src/resources/utils/persistence-adapter-discrimination.shared.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,oCAAoC,CAAC;AAc5C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA+B,EAC/B,KAAiC;IAEjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,OAAO,CAAC,iCAAiC;cAC9E,uBAAuB,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACvE,4FAA4F;cAC5F,wHAAwH,CAC3H,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,OAA6B,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,+BAA+B,CAC7C,GAA8B;IAE9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpD,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,KAAK;cAClD,uBAAuB,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACvE,sFAAsF,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import {\n DEFAULT_PERSISTENCE_ADAPTER,\n PersistenceAdapter,\n isPersistenceAdapter,\n type PersistenceAdapterType,\n} from '../resources-config.shared.schemas';\n\n/**\n * One value per {@link PersistenceAdapter} member — the shape every adapter DECISION routes\n * through.\n *\n * Mapped over the enum so that adding a member makes every literal cases object a COMPILE error\n * (missing key) at each decision site, instead of a silent fall-through into whichever arm an\n * `else` happened to mean. Measured 2026-08-25 before this seam existed: 21 of 30 comparisons\n * tested `=== POSTGRESQL` with an `else` arm that silently meant \"MongoDB\" — a third backing kind\n * would have taken the MongoDB lane at all of them with no compile error and no runtime refusal.\n */\nexport type PersistenceAdapterCases<T> = { readonly [K in PersistenceAdapter]: T };\n\n/**\n * Exhaustive discrimination on a persistence adapter.\n *\n * Prefer this over `adapter === PersistenceAdapter.X ? … : …` whenever BOTH arms carry a real\n * answer (dispatching to a database service, choosing a primary-key column, choosing a compiler).\n * A plain binary comparison stays correct only where one side is a genuinely adapter-specific\n * feature gate (\"does this resource need the PostgreSQL migration door?\") — there, the negative\n * arm means \"not that feature\", not \"the other adapter\", and such sites carry a justified comment\n * instead of this helper.\n *\n * Two guarantees, one per failure direction:\n * - **New enum member** → every call site's `cases` object misses a key → compile error\n * (see {@link PersistenceAdapterCases}).\n * - **Unknown string at runtime** (erased config, a serialized value from an older or foreign\n * writer) → throws instead of returning either arm. Thrown as a plain `Error` because this\n * module is shared-tier (no `ErrorBuilder` here — same precedent as the factory's\n * configuration errors); backend callers surface it through their ordinary error projection.\n * It names the value and the supported set so the remedy is legible at the boundary it crossed.\n *\n * Branch values are eagerly evaluated; pass thunks (`() => …`) when construction is expensive or\n * side-effectful and invoke the selected one.\n */\nexport function selectByPersistenceAdapter<T>(\n adapter: PersistenceAdapterType,\n cases: PersistenceAdapterCases<T>,\n): T {\n if (!Object.prototype.hasOwnProperty.call(cases, adapter)) {\n throw new Error(\n `Unknown persistence adapter '${String(adapter)}' reached an adapter decision. `\n + `Supported adapters: ${Object.values(PersistenceAdapter).join(', ')}. `\n + 'This is a framework configuration defect: a backing kind was declared or stored that this '\n + 'deployment does not implement, and refusing here prevents it from being silently treated as one of the known adapters.',\n );\n }\n return cases[adapter as PersistenceAdapter];\n}\n\n/**\n * Parse an adapter declaration arriving as a RAW string (an env var, a stored configuration\n * document, any erased boundary).\n *\n * - absent (`undefined` / `null`) or empty string (the compose-interpolation contract for\n * \"not set\") → {@link DEFAULT_PERSISTENCE_ADAPTER}. An undeclared deployment keeps today's\n * behavior exactly.\n * - a known member's value → that member.\n * - **present but unknown → throws.** This is the provisioning-door contract: a declaration that\n * IS authored but names a backing kind this deployment does not know must refuse loudly, never\n * collapse to MongoDB the way `x === POSTGRESQL ? POSTGRESQL : MONGODB` did — that collapse is\n * how a platform would have provisioned a MongoDB database for a resource that has none.\n */\nexport function parseDeclaredPersistenceAdapter(\n raw: string | undefined | null,\n): PersistenceAdapterType {\n if (raw === undefined || raw === null || raw === '') {\n return DEFAULT_PERSISTENCE_ADAPTER;\n }\n if (!isPersistenceAdapter(raw)) {\n throw new Error(\n `Unknown persistence adapter declaration '${raw}'. `\n + `Supported adapters: ${Object.values(PersistenceAdapter).join(', ')}. `\n + 'Remove the declaration to use the framework default, or declare a supported adapter.',\n );\n }\n return raw;\n}\n"]}
1
+ {"version":3,"file":"persistence-adapter-discrimination.shared.utils.js","sourceRoot":"","sources":["../../../../src/resources/utils/persistence-adapter-discrimination.shared.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,oBAAoB,GAErB,MAAM,oCAAoC,CAAC;AAc5C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAA+B,EAC/B,KAAiC;IAEjC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,CAAC,OAAO,CAAC,iCAAiC;cAC9E,uBAAuB,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACvE,4FAA4F;cAC5F,wHAAwH,CAC3H,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,OAA6B,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,+BAA+B,CAC7C,GAA8B;IAE9B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpD,OAAO,2BAA2B,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,KAAK;cAClD,uBAAuB,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;cACvE,sFAAsF,CACzF,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import {\n DEFAULT_PERSISTENCE_ADAPTER,\n PersistenceAdapter,\n isPersistenceAdapter,\n type PersistenceAdapterType,\n} from '../resources-config.shared.schemas';\n\n/**\n * One value per {@link PersistenceAdapter} member — the shape every adapter DECISION routes\n * through.\n *\n * Mapped over the enum so that adding a member makes every literal cases object a COMPILE error\n * (missing key) at each decision site, instead of a silent fall-through into whichever arm an\n * `else` happened to mean. Measured 2026-08-25 before this seam existed: 21 of 30 comparisons\n * tested `=== POSTGRESQL` with an `else` arm that silently meant \"MongoDB\" — a third backing kind\n * would have taken the MongoDB lane at all of them with no compile error and no runtime refusal.\n */\nexport type PersistenceAdapterCases<T> = { readonly [K in PersistenceAdapter]: T };\n\n/**\n * Exhaustive discrimination on a persistence adapter.\n *\n * Prefer this over `adapter === PersistenceAdapter.X ? … : …` whenever BOTH arms carry a real\n * answer (dispatching to a database service, choosing a primary-key column, choosing a compiler).\n * A plain binary comparison stays correct only where one side is a genuinely adapter-specific\n * feature gate (\"does this resource need the PostgreSQL migration door?\") — there, the negative\n * arm means \"not that feature\", not \"the other adapter\", and such sites carry a justified comment\n * instead of this helper.\n *\n * Two guarantees, one per failure direction:\n * - **New enum member** → every call site's `cases` object misses a key → compile error\n * (see {@link PersistenceAdapterCases}).\n * - **Unknown string at runtime** (erased config, a serialized value from an older or foreign\n * writer) → throws instead of returning either arm. Thrown as a plain `Error` because this\n * module is shared-tier (no `ErrorBuilder` here — same precedent as the factory's\n * configuration errors); backend callers surface it through their ordinary error projection.\n * It names the value and the supported set so the remedy is legible at the boundary it crossed.\n *\n * Branch values are eagerly evaluated; pass thunks (`() => …`) when construction is expensive or\n * side-effectful and invoke the selected one.\n */\nexport function selectByPersistenceAdapter<T>(\n adapter: PersistenceAdapterType,\n cases: PersistenceAdapterCases<T>,\n): T {\n if (!Object.prototype.hasOwnProperty.call(cases, adapter)) {\n throw new Error(\n `Unknown persistence adapter '${String(adapter)}' reached an adapter decision. `\n + `Supported adapters: ${Object.values(PersistenceAdapter).join(', ')}. `\n + 'This is a framework configuration defect: a backing kind was declared or stored that this '\n + 'deployment does not implement, and refusing here prevents it from being silently treated as one of the known adapters.',\n );\n }\n return cases[adapter as PersistenceAdapter];\n}\n\n/**\n * Parse an adapter declaration arriving as a RAW string (an env var, a stored configuration\n * document, any erased boundary).\n *\n * - absent (`undefined` / `null`) or empty string (the compose-interpolation contract for\n * \"not set\") → {@link DEFAULT_PERSISTENCE_ADAPTER}. An undeclared deployment keeps today's\n * behavior exactly.\n * - a known member's value → that member.\n * - **present but unknown → throws.** This is the provisioning-door contract: a declaration that\n * IS authored but names a backing kind this deployment does not know must refuse loudly, never\n * collapse to MongoDB the way `x === POSTGRESQL ? POSTGRESQL : MONGODB` did — that collapse is\n * how a platform would have provisioned a MongoDB database for a resource that has none.\n */\nexport function parseDeclaredPersistenceAdapter(\n raw: string | undefined | null,\n): PersistenceAdapterType {\n if (raw === undefined || raw === null || raw === '') {\n return DEFAULT_PERSISTENCE_ADAPTER;\n }\n if (!isPersistenceAdapter(raw)) {\n throw new Error(\n `Unknown persistence adapter declaration '${raw}'. `\n + `Supported adapters: ${Object.values(PersistenceAdapter).join(', ')}. `\n + 'Remove the declaration to use the framework default, or declare a supported adapter.',\n );\n }\n return raw;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"populated-file-fields.shared.utils.d.ts","sourceRoot":"","sources":["../../../../../src/resources/utils/populated-file-fields.shared.utils.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yFAAyF;AACzF,eAAO,MAAM,yBAAyB,EAAG,MAAe,CAAC;AACzD,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,EAAG,OAAgB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,UAkB1C,CAAC;AAqBH;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;AACtH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAChH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"populated-file-fields.shared.utils.d.ts","sourceRoot":"","sources":["../../../../src/resources/utils/populated-file-fields.shared.utils.ts"],"names":[],"mappings":"AAgDA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yFAAyF;AACzF,eAAO,MAAM,yBAAyB,EAAG,MAAe,CAAC;AACzD,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,EAAG,OAAgB,CAAC;AAE7D;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,EAAE,CAAC,CAAC,UAkB8B,CAAC;AA+B3E;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;AACtH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAChH,wBAAgB,gCAAgC,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,GAAG,SAAS,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC"}
@@ -38,29 +38,38 @@ export const POPULATED_MULTIPLE_FILES_KEY = 'files';
38
38
  * than stripped — this is server-produced data, never a request.
39
39
  */
40
40
  export const PopulatedFileMetadataSchema = z.looseObject({
41
- readiness: z.enum(FileReadiness),
42
- fileId: z.string().min(1),
43
- filename: z.string(),
44
- size: z.number(),
45
- mimeType: z.string(),
46
- extension: z.string().optional(),
47
- checksum: z.string().optional(),
48
- url: z.string().optional(),
49
- thumbnailUrl: z.string().optional(),
50
- nature: z.enum(FileDisplayNature).optional(),
51
- width: z.number().optional(),
52
- height: z.number().optional(),
53
- duration: z.number().optional(),
54
- pageCount: z.number().optional(),
55
- uploadedAt: z.coerce.date(),
56
- uploadedBy: z.string().optional(),
57
- uploadedByEntityType: z.enum(FileUploaderEntityType).optional(),
58
- });
41
+ readiness: z.enum(FileReadiness).describe("Whether the file may be attached: `ready` may be, `attached` belongs to its current record and is not reused elsewhere, `processing` is still being checked and must be read again, and `unavailable` cannot be newly attached. An upload's success is not this."),
42
+ fileId: z.string().min(1).describe("The file's identifier."),
43
+ filename: z.string().describe("The file's original name."),
44
+ size: z.number().describe("The file's size in bytes."),
45
+ mimeType: z.string().describe("The file's media type."),
46
+ extension: z.string().optional().describe("The file's extension, without the dot."),
47
+ checksum: z.string().optional().describe("A checksum of the file's content."),
48
+ url: z.string().optional().describe("Where the file can be downloaded."),
49
+ thumbnailUrl: z.string().optional().describe("Where a thumbnail of an image or video can be fetched."),
50
+ nature: z.enum(FileDisplayNature).optional().describe("What kind of file it is, for display: image, video, audio, document or generic."),
51
+ width: z.number().optional().describe("An image's width in pixels."),
52
+ height: z.number().optional().describe("An image's height in pixels."),
53
+ duration: z.number().optional().describe("An audio or video file's length in seconds."),
54
+ pageCount: z.number().optional().describe("A document's number of pages."),
55
+ uploadedAt: z.coerce.date().describe("When the file was uploaded."),
56
+ uploadedBy: z.string().optional().describe("The identifier of whoever uploaded the file."),
57
+ uploadedByEntityType: z.enum(FileUploaderEntityType).optional().describe("What kind of principal uploaded the file: a user, an anonymous user, or an organization's or the application's machine client."),
58
+ }).describe("The file's details, included when the read populates files.");
59
59
  function carrySchemaMetadata(source, rebuilt) {
60
60
  const metadata = source[SCHEMA_METADATA];
61
61
  if (metadata !== undefined) {
62
62
  rebuilt[SCHEMA_METADATA] = metadata;
63
63
  }
64
+ // Zod's own registry too (`.describe()` / `.meta()`, #1625): `.extend()` clones without the parent link
65
+ // a clone inherits it through, so a widened file field would otherwise publish undescribed. Not `id`,
66
+ // which names one schema.
67
+ const registered = z.globalRegistry.get(source);
68
+ if (registered !== undefined && !z.globalRegistry.has(rebuilt)) {
69
+ const { id: _id, ...carried } = registered;
70
+ if (Object.keys(carried).length > 0)
71
+ z.globalRegistry.add(rebuilt, carried);
72
+ }
64
73
  return rebuilt;
65
74
  }
66
75
  /** A `z_file()` leaf (the reference object, metadata attached) widened with its optional populated companion. */
@@ -72,7 +81,9 @@ function widenFileLeaf(leaf) {
72
81
  const companionKey = fileMetadata.multiple ? POPULATED_MULTIPLE_FILES_KEY : POPULATED_SINGLE_FILE_KEY;
73
82
  if (companionKey in shape)
74
83
  return leaf; // already widened (a DTO derived from a widened DTO)
75
- const companion = fileMetadata.multiple ? z.array(PopulatedFileMetadataSchema).optional() : PopulatedFileMetadataSchema.optional();
84
+ const companion = fileMetadata.multiple
85
+ ? z.array(PopulatedFileMetadataSchema).optional().describe("Each file's details, included when the read populates files.")
86
+ : PopulatedFileMetadataSchema.optional();
76
87
  return carrySchemaMetadata(leaf, leaf.extend({ [companionKey]: companion }));
77
88
  }
78
89
  export function widenFileFieldsForPopulatedReads(schema, activeSchemas = new WeakSet()) {