@wildo-ai/saas-models 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1295) hide show
  1. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  2. package/dist/esm/__tests__/setup.js.map +1 -1
  3. package/dist/esm/_inspect.d.ts.map +1 -1
  4. package/dist/esm/_inspect.js.map +1 -1
  5. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.js.map +1 -1
  7. package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
  8. package/dist/esm/applications/application-subject.shared.schemas.js.map +1 -1
  9. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
  10. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js +2 -1
  11. package/dist/esm/applications/application-versions.shared.resources-config.schemas.js.map +1 -1
  12. package/dist/esm/applications/applications-context.schemas.d.ts +176 -2
  13. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  14. package/dist/esm/applications/applications-context.schemas.js.map +1 -1
  15. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  16. package/dist/esm/applications/applications.shared.resources-config.schemas.js +3 -2
  17. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  18. package/dist/esm/applications/applications.shared.schemas.d.ts +7 -5
  19. package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
  20. package/dist/esm/applications/applications.shared.schemas.js +6 -4
  21. package/dist/esm/applications/applications.shared.schemas.js.map +1 -1
  22. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +10 -1
  23. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  24. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +49 -15
  25. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
  26. package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
  27. package/dist/esm/billing/billing-account.shared.schemas.js +2 -2
  28. package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
  29. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +25 -0
  30. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
  31. package/dist/esm/billing/billing-configuration.shared.schemas.js +19 -0
  32. package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
  33. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +27 -5
  34. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  35. package/dist/esm/billing/billing-enums.shared.schemas.js +30 -4
  36. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  37. package/dist/esm/billing/billing-types.shared.schemas.d.ts +37 -11
  38. package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
  39. package/dist/esm/billing/billing-types.shared.schemas.js +31 -19
  40. package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
  41. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +2 -0
  42. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
  43. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +18 -7
  44. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
  45. package/dist/esm/billing/credit-pool.shared.schemas.d.ts +2 -0
  46. package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/billing/credit-pool.shared.schemas.js +7 -1
  48. package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
  49. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
  50. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +6 -6
  51. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
  52. package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
  53. package/dist/esm/billing/invoice-ref.shared.schemas.js +1 -1
  54. package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
  55. package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
  56. package/dist/esm/billing/price.shared.resources-config.schemas.js.map +1 -1
  57. package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
  58. package/dist/esm/billing/price.shared.schemas.js +5 -3
  59. package/dist/esm/billing/price.shared.schemas.js.map +1 -1
  60. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts +11 -1
  61. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  62. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +39 -23
  63. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  64. package/dist/esm/billing/product-definition.shared.schemas.d.ts +30 -2
  65. package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
  66. package/dist/esm/billing/product-definition.shared.schemas.js +35 -0
  67. package/dist/esm/billing/product-definition.shared.schemas.js.map +1 -1
  68. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +6 -3
  69. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
  70. package/dist/esm/billing/product.shared.resources-config.schemas.js.map +1 -1
  71. package/dist/esm/billing/product.shared.schemas.d.ts +7 -3
  72. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  73. package/dist/esm/billing/product.shared.schemas.js +22 -7
  74. package/dist/esm/billing/product.shared.schemas.js.map +1 -1
  75. package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
  76. package/dist/esm/billing/promotions.shared.resources-config.schemas.js +8 -8
  77. package/dist/esm/billing/promotions.shared.resources-config.schemas.js.map +1 -1
  78. package/dist/esm/billing/promotions.shared.schemas.d.ts.map +1 -1
  79. package/dist/esm/billing/promotions.shared.schemas.js.map +1 -1
  80. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts +135 -0
  81. package/dist/esm/billing/public-pricing-catalog.shared.atoms.d.ts.map +1 -0
  82. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js +112 -0
  83. package/dist/esm/billing/public-pricing-catalog.shared.atoms.js.map +1 -0
  84. package/dist/esm/billing/public-pricing-catalog.shared.d.ts +30 -0
  85. package/dist/esm/billing/public-pricing-catalog.shared.d.ts.map +1 -0
  86. package/dist/esm/billing/public-pricing-catalog.shared.js +53 -0
  87. package/dist/esm/billing/public-pricing-catalog.shared.js.map +1 -0
  88. package/dist/esm/billing/referral-reward.shared.schemas.d.ts +51 -0
  89. package/dist/esm/billing/referral-reward.shared.schemas.d.ts.map +1 -0
  90. package/dist/esm/billing/referral-reward.shared.schemas.js +92 -0
  91. package/dist/esm/billing/referral-reward.shared.schemas.js.map +1 -0
  92. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts +54 -33
  93. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
  94. package/dist/esm/billing/referral.shared.resources-config.schemas.js +56 -2
  95. package/dist/esm/billing/referral.shared.resources-config.schemas.js.map +1 -1
  96. package/dist/esm/billing/referral.shared.schemas.d.ts +22 -37
  97. package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
  98. package/dist/esm/billing/referral.shared.schemas.js +24 -44
  99. package/dist/esm/billing/referral.shared.schemas.js.map +1 -1
  100. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +9 -1
  101. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
  102. package/dist/esm/billing/subscription.shared.resources-config.schemas.js +55 -22
  103. package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
  104. package/dist/esm/billing/subscription.shared.schemas.d.ts +80 -5
  105. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  106. package/dist/esm/billing/subscription.shared.schemas.js +85 -25
  107. package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
  108. package/dist/esm/billing/usage-flush-evidence.shared.schemas.d.ts.map +1 -1
  109. package/dist/esm/billing/usage-flush-evidence.shared.schemas.js.map +1 -1
  110. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
  111. package/dist/esm/billing/usage-record.shared.resources-config.schemas.js.map +1 -1
  112. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  113. package/dist/esm/billing/usage-record.shared.schemas.js +5 -5
  114. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  115. package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
  116. package/dist/esm/charts/aggregation-query.shared.schemas.js.map +1 -1
  117. package/dist/esm/charts/aggregation.shared.definitions.d.ts.map +1 -1
  118. package/dist/esm/charts/aggregation.shared.definitions.js.map +1 -1
  119. package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
  120. package/dist/esm/charts/chart-definition-builder.shared.js.map +1 -1
  121. package/dist/esm/companion/artifact-placement.shared.definitions.d.ts.map +1 -1
  122. package/dist/esm/companion/artifact-placement.shared.definitions.js.map +1 -1
  123. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +143 -2
  124. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  125. package/dist/esm/companion/provider-discovery.shared.schemas.js +84 -1
  126. package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
  127. package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
  128. package/dist/esm/companion/shared-library-companion.shared.definitions.js.map +1 -1
  129. package/dist/esm/companion-exports.d.ts.map +1 -1
  130. package/dist/esm/companion-exports.js.map +1 -1
  131. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +14 -1
  132. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  133. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +4 -0
  134. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -1
  135. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts +70 -0
  136. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.d.ts.map +1 -1
  137. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js +87 -0
  138. package/dist/esm/compliance/audit-trails/audit-actor.shared.schemas.js.map +1 -1
  139. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts +34 -0
  140. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.d.ts.map +1 -1
  141. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js +137 -3
  142. package/dist/esm/compliance/audit-trails/audit-export-projection.shared.schemas.js.map +1 -1
  143. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts +7 -0
  144. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
  145. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.js.map +1 -1
  146. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts +28 -2
  147. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  148. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +29 -8
  149. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
  150. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +29 -6
  151. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  152. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +38 -9
  153. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  154. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +1822 -146
  155. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  156. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +1777 -87
  157. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  158. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts +10 -0
  159. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  160. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +148 -7
  161. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  162. package/dist/esm/compliance/data-classification/data-classification.shared.schemas.d.ts.map +1 -1
  163. package/dist/esm/compliance/data-classification/data-classification.shared.schemas.js.map +1 -1
  164. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.d.ts.map +1 -1
  165. package/dist/esm/compliance/documents/governed-document-interactions.shared.schemas.js.map +1 -1
  166. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
  167. package/dist/esm/compliance/documents/governed-documents.shared.schemas.js.map +1 -1
  168. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.d.ts.map +1 -1
  169. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.resources-config.schemas.js.map +1 -1
  170. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.d.ts.map +1 -1
  171. package/dist/esm/compliance/documents/user-governed-document-acceptances.shared.schemas.js.map +1 -1
  172. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts +2 -0
  173. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
  174. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js +2 -0
  175. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.js.map +1 -1
  176. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.d.ts.map +1 -1
  177. package/dist/esm/compliance/privacy/capability-consent-purposes.shared.utils.js.map +1 -1
  178. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
  179. package/dist/esm/compliance/privacy/client-storage.shared.schemas.js.map +1 -1
  180. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.d.ts.map +1 -1
  181. package/dist/esm/compliance/privacy/consent-gate-vocabulary.shared.schemas.js.map +1 -1
  182. package/dist/esm/compliance/privacy/consent-purposes.shared.d.ts.map +1 -1
  183. package/dist/esm/compliance/privacy/consent-purposes.shared.js.map +1 -1
  184. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts +17 -8
  185. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.d.ts.map +1 -1
  186. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js +43 -20
  187. package/dist/esm/compliance/privacy/data-subject-rights.shared.schemas.js.map +1 -1
  188. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
  189. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.js.map +1 -1
  190. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +38 -0
  191. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
  192. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +39 -0
  193. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
  194. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts +35 -0
  195. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.d.ts.map +1 -0
  196. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js +82 -0
  197. package/dist/esm/compliance/privacy/legal-hold-subject-attribution.shared.utils.js.map +1 -0
  198. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts +37 -0
  199. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.d.ts.map +1 -0
  200. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js +223 -0
  201. package/dist/esm/compliance/privacy/legal-holds.shared.resources-config.schemas.js.map +1 -0
  202. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts +222 -0
  203. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.d.ts.map +1 -0
  204. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js +331 -0
  205. package/dist/esm/compliance/privacy/legal-holds.shared.schemas.js.map +1 -0
  206. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
  207. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
  208. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +37 -3
  209. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  210. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +33 -4
  211. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
  212. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
  213. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.js.map +1 -1
  214. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
  215. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.js.map +1 -1
  216. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  217. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  218. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts +52 -0
  219. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.d.ts.map +1 -0
  220. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js +116 -0
  221. package/dist/esm/compliance/privacy/provider-capability-disclosure.shared.schemas.js.map +1 -0
  222. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts +11 -0
  223. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.d.ts.map +1 -0
  224. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js +11 -0
  225. package/dist/esm/compliance/privacy/purpose-ref.shared.schemas.js.map +1 -0
  226. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
  227. package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
  228. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts +93 -0
  229. package/dist/esm/compliance/privacy/retention-binding.shared.utils.d.ts.map +1 -0
  230. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js +149 -0
  231. package/dist/esm/compliance/privacy/retention-binding.shared.utils.js.map +1 -0
  232. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts +43 -0
  233. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.d.ts.map +1 -0
  234. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js +106 -0
  235. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.resources-config.schemas.js.map +1 -0
  236. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts +209 -0
  237. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.d.ts.map +1 -0
  238. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js +226 -0
  239. package/dist/esm/compliance/privacy/retention-enforcement-records.shared.schemas.js.map +1 -0
  240. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts +129 -5
  241. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
  242. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js +128 -4
  243. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.js.map +1 -1
  244. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts +53 -0
  245. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.d.ts.map +1 -0
  246. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js +74 -0
  247. package/dist/esm/compliance/privacy/retention-scope-deleted.shared.utils.js.map +1 -0
  248. package/dist/esm/compliance/privacy/sharing.shared.schemas.d.ts.map +1 -1
  249. package/dist/esm/compliance/privacy/sharing.shared.schemas.js.map +1 -1
  250. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts +311 -0
  251. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.d.ts.map +1 -0
  252. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js +355 -0
  253. package/dist/esm/compliance/privacy/subject-data-recipients.shared.schemas.js.map +1 -0
  254. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.d.ts.map +1 -1
  255. package/dist/esm/compliance/privacy/subject-erasure-lane-evidence.shared.schemas.js.map +1 -1
  256. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts +178 -39
  257. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
  258. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js +145 -35
  259. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.js.map +1 -1
  260. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
  261. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js +26 -0
  262. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.js.map +1 -1
  263. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts +9 -0
  264. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
  265. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
  266. package/dist/esm/compliance/review-cadence.shared.schemas.d.ts.map +1 -1
  267. package/dist/esm/compliance/review-cadence.shared.schemas.js.map +1 -1
  268. package/dist/esm/compliance/risk-posture.shared.schemas.d.ts.map +1 -1
  269. package/dist/esm/compliance/risk-posture.shared.schemas.js.map +1 -1
  270. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  271. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  272. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +109 -1
  273. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  274. package/dist/esm/config/app-configuration-shared.shared.schemas.js +57 -0
  275. package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
  276. package/dist/esm/config/app-frontend-type.shared.schemas.d.ts.map +1 -1
  277. package/dist/esm/config/app-frontend-type.shared.schemas.js.map +1 -1
  278. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  279. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  280. package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
  281. package/dist/esm/config/brand-assets.shared.schemas.js.map +1 -1
  282. package/dist/esm/config/configuration-validation.shared.schemas.d.ts.map +1 -1
  283. package/dist/esm/config/configuration-validation.shared.schemas.js.map +1 -1
  284. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +69 -0
  285. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  286. package/dist/esm/config/entity-identity-config.shared.schemas.js +93 -0
  287. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  288. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +16 -16
  289. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
  290. package/dist/esm/config/frontend/chart-definition.shared.schemas.js.map +1 -1
  291. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
  292. package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
  293. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +160 -61
  294. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  295. package/dist/esm/config/frontend/navigation.shared.schemas.js +297 -65
  296. package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
  297. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
  298. package/dist/esm/config/frontend/onboarding.shared.schemas.js.map +1 -1
  299. package/dist/esm/config/postgresql.shared.schemas.d.ts.map +1 -1
  300. package/dist/esm/config/postgresql.shared.schemas.js.map +1 -1
  301. package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
  302. package/dist/esm/config/registration-acquisition-policy.shared.utils.js.map +1 -1
  303. package/dist/esm/config-authoring.entry.d.ts.map +1 -1
  304. package/dist/esm/config-authoring.entry.js.map +1 -1
  305. package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
  306. package/dist/esm/crdt/crdt-merge.shared.utils.js.map +1 -1
  307. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
  308. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.js.map +1 -1
  309. package/dist/esm/errors/caught-error-description.shared.utils.d.ts +69 -0
  310. package/dist/esm/errors/caught-error-description.shared.utils.d.ts.map +1 -0
  311. package/dist/esm/errors/caught-error-description.shared.utils.js +77 -0
  312. package/dist/esm/errors/caught-error-description.shared.utils.js.map +1 -0
  313. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +76 -3
  314. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  315. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +76 -2
  316. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  317. package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
  318. package/dist/esm/errors/errors.shared.definitions.js.map +1 -1
  319. package/dist/esm/errors/errors.shared.schemas.d.ts +20 -1
  320. package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
  321. package/dist/esm/errors/errors.shared.schemas.js +16 -9
  322. package/dist/esm/errors/errors.shared.schemas.js.map +1 -1
  323. package/dist/esm/errors/errors.shared.utils.d.ts +0 -24
  324. package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
  325. package/dist/esm/errors/errors.shared.utils.js +0 -39
  326. package/dist/esm/errors/errors.shared.utils.js.map +1 -1
  327. package/dist/esm/errors/resource-access-forbidden.shared.error.d.ts.map +1 -1
  328. package/dist/esm/errors/resource-access-forbidden.shared.error.js.map +1 -1
  329. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts +6 -7
  330. package/dist/esm/errors/thrown-value-description.shared.utils.d.ts.map +1 -1
  331. package/dist/esm/errors/thrown-value-description.shared.utils.js +6 -7
  332. package/dist/esm/errors/thrown-value-description.shared.utils.js.map +1 -1
  333. package/dist/esm/errors/zod-issue-formatting.shared.utils.d.ts.map +1 -1
  334. package/dist/esm/errors/zod-issue-formatting.shared.utils.js.map +1 -1
  335. package/dist/esm/exports/tabular-csv.shared.utils.d.ts.map +1 -1
  336. package/dist/esm/exports/tabular-csv.shared.utils.js.map +1 -1
  337. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts +70 -0
  338. package/dist/esm/external-data/external-data-pipeline-description.shared.d.ts.map +1 -0
  339. package/dist/esm/external-data/external-data-pipeline-description.shared.js +92 -0
  340. package/dist/esm/external-data/external-data-pipeline-description.shared.js.map +1 -0
  341. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts +154 -0
  342. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.d.ts.map +1 -0
  343. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js +161 -0
  344. package/dist/esm/external-data/external-data-pipeline-pass-mode.shared.js.map +1 -0
  345. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +1071 -23
  346. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  347. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js +1065 -17
  348. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  349. package/dist/esm/external-data/external-data-provenance.shared.d.ts +71 -0
  350. package/dist/esm/external-data/external-data-provenance.shared.d.ts.map +1 -0
  351. package/dist/esm/external-data/external-data-provenance.shared.js +88 -0
  352. package/dist/esm/external-data/external-data-provenance.shared.js.map +1 -0
  353. package/dist/esm/external-data.exports.d.ts +5 -0
  354. package/dist/esm/external-data.exports.d.ts.map +1 -1
  355. package/dist/esm/external-data.exports.js +11 -0
  356. package/dist/esm/external-data.exports.js.map +1 -1
  357. package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
  358. package/dist/esm/external-providers/compose-provider-registry.shared.js.map +1 -1
  359. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +17 -2
  360. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  361. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +22 -4
  362. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  363. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  364. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +3 -0
  365. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  366. package/dist/esm/external-providers/engine-capability-surface.shared.d.ts.map +1 -1
  367. package/dist/esm/external-providers/engine-capability-surface.shared.js +2 -0
  368. package/dist/esm/external-providers/engine-capability-surface.shared.js.map +1 -1
  369. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
  370. package/dist/esm/external-providers/external-providers.shared.schemas.js.map +1 -1
  371. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +152 -1
  372. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  373. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.js.map +1 -1
  374. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +4 -3
  375. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -1
  376. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +4 -3
  377. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -1
  378. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +45 -0
  379. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -1
  380. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +14 -0
  381. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -1
  382. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +188 -4
  383. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  384. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +76 -9
  385. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  386. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +175 -33
  387. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -1
  388. package/dist/esm/external-providers/frontend-provider-public-config.shared.js +247 -42
  389. package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -1
  390. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts +53 -0
  391. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.d.ts.map +1 -0
  392. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js +41 -0
  393. package/dist/esm/external-providers/model-cost-accounting-config.shared.schemas.js.map +1 -0
  394. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts +150 -0
  395. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.d.ts.map +1 -0
  396. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js +22 -0
  397. package/dist/esm/external-providers/provider-address-lookup-contract.shared.types.js.map +1 -0
  398. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts +42 -0
  399. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.d.ts.map +1 -0
  400. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js +49 -0
  401. package/dist/esm/external-providers/provider-augmentation-opt-ins.shared.schemas.js.map +1 -0
  402. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.d.ts.map +1 -1
  403. package/dist/esm/external-providers/provider-authentication-assurance.shared.schemas.js.map +1 -1
  404. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts +53 -0
  405. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.d.ts.map +1 -1
  406. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js +56 -0
  407. package/dist/esm/external-providers/provider-browser-operations.shared.schemas.js.map +1 -1
  408. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +34 -0
  409. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  410. package/dist/esm/external-providers/provider-capability.shared.schemas.js +34 -0
  411. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  412. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +341 -4
  413. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  414. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +270 -20
  415. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  416. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +6 -2
  417. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -1
  418. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +6 -2
  419. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -1
  420. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +174 -1
  421. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -1
  422. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +125 -0
  423. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -1
  424. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +3 -3
  425. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  426. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  427. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts +42 -0
  428. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.d.ts.map +1 -0
  429. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js +57 -0
  430. package/dist/esm/external-providers/provider-package-allow-list.shared.schemas.js.map +1 -0
  431. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +6 -0
  432. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
  433. package/dist/esm/external-providers/provider-protocol.shared.schemas.js +6 -0
  434. package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
  435. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts +58 -0
  436. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.d.ts.map +1 -0
  437. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js +35 -0
  438. package/dist/esm/external-providers/provider-scope-reauthorization.shared.schemas.js.map +1 -0
  439. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts +115 -0
  440. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.d.ts.map +1 -0
  441. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js +137 -0
  442. package/dist/esm/external-providers/provider-shared-connections.shared.schemas.js.map +1 -0
  443. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -1
  444. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -1
  445. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts +73 -0
  446. package/dist/esm/external-providers/provider-usage-cost.shared.d.ts.map +1 -0
  447. package/dist/esm/external-providers/provider-usage-cost.shared.js +171 -0
  448. package/dist/esm/external-providers/provider-usage-cost.shared.js.map +1 -0
  449. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts +12 -0
  450. package/dist/esm/external-providers/provider-usage-pricing.example.d.ts.map +1 -0
  451. package/dist/esm/external-providers/provider-usage-pricing.example.js +40 -0
  452. package/dist/esm/external-providers/provider-usage-pricing.example.js.map +1 -0
  453. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts +68 -32
  454. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
  455. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js +63 -52
  456. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.js.map +1 -1
  457. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts +5 -5
  458. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
  459. package/dist/esm/features/application-features.shared.resources-config.schemas.js +13 -5
  460. package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
  461. package/dist/esm/features/connected-feature.example.d.ts.map +1 -1
  462. package/dist/esm/features/connected-feature.example.js +2 -1
  463. package/dist/esm/features/connected-feature.example.js.map +1 -1
  464. package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
  465. package/dist/esm/features/core-feature-definitions.shared.js +2 -1
  466. package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
  467. package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
  468. package/dist/esm/features/feature-builders.shared.js.map +1 -1
  469. package/dist/esm/features/feature-definition.shared.schemas.d.ts +2 -11
  470. package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
  471. package/dist/esm/features/feature-definition.shared.schemas.js +0 -12
  472. package/dist/esm/features/feature-definition.shared.schemas.js.map +1 -1
  473. package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
  474. package/dist/esm/features/feature-registry.shared.js.map +1 -1
  475. package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
  476. package/dist/esm/features/feature-resolution.shared.schemas.js.map +1 -1
  477. package/dist/esm/features/scope-features.shared.schemas.d.ts +31 -17
  478. package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
  479. package/dist/esm/features/scope-features.shared.schemas.js +27 -5
  480. package/dist/esm/features/scope-features.shared.schemas.js.map +1 -1
  481. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +5 -5
  482. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  483. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  484. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -1
  485. package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -1
  486. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
  487. package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
  488. package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
  489. package/dist/esm/files/files.shared.resources-config.schemas.js.map +1 -1
  490. package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
  491. package/dist/esm/files/files.shared.schemas.js.map +1 -1
  492. package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
  493. package/dist/esm/files/files.shared.utils.js.map +1 -1
  494. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  495. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.js.map +1 -1
  496. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
  497. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.js.map +1 -1
  498. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
  499. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.js.map +1 -1
  500. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
  501. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.js.map +1 -1
  502. package/dist/esm/flows-actors/actors.shared.schemas.d.ts +127 -11
  503. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  504. package/dist/esm/flows-actors/actors.shared.schemas.js +32 -1
  505. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  506. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts +16 -0
  507. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
  508. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js +7 -0
  509. package/dist/esm/flows-actors/agent-traceability.shared.schemas.js.map +1 -1
  510. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts +68 -0
  511. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.d.ts.map +1 -0
  512. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js +276 -0
  513. package/dist/esm/flows-actors/agent-work-decisions.shared.resources-config.schemas.js.map +1 -0
  514. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts +468 -0
  515. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.d.ts.map +1 -0
  516. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js +472 -0
  517. package/dist/esm/flows-actors/agent-work-decisions.shared.schemas.js.map +1 -0
  518. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +2 -2
  519. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  520. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  521. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts +118 -0
  522. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.d.ts.map +1 -0
  523. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js +144 -0
  524. package/dist/esm/flows-actors/autonomous-agents.shared.schemas.js.map +1 -0
  525. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  526. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  527. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.d.ts.map +1 -1
  528. package/dist/esm/flows-actors/execution-plan-readiness.shared.utils.js.map +1 -1
  529. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
  530. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.js.map +1 -1
  531. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +142 -8
  532. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  533. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +209 -11
  534. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  535. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
  536. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.js.map +1 -1
  537. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
  538. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.js.map +1 -1
  539. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +37 -2
  540. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  541. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +30 -2
  542. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  543. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts +0 -11
  544. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
  545. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js +12 -5
  546. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.js.map +1 -1
  547. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts +45 -6
  548. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
  549. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js +31 -5
  550. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.js.map +1 -1
  551. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
  552. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +30 -30
  553. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
  554. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
  555. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.js.map +1 -1
  556. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts +15 -7
  557. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  558. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  559. package/dist/esm/flows-actors/flows.shared.schemas.d.ts +15 -0
  560. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  561. package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
  562. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts +506 -0
  563. package/dist/esm/flows-actors/human-decision.shared.schemas.d.ts.map +1 -1
  564. package/dist/esm/flows-actors/human-decision.shared.schemas.js +502 -0
  565. package/dist/esm/flows-actors/human-decision.shared.schemas.js.map +1 -1
  566. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -1
  567. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -1
  568. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts +46 -0
  569. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.d.ts.map +1 -0
  570. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js +65 -0
  571. package/dist/esm/flows-actors/model-call-attributions.shared.resources-config.schemas.js.map +1 -0
  572. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts +120 -0
  573. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.d.ts.map +1 -0
  574. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js +165 -0
  575. package/dist/esm/flows-actors/model-call-attributions.shared.schemas.js.map +1 -0
  576. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts +45 -0
  577. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.d.ts.map +1 -0
  578. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js +127 -0
  579. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.resources-config.schemas.js.map +1 -0
  580. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts +83 -0
  581. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.d.ts.map +1 -0
  582. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js +97 -0
  583. package/dist/esm/flows-actors/model-cost-period-aggregates.shared.schemas.js.map +1 -0
  584. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts +136 -0
  585. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.d.ts.map +1 -0
  586. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js +90 -0
  587. package/dist/esm/flows-actors/model-cost-summary.shared.schemas.js.map +1 -0
  588. package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
  589. package/dist/esm/flows-actors/prompt-ir.shared.schemas.js.map +1 -1
  590. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts +5 -1
  591. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.d.ts.map +1 -1
  592. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js +19 -4
  593. package/dist/esm/flows-actors/provider-call-records.shared.resources-config.schemas.js.map +1 -1
  594. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts +13 -15
  595. package/dist/esm/flows-actors/provider-call-records.shared.schemas.d.ts.map +1 -1
  596. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js +30 -17
  597. package/dist/esm/flows-actors/provider-call-records.shared.schemas.js.map +1 -1
  598. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts +268 -0
  599. package/dist/esm/flows-actors/review-deadlines.shared.schemas.d.ts.map +1 -0
  600. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js +576 -0
  601. package/dist/esm/flows-actors/review-deadlines.shared.schemas.js.map +1 -0
  602. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts +30 -0
  603. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
  604. package/dist/esm/flows-actors/tasks.actors.shared.schemas.js.map +1 -1
  605. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts +129 -0
  606. package/dist/esm/flows-actors/work-attribution.shared.schemas.d.ts.map +1 -0
  607. package/dist/esm/flows-actors/work-attribution.shared.schemas.js +141 -0
  608. package/dist/esm/flows-actors/work-attribution.shared.schemas.js.map +1 -0
  609. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts +22 -1
  610. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.d.ts.map +1 -1
  611. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js +23 -0
  612. package/dist/esm/frontend-definitions/frontend-notification-custom-message-ref.definitions.js.map +1 -1
  613. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +61 -0
  614. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -1
  615. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +61 -0
  616. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -1
  617. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
  618. package/dist/esm/guidance/guidance-flow.shared.schemas.js.map +1 -1
  619. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
  620. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.js.map +1 -1
  621. package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
  622. package/dist/esm/guidance/guidance-state.shared.schemas.js +11 -10
  623. package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
  624. package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
  625. package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
  626. package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
  627. package/dist/esm/guidance/lifecycle-config.shared.schemas.js.map +1 -1
  628. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
  629. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.js.map +1 -1
  630. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  631. package/dist/esm/guidance/lifecycle-state.shared.schemas.js +6 -6
  632. package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
  633. package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
  634. package/dist/esm/guidance/milestone-builders.shared.js.map +1 -1
  635. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
  636. package/dist/esm/guidance/milestone-definition.shared.schemas.js.map +1 -1
  637. package/dist/esm/guidance/progression-presentation.shared.schemas.d.ts.map +1 -1
  638. package/dist/esm/guidance/progression-presentation.shared.schemas.js.map +1 -1
  639. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  640. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.js.map +1 -1
  641. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  642. package/dist/esm/guidance/progression-state.shared.schemas.js +8 -7
  643. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  644. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
  645. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js +1 -1
  646. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.js.map +1 -1
  647. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +550 -30
  648. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  649. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +498 -34
  650. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  651. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts +62 -0
  652. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.d.ts.map +1 -0
  653. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js +66 -0
  654. package/dist/esm/http-api-binding/http-api-erasure-stance.shared.js.map +1 -0
  655. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts +133 -0
  656. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.d.ts.map +1 -0
  657. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js +191 -0
  658. package/dist/esm/http-api-binding/http-api-rest-write-operations.shared.schemas.js.map +1 -0
  659. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts +37 -6
  660. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.d.ts.map +1 -1
  661. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js +37 -6
  662. package/dist/esm/http-api-binding/http-api-transport-dialect.shared.js.map +1 -1
  663. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.d.ts.map +1 -1
  664. package/dist/esm/http-api-binding/read-through-engine-anchors.shared.js.map +1 -1
  665. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts +36 -0
  666. package/dist/esm/i18n/application-config-vocabulary.shared.d.ts.map +1 -0
  667. package/dist/esm/i18n/application-config-vocabulary.shared.js +39 -0
  668. package/dist/esm/i18n/application-config-vocabulary.shared.js.map +1 -0
  669. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts +11 -0
  670. package/dist/esm/i18n/engine-open-vocabulary-values.shared.d.ts.map +1 -0
  671. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js +14 -0
  672. package/dist/esm/i18n/engine-open-vocabulary-values.shared.js.map +1 -0
  673. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts +20 -0
  674. package/dist/esm/i18n/engine-open-vocabulary.shared.d.ts.map +1 -0
  675. package/dist/esm/i18n/engine-open-vocabulary.shared.js +21 -0
  676. package/dist/esm/i18n/engine-open-vocabulary.shared.js.map +1 -0
  677. package/dist/esm/i18n/interpolate-label-params.shared.utils.d.ts.map +1 -1
  678. package/dist/esm/i18n/interpolate-label-params.shared.utils.js.map +1 -1
  679. package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
  680. package/dist/esm/i18n/labelling.dto.shared.schemas.js.map +1 -1
  681. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts +94 -0
  682. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.d.ts.map +1 -0
  683. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js +206 -0
  684. package/dist/esm/inbound/conversation-threads.shared.resources-config.schemas.js.map +1 -0
  685. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts +169 -0
  686. package/dist/esm/inbound/conversation-threads.shared.schemas.d.ts.map +1 -0
  687. package/dist/esm/inbound/conversation-threads.shared.schemas.js +231 -0
  688. package/dist/esm/inbound/conversation-threads.shared.schemas.js.map +1 -0
  689. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts +195 -0
  690. package/dist/esm/inbound/inbound-channels.shared.schemas.d.ts.map +1 -0
  691. package/dist/esm/inbound/inbound-channels.shared.schemas.js +244 -0
  692. package/dist/esm/inbound/inbound-channels.shared.schemas.js.map +1 -0
  693. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts +36 -0
  694. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.d.ts.map +1 -0
  695. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js +169 -0
  696. package/dist/esm/inbound/inbound-delivery.shared.resources-config.schemas.js.map +1 -0
  697. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts +404 -0
  698. package/dist/esm/inbound/inbound-delivery.shared.schemas.d.ts.map +1 -0
  699. package/dist/esm/inbound/inbound-delivery.shared.schemas.js +449 -0
  700. package/dist/esm/inbound/inbound-delivery.shared.schemas.js.map +1 -0
  701. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts +46 -0
  702. package/dist/esm/inbound/inbound-endpoint-env.shared.d.ts.map +1 -0
  703. package/dist/esm/inbound/inbound-endpoint-env.shared.js +57 -0
  704. package/dist/esm/inbound/inbound-endpoint-env.shared.js.map +1 -0
  705. package/dist/esm/index.d.ts +58 -1
  706. package/dist/esm/index.d.ts.map +1 -1
  707. package/dist/esm/index.js +67 -1
  708. package/dist/esm/index.js.map +1 -1
  709. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -1
  710. package/dist/esm/meta-workflows/actions.meta-workflows.shared.schemas.js.map +1 -1
  711. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -1
  712. package/dist/esm/meta-workflows/catalog.meta-workflows.shared.schemas.js.map +1 -1
  713. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.d.ts.map +1 -1
  714. package/dist/esm/meta-workflows/coding-tasks.meta-workflows.shared.schemas.js.map +1 -1
  715. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
  716. package/dist/esm/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
  717. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +28 -0
  718. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
  719. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js +29 -0
  720. package/dist/esm/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
  721. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts +95 -1
  722. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.d.ts.map +1 -1
  723. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js +121 -0
  724. package/dist/esm/meta-workflows/orchestration.meta-workflows.shared.schemas.js.map +1 -1
  725. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -1
  726. package/dist/esm/meta-workflows/portable-primitives.meta-workflows.shared.schemas.js.map +1 -1
  727. package/dist/esm/meta-workflows.exports.d.ts +0 -1
  728. package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
  729. package/dist/esm/meta-workflows.exports.js +0 -1
  730. package/dist/esm/meta-workflows.exports.js.map +1 -1
  731. package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
  732. package/dist/esm/monitoring/monitoring.shared.schemas.js.map +1 -1
  733. package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
  734. package/dist/esm/notifications/email/email-context.shared.schemas.js.map +1 -1
  735. package/dist/esm/notifications/email/email-submission.shared.enums.d.ts.map +1 -1
  736. package/dist/esm/notifications/email/email-submission.shared.enums.js.map +1 -1
  737. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +7 -1
  738. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  739. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js +35 -0
  740. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  741. package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
  742. package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
  743. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts +131 -0
  744. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.d.ts.map +1 -0
  745. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js +258 -0
  746. package/dist/esm/notifications/inbound-email/inbound-email.shared.resources-config.schemas.js.map +1 -0
  747. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts +448 -0
  748. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.d.ts.map +1 -0
  749. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js +530 -0
  750. package/dist/esm/notifications/inbound-email/inbound-email.shared.schemas.js.map +1 -0
  751. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
  752. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.js.map +1 -1
  753. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  754. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js +4 -3
  755. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.js.map +1 -1
  756. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
  757. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.js.map +1 -1
  758. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +16 -1
  759. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  760. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +46 -16
  761. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  762. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +19 -12
  763. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
  764. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +77 -12
  765. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
  766. package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
  767. package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
  768. package/dist/esm/notifications/notification-badges.schemas.d.ts +35 -3
  769. package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
  770. package/dist/esm/notifications/notification-badges.schemas.js +43 -3
  771. package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
  772. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  773. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
  774. package/dist/esm/notifications/notifications.shared.schemas.d.ts +66 -399
  775. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  776. package/dist/esm/notifications/notifications.shared.schemas.js +111 -58
  777. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  778. package/dist/esm/organizations/application-owner-organization.shared.schemas.d.ts.map +1 -1
  779. package/dist/esm/organizations/application-owner-organization.shared.schemas.js.map +1 -1
  780. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts +5 -5
  781. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
  782. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +6 -6
  783. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
  784. package/dist/esm/organizations/organization-features.shared.schemas.d.ts.map +1 -1
  785. package/dist/esm/organizations/organization-features.shared.schemas.js.map +1 -1
  786. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +3 -0
  787. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  788. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +60 -14
  789. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
  790. package/dist/esm/organizations/organization-members.shared.schemas.d.ts +3 -0
  791. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  792. package/dist/esm/organizations/organization-members.shared.schemas.js +30 -0
  793. package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
  794. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
  795. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.js.map +1 -1
  796. package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
  797. package/dist/esm/organizations/organization-notifications.shared.schemas.js +9 -9
  798. package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
  799. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  800. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.js.map +1 -1
  801. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  802. package/dist/esm/organizations/organization-preferences.shared.schemas.js +4 -4
  803. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  804. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts +0 -1
  805. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
  806. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.js.map +1 -1
  807. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +5 -5
  808. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  809. package/dist/esm/organizations/organization-profile.shared.schemas.js +15 -10
  810. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  811. package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
  812. package/dist/esm/organizations/organization-unit-inheritance.shared.js.map +1 -1
  813. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
  814. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js +1 -1
  815. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.js.map +1 -1
  816. package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
  817. package/dist/esm/organizations/organization-unit-members.shared.schemas.js +2 -1
  818. package/dist/esm/organizations/organization-unit-members.shared.schemas.js.map +1 -1
  819. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts +63 -1
  820. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
  821. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js +106 -5
  822. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.js.map +1 -1
  823. package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
  824. package/dist/esm/organizations/organization-unit-narrowing.example.js.map +1 -1
  825. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  826. package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -0
  827. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  828. package/dist/esm/organizations/organization-units.shared.path.d.ts.map +1 -1
  829. package/dist/esm/organizations/organization-units.shared.path.js.map +1 -1
  830. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
  831. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js +7 -2
  832. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.js.map +1 -1
  833. package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
  834. package/dist/esm/organizations/organization-units.shared.schemas.js.map +1 -1
  835. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts +3 -1
  836. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  837. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +12 -8
  838. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  839. package/dist/esm/organizations/organizations.shared.schemas.d.ts +7 -2
  840. package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
  841. package/dist/esm/organizations/organizations.shared.schemas.js +51 -1
  842. package/dist/esm/organizations/organizations.shared.schemas.js.map +1 -1
  843. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts +58 -0
  844. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.d.ts.map +1 -0
  845. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js +188 -0
  846. package/dist/esm/organizations/service-provider-activity-feed.shared.resources-config.schemas.js.map +1 -0
  847. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts +122 -0
  848. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.d.ts.map +1 -0
  849. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js +136 -0
  850. package/dist/esm/organizations/service-provider-activity-feed.shared.schemas.js.map +1 -0
  851. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts +36 -0
  852. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.d.ts.map +1 -0
  853. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js +155 -0
  854. package/dist/esm/organizations/service-provider-capability-grants.shared.resources-config.schemas.js.map +1 -0
  855. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts +229 -0
  856. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.d.ts.map +1 -0
  857. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js +290 -0
  858. package/dist/esm/organizations/service-provider-capability-grants.shared.schemas.js.map +1 -0
  859. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts +48 -0
  860. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.d.ts.map +1 -0
  861. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js +50 -0
  862. package/dist/esm/organizations/service-provider-client-controls.shared.schemas.js.map +1 -0
  863. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts +97 -0
  864. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.d.ts.map +1 -0
  865. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js +572 -0
  866. package/dist/esm/organizations/service-provider-relationships.shared.resources-config.schemas.js.map +1 -0
  867. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts +590 -0
  868. package/dist/esm/organizations/service-provider-relationships.shared.schemas.d.ts.map +1 -0
  869. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js +869 -0
  870. package/dist/esm/organizations/service-provider-relationships.shared.schemas.js.map +1 -0
  871. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +36 -6
  872. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
  873. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +57 -16
  874. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
  875. package/dist/esm/provider-registration-runtime.exports.d.ts +0 -1
  876. package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
  877. package/dist/esm/provider-registration-runtime.exports.js +0 -1
  878. package/dist/esm/provider-registration-runtime.exports.js.map +1 -1
  879. package/dist/esm/public-runtime/index.d.ts +30 -11
  880. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  881. package/dist/esm/public-runtime/index.js +30 -11
  882. package/dist/esm/public-runtime/index.js.map +1 -1
  883. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  884. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  885. package/dist/esm/queue/jobs.shared.schemas.d.ts +30 -2
  886. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  887. package/dist/esm/queue/jobs.shared.schemas.js +12 -0
  888. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  889. package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
  890. package/dist/esm/queue/jobs.shared.utils.js.map +1 -1
  891. package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
  892. package/dist/esm/queue/queues.shared.schemas.js.map +1 -1
  893. package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
  894. package/dist/esm/queue/queues.shared.utils.js.map +1 -1
  895. package/dist/esm/queue/rabbitmq-queue-args.shared.d.ts.map +1 -1
  896. package/dist/esm/queue/rabbitmq-queue-args.shared.js.map +1 -1
  897. package/dist/esm/rag/rag-retrieval-health.shared.d.ts.map +1 -1
  898. package/dist/esm/rag/rag-retrieval-health.shared.js.map +1 -1
  899. package/dist/esm/requests/header-keys.shared.d.ts +6 -0
  900. package/dist/esm/requests/header-keys.shared.d.ts.map +1 -1
  901. package/dist/esm/requests/header-keys.shared.js +7 -0
  902. package/dist/esm/requests/header-keys.shared.js.map +1 -1
  903. package/dist/esm/requests/http-requests.shared.d.ts.map +1 -1
  904. package/dist/esm/requests/http-requests.shared.js.map +1 -1
  905. package/dist/esm/requests/idempotency-key.shared.d.ts.map +1 -1
  906. package/dist/esm/requests/idempotency-key.shared.js.map +1 -1
  907. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -1
  908. package/dist/esm/requests/manual-controllers-routes-documentation.js +147 -8
  909. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -1
  910. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +51 -23
  911. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  912. package/dist/esm/requests/manual-controllers-routes-urls.js +64 -0
  913. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  914. package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
  915. package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
  916. package/dist/esm/requests/websocket.shared.schemas.d.ts +78 -13
  917. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  918. package/dist/esm/requests/websocket.shared.schemas.js +91 -18
  919. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  920. package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
  921. package/dist/esm/resources/child-operations.shared.schemas.js.map +1 -1
  922. package/dist/esm/resources/collection-query-parameters.shared.d.ts.map +1 -1
  923. package/dist/esm/resources/collection-query-parameters.shared.js.map +1 -1
  924. package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
  925. package/dist/esm/resources/context-policy.shared.schemas.js.map +1 -1
  926. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts +21 -0
  927. package/dist/esm/resources/embedded-resource-mark.shared.utils.d.ts.map +1 -0
  928. package/dist/esm/resources/embedded-resource-mark.shared.utils.js +22 -0
  929. package/dist/esm/resources/embedded-resource-mark.shared.utils.js.map +1 -0
  930. package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
  931. package/dist/esm/resources/relationship-display.shared.schemas.js.map +1 -1
  932. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  933. package/dist/esm/resources/resources-config.shared.factory.js +812 -32
  934. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  935. package/dist/esm/resources/resources-config.shared.schemas.d.ts +244 -48
  936. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  937. package/dist/esm/resources/resources-config.shared.schemas.js +151 -17
  938. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  939. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  940. package/dist/esm/resources/resources-registry.shared.core.definitions.js +369 -12
  941. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  942. package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
  943. package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
  944. package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
  945. package/dist/esm/resources/resources-serialization.shared.schemas.js.map +1 -1
  946. package/dist/esm/resources/resources.shared.core.definitions.d.ts +45 -0
  947. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  948. package/dist/esm/resources/resources.shared.core.definitions.js +92 -0
  949. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  950. package/dist/esm/resources/resources.shared.schemas.d.ts +2 -17
  951. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  952. package/dist/esm/resources/resources.shared.schemas.js +24 -20
  953. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  954. package/dist/esm/resources/resources.shared.utils.d.ts +16 -8
  955. package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
  956. package/dist/esm/resources/resources.shared.utils.js +16 -8
  957. package/dist/esm/resources/resources.shared.utils.js.map +1 -1
  958. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts +2 -2
  959. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
  960. package/dist/esm/resources/utils/collection-export.shared.utils.js +4 -2
  961. package/dist/esm/resources/utils/collection-export.shared.utils.js.map +1 -1
  962. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
  963. package/dist/esm/resources/utils/composition-cascade-deletability.validation.js.map +1 -1
  964. package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
  965. package/dist/esm/resources/utils/composition-seedability.validation.js.map +1 -1
  966. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
  967. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.js.map +1 -1
  968. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.d.ts.map +1 -1
  969. package/dist/esm/resources/utils/dependent-lifecycle-classification.validation.js.map +1 -1
  970. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
  971. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.js.map +1 -1
  972. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -1
  973. package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -1
  974. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts +103 -0
  975. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.d.ts.map +1 -0
  976. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js +275 -0
  977. package/dist/esm/resources/utils/http-api-write-declaration.shared.utils.js.map +1 -0
  978. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.d.ts.map +1 -1
  979. package/dist/esm/resources/utils/initiator-stamped-field-satisfiability.validation.js.map +1 -1
  980. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts +51 -0
  981. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.d.ts.map +1 -0
  982. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js +28 -0
  983. package/dist/esm/resources/utils/no-subject-data-stance-coherence.shared.utils.js.map +1 -0
  984. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
  985. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.js.map +1 -1
  986. package/dist/esm/resources/utils/populated-file-fields.shared.utils.d.ts.map +1 -1
  987. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js +30 -19
  988. package/dist/esm/resources/utils/populated-file-fields.shared.utils.js.map +1 -1
  989. package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
  990. package/dist/esm/resources/utils/repository-dto-builder.utils.js.map +1 -1
  991. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts +2 -0
  992. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.d.ts.map +1 -0
  993. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js +33 -0
  994. package/dist/esm/resources/utils/request-schema-field-carriage.shared.utils.js.map +1 -0
  995. package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
  996. package/dist/esm/resources/utils/required-fk-fillability.validation.js.map +1 -1
  997. package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
  998. package/dist/esm/resources/utils/resource-operation-type-guards.utils.js.map +1 -1
  999. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts +15 -0
  1000. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
  1001. package/dist/esm/resources/utils/resource-polymorphism.factory.js +6 -1
  1002. package/dist/esm/resources/utils/resource-polymorphism.factory.js.map +1 -1
  1003. package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
  1004. package/dist/esm/resources/utils/resource-polymorphism.relationships.js.map +1 -1
  1005. package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
  1006. package/dist/esm/resources/utils/resource-polymorphism.schemas.js +30 -4
  1007. package/dist/esm/resources/utils/resource-polymorphism.schemas.js.map +1 -1
  1008. package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
  1009. package/dist/esm/resources/utils/resource-polymorphism.utils.js.map +1 -1
  1010. package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
  1011. package/dist/esm/resources/utils/resource-subtree.utils.js.map +1 -1
  1012. package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
  1013. package/dist/esm/resources/utils/resources-config-context-needs.utils.js.map +1 -1
  1014. package/dist/esm/resources/utils/resources-config-naming.utils.d.ts.map +1 -1
  1015. package/dist/esm/resources/utils/resources-config-naming.utils.js.map +1 -1
  1016. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts +46 -0
  1017. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  1018. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +205 -22
  1019. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
  1020. package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
  1021. package/dist/esm/resources/utils/resources-config-operations.path.utils.js.map +1 -1
  1022. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
  1023. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.js.map +1 -1
  1024. package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
  1025. package/dist/esm/resources/utils/resources-config-operations.utils.js.map +1 -1
  1026. package/dist/esm/resources/utils/resources-serialization.utils.d.ts +19 -2
  1027. package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
  1028. package/dist/esm/resources/utils/resources-serialization.utils.js +4 -0
  1029. package/dist/esm/resources/utils/resources-serialization.utils.js.map +1 -1
  1030. package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
  1031. package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
  1032. package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
  1033. package/dist/esm/resources/utils/schema-family-builder.utils.js.map +1 -1
  1034. package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
  1035. package/dist/esm/resources/utils/schema-type-inference.utils.js.map +1 -1
  1036. package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
  1037. package/dist/esm/resources/utils/schema-type-utils.js.map +1 -1
  1038. package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
  1039. package/dist/esm/resources/utils/schema-variant-resolver.utils.js.map +1 -1
  1040. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  1041. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +15 -9
  1042. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  1043. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
  1044. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.js.map +1 -1
  1045. package/dist/esm/resources/work-unit.shared.schemas.d.ts +20 -0
  1046. package/dist/esm/resources/work-unit.shared.schemas.d.ts.map +1 -0
  1047. package/dist/esm/resources/work-unit.shared.schemas.js +19 -0
  1048. package/dist/esm/resources/work-unit.shared.schemas.js.map +1 -0
  1049. package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
  1050. package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
  1051. package/dist/esm/runtime/execution-context.shared.schemas.d.ts +48 -1
  1052. package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
  1053. package/dist/esm/runtime/execution-context.shared.schemas.js +101 -9
  1054. package/dist/esm/runtime/execution-context.shared.schemas.js.map +1 -1
  1055. package/dist/esm/runtime/runtime.shared.schemas.d.ts.map +1 -1
  1056. package/dist/esm/runtime/runtime.shared.schemas.js.map +1 -1
  1057. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
  1058. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  1059. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +37 -20
  1060. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  1061. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
  1062. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1063. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +61 -48
  1064. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  1065. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts +26 -0
  1066. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
  1067. package/dist/esm/security/api-keys/api-keys.shared.schemas.js +39 -5
  1068. package/dist/esm/security/api-keys/api-keys.shared.schemas.js.map +1 -1
  1069. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
  1070. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.js.map +1 -1
  1071. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -3
  1072. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  1073. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +6 -0
  1074. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  1075. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  1076. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  1077. package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
  1078. package/dist/esm/security/authentications/authentication.shared.utils.js.map +1 -1
  1079. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  1080. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  1081. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
  1082. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.js.map +1 -1
  1083. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.d.ts.map +1 -1
  1084. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.js.map +1 -1
  1085. package/dist/esm/security/authentications/password-blocklist.shared.utils.d.ts.map +1 -1
  1086. package/dist/esm/security/authentications/password-blocklist.shared.utils.js.map +1 -1
  1087. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
  1088. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.js.map +1 -1
  1089. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  1090. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  1091. package/dist/esm/security/authentications/same-origin-redirect-path.shared.d.ts.map +1 -1
  1092. package/dist/esm/security/authentications/same-origin-redirect-path.shared.js.map +1 -1
  1093. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
  1094. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js +2 -2
  1095. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.js.map +1 -1
  1096. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts +11 -0
  1097. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
  1098. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js +19 -8
  1099. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.js.map +1 -1
  1100. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +1 -1
  1101. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  1102. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +5 -5
  1103. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  1104. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
  1105. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js +11 -11
  1106. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.js.map +1 -1
  1107. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts +2 -0
  1108. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
  1109. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js +9 -0
  1110. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.js.map +1 -1
  1111. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts +169 -0
  1112. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.d.ts.map +1 -0
  1113. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js +162 -0
  1114. package/dist/esm/security/authentications/service-provider-client-authentication.shared.schemas.js.map +1 -0
  1115. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
  1116. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js +10 -8
  1117. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.js.map +1 -1
  1118. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
  1119. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.js.map +1 -1
  1120. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.d.ts.map +1 -1
  1121. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.resources-config.schemas.js.map +1 -1
  1122. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.d.ts.map +1 -1
  1123. package/dist/esm/security/authentications/siem/siem-delivery-outbox.shared.schemas.js.map +1 -1
  1124. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
  1125. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
  1126. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
  1127. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.js.map +1 -1
  1128. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
  1129. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js +8 -8
  1130. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.js.map +1 -1
  1131. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  1132. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +17 -16
  1133. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  1134. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  1135. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +28 -25
  1136. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  1137. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts +17 -6
  1138. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
  1139. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js +90 -38
  1140. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.js.map +1 -1
  1141. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +0 -24
  1142. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  1143. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +79 -68
  1144. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  1145. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +8 -1
  1146. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
  1147. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +7 -0
  1148. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
  1149. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1150. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +1 -1
  1151. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -1
  1152. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -1
  1153. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -1
  1154. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1155. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +7 -7
  1156. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
  1157. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  1158. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  1159. package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
  1160. package/dist/esm/security/authorizations/roles.shared.defaults.js +56 -0
  1161. package/dist/esm/security/authorizations/roles.shared.defaults.js.map +1 -1
  1162. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +77 -1
  1163. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  1164. package/dist/esm/security/authorizations/roles.shared.schemas.js +90 -0
  1165. package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
  1166. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  1167. package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
  1168. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts +86 -0
  1169. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.d.ts.map +1 -0
  1170. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js +40 -0
  1171. package/dist/esm/security/connected-accounts/provider-connection-listing.shared.schemas.js.map +1 -0
  1172. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +2 -1
  1173. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1174. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +2 -1
  1175. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -1
  1176. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +2 -1
  1177. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -1
  1178. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +2 -1
  1179. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -1
  1180. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +46 -14
  1181. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -1
  1182. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +81 -21
  1183. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -1
  1184. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts +69 -0
  1185. package/dist/esm/security/credential-rotation-grace.shared.utils.d.ts.map +1 -0
  1186. package/dist/esm/security/credential-rotation-grace.shared.utils.js +77 -0
  1187. package/dist/esm/security/credential-rotation-grace.shared.utils.js.map +1 -0
  1188. package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.d.ts.map +1 -1
  1189. package/dist/esm/security/crypto-keys/crypto-keys.shared.schemas.js.map +1 -1
  1190. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  1191. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +28 -8
  1192. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  1193. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +3 -1
  1194. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  1195. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +89 -14
  1196. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  1197. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +1 -0
  1198. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
  1199. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +25 -4
  1200. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
  1201. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
  1202. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.js.map +1 -1
  1203. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
  1204. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
  1205. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
  1206. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.js.map +1 -1
  1207. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts +7 -1
  1208. package/dist/esm/security/outbound-target-control.shared.schemas.d.ts.map +1 -1
  1209. package/dist/esm/security/outbound-target-control.shared.schemas.js +6 -0
  1210. package/dist/esm/security/outbound-target-control.shared.schemas.js.map +1 -1
  1211. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts +143 -0
  1212. package/dist/esm/security/submission-challenge/submission-challenge.shared.d.ts.map +1 -0
  1213. package/dist/esm/security/submission-challenge/submission-challenge.shared.js +123 -0
  1214. package/dist/esm/security/submission-challenge/submission-challenge.shared.js.map +1 -0
  1215. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts +384 -0
  1216. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.d.ts.map +1 -0
  1217. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js +327 -0
  1218. package/dist/esm/systems-of-record/system-of-record-actions.shared.schemas.js.map +1 -0
  1219. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.d.ts.map +1 -1
  1220. package/dist/esm/systems-of-record/system-of-record-credential-kind.shared.js.map +1 -1
  1221. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts +121 -8
  1222. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.d.ts.map +1 -1
  1223. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js +83 -4
  1224. package/dist/esm/systems-of-record/system-of-record-declaration.shared.schemas.js.map +1 -1
  1225. package/dist/esm/systems-of-record/system-of-record-env.shared.d.ts.map +1 -1
  1226. package/dist/esm/systems-of-record/system-of-record-env.shared.js.map +1 -1
  1227. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts +266 -8
  1228. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.d.ts.map +1 -1
  1229. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js +291 -7
  1230. package/dist/esm/systems-of-record/system-of-record-error-codes.shared.js.map +1 -1
  1231. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts +313 -3
  1232. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.d.ts.map +1 -1
  1233. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js +369 -3
  1234. package/dist/esm/systems-of-record/system-of-record-facet.shared.schemas.js.map +1 -1
  1235. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.d.ts.map +1 -1
  1236. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js +2 -1
  1237. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.resources-config.schemas.js.map +1 -1
  1238. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.d.ts.map +1 -1
  1239. package/dist/esm/systems-of-record/system-of-record-partition-assignments.shared.schemas.js.map +1 -1
  1240. package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
  1241. package/dist/esm/testing/resource-config-builders.js.map +1 -1
  1242. package/dist/esm/testing.d.ts.map +1 -1
  1243. package/dist/esm/testing.js.map +1 -1
  1244. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
  1245. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.js.map +1 -1
  1246. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts +5 -3
  1247. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
  1248. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js +19 -10
  1249. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.js.map +1 -1
  1250. package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
  1251. package/dist/esm/users/anonymous-users.shared.schema.js.map +1 -1
  1252. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  1253. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +6 -0
  1254. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
  1255. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  1256. package/dist/esm/users/inbound-contacts.shared.schemas.js.map +1 -1
  1257. package/dist/esm/users/user-consent-decision.shared.utils.d.ts.map +1 -1
  1258. package/dist/esm/users/user-consent-decision.shared.utils.js.map +1 -1
  1259. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
  1260. package/dist/esm/users/user-credentials.shared.resources-config.schemas.js.map +1 -1
  1261. package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
  1262. package/dist/esm/users/user-credentials.shared.schemas.js.map +1 -1
  1263. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  1264. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.js.map +1 -1
  1265. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  1266. package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
  1267. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
  1268. package/dist/esm/users/user-preferences-reset.shared.utils.js +2 -2
  1269. package/dist/esm/users/user-preferences-reset.shared.utils.js.map +1 -1
  1270. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +0 -3
  1271. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1272. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
  1273. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1274. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
  1275. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +0 -3
  1276. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  1277. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
  1278. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  1279. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.js.map +1 -1
  1280. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  1281. package/dist/esm/users/user-self.shared.resources-config.schemas.js +1 -1
  1282. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  1283. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  1284. package/dist/esm/users/users.shared.resources-config.schemas.js +82 -20
  1285. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  1286. package/dist/esm/users/users.shared.schemas.d.ts +12 -9
  1287. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  1288. package/dist/esm/users/users.shared.schemas.js +49 -18
  1289. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  1290. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1291. package/package.json +4 -4
  1292. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts +0 -8
  1293. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +0 -1
  1294. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js +0 -7
  1295. package/dist/esm/compliance/privacy/data-retention.shared.schemas.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"compose-provider-registry.shared.js","sourceRoot":"","sources":["../../../../src/external-providers/compose-provider-registry.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AA8BH,MAAM,OAAO,gCAAsD,SAAQ,KAAK;IAC9D,KAAK,CAAS;IACd,SAAS,CAAmD;IAE5E,YACE,KAAa,EACb,SAA2D;QAE3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CACzB,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,CAC3B,YAAY,GAAG,4BAA4B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3E,CAAC;QACF,KAAK,CACH,WAAW,KAAK,2DAA2D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7F,8FAA8F,CACjG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAIrC,KAAa,EACb,SAAiE;IAEjE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,gCAAgC,CAAO,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;IACvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACvB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4C;QACxD,OAAO,EAAE,KAAK;QACd,gBAAgB,CAAC,GAAG;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,gCAAgC,CAAC,kBAAkB;YACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,gCAAgC,CAAC,kBAAkB;YACjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC5D,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC","sourcesContent":["/**\n * `composeProviderRegistry` — facet-agnostic registry composition core.\n *\n * Each facet (backend, frontend-app, frontend-techdoc, frontend-website)\n * exposes its own `compose<Facet>Providers` wrapper that delegates here\n * so the conflict-detection diagnostic, the index-building algorithm,\n * and the freeze semantics stay identical across the codebase.\n *\n * The helper is generic over the facet-brand `TRef` (each facet uses a\n * branded string for its `ref` to keep cross-facet leakage compile-blocked)\n * and over the facet module shape `TModule` (constrained to anything with\n * a `providerCapabilities: ReadonlyArray<ProviderCapability>` field, which\n * is the one cross-facet invariant — every provider declares what it can\n * do regardless of facet).\n *\n * Conflict policy (locked in analysis §6 / §10 Q4): same `ref` declared in\n * two or more fragments → THROW with a precise diagnostic listing every\n * fragment index that contributed the conflicting ref. NO silent override.\n *\n * Returned shape: a frozen `ComposedProviderRegistry<TRef, TModule>` with:\n * - `modules` — direct ref→module map\n * - `getProviderByRef(ref)` — direct lookup\n * - `getProvidersByProviderCapability(c)` — capability fan-out (ordered\n * by fragment index, then by\n * insertion order within each\n * fragment's `modules` Map)\n * - `findProviderByProviderCapability(c)` — first match (single-fulfiller)\n *\n * The returned object surface is `Object.freeze`d; the underlying `Map`\n * and array references are NOT defensively cloned on every read — the\n * `Readonly` typing at consumer sites is the contract, and the builder is\n * the sole writer.\n *\n * See `.cursor/plans/provider-registration-refactor-implementation-plan.md`\n * §Phase 1.e for the canonical contract.\n */\n\nimport type { ProviderCapability } from './provider-capability.shared.schemas';\n\nexport interface ProviderRegistryFragment<\n TRef extends string,\n TModule extends { readonly providerCapabilities: ReadonlyArray<ProviderCapability> },\n> {\n readonly modules: ReadonlyMap<TRef, TModule>;\n}\n\nexport interface ComposedProviderRegistry<\n TRef extends string,\n TModule extends { readonly providerCapabilities: ReadonlyArray<ProviderCapability> },\n> {\n readonly modules: ReadonlyMap<TRef, TModule>;\n getProviderByRef(ref: TRef): TModule | undefined;\n getProvidersByProviderCapability(\n providerCapability: ProviderCapability,\n ): ReadonlyArray<TModule>;\n findProviderByProviderCapability(\n providerCapability: ProviderCapability,\n ): TModule | undefined;\n}\n\nexport interface ProviderCompositionConflict<TRef extends string> {\n ref: TRef;\n fragmentIndexes: ReadonlyArray<number>;\n}\n\nexport class ProviderCompositionConflictError<TRef extends string> extends Error {\n public readonly facet: string;\n public readonly conflicts: ReadonlyArray<ProviderCompositionConflict<TRef>>;\n\n constructor(\n facet: string,\n conflicts: ReadonlyArray<ProviderCompositionConflict<TRef>>,\n ) {\n const lines = conflicts.map(\n ({ ref, fragmentIndexes }) =>\n ` - ref \"${ref}\" declared by fragments [${fragmentIndexes.join(', ')}]`,\n );\n super(\n `[compose${facet}Providers] conflicting provider refs across fragments:\\n${lines.join('\\n')}\\n` +\n 'Resolution: pick a different ref OR drop the conflicting fragment from the composition call.',\n );\n this.name = 'ProviderCompositionConflictError';\n this.facet = facet;\n this.conflicts = conflicts;\n }\n}\n\nexport function composeProviderRegistry<\n TRef extends string,\n TModule extends { readonly providerCapabilities: ReadonlyArray<ProviderCapability> },\n>(\n facet: string,\n fragments: ReadonlyArray<ProviderRegistryFragment<TRef, TModule>>,\n): ComposedProviderRegistry<TRef, TModule> {\n const refOwners = new Map<TRef, number[]>();\n for (let index = 0; index < fragments.length; index += 1) {\n for (const ref of fragments[index].modules.keys()) {\n const existing = refOwners.get(ref);\n if (existing) {\n existing.push(index);\n } else {\n refOwners.set(ref, [index]);\n }\n }\n }\n\n const conflicts: ProviderCompositionConflict<TRef>[] = [];\n for (const [ref, indexes] of refOwners) {\n if (indexes.length > 1) {\n conflicts.push({ ref, fragmentIndexes: indexes });\n }\n }\n if (conflicts.length > 0) {\n throw new ProviderCompositionConflictError<TRef>(facet, conflicts);\n }\n\n const byRef = new Map<TRef, TModule>();\n const byProviderCapability = new Map<ProviderCapability, TModule[]>();\n for (const fragment of fragments) {\n for (const [ref, module] of fragment.modules) {\n byRef.set(ref, module);\n for (const capability of module.providerCapabilities) {\n const bucket = byProviderCapability.get(capability);\n if (bucket) {\n bucket.push(module);\n } else {\n byProviderCapability.set(capability, [module]);\n }\n }\n }\n }\n\n const registry: ComposedProviderRegistry<TRef, TModule> = {\n modules: byRef,\n getProviderByRef(ref) {\n return byRef.get(ref);\n },\n getProvidersByProviderCapability(providerCapability) {\n return byProviderCapability.get(providerCapability) ?? [];\n },\n findProviderByProviderCapability(providerCapability) {\n const bucket = byProviderCapability.get(providerCapability);\n return bucket && bucket.length > 0 ? bucket[0] : undefined;\n },\n };\n\n return Object.freeze(registry);\n}\n"]}
