@wildo-ai/saas-models 1.1.2 → 1.1.4

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 (645) hide show
  1. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  2. package/dist/esm/_inspect.d.ts.map +1 -1
  3. package/dist/esm/applications/application-metadata.shared.resources-config.schemas.d.ts.map +1 -1
  4. package/dist/esm/applications/application-subject.shared.schemas.d.ts.map +1 -1
  5. package/dist/esm/applications/application-versions.shared.resources-config.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/applications-context.schemas.d.ts +14 -10
  7. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  8. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  9. package/dist/esm/applications/applications.shared.resources-config.schemas.js +4 -3
  10. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  11. package/dist/esm/applications/applications.shared.schemas.d.ts.map +1 -1
  12. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  13. package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
  14. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +0 -4
  15. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
  16. package/dist/esm/billing/billing-configuration.shared.schemas.js +59 -17
  17. package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
  18. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +77 -21
  19. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  20. package/dist/esm/billing/billing-enums.shared.schemas.js +85 -23
  21. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  22. package/dist/esm/billing/billing-types.shared.schemas.d.ts +4 -3
  23. package/dist/esm/billing/billing-types.shared.schemas.d.ts.map +1 -1
  24. package/dist/esm/billing/billing-types.shared.schemas.js +45 -0
  25. package/dist/esm/billing/billing-types.shared.schemas.js.map +1 -1
  26. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
  27. package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
  28. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
  29. package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
  30. package/dist/esm/billing/price.shared.resources-config.schemas.d.ts.map +1 -1
  31. package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
  32. package/dist/esm/billing/price.shared.schemas.js +7 -1
  33. package/dist/esm/billing/price.shared.schemas.js.map +1 -1
  34. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  35. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +52 -11
  36. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  37. package/dist/esm/billing/product-definition.shared.schemas.d.ts +2 -2
  38. package/dist/esm/billing/product-definition.shared.schemas.d.ts.map +1 -1
  39. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +2 -2
  40. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts.map +1 -1
  41. package/dist/esm/billing/product.shared.schemas.d.ts +2 -2
  42. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  43. package/dist/esm/billing/product.shared.schemas.js +7 -3
  44. package/dist/esm/billing/product.shared.schemas.js.map +1 -1
  45. package/dist/esm/billing/promotions.shared.resources-config.schemas.d.ts.map +1 -1
  46. package/dist/esm/billing/promotions.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/billing/referral.shared.resources-config.schemas.d.ts.map +1 -1
  48. package/dist/esm/billing/referral.shared.schemas.d.ts.map +1 -1
  49. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +1 -1
  50. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts.map +1 -1
  51. package/dist/esm/billing/subscription.shared.resources-config.schemas.js +15 -1
  52. package/dist/esm/billing/subscription.shared.resources-config.schemas.js.map +1 -1
  53. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  54. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
  55. package/dist/esm/billing/usage-record.shared.schemas.d.ts +7 -3
  56. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  57. package/dist/esm/billing/usage-record.shared.schemas.js +22 -3
  58. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  59. package/dist/esm/charts/aggregation-query.shared.schemas.d.ts.map +1 -1
  60. package/dist/esm/charts/chart-definition-builder.shared.d.ts.map +1 -1
  61. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +71 -2
  62. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  63. package/dist/esm/companion/provider-discovery.shared.schemas.js +20 -1
  64. package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
  65. package/dist/esm/companion/shared-library-companion.shared.definitions.d.ts.map +1 -1
  66. package/dist/esm/companion-exports.d.ts.map +1 -1
  67. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +85 -0
  68. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -0
  69. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +157 -0
  70. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -0
  71. package/dist/esm/compliance/audit-trails/audit-log-sink.shared.schemas.d.ts.map +1 -1
  72. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  73. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +23 -0
  74. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  75. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +56 -0
  76. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  77. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +658 -26
  78. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  79. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +873 -27
  80. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  81. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  82. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +104 -3
  83. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  84. package/dist/esm/compliance/documents/governed-documents.shared.schemas.d.ts.map +1 -1
  85. package/dist/esm/compliance/privacy/ai-use-posture.shared.schemas.d.ts.map +1 -1
  86. package/dist/esm/compliance/privacy/client-storage.shared.schemas.d.ts.map +1 -1
  87. package/dist/esm/compliance/privacy/data-retention.shared.schemas.d.ts.map +1 -1
  88. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
  89. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
  90. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts +54 -26
  91. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -1
  92. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js +132 -3
  93. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -1
  94. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  95. package/dist/esm/compliance/privacy/personal-data-category.shared.schemas.d.ts.map +1 -1
  96. package/dist/esm/compliance/privacy/personal-data-declaration.shared.utils.d.ts.map +1 -1
  97. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts +17 -0
  98. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  99. package/dist/esm/compliance/privacy/privacy.shared.schemas.js +27 -4
  100. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  101. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts +82 -29
  102. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
  103. package/dist/esm/compliance/privacy/redaction.shared.schemas.js +95 -29
  104. package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
  105. package/dist/esm/compliance/privacy/retention-schedule.shared.schemas.d.ts.map +1 -1
  106. package/dist/esm/compliance/privacy/subject-erasure.shared.schemas.d.ts.map +1 -1
  107. package/dist/esm/compliance/privacy/subject-export-render.shared.utils.d.ts.map +1 -1
  108. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
  109. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js +12 -5
  110. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
  111. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts +21 -0
  112. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  113. package/dist/esm/config/analytics-value-moments.shared.schemas.js +20 -0
  114. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  115. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +7 -5
  116. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  117. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts +8 -1
  118. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  119. package/dist/esm/config/auth-config-resolution.shared.utils.js +29 -0
  120. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  121. package/dist/esm/config/brand-assets.shared.schemas.d.ts.map +1 -1
  122. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +95 -17
  123. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  124. package/dist/esm/config/entity-identity-config.shared.schemas.js +86 -8
  125. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  126. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +26 -26
  127. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts.map +1 -1
  128. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts +139 -3
  129. package/dist/esm/config/frontend/chart-registration-alignment.shared.d.ts.map +1 -1
  130. package/dist/esm/config/frontend/chart-registration-alignment.shared.js +151 -4
  131. package/dist/esm/config/frontend/chart-registration-alignment.shared.js.map +1 -1
  132. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  133. package/dist/esm/config/frontend/onboarding.shared.schemas.d.ts.map +1 -1
  134. package/dist/esm/config/registration-acquisition-policy.shared.utils.d.ts.map +1 -1
  135. package/dist/esm/config-authoring.entry.d.ts.map +1 -1
  136. package/dist/esm/crdt/crdt-merge.shared.utils.d.ts.map +1 -1
  137. package/dist/esm/data-seeding/data-seeding-config.shared.schemas.d.ts.map +1 -1
  138. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +34 -0
  139. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  140. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +34 -0
  141. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  142. package/dist/esm/errors/errors.shared.definitions.d.ts.map +1 -1
  143. package/dist/esm/errors/errors.shared.schemas.d.ts.map +1 -1
  144. package/dist/esm/errors/errors.shared.utils.d.ts.map +1 -1
  145. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +45 -12
  146. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  147. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  148. package/dist/esm/external-data.exports.d.ts.map +1 -1
  149. package/dist/esm/external-providers/compose-provider-registry.shared.d.ts.map +1 -1
  150. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +110 -58
  151. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  152. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +183 -15
  153. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  154. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts +15 -3
  155. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  156. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +32 -5
  157. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  158. package/dist/esm/external-providers/external-providers.shared.schemas.d.ts.map +1 -1
  159. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +87 -7
  160. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  161. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +59 -0
  162. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -0
  163. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +61 -0
  164. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -0
  165. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +97 -0
  166. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -0
  167. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +41 -0
  168. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -0
  169. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +205 -2
  170. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  171. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +85 -1
  172. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  173. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts +175 -0
  174. package/dist/esm/external-providers/frontend-provider-public-config.shared.d.ts.map +1 -0
  175. package/dist/esm/external-providers/frontend-provider-public-config.shared.js +207 -0
  176. package/dist/esm/external-providers/frontend-provider-public-config.shared.js.map +1 -0
  177. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +5 -28
  178. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  179. package/dist/esm/external-providers/provider-capability.shared.schemas.js +4 -2
  180. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  181. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +28 -8
  182. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  183. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +15 -4
  184. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  185. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts +165 -0
  186. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.d.ts.map +1 -0
  187. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js +39 -0
  188. package/dist/esm/external-providers/provider-frontend-component-contract.shared.types.js.map +1 -0
  189. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +338 -0
  190. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -0
  191. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +332 -0
  192. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -0
  193. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +178 -9
  194. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  195. package/dist/esm/external-providers/provider-metadata.shared.schemas.js +181 -9
  196. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  197. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +7 -5
  198. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
  199. package/dist/esm/external-providers/provider-protocol.shared.schemas.js +7 -5
  200. package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
  201. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts +40 -0
  202. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -0
  203. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js +80 -0
  204. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -0
  205. package/dist/esm/external-providers/provider-usage-pricing.shared.schemas.d.ts.map +1 -1
  206. package/dist/esm/features/application-features.shared.resources-config.schemas.d.ts.map +1 -1
  207. package/dist/esm/features/application-features.shared.resources-config.schemas.js +12 -0
  208. package/dist/esm/features/application-features.shared.resources-config.schemas.js.map +1 -1
  209. package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
  210. package/dist/esm/features/core-feature-definitions.shared.js +7 -1
  211. package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
  212. package/dist/esm/features/feature-builders.shared.d.ts +32 -0
  213. package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
  214. package/dist/esm/features/feature-builders.shared.js +32 -0
  215. package/dist/esm/features/feature-builders.shared.js.map +1 -1
  216. package/dist/esm/features/feature-definition.shared.schemas.d.ts.map +1 -1
  217. package/dist/esm/features/feature-registry.shared.d.ts.map +1 -1
  218. package/dist/esm/features/feature-resolution.shared.schemas.d.ts.map +1 -1
  219. package/dist/esm/features/scope-features.shared.schemas.d.ts.map +1 -1
  220. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  221. package/dist/esm/features/user-features.shared.resources-config.schemas.js +12 -0
  222. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  223. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts +73 -0
  224. package/dist/esm/files/file-remote-reference-link.shared.schemas.d.ts.map +1 -0
  225. package/dist/esm/files/file-remote-reference-link.shared.schemas.js +62 -0
  226. package/dist/esm/files/file-remote-reference-link.shared.schemas.js.map +1 -0
  227. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts +14 -2
  228. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -1
  229. package/dist/esm/files/file-upload-grant.shared.schemas.js +44 -5
  230. package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -1
  231. package/dist/esm/files/files.shared.resources-config.schemas.d.ts.map +1 -1
  232. package/dist/esm/files/files.shared.schemas.d.ts +15 -8
  233. package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
  234. package/dist/esm/files/files.shared.schemas.js +15 -8
  235. package/dist/esm/files/files.shared.schemas.js.map +1 -1
  236. package/dist/esm/files/files.shared.utils.d.ts.map +1 -1
  237. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  238. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
  239. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
  240. package/dist/esm/flows-actors/a2a-token-budget-state.shared.schemas.d.ts.map +1 -1
  241. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  242. package/dist/esm/flows-actors/actors.shared.schemas.js +3 -2
  243. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  244. package/dist/esm/flows-actors/agent-traceability.shared.schemas.d.ts.map +1 -1
  245. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +54 -5
  246. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  247. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  248. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts.map +1 -1
  249. package/dist/esm/flows-actors/apps-blueprint/artifacts.apps-blueprint.shared.schemas.d.ts.map +1 -1
  250. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +0 -3
  251. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  252. package/dist/esm/flows-actors/deliberation.shared.schemas.js +0 -5
  253. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  254. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
  255. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +14 -0
  256. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  257. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +40 -3
  258. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  259. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
  260. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
  261. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +19 -0
  262. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  263. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +33 -0
  264. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  265. package/dist/esm/flows-actors/flows-actors.configuration.shared.schemas.d.ts.map +1 -1
  266. package/dist/esm/flows-actors/flows-actors.frontend.shared.schemas.d.ts.map +1 -1
  267. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts +14 -9
  268. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
  269. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +14 -9
  270. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
  271. package/dist/esm/flows-actors/flows-actors.system.shared.definitions.d.ts.map +1 -1
  272. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  273. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js +3 -2
  274. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  275. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  276. package/dist/esm/flows-actors/flows.shared.schemas.js +3 -2
  277. package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
  278. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts +130 -0
  279. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -0
  280. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js +153 -0
  281. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -0
  282. package/dist/esm/flows-actors/meta-workflows/actions.meta-workflows.shared.schemas.d.ts.map +1 -1
  283. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts +0 -3
  284. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts.map +1 -1
  285. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js +1 -4
  286. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js.map +1 -1
  287. package/dist/esm/flows-actors/meta-workflows/catalog.meta-workflows.shared.schemas.d.ts.map +1 -1
  288. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts +0 -16
  289. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
  290. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js +1 -17
  291. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
  292. package/dist/esm/flows-actors/meta-workflows/continuity-identifiers.meta-workflows.shared.schemas.d.ts.map +1 -1
  293. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +3 -3
  294. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts.map +1 -1
  295. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js +3 -3
  296. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
  297. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts +2 -8
  298. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts.map +1 -1
  299. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js +4 -15
  300. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js.map +1 -1
  301. package/dist/esm/flows-actors/meta-workflows/portable-primitives.meta-workflows.shared.schemas.d.ts.map +1 -1
  302. package/dist/esm/flows-actors/prompt-ir.shared.schemas.d.ts.map +1 -1
  303. package/dist/esm/flows-actors/task-continuity-binding.actors.shared.schemas.d.ts.map +1 -1
  304. package/dist/esm/flows-actors/tasks.actors.shared.schemas.d.ts.map +1 -1
  305. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts +112 -0
  306. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.d.ts.map +1 -0
  307. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js +113 -0
  308. package/dist/esm/frontend-definitions/settings-destination-ref.definitions.js.map +1 -0
  309. package/dist/esm/guidance/guidance-flow.shared.schemas.d.ts.map +1 -1
  310. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
  311. package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
  312. package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
  313. package/dist/esm/guidance/guidance-state.shared.utils.js +1 -0
  314. package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
  315. package/dist/esm/guidance/lifecycle-config.shared.schemas.d.ts.map +1 -1
  316. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
  317. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  318. package/dist/esm/guidance/milestone-builders.shared.d.ts.map +1 -1
  319. package/dist/esm/guidance/milestone-definition.shared.schemas.d.ts.map +1 -1
  320. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts +8 -0
  321. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  322. package/dist/esm/guidance/progression-state.shared.schemas.d.ts +46 -0
  323. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  324. package/dist/esm/guidance/progression-state.shared.schemas.js +49 -0
  325. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  326. package/dist/esm/http-api-binding/http-api-binding-id.shared.utils.d.ts.map +1 -1
  327. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +320 -50
  328. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  329. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +137 -36
  330. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  331. package/dist/esm/i18n/labelling.dto.shared.schemas.d.ts.map +1 -1
  332. package/dist/esm/index.d.ts +15 -0
  333. package/dist/esm/index.d.ts.map +1 -1
  334. package/dist/esm/index.js +15 -0
  335. package/dist/esm/index.js.map +1 -1
  336. package/dist/esm/meta-workflows.exports.d.ts.map +1 -1
  337. package/dist/esm/monitoring/monitoring.shared.schemas.d.ts.map +1 -1
  338. package/dist/esm/notifications/email/email-context.shared.schemas.d.ts.map +1 -1
  339. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +11 -2
  340. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  341. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  342. package/dist/esm/notifications/email/email-template.shared.enums.d.ts +15 -0
  343. package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
  344. package/dist/esm/notifications/email/email-template.shared.enums.js +15 -0
  345. package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
  346. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -1
  347. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  348. package/dist/esm/notifications/m2m/m2m-webhook-delivery-log.shared.schemas.d.ts.map +1 -1
  349. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +1 -0
  350. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  351. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +19 -0
  352. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  353. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +30 -0
  354. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
  355. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +65 -1
  356. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
  357. package/dist/esm/notifications/notification-badges.core.definitions.d.ts +6 -4
  358. package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
  359. package/dist/esm/notifications/notification-badges.core.definitions.js +6 -4
  360. package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
  361. package/dist/esm/notifications/notification-badges.schemas.d.ts +167 -5
  362. package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
  363. package/dist/esm/notifications/notification-badges.schemas.js +191 -6
  364. package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
  365. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  366. package/dist/esm/notifications/notifications.shared.schemas.d.ts +158 -0
  367. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  368. package/dist/esm/notifications/notifications.shared.schemas.js +200 -1
  369. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  370. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.d.ts.map +1 -1
  371. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js +13 -0
  372. package/dist/esm/organizations/organization-features.shared.resources-config.schemas.js.map +1 -1
  373. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  374. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  375. package/dist/esm/organizations/organization-notifications.shared.resources-config.schemas.d.ts.map +1 -1
  376. package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
  377. package/dist/esm/organizations/organization-notifications.shared.schemas.js +22 -1
  378. package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
  379. package/dist/esm/organizations/organization-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  380. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts +26 -0
  381. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  382. package/dist/esm/organizations/organization-preferences.shared.schemas.js +25 -0
  383. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  384. package/dist/esm/organizations/organization-profile.shared.resources-config.schemas.d.ts.map +1 -1
  385. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +25 -0
  386. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  387. package/dist/esm/organizations/organization-profile.shared.schemas.js +42 -17
  388. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  389. package/dist/esm/organizations/organization-unit-inheritance.shared.d.ts.map +1 -1
  390. package/dist/esm/organizations/organization-unit-members.shared.resources-config.schemas.d.ts.map +1 -1
  391. package/dist/esm/organizations/organization-unit-members.shared.schemas.d.ts.map +1 -1
  392. package/dist/esm/organizations/organization-unit-narrowing-decision.shared.d.ts.map +1 -1
  393. package/dist/esm/organizations/organization-unit-narrowing.example.d.ts.map +1 -1
  394. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts +3 -2
  395. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  396. package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -2
  397. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  398. package/dist/esm/organizations/organization-units.shared.resources-config.schemas.d.ts.map +1 -1
  399. package/dist/esm/organizations/organization-units.shared.schemas.d.ts.map +1 -1
  400. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  401. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +18 -3
  402. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  403. package/dist/esm/organizations/organizations.shared.schemas.d.ts.map +1 -1
  404. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts +13 -0
  405. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.d.ts.map +1 -1
  406. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js +13 -0
  407. package/dist/esm/organizations/tenant-teardown-config.shared.schemas.js.map +1 -1
  408. package/dist/esm/provider-registration-runtime.exports.d.ts.map +1 -1
  409. package/dist/esm/public-runtime/index.d.ts +71 -2
  410. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  411. package/dist/esm/public-runtime/index.js +62 -1
  412. package/dist/esm/public-runtime/index.js.map +1 -1
  413. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts +6 -5
  414. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  415. package/dist/esm/queue/jobs.shared.resources-config.schemas.js +6 -5
  416. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  417. package/dist/esm/queue/jobs.shared.schemas.d.ts +16 -3
  418. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  419. package/dist/esm/queue/jobs.shared.schemas.js +16 -3
  420. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  421. package/dist/esm/queue/jobs.shared.utils.d.ts.map +1 -1
  422. package/dist/esm/queue/queues.shared.schemas.d.ts.map +1 -1
  423. package/dist/esm/queue/queues.shared.utils.d.ts.map +1 -1
  424. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts +137 -0
  425. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -0
  426. package/dist/esm/requests/manual-controllers-routes-documentation.js +1255 -0
  427. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -0
  428. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +114 -0
  429. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  430. package/dist/esm/requests/manual-controllers-routes-urls.js +129 -0
  431. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  432. package/dist/esm/requests/rate-limits.shared.schemas.d.ts +11 -1
  433. package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
  434. package/dist/esm/requests/rate-limits.shared.schemas.js +11 -1
  435. package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
  436. package/dist/esm/requests/websocket.shared.schemas.d.ts +28 -3
  437. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  438. package/dist/esm/requests/websocket.shared.schemas.js +52 -0
  439. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  440. package/dist/esm/resources/child-operations.shared.schemas.d.ts.map +1 -1
  441. package/dist/esm/resources/context-policy.shared.schemas.d.ts.map +1 -1
  442. package/dist/esm/resources/relationship-display.shared.schemas.d.ts.map +1 -1
  443. package/dist/esm/resources/resources-config.shared.factory.d.ts +1 -0
  444. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  445. package/dist/esm/resources/resources-config.shared.factory.js +203 -25
  446. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  447. package/dist/esm/resources/resources-config.shared.schemas.d.ts +297 -68
  448. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  449. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  450. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  451. package/dist/esm/resources/resources-registry.shared.core.definitions.js +151 -5
  452. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  453. package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
  454. package/dist/esm/resources/resources-relationships.shared.factory.js +15 -0
  455. package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
  456. package/dist/esm/resources/resources-serialization.shared.schemas.d.ts.map +1 -1
  457. package/dist/esm/resources/resources.shared.core.definitions.d.ts +54 -0
  458. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  459. package/dist/esm/resources/resources.shared.core.definitions.js +69 -0
  460. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  461. package/dist/esm/resources/resources.shared.schemas.d.ts +11 -2
  462. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  463. package/dist/esm/resources/resources.shared.schemas.js +34 -3
  464. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  465. package/dist/esm/resources/resources.shared.utils.d.ts +32 -7
  466. package/dist/esm/resources/resources.shared.utils.d.ts.map +1 -1
  467. package/dist/esm/resources/resources.shared.utils.js +32 -7
  468. package/dist/esm/resources/resources.shared.utils.js.map +1 -1
  469. package/dist/esm/resources/utils/collection-export.shared.utils.d.ts.map +1 -1
  470. package/dist/esm/resources/utils/composition-cascade-deletability.validation.d.ts.map +1 -1
  471. package/dist/esm/resources/utils/composition-seedability.validation.d.ts.map +1 -1
  472. package/dist/esm/resources/utils/context-addressed-composition-singleton.shared.utils.d.ts.map +1 -1
  473. package/dist/esm/resources/utils/duplicate-relationship-registration.validation.d.ts.map +1 -1
  474. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts +51 -0
  475. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -0
  476. package/dist/esm/resources/utils/field-value-disclosure.utils.js +53 -0
  477. package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -0
  478. package/dist/esm/resources/utils/persistence-adapter-discrimination.shared.utils.d.ts.map +1 -1
  479. package/dist/esm/resources/utils/repository-dto-builder.utils.d.ts.map +1 -1
  480. package/dist/esm/resources/utils/required-fk-fillability.validation.d.ts.map +1 -1
  481. package/dist/esm/resources/utils/resource-operation-type-guards.utils.d.ts.map +1 -1
  482. package/dist/esm/resources/utils/resource-polymorphism.factory.d.ts.map +1 -1
  483. package/dist/esm/resources/utils/resource-polymorphism.relationships.d.ts.map +1 -1
  484. package/dist/esm/resources/utils/resource-polymorphism.schemas.d.ts.map +1 -1
  485. package/dist/esm/resources/utils/resource-polymorphism.utils.d.ts.map +1 -1
  486. package/dist/esm/resources/utils/resource-subtree.utils.d.ts.map +1 -1
  487. package/dist/esm/resources/utils/resources-config-context-needs.utils.d.ts.map +1 -1
  488. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  489. package/dist/esm/resources/utils/resources-config-operations.path.utils.d.ts.map +1 -1
  490. package/dist/esm/resources/utils/resources-config-operations.urls-builder.utils.d.ts.map +1 -1
  491. package/dist/esm/resources/utils/resources-config-operations.utils.d.ts.map +1 -1
  492. package/dist/esm/resources/utils/resources-serialization.utils.d.ts.map +1 -1
  493. package/dist/esm/resources/utils/resources-summary.utils.d.ts +16 -2
  494. package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
  495. package/dist/esm/resources/utils/resources-summary.utils.js +19 -5
  496. package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
  497. package/dist/esm/resources/utils/schema-family-builder.utils.d.ts.map +1 -1
  498. package/dist/esm/resources/utils/schema-type-inference.utils.d.ts.map +1 -1
  499. package/dist/esm/resources/utils/schema-type-utils.d.ts.map +1 -1
  500. package/dist/esm/resources/utils/schema-variant-resolver.utils.d.ts.map +1 -1
  501. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  502. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +11 -0
  503. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  504. package/dist/esm/resources/utils/templatable-file-fields.shared.utils.d.ts.map +1 -1
  505. package/dist/esm/runtime/domain-module.shared.definitions.d.ts +25 -0
  506. package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
  507. package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
  508. package/dist/esm/runtime/execution-context.shared.schemas.d.ts.map +1 -1
  509. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
  510. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  511. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +38 -0
  512. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  513. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
  514. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  515. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +38 -0
  516. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  517. package/dist/esm/security/api-keys/api-keys.shared.schemas.d.ts.map +1 -1
  518. package/dist/esm/security/authentications/anonymous-session/anonymous-session.shared.contract.d.ts.map +1 -1
  519. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +5 -12
  520. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  521. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +0 -1
  522. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  523. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts +84 -5
  524. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  525. package/dist/esm/security/authentications/authentication.shared.schemas.js +83 -3
  526. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  527. package/dist/esm/security/authentications/authentication.shared.utils.d.ts.map +1 -1
  528. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  529. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  530. package/dist/esm/security/authentications/cross-frontend-handoff.shared.dto.schemas.d.ts.map +1 -1
  531. package/dist/esm/security/authentications/password-reset.shared.dto.schemas.d.ts.map +1 -1
  532. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts +1 -0
  533. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  534. package/dist/esm/security/authentications/registration.shared.dto.schemas.js +11 -0
  535. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  536. package/dist/esm/security/authentications/scim/scim-organization-unit-mapping.shared.d.ts.map +1 -1
  537. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.resources-config.schemas.d.ts.map +1 -1
  538. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +15 -0
  539. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  540. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +21 -4
  541. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  542. package/dist/esm/security/authentications/scim/scim-tokens.shared.resources-config.schemas.d.ts.map +1 -1
  543. package/dist/esm/security/authentications/scim/scim-tokens.shared.schemas.d.ts.map +1 -1
  544. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.resources-config.schemas.d.ts.map +1 -1
  545. package/dist/esm/security/authentications/siem/siem-delivery-dlq.shared.schemas.d.ts.map +1 -1
  546. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -1
  547. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -1
  548. package/dist/esm/security/authentications/siem/siem-export-config.shared.resources-config.schemas.d.ts.map +1 -1
  549. package/dist/esm/security/authentications/siem/siem-export-config.shared.schemas.d.ts.map +1 -1
  550. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts +61 -1
  551. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  552. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +238 -6
  553. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  554. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts +37 -27
  555. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  556. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +134 -12
  557. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  558. package/dist/esm/security/authentications/sso/sso-connection.shared.resources-config.schemas.d.ts.map +1 -1
  559. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +2 -6
  560. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  561. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +32 -8
  562. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  563. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts +45 -2
  564. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.d.ts.map +1 -1
  565. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js +45 -2
  566. package/dist/esm/security/authorizations/administrative-continuity.shared.schemas.js.map +1 -1
  567. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts +35 -0
  568. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.d.ts.map +1 -0
  569. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js +257 -0
  570. package/dist/esm/security/authorizations/application-access-grants.shared.resources-config.schemas.js.map +1 -0
  571. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts +143 -0
  572. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.d.ts.map +1 -0
  573. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js +219 -0
  574. package/dist/esm/security/authorizations/application-access-grants.shared.schemas.js.map +1 -0
  575. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  576. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +27 -0
  577. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
  578. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts +75 -7
  579. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  580. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js +69 -8
  581. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  582. package/dist/esm/security/authorizations/roles.shared.defaults.d.ts.map +1 -1
  583. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  584. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  585. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +31 -0
  586. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -0
  587. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +198 -0
  588. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -0
  589. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +31 -0
  590. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -0
  591. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +191 -0
  592. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -0
  593. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +307 -0
  594. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -0
  595. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +530 -0
  596. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -0
  597. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts +4 -1
  598. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  599. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +29 -0
  600. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  601. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +4 -1
  602. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  603. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +29 -0
  604. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  605. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +6 -0
  606. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
  607. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +31 -0
  608. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
  609. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
  610. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts +13 -0
  611. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
  612. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js +24 -3
  613. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
  614. package/dist/esm/security/oauth-clients/oauth-resource-server.shared.schemas.d.ts.map +1 -1
  615. package/dist/esm/testing/resource-config-builders.d.ts.map +1 -1
  616. package/dist/esm/testing.d.ts.map +1 -1
  617. package/dist/esm/users/anonymous-user-marketing-metadata.shared.schemas.d.ts.map +1 -1
  618. package/dist/esm/users/anonymous-users.shared.resources-config.schemas.d.ts.map +1 -1
  619. package/dist/esm/users/anonymous-users.shared.schema.d.ts.map +1 -1
  620. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  621. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  622. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
  623. package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
  624. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  625. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  626. package/dist/esm/users/user-preferences-reset.shared.utils.d.ts.map +1 -1
  627. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +4 -4
  628. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  629. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  630. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +4 -4
  631. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  632. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  633. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  634. package/dist/esm/users/user-self.shared.resources-config.schemas.js +33 -3
  635. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  636. package/dist/esm/users/users.shared.resources-config.schemas.d.ts +17 -1
  637. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  638. package/dist/esm/users/users.shared.resources-config.schemas.js +136 -5
  639. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  640. package/dist/esm/users/users.shared.schemas.d.ts +60 -13
  641. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  642. package/dist/esm/users/users.shared.schemas.js +56 -9
  643. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  644. package/dist/tsconfig.build.tsbuildinfo +1 -1
  645. package/package.json +4 -4
