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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (853) hide show
  1. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.d.ts.map +1 -1
  2. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js +19 -1
  3. package/dist/esm/applications/services/worker-remote-client-factory.backend.service.js.map +1 -1
  4. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -1
  5. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +4 -0
  6. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -1
  7. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts +35 -0
  8. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.d.ts.map +1 -0
  9. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js +111 -0
  10. package/dist/esm/base-classes/services/batches/child-lifecycle-teardown.batch.backend.service.js.map +1 -0
  11. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts +50 -0
  12. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.d.ts.map +1 -0
  13. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js +199 -0
  14. package/dist/esm/base-classes/services/batches/credential-expiry-sweep.batch.backend.service.js.map +1 -0
  15. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts +111 -0
  16. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.d.ts.map +1 -1
  17. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js +140 -0
  18. package/dist/esm/base-classes/services/batches/engine-custom-batch-manifests.js.map +1 -1
  19. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
  20. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +27 -6
  21. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  22. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
  23. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  24. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
  25. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  26. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
  27. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  28. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
  29. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  30. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +47 -4
  31. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  32. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +96 -29
  33. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  34. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
  35. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
  36. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
  37. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
  38. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
  39. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  40. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
  41. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  42. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +9 -1
  44. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  45. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +49 -0
  46. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  47. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +171 -18
  48. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  49. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  50. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +23 -3
  51. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  52. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  53. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +20 -0
  54. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  55. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
  56. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  57. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  58. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  59. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
  60. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  61. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
  62. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  63. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
  64. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  65. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
  66. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +529 -41
  68. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  69. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
  70. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  71. package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
  72. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  73. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
  74. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
  75. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
  76. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
  77. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
  78. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
  79. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
  80. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
  81. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
  82. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
  83. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
  84. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
  85. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
  86. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
  87. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
  88. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
  89. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
  90. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  91. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
  92. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  93. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
  94. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  95. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
  96. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  97. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
  98. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
  99. package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
  100. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
  101. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
  102. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  103. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
  104. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  105. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  106. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +48 -7
  107. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  108. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
  109. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  110. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
  111. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  112. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
  113. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  114. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
  115. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  116. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
  117. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  118. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
  119. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  120. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  121. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
  122. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  123. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
  124. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  125. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
  126. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  127. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
  128. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
  129. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
  130. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
  131. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
  132. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  133. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
  134. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  135. package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
  136. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  137. package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
  138. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  139. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
  140. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  141. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +225 -13
  142. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  143. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +340 -62
  144. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  145. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +244 -7
  146. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  147. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +386 -5
  148. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  149. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  150. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
  151. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  152. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +6 -2
  153. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -1
  154. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +31 -9
  155. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -1
  156. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
  157. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  158. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +57 -1
  159. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  160. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
  161. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
  162. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
  163. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
  164. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  165. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +31 -0
  166. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  167. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
  168. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  169. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
  170. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  171. package/dist/esm/config/models/app-config.backend.schemas.d.ts +142 -46
  172. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  173. package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
  174. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  175. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
  176. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  177. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
  178. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  179. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
  180. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  181. package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
  182. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  183. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  184. package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
  185. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  186. package/dist/esm/config/services/app-configuration.backend.utils.d.ts +33 -0
  187. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  188. package/dist/esm/config/services/app-configuration.backend.utils.js +39 -1
  189. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  190. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
  191. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  192. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
  193. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  194. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  195. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
  196. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  197. package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
  198. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  199. package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
  200. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  201. package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
  202. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  203. package/dist/esm/errors/services/error-handler.backend.service.js +129 -8
  204. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  205. package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
  206. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  207. package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
  208. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  209. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
  210. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  211. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
  212. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  213. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
  214. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  215. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
  216. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  217. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +59 -2
  218. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  219. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +52 -17
  220. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  221. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
  222. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  223. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  224. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
  225. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
  226. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
  227. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
  228. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
  229. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
  230. package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
  231. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
  232. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
  233. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
  234. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
  235. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
  236. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
  237. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
  238. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
  239. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
  240. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
  241. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  242. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
  243. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  244. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
  245. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
  246. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
  247. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
  248. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
  249. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  250. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
  251. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  252. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  253. package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
  254. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  255. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  256. package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
  257. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  258. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +292 -7
  259. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  260. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +533 -45
  261. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  262. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  263. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
  264. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  265. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  266. package/dist/esm/files/controllers/file.controller.js +21 -13
  267. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  268. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  269. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +39 -15
  270. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  271. package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
  272. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  273. package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
  274. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  275. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
  276. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  277. package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
  278. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  279. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +53 -2
  280. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -1
  281. package/dist/esm/files/services/file-upload-grant.backend.service.js +127 -3
  282. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -1
  283. package/dist/esm/files/services/files.backend.service.d.ts +68 -0
  284. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  285. package/dist/esm/files/services/files.backend.service.js +175 -5
  286. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  287. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
  288. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
  289. package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
  290. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
  291. package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
  292. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  293. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  294. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
  295. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  296. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
  297. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  298. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  299. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
  300. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  301. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  302. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
  303. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  304. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
  305. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
  306. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
  307. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
  308. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
  309. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  310. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
  311. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  312. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  313. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
  314. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  315. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
  316. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  317. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
  318. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  319. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
  320. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  321. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +196 -40
  322. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  323. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
  324. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  325. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
  326. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  327. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
  328. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  329. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
  330. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  331. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
  332. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  333. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  334. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
  335. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  336. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
  337. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  338. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
  339. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  340. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
  341. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  342. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
  343. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  344. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  345. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
  346. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  347. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
  348. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  349. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  350. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
  351. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  352. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
  353. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
  354. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
  355. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
  356. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  357. package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
  358. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  359. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +28 -1
  360. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  361. package/dist/esm/flows-actors/services/agents.backend.service.js +204 -18
  362. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  363. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
  364. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  365. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
  366. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  367. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
  368. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  369. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
  370. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  371. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  372. package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
  373. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  374. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  375. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
  376. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  377. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
  378. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
  379. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
  380. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
  381. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
  382. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  383. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
  384. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  385. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  386. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +8 -4
  387. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  388. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
  389. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  390. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
  391. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  392. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  393. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  394. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
  395. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  396. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
  397. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  398. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
  399. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
  400. package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
  401. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
  402. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
  403. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  404. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
  405. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  406. package/dist/esm/index.d.ts +11 -4
  407. package/dist/esm/index.d.ts.map +1 -1
  408. package/dist/esm/index.js +31 -4
  409. package/dist/esm/index.js.map +1 -1
  410. package/dist/esm/inject/models/container.d.ts.map +1 -1
  411. package/dist/esm/inject/models/container.js +78 -10
  412. package/dist/esm/inject/models/container.js.map +1 -1
  413. package/dist/esm/inject/models/service-types.d.ts +17 -3
  414. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  415. package/dist/esm/inject/models/service-types.js +19 -3
  416. package/dist/esm/inject/models/service-types.js.map +1 -1
  417. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  418. package/dist/esm/mcp/controllers/mcp.controller.js +20 -0
  419. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  420. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +56 -1
  421. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  422. package/dist/esm/mcp/services/mcp-server.backend.service.js +107 -11
  423. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  424. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  425. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +22 -0
  426. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  427. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  428. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
  429. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  430. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
  431. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
  432. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
  433. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
  434. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
  435. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  436. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
  437. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  438. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
  439. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  440. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  441. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
  442. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  443. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
  444. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  445. package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
  446. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  447. package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
  448. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  449. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
  450. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
  451. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
  452. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
  453. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
  454. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
  455. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
  456. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
  457. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
  458. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  459. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  460. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
  461. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  462. package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
  463. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  464. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
  465. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
  466. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
  467. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
  468. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
  469. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
  470. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
  471. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
  472. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
  473. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
  474. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
  475. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
  476. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
  477. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  478. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
  479. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  480. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
  481. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
  482. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
  483. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
  484. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  485. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
  486. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  487. package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
  488. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  489. package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
  490. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  491. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
  492. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  493. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  494. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
  495. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  496. package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
  497. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  498. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +99 -13
  499. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  500. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +422 -66
  501. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  502. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
  503. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  504. package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
  505. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  506. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
  507. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  508. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
  509. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  510. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
  511. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  512. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +46 -1
  513. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  514. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  515. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +16 -6
  516. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  517. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  518. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +12 -12
  519. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  520. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
  521. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  522. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
  523. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  524. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
  525. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
  526. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  527. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  528. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
  529. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  530. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
  531. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
  532. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
  533. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
  534. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
  535. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
  536. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
  537. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
  538. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
  539. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
  540. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
  541. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
  542. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
  543. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
  544. package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
  545. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
  546. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
  547. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  548. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
  549. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  550. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
  551. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  552. package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
  553. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  554. package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
  555. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  556. package/dist/esm/queue/job-consumer.backend.service.js +1 -4
  557. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  558. package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
  559. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  560. package/dist/esm/queue/job-executor.backend.service.js +1 -4
  561. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  562. package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
  563. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  564. package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
  565. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  566. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
  567. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  568. package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
  569. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  570. package/dist/esm/queue/queue.backend.service.d.ts +3 -3
  571. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  572. package/dist/esm/queue/queue.backend.service.js +26 -4
  573. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  574. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
  575. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  576. package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
  577. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  578. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
  579. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  580. package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
  581. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  582. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
  583. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  584. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
  585. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  586. package/dist/esm/requests/service/websocket.service.d.ts +9 -0
  587. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  588. package/dist/esm/requests/service/websocket.service.js +32 -8
  589. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  590. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  591. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +14 -2
  592. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  593. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  594. package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
  595. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  596. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  597. package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
  598. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  599. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
  600. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  601. package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
  602. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  603. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
  604. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  605. package/dist/esm/resources/services/resources-registry.backend.service.js +90 -6
  606. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  607. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
  608. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  609. package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
  610. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  611. package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
  612. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  613. package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
  614. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  615. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
  616. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  617. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  618. package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
  619. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  620. package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
  621. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  622. package/dist/esm/runtime/services/start-application.backend.service.d.ts +19 -1
  623. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  624. package/dist/esm/runtime/services/start-application.backend.service.js +261 -77
  625. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  626. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
  627. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  628. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
  629. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  630. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
  631. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  632. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
  633. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  634. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  635. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
  636. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  637. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
  638. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  639. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
  640. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  641. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
  642. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  643. package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
  644. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  645. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
  646. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  647. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  648. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
  649. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  650. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
  651. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  652. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
  653. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  654. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
  655. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  656. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
  657. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  658. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
  659. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  660. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
  661. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  662. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
  663. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  664. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
  665. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  666. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
  667. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  668. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  669. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +68 -1
  670. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  671. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
  672. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  673. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
  674. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  675. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  676. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
  677. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  678. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  679. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
  680. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  681. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
  682. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  683. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
  684. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  685. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +17 -1
  686. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  687. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +49 -17
  688. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  689. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
  690. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  691. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
  692. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  693. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
  694. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  695. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
  696. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  697. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  698. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
  699. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  700. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
  701. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
  702. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
  703. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
  704. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
  705. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  706. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
  707. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  708. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
  709. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  710. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
  711. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  712. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
  713. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  714. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
  715. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  716. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  717. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
  718. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  719. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  720. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
  721. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  722. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
  723. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  724. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
  725. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  726. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
  727. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  728. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
  729. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  730. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
  731. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
  732. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
  733. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
  734. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
  735. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  736. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
  737. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  738. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  739. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
  740. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  741. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
  742. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  743. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
  744. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  745. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
  746. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
  747. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
  748. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
  749. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
  750. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  751. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
  752. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  753. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +74 -8
  754. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  755. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +175 -19
  756. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  757. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
  758. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  759. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
  760. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  761. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
  762. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
  763. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
  764. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
  765. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
  766. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
  767. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
  768. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
  769. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
  770. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
  771. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
  772. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
  773. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
  774. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
  775. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
  776. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
  777. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
  778. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
  779. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
  780. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
  781. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
  782. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  783. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
  784. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
  785. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
  786. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
  787. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
  788. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
  789. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
  790. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
  791. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
  792. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
  793. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
  794. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
  795. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
  796. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
  797. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
  798. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
  799. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
  800. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
  801. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
  802. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  803. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
  804. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
  805. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
  806. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
  807. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
  808. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
  809. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
  810. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
  811. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
  812. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
  813. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
  814. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
  815. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
  816. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
  817. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +21 -3
  818. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  819. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +26 -16
  820. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  821. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
  822. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  823. package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
  824. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  825. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
  826. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  827. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
  828. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  829. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
  830. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  831. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
  832. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  833. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  834. package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
  835. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  836. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
  837. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  838. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
  839. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  840. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
  841. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  842. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
  843. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  844. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
  845. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
  846. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
  847. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
  848. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
  849. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
  850. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
  851. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
  852. package/dist/tsconfig.build.tsbuildinfo +1 -1
  853. package/package.json +11 -9
