@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
@@ -7,7 +7,24 @@
7
7
  * 3. Hard delete cleanup-eligible exhausted BOUNDED_REUSE tokens
8
8
  * 4. Hard delete cleanup-eligible revoked tokens older than 7 days
9
9
  *
10
- * Uses bulk `deleteMany` operations for performance at scale.
10
+ * Uses the infrastructure tier's bulk `deleteManyForInfrastructure` door for performance at scale.
11
+ *
12
+ * ## ADAPTER-NEUTRAL, and it was not until 2026-09-01
13
+ *
14
+ * `ConsumableTokenBackendService` moved off the native MongoDB collection onto the adapter-neutral
15
+ * repositories plane on 2026-08-25. This batch — the resource's only other database caller — was the
16
+ * one call site that migration missed, and it kept resolving `MongoDBService`, taking
17
+ * `getConnection()` and issuing four raw `collection.deleteMany(...)`.
18
+ *
19
+ * The consequence was invisible for as long as every application ran a mongod BESIDE PostgreSQL:
20
+ * tokens were written to whichever store the resource is bound to, and the sweep reaped them from
21
+ * Mongo. `wonder-crm` — PostgreSQL on both planes, no mongod at all — is the first application where
22
+ * the two disagree, and there the fail-closed throw below fired every six hours from the day it was
23
+ * created, so the framework's only credential-retention sweep had never run: spent password-reset,
24
+ * invitation, email-verification and magic-link rows accumulate with nothing to remove them.
25
+ *
26
+ * `.claude/rules/invariant-call-site-enumeration.md` is the shape — an invariant applied at one of
27
+ * its N sites, where the miss is silent because the surviving site is the one nobody watches.
11
28
  *
12
29
  * Integration with Queue System:
13
30
  * - Registered as a core engine batch in StartApplicationBackendService
@@ -17,14 +34,15 @@
17
34
  import { BackendResourceType } from '../../../resources/models/resources-types.backend.schemas.js';
18
35
  import { createCustomBatchExecutionService } from '../../../base-classes/services/batches/batches-cronjobs-custom-execution.service.js';
19
36
  import { ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST } from '../../../base-classes/services/batches/engine-custom-batch-manifests.js';
20
- import { SAAS_SERVICE_TYPES } from '../../../inject/models/service-types.js';
21
37
  import { projectCaughtErrorLogFields } from '../../../errors/utils/error-log-level-classification.backend.utils.js';
22
38
  import { z } from 'zod';
23
- import { ConsumableToken_ConsumptionMode, resolveSharedPersistenceCollectionName, } from '@wildo-ai/saas-models';
39
+ import { ConsumableToken_ConsumptionMode } from '@wildo-ai/saas-models';
24
40
  // Input schema (empty for scheduled runs, optional overrides for testing)
25
41
  const ConsumableTokensCleanupInputSchema = z.object({
26
42
  /** Override: max age for revoked tokens before hard delete (ms). Default: 7 days */
27
43
  revokedRetentionMs: z.number().int().min(0).optional(),
44
+ /** Override: ceiling on the exhausted-BOUNDED_REUSE candidate scan. See its lane below. */
45
+ boundedReuseScanLimit: z.number().int().min(1).optional(),
28
46
  });
29
47
  // Output schema - cleanup statistics