@@ -2,10 +2,11 @@ import { z } from "zod";
2
2
  import { PersonalDataCategory } from "../privacy/personal-data-category.shared.schemas.js";
3
3
  import { ResourceOperationRiskLevel, ResourceOperationVariantType } from "../../resources/resources.shared.schemas.js";
4
4
  import { CoreResourceOperation } from "../../resources/resources.shared.core.definitions.js";
5
- import { PlatformAccessGrantAutoApprovalReason, PlatformAccessGrantLifecycleTransition, PlatformAccessGrantStatus, } from "../../security/authorizations/platform-access-grants.shared.schemas.js";
5
+ import { PlatformAccessGrantAutoApprovalReason, PlatformAccessGrantLifecycleTransition, PlatformAccessGrantScope, PlatformAccessGrantStatus, } from "../../security/authorizations/platform-access-grants.shared.schemas.js";
6
6
  import { ExecutionContext_ExecutionType } from "../../runtime/execution-context.shared.schemas.js";
7
7
  import { AuthScopeType, SsoConnectionType, } from "../../security/authentications/authentication.shared.schemas.js";
8
8
  import { WebhookEndpointProbeOutcome } from "../../notifications/m2m/webhook-config.shared.schemas.js";
9
+ import { ProviderCredentialDeletionReason, ProviderCredentialResolutionSource, } from "../../security/connected-accounts/provider-credentials.shared.schemas.js";
9
10
  export var CoreAuditableEventType;
