@aurorajs.dev/catalyst-cli 1.1.3 → 2.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 (1535) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/generate/index.js +2 -1
  3. package/dist/generator/domain/config.js +3 -3
  4. package/dist/generator/domain/custom-field-value.js +1 -1
  5. package/dist/generator/domain/display-field.d.ts +24 -0
  6. package/dist/generator/domain/display-field.js +42 -0
  7. package/dist/generator/domain/i18n-table.js +1 -1
  8. package/dist/generator/domain/model.d.ts +15 -1
  9. package/dist/generator/domain/property-filters.d.ts +100 -1
  10. package/dist/generator/domain/property-filters.js +163 -4
  11. package/dist/generator/domain/property-mappers.d.ts +3 -1
  12. package/dist/generator/domain/property-mappers.js +15 -5
  13. package/dist/generator/domain/property-predicates.d.ts +2 -1
  14. package/dist/generator/domain/property-predicates.js +2 -1
  15. package/dist/generator/domain/property-validators.js +9 -4
  16. package/dist/generator/domain/readonly-payload-types.d.ts +3 -3
  17. package/dist/generator/domain/readonly-payload-types.js +5 -5
  18. package/dist/generator/domain/relations-builder.d.ts +10 -0
  19. package/dist/generator/domain/relations-builder.js +13 -4
  20. package/dist/generator/domain/schema-loader.d.ts +41 -0
  21. package/dist/generator/domain/schema-loader.js +349 -2
  22. package/dist/generator/engine/code-writer/code-writer.d.ts +9 -5
  23. package/dist/generator/engine/code-writer/code-writer.js +102 -13
  24. package/dist/generator/handlers/back.handler.d.ts +27 -0
  25. package/dist/generator/handlers/back.handler.js +107 -5
  26. package/dist/generator/packages/installers/auditing.js +3 -3
  27. package/dist/generator/packages/installers/authorization-code.js +2 -5
  28. package/dist/generator/packages/installers/common.js +3 -3
  29. package/dist/generator/packages/installers/mcp.js +1 -1
  30. package/dist/generator/packages/installers/message.js +1 -1
  31. package/dist/generator/packages/installers/ms-email.js +1 -1
  32. package/dist/generator/packages/installers/ms-entra-id.js +3 -3
  33. package/dist/generator/packages/installers/queue-manager.js +1 -1
  34. package/dist/generator/packages/installers/storage-account-azure.js +2 -2
  35. package/dist/generator/packages/installers/storage-account.js +4 -4
  36. package/dist/generator/packages/installers/support.js +1 -1
  37. package/dist/generator/packages/installers/tools.js +1 -1
  38. package/dist/generator/packages/installers/whatsapp.js +1 -1
  39. package/dist/generator/packages/package-helpers.js +10 -10
  40. package/dist/generator/utils/code-gen.d.ts +5 -1
  41. package/dist/generator/utils/code-gen.js +5 -1
  42. package/dist/generator/utils/relations-file.js +62 -0
  43. package/dist/sheets/domain/types.d.ts +5 -1
  44. package/dist/sheets/domain/types.js +3 -0
  45. package/dist/sheets/sync/sheet-to-yaml.d.ts +2 -1
  46. package/dist/sheets/sync/sheet-to-yaml.js +101 -9
  47. package/dist/sheets/sync/yaml-to-sheet.js +6 -1
  48. package/dist/sheets/transformers/property-transformer.d.ts +39 -0
  49. package/dist/sheets/transformers/property-transformer.js +63 -2
  50. package/dist/templates/backend/application/.claude/skills/catalyst-backend-testing/SKILL.md +262 -241
  51. package/dist/templates/backend/application/.claude/skills/catalyst-cross-bounded-context-ports/SKILL.md +1 -1
  52. package/dist/templates/backend/application/.claude/skills/catalyst-field-schema/SKILL.md +12 -7
  53. package/dist/templates/backend/application/.claude/skills/catalyst-field-schema/references/field-schema-and-decorators.md +53 -42
  54. package/dist/templates/backend/application/.claude/skills/catalyst-field-schema/references/query-statement.md +19 -6
  55. package/dist/templates/backend/application/.claude/skills/catalyst-handler-composer/SKILL.md +4 -4
  56. package/dist/templates/backend/application/.claude/skills/catalyst-handler-composer/references/additional-apis-workflow.md +77 -18
  57. package/dist/templates/backend/application/.claude/skills/catalyst-handler-composer/references/create-handler.md +7 -5
  58. package/dist/templates/backend/application/.claude/skills/catalyst-handler-composer/references/update-handler.md +1 -1
  59. package/dist/templates/backend/application/.claude/skills/catalyst-nestjs-primitives/SKILL.md +145 -23
  60. package/dist/templates/backend/application/.claude/skills/catalyst-project-structure/SKILL.md +48 -5
  61. package/dist/templates/backend/application/.claude/skills/catalyst-provider-composition/SKILL.md +23 -20
  62. package/dist/templates/backend/application/.claude/skills/catalyst-schema-migrations/SKILL.md +158 -65
  63. package/dist/templates/backend/application/.oxlintrc.json +171 -0
  64. package/dist/templates/backend/application/CLAUDE.md +22 -0
  65. package/dist/templates/backend/application/nest-cli.json +3 -3
  66. package/dist/templates/backend/application/package.json +43 -75
  67. package/dist/templates/backend/application/scripts/db/check.ts +1 -1
  68. package/dist/templates/backend/application/scripts/db/generate.ts +1 -1
  69. package/dist/templates/backend/application/scripts/db/migrate.ts +2 -2
  70. package/dist/templates/backend/application/scripts/db/query.spec.ts +497 -0
  71. package/dist/templates/backend/application/scripts/db/query.ts +410 -0
  72. package/dist/templates/backend/application/scripts/iam/permissions-without-role.ts +9 -8
  73. package/dist/templates/backend/application/scripts/tz-pin.spec.ts +10 -0
  74. package/dist/templates/backend/application/src/@aurora/core.module.ts +2 -2
  75. package/dist/templates/backend/application/src/@aurora/decorators/auth.decorator.ts +0 -1
  76. package/dist/templates/backend/application/src/@aurora/decorators/index.ts +1 -1
  77. package/dist/templates/backend/application/src/@aurora/modules/authentication/authentication.module.spec.ts +7 -27
  78. package/dist/templates/backend/application/src/@aurora/modules/authentication/authentication.module.ts +11 -11
  79. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/anonymous-account.spec.ts +1 -1
  80. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/anonymous-account.ts +2 -1
  81. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/errors/index.ts +1 -1
  82. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/index.ts +1 -1
  83. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/ports/account-loader.port.ts +26 -0
  84. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/ports/authentication-strategy.port.ts +1 -1
  85. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/ports/index.ts +12 -12
  86. package/dist/templates/backend/application/src/@aurora/modules/authentication/domain/resolve-authentication-mode.spec.ts +1 -1
  87. package/dist/templates/backend/application/src/@aurora/modules/authentication/index.ts +5 -5
  88. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/factory/authentication-strategy.factory.spec.ts +14 -27
  89. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/factory/authentication-strategy.factory.ts +4 -4
  90. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/guards/authentication-jwt.guard.spec.ts +16 -17
  91. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/guards/authentication-jwt.guard.ts +2 -2
  92. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/guards/index.ts +2 -2
  93. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/providers/hub-session-manager.provider.ts +2 -2
  94. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/providers/jwt-signer.provider.ts +2 -2
  95. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/aurora-hub/aurora-hub-consumer.adapter.ts +3 -2
  96. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/aurora-hub/index.ts +1 -0
  97. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/authentication-cache-invalidator.adapter.spec.ts +6 -6
  98. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/authentication-cache-invalidator.adapter.ts +2 -2
  99. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/index.ts +1 -1
  100. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/jwt-passport.strategy.ts +1 -1
  101. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/anonymous-account-loader.adapter.spec.ts +2 -2
  102. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/anonymous-account-loader.adapter.ts +2 -2
  103. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/jwt-signer.adapter.spec.ts +7 -7
  104. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/jwt-signer.adapter.ts +3 -3
  105. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/local-provider-cache-invalidation.spec.ts +84 -0
  106. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/local-provider.adapter.spec.ts +10 -8
  107. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/strategies/local-provider/local-provider.adapter.ts +3 -3
  108. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/warnings/authentication-boot-warning.spec.ts +9 -8
  109. package/dist/templates/backend/application/src/@aurora/modules/authentication/infrastructure/warnings/authentication-boot-warning.ts +1 -1
  110. package/dist/templates/backend/application/src/@aurora/modules/criteria/index.ts +1 -1
  111. package/dist/templates/backend/application/src/@aurora/modules/graphql/graphql-config.module.ts +3 -3
  112. package/dist/templates/backend/application/src/@aurora/modules/graphql/guards/gql-throttler.guard.spec.ts +7 -6
  113. package/dist/templates/backend/application/src/@aurora/modules/graphql/index.ts +3 -3
  114. package/dist/templates/backend/application/src/@aurora/modules/graphql/schema-store.module.ts +1 -1
  115. package/dist/templates/backend/application/src/@aurora/modules/handler-registry/event-dispatcher.spec.ts +3 -3
  116. package/dist/templates/backend/application/src/@aurora/modules/handler-registry/event-dispatcher.ts +1 -1
  117. package/dist/templates/backend/application/src/@aurora/modules/handler-registry/handler-registry.module.ts +2 -2
  118. package/dist/templates/backend/application/src/@aurora/modules/handler-registry/index.ts +4 -4
  119. package/dist/templates/backend/application/src/@aurora/modules/handler-registry/keyed-handler-registry.spec.ts +2 -2
  120. package/dist/templates/backend/application/src/@aurora/modules/handler-registry/keyed-handler-registry.ts +1 -1
  121. package/dist/templates/backend/application/src/@aurora/modules/health/app-version.provider.spec.ts +1 -1
  122. package/dist/templates/backend/application/src/@aurora/modules/health/app-version.provider.ts +4 -3
  123. package/dist/templates/backend/application/src/@aurora/modules/health/health.controller.spec.ts +1 -1
  124. package/dist/templates/backend/application/src/@aurora/modules/health/health.controller.ts +1 -1
  125. package/dist/templates/backend/application/src/@aurora/modules/health/health.module.ts +2 -2
  126. package/dist/templates/backend/application/src/@aurora/modules/health/index.ts +3 -3
  127. package/dist/templates/backend/application/src/@aurora/modules/index.ts +10 -9
  128. package/dist/templates/backend/application/src/@aurora/modules/lang/core-get-fallback-lang-from-json.service.ts +5 -3
  129. package/dist/templates/backend/application/src/@aurora/modules/lang/core-get-langs-from-json.service.ts +2 -2
  130. package/dist/templates/backend/application/src/@aurora/modules/lang/core-langs.ts +1 -1
  131. package/dist/templates/backend/application/src/@aurora/modules/lang/index.ts +3 -3
  132. package/dist/templates/backend/application/src/@aurora/modules/mailer/index.ts +2 -2
  133. package/dist/templates/backend/application/src/@aurora/modules/mailer/mailer-client.module.spec.ts +41 -33
  134. package/dist/templates/backend/application/src/@aurora/modules/mailer/mailer-client.module.ts +2 -2
  135. package/dist/templates/backend/application/src/@aurora/modules/pdf/index.ts +7 -0
  136. package/dist/templates/backend/application/src/@aurora/modules/pdf/pdf-document.types.ts +48 -0
  137. package/dist/templates/backend/application/src/@aurora/modules/pdf/pdf-isolation.spec.ts +17 -0
  138. package/dist/templates/backend/application/src/@aurora/modules/pdf/pdf-renderer.service.ts +12 -0
  139. package/dist/templates/backend/application/src/@aurora/modules/pdf/pdfmake/index.ts +5 -0
  140. package/dist/templates/backend/application/src/@aurora/modules/pdf/pdfmake/pdfmake-renderer.service.spec.ts +58 -0
  141. package/dist/templates/backend/application/src/@aurora/modules/pdf/pdfmake/pdfmake-renderer.service.ts +123 -0
  142. package/dist/templates/backend/application/src/@aurora/modules/report-engine/execute-report.service.spec.ts +6 -6
  143. package/dist/templates/backend/application/src/@aurora/modules/report-engine/execute-report.service.ts +8 -8
  144. package/dist/templates/backend/application/src/@aurora/modules/report-engine/index.ts +20 -20
  145. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-cardinality.guard.spec.ts +2 -2
  146. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-cardinality.guard.ts +1 -1
  147. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-cube.validator.spec.ts +4 -4
  148. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-cube.validator.ts +3 -3
  149. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-db-pool.preflight.spec.ts +4 -4
  150. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-db-pool.provider.spec.ts +1 -1
  151. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-db-pool.provider.ts +1 -1
  152. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-engine.module.spec.ts +7 -8
  153. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-engine.module.ts +16 -17
  154. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-preflight.service.ts +1 -1
  155. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-query.builder.spec.ts +8 -5
  156. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-query.builder.ts +3 -3
  157. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-registry.spec.ts +17 -20
  158. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-registry.ts +2 -2
  159. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-selection.validator.spec.ts +2 -2
  160. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-selection.validator.ts +1 -1
  161. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-tenant.scoper.spec.ts +2 -2
  162. package/dist/templates/backend/application/src/@aurora/modules/report-engine/report-tenant.scoper.ts +1 -1
  163. package/dist/templates/backend/application/src/@aurora/modules/report-engine/result-modes/client-mode.spec.ts +6 -5
  164. package/dist/templates/backend/application/src/@aurora/modules/report-engine/result-modes/client-mode.ts +2 -2
  165. package/dist/templates/backend/application/src/@aurora/modules/report-engine/result-modes/server-mode.spec.ts +7 -6
  166. package/dist/templates/backend/application/src/@aurora/modules/report-engine/result-modes/server-mode.ts +9 -4
  167. package/dist/templates/backend/application/src/@aurora/modules/server-static/index.ts +1 -1
  168. package/dist/templates/backend/application/src/@aurora/services/index.ts +2 -2
  169. package/dist/templates/backend/application/src/@aurora/services/logger.service.ts +20 -6
  170. package/dist/templates/backend/application/src/@aurora/shared.module.ts +1 -2
  171. package/dist/templates/backend/application/src/@bridges/bridges.module.ts +8 -14
  172. package/dist/templates/backend/application/src/@bridges/production-planning/operator-account/index.ts +1 -1
  173. package/dist/templates/backend/application/src/@bridges/production-planning/operator-account/ports/index.ts +2 -2
  174. package/dist/templates/backend/application/src/@bridges/storage-account/file-manager/adapters/index.ts +1 -1
  175. package/dist/templates/backend/application/src/@bridges/storage-account/file-manager/adapters/storage-account-file-manager.adapter.spec.ts +6 -5
  176. package/dist/templates/backend/application/src/@bridges/storage-account/file-manager/adapters/storage-account-file-manager.adapter.ts +3 -3
  177. package/dist/templates/backend/application/src/@bridges/storage-account/file-manager/index.ts +1 -1
  178. package/dist/templates/backend/application/src/@bridges/storage-account/file-manager/ports/index.ts +2 -2
  179. package/dist/templates/backend/application/src/@bridges/storage-account/file-manager/ports/storage-account-file-manager.port.ts +2 -2
  180. package/dist/templates/backend/application/src/@bridges/storage-account/signed-url/adapters/index.ts +1 -1
  181. package/dist/templates/backend/application/src/@bridges/storage-account/signed-url/adapters/storage-account-signed-url.adapter.spec.ts +5 -4
  182. package/dist/templates/backend/application/src/@bridges/storage-account/signed-url/adapters/storage-account-signed-url.adapter.ts +2 -2
  183. package/dist/templates/backend/application/src/@bridges/storage-account/signed-url/index.ts +1 -1
  184. package/dist/templates/backend/application/src/@bridges/storage-account/signed-url/ports/index.ts +2 -2
  185. package/dist/templates/backend/application/src/@config/drizzle/aurora-drizzle-schema.spec.ts +29 -42
  186. package/dist/templates/backend/application/src/@config/drizzle/aurora-drizzle-schema.ts +15 -33
  187. package/dist/templates/backend/application/src/@config/drizzle/aurora-field-schemas.spec.ts +7 -9
  188. package/dist/templates/backend/application/src/@config/drizzle/aurora-field-schemas.ts +67 -91
  189. package/dist/templates/backend/application/src/@config/drizzle/drizzle-migrations.module.spec.ts +12 -11
  190. package/dist/templates/backend/application/src/@config/drizzle/drizzle-migrations.module.ts +11 -4
  191. package/dist/templates/backend/application/src/@config/drizzle/index.ts +3 -3
  192. package/dist/templates/backend/application/src/@config/index.ts +6 -5
  193. package/dist/templates/backend/application/src/@config/lang/index.ts +1 -1
  194. package/dist/templates/backend/application/src/@config/lang/lang.providers.ts +1 -1
  195. package/dist/templates/backend/application/src/@config/mailer/index.ts +1 -1
  196. package/dist/templates/backend/application/src/@config/mailer/mailer-transport.module.ts +1 -1
  197. package/dist/templates/backend/application/src/@config/pdf/index.ts +1 -0
  198. package/dist/templates/backend/application/src/@config/pdf/pdf-renderer.module.spec.ts +53 -0
  199. package/dist/templates/backend/application/src/@config/pdf/pdf-renderer.module.ts +17 -0
  200. package/dist/templates/backend/application/src/@config/storage-account/index.ts +1 -1
  201. package/dist/templates/backend/application/src/@config/storage-account/storage-account.providers.spec.ts +3 -3
  202. package/dist/templates/backend/application/src/@config/storage-account/storage-account.providers.ts +2 -2
  203. package/dist/templates/backend/application/src/app.controller.spec.ts +2 -2
  204. package/dist/templates/backend/application/src/app.controller.ts +1 -1
  205. package/dist/templates/backend/application/src/app.module.ts +12 -12
  206. package/dist/templates/backend/application/src/database/migrations/0004_remove_null_elements_from_array_columns.sql +37 -0
  207. package/dist/templates/backend/application/src/database/migrations/drizzle/20260914212920_add-biller-billing-cycle-master/migration.sql +79 -0
  208. package/dist/templates/backend/application/src/database/migrations/drizzle/20260914212920_add-biller-billing-cycle-master/snapshot.json +17983 -0
  209. package/dist/templates/backend/application/src/database/migrations/drizzle/20260915072010_add-biller-charge-billed-by-billing-run/migration.sql +11 -0
  210. package/dist/templates/backend/application/src/database/migrations/drizzle/20260915072010_add-biller-charge-billed-by-billing-run/snapshot.json +18017 -0
  211. package/dist/templates/backend/application/src/database/migrations/drizzle/20260915113209_add-iam-account-has-add-child-tenants/migration.sql +1 -0
  212. package/dist/templates/backend/application/src/database/migrations/drizzle/20260915113209_add-iam-account-has-add-child-tenants/snapshot.json +17760 -0
  213. package/dist/templates/backend/application/src/database/migrations/drizzle/20260916230702_date-columns-to-real-date/migration.sql +22 -0
  214. package/dist/templates/backend/application/src/database/migrations/drizzle/20260916230702_date-columns-to-real-date/snapshot.json +18031 -0
  215. package/dist/templates/backend/application/src/database/migrations/drizzle/20260918120918_drop-biller-tables/migration.sql +14 -0
  216. package/dist/templates/backend/application/src/database/migrations/drizzle/20260918120918_drop-biller-tables/snapshot.json +14217 -0
  217. package/dist/templates/backend/application/src/database/migrations/drizzle/20260918121214_purge-biller-rows/migration.sql +28 -0
  218. package/dist/templates/backend/application/src/database/migrations/drizzle/20260918121214_purge-biller-rows/snapshot.json +14217 -0
  219. package/dist/templates/backend/application/src/main.ts +14 -13
  220. package/dist/templates/backend/application/src/repl.ts +2 -2
  221. package/dist/templates/backend/application/test/app.e2e-spec.ts +1 -18
  222. package/dist/templates/backend/application/test/vitest-setup.ts +13 -0
  223. package/dist/templates/backend/application/tsconfig.build.json +3 -1
  224. package/dist/templates/backend/application/tsconfig.json +1 -0
  225. package/dist/templates/backend/application/vitest.config.e2e.ts +24 -0
  226. package/dist/templates/backend/application/vitest.config.ts +18 -0
  227. package/dist/templates/backend/env/.env +8 -0
  228. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/authorization-code.module.ts +3 -3
  229. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/controllers/auth.controller.spec.ts +19 -31
  230. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/controllers/auth.controller.ts +2 -2
  231. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/controllers/index.ts +1 -1
  232. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/pkce/index.ts +2 -2
  233. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/pkce/pkce-helpers.spec.ts +1 -1
  234. package/dist/templates/backend/packages/authorization-code/src/@api/authorization-code/pkce/pkce-verifier-store.service.spec.ts +1 -1
  235. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-create-app.controller.ts +3 -3
  236. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-delete-app-by-id.controller.ts +3 -3
  237. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-find-app-by-id.controller.ts +3 -3
  238. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-find-app.controller.ts +3 -3
  239. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-get-apps.controller.ts +4 -4
  240. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-my-preferences-app.controller.ts +3 -3
  241. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-paginate-apps.controller.ts +2 -2
  242. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-save-my-launchpad-layout-app.controller.ts +3 -3
  243. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-toggle-favorite-app.controller.ts +3 -3
  244. package/dist/templates/backend/packages/hub/src/@api/hub/app/controllers/hub-update-app-by-id.controller.ts +3 -3
  245. package/dist/templates/backend/packages/hub/src/@api/hub/app/dto/hub-app.dto.ts +3 -2
  246. package/dist/templates/backend/packages/hub/src/@api/hub/app/dto/index.ts +4 -4
  247. package/dist/templates/backend/packages/hub/src/@api/hub/app/index.ts +24 -24
  248. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-create-app.resolver.ts +3 -3
  249. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-delete-app-by-id.resolver.ts +3 -3
  250. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-find-app-by-id.resolver.ts +3 -3
  251. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-find-app.resolver.ts +3 -3
  252. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-get-apps.resolver.ts +3 -3
  253. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-my-preferences-app.resolver.ts +3 -3
  254. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-paginate-apps.resolver.ts +3 -3
  255. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-save-my-launchpad-layout-app.resolver.ts +3 -3
  256. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-toggle-favorite-app.resolver.ts +3 -3
  257. package/dist/templates/backend/packages/hub/src/@api/hub/app/resolvers/hub-update-app-by-id.resolver.ts +3 -3
  258. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-create-app-account.controller.ts +3 -3
  259. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-create-apps-accounts.controller.ts +3 -3
  260. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-delete-app-account-by-id.controller.ts +3 -3
  261. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-delete-apps-accounts.controller.ts +3 -3
  262. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-find-app-account-by-id.controller.ts +3 -3
  263. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-find-app-account.controller.ts +3 -3
  264. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-get-apps-accounts.controller.ts +3 -3
  265. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-paginate-apps-accounts.controller.ts +2 -2
  266. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/controllers/hub-update-app-account-by-id.controller.ts +3 -3
  267. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/dto/hub-app-account.dto.ts +5 -4
  268. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/dto/index.ts +4 -4
  269. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/graphql/hub-app-account.graphql +9 -2
  270. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/index.ts +22 -22
  271. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-create-app-account.resolver.ts +3 -3
  272. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-create-apps-accounts.resolver.ts +3 -3
  273. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-delete-app-account-by-id.resolver.ts +3 -3
  274. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-delete-apps-accounts.resolver.ts +3 -3
  275. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-find-app-account-by-id.resolver.ts +3 -3
  276. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-find-app-account.resolver.ts +3 -3
  277. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-get-apps-accounts.resolver.ts +3 -3
  278. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-paginate-apps-accounts.resolver.ts +3 -3
  279. package/dist/templates/backend/packages/hub/src/@api/hub/app-account/resolvers/hub-update-app-account-by-id.resolver.ts +3 -3
  280. package/dist/templates/backend/packages/hub/src/@api/hub/hub-per-app-permission.seeder.spec.ts +27 -25
  281. package/dist/templates/backend/packages/hub/src/@api/hub/hub-per-app-permission.seeder.ts +11 -11
  282. package/dist/templates/backend/packages/hub/src/@api/hub/hub.module.ts +6 -6
  283. package/dist/templates/backend/packages/hub/src/@api/hub/hub.seeder.ts +5 -5
  284. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/create/hub-create-app.handler.spec.ts +66 -49
  285. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/create/hub-create-app.handler.ts +12 -12
  286. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/create/hub-create-app.service.ts +2 -2
  287. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/delete/hub-delete-app-by-id.handler.spec.ts +65 -36
  288. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/delete/hub-delete-app-by-id.handler.ts +16 -11
  289. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/delete/hub-delete-app-by-id.service.ts +1 -1
  290. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/find/hub-find-app-by-id.handler.spec.ts +52 -19
  291. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/find/hub-find-app-by-id.handler.ts +7 -4
  292. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/find/hub-find-app-by-id.service.ts +5 -3
  293. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/find/hub-find-app.handler.spec.ts +83 -21
  294. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/find/hub-find-app.handler.ts +8 -4
  295. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/find/hub-find-app.service.ts +5 -3
  296. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/get/hub-get-apps.handler.spec.ts +84 -28
  297. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/get/hub-get-apps.handler.ts +8 -4
  298. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/get/hub-get-apps.service.ts +5 -3
  299. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/my-preferences/hub-my-preferences-app.handler.spec.ts +15 -15
  300. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/my-preferences/hub-my-preferences-app.handler.ts +2 -2
  301. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/paginate/hub-paginate-apps.handler.spec.ts +83 -20
  302. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/paginate/hub-paginate-apps.handler.ts +8 -4
  303. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/paginate/hub-paginate-apps.service.ts +5 -3
  304. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/save-my-launchpad-layout/hub-save-my-launchpad-layout-app.handler.spec.ts +14 -15
  305. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/save-my-launchpad-layout/hub-save-my-launchpad-layout-app.handler.ts +2 -2
  306. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/toggle-favorite/hub-toggle-favorite-app.handler.spec.ts +16 -17
  307. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/toggle-favorite/hub-toggle-favorite-app.handler.ts +2 -2
  308. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/update/hub-update-app-by-id.handler.spec.ts +30 -11
  309. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/update/hub-update-app-by-id.handler.ts +9 -5
  310. package/dist/templates/backend/packages/hub/src/@app/hub/app/application/update/hub-update-app-by-id.service.ts +2 -2
  311. package/dist/templates/backend/packages/hub/src/@app/hub/app/domain/hub-app.field-schema.ts +2 -2
  312. package/dist/templates/backend/packages/hub/src/@app/hub/app/domain/index.ts +2 -2
  313. package/dist/templates/backend/packages/hub/src/@app/hub/app/index.ts +42 -42
  314. package/dist/templates/backend/packages/hub/src/@app/hub/app/infrastructure/drizzle/hub-drizzle-app.repository.ts +2 -2
  315. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/functions/hub-assert-no-accounts-reference.function.spec.ts +230 -0
  316. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/functions/hub-assert-no-accounts-reference.function.ts +106 -0
  317. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/functions/hub-sanitize-eager-loads-vs-relation-order.spec.ts +3 -3
  318. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/functions/hub-sanitize-eager-loads.function.spec.ts +1 -1
  319. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/functions/hub-validate-redirect-uri.function.spec.ts +1 -1
  320. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/functions/index.ts +3 -2
  321. package/dist/templates/backend/packages/hub/src/@app/hub/app/shared/index.ts +1 -1
  322. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/create/hub-create-app-account.handler.ts +5 -4
  323. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/create/hub-create-app-account.service.ts +2 -2
  324. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/create/hub-create-apps-accounts.handler.ts +4 -4
  325. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/create/hub-create-apps-accounts.service.ts +2 -2
  326. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/delete/hub-delete-app-account-by-id.handler.ts +4 -3
  327. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/delete/hub-delete-app-account-by-id.service.ts +1 -1
  328. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/delete/hub-delete-apps-accounts.handler.ts +4 -3
  329. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/delete/hub-delete-apps-accounts.service.ts +1 -1
  330. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/find/hub-find-app-account-by-id.handler.ts +3 -3
  331. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/find/hub-find-app-account-by-id.service.ts +5 -3
  332. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/find/hub-find-app-account.handler.ts +3 -3
  333. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/find/hub-find-app-account.service.ts +5 -3
  334. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/get/hub-get-apps-accounts.handler.ts +3 -3
  335. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/get/hub-get-apps-accounts.service.ts +5 -3
  336. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/paginate/hub-paginate-apps-accounts.handler.ts +3 -3
  337. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/paginate/hub-paginate-apps-accounts.service.ts +5 -3
  338. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/update/hub-update-app-account-by-id.handler.ts +5 -5
  339. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/application/update/hub-update-app-account-by-id.service.ts +2 -2
  340. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/domain/hub-app-account.field-schema.ts +2 -2
  341. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/domain/index.ts +1 -1
  342. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/index.ts +44 -44
  343. package/dist/templates/backend/packages/hub/src/@app/hub/app-account/infrastructure/drizzle/hub-drizzle-app-account.repository.ts +2 -2
  344. package/dist/templates/backend/packages/hub/src/@app/hub/hub.relations.ts +2 -2
  345. package/dist/templates/backend/packages/hub/src/@app/hub/index.ts +3 -10
  346. package/dist/templates/backend/packages/hub/src/@bridges/providers/iam-bounded-context-writer.bridge.ts +2 -2
  347. package/dist/templates/backend/packages/hub/src/@bridges/providers/iam-permission-writer.bridge.ts +2 -2
  348. package/dist/templates/backend/packages/hub/src/@bridges/providers/o-auth-application-provisioner.bridge.ts +2 -2
  349. package/dist/templates/backend/packages/hub/test/acceptance/hub/hub-app-account-composite-key.e2e-spec.ts +4 -19
  350. package/dist/templates/backend/packages/hub/test/acceptance/hub/hub-app-deprovisioning.e2e-spec.ts +7 -23
  351. package/dist/templates/backend/packages/hub/test/acceptance/hub/hub-app-provisioning.e2e-spec.ts +11 -32
  352. package/dist/templates/backend/packages/hub/test/acceptance/hub/hub-per-app-access.e2e-spec.ts +9 -26
  353. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-check-password-me-account.controller.ts +3 -3
  354. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-check-unique-email-account.controller.ts +2 -2
  355. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-check-unique-username-account.controller.ts +2 -2
  356. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-count-account.controller.ts +2 -2
  357. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-create-account.controller.ts +4 -4
  358. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-delete-account-by-id.controller.ts +3 -3
  359. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-delete-accounts.controller.ts +3 -3
  360. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-find-account-by-id.controller.ts +3 -3
  361. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-find-account.controller.ts +3 -3
  362. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-get-accounts.controller.ts +3 -3
  363. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-me-account.controller.ts +4 -4
  364. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-paginate-accounts.controller.ts +2 -2
  365. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-paginate-with-tenant-constraint-accounts.controller.ts +3 -3
  366. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-update-account-by-id.controller.ts +4 -4
  367. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-update-accounts.controller.ts +3 -3
  368. package/dist/templates/backend/packages/iam/src/@api/iam/account/controllers/iam-update-me-account.controller.ts +3 -3
  369. package/dist/templates/backend/packages/iam/src/@api/iam/account/dto/iam-account.dto.ts +19 -10
  370. package/dist/templates/backend/packages/iam/src/@api/iam/account/dto/iam-create-account.dto.ts +9 -29
  371. package/dist/templates/backend/packages/iam/src/@api/iam/account/dto/iam-update-account-by-id.dto.ts +9 -29
  372. package/dist/templates/backend/packages/iam/src/@api/iam/account/dto/iam-update-accounts.dto.ts +9 -21
  373. package/dist/templates/backend/packages/iam/src/@api/iam/account/dto/index.ts +4 -4
  374. package/dist/templates/backend/packages/iam/src/@api/iam/account/graphql/iam-account.graphql +14 -13
  375. package/dist/templates/backend/packages/iam/src/@api/iam/account/index.ts +38 -38
  376. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-check-password-me-account.resolver.ts +3 -3
  377. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-check-unique-email-account.resolver.ts +2 -2
  378. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-check-unique-username-account.resolver.ts +2 -2
  379. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-count-account.resolver.ts +2 -2
  380. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-create-account.resolver.ts +3 -3
  381. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-delete-account-by-id.resolver.ts +3 -3
  382. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-delete-accounts.resolver.ts +3 -3
  383. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-find-account-by-id.resolver.ts +3 -3
  384. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-find-account.resolver.ts +3 -3
  385. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-get-accounts.resolver.ts +3 -3
  386. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-me-account.resolver.ts +3 -3
  387. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-paginate-accounts.resolver.ts +3 -3
  388. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-paginate-with-tenant-constraint-accounts.resolver.ts +3 -3
  389. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-update-account-by-id.resolver.ts +3 -3
  390. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-update-accounts.resolver.ts +3 -3
  391. package/dist/templates/backend/packages/iam/src/@api/iam/account/resolvers/iam-update-me-account.resolver.ts +3 -3
  392. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-create-bounded-context.controller.ts +3 -3
  393. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-create-bounded-contexts.controller.ts +3 -3
  394. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-delete-bounded-context-by-id.controller.ts +3 -3
  395. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-delete-bounded-contexts.controller.ts +3 -3
  396. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-find-bounded-context-by-id.controller.ts +3 -3
  397. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-find-bounded-context.controller.ts +3 -3
  398. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-get-bounded-contexts.controller.ts +3 -3
  399. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-paginate-bounded-contexts.controller.ts +2 -2
  400. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-update-bounded-context-by-id.controller.ts +3 -3
  401. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/controllers/iam-update-bounded-contexts.controller.ts +3 -3
  402. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/dto/iam-bounded-context.dto.ts +3 -2
  403. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/dto/index.ts +4 -4
  404. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/index.ts +24 -24
  405. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-create-bounded-context.resolver.ts +3 -3
  406. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-create-bounded-contexts.resolver.ts +3 -3
  407. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-delete-bounded-context-by-id.resolver.ts +3 -3
  408. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-delete-bounded-contexts.resolver.ts +3 -3
  409. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-find-bounded-context-by-id.resolver.ts +3 -3
  410. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-find-bounded-context.resolver.ts +3 -3
  411. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-get-bounded-contexts.resolver.ts +3 -3
  412. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-paginate-bounded-contexts.resolver.ts +3 -3
  413. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-update-bounded-context-by-id.resolver.ts +3 -3
  414. package/dist/templates/backend/packages/iam/src/@api/iam/bounded-context/resolvers/iam-update-bounded-contexts.resolver.ts +3 -3
  415. package/dist/templates/backend/packages/iam/src/@api/iam/iam-bootstrap.seeder.spec.ts +22 -22
  416. package/dist/templates/backend/packages/iam/src/@api/iam/iam-bootstrap.seeder.ts +16 -12
  417. package/dist/templates/backend/packages/iam/src/@api/iam/iam.module.ts +25 -19
  418. package/dist/templates/backend/packages/iam/src/@api/iam/iam.seeder.ts +3 -3
  419. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-create-permission.controller.ts +3 -3
  420. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-create-permissions.controller.ts +3 -3
  421. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-delete-permission-by-id.controller.ts +3 -3
  422. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-delete-permissions.controller.ts +3 -3
  423. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-find-permission-by-id.controller.ts +3 -3
  424. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-find-permission.controller.ts +3 -3
  425. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-get-permissions.controller.ts +3 -3
  426. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-paginate-permissions.controller.ts +2 -2
  427. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-update-permission-by-id.controller.ts +3 -3
  428. package/dist/templates/backend/packages/iam/src/@api/iam/permission/controllers/iam-update-permissions.controller.ts +3 -3
  429. package/dist/templates/backend/packages/iam/src/@api/iam/permission/dto/iam-permission.dto.ts +5 -4
  430. package/dist/templates/backend/packages/iam/src/@api/iam/permission/dto/index.ts +4 -4
  431. package/dist/templates/backend/packages/iam/src/@api/iam/permission/graphql/iam-permission.graphql +3 -12
  432. package/dist/templates/backend/packages/iam/src/@api/iam/permission/index.ts +24 -24
  433. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-create-permission.resolver.ts +3 -3
  434. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-create-permissions.resolver.ts +3 -3
  435. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-delete-permission-by-id.resolver.ts +3 -3
  436. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-delete-permissions.resolver.ts +3 -3
  437. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-find-permission-by-id.resolver.ts +3 -3
  438. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-find-permission.resolver.ts +3 -3
  439. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-get-permissions.resolver.ts +3 -3
  440. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-paginate-permissions.resolver.ts +3 -3
  441. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-update-permission-by-id.resolver.ts +3 -3
  442. package/dist/templates/backend/packages/iam/src/@api/iam/permission/resolvers/iam-update-permissions.resolver.ts +3 -3
  443. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-create-permission-role.controller.ts +3 -3
  444. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-create-permissions-roles.controller.ts +3 -3
  445. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-delete-permission-role-by-id.controller.ts +3 -3
  446. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-delete-permissions-roles.controller.ts +3 -3
  447. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-find-permission-role-by-id.controller.ts +3 -3
  448. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-find-permission-role.controller.ts +3 -3
  449. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-get-permissions-roles.controller.ts +3 -3
  450. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-paginate-permissions-roles.controller.ts +3 -3
  451. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-update-permission-role-by-id.controller.ts +3 -3
  452. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/controllers/iam-update-permissions-roles.controller.ts +3 -3
  453. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/dto/iam-permission-role.dto.ts +5 -4
  454. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/dto/index.ts +4 -4
  455. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/index.ts +24 -24
  456. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-create-permission-role.resolver.ts +3 -3
  457. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-create-permissions-roles.resolver.ts +3 -3
  458. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-delete-permission-role-by-id.resolver.ts +3 -3
  459. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-delete-permissions-roles.resolver.ts +3 -3
  460. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-find-permission-role-by-id.resolver.ts +3 -3
  461. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-find-permission-role.resolver.ts +3 -3
  462. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-get-permissions-roles.resolver.ts +3 -3
  463. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-paginate-permissions-roles.resolver.ts +3 -3
  464. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-update-permission-role-by-id.resolver.ts +3 -3
  465. package/dist/templates/backend/packages/iam/src/@api/iam/permission-role/resolvers/iam-update-permissions-roles.resolver.ts +3 -3
  466. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-create-role.controller.ts +3 -3
  467. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-create-roles.controller.ts +3 -3
  468. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-delete-role-by-id.controller.ts +3 -3
  469. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-delete-roles.controller.ts +3 -3
  470. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-find-role-by-id.controller.ts +3 -3
  471. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-find-role.controller.ts +3 -3
  472. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-get-roles.controller.ts +3 -3
  473. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-inherit-permissions-role-role.controller.ts +3 -3
  474. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-paginate-roles.controller.ts +2 -2
  475. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-update-role-by-id.controller.ts +3 -3
  476. package/dist/templates/backend/packages/iam/src/@api/iam/role/controllers/iam-update-roles.controller.ts +3 -3
  477. package/dist/templates/backend/packages/iam/src/@api/iam/role/dto/iam-role.dto.ts +5 -4
  478. package/dist/templates/backend/packages/iam/src/@api/iam/role/dto/index.ts +4 -4
  479. package/dist/templates/backend/packages/iam/src/@api/iam/role/graphql/iam-role.graphql +3 -12
  480. package/dist/templates/backend/packages/iam/src/@api/iam/role/index.ts +26 -26
  481. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-create-role.resolver.ts +3 -3
  482. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-create-roles.resolver.ts +3 -3
  483. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-delete-role-by-id.resolver.ts +3 -3
  484. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-delete-roles.resolver.ts +3 -3
  485. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-find-role-by-id.resolver.ts +3 -3
  486. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-find-role.resolver.ts +3 -3
  487. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-get-roles.resolver.ts +3 -3
  488. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-inherit-permissions-role-role.resolver.ts +3 -3
  489. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-paginate-roles.resolver.ts +3 -3
  490. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-update-role-by-id.resolver.ts +3 -3
  491. package/dist/templates/backend/packages/iam/src/@api/iam/role/resolvers/iam-update-roles.resolver.ts +3 -3
  492. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-create-role-account.controller.ts +3 -3
  493. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-create-roles-accounts.controller.ts +3 -3
  494. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-delete-role-account-by-id.controller.ts +3 -3
  495. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-delete-roles-accounts.controller.ts +3 -3
  496. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-find-role-account-by-id.controller.ts +3 -3
  497. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-find-role-account.controller.ts +3 -3
  498. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-get-roles-accounts.controller.ts +3 -3
  499. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-paginate-roles-accounts.controller.ts +2 -2
  500. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-update-role-account-by-id.controller.ts +3 -3
  501. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/controllers/iam-update-roles-accounts.controller.ts +3 -3
  502. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/dto/iam-role-account.dto.ts +5 -4
  503. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/dto/index.ts +4 -4
  504. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/graphql/iam-role-account.graphql +3 -13
  505. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/index.ts +24 -24
  506. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-create-role-account.resolver.ts +3 -3
  507. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-create-roles-accounts.resolver.ts +3 -3
  508. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-delete-role-account-by-id.resolver.ts +3 -3
  509. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-delete-roles-accounts.resolver.ts +3 -3
  510. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-find-role-account-by-id.resolver.ts +3 -3
  511. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-find-role-account.resolver.ts +3 -3
  512. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-get-roles-accounts.resolver.ts +3 -3
  513. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-paginate-roles-accounts.resolver.ts +3 -3
  514. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-update-role-account-by-id.resolver.ts +3 -3
  515. package/dist/templates/backend/packages/iam/src/@api/iam/role-account/resolvers/iam-update-roles-accounts.resolver.ts +3 -3
  516. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-create-tag.controller.ts +3 -3
  517. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-delete-tag-by-id.controller.ts +3 -3
  518. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-find-tag-by-id.controller.ts +3 -3
  519. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-find-tag.controller.ts +3 -3
  520. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-get-tags.controller.ts +3 -3
  521. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-paginate-tags.controller.ts +2 -2
  522. package/dist/templates/backend/packages/iam/src/@api/iam/tag/controllers/iam-update-tag-by-id.controller.ts +3 -3
  523. package/dist/templates/backend/packages/iam/src/@api/iam/tag/dto/index.ts +4 -4
  524. package/dist/templates/backend/packages/iam/src/@api/iam/tag/index.ts +18 -18
  525. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-create-tag.resolver.ts +3 -3
  526. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-delete-tag-by-id.resolver.ts +3 -3
  527. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-find-tag-by-id.resolver.ts +3 -3
  528. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-find-tag.resolver.ts +3 -3
  529. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-get-tags.resolver.ts +3 -3
  530. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-paginate-tags.resolver.ts +3 -3
  531. package/dist/templates/backend/packages/iam/src/@api/iam/tag/resolvers/iam-update-tag-by-id.resolver.ts +3 -3
  532. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-create-tenant.controller.ts +7 -5
  533. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-create-tenants.controller.ts +7 -5
  534. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-delete-tenant-by-id.controller.ts +3 -3
  535. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-delete-tenants.controller.ts +3 -3
  536. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-find-tenant-by-id.controller.ts +3 -3
  537. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-find-tenant.controller.ts +3 -3
  538. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-get-tenants.controller.ts +3 -3
  539. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-get-with-tenant-constraint-tenants.controller.ts +3 -3
  540. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-paginate-tenants.controller.ts +2 -2
  541. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-paginate-with-tenant-constraint-tenants.controller.ts +3 -3
  542. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-update-tenant-by-id.controller.ts +13 -5
  543. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/controllers/iam-update-tenants.controller.ts +13 -5
  544. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/dto/iam-tenant.dto.ts +4 -3
  545. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/dto/index.ts +4 -4
  546. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/graphql/iam-tenant.graphql +3 -12
  547. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/index.ts +28 -28
  548. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-create-tenant.resolver.ts +6 -5
  549. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-create-tenants.resolver.ts +6 -5
  550. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-delete-tenant-by-id.resolver.ts +3 -3
  551. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-delete-tenants.resolver.ts +3 -3
  552. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-find-tenant-by-id.resolver.ts +3 -3
  553. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-find-tenant.resolver.ts +3 -3
  554. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-get-tenants.resolver.ts +3 -3
  555. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-get-with-tenant-constraint-tenants.resolver.ts +3 -3
  556. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-paginate-tenants.resolver.ts +3 -3
  557. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-paginate-with-tenant-constraint-tenants.resolver.ts +3 -3
  558. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-update-tenant-by-id.resolver.ts +12 -5
  559. package/dist/templates/backend/packages/iam/src/@api/iam/tenant/resolvers/iam-update-tenants.resolver.ts +12 -5
  560. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-create-tenant-account.controller.ts +7 -5
  561. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-create-tenants-accounts.controller.ts +7 -5
  562. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-delete-tenant-account-by-id.controller.ts +3 -3
  563. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-delete-tenants-accounts.controller.ts +3 -3
  564. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-find-tenant-account-by-id.controller.ts +3 -3
  565. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-find-tenant-account.controller.ts +3 -3
  566. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-get-tenants-accounts.controller.ts +3 -3
  567. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-paginate-tenants-accounts.controller.ts +2 -2
  568. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-update-tenant-account-by-id.controller.ts +13 -5
  569. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/controllers/iam-update-tenants-accounts.controller.ts +13 -5
  570. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/dto/iam-tenant-account.dto.ts +5 -4
  571. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/dto/index.ts +4 -4
  572. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/index.ts +24 -24
  573. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-create-tenant-account.resolver.ts +6 -5
  574. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-create-tenants-accounts.resolver.ts +6 -5
  575. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-delete-tenant-account-by-id.resolver.ts +3 -3
  576. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-delete-tenants-accounts.resolver.ts +3 -3
  577. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-find-tenant-account-by-id.resolver.ts +3 -3
  578. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-find-tenant-account.resolver.ts +3 -3
  579. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-get-tenants-accounts.resolver.ts +3 -3
  580. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-paginate-tenants-accounts.resolver.ts +3 -3
  581. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-update-tenant-account-by-id.resolver.ts +12 -5
  582. package/dist/templates/backend/packages/iam/src/@api/iam/tenant-account/resolvers/iam-update-tenants-accounts.resolver.ts +12 -5
  583. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-count-user.controller.ts +2 -2
  584. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-delete-user-by-id.controller.ts +3 -3
  585. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-delete-users.controller.ts +3 -3
  586. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-find-user-by-id.controller.ts +3 -3
  587. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-find-user.controller.ts +3 -3
  588. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-forgot-password-user.controller.ts +3 -3
  589. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-get-users.controller.ts +3 -3
  590. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-paginate-users.controller.ts +2 -2
  591. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-reset-password-user.controller.ts +3 -3
  592. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-update-user-by-id.controller.ts +3 -3
  593. package/dist/templates/backend/packages/iam/src/@api/iam/user/controllers/iam-update-users.controller.ts +3 -3
  594. package/dist/templates/backend/packages/iam/src/@api/iam/user/dto/iam-user.dto.ts +3 -2
  595. package/dist/templates/backend/packages/iam/src/@api/iam/user/dto/index.ts +4 -4
  596. package/dist/templates/backend/packages/iam/src/@api/iam/user/index.ts +26 -26
  597. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-count-user.resolver.ts +2 -2
  598. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-delete-user-by-id.resolver.ts +3 -3
  599. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-delete-users.resolver.ts +3 -3
  600. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-find-user-by-id.resolver.ts +3 -3
  601. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-find-user.resolver.ts +3 -3
  602. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-forgot-password-user.resolver.ts +3 -3
  603. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-get-users.resolver.ts +3 -3
  604. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-paginate-users.resolver.ts +3 -3
  605. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-reset-password-user.resolver.ts +3 -3
  606. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-update-user-by-id.resolver.ts +3 -3
  607. package/dist/templates/backend/packages/iam/src/@api/iam/user/resolvers/iam-update-users.resolver.ts +3 -3
  608. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/check-password-me/iam-check-password-me-account.handler.ts +1 -1
  609. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/check-unique-email/iam-check-unique-email-account.handler.spec.ts +4 -4
  610. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/check-unique-email/iam-check-unique-email-account.handler.ts +1 -1
  611. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/check-unique-username/iam-check-unique-username-account.handler.spec.ts +4 -4
  612. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/check-unique-username/iam-check-unique-username-account.handler.ts +1 -1
  613. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/count/iam-count-account.handler.ts +1 -1
  614. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/count/iam-count-account.service.ts +1 -1
  615. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/create/iam-create-account.handler.spec.ts +196 -34
  616. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/create/iam-create-account.handler.ts +79 -34
  617. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/create/iam-create-account.service.ts +3 -3
  618. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/create/iam-create-accounts.service.ts +2 -2
  619. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/delete/iam-delete-account-by-id.handler.ts +4 -3
  620. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/delete/iam-delete-account-by-id.service.ts +1 -1
  621. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/delete/iam-delete-accounts.handler.ts +4 -3
  622. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/delete/iam-delete-accounts.service.ts +1 -1
  623. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/find/iam-find-account-by-id.handler.ts +3 -3
  624. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/find/iam-find-account-by-id.service.ts +5 -3
  625. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/find/iam-find-account.handler.ts +3 -3
  626. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/find/iam-find-account.service.ts +5 -3
  627. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/get/iam-get-accounts.handler.ts +3 -3
  628. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/get/iam-get-accounts.service.ts +5 -3
  629. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/iam-account.payload-types.ts +34 -0
  630. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/me/iam-me-account.handler.spec.ts +3 -3
  631. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/me/iam-me-account.handler.ts +1 -1
  632. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/paginate/iam-paginate-accounts.handler.ts +3 -3
  633. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/paginate/iam-paginate-accounts.service.ts +5 -3
  634. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/paginate-with-tenant-constraint/iam-paginate-with-tenant-constraint-accounts.handler.ts +1 -1
  635. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/iam-update-account-by-id.handler.spec.ts +428 -50
  636. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/iam-update-account-by-id.handler.ts +126 -48
  637. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/iam-update-account-by-id.service.ts +3 -3
  638. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/iam-update-accounts.handler.spec.ts +94 -11
  639. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/iam-update-accounts.handler.ts +25 -8
  640. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/iam-update-accounts.service.ts +3 -3
  641. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/subscribers/iam-account-updated-cache-invalidator.subscriber.spec.ts +62 -0
  642. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update/subscribers/iam-account-updated-cache-invalidator.subscriber.ts +59 -0
  643. package/dist/templates/backend/packages/iam/src/@app/iam/account/application/update-me/iam-update-me-account.handler.ts +2 -2
  644. package/dist/templates/backend/packages/iam/src/@app/iam/account/domain/iam-account.field-schema.ts +12 -4
  645. package/dist/templates/backend/packages/iam/src/@app/iam/account/domain/index.ts +1 -1
  646. package/dist/templates/backend/packages/iam/src/@app/iam/account/index.ts +35 -30
  647. package/dist/templates/backend/packages/iam/src/@app/iam/account/infrastructure/drizzle/iam-drizzle-account.repository.ts +4 -4
  648. package/dist/templates/backend/packages/iam/src/@app/iam/account/infrastructure/drizzle/iam-drizzle-account.schema.ts +1 -0
  649. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/create/iam-create-bounded-context.handler.ts +5 -7
  650. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/create/iam-create-bounded-context.service.ts +2 -2
  651. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/create/iam-create-bounded-contexts.handler.ts +4 -4
  652. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/create/iam-create-bounded-contexts.service.ts +2 -2
  653. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/delete/iam-delete-bounded-context-by-id.handler.ts +4 -6
  654. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/delete/iam-delete-bounded-context-by-id.service.ts +1 -1
  655. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/delete/iam-delete-bounded-contexts.handler.ts +4 -6
  656. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/delete/iam-delete-bounded-contexts.service.ts +1 -1
  657. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/find/iam-find-bounded-context-by-id.handler.ts +3 -3
  658. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/find/iam-find-bounded-context-by-id.service.ts +5 -3
  659. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/find/iam-find-bounded-context.handler.ts +3 -3
  660. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/find/iam-find-bounded-context.service.ts +5 -3
  661. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/get/iam-get-bounded-contexts.handler.ts +3 -3
  662. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/get/iam-get-bounded-contexts.service.ts +5 -3
  663. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/paginate/iam-paginate-bounded-contexts.handler.ts +3 -3
  664. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/paginate/iam-paginate-bounded-contexts.service.ts +5 -3
  665. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/update/iam-update-bounded-context-by-id.handler.ts +5 -8
  666. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/update/iam-update-bounded-context-by-id.service.ts +2 -2
  667. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/update/iam-update-bounded-contexts.handler.ts +5 -7
  668. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/application/update/iam-update-bounded-contexts.service.ts +2 -2
  669. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/domain/iam-bounded-context.field-schema.ts +1 -1
  670. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/domain/index.ts +1 -1
  671. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/index.ts +48 -48
  672. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/infrastructure/drizzle/iam-drizzle-bounded-context.repository.ts +2 -2
  673. package/dist/templates/backend/packages/iam/src/@app/iam/bounded-context/infrastructure/drizzle/iam-drizzle-bounded-context.schema.ts +4 -1
  674. package/dist/templates/backend/packages/iam/src/@app/iam/iam.relations.ts +10 -10
  675. package/dist/templates/backend/packages/iam/src/@app/iam/index.ts +10 -10
  676. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/create/iam-create-permission.handler.ts +5 -4
  677. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/create/iam-create-permission.service.ts +2 -2
  678. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/create/iam-create-permissions.handler.ts +4 -4
  679. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/create/iam-create-permissions.service.ts +2 -2
  680. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/delete/iam-delete-permission-by-id.handler.ts +4 -3
  681. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/delete/iam-delete-permission-by-id.service.ts +1 -1
  682. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/delete/iam-delete-permissions.handler.ts +4 -3
  683. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/delete/iam-delete-permissions.service.ts +1 -1
  684. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/find/iam-find-permission-by-id.handler.ts +3 -3
  685. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/find/iam-find-permission-by-id.service.ts +5 -3
  686. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/find/iam-find-permission.handler.ts +3 -3
  687. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/find/iam-find-permission.service.ts +5 -3
  688. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/get/iam-get-permissions.handler.ts +3 -3
  689. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/get/iam-get-permissions.service.ts +5 -3
  690. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/get-permissions-without-role/iam-get-permissions-without-role.handler.spec.ts +19 -19
  691. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/get-permissions-without-role/iam-get-permissions-without-role.handler.ts +1 -1
  692. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/paginate/iam-paginate-permissions.handler.ts +3 -3
  693. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/paginate/iam-paginate-permissions.service.ts +5 -3
  694. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/update/iam-update-permission-by-id.handler.ts +5 -5
  695. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/update/iam-update-permission-by-id.service.ts +2 -2
  696. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/update/iam-update-permissions.handler.ts +5 -4
  697. package/dist/templates/backend/packages/iam/src/@app/iam/permission/application/update/iam-update-permissions.service.ts +2 -2
  698. package/dist/templates/backend/packages/iam/src/@app/iam/permission/domain/iam-permission.field-schema.ts +2 -2
  699. package/dist/templates/backend/packages/iam/src/@app/iam/permission/domain/index.ts +1 -1
  700. package/dist/templates/backend/packages/iam/src/@app/iam/permission/index.ts +51 -50
  701. package/dist/templates/backend/packages/iam/src/@app/iam/permission/infrastructure/drizzle/iam-drizzle-permission.repository.ts +3 -3
  702. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/create/iam-create-permission-role.handler.ts +5 -7
  703. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/create/iam-create-permission-role.service.ts +2 -2
  704. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/create/iam-create-permissions-roles.handler.ts +4 -4
  705. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/create/iam-create-permissions-roles.service.ts +2 -2
  706. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/delete/iam-delete-permission-role-by-id.handler.ts +4 -6
  707. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/delete/iam-delete-permission-role-by-id.service.ts +1 -1
  708. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/delete/iam-delete-permissions-roles.handler.ts +4 -6
  709. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/delete/iam-delete-permissions-roles.service.ts +1 -1
  710. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/find/iam-find-permission-role-by-id.handler.ts +3 -3
  711. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/find/iam-find-permission-role-by-id.service.ts +5 -3
  712. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/find/iam-find-permission-role.handler.ts +3 -3
  713. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/find/iam-find-permission-role.service.ts +5 -3
  714. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/get/iam-get-permissions-roles.handler.ts +3 -3
  715. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/get/iam-get-permissions-roles.service.ts +5 -3
  716. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/paginate/iam-paginate-permissions-roles.handler.ts +3 -3
  717. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/paginate/iam-paginate-permissions-roles.service.ts +5 -3
  718. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/update/iam-update-permission-role-by-id.handler.ts +5 -8
  719. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/update/iam-update-permission-role-by-id.service.ts +2 -2
  720. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/update/iam-update-permissions-roles.handler.ts +5 -7
  721. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/application/update/iam-update-permissions-roles.service.ts +2 -2
  722. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/domain/iam-permission-role.field-schema.ts +2 -2
  723. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/domain/index.ts +1 -1
  724. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/index.ts +48 -48
  725. package/dist/templates/backend/packages/iam/src/@app/iam/permission-role/infrastructure/drizzle/iam-drizzle-permission-role.repository.ts +2 -2
  726. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/create/iam-create-role.handler.ts +5 -4
  727. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/create/iam-create-role.service.ts +2 -2
  728. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/create/iam-create-roles.handler.ts +4 -4
  729. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/create/iam-create-roles.service.ts +2 -2
  730. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/delete/iam-delete-role-by-id.handler.ts +4 -3
  731. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/delete/iam-delete-role-by-id.service.ts +1 -1
  732. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/delete/iam-delete-roles.handler.ts +4 -3
  733. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/delete/iam-delete-roles.service.ts +1 -1
  734. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/find/iam-find-role-by-id.handler.ts +3 -3
  735. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/find/iam-find-role-by-id.service.ts +5 -3
  736. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/find/iam-find-role.handler.ts +3 -3
  737. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/find/iam-find-role.service.ts +5 -3
  738. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/get/iam-get-roles.handler.ts +3 -3
  739. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/get/iam-get-roles.service.ts +5 -3
  740. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/inherit-permissions-role/iam-inherit-permissions-role-role.handler.ts +2 -2
  741. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/paginate/iam-paginate-roles.handler.ts +3 -3
  742. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/paginate/iam-paginate-roles.service.ts +5 -3
  743. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/update/iam-update-role-by-id.handler.ts +5 -5
  744. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/update/iam-update-role-by-id.service.ts +2 -2
  745. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/update/iam-update-roles.handler.ts +5 -4
  746. package/dist/templates/backend/packages/iam/src/@app/iam/role/application/update/iam-update-roles.service.ts +2 -2
  747. package/dist/templates/backend/packages/iam/src/@app/iam/role/domain/iam-role.field-schema.ts +2 -2
  748. package/dist/templates/backend/packages/iam/src/@app/iam/role/domain/index.ts +1 -1
  749. package/dist/templates/backend/packages/iam/src/@app/iam/role/index.ts +50 -50
  750. package/dist/templates/backend/packages/iam/src/@app/iam/role/infrastructure/drizzle/iam-drizzle-role.repository.ts +4 -4
  751. package/dist/templates/backend/packages/iam/src/@app/iam/role/infrastructure/drizzle/iam-drizzle-role.schema.ts +4 -1
  752. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/create/iam-create-role-account.handler.ts +5 -4
  753. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/create/iam-create-role-account.service.ts +2 -2
  754. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/create/iam-create-roles-accounts.handler.ts +4 -4
  755. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/create/iam-create-roles-accounts.service.ts +2 -2
  756. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/delete/iam-delete-role-account-by-id.handler.ts +4 -6
  757. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/delete/iam-delete-role-account-by-id.service.ts +1 -1
  758. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/delete/iam-delete-roles-accounts.handler.ts +4 -3
  759. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/delete/iam-delete-roles-accounts.service.ts +1 -1
  760. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/find/iam-find-role-account-by-id.handler.ts +3 -3
  761. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/find/iam-find-role-account-by-id.service.ts +5 -3
  762. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/find/iam-find-role-account.handler.ts +3 -3
  763. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/find/iam-find-role-account.service.ts +5 -3
  764. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/get/iam-get-roles-accounts.handler.ts +3 -3
  765. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/get/iam-get-roles-accounts.service.ts +5 -3
  766. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/paginate/iam-paginate-roles-accounts.handler.ts +3 -3
  767. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/paginate/iam-paginate-roles-accounts.service.ts +5 -3
  768. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/update/iam-update-role-account-by-id.handler.ts +5 -8
  769. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/update/iam-update-role-account-by-id.service.ts +2 -2
  770. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/update/iam-update-roles-accounts.handler.ts +5 -4
  771. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/application/update/iam-update-roles-accounts.service.ts +2 -2
  772. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/domain/iam-role-account.field-schema.ts +2 -2
  773. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/domain/index.ts +1 -1
  774. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/index.ts +48 -48
  775. package/dist/templates/backend/packages/iam/src/@app/iam/role-account/infrastructure/drizzle/iam-drizzle-role-account.repository.ts +2 -2
  776. package/dist/templates/backend/packages/iam/src/@app/iam/shared/functions/iam-create-permissions-from-roles.function.ts +2 -2
  777. package/dist/templates/backend/packages/iam/src/@app/iam/shared/functions/iam-resolve-account-tenants.function.spec.ts +100 -0
  778. package/dist/templates/backend/packages/iam/src/@app/iam/shared/functions/iam-resolve-account-tenants.function.ts +59 -0
  779. package/dist/templates/backend/packages/iam/src/@app/iam/shared/iam-bootstrap.constants.ts +3 -4
  780. package/dist/templates/backend/packages/iam/src/@app/iam/shared/index.ts +4 -3
  781. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/create/iam-create-tag.handler.ts +5 -4
  782. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/create/iam-create-tag.service.ts +2 -2
  783. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/delete/iam-delete-tag-by-id.handler.ts +4 -3
  784. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/delete/iam-delete-tag-by-id.service.ts +1 -1
  785. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/find/iam-find-tag-by-id.handler.ts +3 -3
  786. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/find/iam-find-tag-by-id.service.ts +2 -2
  787. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/find/iam-find-tag.handler.ts +3 -3
  788. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/find/iam-find-tag.service.ts +2 -2
  789. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/get/iam-get-tags.handler.ts +3 -3
  790. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/get/iam-get-tags.service.ts +2 -2
  791. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/paginate/iam-paginate-tags.handler.ts +3 -3
  792. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/paginate/iam-paginate-tags.service.ts +2 -2
  793. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/update/iam-update-tag-by-id.handler.ts +5 -4
  794. package/dist/templates/backend/packages/iam/src/@app/iam/tag/application/update/iam-update-tag-by-id.service.ts +2 -2
  795. package/dist/templates/backend/packages/iam/src/@app/iam/tag/domain/index.ts +1 -1
  796. package/dist/templates/backend/packages/iam/src/@app/iam/tag/index.ts +17 -17
  797. package/dist/templates/backend/packages/iam/src/@app/iam/tag/infrastructure/drizzle/iam-drizzle-tag.repository.ts +2 -2
  798. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/create/iam-create-tenant.handler.spec.ts +195 -0
  799. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/create/iam-create-tenant.handler.ts +85 -7
  800. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/create/iam-create-tenant.service.ts +2 -2
  801. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/create/iam-create-tenants.handler.spec.ts +98 -0
  802. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/create/iam-create-tenants.handler.ts +53 -7
  803. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/create/iam-create-tenants.service.ts +2 -2
  804. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/delete/iam-delete-tenant-by-id.handler.ts +4 -3
  805. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/delete/iam-delete-tenant-by-id.service.ts +1 -1
  806. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/delete/iam-delete-tenants.handler.ts +4 -3
  807. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/delete/iam-delete-tenants.service.ts +1 -1
  808. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/find/iam-find-tenant-by-id.handler.ts +3 -3
  809. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/find/iam-find-tenant-by-id.service.ts +5 -3
  810. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/find/iam-find-tenant.handler.ts +3 -3
  811. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/find/iam-find-tenant.service.ts +5 -3
  812. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/get/iam-get-tenants.handler.ts +3 -3
  813. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/get/iam-get-tenants.service.ts +5 -3
  814. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/get-with-tenant-constraint/iam-get-with-tenant-constraint-tenants.handler.ts +1 -1
  815. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/paginate/iam-paginate-tenants.handler.ts +3 -3
  816. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/paginate/iam-paginate-tenants.service.ts +5 -3
  817. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/paginate-with-tenant-constraint/iam-paginate-with-tenant-constraint-tenants.handler.ts +1 -1
  818. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/update/iam-update-tenant-by-id.handler.spec.ts +222 -0
  819. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/update/iam-update-tenant-by-id.handler.ts +78 -7
  820. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/update/iam-update-tenant-by-id.service.ts +2 -2
  821. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/update/iam-update-tenants.handler.spec.ts +75 -0
  822. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/update/iam-update-tenants.handler.ts +27 -5
  823. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/application/update/iam-update-tenants.service.ts +2 -2
  824. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/domain/iam-tenant.field-schema.ts +1 -1
  825. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/domain/index.ts +1 -1
  826. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/index.ts +52 -52
  827. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/infrastructure/drizzle/iam-drizzle-tenant.repository.ts +9 -3
  828. package/dist/templates/backend/packages/iam/src/@app/iam/tenant/infrastructure/drizzle/iam-drizzle-tenant.schema.ts +4 -1
  829. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/create/iam-create-tenant-account.handler.spec.ts +115 -0
  830. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/create/iam-create-tenant-account.handler.ts +38 -9
  831. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/create/iam-create-tenant-account.service.ts +2 -2
  832. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/create/iam-create-tenants-accounts.handler.spec.ts +105 -0
  833. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/create/iam-create-tenants-accounts.handler.ts +43 -7
  834. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/create/iam-create-tenants-accounts.service.ts +2 -2
  835. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/delete/iam-delete-tenant-account-by-id.handler.ts +4 -6
  836. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/delete/iam-delete-tenant-account-by-id.service.ts +1 -1
  837. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/delete/iam-delete-tenants-accounts.handler.ts +4 -6
  838. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/delete/iam-delete-tenants-accounts.service.ts +1 -1
  839. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/find/iam-find-tenant-account-by-id.handler.ts +3 -3
  840. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/find/iam-find-tenant-account-by-id.service.ts +5 -3
  841. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/find/iam-find-tenant-account.handler.ts +3 -3
  842. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/find/iam-find-tenant-account.service.ts +5 -3
  843. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/get/iam-get-tenants-accounts.handler.ts +3 -3
  844. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/get/iam-get-tenants-accounts.service.ts +5 -3
  845. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/paginate/iam-paginate-tenants-accounts.handler.ts +3 -3
  846. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/paginate/iam-paginate-tenants-accounts.service.ts +5 -3
  847. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/update/iam-update-tenant-account-by-id.handler.spec.ts +83 -0
  848. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/update/iam-update-tenant-account-by-id.handler.ts +27 -9
  849. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/update/iam-update-tenant-account-by-id.service.ts +2 -2
  850. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/update/iam-update-tenants-accounts.handler.spec.ts +78 -0
  851. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/update/iam-update-tenants-accounts.handler.ts +26 -8
  852. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/application/update/iam-update-tenants-accounts.service.ts +2 -2
  853. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/domain/iam-tenant-account.field-schema.ts +2 -2
  854. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/domain/index.ts +1 -1
  855. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/index.ts +48 -48
  856. package/dist/templates/backend/packages/iam/src/@app/iam/tenant-account/infrastructure/drizzle/iam-drizzle-tenant-account.repository.ts +2 -2
  857. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/count/iam-count-user.handler.ts +1 -1
  858. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/count/iam-count-user.service.ts +1 -1
  859. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/create/iam-create-user.handler.ts +5 -4
  860. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/create/iam-create-user.service.ts +2 -2
  861. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/create/iam-create-users.handler.ts +4 -4
  862. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/create/iam-create-users.service.ts +2 -2
  863. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/delete/iam-delete-user-by-id.handler.ts +4 -4
  864. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/delete/iam-delete-user-by-id.service.ts +1 -1
  865. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/delete/iam-delete-users.handler.ts +4 -4
  866. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/delete/iam-delete-users.service.ts +1 -1
  867. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/find/iam-find-user-by-id.handler.ts +3 -3
  868. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/find/iam-find-user-by-id.service.ts +5 -3
  869. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/find/iam-find-user-by-username-password.service.spec.ts +5 -4
  870. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/find/iam-find-user-by-username-password.service.ts +2 -2
  871. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/find/iam-find-user.handler.ts +3 -3
  872. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/find/iam-find-user.service.ts +5 -3
  873. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/forgot-password/iam-forgot-password-user.handler.ts +2 -2
  874. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/get/iam-get-users.handler.ts +3 -3
  875. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/get/iam-get-users.service.ts +5 -3
  876. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/paginate/iam-paginate-users.handler.ts +3 -3
  877. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/paginate/iam-paginate-users.service.ts +5 -3
  878. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/reset-password/iam-reset-password-user.handler.ts +2 -2
  879. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/update/iam-update-user-by-id.handler.ts +5 -5
  880. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/update/iam-update-user-by-id.service.ts +2 -2
  881. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/update/iam-update-users.handler.ts +5 -5
  882. package/dist/templates/backend/packages/iam/src/@app/iam/user/application/update/iam-update-users.service.ts +2 -2
  883. package/dist/templates/backend/packages/iam/src/@app/iam/user/domain/iam-user.field-schema.spec.ts +1 -10
  884. package/dist/templates/backend/packages/iam/src/@app/iam/user/domain/iam-user.field-schema.ts +1 -1
  885. package/dist/templates/backend/packages/iam/src/@app/iam/user/domain/index.ts +1 -1
  886. package/dist/templates/backend/packages/iam/src/@app/iam/user/index.ts +58 -58
  887. package/dist/templates/backend/packages/iam/src/@app/iam/user/infrastructure/drizzle/iam-drizzle-user.repository.ts +2 -2
  888. package/dist/templates/backend/packages/iam/src/@app/iam/user/infrastructure/drizzle/iam-drizzle-user.schema.ts +1 -1
  889. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/iam-account-loader.adapter.spec.ts +320 -15
  890. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/iam-account-loader.adapter.ts +126 -17
  891. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/iam-account-provisioner.adapter.spec.ts +38 -17
  892. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/iam-account-provisioner.adapter.ts +10 -4
  893. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/iam-operator-account-reader.adapter.spec.ts +4 -4
  894. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/iam-operator-account-reader.adapter.ts +2 -2
  895. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/adapters/index.ts +3 -3
  896. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/index.ts +1 -1
  897. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/ports/iam-account-provisioner.port.ts +8 -1
  898. package/dist/templates/backend/packages/iam/src/@bridges/iam/account/ports/index.ts +2 -2
  899. package/dist/templates/backend/packages/iam/src/@bridges/iam/bounded-context/adapters/iam-bounded-context-seeder.adapter.ts +2 -2
  900. package/dist/templates/backend/packages/iam/src/@bridges/iam/bounded-context/adapters/iam-bounded-context-writer.adapter.spec.ts +12 -11
  901. package/dist/templates/backend/packages/iam/src/@bridges/iam/bounded-context/adapters/iam-bounded-context-writer.adapter.ts +2 -2
  902. package/dist/templates/backend/packages/iam/src/@bridges/iam/bounded-context/adapters/index.ts +2 -2
  903. package/dist/templates/backend/packages/iam/src/@bridges/iam/bounded-context/index.ts +1 -1
  904. package/dist/templates/backend/packages/iam/src/@bridges/iam/bounded-context/ports/index.ts +4 -4
  905. package/dist/templates/backend/packages/iam/src/@bridges/iam/client/index.ts +1 -1
  906. package/dist/templates/backend/packages/iam/src/@bridges/iam/client/ports/index.ts +2 -2
  907. package/dist/templates/backend/packages/iam/src/@bridges/iam/permission/adapters/iam-permission-seeder.adapter.ts +2 -2
  908. package/dist/templates/backend/packages/iam/src/@bridges/iam/permission/adapters/iam-permission-writer.adapter.spec.ts +21 -21
  909. package/dist/templates/backend/packages/iam/src/@bridges/iam/permission/adapters/iam-permission-writer.adapter.ts +5 -5
  910. package/dist/templates/backend/packages/iam/src/@bridges/iam/permission/adapters/index.ts +2 -2
  911. package/dist/templates/backend/packages/iam/src/@bridges/iam/permission/index.ts +1 -1
  912. package/dist/templates/backend/packages/iam/src/@bridges/iam/permission/ports/index.ts +4 -4
  913. package/dist/templates/backend/packages/iam/src/@bridges/iam/tenant/adapters/iam-tenant-writer.adapter.spec.ts +15 -11
  914. package/dist/templates/backend/packages/iam/src/@bridges/iam/tenant/adapters/iam-tenant-writer.adapter.ts +11 -5
  915. package/dist/templates/backend/packages/iam/src/@bridges/iam/tenant/adapters/index.ts +1 -1
  916. package/dist/templates/backend/packages/iam/src/@bridges/iam/tenant/index.ts +1 -1
  917. package/dist/templates/backend/packages/iam/src/@bridges/iam/tenant/ports/iam-tenant-writer.port.ts +1 -1
  918. package/dist/templates/backend/packages/iam/src/@bridges/iam/tenant/ports/index.ts +2 -2
  919. package/dist/templates/backend/packages/iam/src/@bridges/iam/user/adapters/iam-credential-verifier.adapter.ts +2 -2
  920. package/dist/templates/backend/packages/iam/src/@bridges/iam/user/adapters/index.ts +1 -1
  921. package/dist/templates/backend/packages/iam/src/@bridges/providers/account-loader.bridge.ts +2 -2
  922. package/dist/templates/backend/packages/iam/src/@bridges/providers/credential-verifier.bridge.ts +2 -2
  923. package/dist/templates/backend/packages/iam/src/@bridges/providers/iam-bounded-context-seeder.bridge.ts +2 -2
  924. package/dist/templates/backend/packages/iam/src/@bridges/providers/iam-permission-seeder.bridge.ts +2 -2
  925. package/dist/templates/backend/packages/iam/test/acceptance/iam/core-back-exception-status.e2e-spec.ts +12 -30
  926. package/dist/templates/backend/packages/iam/test/acceptance/iam/user-sensitive-fields-masking.e2e-spec.ts +33 -41
  927. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/controllers/o-auth-count-access-token.controller.ts +2 -2
  928. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/controllers/o-auth-delete-access-token-by-id.controller.ts +3 -3
  929. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/controllers/o-auth-find-access-token-by-id.controller.ts +3 -3
  930. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/controllers/o-auth-find-access-token.controller.ts +3 -3
  931. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/controllers/o-auth-get-access-tokens.controller.ts +3 -3
  932. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/controllers/o-auth-paginate-access-tokens.controller.ts +2 -2
  933. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/dto/index.ts +4 -4
  934. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/dto/o-auth-access-token.dto.ts +5 -4
  935. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/dto/o-auth-create-access-token.dto.ts +4 -3
  936. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/dto/o-auth-update-access-token-by-id.dto.ts +4 -3
  937. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/dto/o-auth-update-access-tokens.dto.ts +4 -3
  938. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/graphql/o-auth-access-token.graphql +1 -4
  939. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/index.ts +18 -18
  940. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/resolvers/o-auth-count-access-token.resolver.ts +2 -2
  941. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/resolvers/o-auth-delete-access-token-by-id.resolver.ts +3 -3
  942. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/resolvers/o-auth-find-access-token-by-id.resolver.ts +3 -3
  943. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/resolvers/o-auth-find-access-token.resolver.ts +3 -3
  944. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/resolvers/o-auth-get-access-tokens.resolver.ts +3 -3
  945. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/access-token/resolvers/o-auth-paginate-access-tokens.resolver.ts +3 -3
  946. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-create-application.controller.ts +3 -3
  947. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-delete-application-by-id.controller.ts +3 -3
  948. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-find-application-by-id.controller.ts +3 -3
  949. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-find-application.controller.ts +3 -3
  950. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-get-applications.controller.ts +3 -3
  951. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-paginate-applications.controller.ts +2 -2
  952. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/controllers/o-auth-update-application-by-id.controller.ts +3 -3
  953. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/dto/index.ts +4 -4
  954. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/dto/o-auth-application.dto.ts +3 -2
  955. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/graphql/o-auth-application.graphql +12 -3
  956. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/index.ts +18 -18
  957. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-create-application.resolver.ts +3 -3
  958. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-delete-application-by-id.resolver.ts +3 -3
  959. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-find-application-by-id.resolver.ts +3 -3
  960. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-find-application.resolver.ts +3 -3
  961. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-get-applications.resolver.ts +3 -3
  962. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-paginate-applications.resolver.ts +3 -3
  963. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application/resolvers/o-auth-update-application-by-id.resolver.ts +3 -3
  964. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-create-application-client.controller.ts +3 -3
  965. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-create-applications-clients.controller.ts +3 -3
  966. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-delete-application-client-by-id.controller.ts +3 -3
  967. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-delete-applications-clients.controller.ts +3 -3
  968. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-find-application-client-by-id.controller.ts +3 -3
  969. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-find-application-client.controller.ts +3 -3
  970. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-get-applications-clients.controller.ts +3 -3
  971. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-paginate-applications-clients.controller.ts +2 -2
  972. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/controllers/o-auth-update-application-client-by-id.controller.ts +3 -3
  973. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/dto/index.ts +4 -4
  974. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/dto/o-auth-application-client.dto.ts +5 -4
  975. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/index.ts +22 -22
  976. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-create-application-client.resolver.ts +3 -3
  977. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-create-applications-clients.resolver.ts +3 -3
  978. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-delete-application-client-by-id.resolver.ts +3 -3
  979. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-delete-applications-clients.resolver.ts +3 -3
  980. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-find-application-client-by-id.resolver.ts +3 -3
  981. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-find-application-client.resolver.ts +3 -3
  982. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-get-applications-clients.resolver.ts +3 -3
  983. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-paginate-applications-clients.resolver.ts +3 -3
  984. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/application-client/resolvers/o-auth-update-application-client-by-id.resolver.ts +3 -3
  985. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-create-authorization-code.controller.ts +3 -3
  986. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-delete-authorization-code-by-id.controller.ts +3 -3
  987. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-delete-authorization-codes.controller.ts +3 -3
  988. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-find-authorization-code-by-id.controller.ts +3 -3
  989. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-find-authorization-code.controller.ts +3 -3
  990. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-get-authorization-codes.controller.ts +3 -3
  991. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-paginate-authorization-codes.controller.ts +2 -2
  992. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/controllers/o-auth-update-authorization-code-by-id.controller.ts +3 -3
  993. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/dto/index.ts +4 -4
  994. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/dto/o-auth-authorization-code.dto.ts +3 -2
  995. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/graphql/o-auth-authorization-code.graphql +2 -8
  996. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/index.ts +20 -20
  997. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-create-authorization-code.resolver.ts +3 -3
  998. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-delete-authorization-code-by-id.resolver.ts +3 -3
  999. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-delete-authorization-codes.resolver.ts +3 -3
  1000. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-find-authorization-code-by-id.resolver.ts +3 -3
  1001. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-find-authorization-code.resolver.ts +3 -3
  1002. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-get-authorization-codes.resolver.ts +3 -3
  1003. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-paginate-authorization-codes.resolver.ts +3 -3
  1004. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/authorization-code/resolvers/o-auth-update-authorization-code-by-id.resolver.ts +3 -3
  1005. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-create-client.controller.ts +3 -3
  1006. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-delete-client-by-id.controller.ts +3 -3
  1007. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-find-client-by-id.controller.ts +3 -3
  1008. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-find-client.controller.ts +3 -3
  1009. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-get-clients.controller.ts +3 -3
  1010. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-paginate-clients.controller.ts +2 -2
  1011. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/controllers/o-auth-update-client-by-id.controller.ts +3 -3
  1012. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/dto/index.ts +4 -4
  1013. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/dto/o-auth-client.dto.ts +6 -5
  1014. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/dto/o-auth-create-client.dto.ts +1 -1
  1015. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/dto/o-auth-update-client-by-id.dto.ts +1 -1
  1016. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/dto/o-auth-update-clients.dto.ts +1 -1
  1017. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/graphql/o-auth-client.graphql +3 -12
  1018. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/index.ts +18 -18
  1019. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-create-client.resolver.ts +3 -3
  1020. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-delete-client-by-id.resolver.ts +3 -3
  1021. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-find-client-by-id.resolver.ts +3 -3
  1022. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-find-client.resolver.ts +3 -3
  1023. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-get-clients.resolver.ts +3 -3
  1024. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-paginate-clients.resolver.ts +3 -3
  1025. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/client/resolvers/o-auth-update-client-by-id.resolver.ts +3 -3
  1026. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/controllers/o-auth-find-credential-by-id.controller.ts +3 -3
  1027. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/controllers/o-auth-find-credential.controller.ts +3 -3
  1028. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/controllers/o-auth-get-credentials.controller.ts +3 -3
  1029. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/controllers/o-auth-paginate-credentials.controller.ts +2 -2
  1030. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/dto/index.ts +1 -1
  1031. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/dto/o-auth-credential.dto.ts +9 -8
  1032. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/index.ts +9 -9
  1033. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/resolvers/o-auth-find-credential-by-id.resolver.ts +3 -3
  1034. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/resolvers/o-auth-find-credential.resolver.ts +3 -3
  1035. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/resolvers/o-auth-get-credentials.resolver.ts +3 -3
  1036. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/credential/resolvers/o-auth-paginate-credentials.resolver.ts +3 -3
  1037. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-authorize.controller.spec.ts +13 -12
  1038. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-authorize.controller.ts +2 -2
  1039. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-create-impersonate-token.controller.ts +7 -6
  1040. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-create-token.controller.spec.ts +5 -4
  1041. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-create-token.controller.ts +3 -3
  1042. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-get-jwks.controller.spec.ts +5 -4
  1043. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-get-jwks.controller.ts +1 -1
  1044. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-logout.controller.spec.ts +22 -27
  1045. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-logout.controller.ts +5 -6
  1046. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-revoke-token.controller.spec.ts +5 -4
  1047. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-revoke-token.controller.ts +2 -2
  1048. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-session.controller.spec.ts +13 -12
  1049. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/controllers/o-auth-session.controller.ts +1 -1
  1050. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/index.ts +10 -10
  1051. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/resolvers/o-auth-create-impersonate-token.resolver.ts +8 -7
  1052. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/resolvers/o-auth-create-token.resolver.spec.ts +10 -8
  1053. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/resolvers/o-auth-create-token.resolver.ts +8 -7
  1054. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/resolvers/o-auth-revoke-token.resolver.spec.ts +10 -10
  1055. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/flows/resolvers/o-auth-revoke-token.resolver.ts +7 -6
  1056. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/o-auth-bootstrap.seeder.spec.ts +18 -17
  1057. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/o-auth-bootstrap.seeder.ts +5 -5
  1058. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/o-auth.module.ts +18 -18
  1059. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/o-auth.seeder.ts +6 -6
  1060. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/controllers/o-auth-delete-refresh-token-by-id.controller.ts +3 -3
  1061. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/controllers/o-auth-find-refresh-token-by-id.controller.ts +3 -3
  1062. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/controllers/o-auth-find-refresh-token.controller.ts +3 -3
  1063. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/controllers/o-auth-get-refresh-tokens.controller.ts +3 -3
  1064. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/controllers/o-auth-paginate-refresh-tokens.controller.ts +2 -2
  1065. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/dto/index.ts +4 -4
  1066. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/dto/o-auth-refresh-token.dto.ts +3 -2
  1067. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/index.ts +14 -14
  1068. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/resolvers/o-auth-delete-refresh-token-by-id.resolver.ts +3 -3
  1069. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/resolvers/o-auth-find-refresh-token-by-id.resolver.ts +3 -3
  1070. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/resolvers/o-auth-find-refresh-token.resolver.ts +3 -3
  1071. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/resolvers/o-auth-get-refresh-tokens.resolver.ts +3 -3
  1072. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/refresh-token/resolvers/o-auth-paginate-refresh-tokens.resolver.ts +3 -3
  1073. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-create-scope.controller.ts +3 -3
  1074. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-delete-scope-by-id.controller.ts +3 -3
  1075. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-find-scope-by-id.controller.ts +3 -3
  1076. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-find-scope.controller.ts +3 -3
  1077. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-get-scopes.controller.ts +3 -3
  1078. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-paginate-scopes.controller.ts +2 -2
  1079. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/controllers/o-auth-update-scope-by-id.controller.ts +3 -3
  1080. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/dto/index.ts +4 -4
  1081. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/graphql/o-auth-scope.graphql +3 -12
  1082. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/index.ts +18 -18
  1083. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-create-scope.resolver.ts +3 -3
  1084. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-delete-scope-by-id.resolver.ts +3 -3
  1085. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-find-scope-by-id.resolver.ts +3 -3
  1086. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-find-scope.resolver.ts +3 -3
  1087. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-get-scopes.resolver.ts +3 -3
  1088. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-paginate-scopes.resolver.ts +3 -3
  1089. package/dist/templates/backend/packages/o-auth/src/@api/o-auth/scope/resolvers/o-auth-update-scope-by-id.resolver.ts +3 -3
  1090. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/count/o-auth-count-access-token.handler.ts +1 -1
  1091. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/count/o-auth-count-access-token.service.ts +1 -1
  1092. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/create/o-auth-create-access-token.handler.ts +5 -7
  1093. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/create/o-auth-create-access-token.service.ts +2 -2
  1094. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/delete/o-auth-delete-access-token-by-id.handler.ts +4 -4
  1095. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/delete/o-auth-delete-access-token-by-id.service.ts +1 -1
  1096. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/find/o-auth-find-access-token-by-id.handler.ts +3 -3
  1097. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/find/o-auth-find-access-token-by-id.service.ts +2 -2
  1098. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/find/o-auth-find-access-token.handler.ts +3 -3
  1099. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/find/o-auth-find-access-token.service.ts +2 -2
  1100. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/get/o-auth-get-access-tokens.handler.ts +3 -3
  1101. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/get/o-auth-get-access-tokens.service.ts +2 -2
  1102. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/paginate/o-auth-paginate-access-tokens.handler.ts +3 -3
  1103. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/application/paginate/o-auth-paginate-access-tokens.service.ts +2 -2
  1104. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/domain/index.ts +1 -1
  1105. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/domain/o-auth-access-token.field-schema.ts +2 -2
  1106. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/index.ts +36 -36
  1107. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/access-token/infrastructure/drizzle/o-auth-drizzle-access-token.repository.ts +2 -2
  1108. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/create/o-auth-create-application.handler.ts +5 -7
  1109. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/create/o-auth-create-application.service.ts +2 -2
  1110. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/delete/o-auth-delete-application-by-id.handler.ts +4 -6
  1111. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/delete/o-auth-delete-application-by-id.service.ts +1 -1
  1112. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/find/o-auth-find-application-by-id.handler.ts +3 -3
  1113. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/find/o-auth-find-application-by-id.service.ts +5 -3
  1114. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/find/o-auth-find-application.handler.ts +3 -3
  1115. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/find/o-auth-find-application.service.ts +5 -3
  1116. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/get/o-auth-get-applications.handler.ts +3 -3
  1117. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/get/o-auth-get-applications.service.ts +5 -3
  1118. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/paginate/o-auth-paginate-applications.handler.ts +3 -3
  1119. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/paginate/o-auth-paginate-applications.service.ts +5 -3
  1120. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/update/o-auth-update-application-by-id.handler.spec.ts +9 -9
  1121. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/update/o-auth-update-application-by-id.handler.ts +5 -8
  1122. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/application/update/o-auth-update-application-by-id.service.ts +2 -2
  1123. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/domain/index.ts +1 -1
  1124. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/domain/o-auth-application.field-schema.spec.ts +1 -9
  1125. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/domain/o-auth-application.field-schema.ts +1 -1
  1126. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/index.ts +36 -36
  1127. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/infrastructure/drizzle/o-auth-drizzle-application.repository.ts +3 -3
  1128. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application/infrastructure/drizzle/o-auth-drizzle-application.schema.ts +4 -1
  1129. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/create/o-auth-create-application-client.handler.ts +5 -7
  1130. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/create/o-auth-create-application-client.service.ts +2 -2
  1131. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/create/o-auth-create-applications-clients.handler.ts +4 -4
  1132. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/create/o-auth-create-applications-clients.service.ts +2 -2
  1133. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/delete/o-auth-delete-application-client-by-id.handler.ts +4 -6
  1134. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/delete/o-auth-delete-application-client-by-id.service.ts +1 -1
  1135. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/delete/o-auth-delete-applications-clients.handler.ts +4 -6
  1136. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/delete/o-auth-delete-applications-clients.service.ts +1 -1
  1137. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/find/o-auth-find-application-client-by-id.handler.ts +3 -3
  1138. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/find/o-auth-find-application-client-by-id.service.ts +5 -3
  1139. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/find/o-auth-find-application-client.handler.ts +3 -3
  1140. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/find/o-auth-find-application-client.service.ts +5 -3
  1141. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/get/o-auth-get-applications-clients.handler.ts +3 -3
  1142. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/get/o-auth-get-applications-clients.service.ts +5 -3
  1143. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/paginate/o-auth-paginate-applications-clients.handler.ts +3 -3
  1144. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/paginate/o-auth-paginate-applications-clients.service.ts +5 -3
  1145. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/update/o-auth-update-application-client-by-id.handler.ts +5 -8
  1146. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/application/update/o-auth-update-application-client-by-id.service.ts +2 -2
  1147. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/domain/index.ts +1 -1
  1148. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/domain/o-auth-application-client.field-schema.ts +2 -2
  1149. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/index.ts +44 -44
  1150. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/application-client/infrastructure/drizzle/o-auth-drizzle-application-client.repository.ts +2 -2
  1151. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/create/o-auth-create-authorization-code.handler.ts +5 -7
  1152. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/create/o-auth-create-authorization-code.service.ts +2 -2
  1153. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/delete/o-auth-delete-authorization-code-by-id.handler.ts +4 -6
  1154. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/delete/o-auth-delete-authorization-code-by-id.service.ts +1 -1
  1155. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/delete/o-auth-delete-authorization-codes.handler.ts +4 -6
  1156. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/delete/o-auth-delete-authorization-codes.service.ts +1 -1
  1157. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/find/o-auth-find-authorization-code-by-id.handler.ts +3 -3
  1158. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/find/o-auth-find-authorization-code-by-id.service.ts +5 -3
  1159. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/find/o-auth-find-authorization-code.handler.ts +3 -3
  1160. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/find/o-auth-find-authorization-code.service.ts +5 -3
  1161. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/get/o-auth-get-authorization-codes.handler.ts +3 -3
  1162. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/get/o-auth-get-authorization-codes.service.ts +5 -3
  1163. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/paginate/o-auth-paginate-authorization-codes.handler.ts +3 -3
  1164. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/paginate/o-auth-paginate-authorization-codes.service.ts +5 -3
  1165. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/update/o-auth-update-authorization-code-by-id.handler.ts +5 -8
  1166. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/application/update/o-auth-update-authorization-code-by-id.service.ts +2 -2
  1167. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/domain/index.ts +1 -1
  1168. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/domain/o-auth-authorization-code.field-schema.ts +1 -1
  1169. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/index.ts +40 -40
  1170. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/authorization-code/infrastructure/drizzle/o-auth-drizzle-authorization-code.repository.ts +2 -2
  1171. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/create/o-auth-create-client.handler.ts +5 -4
  1172. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/create/o-auth-create-client.service.ts +2 -2
  1173. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/delete/o-auth-delete-client-by-id.handler.ts +4 -3
  1174. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/delete/o-auth-delete-client-by-id.service.ts +1 -1
  1175. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/find/o-auth-find-client-by-id.handler.ts +3 -3
  1176. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/find/o-auth-find-client-by-id.service.ts +5 -3
  1177. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/find/o-auth-find-client.handler.ts +3 -3
  1178. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/find/o-auth-find-client.service.ts +5 -3
  1179. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/get/o-auth-get-clients.handler.ts +3 -3
  1180. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/get/o-auth-get-clients.service.ts +5 -3
  1181. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/paginate/o-auth-paginate-clients.handler.ts +3 -3
  1182. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/paginate/o-auth-paginate-clients.service.ts +5 -3
  1183. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/update/o-auth-update-client-by-id.handler.ts +5 -5
  1184. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/application/update/o-auth-update-client-by-id.service.ts +2 -2
  1185. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/domain/index.ts +1 -1
  1186. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/domain/o-auth-client.field-schema.ts +2 -2
  1187. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/index.ts +36 -36
  1188. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/client/infrastructure/drizzle/o-auth-drizzle-client.repository.ts +3 -3
  1189. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/create/o-auth-create-credential.service.spec.ts +13 -11
  1190. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/create/o-auth-create-credential.service.ts +2 -2
  1191. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/find/o-auth-find-credential-by-id.handler.ts +3 -3
  1192. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/find/o-auth-find-credential-by-id.service.ts +2 -2
  1193. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/find/o-auth-find-credential.handler.ts +3 -3
  1194. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/find/o-auth-find-credential.service.ts +2 -2
  1195. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/get/o-auth-get-credentials.handler.ts +3 -3
  1196. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/get/o-auth-get-credentials.service.ts +2 -2
  1197. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/paginate/o-auth-paginate-credentials.handler.ts +3 -3
  1198. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/application/paginate/o-auth-paginate-credentials.service.ts +2 -2
  1199. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/domain/index.ts +1 -1
  1200. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/domain/o-auth-credential.field-schema.ts +3 -3
  1201. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/index.ts +26 -26
  1202. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/credential/infrastructure/drizzle/o-auth-drizzle-credential.repository.ts +2 -2
  1203. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/authorize/o-auth-authorize.handler.spec.ts +17 -16
  1204. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/authorize/o-auth-authorize.handler.ts +6 -6
  1205. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/o-auth-create-token.handler.spec.ts +12 -11
  1206. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/o-auth-create-token.handler.ts +5 -5
  1207. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/services/o-auth-create-token-authorization-code.service.spec.ts +51 -31
  1208. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/services/o-auth-create-token-authorization-code.service.ts +18 -16
  1209. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/services/o-auth-create-token-password.service.spec.ts +45 -29
  1210. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/services/o-auth-create-token-password.service.ts +16 -14
  1211. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/services/o-auth-create-token-refresh.service.spec.ts +49 -33
  1212. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/create-token/services/o-auth-create-token-refresh.service.ts +19 -17
  1213. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/get-jwks/o-auth-get-jwks.handler.spec.ts +3 -3
  1214. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/get-jwks/o-auth-get-jwks.handler.ts +4 -3
  1215. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/impersonate-token/o-auth-create-impersonate-token.handler.spec.ts +12 -11
  1216. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/impersonate-token/o-auth-create-impersonate-token.handler.ts +6 -6
  1217. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/impersonate-token/services/o-auth-create-impersonate-token.service.spec.ts +35 -21
  1218. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/impersonate-token/services/o-auth-create-impersonate-token.service.ts +16 -13
  1219. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/revoke-token/o-auth-revoke-token.handler.spec.ts +7 -6
  1220. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/revoke-token/o-auth-revoke-token.handler.ts +2 -2
  1221. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/revoke-token/services/o-auth-revoke-token.service.spec.ts +23 -21
  1222. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/revoke-token/services/o-auth-revoke-token.service.ts +9 -8
  1223. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/session/o-auth-hub-session.service.spec.ts +21 -19
  1224. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/application/session/o-auth-hub-session.service.ts +4 -3
  1225. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/domain/errors/impersonation.errors.spec.ts +1 -1
  1226. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/domain/errors/index.ts +12 -12
  1227. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/domain/impersonation-privilege-denylist.spec.ts +16 -16
  1228. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/domain/impersonation-privilege-denylist.ts +1 -1
  1229. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/domain/index.ts +2 -2
  1230. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/index.ts +13 -13
  1231. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/shared/pkce/o-auth-verify-pkce-s256.spec.ts +3 -3
  1232. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/flows/shared/pkce/o-auth-verify-pkce-s256.ts +2 -2
  1233. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/index.ts +8 -8
  1234. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/o-auth.relations.ts +8 -8
  1235. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/o-auth.seed.ts +2 -2
  1236. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/create/o-auth-create-refresh-token.handler.ts +5 -7
  1237. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/create/o-auth-create-refresh-token.service.ts +2 -2
  1238. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/delete/o-auth-delete-refresh-token-by-id.handler.ts +4 -4
  1239. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/delete/o-auth-delete-refresh-token-by-id.service.ts +1 -1
  1240. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/find/o-auth-find-refresh-token-by-id.handler.ts +3 -3
  1241. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/find/o-auth-find-refresh-token-by-id.service.ts +2 -2
  1242. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/find/o-auth-find-refresh-token.handler.ts +3 -3
  1243. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/find/o-auth-find-refresh-token.service.ts +2 -2
  1244. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/get/o-auth-get-refresh-tokens.handler.ts +3 -3
  1245. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/get/o-auth-get-refresh-tokens.service.ts +2 -2
  1246. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/paginate/o-auth-paginate-refresh-tokens.handler.ts +3 -3
  1247. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/application/paginate/o-auth-paginate-refresh-tokens.service.ts +2 -2
  1248. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/domain/index.ts +1 -1
  1249. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/domain/o-auth-refresh-token.field-schema.ts +1 -1
  1250. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/index.ts +30 -30
  1251. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/refresh-token/infrastructure/drizzle/o-auth-drizzle-refresh-token.repository.ts +2 -2
  1252. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/create/o-auth-create-scope.handler.ts +5 -4
  1253. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/create/o-auth-create-scope.service.ts +2 -2
  1254. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/delete/o-auth-delete-scope-by-id.handler.ts +4 -3
  1255. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/delete/o-auth-delete-scope-by-id.service.ts +1 -1
  1256. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/find/o-auth-find-scope-by-id.handler.ts +3 -3
  1257. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/find/o-auth-find-scope-by-id.service.ts +5 -3
  1258. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/find/o-auth-find-scope.handler.ts +3 -3
  1259. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/find/o-auth-find-scope.service.ts +5 -3
  1260. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/get/o-auth-get-scopes.handler.ts +3 -3
  1261. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/get/o-auth-get-scopes.service.ts +5 -3
  1262. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/paginate/o-auth-paginate-scopes.handler.ts +3 -3
  1263. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/paginate/o-auth-paginate-scopes.service.ts +5 -3
  1264. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/update/o-auth-update-scope-by-id.handler.ts +5 -5
  1265. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/application/update/o-auth-update-scope-by-id.service.ts +2 -2
  1266. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/domain/index.ts +1 -1
  1267. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/index.ts +36 -36
  1268. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/infrastructure/drizzle/o-auth-drizzle-scope.repository.ts +2 -2
  1269. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/scope/infrastructure/drizzle/o-auth-drizzle-scope.schema.ts +4 -1
  1270. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/functions/o-auth-authenticate-application.function.spec.ts +14 -13
  1271. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/functions/o-auth-authenticate-application.function.ts +2 -2
  1272. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/functions/o-auth-generate-application-secret.function.spec.ts +1 -1
  1273. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/functions/o-auth-generate-application-secret.function.ts +3 -2
  1274. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/functions/o-auth-resolve-application-client.function.spec.ts +25 -24
  1275. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/functions/o-auth-resolve-application-client.function.ts +3 -3
  1276. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/index.ts +6 -6
  1277. package/dist/templates/backend/packages/o-auth/src/@app/o-auth/shared/services/token-retention.service.spec.ts +7 -6
  1278. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/application/adapters/index.ts +1 -1
  1279. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/application/adapters/o-auth-application-provisioner.adapter.spec.ts +60 -60
  1280. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/application/adapters/o-auth-application-provisioner.adapter.ts +12 -12
  1281. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/application/index.ts +1 -1
  1282. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/application/ports/index.ts +2 -2
  1283. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/client/adapters/index.ts +1 -1
  1284. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/client/adapters/o-auth-client-reader.adapter.spec.ts +5 -4
  1285. package/dist/templates/backend/packages/o-auth/src/@bridges/o-auth/client/adapters/o-auth-client-reader.adapter.ts +2 -2
  1286. package/dist/templates/backend/packages/o-auth/src/@bridges/providers/iam-client-reader.bridge.ts +2 -2
  1287. package/dist/templates/backend/packages/o-auth/test/acceptance/o-auth/impersonate-token-guarded-transports.e2e-spec.ts +11 -32
  1288. package/dist/templates/backend/packages/o-auth/test/acceptance/o-auth/masked-property-query-guard.e2e-spec.ts +13 -27
  1289. package/dist/templates/backend/packages/o-auth/test/acceptance/o-auth/oauth-bootstrap-seeder-idempotency.e2e-spec.ts +7 -24
  1290. package/dist/templates/backend/packages/o-auth/test/acceptance/o-auth/token-masking.e2e-spec.ts +7 -22
  1291. package/dist/templates/backend/packages/queue-manager/src/@api/queue-manager/flows/index.ts +1 -1
  1292. package/dist/templates/backend/packages/queue-manager/src/@api/queue-manager/flows/resolvers/queue-manager.resolver.auth-metadata.spec.ts +1 -22
  1293. package/dist/templates/backend/packages/queue-manager/src/@api/queue-manager/flows/resolvers/queue-manager.resolver.spec.ts +29 -39
  1294. package/dist/templates/backend/packages/queue-manager/src/@api/queue-manager/flows/resolvers/queue-manager.resolver.ts +3 -3
  1295. package/dist/templates/backend/packages/queue-manager/src/@api/queue-manager/queue-manager.module.ts +6 -6
  1296. package/dist/templates/backend/packages/queue-manager/src/@api/queue-manager/queue-manager.seeder.ts +3 -3
  1297. package/dist/templates/backend/packages/queue-manager/src/@app/queue-manager/domain/ports/index.ts +3 -3
  1298. package/dist/templates/backend/packages/queue-manager/src/@app/queue-manager/infrastructure/adapters/bull-board-queue-inspector.adapter.spec.ts +113 -24
  1299. package/dist/templates/backend/packages/queue-manager/src/@app/queue-manager/infrastructure/adapters/bull-board-queue-inspector.adapter.ts +40 -4
  1300. package/dist/templates/backend/packages/queue-manager/src/@app/queue-manager/infrastructure/adapters/index.ts +1 -1
  1301. package/dist/templates/backend/packages/queue-manager/src/@app/queue-manager/infrastructure/index.ts +1 -1
  1302. package/dist/templates/backend/packages/queue-manager/src/@app/queue-manager/queue-registry.providers.ts +2 -2
  1303. package/dist/templates/codegen/backend/@api/__bounded_context_name__.module.ts.eta +2 -2
  1304. package/dist/templates/codegen/backend/@api/__bounded_context_name__.seeder.ts.eta +3 -3
  1305. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-count-__module_name__.controller.ts.eta +9 -9
  1306. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-create-__module_name__.controller.ts.eta +10 -10
  1307. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-create-__module_names__.controller.ts.eta +10 -10
  1308. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-delete-__module_name__-by-id.controller.ts.eta +12 -10
  1309. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-delete-__module_names__.controller.ts.eta +12 -10
  1310. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-find-__module_name__-by-id.controller.ts.eta +10 -10
  1311. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-find-__module_name__.controller.ts.eta +10 -10
  1312. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-get-__module_names__.controller.ts.eta +10 -10
  1313. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-get-raw-__module_names__.controller.ts.eta +3 -19
  1314. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-max-__module_name__.controller.ts.eta +9 -9
  1315. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-min-__module_name__.controller.ts.eta +9 -9
  1316. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-paginate-__module_names__.controller.ts.eta +9 -9
  1317. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-sum-__module_name__.controller.ts.eta +9 -9
  1318. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-update-__module_name__-by-id.controller.ts.eta +15 -10
  1319. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-update-__module_names__.controller.ts.eta +17 -10
  1320. package/dist/templates/codegen/backend/@api/__module_name__/controllers/__bounded_context_name__-upsert-__module_name__.controller.ts.eta +10 -10
  1321. package/dist/templates/codegen/backend/@api/__module_name__/dto/__bounded_context_name__-__module_name__.dto.ts.eta +27 -12
  1322. package/dist/templates/codegen/backend/@api/__module_name__/dto/__bounded_context_name__-create-__module_name__.dto.ts.eta +7 -4
  1323. package/dist/templates/codegen/backend/@api/__module_name__/dto/__bounded_context_name__-update-__module_name__-by-id.dto.ts.eta +8 -5
  1324. package/dist/templates/codegen/backend/@api/__module_name__/dto/__bounded_context_name__-update-__module_names__.dto.ts.eta +8 -5
  1325. package/dist/templates/codegen/backend/@api/__module_name__/dto/index.ts.eta +4 -4
  1326. package/dist/templates/codegen/backend/@api/__module_name__/graphql/__bounded_context_name__-__module_name__.graphql.eta +52 -20
  1327. package/dist/templates/codegen/backend/@api/__module_name__/index.ts.eta +38 -38
  1328. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-__module_name__-custom-field-value.resolver.ts.eta +1 -1
  1329. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-count-__module_name__.resolver.ts.eta +9 -9
  1330. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-create-__module_name__.resolver.ts.eta +10 -10
  1331. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-create-__module_names__.resolver.ts.eta +10 -10
  1332. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-delete-__module_name__-by-id.resolver.ts.eta +13 -10
  1333. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-delete-__module_names__.resolver.ts.eta +13 -10
  1334. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-find-__module_name__-by-id.resolver.ts.eta +10 -10
  1335. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-find-__module_name__.resolver.ts.eta +10 -10
  1336. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-get-__module_names__.resolver.ts.eta +10 -10
  1337. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-get-raw-__module_names__.resolver.ts.eta +3 -19
  1338. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-max-__module_name__.resolver.ts.eta +9 -9
  1339. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-min-__module_name__.resolver.ts.eta +9 -9
  1340. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-paginate-__module_names__.resolver.ts.eta +10 -10
  1341. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-sum-__module_name__.resolver.ts.eta +9 -9
  1342. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-update-__module_name__-by-id.resolver.ts.eta +17 -10
  1343. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-update-__module_names__.resolver.ts.eta +20 -10
  1344. package/dist/templates/codegen/backend/@api/__module_name__/resolvers/__bounded_context_name__-upsert-__module_name__.resolver.ts.eta +10 -10
  1345. package/dist/templates/codegen/backend/@app/__module_name__/application/__bounded_context_name__-__module_name__.payload-types.ts.eta +1 -1
  1346. package/dist/templates/codegen/backend/@app/__module_name__/application/count/__bounded_context_name__-count-__module_name__.handler.ts.eta +4 -4
  1347. package/dist/templates/codegen/backend/@app/__module_name__/application/count/__bounded_context_name__-count-__module_name__.service.ts.eta +1 -1
  1348. package/dist/templates/codegen/backend/@app/__module_name__/application/create/__bounded_context_name__-create-__module_name__.handler.ts.eta +7 -7
  1349. package/dist/templates/codegen/backend/@app/__module_name__/application/create/__bounded_context_name__-create-__module_name__.service.ts.eta +4 -4
  1350. package/dist/templates/codegen/backend/@app/__module_name__/application/create/__bounded_context_name__-create-__module_names__.handler.ts.eta +6 -6
  1351. package/dist/templates/codegen/backend/@app/__module_name__/application/create/__bounded_context_name__-create-__module_names__.service.ts.eta +5 -5
  1352. package/dist/templates/codegen/backend/@app/__module_name__/application/delete/__bounded_context_name__-delete-__module_name__-by-id.handler.ts.eta +6 -6
  1353. package/dist/templates/codegen/backend/@app/__module_name__/application/delete/__bounded_context_name__-delete-__module_name__-by-id.service.ts.eta +3 -3
  1354. package/dist/templates/codegen/backend/@app/__module_name__/application/delete/__bounded_context_name__-delete-__module_names__.handler.ts.eta +6 -6
  1355. package/dist/templates/codegen/backend/@app/__module_name__/application/delete/__bounded_context_name__-delete-__module_names__.service.ts.eta +2 -2
  1356. package/dist/templates/codegen/backend/@app/__module_name__/application/find/__bounded_context_name__-find-__module_name__-by-id.handler.ts.eta +5 -5
  1357. package/dist/templates/codegen/backend/@app/__module_name__/application/find/__bounded_context_name__-find-__module_name__-by-id.service.ts.eta +2 -2
  1358. package/dist/templates/codegen/backend/@app/__module_name__/application/find/__bounded_context_name__-find-__module_name__.handler.ts.eta +5 -5
  1359. package/dist/templates/codegen/backend/@app/__module_name__/application/find/__bounded_context_name__-find-__module_name__.service.ts.eta +2 -2
  1360. package/dist/templates/codegen/backend/@app/__module_name__/application/get/__bounded_context_name__-get-__module_names__.handler.ts.eta +5 -5
  1361. package/dist/templates/codegen/backend/@app/__module_name__/application/get/__bounded_context_name__-get-__module_names__.service.ts.eta +2 -2
  1362. package/dist/templates/codegen/backend/@app/__module_name__/application/get/__bounded_context_name__-get-raw-__module_names__.handler.ts.eta +3 -9
  1363. package/dist/templates/codegen/backend/@app/__module_name__/application/get/__bounded_context_name__-get-raw-__module_names__.service.ts.eta +2 -2
  1364. package/dist/templates/codegen/backend/@app/__module_name__/application/max/__bounded_context_name__-max-__module_name__.handler.ts.eta +3 -3
  1365. package/dist/templates/codegen/backend/@app/__module_name__/application/max/__bounded_context_name__-max-__module_name__.service.ts.eta +1 -1
  1366. package/dist/templates/codegen/backend/@app/__module_name__/application/min/__bounded_context_name__-min-__module_name__.handler.ts.eta +3 -3
  1367. package/dist/templates/codegen/backend/@app/__module_name__/application/min/__bounded_context_name__-min-__module_name__.service.ts.eta +1 -1
  1368. package/dist/templates/codegen/backend/@app/__module_name__/application/paginate/__bounded_context_name__-paginate-__module_names__.handler.ts.eta +5 -5
  1369. package/dist/templates/codegen/backend/@app/__module_name__/application/paginate/__bounded_context_name__-paginate-__module_names__.service.ts.eta +4 -3
  1370. package/dist/templates/codegen/backend/@app/__module_name__/application/sum/__bounded_context_name__-sum-__module_name__.handler.ts.eta +3 -3
  1371. package/dist/templates/codegen/backend/@app/__module_name__/application/sum/__bounded_context_name__-sum-__module_name__.service.ts.eta +1 -1
  1372. package/dist/templates/codegen/backend/@app/__module_name__/application/update/__bounded_context_name__-update-__module_name__-by-id.handler.ts.eta +7 -7
  1373. package/dist/templates/codegen/backend/@app/__module_name__/application/update/__bounded_context_name__-update-__module_name__-by-id.service.ts.eta +4 -4
  1374. package/dist/templates/codegen/backend/@app/__module_name__/application/update/__bounded_context_name__-update-__module_names__.handler.ts.eta +7 -7
  1375. package/dist/templates/codegen/backend/@app/__module_name__/application/update/__bounded_context_name__-update-__module_names__.service.ts.eta +3 -3
  1376. package/dist/templates/codegen/backend/@app/__module_name__/application/update/__bounded_context_name__-update-and-increment-__module_names__.service.ts.eta +3 -3
  1377. package/dist/templates/codegen/backend/@app/__module_name__/application/upsert/__bounded_context_name__-upsert-__module_name__.handler.ts.eta +7 -7
  1378. package/dist/templates/codegen/backend/@app/__module_name__/application/upsert/__bounded_context_name__-upsert-__module_name__.service.ts.eta +3 -3
  1379. package/dist/templates/codegen/backend/@app/__module_name__/domain/__bounded_context_name__-__module_name__.field-schema.ts.eta +5 -2
  1380. package/dist/templates/codegen/backend/@app/__module_name__/domain/index.ts.eta +1 -1
  1381. package/dist/templates/codegen/backend/@app/__module_name__/index.ts.eta +37 -37
  1382. package/dist/templates/codegen/backend/@app/__module_name__/infrastructure/drizzle/__bounded_context_name__-drizzle-__module_name__-custom-field-value.schema.ts.eta +1 -1
  1383. package/dist/templates/codegen/backend/@app/__module_name__/infrastructure/drizzle/__bounded_context_name__-drizzle-__module_name__-i18n.repository.ts.eta +1 -1
  1384. package/dist/templates/codegen/backend/@app/__module_name__/infrastructure/drizzle/__bounded_context_name__-drizzle-__module_name__.repository.ts.eta +3 -3
  1385. package/dist/templates/codegen/backend/@app/__module_name__/infrastructure/drizzle/__bounded_context_name__-drizzle-__module_name__.schema.ts.eta +1 -1
  1386. package/dist/templates/codegen/backend/additional-@api/__module_name__/controllers/__additional_api_name__.controller.ts.eta +22 -13
  1387. package/dist/templates/codegen/backend/additional-@api/__module_name__/resolvers/__additional_api_name__.resolver.ts.eta +25 -13
  1388. package/dist/templates/codegen/backend/additional-@app/__module_name__/application/__additional_api_action__/__additional_api_name__.handler.ts.eta +24 -6
  1389. package/dist/templates/codegen/frontend/module/__module_name__/__module_name__.columns.ts.eta +5 -3
  1390. package/dist/templates/codegen/frontend/module/__module_name__/data-access/__module_name__.resolvers.ts.eta +13 -10
  1391. package/dist/templates/codegen/frontend/module/__module_name__/features/__module_name__-detail.component.ts.eta +14 -5
  1392. package/dist/templates/codegen/frontend/module/__module_name__/features/__module_name__-form-embed.component.ts.eta +185 -60
  1393. package/dist/templates/codegen/frontend/module/__module_name__/features/__module_name__-form.component.ts.eta +160 -69
  1394. package/dist/templates/codegen/frontend/module/__module_name__/features/__module_name__-list.component.ts.eta +11 -8
  1395. package/dist/templates/codegen/partials/fields/enum-field.eta +8 -6
  1396. package/dist/templates/codegen/partials/form/field-label.eta +8 -5
  1397. package/dist/templates/codegen/partials/form/form-body.eta +8 -31
  1398. package/dist/templates/codegen/partials/form/view-frame-tabbed.eta +18 -2
  1399. package/dist/templates/codegen/partials/form/view-frame.eta +22 -2
  1400. package/dist/templates/codegen/partials/i18n-recompute.eta +16 -12
  1401. package/dist/templates/codegen/partials/relationships/multiple-select.eta +12 -1
  1402. package/dist/templates/codegen/partials/relationships/select.eta +11 -1
  1403. package/dist/templates/frontend/application/public/i18n/en.json +2 -1
  1404. package/dist/templates/frontend/application/public/i18n/es.json +2 -1
  1405. package/dist/templates/frontend/application/src/@aurora/components/data-table/index.ts +1 -0
  1406. package/dist/templates/frontend/application/src/@aurora/components/data-table/lib/relation-cell.spec.ts +33 -0
  1407. package/dist/templates/frontend/application/src/@aurora/components/data-table/lib/relation-cell.ts +13 -0
  1408. package/dist/templates/frontend/application/src/@aurora/components/date-picker/date-picker.component.ts +4 -0
  1409. package/dist/templates/frontend/application/src/@aurora/components/datetime-picker/datetime-picker.component.spec.ts +22 -0
  1410. package/dist/templates/frontend/application/src/@aurora/components/datetime-picker/datetime-picker.component.ts +24 -9
  1411. package/dist/templates/frontend/application/src/@aurora/components/datetime-picker/datetime-picker.stories.ts +22 -0
  1412. package/dist/templates/frontend/application/src/@aurora/lib/calendar-i18n.spec.ts +138 -0
  1413. package/dist/templates/frontend/application/src/@aurora/lib/calendar-i18n.ts +93 -0
  1414. package/dist/templates/frontend/application/src/@aurora/lib/expand-display-field-template.ts +30 -0
  1415. package/dist/templates/frontend/application/src/@aurora/lib/format-iso-date.ts +5 -4
  1416. package/dist/templates/frontend/application/src/@aurora/lib/index.ts +2 -1
  1417. package/dist/templates/frontend/application/src/@aurora/lib/item-label-of.spec.ts +45 -0
  1418. package/dist/templates/frontend/application/src/@aurora/lib/item-label-of.ts +17 -7
  1419. package/dist/templates/frontend/application/src/@aurora/pipes/to-options.pipe.ts +2 -5
  1420. package/dist/templates/frontend/application/src/app/app.config.ts +2 -0
  1421. package/dist/templates/frontend/application/src/environments/environment.dev.ts +3 -0
  1422. package/dist/templates/frontend/application/src/environments/environment.local.ts +3 -0
  1423. package/dist/templates/frontend/application/src/environments/environment.prod.ts +3 -0
  1424. package/dist/templates/frontend/application/src/environments/environment.qa.ts +3 -0
  1425. package/dist/templates/frontend/application/src/environments/environment.ts +3 -0
  1426. package/dist/templates/frontend/application/src/environments/environment.type.ts +13 -0
  1427. package/dist/templates/frontend/packages/hub/public/i18n/hub/en.json +1 -1
  1428. package/dist/templates/frontend/packages/hub/public/i18n/hub/es.json +1 -1
  1429. package/dist/templates/frontend/packages/hub/src/app/domains/admin/apps/hub/app/app.columns.ts +4 -15
  1430. package/dist/templates/frontend/packages/hub/src/app/domains/admin/apps/hub/app/app.cross-context.spec.ts +56 -0
  1431. package/dist/templates/frontend/packages/hub/src/app/domains/admin/apps/hub/app/data-access/app.graphql.ts +9 -14
  1432. package/dist/templates/frontend/packages/hub/src/app/domains/admin/apps/hub/app/features/app-form.component.ts +24 -3
  1433. package/dist/templates/frontend/packages/hub/src/app/domains/admin/apps/hub/app/features/app-list.component.ts +2 -6
  1434. package/dist/templates/frontend/packages/hub/src/app/domains/admin/apps/hub/hub.routes.ts +1 -1
  1435. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/account/data-access/account.graphql.ts +2 -1
  1436. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/account/features/account-form.component.spec.ts +28 -0
  1437. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/account/features/account-form.component.ts +1 -9
  1438. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/iam.routes.ts +6 -10
  1439. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/permission/features/permission-form-embed.component.ts +8 -7
  1440. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/permission/features/permission-form.component.ts +12 -0
  1441. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/role/data-access/role.graphql.ts +1 -0
  1442. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/role/features/role-form.component.ts +29 -1
  1443. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/role-account/data-access/role-account.graphql.ts +1 -0
  1444. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/tenant/data-access/tenant.graphql.ts +1 -0
  1445. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/tenant/features/tenant-form.component.ts +20 -1
  1446. package/dist/templates/frontend/packages/iam/src/app/domains/admin/apps/iam/tenant-account/data-access/tenant-account.graphql.ts +1 -0
  1447. package/dist/templates/frontend/packages/o-auth/public/i18n/o-auth/en.json +1 -1
  1448. package/dist/templates/frontend/packages/o-auth/public/i18n/o-auth/es.json +1 -1
  1449. package/dist/templates/frontend/packages/o-auth/src/app/domains/admin/apps/o-auth/application/features/application-form.component.ts +43 -7
  1450. package/dist/templates/frontend/packages/o-auth/src/app/domains/admin/apps/o-auth/application/features/application-list.component.ts +1 -2
  1451. package/dist/templates/frontend/packages/o-auth/src/app/domains/admin/apps/o-auth/authorization-code/features/authorization-code-form.component.ts +22 -3
  1452. package/dist/templates/frontend/packages/o-auth/src/app/domains/admin/apps/o-auth/authorization-code/features/authorization-code-list.component.ts +1 -2
  1453. package/dist/templates/frontend/packages/o-auth/src/app/domains/admin/apps/o-auth/o-auth.routes.ts +6 -6
  1454. package/dist/templates/monorepo/.backlog/config.yml +3 -0
  1455. package/dist/templates/monorepo/.claude/agents/jd-fix-agent.md +11 -8
  1456. package/dist/templates/monorepo/.claude/agents/jd-judge-a.md +8 -3
  1457. package/dist/templates/monorepo/.claude/agents/jd-judge-b.md +8 -3
  1458. package/dist/templates/monorepo/.claude/hooks/__fixtures__/br-hr-regression-baseline.txt +54 -42
  1459. package/dist/templates/monorepo/.claude/hooks/lint-barrels.test.ts +22 -17
  1460. package/dist/templates/monorepo/.claude/hooks/lint-barrels.ts +20 -18
  1461. package/dist/templates/monorepo/.claude/rules/route-backend-test.md +1 -1
  1462. package/dist/templates/monorepo/.claude/rules/scope-backend.md +1 -1
  1463. package/dist/templates/monorepo/.claude/scripts/catalyst-dev-mode.sh +0 -1
  1464. package/dist/templates/monorepo/.claude/settings.json +3 -1
  1465. package/dist/templates/monorepo/.claude/skills/REGISTRY.md +5 -5
  1466. package/dist/templates/monorepo/.claude/skills/catalyst-backlog/SKILL.md +442 -92
  1467. package/dist/templates/monorepo/.claude/skills/catalyst-backlog/frontier-worker-addendum.md +13 -5
  1468. package/dist/templates/monorepo/.claude/skills/catalyst-backlog/worker-system-prompt.md +2 -2
  1469. package/dist/templates/monorepo/.claude/skills/catalyst-cli/references/origin-conciliation.md +72 -0
  1470. package/dist/templates/monorepo/.claude/skills/catalyst-schema/SKILL.md +62 -86
  1471. package/dist/templates/monorepo/.claude/skills/catalyst-schema/front-presentation.md +209 -0
  1472. package/dist/templates/monorepo/.claude/skills/catalyst-schema/patterns-workflow.md +2 -2
  1473. package/dist/templates/monorepo/.claude/skills/catalyst-schema/types-reference.md +184 -3
  1474. package/dist/templates/monorepo/.claude/skills/harness-rules-guard/SKILL.md +8 -2
  1475. package/dist/templates/monorepo/.claude/skills/harness-rules-guard/references/audit.md +384 -0
  1476. package/dist/templates/monorepo/.claude/skills/judgment-day/SKILL.md +18 -15
  1477. package/dist/templates/monorepo/.claude/skills/judgment-day/references/prompts-and-formats.md +46 -21
  1478. package/dist/templates/monorepo/.claude/skills-triggers-index.json +8 -1
  1479. package/dist/templates/monorepo/.husky/post-checkout +17 -0
  1480. package/dist/templates/monorepo/.husky/post-merge +15 -0
  1481. package/dist/templates/monorepo/.husky/pre-commit +3 -3
  1482. package/dist/templates/monorepo/CLAUDE.md +116 -70
  1483. package/dist/templates/monorepo/cliter/business-rules-index.json +3399 -5201
  1484. package/dist/templates/monorepo/cliter/harness-rules/barrels.md +127 -7
  1485. package/dist/templates/monorepo/cliter/harness-rules/bridges.md +126 -3
  1486. package/dist/templates/monorepo/cliter/harness-rules/generated-artifacts.md +104 -0
  1487. package/dist/templates/monorepo/cliter/harness-rules-index.json +279 -19
  1488. package/dist/templates/monorepo/docs/AURORA-CATALYST-BRIEF.md +1 -1
  1489. package/dist/templates/monorepo/docs/business-rules/INDEX.md +11 -35
  1490. package/dist/templates/monorepo/docs/harness-rules/INDEX.md +11 -8
  1491. package/dist/templates/monorepo/openspec/config.yaml +7 -3
  1492. package/dist/templates/monorepo/package.json +2 -0
  1493. package/dist/templates/monorepo/scripts/backlog/README.md +627 -1539
  1494. package/dist/templates/monorepo/scripts/backlog/attempt.ts +4 -2
  1495. package/dist/templates/monorepo/scripts/backlog/close.test.ts +643 -69
  1496. package/dist/templates/monorepo/scripts/backlog/close.ts +495 -62
  1497. package/dist/templates/monorepo/scripts/backlog/dev.aurora.backlog-dispatch.plist +8 -3
  1498. package/dist/templates/monorepo/scripts/backlog/dispatch.test.ts +725 -62
  1499. package/dist/templates/monorepo/scripts/backlog/dispatch.ts +463 -49
  1500. package/dist/templates/monorepo/scripts/backlog/entry.test.ts +172 -63
  1501. package/dist/templates/monorepo/scripts/backlog/entry.ts +69 -12
  1502. package/dist/templates/monorepo/scripts/backlog/graph-cli.ts +70 -0
  1503. package/dist/templates/monorepo/scripts/backlog/graph.test.ts +800 -0
  1504. package/dist/templates/monorepo/scripts/backlog/graph.ts +386 -0
  1505. package/dist/templates/monorepo/scripts/backlog/guards.test.ts +619 -126
  1506. package/dist/templates/monorepo/scripts/backlog/guards.ts +363 -145
  1507. package/dist/templates/monorepo/scripts/backlog/lanes/frontier.settings.json +14 -2
  1508. package/dist/templates/monorepo/scripts/backlog/lanes/local.settings.json +22 -2
  1509. package/dist/templates/monorepo/scripts/backlog/lanes.json +2 -2
  1510. package/dist/templates/monorepo/scripts/backlog/launch.test.ts +415 -39
  1511. package/dist/templates/monorepo/scripts/backlog/launch.ts +28 -28
  1512. package/dist/templates/monorepo/scripts/backlog/maintenance.test.ts +732 -55
  1513. package/dist/templates/monorepo/scripts/backlog/maintenance.ts +328 -30
  1514. package/dist/templates/monorepo/scripts/backlog/render.test.ts +74 -3
  1515. package/dist/templates/monorepo/scripts/backlog/render.ts +70 -8
  1516. package/dist/templates/monorepo/scripts/backlog/slots.test.ts +214 -26
  1517. package/dist/templates/monorepo/scripts/backlog/slots.ts +128 -17
  1518. package/dist/templates/monorepo/scripts/backlog/task-view.test.ts +230 -75
  1519. package/dist/templates/monorepo/scripts/backlog/task-view.ts +128 -59
  1520. package/dist/templates/monorepo/scripts/backlog/types.ts +47 -17
  1521. package/dist/templates/monorepo/scripts/backlog/watch.test.ts +145 -0
  1522. package/dist/templates/monorepo/scripts/backlog/watch.ts +163 -47
  1523. package/dist/templates/monorepo/scripts/backlog/worker-edit.test.ts +20 -5
  1524. package/dist/templates/monorepo/scripts/backlog/worker-edit.ts +18 -5
  1525. package/dist/templates/monorepo/scripts/harness-rules/lint-barrels.test.ts +259 -6
  1526. package/dist/templates/monorepo/scripts/harness-rules/lint-barrels.ts +81 -38
  1527. package/oclif.manifest.json +230 -230
  1528. package/package.json +1 -1
  1529. package/dist/templates/backend/application/eslint.config.mjs +0 -94
  1530. package/dist/templates/backend/application/test/jest-e2e.json +0 -21
  1531. package/dist/templates/backend/application/test/jest-global-setup.ts +0 -15
  1532. package/dist/templates/backend/application/test/mocks/mime.mock.ts +0 -10
  1533. package/dist/templates/backend/application/test/mocks/uuid.mock.ts +0 -20
  1534. package/dist/templates/frontend/application/src/@aurora/lib/to-wire-date.spec.ts +0 -63
  1535. package/dist/templates/frontend/application/src/@aurora/lib/to-wire-date.ts +0 -70
