@wildo-ai/saas-backend-lib 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 (972) hide show
  1. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
  2. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
  3. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
  4. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
  5. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
  6. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
  7. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
  8. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
  9. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
  10. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
  11. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
  12. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
  13. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +199 -0
  14. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
  15. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
  16. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
  17. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
  18. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
  19. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts +14 -3
  20. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
  21. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +138 -24
  22. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  23. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts +3 -1
  24. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
  25. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js +8 -3
  26. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
  27. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts +11 -0
  28. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
  29. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js +11 -2
  30. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js.map +1 -1
  31. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
  32. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  33. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
  34. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  35. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
  36. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  37. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
  38. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  39. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +48 -4
  40. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  41. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +102 -30
  42. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
  44. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
  45. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
  46. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
  47. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
  48. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  49. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
  50. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  51. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
  52. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js +16 -0
  53. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js.map +1 -1
  54. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts +20 -6
  55. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  56. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +96 -32
  57. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  58. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts +3 -1
  59. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
  60. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js +32 -7
  61. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js.map +1 -1
  62. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts +8 -5
  63. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
  64. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.js.map +1 -1
  65. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +80 -0
  66. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +298 -23
  68. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  69. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts +71 -1
  70. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  71. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +85 -5
  72. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  73. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +21 -0
  74. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  75. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +146 -4
  76. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  77. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
  78. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  79. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  80. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts +3 -26
  81. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
  82. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js +3 -68
  83. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js.map +1 -1
  84. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  85. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
  86. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  87. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
  88. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  89. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
  90. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  91. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
  92. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  93. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +533 -43
  94. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  95. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
  96. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  97. package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
  98. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  99. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
  100. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
  101. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
  102. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
  103. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
  104. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
  105. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
  106. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
  107. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
  108. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
  109. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
  110. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
  111. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
  112. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
  113. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
  114. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
  115. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
  116. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  117. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
  118. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  119. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
  120. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  121. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
  122. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  123. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
  124. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
  125. package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
  126. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
  127. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
  128. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  129. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
  130. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  131. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  132. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +54 -13
  133. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  134. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
  135. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  136. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
  137. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  138. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
  139. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  140. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
  141. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  142. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
  143. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  144. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
  145. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  146. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  147. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
  148. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  149. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
  150. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  151. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
  152. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  153. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
  154. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
  155. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
  156. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
  157. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
  158. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  159. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
  160. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  161. package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
  162. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  163. package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
  164. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  165. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
  166. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  167. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +263 -13
  168. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  169. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +376 -58
  170. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  171. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +264 -7
  172. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  173. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +414 -5
  174. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  175. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  176. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
  177. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  178. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +16 -0
  179. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -0
  180. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +140 -0
  181. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -0
  182. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
  183. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  184. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +65 -6
  185. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  186. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
  187. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
  188. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
  189. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
  190. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  191. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +45 -0
  192. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  193. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
  194. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  195. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
  196. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  197. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
  198. package/dist/esm/config/custom/application-config-controller.backend.service.js +7 -1
  199. package/dist/esm/config/custom/application-config-controller.backend.service.js.map +1 -1
  200. package/dist/esm/config/models/app-config.backend.schemas.d.ts +146 -46
  201. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  202. package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
  203. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  204. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
  205. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  206. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
  207. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  208. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
  209. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  210. package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
  211. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  212. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  213. package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
  214. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  215. package/dist/esm/config/services/app-configuration.backend.utils.d.ts +43 -1
  216. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  217. package/dist/esm/config/services/app-configuration.backend.utils.js +52 -3
  218. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  219. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
  220. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  221. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
  222. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  223. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts +2 -2
  224. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js +2 -2
  225. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js.map +1 -1
  226. package/dist/esm/databases/models/filter.backend.schemas.js +2 -2
  227. package/dist/esm/databases/models/filter.backend.schemas.js.map +1 -1
  228. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
  229. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js +20 -1
  230. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js.map +1 -1
  231. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  232. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
  233. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  234. package/dist/esm/databases/services/redis.service.d.ts +27 -0
  235. package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
  236. package/dist/esm/databases/services/redis.service.js +29 -0
  237. package/dist/esm/databases/services/redis.service.js.map +1 -1
  238. package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
  239. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  240. package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
  241. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  242. package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
  243. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  244. package/dist/esm/errors/services/error-handler.backend.service.js +134 -8
  245. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  246. package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
  247. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  248. package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
  249. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  250. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
  251. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  252. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
  253. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  254. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
  255. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  256. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
  257. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  258. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts +41 -0
  259. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -0
  260. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js +40 -0
  261. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js.map +1 -0
  262. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts +64 -0
  263. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -0
  264. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js +193 -0
  265. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js.map +1 -0
  266. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +72 -4
  267. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  268. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +60 -19
  269. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  270. package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
  271. package/dist/esm/external-data/external-data-transform.backend.js +7 -1
  272. package/dist/esm/external-data/external-data-transform.backend.js.map +1 -1
  273. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts +2 -0
  274. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
  275. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js +13 -0
  276. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js.map +1 -1
  277. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
  278. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  279. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  280. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
  281. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
  282. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
  283. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
  284. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
  285. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
  286. package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
  287. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
  288. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
  289. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
  290. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
  291. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
  292. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
  293. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
  294. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
  295. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
  296. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
  297. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  298. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
  299. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  300. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
  301. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
  302. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
  303. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
  304. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
  305. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  306. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
  307. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  308. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  309. package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
  310. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  311. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  312. package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
  313. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  314. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +306 -7
  315. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  316. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +539 -45
  317. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  318. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  319. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
  320. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  321. package/dist/esm/files/controllers/file.controller.d.ts +24 -1
  322. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  323. package/dist/esm/files/controllers/file.controller.js +83 -11
  324. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  325. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts +17 -0
  326. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -0
  327. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js +1 -0
  328. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -0
  329. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +5 -1
  330. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  331. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +76 -13
  332. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  333. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts +18 -0
  334. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
  335. package/dist/esm/files/services/file-operation-handler.backend.service.js +36 -28
  336. package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
  337. package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
  338. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  339. package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
  340. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  341. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
  342. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  343. package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
  344. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  345. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +214 -0
  346. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -0
  347. package/dist/esm/files/services/file-upload-grant.backend.service.js +566 -0
  348. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -0
  349. package/dist/esm/files/services/files.backend.service.d.ts +87 -0
  350. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  351. package/dist/esm/files/services/files.backend.service.js +252 -19
  352. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  353. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
  354. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
  355. package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
  356. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
  357. package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
  358. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  359. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  360. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
  361. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  362. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
  363. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  364. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  365. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
  366. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  367. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  368. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
  369. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  370. package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
  371. package/dist/esm/files/utils/file-uploader.utils.js +12 -0
  372. package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
  373. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
  374. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
  375. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
  376. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
  377. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
  378. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  379. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
  380. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  381. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  382. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
  383. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  384. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
  385. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  386. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
  387. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  388. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
  389. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  390. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +200 -44
  391. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  392. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
  393. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  394. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
  395. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  396. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
  397. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  398. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
  399. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  400. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
  401. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  402. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  403. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
  404. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  405. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
  406. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  407. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
  408. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  409. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
  410. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  411. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
  412. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  413. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  414. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
  415. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  416. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
  417. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  418. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  419. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
  420. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  421. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
  422. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
  423. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
  424. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
  425. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  426. package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
  427. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  428. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +107 -1
  429. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  430. package/dist/esm/flows-actors/services/agents.backend.service.js +519 -56
  431. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  432. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
  433. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  434. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
  435. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  436. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
  437. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  438. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
  439. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  440. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  441. package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
  442. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  443. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  444. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
  445. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  446. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
  447. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
  448. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
  449. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
  450. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
  451. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  452. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
  453. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  454. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +151 -41
  455. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  456. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +308 -143
  457. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  458. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
  459. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  460. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
  461. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  462. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  463. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  464. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
  465. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  466. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
  467. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  468. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
  469. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
  470. package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
  471. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
  472. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
  473. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  474. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
  475. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  476. package/dist/esm/index.d.ts +15 -5
  477. package/dist/esm/index.d.ts.map +1 -1
  478. package/dist/esm/index.js +45 -5
  479. package/dist/esm/index.js.map +1 -1
  480. package/dist/esm/inject/models/container.d.ts.map +1 -1
  481. package/dist/esm/inject/models/container.js +82 -10
  482. package/dist/esm/inject/models/container.js.map +1 -1
  483. package/dist/esm/inject/models/service-types.d.ts +20 -3
  484. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  485. package/dist/esm/inject/models/service-types.js +21 -3
  486. package/dist/esm/inject/models/service-types.js.map +1 -1
  487. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  488. package/dist/esm/mcp/controllers/mcp.controller.js +32 -4
  489. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  490. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts +34 -0
  491. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
  492. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js +42 -0
  493. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
  494. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +84 -1
  495. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  496. package/dist/esm/mcp/services/mcp-server.backend.service.js +235 -11
  497. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  498. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts +64 -2
  499. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  500. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +152 -6
  501. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  502. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  503. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
  504. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  505. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
  506. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
  507. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
  508. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
  509. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
  510. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  511. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
  512. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  513. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
  514. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  515. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  516. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
  517. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  518. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
  519. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  520. package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
  521. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  522. package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
  523. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  524. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
  525. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
  526. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
  527. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
  528. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
  529. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
  530. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
  531. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
  532. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
  533. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  534. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  535. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
  536. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  537. package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
  538. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  539. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
  540. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
  541. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
  542. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
  543. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
  544. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
  545. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
  546. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
  547. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
  548. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
  549. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
  550. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
  551. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
  552. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  553. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
  554. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  555. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
  556. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
  557. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
  558. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
  559. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  560. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
  561. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  562. package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
  563. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  564. package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
  565. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  566. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
  567. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  568. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  569. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
  570. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  571. package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
  572. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  573. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +108 -13
  574. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  575. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +432 -101
  576. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  577. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
  578. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  579. package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
  580. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  581. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
  582. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  583. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
  584. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  585. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
  586. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  587. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +54 -7
  588. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  589. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts +5 -5
  590. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
  591. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js +14 -13
  592. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js.map +1 -1
  593. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts +2 -1
  594. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  595. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +18 -8
  596. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  597. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  598. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +20 -18
  599. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  600. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
  601. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  602. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
  603. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  604. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
  605. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
  606. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  607. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  608. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
  609. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  610. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
  611. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js +4 -1
  612. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js.map +1 -1
  613. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
  614. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
  615. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
  616. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
  617. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
  618. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
  619. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
  620. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
  621. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
  622. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
  623. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
  624. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
  625. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
  626. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
  627. package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
  628. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
  629. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
  630. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  631. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
  632. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  633. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
  634. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  635. package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
  636. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  637. package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
  638. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  639. package/dist/esm/queue/job-consumer.backend.service.js +1 -4
  640. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  641. package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
  642. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  643. package/dist/esm/queue/job-executor.backend.service.js +1 -4
  644. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  645. package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
  646. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  647. package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
  648. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  649. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
  650. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  651. package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
  652. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  653. package/dist/esm/queue/queue.backend.service.d.ts +3 -3
  654. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  655. package/dist/esm/queue/queue.backend.service.js +26 -4
  656. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  657. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
  658. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  659. package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
  660. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  661. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
  662. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  663. package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
  664. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  665. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
  666. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  667. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
  668. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  669. package/dist/esm/requests/service/websocket.service.d.ts +9 -0
  670. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  671. package/dist/esm/requests/service/websocket.service.js +88 -15
  672. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  673. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  674. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
  675. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  676. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  677. package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
  678. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  679. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  680. package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
  681. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  682. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
  683. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  684. package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
  685. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  686. package/dist/esm/resources/services/resource-id.backend.service.js +3 -3
  687. package/dist/esm/resources/services/resource-id.backend.service.js.map +1 -1
  688. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
  689. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  690. package/dist/esm/resources/services/resources-registry.backend.service.js +91 -7
  691. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  692. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
  693. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  694. package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
  695. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  696. package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
  697. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  698. package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
  699. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  700. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
  701. package/dist/esm/runtime/services/execution-context-creator.backend.service.js +13 -7
  702. package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
  703. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
  704. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  705. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  706. package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
  707. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  708. package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
  709. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  710. package/dist/esm/runtime/services/start-application.backend.service.d.ts +47 -1
  711. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  712. package/dist/esm/runtime/services/start-application.backend.service.js +343 -77
  713. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  714. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
  715. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  716. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
  717. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  718. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
  719. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  720. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
  721. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  722. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  723. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
  724. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  725. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
  726. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  727. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
  728. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  729. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
  730. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  731. package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
  732. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  733. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts +3 -23
  734. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
  735. package/dist/esm/security/authentications/models/jwt.backend.schemas.js +20 -45
  736. package/dist/esm/security/authentications/models/jwt.backend.schemas.js.map +1 -1
  737. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
  738. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  739. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  740. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
  741. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  742. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
  743. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  744. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
  745. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  746. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
  747. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  748. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
  749. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  750. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
  751. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  752. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
  753. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  754. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
  755. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  756. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
  757. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  758. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
  759. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  760. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts +9 -1
  761. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  762. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +77 -2
  763. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  764. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
  765. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js +5 -3
  766. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js.map +1 -1
  767. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
  768. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  769. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
  770. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  771. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  772. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
  773. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  774. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  775. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
  776. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  777. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
  778. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  779. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
  780. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  781. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +41 -1
  782. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  783. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +87 -4
  784. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  785. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
  786. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  787. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
  788. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  789. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
  790. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  791. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
  792. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  793. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  794. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
  795. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  796. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
  797. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
  798. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
  799. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
  800. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
  801. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  802. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
  803. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  804. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
  805. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  806. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
  807. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  808. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
  809. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  810. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
  811. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  812. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  813. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
  814. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  815. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  816. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
  817. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  818. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
  819. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  820. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
  821. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  822. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
  823. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  824. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
  825. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  826. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
  827. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
  828. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
  829. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
  830. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
  831. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js +24 -1
  832. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js.map +1 -1
  833. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
  834. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  835. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
  836. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  837. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  838. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
  839. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  840. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts +117 -0
  841. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -0
  842. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js +104 -0
  843. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js.map +1 -0
  844. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
  845. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  846. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
  847. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  848. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
  849. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
  850. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
  851. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
  852. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
  853. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  854. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
  855. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  856. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +175 -14
  857. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  858. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +385 -49
  859. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  860. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
  861. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  862. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
  863. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  864. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
  865. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
  866. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
  867. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
  868. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
  869. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
  870. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
  871. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
  872. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
  873. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
  874. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
  875. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
  876. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
  877. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
  878. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
  879. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
  880. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
  881. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
  882. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
  883. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
  884. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
  885. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  886. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
  887. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
  888. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
  889. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
  890. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
  891. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
  892. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
  893. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
  894. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
  895. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
  896. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
  897. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
  898. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
  899. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
  900. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
  901. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
  902. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
  903. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
  904. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
  905. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  906. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
  907. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
  908. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
  909. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
  910. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
  911. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
  912. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
  913. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
  914. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
  915. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
  916. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
  917. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
  918. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
  919. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
  920. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts +18 -1
  921. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
  922. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js +110 -74
  923. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js.map +1 -1
  924. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts +22 -0
  925. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -0
  926. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js +22 -0
  927. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js.map +1 -0
  928. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts +17 -3
  929. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
  930. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js +12 -0
  931. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js.map +1 -1
  932. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +41 -3
  933. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  934. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +83 -20
  935. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  936. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
  937. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  938. package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
  939. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  940. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
  941. package/dist/esm/security/jwt/services/jwt.backend.service.js +1 -18
  942. package/dist/esm/security/jwt/services/jwt.backend.service.js.map +1 -1
  943. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
  944. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  945. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
  946. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  947. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
  948. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  949. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
  950. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  951. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  952. package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
  953. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  954. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
  955. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  956. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
  957. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  958. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
  959. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  960. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
  961. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  962. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
  963. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
  964. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
  965. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
  966. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
  967. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
  968. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
  969. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
  970. package/dist/tsconfig.build.tsbuildinfo +1 -1
  971. package/package.json +17 -9
  972. package/dist/esm/.builder.pid +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"engine-custom-batch-manifests.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/batches/engine-custom-batch-manifests.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qEAAqE,CAAC;AA6C1G,yEAAyE;AACzE,MAAM,CAAN,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IACjC,kEAAuC,CAAA;IACvC,4DAAiC,CAAA;AACnC,CAAC,EAHW,uBAAuB,KAAvB,uBAAuB,QAGlC;AAuED,+EAA+E;AAE/E,sEAAsE;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAwB,CAAC;AAEhE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,mCAAmC,GAAG,2BAAoC,CAAC;AACxF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,kCAAkC,GAAG,0BAAmC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,gCAAyC,CAAC;AAClG,MAAM,CAAC,MAAM,6CAA6C,GAAG,qCAA8C,CAAC;AAE5G,iFAAiF;AACjF,MAAM,CAAC,MAAM,mCAAmC,GAAG,2BAAoC,CAAC;AAExF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,sCAA+C,CAAC;AAE9G;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,+BAAwC,CAAC;AAEhG;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAA6B,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,WAAoB,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,8BAAuC,CAAC;AAEpF,gFAAgF;AAChF,MAAM,CAAC,MAAM,0BAA0B,GAAG,kBAA2B,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,iBAA0B,CAAC;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAG,WAAoB,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAG,eAAwB,CAAC;AAEvF,6GAA6G;AAC7G,MAAM,CAAC,MAAM,iDAAiD,GAAG,WAAoB,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,aAAsB,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAqB,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAA+B,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAA4B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,uBAAgC,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAiC,CAAC;AAElF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,oBAA6B,CAAC;AAE1E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,WAAoB,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,sBAA+B,CAAC;AAElF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,6BAA6B,GAAG,WAAoB,CAAC;AAElE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,iBAA0B,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,aAAsB,CAAC;AAE/D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,mCAAmC,GAAwC,MAAM,CAAC,MAAM,CAAC;IACpG,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,uBAAuB;IACjC,kBAAkB,EAAE,gBAAgB,CAAC,KAAK;IAC1C,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAwC,MAAM,CAAC,MAAM,CAAC;IAC/G,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,wCAAwC;IAClD,kBAAkB,EAAE,gBAAgB,CAAC,cAAc;IACnD,mBAAmB,EAAE,qBAAqB,CAAC,WAAW;IACtD,cAAc,EAAE,cAAc;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mDAAmD,GAAwC,MAAM,CAAC,MAAM,CAAC;IACpH,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,6CAA6C;IACvD,kBAAkB,EAAE,gBAAgB,CAAC,mBAAmB;IACxD,mBAAmB,EAAE,qBAAqB,CAAC,WAAW;IACtD,cAAc,EAAE,cAAc;CAC/B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+CAA+C,GAAwC,MAAM,CAAC,MAAM,CAAC;IAChH,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,mCAAmC;IAC7C,kBAAkB,EAAE,mBAAmB,CAAC,iBAAiB;IACzD,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,cAAc,EAAE,aAAa;CAC9B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAwC,MAAM,CAAC,MAAM,CAAC;IAC/G,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,kCAAkC;IAC5C,kBAAkB,EAAE,gBAAgB,CAAC,qBAAqB;IAC1D,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+CAA+C,GAAwC,MAAM,CAAC,MAAM,CAAC;IAChH,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,mCAAmC;IAC7C,kBAAkB,EAAE,gBAAgB,CAAC,eAAe;IACpD,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0DAA0D,GAAwC,MAAM,CAAC,MAAM,CAAC;IAC3H,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,8CAA8C;IACxD,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB;IACzD,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,qFAAqF;IACrF,iFAAiF;IACjF,cAAc,EAAE,WAAW;CAC5B,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAwC,MAAM,CAAC,MAAM,CAAC;IACzG,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,4BAA4B;IACtC,kBAAkB,EAAE,gBAAgB,CAAC,aAAa;IAClD,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,cAAc,EAAE,+BAA+B;IAC/C,0BAA0B,EAAE,IAAI;CACjC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mDAAmD,GAAwC,MAAM,CAAC,MAAM,CAAC;IACpH,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,uCAAuC;IACjD,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB;IACzD,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,cAAc,EAAE,WAAW;IAC3B,0BAA0B,EAAE,IAAI;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wCAAwC,GAAwC,MAAM,CAAC,MAAM,CAAC;IACzG,IAAI,EAAE,uBAAuB,CAAC,iBAAiB;IAC/C,QAAQ,EAAE,4BAA4B;IACtC,kBAAkB,EAAE,gBAAgB,CAAC,oBAAoB;IACzD,mBAAmB,EAAE,qBAAqB,CAAC,MAAM;IACjD,2EAA2E;IAC3E,0EAA0E;IAC1E,4EAA4E;IAC5E,yDAAyD;IACzD,4EAA4E;IAC5E,cAAc,EAAE,aAAa;IAC7B,0BAA0B,EAAE,IAAI;CACjC,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAqC,MAAM,CAAC,MAAM,CAAC;IACpG,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,0BAA0B;IACpC,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,gCAAgC;CACtD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAqC,MAAM,CAAC,MAAM,CAAC;IACxG,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,8BAA8B;IACxC,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,oCAAoC;CAC1D,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH;;;;GAIG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAqC,MAAM,CAAC,MAAM,CAAC;IACrG,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,2BAA2B;IACrC,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,gBAAgB,2BAA2B,EAAE;CACnE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2CAA2C,GAAqC,MAAM,CAAC,MAAM,CAAC;IACzG,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,+BAA+B;IACzC,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,cAAc,+BAA+B,EAAE;CACrE,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC1G,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,gCAAgC;IAC1C,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,cAAc,gCAAgC,EAAE;IACrE,cAAc,EAAE,cAAc;CAC/B,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAqC,MAAM,CAAC,MAAM,CAAC;IACtG,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,4BAA4B;IACtC,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,cAAc,4BAA4B,EAAE;IACjE,cAAc,EAAE,uBAAuB;CACxC,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,0DAA0D,GAAqC,MAAM,CAAC,MAAM,CAAC;IACxH,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,8CAA8C;IACxD,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,iBAAiB,8CAA8C,EAAE;IACtF,cAAc,EAAE,iDAAiD;IACjE,0BAA0B,EAAE,KAAK;CAClC,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kDAAkD,GAAqC,MAAM,CAAC,MAAM,CAAC;IAChH,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,sCAAsC;IAChD,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,gBAAgB,sCAAsC,EAAE;IAC7E,cAAc,EAAE,yCAAyC;IACzD,0BAA0B,EAAE,IAAI;CACjC,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC5G,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,kCAAkC;IAC5C,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,gBAAgB,kCAAkC,EAAE;IACzE,cAAc,EAAE,6BAA6B;CAC9C,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8CAA8C,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC5G,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,kCAAkC;IAC5C,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,OAAO,kCAAkC,EAAE;IAChE,cAAc,EAAE,6BAA6B;CAC9C,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAqC,MAAM,CAAC,MAAM,CAAC;IACvG,IAAI,EAAE,uBAAuB,CAAC,cAAc;IAC5C,QAAQ,EAAE,6BAA6B;IACvC,YAAY,EAAE,oBAAoB,CAAC,WAAW;IAC9C,mBAAmB,EAAE,OAAO,6BAA6B,EAAE;IAC3D,cAAc,EAAE,wBAAwB;CACzC,CAAC,CAAC;AAEH,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAmC,MAAM,CAAC,MAAM,CAAC;IACzF,mCAAmC;IACnC,8CAA8C;IAC9C,mDAAmD;IACnD,+CAA+C;IAC/C,+CAA+C;IAC/C,8CAA8C;IAC9C,0DAA0D;IAC1D,mDAAmD;IACnD,wCAAwC;IACxC,wCAAwC;IACxC,sCAAsC;IACtC,0CAA0C;IAC1C,uCAAuC;IACvC,2CAA2C;IAC3C,4CAA4C;IAC5C,wCAAwC;IACxC,kDAAkD;IAClD,8CAA8C;IAC9C,0DAA0D;IAC1D,8CAA8C;IAC9C,yCAAyC;CAC1C,CAAC,CAAC","sourcesContent":["/**\n * Declarative manifest registry for every engine-owned custom batch.\n *\n * Each entry mirrors the `batchCronjob_Context` + optional\n * `cronJobExpression` that the corresponding `createCustomBatchExecutionService(...)`\n * call passes to the runtime batch factory. Because manifests are pure data\n * (no service imports, no container bindings) they can be consumed by both\n * the imperative runtime wiring (`start-application.backend.service.ts`\n * reads `*_BATCH_REF` to populate the `customBatches` map) and the\n * declarative specification layer (`@wildo-ai/saas-specifications` reads\n * {@link ENGINE_CUSTOM_BATCH_MANIFESTS} through the dedicated\n * `@wildo-ai/saas-backend-lib/custom-batch-manifests` subpath to\n * cross-validate `scheduledExecution.customBatchRef` at module load).\n *\n * Keeping the manifest as the single source of truth for every batch ref\n * closes the drift gap called out as D3-a in the non-view-specification\n * coverage plan: the runtime `customBatches.set(...)` call and the authored\n * `CustomBatchScheduledExecutionSpecification.customBatchRef` both resolve\n * through the same literal, so a typo or an unregistered batch is caught at\n * build-time or module-load rather than at a silent runtime no-op.\n *\n * This module imports only enum tokens and declarative types; it must never\n * pull in runtime services so that the specification package (and the\n * companion tooling downstream) can import the aggregator without dragging\n * the backend runtime graph into non-runtime consumers. The `CustomBatchManifest`\n * type itself lives here rather than in `saas-specifications` to avoid a\n * package-level circular dependency (`saas-specifications` already depends on\n * `saas-backend-lib`, not the other way round).\n */\n\nimport { CoreResourceOperation, CoreResourceType, ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport { BackendResourceType } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\n\n/**\n * Common (kind-agnostic) fields carried by every {@link CustomBatchManifest}\n * arm. Documented here once so the per-arm shapes below stay focused on\n * what differs between `resource_anchored` and `scope_anchored` batches.\n */\ninterface CustomBatchManifestCommon {\n /** Stable ref used both as the `customBatches.set(...)` key and the spec `customBatchRef`. */\n batchRef: string;\n /** Operation identifier from the batch's `batchCronjob_Context`. */\n operationIdentifier: string;\n /**\n * Cron expression from the batch's `batchCronjob_Context.cronJobExpression`\n * when declared. Omitted for purely event-triggered custom batches (for\n * example the email `batch-send` path).\n *\n * When {@link cronExpressionConfigurable} is `true`, this value is the\n * runtime **default** rather than a fixed contract — applications can\n * override it via app config and the spec validator therefore treats this\n * as a guidance cron rather than an exact echo target.\n */\n cronExpression?: string;\n /**\n * Marks the cron schedule as runtime-configurable (for example\n * `lifecycle:dormancy-detection`, whose schedule resolves at registration\n * from `LifecycleConfig.dormancyCronSchedule`). When `true`:\n *\n * - The spec validator still requires the authored\n * `CustomBatchScheduledExecutionSpecification.cronExpression` to be a\n * non-empty trimmed string when present, so companion prompts always\n * carry a concrete cadence.\n * - The validator does **not** require the authored cron to equal\n * {@link cronExpression} — divergence is expected and is the whole point\n * of the configurable flag.\n * - Authoring sites should add a `codeHandling.notes` entry pointing at\n * the app-config seam that owns the runtime schedule so transposition\n * prompts can find the override path.\n *\n * Default `false` (omitted) — every other engine batch declares a fixed\n * cron and the strict echo check applies.\n */\n cronExpressionConfigurable?: boolean;\n}\n\n/** Runtime discriminator shared by engine custom-batch manifest arms. */\nexport enum CustomBatchManifestKind {\n RESOURCE_ANCHORED = 'resource_anchored',\n SCOPE_ANCHORED = 'scope_anchored',\n}\n\n/**\n * Declarative anchor for a custom batch registered through\n * `createCustomBatchExecutionService(...)`. The engine co-locates a manifest\n * next to each batch factory and applications do the same for their own\n * custom batches. The specification layer (`@wildo-ai/saas-specifications`)\n * consumes these manifests to cross-check every authored `customBatchRef`\n * at module load.\n *\n * Keeping the manifest structurally separate from the runtime service\n * instance avoids forcing `saas-specifications` into any runtime code path\n * while still giving spec validation a single, trustworthy source of truth\n * for which batch refs exist, where they anchor, and whether they carry a\n * cron schedule.\n *\n * Spec-layer consumers must import this module via the dedicated\n * `@wildo-ai/saas-backend-lib/custom-batch-manifests` subpath (rather than\n * the root barrel) so that the runtime service graph stays out of the spec\n * build. The root-barrel re-export exists only for backend-runtime callers\n * that already pay for the full `saas-backend-lib` graph.\n *\n * The manifest is a discriminated union mirroring\n * {@link BatchesCronjobsCustomExecution_Context}:\n *\n * - `resource_anchored` — the batch genuinely operates on a registered\n * resource (e.g. `files-cleanup` over `FILES`). The manifest carries\n * the target `resourceIdentifier` and the spec layer cross-validates\n * the authored anchor against the runtime `batchCronjob_Context`.\n * - `scope_anchored` — the batch is event-triggered and cross-resource\n * (e.g. `email.batch-send`, `m2m-webhook-delivery`). There is no honest\n * target resource, so the manifest declares the `primaryScope` the\n * bootstrap `ExecutionContext` runs under instead. Use this arm to\n * stop pretending an event-triggered worker \"belongs\" to a resource\n * row that exists only to satisfy the bootstrap requirement.\n *\n * Naming: `scope_anchored` `operationIdentifier` should follow the\n * `<domain>:<batch-ref>` convention (e.g. `notifications:email.batch-send`)\n * so synthetic operation labels stay grep-able alongside their batch ref.\n * The convention is enforced by `assertCustomBatchArm` and pinned by a\n * dedicated unit test.\n */\nexport type CustomBatchManifest =\n | (CustomBatchManifestCommon & {\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED;\n /** Resource identifier from the batch's `batchCronjob_Context`. */\n resourceIdentifier: string;\n })\n | (CustomBatchManifestCommon & {\n kind: CustomBatchManifestKind.SCOPE_ANCHORED;\n /**\n * Primary scope the batch's bootstrap `ExecutionContext` runs under.\n * Mirrors `BatchesCronjobsCustomExecution_Context.primaryScope` so\n * the spec validator can cross-check the authored arm against the\n * runtime context.\n */\n primaryScope: ResourcePrimaryScope;\n });\n\n/**\n * Per-arm narrow alias of {@link CustomBatchManifest}. Concrete manifest\n * exports (and any caller that needs to read `resourceIdentifier` /\n * `primaryScope` directly without re-narrowing on `kind`) should prefer\n * these over the broad union type — annotating an export with the broad\n * union would re-widen the literal `kind` and force every consumer back\n * through a discriminator narrowing it does not need.\n */\nexport type ResourceAnchoredCustomBatchManifest = Extract<CustomBatchManifest, { kind: CustomBatchManifestKind.RESOURCE_ANCHORED }>;\n/** Mirror of {@link ResourceAnchoredCustomBatchManifest} for `scope_anchored` manifests. */\nexport type ScopeAnchoredCustomBatchManifest = Extract<CustomBatchManifest, { kind: CustomBatchManifestKind.SCOPE_ANCHORED }>;\n\n// ── Batch-ref literals (authoritative) ──────────────────────────────────────\n\n/** Hourly files cleanup (PENDING/unlinked/soft-deleted file rows). */\nexport const FILES_CLEANUP_BATCH_REF = 'files-cleanup' as const;\n\n/** 6-hourly consumable token cleanup (expired/consumed/exhausted/revoked). */\nexport const CONSUMABLE_TOKENS_CLEANUP_BATCH_REF = 'consumable-tokens-cleanup' as const;\n/** Durable repair for A2A tasks abandoned by a pod that died mid-turn. */\nexport const A2A_ABANDONED_TASK_SWEEP_BATCH_REF = 'a2a-abandoned-task-sweep' as const;\n\n/**\n * Retention sweeps for the two resources that declare `.ttl()`.\n *\n * MongoDB expires those rows itself through a TTL index; PostgreSQL has no equivalent, so the\n * declaration is enforced by a framework sweep instead. One ref per resource because the batch\n * system anchors a batch to a resource — the IMPLEMENTATION is shared, only the anchor differs.\n */\nexport const JOB_EXECUTIONS_RETENTION_SWEEP_BATCH_REF = 'job-executions-retention-sweep' as const;\nexport const JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_BATCH_REF = 'job-payload-storage-retention-sweep' as const;\n\n/** Daily anonymous-session cleanup (TTL'd anonymous users + their resources). */\nexport const ANONYMOUS_SESSION_CLEANUP_BATCH_REF = 'anonymous-session-cleanup' as const;\n\n/**\n * Daily hygiene sweep for the invitation→membership-junction model: hard-deletes\n * long-stale `INVITED` membership rows (never accepted, past the accept-token grace)\n * and reaps orphan `PENDING_INVITATION` users that never materialized (no memberships).\n * Pure tidiness — correctness holds without it (accept tokens expire at 7d, admins can\n * REVOKE/RESEND, orphan pending users cannot authenticate). Per-row deletes route through\n * the ORGANIZATION_MEMBERS DELETE op so the token-revoke prefix fires.\n */\nexport const ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_REF = 'organization-member-invitation-sweep' as const;\n\n/**\n * Hourly sweep that lifts EXPIRED time-boxed suspensions.\n *\n * This batch is what makes `scheduledReactivationAt` mean anything. The lifecycle verbs accept a\n * window — `organizationMembers | suspend` takes `suspensionEndDate`, `users | suspend_user` takes\n * `suspensionDuration` in days — and record the resolved instant on the row. Without a sweep the\n * row keeps the deadline and the subject stays suspended forever: an administrator told the system\n * \"for seven days\" and the system silently meant \"until someone remembers\".\n *\n * That is the SAME defect class the routed-unimplemented-operations work exists to remove — a\n * declared contract the system does not honour — so the sweep is part of the feature, not an\n * optimisation. Unlike the invitation sweep above, correctness does NOT hold without it.\n *\n * Every reactivation is dispatched through the resource's own lifecycle verb\n * (`ORGANIZATION_MEMBERS | reactivate`, `USERS | unsuspend_user`) rather than writing `status`\n * directly, so it inherits the shared transition factory's state-machine check, its\n * `authoritativeFields` declaration and — critically — the administrative-continuity floors. A\n * direct write would be a second authority that bypasses all three.\n *\n * Hourly rather than daily: the unit a caller can express is a DAY, so a daily run would land the\n * lift up to 24h late on a 1-day suspension — a 100% overshoot. Hourly bounds the error at ~1h\n * while staying far cheaper than the per-minute alternative.\n */\nexport const SUSPENSION_REACTIVATION_SWEEP_BATCH_REF = 'suspension-reactivation-sweep' as const;\n\n/**\n * Daily tenant purge — the DESTRUCTIVE half of tenant teardown (WS-A).\n *\n * Destroys organizations whose `status` is `DELETED` and whose `purgeScheduledAt` deadline has\n * passed, by dispatching each one through the ordinary `ORGANIZATIONS | DELETE` core operation so\n * the existing `onParentDelete` cascade does the work. It deliberately owns NO teardown logic of\n * its own: the cascade already dispatches per-edge strategies (`DELETE` vs\n * `IMPERSONALIZE_AND_RETAIN`) and already honours edges that opted out, so a purge that removed\n * rows itself would silently hard-delete children a retention decision had marked to keep.\n *\n * `cronExpressionConfigurable` — the runtime schedule resolves at registration from\n * `TenantTeardownConfig.purgeCronSchedule`; the literal below is the factory's built-in default so\n * the specification layer can still render a cadence when no operator override exists.\n */\nexport const ORGANIZATION_PURGE_BATCH_REF = 'organization-purge' as const;\n\n/**\n * Built-in default cron for `organization-purge` — daily at 03:00.\n *\n * Shared between the manifest (the spec validator's echo target) and the runtime wiring (the\n * fallback when `TenantTeardownConfig.purgeCronSchedule` is absent), so the default has ONE\n * change-point rather than a fallback ladder. Daily is deliberate: the retention window is measured\n * in days, so a finer cadence buys no promptness anyone can observe.\n */\nexport const ORGANIZATION_PURGE_DEFAULT_CRON = '0 3 * * *' as const;\n\n/**\n * Configurable dormancy detection (user/org lifecycle transitions). The cron\n * schedule is resolved at registration time from `LifecycleConfig.dormancyCronSchedule`,\n * but the manifest still echoes the batch factory's built-in default so the\n * specification layer can render a meaningful cadence even when the runtime\n * override is not yet known. Authors who override the schedule at the app\n * level must document the override in their `codeHandling.notes`.\n */\nexport const DORMANCY_DETECTION_BATCH_REF = 'lifecycle:dormancy-detection' as const;\n\n/** Event-triggered email batch send (no cron — dispatched by upstream work). */\nexport const EMAIL_BATCH_SEND_BATCH_REF = 'email.batch-send' as const;\n\n/**\n * Configurable data-seeding scheduled-rerun batch (Phase 7 / Item 47).\n * Wakes up on the engine tick (default `* * * * *`), iterates every seed\n * carrying a {@link DataSeedDefinition.schedule} block, and dispatches\n * each seed's per-scope iteration through `manualEngine.runManual` with\n * `originOverride: SCHEDULED_RERUN`.\n *\n * The runtime cron is resolved at registration time from\n * `DataSeedingConfig.scheduledRerunCronSchedule`; the manifest still\n * carries the factory's built-in default so the specification layer can\n * render a meaningful cadence even when the operator override is absent.\n * `cronExpressionConfigurable: true` tells the spec validator to accept\n * any non-empty authored cron rather than requiring a strict echo —\n * see {@link CustomBatchManifest.cronExpressionConfigurable} for the\n * full rationale, mirroring {@link DORMANCY_DETECTION_BATCH_REF}.\n *\n * Anchored on the `APPLICATION` primary scope (N8) so each app's\n * cron-opted-in seeds are walked under that app's process — same\n * pattern as `email.batch-send` / `m2m-webhook-delivery`.\n *\n * Naming: the `batchRef` literal stays UNPREFIXED (no `data-seeding:`\n * prefix) so the `scope_anchored` `<domain>:<batchRef>` convention test\n * picks `data-seeding` as the synthetic operation domain naturally.\n * Mirrors `email.batch-send` / `m2m-webhook-delivery`, where the\n * batch's domain context is encoded in the operationIdentifier rather\n * than duplicated into the batchRef itself.\n */\nexport const DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF = 'scheduled-rerun' as const;\n\n/**\n * Built-in default cron for the engine-owned `data-seeding:scheduled-rerun`\n * batch — a minute-tick (`'* * * * *'`). Shared between the manifest (which\n * surfaces it to the spec validator as the authored-default echo target) and\n * the runtime wiring (which falls back to it when\n * `DataSeedingConfig.scheduledRerunCronSchedule` is not provided). Collapsing\n * the value to one `as const` literal eliminates the previous\n * `?? manifest.cronExpression ?? '* * * * *'` trailing-fallback ladder and\n * makes the default change-point discoverable.\n */\nexport const DATA_SEEDING_SCHEDULED_RERUN_DEFAULT_CRON = '* * * * *' as const;\n\n/**\n * Engine-owned ETL pipeline scheduled-run batch (partial-resource paper, PR-12). On each engine\n * tick it walks every registered resource declaring an `externalDataPipeline` with a `scheduleCron`, and\n * dispatches the due ones through the ETL run service (mode selection there carries the PR-6\n * \"a partial run orphans NOTHING\" guard). Unprefixed ref, same `<domain>:<batchRef>` convention\n * as {@link DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}.\n */\nexport const EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_REF = 'scheduled-run' as const;\n\n/** Built-in engine tick for `external-data:scheduled-run` — per-pipeline cadence lives on `scheduleCron`. */\nexport const EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_DEFAULT_CRON = '* * * * *' as const;\n\n/**\n * Engine-owned `DataSeedRun` retention cleanup batch (audit L4-10,\n * post-Phase-7 close-out). Prunes terminal-status rows older than\n * `DataSeedingConfig.runRetentionDays` once per day, while\n * preserving the most-recent (`MAX(seedVersion)`) row per business-key\n * group so dispatcher idempotency is never broken.\n *\n * The batch ref is unprefixed (no `data-seeding:` literal) so the\n * `scope_anchored` `<domain>:<batchRef>` convention test picks\n * `data-seeding` as the synthetic operation domain naturally — same\n * pattern as {@link DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}.\n */\nexport const DATA_SEEDING_RUN_CLEANUP_BATCH_REF = 'run-cleanup' as const;\n\n/**\n * Built-in cron for the engine-owned `data-seeding:run-cleanup` batch —\n * daily at 03:30 UTC. Co-scheduled with the other low-traffic-window\n * cleanup batches (`anonymous-session-cleanup` runs at 03:00 UTC; the\n * 30-minute offset keeps the two clean-ups out of each other's way\n * even though their target collections are disjoint).\n *\n * Not currently runtime-configurable — the cadence isn't operationally\n * sensitive for a retention sweep (an extra hour of grown ledger costs\n * cents). Make it configurable later via `DataSeedingConfig` if a\n * deployment needs a different window.\n */\nexport const DATA_SEEDING_RUN_CLEANUP_CRON = '30 3 * * *' as const;\n\n/**\n * Event-triggered M2M outbound webhook delivery — one job per delivery row\n * enqueued by `M2MWebhookDispatcherBackendService.enqueueDelivery`. No cron,\n * no schedule: the job lifecycle is driven entirely by spec'd\n * `WEBHOOK_ORGANIZATION` / `WEBHOOK_APPLICATION` notification channels firing\n * from resource operations.\n *\n * Anchored on the `APPLICATION` primary scope (Step 3 of the email-templates\n * deprecation plan, A4 cleanup) rather than a single org-variant delivery-log\n * resource — a polymorphic event-triggered worker has no honest \"primary\"\n * resource (each enqueued row carries its own `scope: { type, id }` and\n * targets either `ORGANIZATION_M2M_WEBHOOK_DELIVERY_LOG` or\n * `APPLICATION_M2M_WEBHOOK_DELIVERY_LOG`). The synthetic bootstrap operation\n * runs through `APPLICATION.READ`, populates the application id, then\n * `withOperation()` swaps in `notifications:m2m-webhook-delivery` so audit\n * trails surface the honest batch identity instead of pretending the worker\n * mutates the org-variant log on every job — including for app-scoped\n * deliveries where that anchor was a flat-out lie.\n *\n * Per-row resource-type resolution remains the responsibility of the worker,\n * not the bootstrap context: see `resolveDeliveryLogResourceType` in\n * `m2m-webhook-delivery-log.repository.ts` (drives both reads and writes\n * off the per-row `input.scope.type`).\n */\nexport const M2M_WEBHOOK_DELIVERY_BATCH_REF = 'm2m-webhook-delivery' as const;\n\n/**\n * Event-triggered A2A push-notification delivery — one job per (task transition × registered\n * webhook), enqueued by `A2APushDispatcherBackendService` when a task's status advances.\n *\n * Anchored on `APPLICATION` for exactly the reason the M2M ref above gives, and one degree more\n * so: this worker's rows span THREE polymorphic variants (`USER_` / `ORGANIZATION_` /\n * `APPLICATION_A2A_PUSH_DELIVERY_LOG`), so there is no single resource it could honestly claim to\n * mutate. Each enqueued job carries its own owner scope and the worker resolves the variant from\n * it — see `resolveDeliveryLogScope` in `a2a-push-delivery-log.repository.ts`.\n *\n * No cron, no schedule: the job lifecycle is driven entirely by task transitions on tasks that\n * carry at least one push-notification configuration.\n */\nexport const A2A_PUSH_DELIVERY_BATCH_REF = 'a2a-push-delivery' as const;\n\n/**\n * Event-triggered SIEM webhook delivery — one job per security audit event\n * enqueued by `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`\n * (the SIEM webhook sink; Layer 2 of the audit-event pipeline). No cron, no schedule: the job\n * lifecycle is driven entirely by audit events firing for organizations that\n * have `siemExportConfig.enabled === true`.\n *\n * The enqueue side is gated per-org at dispatch time (the dispatcher returns\n * early when SIEM export is disabled or the event is filtered out), so the\n * drain is registered unconditionally — mirroring `email.batch-send` /\n * `m2m-webhook-delivery`. Gating the drain behind a global flag would\n * re-introduce the `JOB_BATCH_REF_NOT_FOUND → DLQ` drop this batch exists to\n * fix whenever an org has SIEM enabled but the global flag is off.\n *\n * Anchored on the `APPLICATION` primary scope (same as email / m2m): the\n * worker itself is a thin adapter that delegates to\n * `SIEMWebhookDeliveryBackendService.processDelivery`, which builds its own\n * internal `APP_ADMIN_SUPER_ADMIN @ APPLICATION` execution context for its DLQ\n * writes. The synthetic bootstrap operation runs through `APPLICATION.READ`,\n * then `withOperation()` swaps in `compliance:siem.webhook-delivery` so audit\n * trails surface the honest batch identity.\n *\n * The `batchRef` literal is the exact string the dispatcher passes to\n * `enqueueCustomBatch(...)` — importing it from here keeps a single source of\n * truth across queue dispatch, runtime wiring, and spec cross-validation.\n */\nexport const SIEM_WEBHOOK_DELIVERY_BATCH_REF = 'siem.webhook-delivery' as const;\n\n/**\n * Cron-triggered immudb audit-completeness reconciler (audit Phase 3). Periodically\n * replays the authoritative `AUDIT_LOGS` store into every reconcilable audit sink\n * (idempotent write-if-absent, keyed by `eventId`), guaranteeing the at-least-once\n * completeness the best-effort real-time fan-out cannot. The `<domain>:<batchRef>`\n * operation uses the `compliance` domain (owning module `compliance/audit-trails/`),\n * mirroring the SIEM delivery batch.\n */\nexport const IMMUDB_AUDIT_RECONCILE_BATCH_REF = 'immudb.audit-reconcile' as const;\n\n/**\n * Cron-triggered audit-log ARCHIVAL batch (audit Phase 5 / F1). Exports audit\n * records older than the operator-configured archival horizon\n * (`AppConfiguration.auditTrail.archiveAfterDays`) to durable off-DB\n * file-storage artifacts — one JSON artifact per UTC day-window. Records are\n * NEVER deleted: `AUDIT_LOGS` is immutable (G5), so this is a copy-out, not a\n * prune. The `<domain>:<batchRef>` operation uses the `compliance` domain\n * (owning module `compliance/audit-trails/`), mirroring the reconcile + SIEM\n * batches. OPT-IN: no-ops when `auditTrail.archiveAfterDays` is undefined.\n */\nexport const AUDIT_LOGS_ARCHIVE_BATCH_REF = 'audit-logs-archive' as const;\n\n/**\n * Built-in cron for the engine-owned `compliance:audit-logs-archive` batch —\n * daily at 04:00 UTC. Sequenced AFTER the low-traffic-window cleanup batches\n * (`anonymous-session-cleanup` 03:00, `data-seeding:run-cleanup` 03:30) so the\n * nightly maintenance sweeps stay out of each other's way. A daily cadence is\n * sufficient: a day-window only becomes archivable once it is fully older than\n * the (≥ 365-day, in production) archival horizon, so there is nothing to gain\n * from a finer tick. Not runtime-configurable — the operator-facing knob is\n * `auditTrail.archiveAfterDays`, NOT the cadence.\n */\nexport const AUDIT_LOGS_ARCHIVE_CRON = '0 4 * * *' as const;\n\n/**\n * Hourly RAG reconciliation sweep (plan §3.c \"backstop sweep\", DL1). ONE mechanism, three jobs:\n * re-ingests chunk sets whose stored `contentHash` no longer matches the live source field\n * (whatever the write hook missed — raw repository doors, crashed post-commit work, files that\n * finished scanning after their binding write), deletes ORPHANED chunk sets whose parent row or\n * field declaration is gone (the bound on every log-never-throw removal seam, and the foundation of\n * the DL3 `.ttl()` door), and COUNTS the NULL-vector embedding backlog (log-only — the sibling\n * `rag:embedding-drain` batch drains it; this count is the independent cross-check).\n *\n * The batchRef literal stays UNPREFIXED so the `scope_anchored` `<domain>:<batchRef>` convention\n * test derives the `rag` domain from the operation identifier — the `data-seeding:scheduled-rerun`\n * pattern.\n */\nexport const RAG_RECONCILIATION_SWEEP_BATCH_REF = 'reconciliation-sweep' as const;\n\n/** Hourly on the hour — the standard engine-sweep cadence (files-cleanup, the A2A sweep). */\nexport const RAG_RECONCILIATION_SWEEP_CRON = '0 * * * *' as const;\n\n/**\n * The RAG embedding drain (plan §3.d, Phase 4) — the worker that FILLS the NULL-vector ledger the\n * hourly sweep only counts: pages pending chunks, resolves the application's embeddings provider\n * by applicability class, embeds in provider-declared batches, stamps\n * `vector`/`embeddingClass`/`embeddingModel`/`embeddingDims`, and re-embeds chunks whose stamp no\n * longer matches the current class→model binding (the DL2 migration engine).\n *\n * A SIBLING batch rather than a fourth phase of the reconciliation sweep, deliberately: the sweep\n * is content reconciliation (hash/orphan correctness, hourly is plenty), the drain is provider\n * I/O (freshness-bound, provider-failure-retrying) — one batch per purpose keeps each run's\n * bounds, failure posture and cadence honest for its own job.\n *\n * The batchRef literal stays UNPREFIXED so the `scope_anchored` `<domain>:<batchRef>` convention\n * test derives the `rag` domain from the operation identifier.\n */\nexport const RAG_EMBEDDING_DRAIN_BATCH_REF = 'embedding-drain' as const;\n\n/**\n * Every 5 minutes — a freshly written chunk is retrievable within minutes rather than riding the\n * hourly reconciliation cadence. Deliberately MORE frequent than every other engine sweep because\n * this batch is a FRESHNESS drain, not a correctness backstop: an idle run costs one indexed\n * NULL-vector read (the steady state), while an hourly drain would make every new corpus write\n * invisible to retrieval for up to an hour. The 15-minute audit reconciler is the nearest\n * cadence precedent; 5 minutes is the same shape one notch tighter, and the run bounds\n * (`MAX_CHUNKS_PER_RUN`) keep a busy run comfortably inside the window.\n */\nexport const RAG_EMBEDDING_DRAIN_CRON = '*/5 * * * *' as const;\n\n// ── Manifests ───────────────────────────────────────────────────────────────\n\nexport const ENGINE_FILES_CLEANUP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: FILES_CLEANUP_BATCH_REF,\n resourceIdentifier: CoreResourceType.FILES,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '0 * * * *',\n});\n\n/**\n * Every 15 minutes: frequent enough that a retention window is honoured with useful precision\n * (MongoDB's own TTL monitor runs about once a minute), infrequent enough that a backlog is worked\n * down over several runs rather than in one long-running statement.\n */\nexport const ENGINE_JOB_EXECUTIONS_RETENTION_SWEEP_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: JOB_EXECUTIONS_RETENTION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.JOB_EXECUTIONS,\n operationIdentifier: CoreResourceOperation.DELETE_MANY,\n cronExpression: '*/15 * * * *',\n});\n\nexport const ENGINE_JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.JOB_PAYLOAD_STORAGE,\n operationIdentifier: CoreResourceOperation.DELETE_MANY,\n cronExpression: '*/15 * * * *',\n});\n\nexport const ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: CONSUMABLE_TOKENS_CLEANUP_BATCH_REF,\n resourceIdentifier: BackendResourceType.CONSUMABLE_TOKENS,\n operationIdentifier: CoreResourceOperation.DELETE,\n cronExpression: '0 */6 * * *',\n});\n\n/**\n * Marks A2A tasks FAILED when their liveness lease is gone — the durable half of the\n * derive-on-read design. Hourly is deliberate: `tasks/get` already reports abandoned\n * tasks correctly in real time, so this only has to stop the STORED rows lying to\n * LIST / analytics / audit, which tolerates an hour of lag.\n */\nexport const ENGINE_A2A_ABANDONED_TASK_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: A2A_ABANDONED_TASK_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.USER_FLOW_ACTOR_TASKS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '0 * * * *',\n});\n\nexport const ENGINE_ANONYMOUS_SESSION_CLEANUP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: ANONYMOUS_SESSION_CLEANUP_BATCH_REF,\n resourceIdentifier: CoreResourceType.ANONYMOUS_USERS,\n operationIdentifier: CoreResourceOperation.DELETE,\n cronExpression: '0 3 * * *',\n});\n\nexport const ENGINE_ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATION_MEMBERS,\n operationIdentifier: CoreResourceOperation.DELETE,\n // Daily at 04:00 UTC — after anonymous-session cleanup (03:00) and staggered off the\n // 6-hourly token cleanup so the accept tokens for swept rows are already purged.\n cronExpression: '0 4 * * *',\n});\n\n/**\n * Resource-anchored on ORGANIZATIONS/DELETE — the operation the batch genuinely dispatches, not a\n * synthetic label. Scheduled at 03:00, one hour BEFORE the invitation sweep (04:00) on purpose: a\n * purge orphans the `PENDING_INVITATION` user shells of any never-accepted invitations in the\n * destroyed tenant, and the sweep is what reaps orphan shells. Running the purge first means those\n * shells are collected the same night rather than a day later.\n */\nexport const ENGINE_ORGANIZATION_PURGE_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: ORGANIZATION_PURGE_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATIONS,\n operationIdentifier: CoreResourceOperation.DELETE,\n cronExpression: ORGANIZATION_PURGE_DEFAULT_CRON,\n cronExpressionConfigurable: true,\n});\n\n/**\n * Resource-anchored on ORGANIZATION_MEMBERS/UPDATE — one of the two operations the sweep genuinely\n * dispatches (the other is `USERS | unsuspend_user`, which also borrows UPDATE). Anchoring names a\n * real dispatched operation rather than a synthetic label, per the convention above.\n *\n * `0 * * * *` — hourly on the hour. See the ref's documentation for why not daily.\n */\nexport const ENGINE_SUSPENSION_REACTIVATION_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: SUSPENSION_REACTIVATION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATION_MEMBERS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '0 * * * *',\n cronExpressionConfigurable: true,\n});\n\nexport const ENGINE_DORMANCY_DETECTION_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: DORMANCY_DETECTION_BATCH_REF,\n resourceIdentifier: CoreResourceType.USER_LIFECYCLE_STATE,\n operationIdentifier: CoreResourceOperation.UPDATE,\n // Runtime cron is resolved from `LifecycleConfig.dormancyCronSchedule` and\n // the manifest value is only the factory's built-in fallback. Marking the\n // schedule as configurable tells the spec validator to accept any non-empty\n // authored cron rather than requiring a strict echo (see\n // `CustomBatchManifest.cronExpressionConfigurable` for the full rationale).\n cronExpression: '0 */6 * * *',\n cronExpressionConfigurable: true,\n});\n\n/**\n * Event-triggered email batch send. Anchored on the `APPLICATION` primary\n * scope — see {@link CustomBatchManifest} `scope_anchored` arm and the\n * OD-2.c branch of\n * `ExecutionContextCreatorBackendService.createForInternalCustomBatch`.\n *\n * The synthetic bootstrap operation runs through `APPLICATION.READ`, then\n * `withOperation()` swaps in `notifications:email.batch-send` so audit\n * trails surface the honest batch identity.\n */\nexport const ENGINE_EMAIL_BATCH_SEND_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: EMAIL_BATCH_SEND_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: 'notifications:email.batch-send',\n});\n\n/**\n * Event-triggered M2M outbound webhook delivery — anchored on the `APPLICATION`\n * primary scope (see {@link M2M_WEBHOOK_DELIVERY_BATCH_REF} for the full\n * rationale and the OD-2.c bootstrap branch in\n * `ExecutionContextCreatorBackendService.createForInternalCustomBatch`).\n */\nexport const ENGINE_M2M_WEBHOOK_DELIVERY_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: M2M_WEBHOOK_DELIVERY_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: 'notifications:m2m-webhook-delivery',\n});\n\n/**\n * Event-triggered SIEM webhook delivery — anchored on the `APPLICATION`\n * primary scope (see {@link SIEM_WEBHOOK_DELIVERY_BATCH_REF} for the full\n * rationale and the OD-2.c bootstrap branch in\n * `ExecutionContextCreatorBackendService.createForInternalCustomBatch`).\n *\n * The `<domain>:<batchRef>` operation identifier uses the `compliance` domain\n * (the owning module folder, `compliance/audit-trails/`), mirroring how\n * `email.batch-send` / `m2m-webhook-delivery` take their `notifications:`\n * prefix from their owning module.\n */\n/**\n * Event-triggered A2A push-notification delivery — anchored on the `APPLICATION` primary scope\n * (see {@link A2A_PUSH_DELIVERY_BATCH_REF}). The `flows-actors:` prefix names the owning module,\n * mirroring how `m2m-webhook-delivery` takes its `notifications:` prefix from its own.\n */\nexport const ENGINE_A2A_PUSH_DELIVERY_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: A2A_PUSH_DELIVERY_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `flows-actors:${A2A_PUSH_DELIVERY_BATCH_REF}`,\n});\n\nexport const ENGINE_SIEM_WEBHOOK_DELIVERY_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: SIEM_WEBHOOK_DELIVERY_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `compliance:${SIEM_WEBHOOK_DELIVERY_BATCH_REF}`,\n});\n\n/**\n * Cron audit-completeness reconciler (audit Phase 3). Scope-anchored @ APPLICATION —\n * it replays EVERY org's audit rows for system-wide completeness, so there is no\n * single honest target resource (mirrors the SIEM delivery anchoring). Fixed\n * every-15-minutes cadence: a completeness backfill only needs to catch the rare miss\n * the real-time sink dropped; not operator-configurable in v1. This `cronExpression`\n * is BOTH the spec cross-validation target AND (consumed by the batch's\n * `batchCronjob_Context.cronJobExpression`) the value that actually schedules the run.\n */\nexport const ENGINE_IMMUDB_AUDIT_RECONCILE_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: IMMUDB_AUDIT_RECONCILE_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `compliance:${IMMUDB_AUDIT_RECONCILE_BATCH_REF}`,\n cronExpression: '*/15 * * * *',\n});\n\n/**\n * Cron audit-log archival batch (audit Phase 5 / F1). Scope-anchored @\n * APPLICATION — it scans EVERY org's aged audit rows into per-day archival\n * artifacts (cross-org, one artifact per day-window), so there is no single\n * honest target resource (mirrors the reconcile + SIEM anchoring). Fixed daily\n * cadence ({@link AUDIT_LOGS_ARCHIVE_CRON}); the operator-facing knob is the\n * archival horizon, not the schedule. This `cronExpression` is BOTH the spec\n * cross-validation target AND (consumed by the batch's\n * `batchCronjob_Context.cronJobExpression`) the value that actually schedules\n * the run — omitting it would register the batch but never fire it.\n */\nexport const ENGINE_AUDIT_LOGS_ARCHIVE_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: AUDIT_LOGS_ARCHIVE_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `compliance:${AUDIT_LOGS_ARCHIVE_BATCH_REF}`,\n cronExpression: AUDIT_LOGS_ARCHIVE_CRON,\n});\n\n/**\n * ETL pipeline scheduled-run batch (partial-resource paper, PR-12). Anchored on the\n * `APPLICATION` primary scope — slice 1 admits only SINGLE_TENANT_BINDING pipelines, so a\n * pipeline is app-wide by construction. Each engine tick walks every registered resource\n * declaring `externalDataPipeline.scheduleCron` and dispatches the DUE ones through the ETL run service.\n * The engine tick is fixed (`cronExpressionConfigurable: false`) — the operator-facing cadence\n * knob is each pipeline's own `scheduleCron`, never this tick.\n */\nexport const ENGINE_EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `external-data:${EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_REF}`,\n cronExpression: EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_DEFAULT_CRON,\n cronExpressionConfigurable: false,\n});\n\n/**\n * Data-seeding scheduled-rerun batch (Phase 7 / Item 47). Anchored on the\n * `APPLICATION` primary scope — see {@link DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}\n * for the rationale. The synthetic bootstrap operation runs through\n * `APPLICATION.READ`; the worker then walks every cron-opted-in seed\n * under that app's process. The cron expression is overridable via\n * `DataSeedingConfig.scheduledRerunCronSchedule` — the manifest's\n * `cronExpression` is the factory's built-in fallback used when no\n * operator override is provided.\n */\nexport const ENGINE_DATA_SEEDING_SCHEDULED_RERUN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `data-seeding:${DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}`,\n cronExpression: DATA_SEEDING_SCHEDULED_RERUN_DEFAULT_CRON,\n cronExpressionConfigurable: true,\n});\n\n/**\n * Data-seeding `DataSeedRun` retention cleanup batch (audit L4-10,\n * post-Phase-7 close-out). Anchored on the `APPLICATION` primary scope\n * — see {@link DATA_SEEDING_RUN_CLEANUP_BATCH_REF} for the rationale.\n *\n * Cron is fixed (not `cronExpressionConfigurable`) — a daily 03:30 UTC\n * sweep is sufficient for retention; the operator-facing knob is\n * `DataSeedingConfig.runRetentionDays`, NOT the cadence. The retention\n * window itself is read from `DataSeedingConfig.runRetentionDays` at\n * batch tick time (NOT at registration), so an in-place config change\n * takes effect on the next tick without a redeploy.\n */\nexport const ENGINE_DATA_SEEDING_RUN_CLEANUP_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: DATA_SEEDING_RUN_CLEANUP_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `data-seeding:${DATA_SEEDING_RUN_CLEANUP_BATCH_REF}`,\n cronExpression: DATA_SEEDING_RUN_CLEANUP_CRON,\n});\n\n/**\n * Hourly RAG reconciliation sweep — anchored on the `APPLICATION` primary scope: it walks EVERY\n * resource type declaring `.ragSource()` fields plus every chunk set in every reachable store, so\n * there is no single honest target resource (the reconcile/SIEM/archive anchoring rationale). The\n * `rag:` prefix names the owning module folder (`src/rag/`), per the `<domain>:<batchRef>`\n * convention. This `cronExpression` is BOTH the spec cross-validation target AND the value that\n * actually schedules the run — omitting it would register the batch but never fire it.\n */\nexport const ENGINE_RAG_RECONCILIATION_SWEEP_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: RAG_RECONCILIATION_SWEEP_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `rag:${RAG_RECONCILIATION_SWEEP_BATCH_REF}`,\n cronExpression: RAG_RECONCILIATION_SWEEP_CRON,\n});\n\n/**\n * Five-minute RAG embedding drain — anchored on the `APPLICATION` primary scope for the same\n * reason as the reconciliation sweep: it walks every chunk set in every reachable store, so\n * there is no single honest target resource. This `cronExpression` is BOTH the spec\n * cross-validation target AND the value that actually schedules the run — omitting it would\n * register the batch but never fire it.\n */\nexport const ENGINE_RAG_EMBEDDING_DRAIN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: RAG_EMBEDDING_DRAIN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `rag:${RAG_EMBEDDING_DRAIN_BATCH_REF}`,\n cronExpression: RAG_EMBEDDING_DRAIN_CRON,\n});\n\n// ── Aggregator ──────────────────────────────────────────────────────────────\n\n/**\n * Frozen registry of every engine-owned custom batch. The specification\n * package seeds {@link registerCustomBatchManifests} from this list at\n * engine-spec bootstrap so authored `scheduledExecution.customBatchRef`\n * values cross-validate against the same runtime anchors the backend\n * `customBatches.set(...)` block uses.\n */\nexport const ENGINE_CUSTOM_BATCH_MANIFESTS: readonly CustomBatchManifest[] = Object.freeze([\n ENGINE_FILES_CLEANUP_BATCH_MANIFEST,\n ENGINE_JOB_EXECUTIONS_RETENTION_SWEEP_MANIFEST,\n ENGINE_JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_MANIFEST,\n ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST,\n ENGINE_ANONYMOUS_SESSION_CLEANUP_BATCH_MANIFEST,\n ENGINE_A2A_ABANDONED_TASK_SWEEP_BATCH_MANIFEST,\n ENGINE_ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_MANIFEST,\n ENGINE_SUSPENSION_REACTIVATION_SWEEP_BATCH_MANIFEST,\n ENGINE_ORGANIZATION_PURGE_BATCH_MANIFEST,\n ENGINE_DORMANCY_DETECTION_BATCH_MANIFEST,\n ENGINE_EMAIL_BATCH_SEND_BATCH_MANIFEST,\n ENGINE_M2M_WEBHOOK_DELIVERY_BATCH_MANIFEST,\n ENGINE_A2A_PUSH_DELIVERY_BATCH_MANIFEST,\n ENGINE_SIEM_WEBHOOK_DELIVERY_BATCH_MANIFEST,\n ENGINE_IMMUDB_AUDIT_RECONCILE_BATCH_MANIFEST,\n ENGINE_AUDIT_LOGS_ARCHIVE_BATCH_MANIFEST,\n ENGINE_DATA_SEEDING_SCHEDULED_RERUN_BATCH_MANIFEST,\n ENGINE_DATA_SEEDING_RUN_CLEANUP_BATCH_MANIFEST,\n ENGINE_EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_MANIFEST,\n ENGINE_RAG_RECONCILIATION_SWEEP_BATCH_MANIFEST,\n ENGINE_RAG_EMBEDDING_DRAIN_BATCH_MANIFEST,\n]);\n"]}