10
11
  (function (CoreAuditableEventType) {
11
12
  // Authentication Events
@@ -172,6 +173,55 @@ export var CoreAuditableEventType;
172
173
  // Organization Security Management Events
173
174
  CoreAuditableEventType["ORGANIZATION_SSO_CONFIGURATION_CHANGED"] = "organization_sso_configuration_changed";
174
175
  CoreAuditableEventType["ORGANIZATION_SIEM_EXPORT_CONFIGURED"] = "organization_siem_export_configured";
176
+ // Organization Provider Credential Events
177
+ //
178
+ // An organization's OWN credential toward a third party. The four verbs are separate members
179
+ // rather than one event with a `changeType`, because they answer four different questions a
180
+ // credential incident asks in a different order — when did this tenant grant us authority, when
181
+ // did the value last change, when was it last SPENT, and when did the grant end — and a SIEM
182
+ // rule that alerts on a spend cannot be written against a payload discriminator that also
183
+ // matches configuration edits.
184
+ //
185
+ // NONE of the four payloads carries the credential value. That is a structural property of the
186
+ // schemas below, not a redaction step somebody has to remember: there is no field to put it in.
187
+ //
188
+ // assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — an organization authorizes this
189
+ // application to act as it toward a named third party.
190
+ CoreAuditableEventType["ORGANIZATION_PROVIDER_CREDENTIAL_SET"] = "organization_provider_credential_set";
191
+ CoreAuditableEventType["ORGANIZATION_PROVIDER_CREDENTIAL_ROTATED"] = "organization_provider_credential_rotated";
192
+ CoreAuditableEventType["ORGANIZATION_PROVIDER_CREDENTIAL_USED"] = "organization_provider_credential_used";
193
+ CoreAuditableEventType["ORGANIZATION_PROVIDER_CREDENTIAL_DELETED"] = "organization_provider_credential_deleted";
194
+ // A PERSON's own credential toward a third party. Four members mirroring the organization's,
195
+ // and deliberately NOT the same members with a nullable organization: the subject differs, the
196
+ // SIEM routing differs (there is no tenant to route to), and the data-protection reading differs
197
+ // — a person's connection to a vendor is that person's, and an event saying so must not be
198
+ // indistinguishable from one about a tenant's shared integration.
199
+ CoreAuditableEventType["USER_PROVIDER_CREDENTIAL_SET"] = "user_provider_credential_set";
200
+ CoreAuditableEventType["USER_PROVIDER_CREDENTIAL_ROTATED"] = "user_provider_credential_rotated";
201
+ CoreAuditableEventType["USER_PROVIDER_CREDENTIAL_USED"] = "user_provider_credential_used";
202
+ CoreAuditableEventType["USER_PROVIDER_CREDENTIAL_DELETED"] = "user_provider_credential_deleted";
203
+ // A delegated authorization GRANTED at a vendor, for each owner scope.
204
+ //
205
+ // Distinct from `_SET` rather than a flag on it, on the same three grounds the vocabulary already
206
+ // uses to separate its members. The ACT differs: `_SET` is a value arriving in a row, and this is
207
+ // a principal completing a consent ceremony at a third party — the only event in this family that
208
+ // records somebody deciding something. The DATA differs: a grant carries the scopes that were
209
+ // authorized and the vendor account they were authorized for, neither of which exists for a pasted
210
+ // secret. And the EMISSION POINT differs, which is what makes a flag impractical as well as wrong:
211
+ // `_SET` is emitted by the resource's write hook, which sees the row after the value is sealed,
212
+ // while the scopes are known only to the store that received the grant, before sealing.
213
+ //
214
+ // The distinction is the one an auditor asks for first. "Which of our people granted a third party
215
+ // access, to what, and when" is a different question from "which credentials were configured", and
216
+ // a trail that answers them with the same event answers neither well.
217
+ //
218
+ // Neither payload carries a token, and as with the four above that is structural rather than a
219
+ // redaction step: there is no field to put one in.
220
+ //
221
+ // assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — the act of authorizing is recorded
222
+ // as itself, with what was authorized.
223
+ CoreAuditableEventType["ORGANIZATION_PROVIDER_CONNECTION_GRANTED"] = "organization_provider_connection_granted";
224
+ CoreAuditableEventType["USER_PROVIDER_CONNECTION_GRANTED"] = "user_provider_connection_granted";
175
225
  // Application Security Configuration Events
176
226
  // The per-user-type authentication policy (`userTypes.<type>.auth` — MFA, password, and lockout
177
227
  // requirements) is STATIC application configuration authored in code and taken into effect at
@@ -232,6 +282,7 @@ export var CoreAuditableEventType;
232
282
  CoreAuditableEventType["USER_PASSKEY_AUTHENTICATION_SUCCESS"] = "user_passkey_authentication_success";
233
283
  CoreAuditableEventType["USER_PASSKEY_AUTHENTICATION_FAILURE"] = "user_passkey_authentication_failure";
234
284
  CoreAuditableEventType["USER_PASSKEY_REMOVED"] = "user_passkey_removed";
285
+ CoreAuditableEventType["USER_PASSKEY_CLONE_SUSPECTED"] = "user_passkey_clone_suspected";
235
286
  // Magic Link Events (Phase G2)
236
287
  CoreAuditableEventType["USER_MAGIC_LINK_SENT"] = "user_magic_link_sent";
237
288
  CoreAuditableEventType["USER_MAGIC_LINK_VERIFIED"] = "user_magic_link_verified";
@@ -255,6 +306,17 @@ export var CoreAuditableEventType;
255
306
  CoreAuditableEventType["SAML_EMAIL_CHANGED"] = "saml_email_changed";
256
307
  // OAuth2 Provider Restriction Events (Phase G3)
257
308
  CoreAuditableEventType["OAUTH2_PROVIDER_BLOCKED"] = "oauth2_provider_blocked";
309
+ /**
310
+ * An enterprise OIDC login was refused because the identity provider did not report the
311
+ * authentication context the connection DEMANDED (issue #444).
312
+ *
313
+ * `acr_values` is a REQUEST parameter: the relying party asks, the provider decides, and the ID
314
+ * token's `acr` claim reports what actually happened. So a refusal here is the only evidence that
315
+ * a step-up demand was made and not met — without it an operator debugging "why can this person
316
+ * not sign in" sees an ordinary authentication failure and has nothing to distinguish it from a
317
+ * wrong password.
318
+ */
319
+ CoreAuditableEventType["OIDC_ACR_DEMAND_UNSATISFIED"] = "oidc_acr_demand_unsatisfied";
258
320
  // One-Off Session Events (W7.3b)
259
321
  /**
260
322
  * File upload grant lifecycle (issue #312) — the first FILE-domain audit events. A grant is a
@@ -267,6 +329,37 @@ export var CoreAuditableEventType;
267
329
  CoreAuditableEventType["FILE_UPLOAD_GRANT_ISSUED"] = "file_upload_grant_issued";
268
330
  CoreAuditableEventType["FILE_UPLOAD_GRANT_REDEEMED"] = "file_upload_grant_redeemed";
269
331
  CoreAuditableEventType["FILE_UPLOAD_GRANT_REVOKED"] = "file_upload_grant_revoked";
332
+ // File content-inspection outcomes (#506)
333
+ /**
334
+ * A scanner concluded that an uploaded file is INFECTED, and the file was quarantined.
335
+ *
336
+ * Until this existed, the scanner emitted no audit row of any kind: an infection produced a
337
+ * `SCANNING → INFECTED → QUARANTINED` status transition on the file record and nothing else, so
338
+ * the only way to learn that malware had reached the application's storage was to NOTICE a row
339
+ * sitting at `QUARANTINED` — a poll, not a signal. Malware arriving is one of the few things an
340
+ * operator wants to be alerted on, and one of the few a customer security questionnaire asks about
341
+ * by name.
342
+ *
343
+ * `CRITICAL`, on the same argument as `USER_PASSKEY_CLONE_SUSPECTED`: a conclusion the security
344
+ * mechanism reached about a real threat, not a routine outcome.
345
+ *
346
+ * assurance-control: WILDO.SECURITY.INGESTED_CONTENT_INSPECTION — a detected infection is
347
+ * attributable and monitorable, not only visible as a row status. This event is the RECORD half of
348
+ * that objective; the mechanism half is the fail-closed scan gate itself.
349
+ */
350
+ CoreAuditableEventType["FILE_MALWARE_DETECTED"] = "file_malware_detected";
351
+ /**
352
+ * A scan could NOT be completed — the scanner was unreachable, or the pipeline errored.
353
+ *
354
+ * Its own event rather than a lower severity on the one above, because the operational stories are
355
+ * opposite: an infection means the control WORKED, a failure means it DID NOT RUN. From outside
356
+ * they are indistinguishable today — the file is non-downloadable either way — which is precisely
357
+ * why the trail has to tell them apart. A run of these means files are arriving unscanned.
358
+ *
359
+ * `WARNING`, not `CRITICAL`: nothing was found and nothing was exposed, because the file fails
360
+ * closed to `FAILED` and stays undownloadable. What is wrong is the control's availability.
361
+ */
362
+ CoreAuditableEventType["FILE_MALWARE_SCAN_FAILED"] = "file_malware_scan_failed";
270
363
  CoreAuditableEventType["ONE_OFF_TOKEN_CREATED"] = "one_off_token_created";
271
364
  CoreAuditableEventType["ONE_OFF_TOKEN_EXCHANGED"] = "one_off_token_exchanged";
272
365
  /** revocation-B1: a super-admin cancelled an un-exchanged one-off (impersonation) session token. */
@@ -354,6 +447,13 @@ export var CoreAuditableEventType;
354
447
  * crossing is NAMED in the trail". Before this event, an operator could enumerate every user's
355
448
  * email across every tenant and leave nothing behind.
356
449
  *
450
+ * ⚠️ "Structurally unavailable" above is exact about the EXISTING grant mechanism — it needs a
451
+ * target tenant and a collection call names none — and must not be read as "prevention is
452
+ * impossible". An application-wide grant kind is buildable; what blocks it is the question of who
453
+ * approves an elevation that names no tenant. See
454
+ * `ScopeRootConfinementDisposition.UNCONFINED_APPLICATION_TIER_DIRECTORY`, which owns that
455
+ * reasoning beside the declaration that makes this read unconfined.
456
+ *
357
457
  * INFO, not WARNING: unlike its cross-tenant sibling this is an ordinary, expected administrative
358
458
  * read on a surface built for it. The subset worth escalating is selected by a SIEM rule on
359
459
  * `resourceType` + `returnedCount`, both of which ride the payload.
@@ -384,7 +484,8 @@ export var CoreAuditableEventType;
384
484
  // Retained-Data (Impersonalization) Access Events
385
485
  // Emitted when a privileged SEE-THROUGH read reveals RETAINED (impersonalized-and-retained) records
386
486
  // that the default retention hide-predicate keeps hidden. SYSTEM_CONTEXT_READ names only the RUNTIME
387
- // that acted; this read is HUMAN-ATTRIBUTED (a super-admin / COMPLIANCE_AUDITOR) and carries a REQUIRED reason —
487
+ // that acted; this read is HUMAN-ATTRIBUTED (an application super-administrator, the only role the
488
+ // see-through gate admits today) and carries a REQUIRED reason —
388
489
  // a compliance-grade access record over scrubbed personal data. Strictly read-only. Classified
389
490
  // DATA_ACCESS / WARNING (an authorized-but-elevated privileged access, not an anomaly ⇒ not CRITICAL).
390
491
  CoreAuditableEventType["RETAINED_DATA_ACCESS"] = "retained_data_access";
@@ -437,6 +538,82 @@ export var CoreAuditableEventType;
437
538
  // USER_LIFECYCLE / CRITICAL: one event per acknowledged resource per erasure, never a standing
438
539
  // posture.
439
540
  CoreAuditableEventType["HTTP_API_NON_ERASURE_ACKNOWLEDGED"] = "http_api_non_erasure_acknowledged";
541
+ // The application CALLED a declared operation on a third-party provider — one event per outbound
542
+ // call, on both the success and the failure path.
543
+ //
544
+ // Distinct from the three HTTP_API_* members above, which are the ETL read-through plane: those
545
+ // record a RESOURCE whose rows live elsewhere being read or erased through a binding. This is the
546
+ // other door — a custom backend service naming a provider and an operation directly — and the
547
+ // question it answers is the first question of any provider incident: WHOSE third-party account
548
+ // did we spend, on whose behalf, and what came back. `connectionOwnerScope`/`connectionOwnerId`
549
+ // are what the initiator's own ids cannot answer, because one execution may legitimately spend
550
+ // several tenants' accounts (a user action fanning out to every organization that user belongs to
551
+ // issues N calls with N owners under ONE initiator).
552
+ //
553
+ // Distinct from `*_PROVIDER_CREDENTIAL_USED`, which records that a stored credential was SPENT and
554
+ // what the vendor thought of it. That one is about the CREDENTIAL's health and is emitted by the
555
+ // store; this one is about the ACT and is emitted by the executor. A credential incident reads
556
+ // both, in that order, and folding them would make "which calls did this credential make" a query
557
+ // nobody can write.
558
+ //
559
+ // Classified DATA_ACCESS / INFO for the read-through member's reason — routine, authorized
560
+ // activity whose value is the queryable trail, not an alarm. The READ/WRITE axis rides
561
+ // `classification` in the payload and the per-emission `riskLevel`, never the static severity.
562
+ //
563
+ // assurance-control: WILDO.AUDIT.ATTRIBUTION — an outbound call made on a user's behalf is
564
+ // recorded with the real initiating user carried through whichever account it spent.
565
+ CoreAuditableEventType["PROVIDER_OPERATION_CALL"] = "provider_operation_call";
566
+ // An AGENT reached an MCP server on somebody's behalf (#491).
567
+ //
568
+ // A sibling of `PROVIDER_OPERATION_CALL`, not a case of it, and the split is the same one that
569
+ // separates that member from `*_PROVIDER_CREDENTIAL_USED`: they identify different acts. A
570
+ // provider operation is a CATALOGUE operation — it has an `operationId`, a `domain`, an HTTP
571
+ // method and a declared READ/WRITE classification. An MCP tool has none of those: the tool list is
572
+ // discovered from the server at turn start, the transport is always a JSON-RPC POST, and nothing
573
+ // declares in advance what a tool does. Folding them would make "which catalogue operations ran"
574
+ // a query that returns tools that are not catalogue operations.
575
+ //
576
+ // The ATTRIBUTION fields are deliberately identical, so a reviewer asking "what did this person's
577
+ // delegated credential do at that vendor" writes one shape of query across both.
578
+ //
579
+ // Classified DATA_ACCESS / INFO for the same reason as its sibling: routine authorized activity
580
+ // whose value is the queryable trail rather than an alarm. A refused outbound TARGET is carried on
581
+ // the same event through `failureKind`, because an attempted egress a guard blocked is exactly
582
+ // what a reviewer wants beside the calls that succeeded.
583
+ //
584
+ // assurance-control: WILDO.AUDIT.ATTRIBUTION — an agent's outbound tool call is recorded with the
585
+ // real initiating user carried through whichever account it spent.
586
+ CoreAuditableEventType["MCP_TOOL_CALL"] = "mcp_tool_call";
587
+ // A human APPROVER changed a proposed tool call's arguments and approved the changed call (#566).
588
+ //
589
+ // The strongest act available on the approval plane, and the reason it is its own member rather
590
+ // than a flag on some broader "approval decided" event: on every other decision the approver
591
+ // ASSENTS to a call the model authored, and here they AUTHOR one the model never proposed. An
592
+ // incident reader asking "who wrote the arguments this tool ran with" is asking a different
593
+ // question from "who let it run", and folding the two would make the first unanswerable by query.
594
+ //
595
+ // Emitted ONLY when the executed input differs from the proposed one. An ordinary approval is not
596
+ // this event and is deliberately not recorded here — the plane has no approval-decision trail at
597
+ // all yet, which is a separate gap with its own issue; adding half of one under this name would
598
+ // make `mcp_tool_call`'s mistake in the other direction, an event that answers two questions and
599
+ // neither well.
600
+ //
601
+ // NAMES AND DIGESTS ONLY — never argument values. Identical reasoning to
602
+ // `RESOURCE_OPERATION_PERFORMED`'s `changedFields` / `fieldEvidence` split: audit rows replicate
603
+ // to the per-org SIEM and to an immutable ledger that cannot be scrubbed, so copying arbitrary
604
+ // tool arguments here would manufacture an unerasable duplicate of whatever a person typed, in
605
+ // direct conflict with GDPR Art. 17. The two digests prove executed ≠ proposed; the key names say
606
+ // WHICH arguments a person authored. Neither can leak content.
607
+ //
608
+ // Classified AUTHORIZATION / WARNING. Authorization because the act IS a human authorization
609
+ // decision, not a data access. WARNING rather than CRITICAL for the same reading the OAuth grant
610
+ // rows take: it is notable, dashboard-worthy and worth reviewing, and it is an AUTHORIZED action
611
+ // taken by an identified person with the pause in front of them — reserving CRITICAL for the rows
612
+ // that mean something is wrong is what keeps a severity filter usable.
613
+ //
614
+ // assurance-control: WILDO.ACCESS.AUTHORIZATION_DECISION_AUDIT — the approver who authored the
615
+ // executed arguments is recorded beside proof that they differed from the proposal.
616
+ CoreAuditableEventType["AGENT_TOOL_APPROVAL_MODIFIED"] = "agent_tool_approval_modified";
440
617
  // ── OAuth2 / OIDC Provider Events (Wildo AS the authorization server) ──
441
618
  // Distinct from the `OAUTH2_*` family above, which records Wildo CONSUMING an
442
619
  // EXTERNAL social OAuth provider. These record the app-issued OAuth2/OIDC provider
@@ -527,6 +704,38 @@ export var AuditEventSeverity;
527
704
  AuditEventSeverity["WARNING"] = "warning";
528
705
  AuditEventSeverity["CRITICAL"] = "critical";
529
706
  })(AuditEventSeverity || (AuditEventSeverity = {}));