30
48
  const ConsumableTokensCleanupOutputSchema = z.object({
@@ -37,6 +55,15 @@ const ConsumableTokensCleanupOutputSchema = z.object({
37
55
  });
38
56
  // Threshold constants (milliseconds)
39
57
  const SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1000;
58
+ /**
59
+ * Ceiling on lane 3's candidate read — see that lane for why the read exists at all.
60
+ *
61
+ * The population it scans is "BOUNDED_REUSE tokens that are live and not flagged consumed", which by
62
+ * construction is the set of multi-use links an application currently has outstanding, minus the two
63
+ * lanes that ran before it. Exceeding this is not a scale problem to page through; it is a signal
64
+ * that the assumption is wrong, so the lane logs and stops rather than silently reading more.
65
+ */
66
+ const DEFAULT_BOUNDED_REUSE_SCAN_LIMIT = 5000;
40
67
  /**
41
68
  * Consumable tokens cleanup batch job factory.
42
69
  *
@@ -52,33 +79,8 @@ export function createConsumableTokensCleanupBatch() {
52
79
  operationIdentifier: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.operationIdentifier,
53
80
  cronJobExpression: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.cronExpression,
54
81
  },
55
- resolveDependencies: ({ get }) => ({
56
- mongoDBService: get(SAAS_SERVICE_TYPES.MongoDBService),
57
- }),
58
- doHandle: async (input, { logger, dependencies }) => {
82
+ doHandle: async (input, { logger, executionContext, repositoriesRegistry }) => {
59
83
  const startTime = Date.now();
60
- // Access MongoDB collection directly for bulk deleteMany operations.
61
- // The repository pattern's delete() works one-at-a-time; for cleanup
62
- // we need bulk operations for performance at scale.
63
- const { mongoDBService } = dependencies;
64
- const connection = mongoDBService.getConnection();
65
- if (!connection) {
66
- // FAIL CLOSED. This sweep is the only thing that removes spent authentication
67
- // tokens (password-reset, invitation, email-verification, phone-verification)
68
- // from the store, so "deleted nothing" and "had nothing to delete" are NOT the
69
- // same outcome and must not produce the same result.
70
- //
71
- // Returning a zeroed result here reported SUCCESS to the batch runner: the
72
- // operator saw a green job, the retention obligation silently lapsed, and spent
73
- // token rows accumulated indefinitely. Nothing has executed at this point, so
74
- // there is no partial progress worth preserving — a failure is the only honest
75
- // outcome. `execute()` does not catch, so this surfaces as a failed batch run.
76
- throw new Error('Consumable tokens cleanup cannot run: MongoDB connection unavailable');
77
- }
78
- // The SAME authority the service and the Mongoose model use — see `getTokenCollection`'s JSDoc
79
- // for the split this literal used to create. A cleanup batch pointed at the wrong collection is
80
- // the quietest half of it: it reports rows reaped from a store nothing writes to.
81
- const collection = connection.collection(resolveSharedPersistenceCollectionName(BackendResourceType.CONSUMABLE_TOKENS));
82
84
  /**
83
85
  * Retention lanes that threw.
84
86
  *
@@ -92,46 +94,90 @@ export function createConsumableTokensCleanupBatch() {
92
94
  */
93
95
  const failedRetentionLanes = [];
94
96
  const revokedRetentionMs = input.revokedRetentionMs ?? SEVEN_DAYS_MS;
97
+ const boundedReuseScanLimit = input.boundedReuseScanLimit ?? DEFAULT_BOUNDED_REUSE_SCAN_LIMIT;
95
98
  const now = new Date();
99
+ /**
100
+ * One retention lane: a bulk delete through the infrastructure tier, recorded on failure
101
+ * rather than swallowed.
102
+ *
103
+ * The filter is ADAPTER-NEUTRAL by contract — `$lt`, `$exists`, `$in` and equality are in
104
+ * `SUPPORTED_FILTER_OPERATORS`, so each lane compiles on both arms. The door refuses an empty
105
+ * filter, which is what stops a lane whose predicate came out undefined from emptying the
106
+ * table.
107
+ */
108
+ const runDeleteLane = async (lane, filter) => {
109
+ try {
110
+ return await repositoriesRegistry.deleteManyForInfrastructure(BackendResourceType.CONSUMABLE_TOKENS, filter, executionContext);
111
+ }
112
+ catch (error) {
113
+ failedRetentionLanes.push(lane);
114
+ logger.warn(`Failed to delete ${lane} tokens`, {
115
+ ...projectCaughtErrorLogFields(error),
116
+ });
117
+ return 0;
118
+ }
119
+ };
96
120
  // NOTE: Steps 1-3 may overlap (e.g., a consumed token that is also expired gets
97
121
  // deleted in step 1 so step 2 won't find it). This is intentional — each step is
98
122
  // defense-in-depth. The deletedCount accurately reflects what each step actually deleted.
99
123
  // 1. Delete expired tokens (expiresAt < now)
100
- let expiredDeleted = 0;
101
- try {
102
- const result = await collection.deleteMany({
103
- expiresAt: { $lt: now },
104
- });
105
- expiredDeleted = result.deletedCount;
106
- }
107
- catch (error) {
108
- failedRetentionLanes.push('expired');
109
- logger.warn('Failed to delete expired tokens', {
110
- ...projectCaughtErrorLogFields(error),
111
- });
112
- }
124
+ const expiredDeleted = await runDeleteLane('expired', { expiresAt: { $lt: now } });
113
125
  // 2. Delete fully consumed tokens (isConsumed = true)
114
- let consumedDeleted = 0;
115
- try {
116
- const result = await collection.deleteMany({ isConsumed: true });
117
- consumedDeleted = result.deletedCount;
118
- }
119
- catch (error) {
120
- failedRetentionLanes.push('consumed');
121
- logger.warn('Failed to delete consumed tokens', {
122
- ...projectCaughtErrorLogFields(error),
123
- });
124
- }
125
- // 3. Delete exhausted BOUNDED_REUSE tokens where usesCount >= maxUses
126
- // This is defense-in-depth for the race condition edge case where isConsumed
127
- // may not have been atomically set during concurrent consumption.
126
+ const consumedDeleted = await runDeleteLane('consumed', { isConsumed: true });
127
+ /**
128
+ * 3. Delete exhausted BOUNDED_REUSE tokens where `usesCount >= maxUses`.
129
+ *
130
+ * Defense-in-depth for the window in which `isConsumed` has not yet been settled:
131
+ * `ConsumableTokenBackendService.consumeToken` derives that flag from the POST-increment row
132
+ * and writes it best-effort, naming this lane as the bound on a failure — so lane 2 above can
133
+ * legitimately miss an exhausted token and this one must find it.
134
+ *
135
+ * **Why this lane READS instead of filtering.** The comparison is column-to-column, which
136
+ * MongoDB expresses as `$expr: { $gte: ['$usesCount', '$maxUses'] }` — an operator in
137
+ * `MONGODB_ONLY_OPERATORS`, so it throws on PostgreSQL. It could not simply be translated
138
+ * either: `maxUses` is a BOUNDED_REUSE *variant* field, which PostgreSQL stores inside the
139
+ * `variantConfig` jsonb rather than as a column, and `usesCount` is a base column. So the row
140
+ * is fetched (where `transformPersistenceRow` has already re-hydrated the variant field to the
141
+ * top level, identically to MongoDB) and the comparison is done here. Exactly the trade
142
+ * `consumeToken` records for the same pair of fields: keep the authoritative behaviour, pay a
143
+ * round trip, refuse to pin the framework to one adapter for a convenience operator.
144
+ *
145
+ * The candidate set is deliberately narrowed to what is still live and unflagged — lanes 1 and
146
+ * 2 have already removed the expired and the flagged — so this is normally a handful of rows.
147
+ * {@link DEFAULT_BOUNDED_REUSE_SCAN_LIMIT} bounds what the lane will PROCESS and says so out
148
+ * loud when it bites; the read itself is unbounded, which is honest rather than ideal — the
149
+ * infrastructure tier has no paginated raw read, and adding one for a lane that should return
150
+ * near-zero rows would be building for a shape we do not have.
151
+ */
128
152
  let exhaustedBoundedDeleted = 0;
129
153
  try {
130
- const result = await collection.deleteMany({
131
- consumptionMode: ConsumableToken_ConsumptionMode.BOUNDED_REUSE,
132
- $expr: { $gte: ['$usesCount', '$maxUses'] },
133
- });
134
- exhaustedBoundedDeleted = result.deletedCount;
154
+ const boundedReuseCandidates = await repositoriesRegistry.findManyForInfrastructure(BackendResourceType.CONSUMABLE_TOKENS, { consumptionMode: ConsumableToken_ConsumptionMode.BOUNDED_REUSE, isConsumed: false }, executionContext);
155
+ if (boundedReuseCandidates.length > boundedReuseScanLimit) {
156
+ logger.warn('Exhausted-BOUNDED_REUSE lane found more live candidates than expected — processing the '
157
+ + 'scan limit only, and the excess stays until the next run', { candidates: boundedReuseCandidates.length, boundedReuseScanLimit });
158
+ }
159
+ /**
160
+ * `String(token._id)`, NOT a `typeof … === 'string'` filter.
161
+ *
162
+ * The MongoDB arm returns rows through `document.toObject()`, which leaves `_id` as an
163
+ * ObjectId INSTANCE; the PostgreSQL arm returns a text column. A string-typed guard would
164
+ * therefore drop every candidate on MongoDB and delete nothing — the same "works on one
165
+ * adapter" defect this whole change exists to remove, reintroduced one layer down. Coercing
166
+ * is safe in the other direction too: mongoose casts a hex string back to an ObjectId when
167
+ * the `_id` path is one, and leaves it alone when the path is a String. Same idiom as the
168
+ * retention sweep's `String(row._id ?? '')`.
169
+ */
170
+ const exhaustedIds = boundedReuseCandidates
171
+ .slice(0, boundedReuseScanLimit)
172
+ .filter((token) => typeof token.maxUses === 'number' && (token.usesCount ?? 0) >= token.maxUses)
173
+ .map((token) => String(token._id ?? ''))
174
+ .filter((id) => id.length > 0);
175
+ // The door refuses an empty filter, and `{ _id: { $in: [] } }` is a filter that matches
176
+ // nothing on one adapter and is a needless statement on the other. Ask nothing when there is
177
+ // nothing to ask.
178
+ if (exhaustedIds.length > 0) {
179
+ exhaustedBoundedDeleted = await runDeleteLane('exhaustedBoundedReuse', { _id: { $in: exhaustedIds } });
180
+ }
135
181
  }
136
182
  catch (error) {
137
183
  failedRetentionLanes.push('exhaustedBoundedReuse');
@@ -140,20 +186,10 @@ export function createConsumableTokensCleanupBatch() {
140
186
  });
141
187
  }
142
188
  // 4. Delete revoked tokens older than retention period
143
- let revokedDeleted = 0;
144
189
  const revokedCutoff = new Date(now.getTime() - revokedRetentionMs);
145
- try {
146
- const result = await collection.deleteMany({
147
- revokedAt: { $lt: revokedCutoff, $exists: true },
148
- });
149
- revokedDeleted = result.deletedCount;
150
- }
151
- catch (error) {
152
- failedRetentionLanes.push('revoked');
153
- logger.warn('Failed to delete revoked tokens', {
154
- ...projectCaughtErrorLogFields(error),
155
- });
156
- }
190
+ const revokedDeleted = await runDeleteLane('revoked', {
191
+ revokedAt: { $lt: revokedCutoff, $exists: true },
192
+ });
157
193
  const durationMs = Date.now() - startTime;
158
194
  const totalDeleted = expiredDeleted + consumedDeleted + exhaustedBoundedDeleted + revokedDeleted;
159
195
  if (failedRetentionLanes.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"consumable-tokens-cleanup.batch.backend.service.js","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Consumable Tokens Cleanup Batch Job\n *\n * This batch job runs every 6 hours and performs:\n * 1. Hard delete cleanup-eligible expired tokens (past expiresAt)\n * 2. Hard delete cleanup-eligible fully consumed tokens (isConsumed = true)\n * 3. Hard delete cleanup-eligible exhausted BOUNDED_REUSE tokens\n * 4. Hard delete cleanup-eligible revoked tokens older than 7 days\n *\n * Uses bulk `deleteMany` operations for performance at scale.\n *\n * Integration with Queue System:\n * - Registered as a core engine batch in StartApplicationBackendService\n * - Scheduled via crontabs-batches-manager (every 6 hours)\n * - Executed by BatchesCronjobsExecutor_BackendService\n */\n\nimport { BackendResourceType } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\nimport { createCustomBatchExecutionService } from '~wildo-backend-lib/base-classes/services/batches/batches-cronjobs-custom-execution.service';\nimport { ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST } from '~wildo-backend-lib/base-classes/services/batches/engine-custom-batch-manifests';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport type { MongoDBService } from '~wildo-backend-lib/databases/services/mongodb.service';\nimport { z } from 'zod';\nimport { ConsumableToken_ConsumptionMode,\n resolveSharedPersistenceCollectionName,\n} from '@wildo-ai/saas-models';\n\n// Input schema (empty for scheduled runs, optional overrides for testing)\nconst ConsumableTokensCleanupInputSchema = z.object({\n /** Override: max age for revoked tokens before hard delete (ms). Default: 7 days */\n revokedRetentionMs: z.number().int().min(0).optional(),\n});\n\n// Output schema - cleanup statistics\nconst ConsumableTokensCleanupOutputSchema = z.object({\n expiredDeleted: z.number().int().min(0),\n consumedDeleted: z.number().int().min(0),\n exhaustedBoundedDeleted: z.number().int().min(0),\n revokedDeleted: z.number().int().min(0),\n totalDeleted: z.number().int().min(0),\n durationMs: z.number().int().min(0),\n});\n\n// Threshold constants (milliseconds)\nconst SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1000;\n\n/**\n * Consumable tokens cleanup batch job factory.\n *\n * @returns Custom batch execution service for consumable tokens cleanup\n */\nexport function createConsumableTokensCleanupBatch(): ReturnType<typeof createCustomBatchExecutionService> {\n return createCustomBatchExecutionService({\n input: ConsumableTokensCleanupInputSchema,\n output: ConsumableTokensCleanupOutputSchema,\n batchCronjob_Context: {\n kind: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.kind,\n resourceIdentifier: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.resourceIdentifier,\n operationIdentifier: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.operationIdentifier,\n cronJobExpression: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.cronExpression,\n },\n resolveDependencies: ({ get }) => ({\n mongoDBService: get<MongoDBService>(SAAS_SERVICE_TYPES.MongoDBService),\n }),\n doHandle: async (input, { logger, dependencies }) => {\n const startTime = Date.now();\n\n // Access MongoDB collection directly for bulk deleteMany operations.\n // The repository pattern's delete() works one-at-a-time; for cleanup\n // we need bulk operations for performance at scale.\n const { mongoDBService } = dependencies;\n const connection = mongoDBService.getConnection();\n\n if (!connection) {\n // FAIL CLOSED. This sweep is the only thing that removes spent authentication\n // tokens (password-reset, invitation, email-verification, phone-verification)\n // from the store, so \"deleted nothing\" and \"had nothing to delete\" are NOT the\n // same outcome and must not produce the same result.\n //\n // Returning a zeroed result here reported SUCCESS to the batch runner: the\n // operator saw a green job, the retention obligation silently lapsed, and spent\n // token rows accumulated indefinitely. Nothing has executed at this point, so\n // there is no partial progress worth preserving — a failure is the only honest\n // outcome. `execute()` does not catch, so this surfaces as a failed batch run.\n throw new Error(\n 'Consumable tokens cleanup cannot run: MongoDB connection unavailable',\n );\n }\n\n // The SAME authority the service and the Mongoose model use — see `getTokenCollection`'s JSDoc\n // for the split this literal used to create. A cleanup batch pointed at the wrong collection is\n // the quietest half of it: it reports rows reaped from a store nothing writes to.\n const collection = connection.collection(\n resolveSharedPersistenceCollectionName(BackendResourceType.CONSUMABLE_TOKENS as never),\n );\n\n /**\n * Retention lanes that threw.\n *\n * The four lanes stay independently guarded on purpose — they are defense-in-depth\n * and partially overlapping, so a later lane can still reclaim rows when an earlier\n * one fails, and that partial progress is worth keeping. What was wrong is that\n * every failure was swallowed into a `warn`: with all four lanes broken the batch\n * still returned `totalDeleted: 0` and logged \"cleanup batch completed\" at INFO.\n *\n * So: keep running, but remember, and fail the batch at the end.\n */\n const failedRetentionLanes: string[] = [];\n const revokedRetentionMs = input.revokedRetentionMs ?? SEVEN_DAYS_MS;\n const now = new Date();\n\n // NOTE: Steps 1-3 may overlap (e.g., a consumed token that is also expired gets\n // deleted in step 1 so step 2 won't find it). This is intentional — each step is\n // defense-in-depth. The deletedCount accurately reflects what each step actually deleted.\n\n // 1. Delete expired tokens (expiresAt < now)\n let expiredDeleted = 0;\n try {\n const result = await collection.deleteMany({\n expiresAt: { $lt: now },\n });\n expiredDeleted = result.deletedCount;\n } catch (error) {\n failedRetentionLanes.push('expired');\n logger.warn('Failed to delete expired tokens', {\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n // 2. Delete fully consumed tokens (isConsumed = true)\n let consumedDeleted = 0;\n try {\n const result = await collection.deleteMany({ isConsumed: true });\n consumedDeleted = result.deletedCount;\n } catch (error) {\n failedRetentionLanes.push('consumed');\n logger.warn('Failed to delete consumed tokens', {\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n // 3. Delete exhausted BOUNDED_REUSE tokens where usesCount >= maxUses\n // This is defense-in-depth for the race condition edge case where isConsumed\n // may not have been atomically set during concurrent consumption.\n let exhaustedBoundedDeleted = 0;\n try {\n const result = await collection.deleteMany({\n consumptionMode: ConsumableToken_ConsumptionMode.BOUNDED_REUSE,\n $expr: { $gte: ['$usesCount', '$maxUses'] },\n });\n exhaustedBoundedDeleted = result.deletedCount;\n } catch (error) {\n failedRetentionLanes.push('exhaustedBoundedReuse');\n logger.warn('Failed to delete exhausted BOUNDED_REUSE tokens', {\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n // 4. Delete revoked tokens older than retention period\n let revokedDeleted = 0;\n const revokedCutoff = new Date(now.getTime() - revokedRetentionMs);\n try {\n const result = await collection.deleteMany({\n revokedAt: { $lt: revokedCutoff, $exists: true },\n });\n revokedDeleted = result.deletedCount;\n } catch (error) {\n failedRetentionLanes.push('revoked');\n logger.warn('Failed to delete revoked tokens', {\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n const durationMs = Date.now() - startTime;\n const totalDeleted = expiredDeleted + consumedDeleted + exhaustedBoundedDeleted + revokedDeleted;\n\n if (failedRetentionLanes.length > 0) {\n // Report what DID get reclaimed before failing — the partial progress is real and\n // an operator diagnosing the failure needs it. Logged at error level (not warn)\n // because the batch outcome is a failure, and the per-lane warns above carry only\n // the cause, never the consequence.\n logger.error('Consumable tokens cleanup completed PARTIALLY — failing the batch', {\n failedRetentionLanes,\n expiredDeleted,\n consumedDeleted,\n exhaustedBoundedDeleted,\n revokedDeleted,\n totalDeleted,\n durationMs,\n });\n throw new Error(\n `Consumable tokens cleanup failed for retention lane(s): ${failedRetentionLanes.join(', ')}`,\n );\n }\n\n logger.info('Consumable tokens cleanup batch completed', {\n expiredDeleted,\n consumedDeleted,\n exhaustedBoundedDeleted,\n revokedDeleted,\n totalDeleted,\n durationMs,\n });\n\n return {\n expiredDeleted,\n consumedDeleted,\n exhaustedBoundedDeleted,\n revokedDeleted,\n totalDeleted,\n durationMs,\n };\n },\n });\n}\n\n// Batch reference identifier lives in the declarative manifest registry\n// (`engine-custom-batch-manifests`); import `CONSUMABLE_TOKENS_CLEANUP_BATCH_REF`\n// from there to keep a single source of truth across runtime wiring, queue\n// dispatch, and specification cross-validation.\n"]}