@@ -13,6 +13,7 @@
13
13
  */
14
14
  import assert from 'node:assert/strict';
15
15
  import { describe, it } from 'node:test';
16
+ import { ambiguousHolderNotice, renderHolderDescription } from './graph.js';
16
17
  import {
17
18
  buildBoardCommitMessage,
18
19
  MAX_RECOVERY_ATTEMPTS,
@@ -89,6 +90,14 @@ interface FakeCollaborators {
89
90
  lockRemovals: () => string[];
90
91
  statusEdits: () => Array<{ id: string; status: string }>;
91
92
  comments: () => Array<{ id: string; comment: string }>;
93
+ /** T-68: every `--append-notes` call this pass made, in call order. */
94
+ appendedNotes: () => Array<{ id: string; notes: string }>;
95
+ /** T-68: the CURRENT notes text for one task, after every write this pass made. */
96
+ notesFor: (taskId: string) => string | null;
97
+ /** T-113: the CURRENT description text for one task, after every write this pass made. */
98
+ descriptionFor: (taskId: string) => string | null;
99
+ /** T-113: every `setDescription` call this pass made, in call order. */
100
+ descriptionEdits: () => Array<{ id: string; description: string }>;
92
101
  boardCommits: () => string[];
93
102
  detachedSlots: () => string[];
94
103
  notifications: () => Array<{ title: string; body: string }>;
@@ -110,6 +119,8 @@ function makeCollaborators(input: {
110
119
  isPrMerged?: (branch: string) => boolean;
111
120
  prState?: (branch: string) => string | null;
112
121
  mergedState?: (branch: string) => 'merged' | 'not-merged' | 'unknown';
122
+ /** T-68 latest: `taskId`'s branch -> its PR number, for the «Registro de ejecución» block's `Fuente` on a never-dispatched (`attempts: 0`) task. Defaults to unwired (`undefined`), which reads as a failed read. */
123
+ prNumber?: (branch: string) => number | null;
113
124
  hasPendingBacklogChanges?: boolean;
114
125
  saveWipAndPush?: (branch: string) => { pushSucceeded: boolean };
115
126
  commitBacklogChanges?: (message: string) => void;
@@ -126,10 +137,30 @@ function makeCollaborators(input: {
126
137
  orphanInProgressThresholdMs?: number;
127
138
  /** Task ids whose close-attempt marker (T-8 defect 3) already exists before this pass runs. */
128
139
  closeAttemptAlreadyEnqueued?: string[];
140
+ /** T-68: `taskId` + `attempt` -> the classified stream outcome. Defaults to `null` (unread). */
141
+ attemptStreamOutcome?: (taskId: string, attempt: number) => string | null;
142
+ /** T-68 fix 2: `taskId` + `attempt` -> the `review.md` verdict. Defaults to `null` (no review.md). */
143
+ attemptReviewVerdict?: (taskId: string, attempt: number) => string | null;
144
+ /** T-68: a task's notes BEFORE this pass runs — the §12.3 idempotence check reads these first. */
145
+ notesBefore?: Record<string, string>;
146
+ /** T-68 fix 1: `appendNotes` throws for a task id this returns `true` for — simulates a board write failure. */
147
+ appendNotesShouldThrow?: (taskId: string) => boolean;
148
+ /** T-68: `comment` throws for a task id this returns `true` for — simulates a SECOND board write failure, on top of `appendNotesShouldThrow`. */
149
+ commentShouldThrow?: (taskId: string) => boolean;
150
+ /** T-113: a task's description BEFORE this pass runs — step 5b's `readDescription` reads these first. */
151
+ descriptionsBefore?: Record<string, string>;
152
+ /** T-113: `setDescription` throws for a task id this returns `true` for — simulates a board write failure. */
153
+ setDescriptionShouldThrow?: (taskId: string) => boolean;
154
+ /** T-113: `readDescription` throws for a task id this returns `true` for — simulates a board read failure. */
155
+ readDescriptionShouldThrow?: (taskId: string) => boolean;
129
156
  }): FakeCollaborators {
130
157
  const calls: string[] = [];
131
158
  let slots: SlotInfo[] = input.slots;
132
159
  const closeAttemptEnqueued = new Set<string>(input.closeAttemptAlreadyEnqueued ?? []);
160
+ const notes: Record<string, string> = { ...(input.notesBefore ?? {}) };
161
+ const appendedNotes: Array<{ id: string; notes: string }> = [];
162
+ const descriptions: Record<string, string> = { ...(input.descriptionsBefore ?? {}) };
163
+ const descriptionEdits: Array<{ id: string; description: string }> = [];
133
164
  const removedLocks: string[] = [];
134
165
  const detachedSlots: string[] = [];
135
166
  const notifications: Array<{ title: string; body: string }> = [];
@@ -168,11 +199,17 @@ function makeCollaborators(input: {
168
199
  closeAttemptEnqueued.add(taskId);
169
200
  calls.push(`markCloseAttemptEnqueued(${taskId})`);
170
201
  },
202
+ attemptStreamOutcome: (taskId, attempt) => input.attemptStreamOutcome?.(taskId, attempt) ?? null,
203
+ attemptReviewVerdict: (taskId, attempt) => input.attemptReviewVerdict?.(taskId, attempt) ?? null,
171
204
  },
172
205
  gh: {
173
206
  isPrMerged: input.isPrMerged ?? (() => false),
174
207
  prState: input.prState ?? (() => null),
175
- mergedState: input.mergedState,
208
+ // Defaults to a WIRED fake answering "not merged" — `MaintenanceGh.mergedState` is required
209
+ // (T-20 point 4, 2026-09-11), so every real `gh` collaborator answers it; a test silent on
210
+ // this feature should see a normal answer rather than have to think about it.
211
+ mergedState: input.mergedState ?? (() => 'not-merged'),
212
+ prNumber: input.prNumber,
176
213
  },
177
214
  backlog: {
178
215
  setStatus: (id, status, comment) => {
@@ -187,9 +224,40 @@ function makeCollaborators(input: {
187
224
  }
188
225
  },
189
226
  comment: (id, comment) => {
227
+ if (input.commentShouldThrow?.(id)) {
228
+ calls.push(`comment(${id}) THREW`);
229
+ throw new Error(`simulated comment failure for ${id}`);
230
+ }
190
231
  comments.push({ id, comment });
191
232
  calls.push(`comment(${id})`);
192
233
  },
234
+ appendNotes: (id, appended) => {
235
+ if (input.appendNotesShouldThrow?.(id)) {
236
+ calls.push(`appendNotes(${id}) THREW`);
237
+ throw new Error(`simulated appendNotes failure for ${id}`);
238
+ }
239
+ notes[id] = `${notes[id] ?? ''}\n\n${appended}`;
240
+ appendedNotes.push({ id, notes: appended });
241
+ calls.push(`appendNotes(${id})`);
242
+ },
243
+ readNotes: (id) => notes[id] ?? null,
244
+ setDescription: (id, description) => {
245
+ if (input.setDescriptionShouldThrow?.(id)) {
246
+ calls.push(`setDescription(${id}) THREW`);
247
+ throw new Error(`simulated setDescription failure for ${id}`);
248
+ }
249
+ descriptions[id] = description;
250
+ descriptionEdits.push({ id, description });
251
+ calls.push(`setDescription(${id})`);
252
+ },
253
+ readDescription: (id) => {
254
+ if (input.readDescriptionShouldThrow?.(id)) {
255
+ calls.push(`readDescription(${id}) THREW`);
256
+ throw new Error(`simulated readDescription failure for ${id}`);
257
+ }
258
+ calls.push(`readDescription(${id})`);
259
+ return descriptions[id] ?? null;
260
+ },
193
261
  },
194
262
  git: {
195
263
  hasPendingBacklogChanges: () => input.hasPendingBacklogChanges ?? false,
@@ -238,6 +306,10 @@ function makeCollaborators(input: {
238
306
  lockRemovals: () => removedLocks,
239
307
  statusEdits: () => statusEdits,
240
308
  comments: () => comments,
309
+ appendedNotes: () => appendedNotes,
310
+ notesFor: (taskId) => notes[taskId] ?? null,
311
+ descriptionFor: (taskId) => descriptions[taskId] ?? null,
312
+ descriptionEdits: () => descriptionEdits,
241
313
  boardCommits: () => boardCommits,
242
314
  detachedSlots: () => detachedSlots,
243
315
  notifications: () => notifications,
@@ -391,6 +463,231 @@ describe('runMaintenance — merged PR moves a task to Done', () => {
391
463
  });
392
464
  });
393
465
 
466
+ // ── T-68: the «Registro de ejecución» block, written at the SAME Done transition ────────────
467
+
468
+ describe('runMaintenance — the «Registro de ejecución» block at the Done transition', () => {
469
+ it('appends the block once the task reaches Done, built from its own attempts data', () => {
470
+ const collaborators = makeCollaborators({
471
+ slots: [],
472
+ locks: [],
473
+ tasks: [
474
+ makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, lane: LANE.LOCAL, attempts: 1 }),
475
+ ],
476
+ isPrMerged: (branch) => branch === 'task/T-3',
477
+ attemptStreamOutcome: (taskId, attempt) =>
478
+ taskId === 'T-3' && attempt === 1 ? 'completed' : null,
479
+ });
480
+
481
+ const result = runMaintenance(collaborators.ctx);
482
+
483
+ assert.deepEqual(result.movedToDone, ['T-3']);
484
+ const appended = collaborators.appendedNotes();
485
+ assert.equal(appended.length, 1, 'the block is appended exactly once for this task');
486
+ assert.equal(appended[0]?.id, 'T-3');
487
+ assert.match(appended[0]?.notes ?? '', /^## Registro de ejecución/);
488
+ assert.match(appended[0]?.notes ?? '', /\*\*Resultado del intento 1:\*\* Done/);
489
+ assert.match(appended[0]?.notes ?? '', /\*\*Fuente:\*\* \.backlog\/\.dispatch\/T-3\/intento-1/);
490
+ });
491
+
492
+ it('does not duplicate the block on a pass that finds the heading already in the notes (§12.3)', () => {
493
+ const collaborators = makeCollaborators({
494
+ slots: [],
495
+ locks: [],
496
+ tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, attempts: 1 })],
497
+ isPrMerged: (branch) => branch === 'task/T-3',
498
+ // Simulates a task whose record was already written (by an earlier pass, or this same one
499
+ // re-entering step 3 before its own board snapshot caught up) — the sentinel must stop a
500
+ // second append regardless of how the notes got there.
501
+ notesBefore: { 'T-3': 'Some earlier note.\n\n## Registro de ejecución\n\n- **Modo:** headless' },
502
+ });
503
+
504
+ const result = runMaintenance(collaborators.ctx);
505
+
506
+ assert.deepEqual(result.movedToDone, ['T-3'], 'the task still reaches Done on its own merit');
507
+ assert.deepEqual(collaborators.appendedNotes(), []);
508
+ });
509
+
510
+ // ── T-68: the record write is attempted BEFORE the transition, but a failed write NEVER blocks
511
+ // it — a merged PR is a confirmed fact. A task kept out of `Done` would be invisible to the orphan
512
+ // sweep AND to `cleanupBranchOnDone`, and no later pass would revisit it.
513
+
514
+ it('appendNotes throws: the task still reaches Done in the SAME pass, branch cleanup still runs, one comment', () => {
515
+ const collaborators = makeCollaborators({
516
+ slots: [],
517
+ locks: [],
518
+ tasks: [
519
+ makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, lane: LANE.LOCAL, attempts: 1 }),
520
+ ],
521
+ isPrMerged: (branch) => branch === 'task/T-3',
522
+ attemptStreamOutcome: (taskId, attempt) =>
523
+ taskId === 'T-3' && attempt === 1 ? 'completed' : null,
524
+ appendNotesShouldThrow: (taskId) => taskId === 'T-3',
525
+ });
526
+
527
+ const result = runMaintenance(collaborators.ctx);
528
+
529
+ assert.deepEqual(
530
+ result.movedToDone,
531
+ ['T-3'],
532
+ 'a failed record write must never hold the merged-PR transition hostage',
533
+ );
534
+ assert.deepEqual(
535
+ result.cleanedUpBranches,
536
+ ['T-3'],
537
+ 'the transition proceeded for real — branch cleanup ran exactly as it would on a clean write',
538
+ );
539
+ assert.deepEqual(collaborators.statusEdits(), [{ id: 'T-3', status: TASK_STATUS.DONE }]);
540
+ assert.deepEqual(collaborators.appendedNotes(), [], 'the block itself never landed on the board');
541
+ // `collaborators.comments()` also carries the ORDINARY "PR mergeado" comment `setStatus` posts
542
+ // on every Done transition (fixture design: both kinds land in one list) — filtering by content
543
+ // isolates the ONE comment this failure itself produced, apart from that unrelated one.
544
+ const failureComments = collaborators
545
+ .comments()
546
+ .filter((entry) => entry.id === 'T-3' && entry.comment.includes('Registro de ejecución'));
547
+ assert.equal(failureComments.length, 1, 'exactly one comment records the gap');
548
+
549
+ // Item 4: "no spam" — proved, not assumed. A FRESH pass whose board read already shows this
550
+ // task `Done` (the real shape a later `loadBoard` would report, now that `setStatus` landed for
551
+ // real above) must never revisit it: step 3's own `status === IN_PROGRESS` guard is what stops
552
+ // a second appendNotes/comment attempt, not any bookkeeping this write introduces.
553
+ const nextPassCollaborators = makeCollaborators({
554
+ slots: [],
555
+ locks: [],
556
+ tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.DONE, lane: LANE.LOCAL, attempts: 1 })],
557
+ isPrMerged: (branch) => branch === 'task/T-3',
558
+ appendNotesShouldThrow: (taskId) => taskId === 'T-3',
559
+ });
560
+ const nextPass = runMaintenance(nextPassCollaborators.ctx);
561
+ assert.deepEqual(nextPass.movedToDone, []);
562
+ assert.deepEqual(nextPassCollaborators.comments(), [], 'a Done task is never revisited at all');
563
+ });
564
+
565
+ it('comment ALSO throws: the pass itself never throws, and the task still reaches Done', () => {
566
+ const collaborators = makeCollaborators({
567
+ slots: [],
568
+ locks: [],
569
+ tasks: [
570
+ makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, lane: LANE.LOCAL, attempts: 1 }),
571
+ ],
572
+ isPrMerged: (branch) => branch === 'task/T-3',
573
+ appendNotesShouldThrow: (taskId) => taskId === 'T-3',
574
+ commentShouldThrow: (taskId) => taskId === 'T-3',
575
+ });
576
+
577
+ let result: ReturnType<typeof runMaintenance> | undefined;
578
+ assert.doesNotThrow(() => {
579
+ result = runMaintenance(collaborators.ctx);
580
+ });
581
+ assert.deepEqual(result?.movedToDone, ['T-3']);
582
+ assert.deepEqual(collaborators.statusEdits(), [{ id: 'T-3', status: TASK_STATUS.DONE }]);
583
+ });
584
+
585
+ it('a field the attempts hold no data for is written as desconocido, never guessed (AC3)', () => {
586
+ const collaborators = makeCollaborators({
587
+ slots: [],
588
+ locks: [],
589
+ tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, lane: LANE.FRONTIER, attempts: 1 })],
590
+ isPrMerged: (branch) => branch === 'task/T-3',
591
+ // No fake wired for `attemptStreamOutcome` at all — every attempt reads as unknown, exactly
592
+ // the "no attempt data" case AC3 exercises.
593
+ });
594
+
595
+ runMaintenance(collaborators.ctx);
596
+
597
+ const notes = collaborators.notesFor('T-3') ?? '';
598
+ assert.match(notes, /\*\*Fallos de entorno:\*\* desconocido/);
599
+ assert.match(notes, /\*\*Tiempo de ciclo:\*\* desconocido/);
600
+ });
601
+
602
+ it('carries a real Blocked cause from a retried attempt into the record, not just the retry count', () => {
603
+ const collaborators = makeCollaborators({
604
+ slots: [],
605
+ locks: [],
606
+ tasks: [
607
+ makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, lane: LANE.LOCAL, attempts: 2 }),
608
+ ],
609
+ isPrMerged: (branch) => branch === 'task/T-3',
610
+ attemptStreamOutcome: (taskId, attempt) => {
611
+ if (taskId !== 'T-3') return null;
612
+ return attempt === 1 ? 'needs-guidance' : attempt === 2 ? 'completed' : null;
613
+ },
614
+ // Attempt 1 never reached the reviewer step (it hit `needs-guidance` before the close's own
615
+ // steps ran) — no `review.md`. Attempt 2 completed and its close reviewer passed it.
616
+ attemptReviewVerdict: (taskId, attempt) => {
617
+ if (taskId !== 'T-3') return null;
618
+ return attempt === 2 ? 'pass' : null;
619
+ },
620
+ });
621
+
622
+ runMaintenance(collaborators.ctx);
623
+
624
+ const notes = collaborators.notesFor('T-3') ?? '';
625
+ assert.match(notes, /\*\*Resultado del intento 1:\*\* Blocked \(needs-guidance\)/);
626
+ // Fix 2: "Rondas de corrección" comes from `review.md` FAIL verdicts, not the retry count — one
627
+ // review.md exists (attempt 2, PASS), zero FAILs, so 0 rounds, never `attempts - 1` (which
628
+ // would wrongly say 1: a needs-guidance retry is not a correction round).
629
+ assert.match(notes, /\*\*Rondas de corrección:\*\* 0 — revisor: code-review/);
630
+ assert.match(notes, /\*\*Intervenciones humanas:\*\* 1 — tipo: respuesta a Blocked/);
631
+ });
632
+
633
+ // ── T-68 latest: a merged-PR task never dispatched at all (attempts: 0) is a SUPERVISADA task —
634
+ // the Worktree Gate forces even an interactive session onto `task/T-nn`, so step 3 closes it out
635
+ // exactly like a headless one the instant its PR merges. ────────────────────────────────────────
636
+
637
+ it('a never-dispatched (attempts: 0) merged-PR task gets the supervisada block, with its PR number as Fuente', () => {
638
+ const collaborators = makeCollaborators({
639
+ slots: [],
640
+ locks: [],
641
+ tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, attempts: 0 })],
642
+ isPrMerged: (branch) => branch === 'task/T-3',
643
+ prNumber: (branch) => (branch === 'task/T-3' ? 188 : null),
644
+ });
645
+
646
+ const result = runMaintenance(collaborators.ctx);
647
+
648
+ assert.deepEqual(result.movedToDone, ['T-3']);
649
+ const notes = collaborators.notesFor('T-3') ?? '';
650
+ assert.match(notes, /\*\*Modo:\*\* supervisada — desconocido/);
651
+ assert.match(notes, /\*\*Intervenciones humanas:\*\* desconocido — tipo: desconocido/);
652
+ assert.match(notes, /\*\*Fuente:\*\* PR #188/);
653
+ });
654
+
655
+ it('a never-dispatched task whose notes ALREADY carry the heading (orchestrator-written) gets no append', () => {
656
+ const collaborators = makeCollaborators({
657
+ slots: [],
658
+ locks: [],
659
+ tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS, attempts: 0 })],
660
+ isPrMerged: (branch) => branch === 'task/T-3',
661
+ prNumber: () => 188,
662
+ // The orchestrator (a person, in the supervisada session itself) already appended its OWN
663
+ // block by hand before the reconciler's next pass ever sees the merged PR.
664
+ notesBefore: {
665
+ 'T-3': 'Some earlier note.\n\n## Registro de ejecución\n\n- **Modo:** supervisada — el humano lo escribió',
666
+ },
667
+ });
668
+
669
+ const result = runMaintenance(collaborators.ctx);
670
+
671
+ assert.deepEqual(result.movedToDone, ['T-3'], 'the task still reaches Done on its own merit');
672
+ assert.deepEqual(collaborators.appendedNotes(), []);
673
+ });
674
+
675
+ it('never appends the block for step 3b\'s revert — that moves a task AWAY from Done', () => {
676
+ const collaborators = makeCollaborators({
677
+ slots: [],
678
+ locks: [],
679
+ tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.DONE, attempts: 1 })],
680
+ branchExists: (branch) => branch === 'task/T-3',
681
+ mergedState: () => 'not-merged',
682
+ });
683
+
684
+ const result = runMaintenance(collaborators.ctx);
685
+
686
+ assert.deepEqual(result.revertedHandwrittenDone, ['T-3']);
687
+ assert.deepEqual(collaborators.appendedNotes(), []);
688
+ });
689
+ });
690
+
394
691
  // ── T-8 point 5: branch cleanup once a task reaches Done ─────────────────────