707
+ /**
708
+ * What each audit category and severity MEANS to whoever reads the trail.
709
+ *
710
+ * The words were authored, correctly, in the technical-documentation catalog that renders the
711
+ * audit-trail page — and lived only there, so the same vocabularies reached every other surface as
712
+ * bare tokens. Moved here, beside the enums, because a vocabulary's words belong with the
713
+ * vocabulary: the catalog now imports them, the schemas describe their own fields from them, and
714
+ * there is one account of what `data_access` selects rather than two that can disagree.
715
+ *
716
+ * `name` is what a reader is shown; `meaning` is what selecting it actually gets them. Exhaustive by
717
+ * type, so a sixth category cannot ship as a bare value.
718
+ */
719
+ export const AUDIT_EVENT_CATEGORY_MEANINGS = {
720
+ [AuditEventCategory.AUTHENTICATION]: { name: 'Authentication', meaning: 'Signing in, signing out, second factors and failed attempts.' },
721
+ [AuditEventCategory.AUTHORIZATION]: { name: 'Authorization', meaning: 'Access decisions: what an identity was allowed or refused.' },
722
+ [AuditEventCategory.USER_LIFECYCLE]: { name: 'User lifecycle', meaning: 'Accounts created, changed, suspended, restored or removed.' },
723
+ [AuditEventCategory.ORG_MANAGEMENT]: { name: 'Organization management', meaning: 'Membership, roles, units and organization settings.' },
724
+ [AuditEventCategory.DATA_ACCESS]: { name: 'Data access', meaning: 'Reads and changes of application data that are recorded for review.' },
725
+ };
726
+ export const AUDIT_EVENT_SEVERITY_MEANINGS = {
727
+ [AuditEventSeverity.INFO]: { name: 'Information', meaning: 'Expected activity. Useful as evidence, not a signal on its own.' },
728
+ [AuditEventSeverity.WARNING]: { name: 'Warning', meaning: 'Unusual or refused activity worth reviewing in context.' },
729
+ [AuditEventSeverity.CRITICAL]: { name: 'Critical', meaning: 'Activity that should reach whoever handles security incidents.' },
730
+ };
731
+ /**
732
+ * A `Values:` legend in the shape the generated API reference already uses, so a field described
733
+ * here reads exactly like one described from a resource specification.
734
+ */
735
+ export function describeAuditVocabulary(lead, meanings) {
736
+ const legend = Object.entries(meanings).map(([value, words]) => `- \`${value}\`: ${words.meaning}`).join('\n');
737
+ return `${lead}\n\nValues:\n${legend}`;
738
+ }
530
739
  /**
531
740
  * Why the authorizer refused an operation. A CLOSED vocabulary — the authorizer resolves exactly
532
741
  * one of these per refusal, and a SOC dashboard groups by it.
@@ -588,6 +797,22 @@ export var ResourceOperationDenialReason;
588
797
  * becoming an existence oracle.
589
798
  */
590
799
  ResourceOperationDenialReason["SUBJECT_NOT_RESOLVABLE"] = "subject_not_resolvable";
