@lenne.tech/nest-server 11.43.3 → 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 (1402) 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 +9 -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 +1 -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 +4 -4
  326. package/dist/core/modules/ai/core-ai-mcp.controller.js +47 -50
  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 +3 -3
  902. package/dist/core/modules/tenant/core-tenant.guard.js +81 -100
  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 +11 -1
  1066. package/docs/security-overrides.md +50 -29
  1067. package/migration-guides/11.43.x-to-12.0.x.md +828 -0
  1068. package/package.json +68 -68
  1069. package/src/config.env.ts +32 -30
  1070. package/src/core/common/args/filter.args.ts +3 -3
  1071. package/src/core/common/args/pagination.args.ts +4 -4
  1072. package/src/core/common/decorators/current-user.decorator.ts +1 -1
  1073. package/src/core/common/decorators/graphql-populate.decorator.ts +1 -1
  1074. package/src/core/common/decorators/graphql-service-options.decorator.ts +2 -2
  1075. package/src/core/common/decorators/response-model.decorator.ts +1 -1
  1076. package/src/core/common/decorators/rest-service-options.decorator.ts +2 -2
  1077. package/src/core/common/decorators/restricted.decorator.ts +11 -11
  1078. package/src/core/common/decorators/unified-field.decorator.ts +12 -7
  1079. package/src/core/common/exceptions/access-denied.exception.ts +1 -1
  1080. package/src/core/common/filters/http-exception-log.filter.ts +16 -2
  1081. package/src/core/common/filters/mongoose-cast-error.filter.ts +1 -1
  1082. package/src/core/common/helpers/clone.helper.ts +2 -2
  1083. package/src/core/common/helpers/config.helper.ts +47 -29
  1084. package/src/core/common/helpers/cookies.helper.ts +1 -1
  1085. package/src/core/common/helpers/db.helper.ts +8 -8
  1086. package/src/core/common/helpers/decorator.helper.ts +2 -2
  1087. package/src/core/common/helpers/execution-context-request.helper.ts +2 -2
  1088. package/src/core/common/helpers/file.helper.ts +1 -1
  1089. package/src/core/common/helpers/filter.helper.ts +9 -9
  1090. package/src/core/common/helpers/graceful-shutdown.helper.ts +1 -1
  1091. package/src/core/common/helpers/graphql-ws-connection.helper.ts +31 -6
  1092. package/src/core/common/helpers/graphql-ws-context.helper.ts +10 -11
  1093. package/src/core/common/helpers/graphql.helper.ts +1 -1
  1094. package/src/core/common/helpers/id.helper.ts +2 -2
  1095. package/src/core/common/helpers/input.helper.ts +11 -11
  1096. package/src/core/common/helpers/interceptor.helper.ts +6 -9
  1097. package/src/core/common/helpers/model.helper.ts +1 -1
  1098. package/src/core/common/helpers/module-location.helper.ts +33 -0
  1099. package/src/core/common/helpers/outbound-url.helper.ts +2 -2
  1100. package/src/core/common/helpers/process-diagnostics.helper.ts +1 -1
  1101. package/src/core/common/helpers/register-enum.helper.ts +1 -1
  1102. package/src/core/common/helpers/scim.helper.ts +3 -3
  1103. package/src/core/common/helpers/service.helper.ts +11 -11
  1104. package/src/core/common/helpers/swagger.helper.ts +94 -35
  1105. package/src/core/common/inputs/combined-filter.input.ts +1 -1
  1106. package/src/core/common/inputs/core-input.input.ts +2 -2
  1107. package/src/core/common/inputs/filter.input.ts +7 -7
  1108. package/src/core/common/inputs/single-filter.input.ts +6 -6
  1109. package/src/core/common/inputs/sort.input.ts +5 -5
  1110. package/src/core/common/interceptors/check-response.interceptor.ts +3 -3
  1111. package/src/core/common/interceptors/check-security.interceptor.ts +5 -5
  1112. package/src/core/common/interceptors/response-model.interceptor.ts +5 -5
  1113. package/src/core/common/interceptors/translate-response.interceptor.ts +1 -1
  1114. package/src/core/common/interfaces/core-persistence-model.interface.ts +1 -1
  1115. package/src/core/common/interfaces/cron-job-config-with-time-zone.interface.ts +1 -1
  1116. package/src/core/common/interfaces/cron-job-config-with-utc-offset.interface.ts +1 -1
  1117. package/src/core/common/interfaces/scim-array-filter-node.interface.ts +1 -1
  1118. package/src/core/common/interfaces/scim-condition-node.interface.ts +1 -1
  1119. package/src/core/common/interfaces/scim-logical-node.interface.ts +2 -2
  1120. package/src/core/common/interfaces/server-options.interface.ts +17 -13
  1121. package/src/core/common/interfaces/service-options.interface.ts +3 -3
  1122. package/src/core/common/middleware/request-context.middleware.ts +1 -1
  1123. package/src/core/common/middlewares/security-headers.middleware.ts +2 -2
  1124. package/src/core/common/models/core-model.model.ts +1 -1
  1125. package/src/core/common/models/core-persistence.model.ts +5 -5
  1126. package/src/core/common/models/pagination-info.model.ts +1 -1
  1127. package/src/core/common/pipes/check-input.pipe.ts +2 -2
  1128. package/src/core/common/pipes/map-and-validate.pipe.ts +6 -6
  1129. package/src/core/common/plugins/complexity.plugin.ts +1 -1
  1130. package/src/core/common/plugins/mongoose-audit-fields.plugin.ts +1 -1
  1131. package/src/core/common/plugins/mongoose-password.plugin.ts +2 -2
  1132. package/src/core/common/plugins/mongoose-role-guard.plugin.ts +3 -3
  1133. package/src/core/common/plugins/mongoose-system-role.plugin.ts +1 -1
  1134. package/src/core/common/plugins/mongoose-tenant.plugin.ts +2 -2
  1135. package/src/core/common/scalars/date-timestamp.scalar.ts +1 -1
  1136. package/src/core/common/scalars/date.scalar.ts +1 -1
  1137. package/src/core/common/scalars/upload.scalar.ts +23 -0
  1138. package/src/core/common/services/brevo.service.ts +32 -6
  1139. package/src/core/common/services/config.service.ts +13 -9
  1140. package/src/core/common/services/core-body-parser.initializer.ts +3 -3
  1141. package/src/core/common/services/core-cron-jobs.initializer.ts +3 -3
  1142. package/src/core/common/services/core-cron-jobs.registry.ts +1 -1
  1143. package/src/core/common/services/core-cron-jobs.service.ts +45 -30
  1144. package/src/core/common/services/core-redis-pubsub.ts +1 -1
  1145. package/src/core/common/services/core-redis.service.ts +3 -3
  1146. package/src/core/common/services/core-s3.service.ts +17 -3
  1147. package/src/core/common/services/core-tenant-context.registry.ts +1 -1
  1148. package/src/core/common/services/core-trust-proxy.initializer.ts +2 -2
  1149. package/src/core/common/services/crud.service.ts +10 -10
  1150. package/src/core/common/services/email.service.ts +13 -12
  1151. package/src/core/common/services/mailjet.service.ts +10 -2
  1152. package/src/core/common/services/model-doc.service.ts +3 -3
  1153. package/src/core/common/services/model-registry.service.ts +1 -1
  1154. package/src/core/common/services/module.service.ts +12 -12
  1155. package/src/core/common/services/rate-limit-store.ts +6 -3
  1156. package/src/core/common/services/template.service.ts +3 -3
  1157. package/src/core/common/types/core-model-constructor.type.ts +1 -1
  1158. package/src/core/common/types/field-selection.type.ts +1 -1
  1159. package/src/core/common/types/ids.type.ts +1 -1
  1160. package/src/core/common/types/plain-input.type.ts +3 -0
  1161. package/src/core/common/types/scim-node.type.ts +3 -3
  1162. package/src/core/common/types/wrapper.type.ts +14 -1
  1163. package/src/core/modules/ai/core-ai-mcp-oauth.initializer.ts +6 -6
  1164. package/src/core/modules/ai/core-ai-mcp.controller.ts +18 -15
  1165. package/src/core/modules/ai/core-ai.controller.ts +42 -42
  1166. package/src/core/modules/ai/core-ai.module.ts +46 -39
  1167. package/src/core/modules/ai/core-ai.resolver.ts +40 -40
  1168. package/src/core/modules/ai/helpers/ai-mcp-oauth.helper.ts +4 -4
  1169. package/src/core/modules/ai/hooks/ai-hook.base.ts +2 -2
  1170. package/src/core/modules/ai/hooks/ai-hook.registry.ts +3 -3
  1171. package/src/core/modules/ai/index.ts +71 -71
  1172. package/src/core/modules/ai/inputs/core-ai-budget-limit-create.input.ts +4 -4
  1173. package/src/core/modules/ai/inputs/core-ai-budget-limit.input.ts +3 -3
  1174. package/src/core/modules/ai/inputs/core-ai-connection-create.input.ts +4 -4
  1175. package/src/core/modules/ai/inputs/core-ai-connection-preference.input.ts +3 -3
  1176. package/src/core/modules/ai/inputs/core-ai-connection.input.ts +3 -3
  1177. package/src/core/modules/ai/inputs/core-ai-conversation-create.input.ts +3 -3
  1178. package/src/core/modules/ai/inputs/core-ai-conversation.input.ts +3 -3
  1179. package/src/core/modules/ai/inputs/core-ai-prompt-create.input.ts +4 -4
  1180. package/src/core/modules/ai/inputs/core-ai-prompt-hint-create.input.ts +4 -4
  1181. package/src/core/modules/ai/inputs/core-ai-prompt-hint.input.ts +3 -3
  1182. package/src/core/modules/ai/inputs/core-ai-prompt-update.input.ts +4 -4
  1183. package/src/core/modules/ai/inputs/core-ai-prompt.input.ts +4 -4
  1184. package/src/core/modules/ai/inputs/core-ai-slot-create.input.ts +4 -4
  1185. package/src/core/modules/ai/inputs/core-ai-slot-update.input.ts +3 -3
  1186. package/src/core/modules/ai/interfaces/ai-hook.interface.ts +3 -3
  1187. package/src/core/modules/ai/interfaces/ai-placeholder.interface.ts +1 -1
  1188. package/src/core/modules/ai/interfaces/ai-tool.interface.ts +2 -2
  1189. package/src/core/modules/ai/models/core-ai-action.model.ts +3 -3
  1190. package/src/core/modules/ai/models/core-ai-available-connection.model.ts +2 -2
  1191. package/src/core/modules/ai/models/core-ai-budget-limit.model.ts +4 -4
  1192. package/src/core/modules/ai/models/core-ai-connection-preference.model.ts +4 -4
  1193. package/src/core/modules/ai/models/core-ai-connection.model.ts +4 -4
  1194. package/src/core/modules/ai/models/core-ai-conversation.model.ts +6 -6
  1195. package/src/core/modules/ai/models/core-ai-interaction.model.ts +5 -5
  1196. package/src/core/modules/ai/models/core-ai-message.model.ts +2 -2
  1197. package/src/core/modules/ai/models/core-ai-mode.model.ts +4 -4
  1198. package/src/core/modules/ai/models/core-ai-prompt-hint.model.ts +4 -4
  1199. package/src/core/modules/ai/models/core-ai-prompt.model.ts +4 -4
  1200. package/src/core/modules/ai/models/core-ai-response.model.ts +6 -6
  1201. package/src/core/modules/ai/models/core-ai-slot.model.ts +4 -4
  1202. package/src/core/modules/ai/models/core-ai-tool-grant.model.ts +4 -4
  1203. package/src/core/modules/ai/models/core-ai-tool-policy.model.ts +5 -5
  1204. package/src/core/modules/ai/models/core-ai-usage-info.model.ts +2 -2
  1205. package/src/core/modules/ai/models/core-ai-usage.model.ts +2 -2
  1206. package/src/core/modules/ai/providers/claude-cli.provider.ts +4 -4
  1207. package/src/core/modules/ai/providers/llm-provider.factory.ts +3 -3
  1208. package/src/core/modules/ai/providers/openai-compatible.provider.ts +4 -4
  1209. package/src/core/modules/ai/services/ai-crypto.service.ts +2 -2
  1210. package/src/core/modules/ai/services/core-ai-budget.service.ts +11 -11
  1211. package/src/core/modules/ai/services/core-ai-connection-preference.service.ts +11 -7
  1212. package/src/core/modules/ai/services/core-ai-connection-resolver.service.ts +6 -6
  1213. package/src/core/modules/ai/services/core-ai-connection.service.ts +14 -14
  1214. package/src/core/modules/ai/services/core-ai-conversation.service.ts +10 -10
  1215. package/src/core/modules/ai/services/core-ai-interaction.service.ts +6 -6
  1216. package/src/core/modules/ai/services/core-ai-mcp-client.service.ts +3 -3
  1217. package/src/core/modules/ai/services/core-ai-mcp-oauth.service.ts +45 -9
  1218. package/src/core/modules/ai/services/core-ai-mcp.service.ts +2 -2
  1219. package/src/core/modules/ai/services/core-ai-mode.service.ts +5 -5
  1220. package/src/core/modules/ai/services/core-ai-placeholder.registry.ts +3 -3
  1221. package/src/core/modules/ai/services/core-ai-prompt-builder.service.ts +6 -6
  1222. package/src/core/modules/ai/services/core-ai-prompt-hint.service.ts +8 -8
  1223. package/src/core/modules/ai/services/core-ai-prompt.service.ts +9 -9
  1224. package/src/core/modules/ai/services/core-ai-slot.service.ts +10 -10
  1225. package/src/core/modules/ai/services/core-ai-tool-grant.service.ts +5 -5
  1226. package/src/core/modules/ai/services/core-ai-tool-policy.service.ts +5 -5
  1227. package/src/core/modules/ai/services/core-ai.service.ts +37 -33
  1228. package/src/core/modules/ai/tools/ai-tool.base.ts +3 -3
  1229. package/src/core/modules/ai/tools/ai-tool.registry.ts +5 -5
  1230. package/src/core/modules/ai/tools/ask-user-question.tool.ts +4 -4
  1231. package/src/core/modules/ai/tools/search-tools.tool.ts +4 -4
  1232. package/src/core/modules/api-token/core-api-token.decorators.ts +1 -1
  1233. package/src/core/modules/api-token/core-api-token.helpers.ts +8 -8
  1234. package/src/core/modules/api-token/core-api-token.middleware.ts +3 -3
  1235. package/src/core/modules/api-token/core-api-token.model.ts +10 -10
  1236. package/src/core/modules/api-token/core-api-token.module.ts +4 -4
  1237. package/src/core/modules/api-token/core-api-token.service.ts +13 -13
  1238. package/src/core/modules/auth/core-auth.controller.ts +19 -19
  1239. package/src/core/modules/auth/core-auth.model.ts +5 -5
  1240. package/src/core/modules/auth/core-auth.module.ts +12 -12
  1241. package/src/core/modules/auth/core-auth.resolver.ts +19 -19
  1242. package/src/core/modules/auth/core-legacy-auth-deprecation.initializer.ts +17 -3
  1243. package/src/core/modules/auth/guards/auth.guard.ts +40 -12
  1244. package/src/core/modules/auth/guards/legacy-auth-rate-limit.guard.ts +1 -1
  1245. package/src/core/modules/auth/guards/refresh-token.guard.ts +1 -1
  1246. package/src/core/modules/auth/guards/roles.guard.ts +13 -13
  1247. package/src/core/modules/auth/helpers/legacy-endpoints.helper.ts +1 -1
  1248. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +4 -4
  1249. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +3 -3
  1250. package/src/core/modules/auth/interfaces/auth-provider.interface.ts +1 -1
  1251. package/src/core/modules/auth/interfaces/core-auth-user.interface.ts +1 -1
  1252. package/src/core/modules/auth/services/core-auth-user.service.ts +2 -2
  1253. package/src/core/modules/auth/services/core-auth.service.ts +14 -14
  1254. package/src/core/modules/auth/services/legacy-auth-rate-limiter.service.ts +4 -4
  1255. package/src/core/modules/auth/strategies/jwt-refresh.strategy.ts +3 -3
  1256. package/src/core/modules/auth/strategies/jwt.strategy.ts +4 -4
  1257. package/src/core/modules/auth/tokens.decorator.ts +1 -1
  1258. package/src/core/modules/better-auth/better-auth-roles.guard.ts +10 -10
  1259. package/src/core/modules/better-auth/better-auth-token.service.ts +3 -3
  1260. package/src/core/modules/better-auth/better-auth.config.ts +79 -14
  1261. package/src/core/modules/better-auth/better-auth.resolver.ts +9 -9
  1262. package/src/core/modules/better-auth/better-auth.types.ts +1 -1
  1263. package/src/core/modules/better-auth/core-better-auth-api.middleware.ts +84 -12
  1264. package/src/core/modules/better-auth/core-better-auth-auth.model.ts +3 -3
  1265. package/src/core/modules/better-auth/core-better-auth-challenge.service.ts +3 -3
  1266. package/src/core/modules/better-auth/core-better-auth-cookie.helper.ts +4 -4
  1267. package/src/core/modules/better-auth/core-better-auth-email-verification.service.ts +21 -11
  1268. package/src/core/modules/better-auth/core-better-auth-error-codes.helper.ts +1 -1
  1269. package/src/core/modules/better-auth/core-better-auth-models.ts +2 -2
  1270. package/src/core/modules/better-auth/core-better-auth-openapi.helper.ts +1 -1
  1271. package/src/core/modules/better-auth/core-better-auth-rate-limit.middleware.ts +2 -2
  1272. package/src/core/modules/better-auth/core-better-auth-rate-limiter.service.ts +3 -3
  1273. package/src/core/modules/better-auth/core-better-auth-signup-validator.service.ts +3 -3
  1274. package/src/core/modules/better-auth/core-better-auth-user.mapper.ts +25 -5
  1275. package/src/core/modules/better-auth/core-better-auth-web.helper.ts +2 -2
  1276. package/src/core/modules/better-auth/core-better-auth.controller.ts +20 -17
  1277. package/src/core/modules/better-auth/core-better-auth.middleware.ts +5 -5
  1278. package/src/core/modules/better-auth/core-better-auth.module.ts +29 -27
  1279. package/src/core/modules/better-auth/core-better-auth.registry.ts +35 -1
  1280. package/src/core/modules/better-auth/core-better-auth.resolver.ts +16 -13
  1281. package/src/core/modules/better-auth/core-better-auth.service.ts +17 -17
  1282. package/src/core/modules/better-auth/index.ts +24 -24
  1283. package/src/core/modules/error-code/core-error-code.controller.ts +4 -4
  1284. package/src/core/modules/error-code/core-error-code.service.ts +2 -2
  1285. package/src/core/modules/error-code/error-code.module.ts +3 -3
  1286. package/src/core/modules/error-code/index.ts +5 -5
  1287. package/src/core/modules/error-code/interfaces/error-code.interfaces.ts +2 -2
  1288. package/src/core/modules/file/core-file-access-audit.initializer.ts +5 -5
  1289. package/src/core/modules/file/core-file-info.model.ts +4 -4
  1290. package/src/core/modules/file/core-file.controller.ts +8 -8
  1291. package/src/core/modules/file/core-file.resolver.ts +8 -9
  1292. package/src/core/modules/file/core-file.service.ts +20 -20
  1293. package/src/core/modules/file/file-access.helper.ts +1 -1
  1294. package/src/core/modules/file/file-roles.config.ts +2 -2
  1295. package/src/core/modules/file/file-roles.helper.ts +6 -6
  1296. package/src/core/modules/file/file-storage.helper.ts +1 -1
  1297. package/src/core/modules/file/filesystem-file.helper.ts +2 -2
  1298. package/src/core/modules/file/interfaces/file-upload.interface.ts +1 -1
  1299. package/src/core/modules/file/s3-file.helper.ts +2 -2
  1300. package/src/core/modules/health-check/core-health-check-result.model.ts +5 -5
  1301. package/src/core/modules/health-check/core-health-check.controller.ts +3 -3
  1302. package/src/core/modules/health-check/core-health-check.module.ts +3 -3
  1303. package/src/core/modules/health-check/core-health-check.resolver.ts +4 -4
  1304. package/src/core/modules/health-check/core-health-check.service.ts +18 -9
  1305. package/src/core/modules/hub/core-hub-actions.controller.ts +2 -2
  1306. package/src/core/modules/hub/core-hub-html.service.ts +4 -4
  1307. package/src/core/modules/hub/core-hub.controller.ts +17 -17
  1308. package/src/core/modules/hub/core-hub.module.ts +17 -17
  1309. package/src/core/modules/hub/core-hub.service.ts +9 -9
  1310. package/src/core/modules/hub/hub-buffer.ts +2 -2
  1311. package/src/core/modules/hub/hub-config.helper.ts +4 -4
  1312. package/src/core/modules/hub/index.ts +25 -25
  1313. package/src/core/modules/hub/middleware/hub-trace.middleware.ts +1 -1
  1314. package/src/core/modules/hub/services/core-hub-actions.service.ts +12 -12
  1315. package/src/core/modules/hub/services/core-hub-db.service.ts +11 -11
  1316. package/src/core/modules/hub/services/core-hub-email.service.ts +7 -6
  1317. package/src/core/modules/hub/services/core-hub-mailbox.service.ts +6 -6
  1318. package/src/core/modules/hub/services/core-hub-migrations.service.ts +8 -8
  1319. package/src/core/modules/hub/services/core-hub-sources.service.ts +12 -6
  1320. package/src/core/modules/hub/services/hub-log-buffer.service.ts +6 -6
  1321. package/src/core/modules/hub/services/hub-query-profiler.service.ts +8 -8
  1322. package/src/core/modules/hub/services/hub-trace-buffer.service.ts +5 -5
  1323. package/src/core/modules/migrate/MIGRATION_FROM_NODEPIT.md +1 -1
  1324. package/src/core/modules/migrate/README.md +32 -8
  1325. package/src/core/modules/migrate/cli/migrate-cli.ts +71 -7
  1326. package/src/core/modules/migrate/helpers/migration.helper.ts +7 -284
  1327. package/src/core/modules/migrate/helpers/package.json +3 -0
  1328. package/src/core/modules/migrate/helpers/ts-compiler-hooks.mjs +90 -0
  1329. package/src/core/modules/migrate/helpers/ts-compiler.cjs +183 -0
  1330. package/src/core/modules/migrate/helpers/ts-compiler.js +7 -10
  1331. package/src/core/modules/migrate/index.ts +4 -4
  1332. package/src/core/modules/migrate/migration-runner.ts +9 -10
  1333. package/src/core/modules/migrate/migration.helper.ts +310 -0
  1334. package/src/core/modules/migrate/templates/migration-project.template.ts +29 -12
  1335. package/src/core/modules/permissions/core-permissions.controller.ts +2 -2
  1336. package/src/core/modules/permissions/core-permissions.module.ts +4 -4
  1337. package/src/core/modules/permissions/core-permissions.service.ts +2 -2
  1338. package/src/core/modules/permissions/permissions-scanner.ts +1 -1
  1339. package/src/core/modules/system-setup/core-system-setup.controller.ts +3 -3
  1340. package/src/core/modules/system-setup/core-system-setup.module.ts +2 -2
  1341. package/src/core/modules/system-setup/core-system-setup.service.ts +6 -6
  1342. package/src/core/modules/tenant/core-role-scope.registry.ts +3 -3
  1343. package/src/core/modules/tenant/core-tenant-member.model.ts +8 -8
  1344. package/src/core/modules/tenant/core-tenant-role.helper.ts +4 -4
  1345. package/src/core/modules/tenant/core-tenant.decorators.ts +1 -1
  1346. package/src/core/modules/tenant/core-tenant.guard.ts +19 -39
  1347. package/src/core/modules/tenant/core-tenant.helpers.ts +6 -6
  1348. package/src/core/modules/tenant/core-tenant.module.ts +7 -7
  1349. package/src/core/modules/tenant/core-tenant.service.ts +6 -6
  1350. package/src/core/modules/tus/core-tus.controller.ts +6 -6
  1351. package/src/core/modules/tus/core-tus.service.ts +14 -14
  1352. package/src/core/modules/tus/index.ts +5 -5
  1353. package/src/core/modules/tus/interfaces/tus-config.interface.ts +5 -5
  1354. package/src/core/modules/tus/tus-redis-locker.ts +1 -1
  1355. package/src/core/modules/tus/tus.module.ts +10 -10
  1356. package/src/core/modules/user/core-user.model.ts +5 -5
  1357. package/src/core/modules/user/core-user.service.ts +19 -19
  1358. package/src/core/modules/user/inputs/core-user-create.input.ts +4 -4
  1359. package/src/core/modules/user/inputs/core-user.input.ts +5 -5
  1360. package/src/core/modules/user/interfaces/core-user-service-options.interface.ts +1 -1
  1361. package/src/core.module.ts +63 -158
  1362. package/src/index.ts +204 -203
  1363. package/src/main.ts +19 -16
  1364. package/src/server/common/models/persistence.model.ts +6 -6
  1365. package/src/server/common/services/cron-jobs.service.ts +7 -8
  1366. package/src/server/modules/ai/ai-tools.module.ts +7 -7
  1367. package/src/server/modules/ai/tools/delete-user.tool.ts +5 -5
  1368. package/src/server/modules/ai/tools/find-users.tool.ts +5 -5
  1369. package/src/server/modules/ai/tools/get-user.tool.ts +5 -5
  1370. package/src/server/modules/ai/tools/update-user-job-title.tool.ts +6 -6
  1371. package/src/server/modules/auth/auth.controller.ts +5 -5
  1372. package/src/server/modules/auth/auth.model.ts +6 -6
  1373. package/src/server/modules/auth/auth.module.ts +7 -7
  1374. package/src/server/modules/auth/auth.resolver.ts +10 -10
  1375. package/src/server/modules/auth/auth.service.ts +8 -8
  1376. package/src/server/modules/auth/inputs/auth-sign-in.input.ts +3 -3
  1377. package/src/server/modules/auth/inputs/auth-sign-up.input.ts +4 -4
  1378. package/src/server/modules/better-auth/better-auth.controller.ts +8 -8
  1379. package/src/server/modules/better-auth/better-auth.module.ts +4 -4
  1380. package/src/server/modules/better-auth/better-auth.resolver.ts +10 -10
  1381. package/src/server/modules/error-code/error-code.controller.ts +5 -5
  1382. package/src/server/modules/error-code/error-code.service.ts +2 -2
  1383. package/src/server/modules/error-code/error-codes.ts +1 -1
  1384. package/src/server/modules/error-code/index.ts +3 -3
  1385. package/src/server/modules/file/file-info.model.ts +3 -3
  1386. package/src/server/modules/file/file.controller.ts +5 -5
  1387. package/src/server/modules/file/file.module.ts +5 -5
  1388. package/src/server/modules/file/file.resolver.ts +6 -7
  1389. package/src/server/modules/file/file.service.ts +7 -7
  1390. package/src/server/modules/user/avatar.controller.ts +9 -10
  1391. package/src/server/modules/user/inputs/user-create.input.ts +4 -4
  1392. package/src/server/modules/user/inputs/user.input.ts +4 -4
  1393. package/src/server/modules/user/outputs/find-and-count-users-result.output.ts +5 -5
  1394. package/src/server/modules/user/user.controller.ts +10 -10
  1395. package/src/server/modules/user/user.model.ts +7 -7
  1396. package/src/server/modules/user/user.module.ts +9 -9
  1397. package/src/server/modules/user/user.resolver.ts +11 -11
  1398. package/src/server/modules/user/user.service.ts +10 -10
  1399. package/src/server/server.controller.ts +1 -1
  1400. package/src/server/server.module.ts +16 -16
  1401. package/src/test/test.helper.ts +5 -5
  1402. package/dist/tsconfig.build.tsbuildinfo +0 -1
