@wildo-ai/saas-backend-lib 1.1.3 → 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 (1056) 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.map +1 -1
  9. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
  10. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
  11. package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts.map +1 -1
  12. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +1 -1
  13. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -1
  14. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -1
  15. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -1
  16. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -1
  17. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -1
  18. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -1
  19. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -1
  20. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +12 -1
  21. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -1
  22. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
  23. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
  24. package/dist/esm/base-classes/services/batches/resource-retention-sweep.batch.backend.service.d.ts.map +1 -1
  25. package/dist/esm/base-classes/services/batches/suspension-reactivation-sweep.batch.backend.service.d.ts.map +1 -1
  26. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -1
  27. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
  28. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  29. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
  30. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
  31. package/dist/esm/base-classes/services/controllers/utils/audit-access-fields.backend.utils.d.ts.map +1 -1
  32. package/dist/esm/base-classes/services/controllers/utils/operation-response-serializer.backend.utils.d.ts.map +1 -1
  33. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -1
  34. package/dist/esm/base-classes/services/repositories/__tests__/method-span-scan.guard-helpers.d.ts.map +1 -1
  35. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -1
  36. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
  37. package/dist/esm/base-classes/services/repositories/http-api/http-api-filter-translation.backend.d.ts.map +1 -1
  38. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  39. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +13 -4
  40. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  41. package/dist/esm/base-classes/services/repositories/http-api/http-api-query.backend.d.ts.map +1 -1
  42. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +17 -0
  44. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  45. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  46. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  47. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -1
  48. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -1
  49. package/dist/esm/base-classes/services/repositories/http-api/http-api-row-projection.backend.d.ts.map +1 -1
  50. package/dist/esm/base-classes/services/repositories/http-api/http-api-subject-erasure-effect.backend.d.ts.map +1 -1
  51. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  52. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  53. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
  54. package/dist/esm/base-classes/services/repositories/http-api/odoo-jsonrpc-compiler.backend.d.ts.map +1 -1
  55. package/dist/esm/base-classes/services/repositories/http-api/rest-json-query-compiler.backend.d.ts.map +1 -1
  56. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  57. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  58. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
  59. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
  60. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +57 -0
  61. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  62. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +95 -2
  63. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  64. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  65. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  66. package/dist/esm/base-classes/services/repositories/repository-guarded-mutation.backend.types.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +5 -2
  68. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  69. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +14 -3
  70. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  71. package/dist/esm/base-classes/services/repositories/repository-version-metadata.backend.utils.d.ts.map +1 -1
  72. package/dist/esm/base-classes/services/repositories/resource-write-integrity.backend.d.ts.map +1 -1
  73. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts +72 -0
  74. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.d.ts.map +1 -0
  75. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js +88 -0
  76. package/dist/esm/base-classes/services/repositories/seed-row-default-materialization.backend.js.map +1 -0
  77. package/dist/esm/base-classes/services/repositories/unique-constraint-conflict-reference.backend.d.ts.map +1 -1
  78. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -1
  79. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -1
  80. package/dist/esm/base-classes/services/services/__tests__/mock-system-access.service.d.ts.map +1 -1
  81. package/dist/esm/base-classes/services/services/read-only-field-change.backend.utils.d.ts.map +1 -1
  82. package/dist/esm/base-classes/services/services/resource-operation-audit-emission.backend.utils.d.ts.map +1 -1
  83. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  84. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  85. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -1
  86. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -1
  87. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
  88. package/dist/esm/base-classes/services/services/resource-operation-server-injected-fields.backend.utils.d.ts.map +1 -1
  89. package/dist/esm/base-classes/services/services/resource-operation-transaction-persistence.backend.utils.d.ts.map +1 -1
  90. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  91. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  92. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  93. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  94. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  95. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +44 -6
  96. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  97. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  98. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  99. package/dist/esm/base-classes/utils/backend-type-utils.d.ts.map +1 -1
  100. package/dist/esm/base-classes/utils/single-subject-addressing.backend.utils.d.ts.map +1 -1
  101. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -1
  102. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -1
  103. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -1
  104. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -1
  105. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -1
  106. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -1
  107. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts.map +1 -1
  108. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -1
  109. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +1 -1
  110. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -1
  111. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +5 -4
  112. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -1
  113. package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -1
  114. package/dist/esm/billing/services/back-office/billing-state.backend.service.js +11 -1
  115. package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -1
  116. package/dist/esm/billing/services/back-office/billing-subject-erasure-effect.backend.d.ts.map +1 -1
  117. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  118. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  119. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  120. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  121. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -1
  122. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -1
  123. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  124. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  125. package/dist/esm/billing/services/billing.utils.d.ts.map +1 -1
  126. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  127. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  128. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +32 -0
  129. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  130. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +32 -1
  131. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  132. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  133. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  134. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  135. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  136. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  137. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  138. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  139. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +9 -6
  140. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  141. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +9 -6
  142. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  143. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -1
  144. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -1
  145. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts.map +1 -1
  146. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -1
  147. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  148. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +50 -3
  149. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  150. package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -1
  151. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  152. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  153. package/dist/esm/charts/controllers/chart.backend.controller.d.ts.map +1 -1
  154. package/dist/esm/charts/services/chart-registry.backend.service.d.ts +80 -7
  155. package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -1
  156. package/dist/esm/charts/services/chart-registry.backend.service.js +115 -8
  157. package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -1
  158. package/dist/esm/companion-exports.d.ts.map +1 -1
  159. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -1
  160. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.d.ts.map +1 -1
  161. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  162. package/dist/esm/compliance/audit-trails/batches/immudb-audit-reconcile.batch.backend.service.d.ts.map +1 -1
  163. package/dist/esm/compliance/audit-trails/batches/siem-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  164. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -1
  165. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  166. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  167. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +107 -4
  168. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  169. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +176 -5
  170. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  171. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  172. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  173. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  174. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
  175. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  176. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  177. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -1
  178. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -1
  179. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  180. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +21 -0
  181. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  182. package/dist/esm/compliance/audit-trails/services/utils/ocsf-class-mapping.backend.utils.d.ts.map +1 -1
  183. package/dist/esm/compliance/audit-trails/services/utils/siem-dictionary.backend.utils.d.ts.map +1 -1
  184. package/dist/esm/compliance/audit-trails/services/utils/siem-ocsf-projection.backend.utils.d.ts.map +1 -1
  185. package/dist/esm/compliance/audit-trails/services/utils/siem-projection-contract.backend.utils.d.ts.map +1 -1
  186. package/dist/esm/compliance/audit-trails/utils/audit-actor.backend.utils.d.ts.map +1 -1
  187. package/dist/esm/compliance/audit-trails/utils/layer2-audit-provider-boot-diagnostic.backend.utils.d.ts.map +1 -1
  188. package/dist/esm/compliance/index.d.ts.map +1 -1
  189. package/dist/esm/compliance/privacy/retention-hide-predicate.backend.d.ts.map +1 -1
  190. package/dist/esm/compliance/privacy/services/subject-erasure-external-effects.backend.service.d.ts.map +1 -1
  191. package/dist/esm/compliance/privacy/services/subject-session-revocation.backend.service.d.ts.map +1 -1
  192. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  193. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  194. package/dist/esm/config/bootstrap/minion-initialization-projection.backend.d.ts.map +1 -1
  195. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.d.ts.map +1 -1
  196. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js +3 -0
  197. package/dist/esm/config/bootstrap/runtime-principal-attestation.backend.service.js.map +1 -1
  198. package/dist/esm/config/bootstrap/runtime-principal.backend.service.d.ts.map +1 -1
  199. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
  200. package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -1
  201. package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -1
  202. package/dist/esm/config/models/app-config.backend.schemas.d.ts +4 -4
  203. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  204. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  205. package/dist/esm/config/models/app-env-config.backend.schemas.d.ts.map +1 -1
  206. package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts +36 -0
  207. package/dist/esm/config/models/apps-manager-transport.backend.definitions.d.ts.map +1 -0
  208. package/dist/esm/config/models/apps-manager-transport.backend.definitions.js +36 -0
  209. package/dist/esm/config/models/apps-manager-transport.backend.definitions.js.map +1 -0
  210. package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -1
  211. package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -1
  212. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  213. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  214. package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts.map +1 -1
  215. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -1
  216. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  217. package/dist/esm/config/services/app-configuration-loader.backend.service.js +3 -0
  218. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  219. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  220. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  221. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  222. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  223. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +12 -0
  224. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  225. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +28 -0
  226. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  227. package/dist/esm/data-seeding/batches/data-seeding-run-cleanup.batch.backend.service.d.ts.map +1 -1
  228. package/dist/esm/data-seeding/batches/data-seeding-scheduled-rerun.batch.backend.service.d.ts.map +1 -1
  229. package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.contracts.d.ts.map +1 -1
  230. package/dist/esm/data-seeding/controllers/data-seeding-admin.backend.controller.d.ts.map +1 -1
  231. package/dist/esm/data-seeding/data-seeding-models.d.ts.map +1 -1
  232. package/dist/esm/data-seeding/models/business-key-resolver.shared.utils.d.ts.map +1 -1
  233. package/dist/esm/data-seeding/models/data-seed-execution-context.shared.types.d.ts.map +1 -1
  234. package/dist/esm/data-seeding/models/data-seed-migrator-runner.shared.utils.d.ts.map +1 -1
  235. package/dist/esm/data-seeding/models/data-seed-reconciler.shared.utils.d.ts.map +1 -1
  236. package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.schemas.d.ts.map +1 -1
  237. package/dist/esm/data-seeding/models/data-seed-row-metadata.shared.utils.d.ts.map +1 -1
  238. package/dist/esm/data-seeding/models/data-seed-run.shared.resources-config.schemas.d.ts.map +1 -1
  239. package/dist/esm/data-seeding/models/data-seed-run.shared.schemas.d.ts.map +1 -1
  240. package/dist/esm/data-seeding/models/data-seed-trigger-mode-matrix.shared.utils.d.ts.map +1 -1
  241. package/dist/esm/data-seeding/models/data-seed.shared.schemas.d.ts.map +1 -1
  242. package/dist/esm/data-seeding/services/data-seed-application-bootstrap.backend.d.ts.map +1 -1
  243. package/dist/esm/data-seeding/services/data-seed-dispatcher.backend.service.d.ts.map +1 -1
  244. package/dist/esm/data-seeding/services/data-seed-registry.backend.service.d.ts.map +1 -1
  245. package/dist/esm/data-seeding/services/data-seed-scope-resolver-registry.backend.service.d.ts.map +1 -1
  246. package/dist/esm/data-seeding/services/engines/additive-seed-engine.backend.service.d.ts.map +1 -1
  247. package/dist/esm/data-seeding/services/engines/lazy-seed-engine.backend.service.d.ts.map +1 -1
  248. package/dist/esm/data-seeding/services/engines/manual-seed-engine.backend.service.d.ts.map +1 -1
  249. package/dist/esm/data-seeding/services/engines/sync-seed-engine.backend.service.d.ts.map +1 -1
  250. package/dist/esm/data-seeding/services/engines/upgrade-seed-engine.backend.service.d.ts.map +1 -1
  251. package/dist/esm/data-seeding/services/shared/data-seed-business-key.shared.utils.d.ts.map +1 -1
  252. package/dist/esm/data-seeding/services/shared/data-seed-error.shared.utils.d.ts.map +1 -1
  253. package/dist/esm/data-seeding/services/shared/data-seed-run-counters.shared.types.d.ts.map +1 -1
  254. package/dist/esm/data-seeding/services/shared/data-seed-run-ledger.backend.d.ts.map +1 -1
  255. package/dist/esm/data-seeding/services/shared/data-seed-scope-anchor.shared.types.d.ts.map +1 -1
  256. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts.map +1 -1
  257. package/dist/esm/data-seeding/services/shared/data-seed-scope-resolution.backend.d.ts.map +1 -1
  258. package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -1
  259. package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -1
  260. package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -1
  261. package/dist/esm/databases/models/resolve-persistence-adapter.backend.utils.d.ts.map +1 -1
  262. package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -1
  263. package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -1
  264. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -1
  265. package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -1
  266. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -1
  267. package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -1
  268. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -1
  269. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
  270. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -1
  271. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -1
  272. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -1
  273. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -1
  274. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -1
  275. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -1
  276. package/dist/esm/databases/services/db-utils.d.ts.map +1 -1
  277. package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -1
  278. package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -1
  279. package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -1
  280. package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -1
  281. package/dist/esm/databases/services/postgresql-development-provisioning.backend.d.ts.map +1 -1
  282. package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -1
  283. package/dist/esm/databases/services/postgresql-migration-runner.backend.d.ts.map +1 -1
  284. package/dist/esm/databases/services/postgresql-schema-ddl.backend.d.ts.map +1 -1
  285. package/dist/esm/databases/services/postgresql-schema-migration-sql.backend.d.ts.map +1 -1
  286. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  287. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  288. package/dist/esm/databases/services/postgresql-schema-plan-lockfile.backend.d.ts.map +1 -1
  289. package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
  290. package/dist/esm/databases/services/resource-persistence-unit-of-work.backend.service.d.ts.map +1 -1
  291. package/dist/esm/databases/services/schema-planning-standalone.backend.d.ts.map +1 -1
  292. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -1
  293. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -1
  294. package/dist/esm/databases/utils/postgresql-identifier.backend.utils.d.ts.map +1 -1
  295. package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -1
  296. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  297. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  298. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  299. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  300. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  301. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  302. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  303. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  304. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  305. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  306. package/dist/esm/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.d.ts.map +1 -1
  307. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -1
  308. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -1
  309. package/dist/esm/external-data/external-data-extraction-source.backend.d.ts.map +1 -1
  310. package/dist/esm/external-data/external-data-models.exports.d.ts.map +1 -1
  311. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  312. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  313. package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
  314. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
  315. package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -1
  316. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  317. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  318. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +102 -52
  319. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -1
  320. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +117 -71
  321. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -1
  322. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -1
  323. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -1
  324. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -1
  325. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +26 -7
  326. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -1
  327. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -1
  328. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -1
  329. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  330. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  331. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -1
  332. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -1
  333. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  334. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  335. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts +81 -34
  336. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  337. package/dist/esm/external-providers/services/document-extraction.backend.service.js +179 -98
  338. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  339. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  340. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  341. package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts.map +1 -1
  342. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +121 -0
  343. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  344. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +151 -0
  345. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  346. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts +15 -1
  347. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  348. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +60 -4
  349. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  350. package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -1
  351. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -1
  352. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -1
  353. package/dist/esm/features/services/application-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
  354. package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -1
  355. package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -1
  356. package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -1
  357. package/dist/esm/features/services/organization-features-admin-write-path.custom-impl.backend.service.d.ts.map +1 -1
  358. package/dist/esm/features/services/scope-feature-ledger-relationship.backend.utils.d.ts.map +1 -1
  359. package/dist/esm/features/services/scope-features-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  360. package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -1
  361. package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -1
  362. package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -1
  363. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -1
  364. package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -1
  365. package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -1
  366. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -1
  367. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  368. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  369. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -1
  370. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -1
  371. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +37 -0
  372. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  373. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +221 -21
  374. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  375. package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -1
  376. package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -1
  377. package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -1
  378. package/dist/esm/files/scanning/yara-scanner.backend.service.js +20 -2
  379. package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -1
  380. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -1
  381. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -1
  382. package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -1
  383. package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -1
  384. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
  385. package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
  386. package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -1
  387. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  388. package/dist/esm/files/services/file-scanning.backend.service.js +5 -0
  389. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  390. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  391. package/dist/esm/files/services/file-text-extraction.backend.service.js +8 -5
  392. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  393. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
  394. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
  395. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  396. package/dist/esm/files/services/files.backend.service.js +3 -1
  397. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  398. package/dist/esm/files/services/rag-source-field-detection.backend.service.d.ts.map +1 -1
  399. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -1
  400. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -1
  401. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts.map +1 -1
  402. package/dist/esm/files/storage/file-storage-provider.types.d.ts +36 -1
  403. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  404. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  405. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +21 -3
  406. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -1
  407. package/dist/esm/files/storage/file-storage-router.backend.service.js +38 -5
  408. package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -1
  409. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts +87 -0
  410. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.d.ts.map +1 -0
  411. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js +340 -0
  412. package/dist/esm/files/storage/google-drive-storage-provider.backend.service.js.map +1 -0
  413. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  414. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  415. package/dist/esm/files/storage/storage-credential-provider.backend.utils.d.ts.map +1 -1
  416. package/dist/esm/files/storage/storage-platform-sts-credential-resolver.backend.utils.d.ts.map +1 -1
  417. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.d.ts.map +1 -1
  418. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js +10 -3
  419. package/dist/esm/files/storage/storage-sts-credential-resolver.backend.utils.js.map +1 -1
  420. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  421. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  422. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  423. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  424. package/dist/esm/files/utils/file-upload.utils.d.ts.map +1 -1
  425. package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
  426. package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
  427. package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -1
  428. package/dist/esm/files/utils/image-derivation.backend.utils.d.ts.map +1 -1
  429. package/dist/esm/files/utils/image-thumbnail.backend.utils.d.ts.map +1 -1
  430. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -1
  431. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -1
  432. package/dist/esm/files/utils/rag-source-field-schema-path.backend.utils.d.ts.map +1 -1
  433. package/dist/esm/files/utils/storage-application-identity.backend.utils.d.ts.map +1 -1
  434. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  435. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  436. package/dist/esm/flows-actors/a2a/batches/a2a-push-delivery.batch.backend.service.d.ts.map +1 -1
  437. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  438. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  439. package/dist/esm/flows-actors/a2a/models/a2a-dialect.backend.schemas.d.ts.map +1 -1
  440. package/dist/esm/flows-actors/a2a/models/a2a-push-notification-delivery.backend.utils.d.ts.map +1 -1
  441. package/dist/esm/flows-actors/a2a/models/a2a-push-notification.backend.schemas.d.ts.map +1 -1
  442. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  443. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  444. package/dist/esm/flows-actors/a2a/services/a2a-push-delivery-log.repository.d.ts.map +1 -1
  445. package/dist/esm/flows-actors/a2a/services/a2a-push-dispatcher.backend.service.d.ts.map +1 -1
  446. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  447. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  448. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  449. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  450. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  451. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  452. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  453. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  454. package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts.map +1 -1
  455. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  456. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  457. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts.map +1 -1
  458. package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -1
  459. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  460. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  461. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts.map +1 -1
  462. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  463. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  464. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +107 -16
  465. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  466. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +118 -18
  467. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  468. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  469. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  470. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -1
  471. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -1
  472. package/dist/esm/flows-actors/services/__tests__/fixtures/meta-workflow-evaluation-treatment.test-fixture.d.ts.map +1 -1
  473. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  474. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  475. package/dist/esm/flows-actors/services/agent-call-trace-sink.backend.d.ts.map +1 -1
  476. package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -1
  477. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +104 -5
  478. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  479. package/dist/esm/flows-actors/services/agents.backend.service.js +263 -31
  480. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  481. package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -1
  482. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +46 -1
  483. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  484. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +193 -6
  485. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  486. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  487. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  488. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  489. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  490. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  491. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  492. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -1
  493. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +3 -0
  494. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -1
  495. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts +99 -0
  496. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.d.ts.map +1 -0
  497. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js +155 -0
  498. package/dist/esm/flows-actors/services/mcp-credential-resolver.backend.service.js.map +1 -0
  499. package/dist/esm/flows-actors/services/meta-workflow-evaluation-treatment-compiler.backend.service.d.ts.map +1 -1
  500. package/dist/esm/flows-actors/services/meta-workflow-standard-action-contracts.backend.service.d.ts.map +1 -1
  501. package/dist/esm/flows-actors/services/meta-workflow-standard-evaluation-contracts.backend.service.d.ts.map +1 -1
  502. package/dist/esm/flows-actors/services/meta-workflow-structured-artifact-action-compiler.backend.service.d.ts.map +1 -1
  503. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  504. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  505. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  506. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +9 -0
  507. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  508. package/dist/esm/flows-actors/utils/bounded-subprocess.backend.utils.d.ts.map +1 -1
  509. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -1
  510. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  511. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  512. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  513. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  514. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -1
  515. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts +77 -0
  516. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.d.ts.map +1 -0
  517. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js +164 -0
  518. package/dist/esm/flows-actors/utils/tool-approval-modification.backend.utils.js.map +1 -0
  519. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts +48 -0
  520. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.d.ts.map +1 -0
  521. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js +101 -0
  522. package/dist/esm/flows-actors/utils/tool-approval-signing.backend.utils.js.map +1 -0
  523. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -1
  524. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -1
  525. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -1
  526. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -1
  527. package/dist/esm/guidance/services/lifecycle-scope-id.backend.utils.d.ts.map +1 -1
  528. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -1
  529. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -1
  530. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  531. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  532. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -1
  533. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -1
  534. package/dist/esm/guidance/services/scoped-state-read-custom-implementations.backend.d.ts.map +1 -1
  535. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  536. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  537. package/dist/esm/i18n/services/i18n.backend.service.d.ts.map +1 -1
  538. package/dist/esm/index.d.ts +0 -1
  539. package/dist/esm/index.d.ts.map +1 -1
  540. package/dist/esm/index.js +0 -1
  541. package/dist/esm/index.js.map +1 -1
  542. package/dist/esm/inject/models/container.d.ts +10 -0
  543. package/dist/esm/inject/models/container.d.ts.map +1 -1
  544. package/dist/esm/inject/models/container.js +49 -1
  545. package/dist/esm/inject/models/container.js.map +1 -1
  546. package/dist/esm/inject/models/service-types.d.ts +3 -0
  547. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  548. package/dist/esm/inject/models/service-types.js +3 -0
  549. package/dist/esm/inject/models/service-types.js.map +1 -1
  550. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  551. package/dist/esm/mcp/controllers/mcp.controller.js +50 -3
  552. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  553. package/dist/esm/mcp/models/mcp-protocol.backend.schemas.d.ts.map +1 -1
  554. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
  555. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
  556. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  557. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  558. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  559. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  560. package/dist/esm/mcp/services/resource-server-instances-registry.backend.service.d.ts.map +1 -1
  561. package/dist/esm/mcp/utils/zod-to-mcp-json-schema.backend.utils.d.ts.map +1 -1
  562. package/dist/esm/meta-workflow-runtime.exports.d.ts.map +1 -1
  563. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  564. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  565. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -1
  566. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -1
  567. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  568. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  569. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  570. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  571. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  572. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  573. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +1 -1
  574. package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
  575. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  576. package/dist/esm/monitoring/logger/services/logger.service.js +3 -3
  577. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  578. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -1
  579. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -1
  580. package/dist/esm/monitoring/logger/utils/log-value-normalization.backend.utils.d.ts.map +1 -1
  581. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +10 -6
  582. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -1
  583. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +10 -6
  584. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -1
  585. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  586. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  587. package/dist/esm/monitoring/observability/otel-preload.d.ts.map +1 -1
  588. package/dist/esm/monitoring/observability/otel-sdk-global-handle.d.ts.map +1 -1
  589. package/dist/esm/monitoring/observability/services/__tests__/mock-metrics.service.d.ts.map +1 -1
  590. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  591. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  592. package/dist/esm/monitoring/observability/services/observability.backend.service.d.ts.map +1 -1
  593. package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -1
  594. package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -1
  595. package/dist/esm/notifications/email/models/email-transport.backend.definitions.d.ts.map +1 -1
  596. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -1
  597. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  598. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  599. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  600. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  601. package/dist/esm/notifications/email/services/email.backend.service.d.ts +47 -6
  602. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  603. package/dist/esm/notifications/email/services/email.backend.service.js +86 -36
  604. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  605. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  606. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  607. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts.map +1 -1
  608. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -1
  609. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  610. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  611. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  612. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  613. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts +32 -0
  614. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.d.ts.map +1 -0
  615. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js +32 -0
  616. package/dist/esm/notifications/sms/models/sms-transport.backend.definitions.js.map +1 -0
  617. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +64 -10
  618. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  619. package/dist/esm/notifications/sms/services/sms.backend.service.js +277 -82
  620. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  621. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  622. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  623. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  624. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  625. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
  626. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  627. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  628. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.custom-impl.backend.service.d.ts.map +1 -1
  629. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-delivery-log.repository.d.ts.map +1 -1
  630. package/dist/esm/notifications/webhooks/outbound/services/m2m-webhook-dispatcher.backend.service.d.ts.map +1 -1
  631. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-public-key.custom-impl.backend.service.d.ts.map +1 -1
  632. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  633. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  634. package/dist/esm/notifications/webhooks/outbound/services/webhook-config.backend.service.d.ts.map +1 -1
  635. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -1
  636. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  637. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  638. package/dist/esm/organizations/batches/organization-member-invitation-sweep.batch.backend.service.d.ts.map +1 -1
  639. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts.map +1 -1
  640. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  641. package/dist/esm/organizations/services/authority-change-audit.backend.utils.d.ts.map +1 -1
  642. package/dist/esm/organizations/services/invitation-acceptance.backend.utils.d.ts.map +1 -1
  643. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -1
  644. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -1
  645. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  646. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  647. package/dist/esm/organizations/services/organization-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
  648. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -1
  649. package/dist/esm/organizations/services/organization-onboarding-operation.backend.utils.d.ts.map +1 -1
  650. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
  651. package/dist/esm/organizations/services/organization-unit-member-custom-implementation.backend.service.d.ts.map +1 -1
  652. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -1
  653. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -1
  654. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -1
  655. package/dist/esm/pdf-templates/__tests__/fixtures/tiny-pdf-template.fixture.d.ts.map +1 -1
  656. package/dist/esm/pdf-templates/models/pdf-template-binding.d.ts.map +1 -1
  657. package/dist/esm/pdf-templates/models/pdf-template-definition.d.ts.map +1 -1
  658. package/dist/esm/pdf-templates/services/pdf-generated-file-writer.backend.service.d.ts.map +1 -1
  659. package/dist/esm/pdf-templates/services/pdf-generation-orchestrator.backend.service.d.ts.map +1 -1
  660. package/dist/esm/pdf-templates/services/pdf-renderer.backend.service.d.ts.map +1 -1
  661. package/dist/esm/pdf-templates/services/pdf-template-binding.backend.service.d.ts.map +1 -1
  662. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -1
  663. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -1
  664. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -1
  665. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -1
  666. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -1
  667. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -1
  668. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -1
  669. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -1
  670. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  671. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  672. package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts.map +1 -1
  673. package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -1
  674. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  675. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  676. package/dist/esm/queue/job-completion-registry.backend.service.d.ts.map +1 -1
  677. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  678. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  679. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  680. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  681. package/dist/esm/queue/job-payload-storage.backend.service.d.ts.map +1 -1
  682. package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -1
  683. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  684. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  685. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  686. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  687. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  688. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  689. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -1
  690. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  691. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  692. package/dist/esm/rag/batches/rag-embedding-drain.batch.backend.service.d.ts.map +1 -1
  693. package/dist/esm/rag/batches/rag-reconciliation-sweep.batch.backend.service.d.ts.map +1 -1
  694. package/dist/esm/rag/models/rag-chunk-store.backend.types.d.ts.map +1 -1
  695. package/dist/esm/rag/models/rag-retrieval.backend.types.d.ts.map +1 -1
  696. package/dist/esm/rag/services/mongodb-rag-chunk-store.backend.service.d.ts.map +1 -1
  697. package/dist/esm/rag/services/postgresql-rag-chunk-store.backend.service.d.ts.map +1 -1
  698. package/dist/esm/rag/services/rag-chunk-collection.mongodb-ddl.backend.d.ts.map +1 -1
  699. package/dist/esm/rag/services/rag-chunk-retrieval.mongodb-query.backend.d.ts.map +1 -1
  700. package/dist/esm/rag/services/rag-chunk-retrieval.postgresql-query.backend.d.ts.map +1 -1
  701. package/dist/esm/rag/services/rag-chunk-store.backend.service.d.ts.map +1 -1
  702. package/dist/esm/rag/services/rag-chunk-table.postgresql-ddl.backend.d.ts.map +1 -1
  703. package/dist/esm/rag/services/rag-ingestion.backend.service.d.ts.map +1 -1
  704. package/dist/esm/rag/services/rag-retrieval.backend.service.d.ts.map +1 -1
  705. package/dist/esm/rag/utils/rag-chunk-fusion.backend.utils.d.ts.map +1 -1
  706. package/dist/esm/rag/utils/rag-chunk-removal.backend.utils.d.ts.map +1 -1
  707. package/dist/esm/rag/utils/rag-chunk-row-shaping.backend.utils.d.ts.map +1 -1
  708. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  709. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  710. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  711. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  712. package/dist/esm/rag/utils/rag-ingestion-trigger.backend.utils.d.ts.map +1 -1
  713. package/dist/esm/rag/utils/rag-retrieval-scope.backend.utils.d.ts.map +1 -1
  714. package/dist/esm/rag/utils/rag-source-field-value.backend.utils.d.ts.map +1 -1
  715. package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -1
  716. package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -1
  717. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -1
  718. package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -1
  719. package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -1
  720. package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -1
  721. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  722. package/dist/esm/requests/service/websocket.service.js +49 -1
  723. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  724. package/dist/esm/resources/backend-resource-registry.exports.d.ts.map +1 -1
  725. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  726. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +2 -0
  727. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  728. package/dist/esm/resources/models/index.d.ts.map +1 -1
  729. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  730. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  731. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  732. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  733. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  734. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  735. package/dist/esm/resources/models/resources.backend.schemas.d.ts.map +1 -1
  736. package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -1
  737. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -1
  738. package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -1
  739. package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -1
  740. package/dist/esm/resources/services/resource-population.backend.service.d.ts +17 -2
  741. package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -1
  742. package/dist/esm/resources/services/resource-population.backend.service.js +74 -18
  743. package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -1
  744. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +23 -0
  745. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  746. package/dist/esm/resources/services/resources-registry.backend.service.js +31 -0
  747. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  748. package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -1
  749. package/dist/esm/resources/utils/resource-retention.backend.utils.d.ts.map +1 -1
  750. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  751. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  752. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  753. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  754. package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts.map +1 -1
  755. package/dist/esm/runtime/models/request-context.als.backend.d.ts.map +1 -1
  756. package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -1
  757. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
  758. package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
  759. package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -1
  760. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  761. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  762. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  763. package/dist/esm/runtime/services/http-server.backend.service.js +10 -0
  764. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  765. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  766. package/dist/esm/runtime/services/start-application.backend.service.js +26 -12
  767. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  768. package/dist/esm/runtime/services/utils/oauth-body-cap.backend.utils.d.ts.map +1 -1
  769. package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -1
  770. package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -1
  771. package/dist/esm/runtime/utils/application-startup-config-access.backend.utils.d.ts.map +1 -1
  772. package/dist/esm/runtime/utils/feature-gated-core-resource-exclusions.backend.utils.d.ts.map +1 -1
  773. package/dist/esm/runtime/utils/request-client-ip.utils.d.ts.map +1 -1
  774. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -1
  775. package/dist/esm/security/api-keys/api-key-generation.backend.utils.d.ts.map +1 -1
  776. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  777. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  778. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  779. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  780. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts.map +1 -1
  781. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +22 -0
  782. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  783. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +84 -0
  784. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  785. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  786. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  787. package/dist/esm/security/authentications/models/auth-constants.backend.d.ts.map +1 -1
  788. package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -1
  789. package/dist/esm/security/authentications/models/authorization-client.backend.schemas.d.ts.map +1 -1
  790. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  791. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  792. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts +37 -0
  793. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.d.ts.map +1 -0
  794. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js +37 -0
  795. package/dist/esm/security/authentications/models/federated-auth-transport.backend.definitions.js.map +1 -0
  796. package/dist/esm/security/authentications/models/identity-persistence-boundaries.backend.d.ts.map +1 -1
  797. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
  798. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
  799. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  800. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  801. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -1
  802. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -1
  803. package/dist/esm/security/authentications/models/user-authorization-version.backend.utils.d.ts.map +1 -1
  804. package/dist/esm/security/authentications/seeds/enterprise-config-defaults.seeds.d.ts.map +1 -1
  805. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -1
  806. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -1
  807. package/dist/esm/security/authentications/services/__tests__/oauth-provider-audit-spies.mock.d.ts.map +1 -1
  808. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -1
  809. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -1
  810. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  811. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  812. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  813. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  814. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  815. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  816. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  817. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  818. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts.map +1 -1
  819. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +2 -1
  820. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -1
  821. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +9 -2
  822. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  823. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +9 -2
  824. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  825. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -1
  826. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -1
  827. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  828. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  829. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
  830. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -1
  831. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts.map +1 -1
  832. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  833. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  834. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts +97 -0
  835. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  836. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +218 -26
  837. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  838. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +14 -0
  839. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  840. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +36 -0
  841. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  842. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts.map +1 -1
  843. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -1
  844. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -1
  845. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -1
  846. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  847. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  848. package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts.map +1 -1
  849. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  850. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  851. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  852. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  853. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  854. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  855. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  856. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  857. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts.map +1 -1
  858. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -1
  859. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -1
  860. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +57 -1
  861. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -1
  862. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  863. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  864. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -1
  865. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +11 -1
  866. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -1
  867. package/dist/esm/security/authentications/services/email-verification-initiator.backend.service.d.ts.map +1 -1
  868. package/dist/esm/security/authentications/services/machine-token-issuer.backend.service.d.ts.map +1 -1
  869. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  870. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  871. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  872. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  873. package/dist/esm/security/authentications/services/oidc-user-claims.backend.service.d.ts.map +1 -1
  874. package/dist/esm/security/authentications/services/resolve-active-member-orgs.backend.utils.d.ts.map +1 -1
  875. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -1
  876. package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -1
  877. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -1
  878. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  879. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  880. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts.map +1 -1
  881. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  882. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  883. package/dist/esm/security/authentications/services/utils/concurrent-session-eviction.backend.utils.d.ts.map +1 -1
  884. package/dist/esm/security/authentications/services/utils/ensure-user-profile.backend.utils.d.ts.map +1 -1
  885. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  886. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  887. package/dist/esm/security/authentications/services/utils/machine-auth-rate-limit.backend.utils.d.ts.map +1 -1
  888. package/dist/esm/security/authentications/services/utils/pkce.backend.utils.d.ts.map +1 -1
  889. package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -1
  890. package/dist/esm/security/authentications/utils/application-auth-policy-audit.backend.utils.d.ts.map +1 -1
  891. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  892. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  893. package/dist/esm/security/authentications/utils/one-off-session-lifetime.backend.utils.d.ts.map +1 -1
  894. package/dist/esm/security/authentications/utils/social-oauth2-purpose.backend.utils.d.ts.map +1 -1
  895. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts +59 -0
  896. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.d.ts.map +1 -0
  897. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js +111 -0
  898. package/dist/esm/security/authorizations/access-grant-decision.factory.backend.js.map +1 -0
  899. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts +57 -0
  900. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.d.ts.map +1 -0
  901. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js +133 -0
  902. package/dist/esm/security/authorizations/access-grant-lifecycle-audit.backend.js.map +1 -0
  903. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts +41 -0
  904. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.d.ts.map +1 -0
  905. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js +157 -0
  906. package/dist/esm/security/authorizations/application-access-grant-custom-implementation.backend.service.js.map +1 -0
  907. package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts +84 -0
  908. package/dist/esm/security/authorizations/application-wide-read-admission.backend.d.ts.map +1 -0
  909. package/dist/esm/security/authorizations/application-wide-read-admission.backend.js +99 -0
  910. package/dist/esm/security/authorizations/application-wide-read-admission.backend.js.map +1 -0
  911. package/dist/esm/security/authorizations/authorization-denial-audit.backend.utils.d.ts.map +1 -1
  912. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -1
  913. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -1
  914. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
  915. package/dist/esm/security/authorizations/junction-scope-resolution.backend.d.ts.map +1 -1
  916. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  917. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  918. package/dist/esm/security/authorizations/organization-unit-narrowing-enforcement.backend.d.ts.map +1 -1
  919. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  920. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +20 -181
  921. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  922. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -1
  923. package/dist/esm/security/authorizations/relationship-foreign-key-filter.backend.d.ts.map +1 -1
  924. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  925. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  926. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +40 -0
  927. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -1
  928. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +43 -1
  929. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -1
  930. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +27 -17
  931. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  932. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +27 -17
  933. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  934. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +72 -0
  935. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  936. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +153 -10
  937. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  938. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  939. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  940. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -1
  941. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -1
  942. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +139 -1
  943. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -1
  944. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +474 -33
  945. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -1
  946. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +40 -0
  947. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -1
  948. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -1
  949. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -1
  950. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -1
  951. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +19 -0
  952. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -1
  953. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +38 -0
  954. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -1
  955. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -1
  956. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -1
  957. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -1
  958. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +17 -1
  959. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -1
  960. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +14 -0
  961. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -1
  962. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +16 -0
  963. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -1
  964. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -1
  965. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +1 -1
  966. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -1
  967. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +19 -0
  968. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -1
  969. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +45 -2
  970. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -1
  971. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -1
  972. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -1
  973. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +37 -1
  974. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -1
  975. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -1
  976. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -1
  977. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -1
  978. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -1
  979. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -1
  980. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts +34 -0
  981. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.d.ts.map +1 -0
  982. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js +39 -0
  983. package/dist/esm/security/connected-accounts/utils/user-delegated-access-token-slot.backend.utils.js.map +1 -0
  984. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
  985. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -1
  986. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
  987. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -1
  988. package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -1
  989. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -1
  990. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  991. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  992. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  993. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  994. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -1
  995. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
  996. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts +13 -0
  997. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.d.ts.map +1 -1
  998. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js +14 -0
  999. package/dist/esm/security/jwt/services/wildo-worker-bootstrap-client.backend.service.js.map +1 -1
  1000. package/dist/esm/security/jwt/utils/jwt-verification-error-classification.backend.utils.d.ts.map +1 -1
  1001. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  1002. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  1003. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  1004. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  1005. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts +39 -0
  1006. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.d.ts.map +1 -0
  1007. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js +60 -0
  1008. package/dist/esm/security/outbound/outbound-request-deadline.backend.utils.js.map +1 -0
  1009. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts +66 -0
  1010. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.d.ts.map +1 -0
  1011. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js +75 -0
  1012. package/dist/esm/security/outbound/outbound-request-headers.backend.utils.js.map +1 -0
  1013. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  1014. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  1015. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  1016. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  1017. package/dist/esm/security/scim/utils/scim-attribute-path-resolver.backend.utils.d.ts.map +1 -1
  1018. package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -1
  1019. package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -1
  1020. package/dist/esm/security/session-invalidation-fence.backend.utils.d.ts.map +1 -1
  1021. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  1022. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  1023. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -1
  1024. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -1
  1025. package/dist/esm/security/token-invalidation-fence.backend.utils.d.ts.map +1 -1
  1026. package/dist/esm/testing.d.ts.map +1 -1
  1027. package/dist/esm/users/services/inbound-contact-custom-implementation.backend.service.d.ts.map +1 -1
  1028. package/dist/esm/users/services/user-deletion-audit.custom-impl.backend.service.d.ts.map +1 -1
  1029. package/dist/esm/users/services/user-force-password-reset.custom-impl.backend.service.d.ts.map +1 -1
  1030. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -1
  1031. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -1
  1032. package/dist/esm/users/services/user-role-administration.custom-impl.backend.service.d.ts.map +1 -1
  1033. package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -1
  1034. package/dist/esm/users/services/user-super-admin-floor.custom-impl.backend.service.d.ts.map +1 -1
  1035. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1036. package/package.json +9 -9
  1037. package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts +0 -45
  1038. package/dist/esm/external-providers/services/flow-actor-design.backend.service.d.ts.map +0 -1
  1039. package/dist/esm/external-providers/services/flow-actor-design.backend.service.js +0 -22
  1040. package/dist/esm/external-providers/services/flow-actor-design.backend.service.js.map +0 -1
  1041. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -0
  1042. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -0
  1043. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -0
  1044. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -0
  1045. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -0
  1046. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -0
  1047. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -0
  1048. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -0
  1049. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -0
  1050. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -0
  1051. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -0
  1052. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -0
  1053. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -0
  1054. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -0
  1055. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -0
  1056. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"error-log-level-classification.backend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/errors/utils/error-log-level-classification.backend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQpG;;;;;;;;;;GAUG;AACH,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,GAAG,uBAAuB,CAsBlG;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAE5F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWpG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BnF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,uBAAuB,CAqCzB"}