395
692
 
396
693
  describe('runMaintenance — branch cleanup on Done', () => {
@@ -594,27 +891,6 @@ describe('runMaintenance — branch cleanup on Done', () => {
594
891
  ]);
595
892
  });
596
893
 
597
- // T-15: a subtask's base is the parent's REAL branch when it declared one — an interactive
598
- // session's parent lives on `fix/…`, never on `task/<id>`.
599
- it("compares a subtask against its parent's DECLARED branch when it named one", () => {
600
- const collaborators = makeCollaborators({
601
- slots: [],
602
- locks: [],
603
- tasks: [
604
- makeTask({ id: 'T-10', declaredBranch: 'fix/parent-branch-resolution' }),
605
- makeTask({ id: 'T-21', parentId: 'T-10', status: TASK_STATUS.IN_PROGRESS }),
606
- ],
607
- isPrMerged: (branch) => branch === 'task/T-21',
608
- branchHasUnmergedCommits: () => false,
609
- });
610
-
611
- runMaintenance(collaborators.ctx);
612
-
613
- assert.deepEqual(collaborators.branchCleanupChecks(), [
614
- { branch: 'task/T-21', baseRef: 'origin/fix/parent-branch-resolution' },
615
- ]);
616
- });
617
-
618
894
  // Refusal on the PARENT-recomputation path (step 5), not just the leaf path (step 3).
