@wildo-ai/saas-backend-lib 1.1.1 → 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 (972) 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 +14 -3
  20. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -1
  21. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +138 -24
  22. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -1
  23. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts +3 -1
  24. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -1
  25. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js +8 -3
  26. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -1
  27. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts +11 -0
  28. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.d.ts.map +1 -1
  29. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js +11 -2
  30. package/dist/esm/base-classes/services/repositories/field-clearing-partition.backend.js.map +1 -1
  31. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts +124 -13
  32. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.d.ts.map +1 -1
  33. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js +207 -21
  34. package/dist/esm/base-classes/services/repositories/http-api/http-api-provider-access.backend.js.map +1 -1
  35. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts +60 -8
  36. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.d.ts.map +1 -1
  37. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js +174 -26
  38. package/dist/esm/base-classes/services/repositories/http-api/http-api-read-client.backend.js.map +1 -1
  39. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts +48 -4
  40. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.d.ts.map +1 -1
  41. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js +102 -30
  42. package/dist/esm/base-classes/services/repositories/http-api/http-api-resource-repository.backend.service.js.map +1 -1
  43. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts +55 -0
  44. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.d.ts.map +1 -0
  45. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js +114 -0
  46. package/dist/esm/base-classes/services/repositories/http-api/http-api-rest-operation-reference.backend.js.map +1 -0
  47. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts +89 -14
  48. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.d.ts.map +1 -1
  49. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js +84 -11
  50. package/dist/esm/base-classes/services/repositories/http-api/http-api-transport.backend.js.map +1 -1
  51. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.d.ts.map +1 -1
  52. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js +16 -0
  53. package/dist/esm/base-classes/services/repositories/http-api/odata-query-compiler.backend.js.map +1 -1
  54. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts +20 -6
  55. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.d.ts.map +1 -1
  56. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js +96 -32
  57. package/dist/esm/base-classes/services/repositories/infrastructure-tier-contract.backend.js.map +1 -1
  58. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts +3 -1
  59. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.d.ts.map +1 -1
  60. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js +32 -7
  61. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-repository.backend.service.js.map +1 -1
  62. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts +8 -5
  63. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.d.ts.map +1 -1
  64. package/dist/esm/base-classes/services/repositories/introspection/introspection-resource-source.backend.port.js.map +1 -1
  65. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +80 -0
  66. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -1
  67. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +298 -23
  68. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -1
  69. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts +71 -1
  70. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -1
  71. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +85 -5
  72. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -1
  73. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +21 -0
  74. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -1
  75. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +146 -4
  76. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -1
  77. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +22 -0
  78. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -1
  79. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -1
  80. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts +3 -26
  81. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.d.ts.map +1 -1
  82. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js +3 -68
  83. package/dist/esm/base-classes/services/services/resource-operation-implementation-coverage.backend.utils.js.map +1 -1
  84. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.d.ts.map +1 -1
  85. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js +4 -1
  86. package/dist/esm/base-classes/services/services/resource-status-transition.custom-impl.backend.service.js.map +1 -1
  87. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts +11 -0
  88. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.d.ts.map +1 -1
  89. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js +39 -5
  90. package/dist/esm/base-classes/services/services/resource-status-transition.definitions.backend.js.map +1 -1
  91. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +181 -2
  92. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -1
  93. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +533 -43
  94. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -1
  95. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts +36 -3
  96. package/dist/esm/base-classes/services/services/system-access.backend.service.d.ts.map +1 -1
  97. package/dist/esm/base-classes/services/services/system-access.backend.service.js +70 -8
  98. package/dist/esm/base-classes/services/services/system-access.backend.service.js.map +1 -1
  99. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts +28 -0
  100. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.d.ts.map +1 -0
  101. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js +90 -0
  102. package/dist/esm/billing/batches/billing-reconciliation.batch.backend.service.js.map +1 -0
  103. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts +44 -0
  104. package/dist/esm/billing/batches/usage-flush.batch.backend.service.d.ts.map +1 -0
  105. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js +99 -0
  106. package/dist/esm/billing/batches/usage-flush.batch.backend.service.js.map +1 -0
  107. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts +91 -0
  108. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.d.ts.map +1 -0
  109. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js +152 -0
  110. package/dist/esm/billing/models/billing-provider-event-settlement.backend.schemas.js.map +1 -0
  111. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts +186 -0
  112. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.d.ts.map +1 -0
  113. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js +474 -0
  114. package/dist/esm/billing/services/back-office/billing-reconciliation.backend.service.js.map +1 -0
  115. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +100 -0
  116. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -1
  117. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +209 -6
  118. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -1
  119. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +200 -4
  120. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -1
  121. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +593 -64
  122. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -1
  123. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts +36 -0
  124. package/dist/esm/billing/services/billing-adapter-registry.backend.d.ts.map +1 -0
  125. package/dist/esm/billing/services/billing-adapter-registry.backend.js +83 -0
  126. package/dist/esm/billing/services/billing-adapter-registry.backend.js.map +1 -0
  127. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts +9 -0
  128. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.d.ts.map +1 -1
  129. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js +11 -1
  130. package/dist/esm/billing/services/billing-checkout-metadata.backend.utils.js.map +1 -1
  131. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -1
  132. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +54 -13
  133. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -1
  134. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +38 -1
  135. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -1
  136. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +67 -2
  137. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -1
  138. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +30 -1
  139. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -1
  140. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +43 -1
  141. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -1
  142. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +11 -3
  143. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -1
  144. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +30 -16
  145. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -1
  146. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -1
  147. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +104 -25
  148. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -1
  149. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts +18 -1
  150. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.d.ts.map +1 -1
  151. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js +106 -2
  152. package/dist/esm/billing/services/stripe-standard-billing-provider.backend.service.js.map +1 -1
  153. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts +52 -0
  154. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.d.ts.map +1 -0
  155. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js +74 -0
  156. package/dist/esm/billing/services/webhooks/__tests__/settlement-ledger.test-double.js.map +1 -0
  157. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +104 -11
  158. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -1
  159. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +260 -26
  160. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -1
  161. package/dist/esm/billing/testing/mock-billing-provider.d.ts +30 -1
  162. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -1
  163. package/dist/esm/billing/testing/mock-billing-provider.js +25 -0
  164. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -1
  165. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js +11 -4
  166. package/dist/esm/compliance/audit-trails/batches/audit-logs-archive.batch.backend.service.js.map +1 -1
  167. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +263 -13
  168. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -1
  169. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +376 -58
  170. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -1
  171. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +264 -7
  172. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -1
  173. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +414 -5
  174. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -1
  175. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.d.ts.map +1 -1
  176. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js +7 -1
  177. package/dist/esm/compliance/audit-trails/services/composite-audit-log-sink.backend.js.map +1 -1
  178. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts +16 -0
  179. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.d.ts.map +1 -0
  180. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js +140 -0
  181. package/dist/esm/compliance/audit-trails/services/siem-export-config-cache-invalidation.custom-impl.backend.service.js.map +1 -0
  182. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +42 -0
  183. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -1
  184. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +65 -6
  185. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -1
  186. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts +110 -0
  187. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.d.ts.map +1 -0
  188. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js +192 -0
  189. package/dist/esm/compliance/audit-trails/services/utils/leased-value-cache.backend.utils.js.map +1 -0
  190. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.d.ts.map +1 -1
  191. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js +45 -0
  192. package/dist/esm/compliance/audit-trails/services/utils/ocsf-activity-mapping.backend.utils.js.map +1 -1
  193. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts +5 -0
  194. package/dist/esm/config/bootstrap/application-runtime-profile.backend.d.ts.map +1 -1
  195. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js +6 -0
  196. package/dist/esm/config/bootstrap/application-runtime-profile.backend.js.map +1 -1
  197. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -1
  198. package/dist/esm/config/custom/application-config-controller.backend.service.js +7 -1
  199. package/dist/esm/config/custom/application-config-controller.backend.service.js.map +1 -1
  200. package/dist/esm/config/models/app-config.backend.schemas.d.ts +146 -46
  201. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -1
  202. package/dist/esm/config/models/app-config.backend.schemas.js +121 -12
  203. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -1
  204. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts +38 -15
  205. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.d.ts.map +1 -1
  206. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js +17 -2
  207. package/dist/esm/config/models/provider-runtime-artifact.backend.schemas.js.map +1 -1
  208. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +0 -1
  209. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -1
  210. package/dist/esm/config/services/app-configuration-loader.backend.service.js +68 -76
  211. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -1
  212. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -1
  213. package/dist/esm/config/services/app-configuration.backend.service.js +23 -1
  214. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -1
  215. package/dist/esm/config/services/app-configuration.backend.utils.d.ts +43 -1
  216. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -1
  217. package/dist/esm/config/services/app-configuration.backend.utils.js +52 -3
  218. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -1
  219. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +25 -0
  220. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -1
  221. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +41 -1
  222. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -1
  223. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.d.ts +2 -2
  224. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js +2 -2
  225. package/dist/esm/data-seeding/services/shared/data-seed-scope-iteration.shared.utils.js.map +1 -1
  226. package/dist/esm/databases/models/filter.backend.schemas.js +2 -2
  227. package/dist/esm/databases/models/filter.backend.schemas.js.map +1 -1
  228. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -1
  229. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js +20 -1
  230. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js.map +1 -1
  231. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.d.ts.map +1 -1
  232. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js +48 -0
  233. package/dist/esm/databases/services/postgresql-schema-plan-diff.backend.js.map +1 -1
  234. package/dist/esm/databases/services/redis.service.d.ts +27 -0
  235. package/dist/esm/databases/services/redis.service.d.ts.map +1 -1
  236. package/dist/esm/databases/services/redis.service.js +29 -0
  237. package/dist/esm/databases/services/redis.service.js.map +1 -1
  238. package/dist/esm/errors/services/error-builder.backend.service.d.ts +13 -1
  239. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -1
  240. package/dist/esm/errors/services/error-builder.backend.service.js +13 -1
  241. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -1
  242. package/dist/esm/errors/services/error-handler.backend.service.d.ts +70 -7
  243. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -1
  244. package/dist/esm/errors/services/error-handler.backend.service.js +134 -8
  245. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -1
  246. package/dist/esm/errors/services/rate-limit.backend.service.d.ts +66 -0
  247. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -1
  248. package/dist/esm/errors/services/rate-limit.backend.service.js +102 -25
  249. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -1
  250. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts +5 -0
  251. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.d.ts.map +1 -1
  252. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js +25 -0
  253. package/dist/esm/errors/utils/error-log-level-classification.backend.utils.js.map +1 -1
  254. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts +33 -0
  255. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.d.ts.map +1 -1
  256. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js +40 -0
  257. package/dist/esm/errors/utils/rate-limit-environment-relaxation.backend.utils.js.map +1 -1
  258. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts +41 -0
  259. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.d.ts.map +1 -0
  260. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js +40 -0
  261. package/dist/esm/external-data/controllers/external-data-admin.backend.contracts.js.map +1 -0
  262. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts +64 -0
  263. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.d.ts.map +1 -0
  264. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js +193 -0
  265. package/dist/esm/external-data/controllers/external-data-admin.backend.controller.js.map +1 -0
  266. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts +72 -4
  267. package/dist/esm/external-data/external-data-pipeline-run.backend.service.d.ts.map +1 -1
  268. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js +60 -19
  269. package/dist/esm/external-data/external-data-pipeline-run.backend.service.js.map +1 -1
  270. package/dist/esm/external-data/external-data-transform.backend.d.ts.map +1 -1
  271. package/dist/esm/external-data/external-data-transform.backend.js +7 -1
  272. package/dist/esm/external-data/external-data-transform.backend.js.map +1 -1
  273. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts +2 -0
  274. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.d.ts.map +1 -1
  275. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js +13 -0
  276. package/dist/esm/external-data/models/external-data-pipeline-state.backend.schemas.js.map +1 -1
  277. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts +4 -2
  278. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.d.ts.map +1 -1
  279. package/dist/esm/external-providers/models/provider-selection-resolution-evidence.backend.definitions.js.map +1 -1
  280. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts +256 -0
  281. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.d.ts.map +1 -0
  282. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js +333 -0
  283. package/dist/esm/external-providers/operations/provider-operation-executor.backend.service.js.map +1 -0
  284. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts +56 -0
  285. package/dist/esm/external-providers/operations/provider-operation-request.backend.d.ts.map +1 -0
  286. package/dist/esm/external-providers/operations/provider-operation-request.backend.js +211 -0
  287. package/dist/esm/external-providers/operations/provider-operation-request.backend.js.map +1 -0
  288. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts +45 -0
  289. package/dist/esm/external-providers/operations/provider-request-signing.backend.d.ts.map +1 -0
  290. package/dist/esm/external-providers/operations/provider-request-signing.backend.js +216 -0
  291. package/dist/esm/external-providers/operations/provider-request-signing.backend.js.map +1 -0
  292. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts +56 -0
  293. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.d.ts.map +1 -0
  294. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js +78 -0
  295. package/dist/esm/external-providers/operations/provider-rest-call-client.backend.js.map +1 -0
  296. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +1 -1
  297. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -1
  298. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +2 -2
  299. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -1
  300. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts +89 -0
  301. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.d.ts.map +1 -0
  302. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js +164 -0
  303. package/dist/esm/external-providers/services/backend-provider-loader.backend.service.js.map +1 -0
  304. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts +26 -27
  305. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.d.ts.map +1 -1
  306. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js +50 -64
  307. package/dist/esm/external-providers/services/backend-provider-registry.backend.service.js.map +1 -1
  308. package/dist/esm/external-providers/services/document-extraction.backend.service.d.ts.map +1 -1
  309. package/dist/esm/external-providers/services/document-extraction.backend.service.js +3 -3
  310. package/dist/esm/external-providers/services/document-extraction.backend.service.js.map +1 -1
  311. package/dist/esm/external-providers/services/embeddings.backend.service.d.ts.map +1 -1
  312. package/dist/esm/external-providers/services/embeddings.backend.service.js +4 -4
  313. package/dist/esm/external-providers/services/embeddings.backend.service.js.map +1 -1
  314. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +306 -7
  315. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -1
  316. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +539 -45
  317. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -1
  318. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.d.ts.map +1 -1
  319. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js +25 -2
  320. package/dist/esm/external-providers/services/frontend-bootstrap.backend.service.js.map +1 -1
  321. package/dist/esm/files/controllers/file.controller.d.ts +24 -1
  322. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -1
  323. package/dist/esm/files/controllers/file.controller.js +83 -11
  324. package/dist/esm/files/controllers/file.controller.js.map +1 -1
  325. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts +17 -0
  326. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.d.ts.map +1 -0
  327. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js +1 -0
  328. package/dist/esm/files/handlers/file-upload-route-locals.backend.types.js.map +1 -0
  329. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +5 -1
  330. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -1
  331. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +76 -13
  332. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -1
  333. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts +18 -0
  334. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -1
  335. package/dist/esm/files/services/file-operation-handler.backend.service.js +36 -28
  336. package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -1
  337. package/dist/esm/files/services/file-scanning.backend.service.d.ts +94 -9
  338. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -1
  339. package/dist/esm/files/services/file-scanning.backend.service.js +197 -17
  340. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -1
  341. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +60 -1
  342. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -1
  343. package/dist/esm/files/services/file-text-extraction.backend.service.js +167 -8
  344. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -1
  345. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts +214 -0
  346. package/dist/esm/files/services/file-upload-grant.backend.service.d.ts.map +1 -0
  347. package/dist/esm/files/services/file-upload-grant.backend.service.js +566 -0
  348. package/dist/esm/files/services/file-upload-grant.backend.service.js.map +1 -0
  349. package/dist/esm/files/services/files.backend.service.d.ts +87 -0
  350. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -1
  351. package/dist/esm/files/services/files.backend.service.js +252 -19
  352. package/dist/esm/files/services/files.backend.service.js.map +1 -1
  353. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts +109 -0
  354. package/dist/esm/files/storage/application-storage-key.backend.utils.d.ts.map +1 -0
  355. package/dist/esm/files/storage/application-storage-key.backend.utils.js +123 -0
  356. package/dist/esm/files/storage/application-storage-key.backend.utils.js.map +1 -0
  357. package/dist/esm/files/storage/file-storage-provider.types.d.ts +16 -10
  358. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -1
  359. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -1
  360. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +67 -8
  361. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -1
  362. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +101 -28
  363. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -1
  364. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -1
  365. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +8 -55
  366. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -1
  367. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -1
  368. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +20 -0
  369. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -1
  370. package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -1
  371. package/dist/esm/files/utils/file-uploader.utils.js +12 -0
  372. package/dist/esm/files/utils/file-uploader.utils.js.map +1 -1
  373. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts +86 -0
  374. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.d.ts.map +1 -0
  375. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js +288 -0
  376. package/dist/esm/files/utils/office-document-text-extraction.backend.utils.js.map +1 -0
  377. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts +15 -0
  378. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.d.ts.map +1 -1
  379. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js +76 -5
  380. package/dist/esm/flows-actors/a2a/batches/a2a-abandoned-task-sweep.batch.backend.service.js.map +1 -1
  381. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.d.ts.map +1 -1
  382. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js +6 -1
  383. package/dist/esm/flows-actors/a2a/controllers/a2a.controller.js.map +1 -1
  384. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts +60 -0
  385. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.d.ts.map +1 -1
  386. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js +63 -0
  387. package/dist/esm/flows-actors/a2a/models/a2a.backend.schemas.js.map +1 -1
  388. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts +74 -0
  389. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.d.ts.map +1 -1
  390. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js +200 -44
  391. package/dist/esm/flows-actors/a2a/services/a2a-task-cancellation.backend.service.js.map +1 -1
  392. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts +7 -1
  393. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.d.ts.map +1 -1
  394. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js +53 -1
  395. package/dist/esm/flows-actors/a2a/services/a2a-task.backend.service.js.map +1 -1
  396. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts +18 -0
  397. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.d.ts.map +1 -1
  398. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js +18 -0
  399. package/dist/esm/flows-actors/a2a/services/a2a-token-budget.backend.service.js.map +1 -1
  400. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts +12 -7
  401. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.d.ts.map +1 -1
  402. package/dist/esm/flows-actors/a2a/services/a2a.backend.service.js.map +1 -1
  403. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +0 -13
  404. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -1
  405. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +14 -22
  406. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -1
  407. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +8 -3
  408. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -1
  409. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +25 -15
  410. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -1
  411. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +13 -1
  412. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -1
  413. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -1
  414. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts +88 -8
  415. package/dist/esm/flows-actors/models/function-tools.backend.definitions.d.ts.map +1 -1
  416. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js +333 -31
  417. package/dist/esm/flows-actors/models/function-tools.backend.definitions.js.map +1 -1
  418. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.d.ts.map +1 -1
  419. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js +4 -2
  420. package/dist/esm/flows-actors/models/market-generation.actors-system.backend.definitions.js.map +1 -1
  421. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts +113 -0
  422. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.d.ts.map +1 -0
  423. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js +62 -0
  424. package/dist/esm/flows-actors/models/mcp-client.backend.definitions.js.map +1 -0
  425. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -1
  426. package/dist/esm/flows-actors/services/actors-system.backend.service.js +0 -2
  427. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -1
  428. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +107 -1
  429. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -1
  430. package/dist/esm/flows-actors/services/agents.backend.service.js +519 -56
  431. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -1
  432. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts +5 -1
  433. package/dist/esm/flows-actors/services/conversational-execution.backend.service.d.ts.map +1 -1
  434. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js +79 -16
  435. package/dist/esm/flows-actors/services/conversational-execution.backend.service.js.map +1 -1
  436. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +34 -5
  437. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -1
  438. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +154 -20
  439. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -1
  440. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -1
  441. package/dist/esm/flows-actors/services/flows.backend.services.js +27 -23
  442. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -1
  443. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.d.ts.map +1 -1
  444. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js +7 -1
  445. package/dist/esm/flows-actors/services/llm-observability-agent-call-trace-sink.backend.js.map +1 -1
  446. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts +90 -0
  447. package/dist/esm/flows-actors/services/mcp-client.backend.service.d.ts.map +1 -0
  448. package/dist/esm/flows-actors/services/mcp-client.backend.service.js +368 -0
  449. package/dist/esm/flows-actors/services/mcp-client.backend.service.js.map +1 -0
  450. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +9 -5
  451. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -1
  452. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +12 -17
  453. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -1
  454. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts +151 -41
  455. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.d.ts.map +1 -1
  456. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js +308 -143
  457. package/dist/esm/flows-actors/utils/acp-session-runner.backend.utils.js.map +1 -1
  458. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts +0 -207
  459. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.d.ts.map +1 -1
  460. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js +8 -243
  461. package/dist/esm/flows-actors/utils/meta-workflow-canonical-json.backend.utils.js.map +1 -1
  462. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.d.ts.map +1 -1
  463. package/dist/esm/flows-actors/utils/meta-workflow-structured-generation-plan.backend.utils.js.map +1 -1
  464. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +9 -14
  465. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -1
  466. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +18 -89
  467. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -1
  468. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts +86 -0
  469. package/dist/esm/guidance/services/progression-state-store.backend.service.d.ts.map +1 -0
  470. package/dist/esm/guidance/services/progression-state-store.backend.service.js +155 -0
  471. package/dist/esm/guidance/services/progression-state-store.backend.service.js.map +1 -0
  472. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +10 -0
  473. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -1
  474. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +55 -5
  475. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -1
  476. package/dist/esm/index.d.ts +15 -5
  477. package/dist/esm/index.d.ts.map +1 -1
  478. package/dist/esm/index.js +45 -5
  479. package/dist/esm/index.js.map +1 -1
  480. package/dist/esm/inject/models/container.d.ts.map +1 -1
  481. package/dist/esm/inject/models/container.js +82 -10
  482. package/dist/esm/inject/models/container.js.map +1 -1
  483. package/dist/esm/inject/models/service-types.d.ts +20 -3
  484. package/dist/esm/inject/models/service-types.d.ts.map +1 -1
  485. package/dist/esm/inject/models/service-types.js +21 -3
  486. package/dist/esm/inject/models/service-types.js.map +1 -1
  487. package/dist/esm/mcp/controllers/mcp.controller.d.ts.map +1 -1
  488. package/dist/esm/mcp/controllers/mcp.controller.js +32 -4
  489. package/dist/esm/mcp/controllers/mcp.controller.js.map +1 -1
  490. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts +34 -0
  491. package/dist/esm/mcp/models/mcp-tool.backend.schemas.d.ts.map +1 -1
  492. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js +42 -0
  493. package/dist/esm/mcp/models/mcp-tool.backend.schemas.js.map +1 -1
  494. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts +84 -1
  495. package/dist/esm/mcp/services/mcp-server.backend.service.d.ts.map +1 -1
  496. package/dist/esm/mcp/services/mcp-server.backend.service.js +235 -11
  497. package/dist/esm/mcp/services/mcp-server.backend.service.js.map +1 -1
  498. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts +64 -2
  499. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.d.ts.map +1 -1
  500. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js +152 -6
  501. package/dist/esm/mcp/services/mcp-tool-adapter.backend.service.js.map +1 -1
  502. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -1
  503. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +49 -4
  504. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -1
  505. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts +66 -0
  506. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.d.ts.map +1 -0
  507. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js +199 -0
  508. package/dist/esm/monitoring/analytics/services/value-moment-definition-registry.backend.service.js.map +1 -0
  509. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +149 -13
  510. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -1
  511. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +411 -19
  512. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -1
  513. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +11 -2
  514. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -1
  515. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -1
  516. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +28 -9
  517. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -1
  518. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +30 -10
  519. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -1
  520. package/dist/esm/monitoring/logger/services/logger.service.d.ts +12 -0
  521. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -1
  522. package/dist/esm/monitoring/logger/services/logger.service.js +52 -11
  523. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -1
  524. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts +62 -0
  525. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.d.ts.map +1 -0
  526. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js +78 -0
  527. package/dist/esm/monitoring/logger/utils/log-severity-floor.backend.utils.js.map +1 -0
  528. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts +309 -0
  529. package/dist/esm/monitoring/observability/audit-observation-emission.backend.d.ts.map +1 -0
  530. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js +385 -0
  531. package/dist/esm/monitoring/observability/audit-observation-emission.backend.js.map +1 -0
  532. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +1 -0
  533. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -1
  534. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -1
  535. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +21 -0
  536. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -1
  537. package/dist/esm/monitoring/observability/services/metrics.service.js +38 -0
  538. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -1
  539. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +0 -80
  540. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +0 -1
  541. package/dist/esm/notifications/email/models/email-context-provider.interface.js +0 -25
  542. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +0 -1
  543. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +0 -49
  544. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +0 -1
  545. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +0 -141
  546. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +0 -1
  547. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +0 -37
  548. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +0 -1
  549. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +0 -121
  550. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +0 -1
  551. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +66 -1
  552. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -1
  553. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +105 -10
  554. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -1
  555. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +0 -58
  556. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +0 -1
  557. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +0 -223
  558. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +0 -1
  559. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -1
  560. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +10 -1
  561. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -1
  562. package/dist/esm/notifications/email/services/email.backend.service.d.ts +60 -4
  563. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -1
  564. package/dist/esm/notifications/email/services/email.backend.service.js +145 -43
  565. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -1
  566. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +0 -1
  567. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -1
  568. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -1
  569. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +142 -21
  570. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -1
  571. package/dist/esm/notifications/services/notification-badge.backend.service.js +283 -58
  572. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -1
  573. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +108 -13
  574. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -1
  575. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +432 -101
  576. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -1
  577. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +2 -2
  578. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -1
  579. package/dist/esm/notifications/sms/services/sms.backend.service.js +5 -5
  580. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -1
  581. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +117 -5
  582. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -1
  583. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +164 -6
  584. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -1
  585. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts +0 -6
  586. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.d.ts.map +1 -1
  587. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js +54 -7
  588. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.backend.service.js.map +1 -1
  589. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts +5 -5
  590. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.d.ts.map +1 -1
  591. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js +14 -13
  592. package/dist/esm/notifications/webhooks/outbound/batches/m2m-webhook-delivery.batch.utils.js.map +1 -1
  593. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts +2 -1
  594. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.d.ts.map +1 -1
  595. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js +18 -8
  596. package/dist/esm/notifications/webhooks/outbound/m2m-webhook-signed-request.backend.utils.js.map +1 -1
  597. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.d.ts.map +1 -1
  598. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js +20 -18
  599. package/dist/esm/notifications/webhooks/outbound/services/webhook-config-test-endpoint.custom-impl.backend.service.js.map +1 -1
  600. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +16 -0
  601. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -1
  602. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +18 -0
  603. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -1
  604. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.d.ts +2 -2
  605. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js +2 -2
  606. package/dist/esm/organizations/batches/organization-purge.batch.backend.service.js.map +1 -1
  607. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -1
  608. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +63 -2
  609. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -1
  610. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.d.ts.map +1 -1
  611. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js +4 -1
  612. package/dist/esm/organizations/services/organization-unit-custom-implementation.backend.service.js.map +1 -1
  613. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts +66 -0
  614. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.d.ts.map +1 -0
  615. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js +257 -0
  616. package/dist/esm/queue/adapters/in-memory-queue-adapter.backend.service.js.map +1 -0
  617. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts +12 -0
  618. package/dist/esm/queue/adapters/queue-adapter.backend.binding.d.ts.map +1 -0
  619. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js +47 -0
  620. package/dist/esm/queue/adapters/queue-adapter.backend.binding.js.map +1 -0
  621. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts +87 -0
  622. package/dist/esm/queue/adapters/queue-adapter.backend.interface.d.ts.map +1 -0
  623. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js +1 -0
  624. package/dist/esm/queue/adapters/queue-adapter.backend.interface.js.map +1 -0
  625. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts +31 -0
  626. package/dist/esm/queue/adapters/queue-adapter.backend.options.d.ts.map +1 -0
  627. package/dist/esm/queue/adapters/queue-adapter.backend.options.js +13 -0
  628. package/dist/esm/queue/adapters/queue-adapter.backend.options.js.map +1 -0
  629. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +19 -25
  630. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -1
  631. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +33 -0
  632. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -1
  633. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +2 -2
  634. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -1
  635. package/dist/esm/queue/domain-queue-consumer.backend.service.js +1 -4
  636. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -1
  637. package/dist/esm/queue/job-consumer.backend.service.d.ts +2 -2
  638. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -1
  639. package/dist/esm/queue/job-consumer.backend.service.js +1 -4
  640. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -1
  641. package/dist/esm/queue/job-executor.backend.service.d.ts +2 -2
  642. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -1
  643. package/dist/esm/queue/job-executor.backend.service.js +1 -4
  644. package/dist/esm/queue/job-executor.backend.service.js.map +1 -1
  645. package/dist/esm/queue/queue-monitoring.backend.service.d.ts +8 -4
  646. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -1
  647. package/dist/esm/queue/queue-monitoring.backend.service.js +25 -17
  648. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -1
  649. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +16 -1
  650. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -1
  651. package/dist/esm/queue/queue-worker-initializer.backend.service.js +16 -1
  652. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -1
  653. package/dist/esm/queue/queue.backend.service.d.ts +3 -3
  654. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -1
  655. package/dist/esm/queue/queue.backend.service.js +26 -4
  656. package/dist/esm/queue/queue.backend.service.js.map +1 -1
  657. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +2 -2
  658. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -1
  659. package/dist/esm/queue/worker-shutdown-manager.backend.service.js +18 -3
  660. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -1
  661. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts +50 -25
  662. package/dist/esm/rag/utils/rag-chunking.backend.utils.d.ts.map +1 -1
  663. package/dist/esm/rag/utils/rag-chunking.backend.utils.js +147 -39
  664. package/dist/esm/rag/utils/rag-chunking.backend.utils.js.map +1 -1
  665. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts +12 -3
  666. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.d.ts.map +1 -1
  667. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js +12 -3
  668. package/dist/esm/rag/utils/rag-context-assembly.backend.utils.js.map +1 -1
  669. package/dist/esm/requests/service/websocket.service.d.ts +9 -0
  670. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -1
  671. package/dist/esm/requests/service/websocket.service.js +88 -15
  672. package/dist/esm/requests/service/websocket.service.js.map +1 -1
  673. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -1
  674. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +16 -2
  675. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -1
  676. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -1
  677. package/dist/esm/resources/models/resources-operations.backend.definitions.js +2 -0
  678. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -1
  679. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -1
  680. package/dist/esm/resources/models/resources-relationships.backend.definitions.js +14 -0
  681. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -1
  682. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +2 -1
  683. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -1
  684. package/dist/esm/resources/models/resources-types.backend.schemas.js +8 -0
  685. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -1
  686. package/dist/esm/resources/services/resource-id.backend.service.js +3 -3
  687. package/dist/esm/resources/services/resource-id.backend.service.js.map +1 -1
  688. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +60 -5
  689. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -1
  690. package/dist/esm/resources/services/resources-registry.backend.service.js +91 -7
  691. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -1
  692. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +36 -3
  693. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -1
  694. package/dist/esm/runtime/controllers/health-controller.backend.service.js +32 -10
  695. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -1
  696. package/dist/esm/runtime/domain-module.backend.definitions.d.ts +24 -0
  697. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -1
  698. package/dist/esm/runtime/domain-module.backend.definitions.js +24 -0
  699. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -1
  700. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -1
  701. package/dist/esm/runtime/services/execution-context-creator.backend.service.js +13 -7
  702. package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -1
  703. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +51 -0
  704. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -1
  705. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -1
  706. package/dist/esm/runtime/services/http-server.backend.service.d.ts +26 -0
  707. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -1
  708. package/dist/esm/runtime/services/http-server.backend.service.js +181 -1
  709. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -1
  710. package/dist/esm/runtime/services/start-application.backend.service.d.ts +47 -1
  711. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -1
  712. package/dist/esm/runtime/services/start-application.backend.service.js +343 -77
  713. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -1
  714. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts +15 -0
  715. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.d.ts.map +1 -1
  716. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js +28 -0
  717. package/dist/esm/security/api-keys/api-keys.custom-impl.backend.service.js.map +1 -1
  718. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +5 -1
  719. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -1
  720. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +24 -4
  721. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -1
  722. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -1
  723. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +29 -4
  724. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -1
  725. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts +114 -0
  726. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.d.ts.map +1 -1
  727. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js +354 -3
  728. package/dist/esm/security/authentications/controllers/oauth-provider-controller.backend.service.js.map +1 -1
  729. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts +1 -0
  730. package/dist/esm/security/authentications/models/cimd.backend.schemas.d.ts.map +1 -1
  731. package/dist/esm/security/authentications/models/cimd.backend.schemas.js +22 -0
  732. package/dist/esm/security/authentications/models/cimd.backend.schemas.js.map +1 -1
  733. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts +3 -23
  734. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -1
  735. package/dist/esm/security/authentications/models/jwt.backend.schemas.js +20 -45
  736. package/dist/esm/security/authentications/models/jwt.backend.schemas.js.map +1 -1
  737. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +15 -0
  738. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -1
  739. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -1
  740. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +0 -2
  741. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -1
  742. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +23 -14
  743. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -1
  744. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +0 -1
  745. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -1
  746. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +15 -12
  747. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -1
  748. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +113 -3
  749. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -1
  750. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +207 -30
  751. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -1
  752. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +95 -2
  753. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -1
  754. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +153 -9
  755. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -1
  756. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +190 -0
  757. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -1
  758. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +377 -53
  759. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -1
  760. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts +9 -1
  761. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -1
  762. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +77 -2
  763. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -1
  764. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -1
  765. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js +5 -3
  766. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js.map +1 -1
  767. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +41 -0
  768. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -1
  769. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +202 -23
  770. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -1
  771. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -1
  772. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +42 -1
  773. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -1
  774. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -1
  775. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +34 -4
  776. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -1
  777. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +29 -5
  778. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -1
  779. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +77 -5
  780. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -1
  781. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +41 -1
  782. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -1
  783. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +87 -4
  784. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -1
  785. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +43 -1
  786. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -1
  787. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +277 -97
  788. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -1
  789. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts +28 -5
  790. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.d.ts.map +1 -1
  791. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js +72 -12
  792. package/dist/esm/security/authentications/services/cimd-client-metadata.backend.service.js.map +1 -1
  793. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -1
  794. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +3 -0
  795. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -1
  796. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts +28 -0
  797. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.d.ts.map +1 -0
  798. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js +283 -0
  799. package/dist/esm/security/authentications/services/custom-impls/sso-config-domain-verification.custom-impl.backend.service.js.map +1 -0
  800. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +4 -3
  801. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -1
  802. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +4 -3
  803. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -1
  804. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts +35 -0
  805. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.d.ts.map +1 -1
  806. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js +111 -21
  807. package/dist/esm/security/authentications/services/oauth-provider-token.backend.service.js.map +1 -1
  808. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts +14 -1
  809. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.d.ts.map +1 -1
  810. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js +49 -8
  811. package/dist/esm/security/authentications/services/oidc-authorization-code.backend.service.js.map +1 -1
  812. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.d.ts.map +1 -1
  813. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js +4 -0
  814. package/dist/esm/security/authentications/services/utils/auth-policy-resolution.backend.utils.js.map +1 -1
  815. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -1
  816. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +6 -0
  817. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -1
  818. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts +37 -1
  819. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.d.ts.map +1 -1
  820. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js +51 -0
  821. package/dist/esm/security/authentications/services/utils/external-turn-rate-limit.backend.utils.js.map +1 -1
  822. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts +41 -0
  823. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.d.ts.map +1 -1
  824. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js +45 -0
  825. package/dist/esm/security/authentications/utils/enterprise-sso-enforcement.backend.utils.js.map +1 -1
  826. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts +116 -0
  827. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.d.ts.map +1 -0
  828. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js +162 -0
  829. package/dist/esm/security/authorizations/cross-tenant-read-observation.backend.js.map +1 -0
  830. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.d.ts.map +1 -1
  831. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js +24 -1
  832. package/dist/esm/security/authorizations/initiator-organization-confinement.backend.js.map +1 -1
  833. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts +20 -20
  834. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.d.ts.map +1 -1
  835. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js +27 -28
  836. package/dist/esm/security/authorizations/organization-owner-floor.backend.utils.js.map +1 -1
  837. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.d.ts.map +1 -1
  838. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js +77 -3
  839. package/dist/esm/security/authorizations/platform-access-grant-custom-implementation.backend.service.js.map +1 -1
  840. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts +117 -0
  841. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.d.ts.map +1 -0
  842. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js +104 -0
  843. package/dist/esm/security/authorizations/privileged-access-review.backend.utils.js.map +1 -0
  844. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts +4 -0
  845. package/dist/esm/security/authorizations/role-ceiling.backend.utils.d.ts.map +1 -1
  846. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js +4 -0
  847. package/dist/esm/security/authorizations/role-ceiling.backend.utils.js.map +1 -1
  848. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts +93 -0
  849. package/dist/esm/security/authorizations/role-conferral.backend.utils.d.ts.map +1 -0
  850. package/dist/esm/security/authorizations/role-conferral.backend.utils.js +95 -0
  851. package/dist/esm/security/authorizations/role-conferral.backend.utils.js.map +1 -0
  852. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts +124 -1
  853. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.d.ts.map +1 -1
  854. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js +142 -5
  855. package/dist/esm/security/authorizations/scope-root-collection-confinement.backend.js.map +1 -1
  856. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +175 -14
  857. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -1
  858. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +385 -49
  859. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -1
  860. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts +6 -14
  861. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.d.ts.map +1 -1
  862. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js +13 -22
  863. package/dist/esm/security/authorizations/super-admin-floor.backend.utils.js.map +1 -1
  864. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts +60 -0
  865. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.d.ts.map +1 -0
  866. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js +79 -0
  867. package/dist/esm/security/connected-accounts/connection-target-authorization.backend.js.map +1 -0
  868. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts +161 -0
  869. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.d.ts.map +1 -0
  870. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js +512 -0
  871. package/dist/esm/security/connected-accounts/controllers/provider-connection.controller.backend.service.js.map +1 -0
  872. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts +59 -0
  873. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.d.ts.map +1 -0
  874. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js +22 -0
  875. package/dist/esm/security/connected-accounts/organization-provider-credential-resolver.port.js.map +1 -0
  876. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts +44 -0
  877. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.d.ts.map +1 -0
  878. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js +20 -0
  879. package/dist/esm/security/connected-accounts/provider-oauth2-refresher.port.js.map +1 -0
  880. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts +191 -0
  881. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.d.ts.map +1 -0
  882. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js +385 -0
  883. package/dist/esm/security/connected-accounts/services/organization-provider-credential-store.backend.service.js.map +1 -0
  884. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts +41 -0
  885. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  886. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js +358 -0
  887. package/dist/esm/security/connected-accounts/services/organization-provider-credentials.custom-impl.backend.service.js.map +1 -0
  888. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts +160 -0
  889. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.d.ts.map +1 -0
  890. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js +266 -0
  891. package/dist/esm/security/connected-accounts/services/provider-oauth2-exchange.backend.js.map +1 -0
  892. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts +111 -0
  893. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.d.ts.map +1 -0
  894. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js +107 -0
  895. package/dist/esm/security/connected-accounts/services/provider-oauth2-pending-authorization.backend.service.js.map +1 -0
  896. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts +54 -0
  897. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.d.ts.map +1 -0
  898. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js +153 -0
  899. package/dist/esm/security/connected-accounts/services/provider-oauth2-refresher.backend.service.js.map +1 -0
  900. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts +195 -0
  901. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.d.ts.map +1 -0
  902. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js +387 -0
  903. package/dist/esm/security/connected-accounts/services/user-provider-credential-store.backend.service.js.map +1 -0
  904. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts +45 -0
  905. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.d.ts.map +1 -0
  906. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js +291 -0
  907. package/dist/esm/security/connected-accounts/services/user-provider-credentials.custom-impl.backend.service.js.map +1 -0
  908. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts +62 -0
  909. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.d.ts.map +1 -0
  910. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js +29 -0
  911. package/dist/esm/security/connected-accounts/user-provider-credential-resolver.port.js.map +1 -0
  912. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts +127 -0
  913. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.d.ts.map +1 -0
  914. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js +277 -0
  915. package/dist/esm/security/connected-accounts/utils/provider-credential-envelope.backend.utils.js.map +1 -0
  916. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts +66 -0
  917. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.d.ts.map +1 -0
  918. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js +75 -0
  919. package/dist/esm/security/connected-accounts/utils/stored-credential-value.backend.utils.js.map +1 -0
  920. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts +18 -1
  921. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -1
  922. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js +110 -74
  923. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js.map +1 -1
  924. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts +22 -0
  925. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.d.ts.map +1 -0
  926. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js +22 -0
  927. package/dist/esm/security/consumable-tokens/consumable-token-models.exports.js.map +1 -0
  928. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts +17 -3
  929. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -1
  930. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js +12 -0
  931. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js.map +1 -1
  932. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +41 -3
  933. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -1
  934. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +83 -20
  935. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -1
  936. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts +9 -4
  937. package/dist/esm/security/credential-rotation-grace.backend.utils.d.ts.map +1 -1
  938. package/dist/esm/security/credential-rotation-grace.backend.utils.js +9 -4
  939. package/dist/esm/security/credential-rotation-grace.backend.utils.js.map +1 -1
  940. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -1
  941. package/dist/esm/security/jwt/services/jwt.backend.service.js +1 -18
  942. package/dist/esm/security/jwt/services/jwt.backend.service.js.map +1 -1
  943. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts +26 -0
  944. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.d.ts.map +1 -1
  945. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js +43 -0
  946. package/dist/esm/security/oauth-clients/oauth-client-generation.backend.utils.js.map +1 -1
  947. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts +8 -1
  948. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.d.ts.map +1 -1
  949. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js +49 -0
  950. package/dist/esm/security/oauth-clients/oauth-clients.custom-impl.backend.service.js.map +1 -1
  951. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -1
  952. package/dist/esm/security/scim/controllers/scim.backend.controller.js +17 -5
  953. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -1
  954. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +67 -29
  955. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -1
  956. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +47 -25
  957. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -1
  958. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts +10 -2
  959. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.d.ts.map +1 -1
  960. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js +10 -2
  961. package/dist/esm/security/ssrf/outbound-target-guard.backend.utils.js.map +1 -1
  962. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts +143 -0
  963. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.d.ts.map +1 -0
  964. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js +258 -0
  965. package/dist/esm/security/ssrf/pinned-outbound-fetch.backend.utils.js.map +1 -0
  966. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts +39 -0
  967. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.d.ts.map +1 -0
  968. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js +159 -0
  969. package/dist/esm/users/services/user-read-retained.custom-impl.backend.service.js.map +1 -0
  970. package/dist/tsconfig.build.tsbuildinfo +1 -1
  971. package/package.json +17 -9
  972. package/dist/esm/.builder.pid +0 -9
