@wildo-ai/saas-backend-lib 1.1.2 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1358) hide show
  1. package/dist/esm/__tests__/fixture-deep-partial.d.ts.map +1 -1
  2. package/dist/esm/__tests__/integration/redis-integration-gate.d.ts.map +1 -1
  3. package/dist/esm/__tests__/setup.d.ts.map +1 -1
  4. package/dist/esm/__tests__/test-container.d.ts.map +1 -1
  5. package/dist/esm/applications/models/applications.backend.schemas.d.ts.map +1 -1
  6. package/dist/esm/applications/seeds/application-metadata-defaults.seeds.d.ts.map +1 -1
  7. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
  8. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
  9. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
  10. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
  11. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
  12. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
  13. package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts.map +1 -1
  14. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +1 -1
  15. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -1
  16. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -1
  17. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -1
  18. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -1
  19. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
  20. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
  21. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
  22. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
  23. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
  24. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
  25. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +210 -0
  26. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
  27. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
  28. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
  29. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
  30. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
  31. package/dist/esm/base-classes/services/batches/resource-retention-sweep.batch.backend.service.d.ts.map +1 -1
  32. package/dist/esm/base-classes/services/batches/suspension-reactivation-sweep.batch.backend.service.d.ts.map +1 -1
  33. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -1
  34. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
  35. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +27 -6
  36. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  37. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
  38. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
  39. package/dist/esm/base-classes/services/controllers/utils/audit-access-fields.backend.utils.d.ts.map +1 -1
  40. package/dist/esm/base-classes/services/controllers/utils/operation-response-serializer.backend.utils.d.ts.map +1 -1
  41. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -1
  42. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -1
  44. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
  45. package/dist/esm/base-classes/services/repositories/http-api/http-api-filter-translation.backend.d.ts.map +1 -1
  46. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
  47. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  48. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +220 -25
  49. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  50. package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map +1 -1
  51. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
  52. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  53. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +191 -26
  54. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  55. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +47 -4
  56. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  57. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +96 -29
  58. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  59. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
  60. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
  61. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
  62. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
  63. package/dist/esm/base-classes/services/repositories/http-api/http-api-row-projection.backend.d.ts.map +1 -1
  64. package/dist/esm/base-classes/services/repositories/http-api/http-api-subject-erasure-effect.backend.d.ts.map +1 -1
  65. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
  66. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
  68. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  69. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
  70. package/dist/esm/base-classes/services/repositories/http-api/odoo-jsonrpc-compiler.backend.d.ts.map +1 -1
  71. package/dist/esm/base-classes/services/repositories/http-api/rest-json-query-compiler.backend.d.ts.map +1 -1
  72. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  73. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +9 -1
  74. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  75. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
  76. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
  77. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +106 -0
  78. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  79. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +266 -20
  80. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  81. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  82. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +23 -3
  83. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  84. package/dist/esm/base-classes/services/repositories/repository-guarded-mutation.backend.types.d.ts.map +1 -1
  85. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +5 -2
  86. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  87. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +34 -3
  88. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  89. package/dist/esm/base-classes/services/repositories/repository-version-metadata.backend.utils.d.ts.map +1 -1
  90. package/dist/esm/base-classes/services/repositories/resource-write-integrity.backend.d.ts.map +1 -1
  91. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts +72 -0
  92. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts.map +1 -0
  93. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js +88 -0
  94. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js.map +1 -0
  95. package/dist/esm/base-classes/services/repositories/unique-constraint-conflict-reference.backend.d.ts.map +1 -1
  96. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -1
  97. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -1
  98. package/dist/esm/base-classes/services/services/__tests__/mock-system-access.service.d.ts.map +1 -1
  99. package/dist/esm/base-classes/services/services/read-only-field-change.backend.utils.d.ts.map +1 -1
  100. package/dist/esm/base-classes/services/services/resource-operation-audit-emission.backend.utils.d.ts.map +1 -1
  101. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
  102. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  103. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  104. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
  105. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
  106. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
  107. package/dist/esm/base-classes/services/services/resource-operation-server-injected-fields.backend.utils.d.ts.map +1 -1
  108. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
  109. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  110. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
  111. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  112. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
  113. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  114. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
  115. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  116. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
  117. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  118. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +571 -45
  119. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  120. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
  121. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  122. package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
  123. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  124. package/dist/esm/base-classes/utils/backend-type-utils.d.ts.map +1 -1
  125. package/dist/esm/base-classes/utils/single-subject-addressing.backend.utils.d.ts.map +1 -1
  126. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
  127. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
  128. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
  129. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
  130. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
  131. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
  132. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
  133. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
  134. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
  135. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
  136. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
  137. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
  138. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts.map +1 -1
  139. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -1
  140. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
  141. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
  142. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +475 -0
  143. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
  144. package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -1
  145. package/dist/esm/billing/services/back-office/billing-state.backend.service.js +11 -1
  146. package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -1
  147. package/dist/esm/billing/services/back-office/billing-subject-erasure-effect.backend.d.ts.map +1 -1
  148. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
  149. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  150. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
  151. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  152. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
  153. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  154. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
  155. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  156. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
  157. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
  158. package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
  159. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
  160. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
  161. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  162. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
  163. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  164. package/dist/esm/billing/services/billing.utils.d.ts.map +1 -1
  165. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  166. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +48 -7
  167. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  168. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +70 -1
  169. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  170. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +98 -2
  171. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  172. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
  173. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  174. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
  175. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  176. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  177. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
  178. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  179. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
  180. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  181. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  182. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
  183. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  184. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +21 -1
  185. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  186. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +109 -2
  187. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  188. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
  189. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
  190. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
  191. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
  192. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts.map +1 -1
  193. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -1
  194. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
  195. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  196. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +310 -29
  197. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  198. package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -1
  199. package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
  200. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  201. package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
  202. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  203. package/dist/esm/charts/controllers/chart.backend.controller.d.ts.map +1 -1
  204. package/dist/esm/charts/services/chart-registry.backend.service.d.ts +80 -7
  205. package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -1
  206. package/dist/esm/charts/services/chart-registry.backend.service.js +115 -8
  207. package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -1
  208. package/dist/esm/companion-exports.d.ts.map +1 -1
  209. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -1
  210. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.d.ts.map +1 -1
  211. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
  212. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  213. package/dist/esm/compliance/audit-trails/batches/immudb-audit-reconcile.batch.backend.service.d.ts.map +1 -1
  214. package/dist/esm/compliance/audit-trails/batches/siem-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  215. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -1
  216. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +225 -13
  217. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  218. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +340 -62
  219. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  220. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +350 -10
  221. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  222. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +562 -10
  223. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  224. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  225. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
  226. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  227. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +6 -2
  228. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  229. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +31 -9
  230. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
  231. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
  232. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  233. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +57 -1
  234. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  235. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
  236. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
  237. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
  238. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
  239. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  240. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +52 -0
  241. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  242. package/dist/esm/compliance/audit-trails/services/utils/ocsf-class-mapping.backend.utils.d.ts.map +1 -1
  243. package/dist/esm/compliance/audit-trails/services/utils/siem-dictionary.backend.utils.d.ts.map +1 -1
  244. package/dist/esm/compliance/audit-trails/services/utils/siem-ocsf-projection.backend.utils.d.ts.map +1 -1
  245. package/dist/esm/compliance/audit-trails/services/utils/siem-projection-contract.backend.utils.d.ts.map +1 -1
  246. package/dist/esm/compliance/audit-trails/utils/audit-actor.backend.utils.d.ts.map +1 -1
  247. package/dist/esm/compliance/audit-trails/utils/layer2-audit-provider-boot-diagnostic.backend.utils.d.ts.map +1 -1
  248. package/dist/esm/compliance/index.d.ts.map +1 -1
  249. package/dist/esm/compliance/privacy/retention-hide-predicate.backend.d.ts.map +1 -1
  250. package/dist/esm/compliance/privacy/services/subject-erasure-external-effects.backend.service.d.ts.map +1 -1
  251. package/dist/esm/compliance/privacy/services/subject-session-revocation.backend.service.d.ts.map +1 -1
  252. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
  253. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  254. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
  255. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  256. package/dist/esm/config/bootstrap/minion-initialization-projection.backend.d.ts.map +1 -1
  257. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.d.ts.map +1 -1
  258. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js +3 -0
  259. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js.map +1 -1
  260. package/dist/esm/config/bootstrap/runtime-principal.backend.service.d.ts.map +1 -1
  261. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
  262. package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -1
  263. package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -1
  264. package/dist/esm/config/models/app-config.backend.schemas.d.ts +145 -49
  265. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  266. package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
  267. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  268. package/dist/esm/config/models/app-env-config.backend.schemas.d.ts.map +1 -1
  269. package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts +36 -0
  270. package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts.map +1 -0
  271. package/dist/esm/config/models/apps-manager-transport.backend.definitions.js +36 -0
  272. package/dist/esm/config/models/apps-manager-transport.backend.definitions.js.map +1 -0
  273. package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -1
  274. package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -1
  275. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
  276. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  277. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
  278. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  279. package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts.map +1 -1
  280. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -1
  281. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
  282. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  283. package/dist/esm/config/services/app-configuration-loader.backend.service.js +71 -76
  284. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  285. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  286. package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
  287. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  288. package/dist/esm/config/services/app-configuration.backend.utils.d.ts +33 -0
  289. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  290. package/dist/esm/config/services/app-configuration.backend.utils.js +39 -1
  291. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  292. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +37 -0
  293. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  294. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +69 -1
  295. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  296. package/dist/esm/data-seeding/batches/data-seeding-run-cleanup.batch.backend.service.d.ts.map +1 -1
  297. package/dist/esm/data-seeding/batches/data-seeding-scheduled-rerun.batch.backend.service.d.ts.map +1 -1
  298. package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.contracts.d.ts.map +1 -1
  299. package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.controller.d.ts.map +1 -1
  300. package/dist/esm/data-seeding/data-seeding-models.d.ts.map +1 -1
  301. package/dist/esm/data-seeding/models/business-key-resolver.shared.utils.d.ts.map +1 -1
  302. package/dist/esm/data-seeding/models/data-seed-execution-context.shared.types.d.ts.map +1 -1
  303. package/dist/esm/data-seeding/models/data-seed-migrator-runner.shared.utils.d.ts.map +1 -1
  304. package/dist/esm/data-seeding/models/data-seed-reconciler.shared.utils.d.ts.map +1 -1
  305. package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.schemas.d.ts.map +1 -1
  306. package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.utils.d.ts.map +1 -1
  307. package/dist/esm/data-seeding/models/data-seed-run.shared.resources-config.schemas.d.ts.map +1 -1
  308. package/dist/esm/data-seeding/models/data-seed-run.shared.schemas.d.ts.map +1 -1
  309. package/dist/esm/data-seeding/models/data-seed-trigger-mode-matrix.shared.utils.d.ts.map +1 -1
  310. package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
  311. package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
  312. package/dist/esm/data-seeding/services/data-seed-dispatcher.backend.service.d.ts.map +1 -1
  313. package/dist/esm/data-seeding/services/data-seed-registry.backend.service.d.ts.map +1 -1
  314. package/dist/esm/data-seeding/services/data-seed-scope-resolver-registry.backend.service.d.ts.map +1 -1
  315. package/dist/esm/data-seeding/services/engines/additive-seed-engine.backend.service.d.ts.map +1 -1
  316. package/dist/esm/data-seeding/services/engines/lazy-seed-engine.backend.service.d.ts.map +1 -1
  317. package/dist/esm/data-seeding/services/engines/manual-seed-engine.backend.service.d.ts.map +1 -1
  318. package/dist/esm/data-seeding/services/engines/sync-seed-engine.backend.service.d.ts.map +1 -1
  319. package/dist/esm/data-seeding/services/engines/upgrade-seed-engine.backend.service.d.ts.map +1 -1
  320. package/dist/esm/data-seeding/services/shared/data-seed-business-key.shared.utils.d.ts.map +1 -1
  321. package/dist/esm/data-seeding/services/shared/data-seed-error.shared.utils.d.ts.map +1 -1
  322. package/dist/esm/data-seeding/services/shared/data-seed-run-counters.shared.types.d.ts.map +1 -1
  323. package/dist/esm/data-seeding/services/shared/data-seed-run-ledger.backend.d.ts.map +1 -1
  324. package/dist/esm/data-seeding/services/shared/data-seed-scope-anchor.shared.types.d.ts.map +1 -1
  325. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts.map +1 -1
  326. package/dist/esm/data-seeding/services/shared/data-seed-scope-resolution.backend.d.ts.map +1 -1
  327. package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -1
  328. package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -1
  329. package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -1
  330. package/dist/esm/databases/models/resolve-persistence-adapter.backend.utils.d.ts.map +1 -1
  331. package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -1
  332. package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -1
  333. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -1
  334. package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -1
  335. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -1
  336. package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -1
  337. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -1
  338. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
  339. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -1
  340. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -1
  341. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -1
  342. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -1
  343. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -1
  344. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -1
  345. package/dist/esm/databases/services/db-utils.d.ts.map +1 -1
  346. package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -1
  347. package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -1
  348. package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -1
  349. package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -1
  350. package/dist/esm/databases/services/postgresql-development-provisioning.backend.d.ts.map +1 -1
  351. package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -1
  352. package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
  353. package/dist/esm/databases/services/postgresql-schema-ddl.backend.d.ts.map +1 -1
  354. package/dist/esm/databases/services/postgresql-schema-migration-sql.backend.d.ts.map +1 -1
  355. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  356. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
  357. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  358. package/dist/esm/databases/services/postgresql-schema-plan-lockfile.backend.d.ts.map +1 -1
  359. package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
  360. package/dist/esm/databases/services/resource-persistence-unit-of-work.backend.service.d.ts.map +1 -1
  361. package/dist/esm/databases/services/schema-planning-standalone.backend.d.ts.map +1 -1
  362. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -1
  363. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -1
  364. package/dist/esm/databases/utils/postgresql-identifier.backend.utils.d.ts.map +1 -1
  365. package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -1
  366. package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
  367. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  368. package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
  369. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  370. package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
  371. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  372. package/dist/esm/errors/services/error-handler.backend.service.js +129 -8
  373. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  374. package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
  375. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  376. package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
  377. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  378. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
  379. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  380. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
  381. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  382. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
  383. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  384. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
  385. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  386. package/dist/esm/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.d.ts.map +1 -1
  387. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -1
  388. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -1
  389. package/dist/esm/external-data/external-data-extraction-source.backend.d.ts.map +1 -1
  390. package/dist/esm/external-data/external-data-models.exports.d.ts.map +1 -1
  391. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +59 -2
  392. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  393. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +52 -17
  394. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  395. package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
  396. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
  397. package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -1
  398. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
  399. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  400. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  401. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +306 -0
  402. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
  403. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +379 -0
  404. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
  405. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
  406. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
  407. package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
  408. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
  409. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
  410. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
  411. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +235 -0
  412. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
  413. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
  414. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
  415. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
  416. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
  417. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
  418. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  419. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
  420. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  421. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
  422. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
  423. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
  424. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
  425. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
  426. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  427. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
  428. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  429. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts +81 -34
  430. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  431. package/dist/esm/external-providers/services/document-extraction.backend.service.js +181 -100
  432. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  433. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  434. package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
  435. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  436. package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts.map +1 -1
  437. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +413 -7
  438. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  439. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +684 -45
  440. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  441. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts +15 -1
  442. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  443. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +84 -5
  444. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  445. package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -1
  446. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -1
  447. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -1
  448. package/dist/esm/features/services/application-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
  449. package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -1
  450. package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -1
  451. package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -1
  452. package/dist/esm/features/services/organization-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
  453. package/dist/esm/features/services/scope-feature-ledger-relationship.backend.utils.d.ts.map +1 -1
  454. package/dist/esm/features/services/scope-features-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  455. package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -1
  456. package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -1
  457. package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -1
  458. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -1
  459. package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -1
  460. package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -1
  461. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -1
  462. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  463. package/dist/esm/files/controllers/file.controller.js +21 -13
  464. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  465. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -1
  466. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -1
  467. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +37 -0
  468. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  469. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +260 -36
  470. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  471. package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -1
  472. package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -1
  473. package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -1
  474. package/dist/esm/files/scanning/yara-scanner.backend.service.js +20 -2
  475. package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -1
  476. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -1
  477. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -1
  478. package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -1
  479. package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -1
  480. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
  481. package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
  482. package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -1
  483. package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
  484. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  485. package/dist/esm/files/services/file-scanning.backend.service.js +202 -17
  486. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  487. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
  488. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  489. package/dist/esm/files/services/file-text-extraction.backend.service.js +175 -13
  490. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  491. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +53 -2
  492. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
  493. package/dist/esm/files/services/file-upload-grant.backend.service.js +127 -3
  494. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
  495. package/dist/esm/files/services/files.backend.service.d.ts +68 -0
  496. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  497. package/dist/esm/files/services/files.backend.service.js +177 -5
  498. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  499. package/dist/esm/files/services/rag-source-field-detection.backend.service.d.ts.map +1 -1
  500. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
  501. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
  502. package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
  503. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
  504. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts.map +1 -1
  505. package/dist/esm/files/storage/file-storage-provider.types.d.ts +52 -11
  506. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  507. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  508. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +21 -3
  509. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -1
  510. package/dist/esm/files/storage/file-storage-router.backend.service.js +38 -5
  511. package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -1
  512. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts +87 -0
  513. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts.map +1 -0
  514. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js +340 -0
  515. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js.map +1 -0
  516. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
  517. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  518. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
  519. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  520. package/dist/esm/files/storage/storage-credential-provider.backend.utils.d.ts.map +1 -1
  521. package/dist/esm/files/storage/storage-platform-sts-credential-resolver.backend.utils.d.ts.map +1 -1
  522. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.d.ts.map +1 -1
  523. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js +10 -3
  524. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js.map +1 -1
  525. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  526. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
  527. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  528. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  529. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
  530. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  531. package/dist/esm/files/utils/file-upload.utils.d.ts.map +1 -1
  532. package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
  533. package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
  534. package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -1
  535. package/dist/esm/files/utils/image-derivation.backend.utils.d.ts.map +1 -1
  536. package/dist/esm/files/utils/image-thumbnail.backend.utils.d.ts.map +1 -1
  537. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
  538. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
  539. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
  540. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
  541. package/dist/esm/files/utils/rag-source-field-schema-path.backend.utils.d.ts.map +1 -1
  542. package/dist/esm/files/utils/storage-application-identity.backend.utils.d.ts.map +1 -1
  543. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
  544. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  545. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
  546. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  547. package/dist/esm/flows-actors/a2a/batches/a2a-push-delivery.batch.backend.service.d.ts.map +1 -1
  548. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  549. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
  550. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  551. package/dist/esm/flows-actors/a2a/models/a2a-dialect.backend.schemas.d.ts.map +1 -1
  552. package/dist/esm/flows-actors/a2a/models/a2a-push-notification-delivery.backend.utils.d.ts.map +1 -1
  553. package/dist/esm/flows-actors/a2a/models/a2a-push-notification.backend.schemas.d.ts.map +1 -1
  554. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
  555. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  556. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
  557. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  558. package/dist/esm/flows-actors/a2a/services/a2a-push-delivery-log.repository.d.ts.map +1 -1
  559. package/dist/esm/flows-actors/a2a/services/a2a-push-dispatcher.backend.service.d.ts.map +1 -1
  560. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
  561. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  562. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +196 -40
  563. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  564. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
  565. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  566. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
  567. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  568. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
  569. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  570. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
  571. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  572. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
  573. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  574. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  575. package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts.map +1 -1
  576. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
  577. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  578. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
  579. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  580. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts.map +1 -1
  581. package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -1
  582. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
  583. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  584. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
  585. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  586. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts.map +1 -1
  587. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
  588. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  589. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  590. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +179 -8
  591. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  592. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +436 -34
  593. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  594. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  595. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
  596. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  597. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
  598. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
  599. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
  600. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
  601. package/dist/esm/flows-actors/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +1 -1
  602. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  603. package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
  604. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  605. package/dist/esm/flows-actors/services/agent-call-trace-sink.backend.d.ts.map +1 -1
  606. package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -1
  607. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +132 -6
  608. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  609. package/dist/esm/flows-actors/services/agents.backend.service.js +467 -49
  610. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  611. package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -1
  612. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +50 -1
  613. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  614. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +270 -20
  615. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  616. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
  617. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  618. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
  619. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  620. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  621. package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
  622. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  623. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  624. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
  625. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  626. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
  627. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
  628. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +371 -0
  629. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
  630. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts +99 -0
  631. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts.map +1 -0
  632. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js +155 -0
  633. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js.map +1 -0
  634. package/dist/esm/flows-actors/services/meta-workflow-evaluation-treatment-compiler.backend.service.d.ts.map +1 -1
  635. package/dist/esm/flows-actors/services/meta-workflow-standard-action-contracts.backend.service.d.ts.map +1 -1
  636. package/dist/esm/flows-actors/services/meta-workflow-standard-evaluation-contracts.backend.service.d.ts.map +1 -1
  637. package/dist/esm/flows-actors/services/meta-workflow-structured-artifact-action-compiler.backend.service.d.ts.map +1 -1
  638. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
  639. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  640. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
  641. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  642. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  643. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +17 -4
  644. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  645. package/dist/esm/flows-actors/utils/bounded-subprocess.backend.utils.d.ts.map +1 -1
  646. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -1
  647. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
  648. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  649. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
  650. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  651. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  652. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  653. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -1
  654. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts +77 -0
  655. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts.map +1 -0
  656. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js +164 -0
  657. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js.map +1 -0
  658. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts +48 -0
  659. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts.map +1 -0
  660. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js +101 -0
  661. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js.map +1 -0
  662. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -1
  663. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -1
  664. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -1
  665. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -1
  666. package/dist/esm/guidance/services/lifecycle-scope-id.backend.utils.d.ts.map +1 -1
  667. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -1
  668. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -1
  669. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
  670. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  671. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
  672. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  673. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
  674. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
  675. package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
  676. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
  677. package/dist/esm/guidance/services/scoped-state-read-custom-implementations.backend.d.ts.map +1 -1
  678. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
  679. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  680. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
  681. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  682. package/dist/esm/i18n/services/i18n.backend.service.d.ts.map +1 -1
  683. package/dist/esm/index.d.ts +11 -5
  684. package/dist/esm/index.d.ts.map +1 -1
  685. package/dist/esm/index.js +31 -5
  686. package/dist/esm/index.js.map +1 -1
  687. package/dist/esm/inject/models/container.d.ts +10 -0
  688. package/dist/esm/inject/models/container.d.ts.map +1 -1
  689. package/dist/esm/inject/models/container.js +126 -10
  690. package/dist/esm/inject/models/container.js.map +1 -1
  691. package/dist/esm/inject/models/service-types.d.ts +20 -3
  692. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  693. package/dist/esm/inject/models/service-types.js +22 -3
  694. package/dist/esm/inject/models/service-types.js.map +1 -1
  695. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  696. package/dist/esm/mcp/controllers/mcp.controller.js +70 -3
  697. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  698. package/dist/esm/mcp/models/mcp-protocol.backend.schemas.d.ts.map +1 -1
  699. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
  700. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
  701. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +56 -1
  702. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  703. package/dist/esm/mcp/services/mcp-server.backend.service.js +107 -11
  704. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  705. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  706. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +22 -0
  707. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  708. package/dist/esm/mcp/services/resource-server-instances-registry.backend.service.d.ts.map +1 -1
  709. package/dist/esm/mcp/utils/zod-to-mcp-json-schema.backend.utils.d.ts.map +1 -1
  710. package/dist/esm/meta-workflow-runtime.exports.d.ts.map +1 -1
  711. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  712. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
  713. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  714. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
  715. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
  716. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
  717. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
  718. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
  719. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  720. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
  721. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  722. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
  723. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  724. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  725. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
  726. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  727. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
  728. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  729. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +1 -1
  730. package/dist/esm/monitoring/logger/services/logger.service.d.ts +24 -0
  731. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  732. package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
  733. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  734. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
  735. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
  736. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
  737. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
  738. package/dist/esm/monitoring/logger/utils/log-value-normalization.backend.utils.d.ts.map +1 -1
  739. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +313 -0
  740. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
  741. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +389 -0
  742. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
  743. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
  744. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  745. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  746. package/dist/esm/monitoring/observability/otel-preload.d.ts.map +1 -1
  747. package/dist/esm/monitoring/observability/otel-sdk-global-handle.d.ts.map +1 -1
  748. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +1 -1
  749. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
  750. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  751. package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
  752. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  753. package/dist/esm/monitoring/observability/services/observability.backend.service.d.ts.map +1 -1
  754. package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -1
  755. package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -1
  756. package/dist/esm/notifications/email/models/email-transport.backend.definitions.d.ts.map +1 -1
  757. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -1
  758. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
  759. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  760. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
  761. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  762. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  763. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
  764. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  765. package/dist/esm/notifications/email/services/email.backend.service.d.ts +102 -5
  766. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  767. package/dist/esm/notifications/email/services/email.backend.service.js +222 -70
  768. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  769. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
  770. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  771. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  772. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts.map +1 -1
  773. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -1
  774. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
  775. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  776. package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
  777. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  778. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +99 -13
  779. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  780. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +422 -66
  781. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  782. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts +32 -0
  783. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts.map +1 -0
  784. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js +32 -0
  785. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js.map +1 -0
  786. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +64 -10
  787. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  788. package/dist/esm/notifications/sms/services/sms.backend.service.js +277 -82
  789. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  790. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
  791. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  792. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
  793. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  794. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
  795. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  796. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +46 -1
  797. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  798. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
  799. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  800. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +16 -6
  801. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  802. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
  803. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository.d.ts.map +1 -1
  804. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service.d.ts.map +1 -1
  805. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.d.ts.map +1 -1
  806. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  807. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +12 -12
  808. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  809. package/dist/esm/notifications/webhooks/outbound/services/webhook-config.backend.service.d.ts.map +1 -1
  810. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -1
  811. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
  812. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  813. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
  814. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  815. package/dist/esm/organizations/batches/organization-member-invitation-sweep.batch.backend.service.d.ts.map +1 -1
  816. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
  817. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts.map +1 -1
  818. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
  819. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  820. package/dist/esm/organizations/services/authority-change-audit.backend.utils.d.ts.map +1 -1
  821. package/dist/esm/organizations/services/invitation-acceptance.backend.utils.d.ts.map +1 -1
  822. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -1
  823. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -1
  824. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  825. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
  826. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  827. package/dist/esm/organizations/services/organization-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
  828. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -1
  829. package/dist/esm/organizations/services/organization-onboarding-operation.backend.utils.d.ts.map +1 -1
  830. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
  831. package/dist/esm/organizations/services/organization-unit-member-custom-implementation.backend.service.d.ts.map +1 -1
  832. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -1
  833. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -1
  834. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -1
  835. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +1 -1
  836. package/dist/esm/pdf-templates/models/pdf-template-binding.d.ts.map +1 -1
  837. package/dist/esm/pdf-templates/models/pdf-template-definition.d.ts.map +1 -1
  838. package/dist/esm/pdf-templates/services/pdf-generated-file-writer.backend.service.d.ts.map +1 -1
  839. package/dist/esm/pdf-templates/services/pdf-generation-orchestrator.backend.service.d.ts.map +1 -1
  840. package/dist/esm/pdf-templates/services/pdf-renderer.backend.service.d.ts.map +1 -1
  841. package/dist/esm/pdf-templates/services/pdf-template-binding.backend.service.d.ts.map +1 -1
  842. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
  843. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
  844. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
  845. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
  846. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
  847. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
  848. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
  849. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
  850. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
  851. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
  852. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
  853. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
  854. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
  855. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
  856. package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
  857. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
  858. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
  859. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  860. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
  861. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  862. package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts.map +1 -1
  863. package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -1
  864. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
  865. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  866. package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
  867. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  868. package/dist/esm/queue/job-completion-registry.backend.service.d.ts.map +1 -1
  869. package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
  870. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  871. package/dist/esm/queue/job-consumer.backend.service.js +1 -4
  872. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  873. package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
  874. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  875. package/dist/esm/queue/job-executor.backend.service.js +1 -4
  876. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  877. package/dist/esm/queue/job-payload-storage.backend.service.d.ts.map +1 -1
  878. package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
  879. package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
  880. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  881. package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
  882. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  883. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
  884. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  885. package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
  886. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  887. package/dist/esm/queue/queue.backend.service.d.ts +3 -3
  888. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  889. package/dist/esm/queue/queue.backend.service.js +26 -4
  890. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  891. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -1
  892. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
  893. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  894. package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
  895. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  896. package/dist/esm/rag/batches/rag-embedding-drain.batch.backend.service.d.ts.map +1 -1
  897. package/dist/esm/rag/batches/rag-reconciliation-sweep.batch.backend.service.d.ts.map +1 -1
  898. package/dist/esm/rag/models/rag-chunk-store.backend.types.d.ts.map +1 -1
  899. package/dist/esm/rag/models/rag-retrieval.backend.types.d.ts.map +1 -1
  900. package/dist/esm/rag/services/mongodb-rag-chunk-store.backend.service.d.ts.map +1 -1
  901. package/dist/esm/rag/services/postgresql-rag-chunk-store.backend.service.d.ts.map +1 -1
  902. package/dist/esm/rag/services/rag-chunk-collection.mongodb-ddl.backend.d.ts.map +1 -1
  903. package/dist/esm/rag/services/rag-chunk-retrieval.mongodb-query.backend.d.ts.map +1 -1
  904. package/dist/esm/rag/services/rag-chunk-retrieval.postgresql-query.backend.d.ts.map +1 -1
  905. package/dist/esm/rag/services/rag-chunk-store.backend.service.d.ts.map +1 -1
  906. package/dist/esm/rag/services/rag-chunk-table.postgresql-ddl.backend.d.ts.map +1 -1
  907. package/dist/esm/rag/services/rag-ingestion.backend.service.d.ts.map +1 -1
  908. package/dist/esm/rag/services/rag-retrieval.backend.service.d.ts.map +1 -1
  909. package/dist/esm/rag/utils/rag-chunk-fusion.backend.utils.d.ts.map +1 -1
  910. package/dist/esm/rag/utils/rag-chunk-removal.backend.utils.d.ts.map +1 -1
  911. package/dist/esm/rag/utils/rag-chunk-row-shaping.backend.utils.d.ts.map +1 -1
  912. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
  913. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  914. package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
  915. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  916. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
  917. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  918. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
  919. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  920. package/dist/esm/rag/utils/rag-ingestion-trigger.backend.utils.d.ts.map +1 -1
  921. package/dist/esm/rag/utils/rag-retrieval-scope.backend.utils.d.ts.map +1 -1
  922. package/dist/esm/rag/utils/rag-source-field-value.backend.utils.d.ts.map +1 -1
  923. package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -1
  924. package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -1
  925. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -1
  926. package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -1
  927. package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -1
  928. package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -1
  929. package/dist/esm/requests/service/websocket.service.d.ts +9 -0
  930. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  931. package/dist/esm/requests/service/websocket.service.js +81 -9
  932. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  933. package/dist/esm/resources/backend-resource-registry.exports.d.ts.map +1 -1
  934. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  935. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
  936. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  937. package/dist/esm/resources/models/index.d.ts.map +1 -1
  938. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  939. package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
  940. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  941. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  942. package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
  943. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  944. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
  945. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  946. package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
  947. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  948. package/dist/esm/resources/models/resources.backend.schemas.d.ts.map +1 -1
  949. package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -1
  950. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -1
  951. package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -1
  952. package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -1
  953. package/dist/esm/resources/services/resource-population.backend.service.d.ts +17 -2
  954. package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -1
  955. package/dist/esm/resources/services/resource-population.backend.service.js +74 -18
  956. package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -1
  957. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +83 -5
  958. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  959. package/dist/esm/resources/services/resources-registry.backend.service.js +121 -6
  960. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  961. package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -1
  962. package/dist/esm/resources/utils/resource-retention.backend.utils.d.ts.map +1 -1
  963. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
  964. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  965. package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
  966. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  967. package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
  968. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  969. package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
  970. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  971. package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts.map +1 -1
  972. package/dist/esm/runtime/models/request-context.als.backend.d.ts.map +1 -1
  973. package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -1
  974. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
  975. package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
  976. package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -1
  977. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
  978. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  979. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  980. package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
  981. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  982. package/dist/esm/runtime/services/http-server.backend.service.js +191 -1
  983. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  984. package/dist/esm/runtime/services/start-application.backend.service.d.ts +19 -1
  985. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  986. package/dist/esm/runtime/services/start-application.backend.service.js +287 -89
  987. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  988. package/dist/esm/runtime/services/utils/oauth-body-cap.backend.utils.d.ts.map +1 -1
  989. package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -1
  990. package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -1
  991. package/dist/esm/runtime/utils/application-startup-config-access.backend.utils.d.ts.map +1 -1
  992. package/dist/esm/runtime/utils/feature-gated-core-resource-exclusions.backend.utils.d.ts.map +1 -1
  993. package/dist/esm/runtime/utils/request-client-ip.utils.d.ts.map +1 -1
  994. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -1
  995. package/dist/esm/security/api-keys/api-key-generation.backend.utils.d.ts.map +1 -1
  996. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
  997. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  998. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
  999. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  1000. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
  1001. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  1002. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
  1003. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  1004. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts.map +1 -1
  1005. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +22 -0
  1006. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  1007. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +113 -4
  1008. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  1009. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
  1010. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  1011. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
  1012. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  1013. package/dist/esm/security/authentications/models/auth-constants.backend.d.ts.map +1 -1
  1014. package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -1
  1015. package/dist/esm/security/authentications/models/authorization-client.backend.schemas.d.ts.map +1 -1
  1016. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
  1017. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  1018. package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
  1019. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  1020. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts +37 -0
  1021. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts.map +1 -0
  1022. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js +37 -0
  1023. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js.map +1 -0
  1024. package/dist/esm/security/authentications/models/identity-persistence-boundaries.backend.d.ts.map +1 -1
  1025. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
  1026. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +30 -0
  1027. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  1028. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  1029. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -1
  1030. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -1
  1031. package/dist/esm/security/authentications/models/user-authorization-version.backend.utils.d.ts.map +1 -1
  1032. package/dist/esm/security/authentications/seeds/enterprise-config-defaults.seeds.d.ts.map +1 -1
  1033. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -1
  1034. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -1
  1035. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +1 -1
  1036. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -1
  1037. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -1
  1038. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
  1039. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  1040. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
  1041. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  1042. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
  1043. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  1044. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
  1045. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  1046. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
  1047. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  1048. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
  1049. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  1050. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
  1051. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  1052. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
  1053. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  1054. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts.map +1 -1
  1055. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +2 -1
  1056. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -1
  1057. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +197 -0
  1058. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  1059. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +384 -53
  1060. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  1061. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -1
  1062. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -1
  1063. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  1064. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +68 -1
  1065. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  1066. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
  1067. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
  1068. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts.map +1 -1
  1069. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
  1070. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  1071. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
  1072. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  1073. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts +97 -0
  1074. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  1075. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +260 -27
  1076. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  1077. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +14 -0
  1078. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  1079. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +70 -4
  1080. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  1081. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts.map +1 -1
  1082. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -1
  1083. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -1
  1084. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -1
  1085. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
  1086. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  1087. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
  1088. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  1089. package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts.map +1 -1
  1090. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +17 -1
  1091. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  1092. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +49 -17
  1093. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  1094. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
  1095. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  1096. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
  1097. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  1098. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
  1099. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  1100. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
  1101. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  1102. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  1103. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
  1104. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  1105. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts.map +1 -1
  1106. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
  1107. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
  1108. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
  1109. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +339 -0
  1110. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
  1111. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
  1112. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  1113. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
  1114. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  1115. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -1
  1116. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +11 -1
  1117. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -1
  1118. package/dist/esm/security/authentications/services/email-verification-initiator.backend.service.d.ts.map +1 -1
  1119. package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map +1 -1
  1120. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
  1121. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  1122. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
  1123. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  1124. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
  1125. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  1126. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
  1127. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  1128. package/dist/esm/security/authentications/services/oidc-user-claims.backend.service.d.ts.map +1 -1
  1129. package/dist/esm/security/authentications/services/resolve-active-member-orgs.backend.utils.d.ts.map +1 -1
  1130. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -1
  1131. package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -1
  1132. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -1
  1133. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  1134. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
  1135. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  1136. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts.map +1 -1
  1137. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  1138. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
  1139. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  1140. package/dist/esm/security/authentications/services/utils/concurrent-session-eviction.backend.utils.d.ts.map +1 -1
  1141. package/dist/esm/security/authentications/services/utils/ensure-user-profile.backend.utils.d.ts.map +1 -1
  1142. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
  1143. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  1144. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
  1145. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  1146. package/dist/esm/security/authentications/services/utils/machine-auth-rate-limit.backend.utils.d.ts.map +1 -1
  1147. package/dist/esm/security/authentications/services/utils/pkce.backend.utils.d.ts.map +1 -1
  1148. package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -1
  1149. package/dist/esm/security/authentications/utils/application-auth-policy-audit.backend.utils.d.ts.map +1 -1
  1150. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
  1151. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  1152. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
  1153. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  1154. package/dist/esm/security/authentications/utils/one-off-session-lifetime.backend.utils.d.ts.map +1 -1
  1155. package/dist/esm/security/authentications/utils/social-oauth2-purpose.backend.utils.d.ts.map +1 -1
  1156. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts +59 -0
  1157. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts.map +1 -0
  1158. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js +111 -0
  1159. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js.map +1 -0
  1160. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts +57 -0
  1161. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts.map +1 -0
  1162. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js +133 -0
  1163. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js.map +1 -0
  1164. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts +41 -0
  1165. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts.map +1 -0
  1166. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js +157 -0
  1167. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js.map +1 -0
  1168. package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts +84 -0
  1169. package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts.map +1 -0
  1170. package/dist/esm/security/authorizations/application-wide-read-admission.backend.js +99 -0
  1171. package/dist/esm/security/authorizations/application-wide-read-admission.backend.js.map +1 -0
  1172. package/dist/esm/security/authorizations/authorization-denial-audit.backend.utils.d.ts.map +1 -1
  1173. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
  1174. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
  1175. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
  1176. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
  1177. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
  1178. package/dist/esm/security/authorizations/junction-scope-resolution.backend.d.ts.map +1 -1
  1179. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
  1180. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  1181. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
  1182. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  1183. package/dist/esm/security/authorizations/organization-unit-narrowing-enforcement.backend.d.ts.map +1 -1
  1184. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  1185. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +37 -124
  1186. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  1187. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -1
  1188. package/dist/esm/security/authorizations/relationship-foreign-key-filter.backend.d.ts.map +1 -1
  1189. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
  1190. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  1191. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
  1192. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  1193. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +133 -0
  1194. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
  1195. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +137 -0
  1196. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
  1197. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +134 -1
  1198. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  1199. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +152 -5
  1200. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  1201. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +146 -8
  1202. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  1203. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +328 -29
  1204. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  1205. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
  1206. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  1207. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
  1208. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  1209. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
  1210. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
  1211. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
  1212. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
  1213. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +299 -0
  1214. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
  1215. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +953 -0
  1216. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
  1217. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +99 -0
  1218. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
  1219. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
  1220. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
  1221. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
  1222. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
  1223. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
  1224. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
  1225. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +210 -0
  1226. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
  1227. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +423 -0
  1228. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
  1229. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
  1230. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  1231. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
  1232. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
  1233. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
  1234. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
  1235. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +282 -0
  1236. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
  1237. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +125 -0
  1238. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
  1239. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +123 -0
  1240. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
  1241. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
  1242. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
  1243. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
  1244. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
  1245. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +214 -0
  1246. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
  1247. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +430 -0
  1248. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
  1249. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
  1250. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  1251. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
  1252. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
  1253. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +98 -0
  1254. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
  1255. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
  1256. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
  1257. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
  1258. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
  1259. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
  1260. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
  1261. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
  1262. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
  1263. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
  1264. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
  1265. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts +34 -0
  1266. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts.map +1 -0
  1267. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js +39 -0
  1268. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js.map +1 -0
  1269. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
  1270. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -1
  1271. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
  1272. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -1
  1273. package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -1
  1274. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -1
  1275. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +21 -3
  1276. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  1277. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +26 -16
  1278. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  1279. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
  1280. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  1281. package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
  1282. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  1283. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -1
  1284. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
  1285. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts +13 -0
  1286. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts.map +1 -1
  1287. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js +14 -0
  1288. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js.map +1 -1
  1289. package/dist/esm/security/jwt/utils/jwt-verification-error-classification.backend.utils.d.ts.map +1 -1
  1290. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
  1291. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  1292. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
  1293. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  1294. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
  1295. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  1296. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
  1297. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  1298. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts +39 -0
  1299. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts.map +1 -0
  1300. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js +60 -0
  1301. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js.map +1 -0
  1302. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts +66 -0
  1303. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts.map +1 -0
  1304. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js +75 -0
  1305. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js.map +1 -0
  1306. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  1307. package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
  1308. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  1309. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
  1310. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  1311. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
  1312. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  1313. package/dist/esm/security/scim/utils/scim-attribute-path-resolver.backend.utils.d.ts.map +1 -1
  1314. package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -1
  1315. package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -1
  1316. package/dist/esm/security/session-invalidation-fence.backend.utils.d.ts.map +1 -1
  1317. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
  1318. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  1319. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
  1320. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  1321. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
  1322. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
  1323. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
  1324. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
  1325. package/dist/esm/security/token-invalidation-fence.backend.utils.d.ts.map +1 -1
  1326. package/dist/esm/testing.d.ts.map +1 -1
  1327. package/dist/esm/users/services/inbound-contact-custom-implementation.backend.service.d.ts.map +1 -1
  1328. package/dist/esm/users/services/user-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
  1329. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
  1330. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
  1331. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
  1332. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
  1333. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
  1334. package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
  1335. package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
  1336. package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
  1337. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1338. package/package.json +11 -9
  1339. package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts +0 -45
  1340. package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts.map +0 -1
  1341. package/dist/esm/external-providers/services/flow-actor-design.backend.service.js +0 -22
  1342. package/dist/esm/external-providers/services/flow-actor-design.backend.service.js.map +0 -1
  1343. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
  1344. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
  1345. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
  1346. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
  1347. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
  1348. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
  1349. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
  1350. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
  1351. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
  1352. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
  1353. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
  1354. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
  1355. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
  1356. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
  1357. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
  1358. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"error-builder.backend.service.js","sourceRoot":"","sources":["../../../../../src/errors/services/error-builder.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { injectable, inject } from 'inversify';\nimport {\n ErrorType,\n ErrorActionBackend,\n WildoError_Backend_Definition,\n WildoError_Backend,\n ErrorCustomMessageReference,\n ERROR_DEFINITIONS,\n ResourcesConfig_OperationPathUtils,\n ResourceConfiguration_Operation,\n ErrorHandling_Strategy,\n RetryPolicy_BackoffType,\n ErrorUserGuidance,\n isWildoBackendError,\n} from '@wildo-ai/saas-models';\nimport { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport { getCurrentCorrelationId } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\n\n\n/**\n * Backend Error Builder Service\n * Creates unified WildoError_Backend instances with ExecutionContext integration\n */\n@injectable()\nexport class ErrorBuilderBackendService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n constructor(\n\n @inject(SAAS_SERVICE_TYPES.Logger) private logger: LoggerService\n ) {\n this.logDebug = this.logger.debugByType('ErrorBuilderBackendService');\n this.logger.setDebugTypeLogging('ErrorBuilderBackendService', false);\n }\n\n /**\n * Build a WildoError_Backend with ExecutionContext integration\n */\n public buildError(\n errorType: ErrorType,\n executionContext?: ExecutionContext<any>,\n options: {\n customMessageReference?: ErrorCustomMessageReference,\n context?: Record<string, any>\n stack?: string;\n skipBackendActions?: boolean;\n skipBackendActionTypes?: readonly ErrorActionBackend[];\n } = {}\n ): WildoError_Backend {\n const errorDefinition = ERROR_DEFINITIONS[errorType];\n const statusCode = errorDefinition.statusCode;\n const effectiveBackendActions = options.skipBackendActions\n ? []\n : errorDefinition.backendActions.filter(\n action => !options.skipBackendActionTypes?.includes(action)\n );\n\n // Extract operation path from execution context\n const operationPathKey = (executionContext)\n ? ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(executionContext.operation as ResourceConfiguration_Operation<any, any, any>)\n : undefined;\n\n\n // Build the WildoError_Backend (context preserved for backend logging;\n // sanitization happens at the HTTP serialization boundary in ErrorHandlerService)\n const wildoError: WildoError_Backend = {\n type: errorType,\n severity: errorDefinition.severity,\n operationPathKey,\n timestamp: new Date(),\n backendActions: effectiveBackendActions,\n customMessageReference: options.customMessageReference ?? errorDefinition.defaultCustomMessageReference,\n statusCode,\n errorHandlingStrategy: errorDefinition.errorHandlingStrategy ?? ErrorHandling_Strategy.STOP,\n retryPolicy: errorDefinition.retryPolicy ?? RetryPolicy_BackoffType.EXPONENTIAL,\n maxRetries: errorDefinition.maxRetries ?? 3,\n initialDelay: errorDefinition.initialDelay ?? 1000,\n baseDelay: errorDefinition.baseDelay ?? 1000,\n initiatorIds: executionContext?.initiatorIds ?? undefined,\n executionType: executionContext?.executionType ?? undefined,\n // Phase 3 — closes gap 3: prefer the threaded EC's id, but fall back to the ambient request-context\n // ALS frame when no EC was passed (the ~67% of buildError calls that pass `undefined`). This is what\n // makes an error built deep in a service — with no EC in hand — still attributable to its request.\n correlationId: executionContext?.correlationId ?? getCurrentCorrelationId(),\n stack: options.stack ?? undefined,\n context: options.context ?? undefined,\n };\n\n // Some callers (for example websocket handshake auth) need to reclassify an\n // expected failure locally instead of emitting the default backend warning.\n if (effectiveBackendActions.length > 0) {\n // Execute backend actions. do not await\n this.executeBackendActions(wildoError);\n }\n\n return wildoError;\n }\n\n public buildFromStandardError(error: unknown, executionContext?: ExecutionContext<any>, options: {\n customMessageReference?: ErrorCustomMessageReference,\n context?: Record<string, any>\n skipBackendActions?: boolean;\n skipBackendActionTypes?: readonly ErrorActionBackend[];\n } = {}): WildoError_Backend {\n // An ALREADY-CLASSIFIED backend error must never be re-derived from scratch here.\n //\n // `WildoError_Backend` is a Zod-INFERRED PLAIN OBJECT, not an `Error` subclass, so a\n // re-wrap fell into the `new Error('Unknown error')` branch below: the caught error's\n // `type`, its `context` (which is where every builder puts the real explanation — the\n // enumerated validation failures, the adapter name, the failing boundary) and its stack\n // were all discarded, and the wrapper was re-classified INTERNAL from a synthetic Error\n // whose only message was the literal string `Unknown error`.\n //\n // That is not a cosmetic loss. It is exactly how a boot failure reaches the log as\n // `{\"errorType\":\"INTERNAL\",\"msg\":\"Application initialization failed\"}` with a stack whose\n // top frame is this method — naming the wrapper and nothing about the cause. Measured\n // 2026-08-14 on `platform-apps-manager`, where a post-registry configuration validation\n // threw with its failing contracts enumerated in `context.message` and the operator saw\n // none of them.\n //\n // The caught error's classification wins: it was chosen deliberately by whoever built it,\n // and this seam's callers pass attribution (`service`, `operation`), not a reclassification.\n // Caller context still wins on key collision, matching the merge below.\n if (isWildoBackendError(error)) {\n return this.buildError(error.type, executionContext, {\n ...options,\n customMessageReference: options.customMessageReference ?? error.customMessageReference,\n context: { ...error.context, ...options.context },\n stack: error.stack,\n });\n }\n\n const err = error instanceof Error\n ? error\n : new Error(typeof error === 'string' ? error : 'Unknown error');\n\n const errorType = this.determineErrorType(err);\n\n // A RAW ZodError / Mongoose ValidationError can reach this global seam\n // (e.g. an express error boundary) WITHOUT having gone through the explicit\n // controller/service validation path, which is the only place that attaches\n // `context.zodIssues` itself. Such an error is still classified VALIDATION\n // by `determineErrorType` (via the name/message heuristics), but it arrives\n // here with no field-level detail — so the client would otherwise receive an\n // opaque `{ type: VALIDATION }` with the real message living only in the\n // (often inaccessible) backend log. Project the error's per-field issues into\n // the same `zodIssues` shape that `sendErrorResponse` surfaces as\n // `validationErrors`, so raw validation failures are debuggable from the API\n // response like the explicit-path ones are.\n //\n // Scoped strictly to VALIDATION-classified errors: no field detail is ever\n // attached to AUTHZ/INTERNAL/DATABASE/etc. errors, preserving the\n // `sanitizeErrorForClient` boundary that strips their context. Only the field\n // path + per-field message are lifted — both already client-safe (they ride\n // the `zodIssues` allowlist, and VALIDATION is a \"safe\" type). The internal\n // `err.message` / stack are deliberately NOT surfaced here.\n const fieldLevelDetail = errorType === ErrorType.VALIDATION\n ? this.extractFieldLevelValidationDetail(err)\n : undefined;\n\n // Caller-supplied context wins on key collision (an explicit path that set\n // `zodIssues` should not be overwritten by the duck-typed extraction).\n const mergedContext = fieldLevelDetail\n ? { ...fieldLevelDetail, ...options.context }\n : options.context;\n\n return this.buildError(errorType, executionContext, {\n ...options,\n context: mergedContext,\n stack: err.stack\n });\n }\n\n /**\n * Extract client-safe field-level detail from a RAW validation error — a plain\n * `ZodError` or a Mongoose `ValidationError` — that reached the global error\n * boundary without going through the explicit controller/service validation\n * path (which attaches `context.zodIssues` itself).\n *\n * Returns the detail in the `{ zodIssues }` shape that\n * `ErrorHandlerService.sendErrorResponse` reduces into the response\n * `validationErrors` map (`{ [fieldPath]: message }`). Only the field `path`\n * and per-field `message` are extracted — both already deemed client-safe (they\n * ride the `zodIssues` allowlist in `sanitizeErrorForClient`, and VALIDATION is\n * a \"safe\" error type). The error's own `message` / stack are NOT included, so\n * internal implementation detail never leaks to the client.\n *\n * Returns `undefined` when the error is not a recognisable field-level\n * validation error (e.g. a generic `Error` whose message merely contains the\n * substring \"invalid\", which `determineErrorType` still classifies VALIDATION)\n * — in that case no `zodIssues` are attached.\n */\n private extractFieldLevelValidationDetail(\n error: Error,\n ): { zodIssues: Array<{ path: (string | number)[]; message: string }> } | undefined {\n // Zod (any instance): duck-type on the `issues` array rather than\n // `instanceof z.ZodError`. Multiple Zod module instances can coexist in the\n // dependency graph, so a nominal `instanceof` check is unreliable at this\n // shared boundary — the shape check is the robust classifier.\n const zodIssues = (error as { issues?: unknown }).issues;\n if (error.name === 'ZodError' && Array.isArray(zodIssues)) {\n const mapped = zodIssues\n .filter(\n (issue): issue is { path: (string | number)[]; message: string } =>\n !!issue\n && typeof issue === 'object'\n && Array.isArray((issue as { path?: unknown }).path)\n && typeof (issue as { message?: unknown }).message === 'string',\n )\n .map(issue => ({ path: issue.path, message: issue.message }));\n return mapped.length > 0 ? { zodIssues: mapped } : undefined;\n }\n\n // Mongoose ValidationError: `errors` is a record keyed by field path, each\n // value a per-path sub-error carrying its own `message`.\n const mongooseErrors = (error as { errors?: unknown }).errors;\n if (\n error.name === 'ValidationError'\n && mongooseErrors\n && typeof mongooseErrors === 'object'\n && !Array.isArray(mongooseErrors)\n ) {\n const mapped = Object.entries(mongooseErrors as Record<string, unknown>).map(\n ([field, subError]) => {\n const message = (subError as { message?: unknown } | null)?.message;\n return {\n path: [field] as (string | number)[],\n message: typeof message === 'string' ? message : 'Invalid value',\n };\n },\n );\n return mapped.length > 0 ? { zodIssues: mapped } : undefined;\n }\n\n return undefined;\n }\n\n /**\n * Build an error with contextual user guidance (Phase 1b).\n *\n * The guidance is attached to the error and will be included in the\n * `ErrorResponse.error.userGuidance` field for the frontend to render.\n *\n * @example\n * ```\n * throw this.errorBuilder.buildErrorWithGuidance(\n * ErrorType.CONFIGURATION,\n * executionContext,\n * {\n * explanation: 'SMTP is not configured for this organization.',\n * resolution: 'Go to Settings → Email and configure your SMTP provider.',\n * nextAction: { label: 'Go to Settings', ref: '/settings/email', type: 'url' },\n * missingConfiguration: ['smtp_host', 'smtp_port'],\n * },\n * { customMessageReference: ErrorCustomMessageReference.GENERIC_DETAIL }\n * );\n * ```\n */\n public buildErrorWithGuidance(\n errorType: ErrorType,\n executionContext: ExecutionContext<any> | undefined,\n guidance: ErrorUserGuidance,\n options: {\n customMessageReference?: ErrorCustomMessageReference;\n context?: Record<string, any>;\n stack?: string;\n } = {}\n ): WildoError_Backend {\n const error = this.buildError(errorType, executionContext, options);\n error.userGuidance = guidance;\n return error;\n }\n\n /**\n * Build an error with a guidance key (i18n reference).\n *\n * Shorthand for `buildErrorWithGuidance` that sets the `guidanceKey` on the guidance object,\n * enabling i18n label resolution under `errors_guidance.{guidanceKey}.{field}`.\n *\n * @param errorType - The error type\n * @param executionContext - Current execution context\n * @param guidanceKey - i18n lookup key (resolves labels under `errors_guidance.{guidanceKey}.*`)\n * @param guidance - Guidance fields (explanation, resolution, etc.) — used as raw fallbacks\n * @param options - Additional error options\n */\n public buildErrorWithGuidanceKey(\n errorType: ErrorType,\n executionContext: ExecutionContext<any> | undefined,\n guidanceKey: string,\n guidance: Omit<ErrorUserGuidance, 'guidanceKey'> = {},\n options: {\n customMessageReference?: ErrorCustomMessageReference;\n context?: Record<string, any>;\n stack?: string;\n } = {}\n ): WildoError_Backend {\n return this.buildErrorWithGuidance(errorType, executionContext, { ...guidance, guidanceKey }, options);\n }\n\n public wildoErrorToSimpleString(wildoError: any): string {\n\n const isWildoError = wildoError && typeof wildoError === 'object' && 'statusCode' in wildoError && 'backendActions' in wildoError;\n if(!isWildoError) {\n return wildoError instanceof Error ? wildoError.message : \"Unknown error\";\n }\n\n let errorMessage = `${wildoError.customMessageReference as string} - ${wildoError.type} - ${wildoError.severity}`;\n if(wildoError.context) {\n errorMessage += `: ${JSON.stringify(wildoError.context)}`;\n }\n return errorMessage;\n }\n\n /**\n * Sanitize an error for client-facing HTTP responses.\n * Called at the serialization boundary (ErrorHandlerService), NOT at build time,\n * so backend logging retains full context for diagnostics.\n *\n * - VALIDATION, CONFLICT, RATE_LIMIT: allowlist of frontend-useful context keys\n * - AUTHENTICATION: allows `authResponse` through (retry/lockout UI data)\n * - Everything else (AUTHZ, INTERNAL, DATABASE, etc.): strips context entirely\n */\n public sanitizeErrorForClient(wildoError: WildoError_Backend): WildoError_Backend {\n // Error types whose context is safe to expose to clients (field-level info needed by frontend)\n const safeTypes = new Set<ErrorType>([ErrorType.VALIDATION, ErrorType.CONFLICT, ErrorType.RATE_LIMIT]);\n\n if (safeTypes.has(wildoError.type)) {\n // For safe types: keep only frontend-relevant keys from context\n if (wildoError.context) {\n const allowedKeys = new Set([\n 'fieldName', 'duplicateValue', 'zodIssues', 'customErrorMessage',\n 'retryAfterSeconds', 'message', 'violations',\n 'versionConflict',\n // Stable, client-branchable error codes (e.g. CrossFrontendHandoffErrorCode).\n // These are non-PII enum values defined in shared schemas (`saas-models`)\n // and consumed by both first-party clients (saas-frontend-lib) and\n // out-of-tree clients (saas-technical-doc/docsAuthClient.ts) for switch-on-code\n // branching. Stripping them at the wire would force callers to regex-parse\n // the human-readable `message`, defeating the purpose of having a stable code\n // enum. See cross-app-jwt-propagation.md C-4 for the contract decision that\n // motivated promoting these keys (the docs-chat client must `import {\n // CrossFrontendHandoffErrorCode } from '@wildo-ai/saas-models'` and branch on\n // `error.details.code === CrossFrontendHandoffErrorCode.UNKNOWN_TARGET_FRONTEND`).\n 'code',\n // Identity selectors that scope a code to a specific resource/service. Already\n // present in the request the client made (so disclosure is a no-op), but echoing\n // them back lets the client emit useful diagnostics (\"target frontend `docs` is\n // not configured…\") without re-parsing its own request body. PII-safe by\n // construction: these are SaaS-config service keys, never user data.\n 'targetServiceKey',\n // ─────────────────────────────────────────────────────────────────────────\n // GENERAL RULE for future endpoints emitting stable client-branchable codes:\n // 1. Define the enum in `@wildo-ai/saas-models` (so frontend + backend share\n // the same source of truth) and reuse the `code` key above to carry it.\n // Do NOT invent a new \"errorKind\" / \"reason\" / \"type\" field — the docs-chat\n // and saas-frontend clients all switch on `error.details.code`.\n // 2. New per-endpoint identity selectors (analogous to `targetServiceKey`)\n // MAY be added to this allowlist when they are PII-safe enum values OR\n // direct echoes of caller-supplied input (i.e. zero net disclosure).\n // 3. NEVER add user-typed strings (emails, names, free-text) to this allowlist\n // — they belong in `customErrorMessage` / `message` and are already covered.\n // 4. NEVER promote an internal cause (`stackTrace`, `dbErrorCode`, `mongoMessage`)\n // — those go through the AUTHZ/INTERNAL/DATABASE branches below which strip\n // context entirely. Surface a stable Wildo enum from the issuing service if\n // the caller needs to branch.\n // ─────────────────────────────────────────────────────────────────────────\n ]);\n const sanitized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(wildoError.context)) {\n if (allowedKeys.has(key)) {\n sanitized[key] = value;\n }\n }\n return {\n ...wildoError,\n context: Object.keys(sanitized).length > 0 ? sanitized : undefined,\n };\n }\n return wildoError;\n }\n\n // AUTHENTICATION errors: allow the minimum safe retry/lockout UI\n // payload through. `authResponse` is the common case; for the\n // specific `AUTHENTICATION_ACCOUNT_LOCKED` envelope, the global\n // lockout bridge also needs `lockoutDurationMinutes`,\n // `retryAfterSeconds`, and its lockout-specific `message`.\n if (wildoError.type === ErrorType.AUTHENTICATION && wildoError.context) {\n const authAllowedKeys = new Set(['authResponse']);\n if (wildoError.customMessageReference === ErrorCustomMessageReference.AUTHENTICATION_ACCOUNT_LOCKED) {\n authAllowedKeys.add('lockoutDurationMinutes');\n authAllowedKeys.add('retryAfterSeconds');\n authAllowedKeys.add('message');\n }\n const sanitized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(wildoError.context)) {\n if (authAllowedKeys.has(key)) {\n sanitized[key] = value;\n }\n }\n return {\n ...wildoError,\n context: Object.keys(sanitized).length > 0 ? sanitized : undefined,\n };\n }\n\n // All other types (AUTHZ, INTERNAL, DATABASE, etc.): strip context entirely\n const { context, ...rest } = wildoError;\n return rest as WildoError_Backend;\n }\n\n\n\n\n private async executeBackendActions(wildoError: WildoError_Backend): Promise<void> {\n wildoError.backendActions.forEach(action => {\n try {\n switch (action) {\n case ErrorActionBackend.LOG:\n // Intentionally NOT logged at construction. Error logging is a\n // *handling-boundary* concern, not a *construction* concern: the\n // boundary (HTTP `expressErrorHandler`, batch/cron, websocket auth,\n // queue job-failure, response-DTO direct-send) is the only place\n // where the operational severity can be classified, the request\n // context (method/path/socketId/jobId) is available, and exactly\n // one line per error is guaranteed. Logging here as well produced a\n // double-log (and, historically, an unstructured multi-line blob).\n // Boundaries emit the line via\n // `logWildoBackendErrorAtClassifiedSeverity` /\n // `projectWildoBackendErrorLogFields`.\n break;\n case ErrorActionBackend.RECORD_METRICS:\n // Metrics recording would be handled by telemetry middleware\n break;\n case ErrorActionBackend.TRACE:\n // Tracing would be handled by telemetry middleware\n break;\n case ErrorActionBackend.ALERT:\n this.sendAlert(wildoError);\n break;\n case ErrorActionBackend.CIRCUIT_BREAK:\n // Circuit breaker logic would be implemented in specific services\n break;\n case ErrorActionBackend.GRACEFUL_DEGRADATION:\n // Graceful degradation would be handled by specific services\n break;\n }\n } catch (actionError) {\n // Don't let action execution errors break the main error flow\n this.logger.warn('Failed to execute error action', {\n action,\n originalError: wildoError,\n actionError: describeCaughtError(actionError)\n });\n }\n });\n }\n\n /**\n * Send alert for critical errors\n */\n private sendAlert(wildoError: WildoError_Backend): void {\n // todo implement it;\n }\n\n /**\n * Centralized error type determination based on error characteristics\n * This method provides consistent error type classification across all services\n */\n public determineErrorType(error: Error): ErrorType {\n const message = (error && typeof error.message === 'string') ? error.message.toLowerCase() : '';\n const errorName = (error && typeof error.name === 'string') ? error.name : '';\n\n // Check error name first for more specific classification\n if (errorName === 'ValidationError' || errorName === 'ZodError') {\n return ErrorType.VALIDATION;\n }\n\n if (errorName === 'MulterError') {\n return ErrorType.VALIDATION;\n }\n\n // Body-parser (express.json / urlencoded / raw-body) rejections — an oversized or malformed request\n // body — are CLIENT input problems, exactly like the MulterError case above (both are request-body\n // libraries). They surface as `http-errors` carrying a string `type` (`entity.too.large`,\n // `entity.parse.failed`, `charset.unsupported`, …) plus a well-known 4xx `status`/`statusCode`. Classify\n // VALIDATION so a benign bad body returns a clean 4xx instead of masquerading as an INTERNAL 500 — which\n // additionally mis-fires `severity:critical` alerting/SIEM on an ordinary bad request. Keyed on the\n // body-parser `type`+4xx-`status` signature (NOT a bare `SyntaxError`/`Error` name), so a generic\n // application error is never swept in, and the 5xx body-parser faults (`stream.not.readable`, …)\n // correctly fall through to INTERNAL. (The `/oauth` mount additionally has a dedicated translator that\n // preserves the exact status — see `applyOAuthBodyCap`. Framework-wide, an oversized body (413) classifies\n // as PAYLOAD_TOO_LARGE so EVERY route returns the precise 413; the other body-parser client errors\n // (malformed 400, unsupported-charset/encoding 415) fold into VALIDATION's 400 bucket.)\n const bodyParserType = (error as { type?: unknown }).type;\n const bodyParserStatus = (error as { status?: unknown }).status ?? (error as { statusCode?: unknown }).statusCode;\n if (typeof bodyParserType === 'string' && typeof bodyParserStatus === 'number' && bodyParserStatus >= 400 && bodyParserStatus < 500) {\n return bodyParserStatus === 413 ? ErrorType.PAYLOAD_TOO_LARGE : ErrorType.VALIDATION;\n }\n\n if (errorName === 'JsonWebTokenError' || errorName === 'TokenExpiredError') {\n return ErrorType.AUTHENTICATION;\n }\n\n if (errorName === 'MongoError' || errorName === 'MongooseError') {\n return ErrorType.DATABASE;\n }\n\n // Check message content for additional classification\n if (message.includes('validation') || message.includes('invalid')) {\n return ErrorType.VALIDATION;\n }\n\n if (message.includes('limit_file_size') || message.includes('file too large')) {\n return ErrorType.VALIDATION;\n }\n\n if (message.includes('not found')) {\n return ErrorType.NOT_FOUND;\n }\n\n if (message.includes('unauthorized')) {\n return ErrorType.AUTHENTICATION;\n }\n\n if (message.includes('forbidden') || message.includes('permission')) {\n return ErrorType.AUTHORIZATION;\n }\n\n if (message.includes('conflict') || message.includes('already exists')) {\n return ErrorType.CONFLICT;\n }\n\n if (message.includes('network')) {\n return ErrorType.NETWORK;\n }\n\n if (message.includes('rate limit') || message.includes('too many requests')) {\n return ErrorType.RATE_LIMIT;\n }\n\n if (message.includes('business rule') || message.includes('constraint')) {\n return ErrorType.BUSINESS_RULE;\n }\n\n // Default to INTERNAL for unclassified errors\n return ErrorType.INTERNAL;\n }\n}\n"]}