619
895
  it('also refuses branch cleanup on the parent-recomputation path when unmerged commits remain', () => {
620
896
  const collaborators = makeCollaborators({
@@ -701,6 +977,7 @@ describe('runMaintenance — hand-written Done reverted when its PR is not merge
701
977
  tasks: [makeTask({ id: 'T-3', status: TASK_STATUS.IN_PROGRESS })],
702
978
  isPrMerged: (branch) => branch === 'task/T-3',
703
979
  branchExists: (branch) => branch === 'task/T-3',
980
+ mergedState: (branch) => (branch === 'task/T-3' ? 'merged' : 'not-merged'),
704
981
  });
705
982
 
706
983
  const result = runMaintenance(collaborators.ctx);
@@ -865,6 +1142,51 @@ describe('runMaintenance — orphan In Progress detection', () => {
865
1142
 
866
1143
  assert.deepEqual(result.orphanInProgressBlocked, []);
867
1144
  });
1145
+
1146
+ // Measured incident: a Complex parent whose children are (Done, Done, To Do, To Do) derives
1147
+ // `In Progress` (parent.ts) with no lock/slot/attempt-dir of its own, since a parent's status is
1148
+ // never written by hand. Step 3c saw the same absence a real orphan leaves and blocked it,
1149
+ // writing a false "orphan" comment on every pass since it was set to `In Progress`.
1150
+ it('does not block a parent In Progress whose status is derived from its children', () => {
1151
+ const collaborators = makeCollaborators({
1152
+ slots: [],
1153
+ locks: [],
1154
+ tasks: [
1155
+ makeTask({ id: 'T-4', status: TASK_STATUS.IN_PROGRESS, updatedAt: OLD_ENOUGH }),
1156
+ makeTask({ id: 'T-4.1', status: TASK_STATUS.DONE, parentId: 'T-4' }),
1157
+ makeTask({ id: 'T-4.2', status: TASK_STATUS.DONE, parentId: 'T-4' }),
1158
+ makeTask({ id: 'T-4.3', status: TASK_STATUS.TO_DO, parentId: 'T-4' }),
1159
+ makeTask({ id: 'T-4.4', status: TASK_STATUS.TO_DO, parentId: 'T-4' }),
1160
+ ],
1161
+ hasAttemptDir: () => false,
1162
+ });
1163
+
1164
+ const result = runMaintenance(collaborators.ctx);
1165
+
1166
+ assert.deepEqual(result.orphanInProgressBlocked, []);
1167
+ assert.deepEqual(
1168
+ collaborators.statusEdits().filter((edit) => edit.id === 'T-4'),
1169
+ [],
1170
+ 'a parent must never be moved to Blocked by the orphan sweep — its status is derived, never orphaned',
1171
+ );
1172
+ });
1173
+
1174
+ // Sibling of the test above: a CHILDLESS In Progress task in the exact same state (no lock, no
1175
+ // slot, no attempt dir, stale updated_date) is still a real orphan and must still be blocked —
1176
+ // the parent exemption must not become a blanket exemption.
1177
+ it('still blocks a childless In Progress task in the same state — no regression', () => {
1178
+ const collaborators = makeCollaborators({
1179
+ slots: [],
1180
+ locks: [],
1181
+ tasks: [makeTask({ id: 'T-9', status: TASK_STATUS.IN_PROGRESS, updatedAt: OLD_ENOUGH })],
1182
+ hasAttemptDir: () => false,
1183
+ });
1184
+
1185
+ const result = runMaintenance(collaborators.ctx);
1186
+
1187
+ assert.deepEqual(result.orphanInProgressBlocked, ['T-9']);
1188
+ assert.deepEqual(collaborators.statusEdits(), [{ id: 'T-9', status: TASK_STATUS.BLOCKED }]);
1189
+ });
868
1190
  });
869
1191
 
870
1192
  // ── Step 4: manual cancellation — save before kill before release ─────────────
@@ -1053,6 +1375,7 @@ describe('runMaintenance — parent recomputation', () => {
1053
1375
  makeTask({ id: 'T-11', parentId: 'T-10', status: TASK_STATUS.DONE }),
1054
1376
  ],
1055
1377
  isPrMerged: (branch) => branch === 'task/T-10',
1378
+ mergedState: (branch) => (branch === 'task/T-10' ? 'merged' : 'not-merged'),
1056
1379
  });
