@lenne.tech/nest-server 11.43.2 → 12.0.0

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 (1404) hide show
  1. package/.claude/rules/architecture.md +82 -0
  2. package/.claude/rules/module-deprecation.md +3 -2
  3. package/.claude/rules/package-management.md +26 -15
  4. package/.claude/rules/role-system.md +17 -0
  5. package/.claude/rules/testing.md +24 -15
  6. package/CLAUDE.md +29 -4
  7. package/FRAMEWORK-API.md +215 -215
  8. package/bin/migrate.js +18 -17
  9. package/bin/package.json +3 -0
  10. package/dist/config.env.d.ts +1 -1
  11. package/dist/config.env.js +34 -43
  12. package/dist/config.env.js.map +1 -1
  13. package/dist/core/common/args/filter.args.d.ts +2 -2
  14. package/dist/core/common/args/filter.args.js +13 -16
  15. package/dist/core/common/args/filter.args.js.map +1 -1
  16. package/dist/core/common/args/pagination.args.d.ts +2 -2
  17. package/dist/core/common/args/pagination.args.js +20 -23
  18. package/dist/core/common/args/pagination.args.js.map +1 -1
  19. package/dist/core/common/decorators/api-methods.decorator.js +3 -7
  20. package/dist/core/common/decorators/api-methods.decorator.js.map +1 -1
  21. package/dist/core/common/decorators/common-error.decorator.js +6 -10
  22. package/dist/core/common/decorators/common-error.decorator.js.map +1 -1
  23. package/dist/core/common/decorators/current-user.decorator.js +3 -6
  24. package/dist/core/common/decorators/current-user.decorator.js.map +1 -1
  25. package/dist/core/common/decorators/graphql-populate.decorator.d.ts +1 -1
  26. package/dist/core/common/decorators/graphql-populate.decorator.js +3 -6
  27. package/dist/core/common/decorators/graphql-populate.decorator.js.map +1 -1
  28. package/dist/core/common/decorators/graphql-service-options.decorator.d.ts +1 -1
  29. package/dist/core/common/decorators/graphql-service-options.decorator.js +7 -10
  30. package/dist/core/common/decorators/graphql-service-options.decorator.js.map +1 -1
  31. package/dist/core/common/decorators/graphql-user.decorator.js +4 -7
  32. package/dist/core/common/decorators/graphql-user.decorator.js.map +1 -1
  33. package/dist/core/common/decorators/nested-type.registry.js +3 -7
  34. package/dist/core/common/decorators/nested-type.registry.js.map +1 -1
  35. package/dist/core/common/decorators/response-model.decorator.d.ts +1 -1
  36. package/dist/core/common/decorators/response-model.decorator.js +3 -7
  37. package/dist/core/common/decorators/response-model.decorator.js.map +1 -1
  38. package/dist/core/common/decorators/rest-service-options.decorator.js +4 -7
  39. package/dist/core/common/decorators/rest-service-options.decorator.js.map +1 -1
  40. package/dist/core/common/decorators/rest-user.decorator.js +2 -5
  41. package/dist/core/common/decorators/rest-user.decorator.js.map +1 -1
  42. package/dist/core/common/decorators/restricted.decorator.d.ts +3 -3
  43. package/dist/core/common/decorators/restricted.decorator.js +42 -52
  44. package/dist/core/common/decorators/restricted.decorator.js.map +1 -1
  45. package/dist/core/common/decorators/restrictions-checked.marker.js +8 -14
  46. package/dist/core/common/decorators/restrictions-checked.marker.js.map +1 -1
  47. package/dist/core/common/decorators/roles.decorator.js +2 -6
  48. package/dist/core/common/decorators/roles.decorator.js.map +1 -1
  49. package/dist/core/common/decorators/translatable.decorator.js +4 -9
  50. package/dist/core/common/decorators/translatable.decorator.js.map +1 -1
  51. package/dist/core/common/decorators/unified-field.decorator.d.ts +4 -4
  52. package/dist/core/common/decorators/unified-field.decorator.js +56 -64
  53. package/dist/core/common/decorators/unified-field.decorator.js.map +1 -1
  54. package/dist/core/common/enums/comparison-operator.enum.js +4 -7
  55. package/dist/core/common/enums/comparison-operator.enum.js.map +1 -1
  56. package/dist/core/common/enums/logical-operator.enum.js +4 -7
  57. package/dist/core/common/enums/logical-operator.enum.js.map +1 -1
  58. package/dist/core/common/enums/process-type.enum.js +2 -5
  59. package/dist/core/common/enums/process-type.enum.js.map +1 -1
  60. package/dist/core/common/enums/role.enum.js +14 -22
  61. package/dist/core/common/enums/role.enum.js.map +1 -1
  62. package/dist/core/common/enums/sort-order.emum.js +4 -7
  63. package/dist/core/common/enums/sort-order.emum.js.map +1 -1
  64. package/dist/core/common/exceptions/access-denied.exception.js +5 -8
  65. package/dist/core/common/exceptions/access-denied.exception.js.map +1 -1
  66. package/dist/core/common/filters/http-exception-log.filter.js +7 -9
  67. package/dist/core/common/filters/http-exception-log.filter.js.map +1 -1
  68. package/dist/core/common/filters/mongoose-cast-error.filter.js +16 -23
  69. package/dist/core/common/filters/mongoose-cast-error.filter.js.map +1 -1
  70. package/dist/core/common/helpers/clone.helper.js +6 -10
  71. package/dist/core/common/helpers/clone.helper.js.map +1 -1
  72. package/dist/core/common/helpers/common.helper.js +2 -6
  73. package/dist/core/common/helpers/common.helper.js.map +1 -1
  74. package/dist/core/common/helpers/config.helper.d.ts +1 -0
  75. package/dist/core/common/helpers/config.helper.js +35 -40
  76. package/dist/core/common/helpers/config.helper.js.map +1 -1
  77. package/dist/core/common/helpers/content-disposition.helper.js +1 -4
  78. package/dist/core/common/helpers/content-disposition.helper.js.map +1 -1
  79. package/dist/core/common/helpers/context.helper.js +4 -8
  80. package/dist/core/common/helpers/context.helper.js.map +1 -1
  81. package/dist/core/common/helpers/cookies.helper.d.ts +1 -1
  82. package/dist/core/common/helpers/cookies.helper.js +20 -37
  83. package/dist/core/common/helpers/cookies.helper.js.map +1 -1
  84. package/dist/core/common/helpers/db.helper.d.ts +5 -5
  85. package/dist/core/common/helpers/db.helper.js +32 -52
  86. package/dist/core/common/helpers/db.helper.js.map +1 -1
  87. package/dist/core/common/helpers/decorator.helper.js +9 -13
  88. package/dist/core/common/helpers/decorator.helper.js.map +1 -1
  89. package/dist/core/common/helpers/execution-context-request.helper.js +1 -4
  90. package/dist/core/common/helpers/execution-context-request.helper.js.map +1 -1
  91. package/dist/core/common/helpers/file.helper.d.ts +1 -1
  92. package/dist/core/common/helpers/file.helper.js +24 -32
  93. package/dist/core/common/helpers/file.helper.js.map +1 -1
  94. package/dist/core/common/helpers/filter.helper.d.ts +2 -2
  95. package/dist/core/common/helpers/filter.helper.js +35 -44
  96. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  97. package/dist/core/common/helpers/graceful-shutdown.helper.js +5 -8
  98. package/dist/core/common/helpers/graceful-shutdown.helper.js.map +1 -1
  99. package/dist/core/common/helpers/graphql-ws-connection.helper.d.ts +3 -1
  100. package/dist/core/common/helpers/graphql-ws-connection.helper.js +25 -32
  101. package/dist/core/common/helpers/graphql-ws-connection.helper.js.map +1 -1
  102. package/dist/core/common/helpers/graphql-ws-context.helper.d.ts +2 -2
  103. package/dist/core/common/helpers/graphql-ws-context.helper.js +25 -33
  104. package/dist/core/common/helpers/graphql-ws-context.helper.js.map +1 -1
  105. package/dist/core/common/helpers/graphql.helper.js +14 -29
  106. package/dist/core/common/helpers/graphql.helper.js.map +1 -1
  107. package/dist/core/common/helpers/gridfs.helper.js +3 -7
  108. package/dist/core/common/helpers/gridfs.helper.js.map +1 -1
  109. package/dist/core/common/helpers/id.helper.d.ts +1 -1
  110. package/dist/core/common/helpers/id.helper.js +9 -15
  111. package/dist/core/common/helpers/id.helper.js.map +1 -1
  112. package/dist/core/common/helpers/input.helper.d.ts +3 -3
  113. package/dist/core/common/helpers/input.helper.js +68 -110
  114. package/dist/core/common/helpers/input.helper.js.map +1 -1
  115. package/dist/core/common/helpers/interceptor.helper.d.ts +1 -1
  116. package/dist/core/common/helpers/interceptor.helper.js +7 -11
  117. package/dist/core/common/helpers/interceptor.helper.js.map +1 -1
  118. package/dist/core/common/helpers/logging.helper.js +7 -16
  119. package/dist/core/common/helpers/logging.helper.js.map +1 -1
  120. package/dist/core/common/helpers/meta.helper.js +14 -20
  121. package/dist/core/common/helpers/meta.helper.js.map +1 -1
  122. package/dist/core/common/helpers/model.helper.js +20 -31
  123. package/dist/core/common/helpers/model.helper.js.map +1 -1
  124. package/dist/core/common/helpers/module-location.helper.d.ts +1 -0
  125. package/dist/core/common/helpers/module-location.helper.js +20 -0
  126. package/dist/core/common/helpers/module-location.helper.js.map +1 -0
  127. package/dist/core/common/helpers/outbound-url.helper.js +24 -33
  128. package/dist/core/common/helpers/outbound-url.helper.js.map +1 -1
  129. package/dist/core/common/helpers/process-diagnostics.helper.js +6 -10
  130. package/dist/core/common/helpers/process-diagnostics.helper.js.map +1 -1
  131. package/dist/core/common/helpers/project-name.helper.js +4 -8
  132. package/dist/core/common/helpers/project-name.helper.js.map +1 -1
  133. package/dist/core/common/helpers/register-enum.helper.js +11 -16
  134. package/dist/core/common/helpers/register-enum.helper.js.map +1 -1
  135. package/dist/core/common/helpers/scim.helper.js +1 -4
  136. package/dist/core/common/helpers/scim.helper.js.map +1 -1
  137. package/dist/core/common/helpers/service.helper.d.ts +3 -3
  138. package/dist/core/common/helpers/service.helper.js +29 -36
  139. package/dist/core/common/helpers/service.helper.js.map +1 -1
  140. package/dist/core/common/helpers/swagger.helper.d.ts +2 -2
  141. package/dist/core/common/helpers/swagger.helper.js +116 -86
  142. package/dist/core/common/helpers/swagger.helper.js.map +1 -1
  143. package/dist/core/common/helpers/table.helper.js +1 -4
  144. package/dist/core/common/helpers/table.helper.js.map +1 -1
  145. package/dist/core/common/helpers/validation-message.helper.js +2 -6
  146. package/dist/core/common/helpers/validation-message.helper.js.map +1 -1
  147. package/dist/core/common/inputs/combined-filter.input.d.ts +1 -1
  148. package/dist/core/common/inputs/combined-filter.input.js +1 -5
  149. package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
  150. package/dist/core/common/inputs/core-input.input.d.ts +1 -1
  151. package/dist/core/common/inputs/core-input.input.js +4 -8
  152. package/dist/core/common/inputs/core-input.input.js.map +1 -1
  153. package/dist/core/common/inputs/filter.input.d.ts +3 -3
  154. package/dist/core/common/inputs/filter.input.js +31 -34
  155. package/dist/core/common/inputs/filter.input.js.map +1 -1
  156. package/dist/core/common/inputs/single-filter.input.d.ts +2 -2
  157. package/dist/core/common/inputs/single-filter.input.js +28 -31
  158. package/dist/core/common/inputs/single-filter.input.js.map +1 -1
  159. package/dist/core/common/inputs/sort.input.d.ts +2 -2
  160. package/dist/core/common/inputs/sort.input.js +16 -19
  161. package/dist/core/common/inputs/sort.input.js.map +1 -1
  162. package/dist/core/common/interceptors/check-response.interceptor.d.ts +1 -1
  163. package/dist/core/common/interceptors/check-response.interceptor.js +12 -15
  164. package/dist/core/common/interceptors/check-response.interceptor.js.map +1 -1
  165. package/dist/core/common/interceptors/check-security.interceptor.d.ts +1 -1
  166. package/dist/core/common/interceptors/check-security.interceptor.js +16 -19
  167. package/dist/core/common/interceptors/check-security.interceptor.js.map +1 -1
  168. package/dist/core/common/interceptors/response-model.interceptor.d.ts +1 -1
  169. package/dist/core/common/interceptors/response-model.interceptor.js +16 -19
  170. package/dist/core/common/interceptors/response-model.interceptor.js.map +1 -1
  171. package/dist/core/common/interceptors/translate-response.interceptor.js +12 -15
  172. package/dist/core/common/interceptors/translate-response.interceptor.js.map +1 -1
  173. package/dist/core/common/interfaces/core-persistence-model.interface.d.ts +1 -1
  174. package/dist/core/common/interfaces/core-persistence-model.interface.js +1 -2
  175. package/dist/core/common/interfaces/cron-job-config-with-time-zone.interface.d.ts +1 -1
  176. package/dist/core/common/interfaces/cron-job-config-with-time-zone.interface.js +1 -2
  177. package/dist/core/common/interfaces/cron-job-config-with-utc-offset.interface.d.ts +1 -1
  178. package/dist/core/common/interfaces/cron-job-config-with-utc-offset.interface.js +1 -2
  179. package/dist/core/common/interfaces/cron-job-config.interface.js +1 -2
  180. package/dist/core/common/interfaces/mailjet-options.interface.js +1 -2
  181. package/dist/core/common/interfaces/prepare-input-options.interface.js +1 -2
  182. package/dist/core/common/interfaces/prepare-output-options.interface.js +1 -2
  183. package/dist/core/common/interfaces/resolve-selector.interface.js +1 -2
  184. package/dist/core/common/interfaces/scim-array-filter-node.interface.d.ts +1 -1
  185. package/dist/core/common/interfaces/scim-array-filter-node.interface.js +1 -2
  186. package/dist/core/common/interfaces/scim-condition-node.interface.d.ts +1 -1
  187. package/dist/core/common/interfaces/scim-condition-node.interface.js +1 -2
  188. package/dist/core/common/interfaces/scim-logical-node.interface.d.ts +2 -2
  189. package/dist/core/common/interfaces/scim-logical-node.interface.js +1 -2
  190. package/dist/core/common/interfaces/server-options.interface.d.ts +8 -9
  191. package/dist/core/common/interfaces/server-options.interface.js +1 -2
  192. package/dist/core/common/interfaces/service-options.interface.d.ts +3 -3
  193. package/dist/core/common/interfaces/service-options.interface.js +1 -2
  194. package/dist/core/common/interfaces/swagger-setup-options.interface.js +1 -2
  195. package/dist/core/common/middleware/request-context.middleware.js +6 -9
  196. package/dist/core/common/middleware/request-context.middleware.js.map +1 -1
  197. package/dist/core/common/middlewares/security-headers.middleware.d.ts +2 -2
  198. package/dist/core/common/middlewares/security-headers.middleware.js +6 -9
  199. package/dist/core/common/middlewares/security-headers.middleware.js.map +1 -1
  200. package/dist/core/common/middlewares/to-lower-case.middleware.js +1 -5
  201. package/dist/core/common/middlewares/to-lower-case.middleware.js.map +1 -1
  202. package/dist/core/common/models/core-model.model.js +3 -7
  203. package/dist/core/common/models/core-model.model.js.map +1 -1
  204. package/dist/core/common/models/core-persistence.model.d.ts +1 -1
  205. package/dist/core/common/models/core-persistence.model.js +27 -30
  206. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  207. package/dist/core/common/models/pagination-info.model.js +11 -14
  208. package/dist/core/common/models/pagination-info.model.js.map +1 -1
  209. package/dist/core/common/pipes/check-input.pipe.js +10 -13
  210. package/dist/core/common/pipes/check-input.pipe.js.map +1 -1
  211. package/dist/core/common/pipes/map-and-validate.pipe.js +63 -66
  212. package/dist/core/common/pipes/map-and-validate.pipe.js.map +1 -1
  213. package/dist/core/common/plugins/complexity.plugin.d.ts +1 -1
  214. package/dist/core/common/plugins/complexity.plugin.js +13 -16
  215. package/dist/core/common/plugins/complexity.plugin.js.map +1 -1
  216. package/dist/core/common/plugins/mongoose-audit-fields.plugin.js +7 -10
  217. package/dist/core/common/plugins/mongoose-audit-fields.plugin.js.map +1 -1
  218. package/dist/core/common/plugins/mongoose-id.plugin.js +1 -4
  219. package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
  220. package/dist/core/common/plugins/mongoose-password.plugin.js +10 -16
  221. package/dist/core/common/plugins/mongoose-password.plugin.js.map +1 -1
  222. package/dist/core/common/plugins/mongoose-role-guard.plugin.js +14 -17
  223. package/dist/core/common/plugins/mongoose-role-guard.plugin.js.map +1 -1
  224. package/dist/core/common/plugins/mongoose-system-role.plugin.js +6 -9
  225. package/dist/core/common/plugins/mongoose-system-role.plugin.js.map +1 -1
  226. package/dist/core/common/plugins/mongoose-tenant.plugin.js +15 -18
  227. package/dist/core/common/plugins/mongoose-tenant.plugin.js.map +1 -1
  228. package/dist/core/common/scalars/any.scalar.js +14 -17
  229. package/dist/core/common/scalars/any.scalar.js.map +1 -1
  230. package/dist/core/common/scalars/date-timestamp.scalar.js +7 -10
  231. package/dist/core/common/scalars/date-timestamp.scalar.js.map +1 -1
  232. package/dist/core/common/scalars/date.scalar.js +7 -10
  233. package/dist/core/common/scalars/date.scalar.js.map +1 -1
  234. package/dist/core/common/scalars/json.scalar.js +14 -17
  235. package/dist/core/common/scalars/json.scalar.js.map +1 -1
  236. package/dist/core/common/scalars/upload.scalar.d.ts +2 -0
  237. package/dist/core/common/scalars/upload.scalar.js +3 -0
  238. package/dist/core/common/scalars/upload.scalar.js.map +1 -0
  239. package/dist/core/common/services/brevo.service.d.ts +7 -3
  240. package/dist/core/common/services/brevo.service.js +11 -13
  241. package/dist/core/common/services/brevo.service.js.map +1 -1
  242. package/dist/core/common/services/config.service.d.ts +1 -1
  243. package/dist/core/common/services/config.service.js +18 -23
  244. package/dist/core/common/services/config.service.js.map +1 -1
  245. package/dist/core/common/services/core-body-parser.initializer.d.ts +1 -1
  246. package/dist/core/common/services/core-body-parser.initializer.js +17 -21
  247. package/dist/core/common/services/core-body-parser.initializer.js.map +1 -1
  248. package/dist/core/common/services/core-cron-jobs.initializer.d.ts +2 -2
  249. package/dist/core/common/services/core-cron-jobs.initializer.js +12 -17
  250. package/dist/core/common/services/core-cron-jobs.initializer.js.map +1 -1
  251. package/dist/core/common/services/core-cron-jobs.registry.d.ts +1 -1
  252. package/dist/core/common/services/core-cron-jobs.registry.js +2 -6
  253. package/dist/core/common/services/core-cron-jobs.registry.js.map +1 -1
  254. package/dist/core/common/services/core-cron-jobs.service.d.ts +4 -4
  255. package/dist/core/common/services/core-cron-jobs.service.js +37 -35
  256. package/dist/core/common/services/core-cron-jobs.service.js.map +1 -1
  257. package/dist/core/common/services/core-redis-pubsub.d.ts +1 -1
  258. package/dist/core/common/services/core-redis-pubsub.js +4 -8
  259. package/dist/core/common/services/core-redis-pubsub.js.map +1 -1
  260. package/dist/core/common/services/core-redis.service.d.ts +2 -2
  261. package/dist/core/common/services/core-redis.service.js +11 -14
  262. package/dist/core/common/services/core-redis.service.js.map +1 -1
  263. package/dist/core/common/services/core-s3.service.d.ts +2 -2
  264. package/dist/core/common/services/core-s3.service.js +21 -17
  265. package/dist/core/common/services/core-s3.service.js.map +1 -1
  266. package/dist/core/common/services/core-tenant-context.registry.d.ts +5 -1
  267. package/dist/core/common/services/core-tenant-context.registry.js +2 -6
  268. package/dist/core/common/services/core-tenant-context.registry.js.map +1 -1
  269. package/dist/core/common/services/core-trust-proxy.initializer.d.ts +1 -1
  270. package/dist/core/common/services/core-trust-proxy.initializer.js +11 -14
  271. package/dist/core/common/services/core-trust-proxy.initializer.js.map +1 -1
  272. package/dist/core/common/services/crud.service.d.ts +6 -6
  273. package/dist/core/common/services/crud.service.js +35 -39
  274. package/dist/core/common/services/crud.service.js.map +1 -1
  275. package/dist/core/common/services/email.service.d.ts +5 -5
  276. package/dist/core/common/services/email.service.js +27 -30
  277. package/dist/core/common/services/email.service.js.map +1 -1
  278. package/dist/core/common/services/mailjet.service.d.ts +1 -1
  279. package/dist/core/common/services/mailjet.service.js +9 -11
  280. package/dist/core/common/services/mailjet.service.js.map +1 -1
  281. package/dist/core/common/services/model-doc.service.d.ts +1 -1
  282. package/dist/core/common/services/model-doc.service.js +9 -13
  283. package/dist/core/common/services/model-doc.service.js.map +1 -1
  284. package/dist/core/common/services/model-registry.service.d.ts +1 -1
  285. package/dist/core/common/services/model-registry.service.js +1 -5
  286. package/dist/core/common/services/model-registry.service.js.map +1 -1
  287. package/dist/core/common/services/module.service.d.ts +5 -5
  288. package/dist/core/common/services/module.service.js +25 -29
  289. package/dist/core/common/services/module.service.js.map +1 -1
  290. package/dist/core/common/services/rate-limit-store.d.ts +1 -1
  291. package/dist/core/common/services/rate-limit-store.js +9 -15
  292. package/dist/core/common/services/rate-limit-store.js.map +1 -1
  293. package/dist/core/common/services/request-context.service.js +3 -7
  294. package/dist/core/common/services/request-context.service.js.map +1 -1
  295. package/dist/core/common/services/template.service.d.ts +1 -1
  296. package/dist/core/common/services/template.service.js +12 -15
  297. package/dist/core/common/services/template.service.js.map +1 -1
  298. package/dist/core/common/types/array-element.type.js +1 -2
  299. package/dist/core/common/types/core-model-constructor.type.d.ts +1 -1
  300. package/dist/core/common/types/core-model-constructor.type.js +1 -2
  301. package/dist/core/common/types/falsy.type.js +1 -2
  302. package/dist/core/common/types/field-selection.type.d.ts +1 -1
  303. package/dist/core/common/types/field-selection.type.js +1 -2
  304. package/dist/core/common/types/id.type.js +1 -2
  305. package/dist/core/common/types/ids.type.d.ts +1 -1
  306. package/dist/core/common/types/ids.type.js +1 -2
  307. package/dist/core/common/types/is-one-of.type.js +1 -2
  308. package/dist/core/common/types/maybe-promise.type.js +1 -2
  309. package/dist/core/common/types/plain-input.type.js +1 -2
  310. package/dist/core/common/types/plain-object-deep.type.js +1 -2
  311. package/dist/core/common/types/plain-object.type.js +1 -2
  312. package/dist/core/common/types/populate-config.type.js +1 -2
  313. package/dist/core/common/types/remove-methods.type.js +1 -2
  314. package/dist/core/common/types/require-only-one.type.js +1 -2
  315. package/dist/core/common/types/required-at-least-one.type.js +1 -2
  316. package/dist/core/common/types/scim-comparator.type.js +1 -2
  317. package/dist/core/common/types/scim-logical-operator.type.js +1 -2
  318. package/dist/core/common/types/scim-node.type.d.ts +3 -3
  319. package/dist/core/common/types/scim-node.type.js +1 -2
  320. package/dist/core/common/types/string-or-object-id.type.js +1 -2
  321. package/dist/core/common/types/wrapper.type.js +1 -2
  322. package/dist/core/modules/ai/core-ai-mcp-oauth.initializer.d.ts +1 -1
  323. package/dist/core/modules/ai/core-ai-mcp-oauth.initializer.js +39 -42
  324. package/dist/core/modules/ai/core-ai-mcp-oauth.initializer.js.map +1 -1
  325. package/dist/core/modules/ai/core-ai-mcp.controller.d.ts +9 -4
  326. package/dist/core/modules/ai/core-ai-mcp.controller.js +69 -49
  327. package/dist/core/modules/ai/core-ai-mcp.controller.js.map +1 -1
  328. package/dist/core/modules/ai/core-ai.constants.js +22 -25
  329. package/dist/core/modules/ai/core-ai.constants.js.map +1 -1
  330. package/dist/core/modules/ai/core-ai.controller.d.ts +38 -38
  331. package/dist/core/modules/ai/core-ai.controller.js +223 -226
  332. package/dist/core/modules/ai/core-ai.controller.js.map +1 -1
  333. package/dist/core/modules/ai/core-ai.module.d.ts +19 -19
  334. package/dist/core/modules/ai/core-ai.module.js +136 -139
  335. package/dist/core/modules/ai/core-ai.module.js.map +1 -1
  336. package/dist/core/modules/ai/core-ai.resolver.d.ts +36 -36
  337. package/dist/core/modules/ai/core-ai.resolver.js +236 -239
  338. package/dist/core/modules/ai/core-ai.resolver.js.map +1 -1
  339. package/dist/core/modules/ai/helpers/ai-mcp-oauth-consent.helper.js +11 -17
  340. package/dist/core/modules/ai/helpers/ai-mcp-oauth-consent.helper.js.map +1 -1
  341. package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.d.ts +2 -2
  342. package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.js +13 -17
  343. package/dist/core/modules/ai/helpers/ai-mcp-oauth.helper.js.map +1 -1
  344. package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.js +2 -6
  345. package/dist/core/modules/ai/helpers/ai-mcp-oauth.registry.js.map +1 -1
  346. package/dist/core/modules/ai/hooks/ai-hook.base.d.ts +2 -2
  347. package/dist/core/modules/ai/hooks/ai-hook.base.js +7 -10
  348. package/dist/core/modules/ai/hooks/ai-hook.base.js.map +1 -1
  349. package/dist/core/modules/ai/hooks/ai-hook.registry.d.ts +3 -3
  350. package/dist/core/modules/ai/hooks/ai-hook.registry.js +5 -8
  351. package/dist/core/modules/ai/hooks/ai-hook.registry.js.map +1 -1
  352. package/dist/core/modules/ai/index.d.ts +71 -71
  353. package/dist/core/modules/ai/index.js +71 -87
  354. package/dist/core/modules/ai/index.js.map +1 -1
  355. package/dist/core/modules/ai/inputs/core-ai-budget-limit-create.input.d.ts +1 -1
  356. package/dist/core/modules/ai/inputs/core-ai-budget-limit-create.input.js +16 -19
  357. package/dist/core/modules/ai/inputs/core-ai-budget-limit-create.input.js.map +1 -1
  358. package/dist/core/modules/ai/inputs/core-ai-budget-limit.input.js +21 -24
  359. package/dist/core/modules/ai/inputs/core-ai-budget-limit.input.js.map +1 -1
  360. package/dist/core/modules/ai/inputs/core-ai-connection-create.input.d.ts +1 -1
  361. package/dist/core/modules/ai/inputs/core-ai-connection-create.input.js +16 -19
  362. package/dist/core/modules/ai/inputs/core-ai-connection-create.input.js.map +1 -1
  363. package/dist/core/modules/ai/inputs/core-ai-connection-preference.input.js +18 -21
  364. package/dist/core/modules/ai/inputs/core-ai-connection-preference.input.js.map +1 -1
  365. package/dist/core/modules/ai/inputs/core-ai-connection.input.js +52 -55
  366. package/dist/core/modules/ai/inputs/core-ai-connection.input.js.map +1 -1
  367. package/dist/core/modules/ai/inputs/core-ai-conversation-create.input.d.ts +1 -1
  368. package/dist/core/modules/ai/inputs/core-ai-conversation-create.input.js +9 -12
  369. package/dist/core/modules/ai/inputs/core-ai-conversation-create.input.js.map +1 -1
  370. package/dist/core/modules/ai/inputs/core-ai-conversation.input.js +12 -15
  371. package/dist/core/modules/ai/inputs/core-ai-conversation.input.js.map +1 -1
  372. package/dist/core/modules/ai/inputs/core-ai-prompt-create.input.d.ts +1 -1
  373. package/dist/core/modules/ai/inputs/core-ai-prompt-create.input.js +20 -23
  374. package/dist/core/modules/ai/inputs/core-ai-prompt-create.input.js.map +1 -1
  375. package/dist/core/modules/ai/inputs/core-ai-prompt-hint-create.input.d.ts +1 -1
  376. package/dist/core/modules/ai/inputs/core-ai-prompt-hint-create.input.js +14 -17
  377. package/dist/core/modules/ai/inputs/core-ai-prompt-hint-create.input.js.map +1 -1
  378. package/dist/core/modules/ai/inputs/core-ai-prompt-hint.input.js +18 -21
  379. package/dist/core/modules/ai/inputs/core-ai-prompt-hint.input.js.map +1 -1
  380. package/dist/core/modules/ai/inputs/core-ai-prompt-update.input.d.ts +1 -1
  381. package/dist/core/modules/ai/inputs/core-ai-prompt-update.input.js +19 -22
  382. package/dist/core/modules/ai/inputs/core-ai-prompt-update.input.js.map +1 -1
  383. package/dist/core/modules/ai/inputs/core-ai-prompt.input.js +37 -40
  384. package/dist/core/modules/ai/inputs/core-ai-prompt.input.js.map +1 -1
  385. package/dist/core/modules/ai/inputs/core-ai-slot-create.input.d.ts +1 -1
  386. package/dist/core/modules/ai/inputs/core-ai-slot-create.input.js +14 -17
  387. package/dist/core/modules/ai/inputs/core-ai-slot-create.input.js.map +1 -1
  388. package/dist/core/modules/ai/inputs/core-ai-slot-update.input.js +24 -27
  389. package/dist/core/modules/ai/inputs/core-ai-slot-update.input.js.map +1 -1
  390. package/dist/core/modules/ai/interfaces/ai-hook.interface.d.ts +3 -3
  391. package/dist/core/modules/ai/interfaces/ai-hook.interface.js +1 -2
  392. package/dist/core/modules/ai/interfaces/ai-interaction-record.interface.js +1 -2
  393. package/dist/core/modules/ai/interfaces/ai-placeholder.interface.d.ts +1 -1
  394. package/dist/core/modules/ai/interfaces/ai-placeholder.interface.js +1 -2
  395. package/dist/core/modules/ai/interfaces/ai-tool.interface.d.ts +2 -2
  396. package/dist/core/modules/ai/interfaces/ai-tool.interface.js +1 -2
  397. package/dist/core/modules/ai/interfaces/llm-provider.interface.js +1 -2
  398. package/dist/core/modules/ai/interfaces/resolved-ai-connection.interface.js +1 -2
  399. package/dist/core/modules/ai/models/core-ai-action.model.js +12 -15
  400. package/dist/core/modules/ai/models/core-ai-action.model.js.map +1 -1
  401. package/dist/core/modules/ai/models/core-ai-available-connection.model.js +13 -16
  402. package/dist/core/modules/ai/models/core-ai-available-connection.model.js.map +1 -1
  403. package/dist/core/modules/ai/models/core-ai-budget-limit.model.d.ts +1 -1
  404. package/dist/core/modules/ai/models/core-ai-budget-limit.model.js +24 -27
  405. package/dist/core/modules/ai/models/core-ai-budget-limit.model.js.map +1 -1
  406. package/dist/core/modules/ai/models/core-ai-connection-preference.model.d.ts +1 -1
  407. package/dist/core/modules/ai/models/core-ai-connection-preference.model.js +22 -25
  408. package/dist/core/modules/ai/models/core-ai-connection-preference.model.js.map +1 -1
  409. package/dist/core/modules/ai/models/core-ai-connection.model.d.ts +1 -1
  410. package/dist/core/modules/ai/models/core-ai-connection.model.js +56 -59
  411. package/dist/core/modules/ai/models/core-ai-connection.model.js.map +1 -1
  412. package/dist/core/modules/ai/models/core-ai-conversation.model.d.ts +2 -2
  413. package/dist/core/modules/ai/models/core-ai-conversation.model.js +31 -34
  414. package/dist/core/modules/ai/models/core-ai-conversation.model.js.map +1 -1
  415. package/dist/core/modules/ai/models/core-ai-interaction.model.d.ts +1 -1
  416. package/dist/core/modules/ai/models/core-ai-interaction.model.js +39 -42
  417. package/dist/core/modules/ai/models/core-ai-interaction.model.js.map +1 -1
  418. package/dist/core/modules/ai/models/core-ai-message.model.js +10 -13
  419. package/dist/core/modules/ai/models/core-ai-message.model.js.map +1 -1
  420. package/dist/core/modules/ai/models/core-ai-mode.model.d.ts +1 -1
  421. package/dist/core/modules/ai/models/core-ai-mode.model.js +27 -30
  422. package/dist/core/modules/ai/models/core-ai-mode.model.js.map +1 -1
  423. package/dist/core/modules/ai/models/core-ai-prompt-hint.model.d.ts +1 -1
  424. package/dist/core/modules/ai/models/core-ai-prompt-hint.model.js +26 -29
  425. package/dist/core/modules/ai/models/core-ai-prompt-hint.model.js.map +1 -1
  426. package/dist/core/modules/ai/models/core-ai-prompt.model.d.ts +1 -1
  427. package/dist/core/modules/ai/models/core-ai-prompt.model.js +29 -32
  428. package/dist/core/modules/ai/models/core-ai-prompt.model.js.map +1 -1
  429. package/dist/core/modules/ai/models/core-ai-response.model.d.ts +3 -3
  430. package/dist/core/modules/ai/models/core-ai-response.model.js +28 -31
  431. package/dist/core/modules/ai/models/core-ai-response.model.js.map +1 -1
  432. package/dist/core/modules/ai/models/core-ai-slot.model.d.ts +1 -1
  433. package/dist/core/modules/ai/models/core-ai-slot.model.js +32 -35
  434. package/dist/core/modules/ai/models/core-ai-slot.model.js.map +1 -1
  435. package/dist/core/modules/ai/models/core-ai-tool-grant.model.d.ts +1 -1
  436. package/dist/core/modules/ai/models/core-ai-tool-grant.model.js +26 -29
  437. package/dist/core/modules/ai/models/core-ai-tool-grant.model.js.map +1 -1
  438. package/dist/core/modules/ai/models/core-ai-tool-policy.model.d.ts +1 -1
  439. package/dist/core/modules/ai/models/core-ai-tool-policy.model.js +36 -39
  440. package/dist/core/modules/ai/models/core-ai-tool-policy.model.js.map +1 -1
  441. package/dist/core/modules/ai/models/core-ai-usage-info.model.js +33 -36
  442. package/dist/core/modules/ai/models/core-ai-usage-info.model.js.map +1 -1
  443. package/dist/core/modules/ai/models/core-ai-usage.model.js +10 -13
  444. package/dist/core/modules/ai/models/core-ai-usage.model.js.map +1 -1
  445. package/dist/core/modules/ai/providers/claude-cli.provider.d.ts +2 -2
  446. package/dist/core/modules/ai/providers/claude-cli.provider.js +14 -18
  447. package/dist/core/modules/ai/providers/claude-cli.provider.js.map +1 -1
  448. package/dist/core/modules/ai/providers/llm-provider.factory.d.ts +2 -2
  449. package/dist/core/modules/ai/providers/llm-provider.factory.js +7 -10
  450. package/dist/core/modules/ai/providers/llm-provider.factory.js.map +1 -1
  451. package/dist/core/modules/ai/providers/openai-compatible.provider.d.ts +2 -2
  452. package/dist/core/modules/ai/providers/openai-compatible.provider.js +12 -16
  453. package/dist/core/modules/ai/providers/openai-compatible.provider.js.map +1 -1
  454. package/dist/core/modules/ai/services/ai-crypto.service.js +15 -18
  455. package/dist/core/modules/ai/services/ai-crypto.service.js.map +1 -1
  456. package/dist/core/modules/ai/services/core-ai-budget.service.d.ts +8 -8
  457. package/dist/core/modules/ai/services/core-ai-budget.service.js +22 -28
  458. package/dist/core/modules/ai/services/core-ai-budget.service.js.map +1 -1
  459. package/dist/core/modules/ai/services/core-ai-connection-preference.service.d.ts +5 -5
  460. package/dist/core/modules/ai/services/core-ai-connection-preference.service.js +14 -19
  461. package/dist/core/modules/ai/services/core-ai-connection-preference.service.js.map +1 -1
  462. package/dist/core/modules/ai/services/core-ai-connection-resolver.service.d.ts +5 -5
  463. package/dist/core/modules/ai/services/core-ai-connection-resolver.service.js +17 -20
  464. package/dist/core/modules/ai/services/core-ai-connection-resolver.service.js.map +1 -1
  465. package/dist/core/modules/ai/services/core-ai-connection.service.d.ts +11 -11
  466. package/dist/core/modules/ai/services/core-ai-connection.service.js +27 -32
  467. package/dist/core/modules/ai/services/core-ai-connection.service.js.map +1 -1
  468. package/dist/core/modules/ai/services/core-ai-conversation.service.d.ts +8 -8
  469. package/dist/core/modules/ai/services/core-ai-conversation.service.js +18 -23
  470. package/dist/core/modules/ai/services/core-ai-conversation.service.js.map +1 -1
  471. package/dist/core/modules/ai/services/core-ai-interaction.service.d.ts +5 -5
  472. package/dist/core/modules/ai/services/core-ai-interaction.service.js +13 -18
  473. package/dist/core/modules/ai/services/core-ai-interaction.service.js.map +1 -1
  474. package/dist/core/modules/ai/services/core-ai-mcp-client.service.d.ts +3 -3
  475. package/dist/core/modules/ai/services/core-ai-mcp-client.service.js +9 -12
  476. package/dist/core/modules/ai/services/core-ai-mcp-client.service.js.map +1 -1
  477. package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.d.ts +28 -4
  478. package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.js +44 -48
  479. package/dist/core/modules/ai/services/core-ai-mcp-oauth.service.js.map +1 -1
  480. package/dist/core/modules/ai/services/core-ai-mcp.service.d.ts +1 -1
  481. package/dist/core/modules/ai/services/core-ai-mcp.service.js +9 -12
  482. package/dist/core/modules/ai/services/core-ai-mcp.service.js.map +1 -1
  483. package/dist/core/modules/ai/services/core-ai-mode.service.d.ts +4 -4
  484. package/dist/core/modules/ai/services/core-ai-mode.service.js +14 -19
  485. package/dist/core/modules/ai/services/core-ai-mode.service.js.map +1 -1
  486. package/dist/core/modules/ai/services/core-ai-placeholder.registry.d.ts +2 -2
  487. package/dist/core/modules/ai/services/core-ai-placeholder.registry.js +9 -12
  488. package/dist/core/modules/ai/services/core-ai-placeholder.registry.js.map +1 -1
  489. package/dist/core/modules/ai/services/core-ai-prompt-builder.service.d.ts +5 -5
  490. package/dist/core/modules/ai/services/core-ai-prompt-builder.service.js +20 -23
  491. package/dist/core/modules/ai/services/core-ai-prompt-builder.service.js.map +1 -1
  492. package/dist/core/modules/ai/services/core-ai-prompt-hint.service.d.ts +6 -6
  493. package/dist/core/modules/ai/services/core-ai-prompt-hint.service.js +16 -21
  494. package/dist/core/modules/ai/services/core-ai-prompt-hint.service.js.map +1 -1
  495. package/dist/core/modules/ai/services/core-ai-prompt.service.d.ts +7 -7
  496. package/dist/core/modules/ai/services/core-ai-prompt.service.js +26 -31
  497. package/dist/core/modules/ai/services/core-ai-prompt.service.js.map +1 -1
  498. package/dist/core/modules/ai/services/core-ai-slot.service.d.ts +7 -7
  499. package/dist/core/modules/ai/services/core-ai-slot.service.js +25 -31
  500. package/dist/core/modules/ai/services/core-ai-slot.service.js.map +1 -1
  501. package/dist/core/modules/ai/services/core-ai-tool-grant.service.d.ts +4 -4
  502. package/dist/core/modules/ai/services/core-ai-tool-grant.service.js +14 -19
  503. package/dist/core/modules/ai/services/core-ai-tool-grant.service.js.map +1 -1
  504. package/dist/core/modules/ai/services/core-ai-tool-policy.service.d.ts +4 -4
  505. package/dist/core/modules/ai/services/core-ai-tool-policy.service.js +14 -19
  506. package/dist/core/modules/ai/services/core-ai-tool-policy.service.js.map +1 -1
  507. package/dist/core/modules/ai/services/core-ai.service.d.ts +27 -27
  508. package/dist/core/modules/ai/services/core-ai.service.js +82 -85
  509. package/dist/core/modules/ai/services/core-ai.service.js.map +1 -1
  510. package/dist/core/modules/ai/tools/ai-tool.base.d.ts +3 -3
  511. package/dist/core/modules/ai/tools/ai-tool.base.js +7 -10
  512. package/dist/core/modules/ai/tools/ai-tool.base.js.map +1 -1
  513. package/dist/core/modules/ai/tools/ai-tool.registry.d.ts +1 -1
  514. package/dist/core/modules/ai/tools/ai-tool.registry.js +25 -28
  515. package/dist/core/modules/ai/tools/ai-tool.registry.js.map +1 -1
  516. package/dist/core/modules/ai/tools/ask-user-question.tool.d.ts +4 -4
  517. package/dist/core/modules/ai/tools/ask-user-question.tool.js +12 -15
  518. package/dist/core/modules/ai/tools/ask-user-question.tool.js.map +1 -1
  519. package/dist/core/modules/ai/tools/search-tools.tool.d.ts +4 -4
  520. package/dist/core/modules/ai/tools/search-tools.tool.js +10 -13
  521. package/dist/core/modules/ai/tools/search-tools.tool.js.map +1 -1
  522. package/dist/core/modules/api-token/core-api-token.constants.js +4 -7
  523. package/dist/core/modules/api-token/core-api-token.constants.js.map +1 -1
  524. package/dist/core/modules/api-token/core-api-token.decorators.js +3 -7
  525. package/dist/core/modules/api-token/core-api-token.decorators.js.map +1 -1
  526. package/dist/core/modules/api-token/core-api-token.helpers.d.ts +2 -2
  527. package/dist/core/modules/api-token/core-api-token.helpers.js +79 -109
  528. package/dist/core/modules/api-token/core-api-token.helpers.js.map +1 -1
  529. package/dist/core/modules/api-token/core-api-token.middleware.d.ts +1 -1
  530. package/dist/core/modules/api-token/core-api-token.middleware.js +15 -18
  531. package/dist/core/modules/api-token/core-api-token.middleware.js.map +1 -1
  532. package/dist/core/modules/api-token/core-api-token.model.d.ts +2 -2
  533. package/dist/core/modules/api-token/core-api-token.model.js +59 -62
  534. package/dist/core/modules/api-token/core-api-token.model.js.map +1 -1
  535. package/dist/core/modules/api-token/core-api-token.module.d.ts +2 -2
  536. package/dist/core/modules/api-token/core-api-token.module.js +15 -18
  537. package/dist/core/modules/api-token/core-api-token.module.js.map +1 -1
  538. package/dist/core/modules/api-token/core-api-token.registry.js +2 -6
  539. package/dist/core/modules/api-token/core-api-token.registry.js.map +1 -1
  540. package/dist/core/modules/api-token/core-api-token.service.d.ts +8 -8
  541. package/dist/core/modules/api-token/core-api-token.service.js +103 -108
  542. package/dist/core/modules/api-token/core-api-token.service.js.map +1 -1
  543. package/dist/core/modules/auth/auth-guard-strategy.enum.js +2 -5
  544. package/dist/core/modules/auth/auth-guard-strategy.enum.js.map +1 -1
  545. package/dist/core/modules/auth/core-auth.controller.d.ts +7 -7
  546. package/dist/core/modules/auth/core-auth.controller.js +71 -74
  547. package/dist/core/modules/auth/core-auth.controller.js.map +1 -1
  548. package/dist/core/modules/auth/core-auth.model.d.ts +2 -2
  549. package/dist/core/modules/auth/core-auth.model.js +19 -22
  550. package/dist/core/modules/auth/core-auth.model.js.map +1 -1
  551. package/dist/core/modules/auth/core-auth.module.d.ts +4 -4
  552. package/dist/core/modules/auth/core-auth.module.js +45 -48
  553. package/dist/core/modules/auth/core-auth.module.js.map +1 -1
  554. package/dist/core/modules/auth/core-auth.resolver.d.ts +7 -7
  555. package/dist/core/modules/auth/core-auth.resolver.js +54 -57
  556. package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
  557. package/dist/core/modules/auth/core-legacy-auth-deprecation.initializer.d.ts +2 -2
  558. package/dist/core/modules/auth/core-legacy-auth-deprecation.initializer.js +18 -16
  559. package/dist/core/modules/auth/core-legacy-auth-deprecation.initializer.js.map +1 -1
  560. package/dist/core/modules/auth/exceptions/expired-refresh-token.exception.js +2 -6
  561. package/dist/core/modules/auth/exceptions/expired-refresh-token.exception.js.map +1 -1
  562. package/dist/core/modules/auth/exceptions/expired-token.exception.js +2 -6
  563. package/dist/core/modules/auth/exceptions/expired-token.exception.js.map +1 -1
  564. package/dist/core/modules/auth/exceptions/invalid-token.exception.js +2 -6
  565. package/dist/core/modules/auth/exceptions/invalid-token.exception.js.map +1 -1
  566. package/dist/core/modules/auth/exceptions/legacy-auth-disabled.exception.js +2 -6
  567. package/dist/core/modules/auth/exceptions/legacy-auth-disabled.exception.js.map +1 -1
  568. package/dist/core/modules/auth/guards/auth.guard.d.ts +1 -1
  569. package/dist/core/modules/auth/guards/auth.guard.js +56 -46
  570. package/dist/core/modules/auth/guards/auth.guard.js.map +1 -1
  571. package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.d.ts +1 -1
  572. package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.js +11 -14
  573. package/dist/core/modules/auth/guards/legacy-auth-rate-limit.guard.js.map +1 -1
  574. package/dist/core/modules/auth/guards/refresh-token.guard.d.ts +1 -1
  575. package/dist/core/modules/auth/guards/refresh-token.guard.js +6 -9
  576. package/dist/core/modules/auth/guards/refresh-token.guard.js.map +1 -1
  577. package/dist/core/modules/auth/guards/roles-guard-registry.js +3 -7
  578. package/dist/core/modules/auth/guards/roles-guard-registry.js.map +1 -1
  579. package/dist/core/modules/auth/guards/roles.guard.d.ts +2 -2
  580. package/dist/core/modules/auth/guards/roles.guard.js +52 -55
  581. package/dist/core/modules/auth/guards/roles.guard.js.map +1 -1
  582. package/dist/core/modules/auth/helpers/legacy-endpoints.helper.d.ts +1 -1
  583. package/dist/core/modules/auth/helpers/legacy-endpoints.helper.js +1 -4
  584. package/dist/core/modules/auth/helpers/legacy-endpoints.helper.js.map +1 -1
  585. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.d.ts +1 -1
  586. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js +23 -26
  587. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
  588. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.d.ts +1 -1
  589. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js +9 -12
  590. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
  591. package/dist/core/modules/auth/interfaces/auth-provider.interface.d.ts +1 -1
  592. package/dist/core/modules/auth/interfaces/auth-provider.interface.js +1 -4
  593. package/dist/core/modules/auth/interfaces/auth-provider.interface.js.map +1 -1
  594. package/dist/core/modules/auth/interfaces/core-auth-user.interface.d.ts +1 -1
  595. package/dist/core/modules/auth/interfaces/core-auth-user.interface.js +1 -2
  596. package/dist/core/modules/auth/interfaces/core-token-data.interface.js +1 -2
  597. package/dist/core/modules/auth/interfaces/jwt-payload.interface.js +1 -2
  598. package/dist/core/modules/auth/services/core-auth-user.service.d.ts +2 -2
  599. package/dist/core/modules/auth/services/core-auth-user.service.js +1 -5
  600. package/dist/core/modules/auth/services/core-auth-user.service.js.map +1 -1
  601. package/dist/core/modules/auth/services/core-auth.service.d.ts +10 -10
  602. package/dist/core/modules/auth/services/core-auth.service.js +50 -53
  603. package/dist/core/modules/auth/services/core-auth.service.js.map +1 -1
  604. package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.d.ts +3 -3
  605. package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.js +15 -18
  606. package/dist/core/modules/auth/services/legacy-auth-rate-limiter.service.js.map +1 -1
  607. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.d.ts +2 -2
  608. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js +15 -18
  609. package/dist/core/modules/auth/strategies/jwt-refresh.strategy.js.map +1 -1
  610. package/dist/core/modules/auth/strategies/jwt.strategy.d.ts +3 -3
  611. package/dist/core/modules/auth/strategies/jwt.strategy.js +15 -18
  612. package/dist/core/modules/auth/strategies/jwt.strategy.js.map +1 -1
  613. package/dist/core/modules/auth/tokens.decorator.d.ts +1 -1
  614. package/dist/core/modules/auth/tokens.decorator.js +4 -7
  615. package/dist/core/modules/auth/tokens.decorator.js.map +1 -1
  616. package/dist/core/modules/better-auth/better-auth-cookie-prefix.helper.js +3 -8
  617. package/dist/core/modules/better-auth/better-auth-cookie-prefix.helper.js.map +1 -1
  618. package/dist/core/modules/better-auth/better-auth-roles.guard.js +30 -33
  619. package/dist/core/modules/better-auth/better-auth-roles.guard.js.map +1 -1
  620. package/dist/core/modules/better-auth/better-auth-token.service.d.ts +3 -3
  621. package/dist/core/modules/better-auth/better-auth-token.service.js +16 -20
  622. package/dist/core/modules/better-auth/better-auth-token.service.js.map +1 -1
  623. package/dist/core/modules/better-auth/better-auth.config.d.ts +3 -2
  624. package/dist/core/modules/better-auth/better-auth.config.js +84 -58
  625. package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
  626. package/dist/core/modules/better-auth/better-auth.resolver.d.ts +7 -7
  627. package/dist/core/modules/better-auth/better-auth.resolver.js +69 -72
  628. package/dist/core/modules/better-auth/better-auth.resolver.js.map +1 -1
  629. package/dist/core/modules/better-auth/better-auth.types.d.ts +1 -1
  630. package/dist/core/modules/better-auth/better-auth.types.js +5 -12
  631. package/dist/core/modules/better-auth/better-auth.types.js.map +1 -1
  632. package/dist/core/modules/better-auth/core-better-auth-account-issuer.helper.js +3 -7
  633. package/dist/core/modules/better-auth/core-better-auth-account-issuer.helper.js.map +1 -1
  634. package/dist/core/modules/better-auth/core-better-auth-api.middleware.d.ts +10 -3
  635. package/dist/core/modules/better-auth/core-better-auth-api.middleware.js +73 -39
  636. package/dist/core/modules/better-auth/core-better-auth-api.middleware.js.map +1 -1
  637. package/dist/core/modules/better-auth/core-better-auth-auth.model.d.ts +1 -1
  638. package/dist/core/modules/better-auth/core-better-auth-auth.model.js +17 -20
  639. package/dist/core/modules/better-auth/core-better-auth-auth.model.js.map +1 -1
  640. package/dist/core/modules/better-auth/core-better-auth-challenge.service.d.ts +2 -2
  641. package/dist/core/modules/better-auth/core-better-auth-challenge.service.js +12 -17
  642. package/dist/core/modules/better-auth/core-better-auth-challenge.service.js.map +1 -1
  643. package/dist/core/modules/better-auth/core-better-auth-cookie.helper.js +15 -20
  644. package/dist/core/modules/better-auth/core-better-auth-cookie.helper.js.map +1 -1
  645. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.d.ts +8 -8
  646. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js +39 -37
  647. package/dist/core/modules/better-auth/core-better-auth-email-verification.service.js.map +1 -1
  648. package/dist/core/modules/better-auth/core-better-auth-error-codes.helper.js +13 -17
  649. package/dist/core/modules/better-auth/core-better-auth-error-codes.helper.js.map +1 -1
  650. package/dist/core/modules/better-auth/core-better-auth-migration-status.model.js +12 -15
  651. package/dist/core/modules/better-auth/core-better-auth-migration-status.model.js.map +1 -1
  652. package/dist/core/modules/better-auth/core-better-auth-models.js +62 -65
  653. package/dist/core/modules/better-auth/core-better-auth-models.js.map +1 -1
  654. package/dist/core/modules/better-auth/core-better-auth-openapi.helper.d.ts +1 -1
  655. package/dist/core/modules/better-auth/core-better-auth-openapi.helper.js +15 -25
  656. package/dist/core/modules/better-auth/core-better-auth-openapi.helper.js.map +1 -1
  657. package/dist/core/modules/better-auth/core-better-auth-password-reset.registry.js +4 -8
  658. package/dist/core/modules/better-auth/core-better-auth-password-reset.registry.js.map +1 -1
  659. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.d.ts +2 -2
  660. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.js +11 -14
  661. package/dist/core/modules/better-auth/core-better-auth-rate-limit.middleware.js.map +1 -1
  662. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.d.ts +3 -3
  663. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js +13 -16
  664. package/dist/core/modules/better-auth/core-better-auth-rate-limiter.service.js.map +1 -1
  665. package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.d.ts +2 -2
  666. package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.js +10 -13
  667. package/dist/core/modules/better-auth/core-better-auth-signup-validator.service.js.map +1 -1
  668. package/dist/core/modules/better-auth/core-better-auth-token.helper.js +9 -19
  669. package/dist/core/modules/better-auth/core-better-auth-token.helper.js.map +1 -1
  670. package/dist/core/modules/better-auth/core-better-auth-user.mapper.d.ts +1 -1
  671. package/dist/core/modules/better-auth/core-better-auth-user.mapper.js +42 -37
  672. package/dist/core/modules/better-auth/core-better-auth-user.mapper.js.map +1 -1
  673. package/dist/core/modules/better-auth/core-better-auth-web.helper.js +23 -34
  674. package/dist/core/modules/better-auth/core-better-auth-web.helper.js.map +1 -1
  675. package/dist/core/modules/better-auth/core-better-auth.constants.js +8 -11
  676. package/dist/core/modules/better-auth/core-better-auth.constants.js.map +1 -1
  677. package/dist/core/modules/better-auth/core-better-auth.controller.d.ts +7 -7
  678. package/dist/core/modules/better-auth/core-better-auth.controller.js +151 -157
  679. package/dist/core/modules/better-auth/core-better-auth.controller.js.map +1 -1
  680. package/dist/core/modules/better-auth/core-better-auth.middleware.d.ts +2 -2
  681. package/dist/core/modules/better-auth/core-better-auth.middleware.js +17 -20
  682. package/dist/core/modules/better-auth/core-better-auth.middleware.js.map +1 -1
  683. package/dist/core/modules/better-auth/core-better-auth.module.d.ts +10 -10
  684. package/dist/core/modules/better-auth/core-better-auth.module.js +146 -150
  685. package/dist/core/modules/better-auth/core-better-auth.module.js.map +1 -1
  686. package/dist/core/modules/better-auth/core-better-auth.registry.d.ts +5 -1
  687. package/dist/core/modules/better-auth/core-better-auth.registry.js +18 -8
  688. package/dist/core/modules/better-auth/core-better-auth.registry.js.map +1 -1
  689. package/dist/core/modules/better-auth/core-better-auth.resolver.d.ts +7 -7
  690. package/dist/core/modules/better-auth/core-better-auth.resolver.js +127 -128
  691. package/dist/core/modules/better-auth/core-better-auth.resolver.js.map +1 -1
  692. package/dist/core/modules/better-auth/core-better-auth.service.d.ts +7 -7
  693. package/dist/core/modules/better-auth/core-better-auth.service.js +67 -73
  694. package/dist/core/modules/better-auth/core-better-auth.service.js.map +1 -1
  695. package/dist/core/modules/better-auth/index.d.ts +24 -24
  696. package/dist/core/modules/better-auth/index.js +24 -40
  697. package/dist/core/modules/better-auth/index.js.map +1 -1
  698. package/dist/core/modules/error-code/core-error-code.controller.d.ts +2 -2
  699. package/dist/core/modules/error-code/core-error-code.controller.js +12 -15
  700. package/dist/core/modules/error-code/core-error-code.controller.js.map +1 -1
  701. package/dist/core/modules/error-code/core-error-code.service.d.ts +2 -2
  702. package/dist/core/modules/error-code/core-error-code.service.js +6 -9
  703. package/dist/core/modules/error-code/core-error-code.service.js.map +1 -1
  704. package/dist/core/modules/error-code/error-code.module.d.ts +1 -1
  705. package/dist/core/modules/error-code/error-code.module.js +16 -19
  706. package/dist/core/modules/error-code/error-code.module.js.map +1 -1
  707. package/dist/core/modules/error-code/error-codes.js +6 -11
  708. package/dist/core/modules/error-code/error-codes.js.map +1 -1
  709. package/dist/core/modules/error-code/index.d.ts +5 -5
  710. package/dist/core/modules/error-code/index.js +5 -21
  711. package/dist/core/modules/error-code/index.js.map +1 -1
  712. package/dist/core/modules/error-code/interfaces/error-code.interfaces.d.ts +2 -2
  713. package/dist/core/modules/error-code/interfaces/error-code.interfaces.js +1 -2
  714. package/dist/core/modules/file/core-file-access-audit.initializer.d.ts +1 -1
  715. package/dist/core/modules/file/core-file-access-audit.initializer.js +20 -23
  716. package/dist/core/modules/file/core-file-access-audit.initializer.js.map +1 -1
  717. package/dist/core/modules/file/core-file-info.model.d.ts +1 -1
  718. package/dist/core/modules/file/core-file-info.model.js +25 -28
  719. package/dist/core/modules/file/core-file-info.model.js.map +1 -1
  720. package/dist/core/modules/file/core-file.controller.d.ts +3 -3
  721. package/dist/core/modules/file/core-file.controller.js +35 -39
  722. package/dist/core/modules/file/core-file.controller.js.map +1 -1
  723. package/dist/core/modules/file/core-file.resolver.d.ts +2 -2
  724. package/dist/core/modules/file/core-file.resolver.js +30 -33
  725. package/dist/core/modules/file/core-file.resolver.js.map +1 -1
  726. package/dist/core/modules/file/core-file.service.d.ts +11 -11
  727. package/dist/core/modules/file/core-file.service.js +85 -89
  728. package/dist/core/modules/file/core-file.service.js.map +1 -1
  729. package/dist/core/modules/file/file-access.helper.js +5 -10
  730. package/dist/core/modules/file/file-access.helper.js.map +1 -1
  731. package/dist/core/modules/file/file-metadata.helper.js +6 -12
  732. package/dist/core/modules/file/file-metadata.helper.js.map +1 -1
  733. package/dist/core/modules/file/file-roles.config.d.ts +1 -1
  734. package/dist/core/modules/file/file-roles.config.js +19 -27
  735. package/dist/core/modules/file/file-roles.config.js.map +1 -1
  736. package/dist/core/modules/file/file-roles.helper.d.ts +3 -3
  737. package/dist/core/modules/file/file-roles.helper.js +11 -21
  738. package/dist/core/modules/file/file-roles.helper.js.map +1 -1
  739. package/dist/core/modules/file/file-storage.helper.d.ts +1 -1
  740. package/dist/core/modules/file/file-storage.helper.js +10 -18
  741. package/dist/core/modules/file/file-storage.helper.js.map +1 -1
  742. package/dist/core/modules/file/filesystem-file.helper.d.ts +1 -1
  743. package/dist/core/modules/file/filesystem-file.helper.js +26 -30
  744. package/dist/core/modules/file/filesystem-file.helper.js.map +1 -1
  745. package/dist/core/modules/file/interfaces/file-service-options.interface.js +1 -2
  746. package/dist/core/modules/file/interfaces/file-upload.interface.d.ts +1 -1
  747. package/dist/core/modules/file/interfaces/file-upload.interface.js +1 -2
  748. package/dist/core/modules/file/s3-file.helper.d.ts +2 -2
  749. package/dist/core/modules/file/s3-file.helper.js +14 -20
  750. package/dist/core/modules/file/s3-file.helper.js.map +1 -1
  751. package/dist/core/modules/health-check/core-health-check-result.model.d.ts +2 -2
  752. package/dist/core/modules/health-check/core-health-check-result.model.js +25 -28
  753. package/dist/core/modules/health-check/core-health-check-result.model.js.map +1 -1
  754. package/dist/core/modules/health-check/core-health-check.controller.d.ts +1 -1
  755. package/dist/core/modules/health-check/core-health-check.controller.js +11 -14
  756. package/dist/core/modules/health-check/core-health-check.controller.js.map +1 -1
  757. package/dist/core/modules/health-check/core-health-check.module.js +11 -14
  758. package/dist/core/modules/health-check/core-health-check.module.js.map +1 -1
  759. package/dist/core/modules/health-check/core-health-check.resolver.d.ts +1 -1
  760. package/dist/core/modules/health-check/core-health-check.resolver.js +12 -15
  761. package/dist/core/modules/health-check/core-health-check.resolver.js.map +1 -1
  762. package/dist/core/modules/health-check/core-health-check.service.d.ts +1 -1
  763. package/dist/core/modules/health-check/core-health-check.service.js +18 -17
  764. package/dist/core/modules/health-check/core-health-check.service.js.map +1 -1
  765. package/dist/core/modules/hub/core-hub-actions.controller.d.ts +1 -1
  766. package/dist/core/modules/hub/core-hub-actions.controller.js +36 -39
  767. package/dist/core/modules/hub/core-hub-actions.controller.js.map +1 -1
  768. package/dist/core/modules/hub/core-hub-html.service.d.ts +1 -1
  769. package/dist/core/modules/hub/core-hub-html.service.js +15 -18
  770. package/dist/core/modules/hub/core-hub-html.service.js.map +1 -1
  771. package/dist/core/modules/hub/core-hub.controller.d.ts +11 -11
  772. package/dist/core/modules/hub/core-hub.controller.js +100 -103
  773. package/dist/core/modules/hub/core-hub.controller.js.map +1 -1
  774. package/dist/core/modules/hub/core-hub.module.d.ts +2 -2
  775. package/dist/core/modules/hub/core-hub.module.js +53 -56
  776. package/dist/core/modules/hub/core-hub.module.js.map +1 -1
  777. package/dist/core/modules/hub/core-hub.service.d.ts +5 -5
  778. package/dist/core/modules/hub/core-hub.service.js +20 -25
  779. package/dist/core/modules/hub/core-hub.service.js.map +1 -1
  780. package/dist/core/modules/hub/helpers/hub-client-js.helper.js +1 -4
  781. package/dist/core/modules/hub/helpers/hub-client-js.helper.js.map +1 -1
  782. package/dist/core/modules/hub/helpers/hub-command-shape.helper.js +1 -4
  783. package/dist/core/modules/hub/helpers/hub-command-shape.helper.js.map +1 -1
  784. package/dist/core/modules/hub/helpers/hub-mask.helper.js +1 -4
  785. package/dist/core/modules/hub/helpers/hub-mask.helper.js.map +1 -1
  786. package/dist/core/modules/hub/helpers/hub-mermaid.helper.js +1 -4
  787. package/dist/core/modules/hub/helpers/hub-mermaid.helper.js.map +1 -1
  788. package/dist/core/modules/hub/helpers/hub-shell.helper.js +10 -19
  789. package/dist/core/modules/hub/helpers/hub-shell.helper.js.map +1 -1
  790. package/dist/core/modules/hub/hub-action-messages.js +1 -4
  791. package/dist/core/modules/hub/hub-action-messages.js.map +1 -1
  792. package/dist/core/modules/hub/hub-buffer.d.ts +2 -2
  793. package/dist/core/modules/hub/hub-buffer.js +3 -7
  794. package/dist/core/modules/hub/hub-buffer.js.map +1 -1
  795. package/dist/core/modules/hub/hub-config.helper.d.ts +1 -1
  796. package/dist/core/modules/hub/hub-config.helper.js +23 -29
  797. package/dist/core/modules/hub/hub-config.helper.js.map +1 -1
  798. package/dist/core/modules/hub/hub-nav.js +4 -8
  799. package/dist/core/modules/hub/hub-nav.js.map +1 -1
  800. package/dist/core/modules/hub/hub-ring-buffer.js +1 -5
  801. package/dist/core/modules/hub/hub-ring-buffer.js.map +1 -1
  802. package/dist/core/modules/hub/hub.constants.js +18 -21
  803. package/dist/core/modules/hub/hub.constants.js.map +1 -1
  804. package/dist/core/modules/hub/index.d.ts +25 -25
  805. package/dist/core/modules/hub/index.js +25 -41
  806. package/dist/core/modules/hub/index.js.map +1 -1
  807. package/dist/core/modules/hub/interfaces/hub-config.interface.js +1 -2
  808. package/dist/core/modules/hub/interfaces/hub-panels.interface.js +1 -2
  809. package/dist/core/modules/hub/middleware/hub-trace.middleware.d.ts +1 -1
  810. package/dist/core/modules/hub/middleware/hub-trace.middleware.js +6 -9
  811. package/dist/core/modules/hub/middleware/hub-trace.middleware.js.map +1 -1
  812. package/dist/core/modules/hub/services/core-hub-actions.service.d.ts +10 -10
  813. package/dist/core/modules/hub/services/core-hub-actions.service.js +30 -33
  814. package/dist/core/modules/hub/services/core-hub-actions.service.js.map +1 -1
  815. package/dist/core/modules/hub/services/core-hub-db.service.d.ts +5 -5
  816. package/dist/core/modules/hub/services/core-hub-db.service.js +35 -39
  817. package/dist/core/modules/hub/services/core-hub-db.service.js.map +1 -1
  818. package/dist/core/modules/hub/services/core-hub-email.service.d.ts +4 -4
  819. package/dist/core/modules/hub/services/core-hub-email.service.js +20 -22
  820. package/dist/core/modules/hub/services/core-hub-email.service.js.map +1 -1
  821. package/dist/core/modules/hub/services/core-hub-mailbox.service.d.ts +4 -4
  822. package/dist/core/modules/hub/services/core-hub-mailbox.service.js +13 -16
  823. package/dist/core/modules/hub/services/core-hub-mailbox.service.js.map +1 -1
  824. package/dist/core/modules/hub/services/core-hub-migrations.service.d.ts +5 -5
  825. package/dist/core/modules/hub/services/core-hub-migrations.service.js +25 -30
  826. package/dist/core/modules/hub/services/core-hub-migrations.service.js.map +1 -1
  827. package/dist/core/modules/hub/services/core-hub-sources.service.d.ts +1 -1
  828. package/dist/core/modules/hub/services/core-hub-sources.service.js +26 -27
  829. package/dist/core/modules/hub/services/core-hub-sources.service.js.map +1 -1
  830. package/dist/core/modules/hub/services/hub-log-buffer.service.d.ts +3 -3
  831. package/dist/core/modules/hub/services/hub-log-buffer.service.js +20 -23
  832. package/dist/core/modules/hub/services/hub-log-buffer.service.js.map +1 -1
  833. package/dist/core/modules/hub/services/hub-query-profiler.service.d.ts +4 -4
  834. package/dist/core/modules/hub/services/hub-query-profiler.service.js +20 -25
  835. package/dist/core/modules/hub/services/hub-query-profiler.service.js.map +1 -1
  836. package/dist/core/modules/hub/services/hub-trace-buffer.service.d.ts +3 -3
  837. package/dist/core/modules/hub/services/hub-trace-buffer.service.js +11 -14
  838. package/dist/core/modules/hub/services/hub-trace-buffer.service.js.map +1 -1
  839. package/dist/core/modules/migrate/cli/migrate-cli.d.ts +4 -1
  840. package/dist/core/modules/migrate/cli/migrate-cli.js +38 -18
  841. package/dist/core/modules/migrate/cli/migrate-cli.js.map +1 -1
  842. package/dist/core/modules/migrate/helpers/migration.helper.d.ts +1 -11
  843. package/dist/core/modules/migrate/helpers/migration.helper.js +14 -108
  844. package/dist/core/modules/migrate/helpers/migration.helper.js.map +1 -1
  845. package/dist/core/modules/migrate/helpers/package.json +3 -0
  846. package/dist/core/modules/migrate/helpers/ts-compiler-hooks.d.mts +2 -0
  847. package/dist/core/modules/migrate/helpers/ts-compiler-hooks.mjs +73 -0
  848. package/dist/core/modules/migrate/helpers/ts-compiler-hooks.mjs.map +1 -0
  849. package/dist/core/modules/migrate/helpers/ts-compiler.cjs +96 -0
  850. package/dist/core/modules/migrate/helpers/ts-compiler.cjs.map +1 -0
  851. package/dist/core/modules/migrate/helpers/ts-compiler.d.cts +32 -0
  852. package/dist/core/modules/migrate/helpers/ts-compiler.d.ts +1 -1
  853. package/dist/core/modules/migrate/helpers/ts-compiler.js +2 -2
  854. package/dist/core/modules/migrate/helpers/ts-compiler.js.map +1 -1
  855. package/dist/core/modules/migrate/index.d.ts +4 -4
  856. package/dist/core/modules/migrate/index.js +4 -20
  857. package/dist/core/modules/migrate/index.js.map +1 -1
  858. package/dist/core/modules/migrate/migration-runner.d.ts +1 -1
  859. package/dist/core/modules/migrate/migration-runner.js +13 -19
  860. package/dist/core/modules/migrate/migration-runner.js.map +1 -1
  861. package/dist/core/modules/migrate/migration.helper.d.ts +11 -0
  862. package/dist/core/modules/migrate/migration.helper.js +116 -0
  863. package/dist/core/modules/migrate/migration.helper.js.map +1 -0
  864. package/dist/core/modules/migrate/mongo-state-store.js +13 -20
  865. package/dist/core/modules/migrate/mongo-state-store.js.map +1 -1
  866. package/dist/core/modules/migrate/templates/migration-project.template.ts +29 -12
  867. package/dist/core/modules/permissions/core-permissions.controller.d.ts +2 -2
  868. package/dist/core/modules/permissions/core-permissions.controller.js +13 -16
  869. package/dist/core/modules/permissions/core-permissions.controller.js.map +1 -1
  870. package/dist/core/modules/permissions/core-permissions.module.d.ts +1 -1
  871. package/dist/core/modules/permissions/core-permissions.module.js +14 -17
  872. package/dist/core/modules/permissions/core-permissions.module.js.map +1 -1
  873. package/dist/core/modules/permissions/core-permissions.service.d.ts +1 -1
  874. package/dist/core/modules/permissions/core-permissions.service.js +17 -20
  875. package/dist/core/modules/permissions/core-permissions.service.js.map +1 -1
  876. package/dist/core/modules/permissions/interfaces/permissions.interface.js +1 -2
  877. package/dist/core/modules/permissions/permissions-scanner.d.ts +1 -1
  878. package/dist/core/modules/permissions/permissions-scanner.js +62 -84
  879. package/dist/core/modules/permissions/permissions-scanner.js.map +1 -1
  880. package/dist/core/modules/system-setup/core-system-setup.controller.d.ts +1 -1
  881. package/dist/core/modules/system-setup/core-system-setup.controller.js +34 -38
  882. package/dist/core/modules/system-setup/core-system-setup.controller.js.map +1 -1
  883. package/dist/core/modules/system-setup/core-system-setup.module.js +8 -11
  884. package/dist/core/modules/system-setup/core-system-setup.module.js.map +1 -1
  885. package/dist/core/modules/system-setup/core-system-setup.service.d.ts +4 -4
  886. package/dist/core/modules/system-setup/core-system-setup.service.js +26 -31
  887. package/dist/core/modules/system-setup/core-system-setup.service.js.map +1 -1
  888. package/dist/core/modules/tenant/core-role-scope.registry.js +12 -16
  889. package/dist/core/modules/tenant/core-role-scope.registry.js.map +1 -1
  890. package/dist/core/modules/tenant/core-tenant-guard.registry.js +2 -6
  891. package/dist/core/modules/tenant/core-tenant-guard.registry.js.map +1 -1
  892. package/dist/core/modules/tenant/core-tenant-member.model.d.ts +2 -2
  893. package/dist/core/modules/tenant/core-tenant-member.model.js +34 -37
  894. package/dist/core/modules/tenant/core-tenant-member.model.js.map +1 -1
  895. package/dist/core/modules/tenant/core-tenant-role.helper.js +13 -17
  896. package/dist/core/modules/tenant/core-tenant-role.helper.js.map +1 -1
  897. package/dist/core/modules/tenant/core-tenant.decorators.js +6 -10
  898. package/dist/core/modules/tenant/core-tenant.decorators.js.map +1 -1
  899. package/dist/core/modules/tenant/core-tenant.enums.js +6 -10
  900. package/dist/core/modules/tenant/core-tenant.enums.js.map +1 -1
  901. package/dist/core/modules/tenant/core-tenant.guard.d.ts +8 -3
  902. package/dist/core/modules/tenant/core-tenant.guard.js +105 -102
  903. package/dist/core/modules/tenant/core-tenant.guard.js.map +1 -1
  904. package/dist/core/modules/tenant/core-tenant.helpers.d.ts +2 -2
  905. package/dist/core/modules/tenant/core-tenant.helpers.js +33 -53
  906. package/dist/core/modules/tenant/core-tenant.helpers.js.map +1 -1
  907. package/dist/core/modules/tenant/core-tenant.module.d.ts +2 -2
  908. package/dist/core/modules/tenant/core-tenant.module.js +31 -34
  909. package/dist/core/modules/tenant/core-tenant.module.js.map +1 -1
  910. package/dist/core/modules/tenant/core-tenant.service.d.ts +2 -2
  911. package/dist/core/modules/tenant/core-tenant.service.js +49 -53
  912. package/dist/core/modules/tenant/core-tenant.service.js.map +1 -1
  913. package/dist/core/modules/tus/core-tus.controller.d.ts +2 -2
  914. package/dist/core/modules/tus/core-tus.controller.js +31 -34
  915. package/dist/core/modules/tus/core-tus.controller.js.map +1 -1
  916. package/dist/core/modules/tus/core-tus.service.d.ts +5 -5
  917. package/dist/core/modules/tus/core-tus.service.js +58 -61
  918. package/dist/core/modules/tus/core-tus.service.js.map +1 -1
  919. package/dist/core/modules/tus/index.d.ts +5 -5
  920. package/dist/core/modules/tus/index.js +5 -21
  921. package/dist/core/modules/tus/index.js.map +1 -1
  922. package/dist/core/modules/tus/interfaces/tus-config.interface.d.ts +2 -2
  923. package/dist/core/modules/tus/interfaces/tus-config.interface.js +10 -15
  924. package/dist/core/modules/tus/interfaces/tus-config.interface.js.map +1 -1
  925. package/dist/core/modules/tus/tus-redis-locker.d.ts +1 -1
  926. package/dist/core/modules/tus/tus-redis-locker.js +6 -11
  927. package/dist/core/modules/tus/tus-redis-locker.js.map +1 -1
  928. package/dist/core/modules/tus/tus.constants.js +4 -7
  929. package/dist/core/modules/tus/tus.constants.js.map +1 -1
  930. package/dist/core/modules/tus/tus.module.d.ts +4 -4
  931. package/dist/core/modules/tus/tus.module.js +39 -43
  932. package/dist/core/modules/tus/tus.module.js.map +1 -1
  933. package/dist/core/modules/user/core-user.model.d.ts +2 -2
  934. package/dist/core/modules/user/core-user.model.js +50 -53
  935. package/dist/core/modules/user/core-user.model.js.map +1 -1
  936. package/dist/core/modules/user/core-user.service.d.ts +9 -9
  937. package/dist/core/modules/user/core-user.service.js +53 -57
  938. package/dist/core/modules/user/core-user.service.js.map +1 -1
  939. package/dist/core/modules/user/inputs/core-user-create.input.d.ts +1 -1
  940. package/dist/core/modules/user/inputs/core-user-create.input.js +14 -17
  941. package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
  942. package/dist/core/modules/user/inputs/core-user.input.d.ts +1 -1
  943. package/dist/core/modules/user/inputs/core-user.input.js +28 -31
  944. package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
  945. package/dist/core/modules/user/interfaces/core-user-service-options.interface.d.ts +1 -1
  946. package/dist/core/modules/user/interfaces/core-user-service-options.interface.js +1 -2
  947. package/dist/core.module.d.ts +1 -1
  948. package/dist/core.module.js +144 -219
  949. package/dist/core.module.js.map +1 -1
  950. package/dist/index.d.ts +204 -203
  951. package/dist/index.js +204 -219
  952. package/dist/index.js.map +1 -1
  953. package/dist/main.js +40 -42
  954. package/dist/main.js.map +1 -1
  955. package/dist/server/common/models/persistence.model.d.ts +1 -1
  956. package/dist/server/common/models/persistence.model.js +21 -24
  957. package/dist/server/common/models/persistence.model.js.map +1 -1
  958. package/dist/server/common/services/cron-jobs.service.d.ts +5 -3
  959. package/dist/server/common/services/cron-jobs.service.js +14 -18
  960. package/dist/server/common/services/cron-jobs.service.js.map +1 -1
  961. package/dist/server/modules/ai/ai-tools.module.d.ts +1 -1
  962. package/dist/server/modules/ai/ai-tools.module.js +15 -18
  963. package/dist/server/modules/ai/ai-tools.module.js.map +1 -1
  964. package/dist/server/modules/ai/tools/delete-user.tool.d.ts +5 -5
  965. package/dist/server/modules/ai/tools/delete-user.tool.js +13 -16
  966. package/dist/server/modules/ai/tools/delete-user.tool.js.map +1 -1
  967. package/dist/server/modules/ai/tools/find-users.tool.d.ts +6 -6
  968. package/dist/server/modules/ai/tools/find-users.tool.js +12 -15
  969. package/dist/server/modules/ai/tools/find-users.tool.js.map +1 -1
  970. package/dist/server/modules/ai/tools/get-user.tool.d.ts +6 -6
  971. package/dist/server/modules/ai/tools/get-user.tool.js +13 -16
  972. package/dist/server/modules/ai/tools/get-user.tool.js.map +1 -1
  973. package/dist/server/modules/ai/tools/update-user-job-title.tool.d.ts +6 -6
  974. package/dist/server/modules/ai/tools/update-user-job-title.tool.js +16 -19
  975. package/dist/server/modules/ai/tools/update-user-job-title.tool.js.map +1 -1
  976. package/dist/server/modules/auth/auth.controller.d.ts +3 -3
  977. package/dist/server/modules/auth/auth.controller.js +13 -16
  978. package/dist/server/modules/auth/auth.controller.js.map +1 -1
  979. package/dist/server/modules/auth/auth.model.d.ts +2 -2
  980. package/dist/server/modules/auth/auth.model.js +17 -20
  981. package/dist/server/modules/auth/auth.model.js.map +1 -1
  982. package/dist/server/modules/auth/auth.module.js +15 -18
  983. package/dist/server/modules/auth/auth.module.js.map +1 -1
  984. package/dist/server/modules/auth/auth.resolver.d.ts +7 -7
  985. package/dist/server/modules/auth/auth.resolver.js +30 -33
  986. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  987. package/dist/server/modules/auth/auth.service.d.ts +8 -8
  988. package/dist/server/modules/auth/auth.service.js +17 -20
  989. package/dist/server/modules/auth/auth.service.js.map +1 -1
  990. package/dist/server/modules/auth/inputs/auth-sign-in.input.d.ts +1 -1
  991. package/dist/server/modules/auth/inputs/auth-sign-in.input.js +9 -12
  992. package/dist/server/modules/auth/inputs/auth-sign-in.input.js.map +1 -1
  993. package/dist/server/modules/auth/inputs/auth-sign-up.input.d.ts +1 -1
  994. package/dist/server/modules/auth/inputs/auth-sign-up.input.js +14 -17
  995. package/dist/server/modules/auth/inputs/auth-sign-up.input.js.map +1 -1
  996. package/dist/server/modules/better-auth/better-auth.controller.d.ts +6 -6
  997. package/dist/server/modules/better-auth/better-auth.controller.js +21 -24
  998. package/dist/server/modules/better-auth/better-auth.controller.js.map +1 -1
  999. package/dist/server/modules/better-auth/better-auth.module.d.ts +1 -1
  1000. package/dist/server/modules/better-auth/better-auth.module.js +11 -14
  1001. package/dist/server/modules/better-auth/better-auth.module.js.map +1 -1
  1002. package/dist/server/modules/better-auth/better-auth.resolver.d.ts +8 -8
  1003. package/dist/server/modules/better-auth/better-auth.resolver.js +75 -78
  1004. package/dist/server/modules/better-auth/better-auth.resolver.js.map +1 -1
  1005. package/dist/server/modules/error-code/error-code.controller.d.ts +2 -2
  1006. package/dist/server/modules/error-code/error-code.controller.js +14 -17
  1007. package/dist/server/modules/error-code/error-code.controller.js.map +1 -1
  1008. package/dist/server/modules/error-code/error-code.service.d.ts +1 -1
  1009. package/dist/server/modules/error-code/error-code.service.js +8 -11
  1010. package/dist/server/modules/error-code/error-code.service.js.map +1 -1
  1011. package/dist/server/modules/error-code/error-codes.js +3 -6
  1012. package/dist/server/modules/error-code/error-codes.js.map +1 -1
  1013. package/dist/server/modules/error-code/index.d.ts +3 -3
  1014. package/dist/server/modules/error-code/index.js +3 -19
  1015. package/dist/server/modules/error-code/index.js.map +1 -1
  1016. package/dist/server/modules/file/file-info.model.d.ts +1 -1
  1017. package/dist/server/modules/file/file-info.model.js +12 -15
  1018. package/dist/server/modules/file/file-info.model.js.map +1 -1
  1019. package/dist/server/modules/file/file.controller.d.ts +4 -4
  1020. package/dist/server/modules/file/file.controller.js +26 -29
  1021. package/dist/server/modules/file/file.controller.js.map +1 -1
  1022. package/dist/server/modules/file/file.module.js +16 -19
  1023. package/dist/server/modules/file/file.module.js.map +1 -1
  1024. package/dist/server/modules/file/file.resolver.d.ts +5 -5
  1025. package/dist/server/modules/file/file.resolver.js +23 -26
  1026. package/dist/server/modules/file/file.resolver.js.map +1 -1
  1027. package/dist/server/modules/file/file.service.d.ts +6 -6
  1028. package/dist/server/modules/file/file.service.js +15 -20
  1029. package/dist/server/modules/file/file.service.js.map +1 -1
  1030. package/dist/server/modules/file/multer-config.service.js +6 -9
  1031. package/dist/server/modules/file/multer-config.service.js.map +1 -1
  1032. package/dist/server/modules/user/avatar.controller.d.ts +3 -3
  1033. package/dist/server/modules/user/avatar.controller.js +25 -29
  1034. package/dist/server/modules/user/avatar.controller.js.map +1 -1
  1035. package/dist/server/modules/user/inputs/user-create.input.d.ts +1 -1
  1036. package/dist/server/modules/user/inputs/user-create.input.js +12 -15
  1037. package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
  1038. package/dist/server/modules/user/inputs/user.input.d.ts +1 -1
  1039. package/dist/server/modules/user/inputs/user.input.js +12 -15
  1040. package/dist/server/modules/user/inputs/user.input.js.map +1 -1
  1041. package/dist/server/modules/user/outputs/find-and-count-users-result.output.d.ts +2 -2
  1042. package/dist/server/modules/user/outputs/find-and-count-users-result.output.js +16 -19
  1043. package/dist/server/modules/user/outputs/find-and-count-users-result.output.js.map +1 -1
  1044. package/dist/server/modules/user/user.controller.d.ts +5 -5
  1045. package/dist/server/modules/user/user.controller.js +100 -103
  1046. package/dist/server/modules/user/user.controller.js.map +1 -1
  1047. package/dist/server/modules/user/user.model.d.ts +3 -3
  1048. package/dist/server/modules/user/user.model.js +36 -39
  1049. package/dist/server/modules/user/user.model.js.map +1 -1
  1050. package/dist/server/modules/user/user.module.js +24 -27
  1051. package/dist/server/modules/user/user.module.js.map +1 -1
  1052. package/dist/server/modules/user/user.resolver.d.ts +8 -8
  1053. package/dist/server/modules/user/user.resolver.js +70 -73
  1054. package/dist/server/modules/user/user.resolver.js.map +1 -1
  1055. package/dist/server/modules/user/user.service.d.ts +9 -9
  1056. package/dist/server/modules/user/user.service.js +26 -29
  1057. package/dist/server/modules/user/user.service.js.map +1 -1
  1058. package/dist/server/server.controller.d.ts +1 -1
  1059. package/dist/server/server.controller.js +12 -15
  1060. package/dist/server/server.controller.js.map +1 -1
  1061. package/dist/server/server.module.js +33 -36
  1062. package/dist/server/server.module.js.map +1 -1
  1063. package/dist/test/test.helper.js +17 -21
  1064. package/dist/test/test.helper.js.map +1 -1
  1065. package/docs/REQUEST-LIFECYCLE.md +12 -2
  1066. package/docs/security-overrides.md +50 -29
  1067. package/migration-guides/11.43.2-to-11.43.3.md +80 -0
  1068. package/migration-guides/11.43.x-to-12.0.x.md +828 -0
  1069. package/package.json +68 -68
  1070. package/src/config.env.ts +32 -30
  1071. package/src/core/common/args/filter.args.ts +3 -3
  1072. package/src/core/common/args/pagination.args.ts +4 -4
  1073. package/src/core/common/decorators/current-user.decorator.ts +1 -1
  1074. package/src/core/common/decorators/graphql-populate.decorator.ts +1 -1
  1075. package/src/core/common/decorators/graphql-service-options.decorator.ts +2 -2
  1076. package/src/core/common/decorators/response-model.decorator.ts +1 -1
  1077. package/src/core/common/decorators/rest-service-options.decorator.ts +2 -2
  1078. package/src/core/common/decorators/restricted.decorator.ts +11 -11
  1079. package/src/core/common/decorators/unified-field.decorator.ts +12 -7
  1080. package/src/core/common/exceptions/access-denied.exception.ts +1 -1
  1081. package/src/core/common/filters/http-exception-log.filter.ts +16 -2
  1082. package/src/core/common/filters/mongoose-cast-error.filter.ts +1 -1
  1083. package/src/core/common/helpers/clone.helper.ts +2 -2
  1084. package/src/core/common/helpers/config.helper.ts +47 -29
  1085. package/src/core/common/helpers/cookies.helper.ts +1 -1
  1086. package/src/core/common/helpers/db.helper.ts +8 -8
  1087. package/src/core/common/helpers/decorator.helper.ts +2 -2
  1088. package/src/core/common/helpers/execution-context-request.helper.ts +2 -2
  1089. package/src/core/common/helpers/file.helper.ts +1 -1
  1090. package/src/core/common/helpers/filter.helper.ts +9 -9
  1091. package/src/core/common/helpers/graceful-shutdown.helper.ts +1 -1
  1092. package/src/core/common/helpers/graphql-ws-connection.helper.ts +31 -6
  1093. package/src/core/common/helpers/graphql-ws-context.helper.ts +10 -11
  1094. package/src/core/common/helpers/graphql.helper.ts +1 -1
  1095. package/src/core/common/helpers/id.helper.ts +2 -2
  1096. package/src/core/common/helpers/input.helper.ts +11 -11
  1097. package/src/core/common/helpers/interceptor.helper.ts +6 -9
  1098. package/src/core/common/helpers/model.helper.ts +1 -1
  1099. package/src/core/common/helpers/module-location.helper.ts +33 -0
  1100. package/src/core/common/helpers/outbound-url.helper.ts +2 -2
  1101. package/src/core/common/helpers/process-diagnostics.helper.ts +1 -1
  1102. package/src/core/common/helpers/register-enum.helper.ts +1 -1
  1103. package/src/core/common/helpers/scim.helper.ts +3 -3
  1104. package/src/core/common/helpers/service.helper.ts +11 -11
  1105. package/src/core/common/helpers/swagger.helper.ts +94 -35
  1106. package/src/core/common/inputs/combined-filter.input.ts +1 -1
  1107. package/src/core/common/inputs/core-input.input.ts +2 -2
  1108. package/src/core/common/inputs/filter.input.ts +7 -7
  1109. package/src/core/common/inputs/single-filter.input.ts +6 -6
  1110. package/src/core/common/inputs/sort.input.ts +5 -5
  1111. package/src/core/common/interceptors/check-response.interceptor.ts +3 -3
  1112. package/src/core/common/interceptors/check-security.interceptor.ts +5 -5
  1113. package/src/core/common/interceptors/response-model.interceptor.ts +5 -5
  1114. package/src/core/common/interceptors/translate-response.interceptor.ts +1 -1
  1115. package/src/core/common/interfaces/core-persistence-model.interface.ts +1 -1
  1116. package/src/core/common/interfaces/cron-job-config-with-time-zone.interface.ts +1 -1
  1117. package/src/core/common/interfaces/cron-job-config-with-utc-offset.interface.ts +1 -1
  1118. package/src/core/common/interfaces/scim-array-filter-node.interface.ts +1 -1
  1119. package/src/core/common/interfaces/scim-condition-node.interface.ts +1 -1
  1120. package/src/core/common/interfaces/scim-logical-node.interface.ts +2 -2
  1121. package/src/core/common/interfaces/server-options.interface.ts +17 -13
  1122. package/src/core/common/interfaces/service-options.interface.ts +3 -3
  1123. package/src/core/common/middleware/request-context.middleware.ts +1 -1
  1124. package/src/core/common/middlewares/security-headers.middleware.ts +2 -2
  1125. package/src/core/common/models/core-model.model.ts +1 -1
  1126. package/src/core/common/models/core-persistence.model.ts +5 -5
  1127. package/src/core/common/models/pagination-info.model.ts +1 -1
  1128. package/src/core/common/pipes/check-input.pipe.ts +2 -2
  1129. package/src/core/common/pipes/map-and-validate.pipe.ts +6 -6
  1130. package/src/core/common/plugins/complexity.plugin.ts +1 -1
  1131. package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +1 -1
  1132. package/src/core/common/plugins/mongoose-password.plugin.ts +2 -2
  1133. package/src/core/common/plugins/mongoose-role-guard.plugin.ts +3 -3
  1134. package/src/core/common/plugins/mongoose-system-role.plugin.ts +1 -1
  1135. package/src/core/common/plugins/mongoose-tenant.plugin.ts +2 -2
  1136. package/src/core/common/scalars/date-timestamp.scalar.ts +1 -1
  1137. package/src/core/common/scalars/date.scalar.ts +1 -1
  1138. package/src/core/common/scalars/upload.scalar.ts +23 -0
  1139. package/src/core/common/services/brevo.service.ts +32 -6
  1140. package/src/core/common/services/config.service.ts +13 -9
  1141. package/src/core/common/services/core-body-parser.initializer.ts +3 -3
  1142. package/src/core/common/services/core-cron-jobs.initializer.ts +3 -3
  1143. package/src/core/common/services/core-cron-jobs.registry.ts +1 -1
  1144. package/src/core/common/services/core-cron-jobs.service.ts +45 -30
  1145. package/src/core/common/services/core-redis-pubsub.ts +1 -1
  1146. package/src/core/common/services/core-redis.service.ts +3 -3
  1147. package/src/core/common/services/core-s3.service.ts +17 -3
  1148. package/src/core/common/services/core-tenant-context.registry.ts +13 -1
  1149. package/src/core/common/services/core-trust-proxy.initializer.ts +2 -2
  1150. package/src/core/common/services/crud.service.ts +10 -10
  1151. package/src/core/common/services/email.service.ts +13 -12
  1152. package/src/core/common/services/mailjet.service.ts +10 -2
  1153. package/src/core/common/services/model-doc.service.ts +3 -3
  1154. package/src/core/common/services/model-registry.service.ts +1 -1
  1155. package/src/core/common/services/module.service.ts +12 -12
  1156. package/src/core/common/services/rate-limit-store.ts +6 -3
  1157. package/src/core/common/services/template.service.ts +3 -3
  1158. package/src/core/common/types/core-model-constructor.type.ts +1 -1
  1159. package/src/core/common/types/field-selection.type.ts +1 -1
  1160. package/src/core/common/types/ids.type.ts +1 -1
  1161. package/src/core/common/types/plain-input.type.ts +3 -0
  1162. package/src/core/common/types/scim-node.type.ts +3 -3
  1163. package/src/core/common/types/wrapper.type.ts +14 -1
  1164. package/src/core/modules/ai/README.md +6 -0
  1165. package/src/core/modules/ai/core-ai-mcp-oauth.initializer.ts +6 -6
  1166. package/src/core/modules/ai/core-ai-mcp.controller.ts +76 -17
  1167. package/src/core/modules/ai/core-ai.controller.ts +42 -42
  1168. package/src/core/modules/ai/core-ai.module.ts +46 -39
  1169. package/src/core/modules/ai/core-ai.resolver.ts +40 -40
  1170. package/src/core/modules/ai/helpers/ai-mcp-oauth.helper.ts +4 -4
  1171. package/src/core/modules/ai/hooks/ai-hook.base.ts +2 -2
  1172. package/src/core/modules/ai/hooks/ai-hook.registry.ts +3 -3
  1173. package/src/core/modules/ai/index.ts +71 -71
  1174. package/src/core/modules/ai/inputs/core-ai-budget-limit-create.input.ts +4 -4
  1175. package/src/core/modules/ai/inputs/core-ai-budget-limit.input.ts +3 -3
  1176. package/src/core/modules/ai/inputs/core-ai-connection-create.input.ts +4 -4
  1177. package/src/core/modules/ai/inputs/core-ai-connection-preference.input.ts +3 -3
  1178. package/src/core/modules/ai/inputs/core-ai-connection.input.ts +3 -3
  1179. package/src/core/modules/ai/inputs/core-ai-conversation-create.input.ts +3 -3
  1180. package/src/core/modules/ai/inputs/core-ai-conversation.input.ts +3 -3
  1181. package/src/core/modules/ai/inputs/core-ai-prompt-create.input.ts +4 -4
  1182. package/src/core/modules/ai/inputs/core-ai-prompt-hint-create.input.ts +4 -4
  1183. package/src/core/modules/ai/inputs/core-ai-prompt-hint.input.ts +3 -3
  1184. package/src/core/modules/ai/inputs/core-ai-prompt-update.input.ts +4 -4
  1185. package/src/core/modules/ai/inputs/core-ai-prompt.input.ts +4 -4
  1186. package/src/core/modules/ai/inputs/core-ai-slot-create.input.ts +4 -4
  1187. package/src/core/modules/ai/inputs/core-ai-slot-update.input.ts +3 -3
  1188. package/src/core/modules/ai/interfaces/ai-hook.interface.ts +3 -3
  1189. package/src/core/modules/ai/interfaces/ai-placeholder.interface.ts +1 -1
  1190. package/src/core/modules/ai/interfaces/ai-tool.interface.ts +2 -2
  1191. package/src/core/modules/ai/models/core-ai-action.model.ts +3 -3
  1192. package/src/core/modules/ai/models/core-ai-available-connection.model.ts +2 -2
  1193. package/src/core/modules/ai/models/core-ai-budget-limit.model.ts +4 -4
  1194. package/src/core/modules/ai/models/core-ai-connection-preference.model.ts +4 -4
  1195. package/src/core/modules/ai/models/core-ai-connection.model.ts +4 -4
  1196. package/src/core/modules/ai/models/core-ai-conversation.model.ts +6 -6
  1197. package/src/core/modules/ai/models/core-ai-interaction.model.ts +5 -5
  1198. package/src/core/modules/ai/models/core-ai-message.model.ts +2 -2
  1199. package/src/core/modules/ai/models/core-ai-mode.model.ts +4 -4
  1200. package/src/core/modules/ai/models/core-ai-prompt-hint.model.ts +4 -4
  1201. package/src/core/modules/ai/models/core-ai-prompt.model.ts +4 -4
  1202. package/src/core/modules/ai/models/core-ai-response.model.ts +6 -6
  1203. package/src/core/modules/ai/models/core-ai-slot.model.ts +4 -4
  1204. package/src/core/modules/ai/models/core-ai-tool-grant.model.ts +4 -4
  1205. package/src/core/modules/ai/models/core-ai-tool-policy.model.ts +5 -5
  1206. package/src/core/modules/ai/models/core-ai-usage-info.model.ts +2 -2
  1207. package/src/core/modules/ai/models/core-ai-usage.model.ts +2 -2
  1208. package/src/core/modules/ai/providers/claude-cli.provider.ts +4 -4
  1209. package/src/core/modules/ai/providers/llm-provider.factory.ts +3 -3
  1210. package/src/core/modules/ai/providers/openai-compatible.provider.ts +4 -4
  1211. package/src/core/modules/ai/services/ai-crypto.service.ts +2 -2
  1212. package/src/core/modules/ai/services/core-ai-budget.service.ts +11 -11
  1213. package/src/core/modules/ai/services/core-ai-connection-preference.service.ts +11 -7
  1214. package/src/core/modules/ai/services/core-ai-connection-resolver.service.ts +6 -6
  1215. package/src/core/modules/ai/services/core-ai-connection.service.ts +14 -14
  1216. package/src/core/modules/ai/services/core-ai-conversation.service.ts +10 -10
  1217. package/src/core/modules/ai/services/core-ai-interaction.service.ts +6 -6
  1218. package/src/core/modules/ai/services/core-ai-mcp-client.service.ts +3 -3
  1219. package/src/core/modules/ai/services/core-ai-mcp-oauth.service.ts +45 -9
  1220. package/src/core/modules/ai/services/core-ai-mcp.service.ts +2 -2
  1221. package/src/core/modules/ai/services/core-ai-mode.service.ts +5 -5
  1222. package/src/core/modules/ai/services/core-ai-placeholder.registry.ts +3 -3
  1223. package/src/core/modules/ai/services/core-ai-prompt-builder.service.ts +6 -6
  1224. package/src/core/modules/ai/services/core-ai-prompt-hint.service.ts +8 -8
  1225. package/src/core/modules/ai/services/core-ai-prompt.service.ts +9 -9
  1226. package/src/core/modules/ai/services/core-ai-slot.service.ts +10 -10
  1227. package/src/core/modules/ai/services/core-ai-tool-grant.service.ts +5 -5
  1228. package/src/core/modules/ai/services/core-ai-tool-policy.service.ts +5 -5
  1229. package/src/core/modules/ai/services/core-ai.service.ts +37 -33
  1230. package/src/core/modules/ai/tools/ai-tool.base.ts +3 -3
  1231. package/src/core/modules/ai/tools/ai-tool.registry.ts +5 -5
  1232. package/src/core/modules/ai/tools/ask-user-question.tool.ts +4 -4
  1233. package/src/core/modules/ai/tools/search-tools.tool.ts +4 -4
  1234. package/src/core/modules/api-token/core-api-token.decorators.ts +1 -1
  1235. package/src/core/modules/api-token/core-api-token.helpers.ts +8 -8
  1236. package/src/core/modules/api-token/core-api-token.middleware.ts +3 -3
  1237. package/src/core/modules/api-token/core-api-token.model.ts +10 -10
  1238. package/src/core/modules/api-token/core-api-token.module.ts +4 -4
  1239. package/src/core/modules/api-token/core-api-token.service.ts +13 -13
  1240. package/src/core/modules/auth/core-auth.controller.ts +19 -19
  1241. package/src/core/modules/auth/core-auth.model.ts +5 -5
  1242. package/src/core/modules/auth/core-auth.module.ts +12 -12
  1243. package/src/core/modules/auth/core-auth.resolver.ts +19 -19
  1244. package/src/core/modules/auth/core-legacy-auth-deprecation.initializer.ts +17 -3
  1245. package/src/core/modules/auth/guards/auth.guard.ts +40 -12
  1246. package/src/core/modules/auth/guards/legacy-auth-rate-limit.guard.ts +1 -1
  1247. package/src/core/modules/auth/guards/refresh-token.guard.ts +1 -1
  1248. package/src/core/modules/auth/guards/roles.guard.ts +13 -13
  1249. package/src/core/modules/auth/helpers/legacy-endpoints.helper.ts +1 -1
  1250. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +4 -4
  1251. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -3
  1252. package/src/core/modules/auth/interfaces/auth-provider.interface.ts +1 -1
  1253. package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +1 -1
  1254. package/src/core/modules/auth/services/core-auth-user.service.ts +2 -2
  1255. package/src/core/modules/auth/services/core-auth.service.ts +14 -14
  1256. package/src/core/modules/auth/services/legacy-auth-rate-limiter.service.ts +4 -4
  1257. package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +3 -3
  1258. package/src/core/modules/auth/strategies/jwt.strategy.ts +4 -4
  1259. package/src/core/modules/auth/tokens.decorator.ts +1 -1
  1260. package/src/core/modules/better-auth/better-auth-roles.guard.ts +10 -10
  1261. package/src/core/modules/better-auth/better-auth-token.service.ts +3 -3
  1262. package/src/core/modules/better-auth/better-auth.config.ts +79 -14
  1263. package/src/core/modules/better-auth/better-auth.resolver.ts +9 -9
  1264. package/src/core/modules/better-auth/better-auth.types.ts +1 -1
  1265. package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +84 -12
  1266. package/src/core/modules/better-auth/core-better-auth-auth.model.ts +3 -3
  1267. package/src/core/modules/better-auth/core-better-auth-challenge.service.ts +3 -3
  1268. package/src/core/modules/better-auth/core-better-auth-cookie.helper.ts +4 -4
  1269. package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +21 -11
  1270. package/src/core/modules/better-auth/core-better-auth-error-codes.helper.ts +1 -1
  1271. package/src/core/modules/better-auth/core-better-auth-models.ts +2 -2
  1272. package/src/core/modules/better-auth/core-better-auth-openapi.helper.ts +1 -1
  1273. package/src/core/modules/better-auth/core-better-auth-rate-limit.middleware.ts +2 -2
  1274. package/src/core/modules/better-auth/core-better-auth-rate-limiter.service.ts +3 -3
  1275. package/src/core/modules/better-auth/core-better-auth-signup-validator.service.ts +3 -3
  1276. package/src/core/modules/better-auth/core-better-auth-user.mapper.ts +25 -5
  1277. package/src/core/modules/better-auth/core-better-auth-web.helper.ts +2 -2
  1278. package/src/core/modules/better-auth/core-better-auth.controller.ts +20 -17
  1279. package/src/core/modules/better-auth/core-better-auth.middleware.ts +5 -5
  1280. package/src/core/modules/better-auth/core-better-auth.module.ts +29 -27
  1281. package/src/core/modules/better-auth/core-better-auth.registry.ts +35 -1
  1282. package/src/core/modules/better-auth/core-better-auth.resolver.ts +16 -13
  1283. package/src/core/modules/better-auth/core-better-auth.service.ts +17 -17
  1284. package/src/core/modules/better-auth/index.ts +24 -24
  1285. package/src/core/modules/error-code/core-error-code.controller.ts +4 -4
  1286. package/src/core/modules/error-code/core-error-code.service.ts +2 -2
  1287. package/src/core/modules/error-code/error-code.module.ts +3 -3
  1288. package/src/core/modules/error-code/index.ts +5 -5
  1289. package/src/core/modules/error-code/interfaces/error-code.interfaces.ts +2 -2
  1290. package/src/core/modules/file/core-file-access-audit.initializer.ts +5 -5
  1291. package/src/core/modules/file/core-file-info.model.ts +4 -4
  1292. package/src/core/modules/file/core-file.controller.ts +8 -8
  1293. package/src/core/modules/file/core-file.resolver.ts +8 -9
  1294. package/src/core/modules/file/core-file.service.ts +20 -20
  1295. package/src/core/modules/file/file-access.helper.ts +1 -1
  1296. package/src/core/modules/file/file-roles.config.ts +2 -2
  1297. package/src/core/modules/file/file-roles.helper.ts +6 -6
  1298. package/src/core/modules/file/file-storage.helper.ts +1 -1
  1299. package/src/core/modules/file/filesystem-file.helper.ts +2 -2
  1300. package/src/core/modules/file/interfaces/file-upload.interface.ts +1 -1
  1301. package/src/core/modules/file/s3-file.helper.ts +2 -2
  1302. package/src/core/modules/health-check/core-health-check-result.model.ts +5 -5
  1303. package/src/core/modules/health-check/core-health-check.controller.ts +3 -3
  1304. package/src/core/modules/health-check/core-health-check.module.ts +3 -3
  1305. package/src/core/modules/health-check/core-health-check.resolver.ts +4 -4
  1306. package/src/core/modules/health-check/core-health-check.service.ts +18 -9
  1307. package/src/core/modules/hub/core-hub-actions.controller.ts +2 -2
  1308. package/src/core/modules/hub/core-hub-html.service.ts +4 -4
  1309. package/src/core/modules/hub/core-hub.controller.ts +17 -17
  1310. package/src/core/modules/hub/core-hub.module.ts +17 -17
  1311. package/src/core/modules/hub/core-hub.service.ts +9 -9
  1312. package/src/core/modules/hub/hub-buffer.ts +2 -2
  1313. package/src/core/modules/hub/hub-config.helper.ts +4 -4
  1314. package/src/core/modules/hub/index.ts +25 -25
  1315. package/src/core/modules/hub/middleware/hub-trace.middleware.ts +1 -1
  1316. package/src/core/modules/hub/services/core-hub-actions.service.ts +12 -12
  1317. package/src/core/modules/hub/services/core-hub-db.service.ts +11 -11
  1318. package/src/core/modules/hub/services/core-hub-email.service.ts +7 -6
  1319. package/src/core/modules/hub/services/core-hub-mailbox.service.ts +6 -6
  1320. package/src/core/modules/hub/services/core-hub-migrations.service.ts +8 -8
  1321. package/src/core/modules/hub/services/core-hub-sources.service.ts +12 -6
  1322. package/src/core/modules/hub/services/hub-log-buffer.service.ts +6 -6
  1323. package/src/core/modules/hub/services/hub-query-profiler.service.ts +8 -8
  1324. package/src/core/modules/hub/services/hub-trace-buffer.service.ts +5 -5
  1325. package/src/core/modules/migrate/MIGRATION_FROM_NODEPIT.md +1 -1
  1326. package/src/core/modules/migrate/README.md +32 -8
  1327. package/src/core/modules/migrate/cli/migrate-cli.ts +71 -7
  1328. package/src/core/modules/migrate/helpers/migration.helper.ts +7 -284
  1329. package/src/core/modules/migrate/helpers/package.json +3 -0
  1330. package/src/core/modules/migrate/helpers/ts-compiler-hooks.mjs +90 -0
  1331. package/src/core/modules/migrate/helpers/ts-compiler.cjs +183 -0
  1332. package/src/core/modules/migrate/helpers/ts-compiler.js +7 -10
  1333. package/src/core/modules/migrate/index.ts +4 -4
  1334. package/src/core/modules/migrate/migration-runner.ts +9 -10
  1335. package/src/core/modules/migrate/migration.helper.ts +310 -0
  1336. package/src/core/modules/migrate/templates/migration-project.template.ts +29 -12
  1337. package/src/core/modules/permissions/core-permissions.controller.ts +2 -2
  1338. package/src/core/modules/permissions/core-permissions.module.ts +4 -4
  1339. package/src/core/modules/permissions/core-permissions.service.ts +2 -2
  1340. package/src/core/modules/permissions/permissions-scanner.ts +1 -1
  1341. package/src/core/modules/system-setup/core-system-setup.controller.ts +3 -3
  1342. package/src/core/modules/system-setup/core-system-setup.module.ts +2 -2
  1343. package/src/core/modules/system-setup/core-system-setup.service.ts +6 -6
  1344. package/src/core/modules/tenant/core-role-scope.registry.ts +3 -3
  1345. package/src/core/modules/tenant/core-tenant-member.model.ts +8 -8
  1346. package/src/core/modules/tenant/core-tenant-role.helper.ts +4 -4
  1347. package/src/core/modules/tenant/core-tenant.decorators.ts +1 -1
  1348. package/src/core/modules/tenant/core-tenant.guard.ts +73 -43
  1349. package/src/core/modules/tenant/core-tenant.helpers.ts +6 -6
  1350. package/src/core/modules/tenant/core-tenant.module.ts +7 -7
  1351. package/src/core/modules/tenant/core-tenant.service.ts +6 -6
  1352. package/src/core/modules/tus/core-tus.controller.ts +6 -6
  1353. package/src/core/modules/tus/core-tus.service.ts +14 -14
  1354. package/src/core/modules/tus/index.ts +5 -5
  1355. package/src/core/modules/tus/interfaces/tus-config.interface.ts +5 -5
  1356. package/src/core/modules/tus/tus-redis-locker.ts +1 -1
  1357. package/src/core/modules/tus/tus.module.ts +10 -10
  1358. package/src/core/modules/user/core-user.model.ts +5 -5
  1359. package/src/core/modules/user/core-user.service.ts +19 -19
  1360. package/src/core/modules/user/inputs/core-user-create.input.ts +4 -4
  1361. package/src/core/modules/user/inputs/core-user.input.ts +5 -5
  1362. package/src/core/modules/user/interfaces/core-user-service-options.interface.ts +1 -1
  1363. package/src/core.module.ts +63 -158
  1364. package/src/index.ts +204 -203
  1365. package/src/main.ts +19 -16
  1366. package/src/server/common/models/persistence.model.ts +6 -6
  1367. package/src/server/common/services/cron-jobs.service.ts +7 -8
  1368. package/src/server/modules/ai/ai-tools.module.ts +7 -7
  1369. package/src/server/modules/ai/tools/delete-user.tool.ts +5 -5
  1370. package/src/server/modules/ai/tools/find-users.tool.ts +5 -5
  1371. package/src/server/modules/ai/tools/get-user.tool.ts +5 -5
  1372. package/src/server/modules/ai/tools/update-user-job-title.tool.ts +6 -6
  1373. package/src/server/modules/auth/auth.controller.ts +5 -5
  1374. package/src/server/modules/auth/auth.model.ts +6 -6
  1375. package/src/server/modules/auth/auth.module.ts +7 -7
  1376. package/src/server/modules/auth/auth.resolver.ts +10 -10
  1377. package/src/server/modules/auth/auth.service.ts +8 -8
  1378. package/src/server/modules/auth/inputs/auth-sign-in.input.ts +3 -3
  1379. package/src/server/modules/auth/inputs/auth-sign-up.input.ts +4 -4
  1380. package/src/server/modules/better-auth/better-auth.controller.ts +8 -8
  1381. package/src/server/modules/better-auth/better-auth.module.ts +4 -4
  1382. package/src/server/modules/better-auth/better-auth.resolver.ts +10 -10
  1383. package/src/server/modules/error-code/error-code.controller.ts +5 -5
  1384. package/src/server/modules/error-code/error-code.service.ts +2 -2
  1385. package/src/server/modules/error-code/error-codes.ts +1 -1
  1386. package/src/server/modules/error-code/index.ts +3 -3
  1387. package/src/server/modules/file/file-info.model.ts +3 -3
  1388. package/src/server/modules/file/file.controller.ts +5 -5
  1389. package/src/server/modules/file/file.module.ts +5 -5
  1390. package/src/server/modules/file/file.resolver.ts +6 -7
  1391. package/src/server/modules/file/file.service.ts +7 -7
  1392. package/src/server/modules/user/avatar.controller.ts +9 -10
  1393. package/src/server/modules/user/inputs/user-create.input.ts +4 -4
  1394. package/src/server/modules/user/inputs/user.input.ts +4 -4
  1395. package/src/server/modules/user/outputs/find-and-count-users-result.output.ts +5 -5
  1396. package/src/server/modules/user/user.controller.ts +10 -10
  1397. package/src/server/modules/user/user.model.ts +7 -7
  1398. package/src/server/modules/user/user.module.ts +9 -9
  1399. package/src/server/modules/user/user.resolver.ts +11 -11
  1400. package/src/server/modules/user/user.service.ts +10 -10
  1401. package/src/server/server.controller.ts +1 -1
  1402. package/src/server/server.module.ts +16 -16
  1403. package/src/test/test.helper.ts +5 -5
  1404. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -0,0 +1,183 @@