1
+ {"version":3,"file":"error-builder.backend.service.js","sourceRoot":"","sources":["../../../../src/errors/services/error-builder.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { injectable, inject } from 'inversify';\nimport {\n ErrorType,\n ErrorActionBackend,\n WildoError_Backend_Definition,\n WildoError_Backend,\n ErrorCustomMessageReference,\n ERROR_DEFINITIONS,\n ResourcesConfig_OperationPathUtils,\n ResourceConfiguration_Operation,\n ErrorHandling_Strategy,\n RetryPolicy_BackoffType,\n ErrorUserGuidance,\n isWildoBackendError,\n} from '@wildo-ai/saas-models';\nimport { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport { getCurrentCorrelationId } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\n\n\n/**\n * Backend Error Builder Service\n * Creates unified WildoError_Backend instances with ExecutionContext integration\n */\n@injectable()\nexport class ErrorBuilderBackendService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n constructor(\n\n @inject(SAAS_SERVICE_TYPES.Logger) private logger: LoggerService\n ) {\n this.logDebug = this.logger.debugByType('ErrorBuilderBackendService');\n this.logger.setDebugTypeLogging('ErrorBuilderBackendService', false);\n }\n\n /**\n * Build a WildoError_Backend with ExecutionContext integration\n */\n public buildError(\n errorType: ErrorType,\n executionContext?: ExecutionContext<any>,\n options: {\n customMessageReference?: ErrorCustomMessageReference,\n context?: Record<string, any>\n stack?: string;\n skipBackendActions?: boolean;\n skipBackendActionTypes?: readonly ErrorActionBackend[];\n } = {}\n ): WildoError_Backend {\n const errorDefinition = ERROR_DEFINITIONS[errorType];\n const statusCode = errorDefinition.statusCode;\n const effectiveBackendActions = options.skipBackendActions\n ? []\n : errorDefinition.backendActions.filter(\n action => !options.skipBackendActionTypes?.includes(action)\n );\n\n // Extract operation path from execution context\n const operationPathKey = (executionContext)\n ? ResourcesConfig_OperationPathUtils.buildOperationPathKeyFromOperation(executionContext.operation as ResourceConfiguration_Operation<any, any, any>)\n : undefined;\n\n\n // Build the WildoError_Backend (context preserved for backend logging;\n // sanitization happens at the HTTP serialization boundary in ErrorHandlerService)\n const wildoError: WildoError_Backend = {\n type: errorType,\n severity: errorDefinition.severity,\n operationPathKey,\n timestamp: new Date(),\n backendActions: effectiveBackendActions,\n customMessageReference: options.customMessageReference ?? errorDefinition.defaultCustomMessageReference,\n statusCode,\n errorHandlingStrategy: errorDefinition.errorHandlingStrategy ?? ErrorHandling_Strategy.STOP,\n retryPolicy: errorDefinition.retryPolicy ?? RetryPolicy_BackoffType.EXPONENTIAL,\n maxRetries: errorDefinition.maxRetries ?? 3,\n initialDelay: errorDefinition.initialDelay ?? 1000,\n baseDelay: errorDefinition.baseDelay ?? 1000,\n initiatorIds: executionContext?.initiatorIds ?? undefined,\n executionType: executionContext?.executionType ?? undefined,\n // Phase 3 — closes gap 3: prefer the threaded EC's id, but fall back to the ambient request-context\n // ALS frame when no EC was passed (the ~67% of buildError calls that pass `undefined`). This is what\n // makes an error built deep in a service — with no EC in hand — still attributable to its request.\n correlationId: executionContext?.correlationId ?? getCurrentCorrelationId(),\n stack: options.stack ?? undefined,\n context: options.context ?? undefined,\n };\n\n // Some callers (for example websocket handshake auth) need to reclassify an\n // expected failure locally instead of emitting the default backend warning.\n if (effectiveBackendActions.length > 0) {\n // Execute backend actions. do not await\n this.executeBackendActions(wildoError);\n }\n\n return wildoError;\n }\n\n public buildFromStandardError(error: unknown, executionContext?: ExecutionContext<any>, options: {\n customMessageReference?: ErrorCustomMessageReference,\n context?: Record<string, any>\n skipBackendActions?: boolean;\n skipBackendActionTypes?: readonly ErrorActionBackend[];\n } = {}): WildoError_Backend {\n // An ALREADY-CLASSIFIED backend error must never be re-derived from scratch here.\n //\n // `WildoError_Backend` is a Zod-INFERRED PLAIN OBJECT, not an `Error` subclass, so a\n // re-wrap fell into the `new Error('Unknown error')` branch below: the caught error's\n // `type`, its `context` (which is where every builder puts the real explanation — the\n // enumerated validation failures, the adapter name, the failing boundary) and its stack\n // were all discarded, and the wrapper was re-classified INTERNAL from a synthetic Error\n // whose only message was the literal string `Unknown error`.\n //\n // That is not a cosmetic loss. It is exactly how a boot failure reaches the log as\n // `{\"errorType\":\"INTERNAL\",\"msg\":\"Application initialization failed\"}` with a stack whose\n // top frame is this method — naming the wrapper and nothing about the cause. Measured\n // 2026-08-14 on `platform-apps-manager`, where a post-registry configuration validation\n // threw with its failing contracts enumerated in `context.message` and the operator saw\n // none of them.\n //\n // The caught error's classification wins: it was chosen deliberately by whoever built it,\n // and this seam's callers pass attribution (`service`, `operation`), not a reclassification.\n // Caller context still wins on key collision, matching the merge below.\n if (isWildoBackendError(error)) {\n return this.buildError(error.type, executionContext, {\n ...options,\n customMessageReference: options.customMessageReference ?? error.customMessageReference,\n context: { ...error.context, ...options.context },\n stack: error.stack,\n });\n }\n\n const err = error instanceof Error\n ? error\n : new Error(typeof error === 'string' ? error : 'Unknown error');\n\n const errorType = this.determineErrorType(err);\n\n // A RAW ZodError / Mongoose ValidationError can reach this global seam\n // (e.g. an express error boundary) WITHOUT having gone through the explicit\n // controller/service validation path, which is the only place that attaches\n // `context.zodIssues` itself. Such an error is still classified VALIDATION\n // by `determineErrorType` (via the name/message heuristics), but it arrives\n // here with no field-level detail — so the client would otherwise receive an\n // opaque `{ type: VALIDATION }` with the real message living only in the\n // (often inaccessible) backend log. Project the error's per-field issues into\n // the same `zodIssues` shape that `sendErrorResponse` surfaces as\n // `validationErrors`, so raw validation failures are debuggable from the API\n // response like the explicit-path ones are.\n //\n // Scoped strictly to VALIDATION-classified errors: no field detail is ever\n // attached to AUTHZ/INTERNAL/DATABASE/etc. errors, preserving the\n // `sanitizeErrorForClient` boundary that strips their context. Only the field\n // path + per-field message are lifted — both already client-safe (they ride\n // the `zodIssues` allowlist, and VALIDATION is a \"safe\" type). The internal\n // `err.message` / stack are deliberately NOT surfaced here.\n const fieldLevelDetail = errorType === ErrorType.VALIDATION\n ? this.extractFieldLevelValidationDetail(err)\n : undefined;\n\n // Caller-supplied context wins on key collision (an explicit path that set\n // `zodIssues` should not be overwritten by the duck-typed extraction).\n const mergedContext = fieldLevelDetail\n ? { ...fieldLevelDetail, ...options.context }\n : options.context;\n\n return this.buildError(errorType, executionContext, {\n ...options,\n context: mergedContext,\n stack: err.stack\n });\n }\n\n /**\n * Extract client-safe field-level detail from a RAW validation error — a plain\n * `ZodError` or a Mongoose `ValidationError` — that reached the global error\n * boundary without going through the explicit controller/service validation\n * path (which attaches `context.zodIssues` itself).\n *\n * Returns the detail in the `{ zodIssues }` shape that\n * `ErrorHandlerService.sendErrorResponse` reduces into the response\n * `validationErrors` map (`{ [fieldPath]: message }`). Only the field `path`\n * and per-field `message` are extracted — both already deemed client-safe (they\n * ride the `zodIssues` allowlist in `sanitizeErrorForClient`, and VALIDATION is\n * a \"safe\" error type). The error's own `message` / stack are NOT included, so\n * internal implementation detail never leaks to the client.\n *\n * Returns `undefined` when the error is not a recognisable field-level\n * validation error (e.g. a generic `Error` whose message merely contains the\n * substring \"invalid\", which `determineErrorType` still classifies VALIDATION)\n * — in that case no `zodIssues` are attached.\n */\n private extractFieldLevelValidationDetail(\n error: Error,\n ): { zodIssues: Array<{ path: (string | number)[]; message: string }> } | undefined {\n // Zod (any instance): duck-type on the `issues` array rather than\n // `instanceof z.ZodError`. Multiple Zod module instances can coexist in the\n // dependency graph, so a nominal `instanceof` check is unreliable at this\n // shared boundary — the shape check is the robust classifier.\n const zodIssues = (error as { issues?: unknown }).issues;\n if (error.name === 'ZodError' && Array.isArray(zodIssues)) {\n const mapped = zodIssues\n .filter(\n (issue): issue is { path: (string | number)[]; message: string } =>\n !!issue\n && typeof issue === 'object'\n && Array.isArray((issue as { path?: unknown }).path)\n && typeof (issue as { message?: unknown }).message === 'string',\n )\n .map(issue => ({ path: issue.path, message: issue.message }));\n return mapped.length > 0 ? { zodIssues: mapped } : undefined;\n }\n\n // Mongoose ValidationError: `errors` is a record keyed by field path, each\n // value a per-path sub-error carrying its own `message`.\n const mongooseErrors = (error as { errors?: unknown }).errors;\n if (\n error.name === 'ValidationError'\n && mongooseErrors\n && typeof mongooseErrors === 'object'\n && !Array.isArray(mongooseErrors)\n ) {\n const mapped = Object.entries(mongooseErrors as Record<string, unknown>).map(\n ([field, subError]) => {\n const message = (subError as { message?: unknown } | null)?.message;\n return {\n path: [field] as (string | number)[],\n message: typeof message === 'string' ? message : 'Invalid value',\n };\n },\n );\n return mapped.length > 0 ? { zodIssues: mapped } : undefined;\n }\n\n return undefined;\n }\n\n /**\n * @wildo_source:part:start saas.backend.error-builder.user-guidance facet:layer:backend facet:audience:app-developer\n *\n * Build an error with contextual user guidance.\n *\n * Reach for this instead of a bare `buildError` whenever the person who hits the failure could DO\n * something about it. A typed error tells a caller what went wrong; guidance tells a human what to\n * do next, and the frontend renders it from `ErrorResponse.error.userGuidance`.\n *\n * ⚠️ **Prefer `buildErrorWithGuidanceKey`.** The strings you pass here are rendered verbatim, so a\n * guidance written this way is English forever — the key variant resolves labels under\n * `errors_guidance.{guidanceKey}.{field}` and is translated like every other user-facing string.\n * Use the raw form only for a failure no user will read, or as the fallback beneath a key.\n *\n * The guidance is attached to the error and will be included in the\n * `ErrorResponse.error.userGuidance` field for the frontend to render.\n *\n * @example\n * ```\n * throw this.errorBuilder.buildErrorWithGuidance(\n * ErrorType.CONFIGURATION,\n * executionContext,\n * {\n * explanation: 'SMTP is not configured for this organization.',\n * resolution: 'Go to Settings → Email and configure your SMTP provider.',\n * nextAction: { label: 'Go to Settings', ref: '/settings/email', type: 'url' },\n * missingConfiguration: ['smtp_host', 'smtp_port'],\n * },\n * { customMessageReference: ErrorCustomMessageReference.GENERIC_DETAIL }\n * );\n * ```\n */\n public buildErrorWithGuidance(\n errorType: ErrorType,\n executionContext: ExecutionContext<any> | undefined,\n guidance: ErrorUserGuidance,\n options: {\n customMessageReference?: ErrorCustomMessageReference;\n context?: Record<string, any>;\n stack?: string;\n } = {}\n ): WildoError_Backend {\n const error = this.buildError(errorType, executionContext, options);\n error.userGuidance = guidance;\n return error;\n }\n\n /**\n * Build an error with a guidance key (i18n reference).\n *\n * Shorthand for `buildErrorWithGuidance` that sets the `guidanceKey` on the guidance object,\n * enabling i18n label resolution under `errors_guidance.{guidanceKey}.{field}`.\n *\n * @param errorType - The error type\n * @param executionContext - Current execution context\n * @param guidanceKey - i18n lookup key (resolves labels under `errors_guidance.{guidanceKey}.*`)\n * @param guidance - Guidance fields (explanation, resolution, etc.) — used as raw fallbacks\n * @param options - Additional error options\n */\n public buildErrorWithGuidanceKey(\n errorType: ErrorType,\n executionContext: ExecutionContext<any> | undefined,\n guidanceKey: string,\n guidance: Omit<ErrorUserGuidance, 'guidanceKey'> = {},\n options: {\n customMessageReference?: ErrorCustomMessageReference;\n context?: Record<string, any>;\n stack?: string;\n } = {}\n ): WildoError_Backend {\n return this.buildErrorWithGuidance(errorType, executionContext, { ...guidance, guidanceKey }, options);\n }\n /** @wildo_source:part:end saas.backend.error-builder.user-guidance */\n\n public wildoErrorToSimpleString(wildoError: any): string {\n\n const isWildoError = wildoError && typeof wildoError === 'object' && 'statusCode' in wildoError && 'backendActions' in wildoError;\n if(!isWildoError) {\n return wildoError instanceof Error ? wildoError.message : \"Unknown error\";\n }\n\n let errorMessage = `${wildoError.customMessageReference as string} - ${wildoError.type} - ${wildoError.severity}`;\n if(wildoError.context) {\n errorMessage += `: ${JSON.stringify(wildoError.context)}`;\n }\n return errorMessage;\n }\n\n /**\n * Sanitize an error for client-facing HTTP responses.\n * Called at the serialization boundary (ErrorHandlerService), NOT at build time,\n * so backend logging retains full context for diagnostics.\n *\n * - VALIDATION, CONFLICT, RATE_LIMIT: allowlist of frontend-useful context keys\n * - AUTHENTICATION: allows `authResponse` through (retry/lockout UI data)\n * - Everything else (AUTHZ, INTERNAL, DATABASE, etc.): strips context entirely\n */\n public sanitizeErrorForClient(wildoError: WildoError_Backend): WildoError_Backend {\n // Error types whose context is safe to expose to clients (field-level info needed by frontend)\n const safeTypes = new Set<ErrorType>([ErrorType.VALIDATION, ErrorType.CONFLICT, ErrorType.RATE_LIMIT]);\n\n if (safeTypes.has(wildoError.type)) {\n // For safe types: keep only frontend-relevant keys from context\n if (wildoError.context) {\n const allowedKeys = new Set([\n 'fieldName', 'duplicateValue', 'zodIssues', 'customErrorMessage',\n 'retryAfterSeconds', 'message', 'violations',\n 'versionConflict',\n // Stable, client-branchable error codes (e.g. CrossFrontendHandoffErrorCode).\n // These are non-PII enum values defined in shared schemas (`saas-models`)\n // and consumed by both first-party clients (saas-frontend-lib) and\n // out-of-tree clients (saas-technical-doc/docsAuthClient.ts) for switch-on-code\n // branching. Stripping them at the wire would force callers to regex-parse\n // the human-readable `message`, defeating the purpose of having a stable code\n // enum. See cross-app-jwt-propagation.md C-4 for the contract decision that\n // motivated promoting these keys (the docs-chat client must `import {\n // CrossFrontendHandoffErrorCode } from '@wildo-ai/saas-models'` and branch on\n // `error.details.code === CrossFrontendHandoffErrorCode.UNKNOWN_TARGET_FRONTEND`).\n 'code',\n // Identity selectors that scope a code to a specific resource/service. Already\n // present in the request the client made (so disclosure is a no-op), but echoing\n // them back lets the client emit useful diagnostics (\"target frontend `docs` is\n // not configured…\") without re-parsing its own request body. PII-safe by\n // construction: these are SaaS-config service keys, never user data.\n 'targetServiceKey',\n // ─────────────────────────────────────────────────────────────────────────\n // GENERAL RULE for future endpoints emitting stable client-branchable codes:\n // 1. Define the enum in `@wildo-ai/saas-models` (so frontend + backend share\n // the same source of truth) and reuse the `code` key above to carry it.\n // Do NOT invent a new \"errorKind\" / \"reason\" / \"type\" field — the docs-chat\n // and saas-frontend clients all switch on `error.details.code`.\n // 2. New per-endpoint identity selectors (analogous to `targetServiceKey`)\n // MAY be added to this allowlist when they are PII-safe enum values OR\n // direct echoes of caller-supplied input (i.e. zero net disclosure).\n // 3. NEVER add user-typed strings (emails, names, free-text) to this allowlist\n // — they belong in `customErrorMessage` / `message` and are already covered.\n // 4. NEVER promote an internal cause (`stackTrace`, `dbErrorCode`, `mongoMessage`)\n // — those go through the AUTHZ/INTERNAL/DATABASE branches below which strip\n // context entirely. Surface a stable Wildo enum from the issuing service if\n // the caller needs to branch.\n // ─────────────────────────────────────────────────────────────────────────\n ]);\n const sanitized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(wildoError.context)) {\n if (allowedKeys.has(key)) {\n sanitized[key] = value;\n }\n }\n return {\n ...wildoError,\n context: Object.keys(sanitized).length > 0 ? sanitized : undefined,\n };\n }\n return wildoError;\n }\n\n // AUTHENTICATION errors: allow the minimum safe retry/lockout UI\n // payload through. `authResponse` is the common case; for the\n // specific `AUTHENTICATION_ACCOUNT_LOCKED` envelope, the global\n // lockout bridge also needs `lockoutDurationMinutes`,\n // `retryAfterSeconds`, and its lockout-specific `message`.\n if (wildoError.type === ErrorType.AUTHENTICATION && wildoError.context) {\n const authAllowedKeys = new Set(['authResponse']);\n if (wildoError.customMessageReference === ErrorCustomMessageReference.AUTHENTICATION_ACCOUNT_LOCKED) {\n authAllowedKeys.add('lockoutDurationMinutes');\n authAllowedKeys.add('retryAfterSeconds');\n authAllowedKeys.add('message');\n }\n const sanitized: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(wildoError.context)) {\n if (authAllowedKeys.has(key)) {\n sanitized[key] = value;\n }\n }\n return {\n ...wildoError,\n context: Object.keys(sanitized).length > 0 ? sanitized : undefined,\n };\n }\n\n // All other types (AUTHZ, INTERNAL, DATABASE, etc.): strip context entirely\n const { context, ...rest } = wildoError;\n return rest as WildoError_Backend;\n }\n\n\n\n\n private async executeBackendActions(wildoError: WildoError_Backend): Promise<void> {\n wildoError.backendActions.forEach(action => {\n try {\n switch (action) {\n case ErrorActionBackend.LOG:\n // Intentionally NOT logged at construction. Error logging is a\n // *handling-boundary* concern, not a *construction* concern: the\n // boundary (HTTP `expressErrorHandler`, batch/cron, websocket auth,\n // queue job-failure, response-DTO direct-send) is the only place\n // where the operational severity can be classified, the request\n // context (method/path/socketId/jobId) is available, and exactly\n // one line per error is guaranteed. Logging here as well produced a\n // double-log (and, historically, an unstructured multi-line blob).\n // Boundaries emit the line via\n // `logWildoBackendErrorAtClassifiedSeverity` /\n // `projectWildoBackendErrorLogFields`.\n break;\n case ErrorActionBackend.RECORD_METRICS:\n // Metrics recording would be handled by telemetry middleware\n break;\n case ErrorActionBackend.TRACE:\n // Tracing would be handled by telemetry middleware\n break;\n case ErrorActionBackend.ALERT:\n this.sendAlert(wildoError);\n break;\n case ErrorActionBackend.CIRCUIT_BREAK:\n // Circuit breaker logic would be implemented in specific services\n break;\n case ErrorActionBackend.GRACEFUL_DEGRADATION:\n // Graceful degradation would be handled by specific services\n break;\n }\n } catch (actionError) {\n // Don't let action execution errors break the main error flow\n this.logger.warn('Failed to execute error action', {\n action,\n originalError: wildoError,\n actionError: describeCaughtError(actionError)\n });\n }\n });\n }\n\n /**\n * Send alert for critical errors\n */\n private sendAlert(wildoError: WildoError_Backend): void {\n // todo implement it;\n }\n\n /**\n * Centralized error type determination based on error characteristics\n * This method provides consistent error type classification across all services\n */\n public determineErrorType(error: Error): ErrorType {\n const message = (error && typeof error.message === 'string') ? error.message.toLowerCase() : '';\n const errorName = (error && typeof error.name === 'string') ? error.name : '';\n\n // Check error name first for more specific classification\n if (errorName === 'ValidationError' || errorName === 'ZodError') {\n return ErrorType.VALIDATION;\n }\n\n if (errorName === 'MulterError') {\n return ErrorType.VALIDATION;\n }\n\n // Body-parser (express.json / urlencoded / raw-body) rejections — an oversized or malformed request\n // body — are CLIENT input problems, exactly like the MulterError case above (both are request-body\n // libraries). They surface as `http-errors` carrying a string `type` (`entity.too.large`,\n // `entity.parse.failed`, `charset.unsupported`, …) plus a well-known 4xx `status`/`statusCode`. Classify\n // VALIDATION so a benign bad body returns a clean 4xx instead of masquerading as an INTERNAL 500 — which\n // additionally mis-fires `severity:critical` alerting/SIEM on an ordinary bad request. Keyed on the\n // body-parser `type`+4xx-`status` signature (NOT a bare `SyntaxError`/`Error` name), so a generic\n // application error is never swept in, and the 5xx body-parser faults (`stream.not.readable`, …)\n // correctly fall through to INTERNAL. (The `/oauth` mount additionally has a dedicated translator that\n // preserves the exact status — see `applyOAuthBodyCap`. Framework-wide, an oversized body (413) classifies\n // as PAYLOAD_TOO_LARGE so EVERY route returns the precise 413; the other body-parser client errors\n // (malformed 400, unsupported-charset/encoding 415) fold into VALIDATION's 400 bucket.)\n const bodyParserType = (error as { type?: unknown }).type;\n const bodyParserStatus = (error as { status?: unknown }).status ?? (error as { statusCode?: unknown }).statusCode;\n if (typeof bodyParserType === 'string' && typeof bodyParserStatus === 'number' && bodyParserStatus >= 400 && bodyParserStatus < 500) {\n return bodyParserStatus === 413 ? ErrorType.PAYLOAD_TOO_LARGE : ErrorType.VALIDATION;\n }\n\n if (errorName === 'JsonWebTokenError' || errorName === 'TokenExpiredError') {\n return ErrorType.AUTHENTICATION;\n }\n\n if (errorName === 'MongoError' || errorName === 'MongooseError') {\n return ErrorType.DATABASE;\n }\n\n // Check message content for additional classification\n if (message.includes('validation') || message.includes('invalid')) {\n return ErrorType.VALIDATION;\n }\n\n if (message.includes('limit_file_size') || message.includes('file too large')) {\n return ErrorType.VALIDATION;\n }\n\n if (message.includes('not found')) {\n return ErrorType.NOT_FOUND;\n }\n\n if (message.includes('unauthorized')) {\n return ErrorType.AUTHENTICATION;\n }\n\n if (message.includes('forbidden') || message.includes('permission')) {\n return ErrorType.AUTHORIZATION;\n }\n\n if (message.includes('conflict') || message.includes('already exists')) {\n return ErrorType.CONFLICT;\n }\n\n if (message.includes('network')) {\n return ErrorType.NETWORK;\n }\n\n if (message.includes('rate limit') || message.includes('too many requests')) {\n return ErrorType.RATE_LIMIT;\n }\n\n if (message.includes('business rule') || message.includes('constraint')) {\n return ErrorType.BUSINESS_RULE;\n }\n\n // Default to INTERNAL for unclassified errors\n return ErrorType.INTERNAL;\n }\n}\n"]}
@@ -4,12 +4,66 @@ import { ErrorBuilderBackendService } from './error-builder.backend.service';
4
4
  import { WildoError_Backend } from '@wildo-ai/saas-models';