@@ -18,6 +18,7 @@ import { ExecutionContextHandlerBackendService } from '../../../runtime/services
18
18
  import { RepositoriesRegistryHandlerBackendService } from '../../../base-classes/services/repositories/repositories-registry-handler.backend.service';
19
19
  import { ResourceOperationHelperBackendService } from '../../../base-classes/services/resource-operations-helper.backend.service';
20
20
  import { FileFieldDetectionBackendService } from '../../../files/services/file-field-detection.backend.service';
21
+ import { FileUploadGrantBackendService } from '../../../files/services/file-upload-grant.backend.service';
21
22
  import { ResourceFileUploadHandlerBackendService } from '../../../files/handlers/resource-file-upload-handler.backend.service';
22
23
  import { AuditLogsBackendService } from '../../../compliance/audit-trails/services/audit-logs.backend.service';
23
24
  import { AnonymousSessionBackendService } from '../../../security/authentications/services/anonymous-session.backend.service';
@@ -58,13 +59,14 @@ export declare class ControllersRegistryHandlerBackendService {
58
59
  private readonly anonymousSessionService;
59
60
  private readonly appConfigService;
60
61
  private readonly rateLimitService;
62
+ private readonly fileUploadGrantService;
61
63
  private readonly controllers;
62
64
  private readonly customControllers;
63
65
  private readonly controllerOperationsMap;
64
66
  private readonly masterRouter;
65
67
  private isInitialized;
66
68
  protected logDebug: (message: string, context?: Record<string, unknown>) => void;
67
- constructor(servicesRegistry: ServicesRegistryHandlerBackendService, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, resourcesRegistry: ResourcesRegistryBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService);
69
+ constructor(servicesRegistry: ServicesRegistryHandlerBackendService, logger: LoggerService, errorBuilder: ErrorBuilderBackendService, errorHandler: ErrorHandlerService, jwtService: JwtBackendService, authorizationsService: AuthorizationsBackendService, executionContextCreator: ExecutionContextCreatorBackendService, executionContextHandler: ExecutionContextHandlerBackendService, resourcesRegistry: ResourcesRegistryBackendService, repositoriesRegistry: RepositoriesRegistryHandlerBackendService, resourceOperationHelper: ResourceOperationHelperBackendService, fileFieldDetection: FileFieldDetectionBackendService, fileUploadHandler: ResourceFileUploadHandlerBackendService, auditLogsService: AuditLogsBackendService, anonymousSessionService: AnonymousSessionBackendService, appConfigService: AppConfigurationService, rateLimitService: RateLimitBackendService, fileUploadGrantService: FileUploadGrantBackendService);
68
70
  /**
69
71
  * Initialize the registry with resource configurations and optional custom controllers
70
72
  *
@@ -1 +1 @@
1
- {"version":3,"file":"controllers-registry-handler.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controllers-registry-handler.backend.service.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ import { ExecutionContextHandlerBackendService } from '../../../runtime/services
29
29
  import { RepositoriesRegistryHandlerBackendService } from '../../../base-classes/services/repositories/repositories-registry-handler.backend.service.js';
30
30
  import { ResourceOperationHelperBackendService } from '../../../base-classes/services/resource-operations-helper.backend.service.js';
31
31
  import { FileFieldDetectionBackendService } from '../../../files/services/file-field-detection.backend.service.js';
32
+ import { FileUploadGrantBackendService } from '../../../files/services/file-upload-grant.backend.service.js';
32
33
  import { ResourceFileUploadHandlerBackendService } from '../../../files/handlers/resource-file-upload-handler.backend.service.js';
33
34
  import { AuditLogsBackendService } from '../../../compliance/audit-trails/services/audit-logs.backend.service.js';
34
35
  import { AnonymousSessionBackendService } from '../../../security/authentications/services/anonymous-session.backend.service.js';
@@ -69,13 +70,14 @@ let ControllersRegistryHandlerBackendService = class ControllersRegistryHandlerB
69
70
  anonymousSessionService;
70
71
  appConfigService;
71
72
  rateLimitService;
73
+ fileUploadGrantService;
72
74
  controllers;
73
75
  customControllers;
74
76
  controllerOperationsMap;
75
77
  masterRouter;
76
78
  isInitialized = false;
77
79
  logDebug;
78
- constructor(servicesRegistry, logger, errorBuilder, errorHandler, jwtService, authorizationsService, executionContextCreator, executionContextHandler, resourcesRegistry, repositoriesRegistry, resourceOperationHelper, fileFieldDetection, fileUploadHandler, auditLogsService, anonymousSessionService, appConfigService, rateLimitService) {
80
+ constructor(servicesRegistry, logger, errorBuilder, errorHandler, jwtService, authorizationsService, executionContextCreator, executionContextHandler, resourcesRegistry, repositoriesRegistry, resourceOperationHelper, fileFieldDetection, fileUploadHandler, auditLogsService, anonymousSessionService, appConfigService, rateLimitService, fileUploadGrantService) {
79
81
  this.servicesRegistry = servicesRegistry;
80
82
  this.logger = logger;
81
83
  this.errorBuilder = errorBuilder;
@@ -93,6 +95,7 @@ let ControllersRegistryHandlerBackendService = class ControllersRegistryHandlerB
93
95
  this.anonymousSessionService = anonymousSessionService;
94
96
  this.appConfigService = appConfigService;
95
97
  this.rateLimitService = rateLimitService;
98
+ this.fileUploadGrantService = fileUploadGrantService;
96
99
  this.controllers = new Map();
97
100
  this.customControllers = new Map();
98
101
  this.controllerOperationsMap = new Map();
@@ -157,7 +160,7 @@ let ControllersRegistryHandlerBackendService = class ControllersRegistryHandlerB
157
160
  return;
158
161
  }
159
162
  // Create controller instance using static factory method
160
- const controller = ControllerResourceBackendService.createInstance(resourceType, this.logger, this.errorBuilder, this.errorHandler, this.jwtService, this.authorizationsService, this.resourcesRegistry, this.executionContextCreator, this.executionContextHandler, this.repositoriesRegistry, this.resourceOperationHelper, this.servicesRegistry, this.fileFieldDetection, this.fileUploadHandler, this.auditLogsService, this.anonymousSessionService, this.appConfigService, this.rateLimitService);
163
+ const controller = ControllerResourceBackendService.createInstance(resourceType, this.logger, this.errorBuilder, this.errorHandler, this.jwtService, this.authorizationsService, this.resourcesRegistry, this.executionContextCreator, this.executionContextHandler, this.repositoriesRegistry, this.resourceOperationHelper, this.servicesRegistry, this.fileFieldDetection, this.fileUploadHandler, this.auditLogsService, this.anonymousSessionService, this.appConfigService, this.rateLimitService, this.fileUploadGrantService);
161
164
  // Store controller
162
165
  this.controllers.set(resourceType, controller);
163
166
  this.logDebug('Controller created successfully', {
@@ -349,6 +352,7 @@ ControllersRegistryHandlerBackendService = __decorate([
349
352
  __param(14, inject(SAAS_SERVICE_TYPES.AnonymousSessionService)),
350
353
  __param(15, inject(SAAS_SERVICE_TYPES.AppConfigService)),
351
354
  __param(16, inject(SAAS_SERVICE_TYPES.RateLimitBackendService)),
355
+ __param(17, inject(SAAS_SERVICE_TYPES.FileUploadGrantService)),
352
356
  __metadata("design:paramtypes", [ServicesRegistryHandlerBackendService,
353
357
  LoggerService,
354
358
  ErrorBuilderBackendService,
@@ -365,7 +369,8 @@ ControllersRegistryHandlerBackendService = __decorate([
365
369
  AuditLogsBackendService,
366
370
  AnonymousSessionBackendService,
367
371
  AppConfigurationService,
368
- RateLimitBackendService])
372
+ RateLimitBackendService,
373
+ FileUploadGrantBackendService])
369
374
  ], ControllersRegistryHandlerBackendService);
370
375
  export { ControllersRegistryHandlerBackendService };
371
376
  //# sourceMappingURL=controllers-registry-handler.backend.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controllers-registry-handler.backend.service.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata';\nimport { injectable, inject } from 'inversify';\nimport { Router } from 'express';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport type {\n AnyResourceConfiguration,\n ResourceConfiguration,\n ResourceConfiguration_OperationPath,\n ResourceConfiguration_Operation_UrlInitiatorInfo\n} from '@wildo-ai/saas-models';\nimport {\n ResourceType,\n\n CoreResourceOperation,\n ResourcesConfig_OperationPathUtils,\n ErrorType,\n ErrorCustomMessageReference,\n ResourceOperationVariantType,\n HttpMethod\n} from '@wildo-ai/saas-models';\nimport { EnumLikeType } from '@wildo-ai/zod-decorators';\nimport { ControllerResourceBackendService } from './controller-resource.backend.service';\nimport { AbstractControllerBackendService } from './abstract-controller.backend.service';\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { ErrorHandlerService } from '~wildo-backend-lib/errors/services/error-handler.backend.service';\nimport { JwtBackendService } from '~wildo-backend-lib/security/jwt/services/jwt.backend.service';\nimport { AuthorizationsBackendService } from '~wildo-backend-lib/security/authorizations/services/authorizations.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport { z } from 'zod';\nimport { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport { ExecutionContextHandlerBackendService } from '~wildo-backend-lib/runtime/services/execution-context-handler.backend.service';\nimport { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport { ResourceOperationHelperBackendService } from '~wildo-backend-lib/base-classes/services/resource-operations-helper.backend.service';\nimport { FileFieldDetectionBackendService } from '~wildo-backend-lib/files/services/file-field-detection.backend.service';\nimport { ResourceFileUploadHandlerBackendService } from '~wildo-backend-lib/files/handlers/resource-file-upload-handler.backend.service';\nimport { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\nimport { AnonymousSessionBackendService } from '~wildo-backend-lib/security/authentications/services/anonymous-session.backend.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { RateLimitBackendService } from '~wildo-backend-lib/errors/services/rate-limit.backend.service';\n\n/**\n * Controllers Registry Handler Backend Service\n *\n * Central registry for managing all controller resources in the application.\n * Provides unified Express router registration, middleware management,\n * and HTTP endpoint coordination across all resource controllers.\n *\n * Features:\n * - Resource controller lifecycle management (create, store, retrieve)\n * - Custom controller registration and management\n * - Express router aggregation and registration\n * - Global middleware management\n * - Route discovery and debugging\n * - Cross-controller coordination\n * - HTTP endpoint management\n * - Unified error handling with ErrorBuilderBackendService\n */\n\n@injectable()\nexport class ControllersRegistryHandlerBackendService {\n\n private readonly controllers: Map<ResourceType, ControllerResourceBackendService<any, any, any>>;\n private readonly customControllers: Map<string, AbstractControllerBackendService>;\n private readonly controllerOperationsMap: Map<string, {\n controller: ControllerResourceBackendService<any, any, any>;\n operationPath: ResourceConfiguration_OperationPath<any, any>;\n }>;\n private readonly masterRouter: Router;\n private isInitialized = false;\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService) private readonly servicesRegistry: ServicesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.ErrorHandlerService) private readonly errorHandler: ErrorHandlerService,\n @inject(SAAS_SERVICE_TYPES.JwtBackendService) private readonly jwtService: JwtBackendService,\n @inject(SAAS_SERVICE_TYPES.AuthorizationsService) private readonly authorizationsService: AuthorizationsBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService) private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextHandlerService) private readonly executionContextHandler: ExecutionContextHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService) private readonly repositoriesRegistry: RepositoriesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceOperationHelperService) private readonly resourceOperationHelper: ResourceOperationHelperBackendService,\n @inject(SAAS_SERVICE_TYPES.FileFieldDetectionService) private readonly fileFieldDetection: FileFieldDetectionBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceFileUploadHandlerService) private readonly fileUploadHandler: ResourceFileUploadHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.AuditLogsService) private readonly auditLogsService: AuditLogsBackendService,\n @inject(SAAS_SERVICE_TYPES.AnonymousSessionService) private readonly anonymousSessionService: AnonymousSessionBackendService,\n @inject(SAAS_SERVICE_TYPES.AppConfigService) private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.RateLimitBackendService) private readonly rateLimitService: RateLimitBackendService,\n ) {\n\n this.controllers = new Map();\n this.customControllers = new Map();\n this.controllerOperationsMap = new Map();\n this.masterRouter = Router();\n\n this.logDebug = this.logger.debugByType('ControllersRegistryHandler');\n this.logger.setDebugTypeLogging('ControllersRegistryHandler', false);\n\n this.logDebug('Controllers registry service created');\n }\n\n\n\n\n // ================================\n // Initialization\n // ================================\n\n /**\n * Initialize the registry with resource configurations and optional custom controllers\n *\n * @param customControllers - Optional array of custom controllers to register\n * @param controllerWhiteList - Optional list of resource types to limit controller instantiation to\n */\n public async initialize(\n customControllers?: AbstractControllerBackendService[],\n controllerWhiteList?: string[]\n ): Promise<void> {\n if (this.isInitialized) {\n this.logDebug('Registry already initialized, skipping...');\n return;\n }\n\n const resourceConfigurations: { [key: string]: AnyResourceConfiguration } = this.resourcesRegistry.getResourcesRegistry().resourceConfigurations;\n\n // Filter resource configurations based on whitelist if provided\n let filteredResourceConfigurations: { [key: string]: AnyResourceConfiguration } = resourceConfigurations;\n if (controllerWhiteList ) { //&& controllerWhiteList.length > 0\n filteredResourceConfigurations = {};\n for (const resourceType in resourceConfigurations) {\n if (controllerWhiteList.includes(resourceType)) {\n filteredResourceConfigurations[resourceType] = resourceConfigurations[resourceType];\n }\n }\n\n this.logDebug('Applied controller whitelist filter', { originalResourceCount: resourceConfigurations.size, filteredResourceCount: filteredResourceConfigurations.size, whitelistedResources: controllerWhiteList, filteredResources: Object.keys(filteredResourceConfigurations) });\n }\n\n this.logDebug('Initializing controllers', { resourceCount: Object.keys(filteredResourceConfigurations).length, resourceTypes: Object.keys(filteredResourceConfigurations), customControllerCount: customControllers?.length || 0, controllerWhiteListApplied: controllerWhiteList ? true : false });\n\n // First pass: Create all resource controllers (filtered by whitelist if provided)\n for (const resourceType in filteredResourceConfigurations) {\n try {\n await this.createController(resourceType);\n } catch (error) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL,undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_BUILD_ERROR,\n context: { resourceType, error: describeCaughtError(error)} }\n );\n }\n }\n\n // Second pass: Initialize custom controllers\n if (customControllers && customControllers.length > 0) {\n this.initializeCustomControllers(customControllers);\n }\n\n\n this.registerAllRoutes();\n\n\n this.buildOperationPathsMap();\n\n this.isInitialized = true;\n\n this.logDebug('Controllers registry initialization completed', { controllerCount: this.controllers.size, customControllerCount: this.customControllers.size, operationPathsCount: this.controllerOperationsMap.size });\n }\n\n private async createController(\n resourceType: ResourceType,\n\n ): Promise<void> {\n this.logDebug('Creating controller', { resourceType });\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n // Only create controllers for resources that have URL-bearing operations\n const hasApiCallOperations = resourceConfiguration.operations?.some(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n if (!hasApiCallOperations) {\n this.logDebug('Skipping controller creation - no URL-bearing operations', { resourceType });\n return;\n }\n\n // Create controller instance using static factory method\n const controller = ControllerResourceBackendService.createInstance(\n resourceType,\n this.logger,\n this.errorBuilder,\n this.errorHandler,\n this.jwtService,\n this.authorizationsService,\n this.resourcesRegistry,\n this.executionContextCreator,\n this.executionContextHandler,\n this.repositoriesRegistry,\n this.resourceOperationHelper,\n this.servicesRegistry,\n this.fileFieldDetection,\n this.fileUploadHandler,\n this.auditLogsService,\n this.anonymousSessionService,\n this.appConfigService,\n this.rateLimitService,\n );\n\n // Store controller\n this.controllers.set(resourceType, controller);\n\n this.logDebug('Controller created successfully', {\n resourceType,\n operationsCount: resourceConfiguration.operations?.length || 0\n });\n }\n\n\n private initializeCustomControllers(customControllers: AbstractControllerBackendService[]): void {\n this.logDebug('Initializing custom controllers', { count: customControllers.length });\n\n customControllers.forEach(controller => {\n const controllerName = controller.getControllerName();\n\n if (this.customControllers.has(controllerName)) {\n throw this.errorBuilder.buildError( ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_CUSTOM_NAME_CONFLICT, context: { controllerName } } );\n }\n\n this.customControllers.set(controllerName, controller);\n\n this.logDebug('Custom controller initialized', { controllerName });\n });\n\n this.logDebug('All custom controllers initialized', { totalCustomControllers: this.customControllers.size });\n }\n\n\n private registerAllRoutes(): void {\n this.logDebug('Registering all controller routes');\n\n\n this.controllers.forEach((controller, resourceType) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Resource controller routes registered', { resourceType, mountPath: '/' });\n });\n\n\n this.customControllers.forEach((controller, controllerName) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Custom controller routes registered', { controllerName, mountPath: '/' });\n });\n\n this.logDebug('All controller routes registered in master router', { resourceControllers: this.controllers.size, customControllers: this.customControllers.size });\n }\n\n private buildOperationPathsMap(): void {\n this.logDebug('Building operation paths map');\n\n let totalOperationPaths = 0;\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n if (!resourceConfiguration.operations) {\n return;\n }\n\n const apiCallOperations = resourceConfiguration.operations.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n apiCallOperations.forEach(operation => {\n const operationPath = ResourcesConfig_OperationPathUtils.extractOperationPath(operation);\n const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n\n this.controllerOperationsMap.set(operationKey, { controller, operationPath });\n\n totalOperationPaths++;\n });\n });\n\n this.logDebug('Operation paths map built', { totalOperationPaths, operationKeys: Array.from(this.controllerOperationsMap.keys()).slice(0, 5) });\n }\n\n // ================================\n // Getters & Utils\n // ================================\n\n public getController<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> | undefined {\n const controller = this.controllers.get(resourceType);\n\n if (!controller) {\n this.logDebug('Controller not found', { resourceType });\n return undefined;\n }\n\n return controller as ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;\n }\n\n public getControllerOrThrow<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> {\n const controller = this.getController<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>(resourceType);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { resourceType } } );\n }\n\n return controller;\n }\n\n public getCustomController(controllerName: string): AbstractControllerBackendService | undefined {\n const controller = this.customControllers.get(controllerName);\n\n if (!controller) {\n this.logDebug('Custom controller not found', { controllerName });\n return undefined;\n }\n\n return controller;\n }\n\n\n public getCustomControllerOrThrow(controllerName: string): AbstractControllerBackendService {\n const controller = this.getCustomController(controllerName);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { controllerName } } );\n }\n\n return controller;\n }\n\n\n public getAllCustomControllers(): Map<string, AbstractControllerBackendService> {\n return new Map(this.customControllers);\n }\n\n public getAvailableOperationPaths(): ResourceConfiguration_OperationPath<any, any>[] {\n return Array.from(this.controllerOperationsMap.values()).map(info => info.operationPath);\n }\n\n\n public hasController(resourceType: ResourceType): boolean {\n return this.controllers.has(resourceType);\n }\n\n public hasCustomController(controllerName: string): boolean {\n return this.customControllers.has(controllerName);\n }\n\n public getMasterRouter(): Router {\n return this.masterRouter;\n }\n\n\n\n // ================================\n // Debug Methods\n // ================================\n\n public getRoutesInfo(): {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] {\n const routesInfo: {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] = [];\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfig = this.resourcesRegistry.getResourceConfiguration(resourceType);\n const apiCallOperations = resourceConfig.operations?.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)) || [];\n\n const routes: { method: HttpMethod; url: string; roles: string[] }[] = [];\n apiCallOperations.forEach(operation => {\n // Extract roles from operation variant\n const roles = (operation.roles || []).map(role => String(role));\n\n // URLs are stored in initiatorInfos array\n if ('initiatorInfos' in operation && Array.isArray(operation.initiatorInfos) && 'httpVerb' in operation) {\n const httpVerb = operation.httpVerb as HttpMethod;\n operation.initiatorInfos.forEach((initiatorInfo: ResourceConfiguration_Operation_UrlInitiatorInfo) => {\n routes.push({ method: httpVerb, url: initiatorInfo.url, roles: [...roles] });\n });\n }\n });\n\n routesInfo.push({ resourceType, operationCount: apiCallOperations.length, routes });\n });\n\n return routesInfo;\n }\n\n\n public getDebugInfo(): {\n controllerCount: number;\n customControllerCount: number;\n operationPathsCount: number;\n resourceTypes: ResourceType[];\n customControllerNames: string[];\n totalRoutes: number;\n isInitialized: boolean;\n } {\n const routesInfo = this.getRoutesInfo();\n const totalRoutes = routesInfo.reduce((sum, info) => sum + info.routes.length, 0);\n\n return {\n controllerCount: this.controllers.size,\n customControllerCount: this.customControllers.size,\n operationPathsCount: this.controllerOperationsMap.size,\n resourceTypes: Array.from(this.controllers.keys()),\n customControllerNames: Array.from(this.customControllers.keys()),\n totalRoutes,\n isInitialized: this.isInitialized\n };\n }\n\n public displayAllRoutes(): void {\n this.logDebug('\\n=== 🌐 REGISTERED ROUTES SUMMARY ===\\n');\n\n const routesInfo = this.getRoutesInfo();\n let totalRoutes = 0;\n\n // Display resource controllers\n this.logDebug('📦 RESOURCE CONTROLLERS:');\n routesInfo.forEach(({ resourceType, operationCount, routes }) => {\n this.logDebug(` Resource: ${resourceType}`);\n this.logDebug(` Operations: ${operationCount}`);\n this.logDebug(` Routes (${routes.length}):`);\n\n routes.forEach((route, index) => {\n const rolesStr = route.roles.length > 0 ? `[${route.roles.join(', ')}] ` : '';\n this.logDebug(` ${index + 1}. ${rolesStr}${route.method} ${route.url}`);\n });\n\n totalRoutes += routes.length;\n this.logDebug('');\n });\n\n // Display custom controllers\n if (this.customControllers.size > 0) {\n this.logDebug('🛠️ CUSTOM CONTROLLERS:');\n this.customControllers.forEach((controller, controllerName) => {\n this.logDebug(` Controller: ${controllerName}`);\n const routeInfo = controller.getRouteInfo();\n this.logDebug(` Routes: ${routeInfo.routeCount || 'Unknown (manual tracking needed)'}`);\n this.logDebug('');\n });\n }\n\n this.logDebug(`📊 SUMMARY:`);\n this.logDebug(` Total Resources: ${routesInfo.length}`);\n this.logDebug(` Total Resource Controllers: ${this.controllers.size}`);\n this.logDebug(` Total Custom Controllers: ${this.customControllers.size}`);\n this.logDebug(` Total Routes: ${totalRoutes}`);\n this.logDebug(` Initialized: ${this.isInitialized}`);\n this.logDebug(`=================================\\n`);\n }\n}\n"]}