1
+ {"version":3,"file":"engine-custom-batch-manifests.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/batches/engine-custom-batch-manifests.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Declarative manifest registry for every engine-owned custom batch.\n *\n * Each entry mirrors the `batchCronjob_Context` + optional\n * `cronJobExpression` that the corresponding `createCustomBatchExecutionService(...)`\n * call passes to the runtime batch factory. Because manifests are pure data\n * (no service imports, no container bindings) they can be consumed by both\n * the imperative runtime wiring (`start-application.backend.service.ts`\n * reads `*_BATCH_REF` to populate the `customBatches` map) and the\n * declarative specification layer (`@wildo-ai/saas-specifications` reads\n * {@link ENGINE_CUSTOM_BATCH_MANIFESTS} through the dedicated\n * `@wildo-ai/saas-backend-lib/custom-batch-manifests` subpath to\n * cross-validate `scheduledExecution.customBatchRef` at module load).\n *\n * Keeping the manifest as the single source of truth for every batch ref\n * closes the drift gap called out as D3-a in the non-view-specification\n * coverage plan: the runtime `customBatches.set(...)` call and the authored\n * `CustomBatchScheduledExecutionSpecification.customBatchRef` both resolve\n * through the same literal, so a typo or an unregistered batch is caught at\n * build-time or module-load rather than at a silent runtime no-op.\n *\n * This module imports only enum tokens and declarative types; it must never\n * pull in runtime services so that the specification package (and the\n * companion tooling downstream) can import the aggregator without dragging\n * the backend runtime graph into non-runtime consumers. The `CustomBatchManifest`\n * type itself lives here rather than in `saas-specifications` to avoid a\n * package-level circular dependency (`saas-specifications` already depends on\n * `saas-backend-lib`, not the other way round).\n */\n\nimport { CoreResourceOperation, CoreResourceType, ResourcePrimaryScope } from '@wildo-ai/saas-models';\nimport { BackendResourceType } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\n\n/**\n * Common (kind-agnostic) fields carried by every {@link CustomBatchManifest}\n * arm. Documented here once so the per-arm shapes below stay focused on\n * what differs between `resource_anchored` and `scope_anchored` batches.\n */\ninterface CustomBatchManifestCommon {\n /** Stable ref used both as the `customBatches.set(...)` key and the spec `customBatchRef`. */\n batchRef: string;\n /** Operation identifier from the batch's `batchCronjob_Context`. */\n operationIdentifier: string;\n /**\n * Cron expression from the batch's `batchCronjob_Context.cronJobExpression`\n * when declared. Omitted for purely event-triggered custom batches (for\n * example the email `batch-send` path).\n *\n * When {@link cronExpressionConfigurable} is `true`, this value is the\n * runtime **default** rather than a fixed contract — applications can\n * override it via app config and the spec validator therefore treats this\n * as a guidance cron rather than an exact echo target.\n */\n cronExpression?: string;\n /**\n * Marks the cron schedule as runtime-configurable (for example\n * `lifecycle:dormancy-detection`, whose schedule resolves at registration\n * from `LifecycleConfig.dormancyCronSchedule`). When `true`:\n *\n * - The spec validator still requires the authored\n * `CustomBatchScheduledExecutionSpecification.cronExpression` to be a\n * non-empty trimmed string when present, so companion prompts always\n * carry a concrete cadence.\n * - The validator does **not** require the authored cron to equal\n * {@link cronExpression} — divergence is expected and is the whole point\n * of the configurable flag.\n * - Authoring sites should add a `codeHandling.notes` entry pointing at\n * the app-config seam that owns the runtime schedule so transposition\n * prompts can find the override path.\n *\n * Default `false` (omitted) — every other engine batch declares a fixed\n * cron and the strict echo check applies.\n */\n cronExpressionConfigurable?: boolean;\n}\n\n/** Runtime discriminator shared by engine custom-batch manifest arms. */\nexport enum CustomBatchManifestKind {\n RESOURCE_ANCHORED = 'resource_anchored',\n SCOPE_ANCHORED = 'scope_anchored',\n}\n\n/**\n * Declarative anchor for a custom batch registered through\n * `createCustomBatchExecutionService(...)`. The engine co-locates a manifest\n * next to each batch factory and applications do the same for their own\n * custom batches. The specification layer (`@wildo-ai/saas-specifications`)\n * consumes these manifests to cross-check every authored `customBatchRef`\n * at module load.\n *\n * Keeping the manifest structurally separate from the runtime service\n * instance avoids forcing `saas-specifications` into any runtime code path\n * while still giving spec validation a single, trustworthy source of truth\n * for which batch refs exist, where they anchor, and whether they carry a\n * cron schedule.\n *\n * Spec-layer consumers must import this module via the dedicated\n * `@wildo-ai/saas-backend-lib/custom-batch-manifests` subpath (rather than\n * the root barrel) so that the runtime service graph stays out of the spec\n * build. The root-barrel re-export exists only for backend-runtime callers\n * that already pay for the full `saas-backend-lib` graph.\n *\n * The manifest is a discriminated union mirroring\n * {@link BatchesCronjobsCustomExecution_Context}:\n *\n * - `resource_anchored` — the batch genuinely operates on a registered\n * resource (e.g. `files-cleanup` over `FILES`). The manifest carries\n * the target `resourceIdentifier` and the spec layer cross-validates\n * the authored anchor against the runtime `batchCronjob_Context`.\n * - `scope_anchored` — the batch is event-triggered and cross-resource\n * (e.g. `email.batch-send`, `m2m-webhook-delivery`). There is no honest\n * target resource, so the manifest declares the `primaryScope` the\n * bootstrap `ExecutionContext` runs under instead. Use this arm to\n * stop pretending an event-triggered worker \"belongs\" to a resource\n * row that exists only to satisfy the bootstrap requirement.\n *\n * Naming: `scope_anchored` `operationIdentifier` should follow the\n * `<domain>:<batch-ref>` convention (e.g. `notifications:email.batch-send`)\n * so synthetic operation labels stay grep-able alongside their batch ref.\n * The convention is enforced by `assertCustomBatchArm` and pinned by a\n * dedicated unit test.\n */\nexport type CustomBatchManifest =\n | (CustomBatchManifestCommon & {\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED;\n /** Resource identifier from the batch's `batchCronjob_Context`. */\n resourceIdentifier: string;\n })\n | (CustomBatchManifestCommon & {\n kind: CustomBatchManifestKind.SCOPE_ANCHORED;\n /**\n * Primary scope the batch's bootstrap `ExecutionContext` runs under.\n * Mirrors `BatchesCronjobsCustomExecution_Context.primaryScope` so\n * the spec validator can cross-check the authored arm against the\n * runtime context.\n */\n primaryScope: ResourcePrimaryScope;\n });\n\n/**\n * Per-arm narrow alias of {@link CustomBatchManifest}. Concrete manifest\n * exports (and any caller that needs to read `resourceIdentifier` /\n * `primaryScope` directly without re-narrowing on `kind`) should prefer\n * these over the broad union type — annotating an export with the broad\n * union would re-widen the literal `kind` and force every consumer back\n * through a discriminator narrowing it does not need.\n */\nexport type ResourceAnchoredCustomBatchManifest = Extract<CustomBatchManifest, { kind: CustomBatchManifestKind.RESOURCE_ANCHORED }>;\n/** Mirror of {@link ResourceAnchoredCustomBatchManifest} for `scope_anchored` manifests. */\nexport type ScopeAnchoredCustomBatchManifest = Extract<CustomBatchManifest, { kind: CustomBatchManifestKind.SCOPE_ANCHORED }>;\n\n// ── Batch-ref literals (authoritative) ──────────────────────────────────────\n\n/** Hourly files cleanup (PENDING/unlinked/soft-deleted file rows). */\nexport const FILES_CLEANUP_BATCH_REF = 'files-cleanup' as const;\n\n/** 6-hourly consumable token cleanup (expired/consumed/exhausted/revoked). */\nexport const CONSUMABLE_TOKENS_CLEANUP_BATCH_REF = 'consumable-tokens-cleanup' as const;\n/** Durable repair for A2A tasks abandoned by a pod that died mid-turn. */\nexport const A2A_ABANDONED_TASK_SWEEP_BATCH_REF = 'a2a-abandoned-task-sweep' as const;\n\n/**\n * Retention sweeps for the two resources that declare `.ttl()`.\n *\n * MongoDB expires those rows itself through a TTL index; PostgreSQL has no equivalent, so the\n * declaration is enforced by a framework sweep instead. One ref per resource because the batch\n * system anchors a batch to a resource — the IMPLEMENTATION is shared, only the anchor differs.\n */\nexport const JOB_EXECUTIONS_RETENTION_SWEEP_BATCH_REF = 'job-executions-retention-sweep' as const;\nexport const JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_BATCH_REF = 'job-payload-storage-retention-sweep' as const;\n\n/** Daily anonymous-session cleanup (TTL'd anonymous users + their resources). */\nexport const ANONYMOUS_SESSION_CLEANUP_BATCH_REF = 'anonymous-session-cleanup' as const;\n\n/**\n * Daily hygiene sweep for the invitation→membership-junction model: hard-deletes\n * long-stale `INVITED` membership rows (never accepted, past the accept-token grace)\n * and reaps orphan `PENDING_INVITATION` users that never materialized (no memberships).\n * Pure tidiness — correctness holds without it (accept tokens expire at 7d, admins can\n * REVOKE/RESEND, orphan pending users cannot authenticate). Per-row deletes route through\n * the ORGANIZATION_MEMBERS DELETE op so the token-revoke prefix fires.\n */\nexport const ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_REF = 'organization-member-invitation-sweep' as const;\n\n/**\n * Hourly sweep that lifts EXPIRED time-boxed suspensions.\n *\n * This batch is what makes `scheduledReactivationAt` mean anything. The lifecycle verbs accept a\n * window — `organizationMembers | suspend` takes `suspensionEndDate`, `users | suspend_user` takes\n * `suspensionDuration` in days — and record the resolved instant on the row. Without a sweep the\n * row keeps the deadline and the subject stays suspended forever: an administrator told the system\n * \"for seven days\" and the system silently meant \"until someone remembers\".\n *\n * That is the SAME defect class the routed-unimplemented-operations work exists to remove — a\n * declared contract the system does not honour — so the sweep is part of the feature, not an\n * optimisation. Unlike the invitation sweep above, correctness does NOT hold without it.\n *\n * Every reactivation is dispatched through the resource's own lifecycle verb\n * (`ORGANIZATION_MEMBERS | reactivate`, `USERS | unsuspend_user`) rather than writing `status`\n * directly, so it inherits the shared transition factory's state-machine check, its\n * `authoritativeFields` declaration and — critically — the administrative-continuity floors. A\n * direct write would be a second authority that bypasses all three.\n *\n * Hourly rather than daily: the unit a caller can express is a DAY, so a daily run would land the\n * lift up to 24h late on a 1-day suspension — a 100% overshoot. Hourly bounds the error at ~1h\n * while staying far cheaper than the per-minute alternative.\n */\nexport const SUSPENSION_REACTIVATION_SWEEP_BATCH_REF = 'suspension-reactivation-sweep' as const;\n\n/**\n * Nightly relabelling of machine credentials and platform access grants whose window has elapsed.\n *\n * ## What it is, and emphatically what it is NOT\n *\n * It is NOT a control. Nothing about access changes when it runs: every guard already compares\n * `expiresAt` against now — `isCredentialExpired` on both machine fronts, the admission predicate\n * on a grant — so an elapsed credential stops working whether or not this batch has ever executed.\n * That separation must survive: if a guard ever starts reading `status` instead, a sweep that lags\n * becomes an authorization hole rather than a stale display.\n *\n * What it fixes is the RECORD. Before it, nothing anywhere wrote `EXPIRED`: no producer, no store\n * TTL, no sweep. So a listing of API keys, OAuth clients or access grants showed elapsed ones as\n * ACTIVE forever, and an operator or a customer reading it could not tell which credentials still\n * worked (#413). `credential-rotation-grace.backend.utils.ts` said so in its own docstring, and a\n * test comment beside the OIDC guard said it independently.\n *\n * ## Why a sweep and not a store TTL\n *\n * A Mongo TTL index DELETES a row; it cannot transition a status. Deletion is the wrong outcome for\n * a record a customer inspects — the history of an operator's access to their tenant is the point —\n * so a TTL is only the answer where disappearance is intended, which this is not.\n *\n * ## The lag is inherent and is the accepted cost\n *\n * Between the instant a credential elapses and the next run, the row still reads ACTIVE. Daily at\n * 02:30, staggered off the 03:00/04:00 sweeps. Hourly was rejected: unlike a time-boxed suspension,\n * where the caller expresses DAYS and a daily run overshoots by 100%, nothing here is waiting on the\n * label — the access already stopped — so the extra 23 passes buy a shorter display lag and nothing\n * else.\n *\n * Every transition is dispatched through the resource's own `expire` verb rather than writing\n * `status` directly, so it inherits each resource's ACTIVE-only precondition. That guard is the\n * reason the verbs exist: an INACTIVE key was retired by an administrator and a DENIED grant was\n * refused by a tenant, and relabelling either EXPIRED would erase who ended it.\n */\nexport const CREDENTIAL_EXPIRY_SWEEP_BATCH_REF = 'credential-expiry-sweep' as const;\n\n/**\n * The scheduled flush that makes a METERED product actually bill (#415).\n *\n * `UsageMeteringBackendService.flushToProvider` had NO CALLER — not in the engine, not in the\n * platform, not in either dogfood application. So a metered product could be declared, priced and\n * synced to the provider while no usage was ever reported: everything up to the local\n * `usageRecords` row worked, and the last hop to money did not exist. The resources registry's own\n * comment already said no cron called it.\n *\n * **The cadence here is a CEILING, not the interval.** Each product authors its own\n * `metering.flushIntervalMinutes`, and the flush itself decides per product whether enough time has\n * passed since its oldest pending row. This tick has to be at least as fast as the fastest interval\n * an author can reasonably want, and the work it does when nothing is due is one indexed query per\n * billing scope returning nothing.\n *\n * `*​/5 * * * *` — every five minutes. Fast enough that a product asking for 5 gets roughly 5;\n * `cronExpressionConfigurable` so an application metering something sharper can go faster. A slower\n * default would silently cap every product's authored interval at the tick, which is the failure this\n * whole issue is about: an authored value that the runtime quietly overrides.\n */\nexport const USAGE_FLUSH_BATCH_REF = 'usage-flush' as const;\n\n/**\n * Hourly reconciliation of local billing state against the billing provider.\n *\n * Anchored on `ORGANIZATION_SUBSCRIPTIONS | UPDATE` because the subscription repair is the write\n * that can change what a customer is entitled to; the invoice half of the same run only inserts.\n *\n * Hourly is a deliberate floor and a deliberate ceiling. It must be slower than the provider's own\n * webhook retry schedule — Stripe retries a failed delivery for up to three days — or the sweep\n * spends its time \"repairing\" state a retry was about to deliver, and every transient webhook\n * failure is reported as drift. It must be fast enough that a subscription whose cancellation\n * webhook was lost stops granting entitlements within an hour rather than within a billing period.\n *\n * `cronExpressionConfigurable` — an application with thousands of subscriptions may want it slower,\n * because the run costs one provider call per live subscription plus one per billing account.\n */\nexport const BILLING_RECONCILIATION_BATCH_REF = 'billing-reconciliation' as const;\n\n/**\n * Daily tenant purge — the DESTRUCTIVE half of tenant teardown (WS-A).\n *\n * Destroys organizations whose `status` is `DELETED` and whose `purgeScheduledAt` deadline has\n * passed, by dispatching each one through the ordinary `ORGANIZATIONS | DELETE` core operation so\n * the existing `onParentDelete` cascade does the work. It deliberately owns NO teardown logic of\n * its own: the cascade already dispatches per-edge strategies (`DELETE` vs\n * `IMPERSONALIZE_AND_RETAIN`) and already honours edges that opted out, so a purge that removed\n * rows itself would silently hard-delete children a retention decision had marked to keep.\n *\n * `cronExpressionConfigurable` — the runtime schedule resolves at registration from\n * `TenantTeardownConfig.purgeCronSchedule`; the literal below is the factory's built-in default so\n * the specification layer can still render a cadence when no operator override exists.\n */\nexport const ORGANIZATION_PURGE_BATCH_REF = 'organization-purge' as const;\n\n/**\n * Built-in default cron for `organization-purge` — daily at 03:00.\n *\n * Shared between the manifest (the spec validator's echo target) and the runtime wiring (the\n * fallback when `TenantTeardownConfig.purgeCronSchedule` is absent), so the default has ONE\n * change-point rather than a fallback ladder. Daily is deliberate: the retention window is measured\n * in days, so a finer cadence buys no promptness anyone can observe.\n */\nexport const ORGANIZATION_PURGE_DEFAULT_CRON = '0 3 * * *' as const;\n\n/**\n * Configurable dormancy detection (user/org lifecycle transitions). The cron\n * schedule is resolved at registration time from `LifecycleConfig.dormancyCronSchedule`,\n * but the manifest still echoes the batch factory's built-in default so the\n * specification layer can render a meaningful cadence even when the runtime\n * override is not yet known. Authors who override the schedule at the app\n * level must document the override in their `codeHandling.notes`.\n */\nexport const DORMANCY_DETECTION_BATCH_REF = 'lifecycle:dormancy-detection' as const;\n\n/** Event-triggered email batch send (no cron — dispatched by upstream work). */\n/**\n * Deferred child-lifecycle teardown — the runtime behind `ChildLifecycleMode.LAZY` (#427).\n *\n * Event-triggered, never scheduled: one job per relationship edge whose parent was just deleted,\n * enqueued by `ServiceResourceBackendService.queueChildDeletion`. The consumer re-enters the SAME\n * cascade the IMMEDIATE mode runs, so discovery, the grandchild recursion, file orchestration, the\n * repository delete and the RAG chunk removal all happen exactly once and exactly as they would\n * have — just off the request path, which is the entire meaning of LAZY.\n */\nexport const CHILD_LIFECYCLE_TEARDOWN_BATCH_REF = 'child-teardown' as const;\n\nexport const EMAIL_BATCH_SEND_BATCH_REF = 'email.batch-send' as const;\n\n/**\n * Configurable data-seeding scheduled-rerun batch (Phase 7 / Item 47).\n * Wakes up on the engine tick (default `* * * * *`), iterates every seed\n * carrying a {@link DataSeedDefinition.schedule} block, and dispatches\n * each seed's per-scope iteration through `manualEngine.runManual` with\n * `originOverride: SCHEDULED_RERUN`.\n *\n * The runtime cron is resolved at registration time from\n * `DataSeedingConfig.scheduledRerunCronSchedule`; the manifest still\n * carries the factory's built-in default so the specification layer can\n * render a meaningful cadence even when the operator override is absent.\n * `cronExpressionConfigurable: true` tells the spec validator to accept\n * any non-empty authored cron rather than requiring a strict echo —\n * see {@link CustomBatchManifest.cronExpressionConfigurable} for the\n * full rationale, mirroring {@link DORMANCY_DETECTION_BATCH_REF}.\n *\n * Anchored on the `APPLICATION` primary scope (N8) so each app's\n * cron-opted-in seeds are walked under that app's process — same\n * pattern as `email.batch-send` / `m2m-webhook-delivery`.\n *\n * Naming: the `batchRef` literal stays UNPREFIXED (no `data-seeding:`\n * prefix) so the `scope_anchored` `<domain>:<batchRef>` convention test\n * picks `data-seeding` as the synthetic operation domain naturally.\n * Mirrors `email.batch-send` / `m2m-webhook-delivery`, where the\n * batch's domain context is encoded in the operationIdentifier rather\n * than duplicated into the batchRef itself.\n */\nexport const DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF = 'scheduled-rerun' as const;\n\n/**\n * Built-in default cron for the engine-owned `data-seeding:scheduled-rerun`\n * batch — a minute-tick (`'* * * * *'`). Shared between the manifest (which\n * surfaces it to the spec validator as the authored-default echo target) and\n * the runtime wiring (which falls back to it when\n * `DataSeedingConfig.scheduledRerunCronSchedule` is not provided). Collapsing\n * the value to one `as const` literal eliminates the previous\n * `?? manifest.cronExpression ?? '* * * * *'` trailing-fallback ladder and\n * makes the default change-point discoverable.\n */\nexport const DATA_SEEDING_SCHEDULED_RERUN_DEFAULT_CRON = '* * * * *' as const;\n\n/**\n * Engine-owned ETL pipeline scheduled-run batch (partial-resource paper, PR-12). On each engine\n * tick it walks every registered resource declaring an `externalDataPipeline` with a `scheduleCron`, and\n * dispatches the due ones through the ETL run service (mode selection there carries the PR-6\n * \"a partial run orphans NOTHING\" guard). Unprefixed ref, same `<domain>:<batchRef>` convention\n * as {@link DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}.\n */\nexport const EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_REF = 'scheduled-run' as const;\n\n/** Built-in engine tick for `external-data:scheduled-run` — per-pipeline cadence lives on `scheduleCron`. */\nexport const EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_DEFAULT_CRON = '* * * * *' as const;\n\n/**\n * Engine-owned `DataSeedRun` retention cleanup batch (audit L4-10,\n * post-Phase-7 close-out). Prunes terminal-status rows older than\n * `DataSeedingConfig.runRetentionDays` once per day, while\n * preserving the most-recent (`MAX(seedVersion)`) row per business-key\n * group so dispatcher idempotency is never broken.\n *\n * The batch ref is unprefixed (no `data-seeding:` literal) so the\n * `scope_anchored` `<domain>:<batchRef>` convention test picks\n * `data-seeding` as the synthetic operation domain naturally — same\n * pattern as {@link DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}.\n */\nexport const DATA_SEEDING_RUN_CLEANUP_BATCH_REF = 'run-cleanup' as const;\n\n/**\n * Built-in cron for the engine-owned `data-seeding:run-cleanup` batch —\n * daily at 03:30 UTC. Co-scheduled with the other low-traffic-window\n * cleanup batches (`anonymous-session-cleanup` runs at 03:00 UTC; the\n * 30-minute offset keeps the two clean-ups out of each other's way\n * even though their target collections are disjoint).\n *\n * Not currently runtime-configurable — the cadence isn't operationally\n * sensitive for a retention sweep (an extra hour of grown ledger costs\n * cents). Make it configurable later via `DataSeedingConfig` if a\n * deployment needs a different window.\n */\nexport const DATA_SEEDING_RUN_CLEANUP_CRON = '30 3 * * *' as const;\n\n/**\n * Event-triggered M2M outbound webhook delivery — one job per delivery row\n * enqueued by `M2MWebhookDispatcherBackendService.enqueueDelivery`. No cron,\n * no schedule: the job lifecycle is driven entirely by spec'd\n * `WEBHOOK_ORGANIZATION` / `WEBHOOK_APPLICATION` notification channels firing\n * from resource operations.\n *\n * Anchored on the `APPLICATION` primary scope (Step 3 of the email-templates\n * deprecation plan, A4 cleanup) rather than a single org-variant delivery-log\n * resource — a polymorphic event-triggered worker has no honest \"primary\"\n * resource (each enqueued row carries its own `scope: { type, id }` and\n * targets either `ORGANIZATION_M2M_WEBHOOK_DELIVERY_LOG` or\n * `APPLICATION_M2M_WEBHOOK_DELIVERY_LOG`). The synthetic bootstrap operation\n * runs through `APPLICATION.READ`, populates the application id, then\n * `withOperation()` swaps in `notifications:m2m-webhook-delivery` so audit\n * trails surface the honest batch identity instead of pretending the worker\n * mutates the org-variant log on every job — including for app-scoped\n * deliveries where that anchor was a flat-out lie.\n *\n * Per-row resource-type resolution remains the responsibility of the worker,\n * not the bootstrap context: see `resolveDeliveryLogResourceType` in\n * `m2m-webhook-delivery-log.repository.ts` (drives both reads and writes\n * off the per-row `input.scope.type`).\n */\nexport const M2M_WEBHOOK_DELIVERY_BATCH_REF = 'm2m-webhook-delivery' as const;\n\n/**\n * Event-triggered A2A push-notification delivery — one job per (task transition × registered\n * webhook), enqueued by `A2APushDispatcherBackendService` when a task's status advances.\n *\n * Anchored on `APPLICATION` for exactly the reason the M2M ref above gives, and one degree more\n * so: this worker's rows span THREE polymorphic variants (`USER_` / `ORGANIZATION_` /\n * `APPLICATION_A2A_PUSH_DELIVERY_LOG`), so there is no single resource it could honestly claim to\n * mutate. Each enqueued job carries its own owner scope and the worker resolves the variant from\n * it — see `resolveDeliveryLogScope` in `a2a-push-delivery-log.repository.ts`.\n *\n * No cron, no schedule: the job lifecycle is driven entirely by task transitions on tasks that\n * carry at least one push-notification configuration.\n */\nexport const A2A_PUSH_DELIVERY_BATCH_REF = 'a2a-push-delivery' as const;\n\n/**\n * Event-triggered SIEM webhook delivery — one job per security audit event\n * enqueued by `AuditEventDispatcherBackendService.dispatchToOrganizationAuditSinks`\n * (the SIEM webhook sink; Layer 2 of the audit-event pipeline). No cron, no schedule: the job\n * lifecycle is driven entirely by audit events firing for organizations that\n * have `siemExportConfig.enabled === true`.\n *\n * The enqueue side is gated per-org at dispatch time (the dispatcher returns\n * early when SIEM export is disabled or the event is filtered out), so the\n * drain is registered unconditionally — mirroring `email.batch-send` /\n * `m2m-webhook-delivery`. Gating the drain behind a global flag would\n * re-introduce the `JOB_BATCH_REF_NOT_FOUND → DLQ` drop this batch exists to\n * fix whenever an org has SIEM enabled but the global flag is off.\n *\n * Anchored on the `APPLICATION` primary scope (same as email / m2m): the\n * worker itself is a thin adapter that delegates to\n * `SIEMWebhookDeliveryBackendService.processDelivery`, which builds its own\n * internal `APP_ADMIN_SUPER_ADMIN @ APPLICATION` execution context for its DLQ\n * writes. The synthetic bootstrap operation runs through `APPLICATION.READ`,\n * then `withOperation()` swaps in `compliance:siem.webhook-delivery` so audit\n * trails surface the honest batch identity.\n *\n * The `batchRef` literal is the exact string the dispatcher passes to\n * `enqueueCustomBatch(...)` — importing it from here keeps a single source of\n * truth across queue dispatch, runtime wiring, and spec cross-validation.\n */\nexport const SIEM_WEBHOOK_DELIVERY_BATCH_REF = 'siem.webhook-delivery' as const;\n\n/**\n * Cron-triggered immudb audit-completeness reconciler (audit Phase 3). Periodically\n * replays the authoritative `AUDIT_LOGS` store into every reconcilable audit sink\n * (idempotent write-if-absent, keyed by `eventId`), guaranteeing the at-least-once\n * completeness the best-effort real-time fan-out cannot. The `<domain>:<batchRef>`\n * operation uses the `compliance` domain (owning module `compliance/audit-trails/`),\n * mirroring the SIEM delivery batch.\n */\nexport const IMMUDB_AUDIT_RECONCILE_BATCH_REF = 'immudb.audit-reconcile' as const;\n\n/**\n * Cron-triggered audit-log ARCHIVAL batch (audit Phase 5 / F1). Exports audit\n * records older than the operator-configured archival horizon\n * (`AppConfiguration.auditTrail.archiveAfterDays`) to durable off-DB\n * file-storage artifacts — one JSON artifact per UTC day-window. Records are\n * NEVER deleted: `AUDIT_LOGS` is immutable (G5), so this is a copy-out, not a\n * prune. The `<domain>:<batchRef>` operation uses the `compliance` domain\n * (owning module `compliance/audit-trails/`), mirroring the reconcile + SIEM\n * batches. OPT-IN: no-ops when `auditTrail.archiveAfterDays` is undefined.\n */\nexport const AUDIT_LOGS_ARCHIVE_BATCH_REF = 'audit-logs-archive' as const;\n\n/**\n * Built-in cron for the engine-owned `compliance:audit-logs-archive` batch —\n * daily at 04:00 UTC. Sequenced AFTER the low-traffic-window cleanup batches\n * (`anonymous-session-cleanup` 03:00, `data-seeding:run-cleanup` 03:30) so the\n * nightly maintenance sweeps stay out of each other's way. A daily cadence is\n * sufficient: a day-window only becomes archivable once it is fully older than\n * the (≥ 365-day, in production) archival horizon, so there is nothing to gain\n * from a finer tick. Not runtime-configurable — the operator-facing knob is\n * `auditTrail.archiveAfterDays`, NOT the cadence.\n */\nexport const AUDIT_LOGS_ARCHIVE_CRON = '0 4 * * *' as const;\n\n/**\n * Hourly RAG reconciliation sweep (plan §3.c \"backstop sweep\", DL1). ONE mechanism, three jobs:\n * re-ingests chunk sets whose stored `contentHash` no longer matches the live source field\n * (whatever the write hook missed — raw repository doors, crashed post-commit work, files that\n * finished scanning after their binding write), deletes ORPHANED chunk sets whose parent row or\n * field declaration is gone (the bound on every log-never-throw removal seam, and the foundation of\n * the DL3 `.ttl()` door), and COUNTS the NULL-vector embedding backlog (log-only — the sibling\n * `rag:embedding-drain` batch drains it; this count is the independent cross-check).\n *\n * The batchRef literal stays UNPREFIXED so the `scope_anchored` `<domain>:<batchRef>` convention\n * test derives the `rag` domain from the operation identifier — the `data-seeding:scheduled-rerun`\n * pattern.\n */\nexport const RAG_RECONCILIATION_SWEEP_BATCH_REF = 'reconciliation-sweep' as const;\n\n/** Hourly on the hour — the standard engine-sweep cadence (files-cleanup, the A2A sweep). */\nexport const RAG_RECONCILIATION_SWEEP_CRON = '0 * * * *' as const;\n\n/**\n * The RAG embedding drain (plan §3.d, Phase 4) — the worker that FILLS the NULL-vector ledger the\n * hourly sweep only counts: pages pending chunks, resolves the application's embeddings provider\n * by applicability class, embeds in provider-declared batches, stamps\n * `vector`/`embeddingClass`/`embeddingModel`/`embeddingDims`, and re-embeds chunks whose stamp no\n * longer matches the current class→model binding (the DL2 migration engine).\n *\n * A SIBLING batch rather than a fourth phase of the reconciliation sweep, deliberately: the sweep\n * is content reconciliation (hash/orphan correctness, hourly is plenty), the drain is provider\n * I/O (freshness-bound, provider-failure-retrying) — one batch per purpose keeps each run's\n * bounds, failure posture and cadence honest for its own job.\n *\n * The batchRef literal stays UNPREFIXED so the `scope_anchored` `<domain>:<batchRef>` convention\n * test derives the `rag` domain from the operation identifier.\n */\nexport const RAG_EMBEDDING_DRAIN_BATCH_REF = 'embedding-drain' as const;\n\n/**\n * Every 5 minutes — a freshly written chunk is retrievable within minutes rather than riding the\n * hourly reconciliation cadence. Deliberately MORE frequent than every other engine sweep because\n * this batch is a FRESHNESS drain, not a correctness backstop: an idle run costs one indexed\n * NULL-vector read (the steady state), while an hourly drain would make every new corpus write\n * invisible to retrieval for up to an hour. The 15-minute audit reconciler is the nearest\n * cadence precedent; 5 minutes is the same shape one notch tighter, and the run bounds\n * (`MAX_CHUNKS_PER_RUN`) keep a busy run comfortably inside the window.\n */\nexport const RAG_EMBEDDING_DRAIN_CRON = '*/5 * * * *' as const;\n\n// ── Manifests ───────────────────────────────────────────────────────────────\n\nexport const ENGINE_FILES_CLEANUP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: FILES_CLEANUP_BATCH_REF,\n resourceIdentifier: CoreResourceType.FILES,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '0 * * * *',\n});\n\n/**\n * Every 15 minutes: frequent enough that a retention window is honoured with useful precision\n * (MongoDB's own TTL monitor runs about once a minute), infrequent enough that a backlog is worked\n * down over several runs rather than in one long-running statement.\n */\nexport const ENGINE_JOB_EXECUTIONS_RETENTION_SWEEP_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: JOB_EXECUTIONS_RETENTION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.JOB_EXECUTIONS,\n operationIdentifier: CoreResourceOperation.DELETE_MANY,\n cronExpression: '*/15 * * * *',\n});\n\nexport const ENGINE_JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.JOB_PAYLOAD_STORAGE,\n operationIdentifier: CoreResourceOperation.DELETE_MANY,\n cronExpression: '*/15 * * * *',\n});\n\nexport const ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: CONSUMABLE_TOKENS_CLEANUP_BATCH_REF,\n resourceIdentifier: BackendResourceType.CONSUMABLE_TOKENS,\n operationIdentifier: CoreResourceOperation.DELETE,\n cronExpression: '0 */6 * * *',\n});\n\n/**\n * Marks A2A tasks FAILED when their liveness lease is gone — the durable half of the\n * derive-on-read design. Hourly is deliberate: `tasks/get` already reports abandoned\n * tasks correctly in real time, so this only has to stop the STORED rows lying to\n * LIST / analytics / audit, which tolerates an hour of lag.\n */\nexport const ENGINE_A2A_ABANDONED_TASK_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: A2A_ABANDONED_TASK_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.USER_FLOW_ACTOR_TASKS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '0 * * * *',\n});\n\nexport const ENGINE_ANONYMOUS_SESSION_CLEANUP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: ANONYMOUS_SESSION_CLEANUP_BATCH_REF,\n resourceIdentifier: CoreResourceType.ANONYMOUS_USERS,\n operationIdentifier: CoreResourceOperation.DELETE,\n cronExpression: '0 3 * * *',\n});\n\nexport const ENGINE_ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATION_MEMBERS,\n operationIdentifier: CoreResourceOperation.DELETE,\n // Daily at 04:00 UTC — after anonymous-session cleanup (03:00) and staggered off the\n // 6-hourly token cleanup so the accept tokens for swept rows are already purged.\n cronExpression: '0 4 * * *',\n});\n\n/**\n * Resource-anchored on ORGANIZATIONS/DELETE — the operation the batch genuinely dispatches, not a\n * synthetic label. Scheduled at 03:00, one hour BEFORE the invitation sweep (04:00) on purpose: a\n * purge orphans the `PENDING_INVITATION` user shells of any never-accepted invitations in the\n * destroyed tenant, and the sweep is what reaps orphan shells. Running the purge first means those\n * shells are collected the same night rather than a day later.\n */\nexport const ENGINE_ORGANIZATION_PURGE_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: ORGANIZATION_PURGE_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATIONS,\n operationIdentifier: CoreResourceOperation.DELETE,\n cronExpression: ORGANIZATION_PURGE_DEFAULT_CRON,\n cronExpressionConfigurable: true,\n});\n\n/**\n * Resource-anchored on ORGANIZATION_MEMBERS/UPDATE — one of the two operations the sweep genuinely\n * dispatches (the other is `USERS | unsuspend_user`, which also borrows UPDATE). Anchoring names a\n * real dispatched operation rather than a synthetic label, per the convention above.\n *\n * `0 * * * *` — hourly on the hour. See the ref's documentation for why not daily.\n */\n/**\n * Resource-anchored on APPLICATION_API_KEYS/UPDATE — one of the five operations the sweep genuinely\n * dispatches (the others are the org api-keys, both OAuth-client resources and platform access\n * grants, each borrowing UPDATE through its own `expire` verb). Anchoring names a real dispatched\n * operation rather than a synthetic label, per the convention above.\n *\n * `30 2 * * *` — daily at 02:30, staggered off the 03:00 anonymous-session cleanup and the 04:00\n * invitation sweep. See the ref's documentation for why daily rather than hourly.\n */\n/**\n * Resource-anchored on ORGANIZATION_USAGE_RECORDS/UPDATE — the operation the flush genuinely\n * dispatches when it marks rows reported. The USER-scope usage records are swept in the same run\n * through the same operation; anchoring names one real dispatched operation rather than a synthetic\n * label, per the convention above.\n */\nexport const ENGINE_USAGE_FLUSH_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: USAGE_FLUSH_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATION_USAGE_RECORDS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '*/5 * * * *',\n cronExpressionConfigurable: true,\n});\n\nexport const ENGINE_BILLING_RECONCILIATION_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: BILLING_RECONCILIATION_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATION_SUBSCRIPTIONS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '17 * * * *',\n cronExpressionConfigurable: true,\n});\n\nexport const ENGINE_CREDENTIAL_EXPIRY_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: CREDENTIAL_EXPIRY_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.APPLICATION_API_KEYS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '30 2 * * *',\n});\n\nexport const ENGINE_SUSPENSION_REACTIVATION_SWEEP_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: SUSPENSION_REACTIVATION_SWEEP_BATCH_REF,\n resourceIdentifier: CoreResourceType.ORGANIZATION_MEMBERS,\n operationIdentifier: CoreResourceOperation.UPDATE,\n cronExpression: '0 * * * *',\n cronExpressionConfigurable: true,\n});\n\nexport const ENGINE_DORMANCY_DETECTION_BATCH_MANIFEST: ResourceAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.RESOURCE_ANCHORED,\n batchRef: DORMANCY_DETECTION_BATCH_REF,\n resourceIdentifier: CoreResourceType.USER_LIFECYCLE_STATE,\n operationIdentifier: CoreResourceOperation.UPDATE,\n // Runtime cron is resolved from `LifecycleConfig.dormancyCronSchedule` and\n // the manifest value is only the factory's built-in fallback. Marking the\n // schedule as configurable tells the spec validator to accept any non-empty\n // authored cron rather than requiring a strict echo (see\n // `CustomBatchManifest.cronExpressionConfigurable` for the full rationale).\n cronExpression: '0 */6 * * *',\n cronExpressionConfigurable: true,\n});\n\n/**\n * Event-triggered email batch send. Anchored on the `APPLICATION` primary\n * scope — see {@link CustomBatchManifest} `scope_anchored` arm and the\n * OD-2.c branch of\n * `ExecutionContextCreatorBackendService.createForInternalCustomBatch`.\n *\n * The synthetic bootstrap operation runs through `APPLICATION.READ`, then\n * `withOperation()` swaps in `notifications:email.batch-send` so audit\n * trails surface the honest batch identity.\n */\n/**\n * Deferred child-lifecycle teardown (#427). Anchored on the `APPLICATION` primary scope for the\n * same reason as the email and webhook drains: it is event-triggered and CROSS-RESOURCE — the\n * child resource differs per job, so there is no honest single target resource to anchor on.\n *\n * No `cronExpression`: nothing schedules it. A job exists only because a parent delete chose LAZY\n * for one of its edges.\n */\nexport const ENGINE_CHILD_LIFECYCLE_TEARDOWN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: CHILD_LIFECYCLE_TEARDOWN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: 'lifecycle:child-teardown',\n});\n\nexport const ENGINE_EMAIL_BATCH_SEND_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: EMAIL_BATCH_SEND_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: 'notifications:email.batch-send',\n});\n\n/**\n * Event-triggered M2M outbound webhook delivery — anchored on the `APPLICATION`\n * primary scope (see {@link M2M_WEBHOOK_DELIVERY_BATCH_REF} for the full\n * rationale and the OD-2.c bootstrap branch in\n * `ExecutionContextCreatorBackendService.createForInternalCustomBatch`).\n */\nexport const ENGINE_M2M_WEBHOOK_DELIVERY_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: M2M_WEBHOOK_DELIVERY_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: 'notifications:m2m-webhook-delivery',\n});\n\n/**\n * Event-triggered SIEM webhook delivery — anchored on the `APPLICATION`\n * primary scope (see {@link SIEM_WEBHOOK_DELIVERY_BATCH_REF} for the full\n * rationale and the OD-2.c bootstrap branch in\n * `ExecutionContextCreatorBackendService.createForInternalCustomBatch`).\n *\n * The `<domain>:<batchRef>` operation identifier uses the `compliance` domain\n * (the owning module folder, `compliance/audit-trails/`), mirroring how\n * `email.batch-send` / `m2m-webhook-delivery` take their `notifications:`\n * prefix from their owning module.\n */\n/**\n * Event-triggered A2A push-notification delivery — anchored on the `APPLICATION` primary scope\n * (see {@link A2A_PUSH_DELIVERY_BATCH_REF}). The `flows-actors:` prefix names the owning module,\n * mirroring how `m2m-webhook-delivery` takes its `notifications:` prefix from its own.\n */\nexport const ENGINE_A2A_PUSH_DELIVERY_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: A2A_PUSH_DELIVERY_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `flows-actors:${A2A_PUSH_DELIVERY_BATCH_REF}`,\n});\n\nexport const ENGINE_SIEM_WEBHOOK_DELIVERY_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: SIEM_WEBHOOK_DELIVERY_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `compliance:${SIEM_WEBHOOK_DELIVERY_BATCH_REF}`,\n});\n\n/**\n * Cron audit-completeness reconciler (audit Phase 3). Scope-anchored @ APPLICATION —\n * it replays EVERY org's audit rows for system-wide completeness, so there is no\n * single honest target resource (mirrors the SIEM delivery anchoring). Fixed\n * every-15-minutes cadence: a completeness backfill only needs to catch the rare miss\n * the real-time sink dropped; not operator-configurable in v1. This `cronExpression`\n * is BOTH the spec cross-validation target AND (consumed by the batch's\n * `batchCronjob_Context.cronJobExpression`) the value that actually schedules the run.\n */\nexport const ENGINE_IMMUDB_AUDIT_RECONCILE_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: IMMUDB_AUDIT_RECONCILE_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `compliance:${IMMUDB_AUDIT_RECONCILE_BATCH_REF}`,\n cronExpression: '*/15 * * * *',\n});\n\n/**\n * Cron audit-log archival batch (audit Phase 5 / F1). Scope-anchored @\n * APPLICATION — it scans EVERY org's aged audit rows into per-day archival\n * artifacts (cross-org, one artifact per day-window), so there is no single\n * honest target resource (mirrors the reconcile + SIEM anchoring). Fixed daily\n * cadence ({@link AUDIT_LOGS_ARCHIVE_CRON}); the operator-facing knob is the\n * archival horizon, not the schedule. This `cronExpression` is BOTH the spec\n * cross-validation target AND (consumed by the batch's\n * `batchCronjob_Context.cronJobExpression`) the value that actually schedules\n * the run — omitting it would register the batch but never fire it.\n */\nexport const ENGINE_AUDIT_LOGS_ARCHIVE_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: AUDIT_LOGS_ARCHIVE_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `compliance:${AUDIT_LOGS_ARCHIVE_BATCH_REF}`,\n cronExpression: AUDIT_LOGS_ARCHIVE_CRON,\n});\n\n/**\n * ETL pipeline scheduled-run batch (partial-resource paper, PR-12). Anchored on the\n * `APPLICATION` primary scope — slice 1 admits only SINGLE_TENANT_BINDING pipelines, so a\n * pipeline is app-wide by construction. Each engine tick walks every registered resource\n * declaring `externalDataPipeline.scheduleCron` and dispatches the DUE ones through the ETL run service.\n * The engine tick is fixed (`cronExpressionConfigurable: false`) — the operator-facing cadence\n * knob is each pipeline's own `scheduleCron`, never this tick.\n */\nexport const ENGINE_EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `external-data:${EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_REF}`,\n cronExpression: EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_DEFAULT_CRON,\n cronExpressionConfigurable: false,\n});\n\n/**\n * Data-seeding scheduled-rerun batch (Phase 7 / Item 47). Anchored on the\n * `APPLICATION` primary scope — see {@link DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}\n * for the rationale. The synthetic bootstrap operation runs through\n * `APPLICATION.READ`; the worker then walks every cron-opted-in seed\n * under that app's process. The cron expression is overridable via\n * `DataSeedingConfig.scheduledRerunCronSchedule` — the manifest's\n * `cronExpression` is the factory's built-in fallback used when no\n * operator override is provided.\n */\nexport const ENGINE_DATA_SEEDING_SCHEDULED_RERUN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `data-seeding:${DATA_SEEDING_SCHEDULED_RERUN_BATCH_REF}`,\n cronExpression: DATA_SEEDING_SCHEDULED_RERUN_DEFAULT_CRON,\n cronExpressionConfigurable: true,\n});\n\n/**\n * Data-seeding `DataSeedRun` retention cleanup batch (audit L4-10,\n * post-Phase-7 close-out). Anchored on the `APPLICATION` primary scope\n * — see {@link DATA_SEEDING_RUN_CLEANUP_BATCH_REF} for the rationale.\n *\n * Cron is fixed (not `cronExpressionConfigurable`) — a daily 03:30 UTC\n * sweep is sufficient for retention; the operator-facing knob is\n * `DataSeedingConfig.runRetentionDays`, NOT the cadence. The retention\n * window itself is read from `DataSeedingConfig.runRetentionDays` at\n * batch tick time (NOT at registration), so an in-place config change\n * takes effect on the next tick without a redeploy.\n */\nexport const ENGINE_DATA_SEEDING_RUN_CLEANUP_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: DATA_SEEDING_RUN_CLEANUP_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `data-seeding:${DATA_SEEDING_RUN_CLEANUP_BATCH_REF}`,\n cronExpression: DATA_SEEDING_RUN_CLEANUP_CRON,\n});\n\n/**\n * Hourly RAG reconciliation sweep — anchored on the `APPLICATION` primary scope: it walks EVERY\n * resource type declaring `.ragSource()` fields plus every chunk set in every reachable store, so\n * there is no single honest target resource (the reconcile/SIEM/archive anchoring rationale). The\n * `rag:` prefix names the owning module folder (`src/rag/`), per the `<domain>:<batchRef>`\n * convention. This `cronExpression` is BOTH the spec cross-validation target AND the value that\n * actually schedules the run — omitting it would register the batch but never fire it.\n */\nexport const ENGINE_RAG_RECONCILIATION_SWEEP_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: RAG_RECONCILIATION_SWEEP_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `rag:${RAG_RECONCILIATION_SWEEP_BATCH_REF}`,\n cronExpression: RAG_RECONCILIATION_SWEEP_CRON,\n});\n\n/**\n * Five-minute RAG embedding drain — anchored on the `APPLICATION` primary scope for the same\n * reason as the reconciliation sweep: it walks every chunk set in every reachable store, so\n * there is no single honest target resource. This `cronExpression` is BOTH the spec\n * cross-validation target AND the value that actually schedules the run — omitting it would\n * register the batch but never fire it.\n */\nexport const ENGINE_RAG_EMBEDDING_DRAIN_BATCH_MANIFEST: ScopeAnchoredCustomBatchManifest = Object.freeze({\n kind: CustomBatchManifestKind.SCOPE_ANCHORED,\n batchRef: RAG_EMBEDDING_DRAIN_BATCH_REF,\n primaryScope: ResourcePrimaryScope.APPLICATION,\n operationIdentifier: `rag:${RAG_EMBEDDING_DRAIN_BATCH_REF}`,\n cronExpression: RAG_EMBEDDING_DRAIN_CRON,\n});\n\n// ── Aggregator ──────────────────────────────────────────────────────────────\n\n/**\n * Frozen registry of every engine-owned custom batch. The specification\n * package seeds {@link registerCustomBatchManifests} from this list at\n * engine-spec bootstrap so authored `scheduledExecution.customBatchRef`\n * values cross-validate against the same runtime anchors the backend\n * `customBatches.set(...)` block uses.\n */\nexport const ENGINE_CUSTOM_BATCH_MANIFESTS: readonly CustomBatchManifest[] = Object.freeze([\n ENGINE_FILES_CLEANUP_BATCH_MANIFEST,\n ENGINE_JOB_EXECUTIONS_RETENTION_SWEEP_MANIFEST,\n ENGINE_JOB_PAYLOAD_STORAGE_RETENTION_SWEEP_MANIFEST,\n ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST,\n ENGINE_ANONYMOUS_SESSION_CLEANUP_BATCH_MANIFEST,\n ENGINE_A2A_ABANDONED_TASK_SWEEP_BATCH_MANIFEST,\n ENGINE_ORGANIZATION_MEMBER_INVITATION_SWEEP_BATCH_MANIFEST,\n ENGINE_SUSPENSION_REACTIVATION_SWEEP_BATCH_MANIFEST,\n ENGINE_CREDENTIAL_EXPIRY_SWEEP_BATCH_MANIFEST,\n ENGINE_USAGE_FLUSH_BATCH_MANIFEST,\n ENGINE_BILLING_RECONCILIATION_BATCH_MANIFEST,\n ENGINE_ORGANIZATION_PURGE_BATCH_MANIFEST,\n ENGINE_DORMANCY_DETECTION_BATCH_MANIFEST,\n ENGINE_CHILD_LIFECYCLE_TEARDOWN_BATCH_MANIFEST,\n ENGINE_EMAIL_BATCH_SEND_BATCH_MANIFEST,\n ENGINE_M2M_WEBHOOK_DELIVERY_BATCH_MANIFEST,\n ENGINE_A2A_PUSH_DELIVERY_BATCH_MANIFEST,\n ENGINE_SIEM_WEBHOOK_DELIVERY_BATCH_MANIFEST,\n ENGINE_IMMUDB_AUDIT_RECONCILE_BATCH_MANIFEST,\n ENGINE_AUDIT_LOGS_ARCHIVE_BATCH_MANIFEST,\n ENGINE_DATA_SEEDING_SCHEDULED_RERUN_BATCH_MANIFEST,\n ENGINE_DATA_SEEDING_RUN_CLEANUP_BATCH_MANIFEST,\n ENGINE_EXTERNAL_DATA_PIPELINE_SCHEDULED_RUN_BATCH_MANIFEST,\n ENGINE_RAG_RECONCILIATION_SWEEP_BATCH_MANIFEST,\n ENGINE_RAG_EMBEDDING_DRAIN_BATCH_MANIFEST,\n]);\n"]}
@@ -14,6 +14,7 @@ import { AuthorizationsBackendService } from '../../../security/authorizations/s
14
14
  import { ExecutionContextCreatorBackendService } from '../../../runtime/services/execution-context-creator.backend.service';
