@wildo-ai/saas-backend-lib 1.1.2 → 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 (853) 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.map +1 -1
  20. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +27 -6
  21. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  22. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
  23. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  24. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
  25. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  26. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
  27. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  28. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
  29. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  30. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +47 -4
  31. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  32. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +96 -29
  33. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  34. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
  35. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
  36. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
  37. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
  38. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
  39. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  40. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
  41. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  42. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +9 -1
  44. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  45. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +49 -0
  46. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  47. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +171 -18
  48. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  49. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  50. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +23 -3
  51. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  52. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  53. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +20 -0
  54. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  55. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
  56. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  57. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  58. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  59. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
  60. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  61. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
  62. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  63. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
  64. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  65. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
  66. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +529 -41
  68. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  69. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
  70. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  71. package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
  72. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  73. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
  74. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
  75. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
  76. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
  77. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
  78. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
  79. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
  80. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
  81. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
  82. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
  83. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
  84. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
  85. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
  86. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
  87. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
  88. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
  89. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
  90. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  91. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
  92. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  93. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
  94. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  95. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
  96. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  97. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
  98. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
  99. package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
  100. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
  101. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
  102. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  103. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
  104. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  105. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  106. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +48 -7
  107. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  108. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
  109. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  110. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
  111. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  112. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
  113. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  114. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
  115. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  116. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
  117. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  118. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
  119. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  120. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  121. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
  122. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  123. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
  124. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  125. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
  126. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  127. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
  128. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
  129. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
  130. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
  131. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
  132. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  133. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
  134. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  135. package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
  136. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  137. package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
  138. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  139. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
  140. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  141. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +225 -13
  142. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  143. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +340 -62
  144. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  145. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +244 -7
  146. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  147. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +386 -5
  148. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  149. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  150. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
  151. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  152. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +6 -2
  153. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  154. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +31 -9
  155. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
  156. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
  157. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  158. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +57 -1
  159. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  160. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
  161. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
  162. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
  163. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
  164. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  165. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +31 -0
  166. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  167. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
  168. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  169. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
  170. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  171. package/dist/esm/config/models/app-config.backend.schemas.d.ts +142 -46
  172. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  173. package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
  174. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  175. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
  176. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  177. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
  178. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  179. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
  180. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  181. package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
  182. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  183. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  184. package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
  185. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  186. package/dist/esm/config/services/app-configuration.backend.utils.d.ts +33 -0
  187. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  188. package/dist/esm/config/services/app-configuration.backend.utils.js +39 -1
  189. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  190. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
  191. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  192. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
  193. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  194. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  195. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
  196. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  197. package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
  198. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  199. package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
  200. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  201. package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
  202. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  203. package/dist/esm/errors/services/error-handler.backend.service.js +129 -8
  204. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  205. package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
  206. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  207. package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
  208. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  209. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
  210. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  211. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
  212. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  213. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
  214. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  215. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
  216. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  217. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +59 -2
  218. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  219. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +52 -17
  220. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  221. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
  222. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  223. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  224. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
  225. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
  226. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
  227. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
  228. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
  229. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
  230. package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
  231. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
  232. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
  233. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
  234. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
  235. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
  236. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
  237. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
  238. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
  239. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
  240. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
  241. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  242. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
  243. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  244. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
  245. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
  246. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
  247. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
  248. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
  249. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  250. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
  251. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  252. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  253. package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
  254. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  255. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  256. package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
  257. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  258. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +292 -7
  259. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  260. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +533 -45
  261. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  262. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  263. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
  264. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  265. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  266. package/dist/esm/files/controllers/file.controller.js +21 -13
  267. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  268. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  269. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +39 -15
  270. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  271. package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
  272. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  273. package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
  274. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  275. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
  276. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  277. package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
  278. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  279. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +53 -2
  280. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
  281. package/dist/esm/files/services/file-upload-grant.backend.service.js +127 -3
  282. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
  283. package/dist/esm/files/services/files.backend.service.d.ts +68 -0
  284. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  285. package/dist/esm/files/services/files.backend.service.js +175 -5
  286. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  287. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
  288. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
  289. package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
  290. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
  291. package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
  292. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  293. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  294. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
  295. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  296. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
  297. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  298. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  299. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
  300. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  301. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  302. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
  303. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  304. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
  305. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
  306. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
  307. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
  308. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
  309. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  310. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
  311. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  312. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  313. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
  314. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  315. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
  316. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  317. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
  318. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  319. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
  320. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  321. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +196 -40
  322. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  323. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
  324. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  325. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
  326. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  327. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
  328. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  329. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
  330. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  331. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
  332. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  333. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  334. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
  335. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  336. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
  337. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  338. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
  339. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  340. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
  341. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  342. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
  343. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  344. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  345. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
  346. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  347. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
  348. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  349. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  350. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
  351. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  352. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
  353. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
  354. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
  355. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
  356. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  357. package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
  358. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  359. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +28 -1
  360. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  361. package/dist/esm/flows-actors/services/agents.backend.service.js +204 -18
  362. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  363. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
  364. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  365. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
  366. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  367. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
  368. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  369. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
  370. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  371. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  372. package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
  373. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  374. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  375. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
  376. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  377. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
  378. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
  379. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
  380. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
  381. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
  382. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  383. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
  384. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  385. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  386. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +8 -4
  387. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  388. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
  389. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  390. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
  391. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  392. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  393. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  394. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
  395. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  396. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
  397. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  398. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
  399. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
  400. package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
  401. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
  402. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
  403. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  404. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
  405. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  406. package/dist/esm/index.d.ts +11 -4
  407. package/dist/esm/index.d.ts.map +1 -1
  408. package/dist/esm/index.js +31 -4
  409. package/dist/esm/index.js.map +1 -1
  410. package/dist/esm/inject/models/container.d.ts.map +1 -1
  411. package/dist/esm/inject/models/container.js +78 -10
  412. package/dist/esm/inject/models/container.js.map +1 -1
  413. package/dist/esm/inject/models/service-types.d.ts +17 -3
  414. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  415. package/dist/esm/inject/models/service-types.js +19 -3
  416. package/dist/esm/inject/models/service-types.js.map +1 -1
  417. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  418. package/dist/esm/mcp/controllers/mcp.controller.js +20 -0
  419. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  420. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +56 -1
  421. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  422. package/dist/esm/mcp/services/mcp-server.backend.service.js +107 -11
  423. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  424. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  425. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +22 -0
  426. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  427. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  428. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
  429. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  430. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
  431. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
  432. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
  433. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
  434. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
  435. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  436. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
  437. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  438. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
  439. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  440. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  441. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
  442. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  443. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
  444. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  445. package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
  446. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  447. package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
  448. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  449. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
  450. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
  451. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
  452. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
  453. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
  454. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
  455. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
  456. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
  457. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
  458. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  459. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  460. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
  461. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  462. package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
  463. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  464. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
  465. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
  466. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
  467. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
  468. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
  469. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
  470. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
  471. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
  472. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
  473. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
  474. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
  475. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
  476. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
  477. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  478. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
  479. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  480. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
  481. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
  482. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
  483. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
  484. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  485. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
  486. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  487. package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
  488. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  489. package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
  490. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  491. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
  492. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  493. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  494. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
  495. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  496. package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
  497. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  498. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +99 -13
  499. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  500. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +422 -66
  501. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  502. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
  503. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  504. package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
  505. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  506. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
  507. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  508. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
  509. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  510. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
  511. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  512. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +46 -1
  513. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  514. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  515. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +16 -6
  516. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  517. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  518. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +12 -12
  519. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  520. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
  521. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  522. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
  523. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  524. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
  525. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
  526. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  527. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  528. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
  529. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  530. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
  531. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
  532. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
  533. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
  534. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
  535. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
  536. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
  537. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
  538. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
  539. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
  540. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
  541. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
  542. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
  543. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
  544. package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
  545. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
  546. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
  547. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  548. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
  549. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  550. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
  551. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  552. package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
  553. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  554. package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
  555. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  556. package/dist/esm/queue/job-consumer.backend.service.js +1 -4
  557. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  558. package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
  559. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  560. package/dist/esm/queue/job-executor.backend.service.js +1 -4
  561. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  562. package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
  563. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  564. package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
  565. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  566. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
  567. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  568. package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
  569. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  570. package/dist/esm/queue/queue.backend.service.d.ts +3 -3
  571. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  572. package/dist/esm/queue/queue.backend.service.js +26 -4
  573. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  574. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
  575. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  576. package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
  577. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  578. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
  579. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  580. package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
  581. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  582. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
  583. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  584. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
  585. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  586. package/dist/esm/requests/service/websocket.service.d.ts +9 -0
  587. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  588. package/dist/esm/requests/service/websocket.service.js +32 -8
  589. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  590. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  591. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +14 -2
  592. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  593. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  594. package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
  595. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  596. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  597. package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
  598. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  599. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
  600. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  601. package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
  602. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  603. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
  604. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  605. package/dist/esm/resources/services/resources-registry.backend.service.js +90 -6
  606. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  607. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
  608. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  609. package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
  610. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  611. package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
  612. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  613. package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
  614. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  615. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
  616. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  617. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  618. package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
  619. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  620. package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
  621. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  622. package/dist/esm/runtime/services/start-application.backend.service.d.ts +19 -1
  623. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  624. package/dist/esm/runtime/services/start-application.backend.service.js +261 -77
  625. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  626. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
  627. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  628. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
  629. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  630. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
  631. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  632. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
  633. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  634. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  635. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
  636. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  637. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
  638. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  639. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
  640. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  641. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
  642. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  643. package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
  644. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  645. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
  646. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  647. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  648. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
  649. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  650. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
  651. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  652. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
  653. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  654. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
  655. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  656. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
  657. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  658. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
  659. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  660. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
  661. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  662. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
  663. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  664. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
  665. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  666. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
  667. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  668. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  669. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +68 -1
  670. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  671. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
  672. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  673. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
  674. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  675. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  676. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
  677. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  678. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  679. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
  680. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  681. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
  682. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  683. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
  684. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  685. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +17 -1
  686. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  687. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +49 -17
  688. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  689. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
  690. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  691. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
  692. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  693. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
  694. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  695. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
  696. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  697. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  698. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
  699. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  700. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
  701. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
  702. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
  703. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
  704. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
  705. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  706. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
  707. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  708. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
  709. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  710. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
  711. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  712. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
  713. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  714. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
  715. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  716. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  717. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
  718. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  719. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  720. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
  721. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  722. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
  723. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  724. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
  725. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  726. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
  727. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  728. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
  729. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  730. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
  731. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
  732. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
  733. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
  734. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
  735. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  736. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
  737. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  738. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  739. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
  740. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  741. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
  742. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  743. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
  744. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  745. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
  746. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
  747. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
  748. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
  749. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
  750. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  751. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
  752. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  753. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +74 -8
  754. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  755. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +175 -19
  756. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  757. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
  758. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  759. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
  760. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  761. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
  762. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
  763. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
  764. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
  765. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
  766. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
  767. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
  768. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
  769. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
  770. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
  771. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
  772. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
  773. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
  774. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
  775. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
  776. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
  777. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
  778. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
  779. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
  780. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
  781. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
  782. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  783. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
  784. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
  785. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
  786. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
  787. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
  788. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
  789. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
  790. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
  791. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
  792. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
  793. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
  794. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
  795. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
  796. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
  797. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
  798. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
  799. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
  800. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
  801. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
  802. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  803. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
  804. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
  805. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
  806. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
  807. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
  808. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
  809. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
  810. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
  811. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
  812. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
  813. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
  814. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
  815. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
  816. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
  817. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +21 -3
  818. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  819. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +26 -16
  820. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  821. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
  822. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  823. package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
  824. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  825. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
  826. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  827. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
  828. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  829. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
  830. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  831. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
  832. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  833. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  834. package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
  835. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  836. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
  837. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  838. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
  839. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  840. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
  841. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  842. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
  843. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  844. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
  845. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
  846. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
  847. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
  848. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
  849. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
  850. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
  851. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
  852. package/dist/tsconfig.build.tsbuildinfo +1 -1
  853. package/package.json +11 -9
