@wildo-ai/saas-backend-lib 1.0.1

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 (1747) hide show
  1. package/dist/esm/__tests__/setup.d.ts +7 -0
  2. package/dist/esm/__tests__/setup.d.ts.map +1 -0
  3. package/dist/esm/__tests__/setup.js +14 -0
  4. package/dist/esm/__tests__/setup.js.map +1 -0
  5. package/dist/esm/__tests__/test-container.d.ts +39 -0
  6. package/dist/esm/__tests__/test-container.d.ts.map +1 -0
  7. package/dist/esm/__tests__/test-container.js +94 -0
  8. package/dist/esm/__tests__/test-container.js.map +1 -0
  9. package/dist/esm/applications/models/applications.backend.schemas.d.ts +11 -0
  10. package/dist/esm/applications/models/applications.backend.schemas.d.ts.map +1 -0
  11. package/dist/esm/applications/models/applications.backend.schemas.js +15 -0
  12. package/dist/esm/applications/models/applications.backend.schemas.js.map +1 -0
  13. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts +12 -0
  14. package/dist/esm/base-classes/models/manual-controllers.backend.definition.d.ts.map +1 -0
  15. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js +30 -0
  16. package/dist/esm/base-classes/models/manual-controllers.backend.definition.js.map +1 -0
  17. package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts +98 -0
  18. package/dist/esm/base-classes/models/repositories.backend.schemas.d.ts.map +1 -0
  19. package/dist/esm/base-classes/models/repositories.backend.schemas.js +11 -0
  20. package/dist/esm/base-classes/models/repositories.backend.schemas.js.map +1 -0
  21. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts +31 -0
  22. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.d.ts.map +1 -0
  23. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.js +52 -0
  24. package/dist/esm/base-classes/services/__tests__/mock-resource-operation-helper.service.js.map +1 -0
  25. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts +56 -0
  26. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.d.ts.map +1 -0
  27. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.js +52 -0
  28. package/dist/esm/base-classes/services/batches/batches-cronjobs-custom-execution.service.js.map +1 -0
  29. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts +33 -0
  30. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.d.ts.map +1 -0
  31. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.js +125 -0
  32. package/dist/esm/base-classes/services/batches/batches-cronjobs-executor.backend.service.js.map +1 -0
  33. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts +20 -0
  34. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.d.ts.map +1 -0
  35. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.js +45 -0
  36. package/dist/esm/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.js.map +1 -0
  37. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts +133 -0
  38. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.d.ts.map +1 -0
  39. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.js +280 -0
  40. package/dist/esm/base-classes/services/controllers/abstract-controller.backend.service.js.map +1 -0
  41. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts +147 -0
  42. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.d.ts.map +1 -0
  43. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js +1320 -0
  44. package/dist/esm/base-classes/services/controllers/controller-resource.backend.service.js.map +1 -0
  45. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts +107 -0
  46. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.d.ts.map +1 -0
  47. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js +369 -0
  48. package/dist/esm/base-classes/services/controllers/controllers-registry-handler.backend.service.js.map +1 -0
  49. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts +194 -0
  50. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.d.ts.map +1 -0
  51. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.js +417 -0
  52. package/dist/esm/base-classes/services/controllers/validate-field-handler.backend.service.js.map +1 -0
  53. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts +9 -0
  54. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.d.ts.map +1 -0
  55. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.js +35 -0
  56. package/dist/esm/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.js.map +1 -0
  57. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts +107 -0
  58. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.d.ts.map +1 -0
  59. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js +800 -0
  60. package/dist/esm/base-classes/services/repositories/postgresql-resource-repository.backend.service.js.map +1 -0
  61. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts +181 -0
  62. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.d.ts.map +1 -0
  63. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js +529 -0
  64. package/dist/esm/base-classes/services/repositories/repositories-registry-handler.backend.service.js.map +1 -0
  65. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts +245 -0
  66. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.d.ts.map +1 -0
  67. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js +1509 -0
  68. package/dist/esm/base-classes/services/repositories/repository-resource.backend.service.js.map +1 -0
  69. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts +134 -0
  70. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.d.ts.map +1 -0
  71. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.js +388 -0
  72. package/dist/esm/base-classes/services/resource-operations-helper.backend.service.js.map +1 -0
  73. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts +9 -0
  74. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.d.ts.map +1 -0
  75. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.js +26 -0
  76. package/dist/esm/base-classes/services/services/__tests__/mock-services-registry-handler.service.js.map +1 -0
  77. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts +144 -0
  78. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.d.ts.map +1 -0
  79. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js +49 -0
  80. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.js.map +1 -0
  81. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts +84 -0
  82. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.d.ts.map +1 -0
  83. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js +156 -0
  84. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.js.map +1 -0
  85. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts +42 -0
  86. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.d.ts.map +1 -0
  87. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js +94 -0
  88. package/dist/esm/base-classes/services/services/resource-operation-custom-implementation.factory.backend.js.map +1 -0
  89. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts +593 -0
  90. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.d.ts.map +1 -0
  91. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js +4015 -0
  92. package/dist/esm/base-classes/services/services/services-registry-handler.backend.service.js.map +1 -0
  93. package/dist/esm/base-classes/utils/backend-type-utils.d.ts +43 -0
  94. package/dist/esm/base-classes/utils/backend-type-utils.d.ts.map +1 -0
  95. package/dist/esm/base-classes/utils/backend-type-utils.js +10 -0
  96. package/dist/esm/base-classes/utils/backend-type-utils.js.map +1 -0
  97. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts +44 -0
  98. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.d.ts.map +1 -0
  99. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.js +94 -0
  100. package/dist/esm/billing/services/back-office/abstract-billing.backend.service.js.map +1 -0
  101. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts +102 -0
  102. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.d.ts.map +1 -0
  103. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.js +405 -0
  104. package/dist/esm/billing/services/back-office/billing-feature-sync.backend.service.js.map +1 -0
  105. package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts +55 -0
  106. package/dist/esm/billing/services/back-office/billing-state.backend.service.d.ts.map +1 -0
  107. package/dist/esm/billing/services/back-office/billing-state.backend.service.js +268 -0
  108. package/dist/esm/billing/services/back-office/billing-state.backend.service.js.map +1 -0
  109. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts +83 -0
  110. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.d.ts.map +1 -0
  111. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js +371 -0
  112. package/dist/esm/billing/services/back-office/product-catalog-sync.backend.service.js.map +1 -0
  113. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts +80 -0
  114. package/dist/esm/billing/services/back-office/usage-metering.backend.service.d.ts.map +1 -0
  115. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js +255 -0
  116. package/dist/esm/billing/services/back-office/usage-metering.backend.service.js.map +1 -0
  117. package/dist/esm/billing/services/billing.utils.d.ts +17 -0
  118. package/dist/esm/billing/services/billing.utils.d.ts.map +1 -0
  119. package/dist/esm/billing/services/billing.utils.js +25 -0
  120. package/dist/esm/billing/services/billing.utils.js.map +1 -0
  121. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts +50 -0
  122. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.d.ts.map +1 -0
  123. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js +290 -0
  124. package/dist/esm/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.js.map +1 -0
  125. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts +92 -0
  126. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.d.ts.map +1 -0
  127. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js +193 -0
  128. package/dist/esm/billing/services/custom-impl/billing-custom-impl-utils.backend.js.map +1 -0
  129. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts +66 -0
  130. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.d.ts.map +1 -0
  131. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js +180 -0
  132. package/dist/esm/billing/services/custom-impl/billing-custom-implementations.backend.js.map +1 -0
  133. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts +31 -0
  134. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.d.ts.map +1 -0
  135. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.js +100 -0
  136. package/dist/esm/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.js.map +1 -0
  137. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts +33 -0
  138. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.d.ts.map +1 -0
  139. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js +200 -0
  140. package/dist/esm/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.js.map +1 -0
  141. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts +58 -0
  142. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.d.ts.map +1 -0
  143. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js +362 -0
  144. package/dist/esm/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.js.map +1 -0
  145. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts +19 -0
  146. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.d.ts.map +1 -0
  147. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.js +50 -0
  148. package/dist/esm/billing/services/webhooks/billing-webhook-adapter.backend.service.js.map +1 -0
  149. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts +21 -0
  150. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.d.ts.map +1 -0
  151. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.js +32 -0
  152. package/dist/esm/billing/services/webhooks/billing-webhook-capability-handler.backend.service.js.map +1 -0
  153. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts +114 -0
  154. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.d.ts.map +1 -0
  155. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js +569 -0
  156. package/dist/esm/billing/services/webhooks/billing-webhook-event-router.backend.service.js.map +1 -0
  157. package/dist/esm/billing/testing/billing-test-fixtures.d.ts +109 -0
  158. package/dist/esm/billing/testing/billing-test-fixtures.d.ts.map +1 -0
  159. package/dist/esm/billing/testing/billing-test-fixtures.js +200 -0
  160. package/dist/esm/billing/testing/billing-test-fixtures.js.map +1 -0
  161. package/dist/esm/billing/testing/mock-billing-provider.d.ts +152 -0
  162. package/dist/esm/billing/testing/mock-billing-provider.d.ts.map +1 -0
  163. package/dist/esm/billing/testing/mock-billing-provider.js +394 -0
  164. package/dist/esm/billing/testing/mock-billing-provider.js.map +1 -0
  165. package/dist/esm/charts/controllers/chart.backend.controller.d.ts +46 -0
  166. package/dist/esm/charts/controllers/chart.backend.controller.d.ts.map +1 -0
  167. package/dist/esm/charts/controllers/chart.backend.controller.js +214 -0
  168. package/dist/esm/charts/controllers/chart.backend.controller.js.map +1 -0
  169. package/dist/esm/charts/services/chart-registry.backend.service.d.ts +55 -0
  170. package/dist/esm/charts/services/chart-registry.backend.service.d.ts.map +1 -0
  171. package/dist/esm/charts/services/chart-registry.backend.service.js +102 -0
  172. package/dist/esm/charts/services/chart-registry.backend.service.js.map +1 -0
  173. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts +9 -0
  174. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.d.ts.map +1 -0
  175. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.js +80 -0
  176. package/dist/esm/compliance/audit-trails/audit-logs.custom-impl.backend.service.js.map +1 -0
  177. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts +23 -0
  178. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.d.ts.map +1 -0
  179. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.js +46 -0
  180. package/dist/esm/compliance/audit-trails/services/__tests__/mock-audit-logs.service.js.map +1 -0
  181. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts +73 -0
  182. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.d.ts.map +1 -0
  183. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js +291 -0
  184. package/dist/esm/compliance/audit-trails/services/audit-event-dispatcher.backend.service.js.map +1 -0
  185. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts +447 -0
  186. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.d.ts.map +1 -0
  187. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js +898 -0
  188. package/dist/esm/compliance/audit-trails/services/audit-logs.backend.service.js.map +1 -0
  189. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts +127 -0
  190. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.d.ts.map +1 -0
  191. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js +462 -0
  192. package/dist/esm/compliance/audit-trails/services/siem-webhook-delivery.backend.service.js.map +1 -0
  193. package/dist/esm/compliance/index.d.ts +2 -0
  194. package/dist/esm/compliance/index.d.ts.map +1 -0
  195. package/dist/esm/compliance/index.js +1 -0
  196. package/dist/esm/compliance/index.js.map +1 -0
  197. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts +31 -0
  198. package/dist/esm/config/custom/application-config-controller.backend.service.d.ts.map +1 -0
  199. package/dist/esm/config/custom/application-config-controller.backend.service.js +112 -0
  200. package/dist/esm/config/custom/application-config-controller.backend.service.js.map +1 -0
  201. package/dist/esm/config/models/app-config-overrides.backend.definitions.d.ts +29 -0
  202. package/dist/esm/config/models/app-config-overrides.backend.definitions.d.ts.map +1 -0
  203. package/dist/esm/config/models/app-config-overrides.backend.definitions.js +143 -0
  204. package/dist/esm/config/models/app-config-overrides.backend.definitions.js.map +1 -0
  205. package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts +56 -0
  206. package/dist/esm/config/models/app-config-secrets.backend.schemas.d.ts.map +1 -0
  207. package/dist/esm/config/models/app-config-secrets.backend.schemas.js +121 -0
  208. package/dist/esm/config/models/app-config-secrets.backend.schemas.js.map +1 -0
  209. package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts +35 -0
  210. package/dist/esm/config/models/app-config.backend-authored.definitions.d.ts.map +1 -0
  211. package/dist/esm/config/models/app-config.backend-authored.definitions.js +89 -0
  212. package/dist/esm/config/models/app-config.backend-authored.definitions.js.map +1 -0
  213. package/dist/esm/config/models/app-config.backend.schemas.d.ts +1651 -0
  214. package/dist/esm/config/models/app-config.backend.schemas.d.ts.map +1 -0
  215. package/dist/esm/config/models/app-config.backend.schemas.js +478 -0
  216. package/dist/esm/config/models/app-config.backend.schemas.js.map +1 -0
  217. package/dist/esm/config/models/app-env-config.backend.schemas.d.ts +74 -0
  218. package/dist/esm/config/models/app-env-config.backend.schemas.d.ts.map +1 -0
  219. package/dist/esm/config/models/app-env-config.backend.schemas.js +115 -0
  220. package/dist/esm/config/models/app-env-config.backend.schemas.js.map +1 -0
  221. package/dist/esm/config/models/config-mutation-boundary.utils.d.ts +11 -0
  222. package/dist/esm/config/models/config-mutation-boundary.utils.d.ts.map +1 -0
  223. package/dist/esm/config/models/config-mutation-boundary.utils.js +50 -0
  224. package/dist/esm/config/models/config-mutation-boundary.utils.js.map +1 -0
  225. package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts +48 -0
  226. package/dist/esm/config/models/postgresql-env-config.backend.schemas.d.ts.map +1 -0
  227. package/dist/esm/config/models/postgresql-env-config.backend.schemas.js +106 -0
  228. package/dist/esm/config/models/postgresql-env-config.backend.schemas.js.map +1 -0
  229. package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts +12 -0
  230. package/dist/esm/config/models/runtime-topology.backend.contracts.d.ts.map +1 -0
  231. package/dist/esm/config/models/runtime-topology.backend.contracts.js +23 -0
  232. package/dist/esm/config/models/runtime-topology.backend.contracts.js.map +1 -0
  233. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts +39 -0
  234. package/dist/esm/config/services/__tests__/mock-app-configuration.service.d.ts.map +1 -0
  235. package/dist/esm/config/services/__tests__/mock-app-configuration.service.js +124 -0
  236. package/dist/esm/config/services/__tests__/mock-app-configuration.service.js.map +1 -0
  237. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts +76 -0
  238. package/dist/esm/config/services/app-configuration-loader.backend.service.d.ts.map +1 -0
  239. package/dist/esm/config/services/app-configuration-loader.backend.service.js +375 -0
  240. package/dist/esm/config/services/app-configuration-loader.backend.service.js.map +1 -0
  241. package/dist/esm/config/services/app-configuration.backend.service.d.ts +148 -0
  242. package/dist/esm/config/services/app-configuration.backend.service.d.ts.map +1 -0
  243. package/dist/esm/config/services/app-configuration.backend.service.js +494 -0
  244. package/dist/esm/config/services/app-configuration.backend.service.js.map +1 -0
  245. package/dist/esm/config/services/app-configuration.backend.utils.d.ts +17 -0
  246. package/dist/esm/config/services/app-configuration.backend.utils.d.ts.map +1 -0
  247. package/dist/esm/config/services/app-configuration.backend.utils.js +61 -0
  248. package/dist/esm/config/services/app-configuration.backend.utils.js.map +1 -0
  249. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts +70 -0
  250. package/dist/esm/config/services/application-startup-config-validator.backend.service.d.ts.map +1 -0
  251. package/dist/esm/config/services/application-startup-config-validator.backend.service.js +470 -0
  252. package/dist/esm/config/services/application-startup-config-validator.backend.service.js.map +1 -0
  253. package/dist/esm/databases/models/aggregation.backend.schemas.d.ts +136 -0
  254. package/dist/esm/databases/models/aggregation.backend.schemas.d.ts.map +1 -0
  255. package/dist/esm/databases/models/aggregation.backend.schemas.js +9 -0
  256. package/dist/esm/databases/models/aggregation.backend.schemas.js.map +1 -0
  257. package/dist/esm/databases/models/databases.backend.schemas.d.ts +32 -0
  258. package/dist/esm/databases/models/databases.backend.schemas.d.ts.map +1 -0
  259. package/dist/esm/databases/models/databases.backend.schemas.js +60 -0
  260. package/dist/esm/databases/models/databases.backend.schemas.js.map +1 -0
  261. package/dist/esm/databases/models/filter.backend.schemas.d.ts +83 -0
  262. package/dist/esm/databases/models/filter.backend.schemas.d.ts.map +1 -0
  263. package/dist/esm/databases/models/filter.backend.schemas.js +27 -0
  264. package/dist/esm/databases/models/filter.backend.schemas.js.map +1 -0
  265. package/dist/esm/databases/models/sql.backend.schemas.d.ts +75 -0
  266. package/dist/esm/databases/models/sql.backend.schemas.d.ts.map +1 -0
  267. package/dist/esm/databases/models/sql.backend.schemas.js +31 -0
  268. package/dist/esm/databases/models/sql.backend.schemas.js.map +1 -0
  269. package/dist/esm/databases/models/transaction.shared.schemas.d.ts +120 -0
  270. package/dist/esm/databases/models/transaction.shared.schemas.d.ts.map +1 -0
  271. package/dist/esm/databases/models/transaction.shared.schemas.js +30 -0
  272. package/dist/esm/databases/models/transaction.shared.schemas.js.map +1 -0
  273. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts +15 -0
  274. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.d.ts.map +1 -0
  275. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.js +60 -0
  276. package/dist/esm/databases/services/__tests__/mock-mongo-transaction-registry.service.js.map +1 -0
  277. package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts +19 -0
  278. package/dist/esm/databases/services/__tests__/mock-mongodb.service.d.ts.map +1 -0
  279. package/dist/esm/databases/services/__tests__/mock-mongodb.service.js +69 -0
  280. package/dist/esm/databases/services/__tests__/mock-mongodb.service.js.map +1 -0
  281. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts +11 -0
  282. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.d.ts.map +1 -0
  283. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.js +315 -0
  284. package/dist/esm/databases/services/__tests__/mock-mongoose-model.service.js.map +1 -0
  285. package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts +29 -0
  286. package/dist/esm/databases/services/__tests__/mock-redis.service.d.ts.map +1 -0
  287. package/dist/esm/databases/services/__tests__/mock-redis.service.js +65 -0
  288. package/dist/esm/databases/services/__tests__/mock-redis.service.js.map +1 -0
  289. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts +19 -0
  290. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.d.ts.map +1 -0
  291. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.js +44 -0
  292. package/dist/esm/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.js.map +1 -0
  293. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts +74 -0
  294. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.d.ts.map +1 -0
  295. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js +369 -0
  296. package/dist/esm/databases/services/aggregation/aggregation-authorization.backend.service.js.map +1 -0
  297. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts +110 -0
  298. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.d.ts.map +1 -0
  299. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.js +444 -0
  300. package/dist/esm/databases/services/aggregation/aggregation-query.backend.service.js.map +1 -0
  301. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts +38 -0
  302. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.d.ts.map +1 -0
  303. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.js +180 -0
  304. package/dist/esm/databases/services/aggregation/computed-measure-evaluator.backend.service.js.map +1 -0
  305. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts +42 -0
  306. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.d.ts.map +1 -0
  307. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.js +183 -0
  308. package/dist/esm/databases/services/aggregation/field-access-validator.backend.service.js.map +1 -0
  309. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts +48 -0
  310. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.d.ts.map +1 -0
  311. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.js +320 -0
  312. package/dist/esm/databases/services/aggregation/time-series-densifier.backend.service.js.map +1 -0
  313. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts +47 -0
  314. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.d.ts.map +1 -0
  315. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.js +187 -0
  316. package/dist/esm/databases/services/aggregation/topn-processor.backend.service.js.map +1 -0
  317. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts +47 -0
  318. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.d.ts.map +1 -0
  319. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.js +250 -0
  320. package/dist/esm/databases/services/aggregation/window-function-processor.backend.service.js.map +1 -0
  321. package/dist/esm/databases/services/db-utils.d.ts +56 -0
  322. package/dist/esm/databases/services/db-utils.d.ts.map +1 -0
  323. package/dist/esm/databases/services/db-utils.js +66 -0
  324. package/dist/esm/databases/services/db-utils.js.map +1 -0
  325. package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts +91 -0
  326. package/dist/esm/databases/services/mongo-aggregation.backend.service.d.ts.map +1 -0
  327. package/dist/esm/databases/services/mongo-aggregation.backend.service.js +652 -0
  328. package/dist/esm/databases/services/mongo-aggregation.backend.service.js.map +1 -0
  329. package/dist/esm/databases/services/mongodb.service.d.ts +132 -0
  330. package/dist/esm/databases/services/mongodb.service.d.ts.map +1 -0
  331. package/dist/esm/databases/services/mongodb.service.js +630 -0
  332. package/dist/esm/databases/services/mongodb.service.js.map +1 -0
  333. package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts +113 -0
  334. package/dist/esm/databases/services/postgresql-aggregation.backend.service.d.ts.map +1 -0
  335. package/dist/esm/databases/services/postgresql-aggregation.backend.service.js +635 -0
  336. package/dist/esm/databases/services/postgresql-aggregation.backend.service.js.map +1 -0
  337. package/dist/esm/databases/services/postgresql-database.backend.service.d.ts +75 -0
  338. package/dist/esm/databases/services/postgresql-database.backend.service.d.ts.map +1 -0
  339. package/dist/esm/databases/services/postgresql-database.backend.service.js +255 -0
  340. package/dist/esm/databases/services/postgresql-database.backend.service.js.map +1 -0
  341. package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts +116 -0
  342. package/dist/esm/databases/services/postgresql-filter.backend.service.d.ts.map +1 -0
  343. package/dist/esm/databases/services/postgresql-filter.backend.service.js +624 -0
  344. package/dist/esm/databases/services/postgresql-filter.backend.service.js.map +1 -0
  345. package/dist/esm/databases/services/redis.service.d.ts +143 -0
  346. package/dist/esm/databases/services/redis.service.d.ts.map +1 -0
  347. package/dist/esm/databases/services/redis.service.js +429 -0
  348. package/dist/esm/databases/services/redis.service.js.map +1 -0
  349. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts +302 -0
  350. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.d.ts.map +1 -0
  351. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.js +1787 -0
  352. package/dist/esm/databases/services/zod-to-mongoose-schema-convertor.backend.service.js.map +1 -0
  353. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts +65 -0
  354. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.d.ts.map +1 -0
  355. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.js +237 -0
  356. package/dist/esm/databases/services/zod-to-sql-hybrid-schema.planner.js.map +1 -0
  357. package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts +339 -0
  358. package/dist/esm/errors/services/__tests__/mock-error-builder.service.d.ts.map +1 -0
  359. package/dist/esm/errors/services/__tests__/mock-error-builder.service.js +209 -0
  360. package/dist/esm/errors/services/__tests__/mock-error-builder.service.js.map +1 -0
  361. package/dist/esm/errors/services/error-builder.backend.service.d.ts +95 -0
  362. package/dist/esm/errors/services/error-builder.backend.service.d.ts.map +1 -0
  363. package/dist/esm/errors/services/error-builder.backend.service.js +334 -0
  364. package/dist/esm/errors/services/error-builder.backend.service.js.map +1 -0
  365. package/dist/esm/errors/services/error-handler.backend.service.d.ts +43 -0
  366. package/dist/esm/errors/services/error-handler.backend.service.d.ts.map +1 -0
  367. package/dist/esm/errors/services/error-handler.backend.service.js +219 -0
  368. package/dist/esm/errors/services/error-handler.backend.service.js.map +1 -0
  369. package/dist/esm/errors/services/rate-limit.backend.service.d.ts +23 -0
  370. package/dist/esm/errors/services/rate-limit.backend.service.d.ts.map +1 -0
  371. package/dist/esm/errors/services/rate-limit.backend.service.js +59 -0
  372. package/dist/esm/errors/services/rate-limit.backend.service.js.map +1 -0
  373. package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts +135 -0
  374. package/dist/esm/external-providers/models/external-providers.backend.schemas.d.ts.map +1 -0
  375. package/dist/esm/external-providers/models/external-providers.backend.schemas.js +129 -0
  376. package/dist/esm/external-providers/models/external-providers.backend.schemas.js.map +1 -0
  377. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts +18 -0
  378. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.d.ts.map +1 -0
  379. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js +38 -0
  380. package/dist/esm/external-providers/services/__tests__/mock-external-providers-registry.service.js.map +1 -0
  381. package/dist/esm/external-providers/services/__tests__/mock-lazy-provider-registry.service.d.ts +20 -0
  382. package/dist/esm/external-providers/services/__tests__/mock-lazy-provider-registry.service.d.ts.map +1 -0
  383. package/dist/esm/external-providers/services/__tests__/mock-lazy-provider-registry.service.js +44 -0
  384. package/dist/esm/external-providers/services/__tests__/mock-lazy-provider-registry.service.js.map +1 -0
  385. package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts +9 -0
  386. package/dist/esm/external-providers/services/external-api-handler.backend.service.d.ts.map +1 -0
  387. package/dist/esm/external-providers/services/external-api-handler.backend.service.js +36 -0
  388. package/dist/esm/external-providers/services/external-api-handler.backend.service.js.map +1 -0
  389. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts +83 -0
  390. package/dist/esm/external-providers/services/external-providers-registry.backend.service.d.ts.map +1 -0
  391. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js +422 -0
  392. package/dist/esm/external-providers/services/external-providers-registry.backend.service.js.map +1 -0
  393. package/dist/esm/external-providers/services/feature-bindings.backend.service.d.ts +102 -0
  394. package/dist/esm/external-providers/services/feature-bindings.backend.service.d.ts.map +1 -0
  395. package/dist/esm/external-providers/services/feature-bindings.backend.service.js +352 -0
  396. package/dist/esm/external-providers/services/feature-bindings.backend.service.js.map +1 -0
  397. package/dist/esm/external-providers/services/lazy-provider-registry.backend.service.d.ts +141 -0
  398. package/dist/esm/external-providers/services/lazy-provider-registry.backend.service.d.ts.map +1 -0
  399. package/dist/esm/external-providers/services/lazy-provider-registry.backend.service.js +391 -0
  400. package/dist/esm/external-providers/services/lazy-provider-registry.backend.service.js.map +1 -0
  401. package/dist/esm/features/controllers/features.backend.controller.d.ts +35 -0
  402. package/dist/esm/features/controllers/features.backend.controller.d.ts.map +1 -0
  403. package/dist/esm/features/controllers/features.backend.controller.js +179 -0
  404. package/dist/esm/features/controllers/features.backend.controller.js.map +1 -0
  405. package/dist/esm/features/services/__tests__/mock-capability-bindings.service.d.ts +8 -0
  406. package/dist/esm/features/services/__tests__/mock-capability-bindings.service.d.ts.map +1 -0
  407. package/dist/esm/features/services/__tests__/mock-capability-bindings.service.js +31 -0
  408. package/dist/esm/features/services/__tests__/mock-capability-bindings.service.js.map +1 -0
  409. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts +22 -0
  410. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.d.ts.map +1 -0
  411. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.js +52 -0
  412. package/dist/esm/features/services/__tests__/mock-feature-definition-registry.service.js.map +1 -0
  413. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts +13 -0
  414. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.d.ts.map +1 -0
  415. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.js +36 -0
  416. package/dist/esm/features/services/__tests__/mock-feature-resolution.service.js.map +1 -0
  417. package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts +111 -0
  418. package/dist/esm/features/services/feature-definition-registry.backend.service.d.ts.map +1 -0
  419. package/dist/esm/features/services/feature-definition-registry.backend.service.js +437 -0
  420. package/dist/esm/features/services/feature-definition-registry.backend.service.js.map +1 -0
  421. package/dist/esm/features/services/feature-gate.backend.service.d.ts +110 -0
  422. package/dist/esm/features/services/feature-gate.backend.service.d.ts.map +1 -0
  423. package/dist/esm/features/services/feature-gate.backend.service.js +414 -0
  424. package/dist/esm/features/services/feature-gate.backend.service.js.map +1 -0
  425. package/dist/esm/features/services/feature-resolution.backend.service.d.ts +163 -0
  426. package/dist/esm/features/services/feature-resolution.backend.service.d.ts.map +1 -0
  427. package/dist/esm/features/services/feature-resolution.backend.service.js +550 -0
  428. package/dist/esm/features/services/feature-resolution.backend.service.js.map +1 -0
  429. package/dist/esm/features/testing/feature-test-utils.d.ts +85 -0
  430. package/dist/esm/features/testing/feature-test-utils.d.ts.map +1 -0
  431. package/dist/esm/features/testing/feature-test-utils.js +127 -0
  432. package/dist/esm/features/testing/feature-test-utils.js.map +1 -0
  433. package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts +34 -0
  434. package/dist/esm/files/batches/files-cleanup.batch.backend.service.d.ts.map +1 -0
  435. package/dist/esm/files/batches/files-cleanup.batch.backend.service.js +226 -0
  436. package/dist/esm/files/batches/files-cleanup.batch.backend.service.js.map +1 -0
  437. package/dist/esm/files/constraints/file-analyzers.types.d.ts +76 -0
  438. package/dist/esm/files/constraints/file-analyzers.types.d.ts.map +1 -0
  439. package/dist/esm/files/constraints/file-analyzers.types.js +16 -0
  440. package/dist/esm/files/constraints/file-analyzers.types.js.map +1 -0
  441. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts +38 -0
  442. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.d.ts.map +1 -0
  443. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.js +99 -0
  444. package/dist/esm/files/constraints/file-constraint-resolver-chain.backend.service.js.map +1 -0
  445. package/dist/esm/files/constraints/file-constraint.types.d.ts +77 -0
  446. package/dist/esm/files/constraints/file-constraint.types.d.ts.map +1 -0
  447. package/dist/esm/files/constraints/file-constraint.types.js +16 -0
  448. package/dist/esm/files/constraints/file-constraint.types.js.map +1 -0
  449. package/dist/esm/files/constraints/file-validation.backend.service.d.ts +63 -0
  450. package/dist/esm/files/constraints/file-validation.backend.service.d.ts.map +1 -0
  451. package/dist/esm/files/constraints/file-validation.backend.service.js +317 -0
  452. package/dist/esm/files/constraints/file-validation.backend.service.js.map +1 -0
  453. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts +33 -0
  454. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.d.ts.map +1 -0
  455. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.js +126 -0
  456. package/dist/esm/files/constraints/resource-field-constraint-resolver.backend.service.js.map +1 -0
  457. package/dist/esm/files/controllers/file.controller.d.ts +145 -0
  458. package/dist/esm/files/controllers/file.controller.d.ts.map +1 -0
  459. package/dist/esm/files/controllers/file.controller.js +806 -0
  460. package/dist/esm/files/controllers/file.controller.js.map +1 -0
  461. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts +85 -0
  462. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.d.ts.map +1 -0
  463. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js +512 -0
  464. package/dist/esm/files/handlers/resource-file-upload-handler.backend.service.js.map +1 -0
  465. package/dist/esm/files/rag/weaviate-vector-store.backend.service.d.ts +84 -0
  466. package/dist/esm/files/rag/weaviate-vector-store.backend.service.d.ts.map +1 -0
  467. package/dist/esm/files/rag/weaviate-vector-store.backend.service.js +224 -0
  468. package/dist/esm/files/rag/weaviate-vector-store.backend.service.js.map +1 -0
  469. package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts +55 -0
  470. package/dist/esm/files/scanning/clamav-scanner.backend.service.d.ts.map +1 -0
  471. package/dist/esm/files/scanning/clamav-scanner.backend.service.js +202 -0
  472. package/dist/esm/files/scanning/clamav-scanner.backend.service.js.map +1 -0
  473. package/dist/esm/files/scanning/file-scan.types.d.ts +17 -0
  474. package/dist/esm/files/scanning/file-scan.types.d.ts.map +1 -0
  475. package/dist/esm/files/scanning/file-scan.types.js +7 -0
  476. package/dist/esm/files/scanning/file-scan.types.js.map +1 -0
  477. package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts +73 -0
  478. package/dist/esm/files/scanning/yara-scanner.backend.service.d.ts.map +1 -0
  479. package/dist/esm/files/scanning/yara-scanner.backend.service.js +184 -0
  480. package/dist/esm/files/scanning/yara-scanner.backend.service.js.map +1 -0
  481. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts +12 -0
  482. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.d.ts.map +1 -0
  483. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.js +41 -0
  484. package/dist/esm/files/services/__tests__/mock-file-field-detection.service.js.map +1 -0
  485. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts +33 -0
  486. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.d.ts.map +1 -0
  487. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.js +71 -0
  488. package/dist/esm/files/services/__tests__/mock-file-operation-handler.service.js.map +1 -0
  489. package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts +16 -0
  490. package/dist/esm/files/services/__tests__/mock-file-repository.service.d.ts.map +1 -0
  491. package/dist/esm/files/services/__tests__/mock-file-repository.service.js +95 -0
  492. package/dist/esm/files/services/__tests__/mock-file-repository.service.js.map +1 -0
  493. package/dist/esm/files/services/file-field-detection.backend.service.d.ts +57 -0
  494. package/dist/esm/files/services/file-field-detection.backend.service.d.ts.map +1 -0
  495. package/dist/esm/files/services/file-field-detection.backend.service.js +145 -0
  496. package/dist/esm/files/services/file-field-detection.backend.service.js.map +1 -0
  497. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts +103 -0
  498. package/dist/esm/files/services/file-operation-handler.backend.service.d.ts.map +1 -0
  499. package/dist/esm/files/services/file-operation-handler.backend.service.js +604 -0
  500. package/dist/esm/files/services/file-operation-handler.backend.service.js.map +1 -0
  501. package/dist/esm/files/services/file-population.backend.service.d.ts +73 -0
  502. package/dist/esm/files/services/file-population.backend.service.d.ts.map +1 -0
  503. package/dist/esm/files/services/file-population.backend.service.js +367 -0
  504. package/dist/esm/files/services/file-population.backend.service.js.map +1 -0
  505. package/dist/esm/files/services/file-rag-indexing.backend.service.d.ts +64 -0
  506. package/dist/esm/files/services/file-rag-indexing.backend.service.d.ts.map +1 -0
  507. package/dist/esm/files/services/file-rag-indexing.backend.service.js +188 -0
  508. package/dist/esm/files/services/file-rag-indexing.backend.service.js.map +1 -0
  509. package/dist/esm/files/services/file-scanning.backend.service.d.ts +97 -0
  510. package/dist/esm/files/services/file-scanning.backend.service.d.ts.map +1 -0
  511. package/dist/esm/files/services/file-scanning.backend.service.js +323 -0
  512. package/dist/esm/files/services/file-scanning.backend.service.js.map +1 -0
  513. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts +52 -0
  514. package/dist/esm/files/services/file-text-extraction.backend.service.d.ts.map +1 -0
  515. package/dist/esm/files/services/file-text-extraction.backend.service.js +168 -0
  516. package/dist/esm/files/services/file-text-extraction.backend.service.js.map +1 -0
  517. package/dist/esm/files/services/files.backend.service.d.ts +235 -0
  518. package/dist/esm/files/services/files.backend.service.d.ts.map +1 -0
  519. package/dist/esm/files/services/files.backend.service.js +987 -0
  520. package/dist/esm/files/services/files.backend.service.js.map +1 -0
  521. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts +50 -0
  522. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.d.ts.map +1 -0
  523. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.js +253 -0
  524. package/dist/esm/files/storage/file-storage-path-resolver.backend.service.js.map +1 -0
  525. package/dist/esm/files/storage/file-storage-provider.types.d.ts +156 -0
  526. package/dist/esm/files/storage/file-storage-provider.types.d.ts.map +1 -0
  527. package/dist/esm/files/storage/file-storage-provider.types.js +10 -0
  528. package/dist/esm/files/storage/file-storage-provider.types.js.map +1 -0
  529. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts +68 -0
  530. package/dist/esm/files/storage/file-storage-router.backend.service.d.ts.map +1 -0
  531. package/dist/esm/files/storage/file-storage-router.backend.service.js +168 -0
  532. package/dist/esm/files/storage/file-storage-router.backend.service.js.map +1 -0
  533. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts +57 -0
  534. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.d.ts.map +1 -0
  535. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js +307 -0
  536. package/dist/esm/files/storage/local-directory-storage-provider.backend.service.js.map +1 -0
  537. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts +41 -0
  538. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.d.ts.map +1 -0
  539. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js +397 -0
  540. package/dist/esm/files/storage/wildo-managed-storage-provider.backend.service.js.map +1 -0
  541. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts +30 -0
  542. package/dist/esm/files/utils/file-field-schema-path.backend.utils.d.ts.map +1 -0
  543. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js +251 -0
  544. package/dist/esm/files/utils/file-field-schema-path.backend.utils.js.map +1 -0
  545. package/dist/esm/files/utils/file-upload.utils.d.ts +74 -0
  546. package/dist/esm/files/utils/file-upload.utils.d.ts.map +1 -0
  547. package/dist/esm/files/utils/file-upload.utils.js +116 -0
  548. package/dist/esm/files/utils/file-upload.utils.js.map +1 -0
  549. package/dist/esm/files/utils/file-uploader.utils.d.ts +15 -0
  550. package/dist/esm/files/utils/file-uploader.utils.d.ts.map +1 -0
  551. package/dist/esm/files/utils/file-uploader.utils.js +47 -0
  552. package/dist/esm/files/utils/file-uploader.utils.js.map +1 -0
  553. package/dist/esm/files/utils/file-validation.utils.d.ts +111 -0
  554. package/dist/esm/files/utils/file-validation.utils.d.ts.map +1 -0
  555. package/dist/esm/files/utils/file-validation.utils.js +516 -0
  556. package/dist/esm/files/utils/file-validation.utils.js.map +1 -0
  557. package/dist/esm/flows-actors/agent-catalogs.backend.d.ts +222 -0
  558. package/dist/esm/flows-actors/agent-catalogs.backend.d.ts.map +1 -0
  559. package/dist/esm/flows-actors/agent-catalogs.backend.js +320 -0
  560. package/dist/esm/flows-actors/agent-catalogs.backend.js.map +1 -0
  561. package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts +33 -0
  562. package/dist/esm/flows-actors/controllers/flows-actors.controller.d.ts.map +1 -0
  563. package/dist/esm/flows-actors/controllers/flows-actors.controller.js +96 -0
  564. package/dist/esm/flows-actors/controllers/flows-actors.controller.js.map +1 -0
  565. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts +225 -0
  566. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.d.ts.map +1 -0
  567. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js +323 -0
  568. package/dist/esm/flows-actors/models/agent-catalogs.backend.definitions.js.map +1 -0
  569. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts +77 -0
  570. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.d.ts.map +1 -0
  571. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.js +28 -0
  572. package/dist/esm/flows-actors/models/agent-facets.backend.definitions.js.map +1 -0
  573. package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts +1 -0
  574. package/dist/esm/flows-actors/models/agents.backend.definitions.d.ts.map +1 -0
  575. package/dist/esm/flows-actors/models/agents.backend.definitions.js +1 -0
  576. package/dist/esm/flows-actors/models/agents.backend.definitions.js.map +1 -0
  577. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts +52 -0
  578. package/dist/esm/flows-actors/models/core-facets.backend.definitions.d.ts.map +1 -0
  579. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js +307 -0
  580. package/dist/esm/flows-actors/models/core-facets.backend.definitions.js.map +1 -0
  581. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts +7 -0
  582. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.d.ts.map +1 -0
  583. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.js +8 -0
  584. package/dist/esm/flows-actors/models/flows-actors.backend.definitions.js.map +1 -0
  585. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts +30 -0
  586. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.d.ts.map +1 -0
  587. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js +7 -0
  588. package/dist/esm/flows-actors/models/flows-actors.backend.schemas.js.map +1 -0
  589. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts +72 -0
  590. package/dist/esm/flows-actors/services/actors-system.backend.service.d.ts.map +1 -0
  591. package/dist/esm/flows-actors/services/actors-system.backend.service.js +229 -0
  592. package/dist/esm/flows-actors/services/actors-system.backend.service.js.map +1 -0
  593. package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts +95 -0
  594. package/dist/esm/flows-actors/services/agent-facets.backend.service.d.ts.map +1 -0
  595. package/dist/esm/flows-actors/services/agent-facets.backend.service.js +276 -0
  596. package/dist/esm/flows-actors/services/agent-facets.backend.service.js.map +1 -0
  597. package/dist/esm/flows-actors/services/agents.backend.service.d.ts +183 -0
  598. package/dist/esm/flows-actors/services/agents.backend.service.d.ts.map +1 -0
  599. package/dist/esm/flows-actors/services/agents.backend.service.js +2095 -0
  600. package/dist/esm/flows-actors/services/agents.backend.service.js.map +1 -0
  601. package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts +64 -0
  602. package/dist/esm/flows-actors/services/context-curation.backend.service.d.ts.map +1 -0
  603. package/dist/esm/flows-actors/services/context-curation.backend.service.js +180 -0
  604. package/dist/esm/flows-actors/services/context-curation.backend.service.js.map +1 -0
  605. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts +101 -0
  606. package/dist/esm/flows-actors/services/flows-actors-registry.service.d.ts.map +1 -0
  607. package/dist/esm/flows-actors/services/flows-actors-registry.service.js +313 -0
  608. package/dist/esm/flows-actors/services/flows-actors-registry.service.js.map +1 -0
  609. package/dist/esm/flows-actors/services/flows.backend.services.d.ts +64 -0
  610. package/dist/esm/flows-actors/services/flows.backend.services.d.ts.map +1 -0
  611. package/dist/esm/flows-actors/services/flows.backend.services.js +203 -0
  612. package/dist/esm/flows-actors/services/flows.backend.services.js.map +1 -0
  613. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts +91 -0
  614. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.d.ts.map +1 -0
  615. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js +629 -0
  616. package/dist/esm/flows-actors/services/prompt-compiler.backend.service.js.map +1 -0
  617. package/dist/esm/flows-actors/utils/cli-runtime-operation-support.backend.utils.d.ts +15 -0
  618. package/dist/esm/flows-actors/utils/cli-runtime-operation-support.backend.utils.d.ts.map +1 -0
  619. package/dist/esm/flows-actors/utils/cli-runtime-operation-support.backend.utils.js +55 -0
  620. package/dist/esm/flows-actors/utils/cli-runtime-operation-support.backend.utils.js.map +1 -0
  621. package/dist/esm/flows-actors/utils/cli-runtime-runner.backend.utils.d.ts +22 -0
  622. package/dist/esm/flows-actors/utils/cli-runtime-runner.backend.utils.d.ts.map +1 -0
  623. package/dist/esm/flows-actors/utils/cli-runtime-runner.backend.utils.js +131 -0
  624. package/dist/esm/flows-actors/utils/cli-runtime-runner.backend.utils.js.map +1 -0
  625. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts +15 -0
  626. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.d.ts.map +1 -0
  627. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.js +43 -0
  628. package/dist/esm/flows-actors/utils/flows-actors-frontend-extractor.utils.js.map +1 -0
  629. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts +66 -0
  630. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.d.ts.map +1 -0
  631. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.js +219 -0
  632. package/dist/esm/flows-actors/utils/prompt-ir-adapters.backend.utils.js.map +1 -0
  633. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts +17 -0
  634. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.d.ts.map +1 -0
  635. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.js +110 -0
  636. package/dist/esm/guidance/batches/dormancy-detection.batch.backend.service.js.map +1 -0
  637. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts +41 -0
  638. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.d.ts.map +1 -0
  639. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.js +135 -0
  640. package/dist/esm/guidance/services/guidance-trigger-evaluator.backend.service.js.map +1 -0
  641. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts +33 -0
  642. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.d.ts.map +1 -0
  643. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.js +105 -0
  644. package/dist/esm/guidance/services/lifecycle-custom-implementations.backend.js.map +1 -0
  645. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts +103 -0
  646. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.d.ts.map +1 -0
  647. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.js +685 -0
  648. package/dist/esm/guidance/services/lifecycle-evaluator.backend.service.js.map +1 -0
  649. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts +23 -0
  650. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.d.ts.map +1 -0
  651. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.js +57 -0
  652. package/dist/esm/guidance/services/milestone-condition-registry.backend.service.js.map +1 -0
  653. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts +49 -0
  654. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.d.ts.map +1 -0
  655. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.js +248 -0
  656. package/dist/esm/guidance/services/milestone-definition-registry.backend.service.js.map +1 -0
  657. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts +64 -0
  658. package/dist/esm/guidance/services/milestone-evaluator.backend.service.d.ts.map +1 -0
  659. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js +487 -0
  660. package/dist/esm/guidance/services/milestone-evaluator.backend.service.js.map +1 -0
  661. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts +55 -0
  662. package/dist/esm/i18n/controllers/i18n-controller.backend.service.d.ts.map +1 -0
  663. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js +208 -0
  664. package/dist/esm/i18n/controllers/i18n-controller.backend.service.js.map +1 -0
  665. package/dist/esm/i18n/services/i18n.backend.service.d.ts +43 -0
  666. package/dist/esm/i18n/services/i18n.backend.service.d.ts.map +1 -0
  667. package/dist/esm/i18n/services/i18n.backend.service.js +83 -0
  668. package/dist/esm/i18n/services/i18n.backend.service.js.map +1 -0
  669. package/dist/esm/index.d.ts +203 -0
  670. package/dist/esm/index.d.ts.map +1 -0
  671. package/dist/esm/index.js +239 -0
  672. package/dist/esm/index.js.map +1 -0
  673. package/dist/esm/inject/models/container.d.ts +44 -0
  674. package/dist/esm/inject/models/container.d.ts.map +1 -0
  675. package/dist/esm/inject/models/container.js +489 -0
  676. package/dist/esm/inject/models/container.js.map +1 -0
  677. package/dist/esm/inject/models/service-types.d.ts +198 -0
  678. package/dist/esm/inject/models/service-types.d.ts.map +1 -0
  679. package/dist/esm/inject/models/service-types.js +226 -0
  680. package/dist/esm/inject/models/service-types.js.map +1 -0
  681. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts +34 -0
  682. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.d.ts.map +1 -0
  683. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js +122 -0
  684. package/dist/esm/monitoring/analytics/controllers/analytics.backend.controller.js.map +1 -0
  685. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts +41 -0
  686. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.d.ts.map +1 -0
  687. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js +62 -0
  688. package/dist/esm/monitoring/analytics/services/value-moment-engine.backend.service.js.map +1 -0
  689. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts +18 -0
  690. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.d.ts.map +1 -0
  691. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js +43 -0
  692. package/dist/esm/monitoring/analytics/services/value-moment-handler-registry.backend.service.js.map +1 -0
  693. package/dist/esm/monitoring/logger/middleware/logging.middleware.d.ts +12 -0
  694. package/dist/esm/monitoring/logger/middleware/logging.middleware.d.ts.map +1 -0
  695. package/dist/esm/monitoring/logger/middleware/logging.middleware.js +25 -0
  696. package/dist/esm/monitoring/logger/middleware/logging.middleware.js.map +1 -0
  697. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts +41 -0
  698. package/dist/esm/monitoring/logger/models/logger.backend.schemas.d.ts.map +1 -0
  699. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js +29 -0
  700. package/dist/esm/monitoring/logger/models/logger.backend.schemas.js.map +1 -0
  701. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts +22 -0
  702. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.d.ts.map +1 -0
  703. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.js +53 -0
  704. package/dist/esm/monitoring/logger/services/__tests__/mock-logger.service.js.map +1 -0
  705. package/dist/esm/monitoring/logger/services/logger.service.d.ts +37 -0
  706. package/dist/esm/monitoring/logger/services/logger.service.d.ts.map +1 -0
  707. package/dist/esm/monitoring/logger/services/logger.service.js +189 -0
  708. package/dist/esm/monitoring/logger/services/logger.service.js.map +1 -0
  709. package/dist/esm/monitoring/observability/middleware/metrics.middleware.d.ts +38 -0
  710. package/dist/esm/monitoring/observability/middleware/metrics.middleware.d.ts.map +1 -0
  711. package/dist/esm/monitoring/observability/middleware/metrics.middleware.js +147 -0
  712. package/dist/esm/monitoring/observability/middleware/metrics.middleware.js.map +1 -0
  713. package/dist/esm/monitoring/observability/middleware/telemetry.middleware.d.ts +26 -0
  714. package/dist/esm/monitoring/observability/middleware/telemetry.middleware.d.ts.map +1 -0
  715. package/dist/esm/monitoring/observability/middleware/telemetry.middleware.js +117 -0
  716. package/dist/esm/monitoring/observability/middleware/telemetry.middleware.js.map +1 -0
  717. package/dist/esm/monitoring/observability/middleware/tracing.middleware.d.ts +28 -0
  718. package/dist/esm/monitoring/observability/middleware/tracing.middleware.d.ts.map +1 -0
  719. package/dist/esm/monitoring/observability/middleware/tracing.middleware.js +182 -0
  720. package/dist/esm/monitoring/observability/middleware/tracing.middleware.js.map +1 -0
  721. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts +86 -0
  722. package/dist/esm/monitoring/observability/models/observability.backend.schemas.d.ts.map +1 -0
  723. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js +1 -0
  724. package/dist/esm/monitoring/observability/models/observability.backend.schemas.js.map +1 -0
  725. package/dist/esm/monitoring/observability/services/instrumentations/custom.instrumentations.d.ts +57 -0
  726. package/dist/esm/monitoring/observability/services/instrumentations/custom.instrumentations.d.ts.map +1 -0
  727. package/dist/esm/monitoring/observability/services/instrumentations/custom.instrumentations.js +77 -0
  728. package/dist/esm/monitoring/observability/services/instrumentations/custom.instrumentations.js.map +1 -0
  729. package/dist/esm/monitoring/observability/services/metrics.service.d.ts +27 -0
  730. package/dist/esm/monitoring/observability/services/metrics.service.d.ts.map +1 -0
  731. package/dist/esm/monitoring/observability/services/metrics.service.js +236 -0
  732. package/dist/esm/monitoring/observability/services/metrics.service.js.map +1 -0
  733. package/dist/esm/monitoring/observability/services/telemetry.service.d.ts +28 -0
  734. package/dist/esm/monitoring/observability/services/telemetry.service.d.ts.map +1 -0
  735. package/dist/esm/monitoring/observability/services/telemetry.service.js +144 -0
  736. package/dist/esm/monitoring/observability/services/telemetry.service.js.map +1 -0
  737. package/dist/esm/monitoring/observability/services/tracer.service.d.ts +24 -0
  738. package/dist/esm/monitoring/observability/services/tracer.service.d.ts.map +1 -0
  739. package/dist/esm/monitoring/observability/services/tracer.service.js +287 -0
  740. package/dist/esm/monitoring/observability/services/tracer.service.js.map +1 -0
  741. package/dist/esm/notifications/email/components/email-components.d.ts +90 -0
  742. package/dist/esm/notifications/email/components/email-components.d.ts.map +1 -0
  743. package/dist/esm/notifications/email/components/email-components.js +171 -0
  744. package/dist/esm/notifications/email/components/email-components.js.map +1 -0
  745. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts +80 -0
  746. package/dist/esm/notifications/email/models/email-context-provider.interface.d.ts.map +1 -0
  747. package/dist/esm/notifications/email/models/email-context-provider.interface.js +25 -0
  748. package/dist/esm/notifications/email/models/email-context-provider.interface.js.map +1 -0
  749. package/dist/esm/notifications/email/models/email-template-definition.d.ts +68 -0
  750. package/dist/esm/notifications/email/models/email-template-definition.d.ts.map +1 -0
  751. package/dist/esm/notifications/email/models/email-template-definition.js +12 -0
  752. package/dist/esm/notifications/email/models/email-template-definition.js.map +1 -0
  753. package/dist/esm/notifications/email/models/email-template.actors-system.backend.definitions.d.ts +19 -0
  754. package/dist/esm/notifications/email/models/email-template.actors-system.backend.definitions.d.ts.map +1 -0
  755. package/dist/esm/notifications/email/models/email-template.actors-system.backend.definitions.js +66 -0
  756. package/dist/esm/notifications/email/models/email-template.actors-system.backend.definitions.js.map +1 -0
  757. package/dist/esm/notifications/email/models/email.backend.scheamas.d.ts +1 -0
  758. package/dist/esm/notifications/email/models/email.backend.scheamas.d.ts.map +1 -0
  759. package/dist/esm/notifications/email/models/email.backend.scheamas.js +1 -0
  760. package/dist/esm/notifications/email/models/email.backend.scheamas.js.map +1 -0
  761. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts +74 -0
  762. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.d.ts.map +1 -0
  763. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.js +196 -0
  764. package/dist/esm/notifications/email/services/email-batch-send.batch.backend.service.js.map +1 -0
  765. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts +49 -0
  766. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.d.ts.map +1 -0
  767. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js +141 -0
  768. package/dist/esm/notifications/email/services/email-context-provider-registry.backend.service.js.map +1 -0
  769. package/dist/esm/notifications/email/services/email-renderer.backend.service.d.ts +74 -0
  770. package/dist/esm/notifications/email/services/email-renderer.backend.service.d.ts.map +1 -0
  771. package/dist/esm/notifications/email/services/email-renderer.backend.service.js +215 -0
  772. package/dist/esm/notifications/email/services/email-renderer.backend.service.js.map +1 -0
  773. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts +37 -0
  774. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.d.ts.map +1 -0
  775. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js +121 -0
  776. package/dist/esm/notifications/email/services/email-template-compiler.backend.service.js.map +1 -0
  777. package/dist/esm/notifications/email/services/email-template-generation.backend.service.d.ts +115 -0
  778. package/dist/esm/notifications/email/services/email-template-generation.backend.service.d.ts.map +1 -0
  779. package/dist/esm/notifications/email/services/email-template-generation.backend.service.js +634 -0
  780. package/dist/esm/notifications/email/services/email-template-generation.backend.service.js.map +1 -0
  781. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts +48 -0
  782. package/dist/esm/notifications/email/services/email-template-registry.backend.service.d.ts.map +1 -0
  783. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js +146 -0
  784. package/dist/esm/notifications/email/services/email-template-registry.backend.service.js.map +1 -0
  785. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts +58 -0
  786. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.d.ts.map +1 -0
  787. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js +223 -0
  788. package/dist/esm/notifications/email/services/email-template-sandbox.backend.service.js.map +1 -0
  789. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts +49 -0
  790. package/dist/esm/notifications/email/services/email-template-validator.backend.service.d.ts.map +1 -0
  791. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js +204 -0
  792. package/dist/esm/notifications/email/services/email-template-validator.backend.service.js.map +1 -0
  793. package/dist/esm/notifications/email/services/email.backend.service.d.ts +76 -0
  794. package/dist/esm/notifications/email/services/email.backend.service.d.ts.map +1 -0
  795. package/dist/esm/notifications/email/services/email.backend.service.js +294 -0
  796. package/dist/esm/notifications/email/services/email.backend.service.js.map +1 -0
  797. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts +56 -0
  798. package/dist/esm/notifications/email/utils/color-conversion.utils.d.ts.map +1 -0
  799. package/dist/esm/notifications/email/utils/color-conversion.utils.js +108 -0
  800. package/dist/esm/notifications/email/utils/color-conversion.utils.js.map +1 -0
  801. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts +8 -0
  802. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.d.ts.map +1 -0
  803. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.js +15 -0
  804. package/dist/esm/notifications/email/utils/interpolate-email-label.utils.js.map +1 -0
  805. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts +50 -0
  806. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.d.ts.map +1 -0
  807. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.js +281 -0
  808. package/dist/esm/notifications/email/utils/zod-to-typescript.utils.js.map +1 -0
  809. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts +94 -0
  810. package/dist/esm/notifications/services/notification-badge.backend.service.d.ts.map +1 -0
  811. package/dist/esm/notifications/services/notification-badge.backend.service.js +292 -0
  812. package/dist/esm/notifications/services/notification-badge.backend.service.js.map +1 -0
  813. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts +202 -0
  814. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.d.ts.map +1 -0
  815. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js +1290 -0
  816. package/dist/esm/notifications/services/notifications-dispatcher.backend.service.js.map +1 -0
  817. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts +50 -0
  818. package/dist/esm/notifications/sms/services/sms.backend.service.d.ts.map +1 -0
  819. package/dist/esm/notifications/sms/services/sms.backend.service.js +209 -0
  820. package/dist/esm/notifications/sms/services/sms.backend.service.js.map +1 -0
  821. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts +58 -0
  822. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.d.ts.map +1 -0
  823. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js +184 -0
  824. package/dist/esm/notifications/webhooks/controllers/webhook-auto-controller.backend.service.js.map +1 -0
  825. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts +56 -0
  826. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.d.ts.map +1 -0
  827. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.js +109 -0
  828. package/dist/esm/notifications/webhooks/services/polymorphic-lookup.backend.service.js.map +1 -0
  829. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts +96 -0
  830. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.d.ts.map +1 -0
  831. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js +396 -0
  832. package/dist/esm/notifications/webhooks/services/webhook-handler.backend.service.js.map +1 -0
  833. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts +39 -0
  834. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.d.ts.map +1 -0
  835. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.js +73 -0
  836. package/dist/esm/organizations/services/org-creation-on-registration.backend.utils.js.map +1 -0
  837. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts +22 -0
  838. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.d.ts.map +1 -0
  839. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.js +35 -0
  840. package/dist/esm/organizations/services/org-member-roles-validation.backend.utils.js.map +1 -0
  841. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts +10 -0
  842. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.d.ts.map +1 -0
  843. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js +77 -0
  844. package/dist/esm/organizations/services/organization-custom-implementation.backend.service.js.map +1 -0
  845. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts +10 -0
  846. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.d.ts.map +1 -0
  847. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.js +131 -0
  848. package/dist/esm/organizations/services/organization-member-custom-implementation.backend.service.js.map +1 -0
  849. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts +22 -0
  850. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.d.ts.map +1 -0
  851. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.js +21 -0
  852. package/dist/esm/organizations/services/scim-provisioning-gate.backend.utils.js.map +1 -0
  853. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts +25 -0
  854. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.d.ts.map +1 -0
  855. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.js +34 -0
  856. package/dist/esm/organizations/services/user-org-type-grant.backend.utils.js.map +1 -0
  857. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts +32 -0
  858. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.d.ts.map +1 -0
  859. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.js +66 -0
  860. package/dist/esm/organizations/services/user-type-revocation-on-org-leave.backend.utils.js.map +1 -0
  861. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts +126 -0
  862. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.d.ts.map +1 -0
  863. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js +370 -0
  864. package/dist/esm/queue/adapters/rabbitmq-adapter.backend.service.js.map +1 -0
  865. package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts +86 -0
  866. package/dist/esm/queue/apps-crontabs-manager.backend.service.d.ts.map +1 -0
  867. package/dist/esm/queue/apps-crontabs-manager.backend.service.js +176 -0
  868. package/dist/esm/queue/apps-crontabs-manager.backend.service.js.map +1 -0
  869. package/dist/esm/queue/cron-job-sync.backend.service.d.ts +42 -0
  870. package/dist/esm/queue/cron-job-sync.backend.service.d.ts.map +1 -0
  871. package/dist/esm/queue/cron-job-sync.backend.service.js +181 -0
  872. package/dist/esm/queue/cron-job-sync.backend.service.js.map +1 -0
  873. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts +84 -0
  874. package/dist/esm/queue/domain-queue-consumer.backend.service.d.ts.map +1 -0
  875. package/dist/esm/queue/domain-queue-consumer.backend.service.js +275 -0
  876. package/dist/esm/queue/domain-queue-consumer.backend.service.js.map +1 -0
  877. package/dist/esm/queue/job-completion-registry.backend.service.d.ts +111 -0
  878. package/dist/esm/queue/job-completion-registry.backend.service.d.ts.map +1 -0
  879. package/dist/esm/queue/job-completion-registry.backend.service.js +237 -0
  880. package/dist/esm/queue/job-completion-registry.backend.service.js.map +1 -0
  881. package/dist/esm/queue/job-consumer.backend.service.d.ts +109 -0
  882. package/dist/esm/queue/job-consumer.backend.service.d.ts.map +1 -0
  883. package/dist/esm/queue/job-consumer.backend.service.js +515 -0
  884. package/dist/esm/queue/job-consumer.backend.service.js.map +1 -0
  885. package/dist/esm/queue/job-executor.backend.service.d.ts +53 -0
  886. package/dist/esm/queue/job-executor.backend.service.d.ts.map +1 -0
  887. package/dist/esm/queue/job-executor.backend.service.js +278 -0
  888. package/dist/esm/queue/job-executor.backend.service.js.map +1 -0
  889. package/dist/esm/queue/job-payload-storage.backend.service.d.ts +86 -0
  890. package/dist/esm/queue/job-payload-storage.backend.service.d.ts.map +1 -0
  891. package/dist/esm/queue/job-payload-storage.backend.service.js +250 -0
  892. package/dist/esm/queue/job-payload-storage.backend.service.js.map +1 -0
  893. package/dist/esm/queue/job-status-tracking.backend.service.d.ts +97 -0
  894. package/dist/esm/queue/job-status-tracking.backend.service.d.ts.map +1 -0
  895. package/dist/esm/queue/job-status-tracking.backend.service.js +281 -0
  896. package/dist/esm/queue/job-status-tracking.backend.service.js.map +1 -0
  897. package/dist/esm/queue/queue-monitoring.backend.service.d.ts +71 -0
  898. package/dist/esm/queue/queue-monitoring.backend.service.d.ts.map +1 -0
  899. package/dist/esm/queue/queue-monitoring.backend.service.js +297 -0
  900. package/dist/esm/queue/queue-monitoring.backend.service.js.map +1 -0
  901. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts +63 -0
  902. package/dist/esm/queue/queue-worker-initializer.backend.service.d.ts.map +1 -0
  903. package/dist/esm/queue/queue-worker-initializer.backend.service.js +171 -0
  904. package/dist/esm/queue/queue-worker-initializer.backend.service.js.map +1 -0
  905. package/dist/esm/queue/queue.backend.service.d.ts +108 -0
  906. package/dist/esm/queue/queue.backend.service.d.ts.map +1 -0
  907. package/dist/esm/queue/queue.backend.service.js +419 -0
  908. package/dist/esm/queue/queue.backend.service.js.map +1 -0
  909. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts +74 -0
  910. package/dist/esm/queue/scheduled-message-verifier.backend.service.d.ts.map +1 -0
  911. package/dist/esm/queue/scheduled-message-verifier.backend.service.js +189 -0
  912. package/dist/esm/queue/scheduled-message-verifier.backend.service.js.map +1 -0
  913. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts +124 -0
  914. package/dist/esm/queue/worker-shutdown-manager.backend.service.d.ts.map +1 -0
  915. package/dist/esm/queue/worker-shutdown-manager.backend.service.js +250 -0
  916. package/dist/esm/queue/worker-shutdown-manager.backend.service.js.map +1 -0
  917. package/dist/esm/requests/models/api-routes.backend.defintions.d.ts +34 -0
  918. package/dist/esm/requests/models/api-routes.backend.defintions.d.ts.map +1 -0
  919. package/dist/esm/requests/models/api-routes.backend.defintions.js +42 -0
  920. package/dist/esm/requests/models/api-routes.backend.defintions.js.map +1 -0
  921. package/dist/esm/requests/models/requests.backend.schemas.d.ts +48 -0
  922. package/dist/esm/requests/models/requests.backend.schemas.d.ts.map +1 -0
  923. package/dist/esm/requests/models/requests.backend.schemas.js +7 -0
  924. package/dist/esm/requests/models/requests.backend.schemas.js.map +1 -0
  925. package/dist/esm/requests/service/__tests__/mock-apps-shared-resources-gateway.service.d.ts +6 -0
  926. package/dist/esm/requests/service/__tests__/mock-apps-shared-resources-gateway.service.d.ts.map +1 -0
  927. package/dist/esm/requests/service/__tests__/mock-apps-shared-resources-gateway.service.js +20 -0
  928. package/dist/esm/requests/service/__tests__/mock-apps-shared-resources-gateway.service.js.map +1 -0
  929. package/dist/esm/requests/service/apps-shared-resources-gateway.backend.service.d.ts +84 -0
  930. package/dist/esm/requests/service/apps-shared-resources-gateway.backend.service.d.ts.map +1 -0
  931. package/dist/esm/requests/service/apps-shared-resources-gateway.backend.service.js +462 -0
  932. package/dist/esm/requests/service/apps-shared-resources-gateway.backend.service.js.map +1 -0
  933. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts +9 -0
  934. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.d.ts.map +1 -0
  935. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.js +36 -0
  936. package/dist/esm/requests/service/platform-mutualized-handler.backend.service.js.map +1 -0
  937. package/dist/esm/requests/service/platform-requests.backend.utils.d.ts +6 -0
  938. package/dist/esm/requests/service/platform-requests.backend.utils.d.ts.map +1 -0
  939. package/dist/esm/requests/service/platform-requests.backend.utils.js +47 -0
  940. package/dist/esm/requests/service/platform-requests.backend.utils.js.map +1 -0
  941. package/dist/esm/requests/service/remote-client-base.backend.service.d.ts +111 -0
  942. package/dist/esm/requests/service/remote-client-base.backend.service.d.ts.map +1 -0
  943. package/dist/esm/requests/service/remote-client-base.backend.service.js +354 -0
  944. package/dist/esm/requests/service/remote-client-base.backend.service.js.map +1 -0
  945. package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts +9 -0
  946. package/dist/esm/requests/service/serverless-services-handler.backend.service.d.ts.map +1 -0
  947. package/dist/esm/requests/service/serverless-services-handler.backend.service.js +36 -0
  948. package/dist/esm/requests/service/serverless-services-handler.backend.service.js.map +1 -0
  949. package/dist/esm/requests/service/websocket.service.d.ts +507 -0
  950. package/dist/esm/requests/service/websocket.service.d.ts.map +1 -0
  951. package/dist/esm/requests/service/websocket.service.js +2222 -0
  952. package/dist/esm/requests/service/websocket.service.js.map +1 -0
  953. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts +3 -0
  954. package/dist/esm/resources/models/custom-service-implementations.backend.definition.d.ts.map +1 -0
  955. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js +17 -0
  956. package/dist/esm/resources/models/custom-service-implementations.backend.definition.js.map +1 -0
  957. package/dist/esm/resources/models/index.d.ts +7 -0
  958. package/dist/esm/resources/models/index.d.ts.map +1 -0
  959. package/dist/esm/resources/models/index.js +7 -0
  960. package/dist/esm/resources/models/index.js.map +1 -0
  961. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts +4 -0
  962. package/dist/esm/resources/models/resources-operations.backend.definitions.d.ts.map +1 -0
  963. package/dist/esm/resources/models/resources-operations.backend.definitions.js +7 -0
  964. package/dist/esm/resources/models/resources-operations.backend.definitions.js.map +1 -0
  965. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts +3 -0
  966. package/dist/esm/resources/models/resources-relationships.backend.definitions.d.ts.map +1 -0
  967. package/dist/esm/resources/models/resources-relationships.backend.definitions.js +19 -0
  968. package/dist/esm/resources/models/resources-relationships.backend.definitions.js.map +1 -0
  969. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts +13 -0
  970. package/dist/esm/resources/models/resources-types.backend.schemas.d.ts.map +1 -0
  971. package/dist/esm/resources/models/resources-types.backend.schemas.js +14 -0
  972. package/dist/esm/resources/models/resources-types.backend.schemas.js.map +1 -0
  973. package/dist/esm/resources/models/resources.backend.schemas.d.ts +7 -0
  974. package/dist/esm/resources/models/resources.backend.schemas.d.ts.map +1 -0
  975. package/dist/esm/resources/models/resources.backend.schemas.js +8 -0
  976. package/dist/esm/resources/models/resources.backend.schemas.js.map +1 -0
  977. package/dist/esm/resources/models/virtual-fields.backend.types.d.ts +121 -0
  978. package/dist/esm/resources/models/virtual-fields.backend.types.d.ts.map +1 -0
  979. package/dist/esm/resources/models/virtual-fields.backend.types.js +10 -0
  980. package/dist/esm/resources/models/virtual-fields.backend.types.js.map +1 -0
  981. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts +25 -0
  982. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.d.ts.map +1 -0
  983. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.js +59 -0
  984. package/dist/esm/resources/services/__tests__/mock-resources-registry.service.js.map +1 -0
  985. package/dist/esm/resources/services/resource-context.backend.service.d.ts +321 -0
  986. package/dist/esm/resources/services/resource-context.backend.service.d.ts.map +1 -0
  987. package/dist/esm/resources/services/resource-context.backend.service.js +723 -0
  988. package/dist/esm/resources/services/resource-context.backend.service.js.map +1 -0
  989. package/dist/esm/resources/services/resource-id.backend.service.d.ts +110 -0
  990. package/dist/esm/resources/services/resource-id.backend.service.d.ts.map +1 -0
  991. package/dist/esm/resources/services/resource-id.backend.service.js +267 -0
  992. package/dist/esm/resources/services/resource-id.backend.service.js.map +1 -0
  993. package/dist/esm/resources/services/resource-population.backend.service.d.ts +149 -0
  994. package/dist/esm/resources/services/resource-population.backend.service.d.ts.map +1 -0
  995. package/dist/esm/resources/services/resource-population.backend.service.js +543 -0
  996. package/dist/esm/resources/services/resource-population.backend.service.js.map +1 -0
  997. package/dist/esm/resources/services/resources-registry.backend.service.d.ts +151 -0
  998. package/dist/esm/resources/services/resources-registry.backend.service.d.ts.map +1 -0
  999. package/dist/esm/resources/services/resources-registry.backend.service.js +867 -0
  1000. package/dist/esm/resources/services/resources-registry.backend.service.js.map +1 -0
  1001. package/dist/esm/resources/services/virtual-fields.backend.service.d.ts +72 -0
  1002. package/dist/esm/resources/services/virtual-fields.backend.service.d.ts.map +1 -0
  1003. package/dist/esm/resources/services/virtual-fields.backend.service.js +254 -0
  1004. package/dist/esm/resources/services/virtual-fields.backend.service.js.map +1 -0
  1005. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts +73 -0
  1006. package/dist/esm/runtime/controllers/health-controller.backend.service.d.ts.map +1 -0
  1007. package/dist/esm/runtime/controllers/health-controller.backend.service.js +275 -0
  1008. package/dist/esm/runtime/controllers/health-controller.backend.service.js.map +1 -0
  1009. package/dist/esm/runtime/domain-module.backend.definitions.d.ts +43 -0
  1010. package/dist/esm/runtime/domain-module.backend.definitions.d.ts.map +1 -0
  1011. package/dist/esm/runtime/domain-module.backend.definitions.js +70 -0
  1012. package/dist/esm/runtime/domain-module.backend.definitions.js.map +1 -0
  1013. package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts +253 -0
  1014. package/dist/esm/runtime/models/execution-context.backend.schemas.d.ts.map +1 -0
  1015. package/dist/esm/runtime/models/execution-context.backend.schemas.js +329 -0
  1016. package/dist/esm/runtime/models/execution-context.backend.schemas.js.map +1 -0
  1017. package/dist/esm/runtime/models/runtime.backend.schemas.d.ts +45 -0
  1018. package/dist/esm/runtime/models/runtime.backend.schemas.d.ts.map +1 -0
  1019. package/dist/esm/runtime/models/runtime.backend.schemas.js +73 -0
  1020. package/dist/esm/runtime/models/runtime.backend.schemas.js.map +1 -0
  1021. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts +315 -0
  1022. package/dist/esm/runtime/services/execution-context-creator.backend.service.d.ts.map +1 -0
  1023. package/dist/esm/runtime/services/execution-context-creator.backend.service.js +1525 -0
  1024. package/dist/esm/runtime/services/execution-context-creator.backend.service.js.map +1 -0
  1025. package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts +60 -0
  1026. package/dist/esm/runtime/services/execution-context-handler.backend.service.d.ts.map +1 -0
  1027. package/dist/esm/runtime/services/execution-context-handler.backend.service.js +150 -0
  1028. package/dist/esm/runtime/services/execution-context-handler.backend.service.js.map +1 -0
  1029. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts +11 -0
  1030. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.d.ts.map +1 -0
  1031. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js +1 -0
  1032. package/dist/esm/runtime/services/health-readiness-contributor.backend.interface.js.map +1 -0
  1033. package/dist/esm/runtime/services/http-server.backend.service.d.ts +188 -0
  1034. package/dist/esm/runtime/services/http-server.backend.service.d.ts.map +1 -0
  1035. package/dist/esm/runtime/services/http-server.backend.service.js +755 -0
  1036. package/dist/esm/runtime/services/http-server.backend.service.js.map +1 -0
  1037. package/dist/esm/runtime/services/start-application.backend.service.d.ts +240 -0
  1038. package/dist/esm/runtime/services/start-application.backend.service.d.ts.map +1 -0
  1039. package/dist/esm/runtime/services/start-application.backend.service.js +977 -0
  1040. package/dist/esm/runtime/services/start-application.backend.service.js.map +1 -0
  1041. package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts +10 -0
  1042. package/dist/esm/runtime/testing/execution-context-test-fixtures.d.ts.map +1 -0
  1043. package/dist/esm/runtime/testing/execution-context-test-fixtures.js +13 -0
  1044. package/dist/esm/runtime/testing/execution-context-test-fixtures.js.map +1 -0
  1045. package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts +15 -0
  1046. package/dist/esm/runtime/testing/mock-execution-context-creator.service.d.ts.map +1 -0
  1047. package/dist/esm/runtime/testing/mock-execution-context-creator.service.js +42 -0
  1048. package/dist/esm/runtime/testing/mock-execution-context-creator.service.js.map +1 -0
  1049. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts +85 -0
  1050. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.d.ts.map +1 -0
  1051. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.js +171 -0
  1052. package/dist/esm/runtime/utils/scan-default-exports.backend.utils.js.map +1 -0
  1053. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts +19 -0
  1054. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.d.ts.map +1 -0
  1055. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js +59 -0
  1056. package/dist/esm/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.js.map +1 -0
  1057. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts +31 -0
  1058. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.d.ts.map +1 -0
  1059. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.js +215 -0
  1060. package/dist/esm/security/authentications/controllers/auth-method-management-controller.backend.service.js.map +1 -0
  1061. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts +493 -0
  1062. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.d.ts.map +1 -0
  1063. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js +2371 -0
  1064. package/dist/esm/security/authentications/controllers/authentication-controller.backend.service.js.map +1 -0
  1065. package/dist/esm/security/authentications/models/auth-constants.backend.d.ts +83 -0
  1066. package/dist/esm/security/authentications/models/auth-constants.backend.d.ts.map +1 -0
  1067. package/dist/esm/security/authentications/models/auth-constants.backend.js +113 -0
  1068. package/dist/esm/security/authentications/models/auth-constants.backend.js.map +1 -0
  1069. package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts +98 -0
  1070. package/dist/esm/security/authentications/models/authentications.backend.schemas.d.ts.map +1 -0
  1071. package/dist/esm/security/authentications/models/authentications.backend.schemas.js +59 -0
  1072. package/dist/esm/security/authentications/models/authentications.backend.schemas.js.map +1 -0
  1073. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts +42 -0
  1074. package/dist/esm/security/authentications/models/jwt.backend.schemas.d.ts.map +1 -0
  1075. package/dist/esm/security/authentications/models/jwt.backend.schemas.js +98 -0
  1076. package/dist/esm/security/authentications/models/jwt.backend.schemas.js.map +1 -0
  1077. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts +163 -0
  1078. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.d.ts.map +1 -0
  1079. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js +12 -0
  1080. package/dist/esm/security/authentications/models/oauth2-connection.backend.schemas.js.map +1 -0
  1081. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts +102 -0
  1082. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.d.ts.map +1 -0
  1083. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.js +7 -0
  1084. package/dist/esm/security/authentications/models/saml-authentication.backend.schemas.js.map +1 -0
  1085. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts +88 -0
  1086. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.d.ts.map +1 -0
  1087. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.js +17 -0
  1088. package/dist/esm/security/authentications/models/sso-connection.backend.schemas.js.map +1 -0
  1089. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts +27 -0
  1090. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.d.ts.map +1 -0
  1091. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.js +66 -0
  1092. package/dist/esm/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.js.map +1 -0
  1093. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts +30 -0
  1094. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.d.ts.map +1 -0
  1095. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.js +44 -0
  1096. package/dist/esm/security/authentications/services/__tests__/mock-auth-token-issuer.service.js.map +1 -0
  1097. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts +19 -0
  1098. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.d.ts.map +1 -0
  1099. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.js +43 -0
  1100. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.js.map +1 -0
  1101. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts +37 -0
  1102. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.d.ts.map +1 -0
  1103. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.js +58 -0
  1104. package/dist/esm/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.js.map +1 -0
  1105. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts +85 -0
  1106. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.d.ts.map +1 -0
  1107. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js +379 -0
  1108. package/dist/esm/security/authentications/services/admin-config/auth-organization-configuration.service.js.map +1 -0
  1109. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts +79 -0
  1110. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.d.ts.map +1 -0
  1111. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js +205 -0
  1112. package/dist/esm/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.js.map +1 -0
  1113. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts +59 -0
  1114. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.d.ts.map +1 -0
  1115. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js +179 -0
  1116. package/dist/esm/security/authentications/services/admin-config/domain-verification.backend.service.js.map +1 -0
  1117. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts +116 -0
  1118. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.d.ts.map +1 -0
  1119. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js +436 -0
  1120. package/dist/esm/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.js.map +1 -0
  1121. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts +67 -0
  1122. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.d.ts.map +1 -0
  1123. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js +222 -0
  1124. package/dist/esm/security/authentications/services/admin-config/oidc-discovery.backend.service.js.map +1 -0
  1125. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts +80 -0
  1126. package/dist/esm/security/authentications/services/anonymous-session.backend.service.d.ts.map +1 -0
  1127. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js +368 -0
  1128. package/dist/esm/security/authentications/services/anonymous-session.backend.service.js.map +1 -0
  1129. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts +75 -0
  1130. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.d.ts.map +1 -0
  1131. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.js +139 -0
  1132. package/dist/esm/security/authentications/services/auth-credential-verifier.backend.service.js.map +1 -0
  1133. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts +72 -0
  1134. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.d.ts.map +1 -0
  1135. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.js +127 -0
  1136. package/dist/esm/security/authentications/services/auth-execution-context-factory.backend.service.js.map +1 -0
  1137. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts +57 -0
  1138. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.d.ts.map +1 -0
  1139. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js +459 -0
  1140. package/dist/esm/security/authentications/services/auth-methods/auth-method-management.backend.service.js.map +1 -0
  1141. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts +44 -0
  1142. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.d.ts.map +1 -0
  1143. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js +131 -0
  1144. package/dist/esm/security/authentications/services/auth-methods/auth-mfa.backend.service.js.map +1 -0
  1145. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts +58 -0
  1146. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.d.ts.map +1 -0
  1147. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js +209 -0
  1148. package/dist/esm/security/authentications/services/auth-methods/auth-password-reset.backend.service.js.map +1 -0
  1149. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts +46 -0
  1150. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.d.ts.map +1 -0
  1151. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.js +124 -0
  1152. package/dist/esm/security/authentications/services/auth-methods/auth-phone-verification.backend.service.js.map +1 -0
  1153. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts +165 -0
  1154. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.d.ts.map +1 -0
  1155. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js +816 -0
  1156. package/dist/esm/security/authentications/services/auth-methods/auth-registration.backend.service.js.map +1 -0
  1157. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts +218 -0
  1158. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.d.ts.map +1 -0
  1159. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js +1026 -0
  1160. package/dist/esm/security/authentications/services/auth-methods/oauth2-authentication.backend.service.js.map +1 -0
  1161. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts +150 -0
  1162. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.d.ts.map +1 -0
  1163. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js +737 -0
  1164. package/dist/esm/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.js.map +1 -0
  1165. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts +224 -0
  1166. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.d.ts.map +1 -0
  1167. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.js +593 -0
  1168. package/dist/esm/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.js.map +1 -0
  1169. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts +267 -0
  1170. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.d.ts.map +1 -0
  1171. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.js +1376 -0
  1172. package/dist/esm/security/authentications/services/auth-methods/saml-authentication.backend.service.js.map +1 -0
  1173. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts +93 -0
  1174. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.d.ts.map +1 -0
  1175. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.js +396 -0
  1176. package/dist/esm/security/authentications/services/auth-methods/saml-metadata.backend.service.js.map +1 -0
  1177. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts +40 -0
  1178. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.d.ts.map +1 -0
  1179. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.js +92 -0
  1180. package/dist/esm/security/authentications/services/auth-methods/saml-replay-guard.backend.service.js.map +1 -0
  1181. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts +82 -0
  1182. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.d.ts.map +1 -0
  1183. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js +325 -0
  1184. package/dist/esm/security/authentications/services/auth-methods/webauthn.backend.service.js.map +1 -0
  1185. package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts +66 -0
  1186. package/dist/esm/security/authentications/services/auth-session-store.backend.service.d.ts.map +1 -0
  1187. package/dist/esm/security/authentications/services/auth-session-store.backend.service.js +198 -0
  1188. package/dist/esm/security/authentications/services/auth-session-store.backend.service.js.map +1 -0
  1189. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts +108 -0
  1190. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.d.ts.map +1 -0
  1191. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js +406 -0
  1192. package/dist/esm/security/authentications/services/auth-token-issuer.backend.service.js.map +1 -0
  1193. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts +366 -0
  1194. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.d.ts.map +1 -0
  1195. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js +2631 -0
  1196. package/dist/esm/security/authentications/services/authentication-orchestrator.backend.service.js.map +1 -0
  1197. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts +13 -0
  1198. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.d.ts.map +1 -0
  1199. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js +53 -0
  1200. package/dist/esm/security/authentications/services/custom-impls/auth-custom-implementations.backend.js.map +1 -0
  1201. package/dist/esm/security/authentications/services/custom-impls/auth-policy.custom-impl.backend.service.d.ts +12 -0
  1202. package/dist/esm/security/authentications/services/custom-impls/auth-policy.custom-impl.backend.service.d.ts.map +1 -0
  1203. package/dist/esm/security/authentications/services/custom-impls/auth-policy.custom-impl.backend.service.js +41 -0
  1204. package/dist/esm/security/authentications/services/custom-impls/auth-policy.custom-impl.backend.service.js.map +1 -0
  1205. package/dist/esm/security/authentications/services/custom-impls/scim-provisioning-config.custom-impl.backend.service.d.ts +18 -0
  1206. package/dist/esm/security/authentications/services/custom-impls/scim-provisioning-config.custom-impl.backend.service.d.ts.map +1 -0
  1207. package/dist/esm/security/authentications/services/custom-impls/scim-provisioning-config.custom-impl.backend.service.js +140 -0
  1208. package/dist/esm/security/authentications/services/custom-impls/scim-provisioning-config.custom-impl.backend.service.js.map +1 -0
  1209. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts +16 -0
  1210. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.d.ts.map +1 -0
  1211. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.js +112 -0
  1212. package/dist/esm/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.js.map +1 -0
  1213. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts +16 -0
  1214. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.d.ts.map +1 -0
  1215. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js +101 -0
  1216. package/dist/esm/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.js.map +1 -0
  1217. package/dist/esm/security/authentications/services/custom-impls/siem-export-config.custom-impl.backend.service.d.ts +18 -0
  1218. package/dist/esm/security/authentications/services/custom-impls/siem-export-config.custom-impl.backend.service.d.ts.map +1 -0
  1219. package/dist/esm/security/authentications/services/custom-impls/siem-export-config.custom-impl.backend.service.js +136 -0
  1220. package/dist/esm/security/authentications/services/custom-impls/siem-export-config.custom-impl.backend.service.js.map +1 -0
  1221. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts +19 -0
  1222. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.d.ts.map +1 -0
  1223. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js +154 -0
  1224. package/dist/esm/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.js.map +1 -0
  1225. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts +26 -0
  1226. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.d.ts.map +1 -0
  1227. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js +657 -0
  1228. package/dist/esm/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.js.map +1 -0
  1229. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts +27 -0
  1230. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.d.ts.map +1 -0
  1231. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.js +60 -0
  1232. package/dist/esm/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.js.map +1 -0
  1233. package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts +23 -0
  1234. package/dist/esm/security/authentications/services/utils/auth-controller.utils.d.ts.map +1 -0
  1235. package/dist/esm/security/authentications/services/utils/auth-controller.utils.js +44 -0
  1236. package/dist/esm/security/authentications/services/utils/auth-controller.utils.js.map +1 -0
  1237. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts +89 -0
  1238. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.d.ts.map +1 -0
  1239. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.js +192 -0
  1240. package/dist/esm/security/authentications/services/utils/auth-credential-ops.backend.service.js.map +1 -0
  1241. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts +20 -0
  1242. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.d.ts.map +1 -0
  1243. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.js +55 -0
  1244. package/dist/esm/security/authentications/services/utils/auth-response-helper.backend.service.js.map +1 -0
  1245. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts +50 -0
  1246. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.d.ts.map +1 -0
  1247. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js +135 -0
  1248. package/dist/esm/security/authentications/services/utils/auth-user-lookup.backend.service.js.map +1 -0
  1249. package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts +26 -0
  1250. package/dist/esm/security/authentications/services/utils/saml-java-availability.d.ts.map +1 -0
  1251. package/dist/esm/security/authentications/services/utils/saml-java-availability.js +59 -0
  1252. package/dist/esm/security/authentications/services/utils/saml-java-availability.js.map +1 -0
  1253. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts +137 -0
  1254. package/dist/esm/security/authorizations/services/authorizations.backend.service.d.ts.map +1 -0
  1255. package/dist/esm/security/authorizations/services/authorizations.backend.service.js +723 -0
  1256. package/dist/esm/security/authorizations/services/authorizations.backend.service.js.map +1 -0
  1257. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts +28 -0
  1258. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.d.ts.map +1 -0
  1259. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js +156 -0
  1260. package/dist/esm/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.js.map +1 -0
  1261. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts +4 -0
  1262. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.d.ts.map +1 -0
  1263. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js +72 -0
  1264. package/dist/esm/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.js.map +1 -0
  1265. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts +125 -0
  1266. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.d.ts.map +1 -0
  1267. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.js +69 -0
  1268. package/dist/esm/security/consumable-tokens/models/consumable-tokens.shared.schemas.js.map +1 -0
  1269. package/dist/esm/security/consumable-tokens/models/index.d.ts +3 -0
  1270. package/dist/esm/security/consumable-tokens/models/index.d.ts.map +1 -0
  1271. package/dist/esm/security/consumable-tokens/models/index.js +3 -0
  1272. package/dist/esm/security/consumable-tokens/models/index.js.map +1 -0
  1273. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts +26 -0
  1274. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.d.ts.map +1 -0
  1275. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.js +55 -0
  1276. package/dist/esm/security/consumable-tokens/services/__tests__/mock-consumable-token.service.js.map +1 -0
  1277. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts +142 -0
  1278. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.d.ts.map +1 -0
  1279. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js +446 -0
  1280. package/dist/esm/security/consumable-tokens/services/consumable-token.backend.service.js.map +1 -0
  1281. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts +46 -0
  1282. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.d.ts.map +1 -0
  1283. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.js +147 -0
  1284. package/dist/esm/security/jwt/services/auth-jwt-guard.backend.service.js.map +1 -0
  1285. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts +75 -0
  1286. package/dist/esm/security/jwt/services/jwt.backend.service.d.ts.map +1 -0
  1287. package/dist/esm/security/jwt/services/jwt.backend.service.js +368 -0
  1288. package/dist/esm/security/jwt/services/jwt.backend.service.js.map +1 -0
  1289. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts +71 -0
  1290. package/dist/esm/security/scim/controllers/scim.backend.controller.d.ts.map +1 -0
  1291. package/dist/esm/security/scim/controllers/scim.backend.controller.js +863 -0
  1292. package/dist/esm/security/scim/controllers/scim.backend.controller.js.map +1 -0
  1293. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts +275 -0
  1294. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.d.ts.map +1 -0
  1295. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js +139 -0
  1296. package/dist/esm/security/scim/models/scim-protocol.backend.schemas.js.map +1 -0
  1297. package/dist/esm/security/scim/utils/scim-filter-parser.d.ts +35 -0
  1298. package/dist/esm/security/scim/utils/scim-filter-parser.d.ts.map +1 -0
  1299. package/dist/esm/security/scim/utils/scim-filter-parser.js +232 -0
  1300. package/dist/esm/security/scim/utils/scim-filter-parser.js.map +1 -0
  1301. package/dist/esm/security/scim/utils/scim-response-formatter.d.ts +42 -0
  1302. package/dist/esm/security/scim/utils/scim-response-formatter.d.ts.map +1 -0
  1303. package/dist/esm/security/scim/utils/scim-response-formatter.js +89 -0
  1304. package/dist/esm/security/scim/utils/scim-response-formatter.js.map +1 -0
  1305. package/dist/esm/testing.d.ts +31 -0
  1306. package/dist/esm/testing.d.ts.map +1 -0
  1307. package/dist/esm/testing.js +31 -0
  1308. package/dist/esm/testing.js.map +1 -0
  1309. package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts +9 -0
  1310. package/dist/esm/users/services/user-self-custom-implementations.backend.d.ts.map +1 -0
  1311. package/dist/esm/users/services/user-self-custom-implementations.backend.js +48 -0
  1312. package/dist/esm/users/services/user-self-custom-implementations.backend.js.map +1 -0
  1313. package/dist/tsconfig.build.tsbuildinfo +1 -0
  1314. package/package.json +163 -0
  1315. package/src/__tests__/integration/bulk-repository-write-contract.integration.test.ts +373 -0
  1316. package/src/__tests__/integration/custom-batch-job-execution.integration.test.ts +147 -0
  1317. package/src/__tests__/integration/delete-file-rollback-persistence.integration.test.ts +551 -0
  1318. package/src/__tests__/integration/file-management-nested-persistence.integration.test.ts +487 -0
  1319. package/src/__tests__/integration/file-management-postgresql-persistence.integration.test.ts +466 -0
  1320. package/src/__tests__/integration/files-cleanup-persistence.integration.test.ts +335 -0
  1321. package/src/__tests__/integration/generated-bulk-relationship-runtime.integration.test.ts +545 -0
  1322. package/src/__tests__/integration/lifecycle-delete-rollback-persistence.integration.test.ts +537 -0
  1323. package/src/__tests__/integration/postgresql-contextual-filter-enforcement.integration.test.ts +170 -0
  1324. package/src/__tests__/integration/postgresql-delete-best-effort-boundary.integration.test.ts +604 -0
  1325. package/src/__tests__/integration/prompt-compiler.integration.test.ts +723 -0
  1326. package/src/__tests__/integration/relationship-service-semantics.integration.test.ts +2086 -0
  1327. package/src/__tests__/integration/repositories-registry.integration.test.ts +296 -0
  1328. package/src/__tests__/integration/resource-factory-pipeline.integration.test.ts +556 -0
  1329. package/src/__tests__/integration/resource-services.integration.test.ts +265 -0
  1330. package/src/__tests__/integration/resources-registry.integration.test.ts +327 -0
  1331. package/src/__tests__/integration/services-registry.integration.test.ts +231 -0
  1332. package/src/__tests__/integration/update-many-runtime-guards.integration.test.ts +290 -0
  1333. package/src/__tests__/setup.ts +15 -0
  1334. package/src/__tests__/test-container.ts +120 -0
  1335. package/src/applications/models/applications.backend.schemas.ts +18 -0
  1336. package/src/base-classes/__tests__/batches-cronjobs-executor.test.ts +63 -0
  1337. package/src/base-classes/__tests__/bulk-delete-child-file-guard.test.ts +152 -0
  1338. package/src/base-classes/__tests__/bulk-nested-file-update-coordination.test.ts +171 -0
  1339. package/src/base-classes/__tests__/delete-file-coordination.test.ts +185 -0
  1340. package/src/base-classes/__tests__/postgresql-file-transaction-coordination.test.ts +424 -0
  1341. package/src/base-classes/__tests__/postgresql-repository-contextual-filter-enforcement.test.ts +88 -0
  1342. package/src/base-classes/__tests__/repository-contextual-filter-enforcement.test.ts +87 -0
  1343. package/src/base-classes/__tests__/resource-operation-helper-context-enforcement.test.ts +74 -0
  1344. package/src/base-classes/__tests__/transaction-boundaries.test.ts +153 -0
  1345. package/src/base-classes/models/manual-controllers.backend.definition.ts +56 -0
  1346. package/src/base-classes/models/repositories.backend.schemas.ts +105 -0
  1347. package/src/base-classes/services/__tests__/mock-resource-operation-helper.service.ts +61 -0
  1348. package/src/base-classes/services/batches/batches-cronjobs-custom-execution.service.ts +148 -0
  1349. package/src/base-classes/services/batches/batches-cronjobs-executor.backend.service.ts +115 -0
  1350. package/src/base-classes/services/batches/batches-cronjobs-resource-execution.backend.service.ts +58 -0
  1351. package/src/base-classes/services/controllers/__tests__/controller-request-validation.utils.test.ts +292 -0
  1352. package/src/base-classes/services/controllers/__tests__/controller-resource-file-upload-routes.test.ts +1335 -0
  1353. package/src/base-classes/services/controllers/__tests__/controller-resource.version-conflict.test.ts +372 -0
  1354. package/src/base-classes/services/controllers/abstract-controller.backend.service.ts +302 -0
  1355. package/src/base-classes/services/controllers/controller-resource.backend.service.ts +1833 -0
  1356. package/src/base-classes/services/controllers/controllers-registry-handler.backend.service.ts +494 -0
  1357. package/src/base-classes/services/controllers/validate-field-handler.backend.service.ts +613 -0
  1358. package/src/base-classes/services/repositories/__tests__/mock-repositories-registry-handler.service.ts +31 -0
  1359. package/src/base-classes/services/repositories/__tests__/repository-resource.singleton-read.test.ts +50 -0
  1360. package/src/base-classes/services/repositories/postgresql-resource-repository.backend.service.ts +1207 -0
  1361. package/src/base-classes/services/repositories/repositories-registry-handler.backend.service.ts +804 -0
  1362. package/src/base-classes/services/repositories/repository-resource.backend.service.ts +2186 -0
  1363. package/src/base-classes/services/resource-operations-helper.backend.service.ts +468 -0
  1364. package/src/base-classes/services/services/__tests__/mock-services-registry-handler.service.ts +21 -0
  1365. package/src/base-classes/services/services/__tests__/services-registry-handler.notifications.test.ts +65 -0
  1366. package/src/base-classes/services/services/resource-operation-custom-implementation-base.backend.service.ts +305 -0
  1367. package/src/base-classes/services/services/resource-operation-custom-implementation-registry.backend.service.ts +224 -0
  1368. package/src/base-classes/services/services/resource-operation-custom-implementation.factory.backend.ts +331 -0
  1369. package/src/base-classes/services/services/services-registry-handler.backend.service.ts +6288 -0
  1370. package/src/base-classes/utils/backend-type-utils.ts +64 -0
  1371. package/src/billing/services/back-office/__tests__/billing-feature-sync.backend.service.test.ts +132 -0
  1372. package/src/billing/services/back-office/__tests__/billing-state.backend.service.test.ts +245 -0
  1373. package/src/billing/services/back-office/__tests__/product-catalog-sync.backend.service.test.ts +238 -0
  1374. package/src/billing/services/back-office/abstract-billing.backend.service.ts +89 -0
  1375. package/src/billing/services/back-office/billing-feature-sync.backend.service.ts +473 -0
  1376. package/src/billing/services/back-office/billing-state.backend.service.ts +348 -0
  1377. package/src/billing/services/back-office/product-catalog-sync.backend.service.ts +415 -0
  1378. package/src/billing/services/back-office/usage-metering.backend.service.ts +326 -0
  1379. package/src/billing/services/billing.utils.ts +26 -0
  1380. package/src/billing/services/custom-impl/billing-account.mutations.custom-impl.backend.service.ts +342 -0
  1381. package/src/billing/services/custom-impl/billing-custom-impl-utils.backend.ts +274 -0
  1382. package/src/billing/services/custom-impl/billing-custom-implementations.backend.ts +236 -0
  1383. package/src/billing/services/custom-impl/credit-pool.custom-ops.custom-impl.backend.service.ts +133 -0
  1384. package/src/billing/services/custom-impl/promotion.custom-ops.custom-impl.backend.service.ts +242 -0
  1385. package/src/billing/services/custom-impl/subscription.mutations.custom-impl.backend.service.ts +434 -0
  1386. package/src/billing/services/webhooks/billing-webhook-adapter.backend.service.ts +70 -0
  1387. package/src/billing/services/webhooks/billing-webhook-capability-handler.backend.service.ts +46 -0
  1388. package/src/billing/services/webhooks/billing-webhook-event-router.backend.service.ts +727 -0
  1389. package/src/billing/testing/billing-test-fixtures.ts +296 -0
  1390. package/src/billing/testing/mock-billing-provider.ts +548 -0
  1391. package/src/charts/controllers/__tests__/chart.backend.controller.test.ts +403 -0
  1392. package/src/charts/controllers/chart.backend.controller.ts +238 -0
  1393. package/src/charts/services/__tests__/chart-registry.backend.service.test.ts +120 -0
  1394. package/src/charts/services/chart-registry.backend.service.ts +109 -0
  1395. package/src/compliance/audit-trails/audit-logs.custom-impl.backend.service.ts +104 -0
  1396. package/src/compliance/audit-trails/services/__tests__/mock-audit-logs.service.ts +48 -0
  1397. package/src/compliance/audit-trails/services/audit-event-dispatcher.backend.service.ts +325 -0
  1398. package/src/compliance/audit-trails/services/audit-logs.backend.service.ts +1313 -0
  1399. package/src/compliance/audit-trails/services/siem-webhook-delivery.backend.service.ts +542 -0
  1400. package/src/compliance/index.ts +1 -0
  1401. package/src/config/custom/application-config-controller.backend.service.ts +119 -0
  1402. package/src/config/models/__tests__/app-config-secrets.boundaries.test.ts +56 -0
  1403. package/src/config/models/__tests__/app-config.backend-authored.definitions.test.ts +286 -0
  1404. package/src/config/models/app-config-secrets.backend.schemas.ts +154 -0
  1405. package/src/config/models/app-config.backend-authored.definitions.ts +165 -0
  1406. package/src/config/models/app-config.backend.schemas.ts +614 -0
  1407. package/src/config/models/app-env-config.backend.schemas.ts +135 -0
  1408. package/src/config/models/config-mutation-boundary.utils.ts +76 -0
  1409. package/src/config/models/postgresql-env-config.backend.schemas.ts +126 -0
  1410. package/src/config/models/runtime-topology.backend.contracts.ts +42 -0
  1411. package/src/config/services/__tests__/app-configuration-loader.backend.service.test.ts +118 -0
  1412. package/src/config/services/__tests__/app-configuration.backend.service.test.ts +40 -0
  1413. package/src/config/services/__tests__/app-configuration.backend.utils.test.ts +72 -0
  1414. package/src/config/services/__tests__/application-startup-config-validator.backend.service.test.ts +404 -0
  1415. package/src/config/services/__tests__/mock-app-configuration.service.ts +131 -0
  1416. package/src/config/services/app-configuration-loader.backend.service.ts +443 -0
  1417. package/src/config/services/app-configuration.backend.service.ts +570 -0
  1418. package/src/config/services/app-configuration.backend.utils.ts +94 -0
  1419. package/src/config/services/application-startup-config-validator.backend.service.ts +611 -0
  1420. package/src/databases/models/aggregation.backend.schemas.ts +174 -0
  1421. package/src/databases/models/databases.backend.schemas.ts +70 -0
  1422. package/src/databases/models/filter.backend.schemas.ts +101 -0
  1423. package/src/databases/models/sql.backend.schemas.ts +111 -0
  1424. package/src/databases/models/transaction.shared.schemas.ts +172 -0
  1425. package/src/databases/services/__tests__/mock-mongo-transaction-registry.service.ts +90 -0
  1426. package/src/databases/services/__tests__/mock-mongodb.service.ts +86 -0
  1427. package/src/databases/services/__tests__/mock-mongoose-model.service.ts +411 -0
  1428. package/src/databases/services/__tests__/mock-redis.service.ts +72 -0
  1429. package/src/databases/services/__tests__/mock-zod-mongoose-schema-convertor.service.ts +41 -0
  1430. package/src/databases/services/__tests__/mongo-aggregation-compiler.test.ts +918 -0
  1431. package/src/databases/services/__tests__/postgresql-filter.backend.service.test.ts +180 -0
  1432. package/src/databases/services/__tests__/sql-hybrid-transform.test.ts +73 -0
  1433. package/src/databases/services/aggregation/__tests__/aggregation-authorization.backend.service.test.ts +444 -0
  1434. package/src/databases/services/aggregation/__tests__/aggregation-query.backend.service.test.ts +150 -0
  1435. package/src/databases/services/aggregation/__tests__/computed-measure-evaluator.test.ts +525 -0
  1436. package/src/databases/services/aggregation/__tests__/field-access-validator.test.ts +458 -0
  1437. package/src/databases/services/aggregation/__tests__/time-series-densifier.test.ts +631 -0
  1438. package/src/databases/services/aggregation/__tests__/window-function-processor.test.ts +598 -0
  1439. package/src/databases/services/aggregation/aggregation-authorization.backend.service.ts +516 -0
  1440. package/src/databases/services/aggregation/aggregation-query.backend.service.ts +514 -0
  1441. package/src/databases/services/aggregation/computed-measure-evaluator.backend.service.ts +196 -0
  1442. package/src/databases/services/aggregation/field-access-validator.backend.service.ts +225 -0
  1443. package/src/databases/services/aggregation/time-series-densifier.backend.service.ts +389 -0
  1444. package/src/databases/services/aggregation/topn-processor.backend.service.ts +221 -0
  1445. package/src/databases/services/aggregation/window-function-processor.backend.service.ts +301 -0
  1446. package/src/databases/services/db-utils.ts +96 -0
  1447. package/src/databases/services/mongo-aggregation.backend.service.ts +762 -0
  1448. package/src/databases/services/mongodb.service.ts +736 -0
  1449. package/src/databases/services/postgresql-aggregation.backend.service.ts +794 -0
  1450. package/src/databases/services/postgresql-database.backend.service.ts +288 -0
  1451. package/src/databases/services/postgresql-filter.backend.service.ts +673 -0
  1452. package/src/databases/services/redis.service.ts +531 -0
  1453. package/src/databases/services/zod-to-mongoose-schema-convertor.backend.service.ts +2486 -0
  1454. package/src/databases/services/zod-to-sql-hybrid-schema.planner.ts +312 -0
  1455. package/src/errors/services/__tests__/error-builder.backend.service.test.ts +31 -0
  1456. package/src/errors/services/__tests__/error-handler.backend.service.test.ts +82 -0
  1457. package/src/errors/services/__tests__/mock-error-builder.service.ts +288 -0
  1458. package/src/errors/services/error-builder.backend.service.ts +403 -0
  1459. package/src/errors/services/error-handler.backend.service.ts +236 -0
  1460. package/src/errors/services/rate-limit.backend.service.ts +45 -0
  1461. package/src/external-providers/models/external-providers.backend.schemas.ts +243 -0
  1462. package/src/external-providers/services/__tests__/external-providers-registry.backend.service.test.ts +136 -0
  1463. package/src/external-providers/services/__tests__/feature-bindings.backend.service.test.ts +40 -0
  1464. package/src/external-providers/services/__tests__/mock-external-providers-registry.service.ts +33 -0
  1465. package/src/external-providers/services/__tests__/mock-lazy-provider-registry.service.ts +45 -0
  1466. package/src/external-providers/services/external-api-handler.backend.service.ts +19 -0
  1467. package/src/external-providers/services/external-providers-registry.backend.service.ts +534 -0
  1468. package/src/external-providers/services/feature-bindings.backend.service.ts +422 -0
  1469. package/src/external-providers/services/lazy-provider-registry.backend.service.ts +486 -0
  1470. package/src/features/__tests__/feature-builders.test.ts +152 -0
  1471. package/src/features/controllers/__tests__/features.backend.controller.test.ts +173 -0
  1472. package/src/features/controllers/features.backend.controller.ts +200 -0
  1473. package/src/features/services/__tests__/feature-definition-registry.backend.service.test.ts +152 -0
  1474. package/src/features/services/__tests__/feature-gate.test.ts +484 -0
  1475. package/src/features/services/__tests__/feature-resolution.backend.service.test.ts +203 -0
  1476. package/src/features/services/__tests__/mock-capability-bindings.service.ts +26 -0
  1477. package/src/features/services/__tests__/mock-feature-definition-registry.service.ts +56 -0
  1478. package/src/features/services/__tests__/mock-feature-resolution.service.ts +36 -0
  1479. package/src/features/services/feature-definition-registry.backend.service.ts +537 -0
  1480. package/src/features/services/feature-gate.backend.service.ts +522 -0
  1481. package/src/features/services/feature-resolution.backend.service.ts +652 -0
  1482. package/src/features/testing/feature-test-utils.ts +200 -0
  1483. package/src/files/batches/__tests__/files-cleanup.batch.backend.service.test.ts +186 -0
  1484. package/src/files/batches/files-cleanup.batch.backend.service.ts +259 -0
  1485. package/src/files/constraints/file-analyzers.types.ts +85 -0
  1486. package/src/files/constraints/file-constraint-resolver-chain.backend.service.ts +99 -0
  1487. package/src/files/constraints/file-constraint.types.ts +104 -0
  1488. package/src/files/constraints/file-validation.backend.service.ts +359 -0
  1489. package/src/files/constraints/resource-field-constraint-resolver.backend.service.ts +138 -0
  1490. package/src/files/controllers/__tests__/file.controller.behavior.test.ts +655 -0
  1491. package/src/files/controllers/file.controller.ts +1030 -0
  1492. package/src/files/handlers/__tests__/resource-file-upload-handler.backend.service.test.ts +392 -0
  1493. package/src/files/handlers/resource-file-upload-handler.backend.service.ts +605 -0
  1494. package/src/files/rag/weaviate-vector-store.backend.service.ts +271 -0
  1495. package/src/files/scanning/clamav-scanner.backend.service.ts +214 -0
  1496. package/src/files/scanning/file-scan.types.ts +17 -0
  1497. package/src/files/scanning/yara-scanner.backend.service.ts +212 -0
  1498. package/src/files/services/__tests__/file-field-detection.backend.service.test.ts +91 -0
  1499. package/src/files/services/__tests__/file-operation-handler.backend.service.test.ts +272 -0
  1500. package/src/files/services/__tests__/file-population.backend.service.test.ts +120 -0
  1501. package/src/files/services/__tests__/file-scanning.backend.service.test.ts +163 -0
  1502. package/src/files/services/__tests__/files.backend.service.test.ts +885 -0
  1503. package/src/files/services/__tests__/mock-file-field-detection.service.ts +43 -0
  1504. package/src/files/services/__tests__/mock-file-operation-handler.service.ts +113 -0
  1505. package/src/files/services/__tests__/mock-file-repository.service.ts +104 -0
  1506. package/src/files/services/file-field-detection.backend.service.ts +156 -0
  1507. package/src/files/services/file-operation-handler.backend.service.ts +861 -0
  1508. package/src/files/services/file-population.backend.service.ts +485 -0
  1509. package/src/files/services/file-rag-indexing.backend.service.ts +229 -0
  1510. package/src/files/services/file-scanning.backend.service.ts +373 -0
  1511. package/src/files/services/file-text-extraction.backend.service.ts +193 -0
  1512. package/src/files/services/files.backend.service.ts +1356 -0
  1513. package/src/files/storage/file-storage-path-resolver.backend.service.ts +289 -0
  1514. package/src/files/storage/file-storage-provider.types.ts +188 -0
  1515. package/src/files/storage/file-storage-router.backend.service.ts +172 -0
  1516. package/src/files/storage/local-directory-storage-provider.backend.service.ts +417 -0
  1517. package/src/files/storage/wildo-managed-storage-provider.backend.service.ts +530 -0
  1518. package/src/files/utils/__tests__/file-field-schema-path.backend.utils.test.ts +44 -0
  1519. package/src/files/utils/__tests__/file-uploader.utils.test.ts +57 -0
  1520. package/src/files/utils/__tests__/file-validation.utils.test.ts +559 -0
  1521. package/src/files/utils/file-field-schema-path.backend.utils.ts +385 -0
  1522. package/src/files/utils/file-upload.utils.ts +146 -0
  1523. package/src/files/utils/file-uploader.utils.ts +65 -0
  1524. package/src/files/utils/file-validation.utils.ts +753 -0
  1525. package/src/flows-actors/agent-catalogs.backend.ts +427 -0
  1526. package/src/flows-actors/controllers/flows-actors.controller.ts +91 -0
  1527. package/src/flows-actors/models/agent-catalogs.backend.definitions.ts +430 -0
  1528. package/src/flows-actors/models/agent-facets.backend.definitions.ts +120 -0
  1529. package/src/flows-actors/models/agents.backend.definitions.ts +4 -0
  1530. package/src/flows-actors/models/core-facets.backend.definitions.ts +348 -0
  1531. package/src/flows-actors/models/flows-actors.backend.definitions.ts +13 -0
  1532. package/src/flows-actors/models/flows-actors.backend.schemas.ts +44 -0
  1533. package/src/flows-actors/services/__tests__/agent-facets-catalogs.test.ts +544 -0
  1534. package/src/flows-actors/services/__tests__/agents.backend.service.cli-runtime.test.ts +234 -0
  1535. package/src/flows-actors/services/actors-system.backend.service.ts +270 -0
  1536. package/src/flows-actors/services/agent-facets.backend.service.ts +350 -0
  1537. package/src/flows-actors/services/agents.backend.service.ts +2730 -0
  1538. package/src/flows-actors/services/context-curation.backend.service.ts +203 -0
  1539. package/src/flows-actors/services/flows-actors-registry.service.ts +374 -0
  1540. package/src/flows-actors/services/flows.backend.services.ts +237 -0
  1541. package/src/flows-actors/services/prompt-compiler.backend.service.ts +734 -0
  1542. package/src/flows-actors/utils/__tests__/cli-runtime-operation-support.backend.utils.test.ts +95 -0
  1543. package/src/flows-actors/utils/cli-runtime-operation-support.backend.utils.ts +87 -0
  1544. package/src/flows-actors/utils/cli-runtime-runner.backend.utils.ts +171 -0
  1545. package/src/flows-actors/utils/flows-actors-frontend-extractor.utils.ts +63 -0
  1546. package/src/flows-actors/utils/prompt-ir-adapters.backend.utils.ts +257 -0
  1547. package/src/guidance/batches/dormancy-detection.batch.backend.service.ts +126 -0
  1548. package/src/guidance/services/__tests__/guidance-trigger-evaluator.backend.service.test.ts +49 -0
  1549. package/src/guidance/services/__tests__/lifecycle-evaluator.backend.service.test.ts +85 -0
  1550. package/src/guidance/services/__tests__/milestone-definition-registry.backend.service.test.ts +211 -0
  1551. package/src/guidance/services/__tests__/milestone-evaluator.backend.service.test.ts +561 -0
  1552. package/src/guidance/services/guidance-trigger-evaluator.backend.service.ts +151 -0
  1553. package/src/guidance/services/lifecycle-custom-implementations.backend.ts +139 -0
  1554. package/src/guidance/services/lifecycle-evaluator.backend.service.ts +908 -0
  1555. package/src/guidance/services/milestone-condition-registry.backend.service.ts +57 -0
  1556. package/src/guidance/services/milestone-definition-registry.backend.service.ts +265 -0
  1557. package/src/guidance/services/milestone-evaluator.backend.service.ts +611 -0
  1558. package/src/i18n/controllers/i18n-controller.backend.service.ts +227 -0
  1559. package/src/i18n/services/i18n.backend.service.ts +88 -0
  1560. package/src/index.ts +286 -0
  1561. package/src/inject/models/container.ts +586 -0
  1562. package/src/inject/models/service-types.ts +488 -0
  1563. package/src/monitoring/analytics/controllers/analytics.backend.controller.ts +114 -0
  1564. package/src/monitoring/analytics/services/value-moment-engine.backend.service.ts +53 -0
  1565. package/src/monitoring/analytics/services/value-moment-handler-registry.backend.service.ts +38 -0
  1566. package/src/monitoring/logger/middleware/logging.middleware.ts +40 -0
  1567. package/src/monitoring/logger/models/logger.backend.schemas.ts +56 -0
  1568. package/src/monitoring/logger/services/__tests__/mock-logger.service.ts +49 -0
  1569. package/src/monitoring/logger/services/logger.service.ts +214 -0
  1570. package/src/monitoring/observability/middleware/metrics.middleware.ts +205 -0
  1571. package/src/monitoring/observability/middleware/telemetry.middleware.ts +188 -0
  1572. package/src/monitoring/observability/middleware/tracing.middleware.ts +265 -0
  1573. package/src/monitoring/observability/models/observability.backend.schemas.ts +96 -0
  1574. package/src/monitoring/observability/services/instrumentations/custom.instrumentations.ts +132 -0
  1575. package/src/monitoring/observability/services/metrics.service.ts +266 -0
  1576. package/src/monitoring/observability/services/telemetry.service.ts +157 -0
  1577. package/src/monitoring/observability/services/tracer.service.ts +334 -0
  1578. package/src/notifications/email/components/email-components.ts +341 -0
  1579. package/src/notifications/email/models/email-context-provider.interface.ts +107 -0
  1580. package/src/notifications/email/models/email-template-definition.ts +74 -0
  1581. package/src/notifications/email/models/email-template.actors-system.backend.definitions.ts +80 -0
  1582. package/src/notifications/email/models/email.backend.scheamas.ts +0 -0
  1583. package/src/notifications/email/services/email-batch-send.batch.backend.service.ts +236 -0
  1584. package/src/notifications/email/services/email-context-provider-registry.backend.service.ts +157 -0
  1585. package/src/notifications/email/services/email-renderer.backend.service.ts +274 -0
  1586. package/src/notifications/email/services/email-template-compiler.backend.service.ts +136 -0
  1587. package/src/notifications/email/services/email-template-generation.backend.service.ts +811 -0
  1588. package/src/notifications/email/services/email-template-registry.backend.service.ts +166 -0
  1589. package/src/notifications/email/services/email-template-sandbox.backend.service.ts +255 -0
  1590. package/src/notifications/email/services/email-template-validator.backend.service.ts +229 -0
  1591. package/src/notifications/email/services/email.backend.service.ts +429 -0
  1592. package/src/notifications/email/utils/color-conversion.utils.ts +142 -0
  1593. package/src/notifications/email/utils/interpolate-email-label.utils.ts +16 -0
  1594. package/src/notifications/email/utils/zod-to-typescript.utils.ts +352 -0
  1595. package/src/notifications/services/__tests__/notifications-dispatcher.operation-semantics.test.ts +773 -0
  1596. package/src/notifications/services/__tests__/notifications-dispatcher.websocket-integration.test.ts +173 -0
  1597. package/src/notifications/services/notification-badge.backend.service.ts +412 -0
  1598. package/src/notifications/services/notifications-dispatcher.backend.service.ts +1696 -0
  1599. package/src/notifications/sms/services/sms.backend.service.ts +283 -0
  1600. package/src/notifications/webhooks/controllers/webhook-auto-controller.backend.service.ts +220 -0
  1601. package/src/notifications/webhooks/services/polymorphic-lookup.backend.service.ts +131 -0
  1602. package/src/notifications/webhooks/services/webhook-handler.backend.service.ts +481 -0
  1603. package/src/organizations/services/__tests__/org-creation-on-registration.backend.utils.test.ts +193 -0
  1604. package/src/organizations/services/__tests__/org-member-roles-validation.backend.utils.test.ts +101 -0
  1605. package/src/organizations/services/__tests__/organization-custom-implementation.backend.service.test.ts +113 -0
  1606. package/src/organizations/services/__tests__/scim-provisioning-gate.backend.utils.test.ts +94 -0
  1607. package/src/organizations/services/__tests__/user-org-type-grant.backend.utils.test.ts +164 -0
  1608. package/src/organizations/services/__tests__/user-type-revocation-on-org-leave.backend.utils.test.ts +161 -0
  1609. package/src/organizations/services/org-creation-on-registration.backend.utils.ts +119 -0
  1610. package/src/organizations/services/org-member-roles-validation.backend.utils.ts +51 -0
  1611. package/src/organizations/services/organization-custom-implementation.backend.service.ts +106 -0
  1612. package/src/organizations/services/organization-member-custom-implementation.backend.service.ts +150 -0
  1613. package/src/organizations/services/scim-provisioning-gate.backend.utils.ts +34 -0
  1614. package/src/organizations/services/user-org-type-grant.backend.utils.ts +49 -0
  1615. package/src/organizations/services/user-type-revocation-on-org-leave.backend.utils.ts +102 -0
  1616. package/src/queue/adapters/rabbitmq-adapter.backend.service.ts +494 -0
  1617. package/src/queue/apps-crontabs-manager.backend.service.ts +258 -0
  1618. package/src/queue/cron-job-sync.backend.service.ts +184 -0
  1619. package/src/queue/domain-queue-consumer.backend.service.ts +333 -0
  1620. package/src/queue/job-completion-registry.backend.service.ts +342 -0
  1621. package/src/queue/job-consumer.backend.service.ts +646 -0
  1622. package/src/queue/job-executor.backend.service.ts +315 -0
  1623. package/src/queue/job-payload-storage.backend.service.ts +297 -0
  1624. package/src/queue/job-status-tracking.backend.service.ts +376 -0
  1625. package/src/queue/queue-monitoring.backend.service.ts +333 -0
  1626. package/src/queue/queue-worker-initializer.backend.service.ts +179 -0
  1627. package/src/queue/queue.backend.service.ts +530 -0
  1628. package/src/queue/scheduled-message-verifier.backend.service.ts +228 -0
  1629. package/src/queue/worker-shutdown-manager.backend.service.ts +298 -0
  1630. package/src/requests/models/api-routes.backend.defintions.ts +45 -0
  1631. package/src/requests/models/requests.backend.schemas.ts +73 -0
  1632. package/src/requests/service/__tests__/websocket.service.auth-refresh.test.ts +361 -0
  1633. package/src/requests/service/__tests__/websocket.service.resource-room-validation.test.ts +234 -0
  1634. package/src/requests/service/__tests__/websocket.service.variant-authorization.test.ts +94 -0
  1635. package/src/requests/service/platform-mutualized-handler.backend.service.ts +19 -0
  1636. package/src/requests/service/platform-requests.backend.utils.ts +54 -0
  1637. package/src/requests/service/remote-client-base.backend.service.ts +485 -0
  1638. package/src/requests/service/serverless-services-handler.backend.service.ts +19 -0
  1639. package/src/requests/service/websocket.service.ts +2844 -0
  1640. package/src/resources/models/custom-service-implementations.backend.definition.ts +22 -0
  1641. package/src/resources/models/index.ts +7 -0
  1642. package/src/resources/models/resources-operations.backend.definitions.ts +9 -0
  1643. package/src/resources/models/resources-relationships.backend.definitions.ts +30 -0
  1644. package/src/resources/models/resources-types.backend.schemas.ts +14 -0
  1645. package/src/resources/models/resources.backend.schemas.ts +6 -0
  1646. package/src/resources/models/virtual-fields.backend.types.ts +132 -0
  1647. package/src/resources/services/__tests__/mock-resources-registry.service.ts +69 -0
  1648. package/src/resources/services/__tests__/resource-id.backend.service.test.ts +69 -0
  1649. package/src/resources/services/resource-context.backend.service.ts +1107 -0
  1650. package/src/resources/services/resource-id.backend.service.ts +280 -0
  1651. package/src/resources/services/resource-population.backend.service.ts +761 -0
  1652. package/src/resources/services/resources-registry.backend.service.ts +1126 -0
  1653. package/src/resources/services/virtual-fields.backend.service.ts +303 -0
  1654. package/src/runtime/__tests__/execution-context-creator.backend.service.test.ts +469 -0
  1655. package/src/runtime/controllers/health-controller.backend.service.ts +297 -0
  1656. package/src/runtime/domain-module.backend.definitions.test.ts +83 -0
  1657. package/src/runtime/domain-module.backend.definitions.ts +161 -0
  1658. package/src/runtime/models/execution-context.backend.schemas.ts +456 -0
  1659. package/src/runtime/models/runtime.backend.schemas.ts +82 -0
  1660. package/src/runtime/services/execution-context-creator.backend.service.ts +2102 -0
  1661. package/src/runtime/services/execution-context-handler.backend.service.ts +224 -0
  1662. package/src/runtime/services/health-readiness-contributor.backend.interface.ts +11 -0
  1663. package/src/runtime/services/http-server.backend.service.ts +870 -0
  1664. package/src/runtime/services/start-application.backend.service.ts +1109 -0
  1665. package/src/runtime/testing/execution-context-test-fixtures.ts +14 -0
  1666. package/src/runtime/testing/mock-execution-context-creator.service.ts +46 -0
  1667. package/src/runtime/utils/scan-default-exports.backend.utils.ts +247 -0
  1668. package/src/security/authentications/__tests__/auth-registration.test.ts +338 -0
  1669. package/src/security/authentications/__tests__/authentication-controller.test.ts +31 -0
  1670. package/src/security/authentications/__tests__/authentication-orchestrator.test.ts +27 -0
  1671. package/src/security/authentications/__tests__/saml-assertion-validator.test.ts +631 -0
  1672. package/src/security/authentications/__tests__/saml-authentication.test.ts +126 -0
  1673. package/src/security/authentications/__tests__/saml-integration-test-helpers.test.ts +234 -0
  1674. package/src/security/authentications/__tests__/saml-metadata.test.ts +185 -0
  1675. package/src/security/authentications/__tests__/saml-replay-guard.test.ts +99 -0
  1676. package/src/security/authentications/__tests__/saml-sso-flow.integration.test.ts +355 -0
  1677. package/src/security/authentications/__tests__/saml-test-fixtures.test.ts +433 -0
  1678. package/src/security/authentications/__tests__/saml-test-parser.test.ts +117 -0
  1679. package/src/security/authentications/__tests__/sso-connection-custom-ops.integration.test.ts +236 -0
  1680. package/src/security/authentications/batches/anonymous-session-cleanup.batch.backend.service.ts +71 -0
  1681. package/src/security/authentications/controllers/auth-method-management-controller.backend.service.ts +205 -0
  1682. package/src/security/authentications/controllers/authentication-controller.backend.service.ts +2712 -0
  1683. package/src/security/authentications/models/auth-constants.backend.ts +141 -0
  1684. package/src/security/authentications/models/authentications.backend.schemas.ts +106 -0
  1685. package/src/security/authentications/models/jwt.backend.schemas.ts +107 -0
  1686. package/src/security/authentications/models/oauth2-connection.backend.schemas.ts +196 -0
  1687. package/src/security/authentications/models/saml-authentication.backend.schemas.ts +124 -0
  1688. package/src/security/authentications/models/sso-connection.backend.schemas.ts +104 -0
  1689. package/src/security/authentications/services/__tests__/mock-auth-execution-context-factory.service.ts +73 -0
  1690. package/src/security/authentications/services/__tests__/mock-auth-token-issuer.service.ts +46 -0
  1691. package/src/security/authentications/services/admin-config/__tests__/mock-domain-to-org-lookup.service.ts +40 -0
  1692. package/src/security/authentications/services/admin-config/__tests__/mock-enterprise-user-provisioning.service.ts +67 -0
  1693. package/src/security/authentications/services/admin-config/auth-organization-configuration.service.ts +424 -0
  1694. package/src/security/authentications/services/admin-config/domain-to-org-lookup.backend.service.ts +244 -0
  1695. package/src/security/authentications/services/admin-config/domain-verification.backend.service.ts +215 -0
  1696. package/src/security/authentications/services/admin-config/enterprise-user-provisioning.backend.service.ts +509 -0
  1697. package/src/security/authentications/services/admin-config/oidc-discovery.backend.service.ts +250 -0
  1698. package/src/security/authentications/services/anonymous-session.backend.service.ts +442 -0
  1699. package/src/security/authentications/services/auth-credential-verifier.backend.service.ts +147 -0
  1700. package/src/security/authentications/services/auth-execution-context-factory.backend.service.ts +132 -0
  1701. package/src/security/authentications/services/auth-methods/auth-method-management.backend.service.ts +532 -0
  1702. package/src/security/authentications/services/auth-methods/auth-mfa.backend.service.ts +141 -0
  1703. package/src/security/authentications/services/auth-methods/auth-password-reset.backend.service.ts +215 -0
  1704. package/src/security/authentications/services/auth-methods/auth-phone-verification.backend.service.ts +136 -0
  1705. package/src/security/authentications/services/auth-methods/auth-registration.backend.service.ts +994 -0
  1706. package/src/security/authentications/services/auth-methods/oauth2-authentication.backend.service.ts +1210 -0
  1707. package/src/security/authentications/services/auth-methods/oauth2-connection-resolver.backend.service.ts +903 -0
  1708. package/src/security/authentications/services/auth-methods/saml-assertion-validator.backend.service.ts +791 -0
  1709. package/src/security/authentications/services/auth-methods/saml-authentication.backend.service.ts +1727 -0
  1710. package/src/security/authentications/services/auth-methods/saml-metadata.backend.service.ts +432 -0
  1711. package/src/security/authentications/services/auth-methods/saml-replay-guard.backend.service.ts +90 -0
  1712. package/src/security/authentications/services/auth-methods/webauthn.backend.service.ts +393 -0
  1713. package/src/security/authentications/services/auth-session-store.backend.service.ts +211 -0
  1714. package/src/security/authentications/services/auth-token-issuer.backend.service.ts +496 -0
  1715. package/src/security/authentications/services/authentication-orchestrator.backend.service.ts +3156 -0
  1716. package/src/security/authentications/services/custom-impls/auth-custom-implementations.backend.ts +88 -0
  1717. package/src/security/authentications/services/custom-impls/auth-policy.custom-impl.backend.service.ts +54 -0
  1718. package/src/security/authentications/services/custom-impls/scim-provisioning-config.custom-impl.backend.service.ts +167 -0
  1719. package/src/security/authentications/services/custom-impls/scim-tokens.custom-impl.backend.service.ts +136 -0
  1720. package/src/security/authentications/services/custom-impls/siem-delivery-dlq.custom-impl.backend.service.ts +123 -0
  1721. package/src/security/authentications/services/custom-impls/siem-export-config.custom-impl.backend.service.ts +161 -0
  1722. package/src/security/authentications/services/custom-impls/sso-config.custom-impl.backend.service.ts +185 -0
  1723. package/src/security/authentications/services/custom-impls/sso-connection.custom-impl.backend.service.ts +792 -0
  1724. package/src/security/authentications/services/utils/__tests__/mock-auth-user-lookup.service.ts +62 -0
  1725. package/src/security/authentications/services/utils/auth-controller.utils.ts +51 -0
  1726. package/src/security/authentications/services/utils/auth-credential-ops.backend.service.ts +202 -0
  1727. package/src/security/authentications/services/utils/auth-response-helper.backend.service.ts +38 -0
  1728. package/src/security/authentications/services/utils/auth-user-lookup.backend.service.ts +128 -0
  1729. package/src/security/authentications/services/utils/saml-java-availability.ts +64 -0
  1730. package/src/security/authorizations/__tests__/authorizations.backend.service.test.ts +82 -0
  1731. package/src/security/authorizations/services/authorizations.backend.service.ts +934 -0
  1732. package/src/security/consumable-tokens/batches/consumable-tokens-cleanup.batch.backend.service.ts +168 -0
  1733. package/src/security/consumable-tokens/models/consumable-tokens.backend.resources-config.schemas.ts +92 -0
  1734. package/src/security/consumable-tokens/models/consumable-tokens.shared.schemas.ts +86 -0
  1735. package/src/security/consumable-tokens/models/index.ts +3 -0
  1736. package/src/security/consumable-tokens/services/__tests__/mock-consumable-token.service.ts +63 -0
  1737. package/src/security/consumable-tokens/services/consumable-token.backend.service.ts +568 -0
  1738. package/src/security/jwt/services/auth-jwt-guard.backend.service.ts +137 -0
  1739. package/src/security/jwt/services/jwt.backend.service.ts +397 -0
  1740. package/src/security/scim/__tests__/scim-filter-parser.test.ts +121 -0
  1741. package/src/security/scim/controllers/scim.backend.controller.ts +1066 -0
  1742. package/src/security/scim/models/scim-protocol.backend.schemas.ts +258 -0
  1743. package/src/security/scim/utils/scim-filter-parser.ts +289 -0
  1744. package/src/security/scim/utils/scim-response-formatter.ts +122 -0
  1745. package/src/testing.ts +30 -0
  1746. package/src/types/xmldom.d.ts +9 -0
  1747. package/src/users/services/user-self-custom-implementations.backend.ts +62 -0