1
+ /**
2
+ * TypeScript loader for running sources without a build — the migrate CLI, the dev server and scripts.
3
+ *
4
+ * Registers a CommonJS `require` hook that compiles `.ts` / `.cts` files with SWC (`@swc/core`) on load, and — for
5
+ * ESM projects (`"type": "module"`, what `nest new` creates since NestJS 12) — the matching ESM hooks
6
+ * (`ts-compiler-hooks.mjs`, through `module.register()`), so `import` reaches TypeScript sources the same way.
7
+ * It is the framework's replacement for ts-node (12.0.0): ts-node is unmaintained, needed TypeScript-6
8
+ * workarounds (TS5011 / TS5107 / TS5110 from inherited compiler options), type-checked what it
9
+ * loaded on every start, and — like `@swc-node/register`, whose peer range ends below TypeScript 7 —
10
+ * depends on TypeScript's JavaScript API. This loader does not touch TypeScript at all: it only
11
+ * strips types and lowers decorators, with the same compiler vitest (unplugin-swc) and
12
+ * `nest build -b swc` already use. Type errors are reported by `tsc` (build, `check`, the IDE), not here.
13
+ *
14
+ * Usage:
15
+ *
16
+ * migrate up --compiler="ts:./node_modules/@lenne.tech/nest-server/dist/core/modules/migrate/helpers/ts-compiler.js"
17
+ * node -r ./node_modules/@lenne.tech/nest-server/dist/core/modules/migrate/helpers/ts-compiler.js src/main.ts
18
+ *
19
+ * Requiring the file registers the hook; the exported function does the same and is idempotent, which
20
+ * is the contract `--compiler ts:<file>` relies on (the CLI requires the file and calls its export).
21
+ *
22
+ * `@swc/core` is resolved from the working directory first (the project that runs the sources), then
23
+ * from this file — in an isolated pnpm layout only the project's own `node_modules` holds it.
24
+ */
25
+ 'use strict';
26
+
27
+ const fs = require('node:fs');
28
+ const Module = require('node:module');
29
+ const path = require('node:path');
30
+ const { pathToFileURL } = require('node:url');
31
+ const { isMainThread } = require('node:worker_threads');
32
+
33
+ // The loader table Node's CommonJS `require` dispatches on by extension — what every require hook patches.
34
+ // oxlint-disable-next-line no-underscore-dangle -- Node's own name for it
35
+ const extensionHandlers = Module._extensions;
36
+
37
+ // A CONTRACT, not an implementation detail: the lt CLI's vendor bootstrap (migrations-utils/ts-compiler.js)
38
+ // checks the registered `.ts` handler for this exact key to tell this loader from an older core's ts-node
39
+ // export. Renaming it makes every vendor project fall back to ts-node — pinned by tests/unit/ts-compiler.spec.ts.
40
+ const MARKER = Symbol.for('lenne.tech/nest-server/ts-compiler');
41
+
42
+ /**
43
+ * Mirrors the `tsc` build (`tsconfig.json` → `target: es2022`), so a source run behaves like `dist/`:
44
+ *
45
+ * - legacy decorators + decorator metadata: NestJS DI, `@UnifiedField`, `@Prop` and `@Field` read the
46
+ * emitted `design:*` metadata;
47
+ * - `useDefineForClassFields: true` is what `tsc` does for `target: es2022`. `@nestjs/cli`'s own SWC
48
+ * defaults use `false`, under which a declared field without an initializer is not an own property —
49
+ * a difference from the production build, not a detail;
50
+ * - `keepClassNames`: class names are DI tokens, logger contexts and GraphQL type names.
51
+ *
52
+ * `.swcrc` is ignored on purpose: the result must not depend on a file a project keeps for another tool.
53
+ * `tests/unit/ts-compiler.spec.ts` pins these against the repository's tsconfig.
54
+ */
55
+ const SWC_OPTIONS = {
56
+ configFile: false,
57
+ jsc: {
58
+ keepClassNames: true,
59
+ parser: { decorators: true, dynamicImport: true, syntax: 'typescript' },
60
+ target: 'es2022',
61
+ transform: { decoratorMetadata: true, legacyDecorator: true, useDefineForClassFields: true },
62
+ },
63
+ module: { type: 'commonjs' },
64
+ sourceMaps: 'inline',
65
+ swcrc: false,
66
+ };
67
+
68
+ /** Extensions the hook compiles. `.mts` is ESM and never reaches a `require` hook. */
69
+ const EXTENSIONS = ['.ts', '.cts'];
70
+
71
+ /**
72
+ * The TypeScript source a `.js` / `.cjs` specifier names, the way `tsc` and vitest read it: ESM requires the
73
+ * extension of the EMITTED file (`./x.js`), so a relative specifier written for both module systems points at
74
+ * a file that only exists after a build. A source run maps it back to `x.ts` / `x.cts`.
75
+ */
76
+ const SOURCE_EXTENSIONS = { '.cjs': ['.cts'], '.js': ['.ts', '.cts'] };
77
+
78
+ /** Marks the patched resolver, so registering twice does not wrap it twice. */
79
+ const RESOLVE_MARKER = Symbol.for('lenne.tech/nest-server/ts-compiler/resolve');
80
+
81
+ /**
82
+ * Let `require('./x.js')` from a TypeScript file find `x.ts` when no `x.js` exists. Only path-like requests
83
+ * from a compiled TypeScript parent are retried, and only after Node's own resolution failed — a real `.js`
84
+ * file always wins, and package specifiers are never touched.
85
+ */
86
+ function patchResolver() {
87
+ // oxlint-disable-next-line no-underscore-dangle -- Node's own resolver, what every TypeScript require hook wraps
88
+ const original = Module._resolveFilename;
89
+ if (original[RESOLVE_MARKER]) {
90
+ return;
91
+ }
92
+ function resolveTypeScriptSource(request, parent, ...rest) {
93
+ try {
94
+ return original.call(this, request, parent, ...rest);
95
+ } catch (error) {
96
+ const extension = request.match(/\.c?js$/)?.[0];
97
+ const fromTypeScript = /\.c?ts$/.test(parent?.filename ?? '');
98
+ if (error?.code !== 'MODULE_NOT_FOUND' || !extension || !fromTypeScript || !/^\.{0,2}\//.test(request)) {
99
+ throw error;
100
+ }
101
+ const stem = request.slice(0, -extension.length);
102
+ for (const sourceExtension of SOURCE_EXTENSIONS[extension]) {
103
+ try {
104
+ return original.call(this, stem + sourceExtension, parent, ...rest);
105
+ } catch {
106
+ // try the next one; the original error is the one worth reporting
107
+ }
108
+ }
109
+ throw error;
110
+ }
111
+ }
112
+ resolveTypeScriptSource[RESOLVE_MARKER] = true;
113
+ // oxlint-disable-next-line no-underscore-dangle -- see above
114
+ Module._resolveFilename = resolveTypeScriptSource;
115
+ }
116
+
117
+ /**
118
+ * Load `@swc/core`, or fail with the one instruction that fixes it.
119
+ *
120
+ * @param {string[]} [paths] - Where to resolve it from; defaults to the working directory, then this file.
121
+ */
122
+ function loadSwc(paths = [process.cwd(), __dirname]) {
123
+ let resolved;
124
+ try {
125
+ resolved = require.resolve('@swc/core', { paths });
126
+ } catch {
127
+ const error = new Error(
128
+ 'Running TypeScript sources needs @swc/core, which this project does not have. ' +
129
+ 'Add it as a devDependency: pnpm add -D @swc/core',
130
+ );
131
+ error.code = 'LT_SWC_CORE_MISSING';
132
+ throw error;
133
+ }
134
+ return require(resolved);
135
+ }
136
+
137
+ /**
138
+ * Register the hook. Safe to call more than once.
139
+ */
140
+ function register() {
141
+ if (extensionHandlers['.ts']?.[MARKER]) {
142
+ return;
143
+ }
144
+ const swc = loadSwc();
145
+ // Stack traces point at the TypeScript lines (the code carries inline source maps).
146
+ process.setSourceMapsEnabled(true);
147
+
148
+ function compileTypeScript(module, filename) {
149
+ const { code } = swc.transformSync(fs.readFileSync(filename, 'utf8'), { ...SWC_OPTIONS, filename });
150
+ // oxlint-disable-next-line no-underscore-dangle -- the CommonJS module API every require hook calls
151
+ module._compile(code, filename);
152
+ }
153
+ compileTypeScript[MARKER] = true;
154
+ for (const extension of EXTENSIONS) {
155
+ extensionHandlers[extension] = compileTypeScript;
156
+ }
157
+ patchResolver();
158
+ registerEsmHooks();
159
+ }
160
+
161
+ /** Marks the process once the ESM hooks are registered. */
162
+ const ESM_MARKER = Symbol.for('lenne.tech/nest-server/ts-compiler/esm');
163
+
164
+ /**
165
+ * Register the ESM hooks (`ts-compiler-hooks.mjs`) for `import`ed TypeScript: an ESM project's entry and everything it
166
+ * imports. Without them Node would hand a `.ts` entry to its own type stripping, which cannot lower decorators or emit
167
+ * their metadata — NestJS needs both. Only on the main thread: the hooks run on a thread of their own, which loads this
168
+ * file for its SWC options and must not register itself again.
169
+ */
170
+ function registerEsmHooks() {
171
+ if (!isMainThread || typeof Module.register !== 'function' || globalThis[ESM_MARKER]) {
172
+ return;
173
+ }
174
+ globalThis[ESM_MARKER] = true;
175
+ Module.register(pathToFileURL(path.join(__dirname, 'ts-compiler-hooks.mjs')).href);
176
+ }
177
+
178
+ register();
179
+
180
+ module.exports = register;
181
+ module.exports.loadSwc = loadSwc;
182
+ module.exports.SWC_OPTIONS = SWC_OPTIONS;
183
+ module.exports.SOURCE_EXTENSIONS = SOURCE_EXTENSIONS;
@@ -1,14 +1,11 @@
1
1
  /**
2
- * TypeScript compiler for migrate CLI
2
+ * Entry point of the framework's TypeScript loader — the path `--compiler ts:…` and `node -r …` name.
3
3
  *
4
- * This file registers ts-node to allow TypeScript migrations to be executed.
5
- *
6
- * Usage with migrate CLI:
7
- * migrate --compiler="ts:./node_modules/@lenne.tech/nest-server/dist/core/modules/migrate/helpers/ts-compiler.js"
8
- *
9
- * Or copy this file to your project's migrations-utils folder.
4
+ * CommonJS in every project: `helpers/package.json` declares `"type": "commonjs"` for this directory, so the file keeps
5
+ * its format inside this ESM package (12.0.0+) and inside an ESM vendor project alike, and the established path and
6
+ * its function export stay the contract they have always been. The implementation lives in `ts-compiler.cjs`; see
7
+ * there for what the loader does.
10
8
  */
