@wildo-ai/saas-models 1.1.3 → 1.1.5

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 (890) hide show
  1. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts +1 -1
  2. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts +1 -1
  3. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -2
  4. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
  5. package/dist/esm/applications/applications-context.schemas.d.ts +236 -18
  6. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  7. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts +1 -0
  8. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  9. package/dist/esm/applications/applications.shared.resources-config.schemas.js +1 -1
  10. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  11. package/dist/esm/applications/applications.shared.schemas.d.ts +3 -2
  12. package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
  13. package/dist/esm/applications/applications.shared.schemas.js +40 -5
  14. package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
  15. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +1 -2
  16. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  17. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +1 -2
  18. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
  19. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +87 -5
  20. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  21. package/dist/esm/billing/billing-enums.shared.schemas.js +91 -5
  22. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  23. package/dist/esm/billing/billing-types.shared.schemas.d.ts +25 -4
  24. package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
  25. package/dist/esm/billing/billing-types.shared.schemas.js +61 -0
  26. package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
  27. package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
  28. package/dist/esm/billing/price.shared.resources-config.schemas.js +32 -2
  29. package/dist/esm/billing/price.shared.resources-config.schemas.js.map +1 -1
  30. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  31. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +1 -1
  32. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  33. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
  34. package/dist/esm/billing/product.shared.resources-config.schemas.js +32 -2
  35. package/dist/esm/billing/product.shared.resources-config.schemas.js.map +1 -1
  36. package/dist/esm/billing/product.shared.schemas.d.ts +1 -0
  37. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  38. package/dist/esm/billing/product.shared.schemas.js +3 -0
  39. package/dist/esm/billing/product.shared.schemas.js.map +1 -1
  40. package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
  41. package/dist/esm/billing/promotions.shared.resources-config.schemas.js +33 -3
  42. package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
  43. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
  44. package/dist/esm/billing/referral.shared.resources-config.schemas.js +22 -2
  45. package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
  46. package/dist/esm/billing/referral.shared.schemas.d.ts +1 -0
  47. package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
  48. package/dist/esm/billing/referral.shared.schemas.js +3 -0
  49. package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
  50. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +23 -1
  51. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
  52. package/dist/esm/billing/subscription.shared.resources-config.schemas.js +48 -2
  53. package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
  54. package/dist/esm/billing/subscription.shared.schemas.d.ts +1 -0
  55. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  56. package/dist/esm/billing/subscription.shared.schemas.js +3 -0
  57. package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
  58. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts +49 -0
  59. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -0
  60. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js +48 -0
  61. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -0
  62. package/dist/esm/billing/usage-record.shared.schemas.d.ts +1 -0
  63. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  64. package/dist/esm/billing/usage-record.shared.schemas.js +3 -0
  65. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  66. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +8 -0
  67. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  68. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -3
  69. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  70. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +21 -7
  71. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
  72. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +450 -0
  73. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -0
  74. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +723 -0
  75. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -0
  76. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +2 -2
  77. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +8 -0
  78. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  79. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +15 -0
  80. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  81. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +787 -21
  82. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  83. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +1079 -26
  84. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  85. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  86. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +51 -0
  87. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  88. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts +463 -0
  89. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -0
  90. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js +526 -0
  91. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -0
  92. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts +539 -15
  93. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
  94. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js +402 -14
  95. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
  96. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts +18 -0
  97. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -0
  98. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js +89 -0
  99. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -0
  100. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts +47 -0
  101. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -0
  102. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js +73 -0
  103. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -0
  104. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +21 -0
  105. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
  106. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +39 -1
  107. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
  108. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts +33 -0
  109. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -0
  110. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js +30 -0
  111. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -0
  112. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts +6 -5
  113. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
  114. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js +15 -5
  115. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js.map +1 -1
  116. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts +127 -0
  117. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts.map +1 -0
  118. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js +94 -0
  119. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -0
  120. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts +125 -0
  121. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -0
  122. package/dist/esm/compliance/privacy/consent-purposes.shared.js +136 -0
  123. package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -0
  124. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +91 -0
  125. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -0
  126. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +123 -0
  127. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -0
  128. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts +27 -0
  129. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
  130. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js +36 -2
  131. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
  132. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +68 -25
  133. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  134. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +74 -22
  135. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
  136. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts +9 -17
  137. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  138. package/dist/esm/compliance/privacy/privacy.shared.schemas.js +74 -31
  139. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  140. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts +47 -0
  141. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -0
  142. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js +98 -0
  143. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -0
  144. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +368 -35
  145. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
  146. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +403 -17
  147. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
  148. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts +56 -0
  149. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -0
  150. package/dist/esm/compliance/review-cadence.shared.schemas.js +71 -0
  151. package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -0
  152. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts +161 -0
  153. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -0
  154. package/dist/esm/compliance/risk-posture.shared.schemas.js +166 -0
  155. package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -0
  156. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts +4 -3
  157. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  158. package/dist/esm/config/analytics-value-moments.shared.schemas.js +4 -3
  159. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  160. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +222 -9
  161. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  162. package/dist/esm/config/app-configuration-shared.shared.schemas.js +232 -9
  163. package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
  164. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts +75 -3
  165. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  166. package/dist/esm/config/auth-config-resolution.shared.utils.js +93 -4
  167. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  168. package/dist/esm/config/brand-assets.shared.schemas.d.ts +5 -4
  169. package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
  170. package/dist/esm/config/brand-assets.shared.schemas.js +14 -4
  171. package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
  172. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +463 -19
  173. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  174. package/dist/esm/config/entity-identity-config.shared.schemas.js +535 -28
  175. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  176. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +14 -14
  177. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts +139 -3
  178. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
  179. package/dist/esm/config/frontend/chart-registration-alignment.shared.js +151 -4
  180. package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
  181. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +21 -17
  182. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  183. package/dist/esm/config/frontend/navigation.shared.schemas.js +58 -40
  184. package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
  185. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts +90 -133
  186. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
  187. package/dist/esm/config/frontend/onboarding.shared.schemas.js +148 -100
  188. package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
  189. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +146 -43
  190. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  191. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +147 -42
  192. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  193. package/dist/esm/errors/errors.shared.definitions.js +1 -1
  194. package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
  195. package/dist/esm/errors/errors.shared.schemas.d.ts +29 -40
  196. package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
  197. package/dist/esm/errors/errors.shared.schemas.js +37 -54
  198. package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
  199. package/dist/esm/errors/errors.shared.utils.d.ts +24 -0
  200. package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
  201. package/dist/esm/errors/errors.shared.utils.js +39 -0
  202. package/dist/esm/errors/errors.shared.utils.js.map +1 -1
  203. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +27 -0
  204. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -0
  205. package/dist/esm/errors/thrown-value-description.shared.utils.js +67 -0
  206. package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -0
  207. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +48 -73
  208. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  209. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js +103 -9
  210. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  211. package/dist/esm/external-data.exports.d.ts +1 -0
  212. package/dist/esm/external-data.exports.d.ts.map +1 -1
  213. package/dist/esm/external-data.exports.js +1 -0
  214. package/dist/esm/external-data.exports.js.map +1 -1
  215. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +18 -12
  216. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  217. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +18 -12
  218. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  219. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts +5 -3
  220. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  221. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +5 -3
  222. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  223. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts +77 -0
  224. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -0
  225. package/dist/esm/external-providers/engine-capability-surface.shared.js +173 -0
  226. package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -0
  227. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts +2 -0
  228. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
  229. package/dist/esm/external-providers/external-providers.shared.schemas.js +21 -0
  230. package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
  231. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +131 -7
  232. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  233. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +114 -0
  234. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
  235. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +148 -0
  236. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
  237. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +108 -0
  238. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  239. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +86 -0
  240. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  241. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +184 -0
  242. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -0
  243. package/dist/esm/external-providers/frontend-provider-public-config.shared.js +216 -0
  244. package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -0
  245. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts +30 -0
  246. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -0
  247. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js +32 -0
  248. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -0
  249. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +86 -0
  250. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -0
  251. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +85 -0
  252. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -0
  253. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +14 -13
  254. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  255. package/dist/esm/external-providers/provider-capability.shared.schemas.js +10 -10
  256. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  257. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +18 -8
  258. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  259. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +10 -4
  260. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  261. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +165 -0
  262. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -0
  263. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +39 -0
  264. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -0
  265. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +7 -5
  266. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
  267. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +7 -5
  268. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
  269. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +8 -5
  270. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  271. package/dist/esm/external-providers/provider-metadata.shared.schemas.js +5 -2
  272. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  273. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +2 -0
  274. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
  275. package/dist/esm/features/application-features.shared.resources-config.schemas.js +42 -3
  276. package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
  277. package/dist/esm/features/connected-feature.example.d.ts +64 -0
  278. package/dist/esm/features/connected-feature.example.d.ts.map +1 -0
  279. package/dist/esm/features/connected-feature.example.js +86 -0
  280. package/dist/esm/features/connected-feature.example.js.map +1 -0
  281. package/dist/esm/features/scope-features.shared.schemas.d.ts +53 -0
  282. package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
  283. package/dist/esm/features/scope-features.shared.schemas.js +37 -0
  284. package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
  285. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +1 -1
  286. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  287. package/dist/esm/features/user-features.shared.resources-config.schemas.js +42 -48
  288. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  289. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts +73 -0
  290. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -0
  291. package/dist/esm/files/file-remote-reference-link.shared.schemas.js +62 -0
  292. package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -0
  293. package/dist/esm/files/files.shared.resources-config.schemas.d.ts +3 -3
  294. package/dist/esm/files/files.shared.resources-config.schemas.js +3 -3
  295. package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
  296. package/dist/esm/flows-actors/actors.shared.schemas.d.ts +152 -129
  297. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  298. package/dist/esm/flows-actors/actors.shared.schemas.js +99 -2
  299. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  300. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +6 -0
  301. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
  302. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +3 -3
  303. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  304. package/dist/esm/flows-actors/agents.shared.schemas.js +11 -5
  305. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  306. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +13 -0
  307. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  308. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  309. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts +45 -0
  310. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.map +1 -0
  311. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js +51 -0
  312. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -0
  313. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +31 -0
  314. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  315. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +61 -3
  316. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  317. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts +2 -2
  318. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +16 -8
  319. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  320. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +23 -11
  321. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  322. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts +0 -189
  323. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
  324. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +14 -50
  325. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
  326. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +0 -3
  327. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
  328. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +0 -1
  329. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
  330. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +1 -67
  331. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  332. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js +1 -2
  333. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  334. package/dist/esm/flows-actors/flows.shared.schemas.d.ts +0 -1
  335. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  336. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +121 -0
  337. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -0
  338. package/dist/esm/flows-actors/human-decision.shared.schemas.js +252 -0
  339. package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -0
  340. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts +2 -0
  341. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
  342. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js +13 -0
  343. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
  344. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +24 -0
  345. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -0
  346. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +80 -0
  347. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -0
  348. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +123 -0
  349. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -0
  350. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +181 -0
  351. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -0
  352. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +58 -81
  353. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
  354. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js +75 -38
  355. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
  356. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +217 -0
  357. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -0
  358. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +230 -0
  359. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -0
  360. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts +106 -24
  361. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
  362. package/dist/esm/guidance/guidance-flow.shared.schemas.js +152 -14
  363. package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
  364. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts +0 -6
  365. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  366. package/dist/esm/guidance/lifecycle-state.shared.schemas.js +0 -19
  367. package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
  368. package/dist/esm/guidance/milestone-builders.shared.d.ts +4 -2
  369. package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
  370. package/dist/esm/guidance/milestone-builders.shared.js +4 -2
  371. package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
  372. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts +66 -4
  373. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
  374. package/dist/esm/guidance/milestone-definition.shared.schemas.js +50 -0
  375. package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
  376. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts +71 -0
  377. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -0
  378. package/dist/esm/guidance/progression-presentation.shared.schemas.js +72 -0
  379. package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -0
  380. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts +2 -0
  381. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  382. package/dist/esm/guidance/progression-state.shared.schemas.d.ts +4 -0
  383. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  384. package/dist/esm/guidance/progression-state.shared.schemas.js +5 -0
  385. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  386. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
  387. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +2 -1
  388. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
  389. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +181 -412
  390. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  391. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +249 -199
  392. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  393. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +107 -0
  394. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -0
  395. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +108 -0
  396. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -0
  397. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts +38 -0
  398. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -0
  399. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js +42 -0
  400. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -0
  401. package/dist/esm/index.d.ts +47 -4
  402. package/dist/esm/index.d.ts.map +1 -1
  403. package/dist/esm/index.js +77 -16
  404. package/dist/esm/index.js.map +1 -1
  405. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -0
  406. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -0
  407. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -0
  408. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -0
  409. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts +130 -0
  410. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -0
  411. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js +104 -0
  412. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -0
  413. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -0
  414. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -0
  415. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/decisions.meta-workflows.shared.schemas.d.ts +64 -0
  416. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -0
  417. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/decisions.meta-workflows.shared.schemas.js +47 -0
  418. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -0
  419. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +544 -0
  420. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -0
  421. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +638 -0
  422. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -0
  423. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/portable-primitives.meta-workflows.shared.schemas.d.ts +15 -8
  424. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -0
  425. package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/portable-primitives.meta-workflows.shared.schemas.js +15 -8
  426. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -0
  427. package/dist/esm/meta-workflows.exports.d.ts +21 -25
  428. package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
  429. package/dist/esm/meta-workflows.exports.js +21 -25
  430. package/dist/esm/meta-workflows.exports.js.map +1 -1
  431. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts +16 -0
  432. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -0
  433. package/dist/esm/notifications/email/email-submission.shared.enums.js +17 -0
  434. package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -0
  435. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +36 -0
  436. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  437. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js +50 -3
  438. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  439. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  440. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js +4 -1
  441. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
  442. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts +2 -1
  443. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
  444. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js +3 -2
  445. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js.map +1 -1
  446. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  447. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +44 -3
  448. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  449. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts +1 -1
  450. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  451. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js +12 -33
  452. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
  453. package/dist/esm/notifications/notifications.shared.schemas.d.ts +68 -6
  454. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  455. package/dist/esm/notifications/notifications.shared.schemas.js +68 -6
  456. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  457. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts +145 -0
  458. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -0
  459. package/dist/esm/organizations/application-owner-organization.shared.schemas.js +146 -0
  460. package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -0
  461. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +2 -0
  462. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
  463. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +39 -3
  464. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
  465. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +1 -1
  466. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  467. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +18 -14
  468. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
  469. package/dist/esm/organizations/organization-members.shared.schemas.d.ts +1 -1
  470. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  471. package/dist/esm/organizations/organization-members.shared.schemas.js +9 -1
  472. package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
  473. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts +2 -1
  474. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  475. package/dist/esm/organizations/organization-preferences.shared.schemas.js +3 -0
  476. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  477. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +3 -1
  478. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  479. package/dist/esm/organizations/organization-profile.shared.schemas.js +4 -2
  480. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  481. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts +29 -2
  482. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  483. package/dist/esm/organizations/organization-unit-narrowing.shared.js +27 -0
  484. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  485. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts +2 -0
  486. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
  487. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js +3 -0
  488. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
  489. package/dist/esm/organizations/organization-units.shared.schemas.d.ts +17 -5
  490. package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
  491. package/dist/esm/organizations/organization-units.shared.schemas.js +65 -5
  492. package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
  493. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +51 -7
  494. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  495. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +151 -7
  496. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  497. package/dist/esm/organizations/organizations.shared.schemas.d.ts +18 -83
  498. package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
  499. package/dist/esm/organizations/organizations.shared.schemas.js +37 -19
  500. package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
  501. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +13 -0
  502. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
  503. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +13 -0
  504. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
  505. package/dist/esm/provider-registration-runtime.exports.d.ts +1 -0
  506. package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
  507. package/dist/esm/provider-registration-runtime.exports.js +1 -0
  508. package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
  509. package/dist/esm/public-runtime/index.d.ts +53 -2
  510. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  511. package/dist/esm/public-runtime/index.js +45 -2
  512. package/dist/esm/public-runtime/index.js.map +1 -1
  513. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts +7 -8
  514. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  515. package/dist/esm/queue/jobs.shared.resources-config.schemas.js +30 -6
  516. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  517. package/dist/esm/queue/jobs.shared.schemas.d.ts +388 -2
  518. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  519. package/dist/esm/queue/jobs.shared.schemas.js +315 -11
  520. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  521. package/dist/esm/queue/jobs.shared.utils.d.ts +6 -4
  522. package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
  523. package/dist/esm/queue/jobs.shared.utils.js +5 -4
  524. package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
  525. package/dist/esm/queue/queues.shared.schemas.d.ts +20 -8
  526. package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
  527. package/dist/esm/queue/queues.shared.schemas.js +23 -18
  528. package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
  529. package/dist/esm/queue/queues.shared.utils.d.ts +4 -2
  530. package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
  531. package/dist/esm/queue/queues.shared.utils.js +4 -2
  532. package/dist/esm/queue/queues.shared.utils.js.map +1 -1
  533. package/dist/esm/rag/rag-retrieval-health.shared.d.ts +27 -0
  534. package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -0
  535. package/dist/esm/rag/rag-retrieval-health.shared.js +29 -0
  536. package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -0
  537. package/dist/esm/requests/header-keys.shared.d.ts +6 -0
  538. package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
  539. package/dist/esm/requests/header-keys.shared.js +7 -0
  540. package/dist/esm/requests/header-keys.shared.js.map +1 -1
  541. package/dist/esm/requests/idempotency-key.shared.d.ts +76 -0
  542. package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -0
  543. package/dist/esm/requests/idempotency-key.shared.js +112 -0
  544. package/dist/esm/requests/idempotency-key.shared.js.map +1 -0
  545. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
  546. package/dist/esm/requests/manual-controllers-routes-documentation.js +275 -20
  547. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
  548. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +134 -0
  549. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  550. package/dist/esm/requests/manual-controllers-routes-urls.js +153 -0
  551. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  552. package/dist/esm/requests/websocket.shared.schemas.d.ts +198 -20
  553. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  554. package/dist/esm/requests/websocket.shared.schemas.js +236 -5
  555. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  556. package/dist/esm/resources/child-operations.shared.schemas.d.ts +56 -5
  557. package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
  558. package/dist/esm/resources/child-operations.shared.schemas.js +97 -5
  559. package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
  560. package/dist/esm/resources/context-policy.shared.schemas.d.ts +20 -0
  561. package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
  562. package/dist/esm/resources/context-policy.shared.schemas.js +3 -0
  563. package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
  564. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  565. package/dist/esm/resources/resources-config.shared.factory.js +596 -34
  566. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  567. package/dist/esm/resources/resources-config.shared.schemas.d.ts +665 -40
  568. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  569. package/dist/esm/resources/resources-config.shared.schemas.js +315 -22
  570. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  571. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  572. package/dist/esm/resources/resources-registry.shared.core.definitions.js +431 -69
  573. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  574. package/dist/esm/resources/resources.shared.core.definitions.d.ts +36 -0
  575. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  576. package/dist/esm/resources/resources.shared.core.definitions.js +46 -0
  577. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  578. package/dist/esm/resources/resources.shared.schemas.d.ts +256 -10
  579. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  580. package/dist/esm/resources/resources.shared.schemas.js +209 -9
  581. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  582. package/dist/esm/resources/resources.shared.utils.d.ts +34 -8
  583. package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
  584. package/dist/esm/resources/resources.shared.utils.js +69 -12
  585. package/dist/esm/resources/resources.shared.utils.js.map +1 -1
  586. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts +44 -12
  587. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
  588. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js +46 -23
  589. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
  590. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts +61 -0
  591. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -0
  592. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js +79 -0
  593. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -0
  594. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts +60 -0
  595. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -0
  596. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js +80 -0
  597. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -0
  598. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts +21 -0
  599. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -0
  600. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +159 -0
  601. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -0
  602. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts +15 -0
  603. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
  604. package/dist/esm/resources/utils/resources-config-naming.utils.js +56 -11
  605. package/dist/esm/resources/utils/resources-config-naming.utils.js.map +1 -1
  606. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +51 -1
  607. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  608. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +210 -51
  609. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
  610. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts +34 -0
  611. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
  612. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js +45 -1
  613. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js.map +1 -1
  614. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts +29 -0
  615. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  616. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +30 -0
  617. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  618. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
  619. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js +49 -11
  620. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js.map +1 -1
  621. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  622. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +4 -1
  623. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  624. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  625. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +4 -1
  626. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  627. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +129 -17
  628. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  629. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +160 -6
  630. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  631. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts +324 -9
  632. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  633. package/dist/esm/security/authentications/authentication.shared.schemas.js +411 -8
  634. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  635. package/dist/esm/security/authentications/authentication.shared.utils.d.ts +87 -4
  636. package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
  637. package/dist/esm/security/authentications/authentication.shared.utils.js +95 -6
  638. package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -1
  639. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts +23 -1
  640. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  641. package/dist/esm/security/authentications/consumable-token.shared.schemas.js +23 -1
  642. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  643. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts +7 -1
  644. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
  645. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js +7 -1
  646. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js.map +1 -1
  647. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts +74 -0
  648. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -0
  649. package/dist/esm/security/authentications/password-blocklist.shared.utils.js +122 -0
  650. package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -0
  651. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts +88 -2
  652. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  653. package/dist/esm/security/authentications/registration.shared.dto.schemas.js +149 -2
  654. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  655. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts +57 -11
  656. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
  657. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +44 -11
  658. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
  659. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
  660. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +20 -7
  661. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
  662. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +16 -2
  663. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  664. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +32 -2
  665. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  666. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
  667. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +7 -1
  668. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
  669. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
  670. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js +4 -1
  671. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
  672. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts +27 -0
  673. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -0
  674. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js +109 -0
  675. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -0
  676. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts +66 -0
  677. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -0
  678. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js +107 -0
  679. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -0
  680. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts +19 -0
  681. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
  682. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js +50 -13
  683. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js.map +1 -1
  684. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts +18 -6
  685. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
  686. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +133 -4
  687. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -1
  688. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts +29 -3
  689. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  690. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +81 -22
  691. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  692. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts +0 -40
  693. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  694. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +100 -26
  695. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  696. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts +9 -1
  697. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
  698. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js +9 -1
  699. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
  700. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +8 -2
  701. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  702. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +91 -4
  703. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  704. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +50 -6
  705. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
  706. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +50 -6
  707. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
  708. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts +39 -0
  709. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -0
  710. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +265 -0
  711. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -0
  712. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts +187 -0
  713. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -0
  714. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js +271 -0
  715. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -0
  716. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts +23 -0
  717. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  718. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js +24 -0
  719. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  720. package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
  721. package/dist/esm/security/authorizations/roles.shared.defaults.js +6 -0
  722. package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
  723. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +14 -0
  724. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  725. package/dist/esm/security/authorizations/roles.shared.schemas.js +19 -0
  726. package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
  727. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  728. package/dist/esm/security/authorizations/roles.shared.utils.js +2 -0
  729. package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
  730. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +4 -1
  731. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
  732. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +5 -2
  733. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
  734. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +13 -42
  735. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
  736. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +257 -13
  737. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
  738. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +281 -49
  739. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
  740. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts +6 -3
  741. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  742. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +74 -4
  743. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  744. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +5 -2
  745. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  746. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +105 -3
  747. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  748. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +67 -0
  749. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -0
  750. package/dist/esm/security/outbound-target-control.shared.schemas.js +69 -0
  751. package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -0
  752. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts +159 -0
  753. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -0
  754. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js +164 -0
  755. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -0
  756. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +209 -0
  757. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -0
  758. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +150 -0
  759. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -0
  760. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts +79 -0
  761. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -0
  762. package/dist/esm/systems-of-record/system-of-record-env.shared.js +116 -0
  763. package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -0
  764. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +145 -0
  765. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -0
  766. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +146 -0
  767. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -0
  768. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +478 -0
  769. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -0
  770. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +619 -0
  771. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -0
  772. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts +31 -0
  773. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -0
  774. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +232 -0
  775. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -0
  776. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts +127 -0
  777. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -0
  778. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js +204 -0
  779. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -0
  780. package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
  781. package/dist/esm/testing/resource-config-builders.js +10 -4
  782. package/dist/esm/testing/resource-config-builders.js.map +1 -1
  783. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts +2 -1
  784. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
  785. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js +2 -1
  786. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js.map +1 -1
  787. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +139 -24
  788. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
  789. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +255 -0
  790. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
  791. package/dist/esm/users/anonymous-users.shared.schema.d.ts +5 -3
  792. package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
  793. package/dist/esm/users/anonymous-users.shared.schema.js +18 -1
  794. package/dist/esm/users/anonymous-users.shared.schema.js.map +1 -1
  795. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts +2 -1
  796. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  797. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +23 -0
  798. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
  799. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts +2 -1
  800. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  801. package/dist/esm/users/user-consent-decision.shared.utils.d.ts +127 -0
  802. package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -0
  803. package/dist/esm/users/user-consent-decision.shared.utils.js +189 -0
  804. package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -0
  805. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts +1 -0
  806. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  807. package/dist/esm/users/user-identity-links.shared.schemas.d.ts +1 -0
  808. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  809. package/dist/esm/users/user-identity-links.shared.schemas.js +30 -0
  810. package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
  811. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts +6 -6
  812. package/dist/esm/users/user-preferences-reset.shared.utils.js +6 -6
  813. package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
  814. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +74 -29
  815. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  816. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js +99 -0
  817. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
  818. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  819. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js +25 -9
  820. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
  821. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +4 -4
  822. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  823. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js +12 -1
  824. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
  825. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts +1 -0
  826. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  827. package/dist/esm/users/user-self.shared.resources-config.schemas.js +2 -2
  828. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  829. package/dist/esm/users/users.shared.resources-config.schemas.d.ts +1 -0
  830. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  831. package/dist/esm/users/users.shared.resources-config.schemas.js +2 -2
  832. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  833. package/dist/esm/users/users.shared.schemas.d.ts +28 -10
  834. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  835. package/dist/esm/users/users.shared.schemas.js +86 -11
  836. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  837. package/dist/tsconfig.build.tsbuildinfo +1 -1
  838. package/package.json +14 -35
  839. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.d.ts +0 -19
  840. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.d.ts.map +0 -1
  841. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.js +0 -35
  842. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint-agent-personas.shared.enums.js.map +0 -1
  843. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts +0 -213
  844. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts.map +0 -1
  845. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.js +0 -287
  846. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.js.map +0 -1
  847. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts +0 -236
  848. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts.map +0 -1
  849. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.js +0 -212
  850. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.js.map +0 -1
  851. package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +0 -1
  852. package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.js.map +0 -1
  853. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts +0 -17
  854. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts.map +0 -1
  855. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js +0 -31
  856. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js.map +0 -1
  857. package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +0 -1
  858. package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +0 -1
  859. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +0 -1
  860. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +0 -1
  861. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts +0 -28
  862. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts.map +0 -1
  863. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.js +0 -28
  864. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.js.map +0 -1
  865. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +0 -1
  866. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +0 -1
  867. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts +0 -100
  868. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts.map +0 -1
  869. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js +0 -232
  870. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js.map +0 -1
  871. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.d.ts +0 -29
  872. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.d.ts.map +0 -1
  873. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.js +0 -58
  874. package/dist/esm/flows-actors/meta-workflows/execution-binding-vocabularies.meta-workflows.shared.schemas.js.map +0 -1
  875. package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +0 -1
  876. package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +0 -1
  877. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts +0 -81
  878. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts.map +0 -1
  879. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.js +0 -82
  880. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.js.map +0 -1
  881. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.d.ts +0 -2
  882. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.d.ts.map +0 -1
  883. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.js +0 -1
  884. package/dist/esm/flows-actors/utils/flow-actors.context-builder.apps-context.shared.utils.js.map +0 -1
  885. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/actions.meta-workflows.shared.schemas.d.ts +0 -0
  886. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/actions.meta-workflows.shared.schemas.js +0 -0
  887. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/catalog.meta-workflows.shared.schemas.d.ts +0 -0
  888. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/catalog.meta-workflows.shared.schemas.js +0 -0
  889. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/context-selection.meta-workflows.shared.schemas.d.ts +0 -0
  890. /package/dist/esm/{flows-actors/meta-workflows → meta-workflows}/context-selection.meta-workflows.shared.schemas.js +0 -0