5
5
  import { ExecutionContext } from '../../runtime/models/execution-context.backend.schemas';
6
6
  /**
7
- * Narrowly isolates uncaught exceptions that originate inside
8
- * `@opentelemetry/sdk-logs`'s background batch-flush timer from every other
9
- * uncaught exception. Matched ONLY by the presence of the `sdk-logs` package
10
- * segment in the stack trace — this is deliberately conservative: any error
11
- * whose stack does not clearly point into that package still hard-exits via
12
- * the default path, so a real host-state-corrupting bug is never masked.
7
+ * The package-path segments that identify Wildo's OTLP **export pipeline** in a
8
+ * stack trace: the signal processors that own the background flush timers, the
9
+ * exporters they hand batches to, and the shared OTLP serialize/send layer
10
+ * every exporter delegates into.
11
+ *
12
+ * The membership criterion is NOT "is this an OpenTelemetry package" — it is
13
+ * **"can a frame from this package ever appear in the stack of a HOST error?"**
14
+ * Every package listed here answers no: nothing in it invokes a caller-supplied
15
+ * callback, so it is reached only from a telemetry export tick (or from
16
+ * `sdk.shutdown()`). That is what makes a plain "does the stack mention it"
17
+ * substring test sound: a frame from one of these packages cannot be
18
+ * *routed through*, only *raised in*.
19
+ *
20
+ * `@opentelemetry/exporter-` is a PREFIX on purpose — it covers the three
21
+ * exporters `otel-preload.ts` wires today (`exporter-trace-otlp-http`,
22
+ * `exporter-metrics-otlp-http`, `exporter-logs-otlp-http`) and every transport
23
+ * sibling (`-proto`, `-grpc`, zipkin, prometheus) a future provider selection
24
+ * could swap in, without this list having to be revisited. Each is export-only
25
+ * by construction.
26
+ *
27
+ * Kept in step with the package's real OpenTelemetry dependency set by the
28
+ * totality pin in `__tests__/error-handler.backend.service.test.ts`, which
29
+ * enumerates every `@opentelemetry/*` entry in this package's own
30
+ * `package.json` and fails unless each one is either matched here or named in
31
+ * {@link TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED}. A name list with no
32
+ * link to whatever owns those names is the drift this carve-out already had
33
+ * once; the pin is that link. It is test-time rather than compile-time because
34
+ * the owning vocabulary is a JSON manifest, not a TypeScript symbol.
35
+ */
36
+ export declare const TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS: readonly string[];
37
+ /**
38
+ * The OpenTelemetry packages this carve-out deliberately does NOT isolate, each
39
+ * with the reason. This is not a leftover list: it is the other half of the
40
+ * totality pin, so that adding an OTel dependency forces a decision instead of
41
+ * silently landing outside both sets.
42
+ *
43
+ * The reason is the same for the whole first group and it is the one that
44
+ * matters: **these packages invoke host code**, so their frames appear in the
45
+ * stack of ordinary host crashes. Matching them would not widen a telemetry
46
+ * carve-out — it would suppress genuine host faults.
47
+ */
48
+ export declare const TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED: readonly string[];
49
+ /**
50
+ * Isolates an uncaught exception RAISED INSIDE the OTLP export pipeline —
51
+ * the background machinery that flushes logs, metrics and spans to the
52
+ * collector on a timer, independent of any request — from every other uncaught
53
+ * exception, which still hard-exits via the default path.
54
+ *
55
+ * WHAT THIS SUPPRESSES: a failure whose stack mentions one of
56
+ * {@link TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS}. Those packages never call
57
+ * host code (see that constant's note), so a stack that mentions one of them
58
+ * is a stack that was raised in one of them.
59
+ *
60
+ * WHAT IT MUST NOT SUPPRESS, and does not: anything raised in the host's own
61
+ * request/business logic, anything raised in OTel INSTRUMENTATION (which wraps
62
+ * host code), and anything in the trace/context tier a host stack routes
63
+ * through — see {@link TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED}. A
64
+ * carve-out that swallowed a genuine fault into a silently degraded process
65
+ * would be strictly worse than the crash it prevents, which is why the
66
+ * criterion is "cannot be on a host stack" rather than "is telemetry".
13
67
  *
14
68
  * Root cause (2026-08-06): the timer callback in
15
69
  * `BatchLogRecordProcessorBase` does `this._flushOneBatch().then(...).catch(...)`
@@ -19,6 +73,14 @@ import { ExecutionContext } from '../../runtime/models/execution-context.backend
19
73
  * `globalErrorHandler` safety net could catch it, so the failure escaped as a
20
74
  * process-level uncaught exception — killing an otherwise-healthy host over a
21
75
  * background telemetry-export housekeeping tick.
76
+ *
77
+ * WIDENED 2026-09-09. The original predicate matched the single literal
78
+ * `@opentelemetry/sdk-logs`, which is where that one incident happened to be
79
+ * raised — so the identical promise-chain/transport failure arriving from the
80
+ * METRIC reader or from ANY of the three OTLP exporters was not isolated and
81
+ * hard-exited the host. Keying a carve-out on one package NAME makes its reach
82
+ * an accident of which pipeline failed first; the property that actually
83
+ * distinguishes the case is the export pipeline itself.
22
84
  */