1
+ {"version":3,"file":"consumable-tokens-cleanup.batch.backend.service.js","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Consumable Tokens Cleanup Batch Job\n *\n * This batch job runs every 6 hours and performs:\n * 1. Hard delete cleanup-eligible expired tokens (past expiresAt)\n * 2. Hard delete cleanup-eligible fully consumed tokens (isConsumed = true)\n * 3. Hard delete cleanup-eligible exhausted BOUNDED_REUSE tokens\n * 4. Hard delete cleanup-eligible revoked tokens older than 7 days\n *\n * Uses the infrastructure tier's bulk `deleteManyForInfrastructure` door for performance at scale.\n *\n * ## ADAPTER-NEUTRAL, and it was not until 2026-09-01\n *\n * `ConsumableTokenBackendService` moved off the native MongoDB collection onto the adapter-neutral\n * repositories plane on 2026-08-25. This batch — the resource's only other database caller — was the\n * one call site that migration missed, and it kept resolving `MongoDBService`, taking\n * `getConnection()` and issuing four raw `collection.deleteMany(...)`.\n *\n * The consequence was invisible for as long as every application ran a mongod BESIDE PostgreSQL:\n * tokens were written to whichever store the resource is bound to, and the sweep reaped them from\n * Mongo. `wonder-crm` — PostgreSQL on both planes, no mongod at all — is the first application where\n * the two disagree, and there the fail-closed throw below fired every six hours from the day it was\n * created, so the framework's only credential-retention sweep had never run: spent password-reset,\n * invitation, email-verification and magic-link rows accumulate with nothing to remove them.\n *\n * `.claude/rules/invariant-call-site-enumeration.md` is the shape — an invariant applied at one of\n * its N sites, where the miss is silent because the surviving site is the one nobody watches.\n *\n * Integration with Queue System:\n * - Registered as a core engine batch in StartApplicationBackendService\n * - Scheduled via crontabs-batches-manager (every 6 hours)\n * - Executed by BatchesCronjobsExecutor_BackendService\n */\n\nimport { BackendResourceType } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\nimport { createCustomBatchExecutionService } from '~wildo-backend-lib/base-classes/services/batches/batches-cronjobs-custom-execution.service';\nimport { ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST } from '~wildo-backend-lib/base-classes/services/batches/engine-custom-batch-manifests';\nimport { projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport { z } from 'zod';\nimport { ConsumableToken_ConsumptionMode } from '@wildo-ai/saas-models';\n\nimport type { ConsumableToken } from '~wildo-backend-lib/security/consumable-tokens/models/consumable-tokens.shared.schemas';\n\n// Input schema (empty for scheduled runs, optional overrides for testing)\nconst ConsumableTokensCleanupInputSchema = z.object({\n /** Override: max age for revoked tokens before hard delete (ms). Default: 7 days */\n revokedRetentionMs: z.number().int().min(0).optional(),\n /** Override: ceiling on the exhausted-BOUNDED_REUSE candidate scan. See its lane below. */\n boundedReuseScanLimit: z.number().int().min(1).optional(),\n});\n\n// Output schema - cleanup statistics\nconst ConsumableTokensCleanupOutputSchema = z.object({\n expiredDeleted: z.number().int().min(0),\n consumedDeleted: z.number().int().min(0),\n exhaustedBoundedDeleted: z.number().int().min(0),\n revokedDeleted: z.number().int().min(0),\n totalDeleted: z.number().int().min(0),\n durationMs: z.number().int().min(0),\n});\n\n// Threshold constants (milliseconds)\nconst SEVEN_DAYS_MS = 7 * 24 * 60 * 60 * 1000;\n\n/**\n * Ceiling on lane 3's candidate read — see that lane for why the read exists at all.\n *\n * The population it scans is \"BOUNDED_REUSE tokens that are live and not flagged consumed\", which by\n * construction is the set of multi-use links an application currently has outstanding, minus the two\n * lanes that ran before it. Exceeding this is not a scale problem to page through; it is a signal\n * that the assumption is wrong, so the lane logs and stops rather than silently reading more.\n */\nconst DEFAULT_BOUNDED_REUSE_SCAN_LIMIT = 5000;\n\n/**\n * Consumable tokens cleanup batch job factory.\n *\n * @returns Custom batch execution service for consumable tokens cleanup\n */\nexport function createConsumableTokensCleanupBatch(): ReturnType<typeof createCustomBatchExecutionService> {\n return createCustomBatchExecutionService({\n input: ConsumableTokensCleanupInputSchema,\n output: ConsumableTokensCleanupOutputSchema,\n batchCronjob_Context: {\n kind: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.kind,\n resourceIdentifier: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.resourceIdentifier,\n operationIdentifier: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.operationIdentifier,\n cronJobExpression: ENGINE_CONSUMABLE_TOKENS_CLEANUP_BATCH_MANIFEST.cronExpression,\n },\n doHandle: async (input, { logger, executionContext, repositoriesRegistry }) => {\n const startTime = Date.now();\n\n /**\n * Retention lanes that threw.\n *\n * The four lanes stay independently guarded on purpose — they are defense-in-depth\n * and partially overlapping, so a later lane can still reclaim rows when an earlier\n * one fails, and that partial progress is worth keeping. What was wrong is that\n * every failure was swallowed into a `warn`: with all four lanes broken the batch\n * still returned `totalDeleted: 0` and logged \"cleanup batch completed\" at INFO.\n *\n * So: keep running, but remember, and fail the batch at the end.\n */\n const failedRetentionLanes: string[] = [];\n const revokedRetentionMs = input.revokedRetentionMs ?? SEVEN_DAYS_MS;\n const boundedReuseScanLimit = input.boundedReuseScanLimit ?? DEFAULT_BOUNDED_REUSE_SCAN_LIMIT;\n const now = new Date();\n\n /**\n * One retention lane: a bulk delete through the infrastructure tier, recorded on failure\n * rather than swallowed.\n *\n * The filter is ADAPTER-NEUTRAL by contract — `$lt`, `$exists`, `$in` and equality are in\n * `SUPPORTED_FILTER_OPERATORS`, so each lane compiles on both arms. The door refuses an empty\n * filter, which is what stops a lane whose predicate came out undefined from emptying the\n * table.\n */\n const runDeleteLane = async (lane: string, filter: Record<string, unknown>): Promise<number> => {\n try {\n return await repositoriesRegistry.deleteManyForInfrastructure(\n BackendResourceType.CONSUMABLE_TOKENS as never,\n filter,\n executionContext,\n );\n } catch (error) {\n failedRetentionLanes.push(lane);\n logger.warn(`Failed to delete ${lane} tokens`, {\n ...projectCaughtErrorLogFields(error),\n });\n return 0;\n }\n };\n\n // NOTE: Steps 1-3 may overlap (e.g., a consumed token that is also expired gets\n // deleted in step 1 so step 2 won't find it). This is intentional — each step is\n // defense-in-depth. The deletedCount accurately reflects what each step actually deleted.\n\n // 1. Delete expired tokens (expiresAt < now)\n const expiredDeleted = await runDeleteLane('expired', { expiresAt: { $lt: now } });\n\n // 2. Delete fully consumed tokens (isConsumed = true)\n const consumedDeleted = await runDeleteLane('consumed', { isConsumed: true });\n\n /**\n * 3. Delete exhausted BOUNDED_REUSE tokens where `usesCount >= maxUses`.\n *\n * Defense-in-depth for the window in which `isConsumed` has not yet been settled:\n * `ConsumableTokenBackendService.consumeToken` derives that flag from the POST-increment row\n * and writes it best-effort, naming this lane as the bound on a failure — so lane 2 above can\n * legitimately miss an exhausted token and this one must find it.\n *\n * **Why this lane READS instead of filtering.** The comparison is column-to-column, which\n * MongoDB expresses as `$expr: { $gte: ['$usesCount', '$maxUses'] }` — an operator in\n * `MONGODB_ONLY_OPERATORS`, so it throws on PostgreSQL. It could not simply be translated\n * either: `maxUses` is a BOUNDED_REUSE *variant* field, which PostgreSQL stores inside the\n * `variantConfig` jsonb rather than as a column, and `usesCount` is a base column. So the row\n * is fetched (where `transformPersistenceRow` has already re-hydrated the variant field to the\n * top level, identically to MongoDB) and the comparison is done here. Exactly the trade\n * `consumeToken` records for the same pair of fields: keep the authoritative behaviour, pay a\n * round trip, refuse to pin the framework to one adapter for a convenience operator.\n *\n * The candidate set is deliberately narrowed to what is still live and unflagged — lanes 1 and\n * 2 have already removed the expired and the flagged — so this is normally a handful of rows.\n * {@link DEFAULT_BOUNDED_REUSE_SCAN_LIMIT} bounds what the lane will PROCESS and says so out\n * loud when it bites; the read itself is unbounded, which is honest rather than ideal — the\n * infrastructure tier has no paginated raw read, and adding one for a lane that should return\n * near-zero rows would be building for a shape we do not have.\n */\n let exhaustedBoundedDeleted = 0;\n try {\n const boundedReuseCandidates = await repositoriesRegistry.findManyForInfrastructure<ConsumableToken>(\n BackendResourceType.CONSUMABLE_TOKENS as never,\n { consumptionMode: ConsumableToken_ConsumptionMode.BOUNDED_REUSE, isConsumed: false },\n executionContext,\n );\n\n if (boundedReuseCandidates.length > boundedReuseScanLimit) {\n logger.warn(\n 'Exhausted-BOUNDED_REUSE lane found more live candidates than expected — processing the '\n + 'scan limit only, and the excess stays until the next run',\n { candidates: boundedReuseCandidates.length, boundedReuseScanLimit },\n );\n }\n\n /**\n * `String(token._id)`, NOT a `typeof … === 'string'` filter.\n *\n * The MongoDB arm returns rows through `document.toObject()`, which leaves `_id` as an\n * ObjectId INSTANCE; the PostgreSQL arm returns a text column. A string-typed guard would\n * therefore drop every candidate on MongoDB and delete nothing — the same \"works on one\n * adapter\" defect this whole change exists to remove, reintroduced one layer down. Coercing\n * is safe in the other direction too: mongoose casts a hex string back to an ObjectId when\n * the `_id` path is one, and leaves it alone when the path is a String. Same idiom as the\n * retention sweep's `String(row._id ?? '')`.\n */\n const exhaustedIds = boundedReuseCandidates\n .slice(0, boundedReuseScanLimit)\n .filter((token) => typeof token.maxUses === 'number' && (token.usesCount ?? 0) >= token.maxUses)\n .map((token) => String(token._id ?? ''))\n .filter((id) => id.length > 0);\n\n // The door refuses an empty filter, and `{ _id: { $in: [] } }` is a filter that matches\n // nothing on one adapter and is a needless statement on the other. Ask nothing when there is\n // nothing to ask.\n if (exhaustedIds.length > 0) {\n exhaustedBoundedDeleted = await runDeleteLane('exhaustedBoundedReuse', { _id: { $in: exhaustedIds } });\n }\n } catch (error) {\n failedRetentionLanes.push('exhaustedBoundedReuse');\n logger.warn('Failed to delete exhausted BOUNDED_REUSE tokens', {\n ...projectCaughtErrorLogFields(error),\n });\n }\n\n // 4. Delete revoked tokens older than retention period\n const revokedCutoff = new Date(now.getTime() - revokedRetentionMs);\n const revokedDeleted = await runDeleteLane('revoked', {\n revokedAt: { $lt: revokedCutoff, $exists: true },\n });\n\n const durationMs = Date.now() - startTime;\n const totalDeleted = expiredDeleted + consumedDeleted + exhaustedBoundedDeleted + revokedDeleted;\n\n if (failedRetentionLanes.length > 0) {\n // Report what DID get reclaimed before failing — the partial progress is real and\n // an operator diagnosing the failure needs it. Logged at error level (not warn)\n // because the batch outcome is a failure, and the per-lane warns above carry only\n // the cause, never the consequence.\n logger.error('Consumable tokens cleanup completed PARTIALLY — failing the batch', {\n failedRetentionLanes,\n expiredDeleted,\n consumedDeleted,\n exhaustedBoundedDeleted,\n revokedDeleted,\n totalDeleted,\n durationMs,\n });\n throw new Error(\n `Consumable tokens cleanup failed for retention lane(s): ${failedRetentionLanes.join(', ')}`,\n );\n }\n\n logger.info('Consumable tokens cleanup batch completed', {\n expiredDeleted,\n consumedDeleted,\n exhaustedBoundedDeleted,\n revokedDeleted,\n totalDeleted,\n durationMs,\n });\n\n return {\n expiredDeleted,\n consumedDeleted,\n exhaustedBoundedDeleted,\n revokedDeleted,\n totalDeleted,\n durationMs,\n };\n },\n });\n}\n\n// Batch reference identifier lives in the declarative manifest registry\n// (`engine-custom-batch-manifests`); import `CONSUMABLE_TOKENS_CLEANUP_BATCH_REF`\n// from there to keep a single source of truth across runtime wiring, queue\n// dispatch, and specification cross-validation.\n"]}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `@wildo-ai/saas-backend-lib/consumable-token-models` — the consumable-token MODEL surface for
3
+ * consumers that must not drag the full backend lib into their module graph.
4
+ *
5
+ * The third of its shape, and the argument is the same one `data-seeding-models` and
6
+ * `external-data-models` already make: `consumableTokens` is a `BackendResourceType`, so the
7
+ * specifications package authoring its resource specification needs the schema, the factory and the
8
+ * consumption-mode vocabulary — and reaching them through the package ROOT would pull the entire
9
+ * backend library (services, inversify, external connectors) into a package whose whole job is to
10
+ * describe contracts.
11
+ *
12
+ * The closure here is deliberately small: zod, `@wildo-ai/zod-decorators`, `@wildo-ai/saas-models`,
13
+ * and these two modules. Nothing service-tier.
14
+ *
15
+ * Note the schema module is ALSO re-exported from the package root (`index.ts`), for the backend's
16
+ * own service-tier consumers. That is not an overlap of doors onto the same room in the sense the
17
+ * entrypoint rule forbids — it is the same module reachable from a heavy surface and a light one,
18
+ * which is precisely the distinction these `*-models` entrypoints exist to draw.
19
+ */
20
+ export * from './models/consumable-tokens.shared.schemas';
21
+ export * from './models/consumable-tokens.backend.resources-config.schemas';
22
+ //# sourceMappingURL=consumable-token-models.exports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumable-token-models.exports.d.ts","sourceRoot":"","sources":["../../../../../src/security/consumable-tokens/consumable-token-models.exports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6DAA6D,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * `@wildo-ai/saas-backend-lib/consumable-token-models` — the consumable-token MODEL surface for
3
+ * consumers that must not drag the full backend lib into their module graph.
4
+ *
5
+ * The third of its shape, and the argument is the same one `data-seeding-models` and
6
+ * `external-data-models` already make: `consumableTokens` is a `BackendResourceType`, so the
7
+ * specifications package authoring its resource specification needs the schema, the factory and the
8
+ * consumption-mode vocabulary — and reaching them through the package ROOT would pull the entire
9
+ * backend library (services, inversify, external connectors) into a package whose whole job is to
10
+ * describe contracts.
11
+ *
12
+ * The closure here is deliberately small: zod, `@wildo-ai/zod-decorators`, `@wildo-ai/saas-models`,
13
+ * and these two modules. Nothing service-tier.
14
+ *
15
+ * Note the schema module is ALSO re-exported from the package root (`index.ts`), for the backend's
16
+ * own service-tier consumers. That is not an overlap of doors onto the same room in the sense the
17
+ * entrypoint rule forbids — it is the same module reachable from a heavy surface and a light one,
18
+ * which is precisely the distinction these `*-models` entrypoints exist to draw.
19
+ */
20
+ export * from './models/consumable-tokens.shared.schemas.js';
21
+ export * from './models/consumable-tokens.backend.resources-config.schemas.js';
22
+ //# sourceMappingURL=consumable-token-models.exports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumable-token-models.exports.js","sourceRoot":"","sources":["../../../../../src/security/consumable-tokens/consumable-token-models.exports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6DAA6D,CAAC","sourcesContent":["/**\n * `@wildo-ai/saas-backend-lib/consumable-token-models` — the consumable-token MODEL surface for\n * consumers that must not drag the full backend lib into their module graph.\n *\n * The third of its shape, and the argument is the same one `data-seeding-models` and\n * `external-data-models` already make: `consumableTokens` is a `BackendResourceType`, so the\n * specifications package authoring its resource specification needs the schema, the factory and the\n * consumption-mode vocabulary — and reaching them through the package ROOT would pull the entire\n * backend library (services, inversify, external connectors) into a package whose whole job is to\n * describe contracts.\n *\n * The closure here is deliberately small: zod, `@wildo-ai/zod-decorators`, `@wildo-ai/saas-models`,\n * and these two modules. Nothing service-tier.\n *\n * Note the schema module is ALSO re-exported from the package root (`index.ts`), for the backend's\n * own service-tier consumers. That is not an overlap of doors onto the same room in the sense the\n * entrypoint rule forbids — it is the same module reachable from a heavy surface and a light one,\n * which is precisely the distinction these `*-models` entrypoints exist to draw.\n */\nexport * from './models/consumable-tokens.shared.schemas';\nexport * from './models/consumable-tokens.backend.resources-config.schemas';\n"]}
@@ -1,4 +1,18 @@
1
- import { ResourceRelationship } from '@wildo-ai/saas-models';
2
- import { createResourceConfiguration_Initialization } from '@wildo-ai/saas-models';
3
- export declare const consumableTokens_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => ReturnType<typeof createResourceConfiguration_Initialization>;
1
+ import { CoreResourceOperation, ResourceConfiguration, ResourceRelationship } from '@wildo-ai/saas-models';
2
+ import { ConsumableTokenSchemaBase } from './consumable-tokens.shared.schemas';
3
+ type ConsumableTokens_CoreOperations = CoreResourceOperation.READ | CoreResourceOperation.LIST | CoreResourceOperation.CREATE | CoreResourceOperation.DELETE;
4
+ /**
5
+ * The return type is stated PRECISELY, not as `ReturnType<typeof createResourceConfiguration_Initialization>`.
6
+ *
7
+ * That erased form was what this declared until 2026-08-31, and it discards the resource's identity at
8
+ * its own public surface: `createResourceConfiguration_Initialization` is generic, so `ReturnType<>`
9
+ * of the unapplied function resolves its parameters to their constraints and the schema is gone. The
10
+ * consequence is invisible here and fatal one package away — `resourceSpecification(factory, schema,
11
+ * …)` infers `TSchema` from BOTH arguments, so the erased factory dragged the inference down to
12
+ * `ZodType<unknown>` and every `schemaShape.<field>.stringSpec(...)` in the specification failed to
13
+ * resolve. Its two sibling backend resources (`dataSeedRuns`, `etlPipelineStates`) both declare the
14
+ * precise form, which is why they were specifiable and this one was not.
15
+ */
16
+ export declare const consumableTokens_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => ResourceConfiguration<undefined, ConsumableTokens_CoreOperations, typeof ConsumableTokenSchemaBase>;
17
+ export {};
4
18
  //# sourceMappingURL=consumable-tokens.backend.resources-config.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumable-tokens.backend.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,0CAA0C,EAAE,MAAM,uBAAuB,CAAC;AAYnF,eAAO,MAAM,4DAA4D,GAAI,wBAAwB,oBAAoB,EAAE,KAAG,UAAU,CAAC,OAAO,0CAA0C,CA0EzL,CAAC"}