@@ -1,287 +1,10 @@
1
- import * as fs from 'fs';
2
- import { Db, GridFSBucket, MongoClient, ObjectId } from 'mongodb';
3
- import * as path from 'path';
4
-
5
- import { MongoStateStore } from '../mongo-state-store';
6
-
7
1
  /**
8
- * Migration helper functions for database operations
9
- */
10
-
11
- // Store active connections for auto-cleanup
12
- const activeConnections = new Set<MongoClient>();
13
-
14
- // Track if we're in a migration context
15
- let inMigrationContext = false;
16
-
17
- /**
18
- * Mark the start of a migration
19
- * @internal Used by migration runner
20
- */
21
- export const _startMigration = () => {
22
- inMigrationContext = true;
23
- };
24
-
25
- /**
26
- * Mark the end of a migration and close all connections
27
- * @internal Used by migration runner
28
- */
29
- export const _endMigration = async () => {
30
- inMigrationContext = false;
31
- // Close all active connections
32
- const promises = Array.from(activeConnections).map((client) => client.close());
33
- activeConnections.clear();
34
- await Promise.all(promises);
35
- };
36
-
37
- /**
38
- * Get database connection
39
- *
40
- * When used in migrations, connections are automatically closed after the migration completes.
41
- * For manual usage outside migrations, you must close the connection manually.
42
- *
43
- * @param mongoUrl - MongoDB connection URI
44
- * @returns Promise with database instance
45
- *
46
- * @example
47
- * ```typescript
48
- * // In migrations - connection auto-closes after migration
49
- * const db = await getDb('mongodb://localhost/mydb');
50
- * await db.collection('users').updateMany(...);
51
- *
52
- * // Outside migrations - must close manually
53
- * const db = await getDb('mongodb://localhost/mydb');
54
- * try {
55
- * await db.collection('users').updateMany(...);
56
- * } finally {
57
- * await db.client.close();
58
- * }
59
- * ```
60
- */
61
- export const getDb = async (mongoUrl: string): Promise<Db> => {
62
- const client: MongoClient = await MongoClient.connect(mongoUrl);
63
-
64
- // Track connection for auto-cleanup in migrations
65
- if (inMigrationContext) {
66
- activeConnections.add(client);
67
- }
68
-
69
- return client.db();
70
- };
71
-
72
- /**
73
- * Throw unless every chunk of a stored GridFS file is present.
74
- *
75
- * A GridFS upload is not one write but many: N chunk documents plus the files
76
- * document that describes them. The write stream's `'finish'` event says the
77
- * stream ended — it does not prove every chunk is durably there, and a
78
- * connection that goes away at the wrong moment can leave a files document
79
- * behind that promises more bytes than exist. The upload then "succeeds", the
80
- * caller stores the id, and the defect only surfaces much later as a broken
81
- * download from a record that looks perfectly healthy.
82
- *
83
- * Counts documents rather than reading bytes, so a chunk that was written but
84
- * truncated still passes. Catching that would mean streaming the whole file
85
- * back on every upload; the cheap count catches the failure that actually
86
- * occurs (a missing chunk) and is index-only via the GridFS default index.
87
- *
88
- * @param db - Database holding the bucket
89
- * @param bucketName - GridFS bucket name, i.e. the prefix of `<bucket>.files` / `<bucket>.chunks`
90
- * @param id - `_id` of the files document
91
- * @param label - Optional human-readable name for the error message; defaults to the id
92
- * @throws Error if the files document is missing or fewer chunks are stored than its length implies
93
- *
94
- * @example
95
- * ```typescript
96
- * await assertGridFsFileComplete(db, 'images', fileId, 'logo.png');
97
- * ```
98
- */
99
- export const assertGridFsFileComplete = async (
100
- db: Db,
101
- bucketName: string,
102
- id: ObjectId,
103
- label?: string,
104
- ): Promise<void> => {
105
- const name = label || String(id);
106
- const fileDoc = await db.collection(`${bucketName}.files`).findOne({ _id: id });
107
- if (!fileDoc) {
108
- throw new Error(`GridFS file '${name}' has no file document (id ${String(id)})`);
109
- }
110
-
111
- const chunkSize: number = fileDoc.chunkSize || 255 * 1024;
112
- // NO `Math.max(1, …)` floor here: GridFS stores ZERO chunk documents for a
113
- // zero-byte file — the driver's `writeRemnant()` returns early on `pos === 0`
114
- // rather than inserting an empty chunk. A floor of 1 would reject every
115
- // legitimately empty asset, and because the container entrypoint defaults to
116
- // `MIGRATE_FAILURE_POLICY=abort`, that failure would keep the server from
117
- // starting at all.
118
- const expected = Math.ceil((fileDoc.length || 0) / chunkSize);
119
- const actual = await db
120
- .collection(`${bucketName}.chunks`)
121
- // Read from the primary: this is a read-your-own-write, and a URI carrying
122
- // `readPreference=secondaryPreferred` would otherwise fail a healthy upload
123
- // against a secondary that has not caught up yet.
124
- .countDocuments({ files_id: id }, { readPreference: 'primary' });
125
- if (actual < expected) {
126
- throw new Error(`GridFS file '${name}' is incomplete: ${actual} of ${expected} chunks stored (id ${String(id)})`);
127
- }
128
- };
129
-
130
- /**
131
- * Upload file to GridFS
132
- *
133
- * Resolves only once the upload is verified complete (see
134
- * {@link assertGridFsFileComplete}); rejects — rather than hanging — when the
135
- * source file cannot be read. Closes its own connection either way.
136
- *
137
- * @param mongoUrl - MongoDB connection URI
138
- * @param relativePath - Path to the file, resolved against this module's directory
139
- * @param options - Optional bucket name and filename
140
- * @returns Promise with ObjectId of uploaded file
141
- * @throws Error if the source cannot be read, or if the stored file is incomplete
142
- *
143
- * @example
144
- * ```typescript
145
- * const fileId = await uploadFileToGridFS(
146
- * 'mongodb://localhost/mydb',
147
- * '../assets/image.png',
148
- * { bucketName: 'images', filename: 'logo.png' }
149
- * );
150
- * ```
151
- */
152
- export const uploadFileToGridFS = async (
153
- mongoUrl: string,
154
- relativePath: string,
155
- options?: { bucketName?: string; filename?: string },
156
- ): Promise<ObjectId> => {
157
- if (!relativePath) {
158
- throw new Error('relativePath is required');
159
- }
160
-
161
- const { bucketName, filename } = {
162
- bucketName: 'fs',
163
- filename: relativePath.split('/')[relativePath.split('/').length - 1],
164
- ...options,
165
- };
166
-
167
- const client = await MongoClient.connect(mongoUrl);
168
- // Registered unconditionally — unlike `getDb()`, which only registers inside a
169
- // migration context. This client is always ours to close, so `_endMigration()`
170
- // stays a backstop for the case where the upload throws before `settle()` runs.
171
- activeConnections.add(client);
172
-
173
- const db = client.db();
174
- const bucket = new GridFSBucket(db, { bucketName });
175
- const writeStream = bucket.openUploadStream(filename);
176
-
177
- const readStream = fs.createReadStream(path.resolve(__dirname, relativePath));
178
- const rs = readStream.pipe(writeStream);
179
-
180
- /**
181
- * Read errors need their own handler — `pipe()` does not forward them.
182
- *
183
- * An unreadable source (missing file, wrong path inside a container image)
184
- * emits on the READ stream, where nothing was listening: the write stream
185
- * never finished, the promise below never settled, and the migration hung
186
- * until something else timed out. Destroying the write stream routes it into
187
- * the rejection path so the caller sees the actual cause.
188
- */
189
- readStream.on('error', (err) => {
190
- writeStream.destroy(err);
191
- });
192
-
193
- /**
194
- * Close the connection before settling.
195
- *
196
- * This client used to be opened and never closed, and it was not registered
197
- * either — so `_endMigration()` could not reach it. Every uploaded file left a
198
- * live connection behind, and a live connection keeps an SDAM monitor timer
199
- * alive, which keeps the Node event loop busy: `migrate up` finished its work,
200
- * printed "All migrations completed successfully" and then never exited. That
201
- * is invisible on a developer machine and blocks a CI job until its timeout.
202
- *
203
- * A failing `close()` must never become the error the caller sees: the reason
204
- * the upload ended is what matters, and the settle path is also reached while
205
- * rejecting. So the close error is logged and swallowed, and `settled` keeps a
206
- * second call (success path falling into `.catch`) from closing twice.
207
- */
208
- let settled = false;
209
- const settle = async <T>(action: () => T): Promise<T> => {
210
- if (!settled) {
211
- settled = true;
212
- try {
213
- await client.close();
214
- } catch (closeErr) {
215
- console.warn('Failed to close migration connection:', closeErr);
216
- } finally {
217
- activeConnections.delete(client);
218
- }
219
- }
220
- return action();
221
- };
222
-
223
- return new Promise<ObjectId>((resolve, reject) => {
224
- rs.on('finish', () => {
225
- const id = writeStream.id as ObjectId;
226
- // Verify BEFORE closing: the check needs the same open client, and a
227
- // failure has to reject rather than hand back an id that points at nothing.
228
- assertGridFsFileComplete(db, bucketName, id, filename)
229
- .then(() => settle(() => id))
230
- .then(resolve)
231
- .catch((err: unknown) => {
232
- // Drop the incomplete file, otherwise every re-run of the migration
233
- // leaves another orphaned files document (plus its partial chunks)
234
- // behind, since a retry uploads under a fresh ObjectId.
235
- bucket
236
- .delete(id)
237
- .catch(() => undefined)
238
- .then(() => settle(() => undefined))
239
- .finally(() => reject(err));
240
- });
241
- });
242
-
243
- rs.on('error', (err) => {
244
- settle(() => undefined).finally(() => reject(err));
245
- });
246
- });
247
- };
248
-
249
- /**
250
- * Create a migration state store factory
251
- *
252
- * The lock collection is set by DEFAULT, so `migrate up` from N replicas booting at
253
- * the same time serializes instead of applying the same migration twice (the container
254
- * entrypoint runs migrations on every boot). Pass an empty string to opt out.
255
- *
256
- * @param mongoUrl - MongoDB connection URI
257
- * @param collectionName - Optional collection name (default: 'migrations')
258
- * @param lockCollectionName - Lock collection name (default: 'migrations_lock'); `''` disables locking
259
- * @returns MongoStateStore class that can be used with migrate CLI
260
- *
261
- * @example
262
- * ```typescript
263
- * // In migrations-utils/migrate.js:
264
- * const { createMigrationStore } = require('@lenne.tech/nest-server');
265
- * const config = require('../src/config.env');
2
+ * Forwarder kept at the path existing projects load (`migrations-utils/migrate.js`, which the lt CLI generates for
3
+ * vendor-mode projects, requires `src/core/modules/migrate/helpers/migration.helper`). The helper itself moved to
4
+ * `../migration.helper.ts` in 12.0.0.
266
5
  *
267
- * module.exports = createMigrationStore(config.default.mongoose.uri);
268
- * ```
6
+ * This directory is CommonJS (`helpers/package.json`), so this file compiles to CommonJS. No module of the core may
7
+ * import it: a CommonJS module inside the core's ES module graph that loads other core modules breaks `require()` of
8
+ * the package from a CommonJS project. Core modules import `../migration.helper.js`.
269
9
  */