23
85
  export declare function isNonFatalTelemetryPipelineException(error: Error): boolean;
24
86
  /**
@@ -56,7 +118,8 @@ export declare class ErrorHandlerService {
56
118
  * isolated by {@link isNonFatalTelemetryPipelineException}. Node's own
57
119
  * guidance ("uncaught exception means unknown state, exit") assumes the
58
120
  * failure came from the host's own request/business logic. A background
59
- * telemetry batch-flush timer (OTel's `BatchLogRecordProcessor`, ticking
121
+ * telemetry export tick (OTel's `BatchLogRecordProcessor` or
122
+ * `PeriodicExportingMetricReader`, and the OTLP exporters they feed, ticking
60
123
  * every few seconds independently of any request) is a different failure
61
124
  * domain: its own state corruption says nothing about whether the host's
62
125
  * actual work is safe to continue, and `otel-preload.ts` already commits to
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/errors/services/error-handler.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAE7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAK7E,OAAO,EAIL,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAG,MAAM,qEAAqE,CAAC;AAExG;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAE1E;AAED;;;GAGG;AACH,qBACa,mBAAmB;IAIO,OAAO,CAAC,MAAM;IACD,OAAO,CAAC,YAAY;IAJtE,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBAGpC,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B;IAMlG;;;OAGG;IACH,mBAAmB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAyCjH,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI;IAW3G,OAAO,CAAC,iBAAiB;IA4GzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAMrF;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAiBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,uBAAuB,IAAI,IAAI;IAsB/B;;OAEG;IACH,wBAAwB,IAAI,IAAI;CAKjC"}
1
+ {"version":3,"file":"error-handler.backend.service.d.ts","sourceRoot":"","sources":["../../../../src/errors/services/error-handler.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAE7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAK7E,OAAO,EAIL,kBAAkB,EAInB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAG,MAAM,qEAAqE,CAAC;AAExG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,uCAAuC,EAAE,SAAS,MAAM,EAmBpE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4CAA4C,EAAE,SAAS,MAAM,EAoCzE,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAI1E;AAED;;;GAGG;AACH,qBACa,mBAAmB;IAIO,OAAO,CAAC,MAAM;IACD,OAAO,CAAC,YAAY;IAJtE,SAAS,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;gBAGpC,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B;IAMlG;;;OAGG;IACH,mBAAmB,IAAI,CAAC,KAAK,EAAE,KAAK,GAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAyCjH,0BAA0B,CAAC,KAAK,EAAE,KAAK,GAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,IAAI;IAW3G,OAAO,CAAC,iBAAiB;IA4GzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;IAMrF;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAiBhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoDG;IACH,uBAAuB,IAAI,IAAI;IAsB/B;;OAEG;IACH,wBAAwB,IAAI,IAAI;CAKjC"}
@@ -19,12 +19,121 @@ import { getCurrentCorrelationId } from '../../runtime/models/request-context.al
19
19
  // Import the unified error system
20
20
  import { ErrorType, WildoHeaderKeys, } from '@wildo-ai/saas-models';
21
21
  /**
22
- * Narrowly isolates uncaught exceptions that originate inside
23
- * `@opentelemetry/sdk-logs`'s background batch-flush timer from every other
24
- * uncaught exception. Matched ONLY by the presence of the `sdk-logs` package
25
- * segment in the stack trace — this is deliberately conservative: any error
26
- * whose stack does not clearly point into that package still hard-exits via
27
- * the default path, so a real host-state-corrupting bug is never masked.
22
+ * The package-path segments that identify Wildo's OTLP **export pipeline** in a
23
+ * stack trace: the signal processors that own the background flush timers, the
24
+ * exporters they hand batches to, and the shared OTLP serialize/send layer
25
+ * every exporter delegates into.
26
+ *
27
+ * The membership criterion is NOT "is this an OpenTelemetry package" — it is
28
+ * **"can a frame from this package ever appear in the stack of a HOST error?"**
29
+ * Every package listed here answers no: nothing in it invokes a caller-supplied
30
+ * callback, so it is reached only from a telemetry export tick (or from
31
+ * `sdk.shutdown()`). That is what makes a plain "does the stack mention it"
32
+ * substring test sound: a frame from one of these packages cannot be
33
+ * *routed through*, only *raised in*.
34
+ *
35
+ * `@opentelemetry/exporter-` is a PREFIX on purpose — it covers the three
36
+ * exporters `otel-preload.ts` wires today (`exporter-trace-otlp-http`,
37
+ * `exporter-metrics-otlp-http`, `exporter-logs-otlp-http`) and every transport
38
+ * sibling (`-proto`, `-grpc`, zipkin, prometheus) a future provider selection
39
+ * could swap in, without this list having to be revisited. Each is export-only
40
+ * by construction.
41
+ *
42
+ * Kept in step with the package's real OpenTelemetry dependency set by the
43
+ * totality pin in `__tests__/error-handler.backend.service.test.ts`, which
44
+ * enumerates every `@opentelemetry/*` entry in this package's own
45
+ * `package.json` and fails unless each one is either matched here or named in
46
+ * {@link TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED}. A name list with no
47
+ * link to whatever owns those names is the drift this carve-out already had
48
+ * once; the pin is that link. It is test-time rather than compile-time because
49
+ * the owning vocabulary is a JSON manifest, not a TypeScript symbol.
50
+ */
51
+ export const TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS = [
52
+ // Log signal: `BatchLogRecordProcessor`'s periodic `_flushOneBatch` timer —
53
+ // the frame the 2026-08-06 incident was raised in (see below).
54
+ '@opentelemetry/sdk-logs',
55
+ // Metric signal: `PeriodicExportingMetricReader`'s collect/export interval.
56
+ // Safe as a whole-stack match only while this application declares no
57
+ // OBSERVABLE instrument: an observable callback is host code invoked by the
58
+ // reader, and would put host frames under an `sdk-metrics` frame. None exist
59
+ // (no `createObservable*`/`addCallback` call site in engine/, platform/ or
60
+ // examples/ as of 2026-09-09), and such a callback would in any case be
61
+ // telemetry-collection code failing on the collection tick.
62
+ '@opentelemetry/sdk-metrics',
63
+ // Every OTLP/zipkin/prometheus exporter — see the prefix note above.
64
+ '@opentelemetry/exporter-',
65
+ // The shared OTLP serialize + send layer the exporters above delegate into,
66
+ // and where a transport/serialization fault is actually raised.
67
+ '@opentelemetry/otlp-exporter-base',
68
+ '@opentelemetry/otlp-grpc-exporter-base',
69
+ '@opentelemetry/otlp-transformer',
70
+ ];
71
+ /**
72
+ * The OpenTelemetry packages this carve-out deliberately does NOT isolate, each
73
+ * with the reason. This is not a leftover list: it is the other half of the
74
+ * totality pin, so that adding an OTel dependency forces a decision instead of
75
+ * silently landing outside both sets.
76
+ *
77
+ * The reason is the same for the whole first group and it is the one that
78
+ * matters: **these packages invoke host code**, so their frames appear in the
79
+ * stack of ordinary host crashes. Matching them would not widen a telemetry
80
+ * carve-out — it would suppress genuine host faults.
81
+ */
82
+ export const TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED = [
83
+ // --- Runs host code, so a host crash's stack passes through it ---
84
+ // `Tracer.startActiveSpan(name, fn)` calls `fn` — the host's own work — so
85
+ // under HTTP auto-instrumentation practically EVERY synchronous server-side
86
+ // crash carries an `sdk-trace-base` frame. Matching it would carve out the
87
+ // whole application. The consequence is a stated gap, not an oversight: a
88
+ // fault raised INSIDE `BatchSpanProcessor` itself (the span-tier analogue of
89
+ // the 2026-08-06 log-tier incident) still hard-exits. Closing it needs a
90
+ // discriminator this predicate does not have — either "raised in the TOP
91
+ // frame" or "the stack shows a timer tick" — and neither is worth the
92
+ // false-negative risk until a span-tier incident is actually evidenced. The
93
+ // span EXPORT half is already covered, via `exporter-trace-otlp-http`.
94
+ '@opentelemetry/sdk-trace-base',
95
+ '@opentelemetry/sdk-trace-node',
96
+ // Instrumentation WRAPS host handlers, middleware and driver calls; its
97
+ // frames sit directly beneath host frames on every instrumented request.
98
+ '@opentelemetry/instrumentation',
99
+ '@opentelemetry/instrumentation-express',
100
+ '@opentelemetry/instrumentation-http',
101
+ '@opentelemetry/instrumentation-mongoose',
102
+ '@opentelemetry/instrumentation-redis',
103
+ '@opentelemetry/auto-instrumentations-node',
104
+ // `context.with(ctx, fn)` runs the host callback; the API/core/context tier
105
+ // is on the synchronous path of anything traced.
106
+ '@opentelemetry/api',
107
+ '@opentelemetry/api-logs',
108
+ '@opentelemetry/core',
109
+ // --- Not an export tick ---
110
+ // The SDK facade. Its one dangerous call, `sdk.start()`, is already guarded
111
+ // where it happens (`otel-preload.ts`, Audit A-17) and is a BOOT failure: a
112
+ // host that cannot start telemetry has no export tick to isolate.
113
+ '@opentelemetry/sdk-node',
114
+ // Static data / attribute helpers, resolved at startup. Nothing periodic to
115
+ // isolate, and their frames appear during host bootstrap.
116
+ '@opentelemetry/resources',
117
+ '@opentelemetry/semantic-conventions',
118
+ ];
119
+ /**
120
+ * Isolates an uncaught exception RAISED INSIDE the OTLP export pipeline —
121
+ * the background machinery that flushes logs, metrics and spans to the
122
+ * collector on a timer, independent of any request — from every other uncaught
123
+ * exception, which still hard-exits via the default path.
124
+ *
125
+ * WHAT THIS SUPPRESSES: a failure whose stack mentions one of
126
+ * {@link TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS}. Those packages never call
127
+ * host code (see that constant's note), so a stack that mentions one of them
128
+ * is a stack that was raised in one of them.
129
+ *
130
+ * WHAT IT MUST NOT SUPPRESS, and does not: anything raised in the host's own
131
+ * request/business logic, anything raised in OTel INSTRUMENTATION (which wraps
132
+ * host code), and anything in the trace/context tier a host stack routes
133
+ * through — see {@link TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED}. A
134
+ * carve-out that swallowed a genuine fault into a silently degraded process
135
+ * would be strictly worse than the crash it prevents, which is why the
136
+ * criterion is "cannot be on a host stack" rather than "is telemetry".
28
137
  *
29
138
  * Root cause (2026-08-06): the timer callback in
30
139
  * `BatchLogRecordProcessorBase` does `this._flushOneBatch().then(...).catch(...)`
@@ -34,9 +143,20 @@ import { ErrorType, WildoHeaderKeys, } from '@wildo-ai/saas-models';
34
143
  * `globalErrorHandler` safety net could catch it, so the failure escaped as a
35
144
  * process-level uncaught exception — killing an otherwise-healthy host over a
36
145
  * background telemetry-export housekeeping tick.
146
+ *
147
+ * WIDENED 2026-09-09. The original predicate matched the single literal
148
+ * `@opentelemetry/sdk-logs`, which is where that one incident happened to be
149
+ * raised — so the identical promise-chain/transport failure arriving from the
150
+ * METRIC reader or from ANY of the three OTLP exporters was not isolated and
151
+ * hard-exited the host. Keying a carve-out on one package NAME makes its reach
152
+ * an accident of which pipeline failed first; the property that actually
153
+ * distinguishes the case is the export pipeline itself.
37
154
  */