1
+ {"version":3,"file":"compose-provider-registry.shared.js","sourceRoot":"","sources":["../../../src/external-providers/compose-provider-registry.shared.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AA8BH,MAAM,OAAO,gCAAsD,SAAQ,KAAK;IAC9D,KAAK,CAAS;IACd,SAAS,CAAmD;IAE5E,YACE,KAAa,EACb,SAA2D;QAE3D,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CACzB,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,CAC3B,YAAY,GAAG,4BAA4B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3E,CAAC;QACF,KAAK,CACH,WAAW,KAAK,2DAA2D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7F,8FAA8F,CACjG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAC;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,uBAAuB,CAIrC,KAAa,EACb,SAAiE;IAEjE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,gCAAgC,CAAO,KAAK,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,GAAG,EAAiB,CAAC;IACvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAiC,CAAC;IACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC7C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACvB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACrD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,CAAC;qBAAM,CAAC;oBACN,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAA4C;QACxD,OAAO,EAAE,KAAK;QACd,gBAAgB,CAAC,GAAG;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,gCAAgC,CAAC,kBAAkB;YACjD,OAAO,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;QACD,gCAAgC,CAAC,kBAAkB;YACjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC5D,OAAO,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,CAAC;KACF,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC","sourcesContent":["/**\n * `composeProviderRegistry` — facet-agnostic registry composition core.\n *\n * Each facet (backend, frontend-app, frontend-techdoc, frontend-website)\n * exposes its own `compose<Facet>Providers` wrapper that delegates here\n * so the conflict-detection diagnostic, the index-building algorithm,\n * and the freeze semantics stay identical across the codebase.\n *\n * The helper is generic over the facet-brand `TRef` (each facet uses a\n * branded string for its `ref` to keep cross-facet leakage compile-blocked)\n * and over the facet module shape `TModule` (constrained to anything with\n * a `providerCapabilities: ReadonlyArray<ProviderCapability>` field, which\n * is the one cross-facet invariant — every provider declares what it can\n * do regardless of facet).\n *\n * Conflict policy (locked in analysis §6 / §10 Q4): same `ref` declared in\n * two or more fragments → THROW with a precise diagnostic listing every\n * fragment index that contributed the conflicting ref. NO silent override.\n *\n * Returned shape: a frozen `ComposedProviderRegistry<TRef, TModule>` with:\n * - `modules` — direct ref→module map\n * - `getProviderByRef(ref)` — direct lookup\n * - `getProvidersByProviderCapability(c)` — capability fan-out (ordered\n * by fragment index, then by\n * insertion order within each\n * fragment's `modules` Map)\n * - `findProviderByProviderCapability(c)` — first match (single-fulfiller)\n *\n * The returned object surface is `Object.freeze`d; the underlying `Map`\n * and array references are NOT defensively cloned on every read — the\n * `Readonly` typing at consumer sites is the contract, and the builder is\n * the sole writer.\n *\n * See `.cursor/plans/provider-registration-refactor-implementation-plan.md`\n * §Phase 1.e for the canonical contract.\n */\n\nimport type { ProviderCapability } from './provider-capability.shared.schemas';\n\nexport interface ProviderRegistryFragment<\n TRef extends string,\n TModule extends { readonly providerCapabilities: ReadonlyArray<ProviderCapability> },\n> {\n readonly modules: ReadonlyMap<TRef, TModule>;\n}\n\nexport interface ComposedProviderRegistry<\n TRef extends string,\n TModule extends { readonly providerCapabilities: ReadonlyArray<ProviderCapability> },\n> {\n readonly modules: ReadonlyMap<TRef, TModule>;\n getProviderByRef(ref: TRef): TModule | undefined;\n getProvidersByProviderCapability(\n providerCapability: ProviderCapability,\n ): ReadonlyArray<TModule>;\n findProviderByProviderCapability(\n providerCapability: ProviderCapability,\n ): TModule | undefined;\n}\n\nexport interface ProviderCompositionConflict<TRef extends string> {\n ref: TRef;\n fragmentIndexes: ReadonlyArray<number>;\n}\n\nexport class ProviderCompositionConflictError<TRef extends string> extends Error {\n public readonly facet: string;\n public readonly conflicts: ReadonlyArray<ProviderCompositionConflict<TRef>>;\n\n constructor(\n facet: string,\n conflicts: ReadonlyArray<ProviderCompositionConflict<TRef>>,\n ) {\n const lines = conflicts.map(\n ({ ref, fragmentIndexes }) =>\n ` - ref \"${ref}\" declared by fragments [${fragmentIndexes.join(', ')}]`,\n );\n super(\n `[compose${facet}Providers] conflicting provider refs across fragments:\\n${lines.join('\\n')}\\n` +\n 'Resolution: pick a different ref OR drop the conflicting fragment from the composition call.',\n );\n this.name = 'ProviderCompositionConflictError';\n this.facet = facet;\n this.conflicts = conflicts;\n }\n}\n\nexport function composeProviderRegistry<\n TRef extends string,\n TModule extends { readonly providerCapabilities: ReadonlyArray<ProviderCapability> },\n>(\n facet: string,\n fragments: ReadonlyArray<ProviderRegistryFragment<TRef, TModule>>,\n): ComposedProviderRegistry<TRef, TModule> {\n const refOwners = new Map<TRef, number[]>();\n for (let index = 0; index < fragments.length; index += 1) {\n for (const ref of fragments[index].modules.keys()) {\n const existing = refOwners.get(ref);\n if (existing) {\n existing.push(index);\n } else {\n refOwners.set(ref, [index]);\n }\n }\n }\n\n const conflicts: ProviderCompositionConflict<TRef>[] = [];\n for (const [ref, indexes] of refOwners) {\n if (indexes.length > 1) {\n conflicts.push({ ref, fragmentIndexes: indexes });\n }\n }\n if (conflicts.length > 0) {\n throw new ProviderCompositionConflictError<TRef>(facet, conflicts);\n }\n\n const byRef = new Map<TRef, TModule>();\n const byProviderCapability = new Map<ProviderCapability, TModule[]>();\n for (const fragment of fragments) {\n for (const [ref, module] of fragment.modules) {\n byRef.set(ref, module);\n for (const capability of module.providerCapabilities) {\n const bucket = byProviderCapability.get(capability);\n if (bucket) {\n bucket.push(module);\n } else {\n byProviderCapability.set(capability, [module]);\n }\n }\n }\n }\n\n const registry: ComposedProviderRegistry<TRef, TModule> = {\n modules: byRef,\n getProviderByRef(ref) {\n return byRef.get(ref);\n },\n getProvidersByProviderCapability(providerCapability) {\n return byProviderCapability.get(providerCapability) ?? [];\n },\n findProviderByProviderCapability(providerCapability) {\n const bucket = byProviderCapability.get(providerCapability);\n return bucket && bucket.length > 0 ? bucket[0] : undefined;\n },\n };\n\n return Object.freeze(registry);\n}\n"]}
@@ -43,6 +43,18 @@ export declare enum EngineCapability {
43
43
  COMPLIANCE_AUDIT_TRAIL = "COMPLIANCE_AUDIT_TRAIL",
44
44
  EMAIL_TRANSACTIONAL = "EMAIL_TRANSACTIONAL",
45
45
  EMAIL_MARKETING = "EMAIL_MARKETING",
46
+ /**
47
+ * The application RECEIVES email: work arrives as messages to an address the application routes to
48
+ * an organization, and a channel handler decides what each message causes (#1630). The selected
49
+ * provider hosts the receiving domain, signs a notification per message and serves the message on
50
+ * request; the engine owns verification, deduplication, sender assurance, threads and replies.
51
+ *
52
+ * What it does NOT mean: a verified sender is identification, never authentication. A message's
53
+ * sender assurance gates what a handler accepts and grants no authority — the handler acts with
54
+ * the roles it declares, whoever wrote. Replies go out through `EMAIL_TRANSACTIONAL`, so the two
55
+ * slots may be served by different vendors.
56
+ */
57
+ EMAIL_INBOUND = "EMAIL_INBOUND",
46
58
  SMS = "SMS",
47
59
  AI_LLM = "AI_LLM",
48
60
  AI_IMAGE_GENERATION = "AI_IMAGE_GENERATION",
@@ -127,7 +139,7 @@ export declare enum EngineCapability {
127
139
  * map with a `BuiltinProviderCapability` VARIABLE — `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY[cap]`
128
140
  * in the runtime registry, in both companion-discovery exports, in `defineSaaSProviders` and in the
129
141
  * tier rule — and that only type-checks against `Partial<Record<…>>`, which admits every token in
130
- * the vocabulary and answers `undefined` for the five that map nowhere. Annotating the literal that
142
+ * the vocabulary and answers `undefined` for the six that map nowhere. Annotating the literal that
131
143
  * way is what USED to be written here, and it is also what erased the information the totality
132
144
  * check below needs: an annotation discards the per-property literal types, so
133
145
  * `(typeof MAP)[keyof typeof MAP]` collapsed to `EngineCapability | undefined` and could not say
@@ -171,7 +183,7 @@ export declare const ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY: readonly [
171
183
  * application ENABLES them — the engine-level MAIN floor (#328).
172
184
  *
173
185
  * The asymmetry is the thing to carry away: **enabling a capability with nothing serving it fails at
174
- * BOOT for these three and at the point of USE for every other slot.** So an author who tries one
186
+ * BOOT for these four and at the point of USE for every other slot.** So an author who tries one
175
187
  * unserved slot, sees the application come up, and concludes that an unserved capability degrades
176
188
  * gracefully has learned the wrong rule from the larger half of the vocabulary.
177
189
  *
@@ -186,6 +198,9 @@ export declare const ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY: readonly [
186
198
  * - `BILLING` — `initializeBillingServices` already fails loud with no
187
199
  * provider; the floor names it in the same place as the others.
188
200
  * - `SMS` — phone verification and MFA-by-SMS are engine flows.
201
+ * - `EMAIL_INBOUND` — enabling it declares that work arrives by email; with no
202
+ * provider nothing hosts the receiving domain, so every message is lost
203
+ * before the engine sees it and nothing anywhere records that it was (#1630).
189
204
  *
190
205
  * DELIBERATELY ABSENT, with the reason each would need to overturn:
191
206
  * - the `AI_*` slots — consumed per feature (an agent, the logo generator)
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capabilities.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/external-providers/engine-capabilities.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,oBAAY,gBAAgB;IAC1B,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,sBAAsB,2BAA2B;IAEjD,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IACnC,GAAG,QAAQ;IAEX,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C;;;;;;;;OAQG;IACH,aAAa,kBAAkB;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,sBAAsB,2BAA2B;IACjD;;;;;;;;;;;;;;OAcG;IACH,eAAe,oBAAoB;IAyDnC,yBAAyB,8BAA8B;IACvD,0BAA0B,+BAA+B;IAEzD;;;;;OAKG;IACH,iBAAiB,sBAAsB;IAEvC;;;;;;;;OAQG;IACH,uBAAuB,4BAA4B;CACpD;AAkGD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wCAAwC,EAAE,OAAO,CAC5D,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CACD,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,+CAA+C,4EAYZ,CAAC;AA8CjD,uIAAuI;AACvI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,eAAO,MAAM,qDAAqD,EAAE,WAAW,CAAC,gBAAgB,CAI9F,CAAC;AACH,qFAAqF"}
1
+ {"version":3,"file":"engine-capabilities.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/external-providers/engine-capabilities.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,oBAAY,gBAAgB;IAC1B,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,cAAc,mBAAmB;IACjC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,sBAAsB,2BAA2B;IAEjD,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IACnC;;;;;;;;;;OAUG;IACH,aAAa,kBAAkB;IAC/B,GAAG,QAAQ;IAEX,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C;;;;;;;;OAQG;IACH,aAAa,kBAAkB;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,sBAAsB,2BAA2B;IACjD;;;;;;;;;;;;;;OAcG;IACH,eAAe,oBAAoB;IAyDnC,yBAAyB,8BAA8B;IACvD,0BAA0B,+BAA+B;IAEzD;;;;;OAKG;IACH,iBAAiB,sBAAsB;IAEvC;;;;;;;;OAQG;IACH,uBAAuB,4BAA4B;CACpD;AAoGD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,wCAAwC,EAAE,OAAO,CAC5D,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC,CACD,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,+CAA+C,4EAYZ,CAAC;AA8CjD,uIAAuI;AACvI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,eAAO,MAAM,qDAAqD,EAAE,WAAW,CAAC,gBAAgB,CAK9F,CAAC;AACH,qFAAqF"}
@@ -44,6 +44,18 @@ export var EngineCapability;
44
44
  EngineCapability["COMPLIANCE_AUDIT_TRAIL"] = "COMPLIANCE_AUDIT_TRAIL";
45
45
  EngineCapability["EMAIL_TRANSACTIONAL"] = "EMAIL_TRANSACTIONAL";
46
46
  EngineCapability["EMAIL_MARKETING"] = "EMAIL_MARKETING";
47
+ /**
48
+ * The application RECEIVES email: work arrives as messages to an address the application routes to
49
+ * an organization, and a channel handler decides what each message causes (#1630). The selected
50
+ * provider hosts the receiving domain, signs a notification per message and serves the message on
51
+ * request; the engine owns verification, deduplication, sender assurance, threads and replies.
52
+ *
53
+ * What it does NOT mean: a verified sender is identification, never authentication. A message's
54
+ * sender assurance gates what a handler accepts and grants no authority — the handler acts with
55
+ * the roles it declares, whoever wrote. Replies go out through `EMAIL_TRANSACTIONAL`, so the two
56
+ * slots may be served by different vendors.
57
+ */
58
+ EngineCapability["EMAIL_INBOUND"] = "EMAIL_INBOUND";
47
59
  EngineCapability["SMS"] = "SMS";
48
60
  EngineCapability["AI_LLM"] = "AI_LLM";
49
61
  EngineCapability["AI_IMAGE_GENERATION"] = "AI_IMAGE_GENERATION";
@@ -230,8 +242,9 @@ export var EngineCapability;
230
242
  * the enum) — it had no producer and no consumer other than the bug.
231
243
  *
232
244
  * **Intentionally unmapped.** `SSO_OAUTH2`, `SSO_SAML`, `FRONTEND_SEARCH`,
233
- * `FRONTEND_FILE_PICKER`, and `FRONTEND_CAPTCHA` have no closed engine
234
- * slot today — they are fulfilled by provider protocols / app wiring, not
245
+ * `FRONTEND_FILE_PICKER`, `FRONTEND_CAPTCHA` and `FRONTEND_ADDRESS_LOOKUP`
246
+ * (#1702 — an address field works without one, so no engine slot requires it)
247
+ * have no closed engine slot today — they are fulfilled by provider protocols / app wiring, not
235
248
  * by an `EngineCapability`. Their absence here is by construction, not an
236
249
  * oversight: a `Partial<Record<…>>` lookup returns `undefined` and the
237
250
  * capability contributes nothing to a provider's `engineCapabilities`.
@@ -243,6 +256,7 @@ export var EngineCapability;
243
256
  const PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES = {
244
257
  [BUILTIN_PROVIDER_CAPABILITY.EMAIL_TRANSACTIONAL]: EngineCapability.EMAIL_TRANSACTIONAL,
245
258
  [BUILTIN_PROVIDER_CAPABILITY.EMAIL_MARKETING]: EngineCapability.EMAIL_MARKETING,
259
+ [BUILTIN_PROVIDER_CAPABILITY.EMAIL_INBOUND]: EngineCapability.EMAIL_INBOUND,
246
260
  [BUILTIN_PROVIDER_CAPABILITY.SMS]: EngineCapability.SMS,
247
261
  [BUILTIN_PROVIDER_CAPABILITY.BILLING]: EngineCapability.BILLING,
248
262
  [BUILTIN_PROVIDER_CAPABILITY.LLM_CHAT]: EngineCapability.AI_LLM,
@@ -277,7 +291,7 @@ const PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES = {
277
291
  * map with a `BuiltinProviderCapability` VARIABLE — `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY[cap]`
278
292
  * in the runtime registry, in both companion-discovery exports, in `defineSaaSProviders` and in the
279
293
  * tier rule — and that only type-checks against `Partial<Record<…>>`, which admits every token in
280
- * the vocabulary and answers `undefined` for the five that map nowhere. Annotating the literal that
294
+ * the vocabulary and answers `undefined` for the six that map nowhere. Annotating the literal that
281
295
  * way is what USED to be written here, and it is also what erased the information the totality
282
296
  * check below needs: an annotation discards the per-property literal types, so
283
297
  * `(typeof MAP)[keyof typeof MAP]` collapsed to `EngineCapability | undefined` and could not say
@@ -333,7 +347,7 @@ export const ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY = [
333
347
  * application ENABLES them — the engine-level MAIN floor (#328).
334
348
  *
335
349
  * The asymmetry is the thing to carry away: **enabling a capability with nothing serving it fails at
336
- * BOOT for these three and at the point of USE for every other slot.** So an author who tries one
350
+ * BOOT for these four and at the point of USE for every other slot.** So an author who tries one
337
351
  * unserved slot, sees the application come up, and concludes that an unserved capability degrades
338
352
  * gracefully has learned the wrong rule from the larger half of the vocabulary.
339
353
  *
@@ -348,6 +362,9 @@ export const ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY = [
348
362
  * - `BILLING` — `initializeBillingServices` already fails loud with no
349
363
  * provider; the floor names it in the same place as the others.
350
364
  * - `SMS` — phone verification and MFA-by-SMS are engine flows.
365
+ * - `EMAIL_INBOUND` — enabling it declares that work arrives by email; with no
366
+ * provider nothing hosts the receiving domain, so every message is lost
367
+ * before the engine sees it and nothing anywhere records that it was (#1630).
351
368
  *
352
369
  * DELIBERATELY ABSENT, with the reason each would need to overturn:
353
370
  * - the `AI_*` slots — consumed per feature (an agent, the logo generator)
@@ -376,6 +393,7 @@ export const ENGINE_CAPABILITIES_REQUIRING_A_PROVIDER_WHEN_ENABLED = new Set([
376
393
  EngineCapability.EMAIL_TRANSACTIONAL,
377
394
  EngineCapability.BILLING,
378
395
  EngineCapability.SMS,
396
+ EngineCapability.EMAIL_INBOUND,
379
397
  ]);
380
398
  /** @wildo_source:part:end saas.models.engine-capabilities.required-provider-floor */
381
399
  //# sourceMappingURL=engine-capabilities.shared.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capabilities.shared.schemas.js","sourceRoot":"","sources":["../../../../src/external-providers/engine-capabilities.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAkC,MAAM,sCAAsC,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,gBAwKX;AAxKD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,uCAAmB,CAAA;IACnB,qDAAiC,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,qEAAiD,CAAA;IAEjD,+DAA2C,CAAA;IAC3C,uDAAmC,CAAA;IACnC,+BAAW,CAAA;IAEX,qCAAiB,CAAA;IACjB,+DAA2C,CAAA;IAC3C;;;;;;;;OAQG;IACH,mDAA+B,CAAA;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,qEAAiD,CAAA;IACjD;;;;;;;;;;;;;;OAcG;IACH,uDAAmC,CAAA;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqDG;IAEH,2EAAuD,CAAA;IACvD,6EAAyD,CAAA;IAEzD;;;;;OAKG;IACH,2DAAuC,CAAA;IAEvC;;;;;;;;OAQG;IACH,uEAAmD,CAAA;AACrD,CAAC,EAxKW,gBAAgB,KAAhB,gBAAgB,QAwK3B;AACD,6DAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,gDAAgD,GAAG;IACvD,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB;IACvF,CAAC,2BAA2B,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,eAAe;IAC/E,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,GAAG;IACvD,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO;IAC/D,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM;IAC/D;;;;;;OAMG;IACH,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,aAAa;IAC5E;;;;;;OAMG;IACH,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC,sBAAsB;IAC/F,CAAC,2BAA2B,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,eAAe;IAC5E,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB;IACpF,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,yBAAyB;IACnG,CAAC,2BAA2B,CAAC,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,0BAA0B;IACrG,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,iBAAiB;IACnF,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,uBAAuB;IAC/F,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC,sBAAsB;CACd,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAEjD,gDAAgD,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG;IAC7D;;;OAGG;IACH,gBAAgB,CAAC,aAAa;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,cAAc;CACe,CAAC;AA8CjD,uIAAuI;AACvI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,CAAC,MAAM,qDAAqD,GAAkC,IAAI,GAAG,CAAC;IAC1G,gBAAgB,CAAC,mBAAmB;IACpC,gBAAgB,CAAC,OAAO;IACxB,gBAAgB,CAAC,GAAG;CACrB,CAAC,CAAC;AACH,qFAAqF","sourcesContent":["import { BUILTIN_PROVIDER_CAPABILITY, type BuiltinProviderCapability } from './provider-capability.shared.schemas';\n\n/** @wildo_source:part:start saas.models.engine-capabilities facet:kind:api facet:audience:app-developer\n *\n * Closed application capability vocabulary used to declare what the\n * application needs from its configured providers.\n *\n * `EngineCapability` no longer means \"feature gate id\" and no longer\n * carries provider routing by itself. Provider-backed fulfillment is selected\n * by the application's provider configuration; entitlement/billing features\n * remain application feature decisions. Import this enum from\n * `@wildo-ai/saas-models` and declare only capabilities the application\n * actually intends to configure and operate.\n */\nexport enum EngineCapability {\n ORGANIZATIONS = 'ORGANIZATIONS',\n BILLING = 'BILLING',\n MULTI_LANGUAGE = 'MULTI_LANGUAGE',\n /**\n * Durable, provider-backed audit trail: every audit event the application records is ALSO sent to\n * each configured audit provider (an immutable ledger, a SIEM).\n *\n * Whether to enable it is a question of where the trail must live, not of what the application may\n * claim. The assurance surface attests roughly half its control objectives through audit rows, and\n * those rows are read from the application's OWN audit store, which exists whether or not this\n * capability is on. So leaving it out removes no control objective an application can claim. Until\n * 2026-09-14 the assurance basis wrongly treated this capability as the precondition for those\n * claims, and this comment said leaving it out left about a third of them unclaimable.\n *\n * Two things this does NOT mean, because both are easy to assume:\n *\n * - It is not what makes security events happen. Authentication, authorization, privilege and\n * credential events are recorded in the application's own database regardless. What this\n * capability adds is the provider-backed fan-out — the durable, external, tamper-evident\n * destination an assurance reader can be pointed at.\n * - It is not retroactive. Turning it on later starts a trail from that moment; it does not\n * furnish evidence for the period it was off, and a control's evidence cannot begin before its\n * evidence store does.\n *\n * So decide it with the compliance posture rather than as an infrastructure detail: enable it when\n * the trail must also exist OUTSIDE the application — a store its own operators cannot rewrite, or a\n * security team's SIEM. The application's own store stays the authoritative record either way.\n */\n COMPLIANCE_AUDIT_TRAIL = 'COMPLIANCE_AUDIT_TRAIL',\n\n EMAIL_TRANSACTIONAL = 'EMAIL_TRANSACTIONAL',\n EMAIL_MARKETING = 'EMAIL_MARKETING',\n SMS = 'SMS',\n\n AI_LLM = 'AI_LLM',\n AI_IMAGE_GENERATION = 'AI_IMAGE_GENERATION',\n /**\n * Text → vector embeddings (the RAG derived-data tier: `.ragSource()` corpus embedding by the\n * `rag:embedding-drain` worker, and query-time embedding in retrieval). A slot of its OWN,\n * deliberately separate from `AI_LLM` (RAG plan DL2/H4): while `LLM_EMBEDDINGS` mapped into the\n * `AI_LLM` slot, an application structurally could not pick Anthropic for chat and a different\n * provider for embeddings — one `selection[AI_LLM].primary` decided both. Embeddings resolve\n * through `EMBEDDINGS_PROVIDER` protocol bindings and are selected by applicability class\n * (`Embeddings_Applicability`), never by a concrete model id at a call site.\n */\n AI_EMBEDDINGS = 'AI_EMBEDDINGS',\n /**\n * Document bytes → text: provider-backed extraction (OCR) for uploaded documents, serving\n * `FileTextExtractionBackendService` and, through it, `.ragSource()` corpus ingestion.\n *\n * ## Why a slot of its own\n *\n * Three unrelated procurement decisions were otherwise fused. A deployment may well want one\n * vendor for chat, another for embeddings, and a third for OCR — vendors are not equally good\n * at all three, and their pricing models do not even share a unit (tokens vs. pages). Mapping\n * extraction into `AI_LLM` would have made one `selection[AI_LLM].primary` decide all three,\n * which is exactly the defect that split `AI_EMBEDDINGS` out of `AI_LLM`.\n *\n * ## Not to be confused with PDF GENERATION\n *\n * PDF generation — templates and data become bytes — is the `pdfTemplates` surface, done\n * in-process and with no provider slot of its own. This is the opposite direction: bytes become\n * text. The two are unrelated and nothing routes between them. (There WAS an\n * `EngineCapability.DOCUMENT_GENERATION` that this paragraph used to name; it was withdrawn\n * because no provider capability could ever fill it.)\n *\n * ## Absence is benign, and that is load-bearing\n *\n * With no provider selected, extraction falls back to the local `pdfjs-dist` text-layer read.\n * That is a real answer for a born-digital PDF and returns nothing for a SCAN — so this\n * capability is what makes scanned documents answerable, never what makes extraction work at\n * all. An application that ingests only born-digital documents may leave it unset deliberately.\n */\n AI_DOCUMENT_EXTRACTION = 'AI_DOCUMENT_EXTRACTION',\n /**\n * An autonomous coding agent that mutates the application workspace.\n *\n * Its own slot rather than `AI_LLM`, for exactly the reason `AI_EMBEDDINGS`\n * was split out of it: one `selection[AI_LLM].primary` decides every provider\n * mapped into that slot. While the coding transport mapped to `AI_LLM`, an\n * application structurally could NOT choose one vendor's coding agent and a\n * different vendor for chat — picking a chat provider silently picked the\n * agent that would be allowed to edit its source.\n *\n * The stakes differ too, which is why fusing them was wrong beyond the\n * ergonomics: selecting a chat model is a quality and cost decision, while\n * selecting the agent that writes your code is those things AND an\n * authorisation decision. They deserve separate, deliberate answers.\n */\n AI_CODING_AGENT = 'AI_CODING_AGENT',\n\n /*\n * WITHDRAWN 2026-09-03: `DOCUMENT_GENERATION` and `ANTIVIRUS_SCANNING` were members here and are\n * not any more. Neither could ever be filled — `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY` had no\n * entry pointing at either, so no provider capability token could claim the slot — while both were\n * classified `SELECT_ONE`, which asserts that exactly one provider must be selected. Selecting one\n * of zero candidates is not a resolution mode.\n *\n * Both capabilities are real and both are delivered elsewhere, which is why withdrawing the slots\n * costs nothing: antivirus scanning is `InfraCapability.ANTIVIRUS_SCANNING`, fulfilled by ClamAV\n * and consumed by `FileScanningBackendService`; PDF generation is the in-process `pdfTemplates`\n * surface, rendered by `@react-pdf/renderer` inside the backend. Neither has an external\n * provider, and neither is planned to.\n *\n * `InfraCapability.DOCUMENT_RENDERING` (Gotenberg) was provisioned beside the PDF surface and\n * consumed by nothing; it was withdrawn on 2026-09-08 (#477) because in-process rendering had\n * superseded it. Note the two are not interchangeable if it is ever reconsidered:\n * `@react-pdf/renderer` composes a document from React primitives, while Gotenberg converts\n * EXISTING HTML and Office documents — that is a different capability, not a second\n * implementation of this one.\n *\n * Removing `ANTIVIRUS_SCANNING` also removes a collision: the identical spelling named an engine\n * slot nothing could fill AND a live infra capability, in two packages, so a reader grepping the\n * word landed in whichever they searched first.\n *\n * If a hosted AV or document-rendering vendor is ever adopted, the member comes back WITH its\n * `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY` entry and its own JSDoc in the same change.\n *\n * WITHDRAWN 2026-09-09: `BILLING_PAYMENTS`, the third member of exactly that shape, and the one\n * this paragraph's own closing rule should have caught. It was never withdrawn with the other two\n * because it had been left behind DELIBERATELY — as a \"reserved slot\" — which reads as a decision\n * and is why nobody re-examined it. Measured before removing, across the whole repository outside\n * `node_modules` / `dist`: it appeared in live source at exactly THREE sites, and none of them was\n * a use — the enum declaration itself, its row in the compile-forced\n * `ENGINE_CAPABILITY_RESOLUTION_MODE` record, and a comment in a test naming it as a slot the\n * billing provider must NOT be registered under. Zero applications enabled it, zero scaffolds\n * wrote it, zero consumers queried it, and no provider capability token mapped to it.\n *\n * The capability it names is real and is already delivered: a billing provider (Stripe) declares\n * `BUILTIN_PROVIDER_CAPABILITY.BILLING` and fills `EngineCapability.BILLING`, which is the slot\n * applications enable and `getProvidersForEngineCapability` gates on. Payment EXECUTION is served\n * through that same provider's `BILLING_PROVIDER` protocol; splitting it into a second engine slot\n * was a plan-era intention (`provider-registry-materialization-workflow.md`) that the shipped\n * model settled the other way. So the withdrawal removes a name, not a capability.\n *\n * The reason a reserved slot is worse than no slot is `EngineCapabilityResolutionMode`: every\n * member must be classified, `BILLING_PAYMENTS` was classified `SELECT_ONE`, and `SELECT_ONE`\n * asserts that exactly one provider is selected from the candidates. There were zero candidates\n * and there could never be one. A vocabulary member that no configuration can satisfy is not a\n * reservation, it is a false statement the compiler is forced to carry.\n *\n * If a payments vendor is ever selected independently of the billing vendor, the member comes back\n * with its provider-capability token and its map entry in the same change — the same rule as\n * above, now with three instances behind it.\n */\n\n FRONTEND_ERROR_MONITORING = 'FRONTEND_ERROR_MONITORING',\n FRONTEND_PRODUCT_ANALYTICS = 'FRONTEND_PRODUCT_ANALYTICS',\n\n /**\n * Backend LLM-call observability (model/tokens/cost/latency per `invokeAgent`),\n * platform-scoped. This enables model-call observability when the selected\n * provider configuration supplies that capability; it does not itself\n * configure a provider or make telemetry operational.\n */\n LLM_OBSERVABILITY = 'LLM_OBSERVABILITY',\n\n /**\n * Operational telemetry (traces/metrics/logs) shipped via the OpenTelemetry\n * SDK over OTLP to a provider (for example, BetterStack). Unlike\n * `LLM_OBSERVABILITY`, the connection is preloaded from\n * `OTEL_*` env vars (the CLI translates the saas-config selection + per-env\n * infra config into them) BEFORE app config — not resolved through the runtime\n * registry. Author the corresponding infrastructure/provider settings in\n * the application environment before relying on telemetry.\n */\n OBSERVABILITY_TELEMETRY = 'OBSERVABILITY_TELEMETRY',\n}\n/** @wildo_source:part:end saas.models.engine-capabilities */\n\n/**\n * Canonical, single-source-of-truth mapping from the open\n * `ProviderCapability` vocabulary (the built-in subset) to the closed\n * `EngineCapability` slots the engine actually fulfills.\n *\n * A provider declares which `providerCapabilities` it satisfies (e.g.\n * Stripe → `BILLING`, Resend → `EMAIL_TRANSACTIONAL`, Anthropic →\n * `LLM_CHAT`/`CODING_AGENT`). This map projects each built-in\n * capability onto the engine slot it fills, so a provider's\n * `engineCapabilities` set can be derived mechanically. Multiple\n * provider capabilities may share one engine slot (every `LLM_*`\n * capability maps to `AI_LLM`); de-duplicate after projecting.\n *\n * **Why this lives here (one map, three consumers).** The projection\n * used to be hand-copied in three places that silently drifted:\n * 1. The runtime registry projection in `saas-backend-lib`\n * (`ExternalProvidersRegistryBackendService.buildRuntimeRegistryFromProviderModules`),\n * which decides which provider answers `getProvidersForEngineCapability`.\n * 2. The backend companion-discovery export in\n * `@wildo-ai/external-connectors-private` (feeds the generated\n * `provider-catalog.types.ts` autocomplete via `wildo config sync`).\n * 3. The frontend companion-discovery export in\n * `@wildo-ai/external-connectors-public` (same, for browser-bound\n * provider modules).\n * A missing/wrong entry in any copy silently breaks a different surface\n * (a registry resolution, or the catalog autocomplete). It is co-located\n * with the `EngineCapability` enum it projects onto, and every consumer\n * imports it from the `@wildo-ai/saas-models` package root barrel.\n *\n * **Bundle boundary — why here and not beside `BUILTIN_PROVIDER_CAPABILITY`.**\n * This map references `EngineCapability`, which is deliberately kept off\n * the browser-safe `@wildo-ai/saas-models/public-runtime` seam. So it must\n * live in a full-only module. `engine-capabilities.shared.schemas.ts` is\n * exactly that (exported from the root barrel, never from\n * `public-runtime/index.ts`), whereas `provider-capability.shared.schemas.ts`\n * — the other natural home — IS on the public seam and would drag\n * `EngineCapability` into the browser bundle. The frontend discovery\n * consumer (#3) imports this map through its Node-only `./companion`\n * subpath, which already pulls the full root barrel; the browser-shipped\n * `./app`/`./techdoc`/`./website` subpaths never reach it.\n *\n * **BILLING → BILLING.** A billing provider (Stripe) declares\n * `BUILTIN_PROVIDER_CAPABILITY.BILLING` and fills the\n * `EngineCapability.BILLING` slot — the SAME slot apps enable in\n * `defineSaaSProviders`/`engineCapabilities` activation config and that\n * `getProvidersForEngineCapability` gates resolution on. The runtime copy\n * of this projection historically mapped it onto a distinct\n * `EngineCapability.BILLING_PAYMENTS` slot instead, registering Stripe\n * under something no activation config enables and no consumer queries,\n * which made it unreachable through the registry. That second slot was\n * withdrawn from the enum on 2026-09-09 (see the WITHDRAWN block beside\n * the enum) — it had no producer and no consumer other than the bug.\n *\n * **Intentionally unmapped.** `SSO_OAUTH2`, `SSO_SAML`, `FRONTEND_SEARCH`,\n * `FRONTEND_FILE_PICKER`, and `FRONTEND_CAPTCHA` have no closed engine\n * slot today — they are fulfilled by provider protocols / app wiring, not\n * by an `EngineCapability`. Their absence here is by construction, not an\n * oversight: a `Partial<Record<…>>` lookup returns `undefined` and the\n * capability contributes nothing to a provider's `engineCapabilities`.\n *\n * There are no app-extended provider capabilities: the augmentation point was\n * removed as an extension point with no resolver (#502), so this map covers the\n * whole vocabulary rather than the built-in half of it.\n */\nconst PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES = {\n [BUILTIN_PROVIDER_CAPABILITY.EMAIL_TRANSACTIONAL]: EngineCapability.EMAIL_TRANSACTIONAL,\n [BUILTIN_PROVIDER_CAPABILITY.EMAIL_MARKETING]: EngineCapability.EMAIL_MARKETING,\n [BUILTIN_PROVIDER_CAPABILITY.SMS]: EngineCapability.SMS,\n [BUILTIN_PROVIDER_CAPABILITY.BILLING]: EngineCapability.BILLING,\n [BUILTIN_PROVIDER_CAPABILITY.LLM_CHAT]: EngineCapability.AI_LLM,\n /**\n * REPOINTED 2026-08-27 (RAG plan DL2/H4): `LLM_EMBEDDINGS` used to map into `AI_LLM`, which\n * fused the chat and embeddings provider selections into one slot. The TOKEN keeps its name —\n * it correctly says \"this provider can produce embeddings\", and it sits inside the anchored\n * `saas.models.provider-capabilities` block compiled into shipped skills — only the slot it\n * fills changed. Exactly one token claims the embeddings slot.\n */\n [BUILTIN_PROVIDER_CAPABILITY.LLM_EMBEDDINGS]: EngineCapability.AI_EMBEDDINGS,\n /**\n * EXACTLY ONE token claims the document-extraction slot, and it is a new one. Checked rather\n * than assumed before adding it: `IMAGE_GENERATION` maps to `AI_IMAGE_GENERATION` (output),\n * `LLM_CHAT` to `AI_LLM`, `LLM_EMBEDDINGS` to `AI_EMBEDDINGS`, and no built-in token mapped\n * anywhere near document INPUT. Repointing an existing token — the move that kept\n * `LLM_EMBEDDINGS` alive — was not available here because none of them meant this.\n */\n [BUILTIN_PROVIDER_CAPABILITY.DOCUMENT_TEXT_EXTRACTION]: EngineCapability.AI_DOCUMENT_EXTRACTION,\n [BUILTIN_PROVIDER_CAPABILITY.CODING_AGENT]: EngineCapability.AI_CODING_AGENT,\n [BUILTIN_PROVIDER_CAPABILITY.IMAGE_GENERATION]: EngineCapability.AI_IMAGE_GENERATION,\n [BUILTIN_PROVIDER_CAPABILITY.FRONTEND_ERROR_MONITORING]: EngineCapability.FRONTEND_ERROR_MONITORING,\n [BUILTIN_PROVIDER_CAPABILITY.FRONTEND_PRODUCT_ANALYTICS]: EngineCapability.FRONTEND_PRODUCT_ANALYTICS,\n [BUILTIN_PROVIDER_CAPABILITY.LLM_OBSERVABILITY]: EngineCapability.LLM_OBSERVABILITY,\n [BUILTIN_PROVIDER_CAPABILITY.OBSERVABILITY_TELEMETRY]: EngineCapability.OBSERVABILITY_TELEMETRY,\n [BUILTIN_PROVIDER_CAPABILITY.COMPLIANCE_AUDIT_TRAIL]: EngineCapability.COMPLIANCE_AUDIT_TRAIL,\n} as const satisfies Partial<Record<BuiltinProviderCapability, EngineCapability>>;\n\n/**\n * The projection every consumer uses, with the WIDE type it has always had.\n *\n * **Why the literal above and the widened alias here are two declarations.** Consumers index this\n * map with a `BuiltinProviderCapability` VARIABLE — `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY[cap]`\n * in the runtime registry, in both companion-discovery exports, in `defineSaaSProviders` and in the\n * tier rule — and that only type-checks against `Partial<Record<…>>`, which admits every token in\n * the vocabulary and answers `undefined` for the five that map nowhere. Annotating the literal that\n * way is what USED to be written here, and it is also what erased the information the totality\n * check below needs: an annotation discards the per-property literal types, so\n * `(typeof MAP)[keyof typeof MAP]` collapsed to `EngineCapability | undefined` and could not say\n * WHICH slots are filled.\n *\n * `as const satisfies` on the literal keeps both: the compiler still rejects a wrong key or a\n * non-`EngineCapability` value at the site where it is written, and the exact filled set survives\n * into the type system. The widening then happens once, here, so no consumer changes and nobody has\n * to know the literal exists.\n */\nexport const PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY: Partial<\n Record<BuiltinProviderCapability, EngineCapability>\n> = PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES;\n\n/**\n * Engine capabilities that DELIBERATELY have no provider capability pointing at them, each named\n * with the reason it is an empty slot rather than a hole.\n *\n * This exists so the two states can never be confused. Before it, an `EngineCapability` member with\n * no entry in the map above looked exactly like one whose entry someone forgot — the absence WAS the\n * record — and that indistinguishability is the whole mechanism behind three separate slots shipping\n * unfillable: `DOCUMENT_GENERATION` and `ANTIVIRUS_SCANNING` (withdrawn 2026-09-03) and\n * `BILLING_PAYMENTS` (withdrawn 2026-09-09, and left standing for six days precisely because\n * \"reserved\" reads like a decision). A capability listed here has been looked at; one that is\n * neither listed here nor mapped above does not compile.\n *\n * **Both members are ACTIVATION capabilities, and that is the criterion.** Each is a real, live,\n * enabled-or-not decision an application makes in `wildo.saas.config.ts` (`ORGANIZATIONS` is\n * enabled by both dogfood applications, `MULTI_LANGUAGE` is written by the scaffold and by the\n * application-creation composition step), and each is implemented BY THE ENGINE — multi-tenancy is\n * the engine's own organization model and scoping, translation is the engine's own i18n pipeline.\n * There is no external party to select, so there is nothing for a provider capability to say. That\n * is categorically different from a withdrawn slot, which named work an external party WOULD do and\n * had no external party able to do it.\n *\n * **Adding a member here is a decision that must be argued, not a way to make a compile error go\n * away.** The test beside this file pins the set to exactly these two, so a third one cannot arrive\n * as a silent edit — see `__tests__/engine-capability-provider-coverage.shared.test.ts`.\n */\nexport const ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY = [\n /**\n * Multi-tenancy: organizations, memberships, roles and organization scoping are engine resources\n * and engine authorization. Nothing about them is procured.\n */\n EngineCapability.ORGANIZATIONS,\n /**\n * Application-wide i18n: the label tree, the locale negotiation and the translation pipeline are\n * the engine's. Where translation is MODEL-backed it reaches a provider through `AI_LLM`, which is\n * its own slot with its own selection — so even that path is not this capability's producer.\n */\n EngineCapability.MULTI_LANGUAGE,\n] as const satisfies readonly EngineCapability[];\n\n/**\n * COMPILE-TIME TOTALITY: every `EngineCapability` is either filled by a provider capability or\n * declared an empty slot above. Adding a member to the enum without doing one of the two is a\n * TypeScript error at this line, not a test failure and not a runtime surprise.\n *\n * A compile error is the right instrument here because both inputs are static literals in this one\n * file — there is no runtime state to consult, so nothing is gained by deferring the question to\n * execution, and a great deal is lost: a test only fails for someone who runs it, while this fails\n * for whoever adds the member, in the editor, before the commit.\n *\n * The error a violation produces is `TS2344` on `EngineCapabilityAccountedFor`, reading\n * `Type 'EngineCapability.X' does not satisfy the constraint 'never'` — X being the exact member\n * that is neither mapped nor declared. Measured rather than asserted: deleting the\n * `BUILTIN_PROVIDER_CAPABILITY.SMS` row from the literal above produced exactly that diagnostic,\n * naming `EngineCapability.SMS`, and the row was restored.\n *\n * The two declarations below are unused by design — the assertion IS the declaration, and it is\n * evaluated the moment the file is type-checked. `noUnusedLocals` is off in this package's\n * tsconfig, so nothing objects; do not \"clean them up\".\n */\ntype EngineCapabilityFilledByAProviderCapability =\n (typeof PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES)[keyof typeof PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES];\n\ntype EngineCapabilityDeclaredEmpty = (typeof ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY)[number];\n\n/** Resolves to `never` when the two sets above cover the enum, and to the offending member(s) when they do not. */\ntype EngineCapabilityAccountedFor<Unaccounted extends never> = Unaccounted;\n\ntype _EveryEngineCapabilityIsMappedOrDeclaredEmpty = EngineCapabilityAccountedFor<\n Exclude<EngineCapability, EngineCapabilityFilledByAProviderCapability | EngineCapabilityDeclaredEmpty>\n>;\n\n/**\n * The mirror assertion: a capability may not be BOTH mapped and declared empty.\n *\n * Without it the totality check is satisfiable by lying in the easier direction — list a mapped\n * capability as an empty slot and the union still covers the enum, so a genuinely missing mapping\n * elsewhere could be hidden by a bogus declaration here. `TS2344` again, naming the member that\n * appears on both sides.\n */\ntype _NoEngineCapabilityIsBothMappedAndDeclaredEmpty = EngineCapabilityAccountedFor<\n Extract<EngineCapabilityDeclaredEmpty, EngineCapabilityFilledByAProviderCapability>\n>;\n\n/** @wildo_source:part:start saas.models.engine-capabilities.required-provider-floor facet:layer:shared facet:audience:app-developer */\n/**\n * Engine capabilities that REQUIRE a resolved provider the moment an\n * application ENABLES them — the engine-level MAIN floor (#328).\n *\n * The asymmetry is the thing to carry away: **enabling a capability with nothing serving it fails at\n * BOOT for these three and at the point of USE for every other slot.** So an author who tries one\n * unserved slot, sees the application come up, and concludes that an unserved capability degrades\n * gracefully has learned the wrong rule from the larger half of the vocabulary.\n *\n * `EngineCapabilityActivation.required` is the application's decision;\n * this set is the ENGINE's: for each member, an enabled capability with no\n * provider is not a degraded mode but a boot-time misconfiguration, because\n * an engine flow the application already relies on fails at first use:\n *\n * - `EMAIL_TRANSACTIONAL` — invitations, address verification and password\n * reset are engine flows that send mail; with no provider they fail\n * silently at the moment a user needs them.\n * - `BILLING` — `initializeBillingServices` already fails loud with no\n * provider; the floor names it in the same place as the others.\n * - `SMS` — phone verification and MFA-by-SMS are engine flows.\n *\n * DELIBERATELY ABSENT, with the reason each would need to overturn:\n * - the `AI_*` slots — consumed per feature (an agent, the logo generator)\n * and legitimately served on a DIFFERENT host (the companion reaches image\n * generation; the backend need not), so \"enabled with no backend provider\"\n * is a normal topology, not a fault. A feature that needs one refuses at\n * its own site.\n * - the sinks (`COMPLIANCE_AUDIT_TRAIL`, `LLM_OBSERVABILITY`,\n * `OBSERVABILITY_TELEMETRY`) — fail-OPEN by design (the G4 reconcile\n * warns), because Layer-1 persistence is unaffected.\n * - `EMAIL_MARKETING` — a campaign feature, not an engine flow.\n * - the `FRONTEND_*` slots — resolved by the frontend facet, invisible to\n * the backend registry that evaluates this floor.\n * - `ORGANIZATIONS` and `MULTI_LANGUAGE` — no provider token maps to them,\n * deliberately and by declaration; see\n * `ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY`. A floor requiring a\n * resolved provider for a slot nothing can fill would refuse every boot that\n * enabled them. (`BILLING_PAYMENTS` was named here too until it was withdrawn\n * from the enum on 2026-09-09.)\n *\n * The floor runs only on a host expected to SERVE these slots (see\n * `ApplicationRuntimeProfileBootAssertions.assertsEngineCapabilityProviderFloor`);\n * a minion's scope-filtered registry legitimately resolves none of them.\n */\nexport const ENGINE_CAPABILITIES_REQUIRING_A_PROVIDER_WHEN_ENABLED: ReadonlySet<EngineCapability> = new Set([\n EngineCapability.EMAIL_TRANSACTIONAL,\n EngineCapability.BILLING,\n EngineCapability.SMS,\n]);\n/** @wildo_source:part:end saas.models.engine-capabilities.required-provider-floor */\n"]}
1
+ {"version":3,"file":"engine-capabilities.shared.schemas.js","sourceRoot":"","sources":["../../../src/external-providers/engine-capabilities.shared.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAkC,MAAM,sCAAsC,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,gBAoLX;AApLD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,uCAAmB,CAAA;IACnB,qDAAiC,CAAA;IACjC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,qEAAiD,CAAA;IAEjD,+DAA2C,CAAA;IAC3C,uDAAmC,CAAA;IACnC;;;;;;;;;;OAUG;IACH,mDAA+B,CAAA;IAC/B,+BAAW,CAAA;IAEX,qCAAiB,CAAA;IACjB,+DAA2C,CAAA;IAC3C;;;;;;;;OAQG;IACH,mDAA+B,CAAA;IAC/B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,qEAAiD,CAAA;IACjD;;;;;;;;;;;;;;OAcG;IACH,uDAAmC,CAAA;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqDG;IAEH,2EAAuD,CAAA;IACvD,6EAAyD,CAAA;IAEzD;;;;;OAKG;IACH,2DAAuC,CAAA;IAEvC;;;;;;;;OAQG;IACH,uEAAmD,CAAA;AACrD,CAAC,EApLW,gBAAgB,KAAhB,gBAAgB,QAoL3B;AACD,6DAA6D;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,MAAM,gDAAgD,GAAG;IACvD,CAAC,2BAA2B,CAAC,mBAAmB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB;IACvF,CAAC,2BAA2B,CAAC,eAAe,CAAC,EAAE,gBAAgB,CAAC,eAAe;IAC/E,CAAC,2BAA2B,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC,aAAa;IAC3E,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,GAAG;IACvD,CAAC,2BAA2B,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC,OAAO;IAC/D,CAAC,2BAA2B,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,MAAM;IAC/D;;;;;;OAMG;IACH,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,gBAAgB,CAAC,aAAa;IAC5E;;;;;;OAMG;IACH,CAAC,2BAA2B,CAAC,wBAAwB,CAAC,EAAE,gBAAgB,CAAC,sBAAsB;IAC/F,CAAC,2BAA2B,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,eAAe;IAC5E,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,mBAAmB;IACpF,CAAC,2BAA2B,CAAC,yBAAyB,CAAC,EAAE,gBAAgB,CAAC,yBAAyB;IACnG,CAAC,2BAA2B,CAAC,0BAA0B,CAAC,EAAE,gBAAgB,CAAC,0BAA0B;IACrG,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,iBAAiB;IACnF,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,uBAAuB;IAC/F,CAAC,2BAA2B,CAAC,sBAAsB,CAAC,EAAE,gBAAgB,CAAC,sBAAsB;CACd,CAAC;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAEjD,gDAAgD,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG;IAC7D;;;OAGG;IACH,gBAAgB,CAAC,aAAa;IAC9B;;;;OAIG;IACH,gBAAgB,CAAC,cAAc;CACe,CAAC;AA8CjD,uIAAuI;AACvI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,CAAC,MAAM,qDAAqD,GAAkC,IAAI,GAAG,CAAC;IAC1G,gBAAgB,CAAC,mBAAmB;IACpC,gBAAgB,CAAC,OAAO;IACxB,gBAAgB,CAAC,GAAG;IACpB,gBAAgB,CAAC,aAAa;CAC/B,CAAC,CAAC;AACH,qFAAqF","sourcesContent":["import { BUILTIN_PROVIDER_CAPABILITY, type BuiltinProviderCapability } from './provider-capability.shared.schemas';\n\n/** @wildo_source:part:start saas.models.engine-capabilities facet:kind:api facet:audience:app-developer\n *\n * Closed application capability vocabulary used to declare what the\n * application needs from its configured providers.\n *\n * `EngineCapability` no longer means \"feature gate id\" and no longer\n * carries provider routing by itself. Provider-backed fulfillment is selected\n * by the application's provider configuration; entitlement/billing features\n * remain application feature decisions. Import this enum from\n * `@wildo-ai/saas-models` and declare only capabilities the application\n * actually intends to configure and operate.\n */\nexport enum EngineCapability {\n ORGANIZATIONS = 'ORGANIZATIONS',\n BILLING = 'BILLING',\n MULTI_LANGUAGE = 'MULTI_LANGUAGE',\n /**\n * Durable, provider-backed audit trail: every audit event the application records is ALSO sent to\n * each configured audit provider (an immutable ledger, a SIEM).\n *\n * Whether to enable it is a question of where the trail must live, not of what the application may\n * claim. The assurance surface attests roughly half its control objectives through audit rows, and\n * those rows are read from the application's OWN audit store, which exists whether or not this\n * capability is on. So leaving it out removes no control objective an application can claim. Until\n * 2026-09-14 the assurance basis wrongly treated this capability as the precondition for those\n * claims, and this comment said leaving it out left about a third of them unclaimable.\n *\n * Two things this does NOT mean, because both are easy to assume:\n *\n * - It is not what makes security events happen. Authentication, authorization, privilege and\n * credential events are recorded in the application's own database regardless. What this\n * capability adds is the provider-backed fan-out — the durable, external, tamper-evident\n * destination an assurance reader can be pointed at.\n * - It is not retroactive. Turning it on later starts a trail from that moment; it does not\n * furnish evidence for the period it was off, and a control's evidence cannot begin before its\n * evidence store does.\n *\n * So decide it with the compliance posture rather than as an infrastructure detail: enable it when\n * the trail must also exist OUTSIDE the application — a store its own operators cannot rewrite, or a\n * security team's SIEM. The application's own store stays the authoritative record either way.\n */\n COMPLIANCE_AUDIT_TRAIL = 'COMPLIANCE_AUDIT_TRAIL',\n\n EMAIL_TRANSACTIONAL = 'EMAIL_TRANSACTIONAL',\n EMAIL_MARKETING = 'EMAIL_MARKETING',\n /**\n * The application RECEIVES email: work arrives as messages to an address the application routes to\n * an organization, and a channel handler decides what each message causes (#1630). The selected\n * provider hosts the receiving domain, signs a notification per message and serves the message on\n * request; the engine owns verification, deduplication, sender assurance, threads and replies.\n *\n * What it does NOT mean: a verified sender is identification, never authentication. A message's\n * sender assurance gates what a handler accepts and grants no authority — the handler acts with\n * the roles it declares, whoever wrote. Replies go out through `EMAIL_TRANSACTIONAL`, so the two\n * slots may be served by different vendors.\n */\n EMAIL_INBOUND = 'EMAIL_INBOUND',\n SMS = 'SMS',\n\n AI_LLM = 'AI_LLM',\n AI_IMAGE_GENERATION = 'AI_IMAGE_GENERATION',\n /**\n * Text → vector embeddings (the RAG derived-data tier: `.ragSource()` corpus embedding by the\n * `rag:embedding-drain` worker, and query-time embedding in retrieval). A slot of its OWN,\n * deliberately separate from `AI_LLM` (RAG plan DL2/H4): while `LLM_EMBEDDINGS` mapped into the\n * `AI_LLM` slot, an application structurally could not pick Anthropic for chat and a different\n * provider for embeddings — one `selection[AI_LLM].primary` decided both. Embeddings resolve\n * through `EMBEDDINGS_PROVIDER` protocol bindings and are selected by applicability class\n * (`Embeddings_Applicability`), never by a concrete model id at a call site.\n */\n AI_EMBEDDINGS = 'AI_EMBEDDINGS',\n /**\n * Document bytes → text: provider-backed extraction (OCR) for uploaded documents, serving\n * `FileTextExtractionBackendService` and, through it, `.ragSource()` corpus ingestion.\n *\n * ## Why a slot of its own\n *\n * Three unrelated procurement decisions were otherwise fused. A deployment may well want one\n * vendor for chat, another for embeddings, and a third for OCR — vendors are not equally good\n * at all three, and their pricing models do not even share a unit (tokens vs. pages). Mapping\n * extraction into `AI_LLM` would have made one `selection[AI_LLM].primary` decide all three,\n * which is exactly the defect that split `AI_EMBEDDINGS` out of `AI_LLM`.\n *\n * ## Not to be confused with PDF GENERATION\n *\n * PDF generation — templates and data become bytes — is the `pdfTemplates` surface, done\n * in-process and with no provider slot of its own. This is the opposite direction: bytes become\n * text. The two are unrelated and nothing routes between them. (There WAS an\n * `EngineCapability.DOCUMENT_GENERATION` that this paragraph used to name; it was withdrawn\n * because no provider capability could ever fill it.)\n *\n * ## Absence is benign, and that is load-bearing\n *\n * With no provider selected, extraction falls back to the local `pdfjs-dist` text-layer read.\n * That is a real answer for a born-digital PDF and returns nothing for a SCAN — so this\n * capability is what makes scanned documents answerable, never what makes extraction work at\n * all. An application that ingests only born-digital documents may leave it unset deliberately.\n */\n AI_DOCUMENT_EXTRACTION = 'AI_DOCUMENT_EXTRACTION',\n /**\n * An autonomous coding agent that mutates the application workspace.\n *\n * Its own slot rather than `AI_LLM`, for exactly the reason `AI_EMBEDDINGS`\n * was split out of it: one `selection[AI_LLM].primary` decides every provider\n * mapped into that slot. While the coding transport mapped to `AI_LLM`, an\n * application structurally could NOT choose one vendor's coding agent and a\n * different vendor for chat — picking a chat provider silently picked the\n * agent that would be allowed to edit its source.\n *\n * The stakes differ too, which is why fusing them was wrong beyond the\n * ergonomics: selecting a chat model is a quality and cost decision, while\n * selecting the agent that writes your code is those things AND an\n * authorisation decision. They deserve separate, deliberate answers.\n */\n AI_CODING_AGENT = 'AI_CODING_AGENT',\n\n /*\n * WITHDRAWN 2026-09-03: `DOCUMENT_GENERATION` and `ANTIVIRUS_SCANNING` were members here and are\n * not any more. Neither could ever be filled — `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY` had no\n * entry pointing at either, so no provider capability token could claim the slot — while both were\n * classified `SELECT_ONE`, which asserts that exactly one provider must be selected. Selecting one\n * of zero candidates is not a resolution mode.\n *\n * Both capabilities are real and both are delivered elsewhere, which is why withdrawing the slots\n * costs nothing: antivirus scanning is `InfraCapability.ANTIVIRUS_SCANNING`, fulfilled by ClamAV\n * and consumed by `FileScanningBackendService`; PDF generation is the in-process `pdfTemplates`\n * surface, rendered by `@react-pdf/renderer` inside the backend. Neither has an external\n * provider, and neither is planned to.\n *\n * `InfraCapability.DOCUMENT_RENDERING` (Gotenberg) was provisioned beside the PDF surface and\n * consumed by nothing; it was withdrawn on 2026-09-08 (#477) because in-process rendering had\n * superseded it. Note the two are not interchangeable if it is ever reconsidered:\n * `@react-pdf/renderer` composes a document from React primitives, while Gotenberg converts\n * EXISTING HTML and Office documents — that is a different capability, not a second\n * implementation of this one.\n *\n * Removing `ANTIVIRUS_SCANNING` also removes a collision: the identical spelling named an engine\n * slot nothing could fill AND a live infra capability, in two packages, so a reader grepping the\n * word landed in whichever they searched first.\n *\n * If a hosted AV or document-rendering vendor is ever adopted, the member comes back WITH its\n * `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY` entry and its own JSDoc in the same change.\n *\n * WITHDRAWN 2026-09-09: `BILLING_PAYMENTS`, the third member of exactly that shape, and the one\n * this paragraph's own closing rule should have caught. It was never withdrawn with the other two\n * because it had been left behind DELIBERATELY — as a \"reserved slot\" — which reads as a decision\n * and is why nobody re-examined it. Measured before removing, across the whole repository outside\n * `node_modules` / `dist`: it appeared in live source at exactly THREE sites, and none of them was\n * a use — the enum declaration itself, its row in the compile-forced\n * `ENGINE_CAPABILITY_RESOLUTION_MODE` record, and a comment in a test naming it as a slot the\n * billing provider must NOT be registered under. Zero applications enabled it, zero scaffolds\n * wrote it, zero consumers queried it, and no provider capability token mapped to it.\n *\n * The capability it names is real and is already delivered: a billing provider (Stripe) declares\n * `BUILTIN_PROVIDER_CAPABILITY.BILLING` and fills `EngineCapability.BILLING`, which is the slot\n * applications enable and `getProvidersForEngineCapability` gates on. Payment EXECUTION is served\n * through that same provider's `BILLING_PROVIDER` protocol; splitting it into a second engine slot\n * was a plan-era intention (`provider-registry-materialization-workflow.md`) that the shipped\n * model settled the other way. So the withdrawal removes a name, not a capability.\n *\n * The reason a reserved slot is worse than no slot is `EngineCapabilityResolutionMode`: every\n * member must be classified, `BILLING_PAYMENTS` was classified `SELECT_ONE`, and `SELECT_ONE`\n * asserts that exactly one provider is selected from the candidates. There were zero candidates\n * and there could never be one. A vocabulary member that no configuration can satisfy is not a\n * reservation, it is a false statement the compiler is forced to carry.\n *\n * If a payments vendor is ever selected independently of the billing vendor, the member comes back\n * with its provider-capability token and its map entry in the same change — the same rule as\n * above, now with three instances behind it.\n */\n\n FRONTEND_ERROR_MONITORING = 'FRONTEND_ERROR_MONITORING',\n FRONTEND_PRODUCT_ANALYTICS = 'FRONTEND_PRODUCT_ANALYTICS',\n\n /**\n * Backend LLM-call observability (model/tokens/cost/latency per `invokeAgent`),\n * platform-scoped. This enables model-call observability when the selected\n * provider configuration supplies that capability; it does not itself\n * configure a provider or make telemetry operational.\n */\n LLM_OBSERVABILITY = 'LLM_OBSERVABILITY',\n\n /**\n * Operational telemetry (traces/metrics/logs) shipped via the OpenTelemetry\n * SDK over OTLP to a provider (for example, BetterStack). Unlike\n * `LLM_OBSERVABILITY`, the connection is preloaded from\n * `OTEL_*` env vars (the CLI translates the saas-config selection + per-env\n * infra config into them) BEFORE app config — not resolved through the runtime\n * registry. Author the corresponding infrastructure/provider settings in\n * the application environment before relying on telemetry.\n */\n OBSERVABILITY_TELEMETRY = 'OBSERVABILITY_TELEMETRY',\n}\n/** @wildo_source:part:end saas.models.engine-capabilities */\n\n/**\n * Canonical, single-source-of-truth mapping from the open\n * `ProviderCapability` vocabulary (the built-in subset) to the closed\n * `EngineCapability` slots the engine actually fulfills.\n *\n * A provider declares which `providerCapabilities` it satisfies (e.g.\n * Stripe → `BILLING`, Resend → `EMAIL_TRANSACTIONAL`, Anthropic →\n * `LLM_CHAT`/`CODING_AGENT`). This map projects each built-in\n * capability onto the engine slot it fills, so a provider's\n * `engineCapabilities` set can be derived mechanically. Multiple\n * provider capabilities may share one engine slot (every `LLM_*`\n * capability maps to `AI_LLM`); de-duplicate after projecting.\n *\n * **Why this lives here (one map, three consumers).** The projection\n * used to be hand-copied in three places that silently drifted:\n * 1. The runtime registry projection in `saas-backend-lib`\n * (`ExternalProvidersRegistryBackendService.buildRuntimeRegistryFromProviderModules`),\n * which decides which provider answers `getProvidersForEngineCapability`.\n * 2. The backend companion-discovery export in\n * `@wildo-ai/external-connectors-private` (feeds the generated\n * `provider-catalog.types.ts` autocomplete via `wildo config sync`).\n * 3. The frontend companion-discovery export in\n * `@wildo-ai/external-connectors-public` (same, for browser-bound\n * provider modules).\n * A missing/wrong entry in any copy silently breaks a different surface\n * (a registry resolution, or the catalog autocomplete). It is co-located\n * with the `EngineCapability` enum it projects onto, and every consumer\n * imports it from the `@wildo-ai/saas-models` package root barrel.\n *\n * **Bundle boundary — why here and not beside `BUILTIN_PROVIDER_CAPABILITY`.**\n * This map references `EngineCapability`, which is deliberately kept off\n * the browser-safe `@wildo-ai/saas-models/public-runtime` seam. So it must\n * live in a full-only module. `engine-capabilities.shared.schemas.ts` is\n * exactly that (exported from the root barrel, never from\n * `public-runtime/index.ts`), whereas `provider-capability.shared.schemas.ts`\n * — the other natural home — IS on the public seam and would drag\n * `EngineCapability` into the browser bundle. The frontend discovery\n * consumer (#3) imports this map through its Node-only `./companion`\n * subpath, which already pulls the full root barrel; the browser-shipped\n * `./app`/`./techdoc`/`./website` subpaths never reach it.\n *\n * **BILLING → BILLING.** A billing provider (Stripe) declares\n * `BUILTIN_PROVIDER_CAPABILITY.BILLING` and fills the\n * `EngineCapability.BILLING` slot — the SAME slot apps enable in\n * `defineSaaSProviders`/`engineCapabilities` activation config and that\n * `getProvidersForEngineCapability` gates resolution on. The runtime copy\n * of this projection historically mapped it onto a distinct\n * `EngineCapability.BILLING_PAYMENTS` slot instead, registering Stripe\n * under something no activation config enables and no consumer queries,\n * which made it unreachable through the registry. That second slot was\n * withdrawn from the enum on 2026-09-09 (see the WITHDRAWN block beside\n * the enum) — it had no producer and no consumer other than the bug.\n *\n * **Intentionally unmapped.** `SSO_OAUTH2`, `SSO_SAML`, `FRONTEND_SEARCH`,\n * `FRONTEND_FILE_PICKER`, `FRONTEND_CAPTCHA` and `FRONTEND_ADDRESS_LOOKUP`\n * (#1702 — an address field works without one, so no engine slot requires it)\n * have no closed engine slot today — they are fulfilled by provider protocols / app wiring, not\n * by an `EngineCapability`. Their absence here is by construction, not an\n * oversight: a `Partial<Record<…>>` lookup returns `undefined` and the\n * capability contributes nothing to a provider's `engineCapabilities`.\n *\n * There are no app-extended provider capabilities: the augmentation point was\n * removed as an extension point with no resolver (#502), so this map covers the\n * whole vocabulary rather than the built-in half of it.\n */\nconst PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES = {\n [BUILTIN_PROVIDER_CAPABILITY.EMAIL_TRANSACTIONAL]: EngineCapability.EMAIL_TRANSACTIONAL,\n [BUILTIN_PROVIDER_CAPABILITY.EMAIL_MARKETING]: EngineCapability.EMAIL_MARKETING,\n [BUILTIN_PROVIDER_CAPABILITY.EMAIL_INBOUND]: EngineCapability.EMAIL_INBOUND,\n [BUILTIN_PROVIDER_CAPABILITY.SMS]: EngineCapability.SMS,\n [BUILTIN_PROVIDER_CAPABILITY.BILLING]: EngineCapability.BILLING,\n [BUILTIN_PROVIDER_CAPABILITY.LLM_CHAT]: EngineCapability.AI_LLM,\n /**\n * REPOINTED 2026-08-27 (RAG plan DL2/H4): `LLM_EMBEDDINGS` used to map into `AI_LLM`, which\n * fused the chat and embeddings provider selections into one slot. The TOKEN keeps its name —\n * it correctly says \"this provider can produce embeddings\", and it sits inside the anchored\n * `saas.models.provider-capabilities` block compiled into shipped skills — only the slot it\n * fills changed. Exactly one token claims the embeddings slot.\n */\n [BUILTIN_PROVIDER_CAPABILITY.LLM_EMBEDDINGS]: EngineCapability.AI_EMBEDDINGS,\n /**\n * EXACTLY ONE token claims the document-extraction slot, and it is a new one. Checked rather\n * than assumed before adding it: `IMAGE_GENERATION` maps to `AI_IMAGE_GENERATION` (output),\n * `LLM_CHAT` to `AI_LLM`, `LLM_EMBEDDINGS` to `AI_EMBEDDINGS`, and no built-in token mapped\n * anywhere near document INPUT. Repointing an existing token — the move that kept\n * `LLM_EMBEDDINGS` alive — was not available here because none of them meant this.\n */\n [BUILTIN_PROVIDER_CAPABILITY.DOCUMENT_TEXT_EXTRACTION]: EngineCapability.AI_DOCUMENT_EXTRACTION,\n [BUILTIN_PROVIDER_CAPABILITY.CODING_AGENT]: EngineCapability.AI_CODING_AGENT,\n [BUILTIN_PROVIDER_CAPABILITY.IMAGE_GENERATION]: EngineCapability.AI_IMAGE_GENERATION,\n [BUILTIN_PROVIDER_CAPABILITY.FRONTEND_ERROR_MONITORING]: EngineCapability.FRONTEND_ERROR_MONITORING,\n [BUILTIN_PROVIDER_CAPABILITY.FRONTEND_PRODUCT_ANALYTICS]: EngineCapability.FRONTEND_PRODUCT_ANALYTICS,\n [BUILTIN_PROVIDER_CAPABILITY.LLM_OBSERVABILITY]: EngineCapability.LLM_OBSERVABILITY,\n [BUILTIN_PROVIDER_CAPABILITY.OBSERVABILITY_TELEMETRY]: EngineCapability.OBSERVABILITY_TELEMETRY,\n [BUILTIN_PROVIDER_CAPABILITY.COMPLIANCE_AUDIT_TRAIL]: EngineCapability.COMPLIANCE_AUDIT_TRAIL,\n} as const satisfies Partial<Record<BuiltinProviderCapability, EngineCapability>>;\n\n/**\n * The projection every consumer uses, with the WIDE type it has always had.\n *\n * **Why the literal above and the widened alias here are two declarations.** Consumers index this\n * map with a `BuiltinProviderCapability` VARIABLE — `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY[cap]`\n * in the runtime registry, in both companion-discovery exports, in `defineSaaSProviders` and in the\n * tier rule — and that only type-checks against `Partial<Record<…>>`, which admits every token in\n * the vocabulary and answers `undefined` for the six that map nowhere. Annotating the literal that\n * way is what USED to be written here, and it is also what erased the information the totality\n * check below needs: an annotation discards the per-property literal types, so\n * `(typeof MAP)[keyof typeof MAP]` collapsed to `EngineCapability | undefined` and could not say\n * WHICH slots are filled.\n *\n * `as const satisfies` on the literal keeps both: the compiler still rejects a wrong key or a\n * non-`EngineCapability` value at the site where it is written, and the exact filled set survives\n * into the type system. The widening then happens once, here, so no consumer changes and nobody has\n * to know the literal exists.\n */\nexport const PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY: Partial<\n Record<BuiltinProviderCapability, EngineCapability>\n> = PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES;\n\n/**\n * Engine capabilities that DELIBERATELY have no provider capability pointing at them, each named\n * with the reason it is an empty slot rather than a hole.\n *\n * This exists so the two states can never be confused. Before it, an `EngineCapability` member with\n * no entry in the map above looked exactly like one whose entry someone forgot — the absence WAS the\n * record — and that indistinguishability is the whole mechanism behind three separate slots shipping\n * unfillable: `DOCUMENT_GENERATION` and `ANTIVIRUS_SCANNING` (withdrawn 2026-09-03) and\n * `BILLING_PAYMENTS` (withdrawn 2026-09-09, and left standing for six days precisely because\n * \"reserved\" reads like a decision). A capability listed here has been looked at; one that is\n * neither listed here nor mapped above does not compile.\n *\n * **Both members are ACTIVATION capabilities, and that is the criterion.** Each is a real, live,\n * enabled-or-not decision an application makes in `wildo.saas.config.ts` (`ORGANIZATIONS` is\n * enabled by both dogfood applications, `MULTI_LANGUAGE` is written by the scaffold and by the\n * application-creation composition step), and each is implemented BY THE ENGINE — multi-tenancy is\n * the engine's own organization model and scoping, translation is the engine's own i18n pipeline.\n * There is no external party to select, so there is nothing for a provider capability to say. That\n * is categorically different from a withdrawn slot, which named work an external party WOULD do and\n * had no external party able to do it.\n *\n * **Adding a member here is a decision that must be argued, not a way to make a compile error go\n * away.** The test beside this file pins the set to exactly these two, so a third one cannot arrive\n * as a silent edit — see `__tests__/engine-capability-provider-coverage.shared.test.ts`.\n */\nexport const ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY = [\n /**\n * Multi-tenancy: organizations, memberships, roles and organization scoping are engine resources\n * and engine authorization. Nothing about them is procured.\n */\n EngineCapability.ORGANIZATIONS,\n /**\n * Application-wide i18n: the label tree, the locale negotiation and the translation pipeline are\n * the engine's. Where translation is MODEL-backed it reaches a provider through `AI_LLM`, which is\n * its own slot with its own selection — so even that path is not this capability's producer.\n */\n EngineCapability.MULTI_LANGUAGE,\n] as const satisfies readonly EngineCapability[];\n\n/**\n * COMPILE-TIME TOTALITY: every `EngineCapability` is either filled by a provider capability or\n * declared an empty slot above. Adding a member to the enum without doing one of the two is a\n * TypeScript error at this line, not a test failure and not a runtime surprise.\n *\n * A compile error is the right instrument here because both inputs are static literals in this one\n * file — there is no runtime state to consult, so nothing is gained by deferring the question to\n * execution, and a great deal is lost: a test only fails for someone who runs it, while this fails\n * for whoever adds the member, in the editor, before the commit.\n *\n * The error a violation produces is `TS2344` on `EngineCapabilityAccountedFor`, reading\n * `Type 'EngineCapability.X' does not satisfy the constraint 'never'` — X being the exact member\n * that is neither mapped nor declared. Measured rather than asserted: deleting the\n * `BUILTIN_PROVIDER_CAPABILITY.SMS` row from the literal above produced exactly that diagnostic,\n * naming `EngineCapability.SMS`, and the row was restored.\n *\n * The two declarations below are unused by design — the assertion IS the declaration, and it is\n * evaluated the moment the file is type-checked. `noUnusedLocals` is off in this package's\n * tsconfig, so nothing objects; do not \"clean them up\".\n */\ntype EngineCapabilityFilledByAProviderCapability =\n (typeof PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES)[keyof typeof PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY_ENTRIES];\n\ntype EngineCapabilityDeclaredEmpty = (typeof ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY)[number];\n\n/** Resolves to `never` when the two sets above cover the enum, and to the offending member(s) when they do not. */\ntype EngineCapabilityAccountedFor<Unaccounted extends never> = Unaccounted;\n\ntype _EveryEngineCapabilityIsMappedOrDeclaredEmpty = EngineCapabilityAccountedFor<\n Exclude<EngineCapability, EngineCapabilityFilledByAProviderCapability | EngineCapabilityDeclaredEmpty>\n>;\n\n/**\n * The mirror assertion: a capability may not be BOTH mapped and declared empty.\n *\n * Without it the totality check is satisfiable by lying in the easier direction — list a mapped\n * capability as an empty slot and the union still covers the enum, so a genuinely missing mapping\n * elsewhere could be hidden by a bogus declaration here. `TS2344` again, naming the member that\n * appears on both sides.\n */\ntype _NoEngineCapabilityIsBothMappedAndDeclaredEmpty = EngineCapabilityAccountedFor<\n Extract<EngineCapabilityDeclaredEmpty, EngineCapabilityFilledByAProviderCapability>\n>;\n\n/** @wildo_source:part:start saas.models.engine-capabilities.required-provider-floor facet:layer:shared facet:audience:app-developer */\n/**\n * Engine capabilities that REQUIRE a resolved provider the moment an\n * application ENABLES them — the engine-level MAIN floor (#328).\n *\n * The asymmetry is the thing to carry away: **enabling a capability with nothing serving it fails at\n * BOOT for these four and at the point of USE for every other slot.** So an author who tries one\n * unserved slot, sees the application come up, and concludes that an unserved capability degrades\n * gracefully has learned the wrong rule from the larger half of the vocabulary.\n *\n * `EngineCapabilityActivation.required` is the application's decision;\n * this set is the ENGINE's: for each member, an enabled capability with no\n * provider is not a degraded mode but a boot-time misconfiguration, because\n * an engine flow the application already relies on fails at first use:\n *\n * - `EMAIL_TRANSACTIONAL` — invitations, address verification and password\n * reset are engine flows that send mail; with no provider they fail\n * silently at the moment a user needs them.\n * - `BILLING` — `initializeBillingServices` already fails loud with no\n * provider; the floor names it in the same place as the others.\n * - `SMS` — phone verification and MFA-by-SMS are engine flows.\n * - `EMAIL_INBOUND` — enabling it declares that work arrives by email; with no\n * provider nothing hosts the receiving domain, so every message is lost\n * before the engine sees it and nothing anywhere records that it was (#1630).\n *\n * DELIBERATELY ABSENT, with the reason each would need to overturn:\n * - the `AI_*` slots — consumed per feature (an agent, the logo generator)\n * and legitimately served on a DIFFERENT host (the companion reaches image\n * generation; the backend need not), so \"enabled with no backend provider\"\n * is a normal topology, not a fault. A feature that needs one refuses at\n * its own site.\n * - the sinks (`COMPLIANCE_AUDIT_TRAIL`, `LLM_OBSERVABILITY`,\n * `OBSERVABILITY_TELEMETRY`) — fail-OPEN by design (the G4 reconcile\n * warns), because Layer-1 persistence is unaffected.\n * - `EMAIL_MARKETING` — a campaign feature, not an engine flow.\n * - the `FRONTEND_*` slots — resolved by the frontend facet, invisible to\n * the backend registry that evaluates this floor.\n * - `ORGANIZATIONS` and `MULTI_LANGUAGE` — no provider token maps to them,\n * deliberately and by declaration; see\n * `ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY`. A floor requiring a\n * resolved provider for a slot nothing can fill would refuse every boot that\n * enabled them. (`BILLING_PAYMENTS` was named here too until it was withdrawn\n * from the enum on 2026-09-09.)\n *\n * The floor runs only on a host expected to SERVE these slots (see\n * `ApplicationRuntimeProfileBootAssertions.assertsEngineCapabilityProviderFloor`);\n * a minion's scope-filtered registry legitimately resolves none of them.\n */\nexport const ENGINE_CAPABILITIES_REQUIRING_A_PROVIDER_WHEN_ENABLED: ReadonlySet<EngineCapability> = new Set([\n EngineCapability.EMAIL_TRANSACTIONAL,\n EngineCapability.BILLING,\n EngineCapability.SMS,\n EngineCapability.EMAIL_INBOUND,\n]);\n/** @wildo_source:part:end saas.models.engine-capabilities.required-provider-floor */\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capability-resolution-mode.shared.d.ts","sourceRoot":"","sources":["../../../../src/external-providers/engine-capability-resolution-mode.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,oBAAY,8BAA8B;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,eAAe;IACzB;;;;;OAKG;IACH,OAAO,YAAY;CACpB;AA4DD;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,gBAAgB,GAC3B,8BAA8B,CAEhC"}
1
+ {"version":3,"file":"engine-capability-resolution-mode.shared.d.ts","sourceRoot":"","sources":["../../../src/external-providers/engine-capability-resolution-mode.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,oBAAY,8BAA8B;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,eAAe;IACzB;;;;;OAKG;IACH,OAAO,YAAY;CACpB;AA+DD;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,gBAAgB,GAC3B,8BAA8B,CAEhC"}
@@ -76,6 +76,9 @@ const ENGINE_CAPABILITY_RESOLUTION_MODE = {
76
76
  [EngineCapability.MULTI_LANGUAGE]: EngineCapabilityResolutionMode.SELECT_ONE,
77
77
  [EngineCapability.EMAIL_TRANSACTIONAL]: EngineCapabilityResolutionMode.SELECT_ONE,
78
78
  [EngineCapability.EMAIL_MARKETING]: EngineCapabilityResolutionMode.SELECT_ONE,
79
+ // One provider hosts a receiving domain's MX: two receivers of the same address cannot both be
80
+ // the destination, so inbound email is substitutable, never additive (#1630).
81
+ [EngineCapability.EMAIL_INBOUND]: EngineCapabilityResolutionMode.SELECT_ONE,
79
82
  [EngineCapability.SMS]: EngineCapabilityResolutionMode.SELECT_ONE,
80
83
  [EngineCapability.AI_LLM]: EngineCapabilityResolutionMode.SELECT_ONE,
81
84
  [EngineCapability.AI_IMAGE_GENERATION]: EngineCapabilityResolutionMode.SELECT_ONE,
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capability-resolution-mode.shared.js","sourceRoot":"","sources":["../../../../src/external-providers/engine-capability-resolution-mode.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,8BA0BX;AA1BD,WAAY,8BAA8B;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,2DAAyB,CAAA;IACzB;;;;;OAKG;IACH,qDAAmB,CAAA;AACrB,CAAC,EA1BW,8BAA8B,KAA9B,8BAA8B,QA0BzC;AACD,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,iCAAiC,GAA6D;IAClG,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,8BAA8B,CAAC,OAAO;IAEjF;;;;;;;;;;;;;;OAcG;IACH,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC3E,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACrE,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC5E,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACjF,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC7E,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACjE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACpE,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACjF,8FAA8F;IAC9F,8FAA8F;IAC9F,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC3E,4FAA4F;IAC5F,6FAA6F;IAC7F,2FAA2F;IAC3F,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACpF,0FAA0F;IAC1F,4FAA4F;IAC5F,4FAA4F;IAC5F,oBAAoB;IACpB,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC7E,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACvF,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACxF,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC/E,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,8BAA8B,CAAC,UAAU;CACtF,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAC/C,UAA4B;IAE5B,OAAO,iCAAiC,CAAC,UAAU,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import { EngineCapability } from './engine-capabilities.shared.schemas';\n\n/**\n * @wildo_source:part:start saas.models.providers.capability-resolution-mode facet:layer:shared facet:audience:app-developer\n *\n * How the engine resolves the provider(s) fulfilling an `EngineCapability`\n * when more than one is declared for the same scope.\n *\n * This is a FIRST-CLASS, declared property of a capability — NOT an implicit\n * per-consumer convention. A reader can tell whether a capability picks one\n * provider or writes to all of them; a new capability author declares it\n * here; and both the runtime registry resolver and the `defineSaaSProviders`\n * config validators branch on it (so a `FAN_OUT` capability is validated by\n * DECLARATION and never keyed off `selection`).\n */\nexport enum EngineCapabilityResolutionMode {\n /**\n * At most one active provider: the first eligible ref after selection ordering. The default for every capability\n * (billing, email, observability, …), and a request is served by that one provider.\n *\n * ⚠️ `whenUnavailable` is NOT a failover list, and the field was renamed from `fallbacks` on\n * 2026-09-08 precisely because that name promised one. It names ORDERED SUBSTITUTES for a\n * primary that is not eligible in the active runtime scope. Eligible policy refs come first;\n * remaining eligible providers follow, so an invalid primary does not empty that set.\n * Eligibility requires a registered module declaring the capability and an active scope\n * declaration for it; resolution does not validate credentials or vendor health. Nothing\n * retries a second provider when a call to the first one FAILS: the send raises the primary's\n * error and stops.\n *\n * So do not read a declared `whenUnavailable` entry as redundancy, and do not size an\n * availability argument on it. An application that wants call-time failover builds it at its own\n * call site, per capability — a deliberate framework boundary, not an omission.\n */\n SELECT_ONE = 'SELECT_ONE',\n /**\n * ALL declared providers are active simultaneously — every one receives\n * every emission (no primary, no failover). For sinks whose nature is\n * additive rather than substitutable: `COMPLIANCE_AUDIT_TRAIL` writes each\n * audit event to every configured destination.\n */\n FAN_OUT = 'FAN_OUT',\n}\n/** @wildo_source:part:end saas.models.providers.capability-resolution-mode */\n\n/**\n * The DECLARED resolution mode for EVERY engine capability. Exhaustive by\n * construction: because this is a `Record<EngineCapability, …>`, adding a new\n * member to the `EngineCapability` enum WITHOUT classifying it here is a COMPILE\n * error. That is deliberate — a bare \"default to SELECT_ONE\" would let a future\n * additive/fan-out capability silently collapse to single-provider resolution\n * (dropping emissions to every non-primary destination) just because its author\n * forgot a one-line edit. The compiler now forces the decision.\n *\n * Only `COMPLIANCE_AUDIT_TRAIL` is `FAN_OUT` today (audit events are additive —\n * every declared destination receives every event). Everything else is\n * `SELECT_ONE`: one active provider, and no failover to a second one.\n */\nconst ENGINE_CAPABILITY_RESOLUTION_MODE: Record<EngineCapability, EngineCapabilityResolutionMode> = {\n [EngineCapability.COMPLIANCE_AUDIT_TRAIL]: EngineCapabilityResolutionMode.FAN_OUT,\n\n /**\n * NOMINAL for the two ACTIVATION capabilities below, and worth stating because the next reader\n * will otherwise ask the right question. `BILLING_PAYMENTS` was withdrawn from the enum on\n * 2026-09-09 for being classified `SELECT_ONE` with no provider capability able to fill it —\n * \"select one of zero candidates\" is not a resolution mode. `ORGANIZATIONS` and `MULTI_LANGUAGE`\n * have no provider capability either, so why do they stand?\n *\n * Because nothing ever RESOLVES them. They are engine-implemented activations (multi-tenancy, the\n * i18n pipeline): an application enables them, the engine serves them, and no code path asks this\n * record which provider fulfills them — where the withdrawn slot's whole purpose was to be\n * resolved and it could not be. Their absence from `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY` is a\n * DECLARATION (`ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY`), not a gap, and the row here\n * exists only because this record is total over the enum by construction — which is the property\n * that makes a genuinely resolvable new capability impossible to leave unclassified.\n */\n [EngineCapability.ORGANIZATIONS]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.BILLING]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.MULTI_LANGUAGE]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.EMAIL_TRANSACTIONAL]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.EMAIL_MARKETING]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.SMS]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.AI_LLM]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.AI_IMAGE_GENERATION]: EngineCapabilityResolutionMode.SELECT_ONE,\n // Embeddings are substitutable, not additive: one provider serves a vector space, and writing\n // the same chunk through two providers would produce two incompatible spaces, not redundancy.\n [EngineCapability.AI_EMBEDDINGS]: EngineCapabilityResolutionMode.SELECT_ONE,\n // Extraction is substitutable, not additive: one provider reads a document, and running the\n // same bytes through two OCR services would produce two divergent transcriptions of one page\n // with no principled way to merge them — plus a second egress of the same private content.\n [EngineCapability.AI_DOCUMENT_EXTRACTION]: EngineCapabilityResolutionMode.SELECT_ONE,\n // One agent per task, and emphatically not fan-out: two coding agents given the same task\n // against the same worktree do not produce redundancy, they produce a merge conflict nobody\n // asked for — and the change attribution that follows a run could no longer say which agent\n // wrote which file.\n [EngineCapability.AI_CODING_AGENT]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.FRONTEND_ERROR_MONITORING]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.FRONTEND_PRODUCT_ANALYTICS]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.LLM_OBSERVABILITY]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.OBSERVABILITY_TELEMETRY]: EngineCapabilityResolutionMode.SELECT_ONE,\n};\n\n/**\n * The declared resolution mode for an engine capability. A TOTAL lookup — every\n * capability is explicitly classified in `ENGINE_CAPABILITY_RESOLUTION_MODE`\n * (no silent default).\n *\n * Consumers: the runtime registry (`ExternalProvidersRegistryBackendService`\n * — `FAN_OUT` uses the full provider list, `SELECT_ONE` uses the primary) and\n * the `defineSaaSProviders` validators (a `FAN_OUT` capability is validated by\n * declaration and rejects a `selection` entry).\n */\nexport function getEngineCapabilityResolutionMode(\n capability: EngineCapability,\n): EngineCapabilityResolutionMode {\n return ENGINE_CAPABILITY_RESOLUTION_MODE[capability];\n}\n"]}
1
+ {"version":3,"file":"engine-capability-resolution-mode.shared.js","sourceRoot":"","sources":["../../../src/external-providers/engine-capability-resolution-mode.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAN,IAAY,8BA0BX;AA1BD,WAAY,8BAA8B;IACxC;;;;;;;;;;;;;;;;OAgBG;IACH,2DAAyB,CAAA;IACzB;;;;;OAKG;IACH,qDAAmB,CAAA;AACrB,CAAC,EA1BW,8BAA8B,KAA9B,8BAA8B,QA0BzC;AACD,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,iCAAiC,GAA6D;IAClG,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,8BAA8B,CAAC,OAAO;IAEjF;;;;;;;;;;;;;;OAcG;IACH,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC3E,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACrE,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC5E,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACjF,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC7E,+FAA+F;IAC/F,8EAA8E;IAC9E,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC3E,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACjE,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACpE,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACjF,8FAA8F;IAC9F,8FAA8F;IAC9F,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC3E,4FAA4F;IAC5F,6FAA6F;IAC7F,2FAA2F;IAC3F,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACpF,0FAA0F;IAC1F,4FAA4F;IAC5F,4FAA4F;IAC5F,oBAAoB;IACpB,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC7E,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACvF,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,8BAA8B,CAAC,UAAU;IACxF,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC,UAAU;IAC/E,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,8BAA8B,CAAC,UAAU;CACtF,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,iCAAiC,CAC/C,UAA4B;IAE5B,OAAO,iCAAiC,CAAC,UAAU,CAAC,CAAC;AACvD,CAAC","sourcesContent":["import { EngineCapability } from './engine-capabilities.shared.schemas';\n\n/**\n * @wildo_source:part:start saas.models.providers.capability-resolution-mode facet:layer:shared facet:audience:app-developer\n *\n * How the engine resolves the provider(s) fulfilling an `EngineCapability`\n * when more than one is declared for the same scope.\n *\n * This is a FIRST-CLASS, declared property of a capability — NOT an implicit\n * per-consumer convention. A reader can tell whether a capability picks one\n * provider or writes to all of them; a new capability author declares it\n * here; and both the runtime registry resolver and the `defineSaaSProviders`\n * config validators branch on it (so a `FAN_OUT` capability is validated by\n * DECLARATION and never keyed off `selection`).\n */\nexport enum EngineCapabilityResolutionMode {\n /**\n * At most one active provider: the first eligible ref after selection ordering. The default for every capability\n * (billing, email, observability, …), and a request is served by that one provider.\n *\n * ⚠️ `whenUnavailable` is NOT a failover list, and the field was renamed from `fallbacks` on\n * 2026-09-08 precisely because that name promised one. It names ORDERED SUBSTITUTES for a\n * primary that is not eligible in the active runtime scope. Eligible policy refs come first;\n * remaining eligible providers follow, so an invalid primary does not empty that set.\n * Eligibility requires a registered module declaring the capability and an active scope\n * declaration for it; resolution does not validate credentials or vendor health. Nothing\n * retries a second provider when a call to the first one FAILS: the send raises the primary's\n * error and stops.\n *\n * So do not read a declared `whenUnavailable` entry as redundancy, and do not size an\n * availability argument on it. An application that wants call-time failover builds it at its own\n * call site, per capability — a deliberate framework boundary, not an omission.\n */\n SELECT_ONE = 'SELECT_ONE',\n /**\n * ALL declared providers are active simultaneously — every one receives\n * every emission (no primary, no failover). For sinks whose nature is\n * additive rather than substitutable: `COMPLIANCE_AUDIT_TRAIL` writes each\n * audit event to every configured destination.\n */\n FAN_OUT = 'FAN_OUT',\n}\n/** @wildo_source:part:end saas.models.providers.capability-resolution-mode */\n\n/**\n * The DECLARED resolution mode for EVERY engine capability. Exhaustive by\n * construction: because this is a `Record<EngineCapability, …>`, adding a new\n * member to the `EngineCapability` enum WITHOUT classifying it here is a COMPILE\n * error. That is deliberate — a bare \"default to SELECT_ONE\" would let a future\n * additive/fan-out capability silently collapse to single-provider resolution\n * (dropping emissions to every non-primary destination) just because its author\n * forgot a one-line edit. The compiler now forces the decision.\n *\n * Only `COMPLIANCE_AUDIT_TRAIL` is `FAN_OUT` today (audit events are additive —\n * every declared destination receives every event). Everything else is\n * `SELECT_ONE`: one active provider, and no failover to a second one.\n */\nconst ENGINE_CAPABILITY_RESOLUTION_MODE: Record<EngineCapability, EngineCapabilityResolutionMode> = {\n [EngineCapability.COMPLIANCE_AUDIT_TRAIL]: EngineCapabilityResolutionMode.FAN_OUT,\n\n /**\n * NOMINAL for the two ACTIVATION capabilities below, and worth stating because the next reader\n * will otherwise ask the right question. `BILLING_PAYMENTS` was withdrawn from the enum on\n * 2026-09-09 for being classified `SELECT_ONE` with no provider capability able to fill it —\n * \"select one of zero candidates\" is not a resolution mode. `ORGANIZATIONS` and `MULTI_LANGUAGE`\n * have no provider capability either, so why do they stand?\n *\n * Because nothing ever RESOLVES them. They are engine-implemented activations (multi-tenancy, the\n * i18n pipeline): an application enables them, the engine serves them, and no code path asks this\n * record which provider fulfills them — where the withdrawn slot's whole purpose was to be\n * resolved and it could not be. Their absence from `PROVIDER_CAPABILITY_TO_ENGINE_CAPABILITY` is a\n * DECLARATION (`ENGINE_CAPABILITIES_WITH_NO_PROVIDER_CAPABILITY`), not a gap, and the row here\n * exists only because this record is total over the enum by construction — which is the property\n * that makes a genuinely resolvable new capability impossible to leave unclassified.\n */\n [EngineCapability.ORGANIZATIONS]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.BILLING]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.MULTI_LANGUAGE]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.EMAIL_TRANSACTIONAL]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.EMAIL_MARKETING]: EngineCapabilityResolutionMode.SELECT_ONE,\n // One provider hosts a receiving domain's MX: two receivers of the same address cannot both be\n // the destination, so inbound email is substitutable, never additive (#1630).\n [EngineCapability.EMAIL_INBOUND]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.SMS]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.AI_LLM]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.AI_IMAGE_GENERATION]: EngineCapabilityResolutionMode.SELECT_ONE,\n // Embeddings are substitutable, not additive: one provider serves a vector space, and writing\n // the same chunk through two providers would produce two incompatible spaces, not redundancy.\n [EngineCapability.AI_EMBEDDINGS]: EngineCapabilityResolutionMode.SELECT_ONE,\n // Extraction is substitutable, not additive: one provider reads a document, and running the\n // same bytes through two OCR services would produce two divergent transcriptions of one page\n // with no principled way to merge them — plus a second egress of the same private content.\n [EngineCapability.AI_DOCUMENT_EXTRACTION]: EngineCapabilityResolutionMode.SELECT_ONE,\n // One agent per task, and emphatically not fan-out: two coding agents given the same task\n // against the same worktree do not produce redundancy, they produce a merge conflict nobody\n // asked for — and the change attribution that follows a run could no longer say which agent\n // wrote which file.\n [EngineCapability.AI_CODING_AGENT]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.FRONTEND_ERROR_MONITORING]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.FRONTEND_PRODUCT_ANALYTICS]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.LLM_OBSERVABILITY]: EngineCapabilityResolutionMode.SELECT_ONE,\n [EngineCapability.OBSERVABILITY_TELEMETRY]: EngineCapabilityResolutionMode.SELECT_ONE,\n};\n\n/**\n * The declared resolution mode for an engine capability. A TOTAL lookup — every\n * capability is explicitly classified in `ENGINE_CAPABILITY_RESOLUTION_MODE`\n * (no silent default).\n *\n * Consumers: the runtime registry (`ExternalProvidersRegistryBackendService`\n * — `FAN_OUT` uses the full provider list, `SELECT_ONE` uses the primary) and\n * the `defineSaaSProviders` validators (a `FAN_OUT` capability is validated by\n * declaration and rejects a `selection` entry).\n */\nexport function getEngineCapabilityResolutionMode(\n capability: EngineCapability,\n): EngineCapabilityResolutionMode {\n return ENGINE_CAPABILITY_RESOLUTION_MODE[capability];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capability-surface.shared.d.ts","sourceRoot":"","sources":["../../../../src/external-providers/engine-capability-surface.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,oBAAY,uBAAuB;IACjC;;;;;;;;OAQG;IACH,eAAe,oBAAoB;IACnC;;;;;;;;;;;OAWG;IACH,mBAAmB,wBAAwB;CAC5C;AA+FD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,gBAAgB,GAAG,SAAS,uBAAuB,EAAE,CAE5G;AAED;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAE3F;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAGrF"}
1
+ {"version":3,"file":"engine-capability-surface.shared.d.ts","sourceRoot":"","sources":["../../../src/external-providers/engine-capability-surface.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,oBAAY,uBAAuB;IACjC;;;;;;;;OAQG;IACH,eAAe,oBAAoB;IACnC;;;;;;;;;;;OAWG;IACH,mBAAmB,wBAAwB;CAC5C;AAiGD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,gBAAgB,GAAG,SAAS,uBAAuB,EAAE,CAE5G;AAED;;;;;;;GAOG;AACH,wBAAgB,qCAAqC,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAE3F;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAGrF"}
@@ -132,6 +132,8 @@ const ENGINE_CAPABILITY_SURFACES = {
132
132
  [EngineCapability.COMPLIANCE_AUDIT_TRAIL]: RUNTIME_ONLY,
133
133
  [EngineCapability.EMAIL_TRANSACTIONAL]: RUNTIME_ONLY,
134
134
  [EngineCapability.EMAIL_MARKETING]: RUNTIME_ONLY,
135
+ /** RUNTIME ONLY. Mail to the deployed application's organizations; the companion receives none (#1630). */
136
+ [EngineCapability.EMAIL_INBOUND]: RUNTIME_ONLY,
135
137
  [EngineCapability.SMS]: RUNTIME_ONLY,
136
138
  [EngineCapability.FRONTEND_ERROR_MONITORING]: RUNTIME_ONLY,
137
139
  [EngineCapability.FRONTEND_PRODUCT_ANALYTICS]: RUNTIME_ONLY,
@@ -1 +1 @@
1
- {"version":3,"file":"engine-capability-surface.shared.js","sourceRoot":"","sources":["../../../../src/external-providers/engine-capability-surface.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAN,IAAY,uBAwBX;AAxBD,WAAY,uBAAuB;IACjC;;;;;;;;OAQG;IACH,8DAAmC,CAAA;IACnC;;;;;;;;;;;OAWG;IACH,sEAA2C,CAAA;AAC7C,CAAC,EAxBW,uBAAuB,KAAvB,uBAAuB,QAwBlC;AACD,sEAAsE;AAEtE,uFAAuF;AACvF,MAAM,aAAa,GAAuC;IACxD,uBAAuB,CAAC,eAAe;IACvC,uBAAuB,CAAC,mBAAmB;CAC5C,CAAC;AACF,mFAAmF;AACnF,MAAM,YAAY,GAAuC,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,0BAA0B,GAAiE;IAC/F;;OAEG;IAEH;;;;;OAKG;IACH,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,aAAa;IACxC;;;;;;;OAOG;IACH,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,aAAa;IACrD;;;;;OAKG;IACH,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,uBAAuB,CAAC,mBAAmB,CAAC;IACjF;;;;;OAKG;IACH,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,YAAY;IAC9C,gFAAgF;IAChF,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,YAAY;IAEvD;;;;;;OAMG;IACH,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,aAAa;IACnD,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,aAAa;IAEzD;;;;OAIG;IACH,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,YAAY;IAC9C,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY;IACxC,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,YAAY;IAC/C,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,YAAY;IACvD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,YAAY;IACpD,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,YAAY;IAChD,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,YAAY;IACpC,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,YAAY;IAC1D,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,YAAY;CAC5D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAA4B;IACtE,OAAO,0BAA0B,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qCAAqC,CAAC,UAA4B;IAChF,OAAO,2BAA2B,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAAC,UAA4B;IAC1E,MAAM,QAAQ,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AACvI,CAAC","sourcesContent":["import { EngineCapability } from './engine-capabilities.shared.schemas';\n\n/**\n * @wildo_source:part:start saas.models.providers.capability-surface facet:layer:shared facet:audience:app-developer\n *\n * WHICH SURFACE of the system reaches an `EngineCapability` — the deployed\n * application serving its users, the development companion building that\n * application, or both.\n *\n * This exists because compliance is not one question. A privacy notice, a\n * record of processing and a processor agreement all describe what the\n * CONTRACTED SERVICE does with a data subject's personal data; a\n * secure-development or supply-chain control describes how the software was\n * BUILT. An application that answers the first honestly — \"my product performs\n * no AI processing of customer content\" — may still have been authored with an\n * AI coding agent, and until this axis existed it had no way to say so: one\n * `engineCapabilities` field answered both questions at once, so declaring the\n * build-time tool silently made the product claim a runtime feature.\n *\n * **A capability may serve BOTH, and that is the common case for the `AI_*`\n * slots.** The axis is therefore a SET, not a choice. What narrows a particular\n * declaration to one surface is the provider SCOPE it is declared in\n * (`companion` versus the runtime scopes) — this map says what the capability\n * CAN serve, the scope says what a given declaration DOES serve.\n */\nexport enum EngineCapabilitySurface {\n /**\n * Reached by the DEPLOYED application while it serves its users.\n *\n * This is the surface every customer-facing compliance statement is about:\n * GDPR Art. 13/14 notices, Art. 30 records, Art. 28 processor terms, EU AI\n * Act Art. 50 transparency, and service terms. If a capability is not on this\n * surface, it processes no data subject's personal data through the\n * contracted service, and a document about that service must not describe it.\n */\n RUNTIME_SERVICE = 'RUNTIME_SERVICE',\n /**\n * Reached by the DEVELOPMENT COMPANION while the application is being built.\n *\n * Operates on the application's own source, specifications and generated\n * artifacts — never on a customer's data. Not exempt from compliance, and\n * saying so is the point of the axis rather than a caveat to it: this is the\n * surface NIST SP 800-53 SA-3/SA-8/SA-11/SA-15 and the SR supply-chain family\n * are about, as are the secure-development and change-management controls of\n * the commercial certification frameworks. It is simply a\n * DIFFERENT set of obligations from the runtime ones, asked of a different\n * artifact.\n */\n AUTHORING_COMPANION = 'AUTHORING_COMPANION',\n}\n/** @wildo_source:part:end saas.models.providers.capability-surface */\n\n/** Both surfaces, named once so the common `AI_*` answer is not retyped per member. */\nconst BOTH_SURFACES: readonly EngineCapabilitySurface[] = [\n EngineCapabilitySurface.RUNTIME_SERVICE,\n EngineCapabilitySurface.AUTHORING_COMPANION,\n];\n/** Runtime only — the answer for every capability the companion does not reach. */\nconst RUNTIME_ONLY: readonly EngineCapabilitySurface[] = [EngineCapabilitySurface.RUNTIME_SERVICE];\n\n/**\n * The DECLARED surfaces of EVERY engine capability. Exhaustive by construction:\n * because this is a `Record<EngineCapability, …>`, adding a member to the\n * `EngineCapability` enum WITHOUT classifying it here is a COMPILE error.\n *\n * That is the whole reason it is a Record rather than a lookup with a default,\n * and it is the same argument `ENGINE_CAPABILITY_RESOLUTION_MODE` makes beside\n * it: a bare \"default to RUNTIME_SERVICE\" would let a future build-time\n * capability silently enter a privacy notice as a product feature, which is\n * exactly the defect this map was created to close.\n *\n * **Every classification below is MEASURED against what reaches the capability\n * today, not against what plausibly might.** A capability whose companion\n * consumer is added later becomes a compile-visible decision at that moment,\n * which is better than a speculative `AUTHORING_COMPANION` nothing serves. A\n * per-host grep of the enum members was tried as the basis for this map and\n * REJECTED — it reports `AI_CODING_AGENT` as unreferenced on every host while\n * that capability is plainly companion-reached, because naming the enum and\n * reaching the capability are different things.\n */\nconst ENGINE_CAPABILITY_SURFACES: Record<EngineCapability, readonly EngineCapabilitySurface[]> = {\n /*\n * The four AI slots split two-and-two, and the split is the reason this map exists.\n */\n\n /**\n * BOTH. An application may expose LLM features to its users, and the companion\n * reaches an LLM for its own work: the meta-workflows structured-generation\n * agent and the playbook judge (`META_WORKFLOWS_PROVIDER_REF`), and the\n * brief-adequacy agent. Neither of those touches customer data.\n */\n [EngineCapability.AI_LLM]: BOTH_SURFACES,\n /**\n * BOTH. The companion's brand step generates and judges a logo through an\n * IMAGE-modality agent; an application may equally offer image generation to\n * its users. `engine-capabilities.shared.schemas.ts` already recorded this\n * topology in prose — \"legitimately served on a DIFFERENT host (the companion\n * reaches image generation; the backend need not)\" — one file before anything\n * could read it.\n */\n [EngineCapability.AI_IMAGE_GENERATION]: BOTH_SURFACES,\n /**\n * AUTHORING ONLY, and this is the member the axis was written for. The coding\n * agent writes the application's SOURCE. It is never reached while the\n * application serves a user, so it belongs in a secure-development statement\n * and must never appear in a statement about the contracted service.\n */\n [EngineCapability.AI_CODING_AGENT]: [EngineCapabilitySurface.AUTHORING_COMPANION],\n /**\n * RUNTIME ONLY. Embeddings are produced for `.ragSource()` fields as the\n * application writes rows — a runtime feature over customer content. The\n * companion has no embeddings consumer today; the only companion-side mention\n * is a test asserting how an ABSENT capability is reported.\n */\n [EngineCapability.AI_EMBEDDINGS]: RUNTIME_ONLY,\n /** RUNTIME ONLY. Extraction runs over content an application's users supply. */\n [EngineCapability.AI_DOCUMENT_EXTRACTION]: RUNTIME_ONLY,\n\n /*\n * The two observability sinks are BOTH, because what they observe happens on\n * both surfaces. The companion binds them itself: its container comments that\n * the instrumentation \"must be installed in any runtime that binds\n * LLM_OBSERVABILITY (this companion …)\", and its startup initializes for the\n * LLM_OBSERVABILITY / OBSERVABILITY_TELEMETRY selection.\n */\n [EngineCapability.LLM_OBSERVABILITY]: BOTH_SURFACES,\n [EngineCapability.OBSERVABILITY_TELEMETRY]: BOTH_SURFACES,\n\n /*\n * Everything below is RUNTIME ONLY: each is an engine flow of the deployed\n * application, reached while it serves a user, and none has a companion\n * consumer.\n */\n [EngineCapability.ORGANIZATIONS]: RUNTIME_ONLY,\n [EngineCapability.BILLING]: RUNTIME_ONLY,\n [EngineCapability.MULTI_LANGUAGE]: RUNTIME_ONLY,\n [EngineCapability.COMPLIANCE_AUDIT_TRAIL]: RUNTIME_ONLY,\n [EngineCapability.EMAIL_TRANSACTIONAL]: RUNTIME_ONLY,\n [EngineCapability.EMAIL_MARKETING]: RUNTIME_ONLY,\n [EngineCapability.SMS]: RUNTIME_ONLY,\n [EngineCapability.FRONTEND_ERROR_MONITORING]: RUNTIME_ONLY,\n [EngineCapability.FRONTEND_PRODUCT_ANALYTICS]: RUNTIME_ONLY,\n};\n\n/**\n * The surfaces a capability may be reached on.\n *\n * Returns the declared set; never empty, because a capability nothing reaches\n * on either surface would have no reason to exist in the vocabulary.\n */\nexport function getEngineCapabilitySurfaces(capability: EngineCapability): readonly EngineCapabilitySurface[] {\n return ENGINE_CAPABILITY_SURFACES[capability];\n}\n\n/**\n * Does this capability reach the DEPLOYED application serving its users?\n *\n * The predicate a customer-facing compliance statement asks. A capability for\n * which this is `false` processes no data subject's personal data through the\n * contracted service, so a privacy notice, a record of processing or a set of\n * service terms must not describe it as a feature of that service.\n */\nexport function engineCapabilityReachesRuntimeService(capability: EngineCapability): boolean {\n return getEngineCapabilitySurfaces(capability).includes(EngineCapabilitySurface.RUNTIME_SERVICE);\n}\n\n/**\n * Is this capability reached ONLY while the application is being built?\n *\n * Deliberately not the negation of the predicate above: a capability that is\n * BOTH is reached at authoring time too, and a statement about how the software\n * is developed should include it. This names the narrower population — the\n * capabilities that are invisible to the running product — which is the set a\n * runtime-scoped document must exclude and a secure-development document must\n * not.\n */\nexport function engineCapabilityIsAuthoringOnly(capability: EngineCapability): boolean {\n const surfaces = getEngineCapabilitySurfaces(capability);\n return surfaces.includes(EngineCapabilitySurface.AUTHORING_COMPANION) && !surfaces.includes(EngineCapabilitySurface.RUNTIME_SERVICE);\n}\n"]}
1
+ {"version":3,"file":"engine-capability-surface.shared.js","sourceRoot":"","sources":["../../../src/external-providers/engine-capability-surface.shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAN,IAAY,uBAwBX;AAxBD,WAAY,uBAAuB;IACjC;;;;;;;;OAQG;IACH,8DAAmC,CAAA;IACnC;;;;;;;;;;;OAWG;IACH,sEAA2C,CAAA;AAC7C,CAAC,EAxBW,uBAAuB,KAAvB,uBAAuB,QAwBlC;AACD,sEAAsE;AAEtE,uFAAuF;AACvF,MAAM,aAAa,GAAuC;IACxD,uBAAuB,CAAC,eAAe;IACvC,uBAAuB,CAAC,mBAAmB;CAC5C,CAAC;AACF,mFAAmF;AACnF,MAAM,YAAY,GAAuC,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,0BAA0B,GAAiE;IAC/F;;OAEG;IAEH;;;;;OAKG;IACH,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,aAAa;IACxC;;;;;;;OAOG;IACH,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,aAAa;IACrD;;;;;OAKG;IACH,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,CAAC,uBAAuB,CAAC,mBAAmB,CAAC;IACjF;;;;;OAKG;IACH,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,YAAY;IAC9C,gFAAgF;IAChF,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,YAAY;IAEvD;;;;;;OAMG;IACH,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,aAAa;IACnD,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,aAAa;IAEzD;;;;OAIG;IACH,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,YAAY;IAC9C,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY;IACxC,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,YAAY;IAC/C,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE,YAAY;IACvD,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,YAAY;IACpD,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAAE,YAAY;IAChD,2GAA2G;IAC3G,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,YAAY;IAC9C,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,YAAY;IACpC,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,YAAY;IAC1D,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,EAAE,YAAY;CAC5D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAA4B;IACtE,OAAO,0BAA0B,CAAC,UAAU,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,qCAAqC,CAAC,UAA4B;IAChF,OAAO,2BAA2B,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,+BAA+B,CAAC,UAA4B;IAC1E,MAAM,QAAQ,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IACzD,OAAO,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;AACvI,CAAC","sourcesContent":["import { EngineCapability } from './engine-capabilities.shared.schemas';\n\n/**\n * @wildo_source:part:start saas.models.providers.capability-surface facet:layer:shared facet:audience:app-developer\n *\n * WHICH SURFACE of the system reaches an `EngineCapability` — the deployed\n * application serving its users, the development companion building that\n * application, or both.\n *\n * This exists because compliance is not one question. A privacy notice, a\n * record of processing and a processor agreement all describe what the\n * CONTRACTED SERVICE does with a data subject's personal data; a\n * secure-development or supply-chain control describes how the software was\n * BUILT. An application that answers the first honestly — \"my product performs\n * no AI processing of customer content\" — may still have been authored with an\n * AI coding agent, and until this axis existed it had no way to say so: one\n * `engineCapabilities` field answered both questions at once, so declaring the\n * build-time tool silently made the product claim a runtime feature.\n *\n * **A capability may serve BOTH, and that is the common case for the `AI_*`\n * slots.** The axis is therefore a SET, not a choice. What narrows a particular\n * declaration to one surface is the provider SCOPE it is declared in\n * (`companion` versus the runtime scopes) — this map says what the capability\n * CAN serve, the scope says what a given declaration DOES serve.\n */\nexport enum EngineCapabilitySurface {\n /**\n * Reached by the DEPLOYED application while it serves its users.\n *\n * This is the surface every customer-facing compliance statement is about:\n * GDPR Art. 13/14 notices, Art. 30 records, Art. 28 processor terms, EU AI\n * Act Art. 50 transparency, and service terms. If a capability is not on this\n * surface, it processes no data subject's personal data through the\n * contracted service, and a document about that service must not describe it.\n */\n RUNTIME_SERVICE = 'RUNTIME_SERVICE',\n /**\n * Reached by the DEVELOPMENT COMPANION while the application is being built.\n *\n * Operates on the application's own source, specifications and generated\n * artifacts — never on a customer's data. Not exempt from compliance, and\n * saying so is the point of the axis rather than a caveat to it: this is the\n * surface NIST SP 800-53 SA-3/SA-8/SA-11/SA-15 and the SR supply-chain family\n * are about, as are the secure-development and change-management controls of\n * the commercial certification frameworks. It is simply a\n * DIFFERENT set of obligations from the runtime ones, asked of a different\n * artifact.\n */\n AUTHORING_COMPANION = 'AUTHORING_COMPANION',\n}\n/** @wildo_source:part:end saas.models.providers.capability-surface */\n\n/** Both surfaces, named once so the common `AI_*` answer is not retyped per member. */\nconst BOTH_SURFACES: readonly EngineCapabilitySurface[] = [\n EngineCapabilitySurface.RUNTIME_SERVICE,\n EngineCapabilitySurface.AUTHORING_COMPANION,\n];\n/** Runtime only — the answer for every capability the companion does not reach. */\nconst RUNTIME_ONLY: readonly EngineCapabilitySurface[] = [EngineCapabilitySurface.RUNTIME_SERVICE];\n\n/**\n * The DECLARED surfaces of EVERY engine capability. Exhaustive by construction:\n * because this is a `Record<EngineCapability, …>`, adding a member to the\n * `EngineCapability` enum WITHOUT classifying it here is a COMPILE error.\n *\n * That is the whole reason it is a Record rather than a lookup with a default,\n * and it is the same argument `ENGINE_CAPABILITY_RESOLUTION_MODE` makes beside\n * it: a bare \"default to RUNTIME_SERVICE\" would let a future build-time\n * capability silently enter a privacy notice as a product feature, which is\n * exactly the defect this map was created to close.\n *\n * **Every classification below is MEASURED against what reaches the capability\n * today, not against what plausibly might.** A capability whose companion\n * consumer is added later becomes a compile-visible decision at that moment,\n * which is better than a speculative `AUTHORING_COMPANION` nothing serves. A\n * per-host grep of the enum members was tried as the basis for this map and\n * REJECTED — it reports `AI_CODING_AGENT` as unreferenced on every host while\n * that capability is plainly companion-reached, because naming the enum and\n * reaching the capability are different things.\n */\nconst ENGINE_CAPABILITY_SURFACES: Record<EngineCapability, readonly EngineCapabilitySurface[]> = {\n /*\n * The four AI slots split two-and-two, and the split is the reason this map exists.\n */\n\n /**\n * BOTH. An application may expose LLM features to its users, and the companion\n * reaches an LLM for its own work: the meta-workflows structured-generation\n * agent and the playbook judge (`META_WORKFLOWS_PROVIDER_REF`), and the\n * brief-adequacy agent. Neither of those touches customer data.\n */\n [EngineCapability.AI_LLM]: BOTH_SURFACES,\n /**\n * BOTH. The companion's brand step generates and judges a logo through an\n * IMAGE-modality agent; an application may equally offer image generation to\n * its users. `engine-capabilities.shared.schemas.ts` already recorded this\n * topology in prose — \"legitimately served on a DIFFERENT host (the companion\n * reaches image generation; the backend need not)\" — one file before anything\n * could read it.\n */\n [EngineCapability.AI_IMAGE_GENERATION]: BOTH_SURFACES,\n /**\n * AUTHORING ONLY, and this is the member the axis was written for. The coding\n * agent writes the application's SOURCE. It is never reached while the\n * application serves a user, so it belongs in a secure-development statement\n * and must never appear in a statement about the contracted service.\n */\n [EngineCapability.AI_CODING_AGENT]: [EngineCapabilitySurface.AUTHORING_COMPANION],\n /**\n * RUNTIME ONLY. Embeddings are produced for `.ragSource()` fields as the\n * application writes rows — a runtime feature over customer content. The\n * companion has no embeddings consumer today; the only companion-side mention\n * is a test asserting how an ABSENT capability is reported.\n */\n [EngineCapability.AI_EMBEDDINGS]: RUNTIME_ONLY,\n /** RUNTIME ONLY. Extraction runs over content an application's users supply. */\n [EngineCapability.AI_DOCUMENT_EXTRACTION]: RUNTIME_ONLY,\n\n /*\n * The two observability sinks are BOTH, because what they observe happens on\n * both surfaces. The companion binds them itself: its container comments that\n * the instrumentation \"must be installed in any runtime that binds\n * LLM_OBSERVABILITY (this companion …)\", and its startup initializes for the\n * LLM_OBSERVABILITY / OBSERVABILITY_TELEMETRY selection.\n */\n [EngineCapability.LLM_OBSERVABILITY]: BOTH_SURFACES,\n [EngineCapability.OBSERVABILITY_TELEMETRY]: BOTH_SURFACES,\n\n /*\n * Everything below is RUNTIME ONLY: each is an engine flow of the deployed\n * application, reached while it serves a user, and none has a companion\n * consumer.\n */\n [EngineCapability.ORGANIZATIONS]: RUNTIME_ONLY,\n [EngineCapability.BILLING]: RUNTIME_ONLY,\n [EngineCapability.MULTI_LANGUAGE]: RUNTIME_ONLY,\n [EngineCapability.COMPLIANCE_AUDIT_TRAIL]: RUNTIME_ONLY,\n [EngineCapability.EMAIL_TRANSACTIONAL]: RUNTIME_ONLY,\n [EngineCapability.EMAIL_MARKETING]: RUNTIME_ONLY,\n /** RUNTIME ONLY. Mail to the deployed application's organizations; the companion receives none (#1630). */\n [EngineCapability.EMAIL_INBOUND]: RUNTIME_ONLY,\n [EngineCapability.SMS]: RUNTIME_ONLY,\n [EngineCapability.FRONTEND_ERROR_MONITORING]: RUNTIME_ONLY,\n [EngineCapability.FRONTEND_PRODUCT_ANALYTICS]: RUNTIME_ONLY,\n};\n\n/**\n * The surfaces a capability may be reached on.\n *\n * Returns the declared set; never empty, because a capability nothing reaches\n * on either surface would have no reason to exist in the vocabulary.\n */\nexport function getEngineCapabilitySurfaces(capability: EngineCapability): readonly EngineCapabilitySurface[] {\n return ENGINE_CAPABILITY_SURFACES[capability];\n}\n\n/**\n * Does this capability reach the DEPLOYED application serving its users?\n *\n * The predicate a customer-facing compliance statement asks. A capability for\n * which this is `false` processes no data subject's personal data through the\n * contracted service, so a privacy notice, a record of processing or a set of\n * service terms must not describe it as a feature of that service.\n */\nexport function engineCapabilityReachesRuntimeService(capability: EngineCapability): boolean {\n return getEngineCapabilitySurfaces(capability).includes(EngineCapabilitySurface.RUNTIME_SERVICE);\n}\n\n/**\n * Is this capability reached ONLY while the application is being built?\n *\n * Deliberately not the negation of the predicate above: a capability that is\n * BOTH is reached at authoring time too, and a statement about how the software\n * is developed should include it. This names the narrower population — the\n * capabilities that are invisible to the running product — which is the set a\n * runtime-scoped document must exclude and a secure-development document must\n * not.\n */\nexport function engineCapabilityIsAuthoringOnly(capability: EngineCapability): boolean {\n const surfaces = getEngineCapabilitySurfaces(capability);\n return surfaces.includes(EngineCapabilitySurface.AUTHORING_COMPANION) && !surfaces.includes(EngineCapabilitySurface.RUNTIME_SERVICE);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"external-providers.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/external-providers/external-providers.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sCAAsC,EACtC,cAAc,EAEf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAMxE;;;;;;;;GAQG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAehD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG;;;GAGG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG9C,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAM7F;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;iBA2C5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;kBAGvC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
1
+ {"version":3,"file":"external-providers.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/external-providers/external-providers.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sCAAsC,EACtC,cAAc,EAEf,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAMxE;;;;;;;;GAQG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAehD,CAAC;AACH,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qCAAqC,CAAC,CAAC;AAEpG;;;GAGG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG9C,CAAC;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAM7F;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;iBA2C5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AAE5F;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;kBAGvC,CAAC;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-providers.shared.schemas.js","sourceRoot":"","sources":["../../../../src/external-providers/external-providers.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sCAAsC,EACtC,cAAc,EACd,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,oDAAoD;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IAEvB,uCAAuC;IACvC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAElE,oDAAoD;IACpD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAEjE,yCAAyC;IACzC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEtC,4EAA4E;IAC5E,kBAAkB,EAAE,+BAA+B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,MAAM,EAAE,EACV,qCAAqC,CACtC,CAAC;AAGF,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,gCAAgC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAElC,8CAA8C;IAC9C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE9C,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;IAE9D,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAElC,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAE3B,mCAAmC;IACnC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEhD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpD,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,MAAM,EAAE,EACV,iCAAiC,CAClC,CAAC","sourcesContent":["/**\n * External Providers Shared Schemas\n *\n * Provides application-level registry schemas for external providers.\n * OAuth2 configurations are defined per-provider in @wildo-ai/external-connectors-models.\n */\n\nimport {\n ExternalProvider_ExchangeProtocol_Kind,\n OAuth2_Purpose,\n OAuth2_ProviderDefinitionSchema,\n} from \"@wildo-ai/external-connectors-models\";\nimport { z } from \"zod\";\nimport { EngineCapability } from \"./engine-capabilities.shared.schemas\";\n\n// =============================================================================\n// EXTERNAL PROVIDERS REGISTRY\n// =============================================================================\n\n/**\n * External Providers Registry Item\n * Defines what protocols and capabilities a provider supports\n *\n * Note: This is a COMPUTED structure populated from:\n * - BackendProviderModule.providerCapabilities (what provider actually supports)\n * - Materialized provider scope selection (what capabilities are assigned to this provider)\n * - Capability requirements validation\n */\nexport const External_Providers_RegistryItemSchema = z.object({\n /** Reference to the provider (string identifier) */\n providerRef: z.string(),\n\n /** Protocols this provider supports */\n protocols: z.array(z.enum(ExternalProvider_ExchangeProtocol_Kind)),\n\n /** Engine capabilities enabled for this provider */\n engineCapabilities: z.array(z.enum(EngineCapability)).default([]),\n\n /** Does this provider support OAuth2? */\n supportsOAuth2: z.boolean().optional(),\n\n /** Custom OAuth2 configuration (if needed to override provider defaults) */\n customOAuth2Config: OAuth2_ProviderDefinitionSchema.partial().optional(),\n});\nexport type External_Providers_RegistryItem = z.infer<typeof External_Providers_RegistryItemSchema>;\n\n/**\n * External Providers Registry\n * Maps provider references to their configurations\n */\nexport const External_Providers_Registry_Schema = z.record(\n z.string(),\n External_Providers_RegistryItemSchema\n);\nexport type External_Providers_Registry = z.infer<typeof External_Providers_Registry_Schema>;\n\n// =============================================================================\n// OAUTH2 ENABLED PROVIDERS CONFIGURATION\n// =============================================================================\n\n/**\n * OAuth2 Enabled Provider Configuration\n * For configuring OAuth2 providers at the application level\n *\n * Note: OAuth2 protocol definitions are in each provider folder in external-connectors.\n * This schema is for application-level enabling/customization of OAuth2 providers.\n */\nexport const OAuth2EnabledProviderConfigSchema = z.object({\n /** Provider reference (string identifier) */\n provider: z.string(),\n\n /** Is this provider enabled? */\n enabled: z.boolean().default(true),\n\n /** Allowed email domains for this provider */\n allowedDomains: z.array(z.string()).optional(),\n\n /** Purpose: SSO only, API only, or both */\n purpose: z.enum(OAuth2_Purpose).default(OAuth2_Purpose.HYBRID),\n\n /** Custom display name (overrides default) */\n displayName: z.string().optional(),\n\n /** Custom icon URL (overrides default) */\n iconUrl: z.url().optional(),\n\n /** Additional scopes to request */\n additionalScopes: z.array(z.string()).optional(),\n\n /**\n * May an account re-prove who it is through this identity provider (#1441)?\n *\n * When on, an account whose link to this provider is an OIDC link can answer a re-authentication\n * request (adding or removing a sign-in method, or a step-up the policy allows it for) by signing in\n * again at the provider. The request carries `prompt=login`, `max_age=0` and an essential `auth_time`\n * claim; the verified ID token must carry an `auth_time` no older than the request itself, or the\n * proof is refused. So a provider that does not force a fresh sign-in yields an old `auth_time` and is\n * refused, never trusted.\n *\n * OFF by default, and it should be switched on only for a provider that honours those parameters.\n * OpenID Connect Core 1.0 §3.1.2.1 defines `prompt=login` and `max_age`, and §2 makes `auth_time`\n * REQUIRED when `max_age` is sent, but providers differ: Google's documentation lists no `login` value\n * for `prompt` and returns `auth_time` only when that claim is requested and enabled in its security\n * settings. An account on a provider that cannot re-prove it is not asked for a proof it cannot give.\n * spec-cite: OpenID Connect Core 1.0 §3.1.2.1 and §2, fetched 2026-09-21 from\n * https://openid.net/specs/openid-connect-core-1_0.html\n * spec-cite: Google Identity, OpenID Connect documentation (`prompt` values, `auth_time`), fetched\n * 2026-09-21 from https://developers.google.com/identity/openid-connect/openid-connect\n */\n reAuthenticationEnabled: z.boolean().default(false),\n});\nexport type OAuth2EnabledProviderConfig = z.infer<typeof OAuth2EnabledProviderConfigSchema>;\n\n/**\n * OAuth2 Providers Configuration Map\n * Application-level configuration for all enabled OAuth2 providers\n */\nexport const OAuth2ProvidersConfigSchema = z.record(\n z.string(),\n OAuth2EnabledProviderConfigSchema\n);\nexport type OAuth2ProvidersConfig = z.infer<typeof OAuth2ProvidersConfigSchema>;\n"]}
1
+ {"version":3,"file":"external-providers.shared.schemas.js","sourceRoot":"","sources":["../../../src/external-providers/external-providers.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,sCAAsC,EACtC,cAAc,EACd,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAExE,gFAAgF;AAChF,8BAA8B;AAC9B,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,oDAAoD;IACpD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IAEvB,uCAAuC;IACvC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAElE,oDAAoD;IACpD,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAEjE,yCAAyC;IACzC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEtC,4EAA4E;IAC5E,kBAAkB,EAAE,+BAA+B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACzE,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CACxD,CAAC,CAAC,MAAM,EAAE,EACV,qCAAqC,CACtC,CAAC;AAGF,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,6CAA6C;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IAEpB,gCAAgC;IAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAElC,8CAA8C;IAC9C,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAE9C,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC;IAE9D,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAElC,0CAA0C;IAC1C,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAE3B,mCAAmC;IACnC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEhD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACpD,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,MAAM,EAAE,EACV,iCAAiC,CAClC,CAAC","sourcesContent":["/**\n * External Providers Shared Schemas\n *\n * Provides application-level registry schemas for external providers.\n * OAuth2 configurations are defined per-provider in @wildo-ai/external-connectors-models.\n */\n\nimport {\n ExternalProvider_ExchangeProtocol_Kind,\n OAuth2_Purpose,\n OAuth2_ProviderDefinitionSchema,\n} from \"@wildo-ai/external-connectors-models\";\nimport { z } from \"zod\";\nimport { EngineCapability } from \"./engine-capabilities.shared.schemas\";\n\n// =============================================================================\n// EXTERNAL PROVIDERS REGISTRY\n// =============================================================================\n\n/**\n * External Providers Registry Item\n * Defines what protocols and capabilities a provider supports\n *\n * Note: This is a COMPUTED structure populated from:\n * - BackendProviderModule.providerCapabilities (what provider actually supports)\n * - Materialized provider scope selection (what capabilities are assigned to this provider)\n * - Capability requirements validation\n */\nexport const External_Providers_RegistryItemSchema = z.object({\n /** Reference to the provider (string identifier) */\n providerRef: z.string(),\n\n /** Protocols this provider supports */\n protocols: z.array(z.enum(ExternalProvider_ExchangeProtocol_Kind)),\n\n /** Engine capabilities enabled for this provider */\n engineCapabilities: z.array(z.enum(EngineCapability)).default([]),\n\n /** Does this provider support OAuth2? */\n supportsOAuth2: z.boolean().optional(),\n\n /** Custom OAuth2 configuration (if needed to override provider defaults) */\n customOAuth2Config: OAuth2_ProviderDefinitionSchema.partial().optional(),\n});\nexport type External_Providers_RegistryItem = z.infer<typeof External_Providers_RegistryItemSchema>;\n\n/**\n * External Providers Registry\n * Maps provider references to their configurations\n */\nexport const External_Providers_Registry_Schema = z.record(\n z.string(),\n External_Providers_RegistryItemSchema\n);\nexport type External_Providers_Registry = z.infer<typeof External_Providers_Registry_Schema>;\n\n// =============================================================================\n// OAUTH2 ENABLED PROVIDERS CONFIGURATION\n// =============================================================================\n\n/**\n * OAuth2 Enabled Provider Configuration\n * For configuring OAuth2 providers at the application level\n *\n * Note: OAuth2 protocol definitions are in each provider folder in external-connectors.\n * This schema is for application-level enabling/customization of OAuth2 providers.\n */\nexport const OAuth2EnabledProviderConfigSchema = z.object({\n /** Provider reference (string identifier) */\n provider: z.string(),\n\n /** Is this provider enabled? */\n enabled: z.boolean().default(true),\n\n /** Allowed email domains for this provider */\n allowedDomains: z.array(z.string()).optional(),\n\n /** Purpose: SSO only, API only, or both */\n purpose: z.enum(OAuth2_Purpose).default(OAuth2_Purpose.HYBRID),\n\n /** Custom display name (overrides default) */\n displayName: z.string().optional(),\n\n /** Custom icon URL (overrides default) */\n iconUrl: z.url().optional(),\n\n /** Additional scopes to request */\n additionalScopes: z.array(z.string()).optional(),\n\n /**\n * May an account re-prove who it is through this identity provider (#1441)?\n *\n * When on, an account whose link to this provider is an OIDC link can answer a re-authentication\n * request (adding or removing a sign-in method, or a step-up the policy allows it for) by signing in\n * again at the provider. The request carries `prompt=login`, `max_age=0` and an essential `auth_time`\n * claim; the verified ID token must carry an `auth_time` no older than the request itself, or the\n * proof is refused. So a provider that does not force a fresh sign-in yields an old `auth_time` and is\n * refused, never trusted.\n *\n * OFF by default, and it should be switched on only for a provider that honours those parameters.\n * OpenID Connect Core 1.0 §3.1.2.1 defines `prompt=login` and `max_age`, and §2 makes `auth_time`\n * REQUIRED when `max_age` is sent, but providers differ: Google's documentation lists no `login` value\n * for `prompt` and returns `auth_time` only when that claim is requested and enabled in its security\n * settings. An account on a provider that cannot re-prove it is not asked for a proof it cannot give.\n * spec-cite: OpenID Connect Core 1.0 §3.1.2.1 and §2, fetched 2026-09-21 from\n * https://openid.net/specs/openid-connect-core-1_0.html\n * spec-cite: Google Identity, OpenID Connect documentation (`prompt` values, `auth_time`), fetched\n * 2026-09-21 from https://developers.google.com/identity/openid-connect/openid-connect\n */\n reAuthenticationEnabled: z.boolean().default(false),\n});\nexport type OAuth2EnabledProviderConfig = z.infer<typeof OAuth2EnabledProviderConfigSchema>;\n\n/**\n * OAuth2 Providers Configuration Map\n * Application-level configuration for all enabled OAuth2 providers\n */\nexport const OAuth2ProvidersConfigSchema = z.record(\n z.string(),\n OAuth2EnabledProviderConfigSchema\n);\nexport type OAuth2ProvidersConfig = z.infer<typeof OAuth2ProvidersConfigSchema>;\n"]}