@@ -4,13 +4,14 @@
4
4
  * Resource configuration for managing organization-scoped registered OAuth
5
5
  * clients. FAITHFUL MIRROR of `api-keys-organization.shared.resources-config.schemas.ts`
6
6
  * with a FOCUSED operation set: core READ/LIST/SEARCH/CREATE/DELETE/COUNT plus
7
- * custom ROTATE/REGENERATE. The DEACTIVATE/REACTIVATE/EXTEND_EXPIRY/USAGE_STATS
8
- * custom ops from api-keys are intentionally deferred to the OIDC branch.
7
+ * custom ROTATE/REGENERATE, the operator pair DEACTIVATE/REACTIVATE (#1028) and the
8
+ * sweep-driven EXPIRE. EXTEND_EXPIRY and USAGE_STATS from api-keys are not ported: a
9
+ * client's validity is fixed at registration, and no usage accounting is recorded for clients.
9
10
  */
10
11
  import { z } from 'zod';
11
12
  import { OAuthClientOrganizationSchema, OAuthClientStatus, } from './oauth-clients.shared.schemas.js';
12
13
  import { CoreResourceOperation } from '../../resources/resources.shared.core.definitions.js';
13
- import { ResourceOperationRiskLevel } from '../../resources/resources.shared.schemas.js';
14
+ import { ResourceOperationRiskLevel, ResourceOperationReversibility } from '../../resources/resources.shared.schemas.js';
14
15
  import { CoreResourceType, coreResourceShared_FieldIdentifier } from '../../resources/resources.shared.core.definitions.js';
15
16
  import { ResourceOperationVariantType } from '../../resources/resources.shared.schemas.js';
16
17
  import { CoreUserNotificationTarget, CoreUserNotificationChannel } from '../../notifications/notifications.shared.schemas.js';
@@ -40,6 +41,8 @@ export var OrgOAuthClients_Operations;
40
41
  (function (OrgOAuthClients_Operations) {
41
42
  OrgOAuthClients_Operations["ROTATE"] = "rotate";
42
43
  OrgOAuthClients_Operations["REGENERATE"] = "regenerate";
44
+ OrgOAuthClients_Operations["DEACTIVATE"] = "deactivate";
45
+ OrgOAuthClients_Operations["REACTIVATE"] = "reactivate";
43
46
  OrgOAuthClients_Operations["EXPIRE"] = "expire";
44
47
  })(OrgOAuthClients_Operations || (OrgOAuthClients_Operations = {}));
45
48
  /*
@@ -205,6 +208,102 @@ export const orgOAuthClientsResourceConfiguration_InitializationFactory = (resou
205
208
  }
206
209
  ],
207
210
  },
211
+ /**
212
+ * ACTIVE → INACTIVE, the operator's suspension door (#1028). Until it existed the only ways to
213
+ * stop a registered client were regenerating its secret — rotation, not suspension, and it
214
+ * hands the caller a new credential to distribute — or waiting for `expiresAt`.
215
+ *
216
+ * WHAT IT STOPS, stated so the contract does not imply instant revocation: the direct-secret
217
+ * path re-reads the client and requires ACTIVE, and so does every new token mint. A
218
+ * client-credentials JWT already minted is NOT re-checked against the client until it expires,
219
+ * so deactivation ends new access and leaves an issued token to run out its own lifetime.
220
+ *
221
+ * The transition is SERVER-DECIDED, so the verb takes no input. Borrowing UPDATE selects the
222
+ * core path that persists; it must NOT also hand the caller UPDATE's request contract — this
223
+ * resource exposes no core UPDATE, and an auto-derived one would let `PUT .../deactivate` carry
224
+ * `status: active` or rewrite `roles` past the mint-time ceiling. `status` is forced by the
225
+ * paired prefix implementation (`oauth-clients.custom-impl.backend.service.ts`), whose
226
+ * ACTIVE-only precondition is the real enforcement; `enabledCondition` is a display affordance
227
+ * and the cross-tenant `admin` variant carries none.
228
+ */
229
+ [OrgOAuthClients_Operations.DEACTIVATE]: {
230
+ variants: [
231
+ {
232
+ variantType: ResourceOperationVariantType.API_CALL,
233
+ isDefault: true,
234
+ roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can deactivate clients
235
+ riskLevel: ResourceOperationRiskLevel.MEDIUM,
236
+ resourceOperationLike: CoreResourceOperation.UPDATE,
237
+ requestDto: z.object({}),
238
+ enabledCondition: ({ currentObject }) => {
239
+ return currentObject.status === OAuthClientStatus.ACTIVE;
240
+ }
241
+ },
242
+ {
243
+ variantType: ResourceOperationVariantType.API_CALL,
244
+ isDefault: false,
245
+ variantKey: "admin",
246
+ roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can deactivate any org clients
247
+ riskLevel: ResourceOperationRiskLevel.MEDIUM,
248
+ resourceOperationLike: CoreResourceOperation.UPDATE,
249
+ // Per-variant DTOs are NOT inherited from the default variant — each variant builds
250
+ // its own, so this cross-tenant variant needs its own narrowing or it re-derives the
251
+ // full UPDATE contract. It also carries NO `enabledCondition`, so the transition
252
+ // precondition is enforced solely by the prefix implementation's 409 guard.
253
+ requestDto: z.object({}),
254
+ }
255
+ ],
256
+ userNotifications: [
257
+ {
258
+ target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,
259
+ channel: CoreUserNotificationChannel.EMAIL,
260
+ },
261
+ {
262
+ target: CoreUserNotificationTarget.USER_SELF,
263
+ channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,
264
+ }
265
+ ]
266
+ },
267
+ /**
268
+ * INACTIVE → ACTIVE, lifting a suspension. An EXPIRED client is NOT revivable: its expiry was
269
+ * the thing retiring it, and the prefix implementation refuses with 409 so a status flip cannot
270
+ * undo a validity window. See DEACTIVATE for why the request contract is empty.
271
+ */
272
+ [OrgOAuthClients_Operations.REACTIVATE]: {
273
+ variants: [
274
+ {
275
+ variantType: ResourceOperationVariantType.API_CALL,
276
+ isDefault: true,
277
+ roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can reactivate clients
278
+ riskLevel: ResourceOperationRiskLevel.MEDIUM,
279
+ resourceOperationLike: CoreResourceOperation.UPDATE,
280
+ requestDto: z.object({}),
281
+ enabledCondition: ({ currentObject }) => {
282
+ return currentObject.status === OAuthClientStatus.INACTIVE;
283
+ }
284
+ },
285
+ {
286
+ variantType: ResourceOperationVariantType.API_CALL,
287
+ isDefault: false,
288
+ variantKey: "admin",
289
+ roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can reactivate any org clients
290
+ riskLevel: ResourceOperationRiskLevel.MEDIUM,
291
+ resourceOperationLike: CoreResourceOperation.UPDATE,
292
+ // See DEACTIVATE's `admin` variant: its own narrowing, and no `enabledCondition`.
293
+ requestDto: z.object({}),
294
+ }
295
+ ],
296
+ userNotifications: [
297
+ {
298
+ target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,
299
+ channel: CoreUserNotificationChannel.EMAIL,
300
+ },
301
+ {
302
+ target: CoreUserNotificationTarget.USER_SELF,
303
+ channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,
304
+ }
305
+ ]
306
+ },
208
307
  [OrgOAuthClients_Operations.ROTATE]: {
209
308
  variants: [
210
309
  {
@@ -212,6 +311,9 @@ export const orgOAuthClientsResourceConfiguration_InitializationFactory = (resou
212
311
  isDefault: true,
213
312
  roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can rotate secrets
214
313
  riskLevel: ResourceOperationRiskLevel.HIGH,
314
+ // IRREVERSIBLE: Replaces the client secret; the previous value is not stored in recoverable form.
315
+ // This is what admits it to the danger zone; risk alone no longer does.
316
+ reversibility: ResourceOperationReversibility.IRREVERSIBLE,
215
317
  // ROTATE is a secret handback plus a caller-chosen cutover. The default
216
318
  // invalidation boundary is now, while a future boundary creates a bounded
217
319
  // overlap. Once that boundary passes, the previous secret cannot be
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-clients-organization.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../src/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Organization OAuth Clients Shared Resource Configuration\n *\n * Resource configuration for managing organization-scoped registered OAuth\n * clients. FAITHFUL MIRROR of `api-keys-organization.shared.resources-config.schemas.ts`\n * with a FOCUSED operation set: core READ/LIST/SEARCH/CREATE/DELETE/COUNT plus\n * custom ROTATE/REGENERATE. The DEACTIVATE/REACTIVATE/EXTEND_EXPIRY/USAGE_STATS\n * custom ops from api-keys are intentionally deferred to the OIDC branch.\n */\n\nimport { z } from 'zod';\nimport {\n OAuthClientOrganizationSchema,\n OAuthClientStatus,\n} from './oauth-clients.shared.schemas';\n\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';\nimport { CORE_APP_ROLES, CORE_ORG_ROLES } from '../authorizations/roles.shared.schemas';\n\n// Sort and filter fields for organization OAuth clients\nconst ORG_OAUTH_CLIENTS_SORT_FIELDS = ['createdAt', 'updatedAt', 'name', 'lastUsedAt', 'expiresAt'] as const;\n\n// Org members get basic filter fields\nconst ORG_OAUTH_CLIENTS_FILTER_FIELDS = {\n status: z.enum(OAuthClientStatus),\n name: z.string(),\n organizationId: z.string(),\n hasExpiration: z.boolean(),\n};\n\n// App Admin gets enhanced filter fields with additional capabilities\nconst ORG_OAUTH_CLIENTS_ADMIN_FILTER_FIELDS = {\n ...ORG_OAUTH_CLIENTS_FILTER_FIELDS,\n lastUsedAt: z.date(), // Admin can filter by last usage\n expiresAt: z.date(), // Admin can filter by expiration\n createdAt: z.date(), // Admin can filter by creation date\n updatedAt: z.date(), // Admin can filter by update date\n};\n\n// App Admin gets additional sorting capabilities\nconst ORG_OAUTH_CLIENTS_ADMIN_SORT_FIELDS = [...ORG_OAUTH_CLIENTS_SORT_FIELDS, 'status'] as const;\n\n// Custom operations enum for organization OAuth clients\nexport enum OrgOAuthClients_Operations {\n ROTATE = 'rotate', // Generate new secret and invalidate old one\n REGENERATE = 'regenerate', // Generate new secret without invalidating old one\n EXPIRE = 'expire', // ACTIVE → EXPIRED once `expiresAt` has passed (dispatched by the sweep, not by an operator)\n}\n\ntype OrgOAuthClientsCoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.DELETE\n | CoreResourceOperation.COUNT;\n\n/*\nOrganization OAuth Clients Resource Configuration Factory\n*/\nexport const orgOAuthClientsResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof OrgOAuthClients_Operations,\n OrgOAuthClientsCoreOperations,\n typeof OAuthClientOrganizationSchema\n>({\n mainSchema: OAuthClientOrganizationSchema,\n resourceIdentifier: CoreResourceType.OAUTH_CLIENTS_ORGANIZATION,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.OAUTH_CLIENTS_ORGANIZATION],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Organization OAuth clients are a core system resource\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.DELETE,\n CoreResourceOperation.COUNT,\n ],\n\n customOperation: OrgOAuthClients_Operations,\n\n operationsConfiguration: {\n [CoreResourceOperation.COUNT]: {\n variants: [\n {\n // Feature usage accounting counts org OAuth clients through the\n // repository layer. This operation does not need public HTTP exposure.\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Organization admins can view\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can also view\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 to see clients\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can also list\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can create clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral()\n }),\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can create for any org\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // Per-variant DTOs are NOT inherited from the default variant — each\n // variant builds its own. Without this, the admin response falls back to\n // `mainSchema` and silently strips the one-time `plainSecret` (it exists\n // nowhere else after this response — only its SHA-256 hash is persisted).\n // Security decision: an app-super-admin creating a client for another org\n // DOES receive the plaintext so they can relay it to the org. Mirror of\n // the default variant's `customResponseDto` above — keep in sync.\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral()\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\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], // Only org admins can delete clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n haveBulkOperation: true,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can delete any org clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n haveBulkOperation: true,\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n\n /**\n * ACTIVE → EXPIRED, dispatched by the credential-expiry sweep once `expiresAt` has passed\n * (#413). INTERNAL_CALL, so no HTTP route is mounted and no frontend affordance is offered:\n * the sweep is the only caller, and there is no reason for a human to declare that a date has\n * passed.\n *\n * It exists so the sweep writes through a guarded door rather than setting `status` directly.\n * The ACTIVE-only precondition lives in the paired prefix implementation\n * (`oauth-clients.custom-impl.backend.service.ts`) — an INACTIVE client was retired by an\n * administrator, and relabelling it EXPIRED would erase who ended it.\n */\n [OrgOAuthClients_Operations.EXPIRE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // EMPTY BY CONTRACT, not by omission. The credential-expiry sweep dispatches this verb with `{}`\n // and the paired prefix implementation forces the status transition itself, so there is no field\n // a caller may supply. Declaring nothing is NOT the same as declaring this: an operation without\n // a `requestDto` inherits the resource's ENTIRE update contract, which would let an INTERNAL_CALL\n // that accepts nothing advertise every field — `status` included, the one field this verb owns.\n requestDto: z.object({}),\n }\n ],\n },\n\n [OrgOAuthClients_Operations.ROTATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can rotate secrets\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // ROTATE is a secret handback plus a caller-chosen cutover. The default\n // invalidation boundary is now, while a future boundary creates a bounded\n // overlap. Once that boundary passes, the previous secret cannot be\n // restored. An unauthorized caller also walks away with the replacement\n // credential, so a live session alone is deliberately insufficient.\n //\n // Its sibling REGENERATE is NOT gated, and the difference is the whole criterion: a\n // regenerate \"keeps the prior secret working\" (see its own declaration), so it is additive\n // and recoverable. Gate the irreversible, not merely the sensitive.\n //\n // assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-proof of identity before a\n // high-impact action.\n requiresStepUpAuthentication: true,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n oldSecretInvalidationDate: z.date().min(new Date(), 'Invalidation date must be in the future or now').default(() => new Date())\n }),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n oldClientId: z.string(),\n oldSecretInvalidationDate: z.date()\n }),\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can rotate any org clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // ROTATE is a secret handback plus a caller-chosen cutover. The default\n // invalidation boundary is now, while a future boundary creates a bounded\n // overlap. Once that boundary passes, the previous secret cannot be\n // restored. An unauthorized caller also walks away with the replacement\n // credential, so a live session alone is deliberately insufficient.\n //\n // Its sibling REGENERATE is NOT gated, and the difference is the whole criterion: a\n // regenerate \"keeps the prior secret working\" (see its own declaration), so it is additive\n // and recoverable. Gate the irreversible, not merely the sensitive.\n //\n // assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-proof of identity before a\n // high-impact action.\n requiresStepUpAuthentication: true,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // Per-variant DTOs are NOT inherited from the default variant — each\n // variant builds its own. Request AND response both MIRROR the org-admin\n // default:\n // - requestDto: an app-super-admin can choose the same future\n // `oldSecretInvalidationDate` window as an org admin. Without it the\n // admin variant would build no request DTO and the impl could only\n // default the invalidation to now — silently denying the future-window\n // capability the default variant exposes.\n // - customResponseDto: without it the admin response falls back to\n // `mainSchema` and silently strips the one-time `plainSecret` (plus the\n // rotated-out client's id + invalidation date). Security decision: an\n // app-super-admin rotating another org's client DOES receive the\n // plaintext so they can relay it to the org.\n // Keep both in sync with the default variant above.\n requestDto: z.object({\n oldSecretInvalidationDate: z.date().min(new Date(), 'Invalidation date must be in the future or now').default(() => new Date())\n }),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n oldClientId: z.string(),\n oldSecretInvalidationDate: z.date()\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n\n [OrgOAuthClients_Operations.REGENERATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can regenerate secrets\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // REGENERATE mints and hands over a LIVE credential, so it needs an audit row — but its\n // MEDIUM risk sits below the automatic HIGH/CRITICAL floor, which is why it previously\n // recorded nothing on either axis while its HIGH sibling ROTATE recorded the operation.\n // MEDIUM is correct on the UI axis (no danger-zone affordance for a reissue that keeps\n // the prior secret working) and wrong on the evidence axis; this declaration is exactly\n // that divergence. Raising `riskLevel` instead would buy the row by mis-declaring the\n // verb's danger. Same reasoning as `organizationMembers | UPDATE`.\n // assurance-control: WILDO.SECRETS.DISCLOSURE_AUDIT — credential issuance is attributable.\n auditableEvent: { auditBelowRiskFloor: true },\n // REGENERATE reissues the secret and nothing else — it takes no caller input\n // (contrast ROTATE, which accepts `oldSecretInvalidationDate`). Without this the\n // auto-derived UPDATE contract would apply: the reissue prefix returns\n // `{ ...input, hashedSecret, … }` and the dispatcher MERGES that onto the caller\n // payload, so `redirectUris`, `allowedScopes`, `allowedGrants` and `roles` would all\n // be writable through \"regenerate\". This resource exposes NO core UPDATE, so those\n // fields are meant to be immutable after minting, and the ceiling gate\n // (`assertRequestedRolesWithinCallerCeiling`) runs in the CREATE handler only.\n // A rewritable `redirectUris` on a secret-reissue route is an auth-code\n // exfiltration primitive.\n // assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE — least-privilege on client credentials.\n requestDto: z.object({}),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n }),\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can regenerate any org clients\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // REGENERATE mints and hands over a LIVE credential, so it needs an audit row — but its\n // MEDIUM risk sits below the automatic HIGH/CRITICAL floor, which is why it previously\n // recorded nothing on either axis while its HIGH sibling ROTATE recorded the operation.\n // MEDIUM is correct on the UI axis (no danger-zone affordance for a reissue that keeps\n // the prior secret working) and wrong on the evidence axis; this declaration is exactly\n // that divergence. Raising `riskLevel` instead would buy the row by mis-declaring the\n // verb's danger. Same reasoning as `organizationMembers | UPDATE`.\n // assurance-control: WILDO.SECRETS.DISCLOSURE_AUDIT — credential issuance is attributable.\n auditableEvent: { auditBelowRiskFloor: true },\n // Per-variant DTOs are NOT inherited from the default variant — each\n // variant builds its own. Without this, the admin response falls back to\n // `mainSchema` and silently strips the one-time `plainSecret`. Security\n // decision: an app-super-admin regenerating another org's client DOES\n // receive the plaintext so they can relay it to the org. Mirror of the\n // default variant's `customResponseDto` above — keep in sync.\n // `requestDto` mirrors the default variant too: no caller input, so the\n // cross-tenant variant cannot rewrite `redirectUris` / `roles` through \"regenerate\".\n requestDto: z.object({}),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\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: ORG_OAUTH_CLIENTS_FILTER_FIELDS,\n sortFields: ORG_OAUTH_CLIENTS_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 50,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['name', 'description', 'clientId'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: ORG_OAUTH_CLIENTS_ADMIN_FILTER_FIELDS,\n sortFields: ORG_OAUTH_CLIENTS_ADMIN_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n }\n ],\n },\n },\n});\n"]}
1
+ {"version":3,"file":"oauth-clients-organization.shared.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../src/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAA8C,MAAM,0CAA0C,CAAC;AAClK,OAAO,EAAE,gBAAgB,EAAE,kCAAkC,EAAE,MAAM,mDAAmD,CAAC;AACzH,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,kDAAkD,CAAC;AAE3H,OAAO,EAAE,0CAA0C,EAAE,MAAM,iDAAiD,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAExF,wDAAwD;AACxD,MAAM,6BAA6B,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAU,CAAC;AAE7G,sCAAsC;AACtC,MAAM,+BAA+B,GAAG;IACtC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;CAC3B,CAAC;AAEF,qEAAqE;AACrE,MAAM,qCAAqC,GAAG;IAC5C,GAAG,+BAA+B;IAClC,UAAU,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,iCAAiC;IACvD,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,iCAAiC;IACtD,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,oCAAoC;IACzD,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,kCAAkC;CACxD,CAAC;AAEF,iDAAiD;AACjD,MAAM,mCAAmC,GAAG,CAAC,GAAG,6BAA6B,EAAE,QAAQ,CAAU,CAAC;AAElG,wDAAwD;AACxD,MAAM,CAAN,IAAY,0BAMX;AAND,WAAY,0BAA0B;IACpC,+CAAiB,CAAA;IACjB,uDAAyB,CAAA;IACzB,uDAAyB,CAAA;IACzB,uDAAyB,CAAA;IACzB,+CAAiB,CAAA;AACnB,CAAC,EANW,0BAA0B,KAA1B,0BAA0B,QAMrC;AAUD;;EAEE;AACF,MAAM,CAAC,MAAM,0DAA0D,GAAG,CAAC,sBAA8C,EAAE,EAAE,CAAC,0CAA0C,CAItK;IACA,UAAU,EAAE,6BAA6B;IACzC,kBAAkB,EAAE,gBAAgB,CAAC,0BAA0B;IAC/D,uBAAuB,EAAE,kCAAkC,CAAC,gBAAgB,CAAC,0BAA0B,CAAC;IACxG,qBAAqB,EAAE,sBAAsB;IAC7C,gBAAgB,EAAE,IAAI,EAAE,wDAAwD;IAEhF,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,KAAK;KAC5B;IAED,eAAe,EAAE,0BAA0B;IAE3C,uBAAuB,EAAE;QACvB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;YAC7B,QAAQ,EAAE;gBACR;oBACE,gEAAgE;oBAChE,uEAAuE;oBACvE,WAAW,EAAE,4BAA4B,CAAC,eAAe;oBACzD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC;oBAClC,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,SAAS,CAAC,EAAE,+BAA+B;oBAClE,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,2BAA2B;oBAC1E,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,sCAAsC;oBAC1E,SAAS,EAAE,0BAA0B,CAAC,GAAG;iBAC1C;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,2BAA2B;oBAC1E,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,SAAS,CAAC,EAAE,qCAAqC;oBACxE,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,0CAA0C;oBAC1C,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;wBACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;qBAC7C,CAAC;iBACH;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,oCAAoC;oBACnF,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,qEAAqE;oBACrE,yEAAyE;oBACzE,yEAAyE;oBACzE,0EAA0E;oBAC1E,0EAA0E;oBAC1E,wEAAwE;oBACxE,kEAAkE;oBAClE,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;wBACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;qBAC7C,CAAC;iBACH;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;gBACD;oBACE,MAAM,EAAE,0BAA0B,CAAC,SAAS;oBAC5C,OAAO,EAAE,2BAA2B,CAAC,iBAAiB;iBACvD;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,qCAAqC;oBACxE,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,iBAAiB,EAAE,IAAI;iBACxB;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,wCAAwC;oBACvF,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,iBAAiB,EAAE,IAAI;iBACxB;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;gBACD;oBACE,MAAM,EAAE,0BAA0B,CAAC,SAAS;oBAC5C,OAAO,EAAE,2BAA2B,CAAC,iBAAiB;iBACvD;aACF;SACF;QAED;;;;;;;;;;WAUG;QACH,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE;YACnC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;oBACvD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;oBAC7C,SAAS,EAAE,0BAA0B,CAAC,GAAG;oBACzC,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,iGAAiG;oBACjG,iGAAiG;oBACjG,iGAAiG;oBACjG,kGAAkG;oBAClG,gGAAgG;oBAChG,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACzB;aACF;SACF;QAED;;;;;;;;;;;;;;;;;WAiBG;QACH,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;YACvC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,yCAAyC;oBAC5E,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,gBAAgB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;wBACtC,OAAO,aAAa,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,CAAC;oBAC3D,CAAC;iBACF;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,4CAA4C;oBAC3F,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,oFAAoF;oBACpF,qFAAqF;oBACrF,iFAAiF;oBACjF,4EAA4E;oBAC5E,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACzB;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;gBACD;oBACE,MAAM,EAAE,0BAA0B,CAAC,SAAS;oBAC5C,OAAO,EAAE,2BAA2B,CAAC,iBAAiB;iBACvD;aACF;SACF;QAED;;;;WAIG;QACH,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;YACvC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,yCAAyC;oBAC5E,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,gBAAgB,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;wBACtC,OAAO,aAAa,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;oBAC7D,CAAC;iBACF;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,4CAA4C;oBAC3F,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,kFAAkF;oBAClF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;iBACzB;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;gBACD;oBACE,MAAM,EAAE,0BAA0B,CAAC,SAAS;oBAC5C,OAAO,EAAE,2BAA2B,CAAC,iBAAiB;iBACvD;aACF;SACF;QAED,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAAE;YACnC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,qCAAqC;oBACxE,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,kGAAkG;oBAClG,wEAAwE;oBACxE,aAAa,EAAE,8BAA8B,CAAC,YAAY;oBAC1D,wEAAwE;oBACxE,0EAA0E;oBAC1E,oEAAoE;oBACpE,wEAAwE;oBACxE,oEAAoE;oBACpE,EAAE;oBACF,oFAAoF;oBACpF,2FAA2F;oBAC3F,oEAAoE;oBACpE,EAAE;oBACF,2FAA2F;oBAC3F,sBAAsB;oBACtB,4BAA4B,EAAE,IAAI;oBAClC,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;wBACnB,yBAAyB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,gDAAgD,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;qBAChI,CAAC;oBACF,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;wBACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;wBACvB,yBAAyB,EAAE,CAAC,CAAC,IAAI,EAAE;qBACpC,CAAC;iBACH;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,wCAAwC;oBACvF,SAAS,EAAE,0BAA0B,CAAC,IAAI;oBAC1C,wEAAwE;oBACxE,0EAA0E;oBAC1E,oEAAoE;oBACpE,wEAAwE;oBACxE,oEAAoE;oBACpE,EAAE;oBACF,oFAAoF;oBACpF,2FAA2F;oBAC3F,oEAAoE;oBACpE,EAAE;oBACF,2FAA2F;oBAC3F,sBAAsB;oBACtB,4BAA4B,EAAE,IAAI;oBAClC,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,qEAAqE;oBACrE,yEAAyE;oBACzE,WAAW;oBACX,+DAA+D;oBAC/D,wEAAwE;oBACxE,sEAAsE;oBACtE,0EAA0E;oBAC1E,6CAA6C;oBAC7C,oEAAoE;oBACpE,2EAA2E;oBAC3E,yEAAyE;oBACzE,oEAAoE;oBACpE,gDAAgD;oBAChD,oDAAoD;oBACpD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC;wBACnB,yBAAyB,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,EAAE,gDAAgD,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;qBAChI,CAAC;oBACF,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;wBACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;wBAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;wBACvB,yBAAyB,EAAE,CAAC,CAAC,IAAI,EAAE;qBACpC,CAAC;iBACH;aACF;YACD,iBAAiB,EAAE;gBACjB;oBACE,MAAM,EAAE,0BAA0B,CAAC,2BAA2B;oBAC9D,OAAO,EAAE,2BAA2B,CAAC,KAAK;iBAC3C;gBACD;oBACE,MAAM,EAAE,0BAA0B,CAAC,SAAS;oBAC5C,OAAO,EAAE,2BAA2B,CAAC,iBAAiB;iBACvD;aACF;SACF;QAED,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE;YACvC,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,yCAAyC;oBAC5E,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,wFAAwF;oBACxF,uFAAuF;oBACvF,wFAAwF;oBACxF,uFAAuF;oBACvF,wFAAwF;oBACxF,sFAAsF;oBACtF,mEAAmE;oBACnE,2FAA2F;oBAC3F,cAAc,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE;oBAC7C,6EAA6E;oBAC7E,iFAAiF;oBACjF,uEAAuE;oBACvE,iFAAiF;oBACjF,qFAAqF;oBACrF,mFAAmF;oBACnF,uEAAuE;oBACvE,+EAA+E;oBAC/E,wEAAwE;oBACxE,0BAA0B;oBAC1B,2FAA2F;oBAC3F,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;wBACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;qBAC7C,CAAC;iBACH;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,4CAA4C;oBAC3F,SAAS,EAAE,0BAA0B,CAAC,MAAM;oBAC5C,qBAAqB,EAAE,qBAAqB,CAAC,MAAM;oBACnD,wFAAwF;oBACxF,uFAAuF;oBACvF,wFAAwF;oBACxF,uFAAuF;oBACvF,wFAAwF;oBACxF,sFAAsF;oBACtF,mEAAmE;oBACnE,2FAA2F;oBAC3F,cAAc,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE;oBAC7C,qEAAqE;oBACrE,yEAAyE;oBACzE,wEAAwE;oBACxE,sEAAsE;oBACtE,uEAAuE;oBACvE,8DAA8D;oBAC9D,wEAAwE;oBACxE,qFAAqF;oBACrF,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,iBAAiB,EAAE,6BAA6B,CAAC,MAAM,CAAC;wBACtD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;qBAC7C,CAAC;iBACH;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,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;gBACD;oBACE,WAAW,EAAE,4BAA4B,CAAC,QAAQ;oBAClD,SAAS,EAAE,KAAK;oBAChB,UAAU,EAAE,OAAO;oBACnB,KAAK,EAAE,CAAC,cAAc,CAAC,qBAAqB,CAAC;oBAC7C,SAAS,EAAE,0BAA0B,CAAC,GAAG;oBACzC,YAAY,EAAE,IAAI;oBAClB,gBAAgB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,CAAC;oBACrD,iBAAiB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;oBACjE,YAAY,EAAE,qCAAqC;oBACnD,UAAU,EAAE,mCAAmC;oBAC/C,8BAA8B,EAAE,GAAG;iBACpC;aACF;SACF;KACF;CACF,CAAC,CAAC","sourcesContent":["/**\n * Organization OAuth Clients Shared Resource Configuration\n *\n * Resource configuration for managing organization-scoped registered OAuth\n * clients. FAITHFUL MIRROR of `api-keys-organization.shared.resources-config.schemas.ts`\n * with a FOCUSED operation set: core READ/LIST/SEARCH/CREATE/DELETE/COUNT plus\n * custom ROTATE/REGENERATE, the operator pair DEACTIVATE/REACTIVATE (#1028) and the\n * sweep-driven EXPIRE. EXTEND_EXPIRY and USAGE_STATS from api-keys are not ported: a\n * client's validity is fixed at registration, and no usage accounting is recorded for clients.\n */\n\nimport { z } from 'zod';\nimport {\n OAuthClientOrganizationSchema,\n OAuthClientStatus,\n} from './oauth-clients.shared.schemas';\n\nimport { CoreResourceOperation } from '../../resources/resources.shared.core.definitions';\nimport { ResourceOperationRiskLevel, ResourceOperationReversibility, 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';\nimport { CORE_APP_ROLES, CORE_ORG_ROLES } from '../authorizations/roles.shared.schemas';\n\n// Sort and filter fields for organization OAuth clients\nconst ORG_OAUTH_CLIENTS_SORT_FIELDS = ['createdAt', 'updatedAt', 'name', 'lastUsedAt', 'expiresAt'] as const;\n\n// Org members get basic filter fields\nconst ORG_OAUTH_CLIENTS_FILTER_FIELDS = {\n status: z.enum(OAuthClientStatus),\n name: z.string(),\n organizationId: z.string(),\n hasExpiration: z.boolean(),\n};\n\n// App Admin gets enhanced filter fields with additional capabilities\nconst ORG_OAUTH_CLIENTS_ADMIN_FILTER_FIELDS = {\n ...ORG_OAUTH_CLIENTS_FILTER_FIELDS,\n lastUsedAt: z.date(), // Admin can filter by last usage\n expiresAt: z.date(), // Admin can filter by expiration\n createdAt: z.date(), // Admin can filter by creation date\n updatedAt: z.date(), // Admin can filter by update date\n};\n\n// App Admin gets additional sorting capabilities\nconst ORG_OAUTH_CLIENTS_ADMIN_SORT_FIELDS = [...ORG_OAUTH_CLIENTS_SORT_FIELDS, 'status'] as const;\n\n// Custom operations enum for organization OAuth clients\nexport enum OrgOAuthClients_Operations {\n ROTATE = 'rotate', // Generate new secret and invalidate old one\n REGENERATE = 'regenerate', // Generate new secret without invalidating old one\n DEACTIVATE = 'deactivate', // ACTIVE → INACTIVE, an administrator suspends the client (#1028)\n REACTIVATE = 'reactivate', // INACTIVE → ACTIVE, an administrator lifts the suspension; an EXPIRED client is not revived\n EXPIRE = 'expire', // ACTIVE → EXPIRED once `expiresAt` has passed (dispatched by the sweep, not by an operator)\n}\n\ntype OrgOAuthClientsCoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.SEARCH\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.DELETE\n | CoreResourceOperation.COUNT;\n\n/*\nOrganization OAuth Clients Resource Configuration Factory\n*/\nexport const orgOAuthClientsResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]) => createResourceConfiguration_Initialization<\n typeof OrgOAuthClients_Operations,\n OrgOAuthClientsCoreOperations,\n typeof OAuthClientOrganizationSchema\n>({\n mainSchema: OAuthClientOrganizationSchema,\n resourceIdentifier: CoreResourceType.OAUTH_CLIENTS_ORGANIZATION,\n resourceFieldIdentifier: coreResourceShared_FieldIdentifier[CoreResourceType.OAUTH_CLIENTS_ORGANIZATION],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Organization OAuth clients are a core system resource\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.SEARCH,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.DELETE,\n CoreResourceOperation.COUNT,\n ],\n\n customOperation: OrgOAuthClients_Operations,\n\n operationsConfiguration: {\n [CoreResourceOperation.COUNT]: {\n variants: [\n {\n // Feature usage accounting counts org OAuth clients through the\n // repository layer. This operation does not need public HTTP exposure.\n variantType: ResourceOperationVariantType.REPOSITORY_ONLY,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_MEMBER],\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n ],\n },\n\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Organization admins can view\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can also view\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 to see clients\n riskLevel: ResourceOperationRiskLevel.LOW,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can also list\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can create clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // requestDto auto-derived from decorators\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral()\n }),\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can create for any org\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // Per-variant DTOs are NOT inherited from the default variant — each\n // variant builds its own. Without this, the admin response falls back to\n // `mainSchema` and silently strips the one-time `plainSecret` (it exists\n // nowhere else after this response — only its SHA-256 hash is persisted).\n // Security decision: an app-super-admin creating a client for another org\n // DOES receive the plaintext so they can relay it to the org. Mirror of\n // the default variant's `customResponseDto` above — keep in sync.\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral()\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\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], // Only org admins can delete clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n haveBulkOperation: true,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can delete any org clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n haveBulkOperation: true,\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n\n /**\n * ACTIVE → EXPIRED, dispatched by the credential-expiry sweep once `expiresAt` has passed\n * (#413). INTERNAL_CALL, so no HTTP route is mounted and no frontend affordance is offered:\n * the sweep is the only caller, and there is no reason for a human to declare that a date has\n * passed.\n *\n * It exists so the sweep writes through a guarded door rather than setting `status` directly.\n * The ACTIVE-only precondition lives in the paired prefix implementation\n * (`oauth-clients.custom-impl.backend.service.ts`) — an INACTIVE client was retired by an\n * administrator, and relabelling it EXPIRED would erase who ended it.\n */\n [OrgOAuthClients_Operations.EXPIRE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // EMPTY BY CONTRACT, not by omission. The credential-expiry sweep dispatches this verb with `{}`\n // and the paired prefix implementation forces the status transition itself, so there is no field\n // a caller may supply. Declaring nothing is NOT the same as declaring this: an operation without\n // a `requestDto` inherits the resource's ENTIRE update contract, which would let an INTERNAL_CALL\n // that accepts nothing advertise every field — `status` included, the one field this verb owns.\n requestDto: z.object({}),\n }\n ],\n },\n\n /**\n * ACTIVE → INACTIVE, the operator's suspension door (#1028). Until it existed the only ways to\n * stop a registered client were regenerating its secret — rotation, not suspension, and it\n * hands the caller a new credential to distribute — or waiting for `expiresAt`.\n *\n * WHAT IT STOPS, stated so the contract does not imply instant revocation: the direct-secret\n * path re-reads the client and requires ACTIVE, and so does every new token mint. A\n * client-credentials JWT already minted is NOT re-checked against the client until it expires,\n * so deactivation ends new access and leaves an issued token to run out its own lifetime.\n *\n * The transition is SERVER-DECIDED, so the verb takes no input. Borrowing UPDATE selects the\n * core path that persists; it must NOT also hand the caller UPDATE's request contract — this\n * resource exposes no core UPDATE, and an auto-derived one would let `PUT .../deactivate` carry\n * `status: active` or rewrite `roles` past the mint-time ceiling. `status` is forced by the\n * paired prefix implementation (`oauth-clients.custom-impl.backend.service.ts`), whose\n * ACTIVE-only precondition is the real enforcement; `enabledCondition` is a display affordance\n * and the cross-tenant `admin` variant carries none.\n */\n [OrgOAuthClients_Operations.DEACTIVATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can deactivate clients\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({}),\n enabledCondition: ({ currentObject }) => {\n return currentObject.status === OAuthClientStatus.ACTIVE;\n }\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can deactivate any org clients\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // Per-variant DTOs are NOT inherited from the default variant — each variant builds\n // its own, so this cross-tenant variant needs its own narrowing or it re-derives the\n // full UPDATE contract. It also carries NO `enabledCondition`, so the transition\n // precondition is enforced solely by the prefix implementation's 409 guard.\n requestDto: z.object({}),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n\n /**\n * INACTIVE → ACTIVE, lifting a suspension. An EXPIRED client is NOT revivable: its expiry was\n * the thing retiring it, and the prefix implementation refuses with 409 so a status flip cannot\n * undo a validity window. See DEACTIVATE for why the request contract is empty.\n */\n [OrgOAuthClients_Operations.REACTIVATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can reactivate clients\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({}),\n enabledCondition: ({ currentObject }) => {\n return currentObject.status === OAuthClientStatus.INACTIVE;\n }\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can reactivate any org clients\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // See DEACTIVATE's `admin` variant: its own narrowing, and no `enabledCondition`.\n requestDto: z.object({}),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n\n [OrgOAuthClients_Operations.ROTATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can rotate secrets\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // IRREVERSIBLE: Replaces the client secret; the previous value is not stored in recoverable form.\n // This is what admits it to the danger zone; risk alone no longer does.\n reversibility: ResourceOperationReversibility.IRREVERSIBLE,\n // ROTATE is a secret handback plus a caller-chosen cutover. The default\n // invalidation boundary is now, while a future boundary creates a bounded\n // overlap. Once that boundary passes, the previous secret cannot be\n // restored. An unauthorized caller also walks away with the replacement\n // credential, so a live session alone is deliberately insufficient.\n //\n // Its sibling REGENERATE is NOT gated, and the difference is the whole criterion: a\n // regenerate \"keeps the prior secret working\" (see its own declaration), so it is additive\n // and recoverable. Gate the irreversible, not merely the sensitive.\n //\n // assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-proof of identity before a\n // high-impact action.\n requiresStepUpAuthentication: true,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n requestDto: z.object({\n oldSecretInvalidationDate: z.date().min(new Date(), 'Invalidation date must be in the future or now').default(() => new Date())\n }),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n oldClientId: z.string(),\n oldSecretInvalidationDate: z.date()\n }),\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can rotate any org clients\n riskLevel: ResourceOperationRiskLevel.HIGH,\n // ROTATE is a secret handback plus a caller-chosen cutover. The default\n // invalidation boundary is now, while a future boundary creates a bounded\n // overlap. Once that boundary passes, the previous secret cannot be\n // restored. An unauthorized caller also walks away with the replacement\n // credential, so a live session alone is deliberately insufficient.\n //\n // Its sibling REGENERATE is NOT gated, and the difference is the whole criterion: a\n // regenerate \"keeps the prior secret working\" (see its own declaration), so it is additive\n // and recoverable. Gate the irreversible, not merely the sensitive.\n //\n // assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-proof of identity before a\n // high-impact action.\n requiresStepUpAuthentication: true,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // Per-variant DTOs are NOT inherited from the default variant — each\n // variant builds its own. Request AND response both MIRROR the org-admin\n // default:\n // - requestDto: an app-super-admin can choose the same future\n // `oldSecretInvalidationDate` window as an org admin. Without it the\n // admin variant would build no request DTO and the impl could only\n // default the invalidation to now — silently denying the future-window\n // capability the default variant exposes.\n // - customResponseDto: without it the admin response falls back to\n // `mainSchema` and silently strips the one-time `plainSecret` (plus the\n // rotated-out client's id + invalidation date). Security decision: an\n // app-super-admin rotating another org's client DOES receive the\n // plaintext so they can relay it to the org.\n // Keep both in sync with the default variant above.\n requestDto: z.object({\n oldSecretInvalidationDate: z.date().min(new Date(), 'Invalidation date must be in the future or now').default(() => new Date())\n }),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n oldClientId: z.string(),\n oldSecretInvalidationDate: z.date()\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\n },\n {\n target: CoreUserNotificationTarget.USER_SELF,\n channel: CoreUserNotificationChannel.FRONT_END_SUCCESS,\n }\n ]\n },\n\n [OrgOAuthClients_Operations.REGENERATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only org admins can regenerate secrets\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // REGENERATE mints and hands over a LIVE credential, so it needs an audit row — but its\n // MEDIUM risk sits below the automatic HIGH/CRITICAL floor, which is why it previously\n // recorded nothing on either axis while its HIGH sibling ROTATE recorded the operation.\n // MEDIUM is correct on the UI axis (no danger-zone affordance for a reissue that keeps\n // the prior secret working) and wrong on the evidence axis; this declaration is exactly\n // that divergence. Raising `riskLevel` instead would buy the row by mis-declaring the\n // verb's danger. Same reasoning as `organizationMembers | UPDATE`.\n // assurance-control: WILDO.SECRETS.DISCLOSURE_AUDIT — credential issuance is attributable.\n auditableEvent: { auditBelowRiskFloor: true },\n // REGENERATE reissues the secret and nothing else — it takes no caller input\n // (contrast ROTATE, which accepts `oldSecretInvalidationDate`). Without this the\n // auto-derived UPDATE contract would apply: the reissue prefix returns\n // `{ ...input, hashedSecret, … }` and the dispatcher MERGES that onto the caller\n // payload, so `redirectUris`, `allowedScopes`, `allowedGrants` and `roles` would all\n // be writable through \"regenerate\". This resource exposes NO core UPDATE, so those\n // fields are meant to be immutable after minting, and the ceiling gate\n // (`assertRequestedRolesWithinCallerCeiling`) runs in the CREATE handler only.\n // A rewritable `redirectUris` on a secret-reissue route is an auth-code\n // exfiltration primitive.\n // assurance-control: WILDO.ACCESS.LEAST_PRIVILEGE — least-privilege on client credentials.\n requestDto: z.object({}),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n }),\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN], // App admins can regenerate any org clients\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n resourceOperationLike: CoreResourceOperation.UPDATE,\n // REGENERATE mints and hands over a LIVE credential, so it needs an audit row — but its\n // MEDIUM risk sits below the automatic HIGH/CRITICAL floor, which is why it previously\n // recorded nothing on either axis while its HIGH sibling ROTATE recorded the operation.\n // MEDIUM is correct on the UI axis (no danger-zone affordance for a reissue that keeps\n // the prior secret working) and wrong on the evidence axis; this declaration is exactly\n // that divergence. Raising `riskLevel` instead would buy the row by mis-declaring the\n // verb's danger. Same reasoning as `organizationMembers | UPDATE`.\n // assurance-control: WILDO.SECRETS.DISCLOSURE_AUDIT — credential issuance is attributable.\n auditableEvent: { auditBelowRiskFloor: true },\n // Per-variant DTOs are NOT inherited from the default variant — each\n // variant builds its own. Without this, the admin response falls back to\n // `mainSchema` and silently strips the one-time `plainSecret`. Security\n // decision: an app-super-admin regenerating another org's client DOES\n // receive the plaintext so they can relay it to the org. Mirror of the\n // default variant's `customResponseDto` above — keep in sync.\n // `requestDto` mirrors the default variant too: no caller input, so the\n // cross-tenant variant cannot rewrite `redirectUris` / `roles` through \"regenerate\".\n requestDto: z.object({}),\n customResponseDto: OAuthClientOrganizationSchema.extend({\n plainSecret: z.string().min(1).isEphemeral(),\n }),\n }\n ],\n userNotifications: [\n {\n target: CoreUserNotificationTarget.ORGANIZATION_ADMINISTRATIVE,\n channel: CoreUserNotificationChannel.EMAIL,\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: ORG_OAUTH_CLIENTS_FILTER_FIELDS,\n sortFields: ORG_OAUTH_CLIENTS_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 50,\n },\n {\n variantType: ResourceOperationVariantType.API_CALL,\n isDefault: false,\n variantKey: \"admin\",\n roles: [CORE_APP_ROLES.APP_ADMIN_SUPER_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n isSearchable: true,\n searchableFields: ['name', 'description', 'clientId'],\n searchableOptions: { caseSensitive: false, fullMatchOnly: false },\n filterFields: ORG_OAUTH_CLIENTS_ADMIN_FILTER_FIELDS,\n sortFields: ORG_OAUTH_CLIENTS_ADMIN_SORT_FIELDS,\n maxPaginatedResultPerPageLimit: 100,\n }\n ],\n },\n },\n});\n"]}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * The classes of server-side request whose DESTINATION is chosen by somebody other than the
3
+ * deployment that makes the request — and how much of the private network each may reach.
4
+ *
5
+ * ## Why the class, and not the call site, is the unit
6
+ *
7
+ * The request-forgery question is never "is this URL safe?" in the abstract. It is "who picked this
8
+ * destination, and are they allowed to point this server at its own network?". An organization
9
+ * administrator who authors a webhook endpoint, an A2A client registering a push target, and an
10
+ * unauthenticated stranger presenting an OAuth `client_id` URL all answer it differently — and the
11
+ * application developer who writes a provider endpoint into the backend's own configuration is not a
12
+ * request-forgery threat at all, because they already own the server.
13
+ *
14
+ * So the vocabulary names the CLASS of destination, by who authors it. Every engine site that issues
15
+ * such a request declares which class it is serving, and the admission follows from the class plus
16
+ * the operator-declared runtime environment — never from anything the destination's author can set.
17
+ *
18
+ * ## What is deliberately NOT a class
19
+ *
20
+ * Destinations the application's own code declares — a provider API endpoint, an `httpApiBinding`
21
+ * base URL — are trusted as authored. What those sites must still refuse is a REMOTE server
22
+ * re-pointing the request (a redirect), which is a property of the transport, not an admission.
23
+ * Platform topology (the apps-manager, the module registry, infrastructure sidecars) is operator
24
+ * configuration and private by design.
25
+ */
26
+ export declare enum OutboundTargetClass {
27
+ /** An M2M webhook endpoint. Authored by an organization administrator. */
28
+ M2M_WEBHOOK_ENDPOINT = "m2m_webhook_endpoint",
29
+ /** An A2A push-notification target. Supplied by the external A2A client that registered it. */
30
+ A2A_PUSH_NOTIFICATION_ENDPOINT = "a2a_push_notification_endpoint",
31
+ /**
32
+ * A SIEM collector. Authored by an organization administrator; the one class the operator may
33
+ * admit onto a private network, because a self-hosted collector on the same network is a supported
34
+ * deployment shape.
35
+ */
36
+ SIEM_COLLECTOR = "siem_collector",
37
+ /** An OAuth client metadata document. Its URL is presented by an UNAUTHENTICATED stranger. */
38
+ OAUTH_CLIENT_METADATA_DOCUMENT = "oauth_client_metadata_document",
39
+ /**
40
+ * A federated identity provider's endpoints — OIDC discovery, token, userinfo, profile extension,
41
+ * JWKS, SAML metadata and the SAML SSO/SLO reachability checks. Authored by an organization
42
+ * administrator on an SSO connection, or discovered from a document that administrator's IdP serves.
43
+ */
44
+ FEDERATED_IDENTITY_PROVIDER = "federated_identity_provider",
45
+ /**
46
+ * A remote MCP server an agent calls. Declared by the application, but it is a THIRD PARTY's
47
+ * service, reached with the agent's delegated credentials, and its answers can re-point a request.
48
+ */
49
+ MCP_SERVER = "mcp_server"
50
+ }
51
+ /**
52
+ * How much of the network an outbound request may reach beyond the public internet.
53
+ *
54
+ * Three members rather than a boolean, because the useful middle is not "private" and not "public":
55
+ * local development and automated test runs legitimately reach doubles on LOOPBACK, and nothing about
56
+ * that justifies reaching the cloud instance-metadata address (link-local) or a cluster-internal
57
+ * service (RFC 1918), which are the addresses a request-forgery attack actually wants.
58
+ */
59
+ export declare enum OutboundPrivateAddressAdmission {
60
+ /** Public addresses only. The default, and the only posture a stranger-supplied destination ever gets. */
61
+ NONE = "none",
62
+ /** Public addresses plus loopback (`127.0.0.0/8`, `::1`, `localhost`). Never link-local, never RFC 1918. */
63
+ LOOPBACK_ONLY = "loopback_only",
64
+ /** Any address. Only by an explicit operator declaration, and only for a class the operator may admit. */
65
+ PRIVATE_NETWORK = "private_network"
66
+ }
67
+ //# sourceMappingURL=outbound-target-control.shared.schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-target-control.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/security/outbound-target-control.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,oBAAY,mBAAmB;IAC7B,0EAA0E;IAC1E,oBAAoB,yBAAyB;IAC7C,+FAA+F;IAC/F,8BAA8B,mCAAmC;IACjE;;;;OAIG;IACH,cAAc,mBAAmB;IACjC,8FAA8F;IAC9F,8BAA8B,mCAAmC;IACjE;;;;OAIG;IACH,2BAA2B,gCAAgC;IAC3D;;;OAGG;IACH,UAAU,eAAe;CAC1B;AAED;;;;;;;GAOG;AACH,oBAAY,+BAA+B;IACzC,0GAA0G;IAC1G,IAAI,SAAS;IACb,4GAA4G;IAC5G,aAAa,kBAAkB;IAC/B,0GAA0G;IAC1G,eAAe,oBAAoB;CACpC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * The classes of server-side request whose DESTINATION is chosen by somebody other than the
3
+ * deployment that makes the request — and how much of the private network each may reach.
4
+ *
5
+ * ## Why the class, and not the call site, is the unit
6
+ *
7
+ * The request-forgery question is never "is this URL safe?" in the abstract. It is "who picked this
8
+ * destination, and are they allowed to point this server at its own network?". An organization
9
+ * administrator who authors a webhook endpoint, an A2A client registering a push target, and an
10
+ * unauthenticated stranger presenting an OAuth `client_id` URL all answer it differently — and the
11
+ * application developer who writes a provider endpoint into the backend's own configuration is not a
12
+ * request-forgery threat at all, because they already own the server.
13
+ *
14
+ * So the vocabulary names the CLASS of destination, by who authors it. Every engine site that issues
15
+ * such a request declares which class it is serving, and the admission follows from the class plus
16
+ * the operator-declared runtime environment — never from anything the destination's author can set.
17
+ *
18
+ * ## What is deliberately NOT a class
19
+ *
20
+ * Destinations the application's own code declares — a provider API endpoint, an `httpApiBinding`
21
+ * base URL — are trusted as authored. What those sites must still refuse is a REMOTE server
22
+ * re-pointing the request (a redirect), which is a property of the transport, not an admission.
23
+ * Platform topology (the apps-manager, the module registry, infrastructure sidecars) is operator
24
+ * configuration and private by design.
25
+ */
26
+ export var OutboundTargetClass;
27
+ (function (OutboundTargetClass) {
28
+ /** An M2M webhook endpoint. Authored by an organization administrator. */
29
+ OutboundTargetClass["M2M_WEBHOOK_ENDPOINT"] = "m2m_webhook_endpoint";
30
+ /** An A2A push-notification target. Supplied by the external A2A client that registered it. */
31
+ OutboundTargetClass["A2A_PUSH_NOTIFICATION_ENDPOINT"] = "a2a_push_notification_endpoint";
32
+ /**
33
+ * A SIEM collector. Authored by an organization administrator; the one class the operator may
34
+ * admit onto a private network, because a self-hosted collector on the same network is a supported
35
+ * deployment shape.
36
+ */
37
+ OutboundTargetClass["SIEM_COLLECTOR"] = "siem_collector";
38
+ /** An OAuth client metadata document. Its URL is presented by an UNAUTHENTICATED stranger. */
39
+ OutboundTargetClass["OAUTH_CLIENT_METADATA_DOCUMENT"] = "oauth_client_metadata_document";
40
+ /**
41
+ * A federated identity provider's endpoints — OIDC discovery, token, userinfo, profile extension,
42
+ * JWKS, SAML metadata and the SAML SSO/SLO reachability checks. Authored by an organization
43
+ * administrator on an SSO connection, or discovered from a document that administrator's IdP serves.
44
+ */
45
+ OutboundTargetClass["FEDERATED_IDENTITY_PROVIDER"] = "federated_identity_provider";
46
+ /**
47
+ * A remote MCP server an agent calls. Declared by the application, but it is a THIRD PARTY's
48
+ * service, reached with the agent's delegated credentials, and its answers can re-point a request.
49
+ */
50
+ OutboundTargetClass["MCP_SERVER"] = "mcp_server";
51
+ })(OutboundTargetClass || (OutboundTargetClass = {}));
52
+ /**
53
+ * How much of the network an outbound request may reach beyond the public internet.
54
+ *
55
+ * Three members rather than a boolean, because the useful middle is not "private" and not "public":
56
+ * local development and automated test runs legitimately reach doubles on LOOPBACK, and nothing about
57
+ * that justifies reaching the cloud instance-metadata address (link-local) or a cluster-internal
58
+ * service (RFC 1918), which are the addresses a request-forgery attack actually wants.
59
+ */
60
+ export var OutboundPrivateAddressAdmission;
61
+ (function (OutboundPrivateAddressAdmission) {
62
+ /** Public addresses only. The default, and the only posture a stranger-supplied destination ever gets. */
63
+ OutboundPrivateAddressAdmission["NONE"] = "none";
64
+ /** Public addresses plus loopback (`127.0.0.0/8`, `::1`, `localhost`). Never link-local, never RFC 1918. */
65
+ OutboundPrivateAddressAdmission["LOOPBACK_ONLY"] = "loopback_only";
66
+ /** Any address. Only by an explicit operator declaration, and only for a class the operator may admit. */
67
+ OutboundPrivateAddressAdmission["PRIVATE_NETWORK"] = "private_network";
68
+ })(OutboundPrivateAddressAdmission || (OutboundPrivateAddressAdmission = {}));
69
+ //# sourceMappingURL=outbound-target-control.shared.schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outbound-target-control.shared.schemas.js","sourceRoot":"","sources":["../../../../src/security/outbound-target-control.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAN,IAAY,mBAwBX;AAxBD,WAAY,mBAAmB;IAC7B,0EAA0E;IAC1E,oEAA6C,CAAA;IAC7C,+FAA+F;IAC/F,wFAAiE,CAAA;IACjE;;;;OAIG;IACH,wDAAiC,CAAA;IACjC,8FAA8F;IAC9F,wFAAiE,CAAA;IACjE;;;;OAIG;IACH,kFAA2D,CAAA;IAC3D;;;OAGG;IACH,gDAAyB,CAAA;AAC3B,CAAC,EAxBW,mBAAmB,KAAnB,mBAAmB,QAwB9B;AAED;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,+BAOX;AAPD,WAAY,+BAA+B;IACzC,0GAA0G;IAC1G,gDAAa,CAAA;IACb,4GAA4G;IAC5G,kEAA+B,CAAA;IAC/B,0GAA0G;IAC1G,sEAAmC,CAAA;AACrC,CAAC,EAPW,+BAA+B,KAA/B,+BAA+B,QAO1C","sourcesContent":["/**\n * The classes of server-side request whose DESTINATION is chosen by somebody other than the\n * deployment that makes the request — and how much of the private network each may reach.\n *\n * ## Why the class, and not the call site, is the unit\n *\n * The request-forgery question is never \"is this URL safe?\" in the abstract. It is \"who picked this\n * destination, and are they allowed to point this server at its own network?\". An organization\n * administrator who authors a webhook endpoint, an A2A client registering a push target, and an\n * unauthenticated stranger presenting an OAuth `client_id` URL all answer it differently — and the\n * application developer who writes a provider endpoint into the backend's own configuration is not a\n * request-forgery threat at all, because they already own the server.\n *\n * So the vocabulary names the CLASS of destination, by who authors it. Every engine site that issues\n * such a request declares which class it is serving, and the admission follows from the class plus\n * the operator-declared runtime environment — never from anything the destination's author can set.\n *\n * ## What is deliberately NOT a class\n *\n * Destinations the application's own code declares — a provider API endpoint, an `httpApiBinding`\n * base URL — are trusted as authored. What those sites must still refuse is a REMOTE server\n * re-pointing the request (a redirect), which is a property of the transport, not an admission.\n * Platform topology (the apps-manager, the module registry, infrastructure sidecars) is operator\n * configuration and private by design.\n */\nexport enum OutboundTargetClass {\n /** An M2M webhook endpoint. Authored by an organization administrator. */\n M2M_WEBHOOK_ENDPOINT = 'm2m_webhook_endpoint',\n /** An A2A push-notification target. Supplied by the external A2A client that registered it. */\n A2A_PUSH_NOTIFICATION_ENDPOINT = 'a2a_push_notification_endpoint',\n /**\n * A SIEM collector. Authored by an organization administrator; the one class the operator may\n * admit onto a private network, because a self-hosted collector on the same network is a supported\n * deployment shape.\n */\n SIEM_COLLECTOR = 'siem_collector',\n /** An OAuth client metadata document. Its URL is presented by an UNAUTHENTICATED stranger. */\n OAUTH_CLIENT_METADATA_DOCUMENT = 'oauth_client_metadata_document',\n /**\n * A federated identity provider's endpoints — OIDC discovery, token, userinfo, profile extension,\n * JWKS, SAML metadata and the SAML SSO/SLO reachability checks. Authored by an organization\n * administrator on an SSO connection, or discovered from a document that administrator's IdP serves.\n */\n FEDERATED_IDENTITY_PROVIDER = 'federated_identity_provider',\n /**\n * A remote MCP server an agent calls. Declared by the application, but it is a THIRD PARTY's\n * service, reached with the agent's delegated credentials, and its answers can re-point a request.\n */\n MCP_SERVER = 'mcp_server',\n}\n\n/**\n * How much of the network an outbound request may reach beyond the public internet.\n *\n * Three members rather than a boolean, because the useful middle is not \"private\" and not \"public\":\n * local development and automated test runs legitimately reach doubles on LOOPBACK, and nothing about\n * that justifies reaching the cloud instance-metadata address (link-local) or a cluster-internal\n * service (RFC 1918), which are the addresses a request-forgery attack actually wants.\n */\nexport enum OutboundPrivateAddressAdmission {\n /** Public addresses only. The default, and the only posture a stranger-supplied destination ever gets. */\n NONE = 'none',\n /** Public addresses plus loopback (`127.0.0.0/8`, `::1`, `localhost`). Never link-local, never RFC 1918. */\n LOOPBACK_ONLY = 'loopback_only',\n /** Any address. Only by an explicit operator declaration, and only for a class the operator may admit. */\n PRIVATE_NETWORK = 'private_network',\n}\n"]}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * `SystemOfRecordCredentialKind` — HOW the engine authenticates to a system of record.
3
+ *
4
+ * A root-exported boundary module, for the same package-contract reason as its sibling
5
+ * `HttpApiTransportDialect` (#1055 R3): the ROOT-exported application-configuration contract
6
+ * (`systemsOfRecord.<name>.credential.kind`) names this vocabulary, and a TypeScript `enum` is
7
+ * NOMINAL — a root-only consumer that cannot reach the declaring module through a public specifier
8
+ * gets `TS2742`/`TS2883`. `.claude/rules/package-public-entrypoints.md` prescribes moving the
9
+ * boundary rather than re-exporting across it, so the `external-data` subpath does NOT re-export
10
+ * this module.
11
+ *
12
+ * ## Why it is a separate vocabulary from the dialect
13
+ *
14
+ * A dialect says how to SPEAK (query protocol, envelope, filter language); a credential kind says
15
+ * how to PROVE WHO YOU ARE. Odoo happens to pair one with the other today, and that coincidence is
16
+ * exactly what `CLAUDE.md` forbids merging on: an OData v4 service reached with a bearer token and
17
+ * the same service reached with client-credentials OAuth2 differ in the second axis and not the
18
+ * first. Keeping them apart costs one enum and stops the pairing from being baked into the model.
19
+ *
20
+ * ## What a kind OWNS (#1055 R15, the slot-ownership decision)
21
+ *
22
+ * The kind owns the inputs IT needs — its secret slots, and any address slot that exists only
23
+ * because of the kind. `OAUTH2_CLIENT_CREDENTIALS_SECRET` owns `tokenUrl`, which no vendor would
24
+ * declare if it were reached with a static key. The FACET owns the vendor's own address slots and
25
+ * the OFFERS it makes (a kind plus that vendor's policy for it); the INSTANCE chooses one offer.
26
+ *
27
+ * A third owner arrived with #1056 and is worth naming, because two of the three are easy to
28
+ * confuse: the FACET also owns everything about a kind that varies BY VENDOR but not by deployment —
29
+ * which header carries a static key, whether a token answer omits `expires_in`, whether an assertion
30
+ * header needs a supplied `kid` or a derived `x5t`. Those are not slots: nobody types them per
31
+ * environment, and asking an operator for them would be asking a question the facet already holds
32
+ * the answer to (`derive-before-you-ask.md`).
33
+ * The contracts themselves live beside the facet schema, on the `external-data` subpath, because
34
+ * nothing root-exported needs to name a slot SHAPE — only the kind's NAME.
35
+ *
36
+ * ## How the catalogue grew, and what is still missing from it
37
+ *
38
+ * #1055 shipped ONE member, the one kind its one facet offered. #1056 added the six a service
39
+ * identity actually needs across the vendors epic #1049 §4.6 surveyed — two static-key placements,
40
+ * HTTP Basic, and three OAuth2 shapes. A member here with no entry in
41
+ * `SYSTEM_OF_RECORD_CREDENTIAL_KIND_CONTRACTS` is a compile error, so the two cannot drift.
42
+ *
43
+ * `MTLS_CLIENT_CERTIFICATE` is deliberately ABSENT and is #1263. It is not a seventh variation on
44
+ * composing a request: every kind here decides what to put IN a request, and mTLS decides how the
45
+ * CONNECTION is made, which `HttpApiFetchLike` has no channel for (its `init` carries no
46
+ * dispatcher). Adding it means widening the one outbound seam both this lane and the connector lane
47
+ * run on — a different blast radius, and the reason SAP is declared unsupported-by-kind in #1057
48
+ * rather than every other vendor waiting behind it.
49
+ *
50
+ * ## The root-only probe, measured 2026-09-15
51
+ *
52
+ * `package-public-entrypoints.md` asks for a measurement rather than a category judgement. A
53
+ * consumer importing ONLY the package root, deriving values from this enum and emitting with
54
+ * `declaration: true`:
55
+ *
56
+ * ```
57
+ * export declare const declaredKind = SystemOfRecordCredentialKind.ODOO_API_KEY_IN_ARGS;
58
+ * export declare function pickInstance(): { kind: SystemOfRecordCredentialKind; dialect: HttpApiTransportDialect };
59
+ * ```
60
+ *
61
+ * Zero errors, and the emitted declaration NAMES the enum through the root specifier rather than a
62
+ * `node_modules/.../dist/esm/...` path. The probe's negative control — importing
63
+ * `SystemOfRecordVendorFacetSchema`, which is deliberately subpath-only — fails with `TS2305`, so
64
+ * the probe discriminates rather than passing everything.
65
+ */
66
+ /**
67
+ * How the engine proves its identity to a system of record. Closed vocabulary — a system of record
68
+ * spends the APPLICATION's own service identity (D12), so nothing here is ever a person's lent
69
+ * credential; those live on the connected-accounts lane and are deliberately not reachable from
70
+ * this one (`pnpm check:systems-of-record-separation`).
71
+ */
72
+ export declare enum SystemOfRecordCredentialKind {
73
+ /**
74
+ * Odoo's classic external API: the credential travels INSIDE the RPC arguments rather than in an
75
+ * HTTP header. The adapter performs `common.authenticate(db, login, apiKey, {})` for a uid and
76
+ * then passes `(db, uid, apiKey, …)` as the leading positional arguments of every `execute_kw`.
77
+ *
78
+ * Its inputs are the API key (a secret slot, owned here) plus the database and login (vendor
79
+ * address slots, owned by the Odoo facet — they identify WHICH Odoo and WHICH user, and would
80
+ * still be needed by a hypothetical second Odoo credential kind).
81
+ */
82
+ ODOO_API_KEY_IN_ARGS = "odoo-api-key-in-args",
83
+ /**
84
+ * A static key presented in an HTTP request header.
85
+ *
86
+ * The SECRET is the key; WHICH header carries it and what prefixes it (`Bearer `, `ApiKey `, or
87
+ * nothing at all) are the VENDOR's facts, so they are declared on the facet's offer rather than
88
+ * asked of the operator who authors an instance. An operator who has to be told their vendor's
89
+ * header name is being asked a question the facet already holds the answer to
90
+ * (`derive-before-you-ask.md`).
91
+ */
92
+ API_KEY_HEADER = "api-key-header",
93
+ /**
94
+ * A static key presented as a query-string parameter.
95
+ *
96
+ * Weaker than a header by construction — a URL reaches access logs, proxy logs and `Referer`
97
+ * headers — and offered only because some vendors accept nothing else. The parameter NAME is the
98
+ * vendor's fact, like the header name above.
99
+ *
100
+ * The key is appended by the transport at dispatch, never baked into a stored `baseUrl`: a base
101
+ * URL is printed in diagnostics and a credential must not ride in it.
102
+ */
103
+ API_KEY_QUERY = "api-key-query",
104
+ /**
105
+ * HTTP Basic (RFC 7617): `Authorization: Basic base64(username ":" password)`.
106
+ *
107
+ * SAP's communication user is the case this exists for. The username is a SECRET slot rather than
108
+ * an address slot even though it is not confidential on its own — it is half of one credential,
109
+ * it is rotated with the other half, and splitting a credential across the address channel and
110
+ * the secret channel makes rotation two operations that can disagree.
111
+ *
112
+ * A username containing `:` is unrepresentable in this scheme (the colon is the delimiter and the
113
+ * RFC forbids it), so it is refused where it is authored rather than producing a credential that
114
+ * decodes to a different pair than the one typed.
115
+ */
116
+ BASIC = "basic",
117
+ /**
118
+ * OAuth 2.0 client credentials (RFC 6749 §4.4) with a shared secret: `grant_type=client_credentials`
119
+ * plus `client_id` and `client_secret`.
120
+ *
121
+ * An APP-ONLY identity — no person, no consent screen, no refresh token. That is the whole of D12:
122
+ * a system of record is the operator's own deployment, reached as the application, so a
123
+ * user-delegated flow would be authenticating the wrong party. The connector lane owns the
124
+ * authorization-code exchange and is not reachable from here.
125
+ */
126
+ OAUTH2_CLIENT_CREDENTIALS_SECRET = "oauth2-client-credentials-secret",
127
+ /**
128
+ * OAuth 2.0 client credentials with a CLIENT ASSERTION signed by a private key (RFC 7523 §2.2):
129
+ * `grant_type=client_credentials` with
130
+ * `client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer`.
131
+ *
132
+ * NetSuite and Microsoft Entra's certificate credential are both this, and NetSuite is the reason
133
+ * it is separate from {@link OAUTH2_JWT_BEARER}: its documentation states the grant type is
134
+ * *always* `client_credentials`, so it is client AUTHENTICATION by assertion rather than the
135
+ * assertion GRANT (#1056 R1 corrected an earlier reading that had NetSuite under the grant).
136
+ *
137
+ * spec-cite: RFC 7523 §2.2 (Using JWTs for Client Authentication); NetSuite OAuth 2.0
138
+ * client-credentials help, https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_162755359851.html
139
+ *
140
+ * The assertion's protected HEADER differs by vendor — NetSuite carries a vendor-assigned `kid`,
141
+ * Entra wants an `x5t` thumbprint — so the header policy is declared on the facet's offer (R2). A
142
+ * generic "sign it with the private key" is rejected by both.
143
+ */
144
+ OAUTH2_CLIENT_CREDENTIALS_CERTIFICATE = "oauth2-client-credentials-certificate",
145
+ /**
146
+ * The OAuth 2.0 JWT BEARER GRANT (RFC 7523 §2.1):
147
+ * `grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer` with a signed `assertion`.
148
+ *
149
+ * Salesforce only, among the vendors surveyed. Distinct from the kind above in the one field that
150
+ * decides how the token endpoint reads the request — the grant type — which is exactly the kind of
151
+ * distinction `CLAUDE.md` forbids collapsing because two shapes look similar.
152
+ *
153
+ * spec-cite: RFC 7523 §2.1 (Using JWTs as Authorization Grants).
154
+ */
155
+ OAUTH2_JWT_BEARER = "oauth2-jwt-bearer"
156
+ }
157
+ /** Whether a kind obtains a token from a token endpoint — the three that need a minter and a cache. */
158
+ export declare function systemOfRecordCredentialKindMintsToken(kind: SystemOfRecordCredentialKind): boolean;
159
+ //# sourceMappingURL=system-of-record-credential-kind.shared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-of-record-credential-kind.shared.d.ts","sourceRoot":"","sources":["../../../../src/systems-of-record/system-of-record-credential-kind.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH;;;;;GAKG;AACH,oBAAY,4BAA4B;IACtC;;;;;;;;OAQG;IACH,oBAAoB,yBAAyB;IAE7C;;;;;;;;OAQG;IACH,cAAc,mBAAmB;IAEjC;;;;;;;;;OASG;IACH,aAAa,kBAAkB;IAE/B;;;;;;;;;;;OAWG;IACH,KAAK,UAAU;IAEf;;;;;;;;OAQG;IACH,gCAAgC,qCAAqC;IAErE;;;;;;;;;;;;;;;;OAgBG;IACH,qCAAqC,0CAA0C;IAE/E;;;;;;;;;OASG;IACH,iBAAiB,sBAAsB;CACxC;AAED,uGAAuG;AACvG,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,4BAA4B,GAAG,OAAO,CAIlG"}