800
+ /**
801
+ * The caller holds the ROLE but no usable APPLICATION-WIDE elevation.
802
+ *
803
+ * Its own member rather than `INSUFFICIENT_ROLES`, and the distinction is the whole point of the
804
+ * grant model: the caller IS an administrator and the refusal is about STANDING privilege, not
805
+ * about authority. Folding it into the roles reason would make the two indistinguishable in the
806
+ * trail — and a reviewer asking "did zero-standing-privilege actually bite anyone?" would have no
807
+ * way to count it.
808
+ *
809
+ * Distinct from a tenant crossing refused for the same shape of reason: that one is refused inside
810
+ * `authorizeOrganizations` and surfaces as `SCOPE_MISMATCH`, because there the caller genuinely is
811
+ * outside the tenant. Here there is no tenant to be outside of.
812
+ *
813
+ * assurance-control: WILDO.ACCESS.AUTHORIZATION_DECISION_AUDIT
814
+ */
815
+ ResourceOperationDenialReason["APPLICATION_WIDE_ELEVATION_MISSING"] = "application_wide_elevation_missing";
591
816
  })(ResourceOperationDenialReason || (ResourceOperationDenialReason = {}));
592
817
  /** SSO configuration change type. */
593
818
  export var SsoConfigChangeType;
@@ -912,20 +1137,66 @@ export const AuditableEvent_Application_SuperAdminFloorBreachedEventDataSchema =
912
1137
  * recorded rather than assumed zero: the floor's minimum is configurable, and an event that hard-codes
913
1138
  * the consequence cannot be re-read against a changed policy.
914
1139
  */
1140
+ /**
1141
+ * HOW a tenant's owner-floor breach came to be known.
1142
+ *
1143
+ * The two answers mean genuinely different things to whoever reads the record, and a reader cannot
1144
+ * tell them apart from the rest of the payload — which is why this is a named member rather than an
1145
+ * inference from whether the action fields happen to be present.
1146
+ *
1147
+ * The event type stays SINGLE across both, deliberately. The fact recorded is "this tenant has no
1148
+ * administratively usable owner", and that is the query an operator needs to be one query: splitting
1149
+ * it in two would mean a breach is missed by whichever half somebody alerts on.
1150
+ */
1151
+ export var AdministrativeContinuityBreachDetection;
1152
+ (function (AdministrativeContinuityBreachDetection) {
1153
+ /**
1154
+ * A guarded lifecycle write was ALLOWED through and stranded the tenant.
1155
+ *
1156
+ * The permissive branch is deliberate — refusing a suspension would mean an operator cannot lock
1157
+ * out a compromised owner without first transferring ownership using the tenant the attacker
1158
+ * controls — so this record IS the control that makes the trade acceptable. The action fields are
1159
+ * populated here, because there is an action to name.
1160
+ */
1161
+ AdministrativeContinuityBreachDetection["ALLOWED_LIFECYCLE_ACTION"] = "allowed_lifecycle_action";
1162
+ /**
1163
+ * The boot report found the tenant ALREADY stranded, by a route no guard ever saw: a direct
1164
+ * database edit, a restore from a backup taken mid-erasure, a seed that authored no owner, or a
1165
+ * role-table change that redefined which roles confer ownership.
1166
+ *
1167
+ * There is no action to name, so the action fields are absent rather than filled with placeholders
1168
+ * — the same reading `logApplicationSuperAdminFloorBreached` takes for its missing `userId`.
1169
+ */
1170
+ AdministrativeContinuityBreachDetection["BOOT_REPORT"] = "boot_report";
1171
+ })(AdministrativeContinuityBreachDetection || (AdministrativeContinuityBreachDetection = {}));
915
1172
  export const AuditableEvent_Organization_OwnerFloorBreachedEventDataSchema = z.object({
916
1173
  eventType: z.literal(CoreAuditableEventType.ORGANIZATION_OWNER_FLOOR_BREACHED),
917
1174
  /** The tenant left with no administratively usable owner. */
918
1175
  organizationId: z.string(),
919
- /** The owner-conferring memberships this action removed from the population. */
920
- reducedMemberIds: z.array(z.string()),
1176
+ /**
1177
+ * WHICH observation produced this record. Required, so the compiler forces every emitter — present
1178
+ * and future — to say which; a reader cannot recover it from the payload, and guessing it from the
1179
+ * presence of the action fields would make an emitter's omission look like a boot observation.
1180
+ */
1181
+ detectedBy: z.enum(AdministrativeContinuityBreachDetection),
921
1182
  /** How many usable owners remain (expected: 0 when emitted). */
922
1183
  remainingUsableOwners: z.number(),
923
- /** The lifecycle verb that caused it — the operator-facing "what did this". */
924
- operationIdentifier: z.string(),
925
- /** The subject whose deactivation triggered it. */
926
- subjectUserId: z.string(),
927
- /** The status the subject moved to, so a reader need not infer usability from the verb alone. */
928
- subjectNextStatus: z.string(),
1184
+ /**
1185
+ * The owner-conferring memberships the action removed from the population.
1186
+ *
1187
+ * Absent under `BOOT_REPORT`: nothing was removed within sight of a guard, which is the whole
1188
+ * reason the boot report has to look.
1189
+ */
1190
+ reducedMemberIds: z.array(z.string()).optional(),
1191
+ /** The lifecycle verb that caused it — the operator-facing "what did this". Absent under `BOOT_REPORT`. */
1192
+ operationIdentifier: z.string().optional(),
1193
+ /** The subject whose deactivation triggered it. Absent under `BOOT_REPORT`. */
1194
+ subjectUserId: z.string().optional(),
1195
+ /**
1196
+ * The status the subject moved to, so a reader need not infer usability from the verb alone. Absent
1197
+ * under `BOOT_REPORT`.
1198
+ */
1199
+ subjectNextStatus: z.string().optional(),
929
1200
  });
930
1201
  // Organization Member Event Data Schemas