@@ -203,6 +203,13 @@ export declare class OAuthProviderControllerBackendService extends AbstractContr
203
203
  * this ships OFF by default while CIMD is the recommended path.
204
204
  */
205
205
  private handleDynamicRegistration;
206
+ /**
207
+ * The client configuration endpoint URL for one client — RFC 7592 §3's `registration_client_uri`.
208
+ *
209
+ * Built from the same issuer the discovery document advertises, so a client that resolved this
210
+ * server through discovery reaches the same origin here.
211
+ */
212
+ private registrationClientUri;
206
213
  /**
207
214
  * The SINGLE seam through which every OAuth authorization RESPONSE leaves this server.
208
215
  *
@@ -233,6 +240,113 @@ export declare class OAuthProviderControllerBackendService extends AbstractContr
233
240
  */
234
241
  private sendAuthorizationRedirect;
235
242
  /** RFC 7591 § 3.2.2 registration-error response: 400 + `error` / `error_description`. */
243
+ /**
244
+ * Authenticate a call to the client configuration endpoint, or answer and return null.
245
+ *
246
+ * Every RFC 7592 verb shares this, so the refusal ladder cannot drift between them — which is the
247
+ * whole reason it is a helper rather than three copies. The ladder, and why each rung is the code
248
+ * it is:
249
+ *
250
+ * - **404 when the application has not opted in.** Identical to `/oauth/register`: an application
251
+ * without dynamic registration should be indistinguishable from one whose framework never had
252
+ * the endpoint, so a 403 would advertise a capability one config flag away.
253
+ * - **401 with `WWW-Authenticate` when the Bearer token is absent or malformed.** "The client MUST
254
+ * use its registration access token in all calls to this endpoint as an OAuth 2.0 Bearer Token."
255
+ * spec-cite: RFC 7592 §2.
256
+ * - **401 when the client does not exist.** "If the client does not exist on this server, the
257
+ * server MUST respond with HTTP 401 Unauthorized and the registration access token used to make
258
+ * this request SHOULD be immediately revoked." spec-cite: RFC 7592 §2.1. The SHOULD is moot for
259
+ * us: a token for a client that does not exist has no row to revoke, so there is nothing to do.
260
+ * - **403 when the client exists but was not dynamically registered.** "If the client does not have
261
+ * permission to read its record, the server MUST return an HTTP 403 Forbidden." spec-cite: RFC
262
+ * 7592 §2.1. An operator- or organization-registered client is administered through the ordinary
263
+ * authenticated resource surface; it holds no registration access token and must not be
264
+ * reachable here even if one were somehow presented.
265
+ * - **401 when the presented token does not match.**
266
+ *
267
+ * Note the deliberate asymmetry: an unknown client is 401 and a known-but-ineligible one is 403,
268
+ * which is what the specification asks for even though it leaks that a client id exists. That
269
+ * disclosure is bounded — the caller already had to supply the id — and diverging from the
270
+ * specification here would break a conformant client's error handling.
271
+ */
272
+ private authenticateClientConfiguration;
273
+ /**
274
+ * Constant-time comparison of a presented registration access token against the stored digest.
275
+ *
276
+ * Both sides are SHA-256 hex, so they are always the same length and `timingSafeEqual` cannot
277
+ * throw — which is why the digests are compared rather than the raw values.
278
+ */
279
+ private registrationTokenMatches;
280
+ /**
281
+ * RFC 6750 §3 shape for every unauthenticated refusal at this endpoint.
282
+ *
283
+ * One description for a missing token and a wrong one, on purpose: distinguishing them tells an
284
+ * unauthenticated caller which half of its guess was right.
285
+ */
286
+ private sendClientConfigurationUnauthorized;
287
+ /**
288
+ * The client information response body — RFC 7592 §3, minus the two members §2.2 forbids a client
289
+ * to send back.
290
+ *
291
+ * `registration_access_token` is NOT echoed on read or update. It is returned once, at
292
+ * registration, and we do not rotate it: §5 permits rotation on a read or update ("MAY"), and
293
+ * taking that option means a client that loses the response has silently lost management access
294
+ * for good. The specification's own preference — "SHOULD NOT expire while a client is still
295
+ * actively registered" — points the same way.
296
+ */
297
+ private clientInformationResponse;
298
+ /**
299
+ * `GET /oauth/register/:clientId` — RFC 7592 §2.1 Client Read Request.
300
+ *
301
+ * "the authorization server responds with an HTTP 200 OK with content type of `application/json`".
302
+ * spec-cite: RFC 7592 §2.1.
303
+ */
304
+ private handleClientConfigurationRead;
305
+ /**
306
+ * `PUT /oauth/register/:clientId` — RFC 7592 §2.2 Client Update Request.
307
+ *
308
+ * **Full replacement, not a patch, and that is the specification's choice rather than ours:** "This
309
+ * request MUST include all client metadata fields as returned to the client from a previous
310
+ * registration, read, or update operation" and "Omitted fields MUST be treated as null or empty
311
+ * values by the server, indicating the client's request to delete them from the client's
312
+ * registration." spec-cite: RFC 7592 §2.2.
313
+ *
314
+ * So a client that sends only the field it wants to change DELETES everything else. That is
315
+ * surprising, it is what the specification requires, and it is why `redirect_uris` is re-validated
316
+ * on every update rather than assumed still present.
317
+ *
318
+ * Every confinement the registration endpoint applies is re-applied here, in the same order. A
319
+ * client that could widen its scopes, add a grant or change its auth method through an update
320
+ * would have found a way around the registration confinements by taking one extra step.
321
+ */
322
+ private handleClientConfigurationUpdate;
323
+ /**
324
+ * `DELETE /oauth/register/:clientId` — RFC 7592 §2.3 Client Delete Request.
325
+ *
326
+ * "If a client has been successfully deprovisioned, the authorization server MUST respond with an
327
+ * HTTP 204 No Content message." spec-cite: RFC 7592 §2.3.
328
+ *
329
+ * **Deprovisioned by STATUS, not by removing the row**, and the row is what makes that sound: every
330
+ * client-resolution path in this server refuses a non-`ACTIVE` client, so `INACTIVE` is
331
+ * indistinguishable from absent to any protocol caller — while the row survives for the audit
332
+ * trail, which is the thing an operator investigating a deleted client actually needs.
333
+ *
334
+ * The registration access token is invalidated by the same write, though not by being erased:
335
+ * `authenticateClientConfiguration` refuses a non-`ACTIVE` client before it ever compares a token,
336
+ * so the token authenticates nowhere from this moment. "If a client is deprovisioned from a server,
337
+ * any outstanding registration access token for that client MUST be invalidated at the same time."
338
+ * spec-cite: RFC 7592 §5. Keeping the digest on the row costs nothing and preserves the record of
339
+ * which token the client held, which an operator investigating a deleted client wants.
340
+ *
341
+ * **NOT DONE, and stated rather than implied:** "If possible, the authorization server SHOULD
342
+ * immediately invalidate all existing authorization grants and currently active access tokens, all
343
+ * refresh tokens, and all other tokens associated with this client." spec-cite: RFC 7592 §2.3.
344
+ * Already-issued access tokens keep working until they expire. Reaching them means driving the
345
+ * revocation machinery over every token minted for this client, which is a larger change than this
346
+ * endpoint; the client cannot obtain NEW tokens the moment this returns, because the token endpoint
347
+ * resolves the client and refuses it.
348
+ */
349
+ private handleClientConfigurationDelete;
236
350
  private sendRegistrationError;
