@wildo-ai/saas-models 1.1.1 → 1.1.3

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 (588) hide show
  1. package/dist/esm/applications/applications-context.schemas.d.ts +16 -10
  2. package/dist/esm/applications/applications-context.schemas.d.ts.map +1 -1
  3. package/dist/esm/applications/applications.shared.resources-config.schemas.d.ts.map +1 -1
  4. package/dist/esm/applications/applications.shared.resources-config.schemas.js +4 -3
  5. package/dist/esm/applications/applications.shared.resources-config.schemas.js.map +1 -1
  6. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts +1 -1
  7. package/dist/esm/billing/billing-account.shared.resources-config.schemas.d.ts.map +1 -1
  8. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js +36 -0
  9. package/dist/esm/billing/billing-account.shared.resources-config.schemas.js.map +1 -1
  10. package/dist/esm/billing/billing-account.shared.schemas.d.ts.map +1 -1
  11. package/dist/esm/billing/billing-account.shared.schemas.js +8 -1
  12. package/dist/esm/billing/billing-account.shared.schemas.js.map +1 -1
  13. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts +0 -4
  14. package/dist/esm/billing/billing-configuration.shared.schemas.d.ts.map +1 -1
  15. package/dist/esm/billing/billing-configuration.shared.schemas.js +59 -17
  16. package/dist/esm/billing/billing-configuration.shared.schemas.js.map +1 -1
  17. package/dist/esm/billing/billing-enums.shared.schemas.d.ts +77 -21
  18. package/dist/esm/billing/billing-enums.shared.schemas.d.ts.map +1 -1
  19. package/dist/esm/billing/billing-enums.shared.schemas.js +85 -23
  20. package/dist/esm/billing/billing-enums.shared.schemas.js.map +1 -1
  21. package/dist/esm/billing/billing-types.shared.schemas.d.ts +5 -5
  22. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts +1 -1
  23. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.d.ts.map +1 -1
  24. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js +39 -0
  25. package/dist/esm/billing/credit-pool.shared.resources-config.schemas.js.map +1 -1
  26. package/dist/esm/billing/credit-pool.shared.schemas.d.ts +6 -6
  27. package/dist/esm/billing/credit-pool.shared.schemas.d.ts.map +1 -1
  28. package/dist/esm/billing/credit-pool.shared.schemas.js +8 -4
  29. package/dist/esm/billing/credit-pool.shared.schemas.js.map +1 -1
  30. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts +1 -1
  31. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.d.ts.map +1 -1
  32. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js +35 -0
  33. package/dist/esm/billing/invoice-ref.shared.resources-config.schemas.js.map +1 -1
  34. package/dist/esm/billing/invoice-ref.shared.schemas.d.ts.map +1 -1
  35. package/dist/esm/billing/invoice-ref.shared.schemas.js +8 -3
  36. package/dist/esm/billing/invoice-ref.shared.schemas.js.map +1 -1
  37. package/dist/esm/billing/price.shared.schemas.d.ts.map +1 -1
  38. package/dist/esm/billing/price.shared.schemas.js +7 -1
  39. package/dist/esm/billing/price.shared.schemas.js.map +1 -1
  40. package/dist/esm/billing/product-behavior-policy.shared.schemas.d.ts.map +1 -1
  41. package/dist/esm/billing/product-behavior-policy.shared.schemas.js +52 -11
  42. package/dist/esm/billing/product-behavior-policy.shared.schemas.js.map +1 -1
  43. package/dist/esm/billing/product-definition.shared.schemas.d.ts +2 -2
  44. package/dist/esm/billing/product.shared.resources-config.schemas.d.ts +2 -2
  45. package/dist/esm/billing/product.shared.schemas.d.ts +2 -2
  46. package/dist/esm/billing/product.shared.schemas.d.ts.map +1 -1
  47. package/dist/esm/billing/product.shared.schemas.js +7 -3
  48. package/dist/esm/billing/product.shared.schemas.js.map +1 -1
  49. package/dist/esm/billing/subscription.shared.resources-config.schemas.d.ts +2 -2
  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 +54 -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 +4 -4
  54. package/dist/esm/billing/subscription.shared.schemas.d.ts.map +1 -1
  55. package/dist/esm/billing/subscription.shared.schemas.js +6 -2
  56. package/dist/esm/billing/subscription.shared.schemas.js.map +1 -1
  57. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts +1 -1
  58. package/dist/esm/billing/usage-record.shared.resources-config.schemas.d.ts.map +1 -1
  59. package/dist/esm/billing/usage-record.shared.resources-config.schemas.js +39 -0
  60. package/dist/esm/billing/usage-record.shared.resources-config.schemas.js.map +1 -1
  61. package/dist/esm/billing/usage-record.shared.schemas.d.ts +11 -7
  62. package/dist/esm/billing/usage-record.shared.schemas.d.ts.map +1 -1
  63. package/dist/esm/billing/usage-record.shared.schemas.js +29 -6
  64. package/dist/esm/billing/usage-record.shared.schemas.js.map +1 -1
  65. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts +69 -2
  66. package/dist/esm/companion/provider-discovery.shared.schemas.d.ts.map +1 -1
  67. package/dist/esm/companion/provider-discovery.shared.schemas.js +20 -1
  68. package/dist/esm/companion/provider-discovery.shared.schemas.js.map +1 -1
  69. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts +85 -0
  70. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.d.ts.map +1 -0
  71. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js +157 -0
  72. package/dist/esm/compliance/audit-trails/application-audit-logs.shared.resources-config.schemas.js.map +1 -0
  73. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.d.ts.map +1 -1
  74. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js +35 -2
  75. package/dist/esm/compliance/audit-trails/audit-logs.shared.resources-config.schemas.js.map +1 -1
  76. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts +23 -0
  77. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.d.ts.map +1 -1
  78. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js +56 -0
  79. package/dist/esm/compliance/audit-trails/audit-trail-config.shared.schemas.js.map +1 -1
  80. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts +541 -20
  81. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.d.ts.map +1 -1
  82. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js +605 -23
  83. package/dist/esm/compliance/audit-trails/auditable-events.shared.schema.js.map +1 -1
  84. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.d.ts.map +1 -1
  85. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js +96 -3
  86. package/dist/esm/compliance/audit-trails/security-audit-event-envelope.shared.schema.js.map +1 -1
  87. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts +49 -0
  88. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.d.ts.map +1 -1
  89. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.js +124 -1
  90. package/dist/esm/compliance/privacy/impersonalization-scrub.shared.utils.js.map +1 -1
  91. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts +11 -3
  92. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.d.ts.map +1 -1
  93. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js +11 -3
  94. package/dist/esm/compliance/privacy/impersonalization.shared.schemas.js.map +1 -1
  95. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts +94 -0
  96. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.d.ts.map +1 -0
  97. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js +211 -0
  98. package/dist/esm/compliance/privacy/operating-jurisdictions.shared.schemas.js.map +1 -0
  99. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts +67 -12
  100. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.d.ts.map +1 -1
  101. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js +95 -8
  102. package/dist/esm/compliance/privacy/operator-compliance-identity.shared.schemas.js.map +1 -1
  103. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts +17 -0
  104. package/dist/esm/compliance/privacy/privacy.shared.schemas.d.ts.map +1 -1
  105. package/dist/esm/compliance/privacy/privacy.shared.schemas.js +27 -4
  106. package/dist/esm/compliance/privacy/privacy.shared.schemas.js.map +1 -1
  107. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts +89 -16
  108. package/dist/esm/compliance/privacy/redaction.shared.schemas.d.ts.map +1 -1
  109. package/dist/esm/compliance/privacy/redaction.shared.schemas.js +101 -15
  110. package/dist/esm/compliance/privacy/redaction.shared.schemas.js.map +1 -1
  111. package/dist/esm/compliance/privacy/subject-export.shared.schemas.d.ts.map +1 -1
  112. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js +12 -5
  113. package/dist/esm/compliance/privacy/subject-export.shared.schemas.js.map +1 -1
  114. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts +21 -0
  115. package/dist/esm/config/analytics-value-moments.shared.schemas.d.ts.map +1 -1
  116. package/dist/esm/config/analytics-value-moments.shared.schemas.js +20 -0
  117. package/dist/esm/config/analytics-value-moments.shared.schemas.js.map +1 -1
  118. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts +9 -5
  119. package/dist/esm/config/app-configuration-shared.shared.schemas.d.ts.map +1 -1
  120. package/dist/esm/config/app-configuration-shared.shared.schemas.js +29 -0
  121. package/dist/esm/config/app-configuration-shared.shared.schemas.js.map +1 -1
  122. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts +8 -1
  123. package/dist/esm/config/auth-config-resolution.shared.utils.d.ts.map +1 -1
  124. package/dist/esm/config/auth-config-resolution.shared.utils.js +29 -0
  125. package/dist/esm/config/auth-config-resolution.shared.utils.js.map +1 -1
  126. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts +95 -17
  127. package/dist/esm/config/entity-identity-config.shared.schemas.d.ts.map +1 -1
  128. package/dist/esm/config/entity-identity-config.shared.schemas.js +86 -8
  129. package/dist/esm/config/entity-identity-config.shared.schemas.js.map +1 -1
  130. package/dist/esm/config/frontend/chart-definition.shared.schemas.d.ts +12 -12
  131. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts +33 -0
  132. package/dist/esm/config/frontend/navigation.shared.schemas.d.ts.map +1 -1
  133. package/dist/esm/config/frontend/navigation.shared.schemas.js +32 -0
  134. package/dist/esm/config/frontend/navigation.shared.schemas.js.map +1 -1
  135. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts +40 -1
  136. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.d.ts.map +1 -1
  137. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js +40 -1
  138. package/dist/esm/errors/errors.custom-message-ref.shared.definitions.js.map +1 -1
  139. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts +57 -11
  140. package/dist/esm/external-data/external-data-pipeline.shared.schemas.d.ts.map +1 -1
  141. package/dist/esm/external-data/external-data-pipeline.shared.schemas.js.map +1 -1
  142. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts +109 -64
  143. package/dist/esm/external-providers/engine-capabilities.shared.schemas.d.ts.map +1 -1
  144. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js +200 -19
  145. package/dist/esm/external-providers/engine-capabilities.shared.schemas.js.map +1 -1
  146. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts +15 -3
  147. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.d.ts.map +1 -1
  148. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js +32 -7
  149. package/dist/esm/external-providers/engine-capability-resolution-mode.shared.js.map +1 -1
  150. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts +84 -7
  151. package/dist/esm/external-providers/frontend-bootstrap.shared.schemas.d.ts.map +1 -1
  152. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts +59 -0
  153. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.d.ts.map +1 -0
  154. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js +61 -0
  155. package/dist/esm/external-providers/frontend-capability-public-config.shared.schemas.js.map +1 -0
  156. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts +97 -0
  157. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.d.ts.map +1 -0
  158. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js +41 -0
  159. package/dist/esm/external-providers/frontend-capability-runtime.shared.types.js.map +1 -0
  160. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts +148 -2
  161. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.d.ts.map +1 -1
  162. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js +56 -1
  163. package/dist/esm/external-providers/frontend-provider-entry.shared.schemas.js.map +1 -1
  164. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts +9 -31
  165. package/dist/esm/external-providers/provider-capability.shared.schemas.d.ts.map +1 -1
  166. package/dist/esm/external-providers/provider-capability.shared.schemas.js +8 -5
  167. package/dist/esm/external-providers/provider-capability.shared.schemas.js.map +1 -1
  168. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts +18 -8
  169. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.d.ts.map +1 -1
  170. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js +9 -4
  171. package/dist/esm/external-providers/provider-compliance-profile.shared.schemas.js.map +1 -1
  172. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts +338 -0
  173. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.d.ts.map +1 -0
  174. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js +332 -0
  175. package/dist/esm/external-providers/provider-frontend-surface.shared.schemas.js.map +1 -0
  176. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts +178 -9
  177. package/dist/esm/external-providers/provider-metadata.shared.schemas.d.ts.map +1 -1
  178. package/dist/esm/external-providers/provider-metadata.shared.schemas.js +181 -9
  179. package/dist/esm/external-providers/provider-metadata.shared.schemas.js.map +1 -1
  180. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts +7 -5
  181. package/dist/esm/external-providers/provider-protocol.shared.schemas.d.ts.map +1 -1
  182. package/dist/esm/external-providers/provider-protocol.shared.schemas.js +7 -5
  183. package/dist/esm/external-providers/provider-protocol.shared.schemas.js.map +1 -1
  184. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts +40 -0
  185. package/dist/esm/external-providers/provider-tier-rule.shared.utils.d.ts.map +1 -0
  186. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js +80 -0
  187. package/dist/esm/external-providers/provider-tier-rule.shared.utils.js.map +1 -0
  188. package/dist/esm/features/core-feature-definitions.shared.d.ts.map +1 -1
  189. package/dist/esm/features/core-feature-definitions.shared.js +7 -1
  190. package/dist/esm/features/core-feature-definitions.shared.js.map +1 -1
  191. package/dist/esm/features/feature-builders.shared.d.ts +32 -0
  192. package/dist/esm/features/feature-builders.shared.d.ts.map +1 -1
  193. package/dist/esm/features/feature-builders.shared.js +32 -0
  194. package/dist/esm/features/feature-builders.shared.js.map +1 -1
  195. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts +1 -1
  196. package/dist/esm/features/user-features.shared.resources-config.schemas.d.ts.map +1 -1
  197. package/dist/esm/features/user-features.shared.resources-config.schemas.js +48 -0
  198. package/dist/esm/features/user-features.shared.resources-config.schemas.js.map +1 -1
  199. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts +156 -0
  200. package/dist/esm/files/file-upload-grant.shared.schemas.d.ts.map +1 -0
  201. package/dist/esm/files/file-upload-grant.shared.schemas.js +175 -0
  202. package/dist/esm/files/file-upload-grant.shared.schemas.js.map +1 -0
  203. package/dist/esm/files/files.shared.schemas.d.ts +52 -4
  204. package/dist/esm/files/files.shared.schemas.d.ts.map +1 -1
  205. package/dist/esm/files/files.shared.schemas.js +55 -4
  206. package/dist/esm/files/files.shared.schemas.js.map +1 -1
  207. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts +1 -1
  208. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.d.ts.map +1 -1
  209. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.js +33 -0
  210. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.resources-config.schemas.js.map +1 -1
  211. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.d.ts.map +1 -1
  212. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.js +6 -2
  213. package/dist/esm/flows-actors/a2a-push-delivery-log.shared.schemas.js.map +1 -1
  214. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts +1 -1
  215. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.d.ts.map +1 -1
  216. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.js +53 -0
  217. package/dist/esm/flows-actors/a2a-token-budget-state.shared.resources-config.schemas.js.map +1 -1
  218. package/dist/esm/flows-actors/actors.shared.schemas.d.ts.map +1 -1
  219. package/dist/esm/flows-actors/actors.shared.schemas.js +3 -2
  220. package/dist/esm/flows-actors/actors.shared.schemas.js.map +1 -1
  221. package/dist/esm/flows-actors/agents.shared.schemas.d.ts +54 -5
  222. package/dist/esm/flows-actors/agents.shared.schemas.d.ts.map +1 -1
  223. package/dist/esm/flows-actors/agents.shared.schemas.js.map +1 -1
  224. package/dist/esm/flows-actors/apps-blueprint/apps-blueprint.shared.schemas.d.ts +6 -6
  225. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts +0 -3
  226. package/dist/esm/flows-actors/deliberation.shared.schemas.d.ts.map +1 -1
  227. package/dist/esm/flows-actors/deliberation.shared.schemas.js +0 -5
  228. package/dist/esm/flows-actors/deliberation.shared.schemas.js.map +1 -1
  229. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts +1 -1
  230. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.d.ts.map +1 -1
  231. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.js +43 -0
  232. package/dist/esm/flows-actors/flows-actors-execution.shared.resources-config.schemas.js.map +1 -1
  233. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts +14 -0
  234. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.d.ts.map +1 -1
  235. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js +48 -6
  236. package/dist/esm/flows-actors/flows-actors-execution.shared.schemas.js.map +1 -1
  237. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts +1 -1
  238. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.d.ts.map +1 -1
  239. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.js +41 -0
  240. package/dist/esm/flows-actors/flows-actors-task.shared.resources-config.schemas.js.map +1 -1
  241. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts +0 -7
  242. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.d.ts.map +1 -1
  243. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.js +23 -13
  244. package/dist/esm/flows-actors/flows-actors-task.shared.schemas.js.map +1 -1
  245. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts +19 -0
  246. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.d.ts.map +1 -1
  247. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js +33 -0
  248. package/dist/esm/flows-actors/flows-actors.commons.shared.schemas.js.map +1 -1
  249. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts +14 -9
  250. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.d.ts.map +1 -1
  251. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js +14 -9
  252. package/dist/esm/flows-actors/flows-actors.io.shared.schemas.js.map +1 -1
  253. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.d.ts.map +1 -1
  254. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js +3 -2
  255. package/dist/esm/flows-actors/flows-actors.system.shared.schemas.js.map +1 -1
  256. package/dist/esm/flows-actors/flows.shared.schemas.d.ts.map +1 -1
  257. package/dist/esm/flows-actors/flows.shared.schemas.js +3 -2
  258. package/dist/esm/flows-actors/flows.shared.schemas.js.map +1 -1
  259. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts +128 -0
  260. package/dist/esm/flows-actors/mcp-servers.shared.schemas.d.ts.map +1 -0
  261. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js +142 -0
  262. package/dist/esm/flows-actors/mcp-servers.shared.schemas.js.map +1 -0
  263. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts +0 -3
  264. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.d.ts.map +1 -1
  265. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js +1 -4
  266. package/dist/esm/flows-actors/meta-workflows/budget-authority.meta-workflows.shared.schemas.js.map +1 -1
  267. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts +0 -16
  268. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.d.ts.map +1 -1
  269. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js +1 -17
  270. package/dist/esm/flows-actors/meta-workflows/context-selection.meta-workflows.shared.schemas.js.map +1 -1
  271. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.d.ts +3 -3
  272. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js +3 -3
  273. package/dist/esm/flows-actors/meta-workflows/decisions.meta-workflows.shared.schemas.js.map +1 -1
  274. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts +2 -8
  275. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.d.ts.map +1 -1
  276. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js +4 -15
  277. package/dist/esm/flows-actors/meta-workflows/execution-binding-common.meta-workflows.shared.schemas.js.map +1 -1
  278. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts +1 -1
  279. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.d.ts.map +1 -1
  280. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.js +51 -0
  281. package/dist/esm/guidance/guidance-state.shared.resources-config.schemas.js.map +1 -1
  282. package/dist/esm/guidance/guidance-state.shared.schemas.d.ts.map +1 -1
  283. package/dist/esm/guidance/guidance-state.shared.schemas.js +8 -2
  284. package/dist/esm/guidance/guidance-state.shared.schemas.js.map +1 -1
  285. package/dist/esm/guidance/guidance-state.shared.utils.d.ts.map +1 -1
  286. package/dist/esm/guidance/guidance-state.shared.utils.js +1 -0
  287. package/dist/esm/guidance/guidance-state.shared.utils.js.map +1 -1
  288. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts +1 -1
  289. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.d.ts.map +1 -1
  290. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.js +51 -0
  291. package/dist/esm/guidance/lifecycle-state.shared.resources-config.schemas.js.map +1 -1
  292. package/dist/esm/guidance/lifecycle-state.shared.schemas.d.ts.map +1 -1
  293. package/dist/esm/guidance/lifecycle-state.shared.schemas.js +28 -3
  294. package/dist/esm/guidance/lifecycle-state.shared.schemas.js.map +1 -1
  295. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts +9 -1
  296. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.d.ts.map +1 -1
  297. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.js +51 -0
  298. package/dist/esm/guidance/progression-state.shared.resources-config.schemas.js.map +1 -1
  299. package/dist/esm/guidance/progression-state.shared.schemas.d.ts +46 -0
  300. package/dist/esm/guidance/progression-state.shared.schemas.d.ts.map +1 -1
  301. package/dist/esm/guidance/progression-state.shared.schemas.js +67 -4
  302. package/dist/esm/guidance/progression-state.shared.schemas.js.map +1 -1
  303. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts +356 -52
  304. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.d.ts.map +1 -1
  305. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js +166 -39
  306. package/dist/esm/http-api-binding/http-api-binding.shared.schemas.js.map +1 -1
  307. package/dist/esm/index.d.ts +15 -0
  308. package/dist/esm/index.d.ts.map +1 -1
  309. package/dist/esm/index.js +15 -0
  310. package/dist/esm/index.js.map +1 -1
  311. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts +11 -2
  312. package/dist/esm/notifications/email/email-template-registry.shared.schemas.d.ts.map +1 -1
  313. package/dist/esm/notifications/email/email-template-registry.shared.schemas.js.map +1 -1
  314. package/dist/esm/notifications/email/email-template.shared.enums.d.ts +15 -0
  315. package/dist/esm/notifications/email/email-template.shared.enums.d.ts.map +1 -1
  316. package/dist/esm/notifications/email/email-template.shared.enums.js +15 -0
  317. package/dist/esm/notifications/email/email-template.shared.enums.js.map +1 -1
  318. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts +70 -0
  319. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.d.ts.map +1 -0
  320. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.js +71 -0
  321. package/dist/esm/notifications/m2m/m2m-webhook-delivery-contract.shared.js.map +1 -0
  322. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts +1 -0
  323. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.d.ts.map +1 -1
  324. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js +19 -0
  325. package/dist/esm/notifications/m2m/webhook-config.shared.resources-config.schemas.js.map +1 -1
  326. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts +30 -0
  327. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.d.ts.map +1 -1
  328. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js +65 -1
  329. package/dist/esm/notifications/m2m/webhook-config.shared.schemas.js.map +1 -1
  330. package/dist/esm/notifications/notification-badges.core.definitions.d.ts +6 -4
  331. package/dist/esm/notifications/notification-badges.core.definitions.d.ts.map +1 -1
  332. package/dist/esm/notifications/notification-badges.core.definitions.js +6 -4
  333. package/dist/esm/notifications/notification-badges.core.definitions.js.map +1 -1
  334. package/dist/esm/notifications/notification-badges.schemas.d.ts +167 -5
  335. package/dist/esm/notifications/notification-badges.schemas.d.ts.map +1 -1
  336. package/dist/esm/notifications/notification-badges.schemas.js +191 -6
  337. package/dist/esm/notifications/notification-badges.schemas.js.map +1 -1
  338. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts +1 -1
  339. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.d.ts.map +1 -1
  340. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js +36 -0
  341. package/dist/esm/notifications/notification-badges.shared.resources-config.schemas.js.map +1 -1
  342. package/dist/esm/notifications/notifications.shared.schemas.d.ts +107 -0
  343. package/dist/esm/notifications/notifications.shared.schemas.d.ts.map +1 -1
  344. package/dist/esm/notifications/notifications.shared.schemas.js +149 -1
  345. package/dist/esm/notifications/notifications.shared.schemas.js.map +1 -1
  346. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts +1 -1
  347. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.d.ts.map +1 -1
  348. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js +44 -0
  349. package/dist/esm/organizations/organization-members.shared.resources-config.schemas.js.map +1 -1
  350. package/dist/esm/organizations/organization-members.shared.schemas.d.ts.map +1 -1
  351. package/dist/esm/organizations/organization-members.shared.schemas.js +15 -4
  352. package/dist/esm/organizations/organization-members.shared.schemas.js.map +1 -1
  353. package/dist/esm/organizations/organization-notifications.shared.schemas.d.ts.map +1 -1
  354. package/dist/esm/organizations/organization-notifications.shared.schemas.js +22 -1
  355. package/dist/esm/organizations/organization-notifications.shared.schemas.js.map +1 -1
  356. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts +26 -0
  357. package/dist/esm/organizations/organization-preferences.shared.schemas.d.ts.map +1 -1
  358. package/dist/esm/organizations/organization-preferences.shared.schemas.js +25 -0
  359. package/dist/esm/organizations/organization-preferences.shared.schemas.js.map +1 -1
  360. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts +25 -0
  361. package/dist/esm/organizations/organization-profile.shared.schemas.d.ts.map +1 -1
  362. package/dist/esm/organizations/organization-profile.shared.schemas.js +42 -17
  363. package/dist/esm/organizations/organization-profile.shared.schemas.js.map +1 -1
  364. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts +3 -2
  365. package/dist/esm/organizations/organization-unit-narrowing.shared.d.ts.map +1 -1
  366. package/dist/esm/organizations/organization-unit-narrowing.shared.js +9 -2
  367. package/dist/esm/organizations/organization-unit-narrowing.shared.js.map +1 -1
  368. package/dist/esm/organizations/organizations.shared.resources-config.schemas.d.ts.map +1 -1
  369. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js +35 -12
  370. package/dist/esm/organizations/organizations.shared.resources-config.schemas.js.map +1 -1
  371. package/dist/esm/public-runtime/index.d.ts +49 -2
  372. package/dist/esm/public-runtime/index.d.ts.map +1 -1
  373. package/dist/esm/public-runtime/index.js +48 -1
  374. package/dist/esm/public-runtime/index.js.map +1 -1
  375. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts +6 -5
  376. package/dist/esm/queue/jobs.shared.resources-config.schemas.d.ts.map +1 -1
  377. package/dist/esm/queue/jobs.shared.resources-config.schemas.js +23 -5
  378. package/dist/esm/queue/jobs.shared.resources-config.schemas.js.map +1 -1
  379. package/dist/esm/queue/jobs.shared.schemas.d.ts +16 -3
  380. package/dist/esm/queue/jobs.shared.schemas.d.ts.map +1 -1
  381. package/dist/esm/queue/jobs.shared.schemas.js +16 -3
  382. package/dist/esm/queue/jobs.shared.schemas.js.map +1 -1
  383. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts +137 -0
  384. package/dist/esm/requests/manual-controllers-routes-documentation.d.ts.map +1 -0
  385. package/dist/esm/requests/manual-controllers-routes-documentation.js +1201 -0
  386. package/dist/esm/requests/manual-controllers-routes-documentation.js.map +1 -0
  387. package/dist/esm/requests/manual-controllers-routes-urls.d.ts +67 -0
  388. package/dist/esm/requests/manual-controllers-routes-urls.d.ts.map +1 -1
  389. package/dist/esm/requests/manual-controllers-routes-urls.js +78 -0
  390. package/dist/esm/requests/manual-controllers-routes-urls.js.map +1 -1
  391. package/dist/esm/requests/rate-limits.shared.schemas.d.ts +11 -1
  392. package/dist/esm/requests/rate-limits.shared.schemas.d.ts.map +1 -1
  393. package/dist/esm/requests/rate-limits.shared.schemas.js +11 -1
  394. package/dist/esm/requests/rate-limits.shared.schemas.js.map +1 -1
  395. package/dist/esm/requests/websocket.shared.schemas.d.ts +86 -4
  396. package/dist/esm/requests/websocket.shared.schemas.d.ts.map +1 -1
  397. package/dist/esm/requests/websocket.shared.schemas.js +138 -0
  398. package/dist/esm/requests/websocket.shared.schemas.js.map +1 -1
  399. package/dist/esm/resources/collection-query-parameters.shared.d.ts +22 -0
  400. package/dist/esm/resources/collection-query-parameters.shared.d.ts.map +1 -0
  401. package/dist/esm/resources/collection-query-parameters.shared.js +22 -0
  402. package/dist/esm/resources/collection-query-parameters.shared.js.map +1 -0
  403. package/dist/esm/resources/resources-config.shared.factory.d.ts +1 -0
  404. package/dist/esm/resources/resources-config.shared.factory.d.ts.map +1 -1
  405. package/dist/esm/resources/resources-config.shared.factory.js +189 -31
  406. package/dist/esm/resources/resources-config.shared.factory.js.map +1 -1
  407. package/dist/esm/resources/resources-config.shared.schemas.d.ts +395 -92
  408. package/dist/esm/resources/resources-config.shared.schemas.d.ts.map +1 -1
  409. package/dist/esm/resources/resources-config.shared.schemas.js +109 -20
  410. package/dist/esm/resources/resources-config.shared.schemas.js.map +1 -1
  411. package/dist/esm/resources/resources-registry.shared.core.definitions.d.ts.map +1 -1
  412. package/dist/esm/resources/resources-registry.shared.core.definitions.js +97 -5
  413. package/dist/esm/resources/resources-registry.shared.core.definitions.js.map +1 -1
  414. package/dist/esm/resources/resources-relationships.shared.factory.d.ts.map +1 -1
  415. package/dist/esm/resources/resources-relationships.shared.factory.js +15 -0
  416. package/dist/esm/resources/resources-relationships.shared.factory.js.map +1 -1
  417. package/dist/esm/resources/resources.shared.core.definitions.d.ts +37 -0
  418. package/dist/esm/resources/resources.shared.core.definitions.d.ts.map +1 -1
  419. package/dist/esm/resources/resources.shared.core.definitions.js +51 -0
  420. package/dist/esm/resources/resources.shared.core.definitions.js.map +1 -1
  421. package/dist/esm/resources/resources.shared.schemas.d.ts +11 -2
  422. package/dist/esm/resources/resources.shared.schemas.d.ts.map +1 -1
  423. package/dist/esm/resources/resources.shared.schemas.js +34 -3
  424. package/dist/esm/resources/resources.shared.schemas.js.map +1 -1
  425. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts +51 -0
  426. package/dist/esm/resources/utils/field-value-disclosure.utils.d.ts.map +1 -0
  427. package/dist/esm/resources/utils/field-value-disclosure.utils.js +53 -0
  428. package/dist/esm/resources/utils/field-value-disclosure.utils.js.map +1 -0
  429. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.d.ts.map +1 -1
  430. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js +21 -6
  431. package/dist/esm/resources/utils/resources-config-operations.dtos-builder.utils.js.map +1 -1
  432. package/dist/esm/resources/utils/resources-summary.utils.d.ts +16 -2
  433. package/dist/esm/resources/utils/resources-summary.utils.d.ts.map +1 -1
  434. package/dist/esm/resources/utils/resources-summary.utils.js +19 -5
  435. package/dist/esm/resources/utils/resources-summary.utils.js.map +1 -1
  436. package/dist/esm/resources/utils/shared-persistence-collection.utils.d.ts.map +1 -1
  437. package/dist/esm/resources/utils/shared-persistence-collection.utils.js +11 -0
  438. package/dist/esm/resources/utils/shared-persistence-collection.utils.js.map +1 -1
  439. package/dist/esm/runtime/domain-module.shared.definitions.d.ts +25 -0
  440. package/dist/esm/runtime/domain-module.shared.definitions.d.ts.map +1 -1
  441. package/dist/esm/runtime/domain-module.shared.definitions.js.map +1 -1
  442. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts +1 -0
  443. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.d.ts.map +1 -1
  444. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js +38 -0
  445. package/dist/esm/security/api-keys/api-keys-application.shared.resources-config.schemas.js.map +1 -1
  446. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts +1 -0
  447. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.d.ts.map +1 -1
  448. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js +38 -0
  449. package/dist/esm/security/api-keys/api-keys-organization.shared.resources-config.schemas.js.map +1 -1
  450. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts +4 -11
  451. package/dist/esm/security/authentications/authentication.shared.dto.schemas.d.ts.map +1 -1
  452. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js +0 -1
  453. package/dist/esm/security/authentications/authentication.shared.dto.schemas.js.map +1 -1
  454. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts +141 -5
  455. package/dist/esm/security/authentications/authentication.shared.schemas.d.ts.map +1 -1
  456. package/dist/esm/security/authentications/authentication.shared.schemas.js +147 -3
  457. package/dist/esm/security/authentications/authentication.shared.schemas.js.map +1 -1
  458. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts +17 -1
  459. package/dist/esm/security/authentications/consumable-token.shared.schemas.d.ts.map +1 -1
  460. package/dist/esm/security/authentications/consumable-token.shared.schemas.js +16 -0
  461. package/dist/esm/security/authentications/consumable-token.shared.schemas.js.map +1 -1
  462. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.d.ts +28 -0
  463. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.d.ts.map +1 -0
  464. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.js +28 -0
  465. package/dist/esm/security/authentications/mfa-backup-code-contract.shared.js.map +1 -0
  466. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts +1 -0
  467. package/dist/esm/security/authentications/registration.shared.dto.schemas.d.ts.map +1 -1
  468. package/dist/esm/security/authentications/registration.shared.dto.schemas.js +11 -0
  469. package/dist/esm/security/authentications/registration.shared.dto.schemas.js.map +1 -1
  470. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts +15 -0
  471. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.d.ts.map +1 -1
  472. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js +21 -4
  473. package/dist/esm/security/authentications/scim/scim-provisioning-config.shared.schemas.js.map +1 -1
  474. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts +21 -0
  475. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.d.ts.map +1 -0
  476. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js +21 -0
  477. package/dist/esm/security/authentications/siem/siem-delivery-reliability-contract.shared.js.map +1 -0
  478. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts +61 -1
  479. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.d.ts.map +1 -1
  480. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js +208 -6
  481. package/dist/esm/security/authentications/sso/sso-config.shared.resources-config.schemas.js.map +1 -1
  482. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts +37 -27
  483. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.d.ts.map +1 -1
  484. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js +134 -12
  485. package/dist/esm/security/authentications/sso/sso-config.shared.schemas.js.map +1 -1
  486. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts +0 -6
  487. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.d.ts.map +1 -1
  488. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js +17 -8
  489. package/dist/esm/security/authentications/sso/sso-connection.shared.schemas.js.map +1 -1
  490. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts +1 -1
  491. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.d.ts.map +1 -1
  492. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js +70 -0
  493. package/dist/esm/security/authorizations/platform-access-grants.shared.resources-config.schemas.js.map +1 -1
  494. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts +45 -8
  495. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.d.ts.map +1 -1
  496. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js +56 -10
  497. package/dist/esm/security/authorizations/platform-access-grants.shared.schemas.js.map +1 -1
  498. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts +16 -1
  499. package/dist/esm/security/authorizations/roles.shared.schemas.d.ts.map +1 -1
  500. package/dist/esm/security/authorizations/roles.shared.schemas.js +16 -1
  501. package/dist/esm/security/authorizations/roles.shared.schemas.js.map +1 -1
  502. package/dist/esm/security/authorizations/roles.shared.utils.d.ts +54 -0
  503. package/dist/esm/security/authorizations/roles.shared.utils.d.ts.map +1 -1
  504. package/dist/esm/security/authorizations/roles.shared.utils.js +59 -0
  505. package/dist/esm/security/authorizations/roles.shared.utils.js.map +1 -1
  506. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts +31 -0
  507. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.d.ts.map +1 -0
  508. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js +198 -0
  509. package/dist/esm/security/connected-accounts/provider-credentials-organization.shared.resources-config.schemas.js.map +1 -0
  510. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts +31 -0
  511. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.d.ts.map +1 -0
  512. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js +191 -0
  513. package/dist/esm/security/connected-accounts/provider-credentials-user.shared.resources-config.schemas.js.map +1 -0
  514. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts +250 -0
  515. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.d.ts.map +1 -0
  516. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js +486 -0
  517. package/dist/esm/security/connected-accounts/provider-credentials.shared.schemas.js.map +1 -0
  518. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts +4 -1
  519. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.d.ts.map +1 -1
  520. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js +29 -0
  521. package/dist/esm/security/oauth-clients/oauth-clients-application.shared.resources-config.schemas.js.map +1 -1
  522. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts +4 -1
  523. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.d.ts.map +1 -1
  524. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js +29 -0
  525. package/dist/esm/security/oauth-clients/oauth-clients-organization.shared.resources-config.schemas.js.map +1 -1
  526. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts +67 -0
  527. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.d.ts.map +1 -1
  528. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js +44 -1
  529. package/dist/esm/security/oauth-clients/oauth-clients.shared.schemas.js.map +1 -1
  530. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts +1 -1
  531. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.d.ts.map +1 -1
  532. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.js +35 -0
  533. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.resources-config.schemas.js.map +1 -1
  534. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts +13 -0
  535. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.d.ts.map +1 -1
  536. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js +31 -4
  537. package/dist/esm/security/oauth-clients/oauth-consent-grants.shared.schemas.js.map +1 -1
  538. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts +1 -1
  539. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.d.ts.map +1 -1
  540. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js +34 -0
  541. package/dist/esm/users/inbound-contacts.shared.resources-config.schemas.js.map +1 -1
  542. package/dist/esm/users/inbound-contacts.shared.schemas.d.ts.map +1 -1
  543. package/dist/esm/users/inbound-contacts.shared.schemas.js +7 -4
  544. package/dist/esm/users/inbound-contacts.shared.schemas.js.map +1 -1
  545. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts +1 -1
  546. package/dist/esm/users/user-credentials.shared.resources-config.schemas.d.ts.map +1 -1
  547. package/dist/esm/users/user-credentials.shared.resources-config.schemas.js +37 -0
  548. package/dist/esm/users/user-credentials.shared.resources-config.schemas.js.map +1 -1
  549. package/dist/esm/users/user-credentials.shared.schemas.d.ts.map +1 -1
  550. package/dist/esm/users/user-credentials.shared.schemas.js +17 -2
  551. package/dist/esm/users/user-credentials.shared.schemas.js.map +1 -1
  552. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts +1 -1
  553. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.d.ts.map +1 -1
  554. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.js +36 -0
  555. package/dist/esm/users/user-identity-links.shared.resources-config.schemas.js.map +1 -1
  556. package/dist/esm/users/user-identity-links.shared.schemas.d.ts.map +1 -1
  557. package/dist/esm/users/user-identity-links.shared.schemas.js +15 -5
  558. package/dist/esm/users/user-identity-links.shared.schemas.js.map +1 -1
  559. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts +5 -5
  560. package/dist/esm/users/user-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  561. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js +53 -0
  562. package/dist/esm/users/user-preferences.shared.resources-config.schemas.js.map +1 -1
  563. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts +1 -1
  564. package/dist/esm/users/user-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  565. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js +62 -0
  566. package/dist/esm/users/user-profiles.shared.resources-config.schemas.js.map +1 -1
  567. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts +5 -5
  568. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.d.ts.map +1 -1
  569. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js +53 -0
  570. package/dist/esm/users/user-self-preferences.shared.resources-config.schemas.js.map +1 -1
  571. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts +1 -1
  572. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.d.ts.map +1 -1
  573. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.js +62 -0
  574. package/dist/esm/users/user-self-profiles.shared.resources-config.schemas.js.map +1 -1
  575. package/dist/esm/users/user-self.shared.resources-config.schemas.d.ts.map +1 -1
  576. package/dist/esm/users/user-self.shared.resources-config.schemas.js +33 -3
  577. package/dist/esm/users/user-self.shared.resources-config.schemas.js.map +1 -1
  578. package/dist/esm/users/users.shared.resources-config.schemas.d.ts +17 -1
  579. package/dist/esm/users/users.shared.resources-config.schemas.d.ts.map +1 -1
  580. package/dist/esm/users/users.shared.resources-config.schemas.js +136 -5
  581. package/dist/esm/users/users.shared.resources-config.schemas.js.map +1 -1
  582. package/dist/esm/users/users.shared.schemas.d.ts +62 -12
  583. package/dist/esm/users/users.shared.schemas.d.ts.map +1 -1
  584. package/dist/esm/users/users.shared.schemas.js +79 -23
  585. package/dist/esm/users/users.shared.schemas.js.map +1 -1
  586. package/dist/tsconfig.build.tsbuildinfo +1 -1
  587. package/package.json +5 -6
  588. package/dist/esm/.builder.pid +0 -9