@@ -10,19 +10,38 @@ import { z } from 'zod';
10
10
  export interface PerformanceTimer {
11
11
  end(context?: Record<string, unknown>): void;
12
12
  }
13
+ /** ──────────────────────────────────────────────────────────────
14
+ * Internal Schema with z.ZodObject type annotation
15
+ *
16
+ * ✅ Preserves all ZodObject methods (.extend, .partial, .omit, .pick, .shape)
17
+ * ✅ Compatible with isolatedDeclarations: true (OXC)
18
+ * ────────────────────────────────────────────────────────────── */
19
+ /**
20
+ * EVERY member here is READ. That is the contract this schema lost and has regained.
21
+ *
22
+ * It used to declare five more — `enableConsole`, `enableFile`, `enableDatabase`,
23
+ * `format` and `metadata` — that no code path could select. Each was removed for its
24
+ * own reason, recorded so none is reintroduced as an obvious gap:
25
+ *
26
+ * - `enableFile` / `enableDatabase` are REDUNDANT, not missing. `otel-preload` fans
27
+ * every Pino record out to stdout AND an OTLP collector through the
28
+ * `instrumentation-pino` bridge whenever `OBSERVABILITY_TELEMETRY` is selected, and a
29
+ * container platform collects stdout regardless. A database sink would additionally
30
+ * put log writes on the very datastore whose failure you are diagnosing.
31
+ * - `format` was a SECOND, dead authority for a decision made elsewhere: pretty-vs-JSON
32
+ * is `usePrettyConsole` in `logger.service.ts`, from `LOG_FORMATTED_CONSOLE_ERRORS`
33
+ * and the environment. Keeping it invited `format: 'pretty'` and no effect.
34
+ * - `enableConsole` could not be honoured. The console is what `docker logs` reads and
35
+ * what the OTLP bridge WRAPS, so `false` would have to be refused rather than obeyed.
36
+ * - `metadata` is superseded by pino's `base` (service, environment, hostname, pid) and
37
+ * by the `mixin` that stamps `correlationId` on every record inside a request.
38
+ *
39
+ * Decided on issue #437 after measuring what OpenTelemetry already carries.
40
+ */
13
41
  export declare const LoggerConfigurationSchema: z.ZodObject<{
14
42
  level: z.ZodDefault<z.ZodEnum<typeof LogLevel>>;
15
43
  environment: z.ZodDefault<z.ZodEnum<typeof RuntimeEnvironment>>;
16
44
  service: z.ZodDefault<z.ZodString>;
17
- enableConsole: z.ZodDefault<z.ZodBoolean>;
18
- enableFile: z.ZodDefault<z.ZodBoolean>;
19
- enableDatabase: z.ZodDefault<z.ZodBoolean>;
20
- format: z.ZodDefault<z.ZodEnum<{
21
- readonly JSON: "json";
22
- readonly PRETTY: "pretty";
23
- readonly SIMPLE: "simple";
24
- }>>;
25
- metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
26
45
  redactFields: z.ZodDefault<z.ZodArray<z.ZodString>>;
27
46
  }, z.core.$strip>;
28
47
  /** ──────────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"logger.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/models/logger.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;oEAEoE;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,OAAO,CAAC,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C;AAeD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;iBAUpC,CAAC;AAEH;;oEAEoE;AAEpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"logger.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/models/logger.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;oEAEoE;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,OAAO,CAAC,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC/C;AAED;;;;;oEAKoE;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,yBAAyB;;;;;iBAapC,CAAC;AAEH;;oEAEoE;AAEpE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -10,20 +10,40 @@ import { z } from 'zod';
10
10
  * ✅ Preserves all ZodObject methods (.extend, .partial, .omit, .pick, .shape)
11
11
  * ✅ Compatible with isolatedDeclarations: true (OXC)
12
12
  * ────────────────────────────────────────────────────────────── */
13
- const FormatEnum = {
14
- JSON: 'json',
15
- PRETTY: 'pretty',
16
- SIMPLE: 'simple'
17
- };
13
+ /**
14
+ * EVERY member here is READ. That is the contract this schema lost and has regained.
15
+ *
16
+ * It used to declare five more — `enableConsole`, `enableFile`, `enableDatabase`,
17
+ * `format` and `metadata` — that no code path could select. Each was removed for its
18
+ * own reason, recorded so none is reintroduced as an obvious gap:
19
+ *
20
+ * - `enableFile` / `enableDatabase` are REDUNDANT, not missing. `otel-preload` fans
21
+ * every Pino record out to stdout AND an OTLP collector through the
22
+ * `instrumentation-pino` bridge whenever `OBSERVABILITY_TELEMETRY` is selected, and a
23
+ * container platform collects stdout regardless. A database sink would additionally
24
+ * put log writes on the very datastore whose failure you are diagnosing.
25
+ * - `format` was a SECOND, dead authority for a decision made elsewhere: pretty-vs-JSON
26
+ * is `usePrettyConsole` in `logger.service.ts`, from `LOG_FORMATTED_CONSOLE_ERRORS`
27
+ * and the environment. Keeping it invited `format: 'pretty'` and no effect.
28
+ * - `enableConsole` could not be honoured. The console is what `docker logs` reads and
29
+ * what the OTLP bridge WRAPS, so `false` would have to be refused rather than obeyed.
30
+ * - `metadata` is superseded by pino's `base` (service, environment, hostname, pid) and
31
+ * by the `mixin` that stamps `correlationId` on every record inside a request.
32
+ *
33
+ * Decided on issue #437 after measuring what OpenTelemetry already carries.
34
+ */
18
35
  export const LoggerConfigurationSchema = z.object({
19
36
  level: z.enum(LogLevel).default(LogLevel.INFO),
20
37
  environment: z.enum(RuntimeEnvironment).default(RuntimeEnvironment.DEVELOPMENT),
21
38
  service: z.string().default('saas-backend'),
22
- enableConsole: z.boolean().default(true),
23
- enableFile: z.boolean().default(false),
24
- enableDatabase: z.boolean().default(false),
25
- format: z.enum(FormatEnum).default(FormatEnum.JSON),
26
- metadata: z.record(z.string(), z.any()).default(() => ({})),
39
+ /**
40
+ * Top-level context keys pino censors, handed straight to `redact.paths`.
41
+ *
42
+ * This default is LOAD-BEARING and was inert from 2026-02-23 to 2026-09-08 because
43
+ * `loadConfiguration` passed `redactFields: []` and a Zod default applies only to an
44
+ * UNDEFINED key. Never restate it at a construction site — omit the key instead.
45
+ * Pinned by `logger.service.redaction.test.ts`.
46
+ */
27
47
  redactFields: z.array(z.string()).default(['password', 'secret', 'token', 'key'])
28
48
  });
