@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
@@ -1 +1 @@
1
- {"version":3,"file":"organization-unit-narrowing.shared.js","sourceRoot":"","sources":["../../../../src/organizations/organization-unit-narrowing.shared.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Organization-unit narrowing — the opt-in registry and its hard containment rule.\n *\n * Unit grants are ADDITIVE (plan decision D-C3b): they widen a principal's reach, never shrink it.\n * A caller whose organization-wide grant already satisfies an operation is not narrowed at all; a\n * caller who would otherwise be denied gains access to the rows of the units they hold.\n *\n * A resource participates ONLY by opting in here. Narrowing is never implicit: inferring it from the\n * presence of an `organizationUnitId` field would silently change the result set of every existing\n * LIST the moment such a field was added.\n */\n\nimport { CoreResourceType } from '../resources/resources.shared.core.definitions';\n\n/**\n * @wildo_source:part:start saas.models.organization-unit-narrowing-declaration facet:layer:shared facet:family:authorization\n *\n * How one resource is narrowed: the field carrying the unit a row belongs to.\n *\n * Import from `@wildo-ai/saas-models`. Declare narrowing by passing an\n * `organizationUnitNarrowing` map to application startup, keyed by resource type:\n *\n * ```ts\n * organizationUnitNarrowing: {\n * [MyResourceType.PROJECTS]: { unitFieldName: 'organizationUnitId' },\n * }\n * ```\n *\n * `unitFieldName` must name a real field on the resource's main schema that stores the owning\n * `ORGANIZATION_UNITS` id — it becomes a query predicate on every read and a write-time check on\n * every create/update, so a misspelled field is an authorization defect, not a typo.\n *\n * Opting in is ADDITIVE: a caller whose organization-wide role already satisfies the operation is\n * never narrowed and keeps seeing the whole tenant, while a caller who would otherwise be denied\n * gains access to the rows of the units they hold. Opting a resource in therefore cannot shrink any\n * existing result set.\n *\n * Deliberately an object rather than a bare boolean so per-operation narrowing can be added later as\n * an optional property (D-C5) without migrating any existing declaration — Dynamics carries depth\n * per privilege, and Wildo already declares roles per operation variant, so that is the likely next\n * shape. Resource-level is a strict subset of it.\n */\nexport type OrganizationUnitNarrowingDeclaration = {\n /** The field on the resource holding the owning `ORGANIZATION_UNITS` id. */\n readonly unitFieldName: string;\n};\n/** @wildo_source:part:end saas.models.organization-unit-narrowing-declaration */\n\n/**\n * @wildo_source:part:start saas.models.organization-unit-narrowing-containment facet:layer:shared facet:family:authorization facet:audience:app-developer\n *\n * Resources that may NEVER be unit-narrowable — the authorization plane.\n *\n * ## The loop this closes\n *\n * A resource that ISSUES authority must not be governed by the authority it issues. Were\n * `ORGANIZATION_UNIT_MEMBERS` narrowable:\n *\n * 1. a principal who is organization-wide `ORG_MEMBER` but `ORG_ADMIN` of ONE unit\n * 2. satisfies the `ORG_ADMIN` gate on the grant surface via that unit grant,\n * 3. grants themselves `ORG_ADMIN` in every other unit,\n * 4. and the union of all units is organization-wide admin — assembled from a single unit grant.\n *\n * Step 3 is blocked today only because the role ceiling derives from organization-wide grants. That\n * is one refactor away from being undone (see the `D-C4 LOCK` regression test), so the containment\n * is also structural: a unit grant can never reach these resources at all.\n *\n * Every major suite enforces the same separation — SAP puts user↔role assignment behind dedicated\n * authorization objects, Azure puts role assignment outside the data plane behind\n * `Microsoft.Authorization/roleAssignments/write`, and Dynamics forbids assigning a role you do not\n * hold.\n *\n * `ORGANIZATION_MEMBERS` is listed for the same reason one level up: it carries the organization-wide\n * `roles` array that produces `initiatorRoles`. The roles-bearing machine credentials are listed\n * because the roles written at CREATE become the authority of every token minted from them.\n *\n * ## `ORGANIZATIONS` is listed for a SECOND, distinct reason — scope inversion\n *\n * The rule above is \"a resource that ISSUES authority may not be governed by the authority it\n * issues\". `ORGANIZATIONS` is barred by its sibling: **a resource that DEFINES a scope may not be\n * governed by a narrowing INSIDE that scope.** A unit is owned BY an organization, so letting the\n * owned thing gate access to its owner inverts the containment.\n *\n * That is not abstract. The tenant lifecycle verbs live on this resource, and\n * `request_deletion` / `suspend` are `ORG_ADMIN`-gated. Were `ORGANIZATIONS` narrowable, a principal\n * who is organization-wide `ORG_MEMBER` but `ORG_ADMIN` of ONE unit would satisfy that gate through\n * the unit grant — and one division's administrator could mark the ENTIRE tenant for deletion, or\n * halt it. The blast radius is the whole organization, reached from a grant that was supposed to\n * confine them to a subtree of it.\n *\n * It is also meaningless independently of the hazard: an organization is not located inside one of\n * its own units, so there is no honest `unitFieldName` to declare. Listing it turns a declaration\n * that could never be correct into a boot failure instead of a silent authorization hole.\n */\nexport const ORGANIZATION_UNIT_NARROWING_FORBIDDEN_RESOURCES: readonly CoreResourceType[] = [\n CoreResourceType.ORGANIZATION_UNIT_MEMBERS,\n CoreResourceType.ORGANIZATION_MEMBERS,\n CoreResourceType.ORGANIZATION_UNITS,\n // The tenant itself — scope inversion, and the door to the tenant lifecycle verbs. See the\n // dedicated section above; this is a different rule from the issues-authority one.\n CoreResourceType.ORGANIZATIONS,\n CoreResourceType.ORG_API_KEYS,\n CoreResourceType.OAUTH_CLIENTS_ORGANIZATION,\n // A credential authenticates the WHOLE TENANT toward a third party — there is one Slack workspace\n // behind it, not one per division. Narrowing it to a unit would let a unit-scoped administrator\n // rotate or delete the credential every other unit spends, which is the same issues-authority\n // hazard the sibling entries above record: the grant confines them to a subtree, the object they\n // reach does not live in one.\n CoreResourceType.ORG_PROVIDER_CREDENTIALS,\n];\n/** @wildo_source:part:end saas.models.organization-unit-narrowing-containment */\n\n/**\n * The engine's opted-in resources.\n *\n * EMPTY BY DESIGN. No engine resource carries a unit FK yet, and opting one in is a deliberate\n * per-resource decision, not a default. The mechanism ships ahead of its first consumer so that the\n * containment rule is enforced from the start rather than retrofitted after a resource has already\n * been narrowed incorrectly.\n */\nexport const ENGINE_ORGANIZATION_UNIT_NARROWING: Readonly<Partial<Record<CoreResourceType, OrganizationUnitNarrowingDeclaration>>> = {};\n\n/**\n * Merge the engine's opt-ins with an application's into the map that GOVERNS RUNTIME.\n *\n * The engine ships none today, so in practice this is the application's own map — but the merge\n * exists rather than the application map being used directly, because the containment validation and\n * every runtime lookup must see ONE map. A second, unmerged source is how a resource ends up narrowed\n * on the read path and not on the write path.\n *\n * An application declaration for a resource the engine also declares REPLACES it: the application\n * owns the field name on its own schema. Nothing here validates the result — the caller passes the\n * merged map to {@link collectOrganizationUnitNarrowingViolations} and fails closed at boot, so that\n * an application cannot narrow the authorization plane merely by declaring it later than the engine.\n */\nexport function mergeOrganizationUnitNarrowingDeclarations(\n engineNarrowing: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n applicationNarrowing: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>> | undefined,\n): Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>> {\n return { ...engineNarrowing, ...(applicationNarrowing ?? {}) };\n}\n\n/** A declaration that violates the D-C4 containment rule, or contradicts a DERIVED one. */\nexport type OrganizationUnitNarrowingViolation = {\n readonly resourceType: string;\n readonly reason:\n | 'authorization_plane_resource_cannot_be_unit_narrowable'\n | 'missing_unit_field_name'\n /**\n * An application named a different `unitFieldName` for a resource the ENGINE derives (#1058 R7).\n *\n * Refused rather than resolved either way. Letting the application win puts a read-through\n * resource's confinement on a field no projector writes, so every caller sees nothing; letting\n * the engine win silently makes the application's own declaration a lie it can read in its\n * source and never observe. The remedy is to delete the declaration, which is why the message\n * says so — the engine supplies it.\n */\n | 'derived_narrowing_contradicted';\n};\n\n/**\n * Fold the ENGINE's derived declarations over an application's, refusing any disagreement.\n *\n * Separate from {@link mergeOrganizationUnitNarrowingDeclarations}, and the asymmetry is the point.\n * That merge lets an APPLICATION replace an engine opt-in, because the application owns the field\n * name on its own schema. A DERIVED declaration is the opposite case: the field is the engine's, it\n * is written by the engine's own projector, and an application has no way to change where it lands.\n * So a disagreement there is not an override — it is a statement that cannot be true.\n *\n * An application declaration that AGREES is left alone rather than reported: it is redundant, not\n * wrong, and refusing redundancy would break every application that wrote down what the engine\n * would have derived anyway.\n */\nexport function foldDerivedOrganizationUnitNarrowing(\n declared: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n derived: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n): {\n readonly merged: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>;\n readonly violations: OrganizationUnitNarrowingViolation[];\n} {\n const violations: OrganizationUnitNarrowingViolation[] = [];\n const merged: Record<string, OrganizationUnitNarrowingDeclaration> = { ...declared };\n\n for (const [resourceType, declaration] of Object.entries(derived)) {\n if (!declaration) continue;\n const existing = declared[resourceType];\n if (existing !== undefined && existing.unitFieldName !== declaration.unitFieldName) {\n violations.push({ resourceType, reason: 'derived_narrowing_contradicted' });\n }\n merged[resourceType] = declaration;\n }\n\n return { merged, violations };\n}\n\n/**\n * Validate a narrowing registry against the containment rule.\n *\n * Returns violations rather than throwing so the caller owns the failure mode — the engine boot path\n * turns these into a startup error (fail closed: a misdeclared narrowing is a silent authorization\n * hole, so the application must not start), while tooling can report them without dying.\n */\nexport function collectOrganizationUnitNarrowingViolations(\n narrowingRegistry: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n): OrganizationUnitNarrowingViolation[] {\n const forbidden = new Set<string>(ORGANIZATION_UNIT_NARROWING_FORBIDDEN_RESOURCES);\n const violations: OrganizationUnitNarrowingViolation[] = [];\n\n for (const [resourceType, declaration] of Object.entries(narrowingRegistry)) {\n if (!declaration) continue;\n if (forbidden.has(resourceType)) {\n violations.push({ resourceType, reason: 'authorization_plane_resource_cannot_be_unit_narrowable' });\n continue;\n }\n if (typeof declaration.unitFieldName !== 'string' || declaration.unitFieldName.length === 0) {\n violations.push({ resourceType, reason: 'missing_unit_field_name' });\n }\n }\n\n return violations;\n}\n\n/**\n * Is this resource narrowed by organization unit?\n *\n * The single question every consumer asks. Reading the registry directly is how a call site ends up\n * disagreeing with the containment rule — the forbidden set is re-checked here so a registry that\n * was assembled without validation still cannot narrow the authorization plane.\n */\nexport function resolveOrganizationUnitNarrowing(\n narrowingRegistry: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n resourceType: string,\n): OrganizationUnitNarrowingDeclaration | undefined {\n if (ORGANIZATION_UNIT_NARROWING_FORBIDDEN_RESOURCES.includes(resourceType as CoreResourceType)) return undefined;\n const declaration = narrowingRegistry[resourceType];\n if (!declaration?.unitFieldName) return undefined;\n return declaration;\n}\n"]}
1
+ {"version":3,"file":"organization-unit-narrowing.shared.js","sourceRoot":"","sources":["../../../src/organizations/organization-unit-narrowing.shared.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Organization-unit narrowing — the opt-in registry and its hard containment rule.\n *\n * Unit grants are ADDITIVE (plan decision D-C3b): they widen a principal's reach, never shrink it.\n * A caller whose organization-wide grant already satisfies an operation is not narrowed at all; a\n * caller who would otherwise be denied gains access to the rows of the units they hold.\n *\n * A resource participates ONLY by opting in here. Narrowing is never implicit: inferring it from the\n * presence of an `organizationUnitId` field would silently change the result set of every existing\n * LIST the moment such a field was added.\n */\n\nimport { CoreResourceType } from '../resources/resources.shared.core.definitions';\n\n/**\n * @wildo_source:part:start saas.models.organization-unit-narrowing-declaration facet:layer:shared facet:family:authorization\n *\n * How one resource is narrowed: the field carrying the unit a row belongs to.\n *\n * Import from `@wildo-ai/saas-models`. Declare narrowing by passing an\n * `organizationUnitNarrowing` map to application startup, keyed by resource type:\n *\n * ```ts\n * organizationUnitNarrowing: {\n * [MyResourceType.PROJECTS]: { unitFieldName: 'organizationUnitId' },\n * }\n * ```\n *\n * `unitFieldName` must name a real field on the resource's main schema that stores the owning\n * `ORGANIZATION_UNITS` id — it becomes a query predicate on every read and a write-time check on\n * every create/update, so a misspelled field is an authorization defect, not a typo.\n *\n * Opting in is ADDITIVE: a caller whose organization-wide role already satisfies the operation is\n * never narrowed and keeps seeing the whole tenant, while a caller who would otherwise be denied\n * gains access to the rows of the units they hold. Opting a resource in therefore cannot shrink any\n * existing result set.\n *\n * Deliberately an object rather than a bare boolean so per-operation narrowing can be added later as\n * an optional property (D-C5) without migrating any existing declaration — Dynamics carries depth\n * per privilege, and Wildo already declares roles per operation variant, so that is the likely next\n * shape. Resource-level is a strict subset of it.\n */\nexport type OrganizationUnitNarrowingDeclaration = {\n /** The field on the resource holding the owning `ORGANIZATION_UNITS` id. */\n readonly unitFieldName: string;\n};\n/** @wildo_source:part:end saas.models.organization-unit-narrowing-declaration */\n\n/**\n * @wildo_source:part:start saas.models.organization-unit-narrowing-containment facet:layer:shared facet:family:authorization facet:audience:app-developer\n *\n * Resources that may NEVER be unit-narrowable — the authorization plane.\n *\n * ## The loop this closes\n *\n * A resource that ISSUES authority must not be governed by the authority it issues. Were\n * `ORGANIZATION_UNIT_MEMBERS` narrowable:\n *\n * 1. a principal who is organization-wide `ORG_MEMBER` but `ORG_ADMIN` of ONE unit\n * 2. satisfies the `ORG_ADMIN` gate on the grant surface via that unit grant,\n * 3. grants themselves `ORG_ADMIN` in every other unit,\n * 4. and the union of all units is organization-wide admin — assembled from a single unit grant.\n *\n * Step 3 is blocked today only because the role ceiling derives from organization-wide grants. That\n * is one refactor away from being undone (see the `D-C4 LOCK` regression test), so the containment\n * is also structural: a unit grant can never reach these resources at all.\n *\n * Every major suite enforces the same separation — SAP puts user↔role assignment behind dedicated\n * authorization objects, Azure puts role assignment outside the data plane behind\n * `Microsoft.Authorization/roleAssignments/write`, and Dynamics forbids assigning a role you do not\n * hold.\n *\n * `ORGANIZATION_MEMBERS` is listed for the same reason one level up: it carries the organization-wide\n * `roles` array that produces `initiatorRoles`. The roles-bearing machine credentials are listed\n * because the roles written at CREATE become the authority of every token minted from them.\n *\n * ## `ORGANIZATIONS` is listed for a SECOND, distinct reason — scope inversion\n *\n * The rule above is \"a resource that ISSUES authority may not be governed by the authority it\n * issues\". `ORGANIZATIONS` is barred by its sibling: **a resource that DEFINES a scope may not be\n * governed by a narrowing INSIDE that scope.** A unit is owned BY an organization, so letting the\n * owned thing gate access to its owner inverts the containment.\n *\n * That is not abstract. The tenant lifecycle verbs live on this resource, and\n * `request_deletion` / `suspend` are `ORG_ADMIN`-gated. Were `ORGANIZATIONS` narrowable, a principal\n * who is organization-wide `ORG_MEMBER` but `ORG_ADMIN` of ONE unit would satisfy that gate through\n * the unit grant — and one division's administrator could mark the ENTIRE tenant for deletion, or\n * halt it. The blast radius is the whole organization, reached from a grant that was supposed to\n * confine them to a subtree of it.\n *\n * It is also meaningless independently of the hazard: an organization is not located inside one of\n * its own units, so there is no honest `unitFieldName` to declare. Listing it turns a declaration\n * that could never be correct into a boot failure instead of a silent authorization hole.\n */\nexport const ORGANIZATION_UNIT_NARROWING_FORBIDDEN_RESOURCES: readonly CoreResourceType[] = [\n CoreResourceType.ORGANIZATION_UNIT_MEMBERS,\n CoreResourceType.ORGANIZATION_MEMBERS,\n CoreResourceType.ORGANIZATION_UNITS,\n // The tenant itself — scope inversion, and the door to the tenant lifecycle verbs. See the\n // dedicated section above; this is a different rule from the issues-authority one.\n CoreResourceType.ORGANIZATIONS,\n CoreResourceType.ORG_API_KEYS,\n CoreResourceType.OAUTH_CLIENTS_ORGANIZATION,\n // A credential authenticates the WHOLE TENANT toward a third party — there is one Slack workspace\n // behind it, not one per division. Narrowing it to a unit would let a unit-scoped administrator\n // rotate or delete the credential every other unit spends, which is the same issues-authority\n // hazard the sibling entries above record: the grant confines them to a subtree, the object they\n // reach does not live in one.\n CoreResourceType.ORG_PROVIDER_CREDENTIALS,\n // Service-provider relationships (#1597) ISSUE authority: accepting one, amending its scope or assigning\n // an expert to it hands a person outside the organization a membership inside it. A unit administrator\n // must never reach the verbs that do that, for the same issues-authority reason as the entries above.\n CoreResourceType.SERVICE_PROVIDER_RELATIONSHIPS,\n CoreResourceType.SERVICE_ENGAGEMENTS,\n CoreResourceType.SERVICE_ENGAGEMENT_ASSIGNMENTS,\n // A capability grant (#1631) issues ADMINISTRATIVE authority to people outside the organization — the most direct\n // form of the issues-authority hazard above.\n CoreResourceType.SERVICE_PROVIDER_CAPABILITY_GRANTS,\n];\n/** @wildo_source:part:end saas.models.organization-unit-narrowing-containment */\n\n/**\n * The engine's opted-in resources.\n *\n * EMPTY BY DESIGN. No engine resource carries a unit FK yet, and opting one in is a deliberate\n * per-resource decision, not a default. The mechanism ships ahead of its first consumer so that the\n * containment rule is enforced from the start rather than retrofitted after a resource has already\n * been narrowed incorrectly.\n */\nexport const ENGINE_ORGANIZATION_UNIT_NARROWING: Readonly<Partial<Record<CoreResourceType, OrganizationUnitNarrowingDeclaration>>> = {};\n\n/**\n * Merge the engine's opt-ins with an application's into the map that GOVERNS RUNTIME.\n *\n * The engine ships none today, so in practice this is the application's own map — but the merge\n * exists rather than the application map being used directly, because the containment validation and\n * every runtime lookup must see ONE map. A second, unmerged source is how a resource ends up narrowed\n * on the read path and not on the write path.\n *\n * An application declaration for a resource the engine also declares REPLACES it: the application\n * owns the field name on its own schema. Nothing here validates the result — the caller passes the\n * merged map to {@link collectOrganizationUnitNarrowingViolations} and fails closed at boot, so that\n * an application cannot narrow the authorization plane merely by declaring it later than the engine.\n */\nexport function mergeOrganizationUnitNarrowingDeclarations(\n engineNarrowing: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n applicationNarrowing: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>> | undefined,\n): Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>> {\n return { ...engineNarrowing, ...(applicationNarrowing ?? {}) };\n}\n\n/** A declaration that violates the D-C4 containment rule, or contradicts a DERIVED one. */\nexport type OrganizationUnitNarrowingViolation = {\n readonly resourceType: string;\n readonly reason:\n | 'authorization_plane_resource_cannot_be_unit_narrowable'\n | 'missing_unit_field_name'\n /**\n * An application named a different `unitFieldName` for a resource the ENGINE derives (#1058 R7).\n *\n * Refused rather than resolved either way. Letting the application win puts a read-through\n * resource's confinement on a field no projector writes, so every caller sees nothing; letting\n * the engine win silently makes the application's own declaration a lie it can read in its\n * source and never observe. The remedy is to delete the declaration, which is why the message\n * says so — the engine supplies it.\n */\n | 'derived_narrowing_contradicted';\n};\n\n/**\n * Fold the ENGINE's derived declarations over an application's, refusing any disagreement.\n *\n * Separate from {@link mergeOrganizationUnitNarrowingDeclarations}, and the asymmetry is the point.\n * That merge lets an APPLICATION replace an engine opt-in, because the application owns the field\n * name on its own schema. A DERIVED declaration is the opposite case: the field is the engine's, it\n * is written by the engine's own projector, and an application has no way to change where it lands.\n * So a disagreement there is not an override — it is a statement that cannot be true.\n *\n * An application declaration that AGREES is left alone rather than reported: it is redundant, not\n * wrong, and refusing redundancy would break every application that wrote down what the engine\n * would have derived anyway.\n */\nexport function foldDerivedOrganizationUnitNarrowing(\n declared: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n derived: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n): {\n readonly merged: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>;\n readonly violations: OrganizationUnitNarrowingViolation[];\n} {\n const violations: OrganizationUnitNarrowingViolation[] = [];\n const merged: Record<string, OrganizationUnitNarrowingDeclaration> = { ...declared };\n\n for (const [resourceType, declaration] of Object.entries(derived)) {\n if (!declaration) continue;\n const existing = declared[resourceType];\n if (existing !== undefined && existing.unitFieldName !== declaration.unitFieldName) {\n violations.push({ resourceType, reason: 'derived_narrowing_contradicted' });\n }\n merged[resourceType] = declaration;\n }\n\n return { merged, violations };\n}\n\n/**\n * Validate a narrowing registry against the containment rule.\n *\n * Returns violations rather than throwing so the caller owns the failure mode — the engine boot path\n * turns these into a startup error (fail closed: a misdeclared narrowing is a silent authorization\n * hole, so the application must not start), while tooling can report them without dying.\n */\nexport function collectOrganizationUnitNarrowingViolations(\n narrowingRegistry: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n): OrganizationUnitNarrowingViolation[] {\n const forbidden = new Set<string>(ORGANIZATION_UNIT_NARROWING_FORBIDDEN_RESOURCES);\n const violations: OrganizationUnitNarrowingViolation[] = [];\n\n for (const [resourceType, declaration] of Object.entries(narrowingRegistry)) {\n if (!declaration) continue;\n if (forbidden.has(resourceType)) {\n violations.push({ resourceType, reason: 'authorization_plane_resource_cannot_be_unit_narrowable' });\n continue;\n }\n if (typeof declaration.unitFieldName !== 'string' || declaration.unitFieldName.length === 0) {\n violations.push({ resourceType, reason: 'missing_unit_field_name' });\n }\n }\n\n return violations;\n}\n\n/**\n * Is this resource narrowed by organization unit?\n *\n * The single question every consumer asks. Reading the registry directly is how a call site ends up\n * disagreeing with the containment rule — the forbidden set is re-checked here so a registry that\n * was assembled without validation still cannot narrow the authorization plane.\n */\nexport function resolveOrganizationUnitNarrowing(\n narrowingRegistry: Readonly<Partial<Record<string, OrganizationUnitNarrowingDeclaration>>>,\n resourceType: string,\n): OrganizationUnitNarrowingDeclaration | undefined {\n if (ORGANIZATION_UNIT_NARROWING_FORBIDDEN_RESOURCES.includes(resourceType as CoreResourceType)) return undefined;\n const declaration = narrowingRegistry[resourceType];\n if (!declaration?.unitFieldName) return undefined;\n return declaration;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"organization-units.shared.path.d.ts","sourceRoot":"","sources":["../../../../src/organizations/organization-units.shared.path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,sFAAsF;AACtF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGnH;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3B,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI/G;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAE5E;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEpE"}
1
+ {"version":3,"file":"organization-units.shared.path.d.ts","sourceRoot":"","sources":["../../../src/organizations/organization-units.shared.path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,sFAAsF;AACtF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGnH;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC3B,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC,OAAO,CAET;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAI/G;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,EAAE,CAE5E;AAED,sDAAsD;AACtD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"organization-units.shared.path.js","sourceRoot":"","sources":["../../../../src/organizations/organization-units.shared.path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,UAA4D;IACzG,IAAI,CAAC,UAAU;QAAE,OAAO,2BAA2B,CAAC;IACpD,OAAO,GAAG,6BAA6B,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAmC;IAC/E,OAAO,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAA2B,EAC3B,IAAmC;IAEnC,OAAO,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAAsB,EAAE,SAAiB,EAAE,SAAiB;IACrG,MAAM,UAAU,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IACzD,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAsB;IAChE,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,6BAA6B,CAAC,IAA+B;IACpE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,2BAA2B;QAAE,OAAO,2BAA2B,CAAC;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7D,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC;AACrE,CAAC","sourcesContent":["/**\n * Organization-unit materialized-path contract (plan decision D-B1).\n *\n * ## Format\n *\n * `path` is the slash-delimited chain of a node's ANCESTOR ids, with a leading AND trailing slash.\n * It describes the route TO the node and deliberately does NOT include the node's own id:\n *\n * ```\n * root R path = \"/\" fullKey = \"/R\"\n * child C of R path = \"/R/\" fullKey = \"/R/C\"\n * grandchild G of C path = \"/R/C/\" fullKey = \"/R/C/G\"\n * ```\n *\n * ## Why ancestors-only, rather than a self-inclusive `/R/C/G`\n *\n * A self-inclusive path cannot be computed where it must be written. The materialized path has to\n * be set on the SAME write that inserts the row (a second write would leave a window in exactly the\n * broken state this field exists to remove — a row whose `path` is empty), but a CREATE custom\n * implementation never receives the new row's `_id`: the framework passes\n * `IdOrIdsOrFilterType | undefined` as the operation target, and for CREATE there is no target yet.\n *\n * The two alternatives were rejected:\n * - **Pre-generate the `_id` in the prefix** — id generation is adapter-specific (Mongo `ObjectId`\n * vs SQL uuid). Minting one in domain code couples the org-unit domain to a persistence adapter.\n * - **Write the path in a POSTFIX, after insert** — two writes per CREATE, and a failure between\n * them persists a unit with no path. Fixing \"the required `path` is never written\" by introducing\n * a new way for it to be missing is not a fix.\n *\n * Ancestors-only needs only the PARENT, which the prefix can read, so one write does the whole job.\n * Every property the format was chosen for survives: it is rename-stable (ids, not codes), the\n * cycle test stays a prefix comparison, and MOVE stays a prefix rewrite. The only cost is that\n * \"descendants of N\" keys off {@link organizationUnitSubtreePrefix} (`path + _id + '/'`) rather\n * than off `path` directly.\n *\n * ## Invariants\n *\n * - Always starts and ends with `/`. A root's path is exactly `/`.\n * - Contains ONLY ancestor ids, ordered root-first.\n * - Depth of a node = number of segments in `path` (a root has depth 0).\n * - Ids are opaque strings; this module never parses or validates them beyond emptiness.\n */\n\n/** The path of a unit that hangs directly under the organization (no parent unit). */\nexport const ORGANIZATION_UNIT_ROOT_PATH = '/';\n\n/**\n * The path to give a NEW child of `parentUnit`, or {@link ORGANIZATION_UNIT_ROOT_PATH} when the new\n * node is a root.\n *\n * This is the single place the \"descend one level\" rule is expressed — CREATE and MOVE both use it,\n * so a format change can never apply to one and miss the other.\n */\nexport function buildOrganizationUnitChildPath(parentUnit: { _id: string; path: string } | null | undefined): string {\n if (!parentUnit) return ORGANIZATION_UNIT_ROOT_PATH;\n return `${normalizeOrganizationUnitPath(parentUnit.path)}${parentUnit._id}/`;\n}\n\n/**\n * The prefix EVERY descendant of `unit` carries in its own `path`.\n *\n * `descendants(N) === { row | row.path.startsWith(subtreePrefix(N)) }`. Note this correctly EXCLUDES\n * `N` itself, whose path stops one level short.\n */\nexport function organizationUnitSubtreePrefix(unit: { _id: string; path: string }): string {\n return `${normalizeOrganizationUnitPath(unit.path)}${unit._id}/`;\n}\n\n/**\n * Is `candidate` inside `unit`'s subtree (strictly below it)?\n *\n * The O(1) cycle test MOVE depends on: re-parenting `unit` under one of its own descendants would\n * detach the branch from the tree and strand it in a ring.\n */\nexport function isOrganizationUnitInSubtree(\n candidate: { path: string },\n unit: { _id: string; path: string },\n): boolean {\n return normalizeOrganizationUnitPath(candidate.path).startsWith(organizationUnitSubtreePrefix(unit));\n}\n\n/**\n * Rewrite one descendant's path when its ancestor moves.\n *\n * MOVE changes only the prefix above the moved node; everything from the moved node downward keeps\n * its relative shape. Swapping the old subtree prefix for the new one therefore re-homes an entire\n * branch without re-deriving any node's position.\n *\n * Returns the path unchanged when it does not carry `oldPrefix`, so a caller that over-scans cannot\n * corrupt unrelated rows.\n */\nexport function rebaseOrganizationUnitPath(descendantPath: string, oldPrefix: string, newPrefix: string): string {\n const normalized = normalizeOrganizationUnitPath(descendantPath);\n if (!normalized.startsWith(oldPrefix)) return normalized;\n return `${newPrefix}${normalized.slice(oldPrefix.length)}`;\n}\n\n/**\n * The ancestor ids of a node, root-first — the ready-made input for a breadcrumb.\n *\n * Human-readable breadcrumbs are rendered from these ids against already-loaded ancestor rows; a\n * second, name-based path is deliberately NOT persisted (it would have to be rewritten on every\n * rename, and `code` is optional so it is not always well-formed).\n */\nexport function organizationUnitAncestorIds(unit: { path: string }): string[] {\n return normalizeOrganizationUnitPath(unit.path).split('/').filter((segment) => segment.length > 0);\n}\n\n/** Depth of a node in the tree; a root is depth 0. */\nexport function organizationUnitDepth(unit: { path: string }): number {\n return organizationUnitAncestorIds(unit).length;\n}\n\n/**\n * Coerce a stored path to the canonical bounded form.\n *\n * Defensive rather than decorative: rows written before `path` was materialized carry `undefined` or\n * `''`, and treating those as the root path keeps a legacy row addressable instead of throwing\n * mid-traversal. A value missing its delimiters would otherwise make `startsWith` comparisons match\n * across sibling ids (`/R1` would prefix-match `/R12`), which is precisely how a materialized-path\n * scheme silently leaks rows between branches.\n */\nfunction normalizeOrganizationUnitPath(path: string | null | undefined): string {\n if (!path || path === ORGANIZATION_UNIT_ROOT_PATH) return ORGANIZATION_UNIT_ROOT_PATH;\n const withLeading = path.startsWith('/') ? path : `/${path}`;\n return withLeading.endsWith('/') ? withLeading : `${withLeading}/`;\n}\n"]}
1
+ {"version":3,"file":"organization-units.shared.path.js","sourceRoot":"","sources":["../../../src/organizations/organization-units.shared.path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,UAA4D;IACzG,IAAI,CAAC,UAAU;QAAE,OAAO,2BAA2B,CAAC;IACpD,OAAO,GAAG,6BAA6B,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAmC;IAC/E,OAAO,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAA2B,EAC3B,IAAmC;IAEnC,OAAO,6BAA6B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;AACvG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,cAAsB,EAAE,SAAiB,EAAE,SAAiB;IACrG,MAAM,UAAU,GAAG,6BAA6B,CAAC,cAAc,CAAC,CAAC;IACjE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,UAAU,CAAC;IACzD,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAsB;IAChE,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACrG,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,qBAAqB,CAAC,IAAsB;IAC1D,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,6BAA6B,CAAC,IAA+B;IACpE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,2BAA2B;QAAE,OAAO,2BAA2B,CAAC;IACtF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7D,OAAO,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,GAAG,CAAC;AACrE,CAAC","sourcesContent":["/**\n * Organization-unit materialized-path contract (plan decision D-B1).\n *\n * ## Format\n *\n * `path` is the slash-delimited chain of a node's ANCESTOR ids, with a leading AND trailing slash.\n * It describes the route TO the node and deliberately does NOT include the node's own id:\n *\n * ```\n * root R path = \"/\" fullKey = \"/R\"\n * child C of R path = \"/R/\" fullKey = \"/R/C\"\n * grandchild G of C path = \"/R/C/\" fullKey = \"/R/C/G\"\n * ```\n *\n * ## Why ancestors-only, rather than a self-inclusive `/R/C/G`\n *\n * A self-inclusive path cannot be computed where it must be written. The materialized path has to\n * be set on the SAME write that inserts the row (a second write would leave a window in exactly the\n * broken state this field exists to remove — a row whose `path` is empty), but a CREATE custom\n * implementation never receives the new row's `_id`: the framework passes\n * `IdOrIdsOrFilterType | undefined` as the operation target, and for CREATE there is no target yet.\n *\n * The two alternatives were rejected:\n * - **Pre-generate the `_id` in the prefix** — id generation is adapter-specific (Mongo `ObjectId`\n * vs SQL uuid). Minting one in domain code couples the org-unit domain to a persistence adapter.\n * - **Write the path in a POSTFIX, after insert** — two writes per CREATE, and a failure between\n * them persists a unit with no path. Fixing \"the required `path` is never written\" by introducing\n * a new way for it to be missing is not a fix.\n *\n * Ancestors-only needs only the PARENT, which the prefix can read, so one write does the whole job.\n * Every property the format was chosen for survives: it is rename-stable (ids, not codes), the\n * cycle test stays a prefix comparison, and MOVE stays a prefix rewrite. The only cost is that\n * \"descendants of N\" keys off {@link organizationUnitSubtreePrefix} (`path + _id + '/'`) rather\n * than off `path` directly.\n *\n * ## Invariants\n *\n * - Always starts and ends with `/`. A root's path is exactly `/`.\n * - Contains ONLY ancestor ids, ordered root-first.\n * - Depth of a node = number of segments in `path` (a root has depth 0).\n * - Ids are opaque strings; this module never parses or validates them beyond emptiness.\n */\n\n/** The path of a unit that hangs directly under the organization (no parent unit). */\nexport const ORGANIZATION_UNIT_ROOT_PATH = '/';\n\n/**\n * The path to give a NEW child of `parentUnit`, or {@link ORGANIZATION_UNIT_ROOT_PATH} when the new\n * node is a root.\n *\n * This is the single place the \"descend one level\" rule is expressed — CREATE and MOVE both use it,\n * so a format change can never apply to one and miss the other.\n */\nexport function buildOrganizationUnitChildPath(parentUnit: { _id: string; path: string } | null | undefined): string {\n if (!parentUnit) return ORGANIZATION_UNIT_ROOT_PATH;\n return `${normalizeOrganizationUnitPath(parentUnit.path)}${parentUnit._id}/`;\n}\n\n/**\n * The prefix EVERY descendant of `unit` carries in its own `path`.\n *\n * `descendants(N) === { row | row.path.startsWith(subtreePrefix(N)) }`. Note this correctly EXCLUDES\n * `N` itself, whose path stops one level short.\n */\nexport function organizationUnitSubtreePrefix(unit: { _id: string; path: string }): string {\n return `${normalizeOrganizationUnitPath(unit.path)}${unit._id}/`;\n}\n\n/**\n * Is `candidate` inside `unit`'s subtree (strictly below it)?\n *\n * The O(1) cycle test MOVE depends on: re-parenting `unit` under one of its own descendants would\n * detach the branch from the tree and strand it in a ring.\n */\nexport function isOrganizationUnitInSubtree(\n candidate: { path: string },\n unit: { _id: string; path: string },\n): boolean {\n return normalizeOrganizationUnitPath(candidate.path).startsWith(organizationUnitSubtreePrefix(unit));\n}\n\n/**\n * Rewrite one descendant's path when its ancestor moves.\n *\n * MOVE changes only the prefix above the moved node; everything from the moved node downward keeps\n * its relative shape. Swapping the old subtree prefix for the new one therefore re-homes an entire\n * branch without re-deriving any node's position.\n *\n * Returns the path unchanged when it does not carry `oldPrefix`, so a caller that over-scans cannot\n * corrupt unrelated rows.\n */\nexport function rebaseOrganizationUnitPath(descendantPath: string, oldPrefix: string, newPrefix: string): string {\n const normalized = normalizeOrganizationUnitPath(descendantPath);\n if (!normalized.startsWith(oldPrefix)) return normalized;\n return `${newPrefix}${normalized.slice(oldPrefix.length)}`;\n}\n\n/**\n * The ancestor ids of a node, root-first — the ready-made input for a breadcrumb.\n *\n * Human-readable breadcrumbs are rendered from these ids against already-loaded ancestor rows; a\n * second, name-based path is deliberately NOT persisted (it would have to be rewritten on every\n * rename, and `code` is optional so it is not always well-formed).\n */\nexport function organizationUnitAncestorIds(unit: { path: string }): string[] {\n return normalizeOrganizationUnitPath(unit.path).split('/').filter((segment) => segment.length > 0);\n}\n\n/** Depth of a node in the tree; a root is depth 0. */\nexport function organizationUnitDepth(unit: { path: string }): number {\n return organizationUnitAncestorIds(unit).length;\n}\n\n/**\n * Coerce a stored path to the canonical bounded form.\n *\n * Defensive rather than decorative: rows written before `path` was materialized carry `undefined` or\n * `''`, and treating those as the root path keeps a legacy row addressable instead of throwing\n * mid-traversal. A value missing its delimiters would otherwise make `startsWith` comparisons match\n * across sibling ids (`/R1` would prefix-match `/R12`), which is precisely how a materialized-path\n * scheme silently leaks rows between branches.\n */\nfunction normalizeOrganizationUnitPath(path: string | null | undefined): string {\n if (!path || path === ORGANIZATION_UNIT_ROOT_PATH) return ORGANIZATION_UNIT_ROOT_PATH;\n const withLeading = path.startsWith('/') ? path : `/${path}`;\n return withLeading.endsWith('/') ? withLeading : `${withLeading}/`;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"organization-units.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/organizations/organization-units.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAoD,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAU/H,oBAAY,2BAA2B;IACrC,IAAI,SAAS,CAAE,gCAAgC;IAC/C,OAAO,YAAY,CAAE,eAAe;IACpC,OAAO,YAAY;CACpB;AASD,KAAK,8BAA8B,GAC/B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAKjC,eAAO,MAAM,2DAA2D,GAAI,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;mBAsLxH,CAAC"}
1
+ {"version":3,"file":"organization-units.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../src/organizations/organization-units.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAoD,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAU/H,oBAAY,2BAA2B;IACrC,IAAI,SAAS,CAAE,gCAAgC;IAC/C,OAAO,YAAY,CAAE,eAAe;IACpC,OAAO,YAAY;CACpB;AASD,KAAK,8BAA8B,GAC/B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAKjC,eAAO,MAAM,2DAA2D,GAAI,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;mBA2LxH,CAAC"}
@@ -89,7 +89,8 @@ export const organizationUnitResourceConfiguration_InitializationFactory = (reso
89
89
  roles: [CORE_ORG_ROLES.ORG_MEMBER],
90
90
  riskLevel: ResourceOperationRiskLevel.LOW,
91
91
  isSearchable: true,
92
- searchableFields: ['name', 'description'],
92
+ // A unit has a `code`, not a `description` (#1952).
93
+ searchableFields: ['name', 'code'],
93
94
  searchableOptions: { caseSensitive: false, fullMatchOnly: false },
94
95
  filterFields: ORGANIZATION_UNIT_FILTER_FIELDS,
95
96
  sortFields: ORGANIZATION_UNIT_SORT_FIELDS,
@@ -140,8 +141,10 @@ export const organizationUnitResourceConfiguration_InitializationFactory = (reso
140
141
  auditableEvent: { reasonField: 'reason' },
141
142
  resourceOperationLike: CoreResourceOperation.UPDATE,
142
143
  requestDto: z.object({
143
- newParentUnitId: z.string().optional(),
144
+ newParentUnitId: z.string().optional()
145
+ .describe('The unit to move this unit under, within the same organization. Omit it to make the unit a top-level unit. The whole subtree moves with it; a unit cannot be moved under itself or one of its own descendants.'),
144
146
  reason: z.string().max(500).optional()
147
+ .describe('Why the unit is being moved. Recorded with the audit event for the move.')
145
148
  }),
146
149
  }
147
150
  ],
@@ -163,6 +166,7 @@ export const organizationUnitResourceConfiguration_InitializationFactory = (reso
163
166
  resourceOperationLike: CoreResourceOperation.UPDATE,
164
167
  requestDto: z.object({
165
168
  reason: z.string().min(1).max(500)
169
+ .describe('Why the unit is being archived. Recorded with the audit event for the archive.')
166
170
  }),
167
171
  }
168
172
  ],
@@ -184,6 +188,7 @@ export const organizationUnitResourceConfiguration_InitializationFactory = (reso
184
188
  resourceOperationLike: CoreResourceOperation.UPDATE,
185
189
  requestDto: z.object({
186
190
  reason: z.string().max(500).optional()
191
+ .describe('Why the unit is being restored. Recorded with the audit event for the restore.')
187
192
  }),
188
193
  }
189
194
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"organization-units.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../src/organizations/organization-units.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAE,0BAA0B,EAA8C,MAAM,uCAAuC,CAAC;AAC/H,OAAO,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,MAAM,gDAAgD,CAAC;AACtH,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAExH,OAAO,EAAE,0CAA0C,EAAE,MAAM,8CAA8C,CAAC;AAE1G,OAAO,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEjF,gDAAgD;AAChD,MAAM,CAAN,IAAY,2BAIX;AAJD,WAAY,2BAA2B;IACrC,4CAAa,CAAA;IACb,kDAAmB,CAAA;IACnB,kDAAmB,CAAA;AACrB,CAAC,EAJW,2BAA2B,KAA3B,2BAA2B,QAItC;AAED,MAAM,6BAA6B,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAE5D,MAAM,+BAA+B,GAAG;IACtC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC;AAUF;;EAEE;AACF,MAAM,CAAC,MAAM,2DAA2D,GAAG,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAIvK;IACA,UAAU,EAAE,sBAAsB;IAClC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB;IACvD,uBAAuB,EAAE,kCAAkC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;IAChG,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,IAAI;IAEtB,cAAc,EAAE;QACd,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,IAAI;QAC1B,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,MAAM;QAC5B,qBAAqB,CAAC,MAAM;KAC7B;IAED,eAAe,EAAE,2BAA2B;IAE5C,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,8BAA8B;oBACjE,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,0CAA0C;iBAC3C;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,6BAA6B;oBACjE,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;YAC5B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,6BAA6B;oBACjE,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;oBAClC,SAAS,EAAE,0BAA0B,CAAC,GAAG;oBACzC,YAAY,EAAE,IAAI;oBAClB,gBAAgB,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;oBACzC,iBAAiB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;oBACjE,YAAY,EAAE,+BAA+B;oBAC7C,UAAU,EAAE,6BAA6B;oBACzC,8BAA8B,EAAE,EAAE;iBACnC;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,8BAA8B;oBACjE,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,0CAA0C;iBAC3C;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;aACF;SACF;QAED,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YAC9B,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,8BAA8B;oBACjE,SAAS,EAAE,0BAA0B,CAAC,IAAI;iBAC3C;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;aACF;SACF;QAED,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE;YAClC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,4BAA4B;oBAC/D,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,cAAc,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;oBACzC,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;wBACnB,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;wBACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;qBACvC,CAAC;iBACH;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;aACF;SACF;QAED,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,+BAA+B;oBAClE,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,cAAc,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;oBACzC,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;wBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;qBACnC,CAAC;iBACH;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;aACF;SACF;QAED,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE;YACrC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,+BAA+B;oBAClE,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,cAAc,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE;oBACpE,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;wBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;qBACvC,CAAC;iBACH;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;aACF;SACF;KACF;CACF,CAAC,CAAC","sourcesContent":["/**\n * Organization Unit Shared Resource Configuration\n *\n * Resource configuration for organization unit management.\n * Comprehensive unit lifecycle and hierarchical organization management.\n */\n\nimport { z } from 'zod';\nimport { OrganizationUnitSchema } from './organization-units.shared.schemas';\nimport { CoreResourceOperation } from '../resources/resources.shared.core.definitions';\nimport { ResourceOperationRiskLevel, ResourcePrimaryScope, ResourceRelationship } from '../resources/resources.shared.schemas';\nimport { CoreResourceType, coreResourceShared_FieldIdentifier } from '../resources/resources.shared.core.definitions';\nimport { ResourceOperationVariantType } from '../resources/resources.shared.schemas';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '../notifications/notifications.shared.schemas';\n\nimport { createResourceConfiguration_Initialization } from '../resources/resources-config.shared.factory';\n\nimport { CORE_ORG_ROLES } from '../security/authorizations/roles.shared.schemas';\n\n// Custom operations enum for organization units\nexport enum OrganizationUnit_Operations {\n MOVE = 'move', // Move unit to different parent\n ARCHIVE = 'archive', // Archive unit\n RESTORE = 'restore', // Restore archived unit\n}\n\nconst ORGANIZATION_UNIT_SORT_FIELDS = ['name', 'createdAt'];\n\nconst ORGANIZATION_UNIT_FILTER_FIELDS = {\n name: z.string(),\n parentUnitId: z.string(),\n};\n\ntype OrganizationUnitCoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.UPDATE\n | CoreResourceOperation.DELETE;\n\n/*\nOrganization Unit Resource Configuration Factory\n*/\nexport const organizationUnitResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof OrganizationUnit_Operations,\n OrganizationUnitCoreOperations,\n typeof OrganizationUnitSchema\n>({\n mainSchema: OrganizationUnitSchema,\n resourceIdentifier: CoreResourceType.ORGANIZATION_UNITS,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.ORGANIZATION_UNITS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true,\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.UPDATE,\n CoreResourceOperation.DELETE,\n ],\n\n customOperation: OrganizationUnit_Operations,\n\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can create units\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER], // Org members can view units\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER], // Org members can list units\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['name', 'description'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: ORGANIZATION_UNIT_FILTER_FIELDS,\n sortFields: ORGANIZATION_UNIT_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 50,\n }\n ],\n },\n\n [CoreResourceOperation.UPDATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can update units\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can delete units\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [OrganizationUnit_Operations.MOVE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can move units\n riskLevel: ResourceOperationRiskLevel.HIGH,\n auditableEvent: { reasonField: 'reason' },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n newParentUnitId: z.string().optional(),\n reason: z.string().max(500).optional()\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [OrganizationUnit_Operations.ARCHIVE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can archive units\n riskLevel: ResourceOperationRiskLevel.HIGH,\n auditableEvent: { reasonField: 'reason' },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n reason: z.string().min(1).max(500)\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [OrganizationUnit_Operations.RESTORE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can restore units\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n auditableEvent: { auditBelowRiskFloor: true, reasonField: 'reason' },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n reason: z.string().max(500).optional()\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n }\n },\n});\n"]}
1
+ {"version":3,"file":"organization-units.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../src/organizations/organization-units.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Organization Unit Shared Resource Configuration\n *\n * Resource configuration for organization unit management.\n * Comprehensive unit lifecycle and hierarchical organization management.\n */\n\nimport { z } from 'zod';\nimport { OrganizationUnitSchema } from './organization-units.shared.schemas';\nimport { CoreResourceOperation } from '../resources/resources.shared.core.definitions';\nimport { ResourceOperationRiskLevel, ResourcePrimaryScope, ResourceRelationship } from '../resources/resources.shared.schemas';\nimport { CoreResourceType, coreResourceShared_FieldIdentifier } from '../resources/resources.shared.core.definitions';\nimport { ResourceOperationVariantType } from '../resources/resources.shared.schemas';\nimport { CoreUserNotificationTarget, CoreUserNotificationChannel } from '../notifications/notifications.shared.schemas';\n\nimport { createResourceConfiguration_Initialization } from '../resources/resources-config.shared.factory';\n\nimport { CORE_ORG_ROLES } from '../security/authorizations/roles.shared.schemas';\n\n// Custom operations enum for organization units\nexport enum OrganizationUnit_Operations {\n MOVE = 'move', // Move unit to different parent\n ARCHIVE = 'archive', // Archive unit\n RESTORE = 'restore', // Restore archived unit\n}\n\nconst ORGANIZATION_UNIT_SORT_FIELDS = ['name', 'createdAt'];\n\nconst ORGANIZATION_UNIT_FILTER_FIELDS = {\n name: z.string(),\n parentUnitId: z.string(),\n};\n\ntype OrganizationUnitCoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.UPDATE\n | CoreResourceOperation.DELETE;\n\n/*\nOrganization Unit Resource Configuration Factory\n*/\nexport const organizationUnitResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof OrganizationUnit_Operations,\n OrganizationUnitCoreOperations,\n typeof OrganizationUnitSchema\n>({\n mainSchema: OrganizationUnitSchema,\n resourceIdentifier: CoreResourceType.ORGANIZATION_UNITS,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.ORGANIZATION_UNITS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true,\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.UPDATE,\n CoreResourceOperation.DELETE,\n ],\n\n customOperation: OrganizationUnit_Operations,\n\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can create units\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER], // Org members can view units\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER], // Org members can list units\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.SEARCH]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n // A unit has a `code`, not a `description` (#1952).\n searchableFields: ['name', 'code'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: ORGANIZATION_UNIT_FILTER_FIELDS,\n sortFields: ORGANIZATION_UNIT_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 50,\n }\n ],\n },\n\n [CoreResourceOperation.UPDATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can update units\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n // requestDto auto-derived from decorators\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can delete units\n riskLevel: ResourceOperationRiskLevel.HIGH,\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [OrganizationUnit_Operations.MOVE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can move units\n riskLevel: ResourceOperationRiskLevel.HIGH,\n auditableEvent: { reasonField: 'reason' },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n newParentUnitId: z.string().optional()\n .describe('The unit to move this unit under, within the same organization. Omit it to make the unit a top-level unit. The whole subtree moves with it; a unit cannot be moved under itself or one of its own descendants.'),\n reason: z.string().max(500).optional()\n .describe('Why the unit is being moved. Recorded with the audit event for the move.')\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [OrganizationUnit_Operations.ARCHIVE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can archive units\n riskLevel: ResourceOperationRiskLevel.HIGH,\n auditableEvent: { reasonField: 'reason' },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n reason: z.string().min(1).max(500)\n .describe('Why the unit is being archived. Recorded with the audit event for the archive.')\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n },\n\n [OrganizationUnit_Operations.RESTORE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Org admins can restore units\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n auditableEvent: { auditBelowRiskFloor: true, reasonField: 'reason' },\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n reason: z.string().max(500).optional()\n .describe('Why the unit is being restored. Recorded with the audit event for the restore.')\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n }\n ]\n }\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"organization-units.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/organizations/organization-units.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAMnG;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,oBAAY,0CAA0C;IACpD,qEAAqE;IACrE,YAAY,iBAAiB;IAC7B,wGAAwG;IACxG,cAAc,mBAAmB;CAClC;AAGD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBA4FlC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAG7E,CAAC"}
1
+ {"version":3,"file":"organization-units.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/organizations/organization-units.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AAMnG;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,oBAAY,0CAA0C;IACpD,qEAAqE;IACrE,YAAY,iBAAiB;IAC7B,wGAAwG;IACxG,cAAc,mBAAmB;CAClC;AAGD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBA4FlC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAGtE,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,gBAAgB,CAAC;IACvB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,eAAO,MAAM,8BAA8B,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAG7E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"organization-units.shared.schemas.js","sourceRoot":"","sources":["../../../../src/organizations/organization-units.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Organization Unit Shared Schemas\n * \n * Hierarchical organizational structures for enterprise access control.\n * Supports nested organizational units with downward-only permission-inheritance rules.\n *\n * Units ARE an authorization axis (WS-C, shipped 2026-08-01): a member's per-unit role is emitted\n * into `initiatorRoles` as a narrowed grant, and for resources that opt into unit narrowing it admits\n * the member at the operation gate and confines their rows to the units that grant covers —\n * propagating to descendants where {@link OrganizationUnit_PermissionInheritanceType.INHERIT_DOWN}\n * says so. A unit is a NARROWING dimension inside `ResourcePrimaryScope.ORGANIZATIONS`, never a scope\n * of its own (decision D-C1), so tenant isolation is unchanged.\n *\n * Narrowing is strictly opt-in per resource and ADDITIVE: an organization-wide role that already\n * satisfies an operation is never confined. See\n * `.claude/plans/tenant-teardown-and-organization-units-domain.md` (WS-C).\n */\n\nimport { z } from 'zod';\n\nimport { ErrorCustomMessageReference } from '../errors/errors.custom-message-ref.shared.definitions';\nimport { ExternalIdentitySource } from '../security/authentications/authentication.shared.schemas';\n\n// ===============================\n// ORGANIZATION UNIT ENUMS\n// ===============================\n\n/**\n * Organization unit type enum\n */\nexport enum OrganizationUnitType {\n COMPANY = 'company',\n DIVISION = 'division',\n DEPARTMENT = 'department',\n TEAM = 'team',\n SUBTEAM = 'subteam',\n PROJECT_GROUP = 'project_group',\n GEOGRAPHIC = 'geographic',\n FUNCTIONAL = 'functional',\n CUSTOM = 'custom'\n}\n\nexport enum OrganizationUnitStatus {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n ARCHIVED = 'archived',\n SUSPENDED = 'suspended'\n}\n\n/**\n * Direction in which a role held at one unit propagates across that unit's hierarchy edges.\n *\n * DOWNWARD ONLY, BY DESIGN. Only two directions exist, and that is a deliberate security\n * constraint rather than an unfinished vocabulary. A role granted at a unit may widen to that\n * unit's DESCENDANTS (the intuitive \"a division manager manages its teams\") or to nothing at all.\n *\n * `INHERIT_UP` and `BOTH_DIRECTIONS` were REMOVED (2026-07-31, decision D-C2). Upward propagation\n * means a role held at a leaf confers authority over its ANCESTORS — a team lead acquiring\n * division-wide authority by virtue of sitting inside it. That is privilege escalation along the\n * org chart, and it is the exact shape the role-ceiling gate\n * (`assertRequestedRolesWithinCallerCeiling`) exists to prevent on every other role-granting\n * surface; offering it as a one-field toggle here would have re-opened it structurally.\n *\n * If upward VISIBILITY is genuinely needed (\"a division head sees rolled-up team data\"), model it\n * as a reporting/aggregation concern — a read projection over the subtree — NOT as role\n * propagation. The two are different semantics and merging them costs the fail-closed guarantee.\n *\n * ENFORCED since 2026-08-01 (WS-C phase 3). The authorization gate expands a unit-scoped grant across\n * this edge before stamping it on the execution context, so the value governs how far the grant\n * actually reaches on every narrowed resource — read and write alike. The expansion is a PREFIX test\n * over the materialized `path`, never a recursive walk.\n *\n * ⚠️ Enforcement reads this field literally: an ABSENT value is treated as `NO_INHERITANCE`, which\n * deliberately differs from the write-time default below. A row reaching an authorization decision\n * without the field bypassed the schema that would have supplied that default, and a grant must never\n * widen on data the authorizer cannot vouch for.\n *\n * ⚠️ A grant at a ROOT unit with downward inheritance reaches the entire chart — functionally\n * organization-wide access assembled from one narrow grant. That is sound under the additive model but\n * must stay legible, which is why the access record reports directly-held and inherited units\n * separately (decision D-C4, watch item 4).\n *\n * assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE — least-privilege by construction: the\n * vocabulary cannot express an upward privilege grant.\n */\nexport enum OrganizationUnit_PermissionInheritanceType {\n /** A role held at this unit also applies to its descendant units. */\n INHERIT_DOWN = 'inherit_down',\n /** A role held at this unit applies to this unit only; the node is isolated for permission purposes. */\n NO_INHERITANCE = 'no_inheritance',\n}\n\n\n/**\n * A node of an organization's tree.\n *\n * **Business key — `code` is unique among siblings.** Declared here rather than only in the\n * application guard because the guard is a read-then-write: two concurrent CREATEs of the same code\n * under the same parent can each find nothing and each succeed. The compound index closes that\n * window at the database.\n *\n * BOTH adapters enforce it. This said the index was a \"MongoDB-only guarantee today\" because the SQL\n * planner only records uniqueness as intent — true of the PLANNER, and stale about the system:\n * enforcement is migration-owned and the migrations exist, so a PostgreSQL-backed application really\n * does carry\n * `create unique index … (\"organizationId\", \"parentUnitId\", \"code\") nulls not distinct where \"code\"\n * is not null` (read from `wonder-crm`'s initial schema, 2026-09-20). Corrected rather than deleted\n * because the reasoning is what a reader needs: the plan is INTENT, the migration is ENFORCEMENT, and\n * a resource change is not finished until every PostgreSQL-backed surface has one\n * (`.claude/rules/engine-resource-changes-owe-migrations.md`).\n *\n * The application guard in the unit custom implementation is KEPT anyway — not as a cross-adapter\n * backstop now, but because it raises the same\n * {@link ErrorCustomMessageReference.ORGANIZATION_UNIT_CODE_EXISTS} the index maps to, so a client\n * sees one code for one condition whichever layer catches it first.\n */\nexport const OrganizationUnitSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n organizationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n /**\n * The parent node of this unit; absent on a root that hangs directly under the organization.\n *\n * `.excludeFromUpdate()` (plan decision D-B2): re-parenting is owned exclusively by the MOVE\n * operation. A reparent has a subtree-wide side effect — every descendant's materialized\n * {@link OrganizationUnitSchema.shape.path} has to be rewritten — and it must be refused when the\n * destination sits inside the moved node's own subtree. Generic UPDATE performs neither, so\n * allowing it here would silently produce a tree whose paths describe a shape that no longer\n * exists, or a detached cycle. One operation, one authority.\n */\n parentUnitId: z.string().optional().isDBIndexed().isForeignKey().excludeFromUpdate(),\n status: z.enum(OrganizationUnitStatus).default(OrganizationUnitStatus.ACTIVE).isDBIndexed().isSummaryField(),\n inheritanceType: z.enum(OrganizationUnit_PermissionInheritanceType).default(OrganizationUnit_PermissionInheritanceType.INHERIT_DOWN).isDBIndexed(),\n \n path: z.string().isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n \n // Unit Identity\n name: z.string().min(1).max(100).isDBIndexed().isSummaryField(),\n /**\n * Short human-assigned handle for the unit, unique among its siblings — see the\n * {@link OrganizationUnitSchema} business key below for the exact scope and why it is optional.\n */\n code: z.string().min(1).max(20).optional(),\n type: z.enum(OrganizationUnitType).optional().isDBIndexed().isSummaryField(),\n\n /**\n * Which external system ASSERTS this unit — present only on a unit a directory created.\n *\n * Set to {@link ExternalIdentitySource.SCIM} by `POST /scim/v2/Groups` and by nothing else. It is the\n * ownership marker the SCIM Groups path keys on, and it has two jobs:\n *\n * 1. **`/Groups` reads and mutates ONLY units carrying it.** A hand-made unit answers 404 there.\n * Entra locates a group by `displayName` before creating it, so exposing every unit would let a\n * directory adopt a hand-authored \"Sales\" unit by name and start rewriting its membership —\n * name-matching into an authorization axis, which `scim-organization-unit-mapping.shared.ts`\n * refuses for the department path for the same reason.\n * 2. **The department path never removes an assignment on such a unit** — see\n * `resolveScimOrganizationUnitReconciliation`. Without that, every `/Users` push in an\n * organization using the department mapping would delete the memberships `/Groups` made, and a\n * directory that only sends membership DELTAS would never restore them.\n *\n * Why this is NOT derived from {@link OrganizationUnitSchema.shape.externalId}: Okta creates a group\n * with `schemas`, `displayName` and `members` only, so a unit can be directory-owned and carry no\n * `externalId` at all. Ownership and the directory's own identifier are two facts.\n *\n * `.excludeFromCreate()` / `.excludeFromUpdate()`: never client-settable. An organization admin who\n * could set it would hand a unit's membership to the directory; one who could clear it would strand\n * a group the directory still believes it manages.\n *\n * `.isSummaryField()`: the admin screen lists units through their SUMMARY projection, and this is\n * the one fact that explains why a rename there does not stick (#1392) — so it travels with the\n * row, like `status`, rather than only on the full read.\n */\n externalSource: z.enum(ExternalIdentitySource).optional().isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n /**\n * The DIRECTORY's own identifier for the group this unit represents (SCIM `externalId`).\n *\n * Client-owned by the protocol: the provisioning client issues it and the service provider stores\n * it, while the SCIM resource `id` is this unit's `_id`. `UserIdentityLink.providerUserId` is the\n * same idea one resource over.\n *\n * Unique PER ORGANIZATION and sparse — most units have no directory group. Planned as the composite\n * `[organizationId, externalId]` on both adapters; on PostgreSQL the index is PARTIAL\n * (`where \"externalId\" is not null`), and that predicate, not `nulls not distinct`, is what lets any\n * number of group-less units coexist (measured on PostgreSQL 17.11, 2026-09-20).\n *\n * ⚠️ NEVER write an explicit `null` here. The MongoDB index is a partial filter on\n * `{ externalId: { $exists: true } }`, and `$exists: true` matches a stored `null` — so the SECOND\n * unit in an organization to be \"cleared\" with `null` collides, while PostgreSQL accepts it. An\n * absent value must be an absent key. The SCIM Groups controller therefore never clears it.\n *\n * `.excludeFromCreate()` / `.excludeFromUpdate()` for the same reason as `externalSource`: only the\n * directory, through the trusted SCIM door, states it.\n */\n externalId: z.string().min(1).max(255).optional().isUnique({ scope: 'organization', sparse: true }).excludeFromCreate().excludeFromUpdate(),\n\n createdAt: z.date().default(() => new Date()).isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n updatedAt: z.date().default(() => new Date()).isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n}).businessKeySet(\n ['organizationId', 'parentUnitId', 'code'],\n {\n // A row with no `code` has no key at all, so it must sit OUTSIDE the constraint: any number of\n // code-less siblings under one parent is legitimate. `parentUnitId` is deliberately NOT listed\n // — an absent parent means \"root\", which is a real position in the tree, so roots must still\n // collide with each other. Listing it would exclude every root from the index and quietly lose\n // uniqueness for exactly the nodes an org chart starts with.\n skipRowsMissing: ['code'],\n conflictMessageReference: ErrorCustomMessageReference.ORGANIZATION_UNIT_CODE_EXISTS,\n },\n);\nexport type OrganizationUnit = z.infer<typeof OrganizationUnitSchema>;\n\n// RECURSIVE type - keep explicit interface\nexport interface OrganizationUnitTreeNode {\n unit: OrganizationUnit;\n children: OrganizationUnitTreeNode[];\n}\n\nexport const OrganizationUnitTreeNodeSchema: z.ZodType<OrganizationUnitTreeNode> = z.object({\n unit: OrganizationUnitSchema,\n children: z.array(z.lazy(() => OrganizationUnitTreeNodeSchema)).default([]),\n});\n\n"]}
1
+ {"version":3,"file":"organization-units.shared.schemas.js","sourceRoot":"","sources":["../../../src/organizations/organization-units.shared.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Organization Unit Shared Schemas\n * \n * Hierarchical organizational structures for enterprise access control.\n * Supports nested organizational units with downward-only permission-inheritance rules.\n *\n * Units ARE an authorization axis (WS-C, shipped 2026-08-01): a member's per-unit role is emitted\n * into `initiatorRoles` as a narrowed grant, and for resources that opt into unit narrowing it admits\n * the member at the operation gate and confines their rows to the units that grant covers —\n * propagating to descendants where {@link OrganizationUnit_PermissionInheritanceType.INHERIT_DOWN}\n * says so. A unit is a NARROWING dimension inside `ResourcePrimaryScope.ORGANIZATIONS`, never a scope\n * of its own (decision D-C1), so tenant isolation is unchanged.\n *\n * Narrowing is strictly opt-in per resource and ADDITIVE: an organization-wide role that already\n * satisfies an operation is never confined. See\n * `.claude/plans/tenant-teardown-and-organization-units-domain.md` (WS-C).\n */\n\nimport { z } from 'zod';\n\nimport { ErrorCustomMessageReference } from '../errors/errors.custom-message-ref.shared.definitions';\nimport { ExternalIdentitySource } from '../security/authentications/authentication.shared.schemas';\n\n// ===============================\n// ORGANIZATION UNIT ENUMS\n// ===============================\n\n/**\n * Organization unit type enum\n */\nexport enum OrganizationUnitType {\n COMPANY = 'company',\n DIVISION = 'division',\n DEPARTMENT = 'department',\n TEAM = 'team',\n SUBTEAM = 'subteam',\n PROJECT_GROUP = 'project_group',\n GEOGRAPHIC = 'geographic',\n FUNCTIONAL = 'functional',\n CUSTOM = 'custom'\n}\n\nexport enum OrganizationUnitStatus {\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n ARCHIVED = 'archived',\n SUSPENDED = 'suspended'\n}\n\n/**\n * Direction in which a role held at one unit propagates across that unit's hierarchy edges.\n *\n * DOWNWARD ONLY, BY DESIGN. Only two directions exist, and that is a deliberate security\n * constraint rather than an unfinished vocabulary. A role granted at a unit may widen to that\n * unit's DESCENDANTS (the intuitive \"a division manager manages its teams\") or to nothing at all.\n *\n * `INHERIT_UP` and `BOTH_DIRECTIONS` were REMOVED (2026-07-31, decision D-C2). Upward propagation\n * means a role held at a leaf confers authority over its ANCESTORS — a team lead acquiring\n * division-wide authority by virtue of sitting inside it. That is privilege escalation along the\n * org chart, and it is the exact shape the role-ceiling gate\n * (`assertRequestedRolesWithinCallerCeiling`) exists to prevent on every other role-granting\n * surface; offering it as a one-field toggle here would have re-opened it structurally.\n *\n * If upward VISIBILITY is genuinely needed (\"a division head sees rolled-up team data\"), model it\n * as a reporting/aggregation concern — a read projection over the subtree — NOT as role\n * propagation. The two are different semantics and merging them costs the fail-closed guarantee.\n *\n * ENFORCED since 2026-08-01 (WS-C phase 3). The authorization gate expands a unit-scoped grant across\n * this edge before stamping it on the execution context, so the value governs how far the grant\n * actually reaches on every narrowed resource — read and write alike. The expansion is a PREFIX test\n * over the materialized `path`, never a recursive walk.\n *\n * ⚠️ Enforcement reads this field literally: an ABSENT value is treated as `NO_INHERITANCE`, which\n * deliberately differs from the write-time default below. A row reaching an authorization decision\n * without the field bypassed the schema that would have supplied that default, and a grant must never\n * widen on data the authorizer cannot vouch for.\n *\n * ⚠️ A grant at a ROOT unit with downward inheritance reaches the entire chart — functionally\n * organization-wide access assembled from one narrow grant. That is sound under the additive model but\n * must stay legible, which is why the access record reports directly-held and inherited units\n * separately (decision D-C4, watch item 4).\n *\n * assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE — least-privilege by construction: the\n * vocabulary cannot express an upward privilege grant.\n */\nexport enum OrganizationUnit_PermissionInheritanceType {\n /** A role held at this unit also applies to its descendant units. */\n INHERIT_DOWN = 'inherit_down',\n /** A role held at this unit applies to this unit only; the node is isolated for permission purposes. */\n NO_INHERITANCE = 'no_inheritance',\n}\n\n\n/**\n * A node of an organization's tree.\n *\n * **Business key — `code` is unique among siblings.** Declared here rather than only in the\n * application guard because the guard is a read-then-write: two concurrent CREATEs of the same code\n * under the same parent can each find nothing and each succeed. The compound index closes that\n * window at the database.\n *\n * BOTH adapters enforce it. This said the index was a \"MongoDB-only guarantee today\" because the SQL\n * planner only records uniqueness as intent — true of the PLANNER, and stale about the system:\n * enforcement is migration-owned and the migrations exist, so a PostgreSQL-backed application really\n * does carry\n * `create unique index … (\"organizationId\", \"parentUnitId\", \"code\") nulls not distinct where \"code\"\n * is not null` (read from `wonder-crm`'s initial schema, 2026-09-20). Corrected rather than deleted\n * because the reasoning is what a reader needs: the plan is INTENT, the migration is ENFORCEMENT, and\n * a resource change is not finished until every PostgreSQL-backed surface has one\n * (`.claude/rules/engine-resource-changes-owe-migrations.md`).\n *\n * The application guard in the unit custom implementation is KEPT anyway — not as a cross-adapter\n * backstop now, but because it raises the same\n * {@link ErrorCustomMessageReference.ORGANIZATION_UNIT_CODE_EXISTS} the index maps to, so a client\n * sees one code for one condition whichever layer catches it first.\n */\nexport const OrganizationUnitSchema = z.object({\n _id: z.string().min(1).isPrimaryKey().isSummaryField(),\n organizationId: z.string().min(1).isDBIndexed().isForeignKey().isSummaryField().excludeFromUpdate(),\n /**\n * The parent node of this unit; absent on a root that hangs directly under the organization.\n *\n * `.excludeFromUpdate()` (plan decision D-B2): re-parenting is owned exclusively by the MOVE\n * operation. A reparent has a subtree-wide side effect — every descendant's materialized\n * {@link OrganizationUnitSchema.shape.path} has to be rewritten — and it must be refused when the\n * destination sits inside the moved node's own subtree. Generic UPDATE performs neither, so\n * allowing it here would silently produce a tree whose paths describe a shape that no longer\n * exists, or a detached cycle. One operation, one authority.\n */\n parentUnitId: z.string().optional().isDBIndexed().isForeignKey().excludeFromUpdate(),\n status: z.enum(OrganizationUnitStatus).default(OrganizationUnitStatus.ACTIVE).isDBIndexed().isSummaryField(),\n inheritanceType: z.enum(OrganizationUnit_PermissionInheritanceType).default(OrganizationUnit_PermissionInheritanceType.INHERIT_DOWN).isDBIndexed(),\n \n path: z.string().isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n \n // Unit Identity\n name: z.string().min(1).max(100).isDBIndexed().isSummaryField(),\n /**\n * Short human-assigned handle for the unit, unique among its siblings — see the\n * {@link OrganizationUnitSchema} business key below for the exact scope and why it is optional.\n */\n code: z.string().min(1).max(20).optional(),\n type: z.enum(OrganizationUnitType).optional().isDBIndexed().isSummaryField(),\n\n /**\n * Which external system ASSERTS this unit — present only on a unit a directory created.\n *\n * Set to {@link ExternalIdentitySource.SCIM} by `POST /scim/v2/Groups` and by nothing else. It is the\n * ownership marker the SCIM Groups path keys on, and it has two jobs:\n *\n * 1. **`/Groups` reads and mutates ONLY units carrying it.** A hand-made unit answers 404 there.\n * Entra locates a group by `displayName` before creating it, so exposing every unit would let a\n * directory adopt a hand-authored \"Sales\" unit by name and start rewriting its membership —\n * name-matching into an authorization axis, which `scim-organization-unit-mapping.shared.ts`\n * refuses for the department path for the same reason.\n * 2. **The department path never removes an assignment on such a unit** — see\n * `resolveScimOrganizationUnitReconciliation`. Without that, every `/Users` push in an\n * organization using the department mapping would delete the memberships `/Groups` made, and a\n * directory that only sends membership DELTAS would never restore them.\n *\n * Why this is NOT derived from {@link OrganizationUnitSchema.shape.externalId}: Okta creates a group\n * with `schemas`, `displayName` and `members` only, so a unit can be directory-owned and carry no\n * `externalId` at all. Ownership and the directory's own identifier are two facts.\n *\n * `.excludeFromCreate()` / `.excludeFromUpdate()`: never client-settable. An organization admin who\n * could set it would hand a unit's membership to the directory; one who could clear it would strand\n * a group the directory still believes it manages.\n *\n * `.isSummaryField()`: the admin screen lists units through their SUMMARY projection, and this is\n * the one fact that explains why a rename there does not stick (#1392) — so it travels with the\n * row, like `status`, rather than only on the full read.\n */\n externalSource: z.enum(ExternalIdentitySource).optional().isDBIndexed().isSummaryField().excludeFromCreate().excludeFromUpdate(),\n /**\n * The DIRECTORY's own identifier for the group this unit represents (SCIM `externalId`).\n *\n * Client-owned by the protocol: the provisioning client issues it and the service provider stores\n * it, while the SCIM resource `id` is this unit's `_id`. `UserIdentityLink.providerUserId` is the\n * same idea one resource over.\n *\n * Unique PER ORGANIZATION and sparse — most units have no directory group. Planned as the composite\n * `[organizationId, externalId]` on both adapters; on PostgreSQL the index is PARTIAL\n * (`where \"externalId\" is not null`), and that predicate, not `nulls not distinct`, is what lets any\n * number of group-less units coexist (measured on PostgreSQL 17.11, 2026-09-20).\n *\n * ⚠️ NEVER write an explicit `null` here. The MongoDB index is a partial filter on\n * `{ externalId: { $exists: true } }`, and `$exists: true` matches a stored `null` — so the SECOND\n * unit in an organization to be \"cleared\" with `null` collides, while PostgreSQL accepts it. An\n * absent value must be an absent key. The SCIM Groups controller therefore never clears it.\n *\n * `.excludeFromCreate()` / `.excludeFromUpdate()` for the same reason as `externalSource`: only the\n * directory, through the trusted SCIM door, states it.\n */\n externalId: z.string().min(1).max(255).optional().isUnique({ scope: 'organization', sparse: true }).excludeFromCreate().excludeFromUpdate(),\n\n createdAt: z.date().default(() => new Date()).isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n updatedAt: z.date().default(() => new Date()).isDBIndexed().excludeFromCreate().excludeFromUpdate(),\n}).businessKeySet(\n ['organizationId', 'parentUnitId', 'code'],\n {\n // A row with no `code` has no key at all, so it must sit OUTSIDE the constraint: any number of\n // code-less siblings under one parent is legitimate. `parentUnitId` is deliberately NOT listed\n // — an absent parent means \"root\", which is a real position in the tree, so roots must still\n // collide with each other. Listing it would exclude every root from the index and quietly lose\n // uniqueness for exactly the nodes an org chart starts with.\n skipRowsMissing: ['code'],\n conflictMessageReference: ErrorCustomMessageReference.ORGANIZATION_UNIT_CODE_EXISTS,\n },\n);\nexport type OrganizationUnit = z.infer<typeof OrganizationUnitSchema>;\n\n// RECURSIVE type - keep explicit interface\nexport interface OrganizationUnitTreeNode {\n unit: OrganizationUnit;\n children: OrganizationUnitTreeNode[];\n}\n\nexport const OrganizationUnitTreeNodeSchema: z.ZodType<OrganizationUnitTreeNode> = z.object({\n unit: OrganizationUnitSchema,\n children: z.array(z.lazy(() => OrganizationUnitTreeNodeSchema)).default([]),\n});\n\n"]}
@@ -92,7 +92,7 @@ type OrganizationCoreOperations = CoreResourceOperation.READ | CoreResourceOpera
92
92
  export declare const organizationResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("..").ResourceConfiguration<typeof Organization_Lifecycle_Operations, OrganizationCoreOperations, z.ZodObject<{
93
93
  _id: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
94
94
  name: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
95
- type: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
95
+ type: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
96
96
  slug: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>>;
97
97
  status: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodEnum<typeof OrganizationStatus>>>>>;
98
98
  platformAccessApprovalRequired: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodBoolean>>;
@@ -100,6 +100,8 @@ export declare const organizationResourceConfiguration_InitializationFactory: (r
100
100
  updatedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDefault<z.ZodDate>>>>;
101
101
  deletionRequestedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodNullable<z.ZodDate>>>>>>;
102
102
  ownerFloorSerializationToken: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>>>>;
103
+ serviceProviderRelationshipSerializationToken: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>>>>;
104
+ autonomousAgentBindingSerializationToken: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodNullable<z.ZodNumber>>>>>>;
103
105
  purgeScheduledAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodNullable<z.ZodDate>>>>>>;
104
106
  }, z.core.$strip>>;
105
107
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"organizations.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/organizations/organizations.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAoD,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAW/H;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,oBAAY,iCAAiC;IAC3C,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,6BAA6B,+BAA+B;IAC5D;;;;;;;OAOG;IACH,gBAAgB,qBAAqB;IACrC;;;;;;OAMG;IACH,OAAO,YAAY;CACpB;AAQD,KAAK,0BAA0B,GAC3B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAKjC,eAAO,MAAM,uDAAuD,GAAI,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;kBAqwBpH,CAAC"}
1
+ {"version":3,"file":"organizations.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../src/organizations/organizations.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,kBAAkB,EACnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,EAAoD,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAW/H;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,oBAAY,iCAAiC;IAC3C,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,6BAA6B,+BAA+B;IAC5D;;;;;;;OAOG;IACH,gBAAgB,qBAAqB;IACrC;;;;;;OAMG;IACH,OAAO,YAAY;CACpB;AAQD,KAAK,0BAA0B,GAC3B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAKjC,eAAO,MAAM,uDAAuD,GAAI,wBAAwB,oBAAoB,EAAE;;;;;;;;;;;;;;kBAywBpH,CAAC"}
@@ -302,7 +302,8 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
302
302
  roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // Same scope-root contract as LIST above
303
303
  riskLevel: ResourceOperationRiskLevel.LOW,
304
304
  isSearchable: true,
305
- searchableFields: ['name', 'slug', 'email'],
305
+ // An organization has no `email` (#1952): the name failed every PostgreSQL search on a missing column.
306
+ searchableFields: ['name', 'slug'],
306
307
  searchableOptions: { caseSensitive: false, fullMatchOnly: false },
307
308
  filterFields: ORGANIZATION_ADMIN_FILTER_FIELDS,
308
309
  sortFields: ORGANIZATION_ADMIN_SORT_FIELDS,
@@ -463,7 +464,7 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
463
464
  // nothing, so admitting the crossing costs no reversibility.
464
465
  admitsCrossTenantPlatformAdministration: true,
465
466
  requestDto: z.object({
466
- reason: z.string().max(500).optional()
467
+ reason: z.string().max(500).optional().describe('Why this is being done. Recorded on the audit trail, not on the organization.')
467
468
  }),
468
469
  // Conditional availability by org status. ACTIVATE re-enables a halted
469
470
  // or inactive organization, so it is available only from SUSPENDED or
@@ -506,8 +507,8 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
506
507
  riskLevel: ResourceOperationRiskLevel.CRITICAL,
507
508
  resourceOperationLike: CoreResourceOperation.UPDATE,
508
509
  requestDto: z.object({
509
- suspensionReason: z.string().min(1).max(500),
510
- notifyMembers: z.boolean().default(true)
510
+ suspensionReason: z.string().min(1).max(500).describe('Why the organization is suspended. Recorded on the audit trail, not on the organization.'),
511
+ notifyMembers: z.boolean().default(true).describe('Whether the organization\'s members are told of the suspension. Omitted means they are.')
511
512
  }),
512
513
  // Conditional availability by org status. SUSPEND halts an operational
513
514
  // organization, so it is available only from ACTIVE or TRIAL — never
@@ -598,7 +599,8 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
598
599
  riskLevel: ResourceOperationRiskLevel.CRITICAL,
599
600
  resourceOperationLike: CoreResourceOperation.UPDATE,
600
601
  requestDto: z.object({
601
- reason: z.string().max(500).optional()
602
+ reason: z.string().max(500).optional().describe('Why this is being done. Recorded on the audit trail, not on the organization.')
603
+ .describe('Why the organization is being scheduled for deletion. Recorded with the audit event for the deletion request.')
602
604
  }),
603
605
  requiresStepUpAuthentication: true,
604
606
  // Available only from a state the tenant can still be marked FROM. Never from DELETED
@@ -646,7 +648,8 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
646
648
  riskLevel: ResourceOperationRiskLevel.HIGH,
647
649
  resourceOperationLike: CoreResourceOperation.UPDATE,
648
650
  requestDto: z.object({
649
- reason: z.string().max(500).optional()
651
+ reason: z.string().max(500).optional().describe('Why this is being done. Recorded on the audit trail, not on the organization.')
652
+ .describe('Why the organization is being scheduled for deletion. Recorded with the audit event for the deletion request.')
650
653
  }),
651
654
  // The flag is per-VARIANT — nothing is inherited from the variant above. Marking someone
652
655
  // else's tenant for destruction is not a lesser act than marking your own.
@@ -732,7 +735,7 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
732
735
  admitsCrossTenantPlatformAdministration: true,
733
736
  resourceOperationLike: CoreResourceOperation.UPDATE,
734
737
  requestDto: z.object({
735
- reason: z.string().max(500).optional()
738
+ reason: z.string().max(500).optional().describe('Why this is being done. Recorded on the audit trail, not on the organization.')
736
739
  }),
737
740
  // Only a MARKED tenant can be restored. From any live state this is a no-op, and from
738
741
  // the terminal CANCELLED it is not a deletion being undone.
@@ -808,7 +811,8 @@ export const organizationResourceConfiguration_InitializationFactory = (resource
808
811
  riskLevel: ResourceOperationRiskLevel.CRITICAL,
809
812
  resourceOperationLike: CoreResourceOperation.UPDATE,
810
813
  requestDto: z.object({
811
- justification: z.string().min(1).max(1000),
814
+ justification: z.string().min(1).max(1000)
815
+ .describe('Why this organization becomes the one that operates the application. Required, because the promotion cannot be undone; it is recorded on the audit event beside the organization type it replaced.'),
812
816
  }),
813
817
  // Irreversible and it re-points everything the application owns as an operator. A hijacked
814
818
  // session must not reach it on the strength of a login that happened at some earlier point.