@@ -7,13 +7,13 @@ import { z } from 'zod';
7
7
  import { EnumLikeType, EnumValues, PrimitiveZodType } from '@wildo-ai/zod-decorators';
8
8
  import { ErasureRetentionMode, ResourceDataSubjectKind } from '../compliance/privacy/impersonalization.shared.schemas';
9
9
  import type { DataPortabilityProvenance } from '../compliance/privacy/subject-export.shared.schemas';
10
- import type { HttpApiResourceBinding } from '../http-api-binding/http-api-binding.shared.schemas';
11
- import type { ExternalDataPipelineDeclaration } from '../external-data/external-data-pipeline.shared.schemas';
10
+ import type { HttpApiResourceBinding, HttpApiResourceBindingAuthored } from '../http-api-binding/http-api-binding.shared.schemas';
11
+ import type { ExternalDataPipelineDeclaration, ExternalDataPipelineDeclarationAuthored } from '../external-data/external-data-pipeline.shared.schemas';
12
12
  import { HttpMethod } from '../requests/http-requests.shared';
13
13
  import { Roles } from '../security/authorizations/roles.shared.schemas';
14
14
  import { TokenAuthenticationConfig, TokenGenerationConfig, TokenRevocationConfig } from '../security/authentications/consumable-token.shared.schemas';