1057
1380
 
1058
1381
  const result = runMaintenance(collaborators.ctx);
@@ -1096,6 +1419,256 @@ describe('runMaintenance — parent recomputation', () => {
1096
1419
  });
1097
1420
  });
1098
1421
 
1422
+ // ── Step 5b: refresh the graph-holder task ──────────────────────────────────────
1423
+
1424
+ describe('runMaintenance — graph-holder refresh (step 5b)', () => {
1425
+ const holder = (): Task => makeTask({ id: 'T-112', status: TASK_STATUS.TO_DO, isGraphHolder: true });
1426
+ const openTask = (): Task => makeTask({ id: 'T-1', status: TASK_STATUS.TO_DO });
1427
+ const boardFrom = (tasks: Task[]): { tasksById: Record<string, Task> } => ({
1428
+ tasksById: Object.fromEntries(tasks.map((task) => [task.id, task])),
1429
+ });
1430
+
1431
+ it('does not call setDescription when the rendered view already matches the holder description', () => {
1432
+ const tasks = [holder(), openTask()];
1433
+ const collaborators = makeCollaborators({
1434
+ slots: [],
1435
+ locks: [],
1436
+ tasks,
1437
+ descriptionsBefore: { 'T-112': renderHolderDescription(boardFrom(tasks)) },
1438
+ });
1439
+
1440
+ const result = runMaintenance(collaborators.ctx);
1441
+
1442
+ assert.equal(collaborators.descriptionEdits().length, 0);
1443
+ assert.equal(result.graphHolderRefreshed, null);
1444
+ });
1445
+
1446
+ it('calls setDescription once with the fresh text, before the board commit', () => {
1447
+ const tasks = [holder(), openTask()];
1448
+ const collaborators = makeCollaborators({
1449
+ slots: [],
1450
+ locks: [],
1451
+ tasks,
1452
+ descriptionsBefore: { 'T-112': 'stale text' },
1453
+ hasPendingBacklogChanges: true,
1454
+ });
1455
+
1456
+ const result = runMaintenance(collaborators.ctx);
1457
+
1458
+ const expected = renderHolderDescription(boardFrom(tasks));
1459
+ assert.deepEqual(collaborators.descriptionEdits(), [{ id: 'T-112', description: expected }]);
1460
+ assert.equal(result.graphHolderRefreshed, 'T-112');
1461
+ const setIndex = collaborators.calls.indexOf('setDescription(T-112)');
1462
+ const commitIndex = collaborators.calls.indexOf('commitBacklogChanges');
1463
+ assert.ok(setIndex >= 0, 'setDescription must have been called');
1464
+ assert.ok(commitIndex >= 0, 'commitBacklogChanges must have been called');
1465
+ assert.ok(setIndex < commitIndex, 'the holder refresh must land before the board commit');
1466
+ });
1467
+
1468
+ // Step 5b must render over `tasksById` AS STEP 5 (parent recompute) LEFT IT, not the board the
1469
+ // pass started with — the module comment's own justification for the ordering. Asserts on the
1470
+ // WRITTEN DESCRIPTION's content, not merely a call-index comparison, so a regression that renders
1471
+ // from a stale snapshot (right index, wrong data) would still be caught.
1472
+ it('renders the view AFTER parent recomputation: a parent this pass just closed is not an open wait', () => {
1473
+ const tasks = [
1474
+ holder(),
1475
+ makeTask({ id: 'T-1', status: TASK_STATUS.TO_DO, dependsOn: ['T-30'] }),
1476
+ makeTask({ id: 'T-30', status: TASK_STATUS.TO_DO }),
1477
+ makeTask({ id: 'T-31', parentId: 'T-30', status: TASK_STATUS.DONE }),
1478
+ ];
1479
+ const collaborators = makeCollaborators({
1480
+ slots: [],
1481
+ locks: [],
1482
+ tasks,
1483
+ descriptionsBefore: { 'T-112': 'stale text' },
1484
+ // T-30's only child is Done and its own PR is merged: step 5 (parent recompute) moves T-30
1485
+ // from To Do to Done in THIS pass.
1486
+ isPrMerged: (branch) => branch === 'task/T-30',
1487
+ mergedState: (branch) => (branch === 'task/T-30' ? 'merged' : 'not-merged'),
1488
+ hasPendingBacklogChanges: true,
1489
+ });
1490
+
1491
+ const result = runMaintenance(collaborators.ctx);
1492
+
1493
+ assert.deepEqual(result.recomputedParents, [
1494
+ { id: 'T-30', from: TASK_STATUS.TO_DO, to: TASK_STATUS.DONE },
1495
+ ]);
1496
+ assert.equal(result.graphHolderRefreshed, 'T-112');
1497
+ const written = collaborators.descriptionFor('T-112');
1498
+ assert.ok(written, 'the holder must have a description after this pass');
1499
+ assert.doesNotMatch(
1500
+ written!,
1501
+ /T-30/,
1502
+ 'T-30 is Done by the time step 5b runs, so it must not appear at all — neither as an open task nor as something T-1 waits for',
1503
+ );
1504
+ assert.match(written!, /T-1 \[To Do\]/, 'T-1 must render as READY once T-30 is Done');
1505
+ });
1506
+
1507
+ it('skips the refresh over an incomplete board read, never calling readDescription', () => {
1508
+ const tasks = [holder(), openTask()];
1509
+ const collaborators = makeCollaborators({
1510
+ slots: [],
1511
+ locks: [],
1512
+ tasks,
1513
+ boardComplete: false,
1514
+ descriptionsBefore: { 'T-112': 'stale text' },
1515
+ });
1516
+
1517
+ const result = runMaintenance(collaborators.ctx);
1518
+
1519
+ assert.equal(result.graphHolderRefreshed, null);
1520
+ assert.ok(!collaborators.calls.some((call) => call.startsWith('readDescription')));
1521
+ assert.ok(!collaborators.calls.some((call) => call.startsWith('setDescription')));
1522
+ });
1523
+
1524
+ it('writes nothing when no task carries board:graph', () => {
1525
+ const tasks = [openTask()];
1526
+ const collaborators = makeCollaborators({ slots: [], locks: [], tasks });
1527
+
1528
+ const result = runMaintenance(collaborators.ctx);
1529
+
1530
+ assert.equal(result.graphHolderRefreshed, null);
1531
+ assert.deepEqual(result.graphHolderAmbiguous, []);
1532
+ assert.equal(collaborators.descriptionEdits().length, 0);
1533
+ });
1534
+
1535
+ it('writes the ambiguity notice to BOTH holders and reports every id when two or more carry board:graph', () => {
1536
+ const tasks = [
1537
+ holder(),
1538
+ makeTask({ id: 'T-113', status: TASK_STATUS.TO_DO, isGraphHolder: true }),
1539
+ openTask(),
1540
+ ];
1541
+ const collaborators = makeCollaborators({
1542
+ slots: [],
1543
+ locks: [],
1544
+ tasks,
1545
+ descriptionsBefore: { 'T-112': 'stale text', 'T-113': 'other stale text' },
1546
+ hasPendingBacklogChanges: true,
1547
+ });
1548
+
1549
+ const result = runMaintenance(collaborators.ctx);
1550
+
1551
+ assert.equal(result.graphHolderRefreshed, null);
1552
+ assert.deepEqual(result.graphHolderAmbiguous, ['T-112', 'T-113']);
1553
+ const notice = ambiguousHolderNotice(['T-112', 'T-113']);
1554
+ assert.deepEqual(
1555
+ collaborators.descriptionEdits().map((edit) => edit.id).sort(),
1556
+ ['T-112', 'T-113'],
1557
+ 'both holders receive the notice',
1558
+ );
1559
+ for (const edit of collaborators.descriptionEdits()) {
1560
+ assert.equal(edit.description, notice);
1561
+ }
1562
+ // The commit still happens: the ambiguity notice is a legitimate board change like any other.
1563
+ assert.equal(result.committedBoard, true);
1564
+ });
1565
+
1566
+ it('does not rewrite a holder that already shows the ambiguity notice', () => {
1567
+ const tasks = [
1568
+ holder(),
1569
+ makeTask({ id: 'T-113', status: TASK_STATUS.TO_DO, isGraphHolder: true }),
1570
+ openTask(),
1571
+ ];
1572
+ const notice = ambiguousHolderNotice(['T-112', 'T-113']);
1573
+ const collaborators = makeCollaborators({
1574
+ slots: [],
1575
+ locks: [],
1576
+ tasks,
1577
+ descriptionsBefore: { 'T-112': notice, 'T-113': 'stale text' },
1578
+ hasPendingBacklogChanges: true,
1579
+ });
1580
+
1581
+ const result = runMaintenance(collaborators.ctx);
1582
+
1583
+ assert.deepEqual(result.graphHolderAmbiguous, ['T-112', 'T-113']);
1584
+ assert.deepEqual(collaborators.descriptionEdits(), [{ id: 'T-113', description: notice }]);
1585
+ });
1586
+
1587
+ it('a throw writing the notice to one holder does not prevent the other, and the pass still commits', () => {
1588
+ const tasks = [
1589
+ holder(),
1590
+ makeTask({ id: 'T-113', status: TASK_STATUS.TO_DO, isGraphHolder: true }),
1591
+ openTask(),
1592
+ ];
1593
+ const collaborators = makeCollaborators({
1594
+ slots: [],
1595
+ locks: [],
1596
+ tasks,
1597
+ descriptionsBefore: { 'T-112': 'stale text', 'T-113': 'other stale text' },
1598
+ setDescriptionShouldThrow: (id) => id === 'T-112',
1599
+ hasPendingBacklogChanges: true,
1600
+ });
1601
+
1602
+ const result = runMaintenance(collaborators.ctx);
1603
+
1604
+ assert.deepEqual(result.graphHolderAmbiguous, ['T-112', 'T-113']);
1605
+ assert.deepEqual(collaborators.descriptionEdits().map((edit) => edit.id), ['T-113']);
1606
+ assert.equal(result.graphHolderRefreshError, null, 'a single holder write failure is not a step failure');
1607
+ assert.equal(result.committedBoard, true);
1608
+ });
1609
+
1610
+ it('records the failure and still closes merged tasks, recomputes parents and commits when the write throws', () => {
1611
+ const tasks = [
1612
+ holder(),
1613
+ openTask(),
1614
+ makeTask({ id: 'T-20', status: TASK_STATUS.IN_PROGRESS }),
1615
+ makeTask({ id: 'T-30', status: TASK_STATUS.TO_DO }),
1616
+ makeTask({ id: 'T-31', parentId: 'T-30', status: TASK_STATUS.DONE }),
1617
+ ];
1618
+ const collaborators = makeCollaborators({
1619
+ slots: [],
1620
+ locks: [],
1621
+ tasks,
1622
+ descriptionsBefore: { 'T-112': 'stale text' },
1623
+ setDescriptionShouldThrow: (id) => id === 'T-112',
1624
+ isPrMerged: (branch) => branch === 'task/T-20',
1625
+ mergedState: (branch) => (branch === 'task/T-20' ? 'merged' : 'not-merged'),
1626
+ hasPendingBacklogChanges: true,
1627
+ });
1628
+
1629
+ const result = runMaintenance(collaborators.ctx);
1630
+
1631
+ assert.ok(result.graphHolderRefreshError, 'the failure must be recorded on the result');
1632
+ assert.equal(result.graphHolderRefreshed, null);
1633
+ assert.deepEqual(result.movedToDone, ['T-20']);
1634
+ assert.deepEqual(result.recomputedParents, [
1635
+ { id: 'T-30', from: TASK_STATUS.TO_DO, to: TASK_STATUS.IN_PROGRESS },
1636
+ ]);
1637
+ assert.equal(result.committedBoard, true);
1638
+ });
1639
+
1640
+ it('records the failure and still closes merged tasks, recomputes parents and commits when the read throws', () => {
1641
+ const tasks = [
1642
+ holder(),
1643
+ openTask(),
1644
+ makeTask({ id: 'T-20', status: TASK_STATUS.IN_PROGRESS }),
1645
+ makeTask({ id: 'T-30', status: TASK_STATUS.TO_DO }),
1646
+ makeTask({ id: 'T-31', parentId: 'T-30', status: TASK_STATUS.DONE }),
1647
+ ];
1648
+ const collaborators = makeCollaborators({
1649
+ slots: [],
1650
+ locks: [],
1651
+ tasks,
1652
+ descriptionsBefore: { 'T-112': 'stale text' },
1653
+ readDescriptionShouldThrow: (id) => id === 'T-112',
1654
+ isPrMerged: (branch) => branch === 'task/T-20',
1655
+ mergedState: (branch) => (branch === 'task/T-20' ? 'merged' : 'not-merged'),
1656
+ hasPendingBacklogChanges: true,
1657
+ });
1658
+
1659
+ const result = runMaintenance(collaborators.ctx);
1660
+
1661
+ assert.ok(result.graphHolderRefreshError, 'the failure must be recorded on the result');
1662
+ assert.equal(result.graphHolderRefreshed, null);
1663
+ assert.equal(collaborators.descriptionEdits().length, 0, 'a read failure must never reach the writer');
1664
+ assert.deepEqual(result.movedToDone, ['T-20']);
1665
+ assert.deepEqual(result.recomputedParents, [
1666
+ { id: 'T-30', from: TASK_STATUS.TO_DO, to: TASK_STATUS.IN_PROGRESS },
1667
+ ]);
1668
+ assert.equal(result.committedBoard, true);
1669
+ });
1670
+ });
1671
+
1099
1672
  // ── Step 6: commit pending .backlog/** changes ─────────────────────────────────