931
1202
  export const AuditableEvent_OrganizationMember_InvitedEventDataSchema = z.object({
@@ -1371,7 +1642,22 @@ export const ApplicationAuthPolicySnapshotSchema = z.record(z.string(), z.unknow
1371
1642
  */
1372
1643
  export const AuditableEvent_ApplicationAuthPolicyChanged_EventDataSchema = z.object({
1373
1644
  eventType: z.literal(CoreAuditableEventType.APPLICATION_AUTH_POLICY_CHANGED),
1374
- applicationId: z.string(),
1645
+ /*
1646
+ * NO `applicationId` HERE — removed 2026-09-09, and the removal is the fix for a real defect.
1647
+ *
1648
+ * The row this payload rides on ALREADY carries `applicationId` as its scope column, injected by
1649
+ * the repository's write-path enrichment from the writer's own execution context. A second copy in
1650
+ * the payload could only ever agree with it or contradict it, and it contradicted it: the boot
1651
+ * emitter had no application id to hand — `appIdentity.applicationId` is merged in for the FRONTEND
1652
+ * projection only — so it passed `appIdentity.appName`, the SLUG, into both. Measured on the
1653
+ * dogfood trail: 2,175 rows carried the correct id and this event's one row carried `wonder-todos`,
1654
+ * which made it reachable through no API, on the door built for exactly that population (#317).
1655
+ *
1656
+ * Dropping the field is what makes the two-copies question unaskable, rather than answering it
1657
+ * again per emitter. Nothing read it: no SIEM projection, no OCSF mapping, no consumer. Old stored
1658
+ * rows keep parsing — `z.object` strips an unknown key rather than refusing it — so the change is
1659
+ * a shrink with no migration.
1660
+ */
1375
1661
  /** Which user types' policies differed from the previously-recorded snapshot. Sorted, non-empty. */
1376
1662
  changedUserTypes: z.array(z.string()),
1377
1663
  /**
@@ -1547,6 +1833,239 @@ export const AuditableEvent_Organization_SIEMExportConfiguredEventDataSchema = z
1547
1833
  webhookUrlDomain: z.string().optional(),
1548
1834
  eventFormatConfigured: z.string().optional(),
1549
1835
  });
1836
+ // Organization Provider Credential Event Data Schemas
1837
+ //
1838
+ // ## The value is absent by CONSTRUCTION
1839
+ //
1840
+ // Every field below is an identifier, a timestamp, a closed vocabulary or a count. There is no
1841
+ // free-text field an implementation could put a secret in by accident, and no `changes` /
1842
+ // `metadata` record — the shape the SSO event uses (`z.record(z.string(), z.any())`) is exactly
1843
+ // what a credential event must not have, because an audit row is replicated to the organization's
1844
+ // SIEM and to the immutable store, and neither can be edited afterwards.
1845
+ //
1846
+ // ## Why a provider ref and a slug, and nothing about the value
1847
+ //
1848
+ // A reader needs to know WHICH authority moved. `providerRef` + `secretSlug` say that completely.
1849
+ // A fingerprint of the value was considered and rejected: it is a stable oracle for confirming a
1850
+ // guessed secret, so it would put a verification oracle into the one store designed never to
1851
+ // forget.
1852
+ /**
1853
+ * A tenant granted this application authority to act as it toward a third party.
1854
+ *
1855
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — organization authorizes delegated
1856
+ * access to a named third party.
1857
+ */
1858
+ export const AuditableEvent_OrganizationProviderCredential_SetEventDataSchema = z.object({
1859
+ eventType: z.literal(CoreAuditableEventType.ORGANIZATION_PROVIDER_CREDENTIAL_SET),
1860
+ organizationId: z.string(),
1861
+ providerRef: z.string(),
1862
+ secretSlug: z.string(),
1863
+ /** The acting administrator. Absent only on a system-initiated write, which none exists today. */
1864
+ setBy: z.string().optional(),
1865
+ credentialId: z.string(),
1866
+ });
1867
+ /**
1868
+ * The stored VALUE changed for a credential that already existed.
1869
+ *
1870
+ * Separate from `_SET` because rotation is the response to a suspected compromise, and "was this
1871
+ * rotated after the incident?" must be answerable without reading every configuration edit.
1872
+ *
1873
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — the delegated authority's secret is
1874
+ * replaced.
1875
+ */
1876
+ export const AuditableEvent_OrganizationProviderCredential_RotatedEventDataSchema = z.object({
1877
+ eventType: z.literal(CoreAuditableEventType.ORGANIZATION_PROVIDER_CREDENTIAL_ROTATED),
1878
+ organizationId: z.string(),
1879
+ providerRef: z.string(),
1880
+ secretSlug: z.string(),
1881
+ rotatedBy: z.string().optional(),
1882
+ credentialId: z.string(),
1883
+ /** When the value it replaced was set — how long the retired secret was live. */
1884
+ previousSecretSetAt: z.string().optional(),
1885
+ });
1886
+ /**
1887
+ * The credential was RESOLVED for an outbound call — the application acted as the tenant.
1888
+ *
1889
+ * The highest-volume of the four and the one that makes the other three worth having: without a
1890
+ * use event, a leaked credential's exploitation is invisible and only its configuration is
1891
+ * recorded. `resolvedFrom` distinguishes a tenant's own credential from the deployment-wide
1892
+ * environment fallback, which is precisely the distinction this whole resource exists to make
1893
+ * visible — a tenant silently acting as the shared principal is the defect, and here it is a
1894
+ * value in a field rather than something nobody can see.
1895
+ *
1896
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — delegated authority is exercised.
1897
+ */
1898
+ export const AuditableEvent_OrganizationProviderCredential_UsedEventDataSchema = z.object({
1899
+ eventType: z.literal(CoreAuditableEventType.ORGANIZATION_PROVIDER_CREDENTIAL_USED),
1900
+ organizationId: z.string(),
1901
+ providerRef: z.string(),
1902
+ secretSlug: z.string(),
1903
+ resolvedFrom: z.enum(ProviderCredentialResolutionSource),
1904
+ /** Absent when `resolvedFrom` is the deployment environment — there is no row to name. */
1905
+ credentialId: z.string().optional(),
1906
+ });
1907
+ /**
1908
+ * The grant ended — by the tenant removing it, or by the tenant itself being purged.
1909
+ *
1910
+ * `reason` separates the two, because "the credential is gone" means different things to an
1911
+ * incident reviewer depending on whether a human revoked it or a cascade removed it.
1912
+ *
1913
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — evidence that delegated authority
1914
+ * was withdrawn.
1915
+ */
1916
+ export const AuditableEvent_OrganizationProviderCredential_DeletedEventDataSchema = z.object({
1917
+ eventType: z.literal(CoreAuditableEventType.ORGANIZATION_PROVIDER_CREDENTIAL_DELETED),
1918
+ organizationId: z.string(),
1919
+ providerRef: z.string(),
1920
+ secretSlug: z.string(),
1921
+ deletedBy: z.string().optional(),
1922
+ credentialId: z.string(),
1923
+ reason: z.enum(ProviderCredentialDeletionReason),
1924
+ });
1925
+ /**
1926
+ * A PERSON connected their own account at a third party to this application.
1927
+ *
1928
+ * The organization's four events say "this tenant authorized the application". These four say "this
1929
+ * individual did", and the difference is not cosmetic: the vendor will attribute every resulting act
1930
+ * to that person's account, so the trail that answers "who authorized this" has to name them.
1931
+ *
1932
+ * `userId` is the subject, not the actor, and the two are the same here BY CONSTRUCTION — the
1933
+ * resource admits no administrative variant, so nobody but the holder can write one of these rows.
1934
+ * That is why there is no `setBy`: an organization credential needs one because several
1935
+ * administrators can write the tenant's row, and a person's own credential has exactly one possible
1936
+ * author. A `setBy` that could only ever repeat `userId` would invite a future reader to believe the
1937
+ * two can differ.
1938
+ *
1939
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — a user authorizes third-party
1940
+ * delegated access.
1941
+ */
1942
+ export const AuditableEvent_UserProviderCredential_SetEventDataSchema = z.object({
1943
+ eventType: z.literal(CoreAuditableEventType.USER_PROVIDER_CREDENTIAL_SET),
1944
+ userId: z.string(),
1945
+ providerRef: z.string(),
1946
+ secretSlug: z.string(),
1947
+ credentialId: z.string(),
1948
+ });
1949
+ /**
1950
+ * A PERSON completed a consent ceremony at a vendor and this application now holds their grant.
1951
+ *
1952
+ * The subject and the actor are the same by construction — the resource admits no administrative
1953
+ * variant, and the connect leg refuses any owner but the caller — so there is no `grantedBy`.
1954
+ *
1955
+ * `grantedScopes` is what the VENDOR said it issued, not what was asked for. The two differ often
1956
+ * enough to matter: a vendor may narrow a request against what the account is permitted, and the
1957
+ * answer to "what could this application actually do as them" is the granted set. Optional because
1958
+ * several vendors return no scope at all on a token response, and an empty array would assert
1959
+ * something stronger than silence.
1960
+ *
1961
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — a user authorizes third-party
1962
+ * delegated access, and the authorization's extent is recorded with it.
1963
+ */
1964
+ export const AuditableEvent_UserProviderConnection_GrantedEventDataSchema = z.object({
1965
+ eventType: z.literal(CoreAuditableEventType.USER_PROVIDER_CONNECTION_GRANTED),
1966
+ userId: z.string(),
1967
+ providerRef: z.string(),
1968
+ secretSlug: z.string(),
1969
+ credentialId: z.string(),
1970
+ grantedScopes: z.array(z.string()).optional(),
1971
+ /**
1972
+ * WHICH account at the vendor — a workspace, a tenant, a directory. Never a secret, and the answer
1973
+ * to a question the row alone cannot settle: two people connecting the same provider may be
1974
+ * granting access to entirely different organizations of that vendor.
1975
+ */
1976
+ accountRef: z.string().optional(),
1977
+ /**
1978
+ * Whether this replaced a connection that already existed.
1979
+ *
1980
+ * A first connection and a re-authorization look identical in the row afterwards, and they are not
1981
+ * the same event to an auditor: a re-authorization frequently follows a revocation at the vendor,
1982
+ * which is exactly the sequence worth being able to see.
1983
+ */
1984
+ replacedExistingConnection: z.boolean(),
1985
+ });
1986
+ /**
1987
+ * An ORGANIZATION's delegated authorization toward a vendor was granted.
1988
+ *
1989
+ * Mirrors the person's event and is deliberately not the same event with a nullable user: the
1990
+ * subject is a tenant, the SIEM routing is the tenant's, and the data-protection reading differs —
1991
+ * a tenant's shared integration is not anybody's personal connection.
1992
+ *
1993
+ * `grantedByUserId` exists here and not on the user's, for the reason the `_SET` pair already
1994
+ * records: several administrators can authorize on a tenant's behalf, so WHO did is a real question.
1995
+ *
1996
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — an organization authorizes this
1997
+ * application to act as it toward a named third party.
1998
+ */
1999
+ export const AuditableEvent_OrganizationProviderConnection_GrantedEventDataSchema = z.object({
2000
+ eventType: z.literal(CoreAuditableEventType.ORGANIZATION_PROVIDER_CONNECTION_GRANTED),
2001
+ organizationId: z.string(),
2002
+ providerRef: z.string(),
2003
+ secretSlug: z.string(),
2004
+ credentialId: z.string(),
2005
+ grantedByUserId: z.string().optional(),
2006
+ grantedScopes: z.array(z.string()).optional(),
2007
+ accountRef: z.string().optional(),
2008
+ replacedExistingConnection: z.boolean(),
2009
+ });
2010
+ /**
2011
+ * The stored VALUE changed for a person's credential that already existed.
2012
+ *
2013
+ * Separate from `_SET` for the organization's reason — rotation answers "was this replaced after the
2014
+ * incident?" — and for one that is specific to a person: a credential someone rotates on their own
2015
+ * initiative is often the first evidence that they believe their vendor account was compromised.
2016
+ *
2017
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — the delegated authority's secret is
2018
+ * replaced.
2019
+ */
2020
+ export const AuditableEvent_UserProviderCredential_RotatedEventDataSchema = z.object({
2021
+ eventType: z.literal(CoreAuditableEventType.USER_PROVIDER_CREDENTIAL_ROTATED),
2022
+ userId: z.string(),
2023
+ providerRef: z.string(),
2024
+ secretSlug: z.string(),
2025
+ credentialId: z.string(),
2026
+ /** When the value it replaced was set — how long the retired secret was live. */
2027
+ previousSecretSetAt: z.string().optional(),
2028
+ });
2029
+ /**
2030
+ * The credential was RESOLVED for an outbound call — the application acted as that person.
2031
+ *
2032
+ * `resolvedFrom` is present for symmetry with the organization event but carries a narrower range:
2033
+ * a person's credential has NO fallback, because substituting the deployment's shared principal for
2034
+ * someone's own account would attribute the act to the wrong party at the vendor — the very
2035
+ * substitution the whole scope triangle exists to forbid. So this field reads
2036
+ * `USER_CREDENTIAL` on every event, and a reviewer seeing anything else is looking at a defect.
2037
+ *
2038
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — delegated authority is exercised.
2039
+ */
2040
+ export const AuditableEvent_UserProviderCredential_UsedEventDataSchema = z.object({
2041
+ eventType: z.literal(CoreAuditableEventType.USER_PROVIDER_CREDENTIAL_USED),
2042
+ userId: z.string(),
2043
+ providerRef: z.string(),
2044
+ secretSlug: z.string(),
2045
+ resolvedFrom: z.enum(ProviderCredentialResolutionSource),
2046
+ credentialId: z.string(),
2047
+ });
2048
+ /**
2049
+ * The person's grant ended — by them removing it, or by their own erasure.
2050
+ *
2051
+ * `reason` matters more here than on the organization sibling. A credential removed by a cascade
2052
+ * from a subject-erasure request is EVIDENCE that the erasure reached this store, and it is the
2053
+ * evidence an operator produces when asked whether a person's third-party keys were destroyed. The
2054
+ * row itself is gone by then, so the event is all that remains.
2055
+ *
2056
+ * assurance-control: WILDO.IDENTITY.DELEGATED_AUTHORIZATION — evidence that delegated authority
2057
+ * was withdrawn.
2058
+ * assurance-control: WILDO.PRIVACY.ERASURE — evidence that erasure destroyed the subject's
2059
+ * third-party credentials.
2060
+ */
2061
+ export const AuditableEvent_UserProviderCredential_DeletedEventDataSchema = z.object({
2062
+ eventType: z.literal(CoreAuditableEventType.USER_PROVIDER_CREDENTIAL_DELETED),
2063
+ userId: z.string(),
2064
+ providerRef: z.string(),
2065
+ secretSlug: z.string(),
2066
+ credentialId: z.string(),
2067
+ reason: z.enum(ProviderCredentialDeletionReason),
2068
+ });
1550
2069
  // Outbound M2M Webhook Event Data Schemas
1551
2070
  /**
1552
2071
  * One `webhookConfig.testEndpoint` attempt — an admin causing the platform to open an
@@ -1736,6 +2255,91 @@ export const AuditableEvent_User_PasskeyAuthFailureEventDataSchema = z.object({
1736
2255
  userAgent: z.string(),
1737
2256
  sessionId: z.string(),
1738
2257
  });
2258
+ /**
2259
+ * A passkey assertion whose SIGNATURE VERIFIED and whose signature counter did not advance.
2260
+ *
2261
+ * This is the WebAuthn cloned-authenticator signal (W3C WebAuthn L3 §6.1.1: "The signature
2262
+ * counter's purpose is to aid Relying Parties in detecting cloned authenticators"). It is emitted
2263
+ * on the spec's own predicate — either counter non-zero AND the received value not greater than
2264
+ * the stored one — so a credential that reports 0 permanently, which every synced passkey does,
2265
+ * compares 0-against-0 and never reaches here.
2266
+ *
2267
+ * spec-cite: W3C Web Authentication Level 3, §6.1.1 Signature Counter Considerations
2268
+ * (https://www.w3.org/TR/webauthn-3/#sctn-sign-counter). The spec declines to mandate an outcome
2269
+ * (§7.2 step 22: "whether the Relying Party ... fails the authentication ceremony or not, is
2270
+ * Relying Party-specific"); Wildo refuses, matching what every major implementation does.
2271
+ *
2272
+ * SEPARATE from `USER_PASSKEY_AUTHENTICATION_FAILURE` deliberately. A wrong credential, an absent
2273
+ * challenge and a bad signature are routine noise; this one means a private key may exist in two
2274
+ * places. Recorded as its own type at CRITICAL so it is alertable rather than buried among ordinary
2275
+ * failed logins — which is exactly where it lived until 2026-09-08.
2276
+ *
2277
+ * The device-type, backup and AAGUID fields are carried for TRIAGE, never for a decision: nothing
2278
+ * branches on them. A synced credential that once reported a non-zero counter and then regresses is
2279
+ * still a signal, and exempting by device type would silently disable clone detection for the
2280
+ * growing majority of credentials.
2281
+ */
2282
+ /**
2283
+ * One file that a scanner concluded is infected (#506).
2284
+ *
2285
+ * `threatName` is the scanner's own signature or rule name (`Eicar-Test-Signature`, a YARA rule id).
2286
+ * It is carried because it is the first thing a responder needs and it names a THREAT, not a person
2287
+ * — unlike a file name, which is user-supplied content and is deliberately absent: audit rows are
2288
+ * replicated to the organisation's SIEM and to the immutable store, and an uploaded file's name
2289
+ * routinely carries personal data ("Invoice - Jane Doe.pdf"). The file id resolves to the row for
2290
+ * anyone authorised to look.
2291
+ */
2292
+ export const AuditableEvent_File_MalwareDetectedEventDataSchema = z.object({
2293
+ eventType: z.literal(CoreAuditableEventType.FILE_MALWARE_DETECTED),
2294
+ fileId: z.string(),
2295
+ /** Which scanner concluded it — ClamAV signature matching and YARA pattern matching are different evidence. */
2296
+ scannerRef: z.string(),
2297
+ /** The signature or rule the scanner matched, when it reports one. */
2298
+ threatName: z.string().optional(),
2299
+ /** The resource the file belongs to, when the scan context carries it. */
2300
+ resourceType: z.string().optional(),
2301
+ resourceId: z.string().optional(),
2302
+ organizationId: z.string().optional(),
2303
+ /** Terminal status the file was moved to. Recorded so the row cannot claim a state the record does not hold. */
2304
+ fileStatus: z.string(),
2305
+ });
2306
+ /**
2307
+ * One scan that could not be completed (#506).
2308
+ *
2309
+ * Distinct from a detection: the control did not run. `failureReason` is TRUNCATED because a scanner
2310
+ * error routinely embeds a host, a socket path or a temporary file path, and this row reaches the
2311
+ * organisation's SIEM.
2312
+ */
2313
+ export const AuditableEvent_File_MalwareScanFailedEventDataSchema = z.object({
2314
+ eventType: z.literal(CoreAuditableEventType.FILE_MALWARE_SCAN_FAILED),
2315
+ fileId: z.string(),
2316
+ scannerRef: z.string(),
2317
+ /** Truncated scanner/pipeline error — enough to triage, bounded so a path cannot ride into the SIEM whole. */
2318
+ failureReason: z.string().optional(),
2319
+ resourceType: z.string().optional(),
2320
+ resourceId: z.string().optional(),
2321
+ organizationId: z.string().optional(),
2322
+ fileStatus: z.string(),
2323
+ });
2324
+ export const AuditableEvent_User_PasskeyCloneSuspectedEventDataSchema = z.object({
2325
+ eventType: z.literal(CoreAuditableEventType.USER_PASSKEY_CLONE_SUSPECTED),
2326
+ userId: z.string(),
2327
+ credentialId: z.string(),
2328
+ /** The counter Wildo held for this credential before the assertion. */
2329
+ storedCounter: z.number().int().min(0),
2330
+ /** The counter the authenticator reported. Not greater than `storedCounter`, which is the signal. */
2331
+ receivedCounter: z.number().int().min(0),
2332
+ /** Triage only: `singleDevice` or `multiDevice`, as captured at registration. */
2333
+ credentialDeviceType: z.string(),
2334
+ /** Triage only: whether the credential is backed up (synced), as captured at registration. */
2335
+ credentialBackedUp: z.boolean(),
2336
+ /** Triage only: the authenticator model identifier, when the registration reported one. */
2337
+ aaguid: z.string().optional(),
2338
+ /** Which door the assertion arrived at — a step-up regression is not the same story as a login. */
2339
+ ceremony: z.string(),
2340
+ ipAddress: z.string(),
2341
+ userAgent: z.string(),
2342
+ });
1739
2343
  export const AuditableEvent_User_PasskeyRemovedEventDataSchema = z.object({
1740
2344
  eventType: z.literal(CoreAuditableEventType.USER_PASSKEY_REMOVED),
1741
2345
  userId: z.string(),
@@ -1835,16 +2439,65 @@ export const AuditableEvent_OAuth2ProviderBlockedEventDataSchema = z.object({
1835
2439
  });
1836
2440
  }
1837
2441
  });
2442
+ /**
2443
+ * Authentication-context demand unsatisfied (issue #444).
2444
+ *
2445
+ * Carries BOTH sides of the comparison, because either alone is unactionable: `demandedAcrValues`
2446
+ * is what the connection authored, `receivedAcr` is what the provider's ID token reported. The
2447
+ * received value is OPTIONAL and its absence is the distinct, common case — a provider that emits
2448
+ * no `acr` claim at all — which reads very differently from one that answered with a weaker
2449
+ * context, and an operator must be able to tell them apart from the trail alone.
2450
+ *
2451
+ * No email field. The refusal happens before any identity is established or trusted, and recording
2452
+ * an unauthenticated claimant's address as though it were a subject is the kind of quiet personal
2453
+ * data this family avoids; `providerRef` and the two ACR sides are what a reader needs.
2454
+ */
2455
+ export const AuditableEvent_OidcAcrDemandUnsatisfiedEventDataSchema = z.object({
2456
+ eventType: z.literal(CoreAuditableEventType.OIDC_ACR_DEMAND_UNSATISFIED),
2457
+ providerRef: z.string(),
2458
+ /** The ordered list of acceptable values the connection authored. Never empty — an empty demand is not enforced at all. */
2459
+ demandedAcrValues: z.array(z.string()).min(1),
2460
+ /** What the ID token's `acr` claim reported. ABSENT when the provider emitted no claim. */
2461
+ receivedAcr: z.string().optional(),
2462
+ /** Present when the ID token itself could not be read, which is a different refusal from a mismatched claim. */
2463
+ failureReason: z.string().optional(),
2464
+ });
1838
2465
  // Emergency Access Event Data Schema
2466
+ /**
2467
+ * A named break-glass account signed in past its tenant's own SSO requirement (#423).
2468
+ *
2469
+ * `organizationId` was REQUIRED here and is now one of two scopes, because `emergencyAccess` lives
2470
+ * on the POLYMORPHIC SSO config: an application-scope policy carries break-glass accounts for the
2471
+ * application itself, and requiring an organization id would have made the one event that matters
2472
+ * unemittable for exactly that case — a privileged sign-in with no record, which is the opposite of
2473
+ * what this event is for. The exactly-one-scope refinement follows the OAuth2-provider-blocked
2474
+ * event above rather than inventing a second shape.
2475
+ */
1839
2476
  export const AuditableEvent_EmergencyAccess_UsedEventDataSchema = z.object({
1840
2477
  eventType: z.literal(CoreAuditableEventType.EMERGENCY_ACCESS_USED),
1841
2478
  userId: z.string(),
1842
2479
  email: z.email(),
1843
- organizationId: z.string(),
2480
+ scopeType: z.enum(AuthScopeType),
2481
+ organizationId: z.string().optional(),
2482
+ applicationId: z.string().optional(),
1844
2483
  reason: z.string().optional(),
1845
2484
  ipAddress: z.string(),
1846
2485
  userAgent: z.string(),
1847
2486
  sessionId: z.string(),
2487
+ }).superRefine((event, ctx) => {
2488
+ const hasOrganizationScope = event.scopeType === AuthScopeType.ORGANIZATION
2489
+ && event.organizationId !== undefined
2490
+ && event.applicationId === undefined;
2491
+ const hasApplicationScope = event.scopeType === AuthScopeType.APPLICATION
2492
+ && event.applicationId !== undefined
2493
+ && event.organizationId === undefined;
2494
+ if (!hasOrganizationScope && !hasApplicationScope) {
2495
+ ctx.addIssue({
2496
+ code: 'custom',
2497
+ path: ['scopeType'],
2498
+ message: 'Emergency-access events require exactly one explicit tenant scope',
2499
+ });
2500
+ }
1848
2501
  });
1849
2502
  export const AuditableEvent_FieldAccess_EventDataSchema = z.object({
1850
2503
  eventType: z.literal(CoreAuditableEventType.FIELD_ACCESS),
@@ -2034,17 +2687,21 @@ export const AuditableEvent_ResourceOperationPerformed_EventDataSchema = z.objec
2034
2687
  * `organization-ownership-grant-hostile.e2e.ts` probe F-1a, which deleted a membership row in
2035
2688
  * another tenant and got a 200.
2036
2689
  *
2037
- * This event is the visibility half. It does NOT refuse refusing is a separate, much larger change
2038
- * with a measured blast radius (see the plan) and is a policy decision in its own right. Emission is
2690
+ * This event is the visibility half, and it is NOT the refusal. The refusal shipped separately and
2691
+ * lives in `authorizeOrganizations`: an undeclared crossing is no longer admitted, and the caller is
2692
+ * answered as not-found so the response cannot be used as an existence oracle. Emission here stays
2039
2693
  * best-effort and never blocks the request: an operator action must not fail because the audit sink
2040
2694
  * is down, and a fail-closed variant would let anyone disable operator support by breaking the sink.
2695
+ * The observation is taken BEFORE the admission decision, on purpose, so a sanctioned crossing is
2696
+ * recorded too.
2041
2697
  *
2042
2698
  * ## Reading the event
2043
2699
  *
2044
2700
  * {@link admissionDeclared} is the field that matters most. `true` means the operation VARIANT
2045
2701
  * declared `admitsCrossTenantPlatformAdministration` — an intended, reviewed crossing such as
2046
- * `organizationMembers.grantOwnership`. `false` means the reach came from the structural gap above:
2047
- * nobody declared it, no spec documents it, and it is the population to watch.
2702
+ * `organizationMembers.grantOwnership`, which additionally requires a usable platform access grant.
2703
+ * `false` now means an ATTEMPTED undeclared crossing, which was refused: still the population to
2704
+ * watch, because it is reach nobody declared and no specification describes.
2048
2705
  *
2049
2706
  * assurance-control: WILDO.ACCESS.CROSS_TENANT_ADMINISTRATION — platform-tier access to a tenant the
2050
2707
  * principal does not belong to.
@@ -2076,8 +2733,25 @@ export const AuditableEvent_PlatformAccessGrantLifecycle_EventDataSchema = z.obj
2076
2733
  transition: z.enum(PlatformAccessGrantLifecycleTransition),
2077
2734
  /** The grant, so the whole timeline can be reassembled from its rows. */
2078
2735
  grantId: z.string(),
2079
- /** The tenant that was, or would have been, reached into. */
2080
- targetOrganizationId: z.string(),
2736
+ /**
2737
+ * WHAT the elevation reaches, and therefore who was entitled to approve it.
2738
+ *
2739
+ * Carried explicitly rather than inferred from the presence of `targetOrganizationId`: a reviewer
2740
+ * asking "was this approved by the party the rules require?" needs the SCOPE, and deriving it from
2741
+ * a field's absence would make a lost or scrubbed value read as an application-wide elevation.
2742
+ *
2743
+ * `TENANT` is the default so every row written before this axis existed keeps its true meaning —
2744
+ * the application-wide grant did not exist then.
2745
+ */
2746
+ grantScope: z.enum(PlatformAccessGrantScope).default(PlatformAccessGrantScope.TENANT),
2747
+ /**
2748
+ * The tenant that was, or would have been, reached into.
2749
+ *
2750
+ * OPTIONAL since the application-wide scope arrived: that grant names no tenant, and writing a
2751
+ * placeholder would be a lie about which customer an operator reached. Absent ⇔
2752
+ * `grantScope === APPLICATION_WIDE`.
2753
+ */
2754
+ targetOrganizationId: z.string().optional(),
2081
2755
  /** The operator who asked. Never the decider — see {@link decidedByUserId}. */
2082
2756
  operatorUserId: z.string(),
2083
2757
  /** Why the operator said they needed access. Recorded on every transition, not only the request. */
@@ -2119,11 +2793,20 @@ export const AuditableEvent_CrossTenantAdministrativeAccess_EventDataSchema = z.
2119
2793
  * and on any crossing admitted before grants were required.
2120
2794
  */
2121
2795
  authorizingGrantId: z.string().optional(),
2796
+ /**
2797
+ * WHICH COLLECTION {@link authorizingGrantId} names.
2798
+ *
2799
+ * A grant id alone is not resolvable: `platformAccessGrants` and `applicationAccessGrants` are two
2800
+ * resources with two collections, and a reviewer handed only an id has to try both. Absent exactly
2801
+ * when `authorizingGrantId` is.
2802
+ */
2803
+ authorizingGrantScope: z.enum(PlatformAccessGrantScope).optional(),
2122
2804
  /**
2123
2805
  * Did the operation variant DECLARE this crossing (`admitsCrossTenantPlatformAdministration`)?
2124
2806
  *
2125
- * `false` is the signal worth alerting on: reach that no variant asked for and no specification
2126
- * describes. See this schema's JSDoc.
2807
+ * `false` is the signal worth alerting on: an ATTEMPTED crossing that no variant asked for and no
2808
+ * specification describes. It was refused, so the row records an attempt rather than a completed
2809
+ * access. See this schema's JSDoc.
2127
2810
  */
2128
2811
  admissionDeclared: z.boolean(),
2129
2812
  /** The caller's roles as they were at decision time. */
@@ -2166,6 +2849,21 @@ export const AuditableEvent_PlatformDirectoryAccess_EventDataSchema = z.object({
2166
2849
  initiatorRoles: z.array(z.string()),
2167
2850
  /** How the call was initiated — separates a human operator from framework machinery. */
2168
2851
  executionType: z.enum(ExecutionContext_ExecutionType),
2852
+ /**
2853
+ * The application-wide elevation that authorised this directory read.
2854
+ *
2855
+ * Until 2026-09-09 this event named NO elevation, because none was required — the read was gated on
2856
+ * an administrator role alone while the far narrower per-row crossing required a usable, time-bound,
2857
+ * approved grant. That inversion is what `applicationAccessGrants` closes, and this field is the
2858
+ * evidence half of the closure: it is what joins a directory read to the two administrators who
2859
+ * signed for it.
2860
+ *
2861
+ * Absent on a read the admission does not gate — an exempt execution type (batch, webhook), or a
2862
+ * read the confinement authority confined, neither of which is an elevation.
2863
+ */
2864
+ authorizingGrantId: z.string().optional(),
2865
+ /** WHICH collection {@link authorizingGrantId} names. Absent exactly when it is. */
2866
+ authorizingGrantScope: z.enum(PlatformAccessGrantScope).optional(),
2169
2867
  });
2170
2868
  export const AuditableEvent_ResourceOperationDenied_EventDataSchema = z.object({
2171
2869
  eventType: z.literal(CoreAuditableEventType.RESOURCE_OPERATION_DENIED),
@@ -2236,22 +2934,24 @@ export const AuditableEvent_ResourceOperationDenied_EventDataSchema = z.object({
2236
2934
  * that scrubbed data, and its two defining properties (vs `SYSTEM_CONTEXT_READ`, which names only the
2237
2935
  * RUNTIME that acted, never a human) are:
2238
2936
  *
2239
- * 1. **Human attribution** — `accessingUserId` names the actual super-admin / `COMPLIANCE_AUDITOR`
2240
- * who exercised the see-through, so a retained-data reveal is never anonymous. Non-empty
2241
- * (`.trim().min(1)`) a blank id cannot stand in for a human.
2937
+ * 1. **Human attribution** — `accessingUserId` names the actual human who exercised the see-through,
2938
+ * so a retained-data reveal is never anonymous. Non-empty (`.trim().min(1)`) — a blank id cannot
2939
+ * stand in for a human. The gate admits `APP_ADMIN_SUPER_ADMIN` and nothing else; a dedicated
2940
+ * auditor role does not exist yet, and adding one is a purely additive change to that gate.
2242
2941
  * 2. **A required reason** — `reason` is the mandatory justification for revealing scrubbed PII.
2243
2942
  * Non-empty (`.trim().min(1)`): a blank OR whitespace-only reason fails validation, so the audit
2244
2943
  * trail cannot record a reveal without a real "why". The see-through primitives ALSO fail-closed on
2245
2944
  * blank attribution before the read (the schema `.min(1)` is the contract; the primitive guard is
2246
2945
  * the enforcement point, since the audit store persists `eventData` as an unparsed record).
2247
2946
  *
2248
- * Strictly read-only (the see-through primitive never mutates). Emitted by the see-through read
2249
- * primitive (`readRetainedAsSystem` / `listRetainedAsSystem`) wired in a later phase; this is the
2250
- * contract only.
2947
+ * Strictly read-only (the see-through primitive never mutates). Emitted TODAY by both see-through
2948
+ * read primitives, `readRetainedAsSystem` and `listRetainedAsSystem`: each calls
2949
+ * `logRetainedDataAccess` after its gates pass, so this is a live event, not a contract awaiting a
2950
+ * producer.
2251
2951
  */
2252
2952
  export const AuditableEvent_RetainedDataAccess_EventDataSchema = z.object({
2253
2953
  eventType: z.literal(CoreAuditableEventType.RETAINED_DATA_ACCESS),
2254
- /** The HUMAN principal who performed the see-through read (super-admin / COMPLIANCE_AUDITOR). Non-empty. */
2954
+ /** The HUMAN principal who performed the see-through read (an application super-administrator). Non-empty. */
2255
2955
  accessingUserId: z.string().trim().min(1),
2256
2956
  /** REQUIRED non-empty compliance justification for revealing the retained (scrubbed) records — the "why". */
2257
2957
  reason: z.string().trim().min(1),
@@ -2363,6 +3063,145 @@ export const AuditableEvent_CollectionDataExport_EventDataSchema = z.object({
2363
3063
  /** Tenant scope, when the export ran org-scoped. */
2364
3064
  organizationId: z.string().optional(),
2365
3065
  });
3066
+ /**
3067
+ * The application CALLED a declared operation on a third-party provider (S3a/S3b; see the enum
3068
+ * member's docstring for why this is neither an HTTP_API read-through nor a credential-use event).
3069
+ *
3070
+ * One event per OUTBOUND CALL, emitted on both the success and the failure path. Recording only
3071
+ * what worked would hide the attempts, and a refused or failed outbound call is exactly what a
3072
+ * reviewer wants to see first.
3073
+ *
3074
+ * Ids and SHAPE only, never a payload. There is no field for the request body, the response body or
3075
+ * the credential — a structural property of this schema rather than a redaction step somebody has to
3076
+ * remember, for the same reason the credential family carries no value field.
3077
+ *
3078
+ * assurance-control: WILDO.ACCESS.AUTHORIZATION_DECISION_AUDIT — records WHOSE third-party account
3079
+ * an outbound call spent, which the initiator's own ids cannot answer once one execution may spend
3080
+ * several.
3081
+ */
3082
+ export const AuditableEvent_ProviderOperationCall_EventDataSchema = z.object({
3083
+ eventType: z.literal(CoreAuditableEventType.PROVIDER_OPERATION_CALL),
3084
+ /** The provider whose catalogue declared the operation (e.g. `slack`). */
3085
+ providerRef: z.string().trim().min(1),
3086
+ /** The operation id as the catalogue declares it. */
3087
+ operationId: z.string().trim().min(1),
3088
+ /** The catalogue domain the operation belongs to. */
3089
+ domain: z.string().trim().min(1),
3090
+ /** The HTTP method the compiled request used. */
3091
+ method: z.string().trim().min(1),
3092
+ /** `READ` | `WRITE`, as the operation declares its effect — the axis a reviewer filters on first. */
3093
+ classification: z.string().trim().min(1),
3094
+ /**
3095
+ * WHOSE ACCOUNT the call spent: `application` | `organization` | `user`.
3096
+ *
3097
+ * Deliberately separate from `organizationId` below, which records the tenant the REQUEST was
3098
+ * scoped to. Those are the same tenant in the ordinary case and different ones exactly where it
3099
+ * matters — a trail carrying only the initiator's organization would attribute a fan-out's calls
3100
+ * to the wrong tenants.
3101
+ */
3102
+ connectionOwnerScope: z.string().trim().min(1),
3103
+ /** The owner's id, absent for an application-owned call which names no second party. */
3104
+ connectionOwnerId: z.string().optional(),
3105
+ /** `service` | `user` — whether the call acted for the owner itself or on a person's delegation. */
3106
+ connectionDelegation: z.string().trim().min(1),
3107
+ /** HTTP status of the answer; absent when the call never got one. */
3108
+ status: z.number().int().optional(),
3109
+ /** Present when the call failed, naming the failure KIND rather than the vendor's prose. */
3110
+ failureKind: z.string().optional(),
3111
+ /** The REAL initiating user — absent only for genuine machine/internal executions. */
3112
+ initiatorUserId: z.string().optional(),
3113
+ /** The execution type that acted, for the machine/internal cases. */
3114
+ executionType: z.string().optional(),
3115
+ /** The tenant the REQUEST was scoped to — see `connectionOwnerScope`. */
3116
+ organizationId: z.string().optional(),
3117
+ });
3118
+ /**
3119
+ * An agent reached an MCP server — the outbound trail for a tool call that leaves the trust
3120
+ * boundary (#491).
3121
+ *
3122
+ * One event per ATTEMPT, successful or not. Recording only what worked would hide exactly what a
3123
+ * reviewer wants first: the refused targets, the calls that timed out, and the tools that answered
3124
+ * with their own error. `outcome` names which of those it was, in the client's own vocabulary, so
3125
+ * the trail and the logs agree on the words.
3126
+ *
3127
+ * Ids, HOST and SHAPE only — never a payload. There is no field for the tool arguments, the tool
3128
+ * result or the credential. That is a structural property of this schema rather than a redaction
3129
+ * step somebody has to remember, the same choice the provider-call and credential families make.
3130
+ * `destinationHost` and not the URL, because an MCP endpoint routinely carries a tenant or session
3131
+ * identifier in its path.
3132
+ *
3133
+ * assurance-control: WILDO.ACCESS.AUTHORIZATION_DECISION_AUDIT — records WHOSE third-party account
3134
+ * an agent's tool call spent, which the initiator's own ids cannot answer once one turn may spend
3135
+ * either the person's or the tenant's.
3136
+ */
3137
+ export const AuditableEvent_McpToolCall_EventDataSchema = z.object({
3138
+ eventType: z.literal(CoreAuditableEventType.MCP_TOOL_CALL),
3139
+ /** The server ref the application declared and the agent named. */
3140
+ mcpServerRef: z.string().trim().min(1),
3141
+ /** HOST only — see the docstring for why never the URL. */
3142
+ destinationHost: z.string().trim().min(1),
3143
+ /** The tool called. Absent when the attempt failed before any tool was chosen (discovery). */
3144
+ toolName: z.string().optional(),
3145
+ /** The client's outcome kind — `ok`, `refused_target`, `unreachable`, `timed_out`, `protocol_error`, `tool_error`. */
3146
+ outcome: z.string().trim().min(1),
3147
+ /**
3148
+ * WHOSE ACCOUNT the call spent: `user` | `organization`. Absent when no credential was resolved,
3149
+ * which is itself the reason the attempt failed.
3150
+ *
3151
+ * Separate from `organizationId` for the same reason as the provider-call event: those are the
3152
+ * same tenant in the ordinary case, and different ones exactly where it matters.
3153
+ */
3154
+ connectionOwnerScope: z.string().optional(),
3155
+ /** The credential row that was spent, for the audit trail. */
3156
+ credentialId: z.string().optional(),
3157
+ /** The REAL initiating user — absent only for genuine machine/internal executions. */
3158
+ initiatorUserId: z.string().optional(),
3159
+ /** The tenant the turn was scoped to — see `connectionOwnerScope`. */
3160
+ organizationId: z.string().optional(),
3161
+ /** The agent whose declaration named the server, so a trail can be read back to a configuration. */
3162
+ agentRef: z.string().optional(),
3163
+ });
3164
+ /**
3165
+ * A human approver AUTHORED the arguments an approval-gated tool ran with (#566).
3166
+ *
3167
+ * One row per MODIFIED approval — never per approval. See the enum member's docstring for why an
3168
+ * ordinary approval is not this event, and for why no argument VALUE appears in this schema.
3169
+ *
3170
+ * `proposedInputDigest` / `executedInputDigest` are the model SDK's own canonical input digests, the
3171
+ * same values its approval signature is computed over. That is what makes them evidence rather than
3172
+ * a convenience: a reader holding the executed call can recompute the second and see it match, and
3173
+ * the two differing is proof that the call which ran is not the call which was proposed — with no
3174
+ * copy of either payload on the trail.
3175
+ *
3176
+ * assurance-control: WILDO.ACCESS.AUTHORIZATION_DECISION_AUDIT — records that an authorization
3177
+ * decision REWROTE the act it authorized, and who made it.
3178
+ */
3179
+ export const AuditableEvent_AgentToolApprovalModified_EventDataSchema = z.object({
3180
+ eventType: z.literal(CoreAuditableEventType.AGENT_TOOL_APPROVAL_MODIFIED),
3181
+ /** The conversational execution whose turn was paused. */
3182
+ executionId: z.string().trim().min(1),
3183
+ /** The pending decision's id — correlates this row with the pause and the resume in the logs. */
3184
+ approvalId: z.string().trim().min(1),
3185
+ /** The actor system the turn belongs to. */
3186
+ systemRef: z.string().trim().min(1),
3187
+ /** The agent whose declaration gated the tool, so a trail reads back to a configuration. */
3188
+ agentRef: z.string().trim().min(1),
3189
+ /** The approval-gated tool, as the model was shown it. */
3190
+ toolName: z.string().trim().min(1),
3191
+ /** Canonical digest of the arguments the MODEL proposed. */
3192
+ proposedInputDigest: z.string().trim().min(1),
3193
+ /** Canonical digest of the arguments that actually RAN. Differs from the above by construction. */
3194
+ executedInputDigest: z.string().trim().min(1),
3195
+ /**
3196
+ * The argument NAMES the approver changed, sorted. Names only — a field name is not personal data,
3197
+ * which is exactly why it is always safe and always recorded.
3198
+ */
3199
+ modifiedArgumentKeys: z.array(z.string()),
3200
+ /** The approver. Absent never happens on this plane — only a present human can answer — but the envelope owns the field. */
3201
+ approverUserId: z.string().optional(),
3202
+ /** The tenant the turn was scoped to. */
3203
+ organizationId: z.string().optional(),
3204
+ });
2366
3205
  /**
2367
3206
  * Rows were read THROUGH an HTTP-API resource binding — the read-through trail for data living in
2368
3207
  * an EXTERNAL system the platform does not own (ETL plan D8/R6; see the enum member's docstring
@@ -2861,6 +3700,10 @@ export const AuditableEvent_TypedDataSchema = z.discriminatedUnion('eventType',
2861
3700
  AuditableEvent_User_TokenRefreshedEventDataSchema,
2862
3701
  AuditableEvent_Organization_SSOConfigurationChangedEventDataSchema,
2863
3702
  AuditableEvent_Organization_SIEMExportConfiguredEventDataSchema,
3703
+ AuditableEvent_OrganizationProviderCredential_SetEventDataSchema,
3704
+ AuditableEvent_OrganizationProviderCredential_RotatedEventDataSchema,
3705
+ AuditableEvent_OrganizationProviderCredential_UsedEventDataSchema,
3706
+ AuditableEvent_OrganizationProviderCredential_DeletedEventDataSchema,
2864
3707
  AuditableEvent_ApplicationAuthPolicyChanged_EventDataSchema,
2865
3708
  AuditableEvent_Webhook_EndpointTestDispatchedEventDataSchema,
2866
3709
  AuditableEvent_SCIM_TokenCreatedEventDataSchema,
@@ -2881,6 +3724,7 @@ export const AuditableEvent_TypedDataSchema = z.discriminatedUnion('eventType',
2881
3724
  AuditableEvent_User_PasskeyAuthSuccessEventDataSchema,
2882
3725
  AuditableEvent_User_PasskeyAuthFailureEventDataSchema,
2883
3726
  AuditableEvent_User_PasskeyRemovedEventDataSchema,
3727
+ AuditableEvent_User_PasskeyCloneSuspectedEventDataSchema,
2884
3728
  AuditableEvent_User_MagicLinkSentEventDataSchema,
2885
3729
  AuditableEvent_User_MagicLinkVerifiedEventDataSchema,
2886
3730
  AuditableEvent_User_MagicLinkFailedEventDataSchema,
@@ -2890,6 +3734,7 @@ export const AuditableEvent_TypedDataSchema = z.discriminatedUnion('eventType',
2890
3734
  AuditableEvent_User_PhoneVerifiedEventDataSchema,
2891
3735
  AuditableEvent_User_PhoneVerificationFailedEventDataSchema,
2892
3736
  AuditableEvent_OAuth2ProviderBlockedEventDataSchema,
3737
+ AuditableEvent_OidcAcrDemandUnsatisfiedEventDataSchema,
2893
3738
  AuditableEvent_EmergencyAccess_UsedEventDataSchema,
2894
3739
  AuditableEvent_FieldAccess_EventDataSchema,
2895
3740
  AuditableEvent_ResourceOperationPerformed_EventDataSchema,
@@ -2902,6 +3747,7 @@ export const AuditableEvent_TypedDataSchema = z.discriminatedUnion('eventType',
2902
3747
  AuditableEvent_CollectionDataExport_EventDataSchema,
2903
3748
  AuditableEvent_User_SessionEvictedEventDataSchema,
2904
3749
  AuditableEvent_HttpApiReadThroughAccess_EventDataSchema,
3750
+ AuditableEvent_ProviderOperationCall_EventDataSchema,
2905
3751
  AuditableEvent_HttpApiExternalErasure_EventDataSchema,
2906
3752
  AuditableEvent_HttpApiNonErasureAcknowledged_EventDataSchema,
2907
3753
  AuditableEvent_User_CrossFrontendHandoffIssuedEventDataSchema,