15
15
  import { ResourceOperation_ServiceRuntimeMode, ResourceOperationVariantType, ResourceOperationRiskLevel, ResourceOperationFrontendSurface, ResourcePrimaryScope, ResourceTranspositionPolicy, ResourceOperation_CustomServiceImplementationMode, ResourceRelationship, ResourceRelationshipAccessScopeStrategy, ManyToManyScopeJunctionMap, type ReferenceConstraints } from './resources.shared.schemas';
16
- import { NotificationBadgeIdentifier, NotificationBadgeOperation } from '../notifications/notification-badges.schemas';
16
+ import { NotificationBadgeKey, NotificationBadgeOperation } from '../notifications/notification-badges.schemas';
17
17
  import { M2MNotificationDefinition, UserNotificationDefinition } from '../notifications/notifications.shared.schemas';
18
18
  import { NotificationBadgeDefinition } from '../notifications/notification-badges.schemas';
19
19
  import { CoreResourceOperation, ResourceFieldIdentifier, ResourceType } from './resources.shared.core.definitions';
@@ -42,7 +42,7 @@ export declare function createPaginationResponseMetadataSchema(maxLimit?: number
42
42
  totalPages: z.ZodNumber;
43
43
  }>;
44
44
  /** The default-bounded response metadata. Prefer {@link createPaginationResponseMetadataSchema} where the ceiling is known. */