1100
1673
 
1101
1674
  describe('runMaintenance — board commit', () => {
@@ -1150,12 +1723,34 @@ describe('runMaintenance — board commit', () => {
1150
1723
  // ── recomputeParent, called directly by the close ─────────────────────────────
1151
1724
 
1152
1725
  describe('recomputeParent', () => {
1153
- /** A bare `hasCloseAttemptBeenEnqueued`/`markCloseAttemptEnqueued` pair, Set-backed. */
1726
+ /**
1727
+ * A bare `hasCloseAttemptBeenEnqueued`/`markCloseAttemptEnqueued` pair, Set-backed, plus T-68's
1728
+ * two read-only attempt probes — both default to "no data", the ordinary answer every fixture in
1729
+ * THIS describe block needs: it asserts the DERIVED STATUS, never the execution record's own
1730
+ * content (that is `runMaintenance — the «Registro de ejecución» block...`, above).
1731
+ */
1154
1732
  function fakeCloseAttemptFs(alreadyEnqueued: string[] = []) {
1155
1733
  const enqueued = new Set(alreadyEnqueued);
1156
1734
  return {
1157
1735
  hasCloseAttemptBeenEnqueued: (taskId: string) => enqueued.has(taskId),
1158
1736
  markCloseAttemptEnqueued: (taskId: string) => enqueued.add(taskId),
1737
+ attemptStreamOutcome: (): string | null => null,
1738
+ attemptReviewVerdict: (): string | null => null,
1739
+ };
1740
+ }
1741
+
1742
+ /**
1743
+ * A `setStatus` recorder (into the caller's own `edits` array, when given one) plus T-68's
1744
+ * `appendNotes`/`readNotes`/`comment` no-ops — a parent this suite derives to `Done` still goes
1745
+ * through `writeExecutionRecordOnce`, and a silent no-op is the right default for a suite that is
1746
+ * not asserting the record's content.
1747
+ */
1748
+ function fakeParentBacklog(edits: Array<[string, string]> = []) {
1749
+ return {
1750
+ setStatus: (id: string, status: string) => edits.push([id, status]),
1751
+ appendNotes: (): void => {},
1752
+ readNotes: (): string | null => null,
1753
+ comment: (): void => {},
1159
1754
  };
1160
1755
  }
1161
1756
 
@@ -1172,8 +1767,8 @@ describe('recomputeParent', () => {
1172
1767
  const result = recomputeParent({
1173
1768
  parentId: 'T-10',
1174
1769
  tasksById: parentAndChild(TASK_STATUS.BLOCKED),
1175
- gh: { isPrMerged: () => false },
1176
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
1770
+ gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1771
+ backlog: fakeParentBacklog(edits),
1177
1772
  fs: fakeCloseAttemptFs(),
1178
1773
  });
1179
1774
 
@@ -1190,8 +1785,8 @@ describe('recomputeParent', () => {
1190
1785
  const result = recomputeParent({
1191
1786
  parentId: 'T-10',
1192
1787
  tasksById: parentAndChild(TASK_STATUS.IN_PROGRESS),
1193
- gh: { isPrMerged: () => false },
1194
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
1788
+ gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1789
+ backlog: fakeParentBacklog(edits),
1195
1790
  fs: fakeCloseAttemptFs(),
1196
1791
  });
1197
1792
 
@@ -1205,14 +1800,14 @@ describe('recomputeParent', () => {
1205
1800
  parentId: 'T-10',
1206
1801
  tasksById,
1207
1802
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1208
- backlog: { setStatus: () => {} },
1803
+ backlog: fakeParentBacklog(),
1209
1804
  fs: fakeCloseAttemptFs(),
1210
1805
  });
1211
1806
  const merged = recomputeParent({
1212
1807
  parentId: 'T-10',
1213
1808
  tasksById,
1214
1809
  gh: { isPrMerged: () => true, mergedState: () => 'merged' },
1215
- backlog: { setStatus: () => {} },
1810
+ backlog: fakeParentBacklog(),
1216
1811
  fs: fakeCloseAttemptFs(),
1217
1812
  });
1218
1813
 
@@ -1220,6 +1815,93 @@ describe('recomputeParent', () => {
1220
1815
  assert.deepEqual(merged, { id: 'T-10', from: TASK_STATUS.IN_PROGRESS, to: TASK_STATUS.DONE });
1221
1816
  });
1222
1817
 
1818
+ // ── T-68 fix 3: a parent reaching Done through THIS derivation gets the block too (§12: "every
1819
+ // task") — `runMaintenance`'s step 3 is not the only place `Done` is written. ──────────────────
1820
+
1821
+ it('a parent that reaches Done through this derivation gets its OWN «Registro de ejecución» block', () => {
1822
+ const tasksById = parentAndChild(TASK_STATUS.DONE);
1823
+ const appended: Array<{ id: string; notes: string }> = [];
1824
+ const edits: Array<[string, string]> = [];
1825
+ const result = recomputeParent({
1826
+ parentId: 'T-10',
1827
+ tasksById,
1828
+ gh: { isPrMerged: () => true, mergedState: () => 'merged' },
1829
+ backlog: {
1830
+ setStatus: (id, status) => edits.push([id, status]),
1831
+ appendNotes: (id, notes) => appended.push({ id, notes }),
1832
+ readNotes: () => null,
1833
+ comment: () => {},
1834
+ },
1835
+ fs: fakeCloseAttemptFs(),
1836
+ });
1837
+
1838
+ assert.deepEqual(result, { id: 'T-10', from: TASK_STATUS.IN_PROGRESS, to: TASK_STATUS.DONE });
1839
+ assert.equal(appended.length, 1, 'the parent gets its own record, exactly once');
1840
+ assert.equal(appended[0]?.id, 'T-10');
1841
+ assert.match(appended[0]?.notes ?? '', /^## Registro de ejecución/);
1842
+ // Written BEFORE `setStatus` — the same ordering fix 1 established for a leaf task, and for the
1843
+ // identical reason: a `Done` parent never re-enters this derivation with a status to correct.
1844
+ assert.deepEqual(edits, [['T-10', TASK_STATUS.DONE]]);
1845
+ });
1846
+
1847
+ it('appendNotes throws: the parent still moves to Done, with exactly one comment', () => {
1848
+ const tasksById = parentAndChild(TASK_STATUS.DONE);
1849
+ const edits: Array<[string, string]> = [];
1850
+ const appended: Array<{ id: string; notes: string }> = [];
1851
+ const comments: Array<{ id: string; comment: string }> = [];
1852
+ const result = recomputeParent({
1853
+ parentId: 'T-10',
1854
+ tasksById,
1855
+ gh: { isPrMerged: () => true, mergedState: () => 'merged' },
1856
+ backlog: {
1857
+ setStatus: (id, status) => edits.push([id, status]),
1858
+ appendNotes: (id, notes) => {
1859
+ appended.push({ id, notes });
1860
+ throw new Error('simulated appendNotes failure');
1861
+ },
1862
+ readNotes: () => null,
1863
+ comment: (id, comment) => comments.push({ id, comment }),
1864
+ },
1865
+ fs: fakeCloseAttemptFs(),
1866
+ });
1867
+
1868
+ assert.deepEqual(
1869
+ result,
1870
+ { id: 'T-10', from: TASK_STATUS.IN_PROGRESS, to: TASK_STATUS.DONE },
1871
+ 'a failed record write must never hold the parent Done transition hostage',
1872
+ );
1873
+ assert.deepEqual(edits, [['T-10', TASK_STATUS.DONE]]);
1874
+ assert.equal(comments.length, 1, 'exactly one comment records the gap');
1875
+ assert.match(comments[0]?.comment ?? '', /Registro de ejecución/);
1876
+ });
1877
+
1878
+ it('comment ALSO throws: recomputeParent itself never throws, and the parent still moves to Done', () => {
1879
+ const tasksById = parentAndChild(TASK_STATUS.DONE);
1880
+ const edits: Array<[string, string]> = [];
1881
+ let result: ReturnType<typeof recomputeParent> | undefined;
1882
+ assert.doesNotThrow(() => {
1883
+ result = recomputeParent({
1884
+ parentId: 'T-10',
1885
+ tasksById,
1886
+ gh: { isPrMerged: () => true, mergedState: () => 'merged' },
1887
+ backlog: {
1888
+ setStatus: (id, status) => edits.push([id, status]),
1889
+ appendNotes: () => {
1890
+ throw new Error('simulated appendNotes failure');
1891
+ },
1892
+ readNotes: () => null,
1893
+ comment: () => {
1894
+ throw new Error('simulated comment failure too');
1895
+ },
1896
+ },
1897
+ fs: fakeCloseAttemptFs(),
1898
+ });
1899
+ });
1900
+
1901
+ assert.deepEqual(result, { id: 'T-10', from: TASK_STATUS.IN_PROGRESS, to: TASK_STATUS.DONE });
1902
+ assert.deepEqual(edits, [['T-10', TASK_STATUS.DONE]]);
1903
+ });
1904
+
1223
1905
  // F1 [BLOCKER] (2026-09-08): `isPrMerged` collapses "confirmed not merged" and "gh outage" into
1224
1906
  // the SAME `false` — see `MaintenanceGh.mergedState`'s own JSDoc for the identical trap step 3b
1225
1907
  // was built to avoid. Before this fix, an all-Done parent whose own merge state is genuinely
@@ -1232,7 +1914,7 @@ describe('recomputeParent', () => {
1232
1914
  parentId: 'T-10',
1233
1915
  tasksById: parentAndChild(TASK_STATUS.DONE, TASK_STATUS.DONE),
1234
1916
  gh: { isPrMerged: () => false, mergedState: () => 'unknown' },
1235
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
1917
+ backlog: fakeParentBacklog(edits),
1236
1918
  fs: fakeCloseAttemptFs(),
1237
1919
  });
1238
1920
 
@@ -1240,26 +1922,12 @@ describe('recomputeParent', () => {
1240
1922
  assert.deepEqual(edits, [], 'the board Done status must survive an unanswerable gh outage');
1241
1923
  });
1242
1924
 
1243
- it('an unwired mergedState (caller predates T-8) is treated the same as an outage — derives nothing', () => {
1244
- const edits: Array<[string, string]> = [];
1245
- const result = recomputeParent({
1246
- parentId: 'T-10',
1247
- tasksById: parentAndChild(TASK_STATUS.DONE, TASK_STATUS.DONE),
1248
- gh: { isPrMerged: () => false },
1249
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
1250
- fs: fakeCloseAttemptFs(),
1251
- });
1252
-
1253
- assert.equal(result, null);
1254
- assert.deepEqual(edits, []);
1255
- });
1256
-
1257
1925
  it('is a no-op for a task with no children — a leaf has nothing to derive from', () => {
1258
1926
  const result = recomputeParent({
1259
1927
  parentId: 'T-10',
1260
1928
  tasksById: { 'T-10': makeTask({ id: 'T-10', status: TASK_STATUS.IN_PROGRESS }) },
1261
1929
  gh: { isPrMerged: () => true, mergedState: () => 'merged' },
1262
- backlog: { setStatus: () => {} },
1930
+ backlog: fakeParentBacklog(),
1263
1931
  fs: fakeCloseAttemptFs(),
1264
1932
  });
1265
1933
  assert.equal(result, null);
@@ -1269,8 +1937,8 @@ describe('recomputeParent', () => {
1269
1937
  const result = recomputeParent({
1270
1938
  parentId: 'T-99',
1271
1939
  tasksById: parentAndChild(TASK_STATUS.BLOCKED),
1272
- gh: { isPrMerged: () => false },
1273
- backlog: { setStatus: () => {} },
1940
+ gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1941
+ backlog: fakeParentBacklog(),
1274
1942
  fs: fakeCloseAttemptFs(),
1275
1943
  });
1276
1944
  assert.equal(result, null);
@@ -1295,7 +1963,7 @@ describe('recomputeParent', () => {
1295
1963
  parentId: 'T-10',
1296
1964
  tasksById: complexParentAndChild(TASK_STATUS.IN_PROGRESS),
1297
1965
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1298
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
1966
+ backlog: fakeParentBacklog(edits),
1299
1967
  fs,
1300
1968
  });
1301
1969
 
@@ -1318,7 +1986,7 @@ describe('recomputeParent', () => {
1318
1986
  parentId: 'T-10',
1319
1987
  tasksById: complexParentAndChild(TASK_STATUS.IN_PROGRESS),
1320
1988
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1321
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
1989
+ backlog: fakeParentBacklog(edits),
1322
1990
  fs: fakeCloseAttemptFs(['T-10']),
1323
1991
  });
1324
1992
 
@@ -1332,7 +2000,7 @@ describe('recomputeParent', () => {
1332
2000
  parentId: 'T-10',
1333
2001
  tasksById: complexParentAndChild(TASK_STATUS.BLOCKED),
1334
2002
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1335
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
2003
+ backlog: fakeParentBacklog(edits),
1336
2004
  fs: fakeCloseAttemptFs(['T-10']),
1337
2005
  });
1338
2006
 
@@ -1345,7 +2013,7 @@ describe('recomputeParent', () => {
1345
2013
  parentId: 'T-10',
1346
2014
  tasksById: complexParentAndChild(TASK_STATUS.IN_PROGRESS),
1347
2015
  gh: { isPrMerged: () => true, mergedState: () => 'merged' },
1348
- backlog: { setStatus: () => {} },
2016
+ backlog: fakeParentBacklog(),
1349
2017
  fs: fakeCloseAttemptFs(['T-10']),
1350
2018
  });
1351
2019
 
@@ -1369,7 +2037,7 @@ describe('recomputeParent', () => {
1369
2037
  parentId: 'T-10',
1370
2038
  tasksById: { 'T-10': parent(TASK_STATUS.IN_PROGRESS), 'T-11': child },
1371
2039
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1372
- backlog: { setStatus: () => {} },
2040
+ backlog: fakeParentBacklog(),
1373
2041
  fs,
1374
2042
  });
1375
2043
  assert.deepEqual(firstPass, {
@@ -1384,7 +2052,7 @@ describe('recomputeParent', () => {
1384
2052
  parentId: 'T-10',
1385
2053
  tasksById: { 'T-10': parent(TASK_STATUS.BLOCKED), 'T-11': child },
1386
2054
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1387
- backlog: { setStatus: () => {} },
2055
+ backlog: fakeParentBacklog(),
1388
2056
  fs,
1389
2057
  });
1390
2058
  assert.equal(
@@ -1405,7 +2073,7 @@ describe('recomputeParent', () => {
1405
2073
  parentId: 'T-10',
1406
2074
  tasksById: complexParentAndChild(TASK_STATUS.IN_PROGRESS),
1407
2075
  gh: { isPrMerged: () => false, mergedState: () => 'unknown' },
1408
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
2076
+ backlog: fakeParentBacklog(edits),
1409
2077
  fs,
1410
2078
  });
1411
2079
 
@@ -1431,7 +2099,7 @@ describe('recomputeParent', () => {
1431
2099
  parentId: 'T-10',
1432
2100
  tasksById: complexParentAndChild(TASK_STATUS.QUEUED),
1433
2101
  gh: { isPrMerged: () => false, mergedState: () => 'not-merged' },
1434
- backlog: { setStatus: (id, status) => edits.push([id, status]) },
2102
+ backlog: fakeParentBacklog(edits),
1435
2103
  fs,
1436
2104
  });
1437
2105
 
@@ -1540,6 +2208,12 @@ describe('runMaintenance — a dead worker never loses its work', () => {
1540
2208
  );
1541
2209
  });
1542
2210
 
2211
+ // T-20 point 4 (2026-09-11, hardened): `mergedState` is now REQUIRED on `MaintenanceGh`, so a
2212
+ // caller with no way to answer this question no longer type-checks — the fail-closed behaviour
2213
+ // moved from a runtime guard here to the compiler. What stays a runtime concern is the legitimate
2214
+ // third answer a WIRED collaborator can still give: `unknown`, from a real `gh` outage, which
2215
+ // must keep pushing through (rescue reasoning unchanged) rather than being read as a confirmed
2216
+ // merge.
1543
2217
  it('still saves a dead worker WIP when mergedState is unknown — refusing risks the only copy', () => {
1544
2218
  const collaborators = makeCollaborators({
1545
2219
  slots: [busySlot('dispatch-a', 'local', 'T-1', 999)],
@@ -1649,6 +2323,9 @@ describe('runMaintenance — a concurrent per-slot change made mid-pass', () =>
1649
2323
  );
1650
2324
  return false;
1651
2325
  },
2326
+ // Wired, answering "not merged" — this test is about the registry race, not the merged-branch
2327
+ // gate, so it must NOT trip T-20 point 4's fail-closed refusal for an unwired collaborator.
2328
+ mergedState: () => 'not-merged',
1652
2329
  };
1653
2330
 
1654
2331
  runMaintenance(collaborators.ctx);