@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,2486 @@
1
+ import { injectable, inject } from 'inversify';
2
+ import { Schema, Model, Document, Connection, Types } from 'mongoose';
3
+ import { z } from 'zod';
4
+ import {
5
+ ResourceConfiguration,
6
+ ResourceType,
7
+
8
+ CoreResourceOperation,
9
+ CoreResourceType,
10
+ ErrorType,
11
+ ErrorCustomMessageReference,
12
+ } from '@wildo-ai/saas-models';
13
+
14
+
15
+ import {
16
+ isZodPipe,
17
+ getPipeInputSchema,
18
+ isZodObject,
19
+ getZodType,
20
+ EnumLikeType,
21
+ hasZodType,
22
+ isZodArray,
23
+ isZodOptional,
24
+ isZodNullable,
25
+ isZodDefault,
26
+ getZodDefSchemaProperty,
27
+ getZodDefArrayProperty,
28
+ getZodDefStringProperty,
29
+ getZodDefFunctionProperty,
30
+ getZodDefProperty,
31
+ getZodDef,
32
+ getZodObjectShape,
33
+ isZodTransform,
34
+ isZodCustom,
35
+ isZodTuple,
36
+ isDiscriminatedUnion,
37
+ isZodUnion,
38
+ isZodIntersection,
39
+ isZodLiteral,
40
+ isZodLazy,
41
+ isZodTypeAny,
42
+ isZodRecord,
43
+ isZodSet,
44
+ isDBIndexed,
45
+ isForeignKey,
46
+ unwrapSchema,
47
+ getEnumValues,
48
+ isUnique,
49
+ getUniqueParams,
50
+ UniqueFieldParams,
51
+ isPrimaryKey,
52
+ hasTtl,
53
+ getTtlParams,
54
+ TtlFieldParams,
55
+ } from '@wildo-ai/zod-decorators';
56
+
57
+ import {
58
+ SCHEMA_DEFAULT_OPTIONS,
59
+ SCHEMA_SUBDOCUMENT_OPTIONS,
60
+ initModelFromSchema
61
+ } from './db-utils';
62
+
63
+ import { SAAS_SERVICE_TYPES } from '~wildo-backend-lib/inject/models/service-types';
64
+ import { LoggerService } from '~wildo-backend-lib/monitoring/logger/services/logger.service';
65
+ import { ErrorBuilderBackendService } from '~wildo-backend-lib/errors/services/error-builder.backend.service';
66
+
67
+
68
+ /**
69
+ * Interface for union inheritance schema information (not model instances)
70
+ * Represents different inheritance options in a discriminated union
71
+ */
72
+ export interface UnionInheritance_SchemaInfo {
73
+ discriminatorKey: string;
74
+ discriminatorValue: string;
75
+ schema: Schema;
76
+ zodSchema: z.ZodTypeAny;
77
+ }
78
+
79
+ /**
80
+ * Options for schema conversion
81
+ */
82
+ export interface SchemaConversionOptions {
83
+ includeIndexes?: boolean;
84
+ applyDefaults?: boolean;
85
+ maxDepth?: number;
86
+ connection?: Connection; // optional connection to bind model creation
87
+ }
88
+
89
+ /**
90
+ * Info for unique index application
91
+ */
92
+ export interface UniqueIndexInfo {
93
+ path: string;
94
+ params: UniqueFieldParams;
95
+ }
96
+
97
+ /**
98
+ * Info for TTL (Time To Live) index application.
99
+ * MongoDB will automatically delete documents when the TTL expires.
100
+ */
101
+ export interface TtlIndexInfo {
102
+ path: string;
103
+ params: TtlFieldParams;
104
+ }
105
+
106
+ /**
107
+ * Interface for generated model information (for debugging)
108
+ */
109
+ export interface GeneratedModelInfo {
110
+ resourceType: ResourceType;
111
+ modelName: string;
112
+ mainModel: Model<any & Document>;
113
+ inheritanceSchemas: UnionInheritance_SchemaInfo[];
114
+ inheritanceModels: Model<any & Document>[];
115
+ schemaFieldCount: number;
116
+ indexCount: number;
117
+ conversionOptions: SchemaConversionOptions;
118
+ createdAt: Date;
119
+ }
120
+
121
+ /**
122
+ * Debug statistics for model generation
123
+ */
124
+ export interface ModelGenerationStats {
125
+ totalResources: number;
126
+ totalMainModels: number;
127
+ totalInheritanceModels: number;
128
+ totalSchemaFields: number;
129
+ totalIndexes: number;
130
+ resourceTypes: ResourceType[];
131
+ conversionTime: number;
132
+ }
133
+
134
+ /**
135
+ * Service for converting Zod schemas to Mongoose schemas
136
+ * Handles decorators for database indexing and resource references
137
+ * Supports discriminated unions and complex nested objects
138
+ *
139
+ * IMPORTANT: This service is STATELESS and does NOT create inheritance models
140
+ * to avoid global state mutations. Use the returned schemas to create models externally.
141
+ *
142
+ * Features unified error handling with ErrorBuilderBackendService for schema conversion errors.
143
+ */
144
+ @injectable()
145
+ export class ZodToMongooseSchemaConvertorBackendService {
146
+
147
+ // =================================================================
148
+ // CONSTRUCTOR AND CONFIGURATION
149
+ // =================================================================
150
+
151
+ private readonly DEFAULT_MAX_DEPTH = 25;
152
+ protected logDebug: (message: string, context?: Record<string, unknown>) => void;
153
+
154
+
155
+ constructor(
156
+ @inject(SAAS_SERVICE_TYPES.Logger) private logger: LoggerService,
157
+ @inject(SAAS_SERVICE_TYPES.ErrorBuilderService) private errorBuilder: ErrorBuilderBackendService
158
+ ) {
159
+ this.logDebug = this.logger.debugByType('ZodToMongooseSchemaConvertorBackendService');
160
+ this.logger.setDebugTypeLogging('ZodToMongooseSchemaConvertorBackendService', false);
161
+ }
162
+
163
+ // =================================================================
164
+ // PUBLIC API METHODS
165
+ // =================================================================
166
+
167
+ /**
168
+ * Converts a ResourceConfiguration to a Mongoose model
169
+ * @param resourceConfiguration The resource configuration containing the schema
170
+ * @param options Conversion options
171
+ * @returns Object containing the main model and union inheritance schema information
172
+ * @throws Error if schema conversion fails
173
+ */
174
+ /**
175
+ * NOTE: TDatabaseSchema has been removed. Backend-only fields are now marked with
176
+ * the `isBackendOnly` decorator on mainSchema and handled at the service layer.
177
+ */
178
+ convertResourceConfigurationToModel<
179
+ TCustomOperationEnum extends EnumLikeType | undefined,
180
+ TCoreOperationEnum extends Partial<CoreResourceOperation> | undefined,
181
+ TMainSchema extends z.ZodTypeAny
182
+ >(
183
+ resourceConfiguration: ResourceConfiguration<TCustomOperationEnum, TCoreOperationEnum, TMainSchema>,
184
+ options: SchemaConversionOptions = {}
185
+ ): {
186
+ mainModel: Model<any & Document>;
187
+ inheritanceSchemas: UnionInheritance_SchemaInfo[];
188
+ } {
189
+
190
+ const startTime = Date.now();
191
+
192
+
193
+ if (!resourceConfiguration) {
194
+ const error = this.errorBuilder.buildError(
195
+ ErrorType.VALIDATION,
196
+ undefined,
197
+ { customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED }
198
+ );
199
+ throw error;
200
+ }
201
+
202
+ if (!resourceConfiguration.mainSchema) {
203
+ const error = this.errorBuilder.buildError(
204
+ ErrorType.VALIDATION,
205
+ undefined,
206
+ { customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED, }
207
+ );
208
+ throw error;
209
+ }
210
+
211
+ // NOTE: databaseSchema was removed - mainSchema now contains all fields including backend-only (marked with isBackendOnly decorator)
212
+ const schemaToConvert = resourceConfiguration.mainSchema;
213
+ const modelLabel = resourceConfiguration.resourceIdentifier as string;
214
+
215
+
216
+
217
+ // Get the collection name (may be different from model name for USER_SELF_* resources)
218
+ const collectionName = this.getCollectionNameForResource(resourceConfiguration.resourceIdentifier);
219
+
220
+ if (!modelLabel) {
221
+ const error = this.errorBuilder.buildError(
222
+ ErrorType.VALIDATION,
223
+ undefined,
224
+ { customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED }
225
+ );
226
+ throw error;
227
+ }
228
+
229
+ try {
230
+ // Convert Zod schema to Mongoose schema with clean state
231
+ const conversionResult = this.convertZodSchemaToMongooseSchemaWithCleanup(
232
+ schemaToConvert,
233
+ options,
234
+ resourceConfiguration
235
+ );
236
+
237
+ // Initialize main model with custom collection name if different from model name and optional connection
238
+ const mainModel = initModelFromSchema(
239
+ conversionResult.mongooseSchema,
240
+ modelLabel,
241
+ collectionName,
242
+ options.connection
243
+ );
244
+
245
+ // Log debug information if debug logging is enabled
246
+ this.logDebug(`Converted schema for resource '${modelLabel}'`, {
247
+ resourceType: resourceConfiguration.resourceIdentifier,
248
+ modelName: modelLabel,
249
+ schemaFieldCount: this.countSchemaFields(conversionResult.mongooseSchema),
250
+ indexCount: conversionResult.mongooseSchema.indexes().length,
251
+ inheritanceCount: conversionResult.inheritanceSchemas.length,
252
+ conversionTime: Date.now() - startTime,
253
+ conversionOptions: options
254
+ });
255
+
256
+ return {
257
+ mainModel,
258
+ inheritanceSchemas: conversionResult.inheritanceSchemas
259
+ };
260
+ } catch (error) {
261
+ const conversionError = this.errorBuilder.buildError(
262
+ ErrorType.INTERNAL,
263
+ undefined,
264
+ {
265
+ customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED,
266
+ context: {
267
+ resourceType: resourceConfiguration.resourceIdentifier,
268
+ modelLabel,
269
+ originalError: error instanceof Error ? error.message : (typeof error === 'object' ? JSON.stringify(error, null, 2) : String(error))
270
+ }
271
+ }
272
+ );
273
+ throw conversionError;
274
+ }
275
+ }
276
+
277
+ /**
278
+ * Creates a Mongoose model directly from a Zod schema (utility method)
279
+ * @param zodSchema The Zod schema
280
+ * @param modelName The name for the model
281
+ * @param options Conversion options
282
+ * @returns Object containing the main model and union inheritance schemas
283
+ * @throws Error if schema conversion fails
284
+ */
285
+ createModelFromZodSchema(
286
+ zodSchema: z.ZodTypeAny,
287
+ modelName: string,
288
+ options: SchemaConversionOptions = {}
289
+ ): {
290
+ mainModel: Model<any & Document>;
291
+ inheritanceSchemas: UnionInheritance_SchemaInfo[];
292
+ } {
293
+
294
+ if (!zodSchema) {
295
+ const error = this.errorBuilder.buildError(
296
+ ErrorType.VALIDATION,
297
+ undefined,
298
+ { customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED }
299
+ );
300
+ throw error;
301
+ }
302
+
303
+ if (!modelName || typeof modelName !== 'string') {
304
+ const error = this.errorBuilder.buildError(
305
+ ErrorType.VALIDATION,
306
+ undefined,
307
+ { customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED }
308
+ );
309
+ throw error;
310
+ }
311
+
312
+ try {
313
+ const conversionResult = this.convertZodSchemaToMongooseSchemaWithCleanup(zodSchema, options, undefined);
314
+ const mainModel = initModelFromSchema(conversionResult.mongooseSchema, modelName);
315
+
316
+ this.logDebug(`Created model from Zod schema '${modelName}'`, {
317
+ modelName,
318
+ schemaFieldCount: this.countSchemaFields(conversionResult.mongooseSchema),
319
+ indexCount: conversionResult.mongooseSchema.indexes().length,
320
+ inheritanceCount: conversionResult.inheritanceSchemas.length,
321
+ conversionOptions: options
322
+ });
323
+
324
+ return {
325
+ mainModel,
326
+ inheritanceSchemas: conversionResult.inheritanceSchemas
327
+ };
328
+ } catch (error) {
329
+ const modelError = this.errorBuilder.buildError(
330
+ ErrorType.INTERNAL,
331
+ undefined,
332
+ {
333
+ customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_MODEL_BUILD_FAILED,
334
+ context: {
335
+ modelName,
336
+ originalError: error instanceof Error ? error.message : (typeof error === 'object' ? JSON.stringify(error, null, 2) : String(error))
337
+ }
338
+ }
339
+ );
340
+ throw modelError;
341
+ }
342
+ }
343
+
344
+ /**
345
+ * Creates inheritance models from union inheritance schemas
346
+ * This is a separate method to allow external control over model creation
347
+ * @param unionRootModel The union root model (base for all inheritance options)
348
+ * @param inheritanceSchemas The union inheritance schemas to create models from
349
+ * @returns Array of created inheritance models
350
+ */
351
+ createInheritanceModels(
352
+ unionRootModel: Model<any & Document>,
353
+ inheritanceSchemas: UnionInheritance_SchemaInfo[]
354
+ ): Model<any & Document>[] {
355
+
356
+ const models: Model<any & Document>[] = [];
357
+
358
+ for (const inheritanceSchema of inheritanceSchemas) {
359
+ try {
360
+ const inheritanceModelName = `${unionRootModel.modelName}_${inheritanceSchema.discriminatorValue}`;
361
+ const inheritanceModel = unionRootModel.discriminator(inheritanceModelName, inheritanceSchema.schema);
362
+ models.push(inheritanceModel);
363
+ } catch (error) {
364
+ this.logger.warn(`Failed to create inheritance model for value '${inheritanceSchema.discriminatorValue}': ${error instanceof Error ? error.message : String(error)}`);
365
+ }
366
+ }
367
+
368
+ this.logDebug(`Created inheritance models for union root model '${unionRootModel.modelName}'`, {
369
+ unionRootModelName: unionRootModel.modelName,
370
+ inheritanceModelsCount: models.length,
371
+ inheritanceValues: inheritanceSchemas.map(s => s.discriminatorValue)
372
+ });
373
+
374
+ return models;
375
+ }
376
+
377
+ // =================================================================
378
+ // MAIN CONVERSION METHODS
379
+ // =================================================================
380
+
381
+ /**
382
+ * Converts a Zod schema to a Mongoose schema with proper cleanup
383
+ * @param zodSchema The Zod schema to convert
384
+ * @param options Conversion options
385
+ * @returns Object containing mongoose schema and union inheritance information
386
+ */
387
+ private convertZodSchemaToMongooseSchemaWithCleanup(
388
+ zodSchema: z.ZodTypeAny,
389
+ options: SchemaConversionOptions = {},
390
+ resourceConfiguration?: any
391
+ ): {
392
+ mongooseSchema: Schema;
393
+ inheritanceSchemas: UnionInheritance_SchemaInfo[];
394
+ } {
395
+
396
+ if (!zodSchema) {
397
+ const error = this.errorBuilder.buildError(
398
+ ErrorType.VALIDATION,
399
+ undefined,
400
+ { customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED }
401
+ );
402
+ throw error;
403
+ }
404
+
405
+ const maxDepth = options.maxDepth || this.DEFAULT_MAX_DEPTH;
406
+ const processedSchemas = new WeakSet<z.ZodTypeAny>();
407
+ const schemaCache = new WeakMap<z.ZodTypeAny, Schema>();
408
+ const inheritanceSchemas: UnionInheritance_SchemaInfo[] = [];
409
+ const indexesToApply: string[] = [];
410
+ const uniqueIndexesToApply: UniqueIndexInfo[] = [];
411
+ const ttlIndexesToApply: TtlIndexInfo[] = [];
412
+
413
+ try {
414
+ // Convert Zod schema to Mongoose schema definition
415
+ const schemaDefinition = this.convertZodTypeToMongooseDefinition(
416
+ zodSchema,
417
+ processedSchemas,
418
+ schemaCache,
419
+ inheritanceSchemas,
420
+ indexesToApply,
421
+ uniqueIndexesToApply,
422
+ ttlIndexesToApply,
423
+ '',
424
+ 0,
425
+ maxDepth
426
+ );
427
+
428
+
429
+
430
+
431
+
432
+ // Remove discriminatorKey from schema definition if present (it's not a valid Mongoose field type)
433
+ // discriminatorKey is used for model-level discriminator configuration, not schema definition
434
+ const { discriminatorKey, ...cleanSchemaDefinition } = schemaDefinition as any;
435
+
436
+ // CRDT field-level metadata — schemaless Mixed field for per-field LWW timestamps.
437
+ // Only populated for resources that have isCRDT() fields.
438
+ cleanSchemaDefinition._field_meta = { type: Schema.Types.Mixed };
439
+
440
+ // Create the Mongoose schema
441
+ const mongooseSchema = new Schema(cleanSchemaDefinition, SCHEMA_DEFAULT_OPTIONS);
442
+
443
+ // Apply standard transforms (convert ObjectId to string in toObject/toJSON)
444
+ this.applyStandardTransforms(mongooseSchema);
445
+
446
+ // Apply indexes if enabled
447
+ if (options.includeIndexes !== false) {
448
+ this.applyIndexesToSchema(mongooseSchema, indexesToApply, uniqueIndexesToApply, ttlIndexesToApply);
449
+ }
450
+
451
+ return {
452
+ mongooseSchema,
453
+ inheritanceSchemas
454
+ };
455
+ } catch (error) {
456
+ // Cleanup
457
+ inheritanceSchemas.length = 0;
458
+ indexesToApply.length = 0;
459
+ ttlIndexesToApply.length = 0;
460
+ uniqueIndexesToApply.length = 0;
461
+
462
+ const conversionError = this.errorBuilder.buildError(
463
+ ErrorType.INTERNAL,
464
+ undefined,
465
+ {
466
+ customMessageReference: ErrorCustomMessageReference.ZOD_CONVERTER_SCHEMA_CONVERSION_FAILED,
467
+ context: {
468
+ originalError: error instanceof Error ? error.message : (typeof error === 'object' ? JSON.stringify(error, null, 2) : String(error)),
469
+ maxDepth: options.maxDepth
470
+ }
471
+ }
472
+ );
473
+ throw conversionError;
474
+ }
475
+ }
476
+
477
+ /**
478
+ * Converts a Zod type to a Mongoose schema definition
479
+ * @param zodType The Zod type to convert
480
+ * @param processedSchemas Set to track circular references
481
+ * @param inheritanceSchemas Array to collect union inheritance schemas
482
+ * @param indexesToApply Array to collect index paths
483
+ * @param uniqueIndexesToApply Array to collect unique index paths with params
484
+ * @param ttlIndexesToApply Array to collect TTL index paths with params
485
+ * @param currentPath Current object path for indexing
486
+ * @param currentDepth Current recursion depth
487
+ * @param maxDepth Maximum allowed recursion depth
488
+ * @returns The Mongoose schema definition
489
+ */
490
+ private convertZodTypeToMongooseDefinition(
491
+ zodType: z.ZodTypeAny,
492
+ processedSchemas: WeakSet<z.ZodTypeAny>,
493
+ schemaCache: WeakMap<z.ZodTypeAny, Schema>,
494
+ inheritanceSchemas: UnionInheritance_SchemaInfo[],
495
+ indexesToApply: string[],
496
+ uniqueIndexesToApply: UniqueIndexInfo[],
497
+ ttlIndexesToApply: TtlIndexInfo[],
498
+ currentPath: string = '',
499
+ currentDepth: number = 0,
500
+ maxDepth: number = 10
501
+ ): any {
502
+
503
+
504
+
505
+ // Depth check
506
+ if (currentDepth >= maxDepth) {
507
+ return { type: Schema.Types.Mixed };
508
+ }
509
+
510
+ try {
511
+ // Handle pipe types (from .transform(), .pipe(), etc.) - unwrap to input schema
512
+ // In Zod v4, transforms create pipe types with 'in' and 'out' schemas
513
+ if (isZodPipe(zodType)) {
514
+ const inputSchema = getPipeInputSchema(zodType);
515
+ if (inputSchema) {
516
+ // For pipe types, recursively process the input schema
517
+ return this.convertZodTypeToMongooseDefinition(
518
+ inputSchema,
519
+ processedSchemas,
520
+ schemaCache,
521
+ inheritanceSchemas,
522
+ indexesToApply,
523
+ uniqueIndexesToApply,
524
+ ttlIndexesToApply,
525
+ currentPath,
526
+ currentDepth,
527
+ maxDepth
528
+ );
529
+ }
530
+ }
531
+
532
+ // Handle ZodObject (main case for resource schemas)
533
+ // In Zod v4, object schemas have type: "object"
534
+ if (isZodObject(zodType)) {
535
+
536
+ // Check cache for existing schema to handle recursion
537
+ if (schemaCache.has(zodType)) {
538
+ return schemaCache.get(zodType);
539
+ }
540
+
541
+ // Create a new Schema instance immediately to allow self-reference
542
+ // We use a temporary empty definition, then add paths to it
543
+ const newSchema = new Schema({}, SCHEMA_SUBDOCUMENT_OPTIONS);
544
+ schemaCache.set(zodType, newSchema);
545
+
546
+ // Use public .shape property (Zod v4 API)
547
+ const shape = getZodObjectShape(zodType);
548
+
549
+
550
+
551
+ const mongooseDefinition: any = {};
552
+
553
+ for (const [fieldName, fieldSchema] of Object.entries(shape)) {
554
+ if (fieldName.startsWith('$') || typeof fieldSchema !== 'object' || fieldSchema === null) {
555
+ if (fieldName.startsWith('$')) {
556
+ this.logger.warn(`[ZodToMongoose] Skipping '$'-prefixed key '${fieldName}' (value type: ${typeof fieldSchema}) at path='${currentPath}'. Assumed Zod internal — if this is a user field, the filter is incorrect.`);
557
+ }
558
+ continue;
559
+ }
560
+
561
+ const fieldPath = currentPath ? `${currentPath}.${fieldName}` : fieldName;
562
+
563
+ const fieldDefinition = this.convertZodFieldToMongooseField(
564
+ fieldSchema as z.ZodTypeAny,
565
+ processedSchemas,
566
+ schemaCache,
567
+ inheritanceSchemas,
568
+ indexesToApply,
569
+ uniqueIndexesToApply,
570
+ ttlIndexesToApply,
571
+ fieldPath,
572
+ currentDepth + 1,
573
+ maxDepth
574
+ );
575
+
576
+ // Safety check: ensure field definition is valid
577
+ if (!fieldDefinition || typeof fieldDefinition !== 'object' ||
578
+ (!fieldDefinition.type && !Array.isArray(fieldDefinition) && typeof fieldDefinition !== 'object')) {
579
+ this.logger.warn(`[ZodToMongoose] Invalid field definition for ${fieldPath}`, { fieldDefinition });
580
+ this.logger.warn(`[ZodToMongoose] Zod field type was: ${typeof fieldSchema}`);
581
+ mongooseDefinition[fieldName] = { type: Schema.Types.Mixed };
582
+ } else {
583
+ // CRITICAL: If fieldDefinition is a Schema instance (from nested object),
584
+ // wrap it in { type: ... } to prevent Mongoose from iterating over its properties
585
+ if (this.isSchemaLike(fieldDefinition)) {
586
+ mongooseDefinition[fieldName] = {
587
+ type: fieldDefinition,
588
+ _id: false
589
+ };
590
+ } else {
591
+ mongooseDefinition[fieldName] = fieldDefinition;
592
+ }
593
+ }
594
+ }
595
+
596
+ // Final validation: ensure all fields have proper type properties
597
+ // Only validate at depth 0 (top-level). Nested objects will be validated by Mongoose
598
+ // when they're added to their parent schema
599
+ if (currentDepth === 0) {
600
+ this.validateAndFixFieldTypes(mongooseDefinition, 'unknown');
601
+ }
602
+
603
+ // If this is the top-level call (depth 0), we return the definition object
604
+ // so the caller can create the main Schema.
605
+ // If this is a nested object (depth > 0), we return the Schema instance we created.
606
+ if (currentDepth === 0) {
607
+ return mongooseDefinition;
608
+ } else {
609
+ newSchema.add(mongooseDefinition);
610
+ this.applyStandardTransforms(newSchema);
611
+ return newSchema;
612
+ }
613
+ }
614
+
615
+ // For non-object types, convert as field
616
+ return this.convertZodFieldToMongooseField(
617
+ zodType,
618
+ processedSchemas,
619
+ schemaCache,
620
+ inheritanceSchemas,
621
+ indexesToApply,
622
+ uniqueIndexesToApply,
623
+ ttlIndexesToApply,
624
+ currentPath,
625
+ currentDepth,
626
+ maxDepth
627
+ );
628
+ } catch (error) {
629
+ processedSchemas.delete(zodType);
630
+ this.logger.error(`[ZodToMongoose] convertZodTypeToMongooseDefinition FAILED at path='${currentPath}', depth=${currentDepth}: ${error instanceof Error ? error.message : String(error)}`);
631
+ throw error;
632
+ }
633
+ }
634
+
635
+ // =================================================================
636
+ // FIELD CONVERSION METHODS
637
+ // =================================================================
638
+
639
+ /**
640
+ * Converts a single Zod field to a Mongoose field definition
641
+ * @param zodField The Zod field schema
642
+ * @param processedSchemas Set to track circular references
643
+ * @param inheritanceSchemas Array to collect union inheritance schemas
644
+ * @param indexesToApply Array to collect index paths
645
+ * @param ttlIndexesToApply Array to collect TTL index paths
646
+ * @param currentPath Current field path
647
+ * @param currentDepth Current recursion depth
648
+ * @param maxDepth Maximum allowed recursion depth
649
+ * @returns The Mongoose field definition
650
+ */
651
+ private convertZodFieldToMongooseField(
652
+ zodField: z.ZodTypeAny,
653
+ processedSchemas: WeakSet<z.ZodTypeAny>,
654
+ schemaCache: WeakMap<z.ZodTypeAny, Schema>,
655
+ inheritanceSchemas: UnionInheritance_SchemaInfo[],
656
+ indexesToApply: string[],
657
+ uniqueIndexesToApply: UniqueIndexInfo[],
658
+ ttlIndexesToApply: TtlIndexInfo[],
659
+ currentPath: string,
660
+ currentDepth: number,
661
+ maxDepth: number
662
+ ): any {
663
+
664
+ // Special handling for _id fields - always convert to ObjectId
665
+ const fieldName = currentPath.split('.').pop() || '';
666
+ if (fieldName === '_id') {
667
+ const definition: any = {
668
+ type: Schema.Types.ObjectId,
669
+ // Ensure Mongoose can auto-generate _id when not provided
670
+ default: () => new Types.ObjectId(),
671
+ required: false
672
+ };
673
+
674
+ return definition;
675
+ }
676
+
677
+ // Unwrap optional fields
678
+ // In Zod v4, optional schemas have type: "optional"
679
+ if (isZodOptional(zodField)) {
680
+ const innerType = getZodDefSchemaProperty(zodField, 'innerType');
681
+ if (!innerType) {
682
+ return { type: Schema.Types.Mixed, required: false };
683
+ }
684
+ const innerField = this.convertZodFieldToMongooseField(
685
+ innerType,
686
+ processedSchemas,
687
+ schemaCache,
688
+ inheritanceSchemas,
689
+ indexesToApply,
690
+ uniqueIndexesToApply,
691
+ ttlIndexesToApply,
692
+ currentPath,
693
+ currentDepth,
694
+ maxDepth
695
+ );
696
+ // For optional fields, explicitly ensure they are NOT required
697
+ if (!innerField || typeof innerField !== 'object') {
698
+ return { type: Schema.Types.Mixed, required: false };
699
+ }
700
+
701
+ // Handle arrays specially (arrays don't have required property)
702
+ if (Array.isArray(innerField)) {
703
+ return innerField; // Arrays don't have required property
704
+ }
705
+
706
+ // CRITICAL: If innerField is a Schema instance (from nested object), wrap it properly
707
+ // Do NOT destructure Schema instances as this spreads their internal properties
708
+ if (this.isSchemaLike(innerField)) {
709
+ return {
710
+ type: innerField,
711
+ required: false,
712
+ _id: false
713
+ };
714
+ }
715
+
716
+ // Remove any required: true and explicitly set required: false for optional fields
717
+ const { required, ...optionalField } = innerField;
718
+
719
+ // Explicitly set required: false to ensure Mongoose recognizes this as optional
720
+ const result = Object.keys(optionalField).length === 0 && innerField.type
721
+ ? { type: innerField.type, required: false }
722
+ : { ...optionalField, required: false };
723
+
724
+ return result;
725
+ }
726
+
727
+ // Unwrap nullable fields
728
+ // In Zod v4, nullable schemas have type: "nullable"
729
+ if (isZodNullable(zodField)) {
730
+ const innerType = getZodDefSchemaProperty(zodField, 'innerType');
731
+ if (!innerType) {
732
+ return { type: Schema.Types.Mixed };
733
+ }
734
+ const innerField = this.convertZodFieldToMongooseField(
735
+ innerType,
736
+ processedSchemas,
737
+ schemaCache,
738
+ inheritanceSchemas,
739
+ indexesToApply,
740
+ uniqueIndexesToApply,
741
+ ttlIndexesToApply,
742
+ currentPath,
743
+ currentDepth,
744
+ maxDepth
745
+ );
746
+ // Ensure we always have at least the type information
747
+ if (!innerField || typeof innerField !== 'object') {
748
+ return { type: Schema.Types.Mixed };
749
+ }
750
+
751
+ // CRITICAL: If innerField is a Schema instance (from nested object), wrap it properly
752
+ // Do NOT destructure Schema instances as this spreads their internal properties
753
+ if (this.isSchemaLike(innerField)) {
754
+ return {
755
+ type: innerField,
756
+ _id: false
757
+ };
758
+ }
759
+
760
+ // For nullable fields, we typically don't want required=true
761
+ const { required, ...nullableField } = innerField;
762
+ if (Object.keys(nullableField).length === 0 && innerField.type) {
763
+ return { type: innerField.type };
764
+ }
765
+ return nullableField;
766
+ }
767
+
768
+ // Unwrap default fields
769
+ // In Zod v4, default schemas have type: "default"
770
+ if (isZodDefault(zodField)) {
771
+ const defaultValueProp = getZodDefProperty(zodField, 'defaultValue');
772
+ const defaultValue = typeof defaultValueProp === 'function'
773
+ ? (defaultValueProp as () => unknown)()
774
+ : defaultValueProp;
775
+
776
+ const innerType = getZodDefSchemaProperty(zodField, 'innerType');
777
+ if (!innerType) {
778
+ return { type: Schema.Types.Mixed, default: defaultValue };
779
+ }
780
+
781
+ const innerField = this.convertZodFieldToMongooseField(
782
+ innerType,
783
+ processedSchemas,
784
+ schemaCache,
785
+ inheritanceSchemas,
786
+ indexesToApply,
787
+ uniqueIndexesToApply,
788
+ ttlIndexesToApply,
789
+ currentPath,
790
+ currentDepth,
791
+ maxDepth
792
+ );
793
+
794
+ // Remove required property for fields with defaults (Mongoose treats absence as optional)
795
+ // Ensure we always have at least the type information
796
+ if (!innerField || typeof innerField !== 'object') {
797
+ return { type: Schema.Types.Mixed, default: defaultValue };
798
+ }
799
+
800
+ // Handle arrays BEFORE destructuring (arrays don't have required property)
801
+ if (Array.isArray(innerField)) {
802
+ return {
803
+ type: innerField,
804
+ default: defaultValue
805
+ };
806
+ }
807
+
808
+ // CRITICAL: If innerField is a Schema instance (from nested object), wrap it properly
809
+ // Do NOT destructure Schema instances as this spreads their internal properties
810
+ if (this.isSchemaLike(innerField)) {
811
+ return {
812
+ type: innerField,
813
+ default: defaultValue,
814
+ _id: false
815
+ };
816
+ }
817
+
818
+ const { required, ...fieldWithoutRequired } = innerField;
819
+
820
+ // Check if this is a nested object schema (has 'type' property with nested fields)
821
+ // CRITICAL: Do NOT spread if type is a Schema instance!
822
+ const isNestedObjectSchema = fieldWithoutRequired.type &&
823
+ typeof fieldWithoutRequired.type === 'object' &&
824
+ !Array.isArray(fieldWithoutRequired.type) &&
825
+ !this.isSchemaLike(fieldWithoutRequired.type) &&
826
+ Object.keys(fieldWithoutRequired.type).length > 0;
827
+
828
+ if (isNestedObjectSchema && defaultValue && typeof defaultValue === 'object') {
829
+ // For nested objects with defaults, preserve field type definitions
830
+ // and merge defaults into the appropriate fields
831
+ const nestedFields = { ...fieldWithoutRequired.type };
832
+
833
+ for (const [fieldName, defaultFieldValue] of Object.entries(defaultValue)) {
834
+ if (nestedFields[fieldName] && typeof nestedFields[fieldName] === 'object') {
835
+ // Preserve the existing field definition and add the default
836
+ nestedFields[fieldName] = {
837
+ ...nestedFields[fieldName],
838
+ default: defaultFieldValue
839
+ };
840
+ }
841
+ }
842
+
843
+ return {
844
+ type: nestedFields,
845
+ default: defaultValue,
846
+ _id: false
847
+ };
848
+ }
849
+
850
+ // This check is no longer needed since arrays are handled before destructuring
851
+
852
+ // Ensure we have at least the type property for primitive fields
853
+ const result = Object.keys(fieldWithoutRequired).length === 0 && innerField.type
854
+ ? { type: innerField.type }
855
+ : fieldWithoutRequired;
856
+
857
+ return {
858
+ ...result,
859
+ default: defaultValue
860
+ };
861
+ }
862
+
863
+ // Handle pipe types (from .transform(), .pipe(), etc.) - extract the input schema
864
+ // In Zod v4, transforms create pipe types with 'in' and 'out' schemas
865
+ if (isZodPipe(zodField)) {
866
+ const inputSchema = getPipeInputSchema(zodField);
867
+ if (inputSchema) {
868
+ return this.convertZodFieldToMongooseField(
869
+ inputSchema,
870
+ processedSchemas,
871
+ schemaCache,
872
+ inheritanceSchemas,
873
+ indexesToApply,
874
+ uniqueIndexesToApply,
875
+ ttlIndexesToApply,
876
+ currentPath,
877
+ currentDepth,
878
+ maxDepth
879
+ );
880
+ }
881
+ }
882
+
883
+ // Handle transform types (standalone transform, no underlying schema)
884
+ // In Zod v4, transform types are standalone
885
+ if (isZodTransform(zodField)) {
886
+ // Transform types don't have an underlying schema, return Mixed
887
+ return { type: Schema.Types.Mixed };
888
+ }
889
+
890
+ // Handle custom types (from .refine(), .superRefine(), etc.)
891
+ // In Zod v4, custom types don't wrap schemas - refinements are stored as checks
892
+ // For custom types, we need to check if there's an underlying schema
893
+ // This is complex - for now, return Mixed
894
+ if (isZodCustom(zodField)) {
895
+ return { type: Schema.Types.Mixed };
896
+ }
897
+
898
+ // Handle arrays
899
+ // In Zod v4, array schemas have type: "array"
900
+ if (isZodArray(zodField)) {
901
+ const element = getZodDefSchemaProperty(zodField, 'element');
902
+ if (!element) {
903
+ return [{ type: Schema.Types.Mixed }];
904
+ }
905
+
906
+ const elementType = this.convertZodFieldToMongooseField(
907
+ element,
908
+ processedSchemas,
909
+ schemaCache,
910
+ inheritanceSchemas,
911
+ indexesToApply,
912
+ uniqueIndexesToApply,
913
+ ttlIndexesToApply,
914
+ `${currentPath}[]`,
915
+ currentDepth + 1,
916
+ maxDepth
917
+ );
918
+
919
+ // Check for array-level decorators before returning
920
+ let arrayDefinition: any = [elementType];
921
+
922
+ // Handle array-level resource reference (convert array elements to ObjectId)
923
+ if (isForeignKey(zodField)) {
924
+ arrayDefinition = [{
925
+ type: Schema.Types.ObjectId
926
+ }];
927
+ }
928
+
929
+ // Collect index information for decorated array fields
930
+ // Skip primary keys - they're already indexed via unique index or field-level index
931
+ if (isDBIndexed(zodField) && !isPrimaryKey(zodField) && currentPath) {
932
+ indexesToApply.push(currentPath);
933
+ }
934
+
935
+ // Collect unique index information for array fields
936
+ if (isUnique(zodField) && currentPath) {
937
+ const uniqueParams = getUniqueParams(zodField);
938
+ uniqueIndexesToApply.push({ path: currentPath, params: uniqueParams || {} });
939
+ }
940
+
941
+ // Collect TTL index information for array fields (rare, but possible for array of dates)
942
+ if (hasTtl(zodField) && currentPath) {
943
+ const ttlParams = getTtlParams(zodField);
944
+ if (ttlParams) {
945
+ ttlIndexesToApply.push({ path: currentPath, params: ttlParams });
946
+ }
947
+ }
948
+
949
+ return arrayDefinition;
950
+ }
951
+
952
+ // Handle tuples
953
+ // In Zod v4, tuple schemas have type: "tuple"
954
+ if (isZodTuple(zodField)) {
955
+ return [{ type: Schema.Types.Mixed }];
956
+ }
957
+
958
+ // Handle nested objects
959
+ // In Zod v4, object schemas have type: "object"
960
+ if (isZodObject(zodField)) {
961
+ const nestedDefinition = this.convertZodTypeToMongooseDefinition(
962
+ zodField,
963
+ processedSchemas,
964
+ schemaCache,
965
+ inheritanceSchemas,
966
+ indexesToApply,
967
+ uniqueIndexesToApply,
968
+ ttlIndexesToApply,
969
+ currentPath,
970
+ currentDepth,
971
+ maxDepth
972
+ );
973
+
974
+ // If nestedDefinition is a Schema instance (from cache or new), return it directly as type
975
+ if (nestedDefinition instanceof Schema) {
976
+ return {
977
+ type: nestedDefinition,
978
+ _id: false
979
+ };
980
+ }
981
+
982
+ // Otherwise wrap the definition
983
+ return {
984
+ type: nestedDefinition,
985
+ _id: false // Disable automatic _id for subdocuments unless explicitly defined
986
+ };
987
+ }
988
+
989
+ // Handle discriminated unions
990
+ // Mongoose discriminators only work on top-level models, NOT on embedded sub-documents.
991
+ // At depth 0 we collect schema info for later discriminator model creation.
992
+ // At depth > 0 we flatten into a superset schema (all fields from all options,
993
+ // non-discriminator fields optional) so field types and indexes are preserved.
994
+ if (isDiscriminatedUnion(zodField)) {
995
+ if (currentDepth === 0) {
996
+ return this.handleDiscriminatedUnionField(
997
+ zodField,
998
+ processedSchemas,
999
+ schemaCache,
1000
+ inheritanceSchemas,
1001
+ indexesToApply,
1002
+ uniqueIndexesToApply,
1003
+ ttlIndexesToApply,
1004
+ currentPath,
1005
+ currentDepth,
1006
+ maxDepth
1007
+ );
1008
+ }
1009
+ return this.flattenDiscriminatedUnionForSubdocument(
1010
+ zodField,
1011
+ processedSchemas,
1012
+ schemaCache,
1013
+ inheritanceSchemas,
1014
+ indexesToApply,
1015
+ uniqueIndexesToApply,
1016
+ ttlIndexesToApply,
1017
+ currentPath,
1018
+ currentDepth,
1019
+ maxDepth
1020
+ );
1021
+ }
1022
+
1023
+ // Handle regular unions - analyze for smart type detection
1024
+ // In Zod v4, union schemas have type: "union"
1025
+ if (isZodUnion(zodField)) {
1026
+ return this.handleZodUnion(zodField);
1027
+ }
1028
+
1029
+ // Handle intersections - merge the types
1030
+ // In Zod v4, intersection schemas have type: "intersection"
1031
+ if (isZodIntersection(zodField)) {
1032
+ const left = getZodDefSchemaProperty(zodField, 'left');
1033
+ const right = getZodDefSchemaProperty(zodField, 'right');
1034
+
1035
+ if (!left || !right) {
1036
+ return { type: Schema.Types.Mixed };
1037
+ }
1038
+
1039
+ const leftDef = this.convertZodFieldToMongooseField(
1040
+ left,
1041
+ processedSchemas,
1042
+ schemaCache,
1043
+ inheritanceSchemas,
1044
+ indexesToApply,
1045
+ uniqueIndexesToApply,
1046
+ ttlIndexesToApply,
1047
+ currentPath,
1048
+ currentDepth,
1049
+ maxDepth
1050
+ );
1051
+ const rightDef = this.convertZodFieldToMongooseField(
1052
+ right,
1053
+ processedSchemas,
1054
+ schemaCache,
1055
+ inheritanceSchemas,
1056
+ indexesToApply,
1057
+ uniqueIndexesToApply,
1058
+ ttlIndexesToApply,
1059
+ currentPath,
1060
+ currentDepth,
1061
+ maxDepth
1062
+ );
1063
+
1064
+ // Merge object definitions
1065
+ if (this.isObjectDefinition(leftDef) && this.isObjectDefinition(rightDef)) {
1066
+ return { ...leftDef, ...rightDef };
1067
+ }
1068
+ return { type: Schema.Types.Mixed };
1069
+ }
1070
+
1071
+ // Handle literals
1072
+ // In Zod v4, literal schemas have type: "literal"
1073
+ if (isZodLiteral(zodField)) {
1074
+ const literalValue = getZodDefProperty(zodField, 'value');
1075
+ return {
1076
+ type: typeof literalValue === 'string' ? String :
1077
+ typeof literalValue === 'number' ? Number :
1078
+ typeof literalValue === 'boolean' ? Boolean : Schema.Types.Mixed,
1079
+ enum: [literalValue]
1080
+ };
1081
+ }
1082
+
1083
+ // Handle lazy types (recursive schemas)
1084
+ // In Zod v4, lazy schemas have type: "lazy"
1085
+ if (isZodLazy(zodField)) {
1086
+ const getter = getZodDefFunctionProperty(zodField, 'getter');
1087
+ if (!getter) {
1088
+ return { type: Schema.Types.Mixed };
1089
+ }
1090
+ const innerSchema = getter();
1091
+ return this.convertZodFieldToMongooseField(
1092
+ innerSchema,
1093
+ processedSchemas,
1094
+ schemaCache,
1095
+ inheritanceSchemas,
1096
+ indexesToApply,
1097
+ uniqueIndexesToApply,
1098
+ ttlIndexesToApply,
1099
+ currentPath,
1100
+ currentDepth,
1101
+ maxDepth
1102
+ );
1103
+ }
1104
+
1105
+ // Handle basic types with decorators - unwrap to get the core type
1106
+ const coreType = this.unwrapDecoratedType(zodField);
1107
+ const baseDefinition = this.getBaseMongooseType(coreType, schemaCache);
1108
+
1109
+ // Apply resource reference (ObjectId)
1110
+ if (isForeignKey(zodField)) {
1111
+ const definition: any = {
1112
+ type: Schema.Types.ObjectId
1113
+ };
1114
+
1115
+ // Only add required property if the field is actually required
1116
+ if (this.isFieldRequired(zodField)) {
1117
+ definition.required = true;
1118
+ }
1119
+
1120
+ // Collect index information instead of applying immediately
1121
+ // Skip primary keys - they're already indexed via unique index or field-level index
1122
+ if (isDBIndexed(zodField) && !isPrimaryKey(zodField) && currentPath) {
1123
+ indexesToApply.push(currentPath);
1124
+ }
1125
+
1126
+ // Collect unique index information
1127
+ if (isUnique(zodField) && currentPath) {
1128
+ const uniqueParams = getUniqueParams(zodField);
1129
+ uniqueIndexesToApply.push({ path: currentPath, params: uniqueParams || {} });
1130
+ }
1131
+
1132
+ return definition;
1133
+ }
1134
+
1135
+ // Collect TTL index information for Date fields
1136
+ // TTL indexes enable automatic document expiration in MongoDB
1137
+ if (hasTtl(zodField) && currentPath) {
1138
+ const ttlParams = getTtlParams(zodField);
1139
+ if (ttlParams) {
1140
+ ttlIndexesToApply.push({ path: currentPath, params: ttlParams });
1141
+ }
1142
+ }
1143
+
1144
+ // Collect index information for decorated fields
1145
+ // Skip primary keys - they're already indexed via unique index or field-level index
1146
+ if (isDBIndexed(zodField) && !isPrimaryKey(zodField) && currentPath) {
1147
+ indexesToApply.push(currentPath);
1148
+ }
1149
+
1150
+ // Collect unique index information for decorated fields
1151
+ if (isUnique(zodField) && currentPath) {
1152
+ const uniqueParams = getUniqueParams(zodField);
1153
+ uniqueIndexesToApply.push({ path: currentPath, params: uniqueParams || {} });
1154
+ }
1155
+
1156
+ // Only add required property if the field is actually required
1157
+ if (this.isFieldRequired(zodField)) {
1158
+ const definition = baseDefinition || { type: Schema.Types.Mixed };
1159
+ return {
1160
+ ...definition,
1161
+ required: true
1162
+ };
1163
+ }
1164
+
1165
+ return baseDefinition || { type: Schema.Types.Mixed };
1166
+ }
1167
+
1168
+ // =================================================================
1169
+ // TYPE HANDLING METHODS
1170
+ // =================================================================
1171
+
1172
+ /**
1173
+ * Flattens a discriminated union into a superset schema for embedded sub-documents.
1174
+ *
1175
+ * WHY: Mongoose discriminators only work on top-level models (root collections),
1176
+ * NOT on embedded sub-documents or array elements. Attempting to use discriminator
1177
+ * APIs on sub-schemas causes "Invalid schema configuration" errors ($id leak,
1178
+ * initializeTimestamps, etc.).
1179
+ *
1180
+ * CONSEQUENCES OF THIS APPROACH:
1181
+ * - All fields from ALL union options are merged into one flat schema.
1182
+ * - The discriminator key stays required; all other fields become optional
1183
+ * at the Mongoose layer (since each variant uses a different subset).
1184
+ * - Per-variant required constraints are NOT enforced by Mongoose — Zod handles
1185
+ * validation at the application layer before data reaches MongoDB.
1186
+ * - Field types and indexes ARE preserved (unlike Schema.Types.Mixed).
1187
+ * - First-seen-wins: if two options define the same field with different types,
1188
+ * only the first option's type is used.
1189
+ *
1190
+ * PREFERRED SOLUTION: When possible, define discriminated unions at the root
1191
+ * resource schema level (depth 0) where Mongoose discriminators work natively.
1192
+ * Use sub-document discriminated unions only when the domain model requires it,
1193
+ * accepting the trade-offs above.
1194
+ */
1195
+ private flattenDiscriminatedUnionForSubdocument(
1196
+ zodField: z.ZodTypeAny,
1197
+ processedSchemas: WeakSet<z.ZodTypeAny>,
1198
+ schemaCache: WeakMap<z.ZodTypeAny, Schema>,
1199
+ inheritanceSchemas: UnionInheritance_SchemaInfo[],
1200
+ indexesToApply: string[],
1201
+ uniqueIndexesToApply: UniqueIndexInfo[],
1202
+ ttlIndexesToApply: TtlIndexInfo[],
1203
+ currentPath: string,
1204
+ currentDepth: number,
1205
+ maxDepth: number
1206
+ ): any {
1207
+ const discriminatorKey = getZodDefStringProperty(zodField, 'discriminator');
1208
+ const optionsArray = getZodDefArrayProperty(zodField, 'options');
1209
+
1210
+ if (!discriminatorKey || !optionsArray || optionsArray.length === 0) {
1211
+ return { type: Schema.Types.Mixed };
1212
+ }
1213
+
1214
+ const options = optionsArray.filter(isZodTypeAny);
1215
+ if (options.length === 0) {
1216
+ return { type: Schema.Types.Mixed };
1217
+ }
1218
+
1219
+ this.logger.warn(
1220
+ `[ZodToMongoose] Discriminated union at path='${currentPath}' (depth=${currentDepth}) is inside a sub-document. ` +
1221
+ `Mongoose discriminators only work on root-level models. Flattening ${options.length} variants into a superset schema ` +
1222
+ `(discriminator='${discriminatorKey}'). Consequences: non-discriminator fields are optional at Mongoose level, ` +
1223
+ `per-variant required constraints rely on Zod validation. Preferred solution: move discriminated unions to root schema level.`
1224
+ );
1225
+
1226
+ const mergedDefinition: Record<string, any> = {};
1227
+
1228
+ for (const option of options) {
1229
+ if (!isZodObject(option)) continue;
1230
+
1231
+ const optionShape = getZodObjectShape(option);
1232
+ for (const [fieldName, fieldSchema] of Object.entries(optionShape)) {
1233
+ const existing = mergedDefinition[fieldName];
1234
+ if (existing) {
1235
+ // Field already seen from a previous variant. Union enum values if both
1236
+ // definitions carry an enum array (e.g. variant field with different enums
1237
+ // per option). Otherwise keep the first definition (same base type).
1238
+ if (Array.isArray(existing.enum) && fieldName !== discriminatorKey) {
1239
+ const fieldPath = currentPath ? `${currentPath}.${fieldName}` : fieldName;
1240
+ const fieldDef = this.convertZodFieldToMongooseField(
1241
+ fieldSchema as z.ZodTypeAny,
1242
+ processedSchemas, schemaCache, inheritanceSchemas,
1243
+ indexesToApply, uniqueIndexesToApply, ttlIndexesToApply,
1244
+ fieldPath, currentDepth + 1, maxDepth
1245
+ );
1246
+ if (fieldDef && Array.isArray(fieldDef.enum)) {
1247
+ existing.enum = [...new Set([...existing.enum, ...fieldDef.enum])];
1248
+ }
1249
+ }
1250
+ continue;
1251
+ }
1252
+
1253
+ const fieldPath = currentPath ? `${currentPath}.${fieldName}` : fieldName;
1254
+ const fieldDef = this.convertZodFieldToMongooseField(
1255
+ fieldSchema as z.ZodTypeAny,
1256
+ processedSchemas,
1257
+ schemaCache,
1258
+ inheritanceSchemas,
1259
+ indexesToApply,
1260
+ uniqueIndexesToApply,
1261
+ ttlIndexesToApply,
1262
+ fieldPath,
1263
+ currentDepth + 1,
1264
+ maxDepth
1265
+ );
1266
+
1267
+ if (fieldName === discriminatorKey) {
1268
+ mergedDefinition[fieldName] = fieldDef;
1269
+ } else if (typeof fieldDef === 'object' && fieldDef !== null && !Array.isArray(fieldDef) && !(fieldDef instanceof Schema)) {
1270
+ mergedDefinition[fieldName] = { ...fieldDef, required: false };
1271
+ } else {
1272
+ mergedDefinition[fieldName] = fieldDef;
1273
+ }
1274
+ }
1275
+ }
1276
+
1277
+ const nestedSchema = new Schema(mergedDefinition, SCHEMA_SUBDOCUMENT_OPTIONS);
1278
+ this.applyStandardTransforms(nestedSchema);
1279
+ return nestedSchema;
1280
+ }
1281
+
1282
+ /**
1283
+ * Handles discriminated union fields by collecting schema information
1284
+ * @param zodField The discriminated union field
1285
+ * @param processedSchemas Set to track circular references
1286
+ * @param inheritanceSchemas Array to collect union inheritance schemas
1287
+ * @param indexesToApply Array to collect index paths
1288
+ * @param currentPath Current field path
1289
+ * @param currentDepth Current recursion depth
1290
+ * @param maxDepth Maximum allowed recursion depth
1291
+ * @returns Base schema definition for the discriminated union
1292
+ */
1293
+ private handleDiscriminatedUnionField(
1294
+ zodField: z.ZodTypeAny,
1295
+ processedSchemas: WeakSet<z.ZodTypeAny>,
1296
+ schemaCache: WeakMap<z.ZodTypeAny, Schema>,
1297
+ inheritanceSchemas: UnionInheritance_SchemaInfo[],
1298
+ indexesToApply: string[],
1299
+ uniqueIndexesToApply: UniqueIndexInfo[],
1300
+ ttlIndexesToApply: TtlIndexInfo[],
1301
+ currentPath: string,
1302
+ currentDepth: number,
1303
+ maxDepth: number
1304
+ ): any {
1305
+
1306
+ const discriminatorKey = getZodDefStringProperty(zodField, 'discriminator');
1307
+ const optionsArray = getZodDefArrayProperty(zodField, 'options');
1308
+
1309
+ if (!discriminatorKey || !optionsArray || optionsArray.length === 0) {
1310
+ return { type: Schema.Types.Mixed };
1311
+ }
1312
+
1313
+ // Filter and validate options are ZodTypeAny
1314
+ const options = optionsArray.filter(isZodTypeAny);
1315
+ if (options.length === 0) {
1316
+ return { type: Schema.Types.Mixed };
1317
+ }
1318
+
1319
+ // Use the first option as the union root schema structure
1320
+ const rootOption = options[0];
1321
+ const rootDefinition = this.convertZodTypeToMongooseDefinition(
1322
+ rootOption,
1323
+ processedSchemas,
1324
+ schemaCache,
1325
+ inheritanceSchemas,
1326
+ indexesToApply,
1327
+ uniqueIndexesToApply,
1328
+ ttlIndexesToApply,
1329
+ currentPath,
1330
+ currentDepth,
1331
+ maxDepth
1332
+ );
1333
+
1334
+ // Collect union inheritance schemas for later model creation (but don't create models here)
1335
+ for (let optionIndex = 0; optionIndex < options.length; optionIndex++) {
1336
+ const option = options[optionIndex];
1337
+ try {
1338
+ const optionDefinition = this.convertZodTypeToMongooseDefinition(
1339
+ option,
1340
+ processedSchemas,
1341
+ schemaCache,
1342
+ inheritanceSchemas,
1343
+ indexesToApply,
1344
+ uniqueIndexesToApply,
1345
+ ttlIndexesToApply,
1346
+ currentPath,
1347
+ currentDepth,
1348
+ maxDepth
1349
+ );
1350
+
1351
+ // Create Mongoose schema for this union inheritance option
1352
+ const inheritanceOptionSchema = new Schema(optionDefinition, SCHEMA_SUBDOCUMENT_OPTIONS);
1353
+ this.applyStandardTransforms(inheritanceOptionSchema);
1354
+
1355
+ // Extract discriminator value from the option's shape
1356
+ // In Zod v4, use public .shape property and get literal value from def
1357
+ // Unwrap the discriminator field to handle optional/nullable/default wrappers
1358
+ let discriminatorValue: string | null = null;
1359
+ if (discriminatorKey && isZodObject(option)) {
1360
+ const optionShape = getZodObjectShape(option);
1361
+ const discriminatorField = optionShape[discriminatorKey];
1362
+ if (discriminatorField) {
1363
+ // Unwrap the field to get the actual literal/enum value
1364
+ const unwrappedField = unwrapSchema(discriminatorField);
1365
+ if (isZodLiteral(unwrappedField)) {
1366
+ const literalValue = getZodDefProperty(unwrappedField, 'value');
1367
+ if (literalValue !== undefined && literalValue !== null) {
1368
+ discriminatorValue = String(literalValue);
1369
+ }
1370
+ } else {
1371
+ // Try to get value from enum if it's an enum field
1372
+ const enumValues = getEnumValues(unwrappedField);
1373
+ if (enumValues.length > 0) {
1374
+ discriminatorValue = String(enumValues[0]);
1375
+ }
1376
+ }
1377
+ }
1378
+
1379
+ // Fallback: If shape approach failed, try to extract from schema definition directly
1380
+ // This handles cases where extended schemas might not expose shape correctly
1381
+ if (!discriminatorValue && discriminatorField) {
1382
+ const def = getZodDef(discriminatorField);
1383
+ if (def && def.type === 'literal' && def.value !== undefined) {
1384
+ discriminatorValue = String(def.value);
1385
+ }
1386
+ }
1387
+ }
1388
+
1389
+ // If we couldn't extract a discriminator value, use index-based fallback to ensure uniqueness
1390
+ // This prevents "Discriminator with name 'unknown' already exists" errors
1391
+ if (!discriminatorValue || discriminatorValue === 'unknown') {
1392
+ discriminatorValue = `option_${optionIndex}`;
1393
+ this.logDebug(`Could not extract discriminator value for union option ${optionIndex}, using fallback: ${discriminatorValue}`, {
1394
+ discriminatorKey,
1395
+ optionIndex
1396
+ });
1397
+ }
1398
+
1399
+ // Store schema information for later inheritance model creation
1400
+ inheritanceSchemas.push({
1401
+ discriminatorKey,
1402
+ discriminatorValue: String(discriminatorValue),
1403
+ schema: inheritanceOptionSchema,
1404
+ zodSchema: option
1405
+ });
1406
+ } catch (error) {
1407
+ this.logger.warn(`Failed to process union inheritance option: ${error instanceof Error ? error.message : String(error)}`);
1408
+ }
1409
+ }
1410
+
1411
+ // Return the union root definition with discriminator key
1412
+ return {
1413
+ ...rootDefinition,
1414
+ discriminatorKey
1415
+ };
1416
+ }
1417
+
1418
+ /**
1419
+ * Unwraps decorated Zod types to get the core type for instanceof checks
1420
+ * @param zodField The potentially decorated Zod field
1421
+ * @returns The core Zod type without decoration wrappers
1422
+ */
1423
+ private unwrapDecoratedType(zodField: z.ZodTypeAny): z.ZodTypeAny {
1424
+ // Use the centralized unwrapSchema function from zod-decorators
1425
+ return unwrapSchema(zodField);
1426
+ }
1427
+
1428
+ /**
1429
+ * Handles ZodUnion types intelligently
1430
+ * @param zodUnion The Zod union to analyze
1431
+ * @returns Appropriate Mongoose type definition
1432
+ */
1433
+ private handleZodUnion(zodUnion: z.ZodTypeAny): any {
1434
+ const options = getZodDefArrayProperty(zodUnion, 'options');
1435
+ if (!options) {
1436
+ return { type: Schema.Types.Mixed };
1437
+ }
1438
+
1439
+ // Collect all enum values and check if all options are string-like
1440
+ const enumValues: string[] = [];
1441
+ let allStringLike = true;
1442
+
1443
+ for (const option of options) {
1444
+ if (!isZodTypeAny(option)) continue;
1445
+
1446
+ const optionType = getZodType(option);
1447
+
1448
+ // Handle enum (check for entries in Zod v4, or enum property for native enums)
1449
+ if (optionType === 'enum') {
1450
+ // Use centralized getEnumValues function
1451
+ const optionEnumValues = getEnumValues(option);
1452
+ enumValues.push(...optionEnumValues);
1453
+ continue;
1454
+ }
1455
+
1456
+ // Handle ZodString (allows any string)
1457
+ if (optionType === 'string') {
1458
+ // String type allows any string value, so we just continue
1459
+ continue;
1460
+ }
1461
+
1462
+ // If we encounter a non-string type, fall back to Mixed
1463
+ allStringLike = false;
1464
+ break;
1465
+ }
1466
+
1467
+ // If all options are string-like (enum + string), return String with enum validation
1468
+ if (allStringLike) {
1469
+ if (enumValues.length > 0) {
1470
+ return {
1471
+ type: String,
1472
+ enum: [...new Set(enumValues)] // Remove duplicates
1473
+ };
1474
+ } else {
1475
+ return { type: String };
1476
+ }
1477
+ }
1478
+
1479
+ // Fall back to Mixed for complex unions
1480
+ return { type: Schema.Types.Mixed };
1481
+ }
1482
+
1483
+ /**
1484
+ * Gets the base Mongoose type for a Zod field
1485
+ * @param zodField The Zod field to get the type for
1486
+ * @param schemaCache Cache of created schemas for recursive types
1487
+ * @returns The base Mongoose type definition
1488
+ */
1489
+ private getBaseMongooseType(zodField: z.ZodTypeAny, schemaCache?: WeakMap<z.ZodTypeAny, Schema>): any {
1490
+ const zodType = getZodType(zodField);
1491
+
1492
+ // Handle string types
1493
+ // In Zod v4, string schemas have type: "string"
1494
+ if (zodType === 'string') {
1495
+ const definition: any = { type: String };
1496
+
1497
+ // Add string-specific validations
1498
+ // In Zod v4, checks are stored in def.checks array
1499
+ const checks = getZodDefArrayProperty(zodField, 'checks');
1500
+ if (checks) {
1501
+
1502
+ for (const check of checks) {
1503
+ if (typeof check === 'object' && check !== null) {
1504
+ const checkKind = (check as Record<string, unknown>).kind;
1505
+ const checkValue = (check as Record<string, unknown>).value;
1506
+
1507
+ if (checkKind === 'min' && typeof checkValue === 'number') {
1508
+ definition.minlength = checkValue;
1509
+ } else if (checkKind === 'max' && typeof checkValue === 'number') {
1510
+ definition.maxlength = checkValue;
1511
+ } else if (checkKind === 'regex' && checkValue instanceof RegExp) {
1512
+ definition.match = checkValue;
1513
+ }
1514
+ }
1515
+ }
1516
+ }
1517
+
1518
+ return definition;
1519
+ }
1520
+
1521
+ // Handle number types
1522
+ // In Zod v4, number schemas have type: "number" or "int"
1523
+ if (zodType === 'number' || zodType === 'int') {
1524
+ const definition: any = { type: Number };
1525
+
1526
+ const checks = getZodDefArrayProperty(zodField, 'checks');
1527
+ if (checks) {
1528
+
1529
+ for (const check of checks) {
1530
+ if (typeof check === 'object' && check !== null) {
1531
+ const checkKind = (check as Record<string, unknown>).kind;
1532
+ const checkValue = (check as Record<string, unknown>).value;
1533
+
1534
+ if (checkKind === 'min' && typeof checkValue === 'number') {
1535
+ definition.min = checkValue;
1536
+ } else if (checkKind === 'max' && typeof checkValue === 'number') {
1537
+ definition.max = checkValue;
1538
+ }
1539
+ }
1540
+ }
1541
+ }
1542
+
1543
+ return definition;
1544
+ }
1545
+
1546
+ // Handle bigint types
1547
+ // In Zod v4, bigint schemas have type: "bigint"
1548
+ // Mongoose 6+ supports BigInt natively, which stores as BSON Long (64-bit)
1549
+ // For arbitrarily large bigints, we store as String for maximum precision
1550
+ if (zodType === 'bigint') {
1551
+ // Use String type for storage to preserve full precision of arbitrarily large bigints
1552
+ // The application layer handles conversion to/from BigInt
1553
+ return {
1554
+ type: String,
1555
+ get: (v: string | null | undefined) => v ? BigInt(v) : v,
1556
+ set: (v: bigint | string | null | undefined) => v !== null && v !== undefined ? String(v) : v
1557
+ };
1558
+ }
1559
+
1560
+ // Handle boolean types
1561
+ // In Zod v4, boolean schemas have type: "boolean"
1562
+ if (zodType === 'boolean') {
1563
+ return { type: Boolean };
1564
+ }
1565
+
1566
+ // Handle date types
1567
+ // In Zod v4, date schemas have type: "date"
1568
+ if (zodType === 'date') {
1569
+ return { type: Date };
1570
+ }
1571
+
1572
+ // Handle enum types
1573
+ // In Zod v4, enum schemas have type: "enum" and values are in def.entries
1574
+ if (zodType === 'enum') {
1575
+ // Use centralized getEnumValues function
1576
+ const enumValues = getEnumValues(zodField);
1577
+
1578
+ return {
1579
+ type: String,
1580
+ enum: enumValues
1581
+ };
1582
+ }
1583
+
1584
+ // NOTE: In Zod v4, .brand() no longer creates a wrapper type.
1585
+ // Branded schemas report their underlying type (e.g., 'string') directly.
1586
+ // The branding is purely a TypeScript compile-time feature.
1587
+ // No special handling is needed for branded types in Zod v4.
1588
+
1589
+ // Handle record types - z.record() represents plain objects with dynamic keys
1590
+ // In Zod v4, record schemas have type: "record"
1591
+ if (isZodRecord(zodField)) {
1592
+ // Default to Mixed for non-recursive records
1593
+ // Only use Map if we detect a recursive schema that requires it
1594
+ const valueType = getZodDefSchemaProperty(zodField, 'valueType');
1595
+ let mapValueType: any = null;
1596
+
1597
+ if (valueType && isZodLazy(valueType)) {
1598
+ // For recursive records (like properties: z.record(z.lazy(...))), we MUST use Map with the schema
1599
+ // otherwise we lose the recursive structure.
1600
+
1601
+ // Try to resolve lazy type from cache if available
1602
+ if (schemaCache) {
1603
+ const getter = getZodDefFunctionProperty(valueType, 'getter');
1604
+ if (getter) {
1605
+ const inner = getter();
1606
+ if (schemaCache.has(inner)) {
1607
+ mapValueType = schemaCache.get(inner);
1608
+ }
1609
+ }
1610
+ }
1611
+ }
1612
+
1613
+ // If we found a recursive schema, return Map
1614
+ if (mapValueType) {
1615
+ return { type: Map, of: mapValueType };
1616
+ }
1617
+
1618
+ // Default to Mixed for non-recursive records
1619
+ return { type: Schema.Types.Mixed };
1620
+ }
1621
+
1622
+ // Handle Set types
1623
+ // In Zod v4, set schemas have type: "set"
1624
+ // Sets are stored as arrays in MongoDB with getter/setter for conversion
1625
+ if (zodType === 'set') {
1626
+ const valueType = getZodDefSchemaProperty(zodField, 'valueType');
1627
+
1628
+ // Try to determine the value type for the Set
1629
+ let setValueType: any = Schema.Types.Mixed;
1630
+ if (valueType) {
1631
+ const valueTypeDefinition = this.getBaseMongooseType(valueType, schemaCache);
1632
+ if (valueTypeDefinition?.type) {
1633
+ setValueType = valueTypeDefinition.type;
1634
+ }
1635
+ }
1636
+
1637
+ return {
1638
+ type: [setValueType],
1639
+ get: (v: any[] | null | undefined) => v ? new Set(v) : v,
1640
+ set: (v: Set<any> | any[] | null | undefined) => {
1641
+ if (v === null || v === undefined) return v;
1642
+ return v instanceof Set ? Array.from(v) : v;
1643
+ }
1644
+ };
1645
+ }
1646
+
1647
+ // Handle Map types
1648
+ // In Zod v4, map schemas have type: "map"
1649
+ if (zodType === 'map') {
1650
+ const valueType = getZodDefSchemaProperty(zodField, 'valueType');
1651
+
1652
+ // Try to determine the value type for the Map
1653
+ let mapValueType: any = Schema.Types.Mixed;
1654
+ if (valueType) {
1655
+ const valueTypeDefinition = this.getBaseMongooseType(valueType, schemaCache);
1656
+ if (valueTypeDefinition?.type) {
1657
+ mapValueType = valueTypeDefinition.type;
1658
+ }
1659
+ }
1660
+
1661
+ return { type: Map, of: mapValueType };
1662
+ }
1663
+
1664
+ // Handle any/unknown types
1665
+ // In Zod v4, any/unknown schemas have type: "any" or "unknown"
1666
+ if (zodType === 'any' || zodType === 'unknown') {
1667
+ return { type: Schema.Types.Mixed };
1668
+ }
1669
+
1670
+ // Handle void/undefined types
1671
+ // In Zod v4, void/undefined schemas have type: "void" or "undefined"
1672
+ if (zodType === 'void' || zodType === 'undefined') {
1673
+ return { type: Schema.Types.Mixed };
1674
+ }
1675
+
1676
+ // Handle never type
1677
+ // In Zod v4, never schemas have type: "never"
1678
+ if (zodType === 'never') {
1679
+ return { type: Schema.Types.Mixed };
1680
+ }
1681
+
1682
+ // Fallback for unknown types
1683
+ this.logger.warn(`[ZodToMongoose] Unknown Zod type, using Mixed. Type: ${typeof zodField}`);
1684
+ return { type: Schema.Types.Mixed };
1685
+ }
1686
+
1687
+ // =================================================================
1688
+ // VALIDATION AND HELPER METHODS
1689
+ // =================================================================
1690
+
1691
+ /**
1692
+ * Validates and fixes field types to ensure Mongoose compatibility
1693
+ * @param mongooseDefinition The mongoose schema definition to validate
1694
+ * @param resourceType The resource type for debugging
1695
+ */
1696
+ private validateAndFixFieldTypes(mongooseDefinition: any, resourceType: string): void {
1697
+ this.validateFieldsRecursively(mongooseDefinition, resourceType, '');
1698
+ }
1699
+
1700
+ /**
1701
+ * Recursively validates and fixes field types
1702
+ * @param obj The object to validate
1703
+ * @param resourceType The resource type for debugging
1704
+ * @param path The current field path for debugging
1705
+ */
1706
+ /**
1707
+ * Checks if a value is a Mongoose Schema instance or looks like one
1708
+ * More robust than instanceof to handle different Schema versions/instances
1709
+ */
1710
+ private isSchemaLike(value: any): boolean {
1711
+ if (!value || typeof value !== 'object') return false;
1712
+ // Check instanceof first (most reliable)
1713
+ if (value instanceof Schema) {
1714
+ return true;
1715
+ }
1716
+ // Check for Schema constructor
1717
+ if (value.constructor && value.constructor.name === 'Schema') {
1718
+ return true;
1719
+ }
1720
+ // Check for Schema-specific properties as fallback
1721
+ // A real Schema instance has: paths, methods, statics, virtuals, options
1722
+ // Even newly created empty schemas have these
1723
+ return (
1724
+ typeof value.paths === 'object' &&
1725
+ typeof value.methods === 'object' &&
1726
+ typeof value.statics === 'object' &&
1727
+ typeof value.virtuals === 'object' &&
1728
+ typeof value.options === 'object'
1729
+ );
1730
+ }
1731
+
1732
+
1733
+ private validateFieldsRecursively(obj: any, resourceType: string, path: string): void {
1734
+ if (!obj || typeof obj !== 'object' || Array.isArray(obj)) {
1735
+ return;
1736
+ }
1737
+
1738
+
1739
+ // CRITICAL: If obj itself is a Schema instance, do not iterate over it
1740
+ // Schema instances have internal properties that should not be validated as fields
1741
+ if (this.isSchemaLike(obj)) {
1742
+ return;
1743
+ }
1744
+
1745
+ for (const [fieldName, fieldValue] of Object.entries(obj)) {
1746
+ const fieldPath = path ? `${path}.${fieldName}` : fieldName;
1747
+
1748
+ // CRITICAL: If fieldValue is a Schema instance, skip it entirely
1749
+ // Schema instances are already valid and should not be validated
1750
+ if (this.isSchemaLike(fieldValue)) {
1751
+ continue;
1752
+ }
1753
+
1754
+ if (fieldValue && typeof fieldValue === 'object' && !Array.isArray(fieldValue)) {
1755
+ // CRITICAL: If fieldValue has a 'type' property that is a Schema instance,
1756
+ // skip validation entirely - it's already properly wrapped
1757
+ if ('type' in fieldValue && this.isSchemaLike(fieldValue.type)) {
1758
+ continue;
1759
+ }
1760
+
1761
+ // Check if this is a field definition (should have a type property or be a nested object)
1762
+ const hasTypeProperty = 'type' in fieldValue;
1763
+ const hasNestedFields = Object.keys(fieldValue).some(key =>
1764
+ key !== 'default' && key !== 'required' && key !== '_id' && key !== 'type' &&
1765
+ typeof fieldValue[key] === 'object'
1766
+ );
1767
+
1768
+ // Valid Mongoose schema properties that don't require a 'type' property
1769
+ const validMongooseProperties = [
1770
+ 'match', 'min', 'max', 'minlength', 'maxlength',
1771
+ 'enum', 'required', 'default', 'validate', 'get', 'set',
1772
+ 'transform', 'alias', 'immutable', 'sparse', 'unique',
1773
+ 'index', 'select', 'populate', 'discriminator', '_id'
1774
+ ];
1775
+
1776
+ const hasOnlyValidMongooseProperties = Object.keys(fieldValue).every(key =>
1777
+ validMongooseProperties.includes(key)
1778
+ );
1779
+
1780
+ if (!hasTypeProperty && !hasNestedFields && !hasOnlyValidMongooseProperties) {
1781
+ // This field is missing a type property - fix it
1782
+ this.logger.warn(`[ZodToMongoose] FIXING field '${fieldPath}' in resource '${resourceType}': Missing type property`);
1783
+ this.logger.warn(`[ZodToMongoose] Field value keys: ${Object.keys(fieldValue as Record<string, unknown>).join(', ')}`);
1784
+
1785
+ let mongooseType: any = Schema.Types.Mixed; // Default fallback
1786
+
1787
+ // Try to infer type from default value if available
1788
+ if ('default' in fieldValue) {
1789
+ const defaultValue = fieldValue.default;
1790
+ if (typeof defaultValue === 'boolean') {
1791
+ mongooseType = Schema.Types.Boolean;
1792
+ } else if (typeof defaultValue === 'string') {
1793
+ mongooseType = Schema.Types.String;
1794
+ } else if (typeof defaultValue === 'number') {
1795
+ mongooseType = Schema.Types.Number;
1796
+ } else if (defaultValue instanceof Date) {
1797
+ mongooseType = Schema.Types.Date;
1798
+ }
1799
+ }
1800
+ // For fields with only 'required: true', assume String as a safe default
1801
+ else if ('required' in fieldValue && Object.keys(fieldValue).length === 1) {
1802
+ mongooseType = String;
1803
+ }
1804
+
1805
+ // Fix the field definition
1806
+ obj[fieldName] = {
1807
+ type: mongooseType,
1808
+ ...fieldValue
1809
+ };
1810
+
1811
+ this.logger.warn(`[ZodToMongoose] Fixed to: ${JSON.stringify(obj[fieldName])}`);
1812
+ } else if (hasNestedFields) {
1813
+ // Recursively validate nested objects, but exclude valid Mongoose properties AND type
1814
+ const validMongooseKeys = ['match', 'min', 'max', 'minlength', 'maxlength', 'enum', 'required', 'default', 'validate', 'get', 'set', 'transform', 'alias', 'immutable', 'sparse', 'unique', 'index', 'select', 'populate', 'discriminator', '_id', 'type'];
1815
+ const nestedFields = Object.fromEntries(
1816
+ Object.entries(fieldValue).filter(([key]) => !validMongooseKeys.includes(key))
1817
+ );
1818
+ this.validateFieldsRecursively(nestedFields, resourceType, fieldPath);
1819
+ } else if (hasTypeProperty && fieldValue.type && typeof fieldValue.type === 'object') {
1820
+ // CRITICAL: If fieldValue.type is a Schema instance, DO NOT validate it
1821
+ // Schema instances have internal properties (methods, options, etc.) that should not be treated as fields
1822
+ if (!this.isSchemaLike(fieldValue.type)) {
1823
+ // This is a nested object type (plain object definition) - validate its contents
1824
+ this.validateFieldsRecursively(fieldValue.type, resourceType, fieldPath);
1825
+ }
1826
+ // If it's a Schema instance, we skip validation - it's already a valid Mongoose schema
1827
+ }
1828
+ }
1829
+ }
1830
+ }
1831
+
1832
+
1833
+ // =================================================================
1834
+ // UTILITY AND HELPER METHODS
1835
+ // =================================================================
1836
+
1837
+ /**
1838
+ * Maps USER_SELF_* resources to their equivalent collection names
1839
+ * This ensures USER_SELF resources use the same MongoDB collections
1840
+ * as their non-SELF counterparts while maintaining separate models
1841
+ */
1842
+ private getCollectionNameForResource(resourceType: ResourceType): string {
1843
+ const collectionMapping: Record<string, string> = {
1844
+ [CoreResourceType.USER_SELF]: CoreResourceType.USERS,
1845
+ [CoreResourceType.USER_SELF_PROFILES]: CoreResourceType.USER_PROFILES,
1846
+ [CoreResourceType.USER_SELF_PREFERENCES]: CoreResourceType.USER_PREFERENCES,
1847
+ };
1848
+
1849
+ // Return mapped collection name or original resource type
1850
+ return collectionMapping[resourceType as string] || (resourceType as string);
1851
+ }
1852
+
1853
+ /**
1854
+ * Standardizes toObject/toJSON to serialize ObjectId fields as strings.
1855
+ * Keeps internal schema types as ObjectId for queries, but outputs strings for DTO parsing.
1856
+ */
1857
+ private applyStandardTransforms(mongooseSchema: Schema): void {
1858
+ const hasToObject = (mongooseSchema as any).options?.toObject;
1859
+ const hasToJSON = (mongooseSchema as any).options?.toJSON;
1860
+
1861
+ mongooseSchema.set('toObject', {
1862
+ ...(hasToObject || {}),
1863
+ transform: (doc: any, ret: any) => {
1864
+ this.serializeObjectIds(ret);
1865
+ if (typeof (hasToObject as any)?.transform === 'function') {
1866
+ (hasToObject as any).transform(doc, ret);
1867
+ }
1868
+ return ret;
1869
+ }
1870
+ });
1871
+
1872
+ mongooseSchema.set('toJSON', {
1873
+ ...(hasToJSON || {}),
1874
+ transform: (doc: any, ret: any) => {
1875
+ this.serializeObjectIds(ret);
1876
+ if (typeof (hasToJSON as any)?.transform === 'function') {
1877
+ (hasToJSON as any).transform(doc, ret);
1878
+ }
1879
+ return ret;
1880
+ }
1881
+ });
1882
+ }
1883
+
1884
+ private serializeObjectIds(obj: any): void {
1885
+ if (!obj || typeof obj !== 'object') return;
1886
+ const stack: any[] = [obj];
1887
+ while (stack.length) {
1888
+ const current = stack.pop();
1889
+ for (const key of Object.keys(current)) {
1890
+ const value = current[key];
1891
+ if (value && typeof value === 'object') {
1892
+ // ObjectId array
1893
+ if (Array.isArray(value)) {
1894
+ for (let i = 0; i < value.length; i++) {
1895
+ const v = value[i] as any;
1896
+ if (v && typeof v === 'object' && (v as any)?._bsontype === 'ObjectId') {
1897
+ value[i] = String(v);
1898
+ } else if (v && typeof v === 'object') {
1899
+ stack.push(v);
1900
+ }
1901
+ }
1902
+ } else if ((value as any)?._bsontype === 'ObjectId' || value instanceof (Types as any).ObjectId) {
1903
+ current[key] = String(value);
1904
+ } else {
1905
+ stack.push(value);
1906
+ }
1907
+ }
1908
+ }
1909
+ }
1910
+ }
1911
+
1912
+ /**
1913
+ * Determines if a Zod field is required
1914
+ * @param zodField The Zod field to check
1915
+ * @returns True if the field is required
1916
+ */
1917
+ private isFieldRequired(zodField: z.ZodTypeAny): boolean {
1918
+ // Check if it's wrapped in ZodOptional or ZodNullable
1919
+ // In Zod v4, optional/nullable schemas have type: "optional" or "nullable"
1920
+ if (isZodOptional(zodField) || isZodNullable(zodField)) {
1921
+ return false;
1922
+ }
1923
+
1924
+ // Check if it has a default value
1925
+ // In Zod v4, default schemas have type: "default"
1926
+ if (isZodDefault(zodField)) {
1927
+ return false;
1928
+ }
1929
+
1930
+ // Otherwise, it's required
1931
+ return true;
1932
+ }
1933
+
1934
+ /**
1935
+ * Applies indexes to a Mongoose schema
1936
+ * @param mongooseSchema The schema to apply indexes to
1937
+ * @param indexesToApply Array of field paths to index
1938
+ * @param uniqueIndexesToApply Array of unique index info with paths and params
1939
+ * @param ttlIndexesToApply Array of TTL index info with paths and params
1940
+ */
1941
+ private applyIndexesToSchema(
1942
+ mongooseSchema: Schema,
1943
+ indexesToApply: string[],
1944
+ uniqueIndexesToApply: UniqueIndexInfo[] = [],
1945
+ ttlIndexesToApply: TtlIndexInfo[] = []
1946
+ ): void {
1947
+ const appliedPaths = new Set<string>();
1948
+
1949
+ // First, collect all paths that will have unique indexes to avoid duplicates
1950
+ const uniqueIndexPaths = new Set<string>();
1951
+ for (const uniqueInfo of uniqueIndexesToApply) {
1952
+ const normalizedPath = (uniqueInfo.path || '').replace(/\[\]/g, '').trim();
1953
+ if (normalizedPath) {
1954
+ uniqueIndexPaths.add(normalizedPath);
1955
+ }
1956
+ }
1957
+
1958
+ // Apply regular indexes
1959
+ for (const rawPath of indexesToApply) {
1960
+ try {
1961
+ // Normalize array notation and trim whitespace
1962
+ const normalizedPath = (rawPath || '').replace(/\[\]/g, '').trim();
1963
+
1964
+ // Skip invalid or empty paths
1965
+ if (!normalizedPath) continue;
1966
+
1967
+ // Never attempt to index _id (MongoDB manages it). Also skip nested '.*._id'
1968
+ if (normalizedPath === '_id' || normalizedPath.endsWith('._id')) {
1969
+ continue;
1970
+ }
1971
+
1972
+ // Skip paths that will have unique indexes (unique indexes already create an index)
1973
+ if (uniqueIndexPaths.has(normalizedPath)) {
1974
+ continue;
1975
+ }
1976
+
1977
+ // De-duplicate
1978
+ if (appliedPaths.has(normalizedPath)) continue;
1979
+ appliedPaths.add(normalizedPath);
1980
+
1981
+ // Create a simple index on the field
1982
+ const indexSpec: Record<string, 1> = {};
1983
+ indexSpec[normalizedPath] = 1;
1984
+ mongooseSchema.index(indexSpec);
1985
+ } catch (error) {
1986
+ this.logger.warn(`[ZodToMongoose] Failed to apply index on path '${rawPath}': ${error instanceof Error ? error.message : String(error)}`);
1987
+ }
1988
+ }
1989
+
1990
+ // Apply unique indexes
1991
+ const appliedUniquePaths = new Set<string>();
1992
+ for (const uniqueInfo of uniqueIndexesToApply) {
1993
+ try {
1994
+ // Normalize array notation and trim whitespace
1995
+ const normalizedPath = (uniqueInfo.path || '').replace(/\[\]/g, '').trim();
1996
+
1997
+ // Skip invalid or empty paths
1998
+ if (!normalizedPath) continue;
1999
+
2000
+ // Never attempt to index _id (MongoDB manages it). Also skip nested '.*._id'
2001
+ if (normalizedPath === '_id' || normalizedPath.endsWith('._id')) {
2002
+ continue;
2003
+ }
2004
+
2005
+ // De-duplicate (unique indexes take precedence, so remove from regular indexes if exists)
2006
+ if (appliedUniquePaths.has(normalizedPath)) continue;
2007
+ appliedUniquePaths.add(normalizedPath);
2008
+
2009
+ const params = uniqueInfo.params || {};
2010
+ const scope = params.scope || 'global';
2011
+ const sparse = params.sparse !== false; // Default to true
2012
+
2013
+ // Create index spec based on scope or compoundWith
2014
+ const indexSpec: Record<string, 1> = {};
2015
+
2016
+ if (params.compoundWith) {
2017
+ // Resolve compoundWith field — handles polymorphic renames automatically
2018
+ let compoundField = params.compoundWith;
2019
+ if (!(mongooseSchema as any).paths?.[compoundField]) {
2020
+ const suffix = compoundField.charAt(0).toUpperCase() + compoundField.slice(1);
2021
+ const schemaFields = Object.keys((mongooseSchema as any).paths || {});
2022
+ const match = schemaFields.find(p => p.endsWith(suffix) && p !== normalizedPath);
2023
+ if (match) {
2024
+ compoundField = match;
2025
+ } else {
2026
+ this.logger.warn(`[ZodToMongoose] compoundWith field '${params.compoundWith}' not found in schema paths (suffix '${suffix}'). Available: ${schemaFields.join(', ')}`);
2027
+ }
2028
+ }
2029
+ indexSpec[compoundField] = 1;
2030
+ indexSpec[normalizedPath] = 1;
2031
+ } else if (scope === 'organization') {
2032
+ // Compound unique index: organizationId + field
2033
+ indexSpec['organizationId'] = 1;
2034
+ indexSpec[normalizedPath] = 1;
2035
+ } else if (scope === 'user') {
2036
+ // Compound unique index: createdByUserId + field
2037
+ indexSpec['createdByUserId'] = 1;
2038
+ indexSpec[normalizedPath] = 1;
2039
+ } else {
2040
+ // Global unique index
2041
+ indexSpec[normalizedPath] = 1;
2042
+ }
2043
+
2044
+ // Apply unique index with options
2045
+ const indexOptions: { unique: true; sparse?: boolean } = { unique: true };
2046
+ if (sparse) {
2047
+ indexOptions.sparse = true;
2048
+ }
2049
+
2050
+ mongooseSchema.index(indexSpec, indexOptions);
2051
+ } catch (error) {
2052
+ this.logger.warn(`[ZodToMongoose] Failed to apply unique index on path '${uniqueInfo.path}': ${error instanceof Error ? error.message : String(error)}`);
2053
+ }
2054
+ }
2055
+
2056
+ // Apply TTL indexes
2057
+ // MongoDB TTL indexes automatically delete documents after a specified time
2058
+ // TTL indexes can only be applied to Date fields
2059
+ const appliedTtlPaths = new Set<string>();
2060
+ for (const ttlInfo of ttlIndexesToApply) {
2061
+ try {
2062
+ // Normalize array notation and trim whitespace
2063
+ const normalizedPath = (ttlInfo.path || '').replace(/\[\]/g, '').trim();
2064
+
2065
+ // Skip invalid or empty paths
2066
+ if (!normalizedPath) continue;
2067
+
2068
+ // De-duplicate
2069
+ if (appliedTtlPaths.has(normalizedPath)) continue;
2070
+ appliedTtlPaths.add(normalizedPath);
2071
+
2072
+ const params = ttlInfo.params;
2073
+ const expireAfterSeconds = params.expireAfterSeconds;
2074
+
2075
+ // Create TTL index on the field
2076
+ const indexSpec: Record<string, 1> = {};
2077
+ indexSpec[normalizedPath] = 1;
2078
+
2079
+ // Apply TTL index with expireAfterSeconds option
2080
+ mongooseSchema.index(indexSpec, { expireAfterSeconds });
2081
+
2082
+ this.logDebug(`Applied TTL index on path '${normalizedPath}' with expireAfterSeconds: ${expireAfterSeconds}`);
2083
+ } catch (error) {
2084
+ this.logger.warn(`[ZodToMongoose] Failed to apply TTL index on path '${ttlInfo.path}': ${error instanceof Error ? error.message : String(error)}`);
2085
+ }
2086
+ }
2087
+ }
2088
+
2089
+ /**
2090
+ * Checks if a definition is an object definition (not a primitive type)
2091
+ * @param definition The definition to check
2092
+ * @returns True if it's an object definition
2093
+ */
2094
+ private isObjectDefinition(definition: any): boolean {
2095
+ return definition &&
2096
+ typeof definition === 'object' &&
2097
+ !Array.isArray(definition) &&
2098
+ !definition.type &&
2099
+ Object.keys(definition).length > 0;
2100
+ }
2101
+
2102
+ /**
2103
+ * Generates a hash for a schema for caching purposes
2104
+ * @param schema The schema to hash
2105
+ * @returns A hash string
2106
+ */
2107
+ private getSchemaHash(schema: any): string {
2108
+ try {
2109
+ const schemaString = JSON.stringify(schema, (key, value) => {
2110
+ if (typeof value === 'function') return '[Function]';
2111
+ if (value instanceof RegExp) return value.toString();
2112
+ return value;
2113
+ });
2114
+ return schemaString.length.toString(36) + schemaString.slice(0, 10);
2115
+ } catch {
2116
+ return Math.random().toString(36).substr(2, 9);
2117
+ }
2118
+ }
2119
+
2120
+ // =================================================================
2121
+ // DEBUG AND UTILITY METHODS
2122
+ // =================================================================
2123
+
2124
+ /**
2125
+ * Debug display method to show schema structure for a specific model
2126
+ * @param model The Mongoose model to analyze
2127
+ * @param showDetails Whether to show detailed field information
2128
+ */
2129
+ debugDisplayModelSchema(model: Model<any>, showDetails: boolean = true): void {
2130
+
2131
+ this.logDebug(`\n🔍 === MODEL SCHEMA DEBUG: ${model.modelName} ===`);
2132
+ this.logDebug(`Collection: ${model.collection.name}`);
2133
+ this.logDebug(`Schema Fields: ${this.countSchemaFields(model.schema)}`);
2134
+ this.logDebug(`Indexes: ${model.schema.indexes().length}`);
2135
+
2136
+ if (showDetails) {
2137
+ this.displaySchemaStructure(model.schema, model.modelName);
2138
+
2139
+ const indexes = model.schema.indexes();
2140
+ if (indexes.length > 0) {
2141
+ this.logDebug('\n🗂️ Indexes:');
2142
+ indexes.forEach((index, i) => {
2143
+ const [fields, options] = index;
2144
+ const fieldsStr = Object.entries(fields)
2145
+ .map(([field, direction]) => `${field}:${direction}`)
2146
+ .join(', ');
2147
+ const optionsStr = options && Object.keys(options).length > 0
2148
+ ? ` (${Object.entries(options).map(([k, v]) => `${k}:${v}`).join(', ')})`
2149
+ : '';
2150
+ this.logDebug(` ${i + 1}. {${fieldsStr}}${optionsStr}`);
2151
+ });
2152
+ }
2153
+ }
2154
+ this.logDebug('=================================\n');
2155
+ }
2156
+
2157
+ /**
2158
+ * Debug method to show simplified schema summary
2159
+ * @param models Array of models to analyze
2160
+ */
2161
+ debugShowModelsSummary(models: Model<any>[]): void {
2162
+
2163
+ this.logDebug('\n📋 === MODELS SUMMARY ===');
2164
+
2165
+ if (models.length === 0) {
2166
+ this.logDebug('No models provided.');
2167
+ return;
2168
+ }
2169
+
2170
+ for (const model of models) {
2171
+ const fieldCount = this.countSchemaFields(model.schema);
2172
+ const indexCount = model.schema.indexes().length;
2173
+ this.logDebug(`${model.modelName}: ${fieldCount} fields, ${indexCount} indexes`);
2174
+ }
2175
+ this.logDebug('========================\n');
2176
+ }
2177
+
2178
+ /**
2179
+ * Counts schema fields recursively
2180
+ * @param schema The Mongoose schema
2181
+ * @returns Total field count
2182
+ */
2183
+ private countSchemaFields(schema: Schema): number {
2184
+ if (!schema || !schema.paths) return 0;
2185
+
2186
+ const paths = schema.paths;
2187
+ const pathNames = Object.keys(paths)
2188
+ .filter(path => !['__v', '_version_db_doc'].includes(path))
2189
+ .sort();
2190
+
2191
+ return pathNames.length;
2192
+ }
2193
+
2194
+ /**
2195
+ * Displays the structure of a Mongoose schema for debugging
2196
+ * @param schema The schema to display
2197
+ * @param schemaName Optional name for the schema
2198
+ * @param options Display options
2199
+ */
2200
+ private displaySchemaStructure(
2201
+ schema: Schema,
2202
+ schemaName: string = 'Schema',
2203
+ options: {
2204
+ showIndexes?: boolean;
2205
+ showValidators?: boolean;
2206
+ maxDepth?: number;
2207
+ } = {}
2208
+ ): void {
2209
+ const { showIndexes = true, showValidators = false, maxDepth = 3 } = options;
2210
+
2211
+ this.logDebug(`\n=== ${schemaName} Structure ===`);
2212
+
2213
+ if (!schema || !schema.paths) {
2214
+ this.logDebug('No schema paths found');
2215
+ return;
2216
+ }
2217
+
2218
+ const paths = schema.paths;
2219
+ const pathNames = Object.keys(paths)
2220
+ .filter(path => !['__v', '_version_db_doc'].includes(path))
2221
+ .sort();
2222
+
2223
+ for (const pathName of pathNames) {
2224
+ const pathInfo = this.getPathTypeInfo(paths[pathName]);
2225
+
2226
+ // Start with base type
2227
+ let pathDisplay = `${pathName}: `;
2228
+
2229
+ if (pathInfo.isArray) {
2230
+ // For arrays, show [ElementType] format
2231
+ const elementType = pathInfo.arrayElementType || 'Mixed';
2232
+ pathDisplay += `[${elementType}]`;
2233
+ } else {
2234
+ pathDisplay += pathInfo.type;
2235
+ }
2236
+
2237
+ // Collect all additional info in parentheses
2238
+ const additionalInfo: string[] = [];
2239
+
2240
+ // Required vs Optional
2241
+ if (pathInfo.isRequired) {
2242
+ additionalInfo.push('required');
2243
+ } else {
2244
+ additionalInfo.push('optional');
2245
+ }
2246
+
2247
+ // Enum values
2248
+ if (pathInfo.enumValues.length > 0) {
2249
+ const enumList = pathInfo.enumValues.join(', ');
2250
+ additionalInfo.push(`enum: [${enumList}]`);
2251
+ }
2252
+
2253
+ // Default value
2254
+ if (pathInfo.hasDefault) {
2255
+ let defaultStr = '';
2256
+ if (Array.isArray(pathInfo.defaultValue)) {
2257
+ defaultStr = `[${pathInfo.defaultValue.join(', ')}]`;
2258
+ } else if (typeof pathInfo.defaultValue === 'object' && pathInfo.defaultValue !== null) {
2259
+ defaultStr = JSON.stringify(pathInfo.defaultValue);
2260
+ } else if (typeof pathInfo.defaultValue === 'string') {
2261
+ defaultStr = `"${pathInfo.defaultValue}"`;
2262
+ } else {
2263
+ defaultStr = String(pathInfo.defaultValue);
2264
+ }
2265
+ additionalInfo.push(`default: ${defaultStr}`);
2266
+ }
2267
+
2268
+ // Validators
2269
+ if (showValidators && pathInfo.validators.length > 0) {
2270
+ additionalInfo.push(`validators: [${pathInfo.validators.join(', ')}]`);
2271
+ }
2272
+
2273
+ // Add all additional info in parentheses
2274
+ if (additionalInfo.length > 0) {
2275
+ pathDisplay += ` (${additionalInfo.join(', ')})`;
2276
+ }
2277
+
2278
+ this.logDebug(` ${pathDisplay}`);
2279
+
2280
+ // Show nested structure for objects
2281
+ if (pathInfo.isNested && maxDepth > 0) {
2282
+ this.displayNestedPathStructure(paths[pathName], 2, maxDepth - 1, showValidators);
2283
+ }
2284
+ }
2285
+
2286
+ if (showIndexes) {
2287
+ const indexes = schema.indexes();
2288
+ if (indexes.length > 0) {
2289
+ this.logDebug('\n Indexes:');
2290
+ indexes.forEach((index, i) => {
2291
+ this.logDebug(` ${i + 1}. ${JSON.stringify(index[0])} ${JSON.stringify(index[1] || {})}`);
2292
+ });
2293
+ }
2294
+ }
2295
+
2296
+ this.logDebug(`\nTotal paths: ${pathNames.length}`);
2297
+ }
2298
+
2299
+ /**
2300
+ * Displays nested path structure recursively with comprehensive details
2301
+ * @param path The path to display
2302
+ * @param indent Current indentation level
2303
+ * @param maxDepth Maximum depth to display
2304
+ * @param showValidators Whether to show validator information
2305
+ */
2306
+ private displayNestedPathStructure(path: any, indent: number = 0, maxDepth: number = 2, showValidators: boolean = false): void {
2307
+ if (maxDepth <= 0) return;
2308
+
2309
+ const spaces = ' '.repeat(indent);
2310
+
2311
+ if (path.schema && path.schema.paths) {
2312
+ const nestedPaths = Object.keys(path.schema.paths)
2313
+ .filter(nestedPath => !['__v', '_version_db_doc'].includes(nestedPath))
2314
+ .sort();
2315
+
2316
+ for (const nestedPath of nestedPaths) {
2317
+ const nestedPathInfo = this.getPathTypeInfo(path.schema.paths[nestedPath]);
2318
+
2319
+ // Build display string for nested field
2320
+ let nestedDisplay = `${nestedPath}: `;
2321
+
2322
+ if (nestedPathInfo.isArray) {
2323
+ const elementType = nestedPathInfo.arrayElementType || 'Mixed';
2324
+ nestedDisplay += `[${elementType}]`;
2325
+ } else {
2326
+ nestedDisplay += nestedPathInfo.type;
2327
+ }
2328
+
2329
+ // Collect additional info for nested fields
2330
+ const nestedAdditionalInfo: string[] = [];
2331
+
2332
+ // Required vs Optional
2333
+ if (nestedPathInfo.isRequired) {
2334
+ nestedAdditionalInfo.push('required');
2335
+ } else {
2336
+ nestedAdditionalInfo.push('optional');
2337
+ }
2338
+
2339
+ // Enum values
2340
+ if (nestedPathInfo.enumValues.length > 0) {
2341
+ const enumList = nestedPathInfo.enumValues.join(', ');
2342
+ nestedAdditionalInfo.push(`enum: [${enumList}]`);
2343
+ }
2344
+
2345
+ // Default value
2346
+ if (nestedPathInfo.hasDefault) {
2347
+ let defaultStr = '';
2348
+ if (Array.isArray(nestedPathInfo.defaultValue)) {
2349
+ defaultStr = `[${nestedPathInfo.defaultValue.join(', ')}]`;
2350
+ } else if (typeof nestedPathInfo.defaultValue === 'object' && nestedPathInfo.defaultValue !== null) {
2351
+ defaultStr = JSON.stringify(nestedPathInfo.defaultValue);
2352
+ } else if (typeof nestedPathInfo.defaultValue === 'string') {
2353
+ defaultStr = `"${nestedPathInfo.defaultValue}"`;
2354
+ } else {
2355
+ defaultStr = String(nestedPathInfo.defaultValue);
2356
+ }
2357
+ nestedAdditionalInfo.push(`default: ${defaultStr}`);
2358
+ }
2359
+
2360
+ // Validators
2361
+ if (showValidators && nestedPathInfo.validators.length > 0) {
2362
+ nestedAdditionalInfo.push(`validators: [${nestedPathInfo.validators.join(', ')}]`);
2363
+ }
2364
+
2365
+ // Add additional info in parentheses
2366
+ if (nestedAdditionalInfo.length > 0) {
2367
+ nestedDisplay += ` (${nestedAdditionalInfo.join(', ')})`;
2368
+ }
2369
+
2370
+ this.logDebug(`${spaces}${nestedDisplay}`);
2371
+
2372
+ if (nestedPathInfo.isNested) {
2373
+ this.displayNestedPathStructure(path.schema.paths[nestedPath], indent + 1, maxDepth - 1, showValidators);
2374
+ }
2375
+ }
2376
+ }
2377
+ }
2378
+
2379
+ /**
2380
+ * Gets comprehensive type information for a schema path
2381
+ * @param schemaType The schema type to analyze
2382
+ * @returns Object containing detailed type information
2383
+ */
2384
+ private getPathTypeInfo(schemaType: any): {
2385
+ type: string;
2386
+ isRequired: boolean;
2387
+ hasDefault: boolean;
2388
+ defaultValue: any;
2389
+ isArray: boolean;
2390
+ arrayElementType: string;
2391
+ isNested: boolean;
2392
+ validators: string[];
2393
+ enumValues: string[];
2394
+ isOptional: boolean;
2395
+ } {
2396
+ let type = 'Mixed';
2397
+ let isRequired = false;
2398
+ let hasDefault = false;
2399
+ let defaultValue: any = undefined;
2400
+ let isArray = false;
2401
+ let arrayElementType = '';
2402
+ let isNested = false;
2403
+ const validators: string[] = [];
2404
+ const enumValues: string[] = [];
2405
+
2406
+ if (schemaType) {
2407
+ // Get type name
2408
+ if (schemaType.instance) {
2409
+ type = schemaType.instance;
2410
+ } else if (schemaType.constructor && schemaType.constructor.name) {
2411
+ type = schemaType.constructor.name;
2412
+ }
2413
+
2414
+ // Check if required
2415
+ if (schemaType.isRequired) {
2416
+ isRequired = true;
2417
+ }
2418
+
2419
+ // Check if has default and get the actual value
2420
+ if (schemaType.defaultValue !== undefined) {
2421
+ hasDefault = true;
2422
+ defaultValue = schemaType.defaultValue;
2423
+
2424
+ // Handle function defaults
2425
+ if (typeof defaultValue === 'function') {
2426
+ try {
2427
+ const result = defaultValue();
2428
+ defaultValue = result;
2429
+ } catch (e) {
2430
+ defaultValue = '[Function]';
2431
+ }
2432
+ }
2433
+ }
2434
+
2435
+ // Check if array and get element type
2436
+ if (schemaType.constructor && schemaType.constructor.name === 'Array') {
2437
+ isArray = true;
2438
+
2439
+ // Try to get array element type
2440
+ if (schemaType.caster) {
2441
+ if (schemaType.caster.instance) {
2442
+ arrayElementType = schemaType.caster.instance;
2443
+ } else if (schemaType.caster.constructor && schemaType.caster.constructor.name) {
2444
+ arrayElementType = schemaType.caster.constructor.name;
2445
+ }
2446
+
2447
+ // Check for enum values in array elements
2448
+ if (schemaType.caster.enumValues && Array.isArray(schemaType.caster.enumValues)) {
2449
+ enumValues.push(...schemaType.caster.enumValues);
2450
+ }
2451
+ }
2452
+ }
2453
+
2454
+ // Check if nested (has embedded schema)
2455
+ if (schemaType.schema) {
2456
+ isNested = true;
2457
+ type = 'Object';
2458
+ }
2459
+
2460
+ // Check for enum values
2461
+ if (schemaType.enumValues && Array.isArray(schemaType.enumValues)) {
2462
+ enumValues.push(...schemaType.enumValues);
2463
+ }
2464
+
2465
+ // Collect validators
2466
+ if (schemaType.validators && Array.isArray(schemaType.validators)) {
2467
+ validators.push(...schemaType.validators.map((v: any) => v.type || 'custom'));
2468
+ }
2469
+ }
2470
+
2471
+ const isOptional = !isRequired;
2472
+
2473
+ return {
2474
+ type,
2475
+ isRequired,
2476
+ hasDefault,
2477
+ defaultValue,
2478
+ isArray,
2479
+ arrayElementType,
2480
+ isNested,
2481
+ validators,
2482
+ enumValues,
2483
+ isOptional
2484
+ };
2485
+ }
2486
+ }