@solidxai/core 0.1.9-beta.0 → 0.1.9-beta.2

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 (516) hide show
  1. package/dist/commands/fixtures/fixtures-setup.command.d.ts +1 -1
  2. package/dist/commands/fixtures/fixtures-tear-down.command.d.ts +1 -1
  3. package/dist/commands/info.command.d.ts +3 -3
  4. package/dist/commands/ingest.command.d.ts +2 -2
  5. package/dist/commands/mcp.command.d.ts +1 -1
  6. package/dist/commands/refresh-model.command.d.ts +1 -1
  7. package/dist/commands/remove-fields.command.d.ts +1 -1
  8. package/dist/commands/run-tests.command.d.ts +1 -1
  9. package/dist/commands/seed.command.d.ts +1 -1
  10. package/dist/commands/test-data.command.d.ts +1 -1
  11. package/dist/controllers/action-metadata.controller.d.ts +1 -1
  12. package/dist/controllers/agent-event.controller.d.ts +3 -3
  13. package/dist/controllers/agent-session.controller.d.ts +3 -3
  14. package/dist/controllers/ai-interaction.controller.d.ts +1 -1
  15. package/dist/controllers/dashboard-layout.controller.d.ts +3 -3
  16. package/dist/controllers/dashboard-question.controller.d.ts +1 -1
  17. package/dist/controllers/dashboard.controller.d.ts +1 -1
  18. package/dist/controllers/export-template.controller.d.ts +2 -2
  19. package/dist/controllers/field-metadata.controller.d.ts +1 -1
  20. package/dist/controllers/google-authentication.controller.d.ts +1 -1
  21. package/dist/controllers/import-transaction.controller.d.ts +1 -1
  22. package/dist/controllers/locale.controller.d.ts +3 -3
  23. package/dist/controllers/media.controller.d.ts +3 -3
  24. package/dist/controllers/menu-item-metadata.controller.d.ts +2 -2
  25. package/dist/controllers/model-metadata.controller.d.ts +1 -1
  26. package/dist/controllers/mq-message-queue.controller.d.ts +1 -1
  27. package/dist/controllers/mq-message.controller.d.ts +1 -1
  28. package/dist/controllers/permission-metadata.controller.d.ts +1 -1
  29. package/dist/controllers/role-metadata.controller.d.ts +1 -1
  30. package/dist/controllers/scheduled-job.controller.d.ts +3 -3
  31. package/dist/controllers/service.controller.d.ts +4 -4
  32. package/dist/controllers/setting.controller.d.ts +1 -1
  33. package/dist/controllers/test-queue.controller.d.ts +1 -1
  34. package/dist/controllers/test.controller.d.ts +2 -2
  35. package/dist/controllers/user-view-metadata.controller.d.ts +2 -2
  36. package/dist/controllers/user.controller.d.ts +2 -2
  37. package/dist/controllers/view-metadata.controller.d.ts +2 -2
  38. package/dist/decorators/extension-user-creation-provider.decorator.d.ts +3 -0
  39. package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -0
  40. package/dist/decorators/extension-user-creation-provider.decorator.js +7 -0
  41. package/dist/decorators/extension-user-creation-provider.decorator.js.map +1 -0
  42. package/dist/decorators/solid-password.decorator.d.ts +1 -1
  43. package/dist/dtos/create-dashboard-question.dto.d.ts +1 -1
  44. package/dist/dtos/create-dashboard.dto.d.ts +2 -2
  45. package/dist/dtos/create-import-transaction.dto.d.ts +1 -1
  46. package/dist/dtos/create-menu-item-metadata.dto.d.ts +1 -1
  47. package/dist/dtos/create-mq-message-queue.dto.d.ts +1 -1
  48. package/dist/dtos/create-permission-metadata.dto.d.ts +1 -1
  49. package/dist/dtos/create-role-metadata.dto.d.ts +3 -3
  50. package/dist/dtos/create-user.dto.d.ts +3 -2
  51. package/dist/dtos/create-user.dto.d.ts.map +1 -1
  52. package/dist/dtos/create-user.dto.js +8 -1
  53. package/dist/dtos/create-user.dto.js.map +1 -1
  54. package/dist/dtos/create-view-metadata.dto.d.ts +1 -1
  55. package/dist/dtos/dashboard-variable-selection-dynamic-query.dto.d.ts +1 -1
  56. package/dist/dtos/fetch-roles.dto.d.ts +1 -1
  57. package/dist/dtos/selection-dynamic-query.dto.d.ts +1 -1
  58. package/dist/dtos/solid-request-context.dto.d.ts +1 -1
  59. package/dist/dtos/sort-filter.dto.d.ts +1 -1
  60. package/dist/dtos/update-dashboard-question.dto.d.ts +1 -1
  61. package/dist/dtos/update-dashboard.dto.d.ts +2 -2
  62. package/dist/dtos/update-import-transaction.dto.d.ts +1 -1
  63. package/dist/dtos/update-menu-item-metadata.dto.d.ts +1 -1
  64. package/dist/dtos/update-mq-message-queue.dto.d.ts +1 -1
  65. package/dist/dtos/update-permission-metadata.dto.d.ts +1 -1
  66. package/dist/dtos/update-role-metadata.dto.d.ts +3 -3
  67. package/dist/dtos/update-user.dto.d.ts +3 -2
  68. package/dist/dtos/update-user.dto.d.ts.map +1 -1
  69. package/dist/dtos/update-user.dto.js +7 -1
  70. package/dist/dtos/update-user.dto.js.map +1 -1
  71. package/dist/dtos/update-view-metadata.dto.d.ts +1 -1
  72. package/dist/entities/action-metadata.entity.d.ts +4 -4
  73. package/dist/entities/agent-event.entity.d.ts +1 -1
  74. package/dist/entities/agent-event.entity.js +1 -1
  75. package/dist/entities/agent-event.entity.js.map +1 -1
  76. package/dist/entities/agent-session.entity.d.ts +1 -1
  77. package/dist/entities/ai-interaction.entity.d.ts +2 -2
  78. package/dist/entities/chatter-message-details.entity.d.ts +2 -2
  79. package/dist/entities/chatter-message.entity.d.ts +2 -2
  80. package/dist/entities/dashboard-layout.entity.d.ts +2 -2
  81. package/dist/entities/dashboard-question-sql-dataset-config.entity.d.ts +2 -2
  82. package/dist/entities/dashboard-question.entity.d.ts +3 -3
  83. package/dist/entities/dashboard-variable.entity.d.ts +2 -2
  84. package/dist/entities/dashboard.entity.d.ts +4 -4
  85. package/dist/entities/email-template.entity.d.ts +1 -1
  86. package/dist/entities/export-template.entity.d.ts +2 -2
  87. package/dist/entities/export-transaction.entity.d.ts +2 -2
  88. package/dist/entities/field-metadata.entity.d.ts +2 -2
  89. package/dist/entities/import-transaction-error-log.entity.d.ts +2 -2
  90. package/dist/entities/import-transaction.entity.d.ts +3 -3
  91. package/dist/entities/list-of-values.entity.d.ts +2 -2
  92. package/dist/entities/locale.entity.d.ts +1 -1
  93. package/dist/entities/media-storage-provider-metadata.entity.d.ts +1 -1
  94. package/dist/entities/media.entity.d.ts +4 -4
  95. package/dist/entities/menu-item-metadata.entity.d.ts +4 -4
  96. package/dist/entities/model-metadata.entity.d.ts +1 -1
  97. package/dist/entities/model-sequence.entity.d.ts +4 -4
  98. package/dist/entities/module-metadata.entity.d.ts +1 -1
  99. package/dist/entities/mq-message-queue.entity.d.ts +2 -2
  100. package/dist/entities/mq-message.entity.d.ts +2 -2
  101. package/dist/entities/permission-metadata.entity.d.ts +2 -2
  102. package/dist/entities/role-metadata.entity.d.ts +4 -4
  103. package/dist/entities/saved-filters.entity.d.ts +4 -4
  104. package/dist/entities/scheduled-job.entity.d.ts +1 -1
  105. package/dist/entities/security-rule.entity.d.ts +3 -3
  106. package/dist/entities/setting.entity.d.ts +2 -2
  107. package/dist/entities/sms-template.entity.d.ts +1 -1
  108. package/dist/entities/user-activity-history.entity.d.ts +2 -2
  109. package/dist/entities/user-api-key.entity.d.ts +1 -1
  110. package/dist/entities/user-view-metadata.entity.d.ts +3 -3
  111. package/dist/entities/user.entity.d.ts +4 -4
  112. package/dist/entities/view-metadata.entity.d.ts +4 -4
  113. package/dist/factories/mail.factory.d.ts +3 -3
  114. package/dist/factories/sms.factory.d.ts +3 -3
  115. package/dist/factories/whatsapp.factory.d.ts +3 -3
  116. package/dist/filters/http-exception.filter.d.ts +1 -1
  117. package/dist/guards/api-key.guard.d.ts +1 -1
  118. package/dist/helpers/error-mapper.service.d.ts +2 -2
  119. package/dist/helpers/field-crud-managers/BigIntFieldCrudManager.d.ts +1 -1
  120. package/dist/helpers/field-crud-managers/BooleanFieldCrudManager.d.ts +1 -1
  121. package/dist/helpers/field-crud-managers/ComputedFieldCrudManager.d.ts +2 -2
  122. package/dist/helpers/field-crud-managers/DateFieldCrudManager.d.ts +1 -1
  123. package/dist/helpers/field-crud-managers/DecimalFieldCrudManager.d.ts +1 -1
  124. package/dist/helpers/field-crud-managers/EmailFieldCrudManager.d.ts +1 -1
  125. package/dist/helpers/field-crud-managers/IntFieldCrudManager.d.ts +1 -1
  126. package/dist/helpers/field-crud-managers/JsonFieldCrudManager.d.ts +1 -1
  127. package/dist/helpers/field-crud-managers/LongTextFieldCrudManager.d.ts +1 -1
  128. package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.d.ts +1 -1
  129. package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts +1 -1
  130. package/dist/helpers/field-crud-managers/MediaFieldCrudManager.d.ts +1 -1
  131. package/dist/helpers/field-crud-managers/NoOpsFieldCrudManager.d.ts +1 -1
  132. package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.d.ts +1 -1
  133. package/dist/helpers/field-crud-managers/PasswordFieldCrudManager.d.ts +2 -2
  134. package/dist/helpers/field-crud-managers/RichTextFieldCrudManager.d.ts +1 -1
  135. package/dist/helpers/field-crud-managers/SelectionDynamicFieldCrudManager.d.ts +2 -2
  136. package/dist/helpers/field-crud-managers/SelectionStaticFieldCrudManager.d.ts +2 -2
  137. package/dist/helpers/field-crud-managers/ShortTextFieldCrudManager.d.ts +1 -1
  138. package/dist/helpers/field-crud-managers/UUIDFieldCrudManager.d.ts +1 -1
  139. package/dist/helpers/model-metadata-helper.service.d.ts +1 -1
  140. package/dist/helpers/module-metadata-helper.service.d.ts +1 -1
  141. package/dist/helpers/module.helper.d.ts.map +1 -1
  142. package/dist/helpers/module.helper.js +3 -3
  143. package/dist/helpers/module.helper.js.map +1 -1
  144. package/dist/helpers/schematic.service.d.ts.map +1 -1
  145. package/dist/helpers/schematic.service.js +1 -1
  146. package/dist/helpers/schematic.service.js.map +1 -1
  147. package/dist/helpers/solid-core-error-codes-provider.service.d.ts +1 -1
  148. package/dist/helpers/solid-registry.d.ts +11 -5
  149. package/dist/helpers/solid-registry.d.ts.map +1 -1
  150. package/dist/helpers/solid-registry.js +15 -2
  151. package/dist/helpers/solid-registry.js.map +1 -1
  152. package/dist/index.d.ts +2 -0
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +2 -0
  155. package/dist/index.js.map +1 -1
  156. package/dist/interfaces.d.ts +11 -3
  157. package/dist/interfaces.d.ts.map +1 -1
  158. package/dist/interfaces.js.map +1 -1
  159. package/dist/jobs/database/api-email-publisher-database.service.d.ts +4 -4
  160. package/dist/jobs/database/api-email-queue-options-database.d.ts +1 -1
  161. package/dist/jobs/database/api-email-subscriber-database.service.d.ts +7 -7
  162. package/dist/jobs/database/chatter-queue-publisher-database.service.d.ts +1 -1
  163. package/dist/jobs/database/chatter-queue-subscriber-database.service.d.ts +4 -4
  164. package/dist/jobs/database/computed-field-evaluation-publisher-database.service.d.ts +5 -5
  165. package/dist/jobs/database/computed-field-evaluation-subscriber-database.service.d.ts +8 -8
  166. package/dist/jobs/database/generate-code-publisher-database.service.d.ts +1 -1
  167. package/dist/jobs/database/generate-code-subscriber-database.service.d.ts +4 -4
  168. package/dist/jobs/database/msg91-sms-publisher-database.service.d.ts +4 -4
  169. package/dist/jobs/database/msg91-sms-queue-database-options.d.ts +1 -1
  170. package/dist/jobs/database/msg91-sms-subscriber-database.service.d.ts +7 -7
  171. package/dist/jobs/database/msg91-whatsapp-publisher-database.service.d.ts +4 -4
  172. package/dist/jobs/database/msg91-whatsapp-queue-options-database.d.ts +1 -1
  173. package/dist/jobs/database/msg91-whatsapp-subscriber-database.service.d.ts +7 -7
  174. package/dist/jobs/database/otp-publisher-database.service.d.ts +4 -4
  175. package/dist/jobs/database/otp-queue-options-database.d.ts +1 -1
  176. package/dist/jobs/database/otp-subscriber-database.service.d.ts +7 -7
  177. package/dist/jobs/database/smtp-email-publisher-database.service.d.ts +4 -4
  178. package/dist/jobs/database/smtp-email-queue-options-database.d.ts +1 -1
  179. package/dist/jobs/database/smtp-email-subscriber-database.service.d.ts +7 -7
  180. package/dist/jobs/database/test-queue-publisher-database.service.d.ts +1 -1
  181. package/dist/jobs/database/test-queue-subscriber-database.service.d.ts +3 -3
  182. package/dist/jobs/database/three60-whatsapp-publisher-database.service.d.ts +4 -4
  183. package/dist/jobs/database/three60-whatsapp-queue-options-database.d.ts +1 -1
  184. package/dist/jobs/database/three60-whatsapp-subscriber-database.service.d.ts +7 -7
  185. package/dist/jobs/database/trigger-mcp-client-publisher-database.service.d.ts +4 -4
  186. package/dist/jobs/database/trigger-mcp-client-queue-options.d.ts +1 -1
  187. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts +8 -8
  188. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.d.ts.map +1 -1
  189. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js +2 -2
  190. package/dist/jobs/database/trigger-mcp-client-subscriber-database.service.js.map +1 -1
  191. package/dist/jobs/database/twilio-sms-publisher-database.service.d.ts +4 -4
  192. package/dist/jobs/database/twilio-sms-queue-database-options.d.ts +1 -1
  193. package/dist/jobs/database/twilio-sms-subscriber-database.service.d.ts +7 -7
  194. package/dist/jobs/rabbitmq/api-email-publisher.service.d.ts +3 -3
  195. package/dist/jobs/rabbitmq/api-email-subscriber.service.d.ts +4 -4
  196. package/dist/jobs/rabbitmq/chatter-queue-publisher.service.d.ts +1 -1
  197. package/dist/jobs/rabbitmq/chatter-queue-subscriber.service.d.ts +3 -3
  198. package/dist/jobs/rabbitmq/computed-field-evaluation-publisher.service.d.ts +5 -5
  199. package/dist/jobs/rabbitmq/computed-field-evaluation-subscriber.service.d.ts +8 -8
  200. package/dist/jobs/rabbitmq/generate-code-publisher.service.d.ts +1 -1
  201. package/dist/jobs/rabbitmq/generate-code-subscriber.service.d.ts +7 -7
  202. package/dist/jobs/rabbitmq/msg91-otp-publisher.service.d.ts +3 -3
  203. package/dist/jobs/rabbitmq/msg91-otp-subscriber.service.d.ts +5 -5
  204. package/dist/jobs/rabbitmq/msg91-sms-publisher.service.d.ts +3 -3
  205. package/dist/jobs/rabbitmq/msg91-sms-subscriber.service.d.ts +5 -5
  206. package/dist/jobs/rabbitmq/msg91-whatsapp-publisher.service.d.ts +3 -3
  207. package/dist/jobs/rabbitmq/msg91-whatsapp-subscriber.service.d.ts +4 -4
  208. package/dist/jobs/rabbitmq/smtp-email-publisher.service.d.ts +3 -3
  209. package/dist/jobs/rabbitmq/smtp-email-subscriber.service.d.ts +4 -4
  210. package/dist/jobs/rabbitmq/test-queue-publisher.service.d.ts +1 -1
  211. package/dist/jobs/rabbitmq/test-queue-subscriber.service.d.ts +2 -2
  212. package/dist/jobs/rabbitmq/three60-whatsapp-publisher.service.d.ts +3 -3
  213. package/dist/jobs/rabbitmq/three60-whatsapp-subscriber.service.d.ts +5 -5
  214. package/dist/jobs/rabbitmq/trigger-mcp-client-publisher.service.d.ts +3 -3
  215. package/dist/jobs/rabbitmq/trigger-mcp-client-subscriber.service.d.ts +6 -6
  216. package/dist/jobs/rabbitmq/twilio-sms-publisher.service.d.ts +3 -3
  217. package/dist/jobs/rabbitmq/twilio-sms-subscriber.service.d.ts +6 -6
  218. package/dist/jobs/redis/api-email-publisher-redis.service.d.ts +1 -1
  219. package/dist/jobs/redis/api-email-subscriber-redis.service.d.ts +2 -2
  220. package/dist/jobs/redis/chatter-queue-publisher-redis.service.d.ts +1 -1
  221. package/dist/jobs/redis/chatter-queue-subscriber-redis.service.d.ts +2 -2
  222. package/dist/jobs/redis/computed-field-evaluation-publisher-redis.service.d.ts +2 -2
  223. package/dist/jobs/redis/computed-field-evaluation-subscriber-redis.service.d.ts +4 -4
  224. package/dist/jobs/redis/generate-code-publisher-redis.service.d.ts +1 -1
  225. package/dist/jobs/redis/generate-code-subscriber-redis.service.d.ts +3 -3
  226. package/dist/jobs/redis/msg91-otp-publisher-redis.service.d.ts +1 -1
  227. package/dist/jobs/redis/msg91-otp-subscriber-redis.service.d.ts +3 -3
  228. package/dist/jobs/redis/msg91-sms-publisher-redis.service.d.ts +1 -1
  229. package/dist/jobs/redis/msg91-sms-subscriber-redis.service.d.ts +3 -3
  230. package/dist/jobs/redis/msg91-whatsapp-publisher-redis.service.d.ts +1 -1
  231. package/dist/jobs/redis/msg91-whatsapp-subscriber-redis.service.d.ts +2 -2
  232. package/dist/jobs/redis/smtp-email-publisher-redis.service.d.ts +1 -1
  233. package/dist/jobs/redis/smtp-email-subscriber-redis.service.d.ts +2 -2
  234. package/dist/jobs/redis/test-queue-publisher-redis.service.d.ts +1 -1
  235. package/dist/jobs/redis/test-queue-subscriber-redis.service.d.ts +2 -2
  236. package/dist/jobs/redis/three60-whatsapp-publisher-redis.service.d.ts +1 -1
  237. package/dist/jobs/redis/three60-whatsapp-subscriber-redis.service.d.ts +2 -2
  238. package/dist/jobs/redis/trigger-mcp-client-publisher-redis.service.d.ts +1 -1
  239. package/dist/jobs/redis/trigger-mcp-client-subscriber-redis.service.d.ts +2 -2
  240. package/dist/jobs/redis/twilio-sms-publisher-redis.service.d.ts +1 -1
  241. package/dist/jobs/redis/twilio-sms-subscriber-redis.service.d.ts +3 -3
  242. package/dist/mappers/dashboard-mapper.d.ts +1 -1
  243. package/dist/mappers/list-of-values-mapper.d.ts +1 -1
  244. package/dist/repository/action-metadata.repository.d.ts +2 -2
  245. package/dist/repository/agent-event.repository.d.ts +2 -2
  246. package/dist/repository/agent-session.repository.d.ts +2 -2
  247. package/dist/repository/ai-interaction.repository.d.ts +2 -2
  248. package/dist/repository/chatter-message-details.repository.d.ts +2 -2
  249. package/dist/repository/chatter-message.repository.d.ts +2 -2
  250. package/dist/repository/dashboard-layout.repository.d.ts +2 -2
  251. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts +2 -2
  252. package/dist/repository/dashboard-question-sql-dataset-config.repository.d.ts.map +1 -1
  253. package/dist/repository/dashboard-question-sql-dataset-config.repository.js +2 -2
  254. package/dist/repository/dashboard-question-sql-dataset-config.repository.js.map +1 -1
  255. package/dist/repository/dashboard-question.repository.d.ts +2 -2
  256. package/dist/repository/dashboard-question.repository.d.ts.map +1 -1
  257. package/dist/repository/dashboard-question.repository.js +2 -2
  258. package/dist/repository/dashboard-question.repository.js.map +1 -1
  259. package/dist/repository/dashboard-variable.repository.d.ts +2 -2
  260. package/dist/repository/dashboard-variable.repository.d.ts.map +1 -1
  261. package/dist/repository/dashboard-variable.repository.js +2 -2
  262. package/dist/repository/dashboard-variable.repository.js.map +1 -1
  263. package/dist/repository/dashboard.repository.d.ts +2 -2
  264. package/dist/repository/email-template.repository.d.ts +2 -2
  265. package/dist/repository/email-template.repository.d.ts.map +1 -1
  266. package/dist/repository/email-template.repository.js +2 -2
  267. package/dist/repository/email-template.repository.js.map +1 -1
  268. package/dist/repository/export-template.repository.d.ts +2 -2
  269. package/dist/repository/export-template.repository.d.ts.map +1 -1
  270. package/dist/repository/export-template.repository.js +2 -2
  271. package/dist/repository/export-template.repository.js.map +1 -1
  272. package/dist/repository/export-transaction.repository.d.ts +2 -2
  273. package/dist/repository/export-transaction.repository.d.ts.map +1 -1
  274. package/dist/repository/export-transaction.repository.js +2 -2
  275. package/dist/repository/export-transaction.repository.js.map +1 -1
  276. package/dist/repository/field-metadata.repository.d.ts +1 -1
  277. package/dist/repository/import-transaction-error-log.repository.d.ts +2 -2
  278. package/dist/repository/import-transaction-error-log.repository.d.ts.map +1 -1
  279. package/dist/repository/import-transaction-error-log.repository.js +2 -2
  280. package/dist/repository/import-transaction-error-log.repository.js.map +1 -1
  281. package/dist/repository/import-transaction.repository.d.ts +2 -2
  282. package/dist/repository/import-transaction.repository.d.ts.map +1 -1
  283. package/dist/repository/import-transaction.repository.js +2 -2
  284. package/dist/repository/import-transaction.repository.js.map +1 -1
  285. package/dist/repository/list-of-values.repository.d.ts +2 -2
  286. package/dist/repository/list-of-values.repository.d.ts.map +1 -1
  287. package/dist/repository/list-of-values.repository.js +2 -2
  288. package/dist/repository/list-of-values.repository.js.map +1 -1
  289. package/dist/repository/locale.repository.d.ts +2 -2
  290. package/dist/repository/locale.repository.d.ts.map +1 -1
  291. package/dist/repository/locale.repository.js +2 -2
  292. package/dist/repository/locale.repository.js.map +1 -1
  293. package/dist/repository/media-storage-provider-metadata.repository.d.ts +1 -1
  294. package/dist/repository/media.repository.d.ts +2 -2
  295. package/dist/repository/menu-item-metadata.repository.d.ts +2 -2
  296. package/dist/repository/menu-item-metadata.repository.d.ts.map +1 -1
  297. package/dist/repository/menu-item-metadata.repository.js +2 -2
  298. package/dist/repository/menu-item-metadata.repository.js.map +1 -1
  299. package/dist/repository/model-metadata.repository.d.ts +1 -1
  300. package/dist/repository/model-metadata.repository.d.ts.map +1 -1
  301. package/dist/repository/model-metadata.repository.js +2 -2
  302. package/dist/repository/model-metadata.repository.js.map +1 -1
  303. package/dist/repository/model-sequence.repository.d.ts +3 -3
  304. package/dist/repository/module-metadata.repository.d.ts +1 -1
  305. package/dist/repository/module-metadata.repository.d.ts.map +1 -1
  306. package/dist/repository/module-metadata.repository.js +2 -2
  307. package/dist/repository/module-metadata.repository.js.map +1 -1
  308. package/dist/repository/mq-message-queue.repository.d.ts +2 -2
  309. package/dist/repository/mq-message-queue.repository.d.ts.map +1 -1
  310. package/dist/repository/mq-message-queue.repository.js +2 -2
  311. package/dist/repository/mq-message-queue.repository.js.map +1 -1
  312. package/dist/repository/mq-message.repository.d.ts +2 -2
  313. package/dist/repository/mq-message.repository.d.ts.map +1 -1
  314. package/dist/repository/mq-message.repository.js +2 -2
  315. package/dist/repository/mq-message.repository.js.map +1 -1
  316. package/dist/repository/permission-metadata.repository.d.ts +2 -2
  317. package/dist/repository/permission-metadata.repository.d.ts.map +1 -1
  318. package/dist/repository/permission-metadata.repository.js +2 -2
  319. package/dist/repository/permission-metadata.repository.js.map +1 -1
  320. package/dist/repository/role-metadata.repository.d.ts +2 -2
  321. package/dist/repository/role-metadata.repository.d.ts.map +1 -1
  322. package/dist/repository/role-metadata.repository.js +2 -2
  323. package/dist/repository/role-metadata.repository.js.map +1 -1
  324. package/dist/repository/saved-filters.repository.d.ts +2 -2
  325. package/dist/repository/scheduled-job.repository.d.ts +3 -3
  326. package/dist/repository/security-rule.repository.d.ts +7 -7
  327. package/dist/repository/setting.repository.d.ts +2 -2
  328. package/dist/repository/setting.repository.d.ts.map +1 -1
  329. package/dist/repository/setting.repository.js +2 -2
  330. package/dist/repository/setting.repository.js.map +1 -1
  331. package/dist/repository/sms-template.repository.d.ts +2 -2
  332. package/dist/repository/sms-template.repository.d.ts.map +1 -1
  333. package/dist/repository/sms-template.repository.js +2 -2
  334. package/dist/repository/sms-template.repository.js.map +1 -1
  335. package/dist/repository/solid-base.repository.d.ts +2 -2
  336. package/dist/repository/user-activity-history.repository.d.ts +2 -2
  337. package/dist/repository/user-activity-history.repository.d.ts.map +1 -1
  338. package/dist/repository/user-activity-history.repository.js +2 -2
  339. package/dist/repository/user-activity-history.repository.js.map +1 -1
  340. package/dist/repository/user-api-key.repository.d.ts +2 -2
  341. package/dist/repository/user-view-metadata.repository.d.ts +2 -2
  342. package/dist/repository/user-view-metadata.repository.d.ts.map +1 -1
  343. package/dist/repository/user-view-metadata.repository.js +2 -2
  344. package/dist/repository/user-view-metadata.repository.js.map +1 -1
  345. package/dist/repository/user.repository.d.ts +2 -2
  346. package/dist/repository/view-metadata.repository.d.ts +2 -2
  347. package/dist/seeders/module-metadata-seeder.service.d.ts +17 -14
  348. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  349. package/dist/seeders/module-metadata-seeder.service.js +65 -38
  350. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  351. package/dist/seeders/module-test-data.service.d.ts +1 -1
  352. package/dist/seeders/module-test-data.service.d.ts.map +1 -1
  353. package/dist/seeders/module-test-data.service.js +1 -8
  354. package/dist/seeders/module-test-data.service.js.map +1 -1
  355. package/dist/seeders/permission-metadata-seeder.service.d.ts +2 -2
  356. package/dist/seeders/seed-data/solid-core-metadata.json +11 -5
  357. package/dist/seeders/system-fields-seeder.service.d.ts +3 -3
  358. package/dist/services/action-metadata.service.d.ts +2 -2
  359. package/dist/services/agent-event.service.d.ts +2 -2
  360. package/dist/services/agent-session.service.d.ts +2 -2
  361. package/dist/services/ai-interaction.service.d.ts +4 -4
  362. package/dist/services/api-key.service.d.ts +6 -6
  363. package/dist/services/authentication.service.d.ts +10 -6
  364. package/dist/services/authentication.service.d.ts.map +1 -1
  365. package/dist/services/authentication.service.js +25 -21
  366. package/dist/services/authentication.service.js.map +1 -1
  367. package/dist/services/chatter-message-details.service.d.ts +2 -2
  368. package/dist/services/chatter-message.service.d.ts +7 -7
  369. package/dist/services/computed-fields/entity/alpha-num-external-id-computed-field-provider.d.ts +3 -3
  370. package/dist/services/computed-fields/entity/concat-entity-computed-field-provider.service.d.ts +3 -3
  371. package/dist/services/computed-fields/entity/noops-entity-computed-field-provider.service.d.ts +2 -2
  372. package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts +3 -3
  373. package/dist/services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service.d.ts +2 -2
  374. package/dist/services/crud-helper.service.d.ts +1 -1
  375. package/dist/services/crud.service.d.ts +4 -1
  376. package/dist/services/crud.service.d.ts.map +1 -1
  377. package/dist/services/crud.service.js +52 -3
  378. package/dist/services/crud.service.js.map +1 -1
  379. package/dist/services/dashboard-layout.service.d.ts +4 -4
  380. package/dist/services/dashboard-question-sql-dataset-config.service.d.ts +2 -2
  381. package/dist/services/dashboard-question.service.d.ts +3 -3
  382. package/dist/services/dashboard-question.service.js.map +1 -1
  383. package/dist/services/dashboard-variable.service.d.ts +2 -2
  384. package/dist/services/dashboard.service.d.ts +7 -7
  385. package/dist/services/email-template.service.d.ts +1 -1
  386. package/dist/services/export-template.service.d.ts +5 -5
  387. package/dist/services/export-transaction.service.d.ts +7 -7
  388. package/dist/services/field-metadata.service.d.ts +5 -5
  389. package/dist/services/fixtures.service.d.ts +1 -1
  390. package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts +1 -1
  391. package/dist/services/genai/mcp-handlers/solid-add-question-to-dashboard-mcp-handler.service.d.ts +1 -1
  392. package/dist/services/genai/mcp-handlers/solid-add-variable-to-dashboard-mcp-handler.service.d.ts +2 -2
  393. package/dist/services/genai/mcp-handlers/solid-create-dashboard-mcp-handler.service.d.ts +1 -1
  394. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-mcp-handler.service.d.ts +1 -1
  395. package/dist/services/genai/mcp-handlers/solid-create-dashboard-question-sql-dataset-config-mcp-handler.service.d.ts +1 -1
  396. package/dist/services/genai/mcp-handlers/solid-create-dashboard-widget-mcp-handler.service.d.ts +1 -1
  397. package/dist/services/import-transaction-error-log.service.d.ts +2 -2
  398. package/dist/services/import-transaction.service.d.ts +6 -6
  399. package/dist/services/list-of-values.service.d.ts +4 -4
  400. package/dist/services/locale.service.d.ts +4 -4
  401. package/dist/services/mail/elastic-email.service.d.ts +1 -1
  402. package/dist/services/mail/smtp-email.service.d.ts +1 -1
  403. package/dist/services/media-storage-provider-metadata.service.d.ts +1 -1
  404. package/dist/services/media.service.d.ts +8 -8
  405. package/dist/services/mediaStorageProviders/file-s3-storage-provider.d.ts +5 -5
  406. package/dist/services/mediaStorageProviders/file-storage-provider.d.ts +5 -5
  407. package/dist/services/menu-item-metadata.service.d.ts +4 -4
  408. package/dist/services/model-metadata.service.d.ts +4 -4
  409. package/dist/services/model-sequence.service.d.ts +1 -1
  410. package/dist/services/module-metadata.service.d.ts +4 -4
  411. package/dist/services/mq-message-queue.service.d.ts +2 -2
  412. package/dist/services/mq-message.service.d.ts +2 -2
  413. package/dist/services/permission-metadata.service.d.ts +2 -2
  414. package/dist/services/question-data-providers/chartjs-sql-data-provider.service.d.ts +2 -2
  415. package/dist/services/question-data-providers/helpers.d.ts +1 -1
  416. package/dist/services/question-data-providers/prime-react-datatable-sql-data-provider.service.d.ts +2 -2
  417. package/dist/services/question-data-providers/prime-react-meter-group-sql-data-provider.service.d.ts +2 -2
  418. package/dist/services/queues/publisher-factory.service.d.ts +1 -1
  419. package/dist/services/request-context.service.d.ts +2 -2
  420. package/dist/services/role-metadata.service.d.ts +3 -3
  421. package/dist/services/saved-filters.service.d.ts +2 -2
  422. package/dist/services/scheduled-job.service.d.ts +3 -3
  423. package/dist/services/scheduled-jobs/scheduled-job.interface.d.ts +1 -1
  424. package/dist/services/scheduled-jobs/scheduler.interface.d.ts +1 -1
  425. package/dist/services/scheduled-jobs/scheduler.service.d.ts +3 -3
  426. package/dist/services/security-rule.service.d.ts +3 -3
  427. package/dist/services/security-rule.service.d.ts.map +1 -1
  428. package/dist/services/security-rule.service.js +3 -3
  429. package/dist/services/security-rule.service.js.map +1 -1
  430. package/dist/services/selection-providers/list-of-dashboard-question-providers-selection-provider.service.d.ts +1 -1
  431. package/dist/services/selection-providers/list-of-dashboard-variable-providers-selection-provider.service.d.ts +1 -1
  432. package/dist/services/selection-providers/list-of-models-selection-provider.service.d.ts +1 -1
  433. package/dist/services/selection-providers/list-of-scheduled-jobs-selection-provider.service.d.ts +1 -1
  434. package/dist/services/setting.service.d.ts +5 -5
  435. package/dist/services/settings/default-settings-provider.service.d.ts +1 -1
  436. package/dist/services/short-url/tiny-url.service.d.ts +1 -1
  437. package/dist/services/sms/Msg91BaseSMSService.d.ts +1 -1
  438. package/dist/services/sms/Msg91OTPService.d.ts +1 -1
  439. package/dist/services/sms/Msg91SMSService.d.ts +1 -1
  440. package/dist/services/sms/TwilioSMSService.d.ts +1 -1
  441. package/dist/services/sms-template.service.d.ts +1 -1
  442. package/dist/services/solid-introspect.service.d.ts +9 -8
  443. package/dist/services/solid-introspect.service.d.ts.map +1 -1
  444. package/dist/services/solid-introspect.service.js +11 -0
  445. package/dist/services/solid-introspect.service.js.map +1 -1
  446. package/dist/services/user-activity-history.service.d.ts +3 -3
  447. package/dist/services/user-view-metadata.service.d.ts +4 -4
  448. package/dist/services/user.service.d.ts +3 -3
  449. package/dist/services/view-metadata.service.d.ts +4 -4
  450. package/dist/services/whatsapp/Msg91WhatsappService.d.ts +1 -1
  451. package/dist/services/whatsapp/Three60WhatsappService.d.ts +1 -1
  452. package/dist/subscribers/audit.subscriber.d.ts +4 -4
  453. package/dist/subscribers/computed-entity-field.subscriber.d.ts +2 -2
  454. package/dist/subscribers/created-by-updated-by.subscriber.d.ts +1 -1
  455. package/dist/subscribers/dashboard-question-sql-dataset-config.subscriber.d.ts +3 -3
  456. package/dist/subscribers/dashboard-question.subscriber.d.ts +3 -3
  457. package/dist/subscribers/dashboard-variable.subscriber.d.ts +3 -3
  458. package/dist/subscribers/dashboard.subscriber.d.ts +3 -3
  459. package/dist/subscribers/list-of-values.subscriber.d.ts +3 -3
  460. package/dist/subscribers/model-metadata.subscriber.d.ts +1 -1
  461. package/dist/subscribers/scheduled-job.subscriber.d.ts +3 -3
  462. package/dist/subscribers/security-rule.subscriber.d.ts +3 -3
  463. package/dist/subscribers/view-metadata.subscriber.d.ts +2 -2
  464. package/dist/testing/contracts/testing-metadata.types.d.ts +1 -0
  465. package/dist/testing/contracts/testing-metadata.types.d.ts.map +1 -1
  466. package/dist/testing/contracts/testing-metadata.types.js.map +1 -1
  467. package/dist/testing/steps/ui/assertions.step.d.ts.map +1 -1
  468. package/dist/testing/steps/ui/assertions.step.js +8 -0
  469. package/dist/testing/steps/ui/assertions.step.js.map +1 -1
  470. package/dist/testing/steps/ui/form.step.d.ts.map +1 -1
  471. package/dist/testing/steps/ui/form.step.js +49 -0
  472. package/dist/testing/steps/ui/form.step.js.map +1 -1
  473. package/package.json +7 -6
  474. package/src/decorators/extension-user-creation-provider.decorator.ts +5 -0
  475. package/src/dtos/create-user.dto.ts +4 -0
  476. package/src/dtos/update-user.dto.ts +4 -0
  477. package/src/entities/agent-event.entity.ts +1 -1
  478. package/src/helpers/module.helper.ts +4 -6
  479. package/src/helpers/schematic.service.ts +7 -1
  480. package/src/helpers/solid-registry.ts +19 -1
  481. package/src/index.ts +2 -0
  482. package/src/interfaces.ts +9 -0
  483. package/src/jobs/database/trigger-mcp-client-subscriber-database.service.ts +1 -1
  484. package/src/repository/dashboard-question-sql-dataset-config.repository.ts +1 -1
  485. package/src/repository/dashboard-question.repository.ts +1 -1
  486. package/src/repository/dashboard-variable.repository.ts +1 -1
  487. package/src/repository/email-template.repository.ts +1 -1
  488. package/src/repository/export-template.repository.ts +2 -1
  489. package/src/repository/export-transaction.repository.ts +1 -1
  490. package/src/repository/import-transaction-error-log.repository.ts +1 -1
  491. package/src/repository/import-transaction.repository.ts +1 -1
  492. package/src/repository/list-of-values.repository.ts +1 -1
  493. package/src/repository/locale.repository.ts +1 -1
  494. package/src/repository/menu-item-metadata.repository.ts +1 -1
  495. package/src/repository/model-metadata.repository.ts +1 -1
  496. package/src/repository/module-metadata.repository.ts +1 -1
  497. package/src/repository/mq-message-queue.repository.ts +2 -1
  498. package/src/repository/mq-message.repository.ts +1 -1
  499. package/src/repository/permission-metadata.repository.ts +1 -1
  500. package/src/repository/role-metadata.repository.ts +1 -1
  501. package/src/repository/setting.repository.ts +1 -1
  502. package/src/repository/sms-template.repository.ts +1 -1
  503. package/src/repository/user-activity-history.repository.ts +1 -1
  504. package/src/repository/user-view-metadata.repository.ts +1 -1
  505. package/src/seeders/module-metadata-seeder.service.ts +50 -25
  506. package/src/seeders/module-test-data.service.ts +1 -8
  507. package/src/seeders/seed-data/solid-core-metadata.json +11 -5
  508. package/src/services/authentication.service.ts +28 -31
  509. package/src/services/crud.service.ts +22 -2
  510. package/src/services/dashboard-question.service.ts +1 -1
  511. package/src/services/security-rule.service.ts +1 -1
  512. package/src/services/solid-introspect.service.ts +13 -0
  513. package/src/testing/contracts/testing-metadata.types.ts +1 -0
  514. package/src/testing/steps/ui/assertions.step.ts +9 -0
  515. package/src/testing/steps/ui/form.step.ts +19 -0
  516. package/tsconfig.json +3 -0
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { UserActivityHistory } from 'src';
2
+ import { UserActivityHistory } from '../entities/user-activity-history.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -1,5 +1,5 @@
1
1
  import { Injectable } from '@nestjs/common';