9
+ 'use strict';
11
10
 
12
- const tsNode = require('ts-node');
13
-
14
- module.exports = tsNode.register;
11
+ module.exports = require('./ts-compiler.cjs');
@@ -35,7 +35,7 @@
35
35
  * ```
36
36
  */
37
37
 
38
- export * from './cli/migrate-cli';
39
- export * from './helpers/migration.helper';
40
- export * from './migration-runner';
41
- export * from './mongo-state-store';
38
+ export * from './cli/migrate-cli.js';
39
+ export * from './migration.helper.js';
40
+ export * from './migration-runner.js';
41
+ export * from './mongo-state-store.js';
@@ -1,7 +1,9 @@
1
1
  import * as fs from 'fs';
2
2
  import * as path from 'path';
3
3
 
4
- import { MongoStateStore, withMigrationLock } from './mongo-state-store';
4
+ import { _endMigration, _startMigration } from './migration.helper.js';
5
+ import { MongoStateStore, withMigrationLock } from './mongo-state-store.js';
6
+ import { createRequire } from 'node:module';
5
7
 
6
8
  /**
7
9
  * Migration file interface
@@ -43,10 +45,11 @@ const MIGRATION_EXTENSION_PATTERN = /\.(ts|js)$/;
43
45
  * Migration identity = the timestamped file stem WITHOUT its `.ts`/`.js` extension.
44
46
  *
45
47
  * A migration keeps its identity when a project switches its production image from
46
- * ts-node (`1699-foo.ts`) to compiled JavaScript (`1699-foo.js`) — the recommended
47
- * prod setup, since the image prunes ts-node. Comparing raw filenames would make
48
- * every compiled `.js` migration look "pending" against a state recorded under `.ts`
49
- * names and re-run already-applied migrations (data corruption on existing DBs).
48
+ * TypeScript sources (`1699-foo.ts`) to compiled JavaScript (`1699-foo.js`) — the
49
+ * recommended prod setup, since the image prunes the TypeScript loader's `@swc/core`.
50
+ * Comparing raw filenames would make every compiled `.js` migration look "pending"
51
+ * against a state recorded under `.ts` names and re-run already-applied migrations
52
+ * (data corruption on existing DBs).
50
53
  * Normalising both sides makes the transition safe with no state rewrite.
51
54
  *
52
55
  * @param title Migration title, usually the filename (e.g. `1699000000000-foo.ts`)
@@ -195,7 +198,7 @@ export class MigrationRunner {
195
198
 
196
199
  const filePath = path.join(this.options.migrationsDirectory, file);
197
200
 
198
- const module = require(filePath);
201
+ const module = createRequire(path.join(process.cwd(), 'package.json'))(filePath);
199
202
 
200
203
  if (!module.up) {
201
204
  console.warn(`Migration ${file} has no 'up' function, skipping...`);
@@ -232,8 +235,6 @@ export class MigrationRunner {
232
235
  }
233
236
 
234
237
  protected async runUp(): Promise<void> {
235
- const { _endMigration, _startMigration } = await import('./helpers/migration.helper');
236
-
237
238
  const allMigrations = await this.loadMigrationFiles();
238
239
  const state = await this.options.stateStore.loadAsync();
239
240
  const recorded = state.migrations || [];
@@ -308,8 +309,6 @@ export class MigrationRunner {
308
309
  }
309
310
 
310
311
  protected async runDown(): Promise<void> {
311
- const { _endMigration, _startMigration } = await import('./helpers/migration.helper');
312
-
313
312
  const state = await this.options.stateStore.loadAsync();
314
313
  const completedMigrations = state.migrations || [];
315
314
 
@@ -0,0 +1,310 @@
1
+ import * as fs from 'fs';
2
+ import { Db, GridFSBucket, MongoClient, ObjectId } from 'mongodb';
3
+ import * as path from 'path';
4
+
5
+ import { callerDirectory } from '../../common/helpers/module-location.helper.js';
6
+ import { MongoStateStore } from './mongo-state-store.js';
7
+
8
+ /**
9
+ * Migration helper functions for database operations
10
+ */
11
+
12
+ // Store active connections for auto-cleanup
13
+ const activeConnections = new Set<MongoClient>();
14
+
15
+ // Track if we're in a migration context
16
+ let inMigrationContext = false;
17
+
18
+ /**
19
+ * Mark the start of a migration
20
+ * @internal Used by migration runner
21
+ */
22
+ export const _startMigration = () => {
23
+ inMigrationContext = true;
24
+ };
25
+
26
+ /**
27
+ * Mark the end of a migration and close all connections
28
+ * @internal Used by migration runner
29
+ */
30
+ export const _endMigration = async () => {
31
+ inMigrationContext = false;
32
+ // Close all active connections
33
+ const promises = Array.from(activeConnections).map((client) => client.close());
34
+ activeConnections.clear();
35
+ await Promise.all(promises);
36
+ };
37
+
38
+ /**
39
+ * Get database connection
40
+ *
41
+ * When used in migrations, connections are automatically closed after the migration completes.
42
+ * For manual usage outside migrations, you must close the connection manually.
43
+ *
44
+ * @param mongoUrl - MongoDB connection URI
45
+ * @returns Promise with database instance
46
+ *
47
+ * @example
48
+ * ```typescript
49
+ * // In migrations - connection auto-closes after migration
50
+ * const db = await getDb('mongodb://localhost/mydb');
51
+ * await db.collection('users').updateMany(...);
52
+ *
53
+ * // Outside migrations - must close manually
54
+ * const db = await getDb('mongodb://localhost/mydb');
55
+ * try {
56
+ * await db.collection('users').updateMany(...);
57
+ * } finally {
58
+ * await db.client.close();
59
+ * }
60
+ * ```
61
+ */
62
+ export const getDb = async (mongoUrl: string): Promise<Db> => {
63
+ const client: MongoClient = await MongoClient.connect(mongoUrl);
64
+
65
+ // Track connection for auto-cleanup in migrations
66
+ if (inMigrationContext) {
67
+ activeConnections.add(client);
68
+ }
69
+
70
+ return client.db();
71
+ };
72
+
73
+ /**
74
+ * Throw unless every chunk of a stored GridFS file is present.
75
+ *
76
+ * A GridFS upload is not one write but many: N chunk documents plus the files
77
+ * document that describes them. The write stream's `'finish'` event says the
78
+ * stream ended — it does not prove every chunk is durably there, and a
79
+ * connection that goes away at the wrong moment can leave a files document
80
+ * behind that promises more bytes than exist. The upload then "succeeds", the
81
+ * caller stores the id, and the defect only surfaces much later as a broken
82
+ * download from a record that looks perfectly healthy.
83
+ *
84
+ * Counts documents rather than reading bytes, so a chunk that was written but
85
+ * truncated still passes. Catching that would mean streaming the whole file
86
+ * back on every upload; the cheap count catches the failure that actually
87
+ * occurs (a missing chunk) and is index-only via the GridFS default index.
88
+ *
89
+ * @param db - Database holding the bucket
90
+ * @param bucketName - GridFS bucket name, i.e. the prefix of `<bucket>.files` / `<bucket>.chunks`
91
+ * @param id - `_id` of the files document
92
+ * @param label - Optional human-readable name for the error message; defaults to the id
93
+ * @throws Error if the files document is missing or fewer chunks are stored than its length implies
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * await assertGridFsFileComplete(db, 'images', fileId, 'logo.png');
98
+ * ```
99
+ */
100
+ export const assertGridFsFileComplete = async (
101
+ db: Db,
102
+ bucketName: string,
103
+ id: ObjectId,
104
+ label?: string,
105
+ ): Promise<void> => {
106
+ const name = label || String(id);
107
+ const fileDoc = await db.collection(`${bucketName}.files`).findOne({ _id: id });
108
+ if (!fileDoc) {
109
+ throw new Error(`GridFS file '${name}' has no file document (id ${String(id)})`);
110
+ }
111
+
112
+ const chunkSize: number = fileDoc.chunkSize || 255 * 1024;
113
+ // NO `Math.max(1, …)` floor here: GridFS stores ZERO chunk documents for a
114
+ // zero-byte file — the driver's `writeRemnant()` returns early on `pos === 0`
115
+ // rather than inserting an empty chunk. A floor of 1 would reject every
116
+ // legitimately empty asset, and because the container entrypoint defaults to
117
+ // `MIGRATE_FAILURE_POLICY=abort`, that failure would keep the server from
118
+ // starting at all.
119
+ const expected = Math.ceil((fileDoc.length || 0) / chunkSize);
120
+ const actual = await db
121
+ .collection(`${bucketName}.chunks`)
122
+ // Read from the primary: this is a read-your-own-write, and a URI carrying
123
+ // `readPreference=secondaryPreferred` would otherwise fail a healthy upload
124
+ // against a secondary that has not caught up yet.
125
+ .countDocuments({ files_id: id }, { readPreference: 'primary' });
126
+ if (actual < expected) {
127
+ throw new Error(`GridFS file '${name}' is incomplete: ${actual} of ${expected} chunks stored (id ${String(id)})`);
128
+ }
129
+ };
130
+
131
+ /**
132
+ * The file `uploadFileToGridFS()` reads: an absolute path as given; a relative one against the calling migration's
133
+ * directory, or — when nothing exists there — against this helper's own directory, which is where it was resolved
134
+ * until 12.0.0 (a vendored project may have adapted its paths to that).
135
+ */
136
+ function resolveMigrationFilePath(relativePath: string, callerDir: string): string {
137
+ if (!relativePath || path.isAbsolute(relativePath)) {
138
+ return relativePath;
139
+ }
140
+ const fromCaller = path.resolve(callerDir, relativePath);
141
+ if (fs.existsSync(fromCaller)) {
142
+ return fromCaller;
143
+ }
144
+ // Until 12.0.0 this file lived in `helpers/`, and relative paths were anchored there — keep that anchor exact.
145
+ const legacy = path.resolve(callerDirectory(), 'helpers', relativePath);
146
+ return fs.existsSync(legacy) ? legacy : fromCaller;
147
+ }
148
+
149
+ /**
150
+ * Upload file to GridFS
151
+ *
152
+ * Resolves only once the upload is verified complete (see
153
+ * {@link assertGridFsFileComplete}); rejects — rather than hanging — when the
154
+ * source file cannot be read. Closes its own connection either way.
155
+ *
156
+ * @param mongoUrl - MongoDB connection URI
157
+ * @param relativePath - Path to the file: absolute, or relative to the directory of the file that calls this
158
+ * function (the migration). Until 12.0.0 a relative path was resolved against THIS helper's directory — inside
159
+ * `node_modules/@lenne.tech/nest-server/…` in npm mode; that location is still tried second.
160
+ * @param options - Optional bucket name and filename
161
+ * @returns Promise with ObjectId of uploaded file
162
+ * @throws Error if the source cannot be read, or if the stored file is incomplete
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * const fileId = await uploadFileToGridFS(
167
+ * 'mongodb://localhost/mydb',
168
+ * '../assets/image.png',
169
+ * { bucketName: 'images', filename: 'logo.png' }
170
+ * );
171
+ * ```
172
+ */
173
+ export const uploadFileToGridFS = async (
174
+ mongoUrl: string,
175
+ relativePath: string,
176
+ options?: { bucketName?: string; filename?: string },
177
+ ): Promise<ObjectId> => {
178
+ // Before the first `await`: the calling migration's frame is gone after it.
179
+ const sourcePath = resolveMigrationFilePath(relativePath, relativePath ? callerDirectory(1) : '');
180
+ if (!relativePath) {
181
+ throw new Error('relativePath is required');
182
+ }
183
+
184
+ const { bucketName, filename } = {
185
+ bucketName: 'fs',
186
+ filename: relativePath.split('/')[relativePath.split('/').length - 1],
187
+ ...options,
188
+ };
189
+
190
+ const client = await MongoClient.connect(mongoUrl);
191
+ // Registered unconditionally — unlike `getDb()`, which only registers inside a
192
+ // migration context. This client is always ours to close, so `_endMigration()`
193
+ // stays a backstop for the case where the upload throws before `settle()` runs.
194
+ activeConnections.add(client);
195
+
196
+ const db = client.db();
197
+ const bucket = new GridFSBucket(db, { bucketName });
198
+ const writeStream = bucket.openUploadStream(filename);
199
+
200
+ const readStream = fs.createReadStream(sourcePath);
201
+ const rs = readStream.pipe(writeStream);
202
+
203
+ /**
204
+ * Read errors need their own handler — `pipe()` does not forward them.
205
+ *
206
+ * An unreadable source (missing file, wrong path inside a container image)
207
+ * emits on the READ stream, where nothing was listening: the write stream
208
+ * never finished, the promise below never settled, and the migration hung
209
+ * until something else timed out. Destroying the write stream routes it into
210
+ * the rejection path so the caller sees the actual cause.
211
+ */
212
+ readStream.on('error', (err) => {
213
+ writeStream.destroy(err);
214
+ });
215
+
216
+ /**
217
+ * Close the connection before settling.
218
+ *
219
+ * This client used to be opened and never closed, and it was not registered
220
+ * either — so `_endMigration()` could not reach it. Every uploaded file left a
221
+ * live connection behind, and a live connection keeps an SDAM monitor timer
222
+ * alive, which keeps the Node event loop busy: `migrate up` finished its work,
223
+ * printed "All migrations completed successfully" and then never exited. That
224
+ * is invisible on a developer machine and blocks a CI job until its timeout.
225
+ *
226
+ * A failing `close()` must never become the error the caller sees: the reason
227
+ * the upload ended is what matters, and the settle path is also reached while
228
+ * rejecting. So the close error is logged and swallowed, and `settled` keeps a
229
+ * second call (success path falling into `.catch`) from closing twice.
230
+ */
231
+ let settled = false;
232
+ const settle = async <T>(action: () => T): Promise<T> => {
233
+ if (!settled) {
234
+ settled = true;
235
+ try {
236
+ await client.close();
237
+ } catch (closeErr) {
238
+ console.warn('Failed to close migration connection:', closeErr);
239
+ } finally {
240
+ activeConnections.delete(client);
241
+ }
242
+ }
243
+ return action();
244
+ };
245
+
246
+ return new Promise<ObjectId>((resolve, reject) => {
247
+ rs.on('finish', () => {
248
+ const id = writeStream.id as ObjectId;
249
+ // Verify BEFORE closing: the check needs the same open client, and a
250
+ // failure has to reject rather than hand back an id that points at nothing.
251
+ assertGridFsFileComplete(db, bucketName, id, filename)
252
+ .then(() => settle(() => id))
253
+ .then(resolve)
254
+ .catch((err: unknown) => {
255
+ // Drop the incomplete file, otherwise every re-run of the migration
256
+ // leaves another orphaned files document (plus its partial chunks)
257
+ // behind, since a retry uploads under a fresh ObjectId.
258
+ void bucket
259
+ .delete(id)
260
+ .catch(() => undefined)
261
+ .then(() => settle(() => undefined))
262
+ .finally(() => reject(err));
263
+ });
264
+ });
265
+
266
+ rs.on('error', (err) => {
267
+ void settle(() => undefined).finally(() => reject(err));
268
+ });
269
+ });
270
+ };
271
+
272
+ /**
273
+ * Create a migration state store factory
274
+ *
275
+ * The lock collection is set by DEFAULT, so `migrate up` from N replicas booting at
276
+ * the same time serializes instead of applying the same migration twice (the container
277
+ * entrypoint runs migrations on every boot). Pass an empty string to opt out.
278
+ *
279
+ * @param mongoUrl - MongoDB connection URI
280
+ * @param collectionName - Optional collection name (default: 'migrations')
281
+ * @param lockCollectionName - Lock collection name (default: 'migrations_lock'); `''` disables locking
282
+ * @returns MongoStateStore class that can be used with migrate CLI
283
+ *
284
+ * @example
285
+ * ```typescript
286
+ * // In migrations-utils/migrate.js:
287
+ * const { createMigrationStore } = require('@lenne.tech/nest-server');
288
+ * const config = require('../src/config.env');
289
+ *
290
+ * module.exports = createMigrationStore(config.default.mongoose.uri);
291
+ * ```
292
+ */
293
+ export const createMigrationStore = (
294
+ mongoUrl: string,
295
+ collectionName: string = 'migrations',
296
+ lockCollectionName: string = 'migrations_lock',
297
+ // Explicit return type: the returned class is anonymous to the declaration emitter, and
298
+ // MongoStateStore has private members, so an inferred type cannot be written to the .d.ts
299
+ // (TS4094).
300
+ ): new () => MongoStateStore => {
301
+ return class MigrationStateStore extends MongoStateStore {
302
+ constructor() {
303
+ super({
304
+ collectionName,
305
+ lockCollectionName: lockCollectionName || undefined,
306
+ uri: mongoUrl,
307
+ });
308
+ }
309
+ };
310
+ };
@@ -1,5 +1,7 @@
1
1
  import { getDb, uploadFileToGridFS } from '@lenne.tech/nest-server';