29
49
  //# sourceMappingURL=logger.backend.schemas.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.backend.schemas.js","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/models/logger.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;oEAKoE;AAEpE,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3C,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;IACnD,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3D,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;CAClF,CAAC,CAAC","sourcesContent":["/**\n * Logger Type Definitions for SaaS Backend\n * Provides comprehensive logging interfaces and types\n */\n\nimport { LogLevel, RuntimeEnvironment } from '@wildo-ai/saas-models';\nimport { z } from 'zod';\n\n/** ──────────────────────────────────────────────────────────────\n * Interfaces (kept for non-schema types)\n * ────────────────────────────────────────────────────────────── */\n\nexport interface PerformanceTimer {\n end(context?: Record<string, unknown>): void;\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Internal Schema with z.ZodObject type annotation\n * \n * ✅ Preserves all ZodObject methods (.extend, .partial, .omit, .pick, .shape)\n * ✅ Compatible with isolatedDeclarations: true (OXC)\n * ────────────────────────────────────────────────────────────── */\n\nconst FormatEnum = {\n JSON: 'json',\n PRETTY: 'pretty',\n SIMPLE: 'simple'\n} as const;\n\nexport const LoggerConfigurationSchema = z.object({\n level: z.enum(LogLevel).default(LogLevel.INFO),\n environment: z.enum(RuntimeEnvironment).default(RuntimeEnvironment.DEVELOPMENT),\n service: z.string().default('saas-backend'),\n enableConsole: z.boolean().default(true),\n enableFile: z.boolean().default(false),\n enableDatabase: z.boolean().default(false),\n format: z.enum(FormatEnum).default(FormatEnum.JSON),\n metadata: z.record(z.string(), z.any()).default(() => ({})),\n redactFields: z.array(z.string()).default(['password', 'secret', 'token', 'key'])\n});\n\n/** ──────────────────────────────────────────────────────────────\n * Inferred Type (from schema - no interface duplication)\n * ────────────────────────────────────────────────────────────── */\n\nexport type LoggerConfig = z.infer<typeof LoggerConfigurationSchema>;\n"]}