1
+ {"version":3,"file":"controllers-registry-handler.backend.service.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata';\nimport { injectable, inject } from 'inversify';\nimport { Router } from 'express';\nimport { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';\nimport { describeCaughtError } from '~wildo-backend-lib/errors/utils/error-log-level-classification.backend.utils';\nimport type {\n AnyResourceConfiguration,\n ResourceConfiguration,\n ResourceConfiguration_OperationPath,\n ResourceConfiguration_Operation_UrlInitiatorInfo\n} from '@wildo-ai/saas-models';\nimport {\n ResourceType,\n\n CoreResourceOperation,\n ResourcesConfig_OperationPathUtils,\n ErrorType,\n ErrorCustomMessageReference,\n ResourceOperationVariantType,\n HttpMethod\n} from '@wildo-ai/saas-models';\nimport { EnumLikeType } from '@wildo-ai/zod-decorators';\nimport { ControllerResourceBackendService } from './controller-resource.backend.service';\nimport { AbstractControllerBackendService } from './abstract-controller.backend.service';\nimport { ServicesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/services/services-registry-handler.backend.service';\nimport { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';\nimport { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';\nimport { ErrorHandlerService } from '~wildo-backend-lib/errors/services/error-handler.backend.service';\nimport { JwtBackendService } from '~wildo-backend-lib/security/jwt/services/jwt.backend.service';\nimport { AuthorizationsBackendService } from '~wildo-backend-lib/security/authorizations/services/authorizations.backend.service';\nimport { ExecutionContextCreatorBackendService } from '~wildo-backend-lib/runtime/services/execution-context-creator.backend.service';\nimport { z } from 'zod';\nimport { ResourcesRegistryBackendService } from '~wildo-backend-lib/resources/services/resources-registry.backend.service';\nimport { ExecutionContextHandlerBackendService } from '~wildo-backend-lib/runtime/services/execution-context-handler.backend.service';\nimport { RepositoriesRegistryHandlerBackendService } from '~wildo-backend-lib/base-classes/services/repositories/repositories-registry-handler.backend.service';\nimport { ResourceOperationHelperBackendService } from '~wildo-backend-lib/base-classes/services/resource-operations-helper.backend.service';\nimport { FileFieldDetectionBackendService } from '~wildo-backend-lib/files/services/file-field-detection.backend.service';\nimport { FileUploadGrantBackendService } from '~wildo-backend-lib/files/services/file-upload-grant.backend.service';\nimport { ResourceFileUploadHandlerBackendService } from '~wildo-backend-lib/files/handlers/resource-file-upload-handler.backend.service';\nimport { AuditLogsBackendService } from '~wildo-backend-lib/compliance/audit-trails/services/audit-logs.backend.service';\nimport { AnonymousSessionBackendService } from '~wildo-backend-lib/security/authentications/services/anonymous-session.backend.service';\nimport { AppConfigurationService } from '~wildo-backend-lib/config/services/app-configuration.backend.service';\nimport { RateLimitBackendService } from '~wildo-backend-lib/errors/services/rate-limit.backend.service';\n\n/**\n * Controllers Registry Handler Backend Service\n *\n * Central registry for managing all controller resources in the application.\n * Provides unified Express router registration, middleware management,\n * and HTTP endpoint coordination across all resource controllers.\n *\n * Features:\n * - Resource controller lifecycle management (create, store, retrieve)\n * - Custom controller registration and management\n * - Express router aggregation and registration\n * - Global middleware management\n * - Route discovery and debugging\n * - Cross-controller coordination\n * - HTTP endpoint management\n * - Unified error handling with ErrorBuilderBackendService\n */\n\n@injectable()\nexport class ControllersRegistryHandlerBackendService {\n\n private readonly controllers: Map<ResourceType, ControllerResourceBackendService<any, any, any>>;\n private readonly customControllers: Map<string, AbstractControllerBackendService>;\n private readonly controllerOperationsMap: Map<string, {\n controller: ControllerResourceBackendService<any, any, any>;\n operationPath: ResourceConfiguration_OperationPath<any, any>;\n }>;\n private readonly masterRouter: Router;\n private isInitialized = false;\n protected logDebug: (message: string, context?: Record<string, unknown>) => void;\n\n\n constructor(\n @inject(SAAS_SERVICE_TYPES.ServicesRegistryHandlerService) private readonly servicesRegistry: ServicesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.Logger) private readonly logger: LoggerService,\n @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private readonly errorBuilder: ErrorBuilderBackendService,\n @inject(SAAS_SERVICE_TYPES.ErrorHandlerService) private readonly errorHandler: ErrorHandlerService,\n @inject(SAAS_SERVICE_TYPES.JwtBackendService) private readonly jwtService: JwtBackendService,\n @inject(SAAS_SERVICE_TYPES.AuthorizationsService) private readonly authorizationsService: AuthorizationsBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextCreatorBackendService) private readonly executionContextCreator: ExecutionContextCreatorBackendService,\n @inject(SAAS_SERVICE_TYPES.ExecutionContextHandlerService) private readonly executionContextHandler: ExecutionContextHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceRegistryService) private readonly resourcesRegistry: ResourcesRegistryBackendService,\n @inject(SAAS_SERVICE_TYPES.RepositoriesRegistryHandlerService) private readonly repositoriesRegistry: RepositoriesRegistryHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceOperationHelperService) private readonly resourceOperationHelper: ResourceOperationHelperBackendService,\n @inject(SAAS_SERVICE_TYPES.FileFieldDetectionService) private readonly fileFieldDetection: FileFieldDetectionBackendService,\n @inject(SAAS_SERVICE_TYPES.ResourceFileUploadHandlerService) private readonly fileUploadHandler: ResourceFileUploadHandlerBackendService,\n @inject(SAAS_SERVICE_TYPES.AuditLogsService) private readonly auditLogsService: AuditLogsBackendService,\n @inject(SAAS_SERVICE_TYPES.AnonymousSessionService) private readonly anonymousSessionService: AnonymousSessionBackendService,\n @inject(SAAS_SERVICE_TYPES.AppConfigService) private readonly appConfigService: AppConfigurationService,\n @inject(SAAS_SERVICE_TYPES.RateLimitBackendService) private readonly rateLimitService: RateLimitBackendService,\n @inject(SAAS_SERVICE_TYPES.FileUploadGrantService) private readonly fileUploadGrantService: FileUploadGrantBackendService,\n ) {\n\n this.controllers = new Map();\n this.customControllers = new Map();\n this.controllerOperationsMap = new Map();\n this.masterRouter = Router();\n\n this.logDebug = this.logger.debugByType('ControllersRegistryHandler');\n this.logger.setDebugTypeLogging('ControllersRegistryHandler', false);\n\n this.logDebug('Controllers registry service created');\n }\n\n\n\n\n // ================================\n // Initialization\n // ================================\n\n /**\n * Initialize the registry with resource configurations and optional custom controllers\n *\n * @param customControllers - Optional array of custom controllers to register\n * @param controllerWhiteList - Optional list of resource types to limit controller instantiation to\n */\n public async initialize(\n customControllers?: AbstractControllerBackendService[],\n controllerWhiteList?: string[]\n ): Promise<void> {\n if (this.isInitialized) {\n this.logDebug('Registry already initialized, skipping...');\n return;\n }\n\n const resourceConfigurations: { [key: string]: AnyResourceConfiguration } = this.resourcesRegistry.getResourcesRegistry().resourceConfigurations;\n\n // Filter resource configurations based on whitelist if provided\n let filteredResourceConfigurations: { [key: string]: AnyResourceConfiguration } = resourceConfigurations;\n if (controllerWhiteList ) { //&& controllerWhiteList.length > 0\n filteredResourceConfigurations = {};\n for (const resourceType in resourceConfigurations) {\n if (controllerWhiteList.includes(resourceType)) {\n filteredResourceConfigurations[resourceType] = resourceConfigurations[resourceType];\n }\n }\n\n this.logDebug('Applied controller whitelist filter', { originalResourceCount: resourceConfigurations.size, filteredResourceCount: filteredResourceConfigurations.size, whitelistedResources: controllerWhiteList, filteredResources: Object.keys(filteredResourceConfigurations) });\n }\n\n this.logDebug('Initializing controllers', { resourceCount: Object.keys(filteredResourceConfigurations).length, resourceTypes: Object.keys(filteredResourceConfigurations), customControllerCount: customControllers?.length || 0, controllerWhiteListApplied: controllerWhiteList ? true : false });\n\n // First pass: Create all resource controllers (filtered by whitelist if provided)\n for (const resourceType in filteredResourceConfigurations) {\n try {\n await this.createController(resourceType);\n } catch (error) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL,undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_BUILD_ERROR,\n context: { resourceType, error: describeCaughtError(error)} }\n );\n }\n }\n\n // Second pass: Initialize custom controllers\n if (customControllers && customControllers.length > 0) {\n this.initializeCustomControllers(customControllers);\n }\n\n\n this.registerAllRoutes();\n\n\n this.buildOperationPathsMap();\n\n this.isInitialized = true;\n\n this.logDebug('Controllers registry initialization completed', { controllerCount: this.controllers.size, customControllerCount: this.customControllers.size, operationPathsCount: this.controllerOperationsMap.size });\n }\n\n private async createController(\n resourceType: ResourceType,\n\n ): Promise<void> {\n this.logDebug('Creating controller', { resourceType });\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n // Only create controllers for resources that have URL-bearing operations\n const hasApiCallOperations = resourceConfiguration.operations?.some(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n if (!hasApiCallOperations) {\n this.logDebug('Skipping controller creation - no URL-bearing operations', { resourceType });\n return;\n }\n\n // Create controller instance using static factory method\n const controller = ControllerResourceBackendService.createInstance(\n resourceType,\n this.logger,\n this.errorBuilder,\n this.errorHandler,\n this.jwtService,\n this.authorizationsService,\n this.resourcesRegistry,\n this.executionContextCreator,\n this.executionContextHandler,\n this.repositoriesRegistry,\n this.resourceOperationHelper,\n this.servicesRegistry,\n this.fileFieldDetection,\n this.fileUploadHandler,\n this.auditLogsService,\n this.anonymousSessionService,\n this.appConfigService,\n this.rateLimitService,\n this.fileUploadGrantService,\n );\n\n // Store controller\n this.controllers.set(resourceType, controller);\n\n this.logDebug('Controller created successfully', {\n resourceType,\n operationsCount: resourceConfiguration.operations?.length || 0\n });\n }\n\n\n private initializeCustomControllers(customControllers: AbstractControllerBackendService[]): void {\n this.logDebug('Initializing custom controllers', { count: customControllers.length });\n\n customControllers.forEach(controller => {\n const controllerName = controller.getControllerName();\n\n if (this.customControllers.has(controllerName)) {\n throw this.errorBuilder.buildError( ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_CUSTOM_NAME_CONFLICT, context: { controllerName } } );\n }\n\n this.customControllers.set(controllerName, controller);\n\n this.logDebug('Custom controller initialized', { controllerName });\n });\n\n this.logDebug('All custom controllers initialized', { totalCustomControllers: this.customControllers.size });\n }\n\n\n private registerAllRoutes(): void {\n this.logDebug('Registering all controller routes');\n\n\n this.controllers.forEach((controller, resourceType) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Resource controller routes registered', { resourceType, mountPath: '/' });\n });\n\n\n this.customControllers.forEach((controller, controllerName) => {\n const controllerRouter = controller.getRouter();\n\n this.masterRouter.use(controllerRouter);\n\n this.logDebug('Custom controller routes registered', { controllerName, mountPath: '/' });\n });\n\n this.logDebug('All controller routes registered in master router', { resourceControllers: this.controllers.size, customControllers: this.customControllers.size });\n }\n\n private buildOperationPathsMap(): void {\n this.logDebug('Building operation paths map');\n\n let totalOperationPaths = 0;\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfiguration = this.resourcesRegistry.getResourceConfiguration(resourceType);\n\n if (!resourceConfiguration.operations) {\n return;\n }\n\n const apiCallOperations = resourceConfiguration.operations.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)\n );\n\n apiCallOperations.forEach(operation => {\n const operationPath = ResourcesConfig_OperationPathUtils.extractOperationPath(operation);\n const operationKey = ResourcesConfig_OperationPathUtils.createOperationPathKey(operationPath);\n\n this.controllerOperationsMap.set(operationKey, { controller, operationPath });\n\n totalOperationPaths++;\n });\n });\n\n this.logDebug('Operation paths map built', { totalOperationPaths, operationKeys: Array.from(this.controllerOperationsMap.keys()).slice(0, 5) });\n }\n\n // ================================\n // Getters & Utils\n // ================================\n\n public getController<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> | undefined {\n const controller = this.controllers.get(resourceType);\n\n if (!controller) {\n this.logDebug('Controller not found', { resourceType });\n return undefined;\n }\n\n return controller as ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>;\n }\n\n public getControllerOrThrow<\n TCustomOperationEnum extends EnumLikeType | undefined = undefined,\n TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined = undefined,\n TMainSchema extends z.ZodTypeAny = z.ZodTypeAny,\n >(\n resourceType: ResourceType\n ): ControllerResourceBackendService<TCustomOperationEnum, TCoreOperationEnum, TMainSchema> {\n const controller = this.getController<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>(resourceType);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { resourceType } } );\n }\n\n return controller;\n }\n\n public getCustomController(controllerName: string): AbstractControllerBackendService | undefined {\n const controller = this.customControllers.get(controllerName);\n\n if (!controller) {\n this.logDebug('Custom controller not found', { controllerName });\n return undefined;\n }\n\n return controller;\n }\n\n\n public getCustomControllerOrThrow(controllerName: string): AbstractControllerBackendService {\n const controller = this.getCustomController(controllerName);\n\n if (!controller) {\n throw this.errorBuilder.buildError(\n ErrorType.INTERNAL, undefined,\n { customMessageReference: ErrorCustomMessageReference.CONTROLLER_RESOURCE_NOT_FOUND, context: { controllerName } } );\n }\n\n return controller;\n }\n\n\n public getAllCustomControllers(): Map<string, AbstractControllerBackendService> {\n return new Map(this.customControllers);\n }\n\n public getAvailableOperationPaths(): ResourceConfiguration_OperationPath<any, any>[] {\n return Array.from(this.controllerOperationsMap.values()).map(info => info.operationPath);\n }\n\n\n public hasController(resourceType: ResourceType): boolean {\n return this.controllers.has(resourceType);\n }\n\n public hasCustomController(controllerName: string): boolean {\n return this.customControllers.has(controllerName);\n }\n\n public getMasterRouter(): Router {\n return this.masterRouter;\n }\n\n\n\n // ================================\n // Debug Methods\n // ================================\n\n public getRoutesInfo(): {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] {\n const routesInfo: {\n resourceType: ResourceType;\n operationCount: number;\n routes: { method: HttpMethod; url: string; roles: string[] }[];\n }[] = [];\n\n this.controllers.forEach((controller, resourceType) => {\n const resourceConfig = this.resourcesRegistry.getResourceConfiguration(resourceType);\n const apiCallOperations = resourceConfig.operations?.filter(\n op => [ResourceOperationVariantType.API_CALL, ResourceOperationVariantType.API_CALL_WITH_CALLBACK].includes(op.variantType)) || [];\n\n const routes: { method: HttpMethod; url: string; roles: string[] }[] = [];\n apiCallOperations.forEach(operation => {\n // Extract roles from operation variant\n const roles = (operation.roles || []).map(role => String(role));\n\n // URLs are stored in initiatorInfos array\n if ('initiatorInfos' in operation && Array.isArray(operation.initiatorInfos) && 'httpVerb' in operation) {\n const httpVerb = operation.httpVerb as HttpMethod;\n operation.initiatorInfos.forEach((initiatorInfo: ResourceConfiguration_Operation_UrlInitiatorInfo) => {\n routes.push({ method: httpVerb, url: initiatorInfo.url, roles: [...roles] });\n });\n }\n });\n\n routesInfo.push({ resourceType, operationCount: apiCallOperations.length, routes });\n });\n\n return routesInfo;\n }\n\n\n public getDebugInfo(): {\n controllerCount: number;\n customControllerCount: number;\n operationPathsCount: number;\n resourceTypes: ResourceType[];\n customControllerNames: string[];\n totalRoutes: number;\n isInitialized: boolean;\n } {\n const routesInfo = this.getRoutesInfo();\n const totalRoutes = routesInfo.reduce((sum, info) => sum + info.routes.length, 0);\n\n return {\n controllerCount: this.controllers.size,\n customControllerCount: this.customControllers.size,\n operationPathsCount: this.controllerOperationsMap.size,\n resourceTypes: Array.from(this.controllers.keys()),\n customControllerNames: Array.from(this.customControllers.keys()),\n totalRoutes,\n isInitialized: this.isInitialized\n };\n }\n\n public displayAllRoutes(): void {\n this.logDebug('\\n=== 🌐 REGISTERED ROUTES SUMMARY ===\\n');\n\n const routesInfo = this.getRoutesInfo();\n let totalRoutes = 0;\n\n // Display resource controllers\n this.logDebug('📦 RESOURCE CONTROLLERS:');\n routesInfo.forEach(({ resourceType, operationCount, routes }) => {\n this.logDebug(` Resource: ${resourceType}`);\n this.logDebug(` Operations: ${operationCount}`);\n this.logDebug(` Routes (${routes.length}):`);\n\n routes.forEach((route, index) => {\n const rolesStr = route.roles.length > 0 ? `[${route.roles.join(', ')}] ` : '';\n this.logDebug(` ${index + 1}. ${rolesStr}${route.method} ${route.url}`);\n });\n\n totalRoutes += routes.length;\n this.logDebug('');\n });\n\n // Display custom controllers\n if (this.customControllers.size > 0) {\n this.logDebug('🛠️ CUSTOM CONTROLLERS:');\n this.customControllers.forEach((controller, controllerName) => {\n this.logDebug(` Controller: ${controllerName}`);\n const routeInfo = controller.getRouteInfo();\n this.logDebug(` Routes: ${routeInfo.routeCount || 'Unknown (manual tracking needed)'}`);\n this.logDebug('');\n });\n }\n\n this.logDebug(`📊 SUMMARY:`);\n this.logDebug(` Total Resources: ${routesInfo.length}`);\n this.logDebug(` Total Resource Controllers: ${this.controllers.size}`);\n this.logDebug(` Total Custom Controllers: ${this.customControllers.size}`);\n this.logDebug(` Total Routes: ${totalRoutes}`);\n this.logDebug(` Initialized: ${this.isInitialized}`);\n this.logDebug(`=================================\\n`);\n }\n}\n"]}
@@ -93,4 +93,15 @@ export declare function partitionNullClearedFields(data: Record<string, unknown>
93
93
  * field-clearing contract, and would look like it simply did not work.
94
94
  */
95
95
  export declare const ENGINE_RESERVED_FIELD_NAME_PREFIX = "_";
96
+ /**
97
+ * Is this an engine-owned metadata field rather than an authored resource field?
98
+ *
99
+ * Exported because the same rule governs WRITES, not only field-clearing: a payload built from a
100
+ * READ projection (the data-seeding managed-field overlay is exactly that) carries engine-owned
101
+ * metadata that no caller may write back. `_version` in particular is a PUBLIC read-only field on
102
+ * both adapters — Mongo maps `_version_db_doc` to it, PostgreSQL's `transformPersistenceRow` does
103
+ * the same — and PostgreSQL has no such column, so writing it back is a hard error there and a
104
+ * silent junk write on Mongo.
105
+ */
106
+ export declare function isEngineReservedFieldName(fieldName: string): boolean;
96
107
  //# sourceMappingURL=field-clearing-partition.backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-clearing-partition.backend.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;OASG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,kBAAkB,CAwCpB;AAOD;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC"}
1
+ {"version":3,"file":"field-clearing-partition.backend.d.ts","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;OASG;IACH,oBAAoB,EAAE,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,CAAC,CAAC,UAAU,GACvB,kBAAkB,CAwCpB;AAOD;;;;;;;;;GASG;AACH,eAAO,MAAM,iCAAiC,MAAM,CAAC;AAErD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEpE"}
@@ -111,8 +111,17 @@ function fieldIsResolvable(mainSchema, fieldName) {
111
111
  * field-clearing contract, and would look like it simply did not work.
112
112
  */
113
113
  export const ENGINE_RESERVED_FIELD_NAME_PREFIX = '_';
114
- /** Is this an engine-owned metadata field rather than an authored resource field? */
115
- function isEngineReservedFieldName(fieldName) {
114
+ /**
115
+ * Is this an engine-owned metadata field rather than an authored resource field?
116
+ *
117
+ * Exported because the same rule governs WRITES, not only field-clearing: a payload built from a
118
+ * READ projection (the data-seeding managed-field overlay is exactly that) carries engine-owned
119
+ * metadata that no caller may write back. `_version` in particular is a PUBLIC read-only field on
120
+ * both adapters — Mongo maps `_version_db_doc` to it, PostgreSQL's `transformPersistenceRow` does
121
+ * the same — and PostgreSQL has no such column, so writing it back is a hard error there and a
122
+ * silent junk write on Mongo.
123
+ */
124
+ export function isEngineReservedFieldName(fieldName) {
116
125
  return fieldName.startsWith(ENGINE_RESERVED_FIELD_NAME_PREFIX);
117
126
  }
118
127
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"field-clearing-partition.backend.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAuBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA6B,EAC7B,UAAwB;IAExB,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,6FAA6F;QAC7F,oDAAoD;QACpD,EAAE;QACF,+FAA+F;QAC/F,gGAAgG;QAChG,MAAM;QACN,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC9C,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5C,8FAA8F;YAC9F,kCAAkC;YAClC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AACnE,CAAC;AAED,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,UAAwB,EAAE,SAAiB;IACpE,OAAO,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD,qFAAqF;AACrF,SAAS,yBAAyB,CAAC,SAAiB;IAClD,OAAO,SAAS,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,UAAwB,EAAE,SAAiB;IACnE,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { getObjectLikeFieldSchema } from '@wildo-ai/zod-decorators';\n\n/**\n * The result of splitting an UPDATE payload into \"values to write\" and \"fields to clear\".\n */\nexport interface NullClearPartition {\n /** Everything the adapter should WRITE, with clear instructions removed. */\n retainedData: Record<string, unknown>;\n /** Top-level field names the adapter should REMOVE from the stored row. */\n clearedFieldNames: string[];\n /**\n * Fields whose declaration could NOT be resolved from the main schema, and which were therefore\n * cleared on the safe-direction fallback rather than on a known answer.\n *\n * Reported so the fallback is OBSERVABLE. The JSDoc below calls it \"nearly unreachable\", and a\n * claim like that is worth nothing if nothing can contradict it: a main schema that is neither an\n * object nor a union resolves NO field, which would silently convert every authored `.nullish()`\n * null into an absence. The caller logs this; it is never an error, because the fallback direction\n * is always safe to persist.\n */\n unresolvedFieldNames: string[];\n}\n\n/**\n * Split an UPDATE payload into values-to-write and fields-to-clear.\n *\n * # The contract this implements\n *\n * Wildo's UPDATE wire semantics are JSON-Merge-Patch shaped and carry exactly ONE \"no value\"\n * concept:\n *\n * - a key that is **ABSENT** leaves the stored value untouched;\n * - a key whose value is **`null`** means \"this field has no value\".\n *\n * What `null` must PERSIST as is not a caller decision — it is derived here, from the field's own\n * declaration on the resource's main schema:\n *\n * | Declared as | `null` on the wire means | Persisted as | Reads back as |\n * |---|---|---|---|\n * | `.optional()` (rejects null) | clear it | REMOVED (`$unset` / SQL NULL) | absent, on BOTH adapters |\n * | `.nullish()` / `.nullable()` (accepts null) | set it to null | a stored `null` | **adapter-dependent — see below** |\n * | required | — | unreachable: the update DTO already rejected the null with a 400 | — |\n *\n * # The one guarantee this contract does NOT make, stated because it used to claim otherwise\n *\n * **A stored `null` is readable as `null` only on MongoDB.** PostgreSQL's read path\n * (`omitUnsetColumns`) drops EVERY null column — `.nullish()` fields included, deliberately and by\n * that adapter's own design, because a SQL row always has every column and NULL is the only thing an\n * unwritten one can hold. So an AUTH-24-style credential tombstone comes back as `{ passwordHash:\n * null }` on MongoDB and as an ABSENT key on PostgreSQL.\n *\n * That divergence PRE-DATES this contract and is not introduced by it. What this comment previously\n * got wrong was asserting a uniform, adapter-independent guarantee across BOTH rows of the table\n * above; an independent review caught it. The honest statement is narrower and is the one to rely\n * on:\n *\n * - **CLEARING converges.** A cleared field reads back as ABSENT on both adapters. That is the whole\n * of the wire contract, and it is portable.\n * - **The stored-null/absent DISTINCTION does not.** Code that needs to tell \"explicitly nulled\"\n * from \"never set\" is MongoDB-only today. Do not build portable behaviour on it; if that\n * distinction is ever needed portably, it has to be carried by a declared field of its own, not\n * inferred from the storage representation.\n *\n * # Why the distinction is load-bearing rather than cosmetic\n *\n * The READ path re-validates a persisted row against the resource's main schema\n * (`internalDto.parse`). A field declared `.optional()` accepts ABSENCE and REJECTS `null`, so\n * storing a literal `null` in it produces a row that can be written and then cannot be read: the\n * write succeeds and the very same request's response fails with an INTERNAL error. Removing the\n * field instead yields absence, which every optional field accepts by construction.\n *\n * This is not hypothetical — it is the shape of the AUTH-24 defect, where a credential field had to\n * be declared `.nullish()` precisely so a null-clear could survive the output projection.\n *\n * # Adapter neutrality\n *\n * Both resource repositories call this. They are SEPARATE classes with no shared base, so a rule\n * applied in one is a silent bypass in the other; keeping the DECISION here means the adapters only\n * differ in how they execute it (MongoDB `$unset` versus SQL `SET NULL`, which its read path\n * already normalises back to absence).\n *\n * @param data - the validated update payload. Not mutated.\n * @param mainSchema - the resource's main schema (object, or discriminated union for polymorphic\n * resources — union variants are seen through).\n */\nexport function partitionNullClearedFields(\n data: Record<string, unknown>,\n mainSchema: z.ZodTypeAny,\n): NullClearPartition {\n const retainedData: Record<string, unknown> = {};\n const clearedFieldNames: string[] = [];\n const unresolvedFieldNames: string[] = [];\n\n for (const [fieldName, value] of Object.entries(data)) {\n if (value !== null) {\n retainedData[fieldName] = value;\n continue;\n }\n\n // Engine-owned metadata (`_field_meta`, `_version…`) is never an authored resource field and is\n // never a clear instruction. Leaving it in the written payload keeps this partition blind to\n // framework internals rather than guessing at them.\n //\n // Checked BEFORE resolvability on purpose: engine metadata is not declared on the main schema,\n // so the resolvability branch below would otherwise treat it as an unresolvable field and clear\n // it.\n if (isEngineReservedFieldName(fieldName)) {\n retainedData[fieldName] = value;\n continue;\n }\n\n if (!fieldIsResolvable(mainSchema, fieldName)) {\n unresolvedFieldNames.push(fieldName);\n clearedFieldNames.push(fieldName);\n continue;\n }\n\n if (fieldAcceptsNull(mainSchema, fieldName)) {\n // Authored `.nullish()` / `.nullable()`: null IS the value the author asked to store, and the\n // read path validates it happily.\n retainedData[fieldName] = value;\n continue;\n }\n\n clearedFieldNames.push(fieldName);\n }\n\n return { retainedData, clearedFieldNames, unresolvedFieldNames };\n}\n\n/** Can this field's declaration be found on the main schema at all? See `unresolvedFieldNames`. */\nfunction fieldIsResolvable(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n return getObjectLikeFieldSchema(mainSchema, fieldName) !== undefined;\n}\n\n/**\n * The prefix reserved for engine-owned document metadata (`_id`, `_version`, `_version_db_doc`,\n * `_field_meta`, `__seed`).\n *\n * Named rather than inlined because it IS the rule, not a heuristic that happens to work: the\n * leading underscore is the framework's reserved namespace for fields it owns on every document,\n * and an application resource must not author a field into it. Stated here because the consequence\n * is invisible otherwise — a field named `_note` would be silently exempt from the whole\n * field-clearing contract, and would look like it simply did not work.\n */\nexport const ENGINE_RESERVED_FIELD_NAME_PREFIX = '_';\n\n/** Is this an engine-owned metadata field rather than an authored resource field? */\nfunction isEngineReservedFieldName(fieldName: string): boolean {\n return fieldName.startsWith(ENGINE_RESERVED_FIELD_NAME_PREFIX);\n}\n\n/**\n * Does the resource's main schema accept a literal `null` for this field?\n *\n * An UNRESOLVABLE field is treated as NOT accepting null — i.e. it is cleared rather than stored as\n * null. That fallback is deliberate and is the safe direction: absence parses against every\n * optional declaration, whereas a stored null against a non-nullable one is unreadable. It is also\n * nearly unreachable, because a null only survives to this point after the update DTO has already\n * accepted it for a declared field.\n */\nfunction fieldAcceptsNull(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n const fieldSchema = getObjectLikeFieldSchema(mainSchema, fieldName);\n if (!fieldSchema) return false;\n\n return fieldSchema.safeParse(null).success;\n}\n"]}
1
+ {"version":3,"file":"field-clearing-partition.backend.js","sourceRoot":"","sources":["../../../../../../src/base-classes/services/repositories/field-clearing-partition.backend.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAuBpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6DG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA6B,EAC7B,UAAwB;IAExB,MAAM,YAAY,GAA4B,EAAE,CAAC;IACjD,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,gGAAgG;QAChG,6FAA6F;QAC7F,oDAAoD;QACpD,EAAE;QACF,+FAA+F;QAC/F,gGAAgG;QAChG,MAAM;QACN,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC9C,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC;YAC5C,8FAA8F;YAC9F,kCAAkC;YAClC,YAAY,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QAED,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC;AACnE,CAAC;AAED,mGAAmG;AACnG,SAAS,iBAAiB,CAAC,UAAwB,EAAE,SAAiB;IACpE,OAAO,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,KAAK,SAAS,CAAC;AACvE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,SAAiB;IACzD,OAAO,SAAS,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,UAAwB,EAAE,SAAiB;IACnE,MAAM,WAAW,GAAG,wBAAwB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACpE,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAE/B,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC","sourcesContent":["import { z } from 'zod';\n\nimport { getObjectLikeFieldSchema } from '@wildo-ai/zod-decorators';\n\n/**\n * The result of splitting an UPDATE payload into \"values to write\" and \"fields to clear\".\n */\nexport interface NullClearPartition {\n /** Everything the adapter should WRITE, with clear instructions removed. */\n retainedData: Record<string, unknown>;\n /** Top-level field names the adapter should REMOVE from the stored row. */\n clearedFieldNames: string[];\n /**\n * Fields whose declaration could NOT be resolved from the main schema, and which were therefore\n * cleared on the safe-direction fallback rather than on a known answer.\n *\n * Reported so the fallback is OBSERVABLE. The JSDoc below calls it \"nearly unreachable\", and a\n * claim like that is worth nothing if nothing can contradict it: a main schema that is neither an\n * object nor a union resolves NO field, which would silently convert every authored `.nullish()`\n * null into an absence. The caller logs this; it is never an error, because the fallback direction\n * is always safe to persist.\n */\n unresolvedFieldNames: string[];\n}\n\n/**\n * Split an UPDATE payload into values-to-write and fields-to-clear.\n *\n * # The contract this implements\n *\n * Wildo's UPDATE wire semantics are JSON-Merge-Patch shaped and carry exactly ONE \"no value\"\n * concept:\n *\n * - a key that is **ABSENT** leaves the stored value untouched;\n * - a key whose value is **`null`** means \"this field has no value\".\n *\n * What `null` must PERSIST as is not a caller decision — it is derived here, from the field's own\n * declaration on the resource's main schema:\n *\n * | Declared as | `null` on the wire means | Persisted as | Reads back as |\n * |---|---|---|---|\n * | `.optional()` (rejects null) | clear it | REMOVED (`$unset` / SQL NULL) | absent, on BOTH adapters |\n * | `.nullish()` / `.nullable()` (accepts null) | set it to null | a stored `null` | **adapter-dependent — see below** |\n * | required | — | unreachable: the update DTO already rejected the null with a 400 | — |\n *\n * # The one guarantee this contract does NOT make, stated because it used to claim otherwise\n *\n * **A stored `null` is readable as `null` only on MongoDB.** PostgreSQL's read path\n * (`omitUnsetColumns`) drops EVERY null column — `.nullish()` fields included, deliberately and by\n * that adapter's own design, because a SQL row always has every column and NULL is the only thing an\n * unwritten one can hold. So an AUTH-24-style credential tombstone comes back as `{ passwordHash:\n * null }` on MongoDB and as an ABSENT key on PostgreSQL.\n *\n * That divergence PRE-DATES this contract and is not introduced by it. What this comment previously\n * got wrong was asserting a uniform, adapter-independent guarantee across BOTH rows of the table\n * above; an independent review caught it. The honest statement is narrower and is the one to rely\n * on:\n *\n * - **CLEARING converges.** A cleared field reads back as ABSENT on both adapters. That is the whole\n * of the wire contract, and it is portable.\n * - **The stored-null/absent DISTINCTION does not.** Code that needs to tell \"explicitly nulled\"\n * from \"never set\" is MongoDB-only today. Do not build portable behaviour on it; if that\n * distinction is ever needed portably, it has to be carried by a declared field of its own, not\n * inferred from the storage representation.\n *\n * # Why the distinction is load-bearing rather than cosmetic\n *\n * The READ path re-validates a persisted row against the resource's main schema\n * (`internalDto.parse`). A field declared `.optional()` accepts ABSENCE and REJECTS `null`, so\n * storing a literal `null` in it produces a row that can be written and then cannot be read: the\n * write succeeds and the very same request's response fails with an INTERNAL error. Removing the\n * field instead yields absence, which every optional field accepts by construction.\n *\n * This is not hypothetical — it is the shape of the AUTH-24 defect, where a credential field had to\n * be declared `.nullish()` precisely so a null-clear could survive the output projection.\n *\n * # Adapter neutrality\n *\n * Both resource repositories call this. They are SEPARATE classes with no shared base, so a rule\n * applied in one is a silent bypass in the other; keeping the DECISION here means the adapters only\n * differ in how they execute it (MongoDB `$unset` versus SQL `SET NULL`, which its read path\n * already normalises back to absence).\n *\n * @param data - the validated update payload. Not mutated.\n * @param mainSchema - the resource's main schema (object, or discriminated union for polymorphic\n * resources — union variants are seen through).\n */\nexport function partitionNullClearedFields(\n data: Record<string, unknown>,\n mainSchema: z.ZodTypeAny,\n): NullClearPartition {\n const retainedData: Record<string, unknown> = {};\n const clearedFieldNames: string[] = [];\n const unresolvedFieldNames: string[] = [];\n\n for (const [fieldName, value] of Object.entries(data)) {\n if (value !== null) {\n retainedData[fieldName] = value;\n continue;\n }\n\n // Engine-owned metadata (`_field_meta`, `_version…`) is never an authored resource field and is\n // never a clear instruction. Leaving it in the written payload keeps this partition blind to\n // framework internals rather than guessing at them.\n //\n // Checked BEFORE resolvability on purpose: engine metadata is not declared on the main schema,\n // so the resolvability branch below would otherwise treat it as an unresolvable field and clear\n // it.\n if (isEngineReservedFieldName(fieldName)) {\n retainedData[fieldName] = value;\n continue;\n }\n\n if (!fieldIsResolvable(mainSchema, fieldName)) {\n unresolvedFieldNames.push(fieldName);\n clearedFieldNames.push(fieldName);\n continue;\n }\n\n if (fieldAcceptsNull(mainSchema, fieldName)) {\n // Authored `.nullish()` / `.nullable()`: null IS the value the author asked to store, and the\n // read path validates it happily.\n retainedData[fieldName] = value;\n continue;\n }\n\n clearedFieldNames.push(fieldName);\n }\n\n return { retainedData, clearedFieldNames, unresolvedFieldNames };\n}\n\n/** Can this field's declaration be found on the main schema at all? See `unresolvedFieldNames`. */\nfunction fieldIsResolvable(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n return getObjectLikeFieldSchema(mainSchema, fieldName) !== undefined;\n}\n\n/**\n * The prefix reserved for engine-owned document metadata (`_id`, `_version`, `_version_db_doc`,\n * `_field_meta`, `__seed`).\n *\n * Named rather than inlined because it IS the rule, not a heuristic that happens to work: the\n * leading underscore is the framework's reserved namespace for fields it owns on every document,\n * and an application resource must not author a field into it. Stated here because the consequence\n * is invisible otherwise — a field named `_note` would be silently exempt from the whole\n * field-clearing contract, and would look like it simply did not work.\n */\nexport const ENGINE_RESERVED_FIELD_NAME_PREFIX = '_';\n\n/**\n * Is this an engine-owned metadata field rather than an authored resource field?\n *\n * Exported because the same rule governs WRITES, not only field-clearing: a payload built from a\n * READ projection (the data-seeding managed-field overlay is exactly that) carries engine-owned\n * metadata that no caller may write back. `_version` in particular is a PUBLIC read-only field on\n * both adapters — Mongo maps `_version_db_doc` to it, PostgreSQL's `transformPersistenceRow` does\n * the same — and PostgreSQL has no such column, so writing it back is a hard error there and a\n * silent junk write on Mongo.\n */\nexport function isEngineReservedFieldName(fieldName: string): boolean {\n return fieldName.startsWith(ENGINE_RESERVED_FIELD_NAME_PREFIX);\n}\n\n/**\n * Does the resource's main schema accept a literal `null` for this field?\n *\n * An UNRESOLVABLE field is treated as NOT accepting null — i.e. it is cleared rather than stored as\n * null. That fallback is deliberate and is the safe direction: absence parses against every\n * optional declaration, whereas a stored null against a non-nullable one is unreadable. It is also\n * nearly unreachable, because a null only survives to this point after the update DTO has already\n * accepted it for a declared field.\n */\nfunction fieldAcceptsNull(mainSchema: z.ZodTypeAny, fieldName: string): boolean {\n const fieldSchema = getObjectLikeFieldSchema(mainSchema, fieldName);\n if (!fieldSchema) return false;\n\n return fieldSchema.safeParse(null).success;\n}\n"]}
@@ -7,10 +7,14 @@
7
7
  * repository consumes this PORT so unit tests inject a stub and the production wiring stays in
8
8
  * one place.
9
9
  */
10
- import { type HttpApiResourceBinding } from '@wildo-ai/saas-models/external-data';
10
+ import type { ExternalProvider_ConnectionTarget } from '@wildo-ai/external-connectors-models';
11
+ import type { ProviderCredentialResolutionSource } from '@wildo-ai/saas-models';
12
+ import type { ProviderRestRequestSigning } from '@wildo-ai/external-connectors-models';
13
+ import type { ProviderRestOperation } from '@wildo-ai/external-connectors-models';
11
14
  import type { ExecutionContext } from '../../../../runtime/models/execution-context.backend.schemas';
12
15
  import type { ExternalProvidersRegistryBackendService } from '../../../../external-providers/services/external-providers-registry.backend.service';
13
16
  /** Everything a remote call needs to leave the process: where, and as whom. */
17
+ import type { ProviderSigningCredentials } from '../../../../external-providers/operations/provider-request-signing.backend';
14
18
  export interface HttpApiProviderAccess {
15
19
  /** Absolute base URL, no trailing slash. */
16
20
  baseUrl: string;
@@ -22,11 +26,37 @@ export interface HttpApiProviderAccess {
22
26
  * credential — the target reads none from headers, and a secret should not travel a channel
23
27
  * nobody consumes.
24
28
  */
29
+ /**
30
+ * Present when the provider signs each request (AWS SigV4, Azure shared key). When present,
31
+ * `headers` carries NO credential: the signature is computed by the caller from the fully
32
+ * compiled request, because it covers the bytes and anything added afterwards invalidates it.
33
+ */
34
+ requestSigning?: {
35
+ declaration: ProviderRestRequestSigning;
36
+ credentials: ProviderSigningCredentials;
37
+ };
25
38
  jsonRpcInArgsCredentials?: {
26
39
  db: string;
27
40
  login: string;
28
41
  apiKey: string;
29
42
  };
43
+ /**
44
+ * WHERE the credential came from, carried out so the caller can stamp the row it used.
45
+ *
46
+ * The store can record that a tenant's credential was accepted or rejected, and until this existed
47
+ * it could not be told: the resolver knew which row it opened and threw that away, so
48
+ * `validationState` stayed UNVALIDATED for every credential that had in fact just worked, and
49
+ * `lastUsedAt` never moved. An operator reading the screen saw a credential that might be dead.
50
+ *
51
+ * Absent for an APPLICATION-owned resolution, which has no row to stamp — inventing one for the
52
+ * deployment environment would create a credential the tenant never set.
53
+ */
54
+ credentialProvenance?: {
55
+ source: ProviderCredentialResolutionSource;
56
+ credentialId?: string;
57
+ /** The secrets-contract slug the value satisfies — the row's third identity component. */
58
+ secretSlug: string;
59
+ };
30
60
  }
31
61
  /**
32
62
  * Thrown when access CANNOT be resolved — always naming what is missing, because every branch
@@ -35,14 +65,44 @@ export interface HttpApiProviderAccess {
35
65
  export declare class HttpApiProviderAccessError extends Error {
36
66
  constructor(message: string);
37
67
  }
68
+ /**
69
+ * May THIS execution act for THAT owner — the authorization half of a connection target.
70
+ *
71
+ * The call NAMES the owner and this decides whether it may. Supplying and authorizing are different
72
+ * jobs and must not be the same read: a resolver that took the owner from the execution context
73
+ * would be verifying a target it had itself invented, and could not express the case that forces
74
+ * the split — one user action pushing to every organization that user belongs to, where the target
75
+ * varies per call while the initiator does not.
76
+ *
77
+ * Membership, not current scope. The fan-out above runs with ONE ambient organization and legitimately
78
+ * spends several tenants' accounts, so an equality check against the initiator's own organization
79
+ * would refuse the very case this design exists to serve.
80
+ */
81
+ export interface ConnectionTargetAuthorizationPort {
82
+ mayActFor(target: ExternalProvider_ConnectionTarget, executionContext: ExecutionContext<any>): Promise<boolean>;
83
+ }
38
84
  export interface HttpApiProviderAccessResolver {
39
- resolveAccess(binding: Pick<HttpApiResourceBinding, 'providerRef' | 'identityMode'>, executionContext: ExecutionContext<any>): HttpApiProviderAccess;
85
+ resolveAccess(providerRef: string, target: ExternalProvider_ConnectionTarget, executionContext: ExecutionContext<any>): Promise<HttpApiProviderAccess>;
86
+ /**
87
+ * One operation out of the provider's own `rest.operations` catalogue, for a binding whose read
88
+ * member is a REFERENCE rather than an inline spec (S3a, #331).
89
+ *
90
+ * On this port, and OPTIONAL, for two reasons that are both about not inventing a second
91
+ * authority. It is the same question about the same object: `resolveAccess` reads baseUrl and
92
+ * apiKey off the provider's `rest` runtime contract, and this reads `operations` off that same
93
+ * contract — a separate port would mean a second thing holding the registry and a second place
94
+ * to get provider resolution wrong. And it is optional so that every existing stub of this
95
+ * interface (unit harnesses, partial containers) keeps satisfying it; a binding that authors a
96
+ * reference against a resolver that does not implement it is refused BY NAME, which is a state
97
+ * an operator can act on, rather than by a `TypeError` three frames down.
98
+ */
99
+ resolveProviderOperation?(providerRef: string, providerOperationId: string, domain?: string): Promise<ProviderRestOperation>;
40
100
  }
41
101
  /**
42
102
  * The production resolver, over the provider registry.
43
103
  *
44
- * ## SERVICE_PRINCIPAL
45
- * Resolves the provider's `kind: 'rest'` runtime contract
104
+ * ## AN APPLICATION-OWNED CONNECTION
105
+ * Resolves the provider's `kind: ProviderProtocolRuntimeKind.REST` runtime contract
46
106
  * (`getProviderRuntimeContract(providerRef, REST_API)`) for the base URL and the auth-header
47
107
  * SHAPE, then the key VALUE through the secret machinery — `getProviderApiKey` (the provider
48
108
  * configuration's `authConfig.secretRef`) first, falling back to the contract's own
@@ -50,17 +110,68 @@ export interface HttpApiProviderAccessResolver {
50
110
  * secrets, shape from the contract, and the consumer branches on the CONTRACT field, never the
51
111
  * provider ref.
52
112
  *
53
- * ## USER_DELEGATED
54
- * Measured 2026-08-27 (ten probes, recorded in the ETL plan): the engine has NO outbound
55
- * per-user token persistence — `OAuth2_CredentialSchema` exists as a model with no resource, no
56
- * store and no service behind it. Executing this mode therefore refuses naming the missing
57
- * subsystem. **Ruled by Paul 2026-08-27: slice 1 is SERVICE_PRINCIPAL-first** — the mode stays
58
- * declared so bindings need no reshape; this refusal lifts when the delegated-token subsystem
59
- * (its own workstream) exists.
113
+ * ## DELEGATED AND TENANT-OWNED CONNECTIONS
114
+ * This paragraph read "the engine has NO outbound per-user token persistence — `OAuth2_CredentialSchema`
115
+ * exists as a model with no resource, no store and no service behind it", measured 2026-08-27. That
116
+ * is retired (#333): the store exists, is bound, and serves the connection controller, so the
117
+ * refusal it justified is gone. A binding now declares WHOSE ACCOUNT it spends and on whose behalf
118
+ * (`ExternalProvider_ConnectionShape`), the call supplies which instance, and the two questions this
119
+ * resolver asks below — is the shape ADMISSIBLE for the provider, is this execution AUTHORIZED to
120
+ * act for that owner — are what decide it. Both still fail closed, and an unbound authorization port
121
+ * still refuses every non-application target.
60
122
  */
61
123
  export declare class ExternalProvidersHttpApiAccessResolver implements HttpApiProviderAccessResolver {
62
124
  private readonly externalProvidersRegistry;
63
- constructor(externalProvidersRegistry: ExternalProvidersRegistryBackendService);
64
- resolveAccess(binding: Pick<HttpApiResourceBinding, 'providerRef' | 'identityMode'>, _executionContext: ExecutionContext<any>): HttpApiProviderAccess;
125
+ /**
126
+ * Absent until the membership check is wired. Its absence REFUSES every non-application target
127
+ * rather than admitting one, so the gate cannot be opened by forgetting to bind something.
128
+ */
129
+ private readonly targetAuthorization?;
130
+ constructor(externalProvidersRegistry: ExternalProvidersRegistryBackendService,
131
+ /**
132
+ * Absent until the membership check is wired. Its absence REFUSES every non-application target
133
+ * rather than admitting one, so the gate cannot be opened by forgetting to bind something.
134
+ */
135
+ targetAuthorization?: ConnectionTargetAuthorizationPort);
136
+ /**
137
+ * Two questions, in this order, and both must be answered before a secret is read.
138
+ *
139
+ * ADMISSIBLE — does this provider admit this owner scope at all? A provider that has recorded no
140
+ * decision admits only the floor, so asking for a tenant-owned connection against it refuses,
141
+ * naming the record to author. That is the fail-closed direction: the alternative is a per-tenant
142
+ * call that quietly runs on the application's account.
143
+ *
144
+ * AUTHORIZED — may this execution act for that owner? Only for a non-application target: an
145
+ * application-owned connection has exactly one instance and the application IS the caller, so
146
+ * there is no second party whose account might be spent. Every other target needs the port, and
147
+ * an unbound port REFUSES — a gate that opens when a wiring step is forgotten is not a gate.
148
+ */
149
+ private assertTargetIsAdmissibleAndAuthorized;
150
+ /**
151
+ * ONE place a provider secret is read, and it always names the target.
152
+ *
153
+ * Before this existed the guard admitted a tenant-owned target and the read below then went to the
154
+ * deployment environment anyway — the call succeeded, spending the application's account while the
155
+ * caller believed it acted as the tenant. That is the substitution the whole subsystem exists to
156
+ * remove, and it survived the guard because a guard and a read are different code.
157
+ *
158
+ * Returns `undefined` only where the ABSENCE is a diagnosable application-level state, so the rich
159
+ * refusals below (an OAuth2 provider whose token is minted rather than authored, a provider with no
160
+ * `authConfig`) can still say the useful thing. A tenant-owned target never reaches them: its own
161
+ * refusal already names the tenant and the credential it lacks.
162
+ */
163
+ private readSecretForTarget;
164
+ resolveAccess(providerRef: string, target: ExternalProvider_ConnectionTarget, executionContext: ExecutionContext<any>): Promise<HttpApiProviderAccess>;
165
+ /**
166
+ * Resolve one operation out of the provider's catalogue, memoized per `(providerRef, domain)`.
167
+ *
168
+ * The PROMISE is cached rather than its value so two concurrent reads of the same binding share
169
+ * one load, and a FAILED load is evicted — a cached rejection would make one bad moment
170
+ * permanent for the process's whole life. Same discipline as the operation executor's cache,
171
+ * for the same reason; the two caches are separate because they live in different objects with
172
+ * different lifetimes, and sharing one would mean a third thing owning provider state.
173
+ */
174
+ private readonly operationCatalogueCache;
175
+ resolveProviderOperation(providerRef: string, providerOperationId: string, domain?: string): Promise<ProviderRestOperation>;
65
176
  }
66
177
  //# sourceMappingURL=http-api-provider-access.backend.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-api-provider-access.backend.d.ts","sourceRoot":"","sources":["../../../../../../../src/base-classes/services/repositories/http-api/http-api-provider-access.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,qCAAqC,CAAC;AAI7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAC5G,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4FAA4F,CAAC;AAE1J,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CACX,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,GAAG,cAAc,CAAC,EACrE,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,qBAAqB,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,sCAAuC,YAAW,6BAA6B;IAExF,OAAO,CAAC,QAAQ,CAAC,yBAAyB;gBAAzB,yBAAyB,EAAE,uCAAuC;IAGrF,aAAa,CACX,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,GAAG,cAAc,CAAC,EACrE,iBAAiB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACvC,qBAAqB;CAkFzB"}
1
+ {"version":3,"file":"http-api-provider-access.backend.d.ts","sourceRoot":"","sources":["../../../../../../../src/base-classes/services/repositories/http-api/http-api-provider-access.backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAUH,OAAO,KAAK,EAAE,iCAAiC,EAE9C,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,KAAK,EAAE,qBAAqB,EAAkC,MAAM,sCAAsC,CAAC;AAElH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qEAAqE,CAAC;AAC5G,OAAO,KAAK,EAAE,uCAAuC,EAAE,MAAM,4FAA4F,CAAC;AAE1J,+EAA+E;AAC/E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mFAAmF,CAAC;AAEpI,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;;;OAKG;IACH;;;;OAIG;IACH,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,0BAA0B,CAAC;QACxC,WAAW,EAAE,0BAA0B,CAAC;KACzC,CAAC;IACF,wBAAwB,CAAC,EAAE;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE;QACrB,MAAM,EAAE,kCAAkC,CAAC;QAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,0FAA0F;QAC1F,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iCAAiC;IAChD,SAAS,CACP,MAAM,EAAE,iCAAiC,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAQD,MAAM,WAAW,6BAA6B;IAC5C,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iCAAiC,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAElC;;;;;;;;;;;;OAYG;IACH,wBAAwB,CAAC,CACvB,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,sCAAuC,YAAW,6BAA6B;IAExF,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAC1C;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBALpB,yBAAyB,EAAE,uCAAuC;IACnF;;;OAGG;IACc,mBAAmB,CAAC,EAAE,iCAAiC;IAG1E;;;;;;;;;;;;OAYG;YACW,qCAAqC;IAsDnD;;;;;;;;;;;;OAYG;YACW,mBAAmB;IA0B3B,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iCAAiC,EACzC,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAgIjC;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA8D;IAEzF,wBAAwB,CACnC,WAAW,EAAE,MAAM,EACnB,mBAAmB,EAAE,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,qBAAqB,CAAC;CAwDlC"}