2
- import { UserViewMetadata } from 'src';
2
+ import { UserViewMetadata } from '../entities/user-view-metadata.entity';
3
3
  import { RequestContextService } from 'src/services/request-context.service';
4
4
  import { DataSource } from 'typeorm';
5
5
  import { SecurityRuleRepository } from './security-rule.repository';
@@ -31,7 +31,13 @@ import { ViewMetadataService } from '../services/view-metadata.service';
31
31
  import solidCoreMetadata from './seed-data/solid-core-metadata.json';
32
32
  import { SystemFieldsSeederService } from './system-fields-seeder.service';
33
33
  // import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
34
- import { ActionMetadata, DEFAULT_SA_PASSWORD, MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL, MenuItemMetadata, ModuleMetadata, RoleMetadata, SignUpDto } from 'src';
34
+ import { ActionMetadata } from '../entities/action-metadata.entity';
35
+ import { MenuItemMetadata } from '../entities/menu-item-metadata.entity';
36
+ import { ModuleMetadata } from '../entities/module-metadata.entity';
37
+ import { RoleMetadata } from '../entities/role-metadata.entity';
38
+ import { MENU_ROLE_JOIN_TABLE_NAME, MENU_ROLE_JOIN_TABLE_NAME_MENU_COL, MENU_ROLE_JOIN_TABLE_NAME_ROLE_COL } from '../dtos/create-menu-item-metadata.dto';
39
+ import { DEFAULT_SA_PASSWORD } from '../dtos/create-user.dto';
40
+ import { SignUpDto } from '../dtos/sign-up.dto';
35
41
  import { ADMIN_ROLE_NAME, CreateRoleMetadataDto } from 'src/dtos/create-role-metadata.dto';