38
155
  export function isNonFatalTelemetryPipelineException(error) {
39
- return typeof error.stack === 'string' && error.stack.includes('@opentelemetry/sdk-logs');
156
+ if (typeof error.stack !== 'string')
157
+ return false;
158
+ const stack = error.stack;
159
+ return TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS.some((marker) => stack.includes(marker));
40
160
  }
41
161
  /**
42
162
  * Unified Error Handler Service
@@ -240,7 +360,8 @@ let ErrorHandlerService = class ErrorHandlerService {
240
360
  * isolated by {@link isNonFatalTelemetryPipelineException}. Node's own
241
361
  * guidance ("uncaught exception means unknown state, exit") assumes the
242
362
  * failure came from the host's own request/business logic. A background
243
- * telemetry batch-flush timer (OTel's `BatchLogRecordProcessor`, ticking
363
+ * telemetry export tick (OTel's `BatchLogRecordProcessor` or
364
+ * `PeriodicExportingMetricReader`, and the OTLP exporters they feed, ticking
244
365
  * every few seconds independently of any request) is a different failure
245
366
  * domain: its own state corruption says nothing about whether the host's
246
367
  * actual work is safe to continue, and `otel-preload.ts` already commits to
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.backend.service.js","sourceRoot":"","sources":["../../../../../src/errors/services/error-handler.backend.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,wCAAwC,EAAE,mBAAmB,EAAE,MAAM,8EAA8E,CAAC;AAC7J,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,kCAAkC;AAClC,OAAO,EAEL,SAAS,EAKT,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,oCAAoC,CAAC,KAAY;IAC/D,OAAO,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;AAC5F,CAAC;AAED;;;GAGG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAIe;IACa;IAJhD,QAAQ,CAA+D;IAEjF,YAC6C,MAAqB,EACR,YAAwC;QADrD,WAAM,GAAN,MAAM,CAAe;QACR,iBAAY,GAAZ,YAAY,CAA4B;QAEhG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,mBAAmB;QACjB,OAAO,CAAC,KAA+B,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;YAChG,0CAA0C;YAC1C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACpB,mEAAmE;gBACnE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;YAED,qDAAqD;YACrD,MAAM,gBAAgB,GAAI,GAAW,CAAC,gBAAqD,CAAC;YAE5F,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK;gBAC1C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC;gBACnE,CAAC,CAAC,KAAK,CAAC;YACV,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAEvD,yEAAyE;YACzE,sEAAsE;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,uEAAuE;YACvE,wEAAwE;YACxE,wCAAwC,CACtC,IAAI,CAAC,MAAM,EACX,qBAAqB,EACrB,aAAa;YACb,qEAAqE;YACrE,sEAAsE;YACtE,iBAAiB;YACjB;gBACE,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;aACf,CACF,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;IAED,0BAA0B,CAAC,KAA+B,EAAE,gBAAwC;QAClG,MAAM,aAAa,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEzH,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,kCAAkC;QAClC,wCAAwC,CAAC,IAAI,CAAC,MAAM,EAAE,gCAAgC,EAAE,aAAa,CAAC,CAAC;IACzG,CAAC;IAGO,iBAAiB,CAAC,SAA6B,EAAE,GAAa,EAAE,YAA4C;QAClH,2CAA2C;QAC3C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;gBACpE,SAAS,EAAE,SAAS,CAAC,IAAI;gBACzB,UAAU,EAAE,SAAS,CAAC,UAAU;aACjC,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,iFAAiF;YACjF,4GAA4G;YAC5G,EAAE;YACF,uFAAuF;YACvF,yFAAyF;YACzF,oFAAoF;YACpF,sFAAsF;YACtF,wFAAwF;YACxF,gEAAgE;YAChE,IAAI,gBAA8C,CAAC;YAEnD,6EAA6E;YAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;gBAC1E,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAmB,CAAC;gBACxD,MAAM,cAAc,GAAG,SAAS,CAAC,OAAO,CAAC,cAAoC,CAAC;gBAC9E,MAAM,kBAAkB,GAAG,SAAS,CAAC,OAAO,CAAC,kBAAwC,CAAC;gBACtF,MAAM,eAAe,GAAG,kBAAkB;oBACxC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC;oBACtD,CAAC,CAAC,cAAc;wBACd,CAAC,CAAC,IAAI,cAAc,kBAAkB;wBACtC,CAAC,CAAC,sBAAsB,CAAC;gBAE7B,MAAM,KAAK,GAAyB;oBAClC,GAAG,EAAE,4BAA4B;oBACjC,OAAO,EAAE,eAAe;oBACxB,MAAM,EAAE;wBACN,SAAS;wBACT,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBACrD;iBACF,CAAC;gBACF,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC;YAC5C,CAAC;YAED,qFAAqF;YACrF,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;gBAC5E,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,SAAkE,CAAC;gBACvG,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBACjD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACvC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;oBAC/B,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAsB,CAAC,CAAC;YAC7B,CAAC;YAED,uFAAuF;YACvF,0FAA0F;YAC1F,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC3E,MAAM,iBAAiB,GAAG,cAAc,CAAC,OAAO,EAAE,iBAAiB,CAAC;YACpE,IACE,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,OAAO,iBAAiB,KAAK,QAAQ,CAAC;mBAC7E,iBAAiB,KAAK,EAAE;mBACxB,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU;mBACnC,OAAO,GAAG,CAAC,SAAS,KAAK,UAAU;mBACnC,GAAG,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,SAAS,EAC7C,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,QAAQ,GAAkB;gBAC9B,KAAK,EAAE;oBACL,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,OAAO,EAAE,SAAS,CAAC,sBAAsB;oBACzC,aAAa,EAAE,SAAS,CAAC,sBAAsB;oBAC/C,GAAG,CAAC,SAAS,CAAC,sBAAsB,IAAI,EAAE,sBAAsB,EAAE,SAAS,CAAC,sBAAsB,EAAE,CAAC;oBACrG,aAAa,EAAE,SAAS,CAAC,gBAAgB;oBACzC,oFAAoF;oBACpF,uFAAuF;oBACvF,6FAA6F;oBAC7F,wFAAwF;oBACxF,GAAG,CAAC,OAAO,cAAc,CAAC,OAAO,EAAE,IAAI,KAAK,QAAQ,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC9F,8FAA8F;oBAC9F,kGAAkG;oBAClG,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,uBAAuB,EAAE;oBACnE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE;oBAC5C,YAAY,EAAE,SAAS,CAAC,YAAY;oBACpC,0CAA0C;oBAC1C,0BAA0B;oBAC1B,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;oBAClE,wEAAwE;oBACxE,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,CAAC;oBAC7C,0DAA0D;oBAC1D,GAAG,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;iBACxE;aACF,CAAC;YAEF,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QAAC,OAAO,SAAS,EAAE,CAAC;YACnB,8DAA8D;YAC9D,wEAAwE;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBACjD,aAAa,EAAE,SAAS,CAAC,IAAI;gBAC7B,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAGD;;OAEG;IACK,kBAAkB,CAAC,GAAY;QACrC,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,CAAW;YAC9C,GAAG,CAAC,UAAU,EAAE,aAAa;YAC7B,GAAG,CAAC,MAAM,EAAE,aAAa;YACzB,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,EAAY;QACvB,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;YAC/D,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAW,EAAE,OAAqB,EAAE,EAAE;YACtE,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,mBAAmB,EAAE,SAAS,EAAE;gBAC3F,KAAK,EAAE,MAAM,EAAE,KAAK;gBACpB,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,EAAE,IAAI;oBAClB,OAAO,EAAE,MAAM,EAAE,OAAO;oBACxB,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;iBAC5B;aACF,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;YAEvE,oBAAoB;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;IACH,uBAAuB;QACrB,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAY,EAAE,EAAE;YAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,SAAS,EAAE;gBAC1F,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE;oBACP,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB;aACF,CAAC,CAAC;YAEH,IAAI,oCAAoC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sEAAsE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;gBAChH,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC,CAAC;YAE9D,oBAAoB;YACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,wBAAwB;QACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;CAEF,CAAA;AA7SY,mBAAmB;IAD/B,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IACjC,WAAA,MAAM,CAAC,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;qCADI,aAAa;QACM,0BAA0B;GALvF,mBAAmB,CA6S/B","sourcesContent":["import { NextFunction, Request, Response } from 'express';\nimport { inject, injectable } from 'inversify';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { ErrorBuilderBackendService } from './error-builder.backend.service';\nimport { logWildoBackendErrorAtClassifiedSeverity, describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport { getCurrentCorrelationId } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\n\n// Import the unified error system\nimport {\n ErrorResponse,\n ErrorType,\n ExecutionContext_InitiatorIds,\n WildoError_Backend,\n ValidationErrors,\n ValidationErrorEntry,\n WildoHeaderKeys,\n} from '@wildo-ai/saas-models';\nimport { ExecutionContext, } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\n\n/**\n * Narrowly isolates uncaught exceptions that originate inside\n * `@opentelemetry/sdk-logs`'s background batch-flush timer from every other\n * uncaught exception. Matched ONLY by the presence of the `sdk-logs` package\n * segment in the stack trace — this is deliberately conservative: any error\n * whose stack does not clearly point into that package still hard-exits via\n * the default path, so a real host-state-corrupting bug is never masked.\n *\n * Root cause (2026-08-06): the timer callback in\n * `BatchLogRecordProcessorBase` does `this._flushOneBatch().then(...).catch(...)`\n * on a fixed interval, independent of any request. Observed in production dev\n * use as `TypeError: this._flushOneBatch(...).then(...).catch is not a\n * function`. The processor's own promise chain broke down before its internal\n * `globalErrorHandler` safety net could catch it, so the failure escaped as a\n * process-level uncaught exception — killing an otherwise-healthy host over a\n * background telemetry-export housekeeping tick.\n */\nexport function isNonFatalTelemetryPipelineException(error: Error): boolean {\n return typeof error.stack === 'string' && error.stack.includes('@opentelemetry/sdk-logs');\n}\n\n/**\n * Unified Error Handler Service\n * Handles all errors using the new unified error management system\n */\n@injectable()\nexport class ErrorHandlerService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.Logger) private logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private errorBuilder: ErrorBuilderBackendService\n ) {\n this.logDebug = this.logger.debugByType('ErrorHandlerService');\n this.logger.setDebugTypeLogging('ErrorHandlerService', false);\n }\n\n /**\n * Express error handling middleware with unified error system\n * Express requires exactly 4 parameters: (err, req, res, next)\n */\n expressErrorHandler(): (error: Error|WildoError_Backend, req: Request, res: Response, next: NextFunction) => void {\n return (error: Error|WildoError_Backend, req: Request, res: Response, next: NextFunction): void => {\n // Check if response has already been sent\n if (res.headersSent) {\n // If headers are already sent, delegate to Express default handler\n return next(error);\n }\n\n // Extract executionContext from request if available\n const executionContext = (req as any).executionContext as ExecutionContext<any> | undefined;\n\n const errorToHandle = error instanceof Error\n ? this.errorBuilder.buildFromStandardError(error, executionContext)\n : error;\n errorToHandle.ipAddress = this.getClientIpAddress(req);\n\n // Single, central log for every HTTP error — emitted at the *classified*\n // operational severity rather than a blanket `error`. This is the one\n // true HTTP error boundary (mounted globally in http-server and per\n // sub-router), so logging here guarantees exactly one line per failed\n // request: expected client conditions (e.g. an expired token the client\n // will refresh) stay at `debug`, genuine server faults stay at `error`\n // with a stack. Per-controller boundaries no longer log — they forward\n // here — which removes the historic double-logging and the noise flood.\n logWildoBackendErrorAtClassifiedSeverity(\n this.logger,\n 'HTTP request failed',\n errorToHandle,\n // Boundary-specific extras only — the error's own fields (errorType,\n // statusCode, customMessageReference, operationPath, …) are projected\n // by the helper.\n {\n method: req.method,\n path: req.path,\n },\n );\n\n this.sendErrorResponse(errorToHandle, res);\n };\n }\n\n handleBatchesCronjobsError(error: Error|WildoError_Backend, executionContext?: ExecutionContext<any>): void {\n const errorToHandle = error instanceof Error ? this.errorBuilder.buildFromStandardError(error, executionContext) : error;\n\n // Batch/cron is a non-HTTP boundary (no `expressErrorHandler` downstream),\n // so this is where the line must be emitted — at the classified severity.\n // The error's own fields are projected by the helper; the stack is attached\n // only when the level is `error`.\n logWildoBackendErrorAtClassifiedSeverity(this.logger, 'Batch/cronjob execution failed', errorToHandle);\n }\n\n\n private sendErrorResponse(saasError: WildoError_Backend, res: Response, initiatorIds?: ExecutionContext_InitiatorIds): void {\n // Double-check if headers are already sent\n if (res.headersSent) {\n this.logger.warn('Cannot send error response - headers already sent', {\n errorType: saasError.type,\n statusCode: saasError.statusCode\n });\n return;\n }\n\n try {\n // Build validationErrors for responses that carry field-level error information.\n // Values can be plain strings (Zod errors) or structured ValidationErrorEntry objects (unique constraints).\n //\n // C3: Intentional extraction order — validationErrors are extracted from the raw error\n // BEFORE sanitizeErrorForClient() runs. This is by design: zodIssues contain field-level\n // validation messages that must appear in the response for form UX, even though the\n // sanitization layer may strip them from `details`. If zodIssues are removed from the\n // sanitization allowlist in the future, validationErrors will still be included because\n // they are extracted independently above the sanitization call.\n let validationErrors: ValidationErrors | undefined;\n\n // CONFLICT (409): Unique constraint violations — use structured i18n entries\n if (saasError.type === ErrorType.CONFLICT && saasError.context?.fieldName) {\n const fieldName = saasError.context.fieldName as string;\n const duplicateValue = saasError.context.duplicateValue as string | undefined;\n const customErrorMessage = saasError.context.customErrorMessage as string | undefined;\n const fallbackMessage = customErrorMessage\n ? customErrorMessage.replace('{fieldName}', fieldName)\n : duplicateValue\n ? `\"${duplicateValue}\" already exists`\n : 'Value already exists';\n\n const entry: ValidationErrorEntry = {\n key: 'validation.unique.conflict',\n message: fallbackMessage,\n params: {\n fieldName,\n ...(duplicateValue ? { value: duplicateValue } : {}),\n },\n };\n validationErrors = { [fieldName]: entry };\n }\n\n // VALIDATION (400): Zod validation errors — plain strings (already localized by Zod)\n if (saasError.type === ErrorType.VALIDATION && saasError.context?.zodIssues) {\n const zodIssues = saasError.context.zodIssues as Array<{ path: (string | number)[]; message: string }>;\n validationErrors = zodIssues.reduce((acc, issue) => {\n const fieldPath = issue.path.join('.');\n acc[fieldPath] = issue.message;\n return acc;\n }, {} as ValidationErrors);\n }\n\n // H9 fix: Sanitize error at serialization boundary — backend logs retain full context,\n // but the HTTP response strips internal details (emails, stack traces, session IDs, etc.)\n const sanitizedError = this.errorBuilder.sanitizeErrorForClient(saasError);\n const retryAfterSeconds = sanitizedError.context?.retryAfterSeconds;\n if (\n (typeof retryAfterSeconds === 'number' || typeof retryAfterSeconds === 'string')\n && retryAfterSeconds !== ''\n && typeof res.getHeader === 'function'\n && typeof res.setHeader === 'function'\n && res.getHeader('Retry-After') === undefined\n ) {\n res.setHeader('Retry-After', String(retryAfterSeconds));\n }\n\n const response: ErrorResponse = {\n error: {\n type: saasError.type,\n severity: saasError.severity,\n message: saasError.customMessageReference,\n customMessage: saasError.customMessageReference,\n ...(saasError.customMessageReference && { customMessageReference: saasError.customMessageReference }),\n operationPath: saasError.operationPathKey,\n // A stable, operation-specific refusal code (e.g. `LAST_ORGANIZATION_OWNER`) is the\n // contract clients branch on. It is authored in `context.code` and allow-listed by the\n // sanitizer, so it also appears under `details.code`; hoisting it to the top-level field the\n // schema reserves is what lets the customer documentation say \"branch on `error.code`\".\n ...(typeof sanitizedError.context?.code === 'string' && { code: sanitizedError.context.code }),\n // Phase 3 (SD5) — a safe, non-PII support/trace id the user can quote; joins this response to\n // the backend logs + audit for the same request. The error's captured id, else the ambient frame.\n correlationId: saasError.correlationId ?? getCurrentCorrelationId(),\n timestamp: saasError.timestamp.toISOString(),\n initiatorIds: saasError.initiatorIds,\n // executionType: saasError.executionType,\n // stack: saasError.stack,\n ...(sanitizedError.context && { details: sanitizedError.context }),\n // FIX-P6-H1: Include validationErrors at top level for frontend parsing\n ...(validationErrors && { validationErrors }),\n // Phase 1b: Include user guidance if present on the error\n ...(saasError.userGuidance && { userGuidance: saasError.userGuidance }),\n }\n };\n\n res.status(saasError.statusCode).json(response);\n } catch (sendError) {\n // If sending the error response fails, log it but don't throw\n // This prevents Express default HTML error handler from being triggered\n this.logger.error('Failed to send error response', {\n originalError: saasError.type,\n sendError: describeCaughtError(sendError)\n });\n }\n }\n\n\n /**\n * Get client IP address\n */\n private getClientIpAddress(req: Request): string {\n const xForwardedFor = req.headers[WildoHeaderKeys.FORWARDED_FOR];\n if (xForwardedFor) {\n return Array.isArray(xForwardedFor) ? xForwardedFor[0] : xForwardedFor.split(',')[0];\n }\n\n return req.headers[WildoHeaderKeys.REAL_IP] as string ||\n req.connection?.remoteAddress ||\n req.socket?.remoteAddress ||\n 'unknown';\n }\n\n /**\n * Create async error wrapper for route handlers\n */\n asyncHandler(fn: Function): (req: Request, res: Response, next: NextFunction) => void {\n return (req: Request, res: Response, next: NextFunction): void => {\n Promise.resolve(fn(req, res, next)).catch(next);\n };\n }\n\n /**\n * Global unhandled rejection handler\n */\n handleUnhandledRejection(): void {\n process.on('unhandledRejection', (reason: any, promise: Promise<any>) => {\n const errorToHandle = this.errorBuilder.buildError(ErrorType.UNHANDLED_REJECTION, undefined, {\n stack: reason?.stack,\n context: {\n name: reason?.name,\n message: reason?.message,\n promise: promise.toString()\n }\n });\n this.logger.fatal('Unhandled Promise Rejection', { ...errorToHandle });\n\n // Graceful shutdown\n process.exit(1);\n });\n }\n\n /**\n * Global uncaught exception handler.\n *\n * Exits the process for every uncaught exception EXCEPT the narrow class\n * isolated by {@link isNonFatalTelemetryPipelineException}. Node's own\n * guidance (\"uncaught exception means unknown state, exit\") assumes the\n * failure came from the host's own request/business logic. A background\n * telemetry batch-flush timer (OTel's `BatchLogRecordProcessor`, ticking\n * every few seconds independently of any request) is a different failure\n * domain: its own state corruption says nothing about whether the host's\n * actual work is safe to continue, and `otel-preload.ts` already commits to\n * \"telemetry failures must never affect host availability\" for SDK-start\n * failures (Audit A-17) — this extends the same policy to a *runtime*\n * telemetry failure. Every other uncaught exception keeps today's hard-exit\n * behavior unchanged.\n *\n * NOTE: this method is not wired into any production entrypoint today (no\n * caller reaches `initializeGlobalHandlers`/`handleUncaughtException`) —\n * kept for any future/direct caller, and as the tested home of the shared\n * {@link isNonFatalTelemetryPipelineException} predicate. It cannot simply\n * become \"the\" global handler: it depends on DI (`ErrorBuilderBackendService`\n * via the container), so it is only constructible AFTER\n * `setupSaasBackendInjection()` — every real crash boundary below registers\n * a RAW `process.on(...)` listener at module load, before the container\n * exists, specifically so container-construction failures and early-startup\n * throws are still caught. The listeners that actually apply this predicate\n * in production, all against the SAME exported function:\n *\n * - `runPlatformServiceEntrypoint` (platform\n * `platform-shared-lib/src/core/startup/platform-service-process-boundary.ts`)\n * — protects `platform-apps-manager`, `platform-crontabs-batches-manager`,\n * `platform-module-registry`. This is the process that actually crashed\n * on 2026-08-06, on `this._flushOneBatch(...).then(...).catch is not a\n * function` inside `@opentelemetry/sdk-logs`'s batch timer.\n * - `WorkerShutdownManagerBackendService.registerSignalHandlers` (this\n * package, `queue/worker-shutdown-manager.backend.service.ts`) — the\n * engine-shared listener reached by every NON-PLATFORM host\n * (backend-api, workers, minions) that runs a queue worker OR has\n * telemetry active, via `StartApplicationBackendService`'s\n * `!isPlatformApplication`/`!isPlatformMode`-gated calls into\n * `ObservabilityBackendService.initialize`/`QueueWorkerInitializer.initialize`.\n * Platform hosts skip both gates entirely and are NOT covered by this\n * listener — they rely solely on the `runPlatformServiceEntrypoint` entry\n * above.\n * - The hand-rolled bootstrap `process.on('uncaughtException'/'unhandledRejection', ...)`\n * blocks in each application entrypoint (Wonder Todos:\n * `backend-api/src/index.ts`, `minions/marketing-scrapper/src/index.ts`,\n * `workers/my-node-worker/src/index.ts`) — these are hand-authored\n * per-app boilerplate, not generated from a shared template, so a future\n * app scaffolded the same way needs the same carve-out applied by hand\n * until this pattern is consolidated into a shared bootstrap helper.\n */\n handleUncaughtException(): void {\n process.on('uncaughtException', (error: Error) => {\n const errorToHandle = this.errorBuilder.buildError(ErrorType.UNCAUGHT_EXCEPTION, undefined, {\n stack: error.stack,\n context: {\n name: error.name,\n message: error.message,\n }\n });\n\n if (isNonFatalTelemetryPipelineException(error)) {\n this.logger.error('Uncaught exception isolated to the telemetry pipeline; host stays up', { ...errorToHandle });\n return;\n }\n\n this.logger.fatal('Uncaught Exception', { ...errorToHandle });\n\n // Graceful shutdown\n process.exit(1);\n });\n }\n\n /**\n * Initialize global error handlers\n */\n initializeGlobalHandlers(): void {\n this.handleUnhandledRejection();\n this.handleUncaughtException();\n }\n\n}\n"]}
1
+ {"version":3,"file":"error-handler.backend.service.js","sourceRoot":"","sources":["../../../../src/errors/services/error-handler.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { NextFunction, Request, Response } from 'express';\nimport { inject, injectable } from 'inversify';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { ErrorBuilderBackendService } from './error-builder.backend.service';\nimport { logWildoBackendErrorAtClassifiedSeverity, describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport { getCurrentCorrelationId } from '~wildo-backend-lib/runtime/models/request-context.als.backend';\n\n// Import the unified error system\nimport {\n ErrorResponse,\n ErrorType,\n ExecutionContext_InitiatorIds,\n WildoError_Backend,\n ValidationErrors,\n ValidationErrorEntry,\n WildoHeaderKeys,\n} from '@wildo-ai/saas-models';\nimport { ExecutionContext, } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\n\n/**\n * The package-path segments that identify Wildo's OTLP **export pipeline** in a\n * stack trace: the signal processors that own the background flush timers, the\n * exporters they hand batches to, and the shared OTLP serialize/send layer\n * every exporter delegates into.\n *\n * The membership criterion is NOT \"is this an OpenTelemetry package\" — it is\n * **\"can a frame from this package ever appear in the stack of a HOST error?\"**\n * Every package listed here answers no: nothing in it invokes a caller-supplied\n * callback, so it is reached only from a telemetry export tick (or from\n * `sdk.shutdown()`). That is what makes a plain \"does the stack mention it\"\n * substring test sound: a frame from one of these packages cannot be\n * *routed through*, only *raised in*.\n *\n * `@opentelemetry/exporter-` is a PREFIX on purpose — it covers the three\n * exporters `otel-preload.ts` wires today (`exporter-trace-otlp-http`,\n * `exporter-metrics-otlp-http`, `exporter-logs-otlp-http`) and every transport\n * sibling (`-proto`, `-grpc`, zipkin, prometheus) a future provider selection\n * could swap in, without this list having to be revisited. Each is export-only\n * by construction.\n *\n * Kept in step with the package's real OpenTelemetry dependency set by the\n * totality pin in `__tests__/error-handler.backend.service.test.ts`, which\n * enumerates every `@opentelemetry/*` entry in this package's own\n * `package.json` and fails unless each one is either matched here or named in\n * {@link TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED}. A name list with no\n * link to whatever owns those names is the drift this carve-out already had\n * once; the pin is that link. It is test-time rather than compile-time because\n * the owning vocabulary is a JSON manifest, not a TypeScript symbol.\n */\nexport const TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS: readonly string[] = [\n // Log signal: `BatchLogRecordProcessor`'s periodic `_flushOneBatch` timer —\n // the frame the 2026-08-06 incident was raised in (see below).\n '@opentelemetry/sdk-logs',\n // Metric signal: `PeriodicExportingMetricReader`'s collect/export interval.\n // Safe as a whole-stack match only while this application declares no\n // OBSERVABLE instrument: an observable callback is host code invoked by the\n // reader, and would put host frames under an `sdk-metrics` frame. None exist\n // (no `createObservable*`/`addCallback` call site in engine/, platform/ or\n // examples/ as of 2026-09-09), and such a callback would in any case be\n // telemetry-collection code failing on the collection tick.\n '@opentelemetry/sdk-metrics',\n // Every OTLP/zipkin/prometheus exporter — see the prefix note above.\n '@opentelemetry/exporter-',\n // The shared OTLP serialize + send layer the exporters above delegate into,\n // and where a transport/serialization fault is actually raised.\n '@opentelemetry/otlp-exporter-base',\n '@opentelemetry/otlp-grpc-exporter-base',\n '@opentelemetry/otlp-transformer',\n];\n\n/**\n * The OpenTelemetry packages this carve-out deliberately does NOT isolate, each\n * with the reason. This is not a leftover list: it is the other half of the\n * totality pin, so that adding an OTel dependency forces a decision instead of\n * silently landing outside both sets.\n *\n * The reason is the same for the whole first group and it is the one that\n * matters: **these packages invoke host code**, so their frames appear in the\n * stack of ordinary host crashes. Matching them would not widen a telemetry\n * carve-out — it would suppress genuine host faults.\n */\nexport const TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED: readonly string[] = [\n // --- Runs host code, so a host crash's stack passes through it ---\n // `Tracer.startActiveSpan(name, fn)` calls `fn` — the host's own work — so\n // under HTTP auto-instrumentation practically EVERY synchronous server-side\n // crash carries an `sdk-trace-base` frame. Matching it would carve out the\n // whole application. The consequence is a stated gap, not an oversight: a\n // fault raised INSIDE `BatchSpanProcessor` itself (the span-tier analogue of\n // the 2026-08-06 log-tier incident) still hard-exits. Closing it needs a\n // discriminator this predicate does not have — either \"raised in the TOP\n // frame\" or \"the stack shows a timer tick\" — and neither is worth the\n // false-negative risk until a span-tier incident is actually evidenced. The\n // span EXPORT half is already covered, via `exporter-trace-otlp-http`.\n '@opentelemetry/sdk-trace-base',\n '@opentelemetry/sdk-trace-node',\n // Instrumentation WRAPS host handlers, middleware and driver calls; its\n // frames sit directly beneath host frames on every instrumented request.\n '@opentelemetry/instrumentation',\n '@opentelemetry/instrumentation-express',\n '@opentelemetry/instrumentation-http',\n '@opentelemetry/instrumentation-mongoose',\n '@opentelemetry/instrumentation-redis',\n '@opentelemetry/auto-instrumentations-node',\n // `context.with(ctx, fn)` runs the host callback; the API/core/context tier\n // is on the synchronous path of anything traced.\n '@opentelemetry/api',\n '@opentelemetry/api-logs',\n '@opentelemetry/core',\n // --- Not an export tick ---\n // The SDK facade. Its one dangerous call, `sdk.start()`, is already guarded\n // where it happens (`otel-preload.ts`, Audit A-17) and is a BOOT failure: a\n // host that cannot start telemetry has no export tick to isolate.\n '@opentelemetry/sdk-node',\n // Static data / attribute helpers, resolved at startup. Nothing periodic to\n // isolate, and their frames appear during host bootstrap.\n '@opentelemetry/resources',\n '@opentelemetry/semantic-conventions',\n];\n\n/**\n * Isolates an uncaught exception RAISED INSIDE the OTLP export pipeline —\n * the background machinery that flushes logs, metrics and spans to the\n * collector on a timer, independent of any request — from every other uncaught\n * exception, which still hard-exits via the default path.\n *\n * WHAT THIS SUPPRESSES: a failure whose stack mentions one of\n * {@link TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS}. Those packages never call\n * host code (see that constant's note), so a stack that mentions one of them\n * is a stack that was raised in one of them.\n *\n * WHAT IT MUST NOT SUPPRESS, and does not: anything raised in the host's own\n * request/business logic, anything raised in OTel INSTRUMENTATION (which wraps\n * host code), and anything in the trace/context tier a host stack routes\n * through — see {@link TELEMETRY_PACKAGES_DELIBERATELY_NOT_ISOLATED}. A\n * carve-out that swallowed a genuine fault into a silently degraded process\n * would be strictly worse than the crash it prevents, which is why the\n * criterion is \"cannot be on a host stack\" rather than \"is telemetry\".\n *\n * Root cause (2026-08-06): the timer callback in\n * `BatchLogRecordProcessorBase` does `this._flushOneBatch().then(...).catch(...)`\n * on a fixed interval, independent of any request. Observed in production dev\n * use as `TypeError: this._flushOneBatch(...).then(...).catch is not a\n * function`. The processor's own promise chain broke down before its internal\n * `globalErrorHandler` safety net could catch it, so the failure escaped as a\n * process-level uncaught exception — killing an otherwise-healthy host over a\n * background telemetry-export housekeeping tick.\n *\n * WIDENED 2026-09-09. The original predicate matched the single literal\n * `@opentelemetry/sdk-logs`, which is where that one incident happened to be\n * raised — so the identical promise-chain/transport failure arriving from the\n * METRIC reader or from ANY of the three OTLP exporters was not isolated and\n * hard-exited the host. Keying a carve-out on one package NAME makes its reach\n * an accident of which pipeline failed first; the property that actually\n * distinguishes the case is the export pipeline itself.\n */\nexport function isNonFatalTelemetryPipelineException(error: Error): boolean {\n if (typeof error.stack !== 'string') return false;\n const stack = error.stack;\n return TELEMETRY_EXPORT_PIPELINE_STACK_MARKERS.some((marker) => stack.includes(marker));\n}\n\n/**\n * Unified Error Handler Service\n * Handles all errors using the new unified error management system\n */\n@injectable()\nexport class ErrorHandlerService {\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.Logger) private logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private errorBuilder: ErrorBuilderBackendService\n ) {\n this.logDebug = this.logger.debugByType('ErrorHandlerService');\n this.logger.setDebugTypeLogging('ErrorHandlerService', false);\n }\n\n /**\n * Express error handling middleware with unified error system\n * Express requires exactly 4 parameters: (err, req, res, next)\n */\n expressErrorHandler(): (error: Error|WildoError_Backend, req: Request, res: Response, next: NextFunction) => void {\n return (error: Error|WildoError_Backend, req: Request, res: Response, next: NextFunction): void => {\n // Check if response has already been sent\n if (res.headersSent) {\n // If headers are already sent, delegate to Express default handler\n return next(error);\n }\n\n // Extract executionContext from request if available\n const executionContext = (req as any).executionContext as ExecutionContext<any> | undefined;\n\n const errorToHandle = error instanceof Error\n ? this.errorBuilder.buildFromStandardError(error, executionContext)\n : error;\n errorToHandle.ipAddress = this.getClientIpAddress(req);\n\n // Single, central log for every HTTP error — emitted at the *classified*\n // operational severity rather than a blanket `error`. This is the one\n // true HTTP error boundary (mounted globally in http-server and per\n // sub-router), so logging here guarantees exactly one line per failed\n // request: expected client conditions (e.g. an expired token the client\n // will refresh) stay at `debug`, genuine server faults stay at `error`\n // with a stack. Per-controller boundaries no longer log — they forward\n // here — which removes the historic double-logging and the noise flood.\n logWildoBackendErrorAtClassifiedSeverity(\n this.logger,\n 'HTTP request failed',\n errorToHandle,\n // Boundary-specific extras only — the error's own fields (errorType,\n // statusCode, customMessageReference, operationPath, …) are projected\n // by the helper.\n {\n method: req.method,\n path: req.path,\n },\n );\n\n this.sendErrorResponse(errorToHandle, res);\n };\n }\n\n handleBatchesCronjobsError(error: Error|WildoError_Backend, executionContext?: ExecutionContext<any>): void {\n const errorToHandle = error instanceof Error ? this.errorBuilder.buildFromStandardError(error, executionContext) : error;\n\n // Batch/cron is a non-HTTP boundary (no `expressErrorHandler` downstream),\n // so this is where the line must be emitted — at the classified severity.\n // The error's own fields are projected by the helper; the stack is attached\n // only when the level is `error`.\n logWildoBackendErrorAtClassifiedSeverity(this.logger, 'Batch/cronjob execution failed', errorToHandle);\n }\n\n\n private sendErrorResponse(saasError: WildoError_Backend, res: Response, initiatorIds?: ExecutionContext_InitiatorIds): void {\n // Double-check if headers are already sent\n if (res.headersSent) {\n this.logger.warn('Cannot send error response - headers already sent', {\n errorType: saasError.type,\n statusCode: saasError.statusCode\n });\n return;\n }\n\n try {\n // Build validationErrors for responses that carry field-level error information.\n // Values can be plain strings (Zod errors) or structured ValidationErrorEntry objects (unique constraints).\n //\n // C3: Intentional extraction order — validationErrors are extracted from the raw error\n // BEFORE sanitizeErrorForClient() runs. This is by design: zodIssues contain field-level\n // validation messages that must appear in the response for form UX, even though the\n // sanitization layer may strip them from `details`. If zodIssues are removed from the\n // sanitization allowlist in the future, validationErrors will still be included because\n // they are extracted independently above the sanitization call.\n let validationErrors: ValidationErrors | undefined;\n\n // CONFLICT (409): Unique constraint violations — use structured i18n entries\n if (saasError.type === ErrorType.CONFLICT && saasError.context?.fieldName) {\n const fieldName = saasError.context.fieldName as string;\n const duplicateValue = saasError.context.duplicateValue as string | undefined;\n const customErrorMessage = saasError.context.customErrorMessage as string | undefined;\n const fallbackMessage = customErrorMessage\n ? customErrorMessage.replace('{fieldName}', fieldName)\n : duplicateValue\n ? `\"${duplicateValue}\" already exists`\n : 'Value already exists';\n\n const entry: ValidationErrorEntry = {\n key: 'validation.unique.conflict',\n message: fallbackMessage,\n params: {\n fieldName,\n ...(duplicateValue ? { value: duplicateValue } : {}),\n },\n };\n validationErrors = { [fieldName]: entry };\n }\n\n // VALIDATION (400): Zod validation errors — plain strings (already localized by Zod)\n if (saasError.type === ErrorType.VALIDATION && saasError.context?.zodIssues) {\n const zodIssues = saasError.context.zodIssues as Array<{ path: (string | number)[]; message: string }>;\n validationErrors = zodIssues.reduce((acc, issue) => {\n const fieldPath = issue.path.join('.');\n acc[fieldPath] = issue.message;\n return acc;\n }, {} as ValidationErrors);\n }\n\n // H9 fix: Sanitize error at serialization boundary — backend logs retain full context,\n // but the HTTP response strips internal details (emails, stack traces, session IDs, etc.)\n const sanitizedError = this.errorBuilder.sanitizeErrorForClient(saasError);\n const retryAfterSeconds = sanitizedError.context?.retryAfterSeconds;\n if (\n (typeof retryAfterSeconds === 'number' || typeof retryAfterSeconds === 'string')\n && retryAfterSeconds !== ''\n && typeof res.getHeader === 'function'\n && typeof res.setHeader === 'function'\n && res.getHeader('Retry-After') === undefined\n ) {\n res.setHeader('Retry-After', String(retryAfterSeconds));\n }\n\n const response: ErrorResponse = {\n error: {\n type: saasError.type,\n severity: saasError.severity,\n message: saasError.customMessageReference,\n customMessage: saasError.customMessageReference,\n ...(saasError.customMessageReference && { customMessageReference: saasError.customMessageReference }),\n operationPath: saasError.operationPathKey,\n // A stable, operation-specific refusal code (e.g. `LAST_ORGANIZATION_OWNER`) is the\n // contract clients branch on. It is authored in `context.code` and allow-listed by the\n // sanitizer, so it also appears under `details.code`; hoisting it to the top-level field the\n // schema reserves is what lets the customer documentation say \"branch on `error.code`\".\n ...(typeof sanitizedError.context?.code === 'string' && { code: sanitizedError.context.code }),\n // Phase 3 (SD5) — a safe, non-PII support/trace id the user can quote; joins this response to\n // the backend logs + audit for the same request. The error's captured id, else the ambient frame.\n correlationId: saasError.correlationId ?? getCurrentCorrelationId(),\n timestamp: saasError.timestamp.toISOString(),\n initiatorIds: saasError.initiatorIds,\n // executionType: saasError.executionType,\n // stack: saasError.stack,\n ...(sanitizedError.context && { details: sanitizedError.context }),\n // FIX-P6-H1: Include validationErrors at top level for frontend parsing\n ...(validationErrors && { validationErrors }),\n // Phase 1b: Include user guidance if present on the error\n ...(saasError.userGuidance && { userGuidance: saasError.userGuidance }),\n }\n };\n\n res.status(saasError.statusCode).json(response);\n } catch (sendError) {\n // If sending the error response fails, log it but don't throw\n // This prevents Express default HTML error handler from being triggered\n this.logger.error('Failed to send error response', {\n originalError: saasError.type,\n sendError: describeCaughtError(sendError)\n });\n }\n }\n\n\n /**\n * Get client IP address\n */\n private getClientIpAddress(req: Request): string {\n const xForwardedFor = req.headers[WildoHeaderKeys.FORWARDED_FOR];\n if (xForwardedFor) {\n return Array.isArray(xForwardedFor) ? xForwardedFor[0] : xForwardedFor.split(',')[0];\n }\n\n return req.headers[WildoHeaderKeys.REAL_IP] as string ||\n req.connection?.remoteAddress ||\n req.socket?.remoteAddress ||\n 'unknown';\n }\n\n /**\n * Create async error wrapper for route handlers\n */\n asyncHandler(fn: Function): (req: Request, res: Response, next: NextFunction) => void {\n return (req: Request, res: Response, next: NextFunction): void => {\n Promise.resolve(fn(req, res, next)).catch(next);\n };\n }\n\n /**\n * Global unhandled rejection handler\n */\n handleUnhandledRejection(): void {\n process.on('unhandledRejection', (reason: any, promise: Promise<any>) => {\n const errorToHandle = this.errorBuilder.buildError(ErrorType.UNHANDLED_REJECTION, undefined, {\n stack: reason?.stack,\n context: {\n name: reason?.name,\n message: reason?.message,\n promise: promise.toString()\n }\n });\n this.logger.fatal('Unhandled Promise Rejection', { ...errorToHandle });\n\n // Graceful shutdown\n process.exit(1);\n });\n }\n\n /**\n * Global uncaught exception handler.\n *\n * Exits the process for every uncaught exception EXCEPT the narrow class\n * isolated by {@link isNonFatalTelemetryPipelineException}. Node's own\n * guidance (\"uncaught exception means unknown state, exit\") assumes the\n * failure came from the host's own request/business logic. A background\n * telemetry export tick (OTel's `BatchLogRecordProcessor` or\n * `PeriodicExportingMetricReader`, and the OTLP exporters they feed, ticking\n * every few seconds independently of any request) is a different failure\n * domain: its own state corruption says nothing about whether the host's\n * actual work is safe to continue, and `otel-preload.ts` already commits to\n * \"telemetry failures must never affect host availability\" for SDK-start\n * failures (Audit A-17) — this extends the same policy to a *runtime*\n * telemetry failure. Every other uncaught exception keeps today's hard-exit\n * behavior unchanged.\n *\n * NOTE: this method is not wired into any production entrypoint today (no\n * caller reaches `initializeGlobalHandlers`/`handleUncaughtException`) —\n * kept for any future/direct caller, and as the tested home of the shared\n * {@link isNonFatalTelemetryPipelineException} predicate. It cannot simply\n * become \"the\" global handler: it depends on DI (`ErrorBuilderBackendService`\n * via the container), so it is only constructible AFTER\n * `setupSaasBackendInjection()` — every real crash boundary below registers\n * a RAW `process.on(...)` listener at module load, before the container\n * exists, specifically so container-construction failures and early-startup\n * throws are still caught. The listeners that actually apply this predicate\n * in production, all against the SAME exported function:\n *\n * - `runPlatformServiceEntrypoint` (platform\n * `platform-shared-lib/src/core/startup/platform-service-process-boundary.ts`)\n * — protects `platform-apps-manager`, `platform-crontabs-batches-manager`,\n * `platform-module-registry`. This is the process that actually crashed\n * on 2026-08-06, on `this._flushOneBatch(...).then(...).catch is not a\n * function` inside `@opentelemetry/sdk-logs`'s batch timer.\n * - `WorkerShutdownManagerBackendService.registerSignalHandlers` (this\n * package, `queue/worker-shutdown-manager.backend.service.ts`) — the\n * engine-shared listener reached by every NON-PLATFORM host\n * (backend-api, workers, minions) that runs a queue worker OR has\n * telemetry active, via `StartApplicationBackendService`'s\n * `!isPlatformApplication`/`!isPlatformMode`-gated calls into\n * `ObservabilityBackendService.initialize`/`QueueWorkerInitializer.initialize`.\n * Platform hosts skip both gates entirely and are NOT covered by this\n * listener — they rely solely on the `runPlatformServiceEntrypoint` entry\n * above.\n * - The hand-rolled bootstrap `process.on('uncaughtException'/'unhandledRejection', ...)`\n * blocks in each application entrypoint (Wonder Todos:\n * `backend-api/src/index.ts`, `minions/marketing-scrapper/src/index.ts`,\n * `workers/my-node-worker/src/index.ts`) — these are hand-authored\n * per-app boilerplate, not generated from a shared template, so a future\n * app scaffolded the same way needs the same carve-out applied by hand\n * until this pattern is consolidated into a shared bootstrap helper.\n */\n handleUncaughtException(): void {\n process.on('uncaughtException', (error: Error) => {\n const errorToHandle = this.errorBuilder.buildError(ErrorType.UNCAUGHT_EXCEPTION, undefined, {\n stack: error.stack,\n context: {\n name: error.name,\n message: error.message,\n }\n });\n\n if (isNonFatalTelemetryPipelineException(error)) {\n this.logger.error('Uncaught exception isolated to the telemetry pipeline; host stays up', { ...errorToHandle });\n return;\n }\n\n this.logger.fatal('Uncaught Exception', { ...errorToHandle });\n\n // Graceful shutdown\n process.exit(1);\n });\n }\n\n /**\n * Initialize global error handlers\n */\n initializeGlobalHandlers(): void {\n this.handleUnhandledRejection();\n this.handleUncaughtException();\n }\n\n}\n"]}