1
+ {"version":3,"file":"consumable-tokens.backend.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAM3G,OAAO,EAAyB,yBAAyB,EAAoC,MAAM,oCAAoC,CAAC;AAExI,KAAK,+BAA+B,GAChC,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAEjC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4DAA4D,GACvE,wBAAwB,oBAAoB,EAAE,KAC7C,qBAAqB,CAAC,SAAS,EAAE,+BAA+B,EAAE,OAAO,yBAAyB,CA0EpG,CAAC"}
@@ -4,6 +4,18 @@ import { createResourceConfiguration_Initialization } from '@wildo-ai/saas-model
4
4
  import { CORE_ORG_ROLES } from '@wildo-ai/saas-models';
5
5
  import { BackendResourceType, BackendResourceFieldIdentifier } from '../../../resources/models/resources-types.backend.schemas.js';
6
6
  import { ConsumableTokenSchemaBase, ConsumableTokenSchemaInheritance } from './consumable-tokens.shared.schemas.js';
7
+ /**
8
+ * The return type is stated PRECISELY, not as `ReturnType<typeof createResourceConfiguration_Initialization>`.
9
+ *
10
+ * That erased form was what this declared until 2026-08-31, and it discards the resource's identity at
11
+ * its own public surface: `createResourceConfiguration_Initialization` is generic, so `ReturnType<>`
12
+ * of the unapplied function resolves its parameters to their constraints and the schema is gone. The
13
+ * consequence is invisible here and fatal one package away — `resourceSpecification(factory, schema,
14
+ * …)` infers `TSchema` from BOTH arguments, so the erased factory dragged the inference down to
15
+ * `ZodType<unknown>` and every `schemaShape.<field>.stringSpec(...)` in the specification failed to
16
+ * resolve. Its two sibling backend resources (`dataSeedRuns`, `etlPipelineStates`) both declare the
17
+ * precise form, which is why they were specifiable and this one was not.
18
+ */
7
19
  export const consumableTokens_ResourceConfiguration_InitializationFactory = (resourcesRelationships) => {
8
20
  return createResourceConfiguration_Initialization({
9
21
  mainSchema: ConsumableTokenSchemaBase,
@@ -1 +1 @@
1
- {"version":3,"file":"consumable-tokens.backend.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAwB,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,qEAAqE,CAAC;AAE1I,OAAO,EAAyB,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAQxI,MAAM,CAAC,MAAM,4DAA4D,GAAG,CAAC,sBAA8C,EAAiE,EAAE;IAE5L,OAAO,0CAA0C,CAI/C;QACA,UAAU,EAAE,yBAAyB;QACrC,2BAA2B,EAAE,gCAAgC;QAC7D,kBAAkB,EAAE,mBAAmB,CAAC,iBAAiB;QACzD,uBAAuB,EAAE,8BAA8B,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QAC9F,qBAAqB,EAAE,sBAAsB;QAC7C,gBAAgB,EAAE,IAAI,EAAE,mCAAmC;QAE3D,cAAc,EAAE;YACd,qBAAqB,CAAC,IAAI;YAC1B,qBAAqB,CAAC,IAAI;YAC1B,qBAAqB,CAAC,MAAM;YAC5B,qBAAqB,CAAC,MAAM;SAC7B;QAED,uBAAuB,EAAE;YACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBAC9B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,+BAA+B;wBAClE,SAAS,EAAE,0BAA0B,CAAC,MAAM;wBAC5C,UAAU,EAAE,yBAAyB,CAAC,IAAI,CAAC;4BACzC,GAAG,EAAE,IAAI;4BACT,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,UAAU,EAAE,IAAI,EAAE,oBAAoB;4BACtC,SAAS,EAAE,IAAI,EAAE,gBAAgB;yBAClC,CAAC;qBACH;iBACF;aACF;YAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;gBAC5B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBACjC,SAAS,EAAE,0BAA0B,CAAC,GAAG;qBAC1C;iBACF;aACF;YAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;gBAC5B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBACjC,SAAS,EAAE,0BAA0B,CAAC,GAAG;qBAC1C;iBACF;aACF;YAED,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBAC9B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBACjC,SAAS,EAAE,0BAA0B,CAAC,GAAG;qBAC1C;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { CoreResourceOperation, ResourceRelationship } from '@wildo-ai/saas-models';\nimport { ResourceOperationVariantType, ResourceOperationRiskLevel } from '@wildo-ai/saas-models';\nimport { createResourceConfiguration_Initialization } from '@wildo-ai/saas-models';\nimport { CORE_ORG_ROLES } from '@wildo-ai/saas-models';\nimport { BackendResourceType, BackendResourceFieldIdentifier } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\n\nimport { ConsumableTokenSchema, ConsumableTokenSchemaBase, ConsumableTokenSchemaInheritance } from './consumable-tokens.shared.schemas';\n\ntype ConsumableTokens_CoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.DELETE;\n\nexport const consumableTokens_ResourceConfiguration_InitializationFactory = (resourcesRelationships: ResourceRelationship[]): ReturnType<typeof createResourceConfiguration_Initialization> => {\n\n return createResourceConfiguration_Initialization<\n undefined,\n ConsumableTokens_CoreOperations,\n typeof ConsumableTokenSchemaBase\n >({\n mainSchema: ConsumableTokenSchemaBase,\n inheritenceSchemaDefinition: ConsumableTokenSchemaInheritance,\n resourceIdentifier: BackendResourceType.CONSUMABLE_TOKENS,\n resourceFieldIdentifier: BackendResourceFieldIdentifier[BackendResourceType.CONSUMABLE_TOKENS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Backend infrastructure component\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.DELETE,\n ],\n\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only admin can create tokens\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n requestDto: ConsumableTokenSchemaBase.omit({\n _id: true,\n createdAt: true,\n updatedAt: true,\n isConsumed: true, // Auto-set to false\n usesCount: true, // Auto-set to 0\n }),\n }\n ],\n },\n\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n },\n });\n};\n\n"]}
1
+ {"version":3,"file":"consumable-tokens.backend.resources-config.schemas.js","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAA+C,MAAM,uBAAuB,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,MAAM,qEAAqE,CAAC;AAE1I,OAAO,EAAyB,yBAAyB,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAQxI;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,4DAA4D,GAAG,CAC1E,sBAA8C,EACuD,EAAE;IAEvG,OAAO,0CAA0C,CAI/C;QACA,UAAU,EAAE,yBAAyB;QACrC,2BAA2B,EAAE,gCAAgC;QAC7D,kBAAkB,EAAE,mBAAmB,CAAC,iBAAiB;QACzD,uBAAuB,EAAE,8BAA8B,CAAC,mBAAmB,CAAC,iBAAiB,CAAC;QAC9F,qBAAqB,EAAE,sBAAsB;QAC7C,gBAAgB,EAAE,IAAI,EAAE,mCAAmC;QAE3D,cAAc,EAAE;YACd,qBAAqB,CAAC,IAAI;YAC1B,qBAAqB,CAAC,IAAI;YAC1B,qBAAqB,CAAC,MAAM;YAC5B,qBAAqB,CAAC,MAAM;SAC7B;QAED,uBAAuB,EAAE;YACvB,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBAC9B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,+BAA+B;wBAClE,SAAS,EAAE,0BAA0B,CAAC,MAAM;wBAC5C,UAAU,EAAE,yBAAyB,CAAC,IAAI,CAAC;4BACzC,GAAG,EAAE,IAAI;4BACT,SAAS,EAAE,IAAI;4BACf,SAAS,EAAE,IAAI;4BACf,UAAU,EAAE,IAAI,EAAE,oBAAoB;4BACtC,SAAS,EAAE,IAAI,EAAE,gBAAgB;yBAClC,CAAC;qBACH;iBACF;aACF;YAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;gBAC5B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBACjC,SAAS,EAAE,0BAA0B,CAAC,GAAG;qBAC1C;iBACF;aACF;YAED,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;gBAC5B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBACjC,SAAS,EAAE,0BAA0B,CAAC,GAAG;qBAC1C;iBACF;aACF;YAED,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;gBAC9B,QAAQ,EAAE;oBACR;wBACE,WAAW,EAAE,4BAA4B,CAAC,aAAa;wBACvD,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC;wBACjC,SAAS,EAAE,0BAA0B,CAAC,GAAG;qBAC1C;iBACF;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { CoreResourceOperation, ResourceConfiguration, ResourceRelationship } from '@wildo-ai/saas-models';\nimport { ResourceOperationVariantType, ResourceOperationRiskLevel } from '@wildo-ai/saas-models';\nimport { createResourceConfiguration_Initialization } from '@wildo-ai/saas-models';\nimport { CORE_ORG_ROLES } from '@wildo-ai/saas-models';\nimport { BackendResourceType, BackendResourceFieldIdentifier } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\n\nimport { ConsumableTokenSchema, ConsumableTokenSchemaBase, ConsumableTokenSchemaInheritance } from './consumable-tokens.shared.schemas';\n\ntype ConsumableTokens_CoreOperations =\n | CoreResourceOperation.READ\n | CoreResourceOperation.LIST\n | CoreResourceOperation.CREATE\n | CoreResourceOperation.DELETE;\n\n/**\n * The return type is stated PRECISELY, not as `ReturnType<typeof createResourceConfiguration_Initialization>`.\n *\n * That erased form was what this declared until 2026-08-31, and it discards the resource's identity at\n * its own public surface: `createResourceConfiguration_Initialization` is generic, so `ReturnType<>`\n * of the unapplied function resolves its parameters to their constraints and the schema is gone. The\n * consequence is invisible here and fatal one package away — `resourceSpecification(factory, schema,\n * …)` infers `TSchema` from BOTH arguments, so the erased factory dragged the inference down to\n * `ZodType<unknown>` and every `schemaShape.<field>.stringSpec(...)` in the specification failed to\n * resolve. Its two sibling backend resources (`dataSeedRuns`, `etlPipelineStates`) both declare the\n * precise form, which is why they were specifiable and this one was not.\n */\nexport const consumableTokens_ResourceConfiguration_InitializationFactory = (\n resourcesRelationships: ResourceRelationship[],\n): ResourceConfiguration<undefined, ConsumableTokens_CoreOperations, typeof ConsumableTokenSchemaBase> => {\n\n return createResourceConfiguration_Initialization<\n undefined,\n ConsumableTokens_CoreOperations,\n typeof ConsumableTokenSchemaBase\n >({\n mainSchema: ConsumableTokenSchemaBase,\n inheritenceSchemaDefinition: ConsumableTokenSchemaInheritance,\n resourceIdentifier: BackendResourceType.CONSUMABLE_TOKENS,\n resourceFieldIdentifier: BackendResourceFieldIdentifier[BackendResourceType.CONSUMABLE_TOKENS],\n resourceRelationships: resourcesRelationships,\n isSystemResource: true, // Backend infrastructure component\n\n coreOperations: [\n CoreResourceOperation.READ,\n CoreResourceOperation.LIST,\n CoreResourceOperation.CREATE,\n CoreResourceOperation.DELETE,\n ],\n\n operationsConfiguration: {\n [CoreResourceOperation.CREATE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN], // Only admin can create tokens\n riskLevel: ResourceOperationRiskLevel.MEDIUM,\n requestDto: ConsumableTokenSchemaBase.omit({\n _id: true,\n createdAt: true,\n updatedAt: true,\n isConsumed: true, // Auto-set to false\n usesCount: true, // Auto-set to 0\n }),\n }\n ],\n },\n\n [CoreResourceOperation.READ]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.LIST]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n\n [CoreResourceOperation.DELETE]: {\n variants: [\n {\n variantType: ResourceOperationVariantType.INTERNAL_CALL,\n isDefault: true,\n roles: [CORE_ORG_ROLES.ORG_ADMIN],\n riskLevel: ResourceOperationRiskLevel.LOW,\n }\n ]\n },\n },\n });\n};\n\n"]}
@@ -140,6 +140,14 @@ export declare class ConsumableTokenBackendService {
140
140
  * `tokenId` is guarded by the same non-string check as every other primitive here (`{ _id }` reaches
141
141
  * Mongo directly, so a `{$ne}`-shaped value would otherwise match an ARBITRARY token).
142
142
  */
143
+ /**
144
+ * Read a token row by its VALUE regardless of state — expired, consumed and revoked rows included.
145
+ *
146
+ * For status surfaces that must say WHY a token is unusable (`validateToken` refuses those rows, which
147
+ * is right for authentication and wrong for a status read). Callers hold the value already, so this
148
+ * discloses nothing they could not learn by presenting it. Never logs the value (R2).
149
+ */
150
+ findTokenByValue(tokenValue: string): Promise<ConsumableToken | null>;
143
151
  findTokenById(tokenId: string): Promise<ConsumableToken | null>;
144
152
  /**
145
153
  * Soft-revoke a token by setting revokedAt.
@@ -152,6 +160,18 @@ export declare class ConsumableTokenBackendService {
152
160
  * and never write a duplicate row under a race. Returns whether THIS call performed the revocation
153
161
  * (`false` = the token was already revoked, or does not exist).
154
162
  */
163
+ /**
164
+ * Record, on a redeemed FILE_UPLOAD_GRANT, the file its one upload produced (issue #312, D6/D10).
165
+ *
166
+ * Written AFTER the grant is consumed and the FILES row exists, so there is exactly one writer and
167
+ * a plain replace of `metadata` is safe. Best-effort by contract: the upload has already succeeded
168
+ * when this runs, so a failure here must not fail it — the caller logs and the status read falls
169
+ * back to "REDEEMED, file unknown; re-read the resource". Returns whether a row was written.
170
+ *
171
+ * Replaces the whole `metadata` object rather than a dotted path so the write is adapter-neutral:
172
+ * the PostgreSQL arm stores `metadata` as one JSON column.
173
+ */
174
+ recordFileUploadGrantProducedFile(tokenId: string, fileId: string): Promise<boolean>;
155
175
  revokeToken(tokenId: string): Promise<boolean>;
156
176
  /**
157
177
  * Revoke all tokens matching a relatedId and optionally a token type.
@@ -238,9 +258,27 @@ export declare class ConsumableTokenBackendService {
238
258
  */
239
259
  private getMongoSession;
240
260
  /**
241
- * Match only the sparse active-generation index. `createToken` also writes
242
- * other unique fields (notably the raw token), and collapsing their failures
243
- * into a RESEND race would hide an unrelated persistence defect.
261
+ * Match only the sparse active-generation index. `createToken` also writes other unique fields
262
+ * (notably the raw token), and collapsing their failures into a RESEND race would hide an
263
+ * unrelated persistence defect.
264
+ *
265
+ * ## Branches on the CLASSIFIED conflict, never on driver internals
266
+ *
267
+ * This used to require a raw MongoDB error with `code: 11000` and a `keyPattern`, and could
268
+ * therefore never fire. `insertRawDocument` translates the duplicate before it escapes —
269
+ * `throw this.handleMongoDBError(error)` on the Mongo arm, `handlePostgresError` on the
270
+ * PostgreSQL one — so what reaches this catch is the classified CONFLICT, carrying no `code` and
271
+ * no `keyPattern`. The RESEND race surfaced as a generic CONFLICT and the specific
272
+ * `consumable_token_active_generation_conflict` reference was unreachable through the real stack.
273
+ *
274
+ * The infrastructure tier's own comment says why detecting on driver internals was the wrong
275
+ * shape in the first place: without the translation "every caller would need adapter-specific
276
+ * detection, which is precisely what this tier exists to remove". On PostgreSQL there is no
277
+ * `code: 11000` to match at ALL — a unique violation is SQLSTATE `23505` — so the old predicate
278
+ * was not merely unreachable, it was unwritable for the adapter both example applications now run.
279
+ *
280
+ * `violatedFields` is the adapter-neutral answer both arms populate: Mongo from `keyPattern`
281
+ * (falling back to the message), PostgreSQL from the constraint's columns.
244
282
  */
245
283
  private isActiveGenerationKeyDuplicate;
246
284
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"consumable-token.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/services/consumable-token.backend.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumable-token.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/security/consumable-tokens/services/consumable-token.backend.service.ts"],"names":[],"mappings":"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"}