36
42
  import { CreateSavedFiltersDto } from 'src/dtos/create-saved-filters.dto';
37
43
  import { CreateScheduledJobDto } from 'src/dtos/create-scheduled-job.dto';
@@ -151,6 +157,11 @@ export class ModuleMetadataSeederService {
151
157
  const moduleModelFieldCounts = await this.seedModuleModelFields(moduleMetadata);
152
158
  console.log(`${this.formatSeedResult(moduleMetadata.name, 'Module/Model/Fields', moduleModelFieldCounts)}`);
153
159
 
160
+ currentStep = 'seedPermissions';
161
+ this.logger.log(`Seeding Permissions`);
162
+ const permissionCounts = await this.seedPermissions(overallMetadata);
163
+ console.log(`${this.formatSeedResult(moduleMetadata.name, 'Permissions', permissionCounts)}`);
164
+
154
165
  currentStep = 'seedRoles';
155
166
  this.logger.log(`Seeding Roles`);
156
167
  const roleCounts = await this.seedRoles(overallMetadata);
@@ -282,6 +293,7 @@ export class ModuleMetadataSeederService {
282
293
  this.logger.debug(`About to add all permissions to the Admin role`);
283
294
  await this.roleService.addAllPermissionsToRole(ADMIN_ROLE_NAME);
284
295
 
296
+ // The below code is commented out for now as we are including permissions for these roles from the seeder json for the Internal and Public role.
285
297
  // 2. Give permissions to the Internal / Public role.
286
298
  // this.logger.debug(`About to add all permissions to the Internal role`);
287
299
  // await this.roleService.addPermissionToRole(INTERNAL_ROLE_NAME, INTERNAL_ROLE_PERMISSIONS);
@@ -379,6 +391,14 @@ export class ModuleMetadataSeederService {
379
391
  return { pruned: 0, upserted: overallMetadata.roles?.length ?? 0 };
380
392
  }
381
393
 
394
+ private async seedPermissions(overallMetadata: any): Promise<{ pruned: number; upserted: number }> {
395
+ this.logger.debug(`[Start] Processing permissions`);
396
+ const permissions = overallMetadata.permissions ?? [];
397
+ await this.handleSeedPermissions(permissions);
398
+ this.logger.debug(`[End] Processing permissions`);
399
+ return { pruned: 0, upserted: permissions?.length ?? 0 };
400
+ }
401
+
382
402
  // OK
383
403
  private get seedDataFiles(): any[] {
384
404
  const typedSolidCoreMetadata = structuredClone(solidCoreMetadata);
@@ -401,7 +421,7 @@ export class ModuleMetadataSeederService {
401
421
  // OK
402
422
  private async seedGlobalMetadata() {
403
423
  this.logger.log(`Seeding Permissions`);
404
- await this.seedPermissions();
424
+ await this.seedControllerPermissions();
405
425
 
406
426
  // this.logger.log(`Seeding Default Media Storage Providers`);
407
427
  // await this.seedDefaultMediaStorageProviders();
@@ -422,7 +442,7 @@ export class ModuleMetadataSeederService {
422
442
  }
423
443
 
424
444
  // OK
425
- private async seedPermissions() {
445
+ private async seedControllerPermissions() {
426
446
 
427
447
  const controllers = this.solidRegistry.getControllers();
428
448
  const permissionNames: string[] = [];
@@ -440,28 +460,7 @@ export class ModuleMetadataSeederService {
440
460
  const permissionName = `${controller.name}.${methodName}`;
441
461
  permissionNames.push(permissionName);
442
462
 
443
- const existingPermission = await this.permissionRepo.findOne({
444
- where: {
445
- name: permissionName
446
- }
447
- });
448
-
449
- // if (existingPermission) {
450
- // this.logger.log(`Permission ${permissionName} already exists.`);
451
- // }
452
- // else { }
453
-
454
- if (!existingPermission) {
455
-
456
- this.logger.log(`Permission ${permissionName} does not exist, creating new.`);
457
-
458
- const newPermission = this.permissionRepo.create({
459
- name: permissionName
460
- });
461
- await this.permissionRepo.save(newPermission);
462
-
463
-
464
- }
463
+ await this.createPermissionIfNotExists(permissionName);
465
464
  }
466
465
 
467
466
  } catch (error) {
@@ -474,6 +473,32 @@ export class ModuleMetadataSeederService {
474
473
  }
475
474
  }
476
475
 
476
+ private async createPermissionIfNotExists(permissionName: string): Promise<void> {
477
+ const existingPermission = await this.permissionRepo.findOne({
478
+ where: {
479
+ name: permissionName
480
+ }
481
+ });
482
+
483
+ if (!existingPermission) {
484
+ this.logger.log(`Permission ${permissionName} does not exist, creating new.`);
485
+
486
+ const newPermission = this.permissionRepo.create({
487
+ name: permissionName
488
+ });
489
+ await this.permissionRepo.save(newPermission);
490
+ }
491
+ }
492
+
493
+ private async handleSeedPermissions(permissions: any[]): Promise<void> {
494
+ for (const permission of permissions) {
495
+ const permissionName = typeof permission === 'string' ? permission : permission?.name;
496
+ if (permissionName) {
497
+ await this.createPermissionIfNotExists(permissionName);
498
+ }
499
+ }
500
+ }
501
+
477
502
  // OK
478
503
  // private async seedDefaultMediaStorageProviders() {
479
504
  // await this.mediaStorageProviderSeederService.seed();
@@ -391,14 +391,7 @@ export class ModuleTestDataService {
391
391
  continue;
392
392
  }
393
393
 
394
- await authService.signUp({
395
- username: user.username,
396
- email: user.email,
397
- password: user.password,
398
- fullName: user.fullName,
399
- mobile: user.mobile,
400
- roles: user.roles,
401
- });
394
+ await authService.signUp({ ...user });
402
395
  this.logger.log(`Created test user "${user.username}"${user.roles?.length ? ` with roles [${user.roles.join(', ')}]` : ''}`);
403
396
  }
404
397
  }
@@ -5819,7 +5819,7 @@
5819
5819
  {
5820
5820
  "name": "toolOutput",
5821
5821
  "displayName": "Tool Output",
5822
- "type": "longText",
5822
+ "type": "json",
5823
5823
  "columnName": "tool_output",
5824
5824
  "required": false,
5825
5825
  "unique": false,
@@ -5905,6 +5905,10 @@
5905
5905
  }
5906
5906
  ]
5907
5907
  },
5908
+ "permissions": [
5909
+ "mcp:invoke",
5910
+ "agent:invoke"
5911
+ ],
5908
5912
  "roles": [
5909
5913
  {
5910
5914
  "name": "Admin"
@@ -5961,7 +5965,9 @@
5961
5965
  "AgentSessionController.findMany",
5962
5966
  "AgentSessionController.findOne",
5963
5967
  "AgentEventController.findMany",
5964
- "AgentEventController.findOne"
5968
+ "AgentEventController.findOne",
5969
+ "mcp:invoke",
5970
+ "agent:invoke"
5965
5971
  ]
5966
5972
  },
5967
5973
  {
@@ -13900,9 +13906,9 @@
13900
13906
  "attrs": { "name": "col-content", "label": "", "className": "col-12" },
13901
13907
  "children": [
13902
13908
  { "type": "field", "attrs": { "name": "content" } },
13903
- { "type": "field", "attrs": { "name": "toolArguments" } },
13904
- { "type": "field", "attrs": { "name": "toolOutput" } },
13905
- { "type": "field", "attrs": { "name": "eventData" } }
13909
+ { "type": "field", "attrs": { "name": "toolArguments", "viewWidget": "SolidJsonFormViewWidget" } },
13910
+ { "type": "field", "attrs": { "name": "toolOutput", "viewWidget": "SolidJsonFormViewWidget" } },
13911
+ { "type": "field", "attrs": { "name": "eventData", "viewWidget": "SolidJsonFormViewWidget" } }
13906
13912
  ]
13907
13913
  }
13908
13914
  ]
@@ -47,6 +47,7 @@ import { SettingService } from './setting.service';
47
47
  import { UserActivityHistoryService } from './user-activity-history.service';
48
48
  import { UserService } from './user.service';
49
49
  import { SmsFactory } from 'src/factories/sms.factory';
50
+ import { SolidRegistry } from 'src/helpers/solid-registry';
50
51
 
51
52
  enum LoginProvider {
52
53
  LOCAL = 'local',
@@ -83,6 +84,7 @@ export class AuthenticationService {
83
84
 
84
85
  @InjectDataSource()
85
86
  private readonly dataSource: DataSource,
87
+ private readonly solidRegistry: SolidRegistry,
86
88
  ) {
87
89
  // this.mailService = this.mailServiceFactory.getMailService();
88
90
  }
@@ -142,62 +144,57 @@ export class AuthenticationService {
142
144
  }
143
145
  }
144
146
 
145
- async signUp(signUpDto: SignUpDto, activeUser: ActiveUserData = null): Promise<User> {
146
- // If public registrations are disabled and no activeUser is present when invoking signUp then we throw an exception.
147
- // if (!(this.settingService.getConfigValue<SolidCoreSetting>('allowPublicRegistration')) && !activeUser) {
148
- // throw new BadRequestException(ERROR_MESSAGES.PUBLIC_REGISTRATION_DISABLED);
149
- // }
147
+ private static readonly SIGNUP_DTO_KEYS = new Set(['username', 'email', 'password', 'fullName', 'mobile', 'roles', 'forcePasswordChange']);
150
148
 
149
+ async signUp(signUpDto: SignUpDto & Record<string, any>, activeUser: ActiveUserData = null): Promise<User> {
150
+ const hasExtensionFields = Object.keys(signUpDto).some(k => !AuthenticationService.SIGNUP_DTO_KEYS.has(k));
151
+ if (hasExtensionFields) {
152
+ const provider = this.solidRegistry.getExtensionUserCreationProvider();
153
+ if (!provider) {
154
+ throw new InternalServerErrorException(
155
+ 'No ExtensionUserCreationProvider registered. Register one to handle extension user creation.',
156
+ );
157
+ }
158
+ const entity = await provider.buildExtensionEntity(signUpDto);
159
+ const effectiveDto = { ...signUpDto, roles: provider.roles(signUpDto) };
160
+ return this.performSignUp(effectiveDto, entity, provider.repo as Repository<User>);
161
+ }
162
+ return this.performSignUp(signUpDto, new User(), this.userRepository);
163
+ }
164
+
165
+ private async performSignUp<T extends User>(signUpDto: SignUpDto, entity: T, repo: Repository<T>): Promise<T> {
151
166
  try {
152
167
  const onForcePasswordChange = this.settingService.getConfigValue<SolidCoreSetting>('forceChangePasswordOnFirstLogin');
153
168
  const activateUserOnRegistration = this.settingService.getConfigValue<SolidCoreSetting>('activateUserOnRegistration');
154
169
  const defaultRole = this.settingService.getConfigValue<SolidCoreSetting>('defaultRole');
155
170
 
156
- var { user, pwd, autoGeneratedPwd } = await this.populateForSignup(new User(), signUpDto, activateUserOnRegistration, onForcePasswordChange);
171
+ var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(entity, signUpDto, activateUserOnRegistration, onForcePasswordChange);
157
172
  const privateDto = signUpDto as { isAllowedToGenerateApiKeys?: boolean };
158
173
  if (privateDto.isAllowedToGenerateApiKeys !== undefined) {
159
174
  user.isAllowedToGenerateApiKeys = privateDto.isAllowedToGenerateApiKeys;
160
175
  }
161
- const savedUser = await this.userRepository.save(user);
162
- // Also assign a default role to the newly created user.
176
+ const savedUser = await repo.save(user);
163
177
  const userRoles = signUpDto.roles ?? [];
164
- if (signUpDto.username !== 'sa' && defaultRole) {
178
+ if ((signUpDto.roles?.length ?? 0) === 0 && signUpDto.username !== 'sa' && defaultRole) {
165
179
  userRoles.push(defaultRole);
166
180
  }
167
181
  await this.handlePostSignup(savedUser, userRoles, pwd, autoGeneratedPwd);
168
182
 
169
- // TODO: make provision to trigger a welcome email also.
170
-
171
183
  return savedUser;
172
184
  } catch (err) {
173
185
  const pgUniqueViolationErrorCode = '23505';
174
186
  if (err.code === pgUniqueViolationErrorCode) {
175
- throw new ConflictException(ERROR_MESSAGES.USER_ALREADY_EXISTS);
187
+ throw new ConflictException(parseUniqueConstraintError(err.detail || ERROR_MESSAGES.UNIQUE_CONSTRAINT_VIOLATION));
176
188
  }
177
189
  throw err;
178
190
  }
179
191
  }
180
192
 
193
+ /** @deprecated Use IExtensionUserCreationProvider instead. Kept for backward compatibility. */
181
194
  async signupForExtensionUser<T extends User, U extends CreateUserDto>(signUpDto: SignUpDto, extensionUserDto: U, extensionUserRepo: Repository<T>): Promise<T> {
182
- try {
183
- const onForcePasswordChange = this.settingService.getConfigValue<SolidCoreSetting>('forceChangePasswordOnFirstLogin');
184
- // Merge the extended signUpDto attributes into the user entity
185
- //@ts-ignore
186
- const extensionUser = extensionUserRepo.merge(extensionUserRepo.create() as T, extensionUserDto);
187
- var { user, pwd, autoGeneratedPwd } = await this.populateForSignup<T>(extensionUser, signUpDto, extensionUserDto.active ?? true, onForcePasswordChange);
188
- const savedUser = await extensionUserRepo.save(user);
189
-
190
- await this.handlePostSignup(savedUser, signUpDto.roles, pwd, autoGeneratedPwd);
191
-
192
- return savedUser;
193
- }
194
- catch (err) {
195
- const pgUniqueViolationErrorCode = '23505';
196
- if (err.code === pgUniqueViolationErrorCode) {
197
- throw new ConflictException(parseUniqueConstraintError(err.detail || ERROR_MESSAGES.UNIQUE_CONSTRAINT_VIOLATION));
198
- }
199
- throw err;
200
- }
195
+ // @ts-ignore
196
+ const entity = extensionUserRepo.merge(extensionUserRepo.create() as T, extensionUserDto);
197
+ return this.performSignUp(signUpDto, entity, extensionUserRepo);
201
198
  }
202
199
 
203
200
 
@@ -1,7 +1,10 @@
1
- import { BadRequestException, NotFoundException } from "@nestjs/common";
1
+ import { BadRequestException, InternalServerErrorException, NotFoundException } from "@nestjs/common";
2
2
  import { DiscoveryService, ModuleRef } from "@nestjs/core";
3
3
  import { isArray } from "class-validator";
4
- import { CommonEntity, SettingService, SolidBaseRepository, User } from "src";
4
+ import { CommonEntity } from "../entities/common.entity";
5
+ import { User } from "../entities/user.entity";
6
+ import { SolidBaseRepository } from "../repository/solid-base.repository";
7
+ import { SettingService } from "./setting.service";
5
8
  import { ERROR_MESSAGES } from "src/constants/error-messages";
6
9
  import { SUCCESS_MESSAGES } from "src/constants/success-messages";
7
10
  import { EntityManager, FindOptionsWhere, In, IsNull, Not, QueryFailedError, SelectQueryBuilder } from "typeorm";
@@ -34,6 +37,7 @@ import { UUIDFieldCrudManager } from "../helpers/field-crud-managers/UUIDFieldCr
34
37
  import { FieldCrudManager, MediaWithFullUrl } from "../interfaces";
35
38
  import { CrudHelperService, FilterCombinator, UserIdFields } from "./crud-helper.service";
36
39
  import { HashingService } from "./hashing.service";
40
+ import { SolidRegistry } from "src/helpers/solid-registry";
37
41
  import { getMediaStorageProvider } from "./mediaStorageProviders";
38
42
  import { ModelMetadataService } from "./model-metadata.service";
39
43
  import { RequestContextService } from "./request-context.service";
@@ -72,7 +76,23 @@ export class CRUDService<T extends CommonEntity> { // Add two generic value i.e
72
76
  return this._settingService ??= this.moduleRef.get(SettingService, { strict: false });
73
77
  }
74
78
 
79
+ private async tryCreateAsExtensionUser(createDto: any): Promise<T | null> {
80
+ if (this.repo.metadata?.parentEntityMetadata?.target !== User) return null;
81
+ const registry = this.moduleRef.get(SolidRegistry, { strict: false });
82
+ if (!registry?.getExtensionUserCreationProvider()) {
83
+ throw new InternalServerErrorException(
84
+ `No ExtensionUserCreationProvider registered. Register one to create ${this.repo.metadata.name} entities.`,
85
+ );
86
+ }
87
+ const { AuthenticationService } = await import('./authentication.service');
88
+ const authService = this.moduleRef.get(AuthenticationService, { strict: false });
89
+ return authService.signUp(createDto) as unknown as T;
90
+ }
91
+
75
92
  async create(createDto: any, files: Express.Multer.File[] = [], solidRequestContext: any = {}): Promise<T> {
93
+ const asExtensionUser = await this.tryCreateAsExtensionUser(createDto);
94
+ if (asExtensionUser !== null) return asExtensionUser;
95
+
76
96
  // This class will be extended by the generated service class i.e PersonService
77
97
  // The data required to identify the model and module name will be passed from the generate CrudService subclass
78
98
  //TODO: Algorithm to create the entity
@@ -11,7 +11,7 @@ import { SolidRegistry } from 'src/helpers/solid-registry';
11
11
  import { DashboardQuestion } from '../entities/dashboard-question.entity';
12
12
  import { SqlExpression, SqlExpressionOperator } from './question-data-providers/chartjs-sql-data-provider.service';
13
13
  import { DashboardQuestionRepository } from 'src/repository/dashboard-question.repository';
14
- import { QuestionSqlDataProviderContext } from 'src';
14
+ import { QuestionSqlDataProviderContext } from '../interfaces';
15
15
 
16
16
  enum SOURCE_TYPE {
17
17
  SQL = 'sql',
@@ -8,7 +8,7 @@ import { CRUDService } from 'src/services/crud.service';
8
8
 
9
9
  import { SecurityRule } from '../entities/security-rule.entity';
10
10
  import { SolidRegistry } from 'src/helpers/solid-registry';
11
- import { SecurityRuleRepository } from 'src';
11
+ import { SecurityRuleRepository } from '../repository/security-rule.repository';
12
12
 
13
13
  @Injectable()
14
14
  export class SecurityRuleService extends CRUDService<SecurityRule> implements OnApplicationBootstrap {
@@ -13,6 +13,7 @@ import { IS_MAIL_PROVIDER } from 'src/decorators/mail-provider.decorator';
13
13
  import { IS_SCHEDULED_JOB_PROVIDER } from 'src/decorators/scheduled-job-provider.decorator';
14
14
  import { IS_SECURITY_RULE_CONFIG_PROVIDER } from 'src/decorators/security-rule-config-provider.decorator';
15
15
  import { IS_SELECTION_PROVIDER } from 'src/decorators/selection-provider.decorator';
16
+ import { IS_EXTENSION_USER_CREATION_PROVIDER } from 'src/decorators/extension-user-creation-provider.decorator';
16
17
  import { IS_SOLID_DATABASE_MODULE } from 'src/decorators/solid-database-module.decorator';
17
18
  import { IS_WA_PROVIDER } from 'src/decorators/whatsapp-provider.decorator';
18
19
  import { SolidRegistry } from 'src/helpers/solid-registry';
@@ -144,6 +145,12 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
144
145
  this.solidRegistry.registerSecurityRuleConfigProvider(securityRuleConfigProvider);
145
146
  });
146
147
 
148
+ // Register IExtensionUserCreationProvider implementation (at most one per project)
149
+ const extensionUserCreationProviders = this.discoveryService.getProviders().filter((provider) => this.isExtensionUserCreationProvider(provider));
150
+ extensionUserCreationProviders.forEach((provider) => {
151
+ this.solidRegistry.registerExtensionUserCreationProvider(provider);
152
+ });
153
+
147
154
  // Register the core subscribers against all the configured database modules / datasources
148
155
  await this.bootstrapCoreTypeOrmSubscribers(solidDatabaseModules);
149
156
  await this.cacheAuditableModels();
@@ -287,6 +294,12 @@ export class SolidIntrospectService implements OnApplicationBootstrap {
287
294
  return !!isSelectionProvider;
288
295
  }
289
296
 
297
+ private isExtensionUserCreationProvider(provider: InstanceWrapper): boolean {
298
+ const { instance } = provider;
299
+ if (!instance) return false;
300
+ return !!this.reflector.get<boolean>(IS_EXTENSION_USER_CREATION_PROVIDER, instance.constructor);
301
+ }
302
+
290
303
  private isSettingsProvider(provider: InstanceWrapper) {
291
304
  const { instance } = provider;
292
305
  if (!instance) return false;
@@ -18,6 +18,7 @@ export interface TestingUserSpec {
18
18
  fullName?: string;
19
19
  mobile?: string;
20
20
  roles?: string[];
21
+ [key: string]: any;
21
22
  }
22
23
 
23
24
  export interface TestingMetadata {
@@ -22,6 +22,15 @@ export function registerAssertionSteps(registry: StepRegistry): void {
22
22
  await page.waitForSelector(input.selector, { state: "visible" });
23
23
  });
24
24
 
25
+ registry.register("ui.expectHidden", async (ctx: TestContext, step: OpStep) => {
26
+ const page = requirePage(ctx, "ui.expectHidden");
27
+ const input = (step.with ?? {}) as VisibleInput;
28
+ if (!input.selector) {
29
+ throw new Error('Missing "selector" in step.with for op "ui.expectHidden"');
30
+ }
31
+ await page.waitForSelector(input.selector, { state: "hidden" });
32
+ });
33
+
25
34
  registry.register("ui.expectText", async (ctx: TestContext, step: OpStep) => {
26
35
  const page = requirePage(ctx, "ui.expectText");
27
36
  const input = (step.with ?? {}) as ExpectTextInput;
@@ -1,9 +1,12 @@
1
+ import * as path from "path";
2
+
1
3
  import type { TestContext } from "../../contracts/runtime-context.types";
2
4
  import type { OpStep } from "../../contracts/testing-metadata.types";
3
5
  import { StepRegistry } from "../../core/step-registry";
4
6
 
5
7
  type FillInput = { selector: string; value: string };
6
8
  type SelectInput = { selector: string; value: string };
9
+ type UploadFileInput = { selector: string; filePath: string | string[] };
7
10
 
8
11
  function requirePage(ctx: TestContext, op: string) {
9
12
  if (!ctx.ui || !ctx.ui.page) {
@@ -36,4 +39,20 @@ export function registerFormSteps(registry: StepRegistry): void {
36
39
  }
37
40
  await page.selectOption(input.selector, String(input.value));
38
41
  });
42
+
43
+ registry.register("ui.uploadFile", async (ctx: TestContext, step: OpStep) => {
44
+ const page = requirePage(ctx, "ui.uploadFile");
45
+ const input = (step.with ?? {}) as UploadFileInput;
46
+ if (!input.selector) {
47
+ throw new Error('Missing "selector" in step.with for op "ui.uploadFile"');
48
+ }
49
+ if (input.filePath === undefined || input.filePath === null) {
50
+ throw new Error('Missing "filePath" in step.with for op "ui.uploadFile"');
51
+ }
52
+ const cwd = process.cwd();
53
+ const resolved = Array.isArray(input.filePath)
54
+ ? input.filePath.map((p) => path.resolve(cwd, String(p)))
55
+ : path.resolve(cwd, String(input.filePath));
56
+ await page.setInputFiles(input.selector, resolved);
57
+ });
39
58
  }
package/tsconfig.json CHANGED
@@ -12,6 +12,9 @@
12
12
  "outDir": "./dist",
13
13
  "rootDir": "./src",
14
14
  "baseUrl": "./",
15
+ "paths": {
16
+ "src/*": ["./src/*"]
17
+ },
15
18
  "incremental": false,
16
19
  "skipLibCheck": true,
17
20
  "strictNullChecks": false,