270
- export const createMigrationStore = (
271
- mongoUrl: string,
272
- collectionName: string = 'migrations',
273
- lockCollectionName: string = 'migrations_lock',
274
- // Explicit return type: the returned class is anonymous to the declaration emitter, and
275
- // MongoStateStore has private members, so an inferred type cannot be written to the .d.ts
276
- // (TS4094).
277
- ): new () => MongoStateStore => {
278
- return class MigrationStateStore extends MongoStateStore {
279
- constructor() {
280
- super({
281
- collectionName,
282
- lockCollectionName: lockCollectionName || undefined,
283
- uri: mongoUrl,
284
- });
285
- }
286
- };
287
- };
10
+ export * from '../migration.helper.js';
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * ESM hooks of the framework's TypeScript loader, registered by `ts-compiler.cjs` through `module.register()`.
3
+ *
4
+ * - `resolve`: a relative `./x.js` from a TypeScript file finds `x.ts` when no `x.js` exists (ESM requires the
5
+ * extension of the EMITTED file, so sources written for both module systems name files that exist only after a
6
+ * build). A real `.js` file always wins.
7
+ * - `load`: a TypeScript file in ESM scope (`.mts`, or `.ts` under `"type": "module"`) is compiled with SWC to ESM,
8
+ * with the options of the CommonJS hook. One in CommonJS scope is handed back to the CommonJS loader, where the
9
+ * `require` hook compiles it — the same file must not be compiled two different ways.
10
+ */
11
+ import { readFileSync } from 'node:fs';
12
+ import { createRequire } from 'node:module';
13
+ import { dirname, join } from 'node:path';
14
+ import { fileURLToPath } from 'node:url';
15
+
16
+ const require = createRequire(import.meta.url);
17
+ const { loadSwc, SOURCE_EXTENSIONS, SWC_OPTIONS } = require('./ts-compiler.cjs');
18
+
19
+ const TYPESCRIPT = /\.(c|m)?ts$/;
20
+ const packageTypes = new Map();
21
+ let swc;
22
+
23
+ /** `"module"` or `"commonjs"`, from the nearest package.json — how Node itself decides a `.ts` file's format. */
24
+ function packageType(directory) {
25
+ if (packageTypes.has(directory)) {
26
+ return packageTypes.get(directory);
27
+ }
28
+ let type = 'commonjs';
29
+ try {
30
+ type = JSON.parse(readFileSync(join(directory, 'package.json'), 'utf8')).type === 'module' ? 'module' : 'commonjs';
31
+ } catch {
32
+ const parent = dirname(directory);
33
+ type = parent === directory ? 'commonjs' : packageType(parent);
34
+ }
35
+ packageTypes.set(directory, type);
36
+ return type;
37
+ }
38
+
39
+ function formatOf(filename) {
40
+ if (filename.endsWith('.mts')) {
41
+ return 'module';
42
+ }
43
+ if (filename.endsWith('.cts')) {
44
+ return 'commonjs';
45
+ }
46
+ return packageType(dirname(filename));
47
+ }
48
+
49
+ export async function resolve(specifier, context, nextResolve) {
50
+ try {
51
+ return await nextResolve(specifier, context);
52
+ } catch (error) {
53
+ const extension = specifier.match(/\.(c|m)?js$/)?.[0];
54
+ const fromTypeScript = TYPESCRIPT.test(context.parentURL ?? '');
55
+ const pathLike = /^\.{0,2}\//.test(specifier) || specifier.startsWith('file:');
56
+ if (error?.code !== 'ERR_MODULE_NOT_FOUND' || !extension || !fromTypeScript || !pathLike) {
57
+ throw error;
58
+ }
59
+ const sources = { ...SOURCE_EXTENSIONS, '.mjs': ['.mts'] }[extension] ?? [];
60
+ for (const sourceExtension of sources) {
61
+ try {
62
+ return await nextResolve(specifier.slice(0, -extension.length) + sourceExtension, context);
63
+ } catch {
64
+ // try the next one; the original error is the one worth reporting
65
+ }
66
+ }
67
+ throw error;
68
+ }
69
+ }
70
+
71
+ export async function load(url, context, nextLoad) {
72
+ if (!url.startsWith('file:') || !TYPESCRIPT.test(new URL(url).pathname)) {
73
+ return nextLoad(url, context);
74
+ }
75
+ const filename = fileURLToPath(url);
76
+ if (formatOf(filename) === 'commonjs') {
77
+ // No source: Node loads it with the CommonJS loader, i.e. through the `require` hook.
78
+ return { format: 'commonjs', shortCircuit: true };
79
+ }
80
+ swc ??= loadSwc();
81
+ const { code } = swc.transformSync(readFileSync(filename, 'utf8'), {
82
+ ...SWC_OPTIONS,
83
+ filename,
84
+ // SWC drops import attributes unless told to keep them, and Node refuses a JSON import without
85
+ // `with { type: 'json' }` (ERR_IMPORT_ATTRIBUTE_MISSING) — `import pkg from '../package.json' with { type: 'json' }`.
86
+ jsc: { ...SWC_OPTIONS.jsc, experimental: { keepImportAssertions: true } },
87
+ module: { type: 'es6' },
88
+ });
89
+ return { format: 'module', shortCircuit: true, source: code };
90
+ }
@@ -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