2
2
  import { Db, ObjectId } from 'mongodb';
3
+ import { createRequire } from 'node:module';
4
+ import { join } from 'node:path';
3
5
 
4
6
  /**
5
7
  * Migration template for nest-server projects
@@ -12,21 +14,36 @@ import { Db, ObjectId } from 'mongodb';
12
14
  * - uploadFileToGridFS(uri, filePath, options): Upload file to GridFS
13
15
  *
14
16
  * MongoDB URI resolution (in order):
15
- * 1. config.env.ts (local development via ts-node)
17
+ * 1. the project's config.env — next to `migrations/` when run from source (through the `--compiler ts:` loader), or
18
+ * the compiled `dist/src/config.env.js` when run from `dist/migrations`
16
19
  * 2. NSC__MONGOOSE__URI environment variable (Docker production)
17
20
  */
18
21
 
19
- let MONGO_URL: string;
20
- try {
21
- // eslint-disable-next-line @typescript-eslint/no-require-imports
22
- const config = require('../src/config.env');
23
- MONGO_URL = (config.default || config).mongoose.uri;
24
- } catch {
25
- // Fallback for Docker production where config.env.ts is not available as TypeScript source
26
- if (!process.env.NSC__MONGOOSE__URI) {
27
- throw new Error('MongoDB URI not available. Set NSC__MONGOOSE__URI or ensure config.env.ts is loadable.');
22
+ // `createRequire` rather than `require`, so the migration works in CommonJS and ESM projects alike. `__dirname` exists
23
+ // in a CommonJS project only and finds config.env relative to this file — in the source tree and in `dist/` alike. An ES
24
+ // module project has no `__dirname` here; it falls back to the directory the migrate scripts run from.
25
+ const projectRequire = createRequire(join(process.cwd(), 'package.json'));
26
+ const configCandidates = [
27
+ ...(typeof __dirname === 'string' ? [join(__dirname, '..', 'src', 'config.env')] : []),
28
+ join(process.cwd(), 'src', 'config.env'),
29
+ join(process.cwd(), 'dist', 'src', 'config.env'),
30
+ ];
31
+
32
+ let configuredUri: string | undefined;
33
+ for (const candidate of configCandidates) {
34
+ try {
35
+ const config = projectRequire(candidate);
36
+ configuredUri = (config.default || config).mongoose?.uri;
37
+ } catch {
38
+ // Not loadable in this layout — try the next one.
39
+ }
40
+ if (configuredUri) {
41
+ break;
28
42
  }
29
- MONGO_URL = process.env.NSC__MONGOOSE__URI;
43
+ }
44
+ const MONGO_URL = configuredUri ?? process.env.NSC__MONGOOSE__URI;
45
+ if (!MONGO_URL) {
46
+ throw new Error('MongoDB URI not available. Set NSC__MONGOOSE__URI or ensure config.env is loadable.');
30
47
  }
31
48
 
32
49
  /**
@@ -46,7 +63,7 @@ export const up = async () => {
46
63
  // Example: Upload a file to GridFS
47
64
  // const fileId: ObjectId = await uploadFileToGridFS(
48
65
  // MONGO_URL,
49
- // '../assets/image.png',
66
+ // '../assets/image.png', // relative to this migration file
50
67
  // { bucketName: 'images', filename: 'logo.png' }
51
68
  // );
52
69
  };
@@ -1,7 +1,7 @@
1
1
  import { Controller, Get, Header, Headers, Post } from '@nestjs/common';
2
2
 
3
- import { CorePermissionsService } from './core-permissions.service';
4
- import type { PermissionsReport } from './interfaces/permissions.interface';
3
+ import { CorePermissionsService } from './core-permissions.service.js';
4
+ import type { PermissionsReport } from './interfaces/permissions.interface.js';
5
5
 
6
6
  @Controller()
7
7
  export class CorePermissionsController {
@@ -1,11 +1,11 @@
1
1
  import { DynamicModule, Module } from '@nestjs/common';
2
2
  import { PATH_METADATA } from '@nestjs/common/constants';
3
3
 
4
- import { RoleEnum } from '../../common/enums/role.enum';
4
+ import { RoleEnum } from '../../common/enums/role.enum.js';
5
5
 
6
- import { CorePermissionsController } from './core-permissions.controller';
7
- import { CorePermissionsService } from './core-permissions.service';
8
- import type { IPermissions } from './interfaces/permissions.interface';
6
+ import { CorePermissionsController } from './core-permissions.controller.js';
7
+ import { CorePermissionsService } from './core-permissions.service.js';
8
+ import type { IPermissions } from './interfaces/permissions.interface.js';
9
9
 
10
10
  @Module({})
11
11
  export class CorePermissionsModule {