237
351
  /**
238
352
  * Per-source-IP registration budget.
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-provider-controller.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/controllers/oauth-provider-controller.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAI1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAGvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,EAAE,mCAAmC,EAAE,MAAM,8FAA8F,CAAC;AACnJ,OAAO,EAAE,4BAA4B,EAAoE,MAAM,uFAAuF,CAAC;AAIvM,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iFAAiF,CAAC;AAClI,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,8DAA8D,CAAC;AAGjG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wFAAwF,CAAC;AAC5I,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AAInF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AAczH;;;;;;;;;;;;;;GAcG;AACH,qBACa,qCAAsC,SAAQ,gCAAgC;IAKxC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAGjC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAdzC,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EACjB,YAAY,EAAE,gCAAgC,EAChD,gBAAgB,EAAE,uBAAuB,EACxC,UAAU,EAAE,iBAAiB,EACzB,eAAe,EAAE,mCAAmC,EAC7D,YAAY,EAAE,YAAY,EACtB,SAAS,EAAE,uBAAuB,EACpC,iBAAiB,EAAE,4BAA4B,EAC3C,WAAW,EAAE,gCAAgC,EAC5C,YAAY,EAAE,0BAA0B,EAG5C,eAAe,EAAE,6BAA6B;IAK7G,SAAS,CAAC,WAAW,IAAI,IAAI;IAkE7B;;;;;;;;;;;;OAYG;YACW,YAAY;IAoD1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;YACW,gBAAgB;IAqH9B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,uBAAuB;IAgCrC;;;;;OAKG;YACW,eAAe;IAwG7B;;;OAGG;YACW,UAAU;IAKxB;;;;OAIG;YACW,WAAW;IA+GzB;;;;;;;;;;;;;;OAcG;IACH,wEAAwE;IACxE,OAAO,CAAC,gCAAgC;IAQxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;YACW,yBAAyB;IA2KvC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,yBAAyB;IAWjC,yFAAyF;IACzF,OAAO,CAAC,qBAAqB;IAK7B;;;;;;;OAOG;YACW,6BAA6B;YAa7B,eAAe;IA+I7B;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IA6HnC;;;;;OAKG;YACW,cAAc;IA2B5B;;;;OAIG;YACW,wBAAwB;IAYtC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"oauth-provider-controller.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/security/authentications/controllers/oauth-provider-controller.backend.service.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAK1B,OAAO,EAAE,gCAAgC,EAAE,MAAM,0FAA0F,CAAC;AAC5I,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,kEAAkE,CAAC;AAC9G,OAAO,EAAE,mBAAmB,EAAE,MAAM,kEAAkE,CAAC;AAGvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,EAAE,mCAAmC,EAAE,MAAM,8FAA8F,CAAC;AACnJ,OAAO,EAAE,4BAA4B,EAAoE,MAAM,uFAAuF,CAAC;AAIvM,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iFAAiF,CAAC;AAClI,OAAO,EAAE,gCAAgC,EAAE,MAAM,2FAA2F,CAAC;AAC7I,OAAO,EAAE,uBAAuB,EAAE,MAAM,sEAAsE,CAAC;AAC/G,OAAO,EAAE,iBAAiB,EAAE,MAAM,8DAA8D,CAAC;AAGjG,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wFAAwF,CAAC;AAC5I,OAAO,EAAE,YAAY,EAAE,MAAM,qDAAqD,CAAC;AAInF,OAAO,EAAE,uBAAuB,EAAE,MAAM,gFAAgF,CAAC;AAgBzH;;;;;;;;;;;;;;GAcG;AACH,qBACa,qCAAsC,SAAQ,gCAAgC;IAKxC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,eAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAGjC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAdzC,MAAM,EAAE,aAAa,EACR,YAAY,EAAE,0BAA0B,EACxC,YAAY,EAAE,mBAAmB,EACjB,YAAY,EAAE,gCAAgC,EAChD,gBAAgB,EAAE,uBAAuB,EACxC,UAAU,EAAE,iBAAiB,EACzB,eAAe,EAAE,mCAAmC,EAC7D,YAAY,EAAE,YAAY,EACtB,SAAS,EAAE,uBAAuB,EACpC,iBAAiB,EAAE,4BAA4B,EAC3C,WAAW,EAAE,gCAAgC,EAC5C,YAAY,EAAE,0BAA0B,EAG5C,eAAe,EAAE,6BAA6B;IAK7G,SAAS,CAAC,WAAW,IAAI,IAAI;IA4E7B;;;;;;;;;;;;OAYG;YACW,YAAY;IAoD1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;YACW,gBAAgB;IAqH9B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;YACW,uBAAuB;IAgCrC;;;;;OAKG;YACW,eAAe;IAwG7B;;;OAGG;YACW,UAAU;IAKxB;;;;OAIG;YACW,WAAW;IA+GzB;;;;;;;;;;;;;;OAcG;IACH,wEAAwE;IACxE,OAAO,CAAC,gCAAgC;IAQxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;YACW,yBAAyB;IA6LvC;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,OAAO,CAAC,yBAAyB;IAWjC,yFAAyF;IAKzF;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;YACW,+BAA+B;IAkE7C;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;;;;OAKG;IACH,OAAO,CAAC,mCAAmC;IAM3C;;;;;;;;;OASG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;;;;OAKG;YACW,6BAA6B;IAQ3C;;;;;;;;;;;;;;;;OAgBG;YACW,+BAA+B;IA+H7C;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,+BAA+B;IAmB7C,OAAO,CAAC,qBAAqB;IAK7B;;;;;;;OAOG;YACW,6BAA6B;YAa7B,eAAe;IA+I7B;;;;;;;;;;;;;;;OAeG;YACW,qBAAqB;IA6HnC;;;;;OAKG;YACW,cAAc;IA2B5B;;;;OAIG;YACW,wBAAwB;IAYtC;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IAehC;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;CAQvB"}
@@ -11,6 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
11
  return function (target, key) { decorator(target, key, paramIndex); }
12
12
  };
13
13
  import 'reflect-metadata';
14
+ import { timingSafeEqual } from 'node:crypto';
14
15
  import { inject, injectable } from 'inversify';
15
16
  import cors from 'cors';
16
17
  import { AbstractControllerBackendService } from '../../../base-classes/services/controllers/abstract-controller.backend.service.js';
@@ -23,7 +24,7 @@ import { OAuthProviderTokenBackendService } from '../../../security/authenticati
23
24
  import { OidcAuthorizationCodeBackendService } from '../../../security/authentications/services/oidc-authorization-code.backend.service.js';
24
25
  import { OidcUserClaimsBackendService, OIDC_SUPPORTED_IDENTITY_SCOPES, OIDC_SCOPE_GATED_IDENTITY_CLAIMS } from '../../../security/authentications/services/oidc-user-claims.backend.service.js';
25
26
  import { CimdTrustPolicy } from '../../../security/authentications/models/cimd.backend.schemas.js';
26
- import { generateOAuthClientSecretMaterial } from '../../../security/oauth-clients/oauth-client-generation.backend.utils.js';
27
+ import { generateOAuthClientSecretMaterial, generateRegistrationAccessTokenMaterial, hashRegistrationAccessToken } from '../../../security/oauth-clients/oauth-client-generation.backend.utils.js';
27
28
  import { CimdClientMetadataBackendService } from '../../../security/authentications/services/cimd-client-metadata.backend.service.js';
28
29
  import { AppConfigurationService } from '../../../config/services/app-configuration.backend.service.js';
29
30
  import { JwtBackendService } from '../../../security/jwt/services/jwt.backend.service.js';
@@ -34,7 +35,7 @@ import { getClientIpFromRequest } from '../../../runtime/utils/request-client-ip
34
35
  import { assertMachineAuthAttemptWithinRate, recordMachineAuthFailure } from '../../../security/authentications/services/utils/machine-auth-rate-limit.backend.utils.js';
35
36
  import { isValidS256CodeChallenge } from '../../../security/authentications/services/utils/pkce.backend.utils.js';
36
37
  import { AuditLogsBackendService } from '../../../compliance/audit-trails/services/audit-logs.backend.service.js';
37
- import { ApiKeyScope, CoreResourceType, ExecutionContext_ExecutionType, MANUAL_CONTROLLER_ROUTES_URLS, ManualControllerRouteKey, OAuthClientRegistrationOrigin, OAuthGrantType, OAuthTokenEndpointAuthMethod, isSafeOAuthRedirectUri, isWildoBackendError, } from '@wildo-ai/saas-models';
38
+ import { ApiKeyScope, CoreResourceType, ExecutionContext_ExecutionType, MANUAL_CONTROLLER_ROUTES_URLS, ManualControllerRouteKey, OAuthClientRegistrationOrigin, OAuthClientStatus, OAuthGrantType, OAuthTokenEndpointAuthMethod, isSafeOAuthRedirectUri, isWildoBackendError, } from '@wildo-ai/saas-models';
38
39
  /**
39
40
  * OAuth 2.0 Authorization Server endpoints (Wildo-AS-PROVIDER). A THIN transport wrapper
40
41
  * over {@link OAuthProviderTokenBackendService} — it parses the request per RFC 6749 and
@@ -127,6 +128,15 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
127
128
  const registerUrl = MANUAL_CONTROLLER_ROUTES_URLS[ManualControllerRouteKey.OAUTH_PROVIDER_REGISTER];
128
129
  this.router.post(registerUrl, this.asyncHandler(this.handleDynamicRegistration.bind(this)));
129
130
  this.logRouteRegistration('POST', registerUrl, 'RFC 7591 dynamic client registration (404 unless opted in)');
131
+ // RFC 7592 §2: ONE client configuration endpoint, three methods. Registered unconditionally like
132
+ // `/oauth/register` above and gated by the same opt-in inside the handler.
133
+ const registerClientUrl = MANUAL_CONTROLLER_ROUTES_URLS[ManualControllerRouteKey.OAUTH_PROVIDER_REGISTER_CLIENT];
134
+ this.router.get(registerClientUrl, this.asyncHandler(this.handleClientConfigurationRead.bind(this)));
135
+ this.router.put(registerClientUrl, this.asyncHandler(this.handleClientConfigurationUpdate.bind(this)));
136
+ this.router.delete(registerClientUrl, this.asyncHandler(this.handleClientConfigurationDelete.bind(this)));
137
+ this.logRouteRegistration('GET', registerClientUrl, 'RFC 7592 client read (404 unless opted in)');
138
+ this.logRouteRegistration('PUT', registerClientUrl, 'RFC 7592 client update (404 unless opted in)');
139
+ this.logRouteRegistration('DELETE', registerClientUrl, 'RFC 7592 client delete (404 unless opted in)');
130
140
  }
131
141
  /**
132
142
  * `POST /oauth/revoke` — RFC 7009 token revocation. Revokes the presented `token` (a user
@@ -815,6 +825,11 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
815
825
  return;
816
826
  }
817
827
  const secretMaterial = generateOAuthClientSecretMaterial(ApiKeyScope.APPLICATION);
828
+ // RFC 7592 §3: the registration response carries a `registration_access_token` the client uses at
829
+ // the client configuration endpoint, and a `registration_client_uri` naming that endpoint. Minted
830
+ // here and returned exactly once — there is no way to recover it afterwards, which is why §5 says
831
+ // it "SHOULD NOT expire while a client is still actively registered".
832
+ const registrationTokenMaterial = generateRegistrationAccessTokenMaterial();
818
833
  const created = await this.systemAccess.createAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, {
819
834
  name: clientName,
820
835
  scope: ApiKeyScope.APPLICATION,
@@ -832,11 +847,20 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
832
847
  registrationOrigin: OAuthClientRegistrationOrigin.DYNAMIC,
833
848
  hashedSecret: secretMaterial.hashedSecret,
834
849
  secretPrefix: secretMaterial.secretPrefix,
850
+ registrationAccessTokenHash: registrationTokenMaterial.registrationAccessTokenHash,
851
+ registrationAccessTokenPrefix: registrationTokenMaterial.registrationAccessTokenPrefix,
835
852
  }, {
836
853
  // `registrationOrigin`, `hashedSecret` and `secretPrefix` all carry
837
854
  // `.excludeFromCreate()` — they are server-managed precisely so no caller can author them.
838
855
  // This endpoint IS the server-side door, so it re-attaches them explicitly.
839
- preserveServerInjectedFields: ['registrationOrigin', 'hashedSecret', 'secretPrefix'],
856
+ preserveServerInjectedFields: [
857
+ 'registrationOrigin', 'hashedSecret', 'secretPrefix',
858
+ // Same reason as the two above: server-managed, so `.excludeFromCreate()` strips them and
859
+ // this endpoint — the server-side door — re-attaches them explicitly. Omitting them here
860
+ // would persist a client with NO registration access token, and every management call would
861
+ // then fail 401 with nothing to diagnose.
862
+ 'registrationAccessTokenHash', 'registrationAccessTokenPrefix',
863
+ ],
840
864
  });
841
865
  // assurance-control: WILDO.IDENTITY.CLIENT_IDENTITY_ASSERTION — an anonymous party created a
842
866
  // client identity in this application. Fire-and-forget; auditing must never fail the request it
@@ -864,8 +888,23 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
864
888
  response_types: ['code'],
865
889
  token_endpoint_auth_method: OAuthTokenEndpointAuthMethod.NONE,
866
890
  scope: (requestedScopes.length > 0 ? requestedScopes : [...OIDC_SUPPORTED_IDENTITY_SCOPES]).join(' '),
891
+ // RFC 7592 §3 — both REQUIRED in a registration response that supports management. The token
892
+ // appears here and NOWHERE else, ever.
893
+ registration_access_token: registrationTokenMaterial.plainToken,
894
+ registration_client_uri: this.registrationClientUri(created._id),
867
895
  }, 201);
868
896
  }
897
+ /**
898
+ * The client configuration endpoint URL for one client — RFC 7592 §3's `registration_client_uri`.
899
+ *
900
+ * Built from the same issuer the discovery document advertises, so a client that resolved this
901
+ * server through discovery reaches the same origin here.
902
+ */
903
+ registrationClientUri(clientId) {
904
+ const template = MANUAL_CONTROLLER_ROUTES_URLS[ManualControllerRouteKey.OAUTH_PROVIDER_REGISTER_CLIENT];
905
+ const issuer = this.appConfigService.resolveApiResourceAudience();
906
+ return `${issuer}${template.replace(':clientId', encodeURIComponent(clientId))}`;
907
+ }
869
908
  /**
870
909
  * The SINGLE seam through which every OAuth authorization RESPONSE leaves this server.
871
910
  *
@@ -905,6 +944,318 @@ let OAuthProviderControllerBackendService = class OAuthProviderControllerBackend
905
944
  this.jsonSuccess(res, { redirect_to: redirect.toString() }, 200);
906
945
  }
907
946
  /** RFC 7591 § 3.2.2 registration-error response: 400 + `error` / `error_description`. */