15
15
  import { ResourceFileUploadHandlerBackendService } from '../../../files/handlers/resource-file-upload-handler.backend.service';
16
16
  import { FileFieldDetectionBackendService } from '../../../files/services/file-field-detection.backend.service';
17
+ import { FileUploadGrantBackendService } from '../../../files/services/file-upload-grant.backend.service';
17
18
  import { ResourcesRegistryBackendService } from '../../../resources/services/resources-registry.backend.service';
18
19
  import { ExecutionContextHandlerBackendService } from '../../../runtime/services/execution-context-handler.backend.service';
19
20
  import { ResourceOperationHelperBackendService } from '../../../base-classes/services/resource-operations-helper.backend.service';
@@ -90,7 +91,7 @@ export declare function extractCollectionFilters(rawData: Record<string, unknown
90
91
  * `{ startDate, endDate }` object the SEARCH request DTO expects.
91
92
  *
92
93
  * WHY THIS EXISTS — a date-range filter is authored as an OBJECT
93
- * (`Resouces_Filter_DateRangeSchema` → `{ startDate?: Date, endDate?: Date }`), and
94
+ * (`Resources_Filter_DateRangeSchema` → `{ startDate?: Date, endDate?: Date }`), and
94
95
  * the frontend HTTP client / any generated SDK serialise it with bracket notation
95
96
  * (OpenAPI `style: deepObject`). Express 5 defaults its query parser to `simple`
96
97
  * (`querystring.parse`), under which `createdAt[startDate]=x` arrives as the LITERAL
@@ -137,11 +138,12 @@ export declare class ControllerResourceBackendService<TCustomOperationEnum exten
137
138
  private readonly anonymousSessionService;
138
139
  private readonly appConfigService;
139
140
  private readonly rateLimitService;
141
+ private readonly fileUploadGrantService;
140
142
  private readonly resourceConfiguration;
141
143
  private readonly operationsMap;
142
144
  private readonly router;
143
145
  protected logDebug: (message: string, context?: Record<string, unknown>) => void;
144
- constructor(resourceType: ResourceType, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, resourcesRegistry: ResourcesRegistryBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, servicesRegistry: ServicesRegistryHandlerBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService);
146
+ constructor(resourceType: ResourceType, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, resourcesRegistry: ResourcesRegistryBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, servicesRegistry: ServicesRegistryHandlerBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService, fileUploadGrantService: FileUploadGrantBackendService);
145
147
  getRouter(): Router;
146
148
  private resolveContextAddressedSingletonOperationAuthorizationId;
147
149
  /**
@@ -165,7 +167,7 @@ export declare class ControllerResourceBackendService<TCustomOperationEnum exten
165
167
  private resolveAssociationParentContextResourceId;
166
168
  private stringifyPersistedValue;
167
169
  private ensureFileUploadTargetMatchesRouteContext;
168
- static createInstance<TCustomOperationEnum extends EnumLikeType | undefined = undefined, TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined, TMainSchema extends z.ZodTypeAny = z.ZodTypeAny>(resourceType: ResourceType, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, resourcesRegistry: ResourcesRegistryBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, servicesRegistry: ServicesRegistryHandlerBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;
170
+ static createInstance<TCustomOperationEnum extends EnumLikeType | undefined = undefined, TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined, TMainSchema extends z.ZodTypeAny = z.ZodTypeAny>(resourceType: ResourceType, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, resourcesRegistry: ResourcesRegistryBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, servicesRegistry: ServicesRegistryHandlerBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService, fileUploadGrantService: FileUploadGrantBackendService): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;
169
171
  private initializeOperationsMap;
170
172
  private initializeRoutes;
171
173
  /**
@@ -231,6 +233,15 @@ export declare class ControllerResourceBackendService<TCustomOperationEnum exten
231
233
  * first avoids unauthenticated callers forcing temp-disk writes through Multer
232
234
  * while still reusing the exact same execution context for the later upload.
233
235
  */
236
+ /**
237
+ * The handler behind `POST …/files/<field>/grant` (issue #312, D3). Runs AFTER the upload route's
238
+ * own authorization middleware, so by the time it executes the caller has been authorized on the
239
+ * target write exactly as an upload would be. It computes the two absolute URLs the grant needs from
240
+ * the request itself — the upload URL is this request's URL minus `/grant`, so it cannot drift from
241
+ * the route that was just authorized — and delegates the mint to the ONE function the MCP door also
242
+ * calls. Answers 201 with the grant; the token appears in it because it is the credential.
243
+ */
244
+ private buildFileUploadGrantMintHandler;
234
245
  private createFileUploadAuthorizationMiddleware;
235
246
  /**
236
247
  * Initialize validate-field routes for resources with unique fields.
@@ -1 +1 @@
1
- {"version":3,"file":"controller-resource.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controller-resource.backend.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-resource.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controller-resource.backend.service.ts"],"names":[],"mappings":"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"}