@@ -0,0 +1,1509 @@
1
+ import 'reflect-metadata';
2
+ import { CoreResourceOperation, ErrorCustomMessageReference, ErrorType, ResourceOperationsUtils, ResourcesConfig_OperationPathUtils } from '@wildo-ai/saas-models';
3
+ import { lwwFieldWinner, CrdtResolutionWinner, nextMonotonicTimestamp, isCrdtOnlyUpdate, sanitizeFieldMeta, extractCrdtFieldNames, } from '@wildo-ai/saas-models';
4
+ import { Types } from 'mongoose';
5
+ const DEBUG_ACTIVATED = false;
6
+ /**
7
+ * MongoDB Repository Implementation
8
+ *
9
+ * This class provides the MongoDB/Mongoose implementation of the resource repository.
10
+ * It conforms to the `BackendResourceRepository` interface contract through TypeScript's
11
+ * structural typing.
12
+ *
13
+ * ## Transaction Support
14
+ *
15
+ * Uses the `getNativeSession()` helper to extract the Mongoose ClientSession from
16
+ * the database-agnostic `options.transaction.nativeSession` (TransactionContext).
17
+ *
18
+ * @see BackendResourceRepository in repositories-registry-handler.backend.service.ts
19
+ * @see PostgreSQLResourceRepositoryBackendService for PostgreSQL implementation
20
+ */
21
+ export class RepositoryResourceBackendService {
22
+ zodToMongooseConverter;
23
+ logger;
24
+ errorBuilder;
25
+ resourceRegistry;
26
+ resourceOperationHelper;
27
+ repositoriesRegistry;
28
+ connection;
29
+ resourceIdService;
30
+ resourceConfiguration;
31
+ mongooseModel;
32
+ inheritanceModels;
33
+ operationsMap;
34
+ logDebug;
35
+ constructor(resourceType, zodToMongooseConverter, logger, errorBuilder, resourceRegistry, resourceOperationHelper, repositoriesRegistry, connection = undefined, resourceIdService) {
36
+ this.zodToMongooseConverter = zodToMongooseConverter;
37
+ this.logger = logger;
38
+ this.errorBuilder = errorBuilder;
39
+ this.resourceRegistry = resourceRegistry;
40
+ this.resourceOperationHelper = resourceOperationHelper;
41
+ this.repositoriesRegistry = repositoriesRegistry;
42
+ this.connection = connection;
43
+ this.resourceIdService = resourceIdService;
44
+ this.resourceConfiguration = this.resourceRegistry.getResourceConfiguration(resourceType);
45
+ this.zodToMongooseConverter = zodToMongooseConverter;
46
+ this.inheritanceModels = new Map();
47
+ this.operationsMap = new Map();
48
+ this.logDebug = this.logger.debugByType(`RepositoryResource_${resourceType}`);
49
+ this.logger.setDebugTypeLogging(`RepositoryResource_${resourceType}`, DEBUG_ACTIVATED);
50
+ // Initialize mongoose model and operations
51
+ this.mongooseModel = this.initializeMongooseModel();
52
+ this.initializeOperationsMap();
53
+ this.logDebug('Repository resource service created', { resourceType: this.resourceConfiguration.resourceIdentifier, operationsCount: this.operationsMap.size, hasInheritance: this.inheritanceModels.size > 0 });
54
+ }
55
+ // ================================
56
+ // Transaction Session Helper
57
+ // ================================
58
+ /**
59
+ * Get the native Mongoose session from repository options.
60
+ *
61
+ * Extracts the Mongoose ClientSession from the database-agnostic TransactionContext.
62
+ * Includes runtime safety check to ensure MongoDB repository doesn't receive
63
+ * a PostgreSQL transaction context.
64
+ *
65
+ * @param options - Repository options that may contain transaction
66
+ * @returns The Mongoose ClientSession or undefined
67
+ * @throws Error if a non-MongoDB transaction is provided
68
+ */
69
+ getNativeSession(options) {
70
+ if (!options?.transaction) {
71
+ return undefined;
72
+ }
73
+ // Runtime safety check: ensure this is a MongoDB transaction
74
+ if (options.transaction.databaseType !== 'mongodb') {
75
+ throw new Error(`MongoDB repository received non-MongoDB transaction. ` +
76
+ `Expected databaseType='mongodb', got '${options.transaction.databaseType}'. ` +
77
+ `This indicates a configuration error where a resource is using the wrong persistence adapter.`);
78
+ }
79
+ return options.transaction.nativeSession;
80
+ }
81
+ // ================================
82
+ // Initialization
83
+ // ================================
84
+ static createInstance(resourceType, zodToMongooseConverter, logger, errorBuilder, resourceRegistry, resourceOperationHelper, repositoriesRegistry, connection = undefined, resourceIdService) {
85
+ return new RepositoryResourceBackendService(resourceType, zodToMongooseConverter, logger, errorBuilder, resourceRegistry, resourceOperationHelper, repositoriesRegistry, connection, resourceIdService);
86
+ }
87
+ initializeOperationsMap() {
88
+ if (!this.resourceConfiguration.operations) {
89
+ return;
90
+ }
91
+ this.resourceConfiguration.operations.forEach(operation => {
92
+ const operationKey = ResourcesConfig_OperationPathUtils.createOperationRepositoryPathKeyFromOperation(operation);
93
+ this.operationsMap.set(operationKey, operation);
94
+ });
95
+ this.logDebug('Operations map initialized', {
96
+ operationsCount: this.operationsMap.size,
97
+ operationKeys: Array.from(this.operationsMap.keys())
98
+ });
99
+ }
100
+ initializeMongooseModel() {
101
+ try {
102
+ const modelResult = this.zodToMongooseConverter.convertResourceConfigurationToModel(this.resourceConfiguration, {
103
+ includeIndexes: true,
104
+ applyDefaults: true,
105
+ connection: this.connection
106
+ });
107
+ // Store inheritance models if any
108
+ // Use a Set to track created discriminator values to avoid duplicates
109
+ const createdDiscriminatorValues = new Set();
110
+ modelResult.inheritanceSchemas.forEach(inheritance => {
111
+ // Skip if discriminator with this value already exists
112
+ if (createdDiscriminatorValues.has(inheritance.discriminatorValue)) {
113
+ this.logDebug(`Skipping duplicate discriminator value: ${inheritance.discriminatorValue}`, {
114
+ discriminatorKey: inheritance.discriminatorKey,
115
+ discriminatorValue: inheritance.discriminatorValue
116
+ });
117
+ return;
118
+ }
119
+ try {
120
+ // Check if discriminator already exists on the model
121
+ const existingDiscriminator = modelResult.mainModel.discriminators?.[inheritance.discriminatorValue];
122
+ if (existingDiscriminator) {
123
+ this.logDebug(`Discriminator already exists, reusing: ${inheritance.discriminatorValue}`, {
124
+ discriminatorKey: inheritance.discriminatorKey,
125
+ discriminatorValue: inheritance.discriminatorValue
126
+ });
127
+ this.inheritanceModels.set(inheritance.discriminatorValue, existingDiscriminator);
128
+ createdDiscriminatorValues.add(inheritance.discriminatorValue);
129
+ return;
130
+ }
131
+ // Create inheritance model from schema
132
+ const inheritanceModel = modelResult.mainModel.discriminator(inheritance.discriminatorValue, inheritance.schema);
133
+ this.inheritanceModels.set(inheritance.discriminatorValue, inheritanceModel);
134
+ createdDiscriminatorValues.add(inheritance.discriminatorValue);
135
+ }
136
+ catch (error) {
137
+ // If discriminator already exists, try to get it
138
+ if (error?.message?.includes('already exists')) {
139
+ this.logDebug(`Discriminator already exists, attempting to retrieve: ${inheritance.discriminatorValue}`, {
140
+ discriminatorKey: inheritance.discriminatorKey,
141
+ discriminatorValue: inheritance.discriminatorValue
142
+ });
143
+ const existingDiscriminator = modelResult.mainModel.discriminators?.[inheritance.discriminatorValue];
144
+ if (existingDiscriminator) {
145
+ this.inheritanceModels.set(inheritance.discriminatorValue, existingDiscriminator);
146
+ createdDiscriminatorValues.add(inheritance.discriminatorValue);
147
+ }
148
+ else {
149
+ this.logger.warn(`Failed to create or retrieve discriminator: ${inheritance.discriminatorValue}`, {
150
+ error: error.message,
151
+ discriminatorKey: inheritance.discriminatorKey
152
+ });
153
+ }
154
+ }
155
+ else {
156
+ throw error;
157
+ }
158
+ }
159
+ });
160
+ this.logDebug('Mongoose model initialized', {
161
+ modelName: modelResult.mainModel.modelName,
162
+ inheritanceCount: this.inheritanceModels.size
163
+ });
164
+ return modelResult.mainModel;
165
+ }
166
+ catch (error) {
167
+ this.logger.error('Failed to initialize mongoose model', {
168
+ resourceType: this.resourceConfiguration.resourceIdentifier,
169
+ error: error instanceof Error ? error.message : 'Unknown error'
170
+ });
171
+ throw error;
172
+ }
173
+ }
174
+ // ================================
175
+ // Getters
176
+ // ================================
177
+ getInheritanceModel(discriminatorValue) {
178
+ return this.inheritanceModels.get(discriminatorValue);
179
+ }
180
+ // ================================
181
+ // Execution
182
+ // ================================
183
+ async doByPath(operationRepositoryPath, executionContext, id_or_ids_or_filter, data, options) {
184
+ const operationRepositoryPathKey = ResourcesConfig_OperationPathUtils.createOperationRepositoryPathKey(operationRepositoryPath);
185
+ this.logDebug('Executing operation by repository path', { operationRepositoryPath, operationRepositoryPathKey, hasData: !!data, id_or_ids_or_filter });
186
+ return this.doByKey(operationRepositoryPathKey, executionContext, id_or_ids_or_filter, data, options);
187
+ }
188
+ /**
189
+ * Execute operation by operation repository path key (string)
190
+ */
191
+ async doByKey(operationRepositoryPathKey, executionContext, id_or_ids_or_filter, data, options) {
192
+ ResourcesConfig_OperationPathUtils.validateOperationRepositoryPathKey(operationRepositoryPathKey);
193
+ const operation = this.operationsMap.get(operationRepositoryPathKey);
194
+ if (!operation) {
195
+ throw this.errorBuilder.buildError(ErrorType.NOT_FOUND, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationRepositoryPathKey } });
196
+ }
197
+ this.logDebug('Executing operation by repository path key', { operationRepositoryPathKey, hasData: !!data, id_or_ids_or_filter });
198
+ return this.doOperation(operation, executionContext, id_or_ids_or_filter, data, options);
199
+ }
200
+ async doByExecutionContext(executionContext, data, options) {
201
+ const operation = executionContext.operation;
202
+ // Extract IDs based on resourceFieldIdentifier from execution context
203
+ const id_or_ids_or_filter = this.resourceOperationHelper.extractIdsFromExecutionContext(executionContext, this.resourceConfiguration.resourceFieldIdentifier);
204
+ this.logDebug('Executing operation by execution context', {
205
+ operationIdentifier: operation.operationIdentifier,
206
+ resourceIdentifier: operation.resourceIdentifier,
207
+ hasData: !!data,
208
+ extractedIds: id_or_ids_or_filter,
209
+ resourceFieldIdentifier: this.resourceConfiguration.resourceFieldIdentifier
210
+ });
211
+ return this.doOperation(operation, executionContext, id_or_ids_or_filter, data, options);
212
+ }
213
+ async _prefixOperation(operation, executionContext, id_or_ids_or_filter, data, options) {
214
+ // Authorization is handled at the controller/middleware layer before reaching the repository.
215
+ // Repository-level prefix operations are reserved for data-level pre-processing (e.g., input normalization).
216
+ // Operation-level authorization is enforced by the ResourceOperationService via role + variant checks.
217
+ }
218
+ async _postfixOperation(operation, executionContext, id_or_ids_or_filter, data, options) {
219
+ // Post-operation hook reserved for data-level post-processing (e.g., cache invalidation).
220
+ // Currently no-op by design — business logic runs at the service layer.
221
+ }
222
+ /**
223
+ * Execute a specific operation
224
+ */
225
+ async doOperation(operation, executionContext, id_or_ids_or_filter, data, options) {
226
+ const operationRepositoryPathKey = ResourcesConfig_OperationPathUtils.createOperationRepositoryPathKeyFromOperation(operation);
227
+ if (operation.resourceIdentifier !== this.resourceConfiguration.resourceIdentifier) {
228
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationRepositoryPathKey, resourceIdentifier: this.resourceConfiguration.resourceIdentifier } });
229
+ }
230
+ const operationIdentifier = ResourceOperationsUtils.getCoreResourceOperationFromOperation(operation);
231
+ if (!operationIdentifier) {
232
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationRepositoryPathKey } });
233
+ }
234
+ await this._prefixOperation(operation, executionContext, id_or_ids_or_filter, data, options);
235
+ let operationResult;
236
+ // Handle core operations
237
+ switch (operationIdentifier) {
238
+ case CoreResourceOperation.CREATE:
239
+ operationResult = await this._doCreate(operation, executionContext, data, options);
240
+ break;
241
+ case CoreResourceOperation.CREATE_MANY:
242
+ operationResult = await this._doCreateMany(operation, executionContext, data, options);
243
+ break;
244
+ case CoreResourceOperation.READ:
245
+ if (Array.isArray(id_or_ids_or_filter)) {
246
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED,
247
+ context: { operationRepositoryPathKey, resourceIdentifier: this.resourceConfiguration.resourceIdentifier, id_or_ids_or_filter } });
248
+ }
249
+ operationResult = await this._doRead(operation, executionContext, id_or_ids_or_filter, options);
250
+ break;
251
+ case CoreResourceOperation.UPDATE:
252
+ if (Array.isArray(id_or_ids_or_filter)) {
253
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED,
254
+ context: { operationRepositoryPathKey, resourceIdentifier: this.resourceConfiguration.resourceIdentifier, id_or_ids_or_filter } });
255
+ }
256
+ operationResult = await this._doUpdate(operation, executionContext, id_or_ids_or_filter, data, options);
257
+ break;
258
+ case CoreResourceOperation.UPDATE_MANY:
259
+ operationResult = await this._doUpdateMany(operation, executionContext, id_or_ids_or_filter, data, options);
260
+ break;
261
+ case CoreResourceOperation.DELETE:
262
+ if (Array.isArray(id_or_ids_or_filter)) {
263
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED,
264
+ context: { operationRepositoryPathKey, resourceIdentifier: this.resourceConfiguration.resourceIdentifier, id_or_ids_or_filter } });
265
+ }
266
+ operationResult = await this._doDelete(operation, executionContext, id_or_ids_or_filter, options);
267
+ break;
268
+ case CoreResourceOperation.DELETE_MANY:
269
+ const idToDelete = typeof id_or_ids_or_filter === 'string' ? [id_or_ids_or_filter] : id_or_ids_or_filter;
270
+ operationResult = await this._doDeleteMany(operation, executionContext, idToDelete, options);
271
+ break;
272
+ case CoreResourceOperation.LIST:
273
+ // For LIST operation, return paginated format
274
+ const idsToList = typeof id_or_ids_or_filter === 'string' ? [id_or_ids_or_filter] : id_or_ids_or_filter;
275
+ const listResult = await this._doList(operation, executionContext, idsToList, options);
276
+ operationResult = listResult;
277
+ break;
278
+ case CoreResourceOperation.COUNT:
279
+ operationResult = await this._doCount(operation, executionContext, data?.filter ?? {}, options);
280
+ break;
281
+ case CoreResourceOperation.SEARCH:
282
+ operationResult = await this._doSearch(operation, executionContext, data?.query || '', data?.filter ?? {}, {
283
+ ...options,
284
+ searchOptions: options?.searchOptions ?? {},
285
+ });
286
+ break;
287
+ default:
288
+ // Handle custom operations
289
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { resourceIdentifier: this.resourceConfiguration.resourceIdentifier, operationIdentifier } });
290
+ }
291
+ await this._postfixOperation(operation, executionContext, id_or_ids_or_filter, data, options);
292
+ return operationResult;
293
+ }
294
+ // ================================
295
+ // Core Public Operations
296
+ // ================================
297
+ async create(executionContext, data, options) {
298
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.CREATE && op.isDefault);
299
+ if (!operation) {
300
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.CREATE } });
301
+ }
302
+ await this._prefixOperation(operation, executionContext, undefined, data, options);
303
+ const result = await this._doCreate(operation, executionContext, data, options);
304
+ await this._postfixOperation(operation, executionContext, undefined, data, options);
305
+ return result;
306
+ }
307
+ async createMany(executionContext, data, options) {
308
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.CREATE_MANY && op.isDefault);
309
+ if (!operation) {
310
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.CREATE_MANY } });
311
+ }
312
+ await this._prefixOperation(operation, executionContext, undefined, data, options);
313
+ const result = await this._doCreateMany(operation, executionContext, data, options);
314
+ await this._postfixOperation(operation, executionContext, undefined, data, options);
315
+ return result;
316
+ }
317
+ async read(executionContext, id_or_filter, options) {
318
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.READ && op.isDefault);
319
+ if (!operation) {
320
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.READ } });
321
+ }
322
+ await this._prefixOperation(operation, executionContext, id_or_filter, undefined, options);
323
+ const result = await this._doRead(operation, executionContext, id_or_filter, options);
324
+ await this._postfixOperation(operation, executionContext, id_or_filter, undefined, options);
325
+ return result;
326
+ }
327
+ async update(executionContext, id_or_filter, data, options) {
328
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.UPDATE && op.isDefault);
329
+ if (!operation) {
330
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.UPDATE } });
331
+ }
332
+ await this._prefixOperation(operation, executionContext, id_or_filter, data, options);
333
+ const result = await this._doUpdate(operation, executionContext, id_or_filter, data, options);
334
+ await this._postfixOperation(operation, executionContext, id_or_filter, data, options);
335
+ return result;
336
+ }
337
+ async updateMany(executionContext, data, options) {
338
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.UPDATE_MANY && op.isDefault);
339
+ if (!operation) {
340
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.UPDATE_MANY } });
341
+ }
342
+ await this._prefixOperation(operation, executionContext, undefined, data, options);
343
+ const result = await this._doUpdateMany(operation, executionContext, undefined, data, options);
344
+ await this._postfixOperation(operation, executionContext, undefined, data, options);
345
+ return result;
346
+ }
347
+ async delete(executionContext, id_or_ids_or_filter, options) {
348
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.DELETE && op.isDefault);
349
+ if (!operation) {
350
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.DELETE } });
351
+ }
352
+ await this._prefixOperation(operation, executionContext, id_or_ids_or_filter, undefined, options);
353
+ const result = await this._doDelete(operation, executionContext, id_or_ids_or_filter, options);
354
+ await this._postfixOperation(operation, executionContext, id_or_ids_or_filter, undefined, options);
355
+ return result;
356
+ }
357
+ async deleteMany(executionContext, ids_or_filter, options) {
358
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.DELETE_MANY && op.isDefault);
359
+ if (!operation) {
360
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.DELETE_MANY } });
361
+ }
362
+ await this._prefixOperation(operation, executionContext, ids_or_filter, undefined, options);
363
+ const result = await this._doDeleteMany(operation, executionContext, ids_or_filter, options);
364
+ await this._postfixOperation(operation, executionContext, ids_or_filter, undefined, options);
365
+ return result;
366
+ }
367
+ async list(executionContext, ids_or_filter, options) {
368
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.LIST && op.isDefault);
369
+ if (!operation) {
370
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.LIST } });
371
+ }
372
+ await this._prefixOperation(operation, executionContext, ids_or_filter, undefined, options);
373
+ const result = await this._doList(operation, executionContext, ids_or_filter, options);
374
+ await this._postfixOperation(operation, executionContext, ids_or_filter, undefined, options);
375
+ return result;
376
+ }
377
+ async search(executionContext, searchQuery, filter = {}, searchOptions = {}, options) {
378
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.SEARCH && op.isDefault);
379
+ if (!operation) {
380
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.SEARCH } });
381
+ }
382
+ const searchOptionsWithDefaults = { searchOptions, ...options };
383
+ await this._prefixOperation(operation, executionContext, undefined, { query: searchQuery }, searchOptionsWithDefaults);
384
+ const result = await this._doSearch(operation, executionContext, searchQuery, filter, searchOptionsWithDefaults);
385
+ await this._postfixOperation(operation, executionContext, undefined, { query: searchQuery }, searchOptionsWithDefaults);
386
+ return result;
387
+ }
388
+ supportsOperation(operationIdentifier) {
389
+ return this.resourceConfiguration.operations.some(op => op.operationIdentifier === operationIdentifier && op.isDefault);
390
+ }
391
+ async count(executionContext, filter = {}, options) {
392
+ const operation = this.resourceConfiguration.operations.find(op => op.operationIdentifier === CoreResourceOperation.COUNT && op.isDefault);
393
+ if (!operation) {
394
+ throw this.errorBuilder.buildError(ErrorType.INTERNAL, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { operationIdentifier: CoreResourceOperation.COUNT } });
395
+ }
396
+ await this._prefixOperation(operation, executionContext, undefined, filter, options);
397
+ const result = await this._doCount(operation, executionContext, filter, options);
398
+ await this._postfixOperation(operation, executionContext, undefined, filter, options);
399
+ return result;
400
+ }
401
+ /**
402
+ * Aggregate a numeric field across documents matching the filter.
403
+ * Framework infrastructure method for feature limit enforcement.
404
+ *
405
+ * Uses MongoDB aggregation pipeline: $match (with buildContextualFilter) + $group.
406
+ * Handles null/undefined field values via $ifNull.
407
+ * Does NOT require a COUNT operation to be configured (not API-facing).
408
+ *
409
+ * @param executionContext - Current execution context (used for scope filtering)
410
+ * @param filter - Additional filter criteria (scope is added automatically by buildContextualFilter)
411
+ * @param field - The document field to aggregate
412
+ * @param operation - The aggregation operation (SUM, AVG, MAX)
413
+ * @returns The aggregated numeric result (0 if no matching documents)
414
+ */
415
+ async aggregateField(executionContext, filter, field, operation) {
416
+ const contextualFilter = this.buildContextualFilter(executionContext, filter);
417
+ // Map operation string to MongoDB aggregation operator
418
+ let mongoOp;
419
+ switch (operation) {
420
+ case 'SUM':
421
+ mongoOp = '$sum';
422
+ break;
423
+ case 'AVG':
424
+ mongoOp = '$avg';
425
+ break;
426
+ case 'MAX':
427
+ mongoOp = '$max';
428
+ break;
429
+ default:
430
+ mongoOp = '$sum';
431
+ }
432
+ const pipeline = [
433
+ { $match: contextualFilter },
434
+ {
435
+ $group: {
436
+ _id: null,
437
+ result: { [mongoOp]: { $ifNull: [`$${field}`, 0] } },
438
+ },
439
+ },
440
+ ];
441
+ this.logDebug('Aggregating field', { field, operation, filter: contextualFilter });
442
+ const results = await this.mongooseModel.aggregate(pipeline).exec();
443
+ const value = results.length > 0 ? (results[0].result ?? 0) : 0;
444
+ this.logDebug('Aggregation result', { field, operation, value });
445
+ return value;
446
+ }
447
+ // ================================
448
+ // Core Private Operations
449
+ // ================================
450
+ async _doCreate(operation, executionContext, data, options) {
451
+ this.logDebug('Creating resource', { hasData: !!data, dataKeys: typeof data === 'object' ? Object.keys(data) : 'not-object' });
452
+ // Clean input data FIRST (remove mandatory discard fields)
453
+ const cleanedData = this.resourceOperationHelper.cleanInputData(data, CoreResourceOperation.CREATE);
454
+ this.logDebug('Data cleaned', { cleanedKeys: typeof cleanedData === 'object' ? Object.keys(cleanedData) : 'not-object' });
455
+ // Validate against request DTO (after cleaning)
456
+ const validatedData = this.repositoriesRegistry.validateRequestData(cleanedData, this.resourceConfiguration.resourceIdentifier, CoreResourceOperation.CREATE);
457
+ this.logDebug('Data validated against requestDto', { validatedKeys: typeof validatedData === 'object' ? Object.keys(validatedData) : 'not-object' });
458
+ // THEN apply execution context data enrichment to the validated data
459
+ const enrichedData = this.resourceOperationHelper.enrichDataWithContext(validatedData, executionContext, this.resourceConfiguration.mainSchema, this.resourceConfiguration.resourceFieldIdentifier, CoreResourceOperation.CREATE, options);
460
+ this.logDebug('Data enriched with context', { enrichedKeys: typeof enrichedData === 'object' ? Object.keys(enrichedData) : 'not-object' });
461
+ // Defense-in-depth: anonymous creation on isAnonymizable resources must have userId = null
462
+ if (executionContext.isAnonymousExecution() && this.resourceConfiguration.isAnonymizable) {
463
+ enrichedData.userId = null;
464
+ }
465
+ // Inject non-discriminator literal values from schema (e.g., scope: 'ORGANIZATION')
466
+ // These are fixed values excluded from CREATE DTOs but must be persisted
467
+ const dataWithLiterals = this.resourceOperationHelper.injectNonDiscriminatorLiteralValues(enrichedData, this.resourceConfiguration.mainSchema);
468
+ this.logDebug('Non-discriminator literals injected', { dataWithLiteralsKeys: typeof dataWithLiterals === 'object' ? Object.keys(dataWithLiterals) : 'not-object' });
469
+ // Add user tracking to enriched data
470
+ const dataWithUserTracking = this.addUserTracking(dataWithLiterals, executionContext, CoreResourceOperation.CREATE);
471
+ this.logDebug('User tracking added', { finalKeys: typeof dataWithUserTracking === 'object' ? Object.keys(dataWithUserTracking) : 'not-object' });
472
+ try {
473
+ const nativeSession = this.getNativeSession(options);
474
+ this.logDebug('Creating document with Model.create()...', {
475
+ hasTransaction: !!nativeSession
476
+ });
477
+ // Use transaction session if provided
478
+ const createOptions = nativeSession ? { session: nativeSession } : {};
479
+ // DEBUG: Log the exact data being passed to mongoose
480
+ this.logDebug('\n=== DEBUG: About to call mongoose create ===');
481
+ this.logDebug('dataWithUserTracking:', { dataWithUserTracking: JSON.stringify(dataWithUserTracking, null, 2) });
482
+ this.logDebug('keys:', { keys: Object.keys(dataWithUserTracking || {}) });
483
+ this.logDebug('dataType:', { dataType: typeof dataWithUserTracking });
484
+ this.logDebug('hasName:', { hasName: !!dataWithUserTracking?.name });
485
+ this.logDebug('hasSlug:', { hasSlug: !!dataWithUserTracking?.slug });
486
+ this.logDebug('nameValue:', dataWithUserTracking?.name);
487
+ this.logDebug('slugValue:', { slugValue: dataWithUserTracking?.slug });
488
+ // DEBUG: Log mongoose schema info
489
+ this.logDebug('Mongoose model name:', { mongooseModelName: this.mongooseModel.modelName });
490
+ this.logDebug('Mongoose schema paths:', { mongooseSchemaPaths: Object.keys(this.mongooseModel.schema.paths) });
491
+ this.logDebug('Required paths:', { requiredPaths: Object.keys(this.mongooseModel.schema.paths).filter(path => {
492
+ const schemaType = this.mongooseModel.schema.paths[path];
493
+ return schemaType.isRequired;
494
+ }) });
495
+ this.logDebug('Name field config:', { nameFieldConfig: this.mongooseModel.schema.paths['name']?.isRequired, nameFieldInstance: this.mongooseModel.schema.paths['name']?.instance });
496
+ this.logDebug('Slug field config:', { slugFieldConfig: this.mongooseModel.schema.paths['slug']?.isRequired, slugFieldInstance: this.mongooseModel.schema.paths['slug']?.instance });
497
+ this.logDebug('Status field config:', { statusFieldConfig: this.mongooseModel.schema.paths['status']?.isRequired, statusFieldInstance: this.mongooseModel.schema.paths['status']?.instance });
498
+ this.logDebug('=======================================\n');
499
+ // Use Model.create() instead of new Model().save() to allow MongoDB to auto-generate _id
500
+ const savedDocument = await this.mongooseModel.create(dataWithUserTracking);
501
+ this.logDebug('Document created successfully');
502
+ return this.transformDocumentToResponse(savedDocument, CoreResourceOperation.CREATE);
503
+ }
504
+ catch (error) {
505
+ this.logDebug('Mongoose create failed', {
506
+ error: error instanceof Error ? error.message : 'Unknown error',
507
+ enrichedData: enrichedData,
508
+ hasTransaction: !!this.getNativeSession(options)
509
+ });
510
+ // Handle MongoDB unique constraint violations (E11000 duplicate key error)
511
+ throw this.handleMongoDBError(error, executionContext);
512
+ }
513
+ }
514
+ async _doCreateMany(operation, executionContext, dataArray, options) {
515
+ this.logDebug('Creating multiple resources', { count: dataArray.length });
516
+ // Clean input data FIRST (remove mandatory discard fields)
517
+ const cleanedDataArray = this.resourceOperationHelper.cleanInputDataArray(dataArray, CoreResourceOperation.CREATE_MANY);
518
+ this.logDebug('Data array cleaned', { count: cleanedDataArray.length });
519
+ // CreateMany always processes multiple items
520
+ // Validate and enrich each item
521
+ const isAnonymousCreate = executionContext.isAnonymousExecution() && this.resourceConfiguration.isAnonymizable;
522
+ const isBulkOperation = 'isBulkOperation' in operation && operation.isBulkOperation === true;
523
+ const processedDataArray = cleanedDataArray.map(data => {
524
+ const validatedData = this.repositoriesRegistry.validateRepositoryWriteData(data, this.resourceConfiguration.resourceIdentifier, String(operation.operationIdentifier), isBulkOperation);
525
+ const enrichedData = this.resourceOperationHelper.enrichDataWithContext(validatedData, executionContext, this.resourceConfiguration.mainSchema, this.resourceConfiguration.resourceFieldIdentifier, CoreResourceOperation.CREATE_MANY, options);
526
+ if (isAnonymousCreate) {
527
+ enrichedData.userId = null;
528
+ }
529
+ // Inject non-discriminator literal values from schema
530
+ const dataWithLiterals = this.resourceOperationHelper.injectNonDiscriminatorLiteralValues(enrichedData, this.resourceConfiguration.mainSchema);
531
+ return this.addUserTracking(dataWithLiterals, executionContext, CoreResourceOperation.CREATE_MANY);
532
+ });
533
+ // Prepare mongoose options with transaction session if provided
534
+ const session = this.getNativeSession(options);
535
+ const mongooseOpts = session ? { session } : {};
536
+ this.logDebug('Creating multiple documents', {
537
+ count: processedDataArray.length,
538
+ hasTransaction: !!session
539
+ });
540
+ // insertMany returns an array of documents by default (not InsertManyResult unless rawResult: true)
541
+ // TypeScript infers the wrong type, so we cast through unknown
542
+ const documents = await this.mongooseModel.insertMany(processedDataArray, mongooseOpts);
543
+ return documents.map(doc => this.transformDocumentToResponse(doc, CoreResourceOperation.CREATE_MANY));
544
+ }
545
+ async _doRead(operation, executionContext, id_or_filter, options) {
546
+ const session = this.getNativeSession(options);
547
+ this.logDebug('Reading resource', { id_or_filter, hasOptions: !!options, hasTransaction: !!session });
548
+ // Validate required parameter
549
+ this.validateIdOrIdsOrFilterRequired(id_or_filter, executionContext, CoreResourceOperation.READ, this.canReadViaContextWithoutExplicitId(operation, executionContext));
550
+ // Build base filter - read operation is always unitary (single entity)
551
+ const { baseFilter } = this.buildBaseFilterFromIdOrIdsOrFilter(id_or_filter, executionContext);
552
+ const filter = this.buildContextualFilter(executionContext, baseFilter, options);
553
+ // Prepare mongoose options with transaction session if provided
554
+ const mongooseOpts = session ? { session } : {};
555
+ // Read operation always returns single entity or null
556
+ const document = await this.mongooseModel.findOne(filter, null, mongooseOpts);
557
+ this.logDebug('Read single result', {
558
+ filter,
559
+ found: !!document,
560
+ preview: this.previewDocument(document),
561
+ hasTransaction: !!session
562
+ });
563
+ if (!document) {
564
+ return null;
565
+ }
566
+ return this.transformDocumentToResponse(document, CoreResourceOperation.READ);
567
+ }
568
+ async _doUpdate(operation, executionContext, id_or_filter, data, options) {
569
+ this.logDebug('Updating resource', { id_or_filter, hasData: !!data, hasOptions: !!options });
570
+ // Validate required parameter
571
+ this.validateIdOrIdsOrFilterRequired(id_or_filter, executionContext, CoreResourceOperation.UPDATE);
572
+ if (!data) {
573
+ throw this.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { message: 'UPDATE requires data' } });
574
+ }
575
+ // Clean input data FIRST (remove mandatory discard fields)
576
+ const cleanedData = this.resourceOperationHelper.cleanInputData(data, CoreResourceOperation.UPDATE);
577
+ this.logDebug('Data cleaned for update', { cleanedKeys: typeof cleanedData === 'object' ? Object.keys(cleanedData) : 'not-object' });
578
+ // Validate against request DTO (after cleaning)
579
+ const validatedData = this.repositoriesRegistry.validateRequestData(cleanedData, this.resourceConfiguration.resourceIdentifier, CoreResourceOperation.UPDATE);
580
+ this.logDebug('Data validated against requestDto', { validatedKeys: typeof validatedData === 'object' ? Object.keys(validatedData) : 'not-object' });
581
+ // THEN apply execution context data enrichment to the validated data
582
+ const enrichedData = this.resourceOperationHelper.enrichDataWithContext(validatedData, executionContext, this.resourceConfiguration.mainSchema, this.resourceConfiguration.resourceFieldIdentifier, CoreResourceOperation.UPDATE, options);
583
+ this.logDebug('Data enriched with context', { enrichedKeys: typeof enrichedData === 'object' ? Object.keys(enrichedData) : 'not-object' });
584
+ // Add user tracking to enriched data
585
+ const dataWithUserTracking = this.addUserTracking(enrichedData, executionContext, CoreResourceOperation.UPDATE);
586
+ this.logDebug('User tracking added', { finalKeys: typeof dataWithUserTracking === 'object' ? Object.keys(dataWithUserTracking) : 'not-object' });
587
+ // Build base filter - update operation is always unitary (single entity)
588
+ const { baseFilter } = this.buildBaseFilterFromIdOrIdsOrFilter(id_or_filter, executionContext);
589
+ // Ensure we have some filter criteria
590
+ if (Object.keys(baseFilter).length === 0) {
591
+ throw this.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { message: 'UPDATE requires valid id_or_ids_or_filter parameter' } });
592
+ }
593
+ // Apply contextual filtering
594
+ const filter = this.buildContextualFilter(executionContext, baseFilter, options);
595
+ if (options?.ifMatchVersion !== undefined) {
596
+ filter._version_db_doc = options.ifMatchVersion;
597
+ this.logDebug('Optimistic locking: added version filter', { ifMatchVersion: options.ifMatchVersion });
598
+ }
599
+ // Prepare mongoose options with transaction session if provided
600
+ const session = this.getNativeSession(options);
601
+ const mongooseOpts = { runValidators: true, new: true };
602
+ if (session) {
603
+ mongooseOpts.session = session;
604
+ }
605
+ // Defense-in-depth: strip version fields from update data to prevent
606
+ // $set/$inc conflict on _version_db_doc
607
+ delete dataWithUserTracking._version_db_doc;
608
+ delete dataWithUserTracking._version;
609
+ // CRDT: userId needed by both the LWW merge and the version-conflict retry
610
+ const userId = options?.fieldTimestamps ? (executionContext.initiatorIds?.userId ?? 'unknown') : undefined;
611
+ const FIELD_META_CAP = 200;
612
+ // CRDT field-level LWW merge
613
+ // P1: The extra findOne (projection: _field_meta only) is an intentional round-trip —
614
+ // LWW needs the latest per-field server timestamps before findOneAndUpdate; a blind
615
+ // CAS without pre-read cannot compare client vs server field clocks.
616
+ if (options?.fieldTimestamps && Object.keys(options.fieldTimestamps).length > 0) {
617
+ const currentDoc = await this.mongooseModel.findOne({ _id: baseFilter._id }, { _field_meta: 1 }, session ? { session } : undefined);
618
+ const currentFieldMeta = sanitizeFieldMeta(currentDoc?._field_meta);
619
+ const mergedFieldMeta = { ...currentFieldMeta };
620
+ const fieldsToRemoveFromUpdate = [];
621
+ for (const [field, clientTs] of Object.entries(options.fieldTimestamps)) {
622
+ const serverTs = currentFieldMeta[field]?.ts ?? 0;
623
+ if (lwwFieldWinner(clientTs, serverTs) === CrdtResolutionWinner.INCOMING) {
624
+ mergedFieldMeta[field] = { ts: nextMonotonicTimestamp(Date.now(), serverTs), by: userId };
625
+ }
626
+ else {
627
+ fieldsToRemoveFromUpdate.push(field);
628
+ }
629
+ }
630
+ for (const field of fieldsToRemoveFromUpdate) {
631
+ delete dataWithUserTracking[field];
632
+ this.logDebug('CRDT LWW: server wins for field', { field });
633
+ }
634
+ // D1: Schema-aware prune — remove _field_meta keys for fields no longer in the schema.
635
+ // Prevents unbounded growth after schema renames.
636
+ const validCrdtKeys = extractCrdtFieldNames(this.resourceConfiguration.mainSchema, false);
637
+ if (validCrdtKeys.size > 0) {
638
+ const staleKeys = [];
639
+ for (const key of Object.keys(mergedFieldMeta)) {
640
+ if (!validCrdtKeys.has(key))
641
+ staleKeys.push(key);
642
+ }
643
+ for (const key of staleKeys) {
644
+ delete mergedFieldMeta[key];
645
+ }
646
+ if (staleKeys.length > 0) {
647
+ this.logDebug('CRDT D1: pruned stale _field_meta keys', { staleKeys });
648
+ }
649
+ }
650
+ // S3: Cap _field_meta size — evict oldest entries beyond the cap.
651
+ // Runs after D1 semantic prune as a second line of defense.
652
+ const metaKeys = Object.keys(mergedFieldMeta);
653
+ if (metaKeys.length > FIELD_META_CAP) {
654
+ const sorted = metaKeys.sort((a, b) => (mergedFieldMeta[a].ts ?? 0) - (mergedFieldMeta[b].ts ?? 0));
655
+ const toEvict = sorted.slice(0, metaKeys.length - FIELD_META_CAP);
656
+ for (const key of toEvict) {
657
+ delete mergedFieldMeta[key];
658
+ }
659
+ this.logDebug('CRDT S3: capped _field_meta', { evicted: toEvict.length, remaining: FIELD_META_CAP });
660
+ }
661
+ dataWithUserTracking._field_meta = mergedFieldMeta;
662
+ this.logDebug('CRDT LWW merge', {
663
+ clientFields: Object.keys(options.fieldTimestamps),
664
+ removedFields: fieldsToRemoveFromUpdate,
665
+ survivingFields: Object.keys(options.fieldTimestamps).filter(f => !fieldsToRemoveFromUpdate.includes(f)),
666
+ });
667
+ }
668
+ // Update operation always updates single entity
669
+ let document;
670
+ try {
671
+ document = await this.mongooseModel.findOneAndUpdate(filter, { $set: dataWithUserTracking, $inc: { _version_db_doc: 1 } }, mongooseOpts);
672
+ }
673
+ catch (error) {
674
+ this.logDebug('Mongoose update failed', {
675
+ error: error instanceof Error ? error.message : 'Unknown error',
676
+ filter,
677
+ hasTransaction: !!session
678
+ });
679
+ throw this.handleMongoDBError(error, executionContext);
680
+ }
681
+ this.logDebug('Single update completed', {
682
+ filter,
683
+ found: !!document,
684
+ hasTransaction: !!session
685
+ });
686
+ if (!document) {
687
+ if (options?.ifMatchVersion !== undefined) {
688
+ // Disambiguate: version conflict vs resource deleted.
689
+ // Query by _id only (no version filter, no contextual filter) to check existence.
690
+ const existsDoc = await this.mongooseModel.findOne(baseFilter, { _id: 1 }, session ? { session } : undefined);
691
+ // CRDT-only update retry: when two clients save different CRDT fields simultaneously,
692
+ // the second client's findOneAndUpdate fails because the first already incremented
693
+ // the version. Retry with the current version instead of returning 409.
694
+ const crdtFieldSet = options?.fieldTimestamps ? new Set(Object.keys(options.fieldTimestamps)) : null;
695
+ const userDataKeys = Object.keys(dataWithUserTracking).filter(k => !k.startsWith('_'));
696
+ const isCrdtOnly = crdtFieldSet !== null && isCrdtOnlyUpdate(userDataKeys, crdtFieldSet);
697
+ if (existsDoc && options?.fieldTimestamps && isCrdtOnly) {
698
+ const freshDoc = await this.mongooseModel.findOne(baseFilter, { _field_meta: 1, _version_db_doc: 1 }, session ? { session } : undefined);
699
+ if (freshDoc) {
700
+ filter._version_db_doc = freshDoc._version_db_doc;
701
+ const freshFieldMeta = sanitizeFieldMeta(freshDoc._field_meta);
702
+ const freshMerged = { ...freshFieldMeta };
703
+ for (const [field, clientTs] of Object.entries(options.fieldTimestamps)) {
704
+ const serverTs = freshFieldMeta[field]?.ts ?? 0;
705
+ if (lwwFieldWinner(clientTs, serverTs) === CrdtResolutionWinner.INCOMING) {
706
+ freshMerged[field] = { ts: nextMonotonicTimestamp(Date.now(), serverTs), by: userId };
707
+ }
708
+ else {
709
+ delete dataWithUserTracking[field];
710
+ }
711
+ }
712
+ // D1: Schema-aware prune on retry path
713
+ const validCrdtKeysRetry = extractCrdtFieldNames(this.resourceConfiguration.mainSchema, false);
714
+ if (validCrdtKeysRetry.size > 0) {
715
+ for (const key of Object.keys(freshMerged)) {
716
+ if (!validCrdtKeysRetry.has(key))
717
+ delete freshMerged[key];
718
+ }
719
+ }
720
+ // S3: Cap _field_meta size on retry path
721
+ const retryMetaKeys = Object.keys(freshMerged);
722
+ if (retryMetaKeys.length > FIELD_META_CAP) {
723
+ const sorted = retryMetaKeys.sort((a, b) => (freshMerged[a].ts ?? 0) - (freshMerged[b].ts ?? 0));
724
+ const toEvict = sorted.slice(0, retryMetaKeys.length - FIELD_META_CAP);
725
+ for (const key of toEvict)
726
+ delete freshMerged[key];
727
+ }
728
+ dataWithUserTracking._field_meta = freshMerged;
729
+ document = await this.mongooseModel.findOneAndUpdate(filter, { $set: dataWithUserTracking, $inc: { _version_db_doc: 1 } }, mongooseOpts);
730
+ if (document) {
731
+ this.logDebug('CRDT LWW: retry succeeded after version conflict');
732
+ return this.transformDocumentToResponse(document, CoreResourceOperation.UPDATE);
733
+ }
734
+ // O1: retry was attempted (freshDoc found) but second findOneAndUpdate still lost the race
735
+ this.logger.warn('CRDT LWW retry exhausted — falling through to VERSION_CONFLICT', {
736
+ resourceId: String(baseFilter._id),
737
+ clientFields: options?.fieldTimestamps ? Object.keys(options.fieldTimestamps) : [],
738
+ });
739
+ }
740
+ // If freshDoc was null, fall through to 409 without O1 (could not refresh version / meta)
741
+ }
742
+ if (existsDoc) {
743
+ this.logDebug('Version conflict detected', {
744
+ ifMatchVersion: options.ifMatchVersion,
745
+ resourceId: baseFilter._id
746
+ });
747
+ throw this.errorBuilder.buildError(ErrorType.CONFLICT, executionContext, {
748
+ customMessageReference: ErrorCustomMessageReference.VERSION_CONFLICT,
749
+ context: {
750
+ resourceType: this.resourceConfiguration.resourceIdentifier,
751
+ ifMatchVersion: options.ifMatchVersion,
752
+ }
753
+ });
754
+ }
755
+ // Document truly doesn't exist — fall through to return null
756
+ // (service layer will throw NOT_FOUND)
757
+ }
758
+ return null;
759
+ }
760
+ return this.transformDocumentToResponse(document, CoreResourceOperation.UPDATE);
761
+ }
762
+ async _doUpdateMany(operation, executionContext, ids_or_filter, data, options) {
763
+ const { baseFilter } = this.buildBaseFilterFromIdOrIdsOrFilter(ids_or_filter, executionContext);
764
+ const session = this.getNativeSession(options);
765
+ this.logDebug('Updating multiple resources', { ids_or_filter, hasData: !!data, hasTransaction: !!session });
766
+ // Clean input data FIRST (remove mandatory discard fields)
767
+ const cleanedData = this.resourceOperationHelper.cleanInputData(data, CoreResourceOperation.UPDATE_MANY);
768
+ this.logDebug('Data cleaned for updateMany', { cleanedKeys: typeof cleanedData === 'object' ? Object.keys(cleanedData) : 'not-object' });
769
+ // Validate against request DTO (after cleaning)
770
+ const isBulkOperation = 'isBulkOperation' in operation && operation.isBulkOperation === true;
771
+ const validatedData = this.repositoriesRegistry.validateRepositoryWriteData(cleanedData, this.resourceConfiguration.resourceIdentifier, String(operation.operationIdentifier), isBulkOperation);
772
+ this.logDebug('Data validated against requestDto', { validatedKeys: typeof validatedData === 'object' ? Object.keys(validatedData) : 'not-object' });
773
+ // THEN apply execution context data enrichment to the validated data
774
+ const enrichedData = this.resourceOperationHelper.enrichDataWithContext(validatedData, executionContext, this.resourceConfiguration.mainSchema, this.resourceConfiguration.resourceFieldIdentifier, CoreResourceOperation.UPDATE_MANY, options);
775
+ this.logDebug('Data enriched with context', { enrichedKeys: typeof enrichedData === 'object' ? Object.keys(enrichedData) : 'not-object' });
776
+ // Add user tracking to enriched data
777
+ const dataWithUserTracking = this.addUserTracking(enrichedData, executionContext, CoreResourceOperation.UPDATE_MANY);
778
+ this.logDebug('User tracking added', { finalKeys: typeof dataWithUserTracking === 'object' ? Object.keys(dataWithUserTracking) : 'not-object' });
779
+ // Defense-in-depth: strip version fields from update data to prevent
780
+ // $set/$inc conflict on _version_db_doc in bulk updates too.
781
+ delete dataWithUserTracking._version_db_doc;
782
+ delete dataWithUserTracking._version;
783
+ const contextualFilter = this.buildContextualFilter(executionContext, baseFilter, options);
784
+ // Prepare mongoose options with transaction session if provided
785
+ const mongooseOpts = { runValidators: true };
786
+ if (session) {
787
+ mongooseOpts.session = session;
788
+ }
789
+ const findOpts = session ? { session } : {};
790
+ const matchedDocuments = await this.mongooseModel.find(contextualFilter, { _id: 1 }, findOpts);
791
+ const matchedIds = matchedDocuments
792
+ .map((doc) => doc?._id?.toString?.() ?? doc?._id)
793
+ .filter((id) => typeof id === 'string' && id.length > 0);
794
+ if (matchedIds.length === 0) {
795
+ return [];
796
+ }
797
+ const updateResult = await this.mongooseModel.updateMany(contextualFilter, { $set: dataWithUserTracking, $inc: { _version_db_doc: 1 } }, mongooseOpts);
798
+ this.logDebug('UpdateMany completed', {
799
+ filter: contextualFilter,
800
+ matchedCount: updateResult.matchedCount,
801
+ modifiedCount: updateResult.modifiedCount,
802
+ hasTransaction: !!session
803
+ });
804
+ if (updateResult.matchedCount === 0) {
805
+ return [];
806
+ }
807
+ // Re-read by stable ids rather than the original filter.
808
+ // Otherwise a patch that changes a matched filter field can make the follow-up
809
+ // find() return an empty set even though Mongo actually updated documents.
810
+ const updatedDocuments = await this.mongooseModel.find({ _id: { $in: matchedIds } }, null, findOpts);
811
+ const updatedDocumentsById = new Map(updatedDocuments.map((doc) => [
812
+ doc?._id?.toString?.() ?? doc?._id,
813
+ doc,
814
+ ]));
815
+ const orderedUpdatedDocuments = matchedIds
816
+ .map((id) => updatedDocumentsById.get(id))
817
+ .filter((doc) => !!doc);
818
+ return orderedUpdatedDocuments.map(doc => this.transformDocumentToResponse(doc, CoreResourceOperation.UPDATE_MANY));
819
+ }
820
+ async _doDelete(operation, executionContext, id_or_filter, options) {
821
+ // Prepare mongoose options with transaction session if provided
822
+ const session = this.getNativeSession(options);
823
+ const mongooseOpts = session ? { session } : {};
824
+ this.logDebug('Deleting resource', { id_or_filter, hasTransaction: !!session });
825
+ // Validate required parameter
826
+ this.validateIdOrIdsOrFilterRequired(id_or_filter, executionContext, CoreResourceOperation.DELETE);
827
+ // Build base filter - delete operation is always unitary (single entity)
828
+ const { baseFilter: deleteFilter } = this.buildBaseFilterFromIdOrIdsOrFilter(id_or_filter, executionContext);
829
+ const filter = this.buildContextualFilter(executionContext, deleteFilter, options);
830
+ // First, fetch the document to get its ID before deletion
831
+ const documentToDelete = await this.mongooseModel.findOne(filter, { _id: 1 }, mongooseOpts);
832
+ if (!documentToDelete) {
833
+ this.logDebug('No document found to delete', { filter });
834
+ return '';
835
+ }
836
+ const deletedId = documentToDelete._id.toString();
837
+ // Delete operation always deletes single entity
838
+ const result = await this.mongooseModel.deleteOne(filter, mongooseOpts);
839
+ this.logDebug('Single delete completed', {
840
+ filter,
841
+ deletedCount: result.deletedCount,
842
+ deletedId: deletedId,
843
+ hasTransaction: !!session
844
+ });
845
+ return deletedId;
846
+ }
847
+ async _doDeleteMany(operation, executionContext, ids_or_filter, options) {
848
+ // Prepare mongoose options with transaction session if provided
849
+ const session = this.getNativeSession(options);
850
+ const mongooseOpts = session ? { session } : {};
851
+ this.logDebug('Deleting multiple resources', { ids_or_filter, hasTransaction: !!session });
852
+ // Validate required parameter for deleteMany operation
853
+ this.validateIdOrIdsOrFilterRequired(ids_or_filter, executionContext, CoreResourceOperation.DELETE_MANY);
854
+ // Build base filter for multiple deletions - this handles IdsOrFilterType
855
+ const { baseFilter } = this.buildBaseFilterFromIdOrIdsOrFilter(ids_or_filter, executionContext);
856
+ // Apply contextual filtering
857
+ const contextualFilter = this.buildContextualFilter(executionContext, baseFilter, options);
858
+ // First, fetch all documents that match the filter to get their IDs before deletion
859
+ const documentsToDelete = await this.mongooseModel.find(contextualFilter, { _id: 1 }, mongooseOpts);
860
+ if (!documentsToDelete || documentsToDelete.length === 0) {
861
+ this.logDebug('No documents found to delete', { contextualFilter });
862
+ return [];
863
+ }
864
+ const deletedIds = documentsToDelete.map(doc => doc._id.toString());
865
+ // Perform multiple deletions using deleteMany
866
+ const result = await this.mongooseModel.deleteMany(contextualFilter, mongooseOpts);
867
+ this.logDebug('Multiple delete completed', {
868
+ contextualFilter,
869
+ deletedCount: result.deletedCount,
870
+ deletedIds: deletedIds,
871
+ hasTransaction: !!session
872
+ });
873
+ return deletedIds;
874
+ }
875
+ async _doList(operation, executionContext, ids_or_filter, options) {
876
+ // Validate required parameter
877
+ this.validateIdOrIdsOrFilterRequired(ids_or_filter, executionContext, CoreResourceOperation.LIST);
878
+ // Build base filter
879
+ const { baseFilter } = this.buildBaseFilterFromIdOrIdsOrFilter(ids_or_filter, executionContext);
880
+ const contextualFilter = this.buildContextualFilter(executionContext, baseFilter, options);
881
+ // Build projection from operation's responseDto
882
+ const projection = this.buildMongoProjectionFromResponseDto(operation);
883
+ // Check if pagination wrapper is requested
884
+ const paginated = options?.paginated ?? false;
885
+ const listOptions = options?.listOptions;
886
+ const hasPagination = listOptions?.page !== undefined || listOptions?.limit !== undefined;
887
+ // Only count documents if we need pagination metadata
888
+ let total = 0;
889
+ let page = 1;
890
+ let limit = 0;
891
+ let skip = 0;
892
+ let totalPages = 1;
893
+ if (paginated || hasPagination) {
894
+ total = await this.mongooseModel.countDocuments(contextualFilter).exec();
895
+ page = hasPagination ? Math.max(1, listOptions?.page || 1) : 1;
896
+ limit = hasPagination ? Math.min(100, Math.max(1, listOptions?.limit || 20)) : total || 1;
897
+ skip = (page - 1) * limit;
898
+ totalPages = limit > 0 ? Math.ceil(total / limit) : 1;
899
+ }
900
+ // Get session for transaction support
901
+ const session = this.getNativeSession(options);
902
+ this.logDebug('Listing resources', {
903
+ ids_or_filter,
904
+ paginated,
905
+ hasPagination,
906
+ page,
907
+ limit,
908
+ skip,
909
+ total,
910
+ hasTransaction: !!session
911
+ });
912
+ // Prepare query with projection and transaction session
913
+ let query = this.mongooseModel
914
+ .find(contextualFilter, projection)
915
+ .sort({ createdAt: -1 });
916
+ // Apply pagination only if requested
917
+ if (hasPagination) {
918
+ query = query.skip(skip).limit(limit);
919
+ }
920
+ if (session) {
921
+ query = query.session(session);
922
+ }
923
+ const documents = await query.exec();
924
+ const data = documents.map(doc => this.transformDocumentToResponse(doc, CoreResourceOperation.LIST));
925
+ this.logDebug('List result', {
926
+ filter: contextualFilter,
927
+ count: data.length,
928
+ paginated,
929
+ pagination: paginated ? { page, limit, total, totalPages } : undefined,
930
+ sample: this.previewDocument(documents[0]),
931
+ hasTransaction: !!session
932
+ });
933
+ // Return raw array by default, or with pagination wrapper if requested
934
+ if (paginated) {
935
+ return {
936
+ data,
937
+ pagination: { page, limit: limit || data.length, total: total || data.length, totalPages }
938
+ };
939
+ }
940
+ return data;
941
+ }
942
+ async _doSearch(operation, executionContext, searchQuery, filter = {}, options) {
943
+ // Get session for transaction support
944
+ const session = this.getNativeSession(options);
945
+ // Find the search operation configuration
946
+ const searchConfig = this.findSearchOperationConfiguration();
947
+ if (!searchConfig) {
948
+ const error = this.errorBuilder.buildError(ErrorType.NOT_FOUND, executionContext, {
949
+ customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_SEARCH_NOT_CONFIGURED,
950
+ });
951
+ throw error;
952
+ }
953
+ const op = searchConfig;
954
+ if (!op.isSearchable) {
955
+ const error = this.errorBuilder.buildError(ErrorType.BUSINESS_RULE, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_SEARCH_NOT_ENABLED });
956
+ throw error;
957
+ }
958
+ const page = Math.max(1, options.searchOptions.page || 1);
959
+ const maxLimit = op.maxPaginatedResultPerPageLimit || 50;
960
+ const limit = Math.min(maxLimit, Math.max(1, options.searchOptions.limit || 20));
961
+ const skip = (page - 1) * limit;
962
+ this.logDebug('Searching resources with configuration', {
963
+ searchQuery, filter, page, limit, maxLimit,
964
+ searchableFields: op.searchableFields,
965
+ isSearchable: op.isSearchable,
966
+ hasTransaction: !!session
967
+ });
968
+ // Build advanced search filter using configuration
969
+ const searchFilter = this.constructSearchQuery(searchQuery, searchConfig);
970
+ const validatedFilter = this.sanitizeRequestFilter(filter, searchConfig);
971
+ const combinedFilter = { ...validatedFilter, ...searchFilter };
972
+ const contextualFilter = this.buildContextualFilter(executionContext, combinedFilter, options);
973
+ // Build sort options using configuration
974
+ const sortOptions = this.constructValidatedSortOptions(options.searchOptions.sort, searchConfig);
975
+ // Build projection from operation's responseDto
976
+ const projection = this.buildMongoProjectionFromResponseDto(operation);
977
+ // Prepare mongoose queries with projection and transaction session if provided
978
+ let findQuery = this.mongooseModel
979
+ .find(contextualFilter, projection)
980
+ .sort(sortOptions)
981
+ .skip(skip)
982
+ .limit(limit);
983
+ let countQuery = this.mongooseModel.countDocuments(contextualFilter);
984
+ if (session) {
985
+ findQuery = findQuery.session(session);
986
+ countQuery = countQuery.session(session);
987
+ }
988
+ const [documents, total] = await Promise.all([
989
+ findQuery.exec(),
990
+ countQuery.exec()
991
+ ]);
992
+ const data = documents.map(doc => this.transformDocumentToResponse(doc, CoreResourceOperation.SEARCH));
993
+ return {
994
+ data,
995
+ pagination: { page, limit, total, totalPages: Math.ceil(total / limit) }
996
+ };
997
+ }
998
+ async _doCount(operation, executionContext, filter = {}, options) {
999
+ const session = this.getNativeSession(options);
1000
+ this.logDebug('Counting resources', { filter, hasTransaction: !!session });
1001
+ const contextualFilter = this.buildContextualFilter(executionContext, filter, options);
1002
+ // Prepare count query with transaction session if provided
1003
+ let countQuery = this.mongooseModel.countDocuments(contextualFilter);
1004
+ if (session) {
1005
+ countQuery = countQuery.session(session);
1006
+ }
1007
+ const count = await countQuery.exec();
1008
+ this.logDebug('Count result', {
1009
+ filter: contextualFilter,
1010
+ count,
1011
+ hasTransaction: !!session
1012
+ });
1013
+ return { count };
1014
+ }
1015
+ // ================================
1016
+ // Helper Methods
1017
+ // ================================
1018
+ /**
1019
+ * Format a string ID for MongoDB queries.
1020
+ * Uses ResourceIdBackendService if available, falls back to direct ObjectId creation.
1021
+ *
1022
+ * @param id - The string ID to format
1023
+ * @returns The formatted ID (Types.ObjectId for MongoDB)
1024
+ */
1025
+ formatIdForQuery(id) {
1026
+ if (this.resourceIdService) {
1027
+ return this.resourceIdService.formatForQuery(id);
1028
+ }
1029
+ // Fallback for backward compatibility when service not available
1030
+ return new Types.ObjectId(id);
1031
+ }
1032
+ /**
1033
+ * Utility function to build a base filter from IdOrIdsOrFilterType
1034
+ * @param id_or_ids_or_filter - The input parameter to process
1035
+ * @param executionContext - Execution context for error handling
1036
+ * @returns Object containing the base filter and whether it represents multiple items
1037
+ */
1038
+ buildBaseFilterFromIdOrIdsOrFilter(id_or_ids_or_filter, executionContext) {
1039
+ let baseFilter = {};
1040
+ let isMultiple = false;
1041
+ if (!id_or_ids_or_filter) {
1042
+ return { baseFilter, isMultiple };
1043
+ }
1044
+ if (typeof id_or_ids_or_filter === 'string') {
1045
+ // Single ID
1046
+ baseFilter = { _id: this.formatIdForQuery(id_or_ids_or_filter) };
1047
+ isMultiple = false;
1048
+ }
1049
+ else if (Array.isArray(id_or_ids_or_filter)) {
1050
+ // Multiple IDs
1051
+ if (id_or_ids_or_filter.length > 0) {
1052
+ const objectIds = id_or_ids_or_filter.map(singleId => this.formatIdForQuery(singleId));
1053
+ baseFilter = { _id: { $in: objectIds } };
1054
+ }
1055
+ isMultiple = true;
1056
+ }
1057
+ else if (typeof id_or_ids_or_filter === 'object' && !Array.isArray(id_or_ids_or_filter)) {
1058
+ // Handle different object types
1059
+ if ('id_or_ids' in id_or_ids_or_filter) {
1060
+ // Combined object with id_or_ids and optional filter
1061
+ const { id_or_ids: ids, filter } = id_or_ids_or_filter;
1062
+ if (typeof ids === 'string') {
1063
+ baseFilter = { _id: this.formatIdForQuery(ids) };
1064
+ isMultiple = false;
1065
+ }
1066
+ else if (Array.isArray(ids) && ids.length > 0) {
1067
+ const objectIds = ids.map(singleId => this.formatIdForQuery(singleId));
1068
+ baseFilter = { _id: { $in: objectIds } };
1069
+ isMultiple = true;
1070
+ }
1071
+ // Merge additional filter if present
1072
+ if (filter && Object.keys(filter).length > 0) {
1073
+ baseFilter = { ...baseFilter, ...filter };
1074
+ isMultiple = true; // Combined filters usually imply multiple results
1075
+ }
1076
+ }
1077
+ else {
1078
+ // Direct FilterQuery object
1079
+ baseFilter = id_or_ids_or_filter;
1080
+ isMultiple = true; // Filter queries usually imply multiple results
1081
+ }
1082
+ }
1083
+ else {
1084
+ throw this.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { message: 'Invalid id_or_ids_or_filter format' } });
1085
+ }
1086
+ return { baseFilter, isMultiple };
1087
+ }
1088
+ canReadViaContextWithoutExplicitId(operation, executionContext) {
1089
+ const contextResourceIds = executionContext.getContextResourceIds();
1090
+ if (contextResourceIds.size === 0) {
1091
+ return false;
1092
+ }
1093
+ const initiatorInfos = 'initiatorInfos' in operation ? operation.initiatorInfos : undefined;
1094
+ if (!initiatorInfos || initiatorInfos.length === 0) {
1095
+ return false;
1096
+ }
1097
+ return initiatorInfos.some((initiatorInfo) => {
1098
+ const parameters = initiatorInfo.parameters ?? [];
1099
+ return (parameters.length > 0
1100
+ && !parameters.some((parameter) => parameter.fieldIdentifier === operation.resourceFieldIdentifier)
1101
+ && parameters.every((parameter) => contextResourceIds.has(parameter.fieldIdentifier)));
1102
+ });
1103
+ }
1104
+ /**
1105
+ * Utility function to validate that id_or_ids_or_filter parameter is provided
1106
+ * @param id_or_ids_or_filter - The parameter to validate
1107
+ * @param executionContext - Execution context for error handling
1108
+ * @param operationName - Name of the operation for error messages
1109
+ */
1110
+ validateIdOrIdsOrFilterRequired(id_or_ids_or_filter, executionContext, operationName, allowContextOnlyRead = false) {
1111
+ if (!id_or_ids_or_filter) {
1112
+ if (operationName === CoreResourceOperation.READ && allowContextOnlyRead) {
1113
+ return;
1114
+ }
1115
+ throw this.errorBuilder.buildError(ErrorType.VALIDATION, executionContext, { customMessageReference: ErrorCustomMessageReference.REPOSITORY_RESOURCE_OPERATION_FAILED, context: { message: `${operationName} requires id_or_ids_or_filter parameter` } });
1116
+ }
1117
+ }
1118
+ /**
1119
+ * Escapes special regex characters in search query to prevent regex injection
1120
+ * @param text - The text to escape
1121
+ * @returns Escaped text safe for regex
1122
+ */
1123
+ escapeRegex(text) {
1124
+ return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1125
+ }
1126
+ /**
1127
+ * Extract projection fields from operation's responseDto for MongoDB field selection
1128
+ * @param operation - The operation to extract responseDto fields from
1129
+ * @returns MongoDB projection object or null if no responseDto is defined
1130
+ */
1131
+ buildMongoProjectionFromResponseDto(operation) {
1132
+ // Prefer repositoryDto over responseDto
1133
+ // repositoryDto excludes virtual fields and populated placeholders,
1134
+ // but includes virtual field dependencies
1135
+ const dtoToUse = operation.repositoryDto ?? operation.responseDto;
1136
+ if (!dtoToUse) {
1137
+ this.logDebug('No responseDto/repositoryDto found in operation, using full document projection');
1138
+ return null;
1139
+ }
1140
+ try {
1141
+ // Parse the DTO to extract field names
1142
+ const responseSchema = dtoToUse;
1143
+ // For Zod schemas, we can use the shape property to get field names
1144
+ if (responseSchema && typeof responseSchema === 'object' && 'shape' in responseSchema) {
1145
+ const shape = responseSchema.shape;
1146
+ const projection = {};
1147
+ Object.keys(shape).forEach(fieldName => {
1148
+ projection[fieldName] = 1;
1149
+ });
1150
+ this.logDebug('Built projection from responseDto', {
1151
+ operationIdentifier: operation.operationIdentifier,
1152
+ projectionFields: Object.keys(projection)
1153
+ });
1154
+ return projection;
1155
+ }
1156
+ // If we can't extract fields from the schema, fall back to full document
1157
+ this.logDebug('Unable to extract fields from responseDto, using full document projection', {
1158
+ operationIdentifier: operation.operationIdentifier,
1159
+ responseDtoType: typeof responseSchema
1160
+ });
1161
+ return null;
1162
+ }
1163
+ catch (error) {
1164
+ this.logDebug('Error extracting projection from responseDto, using full document', {
1165
+ operationIdentifier: operation.operationIdentifier,
1166
+ error: error instanceof Error ? error.message : 'Unknown error'
1167
+ });
1168
+ return null;
1169
+ }
1170
+ }
1171
+ /**
1172
+ * Build contextual filter based on execution context with schema validation and blacklist support
1173
+ * @param executionContext - The execution context containing resource IDs
1174
+ * @param baseFilter - The base filter to enhance with context
1175
+ * @param options - Repository options containing exclusion rules
1176
+ * @returns Enhanced filter with context information
1177
+ */
1178
+ buildContextualFilter(executionContext, baseFilter, options) {
1179
+ const contextualFilter = { ...baseFilter };
1180
+ // Check if contextual filtering should be excluded
1181
+ if (options?.excludeContextualFilter === true) {
1182
+ // Skip all contextual filtering if explicitly disabled
1183
+ this.logDebug('Contextual filtering disabled, returning base filter only');
1184
+ return contextualFilter;
1185
+ }
1186
+ // Determine blacklisted fields
1187
+ const blacklistedFields = new Set();
1188
+ // Always exclude the resource's own resourceFieldIdentifier to avoid self-reference in filtering
1189
+ blacklistedFields.add(this.resourceConfiguration.resourceFieldIdentifier);
1190
+ // Add custom blacklisted fields if provided
1191
+ if (Array.isArray(options?.excludeContextualFilter)) {
1192
+ options.excludeContextualFilter.forEach(field => blacklistedFields.add(field));
1193
+ }
1194
+ // Add context resource filters (with nested path support, schema validation and blacklist filtering)
1195
+ const contextResourceIds = executionContext.getContextResourceIds();
1196
+ contextResourceIds.forEach((resourceId, fieldIdentifier) => {
1197
+ // Skip if field is blacklisted
1198
+ if (blacklistedFields.has(fieldIdentifier)) {
1199
+ this.logDebug('Skipping blacklisted field in contextual filter', { fieldIdentifier });
1200
+ return;
1201
+ }
1202
+ // Find all schema paths that end with this field identifier (including nested paths)
1203
+ const matchingPaths = this.resourceOperationHelper.findRequiredNestedFieldPathsFromZodSchema(this.resourceConfiguration.mainSchema, fieldIdentifier, executionContext, {
1204
+ reason: 'context_filter',
1205
+ resourceIdentifier: this.resourceConfiguration.resourceIdentifier,
1206
+ message: `Execution context field '${fieldIdentifier}' is missing from schema for resource '${this.resourceConfiguration.resourceIdentifier}' during contextual filtering`,
1207
+ });
1208
+ // Process each matching path
1209
+ matchingPaths.forEach(fullPath => {
1210
+ // Only add if not already present in filter (check nested path)
1211
+ if (!this.resourceOperationHelper.hasNestedPath(contextualFilter, fullPath)) {
1212
+ this.resourceOperationHelper.setNestedValue(contextualFilter, fullPath, resourceId);
1213
+ this.logDebug('Added contextual filter to nested path', { fieldIdentifier, fullPath, resourceId });
1214
+ }
1215
+ else {
1216
+ this.logDebug('Skipping contextual filter - already present in filter', { fieldIdentifier, fullPath });
1217
+ }
1218
+ });
1219
+ });
1220
+ // Defense-in-depth: enforce userId = null for ANONYMOUS scope on isAnonymizable resources.
1221
+ // Prevents any anonymous query from seeing authenticated users' data even if scoping is bypassed.
1222
+ if (executionContext.isAnonymousExecution() && this.resourceConfiguration.isAnonymizable) {
1223
+ const userPaths = this.resourceOperationHelper.findNestedFieldPathsFromZodSchema(this.resourceConfiguration.mainSchema, 'userId');
1224
+ userPaths.forEach(fullPath => {
1225
+ this.resourceOperationHelper.setNestedValue(contextualFilter, fullPath, null);
1226
+ });
1227
+ }
1228
+ // Apply FK relationship filters from relationship contexts
1229
+ // This handles cases like /assigned-to-users/{userId}/todos where we need to filter by assignedToUserId
1230
+ this.applyFKRelationshipFilters(executionContext, contextualFilter, blacklistedFields);
1231
+ return contextualFilter;
1232
+ }
1233
+ /**
1234
+ * Apply FK relationship filters from ExecutionContext.relationshipContexts
1235
+ *
1236
+ * When a resource is accessed via a FK relationship path (e.g., /assigned-to-users/{userId}/todos),
1237
+ * this method adds the appropriate filter to ensure only resources matching the FK field are returned.
1238
+ *
1239
+ * For example:
1240
+ * - URL: /assigned-to-users/{userId}/todos
1241
+ * - relationshipContext: { resourceType: 'USERS', relationshipField: 'assignedToUserId', resourceId: '123' }
1242
+ * - Filter added: { assignedToUserId: '123' }
1243
+ */
1244
+ applyFKRelationshipFilters(executionContext, filter, blacklistedFields) {
1245
+ const relationshipContexts = executionContext.relationshipContexts;
1246
+ if (!relationshipContexts || relationshipContexts.length === 0) {
1247
+ return;
1248
+ }
1249
+ for (const relationshipContext of relationshipContexts) {
1250
+ const { relationshipField, resourceId } = relationshipContext;
1251
+ // Only apply for FK relationships (those with a relationshipField defined)
1252
+ // Standard parent relationships are handled by the contextResourceIds loop above
1253
+ if (!relationshipField) {
1254
+ continue;
1255
+ }
1256
+ // Skip if field is blacklisted
1257
+ if (blacklistedFields.has(relationshipField)) {
1258
+ this.logDebug('Skipping blacklisted FK relationship field in filter', { relationshipField });
1259
+ continue;
1260
+ }
1261
+ // Find all schema paths that match this FK field
1262
+ const matchingPaths = this.resourceOperationHelper.findRequiredNestedFieldPathsFromZodSchema(this.resourceConfiguration.mainSchema, relationshipField, executionContext, {
1263
+ reason: 'fk_filter',
1264
+ resourceIdentifier: this.resourceConfiguration.resourceIdentifier,
1265
+ message: `Relationship field '${relationshipField}' is missing from schema for resource '${this.resourceConfiguration.resourceIdentifier}' during FK-path filtering`,
1266
+ });
1267
+ // Apply filter for each matching path
1268
+ matchingPaths.forEach(fullPath => {
1269
+ if (!this.resourceOperationHelper.hasNestedPath(filter, fullPath)) {
1270
+ this.resourceOperationHelper.setNestedValue(filter, fullPath, resourceId);
1271
+ this.logDebug('Added FK relationship filter', { relationshipField, fullPath, resourceId });
1272
+ }
1273
+ else {
1274
+ this.logDebug('Skipping FK relationship filter - already present', { relationshipField, fullPath });
1275
+ }
1276
+ });
1277
+ }
1278
+ }
1279
+ /**
1280
+ * Check if a field exists in the mongoose model schema
1281
+ */
1282
+ hasSchemaField(fieldName) {
1283
+ if (!this.mongooseModel?.schema?.paths) {
1284
+ return false;
1285
+ }
1286
+ return this.mongooseModel.schema.paths[fieldName] !== undefined;
1287
+ }
1288
+ /**
1289
+ * Handle MongoDB errors and convert them to application-specific errors.
1290
+ * Specifically handles unique constraint violations (E11000 duplicate key error).
1291
+ *
1292
+ * @param error - The error caught from MongoDB operation
1293
+ * @param executionContext - The execution context for error building
1294
+ * @returns The original error or a transformed application error
1295
+ */
1296
+ handleMongoDBError(error, executionContext) {
1297
+ // Check for MongoDB duplicate key error (E11000)
1298
+ const isMongoError = error && typeof error === 'object' && 'code' in error;
1299
+ if (isMongoError && error.code === 11000) {
1300
+ // Extract field name from the error message
1301
+ // MongoDB error message format: "E11000 duplicate key error collection: db.collection index: fieldName_1 dup key: { fieldName: "value" }"
1302
+ const errorMessage = error.message || '';
1303
+ const keyValueMatch = errorMessage.match(/dup key: \{ ([^:]+):/);
1304
+ const fieldName = keyValueMatch ? keyValueMatch[1].trim() : 'unknown';
1305
+ // Extract the duplicate value if present
1306
+ const valueMatch = errorMessage.match(/dup key: \{ [^:]+: "([^"]+)" \}/);
1307
+ const duplicateValue = valueMatch ? valueMatch[1] : undefined;
1308
+ return this.errorBuilder.buildError(ErrorType.CONFLICT, executionContext, {
1309
+ customMessageReference: ErrorCustomMessageReference.UNIQUE_CONSTRAINT_VIOLATION,
1310
+ context: {
1311
+ resourceType: this.resourceConfiguration.resourceIdentifier,
1312
+ fieldName,
1313
+ duplicateValue,
1314
+ originalError: errorMessage
1315
+ }
1316
+ });
1317
+ }
1318
+ // Return the original error if not a unique constraint violation
1319
+ return error instanceof Error ? error : new Error(String(error));
1320
+ }
1321
+ /**
1322
+ * Add user tracking to enriched data (timestamps are handled automatically by MongoDB)
1323
+ * @param enrichedData - The data to add user tracking to
1324
+ * @param executionContext - The execution context containing user info
1325
+ * @param operation - The operation being performed
1326
+ * @returns Data with user tracking added
1327
+ */
1328
+ addUserTracking(enrichedData, executionContext, operation) {
1329
+ // Note: createdAt and updatedAt timestamps are handled automatically by MongoDB, so we don't add them here
1330
+ // Add operation-specific user tracking if userId is available in execution context
1331
+ const userId = executionContext.initiatorIds?.userId;
1332
+ if (userId) {
1333
+ // For CREATE operations: populate createdByUserId if field exists in database schema
1334
+ if (operation === CoreResourceOperation.CREATE || operation === CoreResourceOperation.CREATE_MANY) {
1335
+ if (this.hasSchemaField('createdByUserId') && !enrichedData.createdByUserId) {
1336
+ enrichedData.createdByUserId = userId;
1337
+ }
1338
+ }
1339
+ // For UPDATE operations: populate updatedByUserId or lastUpdatedByUserId if field exists in database schema
1340
+ if (operation === CoreResourceOperation.UPDATE || operation === CoreResourceOperation.UPDATE_MANY) {
1341
+ // Try updatedByUserId first, then lastUpdatedByUserId as fallback
1342
+ if (this.hasSchemaField('updatedByUserId') && !enrichedData.updatedByUserId) {
1343
+ enrichedData.updatedByUserId = userId;
1344
+ }
1345
+ else if (this.hasSchemaField('lastUpdatedByUserId') && !enrichedData.lastUpdatedByUserId) {
1346
+ enrichedData.lastUpdatedByUserId = userId;
1347
+ }
1348
+ }
1349
+ }
1350
+ return enrichedData;
1351
+ }
1352
+ /**
1353
+ * Transform mongoose document to response format using operation DTO
1354
+ */
1355
+ transformDocumentToResponse(document, operationIdentifier) {
1356
+ if (!document) {
1357
+ return null;
1358
+ }
1359
+ // Convert mongoose document to plain object with error handling
1360
+ let plainObject;
1361
+ try {
1362
+ plainObject = document.toObject ? document.toObject() : document;
1363
+ }
1364
+ catch (error) {
1365
+ this.logDebug('Document toObject() failed, using document as-is', {
1366
+ operationIdentifier,
1367
+ error: error instanceof Error ? error.message : 'Unknown error'
1368
+ });
1369
+ plainObject = document;
1370
+ }
1371
+ // Map _version_db_doc to _version for API responses, then remove internal field name
1372
+ if (plainObject && typeof plainObject === 'object') {
1373
+ if (plainObject._version_db_doc !== undefined) {
1374
+ plainObject._version = plainObject._version_db_doc;
1375
+ }
1376
+ delete plainObject._version_db_doc;
1377
+ }
1378
+ // Transforming to response DTO is the role of the service layer
1379
+ return plainObject;
1380
+ }
1381
+ previewDocument(document) {
1382
+ if (!document)
1383
+ return null;
1384
+ const obj = document.toObject ? document.toObject() : document;
1385
+ // Limit preview size and hide potentially large fields
1386
+ const clone = { ...obj };
1387
+ Object.keys(clone).forEach((k) => {
1388
+ const v = clone[k];
1389
+ if (v && typeof v === 'object') {
1390
+ if (Array.isArray(v)) {
1391
+ clone[k] = `[Array(${v.length})]`;
1392
+ }
1393
+ else {
1394
+ clone[k] = '[Object]';
1395
+ }
1396
+ }
1397
+ });
1398
+ return clone;
1399
+ }
1400
+ // ================================
1401
+ // Search Configuration Methods
1402
+ // ================================
1403
+ /**
1404
+ * Retrieves the search operation configuration for this resource.
1405
+ * Uses structural narrowing — SEARCH operations are API_CALL operations
1406
+ * with collection-view fields (filterFields, sortFields, etc.) flattened by the factory.
1407
+ */
1408
+ findSearchOperationConfiguration() {
1409
+ return Array.from(this.operationsMap.values()).find(operation => operation.operationIdentifier === CoreResourceOperation.SEARCH) ?? null;
1410
+ }
1411
+ /**
1412
+ * Constructs MongoDB search filter based on query string and searchable field configuration
1413
+ * @param searchQuery - The search query string
1414
+ * @param searchConfig - The search operation configuration
1415
+ * @returns MongoDB filter query for search
1416
+ */
1417
+ constructSearchQuery(searchQuery, searchConfig) {
1418
+ if (!searchQuery?.trim()) {
1419
+ return {};
1420
+ }
1421
+ const op = searchConfig;
1422
+ const searchableFields = op.searchableFields;
1423
+ const searchableOptions = op.searchableOptions;
1424
+ if (!searchableFields?.length) {
1425
+ return { $text: { $search: searchQuery } };
1426
+ }
1427
+ const searchConditions = this.buildFieldSearchConditions(searchQuery, searchableFields, searchableOptions);
1428
+ return searchConditions.length > 1
1429
+ ? { $or: searchConditions }
1430
+ : searchConditions[0] || {};
1431
+ }
1432
+ /**
1433
+ * Builds individual field search conditions based on searchable options
1434
+ * @param searchQuery - The search query string
1435
+ * @param searchableFields - Array of fields that can be searched
1436
+ * @param searchableOptions - Search behavior options
1437
+ * @returns Array of MongoDB field conditions
1438
+ */
1439
+ buildFieldSearchConditions(searchQuery, searchableFields, searchableOptions) {
1440
+ const caseSensitive = searchableOptions?.caseSensitive || false;
1441
+ const fullMatchOnly = searchableOptions?.fullMatchOnly || false;
1442
+ return searchableFields.map((field) => {
1443
+ if (fullMatchOnly) {
1444
+ return caseSensitive
1445
+ ? { [field]: searchQuery }
1446
+ : { [field]: { $regex: `^${this.escapeRegex(searchQuery)}$`, $options: 'i' } };
1447
+ }
1448
+ else {
1449
+ return caseSensitive
1450
+ ? { [field]: { $regex: this.escapeRegex(searchQuery) } }
1451
+ : { [field]: { $regex: this.escapeRegex(searchQuery), $options: 'i' } };
1452
+ }
1453
+ });
1454
+ }
1455
+ /**
1456
+ * Validates and filters the provided filter object against allowed filter fields configuration
1457
+ * @param requestedFilter - The filter object from the request
1458
+ * @param searchConfig - The search operation configuration
1459
+ * @returns Validated and sanitized filter object
1460
+ */
1461
+ sanitizeRequestFilter(requestedFilter, searchConfig) {
1462
+ if (!requestedFilter || Object.keys(requestedFilter).length === 0) {
1463
+ return {};
1464
+ }
1465
+ const { filterFields } = searchConfig;
1466
+ // If no filter fields configured, return filter as-is (fallback behavior)
1467
+ if (!filterFields || Object.keys(filterFields).length === 0) {
1468
+ return requestedFilter;
1469
+ }
1470
+ // Only include fields that are explicitly allowed in the configuration
1471
+ const sanitizedFilter = {};
1472
+ Object.entries(requestedFilter).forEach(([fieldName, fieldValue]) => {
1473
+ if (filterFields[fieldName]) {
1474
+ sanitizedFilter[fieldName] = fieldValue;
1475
+ }
1476
+ // Note: Invalid fields are silently ignored for security
1477
+ });
1478
+ return sanitizedFilter;
1479
+ }
1480
+ /**
1481
+ * Constructs validated sort options based on allowed sort fields configuration
1482
+ * @param requestedSort - The sort object from the request
1483
+ * @param searchConfig - The search operation configuration
1484
+ * @returns Validated MongoDB sort object
1485
+ */
1486
+ constructValidatedSortOptions(requestedSort, searchConfig) {
1487
+ const { sortFields } = searchConfig;
1488
+ const defaultSort = { createdAt: -1 };
1489
+ // If no sort fields configured, use requested sort or default
1490
+ if (!sortFields?.length) {
1491
+ return requestedSort || defaultSort;
1492
+ }
1493
+ // If no sort requested, use first configured sort field
1494
+ if (!requestedSort) {
1495
+ const firstSortField = sortFields[0];
1496
+ return { [firstSortField]: -1 };
1497
+ }
1498
+ // Validate requested sort fields against configuration
1499
+ const validatedSort = {};
1500
+ Object.entries(requestedSort).forEach(([fieldName, sortDirection]) => {
1501
+ if (sortFields.includes(fieldName) && (sortDirection === 1 || sortDirection === -1)) {
1502
+ validatedSort[fieldName] = sortDirection;
1503
+ }
1504
+ });
1505
+ // Return validated sort or fallback to default
1506
+ return Object.keys(validatedSort).length > 0 ? validatedSort : defaultSort;
1507
+ }
1508
+ }
1509
+ //# sourceMappingURL=repository-resource.backend.service.js.map