1
+ {"version":3,"file":"error-log-level-classification.backend.utils.d.ts","sourceRoot":"","sources":["../../../../src/errors/utils/error-log-level-classification.backend.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAQpG;;;;;;;;;;GAUG;AACH,oBAAY,uBAAuB;IACjC,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC3F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAEvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,kBAAkB,GAAG,uBAAuB,CAsBlG;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAE5F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWpG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA2BnF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKlE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,wCAAwC,CACtD,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,kBAAkB,EACzB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,uBAAuB,CAqCzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-log-level-classification.backend.utils.js","sourceRoot":"","sources":["../../../../../src/errors/utils/error-log-level-classification.backend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorSeverity, isWildoBackendError, type WildoError_Backend } from '@wildo-ai/saas-models';\nimport { isExpiredJwtVerificationFailure } from '~wildo-backend-lib/security/jwt/utils/jwt-verification-error-classification.backend.utils';\nimport {\n normalizeLogContext,\n normalizeLogValue,\n} from '~wildo-backend-lib/monitoring/logger/utils/log-value-normalization.backend.utils';\nimport { LOG_SEVERITY_FLOOR_FIELD } from '~wildo-backend-lib/monitoring/logger/utils/log-severity-floor.backend.utils';\n\n/**\n * Backend log severity for an error at a logging boundary.\n *\n * Deliberately NOT the same axis as {@link ErrorSeverity} (the business/impact\n * severity carried on the error). This is the *operational* severity: \"does a\n * human operator need to look at this line?\" — the only question a log level\n * should answer.\n *\n * Values match {@link LevelledLogger} method names so dispatch is a direct\n * lookup, not a translation table.\n */\nexport enum BackendErrorLogSeverity {\n DEBUG = 'debug',\n INFO = 'info',\n WARN = 'warn',\n ERROR = 'error',\n}\n\n/**\n * Minimal structural logger contract the dispatch helper needs.\n *\n * Kept structural (not a dependency on the concrete `LoggerService`) so the\n * classification/dispatch layer stays free of DI wiring and is trivially\n * unit-testable with a stub. `LoggerService` satisfies this shape.\n */\nexport interface LevelledLogger {\n debug(message: string, context?: Record<string, unknown>): void;\n info(message: string, context?: Record<string, unknown>): void;\n warn(message: string, context?: Record<string, unknown>): void;\n error(message: string, errorOrContext?: unknown, context?: Record<string, unknown>): void;\n}\n\n/**\n * Expected, self-correcting client conditions that must never be logged as\n * faults.\n *\n * The canonical case: an **expired access token**. This is not an error — it is\n * a normal step in the token lifecycle. The frontend receives the 401, silently\n * calls `/refresh`, and retries. Logging it at `error` (with a stack trace, per\n * request, per expired session) is a category mistake that floods production\n * logs with non-actionable noise and inflates log-ingestion cost.\n *\n * This is the extension point for other genuinely self-healing conditions.\n * Add them here so every logging boundary agrees on what counts as \"expected\" —\n * do NOT special-case them at individual call sites.\n *\n * **Admission rule — both must hold before folding a condition in:**\n * 1. The client recovers with **zero human involvement** (transparent, no\n * banner, no user decision).\n * 2. The **retried request succeeds unchanged** — same payload, no lost work.\n *\n * Expired token is the textbook case (silent `/refresh` → identical retry\n * works). Deliberately EXCLUDED, with reasons, so nobody re-litigates them:\n * - **Malformed / bad-signature token** — a potential security signal; a spike\n * is credential-stuffing. Stays at `warn`.\n * - **`VERSION_CONFLICT`** (optimistic concurrency) — fails BOTH tests: it\n * surfaces a user-facing conflict banner (a human must reconcile) and a blind\n * retry would clobber the divergent remote state. It is a real concurrent-\n * edit event and a useful hot-row-contention signal. Stays at `warn`.\n * Only a future *transparent auto-merge* retry (no user involvement) would\n * qualify — the current user-mediated flow does not.\n */\nexport function isExpectedSelfHealingClientCondition(error: WildoError_Backend): boolean {\n return isExpiredJwtVerificationFailure(error);\n}\n\n/**\n * Map a backend error to the operational log severity it deserves.\n *\n * Big-tech observability practice: **log level reflects operator action, not\n * code path.** An exception used as control flow (expired token, validation\n * rejection, not-found) is not an `ERROR` just because it unwound the stack.\n *\n * The mapping is driven by the error's own declared contract — `statusCode` and\n * business {@link ErrorSeverity} from `ERROR_DEFINITIONS` — so new error types\n * inherit correct log levels for free:\n *\n * - **Expected self-healing client conditions** → `debug` (expired token, etc.).\n * Never a fault; keep them out of the error stream entirely — track via\n * metrics/counters and alert on *rate*, not individual events.\n * - **Server faults (5xx)** → `error`. A human must look (INTERNAL, DATABASE,\n * EXTERNAL_SERVICE, CONFIGURATION, UNKNOWN, uncaught/unhandled).\n * - **4xx client errors**, by business severity:\n * - `LOW` → `debug` — routine client mistakes (VALIDATION, NOT_FOUND,\n * feature-gating). The caller sent a bad request; that is not our fault.\n * - `MEDIUM` → `warn` — worth aggregate visibility but not a fault\n * (AUTHENTICATION/AUTHORIZATION failures, CONFLICT, RATE_LIMIT,\n * BUSINESS_RULE). A *spike* is the signal (e.g. credential stuffing) — the\n * rate alert fires, not the individual line.\n * - `HIGH`+ on a 4xx is unusual → `error`, so it is surfaced rather than\n * silently swallowed.\n */\nexport function classifyBackendErrorLogSeverity(error: WildoError_Backend): BackendErrorLogSeverity {\n if (isExpectedSelfHealingClientCondition(error)) {\n return BackendErrorLogSeverity.DEBUG;\n }\n\n const statusCode = typeof error.statusCode === 'number' ? error.statusCode : 500;\n\n // Server faults always warrant an operator's attention.\n if (statusCode >= 500) {\n return BackendErrorLogSeverity.ERROR;\n }\n\n // Remaining 4xx: the client's request was wrong. Business severity decides\n // how loud we are about it.\n switch (error.severity) {\n case ErrorSeverity.LOW:\n return BackendErrorLogSeverity.DEBUG;\n case ErrorSeverity.MEDIUM:\n return BackendErrorLogSeverity.WARN;\n default:\n return BackendErrorLogSeverity.ERROR;\n }\n}\n\n/**\n * A stack trace exists to locate an *unexpected* fault. Expected control-flow\n * exceptions (expired token, validation) have no fault to locate — the stack is\n * pure noise and, at scale, real ingestion cost. Attach it only for `error`.\n */\nexport function backendErrorLogSeverityIncludesStack(level: BackendErrorLogSeverity): boolean {\n return level === BackendErrorLogSeverity.ERROR;\n}\n\n/**\n * Canonical projection of a {@link WildoError_Backend} into flat, structured\n * log fields — the single source of truth for \"what error fields belong on a\n * log line\".\n *\n * Every field becomes a top-level, individually-queryable key (never a\n * pre-rendered blob). Optional fields are omitted when absent so log records\n * stay free of null keys. The stack is deliberately NOT included here: whether\n * to attach it is a per-boundary decision driven by the emitted level (see\n * {@link backendErrorLogSeverityIncludesStack}), so each boundary layers it on\n * top of this projection when appropriate.\n *\n * Used by {@link logWildoBackendErrorAtClassifiedSeverity} (HTTP, batch,\n * websocket-auth boundaries) AND directly by boundaries that own their own\n * operational severity and must NOT adopt the request-style classification —\n * e.g. a permanently dead-lettered queue job is operationally an `error`\n * regardless of the underlying error's business severity, so it keeps its\n * explicit level and merely reuses this projection to restore the full detail.\n */\nexport function projectWildoBackendErrorLogFields(error: WildoError_Backend): Record<string, unknown> {\n return {\n errorType: error.type,\n severity: error.severity,\n statusCode: error.statusCode,\n customMessageReference: error.customMessageReference,\n ...(error.operationPathKey ? { operationPath: error.operationPathKey } : {}),\n ...(error.correlationId ? { correlationId: error.correlationId } : {}),\n ...(error.backendActions?.length ? { backendActions: error.backendActions } : {}),\n ...(error.context ? { context: error.context } : {}),\n };\n}\n\n/**\n * Project ANY caught value into flat, structured, individually-queryable log\n * fields — the `catch (error)` counterpart to {@link projectWildoBackendErrorLogFields}.\n *\n * A `catch` binding is `unknown`, and the pervasive footgun is\n * `error instanceof Error ? error.message : JSON.stringify(error)`. A\n * {@link WildoError_Backend} is a **plain object, NOT an `Error` instance**, so\n * `instanceof Error` is `false` and every structured backend failure falls to the\n * `else` branch — silently collapsing to `String(error)` (`'[object Object]'`) or,\n * when the fallback is `JSON.stringify`, to a **doubly-escaped JSON string** crammed\n * under a single `error` key (Pino re-escapes the already-serialized blob → the fields\n * become un-greppable). This helper resolves the `WildoError_Backend | Error | unknown`\n * trichotomy once, emitting raw JSON in every case:\n *\n * - {@link WildoError_Backend} → the canonical flat projection (top-level queryable\n * keys) plus its carried `stack`. A best-effort catch swallows an *unexpected*\n * failure, so the stack (the fault locator) is always attached here — unlike the\n * classified HTTP boundary ({@link logWildoBackendErrorAtClassifiedSeverity}), which\n * gates the stack on the emitted level.\n * - native `Error` → a structured error object including non-enumerable\n * `name`/`message`/`stack`, `cause`, and extension fields such as Zod\n * `issues`.\n * - anything else → its JSON-native value under `error`; objects remain\n * objects, primitives retain their type, and cyclic references become an\n * explicit `[Circular]` marker.\n *\n * Spread it into a log context:\n * `logger.warn(msg, { ...ctx, ...projectCaughtErrorLogFields(error) })`.\n *\n * Choosing `warn` there is safe BECAUSE of the level floor this projection attaches: if the swallowed\n * value turns out to be a server fault, `LoggerService` emits the record at `error` regardless, and\n * records what the call site asked for under `promotedFromLevel`. Pick the level that describes the\n * expected case; the floor covers the unexpected one.\n *\n * For the same reason, never put a `ZodError`'s own `.message` in a log context\n * — in Zod 4 it IS a `JSON.stringify` blob, so it hits the same double-escaping.\n * Log the structured issues, and use `summarizeZodIssues` from\n * `@wildo-ai/saas-models` when a human-readable one-liner is wanted alongside.\n */\nexport function projectCaughtErrorLogFields(error: unknown): Record<string, unknown> {\n if (isWildoBackendError(error)) {\n return normalizeLogContext({\n ...projectWildoBackendErrorLogFields(error),\n ...(typeof error.stack === 'string' ? { stack: error.stack } : {}),\n /*\n * The LEVEL this record must not fall below, carried so the sink can apply it.\n *\n * This projection is the catch-path one, and a catch path chooses its level BY HAND — 213\n * emissions below `error` across 86 files, measured 2026-09-09 — which is exactly where\n * `classifyBackendErrorLogSeverity` gets bypassed. A swallowed DATABASE or INTERNAL failure was\n * emitted at `warn` while these very fields said `severity: CRITICAL`: greppable, and invisible\n * to an alert keyed on level.\n *\n * Carrying the classifier's own answer adds no new judgement — every \"stays at warn\" case it\n * documents is preserved — and `resolveEmittedLogLevel` only ever RAISES, so a call site that\n * deliberately logs louder keeps its choice.\n *\n * Deliberately NOT added to `projectWildoBackendErrorLogFields`: both of its consumers already\n * resolve the level on purpose (`logWildoBackendErrorAtClassifiedSeverity` emits AT the\n * classification; a dead-lettered job owns a louder one), so a floor there would be a field that\n * can never change an outcome.\n */\n [LOG_SEVERITY_FLOOR_FIELD]: classifyBackendErrorLogSeverity(error),\n });\n }\n return { error: normalizeLogValue(error) };\n}\n\n/**\n * One-line human-readable description of ANY caught value.\n *\n * The string counterpart to {@link projectCaughtErrorLogFields}, for the narrow\n * cases where a caught error must become a plain `string` rather than structured\n * log fields — a persisted `failureReason` column, a batch summary's `error`\n * field, a DLQ record. Prefer the structured projection for LOGGING; reach for\n * this only when the destination's contract is genuinely `string`.\n *\n * It exists because the obvious inline form,\n * `err instanceof Error ? err.message : String(err)`, is wrong for the engine's\n * own error type: a {@link WildoError_Backend} is a plain object, NOT an `Error`,\n * so it takes the `String(...)` branch and every structured failure is persisted\n * as the literal `'[object Object]'` — unreadable, and identical for every\n * distinct fault.\n *\n * Resolution order for a `WildoError_Backend`: the human `context.message` when\n * present, else the stable `customMessageReference` code.\n */\nexport function describeCaughtError(error: unknown): string {\n if (isWildoBackendError(error)) {\n const detail = error.context?.message;\n return typeof detail === 'string' && detail.length > 0\n ? detail\n : String(error.customMessageReference);\n }\n return error instanceof Error ? error.message : String(error);\n}\n\n/**\n * `\"<kind>: <message>\"` for ANY caught value — {@link describeCaughtError} for the\n * destinations that also want to know WHAT KIND of thing failed, not only why.\n *\n * Reach for this instead of the inline `err instanceof Error ? \\`${err.name}: ${err.message}\\`\n * : String(err)` wherever the kind is load-bearing rather than decorative:\n *\n * - a **failure DIGEST / dedup key** — collapsing every distinct fault into one bucket\n * is worse than an unreadable message, because the bucket is then wrong for every\n * subsequent decision keyed off it;\n * - a **persisted terminal diagnostic** an operator reads without the log beside it;\n * - a **classifier** that branches on the fault's identity.\n *\n * A {@link WildoError_Backend} has no `name`: its kind is the pair\n * `type` + `customMessageReference`, which is what this renders. Everything else falls\n * through to the native `name`, so the output shape is unchanged for a real `Error`.\n */\nexport function describeCaughtErrorWithKind(error: unknown): string {\n if (isWildoBackendError(error)) {\n return `${error.type}/${error.customMessageReference}: ${describeCaughtError(error)}`;\n }\n return error instanceof Error ? `${error.name}: ${error.message}` : String(error);\n}\n\n/**\n * Classify a backend error and emit exactly one structured log line at the\n * appropriate operational severity.\n *\n * Use this at every backend error-logging boundary instead of hardcoding\n * `logger.error(...)`. It guarantees a single, consistent treatment: expected\n * client conditions stay at `debug`, server faults stay at `error` (with\n * stack), and everything in between is graded by declared severity.\n *\n * @returns the level the line was emitted at (useful for tests / metrics hooks).\n */\nexport function logWildoBackendErrorAtClassifiedSeverity(\n logger: LevelledLogger,\n message: string,\n error: WildoError_Backend,\n context: Record<string, unknown> = {},\n): BackendErrorLogSeverity {\n const level = classifyBackendErrorLogSeverity(error);\n\n // Standard error fields come from the canonical projection; the caller's\n // `context` carries only boundary-specific extras (method/path, socketId,\n // jobId, …) and wins on any key overlap.\n const mergedContext: Record<string, unknown> = {\n ...projectWildoBackendErrorLogFields(error),\n ...context,\n };\n\n const finalContext: Record<string, unknown> =\n backendErrorLogSeverityIncludesStack(level) && typeof error.stack === 'string'\n ? { ...mergedContext, stack: error.stack }\n : mergedContext;\n\n // Extension point: this is the natural site to increment an\n // `auth_token_verification_total{result=\"expired\"}`-style counter (the\n // RECORD_METRICS backend action) so alerting keys off aggregate rate rather\n // than individual log lines. Wire a metrics sink here when one is available.\n\n switch (level) {\n case BackendErrorLogSeverity.DEBUG:\n logger.debug(message, finalContext);\n break;\n case BackendErrorLogSeverity.INFO:\n logger.info(message, finalContext);\n break;\n case BackendErrorLogSeverity.WARN:\n logger.warn(message, finalContext);\n break;\n case BackendErrorLogSeverity.ERROR:\n logger.error(message, finalContext);\n break;\n }\n\n return level;\n}\n"]}
1
+ {"version":3,"file":"error-log-level-classification.backend.utils.js","sourceRoot":"","sources":["../../../../src/errors/utils/error-log-level-classification.backend.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { ErrorSeverity, isWildoBackendError, type WildoError_Backend } from '@wildo-ai/saas-models';\nimport { isExpiredJwtVerificationFailure } from '~wildo-backend-lib/security/jwt/utils/jwt-verification-error-classification.backend.utils';\nimport {\n normalizeLogContext,\n normalizeLogValue,\n} from '~wildo-backend-lib/monitoring/logger/utils/log-value-normalization.backend.utils';\nimport { LOG_SEVERITY_FLOOR_FIELD } from '~wildo-backend-lib/monitoring/logger/utils/log-severity-floor.backend.utils';\n\n/**\n * Backend log severity for an error at a logging boundary.\n *\n * Deliberately NOT the same axis as {@link ErrorSeverity} (the business/impact\n * severity carried on the error). This is the *operational* severity: \"does a\n * human operator need to look at this line?\" — the only question a log level\n * should answer.\n *\n * Values match {@link LevelledLogger} method names so dispatch is a direct\n * lookup, not a translation table.\n */\nexport enum BackendErrorLogSeverity {\n DEBUG = 'debug',\n INFO = 'info',\n WARN = 'warn',\n ERROR = 'error',\n}\n\n/**\n * Minimal structural logger contract the dispatch helper needs.\n *\n * Kept structural (not a dependency on the concrete `LoggerService`) so the\n * classification/dispatch layer stays free of DI wiring and is trivially\n * unit-testable with a stub. `LoggerService` satisfies this shape.\n */\nexport interface LevelledLogger {\n debug(message: string, context?: Record<string, unknown>): void;\n info(message: string, context?: Record<string, unknown>): void;\n warn(message: string, context?: Record<string, unknown>): void;\n error(message: string, errorOrContext?: unknown, context?: Record<string, unknown>): void;\n}\n\n/**\n * Expected, self-correcting client conditions that must never be logged as\n * faults.\n *\n * The canonical case: an **expired access token**. This is not an error — it is\n * a normal step in the token lifecycle. The frontend receives the 401, silently\n * calls `/refresh`, and retries. Logging it at `error` (with a stack trace, per\n * request, per expired session) is a category mistake that floods production\n * logs with non-actionable noise and inflates log-ingestion cost.\n *\n * This is the extension point for other genuinely self-healing conditions.\n * Add them here so every logging boundary agrees on what counts as \"expected\" —\n * do NOT special-case them at individual call sites.\n *\n * **Admission rule — both must hold before folding a condition in:**\n * 1. The client recovers with **zero human involvement** (transparent, no\n * banner, no user decision).\n * 2. The **retried request succeeds unchanged** — same payload, no lost work.\n *\n * Expired token is the textbook case (silent `/refresh` → identical retry\n * works). Deliberately EXCLUDED, with reasons, so nobody re-litigates them:\n * - **Malformed / bad-signature token** — a potential security signal; a spike\n * is credential-stuffing. Stays at `warn`.\n * - **`VERSION_CONFLICT`** (optimistic concurrency) — fails BOTH tests: it\n * surfaces a user-facing conflict banner (a human must reconcile) and a blind\n * retry would clobber the divergent remote state. It is a real concurrent-\n * edit event and a useful hot-row-contention signal. Stays at `warn`.\n * Only a future *transparent auto-merge* retry (no user involvement) would\n * qualify — the current user-mediated flow does not.\n */\nexport function isExpectedSelfHealingClientCondition(error: WildoError_Backend): boolean {\n return isExpiredJwtVerificationFailure(error);\n}\n\n/**\n * Map a backend error to the operational log severity it deserves.\n *\n * Big-tech observability practice: **log level reflects operator action, not\n * code path.** An exception used as control flow (expired token, validation\n * rejection, not-found) is not an `ERROR` just because it unwound the stack.\n *\n * The mapping is driven by the error's own declared contract — `statusCode` and\n * business {@link ErrorSeverity} from `ERROR_DEFINITIONS` — so new error types\n * inherit correct log levels for free:\n *\n * - **Expected self-healing client conditions** → `debug` (expired token, etc.).\n * Never a fault; keep them out of the error stream entirely — track via\n * metrics/counters and alert on *rate*, not individual events.\n * - **Server faults (5xx)** → `error`. A human must look (INTERNAL, DATABASE,\n * EXTERNAL_SERVICE, CONFIGURATION, UNKNOWN, uncaught/unhandled).\n * - **4xx client errors**, by business severity:\n * - `LOW` → `debug` — routine client mistakes (VALIDATION, NOT_FOUND,\n * feature-gating). The caller sent a bad request; that is not our fault.\n * - `MEDIUM` → `warn` — worth aggregate visibility but not a fault\n * (AUTHENTICATION/AUTHORIZATION failures, CONFLICT, RATE_LIMIT,\n * BUSINESS_RULE). A *spike* is the signal (e.g. credential stuffing) — the\n * rate alert fires, not the individual line.\n * - `HIGH`+ on a 4xx is unusual → `error`, so it is surfaced rather than\n * silently swallowed.\n */\nexport function classifyBackendErrorLogSeverity(error: WildoError_Backend): BackendErrorLogSeverity {\n if (isExpectedSelfHealingClientCondition(error)) {\n return BackendErrorLogSeverity.DEBUG;\n }\n\n const statusCode = typeof error.statusCode === 'number' ? error.statusCode : 500;\n\n // Server faults always warrant an operator's attention.\n if (statusCode >= 500) {\n return BackendErrorLogSeverity.ERROR;\n }\n\n // Remaining 4xx: the client's request was wrong. Business severity decides\n // how loud we are about it.\n switch (error.severity) {\n case ErrorSeverity.LOW:\n return BackendErrorLogSeverity.DEBUG;\n case ErrorSeverity.MEDIUM:\n return BackendErrorLogSeverity.WARN;\n default:\n return BackendErrorLogSeverity.ERROR;\n }\n}\n\n/**\n * A stack trace exists to locate an *unexpected* fault. Expected control-flow\n * exceptions (expired token, validation) have no fault to locate — the stack is\n * pure noise and, at scale, real ingestion cost. Attach it only for `error`.\n */\nexport function backendErrorLogSeverityIncludesStack(level: BackendErrorLogSeverity): boolean {\n return level === BackendErrorLogSeverity.ERROR;\n}\n\n/**\n * Canonical projection of a {@link WildoError_Backend} into flat, structured\n * log fields — the single source of truth for \"what error fields belong on a\n * log line\".\n *\n * Every field becomes a top-level, individually-queryable key (never a\n * pre-rendered blob). Optional fields are omitted when absent so log records\n * stay free of null keys. The stack is deliberately NOT included here: whether\n * to attach it is a per-boundary decision driven by the emitted level (see\n * {@link backendErrorLogSeverityIncludesStack}), so each boundary layers it on\n * top of this projection when appropriate.\n *\n * Used by {@link logWildoBackendErrorAtClassifiedSeverity} (HTTP, batch,\n * websocket-auth boundaries) AND directly by boundaries that own their own\n * operational severity and must NOT adopt the request-style classification —\n * e.g. a permanently dead-lettered queue job is operationally an `error`\n * regardless of the underlying error's business severity, so it keeps its\n * explicit level and merely reuses this projection to restore the full detail.\n */\nexport function projectWildoBackendErrorLogFields(error: WildoError_Backend): Record<string, unknown> {\n return {\n errorType: error.type,\n severity: error.severity,\n statusCode: error.statusCode,\n customMessageReference: error.customMessageReference,\n ...(error.operationPathKey ? { operationPath: error.operationPathKey } : {}),\n ...(error.correlationId ? { correlationId: error.correlationId } : {}),\n ...(error.backendActions?.length ? { backendActions: error.backendActions } : {}),\n ...(error.context ? { context: error.context } : {}),\n };\n}\n\n/**\n * Project ANY caught value into flat, structured, individually-queryable log\n * fields — the `catch (error)` counterpart to {@link projectWildoBackendErrorLogFields}.\n *\n * A `catch` binding is `unknown`, and the pervasive footgun is\n * `error instanceof Error ? error.message : JSON.stringify(error)`. A\n * {@link WildoError_Backend} is a **plain object, NOT an `Error` instance**, so\n * `instanceof Error` is `false` and every structured backend failure falls to the\n * `else` branch — silently collapsing to `String(error)` (`'[object Object]'`) or,\n * when the fallback is `JSON.stringify`, to a **doubly-escaped JSON string** crammed\n * under a single `error` key (Pino re-escapes the already-serialized blob → the fields\n * become un-greppable). This helper resolves the `WildoError_Backend | Error | unknown`\n * trichotomy once, emitting raw JSON in every case:\n *\n * - {@link WildoError_Backend} → the canonical flat projection (top-level queryable\n * keys) plus its carried `stack`. A best-effort catch swallows an *unexpected*\n * failure, so the stack (the fault locator) is always attached here — unlike the\n * classified HTTP boundary ({@link logWildoBackendErrorAtClassifiedSeverity}), which\n * gates the stack on the emitted level.\n * - native `Error` → a structured error object including non-enumerable\n * `name`/`message`/`stack`, `cause`, and extension fields such as Zod\n * `issues`.\n * - anything else → its JSON-native value under `error`; objects remain\n * objects, primitives retain their type, and cyclic references become an\n * explicit `[Circular]` marker.\n *\n * Spread it into a log context:\n * `logger.warn(msg, { ...ctx, ...projectCaughtErrorLogFields(error) })`.\n *\n * Choosing `warn` there is safe BECAUSE of the level floor this projection attaches: if the swallowed\n * value turns out to be a server fault, `LoggerService` emits the record at `error` regardless, and\n * records what the call site asked for under `promotedFromLevel`. Pick the level that describes the\n * expected case; the floor covers the unexpected one.\n *\n * For the same reason, never put a `ZodError`'s own `.message` in a log context\n * — in Zod 4 it IS a `JSON.stringify` blob, so it hits the same double-escaping.\n * Log the structured issues, and use `summarizeZodIssues` from\n * `@wildo-ai/saas-models` when a human-readable one-liner is wanted alongside.\n */\nexport function projectCaughtErrorLogFields(error: unknown): Record<string, unknown> {\n if (isWildoBackendError(error)) {\n return normalizeLogContext({\n ...projectWildoBackendErrorLogFields(error),\n ...(typeof error.stack === 'string' ? { stack: error.stack } : {}),\n /*\n * The LEVEL this record must not fall below, carried so the sink can apply it.\n *\n * This projection is the catch-path one, and a catch path chooses its level BY HAND — 213\n * emissions below `error` across 86 files, measured 2026-09-09 — which is exactly where\n * `classifyBackendErrorLogSeverity` gets bypassed. A swallowed DATABASE or INTERNAL failure was\n * emitted at `warn` while these very fields said `severity: CRITICAL`: greppable, and invisible\n * to an alert keyed on level.\n *\n * Carrying the classifier's own answer adds no new judgement — every \"stays at warn\" case it\n * documents is preserved — and `resolveEmittedLogLevel` only ever RAISES, so a call site that\n * deliberately logs louder keeps its choice.\n *\n * Deliberately NOT added to `projectWildoBackendErrorLogFields`: both of its consumers already\n * resolve the level on purpose (`logWildoBackendErrorAtClassifiedSeverity` emits AT the\n * classification; a dead-lettered job owns a louder one), so a floor there would be a field that\n * can never change an outcome.\n */\n [LOG_SEVERITY_FLOOR_FIELD]: classifyBackendErrorLogSeverity(error),\n });\n }\n return { error: normalizeLogValue(error) };\n}\n\n/**\n * One-line human-readable description of ANY caught value.\n *\n * The string counterpart to {@link projectCaughtErrorLogFields}, for the narrow\n * cases where a caught error must become a plain `string` rather than structured\n * log fields — a persisted `failureReason` column, a batch summary's `error`\n * field, a DLQ record. Prefer the structured projection for LOGGING; reach for\n * this only when the destination's contract is genuinely `string`.\n *\n * It exists because the obvious inline form,\n * `err instanceof Error ? err.message : String(err)`, is wrong for the engine's\n * own error type: a {@link WildoError_Backend} is a plain object, NOT an `Error`,\n * so it takes the `String(...)` branch and every structured failure is persisted\n * as the literal `'[object Object]'` — unreadable, and identical for every\n * distinct fault.\n *\n * Resolution order for a `WildoError_Backend`: the human `context.message` when\n * present, else the stable `customMessageReference` code.\n */\nexport function describeCaughtError(error: unknown): string {\n if (isWildoBackendError(error)) {\n const detail = error.context?.message;\n return typeof detail === 'string' && detail.length > 0\n ? detail\n : String(error.customMessageReference);\n }\n return error instanceof Error ? error.message : String(error);\n}\n\n/**\n * `\"<kind>: <message>\"` for ANY caught value — {@link describeCaughtError} for the\n * destinations that also want to know WHAT KIND of thing failed, not only why.\n *\n * Reach for this instead of the inline `err instanceof Error ? \\`${err.name}: ${err.message}\\`\n * : String(err)` wherever the kind is load-bearing rather than decorative:\n *\n * - a **failure DIGEST / dedup key** — collapsing every distinct fault into one bucket\n * is worse than an unreadable message, because the bucket is then wrong for every\n * subsequent decision keyed off it;\n * - a **persisted terminal diagnostic** an operator reads without the log beside it;\n * - a **classifier** that branches on the fault's identity.\n *\n * A {@link WildoError_Backend} has no `name`: its kind is the pair\n * `type` + `customMessageReference`, which is what this renders. Everything else falls\n * through to the native `name`, so the output shape is unchanged for a real `Error`.\n */\nexport function describeCaughtErrorWithKind(error: unknown): string {\n if (isWildoBackendError(error)) {\n return `${error.type}/${error.customMessageReference}: ${describeCaughtError(error)}`;\n }\n return error instanceof Error ? `${error.name}: ${error.message}` : String(error);\n}\n\n/**\n * Classify a backend error and emit exactly one structured log line at the\n * appropriate operational severity.\n *\n * Use this at every backend error-logging boundary instead of hardcoding\n * `logger.error(...)`. It guarantees a single, consistent treatment: expected\n * client conditions stay at `debug`, server faults stay at `error` (with\n * stack), and everything in between is graded by declared severity.\n *\n * @returns the level the line was emitted at (useful for tests / metrics hooks).\n */\nexport function logWildoBackendErrorAtClassifiedSeverity(\n logger: LevelledLogger,\n message: string,\n error: WildoError_Backend,\n context: Record<string, unknown> = {},\n): BackendErrorLogSeverity {\n const level = classifyBackendErrorLogSeverity(error);\n\n // Standard error fields come from the canonical projection; the caller's\n // `context` carries only boundary-specific extras (method/path, socketId,\n // jobId, …) and wins on any key overlap.\n const mergedContext: Record<string, unknown> = {\n ...projectWildoBackendErrorLogFields(error),\n ...context,\n };\n\n const finalContext: Record<string, unknown> =\n backendErrorLogSeverityIncludesStack(level) && typeof error.stack === 'string'\n ? { ...mergedContext, stack: error.stack }\n : mergedContext;\n\n // Extension point: this is the natural site to increment an\n // `auth_token_verification_total{result=\"expired\"}`-style counter (the\n // RECORD_METRICS backend action) so alerting keys off aggregate rate rather\n // than individual log lines. Wire a metrics sink here when one is available.\n\n switch (level) {\n case BackendErrorLogSeverity.DEBUG:\n logger.debug(message, finalContext);\n break;\n case BackendErrorLogSeverity.INFO:\n logger.info(message, finalContext);\n break;\n case BackendErrorLogSeverity.WARN:\n logger.warn(message, finalContext);\n break;\n case BackendErrorLogSeverity.ERROR:\n logger.error(message, finalContext);\n break;\n }\n\n return level;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit-environment-relaxation.backend.utils.d.ts","sourceRoot":"","sources":["../../../../../src/errors/utils/rate-limit-environment-relaxation.backend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM,CAIhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,GAAG,MAAM,CAEnH;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAQzD,CAAC;AAEF,2FAA2F;AAC3F,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,kBAAkB,GACjC,mCAAmC,GAAG,IAAI,CAK5C"}
1
+ {"version":3,"file":"rate-limit-environment-relaxation.backend.utils.d.ts","sourceRoot":"","sources":["../../../../src/errors/utils/rate-limit-environment-relaxation.backend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC,OAAO,CAAC;AAEzD;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CAAC,cAAc,EAAE,kBAAkB,GAAG,MAAM,CAIhG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,kBAAkB,GAAG,MAAM,CAEnH;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,MAAM,EAQzD,CAAC;AAEF,2FAA2F;AAC3F,MAAM,WAAW,mCAAmC;IAClD,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,kBAAkB,GACjC,mCAAmC,GAAG,IAAI,CAK5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit-environment-relaxation.backend.utils.js","sourceRoot":"","sources":["../../../../../src/errors/utils/rate-limit-environment-relaxation.backend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CAAC,cAAkC;IACtF,OAAO,cAAc,KAAK,kBAAkB,CAAC,WAAW,IAAI,cAAc,KAAK,kBAAkB,CAAC,IAAI;QACpG,CAAC,CAAC,oCAAoC;QACtC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mCAAmC,CAAC,WAAmB,EAAE,cAAkC;IACzG,OAAO,WAAW,GAAG,qCAAqC,CAAC,cAAc,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC7D,wBAAwB;IACxB,6BAA6B;IAC7B,kCAAkC;IAClC,oCAAoC;IACpC,oCAAoC;IACpC,2BAA2B;IAC3B,2BAA2B;CAC5B,CAAC;AASF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,+BAA+B,CAC7C,cAAkC;IAElC,MAAM,UAAU,GAAG,qCAAqC,CAAC,cAAc,CAAC,CAAC;IACzE,OAAO,UAAU,KAAK,CAAC;QACrB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,4BAA4B,EAAE,CAAC;AACjF,CAAC","sourcesContent":["/**\n * Non-production relaxation of ABUSE-THROTTLE maxima — the single seam.\n *\n * ## Why this module exists\n *\n * Every rate-limit maximum in the engine is authored for a PRODUCTION threat model\n * (credential stuffing, registration spam, enumeration, LLM-spend abuse, unmetered\n * egress). Applied unchanged, those same numbers turn ordinary local development and\n * automated e2e/integration runs — which legitimately fire the same endpoint from the\n * same IP, the same email and the same principal dozens of times in seconds — into a\n * 429 flood.\n *\n * The relaxation used to live as a private constant inside\n * `RateLimitBackendService`, so it reached only that service's three surfaces\n * (`checkRateLimit`, `checkPolicy`, `checkPolicyForVariant`). Five other enforcement\n * sites carry their own hard-coded maxima and never saw it. The one that hurt most in\n * practice was the machine-credential failure guard\n * (`assertMachineAuthAttemptWithinRate`, 50 failures / 600 s / source IP): on a dev\n * machine every process shares `127.0.0.1`, so fifty failed `sk_*` / `oc_*`\n * presentations from ANY source lock out every machine-credential path for ten\n * minutes — including the ones a developer is actively debugging.\n *\n * This module is that single seam. Import it at every abuse-throttle site rather than\n * re-deriving an environment branch locally; a second copy of the branch is how the\n * first one drifted (see `.claude/rules/invariant-call-site-enumeration.md`).\n *\n * ## What it deliberately does NOT do\n *\n * - **It does not bypass enforcement.** The counters still increment through the real\n * Redis `INCR` + `EXPIRE` path, so a genuine regression (windows not incrementing,\n * keys colliding, TTL never set) still reproduces locally. Only the ceiling moves.\n * - **It does not touch `STAGING` / `PRODUCTION`.** {@link resolveRateLimitEnvironmentMultiplier}\n * returns `1` for every environment other than `DEVELOPMENT` and `TEST`, so the\n * authored number IS the enforced number wherever the threat model is real.\n * - **It must not be applied to business-semantic counters.** A counter whose maximum\n * is a product or tenant policy — SSO grace logins (`enforcement.graceLoginAttempts`),\n * trial quotas, plan entitlements — is not an abuse throttle. Multiplying it would\n * change observable product behavior in dev/test and make local runs disagree with\n * production semantics, which is the opposite of what this exists for. The same goes\n * for counters used as audit/log DE-DUPLICATION windows (the authorization-denial\n * audit sampler, the SAML assertion warning de-dup): relaxing those produces an\n * audit/log flood, not headroom.\n *\n * @see `.claude/rules/invariant-call-site-enumeration.md` — the per-site enumeration\n * discipline that produced this module.\n */\n\nimport { RuntimeEnvironment } from '@wildo-ai/saas-models';\n\n/**\n * Factor applied to an abuse-throttle maximum in `DEVELOPMENT` / `TEST`.\n *\n * Large on purpose. The goal is that no honest local or automated run can reach a\n * ceiling, while the counter itself still exercises the real enforcement path. A\n * smaller factor (10×, 100×) merely moves the flood later into a long e2e suite,\n * which is the worst of both worlds: still flaky, still hard to attribute.\n */\nexport const NON_PRODUCTION_RATE_LIMIT_MULTIPLIER = 1000;\n\n/**\n * `NON_PRODUCTION_RATE_LIMIT_MULTIPLIER` in `DEVELOPMENT` / `TEST`, `1` everywhere\n * else. The single branch point for the relaxation.\n *\n * @param applicationEnv - the resolved runtime environment, normally\n * `AppConfigurationService.applicationEnv`.\n */\nexport function resolveRateLimitEnvironmentMultiplier(applicationEnv: RuntimeEnvironment): number {\n return applicationEnv === RuntimeEnvironment.DEVELOPMENT || applicationEnv === RuntimeEnvironment.TEST\n ? NON_PRODUCTION_RATE_LIMIT_MULTIPLIER\n : 1;\n}\n\n/**\n * Scale one abuse-throttle maximum for the current environment. The canonical call\n * shape at an enforcement site:\n *\n * ```ts\n * const effectiveMax = relaxAbuseThrottleMaxForEnvironment(MACHINE_AUTH_FAILURE_MAX, applicationEnv);\n * if (failureCount >= effectiveMax) { … }\n * ```\n *\n * Compare the LIVE count against the returned value — never scale the count itself,\n * and never scale the window length. Shortening the window in dev would make a local\n * run stop reproducing the production timing behavior; raising the ceiling does not.\n *\n * @param authoredMax - the production-authored maximum for the window.\n * @param applicationEnv - the resolved runtime environment.\n * @returns `authoredMax` in `STAGING` / `PRODUCTION`; the relaxed ceiling otherwise.\n */\nexport function relaxAbuseThrottleMaxForEnvironment(authoredMax: number, applicationEnv: RuntimeEnvironment): number {\n return authoredMax * resolveRateLimitEnvironmentMultiplier(applicationEnv);\n}\n\n/**\n * Every abuse throttle this relaxation reaches, named so the boot announcement can list them (#499).\n *\n * A line saying \"abuse limits relaxed\" would be accurate and still misleading: an operator would\n * reasonably read it as ALL of them, and it is not — a counter whose maximum is a product or tenant\n * policy is deliberately untouched, as is any counter used as an audit de-duplication window (see the\n * module header). Naming the reached set is what makes the announcement actionable rather than\n * atmospheric.\n *\n * Maintained by hand against the import sites, which is a list re-stating another file's population —\n * exactly the shape `invariant-call-site-enumeration.md` warns about. It is tolerable ONLY because it\n * feeds a log line rather than a decision: a stale entry here misinforms an operator, it does not\n * change a ceiling. Keep it in step when a site is added, and prefer deleting it over letting it rot.\n */\nexport const RELAXED_ABUSE_THROTTLE_SITES: readonly string[] = [\n 'HTTP perimeter limiter',\n 'WebSocket per-event limiter',\n 'machine-credential failure guard',\n 'external-turn throttle (A2A / MCP)',\n 'authorization-denial audit sampler',\n 'webhook endpoint-test cap',\n 'rate-limit policy service',\n];\n\n/** What a boot announcement should say, or `null` when the environment relaxes nothing. */\nexport interface AbuseThrottleRelaxationAnnouncement {\n readonly applicationEnv: RuntimeEnvironment;\n readonly multiplier: number;\n readonly relaxedSites: readonly string[];\n}\n\n/**\n * Describe the relaxation in force, for an unmissable line at startup (#499).\n *\n * The relaxation is keyed on the resolved environment and nothing else — a deliberate decision, so\n * there is one source of truth for \"what kind of host is this\" rather than a second flag that can\n * disagree with it. The residual risk is that a host which merely REPORTS development (a demonstration\n * box, a staging-like environment mis-declared) runs with maxima multiplied by a thousand. That risk is\n * accepted, and this function is the whole of what makes it visible instead of silent.\n *\n * Returns `null` in `STAGING` / `PRODUCTION`, so a caller logs nothing where nothing is relaxed.\n */\nexport function describeAbuseThrottleRelaxation(\n applicationEnv: RuntimeEnvironment,\n): AbuseThrottleRelaxationAnnouncement | null {\n const multiplier = resolveRateLimitEnvironmentMultiplier(applicationEnv);\n return multiplier === 1\n ? null\n : { applicationEnv, multiplier, relaxedSites: RELAXED_ABUSE_THROTTLE_SITES };\n}\n"]}
1
+ {"version":3,"file":"rate-limit-environment-relaxation.backend.utils.js","sourceRoot":"","sources":["../../../../src/errors/utils/rate-limit-environment-relaxation.backend.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,qCAAqC,CAAC,cAAkC;IACtF,OAAO,cAAc,KAAK,kBAAkB,CAAC,WAAW,IAAI,cAAc,KAAK,kBAAkB,CAAC,IAAI;QACpG,CAAC,CAAC,oCAAoC;QACtC,CAAC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mCAAmC,CAAC,WAAmB,EAAE,cAAkC;IACzG,OAAO,WAAW,GAAG,qCAAqC,CAAC,cAAc,CAAC,CAAC;AAC7E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAsB;IAC7D,wBAAwB;IACxB,6BAA6B;IAC7B,kCAAkC;IAClC,oCAAoC;IACpC,oCAAoC;IACpC,2BAA2B;IAC3B,2BAA2B;CAC5B,CAAC;AASF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,+BAA+B,CAC7C,cAAkC;IAElC,MAAM,UAAU,GAAG,qCAAqC,CAAC,cAAc,CAAC,CAAC;IACzE,OAAO,UAAU,KAAK,CAAC;QACrB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,4BAA4B,EAAE,CAAC;AACjF,CAAC","sourcesContent":["/**\n * Non-production relaxation of ABUSE-THROTTLE maxima — the single seam.\n *\n * ## Why this module exists\n *\n * Every rate-limit maximum in the engine is authored for a PRODUCTION threat model\n * (credential stuffing, registration spam, enumeration, LLM-spend abuse, unmetered\n * egress). Applied unchanged, those same numbers turn ordinary local development and\n * automated e2e/integration runs — which legitimately fire the same endpoint from the\n * same IP, the same email and the same principal dozens of times in seconds — into a\n * 429 flood.\n *\n * The relaxation used to live as a private constant inside\n * `RateLimitBackendService`, so it reached only that service's three surfaces\n * (`checkRateLimit`, `checkPolicy`, `checkPolicyForVariant`). Five other enforcement\n * sites carry their own hard-coded maxima and never saw it. The one that hurt most in\n * practice was the machine-credential failure guard\n * (`assertMachineAuthAttemptWithinRate`, 50 failures / 600 s / source IP): on a dev\n * machine every process shares `127.0.0.1`, so fifty failed `sk_*` / `oc_*`\n * presentations from ANY source lock out every machine-credential path for ten\n * minutes — including the ones a developer is actively debugging.\n *\n * This module is that single seam. Import it at every abuse-throttle site rather than\n * re-deriving an environment branch locally; a second copy of the branch is how the\n * first one drifted (see `.claude/rules/invariant-call-site-enumeration.md`).\n *\n * ## What it deliberately does NOT do\n *\n * - **It does not bypass enforcement.** The counters still increment through the real\n * Redis `INCR` + `EXPIRE` path, so a genuine regression (windows not incrementing,\n * keys colliding, TTL never set) still reproduces locally. Only the ceiling moves.\n * - **It does not touch `STAGING` / `PRODUCTION`.** {@link resolveRateLimitEnvironmentMultiplier}\n * returns `1` for every environment other than `DEVELOPMENT` and `TEST`, so the\n * authored number IS the enforced number wherever the threat model is real.\n * - **It must not be applied to business-semantic counters.** A counter whose maximum\n * is a product or tenant policy — SSO grace logins (`enforcement.graceLoginAttempts`),\n * trial quotas, plan entitlements — is not an abuse throttle. Multiplying it would\n * change observable product behavior in dev/test and make local runs disagree with\n * production semantics, which is the opposite of what this exists for. The same goes\n * for counters used as audit/log DE-DUPLICATION windows (the authorization-denial\n * audit sampler, the SAML assertion warning de-dup): relaxing those produces an\n * audit/log flood, not headroom.\n *\n * @see `.claude/rules/invariant-call-site-enumeration.md` — the per-site enumeration\n * discipline that produced this module.\n */\n\nimport { RuntimeEnvironment } from '@wildo-ai/saas-models';\n\n/**\n * Factor applied to an abuse-throttle maximum in `DEVELOPMENT` / `TEST`.\n *\n * Large on purpose. The goal is that no honest local or automated run can reach a\n * ceiling, while the counter itself still exercises the real enforcement path. A\n * smaller factor (10×, 100×) merely moves the flood later into a long e2e suite,\n * which is the worst of both worlds: still flaky, still hard to attribute.\n */\nexport const NON_PRODUCTION_RATE_LIMIT_MULTIPLIER = 1000;\n\n/**\n * `NON_PRODUCTION_RATE_LIMIT_MULTIPLIER` in `DEVELOPMENT` / `TEST`, `1` everywhere\n * else. The single branch point for the relaxation.\n *\n * @param applicationEnv - the resolved runtime environment, normally\n * `AppConfigurationService.applicationEnv`.\n */\nexport function resolveRateLimitEnvironmentMultiplier(applicationEnv: RuntimeEnvironment): number {\n return applicationEnv === RuntimeEnvironment.DEVELOPMENT || applicationEnv === RuntimeEnvironment.TEST\n ? NON_PRODUCTION_RATE_LIMIT_MULTIPLIER\n : 1;\n}\n\n/**\n * Scale one abuse-throttle maximum for the current environment. The canonical call\n * shape at an enforcement site:\n *\n * ```ts\n * const effectiveMax = relaxAbuseThrottleMaxForEnvironment(MACHINE_AUTH_FAILURE_MAX, applicationEnv);\n * if (failureCount >= effectiveMax) { … }\n * ```\n *\n * Compare the LIVE count against the returned value — never scale the count itself,\n * and never scale the window length. Shortening the window in dev would make a local\n * run stop reproducing the production timing behavior; raising the ceiling does not.\n *\n * @param authoredMax - the production-authored maximum for the window.\n * @param applicationEnv - the resolved runtime environment.\n * @returns `authoredMax` in `STAGING` / `PRODUCTION`; the relaxed ceiling otherwise.\n */\nexport function relaxAbuseThrottleMaxForEnvironment(authoredMax: number, applicationEnv: RuntimeEnvironment): number {\n return authoredMax * resolveRateLimitEnvironmentMultiplier(applicationEnv);\n}\n\n/**\n * Every abuse throttle this relaxation reaches, named so the boot announcement can list them (#499).\n *\n * A line saying \"abuse limits relaxed\" would be accurate and still misleading: an operator would\n * reasonably read it as ALL of them, and it is not — a counter whose maximum is a product or tenant\n * policy is deliberately untouched, as is any counter used as an audit de-duplication window (see the\n * module header). Naming the reached set is what makes the announcement actionable rather than\n * atmospheric.\n *\n * Maintained by hand against the import sites, which is a list re-stating another file's population —\n * exactly the shape `invariant-call-site-enumeration.md` warns about. It is tolerable ONLY because it\n * feeds a log line rather than a decision: a stale entry here misinforms an operator, it does not\n * change a ceiling. Keep it in step when a site is added, and prefer deleting it over letting it rot.\n */\nexport const RELAXED_ABUSE_THROTTLE_SITES: readonly string[] = [\n 'HTTP perimeter limiter',\n 'WebSocket per-event limiter',\n 'machine-credential failure guard',\n 'external-turn throttle (A2A / MCP)',\n 'authorization-denial audit sampler',\n 'webhook endpoint-test cap',\n 'rate-limit policy service',\n];\n\n/** What a boot announcement should say, or `null` when the environment relaxes nothing. */\nexport interface AbuseThrottleRelaxationAnnouncement {\n readonly applicationEnv: RuntimeEnvironment;\n readonly multiplier: number;\n readonly relaxedSites: readonly string[];\n}\n\n/**\n * Describe the relaxation in force, for an unmissable line at startup (#499).\n *\n * The relaxation is keyed on the resolved environment and nothing else — a deliberate decision, so\n * there is one source of truth for \"what kind of host is this\" rather than a second flag that can\n * disagree with it. The residual risk is that a host which merely REPORTS development (a demonstration\n * box, a staging-like environment mis-declared) runs with maxima multiplied by a thousand. That risk is\n * accepted, and this function is the whole of what makes it visible instead of silent.\n *\n * Returns `null` in `STAGING` / `PRODUCTION`, so a caller logs nothing where nothing is relaxed.\n */\nexport function describeAbuseThrottleRelaxation(\n applicationEnv: RuntimeEnvironment,\n): AbuseThrottleRelaxationAnnouncement | null {\n const multiplier = resolveRateLimitEnvironmentMultiplier(applicationEnv);\n return multiplier === 1\n ? null\n : { applicationEnv, multiplier, relaxedSites: RELAXED_ABUSE_THROTTLE_SITES };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-pipeline-scheduled-run.batch.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iCAAiC,EAAE,MAAM,4FAA4F,CAAC;AAa/I,QAAA,MAAM,4CAA4C;;;;;;;;;iBAWhD,CAAC;AAEH,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4CAA4C,CAAC,CAAC;AAElH,wBAAgB,2CAA2C,IAAI,UAAU,CAAC,OAAO,iCAAiC,CAAC,CAyDlH"}
1
+ {"version":3,"file":"external-data-pipeline-scheduled-run.batch.backend.service.d.ts","sourceRoot":"","sources":["../../../../src/external-data/batches/external-data-pipeline-scheduled-run.batch.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,iCAAiC,EAAE,MAAM,4FAA4F,CAAC;AAa/I,QAAA,MAAM,4CAA4C;;;;;;;;;iBAWhD,CAAC;AAEH,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4CAA4C,CAAC,CAAC;AAElH,wBAAgB,2CAA2C,IAAI,UAAU,CAAC,OAAO,iCAAiC,CAAC,CAyDlH"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-admin.backend.contracts.d.ts","sourceRoot":"","sources":["../../../../../src/external-data/controllers/external-data-admin.backend.contracts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mHAAmH;AACnH;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAG,0BAAmC,CAAC;AAEnF,2FAA2F;AAC3F,eAAO,MAAM,kCAAkC,EAAG,gBAAyB,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,sCAAsC,EAAG,+BAAwC,CAAC;AAE/F,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B;IACxC,oFAAoF;;IAEpF;;;;;;;OAOG;;CAEK,CAAC;AAEX,MAAM,MAAM,kCAAkC,GAC5C,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAC;AACrF,gEAAgE"}
1
+ {"version":3,"file":"external-data-admin.backend.contracts.d.ts","sourceRoot":"","sources":["../../../../src/external-data/controllers/external-data-admin.backend.contracts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mHAAmH;AACnH;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,EAAG,0BAAmC,CAAC;AAEnF,2FAA2F;AAC3F,eAAO,MAAM,kCAAkC,EAAG,gBAAyB,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,sCAAsC,EAAG,+BAAwC,CAAC;AAE/F,6EAA6E;AAC7E,eAAO,MAAM,6BAA6B;IACxC,oFAAoF;;IAEpF;;;;;;;OAOG;;CAEK,CAAC;AAEX,MAAM,MAAM,kCAAkC,GAC5C,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,OAAO,6BAA6B,CAAC,CAAC;AACrF,gEAAgE"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-admin.backend.controller.d.ts","sourceRoot":"","sources":["../../../../../src/external-data/controllers/external-data-admin.backend.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAE7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,yCAAyC,EAAE,MAAM,qGAAqG,CAAC;AAKhK,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,6EAA6E,CAAC;AAczI,qBACa,kCAAmC,SAAQ,gCAAgC;IAMpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBARL,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EAEhE,kBAAkB,EAAE,qCAAqC,EAEzD,oBAAoB,EAAE,yCAAyC,EAE/D,uBAAuB,EAAE,qCAAqC;IAKjF,gFAAgF;IACzE,sBAAsB,IAAI,MAAM;IAIvC,SAAS,CAAC,WAAW,IAAI,IAAI;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;;;;;OAMG;YACW,mBAAmB;IAmCjC,wEAAwE;YAC1D,iBAAiB;CA6BhC"}
1
+ {"version":3,"file":"external-data-admin.backend.controller.d.ts","sourceRoot":"","sources":["../../../../src/external-data/controllers/external-data-admin.backend.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,kBAAkB,CAAC;AAO1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAE7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,yCAAyC,EAAE,MAAM,qGAAqG,CAAC;AAKhK,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,6EAA6E,CAAC;AAczI,qBACa,kCAAmC,SAAQ,gCAAgC;IAMpF,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IAEnC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IAErC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBARL,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EAEhE,kBAAkB,EAAE,qCAAqC,EAEzD,oBAAoB,EAAE,yCAAyC,EAE/D,uBAAuB,EAAE,qCAAqC;IAKjF,gFAAgF;IACzE,sBAAsB,IAAI,MAAM;IAIvC,SAAS,CAAC,WAAW,IAAI,IAAI;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;;;;;OAMG;YACW,mBAAmB;IAmCjC,wEAAwE;YAC1D,iBAAiB;CA6BhC"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-extraction-source.backend.d.ts","sourceRoot":"","sources":["../../../../src/external-data/external-data-extraction-source.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAC5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6FAA6F,CAAC;AAKrI,kGAAkG;AAClG,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9F;;;;;;;;OAQG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,uFAAuF;AACvF,qBAAa,mCAAoC,YAAW,4BAA4B;IAKpF,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;gBAGpC,WAAW,EAAE,+BAA+B,EAC5C,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAS7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAe1G;;;;;;;OAOG;IACU,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YASzC,gBAAgB;YAwBhB,eAAe;CA+B9B"}
1
+ {"version":3,"file":"external-data-extraction-source.backend.d.ts","sourceRoot":"","sources":["../../../src/external-data/external-data-extraction-source.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAC5G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6FAA6F,CAAC;AAKrI,kGAAkG;AAClG,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC9F;;;;;;;;OAQG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC7C;AAED,uFAAuF;AACvF,qBAAa,mCAAoC,YAAW,4BAA4B;IAKpF,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IANnC,8FAA8F;IAC9F,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;gBAGpC,WAAW,EAAE,+BAA+B,EAC5C,UAAU,EAAE,iBAAiB,EAC7B,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC;IAS7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAe1G;;;;;;;OAOG;IACU,qBAAqB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YASzC,gBAAgB;YAwBhB,eAAe;CA+B9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-models.exports.d.ts","sourceRoot":"","sources":["../../../../src/external-data/external-data-models.exports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,uDAAuD,CAAC;AACtE,cAAc,mCAAmC,CAAC"}
1
+ {"version":3,"file":"external-data-models.exports.d.ts","sourceRoot":"","sources":["../../../src/external-data/external-data-models.exports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,uDAAuD,CAAC;AACtE,cAAc,mCAAmC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-pipeline-run.backend.service.d.ts","sourceRoot":"","sources":["../../../../src/external-data/external-data-pipeline-run.backend.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"external-data-pipeline-run.backend.service.d.ts","sourceRoot":"","sources":["../../../src/external-data/external-data-pipeline-run.backend.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-pipeline-run.backend.service.js","sourceRoot":"","sources":["../../../../src/external-data/external-data-pipeline-run.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The ETL pipeline RUN service (partial-resource paper v3.1, PR-5/PR-6/PR-9/PR-10/PR-12) — the\n * orchestrator that turns a declared `externalDataPipeline` into destination rows: E (extraction source over\n * the shared read client) → T (pure transform) → L (the data-seeding engines' imperative doors).\n *\n * ## The one decision that carries the paper's ⚠ traps: MODE SELECTION (PR-6)\n *\n * A run that COMPLETES a pass over the remote population loads through `runSyncSeed` — the full\n * reconcile INCLUDING the Stage-4 orphan walk (a destination row whose remote sibling vanished is\n * handled per the declared `orphanPolicy`). A run that stops mid-pass (`maxRowsPerRun` reached)\n * loads through `runUpgradeSeed` — the SAME reconcile loop with NO orphan stage, because \"absent\n * from a partial extraction\" is not evidence of remote deletion. A partial run orphans NOTHING;\n * the persisted cursor lets the next run continue the pass where this one stopped.\n *\n * ## Change detection (PR-30)\n *\n * The assembled seed pins `version: 1` forever and declares\n * `reconcileStrategy: CONTENT` — a pipeline's change signal is the REMOTE VALUE, not a version\n * bump. Managed-field content comparison decides write-vs-skip per row, so an unchanged remote\n * population costs zero destination writes (and zero RAG re-ingestions) per pass.\n *\n * ## Ledger split (PR-9)\n *\n * Per-entry load outcome lives on the `DataSeedRun` ledger row every run writes through the\n * engines (one row per pipeline — `seedKey` + constant version, recovered and reset each run).\n * The `ExternalDataPipelineState` row carries what data-seeding cannot know: the extraction CURSOR\n * (surviving restarts, so populations larger than one run's budget eventually sync end to end)\n * and the ETL-side last-run summary (extracted/rejected happen BEFORE the seed engine sees\n * anything). Transform rejections are logged per row (bounded) and counted on the summary; the\n * rejected rows' previous destination versions simply survive.\n *\n * ## Attribution (PR-10)\n *\n * ONE read-through audit row per run through the same lazily-resolved seam as the virtual\n * repository (`logHttpApiReadThroughAccess`), carrying the run outcome counts — a pipeline run\n * is bulk read-through access to an external system and lands in the same audit lane.\n *\n * ## Concurrency\n *\n * Single-flight per pipeline is IN-PROCESS (a second `runPipeline` for the same resource while\n * one is in flight answers `already-running`). A cross-instance double run is deliberately not\n * locked out: every load is an idempotent business-key MERGE and extraction pages are\n * drift-safe, so the second run wastes work but corrupts nothing — the same posture as\n * concurrent seed passes.\n */\n\nimport { inject, injectable, optional, unmanaged } from 'inversify';\nimport {\n CoreResourceOperation,\n ErrorCustomMessageReference,\n ErrorType,\n type ResourceType,\n} from '@wildo-ai/saas-models';\nimport {\n ExternalDataDestinationPopulation,\n ExternalDataOrphanPolicy,\n type ExternalDataPipelineDeclaration,\n} from '@wildo-ai/saas-models/external-data';\n\nimport {\n DataSeedMode,\n DataSeedReconcileStrategy,\n DataSeedScopeKind,\n DataSeedSyncOrphanPolicy,\n DataSeedTriggerKind,\n DataSeedTriggerOrigin,\n type DataSeedDefinition,\n type DataSeedStaticEntry,\n} from '~wildo-backend-lib/data-seeding/models/data-seed.shared.schemas';\nimport { DataSeedRunStatus } from '~wildo-backend-lib/data-seeding/models/data-seed-run.shared.schemas';\nimport type { DataSeedScopeAnchor } from '~wildo-backend-lib/data-seeding/services/shared/data-seed-scope-anchor.shared.types';\nimport type { SyncSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/sync-seed-engine.backend.service';\nimport type { UpgradeSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/upgrade-seed-engine.backend.service';\nimport type { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport type { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport type { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { BackendResourceType } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\nimport type { ExternalDataPipelineState } from '~wildo-backend-lib/external-data/models/external-data-pipeline-state.backend.schemas';\nimport { HttpApiReadClient } from '~wildo-backend-lib/base-classes/services/repositories/http-api/http-api-read-client.backend';\nimport { ExternalProvidersHttpApiAccessResolver } from '~wildo-backend-lib/base-classes/services/repositories/http-api/http-api-provider-access.backend';\nimport type { HttpApiAuditLogsResolver } from '~wildo-backend-lib/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service';\nimport {\n AuditObservationKind,\n type AuditObservationLossMetricsRecorder,\n emitAuditObservation,\n} from '~wildo-backend-lib/monitoring/observability/audit-observation-emission.backend';\nimport { HttpApiExternalDataExtractionSource, type ExternalDataExtractionSource } from './external-data-extraction-source.backend';\n/*\n * entrypoint-closure-waiver: `etl-transform.backend` is published only by `./external-data-models` (one\n * door per room), and nothing nominal crosses into this root-exported module's public surface —\n * `ExternalDataTransformedRow`/`ExternalDataRowRejection` are structural interfaces and `ExternalDataPipelineRunReport`\n * names none of them nominally. Probed 2026-08-28 after the barrel split:\n * `tsc -p tsconfig.build.json --noEmit` with declaration emit — zero TS2742/TS2883/TS7056.\n */\nimport { transformExternalDataPage, type ExternalDataRowRejection } from './external-data-transform.backend';\n\n/** How many per-row rejection reasons are LOGGED per run — the count is always exact. */\nconst MAX_LOGGED_REJECTIONS = 25;\n\nexport interface ExternalDataPipelineRunInput {\n /** The DESTINATION resource type declaring the `externalDataPipeline`. */\n resourceType: string;\n /** `ADMIN_MANUAL` for the on-demand door, `SCHEDULED_RERUN` for the cron batch (PR-12). */\n triggerOrigin: DataSeedTriggerOrigin.ADMIN_MANUAL | DataSeedTriggerOrigin.SCHEDULED_RERUN;\n triggeredByUserId: string | null;\n}\n\nexport interface ExternalDataPipelineRunReport {\n outcome: 'completed-pass' | 'partial-pass' | 'already-running';\n extractedRows: number;\n rejectedRows: number;\n /**\n * Declared entries HANDED TO the seed engine (extracted − rejected) — what was submitted, never\n * what was written. Named `submittedEntries` rather than `loadedEntries` because the old name\n * read as a write count and was believed as one: a run reporting `loadedEntries: 2` had in fact\n * written one row and failed the other. `loadStatus` is the field that answers what landed.\n */\n submittedEntries: number;\n /**\n * The seed engine's verdict on the LOAD — `PARTIAL`/`FAILED` means go read `seedRunId`. Distinct\n * from `outcome`, which reports only whether the EXTRACTION pass completed.\n */\n loadStatus: DataSeedRunStatus | null;\n /** `_id` of the `DataSeedRun` ledger row (per-entry outcome detail); null when none ran. */\n seedRunId: string | null;\n /** The persisted continuation — non-null exactly for `partial-pass`. */\n cursor: string | null;\n durationMs: number;\n}\n\n/** Test seam: build the extraction source for one run (production default: the HTTP source). */\nexport type ExternalDataExtractionSourceFactory = (\n declaration: ExternalDataPipelineDeclaration,\n internalContext: ExecutionContext<any>,\n) => ExternalDataExtractionSource;\n\n@injectable()\nexport class ExternalDataPipelineRunBackendService {\n private readonly inFlight = new Set<string>();\n private readonly logDebug: (message: string, data?: unknown) => void;\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService) private readonly repositoriesRegistry: RepositoriesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.SyncSeedEngine) private readonly syncEngine: SyncSeedEngineBackendService,\n @inject(SAAS_SERVICE_TYPES.UpgradeSeedEngine) private readonly upgradeEngine: UpgradeSeedEngineBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService) private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n /**\n * Resolves provider credentials for the extraction client. `@optional()` so a container\n * without external-connector bindings still constructs the service — a run then fails with\n * the resolver's own actionable error, never at boot.\n */\n @inject(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService) @optional() private readonly externalProvidersRegistry?: unknown,\n /**\n * The read-through audit seam (PR-10) — same structural, lazily-resolved contract as the\n * virtual repository's: absent binding means no emission, and emission failure never fails\n * the run it observes.\n */\n /*\n * `@unmanaged()`, because this class IS container-constructed and the two seams below are not the\n * container's to resolve. The contract was copied from `HttpApiResourceRepositoryBackendService`,\n * where an undecorated optional parameter is fine — that class carries no `@injectable()` and is\n * built with `new`. Under `@injectable()` the same shape is a boot failure: Inversify validates\n * EVERY constructor parameter, so an undecorated one aborts container setup with\n * \"unexpected missing metadata\" long before any ETL code runs.\n */\n @unmanaged() private readonly auditLogsResolver?: HttpApiAuditLogsResolver,\n /** Test seam — production leaves it unset and gets the HTTP source over the shared client. */\n @unmanaged() private readonly extractionSourceFactory?: ExternalDataExtractionSourceFactory,\n /**\n * The PRODUCTION door to the read-through audit sink — and it had to be added, because the\n * `@unmanaged()` thunk above cannot be one.\n *\n * `@unmanaged()` tells Inversify not to resolve a parameter, and this class is bound with\n * `.to(...)`, so the container constructs it and passes `undefined` there. That made the seam a\n * TEST-ONLY door: every scheduled ETL run in production reached `recordRunReadThroughAccess`,\n * found no resolver, and emitted nothing. The sink itself exists\n * (`AuditLogsBackendService.logHttpApiReadThroughAccess`), so nothing was refusing — the row was\n * simply never written, silently, which is exactly the shape the loss counter now makes visible.\n *\n * Two suppliers, and they cannot collide: `@unmanaged()` is structurally unfillable by the\n * container, so the thunk is only ever set by a test constructing this class with `new`, and it\n * takes precedence there so a suite can substitute a double. `@optional()` here for the usual\n * reason — a minimal container binds no audit service and an ETL run must still run.\n *\n * assurance-control: WILDO.AUDIT.ATTRIBUTION — an ETL run's external read is recorded.\n */\n @inject(SAAS_SERVICE_TYPES.AuditLogsService) @optional()\n private readonly auditLogsService?: NonNullable<ReturnType<HttpApiAuditLogsResolver>>,\n /**\n * The loss counter behind that emission. Appended LAST and `@optional()`, so a container with no\n * metrics binding degrades a dropped attribution row to the log channel rather than to nothing.\n */\n @inject(SAAS_SERVICE_TYPES.MetricsService) @optional()\n private readonly metricsService?: AuditObservationLossMetricsRecorder,\n ) {\n this.logDebug = this.logger.debugByType('ExternalDataPipelineRun');\n this.logger.setDebugTypeLogging('ExternalDataPipelineRun', false);\n }\n\n /** The on-demand door (PR-12). The scheduled batch calls this per due pipeline. */\n public async runPipeline(input: ExternalDataPipelineRunInput): Promise<ExternalDataPipelineRunReport> {\n if (this.inFlight.has(input.resourceType)) {\n return {\n outcome: 'already-running', extractedRows: 0, rejectedRows: 0,\n submittedEntries: 0, loadStatus: null, seedRunId: null, cursor: null, durationMs: 0,\n };\n }\n this.inFlight.add(input.resourceType);\n try {\n return await this.executeRun(input);\n } finally {\n this.inFlight.delete(input.resourceType);\n }\n }\n\n /** Every registered resource that declares an `externalDataPipeline` — the scheduled batch's population. */\n public listDeclaredPipelines(): Array<{ resourceType: string; declaration: ExternalDataPipelineDeclaration }> {\n return (this.resourcesRegistry.getResourceTypes() as string[])\n .flatMap((resourceType) => {\n const configuration = this.resourcesRegistry.getResourceConfiguration(resourceType as ResourceType) as\n | { externalDataPipeline?: ExternalDataPipelineDeclaration }\n | undefined;\n return configuration?.externalDataPipeline ? [{ resourceType, declaration: configuration.externalDataPipeline }] : [];\n });\n }\n\n private async executeRun(input: ExternalDataPipelineRunInput): Promise<ExternalDataPipelineRunReport> {\n const startedAtMs = Date.now();\n const { resourceType, triggerOrigin, triggeredByUserId } = input;\n\n const configuration = this.resourcesRegistry.getResourceConfiguration(resourceType as ResourceType) as {\n externalDataPipeline?: ExternalDataPipelineDeclaration;\n };\n const declaration = configuration?.externalDataPipeline;\n if (!declaration) {\n throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCES_REGISTRY_INITIALIZATION_FAILED,\n context: { reason: 'etl_pipeline_without_declaration', resourceType },\n });\n }\n\n const internalContext = await this.executionContextCreator.createForInternalSystemOperation();\n const stateContext = await this.executionContextCreator.createForInternalRepositoryOperation({\n resourceType: BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE,\n operationIdentifier: CoreResourceOperation.CREATE,\n });\n const stateRepo = this.repositoriesRegistry.getRepositoryOrThrow(\n BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE as unknown as ResourceType,\n stateContext,\n );\n\n let state = await stateRepo.read<ExternalDataPipelineState>(stateContext, { pipelineResourceType: resourceType });\n if (!state) {\n state = (await stateRepo.create(stateContext, {\n pipelineResourceType: resourceType,\n cursor: null,\n passStartedAt: null,\n lastRunAt: null,\n lastRunSummary: null,\n } as never)) as unknown as ExternalDataPipelineState;\n }\n const resumingCursor = state.cursor ?? undefined;\n const passStartedAt = resumingCursor === undefined ? new Date() : (state.passStartedAt ?? new Date());\n\n // ── E: bounded page walk from the persisted cursor ──────────────────────────\n const source = (this.extractionSourceFactory ?? this.buildHttpExtractionSource.bind(this))(declaration, internalContext);\n // PR-21 — WARN-only drift probe, once per run, before extraction. A probe failure is\n // swallowed: drift detection must never be the reason a run fails.\n try {\n for (const warning of (await source.describeContractDrift?.()) ?? []) {\n this.logger.warn(`ExternalDataPipelineRun[${resourceType}]: schema drift — ${warning}`);\n }\n } catch {\n // Diagnostic only.\n }\n const extractedRows: Array<Record<string, unknown>> = [];\n let cursor = resumingCursor;\n let passComplete = false;\n while (extractedRows.length < declaration.maxRowsPerRun) {\n const page = await source.extractPage(cursor, Math.min(declaration.maxRowsPerRun - extractedRows.length, 1_000));\n extractedRows.push(...page.rows);\n cursor = page.nextCursor;\n if (page.complete) {\n passComplete = true;\n break;\n }\n }\n\n // ── T: pure transform; per-row rejections reported, never fatal ─────────────\n const { rows, rejections } = transformExternalDataPage(declaration, extractedRows);\n this.logRejections(resourceType, rejections);\n const entries: DataSeedStaticEntry[] = rows.map((row) => ({\n businessKey: { [declaration.remoteKeyLocalField]: row.businessKeyValue },\n data: row.data,\n }));\n\n // ── L: mode selection is THE PR-6 guard — a partial run orphans NOTHING ─────\n const seed = this.assembleSeedDefinition(resourceType, declaration, passComplete);\n const scope = await this.resolveApplicationScopeAnchor(internalContext);\n const engineInput = {\n seed,\n trigger: { triggerKind: DataSeedTriggerKind.ON_SCHEDULED_REFRESH as const },\n triggerOrigin,\n scope,\n entries,\n triggeredByUserId,\n rowMetadataSource: `external-data:${resourceType}`,\n internalContext,\n };\n const seedReport = passComplete\n ? await this.syncEngine.runSyncSeed(engineInput)\n : await this.upgradeEngine.runUpgradeSeed(engineInput);\n\n // ── Persist the state row: the cursor IS the pass continuation ──────────────\n const durationMs = Date.now() - startedAtMs;\n const seedRunId = seedReport.runId ?? null;\n // The LOAD verdict, carried separately from `outcome` (which is about the EXTRACTION pass).\n // Both are reported: a full pass that failed to write part of what it read is neither a clean\n // success nor a partial pass, and collapsing them would hide exactly that case.\n const loadStatus = seedReport.status ?? null;\n await stateRepo.update(stateContext, state._id, {\n cursor: passComplete ? null : (cursor ?? null),\n passStartedAt: passComplete ? null : passStartedAt,\n lastRunAt: new Date(startedAtMs),\n lastRunSummary: {\n completedPass: passComplete,\n extractedRows: extractedRows.length,\n rejectedRows: rejections.length,\n loadStatus,\n seedRunId,\n durationMs,\n },\n } as never);\n\n this.recordRunReadThroughAccess(internalContext, resourceType, declaration, {\n extractedRows: extractedRows.length,\n rejectedRows: rejections.length,\n completedPass: passComplete,\n });\n\n return {\n outcome: passComplete ? 'completed-pass' : 'partial-pass',\n extractedRows: extractedRows.length,\n rejectedRows: rejections.length,\n submittedEntries: entries.length,\n loadStatus,\n seedRunId,\n cursor: passComplete ? null : (cursor ?? null),\n durationMs,\n };\n }\n\n /**\n * The assembled seed is EPHEMERAL (never registered): `version` is pinned at 1 forever and\n * `reconcileStrategy: CONTENT` carries change detection (PR-30) — bumping the version per run\n * would route every row through the migrator path and rewrite the whole corpus each pass.\n */\n private assembleSeedDefinition(\n resourceType: string,\n declaration: ExternalDataPipelineDeclaration,\n passComplete: boolean,\n ): DataSeedDefinition {\n const managedFields = [\n declaration.remoteKeyLocalField,\n ...declaration.mapping.map((entry) => entry.localField),\n ];\n return {\n seedKey: `external-data:${resourceType}`,\n scope: { kind: DataSeedScopeKind.APPLICATION },\n resourceType,\n triggers: [{ triggerKind: DataSeedTriggerKind.ON_SCHEDULED_REFRESH }],\n mode: passComplete ? DataSeedMode.SYNC : DataSeedMode.UPGRADE,\n version: 1,\n managedFields,\n reconcileStrategy: DataSeedReconcileStrategy.CONTENT,\n ...(passComplete ? { onOrphan: this.mapOrphanPolicy(this.effectiveOrphanPolicy(declaration)) } : {}),\n } as DataSeedDefinition;\n }\n\n /**\n * The seam between the two closed vocabularies (never merged by value overlap — the ETL\n * declaration must not depend on data-seeding's enum, and each member's semantics are owned\n * where it is declared).\n */\n private mapOrphanPolicy(orphanPolicy: ExternalDataOrphanPolicy): DataSeedSyncOrphanPolicy {\n switch (orphanPolicy) {\n case ExternalDataOrphanPolicy.DELETE:\n return DataSeedSyncOrphanPolicy.DELETE;\n case ExternalDataOrphanPolicy.DEPRECATE:\n return DataSeedSyncOrphanPolicy.DEPRECATE;\n case ExternalDataOrphanPolicy.REPORT:\n return DataSeedSyncOrphanPolicy.REPORT;\n }\n }\n\n /**\n * ⚠ OPEN-population caveat, named where it is decided: the SYNC orphan walk considers every\n * row of the destination, including caller-minted rows on an OPEN population. Those rows have\n * no `__seed` metadata and a business key outside the declared set, so DELETE/DEPRECATE would\n * hit them. Slice 1 therefore downgrades OPEN populations' orphan handling to REPORT.\n */\n private effectiveOrphanPolicy(declaration: ExternalDataPipelineDeclaration): ExternalDataOrphanPolicy {\n return declaration.population === ExternalDataDestinationPopulation.OPEN ? ExternalDataOrphanPolicy.REPORT : declaration.orphanPolicy;\n }\n\n private buildHttpExtractionSource(\n declaration: ExternalDataPipelineDeclaration,\n internalContext: ExecutionContext<any>,\n ): ExternalDataExtractionSource {\n const readClient = new HttpApiReadClient(\n declaration.binding,\n new ExternalProvidersHttpApiAccessResolver(this.externalProvidersRegistry as never),\n );\n return new HttpApiExternalDataExtractionSource(declaration, readClient, internalContext);\n }\n\n private async resolveApplicationScopeAnchor(internalContext: ExecutionContext<any>): Promise<DataSeedScopeAnchor> {\n const appRepo = this.repositoriesRegistry.getRepositoryOrThrow('applications' as ResourceType, internalContext);\n const application = (await appRepo.read<{ _id: string }>(internalContext, {})) ?? null;\n if (!application) {\n throw this.errorBuilder.buildError(ErrorType.INTERNAL, internalContext, {\n customMessageReference: ErrorCustomMessageReference.INTERNAL,\n context: { message: 'ExternalDataPipelineRun: no APPLICATION row exists — bootstrap order violation.' },\n });\n }\n return { scopeKind: DataSeedScopeKind.APPLICATION, relatedId: application._id, relatedResourceType: null };\n }\n\n private logRejections(resourceType: string, rejections: ExternalDataRowRejection[]): void {\n if (rejections.length === 0) return;\n this.logger.warn(`ExternalDataPipelineRun[${resourceType}]: ${rejections.length} row(s) rejected by transform (previous versions survive).`, {\n rejections: rejections.slice(0, MAX_LOGGED_REJECTIONS),\n truncated: rejections.length > MAX_LOGGED_REJECTIONS,\n });\n }\n\n /**\n * PR-10 — one audit row per run, fire-and-forget through the shared seam.\n *\n * The emission goes through {@link emitAuditObservation}, so a run whose attribution row never\n * reached the pipeline lands on `audit_observation_dropped_total` instead of nowhere. The feature\n * detection decides an ARGUMENT rather than an early return: handing the seam `undefined` is how\n * this site reports `SERVICE_UNAVAILABLE`, and returning early would restore the silence that let\n * this seam sit unwired in production without anything saying so.\n */\n private recordRunReadThroughAccess(\n executionContext: ExecutionContext<any>,\n resourceType: string,\n declaration: ExternalDataPipelineDeclaration,\n counts: { extractedRows: number; rejectedRows: number; completedPass: boolean },\n ): void {\n let emit: (() => unknown) | undefined;\n try {\n // The test thunk first, the injected production service second — see the constructor.\n const auditLogsService = this.auditLogsResolver?.() ?? this.auditLogsService;\n const sink = auditLogsService?.logHttpApiReadThroughAccess;\n if (typeof sink === 'function') {\n emit = (): unknown => sink.call(auditLogsService, {\n resourceType,\n operationIdentifier: 'externalDataPipelineRun',\n providerRef: declaration.binding.providerRef,\n remoteEntityRef: declaration.binding.entityRef,\n dialect: declaration.binding.dialect,\n rowCount: counts.extractedRows,\n rejectedRows: counts.rejectedRows,\n completedPass: counts.completedPass,\n }, executionContext);\n }\n } catch {\n // A thunk that throws leaves `emit` undefined, so the observation is reported as UNAVAILABLE\n // rather than swallowed. Observation only — never the reason a run fails.\n }\n\n emitAuditObservation({\n observation: AuditObservationKind.HTTP_API_READ_THROUGH_ACCESS,\n emit,\n metricsService: this.metricsService,\n logger: this.logger,\n // Enough to name WHICH run went unrecorded, and how much it moved — the counts are what\n // separate a run that read nothing from one that read a tenant's whole remote table.\n context: {\n observedResourceType: resourceType,\n observedProviderRef: declaration.binding.providerRef,\n observedRemoteEntityRef: declaration.binding.entityRef,\n observedRowCount: counts.extractedRows,\n },\n });\n }\n}\n"]}
1
+ {"version":3,"file":"external-data-pipeline-run.backend.service.js","sourceRoot":"","sources":["../../../src/external-data/external-data-pipeline-run.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * The ETL pipeline RUN service (partial-resource paper v3.1, PR-5/PR-6/PR-9/PR-10/PR-12) — the\n * orchestrator that turns a declared `externalDataPipeline` into destination rows: E (extraction source over\n * the shared read client) → T (pure transform) → L (the data-seeding engines' imperative doors).\n *\n * ## The one decision that carries the paper's ⚠ traps: MODE SELECTION (PR-6)\n *\n * A run that COMPLETES a pass over the remote population loads through `runSyncSeed` — the full\n * reconcile INCLUDING the Stage-4 orphan walk (a destination row whose remote sibling vanished is\n * handled per the declared `orphanPolicy`). A run that stops mid-pass (`maxRowsPerRun` reached)\n * loads through `runUpgradeSeed` — the SAME reconcile loop with NO orphan stage, because \"absent\n * from a partial extraction\" is not evidence of remote deletion. A partial run orphans NOTHING;\n * the persisted cursor lets the next run continue the pass where this one stopped.\n *\n * ## Change detection (PR-30)\n *\n * The assembled seed pins `version: 1` forever and declares\n * `reconcileStrategy: CONTENT` — a pipeline's change signal is the REMOTE VALUE, not a version\n * bump. Managed-field content comparison decides write-vs-skip per row, so an unchanged remote\n * population costs zero destination writes (and zero RAG re-ingestions) per pass.\n *\n * ## Ledger split (PR-9)\n *\n * Per-entry load outcome lives on the `DataSeedRun` ledger row every run writes through the\n * engines (one row per pipeline — `seedKey` + constant version, recovered and reset each run).\n * The `ExternalDataPipelineState` row carries what data-seeding cannot know: the extraction CURSOR\n * (surviving restarts, so populations larger than one run's budget eventually sync end to end)\n * and the ETL-side last-run summary (extracted/rejected happen BEFORE the seed engine sees\n * anything). Transform rejections are logged per row (bounded) and counted on the summary; the\n * rejected rows' previous destination versions simply survive.\n *\n * ## Attribution (PR-10)\n *\n * ONE read-through audit row per run through the same lazily-resolved seam as the virtual\n * repository (`logHttpApiReadThroughAccess`), carrying the run outcome counts — a pipeline run\n * is bulk read-through access to an external system and lands in the same audit lane.\n *\n * ## Concurrency\n *\n * Single-flight per pipeline is IN-PROCESS (a second `runPipeline` for the same resource while\n * one is in flight answers `already-running`). A cross-instance double run is deliberately not\n * locked out: every load is an idempotent business-key MERGE and extraction pages are\n * drift-safe, so the second run wastes work but corrupts nothing — the same posture as\n * concurrent seed passes.\n */\n\nimport { inject, injectable, optional, unmanaged } from 'inversify';\nimport {\n CoreResourceOperation,\n ErrorCustomMessageReference,\n ErrorType,\n type ResourceType,\n} from '@wildo-ai/saas-models';\nimport {\n ExternalDataDestinationPopulation,\n ExternalDataOrphanPolicy,\n type ExternalDataPipelineDeclaration,\n} from '@wildo-ai/saas-models/external-data';\n\nimport {\n DataSeedMode,\n DataSeedReconcileStrategy,\n DataSeedScopeKind,\n DataSeedSyncOrphanPolicy,\n DataSeedTriggerKind,\n DataSeedTriggerOrigin,\n type DataSeedDefinition,\n type DataSeedStaticEntry,\n} from '~wildo-backend-lib/data-seeding/models/data-seed.shared.schemas';\nimport { DataSeedRunStatus } from '~wildo-backend-lib/data-seeding/models/data-seed-run.shared.schemas';\nimport type { DataSeedScopeAnchor } from '~wildo-backend-lib/data-seeding/services/shared/data-seed-scope-anchor.shared.types';\nimport type { SyncSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/sync-seed-engine.backend.service';\nimport type { UpgradeSeedEngineBackendService } from '~wildo-backend-lib/data-seeding/services/engines/upgrade-seed-engine.backend.service';\nimport type { ExecutionContext } from '~wildo-backend-lib/runtime/models/execution-context.backend.schemas';\nimport type { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport type { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { BackendResourceType } from '~wildo-backend-lib/resources/models/resources-types.backend.schemas';\nimport type { ExternalDataPipelineState } from '~wildo-backend-lib/external-data/models/external-data-pipeline-state.backend.schemas';\nimport { HttpApiReadClient } from '~wildo-backend-lib/base-classes/services/repositories/http-api/http-api-read-client.backend';\nimport { ExternalProvidersHttpApiAccessResolver } from '~wildo-backend-lib/base-classes/services/repositories/http-api/http-api-provider-access.backend';\nimport type { HttpApiAuditLogsResolver } from '~wildo-backend-lib/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service';\nimport {\n AuditObservationKind,\n type AuditObservationLossMetricsRecorder,\n emitAuditObservation,\n} from '~wildo-backend-lib/monitoring/observability/audit-observation-emission.backend';\nimport { HttpApiExternalDataExtractionSource, type ExternalDataExtractionSource } from './external-data-extraction-source.backend';\n/*\n * entrypoint-closure-waiver: `etl-transform.backend` is published only by `./external-data-models` (one\n * door per room), and nothing nominal crosses into this root-exported module's public surface —\n * `ExternalDataTransformedRow`/`ExternalDataRowRejection` are structural interfaces and `ExternalDataPipelineRunReport`\n * names none of them nominally. Probed 2026-08-28 after the barrel split:\n * `tsc -p tsconfig.build.json --noEmit` with declaration emit — zero TS2742/TS2883/TS7056.\n */\nimport { transformExternalDataPage, type ExternalDataRowRejection } from './external-data-transform.backend';\n\n/** How many per-row rejection reasons are LOGGED per run — the count is always exact. */\nconst MAX_LOGGED_REJECTIONS = 25;\n\nexport interface ExternalDataPipelineRunInput {\n /** The DESTINATION resource type declaring the `externalDataPipeline`. */\n resourceType: string;\n /** `ADMIN_MANUAL` for the on-demand door, `SCHEDULED_RERUN` for the cron batch (PR-12). */\n triggerOrigin: DataSeedTriggerOrigin.ADMIN_MANUAL | DataSeedTriggerOrigin.SCHEDULED_RERUN;\n triggeredByUserId: string | null;\n}\n\nexport interface ExternalDataPipelineRunReport {\n outcome: 'completed-pass' | 'partial-pass' | 'already-running';\n extractedRows: number;\n rejectedRows: number;\n /**\n * Declared entries HANDED TO the seed engine (extracted − rejected) — what was submitted, never\n * what was written. Named `submittedEntries` rather than `loadedEntries` because the old name\n * read as a write count and was believed as one: a run reporting `loadedEntries: 2` had in fact\n * written one row and failed the other. `loadStatus` is the field that answers what landed.\n */\n submittedEntries: number;\n /**\n * The seed engine's verdict on the LOAD — `PARTIAL`/`FAILED` means go read `seedRunId`. Distinct\n * from `outcome`, which reports only whether the EXTRACTION pass completed.\n */\n loadStatus: DataSeedRunStatus | null;\n /** `_id` of the `DataSeedRun` ledger row (per-entry outcome detail); null when none ran. */\n seedRunId: string | null;\n /** The persisted continuation — non-null exactly for `partial-pass`. */\n cursor: string | null;\n durationMs: number;\n}\n\n/** Test seam: build the extraction source for one run (production default: the HTTP source). */\nexport type ExternalDataExtractionSourceFactory = (\n declaration: ExternalDataPipelineDeclaration,\n internalContext: ExecutionContext<any>,\n) => ExternalDataExtractionSource;\n\n@injectable()\nexport class ExternalDataPipelineRunBackendService {\n private readonly inFlight = new Set<string>();\n private readonly logDebug: (message: string, data?: unknown) => void;\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService) private readonly repositoriesRegistry: RepositoriesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.SyncSeedEngine) private readonly syncEngine: SyncSeedEngineBackendService,\n @inject(SAAS_SERVICE_TYPES.UpgradeSeedEngine) private readonly upgradeEngine: UpgradeSeedEngineBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService) private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n /**\n * Resolves provider credentials for the extraction client. `@optional()` so a container\n * without external-connector bindings still constructs the service — a run then fails with\n * the resolver's own actionable error, never at boot.\n */\n @inject(SAAS_SERVICE_TYPES.ExternalProvidersRegistryService) @optional() private readonly externalProvidersRegistry?: unknown,\n /**\n * The read-through audit seam (PR-10) — same structural, lazily-resolved contract as the\n * virtual repository's: absent binding means no emission, and emission failure never fails\n * the run it observes.\n */\n /*\n * `@unmanaged()`, because this class IS container-constructed and the two seams below are not the\n * container's to resolve. The contract was copied from `HttpApiResourceRepositoryBackendService`,\n * where an undecorated optional parameter is fine — that class carries no `@injectable()` and is\n * built with `new`. Under `@injectable()` the same shape is a boot failure: Inversify validates\n * EVERY constructor parameter, so an undecorated one aborts container setup with\n * \"unexpected missing metadata\" long before any ETL code runs.\n */\n @unmanaged() private readonly auditLogsResolver?: HttpApiAuditLogsResolver,\n /** Test seam — production leaves it unset and gets the HTTP source over the shared client. */\n @unmanaged() private readonly extractionSourceFactory?: ExternalDataExtractionSourceFactory,\n /**\n * The PRODUCTION door to the read-through audit sink — and it had to be added, because the\n * `@unmanaged()` thunk above cannot be one.\n *\n * `@unmanaged()` tells Inversify not to resolve a parameter, and this class is bound with\n * `.to(...)`, so the container constructs it and passes `undefined` there. That made the seam a\n * TEST-ONLY door: every scheduled ETL run in production reached `recordRunReadThroughAccess`,\n * found no resolver, and emitted nothing. The sink itself exists\n * (`AuditLogsBackendService.logHttpApiReadThroughAccess`), so nothing was refusing — the row was\n * simply never written, silently, which is exactly the shape the loss counter now makes visible.\n *\n * Two suppliers, and they cannot collide: `@unmanaged()` is structurally unfillable by the\n * container, so the thunk is only ever set by a test constructing this class with `new`, and it\n * takes precedence there so a suite can substitute a double. `@optional()` here for the usual\n * reason — a minimal container binds no audit service and an ETL run must still run.\n *\n * assurance-control: WILDO.AUDIT.ATTRIBUTION — an ETL run's external read is recorded.\n */\n @inject(SAAS_SERVICE_TYPES.AuditLogsService) @optional()\n private readonly auditLogsService?: NonNullable<ReturnType<HttpApiAuditLogsResolver>>,\n /**\n * The loss counter behind that emission. Appended LAST and `@optional()`, so a container with no\n * metrics binding degrades a dropped attribution row to the log channel rather than to nothing.\n */\n @inject(SAAS_SERVICE_TYPES.MetricsService) @optional()\n private readonly metricsService?: AuditObservationLossMetricsRecorder,\n ) {\n this.logDebug = this.logger.debugByType('ExternalDataPipelineRun');\n this.logger.setDebugTypeLogging('ExternalDataPipelineRun', false);\n }\n\n /** The on-demand door (PR-12). The scheduled batch calls this per due pipeline. */\n public async runPipeline(input: ExternalDataPipelineRunInput): Promise<ExternalDataPipelineRunReport> {\n if (this.inFlight.has(input.resourceType)) {\n return {\n outcome: 'already-running', extractedRows: 0, rejectedRows: 0,\n submittedEntries: 0, loadStatus: null, seedRunId: null, cursor: null, durationMs: 0,\n };\n }\n this.inFlight.add(input.resourceType);\n try {\n return await this.executeRun(input);\n } finally {\n this.inFlight.delete(input.resourceType);\n }\n }\n\n /** Every registered resource that declares an `externalDataPipeline` — the scheduled batch's population. */\n public listDeclaredPipelines(): Array<{ resourceType: string; declaration: ExternalDataPipelineDeclaration }> {\n return (this.resourcesRegistry.getResourceTypes() as string[])\n .flatMap((resourceType) => {\n const configuration = this.resourcesRegistry.getResourceConfiguration(resourceType as ResourceType) as\n | { externalDataPipeline?: ExternalDataPipelineDeclaration }\n | undefined;\n return configuration?.externalDataPipeline ? [{ resourceType, declaration: configuration.externalDataPipeline }] : [];\n });\n }\n\n private async executeRun(input: ExternalDataPipelineRunInput): Promise<ExternalDataPipelineRunReport> {\n const startedAtMs = Date.now();\n const { resourceType, triggerOrigin, triggeredByUserId } = input;\n\n const configuration = this.resourcesRegistry.getResourceConfiguration(resourceType as ResourceType) as {\n externalDataPipeline?: ExternalDataPipelineDeclaration;\n };\n const declaration = configuration?.externalDataPipeline;\n if (!declaration) {\n throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {\n customMessageReference: ErrorCustomMessageReference.RESOURCES_REGISTRY_INITIALIZATION_FAILED,\n context: { reason: 'etl_pipeline_without_declaration', resourceType },\n });\n }\n\n const internalContext = await this.executionContextCreator.createForInternalSystemOperation();\n const stateContext = await this.executionContextCreator.createForInternalRepositoryOperation({\n resourceType: BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE,\n operationIdentifier: CoreResourceOperation.CREATE,\n });\n const stateRepo = this.repositoriesRegistry.getRepositoryOrThrow(\n BackendResourceType.EXTERNAL_DATA_PIPELINE_STATE as unknown as ResourceType,\n stateContext,\n );\n\n let state = await stateRepo.read<ExternalDataPipelineState>(stateContext, { pipelineResourceType: resourceType });\n if (!state) {\n state = (await stateRepo.create(stateContext, {\n pipelineResourceType: resourceType,\n cursor: null,\n passStartedAt: null,\n lastRunAt: null,\n lastRunSummary: null,\n } as never)) as unknown as ExternalDataPipelineState;\n }\n const resumingCursor = state.cursor ?? undefined;\n const passStartedAt = resumingCursor === undefined ? new Date() : (state.passStartedAt ?? new Date());\n\n // ── E: bounded page walk from the persisted cursor ──────────────────────────\n const source = (this.extractionSourceFactory ?? this.buildHttpExtractionSource.bind(this))(declaration, internalContext);\n // PR-21 — WARN-only drift probe, once per run, before extraction. A probe failure is\n // swallowed: drift detection must never be the reason a run fails.\n try {\n for (const warning of (await source.describeContractDrift?.()) ?? []) {\n this.logger.warn(`ExternalDataPipelineRun[${resourceType}]: schema drift — ${warning}`);\n }\n } catch {\n // Diagnostic only.\n }\n const extractedRows: Array<Record<string, unknown>> = [];\n let cursor = resumingCursor;\n let passComplete = false;\n while (extractedRows.length < declaration.maxRowsPerRun) {\n const page = await source.extractPage(cursor, Math.min(declaration.maxRowsPerRun - extractedRows.length, 1_000));\n extractedRows.push(...page.rows);\n cursor = page.nextCursor;\n if (page.complete) {\n passComplete = true;\n break;\n }\n }\n\n // ── T: pure transform; per-row rejections reported, never fatal ─────────────\n const { rows, rejections } = transformExternalDataPage(declaration, extractedRows);\n this.logRejections(resourceType, rejections);\n const entries: DataSeedStaticEntry[] = rows.map((row) => ({\n businessKey: { [declaration.remoteKeyLocalField]: row.businessKeyValue },\n data: row.data,\n }));\n\n // ── L: mode selection is THE PR-6 guard — a partial run orphans NOTHING ─────\n const seed = this.assembleSeedDefinition(resourceType, declaration, passComplete);\n const scope = await this.resolveApplicationScopeAnchor(internalContext);\n const engineInput = {\n seed,\n trigger: { triggerKind: DataSeedTriggerKind.ON_SCHEDULED_REFRESH as const },\n triggerOrigin,\n scope,\n entries,\n triggeredByUserId,\n rowMetadataSource: `external-data:${resourceType}`,\n internalContext,\n };\n const seedReport = passComplete\n ? await this.syncEngine.runSyncSeed(engineInput)\n : await this.upgradeEngine.runUpgradeSeed(engineInput);\n\n // ── Persist the state row: the cursor IS the pass continuation ──────────────\n const durationMs = Date.now() - startedAtMs;\n const seedRunId = seedReport.runId ?? null;\n // The LOAD verdict, carried separately from `outcome` (which is about the EXTRACTION pass).\n // Both are reported: a full pass that failed to write part of what it read is neither a clean\n // success nor a partial pass, and collapsing them would hide exactly that case.\n const loadStatus = seedReport.status ?? null;\n await stateRepo.update(stateContext, state._id, {\n cursor: passComplete ? null : (cursor ?? null),\n passStartedAt: passComplete ? null : passStartedAt,\n lastRunAt: new Date(startedAtMs),\n lastRunSummary: {\n completedPass: passComplete,\n extractedRows: extractedRows.length,\n rejectedRows: rejections.length,\n loadStatus,\n seedRunId,\n durationMs,\n },\n } as never);\n\n this.recordRunReadThroughAccess(internalContext, resourceType, declaration, {\n extractedRows: extractedRows.length,\n rejectedRows: rejections.length,\n completedPass: passComplete,\n });\n\n return {\n outcome: passComplete ? 'completed-pass' : 'partial-pass',\n extractedRows: extractedRows.length,\n rejectedRows: rejections.length,\n submittedEntries: entries.length,\n loadStatus,\n seedRunId,\n cursor: passComplete ? null : (cursor ?? null),\n durationMs,\n };\n }\n\n /**\n * The assembled seed is EPHEMERAL (never registered): `version` is pinned at 1 forever and\n * `reconcileStrategy: CONTENT` carries change detection (PR-30) — bumping the version per run\n * would route every row through the migrator path and rewrite the whole corpus each pass.\n */\n private assembleSeedDefinition(\n resourceType: string,\n declaration: ExternalDataPipelineDeclaration,\n passComplete: boolean,\n ): DataSeedDefinition {\n const managedFields = [\n declaration.remoteKeyLocalField,\n ...declaration.mapping.map((entry) => entry.localField),\n ];\n return {\n seedKey: `external-data:${resourceType}`,\n scope: { kind: DataSeedScopeKind.APPLICATION },\n resourceType,\n triggers: [{ triggerKind: DataSeedTriggerKind.ON_SCHEDULED_REFRESH }],\n mode: passComplete ? DataSeedMode.SYNC : DataSeedMode.UPGRADE,\n version: 1,\n managedFields,\n reconcileStrategy: DataSeedReconcileStrategy.CONTENT,\n ...(passComplete ? { onOrphan: this.mapOrphanPolicy(this.effectiveOrphanPolicy(declaration)) } : {}),\n } as DataSeedDefinition;\n }\n\n /**\n * The seam between the two closed vocabularies (never merged by value overlap — the ETL\n * declaration must not depend on data-seeding's enum, and each member's semantics are owned\n * where it is declared).\n */\n private mapOrphanPolicy(orphanPolicy: ExternalDataOrphanPolicy): DataSeedSyncOrphanPolicy {\n switch (orphanPolicy) {\n case ExternalDataOrphanPolicy.DELETE:\n return DataSeedSyncOrphanPolicy.DELETE;\n case ExternalDataOrphanPolicy.DEPRECATE:\n return DataSeedSyncOrphanPolicy.DEPRECATE;\n case ExternalDataOrphanPolicy.REPORT:\n return DataSeedSyncOrphanPolicy.REPORT;\n }\n }\n\n /**\n * ⚠ OPEN-population caveat, named where it is decided: the SYNC orphan walk considers every\n * row of the destination, including caller-minted rows on an OPEN population. Those rows have\n * no `__seed` metadata and a business key outside the declared set, so DELETE/DEPRECATE would\n * hit them. Slice 1 therefore downgrades OPEN populations' orphan handling to REPORT.\n */\n private effectiveOrphanPolicy(declaration: ExternalDataPipelineDeclaration): ExternalDataOrphanPolicy {\n return declaration.population === ExternalDataDestinationPopulation.OPEN ? ExternalDataOrphanPolicy.REPORT : declaration.orphanPolicy;\n }\n\n private buildHttpExtractionSource(\n declaration: ExternalDataPipelineDeclaration,\n internalContext: ExecutionContext<any>,\n ): ExternalDataExtractionSource {\n const readClient = new HttpApiReadClient(\n declaration.binding,\n new ExternalProvidersHttpApiAccessResolver(this.externalProvidersRegistry as never),\n );\n return new HttpApiExternalDataExtractionSource(declaration, readClient, internalContext);\n }\n\n private async resolveApplicationScopeAnchor(internalContext: ExecutionContext<any>): Promise<DataSeedScopeAnchor> {\n const appRepo = this.repositoriesRegistry.getRepositoryOrThrow('applications' as ResourceType, internalContext);\n const application = (await appRepo.read<{ _id: string }>(internalContext, {})) ?? null;\n if (!application) {\n throw this.errorBuilder.buildError(ErrorType.INTERNAL, internalContext, {\n customMessageReference: ErrorCustomMessageReference.INTERNAL,\n context: { message: 'ExternalDataPipelineRun: no APPLICATION row exists — bootstrap order violation.' },\n });\n }\n return { scopeKind: DataSeedScopeKind.APPLICATION, relatedId: application._id, relatedResourceType: null };\n }\n\n private logRejections(resourceType: string, rejections: ExternalDataRowRejection[]): void {\n if (rejections.length === 0) return;\n this.logger.warn(`ExternalDataPipelineRun[${resourceType}]: ${rejections.length} row(s) rejected by transform (previous versions survive).`, {\n rejections: rejections.slice(0, MAX_LOGGED_REJECTIONS),\n truncated: rejections.length > MAX_LOGGED_REJECTIONS,\n });\n }\n\n /**\n * PR-10 — one audit row per run, fire-and-forget through the shared seam.\n *\n * The emission goes through {@link emitAuditObservation}, so a run whose attribution row never\n * reached the pipeline lands on `audit_observation_dropped_total` instead of nowhere. The feature\n * detection decides an ARGUMENT rather than an early return: handing the seam `undefined` is how\n * this site reports `SERVICE_UNAVAILABLE`, and returning early would restore the silence that let\n * this seam sit unwired in production without anything saying so.\n */\n private recordRunReadThroughAccess(\n executionContext: ExecutionContext<any>,\n resourceType: string,\n declaration: ExternalDataPipelineDeclaration,\n counts: { extractedRows: number; rejectedRows: number; completedPass: boolean },\n ): void {\n let emit: (() => unknown) | undefined;\n try {\n // The test thunk first, the injected production service second — see the constructor.\n const auditLogsService = this.auditLogsResolver?.() ?? this.auditLogsService;\n const sink = auditLogsService?.logHttpApiReadThroughAccess;\n if (typeof sink === 'function') {\n emit = (): unknown => sink.call(auditLogsService, {\n resourceType,\n operationIdentifier: 'externalDataPipelineRun',\n providerRef: declaration.binding.providerRef,\n remoteEntityRef: declaration.binding.entityRef,\n dialect: declaration.binding.dialect,\n rowCount: counts.extractedRows,\n rejectedRows: counts.rejectedRows,\n completedPass: counts.completedPass,\n }, executionContext);\n }\n } catch {\n // A thunk that throws leaves `emit` undefined, so the observation is reported as UNAVAILABLE\n // rather than swallowed. Observation only — never the reason a run fails.\n }\n\n emitAuditObservation({\n observation: AuditObservationKind.HTTP_API_READ_THROUGH_ACCESS,\n emit,\n metricsService: this.metricsService,\n logger: this.logger,\n // Enough to name WHICH run went unrecorded, and how much it moved — the counts are what\n // separate a run that read nothing from one that read a tenant's whole remote table.\n context: {\n observedResourceType: resourceType,\n observedProviderRef: declaration.binding.providerRef,\n observedRemoteEntityRef: declaration.binding.entityRef,\n observedRowCount: counts.extractedRows,\n },\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-transform.backend.d.ts","sourceRoot":"","sources":["../../../../src/external-data/external-data-transform.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,qCAAqC,CAAC;AAE7C,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,0BAA0B,EAAE,CAAC;IACnC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED,wEAAwE;AACxE,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,+BAA+B,EAC5C,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,2BAA2B,CA2C7B"}
1
+ {"version":3,"file":"external-data-transform.backend.d.ts","sourceRoot":"","sources":["../../../src/external-data/external-data-transform.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAKH,OAAO,EAGL,KAAK,+BAA+B,EACrC,MAAM,qCAAqC,CAAC;AAE7C,2FAA2F;AAC3F,MAAM,WAAW,0BAA0B;IACzC,wFAAwF;IACxF,gBAAgB,EAAE,MAAM,CAAC;IACzB,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wEAAwE;AACxE,MAAM,WAAW,wBAAwB;IACvC,gGAAgG;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,0BAA0B,EAAE,CAAC;IACnC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CACxC;AAED,wEAAwE;AACxE,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,+BAA+B,EAC5C,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACjD,2BAA2B,CA2C7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-data-pipeline-state.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/external-data/models/external-data-pipeline-state.backend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,qBAAqB,EAIrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAU/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAM3F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;iBAgD1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,oBAAY,mCAAmC;IAC7C,QAAQ,aAAa;CACtB;AAED,KAAK,wCAAwC,GACzC,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAWjC,eAAO,MAAM,oEAAoE,GAC/E,wBAAwB,oBAAoB,EAAE,KAC7C,qBAAqB,CAAC,SAAS,EAAE,wCAAwC,EAAE,OAAO,+BAA+B,CA0BnH,CAAC"}
1
+ {"version":3,"file":"external-data-pipeline-state.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/external-data/models/external-data-pipeline-state.backend.schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAEL,qBAAqB,EAIrB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAC;AAU/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAM3F;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;iBAgD1C,CAAC;AAEH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,oBAAY,mCAAmC;IAC7C,QAAQ,aAAa;CACtB;AAED,KAAK,wCAAwC,GACzC,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,IAAI,GAC1B,qBAAqB,CAAC,MAAM,GAC5B,qBAAqB,CAAC,MAAM,CAAC;AAWjC,eAAO,MAAM,oEAAoE,GAC/E,wBAAwB,oBAAoB,EAAE,KAC7C,qBAAqB,CAAC,SAAS,EAAE,wCAAwC,EAAE,OAAO,+BAA+B,CA0BnH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"external-providers.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../../src/external-providers/models/external-providers.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgC,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAEL,4BAA4B,EAM5B,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAM9C;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;;;;;iBAkB1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMxF;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAMxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMpF;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;iBAgBzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAMtF;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;iBAS1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMxF;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;iBAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMxE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,4CAA6C,SAAQ,4BAA4B;IAEhG,WAAW,EAAE,yBAAyB,CAAC;IAGvC,gBAAgB,EAAE,uBAAuB,CAAC;IAG1C,YAAY,EAAE,wBAAwB,CAAC;IAGvC,eAAe,EAAE,yBAAyB,CAAC;IAG3C,IAAI,EAAE,iBAAiB,CAAC;IAoBxB,UAAU,EAAE,sBAAsB,CAAC;IAGnC,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,kDAAkD,EAAE,CAAC,CAAC,OAAO,CAAC,4CAA4C,CA+BrH,CAAC;AAMH;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,OAAO,gBAAgB,CAAC,kBAAkB,CAAC;IACtD,WAAW,EAAE,yBAAyB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB,EAAE,+BAA+B,CAAC;CAC1D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC;IAC9C,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAAE,qBAAqB,GAAG,eAAe,GAAG,OAAO,CAAC,CAAC;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"external-providers.backend.schemas.d.ts","sourceRoot":"","sources":["../../../../src/external-providers/models/external-providers.backend.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgC,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC7F,OAAO,EAEL,4BAA4B,EAM5B,2BAA2B,EAC3B,gBAAgB,EAChB,+BAA+B,EAC/B,kBAAkB,EACnB,MAAM,sCAAsC,CAAC;AAM9C;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;;;;;iBAkB1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMxF;;;GAGG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAMxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAMpF;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;iBAgBzC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAMtF;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;iBAS1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAMxF;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;iBAMlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMxE;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,4CAA6C,SAAQ,4BAA4B;IAEhG,WAAW,EAAE,yBAAyB,CAAC;IAGvC,gBAAgB,EAAE,uBAAuB,CAAC;IAG1C,YAAY,EAAE,wBAAwB,CAAC;IAGvC,eAAe,EAAE,yBAAyB,CAAC;IAG3C,IAAI,EAAE,iBAAiB,CAAC;IAoBxB,UAAU,EAAE,sBAAsB,CAAC;IAGnC,YAAY,CAAC,EAAE,2BAA2B,CAAC;CAC5C;AAED;;;;GAIG;AACH,eAAO,MAAM,kDAAkD,EAAE,CAAC,CAAC,OAAO,CAAC,4CAA4C,CA+BrH,CAAC;AAMH;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,OAAO,gBAAgB,CAAC,kBAAkB,CAAC;IACtD,WAAW,EAAE,yBAAyB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB,EAAE,+BAA+B,CAAC;CAC1D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,gBAAgB,CAAC,UAAU,CAAC;IAC9C,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAAE,qBAAqB,GAAG,eAAe,GAAG,OAAO,CAAC,CAAC;IAChG,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-selection-resolution-evidence.backend.definitions.d.ts","sourceRoot":"","sources":["../../../../../src/external-providers/models/provider-selection-resolution-evidence.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AAE7H,oBAAY,sCAAsC;IAChD,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;CAC9C;AAED,oBAAY,uCAAuC;IACjD,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,aAAa,EAAE,sCAAsC,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,uCAAuC,CAAC;IACjE,QAAQ,CAAC,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,+GAA+G;IAC/G,QAAQ,CAAC,iCAAiC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9D,QAAQ,CAAC,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,8FAA8F;IAC9F,QAAQ,CAAC,iCAAiC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9D,QAAQ,CAAC,uBAAuB,EAAE,uCAAuC,GAAG,IAAI,CAAC;CAClF"}
1
+ {"version":3,"file":"provider-selection-resolution-evidence.backend.definitions.d.ts","sourceRoot":"","sources":["../../../../src/external-providers/models/provider-selection-resolution-evidence.backend.definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AAE7H,oBAAY,sCAAsC;IAChD,4BAA4B,iCAAiC;IAC7D,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;CAC9C;AAED,oBAAY,uCAAuC;IACjD,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,2CAA2C;IAC1D,QAAQ,CAAC,aAAa,EAAE,sCAAsC,CAAC;IAC/D,QAAQ,CAAC,cAAc,EAAE,uCAAuC,CAAC;IACjE,QAAQ,CAAC,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,+GAA+G;IAC/G,QAAQ,CAAC,iCAAiC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9D,QAAQ,CAAC,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,8FAA8F;IAC9F,QAAQ,CAAC,iCAAiC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9D,QAAQ,CAAC,uBAAuB,EAAE,uCAAuC,GAAG,IAAI,CAAC;CAClF"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider-selection-resolution-evidence.backend.definitions.js","sourceRoot":"","sources":["../../../../../src/external-providers/models/provider-selection-resolution-evidence.backend.definitions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,sCAIX;AAJD,WAAY,sCAAsC;IAChD,uGAA6D,CAAA;IAC7D,mFAAyC,CAAA;IACzC,uFAA6C,CAAA;AAC/C,CAAC,EAJW,sCAAsC,KAAtC,sCAAsC,QAIjD;AAED,MAAM,CAAN,IAAY,uCAIX;AAJD,WAAY,uCAAuC;IACjD,4DAAiB,CAAA;IACjB,8DAAmB,CAAA;IACnB,kEAAuB,CAAA;AACzB,CAAC,EAJW,uCAAuC,KAAvC,uCAAuC,QAIlD","sourcesContent":["import type { ProviderRuntimeArtifactEvidenceMetadata } from '../../config/models/provider-runtime-artifact.backend.schemas';\n\nexport enum ExternalProviderSelectionAuthorityKind {\n APPLICATION_RUNTIME_ARTIFACT = 'APPLICATION_RUNTIME_ARTIFACT',\n DEFAULT_RESOLUTION = 'DEFAULT_RESOLUTION',\n ENVIRONMENT_OVERRIDE = 'ENVIRONMENT_OVERRIDE',\n}\n\nexport enum ExternalProviderSelectionOverrideStatus {\n ABSENT = 'ABSENT',\n APPLIED = 'APPLIED',\n MALFORMED = 'MALFORMED',\n}\n\nexport interface ExternalProviderSelectionResolutionEvidence {\n readonly authorityKind: ExternalProviderSelectionAuthorityKind;\n readonly overrideStatus: ExternalProviderSelectionOverrideStatus;\n readonly applicationPrimaryProviderRef: string | null;\n /** The selection's `whenUnavailable` refs — substitutes for an unavailable primary, never a failover chain. */\n readonly applicationSubstituteProviderRefs: readonly string[];\n readonly environmentPrimaryProviderRef: string | null;\n /** The environment override's `whenUnavailable` refs. Same semantics as the application's. */\n readonly environmentSubstituteProviderRefs: readonly string[];\n readonly providerRuntimeArtifact: ProviderRuntimeArtifactEvidenceMetadata | null;\n}\n"]}
1
+ {"version":3,"file":"provider-selection-resolution-evidence.backend.definitions.js","sourceRoot":"","sources":["../../../../src/external-providers/models/provider-selection-resolution-evidence.backend.definitions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,sCAIX;AAJD,WAAY,sCAAsC;IAChD,uGAA6D,CAAA;IAC7D,mFAAyC,CAAA;IACzC,uFAA6C,CAAA;AAC/C,CAAC,EAJW,sCAAsC,KAAtC,sCAAsC,QAIjD;AAED,MAAM,CAAN,IAAY,uCAIX;AAJD,WAAY,uCAAuC;IACjD,4DAAiB,CAAA;IACjB,8DAAmB,CAAA;IACnB,kEAAuB,CAAA;AACzB,CAAC,EAJW,uCAAuC,KAAvC,uCAAuC,QAIlD","sourcesContent":["import type { ProviderRuntimeArtifactEvidenceMetadata } from '../../config/models/provider-runtime-artifact.backend.schemas';\n\nexport enum ExternalProviderSelectionAuthorityKind {\n APPLICATION_RUNTIME_ARTIFACT = 'APPLICATION_RUNTIME_ARTIFACT',\n DEFAULT_RESOLUTION = 'DEFAULT_RESOLUTION',\n ENVIRONMENT_OVERRIDE = 'ENVIRONMENT_OVERRIDE',\n}\n\nexport enum ExternalProviderSelectionOverrideStatus {\n ABSENT = 'ABSENT',\n APPLIED = 'APPLIED',\n MALFORMED = 'MALFORMED',\n}\n\nexport interface ExternalProviderSelectionResolutionEvidence {\n readonly authorityKind: ExternalProviderSelectionAuthorityKind;\n readonly overrideStatus: ExternalProviderSelectionOverrideStatus;\n readonly applicationPrimaryProviderRef: string | null;\n /** The selection's `whenUnavailable` refs — substitutes for an unavailable primary, never a failover chain. */\n readonly applicationSubstituteProviderRefs: readonly string[];\n readonly environmentPrimaryProviderRef: string | null;\n /** The environment override's `whenUnavailable` refs. Same semantics as the application's. */\n readonly environmentSubstituteProviderRefs: readonly string[];\n readonly providerRuntimeArtifact: ProviderRuntimeArtifactEvidenceMetadata | null;\n}\n"]}