1
+ {"version":3,"file":"logger.backend.schemas.js","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/models/logger.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;oEAKoE;AAEpE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC;IAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3C;;;;;;;OAOG;IACH,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;CAClF,CAAC,CAAC","sourcesContent":["/**\n * Logger Type Definitions for SaaS Backend\n * Provides comprehensive logging interfaces and types\n */\n\nimport { LogLevel, RuntimeEnvironment } from '@wildo-ai/saas-models';\nimport { z } from 'zod';\n\n/** ──────────────────────────────────────────────────────────────\n * Interfaces (kept for non-schema types)\n * ────────────────────────────────────────────────────────────── */\n\nexport interface PerformanceTimer {\n end(context?: Record<string, unknown>): void;\n}\n\n/** ──────────────────────────────────────────────────────────────\n * Internal Schema with z.ZodObject type annotation\n * \n * ✅ Preserves all ZodObject methods (.extend, .partial, .omit, .pick, .shape)\n * ✅ Compatible with isolatedDeclarations: true (OXC)\n * ────────────────────────────────────────────────────────────── */\n\n/**\n * EVERY member here is READ. That is the contract this schema lost and has regained.\n *\n * It used to declare five more — `enableConsole`, `enableFile`, `enableDatabase`,\n * `format` and `metadata` — that no code path could select. Each was removed for its\n * own reason, recorded so none is reintroduced as an obvious gap:\n *\n * - `enableFile` / `enableDatabase` are REDUNDANT, not missing. `otel-preload` fans\n * every Pino record out to stdout AND an OTLP collector through the\n * `instrumentation-pino` bridge whenever `OBSERVABILITY_TELEMETRY` is selected, and a\n * container platform collects stdout regardless. A database sink would additionally\n * put log writes on the very datastore whose failure you are diagnosing.\n * - `format` was a SECOND, dead authority for a decision made elsewhere: pretty-vs-JSON\n * is `usePrettyConsole` in `logger.service.ts`, from `LOG_FORMATTED_CONSOLE_ERRORS`\n * and the environment. Keeping it invited `format: 'pretty'` and no effect.\n * - `enableConsole` could not be honoured. The console is what `docker logs` reads and\n * what the OTLP bridge WRAPS, so `false` would have to be refused rather than obeyed.\n * - `metadata` is superseded by pino's `base` (service, environment, hostname, pid) and\n * by the `mixin` that stamps `correlationId` on every record inside a request.\n *\n * Decided on issue #437 after measuring what OpenTelemetry already carries.\n */\nexport const LoggerConfigurationSchema = z.object({\n level: z.enum(LogLevel).default(LogLevel.INFO),\n environment: z.enum(RuntimeEnvironment).default(RuntimeEnvironment.DEVELOPMENT),\n service: z.string().default('saas-backend'),\n /**\n * Top-level context keys pino censors, handed straight to `redact.paths`.\n *\n * This default is LOAD-BEARING and was inert from 2026-02-23 to 2026-09-08 because\n * `loadConfiguration` passed `redactFields: []` and a Zod default applies only to an\n * UNDEFINED key. Never restate it at a construction site — omit the key instead.\n * Pinned by `logger.service.redaction.test.ts`.\n */\n redactFields: z.array(z.string()).default(['password', 'secret', 'token', 'key'])\n});\n\n/** ──────────────────────────────────────────────────────────────\n * Inferred Type (from schema - no interface duplication)\n * ────────────────────────────────────────────────────────────── */\n\nexport type LoggerConfig = z.infer<typeof LoggerConfigurationSchema>;\n"]}
@@ -34,6 +34,18 @@ export declare class LoggerService {
34
34
  * Get type-based debug logger
35
35
  */
36
36
  debugByType(type: string): (message: string, context?: Record<string, unknown>) => void;
37
+ /**
38
+ * Emit at the requested level, or higher if the record carries a level floor.
39
+ *
40
+ * The three sub-`error` levels route through this so a best-effort catch cannot bury a server fault
41
+ * below what an operator alerts on. See `log-severity-floor.backend.utils.ts` for the measurement
42
+ * and for why the answer travels with the record instead of being re-decided at 213 call sites.
43
+ *
44
+ * When the floor raises the level, the record keeps what the call site ASKED for under
45
+ * `promotedFromLevel`, so the promotion is legible in the log rather than looking like the boundary
46
+ * chose `error` itself.
47
+ */
48
+ private emitAtLevelFloor;
37
49
  info(message: string, context?: Record<string, unknown>): void;
38
50
  warn(message: string, context?: Record<string, unknown>): void;
39
51
  error(message: string, errorOrContext?: Error | Record<string, unknown>, context?: Record<string, unknown>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/services/logger.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAA6B,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAC/I,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAO/F,qBACa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,sBAAsB,CAAmC;IACjE,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;;IAOjF,OAAO,CAAC,UAAU;IASX,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IA+BzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmGpB,SAAS,IAAI,YAAY;IAKzB;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IASxF,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAejH;;;;;;;OAOG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI;IAUP;;OAEG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI;IAUP,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;IAiBlF,OAAO,CAAC,aAAa;CAWtB"}
1
+ {"version":3,"file":"logger.service.d.ts","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/services/logger.service.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAA6B,gBAAgB,EAAE,MAAM,oEAAoE,CAAC;AAC/I,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAW/F,qBACa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,sBAAsB,CAAmC;IACjE,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;;IAOjF,OAAO,CAAC,UAAU;IASX,YAAY,CAAC,SAAS,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAmGpB,SAAS,IAAI,YAAY;IAKzB;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzD;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI;IASxF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IA2BxB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAK9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAejH;;;;;;;OAOG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI;IAUP;;OAEG;IACH,WAAW,CACT,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI;IAUP,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB;IAiBlF,OAAO,CAAC,aAAa;CAWtB"}
@@ -13,6 +13,7 @@ import pretty from 'pino-pretty';
13
13
  import { LogLevel, RuntimeEnvironment } from '@wildo-ai/saas-models';
14
14
  import { LoggerConfigurationSchema } from '../../../monitoring/logger/models/logger.backend.schemas.js';
15
15
  import { projectCaughtErrorLogFields } from '../../../errors/utils/error-log-level-classification.backend.utils.js';
16
+ import { LOG_SEVERITY_PROMOTED_FROM_FIELD, resolveEmittedLogLevel, } from '../../../monitoring/logger/utils/log-severity-floor.backend.utils.js';
16
17
  import { normalizeLogContext } from '../../../monitoring/logger/utils/log-value-normalization.backend.utils.js';
17
18
  import { getRequestContextFrame } from '../../../runtime/models/request-context.als.backend.js';
18
19
  let LoggerService = class LoggerService {
@@ -46,16 +47,26 @@ let LoggerService = class LoggerService {
46
47
  * indicates someone bypassed the CLI sync path.
47
48
  */
48
49
  loadConfiguration(appConfig, appSlug) {
50
+ /*
51
+ * ONLY what this code DECIDES. Every other member is left to
52
+ * `LoggerConfigurationSchema`'s own default, deliberately — a second copy of a
53
+ * default is a second authority, and this object held one that CONTRADICTED the
54
+ * schema for seven months.
55
+ *
56
+ * `redactFields` was `[]` here while the schema declares
57
+ * `['password', 'secret', 'token', 'key']`. A Zod default applies only to an
58
+ * `undefined` key, so the empty array won, `pino`'s `redact.paths` was empty, and
59
+ * the framework's ONLY redaction control was inert at every call site — while
60
+ * those same records leave the process to a third-party collector through the
61
+ * OTLP log bridge whenever `OBSERVABILITY_TELEMETRY` is selected. Omitting the key
62
+ * is the whole fix; the schema already says what to censor.
63
+ *
64
+ * `level` stays explicit because it genuinely disagrees with the schema (DEBUG
65
+ * here, INFO there) and the disagreement is intended: a process with no
66
+ * `LOG_LEVEL` in its environment is a development process.
67
+ */
49
68
  const defaultConfig = {
50
69
  level: LogLevel.DEBUG,
51
- environment: RuntimeEnvironment.DEVELOPMENT,
52
- service: 'saas-backend',
53
- enableConsole: true,
54
- enableFile: false,
55
- enableDatabase: false,
56
- format: 'json',
57
- metadata: {},
58
- redactFields: []
59
70
  };
60
71
  const envLogLevel = process.env.LOG_LEVEL;
61
72
  if (envLogLevel && Object.values(LogLevel).includes(envLogLevel)) {
@@ -189,11 +200,41 @@ let LoggerService = class LoggerService {
189
200
  }
190
201
  };
191
202
  }
203
+ /**
204
+ * Emit at the requested level, or higher if the record carries a level floor.
205
+ *
206
+ * The three sub-`error` levels route through this so a best-effort catch cannot bury a server fault
207
+ * below what an operator alerts on. See `log-severity-floor.backend.utils.ts` for the measurement
208
+ * and for why the answer travels with the record instead of being re-decided at 213 call sites.
209
+ *
210
+ * When the floor raises the level, the record keeps what the call site ASKED for under
211
+ * `promotedFromLevel`, so the promotion is legible in the log rather than looking like the boundary
212
+ * chose `error` itself.
213
+ */
214
+ emitAtLevelFloor(requestedLevel, message, context) {
215
+ const emittedLevel = resolveEmittedLogLevel(requestedLevel, context);
216
+ const enriched = this.enrichContext(emittedLevel === requestedLevel
217
+ ? context
218
+ : { ...(context ?? {}), [LOG_SEVERITY_PROMOTED_FROM_FIELD]: requestedLevel });
219
+ switch (emittedLevel) {
220
+ case 'error':
221
+ this.logger.error(enriched, message);
222
+ return;
223
+ case 'warn':
224
+ this.logger.warn(enriched, message);
225
+ return;
226
+ case 'info':
227
+ this.logger.info(enriched, message);
228
+ return;
229
+ default:
230
+ this.logger.debug(enriched, message);
231
+ }
232
+ }
192
233
  info(message, context) {
193
- this.logger.info(this.enrichContext(context), message);
234
+ this.emitAtLevelFloor('info', message, context);
194
235
  }
195
236
  warn(message, context) {
196
- this.logger.warn(this.enrichContext(context), message);
237
+ this.emitAtLevelFloor('warn', message, context);
197
238
  }
198
239
  error(message, errorOrContext, context) {
199
240
  if (errorOrContext instanceof Error) {
@@ -229,7 +270,7 @@ let LoggerService = class LoggerService {
229
270
  }), message);
230
271
  }
231
272
  debug(message, context) {
232
- this.logger.debug(this.enrichContext(context), message);
273
+ this.emitAtLevelFloor('debug', message, context);
233
274
  }
234
275
  trace(message, context) {
235
276
  this.logger.trace(this.enrichContext(context), message);
@@ -1 +1 @@
1
- {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/services/logger.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { injectable } from 'inversify';\nimport pino, { Logger as PinoLogger } from 'pino';\nimport pretty from 'pino-pretty';\nimport { z } from 'zod';\nimport { LogLevel, RuntimeEnvironment } from '@wildo-ai/saas-models';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerConfig, LoggerConfigurationSchema, PerformanceTimer } from '~wildo-backend-lib/monitoring/logger/models/logger.backend.schemas';\nimport { AppConfiguration } from '~wildo-backend-lib/config/models/app-config.backend.schemas';\nimport { projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport { normalizeLogContext } from '~wildo-backend-lib/monitoring/logger/utils/log-value-normalization.backend.utils';\nimport { getRequestContextFrame } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\n\n\n\n@injectable()\nexport class LoggerService {\n private logger: PinoLogger;\n private config: LoggerConfig;\n private activeDebugTypeLogging: Map<string, boolean> = new Map();\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n constructor() {\n this.initialize();\n }\n\n\n private initialize(appConfig?: AppConfiguration, appSlug?: string): void {\n this.config = this.loadConfiguration(appConfig, appSlug);\n this.logger = this.createLogger();\n\n // Initialize logDebug after logger is created\n this.logDebug = this.debugByType('LoggerService');\n this.setDebugTypeLogging('LoggerService', false);\n }\n\n public reinitialize(appConfig: AppConfiguration, appSlug?: string): void {\n this.initialize(appConfig, appSlug);\n }\n\n /**\n * Load logger configuration from environment\n *\n * Slice 3.5 wiring:\n * - `process.env.LOG_LEVEL` (emitted by `env-vars-builder` from\n * `infra.logging.level`) overrides the built-in default. Validated\n * against `LogLevel` enum — invalid values are ignored (we keep\n * the default rather than crash, since logging misconfig must\n * never block process boot). Upstream `WildoLoggingConfigSchema`\n * is the strict validation surface, so a bad value reaching here\n * indicates someone bypassed the CLI sync path.\n */\n private loadConfiguration(appConfig?: AppConfiguration, appSlug?: string): LoggerConfig {\n\n const defaultConfig: LoggerConfig = {\n level: LogLevel.DEBUG,\n environment: RuntimeEnvironment.DEVELOPMENT,\n service: 'saas-backend',\n enableConsole: true,\n enableFile: false,\n enableDatabase: false,\n format: 'json',\n metadata: {},\n redactFields: []\n }\n\n const envLogLevel = process.env.LOG_LEVEL;\n if (envLogLevel && (Object.values(LogLevel) as string[]).includes(envLogLevel)) {\n defaultConfig.level = envLogLevel as LogLevel;\n }\n\n if (appConfig) {\n const appEnv = (process.env.APPLICATION_ENV as RuntimeEnvironment) || RuntimeEnvironment.DEVELOPMENT;\n defaultConfig.environment = appEnv;\n // Use appSlug (technical identifier) with appEnv for service name, e.g., \"wildo-ai-application:development\"\n // Falls back to appName if appSlug not provided\n const serviceName = appSlug || appConfig.appIdentity.appName || 'saas-backend';\n defaultConfig.service = `${serviceName}:${appEnv}`;\n }\n\n return LoggerConfigurationSchema.parse(defaultConfig);\n }\n\n /**\n * Create Pino logger instance with proper configuration\n */\n private createLogger(): PinoLogger {\n // Instance/deployment identity carried on every record.\n // assurance-control: WILDO.AUDIT.CONTEXT_ATTRIBUTION — `service` (`appSlug:env`) +\n // `environment` are the audit-relevant WHAT/WHERE: which application, which environment.\n // - `hostname` is emitted ONLY when it is a real deployment identity — in\n // orchestrated envs `HOSTNAME` is the pod/container name (valuable for\n // forensics). In local dev it is unset, so the key is OMITTED rather than\n // emitting a placeholder or the developer's machine name: absence is cleaner\n // than a phantom `'unknown'` bucket in the aggregator.\n // - `pid` is a cheap debugging aid (distinguishes local multi-process runs);\n // compliance-neutral.\n const orchestratedHostname = process.env.HOSTNAME;\n const baseConfig: any = {\n level: this.config.level,\n base: {\n pid: process.pid,\n service: this.config.service,\n environment: this.config.environment,\n ...(orchestratedHostname ? { hostname: orchestratedHostname } : {}),\n },\n redact: {\n paths: this.config.redactFields,\n censor: '[REDACTED]'\n },\n timestamp: pino.stdTimeFunctions.isoTime,\n formatters: {\n level: (label: string) => ({ level: label }),\n bindings: (bindings: any) => ({\n ...bindings\n })\n },\n // Phase 1 — surface the request-correlation backbone on EVERY log line. Read the request-context\n // ALS at log time (not construction): inside a request seam this stamps `correlationId` (+ the\n // frontend origin) so all logs for one request are filterable by one id; outside a request\n // (startup, internal ops) the frame is absent and nothing is added. Complements the OTel\n // trace_id/span_id that the instrumentation-pino bridge adds when telemetry is live — that bridge\n // PATCHES pino rather than using this single `mixin` slot, so the two do not collide.\n mixin: () => {\n const frame = getRequestContextFrame();\n if (!frame) {\n return {};\n }\n return {\n correlationId: frame.correlationId,\n ...(frame.frontendServiceName ? { frontendServiceName: frame.frontendServiceName } : {}),\n ...(frame.clientInstanceId ? { clientInstanceId: frame.clientInstanceId } : {}),\n };\n }\n };\n\n // Development-specific configuration\n //\n // Slice 3.5: `LOG_FORMATTED_CONSOLE_ERRORS` (emitted by\n // `env-vars-builder` from `infra.logging.formattedConsoleErrors`)\n // overrides the auto-detected pino-pretty branch. Explicit `'true'`\n // forces pino-pretty regardless of environment; explicit `'false'`\n // disables it even in development. Unset preserves the legacy\n // auto-detect behavior so existing dev workflows are unchanged.\n const envFormattedConsoleErrors = process.env.LOG_FORMATTED_CONSOLE_ERRORS;\n const usePrettyConsole = envFormattedConsoleErrors === 'true'\n ? true\n : envFormattedConsoleErrors === 'false'\n ? false\n : this.config.environment === RuntimeEnvironment.DEVELOPMENT;\n\n if (usePrettyConsole) {\n try {\n // pino-pretty as a MAIN-THREAD destination stream — deliberately NOT a worker\n // `transport: { target: 'pino-pretty' }` (Slice 2 Phase 5).\n //\n // The OTLP log bridge (`@opentelemetry/instrumentation-pino`, wired in\n // `otel-preload`) sends each record to OTel by replacing the logger's `streamSym`\n // with `pino.multistream([originalStream, otelStream])`. A worker `transport`\n // makes `streamSym` a thread-stream whose writes BYPASS that post-hoc wrap, so logs\n // never reach the collector (verified: 0 log records). A main-thread destination\n // stream is exactly what the bridge wraps, so dev logs now fan out to BOTH stdout\n // (pretty) AND the OTLP exporter. The only cost is main-thread prettification, which\n // is acceptable for development. Production (`usePrettyConsole === false`) keeps the\n // default stdout stream, which the bridge already wraps.\n const prettyStream = pretty({\n colorize: true,\n levelFirst: true,\n translateTime: 'yyyy-mm-dd HH:MM:ss',\n messageFormat: '{msg}',\n // Hide the machine/identity fields from the human dev console (the dev\n // orchestrator already prefixes each line with the process name). They\n // are still emitted on the JSON stream that prod/SIEM consumes.\n ignore: 'pid,hostname,service,environment',\n });\n return pino(baseConfig, prettyStream);\n } catch (error) {\n // Fallback to basic JSON output if pino-pretty is not available.\n console.warn('⚠️ pino-pretty not available, using JSON output:', error);\n }\n }\n\n return pino(baseConfig);\n }\n\n getConfig(): LoggerConfig {\n return this.config;\n }\n\n\n /**\n * Enable/disable type-based debug logging\n */\n setDebugTypeLogging(type: string, enabled: boolean): void {\n this.activeDebugTypeLogging.set(type, enabled);\n }\n\n /**\n * Get type-based debug logger\n */\n debugByType(type: string): (message: string, context?: Record<string, unknown>) => void {\n return (message: string, context?: Record<string, unknown>) => {\n if (this.activeDebugTypeLogging.get(type)) {\n this.debug(`[${type}] ${message}`, { ...context });//logType: type\n }\n };\n }\n\n\n info(message: string, context?: Record<string, unknown>): void {\n this.logger.info(this.enrichContext(context), message);\n }\n\n\n warn(message: string, context?: Record<string, unknown>): void {\n this.logger.warn(this.enrichContext(context), message);\n }\n\n error(message: string, errorOrContext?: Error | Record<string, unknown>, context?: Record<string, unknown>): void {\n if (errorOrContext instanceof Error) {\n this.logger.error(\n this.enrichContext({\n ...projectCaughtErrorLogFields(errorOrContext),\n ...context,\n }),\n message,\n );\n return;\n }\n\n this.logger.error(this.enrichContext(errorOrContext), message);\n }\n\n /**\n * Emit a caught `unknown` value at an error-handling boundary.\n *\n * Unlike {@link error}, the second argument is never guessed to be a context\n * record. A thrown plain object (including `WildoError_Backend`) is projected\n * as the failure itself, which prevents both `[object Object]` coercion and\n * pre-stringified/doubly-escaped JSON.\n */\n caughtError(\n message: string,\n caughtValue: unknown,\n context?: Record<string, unknown>,\n ): void {\n this.logger.error(\n this.enrichContext({\n ...projectCaughtErrorLogFields(caughtValue),\n ...context,\n }),\n message,\n );\n }\n\n /**\n * Fatal counterpart of {@link caughtError} for uncaught process failures.\n */\n caughtFatal(\n message: string,\n caughtValue: unknown,\n context?: Record<string, unknown>,\n ): void {\n this.logger.fatal(\n this.enrichContext({\n ...projectCaughtErrorLogFields(caughtValue),\n ...context,\n }),\n message,\n );\n }\n\n debug(message: string, context?: Record<string, unknown>): void {\n this.logger.debug(this.enrichContext(context), message);\n }\n\n trace(message: string, context?: Record<string, unknown>): void {\n this.logger.trace(this.enrichContext(context), message);\n }\n\n fatal(message: string, context?: Record<string, unknown>): void {\n this.logger.fatal(this.enrichContext(context), message);\n }\n\n startTimer(operation: string, context?: Record<string, unknown>): PerformanceTimer {\n const startTime = Date.now();\n\n return {\n end: (endContext?: Record<string, unknown>) => {\n const duration = Date.now() - startTime;\n this.info(`Performance: ${operation}`, {\n ...context,\n ...endContext,\n operation,\n duration,\n performance: true\n });\n }\n };\n }\n\n private enrichContext(context?: Record<string, unknown>): Record<string, unknown> {\n // NOTE: do NOT add a `timestamp` here. Pino already emits the standard `time`\n // field (configured via `timestamp: pino.stdTimeFunctions.isoTime`); a second\n // `timestamp` key was pure duplication on every line. Normalization returns\n // a fresh JSON-native graph, so the caller's context is never mutated and\n // nested Error/cyclic/object values cannot fall through Pino serialization.\n return normalizeLogContext(context);\n }\n\n\n\n}\n"]}
1
+ {"version":3,"file":"logger.service.js","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/services/logger.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { injectable } from 'inversify';\nimport pino, { Logger as PinoLogger } from 'pino';\nimport pretty from 'pino-pretty';\nimport { z } from 'zod';\nimport { LogLevel, RuntimeEnvironment } from '@wildo-ai/saas-models';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerConfig, LoggerConfigurationSchema, PerformanceTimer } from '~wildo-backend-lib/monitoring/logger/models/logger.backend.schemas';\nimport { AppConfiguration } from '~wildo-backend-lib/config/models/app-config.backend.schemas';\nimport { projectCaughtErrorLogFields } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport {\n LOG_SEVERITY_PROMOTED_FROM_FIELD,\n resolveEmittedLogLevel,\n} from '~wildo-backend-lib/monitoring/logger/utils/log-severity-floor.backend.utils';\nimport { normalizeLogContext } from '~wildo-backend-lib/monitoring/logger/utils/log-value-normalization.backend.utils';\nimport { getRequestContextFrame } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\n\n\n\n@injectable()\nexport class LoggerService {\n private logger: PinoLogger;\n private config: LoggerConfig;\n private activeDebugTypeLogging: Map<string, boolean> = new Map();\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n constructor() {\n this.initialize();\n }\n\n\n private initialize(appConfig?: AppConfiguration, appSlug?: string): void {\n this.config = this.loadConfiguration(appConfig, appSlug);\n this.logger = this.createLogger();\n\n // Initialize logDebug after logger is created\n this.logDebug = this.debugByType('LoggerService');\n this.setDebugTypeLogging('LoggerService', false);\n }\n\n public reinitialize(appConfig: AppConfiguration, appSlug?: string): void {\n this.initialize(appConfig, appSlug);\n }\n\n /**\n * Load logger configuration from environment\n *\n * Slice 3.5 wiring:\n * - `process.env.LOG_LEVEL` (emitted by `env-vars-builder` from\n * `infra.logging.level`) overrides the built-in default. Validated\n * against `LogLevel` enum — invalid values are ignored (we keep\n * the default rather than crash, since logging misconfig must\n * never block process boot). Upstream `WildoLoggingConfigSchema`\n * is the strict validation surface, so a bad value reaching here\n * indicates someone bypassed the CLI sync path.\n */\n private loadConfiguration(appConfig?: AppConfiguration, appSlug?: string): LoggerConfig {\n\n /*\n * ONLY what this code DECIDES. Every other member is left to\n * `LoggerConfigurationSchema`'s own default, deliberately — a second copy of a\n * default is a second authority, and this object held one that CONTRADICTED the\n * schema for seven months.\n *\n * `redactFields` was `[]` here while the schema declares\n * `['password', 'secret', 'token', 'key']`. A Zod default applies only to an\n * `undefined` key, so the empty array won, `pino`'s `redact.paths` was empty, and\n * the framework's ONLY redaction control was inert at every call site — while\n * those same records leave the process to a third-party collector through the\n * OTLP log bridge whenever `OBSERVABILITY_TELEMETRY` is selected. Omitting the key\n * is the whole fix; the schema already says what to censor.\n *\n * `level` stays explicit because it genuinely disagrees with the schema (DEBUG\n * here, INFO there) and the disagreement is intended: a process with no\n * `LOG_LEVEL` in its environment is a development process.\n */\n const defaultConfig: z.input<typeof LoggerConfigurationSchema> = {\n level: LogLevel.DEBUG,\n };\n\n const envLogLevel = process.env.LOG_LEVEL;\n if (envLogLevel && (Object.values(LogLevel) as string[]).includes(envLogLevel)) {\n defaultConfig.level = envLogLevel as LogLevel;\n }\n\n if (appConfig) {\n const appEnv = (process.env.APPLICATION_ENV as RuntimeEnvironment) || RuntimeEnvironment.DEVELOPMENT;\n defaultConfig.environment = appEnv;\n // Use appSlug (technical identifier) with appEnv for service name, e.g., \"wildo-ai-application:development\"\n // Falls back to appName if appSlug not provided\n const serviceName = appSlug || appConfig.appIdentity.appName || 'saas-backend';\n defaultConfig.service = `${serviceName}:${appEnv}`;\n }\n\n return LoggerConfigurationSchema.parse(defaultConfig);\n }\n\n /**\n * Create Pino logger instance with proper configuration\n */\n private createLogger(): PinoLogger {\n // Instance/deployment identity carried on every record.\n // assurance-control: WILDO.AUDIT.CONTEXT_ATTRIBUTION — `service` (`appSlug:env`) +\n // `environment` are the audit-relevant WHAT/WHERE: which application, which environment.\n // - `hostname` is emitted ONLY when it is a real deployment identity — in\n // orchestrated envs `HOSTNAME` is the pod/container name (valuable for\n // forensics). In local dev it is unset, so the key is OMITTED rather than\n // emitting a placeholder or the developer's machine name: absence is cleaner\n // than a phantom `'unknown'` bucket in the aggregator.\n // - `pid` is a cheap debugging aid (distinguishes local multi-process runs);\n // compliance-neutral.\n const orchestratedHostname = process.env.HOSTNAME;\n const baseConfig: any = {\n level: this.config.level,\n base: {\n pid: process.pid,\n service: this.config.service,\n environment: this.config.environment,\n ...(orchestratedHostname ? { hostname: orchestratedHostname } : {}),\n },\n redact: {\n paths: this.config.redactFields,\n censor: '[REDACTED]'\n },\n timestamp: pino.stdTimeFunctions.isoTime,\n formatters: {\n level: (label: string) => ({ level: label }),\n bindings: (bindings: any) => ({\n ...bindings\n })\n },\n // Phase 1 — surface the request-correlation backbone on EVERY log line. Read the request-context\n // ALS at log time (not construction): inside a request seam this stamps `correlationId` (+ the\n // frontend origin) so all logs for one request are filterable by one id; outside a request\n // (startup, internal ops) the frame is absent and nothing is added. Complements the OTel\n // trace_id/span_id that the instrumentation-pino bridge adds when telemetry is live — that bridge\n // PATCHES pino rather than using this single `mixin` slot, so the two do not collide.\n mixin: () => {\n const frame = getRequestContextFrame();\n if (!frame) {\n return {};\n }\n return {\n correlationId: frame.correlationId,\n ...(frame.frontendServiceName ? { frontendServiceName: frame.frontendServiceName } : {}),\n ...(frame.clientInstanceId ? { clientInstanceId: frame.clientInstanceId } : {}),\n };\n }\n };\n\n // Development-specific configuration\n //\n // Slice 3.5: `LOG_FORMATTED_CONSOLE_ERRORS` (emitted by\n // `env-vars-builder` from `infra.logging.formattedConsoleErrors`)\n // overrides the auto-detected pino-pretty branch. Explicit `'true'`\n // forces pino-pretty regardless of environment; explicit `'false'`\n // disables it even in development. Unset preserves the legacy\n // auto-detect behavior so existing dev workflows are unchanged.\n const envFormattedConsoleErrors = process.env.LOG_FORMATTED_CONSOLE_ERRORS;\n const usePrettyConsole = envFormattedConsoleErrors === 'true'\n ? true\n : envFormattedConsoleErrors === 'false'\n ? false\n : this.config.environment === RuntimeEnvironment.DEVELOPMENT;\n\n if (usePrettyConsole) {\n try {\n // pino-pretty as a MAIN-THREAD destination stream — deliberately NOT a worker\n // `transport: { target: 'pino-pretty' }` (Slice 2 Phase 5).\n //\n // The OTLP log bridge (`@opentelemetry/instrumentation-pino`, wired in\n // `otel-preload`) sends each record to OTel by replacing the logger's `streamSym`\n // with `pino.multistream([originalStream, otelStream])`. A worker `transport`\n // makes `streamSym` a thread-stream whose writes BYPASS that post-hoc wrap, so logs\n // never reach the collector (verified: 0 log records). A main-thread destination\n // stream is exactly what the bridge wraps, so dev logs now fan out to BOTH stdout\n // (pretty) AND the OTLP exporter. The only cost is main-thread prettification, which\n // is acceptable for development. Production (`usePrettyConsole === false`) keeps the\n // default stdout stream, which the bridge already wraps.\n const prettyStream = pretty({\n colorize: true,\n levelFirst: true,\n translateTime: 'yyyy-mm-dd HH:MM:ss',\n messageFormat: '{msg}',\n // Hide the machine/identity fields from the human dev console (the dev\n // orchestrator already prefixes each line with the process name). They\n // are still emitted on the JSON stream that prod/SIEM consumes.\n ignore: 'pid,hostname,service,environment',\n });\n return pino(baseConfig, prettyStream);\n } catch (error) {\n // Fallback to basic JSON output if pino-pretty is not available.\n console.warn('⚠️ pino-pretty not available, using JSON output:', error);\n }\n }\n\n return pino(baseConfig);\n }\n\n getConfig(): LoggerConfig {\n return this.config;\n }\n\n\n /**\n * Enable/disable type-based debug logging\n */\n setDebugTypeLogging(type: string, enabled: boolean): void {\n this.activeDebugTypeLogging.set(type, enabled);\n }\n\n /**\n * Get type-based debug logger\n */\n debugByType(type: string): (message: string, context?: Record<string, unknown>) => void {\n return (message: string, context?: Record<string, unknown>) => {\n if (this.activeDebugTypeLogging.get(type)) {\n this.debug(`[${type}] ${message}`, { ...context });//logType: type\n }\n };\n }\n\n\n /**\n * Emit at the requested level, or higher if the record carries a level floor.\n *\n * The three sub-`error` levels route through this so a best-effort catch cannot bury a server fault\n * below what an operator alerts on. See `log-severity-floor.backend.utils.ts` for the measurement\n * and for why the answer travels with the record instead of being re-decided at 213 call sites.\n *\n * When the floor raises the level, the record keeps what the call site ASKED for under\n * `promotedFromLevel`, so the promotion is legible in the log rather than looking like the boundary\n * chose `error` itself.\n */\n private emitAtLevelFloor(\n requestedLevel: 'debug' | 'info' | 'warn',\n message: string,\n context?: Record<string, unknown>,\n ): void {\n const emittedLevel = resolveEmittedLogLevel(requestedLevel, context);\n const enriched = this.enrichContext(\n emittedLevel === requestedLevel\n ? context\n : { ...(context ?? {}), [LOG_SEVERITY_PROMOTED_FROM_FIELD]: requestedLevel },\n );\n\n switch (emittedLevel) {\n case 'error':\n this.logger.error(enriched, message);\n return;\n case 'warn':\n this.logger.warn(enriched, message);\n return;\n case 'info':\n this.logger.info(enriched, message);\n return;\n default:\n this.logger.debug(enriched, message);\n }\n }\n\n info(message: string, context?: Record<string, unknown>): void {\n this.emitAtLevelFloor('info', message, context);\n }\n\n\n warn(message: string, context?: Record<string, unknown>): void {\n this.emitAtLevelFloor('warn', message, context);\n }\n\n error(message: string, errorOrContext?: Error | Record<string, unknown>, context?: Record<string, unknown>): void {\n if (errorOrContext instanceof Error) {\n this.logger.error(\n this.enrichContext({\n ...projectCaughtErrorLogFields(errorOrContext),\n ...context,\n }),\n message,\n );\n return;\n }\n\n this.logger.error(this.enrichContext(errorOrContext), message);\n }\n\n /**\n * Emit a caught `unknown` value at an error-handling boundary.\n *\n * Unlike {@link error}, the second argument is never guessed to be a context\n * record. A thrown plain object (including `WildoError_Backend`) is projected\n * as the failure itself, which prevents both `[object Object]` coercion and\n * pre-stringified/doubly-escaped JSON.\n */\n caughtError(\n message: string,\n caughtValue: unknown,\n context?: Record<string, unknown>,\n ): void {\n this.logger.error(\n this.enrichContext({\n ...projectCaughtErrorLogFields(caughtValue),\n ...context,\n }),\n message,\n );\n }\n\n /**\n * Fatal counterpart of {@link caughtError} for uncaught process failures.\n */\n caughtFatal(\n message: string,\n caughtValue: unknown,\n context?: Record<string, unknown>,\n ): void {\n this.logger.fatal(\n this.enrichContext({\n ...projectCaughtErrorLogFields(caughtValue),\n ...context,\n }),\n message,\n );\n }\n\n debug(message: string, context?: Record<string, unknown>): void {\n this.emitAtLevelFloor('debug', message, context);\n }\n\n trace(message: string, context?: Record<string, unknown>): void {\n this.logger.trace(this.enrichContext(context), message);\n }\n\n fatal(message: string, context?: Record<string, unknown>): void {\n this.logger.fatal(this.enrichContext(context), message);\n }\n\n startTimer(operation: string, context?: Record<string, unknown>): PerformanceTimer {\n const startTime = Date.now();\n\n return {\n end: (endContext?: Record<string, unknown>) => {\n const duration = Date.now() - startTime;\n this.info(`Performance: ${operation}`, {\n ...context,\n ...endContext,\n operation,\n duration,\n performance: true\n });\n }\n };\n }\n\n private enrichContext(context?: Record<string, unknown>): Record<string, unknown> {\n // NOTE: do NOT add a `timestamp` here. Pino already emits the standard `time`\n // field (configured via `timestamp: pino.stdTimeFunctions.isoTime`); a second\n // `timestamp` key was pure duplication on every line. Normalization returns\n // a fresh JSON-native graph, so the caller's context is never mutated and\n // nested Error/cyclic/object values cannot fall through Pino serialization.\n return normalizeLogContext(context);\n }\n\n\n\n}\n"]}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * A LOG-LEVEL FLOOR a structured record can carry, so a boundary that hardcodes its level cannot
3
+ * bury a fault below the level an operator alerts on.
4
+ *
5
+ * ## The defect this exists to close
6
+ *
7
+ * `classifyBackendErrorLogSeverity` already answers "does a human need to look at this?" from the
8
+ * error's own declared contract, and `logWildoBackendErrorAtClassifiedSeverity` emits at that answer.
9
+ * A **best-effort catch** does not go through either: it writes `logger.warn(msg, { ...ctx,
10
+ * ...projectCaughtErrorLogFields(error) })`, choosing the level by hand at the call site.
11
+ *
12
+ * Measured 2026-09-09: **213 such emissions below `error`, across 86 files**, and the six error types
13
+ * whose declared severity is CRITICAL (INTERNAL, DATABASE, EXTERNAL_SERVICE, UNCAUGHT_EXCEPTION,
14
+ * UNHANDLED_REJECTION, INFRASTRUCTURE) are all reachable through any of them. So a swallowed database
15
+ * failure was emitted at `warn` while the projected fields still said `severity: CRITICAL` — visible
16
+ * to a reader who greps the field, invisible to a production alert keyed on level, which is what an
17
+ * operator keys on by default.
18
+ *
19
+ * ## Why a floor rather than 213 corrected call sites
20
+ *
21
+ * Most of those `warn`s are RIGHT — an expected self-healing condition, a 4xx the caller got wrong —
22
+ * so a sweep would have to re-judge each one and would rot the next time a boundary is added. The
23
+ * floor is total over the population instead: every one of those sites already calls the same
24
+ * projection, so the answer travels with the record and one rule at the sink applies it.
25
+ *
26
+ * ## It adds no new judgement, and it can only RAISE
27
+ *
28
+ * The floor IS `classifyBackendErrorLogSeverity`'s answer, so every "stays at warn" decision that
29
+ * function documents is preserved untouched — an expired token still floors at `debug`, a MEDIUM 4xx
30
+ * at `warn`. And promotion never lowers a level, so a boundary that deliberately logs ABOVE the
31
+ * classification (a permanently dead-lettered job is operationally an `error` whatever the underlying
32
+ * business severity) keeps its own louder choice.
33
+ *
34
+ * The vocabulary lives HERE, in the logger's own utils, rather than beside the classifier: the
35
+ * classifier writes the field and the logger reads it, so putting it in the logger's directory keeps
36
+ * the dependency pointing one way (errors → monitoring) instead of making the two import each other.
37
+ */
38
+ /**
39
+ * The context key carrying the floor. Named rather than inlined at the two ends, because a writer and
40
+ * a reader agreeing on a string literal by coincidence is exactly how this mechanism goes silently
41
+ * inert.
42
+ */
43
+ export declare const LOG_SEVERITY_FLOOR_FIELD = "logSeverityFloor";
44
+ /** The context key recording what the call site ASKED for, whenever the floor raised it. */
45
+ export declare const LOG_SEVERITY_PROMOTED_FROM_FIELD = "promotedFromLevel";
46
+ /**
47
+ * The floor a record carries, or `undefined` when it carries none or carries an unrecognised value.
48
+ *
49
+ * Unrecognised is deliberately the same answer as absent: this reads a value that arrives through an
50
+ * untyped `Record<string, unknown>` context, and inventing a rank for a string nobody declared would
51
+ * promote records on a typo.
52
+ */
53
+ export declare function resolveLogSeverityFloor(context: Record<string, unknown> | undefined): string | undefined;
54
+ /**
55
+ * The level a record should actually be emitted at: the requested level, unless the record carries a
56
+ * floor above it.
57
+ *
58
+ * Returns the requested level unchanged whenever there is no floor, the floor is unrecognised, or the
59
+ * requested level is already at or above it — so the common path is untouched.
60
+ */
61
+ export declare function resolveEmittedLogLevel(requestedLevel: string, context: Record<string, unknown> | undefined): string;
62
+ //# sourceMappingURL=log-severity-floor.backend.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-severity-floor.backend.utils.d.ts","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/utils/log-severity-floor.backend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAE3D,4FAA4F;AAC5F,eAAO,MAAM,gCAAgC,sBAAsB,CAAC;AAQpE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGxG;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC3C,MAAM,CAQR"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * A LOG-LEVEL FLOOR a structured record can carry, so a boundary that hardcodes its level cannot
3
+ * bury a fault below the level an operator alerts on.
4
+ *
5
+ * ## The defect this exists to close
6
+ *
7
+ * `classifyBackendErrorLogSeverity` already answers "does a human need to look at this?" from the
8
+ * error's own declared contract, and `logWildoBackendErrorAtClassifiedSeverity` emits at that answer.
9
+ * A **best-effort catch** does not go through either: it writes `logger.warn(msg, { ...ctx,
10
+ * ...projectCaughtErrorLogFields(error) })`, choosing the level by hand at the call site.
11
+ *
12
+ * Measured 2026-09-09: **213 such emissions below `error`, across 86 files**, and the six error types
13
+ * whose declared severity is CRITICAL (INTERNAL, DATABASE, EXTERNAL_SERVICE, UNCAUGHT_EXCEPTION,
14
+ * UNHANDLED_REJECTION, INFRASTRUCTURE) are all reachable through any of them. So a swallowed database
15
+ * failure was emitted at `warn` while the projected fields still said `severity: CRITICAL` — visible
16
+ * to a reader who greps the field, invisible to a production alert keyed on level, which is what an
17
+ * operator keys on by default.
18
+ *
19
+ * ## Why a floor rather than 213 corrected call sites
20
+ *
21
+ * Most of those `warn`s are RIGHT — an expected self-healing condition, a 4xx the caller got wrong —
22
+ * so a sweep would have to re-judge each one and would rot the next time a boundary is added. The
23
+ * floor is total over the population instead: every one of those sites already calls the same
24
+ * projection, so the answer travels with the record and one rule at the sink applies it.
25
+ *
26
+ * ## It adds no new judgement, and it can only RAISE
27
+ *
28
+ * The floor IS `classifyBackendErrorLogSeverity`'s answer, so every "stays at warn" decision that
29
+ * function documents is preserved untouched — an expired token still floors at `debug`, a MEDIUM 4xx
30
+ * at `warn`. And promotion never lowers a level, so a boundary that deliberately logs ABOVE the
31
+ * classification (a permanently dead-lettered job is operationally an `error` whatever the underlying
32
+ * business severity) keeps its own louder choice.
33
+ *
34
+ * The vocabulary lives HERE, in the logger's own utils, rather than beside the classifier: the
35
+ * classifier writes the field and the logger reads it, so putting it in the logger's directory keeps
36
+ * the dependency pointing one way (errors → monitoring) instead of making the two import each other.
37
+ */
38
+ /**
39
+ * The context key carrying the floor. Named rather than inlined at the two ends, because a writer and
40
+ * a reader agreeing on a string literal by coincidence is exactly how this mechanism goes silently
41
+ * inert.
42
+ */
43
+ export const LOG_SEVERITY_FLOOR_FIELD = 'logSeverityFloor';
44
+ /** The context key recording what the call site ASKED for, whenever the floor raised it. */
45
+ export const LOG_SEVERITY_PROMOTED_FROM_FIELD = 'promotedFromLevel';
46
+ /**
47
+ * Emitting order, lowest first. Indices are the comparison, so a level absent from this list has no
48
+ * rank and is left alone rather than guessed at.
49
+ */
50
+ const LOG_LEVEL_RANK = ['debug', 'info', 'warn', 'error'];
51
+ /**
52
+ * The floor a record carries, or `undefined` when it carries none or carries an unrecognised value.
53
+ *
54
+ * Unrecognised is deliberately the same answer as absent: this reads a value that arrives through an
55
+ * untyped `Record<string, unknown>` context, and inventing a rank for a string nobody declared would
56
+ * promote records on a typo.
57
+ */
58
+ export function resolveLogSeverityFloor(context) {
59
+ const floor = context?.[LOG_SEVERITY_FLOOR_FIELD];
60
+ return typeof floor === 'string' && LOG_LEVEL_RANK.includes(floor) ? floor : undefined;
61
+ }
62
+ /**
63
+ * The level a record should actually be emitted at: the requested level, unless the record carries a
64
+ * floor above it.
65
+ *
66
+ * Returns the requested level unchanged whenever there is no floor, the floor is unrecognised, or the
67
+ * requested level is already at or above it — so the common path is untouched.
68
+ */
69
+ export function resolveEmittedLogLevel(requestedLevel, context) {
70
+ const floor = resolveLogSeverityFloor(context);
71
+ if (floor === undefined)
72
+ return requestedLevel;
73
+ const requestedRank = LOG_LEVEL_RANK.indexOf(requestedLevel);
74
+ if (requestedRank < 0)
75
+ return requestedLevel;
76
+ return LOG_LEVEL_RANK.indexOf(floor) > requestedRank ? floor : requestedLevel;
77
+ }
78
+ //# sourceMappingURL=log-severity-floor.backend.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log-severity-floor.backend.utils.js","sourceRoot":"","sources":["../../../../../../src/monitoring/logger/utils/log-severity-floor.backend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAE3D,4FAA4F;AAC5F,MAAM,CAAC,MAAM,gCAAgC,GAAG,mBAAmB,CAAC;AAEpE;;;GAGG;AACH,MAAM,cAAc,GAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAA4C;IAClF,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,wBAAwB,CAAC,CAAC;IAClD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACzF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,cAAsB,EACtB,OAA4C;IAE5C,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,cAAc,CAAC;IAE/C,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7D,IAAI,aAAa,GAAG,CAAC;QAAE,OAAO,cAAc,CAAC;IAE7C,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;AAChF,CAAC","sourcesContent":["/**\n * A LOG-LEVEL FLOOR a structured record can carry, so a boundary that hardcodes its level cannot\n * bury a fault below the level an operator alerts on.\n *\n * ## The defect this exists to close\n *\n * `classifyBackendErrorLogSeverity` already answers \"does a human need to look at this?\" from the\n * error's own declared contract, and `logWildoBackendErrorAtClassifiedSeverity` emits at that answer.\n * A **best-effort catch** does not go through either: it writes `logger.warn(msg, { ...ctx,\n * ...projectCaughtErrorLogFields(error) })`, choosing the level by hand at the call site.\n *\n * Measured 2026-09-09: **213 such emissions below `error`, across 86 files**, and the six error types\n * whose declared severity is CRITICAL (INTERNAL, DATABASE, EXTERNAL_SERVICE, UNCAUGHT_EXCEPTION,\n * UNHANDLED_REJECTION, INFRASTRUCTURE) are all reachable through any of them. So a swallowed database\n * failure was emitted at `warn` while the projected fields still said `severity: CRITICAL` — visible\n * to a reader who greps the field, invisible to a production alert keyed on level, which is what an\n * operator keys on by default.\n *\n * ## Why a floor rather than 213 corrected call sites\n *\n * Most of those `warn`s are RIGHT — an expected self-healing condition, a 4xx the caller got wrong —\n * so a sweep would have to re-judge each one and would rot the next time a boundary is added. The\n * floor is total over the population instead: every one of those sites already calls the same\n * projection, so the answer travels with the record and one rule at the sink applies it.\n *\n * ## It adds no new judgement, and it can only RAISE\n *\n * The floor IS `classifyBackendErrorLogSeverity`'s answer, so every \"stays at warn\" decision that\n * function documents is preserved untouched — an expired token still floors at `debug`, a MEDIUM 4xx\n * at `warn`. And promotion never lowers a level, so a boundary that deliberately logs ABOVE the\n * classification (a permanently dead-lettered job is operationally an `error` whatever the underlying\n * business severity) keeps its own louder choice.\n *\n * The vocabulary lives HERE, in the logger's own utils, rather than beside the classifier: the\n * classifier writes the field and the logger reads it, so putting it in the logger's directory keeps\n * the dependency pointing one way (errors → monitoring) instead of making the two import each other.\n */\n\n/**\n * The context key carrying the floor. Named rather than inlined at the two ends, because a writer and\n * a reader agreeing on a string literal by coincidence is exactly how this mechanism goes silently\n * inert.\n */\nexport const LOG_SEVERITY_FLOOR_FIELD = 'logSeverityFloor';\n\n/** The context key recording what the call site ASKED for, whenever the floor raised it. */\nexport const LOG_SEVERITY_PROMOTED_FROM_FIELD = 'promotedFromLevel';\n\n/**\n * Emitting order, lowest first. Indices are the comparison, so a level absent from this list has no\n * rank and is left alone rather than guessed at.\n */\nconst LOG_LEVEL_RANK: readonly string[] = ['debug', 'info', 'warn', 'error'];\n\n/**\n * The floor a record carries, or `undefined` when it carries none or carries an unrecognised value.\n *\n * Unrecognised is deliberately the same answer as absent: this reads a value that arrives through an\n * untyped `Record<string, unknown>` context, and inventing a rank for a string nobody declared would\n * promote records on a typo.\n */\nexport function resolveLogSeverityFloor(context: Record<string, unknown> | undefined): string | undefined {\n const floor = context?.[LOG_SEVERITY_FLOOR_FIELD];\n return typeof floor === 'string' && LOG_LEVEL_RANK.includes(floor) ? floor : undefined;\n}\n\n/**\n * The level a record should actually be emitted at: the requested level, unless the record carries a\n * floor above it.\n *\n * Returns the requested level unchanged whenever there is no floor, the floor is unrecognised, or the\n * requested level is already at or above it — so the common path is untouched.\n */\nexport function resolveEmittedLogLevel(\n requestedLevel: string,\n context: Record<string, unknown> | undefined,\n): string {\n const floor = resolveLogSeverityFloor(context);\n if (floor === undefined) return requestedLevel;\n\n const requestedRank = LOG_LEVEL_RANK.indexOf(requestedLevel);\n if (requestedRank < 0) return requestedLevel;\n\n return LOG_LEVEL_RANK.indexOf(floor) > requestedRank ? floor : requestedLevel;\n}\n"]}