947
+ /* ───────────────────────────────────────────────────────────────────────────
948
+ * RFC 7592 — client configuration endpoint
949
+ * ──────────────────────────────────────────────────────────────────────── */
950
+ /**
951
+ * Authenticate a call to the client configuration endpoint, or answer and return null.
952
+ *
953
+ * Every RFC 7592 verb shares this, so the refusal ladder cannot drift between them — which is the
954
+ * whole reason it is a helper rather than three copies. The ladder, and why each rung is the code
955
+ * it is:
956
+ *
957
+ * - **404 when the application has not opted in.** Identical to `/oauth/register`: an application
958
+ * without dynamic registration should be indistinguishable from one whose framework never had
959
+ * the endpoint, so a 403 would advertise a capability one config flag away.
960
+ * - **401 with `WWW-Authenticate` when the Bearer token is absent or malformed.** "The client MUST
961
+ * use its registration access token in all calls to this endpoint as an OAuth 2.0 Bearer Token."
962
+ * spec-cite: RFC 7592 §2.
963
+ * - **401 when the client does not exist.** "If the client does not exist on this server, the
964
+ * server MUST respond with HTTP 401 Unauthorized and the registration access token used to make
965
+ * this request SHOULD be immediately revoked." spec-cite: RFC 7592 §2.1. The SHOULD is moot for
966
+ * us: a token for a client that does not exist has no row to revoke, so there is nothing to do.
967
+ * - **403 when the client exists but was not dynamically registered.** "If the client does not have
968
+ * permission to read its record, the server MUST return an HTTP 403 Forbidden." spec-cite: RFC
969
+ * 7592 §2.1. An operator- or organization-registered client is administered through the ordinary
970
+ * authenticated resource surface; it holds no registration access token and must not be
971
+ * reachable here even if one were somehow presented.
972
+ * - **401 when the presented token does not match.**
973
+ *
974
+ * Note the deliberate asymmetry: an unknown client is 401 and a known-but-ineligible one is 403,
975
+ * which is what the specification asks for even though it leaks that a client id exists. That
976
+ * disclosure is bounded — the caller already had to supply the id — and diverging from the
977
+ * specification here would break a conformant client's error handling.
978
+ */
979
+ async authenticateClientConfiguration(req, res) {
980
+ if (!this.dynamicRegistrationConfiguration().enabled) {
981
+ res.status(404).json({ error: 'not_found' });
982
+ return null;
983
+ }
984
+ const header = req.headers.authorization;
985
+ const presented = typeof header === 'string' && header.startsWith('Bearer ')
986
+ ? header.slice('Bearer '.length).trim()
987
+ : undefined;
988
+ if (!presented) {
989
+ this.sendClientConfigurationUnauthorized(res, 'a registration access token is required');
990
+ return null;
991
+ }
992
+ const clientId = String(req.params.clientId ?? '');
993
+ if (!clientId) {
994
+ this.sendClientConfigurationUnauthorized(res, 'unknown client');
995
+ return null;
996
+ }
997
+ const record = await this.systemAccess.readAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, clientId).catch(() => null);
998
+ if (!record) {
999
+ this.sendClientConfigurationUnauthorized(res, 'unknown client');
1000
+ return null;
1001
+ }
1002
+ if (record.registrationOrigin !== OAuthClientRegistrationOrigin.DYNAMIC) {
1003
+ res.set('Cache-Control', 'no-store');
1004
+ res.status(403).json({ error: 'access_denied', error_description: 'this client is not managed through dynamic registration' });
1005
+ return null;
1006
+ }
1007
+ /*
1008
+ * A DEPROVISIONED client is not manageable, and this rung is what makes its registration access
1009
+ * token invalid.
1010
+ *
1011
+ * "If a client is deprovisioned from a server, any outstanding registration access token for
1012
+ * that client MUST be invalidated at the same time." spec-cite: RFC 7592 §5. A token that
1013
+ * authenticates at no endpoint is invalidated in the only sense that matters — so `DELETE` marks
1014
+ * the client `INACTIVE` and this refuses every later call, rather than clearing the stored hash
1015
+ * and losing the record of which token the client held, which an operator investigating a
1016
+ * deleted client wants.
1017
+ */
1018
+ if (record.status !== OAuthClientStatus.ACTIVE) {
1019
+ this.sendClientConfigurationUnauthorized(res, 'invalid registration access token');
1020
+ return null;
1021
+ }
1022
+ const storedHash = record.registrationAccessTokenHash;
1023
+ // Compared through `timingSafeEqual` over the two DIGESTS: both are fixed-length hex, so the
1024
+ // buffers can never differ in length and the comparison cannot leak a prefix match by timing.
1025
+ if (!storedHash || !this.registrationTokenMatches(presented, storedHash)) {
1026
+ this.sendClientConfigurationUnauthorized(res, 'invalid registration access token');
1027
+ return null;
1028
+ }
1029
+ return { clientId, record };
1030
+ }
1031
+ /**
1032
+ * Constant-time comparison of a presented registration access token against the stored digest.
1033
+ *
1034
+ * Both sides are SHA-256 hex, so they are always the same length and `timingSafeEqual` cannot
1035
+ * throw — which is why the digests are compared rather than the raw values.
1036
+ */
1037
+ registrationTokenMatches(presented, storedHash) {
1038
+ const presentedDigest = Buffer.from(hashRegistrationAccessToken(presented), 'hex');
1039
+ const storedDigest = Buffer.from(storedHash, 'hex');
1040
+ if (presentedDigest.length !== storedDigest.length || presentedDigest.length === 0)
1041
+ return false;
1042
+ return timingSafeEqual(presentedDigest, storedDigest);
1043
+ }
1044
+ /**
1045
+ * RFC 6750 §3 shape for every unauthenticated refusal at this endpoint.
1046
+ *
1047
+ * One description for a missing token and a wrong one, on purpose: distinguishing them tells an
1048
+ * unauthenticated caller which half of its guess was right.
1049
+ */
1050
+ sendClientConfigurationUnauthorized(res, description) {
1051
+ res.set('Cache-Control', 'no-store');
1052
+ res.set('WWW-Authenticate', 'Bearer error="invalid_token"');
1053
+ res.status(401).json({ error: 'invalid_token', error_description: description });
1054
+ }
1055
+ /**
1056
+ * The client information response body — RFC 7592 §3, minus the two members §2.2 forbids a client
1057
+ * to send back.
1058
+ *
1059
+ * `registration_access_token` is NOT echoed on read or update. It is returned once, at
1060
+ * registration, and we do not rotate it: §5 permits rotation on a read or update ("MAY"), and
1061
+ * taking that option means a client that loses the response has silently lost management access
1062
+ * for good. The specification's own preference — "SHOULD NOT expire while a client is still
1063
+ * actively registered" — points the same way.
1064
+ */
1065
+ clientInformationResponse(clientId, record) {
1066
+ return {
1067
+ client_id: clientId,
1068
+ client_name: record.name,
1069
+ redirect_uris: record.redirectUris ?? [],
1070
+ post_logout_redirect_uris: record.postLogoutRedirectUris ?? [],
1071
+ grant_types: record.allowedGrants ?? [],
1072
+ response_types: ['code'],
1073
+ token_endpoint_auth_method: record.tokenEndpointAuthMethod,
1074
+ scope: (record.allowedScopes ?? []).join(' '),
1075
+ registration_client_uri: this.registrationClientUri(clientId),
1076
+ };
1077
+ }
1078
+ /**
1079
+ * `GET /oauth/register/:clientId` — RFC 7592 §2.1 Client Read Request.
1080
+ *
1081
+ * "the authorization server responds with an HTTP 200 OK with content type of `application/json`".
1082
+ * spec-cite: RFC 7592 §2.1.
1083
+ */
1084
+ async handleClientConfigurationRead(req, res) {
1085
+ const authenticated = await this.authenticateClientConfiguration(req, res);
1086
+ if (!authenticated)
1087
+ return;
1088
+ res.set('Cache-Control', 'no-store');
1089
+ this.jsonSuccess(res, this.clientInformationResponse(authenticated.clientId, authenticated.record), 200);
1090
+ }
1091
+ /**
1092
+ * `PUT /oauth/register/:clientId` — RFC 7592 §2.2 Client Update Request.
1093
+ *
1094
+ * **Full replacement, not a patch, and that is the specification's choice rather than ours:** "This
1095
+ * request MUST include all client metadata fields as returned to the client from a previous
1096
+ * registration, read, or update operation" and "Omitted fields MUST be treated as null or empty
1097
+ * values by the server, indicating the client's request to delete them from the client's
1098
+ * registration." spec-cite: RFC 7592 §2.2.
1099
+ *
1100
+ * So a client that sends only the field it wants to change DELETES everything else. That is
1101
+ * surprising, it is what the specification requires, and it is why `redirect_uris` is re-validated
1102
+ * on every update rather than assumed still present.
1103
+ *
1104
+ * Every confinement the registration endpoint applies is re-applied here, in the same order. A
1105
+ * client that could widen its scopes, add a grant or change its auth method through an update
1106
+ * would have found a way around the registration confinements by taking one extra step.
1107
+ */
1108
+ async handleClientConfigurationUpdate(req, res) {
1109
+ const authenticated = await this.authenticateClientConfiguration(req, res);
1110
+ if (!authenticated)
1111
+ return;
1112
+ const { clientId, record } = authenticated;
1113
+ const body = (req.body ?? {});
1114
+ // "The client MUST include its `client_id` field in the request, and it MUST be the same as its
1115
+ // currently issued client identifier." spec-cite: RFC 7592 §2.2. A mismatch is the client
1116
+ // addressing one registration and describing another, which is a client bug worth naming.
1117
+ if (body.client_id !== clientId) {
1118
+ this.sendRegistrationError(res, 'invalid_client_metadata', 'client_id must be present and must match the client being updated');
1119
+ return;
1120
+ }
1121
+ // "The updated client metadata fields request MUST NOT include the `registration_access_token`,
1122
+ // `registration_client_uri`, `client_secret_expires_at`, or `client_id_issued_at` fields."
1123
+ // spec-cite: RFC 7592 §2.2. Refused rather than ignored: a client sending one has misunderstood
1124
+ // the contract, and silently dropping it would leave it believing it had rotated its own token.
1125
+ const forbidden = ['registration_access_token', 'registration_client_uri', 'client_secret_expires_at', 'client_id_issued_at']
1126
+ .find((field) => body[field] !== undefined);
1127
+ if (forbidden) {
1128
+ this.sendRegistrationError(res, 'invalid_client_metadata', `${forbidden} must not be included in an update request`);
1129
+ return;
1130
+ }
1131
+ // "If the client includes the `client_secret` field in the request, the value of this field MUST
1132
+ // match the currently issued client secret for that client. The client MUST NOT be allowed to
1133
+ // overwrite its existing client secret with its own chosen value." spec-cite: RFC 7592 §2.2.
1134
+ // A dynamically registered client is PUBLIC and never received a secret, so any value it sends
1135
+ // cannot match one — refuse rather than compare against a secret it does not have.
1136
+ if (body.client_secret !== undefined) {
1137
+ this.sendRegistrationError(res, 'invalid_client_metadata', 'this client has no client secret to confirm');
1138
+ return;
1139
+ }
1140
+ const redirectUris = body.redirect_uris;
1141
+ if (!Array.isArray(redirectUris) || redirectUris.length === 0 || !redirectUris.every((uri) => typeof uri === 'string')) {
1142
+ this.sendRegistrationError(res, 'invalid_redirect_uri', 'redirect_uris must be a non-empty array of strings');
1143
+ return;
1144
+ }
1145
+ const unsafe = redirectUris.find((uri) => !isSafeOAuthRedirectUri(uri));
1146
+ if (unsafe) {
1147
+ this.sendRegistrationError(res, 'invalid_redirect_uri', `redirect_uri is not permitted: ${unsafe}`);
1148
+ return;
1149
+ }
1150
+ // Omitted ⇒ emptied, per §2.2. That is the whole reason this reads as a replacement.
1151
+ let postLogoutRedirectUris = [];
1152
+ if (body.post_logout_redirect_uris !== undefined) {
1153
+ if (!Array.isArray(body.post_logout_redirect_uris) || !body.post_logout_redirect_uris.every((uri) => typeof uri === 'string')) {
1154
+ this.sendRegistrationError(res, 'invalid_client_metadata', 'post_logout_redirect_uris must be an array of strings');
1155
+ return;
1156
+ }
1157
+ const unsafePostLogout = body.post_logout_redirect_uris.find((uri) => !isSafeOAuthRedirectUri(uri));
1158
+ if (unsafePostLogout) {
1159
+ this.sendRegistrationError(res, 'invalid_client_metadata', `post_logout_redirect_uri is not permitted: ${unsafePostLogout}`);
1160
+ return;
1161
+ }
1162
+ postLogoutRedirectUris = body.post_logout_redirect_uris;
1163
+ }
1164
+ const clientName = typeof body.client_name === 'string' && body.client_name.trim().length > 0
1165
+ ? body.client_name.trim().slice(0, 100)
1166
+ : undefined;
1167
+ if (!clientName) {
1168
+ this.sendRegistrationError(res, 'invalid_client_metadata', 'client_name is required');
1169
+ return;
1170
+ }
1171
+ // The registration confinements, re-applied. See `handleDynamicRegistration` for why each one
1172
+ // refuses rather than downgrades; the reasoning is identical and is not repeated here.
1173
+ if (body.roles !== undefined) {
1174
+ this.sendRegistrationError(res, 'invalid_client_metadata', 'roles cannot be requested at dynamic registration');
1175
+ return;
1176
+ }
1177
+ const requestedScopes = typeof body.scope === 'string' ? body.scope.split(/\s+/).filter(Boolean) : [];
1178
+ const beyondIdentity = requestedScopes.filter((scope) => !OIDC_SUPPORTED_IDENTITY_SCOPES.includes(scope));
1179
+ if (beyondIdentity.length > 0) {
1180
+ this.sendRegistrationError(res, 'invalid_client_metadata', `scope(s) not available to a dynamically registered client: ${beyondIdentity.join(', ')}`);
1181
+ return;
1182
+ }
1183
+ const requestedGrants = Array.isArray(body.grant_types) ? body.grant_types : [OAuthGrantType.AUTHORIZATION_CODE];
1184
+ const forbiddenGrant = requestedGrants.find((grant) => grant !== OAuthGrantType.AUTHORIZATION_CODE && grant !== OAuthGrantType.REFRESH_TOKEN);
1185
+ if (forbiddenGrant) {
1186
+ this.sendRegistrationError(res, 'invalid_client_metadata', `grant_type not available to a dynamically registered client: ${String(forbiddenGrant)}`);
1187
+ return;
1188
+ }
1189
+ const requestedAuthMethod = body.token_endpoint_auth_method;
1190
+ if (requestedAuthMethod !== undefined && requestedAuthMethod !== OAuthTokenEndpointAuthMethod.NONE) {
1191
+ this.sendRegistrationError(res, 'invalid_client_metadata', 'only token_endpoint_auth_method=none is available to a dynamically registered client');
1192
+ return;
1193
+ }
1194
+ const updated = await this.systemAccess.updateAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, clientId, {
1195
+ name: clientName,
1196
+ redirectUris,
1197
+ postLogoutRedirectUris,
1198
+ allowedScopes: requestedScopes.length > 0 ? requestedScopes : [...OIDC_SUPPORTED_IDENTITY_SCOPES],
1199
+ });
1200
+ if (!updated) {
1201
+ this.sendClientConfigurationUnauthorized(res, 'unknown client');
1202
+ return;
1203
+ }
1204
+ // assurance-control: WILDO.IDENTITY.CLIENT_IDENTITY_ASSERTION — a self-registered client changed
1205
+ // its own registration. Same standing as the registration itself, so the same audit concern:
1206
+ // `redirect_uris` is where a client's authorization responses are delivered, and an update is the
1207
+ // one way that set moves after registration.
1208
+ void this.auditLogs.logDynamicClientRegistered({
1209
+ clientId,
1210
+ clientName,
1211
+ redirectUris,
1212
+ postLogoutRedirectUris,
1213
+ ipAddress: getClientIpFromRequest(req),
1214
+ }).catch((auditError) => this.logger.warn('DYNAMIC_CLIENT_REGISTERED audit emit failed on update (non-fatal)', {
1215
+ ...projectCaughtErrorLogFields(auditError),
1216
+ }));
1217
+ res.set('Cache-Control', 'no-store');
1218
+ this.jsonSuccess(res, this.clientInformationResponse(clientId, { ...record, ...updated }), 200);
1219
+ }
1220
+ /**
1221
+ * `DELETE /oauth/register/:clientId` — RFC 7592 §2.3 Client Delete Request.
1222
+ *
1223
+ * "If a client has been successfully deprovisioned, the authorization server MUST respond with an
1224
+ * HTTP 204 No Content message." spec-cite: RFC 7592 §2.3.
1225
+ *
1226
+ * **Deprovisioned by STATUS, not by removing the row**, and the row is what makes that sound: every
1227
+ * client-resolution path in this server refuses a non-`ACTIVE` client, so `INACTIVE` is
1228
+ * indistinguishable from absent to any protocol caller — while the row survives for the audit
1229
+ * trail, which is the thing an operator investigating a deleted client actually needs.
1230
+ *
1231
+ * The registration access token is invalidated by the same write, though not by being erased:
1232
+ * `authenticateClientConfiguration` refuses a non-`ACTIVE` client before it ever compares a token,
1233
+ * so the token authenticates nowhere from this moment. "If a client is deprovisioned from a server,
1234
+ * any outstanding registration access token for that client MUST be invalidated at the same time."
1235
+ * spec-cite: RFC 7592 §5. Keeping the digest on the row costs nothing and preserves the record of
1236
+ * which token the client held, which an operator investigating a deleted client wants.
1237
+ *
1238
+ * **NOT DONE, and stated rather than implied:** "If possible, the authorization server SHOULD
1239
+ * immediately invalidate all existing authorization grants and currently active access tokens, all
1240
+ * refresh tokens, and all other tokens associated with this client." spec-cite: RFC 7592 §2.3.
1241
+ * Already-issued access tokens keep working until they expire. Reaching them means driving the
1242
+ * revocation machinery over every token minted for this client, which is a larger change than this
1243
+ * endpoint; the client cannot obtain NEW tokens the moment this returns, because the token endpoint
1244
+ * resolves the client and refuses it.
1245
+ */
1246
+ async handleClientConfigurationDelete(req, res) {
1247
+ const authenticated = await this.authenticateClientConfiguration(req, res);
1248
+ if (!authenticated)
1249
+ return;
1250
+ const { clientId } = authenticated;
1251
+ const deprovisioned = await this.systemAccess.updateAsSystem(CoreResourceType.OAUTH_CLIENTS_APPLICATION, clientId, { status: OAuthClientStatus.INACTIVE });
1252
+ if (!deprovisioned) {
1253
+ this.sendClientConfigurationUnauthorized(res, 'unknown client');
1254
+ return;
1255
+ }
1256
+ res.set('Cache-Control', 'no-store');
1257
+ res.status(204).send();
1258
+ }
908
1259
  sendRegistrationError(res, error, description) {
909
1260
  res.set('Cache-Control', 'no-store');
910
1261
  res.status(400).json({ error, error_description: description });