@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":"mock-billing-provider.js","sourceRoot":"","sources":["../../../../../src/billing/testing/mock-billing-provider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MockBillingProvider\n *\n * In-memory implementation of StandardBilling_Interface for unit and integration testing.\n * Records all method calls for assertion, manages fake customers/subscriptions/products,\n * and can simulate webhook events.\n *\n * Usage:\n * ```typescript\n * const mock = new MockBillingProvider();\n * // Use as a drop-in replacement for the real billing provider\n * container.rebind(BILLING_SERVICE_TYPES.BillingProvider).toConstantValue(mock);\n *\n * // After running your code:\n * expect(mock.getCallLog()).toContainEqual(expect.objectContaining({ method: 'createCustomer' }));\n * expect(mock.customers.size).toBe(1);\n *\n * // Simulate a webhook from the provider:\n * const event = mock.simulateWebhook(StandardBilling_EventType.SUBSCRIPTION_UPDATED, {\n * providerSubscriptionId: 'sub_123',\n * status: 'active',\n * });\n * ```\n *\n * @see billing-and-features-system.md §Testing Strategy (Mock billing provider)\n */\n\nimport {\n type StandardBilling_Interface,\n type StandardBilling_CreateCustomerRequest,\n type StandardBilling_CreateCustomerResponse,\n type StandardBilling_UpdateCustomerRequest,\n type StandardBilling_CustomerAddress,\n type StandardBilling_PaymentMethodSummary,\n type StandardBilling_SyncProductRequest,\n type StandardBilling_SyncProductResponse,\n type StandardBilling_SyncPriceRequest,\n type StandardBilling_SyncPriceResponse,\n type StandardBilling_CreateSubscriptionRequest,\n type StandardBilling_CreateSubscriptionResponse,\n type StandardBilling_UpdateSubscriptionRequest,\n type StandardBilling_CancelSubscriptionOptions,\n type StandardBilling_SubscriptionData,\n type StandardBilling_InvoicePreview,\n type StandardBilling_InvoiceData,\n type StandardBilling_CreateCheckoutSessionRequest,\n type StandardBilling_CreateCheckoutSessionResponse,\n type StandardBilling_CreateCustomerPortalSessionResponse,\n type StandardBilling_ReportUsageRequest,\n type StandardBilling_WebhookEvent,\n type StandardBilling_CreateCouponRequest,\n type StandardBilling_CreateCouponResponse,\n type StandardBilling_CreatePromotionCodeResponse,\n StandardBilling_EventType,\n SubscriptionStatus,\n InvoiceStatus,\n} from '@wildo-ai/external-connectors-models';\n\n// ════════════════════════════════════════════════════════════════\n// Internal store types\n// ════════════════════════════════════════════════════════════════\n\ninterface MockCustomer {\n providerCustomerId: string;\n name: string;\n email: string;\n metadata?: Record<string, string>;\n /**\n * Held as `null` once cleared rather than deleted, so a test can distinguish \"erasure blanked\n * this\" from \"was never set\" — the two are the same shape if a clear just removes the key, and\n * only the first proves the erasure actually ran.\n */\n phone?: string | null;\n address?: StandardBilling_CustomerAddress | null;\n createdAt: Date;\n}\n\ninterface MockPaymentMethod {\n providerPaymentMethodId: string;\n /** `null` once detached — detachment unlinks from the customer, it does not destroy the record. */\n providerCustomerId: string | null;\n type: string;\n last4?: string;\n}\n\ninterface MockProduct {\n providerProductId: string;\n productKey: string;\n name: string;\n description?: string;\n metadata?: Record<string, string>;\n}\n\ninterface MockPrice {\n providerPriceId: string;\n providerProductId: string;\n amount: number;\n currency: string;\n interval?: string;\n metadata?: Record<string, string>;\n}\n\ninterface MockDiscount {\n providerCouponId: string;\n percentOff?: number;\n amountOff?: number;\n currency?: string;\n duration: string;\n durationInMonths?: number;\n end?: Date;\n}\n\ninterface MockSubscription {\n providerSubscriptionId: string;\n providerCustomerId: string;\n status: SubscriptionStatus;\n currentPeriodStart: Date;\n currentPeriodEnd: Date;\n cancelAtPeriodEnd: boolean;\n trialEnd?: Date;\n discount?: MockDiscount;\n items: Array<{\n providerSubscriptionItemId: string;\n providerProductId: string;\n providerPriceId: string;\n quantity: number;\n }>;\n metadata?: Record<string, string>;\n}\n\n/**\n * An invoice the provider holds. Seeded by {@link MockBillingProvider.seedInvoice} rather than\n * produced by any call on the interface, because that is exactly how a real one arises: the\n * provider raises invoices on its own schedule and Wildo only ever learns about them.\n */\ninterface MockInvoice {\n providerInvoiceId: string;\n providerCustomerId: string;\n status: InvoiceStatus;\n total: number;\n currency: string;\n hostedInvoiceUrl?: string;\n invoicePdfUrl?: string;\n createdAt: Date;\n}\n\ninterface MockCoupon {\n providerCouponId: string;\n amountOff?: number;\n percentOff?: number;\n currency?: string;\n duration: string;\n durationInMonths?: number;\n}\n\ninterface MockPromotionCode {\n providerPromotionId: string;\n providerCouponId: string;\n code: string;\n}\n\n/** A recorded method call for assertions */\nexport interface MockBillingCallLogEntry {\n method: string;\n args: unknown[];\n timestamp: Date;\n result: unknown;\n}\n\n// ════════════════════════════════════════════════════════════════\n// MockBillingProvider\n// ════════════════════════════════════════════════════════════════\n\nexport class MockBillingProvider implements StandardBilling_Interface {\n // ── Interface-required readonly ──\n readonly webhookSignatureHeaderName = 'mock-billing-signature';\n\n // ── In-memory stores ──\n readonly customers = new Map<string, MockCustomer>();\n readonly paymentMethods = new Map<string, MockPaymentMethod>();\n readonly products = new Map<string, MockProduct>();\n readonly prices = new Map<string, MockPrice>();\n readonly subscriptions = new Map<string, MockSubscription>();\n readonly coupons = new Map<string, MockCoupon>();\n readonly promotionCodes = new Map<string, MockPromotionCode>();\n readonly invoices = new Map<string, MockInvoice>();\n readonly usageRecords: Array<StandardBilling_ReportUsageRequest & { recordedAt: Date }> = [];\n\n // ── Call tracking ──\n private callLog: MockBillingCallLogEntry[] = [];\n private idCounter = 0;\n\n // ── Webhook simulation ──\n private webhookEvents: StandardBilling_WebhookEvent[] = [];\n\n // ══════════════════════════════════════════════════════════════\n // Assertion Utilities\n // ══════════════════════════════════════════════════════════════\n\n /** Get all recorded method calls (for assertions) */\n getCallLog(): MockBillingCallLogEntry[] {\n return [...this.callLog];\n }\n\n /** Get calls filtered by method name */\n getCallsFor(method: string): MockBillingCallLogEntry[] {\n return this.callLog.filter(c => c.method === method);\n }\n\n /** Get the total number of calls made */\n getCallCount(method?: string): number {\n return method ? this.getCallsFor(method).length : this.callLog.length;\n }\n\n /** Clear all recorded calls */\n clearCallLog(): void {\n this.callLog = [];\n }\n\n /** Reset all in-memory state (customers, subscriptions, products, etc.) */\n reset(): void {\n this.customers.clear();\n this.paymentMethods.clear();\n this.products.clear();\n this.prices.clear();\n this.subscriptions.clear();\n this.coupons.clear();\n this.promotionCodes.clear();\n this.invoices.clear();\n this.usageRecords.length = 0;\n this.callLog = [];\n this.webhookEvents = [];\n this.idCounter = 0;\n }\n\n // ══════════════════════════════════════════════════════════════\n // Webhook Simulation\n // ══════════════════════════════════════════════════════════════\n\n /**\n * Simulate a webhook event from the billing provider.\n * Returns the generated event (can be passed to webhook handler for testing).\n */\n simulateWebhook(\n type: StandardBilling_EventType,\n data: Record<string, unknown>,\n ): StandardBilling_WebhookEvent {\n const event: StandardBilling_WebhookEvent = {\n type,\n providerEventId: this.nextId('evt'),\n data,\n createdAt: new Date(),\n };\n this.webhookEvents.push(event);\n return event;\n }\n\n /** Get all simulated webhook events */\n getSimulatedWebhooks(): StandardBilling_WebhookEvent[] {\n return [...this.webhookEvents];\n }\n\n /**\n * Put an invoice on the provider WITHOUT emitting the webhook that would normally announce it.\n *\n * That silence is the whole point: it reproduces the one condition the reconciliation sweep\n * exists for — an invoice that exists at the provider and nowhere locally, because its delivery\n * was lost. Seeding it alongside `simulateWebhook` would test the path that already works.\n */\n seedInvoice(invoice: Omit<MockInvoice, 'createdAt'> & { createdAt?: Date }): MockInvoice {\n const stored: MockInvoice = { ...invoice, createdAt: invoice.createdAt ?? new Date() };\n this.invoices.set(stored.providerInvoiceId, stored);\n return stored;\n }\n\n // ══════════════════════════════════════════════════════════════\n // StandardBilling_Interface Implementation\n // ══════════════════════════════════════════════════════════════\n\n // ── Customer ──────────────────────────────────────────────────\n\n async createCustomer(request: StandardBilling_CreateCustomerRequest): Promise<StandardBilling_CreateCustomerResponse> {\n const providerCustomerId = this.nextId('cus');\n const customer: MockCustomer = {\n providerCustomerId,\n name: request.name,\n email: request.email,\n metadata: request.metadata,\n createdAt: new Date(),\n };\n this.customers.set(providerCustomerId, customer);\n const result = { providerCustomerId };\n this.log('createCustomer', [request], result);\n return result;\n }\n\n async updateCustomer(providerCustomerId: string, request: StandardBilling_UpdateCustomerRequest): Promise<void> {\n const customer = this.customers.get(providerCustomerId);\n if (!customer) throw new Error(`MockBillingProvider: Customer ${providerCustomerId} not found`);\n if (request.name !== undefined) customer.name = request.name;\n if (request.email !== undefined) customer.email = request.email;\n if (request.metadata !== undefined) customer.metadata = { ...customer.metadata, ...request.metadata };\n // Mirror the interface's undefined-vs-null contract exactly, including the partial-address case:\n // a `null` address blanks the whole thing, while an object merges field-by-field so a caller\n // clearing only `line1` does not silently wipe `country`.\n if (request.phone !== undefined) customer.phone = request.phone;\n if (request.address !== undefined) {\n customer.address = request.address === null\n ? null\n : { ...(customer.address ?? {}), ...request.address };\n }\n this.log('updateCustomer', [providerCustomerId, request], undefined);\n }\n\n async deleteCustomer(providerCustomerId: string): Promise<void> {\n this.customers.delete(providerCustomerId);\n this.log('deleteCustomer', [providerCustomerId], undefined);\n }\n\n async listPaymentMethods(providerCustomerId: string): Promise<StandardBilling_PaymentMethodSummary[]> {\n const attached = Array.from(this.paymentMethods.values())\n .filter((paymentMethod) => paymentMethod.providerCustomerId === providerCustomerId)\n .map((paymentMethod) => ({\n providerPaymentMethodId: paymentMethod.providerPaymentMethodId,\n type: paymentMethod.type,\n ...(paymentMethod.last4 ? { last4: paymentMethod.last4 } : {}),\n }));\n this.log('listPaymentMethods', [providerCustomerId], attached);\n return attached;\n }\n\n async detachPaymentMethod(providerPaymentMethodId: string): Promise<void> {\n const paymentMethod = this.paymentMethods.get(providerPaymentMethodId);\n if (!paymentMethod) {\n throw new Error(`MockBillingProvider: PaymentMethod ${providerPaymentMethodId} not found`);\n }\n paymentMethod.providerCustomerId = null;\n this.log('detachPaymentMethod', [providerPaymentMethodId], undefined);\n }\n\n /**\n * Test seam: attach an instrument to a customer. There is no interface method that creates a\n * payment method (Wildo never handles instrument data — the provider-hosted portal does), so a\n * test that needs one to exist has to place it directly.\n */\n public seedPaymentMethod(\n providerCustomerId: string,\n paymentMethod?: { type?: string; last4?: string },\n ): string {\n const providerPaymentMethodId = this.nextId('pm');\n this.paymentMethods.set(providerPaymentMethodId, {\n providerPaymentMethodId,\n providerCustomerId,\n type: paymentMethod?.type ?? 'card',\n ...(paymentMethod?.last4 ? { last4: paymentMethod.last4 } : {}),\n });\n return providerPaymentMethodId;\n }\n\n // ── Product/Price sync ────────────────────────────────────────\n\n async syncProduct(request: StandardBilling_SyncProductRequest): Promise<StandardBilling_SyncProductResponse> {\n const providerProductId = request.providerProductId ?? this.nextId('prod');\n const product: MockProduct = {\n providerProductId,\n productKey: request.productKey,\n name: request.name,\n description: request.description,\n metadata: request.metadata,\n };\n this.products.set(providerProductId, product);\n const result = { providerProductId };\n this.log('syncProduct', [request], result);\n return result;\n }\n\n async syncPrice(request: StandardBilling_SyncPriceRequest): Promise<StandardBilling_SyncPriceResponse> {\n const providerPriceId = request.providerPriceId ?? this.nextId('price');\n const price: MockPrice = {\n providerPriceId,\n providerProductId: request.providerProductId,\n amount: request.amount,\n currency: request.currency,\n interval: request.interval,\n metadata: request.metadata,\n };\n this.prices.set(providerPriceId, price);\n const result = { providerPriceId };\n this.log('syncPrice', [request], result);\n return result;\n }\n\n // ── Subscription lifecycle ────────────────────────────────────\n\n async createSubscription(request: StandardBilling_CreateSubscriptionRequest): Promise<StandardBilling_CreateSubscriptionResponse> {\n const providerSubscriptionId = this.nextId('sub');\n const now = new Date();\n const periodEnd = new Date(now);\n periodEnd.setMonth(periodEnd.getMonth() + 1);\n\n const items = request.items.map((item, idx) => {\n // Resolve product from price\n const price = this.prices.get(item.providerPriceId);\n return {\n providerSubscriptionItemId: this.nextId('si'),\n providerProductId: price?.providerProductId ?? `unknown_product_${idx}`,\n providerPriceId: item.providerPriceId,\n quantity: item.quantity ?? 1,\n };\n });\n\n const trialEnd = request.trialPeriodDays\n ? new Date(now.getTime() + request.trialPeriodDays * 24 * 60 * 60 * 1000)\n : undefined;\n\n // Derive discount from promotion code if provided\n let discount: MockDiscount | undefined;\n if (request.providerPromotionCodeId) {\n for (const promoCode of this.promotionCodes.values()) {\n if (promoCode.providerPromotionId === request.providerPromotionCodeId) {\n const coupon = this.coupons.get(promoCode.providerCouponId);\n if (coupon) {\n discount = {\n providerCouponId: coupon.providerCouponId,\n percentOff: coupon.percentOff,\n amountOff: coupon.amountOff,\n currency: coupon.currency,\n duration: coupon.duration,\n durationInMonths: coupon.durationInMonths,\n };\n }\n break;\n }\n }\n }\n\n const subscription: MockSubscription = {\n providerSubscriptionId,\n providerCustomerId: request.providerCustomerId,\n status: trialEnd ? SubscriptionStatus.TRIALING : SubscriptionStatus.ACTIVE,\n currentPeriodStart: now,\n currentPeriodEnd: periodEnd,\n cancelAtPeriodEnd: false,\n trialEnd,\n discount,\n items,\n metadata: request.metadata,\n };\n this.subscriptions.set(providerSubscriptionId, subscription);\n\n const result: StandardBilling_CreateSubscriptionResponse = {\n providerSubscriptionId,\n status: subscription.status,\n };\n this.log('createSubscription', [request], result);\n return result;\n }\n\n async updateSubscription(providerSubscriptionId: string, request: StandardBilling_UpdateSubscriptionRequest): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n if (request.items) {\n sub.items = request.items.map((item, idx) => {\n const price = this.prices.get(item.providerPriceId);\n return {\n providerSubscriptionItemId: this.nextId('si'),\n providerProductId: price?.providerProductId ?? `unknown_product_${idx}`,\n providerPriceId: item.providerPriceId,\n quantity: item.quantity ?? 1,\n };\n });\n }\n if (request.metadata) {\n sub.metadata = { ...sub.metadata, ...request.metadata };\n }\n this.log('updateSubscription', [providerSubscriptionId, request], undefined);\n }\n\n async cancelSubscription(providerSubscriptionId: string, options?: StandardBilling_CancelSubscriptionOptions): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n if (options?.atPeriodEnd) {\n sub.cancelAtPeriodEnd = true;\n } else {\n sub.status = SubscriptionStatus.CANCELLED;\n }\n this.log('cancelSubscription', [providerSubscriptionId, options], undefined);\n }\n\n async pauseSubscription(providerSubscriptionId: string): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n sub.status = SubscriptionStatus.PAUSED;\n this.log('pauseSubscription', [providerSubscriptionId], undefined);\n }\n\n async resumeSubscription(providerSubscriptionId: string): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n sub.status = SubscriptionStatus.ACTIVE;\n this.log('resumeSubscription', [providerSubscriptionId], undefined);\n }\n\n // ── Read/sync ─────────────────────────────────────────────────\n\n async retrieveSubscription(providerSubscriptionId: string): Promise<StandardBilling_SubscriptionData> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n const result: StandardBilling_SubscriptionData = {\n providerSubscriptionId: sub.providerSubscriptionId,\n status: sub.status,\n currentPeriodStart: sub.currentPeriodStart,\n currentPeriodEnd: sub.currentPeriodEnd,\n cancelAtPeriodEnd: sub.cancelAtPeriodEnd,\n trialEnd: sub.trialEnd,\n items: sub.items,\n discount: sub.discount,\n };\n this.log('retrieveSubscription', [providerSubscriptionId], result);\n return result;\n }\n\n async listInvoices(providerCustomerId: string, options?: { limit?: number }): Promise<StandardBilling_InvoiceData[]> {\n const result = [...this.invoices.values()]\n .filter(invoice => invoice.providerCustomerId === providerCustomerId)\n // Newest first, matching every real provider's default ordering — a sweep that asks for a\n // bounded page and gets the OLDEST invoices would never see the recent one it is looking for.\n .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())\n .slice(0, options?.limit ?? 20)\n .map(invoice => ({ ...invoice }));\n this.log('listInvoices', [providerCustomerId, options], result);\n return result;\n }\n\n async retrieveUpcomingInvoice(providerSubscriptionId: string, newPriceId?: string): Promise<StandardBilling_InvoicePreview> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n // If a new price is provided, simulate what the invoice would look like after the change.\n // Otherwise, preview the next invoice based on current items.\n let previewItems = sub.items;\n if (newPriceId && sub.items.length > 0) {\n const newPrice = this.prices.get(newPriceId);\n previewItems = [{\n ...sub.items[0],\n providerPriceId: newPriceId,\n providerProductId: newPrice?.providerProductId ?? sub.items[0].providerProductId,\n }];\n }\n\n const lineItems = previewItems.map(item => {\n const price = this.prices.get(item.providerPriceId);\n return {\n description: `${price?.providerProductId ?? 'Product'} × ${item.quantity}`,\n amount: (price?.amount ?? 0) * item.quantity,\n quantity: item.quantity,\n providerPriceId: item.providerPriceId,\n };\n });\n\n const result: StandardBilling_InvoicePreview = {\n amount: lineItems.reduce((sum, li) => sum + li.amount, 0),\n currency: this.prices.get(previewItems[0]?.providerPriceId)?.currency ?? 'usd',\n lineItems,\n periodStart: sub.currentPeriodEnd,\n periodEnd: new Date(sub.currentPeriodEnd.getTime() + 30 * 24 * 60 * 60 * 1000),\n };\n this.log('retrieveUpcomingInvoice', [providerSubscriptionId, newPriceId], result);\n return result;\n }\n\n // ── Provider-hosted UI ────────────────────────────────────────\n\n async createCheckoutSession(request: StandardBilling_CreateCheckoutSessionRequest): Promise<StandardBilling_CreateCheckoutSessionResponse> {\n const sessionId = this.nextId('cs');\n const result: StandardBilling_CreateCheckoutSessionResponse = {\n url: `https://mock-checkout.test/session/${sessionId}`,\n sessionId,\n };\n this.log('createCheckoutSession', [request], result);\n return result;\n }\n\n async createCustomerPortalSession(providerCustomerId: string, returnUrl: string): Promise<StandardBilling_CreateCustomerPortalSessionResponse> {\n const result: StandardBilling_CreateCustomerPortalSessionResponse = {\n url: `https://mock-portal.test/customer/${providerCustomerId}?return=${encodeURIComponent(returnUrl)}`,\n };\n this.log('createCustomerPortalSession', [providerCustomerId, returnUrl], result);\n return result;\n }\n\n // ── Usage reporting (Billing Meter Events) ─────────────────────\n\n async reportUsage(request: StandardBilling_ReportUsageRequest): Promise<void> {\n this.usageRecords.push({ ...request, recordedAt: new Date() });\n this.log('reportUsage', [request], undefined);\n }\n\n // ── Webhooks ──────────────────────────────────────────────────\n\n verifyWebhookSignature(_payload: string | Uint8Array, _signature: string, _secret: string): boolean {\n // Mock always verifies successfully\n this.log('verifyWebhookSignature', [_payload, _signature, _secret], true);\n return true;\n }\n\n parseWebhookEvent(payload: string | Uint8Array): StandardBilling_WebhookEvent {\n const raw = typeof payload === 'string' ? payload : new TextDecoder().decode(payload);\n const parsed = JSON.parse(raw) as StandardBilling_WebhookEvent;\n // Restore Date objects from JSON strings\n parsed.createdAt = new Date(parsed.createdAt);\n this.log('parseWebhookEvent', [payload], parsed);\n return parsed;\n }\n\n // ── Promotions ────────────────────────────────────────────────\n\n async createCoupon(request: StandardBilling_CreateCouponRequest): Promise<StandardBilling_CreateCouponResponse> {\n const providerCouponId = this.nextId('cpn');\n this.coupons.set(providerCouponId, {\n providerCouponId,\n amountOff: request.amountOff,\n percentOff: request.percentOff,\n currency: request.currency,\n duration: request.duration,\n durationInMonths: request.durationInMonths,\n });\n const result = { providerCouponId };\n this.log('createCoupon', [request], result);\n return result;\n }\n\n async createPromotionCode(providerCouponId: string, code: string): Promise<StandardBilling_CreatePromotionCodeResponse> {\n const providerPromotionId = this.nextId('promo');\n this.promotionCodes.set(code, { providerPromotionId, providerCouponId, code });\n const result = { providerPromotionId };\n this.log('createPromotionCode', [providerCouponId, code], result);\n return result;\n }\n\n /** Look up a promotion code by its user-facing code string */\n getPromotionCodeByCode(code: string): MockPromotionCode | undefined {\n return this.promotionCodes.get(code);\n }\n\n // ══════════════════════════════════════════════════════════════\n // Internal Helpers\n // ══════════════════════════════════════════════════════════════\n\n private nextId(prefix: string): string {\n this.idCounter++;\n return `mock_${prefix}_${this.idCounter}`;\n }\n\n private log(method: string, args: unknown[], result: unknown): void {\n this.callLog.push({ method, args, timestamp: new Date(), result });\n }\n}\n"]}
1
+ {"version":3,"file":"mock-billing-provider.js","sourceRoot":"","sources":["../../../../src/billing/testing/mock-billing-provider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MockBillingProvider\n *\n * In-memory implementation of StandardBilling_Interface for unit and integration testing.\n * Records all method calls for assertion, manages fake customers/subscriptions/products,\n * and can simulate webhook events.\n *\n * Usage:\n * ```typescript\n * const mock = new MockBillingProvider();\n * // Use as a drop-in replacement for the real billing provider\n * container.rebind(BILLING_SERVICE_TYPES.BillingProvider).toConstantValue(mock);\n *\n * // After running your code:\n * expect(mock.getCallLog()).toContainEqual(expect.objectContaining({ method: 'createCustomer' }));\n * expect(mock.customers.size).toBe(1);\n *\n * // Simulate a webhook from the provider:\n * const event = mock.simulateWebhook(StandardBilling_EventType.SUBSCRIPTION_UPDATED, {\n * providerSubscriptionId: 'sub_123',\n * status: 'active',\n * });\n * ```\n *\n * @see billing-and-features-system.md §Testing Strategy (Mock billing provider)\n */\n\nimport {\n type StandardBilling_Interface,\n type StandardBilling_CreateCustomerRequest,\n type StandardBilling_CreateCustomerResponse,\n type StandardBilling_UpdateCustomerRequest,\n type StandardBilling_CustomerAddress,\n type StandardBilling_PaymentMethodSummary,\n type StandardBilling_SyncProductRequest,\n type StandardBilling_SyncProductResponse,\n type StandardBilling_SyncPriceRequest,\n type StandardBilling_SyncPriceResponse,\n type StandardBilling_CreateSubscriptionRequest,\n type StandardBilling_CreateSubscriptionResponse,\n type StandardBilling_UpdateSubscriptionRequest,\n type StandardBilling_CancelSubscriptionOptions,\n type StandardBilling_SubscriptionData,\n type StandardBilling_InvoicePreview,\n type StandardBilling_InvoiceData,\n type StandardBilling_CreateCheckoutSessionRequest,\n type StandardBilling_CreateCheckoutSessionResponse,\n type StandardBilling_CreateCustomerPortalSessionResponse,\n type StandardBilling_ReportUsageRequest,\n type StandardBilling_WebhookEvent,\n type StandardBilling_CreateCouponRequest,\n type StandardBilling_CreateCouponResponse,\n type StandardBilling_CreatePromotionCodeResponse,\n StandardBilling_EventType,\n SubscriptionStatus,\n InvoiceStatus,\n} from '@wildo-ai/external-connectors-models';\n\n// ════════════════════════════════════════════════════════════════\n// Internal store types\n// ════════════════════════════════════════════════════════════════\n\ninterface MockCustomer {\n providerCustomerId: string;\n name: string;\n email: string;\n metadata?: Record<string, string>;\n /**\n * Held as `null` once cleared rather than deleted, so a test can distinguish \"erasure blanked\n * this\" from \"was never set\" — the two are the same shape if a clear just removes the key, and\n * only the first proves the erasure actually ran.\n */\n phone?: string | null;\n address?: StandardBilling_CustomerAddress | null;\n createdAt: Date;\n}\n\ninterface MockPaymentMethod {\n providerPaymentMethodId: string;\n /** `null` once detached — detachment unlinks from the customer, it does not destroy the record. */\n providerCustomerId: string | null;\n type: string;\n last4?: string;\n}\n\ninterface MockProduct {\n providerProductId: string;\n productKey: string;\n name: string;\n description?: string;\n metadata?: Record<string, string>;\n}\n\ninterface MockPrice {\n providerPriceId: string;\n providerProductId: string;\n amount: number;\n currency: string;\n interval?: string;\n metadata?: Record<string, string>;\n}\n\ninterface MockDiscount {\n providerCouponId: string;\n percentOff?: number;\n amountOff?: number;\n currency?: string;\n duration: string;\n durationInMonths?: number;\n end?: Date;\n}\n\ninterface MockSubscription {\n providerSubscriptionId: string;\n providerCustomerId: string;\n status: SubscriptionStatus;\n currentPeriodStart: Date;\n currentPeriodEnd: Date;\n cancelAtPeriodEnd: boolean;\n trialEnd?: Date;\n discount?: MockDiscount;\n items: Array<{\n providerSubscriptionItemId: string;\n providerProductId: string;\n providerPriceId: string;\n quantity: number;\n }>;\n metadata?: Record<string, string>;\n}\n\n/**\n * An invoice the provider holds. Seeded by {@link MockBillingProvider.seedInvoice} rather than\n * produced by any call on the interface, because that is exactly how a real one arises: the\n * provider raises invoices on its own schedule and Wildo only ever learns about them.\n */\ninterface MockInvoice {\n providerInvoiceId: string;\n providerCustomerId: string;\n status: InvoiceStatus;\n total: number;\n currency: string;\n hostedInvoiceUrl?: string;\n invoicePdfUrl?: string;\n createdAt: Date;\n}\n\ninterface MockCoupon {\n providerCouponId: string;\n amountOff?: number;\n percentOff?: number;\n currency?: string;\n duration: string;\n durationInMonths?: number;\n}\n\ninterface MockPromotionCode {\n providerPromotionId: string;\n providerCouponId: string;\n code: string;\n}\n\n/** A recorded method call for assertions */\nexport interface MockBillingCallLogEntry {\n method: string;\n args: unknown[];\n timestamp: Date;\n result: unknown;\n}\n\n// ════════════════════════════════════════════════════════════════\n// MockBillingProvider\n// ════════════════════════════════════════════════════════════════\n\nexport class MockBillingProvider implements StandardBilling_Interface {\n // ── Interface-required readonly ──\n readonly webhookSignatureHeaderName = 'mock-billing-signature';\n\n // ── In-memory stores ──\n readonly customers = new Map<string, MockCustomer>();\n readonly paymentMethods = new Map<string, MockPaymentMethod>();\n readonly products = new Map<string, MockProduct>();\n readonly prices = new Map<string, MockPrice>();\n readonly subscriptions = new Map<string, MockSubscription>();\n readonly coupons = new Map<string, MockCoupon>();\n readonly promotionCodes = new Map<string, MockPromotionCode>();\n readonly invoices = new Map<string, MockInvoice>();\n readonly usageRecords: Array<StandardBilling_ReportUsageRequest & { recordedAt: Date }> = [];\n\n // ── Call tracking ──\n private callLog: MockBillingCallLogEntry[] = [];\n private idCounter = 0;\n\n // ── Webhook simulation ──\n private webhookEvents: StandardBilling_WebhookEvent[] = [];\n\n // ══════════════════════════════════════════════════════════════\n // Assertion Utilities\n // ══════════════════════════════════════════════════════════════\n\n /** Get all recorded method calls (for assertions) */\n getCallLog(): MockBillingCallLogEntry[] {\n return [...this.callLog];\n }\n\n /** Get calls filtered by method name */\n getCallsFor(method: string): MockBillingCallLogEntry[] {\n return this.callLog.filter(c => c.method === method);\n }\n\n /** Get the total number of calls made */\n getCallCount(method?: string): number {\n return method ? this.getCallsFor(method).length : this.callLog.length;\n }\n\n /** Clear all recorded calls */\n clearCallLog(): void {\n this.callLog = [];\n }\n\n /** Reset all in-memory state (customers, subscriptions, products, etc.) */\n reset(): void {\n this.customers.clear();\n this.paymentMethods.clear();\n this.products.clear();\n this.prices.clear();\n this.subscriptions.clear();\n this.coupons.clear();\n this.promotionCodes.clear();\n this.invoices.clear();\n this.usageRecords.length = 0;\n this.callLog = [];\n this.webhookEvents = [];\n this.idCounter = 0;\n }\n\n // ══════════════════════════════════════════════════════════════\n // Webhook Simulation\n // ══════════════════════════════════════════════════════════════\n\n /**\n * Simulate a webhook event from the billing provider.\n * Returns the generated event (can be passed to webhook handler for testing).\n */\n simulateWebhook(\n type: StandardBilling_EventType,\n data: Record<string, unknown>,\n ): StandardBilling_WebhookEvent {\n const event: StandardBilling_WebhookEvent = {\n type,\n providerEventId: this.nextId('evt'),\n data,\n createdAt: new Date(),\n };\n this.webhookEvents.push(event);\n return event;\n }\n\n /** Get all simulated webhook events */\n getSimulatedWebhooks(): StandardBilling_WebhookEvent[] {\n return [...this.webhookEvents];\n }\n\n /**\n * Put an invoice on the provider WITHOUT emitting the webhook that would normally announce it.\n *\n * That silence is the whole point: it reproduces the one condition the reconciliation sweep\n * exists for — an invoice that exists at the provider and nowhere locally, because its delivery\n * was lost. Seeding it alongside `simulateWebhook` would test the path that already works.\n */\n seedInvoice(invoice: Omit<MockInvoice, 'createdAt'> & { createdAt?: Date }): MockInvoice {\n const stored: MockInvoice = { ...invoice, createdAt: invoice.createdAt ?? new Date() };\n this.invoices.set(stored.providerInvoiceId, stored);\n return stored;\n }\n\n // ══════════════════════════════════════════════════════════════\n // StandardBilling_Interface Implementation\n // ══════════════════════════════════════════════════════════════\n\n // ── Customer ──────────────────────────────────────────────────\n\n async createCustomer(request: StandardBilling_CreateCustomerRequest): Promise<StandardBilling_CreateCustomerResponse> {\n const providerCustomerId = this.nextId('cus');\n const customer: MockCustomer = {\n providerCustomerId,\n name: request.name,\n email: request.email,\n metadata: request.metadata,\n createdAt: new Date(),\n };\n this.customers.set(providerCustomerId, customer);\n const result = { providerCustomerId };\n this.log('createCustomer', [request], result);\n return result;\n }\n\n async updateCustomer(providerCustomerId: string, request: StandardBilling_UpdateCustomerRequest): Promise<void> {\n const customer = this.customers.get(providerCustomerId);\n if (!customer) throw new Error(`MockBillingProvider: Customer ${providerCustomerId} not found`);\n if (request.name !== undefined) customer.name = request.name;\n if (request.email !== undefined) customer.email = request.email;\n if (request.metadata !== undefined) customer.metadata = { ...customer.metadata, ...request.metadata };\n // Mirror the interface's undefined-vs-null contract exactly, including the partial-address case:\n // a `null` address blanks the whole thing, while an object merges field-by-field so a caller\n // clearing only `line1` does not silently wipe `country`.\n if (request.phone !== undefined) customer.phone = request.phone;\n if (request.address !== undefined) {\n customer.address = request.address === null\n ? null\n : { ...(customer.address ?? {}), ...request.address };\n }\n this.log('updateCustomer', [providerCustomerId, request], undefined);\n }\n\n async deleteCustomer(providerCustomerId: string): Promise<void> {\n this.customers.delete(providerCustomerId);\n this.log('deleteCustomer', [providerCustomerId], undefined);\n }\n\n async listPaymentMethods(providerCustomerId: string): Promise<StandardBilling_PaymentMethodSummary[]> {\n const attached = Array.from(this.paymentMethods.values())\n .filter((paymentMethod) => paymentMethod.providerCustomerId === providerCustomerId)\n .map((paymentMethod) => ({\n providerPaymentMethodId: paymentMethod.providerPaymentMethodId,\n type: paymentMethod.type,\n ...(paymentMethod.last4 ? { last4: paymentMethod.last4 } : {}),\n }));\n this.log('listPaymentMethods', [providerCustomerId], attached);\n return attached;\n }\n\n async detachPaymentMethod(providerPaymentMethodId: string): Promise<void> {\n const paymentMethod = this.paymentMethods.get(providerPaymentMethodId);\n if (!paymentMethod) {\n throw new Error(`MockBillingProvider: PaymentMethod ${providerPaymentMethodId} not found`);\n }\n paymentMethod.providerCustomerId = null;\n this.log('detachPaymentMethod', [providerPaymentMethodId], undefined);\n }\n\n /**\n * Test seam: attach an instrument to a customer. There is no interface method that creates a\n * payment method (Wildo never handles instrument data — the provider-hosted portal does), so a\n * test that needs one to exist has to place it directly.\n */\n public seedPaymentMethod(\n providerCustomerId: string,\n paymentMethod?: { type?: string; last4?: string },\n ): string {\n const providerPaymentMethodId = this.nextId('pm');\n this.paymentMethods.set(providerPaymentMethodId, {\n providerPaymentMethodId,\n providerCustomerId,\n type: paymentMethod?.type ?? 'card',\n ...(paymentMethod?.last4 ? { last4: paymentMethod.last4 } : {}),\n });\n return providerPaymentMethodId;\n }\n\n // ── Product/Price sync ────────────────────────────────────────\n\n async syncProduct(request: StandardBilling_SyncProductRequest): Promise<StandardBilling_SyncProductResponse> {\n const providerProductId = request.providerProductId ?? this.nextId('prod');\n const product: MockProduct = {\n providerProductId,\n productKey: request.productKey,\n name: request.name,\n description: request.description,\n metadata: request.metadata,\n };\n this.products.set(providerProductId, product);\n const result = { providerProductId };\n this.log('syncProduct', [request], result);\n return result;\n }\n\n async syncPrice(request: StandardBilling_SyncPriceRequest): Promise<StandardBilling_SyncPriceResponse> {\n const providerPriceId = request.providerPriceId ?? this.nextId('price');\n const price: MockPrice = {\n providerPriceId,\n providerProductId: request.providerProductId,\n amount: request.amount,\n currency: request.currency,\n interval: request.interval,\n metadata: request.metadata,\n };\n this.prices.set(providerPriceId, price);\n const result = { providerPriceId };\n this.log('syncPrice', [request], result);\n return result;\n }\n\n // ── Subscription lifecycle ────────────────────────────────────\n\n async createSubscription(request: StandardBilling_CreateSubscriptionRequest): Promise<StandardBilling_CreateSubscriptionResponse> {\n const providerSubscriptionId = this.nextId('sub');\n const now = new Date();\n const periodEnd = new Date(now);\n periodEnd.setMonth(periodEnd.getMonth() + 1);\n\n const items = request.items.map((item, idx) => {\n // Resolve product from price\n const price = this.prices.get(item.providerPriceId);\n return {\n providerSubscriptionItemId: this.nextId('si'),\n providerProductId: price?.providerProductId ?? `unknown_product_${idx}`,\n providerPriceId: item.providerPriceId,\n quantity: item.quantity ?? 1,\n };\n });\n\n const trialEnd = request.trialPeriodDays\n ? new Date(now.getTime() + request.trialPeriodDays * 24 * 60 * 60 * 1000)\n : undefined;\n\n // Derive discount from promotion code if provided\n let discount: MockDiscount | undefined;\n if (request.providerPromotionCodeId) {\n for (const promoCode of this.promotionCodes.values()) {\n if (promoCode.providerPromotionId === request.providerPromotionCodeId) {\n const coupon = this.coupons.get(promoCode.providerCouponId);\n if (coupon) {\n discount = {\n providerCouponId: coupon.providerCouponId,\n percentOff: coupon.percentOff,\n amountOff: coupon.amountOff,\n currency: coupon.currency,\n duration: coupon.duration,\n durationInMonths: coupon.durationInMonths,\n };\n }\n break;\n }\n }\n }\n\n const subscription: MockSubscription = {\n providerSubscriptionId,\n providerCustomerId: request.providerCustomerId,\n status: trialEnd ? SubscriptionStatus.TRIALING : SubscriptionStatus.ACTIVE,\n currentPeriodStart: now,\n currentPeriodEnd: periodEnd,\n cancelAtPeriodEnd: false,\n trialEnd,\n discount,\n items,\n metadata: request.metadata,\n };\n this.subscriptions.set(providerSubscriptionId, subscription);\n\n const result: StandardBilling_CreateSubscriptionResponse = {\n providerSubscriptionId,\n status: subscription.status,\n };\n this.log('createSubscription', [request], result);\n return result;\n }\n\n async updateSubscription(providerSubscriptionId: string, request: StandardBilling_UpdateSubscriptionRequest): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n if (request.items) {\n sub.items = request.items.map((item, idx) => {\n const price = this.prices.get(item.providerPriceId);\n return {\n providerSubscriptionItemId: this.nextId('si'),\n providerProductId: price?.providerProductId ?? `unknown_product_${idx}`,\n providerPriceId: item.providerPriceId,\n quantity: item.quantity ?? 1,\n };\n });\n }\n if (request.metadata) {\n sub.metadata = { ...sub.metadata, ...request.metadata };\n }\n this.log('updateSubscription', [providerSubscriptionId, request], undefined);\n }\n\n async cancelSubscription(providerSubscriptionId: string, options?: StandardBilling_CancelSubscriptionOptions): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n if (options?.atPeriodEnd) {\n sub.cancelAtPeriodEnd = true;\n } else {\n sub.status = SubscriptionStatus.CANCELLED;\n }\n this.log('cancelSubscription', [providerSubscriptionId, options], undefined);\n }\n\n async pauseSubscription(providerSubscriptionId: string): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n sub.status = SubscriptionStatus.PAUSED;\n this.log('pauseSubscription', [providerSubscriptionId], undefined);\n }\n\n async resumeSubscription(providerSubscriptionId: string): Promise<void> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n sub.status = SubscriptionStatus.ACTIVE;\n this.log('resumeSubscription', [providerSubscriptionId], undefined);\n }\n\n // ── Read/sync ─────────────────────────────────────────────────\n\n async retrieveSubscription(providerSubscriptionId: string): Promise<StandardBilling_SubscriptionData> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n const result: StandardBilling_SubscriptionData = {\n providerSubscriptionId: sub.providerSubscriptionId,\n status: sub.status,\n currentPeriodStart: sub.currentPeriodStart,\n currentPeriodEnd: sub.currentPeriodEnd,\n cancelAtPeriodEnd: sub.cancelAtPeriodEnd,\n trialEnd: sub.trialEnd,\n items: sub.items,\n discount: sub.discount,\n };\n this.log('retrieveSubscription', [providerSubscriptionId], result);\n return result;\n }\n\n async listInvoices(providerCustomerId: string, options?: { limit?: number }): Promise<StandardBilling_InvoiceData[]> {\n const result = [...this.invoices.values()]\n .filter(invoice => invoice.providerCustomerId === providerCustomerId)\n // Newest first, matching every real provider's default ordering — a sweep that asks for a\n // bounded page and gets the OLDEST invoices would never see the recent one it is looking for.\n .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())\n .slice(0, options?.limit ?? 20)\n .map(invoice => ({ ...invoice }));\n this.log('listInvoices', [providerCustomerId, options], result);\n return result;\n }\n\n async retrieveUpcomingInvoice(providerSubscriptionId: string, newPriceId?: string): Promise<StandardBilling_InvoicePreview> {\n const sub = this.subscriptions.get(providerSubscriptionId);\n if (!sub) throw new Error(`MockBillingProvider: Subscription ${providerSubscriptionId} not found`);\n\n // If a new price is provided, simulate what the invoice would look like after the change.\n // Otherwise, preview the next invoice based on current items.\n let previewItems = sub.items;\n if (newPriceId && sub.items.length > 0) {\n const newPrice = this.prices.get(newPriceId);\n previewItems = [{\n ...sub.items[0],\n providerPriceId: newPriceId,\n providerProductId: newPrice?.providerProductId ?? sub.items[0].providerProductId,\n }];\n }\n\n const lineItems = previewItems.map(item => {\n const price = this.prices.get(item.providerPriceId);\n return {\n description: `${price?.providerProductId ?? 'Product'} × ${item.quantity}`,\n amount: (price?.amount ?? 0) * item.quantity,\n quantity: item.quantity,\n providerPriceId: item.providerPriceId,\n };\n });\n\n const result: StandardBilling_InvoicePreview = {\n amount: lineItems.reduce((sum, li) => sum + li.amount, 0),\n currency: this.prices.get(previewItems[0]?.providerPriceId)?.currency ?? 'usd',\n lineItems,\n periodStart: sub.currentPeriodEnd,\n periodEnd: new Date(sub.currentPeriodEnd.getTime() + 30 * 24 * 60 * 60 * 1000),\n };\n this.log('retrieveUpcomingInvoice', [providerSubscriptionId, newPriceId], result);\n return result;\n }\n\n // ── Provider-hosted UI ────────────────────────────────────────\n\n async createCheckoutSession(request: StandardBilling_CreateCheckoutSessionRequest): Promise<StandardBilling_CreateCheckoutSessionResponse> {\n const sessionId = this.nextId('cs');\n const result: StandardBilling_CreateCheckoutSessionResponse = {\n url: `https://mock-checkout.test/session/${sessionId}`,\n sessionId,\n };\n this.log('createCheckoutSession', [request], result);\n return result;\n }\n\n async createCustomerPortalSession(providerCustomerId: string, returnUrl: string): Promise<StandardBilling_CreateCustomerPortalSessionResponse> {\n const result: StandardBilling_CreateCustomerPortalSessionResponse = {\n url: `https://mock-portal.test/customer/${providerCustomerId}?return=${encodeURIComponent(returnUrl)}`,\n };\n this.log('createCustomerPortalSession', [providerCustomerId, returnUrl], result);\n return result;\n }\n\n // ── Usage reporting (Billing Meter Events) ─────────────────────\n\n async reportUsage(request: StandardBilling_ReportUsageRequest): Promise<void> {\n this.usageRecords.push({ ...request, recordedAt: new Date() });\n this.log('reportUsage', [request], undefined);\n }\n\n // ── Webhooks ──────────────────────────────────────────────────\n\n verifyWebhookSignature(_payload: string | Uint8Array, _signature: string, _secret: string): boolean {\n // Mock always verifies successfully\n this.log('verifyWebhookSignature', [_payload, _signature, _secret], true);\n return true;\n }\n\n parseWebhookEvent(payload: string | Uint8Array): StandardBilling_WebhookEvent {\n const raw = typeof payload === 'string' ? payload : new TextDecoder().decode(payload);\n const parsed = JSON.parse(raw) as StandardBilling_WebhookEvent;\n // Restore Date objects from JSON strings\n parsed.createdAt = new Date(parsed.createdAt);\n this.log('parseWebhookEvent', [payload], parsed);\n return parsed;\n }\n\n // ── Promotions ────────────────────────────────────────────────\n\n async createCoupon(request: StandardBilling_CreateCouponRequest): Promise<StandardBilling_CreateCouponResponse> {\n const providerCouponId = this.nextId('cpn');\n this.coupons.set(providerCouponId, {\n providerCouponId,\n amountOff: request.amountOff,\n percentOff: request.percentOff,\n currency: request.currency,\n duration: request.duration,\n durationInMonths: request.durationInMonths,\n });\n const result = { providerCouponId };\n this.log('createCoupon', [request], result);\n return result;\n }\n\n async createPromotionCode(providerCouponId: string, code: string): Promise<StandardBilling_CreatePromotionCodeResponse> {\n const providerPromotionId = this.nextId('promo');\n this.promotionCodes.set(code, { providerPromotionId, providerCouponId, code });\n const result = { providerPromotionId };\n this.log('createPromotionCode', [providerCouponId, code], result);\n return result;\n }\n\n /** Look up a promotion code by its user-facing code string */\n getPromotionCodeByCode(code: string): MockPromotionCode | undefined {\n return this.promotionCodes.get(code);\n }\n\n // ══════════════════════════════════════════════════════════════\n // Internal Helpers\n // ══════════════════════════════════════════════════════════════\n\n private nextId(prefix: string): string {\n this.idCounter++;\n return `mock_${prefix}_${this.idCounter}`;\n }\n\n private log(method: string, args: unknown[], result: unknown): void {\n this.callLog.push({ method, args, timestamp: new Date(), result });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chart.backend.controller.d.ts","sourceRoot":"","sources":["../../../../../src/charts/controllers/chart.backend.controller.ts"],"names":[],"mappings":"AAAA;;;;;oEAKoE;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,8BAA8B,EAAE,MAAM,qFAAqF,CAAC;AACrI,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAC;AAC9G,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AACpJ,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAS3H,qBACa,6BAA8B,SAAQ,gCAAgC;IAK9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACrB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW;IAChB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBARnD,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EACf,aAAa,EAAE,2BAA2B,EACvC,kBAAkB,EAAE,8BAA8B,EACpC,uBAAuB,EAAE,qCAAqC,EACjF,WAAW,EAAE,yBAAyB,EAC1B,uBAAuB,EAAE,qCAAqC,EACrE,iBAAiB,EAAE,+BAA+B;IAKzH,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B;;;;OAIG;YACW,eAAe;IAyC7B,OAAO,CAAC,wBAAwB;IAqChC;;;;;;;;OAQG;YACW,mCAAmC;IAwEjD,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,6BAA6B;CAiBtC"}
1
+ {"version":3,"file":"chart.backend.controller.d.ts","sourceRoot":"","sources":["../../../../src/charts/controllers/chart.backend.controller.ts"],"names":[],"mappings":"AAAA;;;;;oEAKoE;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AACvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,8BAA8B,EAAE,MAAM,qFAAqF,CAAC;AACrI,OAAO,EAAE,qCAAqC,EAAE,MAAM,+EAA+E,CAAC;AACtI,OAAO,EAAE,yBAAyB,EAAE,MAAM,mEAAmE,CAAC;AAC9G,OAAO,EAAE,qCAAqC,EAAE,MAAM,6FAA6F,CAAC;AACpJ,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAS3H,qBACa,6BAA8B,SAAQ,gCAAgC;IAK9B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC3B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACrB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW;IAChB,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBARnD,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EACf,aAAa,EAAE,2BAA2B,EACvC,kBAAkB,EAAE,8BAA8B,EACpC,uBAAuB,EAAE,qCAAqC,EACjF,WAAW,EAAE,yBAAyB,EAC1B,uBAAuB,EAAE,qCAAqC,EACrE,iBAAiB,EAAE,+BAA+B;IAKzH,SAAS,CAAC,WAAW,IAAI,IAAI;IAK7B;;;;OAIG;YACW,eAAe;IAyC7B,OAAO,CAAC,wBAAwB;IAqChC;;;;;;;;OAQG;YACW,mCAAmC;IAwEjD,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,6BAA6B;CAiBtC"}
@@ -10,12 +10,14 @@
10
10
  * ────────────────────────────────────────────────────────────── */
11
11
  import type { LoggerService } from '../../monitoring/logger/services/logger.service';
12
12
  import type { ErrorBuilderBackendService } from '../../errors/services/error-builder.backend.service';
13
+ import type { ResourcesRegistryBackendService } from '../../resources/services/resources-registry.backend.service';
13
14
  import { type ChartDefinition } from '@wildo-ai/saas-models';
14
15
  export declare class ChartRegistryBackendService {
15
16
  private readonly logger;
16
17
  private readonly errorBuilder;
18
+ private readonly resourcesRegistry;
17
19
  private readonly charts;
18
- constructor(logger: LoggerService, errorBuilder: ErrorBuilderBackendService);
20
+ constructor(logger: LoggerService, errorBuilder: ErrorBuilderBackendService, resourcesRegistry: ResourcesRegistryBackendService);
19
21
  /**
20
22
  * Register a chart definition at app startup.
21
23
  * Re-parse the definition at the backend boundary so startup fails fast if an
@@ -24,6 +26,47 @@ export declare class ChartRegistryBackendService {
24
26
  * validity before later controller/execution paths trust the shape.
25
27
  */
26
28
  registerChart(definition: ChartDefinition): void;
29
+ /**
30
+ * Refuse startup for a chart whose aggregation query names a resource type this application
31
+ * does not have.
32
+ *
33
+ * ## What this does and does NOT cover
34
+ * This is NOT the frontend↔backend chart-registration join (`chartViews[].chartDefinition.ref`
35
+ * vs this registry). That comparison is IMPOSSIBLE in this process: the frontend authoring
36
+ * surface lives on `ResourceUIBehaviorConfig` in `.tsx` ui-behavior modules the backend cannot
37
+ * import, which is the whole reason `BackendDomainModule.chartDefinitions` exists as a second
38
+ * wiring and why the dev companion needs a dedicated introspection SUBPROCESS to materialize
39
+ * it. That join is guarded out-of-process — `computeChartRegistrationAlignment`, the companion
40
+ * `POST /api/companion/charts/audit` route, `wildo charts audit`, and the CI gate.
41
+ *
42
+ * What IS visible here is the OTHER half-wiring: a chart registered backend-side whose
43
+ * `dataQuery.mainResourceType` (or a `joins[].resourceType`) names nothing in the resources
44
+ * registry. Both are plain `z.string()` in `AggregationQuerySchema`, so neither the compiler
45
+ * nor the schema parse above can catch a typo or a reference to a resource that was renamed or
46
+ * removed.
47
+ *
48
+ * ## Why it must refuse rather than warn
49
+ * Measured on the execution path: `FieldAccessValidator.validate()` resolves the main schema
50
+ * through `getResourceConfiguration` inside a `try/catch`, and on failure logs a warning and
51
+ * RETURNS — so the entire field-access check (the control that keeps backend-only and hidden
52
+ * fields out of chart output) is skipped for that query. Execution then fails anyway, because
53
+ * `resolveCollectionName` / `resolveResourceDatabaseType` resolve the same configuration
54
+ * without a fallback — but as an opaque per-request INTERNAL error, once per viewer, forever.
55
+ * Refusing at boot converts a permanently broken chart nobody can diagnose from the response
56
+ * into one startup failure that names the chart, the channel and the registered set.
57
+ *
58
+ * ## Why a feature-EXCLUDED resource only warns
59
+ * `ResourcesRegistryBackendService` removes billing-conditional resources when billing is
60
+ * disabled. A chart over such a resource is a legitimate configuration — its host is expected
61
+ * to be feature-gated too (`ChartDefinition.requiredFeatures` gates inserted-chart routes) — so
62
+ * refusing would turn "billing is disabled" into "the application will not start". It still
63
+ * cannot execute if something does reach it, so it is reported rather than ignored.
64
+ *
65
+ * Fails closed on an uninitialized resources registry (`getResourceTypes` throws): registering
66
+ * a chart before resources exist is a boot-ORDERING defect, and answering it with "no resource
67
+ * is registered" would refuse every chart for the wrong reason.
68
+ */
69
+ private assertQueryResourceTypesRegistered;
27
70
  /**
28
71
  * Normalize an externally supplied chart execution reference into the
29
72
  * canonical registry key.
@@ -36,11 +79,35 @@ export declare class ChartRegistryBackendService {
36
79
  */
37
80
  resolveExecutionChartRef(rawExecutionRef: string): string;
38
81
  /**
39
- * The set of registered chart refs (the canonical registry keys). This is the
40
- * ground-truth backend side for the chart-registration drift guard — it
41
- * reflects what was actually registered (honouring any
42
- * `ApplicationInitializationOverrides.chartDefinitions`), not a re-derivation
43
- * from raw module declarations.
82
+ * The set of registered chart refs (the canonical registry keys) — what this process ACTUALLY
83
+ * registered, honouring any `ApplicationInitializationOverrides.chartDefinitions`.
84
+ *
85
+ * ## The drift guard does not read this, and does not need to — CORRECTED 2026-09-09
86
+ *
87
+ * Written as the ground-truth backend side for the chart-registration drift guard. The guard runs
88
+ * OUT-OF-PROCESS (no running backend is available to it), so it never calls this accessor and
89
+ * never will.
90
+ *
91
+ * A previous revision of this note went on to say that the guard therefore had to re-derive the
92
+ * set from `mergeBackendDomainModules(...).chartDefinitions` — the module DECLARATIONS — and that
93
+ * closing the resulting hole "needs the overrides to reach the companion, which the
94
+ * `companion-exports` contract does not currently carry". **The hole was real; that last clause
95
+ * was false.** `BackendCompanionExports.buildApplicationInitializationConfig()` is a REQUIRED
96
+ * member, is the same pure builder backend startup uses, starts nothing, and returns the exact
97
+ * `chartDefinitions` array `initialize()` hands to `registerChart` — override applied. Its own
98
+ * JSDoc already forbade the re-derivation ("tooling must not reconstruct selected runtime
99
+ * capabilities from lower-level registries or naming conventions").
100
+ *
101
+ * The hole mattered because `buildApplicationInitializationConfigFromModules` assembles
102
+ * `overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions` — a REPLACE, not a merge
103
+ * — so an application override that dropped a declared chart made the guard report ALIGNED while
104
+ * the chart 404s, and one that ADDED an undeclared chart made it report a false FAIL.
105
+ *
106
+ * The companion route now takes the effective set and declares its provenance
107
+ * (`ChartRegistrationBackendRefsProvenance` in `@wildo-ai/saas-models`); a comparison built on the
108
+ * declarations yields `CANNOT_VOUCH` rather than `ALIGNED`. One caller still composes from the
109
+ * declarations — the companion's own CI-gate test under `core/introspection/__tests__/` — and
110
+ * the shared comparator's JSDoc names it and its four-line fix.
44
111
  */
45
112
  getRegisteredChartRefs(): string[];
46
113
  /**
@@ -48,7 +115,13 @@ export declare class ChartRegistryBackendService {
48
115
  */
49
116
  getChart(ref: string): ChartDefinition;
50
117
  /**
51
- * Get all registered charts (for UIContext serialization).
118
+ * Get all registered charts.
119
+ *
120
+ * The comment here used to read "(for UIContext serialization)". Measured: nothing serializes
121
+ * it, and this method has NO caller in the repository. Kept as the registry's complete-read
122
+ * accessor, but do not reason from that stale note — the frontend never receives the backend's
123
+ * chart set, which is why the frontend↔backend registration join cannot be made in either
124
+ * runtime process. See `chart-registration-alignment.shared.ts`.
52
125
  */
53
126
  getAllCharts(): ChartDefinition[];
54
127
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"chart-registry.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/charts/services/chart-registry.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;oEASoE;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAClG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AACnH,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,qBACa,2BAA2B;IAID,OAAO,CAAC,QAAQ,CAAC,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,YAAY;IAJ/E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAGP,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B;IAG3G;;;;;;OAMG;IACH,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAoBhD;;;;;;;;;OASG;IACH,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAOzD;;;;;;OAMG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAatC;;OAEG;IACH,YAAY,IAAI,eAAe,EAAE;IAIjC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
1
+ {"version":3,"file":"chart-registry.backend.service.d.ts","sourceRoot":"","sources":["../../../../src/charts/services/chart-registry.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;oEASoE;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAClG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AACnH,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAC;AAChI,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAE/B,qBACa,2BAA2B;IAID,OAAO,CAAC,QAAQ,CAAC,MAAM;IACV,OAAO,CAAC,QAAQ,CAAC,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALxF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;gBAGP,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACpC,iBAAiB,EAAE,+BAA+B;IAGzH;;;;;;OAMG;IACH,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAqBhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,OAAO,CAAC,kCAAkC;IA6C1C;;;;;;;;;OASG;IACH,wBAAwB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAOzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,sBAAsB,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe;IAatC;;;;;;;;OAQG;IACH,YAAY,IAAI,eAAe,EAAE;IAIjC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,aAAa,IAAI,MAAM;CAGxB"}
@@ -26,10 +26,12 @@ import { ChartDefinitionSchema, ErrorType, ErrorCustomMessageReference, normaliz
26
26
  let ChartRegistryBackendService = class ChartRegistryBackendService {
27
27
  logger;
28
28
  errorBuilder;
29
+ resourcesRegistry;
29
30
  charts = new Map();
30
- constructor(logger, errorBuilder) {
31
+ constructor(logger, errorBuilder, resourcesRegistry) {
31
32
  this.logger = logger;
32
33
  this.errorBuilder = errorBuilder;
34
+ this.resourcesRegistry = resourcesRegistry;
33
35
  }
34
36
  /**
35
37
  * Register a chart definition at app startup.
@@ -40,6 +42,7 @@ let ChartRegistryBackendService = class ChartRegistryBackendService {
40
42
  */
41
43
  registerChart(definition) {
42
44
  const parsedDefinition = ChartDefinitionSchema.parse(definition);
45
+ this.assertQueryResourceTypesRegistered(parsedDefinition);
43
46
  const normalizedRef = this.resolveExecutionChartRef(parsedDefinition.ref);
44
47
  const normalizedDefinition = parsedDefinition;
45
48
  normalizedDefinition.ref = normalizedRef;
@@ -49,6 +52,79 @@ let ChartRegistryBackendService = class ChartRegistryBackendService {
49
52
  this.charts.set(normalizedRef, normalizedDefinition);
50
53
  this.logger.info(`ChartRegistry: registered chart '${normalizedRef}' (resource: ${normalizedDefinition.dataQuery.mainResourceType})`);
51
54
  }
55
+ /**
56
+ * Refuse startup for a chart whose aggregation query names a resource type this application
57
+ * does not have.
58
+ *
59
+ * ## What this does and does NOT cover
60
+ * This is NOT the frontend↔backend chart-registration join (`chartViews[].chartDefinition.ref`
61
+ * vs this registry). That comparison is IMPOSSIBLE in this process: the frontend authoring
62
+ * surface lives on `ResourceUIBehaviorConfig` in `.tsx` ui-behavior modules the backend cannot
63
+ * import, which is the whole reason `BackendDomainModule.chartDefinitions` exists as a second
64
+ * wiring and why the dev companion needs a dedicated introspection SUBPROCESS to materialize
65
+ * it. That join is guarded out-of-process — `computeChartRegistrationAlignment`, the companion
66
+ * `POST /api/companion/charts/audit` route, `wildo charts audit`, and the CI gate.
67
+ *
68
+ * What IS visible here is the OTHER half-wiring: a chart registered backend-side whose
69
+ * `dataQuery.mainResourceType` (or a `joins[].resourceType`) names nothing in the resources
70
+ * registry. Both are plain `z.string()` in `AggregationQuerySchema`, so neither the compiler
71
+ * nor the schema parse above can catch a typo or a reference to a resource that was renamed or
72
+ * removed.
73
+ *
74
+ * ## Why it must refuse rather than warn
75
+ * Measured on the execution path: `FieldAccessValidator.validate()` resolves the main schema
76
+ * through `getResourceConfiguration` inside a `try/catch`, and on failure logs a warning and
77
+ * RETURNS — so the entire field-access check (the control that keeps backend-only and hidden
78
+ * fields out of chart output) is skipped for that query. Execution then fails anyway, because
79
+ * `resolveCollectionName` / `resolveResourceDatabaseType` resolve the same configuration
80
+ * without a fallback — but as an opaque per-request INTERNAL error, once per viewer, forever.
81
+ * Refusing at boot converts a permanently broken chart nobody can diagnose from the response
82
+ * into one startup failure that names the chart, the channel and the registered set.
83
+ *
84
+ * ## Why a feature-EXCLUDED resource only warns
85
+ * `ResourcesRegistryBackendService` removes billing-conditional resources when billing is
86
+ * disabled. A chart over such a resource is a legitimate configuration — its host is expected
87
+ * to be feature-gated too (`ChartDefinition.requiredFeatures` gates inserted-chart routes) — so
88
+ * refusing would turn "billing is disabled" into "the application will not start". It still
89
+ * cannot execute if something does reach it, so it is reported rather than ignored.
90
+ *
91
+ * Fails closed on an uninitialized resources registry (`getResourceTypes` throws): registering
92
+ * a chart before resources exist is a boot-ORDERING defect, and answering it with "no resource
93
+ * is registered" would refuse every chart for the wrong reason.
94
+ */
95
+ assertQueryResourceTypesRegistered(definition) {
96
+ const referencedResourceTypes = [
97
+ { channel: 'dataQuery.mainResourceType', resourceType: definition.dataQuery.mainResourceType },
98
+ ...(definition.dataQuery.joins ?? []).map((join, joinIndex) => ({
99
+ channel: `dataQuery.joins[${joinIndex}].resourceType (alias '${join.alias}')`,
100
+ resourceType: join.resourceType,
101
+ })),
102
+ ];
103
+ const registeredResourceTypes = this.resourcesRegistry.getResourceTypes();
104
+ const registeredSet = new Set(registeredResourceTypes);
105
+ const excludedSet = this.resourcesRegistry.getExcludedResourceTypes();
106
+ const absent = referencedResourceTypes.filter(({ resourceType }) => !registeredSet.has(resourceType));
107
+ const featureExcluded = absent.filter(({ resourceType }) => excludedSet.has(resourceType));
108
+ const unknown = absent.filter(({ resourceType }) => !excludedSet.has(resourceType));
109
+ for (const { channel, resourceType } of featureExcluded) {
110
+ this.logger.warn(`ChartRegistry: chart '${definition.ref}' ${channel} references resource '${resourceType}', which this application deliberately EXCLUDED from its resources registry (feature-gated). The chart is registered but cannot execute — gate its host with ChartDefinition.requiredFeatures so it is never reached.`);
111
+ }
112
+ if (unknown.length === 0)
113
+ return;
114
+ const referenceLines = unknown
115
+ .map(({ channel, resourceType }) => ` - ${channel} → '${resourceType}'`)
116
+ .join('\n');
117
+ throw this.errorBuilder.buildError(ErrorType.CONFIGURATION, undefined, {
118
+ customMessageReference: ErrorCustomMessageReference.CONFIGURATION,
119
+ context: {
120
+ message: `ChartRegistry: chart '${definition.ref}' references ${unknown.length} resource type(s) that are neither registered nor feature-excluded (every request to POST /charts/${definition.ref}/data would fail, and field-access validation would be skipped for the whole query):\n`
121
+ + `${referenceLines}\n`
122
+ + `Registered resource types (${registeredResourceTypes.length}): ${[...registeredSet].sort().join(', ')}\n`
123
+ + `Feature-excluded resource types (${excludedSet.size}): ${[...excludedSet].sort().join(', ') || '(none)'}\n`
124
+ + `Fix: correct the resource type on the shared ChartDefinition, or remove the chart from the owning backend module's \`chartDefinitions\`.`,
125
+ },
126
+ });
127
+ }
52
128
  /**
53
129
  * Normalize an externally supplied chart execution reference into the
54
130
  * canonical registry key.
@@ -66,11 +142,35 @@ let ChartRegistryBackendService = class ChartRegistryBackendService {
66
142
  return normalizeChartExecutionRef(rawExecutionRef);
67
143
  }
68
144
  /**
69
- * The set of registered chart refs (the canonical registry keys). This is the
70
- * ground-truth backend side for the chart-registration drift guard — it
71
- * reflects what was actually registered (honouring any
72
- * `ApplicationInitializationOverrides.chartDefinitions`), not a re-derivation
73
- * from raw module declarations.
145
+ * The set of registered chart refs (the canonical registry keys) — what this process ACTUALLY
146
+ * registered, honouring any `ApplicationInitializationOverrides.chartDefinitions`.
147
+ *
148
+ * ## The drift guard does not read this, and does not need to — CORRECTED 2026-09-09
149
+ *
150
+ * Written as the ground-truth backend side for the chart-registration drift guard. The guard runs
151
+ * OUT-OF-PROCESS (no running backend is available to it), so it never calls this accessor and
152
+ * never will.
153
+ *
154
+ * A previous revision of this note went on to say that the guard therefore had to re-derive the
155
+ * set from `mergeBackendDomainModules(...).chartDefinitions` — the module DECLARATIONS — and that
156
+ * closing the resulting hole "needs the overrides to reach the companion, which the
157
+ * `companion-exports` contract does not currently carry". **The hole was real; that last clause
158
+ * was false.** `BackendCompanionExports.buildApplicationInitializationConfig()` is a REQUIRED
159
+ * member, is the same pure builder backend startup uses, starts nothing, and returns the exact
160
+ * `chartDefinitions` array `initialize()` hands to `registerChart` — override applied. Its own
161
+ * JSDoc already forbade the re-derivation ("tooling must not reconstruct selected runtime
162
+ * capabilities from lower-level registries or naming conventions").
163
+ *
164
+ * The hole mattered because `buildApplicationInitializationConfigFromModules` assembles
165
+ * `overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions` — a REPLACE, not a merge
166
+ * — so an application override that dropped a declared chart made the guard report ALIGNED while
167
+ * the chart 404s, and one that ADDED an undeclared chart made it report a false FAIL.
168
+ *
169
+ * The companion route now takes the effective set and declares its provenance
170
+ * (`ChartRegistrationBackendRefsProvenance` in `@wildo-ai/saas-models`); a comparison built on the
171
+ * declarations yields `CANNOT_VOUCH` rather than `ALIGNED`. One caller still composes from the
172
+ * declarations — the companion's own CI-gate test under `core/introspection/__tests__/` — and
173
+ * the shared comparator's JSDoc names it and its four-line fix.
74
174
  */
75
175
  getRegisteredChartRefs() {
76
176
  return Array.from(this.charts.keys());
@@ -87,7 +187,13 @@ let ChartRegistryBackendService = class ChartRegistryBackendService {
87
187
  return chart;
88
188
  }
89
189
  /**
90
- * Get all registered charts (for UIContext serialization).
190
+ * Get all registered charts.
191
+ *
192
+ * The comment here used to read "(for UIContext serialization)". Measured: nothing serializes
193
+ * it, and this method has NO caller in the repository. Kept as the registry's complete-read
194
+ * accessor, but do not reason from that stale note — the frontend never receives the backend's
195
+ * chart set, which is why the frontend↔backend registration join cannot be made in either
196
+ * runtime process. See `chart-registration-alignment.shared.ts`.
91
197
  */
92
198
  getAllCharts() {
93
199
  return Array.from(this.charts.values());
@@ -109,7 +215,8 @@ ChartRegistryBackendService = __decorate([
109
215
  injectable(),
110
216
  __param(0, inject(SAAS_SERVICE_TYPES.Logger)),
111
217
  __param(1, inject(SAAS_SERVICE_TYPES.ErrorBuilderService)),
112
- __metadata("design:paramtypes", [Function, Function])
218
+ __param(2, inject(SAAS_SERVICE_TYPES.ResourceRegistryService)),
219
+ __metadata("design:paramtypes", [Function, Function, Function])
113
220
  ], ChartRegistryBackendService);
114
221
  export { ChartRegistryBackendService };
115
222
  //# sourceMappingURL=chart-registry.backend.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-registry.backend.service.js","sourceRoot":"","sources":["../../../../../src/charts/services/chart-registry.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * ChartRegistryBackendService\n *\n * Resolves chartRef → ChartDefinition at runtime.\n * Follows the same pattern as ResourcesRegistryBackendService.\n *\n * Registration flow: Custom apps register charts during the same\n * initialization phase that registers resources. The RegistryInitializer\n * calls chartRegistry.registerChart() for each chart definition.\n * ────────────────────────────────────────────────────────────── */\n\nimport { injectable, inject } from 'inversify';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport type { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport {\n ChartDefinitionSchema,\n ErrorType,\n ErrorCustomMessageReference,\n normalizeChartExecutionRef,\n type ChartDefinition,\n} from '@wildo-ai/saas-models';\n\n@injectable()\nexport class ChartRegistryBackendService {\n private readonly charts = new Map<string, ChartDefinition>();\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n ) {}\n\n /**\n * Register a chart definition at app startup.\n * Re-parse the definition at the backend boundary so startup fails fast if an\n * in-memory chart object drifted away from the shared contract after authoring.\n * This keeps the registry as the single choke point for backend-owned chart\n * validity before later controller/execution paths trust the shape.\n */\n registerChart(definition: ChartDefinition): void {\n const parsedDefinition = ChartDefinitionSchema.parse(definition);\n const normalizedRef = this.resolveExecutionChartRef(parsedDefinition.ref);\n const normalizedDefinition = parsedDefinition as ChartDefinition;\n normalizedDefinition.ref = normalizedRef;\n\n if (this.charts.has(normalizedRef)) {\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n { customMessageReference: ErrorCustomMessageReference.CONFIGURATION, context: { message: `ChartRegistry: duplicate chart ref '${normalizedRef}'` } },\n );\n }\n\n this.charts.set(normalizedRef, normalizedDefinition);\n this.logger.info(\n `ChartRegistry: registered chart '${normalizedRef}' (resource: ${normalizedDefinition.dataQuery.mainResourceType})`,\n );\n }\n\n /**\n * Normalize an externally supplied chart execution reference into the\n * canonical registry key.\n *\n * Resource-owned inserted charts currently normalize to the embedded\n * `ChartDefinition.ref` before the backend call. This helper makes that\n * boundary explicit and keeps one backend choke point ready for future\n * inserted-view identity decoding without spreading lookup semantics across\n * controllers.\n */\n resolveExecutionChartRef(rawExecutionRef: string): string {\n // Single-sourced with the drift-alignment guard so registry keys and the\n // guard's comparison can never diverge on whitespace. See\n // `normalizeChartExecutionRef` in @wildo-ai/saas-models.\n return normalizeChartExecutionRef(rawExecutionRef);\n }\n\n /**\n * The set of registered chart refs (the canonical registry keys). This is the\n * ground-truth backend side for the chart-registration drift guard — it\n * reflects what was actually registered (honouring any\n * `ApplicationInitializationOverrides.chartDefinitions`), not a re-derivation\n * from raw module declarations.\n */\n getRegisteredChartRefs(): string[] {\n return Array.from(this.charts.keys());\n }\n\n /**\n * Resolve a chart by backend execution ref — throws CHART_NOT_FOUND if not registered.\n */\n getChart(ref: string): ChartDefinition {\n const resolvedRef = this.resolveExecutionChartRef(ref);\n const chart = this.charts.get(resolvedRef);\n if (!chart) {\n throw this.errorBuilder.buildError(\n ErrorType.NOT_FOUND,\n undefined,\n { customMessageReference: ErrorCustomMessageReference.CHART_NOT_FOUND, context: { resolvedRef } },\n );\n }\n return chart;\n }\n\n /**\n * Get all registered charts (for UIContext serialization).\n */\n getAllCharts(): ChartDefinition[] {\n return Array.from(this.charts.values());\n }\n\n /**\n * Check if any charts are registered.\n */\n hasCharts(): boolean {\n return this.charts.size > 0;\n }\n\n /**\n * Get count of registered charts.\n */\n getChartCount(): number {\n return this.charts.size;\n }\n}\n"]}
1
+ {"version":3,"file":"chart-registry.backend.service.js","sourceRoot":"","sources":["../../../../src/charts/services/chart-registry.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["/** ──────────────────────────────────────────────────────────────\n * ChartRegistryBackendService\n *\n * Resolves chartRef → ChartDefinition at runtime.\n * Follows the same pattern as ResourcesRegistryBackendService.\n *\n * Registration flow: Custom apps register charts during the same\n * initialization phase that registers resources. The RegistryInitializer\n * calls chartRegistry.registerChart() for each chart definition.\n * ────────────────────────────────────────────────────────────── */\n\nimport { injectable, inject } from 'inversify';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport type { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport type { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport type { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport {\n ChartDefinitionSchema,\n ErrorType,\n ErrorCustomMessageReference,\n normalizeChartExecutionRef,\n type ChartDefinition,\n} from '@wildo-ai/saas-models';\n\n@injectable()\nexport class ChartRegistryBackendService {\n private readonly charts = new Map<string, ChartDefinition>();\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.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n ) {}\n\n /**\n * Register a chart definition at app startup.\n * Re-parse the definition at the backend boundary so startup fails fast if an\n * in-memory chart object drifted away from the shared contract after authoring.\n * This keeps the registry as the single choke point for backend-owned chart\n * validity before later controller/execution paths trust the shape.\n */\n registerChart(definition: ChartDefinition): void {\n const parsedDefinition = ChartDefinitionSchema.parse(definition);\n this.assertQueryResourceTypesRegistered(parsedDefinition as ChartDefinition);\n const normalizedRef = this.resolveExecutionChartRef(parsedDefinition.ref);\n const normalizedDefinition = parsedDefinition as ChartDefinition;\n normalizedDefinition.ref = normalizedRef;\n\n if (this.charts.has(normalizedRef)) {\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n { customMessageReference: ErrorCustomMessageReference.CONFIGURATION, context: { message: `ChartRegistry: duplicate chart ref '${normalizedRef}'` } },\n );\n }\n\n this.charts.set(normalizedRef, normalizedDefinition);\n this.logger.info(\n `ChartRegistry: registered chart '${normalizedRef}' (resource: ${normalizedDefinition.dataQuery.mainResourceType})`,\n );\n }\n\n /**\n * Refuse startup for a chart whose aggregation query names a resource type this application\n * does not have.\n *\n * ## What this does and does NOT cover\n * This is NOT the frontend↔backend chart-registration join (`chartViews[].chartDefinition.ref`\n * vs this registry). That comparison is IMPOSSIBLE in this process: the frontend authoring\n * surface lives on `ResourceUIBehaviorConfig` in `.tsx` ui-behavior modules the backend cannot\n * import, which is the whole reason `BackendDomainModule.chartDefinitions` exists as a second\n * wiring and why the dev companion needs a dedicated introspection SUBPROCESS to materialize\n * it. That join is guarded out-of-process — `computeChartRegistrationAlignment`, the companion\n * `POST /api/companion/charts/audit` route, `wildo charts audit`, and the CI gate.\n *\n * What IS visible here is the OTHER half-wiring: a chart registered backend-side whose\n * `dataQuery.mainResourceType` (or a `joins[].resourceType`) names nothing in the resources\n * registry. Both are plain `z.string()` in `AggregationQuerySchema`, so neither the compiler\n * nor the schema parse above can catch a typo or a reference to a resource that was renamed or\n * removed.\n *\n * ## Why it must refuse rather than warn\n * Measured on the execution path: `FieldAccessValidator.validate()` resolves the main schema\n * through `getResourceConfiguration` inside a `try/catch`, and on failure logs a warning and\n * RETURNS — so the entire field-access check (the control that keeps backend-only and hidden\n * fields out of chart output) is skipped for that query. Execution then fails anyway, because\n * `resolveCollectionName` / `resolveResourceDatabaseType` resolve the same configuration\n * without a fallback — but as an opaque per-request INTERNAL error, once per viewer, forever.\n * Refusing at boot converts a permanently broken chart nobody can diagnose from the response\n * into one startup failure that names the chart, the channel and the registered set.\n *\n * ## Why a feature-EXCLUDED resource only warns\n * `ResourcesRegistryBackendService` removes billing-conditional resources when billing is\n * disabled. A chart over such a resource is a legitimate configuration — its host is expected\n * to be feature-gated too (`ChartDefinition.requiredFeatures` gates inserted-chart routes) — so\n * refusing would turn \"billing is disabled\" into \"the application will not start\". It still\n * cannot execute if something does reach it, so it is reported rather than ignored.\n *\n * Fails closed on an uninitialized resources registry (`getResourceTypes` throws): registering\n * a chart before resources exist is a boot-ORDERING defect, and answering it with \"no resource\n * is registered\" would refuse every chart for the wrong reason.\n */\n private assertQueryResourceTypesRegistered(definition: ChartDefinition): void {\n const referencedResourceTypes: { channel: string; resourceType: string }[] = [\n { channel: 'dataQuery.mainResourceType', resourceType: definition.dataQuery.mainResourceType },\n ...(definition.dataQuery.joins ?? []).map((join, joinIndex) => ({\n channel: `dataQuery.joins[${joinIndex}].resourceType (alias '${join.alias}')`,\n resourceType: join.resourceType,\n })),\n ];\n\n const registeredResourceTypes = this.resourcesRegistry.getResourceTypes();\n const registeredSet = new Set<string>(registeredResourceTypes as unknown as string[]);\n const excludedSet = this.resourcesRegistry.getExcludedResourceTypes();\n\n const absent = referencedResourceTypes.filter(({ resourceType }) => !registeredSet.has(resourceType));\n const featureExcluded = absent.filter(({ resourceType }) => excludedSet.has(resourceType));\n const unknown = absent.filter(({ resourceType }) => !excludedSet.has(resourceType));\n\n for (const { channel, resourceType } of featureExcluded) {\n this.logger.warn(\n `ChartRegistry: chart '${definition.ref}' ${channel} references resource '${resourceType}', which this application deliberately EXCLUDED from its resources registry (feature-gated). The chart is registered but cannot execute — gate its host with ChartDefinition.requiredFeatures so it is never reached.`,\n );\n }\n\n if (unknown.length === 0) return;\n\n const referenceLines = unknown\n .map(({ channel, resourceType }) => ` - ${channel} → '${resourceType}'`)\n .join('\\n');\n throw this.errorBuilder.buildError(\n ErrorType.CONFIGURATION,\n undefined,\n {\n customMessageReference: ErrorCustomMessageReference.CONFIGURATION,\n context: {\n message:\n `ChartRegistry: chart '${definition.ref}' references ${unknown.length} resource type(s) that are neither registered nor feature-excluded (every request to POST /charts/${definition.ref}/data would fail, and field-access validation would be skipped for the whole query):\\n`\n + `${referenceLines}\\n`\n + `Registered resource types (${registeredResourceTypes.length}): ${[...registeredSet].sort().join(', ')}\\n`\n + `Feature-excluded resource types (${excludedSet.size}): ${[...excludedSet].sort().join(', ') || '(none)'}\\n`\n + `Fix: correct the resource type on the shared ChartDefinition, or remove the chart from the owning backend module's \\`chartDefinitions\\`.`,\n },\n },\n );\n }\n\n /**\n * Normalize an externally supplied chart execution reference into the\n * canonical registry key.\n *\n * Resource-owned inserted charts currently normalize to the embedded\n * `ChartDefinition.ref` before the backend call. This helper makes that\n * boundary explicit and keeps one backend choke point ready for future\n * inserted-view identity decoding without spreading lookup semantics across\n * controllers.\n */\n resolveExecutionChartRef(rawExecutionRef: string): string {\n // Single-sourced with the drift-alignment guard so registry keys and the\n // guard's comparison can never diverge on whitespace. See\n // `normalizeChartExecutionRef` in @wildo-ai/saas-models.\n return normalizeChartExecutionRef(rawExecutionRef);\n }\n\n /**\n * The set of registered chart refs (the canonical registry keys) — what this process ACTUALLY\n * registered, honouring any `ApplicationInitializationOverrides.chartDefinitions`.\n *\n * ## The drift guard does not read this, and does not need to — CORRECTED 2026-09-09\n *\n * Written as the ground-truth backend side for the chart-registration drift guard. The guard runs\n * OUT-OF-PROCESS (no running backend is available to it), so it never calls this accessor and\n * never will.\n *\n * A previous revision of this note went on to say that the guard therefore had to re-derive the\n * set from `mergeBackendDomainModules(...).chartDefinitions` — the module DECLARATIONS — and that\n * closing the resulting hole \"needs the overrides to reach the companion, which the\n * `companion-exports` contract does not currently carry\". **The hole was real; that last clause\n * was false.** `BackendCompanionExports.buildApplicationInitializationConfig()` is a REQUIRED\n * member, is the same pure builder backend startup uses, starts nothing, and returns the exact\n * `chartDefinitions` array `initialize()` hands to `registerChart` — override applied. Its own\n * JSDoc already forbade the re-derivation (\"tooling must not reconstruct selected runtime\n * capabilities from lower-level registries or naming conventions\").\n *\n * The hole mattered because `buildApplicationInitializationConfigFromModules` assembles\n * `overrides.chartDefinitions ?? input.backendRegistry.chartDefinitions` — a REPLACE, not a merge\n * — so an application override that dropped a declared chart made the guard report ALIGNED while\n * the chart 404s, and one that ADDED an undeclared chart made it report a false FAIL.\n *\n * The companion route now takes the effective set and declares its provenance\n * (`ChartRegistrationBackendRefsProvenance` in `@wildo-ai/saas-models`); a comparison built on the\n * declarations yields `CANNOT_VOUCH` rather than `ALIGNED`. One caller still composes from the\n * declarations — the companion's own CI-gate test under `core/introspection/__tests__/` — and\n * the shared comparator's JSDoc names it and its four-line fix.\n */\n getRegisteredChartRefs(): string[] {\n return Array.from(this.charts.keys());\n }\n\n /**\n * Resolve a chart by backend execution ref — throws CHART_NOT_FOUND if not registered.\n */\n getChart(ref: string): ChartDefinition {\n const resolvedRef = this.resolveExecutionChartRef(ref);\n const chart = this.charts.get(resolvedRef);\n if (!chart) {\n throw this.errorBuilder.buildError(\n ErrorType.NOT_FOUND,\n undefined,\n { customMessageReference: ErrorCustomMessageReference.CHART_NOT_FOUND, context: { resolvedRef } },\n );\n }\n return chart;\n }\n\n /**\n * Get all registered charts.\n *\n * The comment here used to read \"(for UIContext serialization)\". Measured: nothing serializes\n * it, and this method has NO caller in the repository. Kept as the registry's complete-read\n * accessor, but do not reason from that stale note — the frontend never receives the backend's\n * chart set, which is why the frontend↔backend registration join cannot be made in either\n * runtime process. See `chart-registration-alignment.shared.ts`.\n */\n getAllCharts(): ChartDefinition[] {\n return Array.from(this.charts.values());\n }\n\n /**\n * Check if any charts are registered.\n */\n hasCharts(): boolean {\n return this.charts.size > 0;\n }\n\n /**\n * Get count of registered charts.\n */\n getChartCount(): number {\n return this.charts.size;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"companion-exports.d.ts","sourceRoot":"","sources":["../../../src/companion-exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAChH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAE5G,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,YAAY,CAAC,EAAE,+BAA+B,CAAC,cAAc,CAAC,CAAC;IAC/D,wBAAwB,CAAC,EAAE,+BAA+B,CAAC,0BAA0B,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,uBAAuB,CACtC,cAAc,GAAG,gCAAgC,EACjD,mBAAmB,SAAS,2BAA2B,GAAG,2BAA2B,CACrF,SAAQ,4BAA4B;IACpC,aAAa,EAAE,cAAc,CAAC;IAC9B,kBAAkB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;IAE5E;;;;;;;;;;;;OAYG;IACH,6BAA6B,CAAC,EAAE,iBAAiB,CAAC;CACnD"}
1
+ {"version":3,"file":"companion-exports.d.ts","sourceRoot":"","sources":["../../src/companion-exports.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,yDAAyD,CAAC;AAChH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AACvF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AAE5G,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,qBAAqB,CAAC;IAC5B,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,YAAY,CAAC,EAAE,+BAA+B,CAAC,cAAc,CAAC,CAAC;IAC/D,wBAAwB,CAAC,EAAE,+BAA+B,CAAC,0BAA0B,CAAC,CAAC;CACxF;AAED,MAAM,WAAW,uBAAuB,CACtC,cAAc,GAAG,gCAAgC,EACjD,mBAAmB,SAAS,2BAA2B,GAAG,2BAA2B,CACrF,SAAQ,4BAA4B;IACpC,aAAa,EAAE,cAAc,CAAC;IAC9B,kBAAkB,EAAE,MAAM,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,oCAAoC,EAAE,MAAM,+BAA+B,CAAC;IAE5E;;;;;;;;;;;;OAYG;IACH,6BAA6B,CAAC,EAAE,iBAAiB,CAAC;CACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs.custom-impl.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/compliance/audit-trails/audit-logs.custom-impl.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAEL,KAAK,0CAA0C,EAChD,MAAM,4GAA4G,CAAC;AAOpH,wBAAgB,8BAA8B,IAAI,0CAA0C,EAAE,CAuE7F"}
1
+ {"version":3,"file":"audit-logs.custom-impl.backend.service.d.ts","sourceRoot":"","sources":["../../../../src/compliance/audit-trails/audit-logs.custom-impl.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,OAAO,EAEL,KAAK,0CAA0C,EAChD,MAAM,4GAA4G,CAAC;AAOpH,wBAAgB,8BAA8B,IAAI,0CAA0C,EAAE,CAuE7F"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit-logs-archive.batch.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,OAAO,EAEL,KAAK,sCAAsC,EAC5C,MAAM,4FAA4F,CAAC;AA6HpG;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;kBAUlC,CAAC;AACZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;iBA+B5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AA0D5F,eAAO,MAAM,4BAA4B,EAAE,sCAAsC,CAC/E,OAAO,gCAAgC,EACvC,OAAO,iCAAiC,CA2PxC,CAAC"}
1
+ {"version":3,"file":"audit-logs-archive.batch.backend.service.d.ts","sourceRoot":"","sources":["../../../../../src/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsFG;AAKH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,OAAO,EAEL,KAAK,sCAAsC,EAC5C,MAAM,4FAA4F,CAAC;AA6HpG;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;kBAUlC,CAAC;AACZ,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;iBA+B5C,CAAC;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC;AA0D5F,eAAO,MAAM,4BAA4B,EAAE,sCAAsC,CAC/E,OAAO,gCAAgC,EACvC,OAAO,iCAAiC,CA2PxC,CAAC"}