45
- export declare const Resouces_PaginationResponseMetadataSchema: z.ZodObject<{
45
+ export declare const Resources_PaginationResponseMetadataSchema: z.ZodObject<{
46
46
  page: z.ZodDefault<z.ZodNumber>;
47
47
  limit: z.ZodDefault<z.ZodNumber>;
48
48
  total: z.ZodNumber;
@@ -64,16 +64,16 @@ export declare function createPaginationRequestSchema(maxLimit?: number): z.ZodO
64
64
  limit: z.ZodDefault<z.ZodNumber>;
65
65
  }>;
66
66
  /** The default-bounded pagination block. Prefer {@link createPaginationRequestSchema} where the operation's ceiling is known. */
67
- export declare const Resouces_PaginationRequestSchema: z.ZodObject<{
67
+ export declare const Resources_PaginationRequestSchema: z.ZodObject<{
68
68
  page: z.ZodDefault<z.ZodNumber>;
69
69
  limit: z.ZodDefault<z.ZodNumber>;
70
70
  }, z.core.$strip>;
71
71
  export type ResourcePaginatedResponseResultSchema<T extends z.ZodTypeAny> = {
72
72
  data: SchemaArrayInfer<T>;
73
- pagination: z.infer<typeof Resouces_PaginationResponseMetadataSchema>;
73
+ pagination: z.infer<typeof Resources_PaginationResponseMetadataSchema>;
74
74
  };
75
- export type Resources_PaginationMetadata = z.infer<typeof Resouces_PaginationResponseMetadataSchema>;
76
- export type Resources_PaginationRequest = z.infer<typeof Resouces_PaginationRequestSchema>;
75
+ export type Resources_PaginationMetadata = z.infer<typeof Resources_PaginationResponseMetadataSchema>;
76
+ export type Resources_PaginationRequest = z.infer<typeof Resources_PaginationRequestSchema>;
77
77
  export type Resources_PaginatedResult<T> = {
78
78
  data: T[];
79
79
  pagination: Resources_PaginationMetadata;
@@ -134,6 +134,27 @@ export declare enum IntrospectionTenancyStance {
134
134
  * story, and nobody would be asked to notice.
135
135
  */
136
136
  APPLICATION_STRUCTURE = "application-structure",
137
+ /**
138
+ * The rows are the DEVELOPMENT COMPANION'S OWN RUNTIME PROJECTIONS for the one application it
139
+ * serves — the playbook eligibility board, the build plan, the run write-register, the execution
140
+ * traces. Like `APPLICATION_STRUCTURE` they carry no tenant dimension and no scope predicate can
141
+ * apply; UNLIKE it, they are not derived from the application's source, and the tenancy stance is
142
+ * where that difference must stay visible (added 2026-09-01, creation-board resources plan):
143
+ *
144
+ * - `APPLICATION_STRUCTURE`'s public-read posture (`APP_PUBLIC` variants on the workbench's
145
+ * structural projections) rests on the rows being the application's OWN source, which anyone
146
+ * with the working tree can already read. That argument does NOT extend to runtime state, so a
147
+ * resource declaring this stance is expected to gate its variants on an authenticated role —
148
+ * never `APP_PUBLIC`.
149
+ * - Row-level tenant-anchor checks are bypassed for this stance exactly as for
150
+ * `APPLICATION_STRUCTURE` (the rows carry no anchor BY CONTRACT); authorization comes from the
151
+ * session and the operation's role gate.
152
+ *
153
+ * Fusing this into `APPLICATION_STRUCTURE` was rejected for the enum's own founding reason: an
154
+ * unstated distinction is indistinguishable from an overlooked one, and the next decision site
155
+ * keyed off the stance would inherit a claim nobody checked.
156
+ */
157
+ APPLICATION_RUNTIME = "application-runtime",
137
158
  /**
138
159
  * The rows carry a tenant dimension and a scope predicate must be pushed into the source.
139
160
  *
@@ -224,10 +245,15 @@ export declare enum PersistenceAdapter {
224
245
  * "how rows are reached", and the mechanism behind it is a binding an author declares.
225
246
  *
226
247
  * Distinct from `HTTP_API`, deliberately, and not merely because the transport differs. Retrieval
227
- * is a SUBPROCESS that imports the target application's built modules; it costs seconds rather than
228
- * milliseconds, it requires that application's `dist` to exist, and its failure mode is a behavior
229
- * throwing rather than a row being absent. Collapsing the two would give one declaration whose
230
- * discriminator chooses between an HTTP call and a subprocess two adapters wearing one name.
248
+ * is the COMPANION's decision per behavior (amended 2026-09-01): the app-import behaviors run a
249
+ * SUBPROCESS that imports the target application's built modules seconds per read, requiring
250
+ * that application's `dist`, failing as a thrown behavior while the creation-plane behaviors
251
+ * are IN-PROCESS projections of the companion's own runtime services (playbook eligibility,
252
+ * build plan, write register, traces). Both reach the engine through the same
253
+ * `IntrospectionResourceSourceBackendPort`; the adapter never encodes the mechanism, which is
254
+ * exactly why a behavior id is an engine-opaque string. Collapsing this into `HTTP_API` would
255
+ * still be wrong for the original reason: its failure mode is a source throwing rather than a
256
+ * row being absent, and nothing here is reached over a network API.
231
257
  *
232
258
  * ## What every adapter decision site must honor
233
259
  *
@@ -438,11 +464,11 @@ export declare enum SortOrder {
438
464
  ASC = "asc",
439
465
  DESC = "desc"
440
466
  }
441
- export declare const Resouces_Filter_DateRangeSchema: z.ZodObject<{
467
+ export declare const Resources_Filter_DateRangeSchema: z.ZodObject<{
442
468
  startDate: z.ZodOptional<z.ZodDate>;
443
469
  endDate: z.ZodOptional<z.ZodDate>;
444
470
  }, z.core.$strip>;
445
- export declare const Resouces_Filter_BaseSchema: z.ZodObject<{
471
+ export declare const Resources_Filter_BaseSchema: z.ZodObject<{
446
472
  searchRequest: z.ZodOptional<z.ZodString>;
447
473
  createdAt: z.ZodOptional<z.ZodObject<{
448
474
  startDate: z.ZodOptional<z.ZodDate>;
@@ -453,7 +479,7 @@ export declare const Resouces_Filter_BaseSchema: z.ZodObject<{
453
479
  endDate: z.ZodOptional<z.ZodDate>;
454
480
  }, z.core.$strip>>;
455
481
  }, z.core.$strip>;
456
- export declare const Resouces_FilterRequestSchema: z.ZodObject<{
482
+ export declare const Resources_FilterRequestSchema: z.ZodObject<{
457
483
  searchRequest: z.ZodOptional<z.ZodString>;
458
484
  createdAt: z.ZodOptional<z.ZodObject<{
459
485
  startDate: z.ZodOptional<z.ZodDate>;
@@ -464,17 +490,17 @@ export declare const Resouces_FilterRequestSchema: z.ZodObject<{
464
490
  endDate: z.ZodOptional<z.ZodDate>;
465
491
  }, z.core.$strip>>;
466
492
  }, z.core.$catchall<z.ZodOptional<z.ZodAny>>>;
467
- export declare const Resouces_SortingFieldSchema: z.ZodObject<{
493
+ export declare const Resources_SortingFieldSchema: z.ZodObject<{
468
494
  field: z.ZodString;
469
495
  order: z.ZodDefault<z.ZodEnum<typeof SortOrder>>;
470
496
  priority: z.ZodDefault<z.ZodNumber>;
471
497
  }, z.core.$strip>;
472
- export declare const Resouces_SortingRequestSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
498
+ export declare const Resources_SortingRequestSchema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodObject<{
473
499
  field: z.ZodString;
474
500
  order: z.ZodDefault<z.ZodEnum<typeof SortOrder>>;
475
501
  priority: z.ZodDefault<z.ZodNumber>;
476
502
  }, z.core.$strip>>>>;
477
- export declare const Resouces_SearchQueryRequestSchema: z.ZodObject<{
503
+ export declare const Resources_SearchQueryRequestSchema: z.ZodObject<{
478
504
  pagination: z.ZodOptional<z.ZodObject<{
479
505
  page: z.ZodDefault<z.ZodNumber>;
480
506
  limit: z.ZodDefault<z.ZodNumber>;
@@ -497,9 +523,9 @@ export declare const Resouces_SearchQueryRequestSchema: z.ZodObject<{
497
523
  }, z.core.$catchall<z.ZodOptional<z.ZodAny>>>>;
498
524
  }, z.core.$strip>;
499
525
  export type ResourceSearchQueryRequestResult<TFilterFields extends Record<string, PrimitiveZodType | ((filterRef: PrimitiveZodType) => string)> | undefined, TSortFields extends readonly string[] | undefined> = z.ZodObject<{
500
- pagination: z.ZodOptional<typeof Resouces_PaginationRequestSchema>;
501
- sorting: z.ZodOptional<typeof Resouces_SortingRequestSchema>;
502
- filters: z.ZodOptional<typeof Resouces_Filter_BaseSchema>;
526
+ pagination: z.ZodOptional<typeof Resources_PaginationRequestSchema>;
527
+ sorting: z.ZodOptional<typeof Resources_SortingRequestSchema>;
528
+ filters: z.ZodOptional<typeof Resources_Filter_BaseSchema>;
503
529
  }>;
504
530
  export type Ressources_RequestSortPriority<T extends EnumLikeType> = {
505
531
  [K in keyof T as T[K]]: number;
@@ -803,7 +829,7 @@ export type CollectionViewFields_Search = CollectionViewFields_Shared & {
803
829
  * validates away to nothing, and then fails as "`_ids` is required" — which is exactly what every
804
830
  * frontend bulk surface did until 2026-08-29.
805
831
  */
806
- export declare const Resouces_BulkOperationBaseSchema: z.ZodObject<{
832
+ export declare const Resources_BulkOperationBaseSchema: z.ZodObject<{
807
833
  _ids: z.ZodArray<z.ZodString>;
808
834
  }, z.core.$strip>;
809
835
  /**
@@ -867,6 +893,36 @@ export type ResourceConfiguration_FunctionContextNeeds = {
867
893
  needsUserContext?: boolean;
868
894
  };
869
895
  /**
896
+ * @wildo_source:part:start saas.models.resource-config.required-features facet:layer:shared facet:audience:app-developer
897
+ *
898
+ * Gating an operation or a view on a FEATURE the customer has — a plan entitlement, a boolean
899
+ * capability, or a usage limit.
900
+ *
901
+ * Declared as `requiredFeatures` on a resource operation variant or on a view. The shorthand form is
902
+ * a plain `string[]` of feature identifiers, auto-normalized to `{ features, mode: 'OR' }`; the full
903
+ * form adds `mode: 'AND'` and `limitChecks`.
904
+ *
905
+ * ## ⚠️ The screen gate is NOT the security boundary
906
+ *
907
+ * Declaring the requirement on a VIEW decides what a screen looks like. It does not stop the
908
+ * operation running. A capability that must not be REACHABLE needs the requirement declared on the
909
+ * OPERATION as well — the backend gate is what refuses, and it is the only thing that does.
910
+ *
911
+ * Two consequences of the interface half that follow from this, and are not defects:
912
+ *
913
+ * - **While the resolved feature set is still loading, everything is treated as AVAILABLE.** That
914
+ * avoids a flash of locked interface, and it means a gate can briefly show content the backend
915
+ * would refuse. Correct behaviour; not something to design around on the screen.
916
+ * - A hidden or prompted control is a presentation choice, so anyone who reaches the endpoint
917
+ * directly is decided by the operation's own declaration.
918
+ *
919
+ * ## Limit checks measure, they do not merely check presence
920
+ *
921
+ * `features` is a PRESENCE check on boolean capabilities. `limitChecks` is different: each entry
922
+ * names a LIMIT-type feature and an increment, and the gate measures current usage through that
923
+ * feature definition's own `counting` config before allowing the operation. Use `limitChecks` for
924
+ * "up to N of these", never a boolean feature.
925
+ *
870
926
  * Limit check entry: references a LIMIT-type feature and specifies the increment.
871
927
  * The gate uses the feature definition's `counting` config to measure current usage.
872
928
  */
@@ -907,6 +963,7 @@ export type RequiredFeaturesConfig = string[] | RequiredFeaturesFullConfig;
907
963
  * Normalized required features (always the full form, after factory processing).
908
964
  */
909
965
  export type RequiredFeaturesNormalized = RequiredFeaturesFullConfig;
966
+ /** @wildo_source:part:end saas.models.resource-config.required-features */
910
967
  /**
911
968
  * Wrapper type for functions that can optionally require context.
912
969
  * Stores both the function and metadata about its context needs.
@@ -984,6 +1041,66 @@ export type ResourceOperation_UnimplementedAcknowledgement = {
984
1041
  /** Where the gap is tracked — a plan path, issue id, or equivalent durable reference. */
985
1042
  trackingRef: string;
986
1043
  };
1044
+ /**
1045
+ * Whether a declared operation is actually SERVICED — the verdict a shared predicate answers with.
1046
+ *
1047
+ * MOVED HERE FROM `saas-backend-lib` on 2026-09-02, and the reason is a layering one rather than
1048
+ * tidiness. These are closed VOCABULARIES, not backend behaviour: the resolvers that compute them
1049
+ * stay in the backend, but the answers they produce are what other layers must be able to name.
1050
+ * `saas-specifications` could not attest `WILDO.OPERATIONS.EXECUTION_INTEGRITY` in its assurance
1051
+ * authority basis while the vocabulary lived in a package it must not depend on — the control was
1052
+ * real, well-marked and unnameable from the layer obliged to describe it (#207).
1053
+ *
1054
+ * The single-resolver contract is unchanged and still lives with the resolvers: startup validation
1055
+ * and request-time refusal must consume the SAME predicate, because an operation blessed at boot
1056
+ * that can still answer 2xx on the first request is precisely the state that module ended.
1057
+ *
1058
+ * The defect behind all of this: a custom operation declaring a `requestDto` no implementation
1059
+ * consumes falls through to the generic core path, which persists only fields the resource schema
1060
+ * declares. A DTO such as `{ newRole, reason }` names none of them, so the framework validates the
1061
+ * body, writes nothing, and answers HTTP 200 with the unchanged row. A 2026-08-01 hostile probe
1062
+ * caught `organizationMembers | promote` doing exactly that, and a catalogue sweep found 41 routed
1063
+ * operations sharing the shape. Nothing escalates; the destructive direction is the dangerous one —
1064
+ * an admin demotes a compromised account, is told 200 OK, and the account keeps its privileges.
1065
+ *
1066
+ * assurance-control: WILDO.OPERATIONS.EXECUTION_INTEGRITY — an interface must not report success for
1067
+ * an action it did not perform; monitoring and incident response depend on truthful responses.
1068
+ */
1069
+ export declare enum ResourceOperationImplementationCoverage {
1070
+ /** Something consumes the declared contract: a custom implementation, a declarative side effect, or the core path itself. */
1071
+ SERVICEABLE = "serviceable",
1072
+ /** Nothing does. Left alone, the operation answers 2xx having performed nothing. */
1073
+ UNSERVICEABLE = "unserviceable",
1074
+ /** Outside this guard's remit — a core operation, or a variant the service tier never enters. */
1075
+ NOT_APPLICABLE = "not_applicable"
1076
+ }
1077
+ /**
1078
+ * Why an operation was judged {@link ResourceOperationImplementationCoverage.UNSERVICEABLE}.
1079
+ * Surfaced verbatim in the startup error so the fix is obvious without re-deriving the analysis.
1080
+ */
1081
+ export declare enum ResourceOperationUnserviceableReason {
1082
+ /** Write-like: no declared request field is a persisted resource-schema field, so the write is empty. */
1083
+ NO_REQUEST_FIELD_IS_PERSISTED = "no_request_field_is_persisted",
1084
+ /** READ-like: the core read addresses the row by id and consumes no request field, so the declared verb never happens. */
1085
+ READ_CONSUMES_NO_REQUEST_FIELD = "read_consumes_no_request_field",
1086
+ /** Collection-like: no declared request field is a collection parameter the core path reads. */
1087
+ NO_REQUEST_FIELD_IS_COLLECTION_PARAMETER = "no_request_field_is_collection_parameter"
1088
+ }
1089
+ /**
1090
+ * Whether a custom write-like verb authored the request contract it exposes, or silently inherited
1091
+ * the resource's whole create/update contract.
1092
+ *
1093
+ * Moved here with {@link ResourceOperationImplementationCoverage}, for the same reason.
1094
+ *
1095
+ * assurance-control: WILDO.OPERATIONS.EXECUTION_INTEGRITY — a named verb must not silently widen
1096
+ * into an unconstrained write over fields its resource never exposed for update.
1097
+ */
1098
+ export declare enum ResourceOperationRequestContractBreadth {
1099
+ /** The operation authored its own request contract, or its family cannot inherit one. */
1100
+ AUTHORED = "authored",
1101
+ /** A write-like custom verb inherited the resource's whole create/update contract. */
1102
+ OVERBROAD_INHERITED_FULL_CONTRACT = "overbroad_inherited_full_contract"
1103
+ }
987
1104
  /**
988
1105
  * Where the engine's own inherited implementation gaps are tracked — the 2026-08-01 catalogue
989
1106
  * sweep that found 41 routed operations answering a success status having performed nothing.
@@ -1001,6 +1118,8 @@ export declare const UNIMPLEMENTED_ENGINE_OPERATION_BACKLOG_REF = ".claude/plans
1001
1118
  */
1002
1119
  export declare const acknowledgeUnimplementedEngineOperation: (reason: string) => ResourceOperation_UnimplementedAcknowledgement;
1003
1120
  /**
1121
+ * @wildo_source:part:start saas.models.resource-config.operation-auditable-event facet:layer:shared facet:audience:app-developer
1122
+ *
1004
1123
  * Declarative control over this variant's audit emission.
1005
1124
  *
1006
1125
  * **The baseline needs no declaration.** Every `HIGH` / `CRITICAL` variant emits
@@ -1022,6 +1141,7 @@ export type ResourceOperation_AuditableEvent = {
1022
1141
  */
1023
1142
  auditBelowRiskFloor?: boolean;
1024
1143
  };
1144
+ /** @wildo_source:part:end saas.models.resource-config.operation-auditable-event */
1025
1145
  type ResourceConfiguration_OperationVariant_Base<TMainSchema extends z.ZodTypeAny = z.ZodAny> = {
1026
1146
  variantType: ResourceOperationVariantType;
1027
1147
  resourceOperationLike?: CoreResourceOperation;
@@ -1035,6 +1155,39 @@ type ResourceConfiguration_OperationVariant_Base<TMainSchema extends z.ZodTypeAn
1035
1155
  isDefault?: boolean;
1036
1156
  variantKey?: string;
1037
1157
  riskLevel: ResourceOperationRiskLevel;
1158
+ /**
1159
+ * @wildo_source:part:start saas.models.resource-config.operation-variant-client-timeout facet:layer:shared facet:family:resource-config
1160
+ *
1161
+ * Frontend HTTP timeout for THIS variant, in milliseconds — declare it on any operation whose
1162
+ * synchronous round trip legitimately outlives the frontend client's 30-second default (an
1163
+ * operation that calls a model and waits for the answer, a long import, a blocking generation).
1164
+ *
1165
+ * The frontend resources client applies it as the per-request timeout on every dispatch shape
1166
+ * (api-call, api-call-with-callback, search). An explicit caller-supplied
1167
+ * `RequestOptions.timeout` still wins; omitting the field keeps the client default.
1168
+ *
1169
+ * Why it matters: without it, a long-running operation's request is aborted CLIENT-side while
1170
+ * the server work succeeds — the caller renders a network error, and the operation-success
1171
+ * refresh chain never fires, so lists keep showing the pre-operation world. Declare the
1172
+ * expectation on the variant (the operation knows it is long-running); do not hard-code
1173
+ * timeouts in consumer hooks, which duplicates that knowledge at every call site.
1174
+ *
1175
+ * This is a TRANSPORT expectation only — not a UI/observability signal (that is `riskLevel`)
1176
+ * and not a server-side bound: the backend is free to answer sooner or be cut off by its own
1177
+ * limits.
1178
+ *
1179
+ * @example a custom operation that generates a document before answering
1180
+ * variants: [{
1181
+ * variantType: ResourceOperationVariantType.API_CALL,
1182
+ * roles: [CORE_ORG_ROLES.ORG_MEMBER],
1183
+ * riskLevel: ResourceOperationRiskLevel.MEDIUM,
1184
+ * clientRequestTimeoutMs: 300_000, // five minutes — the generation is synchronous
1185
+ * requestDto: GenerateReportRequest_Schema,
1186
+ * customResponseDto: GenerateReportOutcome_Schema,
1187
+ * }]
1188
+ */
1189
+ clientRequestTimeoutMs?: number;
1190
+ /** @wildo_source:part:end saas.models.resource-config.operation-variant-client-timeout */
1038
1191
  roles: Roles[];
1039
1192
  /**
1040
1193
  * Per-foreign-key policy for REFERENCE fields this variant writes — the TARGET-side counterpart of
@@ -1069,63 +1222,6 @@ type ResourceConfiguration_OperationVariant_Base<TMainSchema extends z.ZodTypeAn
1069
1222
  * automatically, and everything else is deliberately not.
1070
1223
  */
1071
1224
  auditableEvent?: ResourceOperation_AuditableEvent;
1072
- /**
1073
- * Demand a FRESH proof of identity for this specific operation, regardless of how recently the
1074
- * caller authenticated.
1075
- *
1076
- * The framework's baseline step-up is a per-USER-TYPE policy (`UserTypeAuthPolicy.stepUpAuth`):
1077
- * opt-in, defaulting to `enabled: false`, and *freshness*-based — it challenges only once the
1078
- * session's `lastAuthenticatedAt` is older than `maxAgeSeconds` (default 300). That is the right
1079
- * shape for "this tenant wants periodic re-proof across the board", and the wrong shape for a
1080
- * single irreversible action: a caller who signed in two minutes ago destroys the resource with
1081
- * no credential proof at all, and an application that never configures `stepUpAuth` is never
1082
- * challenged for anything.
1083
- *
1084
- * Setting this to `true` makes the challenge UNCONDITIONAL for this operation. The caller must
1085
- * present a valid single-use `REAUTH` consumable token (minted by `POST /auth/reauth`, carried in
1086
- * `X-Reauth-Token`); otherwise the request is refused with `STEP_UP_REQUIRED` (HTTP 403). The
1087
- * frontend HTTP client already completes this loop — it catches the 403, runs the registered
1088
- * step-up handler to obtain a token, and replays the request — so declaring the flag is the whole
1089
- * integration.
1090
- *
1091
- * FAIL-CLOSED by design: an operation that declares this is challenged even when the user type
1092
- * has NO `stepUpAuth` policy at all. Deriving the requirement from `riskLevel` was rejected —
1093
- * `riskLevel` is a UI/observability signal (danger-zone placement, typed confirmation, MCP
1094
- * destructive hints), read today by no authorization code, and silently promoting it to a security
1095
- * control would change the behaviour of every existing `CRITICAL` operation at once.
1096
- *
1097
- * Applies only to principals whose identity can be re-proved: user requests that are not
1098
- * sub-calls. Machine principals, internal calls and worker executions are exempt exactly as they
1099
- * are for the baseline policy — there is no interactive credential to re-present.
1100
- *
1101
- * ⚠️ **Check who can actually satisfy it before declaring it.**
1102
- * `AuthMethodManagementBackendService.reAuthenticate` proves identity by PASSWORD only today
1103
- * (`AuthMethod.PASSKEY` is declared and explicitly refused as not yet supported), and it requires
1104
- * a real `passwordHash` on the principal's credential row — a user-type policy that merely enables
1105
- * `PASSWORD` is necessary but NOT sufficient.
1106
- *
1107
- * Two populations therefore cannot satisfy this gate:
1108
- *
1109
- * - a user type whose `authMethodsEnabled` excludes `PASSWORD` (SSO-only, passkey-only) — note
1110
- * this is also reachable through a per-ORGANIZATION `authMethodsEnabled` override, so an
1111
- * app-level policy is not the whole answer;
1112
- * - **directory-managed (SCIM) users**, whose `passwordHash` AND passkeys the framework
1113
- * DELIBERATELY DESTROYS as a compliance control
1114
- * (`_reconcileLocalCredentialsForDirectoryManaged` — a local first factor would survive IdP
1115
- * deprovisioning). Their TOTP is intentionally preserved, but re-auth cannot use it yet.
1116
- *
1117
- * For those principals the operation is permanently refused. That is fail-closed rather than
1118
- * unsafe, and the refusal is diagnosable (the step-up round-trip ends in an explicit "No password
1119
- * set for this account") — but it is a product decision, not a detail. Do not declare this flag on
1120
- * an operation those populations are expected to perform until re-authentication covers a factor
1121
- * they hold.
1122
- *
1123
- * This is also why the requirement is a per-operation flag rather than a hardcoded `password`
1124
- * field in a request DTO: the proof is negotiated by the auth policy, not frozen into the resource
1125
- * contract. A `{ password }` field cannot adapt to any of the above.
1126
- *
1127
- * assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-authentication before a high-impact action.
1128
- */
1129
1225
  /**
1130
1226
  * Admits an APPLICATION-scope platform super-administrator to a resource whose primary scope is a
1131
1227
  * PER-INSTANCE tenant scope (today: `ORGANIZATIONS`) without requiring membership of that tenant.
@@ -1175,7 +1271,7 @@ type ResourceConfiguration_OperationVariant_Base<TMainSchema extends z.ZodTypeAn
1175
1271
  * `authorizeUserSelf` authorizes a USER_SELF-scoped operation by requiring the addressed row to BE
1176
1272
  * the caller. On `USERS` — whose `resourcePrimaryScope` IS `USER_SELF`, because the resource is a
1177
1273
  * self-anchor scope root — that made the entire administrative surface self-only: `assign_roles`,
1178
- * `revoke_roles`, `suspend_user`, `unsuspend_user`, `force_password_reset`, the admin READ and the
1274
+ * `revoke_roles`, `suspend_user`, `unsuspend_user`, `reactivate_user`, `force_password_reset`, the admin READ and the
1179
1275
  * core UPDATE/DELETE all refused `authorizations_access_denied` against another user, while the
1180
1276
  * specification documents every one of them as acting on "another user's record" and the admin UI
1181
1277
  * surfaces them as per-row actions.
@@ -1204,7 +1300,74 @@ type ResourceConfiguration_OperationVariant_Base<TMainSchema extends z.ZodTypeAn
1204
1300
  * is authorized by the caller's ROLE, never by caller and subject being the same person.
1205
1301
  */
1206
1302
  admitsCrossSubjectUserAdministration?: boolean;
1303
+ /**
1304
+ * @wildo_source:part:start saas.models.resource-config.operation-step-up facet:layer:shared facet:audience:app-developer
1305
+ *
1306
+ * Demand a FRESH proof of identity for this specific operation, regardless of how recently the
1307
+ * caller authenticated.
1308
+ *
1309
+ * The framework's baseline step-up is a per-USER-TYPE policy (`UserTypeAuthPolicy.stepUpAuth`):
1310
+ * opt-in, defaulting to `enabled: false`, and *freshness*-based — it challenges only once the
1311
+ * session's `lastAuthenticatedAt` is older than `maxAgeSeconds` (default 300). That is the right
1312
+ * shape for "this tenant wants periodic re-proof across the board", and the wrong shape for a
1313
+ * single irreversible action: a caller who signed in two minutes ago destroys the resource with
1314
+ * no credential proof at all, and an application that never configures `stepUpAuth` is never
1315
+ * challenged for anything.
1316
+ *
1317
+ * Setting this to `true` makes the challenge UNCONDITIONAL for this operation. The caller must
1318
+ * present a valid single-use `REAUTH` consumable token (minted by `POST /auth/reauth`, carried in
1319
+ * `X-Reauth-Token`); otherwise the request is refused with `STEP_UP_REQUIRED` (HTTP 403). The
1320
+ * frontend HTTP client already completes this loop — it catches the 403, runs the registered
1321
+ * step-up handler to obtain a token, and replays the request — so declaring the flag is the whole
1322
+ * integration.
1323
+ *
1324
+ * FAIL-CLOSED by design: an operation that declares this is challenged even when the user type
1325
+ * has NO `stepUpAuth` policy at all. Deriving the requirement from `riskLevel` was rejected —
1326
+ * `riskLevel` is a UI/observability signal (danger-zone placement, typed confirmation, MCP
1327
+ * destructive hints), read today by no authorization code, and silently promoting it to a security
1328
+ * control would change the behaviour of every existing `CRITICAL` operation at once.
1329
+ *
1330
+ * Applies only to principals whose identity can be re-proved: user requests that are not
1331
+ * sub-calls. Machine principals, internal calls and worker executions are exempt exactly as they
1332
+ * are for the baseline policy — there is no interactive credential to re-present.
1333
+ *
1334
+ * ⚠️ **Check who can actually satisfy it before declaring it.**
1335
+ * `AuthMethodManagementBackendService.reAuthenticate` accepts THREE factors — `PASSWORD`, `TOTP`
1336
+ * (a code or a backup code, through the same anti-replay authority login uses) and `PASSKEY` (a
1337
+ * WebAuthn assertion produced under {@link PasskeyAuthenticationCeremony.STEP_UP}, which pins user
1338
+ * verification to REQUIRED and uses a challenge key a login assertion cannot redeem). A principal
1339
+ * satisfies this gate if they hold ANY of the three.
1340
+ *
1341
+ * That was not always true, and the earlier text here is worth knowing because it inverted the
1342
+ * advice: until TOTP and passkey re-auth landed, this said the gate was PASSWORD-only and told
1343
+ * authors not to declare the flag on operations SSO-only, passkey-only or directory-managed users
1344
+ * perform. Both populations can satisfy it now.
1345
+ *
1346
+ * - **directory-managed (SCIM) users** in particular. The framework deliberately destroys their
1347
+ * `passwordHash` AND passkeys as a compliance control
1348
+ * (`_reconcileLocalCredentialsForDirectoryManaged` — a local first factor would survive IdP
1349
+ * deprovisioning) and deliberately PRESERVES their TOTP, which sits on top of the IdP first
1350
+ * factor. TOTP re-auth is what makes that preserved factor usable, and it is why an ORG_ADMIN
1351
+ * of a directory-managed tenant can now start a teardown they were once locked out of.
1352
+ *
1353
+ * A principal holding NONE of the three still cannot satisfy the gate, and is still refused
1354
+ * fail-closed with a diagnosable message. Check the user type's `authMethodsEnabled` — and any
1355
+ * per-ORGANIZATION override of it, since an app-level policy is not the whole answer — before
1356
+ * declaring this flag on an operation that population must perform.
1357
+ *
1358
+ * This is also why the requirement is a per-operation flag rather than a hardcoded `password`
1359
+ * field in a request DTO: the proof is negotiated by the auth policy, not frozen into the resource
1360
+ * contract. A `{ password }` field cannot adapt to any of the above.
1361
+ *
1362
+ * assurance-control: WILDO.IDENTITY.STEP_UP_AUTHENTICATION — re-authentication before a high-impact action.
1363
+ *
1364
+ * ⚠️ **Read-shaped operations are SKIPPED, so the flag is inert on them.** `READ`, `LIST`,
1365
+ * `SEARCH` and `COUNT` never reach the gate — declaring it there configures cleanly and enforces
1366
+ * nothing. Step-up guards an ACT, not a look; to restrict who may read, use the operation's
1367
+ * `roles`.
1368
+ */
1207
1369
  requiresStepUpAuthentication?: boolean;
1370
+ /** @wildo_source:part:end saas.models.resource-config.operation-step-up */
1208
1371
  /**
1209
1372
  * Default **frontend surface** for this operation when no app preset declares
1210
1373
  * one (see {@link ResourceOperationFrontendSurface}). Lets the framework mark
@@ -1330,6 +1493,18 @@ type ResourceConfiguration_OperationVariant_ApiCall_BuilderParameters<TMainSchem
1330
1493
  * that seam the authenticated identity is not yet known, so the client
1331
1494
  * identifier is the IP address (`getClientIpFromRequest`).
1332
1495
  *
1496
+ * **The declaration binds every plane that dispatches the operation, not only
1497
+ * HTTP.** An agent reaching the same operation as an MCP tool (`tools/call`)
1498
+ * or as a Wildo function tool (`resourceReadTool` / `resourceWriteTool`)
1499
+ * bypasses Express, so each of those planes enforces this policy itself
1500
+ * through `RateLimitBackendService.checkPolicyForSubject`. Two consequences to
1501
+ * expect: each plane counts into its OWN bucket, so an agent's traffic cannot
1502
+ * spend a browser's budget or the reverse; and off HTTP the counted subject is
1503
+ * the caller's CREDENTIAL rather than an IP, which is the closest available
1504
+ * reading of "per client" where there is no socket. A number authored here
1505
+ * therefore means the same thing on every plane — per client, per plane —
1506
+ * rather than one shared total across all three.
1507
+ *
1333
1508
  * When absent, only the global HTTP rate-limit
1334
1509
  * (`RuntimeConfig.httpServerConfiguration.rateLimiting`) gates this route
1335
1510
  * — that limiter is the safety net for endpoints with no per-endpoint
@@ -1469,12 +1644,27 @@ export type ResourceConfiguration_Operation_Base<TCustomOperationEnum extends En
1469
1644
  * Calculated at factory execution time.
1470
1645
  */
1471
1646
  repositoryDto?: z.ZodSchema<any>;
1647
+ /**
1648
+ * `EVENT_COUNTER` badge writes this operation performs after it succeeds.
1649
+ *
1650
+ * `badgeRef` is a badge KEY (`<scope>:<identifier>`), NOT a bare identifier, and it is what
1651
+ * decides which badge is written — including at WHICH SCOPE. The scope used to be inferred from
1652
+ * this operation's own `resourcePrimaryScope`, which meant an operation on a user-scoped
1653
+ * resource wrote a user-scoped counter even when the definition it named lived at organization
1654
+ * scope: a row no definition declared, that no screen could render, reported nowhere.
1655
+ *
1656
+ * Every `badgeRef` is resolved against the registered `notificationBadgeDefinitions` at
1657
+ * CONFIGURATION time and the application refuses to start when one does not resolve. Only the
1658
+ * scopeId — whose badge — is left to the request.
1659
+ */
1472
1660
  notificationBadgeOperations: {
1473
- identifier: NotificationBadgeIdentifier;
1661
+ badgeRef: NotificationBadgeKey;
1474
1662
  operation: NotificationBadgeOperation;
1475
1663
  }[];
1476
1664
  userNotifications: UserNotificationDefinition[];
1477
1665
  m2mNotifications: M2MNotificationDefinitionWithoutIdentifier[];
1666
+ /** Authored metered-usage recording for this operation; `undefined` when it consumes nothing. */
1667
+ recordsUsage?: MeteredUsageRecordingDefinition;
1478
1668
  };
1479
1669
  /** @wildo_source:part:end saas.models.resource-config.operation-base */
1480
1670
  /**
@@ -1542,9 +1732,20 @@ export type ResourceConfiguration_Operation_ApiCall<TCustomOperationEnum extends
1542
1732
  /**
1543
1733
  * Resolved per-endpoint rate-limit policy (forwarded by the resource
1544
1734
  * configuration factory from the variant builder parameters). Read at
1545
- * runtime by `RateLimitBackendService.checkPolicyForVariant` at the
1735
+ * runtime by three enforcers, one per plane that can dispatch this
1736
+ * operation: `RateLimitBackendService.checkPolicyForVariant` at the
1546
1737
  * controller pre-flight seam (`controller-resource.backend.service.ts`
1547
- * → `doOperation`).
1738
+ * → `doOperation`), `McpServerBackendService.assertOperationRateLimitPolicy`
1739
+ * on the MCP tool plane, and `assertDeclaredOperationRateLimit` on the agent
1740
+ * function-tool plane (`function-tools.backend.definitions.ts`). Only the
1741
+ * first is IP-keyed; the other two count the caller's credential, because
1742
+ * there is no socket to key on.
1743
+ *
1744
+ * **A new plane that dispatches a resource operation off HTTP owes its own
1745
+ * call to `checkPolicyForSubject`.** Nothing structural enforces that — the
1746
+ * field is simply not read where nobody reads it — which is how the MCP and
1747
+ * function-tool planes each shipped unthrottled for the operations that
1748
+ * declare a budget.
1548
1749
  *
1549
1750
  * Auto-variants (`SUMMARY` / `CONTEXT` for READ/LIST) inherit this
1550
1751
  * field from their default URL-bearing variant (`API_CALL` or
@@ -1628,12 +1829,71 @@ export type OperationConfig_ForKey<K, TMainSchema extends z.ZodTypeAny = z.ZodAn
1628
1829
  }[];
1629
1830
  userNotifications?: UserNotificationDefinitionWithoutPrimaryScopeAndIdentifier[];
1630
1831
  notificationBadgeOperations?: {
1631
- identifier: NotificationBadgeIdentifier;
1832
+ badgeRef: NotificationBadgeKey;
1632
1833
  operation: NotificationBadgeOperation;
1633
1834
  }[];
1634
1835
  m2mNotifications?: M2MNotificationDefinitionWithoutIdentifier[];
1836
+ recordsUsage?: MeteredUsageRecordingDefinition;
1635
1837
  };
1636
1838
  /** @wildo_source:part:end saas.models.resource-config.operation-variant-for-key */
1839
+ /**
1840
+ * @wildo_source:part:start saas.models.resource-config.metered-usage-recording facet:layer:shared facet:family:resource-config
1841
+ *
1842
+ * Declares that a successful operation CONSUMES a metered product, so the engine records usage
1843
+ * against the caller's billing account (#415).
1844
+ *
1845
+ * Before this existed, `UsageMeteringBackendService.recordUsage` had no caller anywhere: a product
1846
+ * could be declared METERED, priced and synced to the billing provider, and nothing in the framework
1847
+ * ever wrote a usage row. An application could only meter by reaching into a backend service by hand
1848
+ * from a custom implementation, which is not an authoring surface — it is a workaround.
1849
+ *
1850
+ * Declared per OPERATION, beside `userNotifications` and `m2mNotifications`, because it is the same
1851
+ * kind of thing: an authored consequence of an operation succeeding, expressed where the operation is
1852
+ * expressed rather than buried in a handler.
1853
+ *
1854
+ * @example
1855
+ * // One unit per successful export, whatever the export contains.
1856
+ * [CoreResourceOperation.CREATE]: {
1857
+ * variants: [ ... ],
1858
+ * recordsUsage: { productKey: 'report_exports' },
1859
+ * }
1860
+ *
1861
+ * @example
1862
+ * // Usage that VARIES per operation, read from the row that was written.
1863
+ * [Reports_Operations.RENDER]: {
1864
+ * variants: [ ... ],
1865
+ * recordsUsage: { productKey: 'rendered_pages', quantityFromResultField: 'pageCount' },
1866
+ * }
1867
+ */
1868
+ export interface MeteredUsageRecordingDefinition {
1869
+ /**
1870
+ * The METERED product's key.
1871
+ *
1872
+ * Convention, unchanged from the flush: the product key IS the provider's meter event name. Usage
1873
+ * is only recorded when the caller's billing account holds an ACTIVE or TRIALING subscription
1874
+ * containing a METERED product with this key — an operation declared against a product nobody has
1875
+ * bought records nothing, and warns.
1876
+ */
1877
+ productKey: string;
1878
+ /**
1879
+ * Fixed units per successful operation. Defaults to 1.
1880
+ *
1881
+ * Mutually exclusive with {@link quantityFromResultField}: a usage amount has one source, and
1882
+ * letting both apply would make "which one wins" a rule nobody could read off the declaration.
1883
+ */
1884
+ quantity?: number;
1885
+ /**
1886
+ * Dot path to a NUMERIC field on the written row, for usage that varies per operation — pages
1887
+ * rendered, bytes stored, rows exported.
1888
+ *
1889
+ * Read from the operation's RESULT rather than its input, deliberately: the input is what was
1890
+ * asked for and the result is what happened, and only the second is what a customer should be
1891
+ * billed for. A path that resolves to a non-number records nothing and warns, rather than
1892
+ * defaulting to 1 — silently billing the wrong amount is worse than billing nothing and saying so.
1893
+ */
1894
+ quantityFromResultField?: string;
1895
+ }
1896
+ /** @wildo_source:part:end saas.models.resource-config.metered-usage-recording */
1637
1897
  /**
1638
1898
  * @wildo_source:part:start saas.models.resource-config.operation-union facet:layer:shared facet:family:resource-config
1639
1899
  *
@@ -1692,10 +1952,11 @@ export type ResourceConfiguration_Operation_BuilderParameters<TMainSchema extend
1692
1952
  }[];
1693
1953
  userNotifications?: UserNotificationDefinitionWithoutPrimaryScopeAndIdentifier[];
1694
1954
  notificationBadgeOperations?: {
1695
- identifier: NotificationBadgeIdentifier;
1955
+ badgeRef: NotificationBadgeKey;
1696
1956
  operation: NotificationBadgeOperation;
1697
1957
  }[];
1698
1958
  m2mNotifications?: M2MNotificationDefinitionWithoutIdentifier[];
1959
+ recordsUsage?: MeteredUsageRecordingDefinition;
1699
1960
  };
1700
1961
  /**
1701
1962
  * @wildo_source:part:start saas.models.resource-config.builder-parameters facet:layer:shared facet:family:resource-config
@@ -1780,10 +2041,22 @@ export type ResourceSystemAccessPolicy = {
1780
2041
  * Auto-derived to `ALLOWED` by the factory when a resource opts into
1781
2042
  * `retentionPolicy`; never authored by hand in the common case.
1782
2043
  *
1783
- * **LIVE.** `readRetainedAsSystem` / `listRetainedAsSystem` exist and are enforced: the verb is
1784
- * asserted fail-closed, a privileged human role is required, and every reveal emits a
1785
- * human-attributed `RETAINED_DATA_ACCESS` audit event. (This block previously said the primitives
1786
- * were "wired in a later phase" — false since the M5b work landed.)
2044
+ * **LIVE, and REACHABLE.** `readRetainedAsSystem` / `listRetainedAsSystem` exist and are enforced:
2045
+ * the verb is asserted fail-closed, a privileged human role is required, and every reveal emits a
2046
+ * human-attributed `RETAINED_DATA_ACCESS` audit event.
2047
+ *
2048
+ * "Reachable" is the half that was missing until #490, and the distinction is worth keeping. The
2049
+ * primitives were correct and enforced from the day M5b landed — and had **no caller**, so the only
2050
+ * route an operator actually had to a retained record was a database console: the unaudited path
2051
+ * they were built to replace. `users | read_retained` is the operator surface that closes it, an
2052
+ * authenticated `APP_ADMIN_SUPER_ADMIN` operation carrying a mandatory justification.
2053
+ *
2054
+ * A resource that derives this grant and exposes no such operation is reachable by nothing. That
2055
+ * is a defensible state — not every retention resource needs an operator door — but it should be a
2056
+ * decision rather than an oversight, and `retained-see-through-operator-surface.test.ts` is what
2057
+ * makes it one.
2058
+ *
2059
+ * (This block previously said the primitives were "wired in a later phase" — false since M5b.)
1787
2060
  */
1788
2061
  seeRetained?: ResourceSystemAccessMode;
1789
2062
  /**
@@ -1974,7 +2247,7 @@ export type ResourceConfiguration_BuilderParameters<TCustomOperationEnum extends
1974
2247
  * stance, erasure stance, and remote-call semantics. The factory enforces presence/absence
1975
2248
  * coherence and content-validates the declaration.
1976
2249
  */
1977
- httpApiBinding?: HttpApiResourceBinding;
2250
+ httpApiBinding?: HttpApiResourceBindingAuthored;
1978
2251
  /** REQUIRED when `persistenceAdapter` is INTROSPECTION; meaningless otherwise. */
1979
2252
  introspectionBinding?: IntrospectionResourceBinding;
1980
2253
  /**
@@ -1986,7 +2259,7 @@ export type ResourceConfiguration_BuilderParameters<TCustomOperationEnum extends
1986
2259
  * targets exist, accept null unless `required`, and are excludeFromCreate/Update; CLOSED
1987
2260
  * population refuses caller CREATE operations).
1988
2261
  */
1989
- externalDataPipeline?: ExternalDataPipelineDeclaration;
2262
+ externalDataPipeline?: ExternalDataPipelineDeclarationAuthored;
1990
2263
  isSystemResource?: boolean;
1991
2264
  /**
1992
2265
  * Does this resource's OWN primary-key URL segment name the CALLER, or the SUBJECT?
@@ -2250,8 +2523,38 @@ export type ResourceConfiguration_InitializationFactory<TCustomOperationEnum ext
2250
2523
  * including for the empty-module case (`never`), which this type deliberately does not model:
2251
2524
  * distributing over `never` yields `never`, and no ordering of distributive branches can change
2252
2525
  * that.
2526
+ *
2527
+ * ## The `undefined` arms produce the OPEN MAP, and that is the fix for #44
2528
+ *
2529
+ * Both of them used to produce `undefined` itself. Since the type parameter DEFAULTS to
2530
+ * `undefined`, that made the BARE `ResourceConfiguration_InitializationFactoryMap` — written with
2531
+ * no type argument — resolve to `undefined`, and every package here compiles with
2532
+ * `strictNullChecks` off, where `undefined` is assignable in both directions. So roughly 34 bare
2533
+ * annotations across engine, platform and examples described nothing at all: a wrong factory, a
2534
+ * misspelled key or an unrelated object were accepted identically. It had reached
2535
+ * `ResourcesRegistryService.initialize`, whose two configuration-map parameters use the bare form,
2536
+ * making the engine's own registry initializer typed `(configurations: undefined, …)`.
2537
+ *
2538
+ * **Only the RESULT of those two branches changed. The chain's STRUCTURE is untouched**, which is
2539
+ * what the warning above requires: the leading conditional is still the distributive
2540
+ * `TResourceType extends undefined`, so inference at a positional argument still reaches the
2541
+ * mapped-type branch. Verified rather than assumed — `platform-apps-manager` and
2542
+ * `platform-crontabs-batches-manager`, the two runtimes the 2026-08-26 regression broke and the
2543
+ * only two that pass a typed custom map positionally, both typecheck at 0 errors.
2544
+ *
2545
+ * Note the fix #44 itself proposed — leading with a NON-distributive `[TResourceType] extends
2546
+ * [undefined]` — is precisely the shape that regression had, so it was not taken.
2547
+ *
2548
+ * Passing `undefined` explicitly stays legal, which every application registry relies on and
2549
+ * `resource-configuration-factory-map-types.test.ts` pins. It is legal today because
2550
+ * `strictNullChecks` is off; if this package is ever made strict, these parameters need an explicit
2551
+ * `| undefined` rather than a type that collapses to it.
2253
2552
  */
2254
- export type ResourceConfiguration_InitializationFactoryMap<TResourceType extends ResourceType | undefined = undefined> = TResourceType extends undefined ? undefined : [TResourceType] extends [undefined] ? undefined : TResourceType extends ResourceType ? {
2553
+ export type ResourceConfiguration_InitializationFactoryMap<TResourceType extends ResourceType | undefined = undefined> = TResourceType extends undefined ? {
2554
+ [key: string]: ResourceConfiguration_InitializationFactory<any, any, any>;
2555
+ } : [TResourceType] extends [undefined] ? {
2556
+ [key: string]: ResourceConfiguration_InitializationFactory<any, any, any>;
2557
+ } : TResourceType extends ResourceType ? {
2255
2558
  [key in TResourceType]: ResourceConfiguration_InitializationFactory<any, any, any>;
2256
2559
  } : {
2257
2560
  [key: string]: ResourceConfiguration_InitializationFactory<any, any, any>;